Vous êtes sur la page 1sur 14

Section:MR1

Module : Sécurité et cryptographie


Chapitre : Les protocoles
cryptographiques

April 20, 2021


FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Chapitre 4:
Les protocoles Cryptographiques

4.1 Introduction
Un protocole est une série d’étapes (debut-fin), impliquant deux ou plusieurs
participants, conçu pour accomplir une tâche (doit faire quelque chose). Un
protocole crypto est un protocole qui utilise la cryptographie. Les partici-
pants peuvent être amis, ont confiance les uns aux autres, ou ennemis : ne
font pas confiance.

Protocoles-arbitrés

Un protocole qui fait recours à un arbitre qui est une personne de confiance
et désintéressée qui veille au bon déroulement du protocole.

Figure 4.1: Protocole arbitré

Exemple 4.1.1 Alice vend une voiture à Bernard qui veut payer par chèque.

1. Alice donne les clés à un homme de confiance,

2. Bernard donne le chèque à Alice,

3. Alice dépose le chèque

4. Aprés l’encaissement, l’homme de confiance donne les clés à Bernard.

Protocoles avec juge-arbitre

Le juge-arbite n’est appliqué que pour déterminer si une transaction a été


effectuée honnêtement. Le protocole est composé par sous protocole non

1
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Figure 4.2: Protocole avec juge arbitre

arbitré, et sous protocole arbitré auquel on doit faire appel s’il y a un litige
entre participants.

Exemple 4.1.2 Le protocole suivant est composé par deux sous-protocoles:


Sous-protocole non arbitré:

1. Alice et Bernard négocoent les termes du contrat.

2. Alice signe le contrat.

3. Bernard signe le contrat

Sous-protocole arbitré:

1. Alice et Bernard comparaissent devant le juge.

2. Alice présente sa défense.

3. Bernard présente sa défense.

4. Le juge tranche.

Protocoles à disciplines intrinsèques

Le protocole est construit de telle façon que les contestations soient im-
possibles. Si quelqu’un essaie de tricher, l’autre la détecte immédiatement
et le protocole est interrompu. On dit que le protocole lui-même garantit
l’intégrité de la transaction.

2
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Figure 4.3: Protocole à disciplines intrinsèques

Exemple de communication à une clé sécrète

Le protocole suivant est exemple d’un protocole à disciplines intrinsèques. Il


utilise le chiffrement sysmétrique.

Notation 4.1.3 On note par


{m}K : le chiffrement du message m par la clé K
KAB : la clé secrrète partagée entre A et B.

Ce protocole présume qu’Alice (A) et Bernard (B) se font confiance


