Selecting Encryption Mechanism

  • The Optimal Solution will Vary According to Use Case, Threats Addressed, and Acceptable Deployment Complexity
  • At the board-room level, data encryption may easily be viewed as a binary matter: data encryption is employed and the company’s assets are secure, or they’re not encrypted and it’s time to panic. However, for the security teams chartered with securing sensitive assets, the realities are not so simple.
  • When determining which data encryption solution type will best meet your requirements, there are several considerations. At a high level, data encryption types can be broken out by where they’re employed in the technology stack. There are four levels in the technology stack in which data encryption is typically employed: full-disk or media, file system, database, and application.
  • In general, the lower in the stack that encryption is employed, the simpler and less intrusive the implementation will be. However, the number and types of threats these data encryption approaches can address are also reduced. On the other hand, by employing encryption higher in the stack, organizations can typically realize higher levels of security and mitigate more threats.
Figure: Security vs Deployment complexity

Encryption Types

  • Full-disk encryption (FDE) and self-encrypting drives (SED): encrypt data as it is written to the disk and decrypt data as it is read off the disk.
  • File-Level Encryption: Encrypting data at the file or volume (typically used for databases) level offers security controls with software agents installed in the operating system. Agents intercept disk reads and writes and apply policies to determine if the data should be encrypted or decrypted. Mature file-system encryption products offer strong policy-based access controls, including for privileged users and processes, and granular logging capabilities.
  • DB Encryption (TDE): This approach enables security teams to encrypt a specific subset of data within the database or the entire database file. This category includes solutions from multiple database vendors that are known as transparent data encryption (TDE)
  • App Encryption: When employing this approach, application logic is added to govern the encryption or tokenization, of data from within the application.
TypeAdvantagesLimitationsRemarks
 FDE (Full-disk encryption) OR SED(Self-encrypting drives)Simplest method of deploying encryptionTransparent to applications, databases, and users.High-performance, hardware-based encryptionAddresses a very limited set of threats—protects only from physical loss of storage media.Lacks safeguards against advanced persistent threats (APTs), malicious insiders, or external attackersMeets minimal compliance requirementsDoesn’t offer granular access audit logsMainstream cloud providers offer the functional equivalent of FDE with its attendant limitations listed aboveFDE makes sense for laptops, which are highly susceptible to loss or theft. But FDE isn’t suitable for the most common risks faced in data center and cloud environments
 FLE (File-Level Encryption)Transparent to users and applications, meaning organizations don’t have to customize applications or change associated business processesSupports both structured and unstructured dataEstablishes strong controls that guard against abuse by privileged users and that meet common compliance requirementsOffers granular file access logs and SIEM integration that can be used for security intelligence and compliance reporting Encryption agents are specific to operating systems, so it is important to ensure the solution selected offers coverage of a broad set of Windows, Linux, and Unix platforms For many organizations and purposes, file encryption represents the optimal approach. Its broad protections support the vast majority of use cases, and it is easy to deploy and operate.
DB Encryption OR TED (Transparent Data Encryption)Safeguards data in databases, which are critical repositories.Establishes strong safeguards against a range of threats, including malicious insiders—even in some cases a malicious database administrator.Offerings from one database vendor can’t be applied to databases from other vendors.Doesn’t enable central administration across multiple vendor databases or other areas in environment.Only encrypts columns or tables of a database, leaving configuration files, system logs, and reports exposed.While database encryption technologies can meet specific, tactical requirements, they don’t enable organizations to address security across heterogeneous environments. As a result, they can leave organizations with significant security gaps.
App EncrytionSecures specific subsets of data, such as fields in a database.Encryption and decryption occur at the application layer, which means data can be encrypted before it is transmitted and stored.Offers highest level of security, providing protections against malicious DBAs and SQL-injection attacks.Tokenization can also significantly reduce PCI DSS compliance costs and administrative overhead.These approaches need to be integrated with the application, and therefore require development effort and resources.These approaches may be optimal in cases in which security policies or compliance mandates require specific sets of data to be secured. In addition, variants of application-layer encryption, including tokenization and format-preserving encryption, can help reduce the impact on databases.Look for solutions with well-documented, standards-based APIs and sample code to simplify application developmen