Criptografía sin certificado


La criptografía sin certificado es una variante de la criptografía basada en ID destinada a evitar el problema de la custodia de claves . Por lo general, las claves son generadas por una autoridad certificadora o un centro de generación de claves (KGC) a quien se le otorga el poder completo y se confía implícitamente. Para evitar una avería completa del sistema en el caso de un KGC comprometido, la generación de clavesEl proceso se divide entre el KGC y el usuario. El KGC primero genera un par de claves, donde la clave privada es ahora la clave privada parcial del sistema. El resto de la clave es un valor aleatorio generado por el usuario y nunca se revela a nadie, ni siquiera al KGC. Todas las operaciones criptográficas por parte del usuario se realizan utilizando una clave privada completa que involucra tanto la clave parcial del KGC como el valor secreto aleatorio del usuario.

Una desventaja de esto es que la información de identidad ya no forma la clave pública completa. Es decir, la clave pública del usuario no se puede descubrir solo a partir de la cadena de identidad del usuario y la clave pública de KGC. Por lo tanto, la clave pública del usuario debe ser publicada u obtenida de otro modo por otros usuarios. Una ventaja del sistema es que es posible verificar que cualquier clave pública obtenida pertenezca a la cadena de identidad indicada. (En otras palabras, el método de distribución de la clave pública del usuario no tiene que ser seguro). La cadena de identidad y la clave pública de KGC se pueden usar para verificar que la clave pública obtenida pertenece a la cadena de identidad. (Se puede verificar que la clave pública obtenida se generó a partir de la cadena de identidad, la clave privada del KGC y algún valor desconocido).Tenga en cuenta que se pueden generar múltiples pares de claves públicas / privadas para cualquier cadena de identidad, pero los atacantes no tendrían acceso a la clave privada de KGC en el proceso de creación.

Para cifrar un mensaje a otro usuario, se necesitan tres piezas de información: 1) la clave pública del destinatario y 2) la cadena de identidad, y también 3) la información pública de KGC (clave pública). La cadena de identidad y la clave pública de KGC se utilizan para verificar que la clave pública del destinatario pertenece al destinatario (se generó a partir de la cadena de identidad y la clave pública de KGC). Para descifrar, un usuario solo necesita usar su clave privada.

Para una seguridad estricta, un sistema sin certificado debe demostrar su seguridad contra dos tipos de adversarios. Adversario de tipo 1: se refiere a cualquier tercero que pueda falsificar las claves públicas del usuario, lo que corresponde a la obtención del valor secreto aleatorio del usuario. Adversario tipo 2: se refiere a un KGC comprometido o malicioso, que tiene acceso a las claves públicas y privadas parciales de todos los usuarios.