How personal are the private keys?

Posted by Amit | Encryption | Saturday 19 April 2008 10:56 am

I recently read about this news and thought this could be a good opening article for CRYPTOcrats. To set the context let me borrow few paragraphs from this news that I read and also provide the link to the original news source.

The news talks about the research put together by professors of computer science at UCLA Henry Samueli School of Engineering and Applied Science. The Authors of this research are associate prof Amit Sahai at UCLA, Brent Waters a UCLA alumnus and Jonathan Katz of the University of Maryland.

The research has identified how Americans have become attractive targets for hackers resulting in billions of dollars in losses for US businesses. To get a perspective on the amount of losses check these staggering figures –

“According to a 2007 FBI analysis, Internet crime costs U.S. businesses some $67 billion annually, including the indirect expense of repairing hacked systems. TJX, the parent company of discount clothing chains T.J. Maxx and Marshalls, revealed that during a recent 18-month period, hackers had stolen 45.6 million credit card numbers and other sensitive customer information. For every two Americans, one private record has been stolen through computer data breaches alone.”

The researchers believe that the problem exists because of how this sensitive data is stored on the servers. Even though this data may be stored on secured servers once the hackers break in to these servers the data stored in there becomes vulnerable to misuse. The researchers have devised a method to change the rules of this game on hackers and even out the playing field. The scheme they have devised is called as Functional Encryption. To elaborate the gravity of the current problem here is the example they have given –

“Imagine current encryption technology as a lock and key – the data is locked, and to allow different people access, many copies of the key need to be made,” he said. “One record might need to be accessed by 10,000 people, so you make 10,000 copies of that key. With millions of documents and thousands of keys per document, you can imagine how very, very complicated it gets. It becomes much too complicated to manage. So even though we’ve had very strong encryption technology now for decades, it’s just not used, or it is used incorrectly.”

This brings me to the point I would like to discuss here. How personal are the private keys we use?

Most of the PKI algorithms use random seed in generating large numbers which form the primitives in generating what we call public and private keys. What is missing in this whole process is personalization of these keys to the user. Yes, there are systems available today which use an additional step such as Digital Certificates or Biometric Authentication (figure print recognition/ voice recognition etc) to bind the keys to the end user, however, they still don’t make the basic key material i.e. the Key pairs personalized to the user. Besides, this additional step has merely moved the vulnerability to a new place i.e the place where this binding of Key pairs to Digital Certificate or Biometric authentication is performed. Now with this, doesn’t it sound more relevant to address the root cause of this problem? How about making the cryptographic key generation algorithms more personalized. This is precisely the point the Sahai & his team are making.

The Functional Encryption system proposed in the research provides mechanism to the system to create a “information template of the user”. The mathematical system they have devised produces encrypted data based on this “template” and hence can be decoded only by the user matching the information in the template. This new mathematical system provides some innovative hardening that personalizes the key not merely based on the users personal attributes like his name is.

This way the servers don’t need complex systems to manage huge set of keys and even the servers themselves can’t decrypt the encrypted data. This intern makes the hacker’s attempt of breaking the servers a lost cause since the information will appear gibberish to them. Also even if the hacker is an insider, he is limited by what access he legitimately has, and since keys are personalized, it becomes much easier to trace who accessed and released the information in the first place.

It would be interesting to know the details of this mathematical system and how it really makes these keys more personalized to the user. While I try to dig that more if you have any views, comments, suggestions, additions, inputs on this topic please feel free to post them here….

UPDATE (10:00 am, 20 April 08) :

I just found a poster about Functional Encryption. Providing the link here

Functional Encryption

« Previous Page