PKCS # 7 (CMS) aggiunge sicurezza a un'e-mail se è inclusa una risposta CRL / OCSP, quindi revocata?

3

Supponiamo che io emetta un certificato di firma a gennaio e che venga emesso un CRL giornaliero (scade tra 1 giorno) per verificare la validità di tale firma.

Poi a volte a luglio ho bisogno di revocare quel certificato.

Il mio obiettivo è non invalidare tutte le e-mail precedenti firmate con quella chiave, ma piuttosto dare ai destinatari la certezza che la chiave fosse valida e corretta quando hanno ricevuto il messaggio. CMS / PKCS7 potrebbe fare ciò di cui ho bisogno SE:

  • Il client mittente include la risposta di revoca nel messaggio
  • L'infrastruttura PKI della firma è corretta e non imperfetta
  • Il validatore vedrà la firma SMIME, la convaliderà e convaliderà anche la firma.
  • L'intero concetto cade a pezzi se il certificato è scaduto / sostituito e non smarrito a causa di furto / perdita di integrità della chiave privata?

Dato il supporto incoerente per SMIME (ad esempio, gmail e tutte le cose di Google) c'è qualche software o tecnologia che possa convalidare il modo in cui risolve le mie esigenze?

È ciò che sto cercando praticabile o sto usando la tecnologia sbagliata per lo scopo sbagliato?

    
posta random65537 26.02.2015 - 06:39
fonte

1 risposta

4

Quello che stai cercando è teoricamente valido, a patto che tu aggiunga il pezzo mancante mancante, cioè una qualche forma di timestamp. Tuttavia, è probabile che il comportamento delle implementazioni distribuite esistenti sia un problema.

L'idea concettuale è che se si verifica una firma alla data T su qualche messaggio, quindi, in una data successiva T ', è ancora possibile ricordare che la firma è corretta e agisci in base a tale convinzione, anche se la firma non è più verificabile alla data T , ad esempio perché il certificato del firmatario è stato revocato nel frattempo.

In caso di revoca, ogni informazione di revoca (che si tratti di una risposta CRL o OCSP) viene fornita con una data di revoca . Il campo è chiamato revocationDate in un CRL ed è definito nel seguente modo:

The date on which the revocation occurred is specified.

Quindi, quando un CRL dice che un certificato è stato revocato il 17 giugno, alle 14:10 +00: 00, implicitamente afferma anche che il 15 giugno il certificato è stato non revocato. Pertanto, se il destinatario può in qualche modo assicurarsi di aver ricevuto l'e-mail (e la sua firma) in una data precedente alla data di revoca e che l'e-mail memorizzata non è stata alterata in alcun modo, la firma è ancora concettualmente verificabile.

Un grave buco nella teoria di cui sopra è che le CA esistenti non scrivono necessariamente date di revoca con tutta la precisione necessaria. Ad esempio, se revochi due volte lo stesso certificato con la PKI di Microsoft (Servizi certificati Active Directory), la data di revoca sarà la data della revoca seconda , non la prima. Ma se gestisci certificati su smart card con il prodotto FIM CM di Microsoft (Forefront Identity Management - Gestione certificati), eseguirai tali duplicazioni.

In generale, le prove dell'esistenza di alcuni dati in una data precedente si basano su timestamp . Per l'archiviazione a lungo termine dei documenti firmati, ancora verificabili a distanza di anni (non solo dopo la scadenza del certificato del firmatario, ma anche dopo che alcuni dei certificati CA intermedi sono scaduti), è necessario applicare i timestamp su base regolare, ad esempio strato di vernice fresca. Alcuni standard esistono per questo, ma sono poco più complessi di un semplice CMS (CAdES build su CMS, ma con alcuni attributi extra piuttosto pelosi). Vedi questa risposta per ulteriori discussioni e suggerimenti.

    
risposta data 03.03.2015 - 00:31
fonte

Leggi altre domande sui tag