Różnica między teorią a praktyką bezpieczeństwa i kryptografii?

21

Jakie są interesujące różnice między teorią a praktyką bezpieczeństwa i kryptografii?

Najciekawsze będą oczywiście przykłady sugerujące nowe kierunki badań teoretycznych w oparciu o praktyczne doświadczenia :).

Odpowiedzi mogą obejmować (ale nie wyłącznie):

  • Przykłady, w których teoria sugeruje, że coś jest możliwe, ale nigdy nie jest wykorzystywane w praktyce
  • Przykłady, w których teoria sugeruje, że coś jest bezpieczne, co nie jest bezpieczne w praktyce
  • Przykłady szeroko rozpowszechnionego praktycznego zastosowania mają niewiele teorii.

...

Zastrzeżenie

Jeśli twoja odpowiedź ma zasadniczo postać „Teoria dotyczy asymptotyków, ale praktyka nie”, to albo teoria powinna być naprawdę centralna, lub odpowiedź powinna zawierać konkretne przykłady, w których praktyczne doświadczenie w rzeczywistych instancjach różni się od opartych na oczekiwaniach na teorii.


Jeden znany mi przykład: ocena bezpiecznego obwodu. Bardzo mocny w teorii, ale zbyt skomplikowany, aby kiedykolwiek mógł zostać użyty w praktyce, ponieważ wymagałby zabrania kodu, rozwinięcia go w obwód, a następnie przeprowadzenia bezpiecznej oceny każdej bramki pojedynczo.

Joshua Grochow
źródło
Do twojej wiadomości, to pytanie zostało zainspirowane częścią retoryki / dyskusji na inne pytanie: cstheory.stackexchange.com/questions/453/…
Joshua

Odpowiedzi:

23

Och, chłopcze, od czego zacząć.

Ten duży to zdecydowanie czarne skrzynki. Naukowcy zajmujący się kryptografią robią zamieszanie w takich kwestiach, jak problem z przypadkową możliwością losowego modelu Oracle. Badacze bezpieczeństwa są na drugim końcu i chcieliby, aby wszystko było użyteczne jako czarna skrzynka, a nie tylko funkcje skrótu. To jest stałe źródło napięcia.

Aby to zilustrować, jeśli przyjrzysz się formalnej analizie protokołów bezpieczeństwa, na przykład logice BAN , zobaczysz, że szyfrowanie symetryczne jest traktowane jako „idealny blokowy szyfr”. Jest tu subtelne rozróżnienie - logika BAN (i inne techniki analizy protokołów) nie twierdzą, że są dowodami bezpieczeństwa; są raczej technikami znajdowania wad. Dlatego nie jest do końca prawdą, że w grę wchodzi idealny model szyfru. Jednak empirycznie prawdą jest, że większość analiz bezpieczeństwa ogranicza się do modelu formalnego, więc efekt jest taki sam.

Nie rozmawialiśmy jeszcze nawet o praktykach. Ci faceci zwykle nawet nie mają pojęcia, że ​​prymitywne krypto nie mają być czarnymi skrzynkami i wątpię, żeby to się kiedykolwiek zmieniło - dziesięciolecia prób wbicia tego sobie do głowy nie zrobiły żadnej różnicy.

Aby zobaczyć, jak poważny jest problem, zapoznaj się z tym poradnikiem dotyczącym bezpieczeństwa dotyczącym fałszowania podpisów API. Błąd jest częściowo spowodowany atakiem przedłużenia długości w konstrukcji Merkle-Damgard (co jest naprawdę bardzo proste) i wpływa na Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive i Zoomr. Autorzy zauważają, że nie jest to pełna lista.

Myślę, że praktykujący zasługują na lwia część winy za ten smutny stan rzeczy. Z drugiej strony być może teoretycy kryptowaluty również muszą przemyśleć swoją pozycję. Ich linia brzmiała: „budowanie czarnych skrzynek jest niemożliwe; nawet nie będziemy próbować”. Na to, co mówię, skoro jest jasne, że wasze konstrukcje i tak zostaną (źle) wykorzystane jako czarne skrzynki, dlaczego nie spróbować przynajmniej zbliżyć ich do czarnych skrzynek, jak to możliwe?

