La cryptologie: enjeux et perspectives PariSTIC Nancy, 24 novembre 2006 Jacques Stern Professeur à l’Ecole normale supérieure Directeur du LIENS, Laboratoire d’informatique de l’ENS, CNRS/ENS
Résumé Bref aperçu historique Qu’est-ce que la cryptologie? Quatre chantiers de la cryptologie L ’ubiquité de la cryptologie Etudes de cas
Un art ancien papier cadrans et cylindres machines chiffrantes
Une science ancienne al-Kindi (850) Vigenere (1585) Schott (1665)
Une science longtemps duale : la guerre des codes Contre l’ENIGMA Gagnée par Alan Turing et les Britanniques
Une science intimement liée à l’informatique 1944 : Colossus, machine informatique suggérée par Turing 1976 : Invention de la cryptologie à clé publique pour une communication sûre entre machines ; anticipation d’Internet
Qu’est ce que la cryptologie La science des messages secrets La trilogie fondamentale : Intégrité Authenticité Confidentialité La seule (?) science qui conceptualise l’ennemi
Confidentialité: le chiffrement Transmettre un message sur un canal non sécurisé de façon qu’un tiers ne puisse en prendre connaissance Une clé préalablement échangée sert au chiffrement et au déchiffrement Clé secrète Clair Chiffré E D Chiffré Clair Clé secrète
Authenticité La capacité de chiffrer et déchiffrer garantit l’authenticité Cette authenticité n’est pas opposable aux tiers Message chiffré aléatoire Message Copyright Cryptolog 1998
Du DES à l’AES DES conçu en 1975 Chiffre avec des clefs de 56 bits Cryptanalysé par recherche exhaustive en 1998 Remplacé par Triple DES et AES
1976-78: la cryptologie asymétrique Inventée par Whitfield Diffie et Martin Hellman Elimine tout échange préalable Réalisée par Ron Rivest, Adi Shamir et Len Adleman Clé publique Bob Clair Chiffré E D Chiffré Clair Clé secrète
La cryptographie à clef publique mène aux signatures En appliquant D au message m pour créer la signature La vérification ne nécessite que la clef publique Rend opposable aux tiers l’authentification D E Bob
Le cryptosystème RSA 1978: Rivest, Shamir Adleman module n et exposant petit e n produit de p q premiers Le chiffrement de x est y= xe mod n Le déchiffrement de y est x=yd mod n d calculé à partir de p,q (secrets) Bob
Sécurité algorithmique Date: Mon, 9 May 2005 18:05:10 +0200 (CEST) From: "Thorsten Kleinjung" Subject: rsa200 We have factored RSA200 by GNFS. The factors are 3532461934402770121272604978198464368671197400197625023649303468776121253679423200058547956528088349 and 7925869954478333033347085841480059687737975857364219960734330341455767872818152135381409304740185467 More details will be given later. F. Bahr, M. Boehm, J. Franke, T. Kleinjung Fondée sur la difficulté de trouver deux nombres premiers p and q à partir de leur produit n Le record Précédent 173: 12/03; recommandé1024 bits (328) ou 2048
4 chantiers de la cryptologie La défense : cryptographie L ’attaque : cryptanalyse La preuve Les applications
La défense : conception d’algorithmes cryptographiques 1992 : Algorithme d’authentification « zero knowledge » fondé sur les codes correcteurs 1998 : Algorithme d’authentification et de signature rapide « GPS » norme ISO
L’attaque : cryptanalyse 1987 : cryptanalyse d’un générateur d’aléas standard 1997 : cryptanalyse d’un algorithme à clé publique fondé sur la géométrie des nombres et présenté comme inviolable par les chercheurs d’IBM
La preuve 1990-2000 : Méthode de « sécurité prouvée » développée au sein du Laboratoire Appliquée notamment à OAEP (format de chiffrement RSA normalisé) prouvé en 1993 par une équipe US 2000 : la preuve est reconnue fausse! 2001: preuve correcte (collaboration du Labo avec une équipe japonaise)
Les applications : Nous portons sur nous deux processeurs cryptographiques et utilisons des connexions sécurisées Travaux au Laboratoire sur : le vote électronique l’évaluation des algorithmes 3G
Etude de cas: Les cartes bancaires 1971: cartes à piste magnétique 1990-1992: vers la puce 2004- : vers EMV et le DDA
Premier niveau de sécurité: piste Données (en clair) PAN(numéro) date d’expiration données de service Données chiffrées : PIN CODE chiffré ISO 1 ISO 2
Menaces La piste est copiable Le CODE PIN visible
Second niveau de sécurité: puce Authentification hors ligne CODE PIN Authentification des transactions par cryptogramme (Triple) DES
CODE PIN PIN CODE OUI/NON Continuer Y FAIL NO
SDA: Static Data Authentication RSA sign de PAN+data Emetteur signature RSA RSA sign OK Continuer Y FAIL NO
Vérification en ligne du cryptogramme BANQUES Clé secrète Triple DES Emetteur Cryptogramme Cryptogramme OK Transaction Cryptogramme 3-DES Cryptogramme OK Continuer Y FAIL NO
Menaces: « Yes cards » La signature statique RSA est copiable Et des « clones » peuvent ainsi être utilisés et sont connus sous le nom de « yes-cards »
Une « yes card » Est-ce toi mère-grand? Ouii Es-tu une vraie carte Oui distributor
Troisième niveau de sécurité: DDA Skcard + PK signée Emetteur Acquéreur PublicKIssuer Défi aléatoire (défi)Skcard (Pkcard)SKIssuer Certificat OK signature du défi OK? Continuer Y FAIL NO
Etude de cas: les formats RSA Comment utiliser RSA « en pratique » en prouvant qu ’il n ’y a aucune dégradation de sécurite vis à vis du « problème RSA » Problème RSA (extraction de racines e-ièmes modulo n)? Résoudre l’équation en x y= xe mod n
PKCS#1 v 1.5 1993 Utilisé dans SSL v3.0 Data block Random pad 00 02 Random pad 00 Utilisé dans SSL v3.0 00 00 Random pad 00 03 00 premastersecret 48 bytes
Attaque de Bleichenbacher 98 L’ennemi soumet des chiffrés aléatoires et apprend s’ils sont corrects vis à vis du format PKCS#1 La réponse donne de l’information sur quelques bits de la clé privée Cette clé est recouvrée après quelques milliers d’appels plausible dans l’environnement SSL
OAEP Bellare-Rogaway 1994 M r a b H M = m||0…0 r aléa G et H fonctions aléatoires E(m) : Calculer a,b puis retourner c=f (a||b) D(c) : Calculer a||b = g(c) inverser OAEP, et retourner m (si la redondance est satisfaite)
Preuves de sécurité Tentative de “prouver” mathématiquement la sécurité d’un algorithme crypto, en utilisant la théorie de la complexité algorithmique Version extrême du 1er principe de Kerchkoffs (1883): « Le système doit être matériellement sinon mathématiquement indéchiffrable »
Preuve par « réduction » Utiliser un attaquant A qui parvient à son but utilisé pour résoudre P A P insoluble schéma sûr
Confidentialité forte Sécurité sémantique Le chiffré ne révèle aucune autre information sur le message clair à un adversaire polynomial capable de contrôler l ’espace des messages
Types d’attaques à clair choisi CPA; ne couvre pas l’attaque de Bleichenbacher) à chiffré choisi CCA: l’adversaire a accès au déchiffrement de chiffrés
Oracle aléatoire Aucun schéma basé sur RSA n’admet de preuve de sécurité On identifie – pour obtenir une preuve -certaines fonctions (G et H) à des fonctions aléatoires
OAEP (suite) RSA-OAEP retenu par RSA PKCS, SET, IETF, IEEE, ISO, Dans le modèle de l’oracle aléatoire, OAEP conduit à un schéma IND-CCA à partir de toute permutation à sens-unique à trappe RSA-OAEP retenu par RSA PKCS, SET, IETF, IEEE, ISO, preuve incorrecte (Shoup 2000)
RSA-OAEP FOPS 2001 OAEP conduit au niveau CCA à partir d’une permutation à sens-unique sur un domaine partiel, à trappe : (f (a || b) --> a également difficile RSA-Partiel RSA IND-CCA2 de RSA-OAEP RSA Utilise des méthodes de la géométrie des nombres Heureusement pour les applications!
La sécurité est holistique De nombreuses techniques et compétences sont nécessaires normes crypto IGC Bob securité usage HW recherche
Conclusion : l’ubiquité de la cryptologie au XXIème siècle