Jak bezpieczne jest szyfrowanie plików za pomocą blowfish?

16

Wiem, że używanie nie:set cryptmethod=zip jest bezpieczne, ale jak bezpieczne ?:set cryptmethod=blowfish

Na wikipedii czytam, że szyfr blowfish jako taki powinien być bezpieczny, ale nie mówi to nic o bezpieczeństwie jego implementacji przez Vima .

A co z plikami wymiany, plikami kopii zapasowych, nieoficjalnymi plikami i innymi możliwymi sposobami obejścia szyfrowania blowfish? Jak bezpieczny jest tam Vim?

Martin Tournoij
źródło
1
Czy naprawdę nie będzie lepiej w Information Security , biorąc pod uwagę, że już zidentyfikowałeś używany algorytm (y)?
muru
Hmm Dokumenty są tu nieco mylące. :h encryptionmówi, że pliki cofania i wymiany są szyfrowane zarówno w wersji 7.3, jak i 7.4 , ale :h cryptmethodw wersji 7.4 wyraźnie wspomina o undopliku tylko dla blowfish2.
muru
2
@muru Pytanie dotyczy implementacji szyfrowania opartego na blowfish Vima, a nie samego algorytmu blowfish. To pytanie byłoby również na temat bezpieczeństwa informacji , ale to nie wyklucza tutaj. Odpowiedź brzmi, że sama blowfish jest bezpieczna (nawet jeśli nie jest to najlepszy wybór), ale implementacja Vima jest zła.
Gilles „SO- przestań być zły”

Odpowiedzi:

19

To nie jest bezpieczne. David Leadbeater opublikował kod POC do brutalnej siły do ​​64 bajtów w artykule zatytułowanym, nieco ironicznie, szyfrowaniem Vim Blowfish ... lub dlaczego nie należy rzucać własnym krypto . Dokumentacja Vima zaleca teraz :

- 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.

A wcześniej:

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.

Streszczenie:

  • Jeśli zależy Ci na bezpieczeństwie, blowfishnie należy go używać. Użyj blowfish2zamiast tego.
  • Podczas gdy swapi undopliki są szyfrowane, viminfonie jest.

Niezamówiona rada:

  • Jeśli zależy Ci na bezpieczeństwie, nie wprowadzaj własnego szyfrowania . A to oznacza także blowfish2wdrożenie. Użyj czegoś innego, na przykład GPG. gnupg.vimWtyczki mogą być użyteczne. Wydaje się być utrzymany . Wyłącza viminfoi plik wymiany.
muru
źródło
1
Roszczenie Davida Leadbeatera z ( dgl.cx/2014/10/vim-blowfish ) ostatniego para używa słownika do ataku bruteforce. Następnie dodaje, że „małe hasła” byłyby słabe. Jego teoretyczne argumenty są poprawne, ale niepraktyczne. Dobre 64-bitowe lub więcej losowych haseł jest nie do odtworzenia.
mosh