Artykuł „ Revkleited Merkle-Damgard” jest doskonałym przykładem tego, o czym mówię. Badają pojęcie bezpieczeństwa, że ​​„funkcja skrótu H o dowolnej długości musi zachowywać się jak losowa wyrocznia, gdy blok konstrukcyjny o stałej długości jest postrzegany jako losowa wyrocznia lub idealny blok-szyfr”. Tego rodzaju badania teoretyczne mogą być niezwykle przydatne w praktyce.

Przejdźmy teraz do twojego przykładu oceny obwodu. Błagam, nie zgadzam się z twoim rozumowaniem. To nie jest tak, jakbyś wziął skompilowany plik binarny i ślepo zmienił go w obwód. Zamiast tego zastosujesz ocenę obwodu tylko do podstawowej funkcji porównawczej, co zwykle jest dość proste. Fairplay jest implementacją oceny obwodu. Mój współpracownik, który z nim pracował, powiedział mi, że jest zaskakująco szybki. Chociaż prawdą jest, że wydajność jest problemem przy ocenie obwodu (i znam przypadki rzeczywiste, w których został odrzucony z tego powodu), jest daleki od showstoppera.

Drugim powodem, dla którego nie zgadzam się z tobą, jest to, że jeśli pomyślisz o niektórych typowych scenariuszach, w których możesz chcieć przeprowadzić nieprzejrzystą ocenę obwodu - na przykład, gdy dwie firmy zastanawiają się, czy połączyć - koszty obliczeniowe zaangażowane są trywialne w porównaniu do ogólnego wysiłku ludzkiego i budżetu.

Dlaczego więc nikt nie stosuje w praktyce ogólnej bezpiecznej oceny funkcji? Świetne pytanie. To prowadzi mnie do mojej drugiej różnicy między teorią a praktyką: zaufanie faktycznie istnieje w praktyce! Nie wszystko trzeba zrobić w modelu paranoicznym. Zestaw problemów, które ludzie naprawdę chcą rozwiązać za pomocą kryptografii, jest znacznie, znacznie mniejszy niż wyobrażają sobie kryptografowie.

Znam kogoś, kto założył firmę próbującą sprzedawać bezpieczne usługi obliczeniowe dla wielu firm klientom korporacyjnym. Zgadnij co - nikt tego nie chciał. Sposób, w jaki rozwiązują te problemy, polega na podpisaniu umowy określającej, co możesz, a czego nie możesz zrobić z danymi oraz że zniszczysz dane po zakończeniu ich używania zgodnie z przeznaczeniem. W większości przypadków działa to dobrze.

Moja ostatnia różnica między teorią a praktyką dotyczy PKI. Dokumenty kryptograficzne często przyklejają gdzieś zdanie mówiące „zakładamy PKI”. Niestety cyfrowe certyfikaty dla użytkowników końcowych (w przeciwieństwie do stron internetowych lub pracowników w kontekście korporacyjnym, gdzie istnieje naturalna hierarchia) nigdy się nie zmaterializowały. Ten klasyczny artykuł opisuje wesołość, która pojawia się, gdy prosisz normalnych ludzi o użycie PGP. Powiedziano mi, że od tego czasu oprogramowanie znacznie się poprawiło, ale podstawowe problemy projektowe i architektoniczne oraz ograniczenia ludzkie nie różnią się dziś zbytnio.

Nie sądzę, że kryptografowie powinni robić coś inaczej w wyniku tego braku prawdziwej infrastruktury PKI, poza świadomością faktu, że ogranicza ona rzeczywiste zastosowanie protokołów kryptograficznych. Wrzuciłem to, ponieważ próbuję to naprawić.

