Introduction à la cryptographie embarquée. 10 Mars 2014 Alexandre Venelli



Documents pareils
Sécurité et sûreté des systèmes embarqués et mobiles

CARTES A PUCE. Pascal Urien - Cours cartes à puce /06/10 Page 1

Evaluation, Certification Axes de R&D en protection

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

NFC Near Field Communication

Leçon 1 : Les principaux composants d un ordinateur

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

La carte à puce. Jean-Philippe Babau

Les fonctions de hachage, un domaine à la mode

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Cours 14. Crypto. 2004, Marc-André Léger

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

La sécurité dans les grilles

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

NOMENCLATURE. PARTIE 1 : PRODUITS, MATERIAUX et EQUIPEMENTS

Cryptologie à clé publique

- MANIP 2 - APPLICATION À LA MESURE DE LA VITESSE DE LA LUMIÈRE

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Fonction de hachage et signatures électroniques

SECURIT GSM Version 2

Lecteur de carte à puce LCPM1 SOMMAIRE

1. PRESENTATION DU PROJET

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

ÉPREUVE COMMUNE DE TIPE Partie D

Journées MATHRICE "Dijon-Besançon" DIJON mars Projet MySafeKey Authentification par clé USB

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Serrure sans contact CISA esigno. Technologie, design et simplicité en une seule solution.

le système d alarme sans fil avec caméra intégrée permettant la levée de doute évènementielle. Sans fil Fonctionne sur piles 128 Bit AES crypté

Sécurité de l'information

IFT1215 Introduction aux systèmes informatiques

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Petite introduction aux protocoles cryptographiques. Master d informatique M2

INF 4420: Sécurité Informatique Cryptographie II

ELP 304 : Électronique Numérique. Cours 1 Introduction

Sécurité des systèmes d'informations et communicants dans le médical

Cours Informatique 1. Monsieur SADOUNI Salheddine

Concept Compumatica Secure Mobile

Sécurité des réseaux IPSec

Cours 3 : L'ordinateur

Premiers pas sur l ordinateur Support d initiation

Le Passeport Biométrique. Benoit LEGER CISSP ISO LD

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Les tablettes. Présentation tablettes Descriptif Fournisseurs Caractéristiques Comparatifs Conseils Perspectives Démonstration

Structure de base d un ordinateur

MT-703. Surveillance de niveau par sonde résistive TELEMETRIE PAR MODULE GSM CONFIGURATION ET UTILISATION

500 W sur 13cm avec les modules PowerWave

Éléments d'architecture des ordinateurs

GPA770 Microélectronique appliquée Exercices série A

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

2.1 Le point mémoire statique Le point mémoire statique est fondé sur le bistable, dessiné de manière différente en Figure 1.

RSA ADAPTIVE AUTHENTICATION

Les Réseaux sans fils : IEEE F. Nolot

INF4420: Éléments de Sécurité Informatique

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

TP Modulation Démodulation BPSK

CEG4566/CSI4541 Conception de systèmes temps réel

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

Guide abrégé ME401-2

Acquisition et conditionnement de l information Les capteurs

Partie 7 : Gestion de la mémoire

Alarme anti-intrusion

ASR1 TD7 : Un microprocesseur RISC 16 bits

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Ordinateurs, Structure et Applications

Carte Relais GSM (Manuel Utilisateur)

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

Système d alarme sans fil GSM / SMS / RFID.

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Technologie 125 Khz pour une performance optimale en en environnement industriel. Création des badges. Programmation des badges

Authentification à deux facteurs Cryptage portable gratuit des lecteurs USB Cryptage du disque dur

Présentation de la plateforme Diagnostic RFID

CH.3 SYSTÈMES D'EXPLOITATION

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

