¿Qué son los certificados implícitos y explícitos en la criptografía de clave pública?

5

Una clave pública está certificada por una autoridad de certificación confiable, para garantizar la integridad de la clave y la autenticidad de la entidad que afirma tener la clave privada correspondiente.

En estos certificados de clave pública, ¿qué son los certificados implícitos y explícitos?

    
pregunta user0x0 06.05.2014 - 16:51
fuente

2 respuestas

5

Un certificado establece un enlace entre una identidad y una clave pública; el enlace está "garantizado" por una Autoridad de Certificación con algún tipo de firma digital u otro enlace criptográfico similar.

La página de Wikipedia en "certificados implícitos" (señalado por @Clayton) describe un concepto donde el algoritmo de clave pública es tal que la clave pública, el nombre del propietario de la clave y la firma de la AC se combinan de alguna manera en un único elemento ligero. Este concepto parece haber surgido del algoritmo ECQV, y el "certificado implícito" se acuñó como un argumento de venta para ese algoritmo. De hecho, puede encontrar la descripción (ligeramente comercializada) en Certicom . Parece estar (posiblemente) sujeto a una gran cantidad de patentes (por ejemplo, esta ).

Aunque el concepto es genérico, solo conozco una implementación real, que es ECQV. No está estandarizado e implementado todavía .

En ECQV, la mecánica del algoritmo permite almacenar en un solo elemento tanto la clave pública como el tipo de firma de la AC, mientras que el elemento no es mayor que la clave pública solo. Un sistema que intenta utilizar el certificado implícito para un usuario determinado necesita tres elementos:

  • la supuesta identidad del propietario de la clave;
  • el certificado implícito para ese propietario;
  • la clave pública de CA;

y el algoritmo ECQV toma los tres elementos para generar la clave pública del usuario. Esto es implícito porque aún no se sabe si realmente existe el certificado; es decir, dado un certificado implícito C y la clave pública de CA P , el algoritmo ECQV dice: si el certificado C es propiedad del usuario U , luego la clave pública de U es K . Todo lo "implícito" reside en el "si".

Un concepto más o menos similar, pero más extremo, es criptografía basada en identidad . En el cifrado basado en ID, se arrojan más matemáticas al problema (emparejamientos en curvas elípticas ...) para lograr un resultado aún mejor: la eliminación del certificado. El certificado es tan implícito que ya no necesita existir. Con la criptografía basada en ID, la identidad del usuario es su clave pública. El cifrado basado en ID es "mejor" que los certificados implícitos porque permite el uso de claves públicas de la nada. Considere, por ejemplo, el problema de enviar un correo electrónico cifrado a alguien (llamémosle Bob):

  • Con los certificados clásicos (diga "explícito"), primero debes obtener el certificado de Bob. P.ej. Bob te lo envía (tradicionalmente con un correo electrónico firmado) o tu software lo encuentra en algún directorio.
  • Con los certificados implícitos, aún tienes que obtener el certificado de Bob. Es más corto, por lo tanto "más eficiente", pero lo necesita.
  • Con el cifrado basado en ID, no necesita el certificado de Bob. Ya lo tienes: es el nombre de Bob, es decir, "Bob". Esto es suficiente para que pueda cifrar y enviar el correo electrónico.

Me parece que el concepto de certificado implícito, es decir, ECQV, tiene problemas para encontrar alguna cuota de mercado; se comprime entre los certificados "normales", sobre los cuales ECQV solo ofrece una ventaja de rendimiento percibida (que, más a menudo, no tiene ninguna relevancia) y la criptografía basada en ID, que ofrece algunas ventajas realmente estructurales.

(Se ha informado que Certicom y otros propietarios de patentes aún logran impulsar sus algoritmos en algunos comités de estandarización a través de un intenso cabildeo. Sin embargo, no he presenciado estas cosas).

    
respondido por el Thomas Pornin 23.06.2014 - 22:20
fuente
3

Certificados explícitos

La mayoría de los sistemas PKI utilizan Certificados Explícitos . Es decir,

  Los certificados

explícitos convencionales se componen de tres partes: datos de identificación , una clave pública y una firma digital que enlaza la clave pública a los datos de identificación (ID) del usuario. El certificado digital es creado por un tercero de confianza y su firma puede ser verificada independientemente por cualquier persona en la red. La clave pública, la identificación y la firma digital son elementos de datos distintos que conforman el tamaño físico del certificado. "Certificado implícito", Wiki {énfasis mío}

Se dice que el certificado es explícito porque contiene la firma digital de la Autoridad de Certificación (CA) que vincula la clave pública a los datos de identificación de ( ID) . Cuando se valida la firma de un certificado explícito, sabemos que la persona descrita por ID tendrá la clave privada correspondiente y que será la ÚNICA persona que tener esa clave privada.

Certificados implícitos

En PKI, certificados implícitos es un sistema alternativo que ocupa mucho menos espacio (y, por lo tanto, es útil en entornos restringidos). Todavía se componen de los 3 elementos principales / partes (ID, clave pública, firma digital). Sin embargo, estas partes se comprimen en el mismo espacio que la clave pública sola (Wiki usa la frase super impuesta ). Esta traducción / compresión matemática introduce algunas responsabilidades y tiene estas características únicas:

  1. No hay una validación explícita de la CA
  2. La clave pública se calcula a partir del certificado implícito
  3. No podemos saber de inmediato si la clave pública es válida o incluso si tiene una clave privada correspondiente
respondido por el Clayton SFPC 24.05.2014 - 21:16
fuente

Lea otras preguntas en las etiquetas