Plan du cours Fondements des systèmes de cryptographie



Documents pareils
INF 4420: Sécurité Informatique Cryptographie II

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

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

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

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

TECHNIQUES DE CRYPTOGRAPHIE

Travail d intérêt personnel encadré : La cryptographie

Cryptologie à clé publique

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

Cryptographie et fonctions à sens unique

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

Sécurité de l'information

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Fonction de hachage et signatures électroniques

Calculateur quantique: factorisation des entiers

Des codes secrets dans la carte bleue. François Dubois 1

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

La sécurité dans les grilles

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

MEMOIRE DE MAGISTER EN ELECTRONIQUE. OPTION : Télédétection. Application des techniques de cryptage pour la transmission sécurisée d images MSG

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Signatures électroniques dans les applications INTERNET

MATHÉMATIQUES DISCRÈTES (4) CRYPTOGRAPHIE CLASSIQUE

La cryptographie du futur

LES SECURITES DE LA CARTE BANCAIRE

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

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

0x700. Cryptologie Pearson France Techniques de hacking, 2e éd. Jon Erickson

Principes de cryptographie pour les RSSI

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

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

Protocoles cryptographiques

Authentification de messages et mots de passe

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Livre blanc. Sécuriser les échanges

Les fonctions de hachage, un domaine à la mode

Architectures PKI. Sébastien VARRETTE

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

Audit des risques informatiques. Introduction à la Cryptographie Pierre-François Bonnefoi

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Gestion des certificats digitaux et méthodes alternatives de chiffrement

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

D31: Protocoles Cryptographiques

Panorama de la cryptographie des courbes elliptiques

GPA435 SE et PS. Sécurité Informatique. Étude de cas: ios Version 2013

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

Du 03 au 07 Février 2014 Tunis (Tunisie)

«La Sécurité des Transactions et des Echanges Electroniques»

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

ÉPREUVE COMMUNE DE TIPE Partie D

La cryptographie dans le système bancaire

Chapitre 3 : Crytographie «Cryptography»

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

Le format OpenPGP. Traduit par : Sébastien Person. personseb@yahoo.fr. Matthieu Hautreux. matthieu.hautreux@insa-rouen.fr.

EMV, S.E.T et 3D Secure

Audit des risques informatiques

Cryptographie appliquée

Gestion des Clés Publiques (PKI)

Pascal Gachet Travail de diplôme Déploiement de solutions VPN : PKI Etude de cas

Réseaux Privés Virtuels

Gestion des clés. Génération des clés. Espaces de clés réduits. Mauvais choix de clés. Clefs aléatoires. Phrases mots de passe

Signature électronique. Romain Kolb 31/10/2008

Le protocole SSH (Secure Shell)

TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION

Cryptologie et physique quantique : Espoirs et menaces. Objectifs 2. distribué sous licence creative common détails sur

Sécurité des réseaux IPSec

Les certificats numériques

ETUDE DES MODELES DE CONFIANCE

L identité numérique. Risques, protection

Introduction à la sécurité informatique

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Sécurité WebSphere MQ V 5.3

Le partage de clés cryptographiques : Théorie et Pratique

TP 2 : Chiffrement par blocs

Sécurité des réseaux sans fil

Cryptographie et Sécurité informatique

Le protocole sécurisé SSL

Annexe 8. Documents et URL de référence

La sécurité des réseaux

Déploiement d'une Infrastructure de Gestion de Clés publiques libre

La sécurité dans un réseau Wi-Fi

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

IPSEC : PRÉSENTATION TECHNIQUE

PUBLIC KEY INFRASTRUCTURE. Rappels PKI PKI des Impôts PKI de la Carte de Professionnel de Santé

Vous revisiterez tous les nombres rencontrés au collège, en commençant par les nombres entiers pour finir par les nombres réels.

De la sphère de Poincaré aux bits quantiques :! le contrôle de la polarisation de la lumière!

Nouveaux résultats en cryptographie basée sur les codes correcteurs d erreurs

