Département SAS : Systèmes et Architectures Sécurisées Attaques EMA sur téléphones mobiles Crypto'Puces 2011 Driss ABOULKASSIMI (EMSE) 08/05/2011 Laurent FREUND (EMSE) Assia TRIA (CEA -LETI)
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 2
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 3
Motivations 35 30 25 20 15 10 5 0 - - - - - - Revenue Téléphone mobile 0.7 1.1 3.9 Smart phones 22.1 21.7 20 17.8 16 14.2 - - - Smartphone Security Revenue World Market 2009 to 2014 Client application software Unité: millier d unités 7 9 13.9 19,1 - - - 11-2007 2008 2009 2010 p2011 p2012 p2013 Source: Groupe Xerfi,juillet 2010 Smartphone Security Service (carriers) Smartphone Security Service (Entreprise) Receive SMS/text alerts Send/receive MMS(picture messages) Chek news/sports/weather Look up directions or maps Send/receiveinstant messages (e.g, MSN) Send/receive work emails Download applications Check financial accounts Research products for purchase Chek flight, bus, or train status Enter a contestor vote via SMS/text messages Receive coupons/promotions Purchase products Acces operator portal 54% 53% 50% 41% 38% 33% 23% 23% 12% 9% 8% 8% 5% 70% None of these 7% Base 4.874 Smartphone users 2009 2010 2011 p2012 p2013 p2014 Source: ABI Research, janvier 2010 Source: Forrester Research, 2010 4
TISPHANIE Projet TISPHANIE Technologies en investigations sécuritaires pour téléphones et appareils numériques mobiles. Objectifs du projet Qualifier la typologie des types d attaques pouvant viser les terminaux grands-publics ou professionnels Caractériser la résistance des principaux composants des téléphones grands-public ou professionnels aux attaques physiques, logiques, protocolaires, cryptographiques Développer des bancs de mesures HW/SW innovants pour cette caractérisation Qualifier les contre-mesures disponibles chez les partenaires du projet Développer un ensemble d outils de test adéquats Formaliser une méthodologie multicritères d évaluation de la sécurité des terminaux mobiles Mettre en œuvre et valider les résultats de cette méthodologie sur des applications grand-public et de nature «sécurité-civile» 5
Projet TISPHANIE Objectifs du projet Qualifier la typologie des types d attaques pouvant viser les terminaux grands-publics ou professionnels Caractériser la résistance des principaux composants des téléphones grands- public ou professionnels aux attaques physiques, logiques, protocolaires, cryptographiques faisabilité des attaques logicielles et matérielles existantes. Développer des bancs de mesures HW/SW innovants pour cette caractérisation : Adapter la plate forme de la caractérisation sécuritaire MicroPackS pour évaluer la sécurité sur les téléphone mobiles) Qualifier les contre-mesures disponibles chez les partenaires du projet Développer un ensemble d outils de test adéquats Formaliser une méthodologie multicritères d évaluation de la sécurité des terminaux mobiles Mettre en œuvre et valider les résultats de cette méthodologie sur des applications grand-public et de nature «sécurité-civile» Partenaires Industriels : BERTIN-Technologies, GEMALTO, EADS-IW, EADS-SN Entreprises intermédiaires : Trusted-Labs, Trusted Logic PME : Cryptoexperts Académiques : CEA-LETI, Ecole des Mines de Saint-Etienne, Université de Limoges, Université de Versailles Saint-Quentin 6
Objectifs AES : algorithme de chiffrement avancé à clé symétrique (128,192 et 256 bits) Texte à chiffrer Clé initiale K0 Ronde initiale AddRoundKey Ronde 1:9 SubBytes ShiftRows MixColumns AddRoundKey Clés de Ronde k1:k9 Ronde 10 SubBytes ShiftRows MixColumns K10 (Clé pour ronde 10) Texte chiffré 7
Objectifs Présence de l AES sur : des applications garantissant aux clients de téléphones mobiles la sécurité de leurs données personnelles et professionnelles. plusieurs schémas de sécurité. Ex : le protocole de sécurisation des échanges sur Internet Transport Layer Security, Pre-sharedkey(PSK-TLS), ou Secure Sockets Layer(SSL). Etudier le possibilité de réaliser une attaque par canaux cachés Analyse électromagnétique (EMA) sur un (AES) logiciel exécuté sur un téléphone mobile : Notre propre implémentation de l AES 128 bits L AES 128 bits proposé dans la bibliothèque de chiffrement BouncyCastle. 8
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 9
Principe d une attaque Différentiel de puissance DPA Principe de la DPA (Analyse Différentielle de Puissance)? Données d entrée Données de sortie J ai trouvé la clé privée Attaquant Consommation 10
CPA et CEMA en pratique (1/2) L attaque CPA (Analyse de corrélation de puissance), oucema (Analyse de corrélation électromagnétique), en pratique : 1-Acquisition automatique de courbes de consommations ou de courbes EM Sonde électromagnétique 11
CPA et CEMA en pratique (1/2) Cible d attaque : la ronde 1, sortie de la SubBytes Texte à chiffrer Clé initiale K0 Ronde initiale AddRoundKey Ronde 1:9 SubBytes ShiftRows MixColumns AddRoundKey Clé de Ronde k1:k9 Ronde 10 SubBytes ShiftRows MixColumns K10 (Clé pour ronde 10) Texte chiffré 12
CPA, CEMA en pratique (2/2) 2-Analyse : une analyse statistique de courbes EM Amplitude m : Nombre d échantillons/courbe 1 2 m 1 1 1 2 m Text 1 Text 2 temps 2 Corrélation 2 Text n n 256 Key i Text 1 Text 2 Text n Key= i = key(8 bits) avec i = {1,2,...256} et key i = i 1 SUBBYTE Modèle de consommation 2 n 1 2 256 Facteur de corrélation 1- La bonne hypothèse de clef 0,00-13 Temps
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 14
Caractéristiques du circuit cible Partie expérimentale (1/3): implémentation logicielle de l AES OS embarqué Symbian OS 9.2 Microprocesseur Horloge CPU J2ME RISC 32-bits 400 MHz MIDP2.0, JSR 177(SATSA) Implémentation d une version optimisée de l AES 128 bits for (intround = 1; round < Nr; round++) { 1 2 3 4 t[0] = Te0(state[0][0]) ^ Te1(state[1][1]) ^Te2(state[2][2]) ^ Te3(state[3][3]); t[1] = Te0(state[1][0]) ^ Te1(state[2][1]) ^Te2(state[3][2]) ^ Te3(state[0][3]); t[2] = Te0(state[2][0]) ^ Te1(state[3][1]) ^Te2(state[0][2]) ^ Te3(state[1][3]); t[3] = Te0(state[3][0]) ^ Te1(state[0][1]) ^Te2(state[1][2]) ^ Te3(state[2][3]);. } 15
Partie expérimentale (2/3): difficultés techniques et solutions proposées Quel type d attaques CPA OU CEMA? Le choix de la sonde -Diamètre aproximatif. 10 mm -Fréquence: 30 MHz -3 GHz Génération d un trigger : via la microsd public void Trigger(){ try { FileConnection filecon =Connector.open("file:///SDCsrd/my_file.txt"); fclose(); } } Montage: accéder au processeur, alimentation 16
Partie expérimentale (2/3): difficultés techniques et solutions proposées Automatiser l acquisition: traces EM -Introduction d une temporisation de 2s entres deux exécutions de l AES (sleep(2000)). 17
Conditions Partie expérimentale d acquisition (3/3): Téléphone Acquisition mobile Courbes EM Equipements Circuit cible Oscilloscope numérique PC Pilotage de l oscilloscope Textesà chiffrer Caractéristiques Processeur RISC 32 bits fréquence d horloge 400Mhz Lecroy 3Ghz résolution 200µs Fréquence d échantillonnages de 1GS/s Xeon(2.67Ghz) RAM 12Go Via une interface Labview Connexion Ethernet avec l oscilloscope 2130textes aléatoires Un seul octet qui change (réduire le bruit lié aux 3 sbox) 1 2 3 4 5 6 7 8 9 10 18
Conditions Mise en d acquisition expérience (3/3): Téléphone Acquisition mobile Courbes EM 1 2 3 4 5 6 7 8 9 10 Equipements Circuit cible Oscilloscope numérique PC Pilotage de l oscilloscope Caractéristiques Processeur RISC 32 bits fréquence d horloge 370Mhz Lecroy 3Ghz résolution 200µs Fréquence d échantillonnages de 1GS/s Xeon(2.67Ghz) RAM 12Go Via une interface Labview Connexion Ethernet avec l oscilloscope Effet du compilateur juste-à-temps (Just-in-time compiler) Textesà chiffrer 2130textes aléatoires Un seul octet qui change (réduire le bruit lié aux 3 sbox) Courbes avec ramasse-miette (Garbage-Collector) 19
Exécution d un programme JAVA Problèmes liés à la JVM et post-traitement 1-Sélection de courbes 2-Synchronisation Java code source Compilateur Java Bytecode Librairies Courbe 1 80µs Compilateur juste-à-temps Java interpréteur Machine virtuelle java Courbe 2 Avant la synchronisation Système d exécution Système d exploitation (OS) Matériel Courbe n 20 Après la synchronisation
Attaque CEMA dans le domaine fréquentiel : Principe de l attaque (1/3) consommation Consommation: 1 logique Consommation: 0 logique FFT d un signal non décalé x[n] X (e jw ) DSP FFT d un signal décalédansle temps x[n m] e jwm X (e jw ), oùm estle retard t DSP d un signal périodique non décalé X (e jw ) 2 = X ( e jw ) X ( e jw ) DSP d un signal périodique décalédansle temps X (e jw ) 2 = e jwm X ( e jw ) e jwm X ( e jw ) = X (e jw ) X (e jw ) consommation DSP t C.C. Tiu, A new frequency-based side channel attack for embedded Systems,MSthesis, Dept. of Electrical and Computer Eng., Univ. of Waterloo, 2005. 21
Attaque CEMA dans le domaine fréquentiel : sur émulateur de carte à puce (2/3) void AES_cypher() { for(i=0;i<rand();i++) nop(); } for(j=0;j<nb_round;j++){ Trigger(); Round(j); } Equipements Caractéristiques Circuit cible ATMEAG128 8bits fréquence d horloge 4Mhz Oscilloscope Tektronix DPO 7104 numérique résolution 500µs Fréquence d échantillonnages de 200Msamples/s Pilotage -Commandes en Ruby logicielle par le -Connexion Ethernet avec PC l oscilloscope -Connexion USB avec l émulateur via un lecteur de carte à puce. 100µs 70µs 1 22
Attaque CEMA dans le domaine fréquentiel : Résultat : émulateur de carte à puce (3/3) Amplitude m : Nombre d échantillons/courbe 1 1 2 m nfft=n Log 2 (n) : Nombre de fréquence 1 1 2 nfft 1 1 2 nfft/2 Text 1 temps 2 DSP 2 Corrélation 2 Text 2 Text n n n 256 Key i Text 1 Text 2 Text n Key i = key(8 bits) avec i = {1,2,...256} et key i = i SUBBYTE Modèle de consommation 1 2 n 1 2 256 1- Facteur de corrélation Spectre de la bonne hypothèse de clef 0,00 Fréquences 23
Attaque CEMA dans le domaine fréquentiel : Résultats: téléphone mobile (3/3) 1-Sélection de courbes 0,68 - Spèctre de la bonne hypothèse de clef ( 0x5C) Courbe 1 Courbe 2 Facteur de corrélation 0,00 360Mhz - Fréquences Résultat de l attaque CEMA dans le domaine fréquentiel sur téléphone mobile pour un octet de la clé pour (1500 courbes) Courbe n 24
Attaque CEMA dans le domaine fréquentiel : Résultats: téléphone mobile (3/3) 1-Sélection de courbes 0,68 - Spèctre de la bonne hypothèse de clef ( 0x5C) Courbe 1 Facteur de corrélation Courbe 2 0,00 360Mhz - Résultat de l attaque CEMA dans le domaine fréquentiel sur téléphone mobile pour un octet de la clé pour (1500 courbes) Fréquences Courbe n L information est liée à l amplitude!! Est-ce toujours le cas?? 25
Attaque CEMA dans le domaine temporel : Résultats: téléphone mobile (1/2) Constat : chaque bytecodea une signature EM caractéristique qui permet des identifications (à 80% de corrélation) des opérations «caractéristiques» des calculs cryptographiques. Courbe 1 Courbe 2 1-Signature EM de la sbox Courbe n 3-résultats de la synchronisation 2-Identifier la Signature EM de la sboxpar corrélation glissante 26
Attaque CEMA dans le domaine temporel : Résultats: téléphone mobile (2/2) Résultat :cette technique d attaque a permis de retrouver la clé de chiffrement à partir de 256 courbes EM (pour chaque octet de la clé). 0,78 - Max de corrélation obtenue pour la bonnehypothèsede clef (ici 0xFE) à la sortie du SUBBYTES. 0,78 - Max de corrélation obtenue pour la bonnehypothèsede clef (ici 0xFE) à la sortie du SUBBYTES. Facteurde corrélation Facteurde corrélation 0,00 Pour 256 courbes Temps 0,00 Pour 400courbes Temps 27
Comparaison entre les deux méthodes La technique d attaque dans le domaine fréquentiel : premier post-traitement est obligatoire. Efficace pour résoudre le problème du mis-alignement. Mais pas tout le temps. Le calcul de la DSP des courbes EM (pour plus de 2MS/courbe) exige une machine de calcul avec une importante mémoire RAM. Comme la DSP est symétrique on peut effectuer la cryptanalyse CEMA sur la moitié des fréquences (nfft/2). Temps de calcul est très lent (au moins 1000 courbes pour obtenir la clé) calcul de la DSP de chaque courbe, l analyse CEMA est effectuée sur la moitié des fréquences de la courbe (soit un peu moins de 1M de fréquences) 28
Comparaison entre les deux méthodes La technique d attaque par identification de la SUBBYTES sur les courbes EM : permet de trier entre «bonnes» et «mauvaises» courbes. d identifier l instant où l on va mener l analyse (la signature d une SUBBYTE de 600 échantillons)permet de : Réduire le nombre de courbes (Clé secrète obtenue à partir de 256 courbes ) Réduire le nombre d échantillons à analyser d un facteur 3000 (600S au lieu de 2MS) Réduire considérablement le temps de calcul quel que soit le téléphone mobile, la signature EM du bytecode dépend peu des données??(en cours) 29
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 30
Attaque EMA d un AES de BouncyCastle sur téléphone mobile (1/5): Objectif BouncyCastle :est une bibliothèque de cryptographie libre et open-source. Elle s'apparente à la librairie C opensslqui est conforme aux différents standards en vigueur. Objectif: réalisation d une attaque EMA sur AES proposé dans cette bibliothèque implémentée sur une plate forme J2ME. 1 2 3 4 5 6 31
Attaque EMA d un AES de BouncyCastle sur téléphone mobile (2/5): Courbes EM private final void encryptblock(int[][] KW) { intr, r0, r1, r2, r3; C0 ^= KW[0][0]; C1 ^= KW[0][1]; C2 ^= KW[0][2]; C3 ^= KW[0][3]; r = 1; while(r < ROUNDS -1) { r0 = T0[C0 & 255] ^ T1[(C1 >> 8) & 255] ^ T2[(C2 >> 16) & 255] ^ T3[(C3 >> 24) & 255] ^ KW[r][0]; r1 = T0[C1 & 255] ^ T1[(C2 >> 8) & 255] ^ T2[(C3 >> 16) & 255] ^ T3[(C0 >> 24) & 255] ^ KW[r][1]; r2 = T0[C2 & 255] ^ T1[(C3 >> 8) & 255] ^ T2[(C0 >> 16) & 255] ^ T3[(C1 >> 24) & 255] ^ KW[r][2]; r3 = T0[C3 & 255] ^ T1[(C0 >> 8) & 255] ^ T2[(C1 >> 16) & 255] ^ T3[(C2 >> 24) & 255] ^ KW[r++][3]; 1 2 345678910 C0 = T0[r0 & 255] ^ T1[(r1 >> 8) & 255] ^ T2[(r2 >> 16) & 255] ^ T3[(r3 >> 24) & 255] ^ KW[r][0]; C1 = T0[r1 & 255] ^ T1[(r2 >> 8) & 255] ^ T2[(r3 >> 16) & 255] ^ T3[(r0 >> 24) & 255] ^ KW[r][1]; C2 = T0[r2 & 255] ^ T1[(r3 >> 8) & 255] ^ T2[(r0 >> 16) & 255] ^ T3[(r1 >> 24) & 255] ^ KW[r][2]; C3 = T0[r3 & 255] ^ T1[(r0 >> 8) & 255] ^ T2[(r1 >> 16) & 255] ^ T3[(r2 >> 24) & 255] ^ KW[r++][3]; } Ronde 9 Ronde 10 32
Attaque EMA d un AES de Bouncy Castle sur téléphone mobile (3/5): Méthodologie Constat : le processeur du téléphone est un 32 bits Le chiffrement de l AES se fait 4 octets par 4 octets. SUBBYTE est implémenté comme une LUT 2 8 x32 toutes les LUT (de la même dimension), ont à 80% la même signature EM. Technique : 1- implémenter notre propre AES logiciel (en Java). 2- identifier la signature EM d un SUBBYTE. On obtient ainsi la signature EM caractéristique de l opération SUBBYTE. 3- identifier cette signature sur les courbes EM issues de l AES de Bouncy Castle. 4- Réaliser l attaque CEMA (Correlation ElectroMagnetic Analysis) Courbe 1 Courbe 2 1-Signature EM de notre implémentation de la SUBBYTE Courbe n 3-Région à analyser 2-Identifier la Signature EM de la SUBBYTE de l AES BC 33
Attaque EMA d un AES de Bouncy Castle sur téléphone mobile 4/5: Résultats Résultats :la technique permet de retrouver la clé secrète à partir de 250 courbes de mesures électromagnétiques. 0,85 - Max de corrélationobtenuepour la bonnehypothèsede clef (ici 0x2B) à la sortie du SUBBYTES. Facteur de corrélation 0,00 Temps 34
Attaque EMA d un AES de Bouncy Castle sur téléphone mobile (5/5): Optimisation du temps d exécution Optimisation du temps d exécution de l attaque sur BC (2000 courbes): Sur Matlab(PC : Xeon(2.67Ghz), RAM 12Go) Reconnaissance de SUBBYTE 27h ~mn CPA 10 minutes ( 28h) En C sans parallélisme (PC : Xeon(2.67Ghz), RAM 12Go) Reconnaissance de SUBBYTE 4h CPA secondes ( 4h ~ sec) En C avec parallélisme (PC: Xeon(2.67Ghz), RAM 12Go) Reconnaissance de SUBBYTE 1h10 CPA secondes ( 1h10 ~ sec) 35
Agenda Introduction Motivations Projet TISPHANIE Objectifs Attaques par canaux cachés DPA, EMA Principe d une attaque DPA DPA-Corrélation, CEMA en pratique Attaque EMA d un AES J2ME sur téléphone mobile Montage expérimental Problèmes liés à la JVM Présentation de deux techniques d attaque EMA sur mobile Comparaison des deux techniques Attaque EMA d un AES de BouncyCastle sur téléphone mobile Conclusion 36
Conclusion & travaux futurs Conclusion Une attaque EMA d un AES logiciel exécuté sur un téléphone mobile est possible : la méthodologie d attaque dans le domaine fréquentiel la méthodologie d attaque dans le domaine temporel L attaque EMA est efficace sur l AES 128 bits proposé dans la bibliothèque Bouncy Castle: reconnaissance de l opération SUBBYTE bouncycastle grâce à notre propre implémentation de l AES 128-bits.! Le Besoin de renforcer la sécurité sur ces dispositifs mobiles 37
Conclusion & travaux futurs Travaux futurs Attaque EMA de notre AES logiciel implémenté sur Android G2 Attaque EMA de l AES proposé dans la bibliothèque de BouncyCastle qui est proposée d origine sur Android G2. Adapter les contremesures existantes pour mieux sécuriser l AES sur téléphone mobile. 38
Remerciements Le laboratoire de caractérisation sécuritaire Micro-Packs : Anne-Lise RIBOTTA Loïc LAURO Le comité de pilotage TISPHANIE (Pôle «SYSTEMATIC PARIS REGION», FUI-DGSIS) CEA-LETI : Sylvain Bouquet, Jacques FOURNIER, Michel AGOYAN & Bruno ROBISSON EMSE : Serge SEYROLES 39
aboulkassimi@emse.fr Merci de votre attention