Mécanismes asymétriques



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

Fonction de hachage et signatures électroniques

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

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

Cryptographie et fonctions à sens unique

Cryptographie. Cours 3/8 - Chiffrement asymétrique

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

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

Protocoles d authentification

Les protocoles cryptographiques

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

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

Architectures PKI. Sébastien VARRETTE

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

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

La sécurité dans les grilles

ÉPREUVE COMMUNE DE TIPE Partie D

Gestion des Clés Publiques (PKI)

Authentification de messages et mots de passe

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

Politique d utilisation par AC. Certification et protocoles. Contenu d un certificat (X.509)

Sécurité des réseaux IPSec

Les fonctions de hachage, un domaine à la mode

NORMES TECHNIQUES POUR UNE INTEROPERABILITE DES CARTES D IDENTITE ELECTRONIQUES

Signatures électroniques dans les applications INTERNET

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

Le protocole sécurisé SSL

Le Passeport Biométrique. Benoit LEGER CISSP ISO LD

Protocoles cryptographiques

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Cryptographie à clé publique : Constructions et preuves de sécurité

IPSEC : PRÉSENTATION TECHNIQUE

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

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

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

Autorité de Certification OTU

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

Chapitre 3 : Crytographie «Cryptography»

SSL ET IPSEC. Licence Pro ATC Amel Guetat

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.

La cryptographie du futur

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

SERVICES ELECTRONIQUES DE CONFIANCE. Service de Cachet Electronique de La Poste

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

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

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

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

Politique de Certification et Déclaration des pratiques de certifications de l autorité Tunisian Server Certificate Authority PTC BR

Le protocole SSH (Secure Shell)

Gestion des clés cryptographiques

Livre blanc. Sécuriser les échanges

Sécurité de l'information

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

La sécurité des réseaux. 9e cours 2014 Louis Salvail

D31: Protocoles Cryptographiques

PKI PKI IGC IGC. Sécurité des RO. Partie 4. Certificats : pourquoi?

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Sécurisation des accès au CRM avec un certificat client générique

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

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

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

: protection de la vie privée dans le contexte des services mobiles sans contact

Gilles GUETTE IRISA Campus de Beaulieu, Rennes Cedex, France

Public Key Infrastructure (PKI)

Audit des risques informatiques

Politique de Certification Pour les Certificats de classe 0 et 4 émis par l autorité de certification Notaires PUBLIÉ

POLITIQUE DE CERTIFICATION DE L'AC KEYNECTIS SSL RGS * (authentification serveur) Date : 12/08/2011

Cryptographie Quantique

POLITIQUE DE CERTIFICATION AC RACINE JUSTICE

Sécurité WebSphere MQ V 5.3

TECHNIQUES DE CRYPTOGRAPHIE

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

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

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

SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse. GRES 2006 Bordeaux 12 Mai Ahmed Serhrouchni ENST-PARIS CNRS

Action Spécifique Sécurité du CNRS 15 mai 2002

Plan de l exposé. La sécurité informatique. Motivation & risques. Quelques chiffres. Introduction. Un premier exemple. Chiffres à clé secrète

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

Panorama de la cryptographie des courbes elliptiques

Signature électronique. Romain Kolb 31/10/2008

POLITIQUE DE CERTIFICATION DE L AC : Crédit Agricole Cards and Payments

Sécurisation du DNS : Les extensions DNSsec

POLITIQUE DE CERTIFICATION DE L AC : Crédit Agricole Cards and Payments

Protocole industriels de sécurité. S. Natkin Décembre 2000

INF4420: Éléments de Sécurité Informatique

Certificats et infrastructures de gestion de clés

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

Le protocole RADIUS Remote Authentication Dial-In User Service

1 L Authentification de A à Z

Payment Card Industry (PCI) Normes en matière de sécurité des données. Glossaire, abréviations et acronymes

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

INF 4420: Sécurité Informatique Cryptographie II

Note technique. Recommandations de sécurité relatives à IPsec 1 pour la protection des flux réseau

Tutoriel DNSSEC. Stéphane Bortzmeyer, AFNIC. Présenté par : JRES Nantes, 4 décembre {Stephane.Bortzmeyer,Mohsen.Souissi}@afnic.

Transcription:

Mécanismes asymétriques Gwenaëlle Martinet DCSSI Crypto Lab