DISTANT ACESS. Emna TRABELSI (RT3) Chourouk CHAOUCH (RT3) Rabab AMMAR (RT3) Rania BEN MANSOUR (RT3) Mouafek BOUZIDI (RT3)

Programmation Réseau SSH et TLS (aka SSL)

Ludovic Mé http ://rennes.supelec.fr/rennes/si/equipe/lme/ Campus de Rennes Equipe SSIR

CA SIC Directives de certification Certificate Practice Statement (CPS) du SIC Customer ID CA 1024 Level 2

Royal Military Academy Brussels, BELGIUM Secure Information Storage in the Cloud

DNSSEC. Que signifie DNSSEC? Pourquoi a-t-on besoin de DNSSEC? Pour la sécurité sur Internet

Transcription:

Bases cryptographiques de la sécurité-innocuité utilisées dans les architectures de réseaux et les systèmes d exploitations modernes. Plan du cours Fondements des systèmes de cryptographie étude de la sécurité des procédés de chiffrement utilisés en cryptographie Cryptologie = cryptographie + cryptanalyse Cryptographie? Cryptographie? Inspiré des supports de cours de Sébastien Jean (merci!!) Cryptanalyse Définition Historique Systèmes à clé secrète Systèmes à clé publique 2. Systèmes à clé secrète http://www.lifl.fr/~grimaud/cours = écriture cachée = science des communications sécurisées = étude des principes, méthodes et techniques reliées aux aspects de sécurité de l'information Introduction Scénario Clef secrète et Infrastructure AES 3. Systèmes à clé publique Par Gilles Grimaud Université des Sciences et Technologies de Lille Cryptographie (grec kruptos : caché, graphein : écrire). Introduction BOB Canal non sûr Cryptosystème Ensemble constitué d'un algorithme cryptographique ainsi que toutes les clés possibles et tous les protocoles qui le font fonctionner ALICE Cryptographe Introduction Scénario asymétrique Clefs publiques et infrastructures Signature et certificats RSA Niark, niark!! CHARLIE Personne ayant pour principale tâche de fournir des outils de cryptographie Cryptopathe #_djsk3»p #_djsk3»p Damned!! Canal non sûr Cryptogramme #_djsk3»p Paramètre (clé) Algorithme de chiffrement Histoire cryptographique /4 Algorithme de déchiffrement Partage de secret (éventuel) Cryptographie? Personne qui ne jure que par la cryptographie ;-) 3600 av. J-C les glycènes de l indus 900 av. J-C Un scribe égyptien utilise des hiéroglyphes non standards. 500 av. J-C Des scribes hébreux emploient ATBASH, un simple algorithme de chiffrement de substitution utilisant l'alphabet renversé, pour la transcription du livre de Jeremiah. 487 av. J-C Des spartiates utilisent le «scytale», un grand bâton de chiffrage autour duquel on enroulait une longue et mince bande de cuir sur laquelle se trouvaient des informations. 50 av. J-C Julius Caesar utilise une simple substitution dans l'alphabet pour les communications gouvernementales. Entre 0 et 400 Le Kama Sutra de Vatsayana liste la cryptographie comme étant le 44e et 45e art, dans une liste de 64 arts (yogas). 200 Le papyrus de Leyde utilise un algorithme de chiffrement pour cacher les parties importantes de recettes (magiques).

