ChiffrClePubAuthentif

publicité
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
Téléchargement