Cursos / Redes de Computadores / Segurança em Redes / Aula

arrow_back Aula 04 - Autenticação

Autenticação com Código MAC

O código MAC (Message Authentication Code), ou código de autenticação da mensagem, é gerado através de criptografia simétrica. Usando-se uma chave secreta, compartilhada entre as entidades comunicantes:

  1. A origem da mensagem gera um bloco de dados pequeno e de tamanho fixo, o qual chamaremos de “MAC_origem”, que é anexado à mensagem. Transmite-se a mensagem junto com o código “MAC_origem”, para ser validado no destino.
  2. O destino da mensagem usa a chave secreta que ele compartilha com o da origem e gera novamente o MAC, agora chamado de “MAC_destino” e o compara com o “MAC_origem”, que foi recebido junto com a mensagem.

Se forem iguais, a autenticação é realizada! Além da autenticação, essa estratégia também garante integridade porque, se o MAC obtido foi o mesmo, isso significa que a mensagem não foi alterada, está íntegra, já que a mensagem é um dos parâmetros do cálculo do MAC. Legal, hein? Duas funções de segurança em um único mecanismo!

Podemos expressar essa função da seguinte forma:

MAC = Encriptação(M,K), onde M = Mensagem e K = chave secreta

Veja a ilustração na Figura 4. João e Maria têm uma chave secreta (K) compartilhada. Para autenticar o texto enviado, João usa um algoritmo de criptografia simétrica e gera o código MAC. Esse código é enviado para Maria junto com o texto. Quando Maria recebe, ela recupera o texto e aplica, sobre ele, o mesmo algoritmo para gerar o MAC. Depois compara o MAC gerado com o MAC recebido. Se forem iguais, a mensagem não foi alterada e ela tem certeza que foi enviada por João. Caso contrário, houve alguma falsificação. Ou seja, a mensagem foi adulterada e deve ser descartada.

Autenticação com código MAC.

Observe que esse processo garante integridade e autenticação, mas não garante confidencialidade, uma vez que a mensagem é enviada sem estar criptografada. Todos podem ver a mensagem, mas não podem alterá-la! Isso é útil em aplicações que não têm interesse em manter mensagens em segredo, mas quando o importante é autenticar a mensagem. Por exemplo, em aplicações com muito processamento e que exigem apenas autenticação, usar função MAC é mais econômico que cifrar/decifrar toda a mensagem.


O código MAC não é uma assinatura digital porque tanto o receptor quanto o emissor da mensagem compartilham a mesma chave secreta.

Um algoritmo muito usado para calcular o MAC é uma variante do DES (Data Encription Standard). Uma importante diferença entre a geração de MAC e a criptografia diz respeito às funções de MAC, que são irreversíveis, ou seja, a partir do MAC não há nenhuma forma de se obter o texto original.

Versão 5.3 - Todos os Direitos reservados