HTTP Public Key Pinning

Un article de Wikipédia, l'encyclopédie libre.

HTTP Public Key Pinning (HPKP) est un mécanisme de sécurité qui protège les sites internet de l'usurpation d'identité contre les certificats frauduleux émis par des autorités de certification compromises. HPKP est défini par la RFC 7469[1]. Il est aujourd'hui déprécié dans Chrome qui recommande plutôt d'utiliser l'entête HTTP Expect-CT.

Fonctionnement[modifier | modifier le code]

À la première connexion réussie, le site présente une liste représentant les clés de confiances. Le navigateur mémorise cette liste.

Lors des connexions suivantes, si la clé de chiffrement présentée n'est pas présente dans la liste mémorisée, le navigateur refuse la connexion et bloque le site puis s'y reconnecte.

Mise en place[modifier | modifier le code]

Le serveur doit présenter l'en-tête HTTP Public-Key-Pins en indiquant :

  • Une liste représentant les clés de confiance
  • La durée pendant laquelle cette liste doit être mémorisée

Pour être valide, la liste représentant les clés de confiance doit obligatoirement contenir une clé actuellement utilisée ainsi qu'une clé non utilisée (aussi appelée clé de sauvegarde).

Browser support[modifier | modifier le code]

HPKP est supporté par Firefox, Opera[2], mais pas par Internet Explorer/Edge[3]. Chrome a annoncé son intention de supprimer HPKP en [4], l'a déprécié en avril 2018 dans sa version 67[5] et a arrêté de le supporter en décembre 2018 dans sa version 72[6].

Voir aussi[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Références[modifier | modifier le code]

  1. a et b (en) Request for comments no 7469
  2. (en-US) « HTTP Public Key Pinning (HPKP) », sur Mozilla Developer Network (consulté le )
  3. « Microsoft Edge Developer website - Microsoft Edge Developer », sur modern.ie (consulté le ).
  4. « Google Groupes », sur groups.google.com (consulté le )
  5. (en) « Deprecations and removals in Chrome 67 | Web », sur Google Developers (consulté le )
  6. (en) « Deprecations and removals in Chrome 72 | Web », sur Google Developers (consulté le )