You are on page 1of 60

Sécurité

Sécurité par chiffrement


Définition
Ensemble de techniques basées sur des théories
mathématiques (algorithmes)
De nos jours, elle est divisée en deux branches :
Cryptographie à clé secrète (ou symétrique)
Cryptographie à clé publique (ou asymétrique)
Sa sécurité repose sur :
La qualité des algorithmes (robustesse résidant dans leur qualité
mathématique intrinsèque)
Implémentation des algorithmes (failles …)
La gestion du partage du secret (partage des clés)
La qualité des clés (longueur et la non réutilisation)
120 Sécurité Informatique 2021-2022
Cadre juridique
Utilisation de la cryptographie est libre
LRT (Loi et Réglementation des Télécom) de 1990
Confidentialité ≠ Authentification/Intégrité (libre)
Régime d'autorisation au préalable à la DCSSI
Loi sur les Télécom de 1996
Découpages en 6 catégories
Déclaration de produits libres,
d'autre préalables (clé > 128 bits)
système de Tiers de confiances
LCEN
Article 30-I : libre
La fourniture : demande une déclaration au préalable
121 Sécurité Informatique 2021-2022
Histoire
L'antiquité
Les papyrus des Spartiates
Les codes « Jules César »
Le moyen âge
Les formules de l'Abbé Trithème
Les disques chiffrés de Leon Battista Alberti
La seconde guerre mondiale
Enigma
Méthode moderne
Dans les années 60 par IBM : DES,
Whitfield Diffie et Martin Hellman : RSA

122 Sécurité Informatique 2021-2022


Besoin de chiffrement en informatique
Protection et confidentialité des informations
Sur des supports
Via des communications
Prémunir des incidents liés aux écoutes, interceptions,
vols, destructions etc..
Authentification et non répudiation
Identification dans un espace virtuel

123 Sécurité Informatique 2021-2022


Validité du chiffrement
Dépendant de la nature de la donnée à protéger
Transaction bancaire, sessions réseaux : quelques minutes
Secret d’état, signature de contrat à long terme : dizaines d’années
Dépendant de la dimension de la clé
plus la clé est grande, elle est difficile à casser
Réponse : augmentation de la dimension de la clé
Même algorithme mais réutilisé en chaîne (3-DES)
Chiffrement en plusieurs phases avec 2 ou 3 clés
Nouveaux algorithmes
Le déchiffrement est sensé être possible que si :
on connaît l’algorithme
et on possède la clé associée

124 Sécurité Informatique 2021-2022


Algorithmes de chiffrement
2 méthodes :
Par bloc : l’opération de chiffrement s’effectue sur des blocs de
texte clair (ex : le DES avec des blocs de 64 bits).
Par flux : l’opération de chiffrement s’opère sur chaque
élément du texte clair (caractère, bits). On chiffre un
bit/caractère à la fois.
2 types de secret :
secret ou symétrique : une même clé utilisée pour chiffrer et
déchiffrer
publique ou asymétrique : des clés différentes pour chiffrer ou
déchiffrer

125 Sécurité Informatique 2021-2022


Cryptage symétrique / Cryptage asymétrique

Cryptage Décryptage
par la clé (M)K par la clé
(K) (K)

Emetteur Message Codé Récepteur

Cryptage
par la clé Décryptage
(M)KP par la clé
publique privée(Kp)
(KP)

Emetteur Message Codé Récepteur

126 Sécurité Informatique 2021-2022


Chiffrement à clé secrète
Aussi appelé chiffrement symétrique
La confidentialité est basée sur l’utilisation d’un secret
commun.
Cette méthode consiste à utiliser une clé identique pour chiffrer et
déchiffrer le message.
Il est appelé comme tel, car la clé (unique) ne doit être connue que
des personnes devant pouvoir accéder au secret.
le même algorithme est utilisé pour le chiffrement et le
déchiffrement
Système rapide, et facile à mettre en œuvre
Basé sur des opérations mathématiques simples (substitutions,
permutations)
M'= Fk(M) et donc Fk-1 (M')=Fk-1 (Fk(M))=M
127 Sécurité Informatique 2021-2022
Clé secrète
La clé étant connue des deux interlocuteurs, elle doit
être échangée entre eux par un canal confidentiel
alternatif
Le problème de la distribution des clés :
Il faut pouvoir les transmettre d’une manière sûre.
Grands nombre de clés lors de partages deux à deux entre de
nombreuses personnes
Nombre de clés à gérer :
N(N-1)/2 (N nb de personnes)

