CHES 2002 Presented at the workshop CHES 2002, August 13-15, 2002, Redwood Shores, California, USA.

Slides:



Advertisements
Similar presentations
ONE WAY FUNCTIONS SECURITY PROTOCOLS CLASS PRESENTATION.
Advertisements

Many-to-one Trapdoor Functions and their Relations to Public-key Cryptosystems M. Bellare S. Halevi A. Saha S. Vadhan.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Xiutao Feng Institute of Software Chinese Academy of Sciences A Byte-Based Guess and Determine Attack on SOSEMANUK.
Side Channel Attacks on CBC Encrypted Messages in the PKCS#7 Format
RSA cryptosystem 1 q The most important public-key cryptosystem is the RSA cryptosystem on which one can also illustrate a variety of important ideas of.
CS555Topic 191 Cryptography CS 555 Topic 19: Formalization of Public Key Encrpytion.
Lecture 3.3: Public Key Cryptography III CS 436/636/736 Spring 2012 Nitesh Saxena.
Rennes, 23/10/2014 Cristina Onete Putting it all together: using multiple primitives together.
7. Asymmetric encryption-
Session 4 Asymmetric ciphers.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
The RSA Cryptosystem and Factoring Integers (II) Rong-Jaye Chen.
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
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Session 6: Introduction to cryptanalysis part 1. Contents Problem definition Symmetric systems cryptanalysis Particularities of block ciphers cryptanalysis.
CS470, A.SelcukRSA1 CS 470 Introduction to Applied Cryptography Instructor: Ali Aydin Selcuk.
1 CIS 5371 Cryptography 9. Data Integrity Techniques.
Computer Security CS 426 Lecture 3
Tallinn University of Technology Quantum computer impact on public key cryptography Roman Stepanenko.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Lecture 6: Public Key Cryptography
1 CIS 5371 Cryptography 8. Asymmetric encryption-.
Topic 18: RSA Implementation and Security
Cryptanalysis. The Speaker  Chuck Easttom  
8. Data Integrity Techniques
CS5204 – Fall Cryptographic Security Presenter: Hamid Al-Hamadi October 13, 2009.
Lecture 8 Digital Signatures. This lecture considers techniques designed to provide the digital counterpart to a handwritten signature. A digital signature.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 9: Cryptography.
The RSA Algorithm Rocky K. C. Chang, March
Lecture 3.2: Public Key Cryptography II CS 436/636/736 Spring 2014 Nitesh Saxena.
Cryptography Lecture 8 Stefan Dziembowski
Lecture 5-6 The RSA and Rabin Algorithms. The possibility of the public key cryptosystem was first publicly suggested by Diffie and Hellman. However,
10/1/2015 9:38:06 AM1AIIS. OUTLINE Introduction Goals In Cryptography Secrete Key Cryptography Public Key Cryptograpgy Digital Signatures 2 10/1/2015.
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.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
MA/CSSE 473 Day 11 Primality testing summary Data Encryption RSA.
Introduction to Algorithms Second Edition by Cormen, Leiserson, Rivest & Stein Chapter 31.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
On OAEP, PSS, and S/MIME John Linn RSA Laboratories S/MIME WG, San Diego IETF, 13 December 2000.
1 Number Theory and Advanced Cryptography 5. Cryptanalysis of RSA Chih-Hung Wang Sept Part I: Introduction to Number Theory Part II: Advanced Cryptography.
Public Key Encryption with keyword Search Author: Dan Boneh Rafail Ostroversity Giovanni Di Crescenzo Giuseppe Persiano Presenter: 陳昱圻.
Public Key Cryptosystems RSA Diffie-Hellman Department of Computer Engineering Sharif University of Technology 3/8/2006.
Attacking RSA Brian Winant Reference “Twenty Years of Attacks on the RSA Cryptosystem” By Dan Boneh In Notices of the American Mathematical.
Future Cryptography: Standards Are Not Enough Tomáš Rosa Decros-ICZ, CTU FEE
CS555Spring 2012/Topic 31 Cryptography CS 555 Topic 3: One-time Pad and Perfect Secrecy.
Tae-Joon Kim Jong yun Jun
Lattice-based Fault Attacks on DSA – Another Possible Strategy Tomáš Rosa,
Primality Testing. Introduction The primality test provides the probability of whether or not a large number is prime. Several theorems including Fermat’s.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
MA/CSSE 473 Day 9 Primality Testing Encryption Intro.
Cryptographic Insecurity of the Test&Repeat Paradigm Tomáš Rosa, eBanka, a.s., Charles University, Prague, Czech Technical University in.
Topic 24: Finding Prime Numbers, RSA
Cryptography Lecture 9.
Cryptography Lecture 26.
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Cryptography Lecture 10.
Chapter 11 – Message Authentication and Hash Functions
Cryptography Lecture 11.
Introduction to Cryptography
Cryptography Lecture 9.
Cryptography Lecture 22.
Cryptography Lecture 25.
Cryptography Lecture 26.
Presentation transcript:

