TLS - ¿Todavía se necesitan firmas?

-1

La historia:

Actualmente estoy escribiendo un servicio web que permite que las comunicaciones se realicen de forma remota a través de TCP / IP.

Primero pensé en firmar cada paquete con HMAC-SHA1 con una contraseña, adjuntar la firma al inicio del paquete y luego hacer que el servidor (que también conoce la contraseña) verifique el paquete enviado.

Sin embargo, esto significa que el servidor almacenaría las contraseñas tal como están (sin incluirlas), por lo que es muy peligroso de hecho para cualquier persona que obtenga acceso no autorizado a la base de datos. Además, cualquier información confidencial (como la nueva contraseña del paquete 'cambiar contraseña') puede ser secuestrada a través de un ataque de intermediario.

Luego leí sobre TLS / SSL y decidí usarlo para evitar ataques de intermediario.

The TL; DR:

¿Sigo necesitando firmar mis paquetes cuando lo envío por TLS? ¿O puedo simplemente enviar mis paquetes como están? Leí que no es una buena idea enviar contraseñas simples (o sus hashes) a través de las redes. Como tal, no estoy seguro de que con TLS, es mejor simplemente enviar las contraseñas al servidor para la autenticación, o firmar cada paquete con las contraseñas en lugar de enviarlas.

    
pregunta Yiyuan Lee 29.11.2014 - 17:19
fuente

2 respuestas

0

TLS proporciona tanto el cifrado y, en la medida en que puede confiar en el proceso de la autoridad de certificación, la integridad del origen. El propio TCP / IP proporciona integridad de mensajes en forma de sumas de comprobación y reconocimientos. Eso debería ser suficiente para la mayoría de las aplicaciones.

Me cubrí un poco acerca de las autoridades de certificación porque se han emitido certificados válidos pero no autorizados para los gustos de Google. Creo que el mayor riesgo es si algún actor estatal ( es decir, gobierno) quiere comprometer sus datos. Si está transmitiendo información financiera, también debe preocuparse por los delincuentes. Si tiene una aplicación particularmente sensible, puede buscar en fijación de certificados.

    
respondido por el Bob Brown 29.11.2014 - 18:52
fuente
0

¿Firmando o no?
No, no necesitas firmar tus paquetes. Los MAC de TLS se encargarán de eso por ti. Consulte: enlace

¿Contraseñas por cable?
Respecto a no querer enviar una contraseña a través del cable: es posible que desee buscar TLS autenticados mutuamente. Esto utiliza certificados / pares de claves en ambos extremos de la comunicación. Se explica aquí: enlace

    
respondido por el StackzOfZtuff 29.11.2014 - 18:55
fuente

Lea otras preguntas en las etiquetas