¿Por qué el primer certificado tiene una clave pública RSA en x.509?

2

Ejemplo de enlace

1st certficate - freesoft

2º - CA thawte

¿No utilizamos la clave pública RSA del segundo certificado para verificar el MD5 del primer certificado?

Si es así, ¿cuál es el uso de un público de RSA en la primera?

    
pregunta zcqwevb 19.04.2012 - 07:27
fuente

3 respuestas

4

La clave pública contenida en un certificado se puede utilizar de dos maneras:

  • Se utiliza para descifrar algo que se ha cifrado con la clave privada correspondiente (generalmente para verificar una firma)
  • Se utiliza para cifrar algo que se podrá "descifrar" solo con la clave privada correspondiente

Hay un gran número de certificados en la Web, por lo que para confiar en ellos utilizamos "Autoridades de Certificación" de terceros. Tiene una lista de certificados CA confiables incorporados en su navegador. El objetivo principal de estos certificados es firmar otros certificados, para demostrar que son válidos (si alguien de su confianza le dice que otra persona es confiable, usted confía en esa otra persona, esa es la lógica de todos modos).

Es por eso que usamos la clave pública del segundo certificado en su ejemplo para verificar la firma del primer certificado. Pero luego utilizará este certificado para algo (cifrado, firma, etc.), y es cuando necesitará la clave pública del certificado.

    
respondido por el Gael Muller 19.04.2012 - 12:39
fuente
2

En criptografía asimétrica:

  • La clave privada se usa para firmar y descifrar / descifrar .
  • La clave pública se utiliza para verificar firmas y cifrar / encriptar .

Consulte el glosario de la especificación TLS :

  

criptografía de clave pública : una clase de técnicas criptográficas que emplean cifrados de dos claves. Los mensajes cifrados con la clave pública pueden   Solo se descifra con la clave privada asociada. A la inversa,   Los mensajes firmados con la clave privada se pueden verificar con el público.   llave.

En su ejemplo, sí utiliza la clave pública del segundo certificado (un certificado de CA) para verificar la firma del primer certificado (un certificado de entidad final).

Sin embargo, este paso solo establece la confianza en el propio certificado. La forma en que vaya a utilizar la clave pública de ese EEC dependerá de para qué se use.

Cuando el servidor presenta el certificado en SSL / TLS, la clave pública se usará como parte del protocolo de enlace, para probar que el servidor remoto tiene realmente la clave privada para el certificado que está usando. Si se usa para cifrar o verificar una firma depende de los detalles del conjunto de cifrado utilizado durante esta conexión, más específicamente, depende de si RSA o intercambio de clave Diffie-Helman (autenticado) .

Un punto clave del protocolo de enlace TLS es establecer un secreto pre-maestro compartido entre el cliente y el servidor. Cuando se utiliza el intercambio de claves RSA, el cliente cifra el pre-master-secret y lo envía al servidor (quien es el único capaz de descifrarlo). Cuando se usa DH, el cliente verifica la firma de los parámetros temporales enviados por el servidor durante el intercambio de DH: el resultado final también es un secreto anterior al maestro compartido. Sin embargo, el resultado final es el mismo. Si realmente quiere comprender la diferencia entre estos dos enfoques, probablemente tendrá que leer la especificación de TLS en detalles.

Otros protocolos y aplicaciones pueden hacer uso del certificado X.509 (por ejemplo, firma / cifrado de correo electrónico con S / MIME). La clave pública en el certificado siempre se usará para uno de:

  • cifrar un dato que solo puede ser descifrado por la entidad identificada por este certificado (es decir, el titular legítimo de la clave privada correspondiente).
  • verificar que un dato fue firmado por esta entidad.

Los detalles de qué es esa pieza de datos y cómo se utilizan variarán dependiendo del protocolo y la aplicación.

    
respondido por el Bruno 19.04.2012 - 14:42
fuente
0

En este ejemplo particular, se desconoce el uso del certificado de FreeSoft y el par de claves. Se presumiblemente, se usará para algo, pero el ejemplo y el certificado no aclaran lo que ese "algo" podría ser.

El certificado de FreeSoft es un certificado de entidad final, ya que el uso de la clave NO incluye la extensión que lo marcaría como una autoridad de certificación. Por lo tanto, el par de claves ayudará, de alguna manera, al titular de la clave (FreeSoft) a realizar algún tipo de tarea, generalmente:

  • firma: prueba de que proviene del titular de la clave y no ha sido manipulada

  • cifrado: protección que garantiza que los datos enviados al titular de la clave no se manipularán ni se verán en tránsito

  • autenticación: prueba de que el titular de la clave es quien dice ser porque posee una clave privada que no se comparte en ninguna parte

O una amplia variedad de permutaciones más sutiles de esto.

Pero, en este ejemplo, es imposible decir qué, exactamente.

En la práctica, me costaría mucho saber qué hacer con este certificado, tendría que hacerlo de nuevo para que sea útil, ya que la mayoría de las aplicaciones estándar requieren algún tipo de uso clave. descrito en el certificado. Como se muestra, este certificado NO tiene uso de claves, por lo que es bastante inútil.

Creo que en este caso, encaja en el defecto de ser un ejemplo para un punto específico (búsqueda de certificados) con poca reflexión en su totalidad.

    
respondido por el bethlakshmi 19.04.2012 - 17:13
fuente

Lea otras preguntas en las etiquetas