• Aucun résultat trouvé

O Les principes techniquesdes certificats électroniques

N/A
N/A
Protected

Academic year: 2022

Partager "O Les principes techniquesdes certificats électroniques"

Copied!
10
0
0

Texte intégral

(1)

des certificats électroniques

Jean-Luc Archimbaud

n décrit ici, en les simplifiant, les mécanismes logiques qui permettent de réaliser les trois fonctions de sécurité, authentification, intégrité, confidentialité, avec les algorithmes asymétriques de cryptographie et les éléments nécessaires que sont les certificats électroniques.

La cryptographie asymétrique

Dans cet article nous prendrons comme exemple les documents transportés sur un réseau internet, sachant que l’on peut effectuer les mêmes opérations localement, sur les documents du disque du poste de travail.

Le chiffrement

Pour assurer la confidentialité d’un document électronique, on chiffre le texte du document. On lui applique un ensemble de fonctions mathématiques (un algorithme de chiffrement) avec des caractéristiques très particulières en utilisant une variable, la clé de chiffrement. Une fois le texte chiffré, il est illisible. Pour obtenir la version lisible, il faut le déchiffrer, c’est- à-dire appliquer une autre fonction mathématique compatible avec la première, avec une autre variable, la clé de déchiffrement. Seul le possesseur de la clé de déchiffrement peut déchiffrer le texte. La valeur de la clé de déchiffrement dépend évidemment de la valeur de la clé de chiffrement.

O

(2)

Il faut noter que les algorithmes de chiffrement sont généralement publics et ont fait l’objet de standardisation. C’est le secret de certaines clés qui permet d’assurer la confidentialité.

Algorithme de chiffrement

TEXTE en clair

Philippe

Nicole

Internet

Algorithme de déchiffrement TEXTE

en clair

Clé de déchiffrement Clé de chiffrement

Figure 1. Chiffrement

Il y a deux grandes familles d’algorithmes de chiffrement : symétriques et asymétriques.

Les algorithmes symétriques

Dans les algorithmes symétriques, aussi appelés algorithmes à clé secrète, la clé de chiffrement est la même que la clé de déchiffrement. De ce fait, pour que le texte chiffré ne soit lisible que par le destinataire, la valeur de cette clé doit être un secret partagé entre l’émetteur et le destinataire uniquement.

Ceci explique le qualificatif de « clé secrète ». DES (Data Encryption Standard) et AES (Advanced Encryption Standard) sont les algorithmes symétriques les plus connus.

Les premiers algorithmes symétriques datent de la fin des années 1970 et utilisent des fonctions mathématiques « simples ». L’avantage est que les opérations de chiffrement et de déchiffrement sont rapides à exécuter sur des ordinateurs classiques. Par contre, le problème est la gestion des clés. En

(3)

unique. Il faut donc autant de clés que de correspondants et il faut trouver un moyen d’échanger chaque clé secrète avec chaque correspondant de manière sûre (pas question d’utiliser le fax du secrétariat ou la messagerie électronique non sécurisée). Si ceci est possible entre un groupe restreint de personnes, c’est impossible à plus grande échelle, par exemple pour échanger des messages chiffrés avec tous nos correspondants sur internet.

Les algorithmes asymétriques

L’autre ensemble d’algorithmes est celui des algorithmes asymétriques ou à clé publique. Ils ont été conçus pour utiliser des clés qui possèdent plusieurs propriétés :

– la clé de chiffrement est différente de la clé de déchiffrement (d’où le terme asymétrique) ;

– les deux clés (une pour chiffrer, l’autre pour déchiffrer) sont créées ensemble avec une fonction mathématique. Elles forment un couple, l’une ne va pas sans l’autre, mais il est impossible avec une des clés de découvrir l’autre ;

– tout texte chiffré avec une des clés (de chiffrement ou de déchiffrement) peut être déchiffré avec l’autre clé (de déchiffrement ou de chiffrement) et uniquement avec celle-ci.

