chave eCryptfs na imagem do kernel ou initramfs

3

Eu tenho um sistema Linux embarcado com imagem de kernel não criptografada e initramfs em flash NAND. Meu RootFS está no cartão SD.

Eu quero criptografar alguns arquivos no cartão SD, já que meu cartão SD é facilmente acessível fisicamente.

Para isso, estou planejando usar o eCryptfs.

Mas eu quero manter as chaves dentro do NAND flash na imagem do kernel ou no initramfs. Quais são minhas opções, qual é a melhor maneira de proteger alguns arquivos no meu cartão SD.

    
por Tiwari 02.08.2014 / 07:24

1 resposta

1

Se você não tivesse um initramfs , poderia fazê-lo com parâmetros do kernel. Basta adicionar uma string aleatória como parâmetro do kernel e, em seguida, usar /proc/cmdline como chave para sua criptografia. Se não é fácil adicionar esses parâmetros ao seu gerenciador de partida, o kernel do Linux tem uma opção CMDLINE config que permite compilá-lo. (Nota: é possível que os parâmetros do kernel acabem nos arquivos de log e tal. adequado para o seu cenário depende do que está sendo executado / gravado no seu cartão SD.)

Com initramfs , é claro que você está livre para fazer o que quiser. Ele pode pedir sua senha no momento da inicialização ou incluir uma chave ou fazer as duas coisas usando chaves criptografadas. Cabe a você, mas a implementação exata depende de como é o seu initramfs sem tais modificações. Você pode consultar vários guias online do initramfs para ter uma idéia de como funciona em princípio, por exemplo: link

Você só precisa tomar cuidado para não deixar uma cópia não criptografada da chave no próprio cartão SD. Ao mesmo tempo, você deve ter uma cópia em algum lugar , pois pode ser difícil recuperá-la do NAND se o dispositivo quebrar.

    
por 02.08.2014 / 11:57