Ho notato che molti siti Web non implementano HPKP anche se è semplice da implementare. C'è qualche aspetto negativo ad esso?
Con HPKP puoi appuntare un certificato in una catena di certificati. Questo è facile da fare, purché tu usi sempre lo stesso fornitore di certificati. Ad esempio, se hai sempre certificati DigiCert, puoi appuntare il certificato radice DigiCert e questo aumenta la sicurezza.
E se DigiCert venisse compromesso? In tal caso è necessaria una chiave di certificato di backup per creare un nuovo certificato, che è consentito anche da HPKP. Puoi scegliere di non farlo, ma quando il tuo certificato DigiCert viene revocato, gli utenti non possono più visitare il tuo sito.
Quindi ci sono alcuni aspetti negativi di HPKP:
A meno che non si disponga di un processo automatico ermetico per questo, non raccomanderei l'uso di HPKP.
Aggiornamento: Chrome depreca HPKP , quindi anche loro sembra pensare che non funzioni.
HPKP è semplice e fantastico finché non si rinnova la chiave privata. Ma se hai intenzione di cambiare la tua chiave privata, devi dichiarare la nuova chiave pubblica corrispondente max-age
prima.
Non è un grosso problema se hai un max-age
basso, ma un max-age
corto rende un po 'inutile HPKP.
Se ritieni che il tuo server possa essere compromesso e la tua chiave privata rubata, devi avere una (o poche) chiavi private disponibili da qualche parte in sicurezza e avere le chiavi pubbliche corrispondenti dichiarate in HPKP. Questo è fattibile, ma richiede di essere molto rigoroso.