Vous êtes sur la page 1sur 61

ISS403 – Fondamentaux de la Cryptographie

Chapitre 2
Survol de la cryptographie

Université de Yaoundé I
Faculté des Sciences Serge Mani, ing. PhD, CISA, CISM
Département d’informatique
Tous droits réservés.
Master Pro en Sécurité Informatique 1
Une des caractéristiques les plus
singulières dans l’art de chiffrer un
message est la forte conviction qu’a
chaque personne d’être capable de
construire un système de chiffrement
que personne d’autre ne pourra
jamais déchiffrer

C. Babbage

2
Sommaire
• Concepts de base
• Cryptographie symétrique
• Cryptographie asymétrique
• Quel système choisir ?
• Fonctions de hachage
• Certificats numériques
• Infrastructures à clés publiques (PKI)
• Systèmes cryptographiques complets
• Cryptographie et courriel
• Protocoles de sécurité
3
Concepts de base
• Principe de Kerckhoffs (1881)
– L’adversaire connaît tout le système et ses
composantes, sauf la clé secrète
– « No security by obscurity »
• Lire les anecdotes sur ENIGMA sur Internet

4
Concepts de base
• Cryptographie : définition
– Mots grecs : kruptos et graphein (caché et écrire)
– Message intelligible (texte clair)  texte chiffré
incompréhensible (cryptogramme)
• Algorithme de chiffrement
• Algorithme de déchiffrement
• Les deux forment un système cryptographique
(cryptosystème)
– Espaces
• Espace de textes en clair : M
• Espace de textes chiffrés : C
• Espace des clés : K

5
Terminologie
• Terminologie
• Un message dans sa forme originale est appelé texte clair ou plaintext
• Le processus de sécuriser un message en cachant son contenu est le
chiffrement
• Un message chiffré est appelé cryptogramme ou ciphertext
• Le processus de retourner le ciphertext en plaintext est appelé
déchiffrement
• Les praticiens de cryptographie sont appelés des cryptographes.
• L'art ou la science consistant à casser les systèmes de chiffrement est
appelée la cryptanalyse
• La cryptographie et la cryptanalyse sont couvertes par la branche
théorique et appliquée des mathématiques appelée la cryptologie
• Un algorithme cryptographique est la fonction mathématique ou la formule
utilisée pour convertir un plaintext en ciphertext et inversement .
• Le plus souvent, une paire d'algorithmes est utilisée pour chiffrer et
déchiffrer.
Concepts de base
• Services de sécurité
– Confidentialité : c'est la protection de l'information contre une divulgation
non autorisée
– Intégrité : c'est la protection de l'information contre une destruction ou une
modification non autorisée ou accidentelle
– Authentification : entités (protection contre fausse identité, identification) et
origine des données (assurance sur la source des données)
– Non-répudiation : une entité ne pourra pas nier d'être impliquée dans une
transaction
– Disponibilité : assurance que les ressources (pages Web, données et autres
services) sont accessibles aux utilisateurs légitimes
– Anonymat : préservation de l'identité d'une entité ou de la source d'une
information ou d'une transaction.
– Autorisation : l’individu ou le programme a le droit d'accéder à une donnée
particulière, à un programme ou à des ressources systèmes tels que les
fichiers, les bases de registre, les répertoires, etc.
– Audit : écriture de certaines informations dans des fichiers log, au fur et à
mesure que l'usager interagit avec le système.
7
Concepts de base
• Liste de contrôles :
– Disponibilité
• Redundant array of inexpensive disks (RAID), Clustering, Load
balancing, Redundant data and power lines, Software and data
backups, Disk shadowing, Co-location and off-site facilities,
Roll-back functions, Fail-over configurations
– Integrité
• Hashing (data integrity), Configuration management (system
integrity), Change control (process integrity), Access control
(physical and technical), Software digital signing, Transmission
CRC functions
– Confidentialité
• Encryption for data at rest (whole disk, database encryption),
Encryption for data in transit (IPSec, SSL, PPTP, SSH), Access
control (physical and technical)
Concepts de base
• Systèmes et primitives cryptographiques
– Sans clé : pas de paramètres secrets
• Fonctions à sens unique
• Fonctions de hachage
• MDC (Manipulation Detection Code) ou MIC (Message Integrity Code)
– Avec clé secrète : paramètres secrets entre participants (≥ 2)
• Chiffrement symétrique : blocs ou chaînes
• Codes d’authentification de message : MAC (Message Authentication
Code)
• Générateurs pseudo-aléatoires
– Avec clé publique : paramètres secrets connus d’un seul participant
• Chiffrement asymétrique
• Signatures numériques
• De nombreux protocoles cryptographiques : monnaie électronique,
preuves interactives, identification, etc.
9
Concepts de base
• Fonction à sens unique : f
– Facile à calculer y = f(x) à partir de x, mais difficile à
calculer x à partir de la connaissance de y.
– Exemples :
• Deux grands nombres premiers, p et q. On pense que la
fonction f(p,q) = pq, est à sens unique.
• Soit un n, un nombre composé. On pense que la fonction
g(x) = x^2 mod n, qui calcule les carrés modulo n, est à sens
unique.