2 Problématique Alice veut communiquer en toute confidentialité avec Bob Sans interaction Sans aucun secret commun Diffie et Hellman en 1978 «remarquent» que si les clés de chiffrement et de déchiffrement sont différentes, alors la clé de chiffrement peut être rendue publique Notion de cryptographie asymétrique

3 Outils de base On dispose : De primitives : Fonction à sens unique à trappe : RSA Logarithme discret Fonctions plus «exotiques» De fonctions de hachage De primitives de cryptographie symétrique But : construction de schémas sûrs dans le sens le plus fort

4 Ce qu on veut construire Schémas de chiffrement Schémas de signature Protocoles d échange de clé Protocoles d authentification Protocoles avancés : Preuve de connaissance à divulgation nulle de connaissance (protocoles zero-knowledge) Vote électronique Monnaie électronique

5 Sécurité d un schéma Il faut définir Les moyens des attaquants Les buts des attaquants La sécurité «la plus forte» que l on veut atteindre Ce qu on veut obtenir : Confidentialité Intégrité Non malléabilité Non répudiation

Chiffrement RSA

7 La primitive RSA Primitive proposée en 1978 par Rivest, Shamir et Adleman Clé publique : N = pq produit de deux grands nombres premiers e un entier premier avec ϕ(n) Clé privée : La factorisation de N d tel que e d = 1 mod ϕ(n)

8 Chiffrement basique RSA Chiffrement basique : C = m e mod N Déchiffrement : calcul de racine e-ième modulaire m = C d mod N En effet, on a : C d = (m e ) d mod N = m ed mod N = m mod N

9 Le chiffrement RSA Pour éviter toutes les attaques élémentaires sur RSA : on utilise un padding, ou encodage, du message avant chiffrement En déchiffrement, on vérifie si le padding est correct avant de renvoyer le clair Normes : PKCS #1 versions 1.5 et 2.1 proposées par RSA Laboratories

10 Description de PKCS #1 v1.5 Norme de 1993 publiée par RSA laboratories Recommandations pour l utilisation de RSA Préconise l emploi d un padding 00 02 Octets non nuls 00 données Au moins 8 octets

11 Chiffrement RSA PKCS #1 v1.5 00 02 Octets non nuls 00 données Au moins 8 octets RSA Puissance e modulo N chiffré

12 Déchiffrement RSA PKCS #1 v1.5 Pour déchiffrer un chiffré C: On calcule M = C d mod N On vérifie que M sur k octets se compose D un octet nul D un octet égal à 0x02 D au moins 8 octets non nuls D un octet nul parmi ceux qui restent Si un des tests échoue, le clair est invalide

13 Sécurité : Buts des adversaires Retrouver la clé privée cryptanalyse complète Déchiffrer tout chiffré ou un chiffré donné (choisi ou quelconque) Attaque de la «One-Wayness» Distinguer le chiffré de M du chiffré de M Malléer un chiffré Attaque de la sécurité sémantique Attaque de la non-malléabilité

14 Sécurité: Moyens des adversaires Attaques à clairs connus : l adversaire connaît le clair correspondant aux chiffrés qu il intercepte Attaques à clairs choisis : l adversaire choisit des messages et en demande le chiffrement (hypothèse minimale) Attaques à chiffrés choisis : L adversaire choisit des chiffrés et en demande le déchiffrement Accès à un oracle de déchiffrement

15 Sécurité prouvée Il est possible de prouver la sécurité d un schéma cryptographique En cryptographie asymétrique, on prouve la sécurité en fonction d un problème supposé difficile Problème RSA Problème CDH Problème DDH

16 Sécurité prouvée Schéma cryptographique «cassé» Problème X résolu Schéma cryptographique «sûr» Problème X difficile à résoudre

17 Sécurité prouvée Sécurité calculatoire Si un attaquant sait «casser» le schéma, alors il peut résoudre le problème sousjacent Le problème est supposé difficile Par contraposée : Le problème est difficile Donc le schéma est sûr

18 Sécurité prouvée / pratique Preuve par réduction : on réduit un attaquant A contre le schéma en un attaquant B contre le problème sous-jacent La qualité de la réduction donne le niveau de sécurité On choisit ensuite les paramètres du schéma en fonction de la sécurité attendue et de la difficulté à résoudre le problème sous-jacent

