security
  File level Encryption
  and PCI Compliance






by Heather Mark

    On December 29, 2005 CNN announced that 2005 had seen over 130 data thefts resulting in potential exposure of 50 million people to identity theft. Protecting customers’ sensitive data is critical to ensuring the continued success of your company. While a variety of controls are necessary to protect the confidentiality, integrity, and availability of systems, protected data at rest is best achieved through the proper implementation of encryption technologies.
    The Payment Card Industry (PCI) Data Security Standard requires that all companies that store cardholder data do so in a secure manner. It requires that all merchants and service providers employ strong cryptography to ensure that all sensitive data is adequately protected. Unfortunately, a number of challenges have put compliance with this requirement out of reach of most organizations. In fact, the majority of companies currently in compliance with the PCI do not encrypt data and instead have achieved compliance through the use of compensating controls. This article will briefly explain the two primary methods of encrypting data and describe why file-level encryption may be the best solution for achieving compliance with the PCI.
    Today there exists two primary approaches to encrypting sensitive data stored within a database; file-level encryption, and column- level encryption. While both employ encryption technologies to render cardholder data unreadable and support compliance with the PCI, this is where the similarity ends. Column-level encryption operates at the database layer to encrypt individual columns within a database. This restricts views of unencrypted data to authorized users or groups. Conversely, file-level encryption works at the operating system layer and is used to encrypt the underlying files in which a database stores its data.
    There has been significant debate over the value of file-level encryption versus column-level encryption. As most encryption companies have pursued encryption from a column-level perspective, this method has garnered the most attention and has consistently been promoted as the best method for protecting data. Upon reviewing the data, and solutions, this author disagrees. While column-level encryption is a good solution, within the payments space, it is suggested that file-level encryption is a better solution to achieving compliance and protecting sensitive data.
    There is a perception that column-level encryption is necessary to protect sensitive data within a database. While it appears logical at first glance, closer examination shows that column level encryption provides little, if any value over file-level encryption.
    All commercial-quality relational databases offer column-level access control. Even encrypted columns still require that a database administrator define access controls. This ensures that only authenticated, authorized users are allowed to access the columns, regardless of whether they are encrypted or not. For this reason, column-level encryption does not offer any additional security over native column-level access controls unless it can prevent the administrators from gaining access to sensitive data. While most column level encryption solutions can prevent the DBA from gaining access to the encryption key, they cannot prevent DBAs from modifying stored procedures and triggers or impersonating other database users to gain access to unencrypted data While column-level encryption is often proposed as the best security for databases, in truth, column- level access control is the best method for protecting data within the database.
   While providing data protection, column-level encryption poses significant challenges for companies operating within the payment services space. Historically, column-level encryption solutions have not lent themselves well to addressing the specific business needs of merchants and service providers. While not an exhaustive list, below are some of the more pronounced challenges merchants and service providers face when evaluating and employing column-level encryption solutions

Limited Applicability

    By design, column-level encryption solutions encrypt data within databases. While merchants and processors certainly store the majority of their sensitive data within databases, a significant amount of sensitive data frequently resides in additional locations. Merchants and service providers who ‘batch’ process transactions will often have large amounts of data in flat files. In addition, transaction and debugging logs frequently contain cardholder data. Unfortunately, these files are not protected by column-level encryption solutions. It is important to note that the PCI requirement 3.4 requires that sensitive cardholder data be rendered: “…unreadable anywhere it is stored, (including …in logs…)…”

Performance

    Merchants and service providers are in the business of handling, manipulating, and transmitting cardholder data. As such, ensuring data can be processed efficiently is critical to the success of any company within the industry. While all encryption solutions provide some overhead in terms of resource consumption, column-level encryption solutions appear to impact performance significantly more than file-level solutions. As column level encryption solutions may require API calls outside of the database server (in some cases onto a hardware box) the network latency may increase in orders of magnitude. It is not uncommon for some column-level encryption solutions to increase CPU consumption alone by over 30% and may add over 100% overhead when all factors are considered.

Integration challenges

    Integration or implementation challenges should be described in terms of how invasive they are to the current architecture or applications. While column-level encryption solutions vary by design, all interact with the DBMS at the database layer. This is necessary to allow encryption at the column level. Integration of column-level encryption solutions frequently require modifications to the existing database and commerce applications. For third-party applications, such modifications may not even be supported by the vendor.

Unnecessary Granularity

    While column-level encryption provides granular control over data that is encrypted, within the payment services industry, this may not be needed. Beyond the PCI, there exist a number of laws that require the protection of personally identifiable information (SB1386, OPPA). If the technology exists to encrypt all personally identifiable information it does not seem logical to exclude such data from the process. To do so would simply impose additional liabilities.

Cost

    Historically, column-level encryption solutions have been prohibitively expensive for the majority of level-2, 3, and 4, merchants and service providers. In addition to the costs associated with the initial purchase of encryption hardware and software licensing, additional costs are frequently incurred from application and architectural upgrades and redesigns.
    As stated previously the Payment Services industry has some unique needs that challenge conventional column-level approaches to encryption. Unlike traditional ‘corporate’ and other company networks, organizations working in the electronic payments industry require solutions that support their need for efficient, high speed processing. Additionally, the complex, proprietary nature of most payment applications does not lend itself well to integration with many column-level database solutions. While possibly not the best solution for every environment, within the payment services space, file-level encryption solutions provide several significant advantages over their column-level counterparts.

Ease of Integration

    Since file-level encryption solutions operate just above the file system, integration with existing applications and systems is much simpler than with column-level solutions. In short, the solution operates independent of the database, and other applications making it non-invasive. This means that database schema, application reconfigurations, and network modifications are not necessary.

Low Resource Consumption

    While it would appear logical that encrypting a complete file would consume more resources than encrypting a single column, this is not accurate. File-level encryption solutions can operate with less than 5% resource consumption. The low overhead enables companies to employ encryption without expensive system or network upgrades.

Granular Access Control

    In addition to encrypting sensitive files, some file-level encryption solutions also provide granular access controls. This feature supplements the primary encryption functionality and allows companies to restrict access to sensitive files based upon a who, what, where, and how criteria. As the file-level solutions operate at the operating system layer, they function independent of existing access controls employed by Active Directory or LDAP. The access controls provided by file-level encryption support compliance with PCI requirements 7 and 8.

Robust Auditing and Logging

    XComplimenting the access control detailed above, some file-level encryption solutions provide robust auditing and logging of access and activity. As PCI requirement 9 is one of the more difficult requirements to meet, robust logging provides a significant benefit for companies choosing file-level encryption.

Multiple File Encryption

    XAs file-level encryption works at the operating system layer, the type of file that is being encrypted is irrelevant. This means that cardholder data in flat files, as well as any sensitive data in log files, data extracts, debug logs, or configuration files can be encrypted as easily as the database files. This provides a significant benefit within the payment services space as sensitive data is often found in multiple locations.

Industry specific challenges and needs complimented by a promotion of column-level encryption as the only acceptable means of achieving compliance has hindered the adoption of encryption by merchants and processors. While column-level encryption is a solid technology with many applications, within the payment services industry file-level encryption is often a better solution to protect sensitive data and to ensure compliance with the PCI as well as other, relevant regulations. It is important to remember that no technology is a one- size fits all solution. Before progressing in your compliance project with a particular encryption technology, it is imperative to ensure that the solutions chosen are the best fit for the particular needs of network environment in question.