Accueil🇫🇷Chercher

Certificat électronique

sert à sécuriser la communication entre le navigateur et l'utilisateur.

Pour les articles homonymes, voir Certification.

Un certificat électronique (aussi appelé certificat numérique ou certificat de clé publique) peut être vu comme une carte d'identité numérique. Il est utilisé principalement pour identifier et authentifier une personne physique ou morale, mais aussi pour chiffrer des échanges[1].

Certificat électronique client-serveur de comifuro.net

Il est signé par un tiers de confiance qui atteste du lien entre l'identité physique et l'entité numérique (virtuelle). Pour un site web il s'agit d'un certificat SSL.

Le standard le plus utilisé pour la création des certificats numériques est le X.509.

Rappels sur le chiffrement

Le principe de fonctionnement des certificats Ă©lectroniques est basĂ© sur le chiffrement d'informations et sur la confiance. Pour cela, il existe deux mĂ©thodes de chiffrement : symĂ©trique et asymĂ©trique.

Chiffrement symétrique

Cette mĂ©thode est la plus simple Ă  comprendre : si Anne (A) veut envoyer un message chiffrĂ© Ă  Bob (B) elle doit lui communiquer un mot de passe (clĂ© de chiffrement). Comme l'algorithme de chiffrement est symĂ©trique, on a la relation suivante :

TexteCodé = chiffrement du message par la clé

Clés symétriques

Ainsi, Anne peut aussi déchiffrer un message en provenance de Bob avec la même clé. Mais il faut au préalable trouver un moyen sûr de transmettre la clé à l'abri des regards. La situation peut cependant devenir complexe, si Anne doit envoyer un message chiffré à Bob et à Charlie mais qu'elle ne souhaite pas donner la même clé à Charlie. Plus le nombre de personnes est grand, plus il est difficile de gérer les clés symétriques. D'autant qu'il faut au préalable trouver un moyen sûr de transmettre la clé.

C'est le mĂŞme fonctionnement dans le cadre du protocole TLS/SSL.

TLS signifie Transport Layer Security (sĂ©curitĂ© de couche de transmission) et est le successeur du protocole SSL (Secure Sockets Layer, couche de sockets de sĂ©curitĂ©). Le protocole TLS/SSL est un système de règles communes suivies aussi bien par les clients que par les serveurs lorsqu’un client visite un site web sĂ©curisĂ© par HTTPS. Avant que le client et le serveur ne puissent initier une communication sĂ©curisĂ©e, ils doivent passer par une procĂ©dure nommĂ©e « nĂ©gociation TLS  Â» – le rĂ©sultat Ă©tant une clĂ© de session sĂ»re, symĂ©trique permettant des transmissions de donnĂ©es chiffrĂ©es entre le serveur et le client.  La clĂ© de session est symĂ©trique comme elle est utilisĂ©e par le client et par le serveur pour chiffrer et dĂ©chiffrer des transmissions. La clĂ© de session est nommĂ©e clĂ©, pourtant, en rĂ©alitĂ©, elle est Ă©galement une serrure. En d’autres mots, la clĂ© de session est un ensemble unique d’instructions informatiques masquant – ou en termes plus simples chiffrant – les contenus d’origine d’une transmission de donnĂ©es, de sorte que seuls ceux ayant la clĂ© de session identique puissent dĂ©chiffrer et lire ces contenus[2].

Chiffrement asymétrique

La propriété des algorithmes asymétriques est qu'un message chiffré par une clé privée sera lisible par tous ceux qui possèdent la clé publique correspondante. À l'inverse, un message chiffré par une clé publique n'est lisible que par le propriétaire de la clé privée correspondante.

Ainsi avec sa clĂ© privĂ©e, Anne :

  • signe ses messages[3] ;
  • lit (dĂ©chiffre) les messages qui lui sont adressĂ©s.

Assymétrie signature vs chiffrement.

La problématique des clés publiques

En se rĂ©fĂ©rant au prĂ©cĂ©dent paragraphe nous voyons rapidement que, lorsqu'une entitĂ© (entreprise, association, individu, service public, etc.) veut sĂ©curiser ses communications (entrantes et sortantes) auprès d'un large public, le chiffrement le plus simple est l'asymĂ©trique Ă  clĂ© publique : l'entitĂ© n'a qu'Ă  diffuser sa clĂ© publique Ă  l'ensemble de son audience.

