System Sentinel: The Encryption Myth PDF Print E-mail
Written by Pat Botz   
Sunday, 20 March 2005

If you think simply encrypting data will keep your data safe, then you don't really understand encryption. One of my pet peeves is computer-related laws that have no benefit and increase the cost of using computers. The relatively new California law dubbed the "Database Security Breach Notification Act" went into effect in July 2003 and is an example of this kind of legislation. It requires companies that hold personal information about California residents to notify all individuals whose data may have been compromised as a result of a security breach. But the requirement is waived if the data is "encrypted" on the system. The intent of this law is laudable, but the practical effects are laughable because people might not be notified when they should be!

One can conclude that the California legislature (along with lots of other folks) believe that data stored in a database is more highly protected from "hacking" if that data is encrypted. This blind faith in encryption is caused by something I call the "encryption myth." It is the mistaken belief that encryption provides more protection than other access control mechanisms. The belief that "if it's encrypted, it's protected" just isn't true. In fact, encryption is just another form of access control--a form that is useful and appropriate in certain scenarios but inappropriate in other scenarios. The encryption myth stems from a number of misconceptions about encryption.

In my opinion, the California legislature would have fostered better practices and stronger protection had they exempted companies with appropriate and demonstrable access control mechanisms based on an exclusionary access model (i.e., everyone denied access unless explicitly allowed). No additional protection beyond that provided by the access control mechanism is derived from encrypting data that must be accessible to someone or some application.

To understand why this is true, we have to look at the attributes of data that companies store, the attributes of encryption, and the threats that are assumed to be mitigated by encryption. Then, we'll look at the requirements being levied by customers. Finally, we'll pull these concepts together and see whether encryption provides any additional value.

Attributes of Data

I've often said that it is impossible to perfectly protect data because it's impossible to prevent unauthorized access to data. This is not quite accurate. It is possible, but only if you also prevent all authorized access! Of course, data that is inaccessible to everyone is useless; it has no value, so there would be no reason to store it. As soon as you introduce the requirement that someone or something must be able to access the data, you enter the world of risk management. Risk management means reducing the risk of unauthorized access to acceptable levels, not completely removing the risk.

Stored data must be able to be accessed in a "timely" manner. For example, if an application must process millions of Social Security Numbers stored in a database, it is not feasible to ask a human to manually enter a key that can decrypt each Social Security Number. It would take too much time. Since these applications normally run without any human intervention, even requiring human intervention once is unacceptable to most companies.

Data stored on disk is never accessed by a person. It is always accessed by a program. Programs run under an electronic user ID.

Hackers access data the same way any user accesses data--through programs that run under a user ID.

Attributes of Encryption

The first and most important encryption attribute to understand is this: Having access to the key that decrypts encrypted data and access to the encrypted data is equivalent to being authorized to the clear-text data. An algebraic representation of this is "access to clear-text data = access to decryption key + access to encrypted data." A corollary to this is that once data is encrypted and stored, the key that decrypts the data is just as sensitive as the clear-text data.

Encryption is compute-intensive; it takes a relatively large amount of resource to perform the numerous mathematic operations required.

David L. Scott, in Wall Street Words: An A to Z Guide to Investment Terms for Today's Investor, defines encryption as "the manipulation of data to prevent accurate interpretation by all but those for whom the data is intended." Financial institutions use encryption to increase the security of data transmitted via the Internet.

Sounds a lot like access control, doesn't it? This illustrates that encryption is useful for protecting data as it is transmitted through a medium that has no other access control mechanism.

Consider the following scenario, loosely based on my Army National Guard, Radio/Teletype Operator experience a long time ago. It serves as an example of several attributes of encryption.

An important and sensitive message from the commander of Company A is encrypted using the day's encryption key and sent to battalion headquarters. The person sending it either destroys the original message or, if information may need to be accessed later by someone in Company A, returns it to the sender, who puts it in a safe. At battalion headquarters, the message is decrypted using the day's encryption key. It is routed to the intended recipient. The recipient reads the message and either destroys it or stores it in a safe. At the end of the day, the keys are also destroyed. This is standard military operating procedure.

