How To Protect Keys

of 22 /22
06/14/22 How To Protect Keys 1 How To Protect Keys Student: Ying Hong Course: Database Security Instructor: Dr. Yang

Embed Size (px)

description

How To Protect Keys. Student: Ying Hong Course: Database Security Instructor: Dr. Yang. Introduction. As public key cryptography has become the basis of computer security, the weak point in security has shifted from the data itself to the keys which protect them. Tow approaches: - PowerPoint PPT Presentation

Transcript of How To Protect Keys

  • How To Protect KeysStudent: Ying HongCourse: Database SecurityInstructor: Dr. Yang

    How To Protect Keys

  • IntroductionAs public key cryptography has become the basis of computer security, the weak point in security has shifted from the data itself to the keys which protect them.

    Tow approaches: one is from RSA Security one is from nCipher Security World

    How To Protect Keys

  • RSA ApproachTraditional approach is to save the keys and encrypted data within the database together.

    RSA approach is to build an Encryption Server to provide centralized encryption services, which separates encryption keys from the encrypted data stored in the database.

    How To Protect Keys

  • Internal Database Encryption

    How To Protect Keys

  • External Database Encryption

    How To Protect Keys

  • Sample Implementation

    How To Protect Keys

  • Weak PointTraditional approach vs. RSA approach

    You may notice: RSA approach did NOT yet solve the problem of the exposure of the keys and sensitive data thoroughly. It moves the weak point from the server application (ProcessLogin) to the CryptoServer.

    How To Protect Keys

  • nCipher ApproachnCipher approach is to provide Hardware security modules (HSMs) with software to control key management.

    nCipher also developed a new system called Secure Execution Engine (SEE), which can protect application software as its executed by allowing the sensitive code being executed inside the HSMs.

    How To Protect Keys

  • How To Protect Keys

  • Secure Key StorageThe keys can only be used inside the HSMs, so that strong security perimeter is provided.

    However, its not good idea to store keys inside HSM:HSM is attacked, keys are destroyedthe number of keys which can be created, used and stored is restricted by the capacity of storage built into HSM unitHSMs module key is often pre-installed and known to the HSM manufacturer, so the chain of trust is not entirely under the control of the HSM administrator.

    How To Protect Keys

  • Key Backup & RecoveryKey backup and recovery should be implemented in a consistently secure manner.

    Basic concepts of protecting stored keys:Strong encryption: triple-DESFragmentation of keys: k of n key fragmentsACL: a list of operation associated with each key

    How To Protect Keys

  • Key Backup & Recovery cont.

    How To Protect Keys

  • Key Backup & Recovery cont.Steps of creating key blob:The target key is encrypted using Triple-DES encryption. Its ACL is also, separately, encrypted.The key and ACL are encrypted together and the result is signed with a wrapper key (module key), to form blob. A Message Authentication Code (MAC) is stored with the key blob, ensuring that tampering is detectable.The wrapper key in turn is associated with another ACL, which determines who can access it.

    How To Protect Keys

  • Key Backup & Recovery cont.If required, key fragments can each be wrapped with their own access control mechanisms.Now, encrypted key blob can be exported and stored server storage; also key fragments can be stored separately so that k smart cards out of a total set n are required to access the key.

    How To Protect Keys

  • Access To Key Blob

    How To Protect Keys

  • Access To Key Blob cont.Access to key blobs is physically controlled:Smart cards must be presented in order to load the key blob into the HSM and unwrap it for decryption;

    Knowing the key blob is not sufficient to recover the original key object by itself, since any key stored on physical tokens is encrypted with the module key and module keys are held securely within the HSM.

    Instead of just encrypting keys with the module key, the HSM can combine the module key with a phrase supplied by the user, so that it significantly improves the weak point on the chain of the trust we mentioned earlier.

    How To Protect Keys

  • Sample Implementation

    How To Protect Keys

  • ExtensionnCiphers SEE technology enable the code to perform security functions inside the HSMs.

    How To Protect Keys

  • Sample Implementation

    How To Protect Keys

  • BenefitsNon-hierarchical key managementthe administrator card setthe operator card set(s)

    Initialization key uniquenessthe module key is not known outside the HSM and remains valid until the module is reinitialized

    ScalabilityIts possible to share module keys across a series of HSMs

    How To Protect Keys

  • ConclusionRSA approach is a software-only solution, so its easier to use.

    nCipher approach may be more secure than the RSA approach, and it takes one more step further to protect the sensitive code, but its obviously more complicated.

    How To Protect Keys

  • Referenceshttp://www.placewareforum.com/rsasecurity/page.cfm?p=event&eventid=12458&subcatid=11728, Securing Data At Rest: Developing a Database Encryption Strategy

    http://active.ncipher.com/whitepapers/nCipher_security_world_wp.pdf, nCipher Security World white paper

    http://active.ncipher.com/whitepapers/SEE_white_paper.pdf, Secure Execution Engine white paper

    How To Protect Keys