ATTAQUES PAR CANAUX CACHÉS SIDE-CHANNEL ATTACKS

Slides:



Advertisements
Présentations similaires
Puissance et NSN.
Advertisements

Cliquez et modifiez le titre Cliquez pour modifier les styles du texte du masque Deuxième niveau Troisième niveau Quatrième niveau Cinquième niveau 23/01/2014©
Unité #3 Analyse numérique matricielle Giansalvo EXIN Cirrincione.
I. 3 Cryptages composés.
INFOR 101 Chapitre 3 Marianne Morris.
CryptoGraphy
IFT313 Introduction aux langages formels
Présentation de la différence entre apprentissage individuel et collectif (Nick Vriend) (publié au JEDC, 2000)
Échantillonnage de l'eau et des facteurs connexes pour mesurer les caractéristiques physiques, chimiques et microbiologiques de l'eau de surface et des.
Les Algorithmes Cryptographiques Symétriques
Broadcast Attacks against Code-Based Schemes
PURCHASING PHASE REVIEW Cornerstones of Purchase baseline
Laboratoire de Bioinformatique des Génomes et des Réseaux Université Libre de Bruxelles, Belgique Introduction Statistics.
1 Performance Evaluation Jean-Yves Le Boudec
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
3.3 Circuits logiques à mémoire Bascules (latches)
Programmation linéaire en nombres entiers : les méthodes de troncature
Cryptographie - 2.
Spécification d’un modèle de protocole : Promela
Information Theory and Radar Waveform Design Mark R. bell September 1993 Sofia FENNI.
Le chiffrement symétrique
INF3500 : Conception et implémentation de systèmes numériques Pierre Langlois Entrées et sorties par.
GESTION ET TRAITEMENT DES ERREURS
UEO 3: Langue des affaires Semestre 6 Mme. Mountain.
Laboratoire des outils informatiques pour la conception et la production en mécanique (LICP) ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE 1 Petri nets for.
Synthèse et implémentation d’un circuit combinatoire
Pr BELKHIR Abdelkader USTHB
Calcul CMS: bilan 2008 C. Charlot / LLR LCG-DIR mars 2009.
Définition de file En informatique, on définit une file comme étant une structure de données où l’on peut insérer et extraire en fonctionnant selon le.
1 INFOR 101 Chapitre 4 Marianne Morris. 2 Révision de chapitre 3 Algorithmes Sequential Search Selection Sort Binary Search Ordre de magnitude  (n) Mesurer.
Objectif: Comment employer un exposant?. Objective: How to use an exponent?
Effets sur la santé des champs électromagnétiques basse fréquence
The Millau Viaduct Paris - Barcelona.
ÉCOLE POLYTECHNIQUE CONCOURS 2010 Workshop NSERC scholarship application 23 avril 2015 École Polytechnique.
Mai 2005 Ghislain Fraidy Bouesse TIMA-CNRS-INPG-UJF 46 Av. Félix Viallet Grenoble Cedex France CIS group "Concurrent Integrated Systems" Les Circuits.
Les verbes réfléchis au passé composé
Gains from trade Principle # 5: Trades improve the well-being of all.
Lucia - LAPP Phi* meeting - 3 novembre Correcting back to the electrons after FSR So far C Z defined w.r.t. electrons before FSR Z status = 3 and.
Alberto Bosio Chapitre 5 ATPG Alberto Bosio 1.
Number Sense!!! Real Numbers!. All numbers can be classified into two groups: Real Numbers – All the numbers you can think of in your head! Imaginary.
PC. 1. Lisez ce texte. 1. Lisez ce texte. 2. Faites un deuxième exemplaire du texte en dessous. 2. Faites un deuxième exemplaire du texte en dessous.
Université d’Ottawa - Bio Biostatistiques appliquées © Antoine Morin et Scott Findlay :05 Asymétrie fluctuante.
Architectures reconfigurables et cryptographie :
Scan-Chain Attack.
Les attaques Physical Attacks : Principles Courtesy E. Oswald, Univ Bristol a q I(R) Physical Attacks : Principles.
African Centre for Statistics United Nations Economic Commission for Africa Session : Etapes de mise en oeuvre du SCN 2008 Milestones for implementation.
Réalisation d’un logiciel de Chiffrement RSA.
University of Ottawa - Bio 4118 – Applied Biostatistics © Antoine Morin and Scott Findlay 24/07/2015 2:29 PM Bootstrap et permutations.
Chap.III Systèmes Cryptographiques Symétriques (à clé secrète)
ASPIC Front-end CCD Readout Circuit For LSST camera
Problématique « utilisation » Fonctionnalités Performance Consommation Fiabilité Prix du produit Sept ,000.
Overview %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%%%%%% %%%%%%%
What’s the weather like?. Look at the verb phrase fait-il above Turn it around and you have il fait The phrase Il fait can be used to describe lots of.
U NITE 7A: E CHAUFFEMENT 1 L E PREMIER OCTOBRE Le mot juste Fill in each blank with an appropriate vocabulary word. 1. M. Tremaine doit ( must ) avoir.
Clique Percolation Method (CPM)
Calcul de puissance en IRMf Réunion 2 CNF 2015/2016.
Effet ZENON quantique Présentation de l’expérience de l’ENS Electrodynamique quantique en cavité micro-onde 1 - But de l’expérience 2 - Présentation du.
1 Status de l’étude de mesure d’impulsion par MCS Application aux ‘softs’ muons D. Duchesneau Situation actuelle: algorithme de base et vérification avec.
1 Linear Prediction. 2 Linear Prediction (Introduction) : The object of linear prediction is to estimate the output sequence from a linear combination.
The imparfait can be translated several ways into English.
Spectroscopy  Probe structure and dynamics of matter through its interaction with waves (usually electromagnetic) incoming radiation matteroutcoming radiation.
An Introduction To Two – Port Networks The University of Tennessee Electrical and Computer Engineering Knoxville, TN wlg.
Electronic Instrumentation Lecturer Touseef Yaqoob1 Sensors and Instrumentation Sensors and Instrumentation.
 Components have ratings  Ratings can be Voltage, Current or Power (Volts, Amps or Watts  If a Current of Power rating is exceeded the component overheats.
IP Multicast Text available on
Quantum Computer A New Era of Future Computing Ahmed WAFDI ??????
Phase-Locked Loop Design S emiconducto r S imulation L aboratory Phase-locked loops: Building blocks in receivers and other communication electronics Main.
1. Financial (Accounting) Statements  Financial or Accounting statements are used for reporting corporate activity. 2 For Stakeholders.
Roots of a Polynomial: Root of a polynomial is the value of the independent variable at which the polynomial intersects the horizontal axis (the function.
What’s the weather like?
Transcription de la présentation:

ATTAQUES PAR CANAUX CACHÉS SIDE-CHANNEL ATTACKS

CIRCUIT : Cryptographic Side-Channel Analysis Power Consumption EM Emissions 0110 1001 1011 0010 1110 1001 1011 0110 0010 1110 CIRCUIT : Cryptographic Algorithm Input Output Timing Sound Heat

Side-Channel Attacks Basées sur l'information récupérée sur l'implantation physique du crypto-système Information temporelle Consommation électrique Emanation électromagnétique Son Lumière … Brute Force Side Channel

Exemple 1 : Attaques par analyse de courant La consommation du circuit est liée aux données. temps conso SPA : Simple Power analysis Attack DPA : Differential Power Analysis

Lab Set Up pour Analyse de Courant                                                                                                               Lab Set Up pour Analyse de Courant Can sample voltage differences at around 1GHz with less than 1% error. It also transfers Data to a PC. Cost around $400. Courtesy: Side-Channel Analysis Lab,

Simple Power Analysis (SPA) Interprétation directe de la consommation du circuit Vise les opérations effectuées et la clef! Trace: courbe temporelle du courant Une opération à 1ms échantillonnée à 5MHz donne une trace avec 5000 points

Traces de courant du DES 16 Rondes du DES facilement observées

Consommation en CMOS Vdd Idd IN OUT (a) Switching + Through current (b) (a) Switching + Through current (b) Through current C Current that flows from Vdd to GND when the p-channel transistor and n-channel transistor turn on briefly at the same time during the logic transition

SPA sur porte XOR OUT Idd = 0 Vdd Din OUT Idd = 1 Din = 0 = 1

SPA sur RSA Input: X, N, K=(kj-1, …, k1, k0)2 Output: Z = XK mod N 2: for i=j-1 downto 0 { 3: Z = Z * Z mod N //Square 4: if (ki==1) Z = Z * X mod N //Multiply 5: } 6: return(Z);

Contre-mesure sur RSA Faire en sorte que la consommation soit constante. Introduire des opérations factices. Input: X, N, K=(kj-1, …, k1, k0)2 Output: Z = XK mod N 1: Z = 1; 2: for i=j-1 downto 0 { 3: Z = Z * Z mod N //Square 4: if (ki==1) Z = Z * X mod N //Multiply 5: else U = Z * X mod N 6 : } 6: return(Z);

Differential Power Analysis (DPA)

DPA principe Plus puissante et plus difficile à prévenir que la SPA Consommation de puissance différente suivant les états (0 ou 1), ou transitions (0->1 et 1->0) 1/ Phase d'acquisition de courbes (clair aléatoire) 2/ Procédure Hypothèse sur une clef Diviser les courbes en 2 groupes (A et B pour un bit choisi) Calculer la moyenne des courbes de chaque groupe Hypothèse incorrecte : moyennes égales Hypothèse correcte → différence non négligeable

DPA Procedure pour l'AES Faire la mesure de conso de 1000 opérations AES, 100000 pts / courbe, (Ciphertexti, Courbei) Hypothèse sur une clef associée à une S-box à la dernière ronde Calculer le premier bit d'entrée de la S-box pour chaque chiffré en se basant sur l'hypothèse de clef Diviser l'ensemble des mesures en 2 groupes A et B (entrée 0 et entrée 1) Calculer la courbe moyenne de chaque groupe Calculer la différence des 2 courbes Si l'hypothèse est correcte → pics sur la courbe de différences Répéter 2-7 pour les autres bits et autres S-boxes

Exemple de résultat de DPA Consommation de puissance moyenne Courbe différentielle de puissance avec une hypothèse de clef correcte hypothèse de clef incorrecte puissance avec autre

Input patterns Target node, output of a gate within the circuit Sequence of input patterns: P0, P1, …, Pn T1 (P0P1), T2 (P1P2), ..., Tn(Pn-1Pn) Logic simulation to create two sets: (PA) transitions that make the target node to commute from 0 to 1 and therefore that make the target gate to consume (PB) transitions that do not lead the target gate to participate to the power consumed by the circuit

DPA : Principle PA always contains a component of power consumption that is not present in PB  Power(PA) > Power(PB)

DPA: Performing the Attack Target node: output of a gate whose value depends on both the plain text under ciphering (primary inputs) and a small part of the secret key (e.g. 8 bits) Basic idea: All the key guesses For each key guess, creation of the two sets PA and PB Selection of the key value corresponding to the highest value “Power(PA) – Power(PB)”

Inputs: T1, T2, ..., T12 f Key: Kx (8 bits) K1 ... Kx K256 Data Key O = f (Key, Data) Inputs: T1, T2, ..., T12 Key: Kx (8 bits) K1 Kx ... K256 T1 T4 T6 T8 T12 T10 T9 T11 T7 T2 T3 T5 PA) PB) Average PA – PB  0 T4 T6 T8 T12 T10 T9 T11 T7 T3 T5 Average PA) T1 PA – PB = PB) T2 T1 T4 T6 T8 T12 T10 T9 T11 T7 T2 T3 Average T5 PA – PB  0 PA) PB)

