error - Certificados de cliente OpenSSL vs certificados de servidor
trusted certificate openssl (2)
1) El artículo que vinculas es bueno :-). Para decirlo de otra manera: hay un campo en el certificado que dice para qué usos se le permite usar. Cuando crea / solicita un certificado, está solicitando un certificado para un uso particular y la CA lo firma sobre esa base.
Es más seguro usar diferentes certificados para diferentes propósitos y para garantizar que cada certificado solo pueda usarse para el propósito previsto. (O si quiere ser cínico, las AC le hacen comprar certificados de cliente y servidor por separado para que obtengan más ventas).
Por ejemplo, puede querer que su servidor web pueda identificarse a sí mismo como su empresa para fines de servicio, pero no desea que el mismo certificado pueda usarse para firmar conexiones salientes a otras empresas.
2) Usted es correcto.
Tengo algunas preguntas básicas sobre los certificados. Permítanme primero explicar mi comprensión sobre la autenticación SSL.
SSL / TLS tiene básicamente dos cosas principales,
- Autenticación: para asegurarnos de que nos estamos comunicando con la parte correcta en ambos extremos.
- Cifrado: cifre los datos reales transferidos entre ambos extremos.
Los certificados tienen la clave pública y alguna información adicional. La comunicación SSL entre el Cliente (por ejemplo, ''C'') y el Servidor (por ejemplo, ''S'') funciona así.
- C inicia la solicitud a S.
- S envía su clave pública a C.
- C verifica la identidad de S. (Verificación de identidad del servidor o autenticación del servidor)
- C envía su clave pública a S.
- S verifica la identidad de C. (verificación de identidad del cliente o autenticación del cliente)
- C genera una clave simétrica o de sesión (diga ''K'') y la cifra con una clave pública S y la envía al servidor.
- Ahora, tanto C como S tienen la clave simétrica compartida que se utilizará para cifrar los datos.
Aquí creo que los pasos 4 y 5 destinados a la autenticación del cliente son opcionales. Corrígeme si estoy equivocado.
Los pasos 1 a 5 implican un modo de cifrado asimétrico, es decir, solo para la ''Autenticación'' y, a continuación, un modo de cifrado simétrico para la transferencia real de datos entre ellos.
Mis preguntas son las siguientes,
He leído en este link (relacionado con el servidor IIS) que hay dos tipos de Certificados. Uno es el certificado del cliente y el otro es el certificado del servidor. Pensé que el del cliente que inicia la solicitud es el certificado del cliente y el otro el certificado del servidor. ¿Cuál es la diferencia entre el cliente y el certificado de servidor de OpenSSL? ¿Hay alguna diferencia en el nombre de CN en estos certificados y en OpenSSL?
Me pidieron usar certificados de cliente para la autenticación. ¿Significa que estamos pasando por alto la autenticación del servidor y usando solo certificados de cliente para la autenticación? No lo creo. Según mi entendimiento, la autenticación del cliente se debe realizar además de la autenticación del servidor. Corrígeme si estoy equivocado aquí.
Certificados de servidor:
Los Certificados de Servidor son la identidad de un Servidor que persiste durante el protocolo SSL.
Por lo general, son emitidos por un CA bien conocido por el cliente. La base sobre la cual se emite el certificado es la posesión de algún Identificador conocido públicamente de ese servidor, para el Servidor web es el Nombre de host del servidor, que se utiliza para acceder al servidor
Example:- http://blog.8zero2.in/
Certificados del servidor Propósito
claramente mencionado por el parámetro de extensión x509
Certificate Key usage
1. Signing
2. Key Encipherment
Firma : - Significa que la clave en el certificado puede usarse para probar la Identidad del servidor mencionado en el CN del certificado, es decir, la Autenticación de la entidad.
Clave de cifrado : significa que la clave en el certificado se puede usar para cifrar la clave de sesión (clave simétrica) derivada de la sesión
Certificado de cliente: -
Los certificados de clientes como su nombre indica se utilizan para identificar a un cliente o un usuario. Están destinados a autenticar el cliente en el servidor. El propósito de mantener un certificado de cliente varía. Puede representar la posesión de una dirección de correo electrónico o una dirección Mac, generalmente asignada al número de serie del certificado.
Certificados del cliente Propósito
claramente mencionado por el parámetro de extensión x509
Certificate Key usage
1. Signing