cuál es la diferencia entre un mac y una firma digital

11

Entiendo que un algoritmo de MAC toma un mensaje y una clave privada como entrada y los convierte en un valor. Entiendo que los remitentes y los receptores a menudo usan MAC para autenticar un mensaje y verificar la integridad de un mensaje. Si un remitente / receptor calcula con éxito el mismo mac, entonces (1) el receptor tiene la seguridad de que el remitente tiene la clave secreta (2) el receptor tiene la seguridad de que el mensaje no se alteró en el envío (porque de lo contrario generaría una nueva valor mac). También entiendo que las firmas digitales son de alguna manera diferentes de las MAC. Pero parece que ambos verifican el remitente y la autenticidad del mensaje. Si tiene una configuración de esquema MAC exitosa, sabe que el mensaje (1) proviene de una persona con la clave (autenticación de manejo) y (2) no ha sido manipulado (manipulación indebida). Entonces, ¿qué hacen las firmas digitales que los MAC no? ¿Cuál es la diferencia?

    
pregunta bernie2436 06.03.2013 - 17:45
fuente

2 respuestas

13

En MAC y Esquemas de firma digital , tiene dos algoritmos:

  • Generación : dado el mensaje m y una clave K1 , calcule el valor MAC o la firma s .
  • Verificación : dado el mensaje m , una clave K2 y el valor o la firma MAC s , verifique que se correspondan entre sí (el valor o la firma de MAC son válidos para el mensaje m , usando la clave de verificación K2 )

Con un MAC, las teclas K1 y K2 son idénticas (o se pueden volver a calcular de forma trivial desde El uno al otro). Con una firma, la clave de verificación K2 está vinculada matemáticamente con K1 pero no es idéntica, y es no es factible volver a calcular K1 de K2 o generar firmas válidas cuando solo sepa K < sub> 2 .

Así, las firmas disocian los poderes de generación y verificación. Con un MAC, cualquier entidad que pueda verificar un valor de MAC necesariamente tiene el poder de generar valores de MAC propios. Con las firmas, puede hacer que la clave de verificación sea pública, mientras mantiene la clave de generación privada. Las firmas son cuando desea presentar una prueba verificable por parte de terceros sin tener que confiar nada a estos terceros.

Aplicación: una CA (como Verisign o Thawte o lo que sea) emite un certificado a un servidor SSL. Todo el mundo , y en particular su navegador web, puede verificar que el certificado emitido al servidor SSL haya sido firmado por Verisign / Thawte / lo que sea. Pero esto no le otorga a usted el poder de emitir (firmar) certificados, lo que parece ser que fueron emitidos por Verisign / Thawte / lo que sea.

    
respondido por el Thomas Pornin 06.03.2013 - 18:30
fuente
4

La respuesta de Thomas Pornin, como siempre, es excelente, pero quería agregar un punto, y esa fue la diferencia en lo que representa la verificación de cada uno de estos. En resumen, solo se puede utilizar un MAC para verificar la integridad del mensaje. Una firma verifica no solo la integridad del mensaje, sino también la identidad del remitente.

La diferencia es inherente a la estructura simétrica frente a la asimétrica de los algoritmos. De vuelta a la publicación de Thomas, los MAC son simétricos; utilizan la misma clave K tanto para generar el MAC como para verificarlo. Como tales, verifican que el mensaje que contiene el MAC es el mensaje enviado originalmente por la otra parte a esta conversación, ya que se cree que la capacidad de manipular el mensaje de manera que el MAC aún coincida es difícil (y "difícil "en criptografía tiene la definición coloquial de" prácticamente imposible ").

Sin embargo, debido a que la clave de un algoritmo simétrico es un "secreto compartido", debe compartirse, y eso significa que no es un secreto realmente . Existen formas conocidas de compartir esta clave con una y solo otra persona específica, pero es este proceso de compartir que le permite identificar positivamente a la otra persona utilizando la clave; el algoritmo en sí mismo no tiene forma de demostrarle a ninguna de las partes que la otra persona es la que se supone que tiene.

Las firmas digitales, OTOH, son asimétricas; Se utilizan dos claves diferentes, una para generar y la otra para verificar. La clave de verificación es "pública"; puede pintarlo en aerosol en su auto y conducirlo a la mitad de DEF CON (convención de piratas informáticos) y esto no debilitaría el esquema. Nuevamente, se cree que es difícil generar o manipular un mensaje y / o su firma, y aun así hacer que uno coincida con el otro, sin conocer la clave de generación.

Esta clave de generación es "privada"; es un verdadero secreto, conocido solo por una parte, que puede implementar todo tipo de capas adicionales de seguridad física y electrónica para proteger estos datos incluso de ellos mismos (muchas PKI se configuran utilizando un Módulo de seguridad de hardware para generar la clave privada y realizarla). encriptación usándolo; la clave nunca abandona ese HSM). Por lo tanto, teóricamente es posible identificar positivamente a la otra parte de la conversación, en función de su capacidad para firmar correctamente los mensajes que se pueden verificar con su clave pública, porque hay una y solo una entidad en el planeta que tiene una oración para hacerlo. .

    
respondido por el KeithS 06.03.2013 - 19:55
fuente

Lea otras preguntas en las etiquetas