128 Sécurité Informatique 2021-2022


Exemples
Chiffrement de flux :
RC4, RC5 (« Rivest's Code #4, #5 » 1987) dont une longueur
de clé variable (de 1 à 256 octets).
Chiffrement par blocs :
DES (« Data Encryption Standard » 1974), triple-DES (1985)
IDEA (« International Data Encryption Algorithm » , Suisse,
1992) contrôlé par une clé de 128 bits
Blowfish (Bruce Schneier 1993) une longueur de clé variant
entre 32 bits et 448 bits
AES (« Advanced Encryption Standard » 1997 en cours de
développement et qui correspond à une standardisation)

129 Sécurité Informatique 2021-2022


DES (Data Encryption Standard)
Apparu en 1976, suite à une évolution de Lucifer (IBM)
par la NSA
La clé a une longueur de 64 bits, c’est-à-dire 8
caractères, mais seulement 56 bits sont utilisés (8
derniers bits servent de test de parité)
DES consiste à faire des combinaisons, des
substitutions et des permutations entre le texte à chiffrer
et la clé.
Voir un exemple d'exécution sur :
http://lwh.free.fr/pages/algo/crypto/des.htm

130 Sécurité Informatique 2021-2022


Algorithme du DES

Les grandes lignes de l'algorithme sont


les suivantes :
Fractionnement du texte en blocs de 64
bits (8 octets) ;
Permutation initiale des blocs ;
Découpage des blocs en deux parties:
gauche et droite, nommées G et D ;
Etapes de permutation et de substitution
répétées 16 fois (appelées rondes) ;
Recollement des parties gauche et droite
puis permutation initiale inverse.
131 Sécurité Informatique 2021-2022
Algorithme de base du DES

132 Sécurité Informatique 2021-2022


Matrice de permutation
Permutation initiale

Permutation finale

133 Sécurité Informatique 2021-2022


Étape générale par itération

134 Sécurité Informatique 2021-2022


Etape d’une rotation détaillée

135 Sécurité Informatique 2021-2022


Opérations de la fonction F

Matrice d’expansion E Matrice de permutation P

Transformation S-Box
136 Sécurité Informatique 2021-2022
Les 8 S-Box du DES

b1b6 : numéro de la ligne


b2b3b4b5 : numéro de la colonne

137 Sécurité Informatique 2021-2022


Le défi DES
Cryptanalyse de "Strong cryptography makes the world a safer
place" en 4 mois par des volontaires recrutés sur Internet
qui ont testé 18x1015 clés
En 1999 : 22 heures avec un réseau de 100000 machines
Multiple DES, AES (jusqu’à des clés de 256 bits, chaque
tour est constitué d’une substitution non linéaire, d’une
permutation linéaire et de l’addition de la clé) :
chiffrement en 2Gbit/s sur ASIC

138 Sécurité Informatique 2021-2022


Exercice Mini-DES
On considère le cryptosystème donné dans la figure.
Sachant que S1 et S2 sont données par le tableau
suivant

que les clefs de ronde se déduisent de la clef de


chiffrement K = [k1, k2, k3, k4] par :

et que la permutation P est définie par :

Chiffrez le message M = [0, 1, 1, 0] avec K = [1, 1,


1, 1] et déchiffrez le message C = [0, 1, 0, 1]
chiffré avec la même clef.

139 Sécurité Informatique 2021-2022


Chiffrement à clé publique
Viens de la limitation des algorithmes à clé secrète :
Problématique de l'échange de la clé de chiffrement
établissement préalable d'un canal sûr pour la transmission de la
clef
Nouveaux procédés : algorithmes basés sur des problèmes
difficiles à résoudre
Logarithme discret
le calcul des logarithmes discrets s'avère difficile, tandis que le
problème inverse de l'exponentiation discrète ne l'est pas

Factorisation de grands nombres


Multiplier deux grands nombres premiers est une fonction à sens
unique; il est facile de multiplier deux nombres pour obtenir un
produit, mais difficile de factoriser ce produit et de retrouver les
deux grands nombres premiers (ex: 437 = ? * ?)

140 Sécurité Informatique 2021-2022


Diffie & Hellman
En 1976, Whitfield Diffie et Martin Hellman, de
l'Université Stanford, proposent la cryptographie à clé
publique, ou asymétrique
principe de cryptographie à clé publique
protocole d'échanges de clés totalement sécurisé basé sur des
fonctions difficiles à inverser

141 Sécurité Informatique 2021-2022


Principe de Diffie & Hellman
1. A et B se mettent d'accord publiquement sur un très
grand nombre premier "p" et sur un nombre "n<p".
2. A engendre une clé secrète "a" et B une clé secrète "b"
3. A calcule l'élément public ka et B l'élément public kb
ka = na mod p
kb = nb mod p
4. A transmet sa clé publique ka à B, et B transmet sa clé
publique kb à A
5. A et B profitent ensuite de la commutativité de la
fonction exponentielle pour établir leur secret commun
KAlice = (kb) a = (n b) a mod p
KBob = (ka) b = (n a) b mod p
=> KAlice = KBob = nab mod p
142 Sécurité Informatique 2021-2022
Limites de Diffie & Hellman
Le schéma de Diffie-Hellman souffre d'un inconvénient
majeur :
il n'assure pas les services de sécurité classiques :
l'authentification mutuelle des deux intervenants
le contrôle de l'intégrité de la clé
l'anti-rejeu (vérifier qu'une information déjà transmise ne
l'est pas à nouveau).
L'ennemi peut donc facilement usurper l'identité de A, en
remplaçant son élément public par le sien.

143 Sécurité Informatique 2021-2022


RSA
Système à clé publique solide le plus utilisé actuellement
Publié en 1977 par Ron Rivest, Adi Shamir et
Leonard Adleman de l'Institut de Technologie du
Massachusetts (MIT)
Fondé sur :
La difficulté de factoriser des grands nombres
La fonction à sens unique utilisée est une fonction "puissance"

144 Sécurité Informatique 2021-2022


Algorithme du RSA
Pour recevoir un message crypté, B doit :
Choisir 2 entiers premiers p et q
Calculer n = pq
Choisir e < n premier avec (p-1) et (q-1)
Soit d tel que ed=1 mod (p-1)(q-1) (théorème de Bachet de
Méziriac)
KB+ = (n,e) et KB- = (n,d)
Pour envoyer une suite de bits représentée par un
nombre m < n
A envoie c = me mod n
Pour décrypter, B calcule m = cd mod n
En pratique n est représenté sur 1024 bits

145 Sécurité Informatique 2021-2022


Exemple
Soient p = 5 et q = 7
K+=(n,e)=(35,5)
n = 35 et (p-1)(q-1) = 24 K-=(n,d)=(35,29)
e=5
d = 29
Calculer la paire de clés puis coder le message M=
Msg "ENS".
Rg. alph. me Code
E 5 3125 10
N 14 537824 14
Code cd m Msg
S 19 2476099 24
10 100000000000000000000000 5 E
000000
14 172867373967747110156721 14 N
6945987584
146 24 Sécurité 106200365064067167761572
Informatique 19 2021-2022S
42913621199028224
Utilisation de la cryptographie asymétrique
Services assurés :
Confidentialité
Authentification
Intégrité
Non-répudiation

147 Sécurité Informatique 2021-2022


Cryptographie asymétrique : Confidentialité
Un émetteur E disposant d’une paire de clés (K-E, K+E)
veut envoyer un message M à un récepteur R disposant
d’une paire de clés (K-R, K+R), en assurant la
confidentialité du message :

E ! R : (M, K+R)
R : ((M, K+R), K-R) = M

148 Sécurité Informatique 2021-2022


Cryptographie asymétrique: Authentification
Un émetteur E disposant d’une paire de clés (K-E, K+E)
veut envoyer un message M à un récepteur R disposant
d’une paire de clés (K-R, K+R), en assurant
l’authentification de l’émetteur :

E ! R : (M, K-E)
R ! E : K+E ?
E ! R : K+E
R : ((M, K-E), K+E) = M

149 Sécurité Informatique 2021-2022


Cryptographie asymétrique : Intégrité
Un émetteur E disposant d’une paire de clés (K-E, K+E)
veut envoyer un message M à un récepteur R disposant
d’une paire de clés (K-R, K+R), en assurant l’intégrité du
message :

E : h = H(M)
E ! R : M + (h, K-E)
R ! E : K+E ?
E ! R : K+E
R : H(M)= ((h, K-E), K+E)

151 Sécurité Informatique 2021-2022


Exemple d'attaque
Algorithme :
Intrus ! B : je suis A
B ! Intrus : nonce R
Intrus ! B : K-Intrus(R)
B ! Intrus : demande K+A
Intrus ! B : K+Intrus
B calcule X = K+Intrus (K-Intrus(R)),
si X = R  authentification de l'intrus comme étant A
A peut détecter cette attaque

152 Sécurité Informatique 2021-2022


Attaque par interception
Algorithme :
A ! B : je suis A
Intrus ! B : je suis A
B ! Intrus : nonce R
Intrus ! B : K-Intrus(R)
B ! Intrus : demande K+A
Intrus ! B : K+Intrus
Intrus ! A : R
A! Intrus : K-A(R)
Intrus ! A : demande K+A
A ! Intrus : K+A
B ! Intrus : K+Intrus(X) //où X sont les données cryptées
Intrus décrypte les données : K-Intrus (K+Intrus(X))
Intrus ! A : K+A(X)
A décrypte les données : K-A (K+A(X))
A et B ne se rendent compte de rien.

153 Sécurité Informatique 2021-2022


Intégrité
Signature numérique (Off line) :
A ! B : K-A (m)
B décrypte les données : K+A (K-A(m)) = m pour vérifier que
les données m ont bien été signées par A
Empreintes : utiliser un résumé (fonction de hachage
H(m) :
La signature est K-A(H(m))
H est une fonction de hachage telle qu'il est très difficile de
trouver 2 msg m1 et m2 / H(m1)=H(m2)
Exemple :
MD5 : résumé de 128 bits
SHA-1 (Secure Hash Algorithm) : 160 bits

154 Sécurité Informatique 2021-2022


Caractéristiques de la signature
Authentique : L'identité du signataire doit pouvoir être
retrouvée de manière certaine.
Infalsifiable : La signature ne peut pas être falsifiée.
Quelqu'un ne peut se faire passer pour un autre.
Non réutilisable: La signature n'est pas réutilisable. Elle
fait partie du document signé et ne peut être déplacée
sur un autre document.
Inaltérable : Un document signé est inaltérable. Une fois
qu'il est signé, on ne peut plus le modifier.
Irrévocable : La personne qui a signé ne peut le nier.

155 Sécurité Informatique 2021-2022


Signature numérique
Signature Vérification

156 Sécurité Informatique 2021-2022


PKI : Notions de base
Problématique :
Comment garantir qu’une clé publique correspond bien à
l’entité avec qui on communique ?
Définition :
« Ensemble de composants, fonctions et procédures
dédiés à la gestion de clés et de certificats utilisés par des
services de sécurité basés sur la cryptographie à clé
publique ». [Politique de certification type: Ministère de
l’Economie, des Finances et de l’Industrie, Fr]

157 Sécurité Informatique 2021-2022


Fonction d’un PKI
Enregistrer et vérifier les demandes de certificats
Autorité d’enregistrement
Créer et distribuer des certificats
Autorité de certification
Vérification de validité de certificats
Autorité de validation
Gérer à tout moment l’état des certificats et prendre en
compte leur révocation
Dépôt de listes de certificats révoqués – CRL (Certificate Revocation
List)
Publier les certificats dans un dépôt
Dépôt de certificats (Annuaire)

158 Sécurité Informatique 2021-2022


Organisation et fonctionnement d’un PKI

159 Sécurité Informatique 2021-2022


Schéma fonctionnel simplifié d’une PKI

160 Sécurité Informatique 2021-2022


Exemple de certificats

161 Sécurité Informatique 2021-2022


162 Sécurité Informatique 2021-2022
Certificat révoqué

163 Sécurité Informatique 2021-2022


Exemple de site avec erreur sur le certificat

164 Sécurité Informatique 2021-2022


165 Sécurité Informatique 2021-2022
Model de confiance dans les PKI
Modèle monopoliste
Une CA pour tout le monde
Délégation de pouvoir de certification
Une CA délègue le pouvoir de certification à d’autres entités qui
deviennent CA à leur tour, en leur fournissant un certificat qui
certifie leur capacité d’être CA.
Modèle oligarchique
Déploiement des produits (comme les navigateur web) avec plusieurs
entités de confiance qui sont des CA. Le navigateur fera confiance à
tout certificat signé par l’une de ces CA dans sa liste
Modèle anarchique
Chaque utilisateur établit la liste des entités à qui il fait confiance

166 Sécurité Informatique 2021-2022


Certificat numérique
Un certificat à clé publique est un certificat numérique qui lie
l’identité d’un système à une clé publique, et éventuellement à
d’autres informations;
C’est une structure de donnée signée numériquement qui atteste
sur l’identité du possesseur de la clé privée correspondante à une
clé publique.
Un certificat est signé numériquement par une autorité de
certification à qui font confiance tous les usagers et dont la clé
publique est connue par tous d’une manière sécurisée.
Ainsi, afin de publier sa clé publique, son possesseur doit fournir
un certificat de sa clé publique signé par l’autorité de certification.
Après vérification de la signature apposée sur le certificat en
utilisant la clé publique de l’autorité de certification, le récepteur
peut déchiffrer et vérifier les signatures de son interlocuteur dont
l’identité et la clé publique sont inclus dans le certificat.

167 Sécurité Informatique 2021-2022


Cycle de vie des certificats

168 Sécurité Informatique 2021-2022


Structure d’un certificat X.509
Version
Numéro de série
Algorithme de signature du certificat
Signataire du certificat
Validité (dates limite)
Pas avant
Pas après
Détenteur du certificat
Informations sur la clé publique
Algorithme de la clé publique
Clé publique
Id unique du signataire
Id unique du détenteur du certificat
Extensions
Liste des extensions...

169 Sécurité Informatique 2021-2022


Type de certificats
Différents types de certificats / le niveau de signature :
Les certificats auto-signés sont des certificats à usage interne.
Signés par un serveur local, ce type de certificat permet de
garantir la confidentialité des échanges au sein d'une
organisation, par exemple pour le besoin d'un intranet. Il est
ainsi possible d'effectuer une authentification des utilisateurs
grâce à des certificats auto-signés.
Les certificats signés par un organisme de certification sont
nécessaires lorsqu'il s'agit d'assurer la sécurité des échanges
avec des utilisateurs anonymes, par exemple dans le cas d'un
site web sécurisé accessible au grand public. Le certificateur
tiers permet d'assurer à l'utilisateur que le certificat appartient
bien à l'organisation à laquelle il est déclaré appartenir.

170 Sécurité Informatique 2021-2022


Autorité de certification
Une autorité de certification est toute entité qui délivre
des certificats de clé publique

171 Sécurité Informatique 2021-2022


Rôle de l’AC
L’autorité de certification certifie la correspondance
Clé publique – Identité pour l’ensemble d’une population

Transitivité de la confiance
A fait confiance à l’Autorité de Certification
L’Autorité de Certification délivre un certificat à B
A est assuré de la correspondance entre l’identité de B et sa clé
publique

172 Sécurité Informatique 2021-2022


Validité d’un certificat
Pour pouvoir se fier au contenu d’un certificat, il est nécessaire de vérifier :

173 Sécurité Informatique 2021-2022


Révocation des certificats
La révocation intervient quand la fin de validité réelle
précède la fin de validité prévue
Motifs de révocation :
Compromission réelle ou suspectée de la clé privée
Modification d’un au moins des attributs certifiés
Perte de la clé privée (effacement d’un disque dur, perte ou
détérioration d’une carte à puce, oubli du code PIN, …)
Évolution de l’état de l’art cryptographique (la cryptanalyse de
la clé privée entre dans le domaine du possible)
Perte de confiance vis-à-vis d’un acteur ou d’un composant de
la PKI
Méthode de révocation : CRL

174 Sécurité Informatique 2021-2022


Type d’usage des certificats
Principalement dans trois types de contextes :
Le certificat client, stocké sur le poste de travail de l'utilisateur ou embarqué
dans un conteneur tel qu'une carte à puce, permet d'identifier un utilisateur et de
lui associer des droits. Dans la plupart des scénarios il est transmis au serveur
lors d'une connexion, qui affecte des droits en fonction de l'accréditation de
l'utilisateur. Il s'agit d'une véritable carte d'identité numérique utilisant une paire
de clé asymétrique d'une longueur de 512 à 1024 bits.
Le certificat serveur installé sur un serveur web permet d'assurer le lien entre le
service et le propriétaire du service. Dans le cas d'un site web, il permet de
garantir que l'URL et en particulier le domaine de la page web appartiennent
bien à telle ou telle entreprise. Par ailleurs il permet de sécuriser les transactions
avec les utilisateurs grâce au protocole SSL.
Le certificat VPN est un type de certificat installé dans les équipement réseaux,
permettant de chiffrer les flux de communication de bout en bout entre deux
points (par exemple deux sites d'une entreprise). Dans ce type de scénario, les
utilisateurs possèdent un certificat client, les serveurs mettent en œuvre un
certificat serveur et les équipements de communication utilisent un certificat
particulier (généralement un certificat IPSec.

175 Sécurité Informatique 2021-2022


Certificat client

176 Sécurité Informatique 2021-2022


Transmission de certificat numérique pour le e-
commerce
Trusted third-party certificate provider
1. Digital certificate / public key
sent to server (when server is
Web server with initially set up)
private key
2. Copy of public key is sent to
customer’s PC. Customer accepts this
certificate to create SSL “pipe”
between user’s PC and server Customer’s PC
4. Certificate used to 3. Encryption “tunnel”
Encrypted Credit
credit card encrypt data card created
Information information

VISA
******
******
******
******
******
******

5. Encrypted data sent to


server via internet

Note: Step 3 indicates the creation of


an SSL encryption “tunnel” for data
to pass through. Steps 4 through 7
Encrypted show what happens behind the

Internet
Credit credit card
card 6. Private key used to Information
scenes in SSL.
information decrypt data
= non-SSL transmission
VISA ******
****** ******
****** ****** = SSL transmission
******

177 Sécurité Informatique 2021-2022


Transmission de signature numérique
Web server with 1. Digital certificate / Trusted third-party certificate provider
public key sent to
private key customer

Customer’s PC

5. User is presented with


digital-signature
information. If user
accepts certificate, SSL
tunnel is created.
Digital
signature

ABC
Encrypted
Corp. Digital
****** 3. Encrypted digital
signature
****** signature
signature sent
ABC
******
Corp.
******
******
Encrypted
Internet
******
digital 4. Public key / ******

2. Private key encrypts signature certificate used to


digital-signature decrypt digital
******
document ****** signature
******

178 Sécurité Informatique 2021-2022


Exercice RSA
Exercice II :

1. On donne les valeurs numériques suivantes : p = 3, q = 11 :


1. Calculer les valeurs des nombres d et e vérifiant les conditions de l'algorithme du RSA.
Pour avoir un couple unique on prend la plus petite valeur possible de d et pour cette
valeur la plus petite valeur possible de e.
2. Quelle est la clé publique et quelle est la clé secrète?
2. Soit le message de 3 chiffres 1, 6, 15 correspondant à la séquence binaire
suivante : 00001 00110 01111
1. Coder ce message en utilisant les paramètres de chiffrement RSA précédents.
3. On reçoit le message suivant par blocs de 6 bits (4, 14, 24): 000100 001110
011000
1. Donner la valeur initiale du message (texte en clair), en prenant les mêmes valeurs pour d,
e et k.
2. Pourquoi faut-il que les valeurs de p et q ne soient pas petites ?

179 Sécurité Informatique 2021-2022

You might also like