HTTP Public Key Pinning ( HPKP ) è un meccanismo di sicurezza che protegge i siti Web dal furto di identità contro certificati fraudolenti emessi da autorità di certificazione compromesse. HPKP è definito da RFC 7469. Ora è deprecato in Chrome che consiglia invece di utilizzare l'intestazione HTTP Expect-CT.
Alla prima connessione riuscita, il sito presenta un elenco che rappresenta le chiavi di fiducia. Il browser memorizza questo elenco.
Durante le connessioni successive, se la chiave di crittografia presentata non è presente nell'elenco memorizzato, il browser rifiuta la connessione e blocca il sito per poi riconnettersi ad esso.
Il server deve presentare l'intestazione HTTP Public-Key-Pins che indica:
Per essere valido, l'elenco che rappresenta le chiavi attendibili deve contenere una chiave attualmente utilizzata e una chiave inutilizzata (chiamata anche chiave di backup).
HPKP è supportato da Firefox , Opera , ma non da Internet Explorer / Edge . Chrome ha annunciato l'intenzione di rimuovere HPKP inottobre 2017, lo ha deprecato nell'aprile 2018 nella sua versione 67 e ha smesso di supportarlo nel dicembre 2018 nella sua versione 72.