Example of result

DPA sur AES : Rappel S S S S S S S S S S S S S S S S R R R R R R R R R x 10 MixColumns MixColumns MixColumns MixColumns R R R R R R R R R R R R R R R R

DPA sur AES : Dernière ronde

DPA sur AES : L'attaque S 10000 messages clairs aléatoires R1 R R'1 K1 Attaque sur 1 bit de R1 R1 ne dépend que d'un octet de K La conso sur R2, ……, R16 se répartit sur PA et PB de façon homogène 256 hypothèses de clef

Results on different SBOX implementations V1 V2 V3 V4

Resultats sur FPGA V1 implemented on FPGA S1 (extracted from simulation) used for real measures

Contre-mesures DPA Masquage des données par une valeur aléatoire Techno duale (doubler les bus, implanter f et f') Désynchronisation (introduire des temps d'attente aléatoires, décalage des courbes) Ajout de bruit etc…..

Contre-mesure DPA par masquage DES Ouex R (Random) Cible DPA R : masque Ajouté en début et en fin de cryptage Plus de corrélation entre la conso et les données traitées Ouex R (Random)

Contre-mesure DPA par masquage DES R : masque Mais toutes les opérations ne sont pas linéaires : DES (M+R) +R ≠ DES (M) Dans le cas du DES : les SBOXs Ouex R (Random) R1 Ouex R (Random)

