O chaveiro do kernel do Linux armazena as chaves no disco?

4

Estou tentando aprender um pouco sobre o chaveiro do kernel do Linux (como pano de fundo para usar o ecryptfs). O keyring do kernel armazena as chaves em algum lugar no disco, ou ele é reinicializado programaticamente toda vez que o sistema é inicializado?

Eu olhei as man pages e a documentação do archlinux sobre criptografia, mas não encontrei a resposta. Se houver outra documentação sobre o chaveiro do kernel, eu gostaria de saber.

Se o chaveiro do kernel armazena as chaves no disco, onde ele coloca os arquivos?

    
por zed4 11.10.2016 / 00:04

2 respostas

6

O kernel do Linux nunca armazena nada em um disco em seu próprio nome. Ele armazena os arquivos que os aplicativos ordenam que ele armazene através da interface do sistema de arquivos, ou dados em dispositivos de bloco acessados diretamente ou metadados de sistemas de arquivos montados e volumes de disco.

Além disso, não faria sentido armazenar a chave de criptografia na mesma mídia.

A chave de criptografia é armazenada somente na RAM. É inserido antes de montar o sistema de arquivos criptografado. A chave é tipicamente derivada de uma senha digitada pelo usuário, mas também pode ser carregada de, e. um smartcard. A documentação do kernel tem os detalhes.

É possível armazenar a chave de criptografia de um volume em um arquivo fora desse volume e carregá-lo. Pode fazer sentido ter uma chave em uma unidade removível que é inserida fisicamente no momento da inicialização, por exemplo. Mas o kernel não fará isso sozinho, cabe aos scripts de inicialização do sistema fazer isso.

    
por 11.10.2016 / 02:14
2

A documentação do chaveiro do kernel pode ser encontrada na árvore de código-fonte do kernel:

link

As chaves usadas para o eCryptfs não são armazenadas no disco em texto simples. Os utilitários do projeto ecryptfs-utils assumem o padrão de envolver as chaves com uma frase-senha fornecida pelo usuário antes de salvar qualquer material de chave no disco. A senha fornecida pelo usuário deve ser inserida pelo usuário após cada inicialização.

    
por 11.10.2016 / 00:27