En pratique, pour utiliser ces algorithmes, il faut générer un couple de clés (l’une pour chiffrer, l’autre déchiffrer) pour chaque utilisateur. La personne le fera elle-même sur sa machine ou quelqu’un de confiance le fera pour elle. Elle gardera sa clé de déchiffrement secrète, on l’appellera ainsi clé privée. A l’inverse elle rendra sa clé de chiffrement publique et la diffusera (on dit aussi la publiera) le plus largement possible. On la trouvera dans des annuaires électroniques, par exemple. Ainsi le couple de clés est formé d’une clé privée secrète pour déchiffrer et d’une clé publique pour chiffrer.

Maintenant quand Philippe voudra par exemple envoyer un message chiffré avec un algorithme asymétrique à Nicole, son outil de messagerie cherchera dans un premier temps la clé publique de Nicole. S’il ne la possède pas déjà, l’outil interrogera un annuaire électronique pour trouver cette clé. Ensuite l’outil chiffrera le texte du message avec la clé publique de Nicole. Ce texte illisible ne pourra alors être déchiffré qu’avec la clé privée de Nicole, que Nicole est la seule à connaître. Ainsi le message pourra transiter via le réseau sans risque d’être déchiffré. Arrivé sur l’ordinateur de Nicole, le texte sera déchiffré avec la clé privée de Nicole.

(4)

Chiffrement asymétrique

TEXTE en clair

Philippe

Nicole

Internet

Déchiffrement asymétrique TEXTE

en clair

Clé privée de Nicole Clé publique de Nicole

Figure 2. Chiffrement avec algorithme asymétrique

Dans l’autre sens, quand Nicole enverra un texte chiffré à Philippe, elle le chiffrera avec la clé publique de Philippe. Celui-ci le déchiffrera avec sa clé privée.

RSA, du nom des trois inventeurs Rivest, Shamir, Adleman, est l’algorithme de chiffrement asymétrique le plus répandu.

Ce découplage entre clé publique et clé privée est très utile pour une utilisation « planétaire » du chiffrement. Alors que les algorithmes symétriques obligent à échanger un secret, la clé secrète, avec chaque interlocuteur, là il suffit d’avoir des annuaires qui permettent de trouver la clé publique de chaque internaute et ce système peut fonctionner entre tous les internautes. Quand un utilisateur voudra envoyer un message chiffré à un correspondant, il consultera un annuaire qui lui indiquera la clé publique de son correspondant. Avec cette clé, il chiffrera le message. Celui-ci ne pourra être déchiffré qu’avec la clé privée du correspondant, donc que par le correspondant.

Ainsi les propriétés des algorithmes asymétriques permettent de s’affranchir du problème de la gestion des clés et ainsi d’envisager de déployer l’utilisation du chiffrement à très grande échelle.

(5)

La signature électronique

Les paragraphes précédents ont décrit comment est assurée la fonction de confidentialité, avec le mécanisme de chiffrement. La signature électronique est un autre mécanisme qui permet d’assurer les fonctions d’authentification et d’intégrité. Elle est utilisée en particulier dans la messagerie électronique.

Pour générer une signature électronique, il faut dans un premier temps utiliser une fonction de hachage sur le texte, dont le résultat est une suite de bits de taille fixe, bien inférieure à la taille du texte initial. Cette suite de bits est aussi appelée condensé ou empreinte, car la fonction de hachage est telle que si un bit du texte d’origine est modifié, le résultat de la fonction sera, avec de très fortes probabilités, différent. MD5 (Message Digest) et SHA (Secure Hash Algorithm) sont parmi les plus connues.

Pour réaliser la signature électronique, avant d’envoyer un message, l’outil de messagerie calcule d’abord l’empreinte du message. Il chiffre ensuite cette empreinte par un algorithme asymétrique avec la clé privée de l’utilisateur. Ce résultat est appelé signature électronique. Avant l’envoi, cette signature est ajoutée au message, qui devient un message signé.

