2013LIMO4062.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
Universite´ de Limoges DMI - Departement´ Mathematiques´ Informatique Impl´ementations Efficaces de Crypto-syst`emes Embarqu´eset Analyse de leur S´ecurit´e Efficient Embedded Implementations of Cryptosystems and Tamper Resistance Studies THESE pr´esent´ee et soutenue publiquement le 16 d´ecembre 2013 pour l'obtention du Doctorat de l'Universit´ede Limoges (Sp´ecialit´e: Informatique) par Beno^ıt FEIX Composition du jury Directeur: Christophe CLAVIER Universit´ede Limoges Rapporteurs: Louis GOUBIN Universit´eVersailles Saint-Quentin-en-Yvelines Colin WALTER Royal Holloway University Examinateurs: Jean-Christophe COURREGE Thales ITSEF Jean-Fran¸cois DHEM Atos Worldline Jean-Louis LANET Universit´ede Limoges Pascal PAILLIER CryptoExperts Guillaume POUPARD Minist`ere de la d´efense, DGA/DT/ST R´esum´e La cryptographie est d´esormais un terme quasi omnipr´esent dans notre quotidien quel que soit l'int´er^etque tout un chacun puisse porter `acette science. Elle repr´esente aujourd'hui un rempart entre nous et les intrusions des pirates ou des institutions sans retenues qui ne se pr´eoccupent gu`ere du respect de notre vie priv´ee.La cryptographie peut prot´eger nos donn´ees personnelles que nous stockons sur de multiples support num´eriques solides, voire nuageux pour les plus t´em´eraires. Mais utiliser des m´ecanismes cryptographiques ne suffit pas. Il faut ´egalement les impl´ementer de telle sorte que leur utilisation soit r´esistante `aune cat´egorie d'attaques particuli`ere nomm´ee les attaques physiques. Depuis 1996, date de leur divulgation dans le domaine public, ces techniques d'attaques se sont diversifi´ees et continuellement am´elior´ees donnant notamment lieu `ade nombreuses publications et brevets. Nous pr´esentons dans les travaux qui suivent, de nouvelles techniques d'attaques physiques que nous avons pu valider et tester de mani`eres th´eorique et pratique. Nous introduirons des techniques d'attaques par canaux auxiliaires innovantes tirant parti au maximum de l'information fournie par une seule execution d'un calcul cryptographique. Nous d´etaillerons ´egalement de nouvelles attaques CoCo (Collision Correlation) ap- pliqu´ees`adeux des standards cryptographiques les plus utilis´es: l'AES et le RSA. Nous utiliserons les techniques d'injection de fautes pour monter de nouvelles attaques com- bin´ees sur des impl´ementations de l'AES et du RSA. Nous introduirons ensuite des m´ethodes de g´en´eration de nombres premiers dites g´en´erations prouv´ees qui s'av`erent efficaces et propices `aun usage dans des composants de type carte `apuce. Et enfin nous conclurons ce m´emoire par la premi`ere m´ethode d'exponentiation s´ecuris´ee Carr´eToujours. Mots clefs: cryptographie embarqu´ee, analyse par canaux auxiliaires, analyse par in- jection de fautes, analyse horizontale, nombres premiers prouv´es, PACA et ROSETTA. i ii Abstract Cryptography has became a very common term in our daily life even for those that are not practising this science. It can represent today an efficient shield that prevent us from hackers' or other non respectable entities' intrusions in our privacy. Cryptography can protect the personal data we store on many physical numerical supports or even cloudy ones for the most intrepid people. However a secure usage of cryptography is also necessary. Cryptographic algorithms must be implemented such that they contain the right protections to defeat the category of physical attacks. Since the first article has been presented on this subject in 1996, different attack improvements, new attack paths and countermeasures have been published and patented. We present in the next pages the results we have obtained during the PhD. New physical attacks are presented with practical results. We are detailing innovative side- channel attacks that take advantage of all the leakage information present in a single execution trace of the cryptographic algorithm. We also present two new CoCo (Collision Correlation) attacks that target first order protected implementations of AES and RSA algorithms. We are in the next sections using fault-injection techniques to design new combined attacks on different state of the art secure implementation of AES and RSA. Later we present new provable prime number generation method well suited to em- bedded products. We show these new methods can lead to faster implementations than the probabilistic ones commonly used in standard products. Finally we conclude this report with the secure exponentiation method we named Square Always. Keywords: embedded cryptography, side-channel analysis, fault injection analysis, hor- izontal attacks, provable prime numbers, PACA and ROSETTA. iii iv Remerciements Je remercie Christophe Clavier, mon directeur de th`eseet ami hors pair sans qui je n'aurais jamais os´efranchir ce pas. Merci ´egalement aux membres du jury qui ont accept´ed'´evaluer mon travail et tout par- ticuli`erement un grand merci `ames rapporteurs Louis Goubin et Colin Walter. Merci `aJean-Christophe Courr`ege,Jean-Francois Dhem, Jean-Louis Lanet, Pascal Paillier et Guillaume Poupard. Cette th`ese repr´esente le travail r´ealis´edurant ces trois derni`eres ann´ees. Elle n'aurait cependant pas ´et´ela m^emesans les travaux que j'ai pu mener auparavant lors de mes dif- f´erentes exp´eriences professionnelles. Je remercie donc mes anciens coll`egues d'Oberthur, Thales, Gemalto et Inside Secure pour les discussions enrichissantes et amusantes que j'ai pu avoir avec eux. Merci ´egalement `ames nouveaux coll`egues chez UL pour cette nouvelle aventure ainsi que les discussions et l'expertise qu'ils me partagent au quotidien. Merci `ames co-auteurs ! Merci `al'Aveyronnais de Toulouse, au Corr`ezien du Nord `ala Pomme, `al'Anglais du P´erigord et sa tequila piment et `aSir Blue-Blood de Maury Boulaouane. Merci `aMyl`ene, Vincent et Georges pour ce qu'on a r´ealis´eensembles pendant ces ann´ees extraordinaires rythm´ees par votre bonne humeur et votre chaleur humaine (et certes agr´ement´ees de quelques viennoiseries et autres patisseries). Merci aux c´el`ebres et illustres NAG. Merci `ames amis. Enfin et surtout je remercie ma famille. Plus particuli`erement mes parents pour toutes les choses inestimables qu'ils m'ont apprises et donn´eeset qui me servent au quotidien; ainsi que mon ´epouse Camille pour son amour et pour notre merveilleuse fille Faustine, le soutien et la patience qu'elle a d´eploy´eepour m'accompagner et me supporter durant ces ann´ees de th`ese. Merci `ama fille Faustine d'avoir rapidement fait ses nuits. Mouh. v `aCamille et Faustine. vii Contents ix x List of Figures xi xii List of Tables xiii xiv List of Algorithms 1.2.1 Long Integer Multiplication . 29 1.2.2 Long Integer Squaring . 31 1.2.3 Exponentiation . 31 1.2.4 PIN Verify comparison . 35 1.2.5 Square-and-multiply always regular exponentiation . 40 1.2.6 Montgomery Ladder Exponentiation ...................... 41 1.2.7 Atomic exponentiation . 41 1.2.8 Blinded exponentiation . 44 3.3.1 Chosen message construction . 63 4.2.1 Multiply Always Barrett Exponentiation . 81 4.3.1 Atomic Multiply-Always Exponentiation . 91 4.3.2 Schoolbook Long-Integer Multiplication . 92 5.2.1 Schmidt et al. [?, Alg. 3] left-to-right exponentiation. 106 5.5.1 Improved Schmidt et al. left-to-right exponentiation. 113 8.3.1 Generic Prime Number Generation . 141 8.3.2 Efficient Generation of Probable Primes . 143 8.4.1 Maurer's iterative and recursive generation algorithm for provable primes. 145 8.4.2 Generation of the initial prime based on Miller-Rabin testing. 148 8.4.3 Efficient-Square-Root-Generation(`n)..................... 149 8.4.4 EfficientProvablePrimeGen for Square Root method with Trial(`n,Π) . 150 8.4.5 EfficientSquareGen Constructive(`n,Π).................... 151 8.4.6 Efficient-Cube-Root-Generation(`n)...................... 154 8.4.7 EfficientProvablePrimeGen for Cube Root method with Trial(`n,Π) . 155 8.4.8 EfficientCubeGenConstructive(`n,Π)..................... 157 9.2.1 Left-to-Right Square-and-Multiply Exponentiation ............... 166 9.2.2 Right-to-Left Square-and-Multiply Exponentiation ............... 166 9.3.1 Left-to-Right Square Always Exponentiation with (??)............ 169 9.3.2 Right-to-Left Square Always Exponentiation with (??)............ 170 xv 2 Chapter 1 When Cryptology meets Physical Resistance The price of freedom is eternal vigilance. Thomas Jefferson. This chapter introduces the Cryptology, often said the science of secret, and the physical resistance of products like smart cards or smart-phones. It is dedicated to my family and friends. It is written in English (this chapter) and French (next chapter) languages. They have so many times asked me what my job consisted in that I decided my PhD was the occasion to answer once for all to this question. 1.1 Cryptology - The Science of Secret Cryptology can be split in two activities: cryptography and cryptanalysis. First one consists in building algorithms and techniques to protect messages in confidentiality from unauthorized persons. Second term regroups the techniques that target to defeat the cryptographic techniques and recover encrypted messages without knowing the secret part (most of the time the secret is the key) of the method. What is the exact definition of Cryptology? A definition is given in the Handbook of Applied Cryptography [?]: Cryptography is the study of mathematical techniques re- lated to aspects of information security, such as confidentiality, data integrity, entity authentication and data origin authentication. This sentence summarizes the services offered by the cryptography: • Confidentiality: gives assurance that only authorized persons have access to infor- mation. In the digital word confidentiality can be obtained thanks to encryption methods. For instance Alice and Bob encrypt data they want to exchange on a insecure network (i.e. internet) by sharing a secret they use with an encryption algorithm. 3 CHAPTER 1.