560 likes | 669 Views
Jean-Claude Asselborn. Confidentialité, . L’Art du Secret. Discrétion et . Confiance. d ans la Société de l’Information. Leçon 2 Assurer la confidentialité dans la société de l’information. structure générale. En hommage à Whitfield DIFFIE. c onfidentialité. Assurer la.
E N D
Jean-Claude Asselborn Confidentialité, L’Art du Secret Discrétion et Confiance dans la Société de l’Information Leçon 2 Assurer la confidentialité dans la société de l’information L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
structure générale En hommage à Whitfield DIFFIE • confidentialité Assurer la • dans la société de l’information • entre partenaires • Leçon 1 • Leçon 2 • Paiement • électronique • Signature • électronique • Discrétion • Leçon 5 • Leçon 4 • Leçon 3 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Rappel : Alice Bob état actuel accord sur la clé secrète de chiffrement procédé de chiffrement AES ? 16 octets en clair 16 octets en clair Edgar AES AES clé 128 bit clé 128 bit 16 octets chiffrés 16 octets chiffrés réseau 00110101010100011101 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Rappel : Alice Bob problème restant Comment se concerter en l’absence d’un canal sécurisé ? canal sécurisé de concertation canal non sécurisé de communication Comment échanger des clés à travers un canal non sécurisé ? Edgar L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Ralph Merkle Whitfield Martin Hellman Diffie le renouveau 1976 "New Directions in Cryptography" [IEEE Transactions on Information Theory, November 1976] L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
structure de cette leçon Diffie-Hellman ou crypto quantique échange de clés 1 échange de clés 2 autour de RSA 3 autres approches L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
communication bilatérale :1 clé 1 2 réseau ouvert 2 1 n n 3 2 n-1 1 n-1 4 3 ... ... 5 4 6 5 réseau en étoile: n - 1 clés e-commerce et clés n. (n-1) / 2 clés L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
groupes finis Exemple : groupe multiplicatif Z13 élément neutre 3 * 6 = 18 18 mod 13 = 5 * 1 2 3 4 5 6 7 8 9 10 11 12 1 1 2 3 4 5 6 7 8 9 10 11 12 2 4 6 8 10 12 1 3 5 7 9 11 2 3 6 9 12 2 5 8 11 1 4 7 10 3 4 8 12 3 7 11 2 6 10 1 5 9 4 5 10 2 7 12 4 9 1 6 11 3 8 5 6 12 5 11 4 10 3 9 2 8 1 7 6 Il existe un algorithme rapide pour calculer l’inverse dans Zn 7 1 8 2 9 3 10 4 11 5 12 6 7 8 3 11 6 1 9 4 12 7 2 10 5 8 9 5 1 10 6 2 11 7 3 12 8 4 9 2 est l’élémentinverse de 7, car 7 * 2 = 1 mod 13 10 7 4 1 11 8 5 2 12 9 6 3 10 11 9 7 5 3 1 12 10 8 6 4 2 11 12 11 10 9 8 7 6 5 4 3 2 1 12 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
ordre des éléments de Z13 puissances 1 2 3 4 5 6 7 8 9 10 11 12 1 1 2 4 8 3 6 12 11 9 5 10 7 1 2 3 9 1 3 4 3 12 9 10 1 4 Il existe un algorithme rapide pour calculer une exponentiation modulo n dans Zn 5 12 8 1 5 Les puissances de 2 engendrent tout le groupe. 2 est un générateur du groupe 6 10 8 9 2 12 7 3 5 11 1 4 6 7 10 5 9 11 12 6 3 8 4 2 1 7 8 12 5 1 8 9 3 1 9 10 9 12 3 4 1 10 11 4 5 3 7 12 2 9 8 10 6 1 11 8 est un élément d’ordre 4, car 84mod 13= 1 12 1 12 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
calculer la clé commune choisir x secret choisir y secret calculer la clé commune y x A = gx mod p B = gy mod p A B A = gx mod p B = gy mod p x = ? y = ? clé = Ay mod p = (gx)y mod p = g x*y mod p clé = Bx mod p = (gy)x mod p = g x*y mod p Edgar Alice Bob échange Diffie-Hellman On travaille dans Zp* avec le générateur g p, g publics échanger les résultats L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
A = gx mod p x = ? Edgar problème du logarithme discret x = log A mod p trouver l‘exposant secret ! ce problème est considéré comme difficile La recherche exhaustive ne fonctionne pas pour des x et des p élevés. L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
approche nouvelle [ parenthèse] 1984 transmettre des états quantiques (non falsifiables) BB 0° 45° 90° 135° polarisation de photons Charles H. BENNET 0 0 1 1 Gilles BRASSARD Quantum Cryptography : public key distribution and coin tossing mode de codage A mode de codage B [ International Conference on Computing, Systems & Signal Processing, Bangalore, India] L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Alice Bob échange quantique [ parenthèse] fibre optique générateur de photons polarisés analyseur de photons polarisés canal non sécurisé de communication canal d’échange de clé canal de concertation L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
protocole d’échange BB84 A B [ parenthèse] ob lice aléatoire 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 aléatoire 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 aléatoire 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 séquence commune 1 1 0 1 0 1 0 1 0 1 1 1 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
validation BB84 [ parenthèse] A B toute intervention d’Edgar introduit des incohérences dans la suite binaire ob lice 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 Tester un sous-ensemble des bits communs Edgar dans les parages [KO] [OK] rejeter la chaîne et recommencer maintenir la chaîne excepté les bits testés L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
structure de cette leçon 1 échange de clés autour de RSA 2 autour de RSA cryptographie à clé publique 3 autres approches L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
y registre des clés publiques x B = gy mod p A = gx mod p A B ma clé privée ) ( Alice Bob clé publique – clé privée clé privée Alice clé privée Bob clé commune = clé publique du partenaire mod p L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
k1 k2 m m texte en clair texte en clair cryptographie asymétrique paire de clés fonction trappe f c1 f c2 texte chiffré L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
clé publique du partenaire clé secrète du partenaire d e m m c1 texte chiffré texte en clair texte en clair chiffrement de messages Seul le partenaire est à même de déchiffrer le message. f f L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
clé publique de l’expéditeur clé privée de l’expéditeur d e m m c2 texte chiffré texte en clair texte en clair authentification de messages le message est authentifié L’expéditeur est le seul à même de chiffrer le message de cette façon. Tout le monde peut déchiffrer ce message. f f L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
trouver un exemple Qui est en mesure de trouver un bon exemple de fonction à sens unique ? ? L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Adleman Adi Shamir Leonard Ronald Rivest RSA « A Method for Obtaining Digital Signatures and Public Key Cryptosystems" [Communications of the ACM, Vol 21, n° 12] 1978 R S A L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
33 RSA en 1977 Adleman Rivest Shamir L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
k n m' m message en sortie message en entrée fonction trappe RSA le truc: n est le produit de deux nombres premiers ayant chacun 512 bit au moins k est l’exposant (public ou secret) m' = m k mod n n est public, mais ses deux facteurs premiers sont maintenus secrets, car ils permettent de calculer la clé secrète L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Bonjour ! message message = nombre [ commentaire] unesuite de codes binaires 1000010 1101111 1101110 1101010 1101111 1110101 1110010 0100000 ungrand nombre binaire 10000101101111110111011010101101111111010111100100100000 un grandnombre décimal 37 646 688 348 633 376 37 billiards 646 billions 688 milliards 348 millions 633 mille et 376 Tout message peut être interprété comme un grand nombre entier L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
( ) 2 ( ) 2 37.646.688.348.633.376 = 1.417.273.143.619.127.986.862.606.861.157.376 = calculer avec des messages [ commentaire] Bonjour ! message 37.646.688.348.633.376 nombre associé Bonjour ! 1 quintilliard 417 quintillions 273 quadrillards 143 quadrillions 619 trilliards 127 trillions 986 billiards 862 billions 606 milliards 861 millions 157 mille et 376 RSA nécessite des nombres à plusieurs centaines de chiffres décimaux. L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
conséquences des grands nombres [ commentaire] Les processeurs calculent seulement sur 64 ou 128 bits on doit disposer d'algorithmes spéciaux de calcul âge de l'univers : 10 10 années = 10 17 secondes = 10 26 nanosecondes l'exploration complète de domaines de grands nombres est pratiquement impossible L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
m' autres conséquences [ commentaire] m' = m k mod n m { m < n } { m’ < n } Les messages doivent être assez courts. une centaine de caractères messages longs: décomposer en blocs peu performant comparé à AES On préfère des messages courts : transmission de clé AES leçon 1 signature électronique leçon 4 leçon 5 transactions financières L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
me mod n Alice Bob m m message chiffré message en clair message en clair chiffrement AES transmission de la clé publique: voir leçon 4 clé publique de Bob ( e, n) ( e, n) exposant public Bob e d e n exposant privé de Bob n module de Bob RSA RSA L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
me mod n Bob m message chiffré message en clair relation entre e, d et n exposant public Bob exposant privé de Bob On montre que eet d doivent être inverses modulo (p-1)*(q-1) module de Bob e d n = p * q n nombre d’éléments de Zn* RSA (me)d mod n = L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
7. publier génération des paramètres • choisir deux nombres premiers très grands • (à tenir secrets) 2. calculer n p * n 6. détruire p et q q calculer inverse de e modulo (p – 1)(q – 1) d e 5. sauvegarder dans un système sécurisé 4. calculer l’exposant de décodage 3. sélectionner l‘exposant d’encodage L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Fn = 2 + 1 2n choix de e Contrainte: e ne doit pas avoir de diviseurs communs avec (p – 1) ou avec (q – 1) • Essayer d’optimiser les calculs d’encodage: • longueur binaire courte • minimiser le nombre de 1 binaires Pierre de FERMAT 1601-1665 F0 = 21 + 1 = 3 = (11)2 nombres de Fermat dangereux F1 = 22 + 1 = 5 = (101)2 F2 = 24 + 1 = 17 = (10001)2 F3 = 28 + 1 = 257 = (100000001)2 F4 = 216 + 1 = 65 537 = (10000000000000001)2 fréquemment utilisé chiffré(m) = m 65537 mod n L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
problèmes RSA e Celui qui connaît p et q peut recalculer la clé privée p d n q voir leçon 4 Peut-on retrouver p et q à partir de n ? Qui doit choisir p et q ? L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
algorithmes de factorisation p–1 (Pollard) rho (Pollard) p+1 (Williams) Lehmer- Powers Morrison- Brillhart Fermat Shanks Seysen Dixon Valle QS (Pomerance) Shor ECC (Lenstra) MPQS (Silverman) NFS (Lenstra) L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
record 2009 232 chiffres décimaux RSA-768 = 1230186684530117755130494958384962720772853569595334792197322452151726400507263657518745202199786469389956474942774063845925192557326303453731548268507917026122142913461670429214311602221240479274737794080665351419597459856902143413 n = 33478071698956898786044169848212690817704794983713768568912431388982883793878002287614711652531743087737814467999489 × 36746043666799590428244633799627952632279158164343087642676032283815739666511279233373417143396810270092798736308917 p q équipe Thorsten Kleinjung, Kazumaro Aoki, Jens Franke, Arjen K. Lenstra, Emmanuel Thomé, PierrickGaudry, Alexander Kruppa, Peter Montgomery, Joppe W. Bos, Dag Arne Osvik, Herman teRiele, AndreyTimofeev, et Paul Zimmermann L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Edgar Recommandationspour la longueur de n Si je découvre un algorithme de factorisation efficace, alors RSA est mort privé: 1024 bit entreprise: 2048 bit longue durée : 3072 bit NSA GCHQ au-delà de 2030 Government Communications Headquarters L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
33 années d‘attaques de RSA common modulus attack low exponent attack short message attack blind signature attack masked message attack cycle attack timing attack partial key exposure attack random faults attack padding attack L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
deux pionniers à Luxembourg Whitfield DIFFIE Clifford COCKS L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
structure de cette leçon 1 échange de clés 2 autour de RSA autres approches autres approches courbes elliptiques 3 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
l’informatique mobile cryptographie temporaire clés Il faut des algorithmes appropriés mémoire programme mémoire de travail mémoire permanente processeur entrée / sortie faible puissance bloc en clair/ bloc chiffré L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
les courbes elliptiques y2 = x3 + ax + b Si on travaille sur des nombres réels, la courbe peut être représentée. symétrie par rapport àOx Une droite passant par deux points de la courbe, passe aussi par un troisième point de la courbe. L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
P and Q ne sont pas alignés verticalement P Q P = Q = P + Q opérations sur des points (1) = P + Q x3 et y3 se calculent facilement On définit une opération : P(x1,y1) + Q(x2, y2) = R(x3, y3) L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
P et Q sont alignés verticalement O P Q O P = Q élément neutre = point à l‘infini opérations sur des points (2) L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
3 xP2 + a yQ - yP yR = -m (xR - xP ) - yP xR = m2 - xP - xQ m = m = xQ - xP 2 yP courbes elliptiques sur Zp y2x3+ 3x + 9 (mod 11) Pour les opérations de groupe P + Q = R on se sert des formules analytiques dans Zp a, b Z11 P Q R P= Q xP = xQ R = O P +O = O+ P = P L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
point + A B C D E F G H I J O A (0, 3) A E O J C G B I F D H A B (0, 8) B O F D I A H E J G C B C (2, 1) C J D A O H I F G B E C D (2, 10) D C I O B J G H E F A D E (3, 1) E G A H J I O D B C F E F (3, 10) F B H I G O J A C E D F O G (6, 1) G I E F H D A C J B G H (6, 10) H F J G E B C O D A I H F I (10, 4) I D G B C E J A H O I J (10, 7) J H C E A F D B I O G J O infini O A B C D E F G H I J O exemple : groupe y2 x3+ 3x + 9 (mod 11) Ordre : 11 source de l‘exemple: D. Wätgen: "Kryptographie", Spektrum Akademischer Verlag, 2004, p. 247 L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
courbe elliptique standardisée courbe NIST P-384 E : y2 x3 – 3x + b (mod p) module p = 39402006196394479212279040100143613805079739270465446667948293404245721771496870329047266088258938001861606973112319 b = b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef ordre du groupe = 39402006196394479212279040100143613805079739270465446667946905279627659399113263569398956308152294913554433653942643 points Générateur: Gx = aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7 Gy = 3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
E(Zp) courbe elliptique sur Zp G = générateur de E(Zp) x, y dans Zp y x registre public A= x. G B = y. G A B Alice Bob échange de clé G + G + … + G y fois G + G + … + G x fois E(Zp) G K= y. A = (k1, k2) K= x. B = (k1, k2) point commun sur la courbe
e1 m1 e2 m2 Alice Bob chiffrement simple Menezes-Vanstone K= y. A = (k1, k2) K= x. B = (k1, k2) échange inverse modulo p k1 k2 k1-1 k2-1 k1.m1(mod p) k2.m2(mod p) k1-1.e1(mod p) k2-1.e2(mod p) m1 bloc en clair bloc en clair m2 demi-blocs chiffrés L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
menaces sur votre carte Il y a toujours de l’information qui suinte. durée des calcul consommation électrique radiations Jean-Sébastien CORON erreurs provoquées contraintes physiques side-channel attacks L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information
Alice et ses outils échange de clés avec des inconnus chiffrement de messages authentification de messages utilisation de cartes intelligentes L'Art du Secret: 2. Assurer la confidentialité dans la société de l'information