Sécurité IND-CCA Génération de clé PK SK PK Requêtes de chiffrement et /ou déchiffrement Oracles de chiffrement et déchiffrement Doit deviner le bit b Requêtes de chiffrement et / ou déchiffrement M 0, M La probabilité 1 C que b l attaquant devine correctement le bit b doit être 0 PK,SK b Oracles de chiffrement et déchiffrement 19

20 PKCS #1 v1.5 Aucune preuve de sécurité Pas de sécurité contre les attaques à chiffrés choisis : attaque par réaction de Bleichenbacher (Crypto 1998) En pratique (SSL 3), un attaquant peut exploiter le message d erreur renvoyé par le serveur si le chiffré n est pas valide Ce serveur joue le rôle d un oracle qui retourne un bit selon la validité d un chiffré soumis

21 Attaque de Bleichenbacher Principe : accès à un oracle prenant en entrée un chiffré C et retournant 0 ou 1 selon la validité du chiffré L adversaire peut retrouver le clair grâce à un accès à des requêtes à cet oracle

22 Attaque de Bleichenbacher Attaquant : cherche àdéchiffrer C Serveur C* : modification astucieuse de C Le Le bloc clair de n est clair pas est correctement encodé paddé Chiffré C* erreur OK Déchiffrement de C* Vérification de conformité

Attaque de Bleichenbacher Attaquant : cherche àdéchiffrer C Serveur C i = C r i mod N M i est un clair conforme En particulier, les octets de poids forts sont 0x00 0x02 Chiffré C i Valide Déchiffrement de C i M i =(C r i ) d mod N = M r id mod N 23

24 Attaque de Bleichenbacher But : déchiffrer C L attaquant génère C 1, C 2, où avec r i dans [1,N-1] C i = C r i e mod N Le choix des r i se fait de manière adaptative Les chiffrés sont fournis à l oracle : s ils sont valides, on apprend de l information sur le clair M r i mod N

25 Attaque de Bleichenbacher Si l attaquant apprend de l information pour assez de valeurs M r i, il peut en déduire le clair M Précisément, si C i est valide, alors : 2 2 8(k-2) M r i 3 2 8(k-2) Cette équation permet de réduire l ensemble des valeurs possibles pour le message M Pour un module de 1024 bits, quelques millions de requêtes sont nécessaires

26 PKCS #1 v2.1 : RSA-OAEP Utilisation du padding OAEP proposé en 1994 par Bellare et Rogaway Seed HID 00 00 01 M MGF MGF 00 maskedseed maskeddb

27 PKCS #1 v2.1 : RSA-OAEP Seed HID 00 00 01 M MGF MGF 00 maskedseed maskeddb RSA Puissance e modulo N chiffré

28 PKCS #1 v2.1 : RSA-OAEP Pour déchiffrer, on calcule : C d mod N = 00 maskedseed maskeddb Puis : Seed HID 00 00 01 M MGF MGF 00 maskedseed maskeddb

29 RSA-OAEP Preuve de sécurité avec une réduction très mauvaise : Adv OAEP (t) < (4 Adv RSA (2 t )) En pratique, pour garantir une sécurité de l ordre de 2-80, il faut avoir : Adv RSA (2 t ) < 1/2 160 Ce qui oblige à prendre des modules d au moins 4096 bits

30 Chiffrement RSA Attention au contexte d emploi : bien définir l objectif de sécurité attendu Définir les menaces permet de cerner quel mécanisme utiliser Taille du module n : Au moins 1024 bits par défaut 2048 bits pour une sécurité inférieure à 10 ans Difficile de se prononcer sur la sécurité de RSA à plus long terme

Signatures numériques

32 Les signatures numériques Elles associent un message et un signataire Cryptographie à clé publique : Seul le détenteur de la clé privée peut signer N importe qui peut vérifier grâce à la clé publique Exigences : Signature facilement générée par le détenteur de la clé privée Impossible de générer une signature valide à partir de la clé publique seulement Vérification publique Schéma non interactif

33 Signature et MACs MAC : Clé connue du signataire et du vérifieur Seuls les détenteurs de la clé peuvent signer/vérifier Signatures : Clé de signature connue du seul signataire Clé de vérification rendue publique Tout le monde peut vérifier une signature La non répudiation doit être assurée

34 Signatures numériques Usages : Certification des clés Signature électronique de documents (administratifs, juridiques ) Propriétés exigées Intégrité des messages Authentification de l émetteur Non répudiation

