OpenSSL, x509: ¿cuál es la forma correcta de autorizar la firma de imágenes?

3

A los efectos de crear una VPN, no puedo encontrar una explicación lógica del esquema de OpenSSL / x509. Estoy muy confundido acerca de estos tres términos,

  1. Autoridades de certificación
  2. certificados de puerta de enlace
  3. Certificados de punto final.

He leído tanto Openswan: Construyendo e integrando redes privadas virtuales , y Creación de redes privadas virtuales de Linux (VPNS) . En mi opinión, estos dos libros suponen una enorme cantidad de conocimiento que el programador promedio no tiene, es decir, cómo funciona el sistema x509 de OpenSSL. Entiendo los conceptos básicos del cifrado de la clave pública, enviar su clave pública, hacer que el destinatario cifre su mensaje para usted, que solo puede ser descifrado con su clave privada. También he leído las otras respuestas aquí, así que permítame especificar mis áreas de confusión.

¿Debería pensar en OpenSSL Certs como,

  

Autoridad de certificados → Certificado de pasarela → Certificado de punto final

O,

  

Autoridad de certificados → Certificado de pasarela

     

Autoridad de certificación → Certificado de punto final

Todo se reduce a esto,

  

¿La CA autofirmada firma el certificado de pasarela que firma los certificados de punto final (cliente)? O, ¿el CA firma todos los certificados directamente? ¿El Gateway Cert tiene alguna relación directa con el cliente-cert o es solo un elemento de configuración en la VPN?

    
pregunta Evan Carroll 04.08.2013 - 01:30
fuente

2 respuestas

4

En los certificados X.509 , hay Autoridades de certificación y Entidades finales . Una CA es un sistema / organización que posee un par de claves pública / privada y lo utiliza para emitir certificados , es decir, firmarlos. Un certificado vincula una identidad a una clave pública, y el trabajo de la CA es hacer valer dichos enlaces. Utiliza la clave pública de una CA para verificar la firma en un certificado. La clave pública de una CA puede, a su vez, vincularse al nombre de la CA en virtud de que se almacena en un certificado, firmado por una super-CA. Este proceso es recursivo, por lo que terminará, en la práctica, con cadenas de certificados comenzando con una "CA máxima" (normalmente llamada "CA raíz" o "ancla de confianza") en la que confía ex nihilo (está codificado en el software o en sus archivos de configuración), luego varios certificados, cada uno con la clave pública utilizada para verificar la firma en el siguiente. Todos los certificados de la cadena son necesariamente certificados de CA, excepto posiblemente el último.

El último certificado de la cadena se llama "entidad final" porque designa un sistema / organización que no está en el negocio de emitir certificados, sino que es "otra cosa", por ejemplo, un servidor VPN. Dado que la clave de entidad final no se usa para firmar otros certificados, el certificado de entidad final necesariamente aparece el último en la cadena, de ahí su nombre.

En una VPN , hay puntos finales y puertas de acceso . Un gateway es una máquina que acepta conexiones de otros sistemas (puntos finales y otros gateways) y reenvía el tráfico en nombre del sistema conectado. Un punto final no se complace en el reenvío; sólo ve su propio tráfico entrante y saliente. La documentación de StrongSwan comienza con un diagrama bastante autoexplicativo. Los puntos finales son servidores de aplicaciones y computadoras de escritorio, mientras que las puertas de enlace son elementos estructurales que enrutan datos.

Las puertas de enlace (y, posiblemente, algunos puntos finales) necesitan pares de claves privadas / públicas, y los otros sistemas deben poder verificar que una clave pública determinada es de hecho propiedad de una puerta de enlace o punto final específicos. Esto requiere PKI y certificados. Todos estos pares de claves de acceso y privada / pública se usan para "hacer VPN", ciertamente no para emitir certificados para otras personas, por lo que son todas entidades finales, en lo que respecta a X.509.

La certificación y la estructura VPN son ortogonales. Los certificados se utilizan para establecer enlaces entre nombres y claves públicas. No es necesario que una CA esté ubicada en un servidor que también sea un enrutador o puerta de enlace; en realidad, no es necesario que una CA esté en línea en absoluto. Además, no es necesario que una puerta de enlace actúe como una CA: la puerta de enlace está destinada a reenviar el tráfico de red, no a hacer declaraciones sobre la identidad de otros sistemas. Usted puede combinar ambos roles y hacer que una pasarela también sea una CA, pero esto es muy artificial, no es necesario de ninguna manera y aumentará la confusión.

    
respondido por el Thomas Pornin 04.08.2013 - 21:45
fuente
3

La estructura PKI no es fija; Usted puede hacer lo que se ajuste a sus necesidades particulares. Pero, por lo general, cada cliente se envía con una única raíz de confianza, ya sea un certificado propio del host de VPN o un certificado que lo firmó.

Los certificados de cliente también suelen estar firmados por una sola raíz de confianza, que los califica como certificados autorizados.

Pero esta no es una regla dura y rápida. Cada instalación es libre de configurar las cosas como elijan.

    
respondido por el tylerl 04.08.2013 - 07:01
fuente

Lea otras preguntas en las etiquetas