Come posso rinnovare la mia chiave di firma dell'autorità di certificazione?


2

Sono un noob considerando le autorità di certificazione. Ho seguito questo articolo qualche tempo fa per impostare la mia autorità di certificazione e con il suo aiuto impostare la mia freelanrete VPN: https://github.com/freelan-developers/freelan/wiki/X509-certificates-generation

Fondamentalmente, tutto quello che dovevo fare era chiamare:

openssl req -new -x509 -extensions v3_ca -keyout key/ca.key -out crt/ca.crt -config ca.cnf

Il problema è che il mio ca.crtcertificato, che credo sia la chiave pubblica, ca.keyè scaduto secondo openssl. Ho usato questo certificato per firmare altre chiavi, e non vorrei doverlo ripetere.

C'è un modo in cui posso semplicemente creare un nuovo ca.crtfile con una data di scadenza più lunga?

Non ricordo se dovevo impostare la data di scadenza da ca.crtqualche parte, ma non credo di averlo fatto, perché era valido solo per 1 mese. Vorrei sapere se questo è previsto e raccomandato o effettivamente un errore che ho fatto lungo la strada? Per quanto tempo dovrebbe ca.crtessere valido il certificato?

Ho trovato diversi comandi online, ma non sono sicuro di quale sia quello giusto per me, ad esempio: https://stackoverflow.com/questions/13295585/openssl-certificate-verification-on-linux https://serverfault.com/questions/ 306345 / certificazione dell'autorità-root-certificate-scadenza-e-renewal


1
Le certificazioni CA non dovrebbero avere lunghe date di scadenza. Onestamente; Nessun certificato singolo dovrebbe essere più lungo di 2 o 3 anni. Ciò ti costringe ad aumentare le dimensioni della chiave, per evitare certificazioni deboli, in futuro.
Ramhound

Risposte:


4

Come posso rinnovare la mia chiave di firma dell'autorità di certificazione?

Hai due problemi da affrontare. Il primo è la continuità dei certificati di entità finale (server e utente). Il secondo è il cambio della CA principale.


C'è un modo in cui posso semplicemente creare un nuovo file ca.crt con una data di scadenza più lunga?

Sì, ma vedi i dettagli di seguito.


Il primo problema, la continuità dei certificati di entità finale (server e utente), viene risolto principalmente utilizzando la stessa chiave pubblica quando si passa il mouse sulla CA principale.

La nuova CA radice autofirmata dovrà comunque essere installata nei relativi archivi fiduciari, ma la continuità chiave implica che i certificati delle entità finali non dovranno essere riemessi. Se si utilizza una nuova chiave pubblica per la CA principale, sarà necessario riemettere tutti i certificati dell'entità finale.


Il secondo problema, il roll over della CA principale, deve verificarsi perché è scaduto. Questo è lo stesso problema della ricertificazione di una CA principale poiché l'hash viene modificato da SHA-1 a SHA-256 per soddisfare i requisiti di base CA / Browser . Numerose autorità competenti lo hanno fatto nella vita reale.

L'impatto del rollover può essere ridotto utilizzando la stessa chiave pubblica. Ciò consentirà inoltre di migliorare i controlli di sicurezza, come bloccare la chiave pubblica di una CA. Se il certificato CA viene bloccato (al contrario della chiave pubblica ), creerà molto rumore estraneo in strumenti come Cert Patrol .

Per eseguire il rollover della CA, è necessario creare un certificato CA radice "equivalente" (o il più vicino possibile all'equivalente). Il modo in cui gli interpreti identificano in modo univoco un certificato è indicato in RFC 4158, Internet X.509 Infrastruttura a chiave pubblica: costruzione del percorso di certificazione .

L'abbreviazione di RFC 4158 è la coppia { Nome distinto soggetto , numero di serie } che può essere utilizzata per identificare in modo univoco un certificato in un negozio. Come una CA o dell'Emittente, si suppone per garantire i numeri di serie sono unici, anche se si ri-certificare.

I certificati delle entità finali hanno altri modi per essere identificati in modo univoco, incluso l' identificatore della chiave di autorità (AKID) . In effetti, il certificato di un server può utilizzare un hash del { Nome distinto soggetto , numero di serie } dell'Emittente come AKID (se ricordo bene).

Sembra che tu abbia capito come creare un certificato CA autofirmato, quindi non parlerò dei comandi OpenSSL.


I problemi reali si verificano quando le coppie di chiavi pubbliche / private sono compromesse. Non è possibile eseguire il rollover della propria CA con la chiave pubblica esistente, quindi è necessario emettere un nuovo certificato CA principale e rilasciare nuovamente tutti i certificati delle entità finali.


Per ricapitolare, ecco gli oggetti utilizzabili:

  • Utilizzare la stessa chiave pubblica per CA
  • Usa lo stesso nome distinto per CA
  • Utilizzare il nuovo numero di serie per CA
  • Installare la CA di nuova emissione su tutti i computer client
  • Non emettere nuovamente i certificati delle entità finali

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.