57
Mouheb SAADI & Raoudha MABROUKI Année Universitaire 2015/2016 Spécialité : II Transaction Électronique Présentation sujet

Processeur cryptographique

Embed Size (px)

Citation preview

Page 1: Processeur cryptographique

Mouheb SAADI & Raoudha MABROUKI

Année Universitaire 2015/2016

Spécialité : II

Transaction Électronique

Présentation sujet

Page 2: Processeur cryptographique

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

Page 3: Processeur cryptographique

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

Page 4: Processeur cryptographique

• 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)

Page 5: Processeur cryptographique

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

Page 6: Processeur cryptographique

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

Page 7: Processeur cryptographique

7

Categories

Invasive attacks

reversible

irreversible

Non-invasive attacks

Passive

activeSemi-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.

Page 8: Processeur cryptographique

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

Page 9: Processeur cryptographique

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

Page 10: Processeur cryptographique

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

Page 11: Processeur cryptographique

Reverse engineering Attack (3/3)

11

Example : MIFARE’s CRYPTO1

Page 12: Processeur cryptographique

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

Page 13: Processeur cryptographique

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

Page 14: Processeur cryptographique

Side Channel Attack (2/7)

Timing attacks Power analysis

Simple Power Analysis SPA

Differential fault analysis

DPA,

ComplexPower

Analysis CPA

14

Page 15: Processeur cryptographique

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

Page 16: Processeur cryptographique

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

Page 17: Processeur cryptographique

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

Page 18: Processeur cryptographique

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

Page 19: Processeur cryptographique

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

Page 20: Processeur cryptographique

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

Page 21: Processeur cryptographique

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 busBrouillage de Bus

Page 22: Processeur cryptographique

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

Page 23: Processeur cryptographique

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

Page 24: Processeur cryptographique

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

Page 25: Processeur cryptographique

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

Page 26: Processeur cryptographique

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

Page 27: Processeur cryptographique

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

Page 28: Processeur cryptographique

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

Page 29: Processeur cryptographique

Étude de CasCarte à Puce

Page 30: Processeur cryptographique

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

Page 31: Processeur cryptographique

Architecture d’une Carte à Puce (2/3)

31

Page 32: Processeur cryptographique

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

Page 33: Processeur cryptographique

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

Page 34: Processeur cryptographique

Protection d’une Carte a puce

34

Page 35: Processeur cryptographique

Processeur Cryptographique

Page 36: Processeur cryptographique

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

Page 37: Processeur cryptographique

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

Page 38: Processeur cryptographique

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

Page 39: Processeur cryptographique

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

Page 40: Processeur cryptographique

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

Page 41: Processeur cryptographique

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

Page 42: Processeur cryptographique

Architecture d’un co-processeur MIPS cryptographique

42

Page 43: Processeur cryptographique

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

Page 44: Processeur cryptographique

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

Page 45: Processeur cryptographique

Processeur double encryption

45

Block

Page 46: Processeur cryptographique

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

Page 47: Processeur cryptographique

Sur ASIC : Architecture crypto-processeur secure key management

47

Page 48: Processeur cryptographique

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

Page 49: Processeur cryptographique

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,

Page 50: Processeur cryptographique

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

Page 51: Processeur cryptographique

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

Page 52: Processeur cryptographique

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

Page 53: Processeur cryptographique

Architecture d’un TPM

53

Page 54: Processeur cryptographique

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

Page 55: Processeur cryptographique

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

Page 56: Processeur cryptographique

R é f é r e n c e s

• C. McIvor, M. McLoone, J.V. McCanny, Fast Montgomery modular multiplication and RSA cryptographicprocessor 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

Page 57: Processeur cryptographique

Merci de votre attention