Tęczowe flagi w świecie nielegalnych liczb, czyli dziś będzie o kryptografii
24.06.2017 | aktual.: 24.06.2017 18:35
Wyskrobuję już resztki z dna beczki z napisem „historie do opisania na blogu”, stąd śmielej poszukuję inspiracji, skutkujących wpisami coraz bardziej odmiennymi od dotychczasowych. Ponieważ skonfrontowany z dnem zawsze dziarsko sięgam po łopatę, pozwolę sobie na domieszki z pozatechnologicznych dziedzin, leżących w zasięgu moich pretensjonalnych zainteresowań. Rozminę się dzięki temu zupełnie z grupą docelową niniejszej strony i w dodatku zrobię to z uśmiechem na twarzy. Zacznijmy więc.
Żyję w społecznej bańce. Zaczęło się to już dawno temu, wskutek pójścia do szkoły dla dzieci bogatych rodziców. Od tego czasu egzystuję w surrealistycznym odseparowaniu od wyznawców wielu obecnych form szaleństwa, w tym tego ustrojowego, skutkiem czego ze zdziwieniem wyglądam za okno, a wiadomości czytam wręcz z lękiem. Jestem przyzwyczajony do nieco mniejszego lęku przed uśmiechem, niż ten, który staje się obecnie modny i nie odczuwam promowanej pośrednio dumy z bycia smutnym i rozgoryczonym. Nie uśmiecham się raczej dlatego, że robią się od tego zmarszczki.
Ale tęczowych flag i tak nie lubię. Nie lubię ich rzecz jasna z powodów całkowicie pozamerytorycznych, w swym niezdrowym rozmiłowaniu w poszukiwaniu inspirującej formy, zawsze kosztem treści. Dlatego dziś będę pisał o innych flagach, trochę mniej tęczowych. Ale tylko trochę. Najpierw muszę wyjaśnić, skąd się biorą trochę-tęczowe flagi. W tym celu musimy przybrać szaty konspiracyjne i zająć się przez chwilę nieznanym powszechnie zagadnieniem, czyli tematyką nielegalnych liczb. Dzięki temu niniejszy wpis wzbogaci się o treść. Do tej pory jej bowiem nie ma, mimo dwóch wstępów. Pewnie dlatego powstało słowo „przedmowa”.
Dwanaście? Nie ma takiej liczby!
Czy liczba może być „nielegalna” – to pytanie brzmi dość absurdalnie. No bo przecież to jest tylko liczba. Zakazywanie liczb jest wszakże niewykonalne, a przede wszystkim szalenie niepraktyczne: nie możemy pewnego dnia powiedzieć, że „nie ma takiej liczby jak 12”, zakazać wszelkich dwunastek, wyprowadzić na ulice dwunastkową milicję. Bo chwilę później ktoś jednak będzie musiał policzyć do dwunastu i okaże się plugawym przestępcą godnym potępienia. Jest to boleśnie oczywiste.
Tak mówi intuicja. Z intuicją możemy się tu jednak kłócić (a ja lubię to robić, bo dzięki temu uchodzi mi na sucho gadanie do siebie w miejscach publicznych). Wszak ponad 70 lat temu, ludzie, jak von Neumann, Turing i Shannon, zaprezentowali – dla nas równie oczywistą, ale wtedy rewolucyjną – metodykę wykorzystywania liczb nie tylko do wyrażania mnogości, ale również do uniwersalnego przechowywania informacji. Stąd „zapis cyfrowy” pozwala dziś jednoznacznie i w pełni opisać wszystko, co nas otacza. Z punktu widzenia zewnętrznego obserwatora, który, powiedzmy, nie składałby się z atomów, a z jakichś nieznanych nam „elementów nadrzędnych”, opisywanie świata atomami będzie tak samo niewinne i urocze jak nasze opisywanie świata liczbami. Liczby, będąc dla informacji budulcem tak samo fundamentalnym, jak atomy dla obiektów materialnych mogą podlegać takim samym regułom. A od reguł już tylko krok do ograniczeń. I zakazów.
Stosując mniej podniosłą analogię, zadajmy pytanie odwrotne: dlaczego liczba nie może być nielegalna? Nasz „zewnętrzny obserwator” mógłby nas bowiem o to zapytać ze szczerą ciekawością – czemu wszystkie liczby mają być legalne, skoro niektóre układy atomów, składające się np. na ścieżkę kokainy, legalne nie są? Legalność liczby nie powinna zatem wynikać z samej jej natury bycia liczbą, a z planowanego zastosowania. Jeżeli komukolwiek powyższe rozważania wydają się zbyt odrealnione (współczuję), spieszę z wieścią, że właśnie na taki problem natknął się pewien siedemnastoletni programista z Norwegii, kilka miesięcy przed końcem dwudziestego wieku. I zdecydowanie nie rozważał wtedy żadnych zagadnień filozoficznych. Robił coś nie mniej odstręczającego: napisał program omijający zabezpieczenia kryptograficzne formatu DVD Video.
Versatile Disc
Krótkie przypomnienie: zapis wideo na nośniku DVD‑Video (czyli takim „z wypożyczalni”) jest ujęty w formacie MPEG, ale całość jest zaszyfrowania „mieszadełkiem” CSS. Nie jest to zwyczajne zabezpieczenie przed kopiowaniem! To bardzo ciekawa, boczna uliczka licencjonowania, która w wiatrach historii pojawiła się w formacie DVD: mieszadło CSS uniemożliwia poprawną pracę kodekom, które nie znają klucza odwracającego CSS. Oznacza to, że filmy DVD zawierają ochronę, ale nie przed kopiowaniem, a przed odtwarzaniem w nieautoryzowanych odtwarzaczach. Mój ukochany Windows Millennium Edition miał oddzielny program „Windows DVD Player”. System zawierał kodek MPEG, ale nie miał licencji na klucze odwracające CSS, więc nie potrafił odtwarzać żadnych filmów DVD bez dostarczenia takowej. Było kilka powodów, dla których nie zaopatrzono Windowsów w owe klucze: po pierwsze, system stałby się od tego droższy, a wiele komputerów w ogóle nie miało wtedy napędów DVD. Poza tym, oficjalne wymagania sprzętowe Windows Millennium były ustalone na poziomie poniżej mocy niezbędnej programowemu dekoderowi CSS. Więc gdyby Windows DVD Player umiał odtwarzać filmy DVD od razu, wymagania sprzętowe mogłyby podskoczyć i zniechęcić potencjalnych klientów. Swoją drogą, na początku XXI wieku sprzedawano nie tylko programy do odtwarzania DVD (jak InterVideo WinDVD) ale także sprzętowe dekodery CSS, podpinane przez szynę PCI. Oba rozwiązania wzbogacały Windows DVD Playera o umiejętność odtwarzania płyt. Po dwunastu latach, dekoder filmów DVD wykopano z Windowsa na nowo, bo nikt przytomny nie używa już napędów optycznych.
Sprzętowe dekodery miały (podpisane) sterowniki tylko dla Windowsów, również tylko dla Windowsów wydawano programy takie, jak InterVideo WinDVD. Oznacza to, że użytkownicy systemów linuksowych nie mieli możliwości odtwarzania filmów DVD (a Wine w roku 2000 naprawdę nie ogarniał jeszcze takich rzeczy). Posiadacze Windowsów mogli zaopatrzyć się w (płatne) odtwarzacze, ale CSS wymuszał odtwarzanie treści w konkretnej kolejności. To oznaczało nieprzewijalne reklamy i ostrzeżenia FBI, obowiązkowe menu i rozdziały dostępne tylko w niektórych regionach świata. Nie dało się „ogolić” DVD z owych funkcji, ponieważ były zabezpieczone przed kopiowaniem. W jaki sposób szyfr CSS zabezpieczał przed kopiowaniem, a nie jedynie przez nieautoryzowanym odtwarzaniem? W bardzo paskudny. Klucz CSS znajdował się poza tzw. blokiem użytecznych danych, a więc poza systemem plików. Odpytanie płyty DVD o strumień 1:1 zakończyłoby się w takim przypadku poprawnym skopiowaniem płyty, ale znajdujący się na niej plik z filmem (VOB) byłby śmietnikiem bajtów. Dopiero przepuszczenie pliku VOB przez klucz, odszyfrowany za pomocą pasującego klucza w odtwarzaczu, pozwala otrzymać strumień wideo. A więc stworzenie „obrazu ISO” chronionej płyty DVD skutkowało całkowicie poprawnym zrzutem systemu plików, który jednak zawierał całkowicie bezużyteczne dane. To bardzo niskopoziomowa i złośliwa metoda ochrony danych. Co więcej, był to bat dla dzierżawców licencji DVD: jeżeli któryś z nich przestałby płacić, nowo tłoczone płyty nie zawierałyby już klucza niegdyś podarowanego krnąbrnemu producentowi, przez co wytwarzane przez niego odtwarzacze byłyby niezdolne do wyświetlania filmów z nowych nośników. Dlatego dzierżawcy kluczy DVD/CSS byli mocno pilnowani.
Greed Level Stupid
Wielki biznes (i większość polityków) nie potrafi jednak zrozumieć, że tego typu rozwiązania, mimo bardzo skomplikowanego zaplecza matematycznego, cierpią na pewną trywialną bolączkę, jaką jest zjawisko najsłabszego ogniwa. Otóż klucze rozszyfrowujące można rozdać tylko czołowym (najdroższym) producentom, dzięki czemu standard nie ulegnie popularyzacji. Wobec tego należy rozszerzyć krąg odbiorców na firmy wytwarzające gorszy i tańszy sprzęt (bandę Chińczyków). Takie firmy mają znacznie większy kłopot ze strzeżeniem tajemnic. Od czasu do czasu ktoś ukradnie im np. klucz prywatny do podpisywania sterowników, dzięki czemu oprogramowanie ransomware może się instalować w systemie jako drukarka, a system temu przyklaśnie, bo sterownik jest od zaufanego producenta. Czasem też zdarzy im się też… nie zaszyfrować tajnych kluczy CSS. A one będą czekać na wspomnianego już wcześniej Norwega.
Osiemnastoletni Jon Lech Johansen („DVD Jon”) skorzystał z klucza wykopanego z odtwarzacza XingDVD. Wbrew nazwie wskazującej na bandę Chińczyków, była to amerykańska firma, wspólnik złowrogiego Real Networks. Klucz okazał się na tyle krótki, że możliwe było odgadnięcie wielu pozostałych. To dość potężna fuszerka, biorąc pod uwagę fakt, że nad zabezpieczeniami CSS pracował przez wiele miesięcy kwartet gigantów: IBM, Intel, Panasonic i Toshiba. Jak udowodnią kolejne przykłady, góra pracy inżynierów największych firm świata zaskakująco często okazuje się być niweczona przez przewidywalny, sztywny lub krótki klucz. Wygląda to niemal jak sabotaż, skrzętnie ukrywany przed menedżerami. Przecież jedną z kluczowych cech DVD miało być bezpieczeństwo… A może po prostu dobrych inżynierów jest znacznie mniej, niż nam się wydaje?
Bezpieczeństwa nie zaznało nie tylko DVD, ale również sam Jon Johansen. Młody Norweg został odwiedzony przez norweską policję, która w 2000 roku nawiedziła jego norweskie mieszkanie. Mimo, że dokonał on badania posiadanego programu w celu odtwarzania posiadanych płyt DVD, w praktyce dokonując aktu kopiowania na własny użytek, a więc w zgodzie z krajowym prawem. Istnieją bowiem organizacje, dla których prawo działa trochę mniej. I podobnie jak sławni ludzie nigdy nie idą do więzienia, wielkie firmy mogą pozywać niewinnych i w dodatku wygrywać niemożliwe procesy. Johansen został pozwany za opublikowanie klucza odszyfrowującego filmy chronione prawem autorskim i mechanizmem szyfrowania CSS. Nie pozwało go DVD Forum, rozwijające standard DVD, ani nawet 4C Entity, zawiązane celem stworzenia ominiętych przez Jona szyfrów. Na drogę sądową wystąpiła organizacja DVD‑CCA. Nie zatrudnia ona żadnych inżynierów, a jedynie prawników (zupełnie, jak Oracle!): wszak są w niej zrzeszeni dystrybutorzy filmów, tacy, jak Metro-Goldwyn-Mayer, Twentieth Century Fox i Warner Bros, a oni nie potrzebują nikogo więcej.
Objection!
Z takimi ludźmi trudno jest wygrać. Nie ma tu znaczenia, czy ma się rację, czy nie. Zresztą sama sprawa jest skomplikowana: udostępnienie tajnych kluczy mieszadła CSS nie jest naruszeniem praw autorskich, bo sam klucz-ciąg bajtów nie jest chroniony takim prawem. Technicznie nie został również skradziony, ponieważ znajdował się na płytach, które Jon sam kupił. Ale da się sprawę ująć inaczej: jest to uzyskanie nieautoryzowanego dostępu do danych i wywoływanie szkód wskutek nabycia lub zastosowania wiedzy zdobytej w taki sposób. A na to jest paragraf w norweskim kodeksie. Ma numerek 145 i jest w rozdziale 13 kodeksu, zapewne karnego (tłumaczenie na to nie wskazuje). Oczywiście DVD‑CCA nie zależało na porządku prawnym, a na tym, żeby ukarać śmiertelnika, który mógł ich zmusić do budowania krótszych basenów w swych posiadłościach i rzadszej gry w golfa. Johansen zakładał, że nie może od razu bronić się z wykorzystaniem argumentu „nie nabyłem mojej wiedzy w nieuprawniony sposób”, bo ma do czynienia z wielkim biznesem. Dlatego zaczął od przypomnienia, że stworzył jedynie program pozwalający na odtwarzanie zakodowanych filmów, ale sam algorytm pochodzi z Niemiec, a jego twórca pozostaje anonimowy (dziś zapewne miałby większy problem z zachowaniem owej anonimowości, chociaż czy na pewno?). A sam klucz z XingDVD wyciągnęli Rosjanie (sprawa jest znacznie gorzej udokumentowana, niż się wydaje). Ale przecież anonimów sądzić się nie da, a w Rosji żadne prawo w ogóle nie działa/nie istnieje, więc producenci filmowi musieli za cel obrać Johansena.
Grupy warezowe nie wykazywały szczególnego entuzjazmu zainteresowaniem wokół DVD Jona, bo choć był dobrym kozłem ofiarnym, w praktyce ukradł pięć minut sławy prawdziwym autorom. Krakerzy to dumne istoty, widać to po obowiązkowych sygnaturach „gangowych” we wszystkich warezowych produkcjach, więc na przypisywanie twórcy GUI autorstwa całego algorytmu reagowali raczej nieprzychylnie. Jednakże krakerzy to tylko jedna (i nieszczególnie chwalebna) z wielu grup, które razem tworzą umowną kulturę hakerską. DVD Jon znalazł sojuszników w bardzo ciekawej organizacji Electronic Frontier Foundation, kontrolującej mechanizmy prawne związane z tzw. prawami cyfrowymi. Sfinansowali oni obrońców w sądzie. Johansena oczyszczono z zarzutów, a DVD‑CCA wycofało swój pozew, zapewne po odkryciu, że przychody z płyt nie spadły (szok!), a prawnicy kosztują.
Trolling is a art
Ponieważ był to pierwszy istotny przypadek prób zakazywania dystrybucji kodu źródłowego, internet zareagował bardzo intensywnie. W ramach akcji w słusznej sprawie, internauci na wiele sposobów próbowali „unieśmiertelnić” kod, włączając go do innych dzieł, aby jak najbardziej utrudnić egzekwowanie zakazu jego dystrybucji. Wydaje mi się to nieco nieproporcjonalne względem zagadnienia, ale tłumienie pasji uznaję za zbrodnię, więc trudno mi to krytykować. Stąd też z radością przytoczę przykłady dzieł, w które wtopiono algorytm lub konkretną implementację DeCSS. Moim ulubionym przykładem jest wiersz autorstwa Setha Schoena. Wyszedł on z założenia, że program zapisany w języku programowania jest pracą literacką, więc wiersz na bazie kodu będzie tekstem zainspirowanym cudzą twórczością. Powstały również, między innymi, tiszerty oraz krawat z nadrukowanym kodem. Sprzedawców pozwano – noszenie krawata z DeCSS było bowiem współudziałem w przestępstwie (czyżby słynna policja mody istniała naprawdę?). Nie wolno również zapomnieć o DeCSS w formie dźwięku MIDI, skomponowanego przez Jeffa Schrepfera. Poza tym stworzono górę ASCII-Artów, obrazków z wiadomością zaszytą steganograficznie, diagramów i obwodów elektrycznych z implementacją DeCSS opartą na bramkach.
Podejściem, które uznaję za najbardziej zuchwałe ze wszystkich, jest metoda, jaką zastosował Phil Carmody. Udało mu się, nakładem pracy i uporu, zapisać oryginalną implementację algorytmu (stworzoną w języku C) jako liczbę pierwszą. Mimo zapoznania się z historią dotarcia do owej liczby, dalej jestem pod wrażeniem. Jako, że znaleziona liczba była liczbą pierwszą, a nie liczbą-liczbą, nieco łatwiej na zarzut „To nielegalny program ukryty jako liczba!” odpowiedzieć „Nope – it’s science. This number is a prime. Look it up. It’s a real thing”. Niestety, odkryta liczba nie jest elegancka. Nie da się jej ładnie zapisać notacją wykładniczą, jak np. liczby 10^(2085+1)*(818181818+10^(2085+9))+1, która w dodatku jest palindromiczna i strobogramatyczna. Można ją przedstawić jedynie w pełnej, 1402-cyfrowej postaci:
485650789657397829309841894694286137707442087351357924019652073668698513401047237446968797439926117510973777701027447528049058831384037549709987909653955227011712157025974666993240226834596619606034851742497735846851885567457025712547499964821941846557100841190862597169479707991520048667099759235960613207259737979936188606316914473588300245336972781813914797955513399949394882899846917836100182597890103160196183503434489568705384520853804584241565482488933380474758711283395989685223254460840897111977127694120795862440547161321005006459820176961771809478113622002723448272249323259547234688002927776497906148129840428345720146348968547169082354737835661972186224969431622716663939055430241564732924855248991225739466548627140482117138124388217717602984125524464744505583462814488335631902725319590439283873764073916891257924055015620889787163375999107887084908159097548019285768451988596305323823490558092032999603234471140776019847163531161713078576084862236370283570104961259568184678596533310077017991614674472549272833486916000647585917462781212690073518309241530106302893295665843662000800476778967984382090797619859493646309380586336721469695975027968771205724996666980561453382074120315933770309949152746918356593762102220068126798273445760938020304479122774980917955938387121000588766689258448700470772552497060444652127130404321182610103591186476662963858495087448497373476861420880529443
Pan Carmody był jednak znacznie bardziej uparty. Kilka miesięcy później odnalazł kolejną liczbę pierwszą (ponownie brzydką), tym razem przechowującą kod wykonywalny programu DeCSS. W ten sposób możliwe było przemycenie w formie liczbowej zarówno formie kodu C, jak i skompilowanej. Wszystko to wedle romantycznej hipotezy „matematyka nie może być nielegalna” i „liczby są poza zasięgiem prawa”. Chociaż przybliża je do niego nazwanie ich dziełem zależnym.
Artystyczne postacie kodu DeCSS są interesującym artefaktem kultury hakerskiej i potrafią być niezłą pożywką dla wyobraźni. Nieco trudno jest się im jednak przebić do masowej popkultury, głównie ze względu na wymaganą wiedzę z zakresu matematyki, a przecież myślenie boli. Stąd też popularyzacja zjawiska nielegalnych liczb wymaga lepszego nośnika. Ale nielegalnych liczb jest znacznie więcej – i istnieją przypadki, w których nie trzeba do ich wyrażenia stosować mało gustownych krawatów. Nie trzeba nawet daleko szukać: drugim przykładem nielegalnej liczby służy nam ponownie format DVD, tym razem w efemerycznej i zapomnianej wersji „HD DVD”, która przegrała batalię z BluRay. Oba z powyższych nowych formatów były chronione następcą CSS – funkcjonalnie odmiennym narzędziem szyfrującym AACS. Mechanizm AACS okazał się być (ponownie!), mimo góry pieniędzy i zaangażowania wielu poważnych firm, podejrzanie łatwy w obejściu, mimo agresywnych założeń projektowych. Kilka lat rozwoju oprogramowania najwyraźniej mocno przyczyniło się do spadku jakości i rozpanoszenia lenistwa, bowiem tym razem nie trzeba było szukać dziwnych odtwarzaczy i ich dezasemblować. Wystarczył słynny InterVideo WinDVD.
Encrypt the unencryptable!
Podobnie, jak CSS, AACS miał wbudowany mechanizm straszaka na nieposłusznych dystrybutorów: jeżeli jakiś klucz się wydostał, zostawał anulowany i „skompromitowane” odtwarzacze nie mogły otwierać filmów wytłoczonych po dacie jego anulowania. Dlatego, gdy pod koniec roku 2006 opublikowano pierwszy odkryty klucz, filmowcy je anulowali, wymuszając aktualizację oprogramowania. Bez niej odtwarzanie nowych filmów byłoby niemożliwe.
Klucz odkryto, bo WinDVD trzymał go sobie w jawnej postaci w pamięci RAM. Wystarczyło zrzucić jej zawartość i pogrzebać patykiem. Anulowano więc klucz dla WinDVD i ów program nie mógł już odtwarzać nowych płyt. Wydano wtedy obowiązkową aktualizację. Pamiętam ją. Mój ThinkPad T61 zaczął ją pobierać przez Lenovo System Update w 2007 roku. Nowy WinDVD miał lepiej strzeżony klucz, a poprzednia jego wersja nie mogła już odtwarzać nowych filmów. Ale w międzyczasie wygrzebano klucz z PowerDVD. Anulowano i ten. Rozpoczęto tłoczenie nowych płyt. Klucz dla nich wyciekł zanim jeszcze udało się je rozesłać do sklepów. Od tego czasu, wraz z każdą falą nowych kluczy, wkrótce potem pojawia się przeciek. I jakoś nikomu się to jeszcze nie znudziło.
Gdy wyciekł pierwszy klucz, można było twierdzić, że niby nic się nie stało. Wystarczy bowiem trochę poczekać, na rynek wejdą nowe płyty i problem rozwiąże się sam. Z tym, że to nie do końca tak działa. Aby zainteresować ludzi migracją na HD‑DVD/BluRay, trzeba dysponować wstępną bazą filmów w takim formacie. Nie można wydać pilotażowych dwóch-trzech tytułów, bo nikt nie kupi nowego sprzętu, żeby odtwarzać dwa filmy. Z tego powodu trzeba wydać kolekcję nowości, a wypożyczalniom zapewnić pełną ścianę płyt, choćby najwęższą. Od czegoś takiego trzeba zacząć i istotnie zainwestowano właśnie w takie „nadmiarowe” produkcje, zapewne dość dużo pieniędzy. Dlatego publikacja pierwszego klucza narobiła całkiem sporo szkody. Bowiem fakt, nowe filmy się nie odtworzą na programach z przeciekającym kluczem, ale żeby zainteresować rynek, wydano wcześniej całe morze płyt, które dalej będą działały (i dawały się kopiować!). Wielki biznes wpadł więc na ten sam pomysł co zwykle – próbować wyegzekwować zakaz publikacji klucza, postulując, że wartość: 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 jest nielegalną liczbą. Forsowanie źle zaimplementowanej i bezsensownej ochrony przed kopiowaniem, a następnie nieudolne próby odgrażania się, gdy wszystko runie, to motyw cyklicznie pojawiający się w mediach elektronicznych. Najwyraźniej niektórzy ludzie po prostu nigdy się nie męczą.
To nieprawda, że z internetu nic nie znika, mnóstwo rzeczy przepadło bezpowrotnie, mimo wieloletnich poszukiwań, nie da się ich odnaleźć. Zdarzają się za to przypadki odwrotne: dane, które uparcie nie chcą zniknąć, mimo, że wiele osób naprawdę by tego chciało. Napiętnowanie materiałów jako „nielegalne” nie tylko utrudnia ich usunięcie, ale wręcz sprawia, że poznają je osoby, których w ogóle by one nie obchodziły, gdyby nie nagły hałas wokół nich. W ten sposób, żądania usunięcia klucza AACS poskutkowały eksplozją popularności i publikowaniem go na tysiącach blogów, osi czasu, galerii i agregatorów. To urokliwe zjawisko, oparte na problemie „nie myśl o słoniu”, nosi miano Efektu Streisand.
Capture the Flag
Klucz AACS w formie liczbowej jest kilkusetkrotnie krótszy od liczbowej postaci DeCSS, więc jego rozpowszechnianie było znacznie łatwiejsze. Internetowy romantyzm (i świadomość techniczna użytkowników) mocno już jednak wytracił impet, toteż mimo łatwiejszego materiału, powstało zdecydowanie mniej utworów zależnych, mających na celu przemycenie klucza. Brak woli walki jest dla mnie bardzo interesujący. Nie umiem oszacować, na ile jest on związany z marazmem, poczuciem nieuniknionej klęski w starciu z biznesem, obojętnością, czy nieświadomością. Być może powód jest inny: nierzadko możemy się spotkać z tezą, że „greatest generation” w przypadku internautów przypada właśnie na lata 90te, a wszystko potem jest już tylko nędznym echem. To eleganckie wytłumaczenie, ale może okazać się zbyt proste. Chciałbym mu poświęcić więcej czasu, ale nie tutaj. Teraz istotny jest jedynie fakt, że było wyraźnie mniej prób ukrycia klucza AACS. Wśród nich, jedna szczególnie się wyróżnia na tle kilkudziesięciu innych (nie mowa tu o utworze „Oh nine, Eff nine”, wszak brzmi on okropnie). Od razu przykuła moją uwagę, z racji niezaprzeczalnego potencjału symbolicznego.
Klucz AACS składa się z szesnastu bajtów, mogących przyjąć wartość od zera do 255 (FF). Notacja bajtowa (w systemie szesnastkowym) jest wykorzystywana w internecie między innymi do definiowania kolorów: za pomocą trzech bajtów można zapisać dowolny kolor. Na przykład #FFC0CB (czyli 255, 192, 203) to kolor różowy. Jeżeli więc podzielimy klucz na trójki, uzyskamy pięć kolorów i jeden wolny bajt. Naniesione obok siebie, wyglądają następująco:
Niniejszy twór nazwano „flagą wolności słowa”. To bardzo doniosły i intensywny przekaz, jednocześnie elegancki w swej estetyce. Flaga rozpanoszyła się w internecie dekadę temu, ale w przeciwieństwie do glidera, emblematu hakerskiego, szybko straciła na popularności. Glidera widzimy dalej (w pewnych kręgach), flaga jakoś zniknęła. Całkiem możliwe, że jej nazwa była zbyt ogólna, lub nietrafiona. Pojęcie wolności słowa, w anglosferycznym internecie, kojarzy się dziś głównie z tym, czy wolno publikować narodowość przestępców oraz czy dopuszczalne jest życzyć śmierci prezydentowi USA (lub jego kontrkandydatce z wyborów). Trudno wrócić z debatą na tory techniki, trzeba bowiem uchylać się od zarzutów spłycania tematu, rzekomego sprowadzania go do kwestii praw autorskich, a nawet domniemywania „nawiedzonej ewangelizacji” (to problem, z którym boryka się między innymi fundacja FSF i ruch Wolnego Oprogramowania). Twierdzę zatem, że nazwa była niewłaściwa, co zmarnowało okazję do popularyzacji samego pomysłu.
Flaga wolności słowa nie została jednak zapomniana w całości. Gdy w ramach Fail0verflow pokazano, jak uruchamiać własny kod na PlayStation 3 (fantastyczna prezentacja! Gorąco polecam obejrzenie ), ogłoszono, że rzekomo losowy czynnik składający się na weryfikację podpisu cyfrowego, w praktyce jest bardzo nielosowy. Wyciągnięcie owej sztywnej wartości umożliwiło fałszowanie podpisów i w efekcie uruchamianie samodzielnie przygotowanego oprogramowania. Klucz składał się tym razem z dwudziestu bajtów i on również otrzymał swoją flagę, nawiązującą formułą do flagi wolności słowa. Wszak liczba będąca kluczem PS3 również była liczbą nielegalną.
Trik z gigantyczną liczbą pierwszą, pozwalający na ukrycie kodu DeCSS, wcale nie dowodzi, że liczby nie mogą być nielegalne. Przeciwnie, udowadnia wręcz, że każda liczba może być potencjalnie nielegalna, jeżeli jest wykorzystywana do przechowywania nielegalnej informacji. Tasiemcowa liczba pierwsza nie jest „tylko liczbą”, ponieważ wiadomo, że użycie tak niestandardowej wartości na swój konkretny cel, jakim jest przemycenie zakazanego algorytmu. Klucz tak krótki, że da się z niego zrobić flagę, to ten sam przykład, tylko na mniejszą skalę. Nikt nie zabroni, w ramach wolności słowa, utkać flagi w barwach kodu AACS. Natomiast rozpowszechnianie bezstratnego pliku graficznego z charakterystycznym zbiorem konkretnie zdefiniowanych barw jest jedynie „zmianą alfabetu”, z liczb na kolory, ponownie celem przechowywania nielegalnej informacji. „Zakazywanie” owej liczby mogłoby być egzekwowane wyłącznie kontekstowo, bez wpływu na naturalny obieg informacji. Zabronienie dystrybucji kodu DeCSS nie sprawiłoby, że z książek trzeba wyrywać strony o numerze „485650789657397829309841894…….”, bo po pierwsze takich stron nie ma, a po drugie wiadomym byłoby, że takie użycie liczby nie służy powielaniu algorytmu łamiącego szyfrowanie.
Naturalnie, każe to zadać pytanie o granicę. Gdy jakaś wielka korporacja okaże się wkrótce jeszcze bardziej leniwa niż Sony ze swoim PlayStation 3 i wykorzysta klucz nie tylko sztywny, ale i krótki, np. „5”, to czy wypisywanie piątek na murach będzie wandalizmem, czy nieprawomyślnym aktem bezprawia w wykonaniu cyfrowych dysydentów? Ewidentnie istnieje długość liczby, od której kończy się przekonanie, że jej użycie jest „niewinne”, a zaczyna podejrzenie, że oto następuje obrót zakazaną wiedzą.
Zawsze można powrócić do argumentu, że liczby nie mogą być nielegalne i bronić go przekonaniem, że po prostu żaden algorytm nie może być nielegalny. Że żadne zjawisko zapisane jako informacja, choćby nie wiem jak tajna i chroniona, nie może być zakazane, bo nie jest ani czynnością ani obiektem materialnym. Nie jest to bezpodstawny sposób rozumowania. Ale chciałbym zaznaczyć, że otwiera on jeszcze ciekawsze pytania, niż pogląd odmienny.
Otóż załóżmy, że jesteśmy jedynie symulacją, uruchomioną na superkomputerze jakiejś obcej cywilizacji. Nasze „nielegalne” programy do kradzieży treści DVD byłyby takim samym stanem pamięci owego komputera, jak akty morderstwa, kradzieże i gwałty. Więc byłyby bezsprzecznie liczbą, a mimo to – jednocześnie – czynami zabronionymi. Czy to czyni ową liczbę nielegalną? I w czyim kodeksie?
Albo idźmy ze skalą w drugą stronę: oto udało nam się dopracować sztuczną inteligencję na tyle, że potrafimy zestawić ze sobą osoby-boty, napisane w Javie, i obdarzone wyobraźnią. Pozwalamy im żyć w symulacji, uruchomionej na klastrze ze skrakowanych PlayStation 3, po czym okaże się, że jeden z botów promuje przemoc wedle głoszonej ideologii totalitarnej, a drugi założył rozgłośnię radiową nawołującą do nienawiści i pełniącą rolę pralni brudnych pieniędzy (BitCoinów). Wprowadzając reguły prawa w naszej symulacji, zakazujemy pewnych stanów, co oznacza, że czynimy pewne liczby nielegalnymi. Czy wolno ich wobec tego używać poza symulacją? A może te liczby wcale nie są nielegalne, bo w tej symulacji siedzą tylko aplety Javy, a nie prawdziwi ludzie. Nie mogą więc popełnić prawdziwego przestępstwa.
Podobnie, jak „prawdziwych przestępstw” nie mogą się dopuszczać małe mięsne ludziki w uproszczonym, trójwymiarowym świecie z tylko jedną osią czasu. Bo przecież są tylko zrobieni z atomów, a ich świat – sprzedawany jako zabawka na bazarze.
Cheers!