0% ont trouvé ce document utile (0 vote)
9 vues119 pages

Sécurité des systèmes embarqués

Le document traite des attaques par canaux auxiliaires, qui exploitent des informations non logiques pour compromettre la sécurité des systèmes embarqués. Il aborde les menaces spécifiques, les types d'attaquants, ainsi que les enjeux de sécurité liés aux ressources limitées et aux contraintes environnementales. Des solutions de protection, telles que l'obfuscation et l'utilisation de la cryptographie, sont également discutées pour contrer ces attaques.

Transféré par

Seydou Talla
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
9 vues119 pages

Sécurité des systèmes embarqués

Le document traite des attaques par canaux auxiliaires, qui exploitent des informations non logiques pour compromettre la sécurité des systèmes embarqués. Il aborde les menaces spécifiques, les types d'attaquants, ainsi que les enjeux de sécurité liés aux ressources limitées et aux contraintes environnementales. Des solutions de protection, telles que l'obfuscation et l'utilisation de la cryptographie, sont également discutées pour contrer ces attaques.

Transféré par

Seydou Talla
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Attaques par canaux auxiliaires

Attaques par canaux auxiliaires

Canal auxiliaire
Canal d’information auxiliaire qui contrairement au canal logique
(entrées/sorties) n’a pas vocation à transporter de l’information.

En général il s’agit d’un canal ”physique” (temps, température,


consommation électrique . . .).

Accès physique local Accès distant (ou logiciel local)


I Cibles : systèmes embarqués. I Cibles : machines non-isolées.
I Menace tous les systèmes I Menace les systèmes autorisant les
accessibles physiquement. logiciels tiers.
I Cours : Benoı̂t I Cours : Clémentine
Sommaire de la session

Contexte

Rappels cryptographiques

Les attaques physiques


Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés
Les systèmes embarqués
Des applications et des contextes variés

système embarqué
système électronique et informatique
autonome et spécialisé
Enjeux de sécurité dans l’embarqué
Menaces

Différents attaquants pour différentes menaces.

Attaquants Menaces
I Délinquants I atteinte à la vie privée,
I un geek, un garage et un I espionnage,
PC de gamer.
I vol/fraude,
I Mafias
I une équipe complète et un I rançonnage,
réseau de PC zombies. I traçage,
I États I panne générale,
I d’un groupe de hacker à la I accidents,
NSA.
I actes de guerre.
Les systèmes embarqués
Contexte

Quelques spécificités rencontrées dans le monde embarqué.

Ressources limitées Contraintes


I puissance limitée, I surface limitée,
I faible autonomie I contrainte temps réel,
(énergie). I conditions environnementales peu
clémentes (température, rayons
ionisants).

Contexte d’emploi
I embarqué donc accessible à l’attaquant !
Enjeux de sécurité dans l’embarqué
Quelques cas

Lecture du firmware d’un routeur UPC

Puis rétro-ingénierie avec des outils classiques type IDA.


Enjeux de sécurité dans l’embarqué
Quelques cas

Lecture du firmware d’un overboard


Enjeux de sécurité dans l’embarqué
Quelques cas

Modification du firmware en mémoire d’une PS3


Enjeux de sécurité dans l’embarqué
État des lieux

Observation
I Il est facile de lire toute mémoire externe à un composant.
I Des outils puissants existent pour appréhender un code binaire.

Il “suffit” alors de
1. lire le code, 3. le modifier pour supprimer la sécurité
2. le comprendre, 4. le re-charger.

Conclusion
La sécurité d’un produit ne peut donc pas uniquement se reposer sur des
tests logiciels !
Protections dans l’embarqué
Opacification

Il existe de nombreuses techniques complémentaires :


I manque de documentation,
I obfuscation de code,
I brouillage de mémoire (mélange des bits et/ou des adresses),
I enfouissement de pistes sur le PCB,
I utilisation de protocoles “maison” plutôt que de standards,
I ...

Permettent de ralentir les attaquants mais ne suffit pas en général.


Protections dans l’embarqué
Utilisation de la cryptographie

Une autre piste est l’utilisation de cryptographie !

Les trois principaux services fournis par la cryptographie sont :


I la confidentialité,
I l’intégrité,
I l’authenticité.

