Technologie dla partyzantów

USA ma DARPA - wojskową agencję technologiczną, która między innymi wynalazła internet jako sposób na zdecentralizowany sposób wymiany informacji na wypadek wojny atomowej.
Jeśli Polska też ma taką instytucję i jeśli faktycznie najskuteczniejszą formą obrony w wykonaniu Polaków jest partyzantka, to mam nadzieję, że ta nasza organizacja pracuje nad mechanizmami wspierającymi partyzantów.

Jak sobie wyobrażam takie technologie? Jako informatyk, a może dlatego, że Babcia pomagała drukować i kolportować ulotki, stawiam przede wszystkim na wymianę informacji. Nie wyobrażam sobie jak można by utrzymywać podziemie, podejmować akcje dywersyjne itd bez wymiany informacji.
Oprócz tego istotny jest też eksport informacji poza kraj - docieranie z przekazem do zagranicznych mediów, czy władz.

Nie jestem administratorem, ale rozumiem, że obecnie większość rozwiązań komunikacyjnych bazuje na internecie. Jak pokazał Snowden, ma to swoje wady - zwłaszcza gdy ktoś zły kontroluje firewalle na granicy kraju (jak w Chinach) bądź routing (jak w Chinach czy USA) . Wydaje mi się, że rozsądnie działający opresant w jednym z pierwszych kroków pewnie położy łapę na DNSach routerach i firewallach:) Do tego dochodzi problem, że nawet gdyby ufać samej infrastrukturze to najpopularniejsze protokoły są mało bezpieczne, a nawet jeśli im ufać, to aplikacje które z nich korzystają nie są, poza tym ludzie z nich dziwnie korzystają (np. nie wrzucanie na Facebooka zdjęć z czołgu, albo organizowanie tam protestów przeciw opresantom, to proszenie się o namierzenie, identyfikacje i problemy). Internet byłby bardziej przydatny, gdyby realizował oryginalną koncepcję DARPA : dużo redundantnych połączeń pozwalających pakietowi z miejsca A do miejsca B dotrzeć na wiele sposobów - otwierałoby to nowe możliwości ukrywania danych (np. dzielimy pakiet na dwa których suma jest oryginalnym pakietem a każdy z nich jest losowy, albo np. wysyłamy tę samą informację kilkoma kanałami by zweryfikować czy ktoś nią nie manipuluje, albo np. robimy jakiś onion routing ..). Tymczasem, z powodu cięcia kosztów, internet bardziej przypomina kształtem drzewo niż klikę - wystarczy "kontrolować korzeń" i wszystkie "międzymiastowe" połączenia muszą przechodzić przez twój router.

Telefonia komórkowa to temat którego zupełnie nie ogarniam, ale wydaje mi się, że ma podobne problemy z centralizacją. Ciekawym pomysłem jest ten mafii Meksykańskiej - postawili w całym kraju swoje własne maszty GSM i nadają szyfrowany przekaz.
Problem z ich podejściem jest taki, że można go stosować tylko z pozycji przewagi siły - obce maszty łatwo namierzyć, obce telefony łatwo striangulować, więc system zapewnia tylko tajność informacji, a nie sam fakt komunikacji, czy przynależności do mafii - dla partyzantów to za mało.

Sieci sensorów i ogólniej zdecentralizowane sposoby komunikacji to coś w co tutaj wierze - każdy telefon ma w sobie przecież nadajnik. Może więc teoretycznie (a czasem i praktycznie) nadawać bezpośrednio do innych telefonów w pobliżu.
Wydaje mi się że w dużych skupiskach ludzkich jakimi są miasta, gdzie uprawia się partyzantkę, dałoby się zaimplementować jakiś taki protokół przesyłania informacji, w którym dane skaczą od telefonu do telefonu.

Może powinienem zacząć od zdefiniowania celi takiego projektu. Po pierwsze zapewnienie bezpieczeństwa korzystającym z niego osobom. Tzn. nie powinno się dać dociec, że należysz do partyzantki (bo np. z Twojego domu wychodzi jakieś łatwo namierzalne promieniowanie, albo dlatego, że jakiś przechwycony na mieście pakiet zawiera Twój adres domowy).
Odbiorca wiadomości powinien móc sprawdzić czy wiadomość pochodzi od danej osoby - tutaj wyobrażam sobie jakieś standardowe certyfikaty i podpisy, tj. jako partyzant mam w swoim telefonie klucze publiczne odpowiednich kontaktów.
Anonimowość. Szybka adaptacja na wypadek wpadki - możliwość szybkiego skasowania wszystkiego z telefonu. Idealnie jakby dane przechowywane na Twoim telefonie były w takiej postaci która nijak nie zdradza w wypadku przejęcia przez wroga nic o pozostałych członkach partyzantki. Podoba mi się np. aplikacja z tokenem Kredyt Banku - ona ani nie komunikuje się z netem, ani nie przechowuje hasła/pinu na telefonie - bardzo sprytnie wymyślona i bazująca na tym, że część wiedzy jest w głowie posiadacza.

