Che cos'è HPKP e come funziona in caso di siti Web

3

Stavo guardando all'implementazione di HTTP Strict Transport Security (HSTS) in firefox. Firefox memorizza questi dati per i siti in un file chiamato SiteSecurityServiceState.txt

Vedo voci in esso come -

support.mozilla.org:HPKP 3 17242 1483383397412,1,0,r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18= web.facebook.com:HSTS 18 17227 1504027319798,1,0

L'HSTS è quello che stavo cercando. È configurato nel server web per inviare l'intestazione corrispondente nell'intestazione di risposta. Il browser lo memorizza e si assicura che tutte le richieste successive vadano sempre in https e il certificato sia corretto - non consente di aggiungere eccezioni (almeno in firefox).

Che cosa è questa HPKP e come funziona? È qualche altra configurazione di sicurezza?

    
posta Aniket Thakur 17.03.2017 - 13:29
fonte

2 risposte

6

HSTS e HPKP sono concetti diversi.

Un'intestazione Sicurezza di trasporto rigorosa HTTP (HSTS) indica ai client di utilizzare HTTPS per tutte le future connessioni a un sito Web, prevenendo in tal modo gli attacchi di downgrade. Al contrario di HPKP, non influenza il modo in cui i certificati sono convalidati.

Un'intestazione Pinning della chiave pubblica HTTP (HPKP) indica ai client di aggiungere una chiave pubblica specifica a un dominio. Pertanto, se un browser che supporta HPKP rileva un'intestazione HPKP, ricorderà gli hash delle chiavi pubbliche specificati e li assocerà a quel dominio . In futuro (fino al termine del timeout di max-age specificato), il browser accetta un certificato per quel dominio solo se una chiave nella catena di attendibilità del certificato corrisponde a uno degli hash associati.

HPKP riduce il rischio che un utente malintenzionato rilasci certificati canaglia dopo aver compromesso un'autorità di certificazione ( occasionalmente accade ). Normalmente il tuo browser non è in grado di rilevare un certificato fraudolento se è stato correttamente firmato da una CA . (Sebbene esistano meccanismi per rilevare revoche di certificati, ad esempio OCSP / CRL .) Ma se hai preventivamente fissato un particolare certificato a un sito web, l'autore dell'attacco non sarà in grado di sostituirlo senza attivare il browser.

Tieni presente che, poiché HPKP è trust-on-first-use , esso sarà (simile a HSTS) solo efficace dopo la tua prima visita a un sito web. Un'eccezione a ciò sono gli elenchi di preload gestiti dai fornitori di browser per siti Web di alto profilo (Google, Facebook, Twitter, ecc.). Ciò significa che anche se DigiCert (CA di Facebook) fosse compromesso oggi, un utente malintenzionato non sarebbe in grado di intercettare la connessione a Facebook perché le chiavi pubbliche dei certificati originali sono precaricate nel browser.

    
risposta data 17.03.2017 - 14:10
fonte
1

È la chiave pubblica http che si blocca. È destinato a fornire una protezione (ma non totale) contro le CA compromesse.

link

    
risposta data 17.03.2017 - 14:08
fonte

Leggi altre domande sui tag