Certified Security Proofs of Cryptographic Protocols in the Computational Model : an Application to Intrusion Resilience



Similar documents
Non-Black-Box Techniques In Crytpography. Thesis for the Ph.D degree Boaz Barak

MTAT Cryptology II. Digital Signatures. Sven Laur University of Tartu

Introduction to Cryptography CS 355

Secure Reactive Systems

Lecture 15 - Digital Signatures

Outline. Computer Science 418. Digital Signatures: Observations. Digital Signatures: Definition. Definition 1 (Digital signature) Digital Signatures

Introduction. Digital Signature

Computational Soundness of Symbolic Security and Implicit Complexity

The MAC In The Box Project

Lecture 9 - Message Authentication Codes

KEY DISTRIBUTION: PKI and SESSION-KEY EXCHANGE. Mihir Bellare UCSD 1

1 Digital Signatures. 1.1 The RSA Function: The eth Power Map on Z n. Crypto: Primitives and Protocols Lecture 6.

Capture Resilient ElGamal Signature Protocols

VoteID 2011 Internet Voting System with Cast as Intended Verification

Digital Signatures. Murat Kantarcioglu. Based on Prof. Li s Slides. Digital Signatures: The Problem

MESSAGE AUTHENTICATION IN AN IDENTITY-BASED ENCRYPTION SCHEME: 1-KEY-ENCRYPT-THEN-MAC

1 Message Authentication

Lecture 10: CPA Encryption, MACs, Hash Functions. 2 Recap of last lecture - PRGs for one time pads

Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm By Mihir Bellare and Chanathip Namprempre

1 Construction of CCA-secure encryption

Identity-based Encryption with Post-Challenge Auxiliary Inputs for Secure Cloud Applications and Sensor Networks

Digital Signatures. What are Signature Schemes?

On Generating the Initial Key in the Bounded-Storage Model

Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

DIGITAL SIGNATURES 1/1

Digital Signatures. Prof. Zeph Grunschlag

Length extension attack on narrow-pipe SHA-3 candidates

1 Signatures vs. MACs

Adversary Modelling 1

Non-interactive and Reusable Non-malleable Commitment Schemes

Proof of Freshness: How to efficiently use an online single secure clock to secure shared untrusted memory.

Talk announcement please consider attending!

Cryptosystems. Bob wants to send a message M to Alice. Symmetric ciphers: Bob and Alice both share a secret key, K.

Democratic Group Signatures on Example of Joint Ventures

Schnorr Signcryption. Combining public key encryption with Schnorr digital signature. Laura Savu, University of Bucharest, Romania

Security Analysis of PLAID

Practice Questions. CS161 Computer Security, Fall 2008

How To Protect Your Data From Attack

CryptoVerif Tutorial

lundi 1 octobre 2012 In a set of N elements, by picking at random N elements, we have with high probability a collision two elements are equal

Cryptography & Network Security

Simulation-Based Security with Inexhaustible Interactive Turing Machines

Cryptographic hash functions and MACs Solved Exercises for Cryptographic Hash Functions and MACs

Certificate Based Signature Schemes without Pairings or Random Oracles

Digital Identity Management

How to prove security of communication protocols?

The Exact Security of Digital Signatures How to Sign with RSA and Rabin

Security/Privacy Models for "Internet of things": What should be studied from RFID schemes? Daisuke Moriyama and Shin ichiro Matsuo NICT, Japan

Outline. CSc 466/566. Computer Security. 8 : Cryptography Digital Signatures. Digital Signatures. Digital Signatures... Christian Collberg

Authentication requirement Authentication function MAC Hash function Security of

A Method for Making Password-Based Key Exchange Resilient to Server Compromise

Cryptography and Network Security: Summary

Authenticated encryption

Computer Science A Cryptography and Data Security. Claude Crépeau

Network Security. Gaurav Naik Gus Anderson. College of Engineering. Drexel University, Philadelphia, PA. Drexel University. College of Engineering