randomwalker
źródło
Świetna odpowiedź! (Chociaż przyznaję, że nie do końca to wszystko śledziłem - będę musiał śledzić niektóre z twoich linków i przeczytać je, ale innym razem.) Jeśli chodzi o ocenę bezpiecznego obwodu: uwielbiam to słyszeć. Opinia, którą wypowiedziałem, była zasadniczo moim odczuciem po odbyciu wstępnego kursu teorii kryptografii i zapytaniu mojego profesora o to, czy kiedykolwiek zostanie wykorzystany w praktyce.
Joshua Grochow
Dzięki. BTW, jestem nowy w StackExchange i nie wiem, czy wiki społeczności oznacza, że ​​pisanie z perspektywy pierwszej osoby jest niedopuszczalne. W takim przypadku możesz dokonać zmian.
randomwalker
Chciałbym móc głosować tę odpowiedź więcej niż raz.
Jeffε,
FairPlay jest niepewny w realistycznych modelach zagrożeń (nie jest bezpieczny przed złośliwymi atakującymi; jest bezpieczny tylko wtedy, gdy ufamy, że przeciwnik nie zachowuje się przeciwnie / złośliwie). Wydajność jest łatwa, jeśli bezpieczeństwo nie jest ważne, a bezpieczeństwo jest łatwe, jeśli wydajność nie jest ważna, ale obecnie nie wiadomo, jak osiągnąć jedno i drugie jednocześnie.
DW
Twój komentarz na temat praktykujących jest naprawdę hojny. Natknąłem się na firmę, której jedynym produktem było przetwarzanie płatności za karty kredytowe, które używały szyfru Vigenère z kluczem krótszym niż niektóre fragmenty znanego zwykłego tekstu. A potem nie uwierzyli mi, że to niepewne, dopóki nie wysłałem im kodu ataku.
Peter Taylor
12

Odpowiedź Randomwalkera jest bardzo dobra. Moją ulubioną luką między teorią a praktyką jest model losowej wyroczni. W praktyce wydaje się to bardzo bezpieczną heurystyką (zakładając, że ludzie nie robią czegoś głupiego i przynajmniej odpowiednio wydłużają długość, patrz także odpowiedź randomwalkera), ale nie mamy żadnych pozytywnych wyników teoretycznych na ten temat. W rzeczywistości wszystkie teoretyczne wyniki tej heurystyki są negatywne. Myślę, że to świetne pytanie badawcze i mam nadzieję, że pewnego dnia zostaną udowodnione ciekawe interesujące wyniki tego modelu.

Jeśli chodzi o zaciemnianie, o ile wiem, nawet w praktyce, chociaż jest ono szeroko stosowane, zaciemnianie nie jest uważane za tak bezpieczne jak szyfrowanie i nie jest rozważne stosowanie zaciemniania w celu ukrycia długoterminowego i bardzo wrażliwego sekretu. (W przeciwieństwie do szyfrowania przy użyciu losowej wyroczni, z którą ludzie są w pełni swobodnie w użyciu do tego.) W tym sensie różnica między teorią a praktyką nie jest tak duża. (tj. zaciemnianie jest niezwykle interesującym obszarem, którego daleko nam do zrozumienia zarówno w teorii, jak i w praktyce).

Boaz Barak
źródło
10

Szyfrowanie homomorficzne i bezpieczna komunikacja wielopartyjna to dwa z wielkich odkryć w dziedzinie kryptografii, które nie zostały jeszcze wystarczająco zbadane, aby były praktyczne: wysiłki badawcze, takie jak PROCEED, zmierzają w tym kierunku, aby określić, jakiego modelu programowania możemy użyć do napisania tego rodzaj obliczeń, a także znajdź optymalizacje podstawowych algorytmów kryptograficznych, które sprawiają, że działają one w rozsądnym czasie. Jest to dość powszechne zjawisko w kryptografii: zaczynamy od (stosunkowo) prostych algorytmów, których uruchomienie zajmuje dużo czasu, a następnie kryptografowie spędzają lata na matematyce w celu dalszej optymalizacji algorytmów.

Edward Z. Yang
źródło
10

Przykłady, w których teoria sugeruje, że coś jest możliwe, ale nigdy nie jest wykorzystywane w praktyce:

Łatwo jest znaleźć przykłady rzeczy, które są rozwiązane teoretycznie, ale albo (1) są zbyt nieefektywne, aby je zastosować w praktyce, albo (2) nikt się tym nie przejmuje. Przykłady: (1) (ogólne) dowody zerowej wiedzy, (2) niezaprzeczalne podpisy. W rzeczywistości popatrz na każdą konferencję kryptograficzną, a co najmniej połowa dokumentów prawdopodobnie będzie należeć do jednej z tych kategorii.

Przykłady, w których teoria sugeruje, że coś jest bezpieczne, co nie jest bezpieczne w praktyce:

To pytanie jest nieco niejasne, więc nie jestem pewien, czy na nie odpowiemy - ale istnieje wiele przykładów „możliwych do udowodnienia bezpiecznych” schematów, które w praktyce psują się, ponieważ definicja bezpieczeństwa nie odpowiada scenariuszowi wdrażania. Tylko w ciągu ostatnich kilku lat miały miejsce ataki między innymi na (możliwe do udowodnienia warianty) SSH i IPSec.

Przykłady czegoś w powszechnym praktycznym użyciu ma niewiele teorii:

Zakładam, że masz na myśli kryptowaluty, a nie świat bezpieczeństwa ogólnego. Dobrym przykładem są podpisy DSS, które nie mają dowodu bezpieczeństwa.

użytkownik686
źródło
9

M.M.M.wM.wM.wM.wM.M.M.M.

Istnieje wiele firm komercyjnych, które oferują binarne rozwiązania zaciemniania, a także kilka rozwiązań typu open source. Dokładne metody zaciemniania są oczywiście utrzymywane w tajemnicy; paradygmat zaciemniania dominujący w branży jest heurystyczny, więc znajomość algorytmów stosowanych do zaciemniania pliku binarnego w tym kontekście na ogół zagwarantuje pewną korzyść w deobfuskacji. Zaciemnianie w branży jest znane jako „bezpieczeństwo przez zaciemnienie”.

Istnieją teoretyczne podejścia do problemu zaciemniania, które formalizują pragnienia przemysłu, ale opierają się na ściśle silniejszym pojęciu bezpieczeństwa opartym na trudnej obliczeniach (wyobraź sobie zastąpienie testów liczb całkowitych i równoważności ciągów testami równoważności funkcji jednokierunkowych). W szczególności opracowano badanie zaciemniania punktowego z kompozytu , aby spróbować rozwiązać problem zaciemniania interesujący dla przemysłu. Niestety, najbardziej rozpowszechniony model teoretyczny zaciemniania oparty na modelu zainspirowanym sprzętem odpornym na manipulacje został niemożliwy w 2001 roku przez Baraka i in. W artykule „ O (nie) możliwościach zaciemniania programów ”. (Kilka innych modeli otrzymało również wyniki niemożliwe).

W tej chwili teoria zaciemniania programu znajduje się w ciągłym przepływie i wymaga nowego (prawdopodobnie mniej restrykcyjnego) modelu. W rzeczywistości głównym problemem związanym z teorią jest brak uzgodnionego modelu (a zatem formalnych garuntees). Niedawne pojawienie się w pełni szyfrowania homomorficznego może stanowić taką podstawę (jest to czysto spekulacja ze strony tego autora).

Aby to wyjaśnić, zaciemnianie pasuje do twojego trzeciego przykładu: „Przykłady powszechnego zastosowania praktycznego mają niewiele teorii”. Obfuskacja jest dziś szeroko stosowana zarówno przez przemysł, jak i przez osoby o bardziej nikczemnych celach. Mimo prób zaciemnianie w przemyśle nie opiera się obecnie na żadnej rygorystycznej teorii.

Ross Snider
źródło
8

Istnieje znaczna luka, nawet jeśli chodzi o podstawowe prymitywy, takie jak generatory pseudolosowe. Rozważmy na przykład funkcje pseudolosowe. W praktyce ludzie używają rzeczy takich jak AES , które różnią się od kandydatów teoretycznych (Goldreich, Goldwasser, Micali; Naor, Reingold; itp.) W kilku wymiarach: Po pierwsze, parametry są całkowicie różne, np. AES może mieć długość klucza równą długości wejściowej , co jest niespotykane w konstrukcjach teoretycznych. Być może, co ważniejsze, AES (i wiele innych szyfrów blokowych) postępuje zgodnie z tak zwanym paradygmatem sieci substytucyjno-permutacyjnej, który różni się znacznie od sposobu konstrukcji teoretycznych (np. Tych wymienionych powyżej).

Najciekawsze będą oczywiście przykłady sugerujące nowe kierunki badań teoretycznych w oparciu o praktyczne doświadczenia :).

Myślę, że powyższy przykład jest takim przykładem, patrz na przykład ten artykuł z Erikiem Milesem (z którego zasadniczo pochodzi ta odpowiedź).

Manu
źródło