10
Concepts de base
• Fonction de hachage : h
– Facile à calculer y = h(x) à partir de x, tel que tous les h(x) aient
une longueur fixe
– Une fonction de hachage est dite à collisions difficiles s’il est
difficile de trouver x et x’ tels que x ≠ x’ et h(x)=h(x’)
– Exemples de fonctions de hachage : MD5, SHA1, SHA256,
SHA512

11
Concepts de base
• Cryptosystème

12
Concepts de base
• Cryptosystème
– Algorithme de chiffrement : E
• Message m, clé k (secrète ou publique)
• Cryptogramme c = Ek(m)
– Algorithme de déchiffrement : D
• Cryptogramme c, clé k’ (secrète ou privée)
• Message m = Dk’(c) = Dk’(Ek(m))
– Symétrique : k = k’
– Asymétrique : k ≠ k’
13
Systèmes symétriques
• Autres noms
– Cryptographie conventionnelle ou à clé secrète
– Double mission : rendre inintelligible et restituer une
pièce d’information

14
Systèmes symétriques
• Deux groupes
– Chiffrement par blocs (block cipher)
• Requiert une accumulation d’une somme de données ou
d’éléments des données multiples avant de commencer à
chiffrer.
• Le chiffrement et le déchiffrement se produisent sur des blocs
de données. Le texte est découpé par blocs avant d’être
chiffré
• Ex.: DES (Data Encryption Standard), AES (Advanced
Encryption Standard), IDEA (International Data Encryption
Algorithm), etc.

15
Systèmes symétriques
• Deux groupes (suite)
– Chiffrement par flux (stream
cipher)
• Chiffrement par unité de bit
(caractères, bits ou octets)
• Utilisation d’un générateur de
nombres aléatoires pour produire
une séquence de caractère appelé
« key stream »’
• Utilisation d’un vecteur d’initialisation
• Ex.: SEAL (Software-optimized
Encryption ALgorithm), Masque
jetable (One-time pad), etc.
16
Systèmes symétriques
• DES (Data Encryption Standard)
– En 1973, le National Bureau of Standards des États-Unis lance un
appel d’offre pour un système de cryptographie.
– En 1975 DES, développé par IBM est adopté.
– Cryptosystème le plus utilisé dans le monde.
– Chiffrement de blocs de 64 bits.
– Clé de 56 bits, soit un total de 72 057 594 037 927 936 clés.

17
Systèmes symétriques
• DES (Data Encryption Standard)
– Chiffrement par blocs de 64 bits de données, avec les textes
clairs de 64 bits, ce qui résulte en de cryptogrammes de 64 bits.
– Si les données ne sont pas multiple de 64 bits, alors ils sont
rembourrés à la fin.
– Clé effective de 56 bits avec 8 bits de parité.
– DES sous forme d’itérations multiples : double-DES et triple-DES
(trois fois DES, avec deux clés de 56 bits) :
• La première clé est utilisée pour chiffrer le message
• La seconde clé est utilisée pour déchiffrer le message chiffré
• Le cryptogramme résultant est ensuite chiffré une fois de plus avec la
première clé pour produire le cryptogramme final
• A cause de cette suite de chiffrement > déchiffrement > chiffrement, il est
souvent connu comme DES-EDE ou DES-CDC (français).
18
-1
DESk1(DESk2(DESk1(m)))

Triple-DES avec 2 clés

