Le cryptage des fichiers avec Blowfish est-il sécurisé?

16

Je sais que l'utilisation :set cryptmethod=zipn'est pas sécurisée, mais dans quelle mesure est-elle sécurisée :set cryptmethod=blowfish?

Sur wikipedia, j'ai lu que le chiffrement Blowfish, en tant que tel, devrait être sécurisé, mais cela ne dit rien sur la sécurité de l' implémentation de Vim .

Et qu'en est-il des fichiers d'échange, des fichiers de sauvegarde, des non-fichiers et d'autres moyens possibles de contourner le chiffrement Blowfish? Dans quelle mesure Vim est-il sécurisé?

Martin Tournoij
la source
1
Cela ne sera-t-il pas vraiment mieux pour la sécurité de l'information , étant donné que vous avez déjà identifié le ou les algorithmes utilisés?
muru
Hmm. Les documents sont un peu déroutants ici. :h encryptiondit que les fichiers d'annulation et d'échange sont cryptés à la fois en 7.3 et 7.4 , mais :h cryptmethoden 7.4 fait mention explicite du undofichier uniquement pour blowfish2.
muru
2
@muru C'est une question sur l'implémentation par Vim du chiffrement basé sur Blowfish, pas sur l'algorithme Blowfish lui-même. Cette question serait également sur le thème de la sécurité de l'information , mais cela ne le rend pas hors sujet ici. La réponse est, en fait, que Blowfish lui-même est sécurisé (même si ce n'est pas le meilleur choix), mais que sa mise en œuvre par Vim est mauvaise.
Gilles 'SO- arrête d'être méchant'

Réponses:

19

Ce n'est pas sûr. David Leadbeater a publié du code POC à force brute jusqu'à 64 octets dans un article intitulé, quelque peu ironiquement, le cryptage Vim blowfish ... ou pourquoi vous ne devriez pas rouler votre propre crypto . La documentation Vim recommande désormais :

- The implementation of 'cryptmethod' "blowfish" has a flaw.  It is possible
  to crack the first 64 bytes of a file and in some circumstances more of the
  file. Use of it is not recommended, but it's still the strongest method
  supported by Vim 7.3 and 7.4.  The "zip" method is even weaker.

Et, plus tôt:

The text in the swap file and the undo file is also encrypted.  E843
However, this is done block-by-block and may reduce the time needed to crack a
password.  You can disable the swap file, but then a crash will cause you to
lose your work.  The undo file can be disabled without much disadvantage. 
        :set noundofile
        :noswapfile edit secrets

Note: The text in memory is not encrypted.  A system administrator may be able
to see your text while you are editing it.  When filtering text with
":!filter" or using ":w !command" the text is also not encrypted, this may
reveal it to others.  The 'viminfo' file is not encrypted.

Sommaire:

  • Si vous vous souciez de la sécurité, blowfishne doit pas être utilisé. Utilisez blowfish2plutôt.
  • Bien swapque les undofichiers et soient cryptés, ce viminfon'est pas le cas.

Conseils non sollicités:

  • Si vous vous souciez de la sécurité, ne lancez pas votre propre cryptage . Et cela signifie également la blowfish2mise en œuvre. Utilisez autre chose, comme GPG. Le gnupg.vimplugin peut être utile. Il semble être maintenu . Il désactive viminfoet le fichier d'échange.
muru
la source
1
La revendication de David Leadbeater dans ( dgl.cx/2014/10/vim-blowfish ) le dernier paragraphe utilise un dictionnaire pour l'attaque par bruteforce. Il ajoute ensuite que "les petits mots de passe" seraient faibles. Ses arguments théoriques sont corrects mais pas pratiques. Les bons mots de passe 64 bits ou plus aléatoires ne sont pas craquables.
mosh