Modelo: transferencia masiva de datos de un servidor a otro, desearía evitar la fuga de información por parte de un atacante MITM
Solución: TLS o cualquier protocolo sobre TLS, como HTTPS, es una buena opción. Usted querrá asegurarse de que tiene la autenticación adecuada. El servidor debe autenticar al cliente y el cliente debe autenticar el servidor. Dos formas comunes de hacer esto: 1) Autenticación mutua TLS, 2) Autenticación de certificado de servidor TLS + Clave API dentro de los encabezados de los mensajes. Otra solución posible es el cifrado de flujo alternativo como SSH (scp o sftp) o IPSec VPN.
Modelo: mensajes de baja latencia o transmisiones multimedia, modelo de amenaza como se indica arriba
Solución: DTLS con Web Socket u otro protocolo diseñado para baja latencia como XMPP. La autenticación se refiere a lo anterior.h
Modelo: el servidor del remitente no necesariamente confía en el servidor del destinatario, querría poder probar mutuamente que un mensaje proviene del servidor del remitente y no ha sido manipulado por el destinatario
Solución: el remitente debe firmar criptográficamente los mensajes, por ejemplo, utilizando GPG. De forma alternativa, es posible que desee utilizar una cadena de merkle / cadena de bloque para probar la secuencia de mensajes. Es posible que desee utilizar el sello de tiempo de confianza también.
Modelo: desea tener cero confianza en terceros, como CA pública / comercial
Solución: ejecute su propia CA, use un certificado autofirmado. Ahora eres responsable de todo el proceso de verificación que normalmente haría una CA.
SSH puede ser más adecuado para este propósito, pero deberá realizar la validación de la huella digital de su servidor correctamente, de lo contrario, se expondrá a un primer ataque debido a TOFU .