Domanda

Al momento sto programmando una Certification Authority per una classe uni, Attualmente sto lottando con il concetto di creazione dei certificati.

Come si fa una CA di solito decidere se deve dare un certificato ad un soggetto, è sufficiente a dimostrare che l'entità è il proprietario di una chiave pubblica con la firma di un certificato-richiesta con la propria chiave privata?

Se non come fa un CA di solito decidere se l'entità è affidabile?

grazie,

È stato utile?

Soluzione

Ci sono diversi livelli di fiducia associati ai diversi tipi di certificati.

Certificati SSL di base:

Un certificato SSL di base per un sito web, ad esempio, è spesso un processo automatizzato - che convalida inviando un URL tempo scaduto unico (o il codice che deve essere immesso in un modulo online) un'indirizzi e-mail associati ai domini WHOIS record.

Per Extended Validation:

Per la verifica più forte (come ad esempio nel caso di SSL 'Extended Validation', in cui viene visualizzata una barra degli indirizzi verde nei browser moderni), è pratica comune per stabilire la legittimità del proprietario correlando più fonti di informazioni, come ad come richiesta di una bolletta / certificato di costituzione / dettagli registrati Corporation (ad esempio Dun and Bradstreet / Companies House registrazione (UK) o equivalente) e un'informazione whois domini per assicurarsi che tutti corrispondono esattamente con gli stessi indirizzi e nome della società.

Nel caso di certificati per un individuo una fotocopia della patente di guida con una fotografia o il passaporto è spesso richiesto.

E 'pratica comune per chiamare anche indietro tramite un telefono identificato per confermare l'ordine è legittimo. La legittimità del numero di telefono è tipicamente basata su uno in informazioni WHOIS, o il numero elencato su una bolletta telefonica fornita da una società di servizi.

Il processo per i certificati Extended Validation è in genere molto simile se non identico al processo per i certificati Code Signing (dove il dominio utilizzato come contatti e-mail per la cronaca è spesso preso come un dominio, è necessario essere in controllo delle informazioni WHOIS per).

E 'varia leggermente da Registrar a Registrar e può essere un informale e ad hoc po' a volte (perché alcune cose che sono facili per una piccola società di fornire sono difficili da entrare in possesso di una grande società, e viceversa in modo la loro tendono ad essere più metodi alternativi accettati).

Altri suggerimenti

Una CA è un business. E fa i soldi con la vendita di certificazioni. Maggiore è il numero certs si vende più soldi si farà. Se una CA non sta convalidando le entità giudiziosamente, perderà la sua reputazione e nessuno sarà disposto a pagare per essere certificato da esso.

Generalmente il CA funzionino entro la tensione di queste due forze opposte

Sono preoccupato che la tua domanda suggerisce un grave equivoco.

  

è sufficiente per dimostrare che l'entità è il proprietario di una chiave pubblica con la firma di un certificato-richiesta con la propria chiave privata?

È certamente non sufficiente per avere l'entità segno qualcosa con una chiave privata. Come sarebbe il CA sapere quale chiave pubblica da utilizzare per verificare la firma? Deve fidarsi l'entità di fornirle. Quindi, chiunque può contattare una CA e dire:

  

"Sono microsoft.com, e qui, ho firmato questo con la mia chiave privata. È anche possibile controllare con la mia chiave pubblica. Ora, si potrebbe certificare che questa chiave pubblica appartiene a microsoft.com, si prega di ? ti pago $ 1000! "

.

(In realtà, questo passaggio è necessarie , solo che non basta Se io non ho firmato qualcosa con la chiave privata, quindi ho potuto inviare qualsiasi chiave pubblica - anche Microsoft - alla CA e chiedere loro di certificare come il mio. Allora posso affermare che qualcosa firmato da Microsoft (forse una richiesta di brevetto) è stato effettivamente firmato da me! Quindi la CA sarà certamente controllare che ho la chiave privata corrispondente prima che certifica la chiave pubblica nel certificato.)

Quindi la domanda è, cosa può fare un CA fare per verificare l'identità della persona che richiede il certificato? Nessuno al CA ha mai sentito parlare di questa entità prima!

