Krypta.cz - Magazín o informační bezpečnosti
"Společnost X nabízí 1000000 dolarů prvnímu, kdo se dokáže prolámat skrz jejich firewall/rozbít jejich algoritmus/zfalšovat transakci v jejich protokolu/odhadnout další číslo posloupnosti/atd." - takové zprávičky se objevuje každou chvíli. Jsou to crackovací soutěže (výzvy, kontesty), a záměrem pořadatele je ukázat, jak silný a bezpečný je cíl, na který se má útočit. Logika je přibližně taková: Nabídli jsme lákavou cenu za prolomení a nikdo ji nezískal. To znamená, že cíl je bezpečný.
Neznamená.
Soutěže v útočení nejsou dobrým způsobem, jak předvádět bezpečnost, naopak, je to velmi špatný způsob. Výrobek/systém/protokol/algoritmus, který prošel úspěšně soutěží, není nutně důveryhodnější, než ten, který ji vůbec nepodstoupil. Nejlepší soudobé produkty/systémy/protokoly/algoritmy/... nikdy nebyly "prověřovány" soutěží a pravděpodobně ani nikdy nebudou. Soutěže, obecně vzato, neposkytují užitečné výstupy.
Tří hlavní důvody proč
1. Soutěže jsou unfair
Cryptanalysis assumes that the attacker knows everything except the secret. He has access to the algorithms and protocols, the source code, everything. He knows the ciphertext and the plaintext. He may even know something about the key.
Kryptoanalýza předpokládá, že útočník zná všechno, kromě tajemství. Předpokládá, že má přístup k algoritmům, protokolům, zdrojovému kódu, prostě ke všemu. Útočník zná zašifrovanou zprávu (ciphertest), ale i původní zprávu (plaintext). Dokonce se může předpokládat, že zná některé vlastnosti klíče.
Výsledkem kryptoanalytického zkoumání může bý cokoli. Kompletní prolomení: výsledek, který umožňuje překonat bezpečnost za přijatelně krátkou dobu. Teoretické prolomení: výsledek, který je "v praxi k ničemu" , ale ukazuje, že bezpečnost není taková, jak se tvrdilo. Nebo něco mezi.
Naopak většina soutěží v lámání šifer má přesná pravidla, určující, co má útočník k disposici a co je úspěšný útok. Jaws Technologies poskytli zašifrovaný soubor, nepopsali jak pracuje šifrovací algoritmus, a nabídli cenu komukoli, kdo dokáže zjistit plaintext. Tak skutečná kryptoanalýza nevypadá; když takovou soutěž nikdo nevyhraje, neznamená to vůbec nic.
Ve většině soutěží vyhlašovatel nezveřejňuje algoritmus. Většina kryptologů ale vůbec není dobrá v reverse-engeneeringu (Osobně tu práci považuji za zdlouhavou a nudnou), a tak je pro takový výzkum od počátku nezajímavý. To je důvod, proč byly COMP128, CMEA, ORYX, šifra Firewire, PRNG (generátor pseudonáhodných čísel) Netscape a také proslulé šifrování DVD, prolomeny velmi rychle poté, co byly odkryty algoritmy. Přesto, léta předtím byly užívány. Poučení je jasné - když je algoritmus veřejně znám, jeho vady jsou dobře vidět. Ale může trvat roky, než si někdo dá tu práci s reverse-engeneeringem a algoritmus zveřejní. Soutěže nepomáhají.
(Předchozí odstavce neplatí pro armádu. Ve vojenské oblasti je nespočet příkladů útoků bez předběžné znalosti algoritmu - VENONA, PURPLE . Ale v akademickém světě to tak, naštěstí či naneštěstí, nefunguje.)
Soutěže za nerovných podmínek nejsou nic nového. V polovině 80. let minulého století autoři algoritmu jménem FEAL vyhlásili soutěž - zveřejnili ciphertext a nabídli cenu prvnímu, kdo zjistí plaintext. Algoritmus byl kryptology opakovaně prolomen statistickými metodami. Všichni se shodují, že je úplně chybný. Přesto cenu nikdo nezískal.
2. Úsilí není organizované
Soutěže mají podobu náhodných testů. Má se deset lidí, každý pracující 100 hodin na výhře v soutěži, počítat jako 1000 hodin analýzy? Nebo všichni zkoušeli totéž? A jsou účastníci kompetentní analytici, nebo prostě nějací lidé, kteří slyšeli o soutěži a chtějí zkusit štěstí? Že nikdo nezískal cenu, neznamená, že cíl je bezpečný. Znamená to prostě, že nikdo nezískal cenu.
3. Ceny v soutěžích většinou nejsou zajímavé
Kryptoanalýza algoritmu, protokolu nebo kryptosystému může být dost pracná. Lidé, kteří takovou práci dělají, musí mít nějaké důvody. Motivací mohou být peníze, prestiž, nuda. Ale výhra v soutěži? Odborná veřejnost na soutěže pohlíží dost skepticky - společnosti, které je organizují, nikdo nezná, a lidé nevěří, že budou výsledky posuzovat spravedlivě. Pokoušet se o výhru v soutěži je velmi nejisté zaměstnání - někdo může být úspěšnější, a Vy za své úsilí nedostanete vůbec nic. Analyzovat systém, kde jsou placeni za vykonanou práci, nebo kde mohou napsat článek popisující výsledky, je pro kryptology výhodnější.
Stačí zvážit finanční hledisko. Vyjdeme-li ze střízlivého odhadu 125$ za hodinu práce schopného kryptoanalytika, cena 10K$ odpovídá dvěma týdnům práce, což nestačí ani na přečtení zdrojáku. Cena 100 000 dolarů může být zajímavější, ale provedení reverse-engeneeringu je nudné, a ani 100K$ neposkytuje dost času na celý úkol. Cena ve výši 1 000 000$ začíná být zajímavá, ale většina společností si ji nemůže dovolit nabídnout. Co je horší - účastník soutěže nemá žádnou záruku, že dostane zaplaceno. Nemusí nic najít, může jej předehnat a cenu získat někdo jiný, nebo společnost nemusí zaplatit vůbec. Proč by měl kryptonanalytik dávat svůj čas (a dobré jméno) do služeb něčí reklamní kampaně?
Obecně vzato, soutěže v luštění šifer jsou jen reklamní atrakcí. Sponzorování soutěže, dokonce i férové, nedává žádnou záruku, že se jí lidé zůčastní. Že cíl přežil útoky nezaručuje, že v něm nejsou díry.
Skutečným měřítkem důvěryhodnosti je, kolik se udělalo analytické práce, ne, zda byla soutěž. Analýza je pomalý a bolestivý proces. Lidé věří kryptografickým algoritmům (DES,RSA), protokolům (Kerberos) a systémům (PGP, IPSec) proto, že byly celá léta (i desetiletí) cílem podrobného zkoumání a analýzy. A nebyly zkoumány kvůli nějaké iluzorní ceně, ale proto, že jsou buď zajímavé, nebo široce rozšířené (nebo obojí). Analýza patnácti kandidátů AES trvala několik let. Neexistuje žádná cena, která by přiměla nejlepší světové kryptology, aby odložili práci, které se věnují, a začali zkoumat nabídky Meganet Corporation nebo RPK Security Inc. (společnosti, které organizovaly crackovací soutěže v době psaní článku. RPK asi z módních důvodů změnili jméno. Meganet používá crackovací soutěže jako propagační prostředek pořád, pravděpodobně úspěšně. pozn. překladatele). Je mnohem zajímavější hledat chyby v Javě, Windows nebo zabezpečení sítí mobilních telefonů.
Předchozí důvody jsou značná zobecnění. Existuji výjimky, ale je jich opravdu málo. Soutěže RSA, jak v rozkladu na prvočísla, tak brute-force útocích na symetrickí šifry, jsou spravedlivé a užitečné. Nejsou úspěšné proto, že by nabízené finanční částky byly dostatečně motivující ke stavbě zvláštních strojů (nebo budování distribuovaných "počítačů" z desítek tisíc počítačů připojených k internetu , pozn.př.), ale proto, že se výzkumníci stejně zajímají o faktorizaci velkých čísel a útoky hrubou silou. Soutěže prostě zaměřují pozornost na něco, co by bylo dost zajímavé i bez nich. Soutěž AES je také spravedlivá, i když to není soutěž přesně v tom smyslu, jako ostatní zde popsané.
Naše kryptoanalytická soutěž nabízí cenu 10 000 dolarů za nejlepší kritické připomínky k algoritmu Twofish, které nepopsali autoři. Nejsou žádná pravidla, jak má vypadat výsledek. Nejsou žádné zašifrované soubory a původní text, který má být odhalen. Prostě oceňujeme nejlepší výzkumný výsledek, ať vede k úspěšnému útoku, nebo ne. soutěž je spravedlivá, protože 1) algoritmus je kompletně veřejný 2) není přesně definováno, jak vypadá úspěšný útok 3) algoritmus je public domain (t.j. je obecným vlastnictvím, není patentován, může být používán bez svolení či poplatků autorovi. Výsledky výzkumu tedy slouží takříkajíc obecnému blahu. pozn.překl.)
Dobře vymyšlené soutěže mohou poskytnout užitečné informace a odměnit určitou oblast výzkumu. Ale nejsou dobrým měřítkem bezpečnosti. Mohu nabídnout 10K$ první osobě, která úspěšně vnikne do mého domu a ukradne mi z poličky knihu. Když to do konce soutěže nikdo neudělá, neznamená to, že mám dobře zabezpečený dům. Možná se o mé soutěži nikdo s bytařskými schopnostmi nedoslechl. Možná se doslechl, ale měl dost práce s něčím jiným. Možná se nebyl schopen dostat dovnitř, ale přišel na to, jak zfalšovat záznam v katastru nemovitostí, aby mu patřil celý dům. Možná se ke mně domů dostal, rozhlédl se a rozhodl vrátit, až tu bude něco cennějšího, než 10000 dolarů. Soutěž nic neprokázala.