Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
CHAPITRE II:
Cryptographie et
communications sécurisées
1. Introduction
1
11/18/2021
Attaquants
c
Encryptage Décryptage
Canal non-sécurisé Dd(c) = m
Ee(m) = c
m m
Source Destination
A B
2
11/18/2021
3
11/18/2021
2. Un petit historique
Cryptographie ancienne ou manuelle
Transposition Sparte (5ème siècle av. J.C).
Substitution de César (1er siècle av. J.C), Vigenère (XVI ème ).
Cryptanalyse des codes mono et poly-alphabétiques(El Kindi
(IXème siècle), Babbage/Kasiski (XIXème siècle)).
Mécanisation de la cryptographie et la cryptanalyse : Enigma (1918),
permutation et substitution automatiques.
Cryptographie moderne:
Vers un chiffrement parfait : Vernam 1917 (XOR), théorie de
l’information
Standards de chiffrement à clé secrète : DES (1977), AES(2001)
7
Cryptographie à clé publique (1976): El-Gamal, …
3. Quelques attaques
4
11/18/2021
10
5
11/18/2021
4. Cryptage symétrique
Attaquants
e
Encryptage c
Ee(m) = c Canal non-sécurisé Décryptage
m De(c) = m
Source du m
message
Destination
A
Figure 2: Cryptosystème symétrique B 11
12
6
11/18/2021
14
7
11/18/2021
Substitution :
C’est une technique de chiffrement par bloc.
Elle permet le remplacement de chaque symbole du message par
un seul ou un groupe de symboles dans les cryptogrammes.
Trois types de substitution sont proposés
La substitution simple
Alpha: l’ensemble de symboles,
M : l’ensemble des messages de taille t ( la taille d’un bloc).
K : représente l’ensemble des permutations sur Alpha. e K et
dK
La transformation de cryptage
Ee (m) = (e(m1)…e(mn)) = (c1…cn) = c
La transformation de décryptage
Dd (c) = (d(c1)…d(cn)) = (m1…mn) = m avec mi et ci Alpha
15
8
11/18/2021
La substitution homophonique
Pour chaque symbole a Alpha est défini H(a)
H(a): l’ensemble de chaînes de taille fixe pour remplacer a dans M.
Chiffrement, chaque symbole a du message déchiffrable est
remplacé, au hasard, par l’une des chaînes de H(a).
Déchiffrement: L’opération inverse
Exemple:
a b c d e f g h i j k l m n o p q r s t u v w x y z
m f o b e c n v x s j u k h t w y d q g r i l p z a
1 7 W 5 2 9 6 4 3
8 Z
- m= homophonic cipher
- c= vtkZwW9hxg gxwv7d 17
Substitution poly-alphabétique
K : t permutations (p1,p2,…pt) définies sur Alpha (t: taille du bloc)
Chiffrement : e = (p1, p2,…pt) et m = (m1…mt).
Ee (m) = (p1(m1)…pt(mt)) = (c1…ct) = c
Déchiffrement d = (𝑝 ,𝑝 ,…𝑝 ).
Dd (c) = (𝑝 (c1)… 𝑝 (ct)) = (m1…mt)=m avec mi et ci Alpha
Exemple: Le chiffrement de Vigenère Alpha= { A,B,C,… X, Y,
Z} t = 3 e= (p1, p2, p3)
- p1 : chaque symbole est remplacé par le troisième symbole à droite
- p2 : chaque symbole est remplacé par le septième symbole à droite.
- p3 : chaque symbole est remplacé par le dixième symbole à droite.
Message initial: ”this cipher is certainly not secure”
Si m = THI SCI PHE RIS CER TAI NLY NOT SEC URE
Ee(m)=WOS VJS SOO UPC FLB WHS QSI QVP VLM XYO
18
9
11/18/2021
Transposition
C’est une permutation de symboles dans un bloc.
Pour une taille fixe de bloc t , K représente l’ensemble de
toutes les permutations possibles sur l’ensemble
{1,2,3…t}.
Pour chaque e K et m = (m1…mt) M:
La transformation de cryptage
Ee (m) = (me(1)…me(t)) = (c1…ct) = c
La transformation de décryptage d = e-1
Dd (c) = (cd(1)…cd(t)) = (m1…mt) = m
Exemple : t = 5, K : {1,2,3,4,5} {1,2,3,4,5}; e: {e(1)=2,
e(2)=1, e(3)=5, e(4)=3, e(5)=4} e = (2,1,5,3,4)
Ee(crypt ograp hique)= rctyp gopra ihequ
19
Produit
Les deux premières classes de systèmes de cryptage ne sont pas
suffisamment robustes (en terme de niveau de sécurité assuré).
- Cryptanalyse: redondance de caractères dans les langages
naturels et l’analyse statistique.
La troisième classe propose la combinaison des fonctions de
transformation des deux premières.
La composition des substitutions et permutations permet des
algorithmes de chiffrement plus sûrs.
DES (Data Encryption Standard), développé par IBM en 1977,est
l’un des algorithmes de la classe produit.
DES utilise un bloc de 64-bits et une clé secrète de 56-bits.
DES supporte 16 niveaux de substitution et deux permutations
pour chiffrer et déchiffrer les messages (voir Figure 3).
20
10
11/18/2021
Entrée
Permutation initiale
L0 R0
L1 = R0 R1 = L0 + f (K1,R0)
Permutation inverse
Sortie.
Le mécanisme de DES
- Le message à chiffrer est converti en code binaire puis découpé
en blocs de 64 bits.
- Pour chaque bloc:
1. Transformation de la clé: La clé secrète est transformée en 16
sous clés Ki de 48 bits (i=1,.., 16) (utilise les odd-parity bits,
le décalage circulaire puis la sélection de 48 bits parmi 64
bits pour chaque Ki )*
2. Effectuer une permutation initiale de tous les bits formant ce
bloc.
- Déterminer une matrice de permutation initiale IP (8×8 des
nombres de 1 à 64) et son inverse IP-1.
- Permuter les bits du bloc selon IP
11
11/18/2021
23
24
12
11/18/2021
Ligne 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
2 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
3 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
4 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
Colonne
Ligne 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
0 14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7
1 0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8
2 4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0
3 15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13
13
11/18/2021
27
14
11/18/2021
Texte Cryptage
crypté3
29
K3
30
15
11/18/2021
Modes de cryptage:
Avec DES (1981): ECB, CBC, …
Avec AES (2001): CTR (Counter mode)
Stockage de données (2010) : XTS pour AES
Parmi les objectifs de modes d’opération des algorithmes de cryptage
par bloc:
Utiliser la même clé pour chiffrer plusieurs messages
Rendre l’analyse passive du trafic plus difficile: cacher le
maximum d’informations sur le contenu d’un cryptogramme et le
format d’un message.
• Pour tester tout les algorithmes et les modes cités, utilisez des outils en ligne comme:
https://www.tools4noobs.com/online_tools/decrypt/
• Les diagrammes fonctionnels de tous les modes de cryptage sont disponibles sur le lien:
http://www.crypto-it.net/eng/theory/modes-of-block-ciphers.html 31
32
16
11/18/2021
Avantages et inconvénients
+ Independence de blocs
+ l’erreur dans un cryptogramme n’affecte pas le suivant
̶ Ne permet pas de préserver convenablement le format et le
contenu du cryptogramme (deux messages identiques cryptés
sous le contrôle de la même clé engendreront le même
cryptogramme)
̶ Clé non réutilisable
̶ Padding de blocs
Recommandé pour les messages dont la taille ne dépasse pas un
seul bloc
33
34
17
11/18/2021
35
CTR (Counter)
Mode de chiffrement par flot appliqué au cryptage par bloc
Dans ce mode, le vecteur d’initialisation IV est remplacé par un
compteur (nombre aléatoire (nonce) + numéro d’ordre)
Un compteur correspond à une fonction capable de générer une
séquence imprédictible ( à long terme)
La séquence est incrémentée pour chaque bloc et changée pour
chaque message
Avantages et inconvénients
+ La réutilisation de la clé est possible (mais pas le compteur)
+ L’implémentation parallèle est appropriée pour ce mode
+ Approprié pour préserver le format et le contenu du
cryptogramme
+ Prè-calcul des séquences est possible
̶ Compteur non réutilisable
Recommandé pour crypter un grand volume de données 36
18
11/18/2021
*Accès aléatoire: le cryptage ou le décryptage d’un bloc est indépendant des autres
37
5. Cryptage asymétrique
Problèmes de systèmes de cryptage symétriques
Les clés:
- Le secret des informations cryptées: dépend intrinsèquement de
la confidentialité de la clé secrète
- La clé secrète doit être partagée entre les entités qui cherchent
à échanger de données
Surcharge des entités: chacune détient n clés pour pouvoir
communiquer avec n autres entités.
Il faut au moins un canal sécurisé pour l’échange de la clé.
38
19
11/18/2021
Les solutions:
Solution : KDC (Key Distribution Center)
- Comment implanter le KDC (centralisée, distribuée, …)
- Problème de panne du KDC
- Problème de la violation du secret de flux (KDC dispose de
toutes les clés)….
La solution la plus appropriée: au lieu d’une seule clé secrète
partagée et modifiée (fréquemment)
- Chaque entité dispose d’une paire de clés
- Une clé publique, ouvertement publiée, et
- Une clé privée, jamais partagée avec aucune autre entité
20
11/18/2021
42
21
11/18/2021
Attaques
passives
e
Source de clé
Canal non-sécurisé
d
Encryptage c Décryptage
Ee(m) = c Canal non-sécurisé Dd(c) = m
m m
Source de
message Destination
A B
43
Figure 4: fonctionnement d’un cryposystème asymétrique
L’algorithme RSA:
Génération de clés de chaque entité:
22
11/18/2021
46
23
11/18/2021
24
11/18/2021
Clé secrète
Clé privée de B
Données Données
Entité en clair chiffrées
A
Enveloppe
Clé publique de numérique
B Clé secrète
Clé secrète
Enveloppe Données Données
numérique en clair
chiffrées
6. Fonction de hachage
50
25
11/18/2021
51
26
11/18/2021
Fonctions de hachage
MDC
Autres applications MAC
OWHF(1+2) CRHF(1+2+3)
53
54
27
11/18/2021
55
28
11/18/2021
Output h(x)=g(Ht )
H0=IV, Hi=f(xi, Hi-1) 1 i t et h(x)= g(Ht) , g est une transformation
utilisée dans l’étape finale (faire correspondre n-bits de la variable de
57
chaînage en un code de m-bits, peut être une fonction d’identité )
64
Message à traiter
*:Si la taille du message initial >64 bits: length= taille message mod 264 58
29
11/18/2021
Message à traiter
4.Initialiser:
4.1: Les variables de chaînage
H0 H1 H2 H3
H0 01 23 45 67
H1 89 AB CD EF
H2 FE DC BA 98
H3 A7 B9 32 15 59
60
30
11/18/2021
1ère étape
A B C D
Le nouvel vecteur
de chaînage pour A B C D 61
la 1ère étape
A B C D
Process p
add
M[z[k]] add
t[k] add
s[k] shift
add
A B C D
62
31
11/18/2021
63
Étape Process p
1 (B et C) ou inclusif (non B et D).
2 (B et D) ou inclusif (C et non D).
3 B ou exclusif C ou exclusif D.
4 C ou exclusif (B ou inclusif non D).
32
11/18/2021
66
33
11/18/2021
Ce type d’attaque peut être pratiqué par des entités malveillantes qui
signent ou vérifient la signature d’un message
Cette attaque ne dépend que de la taille du condensat: la fonction la
plus robuste est celle qui génère un code plus étendu.
67
68
34
11/18/2021
7. Signature digitale
Cette primitive cryptographique permet :
Détecter les modifications subites par les données transmises
Identifier l’entité qui a envoyé ces données.
Assurer la non répudiation des messages émis.
Les algorithmes de signature digitale permettent la génération et la
vérification de signatures.
Propriétés :
L’algorithme de signature est une transformation:
- SA: K M S (K, M, S)
- K: l’ensemble de clés, M: l’ensemble de messages et S: l’espace
de signatures.
69
70
35
11/18/2021
36
11/18/2021
RSA Signature: norme ANSI 9.31-1 et PKCS 1 (édité par RSA cop.)
74
37
11/18/2021
Remarques:
Si la signature RSA est émise seule, il est possible de trouver le
message initial en un temps réduit si la fonction de redondance
n’est pas sûre
Pour éviter cette attaque:
- La fonction de redondance appropriée doit être choisie ou
76
38
11/18/2021
8. Certification
Problème de gestion de clés dans les cryptosystèmes à clés secrètes
Nombre de clés.
Disponibilité des clés (clé d’un vendeur).
Solution: KDC (Key Distribution Center).
Problèmes :
Panne du KDC.
Violation de la confidentialité.
Solution: cryptage à clé publique.
Problèmes d’intégrité de clés publiques.
Solution: CA (Certification Authority) ou aussi le troisième tiers de
confiance. 77
78
39
11/18/2021
CA1
(ECA ,DCA)
CA
CE1 CE2 … CEn
E1 E2 En
(E1 ,D1) (E2 ,D2) …
(En ,Dn)
Clés publique et privé de l’autorité: ECA et DCA
CEx: le certificat de la clé publique de l’entité x comporte:
Clé publique de x , Ex
Signature de Ex avec DCA
80
40
11/18/2021
Version v1
Serial number 2A 17 EF 73 97 07 74 7B E2 4B FB 61 95 DB 4D 77
Signiature
algorithm: md5withRSAEncryption
Issuer
C= US
O=RSA data security, Inc.
OU=Secure Server Certification Authority
Validity
not before Sat Jan 28 02:21:56 1995
not after Thu Feb 15 02:21:55 1996
Subject
C= US
ST= Washington
L=Seattle
O=Amazon.com, Inc.
OU=Software
CN=www.amazon.com
*Tous les détails des attributs d’un certificats X509 sont disponible dans le RFC 5280 disponible sur le
lien: https://tools.ietf.org/html/rfc5280 81
82
41
11/18/2021
83
entite1
CA RA entite2
entiteN
RA:
Accepte et vérifie les informations d’enregistrement d’un
utilisateur.
Génère les clés d’un ou de plusieurs utilisateurs.
Accepte et autorise les demandes de sauvegarde et de récupération
de clés.
Accepte et autorise les demandes de révocation de certificats.
84
42
11/18/2021
85
Avantages:
Sécurité: une infrastructure intégrée sans maillons faibles
Tout en un: différents services sont assurés simultanément (non-
répudiation, authentification forte, key management, VPN, …)
Interopérabilité inter et intra entreprise: PKI fondée sur des
normes (X.509, PKI, PKCS, PKIX, …)
Inconvénients
Coût de mise en place: produits coûteux, compétences rares
Complexité (intégration, mise en place, …)
La génération de clés !!!
86
43
11/18/2021
87
88
44