Toile de confiance

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 25 novembre 2011 à 12:57 et modifiée en dernier par Jbar (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

En cryptographie, la toile de confiance est un concept utilisé dans PGP, GnuPG, ainsi que d'autre systèmes compatibles avec OpenPGP. La toile de confiance permet de vérifier la relation entre une clé publique et son possesseur.

C'est un modèle de confiance décentralisé, en alternative aux modèles de confiance centralisé de la plupart des autres PKI. Contrairement aux modèles centralisés où la confiance que l'on peut prêter ne passe que par une autorité de certification (CA ou hiérarchie de CA) dont la plupart ne sait rien, une toile de confiance est relative à un individu qui peut choisir lui-même les tiers (en général d'autres personnes physiques) à qui il fait confiance.

De ce fait, il existe de nombreuses toiles de confiances indépendantes. N'importe qui peut en faire parti (via son propre certificat), et être un lien entre différentes toiles.

Le concept de toile de confiance a été élaboré initialement par Phil Zimmermann, créateur de PGP, en 1992, dans la version 2.0 du manuel de PGP.

Fonctionnement d'une toile de confiance

Dans OpenPGP, les certificats d'identité sont vérifiés par la signature numérique d'autres utilisateurs. Ces utilisateurs, en signant ce certificat, vont renforcer (relativement à chacun) l'association entre une clé publique et la personne ou l'entité désignée par ce certificat. Cette action est habituellement faite lors de key signing parties.

Dans la pratique, un certificat reçu par Jean est considéré comme valide :

  • Si Jean l'a lui même signé
  • Ou si le certificat est signé par une personne auquel Jean a donné sa confiance totale
  • Ou si le certificat est signé par 3 personnes auquel Jean a donné sa confiance partielle

Ces paramètres sont ajustables par l'utilisateur, en fonction de ses besoins. Ils peuvent même être complètement ignorés.

Pour simplifier, chaque utilisateur a 2 clés : sa clé privée, et sa clé publique. Le clé privée n'est connu que de son utilisateur. Mais la clé publique est diffusée à tout le monde.
Basiquement, ce mécanisme permet 2 utilisations différentes :

  • Le chiffrement
Pour chiffrer un message, on utilise notre clé privée. Pour que le récepteur puisse le lire, il utilise notre clé publique.
  • La signature
Pour vérifier qu'on est à l'origine d'une message, on ajoute notre signature à la fin de ce dernier. Cette signature est l'identifiant, unique, de ce message, chiffré par notre clé privée.
Pour vérifier qu'on est à l'origine du message, il suffit de déchiffrer l'identifiant du message via notre clé publique. Si la valeur trouvée est égal à l'identifiant du message, nous sommes bien l'expéditeur. Techniquement, l'identifiant est un hash du message.


Le principe de signature est alors assez simple :

  • Jean signe l'identifiant "Paul" dans le certificat de Paul.
  • Lorsque quelqu'un veut vérifier que Jean a signé Paul, il utilise la clé publique de Jean pour vérifier sa signature dans le certificat de Paul.
  • Marie fait confiance à Jean. Elle reçoit un message signé de Paul. Elle vérifie que la signature est bonne via la clé publique de Paul (clé récupérée le plus souvent depuis un serveur de clés). Comme elle fait pleinement confiance à Jean, elle valide de plus le fait que c'est bien Paul qui a signé ce message.


Ce système assure que c'est bien Paul qui envoi un message. En effet, Paul envoi un message signé avec sa clé privée, et, si il n'utilise pas de serveur de clés, un certificat contenant des signatures de personnes qui peuvent confirmer que c'est bien Paul qui envoi le message.
Il suffit de vérifier les signatures du certificat pour vérifier que c'est bien Paul qui l'a envoyé. Si on ne fait pas confiance aux signataires, on ne peut valider que c'est bien Paul qui possède la clé privée associé a cette signature, et donc que c'est bien lui qui a signé. Dans ce cas la signature peut-être bonne (faite par un certain "Paul") mais invalide (on est pas sûr que ce "Paul" existe vraiment).

À voir aussi

Liens externes

Modèle:Palette informatique théorique