Principe (C. Giraud) Ou-exclusif entre le message M et le masque R avant la permutation initiale IP. R1 =IP(R) Facile de suivre la propagation du masque lors des parties linéaires. En effet, on obtient avant les boites-S un résultat intermédiaire masqué avec R2 = EP(R132−63) Cependant, il est très compliqué de connaitre la valeur du masque booléen en sortie des parties non linéaires du DES, c.-à-d. en sortie des boites-S. Afin de permettre de maitriser la valeur du masque en sortie de ces parties, on utilise des boites-S modifiées notées boîtes-SM. La méthode dans le cas du DES consiste à rétablir la valeur du masque R1 à la fin de chaque tour. En particulier, la partie droite de la sortie du tour doit avoir un masque correspondant à R132−63. Pour obtenir cela, on définit la boite-SM à partir de la boite S du DES par : SM(A) = S(A ⊕ R2) ⊕ P−1(R10−31 ⊕ R132−63) où P−1 est l’inverse de la permutation P. Il est aussi nécessaire de modifier la partie gauche de l’entrée en appliquant un ou-exclusif avec R3 = R10−31 ⊕ R132−63. Le masque R1 sera donc rétabli à la fin du tour. Après le dernier tour, les deux blocs de 32 bits sont intervertis. Pour des raisons d’efficacité, on applique un ou-exclusif sur ces deux parties avec R3 avant la permutation finale FP. Ceci permet d’obtenir après FP le chiffré attendu masqué avec R.

