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?


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.


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.


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.


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.