Histoire cryptographique 2/4 Cryptographie d état 634 Algorithme de vigenère 98 Gilbert Vernam, mathématicien américain, invente le one-time cipher (one-time pad), encore aujourd'hui l'algorithme de chiffrement le plus sécuritaire, mais impratiquable. 99 La American Black Chamber, un organisme installé à New York, a comme rôle de déchiffrer les codes venant du Japon. 923 Dr Arthur Scherbius, hollandais résidant en Allemagne, met au point une machine nommée Enigma qui sert à encoder des messages. Son prix très élevé en fait un échec. 925 La marine de guerre allemande reprend le projet d'enigma en le confiant au Chiffrierstelle, le service de chiffrement. 937 Enigma M3 est adopté par la Wehrmacht, l'armée allemande. Histoire cryptographique 3/4 Début de l ère moderne de la cryptographie (passage du bricolage aux maths) 939 Début de la seconde guerre mondiale, où 2 000 scientifiques et mathématiciens anglais, polonais et français travaillent sur Enigma et les milliers de messages chiffrés. L'équipe d'alan Turing réussit finalement à le résoudre. 970 IBM développe Lucifer 976 IBM publie un algorithme basé sur Lucifer. Il devient le DES (Data Encryption Standard). Whitfield Diffie et Martin Hellman introduisent l'idée d'un système à clé publique. 978 L'algorithme de chiffrement à clé publique RSA est publié par Ronald L. Rivest, Adi Shamir et Leonard M. Adleman. 984 L'algorithme ROT3 est utilisé dans le USENET et devient le premier exemple de l'utilisation des clés publiques. 990 Première publication des résultats expérimentaux de la cryptographie quantique par Charles H. Bennett et Gilles Brassard. Histoire cryptographique 4/4 99 Phil Zimmermann rend disponible sa première version de PGP (Pretty Good Privacy). 992 L'IDEA est inventé en Suisse par Xuejia Lai et James Massey. MD5 est développé par Ronald L. Rivest. 993 Bruce Schneier conçoit Blowfish. Don Coppersmith crée SEAL. 994 Ron Rivest, déjà auteur de RC2 et RC4, publie RC5. Un standard régissant les signatures numériques voit le jour : le DSA (DSS). 995 Le NIST développe le Secure Hash Algorithm (SHA) 998 L'algorithme Rijndael est soumis au NIST pour devenir le nouveau standard : l'aes. 5 autres algorithmes concourent. 2000 Rijndael devient l'aes, le standard du chiffrement avancé. A quoi sert la cryptographie? Quatre propriétés de sécurité : Confidentialité S assurer que les données ne puissent être interprétées que par les interlocuteurs Intégrité des données S assurer que les données n ont pas été modifiées durant leur transport Authentification S assurer de l identité de l émetteur Non répudiation S assurer que l émetteur ne pourra pas nier Moyens Chiffrement Signature Deux préoccupations différentes Authentification Intégrité Familles de systèmes crypto Systèmes modernes algorithme de chiffrement = algorithme de déchiffrement Fonction réversible paramétrée par une clé (suite de bits) Systèmes à clé secrète clé unique K partagée par les deux interlocuteurs Systèmes à clé publique Clé publique Kpu transmissible à tous les émetteurs Clé privée Kpr gardée secrète par le récepteur Systèmes à clé secrète Systèmes à clé secrète (symétriques) Avec M le message «en clair» et M le message «crypté» Avec F la fonction cryptographique symétrique, et K la clé secrète partagée par les deux parties. Chiffrement : M = F K (M) Déchiffrement : F K (M ) = F K (F K (M)) = M K émetteur F récepteur K

Systèmes à clé publique Systèmes à clé publique (asymétriques) Clé publique Kpu transmissible à tous les émetteurs Clé privée Kpr gardée secrète par le récepteur Chiffrement : M = F Kpu (M) Déchiffrement : F Kpr (M ) = F Kpr (F Kpu (M)) = M Signature : S = F Kpr (résumé(m)) ; M = M+S Vérification : F Kpu (S) = résumé(m)? Kpu émetteur récepteur F chiffrement signature récepteur émetteur Kpr Plan du cours. Introduction Définition Historique Systèmes à clé secrète Systèmes à clé publique 2. Systèmes à clé secrète Introduction Scénario Clef secrète et Infrastructure AES 3. Systèmes à clé publique Introduction Scénario asymétrique Clefs publiques et infrastructures Signature et certificats RSA Back to the roots La cryptographie symétrique est ancestrale Scytale, Code de César,, Enigma, Purple,, One time pad, DES, xdes, AES 4000 ans d histoire Elle a évolué grâce à l avènement des dispositifs mécaniques (vers 920), puis des ordinateurs (943) Elle est depuis toujours basée sur deux principales techniques La substitution Remplacer un symbole par un autre A Z Scénario symétrique () (Re) Chapitre : veut envoyer un message (super) confidentiel à Boréal vient de sortir une toute nouvelle crème démaquillante 5 en à 300 Euros les 20 ml*, tu peux me rappeler ton code de carte bleue? La permutation Echanger la position de deux symboles * Toute ressemblance avec une remarque misogyne serait purement fortuite MATTHIAS STHAMTIA Scénario symétrique (2) (Re) Chapitre : veut envoyer un message (super) confidentiel à mail from : alice@wonderland.com Rcpt to : bob@builderland.com Subject : envoi de clé secrete, Le prochain message est un message confidentiel. Utilise la clé secrète que nous avons précédemment décidée de partager. Scénario symétrique (3)! mail from : bob@wonderland.com Rcpt to : alice@builderland.com Subject : envoi de clé secrete OK, tu peux envoyer le message.?

