Qual è la differenza tra numero seriale e identificazione digitale?

67

Ho problemi a capire qual è la differenza tra il numero di serie di un certificato e il suo hash SHA1.

L'MSDN dice:

Serial number A number that uniquely identifies the certificate and is issued by the certification authority.

Quindi posso identificare un certificato tramite il suo numero di serie, giusto?

Wikipedia dice per l'hash:

Thumbprint: The hash itself, used as an abbreviated form of the public key certificate.

Quindi l'hash identifica la chiave (ad esempio RSA).

Attualmente faccio qualche ricerca sui certificati delle app Android e ho trovato alcuni certificati interessanti:

[Issuer][Serial][SHA1 Hash][Valid From]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][BB84DE3EC423DDDE90C08AB3C5A828692089493C][Sun, 29 Feb 2008 01:33:46 GMT]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][6B44B6CC0B66A28AE444DA37E3DFC1E70A462EFA][Sun, 29 Feb 2008 01:33:46 GMT]
[C=US, L=Mountain View, S=California, O=Android, OU=Android, CN=Android, [email protected]][00936EACBE07F201DF][0B4BE1DB3AB39C9C3E861AEC1348110062D3BC1B][Sun, 29 

E ci sono molti altri che condividono la stessa serie, ma hanno hash diversi.

Quindi può esserci un certificato con chiave diversa? Chi sta creando il numero seriale durante la creazione di un certificato per un'app Android? Per l'hash è chiaro, ma posso creare un nuovo certificato con lo stesso numero di serie di un altro certificato?

Posso essere sicuro che un certificato con lo stesso numero di serie sia stato creato dalla stessa persona?

    
posta reox 10.05.2013 - 12:35
fonte

2 risposte

74

In un certificato , il numero di serie viene scelto dalla CA che ha emesso il certificato. È appena scritto nel certificato. La CA può scegliere il numero di serie in qualsiasi modo lo ritenga opportuno, non necessariamente in modo casuale (e deve essere contenuto in 20 byte). si suppone che una CA scelga numeri seriali univoci, cioè unici per la CA . Non si può contare su un numero seriale unico al mondo; nel mondo dei sogni di X.509, è la coppia issuerDN + serial che è unica al mondo (ogni CA ha il suo nome distinto unico, e sta attento a non riutilizzare i numeri seriali).

L'impronta è un valore hash calcolato sul certificato completo, che include tutti i suoi campi, inclusa la firma. Quel è univoco in tutto il mondo, per un determinato certificato, fino alla resistenza di collisione intrinseca della funzione di hash usata. Il software Microsoft tende a utilizzare SHA-1, per il quale sono noti alcuni punti deboli teorici, ma non è stata ancora prodotta alcuna collisione effettiva . Un attacco di collisione su SHA-1 è stato ora dimostrato dai ricercatori di CWI e Google.

(Le thumbprint che vengono visualizzate consistono in 40 caratteri esadecimali, ovvero 160 bit, che puntano nuovamente a SHA-1 come funzione di hash utilizzata in modo plausibile.)

    
risposta data 10.05.2013 - 13:35
fonte
4

L'identificazione personale è il sha1sum o sha256sum del certificato nel suo formato .DER binario. Cioè, da un terminale Unix tu esegui:

sha1sum /path/to/mycertificate.der

L'output esadecimale di quel comando è la tua impronta digitale. Viene anche chiamata l'impronta digitale. Provalo e vedrai.

    
risposta data 07.11.2015 - 13:26
fonte

Leggi altre domande sui tag