Smart Cards e eCryptFS

2

Estou tentando integrar chaves PKI em um cartão inteligente (usando OpenSC) com montagens eCryptFS para facilitar verificações de autorização mais strongs.

Veja como eu iria criptografar a frase secreta para o sistema de arquivos:

pkcs15-tool --read-public-key $KEYID > ~/userpub.key
<(generate 63 digit random string> | openssl rsautl -encrypt -inkey \
      ~/.userpub.key -pubin -out ~/.ecryptfskey

Depois de criptografada, a única maneira de descriptografá-la é por meio da chave privada não-exportável localizada no cartão inteligente.

Agora, para montar o sistema de arquivos:

exec 3<<<'pkcs15-crypt --raw --decipher --pkcs1 -k $KEYID -i ~/ecryptfskey'
mount -t ecryptfs $DIR $DIR -o key=passphrase:passphrase_passwd_fd=3,(etc)

Além disso, posso usar um método semelhante para criptografar a senha do sistema de arquivos usando a chave pública de outro usuário, permitindo o compartilhamento de arquivos.

Isto parece ser um método seguro, uma vez que a chave não criptografada é canalizada através de um descritor de arquivo para o comando mount para uma leitura única. Estou perdendo um erro óbvio com a minha metodologia? Existe um caminho mais seguro?

Por favor, note que estamos tentando habilitar a criptografia em nível de arquivo para uso sob demanda. O LUKS não funcionaria, pois nossas máquinas estão sempre ativadas e, portanto, a criptografia de toda a unidade seria inútil.

(Nota: Estamos presos a uma versão do eCryptFS que não possui o pkcs11-helper)

    
por Hyppy 07.04.2015 / 18:55

0 respostas

Tags