********************************************************* Iur purpiu p»zoupiàfv,»v,)ora»oairezr^àci^ ircàirc Rekrieàpri àçt=ér)=é»çç»v _taé_)(_»)t_)»t_ t_» *************************************************** cryptogramme Scénario symétrique (5) Scénario symétrique (4) mail from : alice@wonderland.com Rcpt to : bob@builderland.com Subject : message confidentiel Algorithme cryptogramme mail from : alice@wonderland.com Rcpt to : bob@builderland.com Subject : message confidentiel ********************************************************* Iur purpiu p»zoupiàfv,»v,)ora»oairezr^àci^ ircàirc Rekrieàpri àçt=ér)=é»çç»v _taé_)(_»)t_)»t_ t_» *************************************************** Algorithme Confidentialité bidirectionnelle Debriefing : et utilisent une seule et même clé Partage d un secret (la clé privée) Hypothèses Les algorithmes de chiff/déchiffrement sont connus Retrouver le message clair à partir du cryptogramme Très facile avec la clé secrète (i.e. complexité polynomiale) Très (très) dur sans clé (i.e. K test de clé avec K espace des clé possibles) Echange de clé Doit se faire obligatoirement via un canal de transmission sûr Sécurité globale /3 : Clés secrètes de Fred Clés de Peter Peter Fred Peter Fred (80 km) Clés de Peter Clé secrètes de Fred Peter Fred X X Fred Peter X Sécurité globale 3/3 : Sécurité globale 2/3 : Clés de Peter Clé secrètes de Fred X X X X Peter Fred Fred Peter Transitivité des attaques 4

