Certificados autofirmados en aplicaciones móviles y de escritorio, ¿son suficientes? [duplicar]

2

Quiero asegurar mi transferencia de datos mediante TLS entre mis propias aplicaciones de cliente de escritorio y móviles y mi servidor. En este momento no estoy interesado en las aplicaciones basadas en la web, por lo que no me importa que mi navegador piense que mi certificado autofirmado es dudoso y que muestre un mal mensaje en ese sentido, porque no hay un navegador para hacerlo. mis aplicaciones de cliente.

Me gustaría autofirmar mis certificados si es posible solo por conveniencia y costo, aunque sé que los certificados no son realmente tan caros.

Mi pregunta es, ¿para las aplicaciones basadas en clientes móviles y de escritorio, son suficientes los certificados autofirmados? ¿Son seguros?

    
pregunta Antinous 25.04.2018 - 11:29
fuente

2 respuestas

1

Para la seguridad de los datos, su clave es importante. Como la mayoría de las personas no saben que sus certificados de clave (pública) son una forma en que una instancia confiable puede verificar su clave y firmar un certificado "la clave pertenece al dominio X".

Para cuando no necesita una CA pública, es costoso o no está disponible por otras razones, tiene la opción de crear un certificado autofirmado que se firma con la propia clave. Los usuarios no tienen una forma directa de verificarlo, ya que no conocen la clave y no tienen ninguna indicación de si se trata de su certificado autofirmado o de un certificado falso.

Pero existe una forma de confiar en el certificado y esa es la validación a través de otra forma. Mire los detalles del certificado: hay una huella digital que puede compararse con la huella digital del certificado correcto. Si coinciden, todo está bien.

Cuando usa certificados autofirmados solo para usted, es fácil hacer esta verificación, ya que conoce ambos lados de la conexión. Cuando está escribiendo una aplicación, puede usar una huella digital codificada para verificar el certificado, que puede ser incluso más seguro que verificar contra una CA (porque solo necesita confiar en usted mismo).

Lo que pierdes es flexibilidad. Cuando desee cambiar la clave, deberá cambiar la huella digital del certificado en su aplicación. Al usar el sistema de CA, simplemente permite que una CA de su aplicación firme la nueva clave y la aplicación la aceptará.

Para responder a su pregunta: están a salvo siempre que los verifique de alguna otra forma que funcione sin una CA. Cuando desactivas la verificación de certificados, estás mucho menos seguro.

    
respondido por el allo 25.04.2018 - 11:40
fuente
1

TL; DR: Pueden ser seguros, si se usan correctamente.

Una cosa importante que incluso las compañías masivas se equivocaron terriblemente es que, en realidad, todavía necesitas verificar el certificado autofirmado contra alguna lista de raíces. Cualquiera puede hacer un certificado autofirmado. Debes incluir el tuyo en tu aplicación (codificarlo), para que pueda distinguirlo de los demás (la huella digital debería ser suficiente).

En segundo lugar, es probable que no desee utilizar su certificado raíz directamente. Firme otro certificado usando la raíz y use ese. Incluir vencimiento razonable (3 meses parece ideal). Mantenga su raíz fuera de línea, idealmente en algún token de hardware. Si necesita firmar certificados de forma rutinaria, cree un certificado de CA intermedio, para poder mantener la raíz fuera de línea.

Debería proporcionar una forma de revocar de forma segura sus certificados, incluidas las raíces de su aplicación que no sean las actualizaciones de la aplicación. Muchos usuarios no se actualizan regularmente, así que asegúrese de tener algún mecanismo independiente para obtener la lista de certificados revocados. Debe lanzar un error de seguridad si no puede verificar las revocaciones de certificados. Recuerde que no puede confiar en sus certificados para esto, ya que pueden estar comprometidos.

Si se revoca la raíz, es probable que desee mostrar un mensaje a los usuarios, diciendo que deben actualizarse.

    
respondido por el Peter Harmann 25.04.2018 - 11:40
fuente

Lea otras preguntas en las etiquetas