HTTP Public Key Pinning
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
À 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[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
Liens externes
- (en) - Public Key Pinning sur le Mozilla Devlopper Network
- RFC 7469: Public Key Pinning Extension for HTTP (RFC 7469[1]) sur le blog de Stéphane Bortzmeyer
Références
- (en) Request for comments no 7469
- (en-US) « HTTP Public Key Pinning (HPKP) », sur Mozilla Developer Network (consulté le )
- « Microsoft Edge Developer website - Microsoft Edge Developer », sur modern.ie (consulté le ).
- « Google Groupes », sur groups.google.com (consulté le )
- (en) « Deprecations and removals in Chrome 67 | Web », sur Google Developers (consulté le )
- (en) « Deprecations and removals in Chrome 72 | Web », sur Google Developers (consulté le )