Re: Program Truecrypt, czy da się złamać

Autor: Wojciech \ <spook.no_at_unwanted_mail.op.pl>
Data: Thu 11 Jan 2007 - 22:56:17 MET
Message-ID: <eo6bpu$usl$1@news.dialog.net.pl>
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response

MarlonB wrote:
> Tutaj jest błąd, takie algorytmy istnieją.

To podaj konkret.

Jeśli algorytm jest znany, to wchodzi w grę brutalna rzeczywistość:

jawne dane + algorytm + klucz = zaszyfrowane dane

Zaszyfrowane dane + algorytm + klucz -> jawne dane

W drugim równaniu jest jedna niewiadoma - klucz - którą *zawsze* można
próbować łamać bruteforcem (nawet, jeśli zajmie to kilkadziesiąt/set/tysięcy
etc lat). Pamiętaj, że w tym wypadku bronisz *całkowitej* niełamalności
szyfru.

A jeśli algorytm jest nieznany? Coś musi te dane szyfrować, jakiś program.
Reverse-engeneering, analizujemy assemblera i po kilku(nastu) dniach (a w
przypadku sprytnych programistów zapewne po kilku godzinach a może i mniej)
dostajemy ładną rozpiskę algorytmu. I wracamy do punktu 1. Analogicznie,
jeśli kod jest zaszyfrowany, to coś musi go deszyfrować w locie żeby mógł
być uruchomiony - wtedy albo analogiczna technika albo użycie debuggera - i
tyle. Oczywiście jest to praco- i czasochłonne, ale w tym wypadku mówimy o
dniach - maksymalnie miesiącu, może dwóch. To jest akceptowalny czas na
złamanie algorytmu.

Chyba, że w czasie, gdy nie interesowałem się zbytnio algorytmami
szyfrowania wymyślono coś sprytniejszego niż zaprezentowane przeze mnie
schematy. Wtedy chętnie posłucham.

> No tak, ale to z Twojego punktu widzenia, bo od strony statystycznej
> nie ma różnicy czy sprawdzasz hasła po kolei, na ukos, czy losowo -
> prawdopodobieństwo zostaje takie samo.

Nie do końca. Trudno znaleźć na świecie użytkownika, który zabezpieczy swoje
dane hasłem 'aaaaaaaaaaaaaa' bądź 'aaaaaaaaaaaaab' itp. Takie hasła również
zostaną przez bruteforce'a sprawdzone, ale jeśli odpowiednio skonstruujemy
algorytm losujący znaki, to wystąpienie takich sekwencji będzie mniej
prawdopodobne od sekwencji bardziej skomplikowanych. Przez to można
zwiększyć prawdopodobieństwo trafienia we właściwą sekwencję. Ponadto można
"skłonić" algorytm losujący hasła, by korzystał częściowo z jakiegoś
słownika - przedzielał litery znakami, próbował 1337-code itp. Bank sobie na
takie dziury nie pozwoli, ale mogę bezpiecznie oszacować, że ~30% populacji
internautów korzysta z haseł pokroju "26-06-1985" bądź "Alamakota"; Zapewne
około 50-60% z haseł pokroju "A1a M4 k0&t4", które przecież również nie są
aż tak bezpieczne i dopiero ostatnie 10-20% korzysta z bezpieczniejszych
"l#9H;==13Ag</]1(94.?/" haseł. Przyznaj sam, do której kategorii należysz?
Ja do drugiej (no, może niekoniecznie podany przeze mnie ciąg stanowi moje
hasło ;)).

Tak, wiem, że jeśli ktoś ustawi sobie hasło 'aaaaaaaaaaaaaa', to algorytm
będzie mniej efektywny. Ale jak powiesz, że myślisz, że na świecie są
_rozsądni_ ludzie, którzy szyfrują dane takimi hasłami to mi nieźle
poprawisz humor.

> A od siebie dodam, że są na tym świecie rzeczy, które są dużo bardziej
> PRAWDOPODOBNE, niż znalezienie symetrycznego 128bitowego klucza metodą
> bruteforce, które powszechnie uznaję się za kompletnie niemożliwe :)

...ale to nie zmienia faktu, że prawdopodobieństwo jest niezerowe. Czyli
zdarzenie jest prawdopodobne.

Pomijam fakt, że jak ktoś się uprze, to skorzysta z uprzejmości użytkowników
na całym świecie i złamie taki kod w kilka miesięcy (mówię o przetwarzaniu
rozproszonym) - i z tego, co pamiętam, to złamano już tak kilka wersji RSA
(wersji w sensie "bitowości" klucza). Oczywiście były to u każdego te same
zaszyfrowane dane - ich ważność zapewne zdezaktualizowałaby się po tych
kilku miesiącach. Ale to nie zmienia faktu, że wchodzimy w strefę miesięcy,
które już stają się całkiem sensownym odcinkiem czasu.

Twoim błędem jest też - moim zdaniem - ściśle matematyczne spojrzenie na
sprawę (sic!). Bo jeśli weźmiesz pod uwagę uwarunkowania społeczne, to może
się okazać, że na przykład policja zrobi wielką akcję reklamową, która
będzie miała na celu zebranie użytkowników do przetwarzania rozproszonego.
Wyobraź sobie na przykład seryjnego mordercę i gwałciciela, który
zamordował, powiedzmy, kilkanaście dziewczynek poniżej 7. roku życia.
Chodziłoby o złamanie szyfru, którym potraktował filmy z morderstw - i
jedyne dowody w śledztwie. Nie pomógłbyś? Przy czym pamiętaj, że podałem
tylko jeden przykład - zapewne na większość Twoich zarzutów pod jego kątem
dałoby się odpowiedzieć, wymyślając bardziej wyrafinowane i sprytne (i przy
tym realne) przykłady, tyle tylko, że wróciłem po studiach i pracy do domu,
jest 22:46 i mi się po prostu nie chce myśleć :P

Nie chodzi mi tu o stwierdzenie "JA MAM RACJĘ!!!111oneoneone", tylko o to,
żeby uświadomić, że złamanie tego kodu - jakkolwiek mało, to jednak jest
prawdopodobne. Może nawet - przy odpowiednim nakładzie sił i środków - w
mniej niż rok - a to już nie jest tak zabawne dla osoby która, na przykład,
szyfruje nielegalne rzeczy albo ma na dysku zaszyfrowane dowody zbrodni.
Prawda?

> Również pozdrawiam.
>
> M.

Pozdrawiam -- Spook.

-- 
! ._______. Warning: Lucida Console sig!    //)    !
! || spk ||    www.spook.freshsite.pl      / _ """*!
! ||_____||        spook at op.pl         / '  | ""!
! |  ___  |   tlen: spoko_ws gg:1290136  /. __/"\ '!
! |_|[]_|_|  May the SOURCE be with you! \/)     \ ! 
Received on Thu Jan 11 23:05:05 2007

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Thu 11 Jan 2007 - 23:42:02 MET