Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Uma assinatura MAC é uma saída criptográfica usada para verificar a integridade e a autenticação dos dados. Um algoritmo de assinatura MAC permite duas operações
distintas:
Uma operação de assinatura, que usa uma chave para produzir uma assinatura MAC
sobre dados brutos.
Uma operação de verificação em que a autenticidade da mensagem pode ser
validada conforme a chave de assinatura e a tag MAC a serem verificadas.
Há dois objetivos principais de uma assinatura MAC:
Verifique a integridade dos dados assinados.
Verifique a autenticidade da mensagem.
Embora a finalidade das assinaturas MAC seja semelhante à das assinaturas digitais,
elas dependem de criptografia simétrica. As tags MAC são geradas e
verificadas usando a mesma chave secreta. O remetente e o destinatário de
uma mensagem precisam ter a mesma chave para usar assinaturas MAC.
Exemplo de caso de uso para uma assinatura MAC
Algoritmos MAC, como o código de autenticação de mensagens de hash com chave (HMAC), são um
excelente mecanismo de verificação de integridade de dados de transferência de arquivos devido à
eficiência. As funções de hash podem transformar uma mensagem de comprimento arbitrário em um resumo de comprimento fixo, maximizando assim o uso da largura de banda.
Fluxo de trabalho de assinatura MAC.
A seguir, descrevemos o fluxo para criar e validar uma assinatura. Os dois participantes neste fluxo de trabalho são o assinante e o destinatário de dados.
O signatário e o destinatário concordam em usar uma chave MAC específica e compartilhada.
Ambas podem usar essa chave para criar ou verificar assinaturas MAC.
O signatário realiza uma operação de assinatura nos dados para calcular uma tag MAC.
O signatário fornece os dados e a tag MAC para o destinatário dos dados.
O destinatário usa a chave MAC compartilhada para verificar a assinatura MAC. Se a verificação não foi bem-sucedida, os dados foram alterados.
Algoritmos de assinatura
O Cloud Key Management Service só oferece suporte a algoritmos de código de autenticação de mensagens de hash com chave (HMAC)
para assinatura MAC. Os algoritmos HMAC usam funções de hash criptográficas,
como SHA-2 ou SHA-3, para calcular a tag MAC. A força da função HMAC
depende da força da função hash, do tamanho da saída da hash
e do tamanho da chave. Para mais informações sobre algoritmos de assinatura
HMAC, consulte Algoritmos de assinatura
HMAC.
Limitações
Ao usar o Cloud KMS para assinaturas MAC, o tamanho máximo do arquivo é de 16
KiB para chaves do Cloud HSM e 64 KiB para todas as outras chaves.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-09-02 UTC."],[],[],null,["# MAC signatures\n\nA *MAC signature* is a cryptographic output used to verify the integrity and\nauthenticity of data. A MAC signature algorithm lets you perform two distinct\noperations:\n\n- A signing operation, which uses a signing key to produce a MAC signature\n over raw data.\n\n- A verification operation, where the authenticity of the message can be\n validated given the signing key and the MAC tag to be verified.\n\nThere are two main purposes of a MAC signature:\n\n- Verify the integrity of the signed data.\n- Verify the authenticity of the message.\n\nWhile the purpose of MAC signatures is similar to that of digital signatures,\nMAC signatures rely on symmetric cryptography. MAC tags are generated and\nverified using the same secret key. The sender and the receiver of\na message must both have the same key to use MAC signatures.\n| **Note:** Since the sender and the receiver have the same cryptographic material, you can't use MAC tags to prove which of the two signed the file. If you need to be able to verify that the message was signed by the sender, use [digital signatures based on asymmetric keys](/kms/docs/digital-signatures) instead.\n\nExample use case for a MAC signature\n------------------------------------\n\nMAC algorithms like keyed-hash message authentication code (HMAC) are an\nexcellent file transfer data integrity-checking mechanism because of their\nefficiency. Hash functions can take a message of arbitrary length and transform\nit into a fixed-length digest, thus maximizing bandwidth usage.\n\nMAC signing workflow\n--------------------\n\nThe following describes the flow for creating and validating a signature. The\ntwo participants in this workflow consist of the signer of data, and the data\nrecipient.\n\n1. The signer and the recipient agree on using a specific, shared MAC key.\n\n Both can use this key to create or verify MAC signatures.\n2. The signer performs a sign operation over the data to compute a MAC tag.\n\n3. The signer provides the data and the MAC tag to the data recipient.\n\n4. The recipient uses the shared MAC key to verify the MAC signature. If\n verification is unsuccessful, then the data has been altered.\n\nSigning algorithms\n------------------\n\nCloud Key Management Service only supports keyed-hash message authentication code (HMAC)\nalgorithms for MAC signing. HMAC algorithms use cryptographic hash functions,\nsuch as SHA-2 or SHA-3, to compute the MAC tag. The strength of the HMAC\nfunction depends on the strength of the hash function, the size of the hash\noutput, and the size of the key. For more information about HMAC signing\nalgorithms, see [HMAC signing\nalgorithms](/kms/docs/algorithms#mac_signing_algorithms).\n\nLimitations\n-----------\n\nWhen using Cloud KMS for MAC signatures, the maximum file size is 16 KiB for Cloud HSM keys and 64 KiB for all other keys.\n\n\u003cbr /\u003e\n\nWhat's next\n-----------\n\n- Learn about [HMAC signing algorithms](/kms/docs/algorithms#hmac_signing_algorithms).\n- [Create a key](/kms/docs/creating-keys) with the [`MAC`](/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys#CryptoKeyPurpose.ENUM_VALUES.MAC) key purpose and an [HMAC signing algorithm](/kms/docs/algorithms#hmac_signing_algorithms).\n- [Create a MAC signature](/kms/docs/create-validate-mac-signatures#create_mac_signature) using an existing `MAC` key with a message.\n- [Verify a MAC signature](/kms/docs/create-validate-mac-signatures#verify_mac_signature) using an existing `MAC` key with a message and its signature."]]