Czasem trzeba też ukryć odbiorcę wiadomości - jedyne co mi przychodzi w tym zakresie do głowy, to broadcast - wysyłanie wiadomości do wszystkich, ale zaszyfrowanej w sposób zrozumiały tylko dla tej osoby która powinna ją odebrać. To oczywiście mało wydajny sposób, ale pewnie istnieją jakieś sensowne trade-offy (np. wysyłanie wiadomości do 10% ludzi, nadal czyni niepraktycznym wsadzanie i torturowanie ich wszystkich).

Oczywiście opresant może w pewnym momencie stwierdzić, że w obliczu niemożności sforsowania protokołu, po prostu zdelegalizuje posiadanie przy sobie telefonów. Albo będzie karał już samo korzystanie, nawet biernie z jakiegoś tam protokołu.
Jedyny sposób na zabezpieczenie się przed tym jaki widzę, to wrzucenie na jeden wózek partyzantów i całej infrastruktury - tak aby opresant wprowadzając takie prawo de facto uniemożliwiał funkcjonowanie całego kraju.
Wydaje się nierealne? Wyobraźcie sobie co by było gdyby np. na dzień dzisiejszy zdelegalizowano używanie prądu? Czy dałoby się taki kraj bez prądu utrzymać w ryzach, a jeśli nawet tak, to po co? Po co Ci kraj w którym ludzie giną w szpitalach, straż pożarna nie gasi pożarów, a w sklepach rozmraża się żywność. Absurd.
No więc myślę, że już całkiem podobny poziom uzależnienia mamy obecnie od telefonów, a w niektórych obszarach pewnie i od internetu.

Myślę więc, że strategicznie ważnym byłoby, aby protokoły i technologie dla partyzantów NICZYM nie różniły się od protokołów i technologi używanych przez państwo - to po prostu musi być to samo. Tak aby nie dało się ich zdelegalizować, nie rozpierniczając zdobytego kraju.

O ile więc umiem sobie wyobrazić, że jacyś zapaleni studenci informatyki, czy jakaś firma kryptograficzna, zrobi super aplikację na androida z onion-routingiem, podpisami grupowymi, secret sharingiem, wypieralnymi podpisami itd itp, to jak długo będzie to coś z czego korzysta się "opt-in", a nie obowiązujący w kraju standard, tak długo nie będzie to sensownym rozwiązaniem dla partyzantów.
Przykładowo, co z tego, że teoretycznie korzystając z HTTPS czy SSL mogę sobie zrobić super-tajny tunel i oglądać zagraniczne strony, skoro władze mojego państwa (tak jak w chinach) mogą zdelegalizować korzystanie z HTTPS, czy DNSów lub providerów innych niż kontrolowane przez państwo. Albo sięgając dalej w historię: co z tego, że teoretycznie możemy drukować ulotki na kserografach, jeśli zakup tonerów będzie nielegalny.

Być może zamiast decentralizacji istnieje inna ścieżka: centralizacja, ale z centrum poza granicami kraju.
Trochę w tym guście było korzystanie w Turcji z DNSów google, czy korzystanie w Egipcie z Facebooka.
Ma to IMHO mało sensu, dopóki ktoś może położyć łapę na jedynej nitce łączącej kraj z resztą świata.
I tutaj ciekawym wyjściem może być komunikacja satelitarna - technologia pewnie droga jak cholera, ale być może nie aż tak rzucająca się w "radarowe" oczy - nie znam się na tym, ale mam wrażenie, że cały bajer tej technologii polega na tym, że wiązka informacji wycelowana jest "w górę" a nie na boki i ciężko ją przez to podsłuchać czy wręcz wykryć, o ile nie jest się idealnie na linii komunikacji.

Co do delegalizacji prądu - ciekawą koncepcją są konwertery sieci Ethernet na sieć elektryczną - nie wiem za bardzo jak to działa i jaki ma zasięg - na bank nie dalej niż do najbliższej stacji trafo na osiedlu - ale może warto tę technologię trochę rozwinąć?
Może dałoby się przesyłać dane po rurach z zimną wodą?
Delegalizacji wody nie umiem sobie wyobrazić.

