Pour commencer il faut comprendre ce qu’est une clé publique, une clé privée et un certificat…
Définitions simples…
• Les clés publique/privée sont des nombres liés mathématiquement. Un message chiffré avec une clé peut être déchiffré avec l’autre
o Si on chiffre avec la clé publique --> chiffrement
o Si on chiffre avec la clé privée --> signature (ce n’est pas le message qui est chiffré mais un condensat)
• Le certificat est une carte d’identité. Il contient la clé publique et des informations sur le propriétaire du certificat. Toutes ces informations sont alors signées par une autorité de certification qui garantie leur authenticité.
Quel est l’objectif ? Créer de la confiance !
Tout le monde parle de chiffrement et de signature mais en réalité, il s’agit de créer de la confiance entre des entités qui ne se connaissent/voient pas ! Pour cela, on utilise des infrastructures de clés publiques (PKI pour les intimes). Il s’agit d’ajouter une 3ème entité dans l’échange : l’autorité de certification qui joue le rôle de tiers de confiance.
• Le chiffrement permet de s’assurer que le message envoyé ne sera lu que par le destinataire choisi.
L’émetteur utilise la clé publique du destinataire pour chiffrer et le destinataire la clé privée pour déchiffrer le message. Le certificat permet de s’assure qu’on ne se trompe pas de destinataire. Comme le destinataire est le seul à avoir la clé privée, il n'y a que lui qui pourra déchiffrer le message
• La signature permet de garantir que l’auteur du message est bien celui qu’il prétend être et que le message n’a pas été modifié
L’émetteur signe avec sa clé privée, et les destinataires vérifient la signature avec la clé publique. Le certificat, qui va avec la clé publique, permet de garantir l’identité de l’auteur du message. Comme l'émetteur est le seul a avoir la clé privé, il n'y a que lui qui a pu signer le message.
• L’autorité de certification garantie l’authenticité des informations concernant une personne en signant son certificat. C’est grâce à elles qu’on s’assure que la personne avec qui on communique est la bonne !
Ces autorités de certification sont déjà enregistrées dans les OS et navigateurs web. Elles sont considérées comme fiable par les experts en sécurité, ou nous sont imposées (L’état Français choisit une autorité de certification pour accéder au site des impôts par exemple). On peut aussi ajouter les siennes manuellement. C’est ce que font les entreprises pour ne pas avoir à acheter des certificats pour leurs applications internes. Elles créent leur autorité de certification (AC) qui n’est reconnue que par elle et par quelques partenaires.
Attention à ne pas briser cette chaîne de confiance...
•
Utiliser un certificat signé par une autorité de certification
o Dans le cas d’un petit site/application, le certificat peut être auto-signé mais il y a un risque de MITM malgré le chiffrement.
o Signature avec certificat auto-signé = pas de signature. Personne ne garantie la fiabilité de l’information donc la signature ne sert à rien.
•
Protéger la clé privée
Une clé privée doit rester privée sinon c’est gameover. (déchiffrement possible et modification d’un document signé aussi).
Est-ce que la confiance est absolument garantie ? NON
Les autorités de certification peuvent se faire pirater (DIGINATOR) et la c’est tout internet qui en prend un coup…
J'espère que cela répond à tes questions.
Partager