Debriefing (le retour) : Clé «cassée»? Plus personne ne peut envoyer de message confidentiel à la victime D autres secrets sont dévoilés La victime ne peut plus envoyer de messages confidentiels aux interlocuteurs dont elle possède les clés secrètes (elles ne le sont plus!) De faux messages de la victimes ont pu être propagés dans d autres cannaux. Passage à l échelle S il existe N interlocuteurs, alors pour que chacun puisse envoyer un message confidentiel à n importe quel autre (i) et recevoir un message confidentiel de n importe quel autre (ii), il faut que chaque couple (il y en a N*(N-)/2 ) décide d une clé secrète Chacun possède donc N- secrets! AES (/8) En 998, l algorithme DES, standard du chiffrement à clé secrète depuis 977 est «cassé» en une semaine grâce à une machine dédiée d un coût de fabrication de 200 000 Euros environ (une broutille). DES Le NIST relance alors un concours «ouvert» pour lui trouver un successeur, plus rapide et plus sûr. En octobre 2000, l algorithme Rijndael devient AES (Advanced Encryption Standard) Vincent Rijmen, Joan Daemen Nouveau! Super Rijndael chiffre deux fois plus blanc que votre ancien DES AES (2/8) Chiffrement par blocs Blocs de 28, 92 ou 256 bits Clés de 28, 92 ou 256 bits La taille de clé est indépendante de la taille du bloc Algorithme à itérations Un bloc subit un ensemble de transformations répété X fois X dépend de la taille de la clé Un bloc est vu comme un état, i.e. un tableau de 4 lignes de Y octets Y dépend de la taille du bloc A chaque tour intervient une clé différente, appelée clé de tour, dérivée de la clé initiale (le secret) par l opération d expansion. Transformations ByteSub : transformation non linéaire d octets ShiftRow : décalage de lignes MixColumn : mixage des colonnes AddRoundKey : ajout de la clé de tour Avant de débuter l ensemble des tours, le bloc de départ est additionné avec la clé secrète (ce qui se ramène dans le cas d AES à un simple XOR) AES (3/8) ByteSub Si l octet vaut X alors on le remplace par S[X] suivant le tableau ci-dessous : 099 24 9 23 242 07 97 048 00 03 043 254 25 7 8 202 30 20 25 250 089 07 240 73 22 62 75 56 64 4 92 83 253 47 038 054 063 247 204 052 65 229 24 3 26 049 02 004 99 035 95 024 50 005 54 007 08 28 226 235 039 78 7 009 3 044 026 027 0 090 60 082 059 24 79 04 227 047 32 083 209 000 237 032 252 77 09 06 203 90 057 074 076 088 207 208 239 70 25 067 077 05 33 069 249 002 27 080 060 59 68 08 63 064 43 46 57 056 245 88 82 28 033 06 255 243 20 205 02 09 236 095 5 068 023 96 67 26 06 00 093 025 5 096 29 079 220 034 042 44 36 070 238 84 020 222 094 0 29 224 050 058 00 073 006 036 092 94 2 72 098 45 49 228 2 23 200 055 09 4 23 078 69 08 086 244 234 0 22 74 008 86 20 037 046 028 66 80 98 232 22 6 03 075 89 39 38 2 062 8 02 072 003 246 04 097 053 087 85 34 93 029 58 225 248 52 07 05 27 42 48 55 030 35 233 206 085 040 223 40 6 37 03 9 230 066 04 065 53 045 05 76 084 87 022 AES (4/8) ShiftRow On décale les lignes de l état de la manière suivante 0 2 3 4 5 6 7 8 9 A B C D E F 0 2 3 5 6 7 4 A B 8 9 F C D E AES (5/8) MixColumn On multiplie l état par la matrice suivante : 2 3 3 2 3 2 3 2 Remarque : dans toute la suite, on considérera la taille d un bloc comme étant égale à 28 bits (6 octets). La multiplication n est cependant pas une simple multiplication de matrice mais une multiplication de polynômes dans F 256 C est une opération mathématique non triviale mais qui peut être ici aisément remplacée par des précalculs (i.e. une table) car on multiplie toujours par des constantes.

L addition de la clé de tour est un simple XOR Nombre de tours AES (7/8) AES (6/8) AddRoundKey Taille de la clé Taille du bloc 28 92 256 28 92 256 0 2 4 2 2 4 4 4 4 Sécurité Essayer toutes les clés 28 bits possibles (228) nécessiterait environ 027 années MIPS (année MIPS = 06 instructions par seconde pendant un an). La machine la plus puissante actuellement (source www.top500.org), Earth Simulator, est capable d effectuer environ 40 000 0000 MIPS. Loi de Moore (constat fait par Gordon Moore en 965 et toujours vérifié): la puissance des machines double tous les 8 mois Conséquence : une machine capable de casser (dans le pire des cas) une clé AES 28 bits en un an n existera pas avant 00 ans!! Performances Très faible empreinte mémoire (code de l algorithme, taille des tables de pré-calculs, mémoire de travail) Très facile à manipuler (basé sur des opérations binaires et/ou des pré-calculs) Au niveau logiciel, Pour les «grands» 5 Mo/s, implémentation C-optimisé Linux/x86 sur un AMD Athlon.4 GHz Et pour les «petits» Plan du cours AES (8/8) Pour le déchiffrement, on utilise les transformations inverses. Introduction Canal non sûr ALICE CHARLIE Introduction Scénario asymétrique Clefs publiques et infrastructures Signature et certificats RSA Algorithme de déchiffrement #_djsk3»p Partage de secret (éventuel) Niark, niark!! Piqûre de rappel (2/2) Piqûre de rappel (/2) Télévision numérique par exemple Introduction Scénario Clef secrète et Infrastructure AES 3. Systèmes à clé publique Coprocesseur/accélérateur 2.29 Gb/s pour l embarqué (2002)! Débits adaptés à des transmissions temps-réel de gros volumes de données BOB Définition Historique Systèmes à clé secrète Systèmes à clé publique 2. Systèmes à clé secrète 3 ko/s sur une carte à puce commune (2002) 765 octets de code, 256 octets de tables, 65 octets de mémoire de travail Au niveau matériel En un mois, pas avant 05 ans, En une semaine, pas avant 08 ans, En un jour, pas avant 3 ans, En une seconde, pas avant 30 ans, #_djsk3»p Damned!! Canal non sûr Cryptogramme #_djsk3»p Paramètre (clé) Algorithme de chiffrement 6

