CS 395T Computational Soundness of Formal Models.

Slides:



Advertisements
Similar presentations
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Advertisements

SECURITY AND VERIFICATION Lecture 4: Cryptography proofs in context Tamara Rezk INDES TEAM, INRIA January 24 th, 2012.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Digital Signatures Good properties of hand-written signatures: 1. Signature is authentic. 2. Signature is unforgeable. 3. Signature is not reusable (it.
CS 395T Formal Models of Cryptography: Symmetric Encryption.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Security Definitions in Computational Cryptography
11 Provable Security. 22 Given a ciphertext, find the corresponding plaintext.
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Authentication and Digital Signatures CSCI 5857: Encoding and Encryption.
Payment Systems 1. Electronic Payment Schemes Schemes for electronic payment are multi-party protocols Payment instrument modeled by electronic coin that.
Session 4 Asymmetric ciphers.
Soundness And Completeness of Formal Logics of Symmetric Encryption ** Andre Scedrov ** University of Pennsylvania **Gergei Bana ** University of Pennsylvania.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Computationally Sound Symbolic Protocol Analysis: Correspondence Theorems 18739A: Foundations of Security and Privacy Anupam Datta CMU Fall
Identity Based Encryption
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
1 Identity-Based Encryption form the Weil Pairing Author : Dan Boneh Matthew Franklin Presentered by Chia Jui Hsu Date :
A Designer’s Guide to KEMs Alex Dent
Asymmetric Cryptography part 1 & 2 Haya Shulman Many thanks to Amir Herzberg who donated some of the slides from
1 How to securely outsource cryptographic computations Susan Hohenberger and Anna Lysyanskaya TCC2005.
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Overview of Cryptography Anupam Datta CMU Fall A: Foundations of Security and Privacy.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Fall 2010/Lecture 311 CS 426 (Fall 2010) Public Key Encryption and Digital Signatures.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
Cramer-Shoup is Plaintext Aware in the Standard Model Alexander W. Dent Information Security Group Royal Holloway, University of London.
Slide 1 Vitaly Shmatikov CS 380S Semantic Security.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
0x1A Great Papers in Computer Security
8. Data Integrity Techniques
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
The RSA Algorithm Rocky K. C. Chang, March
CS555Topic 211 Cryptography CS 555 Topic 21: Digital Schemes (1)
Lecture 3.2: Public Key Cryptography II CS 436/636/736 Spring 2014 Nitesh Saxena.
Cryptography Lecture 8 Stefan Dziembowski
CIS 5371 Cryptography Introduction.
Oblivious Signature-Based Envelope Ninghui Li, Stanford University Wenliang (Kevin) Du, Syracuse University Dan Boneh, Stanford University.
Public-Key Cryptography CS110 Fall Conventional Encryption.
1 Lect. 13 : Public Key Encryption RSA ElGamal. 2 Shamir Rivest Adleman RSA Public Key Systems  RSA is the first public key cryptosystem  Proposed in.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Lecture 3.4: Public Key Cryptography IV CS 436/636/736 Spring 2013 Nitesh Saxena.
IND-CPA and IND-CCA Concepts Summary  Basic Encryption Security Definition: IND-CPA  Strong Encryption Security Definition: IND-CCA  IND-CPA, IND-CCA.
Cryptography Lecture 2 Arpita Patra. Summary of Last Class  Introduction  Secure Communication in Symmetric Key setting >> SKE is the required primitive.
1 Reasoning about Concrete Security in Protocol Proofs A. Datta, J.Y. Halpern, J.C. Mitchell, R. Pucella, A. Roy.
15-499Page :Algorithms and Applications Cryptography I – Introduction – Terminology – Some primitives – Some protocols.
Game-based composition for key exchange Cristina Brzuska, Marc Fischlin (University of Darmstadt) Nigel Smart, Bogdan Warinschi, Steve Williams (University.
Secure Computation Lecture Arpita Patra. Recap >> Improving the complexity of GMW > Step I: Offline: O(n 2 c AND ) OTs; Online: i.t., no crypto.
Authenticated Key Exchange I. Definitions I. MAP I. matching conversations II. oracles II. (I)KA II. AKEP2 III. AKEP2 Security I. Session Keys II. Perfect.
Tae-Joon Kim Jong yun Jun
1/28 Chosen-Ciphertext Security from Identity- Based Encryption Jonathan Katz U. Maryland Ran Canetti, Shai Halevi IBM.
Network Security. Three tools Hash Function Block Cipher Public Key / Private Key.
1 CIS 5371 Cryptography 1.Introduction. 2 Prerequisites for this course  Basic Mathematics, in particular Number Theory  Basic Probability Theory 
Cryptography Lecture 10 Arpita Patra © Arpita Patra.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Cryptographic methods. Outline  Preliminary Assumptions Public-key encryption  Oblivious Transfer (OT)  Random share based methods  Homomorphic Encryption.
Cryptography Lecture 6 Arpita Patra. Quick Recall and Today’s Roadmap >> MAC for fixed-length messages >> Domain Extension for MAC >> Authenticated Encryption:
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Modern symmetric-key Encryption
Topic 11: Authenticated Encryption + CCA-Security
Soundness of Formal Encryption in the Presence of Key Cycles
Cryptography Lecture 12 Arpita Patra © Arpita Patra.
The power of Pairings towards standard model security
Presentation transcript:

CS 395T Computational Soundness of Formal Models

Bridging the Gap (Again) uCryptography: computational constructions Define actual algorithms operating on bit strings For example, RSA is defined as a triple of algorithms –Key generation: public key is (n,e), private key is d where n=pq for some large primes p,q; ed=1 mod (p-1)(q-1) –Encryption of m: m e mod n –Decryption of c: c d mod n uFormal model: axiomatic interpretation of crypto Instead of defining cryptographic algorithms, simply say that they satisfy a certain set of properties –Given ciphertext, obtain plaintext if have exactly the right key –Cannot learn anything from ciphertext without the right key

Goal: Soundness of Formal Analysis uProve that axioms assumed in the formal model are true for some cryptographic constructions uFormal proofs must be sound in following sense: For any attack in concrete (computational) model… …there is matching attack in abstract (formal) model …or else the concrete attack violates computational security of some cryptographic primitive uIf we don’t find an attack in the formal model, then no computational attack exists –More precisely, probability that a computational attack exists is negligible

State of the Art uAbadi, Rogaway. “Reconciling Two Views of Cryptography (The Computational Soundness of Formal Encryption)”. J. Cryptology, Symmetric encryption only, passive adversary uMicciancio, Warinschi. “Completeness Theorems for the Abadi-Rogaway Logic of Encrypted Expressions”. JCS Fixes some bugs in the Abadi-Rogaway paper Notion of “confusion-free” encryption uMicciancio, Warinschi. “Soundness of Formal Encryption in the Presence of Active Adversaries”. TCC Public-key encryption, active adversary We’ll look at this paper today

Outline uDefine what it means for an encryption scheme to be secure against adaptive chosen-ciphertext attack in the multi-user setting uDefine a formal language for describing protocols uDefine concrete trace semantics for protocols Actual execution traces of protocols obtained by instantiating nonces with bit strings, etc. Traces include actions of the concrete adversary uShow that almost every action of concrete adversary maps to an action of abstract adversary This will follow from security of encryption scheme

IND-CCA in Multi-User Setting [Boldyreva, Bellare, Micali] adversary users m0m0 m1m1 Left-right selector LR(m 0,m 1,b) (returns m 0 or m 1 depending on bit b) 1. Generate n public-private key pairs (pk i,sk i ); give public keys to adversary A. pk 1 … pk n b … 2. A may send any two plaintexts m 0 and m 1 to any user. A receives enc pk i (m b ). m o, m 1 An encryption oracle for every key pair 3. A may send any c (not received previously). If c= enc pk j (m), A receives m. m enc pk j (m) A decryption oracle for every key pair 4. A wins if he guesses b correctly. enc pk i (m 0 ) or enc pk i (m 1 ) Encryption scheme is IND-CCA secure if this probability is within a negligible factor of ½

Simple Protocol Language uPairing and encryption only Term ::=Id |Identity Key |Public keys only Nonce | Pair | Ciphertext Pair ::=(Term, Term) Ciphertext ::={Term} Key uCan write simple protocols with this syntax Must describe valid computations of honest parties –For example, (B receives {X} pk(A), B sends {X} pk(B) ) is not valid because B can’t decrypt {X} pk(A)

Abstract vs. Concrete Execution A  {N a,A} pk(X) B  {N b,N A } pk(A) A  {N b } pk(X) Abstract execution A  bits(m 1 e x mod n x ) B  bits(m 2 e a mod n a ) A  bits(m 3 e x mod n x ) Concrete execution (with RSA) (e x, n x ) is responder’s RSA public key; m 1 is a number encoding a concatentation of a random bit string representing nonce N a and a fixed bit string representing A’s identity (e a, n a ) is A’s RSA public key; m 2 is a number encoding a concatentation of a random bit string representing nonce N b and the bit string extracted from the message received by B (e x, n x ) is responder’s RSA public key; m 3 is a number encoding the bit string extracted from the message received by A

Abstract vs. Concrete Adversary Fix some set of corrupt users C. Let M be messages sent prior to some point in protocol execution. M  know(C,M) If t,t’  know(C,M), then (t,t’)  know(C,M) If (t,t’)  know(C,M), then t,t’  know(C,M) If t  know(C,M), then {t} k  know(C,M) for any key k  Keys - Adversary can access any encryption oracle If {t} k i  know(C,M) and A i  C, then t  know(C,M) - Adversary can decrypt only messages encrypted with public keys of corrupt users Abstract adversaryConcrete adversary Any polynomial-time algorithm (maybe probabilistic)

Equivalence of Concrete & Abstract uNeed to prove that concrete adversary cannot achieve more than the abstract adversary except with negligible probability E.g., may guess secret key with negligible probability uShow that almost any concrete trace is an implementation of some valid abstract trace Concrete traces represent everything that the concrete adversary can achieve If almost any concrete trace can be achieved by the abstract adversary, it is sufficient to look only at the abstract adversary when doing analysis

Concrete and Abstract Traces uRepresentation function R maps abstract symbols (nonces, keys, identities) to bit strings Defines concrete “implementation” of abstract protocol uConcrete trace is an implementation of an abstract trace if exists a representation function R such that every message in concrete trace is a bit string instantiation of a message in abstract trace Intuitively, concrete trace is an implementation if it is created by plugging bit strings in place of abstract symbols in the abstract trace Denote implementation relation as 

How Can This Fail? A  {N a,A} pk(B) B  ??? Abstract execution A  m e b mod n b B  m 2e b mod n b Concrete execution (with RSA) uSuppose encryption scheme is malleable Can change encrypted message without decrypting Plain old RSA is malleable! Adversary intercepts and squares; B receives m 2e b instead of m e b There is no abstract operation corresponding to the action of concrete adversary!

…some abstract trace generated by abstract adversary interacting with abstract encryption and decryption oracles is an implementation of… Every concrete trace generated by concrete adversary interacting with concrete encryption and decryption oracles... (note that concrete adversary and concrete encryption oracles are randomized) There exists an abstract adversary such that… uIf the encryption scheme used in the protocol is IND- CCA secure, then for any concrete adversary A c Prob R A,R o (  A f : traceset(A f, O f )  traceset(A c (R A ),O c (R O ))  1- (  ) Main Theorem With overwhelming probability (i.e., dominated by any polynomial function of security parameter) Probability is taken over randomness of concrete adversary and encryption oracles (recall that concrete adversary may be probabilistic and public- key encryption must be probabilistic)

Proof Outline 1.For any (randomized) concrete adversary, construct the corresponding abstract adversary A f uAbstract “model” of concrete adversary’s behavior uGuarantees traceset(A f, O f )  traceset(A c (R A ),O c (R O )) 2.Show that every action performed by constructed adversary is a valid action in the abstract model (with overwhelming probability) uAbstract adversary is only permitted to decrypt if he knows the right key (e.g., cannot gain partial info) uProve: constructed adversary doesn’t do anything else

Constructing Abstract Adversary Concrete adversaryAbstract adversary 1.Fix coin tosses (i.e., randomness) of honest participants and concrete adversary 2.This uniquely determines keys and nonces of honest participants uUse symbolic constants to give them names in abstract model 3.Every bitstring which is not an honest participant’s key or nonce is considered the adversary’s nonce and given some symbolic name Must prove that every concrete action can be represented by a valid abstract action

Reduction to IND-CCA uProve that every time concrete adversary does something that’s not permitted in abstract model, he breaks IND-CCA security of encryption This can only happen with negligible probability Therefore, with overwhelming probability every concrete action implements some valid abstract action uWe’ll prove this by constructing a simulator who runs the concrete adversary in a “box” and breaks IND-CCA exactly when the concrete adversary deviates from the abstract model

Overview of Reduction Encryption and decryption oracles (CCA game) CCA adversary Concrete adversary A c CCA adversary runs concrete adversary as a subroutine CCA adversary interacts with encryption and decryption oracles according to rules of CCA game To do this, CCA adversary must be able to simulate protocol to A c (i.e., create an illusion for A c that he is interacting with the actual protocol) CCA adversary wins CCA game exactly when A f does something illegal in the abstract model Abstraction A f

What’s Illegal in Abstract Model? uThe only way in which constructed abstract adversary A f may violate rules of abstract model is by sending a term with some honest nonce X that he could not have learned by abstract actions X cannot be learned from messages sent by honest parties by simple decryption and unpairing rules uCase 1: If A f sends X in plaintext, this means that concrete adversary managed to open encryption Recall that A f is abstraction of concrete adversary A c If concrete adversary extracts a bitstring (abstracted as nonce X) from under encryption, he wins the CCA game

What if Encryption is Malleable? uCase 2: A f sends {t[X]} k, but neither t[X], nor {t[X]} k was previously sent by honest parties Adversary managed to take some encryption containing X and convert it into another encryption containing X This is known as malleability. For example, with RSA can convert an encryption of m into encryption of m 2 uIn this case, CCA adversary will win CCA game by using the concrete adversary’s ability to convert one encryption into another But to do this, CCA adversary must be able to simulate protocol execution to the concrete adversary

Winning the CCA Game (Simplified) CCA adversary users m0m0 m1m1 Left-right selector LR(m 0,m 1,b) 1. CCA adversary guesses nonce X and picks two values x o and x 1 b … t(x b ) 4. From t(x b ) CCA adversary learns whether x o or x 1 is inside; outputs bit b correctly Concrete adversary A c 2. Every time A c asks for enc k (s(X)), CCA adversary uses oracles to obtain enc k (s(x b )) s(x o ), s(x 1 ) enc k (s(x b )) 3. When A c outputs enc k (t(x b )), CCA adversary submits it to decryption oracle enc k (t(x b )) Ok, since the ciphertext was not previously created by encryption oracle

Summary uIf the encryption scheme used in the protocol is non-malleable under chosen-ciphertext attack, then the abstract model is sound If an attack is not discovered in the abstract model, a concrete attack may exist only with negligible probability uThis result does not cover signatures, hashes, etc. (yet)