La confidentialité permet de rendre bénin la lecture d’un bus ou d’une


mémoire.
L’authenticité et l’intégrité permettent d’éviter les altérations d’un code
critique.
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
X
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
Rappels cryptographiques
Symétrique vs asymétrique

Cryptographie symétrique

Cryptographie asymétrique
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Chiffrement et chiffrement authentifié

Chiffrement et MAC
Objectifs
I s’assurer de la confidentialité d’un contenu,
I s’assurer de l’intégrité d’un contenu (contenu non modifié par
quelqu’un ne connaissant pas la clef).

MAC = Message Authentication Code


Chiffrement + MAC = chiffrement authentifié.
Rappels cryptographiques
Signature

Signature

Objectifs
I s’assurer de l’intégrité d’un contenu,
I s’assurer de l’authenticité (preuve de l’origine du contenu).
Rappels cryptographiques
Signature

Signature

Objectifs
I s’assurer de l’intégrité d’un contenu,
I s’assurer de l’authenticité (preuve de l’origine du contenu).
Rappels cryptographiques
Signature

Signature

Objectifs
I s’assurer de l’intégrité d’un contenu,
I s’assurer de l’authenticité (preuve de l’origine du contenu).
Rappels cryptographiques
Signature

Signature

Objectifs
I s’assurer de l’intégrité d’un contenu,
I s’assurer de l’authenticité (preuve de l’origine du contenu).

X
Rappels cryptographiques
Chiffrement asymétrique et échange de clefs

Utiliser la cryptographie symétrique implique une clef par correspondant . . .

Chiffrement asymétrique

I utilise le même principe de paire de clefs que la signature,


I le secret est du côté de la personne qui déchiffre,
I les opérations sont coûteuses.

Échange de clef

I établit un secret partagé en se basant sur des opérations coûteuses,


I pour ensuite utiliser la cryptographie symétrique.
Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
L’homme du milieu

Man in the Middle


Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Rappels cryptographiques
Certificats

Certificats
Objectif
I s’assurer de l’identité de son correpsondant.
Architecture d’un système embarqué
La zone de confiance

flash core flash

rom
periph.1
ram
processeur
periph.2

Si l’attaquant ne peut pas sonder les bus et mémoires internes,


I la zone de confiance est le processeur,
I l’attaquant accède à la FLASH externe et son bus,
I l’attaquant accède aux périphériques et leur bus.
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


=⇒ MAC (+ chiffrement pour protection contre la rétro).
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


=⇒ MAC (+ chiffrement pour protection contre la rétro).
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


=⇒ MAC (+ chiffrement pour protection contre la rétro).
I Espionnage / modifications sur le bus des périphériques.
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


=⇒ MAC (+ chiffrement pour protection contre la rétro).
I Espionnage / modifications sur le bus des périphériques.
=⇒ Canal sécurisé via échange de clefs.
Architecture d’un système embarqué
Mécanismes et secrets

flash core flash

rom
periph.1
ram
processeur
periph.2

I Modification de la mise à jour.


=⇒ MAC (+ chiffrement pour protection contre la rétro).
I Espionnage / modifications sur le bus des périphériques.
=⇒ Canal sécurisé via échange de clefs.
et donc certificats et clef publique racine
Rappels cryptographiques
Principe
Rappels cryptographiques
Principe

attaques actives
Rappels cryptographiques
Principe

attaques actives

attaques passives
Rappels cryptographiques
Principe

attaques actives

attaques passives
Rappels cryptographiques
Principe

attaques actives

attaques passives

attaques actives
Rappels cryptographiques
Principe

attaques actives

attaques passives

attaques actives

attaques passives
Les attaques physiques
Quelques exemples

Attaques passives

I Canaux auxiliaires (temps de calcul, consommation . . .)

Attaques actives

I Injection de fautes (rayon laser, variation de température . . .)


I Delayreing et rétroconception
I Cheval de Troie
I Micro-probing
Les attaques physiques
Attaques en faute

Moyens

I Glitch sur l’horloge ou l’alimentation.


I Préparation de l’échantillon (ouverture) puis
I tir laser sur les transistors,
I injection localisée d’ondes EM.

