Come fa il server a sapere che il mittente CSR è un client approvato?

1

Supponiamo che un server fornisca un URL POST per inviare CSR. Il certificato di risposta verrà quindi utilizzato per la successiva connessione di autenticazione client-cert SSL.

Il problema è che chiunque può POSTARE un CSR al server e quindi il server firmarlo. Questa procedura non è priva di significato?

Il mio collega suggerisce che il CSR di invio stesso dovrebbe essere anche la connessione di autenticazione client-cert SSL. Genererà un certificato una tantum per il client da preinstallare e usarlo per inviare CSR. E 'un buon approccio?

    
posta Yeung 16.10.2014 - 12:01
fonte

2 risposte

1

Suppongo che tu voglia iscrivere gli utenti tramite il POST dei CSR. Esistono già schemi di registrazione integrati nei browser in modo da non dover effettuare il POST CSR. Questi schemi di registrazione installeranno automaticamente anche il certificato del cliente nell'archivio del browser, quindi Tutto è fatto in un colpo solo.

Qui hai tutto per iniziare: link

Questo dovrebbe occuparsi di tutto. Ora, il tuo unico problema è autenticare gli utenti come utenti prima di registrarli.

Suppongo che questo sia il problema che vuoi risolvere, in altre parole, autenticare gli utenti in modo che nessuno possa iscriversi, ad esempio solo gli specifici utenti invitati dovrebbero ottenere un account.

Se è possibile eseguire il provisioning del software sui computer client tramite una suite di amministrazione, è possibile eseguire il provisioning di "RunOnce" che contiene un URL come link dove key = è una chiave monouso generata in modo sicuro, che consente la registrazione di un certificato. Dal momento che il tuo software di provisioning sarà in grado di conoscere l'IP del client, potresti anche bloccare la chiave = per essere valida solo per l'IP in questione, ottenendo così una sicurezza extra, quindi se questa chiave una tantum dovesse fuoriuscire prima del suo utilizzo, sarebbe impossibile usarlo.

Se non hai alcuna suite di amministrazione e non hai la possibilità di identificare gli utenti oggi, ti suggerisco di iscriverti manualmente. Questo può essere fatto impostando una pagina di registrazione protetta da password che solo tu come amministratore conosci la password di, e poi visiti fisicamente ogni utente e registralo.

L'installazione di un certificato monouso è un passaggio non necessario, poiché è comunque necessario verificare gli utenti prima di installare il certificato monouso. E se hai verificato gli utenti come autorizzati, non devi eseguire la procedura di installazione di un certificato una tantum.

Se gli utenti si trovano non così vicini, è necessario stabilire un altro modo per verificare gli utenti. Diciamo che gli utenti devono chiamare l'Helpdesk per ottenere un account e verificare se stessi con un rappresentante del cliente. Quindi è possibile creare una pagina in cui devono immettere un "ID di iscrizione" a 8 cifre che gli viene dato per telefono dopo una verifica riuscita. Questo ID di iscrizione potrebbe avere una validità di circa 5 minuti per garantire la massima sicurezza. Potresti anche avere una sfida che devono leggere per te, inserisci tutti i dettagli che dovrebbero essere scritti nel certificato, ottengono una risposta e devono digitare la risposta per ottenere la registrazione del certificato.

    
risposta data 16.10.2014 - 15:24
fonte
0

Dipende da ciò che vuoi ottenere.

Se vuoi solo identificare un cliente per le sue prossime visite senza sapere altro da lei, è sufficiente, a condizione che il certificato venga recuperato nella stessa sessione che ha pubblicato il CSR - dovresti assicurarti che il certificato venga distrutto se la sessione termina prima che sia stata scaricata. Tuttavia, utilizza un PKI privato o promuovi che i tuoi certificati non controllano né il nome né l'email o l'organizzazione dei destinatari.

Se vuoi solo essere in grado di certificare che il proprietario del certificato è il proprietario di un indirizzo e-mail, è sufficiente inviarlo a tale indirizzo. Ma di nuovo annuncia che non hai verificato l'identità del destinatario.

Se stai solo firmando richieste di certificati server e hai già un modo per identificare in modo sicuro il responsabile della sicurezza di una società cliente sul tuo server, procedi. Puoi fidarti che il CSR è stato pubblicato dal responsabile della sicurezza e che solo lui dovrebbe essere in grado di recuperare il certificato

Ma se vuoi che il certificato sia usato per scopi generali e certifichi l'identità di una persona, devi trovare un modo per controllare che la persona che riceve il certificato sia chi afferma di essere . Per le organizzazioni serie, significa che un membro delle autorità di certificazione vede effettivamente la persona a cui dà il certificato e le chiede di provare la sua identità con un documento ufficiale come una patente di guida, un passaporto o una carta d'identità nazionale. Qui una consegna via web o posta non è semplicemente possibile ...

    
risposta data 04.05.2017 - 13:59
fonte

Leggi altre domande sui tag