Sieci sensorów - może to ma sens? Nie wiem za bardzo jak działa Bluetooth w naszych "rodzimych" Estimoteach, ale może jak już całe miasto będzie nimi pokryte, to będzie się dało przesyłać dane?

Jest też taki jeden koncept, który ciągle we mnie żyje, ze względu na swoją absurdalno-praktyczność - pomysł by informacje o ruchu drogowym samochody przekazywały między sobą poprzez (niezauważalne dla oka) mruganie świateł. Ma on w sobie też jakiś taki posmak steganografii - ukrywania informacji w najbardziej widocznym miejscu.
Kiedyś z kolegami ukryliśmy kod źródłowy aplikacji nad którą pracowaliśmy w najmniej znaczących bitach obrazku z mapą dojazdu wysłaną do rodziny. (Co było śmieszne - zapomnieliśmy którą z 24 kombinacji little-endian/big-endian RGB,BGR,itd użyliśmy do kodowania i mieliśmy przez to sporo problemów z odczytem:D).

W jednej z części Sagi Cienia O.S.Carda uwięzione dzieci próbują wysłać informacje do świata zewnętrznego o swoim losie ukrywając ją w jednym z internetowych memów, który potem rozprzestrzeni się wirusowo.
Jest z tym pomysłem kilka problemów, których autor pisząc to wiele lat temu mógł nie przewidzieć - główny to taki, że w obecnym czasie jest tak dużo popularnych memów, że ciężko by było monitorować je wszystkie.
Poza tym opresant może dość szybko wpaść na pomysł zbnaowania FB, Twittera, kwejka itd, nie ponosząc przy tym wielkich strat, a może nawet produktywność wzrośnie.
Poza tym, nie jest łatwo w dzisiejszych czasach wymyślić mem który podbije serce całego świata (dowód: firmy reklamowe dostają za to grubą kasę a im nie wychodzi).
No i ostatni "problem" - ludzie repostując obrazki, często rekompresują je na nowo jako JPEG, tak, że co raz mniej szczegółów oryginalnego zdjęcia zostaje zachowanych - problem interesujący nie tylko dla partyzantów ukrywających tajne przekazy, ale też dla właścicieli praw autorskich do zdjęć, którzy bardzo by chcieli stworzyć w końcu algorytm znaków wodnych odpornych na rekompresję.

Jako odpowiednik "heligorafów autostradowych", możnaby (ale raczej nie w najbliższym czasie) pomyśleć nad jakimiś modami do ludzkiego ciała, które by ukrywały w Twoim codziennym zachowaniu, ruchach, mowie, barwie głosu, gestach podprogowy przekaz dla modu w głowie innych osób obok Ciebie itd. Ale to chyba za dużo zachodu - nie wiem czy nie dałoby się prościej ukrywać komunikację w istniejących już protokołach, które mają sporo stopni swobody. Np. o ile timing jest bodaj super istotny w telefonii GSM, o tyle w Internecie to kiedy wyślesz pakiet i jakiej długości, trochę zależy od Ciebie. Możesz więc ukrywać informacje "morsem" w "out-of-band channel", po prostu wpływając niskopoziomowo na to jak działa Twoja karta wi-fi. Jest też cała masa pakietów które "do niczego nie służą", a mogłyby - PING, ARP itd, które też można użyć do steganografii.

Ciekawym pomysłem jest też "równoległy internet" - ponoć naprawdę istnieje, ale nie korzystałem - idea jest prosta: użytkownicy podziemnego internetu umawiają się na używanie zupełnie innych DNSów niż reszta świata, dzięki czemu wpisując w przeglądarce adres https://xyz.com dostają zupełnie inną stronę. Pomysł można pewnie rozszerzyć na używanie innych stron kodowych, innych czcionek, itd, ale wydaje mi się, że ciężko zrobić by był niewykrywalny dla opresanta.

Atakując problem od dupy strony, możnaby postawić sprawę tak: koniec końców chodzi przecież o to, by opresantowi nie opłacało się nadal być opresantem. Trzeba więc stworzyć taki system, w którym jedyną sensowną dla niego strategią będzie się wynieść, i/lub w ogóle nie wkraczać.
I to jest całkiem ciekawy pomysł, który nie wiem jeszcze jak wykorzystać - co mi chodzi po głowie to te "idiotyczne" ostrzeżenia na routerach, żeby nie zmieniać ich częstotliwości bo mogą interferować z izraelskim sprzętem wojskowym itp.
Może gdyby infrastruktura kraju była technologicznie niekompatybilna z wojskową technologią przeciwnika, to byłoby coś?
Może powinniśmy celowo nastrajać nasze maszty radiowe, telewizyjne, Wi-Fi itd na te same częstotliwości co rosyjskie MIG-i ?
Albo wręcz na opak - zamiast robić by MIG spadał przelatując koło Wi-Fi w Starbacksie, zrobić tak by miasto się "wyłączało", gdy wkracza do niego wojsko.
To może być trochę sprzeczne z intuicją, ale mi się naprawdę nie wydaje, by w podbijaniu cudzych krajów chodziło tylko o terytorium na mapie - miasto które nie działa, szerzą się zarazy itd chyba nie przyda się do niczego najeźdźcy.
Może więc zorganizowanie miasta tak, by nie było w stanie funkcjonować dopóki po ulicach krążą patrole wojskowe, byłoby niezłym pomysłem?

