O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Processeur cryptographique

661 visualizações

Publicada em

attaques et principes de sécurité physique

Publicada em: Engenharia
  • Seja o primeiro a comentar

Processeur cryptographique

  1. 1. Mouheb SAADI & Raoudha MABROUKI Année Universitaire 2015/2016 Spécialité : II Transaction Électronique Présentation sujet
  2. 2. P l a n  Introduction  Attaques physique  Reverse engineering  Injection de fautes  Side Channel Attack  Espionnage par micro-sonde Micro probing  Espionnage de bus de communication  Physical Tamper Resistance  Architecture d’une Carte à Puce  Processeur Cryptographique  Architecture du Processeur Cryptographique  Fonctionnement du Processeur  Type de Processeur Cryptographique  Protection d’un Processeur  Trust Plateforme Module  Conclusion
  3. 3. Introduction (1/2) 3 Attaques possibles sur chaque élément Logiciel Réseau Matériel  Calcul : micro-controller, micro-processor, SoC  Stockage : ROM, RAM  Communication : bus, I/O,UART, I2C, Wifi, JTAG avoir un accès (physique ou à distance) à ces composants Visent
  4. 4. • Ces attaques sont possibles non pas à cause de problèmes dans l’algorithme de cryptographie lui même mais à cause des propriétés de son support d’exécution (processeur, ASIC dédié, FPGA...) • Développement trop rapide • Implémentation partielle de certains protocoles • Utilisation d’algorithmes moins robustes à cause des contraintes de taille, de performance (y compris l’aspect temps réel), 4 Introduction (2/2)
  5. 5. Exemple des matériels vulnérables • Carte bancaire qui contient des secrets de la banque émettrice, • Carte SIM qui contient des secrets de l’opérateur, • Set-top box qui contient des secrets liés à la gestion des droits (DRM) 5
  6. 6. Exigences d’une Attaque Physique • Connection ou signaux, fils … • Equipment, outils, compétences, • Connaissances • Matériel, Algorithmes cryptographiques, Analyse des données. 6 1- Interaction : l’attaquant étudie les caractéristiques du dispositif 2- Exploitation: analyser les informations et documentation trouver sur le dispositif
  7. 7. 7 Categories Invasive attacks reversible irreversible Non-invasive attacks Passive active Semi-invasive attacks Classification des Attaques Physique • Les attaques invasives qui nécessitent de manipuler physiquement la puce et qui peuvent conduire à sa destruction. • Les attaques semi-invasives qui agissent physiquement sur la puce sans pour autant aller jusqu’à sa détérioration. • Les attaques non-invasives qui consistent à étudier les signaux compromettant émis par la puce sans la modifier.
  8. 8. Types d’Attaques physique Rétro-conception de composant / reverse engineering Injection de fautes Analyses des canaux auxiliaires (Side-Channel Analysis) Attaque par sonde Micro-probing Espionnage des bus (mémoire, bus interne...) 8
  9. 9. Reverse engineering Attack (1/3) • Attaque intrusive • Objectif : Obtenir le schéma du composant pour, • Comprendre un algorithme secret implémenté en matériel • Lire le contenu d’une ROM interne • Ou la contrefaçon 9
  10. 10. Reverse engineering Attack (2/3) Example : MIFARE’s CRYPTO1 • Carte sans-contact (RFID) contenant de la mémoire non volatile et un algorithme d’authentification secret (Crypto-1) pour en protéger l’accès. • Méthode • Découpage du circuit en fines tranches • Photographie de chacune des tranches • Reconstruction du schéma 10
  11. 11. Reverse engineering Attack (3/3) 11 Example : MIFARE’s CRYPTO1
  12. 12. Injection de fautes • Attaque non intrusive ou intrusive en fonction des cas; • Objectif : Perturber le bon fonctionnement du système pour lui faire commettre des erreurs • Conséquences : Désactivation de protection (ex. vérification d’un code PIN) • Obtention d’informations secrètes : ex. récupération d’une clé secrète RSA en injectant une faute , • Méthodes très variées • Variations de la tension d’alimentation, • de l’horloge, de la température de fonctionnement du circuit • (pour obtenir une violation d’un chemin critique du circuit ou une erreur d’écriture en mémoire) • Bombardement du circuit avec des particules énergétiques (flash de lumière, laser, particules radioactives ou ) 12
  13. 13. Side Channel Attack (1/7) • Attaque non intrusive • Objectif : Obtenir des informations sur les données • manipulées par un circuit (vise la propriété de confidentialité) • Exemple : Trouver une clé secrète embarquée dans un composant cryptographique (carte à puce, ASIC, FPGA...) • Méthode : Observer les canaux auxiliaires (ex. consommation d’un circuit, temps nécessaire pour effectuer le calcul, rayonnement électromagnétique émis, etc.) du composant dont l’activité peut être corrélée aux données sensibles manipulées 13
  14. 14. Side Channel Attack (2/7) Timing attacks Power analysis Simple Power Analysis SPA Differential fault analysis DPA, Complex Power Analysis CPA 14
  15. 15. Side Channel Attack (3/7) Power Analysis • Consommation dynamique principalement liée au chargement des capacités en sortie et des capacités parasites. • Donc la consommation d’un circuit est liée au nombre de portes changeant d’état. • Transistors émettent des photons quand ils changent d’états 15
  16. 16. Side Channel Attack (4/7) Power Analysis • Simple Power Analysis (SPA) • L'attaquant observe la consommation d'énergie • Varie selon l’opération du microprocesseur • Facilite l'identification des fonctions intensives ( ex.: cryptographic) • Differential Power Analysis (DPA) • Utilisation des méthodes avancés mathématiques pour déterminer l'information secrète sur un appareil, 16
  17. 17. Side Channel Attack (5/7) Simple Power Analysis • Technique d'attaque physique consistant a extraire de l'information secrète a partir de la mesure et de l'analyse du courant consommé lors de l’exécution d'un calcul cryptographique. 17
  18. 18. Side Channel Attack (6/7) Differential Power Analysis • Technique d'attaque physique consistant a mettre en évidence une Différence de consommation moyenne, • en fonction de la valeur d'un bit d'une donnée manipulée. 18
  19. 19. Side Channel Attack (7/7) Analyse de Consommation CMOS • La consommation globale d’un circuit CMOS est principalement liée aux commutations des portes logiques. • Donc en observant la consommation d’un circuit, on peut en déduire son activité, • Or, le nombre de portes logiques qui changent d’état est lié aux opérations effectuées ainsi qu’aux données manipulées • Donc en observant la consommation d’un circuit, on peut en déduire de l’information sur les opérations effectuées et les données manipulées • Donc on peut obtenir de l’information sur le secret (clé) 19
  20. 20. Espionnage par micro-sonde Micro probing • Attaque intrusive • Permet par exemple de lire les données circulant sur un bus interne (clés de chiffrement, données en clair, etc.) • Limitations : Permet de lire que quelques fils en même temps et seulement sur le niveaux de métallisation supérieurs. 20
  21. 21. Espionnage des bus de communication • Attaque non intrusive • Attaque MITM (Man-In-The-Middle) sur les entrées/sorties d’un système. • Contremesure : • Brouillage de bus (Bus scrampling ) • Chiffrement des Bus ( Bus enryption) • Le contenu de la mémoire est chiffré puis envoyé à l'unité centrale à travers les Bus • Avant d’utiliser les données par l’unité centrale, il est décrypté, 21 Crypter les bus Brouillage de Bus
  22. 22. Simple Power Analysis • Technique d'attaque physique consistant a extraire de l'information secrète a partir de la mesure et de l'analyse du courant consommé lors de l‘ exécution d'un calcul cryptographique. 22
  23. 23. Differential Power Analysis • Technique d'attaque physique consistant a mettre en évidence une Différence de consommation moyenne, en fonction de la valeur d'un bit d'une donnée manipulée. 23
  24. 24. Analyse de Consommation CMOS • La consommation globale d’un circuit CMOS est principalement liée aux commutations des portes logiques. • Donc en observant la consommation d’un circuit, on peut en déduire son activité, • Or, le nombre de portes logiques qui changent d’état est lié aux opérations effectuées ainsi qu’aux données manipulées • Donc en observant la consommation d’un circuit, on peut en déduire de l’information sur les opérations effectuées et les données manipulées • Donc on peut obtenir de l’information sur le secret (clé) 24
  25. 25. Espionnage par micro-sonde (Micro probing) • Attaque intrusive • Permet par exemple de lire les données circulant sur un bus interne (clés de chiffrement, données en clair, etc.) • Limitations : Permet de lire que quelques fils en même temps et seulement sur le niveaux de métallisation supérieurs. 25
  26. 26. Tamper Protection (1/3) • Les anciens équipements: • Les fusibles de la sécurité sont placé séparément de la mémoire Très facile de les localisés et de les battre ! • Les fusibles de la sécurité sont embarqués dans la mémoire Très difficile de les localisés et de les battre ( technique utilisée dans les smartcards) • Ne pas utiliser des bloc qui peuvent être identifiés facilement 26
  27. 27. Tamper Protection (2/3) • Changement de la fabrication des Chips : • Utilisation des blocs des couches multiples pour bloquer l’accès directe • Utilisation des transistors de très petit taille • Fonctionnement à haute fréquence avec faible consommation 27
  28. 28. Tamper Protection (3/3) • Autres techniques : • Protection de l’accès à la mémoire • Utilisation des crypto coprocesseurs • Utilisation des capteurs de changement de la voltage, la fréquence et la température • Stabilisation de consommation pour toute les opérations effectués. • Utilisation d’une couche en métal en haut 28
  29. 29. Étude de Cas Carte à Puce
  30. 30. Architecture d’une Carte à Puce (1/3) • Un microprocesseur : de 8, 16 ou 32 bits suivant l’application ciblée, • La ROM (Read Only Memory) : Les données contenues dans cette mémoire sont conservées même lorsque la carte n’est pas alimentée. Cette mémoire sert généralement à stocker le système d’exploitation ainsi que diverses applications. • L’EEPROM (Electrical Erasable Programable Read Only Memory) ou la Flash. Elle sert à contenir, les données spécifiques au propriétaire de la carte. Comme 30
  31. 31. Architecture d’une Carte à Puce (2/3) 31
  32. 32. Architecture d’une Carte à Puce (3/3) • La RAM (Random Access Memory) :Elle est considérée comme l’espace de travail utilisé par les applications pour manipuler leurs données. La RAM est une mémoire volatile, c’est-à-dire que les données qui y sont stockées sont effacées dès que la carte n’est plus alimentée. • Les crypto-processeurs : Ils sont dédiés aux opérations cryptographiques symétriques et asymétriques (RSA et AES ) • Un générateur de nombre aléatoire : Les nombres aléatoires sont utilisés, en cryptographie pour la génération de clefs de chiffrement. • Différents détecteurs (intrusion, lumière, etc...) visant à signaler une attaque 32
  33. 33. Protection d’une Carte à puce • La carte à puce doit obligatoirement garantir des propriétés de sécurité (confidentialité, intégrité...) • Carte à puce bancaire : contient un secret (clé cryptographique) permettant d’identifier le titulaire du compte • Cette clé ne doit pas sortir de la puce même si la carte tombe entre les mains d’un adversaire (voleur). 33
  34. 34. Protection d’une Carte a puce 34
  35. 35. Processeur Cryptographique
  36. 36. Architecture d’un System-on-Chip (SoC) • Intégration sur la même puce électronique • Un ou plusieurs cœurs de processeur (ARM, MIPS, etc.) • Mémoires (eDRAM, flash, etc.) • Périphériques (contrôleur mémoire externe, bus de communication, etc.) • Unités de traitement dédiés (DSP, accélérateur, cryptographique, traitement vidéo, etc.) 36
  37. 37. Processeur Cryptographique • Accélération de chiffrement • Protection contre les attaques physique et logique • Détection des Intrusion • Protection des données • Sécuriser les i/o • Pour une exécution sécurisé des processus, 37
  38. 38. Processeur Cryptographique • Le principe de base d’un crypto-processeur est d’intégrer des fonctions de cryptographie (chiffrement, signature numérique, gestion des clés) directement à l’intérieur d’un microprocesseur classique. • Son but est de résister à toute attaque physique ou logicielle, par exemple : • sur les bus de données et d’adresses, • sur la mémoire (modification du programme ou de ses données) • ou sur le processeur lui-même 38
  39. 39. Fonctionnement du processeur • Comme les algorithmes de chiffrement asymétriques sont lents, les crypto-processeurs utilisent des algorithmes mixtes : • le producteur génère une clé de session symétrique, chiffre son programme avec cette clé puis chiffre la clé avec la clé publique du processeur. • Ce dernier récupéré la clé de session à l’aide de sa clé privée puis déchiffre le programme. 39
  40. 40. Fonctionnement du processeur • Comme la mémoire interne au processeur est généralement trop faible pour stocker les données du programme, celles-ci sont envoyées en mémoire. • La mémoire étant supposée accessible par un adversaire, les données sont chiffrées avec une clé de session spécifique au programme avant d’être stockées en mémoire et déchiffrées lors de la lecture. • Comme la clé utilisée pour chiffrer les données est différente d’un programme à un autre, seul le processus propriétaire des données peut les lire. Il est également nécessaire de mettre en place des algorithmes pour prévenir les modifications du contenu de la mémoire par un adversaire 40
  41. 41. Fonctionnement du processeur • Un crypto-processeur va donc gérer en interne une table contenant la liste des processus chiffrés qu’il est en train d’exécuter avec leur clé de session correspondante. • Interruption : • Lors d’une interruption, le processeur sauvegarde son état interne comme normalement mais en plus, il le chiffre avec sa clé privée afin que le système d’exploitation n’y ait pas accès. • De plus, il efface les valeurs des registres pour ne pas divulguer d’informations sensibles.41
  42. 42. Architecture d’un co-processeur MIPS cryptographique 42
  43. 43. Types de Processeur Cryptographique • Les algorithmes cryptographiques sont implémentés sur des processeurs type: • Double Encryption Processor • GPP (General Purpose Processor) example (Intel Pentuim) • Vulnérables au attaques physique et logiciel, • ASIC (Application Specific Integrated Circuit) • Coût de fabrigation • Temps d’exécution rapide • FPGA (Field Programmable Gate Array) • Rapidité de calcul cryptographique • Flexible et Reconfigurable (cas d’évolution des algorithmes) • Des protocoles de cryptographie, ou même des algorithmes peuvent changer dans le temps. afin de conserver le matériel en conformité aux nouveaux besoins protocolaires, la reconfigurabilité est nécessaire. 43
  44. 44. Processeur double encryption • Addition de multiples crypto block dédié • Blocks parallèles avec les bus data. • Les instructions sont pas sécurisés • solution idéal pour les routeurs du réseau 44
  45. 45. Processeur double encryption 45 Block
  46. 46. Sur ASIC : HCrypt • HCrypt (specific-purpose processor) • Optimisé pour exécution d'algorithmes cryptographiques qui supporte la gestion des clés secrètes. • Architecture de séparation des zones est appliqué pour tous autres crypto-processor 46
  47. 47. Sur ASIC : Architecture crypto- processeur secure key management 47
  48. 48. Sur FPGA : IBM 4765 • Algorithme Rivest-Shamir-Adleman (RSA), pour la génération et la vérification de signatures numériques avec des clés jusqu'à 4 096 bits • SHA, MD5 et Hash-based Message Authentication Code (HMAC) à haut-débit, • Triple-DES, Single-DES et Advanced Encryption Standard (AES) basés sur le chiffrement, pour une sécurité et une confidentialité de l'intégrité des données, incluant les clés sécurisées AES (AESKW) conformes à ANS X9.102 • Elliptic Curve Cryptography (ECC) pour les signatures numériques et la négociation de clé • Applications de carte à puce et traitement du code PIN (Personal Identification Number) • Heure du jour sécurisée • Mise à jour de l'application Common Cryptographic Architecture (CCA) en parallèle des traitements 48
  49. 49. Sur FPGA : IBM 4765 PCI-X 49 Moteur de Cryptage Détection d’attaque physique une heure du jour sécurisée un générateur de nombres aléatoires cryptographique, AES, DES,
  50. 50. Sur FPGA : IBM 4765 PCI-X • Il peut être configuré sur mesure afin de s'adapter à des contraintes précises : • Telles que celles liées à un volume de transactions, • un guichet automatique (ATM), des applications de terminaux de points de vente (POS), que ce soit dans le cadre du secteur bancaire, financier ou dans celui du commerce de détail. 50
  51. 51. Niveau de sécurité • Vulnérable • Microcontrôleurs utilisant 3DES, AES • RFID • Sécurité endurcie • ASIC • Carte à puce • Moins vulnérable • Hardware Security Modules : ATM, les serveurs de données , 51
  52. 52. Trust Plateforme Module TPM • Module de confiance de plate-forme • Ensemble de spécification pour un crypto-processeur et implémentation de ses spécifications sur une puce. • Boot process integrity 52
  53. 53. Architecture d’un TPM 53
  54. 54. Protection d’un processeur • Réduire le signal du processeur pour que les signaux soit difficile à prélever, • Ajouter du bruit pour rendre encore plus difficile le prélèvement des signaux, • Supprimer le timing pour être moins sensible à l’injection de signaux, • Modifier l’ordre des opérations (NOP) pour une même action, • Mettre des capteurs de lumière, de tension, de température pour détecter les attaques, 54
  55. 55. Conclusion • Principe d’un attaque Physique et ces contremesure • Le processeur cryptographique comme exemple de solution • Intégré la sécurité dans la conception des SoC • Sécurisé le design des circuits • ’intégration des fonctionnalités de sécurité au cœur du matériel couche matérielle dédiée. 55
  56. 56. R é f é r e n c e s • C. McIvor, M. McLoone, J.V. McCanny, Fast Montgomery modular multiplication and RSA cryptographic processor architectures, in37th IEEE Asilomar Conference on Signals, Systems, and Computers, 2003 • M. McLoone, J.V. McCanny, A single-chip IPsec cryptographic processor, inIEEE Workshopon Signal Processing Systems, 2002 • Securite des systemes embarques Marie Lise Flottes, LIRMM, Giorgio Di Natale, LIRMM, Guy Gogniat, Lab-STICC Acteurs académiques français • Hardware Cryptographic Coprocessor Peter R. Wihl Security in Software • Physical attacks and Tamper Resistance Sergei Skorobogatov • Hardware Engines for Bus Envryption : a Servey of Existing Technique R,Elbaz, C,Anguille 56
  57. 57. Merci de votre attention

×