Researchers have devised an encryption scheme that could simplify the protection of sensitive information by allowing banks, hospitals and other organizations to lock files using keys that are based on specific attributes, such as an employee's position or geographic location.
The method, which was unveiled last week, adds to the growing body of research known as functional, or attribute-based encryption. Functional encryption is designed to solve the hassle tied to traditional public-key encryption resulting from distributing and managing thousands or millions of private keys authorized people need to decrypt protected data. If 1,000 people in an organization need to securely share their public key with their co-workers, that requires close to one million separate exchanges.
Functional encryption tries to simplify things. It allows data to be encrypted using attributes directly tied to the recipients, such as their names or email addresses, without the need for the parties to have exchanged keys ahead of time. Rather than relying on a single key that unlocks all data, functional encryption envisions a more flexible sort of system where a personal key unlocks some doors but not others.
For example, medical records for George Clooney, which in October were improperly accessed by snooping hospital employees, would be available only for people meeting multiple criteria, such as (a) a doctor, nurse or accountant who is (b) directly responsible for the actor's medical care or billing.
One hindrance to functional encryption is a phenomenon known as collusion, which allows attackers to gain unauthorized access by combining the attributes of multiple individuals, for example, an unrelated doctor and the accountant handling billing.
Researchers Amit Sahai from UCLA, Brent Waters of SRI International and Jonathan Katz of the University of Maryland, have surmounted, to some degree, this shortcoming. In a research paper (PDF), released at the Eurocrypt 2008 conference, they describe a new cryptographically strong "primitive" that advances functional encryption by allowing the encryption of database results based on multiple fields. A primitive is a building block used to put together an encryption system.
While the functional encryption holds out promise, don't expect it to stanch the steady stream of data breaches that have flowed out of the medical, financial and government sectors over the past few years. Functional encryption, which is related to IBE, or identity-based encryption, is saddled with administrative burdens in much the way traditional systems are.
"IBE-based systems can make it easy to assign credentials, but there's still a central server that sets the policy on these things," said Nate Lawson, principal at Root Labs, which helps companies design and analyze secure embedded systems and encryption. "Any kind of scheme will require very fine-grained management of access control so it will still require high overhead of management, and that's unavoidable."
Karsten Nohl, a graduate student at the University of Virginia focusing on encryption, agrees that IBE merely allows database architects to "move the bottleneck around". But in providing alternatives, IBE is a paradigm that's likely to change the way data is secured.
"It promises to solve the key distribution and management problem that has pretty much plagued every encryption scheme ever since encryption was invented and has become particularly challenging with the large scale of the internet," he said. ®