Autenticação de Mensagem

No último capítulo, discutimos as ameaças à integridade dos dados e o uso da técnica de hashing para detectar se algum ataque de modificação ocorreu nos dados.

Outro tipo de ameaça que existe para os dados é a falta de message authentication. Nessa ameaça, o usuário não tem certeza sobre a origem da mensagem. A autenticação de mensagens pode ser fornecida usando técnicas criptográficas que usam chaves secretas, conforme feito no caso de criptografia.

Código de autenticação de mensagem (MAC)

O algoritmo MAC é uma técnica criptográfica de chave simétrica para fornecer autenticação de mensagens. Para estabelecer o processo MAC, o emissor e o receptor compartilham uma chave simétrica K.

Essencialmente, um MAC é uma soma de verificação criptografada gerada na mensagem subjacente que é enviada junto com uma mensagem para garantir a autenticação da mensagem.

O processo de uso do MAC para autenticação é descrito na ilustração a seguir -

Vamos agora tentar entender todo o processo em detalhes -

  • O remetente usa algum algoritmo MAC conhecido publicamente, insere a mensagem e a chave secreta K e produz um valor MAC.

  • Semelhante ao hash, a função MAC também compacta uma entrada longa arbitrária em uma saída de comprimento fixo. A principal diferença entre hash e MAC é que o MAC usa uma chave secreta durante a compressão.

  • O remetente encaminha a mensagem junto com o MAC. Aqui, assumimos que a mensagem é enviada de forma clara, pois nos preocupamos em fornecer autenticação da origem da mensagem, não confidencialidade. Se a confidencialidade for necessária, a mensagem precisará ser criptografada.

  • Ao receber a mensagem e o MAC, o receptor alimenta a mensagem recebida e a chave secreta compartilhada K no algoritmo do MAC e recalcula o valor do MAC.

  • O receptor agora verifica a igualdade do MAC recém-calculado com o MAC recebido do remetente. Se corresponderem, o destinatário aceita a mensagem e certifica-se de que a mensagem foi enviada pelo remetente pretendido.

  • Se o MAC calculado não corresponder ao MAC enviado pelo remetente, o receptor não pode determinar se é a mensagem que foi alterada ou se é a origem que foi falsificada. Como resultado, um receptor assume com segurança que a mensagem não é genuína.

Limitações do MAC

Existem duas limitações principais do MAC, ambas devido à sua natureza simétrica de operação -

  • Establishment of Shared Secret.

    • Ele pode fornecer autenticação de mensagem entre usuários legítimos pré-decididos que possuem uma chave compartilhada.

    • Isso requer o estabelecimento de um segredo compartilhado antes do uso do MAC.

  • Inability to Provide Non-Repudiation

    • O não repúdio é a garantia de que o originador da mensagem não pode negar quaisquer mensagens enviadas anteriormente e compromissos ou ações.

    • A técnica MAC não fornece um serviço de não repúdio. Se o remetente e o destinatário se envolverem em uma disputa sobre a origem da mensagem, os MACs não podem fornecer uma prova de que a mensagem foi realmente enviada pelo remetente.

    • Embora nenhum terceiro possa computar o MAC, ainda assim o remetente pode negar o envio da mensagem e alegar que o receptor a falsificou, pois é impossível determinar qual das duas partes computou o MAC.

Ambas as limitações podem ser superadas usando as assinaturas digitais baseadas em chave pública discutidas na seção seguinte.