L’outil de messagerie du destinataire qui reçoit l’ensemble, déchiffre cette empreinte chiffrée avec la clé publique de l’émetteur. Puis il recalcule la fonction de hachage sur le message reçu et compare le résultat avec l’empreinte déchiffrée. Si les deux sont égaux, cela veut dire que le message n’a pas été modifié durant le transfert et que l’émetteur est authentifié. La figure 3 illustre ce principe.

En effet, si le message a été modifié durant le transfert, les 2 empreintes seront différentes. De plus, être capable de déchiffrer, avec la clé publique d’une personne, une empreinte chiffrée, prouve que cette empreinte a obligatoirement été chiffrée avec la clé privée de la personne, clé que seul possède l’émetteur. Cela authentifie donc l’émetteur. On peut rappeler qu’une des propriétés du couple clé privée-clé publique est que tout ce qui est chiffré avec une des clés peut être déchiffré avec l’autre clé et uniquement avec celle-ci.

Nous avons décrit séparément les mécanismes de chiffrement et de signature, mais les logiciels courants cumulent les deux fonctions. Ils permettent par exemple de transmettre un message chiffré et signé en appliquant en séquence les deux mécanismes, signature puis chiffrement, par exemple.

(6)

Philippe

Nicole : égalité ?

Internet TE XTE

en c lair TEX TE en c lair E mprein te Fct de hac

hage

TEX TE en c lair Εµπρειντε

Chiffrement Asym

E mpr ein te

TEX TE en c lair Εµπρειντε TEX TE

en c lair E mprein te

Déchiffrement Asym Fct de hachage

Clé privée de Philippe

Clé publique De Philippe

Figure 3. Signature

Les certificats électroniques

Nous avons décrit les mécanismes qui permettent d’assurer les trois fonctions de base de sécurité avec le couple de clés privée-publique et les algorithmes de chiffrement asymétriques, solution « magique ».

Mais il y a un énorme oubli dans les raisonnements précédents : on a considéré qu’un utilisateur prenait connaissance de la clé publique d’une personne simplement en consultant un annuaire (ou un serveur web). Mais qu’est-ce qui garantit que la clé publique de Philippe qu’un utilisateur a ainsi récupérée est la bonne ? Un pirate, François, a pu modifier l’annuaire ou le serveur web qui contient cette clé. Il a pu par exemple remplacer la clé publique de Philippe par la sienne. Une fois cette mascarade commise, François pourra lire les courriers confidentiels destinés à Philippe et signer des messages en se faisant passer pour Philippe.

Il a donc fallu créer un mécanisme supplémentaire pour pouvoir vérifier la validité d’une clé publique : le certificat électronique.

Un certificat électronique de personne est l’équivalent électronique d’une carte d’identité ou d’un passeport. Un passeport contient des informations

(7)

manuscrite, la date de validité, ainsi qu’un tampon et une présentation (forme, couleur, papier) qui permettent de reconnaître que ce passeport n’est pas un faux, qu’il a été délivré par une autorité bien connue.

Un certificat électronique est un petit fichier qui contient des informations similaires. Le format standard actuellement est le format X509v3. Les certificats CNRS par exemple contiennent les informations suivantes :

– le nom de l’autorité (de certification) qui a créé le certificat, – le nom et le prénom de la personne,

– le nom du laboratoire de la personne, – son adresse électronique,

– sa clé publique,

– les dates de validité du certificat, – la signature électronique de ce certificat.

La signature électronique du certificat

Cette signature électronique, le dernier élément du certificat listé ci- dessus, est calculée sur les informations contenues dans le certificat (nom, clé publique...) comme dans le cas d’un message électronique. Cette signature est l’empreinte de ces informations, chiffrée avec la clé privée de l’autorité de certification qui a délivré ce certificat.

L’autorité de certification et son certificat

Qu’est-ce qu’une autorité de certification ? Une entité qui délivre des certificats pour une communauté d’utilisateurs au sommet d’une infrastructure de gestion de clés, IGC. La section suivante explicitera les composants et le fonctionnement de cette infrastructure. C’est l’équivalent de la préfecture pour un passeport.