Effets
Modification de l’opcode
I en mémoire,
I sur le bus,
I au décodage de l’instruction,
vers une instruction sans effet de bords pour cette exécution.
Rappels cryptographiques
Rapel : RSA-CRT

RSA : N = p q et
m = cd mod N
RSA-CRT :

mp = cd mod p−1
mod p , mq = cd mod q−1
mod q

Différentes techniques de recombinaison


Classique :

m = (mq p−1 mod q) p + (mp q −1 mod p) q mod N

Garner :
m = mq + q(q −1 (mp − mq ) mod p)
Rappels cryptographiques
Faute sur le calcul de mp (CRT)

Faute : mp −→ m̂p

m = (mq p−1 mod q) p + (mp q −1 mod p) q mod N


−1 −1
m̂ = (mq p mod q) p + (m̂p q mod p) q mod N

m − m̂ = (mp − m̂p ) q −1

mod p q mod N

On a un multiple de q : on retrouve q avec

q = pgcd(N, m − m̂)
Rappels cryptographiques
Faute sur le calcul de mp (Garner)

Faute : mp −→ m̂p

m = mq + q(q −1 (mp − mq ) mod p)


−1
m̂ = mq + q(q (m̂p − mq ) mod p)

m − m̂ = q q −1 (mp − m̂p )

mod p

On a un multiple de q : on retrouve q avec

q = pgcd(N, m − m̂)
Rappels cryptographiques
Faute sur le calcul de mq (Garner)

Faute : mq −→ m̂q

m = mq + q(q −1 (mp − mq ) mod p)


−1
m̂ = m̂q + q(q (mp − m̂q ) mod p)

m − m̂ = mq − m̂q + q q −1 (m̂q − mq )

mod p
= 0 mod p

On a un multiple de p : on retrouve p avec

p = pgcd(N, m − m̂)
Rappels cryptographiques
Faute sur le module

Il existe des contre-mesures aux attaques précédentes.

On peut attaquer avec plus de calculs fautés ou plus de fautes durant un


calcul.

Mais il existe aussi une attaque en faute sur N :

m = (mq p−1 mod q) p + (mp q −1 mod p) q mod N


−1 −1
m̂ = (mq p mod q) p + (mp q mod p) q mod N̂

On peut retrouver la factorisation de N par réduction de réseaux.


Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Case noire : il y a une différence entre deux exécutions.

Case blanche : il n’y a pas de différence entre deux exécutions.


Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Seulement 28 valides

sur 232 .

MixColumn est linéaire :


MC(P ) ⊕ MC(P ⊕ E) = MC(E).
Les différences possibles sont donc :
{MC(0), MC(1), MC(2), . . . , MC(255)}.
Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Seulement 28 valides
on connait les chiffrés
sur 232 .
Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Seulement 28 valides on devine ce bout de clef

on connait les chiffrés


sur 232 .
Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Seulement 28 valides on devine ce bout de clef

on connait les chiffrés


sur 232 .
pour calculer la différence
Rappels cryptographiques
Faute sur le tour 9 (Piret et Quisquater)

MC + SB SR +

Seulement 28 valides on devine ce bout de clef

on connait les chiffrés


sur 232 .
pour calculer la différence

1. On précalcule l’ensemble des 28 “bonnes valeurs”.


I bonne clef : la différence appartient au bon ensemble,
I mauvaise clef : la différence est aléatoire (et donc souvent hors de
l’ensemble).
2. Il faut 2 fautes par colonne pour retrouver toute la clef.
3. On peut éviter de tester 232 clefs car les calculs sont indépendents
d’un octet à l’autre.
Rappels cryptographiques
Safe-error sur l’AES

Modèle de faute
Collage à 0 d’un bit.

I Clair P = (0, 0, . . . , 0).


I Attaque un bit après XOR de la première sous-clef.

(0,1,1,0,. . .)

(0,0,0,. . .) ⊕ (0,1,1,0. . .) ... C


Rappels cryptographiques
Safe-error sur l’AES

Modèle de faute
Collage à 0 d’un bit.

I Clair P = (0, 0, . . . , 0).


I Attaque un bit après XOR de la première sous-clef.

(0,1,1,0,. . .)

(0,0,0,. . .) ⊕ (0,1,1,0. . .) ... C ⇒ K[0] = 0


Rappels cryptographiques
Safe-error sur l’AES