19
Systèmes symétriques
• DES (Data Encryption Standard)
– X est le message de 64 bits.
– (L0, R0)=IP(X)
– Pour i=1 à 16
• (Li, Ri)=(Ri-1, Li-1+F(Ri-1,Ki))
– Y=IP-1(R16,L16)
– Y est le cryptogramme de 64 bits.
– Chaque ki est une chaîne de 48 bits provenant de K.
– Pour déchiffrer, on utilise le même algorithme avec les
clés ki utilisées dans l’ordre inverse.

20
Systèmes symétriques
• AES (Advanced Encryption Standard) (Rijndael)
– Projet de la NIST en vue de remplacer DES, qui s’appuie sur
l’algorithme de Rijndael
– Rijndael
• Algorithme de chiffrement par bloc
• Blocs de 128, 192, et 256 bits
• Clés de 128, 192, et 256 bits

21
Systèmes symétriques
• Forces
– Simple et facile à implanter
– En général rapide…
– Adapté au chiffrement de grands volumes de données
– Bon pour la protection des documents personnels
• Faiblesses
– Distribution des clés
– La sécurité du système repose sur le secret de la clé qui
demande à être transmise dans un canal sécurisé
– Peut consommer beaucoup de bits (ex.: masque jetable)
– Chiffrement bit par bit…

22
Systèmes asymétriques
• Autre nom
– Cryptographie à clé publique
– Ex.: RSA, ElGamal, etc.

23
Systèmes asymétriques
• Caractéristiques
– Chiffrement relativement simple
– Déchiffrement présumé difficile en l’absence de la clé privée.
• Avantages
– Aisance dans la distribution des clés publiques
– Services offerts : authentification, intégrité, signature numérique,
non-répudiation, etc.
• Faiblesses
– Consommation élevée de ressources (temps de calcul)
– Non adaptés au chiffrement de gros volumes de données
– Gestion (difficile) de la publication et des certificats de clé
publique
24
Quel système choisir ?
• Confidentialité
– Protéger de documents personnels ou dans un groupe
d’utilisateurs proches
• Symétrique
– Établissement de canaux confidentiels entre
utilisateurs distants inconnus
• Asymétrique
– Transactions entre utilisateurs distants
• Asymétrique pour la protection de la clé symétrique
• Symétrique pour la protection des documents
• SSL…

25
Quel système choisir ?
• Niveau de sécurité
– Sécurité démontrable
• On peut prouver que le fait de réussir à le cryptanalyser est au
moins aussi difficile que de résoudre un problème générique
de base réputé difficile.

• Problèmes génériques : factorisation de grands nombres,


calcul de racines carrées modulo un nombre composé, calcul
du logarithme discret dans un corps fini.

26
Quel système choisir ?
• Niveau de sécurité
– Sécurité calculatoire
• L’effort pour briser le système en utilisant les meilleures
techniques publiquement connues est au-delà des ressources
dont l’adversaire peut disposer.
• Exemples
– Symétriques : AES, DES, IDEA
– Asymétriques : RSA, ElGamal, etc.

27
Quel système choisir ?
• Niveau de sécurité
– Sécurité inconditionnelle
• Non compromise par la puissance de calcul de l’adversaire
• Théorie de l’information de Shannon
• Ex.: Masque jetable : 1 bit de clé pour 1 bit de texte clair

28
Fonctions de hachage
• Problématique
– Chiffrer le message entier avec la cryptographie à clé
publique est coûteux en performance
– Chiffrer une partie du message ne garantie l’intégrité
que sur la partie chiffrée
• Nécessite la connaissance du chiffrement pour générer un
message intelligible
– Est-il possible de chiffrer une petite quantité
d’information tout en garantissant l’intégrité du
message en entier ?
• Fonctions de hachage cryptographique

29
Fonctions de hachage
• Une fonction de hachage cryptographique est une
fonction qui convertit une entrée de taille variable en une
sortie de taille fixe dépendant fortement du contenu de
l’entrée
• Trois critères essentiels :
– Résistance aux collisions : il est peu probable que deux
messages aléatoires produisent le même haché
– Résistance à la première pré-image : il est difficile de trouver le
contenu du message à partir du haché
– Résistance à la seconde pré-image : il est difficile de trouver un
message m2 qui produit le même haché que le message m1

30
Fonctions de hachage
Message

Haché : 102ee0938ce9f2a8b55135154b0c58c7

