Stai entrando nell'area torbida di revoca . Fondamentalmente, vuoi avere un sistema che "lavori" ma con un interruttore di annullamento che dice: anche se tutto sembra legittimo con la crittografia e tutto il resto, non aprire.
Se il tuo sistema è completamente offline, non c'è soluzione. Un "pulitore" ha il potere di aprire tutti gli armadietti; non può perdere questo potere se tutto è offline perché le informazioni sul dirottamento dello stato di pulizia (furto delle sue chiavi) non possono entrare in un sistema totalmente offline, poiché viene "dall'esterno". Per risolvere il tuo problema, necessariamente hai bisogno di una rete almeno intermittente.
La solita soluzione, ad esempio in X.509 , è quella di avere di breve durata firmati oggetti che dichiarano che "per ora va tutto bene". Nell'analogia pulitore / armadietto:
- Ogni armadietto ha un orologio e conosce la data e l'ora correnti.
- Ogni mattina, l'addetto alle pulizie va all'ufficio di pulizia principale e mostra la sua faccia e le chiavi a un ufficiale che verifica che l'addetto alle pulizie sia effettivamente autorizzato e autorizzato; l'ufficiale consegna quindi all'aspirapolvere un "token di accesso" firmato che dice "a X più pulito è consentito l'accesso fino all'8 marzo alle 23:00 UTC".
- Quando il pulitore vuole aprire un armadietto, deve inserire la sua chiave e il token di accesso. L'armadietto verifica la firma dall'ufficiale e anche che il token di accesso non è ancora scaduto.
In X.509, il "token di accesso" è una risposta CRL o OCSP. I dettagli variano su come gli oggetti vengono portati al validatore (qui, l'armadietto). Nell'analogia sopra, la "rete intermittente" è l'ufficio centrale; questo è il punto in cui il sistema è transitoriamente "online". In alternativa, i token di accesso firmati potrebbero essere distribuiti agli armadietti in modo proattivo da qualcun altro.
Una pietra miliare è che i validatori DEVONO disporre di una fonte di tempo affidabile, per una nozione di tempo adeguata (non è necessario molto in termini di precisione e accuratezza).