Convalida scadenza certificato - in quale fase?

2

Sto implementando la convalida della scadenza del certificato per un cliente. Non sono sicuro di quanto segue.

Esiste un'implementazione standard / diffusa riguardante l'ordine di convalida-

  • Verifica se il certificato si trova prima nell'archivio di fiducia e solo dopo la scadenza?
    In questo caso presenterò all'utente un errore "certificato scaduto" solo se altrimenti il certificato sarebbe stato considerato attendibile.

  • O forse non ha senso controllare la firma se il certificato è scaduto e sarà comunque respinto.
    Non concedo all'utente una scelta qui, ma in questo caso visualizzerà un messaggio di errore diverso che menziona solo una scadenza.

posta yair 18.08.2015 - 18:17
fonte

1 risposta

4

Questa risposta dipenderà dal software PKI che stai utilizzando e da come è configurato per gestire le informazioni di revoca. Gli errori del certificato hanno la precedenza; vuoi prima controllare il più grave.

La procedura generale per la convalida di un certificato è:

  1. Verifica che il Cert Root si trovi nel tuo negozio di fiducia (o qualche complicato sviluppo di percorsi per una grande CA aziendale, vedi [**]).

  2. Iniziando dalla radice, riporta indietro la catena della certità controllando ognuno :

    1. Viene revocato? - il certificato conterrà informazioni su dove e come verificare che sia ancora valido, in genere da CRL o OCSP. Segui questo link per assicurarti che non sia stato revocato.
    2. La firma su di essa può essere verificata utilizzando il cert precedente nella catena? , ovvero quello appena sopra che hai appena finito di verificare.
    3. Scade? - controlla la durata (ovvero il periodo di validità) del certificato.

* Ho scelto di ordinare i controlli in questo modo perché lavoro con grandi PKI aziendali e le nostre CA monitorano separatamente scadenza e revoca in quanto non ha senso impedire agli utenti di visualizzare un documento aziendale solo perché è vecchio (si pensi 10 + email di un anno). [Vedere il thread dei commenti qui sotto con @SteffenUllrich per ulteriori informazioni su questo].

Nel mondo web / ssl dovresti controllare la revoca e la scadenza allo stesso tempo e trattare i certificati scaduti come se fossero revocati . La ragione è che la maggior parte (tutte?) Le CA ssl pubbliche smettono di rintracciare la registrazione quando scade il certificato. Ad esempio, immagina un certificato che è stato revocato a causa di un compromesso chiave, quindi quando scade, passa dall'essere "Revocato" al semplice "Scaduto" e il fatto che sia stato revocato viene perso.

[**] Genererò la mia risposta un po 'per includere altri casi PKI in cui devi accettare certificati da CA radice che non sono nel tuo trust store. Per gli PKI aziendali, spesso il certificato radice non è incorporato nel certificato di fine, quindi è necessario intraprendere una spedizione per la creazione di percorsi. Ciò diventa ancora peggiore quando la CA principale viene certificata con altre CA, ad esempio, i server di posta aziendale e i sistemi di badge ID quando si uniscono due società o se ciascun reparto mantiene la propria CA radice (che è comune nel governo). Se devi supportare PKI come questo, dovrai elaborare un (probabilmente complicato) schema di costruzione dei percorsi dei certificati online.

In risposta al commento di Steffen Ullrich , ho appena controllato il software CA che usiamo per il nostro PKI aziendale, l'Entrust Authority Security Manager, e sicuramente lo supporta:

econquestoattivatopuoiancherevocareicertificatianchedopochesonoscaduti.Sfortunatamenteperte,idocumentichestoguardandononsonopubblici,quindinonpossocollegarli.Pensocheil"CRL partizionato" sia un formato CRL di proprietà di Entrust, quindi non ho idea se i client di altri produttori lo supportano o se altri software di CA hanno caratteristiche simili.

Detto questo, a meno che tu non sappia (1) quale software CA ha emesso i certificati che stai controllando e (2) che è configurato per mantenere i certificati scaduti nel CRL, è più sicuro trattare Expired e Revoked come stesso livello di gravità (o anche lo stesso errore).

    
risposta data 18.08.2015 - 19:22
fonte

Leggi altre domande sui tag