Security Analysis of DRBG Using HMAC in NIST SP

Introduction to Computer Security

Symmetric Crypto MAC. Pierre-Alain Fouque

Network Security. Computer Networking Lecture 08. March 19, HKU SPACE Community College. HKU SPACE CC CN Lecture 08 1/23

Lecture 1: Introduction. CS 6903: Modern Cryptography Spring Nitesh Saxena Polytechnic University

Trading Static for Adaptive Security in Universally Composable Zero-Knowledge

Efficient Unlinkable Secret Handshakes for Anonymous Communications

An Overview of Common Adversary Models

Modular Security Proofs for Key Agreement Protocols

Hash Functions. Integrity checks

Cryptographic Hash Functions Message Authentication Digital Signatures

One-Way Encryption and Message Authentication

Client Server Registration Protocol

Signature Schemes. CSG 252 Fall Riccardo Pucella

Compiling CAO: from Cryptographic Specifications to C Implementations

Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels

Cryptography Lecture 8. Digital signatures, hash functions

CUNSHENG DING HKUST, Hong Kong. Computer Security. Computer Security. Cunsheng DING, HKUST COMP4631

Secure Computation Without Authentication

Proposal for a Graduate Certificate in Information Assurance Education Track 2. Submitted. by the. School of Technology West Lafayette Campus

1 Domain Extension for MACs

Overview of Public-Key Cryptography

Lecture 5 - CPA security, Pseudorandom functions

EasyCrypt - Lecture 6 Overview and perspectives. Tuesday November 25th

Comparison of CBC MAC Variants and Comments on NIST s Consultation Paper

CIS 6930 Emerging Topics in Network Security. Topic 2. Network Security Primitives

New Efficient Searchable Encryption Schemes from Bilinear Pairings

Computer Security: Principles and Practice

CS 758: Cryptography / Network Security

Chapter 12. Digital signatures Digital signature schemes

Ch.9 Cryptography. The Graduate Center, CUNY.! CSc Theoretical Computer Science Konstantinos Vamvourellis

SECURITY ANALYSIS OF A SINGLE SIGN-ON MECHANISM FOR DISTRIBUTED COMPUTER NETWORKS

Privacy in Deniable Anonymous Concurrent Authentication with Setup is Impossible

Information Security Basic Concepts

Q: Why security protocols?

How to Design a Successful One-Time Signature Scheme

A New and Efficient Signature on Commitment Values

Chapter 7: Network security

SSL A discussion of the Secure Socket Layer

Efficient and Secure Authenticated Key Exchange Using Weak Passwords

Leakage-Resilient Authentication and Encryption from Symmetric Cryptographic Primitives

PORs: Proofs of Retrievability for Large Files

Secure Deduplication of Encrypted Data without Additional Servers

Transcription:

Certified Security Proofs of Cryptographic Protocols in the Computational Model : an Application to Intrusion Resilience Pierre Corbineau Mathilde Duclos Yassine Lakhnech Université de Grenoble, CNRS Verimag, Grenoble, France December 9th 2011

Introduction We report on A formalization in Coq of CIL: Computational Indistinguishability Logic [CCS 10] a logic for proving correctness of cryptographic systems in the complexity-theoric model; and its application to prove correctness of an intrusient-resilient key-exchange protocol - a non-trivial protocol in a model that goes beyond the black box model.

Security Protocols are rules for exchanging messages ensure secure communication on an open network in the presence of adversaries applications: ATM, e-commerce, electronic vote or contract signing, etc. of particular importance: authenticated key-exchange protocols Confidentiality: key is indistinguishable from a random key Authentication: in a presence of a passive adversary, two legitimate partners engaged in a session compute the same key.

