Click here to monitor SSC

John Magnabosco

SQL Server Development and Data Security

Deprecated Symmetric Algorithms

Published Sunday, June 21, 2009 8:41 PM

Creating a symmetric key for the use of protecting other keys or directly encrypting sensitive data is accomplished through the execution of the CREATE SYMMETRIC KEY command. One of the arguments to this command is WITH ALGORITHM which provides the means to select the algorithm used to generate the key.

There are many options available for symmetric keys. The strength of these algorithms is directly affected by the resulting key length. The strongest of the options are the AES (Advanced Encryption Standard) algorithms which return 128, 192 or 256 bit keys.

The RC4 algorithm returns a variable key length between 40 - 256 bits and the RC4_128 algorithm returns a key length of 128 bits. Despite these algorithms returning key lengths that might be considered strong their processing contains issues that result in vulnerable keys.

According to Microsoft the specifics to the weaknesses of RC4 and RC4_128 are: "Repeated use of the same RC4 or RC4_128 KEY_GUID on different blocks of data will result in the same RC4 key because SQL Server does not provide a salt automatically. Using the same RC4 key repeatedly is a well-known error that will result in very weak encryption." (Choosing An Encryption Algorithm: SQL Server Books Online)

In addition, the DESX option which returns a 192 bit key, has a simple problem of being ".incorrectly named." (Choosing An Encryption Algorithm: SQL Server Books Online) The incorrect name comes from the fact that when you select the DESX option, the creation of the key is actually using the TRIPLE_DES_3KEY algorithm, which is another available option.

Based upon these weaknesses in the RC4 and RC4_128 algorithm options and the misnomer of DESX these will not be available in future releases of Microsoft SQL Server. Please be aware of the depreciation of these options when creating new or replacing existing symmetric keys.

by Johnm

Comments

No Comments
You need to sign in to comment on this blog

About Johnm

John Magnabosco manages the Data Services Group at one of the fastest growing companies in the United States. He is also a Co-Founder of the Indianapolis Professional Association for SQL Server (IndyPASS), Co-Founder of IndyTechFest, the author of the book titled "Protecting SQL Server Data" and contributing author of "SQL Server MVP Deep Dives Volume 2".
<June 2009>
SuMoTuWeThFrSa
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011
Migrating from OCS 2007 R2 to Lync: Part 4
 Having migrated the rest of our users and legacy resources across, and start getting ready to... Read more...

Automated Script-generation with Powershell and SMO
 In the first of a series of articles on automating the process of building, modifying and copying SQL... Read more...

Seth Godin: Big in the IT Business
 Seth Godin has transformed our understanding of marketing in IT. He invented the concept of 'permission... Read more...

Using SQL Test Database Unit Testing with TeamCity Continuous Integration
 With database applications, the process of test and integration can be frustratingly slow because so... Read more...

Converting String Data to XML and XML to String Data
 We all appreciate that, in general, XML documents or fragments are held in strings as text markup. In... Read more...