Criptografía asimétrica con una clave secreta única: descripción de la idea y posible aplicación


(para comprender lo que dice este artículo, es necesario y suficiente, al menos en términos generales, imaginar qué es la criptografía asimétrica y cómo funciona la firma electrónica)

Escenario para usar una clave secreta de un solo uso:

  1. Se crea un par de claves, que consta de una clave secreta (clave secreta, SK) y pública (clave pública, PK).
  2. Usando una clave secreta, se realizan varias operaciones. El primero de ellos, la creación de la clave pública, ya se ha completado en el primer paso.
  3. A primera vista, se realiza una acción antivirus: la clave secreta se destruye sin posibilidad de recuperación.

El uso de la clave pública restante para cifrar datos no tiene sentido (el descifrado en ausencia de una clave secreta se considera imposible), pero la clave pública se puede utilizar para verificar las firmas electrónicas creadas en el segundo paso.
Este enfoque se puede utilizar para el enlace de datos criptográficamente confiable. En este caso, la clave pública del par de claves original se convierte en un identificador de comunicación.

Una ventaja significativa es que el par de claves utilizado no puede verse comprometido sino por la fuerza bruta o mediante la explotación de la vulnerabilidad matemática del algoritmo utilizado. Si la clave secreta ya no existe, no puede ser robada, ni engañada, ni recuperada.

Ejemplo de uso


Tarea: en un sistema distribuido, los participantes se registran con los identificadores únicos creados por ellos. Se requiere para complicar al máximo la tarea de "secuestrar" el identificador de otra persona (robo de identidad). En caso de robo de identidad, brinde al verdadero propietario la oportunidad de devolver el robo.

Formas de resolver el problema sin utilizar la tecnología en cuestión:

  • "Opción cero". Confiar en la honestidad de los participantes en el proceso.
  • "Prohibición administrativa". Al registrarse, los participantes requieren un pasaporte. Prohibir legalmente el uso de identificadores de otras personas. Vincula el identificador al número de teléfono, usa la autorización multifactor. En caso de duda, nuevamente se requiere un pasaporte. Confiar en la honestidad e integridad de los inspectores autorizados. En casos de mal uso, multar y / o poner al culpable en la cárcel.
  • "La clave pública como identificador". En consecuencia, la clave secreta se utiliza como medio de autorización. En principio, una opción valiosa (en particular, se usa en criptomonedas), con la excepción de que cuando una clave secreta se pierde o se ve comprometida, el participante abandona irreversiblemente el juego.

La solución al problema utilizando claves privadas desechables:

  1. El participante crea un par de claves de identificación [SK 0 , PK 0 ]. La clave pública PK 0 (o su hash) se convierte en el identificador único del participante.
  2. El participante crea un conjunto adicional de pares de claves [SK 1 , PK 1 ], [SK 2 , PK 2 ] ... [SK n , PK n ], y la clave pública de cada uno de ellos se firma con la clave SK 0 .
  3. La clave SK 0 se destruye. Los pasos uno a tres se realizan como parte de un solo proceso sin escribir SK0 en la memoria no volátil.
  4. Para la autenticación, el participante utiliza uno de los pares de claves creados en el segundo paso (por ejemplo, [SK 1 , PK 1 ]), y el resto, si se crearon, está oculto en un lugar seguro.
  5. Si el par de claves utilizado se ve comprometido, su clave (en el ejemplo, PK 1 ) se coloca en la lista de comentarios, y una de las claves de repuesto se utiliza para la autenticación. O bien, se crea otra clave adicional que tiene una cadena de certificación que comienza con PK 0 (por ejemplo, PK 0 - PK 2 - PK n + 1 ).

Hablando específicamente sobre las criptomonedas, la solución al problema descrito aquí no tiene mucho sentido (con la ayuda de una clave robada, un atacante inmediatamente vacía la billetera), pero el tema de la "autenticación" está lejos de agotarse con el uso de las criptomonedas.
Para la conveniencia de una discusión adicional, se puede sugerir la siguiente notación para las claves utilizadas:
i-key : una clave de identificación. En este ejemplo, es PK 0 .
a-key - clave de autenticación En este ejemplo, esta es PK 1 o cualquier otra clave, firmada directa o indirectamente por i-key .
hc-key : una de las claves adicionales ocultas de forma segura (el atacante no conoce el hecho de su existencia ni su número), utilizada para restaurar el acceso en caso de compromiso de una clave .

Una pequeña nota sobre el uso de claves privadas desechables. Un esquema solo es funcional si el sujeto que creó el par de claves inicial no tiene la motivación para mantener una clave secreta para alguna necesidad en particular. Cuando se utiliza esta tecnología para la autenticación, todas las necesidades están completamente cubiertas por un conjunto de claves hc adicionales (por cierto, un acertijo para los presentes: ¿en qué consiste la abreviatura hc insinuando?). Guardar la clave original no trae ningún beneficio, pero crea una vulnerabilidad que hace posible el robo de identidad irreversible.


PD: Si la tecnología que se describe aquí es repentinamente original, existe el deseo de convertir esta publicación en un artículo en alguna publicación respetada en inglés. Para aquellos que pueden ayudar con esto, propongo la cooperación por una tarifa o por coautoría.

Source: https://habr.com/ru/post/es420095/


All Articles