Motivation Cryptographers develop proofs in the complexity-theoretic (computational) model: System: a set of randomized oracles, called oracle system. Adversary: any randomized machine with access to the oracles. She tries to answer a question. Correctness: a bound on the probability that the adversary answers correctly depending on the ressources of the adversary, both in terms of computation and number of calls to the oracles. Black-Box model does not give any extra information on the internal state of the oracle system. I.e., view of the adversary is the interaction. Non-black-box: some information about the internal state of the oracles.

State of affairs Many flawed security proofs in the literature: Asiacrypt 05: Jackobson-Pointcheval 01, Wong-Chan 01, Abdalla-Pointcheval 05, Bellare-Canetti-Krawczyck 98, Bellare-Rogaway s OAEP,... Adhoc definitions of properties. Proofs are adhoc, untrustable,... Many models that depend on the properties, cryptographic primitives, strength of the adversary, etc... Can Formal Methods offer something? Our research program: Computer-aided Formal Proofs in the complexity-theoretic approach

Outline 1 CIL in Coq Oracle systems Adversary Indistinguishability and Contexts 2 Dziembowski s intrusion resilient protocol Intrusion-Resilient Key Generation Protocol Proof in CIL of the Key Generation Protocol

Outline 1 CIL in Coq Oracle systems Adversary Indistinguishability and Contexts 2 Dziembowski s intrusion resilient protocol Intrusion-Resilient Key Generation Protocol Proof in CIL of the Key Generation Protocol

Oracles and signatures Cryptographic systems are modeled as oracle systems. Each oracle has : A name of type oracle_name An input type and an output type An implementation complying with this signature and the internal state of the system Record oracle_signature := mkos { oracle_name : Type; oracle_input: oracle_name -> Type; oracle_output: oracle_name -> Type.} Definition oracle_fun (input:type) (output:type) := input * State -> distr (output * State). Variable os : oracle_signature. Definition oracle_functions := forall name, oracle_fun (oracle_input os name) (oracle_output os name).

Adversary model An adversary interacts with the oracle system by sending queries. D e f i n i t i o n run_function state A := state - > distr ( Response state A). A response can be : a request of an oracle call a final value to be returned I n d u c t i v e Response state A := Request : f o r a l l ( name : oracle_name os), ( oracle_ input os name ) - > ( oracle_ output os name - > state ) -> Response state A Return : A -> Response state A.