35 Les signatures numériques Deux types de signatures numériques «classiques»(«with appendix») : elles demandent de connaître le message lors de la vérification avec «message recovery» : le message est retrouvé lors de la vérification Attention : pas de confidentialité du message! On ne s intéresse ici qu aux signatures «classiques»

36 Sécurité d un schéma de signature Retrouver la clé privée Signer tous les messages (forge universelle) Signer un message donné choisi (forge sélective) ou quelconque (forge existentielle) Vocabulaire : on parle indifféremment de forge, contrefaçon ou falsification (pour traduire l anglais «forgery»)

37 Moyens des attaquants Attaque à messages connus : accès à des couples (M,S) de messages signés (interception par exemple) Attaque à messages choisis : l adversaire demande la signature de messages qu il choisit Accès à un «oracle» de signature

Sécurité d un schéma de signature Génération de clé PK Doit forger une signature valide (PK,SK) Requêtes de signature PK Message, S La probabilité que l attaquant Oracle arrive de à produire une signature génération de valide doit être 0 signature SK 38

Signatures basées sur RSA

40 Signatures basées sur RSA Différents type de schémas : Signature simple : aucune sécurité Signature RSA avec redondance fixe : attaque possible dans la plupart des cas Signature avec redondance et après hachage Signature après hachage

41 Signature après hachage L utilisation d une fonction de hachage permet en pratique d éviter les contrefaçons La fonction doit être Sans collision Recherche de 2 ndes préimages difficile Pour la preuve de sécurité : oracle aléatoire

42 Signature après hachage PKCS #1 v1.5 : pas de preuve de sécurité FDH Schéma et preuve de sécurité proposés en 1996 par Bellare et Rogaway Borne de sécurité mauvaise PSS / PKCS #1 v2.1 Schéma et preuve de sécurité proposés en 1996 par Bellare et Rogaway Bonne réduction

43 Signature RSA PKCS #1 v1.5 Schéma déterministe 00 01 0xFF 0xFF 00 H(M) AID Au moins 8 octets RSA Puissance d modulo N signature

44 Sécurité de RSA PKCS #1 v1.5 Pas de preuve de sécurité Aucune certitude Aucune attaque En pratique on considère qu il s agit d une bonne solution

45 RSA-FDH : Full Domain Hash Le message encodé est le haché du message sur n bits Schéma déterministe Pour signer un message M : S = ( h(m 1) h(m 2) h(m i) ) d mod N Pour vérifier une signature S pour M : Calculer H = h(m 1) h(m 2) h(m i) OK ssi S e mod N = H

signature 46 RSA-PSS : Probabilistic Sign Scheme Bellare et Rogaway, 1996 PSS : PKCS #1 v2.1 00 00 01 salt 00 00 H(M) salt MGF H 0 maskeddb H 0xbc RSA Puissance d modulo N

En pratique Les signatures numériques sont indispensables en cryptographie asymétrique pour la certification de clés sans certification, pas de confiance dans les clés publiques Une autorité de confiance génère, distribue, certifie et révoque les clés des utilisateurs Une signature de l autorité associe chaque clé publique à une identité (le détenteur de la clé privée associée) En cas de compromission, gestion de listes de révocation signées 47

Autres constructions

49 Autres schémas Problèmes sous-jacents : Calcul de log discret DH calculatoire DH décisionnel Strong RSA Calcul de racines e-ièmes approchées Résolution de systèmes quadratiques

50 Àbase de logarithme discret Schéma de signature de Schnorr : issu du protocole interactif d identification Le challenge est remplacé par un haché du message Preuve de sécurité basée sur le problème du logarithme discret Variante du schéma d ElGamal en signature

Preuve de connaissance de log discret 51 Protocole d identification de Schnorr Prouveur Secret S mod q Clé publique y=g S mod p Vérifieur r mod q X = g r mod p X Y = r+e S mod q e Y Challenge e < B Vérifier si g Y =X y e

52 Paradigme de Fiat-Shamir Permet de transformer un schéma d identification interactive en schéma de signature Le challenge est remplacé par un haché du message Beaucoup de propositions de schémas de signature grâce à cette technique Preuves de sécurité complexes

53 Signature Schnorr q est un nombre premier de 160 bits p est un nombre premier d au moins 1536 bits tel que q divise p-1 g est un générateur du sous groupe cyclique d ordre q de Z p * S Z q y = g S mod p Clé publique : (p,q,g,y) Clé privée : S Fonction de hachage h : {0,1}* Z q

