Criptografar um único arquivo e ler / editar on-the-fly

5

Eu tenho um único arquivo de texto que quero criptografar. Eu posso facilmente fazer isso com qualquer software comum. Mas então, eu quero ser capaz de clicar nele, fornecer uma senha e ser capaz de ler, editar e fechá-lo. Todos da GUI, que devem ser compatíveis com o KDE, e possivelmente o editor deve ser o Kate. Idealmente, isso deve estar disponível em uma única chamada do KRunner. A abordagem alternativa do CLI é OK, mas deve estar contida em um único comando / função / alias.

Uma possibilidade poderia ser criar uma pasta criptografada. Em seguida, monte a pasta apenas no tempo de acesso e desmonte imediatamente após o encerramento do editor de texto, tudo em um único comando da CLI. Parece um pouco estranho para mim, e eu prefiro fazer a chamada do KRunner apenas.

Para resumir , seguindo o ArchWiki um pouco:

  • Eu quero proteger um único arquivo no caso de meu PC ser roubado. É claro que os mineradores de dados profissionais vão chegar lá eventualmente, eu aceito isso.
  • O arquivo deve estar acessível (acesso de leitura / gravação) com uma frase de senha on-the-fly (sob demanda)
  • Os métodos GUI são preferidos, mas os métodos CLI também são OK, desde que possam ser chamados com um arquivo .desktop (a ser acessado pelo KRunner)
  • Eu não tenho um método de criptografia preferido, contanto que seja decentemente rápido, seguro e de código aberto .
  • Estrutura e nomes de arquivos da pasta criptografada (se esta for a única maneira) podem ser transparentes, contanto que o conteúdo esteja inacessível.
  • Qualquer método de criptografia é aceito, desde que não leve minutos para verificar uma chave, por exemplo
por AF7 22.02.2015 / 15:58

2 respostas

3

Para apenas um arquivo de cada vez, ou o arquivo muito ocasional, eu acho que uma unidade criptografada inteira ou home com EncFS / eCryptFS / dm-crypt / LUKS seria um exagero (mas funcionaria excelente em caso de roubo).

Uma solução usando uma função bash para descriptografar, editar, criptografar novamente sons mais parecidos com o que você está procurando. Usando gpg desde que ele é instalado por padrão em quase todos os linux que eu já vi, e existe há décadas & deve ser por décadas mais parece adequado para arquivos de longo prazo. Algo como isso pode ser colocado em um arquivo .bashrc & usado em um terminal, ou incorporado no menu "clique com botão direito" do gerenciador de arquivos, deve funcionar também (não estou familiarizado o suficiente com o KDE para fazer isso, mas se você estiver, não deve ser muito difícil).

Essas pequenas funções rápidas receberão o primeiro argumento $1 como um nome de arquivo para decriptografar para /tmp/gpg-edit.out (pode usar um tmpfs / ramdisk para melhor segurança), editar com gedit (ou seu editor favorito) e re - Criptografar o arquivo quando terminar de editar. Eles usam um "arquivo de frase secreta", onde apenas a primeira linha é lida & usado como uma senha, por isso deve ser mantido em algum lugar seguro (tmpfs / ramdisk, talvez), mas você pode omitir que & gpg pediria a senha toda vez.

edit-gpg() {
gpg -v --no-use-agent --passphrase-file=/path/to/keyfile --output "/tmp/gpg-edit.out" "$1" &&
gedit "/tmp/gpg-edit.out" &&
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile --output "$1" -c "/tmp/gpg-edit.out" &&
rm "/tmp/gpg-edit.out"
}

Tarefas futuras incluirão uma verificação se o arquivo "/tmp/gpg-edit.out" já existir (agora gpg pedirá para sobrescrever se isso acontecer).
Ou use um arquivo de saída aleatório para poder editar vários arquivos de uma só vez. Por enquanto, é um de cada vez.
Omitir --no-use-agent deve fazer com que use a caixa de entrada da senha do GUI do gpg, mas da última vez que eu deixei a opção sempre usar a caixa GUI e ignorar o --passphrase-file opção.

Outra função curta pode criptografar inicialmente um arquivo com o mesmo arquivo de frase secreta:

crypt-gpg() { 
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile -c "$1" &&
rm "$1"
}
    
por 23.02.2015 / 15:42
1

O Emacs permite editar arquivos que terminam em .gpg de forma transparente.

1) $ emacs yourfile.txt.gpg

2) Edite seu arquivo.

3) C-x C-s para salvar, clique em [OK] ou C-c C-c para selecionar criptografia simétrica. Em seguida, insira e confirme sua senha.

4) C-x C-c para fechar o Emacs.

O arquivo agora está criptografado. Para editá-lo novamente, siga o mesmo processo acima.

    
por 23.02.2015 / 15:51