31
Fonctions de hachage
• Plusieurs fonctions de hachage disponibles sous forme
de primitives sans clé
– Md5
– SHA-1
– SHA 256 (utiliser celle-ci si possible)
• Il existe aussi des fonctions de hachage avec clé
symétrique
– HASH-MAC
• En plus de l’utilisation pour signature numérique, les
fonctions de hachage peuvent être utilisées pour faire la
gestion de l’intégrité des configurations
– Exemple : Tripwire
32
Signature numérique
• En ajoutant un haché à un
message et en chiffrant
uniquement la partie
hachée, on obtient une
Message
garantie d’intégrité et
d’identité
• L’utilisation de cette
technique est
haché communément appelée
Signature « signature numérique »
Haché numérique
chiffré avec
clé privée

33
Certificats numériques
• Si on applique la signature numérique aux clés publiques,
on obtient un « certificat numérique »
• Autorité de certification ou Certificate Authority (CA)
– C’est une tierce partie qui atteste de notre identité
– Elle signe notre certificat numérique
– Question : Qui peut signer pour le CA ?
• Si l’autorité de certification est sous notre contrôle, on parle de
certificat auto-signé
• Pour éviter la distribution de certificats auto-signés, création d’une
architecture d’autorité basée sur les autorités racines (Root certificate
authority ou RCA)
• Distribution avec les navigateurs

34
Certificats numériques
• Chaîne de certifications
Certificat – Une autorité racine signe une
Sig. A autorité intermédiaire
– L’autorité intermédiaire signe le
Cert. A
Signature des certificat
Sig. B autorités – On peut ajouter des
Cert. B intermédiaires intermédiaires

– Lors de la vérification, on
remonte la chaîne jusqu’à
Sig.
l’autorité de certification
Autorité

35
Certificats numériques
• Problème avec les certificats numériques
– Gestion complexe des clés publiques
• Création de paires clés publiques/clés privées
• Distribution de clés publiques (certificats numériques)
• Sécurisation/intégration dans des transactions
• Révocation de certificats
– Nécessité d’une infrastructure qui prend en charge la
gestion intégrale des clés publiques
• Infrastructures à clés publiques ou PKI (Public Key
Infrastructures)

36
PKI
• Qu’est-ce qu’une PKI ?
– Utilisation d’une Base de données de clés publiques
– Utilisation d’une CA (Certificate Authority)

6. Requête de la liste
de révocation de certificats

7. Liste de révocations
de certificats

4. Certificat
pour Durand Création
et diffusion
(1) d’une clé privée et
(2) d’un certificat
numérique

37
Systèmes cryptographiques
complets (SCC)
• Assurer de multiples protections
– Confidentialité, authentification, intégrité, échange de
clés et, possiblement, protection contre le replay attack
• Transparence totale pour les utilisateurs finaux
– Dispositions de protection automatiques
– Exemple : SSL/TLS

38
SCC
• Les étapes

39
SCC
• Les principaux SCC par couche (modèle hybride)
– Application : PGP, S/MIME, Kerberos
– Transport : SSL/TLS
– Internet : IPsec
– Liaison de données : PPTP, L2TP
– Physique : (non applicable)