mutuellement (le protocole n’empêche pas Alice de donner une copie du texte
à Estelle (Estelle est un adversaire passif).

1. A et B choisissent un chiffre.

2. A et B choisissent une clé KAB .

3. A : c = {m}KAB

4. A ,→ B : c

5. B déchiffre c

Ce type de communication présente quelques problèmes: (i) les clefs


doivent être distribuées secrètement, (ii) si la clé est compromise, on peut
déchiffre tous les messages, et (iii) le nombre de clés croit très vite par rapport
au nombre d’utilisateurs.

Attaques de protocoles

Les attaques peuvent viser soit :

• Les algorithmes crypto (comme les algorithmes de chiffrement),

3
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

• Le protocole lui-même.

Attaque contre protocole :

• Attaques passives :

– Observer le protocole est collecter les informations.


– Difficile à detecter.
– Objectif cryptanalyse.

• Attaques actives :

– Alterner le protocole pour le tourner a son avantage.


– Il peut prétendre être quelqu’un d’autre.
– Intercaler/supprimer/remplacer de messages.
– Rejeu: envoyer un vieux message déja envoyé dans une session
précédente.

Noter que l’attaquant peut être utilisateur légitime du système.

Exemple 4.1.4 La communication à clé secrète dans l’exemple précédent


peut être cassée par une attaque active: casser le canal à l’étape 4 et rem-
placer le message (Bernard n’a aucun moyen de détecter que les messages ne
viennent pas d’Alice).

Typologie des protocoles cryptographiques

Les protocoles cryptographiques peuvent être classés en plusieurs catégories:

• Protocoles d’échange de clefs (key exchange, key agreement): création


d’un secret partagé (exemple: protocole de Diffie Hellman).

• Protocoles d’authentification.

• Protocoles combinant authentification et échange de clés.

• Autres: vote électronique, commerce électronique, horodatage, etc..

4
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

4.2 Propriétés de sécurité


Un protcole de sécurité est employé pour assurer une ou plusieurs pro-
priétés/service de sécurité. Les propriétés de sécurite de base sont:

• Confidentialité : protection de la divulgation non autorisée de données.

• Authentification : défnie sur deux niveaux:

– Au niveau entité: prouver l’identité d’une entité pour un contrôle


d’accès (authentification interactive). Alice doit être authentifié
auprès de Bernard à la fin du déroulement du protocole.
– Au niveau message: prouver le créateur (celui qui a produit) le
message (assurée par une signature numérique, qu’on verra plus
tard).

• Integrité : protection contre la modification non autorisée de données.

• Non répudiation : qui se décompose en deux :

– Non répudiation d’origine: l’émetteur ne peut nier avoir écrit le


message, et il peut prouver qu’il ne l’a pas fait si c’est effectivement
le cas.
– Non répudiation de réception: le receveur ne peut nier avoir reçu
le message, et il peut prouver qu’il ne l’a pas reutiliser si c’est
effectivement le cas.

• Anonymat : protection de la divulgation de l’identité.

• Fraı̂cheur/anti-rejeu: pendant une session de protocole, une donnée est


fraı̂che si l’on peut garantir qu’elle a été émise spécifiquement pour
cette session par un des acteurs.

4.3 Primitives cryptographiques


4.3.1 Chiffrement à clé publique
• Introduit en 1976 par W Diffie & M Hellman.

5
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

• Un participant dispose de deux clés: une clé publique envoyée à tous


les autres acteurs, et une clé privée.

Définition 4.3.1 Un schéma de chiffrement à clé publique est un triple


d’algorithmes (probabiliste) (Gen,E,D) sur (P,K,C) avec:

• Gen :→ K ×K, il génère une paire de clés (pk,sk). pk est la clé publique
et sk est la clé privée.

• E : K × P → C, algorithme de chiffrement, il prend une clé publique


et un message clair et produit un messsage chiffré: E(pk, m) = c.

• D : K × C → M , algorithme de déchiffrement, il prend une clé privée


et un ciphertext et produit un messsage clair: E(sk, c) = m

Un schéma de chiffrement public est correcte si :

• D(sk, E(pk, m)) = m ssi (pk,sk) est une paire générée par Gen, i.e pk
est la clé publique correspondante à sk.

• Pour tout ciphertext c, il est pratiquement difficile de trouver m à partir


de E(pk, m) = c sans la clé sk.

• Etant donné pk, il est impossible de trouver sk.

Notation 4.3.2 On note par


KA : la clé publique de A.
−1
KA : la clé privée de A.
{m}KA : le chiffrement de m par lé clé publique KA .
{c}K −1 : le déchiffrement de c par lé clé privée KA−1 .
A

Protocole à clé publique

1. Alice et Bernard choisissent un chiffre à clé publique.

2. B ,→ A : KB

3. A: chiffre m: c = {m}KB

4. A ,→ B : c

6
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

5. B: m = {c}K − 1 .
B

Remarque 4.3.3 pour éviter l’ambiguı̈té, on utilise clé privée pour le chiffre-
ment public, et clé secrète pour le chiffrement symétrique.

Necessité d’authentification

Dans une communication à clé publique l’authentification est necessaire pour


eviter les attaques de l’homme de milieu. Le scénario de l’attaque est le
suivant: l’adversaire (C) usurpe l’identité de l’entité B en envoyant à l’entité
A une clé publique KC que A suppose (incorrectement) être la clé publique
de B. L’adversaire intercepte les messages chiffrés de A à B, déchiffre avec
par sa propre clé privée KC−1 , re-chiffre le message sous la clé publique KB
de B et l’envoie à B.

Chiffrement hybride

Le chiffrement à clé publiqe est lent, donc inutilisable pour chiffrer de gros
volumes de données. En pratique, les algorithmes à clé publique sont utilisés
pour chiffrer les clés symétriques. Il y a deux raisons :

• Les algorithmes à clé publique sont lents (1000 fois moins lent).

• Sont vulnérables aux attaques à texte en clair choisi : si c = {m}KA


avec m le texte clair parmi n textes, alors il suffit de chiffrer les n textes
pat KA (qui est connu par tout le monde) et de comparer avec c.

4.3.2 Fonction à sens unique


C’est une fonction de base de la plupart des protocoles. Sa particuarité qu’elle
est facile à calculer mais difficile à inverser. Par difficile on veut dire qu’il
faudrait des millions d’années pour la calculer même avec tous les ordinateurs
du monde.

7
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Exemple 4.3.4 Un exemple du monde réel d’une fonction à sens unque est
le cassage d’une assiette; Il très facile de la casser mais ça prend beaucoup
de temps pour la reconstruire. Un autre exemple du monde mathématique,
c’est le carré de x dans un corps fini qui est facile, mais son inverse, racine
de x est difficile.

Fonction à sens unique avec brèche secrète ou fonction trappe:


C’est un type spécial de fonction à sens unique: elle est toujour facile à
calculer, mais facile à inverser si et seulement si on connaı̂t un secret.
Le chiffrement à clé publique est un exemple car il est facile de faire le
déchiffrement si on a la clé privée. Un autre exemple réel est le Démontage/montage
d’une montre; remettre les pièces ensemble est facile avec un plan de montage.
Fonction de hachage:
Elle porte de nombreux noms : fonction de compression, de contraction,
digest, empreinte digitale. C’est une fonction à sens unique ayant les deux
propriétés suivantes:

• Non-collision: ∀m1 , m2 h(m1 ) 6= h(m2 ) si m1 6= m2 .

• Empreinte: ∀m h(m)  m; la taille de h(m) est fixe et beaucoup plus


petite que la taille de m.

Un exemple sipmle de fonction de hachage: calculer un octet qui serait


le résultat du ou exclusif (xor) de tous les caractères. Les algorithmes de
hachage les plus utilisés sont: SHA, MD4, MD5.
Parmi les utilisations de la fonction de hachage est la vérification de
l’existence d’un fichier sans l’envoyer. Il suffit d’envoyer l’empreinte pour
prouver qu’on possède le fichier. Un autre exemple est la sauvegarde des
mots de passe: les serveurs enregistrent les empreintes des mots de passe
et non pas les mots de passe. Lors de l’authentification le serveur calcule
l’empreinte et la compare avec l’empreinte sauvegardée. Dans ce cas, même
si le serveur est compromis, il est difficile de lire les mots de passe car la
fonction de hachage est à sens unique.
Code d’Authentification de Messages (MAC) : C’est une fonction de
hachage à sens unique avec une clé secrète. L’empreinte dépend de l’entrée
et la clé secrète. On peut construire MAC avec un algorithme de hachage

8
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

et un algorithme de chiffrement symétrique par bloc. Il existe des fonctions


spécialement conçues pour faire un MAC.

4.4 signature
C’est une fonction cryptographique fondamentale pour assurer: l’authentification,
l’autorisation et la non répudiation. Les propriétés d’une signature :

Authentique: preuve que le signataire a signé le document.

Infalsifiable: ne peut pas être falsifiée/imitée.

Non réutilisable: ne peut pas être déplacée vers un autre document.

Non altérable: une fois signé, on ne peut pas modifier le document.

Non reniée: le signataire ne peut pas nier qu’il a signé le document.

Définition 4.4.1 Un schéma de signature < SA , VA > pour une entité A


sur (M,S) avec M un ensemble de messages et S ensemble d’éléments appelés
signatures est composé par:

• SA : M → S: fonction (secrète) de signature pour l’entité A.

• VA : M × S → booleen: fonction (publique) de vérification pour les


signatures de A.

Exemple 4.4.2 M = {m1 , m2 , m3 } et S = {s1 , s2 , s3 }. Voir Figure 4.4.2.

Un schéma de signature est correct si

• s est une signature valide de m par A si et ssi VA (m, s) = ture.

• Il est partiquement difficile pour une entité différente de A de trouver,


pour tout m ∈ M , un s tel que VA (m, s) = true.

9
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Figure 4.4: Exemple de signature

Procédure de signature: Une entité A créé une signature d’un message


m en calculant s = SA (m) puis envoie (m, s). s est la signature.
Procédure de vérification: Obtenir la fonction de vérification VA , puis
calculer u = VA (m, s), puis accepter la signature si u = true.
On distingue deux types de signatures: (i) Signature numériques avec an-
nexe: la vérification nécessite le message original, (ii) Signature numérique
avec recouvrement de message : le message d’origine est récupéré de la sig-
nature elle-même.

Exemple d’algorithme de signature: Digital Signature Algorithm (DSA).

4.4.1 Signature à l’aide d’un chiffre à clé secrète et


d’un arbitre
Alice (A) veut signer un message et l’envoyer à Bernard (B), à l’aide d’un
arbitre Ivan. Ivan (I) partage une clé KA avec Alice et une KB avec Bernard.

1. A ,→ I: {m}KA .

2. I ,→ B: {m, Certif (m)}KB .

3. Bernard déchiffre le message et lit la certif d’Ivan

Certif (m): certification prouve que Ivan a reçu m de Alice.

10
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Si Bernard veut montrer le document signé par Alice à Christine (C). il


doit passer par Ivan.

1. B ,→ I: {m, certif (m)}KB .

2. Ivan verifie dans sa base données que le m provient de Alice.

3. I ,→ C: {m, certif (m)}KC . (KC clé secrète partagée entre I et C)

4. Christine déchiffre et vérifie que le m provient de Alice.

L’exemple de Bernard montre que cette solution présente certaines limites:


la perte du temps car tous les messages doivent passer par Ivan, qui lui-même
doit garder une copie de chaque message. En plus, Si la base est attaquée,
toutes les signatures deviendraient non utilisables.

4.4.2 Signature à l’aide d’un chiffre à clé publique


Il est possible de construire un schéma de signature à l’aide d’un schéma de
chiffrement à clé publique symétriques, i.e le chiffrement par la clé publique
puis le déchiffrement par la clé privée est équivalent au chiffrement par la clé
privée puis je déchiffrement par la clé publique:

{{m}KA }K − 1 = {{m}K − 1 }KA = m


A A

RSA et Rabin vérifient cette propriété. La construction de la signature à


partir d’un shéma de chiffrement à clé publique (Gen,E,D) sur (P,K,C) est
comme suit: étant donnée un paire de clés (KA , KA−1 ):

• M = P.

• S = C.

• SA (m) = {m}K −1 = s (notation formelle D(KA−1 , m) = s).


A

• VA (m, s) = true si s = {m}KA (notation formelle E(KA , s) = m.

Le protocole:

1. A ,→ B: {m}K − 1 .
A

11
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

2. Bernard déchiffre avec KA , vérifiant ainsi la signature.

Signature à l’aide d’un chiffre à clé publique et fonction de


hachage: Puisque les algorithmes à clé publique sont très lents, pour gagner
du temps souvent on signe l’empreinte:

1. Alice calcule h(m).

2. Alice signe/chiffre l’empreinte.

3. A ,→ B : m, {h(m)}K −1 .
A

4. Bernard: compare h(m) avec {{h(m)}K −1 }KA .


A

4.5 Exemple: signature + chiffrement


On veut concevoir un protocole qui combine la sécurité et l’authentification
du message. Penser à une lettre signée dans un enveloppe :

1. A ,→ B: {{h(m), m}K −1 }KB


A

2. B: déchiffre le message pour obtenir: {h(m), m}K −1 puis vérifie la sig-


A
nature {{h(m)}K −1 }KA = h(m)
A

Il faut avoir deux paires de clés, une pour la signatue et l’autre pour le
chiffrement.

4.6 Mécanisme de fraı̂cheur


La nécessité de s’assurer que les éléments de message sont nouveaux ou frais
est une exigence de protocole très courante. Par exemple, les protocoles
conçus pour réaliser l’authentification en temps réel doivent garantir que les
messages envoyés ne sont pas des rediffusions. Les protocoles détablissement
des clés doivent fournir aux utilistuers que les clés de sessions sont nouvelles.
Il existe trois types de fraı̂cheur utilisés: Timestamps (horodatages), nonces
et compteurs.

12
FSM-DSI-MR1
Cours: Securité et cryptographie Avril 2018

Timestamps. L’expéditeur du message ajoute l’heure actuelle au message


lors de son envoi. Ceci est vérifié par le destinataire lorsque le mes-
sage est reçu en comparant avec l’heure locale. Si l’horodatage reçu se
trouve dans une fenêtre acceptable de l’heure actuelle, le message est
considéré comme frais. La difficulté d’utiliser des horodatages est que
des horloges synchronisées sont nécessaires et doivent être maintenues
en toute sécurité

Nonces Le destinataire B du message génère un nonce (Nombre unique et


utilisé une seule fois) NB , et le transmet à l’expéditeur du message A.
Le nonce NB est ensuite renvoyé avec le message de A après traitement
avec une fonction cryptographique f . A vérifie le nonce à la réception
et en déduit que le message est frais car le message ne peut pas avoir
été formé avant la génération du nonce.

1. B ,→ A: NB .
2. A ,→ B: f (NB , . . . ).

L’inconvénient est que le nombre d’échanges de messages augmente.

Compteurs L’expéditeur et le destinataire conservent un compteur syn-


chronisé dont la valeur est envoyé avec le message, puis incrémenté.
L’inconvénient c’est que la gestion des compteurs est lourde et peut
poser des problèmes.

13

Vous aimerez peut-être aussi