SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
DUAL EC DRBG : Une histoire de portes d´erob´ees
dans les standards
Aris Adamantiadis <aris@badcode.be>
http://www.badcode.be/
27/03/2015
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Qui suis-je ?
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Historique
Critiques
DUAL EC DRBG
Dual Elliptic Curve Deterministic Random Bit Generator
Introduit dans la norme FIPS dans NIST SP800-90A en 2005
D´evelopp´e par la NSA
But : fournir un DRBG n’utilisant ni hash, ni chiffrement en
blocs
Un historique de critiques `a faire rougir RC4
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Historique
Critiques
Ligne du temps
2004 Premier draft de Dual EC DRBG
2004 RSA impl´emente Dual EC dans BSAFE (pour $10M)
2005 Brevet de Certicom ”key escrow mechanism”
2006 Publication de NIST SP800-90A
2007 Shumow et Ferguson (Microsoft) pr´esentent la
possibilit´e de porte d´erob´ee
2013 Snowden publie des documents sur Bullrun
2013 RSA conseille `a ses clients de ne plus utiliser Dual EC
2014 Dual EC DRBG est retir´e de SP800-90A
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Historique
Critiques
Critiques de Dual EC DRBG
Lenteur : 2 op´erations EC par 30 octets
Param`etres constants suspects
Aucune preuve de s´ecurit´e n’existe1
Biais dans bits de sortie
Le connaissance de relation entre P et Q permet de deviner
les sorties ult´erieures2
1
http://blog.cryptographyengineering.com/2013/09/
the-many-flaws-of-dualecdrbg.html
2
Shumow et Ferguson, Microsoft
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Historique
Critiques
Pourquoi c’est mal ?
On ´evite d’utiliser de la cryptographie faible ou cass´ee
Si l’organisation qui a g´en´er´e Q connait la clef priv´ee, ils
peuvent exploiter la porte d´erob´ee.
SSL/TLS/SSH ´echangent 32 octets al´eatoires en clair
PRNG critique pour la confidentialit´e :
ECDSA/DSA: leak de la clef secr`ete
DH/DHE/ECDH/ECDHE: leak de la clef de session
RSA: leak de la clef de session
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Courbe elliptique
Utilisation en cryptographie
D´efinition
Ensemble de points ob´eissant `a une
structure de groupe
Equation : y2 = x3 + ax + b(mod p)
Module premier p : d´efini le champ fini
Z/pZ de l’´equation
Ordre r: nombre de points dans le groupe
a et b: entiers fix´es par convention
(a = −3 pour NIST GF(p))
Un g´en´erateur (Gx , Gy ), ´element de base
du groupe
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Courbe elliptique
Utilisation en cryptographie
Points
Point: coordonn´ees (Px , Py ) qui satisfont
l’´equation
Not´es en lettres capitales (P,G,Q)
Acceptent une op´eration d’addition
(P + Q)
L’addition est commutative et associative
Multiplication scalaire: nP
Associative et commutative:
a(bP) = b(aP)
Le scalaire est un entier modulo r
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Courbe elliptique
Utilisation en cryptographie
Utilisation en cryptographie
Certaines courbes ont des caract´eristiques utiles en crypto
l’´equation iP = Q est facile `a r´esoudre pour P ou Q
...Mais difficile `a r´esoudre pour i
Probl`eme du logarithme discret dans le groupe EC
Les points sont souvent utilis´es comme clefs publiques et
scalaires comme clefs priv´ees
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Algorithme
Une attaque
Generation des constantes
Algorithme
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Algorithme
Une attaque
Generation des constantes
Algorithme d´eroul´e
1 i0 = randomseed()
2 i1 = φ(x(i0P))
3 o0 = φ(x(i1Q))
4 output(30 LSB o0)
5 i2 = φ(x(i1P))
6 o1 = φ(x(i2Q))
7 output(30 LSB o1)
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Algorithme
Une attaque
Generation des constantes
Une attaque
1 i0 = randomseed()
2 i1 = φ(x(i0P))
3 o0 = φ(x(i1Q))
4 output(30 LSB o0)
5 i2 = φ(x(i1P))
6 o1 = φ(x(i2Q))
7 output(30 LSB o1)
Tentons de deviner o1 depuis o0
o0 est la coordonn´ee X d’un point A, dont
il manque 16 bits
Pour chaque valeur de X, il y a 0, 1 ou 2
points sur la courbe
On peut r´ecup´erer ce point A en 217
op´erations
Hypoth`ese: nous connaissons A = i1Q
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Algorithme
Une attaque
Generation des constantes
Une attaque
1 i0 = randomseed()
2 i1 = x(i0P)
3 o0 = x(i1Q)
4 output(30 LSB o0)
5 i2 = x(i1P)
6 o1 = x(i2Q)
7 output(30 LSB o1)
Hypoth`ese: nous connaissons A = i1Q
Hypoth`ese: il existe une relation dQ = P
d est la clef secr`ete de la backdoor!
i1dQ = dA (mult. par d)
i1P = dA (dQ = P)
i2 = x(i1P) = x(dA)
o1 = x(i2Q) = x(x(dA)Q)
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Algorithme
Une attaque
Generation des constantes
G´en´eration des constantes
On a d´efini dQ = P
Probl`eme: P est fixe (g´en´erateur)
on doit calculer e tel que deQ = eP
ed = 1 (dans la courbe C)
ed = 1 (mod r)
On obtient Q = eP
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
Obtenir le(s) point(s) A
On ´etait parti sur l’hypoth`ese que A est connu
On n’a que 30 octets de x(A)
Pour les 16 bits qui manquent, cr´eer un candidat pour A
R´esoudre l’´equation y2 = x3 − 3x + b (mod p)
y = sqrt(x3 − 3x + b) (mod p)
On obtient 0, 1 ou 2 solutions (Ax , Ay ) et (Ax , −Ay )
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
G´en´erer la sortie
L’´etape pr´ec´edente a g´en´er´e une liste de candidats pour A
G´en´erer o1 = x(x(dA)Q) pour chaque A
Comparer les deux derniers octets du texte clair connu avec o1
En cas de match, on a r´ecup´er´e l’´etat du PRNG
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
Impl´ementation
Impl´ementation de l’algorithme de cassage en C
`A t´el´echarger sur mon github3
Utilise OpenSSL FIPS patch´e
Premi`ere impl´ementation publique (12/2013)
3
https://github.com/arisada/dualec_poc
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
Impl´ementation
aris@kalix86:~/dualec$ ./dual_ec_drbg_poc
s at start of generate:
E9B8FBCFCDC7BCB091D14A41A95AD68966AC18879ECC27519403B34231916485
[omitted: many output from openssl]
y coordinate at end of mul:
0663BC78276A258D2F422BE407F881AA51B8D2D82ECE31481DB69DFBC6C4D010
r in generate is:
96E8EBC0D507C39F3B5ED8C96E789CC3E6861E1DDFB9D4170D3D5FF68E242437
Random bits written:
000000000000000000000000000000000000000000000000000000000000
y coordinate at end of mul:
5F49D75753F59EA996774DD75E17D730051F93F6C4EB65951DED75A8FCD5D429
s in generate:
C64EAF10729061418EB280CCB288AD9D14707E005655FDD2277FC76EC173125E
[omitted: many output from openssl]
PRNG output: ebc0d507c39f3b5ed8c96e789cc3e6861e1ddfb9d4170d3d5ff68e242437449e
Found a match !
A_x: 96e8ebc0d507c39f3b5ed8c96e789cc3e6861e1ddfb9d4170d3d5ff68e242437
A_y: 0663bc78276a258d2f422be407f881aa51b8d2d82ece31481db69dfbc6c4d010
prediction: a3cbc223507c197ec2598e6cff61cab0d75f89a68ccffcb7097c09d3
Reviewed 65502 valid points (candidates for A)
PRNG output: a3cbc223507c197ec2598e6cff61cab0d75f89a68ccffcb7097c09d3
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
Conclusion
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
Introduction
DUAL EC DRBG
Maths des courbes elliptiques
`A l’int´erieur de DUAL EC
Impl´ementation
Obtenir le(s) point(s) A
G´en´erer la sortie
Impl´ementation
Conclusion
Conclusion
Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand

Contenu connexe

Tendances

Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Aurélien Regat-Barrel
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneMicrosoft
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieLoic Yon
 
Introduction au lock-free programming avec std::atomics
Introduction au lock-free programming avec std::atomicsIntroduction au lock-free programming avec std::atomics
Introduction au lock-free programming avec std::atomicsAurélien Regat-Barrel
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieLoic Yon
 
C++11 en 12 exemples simples
C++11 en 12 exemples simplesC++11 en 12 exemples simples
C++11 en 12 exemples simplesPethrvs
 
Joue à la crypto ! (french)
Joue à la crypto ! (french)Joue à la crypto ! (french)
Joue à la crypto ! (french)Ange Albertini
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionAlexandru Radovici
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxRuau Mickael
 
C3 - Langage C - ISIMA 1 - Troisieme partie
C3 - Langage C - ISIMA 1 - Troisieme partieC3 - Langage C - ISIMA 1 - Troisieme partie
C3 - Langage C - ISIMA 1 - Troisieme partieLoic Yon
 
Hacking your home
Hacking your homeHacking your home
Hacking your homelaurenthuet
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11Microsoft
 
Implémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en JavaImplémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en JavaIbn Tofail University
 
Démons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQDémons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQAmaury Bouchard
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Loic Yon
 
Interception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelInterception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelThierry Gayet
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxRuau Mickael
 
Monitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.ioMonitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.iolaurenthuet
 

Tendances (20)

Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14Les fonctions lambdas en C++11 et C++14
Les fonctions lambdas en C++11 et C++14
 
Les nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ ModerneLes nouveautés de C++11 : Ecrire du C++ Moderne
Les nouveautés de C++11 : Ecrire du C++ Moderne
 
C1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partieC1 - Langage C - ISIMA - Première partie
C1 - Langage C - ISIMA - Première partie
 
Introduction au lock-free programming avec std::atomics
Introduction au lock-free programming avec std::atomicsIntroduction au lock-free programming avec std::atomics
Introduction au lock-free programming avec std::atomics
 
Change mind about JS
Change mind about JSChange mind about JS
Change mind about JS
 
C2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partieC2 - Langage C - ISIMA 1 - Deuxieme partie
C2 - Langage C - ISIMA 1 - Deuxieme partie
 
C++11 en 12 exemples simples
C++11 en 12 exemples simplesC++11 en 12 exemples simples
C++11 en 12 exemples simples
 
Joue à la crypto ! (french)
Joue à la crypto ! (french)Joue à la crypto ! (french)
Joue à la crypto ! (french)
 
SdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de executionSdE 8 - Synchronisation de execution
SdE 8 - Synchronisation de execution
 
Vhdl bousmah f
Vhdl bousmah fVhdl bousmah f
Vhdl bousmah f
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 
C3 - Langage C - ISIMA 1 - Troisieme partie
C3 - Langage C - ISIMA 1 - Troisieme partieC3 - Langage C - ISIMA 1 - Troisieme partie
C3 - Langage C - ISIMA 1 - Troisieme partie
 
Hacking your home
Hacking your homeHacking your home
Hacking your home
 
Développer en natif avec C++11
Développer en natif avec C++11Développer en natif avec C++11
Développer en natif avec C++11
 
Implémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en JavaImplémentation des principaux algorithmes de chiffrements en Java
Implémentation des principaux algorithmes de chiffrements en Java
 
Démons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQDémons en PHP, de inetd à ZeroMQ
Démons en PHP, de inetd à ZeroMQ
 
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
Java - Support etudiant - Tronc Commun Deuxième année ISIMA - 2018
 
Interception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appelInterception de signal avec dump de la pile d'appel
Interception de signal avec dump de la pile d'appel
 
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_fauxIEEE754-pourquoi_les_calculs_informatiques_sont_faux
IEEE754-pourquoi_les_calculs_informatiques_sont_faux
 
Monitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.ioMonitoring d'un compteur EDF avec node.js @bdx.io
Monitoring d'un compteur EDF avec node.js @bdx.io
 

En vedette

Quantum computer in cryptography
Quantum computer in cryptographyQuantum computer in cryptography
Quantum computer in cryptographyAkshay Shelake
 
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...StHack
 
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practice
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practiceSthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practice
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practiceStHack
 
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...Cyber Security Alliance
 
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesCyber Security Alliance
 
Cours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures CritiquesCours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures CritiquesFranck Franchin
 
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0Artionet Web Agency
 
Estos Precios
Estos PreciosEstos Precios
Estos PreciosAdalberto
 
15° texto mediado
15° texto mediado15° texto mediado
15° texto mediadoAdalberto
 
Redes perfil para formación de redes correo
Redes  perfil para formación de redes correoRedes  perfil para formación de redes correo
Redes perfil para formación de redes correoAdalberto
 
BoletíN Informativo 05 Junio 2009 Banca, Finanzas Y Mercado De Capitales
BoletíN Informativo   05 Junio 2009   Banca, Finanzas Y Mercado De CapitalesBoletíN Informativo   05 Junio 2009   Banca, Finanzas Y Mercado De Capitales
BoletíN Informativo 05 Junio 2009 Banca, Finanzas Y Mercado De CapitalesYATACO ARIAS ABOGADOS
 
Presentation Moodle
Presentation MoodlePresentation Moodle
Presentation MoodlePK Almansa
 
Los componentes de la sección de presentación del curso serán en su orden
Los componentes de la sección de presentación del curso serán en su ordenLos componentes de la sección de presentación del curso serán en su orden
Los componentes de la sección de presentación del curso serán en su ordenEDALFO
 
Ejemplos Plan De Preteccion Escolar
Ejemplos Plan De Preteccion EscolarEjemplos Plan De Preteccion Escolar
Ejemplos Plan De Preteccion EscolarAdalberto
 

En vedette (20)

Quantum computer in cryptography
Quantum computer in cryptographyQuantum computer in cryptography
Quantum computer in cryptography
 
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...
Sthack 2015 - Wilfrid "@WilfridBlanc" Blanc & Adrien Revol - Cybersécurité In...
 
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practice
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practiceSthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practice
Sthack 2015 - Renaud "@nono2357" Lifchitz - Quantum computing in practice
 
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...
ASFWS 2013 - Prévention et analyse de cyber attaques : Import-Module Incident...
 
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
 
Séminaire Log Management
Séminaire Log ManagementSéminaire Log Management
Séminaire Log Management
 
Cours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures CritiquesCours CyberSécurité - Infrastructures Critiques
Cours CyberSécurité - Infrastructures Critiques
 
ISO 27500
ISO 27500ISO 27500
ISO 27500
 
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0
BIMO Forum 2015 - Etat de l'art de l'internet des objets : L'industrie 4.0
 
Estos Precios
Estos PreciosEstos Precios
Estos Precios
 
BORDEAUX
BORDEAUXBORDEAUX
BORDEAUX
 
15° texto mediado
15° texto mediado15° texto mediado
15° texto mediado
 
Redes perfil para formación de redes correo
Redes  perfil para formación de redes correoRedes  perfil para formación de redes correo
Redes perfil para formación de redes correo
 
366130 nanou monso
366130 nanou monso366130 nanou monso
366130 nanou monso
 
BoletíN Informativo 05 Junio 2009 Banca, Finanzas Y Mercado De Capitales
BoletíN Informativo   05 Junio 2009   Banca, Finanzas Y Mercado De CapitalesBoletíN Informativo   05 Junio 2009   Banca, Finanzas Y Mercado De Capitales
BoletíN Informativo 05 Junio 2009 Banca, Finanzas Y Mercado De Capitales
 
Presentation Moodle
Presentation MoodlePresentation Moodle
Presentation Moodle
 
Los componentes de la sección de presentación del curso serán en su orden
Los componentes de la sección de presentación del curso serán en su ordenLos componentes de la sección de presentación del curso serán en su orden
Los componentes de la sección de presentación del curso serán en su orden
 
PACIE
PACIEPACIE
PACIE
 
Ejemplos Plan De Preteccion Escolar
Ejemplos Plan De Preteccion EscolarEjemplos Plan De Preteccion Escolar
Ejemplos Plan De Preteccion Escolar
 
7 Hábitos
7 Hábitos7 Hábitos
7 Hábitos
 

Similaire à Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de portes dérobées dans les standards

Fpga handout
Fpga handoutFpga handout
Fpga handoutassnad
 
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...Soumia Elyakote HERMA
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) univalence
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODwebmasterref68
 
codeurs_de_positioncodeurs_de_position.ppt
codeurs_de_positioncodeurs_de_position.pptcodeurs_de_positioncodeurs_de_position.ppt
codeurs_de_positioncodeurs_de_position.pptStefTfh
 
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !ochafik
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroyPatrick MOREAU
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzlesMicrosoft
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoirebilal001
 
introCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.pptintroCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.pptAbdelRani
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptageSKYWARE COMPAGNY
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfadeljaouadi
 
D226 chapitre 6
D226 chapitre 6D226 chapitre 6
D226 chapitre 6WanisAMER
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfYassine Sabri
 

Similaire à Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de portes dérobées dans les standards (20)

Fpga handout
Fpga handoutFpga handout
Fpga handout
 
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
L'impact des incriments des séquences de tri Shell. Expérimentation des séque...
 
2 codage source
2 codage source2 codage source
2 codage source
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Présentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HODPrésentation Arduino par Christian, F5HOD
Présentation Arduino par Christian, F5HOD
 
codeurs_de_positioncodeurs_de_position.ppt
codeurs_de_positioncodeurs_de_position.pptcodeurs_de_positioncodeurs_de_position.ppt
codeurs_de_positioncodeurs_de_position.ppt
 
Dijkstra kshortest
Dijkstra kshortestDijkstra kshortest
Dijkstra kshortest
 
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !GPGPU facile avec JavaCL, et trivial avec ScalaCL !
GPGPU facile avec JavaCL, et trivial avec ScalaCL !
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroy
 
C# et .NET : Enigmes et puzzles
C# et .NET : Enigmes  et puzzlesC# et .NET : Enigmes  et puzzles
C# et .NET : Enigmes et puzzles
 
Tp transcodage logique combinatoire
Tp transcodage logique combinatoireTp transcodage logique combinatoire
Tp transcodage logique combinatoire
 
introCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.pptintroCOA6-Intro_VHDL_AMS.ppt
introCOA6-Intro_VHDL_AMS.ppt
 
Le cryptage et le décryptage
Le cryptage et le décryptageLe cryptage et le décryptage
Le cryptage et le décryptage
 
Codes Convolutifs
Codes ConvolutifsCodes Convolutifs
Codes Convolutifs
 
Cours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdfCours - TC - Histoire Algorithmique.pdf
Cours - TC - Histoire Algorithmique.pdf
 
D226 chapitre 6
D226 chapitre 6D226 chapitre 6
D226 chapitre 6
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Electronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdfElectronique-Numérique-TD-7.pdf
Electronique-Numérique-TD-7.pdf
 
haking wep
haking wep haking wep
haking wep
 
adcdac-3.pptx
adcdac-3.pptxadcdac-3.pptx
adcdac-3.pptx
 

Plus de StHack

Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"
Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"
Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"StHack
 
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...StHack
 
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFG
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFGStHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFG
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFGStHack
 
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injection
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injectionStHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injection
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injectionStHack
 
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coin
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coinStHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coin
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coinStHack
 
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy MimikatzStHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy MimikatzStHack
 
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnetStHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnetStHack
 
StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack
 

Plus de StHack (8)

Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"
Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"
Sthack 2015 - Ramon Vicens & Victor Acin - Cyber threats "the reality"
 
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...
Sthack 2015 - Jonathan "@JonathanSalwan" Salwan - Dynamic Behavior Analysis U...
 
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFG
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFGStHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFG
StHack 2014 - Mario "@0x6D6172696F" Heiderich - JSMVCOMFG
 
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injection
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injectionStHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injection
StHack 2013 - Florian "@agixid" Gaultier No SQL injection but NoSQL injection
 
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coin
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coinStHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coin
StHack 2013 - Nicolas "@baldanos" Oberli Please insert inject more coin
 
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy MimikatzStHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
StHack 2014 - Benjamin "@gentilkiwi" Delpy Mimikatz
 
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnetStHack 2014 - Jerome "@funoverip" Nokin  Turning your managed av into my botnet
StHack 2014 - Jerome "@funoverip" Nokin Turning your managed av into my botnet
 
StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101StHack 2014 - Ninon Eyrolles Obfuscation 101
StHack 2014 - Ninon Eyrolles Obfuscation 101
 

Dernier

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 

Dernier (16)

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 

Sthack 2015 - Aris "@aris_ada" Adamantiadis - DUAL_EC_DRBG : Une histoire de portes dérobées dans les standards

  • 1. DUAL EC DRBG : Une histoire de portes d´erob´ees dans les standards Aris Adamantiadis <aris@badcode.be> http://www.badcode.be/ 27/03/2015
  • 2. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Qui suis-je ? Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 3. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Historique Critiques DUAL EC DRBG Dual Elliptic Curve Deterministic Random Bit Generator Introduit dans la norme FIPS dans NIST SP800-90A en 2005 D´evelopp´e par la NSA But : fournir un DRBG n’utilisant ni hash, ni chiffrement en blocs Un historique de critiques `a faire rougir RC4 Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 4. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Historique Critiques Ligne du temps 2004 Premier draft de Dual EC DRBG 2004 RSA impl´emente Dual EC dans BSAFE (pour $10M) 2005 Brevet de Certicom ”key escrow mechanism” 2006 Publication de NIST SP800-90A 2007 Shumow et Ferguson (Microsoft) pr´esentent la possibilit´e de porte d´erob´ee 2013 Snowden publie des documents sur Bullrun 2013 RSA conseille `a ses clients de ne plus utiliser Dual EC 2014 Dual EC DRBG est retir´e de SP800-90A Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 5. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Historique Critiques Critiques de Dual EC DRBG Lenteur : 2 op´erations EC par 30 octets Param`etres constants suspects Aucune preuve de s´ecurit´e n’existe1 Biais dans bits de sortie Le connaissance de relation entre P et Q permet de deviner les sorties ult´erieures2 1 http://blog.cryptographyengineering.com/2013/09/ the-many-flaws-of-dualecdrbg.html 2 Shumow et Ferguson, Microsoft Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 6. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Historique Critiques Pourquoi c’est mal ? On ´evite d’utiliser de la cryptographie faible ou cass´ee Si l’organisation qui a g´en´er´e Q connait la clef priv´ee, ils peuvent exploiter la porte d´erob´ee. SSL/TLS/SSH ´echangent 32 octets al´eatoires en clair PRNG critique pour la confidentialit´e : ECDSA/DSA: leak de la clef secr`ete DH/DHE/ECDH/ECDHE: leak de la clef de session RSA: leak de la clef de session Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 7. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Courbe elliptique Utilisation en cryptographie D´efinition Ensemble de points ob´eissant `a une structure de groupe Equation : y2 = x3 + ax + b(mod p) Module premier p : d´efini le champ fini Z/pZ de l’´equation Ordre r: nombre de points dans le groupe a et b: entiers fix´es par convention (a = −3 pour NIST GF(p)) Un g´en´erateur (Gx , Gy ), ´element de base du groupe Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 8. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Courbe elliptique Utilisation en cryptographie Points Point: coordonn´ees (Px , Py ) qui satisfont l’´equation Not´es en lettres capitales (P,G,Q) Acceptent une op´eration d’addition (P + Q) L’addition est commutative et associative Multiplication scalaire: nP Associative et commutative: a(bP) = b(aP) Le scalaire est un entier modulo r Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 9. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Courbe elliptique Utilisation en cryptographie Utilisation en cryptographie Certaines courbes ont des caract´eristiques utiles en crypto l’´equation iP = Q est facile `a r´esoudre pour P ou Q ...Mais difficile `a r´esoudre pour i Probl`eme du logarithme discret dans le groupe EC Les points sont souvent utilis´es comme clefs publiques et scalaires comme clefs priv´ees Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 10. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Algorithme Une attaque Generation des constantes Algorithme Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 11. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Algorithme Une attaque Generation des constantes Algorithme d´eroul´e 1 i0 = randomseed() 2 i1 = φ(x(i0P)) 3 o0 = φ(x(i1Q)) 4 output(30 LSB o0) 5 i2 = φ(x(i1P)) 6 o1 = φ(x(i2Q)) 7 output(30 LSB o1) Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 12. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Algorithme Une attaque Generation des constantes Une attaque 1 i0 = randomseed() 2 i1 = φ(x(i0P)) 3 o0 = φ(x(i1Q)) 4 output(30 LSB o0) 5 i2 = φ(x(i1P)) 6 o1 = φ(x(i2Q)) 7 output(30 LSB o1) Tentons de deviner o1 depuis o0 o0 est la coordonn´ee X d’un point A, dont il manque 16 bits Pour chaque valeur de X, il y a 0, 1 ou 2 points sur la courbe On peut r´ecup´erer ce point A en 217 op´erations Hypoth`ese: nous connaissons A = i1Q Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 13. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Algorithme Une attaque Generation des constantes Une attaque 1 i0 = randomseed() 2 i1 = x(i0P) 3 o0 = x(i1Q) 4 output(30 LSB o0) 5 i2 = x(i1P) 6 o1 = x(i2Q) 7 output(30 LSB o1) Hypoth`ese: nous connaissons A = i1Q Hypoth`ese: il existe une relation dQ = P d est la clef secr`ete de la backdoor! i1dQ = dA (mult. par d) i1P = dA (dQ = P) i2 = x(i1P) = x(dA) o1 = x(i2Q) = x(x(dA)Q) Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 14. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Algorithme Une attaque Generation des constantes G´en´eration des constantes On a d´efini dQ = P Probl`eme: P est fixe (g´en´erateur) on doit calculer e tel que deQ = eP ed = 1 (dans la courbe C) ed = 1 (mod r) On obtient Q = eP Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 15. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion Obtenir le(s) point(s) A On ´etait parti sur l’hypoth`ese que A est connu On n’a que 30 octets de x(A) Pour les 16 bits qui manquent, cr´eer un candidat pour A R´esoudre l’´equation y2 = x3 − 3x + b (mod p) y = sqrt(x3 − 3x + b) (mod p) On obtient 0, 1 ou 2 solutions (Ax , Ay ) et (Ax , −Ay ) Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 16. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion G´en´erer la sortie L’´etape pr´ec´edente a g´en´er´e une liste de candidats pour A G´en´erer o1 = x(x(dA)Q) pour chaque A Comparer les deux derniers octets du texte clair connu avec o1 En cas de match, on a r´ecup´er´e l’´etat du PRNG Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 17. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion Impl´ementation Impl´ementation de l’algorithme de cassage en C `A t´el´echarger sur mon github3 Utilise OpenSSL FIPS patch´e Premi`ere impl´ementation publique (12/2013) 3 https://github.com/arisada/dualec_poc Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 18. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion Impl´ementation aris@kalix86:~/dualec$ ./dual_ec_drbg_poc s at start of generate: E9B8FBCFCDC7BCB091D14A41A95AD68966AC18879ECC27519403B34231916485 [omitted: many output from openssl] y coordinate at end of mul: 0663BC78276A258D2F422BE407F881AA51B8D2D82ECE31481DB69DFBC6C4D010 r in generate is: 96E8EBC0D507C39F3B5ED8C96E789CC3E6861E1DDFB9D4170D3D5FF68E242437 Random bits written: 000000000000000000000000000000000000000000000000000000000000 y coordinate at end of mul: 5F49D75753F59EA996774DD75E17D730051F93F6C4EB65951DED75A8FCD5D429 s in generate: C64EAF10729061418EB280CCB288AD9D14707E005655FDD2277FC76EC173125E [omitted: many output from openssl] PRNG output: ebc0d507c39f3b5ed8c96e789cc3e6861e1ddfb9d4170d3d5ff68e242437449e Found a match ! A_x: 96e8ebc0d507c39f3b5ed8c96e789cc3e6861e1ddfb9d4170d3d5ff68e242437 A_y: 0663bc78276a258d2f422be407f881aa51b8d2d82ece31481db69dfbc6c4d010 prediction: a3cbc223507c197ec2598e6cff61cab0d75f89a68ccffcb7097c09d3 Reviewed 65502 valid points (candidates for A) PRNG output: a3cbc223507c197ec2598e6cff61cab0d75f89a68ccffcb7097c09d3 Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 19. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion Conclusion Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand
  • 20. Introduction DUAL EC DRBG Maths des courbes elliptiques `A l’int´erieur de DUAL EC Impl´ementation Obtenir le(s) point(s) A G´en´erer la sortie Impl´ementation Conclusion Conclusion Aris Adamantiadis <aris@badcode.be> DUAL EC DRBG : Une histoire de portes d´erob´ees dans les stand