Una soluzione semplice, che può essere completamente automatizzato alla fine di CA, è per l'entità di fornire un indirizzo e-mail. Il CA invierà una sfida (come ad esempio un URL speciale sul sito web CA con un lungo numero casuale in esso) a questo indirizzo e-mail. Se qualcuno fa una richiesta al server con questo URL, allora è probabilmente la persona che possiede o ha accesso a questo indirizzo email.

Si può provare da soli, se si va a Verisign e richiedere un certificato di prova SSL gratuito.

La limitazione è che il solo rapporto che questo certificato è in grado di attestare tra una chiave pubblica e un indirizzo e-mail. Questo potrebbe essere sufficiente per alcune persone, ma non è sufficiente per tutti.

Se voglio essere sicuro che un particolare certificato (o la chiave pubblica in esso) appartiene a dire, XYZ Inc di Elbonia, perché sto per inviare alcuni dettagli aziendali sensibili a loro, voglio di più di un semplice Indirizzo email. Voglio essere sicuro che la CA ha fatto un serio sondaggio. Il CA deve ricevere la richiesta su carta intestata. Essi devono contattare l'azienda tramite un numero di telefono dalla rubrica telefonica. (Un impostore dovrà ingannare il popolo di telefono pure.) Il CA dovrebbe verificare con il nome commerciale ufficio di registrazione per controllare che XYZ Inc è iscritto a questo indirizzo. Essi dovrebbero inviare un documento (con un numero a caso lungo in esso) all'indirizzo registrato. (Ciò significa che un impostore avrebbe dovuto intercettare la posta pure.) La CA può fisicamente frequentare la sede delle attività dell'organizzazione per confermare che la richiesta è stata fatta.

Tutti questi controlli di identità sono lunga e costosa. Una CA addebiterà l'entità di tale servizio. Ma, se l'ente intende fornire ai propri clienti un elevato livello di fiducia che questa chiave pubblica davvero appartiene a XYZ Inc, allora questo è ciò che deve essere fatto.

Come suggerito Iain Collins, CA in grado di fornire servizi a basso costo per coloro che solo bisogno di un piccolo grado di verifica dell'identità e servizi costosi per gli altri. Il certificato che la CA offre conterranno l'indicazione del livello di verifica di identità che ha avuto luogo. Una persona si considera una transazione utilizzando il certificato può guardare Certification Practice Statement della CA di capire che cosa significa questo livello, e il tipo di controlli di identità che sono stati effettuati.

Infine, il CA non sta facendo alcun asserzioni circa l'entità del affidabilità . Ricordate che un certificato è un legame tra una chiave pubblica e unaidentità. I controlli che una CA non è sufficiente a garantire che la chiave pubblica in realtà è legata a quella particolare entità, non qualcuno impersonare tale entità. L'entità potrebbe essere molto male!

In sintesi, non è possibile utilizzare la crittografia a chiave pubblica per determinare l'identità di qualcuno fino a dopo il certificato è stato rilasciato. Il certificato dice che la CA ha usato un po 'di altro forma di controllo di identità, e permette ad altre persone di fare affidamento su quel controllo.

La determinazione di identificazione di un soggetto è abbastanza soggettivo per il tipo di entità in fase di certificazione. Nella mia esperienza, quando si richiede un certificato per un nome di dominio, ad esempio www.stackoverflow.com, il CA in genere contattare il referente tecnico di cui al whois.

In alternativa, il CA può fornire un PKCS # 9 passphrase ad un ente di fiducia per fornire nel CSR. Il CA può quindi ispezionare la passphrase con un elenco, e decidere se l'entità richiesta è legale per tale entità.

secondo me, le cose più importanti nella pratica sono che i sottoscrittori di una CA (cioè quelli che stanno verificando i certificati) capire che cosa il CA sta facendo in modo che possano mettere appropriata fiducia nei certificati, e che il certificato non ri-edizioni la stessa identità a due soggetti diversi.

Vetting l'identità dell'utente è importante se il nome nel certificato è oggettiva. Ad esempio, web server certificato che dovrebbe contenere un dominio nome specifico / host (ad esempio www.example.com), uno dovrebbe essere sicuro che il proprietario del certificato possiede il nome di dominio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top