CHIFFREMENT À CLE PUBLIQUE ET AUTHENTIFICATION DE MESSAGE AUTHENTIFICATION En plus de la confidentialité, l’authentification de message est une fonction de sécurité de réseau importante. besoins : le système doit être capable de vérifier que : • le message a bien pour origine la source dont il prétend être issu. • le contenu du message n’a pas été changé. • le message n’a pas été artificiellement retardé et rejoué et que l’ordre des messages dans le flot établi est respecté. Il existe des situations où l’authentification de message sans confidentialité est préférable (ex : avis aux utilisateurs que le réseau est indisponible ou un signal d’alarme dans un centre de contrôle). Là encore, l’authentification a besoin que la source connaisse une clé secrète que l’attaquant ne connaît pas. Le chiffrement symétrique peut être utilisé, mais source et destinataire doivent partager la clé secrète. Authentification de Messages • Utilisation du chiffrement Conventionnel – seuls l’émetteur et le récepteur devraient partager une clé • Authentification sans chiffrement de message – Un champ d’authentication est généré et ajouté à chaque message • Code d’Authentification de Message (MAC) -Calculer le MAC comme une fonction du message M et de la clé K. MAC = F(K, M) fonction de hachage fonction de hachage Une valeur secrète est ajoutée par les 2 parties au message avant l’application de la fonction de hachage qui est utilisée pour obtenir le MIC, cette valeur secrète est enlevée avant transmission. Propriétés requises pour une fonction de hachage • But d’une fonction de hachâge : produire une ‘empreinte’. • Propriétés d’une fonction de hachage H : 1. H peut être appliquée à un bloc de données de n’importe quelle taille. 2. H produit une sortie de longueur fixe. 3. pour toute donnée x, H(x) doit être facile à calculer. 4. Pour tout code donné h, il est impossible (avec les moyens dont on dispose) de trouver x tel que H(x) = h 5. Pour tout bloc donné x, il est impossible (avec les moyens dont on dispose) de trouver y différent de x tel que H(y) = H(x). 6. il est impossible (avec les moyens dont on dispose) de trouver un couple (x, y) tel que H(x) = H(y) Fonction de hachage Simple One-bit circular shift on the hash value after each block is processed would improve Generation de résumé de message Utilisant SHA-1 Traitement SHA-1 d’un bloc de 512 bits HMAC • SHA-1 ne peut être utilisé en tant que MAC, ne repose pas sur une clé secrète; d’où HMAC. • Motivations: – Les fonctions de hachage cryptographiques s’executent plus rapidement par voie logicielle – Que les algorithmes de chiffrement conventionnel tels que DES – Les bibliothèques de codes pour les fonctions de hachage cryptographiques sont largement disponibles – Pas de restrictions d’exportation depuis les US HMAC Structure Principes du chiffrement à clé publique • Utilisation de deux clés;conséquences dans: la distribution de clés, la confidentialité et l’authentification. • Le schema se compose de : – Texte en clair – algorithme de chiffrement – clé publique et clé privée – Texte chiffré – algorithme de déchiffrement Chiffrement à clé publique chiffrement Chiffrement à clé publiqueauthentification Applications du chiffrement à clé publique • trois types: – chiffrement/dechiffrement: l’expéditeur chiffre un message avec la clé publique du destinataire. – Signature numérique: l’expéditeur ”signe” un message avec sa clé privée. – Échange de clés: deux parties coopèrent pour échanger une clé de session . Propriétés requises du chiffrement à clé publique 1. Facile (avec les moyens on dispose) pour une partie B de générer un couple (clé publique KUb, clé privée KRb) 2. Facile pour l’expéditeur de générer un texte chiffré 3. Facile pour le destinataire de déchiffrer ce texte en utilisant clé privée Propriétés requises de la cryptographie à clé publique Impossible (avec les moyens on dispose) de determiner la clé privée (KRb) connaissant la clé publique (KUb) Impossible (avec les moyens on dispose) de trouver message M, connaissant KUb et le texte chiffré C L’une des deux clés peut être utilisée pour le chiffrement, l’autre pour le dechiffrement: M DKRb [ EKUb (M )] DKUb [ EKRb (M )] Algorithmes de chiffrement à clé publique • RSA et Diffie-Hellman • RSA - Ron Rives, Adi Shamir and Len Adleman at MIT, in 1977. – Le plus largement implementé • Diffie-Hellman – Echange une clé secrète de façon sûre – Calcule des logarithmes discrets Algorithme RSA –Generation de clés 1. 2. 3. 4. 5. 6. 7. choisir p,q p et q premiers tous les 2 Calculer n = p x q Calculer (n) ( p 1)( q 1) gcd( (n), e) 1; 1 e (n) choisir un entier e 1 Calculer d d e mod (n) Clé publique KU= {e,n} Clé privée KR = {d,n} Algorithme RSA - Exemple Algorithme RSA - chiffrement • Plaintext: M<n • Ciphertext: C=Me (mod n) Algorithme RSA - Déchiffrement • Ciphertext: C • Plaintext: M = Cd (mod n) Algorithme d’échange de clés de Diffie-Hellman Gestion de clés Utilisation d’un Certificat à clé Publique