Format pliku zaszyfrowanego pliku

3

Jestem zainteresowany zrozumieniem formatu zaszyfrowanych plików generowanych przez aplikację Data Guardian . Z tego, co mogę powiedzieć, pewna transformacja hasła jest przechowywana w polu o nazwie „hexIdentifier”. Dziwne jest dla mnie to, że jeśli dwa pliki są zapisane z tym samym hasłem, oba mają ten sam ciąg „hexIdentifier”. Nie reklamuję tej aplikacji i nie jestem związany z firmą. Oceniam aplikację.

bpqaoozhoohjfpn
źródło
2
Zresztą i tak nie byłoby reklamą, gdyby hasło było przechowywane w samym pliku.
Andrew Lambert
Cały ten wątek to niesamowita lektura. Nic nie wiem o implementacji szyfrowania plików. Wiem tylko, że trzymam się tego, czego używają eksperci.
surfasb

Odpowiedzi:

6

Byłbym bardzo zaskoczony, gdyby faktycznie przechowywał hasło (zakodowane lub nie) w zaszyfrowanym pliku, ponieważ spowodowałoby to fundamentalny brak zrozumienia kryptografii, w takim przypadku zdecydowanie zaleca się przerzucenie oprogramowania, jeśli potrzebujesz zaszyfrowanych plików, aby były bezpieczne. Nie ma praktycznego powodu do przechowywania hasła.

Nawet niska cena nie jest powodem, aby go używać, jeśli to rzeczywiście przechowywać hasła, ponieważ istnieje wiele od innych programów , które są o wiele bardziej bezpieczne, a nawet za darmo (w rzeczywistości, nawet standardowe archiwizujące zapewniają bezpieczny funkcji szyfrowania (bez zapisywania hasła) .


Jeśli chodzi o Data Guardian, mam złe wieści. Zrobiłem kilka testów, a ty i Amazed macie rację. Wygląda na to, że hexIdentifierpole nie jest powiązane tylko z hasłem, ale nie jest to nawet skrót, to rzeczywiste hasło! (aczkolwiek zakodowane, choć nie z dużym alfabetem).

Jeśli ciągle zapisujesz ten sam plik z hasłem o coraz większym rozmiarze (np. Jeden znak, dwa znaki, trzy…) spowoduje to zmianę pola, ale rozmiar pozostanie stały (64-bitowy), do ośmiu znaków, następnie od dziewięciu do 16 znaków pole zmienia się na 128-bit i tak dalej. Innymi słowy, składa się z części (padów?) I koduje hasło w 8-znakowych blokach. Gdyby to był skrót, rozmiar pola pozostałby stały bez względu na długość hasła. Dlatego faktycznie koduje i przechowuje samo hasło.

W folderze programu znajduje się biblioteka DLL, która wskazuje, że używa szyfru blokowego Blowfish (który korzysta z bloków 64-bitowych - pamiętasz powyższe fragmenty 64-bitowe?), Więc hasło jest prawdopodobnie zaszyfrowane zarówno tym, jak i danymi ( chociaż oddzielnie od danych, a nie jako część tego samego strumienia, co czyni go jeszcze bardziej wrażliwym).

Wykryłem już kilka aspektów algorytmu w ciągu zaledwie kilku minut po prostu przeprowadzeniu testów wewnątrz programu (jednocześnie oglądając telewizję) bez otwierania go w deasemblerie lub patrzenia na pojedynczy wiersz kodu. Nie sądzę, że byłoby to zbyt trudne dla kogoś z odpowiednią motywacją, aby całkowicie to odwrócić.


Podsumowując, Data Guardian nie jest wystarczająco wiarygodny, jeśli potrzebujesz szyfrowania (w pewnym sensie nie spełnia celu nazwy). Jeśli nie potrzebujesz szyfrowania lub dane nie są wrażliwe, możesz sobie z tym poradzić (jest to specjalny program do przechowywania danych w przeciwieństwie do ogólnego programu do szyfrowania). W przeciwnym razie, jeśli bezpieczeństwo jest konieczne, lepiej byłoby poszukać innego programu do zarządzania rekordami z silniejszym szyfrowaniem lub po prostu użyć zwykłego programu (lub nawet Data Guardian) i zaszyfrować zapisane pliki za pomocą ogólnego programu do szyfrowania (lub szyfrowania NTFS ).

Możesz także skontaktować się z deweloperem i zapytać, czy mogą zaimplementować silniejsze szyfrowanie (nawet standardowy Microsoft crypto API [1] [2] [3] [4] byłby dobry; również Crypto ++ jest powszechny, ponieważ Boost nie mógł go dodać).

Synetech
źródło
Wygląda na to, że tag HexIdentifier jest bezpośrednio powiązany z hasłem. Być może nie jest to hasło, ale istnieje korelacja.
Andrew Lambert
Prawdopodobnie skrót. Nawet to jest niewskazane. Nie jest trudno zaszyfrować mały plik przy użyciu różnych haseł, aby uzyskać funkcję haszującą ( szczególnie jeśli jest to standardowy plik, taki jak MD5, SHA-1 itp.), A następnie odwrócić hasło za pomocą brute-force.
Synetech
@Syntech: Jeśli hasło jest przechowywane w postaci solonego skrótu, a algorytm skrótu jest wystarczająco silny, wyprowadzenie hasła z skrótu może być tak trudne, jak złamanie algorytmu szyfrowania. Jasne, jeśli hasło jest słabe, możesz użyć siły, ale dotyczy to również odszyfrowywania pliku.
Dennis
1
> Hasło jest tym, czym go wybiorę. 11 losowo wybranych znaków alfanumerycznych (AZ, az, 0-9) osiągnęło już wartość 64-bitową @Dennis, hasło jest nieograniczone przez algorytm. Rozmiar hasła zależy od alfabetu. Jeśli pozwolę tylko na znaki {abc}, czteroznakowe hasło nie oznacza 32 768 permutacji (32-bitowych), to tylko 81 permutacji. O wiele łatwiej (i szybciej) złamać.
Synetech
1
@bpqaoozhoohjfpn, jaka analiza? Mam na myśli, że mogą oni być prawnie odpowiedzialni za, w zależności od tego, co twierdzą. Jeśli powiedzą, że używa silnego szyfrowania (zwłaszcza jeśli szczegółowo określają algorytmy i tym podobne), a dojdzie do naruszenia, mogą zostać postawieni przed sądem w związku z fałszywymi roszczeniami, ale jeśli przyznają słabe szyfrowanie (a może nawet nic nie mówią, chyba że wyraźnie zapytano), a następnie mogą argumentować, że nigdy nie twierdzili, że jest bezpieczny. Na przykład, jeśli mówię, że jestem stolarzem, a następnie zbuduj gówniane krzesło, możesz pozwać, ale jeśli przyznam się do okropności, to nie możesz narzekać, prawda?
Synetech