C15.3 : Chiffrement asymétrique

Définition

Le chiffrement asymétrique permet d'assurer la confidentialité, voir l'authentification des participant, d'une communication sans qu'une clé ait besoin d'être échangée.

Méthode de partage de clé de Diffie-Hellman

La méthode de Diffie-Hellman permet de convenir d'une clé commune sans avoir à l'échanger.

Cette méthode se base sur l'existence d'une fonction \(M\), que l'on ne détaillera pas ici, aux propriétés suivantes :

La création de la clé commune se fait de la façon suivante :

Remarque : le calcul de la clé nécessite de connaitre les trois nombres \(x\), \(y\) et \(z\), or ni \(y\), ni \(z\) n'ont été échangés.

Paires de clés publique/privée

Pour le chiffrement asymétrique, on génère une paire de clés :

  • - la première clé est publique, c'est-à-dire accessible à tous : \(K^{pub}\) ;
  • - la deuxième clé est privée, c'est-à-dire gardée secrète par son créateur : \(K^{priv}\)

Les deux clé d'une paire sont réciproques, c'est-à-dire qu'elles vérifient la propriété suivante :

Si \(K^{pub}(m) \rightarrow m_🔒\), alors \(K^{priv}(m_🔒) = K^{priv}(K^{pub}(m)) \rightarrow m\)

Exemples de chiffrements asymétriques

Principe de base du chiffrement asymétrique (méthode pour avoir la confidentialité)

Présentation

Alice souhaite envoyer un message \(m\) confidentiel à Bob.

Étapes du chiffrement

Étape 1 : Bob se crée une paire de clés : \(K_{Bob}^{pub}\) et \(K_{Bob}^{priv}\).

Étape 2 : Alice utilise la clé publique de Bob pour chiffrer le message \(m\) et obtient le message chiffré \(m_🔒\) qu'elle envoie à Bob.

\(K_{Bob}^{pub}(m) \rightarrow m_🔒\).

Étape 3 : Bob se sert de sa clé privée pour déchiffrer le message qu'il a reçu et retrouve le message \(m\).

\(K_{Bob}^{priv}(m_🔒) = K_{Bob}^{priv}(K_{Bob}^{pub}(m)) \rightarrow m\).

 

Questions

1. Justifier que le message est bien confidentiel.

2. Justifier que le message n'est pas authentifié.

Afficher la correction

1. Le message est bien confidentiel car il est transmis chiffré.

2. Le message n'est pas authentifié car Bob n'a aucun moyen d'identifier avec certitude l'émetteur du message.

Remarque

Cette méthode est vulnérable à l'attaque dite de "l'homme du milieu" qui compromet la confidentialité.

Méthode pour avoir la confidentialité et l'authenticité

Présentation

Alice souhaite envoyer un message \(m\) confidentiel et authentifié à Bob

La méthode décrite ici est celle utilisée dans le chiffrement RSA.

Spécificité des clés

Pour que l'authentification soit possible on utilise des algorithmes pour lesquels les paires de clés publique/privée sont interchangeables. Autrement dit, un message qui a été chiffré avec la clé publique d'une paire peut être déchiffré avec la clé privée et inversement.

\(K^{priv}(K^{pub}(m)) = K^{pub}(K^{priv}(m)) = m\)

Étapes du chiffrement

Étape 1 : Alice crée une paire de clés \(K_{Alice}^{pub}\) et \(K_{Alice}^{priv}\). Bob crée également une paire de clés \(K_{Bob}^{pub}\) et \(K_{Bob}^{priv}\).

Étape 2 : Alice chiffre son message avec sa clé privée, puis elle le chiffre à nouveau avec la clé publique de Bob et obtient le message chiffré \(m_🔒\).

\(K_{Bob}^{pub}(K_{Alice}^{priv}(m)) \rightarrow m_🔒\)

Étape 3 : Bob déchiffre le message qu'il reçoit avec sa clé privée puis il le déchiffre à nouveau avec la clé publique d'Alice.

\(K_{Alice}^{pub}(K_{Bob}^{priv}( m_🔒)) = K_{Alice}^{pub}(K_{Bob}^{priv}(K_{Bob}^{pub}(K_{Alice}^{priv}(m)))) = K_{Alice}^{pub}(K_{Alice}^{priv}(m)) \rightarrow m\).

Questions

1. Justifier que le message est bien confidentiel.

2. Justifier que le message est bien authentifié.

Afficher la correction

1. Le message est bien confidentiel car il est transmis chiffré.

2. Le message est authentifié car Alice l'a chiffré avec sa clé privée.

Authentification par signature

Présentation

Alice souhaite envoyer un message en prouvant qu'elle en est l'autrice.

Démarche

Lorsqu'Alice veut signer un document, elle utilise sa clé privée pour générer une signature numérique unique pour ce document. Le destinataire peut ensuite utiliser la clé publique d'Alice pour vérifier l'authenticité de la signature.

Authentification par un tiers de confiance

Ici, on considère trois protagonistes :

Étapes de la création du certificat pour S par TC

Étape 1 : TC récupère la clé publique de S, \(K_{S}^{pub}\).

Étape 2 : TC vérifie l'identité de S par des moyens divers.

Étape 3 : TC crée le certificat : \(c_S = K_{TC}^{priv}(K_{S}^{pub})\).

Étapes de l'utilisation du certification par Alice

Étape 1 : Alice récupère la clé publique de S, \(K_{S}^{pub}\).

Étape 2 : Alice récupère la clé publique de TC, \(K_{TC}^{pub}\).

Étape 3 : Alice calcul \(K_{TC}^{pub}(c_S)\). \(K_{TC}^{pub}(c_S) = K_{TC}^{pub}(K_{TC}^{priv}(K_{S}^{pub})) = K_{S}^{pub}\)

Étape 4 : Alice compare le résultat à la clé publique proposée directement par S. Si les deux sont identiques, Alice est sûr que S s'est fait reconnaitre par TC.

Remarques générales

• Le chiffrement et le déchiffrement utilisés ici demandent des resources importantes. Les méthodes à clé publique-clé privée ne sont donc pas utilisés pour des quantités importantes d'informations.

• Une méthode consiste à utiliser le chiffrement asymétrique pour échange une clé symétrique, puis à utiliser le chiffrement symétrique.