Cryptolightv 2
Cryptolightv 2
Cryptolightv 2
sécurité
M&K Hdhili 1
Cryptographie: objectifs
Objectif principal:
Assurer la sécurité des communications sur un canal non
sécurisé
M&K Hdhili 2
Terminologie
Cryptologie= cryptographie+cryptanalyse
M&K Hdhili 3
Terminologie
Cryptographie (cryptography) = Chiffrement=Encryptage
Ensemble des méthodes et techniques qui permettent de transformer un
message afin de le rendre incompréhensible pour quiconque qui n'est
pas doté du moyen de le déchiffrer.
On parle d'encrypter (chiffrer) un message,
Le code résultant s'appelle cryptogramme.
L'action inverse s'appelle décryptage (déchiffrement).
M&K Hdhili 4
Terminologie
Cryptanalyse (cryptanalysis)
Art de révéler les messages qui ont fait l'objet d'un encryptage.
Lorsqu'on réussie, au moins une fois, à déchiffrer un
cryptogramme, on dit que l'algorithme qui a servi à l’encrypter
a été cassé.
Cryptographie Cryptanalyse
Texte chiffré
ou
Texte Texte
Texte crypté clair
clair
Encryptage ou Décryptage
ou
ou Cryptogramme Déchiffrement
Chiffrement en disposant
seulement du
cryptogramme
M&K Hdhili 5
Terminologie
Clé :
Information qui sera utilisée pour encrypter et / ou décrypter un
message.
On peut cependant concevoir un algorithme qui n'utilise pas de clé,
dans ce cas c'est lui-même qui constitue le secret et son principe
représente la clé
Crypto système:
Ensemble composé
d'un algorithme,
de tous les textes en clair (espace des textes clairs),
de tous textes chiffrés (espace des textes chiffrés)
de toutes les clés possibles (espace des clés).
M&K Hdhili 6
Chiffrement symetrique: principe
Utiliser une même clé secrète K pour chiffrer et déchiffrer
But : garantir la confidentialité
A B
Clé = K
Canal sécurisé et
Message M authentifié
C M =Dec K (C )
C=Enc K ( M )
Canal non sécurisé
Clé secrète Clé secrète
K K
DES, xxx DES, -----
----- xxx
Blowfish, AES xxx Blowfish, AES ------
------ xxx Réseau
------ ... xx xx ... ------
Message Message Message Décryptage Message
Cryptage
original chiffré chiffré original
M&K Hdhili 7
Chiffrement symetrique par blocs
Méthode:
Le message M à chiffrer est scindé en un nombre de bloc de
taille fixe: M=x1, x2, ..xn
Cryptage des blocs
Le cryptogramme C est obtenu en concaténant les
cryptogrammes des blocs
M&K Hdhili 8
ECB (Electronic CodeBook)
Chaque bloc est chiffré à part
M&K Hdhili 9
CBC( Cipher bloc Chaining)
Chaque bloc du cryptogramme dépend du bloc de texte en
clair et de tous les blocs précédents
M&K Hdhili 10
Chiffrement symétrique: critique
Comment établir la clé K d'une manière sécurisée (confidentialité)?
Solution 1 : Key transport
l'un crée la clé et la transmet à l'autre (chiffrement asymétrique)
Solution 2 : Key agreement
une clé partagée est dérivée par 2 entités ou + (protocole de DH)
Comment mettre à jour la clé K ?
Clé de session : temporaire
Clé à long terme
Besoin de N(N-1)/2 clés pour N utilisateurs => trop de clés
==> Sol : utiliser un centre de distribution de clé (KDC)
Chaque entité partage une clé avec le centre ( qui connaîtra toutes
les clés!!!!)
K1S S (KDC)
Exemple : Télécom
K2S KnS
U1 …... Un
U2
M&K Hdhili 11
Diffie-Hellman key agreement protocol (logarithmique)
g, p, gamod p Calcule
K= (gamod p)b
= gabmod p
gbmod p
Calcule
K= (gbmod p)a
= gabmod p
M&K Hdhili 12
Chiffrement asymétrique (à clé publique)
But : garantir la confidentialité
Chaque entité possède deux clés
pk: public key ==> clé disponible pour tout le monde
sk: secret (private) key ==> clé privée de l'entité
Il est imposible de calculer sk en connaissant pk
sk déchiffre ce qui a été chiffré avec pk et vice versa
A( pk A ,sk A ) B( pk B ,sk B )
pkB
Canal authentifié
(s'assurer que PKB ∈ B ⇒ certificat)
C
C=ENCpk B ( M ) M=DECsk B ( C )
Canal non sécurisé
Exemples d'algorithmes: RSA, ElGamel, Rabin 13
M&K Hdhili
Cryptosystème RSA (Ron Rivest, Adi Shamir and
Leonard Adleman 1978): génération des clés
M&K Hdhili 14
Cryptosystème RSA: chiffrement
M&K Hdhili 15
Fonction de hashage
But: assurer l'integrité
Génère à partir d'un message de longueur quelconque un
résumé de taille fixe
M&K Hdhili 16
Fonctions de hashage importantes
MD5 (128 bits)
Resistance aux collisions
cassé (Prof. Xiaoyun Wang, china 2004)
SHA1 (160 bits)
“One way” est encore valide
Resistance aux collisions
Considérée non sécurisée (pas de collisions déterminées mais des
méthodes existent en 2^80)
SHA2 (SHA224, SHA-256, sha-384, SHA-512)
Donnent 224, 256, 384, 512 bits respectivement
Sécurisée
SHA3( SHA3-224, SHA3-256, SHA3-384, SHA3-512)
Sécurisée
M&K Hdhili 17
Signatures digitales
S=ENCsk CA ( H ( M))
S
M&K Hdhili 19
Vérification d'un certificat electronique
Certificat
Signature:1b:2b:c0 oui
Empreinte2
:3e:52:4d:14:43:…
Déchiffrement Certificat
valide
Clé publique authentique de
l'autorité de certification
récupéré à partir de son
certificat autosigné
M&K Hdhili 20
Message Authentication Code (MAC)
( cas du chiffrement symétrique)
K
CBC-MAC,
Message « m » Tag « t »
HMAC-MD5
...
M&K Hdhili 21
CBC MAC (fixed length MAC)
Soit une fonction pseudo aléatoire PRF, et L(n) une fonction
longueur
PRF F:{0,1}nx{0,1}n{0,1}*
CBC MAC est:
macK(m), m est de longueur L(n).n
Diviser m en m1, m2, ….mL chacune de taille n
t0=0n
Pour i de 1 à L, ti=FK(ti-1mi)
Output: tL
Verify (K, m, t)? ==> vérifier si macK(m)=tL
Proved to be secure
M&K Hdhili 22