17.07.2015 Views

Download eBook (PDF) - Red Gate Software

Download eBook (PDF) - Red Gate Software

Download eBook (PDF) - Red Gate Software

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5 – Cell-Level Encryptionthe stronger encryption that they provide. Therefore, we arrive at our thirdrequirement:Requirement 3: Encryption AlgorithmsAll High sensitivity data will be protected with a symmetric key that utilizesthe AES algorithm. This results in a key length of 128 bits, which is consistentwith specifications defined by regulations, industry standards and corporatepolicies.Determining the Key HierarchyIn SQL Server, the use of symmetric key encryption requires that the key beopened prior to use. Once a key is opened it remains open until the databaseconnection is terminated or it is explicitly closed. Leaving a key open for theduration of a session does provide a level of convenience, but also introduces adegree of vulnerability to "hacking". As such, it is recommended that youexplicitly close keys as soon as you have finished using them.Symmetric keys are protected by other keys, certificates or a password. Thisprevents the unauthorized use of a key to encrypt and decrypt sensitive data.This also presents a challenge when implementing and maintaining the relatedcode that uses the keys.If a key is protected by a password, the stored procedures that use the OPENSYMMETRIC KEY method would either have to:• Obtain the password from another source• Have the password hard-coded into the code• Require the password to be passed as an argument to the storedprocedure.Obtaining the password from another source would require additional resourcesthat could negatively affect the performance of our cryptography functionality.The hard-coding of passwords presents a maintenance nightmare, as well assecurity concerns regarding plain text passwords being embedded in our code.A hacker who is tracing database activity will be able to intercept a plain textpassword that is being sent as an argument to a stored procedure. If thepassword is passed as a hashed value, that too adds additional resources.Our understanding of the encryption key hierarchy, discussed in the previouschapter, will help us overcome this challenge. The service master key, whichwas automatically generated when our instance was installed, can be used toprotect a database master key. A database master key can be used to protect a108

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!