Ensuring High-Quality Randomness in Cryptographic Key Generation Henry Corrigan-Gibbs, Wendy Mu, Dan Boneh - Stanford Bryan Ford - Yale 20 th ACM Conference.

Slides:



Advertisements
Similar presentations
Confidential 1 Phoenix Security Architecture and DevID July 2005 Karen Zelenko Phoenix Technologies.
Advertisements

Perfect Non-interactive Zero-Knowledge for NP
A Verifiable Secret Shuffle of Homomorphic Encryptions Jens Groth UCLA On ePrint archive:
Secure Virtual Machine Execution Under an Untrusted Management OS Chunxiao Li Anand Raghunathan Niraj K. Jha.
Conscript Your Friends into Larger Anonymity Sets with JavaScript ACM Workshop on Privacy in the Electronic Society 4 November 2013 Henry Corrigan-Gibbs.
Sonny J Zambrana University of Pennsylvania ISC-SEO November 2008.
I have a DREAM! (DiffeRentially privatE smArt Metering) Gergely Acs and Claude Castelluccia {gergely.acs, INRIA 2011.
1. Breaking the Adaptivity Barrier for Deterministic Public-Key Encryption Ananth Raghunathan (joint work with Gil Segev and Salil Vadhan)
Securing Critical Unattended Systems with Identity Based Cryptography A Case Study Johannes Blömer, Peter Günther University of Paderborn Volker Krummel.
Spreading Alerts Quietly and the Subgroup Escape Problem Aleksandr Yampolskiy (Yale) Joint work with James Aspnes, Zoë Diamadi, Kristian Gjøsteen, and.
CSC 774 Advanced Network Security
Scalable Anonymous Group Communication in the Anytrust Model David Wolinsky 1, Henry Corrigan-Gibbs 1, Bryan Ford 1, and Aaron Johnson 2 1 Yale University,
Last Class: The Problem BobAlice Eve Private Message Eavesdropping.
Vpn-info.com.
CSC 774 Advanced Network Security
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
CSCI283 Fall 2005 GWU All slides from Bishop’s slide set Public Key Infrastructure (PKI)
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
CNS2010handout 10 :: digital signatures1 computer and network security matt barrie.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Wireless Security In wireless networks. Security and Assurance - Goals Integrity Modified only in acceptable ways Modified only by authorized people Modified.
Proactive Secure Mobile Digital Signatures Work in progress. Ivan Damgård and Gert Læssøe Mikkelsen University of Aarhus.
A Secure Fault-Tolerant Conference- Key Agreement Protocol Wen-Guey Tzeng Source : IEEE Transactions on computers Speaker : LIN, KENG-CHU.
Foundations of Network and Computer Security J J ohn Black Lecture #13 Sep 26 th 2007 CSCI 6268/TLEN 5831, Fall 2007.
On-The-Fly Verification of Rateless Erasure Codes Max Krohn (MIT CSAIL) Michael Freedman and David Mazières (NYU)
CMSC 414 Computer and Network Security Lecture 19 Jonathan Katz.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
1. Outline 1. Background 1. Attacks on distance-bounding 2. Symmetric vs asymmetric protocol 3. Motivation: DBPK-Log 2. VSSDB 1. Building blocks 2. Protocol.
Anonymous Credentials Gergely Alpár Collis – November 24, 2011.
1 CS 194: Distributed Systems Security Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
CSE 597E Fall 2001 PennState University1 Digital Signature Schemes Presented By: Munaiza Matin.
Dan Boneh Public Key Encryption from trapdoor permutations RSA in practice Online Cryptography Course Dan Boneh.
Dan Boneh Introduction What is cryptography? Online Cryptography Course Dan Boneh.
Computer Science Public Key Management Lecture 5.
Digital Signatures (DSs) The digital signatures cannot be separated from the message and attached to another The signature is not only tied to signer but.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
By Jyh-haw Yeh Boise State University ICIKM 2013.
Chapter 5 Digital Signatures MSc. NGUYEN CAO DAT Dr. TRAN VAN HOAI 1.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
COMP 416 :: Fall 2010 Security Lecture 17 COMP 416 Fall 2010.
Oblivious Signature-Based Envelope Ninghui Li, Stanford University Wenliang (Kevin) Du, Syracuse University Dan Boneh, Stanford University.
Network Security. Cryptography Cryptography functions Secret key (e.g., DES) Public key (e.g., RSA) Message digest (e.g., MD5) Security services Privacy:
Optimistic Mixing for Exit-Polls Philippe Golle, Stanford Sheng Zhong, Yale Dan Boneh, Stanford Markus Jakobsson, RSA Labs Ari Juels, RSA Labs.
Authentication and Authorization Authentication is the process of verifying a principal’s identity (but how to define “identity”?) –Who the person is –Or,
Www. engineersportal.in. OUTLINES Network & Network Security Need of Network Security Methods of Network Security Firewall Firewall’s Works Firewall’s.
02/22/2005 Joint Seminer Satoshi Koga Information Technology & Security Lab. Kyushu Univ. A Distributed Online Certificate Status Protocol with Low Communication.
CRYPTOGRAPHY How does it impact cyber security and why you need to know more?
How cryptography is used to secure web services Josh Benaloh Cryptographer Microsoft Research.
Topic 22: Digital Schemes (2)
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
CS461/ECE422 Spring 2012 Nikita Borisov — UIUC1.  Text Chapters 2 and 21  Handbook of Applied Cryptography, Chapter 8 
Signcryption Parshuram Budhathoki Department of Mathematical Sciences Florida Atlantic University April 18, 2013
Linkability of Some Blind Signature Schemes Swee-Huay Heng 1, Wun-She Yap 1 Khoongming Khoo 2 1 Multimedia University, 2 DSO National Laboratories.
Mining Your Ps and Qs: Detection of Widespread Weak Keys in Network Devices N. Heninger, Z. Durumeric, E. Wustrow, and J. Halderman USENIX Sec’
Merkle trees Introduced by Ralph Merkle, 1979 An authentication scheme
Faster Implementation of Modular Exponentiation in JavaScript
Data Integrity Proofs in Cloud Storage Author: Sravan Kumar R and Ashutosh Saxena. Source: The Third International Conference on Communication Systems.
Ensuring Sufficient Entropy in RSA Modulus Generation Wendy Mu Henry Corrigan-Gibbs Dan Boneh.
Recommendations for Randomness in the Operating System Henry Corrigan-Gibbs and Suman Jana Stanford University HotOS XV – 20 May
1 An Ordered Multi-Proxy Multi-Signature Scheme Authors: Min-Shiang Hwang, Shiang-Feng Tzeng, Shu-Fen Chiou Speaker: Shu-Fen Chiou.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Information Security message M one-way hash fingerprint f = H(M)
Efficient Public-Key Distance Bounding
Information Security message M one-way hash fingerprint f = H(M)
Presentation transcript:

Ensuring High-Quality Randomness in Cryptographic Key Generation Henry Corrigan-Gibbs, Wendy Mu, Dan Boneh - Stanford Bryan Ford - Yale 20 th ACM Conference on Computer and Communications Security 6 November 2013

Image courtesy NASA Johnson Space Center n = pq

[Heninger et al. USENIX Sec 12] [Lenstra et al. CRYPTO 12] If keys are the same Can read neighbors traffic If keys share a factor Anyone can factor RSA modulus gcd(n, n) = gcd(pq, pq) = p 100,000s of vulnerable keys

Common Failure Modes 1) App never reads strong random values bytes = Hash(time(), get_pid(), pwd); [CVE , CVE , CVE , CVE , CVE , CVE , CVE ] 2) App misuses random values bytes = read_block(/dev/random); //... bytes = Hash(time()); [CVE , CVE , CVE , CVE ]