CHES 2002 Presented at the workshop CHES 2002, August 13-15, 2002, Redwood Shores, California, USA

Main Topics Another possible side channel attack on RSAES-OAEP Another possible side channel attack on RSAES-OAEP Fault side channel attacks on RSA-KEM Fault side channel attacks on RSA-KEM Note on the conversion from plaintext- oriented attacks to signature-oriented ones Note on the conversion from plaintext- oriented attacks to signature-oriented ones

Side Channels Definition: Side Channel (SC) Definition: Side Channel (SC) An undesirable way, which a cryptographic module exchanges some information with its neighborhood in. An undesirable way, which a cryptographic module exchanges some information with its neighborhood in. Timing Timing Power Power Electromagnetic Electromagnetic Fault Fault Kleptographic Kleptographic side channel

Side Channels Analysis of the side channel Analysis of the side channel A process of extracting a useful information from the particular side channel. A process of extracting a useful information from the particular side channel. Attack based on the side channel Attack based on the side channel A process of using an analysis of the particular side channel against a given cryptographic module. A process of using an analysis of the particular side channel against a given cryptographic module.

PART I Another possible side channel attack on RSAES-OAEP Another possible side channel attack on RSAES-OAEP

Partial Information Oracle Definition: Partial Information Oracle (PIO) is a black-box function of the ciphertext c, c  C, such that: Definition: Partial Information Oracle (PIO) is a black-box function of the ciphertext c, c  C, such that: PIO: C  Im(PIO), PIO: C  Im(PIO), for at least one bit m i of the RSA plaintext m, m=c d mod n, we have: for at least one bit m i of the RSA plaintext m, m=c d mod n, we have: H(m i | PIO(c)) < H(m i ), H(m i | PIO(c)) < H(m i ), information from PIO gained in this way must be non negligible – is induced by a non negligible advantage (adv). information from PIO gained in this way must be non negligible – is induced by a non negligible advantage (adv).

Whole Information Oracle Definition: Whole Information Oracle (WIO) is a known algorithm based on an access to the particular PIO. It takes as an input the value of ciphertext c and it returns the value of the whole plaintext m, m = c d mod n. Definition: Whole Information Oracle (WIO) is a known algorithm based on an access to the particular PIO. It takes as an input the value of ciphertext c and it returns the value of the whole plaintext m, m = c d mod n. WIO PIO : C  M : c  m = (c d mod n) WIO PIO : C  M : c  m = (c d mod n)

WIO Existence Having an access to the particular PIO, it is possible to build up the WIO. Having an access to the particular PIO, it is possible to build up the WIO. Given the ciphertext c, WIO returns the corresponding plaintext m in the random polynomial time. Given the ciphertext c, WIO returns the corresponding plaintext m in the random polynomial time. The proof of WIO existence is based on the theorem of The Security of Individual RSA Bits [13]. The proof of WIO existence is based on the theorem of The Security of Individual RSA Bits [13].

PIO Hunting Problem Where and how to find an appropriate PIO... Where and how to find an appropriate PIO... Once we are having one, we are also having a chance to develop an efficient chosen ciphertext attack on the whole RSA scheme. Once we are having one, we are also having a chance to develop an efficient chosen ciphertext attack on the whole RSA scheme.

PIO – Examples (1) PIO lsb PIO lsb Returns the least significant bit of the plaintext (i.e. m 0 ). Returns the least significant bit of the plaintext (i.e. m 0 ). PIO half PIO half Says whether the plaintext m is less or higher then one half of the modulus n. Says whether the plaintext m is less or higher then one half of the modulus n. Note: A PIO lsb and a PIO half are polynomially equivalent ([25]). Note: A PIO lsb and a PIO half are polynomially equivalent ([25]).

PIO – Examples (2) PIO MSByte PIO MSByte Indicates whether the most significant byte is zero or not. Indicates whether the most significant byte is zero or not. Used in the Manger’s attack on the RSAES- OAEP [15]. Used in the Manger’s attack on the RSAES- OAEP [15]. PIO PKCS1-v1_5 PIO PKCS1-v1_5 Indicates whether the plaintext is „PKCS1- v1_5 conforming“ or not. Indicates whether the plaintext is „PKCS1- v1_5 conforming“ or not. Used in the Bleichenbacher’s attack on the RSAES-PKCS1-v1_5 [5]. Used in the Bleichenbacher’s attack on the RSAES-PKCS1-v1_5 [5].