40
SCC
• SSL/TLS
– Secure Sockets Layer (Netscape)
– Transport Layer Security (Standardisation IETF)
– Ex. : protection des achats en ligne (https:// au lieu de
http://)
– Protection de tous les messages de la couche
supérieure (Application) ?
• Pas automatique
• Les applications doivent reconnaître SSL/TLS
– En option dans certains logiciels de messagerie

41
SCC
• SSL/TLS (Secure Socket Layer/Transport Layer
Security)

– Vérifier l’identité des parties impliquées dans une


transaction électronique et s’assurer que les données
échangées sont confidentielles et protégées de toute
modification.

– Services assurés : Authentification, Confidentialité,


Intégrité

42
Cryptographie et réseaux
• SSL
– Services de sécurité pour la couche TCP
– TLS (Transport Layer Security) : standard IETF
– Utilisation des autorités des certification (CA) pour
« prouver » l’identité
– Plein de choses possibles
• Telnet et FTP utilisant SSL : SSLtelnet, SSLTel, STel,
SSLftp, etc.
• stunnel (Micha Trojnara) : protection SSL pour certains
services de la couche TCP dans un environnement Unix
– Exemples de services : serveurs POP, IMAP, SMTP, etc.

43
SCC
• SSL/TLS - Comment ça marche ?

44
SCC
• SSL/TLS
– Niveau de sécurité modéré pour les transaction de
faible valeur
• Il semble inutile de s’attaquer directement à la cryptanalyse
d’un message SSL/TLS
• Il vaut mieux privilégier le piratage direct du serveur commercial
– Coût de calcul élevé
• Utilisation de systèmes asymétriques pour échanger la clé
symétrique et pour signer les messages
– Un VPN peut se limiter à l’utilisation du protocole
SSL/TLS
• Cas où le besoin se limite aux services Web HTTP

45
Cryptographie et courriel
• Clients et serveurs de messagerie
– Serveurs : Sendmail sous UNIX, Microsoft Exchange et
Lotus/IBM Notes sous Windows
– Clients : Microsoft Outlook Express vs. Microsoft Outlook
(version complète)
– SMTP (Send Mail Transfer Protocol)
• Envoi de messages : client, serveur  serveur
– Téléchargement de messages vers le client
• POP : PC client
• IMAP : serveur de messagerie

46
Cryptographie et courriel
• Clients et serveurs de messagerie

47
Cryptographie et courriel
• Rétention des courriels
– Disques durs, bandes magnétiques, etc.
• Retrouver facilement l’information
• Conservation pour aspects légaux
• Enquêtes judiciaires…
• Sécurité du courriel
– Chiffrement/déchiffrement
• Utilisation de la crypto symétrique
• La clé symétrique pour déchiffrer le message est chiffrée avec la
clé publique du receveur et envoyée avec le message (chiffré)

48
Cryptographie et courriel
• Sécurité du courriel
– Chiffrement de bout en bout : PGP, S/MIME
• PGP : cercle d’amis
– Si A fait confiance à B et si B fait confiance à C, alors A peut faire
confiance à la liste de clés publiques de C.
» Diffusion possible de fausses clés et de faux noms.
• S/MIME : infrastructure à clés publique
– Bonne gestion de la sécurité en entreprise
– Coûteuse et encombrante.
– Chiffrement TLS (Transport Layer Security)
– Protection de bout en bout si l’expéditeur et le destinataire utilisent
TLS et le même serveur de messagerie
– Le serveur doit aussi protéger les courriels stockés
49
Cryptographie et courriel
• Sécurité du courriel
– PGP
• Certificat X.509
– une CA attribue un certificat liant une clé publique à un nom
distinctif, à une adresse courriel ou un DNS.
– Certificat racine et confiance hiérarchique
• Certificat PGP
– Pas de besoin de CA : tout individu dans le cercle (de
confiance) peut signer un certificat pour n’importe quel
individu dans le cercle.
– Plusieurs chemins pour atteindre les individus
» Autorités avec confiance totale ou partielle
50
Cryptographie et courriel
• Sécurité du courriel
– PGP
• Table des clés privées

51
Cryptographie et courriel
• Sécurité du courriel
– PGP
• Exemple : évolution de la table des clés privées d’Alice

52
Cryptographie et courriel
• Sécurité du courriel
– PGP
• Table des clés publiques

53
Cryptographie et courriel
• Sécurité du courriel - PGP : Modèle de Trust

57
Cryptographie et courriel
• Sécurité du courriel
– S/MIME
• Secure/Multipurpose Internet Mail Extension
• Une amélioration de MIME

58
Cryptographie et courriel
• Sécurité du courriel
– S/MIME
• Secure/Multipurpose Internet Mail Extension
• Confidentialité et intégrité
– CMS (Cryptographic Message Syntax)

59
Cryptographie et courriel
• Sécurité du courriel – S/MIME : chiffrement

60
Cryptographie et courriel
• Sécurité du courriel
– S/MIME
• Algorithmes de chiffrement

61
Cryptographie et courriel
• Clients et serveurs de messagerie

Envoi par POP ou IMAP sur TLS


ou envoi par pour télécharger
SMTP sur SMTP sur TLS
TLS

62
Cryptographie et courriel
• Clients et serveurs de messagerie

Envoi par POP ou IMAP sur TLS


ou envoi par pour télécharger
SMTP sur SMTP sur TLS
TLS

S/MIME S/MIME
PKI

63
Cryptographie et courriel
• Clients et serveurs de messagerie

Envoi par POP ou IMAP sur TLS


ou envoi par pour télécharger
SMTP sur SMTP sur TLS
TLS

S/MIME S/MIME
PKI

Cercle d’amis
64

Vous aimerez peut-être aussi