Scénario asymétrique(/9) Chapitre : veut envoyer un message (super) confidentiel à J ai vu une nouvelle robe, tu peux me rappeler ton code de carte bleue? Scénario asymétrique(2/9) Chapitre : veut envoyer un message (super) confidentiel à mail from : alice@wonderland.com Rcpt to : bob@builderland.com Subject : demande de clé publique, peux tu m envoyer ta clé publique, J ai besoin de t envoyer un message confidentiel Scénario asymétrique(3/9) Une clé publique? Diantre! Je n en ai pas! Scénario asymétrique(4/9) Privée Publique Générateur de paire de clés Scénario asymétrique(5/9) mail from : bob@builderland.com Rcpt to : alice@wonderland.com Subject : Re : demande de clé publique No problemo, la voilà : ********************************************************* Jiez»èçu»r» çà,vuàç,uà)»c,icf)» ic,ià)ic,i Crçuçàur nutàç( àt )étt»éejir»i (otv;t =«c» *************************************************** Scénario asymétrique(6/9) cryptogramme Algorithme

Scénario asymétrique(7/9) mail from : alice@wonderland.com Rcpt to : bob@builderland.com Subject : message confidentiel ********************************************************* Iur purpiu p»zoupiàfv,»v,)ora»oairezr^àci^ ircàirc Rekrieàpri àçt=ér)=é»çç»v _taé_)(_»)t_)»t_ t_» *************************************************** Scénario asymétrique(8/9) cryptogramme Scénario asymétrique(9/9) Hors de question! Debriefing : Confidentialité unidirectionnelle Pas de partage de secret La clé publique peut être connue de tous Simplicité de distribution Hypothèses Les algorithmes de chiff/déchiffrement peuvent être connus Retrouver le message clair à partir du cryptogramme doit être : Très (très) dur sans clé (i.e. temps infiniment long) Idem avec uniquement la clé publique Très facile avec la clé privée (i.e. temps très court) Echange de clé Peut se faire sur le canal non sûr (???) Sécurité bidirectionnelle Clés d Clé publique de bob Clé publique d Clés de Sécurité globale (/2) Clés publiques de, Peter et Clés de Fred Fred Peter

X Fred X X Transmission des clés (/3) Peter Debriefing (le retour) : Clés publiques de Clés de Fred, Peter et Clés d Clés de Demande de clé Transmission des clés (2/3) Sécurité globale (2/2) Clé «cassée»? Plus personne ne peut envoyer de message confidentiel à la victime Aucun autre secret n est dévoilé La victime peut toujours envoyer des messages confidentiels aux interlocuteurs dont elle possède les clés publiques Passage à l échelle Si il existe N interlocuteurs, alors pour que chacun puisse envoyer un message confidentiel à n importe quel autre (i) et recevoir un message confidentiel de n importe quel autre (ii), il faut que : chacun génère un couple de clés chacun envoie sa clé publique à tous les autres (ii) chacun ait reçu la clé publique de tous les autres (i) Chacun possède donc : Une clé privée (le secret) N clés publiques Clés de Clés d Cryptogramme (M avec clé ) Cryptogramme (M avec clé ) Clés d Clés de Scénario signature (/5) Transmission des clés (3/3) Clés de Clés de Demande de clé Ni ni ne pourront se rendre compte de la supercherie!! «man in the middle» Ecoute les communications et dispose de moyen pour dérouter les échanges Chapitre 2 : veut envoyer un message authentique à Envoi de message 9

