¿Cuál es el significado del término “MAC ad-hoc” (Código de autenticación de mensaje)?

4

En la literatura sobre SSL, he notado el uso del término "MAC ad-hoc". Entiendo el significado de MAC ( Código de autenticación de mensaje ) y cómo funciona, pero ¿qué significa el término MAC Ad-hoc ?

Nota: con MAC, me refiero a Código de autenticación de mensajes (como se usa en SSLv3), no Control de acceso a los medios !

    
pregunta melostap 07.05.2014 - 10:44
fuente

2 respuestas

1

Ad hoc simplemente significa:

  

Ad hoc es una frase latina que significa "para esto". Por lo general, significa una solución diseñada para un problema o tarea específica, no generalizable y que no está diseñada para poder adaptarse a otros propósitos.

En seguridad, el uso de protocolos ad-hoc suele ser algo malo. Hay (ahora) protocolos MAC bien analizados y bien definidos; por ejemplo, HMAC (MAC basado en hash) definido como: HMAC(k, m) = H((k ^ opad) + H((k ^ ipad) ++ m)) , donde H es una función hash (por ejemplo, SHA128), opad es una constante hexadecimal larga bloque 5c5c5c...5c , ipad es un 363636...36 , k es la clave secreta compartida (utilizada para generar y validar el MAC), ^ es XOR, + es concatenación.

En SSLv3, el MAC descrito en la sección 5.2.3.1 a primera vista parece un HMAC:

The MAC is generated as:

    hash(MAC_write_secret + pad_2 +
         hash(MAC_write_secret + pad_1 + seq_num +
              SSLCompressed.type + SSLCompressed.length +
              SSLCompressed.fragment));

 where "+" denotes concatenation.

 pad_1:  The character 0x36 repeated 48 times for MD5 or 40 times for SHA.
 pad_2:  The character 0x5c repeated 48 times for MD5 or 40 times for SHA.

pero la nota XOR nunca se usa, es siempre una concatenación. Tenga en cuenta que es H(k + opad + H(k + ipad + m)) . Además, el secreto de escritura MAC k es simplemente MD5(master_secret + SHA('A' + master_secret + ServerHello.random + ClientHello.random)) en el caso de que MD5 sea el hash. Es muy posible que estas construcciones no estándar filtren información a atacantes muy poderosos.

Para citar este documento (Diferencias entre SSLv2, SSLv3 y TLS (PDF) ):

  

Uso ad hoc de los códigos de autenticación de mensajes : hay construcciones de MAC que no han sido objeto de análisis, como HMAC. Wagner y Schneier no tienen ninguna objeción específica a ellos, pero el punto es válido: es mejor usar algo que haya resistido una buena cantidad de análisis que algo que no, especialmente en sistemas de campo.

Por supuesto, volviendo a documento de Wagner y Schneier (PDF) , parece que SSLv3 solo está usando una versión antigua de HMAC que estaba obsoleta en 1996:

  

SSL protege la integridad de los datos de la aplicación mediante el uso de un MAC criptográfico. Los diseñadores de SSL han optado por utilizar HMAC, una construcción simple y rápida basada en hash con cierta evidencia teórica sólida para su seguridad [BCK96]. En un área donde se han analizado criptográficamente varias propuestas iniciales ad-hoc para MAC, estos resultados de seguridad demostrables son muy atractivos. HMAC se está convirtiendo rápidamente en el estándar de oro para la autenticación de mensajes, y es una excelente opción para SSL. A menos que se produzcan avances criptoanalíticos inesperados, parece improbable que la HMAC se rompa en un futuro próximo.

     

Señalamos que SSL 3.0 usa una versión más antigua y obsoleta de la construcción HMAC. SSL debe pasar al formato HMAC actual actualizado cuando sea conveniente para la máxima seguridad.

    
respondido por el dr jimbob 07.05.2014 - 16:01
fuente
3

Ad-Hoc La comunicación es el proceso mediante el cual los Nodos (Máquinas) participantes pueden transferir datos entre ellos directamente sin un servidor centralizado. MAC puede referirse a Control de acceso mediano

MAC El código es un código de identificación único asignado a los dispositivos que se comunican en modo ad hoc para identificarse entre sí.
MAC también puede referirse al Código de autenticación de mensajes que se usa para autenticar mensajes, así como para preservar la integridad. El hash y el cifrado se utilizan para lograr esto.

Por lo tanto, Adhoc MAC significa el código utilizado para autenticar mensajes entre nodos en una red Adhoc.

    
respondido por el techno 07.05.2014 - 12:02
fuente

Lea otras preguntas en las etiquetas