State of the art Does this key incorporate strong randomness?

State of the art ?!?!?!

State of the art CA ?!?!?!

Goal Does this key incorporate strong randomness? CA

Random values Device Entropy Authority (EA) bytes = read_from_EA(); //... bytes = Hash(time());

Incorporate local and remote randomness into secrets Check proof, Sign pk Random values, proof Device Entropy Authority (EA) Proof does not reveal the devices secrets EA

Goal CA vouches for identity EA vouches for randomness EA EAs signature

1)Output public key is as random as possible key_entropy = max(device_entropy, ea_entropy); 2)If device uses strong randomness source, it is no worse off by running the protocol – Does not leak secrets to EA System Goals

Outline Motivation Threat Model Protocol Evaluation

Outline Motivation Threat Model Protocol Evaluation

Threat model Adversary: can eavesdrop on everything except for a one-time set-up phase Device: tries to generate correctly formed key drawn from distribution with low min-entropy – Device is correct otherwise Captures many real-world randomness threats

Preliminaries Homomorphic commitments [Pedersen, Crypto 91] –Commitment to x: C(x) = g x h r –Given C(x) and C(y), can compute C(x+y) ZK proof of knowledge for multiplication –Given C(x), C(y), z, prove in zero knowledge that z = xy mod Q –bool Verify(π, C(x), C(y), z)