54 Signature Schnorr r mod q x=g r mod p Prouveur y=r+e.s mod q x e y Verifieur Choisir e = H(M e<b x ) g y =x.i e mod p Signature du message M : r mod q, x=g r mod p, e = H(M x ), y=r+e.s mod q signature (x,e,y) Verification de la signature (x,e,y) du message M : e = H(M x ) et g y =x.i e mod p

55 Àbase de logarithme discret DSA (Digital Signature Algorithm) Proposé par le NIST en 1991, Standard américain FIPS 186 sous le nom de DSS en 1994 Variante du schéma El Gamal Permet d éviter le brevet sur la signature Schnorr Pour retrouver la clé à partir d une signature, il faut résoudre le problème du logarithme discret : à partir de g x mod p, retrouver x

56 Le schéma de signature DSA q est un nombre premier de 160 bits p est un nombre premier d au moins 1536 bits tel que q divise p-1 g est un générateur du sous groupe cyclique d ordre q de Z p * a Z q y = g a mod p Clé publique : (p,q,g,y) Clé privée : a Fonction de hachage h : {0,1}* Z q

57 Le schéma de signature DSA Génération de signature : k Z q r = (g k mod p) mod q s = k -1 ( h(m) + ar ) mod q Une signature pour le message M est le couple (r,s)

58 Le schéma de signature DSA Vérification d une signature (r,s) pour un message M : Vérifier que r et s [1,q-1] w = s -1 mod q u 1 = w h(m) mod q u 2 = r w mod q v = (g u1 y u2 mod p) mod q accepte la signature ssi v = r

59 Le schéma de signature DSA En effet, si (r,s) est une signature valide pour M, on a: v= (g u1 y u2 mod p) mod q = (g wh(m) g arw mod p) mod q = (g k (h(m)+ar)/(h(m)+ar) mod p) mod q = (g k mod p) mod q = r

60 Le schéma de signature DSA Sécurité : aucune preuve de sécurité Il existe des versions prouvées Attention au choix de la «clé éphémère» k : si quelques bits seulement sont accessibles àl attaquant, une attaque permet de retrouver la clé privée Performances : rapide en signature vérification est plus coûteuse

61 Sécurité du schéma DSA Signature (r,s) pour le message M La clé éphémère est aussi «sensible» que la clé privée! Si un aléa k est révélé : Comme s = k -1 ( h(m) + ar ) mod q s k - h(m) / r = a La clé privée est aussi révélée!

62 Sécurité du schéma DSA Si un aléa k est réutilisé : r = (g k mod p) mod q s = k -1 ( h(m) + ar ) mod q s = k -1 ( h(m ) + ar ) mod q Donc : ( sh(m) s h(m ) ) / r (s -s) = a La clé privée est révélée

63 Sécurité du schéma DSA Si seulement quelques bits de l aléa sont révélés, il est encore possible de retrouver la clé privée Résultat de Bleichenbacher en 2001 Si seulement 3 bits sont connus, pour quelques dizaines de signatures, on retrouve la clé privée La génération d aléa doit être faite avec beaucoup d attention!!!

64 Signatures courtes Elles peuvent utiliser Courbes elliptiques ECDSA Pairing : schéma sans oracle aléatoire Autres problèmes Systèmes quadratiques multivariés NTRU XTR

Authentification et échange de clés

66 Distribution des clés Problématique : deux personnes sans secret commun veulent communiquer en toute confidentialité Comment se mettre d accord sur une clé commune (clé de session) sur un réseau public potentiellement maîtrisé par un attaquant Quelles sont les exigences de sécurité sur le protocole?

Contexte Charlie Alice Bob Canal public Alice et Bob veulent garantir : la confidentialitédes échanges l intégritédes échanges l authentification(mutuelle) contre les attaquants présents sur le canal 67

68 Types d attaquants Attaquants passifs : ils écoutent seulement les communications Interception de chiffrés Attaquants actifs : ils écoutent, modifient, interrompent les communications ils peuvent envoyer des messages de leur choix sur la ligne (rejeu, contrefaçon ) ils peuvent aussi corrompre les participants ou tenter de se faire passer pour l un d eux

