El cifrado basado en ID o cifrado basado en identidad es un criptosistema asimétrico en el que la clave pública se calcula en función de cierta información única sobre la identidad del usuario ( datos de identificación ). Dicha información puede ser un nombre de usuario, una dirección de correo electrónico, un número de teléfono de contacto o cualquier otro dato.
Además, también se utilizan otros nombres para este criptosistema: IBE, encriptación basada en identidad, encriptación personal .
En 1984, Adi Shamir planteó la idea de crear un criptosistema de clave pública basado en datos de identificación [1] . En su trabajo, Adi Shamir no dio una descripción completa del sistema, pero desarrolló una firma basada en información de identidad y una infraestructura de clave pública basada en una dirección de correo electrónico.
Las primeras implementaciones prácticas fueron presentadas en 2001 por Clifford Cox - esquema Cocks IBE [2] , y por Dan Bonet y Matthew K. Franklin - esquema Boneh–Franklin [3] .
El cifrado privado permite que cualquier parte genere una clave pública a partir de la identidad de cualquier usuario, intercambie mensajes de forma segura, verifique firmas sin intercambiar claves. El esquema asume la presencia de un centro confiable para generar claves privadas: una tercera parte confiable llamada Generador de claves privadas (PKG), cuyo propósito es proporcionar a cada nuevo usuario una tarjeta inteligente personal. La tarjeta consta de un microprocesador, puerto I/O, RAM, ROM con la clave privada del usuario, así como programas de cifrado, descifrado, firma de mensajes y verificación de firma. Las tarjetas inteligentes emitidas anteriormente no necesitan actualizarse cuando se agregan nuevos usuarios al sistema. El esquema se puede utilizar con éxito para un círculo cerrado de usuarios: una empresa internacional, un gran banco, etc., ya que la sede de dicha organización puede organizar y administrar un PKG de confianza para este grupo de usuarios [1] .
El esquema de cifrado basado en la identidad se basa en el sistema criptográfico de clave pública con algunas modificaciones. La diferencia con IBE es que en lugar de generar un par aleatorio de claves privadas y públicas y publicar la clave pública correspondiente, el usuario elige como clave pública su nombre, correo u otros datos de identificación conocidos que pueden asociarse de forma única a este usuario. . La clave privada correspondiente se calcula utilizando PKG y se entrega al usuario en forma de tarjeta inteligente, descrita anteriormente [1] .
El proceso de establecimiento de un canal de comunicación IBE seguro se puede describir de la siguiente manera:
El usuario A firma un mensaje usando su clave privada en su tarjeta inteligente personal, cifra el resultado usando la identidad del destinatario y envía el mensaje al destinatario, el usuario B. Después de recibir el mensaje, el usuario B lo descifra usando la clave privada en su tarjeta personal. tarjeta inteligente, verifica la firma del remitente utilizando sus datos de identificación.
Es importante tener en cuenta que las claves privadas solo deben ser calculadas por el servidor PKG para garantizar una mensajería segura.
El funcionamiento del algoritmo se puede visualizar de la siguiente manera:
La seguridad general de un criptosistema dado depende de:
Las diferencias entre los esquemas de cifrado de clave privada, clave pública y personal se ilustran en la Figura 2. En todos los esquemas, un mensaje se cifra con clave , se transmite a través de un canal público como texto cifrado y se descifra con clave . Las claves se generan utilizando un parámetro aleatorio . En el esquema de clave privada , las claves de cifrado y descifrado de clave pública se generan utilizando un parámetro aleatorio a través de dos funciones diferentes y . Un principio diferente radica en el esquema de cifrado basado en la identidad: la identidad del usuario actúa como clave de cifrado , la clave de descifrado se genera utilizando algún ID de usuario y un parámetro aleatorio a través de la función [1] .
El esquema de firma en un criptosistema de clave pública es diferente al de un criptosistema de clave privada. La diferencia entre estos esquemas de firma se puede ver en la Figura 3.
En 1984, Adi Shamir propuso una implementación específica solo para el esquema de firma de mensajes, sugirió la existencia de implementaciones del propio criptosistema y también animó a la comunidad a buscarlas y estudiarlas.
El esquema de firma se basa en verificar la siguiente condición: , donde está el mensaje, es la firma, es la identidad del usuario, es el producto de dos números primos grandes, es un número primo grande que es relativamente primo a [1] .
Los parámetros y la función seleccionados en el lado PKG son los mismos para todos los usuarios. La descripción algorítmica de la función se almacena para cada usuario en una tarjeta inteligente individual. Los valores de estos parámetros pueden ser públicos, pero la factorización prima solo debe almacenarse en el servidor PKG. Puede distinguir a un usuario de otro solo en base a su identificador . La única clave privada correspondiente a no es otra que: . Esta clave se puede calcular simplemente en el servidor PKG, pero nadie más puede calcular [1] .
Cada mensaje tiene una gran cantidad de firmas posibles y, en este caso, el algoritmo de selección aleatoria de pares es ineficiente. Cualquier intento de fijar un valor aleatorio para una variable de un par y resolver una expresión para la otra variable no fija requerirá factorización , que es un problema computacional difícil en este momento. Sin embargo, si el valor se conoce con certeza, pero no se conoce la descomposición, entonces hay una manera fácil de generar cualquier número de firmas para cualquier mensaje [1] .
Para firmar un mensaje , el usuario debe elegir un número aleatorio y calcular: . La condición anterior se puede reescribir como: . Como es coprimo con , el factor común se puede excluir del exponente. En resumen: se puede calcular sin evaluar [1] .
Actualmente, los esquemas de cifrado basados en identidad se basan en emparejamientos bilineales (Weyl y Tate) y curvas elípticas . Dan Boneh y Matthew K. Franklin desarrollaron el primero de estos esquemas en 2001, el esquema Boneh-Franklin [3] . Realiza el cifrado probabilístico de un mensaje de longitud arbitraria similar al esquema de ElGamal [3] .
Clifford Cox propuso un enfoque diferente para el cifrado en 2001: el esquema Cocks IBE . Este criptosistema utiliza residuos cuadráticos módulo un gran número, cifra los mensajes un bit a la vez y aumenta la longitud del texto cifrado en comparación con el mensaje inicial [2] .
En la práctica, se utilizan los siguientes criptosistemas basados en datos de identificación:
En 2010, Xu An Wang y Xiaoyuan Yang realizaron un estudio sobre la solidez de dos esquemas de cifrado basados en identidad jerárquica, que implican el uso de varios servidores PKG de diferentes "niveles" para generar claves de usuario. Los investigadores llevaron a cabo un ataque utilizando una clave privada seleccionada al azar del primer "nivel", obteniendo la clave privada necesaria para el usuario víctima objetivo. La clave privada resultante permitirá descifrar cualquier mensaje cifrado del usuario víctima [6] .
En 2014, Jyh-Haw Yeh investigó el esquema Boneh-Franklin y concluyó que los autores de este criptosistema solo indican el uso de una función hash criptográfica , pero no ofrecen implementaciones específicas de esta función hash. Jyh-Haw Yeh en su trabajo desarrolló y propuso para su uso una función hash criptográfica que satisface los siguientes requisitos [7] :
Además, Jyh-Haw Yeh, al desarrollar una función hash criptográfica, complementó la lista de requisitos con lo siguiente [7] :
En otras palabras, esta propiedad adicional requiere la complejidad de calcular el coeficiente para preimágenes arbitrarias en la relación o en , donde es la función hash. Es importante señalar que sin la introducción de una propiedad adicional, el trabajo de Jyh-Haw Yeh habría sido un estudio de la fuerza criptográfica del esquema Boneh-Franklin [7] .
Funciones hash | |
---|---|
propósito general | |
Criptográfico | |
Funciones de generación de claves | |
Número de cheque ( comparación ) | |
Hachís |
|