Come e in quale contesto CSR funziona?

0

Sto cercando di capire lo scenario in cui può essere utile la CSR (richiesta di firma del certificato). Per favore aiutami a capire il concetto e l'uso.

Mutual authentication

Nell'autenticazione lato client, dove un client genera un CSR da firmare dalla CA radice attendibile del server. Il risultato è un certificato pubblico client, che può essere utilizzato dal server per autenticare il client crittografando la sua chiave di sessione utilizzando la chiave pubblica del client.

MITM i.e SSL proxy

L'obiettivo è visualizzare tutto il traffico SSL in uscita verso risorse esterne, ad esempio Twitter, Facebook, ecc. Avere l'autorizzazione della CA dell'elettrodomestico SSL generare una coppia di chiavi pubblica-privata, generare una richiesta di CSR e farla firmare da una fidata autorità di root, ad es. verisign. Quindi, quando il client richiede di accedere a un sito Web ssl, il proxy ssl passa il certificato del server proxy SSL che viene accettato dal browser locale dell'utente dal momento in cui è stato firmato dalla CA locale, da SSL al server di destinazione, utilizzeremo il certificato pubblico approvato CSR per crittografare la sessione chiave per l'uso da parte di target sever.

So che la descrizione di cui sopra descrive solo una vaga panoramica di alto livello del processo. Volevo solo capire il concetto di alto livello coinvolto.

    
posta Saladin 08.08.2017 - 20:00
fonte

2 risposte

3

Un CSR consente a un utente di ottenere un'autorità di certificazione (CA) per fornire loro un certificato firmato, senza che la CA conosca effettivamente la chiave privata dell'utente. Un cert X.509 ha alcuni pezzi importanti: il soggetto (a chi è destinata la cert), il periodo di validità del cert, gli usi consentiti del cert, la chiave pubblica del soggetto e la firma dell'emittente (cioè una firma generata utilizzando il problema chiave privata, in cui l'emittente è generalmente una CA). Un CSR ha la maggior parte di queste informazioni, tranne che manca del cert dell'emittente (perché è generato dall'utente - che di solito è il soggetto - e inviato all'emittente, quindi non può ancora avere la firma dell'emittente). La CA firma il CSR, trasformandolo da una richiesta di firma del certificato in un certificato firmato.

La cosa bella è, per fare questo, l'emittente non deve mai vedere la chiave privata del soggetto, solo quella pubblica (che è, ovviamente, pubblica). L'utente deve avere una chiave privata corrispondente per la chiave pubblica inviata, altrimenti non sarebbe in grado di utilizzare il certificato restituito per nulla, ma l'emittente (vale a dire la CA) non deve sapere cosa quella chiave privata è.

Questa è un'alternativa migliore all'approccio semplice e ingenuo, che sarebbe l'emittente stesso a generare le coppie di chiavi pubblico-private, quindi a costruire un certificato con quella chiave pubblica, a firmarlo e a inviare sia il certificato che la chiave privata per l'utente. I problemi con questo:

  • La CA conoscerebbe la tua chiave privata, almeno finché non l'avessero dimenticata / cancellata. Idealmente, nessuno altro dovrebbe mai conoscere la tua chiave privata.
  • La chiave privata dovrebbe essere trasmessa in modo molto sicuro (in modo che una terza parte non possa intercettarla); questo è difficile. Meglio non trasmetterlo affatto.
  • L'utente potrebbe voler generare la chiave in un modo particolare, ad esempio utilizzando un generatore di numeri casuali di cui si fidano particolarmente, piuttosto che affidarsi alla CA per produrre una chiave di qualità accettabile. (Devi aspettarti che gli altri si fidino della chiave master della CA - altrimenti la loro firma sul tuo cert non ha senso - ma non dovresti fidarti di loro per generare effettivamente la tua chiave in modo appropriato.)
  • L'utente potrebbe voler riutilizzare una chiave pubblica esistente, ad esempio per mantenere valide le vecchie firme se un certificato esistente scadrà ma si ritiene che la chiave sia ancora sicura. Utilizzando una CSR, puoi sostanzialmente ottenere un certificato emesso di nuovo con un nuovo periodo di validità, usi consentiti (OID), ecc. Anche se non aggiorni la chiave.

I CSR sono ciò che rende possibile evitare tutti questi problemi.

    
risposta data 07.12.2017 - 10:43
fonte
2

Una richiesta di firma del certificato è il precursore di un certificato firmato dalla CA. Pertanto, è necessario un CSR ovunque vengano utilizzati i certificati emessi dalla CA: autenticazione del server, autenticazione client, creazione di una CA secondaria, firma di posta con S / MIME, applicazioni firmate ...

    
risposta data 08.08.2017 - 20:06
fonte

Leggi altre domande sui tag