69 Authentification des utilisateurs Alice doit avoir la certitude qu elle partage une clé avec Bob, et réciproquement Impossibilité pour Alice de réutiliser un échange avec Bob pour se faire passer pour Bob Probabilité négligeable que Charlie réussisse à se faire passer pour Alice auprès de Bob

70 Intégrité des clés Si Alice et Bob se mettent d accord sur une clé de session, il faut qu ils soient certains de partager la même et qu elle n a pas été modifiée à leur insu durant le protocole Aussi appelée consistence du protocole

71 Confidentialité des clés A et B doivent être certains que la clé qu ils partagent à l issue de leur protocole n est connue que d eux Aucune information sur la clé ne doit être connue des attaquants (actifs ou passifs)

72 «Forward secrecy» Révéler des secrets (clés privées, clés de session) ne doit pas remettre en cause la sécurité des sessions précédentes Si un utilisateur est corrompu (toutes ses données et clés privées sont accessibles à un attaquant), les clés de session échangées avant la corruption restent sûres Sécurité des clés a posteriori

Protocoles d authentification

74 Authentification par défi / réponse Alice doit s identifier auprès de Bob Solutions possibles : Clé commune : techniques de cryptographie symétrique Chacun possède une clé privée et la clé publique associée : authentification à clé publique Zero-knowledge Authentification à clé publique

75 Identify Friend or Foe Clé commune partagée entre Alice et Bob Alice veut s identifier auprès de Bob Bob lui envoie une valeur aléatoire Alice lui retourne le chiffré de cette valeur sous la clé commune Alice Aléa r E K (r) Bob

76 Authentification mutuelle Alice Bob Aléa r B Aléa r B Aléa r A E K (r B,r A ) E K (r A,r B ) Alice et Bob vérifient que les aléas chiffrés sont bien ceux choisis Le chiffrement ne doit pas être malléable!

77 Le cas asymétrique Clé privée d authentification, clé publique associée, au nom d Alice Pour identifier Alice, Bob lui envoie une valeur aléatoire r Alice «signe» le valeur r et l envoie à Bob Bob peut vérifier grâce à la clé publique Alice Clé privée SK A Clé publique PK A Aléa r S = Sign SKA (r) Bob Verif(PK A,S,r)

