O que é Encapsulamento de chave?
O encapsulamento de chave é uma operação criptográfica que criptografa uma chave (a chave de carga útil) usando outra chave (a chave de encapsulamento ou chave de criptografia de chaves), oferecendo proteção de confidencialidade e integridade ao material de chave durante seu armazenamento ou transporte.
Também conhecido como: key wrap, AES-KW, key encryption key
O encapsulamento de chave resolve um problema prático dos sistemas criptográficos: como você protege as próprias chaves de criptografia? Se uma chave de criptografia de dados for armazenada em texto simples, qualquer pessoa com acesso ao armazenamento pode usá-la. O encapsulamento de chave resolve isso criptografando a chave de dados com uma chave de encapsulamento independente, criando uma hierarquia de chaves em camadas onde o acesso aos dados criptografados exige possuir tanto a chave encapsulada quanto os meios para desencapsulá-la.
O AES-KW (AES Key Wrap, definido no RFC 3394) é o algoritmo de encapsulamento de chave mais utilizado. Diferentemente dos modos de criptografia de propósito geral, o AES-KW foi projetado especificamente para encapsular material de chave. Ele oferece tanto confidencialidade quanto integridade: se a chave de encapsulamento estiver incorreta ou os dados encapsulados tiverem sido adulterados, a operação de desencapsulamento falha em vez de produzir material de chave incorreto. Essa verificação de integridade é crítica, porque produzir silenciosamente uma chave errada levaria a descriptografar dados como lixo sem nenhuma indicação de erro.
O encapsulamento de chave é fundamental para os sistemas de gerenciamento de chaves, os HSM (módulos de segurança de hardware) e os esquemas de criptografia em envelope que os provedores de nuvem usam. Na criptografia em envelope, os dados são criptografados com uma chave de dados, e a chave de dados é encapsulada com uma chave mestra. Esse padrão permite uma rotação de chaves eficiente: quando a chave mestra muda, só é preciso criptografar novamente as pequenas chaves encapsuladas, e não todo o conjunto de dados.
Wrap a data key with a passphrase
A random AES-256 data key gets encrypted by a wrapping key derived from your passphrase via PBKDF2. Change the unwrap passphrase to see AES-KW reject the wrong key cleanly.
This is exactly the flow Vaulted runs when you set a passphrase. The wrapping key never leaves your browser; only the wrapped key and salt travel — in the URL fragment, so the server sees neither.
Como o Vaulted usa Encapsulamento de chave
O Vaulted usa o encapsulamento de chave AES-KW quando uma frase-senha é definida em um segredo. O fluxo funciona assim: o navegador gera uma chave aleatória AES-256-GCM para criptografar o segredo e depois deriva uma chave de encapsulamento a partir da frase-senha usando PBKDF2. A chave AES-256-GCM é encapsulada (criptografada) por meio do AES-KW com a chave de encapsulamento derivada. A chave encapsulada, o salt e o IV são incluídos no fragmento da URL. O destinatário digita a frase-senha, deriva novamente a chave de encapsulamento por meio do PBKDF2, desencapsula a chave AES-256-GCM e descriptografa o segredo.