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 . Il est aujourd'hui déprécié dans Chrome qui recommande plutôt d'utiliser l'entête HTTP Expect-CT.

Fonctionnement

À 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

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 HPKP est supporté par Firefox, Opera, mais pas par Internet Explorer/Edge.. Chrome a annoncé son intention de supprimer HPKP en , l'a déprécié en dans sa version 67 et a arrêté de le supporter en dans sa version 72.

Voir aussi HTTP Strict Transport Security

Liens externes - Public Key Pinning sur le Mozilla Developer Network RFC 7469: Public Key Pinning Extension for HTTP () sur le blog de Stéphane Bortzmeyer

Références

Catégorie:Hypertext Transfer Protocol Catégorie:Filtrage d'Internet