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 )