TEPZZ A_T EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (51) Int Cl.: G07F 7/08 ( ) G06K 19/077 (2006.

Chapitre 4 : Les mémoires

De la sécurité physique des crypto-systèmes embarqués

Authentification de messages et mots de passe

Enregistrement automatique. des données

Transmission d informations sur le réseau électrique

Sauvegarde collaborative en pair-à-pair

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

III Capteurs et actuateurs

Rapport de certification ANSSI-CSPN-2010/07. KeePass Version 2.10 Portable

Un ordinateur, c est quoi?

Indiscrétions et «zones constructeurs» «Redécouvrons nos disques durs»

Charte d installation des réseaux sans-fils à l INSA de Lyon

Meilleures pratiques de l authentification:

Concilier mobilité et sécurité pour les postes nomades

Contributions à l expérimentation sur les systèmes distribués de grande taille

Système d alarme radio

La Technologie Carte à Puce EAP TLS v2.0

Solutions hautes performances pour le gardiennage et la surveillance

Catalogue Produits. Version 1

Devoir Surveillé de Sécurité des Réseaux

Transcription:

Introduction à la cryptographie embarquée 10 Mars 2014 Alexandre Venelli

Présentation personnelle Alexandre Venelli Thèse CIFRE en informatique dans la sécurité embarquée Ingénieur cryptographe depuis 6 ans chez INSIDE Secure Développement de librairies crypto pour l embarqué Analyse de vulnérabilités

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Produits embarqués sécurisés

Types de produits embarqués Cartes à puce Contact Sans contact Dual interface Tag RFID NFC Tokens USB Set top box Documents officiels: Carte d identité Passeport Permis de conduire sécurisés

Historique de la carte à puce 1974-1975: R. Moreno brevette une carte pouvant contenir beaucoup de données Inventeur de la carte à puce 1977: M. Ugon ajoute Une NVM Un microprocesseur 1984: premières cartes bancaires 1984: premières cartes téléphoniques 1991: invention de la carte SIM 1998: cartes Vitale 1998-1999: boom de la carte SIM Cartes les plus vendues encore aujourd hui Dans plus en plus de produits depuis: Cartes de fidélité, Pay-TV,

Qu est-ce qu une carte à puce? Un morceaux de silicone sur une carte plastique Très bon moyen de stocker peu de données sensibles

Carte à puce contact VCC: tension d alimentation de la carte RST: signal de remise à zéro CLK: signal d horloge GND: masse électrique VPP: tension de programmation I/O: entrées/sorties des données

Carte à puce contact EEPROM / Flash RAM ROM Microprocesseur CPU

Carte sans contact Caractéristiques proches d une carte contact sans connexion électrique Energie fournie par le champ magnétique émis par le lecteur

Carte à puce duale Possède à la fois les technologies contact et sans contact Remplace peu à peu les cartes contact

Tags RFID Plus simple que les cartes à puces Peut ne pas avoir de microprocesseur Coût très réduit Exemples d applications: Magasinage, transport de colis, suivis dans les hôpitaux, etc.

NFC Near Field Communication Peut fonctionner en 3 modes Lecteur Agit comme un lecteur sans contact et peut parler avec une carte sans contact Carte Se comporte comme une carte sans contact et peut parler avec un lecteur Peer-to-peer Effectue un lien entre 2 participants (ex: téléphones).

Acteurs du marché

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Cryptographie embarquée

Pourquoi ajouter de la sécurité? Vol de services Attaques sur des fournisseurs de services (TV satellite, cartes d accès, ) Accès à l information Récupération et extraction d informations Récupérer des secrets commerciaux Vol d identité Clonage et surproduction Copier pour faire des profits sans coûts de R&D Production en masse à faible coût par des soustraitants

Qui a besoin de puces sécurisées? Demande de plus en plus importante Industrie automobile, fournisseurs de services Banques, applications militaires Puces sécurisées sont partout Électronique grand consommation (authentification, protection contre la copie) Contrôle du marché de l après-vente (accessoires, pièces de rechange) Contrôle d accès (tags RF, cartes) Contrôle de services (téléphones portables, TV satellite) Protection de la propriété intellectuelle (IP) (sofware, algorithmes) Challenges Comment concevoir une puce sécurisée? (ingénierie sécurité/crypto) Comment évaluer sa résistance? (estimation du coût d une faiblesse) Comment trouver la meilleur solution? (compromis temps/argent)

Comment concevoir un système sécurisé? Pour quelles raisons attaquerait-on votre système? Scénarios d attaques et enjeux (vol, accès, etc) Qui l attaquerait? Classe de l attaquant: extérieur, initié, organisation Quels outils utiliseraient-ils pour attaquer? Catégories d attaques: side-channel, faute, reverse engineering Comment se protéger de ces attaques? Estimer le danger: comprendre les enjeux, le coût, la probabilité Développer des protections adéquates aux point faibles Faire une évaluation de sécurité Choisir des composants sûrs pour construire le système cryptographie forte

Cryptographie La cryptographie permet d assurer Intégrité Un attaquant ne peut pas modifier un message Confidentialité Un attaquant ne doit pas pouvoir lire des messages Authenticité Un attaquant ne doit pas pouvoir se faire passer pour quelqu un d autre Non-répudiation Un attaquant ne doit pas pouvoir dénier avoir fait un échange

Principe de Kerkhoff Les algorithmes de cryptographie modernes sont basés sur le principe de Kerkhoff: Un cryptosystème n a pas à être secret et doit pouvoir tomber dans les mains d un attaquant sans poser de problème La sécurité des cryptosystèmes est basée sur le fait que la clé soit gardée secrète! Quelques raisons pour ce principe: Il est plus facile de garder une clé secrète qu un algorithme Les clés peuvent être changées plus facilement que les algorithmes Communication avec d autres plus facile Les algorithmes publics subissent un examen public détaillé

Cryptographie Primitives et cryptosystèmes Cryptosystèmes symétriques: Chiffrements par blocs DES, AES, Chiffrement par flot RC4, A5/1, A5/2, Cryptosystèmes asymétriques: RSA, Diffie-Hellman, ECC, Fonctions de hash MD5, SHA-1, SHA-2, SHA-3,

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Attaques logiques et physiques

Scénarios classiques d attaques Chiffré seul L attaquant n a accès qu au chiffré Message connu L attaquant a accès à un ensemble de chiffrés avec les messages correspondants Chiffré choisi L attaquant peut obtenir des messages pour un ensemble arbitraire de chiffrés choisis Chiffré choisi adaptatif L attaquant peut choisir des chiffrés en fonction des informations qu il a obtenu des chiffrements précédents Attaque par clé apparentée L attaquant peut obtenir des chiffrés pour des messages choisis chiffrés avec deux clés différentes. Les clés sont inconnues mais l attaquant connait la relation qui lie leurs valeurs....

Attaquer un système embarqué sécurisé attaque logique Les clés stockées et utilisées dans les objets sécurisés ne doivent jamais quitter l objet Le but des attaques logiques est de révéler la clé en utilisant seulement l interface de communication Attaquant Communication Objet sécurisé

Attaques logiques Faiblesses basées sur des vulnérabilités software L attaquant essaye de casser le système en envoyant des messages spéciaux Attaques typiques: buffer overflow, format string attack,...

Autre type d attaque? Les attaques logiques considèrent que l attaquant a le contrôle complet sur l interface de communication Il existe de nombreux scénarios où ces attaques sont les plus importantes (ex: communication via internet) Pour les objets embarqués, la situation est différente. L attaquant a souvent accès à beaucoup plus que seulement l interface de communication. Il possède physiquement l objet en question.

Exemple: Pay TV Les entreprises de pay TV donnent des cartes à puces à leurs clients qui payent pour voir un certain contenu.

Exemple: Pay TV La compagnie ne peut pas supposer que tous ses client sont honnêtes. Un client peut vouloir dupliquer sa carte pour ses amis

Autres exemples Porte-monnaie électronique: le client peut vouloir s ajouter de l argent DRM: le client peut vouloir copier le contenu (film, musique,...) pour ses amis Protection des marques: le client peut vouloir utiliser des encres, batteries moins chères... Résumé: beaucoup de scénarios où casser le système à un intérêt pour l utilisateur l attaquant est en possession de l objet attaqué et peut donc utiliser d autres chemins d attaques plus puissants

Attaques physiques sur systèmes embarqués Attaques logiques ne se basent que sur des informations récupérées lors de communications Attaquant Communication Objet sécurisé Attaques physiques observent et manipulent les propriétés du système ou de son environnement Manipulation Attaquant Communication Objet sécurisé Observation

Attaques physiques Dans une attaque physique, l attaquant fait quasiment ce qu il veut avec l objet Avec assez de ressources, l attaquant réussiera toujours à casser le système en plus ou moins de temps En pratique, le but est de rendre les attaques tellement difficiles à réaliser qu elles deviennent inutiles

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Basiques du design hardware d un circuit

Pourquoi s intéresser au hardware? Certaines attaques spécifiques à l embarqué utilisent l implémentation physique du composant pour exploiter une faiblesse Il faut avoir une compréhension globale du fonctionnement d un composant pour pouvoir se protéger

Caractéristiques physiques d une carte à puce Micro-processeur de 8, 16 ou 32 bits De 2Ko à 32Ko de mémoire RAM De 32Ko à 512Ko de mémoire non volatile (Flash/ROM) Surface de quelques mm 2 Modules de sécurité

Design synchrone La grande majorité des circuits sont synchrones Propriétés d un circuit synchrone Un état est stocké dans des éléments mémoires (registres, RAM, portes logiques,...) Des éléments de circuits combinatoires effectuent des calculs Un signal d horloge déclenche la mise à jour des élements mémoires Les circuits synchrones sont des finite state machine (automate fini) déclenché par un signal d horloge

Diagramme de bloc typique d un circuit

Processus de développement du hardware A un certain niveau, la conception du hardware est similaire à du software Comme en software, il existe des niveaux d abstractions qui permettent de gérer la complexité

Modélisation et description HDL Le processus de design commence par une modélisation du hardware en software Un modèle de haut-niveau est constamment rafinée jusqu à obtenir une description du design au register-transfer-level (RTL) Au niveau RTL, le hardware est décrit en utilisant un language de description (HDLs) Ex: Verilog, VHDL A ce niveau, le hardware peut être vu comme une FSM qui met à jour son état à chaque coup d horloge

Code HDL Implémentation d une porte AND c = a AND b

Synthèse du design Pour chaque technologie de logique, il existe des librairies de portes logiques Ex: NAND, OR, AND, L outil de synthèse transforme la description HDL en des portes logiques de la librairie La sortie de la synthèse est une netlist Graphe où chaque nœud est une porte logique

Netlist niveau porte

Netlist niveau transistor Implémentation d un inverseur CMOS Input=0 Output=1 Input=1 Output=0

Layout Les portes sont placées et connectées Dans cette étape, de nombreuses contraintes physiques doivent être prises en compte Placer proches les portes connectées Minimiser le surcoût du placement Le layout est une description géométrique du design qui décrit à quel endroit doit être placé chaque élément

Exemples de layout Layout d un inverseur CMOS Layout d un circuit complet

Câblage d une partie d un circuit en 3D

Fabrication Après la création du layout, il est envoyé à l usine de fabrication Technologies courantes: 120nm, 90nm Taille des wafers 200mm, 300mm

Wafer

Découpe, Test et Packaging Une fois le wafer produit, il reste à Découper: séparer tous les circuits présents sur le wafer Tester: le processus de fabrication n est pas parfait, il faut donc tester tous les circuits produits Packager: protège le circuit dans un petit bloc de matériel semi-conducteur pour le protéger de la corrosion et de dommages physiques

Découpe, Test, Packaging

Résumé d un design hardware Le design hardware est un processus complexe avec beaucoup de niveaux d abstraction Les étapes d optimisations présentes à chaque niveau peuvent influencer la sécurité finale du composant

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Optimisation et sécurité

Principaux axes d optimisations Bande passante Consommation de courant Qualité/Fiabilité Taille mémoire/surface

Bande passante vs. sécurité La vitesse de bande passante est souvent un facteur déterminant dans le succès d un produit En sécurité embarquée, il existe une attaque physique appelée timing attack Principe: retrouver une information secrète traitée par la carte en mesurant le temps d exécution du software qui tourne Chaque optimisation qui produit des temps d exécution dépendant de la valeur des données est potentiellement une faille de sécurité

Exemple: vérification d un code PIN Une donnée secrète est stockée dans la carte Ex: un code PIN, 8 octets (caractères) Comme un mot de passe sur un PC, l authentification est basée sur le secret Il existe généralement une fonction dédiée: Reçoit la valeur de PIN (le challenge) Compare le challenge au PIN stocké Donne accès si la comparaison est réussie

Comment l attaquer? Algorithme naïf

Comment retrouver le PIN? L attaque ne suppose aucune limite sur le nombre de challenges possibles Pas réaliste, généralement un compteur enregistre le nombre d échec et la carte est bloquée avec 3 essais faux Implémentation de l attaque Pour chacune des 256 valeurs possibles n 0 de C[0] (peu importe la valeur des autres octets) Mesure τ(n 0 ) le temps d exécution de chaque commande Toutes les commandes doivent s exécuter dans le même temps, sauf une Sélectionner τ = max (τ n 0 ) n 0 est le vrai octet du PIN secret P[0] Affecter n 0 à C[0] et itérer sur les octets suivants C[i] Compléxité: Pire cas: 8*256 commandes Au lieu de 256 8 en recherche exhaustive (brute force)

Possible contre-mesure

Contre-mesure pour une timing attack Le temps d exécution des programmes doit être complétement indépendant des valeurs critiques Ex: éviter toutes branches conditionnelles dépendant de valeurs sensibles Augmente forcément le temps d exécution Réduit la bande passante

Consommation de courant vs. sécurité En général, la consommation instantanée de courant et la dissipation d énergie totale sont des éléments cruciaux d objets embarqués Besoin de courant seulement lorsque des valeurs changent (CMOS) En sécurité embarquée, il existe une attaque physique appelée power analysis attack Principe: retrouver une information secrète traitée par la carte en mesurant sa consommation de courant Ces attaques sont très puissantes et ne demandent qu un simple oscilloscope

Consommation de courant La grande majorité des systèmes embarqués utilisent la technologie CMOS La consommation de courant instantanée de ces systèmes dépend de L instruction exécutée La donnée traitée Si la contre-mesure pour le code PIN était implémentée en ajoutant des «NOP» pour équilibrer le temps d exécution L attaquant mesure la consommation de courant et détecte si une instruction NOP est exécutée ou non

Power analysis attack sur la vérification PIN Implémentation de l attaque Pour chacune des 256 valeurs possibles n 0 de C[0] (peu importe la valeur des autres octets) Mesure γ(n 0 ) la consommation de courant de chaque commandes Toutes les commandes doivent avoir la même consommation sauf une Sélectionner τ = τ n 0 la consommation la plus différente des autres n 0 est le vrai octet du PIN secret P[0] Affecter n 0 à C[0] et itérer sur les octets suivants C[i] Compléxité: Pire cas: 8*256 commandes Au lieu de 256 8 en recherche exhaustive (brute force)

Contre-mesure pour une power analysis attack Très difficile de s en protéger Encore aujourd hui, il est très difficile de s en protéger complétement Les contre-mesures vont dépendre fortement de l algorithme à protéger Ces contre-mesures ajoutent de la complexité Plus de consommation

Qualité/Fiabilité vs. sécurité Un système embarqué doit fonctionner correctement dans la limite de ses caractéristiques (voltage fourni, fréquence d horloge, température,...) Le comportement d un système en dehors de ces conditions n est pas gênant En sécurité embarquée, il existe une attaque physique appelée fault attack Principe: retrouver une information secrète traitée par la carte en altérant le fonctionnement du système Ces attaques sont très puissantes et peuvent permettre de retrouver un secret en analysant seulement quelques pairs d exécutions correctes/fautées

Effets d une fault attack Une attaque par faute peut affecter Le déroulement du programme: instructions modifiées, sautées,... L intégrité des données: leur valeur change Sur des composants non sécurisés contre les fautes, tout types de fautes peut s appliquer

Fault attack sur la vérification de PIN Compléxité: 1 exécution

Contremesure contre une fault attack R1=VERIFYSECRET(P,C) R2=VERIFYSECRET(P,C) R1 =? R2 Si égaux, aucune faute, retourne R1 Si différent, faute détectée, retourne code d erreur

Contre-mesure pour une fault attack Protections au niveau hardware Détecteurs de tension, lumière, fréquence,... Protections au niveau software Redondance, duplication Il faut aussi que le composant soit résistant si le système est soumis à des conditions anormales de fonctionnement

Taille mémoire/surface vs. sécurité La surface d un composant est proportionnelle à son coût de fabrication On essaye donc d optimiser au maximum la surface occupée Aucune attention n est portée à quelle information est transférée sur quel niveau de métal En sécurité embarquée, il existe une attaque physique appelée probing attack Principe: retrouver une information secrète traitée par la carte en utilisant des outils d analyse de défaillance

Probing attack Une des attaques les plus chères à mettre en place Idée basique Manipuler ou lire des signaux sur le composant pour compromettre la sécurité du système Exemple Placer une sonde directement sur le bus de données qui va transporter la valeur du secret lors de son utilisation

Résumé Il faut distinguer sécurité logique de sécurité physique qui a un impact crucial sur la conception d un circuit La sécurité n est pas une caractéristique du produit mais un des paramètres de conception La sécurité impacte toutes les stratégies d optimisations classiques, il faut faire des compromis

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Classification des attaques physiques

Attaques physiques Deux critères principaux Comportement de l attaquant Actif: il agit, modifie le comportement du circuit Passif: il observe certains propriétés physiques du circuit Degré d implication de l attaquant Invasive: il n a aucune limite (coûteux) Semi-invasive: il peut enlever le packaging mais ne touche pas à la structure interne du circuit (abordable) Non-invasive: observe et manipule le circuit sans modifications physiques (très peu coûteux)

Principe d une attaque active Manipuler/Modifier le circuit pour exploiter des faiblesses Changer le comportement général du circuit Activer le mode de test Désactiver les contre-mesures, détecteurs Changer le programme (sauter la vérification PIN, etc) Insérer des fautes dans les calculs crypto L attaquant faute l algorithme pendant son exécution et récupère le résultat fauté Il exploite des propriétés mathématiques de l algo pour retrouver la clé

Principe d une attaque passive Observer les propriétés physiques du circuit pour retrouver le secret Le secret est manipulé par le circuit (lors d opérations crypto par ex) Des informations sur le secret peuvent être observée en surveillant Le temps d exécution La consommation de courant Les émanations électromagnétiques

Attaques physiques principales Active Passive Non-invasive Glitching, changement de température, faible voltage, Attaques par canaux cachés (side-channel attack) Semi-invasive Attaques par lumière, radiation, Attaques EM, inspection optique Invasive FIB Probing

Active invasive attack Le composant est manipulé et modifié par l attaquant Le circuit peut être modifié par un focused ion beam (FIB) (sonde ionique focalisée) Equipement très coûteux mais possibilités énormes pour l attaquant

Active semi-invasive attack Injection de faute (fault attack) Composant dépackagé et placé sous un microscope Les transistors peuvent être changés d état par une lumière forte et focalisées (laser)

Active non-invasive attack Perturber le fonctionnement du composant sans le dépackager Glitching Perturber l alimentation en courant du composant pendant son fonctionnement peut provoquer des sauts d instruction Perturber l horloge extérieure peut provoquer des corruptions de données ou des sauts d instruction Température Modifications aléatoires dans la RAM Opérations de lecture erronées dans les NVMs

Passive invasive attack Microprobing: Sonder des signaux sur le composant à l aide de microprobes Injection de signaux et observation des réactions du composant Sert à extraire des clés secrètes ou du contenu de mémoire

Passive semi-invasive attacks Attaques side-channel qui demande de dépackager le composant: émanations EM Plus coûteux Plus précis que la consommation de courant

Passive semi-invasive attacks Attaque par émissions optique Les transistors émettent des photons lorsqu ils changent d états De 10 2 à 10 4 photos par changement Ces émissions peuvent être détectées par des caméras CCD ou des photomultiplicateurs

Optical side-channel attack

Passive non-invavise attacks: side-channel attacks Idée: révéler le secret en observant les propriétés physiques du composant Timing attack Mesure le temps d exécution Power attack Mesure la consommation de courant Peu coûteux en équipement: un PC avec un oscilloscope et une petite résistance sur l alimentation en courant du composant Attaque très efficace Deux méthode basiques: attaque simple (SPA) et différentielle (DPA)

Equipement Power Analysis

Fuite d information La consommation d un composant dépend de L instruction exécutée La donnée manipulée Modèles de fuite Poids de Hamming (HW) de la donnée manipulée à un instant t W t = α. HW data + β Distance de Hamming (HD) entre la donnée manipulée à l instant t et la donnée précédente du registre W t = α. HD data, r + β = α. HW data r + β Le modèle dépends de la technologie de logique utilisée

Fuite d information

Fuite d information

Simple Power Analysis sur RSA Rappels sur RSA Signature RSA = exponentiation modulaire requiert des opérations sur des grands entiers En embarqué, ces opérations sont traitées par un coprocesseur arithmétique dédié Signature RSA: s = m d mod N m le message à signer N = p. q un grand modulo (> 1024 bits) avec p et q deux grands premiers d la clé privée telle que ed = 1 (mod p 1. q 1 ) avec e la clé publique But: retrouver d

Exemple: s = m 13 = m 1101 2 i=3 (d 3 = 1) : s = 1 2. m = m i=2 (d 2 = 1) : s = m 2. m = m 3 i=1 (d 1 = 0) : s = m 3 2 = m 6 i=0 (d 0 = 1) : s = m 6 2. m = m 13 SPA sur RSA

SPA sur RSA Courbe de consommation d une exponentiation s = m d mod N C o n s o temps Que vaut d? Indice: = élévation au carré = multiplication par m

SPA sur RSA S M S S S M S M ( 1 0 0 1 1 ) d = 19

Résumé SPA SPA utilise les motifs présents dans l implémentation qui sont liés aux données sensibles Stratégie d attaque Connaître l algorithme utilisé Phase de reverse engineering

Contremesure SPA Pas de code conditionnel sur des données secrètes Contremesure au niveau algorithme Structure du code Randomisation des données Contremesure au niveau hardware Ajouter du bruit Désynchronisations

Exemple s = m 19 mod N 0/1? 0/1? 0/1? 0/1? 0/1?

Differential Power Analysis La DPA est un moyen d isoler et d augmenter l effet des faibles contributions des bits des données sur un large ensemble de courbes de consommation Il est souvent difficile de repérer la différence de consommation entre le traitement de 2 données

Faible contribution d un bit de donnée Il est difficile de repérer la contribution des bits de données sur une courbe de consommation

Courbes de consommation pour différentes valeurs de bit Courbes de différences à la moyenne La consommation semble plus forte lorsque le bit de poids faible vaut 1 plutôt que 0

Augmenter la contribution du bit Problème: comparer manuellement la série de valeurs pour le bit par rapport aux courbes de consommation est complexe Solution: séparer les traces en 2 ensembles suivant la valeur b du bit recherché Soit S 1 et S 0 les ensembles pour b = 1 et b = 0 Toutes les traces de S 1 ont une consommation plus forte lorsque le bit recherché est traité Les 2 ensembles S 1 et S 0 sont significativement différents Aux autres instants temporels, les ensembles ont à la fois des consommation fortes et faibles Les 2 ensembles S 1 et S 0 sont similaires Moyenne les 2 ensembles et soustraction: Courbe DPA = S 1 S 0

Courbe DPA

Résumé DPA La DPA utilise un nombre important de courbes de consommations La fonction crypto attaquée est exécutée avec des entrée connues et différentes L attaquant choisit un bit intermédiaire d une valeur qui dépend du secret (et des entrées) Quand ce bit est traité, la courbe de consommation va légèrement dépendre de sa valeur En séparant les courbes en 2 ensembles suivant le bit, la différence de leur moyenne montre une différence si (et quand) le bit est traité

DPA sur le DES Le Data Encryption Standard (DES) est un chiffrement par bloc symétrique DPA sur la sortie d une Sbox: y = S(m g) Cibler 1 bit b de la sortie y de Sbox Faire une hypothèse g sur la valeur de la sous-clé K 1 hypothèse sur y Obtient une série de valeurs prédites (une valeur par message par courbe de consommation correspondante) Calcule une courbe DPA entre les valeurs prédites et les courbes de consommation Seulement pour la bonne hypothèse, les valeurs prédites correspondent aux courbes Pour toutes les 2 6 hypothèses de la valeur de sousclé

Schéma DPA

DPA sur DES en vrai

Contremesure DPA Randomiser les données sensibles Randomisation de la clé entre chaque calculs RSA: m d mod N φ N = p 1. (q 1) : indicatrice d Euler φ N m = 1 mod N r : random m r.φ N mod N = 1 r mod N = 1 mod N m d mod N = m d+r.φ N mod N

Sommaire I. Produits embarqués sécurisés II. Cryptographie embarquée III. Attaques logiques et physiques IV. Basiques du design hardware d un circuit V. Optimisation et sécurité VI. Classification des attaques physiques VII.Conclusion

Conclusion

Conclusions Il n existe pas de protection absolue Avec assez de temps et ressources toute contremesure peut être cassée L objectif en pratique est de rendre un système tellement cher à attaquer que ce n est plus rentable pour un attaquant Domaine en constante évolution Protections doivent tenir compte des possibles évolutions du matériel et techniques des attaquants