Envolvimento de chave - Key Wrap

As construções Key Wrap são uma classe de algoritmos de criptografia simétricos projetados para encapsular (criptografar) o material da chave criptográfica. Os algoritmos Key Wrap destinam-se a aplicações como a proteção de chaves em um armazenamento não confiável ou a transmissão de chaves em redes de comunicação não confiáveis. As construções são normalmente construídas a partir de primitivas padrão, como cifras de bloco e funções de hash criptográficas .

O Key Wrap pode ser considerado uma forma de algoritmo de encapsulamento de chave , embora não deva ser confundido com os algoritmos de encapsulamento de chave assimétrica (chave pública) mais comumente conhecidos (por exemplo, PSEC-KEM ). Os algoritmos Key Wrap podem ser usados ​​em um aplicativo semelhante: para transportar com segurança uma chave de sessão criptografando-a sob uma chave de criptografia de longo prazo.

Fundo

No final da década de 1990, o Instituto Nacional de Padrões e Tecnologia (NIST) propôs o problema do "Key Wrap": desenvolver algoritmos de criptografia de chave baseados em criptografia seguros e eficientes. Os algoritmos resultantes seriam avaliados formalmente pelo NIST e, eventualmente, aprovados para uso em módulos criptográficos certificados pelo NIST. O NIST não definiu precisamente os objetivos de segurança do algoritmo resultante e deixou mais refinamento para os desenvolvedores do algoritmo. Com base nos algoritmos resultantes, os requisitos de design parecem ser (1) confidencialidade, (2) proteção de integridade (autenticação), (3) eficiência, (4) uso de primitivas subjacentes padrão (aprovadas), como o Advanced Encryption Standard (AES ) e o algoritmo Secure Hash ( SHA-1 ), e (5) consideração de circunstâncias adicionais (por exemplo, resiliência a erros do operador, geradores de números aleatórios de baixa qualidade). Os objetivos (3) e (5) são particularmente importantes, visto que muitos algoritmos de criptografia autenticados amplamente implantados (por exemplo, AES-CCM) já são suficientes para cumprir os objetivos restantes.

Especificação de Key Wrap NIST AES

Várias construções foram propostas. Esses incluem:

  • Especificação AES Key Wrap (novembro de 2001, RFC  3394 )
    • Implementado pela API sutil WebCrypto.
  • American Standards Committee ANSX9.102 , que define quatro algoritmos:
    • AESKW (uma variante da especificação AES Key Wrap )
    • TDKW (semelhante ao AESKW, construído a partir de Triple DES em vez de AES).
    • AKW1 (TDES, duas rodadas de CBC)
    • AKW2 (TDES, CBC e CBC-MAC)

Cada um dos algoritmos propostos pode ser considerado como uma forma de algoritmo de criptografia autenticado , fornecendo confidencialidade para mensagens altamente entrópicas , como chaves criptográficas. A AES Key Wrap Specification, AESKW, TDKW e AKW1 destinam-se a manter a confidencialidade sob ataques de texto cifrado escolhido adaptativo , enquanto o algoritmo AKW2 é projetado para ser seguro apenas sob ataques de texto simples conhecido (ou mais fracos). (O objetivo declarado de AKW2 é para uso em sistemas legados e dispositivos limitados computacionalmente onde o uso de outros algoritmos seria impraticável.) AESKW, TDKW e AKW2 também fornecem a capacidade de autenticar "cabeçalho" de texto não criptografado, um bloco de dados associado que é não criptografado.

Rogaway e Shrimpton avaliaram o design dos algoritmos ANSX9.102 com relação aos objetivos de segurança declarados. Entre suas descobertas gerais, eles notaram a falta de objetivos de design claramente definidos para os algoritmos e a ausência de provas de segurança para todas as construções.

Em seu artigo, Rogaway e Shrimpton propuseram um algoritmo de quebra de chave comprovável (SIV - o modo de vetor de inicialização sintética) que autentica e criptografa uma string arbitrária e autentica, mas não criptografa, dados associados que podem ser vinculados à chave embrulhada. Isso foi padronizado como um novo modo AES no RFC  5297 .

Veja também

Leitura adicional

Referências