TH`ESE Mate Soos
Total Page:16
File Type:pdf, Size:1020Kb
N◦ attribu´epar la biblioth`eque THESE` pour obtenir le grade de Docteur de l'Institut Polytechnique de Grenoble Sp´ecialit´e: Informatique pr´epar´ee`a l'INRIA Rh^one-Alpes dans le cadre de l'Ecole´ Doctorale Ecole´ Doctorale Math´ematiques,Sciences et Technologies de l'Information, Informatique pr´esent´ee et soutenue publiquement par Mate Soos le 6 octobre 2009 Titre Privacy-preserving Security Protocols for RFIDs Composition du Jury Andrzej Duda Pr´esident Grenoble INP | Ensimag Claude Castelluccia Directeur de Th`ese INRIA Rh^one-Alpes Levente Buttyan´ Rapporteur Budapest's University of Technology and Economics Refik Molva Rapporteur EURECOM Olivier Billet Examinateur Orange Labs Francois Vacherand Examinateur CEA-LETI ii Abstract RFID tags are small electronic devices using radio-frequency to receive power and transmit information. They are predicted to be present on almost every item sold to facilitate scanning and inventorying. Since RFIDs are so small, they can only use extremely lightweight security protocols, offering a unique challenge to researchers. For this reason, security protocols for RFIDs have been in the forefront of academic research in the past years. This thesis outlines what RFIDs are and describes and analyses multiple RFID security solutions. We present the state of the art in the field of RFIDs, including RFID systems and hardware and describe some of the most important RFID security protocols. Next, we show through the analysis of three recently proposed ad-hoc protocols the difficulty of designing secure RFID authentication protocols. We then analyse the Di Pietro-Molva private RFID authentication protocol, detailing its shortcomings and insecurities. Then, we describe the privacy-preserving RFID identification protocol ProbIP and analyse its security. An improved version of ProbIP, EProbIP, is also presented, which counters the insecurities found in the original protocol. Finally, we describe how low hardware-complexity stream ciphers could be used in RFIDs and analyse such ciphers using a SAT solver which we improved for this purpose. R´esum´e Les puces RFID sont de petits appareils ´electroniques qui seront ins´er´eesavec une grande probabilit´edans chaque produit commercial. Les RFID ´etant de petite taille ne peuvent utiliser que des protocoles de s´ecurit´equi n´ecessitent de faibles capacit´ees mat´erielles,c'est la raison pour laquelle elles pr´esentent un grand d´efipour les chercheurs. Il en r´esulteque les protocoles RFID se trouvent au premier-plan de la recherche acad´emiqueces derni`eresann´ees.Cette th`eseparcourt les RFID, pr´esente et analyse de multiples solutions RFID. Dans la premi`erepartie, nous pr´esentons l'architecture RFID et les protocoles de s´ecurit´eRFID les plus importants. Par la suite, nous ´etudionsle protocole d'authentification et d'identification Di Pietro-Molva en nous focalisant sur la pr´esentation, en d´etail,de ses d´efautsde s´ecurit´e.Ensuite, nous pr´esentons le protocole ProbIP que nous analysons ´egalement du point de vue de la s´ecurit´e.Nous proposons une version am´elior´eedu protocole ProbIP, le protocole EProbIP qui corrige les probl`emesde s´ecurit´edu ProbIP. Nous pr´esentons finalement la fa¸condont il est possible d'utiliser les chiffrements par flot de faible demande mat´erielledans les RFID, et nous analysons ces algorithmes de chiffrement `al'aide de l'algorithme SAT ´elabor´esp´ecifiquement dans ce but. iii iv Contents Introduction1 I State of the art3 1 RFID systems7 1.1 Complexity measures for RFIDs.....................7 1.1.1 Gate Equivalents.........................7 1.1.2 Battery use............................8 1.2 Standards.................................8 1.2.1 ISO/CEI 14443..........................8 1.2.2 EPC Class 1 Gen 2........................9 1.3 Media Access Control protocols..................... 10 1.3.1 MAC protocols used in RFIDs.................. 10 1.3.2 The ISO14443A standard MAC protocol............ 11 1.3.3 The EPC Class 1 Gen 2 MAC protocol............. 11 1.4 Conclusions................................ 14 2 RFID security protocols 17 2.1 RFID protocol features.......................... 17 2.1.1 Identification........................... 18 2.1.2 Authentication.......................... 19 2.2 Privacy-preserving RFID identification................. 19 2.2.1 Physical layer solutions...................... 20 2.2.2 Information-theoretic protocols................. 21 2.2.3 Hash-based protocols....................... 22 2.2.4 Key-tree based protocols..................... 24 2.2.5 Protocols based on experimental crypto-primitives....... 26 2.3 RFID Authentication protocols..................... 26 2.3.1 Symmetric cipher and hash-based protocols.......... 27 2.3.2 Rabin cryptosystem-based protocols............... 28 2.3.3 Protocols based on public-key cryptography.......... 28 2.3.4 HB+ and its variants....................... 29 2.3.5 Physically Uncloneable Functions................ 29 2.4 Protocol properties overview....................... 30 2.5 Conclusions................................ 30 Bibliography 33 v CONTENTS II On the difficulty of designing ad-hoc RFID security protocols 39 3 Analysing the Molva and Di Pietro Private RFID Authentication Scheme 43 3.1 A short summary of the Molva - Di Pietro scheme........... 43 3.1.1 Private identification....................... 44 3.1.2 Tag authentication........................ 44 3.1.3 Reader authentication...................... 45 3.2 The DPM function............................ 45 3.2.1 Key equivalences......................... 45 3.2.2 Pair-equivalences......................... 46 3.2.3 The effect of equivalences.................... 46 3.3 Private identification........................... 46 3.3.1 Observations about Lemma 2.................. 46 3.3.2 The true number of (alpha p,Vp) pairs needed......... 47 3.3.3 The bandwidth needed in a common setup........... 48 3.3.4 Implementation of the Lookup Process............. 48 3.4 Retrieving k i,j.............................. 49 3.4.1 Exhaustive search......................... 49 3.4.2 Man-in-the-middle attack.................... 50 3.5 Design flaws and their remedies..................... 52 3.5.1 Design flaws............................ 52 3.5.2 Remedies for the problems found................ 53 3.6 Conclusions................................ 53 4 Secret Shuffling 55 4.1 Probabilistic Identification Protocol................... 55 4.1.1 Protocol description....................... 55 4.1.2 Example protocol run...................... 56 4.1.3 Minimum number of packets needed by the reader....... 56 4.1.4 Parameters............................ 57 4.1.5 Implementation of the protocol in the backend......... 57 4.1.6 Implementation of the protocol in the tag........... 59 4.2 The attack by Ouafi et al......................... 59 4.3 Conclusions................................ 60 5 Noisy Secret Shuffling 61 5.1 Error-introducing ProbIP......................... 61 5.1.1 Minimum number of packets needed by the backend server.. 62 5.1.2 Modified backend server and tag implementations....... 63 5.1.3 Integration of EProbIP into the EPC standard......... 64 5.2 Security analysis of EProbIP....................... 64 5.2.1 Attack vectors........................... 64 5.2.2 Computationally-intensive approach............... 66 5.2.3 Packet-intensive approach.................... 67 5.2.4 Resistance to attacks....................... 71 5.3 Conclusions................................ 72 vi CONTENTS CONTENTS 5.A Calculating propagation and conflict probabilities for Function Multi- DPLL................................... 72 Bibliography 75 III Stream ciphers in RFIDs 79 6 An example RFID security protocol using low hardware-complexity stream ciphers 83 6.1 Stream ciphers.............................. 83 6.2 Two stream cipher-based RFID protocols................ 84 6.2.1 A simplistic protocol....................... 84 6.2.2 A more complex protocol..................... 84 6.3 Conclusions................................ 85 7 Using SAT solvers to analyse low hardware-complexity stream ci- phers 87 7.1 Background................................ 88 7.1.1 SAT solvers............................ 88 7.1.2 Algebraic Cryptanalysis..................... 92 7.1.3 Stream Ciphers.......................... 92 7.2 Adapting the SAT solver......................... 92 7.2.1 Full pre-simplification...................... 92 7.2.2 XOR support........................... 94 7.2.3 Gaussian elimination....................... 97 7.2.4 Dynamic behaviour analysis................... 102 7.2.5 Optimal attack method...................... 105 7.3 Adapting the cipher representation................... 106 7.3.1 Logical circuit representation.................. 106 7.3.2 Generating the logical circuit representation.......... 107 7.3.3 Optimising the representation of LFSRs............ 108 7.3.4 Optimising the representation of non-linear functions..... 108 7.4 Implemented Attacks........................... 109 7.4.1 Calculating the expected running time............. 109 7.4.2 The attacks............................ 112 7.5 Conclusions................................ 115 7.A Learnt clause length statistics...................... 117 7.B HiTag2 and Crypto-1 extrapolation examples.............. 121 Bibliography 123 Conclusions 129 A Protocoles de protection de la vie priv´eeet de s´ecurit´epour les RFIDs 131 A.1 Introduction................................ 131 A.2 Les protocoles RFID........................... 132 CONTENTS vii CONTENTS A.2.1 Identification........................... 132 A.2.2 Authentification.........................