Welcome Guest. | Log In| Register | Membership Benefits
Dark Reading's Security Views Weblog
Topics:   Database Security Tech Center : Security Views

  • Email this page E-mail this page
  • Print this page Print this page
  • Bookmark and Share

Cell-Level Encryption


Posted by Adrian Lane, Nov 10, 2009 10:00 AM

A friend of mine was wondering why cell-level encryption isn't used often in databases. What would seem to be a fast and efficient approach to data security actually requires a complex implementation. Cell-level encryption stands in stark contrast to commonly adopted transparent forms of database encryption, and helps us identify hidden costs and complexity.

Cell-based encryption is when you encrypt a single element within a single row of a database table. While it is considered database encryption, most commonly the encryption is performed outside of the database, from within the calling application. Sensitive data elements are encrypted before being inserted or updated.

The process of introducing encryption into an application is a fairly complex endeavor, requiring changes to the application logic, the addition of the cryptographic services, and assumption of key management tasks. You must additionally alter the database structure to store the encrypted strings, and alter any database queries that selected/used the now-encrypted data. The approach is very flexible, enabling you to encrypt pretty much any or all data. It also can be very secure, but the sheer amount of effort to make this work scares most people off.

Another misconception about cell-level encryption is it's faster because you encrypt less data. In practice, this is not correct. First, if you have sensitive data, then very seldom is it only a single row you are protecting. For example, if you have credit card numbers, then odds are you have one in every row of the table. Second, if you are running queries against encrypted data, then it is faster to decrypt that data as a whole column or table than row by row or element by element -- a lot faster. Technologies that work at the object level are more efficient in general-use cases and a heck of a lot simpler to implement.

Discussing cell encryption is mostly helpful in spotlighting the difficulties in encrypting database content at the application level. It is for these reasons, as well as a few others, that most people are moving to transparent forms of encryption.

In my next two posts, I'll discuss the two major forms of transparent encryption: file/folder and database transparent encryption. I want to clear up some of the confusion surrounding these technology approaches, delving into the business problems they solve, as well as the pitfalls around implementation and performance.

Adrian Lane is an analyst/CTO with Securosis LLC, an independent security consulting practice. Special to Dark Reading.

« USB-Based Incident Response Tools | Main | Partially Spilled COFEE »



Sign up now for the weekly InformationWeek Blog Newsletter.


This is a public forum. United Business Media and its affiliates are not responsible for and do not control what is posted herein. United Business Media makes no warranties or guarantees concerning any advice dispensed by its staff members or readers.

Community standards in this comment area do not permit hate language, excessive profanity, or other patently offensive language. Please be aware that all information posted to this comment area becomes the property of United Business Media LLC and may be edited and republished in print or electronic format as outlined in United Business Media's Terms of Service.

Important Note: This comment area is NOT intended for commercial messages or solicitations of business.