Można też być po prostu upierdliwym: posiadanie innego rozstawu torów kolejowych to całkiem fajny przykład.
Ale można mieć też inne gniazdka elektryczne.
Własne strony kodowe i czcionki.

Jeszcze innym sposobem podejścia do komunikacji, jest jej całkowite wyeliminowanie, poprzez dostarczenie wszelkiej potrzebnej wiedzy offline zawczasu.
Przykładowo, zamiast mieć dostęp online do Wikipedii, mógłbyś mieć w domu wydrukowaną papierową wersję.
Świetną inicjatywą jest pomysł Marcina Jakubowskiego inspirowany chyba Garden Of Eden Creation Kit, aby spisać krok po kroku wszystko co potrzeba by odtworzyć cywilizację po katastrofie - od najprostszych rzeczy w stylu jak zrobić sobie śrubokręt, po skomplikowane koparki i maszyny do robienia cegieł z gleby.
Myślę, że dałoby radę dystrybuować obywatelom informacje istotne na czas partyzantki zawczasu: jak udzielić pierwszej pomocy, gdzie podłożyć bombę by wysadzić most, którędy biegną kanały pod miastem itp.
Oczywiście te informacje często mają podobną wartość dla opresanta co dla partyzantów.
Nie zawsze tak jednak jest (np. nic złego się nie stanie gdy partyzant przechwyci informacje o tym jak udzielić pierwszej pomocy, albo Autocadowy model karabinu do wydrukowania na drukarce 3D).
W sytuacji gdy tak jest (plany korytarzy pod miastem, czy info jak wysadzić most) trzeba by pewnie wymyślić jakiś sposób zapewnienia, że dane te można odczytać tylko mając odpowiednie przywileje - to już problem kryptograficzny, chyba nie wiele trudniejszy od zabezpieczenia komunikacji w internecie, a być może nieco prostszy?

Drukarki 3D ogólnie są fajnym pomysłem, ale cierpią na ten sam problem co kolportaż ulotek - wystarczy zbanować surowiec używany przy procesie druku. Dlatego więcej wysiłku powinno się włożyć w propagowanie drukarek, które używają zupełnie zwykłych surowców. Np. drukarka piaskowa, która tworzy w zasadzie szklane obiekty.
Opiłki żelaza też wydają się spoko - chyba, że zbanują posiadanie rowerów w piwnicach i pilników.

Być może rozwiązaniem jest pojechać jeszcze bardziej po bandzie i "wyłączyć" wszystko.
Znane ze Starcrafta (a istniejące naprawde) EMP, czy niektóre rodzaje broni jądrowej, potrafią unieszkodliwić całą elektronikę natychmiast. Sporo tego typu "eksperymentów" i to nad własnymi miastami! robili amerykanie i ruscy - efekt był z reguły taki, że po zdetonowaniu bomby atomowej w górnych warstwach atmosfery powstawała tak silna fala elektromagnetyczna że indukował się prąd we wszystkich długich kablach - trakcje kolejowe, tramwajowe, telegrafy, linie zasilania, telefonia, itd wszystko się jarało.
To trochę chore i raczej nie widzę sensu stosowania czegoś takiego na własnym terytorium, bo na bank bardziej zaszkodzi cywilom, niż wojskowym.
Ale, może w kluczowym momencie, jako desperackie rozwiązanie, mogłoby "wyrównać w dół" szanse opresantów i partyzantów.
Byłoby to pewnie bardziej skuteczne w stosunku do kogoś kto używa dronów, laserowych celowników, egzoszkieletów i wszczepek mózgowych, niż prostego mechanicznego kałasznikowa.

Jako informatyka ciekawi mnie jednak głównie ten kryptograficzny aspekt - jak zorganizować sieć komórkową by gwarantowała obywatelom skuteczną komunikację, niezależnie od warunków.

Popularne posty z tego bloga

Szczęście jako problem inżynieryjny

Kilka rzeczy, o których żałuję, że nie powiedziano mi, gdy byłem młody

Produkt: Ojciec*