File/operating system level-encryption is actually implemented outside the database engine -- but it's still a form of database encryption. And it's referred to as "transparent" encryption because it doesn't require any changes to the database, or calling an application.In my last post, I introduced transparent database encryption perform as part of the native database technology. This is in contrast to file/OS encryption, which performs encryption tasks as part of the underlying operating system, independent of the database platform.
File/OS encryption works by intercepting the database's writes to disk, encrypting data blocks before storing them. Conversely, data is decrypted as the database requests information from disk. It can be used to encrypt an entire disk or just specific folders where the data is stored. This provides a degree of granularity if you only want to encrypt some portion of the database or a single database instance in a larger installation.
If you are confused that two database encryption technologies with radically different implementations both are considered "transparent," you're not alone. So let's compare and contrast transparent database encryption proper and file/OS encryption.
Both methods protect data stored on disk or media from direct inspection. Both can be easily retrofitted into existing database environments. Both operate seamlessly and do not require modifications to the database structure, queries, or calling application platform to use. Both offer industry-standard encryption algorithms and optional external key-management support. And perhaps most importantly, both are acceptable for many compliance mandates, such as PCI.
So when deciding which one to adopt, you should consider:
Ease of deployment: OS or file-level encryption is installed as a component of the operating system, requiring a software installation, configuration, possibly a recompilation of the kernel, and a system reboot. Database transparent encryption gets the edge in simplicity as it usually only involves changing some of the database configuration and, as worst, a database restart. In the big picture, both are simple operations.
Performance: My experience shows both are very close. Informal testing and feedback from several clients indicate database transparent encryption hovers around 6 percent overhead for typical environments. File/OS layer encryption was around 3 percent overhead, giving the external variant a slight edge. This is not a scientific evaluation and can vary a lot given how the database is used, but the distinction is somewhat irrelevant as both offer satisfactory performance.
Vendor Association: Let's face it, trust in the vendor and ability to haggle on price play a part as well. Many firms have a long-standing relationship with their database vendor and trust their products -- not to say file/OS is less reliable, but established trust is a big deal to many firms I speak with. Couple that with customers leveraging pricing and support as a bundle, and discounted pricing wins many customers over.
Versatility. Odds are you have multiple security and compliance issues to address, and being able to leverage a single investment to solve multiple security problems is a big advantage. As file/OS products encrypt general files as well as database contents, you can secure nondatabase content. This single product can be used for multiple purposes with a single, unified interface. And for companies that run more than one type of database, file/OS options give a unified approach to database encryption. The file/OS options provide a breadth of coverage with greater flexibility.
Adrian Lane is an analyst/CTO with Securosis LLC, an independent security consulting practice. Special to Dark Reading. Adrian Lane is a Security Strategist and brings over 25 years of industry experience to the Securosis team, much of it at the executive level. Adrian specializes in database security, data security, and secure software development. With experience at Ingres, Oracle, and ... View Full Bio