Cette autorité, préalablement à toute action, a généré un couple de clés publique-privée pour elle-même. Ensuite elle a très largement diffusé la valeur de sa clé publique, sous la forme d’un certificat d’autorité de certification. Les utilisateurs qui veulent utiliser et faire confiance aux certificats émis par cette autorité, insèrent ce certificat dans leurs outils (navigateur, client de messagerie).

(8)

Vérification du certificat

Quand Nicole veut envoyer un message chiffré à Philippe qui travaille dans un laboratoire CNRS, le logiciel de messagerie de Nicole a besoin de connaître la clé publique de Philippe et de vérifier son authenticité. Si ce logiciel ne connaît pas cette clé, il peut interroger l’annuaire électronique du CNRS pour récupérer le certificat de Philippe. Ce certificat est signé par l’autorité de certification CNRS. Le poste de Nicole configuré pour faire confiance à cette autorité a stocké la clé publique de cette autorité de certification. Avec ces informations le logiciel de messagerie peut vérifier la signature du certificat de Philippe pour s’assurer que ce document a bien été créé par l’autorité de certification CNRS et n’a pas été falsifié. Avec cette assurance, le logiciel de messagerie peut récupérer la clé publique de Philippe contenue dans ce certificat et l’utiliser avec confiance.

La figure 4 montre schématiquement la vérification du certificat de Philippe Cale avec extraction de la clé publique de ce dernier.

Autorité de certification : CNRS

Prénom : Philippe Nom : Cale Organisation : CNRS Service : UREC Email :

Philippe.Cale@urec.cnrs.fr Dates de validité :

Du 11/08/03 au 11/08/04 Clé publique :

A7:3F:F4:…:E1

….

Signature : 7C:C1:55:…:C7

Certificat de P. Cale

Fct de hachage

Déchiffrement

Clé publique de l’autorité de certification CNRS

Empreinte 2 Empreinte 1

Egalité ? oui

Certificat valide Clé publique de P. Cale : A7:3F:F4:…:E1 non

Certificat invalide

Figure 4. Vérification de certificat – récupération de la clé publique

Evidemment, les dates de validité contenues dans le certificat sont aussi vérifiées avant de le déclarer valide.

En résumé, pour utiliser les mécanismes de sécurité basés sur la

(9)

L’un des éléments, sa clé publique, doit être dans un certificat, signé par une autorité de certification, rendu public. L’autre, sa clé privée, doit être secrète, connue uniquement de lui. Ainsi un certificat est toujours associé à une clé privée. L’un ne va pas sans l’autre.

Extension de ces mécanismes

Nous avons pris comme exemple la messagerie électronique pour expliciter l’utilisation du couple de clés et du certificat. Des mécanismes légèrement différents sont très répandus pour utiliser ces mêmes éléments dans d’autres applications. Quelques exemples.

Un serveur web peut posséder un couple de clés et un certificat. Ils seront mis en œuvre pour prouver à chaque client qu’il est bien sur le bon serveur avec la bonne application, assurance obligatoire quand le serveur permet des transactions financières, par exemple.

Les mêmes éléments sur ce serveur pourront aussi être utilisés pour chiffrer tous ses échanges avec ses clients en utilisant les protocoles HTTPS (Hypertext Transfer Protocol Secure) et SSL (Secure Socket Layer).

Plus généralement toute application qui utilise le réseau (transfert de fichiers, accès interactif, accès à des bases de données, calcul distribué) et tous les objets (postes nomades, équipements de réseau) peuvent avoir un couple de clés et un certificat pour mettre en œuvre ces fonctions de sécurité.

Pourquoi expliquer une fois encore ces principes ?

Toute personne œuvrant dans la vie réelle sait que l’élément le plus faible de tous les systèmes de sécurité est l’utilisateur. Et pour que ces systèmes de certificats apportent de réels services de sécurité, et pas une illusion de services, il faut que tous les utilisateurs soient formés à l’usage des certificats et qu’ils aient compris :

