La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Slide 1 Développement dune architecture de test dédiée aux puces cryptographiques Présenté par Amine Miled Mohamed Rouatbi Projet du cours Tests des systèmes.

Présentations similaires


Présentation au sujet: "Slide 1 Développement dune architecture de test dédiée aux puces cryptographiques Présenté par Amine Miled Mohamed Rouatbi Projet du cours Tests des systèmes."— Transcription de la présentation:

1 Slide 1 Développement dune architecture de test dédiée aux puces cryptographiques Présenté par Amine Miled Mohamed Rouatbi Projet du cours Tests des systèmes électroniques Mardi,12 Novembre 2006

2 Slide 2 Introduction Introduction But du projet But du projet Présentation de lalgorithme FROGBIT Présentation de lalgorithme FROGBIT Objectif du projet Objectif du projet Solution proposée Solution proposée Plan

3 Slide 3 Introduction: Cryptographie principes généraux Importance de la cryptographie Importance de la cryptographie – Échanges des données confidentielles et sensibles Rôle du système cryptographique[3] Rôle du système cryptographique[3] –Confidentialité –Intégrité –Authentification –Non répudiation Types de chiffrement Types de chiffrement –Symétrique Kc=Kd –Non symétrique Kc /= Kd –Par bloc –Par flux « stream » Chiffrement dun flux de données bit par bitChiffrement dun flux de données bit par bit Utilisation dun flux de clefsUtilisation dun flux de clefs ChaînageChaînage + Reg E(Mi,Ki) Mi Ci + Reg D(Ci,Ki) Mi Ci

4 Slide 4 Introduction Besoin dune puce cryptographique Besoin dune puce cryptographique –Augmentation exponentielle du volume des données –Accélération de la vitesse de transfert Ligne 1 GigBitLigne 1 GigBit Fibre optiqueFibre optique –Minimisation de la taille tout en augmentant la vitesse Pour certains algorithmesPour certains algorithmes Taille < Taille ( cpu + mémoire)Taille < Taille ( cpu + mémoire) Plus rapide: parallélismePlus rapide: parallélisme Importance de la fiabilité de la puce Importance de la fiabilité de la puce –Nécessité dune architecture de test intégré et mutuel –Vérification de la connectivité AC: 3265 NIP: saveMyCash OP: add 20$ $%FFG%?FG AC: 3265 NIP: saveMyCash OP: add 20$ E(M,K)D(C,K)

5 Slide 5 But du projet Développement dun système de: Développement dun système de: –Vérification du bon fonctionnement des puces cryptographiques –Vérification de lintégrité du lien –Synchronisation des états initiaux (très important) –Vérification de lintégrité des données transmises Initialisation Intégrité des données

6 Slide 6 2.FROGBIT : aperçue

7 Slide 7 FROGBIT Cest un algorithme de chiffrement de flux symétrique Cest un algorithme de chiffrement de flux symétrique Principales fonctionnalités Principales fonctionnalités –Intégrité des données Un changement dun seul bit transmis => Changement de tout le reste du messageUn changement dun seul bit transmis => Changement de tout le reste du message –Confidentialité Permet le chiffrage en utilisant deux flux de clef Ki1, Ki2Permet le chiffrage en utilisant deux flux de clef Ki1, Ki2 Il combine deux techniques de cryptographie classiques Il combine deux techniques de cryptographie classiques –Permutation –Substitution

8 Slide 8 FROGBIT Architecture Limplémentation Hardware de FROBIT est composé de 4 entités Limplémentation Hardware de FROBIT est composé de 4 entités –RLE_Ecrypt «Run Length Encoding » Cryptage des donnéesCryptage des données Génération dune chaîne de dépendance interne SiGénération dune chaîne de dépendance interne Si Calcule de la redondance dans SiCalcule de la redondance dans Si –Nombre de répétition de la même valeur 1 ou 0 »Inspiré du domaine de compression de donnée –Draw Construit un chiffre pseudo aléatoire entre 0-9 à partir deConstruit un chiffre pseudo aléatoire entre 0-9 à partir de –K1i, k2i, Si –Algo_SELECT Permet de générer sous certaines conditions un nombre aléatoirePermet de générer sous certaines conditions un nombre aléatoire entre –Contient 40 registres pour sauver les indexes de permutations –Key_generator Contient 10 LFSRs qui servent à la génération des chaînes de clefsContient 10 LFSRs qui servent à la génération des chaînes de clefs Ki1, Ki2.

9 Slide 9 FROGBIT digramme global

10 Slide 10 FROGBIT initialisation et test Lacune de la version précédente de FROGBIT: Lacune de la version précédente de FROGBIT: –Pas de mécanisme dinitialisation des registres internes –Après le reset létat initial est sauvegardé physiquement Lajout de tel mécanisme permettrait :Lajout de tel mécanisme permettrait : –Augmentation de lespace des clefs »Les états initiaux font partir de la clé –Pas de méthode de self test –Pas de test sur le bon fonctionnement de la puce distante. Permet dannuler la transaction dés le débutPermet dannuler la transaction dés le début –Pas de méthode de test dintégrité du lien Vérification de lintégrité physique du lienVérification de lintégrité physique du lien Vérification de lexistence dun agent tierce qui altère les donnéesVérification de lexistence dun agent tierce qui altère les données –Pas de mécanisme de vérification de signatures pour assurer lintégrité des données après le transfert

