Aplicaciones de Windows
Contraer la tabla de contenido
Expandir la tabla de contenido

Códigos de autenticación de mensaje (aplicaciones de la Tienda Windows)

El cifrado ayuda a impedir que personas no autorizadas puedan leer un mensaje, pero no evita que una persona pueda manipular el mensaje. La modificación de un mensaje, aunque produzca algo sin sentido, puede tener un impacto grave. Los códigos de autenticación de mensaje (MAC) ayudan a prevenir la manipulación de mensajes. Por ejemplo, considera el siguiente escenario:

  • Roberto y Alicia comparten una clave secreta y se ponen de acuerdo para usar una función MAC.
  • Roberto crea un mensaje y suministra el mensaje y la clave secreta a la función MAC para obtener un valor MAC.
  • Después Roberto envía el mensaje (sin cifrar) y el valor MAC a Alicia a través de una red.
  • Alicia usa la clave secreta y el mensaje como entrada de la función MAC. Compara el valor MAC generado con el valor MAC enviado por Roberto. Si coinciden, significa que no se manipuló el mensaje durante el tránsito.

Eva, que interceptó la conversación de Roberto y Alicia, no puede manipular el mensaje. Eva no tiene acceso a la clave privada y, por lo tanto, no puede crear un valor MAC que pueda hacer que el mensaje manipulado para Alicia parezca genuino.

Crear un código de autenticación de mensaje solo garantiza que no se manipuló el mensaje original y, mediante una clave secreta compartida, que alguien con acceso a esa clave privada firmó el hash de mensaje.

Puedes usar el MacAlgorithmProvider para enumerar los algoritmos de MAC disponibles y generar una clave simétrica. Puedes usar métodos estáticos en la clase CryptographicEngine para realizar el cifrado necesario para crear el valor MAC.

Las firmas digitales son el equivalente de clave pública a los códigos de autenticación de mensaje (MAC) de clave privada. Aunque los MAC usan claves privadas para permitir que el destinatario de un mensaje compruebe que no se ha manipulado un mensaje durante la transmisión, las firmas usan un par de claves, la pública y la privada.

Temas relacionados

MAC, hash y firmas
Guía básica para crear aplicaciones de la Tienda Windows con C# o Visual Basic

 

 

Mostrar:
© 2018 Microsoft