¿Cuál es el mejor protocolo para la comunicación cliente-servidor? TLS o IPsec? Tengo un canal público donde los usuarios se comunican entre sí mediante un certificado digital como X.509.
Depende de su caso de uso, lo que no queda realmente claro en su pregunta.
¿Cuál es el mejor protocolo para la comunicación cliente-servidor?
Si solo se preocupa por proteger la transferencia de datos entre dos aplicaciones (es decir, un escenario típico de cliente y servidor) SSL / TLS como el que se usa en los navegadores es probablemente mejor porque solo se necesitan cambios en las aplicaciones.
Por otra parte, IPSec es más adecuado para conectar redes entre sí, es decir, VPN. En este caso, no solo es necesario asegurar el tráfico entre dos aplicaciones, sino también cada tráfico entre dos computadoras, independientemente de la aplicación. Esto requiere cambios más profundos en los sistemas que generalmente requieren derechos administrativos y, por lo tanto, son demasiado complejos si solo quiere que dos aplicaciones se comuniquen de forma segura entre sí. También puede utilizar soluciones de VPN basadas en SSL en lugar de IPSec para crear una VPN entre varios sistemas y es más una cuestión de usabilidad y coexistencia con otras tecnologías (como cortafuegos o NAT) si elige IPSec o SSL VPN si necesita un nivel de red. En lugar de conectividad segura a nivel de aplicación. Ambos ofrecen seguridad adecuada si se configuran correctamente.
De: enlace
L2TP / IPsec es una buena opción si OpenVPN no es compatible con su dispositivo y la seguridad es la máxima prioridad. OpenVPN es el protocolo recomendado para equipos de escritorio que incluyen Windows, Mac OS X y Linux.
Verifique ese enlace, hay más información allí.
Lea otras preguntas en las etiquetas tls certificates server ipsec client