11 Slide 11 Conflit Testabilité confidentialité NIST: National Institute of Standards and Technology NIST: National Institute of Standards and Technology FIPS : Federal Information Processing Standards FIPS : Federal Information Processing Standards Les exigences de sécurité : Les exigences de sécurité : –FIPS 140-2: security requirement for cryptographic Modules [4] –Aucun accès est possible : Au flux partiellement cryptéAu flux partiellement crypté A La clef cryptographiqueA La clef cryptographique –Une faute doit être rapidement détectée DFT : Contrôlabilité, Observabilité !! DFT : Contrôlabilité, Observabilité !! JTAG, Chaine de scan == possibilité de dévoiler [1] JTAG, Chaine de scan == possibilité de dévoiler [1] –Les clefs en utilisant Scan Based Side Channel Attack –Même si les clefs sont dans des registres non scannables BIST très approprié [2] BIST très approprié [2] –Permet la génération des vecteurs et lanalyse des résultat de lintérieur du module cryptographique.

12 Slide 12 BIST Modes Opérationnel Mode Offline : Mode Offline : –Génération pseudo-aléatoirement: clef + donné –Commence toujours par une mise à zéro de tous les registres Sinon Possibilité danalyser des valeurs dans les registres depuis la dernière mise en marche.Sinon Possibilité danalyser des valeurs dans les registres depuis la dernière mise en marche. LFSR à longueur ajustable LFSR à longueur ajustable –Test des petites modules requière moins de vecteurs que les grand modules. –Solution utilisation dun grand LFSR primitive avec des point de rupture. Exécution de lalgorithme Exécution de lalgorithme Comparaison des résultats Comparaison des résultats –Comparaison de signature grâce à un LFSR à la sortie Surface additionnelle 19.5 % Surface additionnelle 19.5 %

13 Slide 13 Test OffLine Frogbit LFSR_K_MLFSR_sign Demux Mi Si Ci Sel Gen_Mi Gen_Ki Signature

14 Slide 14 LFSR Reconfigurable C1 Cut_x Cn

15 Slide 15 Module Key_generator Module Key_generator LFSR 1 LFSR 2 LFSR 10 Test_modeSI D_prime (3:0) Stream_id (1:0) Algo_select Sorties SI Reg_low Test_mode Initialisation des LFSR Test_mode = 0 => LFSR mode scan Test_mode = 1 => LFSR mode normal Key_generator So

16 Slide 16 Problèmes de testabilité LFSR1 LFSR2 LFSR3 LFSR10 LFSR9 Key_generator Si So_to_cntr - Test integrite de registres

17 Slide 17 Test de tous les générateurs LFSR1 LFSR2 LFSR3 LFSR10 LFSR9 Key_generator Di_prime 4 4 VDD enable K1i K2i

18 Slide 18 BIST Opérationnel Mode Online/Concurrentiel: Mode Online/Concurrentiel: –Détection des défauts pendant le fonctionnement normal. –Redondance : multiplication de certain modules –Vérification concurrente et validation des sorties de chaque module par le contrôleur du BIST Dépassement des valeurs limitesDépassement des valeurs limites Incohérence lié à lalgorithmeIncohérence lié à lalgorithme –Coût 86 % plus de surface

19 Slide 19 Système de vérification du bon fonctionnement de la puce et de la connectivité Système de vérification du bon fonctionnement de la puce et de la connectivité Principe dinteropérabilité Développement dun système dinitialisation de tous les registres et des LFSR Puce 1 Puce 2 Signature 1 Signature 2 Clef Comparateur

20 Slide 20 Solution proposée Vérification des signatures BILBO (Mode LFSR/MISR) Vérification des signatures BILBO (Mode LFSR/MISR) ** Connectivité ? ** Fonctionnement des puces ? Vérification de lintégrité des données. Initialisation à travers le LFSR et le BILBO (mode Scan) LFSR Module 1 BILBO Module 2 BILBO Signature Puce mode récepteur

21 Slide 21 Connection entre Key_generator et RLE_Encryption Connection entre Key_generator et RLE_Encryption Test_mode RLE_EncryptionKey_generator C1_1, C2_1 MISR_key_genarator MISR_RLE_Encryption SiSo Q(5:0) Q(9:0) Sortie C1_2, C2_2

22 Slide 22 MISR MISR Polynome caractéristique + SI C1 C2 P(X)=1+X+X 7 SI C1 C2 P(X)=1+X 3 +X 10 + MISR 2 et 3 MISR 1 et 4 Polynome caractéristique

23 Slide 23 Test_mode RLE_EncryptionKey_generator Architecture globale Architecture globale Test_mode SI C1_1, C2_1 C1_2, C2_2 C1_3, C2_3 C1_4, C2_4 So Q_1(5:0) Q_2(9:0) Q_3(9:0) Q_4(5:0) Algo_selectdraw