Why does the military encrypt data when it is being sent from one location to another, but store it unencrypted in a safe if the data may need to be accessed again at either the sending or receiving location? Why don't they keep all data encrypted at all times until it is needed again? The short answer is that access control (i.e., the safe) provides just as much protection as encryption for data at rest (in the safe, not in transit), and the safe provides a higher level of timeliness and data accessibility.

Encryption is a useful form of access control when no other access control mechanism is available. The military uses encryption to protect messages as they are transported from the protection of one access control mechanism (Company A) to the protection of a different access control mechanism (the battalion headquarters safe). It doesn't use encryption to protect the data "at rest" (i.e., while it is or can be under the control of a different access control mechanism).

Why would the military destroy the keys each day? First, the keys are just as sensitive as the data they encrypt. Second, neither the sending nor the receiving entity needs the keys once the data arrives at its intended destination and is decrypted. Third, the longer a key is used and the greater the number of messages encrypted with that key, the more likely an attacker may be able to compromise the key and thus any messages encrypted with it.

A perfectly good encryption algorithm can be successfully attacked if multiple messages are encrypted with the same key and the contents or partial contents of one of those messages is known to the attacker. This often-overlooked attribute of encryption was used by the allies in World War II to win the battle of the Atlantic against Hitler's U-boats. The Enigma machine was a marvelous encryption engine invented by the Germans prior to World War II. However, the allies knew that several German radio operators always started the first message of the day with a known phrase like "Heil Hitler. It's a beautiful day in the fatherland." The allies were able to build a machine that took advantage of this to find each day's key settings. By the end of the war, the allies were often reading messages in England and the United States before the Germans were able to decode and read them in Berlin. This illustrates the fact that good encryption depends not only on the algorithms, keys, and lengths used, but also on the data you choose to encrypt!

Knowing that data is encrypted tells you nothing about how well the data is protected. Without knowing the algorithm, the key length, and, most importantly, how the keys are protected, one knows nothing about how well encrypted data is actually protected.

Threats Encryption Is Supposed to Mitigate

The California law isn't the only legislation driving customer requirements for encrypting data stored on disk. Auditors performing Sarbanes Oxley (SOX) "compliance" (I think "assurance" is a better term) often assert that sensitive data stored on disk must be encrypted. The Visa Cardholder Information Security Program (CISP) also requires that certain data stored on disk be encrypted while stored.

When I ask who they are trying to protect the data from, the answer I get from customers and Visa usually includes "unauthorized employees, administrators, and hackers." Often, they'll say from "determined attackers."

Customer Requirements

Customers have a few requirements of their own over and above the legislation, the primary one being that the encryption and decryption be done by the application or the operating system. Most are unable or unwilling to invest in changing all of their applications that store or retrieve data on the system and feel this is something that should be provided by the operating system.

But even if they could afford to, doing so would provide no extra protection.

Why Encryption Doesn't Provide Additional Protection

let's take the concepts we've covered to this point and see how they affect our understanding of the additional protection provided by encryption.

We have legislation intended to provide more protection of personal information and to prevent identity theft by requiring that personal information be encrypted. We have customers who can meet the spirit of the legislation only by having applications or operating systems perform the encryption. We know that once data is encrypted, the key required to decrypt it is as sensitive and valuable as the clear-text data.

If a program is going to encrypt and decrypt data automatically, it must be able to generate and/or access the encryption key, access the encrypted data, and determine when and for whom it will decrypt the data.

To determine when and for whom it will decrypt data, a program uses an access control mechanism! But doing this is no different than relying only on access control! If the data is not encrypted on disk, only those authorized to retrieve it can do so. If the data is encrypted on disk, only those authorized to retrieve it can do so. It's the access control mechanism that determines whether the user sees the data; the decryption process just takes up computing resources.

