Em criptografia, uma HMAC (às vezes expandida como keyed-hash message authentication code ou hash-based message authentication code) é um tipo específico de código de autenticação de mensagem (MAC), envolvendo uma função de hash criptográfica e um segredo a chave criptográfica. Ele pode ser usado para simultaneamente verificar a integridade dos dados e a autenticidade de uma mensagem, como acontece com qualquer MAC. Qualquer função de hash criptográfica, como SHA-256 ou SHA-3, pode ser utilizado no cálculo de um HMAC; a resultante MAC algoritmo é chamado de HMAC-X, onde X é a função de hash utilizada (e.g. HMAC-SHA256 ou HMAC-SHA3). A força criptográfica do HMAC depende da força criptográfica de subjacente função de hash, o tamanho do seu hash de saída, e a qualidade e tamanho da chave.
HMAC usa dois passes de hash de computação. A chave secreta é usada pela primeira vez para derivar duas chaves – interna e externa. O primeiro passo do algoritmo produz um hash interno derivada da mensagem e o interior da chave. A segunda fase produz o final HMAC código derivado do interior hash resultado e o exterior chave. Assim, o algoritmo fornece uma melhor imunidade contra comprimento de extensão de ataques.
Um processo iterativo de função de hash divide uma mensagem em blocos de tamanho fixo e itera sobre eles com uma função de compressão. Por exemplo, SHA-256 opera em blocos de 512 bits. O tamanho da saída de HMAC é o mesmo que subjacente função de hash (por exemplo, 256 e 1600 bits no caso do SHA-256 e SHA-3, respectivamente), embora possa ser truncado se o desejar.
HMAC não criptografar a mensagem. Em vez disso, a mensagem (codificado ou não) deve ser enviado juntamente com o HMAC de hash. Partes com o segredo de chave de hash da mensagem em si, e se é autêntica, a recebeu e hashes calculados irá corresponder.
A definição e a análise do HMAC construção foi publicado pela primeira vez em 1996, em um papel por Mihir Bellare, Correu Canetti, e Hugo Krawczyk, e eles também escreveu RFC 2104 em 1997. 1996 papel também definida uma variante denominada MAC. FIPS PUB 198 generaliza e padroniza a utilização de HMACs. HMAC é usado dentro do IPsec e protocolos TLS e para JSON Web Tokens.
Simplificar a sua vida com várias ferramentas poderosas.
Subscrever para um plano Ultimate e beneficiar de todas as funcionalidades da Apps66.com