24 Slide 24 Localisation des fautes Comment localiser le module fautif sans divulgué des donnés sensibles: Comment localiser le module fautif sans divulgué des donnés sensibles: – Ajout de quatre sorties pour identifier le module fautif: 0000 : aucun module fautif0000 : aucun module fautif 0001 : module 1 fautif0001 : module 1 fautif FROGBIT BIST_CNTR e1 e2 e3 e4 Off_line_bist_done Mi Next_bit Si Ci Crypt_done So

25 Slide 25 Controleur Test_mode RLE_EncryptionKey_generator Architecture globale avec controleur Architecture globale avec controleur Test_mode Algo_selectdraw Test_mode SI C1_1, C2_1 C1_2, C2_2 C1_3, C2_3 C1_4, C2_4 So

26 Slide 26 RLE_EncryptionKey_generator Algo_select draw Controleur Test_mode SI C1_1, C2_1 C1_2, C2_2 C1_3, C2_3 C1_4, C2_4 So Récapitulation Récapitulation

27 Slide 27 LFSR LFSR Module 1 Module 1 BILB O BILB O Module 2 Module 2 BILB O BILB O Signatu re Signatu re Puce mode récepteur Puce mode récepteur Solution finale Solution finale

28 Slide 28 Caractéristiques Nombre de registres ajoutés: 34 Nombre de registres ajoutés: 34 Nombre de MISR ajoutés : 4 Nombre de MISR ajoutés : 4 Nombre de mux ajoutés : 5, indépendemment de leur taille Nombre de mux ajoutés : 5, indépendemment de leur taille

29 Slide 29 Lacunes Vecteurs de testes bien déterminer pour passer a travers les 10 LFSRs Vecteurs de testes bien déterminer pour passer a travers les 10 LFSRs Un checkBoard Test pour la RAM de 3 * 256 bits. Un checkBoard Test pour la RAM de 3 * 256 bits. Un test pour la ROM Un test pour la ROM Rajout de la logique pour les valeurs limite Rajout de la logique pour les valeurs limite –Par exemple: Di > 9 Il y pas moins de savoir le/les vecteur(s) de teste qui détecte(nt) une faute quelconque dans un module quelconque Il y pas moins de savoir le/les vecteur(s) de teste qui détecte(nt) une faute quelconque dans un module quelconque Pas de mécanisme pour se prémunir des attaques de type : Pas de mécanisme pour se prémunir des attaques de type : –Analyse différentielle de consommation de puissance [11] –Probing attack: surtout un niveau des LFSRs Utilisation dune chaine de scan avec un Scrambler [5] Utilisation dune chaine de scan avec un Scrambler [5] –Crypter/Permuter les bits en sortie de la chaine de scan –Utilisation dune fonction de hachage à sens unique

30 Slide 30 Conclusion Notre objectif est de: Développer cette architecture de test non seulement de la puce mais du système émission/réception. Développer cette architecture de test non seulement de la puce mais du système émission/réception. Revoire les caractéristiques du circuits: Principalement la surface et la fréquence, et voire limpact de larchitecture de test sur ces derniers. Revoire les caractéristiques du circuits: Principalement la surface et la fréquence, et voire limpact de larchitecture de test sur ces derniers.

31 Slide 31 Références [1] Bo Yang, Kaijie Wu et RAmesh Karri, Scan Based Side Channel Attack on Data Encryption Standard 2004 [2] R. Zimmermann, A. Curiger, H. Bonnenberg, H. Kaeslin, N. Felber et W.Fichtner, A 177 Mbit/s VLSI Implementation of the International Data Encryption Algorithm 1993 [3] Wenbo Mao, Modern Cryptography Theory and Practice, Publishing Partener HP 2003 [4] U.S Department Of Commerce/ National Institute of Standards and Technology, Federal Information Processing Standards Publication 11 Janvier 1994 [5] David Hely, Marie-Lise Flottes, Frédéric Bacel, Bruno Rouzeyre, Nicolos Bérard et Michel Renovell, Scan Design and Secure Chip 2002 [6] E. Biham et A. Shamir, Differential Fault Analysis of Secret Key Cryptosystems, CRYPTO 97 pp , 1997 [7] D. Boneh, R. DeMillo et R. Lipton, On the importance of checking cryptographic protocols for faults [8] D. Mueller, United states Patent : Method of protecting a circuit arrangement for processing data 2002 [9] E. Hess, N. Janssen, B. Meyer et T. Schutze, Information Leakage Attacks Against Smartcard Implementations of Cryptographic Algorithms and Countermeasure: Survey Eurosmart Conference pp pp [10] Michael L. Bushnell et Vishwani D. Agrawal, Essentials Of Electronics Testing For digital Memory and Mixed-Signal VLSI circuits, Bishop 2000 [11] P. Kocher, J. Jaffe, B. Jun, Differential Power Analysis Advances in croptology CRYPTO99


Télécharger ppt "Slide 1 Développement dune architecture de test dédiée aux puces cryptographiques Présenté par Amine Miled Mohamed Rouatbi Projet du cours Tests des systèmes."

Présentations similaires


Annonces Google