Problema de seguridad y autenticación

5

Tenemos un escenario de muestra y nos gustaría recibir algunos comentarios y algunas soluciones con respecto a posibles esquemas de seguridad.

En primer lugar, imaginemos un escenario real:

Imagine que un usuario posee un casillero en una universidad (propietarios) y los limpiadores tienen las claves para cada casillero (datos encriptados) en la universidad (usuarios autorizados). Además, los otros estudiantes (público) pueden leer las etiquetas con el nombre de cada propietario de casillero. (datos sin cifrar).

Ahora, imagine que un usuario malintencionado roba las llaves de todos los casilleros de un limpiador. ¿Cuál es la mejor solución para invalidar la clave comprometida sin cambiar los bloqueos reales de los casilleros (sin el requisito de descifrar y volver a cifrar los datos del propietario ya que es de solo lectura)?

Tenga en cuenta que todo el esquema de seguridad debe aplicarse mientras los propietarios y los usuarios autorizados operan fuera de línea.

    
pregunta glarkou 08.03.2013 - 15:55
fuente

1 respuesta

4

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).

    
respondido por el Thomas Pornin 08.03.2013 - 16:27
fuente