Modèle de faute
Collage à 0 d’un bit.

I Clair P = (0, 0, . . . , 0).


I Attaque un bit après XOR de la première sous-clef.

(0,1,1,0,. . .)

(0,0,0,. . .) ⊕ (0,0,1,0. . .) ... Ĉ ⇒ K[1] = 1


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement nominal
Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute


Les attaques physiques
Faute : modification du flot d’exécution

Écriture en flash externe

flash core flash

rom
periph.1
ram
processeur
periph.2

Fonctionnement avec faute

La donnée est stockée en clair en mémoire externe !


Les attaques physiques
Micro-probing

Utilisation interne d’une clef

flash core flash

rom
periph.1
ram
processeur
periph.2
Les attaques physiques
Micro-probing

Utilisation interne d’une clef

flash core flash

rom
periph.1
ram
processeur
periph.2
Les attaques physiques
Micro-probing

Utilisation interne d’une clef

flash core flash

rom
periph.1
ram
processeur
periph.2
Les attaques physiques
Micro-probing

Utilisation interne d’une clef

flash core flash

rom
periph.1
ram
processeur
periph.2

On peut aussi directement récupérer une donnée.


Les attaques physiques
Protections contre les attaques actives

Détecteurs

I Détecteurs optiques (fautes lasers).


I Lissage (PLL pour l’horloge, capacités pour l’alimentation).
I Shield actif de protection (micro-probing, ouverture).

Obfuscation

I Scrambling de la mémoire.
I Enfouissement des bus.
I Mélange des points mémoire à la logique.
Attaques par canaux auxiliaires
Principe général

canal classique
Attaques par canaux auxiliaires
Principe général

canal classique
Attaques par canaux auxiliaires
Principe général

canal classique

canal auxiliaire

On obtient des informations sur les états intermédiaires


où les liens entre clair/chiffré et clef sont peu complexes
Attaques par canaux auxiliaires
Exemples de canaux

Toute observation peut être dangereuse :

I temps d’exécution,
I consommation de courant,
I rayonnements électromagnétiques,
I émissions de photons,
I émissions sonores,
I potentiel électrique d’un corps en contact avec le PC ( !)
I ...
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

0.3 ms

b o o l t es tP IN ( i n t code [ 4 ] )
{ 0000
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}

0
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

0.6 ms

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1000
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}

1
0
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

0.4 ms

b o o l t es tP IN ( i n t code [ 4 ] )
{ 2000
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}

1
0 2
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}

1
0 2 3 4 5 6 7 8 9
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}

1
0 2 3 4 5 6 7 8 9
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1 ?00
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1 ?00
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
7
0 1 2 3 4 5 6 8 9
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1700
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
7
0 1 2 3 4 5 6 8 9
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 17 ?0
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 17 ?0
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
} 8 9
0 1 2 3 4 5 6 7
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1780
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
} 8 9
0 1 2 3 4 5 6 7
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 178 ?
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ;
}
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 178 ?
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ; 9
} 0 1 2 3 4 5 6 7 8
Attaques par canaux auxiliaires
Exemple du code PIN

Code PIN de 4 chiffres =⇒ en moyenne 5000 essais.


Si mal implanté =⇒ au plus 37 essais.

b o o l t es tP IN ( i n t code [ 4 ] )
{ 1789
f o r ( i n t i =0 ; i <4 ; i ++)
{
i f ( code [ i ]!= c o d e r e f [ i ] )
return false ;
}
return true ; 9
} 0 1 2 3 4 5 6 7 8
Attaques par canaux auxiliaires
Le temps : attaques sur la cryptographie

I Temps d’une multiplication scalaire dans ECDSA


→ taille du nonce secret
⇒ clef retrouvée après 1000 observations.
I Temps de retour d’erreur Mac-then-Encrypt avec padding
→ info. sur la correction du padding
⇒ bloc déchiffré en 215.08 requêtes.
I Temps de chiffrement par AES (tables en mémoire)
→ lien avec la variable clair ⊕ clef
⇒ clef retrouvée après quelques milliers de chiffrement.
I Toutes les attaques basées sur le mécanisme de cache.
I Toutes les attaques pas inventées car maintenant on fait attention !

Vous aimerez peut-être aussi