encryption in sql server

16
Encryption in SQL Server By: Joe Kuemerle / @jkuemerle www.preemptive.com / @PreEmptive

Upload: joe-kuemerle

Post on 16-Jan-2015

1.244 views

Category:

Technology


0 download

DESCRIPTION

From DevLink 2010: Learn to protect data in your application by leveraging the built in encryption functionality in SQL Server 2005/2008 by taking a brownfield application and bringing it up to modern standards. Topics covered will include column level data encryption, providing lookups of encrypted data, basics of key management and the transparent data encryption capabilities of SQL Server 2008.

TRANSCRIPT

Page 1: Encryption In SQL Server

Encryption in SQL Server

By: Joe Kuemerle / @jkuemerle

www.preemptive.com / @PreEmptive

Page 2: Encryption In SQL Server

Background of Joe KuemerleLead Developer at PreEmptive Solutions

Over 15 years of development experience with a broad range of technologies

Focused on application and data security, coding best practices and regulatory compliance

Presenter at community, regional and national events.

Page 3: Encryption In SQL Server

What is encryptionEncryption is the process of mathematically

altering data in a consistent, reversible fashion. It should be used to store sensitive information that will need to be retrieved later. Encryption relies on a secret that is the only viable way to reverse the mathematical process

Encryption can be Symmetric where a single value (the encryption key) is used to both encrypt and decrypt the data

Or Encryption can be Asymmetric where there are two values in that data encrypted with Value 1 can only be decrypted with Value 2 and vice versa. This is also know as Public Key Encryption

Page 4: Encryption In SQL Server

What is encryption

“Encryption is the process of substituting a small secret in place of a large secret”

Page 5: Encryption In SQL Server

Symmetric Encryption

Asymmetric Encryption

Page 6: Encryption In SQL Server

CertificatesCertificates are used to store

asymmetric keys and consist of a private key and public key.

SQL Server provides built in management of certificates

Do not use use certificates to encrypt data, it is slow and can be vulnerable when storing lengthy values. Use a symmetric key to encrypt the data and a certificate to encrypt the symmetric key.

Page 7: Encryption In SQL Server

Hashes

Page 8: Encryption In SQL Server

HashesHashes are not an encryption method. A

hash takes an input value and transforms it to a unique value that is infeasible to convert back to the original value.

Hashes are not for storing data that needs to be re-read but are for proving knowledge of a secret without the actual secret being revealed.

Hashes are ideal for storing passwords as the password is not important but that the user prove that they know the password.

Page 9: Encryption In SQL Server

HashesThe .NET Framework includes

built in support for a number of hash functions

Best practices call for the use of SHA256, SHA384 or SHA512 functions

Do not use MD5 or SHA1as there are

proven methods for undermining the hash results.

Page 10: Encryption In SQL Server
Page 11: Encryption In SQL Server

Transparent Data Encryption

Page 12: Encryption In SQL Server

DemosYay! No more bullet points.

Page 13: Encryption In SQL Server

Questions

Page 16: Encryption In SQL Server

Feedback

http://speakerrate.com/jkuemerle @jkuemerle / [email protected]

Please fill out your evaluation form. Thanks!