Modello di certificato del certificato SSL

1

Ho esaminato il modello di certificato del certificato SSL e c'è qualcosa che non ha senso. Se sono corretto, il modello di trust rende che se esiste una catena di certificati con un certificato radice attendibile nella parte superiore della catena, tutti i certificati di questa catena saranno considerati attendibili. Questo non ha senso perché potrei creare un certificato valido per google.com con la mia coppia di chiavi. Lo farei prendendo la catena di certificati di google.com, diciamo Verisign, quindi google.com. Vorrei lasciare il certificato di root così com'è, ma modificare la coppia di chiavi nel certificato di google.com. Questa catena di certificati sarebbe affidabile poiché il certificato di origine è attendibile, pertanto tutti gli altri certificati sono attendibili. Questo ti permetterebbe di creare un uomo nell'attacco centrale.

    
posta Java Is Cool 20.10.2014 - 04:35
fonte

2 risposte

3

I certificati SSL hanno un campo di estensione che definisce a cosa serve un certificato.

Quando acquisti un certificato da VeriSign con la richiesta di firma del certificato, in genere non includerà l'autorizzazione dell'estensione per firmare certificati downstream con il tuo certificato; in particolare per qualsiasi dominio per cui non si dispone dell'autorizzazione.

Prendi google.com per esempio (root to leaf node):

  1. Equifax Secure CA - CA root (quindi Autorità di firma a valle implicita)
  2. GeoTrust Global CA - ha Firmatario del certificato proprietà
  3. Google Internet Authority G2 - Ha la proprietà Firmatario del certificato ma può solo firmare i nodi foglia
  4. *. google.com - Certificato di dominio Wildcard senza autorizzazione per firmare altri certificati.

Il browser controlla la validità dalla radice all'anta. Si presume che ogni autorità rivendicata da una foglia o da un certificato intermedio sia stata autorizzata dal certificato che l'ha firmata; alla fine culminando nella fiducia accordata all'Autorità di certificazione di base.

    
risposta data 20.10.2014 - 05:09
fonte
3

Ti manca una parte molto importante di un certificato digitale qui. Questa parte è Firma digitale . Fondamentalmente, un certificato digitale è composto da 3 parti :

  1. A public key.
  2. Certificate information. ("Identity" information about user, such as name, user ID, and so on.)
  3. One or more digital signatures.

Una firma digitale è un hash crittografato del certificato. Si tratta fondamentalmente di un riassunto (ad esempio, SHA-1) del certificato stesso, identificato (verificato) dalla chiave privata della CA. Questo è ciò che dice al tuo browser che questo certificato è verificato da qualcuno (qualcuno del tuo browser può anche fidarsi).

Come hai detto, puoi facilmente prendere un certificato e cambiarlo. Ma ciò che davvero non puoi cambiare qui è questa firma digitale (dal momento che non hai la chiave privata appartenente a quel qualcuno di fiducia). Quindi, il tuo browser lo rileverà immediatamente perché non sarà in grado di verificare la firma digitale.

    
risposta data 20.10.2014 - 05:56
fonte

Leggi altre domande sui tag