Quali informazioni specifiche vengono utilizzate per verificare un certificato SSL?

2

Quando il certificato SSL di una CA è memorizzato in un browser, un server che presenta un certificato firmato da questa CA può essere verificato dal browser. La mia domanda è: come viene eseguita esattamente questa verifica?

So che il certificato presentato dal server al browser contiene informazioni come la chiave pubblica del server e le informazioni identificative del server (come il nome del server, la posizione, ecc.).

Tuttavia, per consentire al browser di dimostrare che questa informazione è corretta, è necessaria una seconda copia delle stesse informazioni da confrontare e determinare se esiste una corrispondenza o meno. So che il nome del server fa parte dell'URL, quindi il browser può ottenere il valore nell'URL e confrontarlo con le informazioni nel certificato. Ma che dire delle altre informazioni nel certificato? Come viene verificato quando non c'è una seconda copia da confrontare con?

    
posta Minaj 17.07.2016 - 02:52
fonte

3 risposte

5
L'identificazione

Oggetto nel certificato del server SSL / TLS è Nome / i DNS di solito e / o indirizzo / i IP raramente, che sono abbinati all'URL richiesto. Nessuno di questi determina la posizione. I certificati EV devono contenere alcune informazioni sulla posizione fisica verificate dalla CA e altri certificati potrebbero non essere ulteriormente controllati dal browser; alcuni browser visualizzano alcune informazioni EV, che l'utente potrebbe verificare in base alla sua conoscenza dell'organizzazione / persona che dovrebbe utilizzare il sito web.

Il periodo di validità viene confrontato con l'ora corrente. Se un dispositivo client ha un orologio errato o nessuno, può essere ingannato da un server che utilizza un certificato scaduto per una chiave rubata o rotta.

Le estensioni BasicConstraints, KeyUsage e ExtendedKeyUsage se presenti (e almeno le prime due dovrebbero essere) vengono controllate per assicurarsi che il certificato sia adatto per il protocollo SSL / TLS in generale e per la chiave negoziata scambio. Politiche se potrebbe potrebbe essere verificato rispetto alla configurazione (o alla voce utente) quali criteri sono richiesti, accettabili o proibiti, ma non credo che nessuno lo faccia.

Il nome Emittente e l'estensione AuthorityKeyIdentifier (AKI), se presenti, vengono utilizzati per ottenere (selezionare) la chiave pubblica CA principale utilizzata per verificare il certificato, quindi se sono sbagliati, la firma non può essere e non è verificata. Questo ripete la catena e validità, BC, KU, EKU sono anche controllati sulla catena per assicurarsi che ogni certificato sia adatto per essere un emittente (CA).

Tutti i certificati (inclusa la catena) devono essere controllati per la revoca . Questo viene fatto usando le informazioni al di fuori delle cert (s), vale a dire un CRL firmato dalla CA, o una risposta OCSP firmata dalla CA o da un'altra parte fidata. Al giorno d'oggi le risposte OCSP sono solitamente incluse nell'handshake SSL / TLS dal server (chiamata stapling); in caso contrario, il browser può recuperarli utilizzando le Estensioni di punto di distribuzione CRL e / o l'accesso alle informazioni dell'autorità . Questo può fornire un controllo indiretto; se ottieni dati validi (firmati) da CRLDP e / o AIA.ocsp, stabilisce che quei valori sono corretti, ma se hai problemi a comunicare non significa necessariamente che siano sbagliati, e se non ci provi nemmeno (perché di graffatura) quindi ovviamente non lo sai affatto.

La chiave pubblica nel certificato non può essere controllata direttamente; il punto principale di PKI è per il relier (browser) per ottenere in modo sicuro la chiave pubblica che non ha già . L'handshake SSL / TLS conferma che il server ha (e utilizza) la chiave privata corrispondente alla chiave pubblica nel certificato; il meccanismo crittografico per questo varia a seconda dello scambio di chiavi negoziato.

    
risposta data 17.07.2016 - 06:41
fonte
0

L'autorità di certificazione è quella che rilascia SSL e altri certificati digitali. È un'entità di grande fiducia che verifica le informazioni fornite dal server web come il nome di dominio, la chiave pubblica, l'identità dell'azienda. Se tutte le informazioni fornite sono legali, la CA emetterà il relativo certificato SSL debitamente firmato utilizzando la sua chiave privata. Inoltre, il certificato SSL segue tre tipi di processo di convalida vale a dire dominio, organizzazione e convalida estesa. A seconda della convalida, la CA può estendersi per verificare in dettaglio le informazioni dell'azienda.

I browser a volte possono includere chiavi pubbliche di CA, mentre si allineano con le directory attendibili installate all'interno, in modo crittografico.

Una volta rilasciato il certificato, la CA fornisce le sue informazioni, nel caso in cui qualcuno tenti di invalidare il certificato, i browser diventeranno avvisati. Le informazioni del certificato vengono fornite tramite elenchi di revoche di certificati (CRL) o tramite protocollo OCSP (online status protocol).

    
risposta data 18.07.2016 - 08:27
fonte
0

Il browser esamina ciascun certificato della catena che termina con un certificato di autenticazione attendibile autofirmato dell'autorità di certificazione. Questo sarebbe nell'archivio certificati locale. Verifica che la firma sia valida, che l'ora corrente sia compresa nel periodo di validità di ciascun certificato e che controlli il percorso pubblicato da CRL (http o LDAP). Il percorso CRL deve essere disponibile per leggere dalla macchina o il processo di convalida avrà esito negativo. Spero che ti aiuti.

    
risposta data 20.07.2016 - 15:56
fonte