Quali sono le implicazioni sulla sicurezza di un certificato SSL scaduto? Ad esempio, se un certificato SSL da una CA attendibile è scaduto, il canale di comunicazione continuerà a rimanere sicuro?
Quali sono le implicazioni sulla sicurezza di un certificato SSL scaduto? Ad esempio, se un certificato SSL da una CA attendibile è scaduto, il canale di comunicazione continuerà a rimanere sicuro?
La comunicazione è ancora crittografata, ma il meccanismo di fiducia è indebolito. Ma di solito il fattore più importante è che gli utenti riceveranno brutti messaggi di avvertimento sulla sicurezza del tuo sito. La maggior parte non farà giudizi informati sull'integrità della connessione, andranno semplicemente a comprare cose altrove.
Su base teorica, un certificato scaduto è un certificato che non deve essere più utilizzato. Questo è esplicitato nel Profilo X.509 di Internet nell'algoritmo di convalida del certificato (sezione 6.1.3, articolo a. 2). In pratica, questo ha due conseguenze:
Il proprietario della chiave (il server) deve mantenere la sua chiave privata, beh, privata. Chiunque ottenga una copia della chiave privata può impersonare il server. Mantenere alcuni dati privati non è del tutto immediato; per esempio. devi pensare a come fai i tuoi backup. Una volta scaduto il certificato, il server potrebbe semplicemente smettere di preoccuparsi della privacy della chiave, dal momento che la chiave pubblica corrispondente non deve più essere utilizzata. Se tu (come un client SSL) decidi di accettare un certificato del server scaduto, corri il rischio di utilizzare una chiave pubblica per la quale la chiave privata corrispondente è stata semplicemente abbandonata e recuperata da un cattivo.
Esiste una cosa conosciuta come revoca . Quando una CA revoca un certificato, dice: "Sì, quella è la mia firma su quel certificato, ma agiamo come se non l'avessi mai firmato". Una tipica situazione di revoca si ha quando la chiave privata è stata compromessa. La CA pubblica costantemente lo stato di revoca dei certificati emessi tramite CRL (elenchi di certificati revocati) e OCSP (un protocollo di controllo dello stato di revoca dedicato). Un client SSL dovrebbe ottenere informazioni sullo stato di revoca del certificato del server prima di accettarlo (in un contesto Web / HTTPS, la maggior parte dei client non si preoccupa). Il punto chiave è che una volta che un certificato è scaduto, la CA cessa di tenere traccia del suo stato di revoca (questo evita che CRL aumenti indefinitamente). Quindi, un cliente che accetta un certificato scaduto si assume il rischio di usare inconsapevolmente un certificato che è stato revocato durante la sua vita.
Come Peter Gutmann lo dice , la fine della data di validità in un certificato "indica il momento in cui devi pagare al tuo CA una tassa di rinnovo per ottenere il certificato riemesso". Il modello di business della CA commerciale si basa intrinsecamente sui clienti che rispettano la data di scadenza. Questo anche spiega perché i browser Web sono desiderosi di visualizzare avvisi spaventosi quando un certificato è scaduto.
In senso pratico, guarderei la data di scadenza. Se la data è scaduta solo da pochi giorni, allora personalmente mi sarei fidato.
Tuttavia, i certificati che hanno superato la data di scadenza potrebbero essere stati compromessi e non dovrebbero essere considerati attendibili. (In effetti, se un sito che usi spesso compare improvvisamente con un certificato che è scaduto da molto tempo, allora è una bella bandiera rossa.)
IE- Se il cert è scaduto ieri, la connessione non è meno sicura di quanto non fosse ieri. Non diventa automaticamente insicuro una volta scaduta la data di scadenza.
Tuttavia, devi disegnare la linea da qualche parte ... ed è a questo che si riferisce la data di scadenza.
Un altro pensiero sulla scadenza di un certificato riguarda la questione dell'algoritmo della chiave asimmetrica stessa. Da una chiave pubblica è possibile determinare la chiave privata? Beh, la risposta è improbabile anziché impossibile. Generalmente si presume che ci vorrebbe un milione di anni per un computer per trovare la chiave privata da una chiave pubblica. Ma cosa succede se si esegue un milione di computer per un anno. Si potrebbe finire con la chiave privata e ora quando pensi di usare quella chiave privata sarebbe davvero frustrante rendersi conto che l'utente ha rinnovato il certificato. (Questo NON significa che abbia pagato dei soldi per conservare il vecchio certificato, ma significa che ora è disponibile un nuovo certificato con una nuova chiave pubblica e che i milioni di computer dovranno iniziare il loro lavoro da zero)
Btw, cosa succede se uso tutti questi computer per continuare a generare pubblico e amp; le coppie di chiavi private e memorizzano le due in una tabella a due colonne in un database. C'è qualche possibilità di leggere la chiave privata direttamente dalla chiave pubblica che è stata inserita?
Leggi altre domande sui tag public-key-infrastructure tls certificates certificate-authority