Award Abstract # 1314722
TWC: Medium: Collaborative: The Theory and Practice of Key Derivation

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: NORTHEASTERN UNIVERSITY
Initial Amendment Date: June 21, 2013
Latest Amendment Date: June 21, 2013
Award Number: 1314722
Award Instrument: Standard Grant
Program Manager: Shannon Beck
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: August 1, 2013
End Date: July 31, 2018 (Estimated)
Total Intended Award Amount: $531,235.00
Total Awarded Amount to Date: $531,235.00
Funds Obligated to Date: FY 2013 = $531,235.00
History of Investigator:
  • Daniel Wichs (Principal Investigator)
    d.wichs@neu.edu
Recipient Sponsored Research Office: Northeastern University
360 HUNTINGTON AVE
BOSTON
MA  US  02115-5005
(617)373-5600
Sponsor Congressional District: 07
Primary Place of Performance: Northeastern University
MA  US  02115-5005
Primary Place of Performance
Congressional District:
07
Unique Entity Identifier (UEI): HLTMVS2JZBS6
Parent UEI:
NSF Program(s): Secure &Trustworthy Cyberspace
Primary Program Source: 01001314DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 7434, 7924
Program Element Code(s): 806000
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Most cryptographic applications crucially rely on secret keys that are chosen randomly and are unknown to an attacker. Unfortunately, the process of deriving secret keys in practice is often difficult, error-prone and riddled with security vulnerabilities. Badly generated keys offer a prevalent source of attacks that render complex cryptographic applications completely insecure, despite their sophisticated design and rigorous mathematical analysis. Even though key derivation plays a central role in the security landscape, it has received surprisingly little formal study within the cryptographic community, leading to a large disconnect between the theory and practice.

In this project, several important scenarios for key derivation are examined for their capability to improve security with provable guarantees, including the use of random number generators (RNGs), passwords, and biometrics. In particular:

- How RNGs are designed to properly combine the entropy gathering, randomness extraction and pseudorandom generation modules, while achieving the best possible subset of clearly defined security properties against a variety of adversarial scenarios.

- How to reduce the effectiveness of ?offline dictionary attacks? when generating keys from passwords.

- How biometrics can be safely reused to generate many secret keys across many applications raises several interesting questions, combining cryptographic security properties with those of error-correcting codes.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Divesh Aggarwal andYevgeniy Dodis andShachar Lovett "Non-Malleable Codes from Additive Combinatorics" {SIAM} J. Comput. , v.47 , 2018 , p.524--546
Yevgeniy Dodis andAdi Shamir andNoah Stephens{-}Davidowitz andDaniel Wichs "How to Eat Your Entropy and Have it Too: Optimal Recovery Strategiesfor Compromised RNGs" Algorithmica , v.79 , 2017 , p.1196--123

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Essentially all cryptographic applications crucially rely on secret keys that are chosen randomly and are unknown to an attacker. Unfortunately, the process of deriving secret keys in practice is often difficult, error-prone and riddled with security vulnerabilities and pitfalls. Indeed, badly generated keys offer a prevalent source of attacks that render complex cryptographic applications completely insecure despite their sophisticated design and rigorous mathematical security analysis. Given the central role that key derivation plays in the security landscape, it receives surprisingly little formal study within the cryptographic community, which has correspondingly had surprisingly little influence on the process of key derivation in practice. The major goal of this project is to examine several different scenarios for key derivation, including the use of random number generators (RNGs), passwords and biometrics. In all these cases, we develop a thorough theoretical foundations and formal understanding of the required security properties and propose new methods that provide improved security with provable guarantees.

We concentrate on the following areas:

(1) System Random Number Generators (RNGs). RNGs are an important and complex system component whose goal is to gather entropy from various sources (e.g., the timing of system calls), carefully manage the gathered pools of entropy over time, and periodically use them to output arbitrarily long strings of seemingly random bits, which can be used as cryptographic secret keys.

As part of our research, we found practical attacks on the Linux's RNG /dev/random, and showed the first theoretical analysis (and improvements) of Windows 8 RNG Fortuna. In addition to attacking/analyzing these existing RNG constructions, we also designed a new theoretical framework for building and rigorously analyzing RNGs, and designed several new and provably secure RNGs in our framework, which provide both qualitative and quantitative security and efficiency improvements to known RNG constructions.


(2) Key Derivation minimizing Entropy Loss. The problem of key derivation is a fundamental cryptographic problem of how to convert an imperfect entropy source such as password into the longest possible nearly uniform cryptographic key. Previous solutions to this problem achieved this task, but at the expense of extracting a key which was noticeably shorter than the entropy of the source. In fact, some prior work even suggested that such non-trivial entropy loss is inherent to the problem. In a very surprising result, we showed that this intuition is wrong, by designing the first provably secure key derivation functions (for a large collection of cryptographic applications) which achieve almost no entropy loss. Given that many entropy sources have very little entropy to begin with, we hope that our work will likely have a significant impact in practice.

(3) Key Derivation from passwords. One of the main challenges of generating keys from passwords is the issue of offline dictionary attacks where an attacker searches over all possible passwords in a small dictionary. We propose new solutions that reduce the effectiveness of such attacks. One of our ideas is to introduce a semi-trusted online entity ("helper") that can help users derive strong cryptographic keys from passwords and prevent offline dictionary attacks, but cannot hurt the user's security if it is ever compromised. We want this helper to be able to identify incorrect password attempts without being able to mount an offline dictionary attack. We achieve this by giving the helper only a single bit of information about the password which is sufficient to identify each incorrect password guess with probability 1/2 and therefore detect if too many such guesses are made.  

(4) Random Oracle with Auxiliary Input. Most practical methods for key derivation rely on the "random oracle model" - a framework that allows for rigorous security analysis including analyzing quantitative levels of security. However, the concrete security bounds that the random oracle promises are overly optimistic when we consider realistic attacks that may involve large amount of "pre-computation" before attacking a specific instance . In our work, we propose a variant of the random oracle model that takes such pre-computation into account and allows us to analyze the security level of various primitives in such settings. 

Beyond the scientific impact, we believe this project will have a broader impact on society. The poor security of current key-derivation schemes is one of the most common targets of real-world attacks. We expect the results of this research to be useful in significantly improving the security landscape for companies and individuals. On a more direct level, much of the research for this project involved the participation of PhD students and postdocs and included a large mentoring and career-development component. We emphasized diversity and inclusion of under-represented minorities. The participants include a female PhD student and two female postdocs who are continuing on to a research career in academia.


Last Modified: 10/26/2018
Modified by: Daniel Wichs

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page