Caducidad de la autorización sin un reloj / hora confiable

2

Lo he estado buscando, pero creo que es imposible encontrar una solución de emparejamiento que tenga los beneficios de la caducidad y renovación de la autorización (como la caducidad del certificado x509 y la caducidad de OAuth_in), pero funciona sin un reloj confiable.

Lo quiero porque la renovación es una oportunidad para eliminar los algoritmos criptográficos vulnerables y mantener las autorizaciones activas a la altura de las especificaciones. El problema es que el sistema en el que estoy implementando esto no puede llegar de manera confiable a los servidores NTP y no cuenta con un reloj de batería para conservar el tiempo a través de los reinicios (cada pocos días se reinicia), por lo que determinar si una autorización sigue siendo válida es prácticamente imposible.

¿Hay una solución? ¿Quizás hay alternativas para que los clientes renueven?

    
pregunta Raveclatter 23.10.2017 - 17:03
fuente

1 respuesta

1

Su pregunta primero suena irónica, porque parece que no quiere usar o confiar en NTP mientras asumo que su sistema está conectado a Internet.

Pero qué pasa si asumimos que no confías en tu conexión a Internet y temes un ataque MITM u otro temperamento. Esto haría al NTP realmente inútil. Pero con los certificados iniciales previamente compartidos, su sistema primario podría funcionar. Y tendrá que confiar (al menos en algunos) de sus socios de comunicación verificados con éxito.

Aquí, todavía tiene una opción para la función de caducidad: puede solicitar periódicamente a sus otros compañeros válidos el tiempo (una especie de reimplementación de NTP en su aplicación) . Esto debería proporcionarle un reloj con al menos una precisión de algunos segundos (o mejor). Si reinicia, puede guardar la última vez y solicitar la hora tan pronto como sea posible. Sin embargo, si reinicia su sistema en minutos, aún mantiene un reloj con una precisión de minutos (Por lo tanto, su reloj en un sistema recién reiniciado nunca se deriva del tiempo real más allá del tiempo que se tarda en reiniciar) . Dado que los certificados generalmente se emiten durante aproximadamente un año, una precisión de minutos es perfectamente correcta.

Si quiere decir que su problema es que no tiene algo para contar en tiempo real , todavía puede ir con reloj lógico . Así que puedes por ejemplo cuente la frecuencia con la que se usa un certificado (firma / verificación) y vuelva a emitir uno nuevo si se ha excedido un umbral o caduque el certificado si se usa más. Puede contar esto por certificado o para todos juntos.

    
respondido por el Cryptjar 24.10.2017 - 00:38
fuente

Lea otras preguntas en las etiquetas