– qu’il y a un secret à protéger : la clé privée (et pas le certificat). Ceci est vraiment fondamental ;

– qu’il faut décider à qui on fait confiance : à quelles autorités de certification ?

– qu’il faut posséder certains éléments pour que ça marche : configurer son poste pour faire confiance à certaines autorités, posséder le certificat (donc la clé publique) d’un utilisateur pour pouvoir lui envoyer un message chiffré, etc.

(10)

Et la seule méthode pour que chaque utilisateur intègre ces éléments fondamentaux et puisse agir en homme conscient et libre est d’essayer d’expliquer les principes, qui sont loin d’être simples.

Avant les utilisateurs, la population à former est celle des administrateurs systèmes et réseaux, qui mettent en place ces applications et qui, d’expérience, ont aussi du mal à comprendre ce qui est important et obligatoire dans le système.

Les applications

En simplifiant, il existe trois standards principaux à la base des applications qui utilisent les certificats électroniques : S/MIME (Secure/Multipurpose Internet Mail Extensions), SSL/TLS (Secure Socket Layer et Transport Layer Security), IPSec (IP Securiy Protocol).

S/MIME, standard de messagerie permet, avec un mécanisme de signature, l’authentification de l’émetteur et l’intégrité du message, ainsi que la confidentialité du contenu avec un mécanisme de chiffrement, dans l’échange de messages électroniques. Il est supporté de base par Netscape- Mozilla et Outlook.

SSL/TLS permet un transport sécurisé des informations sur l’internet avec les fonctions d’authentification du serveur et du client, d’intégrité et de confidentialité des échanges. Il peut être utilisé pour tous les accès web avec le protocole HTTPS, pour accéder aux boîtes aux lettres à distance avec les protocoles IMAPS (Internet Message Access Protocol) et POPS (Post Office Protocol), et éventuellement dans d’autres applications (transfert de fichiers, telnet). Netscape-Mozilla et Internet Explorer intègrent HTTPS et IMAPS.

IPSec est destiné à sécuriser le contenu des datagrammes IP dans les communications entre équipements de réseau et/ou les stations. Il permet par exemple de construire des réseaux virtuels privés (VPN) entre routeurs et des connexions sécurisées de postes nomades vers un site central. Il est intégré maintenant dans la majorité des systèmes d’exploitation des équipements de réseau et des postes de travail.

D’autre part, les versions récentes de SSH, très répandu, ensemble de logiciels utilisés pour l’accès interactif principalement, supportent maintenant les certificats comme méthode d’authentification.

Il existe ainsi tout le nécessaire pour construire un ensemble d’applications dont les fonctions de sécurité sont basées sur les certificats

Références

Documents relatifs

Cela consiste en la génération d'un couple de clé privée/clé publique, de la même manière que pour l'authentification par échange de clés et en la diffusion de votre clé

D’autres messageries sont à privilégier, tout aussi bien faites mais sécurisées : Signal par exemple (conseillée par Snowden), ses deux seuls défauts étant d’être

[r]

Si la TSIG n'est pas validée, cette réponse DOIT être éliminée, sauf si le RCODE est 9 (NOTAUTH) auquel cas le client DEVRAIT tenter de vérifier la réponse comme si elle était

Les CA conformes devront coder la clé publique de KEA comme décrit au paragraphe 3.1.2 lorsque elles produisent des certificats contenant des clés publiques pour l'algorithme de

La sécurité du mécanisme d'authentification de message présenté ici dépend des propriétés cryptographiques de la fonction de hachage H : la résistance aux recherches de

Un mécanisme connu de tous sera testé, attaqué, étudié, et utilisé s’il est robuste. Cryptographie Le principe de Kerckhoffs 1

Pour donner un sens aux opérations sur les fractions, les élèves doivent développer une compréhension qui fait intervenir non seulement le rôle du numérateur et du