Automatic encryption performed by the OS or an application will still return clear-text data to an *ALLOBJ user. By definition, *ALLOBJ users have access to the encrypted data and the encryption key. Remember: "access to clear-text data = access to encrypted data + access to encryption key." *ALLOBJ users, therefore, have access to the clear-text data even though the data is stored encrypted.

Another argument for encryption that customers have used is "I trust my administrators and have limited the number of people with *ALLOBJ, but the encryption is required to protect against hackers that break into the system." Sorry, but if an attacker breaks into the system with an ID that doesn't have access to the key and the encrypted data, the attacker wouldn't have access to the clear-text data either. However, hackers break into systems with *ALLOBJ authority (otherwise, it's not worth the effort). As the previous paragraph shows, encrypted data is not protected against *ALLOBJ users. Therefore, encryption does not protect against hackers that break into the system.

Is there any way that encrypting data stored on disk can provide additional protection? I don't think so. Given the need for programs to be able to encrypt and decrypt information automatically, I don't see how encryption could be done without storing the key in a location accessible by the program. This is what obviates the value of encrypting the data. Like I said, if the key and the encrypted data are accessible to a program on a particular system, then any user ID with *ALLOBJ has access to them. From the equation, substituting "access to clear-text data" for the key and the encrypted data shows that the access control mechanism alone is protecting the data.

One last argument some folks use is that encrypting the data on disk provides value because if the data is ever written to tape or the equivalent, it is protected while it is on the tape. Of course, this is only true if the key is not stored on the same tape as the data. But this means the data can only be retrieved if it is restored to the same system and the key is the same at the time it is restored. But using the same key also weakens the strength of the key. To maintain optimum protection, it must be changed periodically. Now you have a situation where the data encrypted on tape will not be available to you unless you put the key on the disk (or implement a manual method for saving keys and associating them with particular backup tapes).

Encryption or Access Control?

There is very little if any value to be derived from encrypting data that resides on disk. The nature of encryption, the accessibility requirements of data, and the impracticality of requiring decryption keys entered manually by human beings all lead to the conclusion that encrypting data stored on disk provides no additional protection of the data beyond that provided by the access control mechanism.

Encryption is most useful for protecting data when it is used in the absence of any other access control mechanism--as it travels across the Internet, for example.

So what should you do if you're a California company? Perhaps hire more savvy legislators. If that's not an option, then the approach I would take is to spend the least amount of money possible to provide some form of encryption. This way, if you do suffer a breach, you can at least show that you were attempting to meet the spirit of the law. But to really protect your data, encryption alone is not the answer. Implementing access control is. And this goes for the other 49 states as well.

Patrick Botz is currently responsible for security within IBM’s Virtualization Engine. Prior to that, he was the lead security architect for OS/400 and i5/OS. Pat was also the lead architect for IBM’s Server Group’s Single Sign-On. He started his career maintaining basic compilers, moved on to Electronic Computer Aided Design development and support in distributed UNIX environments. Along with Carol Woodbury, Pat recently co-authored the book Experts' Guide to OS/400 and i5/OS Security and is working on another devoted to eliminating passwords on server systems.

Last Updated ( Sunday, 20 March 2005 )
 
Discuss (6 posts)
Guest.Visitor
System Sentinel: The Encryption Myth
Mar 22 2005 17:53:00
However, it is NOT workable for data that must be used in the normal course of a business cycle. <p>That is like saying that it is not workable to have merchandise secured from theft if you want to sell it! Every store makes a compromise between security and customer access, the expensive jewelry and electronic equipment has more rigorous access control than the light bulbs and underwear. When we take the attitude that universal ease of access trumps all other requirements we have already surrendered the protection. <p>For example, the common use of software that can "remember" our passwords is a response to complexity and the individual's difficulty coping with the proliferation of secured access but it amounts to unsecured access to anyone who really understands the process. Letting software remember passwords should rarely be used and only if one is willing to sacrifice the information protected by it. <p>What really needs to happen is for organizations to take security seriously and say to employees and customers, "It may be more difficult to manage but you must be willing to stop and intervene to provide the access codes or we CANNOT secure your data."
#118216
pcbotz@gmail.com
System Sentinel: The Encryption Myth
Mar 21 2005 22:25:00
<blockquote><tt>My point is that they keys to the encrypted data must be secured on another server, on a physical device that is not attached to the network, by a manually entered password with a unique and constantly changing algorithym or some other method such as biological ID. Then the users must be made aware of the absolute necessity of protecting the keys and the data with equal dilligence and immediately report any compromise of either. </tt></blockquote><p>I agree 100%!!!! This is a valuable use of encryption. <p>However, it is NOT workable for data that must be used in the normal course of a business cycle. Encrypting data on backup media provides value (as long as the key is not stored on the media). Encrypting data as it flows over a network is a valuable use of encryption. <p>But encrypting data that is automatically decryptable by a program with no intervention of a human provides no value. It's the access control that provides the value.
#118215
pcbotz@gmail.com
System Sentinel: The Encryption Myth
Mar 21 2005 22:21:00
<blockquote><tt>It is simply incorrect to imply that hackers go for *ALLOBJ and will >settle for nothing else. </tt></blockquote><p>I agree!!!! However, access control protects you against all but those with *ALLOBJ!!! That is my whole point. If you have access control set up correctly, encryption provides no extra protection. <p><blockquote><tt> Some accounts are very powerful but only within a specified application. Some accounts are "regular joe/jane user" accounts. </tt></blockquote><p>Ok. Lets look at a program that automatically decrypts certain data but only for "regular joe". How does encryption protect against a hacker that logs in with "regular joe"??? It doesn't. It will decrypt the data for him. If the hacker logs in with some other "regular jane" account, then access control protects the data. The fact that it happens to be encrypted too is moot. <p><blockquote><tt> A hacker gathers these in the hopes of leveraging their access upwards, but even the basic capabilities are worth something. Furthermore, because of i5 adopted authority, sometimes low level accounts can act like more powerful accounts. </tt></blockquote><p>Sure, but encryption does nothing to stop this. If they are authorized to run a program that adopts authority and automatically decrypts the data, then encryption provides no additional value. <p>Once they get to *ALLOBJ, encryption still does nothing to stop them. <p><blockquote><tt> You are also assuming that everyone is of an equal knowledge level, and that no one ever does anything dumb, or destructive, even self destructive. In the real world, people send confidential information out through the Internet all the time. I feel confident that much of this information is not encrypted, but would be better protected if it were. </tt></blockquote><p>Again, as long as people want encrypted data to be automatically decrypted for those who are "authorized" then encryption provides no protection against those that do dumb stuff. <BR>
If you don't authorize people to data they shouldn't be able to access, they can't do anything dumb with it -- they can't do anything with it. Encryption does not provide the protection -- access control does. <p><blockquote><tt> We can easily meet your test of having the encryption keys on the same hard drive, and handled by the OS. As long as it isn't on the same file/table as the data being sent, the data is reasonably safe. </tt></blockquote><p>Access control provides the same level of protection. <p>While encrypting the data does not make it less safe, it doesn't make it any more safe. Access control is sufficient to protect you against the "regular joe" -- assuming you get it right. And if you don't get it right, encryption still does not protect you. <p>Encryption cannot protect you against privileged individuals. <p>As far as layered security, certainly this has value -- but only when each layer provides a different kind of protection. For example, firewalls force you defeat a network-based control, while access control forces you to defeat an entirely different mechanism. <p>If you encrypt data that can be decrypted by a key that is accessible from the same machine as the encrypted data, then an attacker only has to defeat access control. In my opinion, it is not valid to assume that an attacker can defeat the access control mechanism in order to get at the data, but cannot defeat it to get at the key. The only thing that protects you in this case is "security by obscurity" and we know that is no security at all. <p><blockquote><tt>There is no such thing in the absolute sense as "security". Systems are only more secure or less secure. </tt></blockquote><p>Boy, if we could just get the other 99% of the public to understand this... <p>But your point is based on the assumption that having data encrypted on disk and decrypting it automatically for those who are authorized to it (or to the program that decrypts it) adds more security. It doesn't. I only have to break the access control mechanism (or spoof my way past it). I don't have to break the encryption. <p>The message is: Spend your time and money on getting access control right. <p>If you want to spend more money on encrypting/decrypting data automatically afterwards, then have at it. But it won't provide you any more protection beyond what the access control mechanism does.
#118214
Guest.Visitor
System Sentinel: The Encryption Myth
Mar 21 2005 19:09:00
One of the key points in creating a secure data record is to NOT have the KEY stored with the DATA. How secure is your home if you lock the door and hang the key on a hook next to the door? <p>Determined thieves love to find victim's "clever" hiding places and make short work of getting into locked buildings. (That concept is so common that Walt Disney immortalized in the film "Snow White" more than half a century ago when the last dwarf out of their mine locks the door and then hangs the key next to the door). <p>It is human nature to want an easy way to gain rapid access but the price of security is additional layers of protection. Pat's point about the German communications security is valid but the more blatant and serious problem was that many of the radiomen began their messages with the dial settings (essentially the combination) for the cypher machine IN CLEAR TEXT before the sent their encrypted messages. They did this on the assumption that only another German military unit would be able to use the combination. Boy were they wrong! <p>My point is that they keys to the encrypted data must be secured on another server, on a physical device that is not attached to the network, by a manually entered password with a unique and constantly changing algorithym or some other method such as biological ID. Then the users must be made aware of the absolute necessity of protecting the keys and the data with equal dilligence and immediately report any compromise of either.
#118213
bharder@nlrha.ab.ca
System Sentinel: The Encryption Myth
Mar 21 2005 13:46:00
Now, I may regret tackling a former lead security architect for the i5, but I know a thing or two about security myself. You are oversimplifying both security and human behaviour! <p>It is simply incorrect to imply that hackers go for *ALLOBJ and will settle for nothing else. Hackers are opportunists. Certainly they will try for Security Officer authority, or Administrator, or Super User, or All Objects authority, but they take what they can get. <p>Some accounts are very powerful but only within a specified application. Some accounts are "regular joe/jane user" accounts. A hacker gathers these in the hopes of leveraging their access upwards, but even the basic capabilities are worth something. Furthermore, because of i5 adopted authority, sometimes low level accounts can act like more powerful accounts. <p>You are also assuming that everyone is of an equal knowledge level, and that no one ever does anything dumb, or destructive, even self destructive. In the real world, people send confidential information out through the Internet all the time. I feel confident that much of this information is not encrypted, but would be better protected if it were. <p>We can easily meet your test of having the encryption keys on the same hard drive, and handled by the OS. As long as it isn't on the same file/table as the data being sent, the data is reasonably safe. <p>You are also doubtless aware that multi-layered security systems are, in general, more secure than single layered security systems. Having access control is great, but what if that layer is breached? <p>There is no such thing in the absolute sense as "security". Systems are only more secure or less secure. Making them more secure is always a tradeoff against ease of use, and you have to be very careful about implementing security systems that sound great on paper but will be defeated by human behaviour.
#118212
MC Press Web Site Staff
System Sentinel: The Encryption Myth
Mar 22 2005 17:53:00
This is a discussion about <B>System Sentinel: The Encryption Myth</b>.<p align='center'><a href=http://www.mcpressonline.com/mc?1@232.1KNKfHX1eQT.17@.6b22169d>Click here for the article</a>.</p>
#118211


Discuss...
Related Articles
User Rating: / 0
PoorBest 
< Prev   Next >

The following trial software can be found at the MC Press Software Center.   



   MC-STORE.COM