Outline Motivation Threat Model Protocol Evaluation

C(x), C(y) x, y n, δ x, δ y, π Find δs to make p = x+x+δ x q = y+y+δ y RSA primes. π = Prove(n=pq). Check δs are small Verify(π, C(p), C(q), n), sign public key Prevents device from setting x = –x σ(n) C(p) = C(x)g x+δ x Prevents device from setting δ x = –x

Security Properties If the device uses strong randomness EA learns no useful info about the secrets If the device uses strong randomness OR the EA is correct: Device ends up with a strong key Even if the EA is untrustworthy, device is better off running the protocol

C(x), C(y) x, y n, δ x, δ y, π Zero-knowledge proof leaks no info δs are O(log p), so they dont leak much Claim 1: If device uses strong randomness, EA learns no useful info Randomized commitments leak no info

C(x), C(y) x, y n, δ x, δ y, π Claim 2: Correct EA will never sign a key sampled from a distribution with low min-entropy Given x, x, y, y, there are only a few valid keys

C(x), C(y) x, y n, δ x, δ y, π Claim 2: Correct EA will never sign a key sampled from a distribution with low min-entropy A faulty devices only option is to pick a tricky x and y We prove that no such tricky values exist

Multiple Entropy Authorities

Outline Motivation Threat Model Protocol Evaluation

Key Generation Time No protoProtoProto+netSlowdown RSA x EC-DSA x Wall-clock time (in seconds) to generate a key on a Linksys E2500-NP home router. EA is modern Linux server 5000 km away (80ms RTT) Less than 2x slowdown for RSA Less than 2 seconds for EC-DSA

Computational Overhead Overhead diminishes for RSA keys Slowdown tends to 4x for EC-DSA keys

Computational Bottlenecks RSA-2048 key on Linksys E2500-NP home router Protocol cost

Related Work Hedged PKC [Bellare et al., ASIACRYPT 09] Better random values –Hardware RNG –Entropics [Mowery et al. Oakland 13] Juels-Guajardo Protocol [PKC 02] –Defends against kleptography –Requires heavier primitives (24x more big exponentiations)

Today ?!?!?!?!

With our protocol EA

Conclusion Using entropy authorities is a practical way to prevent weak cryptographic keys Other parts of the stack need help too –Signing nonces, ASLR, DNS source ports, … Interested in running an entropy authority? Lets talk!

Questions? Henry Corrigan-Gibbs Thanks to David Wolinsky, Ewa Syta, Phil Levis, Suman Jana, and Zooko Wilcox-OHearn.

p q Q Q Warning: Simplification ahead!

p q Q Q x y x+2 k y+2 k x and y are k-bit values, so box has area 2 2k Picked by device Max EA value Order of group 2k2k 2k2k

p q Q Q x y x+2 k y+2 k x y EAs random choice of x and y determines n (+/- δs)

p q Q Q x y x+2 k y+2 k x y

p q Q Q x y x+2 k y+2 k x y We prove: for every valid n, the chance that EA lands on n is negligible

p q Q Q x y x+2 k y+2 k x y

p q Q Q x y x+2 k y+2 k x y

p q Q Q x y x y

p q Q Q x y x+2 k y+2 k x y Proof holds no matter how the device picks x, y

Our Goal Device Entropy Authority Strong randomness Weak randomness Strong randomness Weak randomness / Malicious Reveals devices secrets to EA only