Le problème vient de la transmission de la clé publique. Si celle-ci n'est pas sécurisée, un attaquant peut se positionner entre l'entité et son public en diffusant de fausses clés publiques (par le biais d'un faux site web par exemple) puis intercepter toutes les communications, lui permettant d'usurper l'identité du diffuseur de clés publique et de créer une attaque de l'homme du milieu.

Dans un cadre fermé et relativement restreint (entreprise, service public…) la diffusion de clés sécurisées est relativement simple et peut prendre de nombreuses formes, mais quand le diffuseur souhaite s'adresser à un public plus large avec lequel il n'a pas eu de contact préalable (grand public, public international) elle nécessite un cadre normalisé.

Les certificats résolvent le problème du canal sécurisé grâce à la signature de tiers de confiance.

Présentation du principe

Définition

Un certificat Ă©lectronique est un ensemble de donnĂ©es contenant :

  • au moins une clĂ© publique ;
  • des informations d'identification, par exemple : nom, localisation, adresse Ă©lectronique ;
  • au moins une signature (construite Ă  partir de la clĂ© privĂ©e) ; de fait quand il n'y en a qu'une, l'entitĂ© signataire est la seule autoritĂ© permettant de prĂŞter confiance (ou non) Ă  l'exactitude des informations du certificat.

Les certificats électroniques et leur cycle de vie (voir liste de révocation de certificats et protocole de vérification de certificat en ligne) peuvent être gérés au sein d'infrastructures à clés publiques.

Certificat utilisateur de contenu

Différents types

Les certificats Ă©lectroniques respectent des standards spĂ©cifiant leur contenu de façon rigoureuse. Les deux formats les plus utilisĂ©s aujourd'hui sont :

La différence notable entre ces deux formats est qu'un certificat X.509 ne peut contenir qu'un seul identifiant, que cet identifiant doit contenir de nombreux champs prédéfinis, et ne peut être signé que par une seule autorité de certification. Un certificat OpenPGP peut contenir plusieurs identifiants, lesquels autorisent une certaine souplesse sur leur contenu, et peuvent être signés par une multitude d'autres certificats OpenPGP, ce qui permet alors de construire des toiles de confiance.

Caractères du certificat numérique

  • infalsifiable : il est chiffrĂ© pour empĂŞcher toute modification.
  • nominatif : il est dĂ©livrĂ© Ă  une entitĂ© (comme la carte d’identitĂ© est dĂ©livrĂ©e Ă  une personne et une seule).
  • certifiĂ© : il y a le « tampon Â» de l’autoritĂ© qui l’a dĂ©livrĂ©[6].

Utilité

Les certificats Ă©lectroniques sont utilisĂ©s dans diffĂ©rentes applications informatiques dans le cadre de la sĂ©curitĂ© des systèmes d'information pour garantir :

Exemples d'utilisation

Les autorités de certification

Article dĂ©taillĂ© : autoritĂ© de certification.

Les autorités de certification sont des organismes enregistrés et certifiés auprès d'autorités publiques et/ou de gouvernance de l'Internet qui établissent leur viabilité comme intermédiaire fiable. Ces organismes diffusent leurs propres clés publiques. Étant certifiées fiables, ces autorités sont en contact direct avec les principaux producteurs de systèmes d'exploitation et de navigateurs web (tels que Mozilla Firefox, Google Chrome, Microsoft Internet Explorer, etc.) qui incluent nativement les listes de clés des autorités de certification[7]. C'est cette relation qui est à la base de la chaîne de confiance. Ces clés sont appelées clés publiques racines ou certificats racines et sont utilisées pour identifier les clés publiques d'autres organismes.

Serveur de clés

Certificat électronique

Les certificats peuvent être stockés par des serveurs de clés, qui peuvent aussi faire office d'autorité d'enregistrement et de certification (repère A).

Ils recensent et contrôlent les certificats. Ils possèdent souvent une liste (repère B) des certificats révoqués.

L'interopérabilité

Dans certains cas, le certificat peut ĂŞtre associĂ© Ă  l'Ă©lĂ©ment « identifiant Â» des registres de mĂ©tadonnĂ©es (10e Ă©lĂ©ment dans le Dublin Core) pour l'interopĂ©rabilitĂ©[8].

Certificats et navigation Internet

Les certificats sont très largement utilisés sur les sites de commerce électronique, webmails ou autres sites sensibles (banques, impôts, etc.). Plusieurs niveaux de chiffrement existent et plusieurs fonctionnalités associées rendent la compréhension des certificats complexe.

Certificats X.509 standard

Ce sont les certificats classiques, qui existent depuis plusieurs années. Le chiffrement varie entre 40 bits et 256 bits. Cela est dû en partie à la capacité des navigateurs et à la législation en vigueur. Généralement, les sociétés éditrices de certificats proposent 40 bits ou 128 bits garantis.

Certificats X.509 étendus

Ce sont les certificats qui sont pris en charge dans les navigateurs rĂ©cents et qui permettent l'affichage d'un fond vert (indiquant ainsi un site de confiance garantie). Ce n'est plus le cas dans les dernières versions des navigateurs (ex : Chrome 77, Firefox 70)[9]. L'abrĂ©viation EV signifie Extended Validation (en).

Certificats X.509 omnidomaines

Un certificat omnidomaine ou wildcard permet de rendre gĂ©nĂ©rique une partie du nom de domaine certifiĂ© :

*.societe.fr → www.societe.fr, toto.societe.fr, titi.societe.fr (mais ni societe.fr, ni www.toto.societe.fr ; voir la RFC 2818[10])

Certificats X.509 multisites

Ces certificats contiennent une liste de noms. Cette solution se base sur le champ subjectAltName.

Dans le cas des serveurs web, ces certificats sont utiles pour fournir plusieurs sites HTTPS sur une seule adresse IP. En effet, en HTTPS, l'échange du certificat se fait avant que le navigateur client ait transmis le nom de domaine qui l'intéresse. Or, si le certificat fourni par le serveur ne contient pas le nom requis par le client, celui-ci déclenche une alerte de sécurité (voir indication du nom du serveur pour une autre possibilité technique).

Certificats OpenPGP

Alors que les premiers sites web sĂ©curisĂ©s ne pouvaient utiliser que des certificats X.509, l'exploitation de la RFC 6091[11] permet dĂ©sormais d'utiliser des certificats OpenPGP afin de faire du HTTPS.

Certificats et courriels

L'utilisation des certificats pour chiffrer, ou signer des courriels se fait en utilisant le standard S/MIME qui permet l'encapsulation des données cryptographiques dans le format MIME des courriels.

Lorsqu'un utilisateur est certifiĂ©, une icĂ´ne permet gĂ©nĂ©ralement de le savoir :

Illustration de l'icĂ´ne de certificat mail.

Leur utilisation est controversée, car la signature est ajoutée comme élément supplémentaire au contenu du courriel. Par conséquent, l'utilisation de certificats sur des listes de diffusion peut résulter en l'invalidation de la signature, du fait des modifications effectuées par le moteur traitant la liste.

De plus, de nombreuses messageries en ligne et clients de messagerie ne gèrent pas le format S/MIME, ce qui perturbe parfois les utilisateurs voyant une pièce jointe « smime.p7m Â» apparaĂ®tre dans leurs messages.

Dans le cadre des messageries en ligne, une problématique supplémentaire est en cause, celle de la confiance dans l'opérateur. En effet, utiliser son certificat sur une messagerie en ligne implique obligatoirement que le fournisseur de ce service partage les éléments secrets du certificat (clé privée et mot de passe), sans quoi il ne peut réaliser la signature, ou le chiffrement. Et cela implique qu'il doit aussi fournir un moteur de cryptographie.

Fonctionnement type pour un certificat X.509

Article dĂ©taillĂ© : X.509.

Création d'un certificat

Lorsqu'Alice, un diffuseur d'information veut diffuser une clĂ© publique, elle effectue une demande de signature auprès de Carole, une autoritĂ© de certification. Carole reçoit la clĂ© publique et l'identitĂ© d'Alice. Après avoir vĂ©rifiĂ© la clĂ© publique et l'identitĂ© d'Alice par des moyens conventionnels, elle les place dans un conteneur qu'elle signe en utilisant sa clĂ© privĂ©e. Le fichier rĂ©sultant est le certificat : alice-carole.crt. Il est alors renvoyĂ© Ă  Alice qui le conserve pour ses communications (par exemple sur son site internet) avec des utilisateurs.

Utilisation du certificat

Bob, un utilisateur, demande une ressource numĂ©rique Ă  Alice, celle-ci lui envoie son certificat : alice-carole.crt, ainsi que la ressource en question. Si la signature du certificat d' Alice correspond Ă  une autoritĂ© de certification en qui Bob a confiance, en l’occurrence : Carole, c'est-Ă -dire si le certificat racine : carole.crt de l'autoritĂ© est inclus dans le navigateur web de l'utilisateur Bob, alors celui-ci vĂ©rifie l'intĂ©gritĂ© du certificat alice-carole.crt avec la clĂ© publique du certificat racine carole.crt. Cette vĂ©rification lui assure que l'identitĂ© d'Alice est authentique, c'est-Ă -dire que la clĂ© publique et l'identitĂ© contenues dans le certificat alice-carole.crt sont liĂ©es par l'autoritĂ© Carole. Le certificat d'Alice Ă©tant authentifiĂ©, Bob peut alors utiliser la clĂ© publique d'alice.crt pour vĂ©rifier l'intĂ©gritĂ© de la ressource numĂ©rique reçue.

Chaîne de confiance

En pratique, la certification peut s'effectuer en cascade : un certificat peut permettre d'authentifier d'autres certificats jusqu'au certificat qui sera utilisĂ© pour la communication.

Vulnérabilités

Le système de certificats ne prĂ©sente pas de vulnĂ©rabilitĂ© technique thĂ©orique sous rĂ©serve que toutes ses Ă©tapes soient correctement implĂ©mentĂ©es. Le principal risque peut provenir de la compromission des gestionnaires du système (autoritĂ©s de certification et gestionnaires de clĂ©s) :

  • le contrĂ´le des demandeurs de certification peut ĂŞtre insuffisant ou compromis, permettant Ă  des attaquants de faire certifier des clĂ©s publiques frauduleuses ;
  • des clĂ©s privĂ©es peuvent ĂŞtre volĂ©es chez le diffuseur final ou chez les autoritĂ©s de certification.

Les attaques des diffuseurs ou autorités de certification peuvent être électroniques ou conventionnelles (intrusion physique, corruption, etc.).

Des experts de la sécurité informatique ont mis en garde contre l'insuffisance de la sécurité et des contrôles de nombreuses autorités de certification[12]. Le ver Stuxnet utilisé contre le programme nucléaire iranien exploitait plusieurs certificats volés[13].

Notes et références

  1. MaĂ«lys De Santis, « Tout, tout, tout, vous saurez tout sur le certificat Ă©lectronique Â», sur appvizer Magazine, (consultĂ© le )
  2. « Qu’est-ce qu’un certificat numĂ©rique ? Â», sur Emsisoft - Security Blog, (consultĂ© le )
  3. « Signature NumĂ©rique - La clĂ© privĂ©e Â», sur le site de l'ANSSI (consultĂ© le ).
  4. (en) Request for comments no 5280.
  5. (en) Request for comments no 4880.
  6. « C'est quoi un certificat numĂ©rique et Ă  quoi ça sert ? Â», sur Culture Informatique, (consultĂ© le )
  7. Ă€ titre d'exemple, la liste des certificats reconnus par le navigateur Firefox est consultable en suivant l'arborescence suivante : Édition > PrĂ©fĂ©rences > AvancĂ© > Certificats ; Afficher les certificats. Pour Windows (et par extension Explorer) elle est consultable en lançant l'instruction certmgr.msc dans l'invite de commande.
  8. Voir le « Dictionnaire de mĂ©tadonnĂ©es pour le rĂ©fĂ©rentiel des publications CNRS Â» [doc], sur le site de l'INIST, (consultĂ© le ).
  9. Troy Hunt, « Extended Validation Certificates are (Really, Really) Dead Â», sur troyhunt.com, (consultĂ© le ).
  10. (en) Request for comments no 2818.
  11. (en) Request for comments no 6091.
  12. (en) Carl Ellison et Bruce Schneier, « Ten Risks of PKI: What You're not Being Told about Public Key Infrastructure Â», sur Schneier on Security, (consultĂ© le )
  13. (en) « Stuxnet and fake certificates dominate the Q3 malware landscape Â», sur Infosecurity Magazine, (consultĂ© le ).

Voir aussi

Articles connexes

Liens externes