Melhor criptografia segura para arquivos zip via Linux

12

Desejo usar criptografia altamente segura para arquivos compactados via Linux / Ubuntu usando um terminal de linha de comando. Qual é a melhor ferramenta de linha de comando para realizar esse trabalho?

zip -e -P PASSWORD file1 file2 file3 file4

Ou

7za a file.7z *.txt -pSECRET

Qual criptografia é usada e qual a segurança?

Daniel
fonte
A criptografia compacta os arquivos de qualquer maneira. Se a criptografia sólida é mais importante que o tamanho do arquivo, considere usar o GPG.
Iain
4
@ Iain: isso é verdade para o GPG, mas não para todas as ferramentas de criptografia. do jeito que funciona, criptografar algo faz com que pareçam dados aleatórios, que não são compactáveis ​​(ou pelo menos não são compactáveis ​​em muito, se sua criptografia for boa). se você deseja compactar e criptografar, faça sua compactação primeiro e criptografe os dados compactados. algumas ferramentas (como GPG) fazem isso automaticamente, mas entendem que esse é um recurso da ferramenta, não da criptografia.
quack quixote
@Iain: obrigado; eu não sabia que o GPG fez a compactação para você automaticamente. o encontrei neste artigo no GPG (consulte a seção "Tarballs criptografados"): linuxjournal.com/article/8732
quack quixote
IIRC, a compactação feita pelo GPG é (ou é semelhante a) gzip com configurações padrão, que é um bom comprometimento das taxas e da velocidade de compactação. Se os dados que você está enviando são muito grandes e as conexões serão lentas, então você obterá alguns benefícios ao usar o 7zip primeiro, mas é preciso um tempo múltiplo para compactar os mesmos dados, para que você possa encontrar o suporte de compactação incorporado do GPG mais conveniente.
David Spillett
Você realmente não quer colocar seu segredo na linha de comando, onde pode ser lido no ps ou no seu arquivo de histórico.
Samuel Edwin Ward

Respostas:

9

A compactação oferecida pelo 7zip (no formato 7z) é mais segura do que qualquer um dos métodos "padrão" ou criptografar um arquivo no formato zip (muitos dos quais datam de anos anteriores e quase não são seguros). Em ambos os casos, certifique-se de escolher uma boa senha / chave - com uma senha mal escolhida, todas as técnicas de criptografia são suscetíveis a ataques de dicionário / palpite.

Se você estiver criptografando arquivos para enviar para outra pessoa, o GPG seria melhor (consulte https://help.ubuntu.com/community/GnuPrivacyGuardHowtopara algumas notas específicas do Ubuntu ou o Google para muitos outros recursos similares) se a pessoa para quem você está enviando for capaz + disposta a usar GPG / PGP / compatível (ou já as estiver usando). As ferramentas GPG padrão são orientadas por linha de comando, facilitando o trabalho em scripts se você estiver arquivando arquivos regularmente e quiser automatizá-los. Isso é baseado em chave pública e, portanto, elimina o problema de tentar obter a chave para o destinatário por meios seguros, enquanto você criptografa com a chave pública e somente eles têm a chave privada necessária para desbloquear o arquivo resultante (até você, a pessoa que criptografou o arquivo em primeiro lugar, não seria capaz de descriptografá-lo). Para a paranóia ++, criptografe com 7zip ao criar o arquivo e, em seguida, com a chave pública do destinatário via GPG.

David Spillett
fonte
5

Não tenho certeza sobre o zip padrão no Ubuntu, então não posso dizer qual é o 'melhor', mas aqui está o que o 7-Zip afirma que eles usam :

O 7-Zip também suporta criptografia com o algoritmo AES-256. Este algoritmo usa chave de cifra com comprimento de 256 bits. Para criar essa chave, o 7-Zip usa a função de derivação baseada no algoritmo de hash SHA-256. Uma função de derivação de chave produz uma chave derivada da senha de texto definida pelo usuário. Para aumentar o custo da pesquisa exaustiva de senhas, o 7-Zip usa um grande número de iterações para produzir chave de cifra a partir da senha de texto.

Ƭᴇcʜιᴇ007
fonte
3

Na zippágina do manual:

   -P password
   --password password
          Use password to encrypt zipfile entries (if any).  THIS IS INSECURE!  Many multi-user operating systems provide  ways
          for  any  user  to  see  the  current command line of any other user; even on stand-alone systems there is always the
          threat of over-the-shoulder peeking.  Storing the plaintext password as part of a command line in an automated script
          is  even  worse.  Whenever possible, use the non-echoing, interactive prompt to enter passwords.  (And where security
          is truly important, use strong encryption such as Pretty Good Privacy instead of the relatively weak standard encryp-
          tion provided by zipfile utilities.)

O resultado é que, se o processo zip demorar um pouco, outro usuário do sistema poderá ver o comando digitado, o que incluiria a senha. oops. Presumivelmente, isso também se aplica à .7zsolução.

shabbychef
fonte
0

O GnuPG provavelmente é bom o suficiente. No entanto, se sua vida depende disso, eu ficaria um pouco cético. Eu uso um bloco de uso único . Não discutirei como gero os blocos ou como os protejo, mas também uso o GPG para e-mails de segurança mais baixa. Algumas vezes eu uso uma vez para criptografar um arquivo e depois anexá-lo a emails criptografados com o GPG.

Sim, envio informações de que as pessoas precisam depender de segurança e até risco de vida.

Ruffus
fonte