Está ingresando al área turbia de revocation . Básicamente, desea tener un sistema que "funcione" pero con un interruptor de cancelación que diga: aunque todo parece legítimo con la criptografía y todo lo demás, no abra.
Si su sistema está completamente desconectado, no hay solución. Un "limpiador" tiene el poder de abrir todos los casilleros; no puede perder este poder si todo está desconectado porque la información sobre el secuestro del estado de limpieza (robo de sus llaves) no puede ingresar a un sistema totalmente desconectado, ya que viene "desde afuera". Para resolver su problema, necesariamente necesita una red al menos intermitente.
La solución habitual, por ejemplo en X.509 , es tener firmado de corta duración objetos que declaran que "por ahora, todo está bien". En su analogía limpiador / casillero:
- Cada casillero tiene un reloj y conoce la fecha y hora actuales.
- Todas las mañanas, el limpiador va a la oficina principal de limpieza y muestra su rostro y las llaves a un oficial que verifica que el limpiador es legítimo y tiene acceso permitido; Luego, el oficial le entrega al limpiador un "token de acceso" firmado que dice que "se permite el acceso al limpiador X hasta el 8 de marzo, a las 23:00 UTC".
- Cuando el limpiador quiere abrir un casillero, debe insertar su clave y el token de acceso. El casillero verifica la firma del oficial y también que el token de acceso aún no está vencido.
En X.509, el "token de acceso" es una respuesta de CRL o OCSP. Los detalles varían sobre cómo se llevan los objetos al validador (aquí, el casillero). En la analogía anterior, la "red intermitente" es la oficina central; este es el punto donde el sistema está transitoriamente "en línea". Alternativamente, los tokens de acceso firmados podrían ser distribuidos a los casilleros de forma proactiva por otra persona.
Una piedra angular es que los validadores DEBEN tener una fuente de tiempo confiable, para una noción adecuada de tiempo (no necesariamente se necesita mucho en términos de precisión y precisión).