78 Usage des clés Àchaque clé, un usage unique Primordial pour la sécurité : Exemple : le bi-clé pour l authentification RSA doit être différent d un bi-clé de signature Sinon, Bob choisit un message M dont il veut une signature Bob encode le message comme il veut (PKCS #1 v2.1 par exemple) et obtient r r est transmis comme valeur aléatoire à Alice, et Bob reçoit la signature de M

79 Usage des clés Àchaque clé, un usage unique Primordial pour la sécurité : Exemple : un bi-clé de schéma chiffrement ne doit pas être utilisé pour un schéma de signature En chiffrement, une fonctionnalité de recouvrement de clé est souvent mise en place (pour retrouver les données d un employé parti par exemple) Si le bi-clé est aussi utilisé pour signer/vérifier, la non-répudiation n est pas assurée

Échange de clé

81 L échange de clés Diffie-Hellman Article de 1976 «New Directions in Cryptography» Première solution pratique au problème de l échange de clé Deux entités sans secret commun s entendent sur une clé La mise en accord de clé n est pas authentifiée : Sécurité contre les attaques passives seulement

82 L échange de clés Diffie-Hellman Données publiques : p, q entiers premiers, q divise p-1 g d ordre q dans Z p * Alice x Z q α = g x mod p β = g y mod p Bob y Z q Aucune authentification : attaque par le milieu toujours possible Secret commun (Master Key) : g xy mod p = α y mod p = β x mod p

83 L échange de clés Diffie-Hellman Problèmes de ce schéma : Les interlocuteurs ne sont pas authentifiés : une attaque par le milieu est toujours possible Les échanges ne sont pas intègres : un attaquant peut modifier le secret commun Sécurité contre les attaques passives seulement Il faut donc de nouveaux schémas d échange de clé authentifié une infrastructure permettant d authentifier les clés publiques pour échanger des clés de session

DH authentifié «basique» Alice A, g x B, g y,sig SKB (g x,g y ) A, SIG SKA (g y,g x ) Bob évite les attaques par le milieu : impossible pour un attaquant de fournir SIG SKB (g x,g y ) évite le rejeu : la valeur DH du correspondant est aussi signée Mais 84

85 Usurpation d identité Charlie ne connaît pas la clé g xy mais tous les messages envoyés par Alice sont vus comme venant de Charlie Alice Charlie A, g x C, g x Bob B, g y, SIG SKB (g x,g y ) B, g y, SIG SKB (g x,g y ) A, SIG SKA (g y,g x ) C, SIG SKC (g y,g x )

86 Usurpation d identité : intérêt g x g y, Sign(g x,g y ) g x g y, Sign(g x,g y )

87 Usurpation d identité Bob est un central de commandes Alice et Charlie deux avions Bob demande à Charlie E K («autodestruction immédiate») L ordre est exécuté par Alice!

Diffie-Hellman authentifié Données publiques : p, q entiers premiers, q divise p-1 g d ordre q dans Z p * Alice Bob x Z q α = g x Vérification de signature A, α y Z q β = g y B, β, SIG SKB (B, β, α, A) A, SIG SKA (A, α, β, B) Secret commun : g xy mod p = α y mod p = β x mod p Vérification de signature 88

89 La protection des identités Inconvénient de ce protocole : les identités ne sont pas protégées Les identifiants d Alice et de Bob sont transmis en clair Tout attaquant peut connaître les deux interlocuteurs Bob doit connaître l identité d Alice pour s identifier

90 Authentification, échange de clés Pour communiquer, il faut : qu une clé de session confidentielle et intègre soit partagée (mise en accord) être certain que l autre est bien celui qu il prétend être : authentification des entités que personne ne puisse apprendre d information sur les échanges : confidentialité des données échangées que personne ne puisse modifier les communications transmises : intégrité des données échangées que le rejeu des sessions soit impossible

91 La RFC IPSec IKE Internet Key Exchange : fonctionnalité d échange de clé dans IPSec Schéma SIGMA (SIGn and MAc) proposé par Krawczyk à Crypto 2002 Fonctionnalités : Échange de clé DH sécurisé, assurant la «forward secrecy» Utilisation de signatures pour l authentification des entités Protection éventuelle des identités face aux attaquants

92 Exigences de sécurité Authentification : chaque partie doit pouvoir vérifier l identité de l autre Consistence : si A partage une clé K avec B, alors B doit partager K avec A, et réciproquement Évite les attaques par usurpation d identité Confidentialité : si une clé est partagée entre A et B, alors aucune autre partie ne doit pouvoir apprendre la moindre information sur cette clé, par une attaque passive ou active

93 SIGMA sans protection des ID La clé de MAC K m et la clé de session partagée K s sont dérivées de g xy Elles doivent être indépendantes calculatoirement Alice g x B, g y, SIG SKB (g x,g y ), MAC Km (B) A, SIG SKA (g y,g x ), MAC Km (A) Bob

94 SIGMA La signature du couple (g x,g y ) permet d empêcher toute modification par un attaquant, et les attaques par rejeu Le MAC de l identité donne une «preuve de connaissance» de g xy et fournit la consistence du protocole L échange de type Diffie-Hellman permet d assurer la «forward secrecy»

95 SIGMA avec protection des ID Le chiffrement des deux derniers échanges permet d assurer la protection des identités Le chiffrement E doit être sûr contre les attaques actives Alice g x g y Bob E Ke (A, SIG SKA (g y,g x ), MAC Km (A)) E Ke (B, SIG SKB (g x,g y ), MAC Km (B))

96 Dérivation de clé Comment dériver une clé de chiffrement symétrique à partir du secret g xy? Tous les bits de g xy ne sont pas difficiles En théorie : left over hash lemma Il faut une famille de fonctions de hachage On choisit aléatoirement une fonction dans la famille et on hache le secret avec cette fonction Le résultat obtenu est la clé de chiffrement ou de MAC Si deux clés sont nécessaires, autre fonction de hachage

97 Dérivation de clé En pratique : Fonction de hachage unique : SHA-1 Compteur concaténé au secret g xy K e = SHA-1(g xy <1>) K m = SHA-1(g xy <2>)

Conclusion Difficile de construire des schémas sûrs : des connaissances en cryptanalyse sont nécessaires pour concevoir de bons schémas Les preuves de sécurité Permettent d avoir une certaine confiance D estimer la taille des paramètres pour une sécurité prouvée Mais elles excluent certains attaquants Fuite d information Connaissance d une partie de la clé Génération d aléa biaisée 98