Mientras leía el manual de OpenVPN 2.3, encontré la opción --auth alg
. El manual dice:
Autentique los paquetes con HMAC usando el algoritmo de resumen de mensajes
alg
. (El valor predeterminado es SHA1). HMAC es un algoritmo de autenticación de mensajes (MAC) comúnmente utilizado que utiliza una cadena de datos, un algoritmo hash seguro y una clave para producir una firma digital.
Por lo que entiendo, HMAC es solo una forma preferida de hacer un MAC a partir de una función hash, mientras que potencialmente evita las propiedades de extensión de longitud de algunas funciones hash.
Por lo tanto, el algoritmo especificado en la opción --auth
debería ser una función hash.
Ahora, si hago openvpn --show-digests
para saber qué algoritmos puedo usar con la opción --auth
, también obtuve entradas como:
RSA-SHA, DSA-SHA, ECDSA-WITH-SHA1... etc.
Estos son los algoritmos de firma digital, ¿por qué se supone que se deben utilizar en el HMAC? Para obtener una especie de "doble autenticación"? ¿No es un poco excesivo?
¿O significa en este caso que el HMAC se reemplaza realmente por una firma digital para lograr una autentica autenticación? Si este es el caso, ¿qué es mejor usar en términos de seguridad?