È possibile modificare la CA utilizzata da una coppia di chiavi?

1

Fai finta di prendere lo stesso CSR e inviarlo a due CA diverse come descritto nel seguente scenario:

  1. Creo una CSR su Windows
  2. Invio il CSR e modifica i miei nomi SAN. La richiesta è in sospeso presso la CA
  3. aspetta 2 ore. ancora in sospeso
  4. Invia CSR precedentemente inviato nel passaggio 1 a CA # 2
  5. Cambia di nuovo i nomi SAN, ma rendilo un po 'diverso (ordine, ecc.) rispetto a CA # 1 sopra

Quindi ottengo un'approvazione, ho firmato una chiave pubblica. Un tecnico aggiunge questo certificato a IIS o allo store Cert. Da questo momento in avanti, tutte le "Esportazioni" sono associate a questa coppia di chiavi pubblica / privata.

Alcune ore dopo il certificato viene inviato dalla CA # 2. Entrambi i certificati sono "validi"

Normalmente, dovrei iniziare l'intero processo senza pensarci, ma penso sarebbe bene sapere se è possibile ricollegare il certificato pubblico (dal passaggio 5) con la chiave privata.

Domanda

  1. Devo preoccuparmi della revoca?
  2. Posso ricollegare una chiave privata a una nuova pubblica?
posta random65537 11.03.2015 - 19:52
fonte

1 risposta

3

È perfettamente possibile avere la stessa chiave pubblica in diversi certificati distinti. Matematicamente , la chiave pubblica e privata sono collegate (nel linguaggio RSA, usano lo stesso modulo) e non c'è nulla che tu possa fare a favore o contro di essa. È solo.

Tecnicamente , una determinata macchina può memorizzare certificati e chiavi private in alcune strutture dedicate e una chiave privata dovrebbe in qualche modo essere collegata al certificato e / o viceversa, in modo che le applicazioni possano ottenere le cose andare senza molta ambiguità.

Nel mondo Windows (CryptoAPI e CNG), il collegamento è da il certificato (nell'archivio certificati "My") a la chiave privata (in un vecchio -style CryptoAPI CSP, o un KSP CNG nuovo stile). È perfettamente possibile avere più certificati che puntano alla stessa chiave privata; questa è anche la situazione normale in caso di rinnovo del certificato senza creare una nuova coppia di chiavi. I collegamenti dai certificati alle chiavi private possono essere impostati in modo semi-automatico con certutil con il comando secondario -repairstore (in genere il processo di rilascio del certificato tiene traccia della richiesta e imposta correttamente il collegamento, ma in alcuni casi il collegamento deve essere ripristinato ). Può anche essere fatto a livello di programmazione. Il collegamento è fatto per nome (il "nome del contenitore" nella terminologia Microsoft).

Nei sistemi PKCS # 11 (ad esempio Firefox, e la maggior parte delle cose basate su certificati in Linux che non sono puramente software), i certificati e le chiavi sono collegati in virtù dello stesso attributo CKA_ID , e poiché tale attributo dovrebbe essere univoci per un determinato tipo di oggetto, potresti avere problemi ad avere due certificati contemporaneamente che puntano alla stessa chiave privata.

In ogni caso, un certo numero di dispositivi hardware che memorizzano e utilizzano chiavi private (in particolare smart card) non possono davvero mantenere una relazione molti-a-uno dai certificati alle chiavi. Anche con il "Base Smart Card Provider" di Windows e la sua API companion "MiniDriver", è previsto che un solo certificato alla volta possa essere memorizzato su una smart card con un collegamento alla chiave privata. Tuttavia, è ancora possibile avere copie di più certificati nell'archivio certificati (sulla macchina, non sulla smart card), tutti puntati sulla chiave privata della smart card.

Revoca è in base al certificato. Ciò che viene revocato è il certificato (cioè il legame tra la tua chiave e la tua identità), non la chiave. Naturalmente, se diverse CA hanno emesso certificati che legano la tua chiave al tuo nome e la tua chiave viene rubata, ti piacerebbe tutti questi certificati essere revocati. Tuttavia, se una CA revoca il certificato per qualche altro motivo (ad es. Non ha pagato una tariffa annuale di "manutenzione del certificato"), ciò non ha alcun impatto sullo stato di revoca dei certificati emessi da altre CA, anche se contengono lo stesso nome (il tuo) e la stessa chiave pubblica (anche la tua) come certificato revocato.

    
risposta data 11.03.2015 - 20:28
fonte

Leggi altre domande sui tag