Création des masques et calcul de la boîte-S modifiée 1. Tirer une valeur aléatoire R de 8 octets 2. R1 ← IP(R) 3. R2 ← EP(R132−63) 4. R3 ← R10−31 ⊕ R132−63 5. Pour k de 1 à 8 faire 6. Pour i de 0 à 63 faire 7. SMk(i) = Sk(i ⊕ R2[6(k−1)]−[6k−1]) ⊕ (P−1(R10−31 ⊕ R132−63))[4(k−1)]−[4k−1] DES sécurisé 8. resultat ← M ⊕ R 9. resultat ← IP(resultat) [resultat = IP(M) ⊕ R1] 10. Pour i de 1 à 16 faire Les 16 rondes du DES 11. temp1 ← resultat32−63 ⊕ R3 [temp1 = Mi ⊕ R10−31] 12. temp2 ← EP(result32−63) [temp2 = EP(Mi−132−63) ⊕ R2] 13. temp2 ← temp2 ⊕ Ki [temp2 = EP(Mi−132−63) ⊕ R2 ⊕ Ki] 14. Pour k de 1 à 8 faire 15. temp2[6(k−1)]−[6k−1] ← SMk(temp2[6(k−1)]−[6k−1]) [temp2 = P−1(OutputSPi ⊕ R10−31 ⊕ R132−63)] 16. resultat32−63 ← P(temp2) [resultat32−63 = OutputSPi ⊕ R10−31 ⊕ R132−63] 17. resultat32−63 ← resultat32−63 ⊕ resultat0−31 [resultat32−63 = Mi32−63 ⊕ R132−63] 18. resultat0−31 ← temp1 [resultat0−31 = Mi0−31 ⊕ R10−31] 19. temp1 ← resultat0−31 ⊕ R3 [temp1 = M160−31 ⊕ R132−63] 20. resultat0−31 ← resultat32−63 ⊕ R3 [resultat0−31 = M1632−63 ⊕ R10−31] 21. resultat32−63 ← temp1 [resultat32−63 = M160−31 ⊕ R132−63] 22. resultat ← FP(resultat) [resultat = C ⊕ R] 23. resultat ← resultat ⊕ R [resultat = C] 24. Retourner resultat

2/ Attaques en Emission de lumière Optical detector system Coût : 2M€ !

How? : Dynamic light emission detection (PICA) AES state 16 bytes 16 bytes PIC Internal RAM (20x; silicon thickness 40 µm) Monitor the changes on the bytes in State block during AES encryptions. 250 µm How? : Dynamic light emission detection (PICA) Theory : byte flips => light is emitted byte stays => just noise 33

“xor 0xFF” “xor 0xAA” “xor 0x55” “xor 0x00” F A F A 5 5 34