PIO Based on a Power Side Channel We assume that Hamming weights of arguments of the particular inner operation in the RSAES-OAEP scheme are leaking through a power side channel. We have PIO PA. We assume that Hamming weights of arguments of the particular inner operation in the RSAES-OAEP scheme are leaking through a power side channel. We have PIO PA. ([16])

Place of Our Attack on RSAES- OAEP

Assumptions on PIO PA Let us send c and c’ to a PIO PA... Let us send c and c’ to a PIO PA... Let m = m[k-1] ||... || m[0]. Let m = m[k-1] ||... || m[0]. Let us denote (we use MGF/SHA-1 notation): Let us denote (we use MGF/SHA-1 notation): W 8 = m[10] || m[9] || m[8] || m[7], W 8 = m[10] || m[9] || m[8] || m[7], W 9 = m[6] || m[5] || m[4] || m[3], W 9 = m[6] || m[5] || m[4] || m[3], W 10 = m[2] || m[1] || m[0] || 00. (00 appended by MGF) W 10 = m[2] || m[1] || m[0] || 00. (00 appended by MGF) Analogically also for m’ and W 8 ’, W 9 ’, W 10 ’. Analogically also for m’ and W 8 ’, W 9 ’, W 10 ’. Main assumption Main assumption From PIO PA we get triplets of Hamming weights: From PIO PA we get triplets of Hamming weights: HW = (w(W 8 ), w(W 9 ), w(W 10 )) HW = (w(W 8 ), w(W 9 ), w(W 10 )) HW’ = (w(W’ 8 ), w(W’ 9 ), w(W’ 10 )). HW’ = (w(W’ 8 ), w(W’ 9 ), w(W’ 10 )).

Converting PIO PA to a PIO lsb (1) Main aim Main aim Convert a PIO PA to a PIO lsb Convert a PIO PA to a PIO lsb Main idea Main idea Let c’ = c*2 -e mod n. Let m = c d mod n and m’=(c’) d mod n. Let c’ = c*2 -e mod n. Let m = c d mod n and m’=(c’) d mod n. If lsb(m) = 0 then m’ = m >> 1. If lsb(m) = 0 then m’ = m >> 1. If lsb(m) = 1 then m’ = (m + n) >> 1. If lsb(m) = 1 then m’ = (m + n) >> 1. Here the operator ”>> 1” denotes a right shift by one bit. Here the operator ”>> 1” denotes a right shift by one bit. Putting it together Putting it together If lsb(m) = 0 then HW and HW’ are related linearly. If lsb(m) = 0 then HW and HW’ are related linearly. If lsb(m) = 1 then the probability of a random linear relationship is very low. If lsb(m) = 1 then the probability of a random linear relationship is very low. From here we get lsb(m). From here we get lsb(m).

Converting PIO PA to a PIO lsb (2)

Closure: Building WIO from PIO lsb PIO lsb seems to be on of those best oracles suitable for building up an efficient WIO. PIO lsb seems to be on of those best oracles suitable for building up an efficient WIO. We suggest the RSA inversion algorithm We suggest the RSA inversion algorithm c.f. [10, p. 226]: Fischlin, R. and Schnorr, C. P.: Stronger Security Proofs for RSA and Rabin Bits, Journal of Cryptology, Vol. 13, No. 2, pp , IACR, 2000 c.f. [10, p. 226]: Fischlin, R. and Schnorr, C. P.: Stronger Security Proofs for RSA and Rabin Bits, Journal of Cryptology, Vol. 13, No. 2, pp , IACR, 2000 This algorithm is based on a binary halving technique, errors are corrected through a majority decision. This algorithm is based on a binary halving technique, errors are corrected through a majority decision. It requires O(L(n) 2 adv -2 ) oracle calls, where: It requires O(L(n) 2 adv -2 ) oracle calls, where: L(n) is the length of an RSA modulus, L(n) is the length of an RSA modulus, adv is the oracle advantage in the lsb prediction. adv is the oracle advantage in the lsb prediction. Post-processing complexity is O(L(n) 2 adv -6 ). Post-processing complexity is O(L(n) 2 adv -6 ). Doesn’t require further oracle access. Doesn’t require further oracle access.

PART II Fault side channel attacks on RSA-KEM Fault side channel attacks on RSA-KEM