Indistinguishability Indistinguishablity between two oracles systems: A, O 1 k,ɛ O 2 ( O.P (A O) ( ) = 1) ( O, o.p (A O) (# o > k o ) = 0) P(A O1 )(answer = true) P (A O2 )(answer = true) ɛ Definition indistinguishable (f1:frame os State) (f2:frame os State2) (call_bound:oracle_name os -> nat) (epsilon:u):= forall (att:attack _ bool), at_most_calls att call_bound -> diff (outcome f1 att (True_ev _)) (outcome f2 att (True_ev _)) <= epsilon.

Contexts Adversary Context Oracle System Adversary Context Simulator Oracle System σ C[O] σ O σ O Adv state m A Context state m c Oracle state m Adversary extended state < m A, m c > Oracle state m

Other CIL Rules Some other rules are based upon forward bisimulation, backward bisimulation, determinization... hand proofs in CIL: FDH, PSS, ElGamal, OAEP,... a general theorem for verifying iterative hash designs applied to many Sha-3 candidates (Ph.D. Thesis M. Daubignard).

Outline 1 CIL in Coq Oracle systems Adversary Indistinguishability and Contexts 2 Dziembowski s intrusion resilient protocol Intrusion-Resilient Key Generation Protocol Proof in CIL of the Key Generation Protocol

Intrusion Resilience in Black-Box Model? Motivation: the black box model has its limits: does not cover side-channel attacks nor intrusive attacks there is a need to design cryptographic protocols resilient to intrusion (viruses). Aim: secure protocols in the presence of viruses.

Intrusion Resilience in Black-Box Model? Motivation: the black box model has its limits: does not cover side-channel attacks nor intrusive attacks there is a need to design cryptographic protocols resilient to intrusion (viruses). Aim: secure protocols in the presence of viruses. The Bounded Storage Memory model (from [Mau92]): a virus can be any computation that has no limit on its computation time and memory but whose output is limited in size. Intuition: outputting large data can easily be revealed.

Intrusion Resilient Key Generation Protocol Scheme is from [Dzi06]. Alice N a Bob S a def N b = H(f (K, N a, N b )) S b pk a, mac S (pk a ) ε pka (κ i ), mac S (ε pka (κ i )) check mac π 0 def = H(f (K, N a, N b )) κ i check mac R {0, 1} δ(k) π 1 K: a large random key. f : a random extractor. H: a random hash function.

An Example of an Oracle Formalization Definition o_bob_nonce_sender : oracle_fun State (input_type Bob_nonce_sender) (output_type Bob_nonce_sender) := fun e => match Bflags (snd e) with Bob_start => let n := Brnd_nonce (Brnds (snd e)) in let s := (long_term_key (snd e) (fst e) n) in mlet hashs := o_h (s,snd e) in let (K,LH,As,_,Ar,Br,v) := snd hashs in!(n,mks K LH As (Bob_middle (fst hashs)) Ar Br v) _ =>!(nul_string,snd e) end.

Idealized Protocol Alice if pass. adver. then S a := S b else S a R D H N a N b S b Bob R D H π 0 pk a, mac S (pk a ) κ i check mac R {0, 1} δ(k) check mac ε pka (0), mac S (ε pka (0)) π 1 κ A i := κ i S is independent from N A, N B ; κ i never sent over the network.

Attack Model Adversary can observe and corrupt several sessions. Sequential (no concurrent sessions). Chooses an uncorrupted session to be challenged on.

Proof Sketch O π O π id = = C π0 [O π1 ] C π id [O 0 π id ] 1 O π1 O π id = = O π0 O 1 π id 0 = = C π0 [O π id ] 1 = C π id [O π0 ] 1 = = C εpk ( ) [O MAC ] C MAC id [O ε (0) ] pk C H [O K ] C H [O U ] C εpk ( ) [O MAC id ] = C MAC id [O ε ( ) ] pk O K O U O MAC id O MAC O εpk ( ) O ε (0) pk π 0 : first part of the protocol π 1 : second part of the protocol

Focus on π 1 π id 1 π 1 π id 1

Focus on π 1 π id 1 π 1 π id 1 = = C εsk ( )[MAC] C MAC id [ε sk (0)]

Focus on π 1 π id 1 π 1 π1 id = = C εsk ( )[MAC] C MAC id [ε sk (0)] C εsk ( )[MAC id ] = C MAC id [ε sk ( )]

Focus on π 1 π id 1 π 1 π1 id = = C εsk ( )[MAC] C MAC id [ε sk (0)] C εsk ( )[MAC id ] = C MAC id [ε sk ( )] MAC id MAC ε pk ( ) ε pk (0)

Conclusion In this work, we have: demonstrated the usability of CIL s formalization in Coq to prove intrusion resilience of a non-trivial key-exchange protocol To our knowledge, the first formal proof of a scheme in the non-black-box model The first formal proof of a protocol in the concrete security model. Related Work: Formal verification of cryptographic schemes: Indistinguishability logics: Impaglazzio and Kapron (2006); Datta et. al. (2006); Zhang (2008)... Certicrypt, Easycrypt - SCALP Project

Future Work other examples: group key exchange protocols,... use decision procedures for higher automatization bisimilation, probability bounds,... improve the tactics to minimize the user s goals to non-trivial proofs, design a tool that builds the Coq formalization of a cryptographic scheme from a protocol description, and the trivial parts of the proof.

References S. Dziembowski. Intrusion-resilience via the bounded-storage model. Lecture Notes in Computer Science, 3876:207, 2006. U.M. Maurer. Conditionally-perfect secrecy and a provably-secure randomized cipher. Journal of Cryptology, 5(1):53 66, 1992.