¿Es posible incrustar fechas de caducidad en las claves?

0

Tengo una aplicación que utiliza una clave asimétrica para cifrar / descifrar datos entre dispositivos.

Sin embargo, estos dispositivos ya no deberían poder descifrar después de un cierto período de tiempo.

Actualmente, estoy generando el par de llaves en forma de RSA simple y puedo usar la clave indefinidamente.

¿Es posible incrustar algún tipo de fecha de caducidad en las claves privadas y públicas, de modo que cuando se usan después de una fecha determinada, las claves simplemente no pueden ejecutarse?

    
pregunta xenon 11.05.2017 - 05:03
fuente

2 respuestas

1

Sí, puede diseñar un protocolo donde el generador de claves y el usuario clave acuerden dónde se guarda esta marca de tiempo (NB: junto a los bytes de clave o dentro de los bytes de clave, pero la última opción es muy peligrosa ya que podría reducir la entropía, así que no No lo hagas). Es posible que también deba instalar algún mecanismo para asegurarse de que la fecha no se pueda cambiar.

Hay todo tipo de formas inteligentes para eso, pero los certificados X.509 ya lo estandarizan, por lo que puede que simplemente los use.

El propietario de la clave secreta tendría que verificar si la clave secreta coincide con la clave pública de los certificados, si el certificado está firmado correctamente por un emisor de confianza y la hora actual se encuentra dentro del período de validez.

    
respondido por el eckes 11.05.2017 - 06:22
fuente
0

"Incorporar una fecha de caducidad" (como se indica en el título) es la parte fácil y, como Eckes ha señalado, ya hay estándares wasy para hacerlo. Pero estos esquemas suelen depender de la cooperación de los participantes. Por ejemplo, su navegador generalmente le avisará si se conecta a sitios con certificados caducados.

Si desea imponer la imposibilidad de encriptar los datos después de una fecha determinada, esta es una faceta del control de acceso para los usuarios con legitimidad geográfica que generalmente se denomina DRM (un término que se ve bastante negativo en algunos círculos debido a algunos casos de uso discutibles). ). El problema allí no es tanto sobre los protocolos sino sobre las implementaciones. ¿Cómo evitar copias de los datos descifrados? ¿Cómo evitar que los usuarios "depuren" el software y extraigan las claves? ¿Cómo prevenir el falso tiempo? Sus usuarios tienen las claves, pero usted quiere evitar el uso ilimitado.

Existen técnicas que intentan lograr este objetivo (con o sin hardware especial o soporte de sistema operativo), pero la mayoría de ellas han fallado tarde o temprano.

    
respondido por el Drunix 11.05.2017 - 13:16
fuente

Lea otras preguntas en las etiquetas