Sto cercando di capire se il pinning di un certificato significa essenzialmente bloccare la CA o se sono diversi in che modo?
L'elaborazione generica di un certificato va così:
https://
URL) appaia dove dovrebbe nel certificato del server. Il blocco del certificato equivale a trasformare il certificato del server in un'ancora di trust con ambito limitato: il client memorizza il certificato del server e lo userà come ancoraggio sicuro quando convalidare nuovamente il certificato del server. Nella descrizione sopra, questo significa che quando si torna al server, il client costruisce una catena di lunghezza 1, contenente solo il certificato del server stesso, che il client "si fida" in quel contesto perché lo ricorda esattamente.
Il blocco dei certificati può essere inclusivo o esclusivo; il primo significa che il client accetterà il certificato del server ricordato come ancoraggio di sicurezza oltre a le sue altre "normali" ancore di fiducia (i suoi "certificati radice"), mentre il secondo significa che il client usa solo il certificato aggiunto come trust. L'effetto complessivo del pinning esclusivo del certificato è che il client accetterà il certificato del server solo se è bit-to-bit uguale a quello che ricorda; nessun altro certificato sarebbe ritenuto accettabile.
Di solito, quando la gente parla di bloccare, significa blocco esclusivo
Il blocco di CA è lo stesso processo più alto nella catena. Il client memorizza un certificato CA (che può essere una CA "intermedia") come ancoraggio affidabile. Anche in questo caso, questo può essere inclusivo o esclusivo. Il blocco esclusivo della CA indica che il browser convaliderà il certificato del server contro tale CA come ancoraggio di attendibilità univoco; il certificato verrà accettato solo se è possibile creare una catena proveniente da tale CA specifica e nessuna altra.
I punti importanti sopra sono i seguenti:
Il blocco dei certificati memorizza l'impronta digitale del certificato per un sito, in modo che (oltre alla normale verifica) se il certificato cambia, questo può essere utilizzato come input per il processo di convalida. Il certificato "appuntato" non è la CA, ma quello alla fine della catena. Potresti visualizzare un avviso per l'utente se, ad esempio, un certificato viene sostituito con un altro 8 mesi prima della scadenza.
È molto più facile ottenere un certificato fraudolento o falsificare una firma su uno di quanto non sia generarne uno con lo stesso modulo di uno esistente. Il blocco del certificato è progettato per fornire una certa difesa contro il precedente.
Leggi altre domande sui tag certificates certificate-authority