Scénario signature (2/5) Algorithme de Hachage Chapitre 2 : veut envoyer un message authentique à Scénario signature (3/5) chiffré Chapitre 2 : veut envoyer un message authentique à Scénario signature (4/5) + chiffré Chapitre 2 : veut envoyer un message authentique à Scénario signature (5/5) chiffré Chapitre 2 : veut envoyer un message authentique à =? Certification (/2) Problèmes Transmission de clé publique Clé privée «cassée» Solution : PKI (Public Key Infrastructure) Certification (2/2) Certificat Clé publique Date de création Date de péremption Autorité émettrice Signé par l AC Autorité de certification Création de certificats Révocation Autorité de certification Digne de confiance Génération de paire de clés et de certificats Stockage protégé Gestion de liste de révocation

RSA (/6) Rivest, Shamir et Adleman (MIT), 978 Basé sur la difficulté de factoriser de grand nombres premiers P*Q = 06334589 P =?, Q =? P = 034 Q = 04729 Plus grand nombre premier connu à ce jour : 2 346697 - RSA (2/6) Principe de l algorithme RSA Soit P et Q deux grands nombres premiers Soit N = PQ Soit Φ(N)=(P-)(Q-) On calcule D et E tels que E premier avec Φ(N) dans l intervalle [max(p,q)+, N-] D inverse de E modulo Φ(N) 4 053 946 chiffres décimaux 3 466 97 bits Clé publique = {E,N} Clé privée = {D, P, Q} RSA (3/6) Soit P et Q deux grands nombres premiers Soit N = PQ Soit Φ(N)=(P-)(Q-) On calcule D et E tels que E premier avec Φ(N) dans l intervalle [max(p,q)+, N-] D inverse de E modulo Φ(N) Clé publique = {E, N} Clé privée = {D, N} P et Q doivent rester secrets! Chiffrement : C = M E mod N Déchiffrement : M = C D mod N RSA (4/6) Exemple : P=3, Q=, premiers, N = 33 φ(33)=(p-)*(q-)=20 On choisit : E = 3 [2, 33] D = inv(3,20) = 7 (car 3*7 mod 20 = ) Chiffrement de M=2 C = 2 3 mod 33 = 892 mod 33 = 8 Déchiffrement 8 7 mod 33 = 2 = M RSA (5/6) import java.util.random; import java.math.biginteger; class RSA { public static void main(string s[]) { Random rnd = new Random(); BigInteger p,q,n,r,e,d,m,mp,mpp; p = new BigInteger(52,0,rnd); q = new BigInteger(52,0,rnd); n = p.multiply(q); r = (p.subtract(biginteger.one)).multiply( q.subtract(biginteger.one)); e = new BigInteger(52,0,rnd); d = e.modinverse(r); m = new BigInteger("hello".getBytes()); System.out.println(" m = "+m); mp = m.modpow(e,n); System.out.println(" mp = "+mp); mpp = mp.modpow(d,n); System.out.println(" mpp = "+mpp); System.out.println(" message : "+ new String(mpp.toByteArray())); } } RSA (6/6) Sécurité 024 bits est la taille actuellement recommandée pour les clés Une attaque «force brute» réussira en temps raisonnable vers 2030 Performances Basé sur des mathématiques «gourmandes» Difficile à «câbler» Difficile à gérer pour une machine Débits non adaptés à des transmissions temps-réel de gros volumes de données (télévision numérique par exemple) Quelques kb/s pour RSA 024 Mais confortable pour le chiffrement «hors ligne» ou pour les transactions informatiques courtes

FIN!