In X.509 , un certificato può essere convalidato se può essere messo alla fine di un < em> catena valida , in cui ogni certificato della catena ha emesso il successivo, e la catena inizia con un'ancora trust . L'ancoraggio di fiducia è il certificato di cui ti fidi "ex nihilo", cioè non in virtù del fatto che il certificato sia firmato da un altro certificato attendibile; l'ancoraggio di fiducia è considerato affidabile dalla configurazione. Questa configurazione sta, infatti, inserendo il certificato nell'archivio certificati "root CA".
Quando si inserisce un certificato nell'archivio "root CA", ciò non significa automaticamente che il proprio computer inizierà a utilizzare questo certificato come CA , ad esempio per convalidare altri certificati. Questo significa semplicemente che il certificato è "affidabile". Se questo certificato anche sarà accettato nel ruolo di una CA dipende da ciò che è scritto in esso (l'estensione Basic Constraints
). (*)
Per avviare la fiducia, devi fare "qualcosa". Un browser Web non deve affidarsi in modo trasparente a qualsiasi certificato autofirmato che incontra; sarebbe una grossa vulnerabilità. L'utente deve compiere un'azione esplicita per consentire al certificato autofirmato di essere considerato attendibile per SSL; e, preferibilmente, questa azione non deve essere una cosa troppo facile con un clic, perché altrimenti gli utenti lo faranno senza nemmeno accorgersene. Fare clic sui popup di avviso, per quanto spaventosi possano essere, è un comportamento ben radicato negli utenti umani; e, sfortunatamente, accettare un certificato autofirmato senza la dovuta verifica manuale porta a attacchi Man-in-the-Middle .
In Windows / IE, il "qualcosa" necessario per adescare il sistema di fiducia è l'installazione del certificato del server autofirmato nell'archivio "root CA". Ciò richiede alcune invocazioni GUI non facili e che è di design . NON DEVE essere facile.
Per altri browser, le cose potrebbero variare, sebbene il concetto di base sia lo stesso. Per Firefox, l'installazione di un certificato SSL autofirmato è descritta come "eccezione di sicurezza"; Firefox ha il proprio sottosistema X.509, completamente disgiunto da quello del sistema operativo sottostante. Per Chrome, questo dipende molto dal sistema operativo, dalla versione del sistema operativo e dalla versione del browser.
(*) Ci sono sottigliezze. I vecchi certificati X.509, detti anche "v1", più di 15 anni fa, non supportavano affatto le estensioni, quindi non c'era modo di contrassegnare un certificato come "buono per CA" o "non buono per CA". Ciò significa che un certificato autofirmato v1, installato nell'archivio "root CA", agirà come CA , quindi verrà accettato nel ruolo di una CA, per la convalida di altri certificati. Quando installi un certificato autofirmato, dovresti fare attenzione a non aprire quella porta. Sfortunatamente, questo dipende da dettagli piuttosto tecnici del certificato, quindi non è facile da testare per gli utenti finali.