Usando el certificado de autofirma en internet

3

Básicamente, el propósito del certificado SSL es confiar en los demás. Si tengo una aplicación que solo unos pocos clientes que conozco pueden usar, ¿es suficiente generar autofirmas? ¿O realmente necesito firmar con un CA conocido como comodo? Es decir, generaré el certificado en mi servidor, luego lo distribuiré a mis clientes e instalarán el certificado en su navegador. ¿Sería esto todavía susceptible a MITM? gracias

    
pregunta Pang Ser Lark 15.12.2015 - 02:22
fuente

2 respuestas

3

Para la seguridad de un certificado, no importa si el certificado es autofirmado, firmado por alguna CA privada o firmado por una CA pública. Solo es importante que el usuario confíe explícitamente en este certificado específico o confíe en él de manera implícita al confiar en la CA que emitió el certificado.

Por lo tanto, es más seguro si distribuye su propio certificado a los usuarios de forma segura para que estos usuarios importen este certificado explícitamente como de confianza. Es solo que este tipo de sistema no se escala si tiene muchos usuarios y es por eso que tenemos el sistema actual de CA raíz pre-confiables dentro de los navegadores / SO.

Pero, tenga en cuenta que al distribuir su propio certificado autofirmado o su propia CA al cliente, podría hacer que el cliente sea más vulnerable contra los ataques de intermediarios. Si el certificado que importa como de confianza se puede usar para firmar (es decir, CA: true), entonces se puede usar para firmar certificados para cualquier otro sitio, es decir, es efectivamente una nueva CA raíz de confianza. Y debido a que se confiaba explícitamente, las medidas de seguridad típicas como la fijación de certificados están desactivadas para cualquier certificado firmado por esta CA. Por lo tanto, si alguien compromete su sistema donde se almacena la clave privada para este certificado, el atacante puede montar un atacante transparente en el medio contra todos los usuarios que confían en este certificado.

Por lo tanto, es mejor que no importe el certificado como de confianza en el almacén de certificados de los navegadores. Podría ser mejor en cambio conectar con el navegador a su sitio y anular la advertencia para hacer una excepción permanente, por supuesto, después de verificar la huella digital. Con esta excepción, el certificado no es de confianza global para el usuario, pero la confianza está limitada al sitio específico donde se usó el certificado. También es mejor que se asegure de que su certificado no pueda usarse como CA, es decir, no tiene CA: verdadero conjunto.

    
respondido por el Steffen Ullrich 15.12.2015 - 07:03
fuente
3

La diferencia entre CA autofirmada y pública es que los navegadores de clientes de terceros recibirán una advertencia de seguridad porque el certificado autofirmado no es confiable: no ha sido firmado por una autoridad de certificación conocida, por lo tanto, el certificado podría ser manipulado y / o la identidad del propietario no ha sido verificada.

Si genera un certificado con un cifrado seguro y longitud de clave > 2048, no sería vulnerable a MITM. Solo su identidad no puede ser probada, pero la integridad y privacidad de la comunicación HTTPS permanece.

Si tiene acceso a sus clientes, puede confiar en este certificado autofirmado para evitar el aviso de advertencia agregándolo a su repositorio de certificados de seguridad, ya sea:

  • almacén de claves Java
  • llavero de Apple
  • Complemento de certificados de Windows
  • Unix / etc / pki / ca-trust /
respondido por el Florian Bidabe 15.12.2015 - 04:32
fuente

Lea otras preguntas en las etiquetas