Confirmation Oracle (CO) For arbitrary chosen integers r, y confirms whether r = y d mod n. For arbitrary chosen integers r, y confirms whether r = y d mod n. Can be generalized for any encryption scheme (the condition tested may be also more general). Here we use RSA-CO only. Can be generalized for any encryption scheme (the condition tested may be also more general). Here we use RSA-CO only. If there are faults then an RSA-CO may reveal nontrivial information about the private key. If there are faults then an RSA-CO may reveal nontrivial information about the private key. Depends on what kind of error it is and on a description accuracy. Depends on what kind of error it is and on a description accuracy.

Example – Bit Errors In [3] it was shown that bit errors in a private exponent d enable us to compute the whole private key efficiently. In [3] it was shown that bit errors in a private exponent d enable us to compute the whole private key efficiently. We observed that it is not necessary to have an access to the whole result of the faulty computation. We observed that it is not necessary to have an access to the whole result of the faulty computation. Having an access to an RSA-CO is enough. Having an access to an RSA-CO is enough. RSA-CO seems to be an effective generalization of some existing (as well as new ones) attacks developed with the assumption that an attacker could observe the whole output of an RSA computation (i.e. corrupted plaintext or signature). RSA-CO seems to be an effective generalization of some existing (as well as new ones) attacks developed with the assumption that an attacker could observe the whole output of an RSA computation (i.e. corrupted plaintext or signature). Bit errors are becoming even more interesting due to Optical Fault Induction Attacks. Bit errors are becoming even more interesting due to Optical Fault Induction Attacks. Sergei Skorobogatov and Ross Anderson: Optical Fault Induction Attacks, here on CHES Sergei Skorobogatov and Ross Anderson: Optical Fault Induction Attacks, here on CHES 2002.

Modified Pohlig-Hellman Algorithm This well known algorithm can also be modified to use only an access to an RSA-CO. This well known algorithm can also be modified to use only an access to an RSA-CO. Suppose that we want to use it to compute the private exponent d from the triplet (r, g, n’ ), such that r = g d mod n’. Suppose that we want to use it to compute the private exponent d from the triplet (r, g, n’ ), such that r = g d mod n’. Suppose that an attacker is able to force the change of modulus n to modulus n’ inducing weak instances of DLP. Suppose that an attacker is able to force the change of modulus n to modulus n’ inducing weak instances of DLP. We show, that it is not necessary to know the value of r exactly – having an access to an RSA-CO d, n’ is sufficient here. We show, that it is not necessary to know the value of r exactly – having an access to an RSA-CO d, n’ is sufficient here.

RSA-KEM ([23])...then continue as: M = DEM.Decrypt(K, L, DEM.Encrypt(K, L, M)), M ~ message, L ~ label, K ~ symmetrical key Brief review of a RSA-KEM based H-PKE: the decryption phase Brief review of a RSA-KEM based H-PKE: the decryption phase

Building RSA-CO on RSA-KEM Properties We use the properties of the whole hybrid scheme H-PKE. We use the properties of the whole hybrid scheme H-PKE. There is no integrity check for the RSA plaintext (r ). There is no integrity check for the RSA plaintext (r ). This is obviously good property against CCA 2, however it also implies that any resulting RSA plaintext will be used for a symmetrical decryption. This is obviously good property against CCA 2, however it also implies that any resulting RSA plaintext will be used for a symmetrical decryption. Further integrity controls applied on symmetrically decrypted message then confirms our guess of r. Further integrity controls applied on symmetrically decrypted message then confirms our guess of r. Summary: What makes the RSA-KEM stronger in other areas, that makes it very vulnerable to a fault attacks. Summary: What makes the RSA-KEM stronger in other areas, that makes it very vulnerable to a fault attacks.

RSA-CO Definition

Summary RSAES-OAEP can be attacked when Hamming weights of data processed leak to an attacker. RSAES-OAEP can be attacked when Hamming weights of data processed leak to an attacker. All steps in the OAEP decoding should be resistant to a side channel leakage. All steps in the OAEP decoding should be resistant to a side channel leakage. RSA-KEM has serious problems with fault attacks. RSA-KEM has serious problems with fault attacks. It could lead to a private key disclosure. It could lead to a private key disclosure. Integrity of private key must be ensured and the computation must be checked for faults. Integrity of private key must be ensured and the computation must be checked for faults. Note that Manger’s and Bleichenbacher’s attacks can be easily converted to compute signatures instead of plaintexts. Note that Manger’s and Bleichenbacher’s attacks can be easily converted to compute signatures instead of plaintexts. Server’s certificate should not be attributed for a signature and a key exchange purposes at the same time – this helps to reduce potential attack impacts. Server’s certificate should not be attributed for a signature and a key exchange purposes at the same time – this helps to reduce potential attack impacts.

Thank You