Ukryta tożsamość 9788328314924 [PDF]

Żyjemy w globalnej wiosce. Sieć WWW dokładnie oplotła świat - kawiarenki internetowe są w peruwiańskiej dżungli i wioska

142 52 10MB

Polish Pages 180 [182] Year 2015

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Spis treści
Podziękowania
Rozdział 1. Witajcie, obywatele świata
Źródła globalnej inwigilacji
PRISM
XKEYSCORE
Tempora
Boundless Informant
Krajowe systemy inwigilacji
Sytuacja w Polsce
Inwigilacja w praktyce
Udział prywatnych korporacji
Czy można obronić się przed inwigilacją?
Rozdział 2. Naucz się otwartego oprogramowania
Otwartoźródłowy, czyli jaki?
Zalety oprogramowania otwartoźródłowego
Linux — open source na 100%
Zalety (i… cóż: wady) Linuksa jako systemu operacyjnego
Bezpieczeństwo w systemie Linux
Linux z płyty na dobry początek
Wybór dystrybucji standardowej
Czy zmiana systemu operacyjnego jest potrzebna?
BSD — alternatywa dla Linuksa
BSD bardziej niezależny
Zalety i wady FreeBSD jako systemu operacyjnego
Rozdział 3. Bezpieczne przeglądanie internetu
Po pierwsze, bezpieczeństwo przeglądarki
Dodatkowe rozszerzenia
Dodatkowe opcje bezpieczeństwa przeglądarki
Naprzód, zdobywajmy internet!
Prawie Google, ale nie Google
Ixquick jako osobna wyszukiwarka
DuckDuckGo — „Google Cię śledzi, my nie”
Podróżuj po świecie z OpenStreetMap
Przestroga na zakończenie rozdziału
Rozdział 4. Poczta i szyfrowanie wiadomości
Gdzie trzymać pocztę?
Rzecz o szyfrowaniu korespondencji. Współczesne algorytmy
Instalacja programu GNU Privacy Guard
Linux
BSD
Microsoft Windows
OS X
Podstawy obsługi GPG
Generowanie nowej pary kluczy
Eksportowanie swojego klucza publicznego
Importowanie kluczy
Eksport i import kluczy prywatnych
Szyfrowanie i deszyfrowanie plików
Dodawanie podpisów cyfrowych
Integracja GPG z programami pocztowymi
Instalacja rozszerzenia Enigmail
Wysyłanie zabezpieczonych wiadomości
Odbieranie zabezpieczonych wiadomości
Krótkie podsumowanie
Rozdział 5. Bitmessage. Alternatywa dla e-maili
Istota Bitmessage. Magia sieci peer-to-peer
Korzystanie z sieci Bitmessage
Nasze pierwsze konto Bitmessage
Wysyłanie i odbieranie wiadomości — jak to w ogóle działa?
Listy mailingowe i chany — dwie ciekawe funkcje
Odzyskiwanie kont Bitmessage
Usuwanie kont Bitmessage
Bramka Bitmessage.ch — dlaczego jej unikać?
Bezpieczeństwo i ochrona tożsamości w Bitmessage
Rozdział 6. W mrokach cebulowej sieci
Podstawy obsługi Tora
Jak pobrać i zainstalować Tora?
Tor nie działa poprawnie. Jak żyć, co robić?
Przeglądanie internetu Tor Browserem
Konfiguracja programów sieciowych do pracy z Torem
Ukryte usługi
Jak funkcjonują ukryte usługi?
Kilka ciekawych ukrytych usług
Konfiguracja własnej ukrytej usługi
Pomoc w rozwijaniu sieci Tor
Aspekty prawne Tora
Rozdział 7. Kryptowaluty i pieniądz wirtualny
Bitcoin jako waluta
Mechanizm funkcjonowania sieci bitcoin
Bloki i podaż bitcoinów
Bezpieczeństwo sieci bitcoin
Ściąganie pierwszego klienta bitcoin
Tworzenie konta bitcoin
Odbieranie i nadawanie przelewów
Przenoszenie i odzyskiwanie adresów
Usuwanie adresów bitcoin
Konfiguracja programu do pracy z Torem
Gospodarka i bitcoin
Profesjonalny handel bitcoinami
Gdzie kupować za bitcoiny?
Sytuacja prawna bitcoina
Inne kryptowaluty
Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych
Po co szyfrować dyski i partycje?
Linux gwarantem bezpieczeństwa
Jak funkcjonują dyski i partycje?
Partycjonowanie dysków
Czas na szyfrowanie
Dostęp do zaszyfrowanej partycji
Szyfrowanie partycji domowej Linuksa
Bezpieczeństwo szyfrowania
Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne
Mobilne systemy operacyjne
Strzeż się jabłek z Krzemowej Doliny!
Bezpieczny system operacyjny
Bezpieczeństwo systemu operacyjnego
Bezpieczne źródło aplikacji
AFWall+, czyli firewall dla naszego sprzętu
Orbot — implementacja Tora dla systemów Android
Android i szyfrowanie wiadomości
Aplikacje, aplikacje
Bezpieczeństwo telefonii i połączeń
Podstawowe zagrożenia sieci komórkowej
Połączenia internetowe
Co dwa telefony, to nie jeden
Rozdział 10. Jeszcze więcej sposobów na prywatność
Komunikatory internetowe
Cryptocat — warto rozmawiać. Bezpiecznie
TorChat — cebulkowe rozmowy peer-to-peer
Pidgin i szyfrowanie czatów
Anonimowa sieć I2P
Mechanizm funkcjonowania I2P
Co lepsze — Tor czy I2P?
Instalacja i korzystanie z I2P
Wirtualne sieci prywatne
Rozdział 11. Wszystko w jednym. Linux Tails
Podstawowe cechy Tailsa
Ściągnięcie systemu i zamontowanie na nośniku danych
Linux
Microsoft Windows OS X
Ładujemy Tailsa!
Korzystanie z Tailsa. Podstawy
Pulpit główny GNOME
Konfiguracja połączenia internetowego
Sieć Tor
GPG i szyfrowanie
Bezpieczne wymazywanie plików
Tworzenie stałej partycji Tailsa na dysku wymiennym
Wyłączanie Tailsa
Spis najważniejszych programów Tailsa
Sieci komputerowe
Szyfrowanie i prywatność
Inne
Skorowidz
Papiere empfehlen

Ukryta tożsamość
 9788328314924 [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Spis treści Podziękowania ................................................................................. 7 Rozdział 1. Witajcie, obywatele świata ............................................................... 9 Źródła globalnej inwigilacji ............................................................................................ 10 PRISM ............................................................................................................................ 11 XKEYSCORE ................................................................................................................ 13 Tempora ......................................................................................................................... 15 Boundless Informant ...................................................................................................... 16 Krajowe systemy inwigilacji .......................................................................................... 16 Sytuacja w Polsce ............................................................................................... 17 Inwigilacja w praktyce .................................................................................................... 17 Udział prywatnych korporacji ............................................................................ 19 Czy można obronić się przed inwigilacją? ..................................................................... 20

Rozdział 2. Naucz się otwartego oprogramowania ............................................. 21 Otwartoźródłowy, czyli jaki? .......................................................................................... 22 Zalety oprogramowania otwartoźródłowego ...................................................... 22 Linux — open source na 100% ...................................................................................... 23 Zalety (i… cóż: wady) Linuksa jako systemu operacyjnego .............................. 24 Bezpieczeństwo w systemie Linux ..................................................................... 25 Linux z płyty na dobry początek ........................................................................ 26 Wybór dystrybucji standardowej ........................................................................ 30 Czy zmiana systemu operacyjnego jest potrzebna? ............................................ 36 BSD — alternatywa dla Linuksa .................................................................................... 36 BSD bardziej niezależny .................................................................................... 37 Zalety i wady FreeBSD jako systemu operacyjnego .......................................... 37

Rozdział 3. Bezpieczne przeglądanie internetu .................................................. 41 Po pierwsze, bezpieczeństwo przeglądarki ..................................................................... 41 Dodatkowe rozszerzenia .................................................................................... 42 Dodatkowe opcje bezpieczeństwa przeglądarki ................................................. 47 Naprzód, zdobywajmy internet! ..................................................................................... 48 Prawie Google, ale nie Google ........................................................................... 49 Ixquick jako osobna wyszukiwarka ................................................................... 53 DuckDuckGo — „Google Cię śledzi, my nie” ................................................... 54 Podróżuj po świecie z OpenStreetMap ............................................................... 55 Przestroga na zakończenie rozdziału .............................................................................. 56

4

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 4. Poczta i szyfrowanie wiadomości .................................................... 59 Gdzie trzymać pocztę? .................................................................................................... 59 Rzecz o szyfrowaniu korespondencji. Współczesne algorytmy ..................................... 60 Instalacja programu GNU Privacy Guard ....................................................................... 62 Linux .................................................................................................................. 63 BSD .................................................................................................................... 63 Microsoft Windows ............................................................................................ 63 OS X .................................................................................................................. 64 Podstawy obsługi GPG ................................................................................................... 64 Generowanie nowej pary kluczy ........................................................................ 65 Eksportowanie swojego klucza publicznego ...................................................... 66 Importowanie kluczy .......................................................................................... 67 Eksport i import kluczy prywatnych .................................................................. 68 Szyfrowanie i deszyfrowanie plików ................................................................. 68 Dodawanie podpisów cyfrowych ....................................................................... 71 Integracja GPG z programami pocztowymi .................................................................... 72 Instalacja rozszerzenia Enigmail ........................................................................ 72 Wysyłanie zabezpieczonych wiadomości .......................................................... 73 Odbieranie zabezpieczonych wiadomości .......................................................... 74 Krótkie podsumowanie ................................................................................................... 75

Rozdział 5. Bitmessage. Alternatywa dla e-maili ............................................... 77 Istota Bitmessage. Magia sieci peer-to-peer ................................................................... 77 Korzystanie z sieci Bitmessage ...................................................................................... 79 Nasze pierwsze konto Bitmessage ..................................................................... 80 Wysyłanie i odbieranie wiadomości — jak to w ogóle działa? .......................... 81 Listy mailingowe i chany — dwie ciekawe funkcje ........................................... 84 Odzyskiwanie kont Bitmessage ......................................................................... 86 Usuwanie kont Bitmessage ................................................................................ 87 Bramka Bitmessage.ch — dlaczego jej unikać? ............................................................. 87 Bezpieczeństwo i ochrona tożsamości w Bitmessage ..................................................... 88

Rozdział 6. W mrokach cebulowej sieci ............................................................ 91 Podstawy obsługi Tora ................................................................................................... 92 Jak pobrać i zainstalować Tora? ..................................................................................... 95 Tor nie działa poprawnie. Jak żyć, co robić? ..................................................... 96 Przeglądanie internetu Tor Browserem .......................................................................... 97 Konfiguracja programów sieciowych do pracy z Torem ................................................ 99 Ukryte usługi ................................................................................................................ 101 Jak funkcjonują ukryte usługi? ......................................................................... 102 Kilka ciekawych ukrytych usług ...................................................................... 103 Konfiguracja własnej ukrytej usługi ................................................................. 104 Pomoc w rozwijaniu sieci Tor ...................................................................................... 106 Aspekty prawne Tora .................................................................................................... 108

Rozdział 7. Kryptowaluty i pieniądz wirtualny .................................................. 109 Bitcoin jako waluta ....................................................................................................... 110 Mechanizm funkcjonowania sieci bitcoin .................................................................... 111 Bloki i podaż bitcoinów ................................................................................... 112 Bezpieczeństwo sieci bitcoin ........................................................................... 113 Ściąganie pierwszego klienta bitcoin ............................................................................ 114 Tworzenie konta bitcoin ................................................................................... 114 Odbieranie i nadawanie przelewów ................................................................. 116 Przenoszenie i odzyskiwanie adresów .............................................................. 118 Usuwanie adresów bitcoin ............................................................................... 118 Konfiguracja programu do pracy z Torem ....................................................... 118

Spis treści

5 Gospodarka i bitcoin ..................................................................................................... 119 Profesjonalny handel bitcoinami ...................................................................... 120 Gdzie kupować za bitcoiny? ............................................................................ 122 Sytuacja prawna bitcoina .............................................................................................. 123 Inne kryptowaluty ......................................................................................................... 124

Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych ................................ 125 Po co szyfrować dyski i partycje? ................................................................................. 125 Linux gwarantem bezpieczeństwa ................................................................................ 126 Jak funkcjonują dyski i partycje? .................................................................................. 127 Partycjonowanie dysków .............................................................................................. 128 Czas na szyfrowanie ..................................................................................................... 130 Dostęp do zaszyfrowanej partycji .................................................................... 131 Szyfrowanie partycji domowej Linuksa ........................................................... 132 Bezpieczeństwo szyfrowania ........................................................................................ 133

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne ................................ 135 Mobilne systemy operacyjne ........................................................................................ 135 Strzeż się jabłek z Krzemowej Doliny! ............................................................ 136 Bezpieczny system operacyjny ........................................................................ 136 Bezpieczeństwo systemu operacyjnego ........................................................................ 138 Bezpieczne źródło aplikacji ............................................................................. 139 AFWall+, czyli firewall dla naszego sprzętu .................................................... 140 Orbot — implementacja Tora dla systemów Android ...................................... 141 Android i szyfrowanie wiadomości .................................................................. 142 Aplikacje, aplikacje .......................................................................................... 143 Bezpieczeństwo telefonii i połączeń ............................................................................. 144 Podstawowe zagrożenia sieci komórkowej ...................................................... 145 Połączenia internetowe ..................................................................................... 146 Co dwa telefony, to nie jeden ........................................................................... 148

Rozdział 10. Jeszcze więcej sposobów na prywatność ...................................... 151 Komunikatory internetowe ........................................................................................... 151 Cryptocat — warto rozmawiać. Bezpiecznie ................................................... 152 TorChat — cebulkowe rozmowy peer-to-peer ................................................. 154 Pidgin i szyfrowanie czatów ............................................................................ 155 Anonimowa sieć I2P ..................................................................................................... 156 Mechanizm funkcjonowania I2P ...................................................................... 157 Co lepsze — Tor czy I2P? ............................................................................... 158 Instalacja i korzystanie z I2P ............................................................................ 159 Wirtualne sieci prywatne .............................................................................................. 160

Rozdział 11. Wszystko w jednym. Linux Tails ................................................... 163 Podstawowe cechy Tailsa ............................................................................................. 163 Ściągnięcie systemu i zamontowanie na nośniku danych ............................................. 164 Linux ................................................................................................................ 164 Microsoft Windows .......................................................................................... 165 OS X ................................................................................................................ 165 Ładujemy Tailsa! .......................................................................................................... 165 Korzystanie z Tailsa. Podstawy .................................................................................... 168 Pulpit główny GNOME .................................................................................... 168 Konfiguracja połączenia internetowego ........................................................... 169 Sieć Tor ............................................................................................................ 169 GPG i szyfrowanie ........................................................................................... 171

6

Ukryta tożsamość. Jak się obronić przed utratą prywatności Bezpieczne wymazywanie plików ................................................................... 172 Tworzenie stałej partycji Tailsa na dysku wymiennym .................................... 173 Wyłączanie Tailsa ............................................................................................ 173 Spis najważniejszych programów Tailsa ...................................................................... 174 Sieci komputerowe ........................................................................................... 174 Szyfrowanie i prywatność ................................................................................ 174 Inne .................................................................................................................. 175

Skorowidz ................................................................................... 177

Podziękowania Wyrazy wdzięczności dla Pani dr Anny Beaty Kwiatkowskiej z Wydziału Matematyki i Informatyki Uniwersytetu Mikołaja Kopernika w Toruniu za życzliwą opiekę merytoryczną oraz cenne sugestie związane z tematem niniejszej publikacji. — Tomasz Ciborski

8

Ukryta tożsamość. Jak się obronić przed utratą prywatności

W dobrze urządzonej monarchii poddani są jak ryby w wielkiej sieci: uważają się za wolnych, podczas gdy są schwytani. — Moje myśli, Monteskiusz, przekł. L. Gluck

Rozdział 1.

Witajcie, obywatele świata W drugiej połowie XX wieku znany kanadyjski teoretyk komunikacji i filozof, Marshall McLuhan, przewidywał, że media elektroniczne doprowadzą do końca podzielonego świata i spowodują powstanie globalnej wioski. Kanadyjczyk zmarł w 1980 roku. Nie doczekał ery komputerów osobistych i internetu, obecnych dziś w bez mała każdym domu. Wprawdzie jego teoria, w czasach gdy powstała, wzbudzała nawet śmiech, jednak dzisiaj sprawdza się na naszych oczach. Żyjemy w globalnej wiosce. Dzięki najnowszym zdobyczom technologii możemy komunikować się, z kim chcemy. Możemy poznawać ludzi na całym świecie. Ulice Tokio, Nowego Jorku czy Paryża są nie dalsze niż widok za oknem. Dzisiejsza cywilizacja daje nam możliwość nieskrępowanej wolności w wymianie informacji i myśli. Spełnia się jedno z marzeń filozofów oświecenia. Popularyzacja internetu stworzyła też jednak zagrożenia. Z perspektywy początków XXI wieku mogę stwierdzić, że nigdy w historii ludzkości żadna władza nie dysponowała tak potężnymi środkami do sprawowania nadzoru nad swoimi obywatelami. Dzisiejsze rządy państw, które określają się jako demokratyczne, stosują nieporównywalnie szersze metody inwigilacji niż najbardziej zbrodnicze reżimy w historii. Wywiad sygnałów, kontrola telekomunikacji i skrupulatnie utajniane programy, takie jak ECHELON z lat 70. XX wieku, przeszły już do historii, a ich funkcję przejęło „informatyczne potomstwo”. Prawo człowieka do prywatności łamane jest niemal za każdym razem, gdy przeglądamy strony internetowe i korzystamy z zasobów sieci. Sprawdzane są przesyłane pakiety, opublikowane treści, poufne czaty i prywatne e-maile. Wszystko w imię pojęcia „bezpieczeństwo”. Tak, dla własnego bezpieczeństwa godzimy się na niedogodności i ingerencję w naszą prywatność, na przykład podczas przekraczania kolejnych bramek na lotniskach. Rozumiemy to i akceptujemy, ale jednocześnie w imię „bezpieczeństwa” przeforsowano w Kongresie USA The Patriot Act, który — jak twierdzą znawcy przedmiotu — w kilkuset miejscach sam w sobie jest sprzeczny z konstytucją tego kraju. W tym samym celu stworzono sieć więzień dla osób podejrzanych o terroryzm. Obóz w bazie Guantanamo stał się symbolem. W imię „bezpieczeństwa” wyrażona została zgoda na absolutną kontrolę wszystkiego, co można napisać, pokazać i usłyszeć w internecie. Inne mocarstwo atomowe w imię „bezpieczeństwa” destabilizuje politykę i dokonuje

10

Ukryta tożsamość. Jak się obronić przed utratą prywatności

agresji na suwerenne kraje. Na naszych oczach mocarstwo to anektuje obce terytoria pod hasłem regulowania wadliwych umów międzynarodowych i powrotu do „macierzy” ludności bliskiej etnicznie i językowo. Nadużycia demokratycznych rządów są powszechne i godzą w wolność, równość i sprawiedliwość. Nasuwa się pytanie, czy jest to proces nieodwracalny, taki, przeciw któremu nie można skutecznie zaprotestować, i czy jest jeszcze gdzieś miejsce w cywilizowanym świecie, gdzie przeciętny człowiek może czuć się anonimowo.

Źródła globalnej inwigilacji Władze globalnych mocarstw stosują nadzór nad światowym internetem. To truizm znany od dawna. Każdy rozsądnie myślący człowiek wie, że żaden rząd nie może pozwolić sobie na pozostawienie internetu bez nadzoru. Inwigilacja istnieje prawdopodobnie tak długo jak sama sieć. Od początku są to oczywiście procedury utajnione. Obrońcom anonimowości i prywatności brakowało konkretnych i pewnych dowodów, że system kontroli danych w ogóle istnieje. Ze strony rządów spotykali się w najlepszym przypadku z uporczywym milczeniem, w najgorszym — z ostrą krytyką i zarzutami ignorancji. Tak naprawdę do lata 2013 roku nie istniały żadne pewne przesłanki mówiące o tym, że inwigilacja sieci faktycznie ma miejsce. Prędzej czy później prawda musiała wyjść na jaw. W 2013 roku jeden z pracowników firmy Booz Allen Hamilton, która wykonywała zlecenia dla amerykańskiej Agencji Bezpieczeństwa Narodowego (NSA), zdołał wykraść ponad milion plików objętych klauzulą tajności, a następnie znaleźć się poza granicami swojego kraju. W obawie przed pościgiem 20 maja owego roku Edward Snowden uciekł najpierw do Hongkongu, a potem do Rosji. Być może kierunek ucieczki wskazuje rzeczywistych mocodawców tego człowieka i źródło jego motywacji. 5 czerwca gazeta „The Guardian” zaczęła publikację skradzionych danych, chociaż sam Snowden kontaktował się z dziennikarzami już rok wcześniej. Kilka miesięcy później oświadczył, że wszystkie skradzione dokumenty (w liczbie ponad 15 tysięcy z Australii, 58 tysięcy z Wielkiej Brytanii i aż 1,7 miliona ze Stanów Zjednoczonych) oddał dziennikarzom w Hongkongu. Do czerwca 2014 roku w publikacji tajnych informacji amerykańskich służb wzięły udział takie gazety jak: „The New York Times”, „The Washington Post”, niemiecki „Der Spiegel”, francuski „Le Monde”, hiszpańskie „El Mundo” i „El País” czy włoskie „L’Espresso”. Przypadek byłego pracownika NSA nie jest pierwszym tego typu wystąpieniem w historii współczesnej. Ujawnianiem nieprawidłowości w działaniu funkcjonariuszy państw z całego świata oraz odtajnianiem krępujących dokumentów zajmuje się już od 2006 roku portal WikiLeaks, którego szefem jest ścigany za domniemane przestępstwo seksualne Julian Assange. Przez lata WikiLeaks był bazą dla whistleblowerów — ludzi, którzy łamiąc prawo swojego kraju, informowali opinię publiczną o nadużyciach władz i biznesu. Dlaczego Snowden nie zdecydował się pójść w ślady swoich poprzedników (w tym Chelsea Manning — autorce przecieku ponad pół miliona amerykańskich depesz rządowych dotyczących wojny w Iraku) i wybrał komunikację z tradycyjnymi mediami oraz z dziennikarzami, którzy nie potrafili nawet obsługiwać programów szyfrujących korespondencję? Tego nie wiadomo.

Rozdział 1.  Witajcie, obywatele świata

11

Reakcja na ucieczkę byłego agenta była bardzo szybka. 22 czerwca 2013 roku rząd USA zawiesił paszport Snowdena, a on sam następnego dnia znalazł się na lotnisku Szeremietiewo w Moskwie. W tym czasie rosyjskie agencje informacyjne ogłosiły, że w ciągu 24 godzin ma znaleźć się na terytorium Kuby. Były agent podróży nie kontynuował i tymczasowo pozostał w strefie tranzytowej portu lotniczego. Rząd Kuby wysłał notę do rządu rosyjskiego, że nie przyjmą samolotu ze Snowdenem na swoim terytorium. Rosyjskie media państwowe spekulowały wówczas, że rząd USA wywarł naciski na Hawanę. W tym samym czasie, z właściwym sobie cynizmem, prezydent Władimir Putin nazwał uchodźcę „niespodzianką” i „niechcianym prezentem choinkowym”, podkreślił jednocześnie, że nie popełnił on żadnego przestępstwa na terenie Rosji i może swobodnie opuścić kraj. Snowden rozesłał prośbę o azyl polityczny do 27 państw. Rząd USA publicznie apelował o odmowę wobec tej prośby. Pod wpływem polityków amerykańskich 1 lipca samolot ze sprzyjającym Snowdenowi prezydentem Boliwii, Evo Moralesem, został zatrzymany na terytorium Austrii. Istniała obawa, że agent mógł znaleźć się na pokładzie maszyny. Po tym wydarzeniu uchodźca „zdecydował się” pozostać w Rosji. Miało to miejsce 23 lipca. Snowden otrzymał tymczasowy paszport wydany przez władze w Moskwie. Ucieczka agenta może budzić wiele kontrowersji. Może się nasuwać następujące pytanie: po co udawał się do Hongkongu, by spotkać się ze związanymi z FSB dyplomatami rosyjskimi, a następnie przyleciał do Moskwy? Gdyby chciał uzyskać azyl w Ameryce Łacińskiej, mógł polecieć tam od razu, z Hawajów. Mieszkał tam. W końcu: czy od początku nie był agentem pracującym dla Rosji? Niezależnie od tego, co go motywowało i dla kogo pracował, ujawnił niewyobrażalnie dużo informacji na temat globalnych programów inwigilacji internetu i ruchu sieciowego. Dzięki jego działalności możemy znać podstawy funkcjonowania tych programów. Znamy ich zasięg, metody, a dzięki temu — możemy się przed nimi efektywnie bronić i zachować swoją prywatność.

PRISM Podstawowy program do inwigilacji, którego autorem jest NSA, to PRISM. Powstał w 2007 roku i początkowo znany był pod kryptonimem US-984XN. Program ten zakłada pobieranie danych od użytkowników największych międzynarodowych korporacji informatycznych. Dzięki PRISM NSA może przeszukiwać i wykorzystywać dowolne informacje zarówno na temat obywateli amerykańskich, jak i ludzi z innych krajów, ale na podstawie ustawy z 2008 roku może to robić jedynie za zgodą sądu. Jednak w większości przypadków udzielane sądom informacje na temat sposobu wykorzystywania danych były okrojone. Wynika z tego jeden prosty wniosek: wszystkie nasze wrażliwe dane, które zostawiamy na największych społecznościowych portalach internetowych, wszystkie ślady naszego pobytu w internecie i komputerowe usługi, z których korzystamy, są ewidencjonowane,

12

Ukryta tożsamość. Jak się obronić przed utratą prywatności

zbierane i przetwarzane w niewiadomym celu przez nieznane szerzej służby. Zakres PRISM jest niewyobrażalnie szeroki. Od 2012 roku w programie uczestniczy 9 korporacji: Microsoft (od 2007), Yahoo! (od 2008), Google, Facebook, Paltalk (od 2009), YouTube (od 2010), Skype, AOL (od 2011) i Apple (od 2012). Nazwy powyższych firm są znane na całym świecie i statystycznie dowolny użytkownik globalnej sieci korzystał z ich produktów i usług. Oznacza to, że każdy człowiek na Ziemi, jeżeli tylko korzystał z internetu po 2007 roku, jest przedmiotem zainteresowania PRISM i ofiarą zbierania danych przez NSA. Program ten, w pojemnych bazach danych (rysunek 1.1), zbiera informacje o wysłanych e-mailach, zapisach czatów, wideoczatów, rozmów, transferów plików, przesłanych klipów filmowych, danych osobistych portali społecznościowych. Jeżeli nie robimy niczego, co narusza algorytmy programu — nic się nam nie stanie. Jeżeli zaczniemy wzbudzać podejrzenia, bo na przykład, czytając o wojnie domowej w Libanie, zechcemy w sieci sprawdzić, co to takiego Ruch Amal — to dowody na naszą winę znajdą się zawsze. Na slajdach ujawnionych przez Snowdena widnieją tylko pojedyncze zapiski na temat wykorzystania programu. Z założenia miał być stosowany między innymi przeciw Wenezueli (wojsko i przemysł naftowy), Meksykowi (kartele narkotykowe, energetyka, bezpieczeństwo wewnętrzne i sprawy polityczne) i Kolumbii (narkotyki, działalność FARC). Rysunek 1.1. Jeden z ujawnionych slajdów o PRISM. Proces zbierania danych i umieszczania ich w poszczególnych bazach danych

Reakcje firm na działalność Snowdena były zróżnicowane. Przedstawiciele Google zapewniali, że „udostępniamy dane użytkownika zgodnie z prawem i rozpatrujemy takie wnioski bardzo ostrożnie”. Yahoo! próbowało ratować twarz stwierdzeniem: „Spośród setek milionów użytkowników, których obsługujemy, jedynie nieskończenie mały odsetek będzie kiedykolwiek przedmiotem decyzji rządu o zbieraniu danych”. Świat rozbawił koncern Apple: „Nigdy nie słyszeliśmy o PRISM”. Warto zauważyć, że oświadczenia poszczególnych firm odnoszą się do bezpośredniego dostępu NSA do zasobów prywatnych serwerów. Jeżeli NSA otrzyma zgodę sądu i wymusi na danej

Rozdział 1.  Witajcie, obywatele świata

13

korporacji przekazanie danych, to najprawdopodobniej nie spotka się z odmową, gdyż agencja działa zgodnie z prawem amerykańskim, a wszystkie wymienione korporacje powołują się na te same przepisy co rząd. Wprawdzie dane publikowane przez firmy mówią o najwyżej setkach tysięcy użytkowników, których dane wykorzystał rząd USA, jednak nie możemy być pewni prawdziwej skali inwigilacji. Nie wiemy również, kiedy ktoś sprawdzi nasze dane, gdy otrzymamy miano „podejrzanego”.

XKEYSCORE Drugim programem, którego istnienie ogłosił światu Snowden, jest XKEYSCORE. Były agent NSA opublikował odpowiednie dokumenty jakby na złość szefostwu agencji w tym samym dniu, w którym NSA uspokajała opinię publiczną w sprawie programu PRISM. Odnieść można wrażenie, że niezwykła zbieżność dat pasuje do obrazu typowo rosyjskiej złośliwości. Z ujawnionej przez Snowdena ściśle tajnej prezentacji wynika, że XKEYSCORE to potężne narzędzie analityczne — wyszukiwarka danych. Jej bazy obejmują ponad 700 serwerów w 150 lokalizacjach na całym świecie (rysunek 1.2). Program archiwizuje dane, takie jak e-maile, czaty (na przykład z Facebooka), frazy wyszukiwania, czy chociażby ruch internetowy do popularnych serwerów. Dane te są przez XKEYSCORE zbierane i umieszczane w pojemnych bazach danych, które da się łatwo przeszukiwać za pomocą prostych formularzy (rysunek 1.3). Dzięki temu, że program pobiera też wysyłane przez przeglądarki internetowe nagłówki żądań do witryn, można określić język indywidualnego użytkownika i region świata, w którym się znajduje. W 2008 roku agencja planowała wprowadzenie rejestracji usług głosowych (Voice over IP, VoIP), jednak nie wiadomo, czy zrealizowała swoje założenie. Rysunek 1.2. Mapa serwerów XKEYSCORE. Ciekawostką jest fakt, że wiele z nich znajduje się na Antarktydzie

14

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 1.3. Projekt formularza do wyszukiwania czatów użytkownika serwisu Facebook

Na prezentacji NSA znajdują się przykłady zapytań: „pokaż mi całą zaszyfrowaną przez PGP komunikację z Iranu”, „pokaż mi wszystkie użycia sieci VPN w kraju X i podaj mi dane, które pozwolą mi odkryć tożsamość użytkowników” lub „pokaż mi wszystkie czaty użytkownika Y na Facebooku od 2011 roku włącznie”. XKEYSCORE posiada funkcję inwigilacji w czasie rzeczywistym, czyli dane są zbierane i archiwizowane na bieżąco. W lipcu 2014 roku na stronie niemieckiej telewizji Das Erste opublikowano przykładową regułę dla programu XKEYSCORE, którą uzyskano od anonimowego informatora z NSA, innego niż Snowden1. Dzięki tej formule dowiedzieliśmy się, w jaki sposób pracuje agencja i kogo ma na celowniku. Zagrożone zbieraniem danych do baz XKEYSCORE mogą czuć się między innymi osoby szukające danych o oprogramowaniu anonimizującym. Jeżeli choć raz szukaliśmy informacji o jakiejś technice ukrywania naszej wirtualnej tożsamości, by przybliżyć sobie temat skrótowo opisany w artykule prasowym, w opinii służb wszyscy stajemy się „ekstremistami” lub użytkownikami „forów ekstremistycznych”. Co ciekawe, nawet NSA przyznaje, że skala rejestrowanych danych ich przerasta. Informacji tych jest tak dużo, że pełen zapis ruchu sieciowego trzymany jest przez maksymalnie 5 dni. Przez następne 30 dni agencja trzyma jedynie metadane ruchu sieciowego. Istotne dane przenoszone są do innych serwerów, gdzie mogą być rejestrowane nawet 5 lat; reszta jest usuwana.

1

http://daserste.ndr.de/panorama/xkeyscorerules100.txt.

Rozdział 1.  Witajcie, obywatele świata

15

Tempora Trzeci i nieco mniej znany na świecie program inwigilacji to brytyjska Tempora. Government Communications Headquarters (GCHQ) uruchomił ją w 2011 roku po około trzech latach testów i współpracy z amerykańską NSA. W maju 2013 roku nad projektem czuwało 300 specjalistów z GCHQ i 250 z NSA. Snowden ogłosił, że Tempora składa się z dwóch filarów: Mastering the Internet i Global Telecoms Exploitation. Służą one do zbierania odpowiednio: danych ruchu sieciowego i sygnałów telefonicznych. W brytyjskiej gazecie „The Guardian” podano, że program zbiera dane zarówno od osób podejrzanych, jak i od zwykłych użytkowników. W bazach danych GCHQ trzyma takie dane jak e-maile, połączenia telefoniczne, wpisy na Facebooku, czy nawet historię wykorzystania łącza internetowego przez danego użytkownika. Tempora współpracuje z takimi firmami jak British Telecom, Interoute, Level 3, Global Crossing, Verizon Business, Viatel i Vodafone. Nie jest znana skala inwigilacji, którą umożliwia działanie tego programu. Snowden w jednym ze swoich wystąpień oświadczył: „Oni [GCHQ] są gorsi od Stanów Zjednoczonych”2. Brytyjska agencja ma zdolność do zbierania ponad 10 gigabitów danych na sekundę, a celem jej najnowszych badań jest zwiększenie przepustowości łącz do ponad 100 gigabitów na sekundę. Bazy danych Tempory potrafią pomieścić kompletny zapis ruchu sieciowego maksymalnie z 3 dni; metadane trzymane są w nich do 30 dni. W lipcu 2014 roku Glenn Greenwald, jeden z dziennikarzy współpracujących ze Snowdenem, opublikował opis kilku narzędzi do kontroli internetu przez brytyjskie służby. Tworząc sztuczny ruch sieciowy dużych rozmiarów, GCHQ może na przykład manipulować wynikami ankiet albo nieuczciwie zwiększać popularność propagandowych artykułów na witrynach informacyjnych i jednocześnie chować „niewygodne” treści z ich stron głównych. Inna możliwość to cenzurowanie niepożądanych zawartości z portali społecznościowych przez wielokrotne zgłaszanie ich rzekomej niezgodności z regulaminem usług. Przykładowym celem tego typu ataku stał się oficjalny fanpage prezydenta Rosji na Facebooku. Wśród arsenału GCHQ znajdują się także bardziej „konwencjonalne” programy: do monitoringu rozmów przez Skype’a, inwigilacji użytkowników na portalu aukcyjnym eBay, spoofingu e-maili (podszywania się pod cudze adresy pocztowe) czy wykradania prywatnych zdjęć z profilu na Facebooku. Te narzędzia są najprawdopodobniej wykorzystywane do obsługi programu Tempora lub innych niebezpiecznych przedsięwzięć brytyjskich służb. W sprawie Tempory instytucje Unii Europejskiej zachowują milczenie. Niemiecka minister sprawiedliwości nazwała program „koszmarem ze snów” i zwróciła się do UE o zbadanie sprawy. Jeden z niemieckich europarlamentarzystów, Jan Albrecht z partii Zielonych, wezwał do wszczęcia procedury karnej przeciwko Wielkiej Brytanii za łamanie prawa unijnego w zakresie prywatności. Żaden z tych dwóch wniosków nie został wzięty pod uwagę. 2

http://www.theguardian.com/uk/2013/jun/21/gchq-cables-secret-world-communications-nsa.

16

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Boundless Informant Program komputerowy, który nazywany jest także jako BOUNDLESSINFORMANT, służy NSA do analizy danych z programów PRISM czy XKEYSCORE. Istnienie takiego software’u ujawnił Snowden i zaprezentował kilkanaście snapshotów z jego obsługi. Informacje, które podlegają analizie przez Boundless Informant, to przede wszystkim dane z ruchu sieciowego oraz metadane rozmów telefonicznych. Sam program jest zamknięty, ale wszyscy deweloperzy i administratorzy zatrudnieni w NSA mają do niego swobodny dostęp. Mapa, która wyciekła do internetu (rysunek 1.4), pokazuje, że w 30-dniowym okresie na przełomie lutego i marca 2013 roku NSA zebrało 97 miliardów rekordów internetowych i 124 miliardy rekordów telefonicznych (dla samych Stanów Zjednoczonych — łącznie około 3 miliardów rekordów). Szczegółowe wykresy mówią o 552 milionach rekordów telefonicznych zebranych w Niemczech, 70 milionach we Francji, 60 w Hiszpanii, 33 w Norwegii, 46 we Włoszech i 1,8 w Holandii. Dane te dotyczą okresu od 10 grudnia 2012 r. do 8 stycznia 2013 r. W październiku 2013 r. szef NSA ogłosił, że pogłoski o zbieraniu danych w krajach europejskich są „całkowicie nieprawdziwe”.

Rysunek 1.4. Program Boundless Informant — okno główne. Skala kolorów od czerwieni do zielonego nie obrazuje skali inwigilacji w poszczególnych państwach

Krajowe systemy inwigilacji Nie mniej niebezpieczne od systemów PRISM, XKEYSCORE czy Tempora są wewnętrzne projekty inwigilacji internetu organizowane przez lokalne służby specjalne. Zasada działania takich przedsięwzięć jak Projekt Złota Tarcza (Chiny), Central Monitoring System (Indie) czy SORM-1 i SORM-2 (Rosja) jest podobna, choć ogranicza się w zasadzie tylko do terytorium danego kraju. Mimo że służby krajowe mają słabszą od NSA i GCHQ bazę technologiczną, nie wolno lekceważyć ich działalności. Przede

Rozdział 1.  Witajcie, obywatele świata

17

wszystkim dlatego, że są nam „bliższe”. Bardziej realnym scenariuszem jest zwrócenie na siebie uwagi służb państwa, na którego terenie przebywamy, niż Wielkiego Brata ze Stanów Zjednoczonych. W niektórych krajach (na przykład w Chinach lub Rosji) agencje specjalne mają znacznie więcej swobody w działaniu, interweniują częściej i zdecydowanie łatwiej jest tam uzyskać miano „podejrzanego”.

Sytuacja w Polsce Polskie projekty inwigilacji prowadzone przez ABW, SKW lub inną krajową służbę nie są bliżej znane. Wiadomo jedynie, że rząd Polski współpracował z NSA w ramach projektu pod kryptonimem ORANGECRUSH (dla „naszych” organizacji rządowych: BUFFALOGREEN), którego celem było zbieranie danych z Afganistanu, Bliskiego Wschodu i niektórych państw afrykańskich. Polska znalazła się wśród państw-sojuszników trzeciorzędnych (obok między innymi Holandii, Norwegii, Szwecji, Hiszpanii czy Japonii), a kooperacja miała charakter najprawdopodobniej luźny (rysunek 1.5). Z samego terenu Polski NSA przechwytywała do ponad miliona rozmów telefonicznych dziennie. Nie wiemy, czy za zgodą i przyzwoleniem rządu, czy też bezprawnie jak w przypadku Niemiec.

Rysunek 1.5. Kraje współpracujące w projektach NSA, Polska pełni funkcję trzecioplanową. Kraje drugorzędne (Wielka Brytania, Kanada, Nowa Zelandia, Australia) ze służbami amerykańskimi współpracują w sposób ścisły. Są to też jedyne państwa, gdzie NSA nie ma teoretycznego prawa do szpiegowania i zbierania danych. Blok ten nazywa się często grupą „pięciorga oczu”

Inwigilacja w praktyce Amerykańska Agencja Bezpieczeństwa Narodowego i orędownicy programów inwigilacji niejednokrotnie twierdzili, że dokumenty o programach zbierania danych to wyłącznie bezwartościowe ogólniki i plotki, w których nie ma konkretów. Snowdenowi

18

Ukryta tożsamość. Jak się obronić przed utratą prywatności

zarzucano medialność i nieuzasadnione ataki na rząd USA. Twierdzono, że o działalności NSA nic w rzeczywistości nie wiadomo. Pytano się, gdzie są te miliony dokumentów, które Snowden przekazał różnym redakcjom gazet, skoro do tej pory udostępniono jedynie kilkadziesiąt z nich. Głosy te nie mają już racji. Gazeta „The Washington Post” wiosną 2014 roku przeanalizowała 22 tysiące raportów z procesu inwigilacji przez NSA i współpracujące z nią służby (w tym brytyjską GCHQ, służby kanadyjskie, nowozelandzkie i australijskie). Materiały te redakcja otrzymała wprost od Snowdena. Wnioski z analizy opublikowała na początku lipca 2014 roku. Wśród danych znalazło się 160 tysięcy przechwyconych przez NSA konkretnych wiadomości e-mail, zapisów czatu, zdjęć, wiadomości z portali społecznościowych czy klipów wideo. Co ciekawe, jedynie 11% z nich dotyczy prawdziwych przestępców i osób zagrażających bezpieczeństwu państw. Cała reszta, czyli aż 89% ujawnionych dokumentów, ma związek ze zwykłymi ludźmi, takimi jak my (rysunek 1.6). Rysunek 1.6. Szczegółowe dane dotyczące przechwyconych materiałów. Zrzut ekranu z witryny „The Washington 3 Post”

Najbardziej zaskakuje fakt, że w ramach danych, które otrzymał „The Washington Post”, znajduje się korespondencja kilku tysięcy amerykańskich obywateli. Przepisy w USA zabraniają szpiegowania swoich mieszkańców bez nakazu sądowego, zatem 3

http://apps.washingtonpost.com/g/page/world/communication-breakdown/1153/.

Rozdział 1.  Witajcie, obywatele świata

19

wiele wskazuje na to, że NSA działa z pominięciem prawa swojego własnego kraju i lekceważy konstytucję. Sam Snowden skomentował to tak: „To niebezpieczne i niepokojące. Kto wie, do czego te dane zostaną wykorzystane w przyszłości”4. Czy za tymi słowami, które sprawiają wrażenie jedynie figury retorycznej kryje się coś więcej, jakaś głębsza wiedza — nie wiadomo. Można jedynie być pewnym, że 160 tysięcy plików to tylko niewielki skrawek faktycznych działań projektów PRISM, XKEYSCORE czy Tempora. W listopadzie 2014 roku firma Symantec odkryła istnienie niezwykle groźnego wirusa Regin. Wyspecjalizowana, wielomodułowa budowa tego programu utwierdziła specjalistów w przekonaniu, że jego autorami są amerykańskie lub brytyjskie służby cyberwywiadu. Regin wykrada hasła dostępu, monitoruje ruch w internecie, odzyskuje dla hakerów pliki wykasowane przez użytkowników, robi zrzuty z ekranów. Niestety, w odróżnieniu od amerykańsko-izraelskiego wirusa Stuxnet Regin atakuje nie tylko instytucje krajów, które nie sprzyjają USA, lecz także ośrodki badawcze, firmy telekomunikacyjne, linie lotnicze, czy nawet zwykłych obywateli z całego świata. Pierwszy etap aktywności programu przypadł na lata 2008 – 2011, po czym nastąpiła przerwa — najprawdopodobniej na wprowadzenie korekt. O wznowieniu działania wirusa od 2013 roku poinformował Edward Snowden.

Udział prywatnych korporacji Nic nie dzieje się bez przyczyny. Do tej pory wzmiankowałem jedynie sprawy inwigilacji związane z polityką i przestępczością. Czas przypomnieć, że codziennie prawie sto procent populacji na Ziemi inwigilują departamenty marketingu ponadnarodowych korporacji. Czy szukaliście kiedyś przez internet hotelu na letni wypoczynek, opisu działania kosmetyków albo obejrzeliście najnowszy model jakiegoś samochodu? Czy zauważyliście, że od tego czasu w trakcie przeglądania ulubionego portalu informacyjnego częściej pojawiają się reklamy takich właśnie produktów i usług? Wprawdzie dla czytelnika wieści o utajnionym działaniu służb wszelkiej maści są bardziej smakowite, bo sensacja zawsze wywołuje dreszcz emocji, ale dla przeciętnego człowieka to nie służby są zmorą. Dla rządowych agencji na całym świecie pozostajemy myślącymi ludźmi: panią X, panem Y. Dla globalnego marketingu jesteśmy zdepersonalizowaną masą ludzką, celem manipulacji, segmentem rynku i „targetem”. Pobudza się nasze emocje, by zmaksymalizować zysk producentów i usługodawców. Nie bez powodu tak NSA, jak i GCHQ z chęcią wykorzystują zasoby baz danych klientów wielkich koncernów i firm. Zagrożeniem dla naszej prywatności są nie tylko działania służb państwowych lecz także — a może przede wszystkim — drapieżnego biznesu.

4

http://www.washingtonpost.com/world/national-security/in-nsa-intercepted-data-those-nottargeted-far-outnumber-the-foreigners-who-are/2014/07/05/8139adf8-045a-11e4-85724b1b969b6322_ story.html?hpid=z1.

20

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Czy można obronić się przed inwigilacją? Nie ma skutecznego sposobu, który pozwoliłby na całkowite odcięcie się od globalnej inwigilacji. Wszelkiej maści ekstremistów, przestępcze kartele i zwykłych kryminalistów dyskretnie kontrolować po prostu należy. Tego wymaga bezpieczeństwo społeczności międzynarodowej. Zwykłemu człowiekowi pozostaje ucieczka na bezludną wyspę i odseparowanie się od ludzi i cywilizacji. Stać na to jednak niewielu. Sensownym rozwiązaniem dla przeciętnego mieszkańca globalnej wioski jest rozważne korzystanie z usług internetowych i używanie software’u, który podwyższy poziom bezpieczeństwa. By zachować swą prywatność, powinniśmy przestrzegać wiedzy z wielu dziedzin komunikacji internetowej i stosować różne techniki komputerowe. Opisałem je i zachęcam do ich wykorzystania. Każdy rozdział publikacji obejmuje jedno zagadnienie. Każda sekcja to cegiełka do muru, który odgrodzi nas od globalnej inwigilacji. Omówione programy i usługi nie gwarantują stuprocentowej anonimowości. Podstawowym czynnikiem tego, czy jesteśmy anonimowi, czy nie, jest to, z kim się zadajemy i jakie informacje publikujemy o sobie w internecie. Nawet jeśli korzystamy z oprogramowania maskującego nasz IP, gdy podamy o jedną informację za dużo, można będzie nas łatwo zlokalizować. O uniwersalnych zasadach bezpieczeństwa, których uczy się dzieci na lekcjach informatyki już w szkole podstawowej, nie wolno zapomnieć. Im bardziej użytkownik internetu zabezpieczy się przez inwigilacją, tym mniej informacji po sobie zostawi służbom i marketingowcom. Proceder inwigilacji stanie się droższy i nieefektywny. Mistrz Sun Tzu w Sztuce wojny powiada: bądź niewidzialny i niesłyszalny. Staniesz się niezgłębiony. To sposób, by stać się panem losu przeciwnika5. Musimy chronić nasze przyrodzone prawo do prywatności. Internetowi aktywiści o kryptonimie Anonymous, których skrywa maska z podobizną Guya Fawkesa, wzywają: Bądźmy anonimowi. Bądźmy Legionem. Nie przebaczajmy. Nie zapominajmy. Niech się nas spodziewają!

5

Na podstawie Sun Tzu, Sztuka wojny, tłum. J. Zawadzki, Kraków 2009.

Rozdział 2.

Naucz się otwartego oprogramowania Dwa spośród trzech najpopularniejszych komputerowych systemów operacyjnych należą do firm, które zgłosiły swój akces do programu PRISM. Według danych firmy Net Applications w grudniu 2014 roku 91% wszystkich komputerów pracowało dzięki systemowi z rodziny Microsoft Windows (odpowiednio: 55% dla Windowsa 7, 19% dla Windowsa XP, 13% dla Windowsa 8/8.1), następne 7% to komputery produkcji Apple’a z zainstalowanym systemem OS X. Pozostałe 2% to komputery z innymi systemami operacyjnymi. Globalna dominacja dwóch korporacji na rynku systemów operacyjnych doprowadziła do szkodliwego monopolu. Największym problemem dla szarego użytkownika komputera wcale nie jest pozbawienie go możliwości swobodnego wyboru oprogramowania systemowego na kupowanych komputerach. Grozę budzi fakt, że użytkownik dysponuje systemem własnościowym. Kupując komputer z programem Windows, nie kupujemy systemu operacyjnego, tylko licencję na korzystanie z niego. Taki system w całości należy do producenta. W świetle umowy nie możemy nawet obejrzeć schematu działania tajemniczych procesów w oknie Menedżer zadań. Korzystając z systemu własnościowego, nie mamy pojęcia, co wykonują poszczególne procesy i dlaczego są tak „pamięciożerne”. Nigdy nie poznamy prawdziwych funkcji obszernych bibliotek DLL w katalogu systemowym. Nie mamy pewności, czy biblioteka ta nie przechwytuje naszych operacji na komputerze i nie wysyła ich do baz danych NSA (w szczególności dotyczy to systemów Microsoftu wydanych po 2007 roku i Apple’a po 2012 roku). Nie możemy dodawać nowych funkcji do systemu według naszego własnego pomysłu, nie wolno nam bowiem modyfikować żadnych zasobów. Jesteśmy zdani na łaskę korporacji informatycznych. Warto zapamiętać „zabawny szczegół”: w laboratoriach naukowych, badawczych i serwerowniach systemy MS Windows i OS X należą do rzadkości. Dla naukowców i specjalistów powody wykorzystywania systemów i programów otwartoźródłowych1 są oczywiste. Czas, by zagościły i w naszych domach. 1

Jako tłumaczenie angielskiego określenia open source software w niniejszej publikacji przyjąłem „oprogramowanie otwartoźródłowe”. Wygląda i brzmi zgrabniej niż klasyczne „oprogramowanie o otwartym kodzie źródłowym”, zachowuje także pełną zgodność z oryginałem pod względem składniowym (open source pełni funkcję przydawki wobec software, tak samo jak „otwartoźródłowe” wobec „oprogramowanie”).

22

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Otwartoźródłowy, czyli jaki? Według definicji Free Software Foundation, której działalność godna jest wyczynu mitologicznego Prometeusza, użytkownikowi wolnego oprogramowania przysługują cztery główne, niezbywalne przywileje:  prawo do uruchamiania programu w dowolnym celu,  prawo do analizowania programu oraz dostosowywania go do swoich potrzeb,  prawo do rozpowszechniania kopii programu,  prawo do udoskonalania programu i publicznego upowszechniania własnych

ulepszeń, dzięki czemu może z nich skorzystać cała społeczność. Powyższe prawa gwarantowane są w wielu licencjach wolnego oprogramowania, takich jak GNU General Public License, BSD czy X11 (nazywanej też MIT). W kwestii nazewnictwa nie ma wyraźnego rozróżnienia między otwaroźródłowym oprogramowaniem (open source software), a wolnym (free software). Przynajmniej dla zwykłego użytkownika. Pojęcie free software powstało dużo wcześniej niż open source software. Pierwsze z nich upowszechnił w latach 80. XX wieku Richard Stallman, założyciel Free Software Foundation oraz twórca projektu systemu operacyjnego GNU. Z drugim, powstałym w latach 90., kojarzone są takie nazwiska jak Linus Torvalds (twórca jądra Linuksa), Larry Wall (twórca języka programowania Perl) czy Guido van Rossum (twórca języka programowania Python). Pojęcie „otwartoźródłowy” miało powstać jako sprzeciw wobec nierzadko kontrowersyjnych i zbyt radykalnych postaw filozoficznych Stallmana. Niezależnie od tego, czy mówimy free software czy open source, mamy świadomość, że opisujemy oprogramowanie darmowe i takie, z którego możemy korzystać w dowolny sposób. Kłótnie między tym, czy rację ma Stallman, mówiąc „wolne”, czy Torvalds, rzucając hasło „otwartoźródłowe”, nie mają większego znaczenia dla osób niezainteresowanych informatyką na co dzień. W niniejszej publikacji za standardowe uznałem określenie „otwartoźródłowe”, nie znaczy to jednak, że staję w opozycji wobec Stallmana i jego poglądów.

Zalety oprogramowania otwartoźródłowego Oprogramowanie otwartoźródłowe posiada zalety, które są koszmarnymi wadami w oczach firm kreujących systemy i software własnościowy. Pierwszą, chyba najbardziej rzucającą się w oczy cechą tego typu programów jest to, że są zazwyczaj darmowe. Nie musimy wydawać kilkuset, nawet kilku tysięcy złotych na zakup legalnego oprogramowania. Za zdobycie oprogramowania typu open source zapłacimy jedynie własnym czasem, który spędzimy na ściągnięciu z sieci odpowiednich plików. Uzyskane efekty bywają zazwyczaj o wiele lepsze od produktów zamkniętych.

Rozdział 2. Naucz się otwartego oprogramowania

23

Druga bardzo ważna zaleta to szeroka społeczność zainteresowana danym produktem. Każdy projekt open source gromadzi wokół siebie tysiące specjalistów i pasjonatów, którzy chcą bezinteresownie przysłużyć się użytkownikom danego software’u. Błędy w otwartym kodzie źródłowym wykrywane są na bieżąco i naprawiane tak szybko, jak zostały znalezione. Dowolny użytkownik może w każdej chwili zgłosić problem na forach internetowych i liczyć na profesjonalne wsparcie. Doprowadzenie otwartego oprogramowania do stanu zgodnego z oczekiwaniami zajmuje znacznie mniej czasu niż opracowanie odpowiednich rozwiązań przez firmy komercyjne. Niestety, korporacje informatyczne zwykle nie nadążają z produkcją „łatek”, które korygują błędy w ich produktach. Po prostu. Inercja tych przedsiębiorstw powoduje, że ich programy są zwykle nieoptymalne, pamięciożerne i pełne niepotrzebnych rozwiązań oraz algorytmów, które komplikują pracę całego systemu. Produkt Microsoft Windows 7, który zainstalowałem na swoim komputerze, zajmuje przy starcie około 1,5 gigabajta pamięci operacyjnej RAM. W tej samej jednostce system openSUSE 13.1 zajmuje tylko 0,8 gigabajta RAM. Dwa razy mniej pamięci, a uruchamia znacznie więcej usług i efektów, które upiększają ekran pulpitu. Interesujące? Otwartość i jawność to chyba cecha najważniejsza i najbardziej pożądana dla użytkownika. Mając jawny kod źródłowy, mamy dostęp do wszystkich funkcji danego programu. Wiemy, do czego służą poszczególne procesy i jak działają. Wiadomo na przykład, że NSA nie zainstalowało na naszym sprzęcie programu typu backdoor, tajnej ścieżki do przechwytywania informacji, i nie jesteśmy szpiegowani przez firmę — producenta naszego systemu operacyjnego czy programu. Z punktu widzenia bezpieczeństwa i ochrony przed niepożądaną działalnością zarówno służb specjalnych, jak i wszelkiej maści marketingowców oraz reklamiarzy, wybierając open source, wybieramy swoją prywatność. „Świecie nasz, świecie nasz (…)” — śpiewał z żarem w głosie Marek Grechuta i jego słowa posłużą za komentarz — „(…) spokój daj”.

Linux — open source na 100% Całkowite przejście na open source jest dla wielu ludzi pomysłem zbyt radykalnym, a nawet przerażającym. Jako użytkownicy programów i produktów wielkich korporacji na myśl o zmianie używanego dotąd systemu operacyjnego na program „wolnościowy” zaczynamy odczuwać coś na kształt „syndromu sztokholmskiego”. Czujemy wdzięczność i sympatię do bitów, które nas zniewoliły… Jeżeli jednak choć jeszcze przez chwilę da się opanować odruch smyrgnięcia niniejszej publikacji w kąt jako czystej herezji, warto jest przynajmniej zapoznać się z możliwościami, jakie niosą niezależne programy operacyjne. Podstawowym programem na naszym komputerze jest system operacyjny i także on może opierać się na ideach „otwartoźródłowości”. Linux to trzeci najpopularniejszy na świecie system operacyjny. Nazwa Linux pojawiła się w 1991 roku, kiedy to fiński programista Linus Torvalds opublikował własne, amatorskie jądro systemowe (tzw. kernel). Torvalds projekt swój oparł na systemie operacyjnym Unix z 1969 roku. Podkreślał jednocześnie, że

24

Ukryta tożsamość. Jak się obronić przed utratą prywatności

„Linux to nie Unix”. Program Fina zyskał popularność w internecie i szybko stał się częścią co najmniej kilkuset innych systemów operacyjnych. Wzbogacone są one o liczne pakiety aplikacji komputerowych i nazywa się je dystrybucjami Linuksa. Mówiąc Linux, ma się na myśli całą rodzinę systemów operacyjnych, nie zaś samo jądro. Gdyby jednak posłużyć się językiem fachowca — właściwszym określeniem jest GNU/Linux, gdyż współczesne dystrybucje zawierają jądro Linuksa połączone z wieloma rozwiązaniami ze wspomnianego już projektu GNU Stallmana (na przykład z kompilatorem GCC dla języków programowania C i C++). Jeżeli wspomniane powyżej (w dużym uproszczeniu!) określenia fachowe są „jako brzęczenie much uciążliwe”, zawsze można o nich zapomnieć. Nie są może najważniejsze, ale ich rola przypomina znaczenie marynowanych borowików. Potrawom przydają smaku.

Zalety (i… cóż: wady) Linuksa jako systemu operacyjnego Wybór systemu Linux zamiast produktu firmy Microsoft lub OS X Apple’a jest korzystny. Linux posiada wiele zalet, które czynią go rozwiązaniem profesjonalnym. 1. Wielkie korporacje nie będą nas szpiegować. To cecha, która wynika

z założeń open source. Warto jednak pamiętać, że samo użytkowanie Linuksa nie gwarantuje stuprocentowego bezpieczeństwa. Jeżeli wyszukujemy coś w Google lub dodajemy wpis na Facebooku, to jesteśmy zagrożeni zbieraniem danych przez NSA tak samo jak w przypadku, gdybyśmy korzystali z produktu Microsoftu lub Apple’a. Linux to rozwiązanie, które pozwala pozbyć się podejrzanych procesów systemowych i zapewnić pełne bezpieczeństwo jedynie z poziomu systemu operacyjnego. To, co robimy w naszej przeglądarce internetowej (zapewne też otwartoźródłowej), ma ogromne znaczenie! 2. Społeczność. W internecie funkcjonują liczne społeczności i grupy

samopomocy, które tworzą fora zajmujące się tematyką poświęconą użytkowanej przez nie dystrybucji Linuksa. Użytkownik, który zmaga się z istotnym dla siebie problemem, zawsze znajdzie fachową radę. Wiele stowarzyszeń działa również w „realu”. 3. Uniwersalność. Nie jest ważne, którą dystrybucję wybierzemy. Każdy system

opiera się na tym samym jądrze, a przez to pewne schematy pozostają takie same. Program, który działa na jednej dystrybucji, powinien bezproblemowo działać na drugiej. Wiele dystrybucji łączy ze sobą różne rozwiązania, a każdą z nich steruje się właściwie tak samo. Gdyby wyłączyć powłokę graficzną, to sterowanie Debianem czy openSUSE z poziomu terminala byłoby prawie identyczne. Mało tego! Jeżeli korzystamy z systemu OS X, większość poleceń z Apple’owskiej aplikacji Terminal.app da się zastosować do konsoli linuksowej. Struktura obu systemów opiera się bowiem na rozwiązaniach z Uniksa. 4. Bezpieczeństwo. Dystrybucje Linuksa atakuje niewiele wirusów, programów

szpiegujących czy złośliwych aplikacji. Błędem jest jednak twierdzenie, że to efekt „małej popularności systemu”. Twórcy systemów linuksowych

Rozdział 2. Naucz się otwartego oprogramowania

25

doskonale wiedzą, jak unikać błędów i luk w bezpieczeństwie, które znamy z Windowsa i OS X-a. 5. Wolność hardware’u. Gdy zbyt często zmieniamy części składowe naszego

sprzętu, system Microsoft Windows prosi nas o ponowną autoryzację systemu operacyjnego w obawie przed tzw. piractwem. Nie możemy zatem pójść z naszym dyskiem twardym do kolegi i podłączyć go do jego maszyny, żeby sprawdzić, jak będzie działać. Polityka Microsoftu (a zwłaszcza Apple’a!) polega na przywiązaniu systemu operacyjnego do sprzętu. Służy to oczywiście solidnym zyskom korporacji. Zyskiem użytkownika jest niewygoda. Tego problemu nie ma w przypadku Linuksa. Możemy dowolnie zmieniać procesor czy kartę graficzną, a Linux sam dostosuje się do nowych warunków sprzętowych. Linux posiada ponadto szeroki zakres wspierania urządzeń wejścia i wyjścia. W większości przypadków nie trzeba instalować żadnych sterowników, a jeżeli wystąpi taka konieczność, to można je łatwo znaleźć w repozytoriach oprogramowania. Jeżeli chodzi o wady, to jest ich kilka. Należy mieć ich świadomość. Po pierwsze, brak wsparcia dla niektórych programów i gier. Profesjonalne narzędzia, takie jak Adobe Photoshop czy Microsoft Visual Studio, oraz gry, w szczególności te wymagające zaawansowanej grafiki zgodnej z DirectX, mogą nie być wspierane przez Linuksa. Są wprawdzie narzędzia przeznaczone do uruchamiania natywnie windowsowych programów na tym systemie, takie jak bezpłatny Wine lub komercyjny CrossOver, ale nie zapewniają one pełnego wsparcia dla wszystkich aplikacji. Po drugie, w Polsce Linux nie jest zbyt powszechny. Według badań strony ranking.pl jedynie 1,47% polskich użytkowników pecetów to linuksowcy (dane na 22 marca 2015 roku). Wprawdzie spośród 500 najsilniejszych komputerów 96% działa pod Linuksem, a na rynku serwerów Linux ma około 37% udziałów, jednak wśród zwykłych użytkowników nie jest popularnym systemem. Po trzecie, Linux jest ofiarą ataków czarnego PR. Korporacje walczą z Linuksem w imię swego zysku i głoszą, że system ten jest rozwiązaniem tylko dla profesjonalistów, a to nieprawda. Obsługa Linuksa nie jest trudniejsza niż zrozumienie istoty systemów Microsoft Windows i OS X.

Bezpieczeństwo w systemie Linux Linux swoją odporność na różnego rodzaju ataki czy wirusy zawdzięcza wyłącznie własnej, przemyślanej konstrukcji. Przede wszystkim kluczowy jest tutaj system kont użytkowników. Niektórych użytkowników produktów Microsoftu lub Apple’a może to zdziwić, ale na Linuksie na ogół nie można logować się jako administrator. Konta użytkowników nie posiadają uprawnień do zmiany ustawień systemowo-sprzętowych. Za każdym razem, gdy taka zmiana ma nastąpić, użytkownik musi podać hasło do konta głównego (roota). Samo zalogowanie się jako root nie jest możliwe. Produkty komercyjne wypadają znacznie gorzej. W systemach Microsoftu dopiero Windows Vista zaczął dysponować koniecznością akceptacji poszczególnych ustawień jako administrator.

26

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Dla przykładu, w Windows XP praca bez konta administratora jest praktycznie niemożliwa — konta inne niż administratora nie mają prawie żadnych uprawnień do zarządzania komputerem. Następna zaleta to bieżąca kontrola źródeł oprogramowania. Każda dystrybucja posiada swój własny internetowy katalog z programami (tzw. repozytorium). Nad każdym takim źródłem czuwają specjaliści i doświadczeni użytkownicy, którzy na bieżąco sprawdzają udostępniane aplikacje. Natknięcie się zatem na wirusa albo złośliwy program szpiegowski jest prawie niemożliwe. Oficjalnie sprawdzane źródła aplikacji dla swoich systemów Microsoft i Apple wprowadzili stosunkowo późno. Windows Store czy App Store są jednak sklepami, a nie katalogami wolnego oprogramowania. Żeby pobrać aplikację z repozytorium dowolnej dystrybucji Linuksa, nie trzeba posiadać konta ani uiszczać opłat. Linux nie jest tworzony pod komercyjne zachcianki i lenistwo firm trzecich. W systemach Windows lub OS X gwarantuje się kompatybilność z wieloma starymi programami po to, by statystycznemu panu Y rzekomo „łatwiej i łagodniej było przejść na nowszą wersję systemu”. Chodzi oczywiście o wygodę producentów oprogramowania. Firmy trzecie nie muszą tracić energii na wprowadzanie pracochłonnych aktualizacji do kodu, a Microsoft czy Apple nie boją się odpływu leniwych deweloperów. Widmo ubogiego rynku programów i mało liczna społeczność użytkowników przestają więc straszyć. Jak głosi znane powiedzonko: „jeżeli coś jest głupie, ale działa, to wówczas przestaje być głupie”; zasadę tę z chęcią wykorzystują koncerny. Taki mechanizm powoduje, że wiele funkcji nie zostaje zmienionych, a luki i błędy krytyczne (zarówno w systemie, jak i w oprogramowaniu dodatkowym) występują w dalszym ciągu. Użytkownik może się natomiast pochwalić, że na Windows 7 uruchomił „śmieciowy” program z czasów Windows 95. W systemie Linux wszystkie aktualizacje systemu obejmują też aktualizacje zainstalowanego oprogramowania. Najświeższe wydanie linuksowej dystrybucji zawsze składa się z możliwie najnowszych wersji poszczególnych aplikacji. Istnieje wiele zalet, które płyną wprost z mocnych stron oprogramowania otwartoźródłowego. Kod, który jest publicznie dostępny, może być analizowany i udoskonalany przez każdego. Fundacje i grupy programistów, którzy zajmują się tworzeniem dystrybucji, zwracają uwagę na pomysły użytkowników. Systemy własnościowe posiadają poważne luki i niedoróbki, gdyż poza uprawnionymi do tego deweloperami nikt nie ma wglądu do kodu źródłowego. Zmniejsza to szanse na wykrycie błędów krytycznych, a pobudza wyobraźnię hakerów. Zdarza się też, że firmy celowo nie reagują na sugestie klientów i interweniują sporadycznie lub opieszale. Wielu osobom znany jest przypadek z systemów OS X, kiedy w wydaniu Lion (10.7) do wersji 10.7.3 zachowane przez program FileVault hasła były przechowywane domyślnie jako czysty, niezaszyfrowany tekst w logach systemu!

Linux z płyty na dobry początek Przygodę z Linuksem można zacząć od wybrania i przetestowania jednej z dystrybucji tzw. Live CD/DVD. Umożliwia to uruchomienie jej bezpośrednio z płyty lub pamięci USB. Nie ma w związku z tym konieczności zinstalowania tego oprogramowania na

Rozdział 2. Naucz się otwartego oprogramowania

27

dysku twardym. Jest to idealne rozwiązanie dla osób, które nigdy z systemu Linux nie korzystały, a chcą zapoznać się z nowym środowiskiem. Osobom początkującym mogę polecić niemiecką dystrybucję Knoppix. System ten przeznaczony jest w zasadzie tylko do uruchamiania z płyty, na dyski twarde instaluje się go rzadko. Knoppiksa można ściągnąć za darmo z jego oficjalnej witryny http:// www.knopper.net w jednej z dwóch wersji — CD (około 700 megabajtów danych) i DVD (około 4,7 gigabajta danych) — w zależności od tego, z ilu funkcji i programów chcemy korzystać. Oprogramowanie, które na nim znajdziemy, w większości należy do open source (choć niektóre aplikacje są własnościowe). Sam system nie ma wysokich wymagań — potrzebujemy procesora Intel lub AMD o architekturze przynajmniej i486, około 128 megabajtów pamięci operacyjnej RAM, karty graficznej działającej w standardzie SVGA, klawiatury oraz myszki, i oczywiście czytnika płyt. Po ściągnięciu obrazu ISO dystrybucji możemy nagrać go na pustą płytę CD lub DVD za pomocą narzędzia do wypalania dysków. Gdy wszystkie pliki z pakietu ISO zostaną umieszczone na płycie, możemy zamknąć komputer i uruchomić go od nowa. Dalsze postępowanie zależy od posiadanego sprzętu. Zanim uruchomi się system z dysku twardego, pokazuje nam się ekran producenta maszyny. Teoretycznie na każdym komputerze, wśród wstępnych informacji, powinna znaleźć się adnotacja menu, boot order, boot menu itp., z klawiszem, który trzeba nacisnąć. Kiedy naciśniemy taki klawisz przy starcie komputera, pokaże nam się menu wybierania dysków wymiennych i twardych, z których ma być uruchomiony system operacyjny (tzw. boot loader). W większości komputerów menu bootowania można otworzyć za pomocą któregoś spośród klawiszy: Esc, F8, F9, F10 lub F12. W komputerach produkcji Apple’a dostęp do boot loadera uzyskujemy przez naciśnięcie i przytrzymanie klawisza Alt.

Mając włożoną płytę z naszym Knoppiksem i nawigując strzałkami lub myszką (w zależności od rodzaju komputera), wybieramy z menu stację dysków i akceptujemy wybór. Jeżeli nie wystąpiły żadne problemy, powinien nam się ukazać ekran powitalny Knoppiksa (rysunek 2.1). Teraz wystarczy wcisnąć Enter i zaczekać, aż system załaduje się do pamięci operacyjnej i sam skonfiguruje (rysunek 2.2). Rysunek 2.1. Ekran powitalny systemu Knoppix. W zależności od wersji może on wyglądać nieco inaczej

28

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 2.2. Ekran ładowania systemu. Wersja systemu oraz posiadany przez nas sprzęt warunkują długość oczekiwania na konfigurację

Warto dodać, że zanim uruchomimy system, możemy wpisywać tzw. boot codes, czyli komendy, które pozwolą nam między innymi wybrać język lub środowisko graficzne systemu. Ich lista dostępna jest pod klawiszem F2 lub F3. Przykładowo, wpisanie knoppix lang=pl desktop=kde i zatwierdzenie klawiszem Enter spowoduje uruchomienie systemu po polsku i załadowanie środowiska graficznego KDE. Nie należy przejmować się kolorowymi literkami i cyferkami podczas bootowania systemu. Znikną zaraz po załadowaniu przez program środowiska graficznego LXDE, chyba że wcześniej wybraliśmy inne (na przykład KDE). W starszych Knoppiksach domyślnie ładowało się KDE, które może przypaść do gustu użytkownikom systemów Microsoft Windows. Poruszanie się po środowisku KDE, które uznałem za standardowe w tej publikacji, jest bardzo łatwe i intuicyjne. Sam pulpit (rysunek 2.3) wygląda bardzo przejrzyście. Rozwijane menu oznaczone jako duże K w lewym dolnym rogu stanowi odpowiednik windowsowskiego menu Start. W tym miejscu znajdziesz wszystkie potrzebne programy — pakiet biurowy LibreOffice, środowiska programistyczne, gry, programy graficzne (na przykład GIMP), narzędzia internetowe (w tym przeglądarka Iceweasel i klient e-mail Icedove), odtwarzacze multimedialne, a nawet terminalowy serwer (rysunek 2.4). Podstawową regułą w obsłudze systemów linuksowych jest brak jakichkolwiek reguł. Jeżeli nie boisz się eksperymentować i lubisz testować i sprawdzać rozwiązania — to Linux jest systemem dla Ciebie! Masz kontrolę nad wszystkimi procesami oraz dysponujesz nieskrępowanym dostępem do zasobów systemowych. Możesz bawić się systemem. Możesz robić to wszystko, czego Microsoft lub Apple do tej pory Ci zabraniali. Możesz poczuć smak wolności.

Rozdział 2. Naucz się otwartego oprogramowania

Rysunek 2.3. Pulpit Knoppiksa w środowisku KDE. Proszę zwrócić uwagę na podobieństwo do systemów Microsoft Windows Rysunek 2.4. Menu programów w systemie Knoppix

29

30

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Zrozumienie istoty środowiska graficznego KDE wymaga najwyżej kilku godzin pracy z Linuksem. Do przyzwyczajenia się do tego systemu operacyjnego potrzeba jedynie dwóch – trzech dni pysznej zabawy. Knoppix nadaje się do tego celu idealnie. Jeżeli chcesz, możesz spróbować swoich sił w obsłudze innych środowisk graficznych (na przykład GNOME), jednak moim zdaniem KDE jest po prostu najbardziej dopracowane i eleganckie. Celem niniejszej publikacji nie jest wprowadzenie do systemu Linux, ani też nauczenie podstaw jego obsługi (jest to temat „rzeka”; istnieje wiele poświęconych mu publikacji). Kwestię tę pozostawiam Czytelnikowi.

Wybór dystrybucji standardowej System Live CD/DVD ma jednak jedną poważną wadę — zamykając system, tracisz cały zachowany postęp i konfigurację. System Knoppix posiada możliwość zapisywania konfiguracji, jednak na dłuższą metę staje się to nieopłacalne. Za każdym razem przed uruchomieniem systemu musisz ją ładować za pomocą boot code. Jeżeli decyzja w sprawie instalacji Linuksa została podjęta, możesz wybrać i zainstalować standardową dystrybucję. W przypadku każdego systemu wymagane jest oczywiście ściągnięcie jego obrazu ISO oraz wypalenie na płycie lub nośniku USB. Uruchomienie odbywa się tak samo jak w przypadku dystrybucji Knoppix, z tą różnicą, że po wybraniu nośnika z menu bootowania przerzuceni zostaniemy do graficznego instalatora systemu. W przypadku gdy podczas instalacji „utkniemy”, zawsze możemy zwrócić się do producenta lub do społeczności z odpowiednim zapytaniem. Większość systemów jest jednak skonstruowana tak, by zapewnić maksymalny komfort przy instalacji i obsłudze. Podczas instalacji Linuksa nie musimy pozbywać się starego systemu — wszystkie porządne dystrybucje pozwalają na podział dysku twardego na partycje (rozdział 8.), dzięki czemu na tym samym komputerze możemy korzystać z dwóch lub więcej systemów operacyjnych. Przy każdym uruchomieniu sprzętu ze specjalnego, automatycznie ładującego się menu, będziemy mogli wybrać, którego oprogramowania chcemy użyć (rysunek 2.5). Rysunek 2.5. Dwa systemy operacyjne (Linux i Windows) nie gryzą się wzajemnie, nawet jeżeli znajdą się na wspólnym dysku

Rozdział 2. Naucz się otwartego oprogramowania

31

Przystąpię teraz do omówienia kilku dystrybucji Linuksa, które śmiało można polecić użytkownikom początkującym. Wszystkie poniższe systemy posiadają wersje Live CD/DVD lub USB, dzięki czemu można je przetestować i zapoznać się z nimi bez konieczności instalacji.

openSUSE System openSUSE to darmowa i otwarta wersja systemu SUSE Linux Enterprise niemieckiej firmy SUSE. Charakteryzuje się prostotą i jest polecany długoletnim użytkownikom systemów Microsoft Windows (dzięki temu openSUSE to mój ulubiony Linux!). Jest to również jedna z najpopularniejszych dystrybucji i skupia wokół siebie obszerną społeczność. Posiada interfejsy graficzne KDE i GNOME (rysunek 2.6), ale w środowisku komputerowym stała się sławna dzięki doskonałemu narzędziu administracyjnemu YaST. Program ten ma dwie istotne funkcje. Z jednej strony pozwala na całkowitą konfigurację naszego komputera za pomocą interfejsu graficznego — nie musimy uczyć się skomplikowanych poleceń terminalowych. Z drugiej zaś jest menadżerem pakietów, czyli aplikacją, która łączy się z internetowymi repozytoriami oprogramowania linuksowego i pozwala na ściąganie i łatwe instalowanie dodatkowego software’u.  Zalety: w pełni intuicyjny interfejs graficzny, dystrybucja polecana użytkownikom

systemów Microsoft Windows, doskonałe narzędzie administracyjne; nie posiada własnościowych wtyczek i programów.  Wady: niektóre funkcje i efekty graficzne mogą spowalniać system; openSUSE

nie posiada kilku wtyczek i programów, które są przydatne, na przykład kodeka do odtwarzania plików MP3, taki kodek należy ściągnąć osobno, gdyż jest własnościowy. Rysunek 2.6. Pulpit openSUSE 2 w środowisku KDE

2

http://commons.wikimedia.org/wiki/Category:OpenSUSE#/media/File:OpenSUSE_13.1_Desktop.png.

32

Ukryta tożsamość. Jak się obronić przed utratą prywatności  Zarządzanie programami: przez program YaST oraz przez wiersz poleceń;

pakiety instalacyjne są w formacie RPM.  Strona producenta: http://pl.opensuse.org/.  Forum społeczności: http://forum.suse.pl/.

Linux Mint Dystrybucja ta wywodzi się z bardziej znanych systemów operacyjnych Ubuntu i Debian. Powstała w 2006 roku z inicjatywy francuskiego programisty Clémenta Lefebvre’a. Charakteryzuje się własnym środowiskiem graficznym opartym na GNOME (rysunek 2.7) oraz olbrzymim zbiorem dostępnego oprogramowania. Z jednej strony minusem, a z drugiej — plusem, może być fakt, że Linux Mint ma domyślnie zainstalowane własnościowe wtyczki (na przykład Adobe Flash Player, Java) i kodeki plików multimedialnych. Dostosowywanie systemu do własnych potrzeb jest banalnie proste dzięki takim narzędziom jak mintDesktop (konfiguracja środowiska), mintInstall (menadżer pakietów) i mintUpdate (menadżer aktualizacji systemowych). Najpoważniejszą zaletą tej dystrybucji jest jednak to, że nad projektem czuwają setki specjalistów, a deweloperzy słuchają sugestii użytkowników. Nowe aktualizacje wychodzą co około pół roku.

Rysunek 2.7. Pulpit Minta3

3

http://distrowatch.com/table.php?distribution=mint.

Rozdział 2. Naucz się otwartego oprogramowania

33

 Zalety: przyjazna konfiguracja systemu, duży zbiór oprogramowania działającego

zaraz po instalacji, własne środowisko graficzne i wiele unikatowych rozwiązań, które nie są znane z Ubuntu czy Debiana; doskonałe wsparcie deweloperów i społeczności.  Wady: zawiera domyślnie zainstalowane i aktywowane wtyczki i kodeki

własnościowe.  Zarządzanie programami: przez programy APT i mintInstall; pakiety

instalacyjne są w formacie DEB.  Strona producenta i społeczności: http://linuxmint.pl/.

Debian Jest jedną z najstarszych linuksowych dystrybucji. Pierwszą wersję opublikował w 1993 roku Ian Murdock. Szybko stała się źródłem i inspiracją wielu innych systemów operacyjnych, sama w sobie jest potężnym projektem, który najlepiej ilustrują liczby podane na witrynie DistroWatch.com. Nad Debianem pracuje około tysiąca deweloperów, repozytoria oprogramowania dysponują ponad 20 tysiącami pakietów dla 11 różnych architektur procesorów. Z Debiana wyewoluowało 120 innych dystrybucji (na przykład wspomniane już Linux Mint i Knoppix). Debian uzyskał miano jednego z najstabilniejszych, najbezpieczniejszych i najbardziej wydajnych wydań Linuksa. Olbrzymia społeczność na bieżąco wyszukuje błędy i zgłasza je do poprawek. Kompatybilność Debiana z różnymi architekturami procesorów i jego niezawodność sprawiają jednak, że oprogramowanie w najnowszych wydaniach jest zwykle nieco przestarzałe, a czas oczekiwania na nową wersję systemu wynosi nawet do trzech lat! Debian jest wyposażony w środowisko graficzne GNOME (rysunek 2.8).  Zalety: bardzo stabilny, bezpieczeństwo systemu sprawdzane na bieżąco,

olbrzymi zbiór oprogramowania (ponad 20 tysięcy pakietów); niemal nieograniczone wsparcie sprzętowe dla tego systemu — można go uruchomić na prawie każdym komputerze.  Wady: najnowsze oprogramowanie nie zawsze jest dołączane do systemu;

długi czas oczekiwania na aktualizacje systemowe.  Zarządzanie programami: przez program APT; pakiety instalacyjne są

w formacie DEB.  Strona producenta: https://www.debian.org/.  Forum społeczności: http://www.debian.pl/.

Fedora Stateczny naukowiec dr Henry Walton Jones, którego nazywano Indy lub Indiana Jones, poza salą wykładową zmieniał swój wygląd, a jednym z elementów jego praktycznego stroju archeologa stał się charakterystyczny kapelusz fedora. Do nazwy tego rodzaju kapelusza nawiązuje jedna z dystrybucji Linuksa. System opracowano w 2004 roku, ale jego historia zaczyna się w roku 1995, kiedy to powstał Red Hat Linux. W 1997 roku stał się sławny dzięki rewolucyjnemu, nowemu formatowi pakietów RPM i szybko

34

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 2.8. Pulpit Debiana w środowisku GNOME4

uzyskał miano najpopularniejszej dystrybucji Linuksa. W 2003 roku producent zdecydował się utworzyć dwie gałęzie swoich produktów — komercyjną nazwał Red Hat Enterprise Linux, a otwartoźródłową Fedora Core (później po prostu Fedora). Obecnie Fedora, mimo początkowych słów krytyki, jest jednym z najpowszechniejszych systemów linuksowych na świecie. Charakteryzuje się niezwykłą innowacyjnością, dysponuje nowoczesnymi rozwiązaniami, których autorami są profesjonalni programiści. Sam system przeznaczony jest raczej dla użytkowników bardziej zaawansowanych i wymagających. Dla nowicjuszy może okazać się niewygodny w użytkowaniu ze względu na jego przystosowanie dla przedsiębiorstw i organizacji. Domyślnym środowiskiem graficznym Fedory jest GNOME (rysunek 2.9).  Zalety: bardzo innowacyjny, wysoki poziom bezpieczeństwa, duża liczba

dostępnych pakietów oprogramowania, całkowita rezygnacja z własnościowych wtyczek i kodeków.  Wady: Fedorę uważa się za system przeznaczony dla przedsiębiorstw i bardziej

zaawansowanych użytkowników; użytkowanie interfejsu graficznego może okazywać się czasem problematyczne.  Zarządzanie oprogramowaniem: przez program YUM i przez wiersz poleceń;

pakiety instalacyjne są w formacie RPM. 4

http://distrowatch.com/table.php?distribution=debian.

Rozdział 2. Naucz się otwartego oprogramowania

35

Rysunek 2.9. Pulpit Fedory w środowisku GNOME5  Strona producenta: https://getfedora.org/.  Forum społeczności: http://fedora.pl/.

Dlaczego nie Ubuntu? Richard Stallman, szef Free Software Foundation, odradza korzystanie z najpopularniejszej linuksowej dystrybucji — Ubuntu6. Przekonuje, że w Ubuntu znajduje się kod szpiegujący. System wysyła do serwera producenta treść każdego wyszukiwania dokonanego w interfejsie graficznym. Ubuntu wykorzystuje tę informację między innymi do podsuwania użytkownikowi reklam z Amazona. Canonical (producent) twierdzi, że w żaden sposób nie przekazuje informacji osobom trzecim o tym, kto i co wyszukał. Żeby zweryfikować to twierdzenie, wystarczy zajrzeć do polityki prywatności na stronie Ubuntu. W przepisach napisane jest wyraźnie, że Canonical może przesyłać wyniki wyszukiwania do firm trzecich, takich jak: „Facebook, Twitter, BBC i Amazon”. W Ubuntu jest oczywiście opcja wyłączenia przesyłania danych, jednak domyślnie pozostaje nieaktywna. Procederu tego nie wolno lekceważyć. Ubuntu to system niebezpieczny dla użytkowników początkujących, którzy chcieliby się oderwać od globalnej inwigilacji.

5

http://distrowatch.com/table.php?distribution=fedora.

6

https://www.gnu.org/philosophy/ubuntu-spyware.html.

36

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Stallman w tej samej wypowiedzi potwierdza, że wyszukiwanie informacji na systemach Microsoft Windows jest niebezpieczne. Za każdym razem, gdy jego kolega wyszukiwał informację, firewall wykrywał jeden pakiet, który próbował wysłać system. Zgodnie z zasadą zamkniętego oprogramowania: nie wiadomo, w jakim celu i gdzie.

Czy zmiana systemu operacyjnego jest potrzebna? Na to pytanie odpowiem wprost: nie. Nie musisz zmieniać Twojego Windowsa lub OS X na system Linux. Jeżeli jednak chcesz czuć się bezpieczny i wolny od globalnej inwigilacji w stu procentach, taki krok wydaje się niezbędny. Z poziomu systemu operacyjnego da się wydobyć bardzo wiele newralgicznych informacji o danym użytkowniku. W sytuacji, w której ani Microsoft, ani Apple nie chcą okazać źródeł swoich produktów, a Ty pragniesz dbać o swoje bezpieczeństwo, przejście na system otwartoźródłowy jest decyzją najrozsądniejszą, której nie będziesz żałować. Jeżeli pełna anonimowość wymagana jest sporadycznie, należy rozważyć ściągnięcie jednej z dystrybucji Linuksa zorientowanej na bezpieczeństwo, a działającej jako Live CD/DVD/USB. Taki układ idealnie nadaje się do pojedynczego uruchomiania systemu operacyjnego innego niż własnościowy. Wszystkie celowo niezapisane przez Ciebie dane będą usuwane po wyłączeniu komputera — nie ma zatem potrzeby zacierania śladów swojej działalności na dysku twardym i logach maszyny. Dobrym przykładem takiego systemu jest Linux Tails (od The Amnesic Incognito Live System), który składa się prawie wyłącznie z oprogramowania służącego bezpieczeństwu internetowemu. Dziennikarze, którzy komunikowali się ze Snowdenem (Laura Poitras, Glenn Greenwald i Barton Gellman), w swojej pracy korzystali z systemu Tails. Systemowi temu i jego obsłudze poświęcony jest rozdział 11. niniejszej publikacji.

BSD — alternatywa dla Linuksa Linux nie jest jedynym otwartoźródłowym systemem operacyjnym. Bardzo ważne miejsce w historii komputerów i oprogramowania zajmuje rodzina systemów BSD. Wprawdzie nie są to dystrybucje przeznaczone dla zwykłych użytkowników „domowych”, jednak warto poświęcić trochę miejsca na zaprezentowanie tego godnego współzawodnika Linuksa. BSD swój żywot zaczął w latach 80. Był to czas, kiedy Unix ulegał komercjalizacji, a wspominany już Richard Stallman zakładał projekt GNU. System GNU budował od zera; miał być to wolny odpowiednik Uniksa. Sam GNU popularności nigdy nie zdobył, a część jego komponentów znalazła się w systemach linuksowych. Zupełnie inną drogą poszli naukowcy z Uniwersytetu w Berkeley (Kalifornia, USA). Kod źródłowy Uniksa, którym dysponowali, przemianowali na BSD (Berkeley Software Distribution) i rozwijali niezależnie od głównego systemu operacyjnego jako opro-

Rozdział 2. Naucz się otwartego oprogramowania

37

gramowanie otwarte. Na marginesie mogę dodać, że do nowego software’u wprowadzili zestaw protokółów sieciowych TCP/IP, który dziś jest standardem we wszystkich systemach komputerowych. W 1992 roku firma Novell wykupiła oryginalnego Uniksa (pod nazwą Unix System V) i pozwała ekipę BSD o kradzież własności intelektualnej. Na domiar złego coraz większe znaczenie uzyskiwały systemy zamknięte firmy Microsoft — MS-DOS oraz Windows. Rozwój otwartoźródłowego systemu został zahamowany i stanął pod znakiem zapytania. Miejsce BSD na rynku open source zajął wówczas Linux. Kryzys udało się przełamać dopiero pod koniec lat 90., gdy powstało wiele dystrybucji opartych na BSD. Likwidowały one luki spowodowane stagnacją oprogramowania. Obecnie najpopularniejsze dystrybucje to FreeBSD, OpenBSD i NetBSD.

BSD bardziej niezależny Systemy z rodziny Linux, podobnie jak oryginalny kernel, podlegają licencjonowaniu GNU General Public License, najbardziej rozpoznawalnej licencji open source. Sama GNU GPL jest doskonałym gwarantem elementarnych praw użytkownika, jednak w porównaniu z licencją BSD wydaje się być nieco mniej liberalna. Podstawowa (i w zasadzie jedyna znacząca) różnica między obiema licencjami dotyczy sposobu wykorzystania kodu źródłowego i programu. W GNU GPL czytamy, że użytkownik może przerobić swoją kopię programu, jak również rozprowadzać wykonane przez siebie modyfikacje, pod warunkiem że:  zaznaczy informacje o prawach autorskich,  udostępni swoje oprogramowanie w całości na licencji GNU GPL,  do oprogramowania dołączy pełny kod źródłowy.

W licencji BSD jedynym warunkiem przy publikacji programu lub jego kodu źródłowego jest zaznaczenie informacji o prawach autorskich. GNU GPL wymusza na autorach oprogramowania powielanie produktów na tej licencji, przez co gwarantuje otwartość źródeł. BSD natomiast charakteryzuje się tym, że nie zakazuje stosowania kodów źródłowych w oprogramowaniu zamkniętym, nie wymusza też nadawania tej samej licencji. Wiele prywatnych firm (na przykład Yahoo!) z tego powodu decyduje się na korzystanie z rozwiązań opartych na licencji BSD.

Zalety i wady FreeBSD jako systemu operacyjnego Najbardziej rozpowszechnionym systemem z rodziny BSD jest dystrybucja FreeBSD. W badaniach BSD Certification Group z września 2005 roku aż 77% użytkowników całej rodziny korzystało z FreeBSD. Trudno jest jednak porównać popularność FreeBSD i Linuksa, ponieważ w wielu badaniach rodzina BSD w ogóle nie jest uwzględniana. Na rynku serwerów popularność systemu sięga od 1% (W3Techs, luty 2014 roku) do ponad 4% (SecuritySpace, listopad 2013 roku). Spośród 500 najlepszych komputerów na świecie tylko jeden (!) działa pod BSD. Pierwszą wadą, która się rzuca w oczy, jest niewielka społeczność, składająca się głównie ze specjalistów.

38

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Użytkowanie FreeBSD wiąże się także z potrzebą posiadania wielkiej, niemal eksperckiej wiedzy z zakresu systemów uniksowych. Nowicjuszy odstraszać może tekstowy tryb instalacji i trudność w obsłudze samego systemu. Dostosowanie pulpitu również może sprawiać wiele problemów; bywa bardzo pracochłonne. FreeBSD nie jest przeznaczony dla żółtodziobów w zakresie informatyki. System może ponadto nie wspierać w pełni naszego sprzętu komputerowego. Posiadając nietypowy hardware, należy się liczyć z tym, że pod FreeBSD nie będzie działać tak, jak tego oczekujemy. Mając na uwadze niezwykle poważne wady, nie można zapomnieć o kilku niezwykle ważnych zaletach FreeBSD:  Stabilność i szybkość. Nad FreeBSD czuwają fachowcy. To ludzie, którzy

rozwijali ten system od prawie trzydziestu lat i posiadają spore doświadczenie informatyczne. Dzięki konserwatyzmowi FreeBSD nie przechodzi rewolucyjnych zmian, które radykalnie zmieniają oblicze systemu. Wszystkie poprawki wprowadzane są bardzo ostrożnie. Z tego powodu FreeBSD bywa wykorzystywany jako serwer lub jako zapora sieciowa.  Większy zakres wolności. Licencja BSD (o której wspominałem) daje większe

możliwości do działania programistom i deweloperom. Mogą niemal swobodnie wykorzystywać dowolny fragment kodu systemowego do własnych celów, nawet niezgodnych z ideą open source.  Łatwe zarządzanie programami. FreeBSD rozwinął własny sposób zarządzania

aplikacjami, które w systemowym slangu nazywane są portami. Algorytm działania zakłada, że nie pobieramy gotowej aplikacji i nie instalujemy jej, lecz ściągamy kod źródłowy. Taki kod jest analizowany przez system, a następnie kompilowany i instalowany. Mechanizm portów dba o to, by nie została zaburzona integralność systemu, wyszukuje także powiązania między poszczególnymi programami i w razie potrzeby ściąga wymagane aplikacje za użytkownika. Dla FreeBSD istnieje ponad 20 tysięcy portów.  Dystrybucje przyjazne dla użytkownika. PC-BSD to system, który jest w pełni

oparty na FreeBSD. Autorzy wyposażyli go w domyślne środowisko graficzne i przyjazny instalator, dzięki czemu mniej zaawansowani użytkownicy mogą spróbować obsługi tego egzotycznego systemu. Zawiera znane z Linuksa KDE (rysunek 2.10), interfejs sieciowy oraz kodeki audio i wideo, dzięki czemu można go używać zaraz po zainstalowaniu — bez trudnej konfiguracji. Instalacja przebiega prawie identycznie jak w przypadku dystrybucji linuksowych. Witryna FreeBSD mieści się pod adresem http://www.freebsd.org/, natomiast polską stronę społeczności można znaleźć tu: http://www.bsdguru.org/.

Rozdział 2. Naucz się otwartego oprogramowania Rysunek 2.10. Pulpit PC-BSD w środowisku KDE7

7

http://distrowatch.com/table.php?distribution=pcbsd.

39

40

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 3.

Bezpieczne przeglądanie internetu Dokładnie dziesięć lat temu przestarzały dziś Microsoft Internet Explorer był królem przeglądarek. Kontrolował 95% komputerów na całym świecie (TheCounter.com, II kwartał 2004 roku). Charakteryzował się lukami w bezpieczeństwie, był powolny, ładowanie bardziej skomplikowanych witryn sprawiało mu trudność. Wszyscy byliśmy zdani na łaskę praktycznie jednego producenta, który ustalał reguły rynku według swoich potrzeb. Producent ów starał się, by uważano go za jedynego guru w sprawach połączeń i bezpieczeństwa naszych danych w internecie. Jako deweloper światowych standardów umożliwiał nam przeglądanie internetu z naszego komputera. Niestety, standardowo umożliwił też penetrację naszego komputera za pośrednictwem internetu. Przez kilka lat pojęcie „przeglądarka” utożsamiano z wadliwym dziełem Microsoftu. Tamte czasy wydają się ponurą antyutopią. Mamy teraz na szczęście wiele przeglądarek internetowych — Google Chrome, Mozilla Firefox, Opera, Safari itd. Każda z nich rozwija się we własnym kierunku. Możemy wybrać dowolny program, ściągnąć go i bezpłatnie korzystać z zasobów globalnej sieci. Na rynku przeglądarek i usług internetowych niechlubny prym wiedzie obecnie Google. Chrome kusi swoją przejrzystością, szybkością działania, a nawet wbudowanym menedżerem procesów. Broni przed atakami hakerów i złośliwym oprogramowaniem. Nie stanowi jednak żadnej bariery w starciu z mackami producenta oraz firm trzecich.

Po pierwsze, bezpieczeństwo przeglądarki Można nie założyć sobie profilu na serwerze portalu społecznościowego, ale z przeglądania internetu nie zrezygnujemy. We współczesnym świecie internet jest takim samym medium jak prasa, radio czy telewizja, ale ma swoją specyfikę. Posługując się nim,

42

Ukryta tożsamość. Jak się obronić przed utratą prywatności

niezwykle łatwo stracić prywatność. Troska o pełne bezpieczeństwo naszych danych podpowiada, że należy wybrać taką przeglądarkę, która będzie działać jawnie i w oparciu o reguły open source. Zalety programów i rozwiązań otwartoźródłowych nie są już wiedzą jedynie dla wtajemniczonych. Tako rzecze Księga Mozilli: „Bliźnięta Mammona były skłócone. Ich wojowanie zanurzyło świat w nowej ciemności, a Bestia wstręt czuła do ciemności. Prędko poruszać się zaczęła i urosła w siłę, i rozeszła się po świecie, i rozmnożyła. I przyniosły bestie ogień i światłość, które rozjaśniły ciemność”. Niniejszy cytat precyzuje wybór, którego powinniśmy dokonać. Dla porządku informuję, że powyższy fragment jest programistycznym żartem1. Spośród pięciu największych przeglądarek internetowych jedyną, którą kwalifikuje się jako otwarta, jest Mozilla Firefox. Wszystkie pozostałe to produkty własnościowe, z czego Chrome, Internet Explorer i Safari należą do firm współpracujących z NSA w ramach programu PRISM. Urocze, prawda? Wprawdzie „goły” Firefox bez zabezpieczających wtyczek faworyzuje rozwiązania zamknięte, to da się go jednak skonfigurować tak, by zapewnić maksymalny poziom niezależności od koncernów. Warto zauważyć, że z racji swoich zalet i „otwartoźródłowości” przeglądarka ta bywa standardowo dołączana do wielu dystrybucji Linuksa lub BSD (w dystrybucjach Debian i pochodnych pod nazwą Iceweasel). Istnieją też wersje dla systemów operacyjnych Microsoft Windows i OS X. Wielu z nas korzystało lub korzysta z Firefoksa. Instalacja samego programu jest banalnie prosta, zatem nie warto opisywać całej potrzebnej do tego procedury. Bezpieczeństwo naszego software’u jest i ciekawsze, i ważniejsze.

Dodatkowe rozszerzenia W ramach programu Mozilla Firefox użytkownik może instalować własne dodatki, tzw. rozszerzenia. Cała idea rozszerzeń polega na dodawaniu do przeglądarki nowych funkcji, które nie są przewidziane w pakiecie domyślnym. Ich listę można znaleźć w menu Narzędzia jako Dodatki. Innym sposobem na wyszukanie rozszerzeń jest wpisanie w polu adresu wyszukiwarki komendy about:addons. Strona, która się pojawi, powinna wyglądać w ogólnych zarysach jak na rysunku 3.1. Jeżeli jest pusta, oznacza to, że nie masz zainstalowanych żadnych rozszerzeń. Wśród rozszerzeń zainstalowanych w mojej przeglądarce znajduje się kilka takich, których celem jest podniesienie mojego bezpieczeństwa jako użytkownika sieci. Radzę je ściągnąć — są niewielkie, a ułatwiają pracę.

1

Dostępnym pod adresem about:mozilla w przeglądarce Mozilla Firefox.

Rozdział 3. Bezpieczne przeglądanie internetu

43

Rysunek 3.1. Lista zainstalowanych rozszerzeń w programie Mozilla Firefox

Adblock Edge — pozbądź się reklam! Większość użytkowników nienawidzi reklam w internecie. Denerwują wszędobylskie panele, wyskakujące okienka i powolne działanie przeglądarki. Dobrym rozwiązaniem tego problemu jest otwarty dodatek Adblock Edge. Można go pobrać z oficjalnego repozytorium Mozilli (https://addons.mozilla.org/en-US/firefox/addon/adblock-edge/). Dodatek ów zainstaluje się sam, jeżeli tylko wciśniemy przycisk Add to Firefox. Nie musimy przy tym resetować przeglądarki. Działanie Adblocka jest proste. W chwili gdy przeglądarka otrzymuje kod źródłowy danej strony internetowej, analizuje go. Kiedy wtyczka znajdzie któreś ze słów kluczowych wskazujących na reklamę, blokuje całą sekcję, przez co element strony (czytaj: reklama) nie wyświetla się tak, jak należy. Ładowanie witryny staje się dzięki temu szybsze. Lubimy to, prawda? Ikonka Adblocka znajduje się domyślnie na prawo od paska adresu i wyszukiwania. Znajduje się pod nią menu z ustawieniami rozszerzenia (rysunek 3.2). Możemy ustawić zakres blokowania, na przykład dodając aktualną stronę do tzw. białej listy. Jeśli wybierzemy pozycję Otwórz listę blokowanych elementów, ukaże nam się lista zablokowanych reklam w ramce pod zawartością witryny (rysunek 3.3). Rysunek 3.2. Menu ustawień rozszerzenia Adblock Edge

44

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 3.3. Lista blokowanych elementów w danej witrynie

Wszędzie HTTPS — wymuszaj połączenia szyfrowane Większość witryn internetowych działa w oparciu o standardowy protokół HTTP (Hypertext Transfer Protocol). Jeżeli przeglądarka zgłasza żądanie wyświetlenia danej strony, posługuje się tym protokołem, który wysyła i odbiera pakiety danych na jednym, konkretnym porcie komputera. Domyślnie port ten oznacza się jako 80 (porty to „kanały” sieciowe naszego komputera, ponumerowane od 0 do 65535; dany port służy do przesyłania jednego protokołu). Transfer danych przez HTTP niesie za sobą ryzyko przechwytywania żądań, a przez to i informacji z naszego komputera. To z tego powodu firma Netscape opracowała nowy protokół — HTTPS, tj. HTTP szyfrowane (Hypertext Transfer Protocol Secure). Po pierwsze, transferuje on dane na porcie 443. Po drugie — jest bezpieczniejszy. Gdy wysyłamy pakiet żądania do strony internetowej, na którą chcemy wejść, serwer nie wysyła nam bezpośrednio kodu strony, lecz udostępnia swój certyfikat (klucz publiczny) i możliwe metody szyfrowania. Nasz komputer wymienia się naszym certyfikatem z serwerem, połączenie podlega zaszyfrowaniu i dopiero wówczas serwer przesyła nam gotową witrynę. Różnicę można zobrazować dzięki przykładowi. Załóżmy, że chcemy poszukać w jakimś repozytorium fotografii zdjęć niebieskookich kotów syjamskich.  W przypadku zwykłego HTTP służby specjalne dowiadują się, że chcemy wejść

na repozytorium zdjęć i że interesują nas „słitfocie” kotów.  Gdy zaszyfrujemy połączenie HTTPS, funkcjonariusze będą wiedzieli,

że wchodzimy na repozytorium zdjęć (znają adres witryny, z którą próbujemy się połączyć), ale nie będą wiedzieli w jakim celu.

Rozdział 3. Bezpieczne przeglądanie internetu

45

Z tego powodu protokół HTTPS stosują na przykład banki, serwisy pocztowe czy internetowe sklepy. Oprogramowaniem, które wymusza HTTPS wszędzie tam, gdzie istnieje taka możliwość, jest wtyczka do Firefoksa — HTTPS Everywhere (https://www. eff.org/https-everywhere). Za każdym razem, gdy wchodzimy na dowolną witrynę, obok ikonki tego rozszerzenia pojawia się informacja, ile razy wtyczka wymusiła połączenie HTTPS (rysunek 3.4). Rysunek 3.4. Działanie HTTPS Everywhere. W tym przypadku wtyczka wymusiła szyfrowanie połączenia z Facebookiem i Google — witryna nie będzie przechwytywać poufnych informacji, które przez nią wysyłam do wymienionych stron

Łączenie się z zabezpieczonymi witrynami i korzystanie z dodatku HTTPS Everywhere jest możliwe dzięki obecności w przeglądarce jednej z dwóch warstw — Secure Socket Layer (SSL) lub Transport Layer Security (TLS). Obecnie każda szanująca się aplikacja do surfowania po internecie wspiera i SSL, i TLS, zatem teoretycznie nie powinniśmy się martwić, że HTTPS nie zadziała. Dbałość o bezpieczeństwo w sieci powinno być jednak procesem, który nigdy się nie kończy. Dzięki uważnej analizie dotychczasowych zabezpieczeń w październiku 2014 roku odkryto krytyczną dziurę w zabezpieczeniach warstwy SSL w wersji trzeciej, najnowszej. SSLv3 to najpowszechniejszy standard zabezpieczeń protokołów (akceptuje go obecnie 98% witryn; dane według Trustworthy Internet Movement, październik 2014 roku). Tego rodzaju „nieoczekiwane odkrycia” pobudzają zwykle wyobraźnię wszelkiej maści cyberprzestępców i dlatego też należy jak najszybciej wyłączyć obsługę SSL w przeglądarce i zdać się na możliwości TLS. Aby tego dokonać, w Firefoksie otwieramy Pasek programisty z menu Narzędzia, wpisujemy polecenie pref set security.tls.version.min 1 oraz zatwierdzamy klawiszem Enter. Komunikat Not vulnerable! na stronie testowej https://www.poodletest.com/ oznacza, że nie musimy się już przejmować niebezpieczeństwem „dziurawego” SSL.

Disconnect i ukryte elementy witryn Wielu ludzi zastanawia się, dlaczego w prawie każdej witrynie internetowej widzi skrypty Facebooka, Twittera czy Google+. Zdarza się czasami, że przez omyłkę klikniemy przycisk Lubię to! i poinformujemy naszych znajomych o przeglądanej przez nas witrynie. Jeżeli jesteśmy zalogowani w serwisie społecznościowym i przeglądamy internet, narażamy się na to, że poszczególne koncerny będą zbierać dane o naszej aktywności sieciowej — gdzie wchodzimy, czego szukamy. Nie dziwmy się potem, że reklamy, które widujemy na Facebooku lub Google, są zgodne z naszymi zainteresowaniami. Nasze bezpieczeństwo oraz prywatność można bardzo łatwo ochronić i… cóż — złośliwie utrudnić pracę programom analizującym, którymi posługują się koncerny. Nie warto być trybikiem w machinie globalnego marketingu, którego celem jest maksymalizacja

46

Ukryta tożsamość. Jak się obronić przed utratą prywatności

zysku jego właścicieli. Wystarczy ściągnąć rozszerzenie Disconnect, które znajduje reklamy, ukryte narzędzia do analizy ruchu sieciowego i wtyczki portali społecznościowych, a następnie je blokuje. Wtyczkę można ściągnąć z witryny https://disconnect.me/. Zasada działania bardzo przypomina Adblock Edge. Kiedy klikniemy ikonkę wtyczki po prawej stronie paska wyszukiwania, zobaczymy garść przydatnych statystyk dotyczących bieżącej działalności dodatku (rysunek 3.5). Będzie to: liczba zablokowanych komponentów portali społecznościowych, reklam czy narzędzi analitycznych. Dowiemy się też, ile transferu zaoszczędziliśmy na bieżącej stronie i ile sekund szybciej trwało ładowanie strony. Pamiętaj, że wszystkie komponenty witryny, w tym wtyczki z innych portali, wpływają na czas jej ładowania! Rysunek 3.5. Disconnect pokazujący efekty swojej działalności dla bieżącej witryny

Włączaj tylko zaufane skrypty Bardzo często witryny internetowe posiadają ciekawe skrypty, nieznane nam uprzednio możliwości, zautomatyzowane działanie lub tylko interesującą szatę graficzną. Nierzadko wykorzystuje się w tym celu partie kodu pisane w językach programowania innych niż standardowy PHP. Dodatki takie jak JavaScript, Java, Flash czy Microsoft Silverlight niewątpliwie poprawiają funkcjonalność strony, lecz mogą stanowić poważne zagrożenie dla naszego bezpieczeństwa. O ile większości popularnych witryn wykorzystujących skrypty można zaufać, o tyle wchodząc na podejrzane strony, możemy bardzo łatwo paść ofiarą hakerów. Partie kodu w JavaScripcie czy Flashu nie są uruchamiane na serwerze, z którym się łączymy, lecz bezpośrednio na naszym sprzęcie. To właśnie dlatego zdarza się, że wyświetlają się nam komunikaty o konieczności zainstalowania jakiejś wtyczki, gdy próbujemy obejrzeć film albo zrelaksować się grą. W przypadku JavaScriptu, Javy czy Flasha to nasz komputer musi umieć obsługiwać dany język programowania, a nie serwer, na którym znajduje się witryna (inaczej niż w przypadku klasycznego PHP, gdzie to serwer musi mieć stosowny program do „tłumaczenia” niezrozumiałych poleceń na gotowe do wyświetlenia przez nas strony WWW).

Rozdział 3. Bezpieczne przeglądanie internetu

47

Z tego właśnie powodu JavaScript, Flash, Java i inne skrypty mogą stanowić niebezpieczeństwo. Nieznane programy pisane w tych językach mogą wykorzystywać luki w bezpieczeństwie odpowiednich wtyczek i posłużyć do zainfekowania komputera lub wyciągnięcia z niego prywatnych danych. Żeby temu zapobiec, można zainstalować następne rozszerzenie do przeglądarki — NoScript (http://noscript.net/). Dzięki temu dodatkowi możemy blokować wszystkie multimedialne wtyczki w niezaufanych witrynach. Ikona wtyczki znajduje się domyślnie po lewej stronie od paska adresu. Poruszając się w obrębie konkretnej witryny, możemy sprawdzić szereg ustawień, które jej dotyczą. Dowiemy się, czy znajduje się na białej lub czarnej liście, czy skrypty są w niej blokowane tymczasowo albo czy dodatek jest w ogóle wyłączony (rysunek 3.6). Rozszerzenie domyślnie blokuje wszystkie skrypty z wyjątkiem stron na białej liście. W ustawieniach zaawansowanych możemy przeglądać listy stron z blokowanymi i dopuszczonymi skryptami, a ponadto wybrać, które rodzaje pluginów mają być wyłączane. Rysunek 3.6. Menu wtyczki NoScript podczas przeglądania Wikipedii

Liczbę zablokowanych skryptów i obiektów możemy sprawdzić na pasku na dole przeglądarki Firefox.

Dodatkowe opcje bezpieczeństwa przeglądarki Firefox domyślnie posiada szereg ustawień, które pomagają w zachowaniu prywatności. Wszystkie opisane niżej czynności można wykonać w ustawieniach przeglądarki. 1. Na karcie Treść zaznacz opcję Blokuj wyskakujące okna. 2. Na karcie Prywatność w sekcji Śledzenie zaznacz opcję Informuj witryny,

że użytkownik nie chce być śledzony (i niech nie wydziwiają dlaczego…). 3. Na tej samej karcie w sekcji Historia wybierz z menu rozwijanego Firefox

będzie używał ustawień użytkownika. Jeżeli bardzo zależy Ci na prywatności, zaznacz opcję Zawsze używaj trybu prywatnego — historia przeglądania, wyszukiwania oraz pliki cookies zostaną usunięte za każdym razem, gdy wyłączasz program. 4. Na karcie Bezpieczeństwo zaznacz tylko trzy pierwsze opcje (ostrzeganie

w przypadku próby instalacji dodatków i blokowanie witryn niebezpiecznych oraz oszustw internetowych). Przeglądarka nie powinna pamiętać żadnych haseł.

48

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Ciasteczka (cookies) to niewielkie pliki tekstowe, które pobierane są z witryn internetowych i przechowywane w zasobach przeglądarki jako źródło informacji o użytkowniku. Gdy za drugim razem łączymy się ze stroną, ta sprawdza obecność swojego pliku cookie w przeglądarce i pobiera z niego dane o nas. Najmniejsze, niegroźne ciasteczka służą na przykład zapamiętaniu ustawień wyglądu domyślnego witryny, na którą wchodzimy. Niektóre cookies mogą być jednak bardziej szkodliwe. Znany jest przypadek, w którym posiadanie pewnych ciasteczek sprawiało, że w wyszukiwarce Google użytkownik widział wyższe ceny biletów lotniczych. 5. Na karcie Zaawansowane w sekcji Udostępnianie danych wyłącz wszystkie

opcje. Nikomu nie przesyłaj informacji o przeglądarce internetowej, nawet gdy deweloperem jest faworyzująca oprogramowanie otwartoźródłowe Mozilla. 6. W sekcji Aktualizacja nakaż przeglądarce automatyczne aktualizacje. Mozilla

Firefox to program open source, a przez to kolejne udoskonalenia przynoszą bezpośrednie korzyści w zakresie bezpieczeństwa użytkowników.

Naprzód, zdobywajmy internet! Google zawładnęło naszym sposobem myślenia o internecie. Kiedy nie wiemy, od czego zacząć, wchodzimy na google.com. Dawno temu niezwykle pożyteczne jednoślady zaczęliśmy w Polsce nazywać rowerami. Ich nazwa zapożyczona została od nazwy produkującej je angielskiej firmy. Gdy musimy dzisiaj coś wyszukać, po prostu to „googlujemy”. Google to największy, obok Facebooka, dostawca usług internetowych. Internet bez Google nie istnieje w naszej wyobraźni, tak samo, jak nie istnieje wędka bez haczyka. Współpraca na linii NSA – korporacje nie mogłaby rozwinąć się bez tej, jakże integralnej, części światowej sieci. Przez wyszukiwanie, „googlowanie” przekazujemy kompletny obraz nas samych. Szefostwo firmy mogłoby spokojnie powiedzieć: „Dajcie mi adres IP człowieka, a powiem wam, kim jest, czego pragnie. Mamy jego psychologiczny portret”. Lista usług, które każdy może otrzymać za pozornie darmową rejestrację, z jednej strony cieszy, z drugiej — niepokoi. Mamy więc: wyszukiwarkę, serwis z filmami, serwis z nowościami, mapy, pocztę e-mail, czat, serwis społecznościowy, pakiet biurowy online, chmurę (dysk wirtualny), kalendarz, tłumacza, grupy, serwis z blogami. Firma oczekuje, że my, jako użytkownicy, w zamian za cały wachlarz usług zaufamy jej w kwestii naszego bezpieczeństwa. Przez to, że otrzymujemy całkiem dobry produkt zupełnie za darmo, nie mamy wrażenia, że ktoś może gromadzić nasze dane bez naszej wiedzy w celu maksymalizacji swoich zysków. Google nie dba tak naprawdę o użytkowników — zabiega o swój zysk (a przy okazji o interes NSA, z którą współpracuje). Korporacje nie są organizacjami charytatywnymi. Przeglądajmy bezpiecznie!

Rozdział 3. Bezpieczne przeglądanie internetu

49

Prawie Google, ale nie Google Istnieje strona, która wykorzystuje wyniki wyszukiwania z Google, ale Google nie jest. Nie zbiera danych, nie rejestruje adresów IP ani żadnych danych osobowych. Nie podsuwa nam reklam, które ograniczają nasz wolny wybór. Z pomocą przychodzi wyszukiwarka Startpage. Z informacji na oficjalnej witrynie https://startpage.com/ dowiadujemy się o możliwościach tej niezwykłej strony. Sama witryna jest autentyczna i zweryfikowana. W 2008 roku otrzymała Europejski Certyfikat Prywatności z rąk Europejskiego Pełnomocnika ds. Ochrony Danych. Firma gwarantuje między innymi: zakaz rejestrowania adresów IP, zakaz umieszczania plików cookie, które mogłyby pomóc w identyfikacji swojego użytkownika, zakaz zbierania danych o charakterze osobistym, zakaz udostępniania innym podmiotom danych osobistych, bezpieczne szyfrowanie połączeń (HTTPS), bezpłatny serwer proxy do anonimowego przeglądania witryn. Mechanizm witryny jest niezwykle prosty: użytkownik ma do dyspozycji standardową wyszukiwarkę, która nieco przypomina Google (rysunek 3.7). Rysunek 3.7. Strona główna Startpage

Wpisując jakąś frazę i nakazując jej wyszukanie, połączenie nie idzie bezpośrednio do serwerów Google. Nasz komputer swoje połączenie prowadzi przez specjalny serwer proxy Ixquick. Proxy otrzymuje od nas zapytanie, a następnie — w naszym imieniu, ale bez podawania naszej tożsamości — przesyła je dalej do Google. Google odpowiada, wysyłając wyniki poszukiwań z powrotem na serwer Ixquick. Ten zaś ładuje je do Startpage i wyświetla nam na ekranie (rysunek 3.8). Cała procedura została zobrazowana na schemacie z rysunku 3.9. Wyszukiwanie w Startpage może być przez to nieco dłuższe niż w oryginalnym portalu Google, ale to i tak kwestia wyłącznie kilku ułamków sekund.

50

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 3.8. Wyniki wyszukiwania w Startpage

Rysunek 3.9. Schemat działania serwerów proxy na podstawie Startpage. Wykorzystanie proxy i technik pośredniczenia to podstawowy element anonimowości ruchu sieciowego oraz ukrywania wirtualnej tożsamości

Więcej możliwości Startpage Wyszukiwanie zaawansowane. Poza podstawowymi ustawieniami wyszukiwania, które znajdują się po lewej stronie (rysunek 3.8), Startpage posiada także opcje zaawansowane. Dzięki ustawieniom zaawansowanym, do których dostajemy się przez łącze w prawym górnym rogu strony, możemy dowolnie sformatować nasze wyszukiwanie: słowa kluczowe, język, format pliku itd. (rysunek 3.10). Wyszukiwanie obrazów i filmów. Tryb wyszukiwania można zmienić za pomocą łączy w lewym górnym rogu ekranu. Zasada jest dokładnie ta sama — wyniki wyszukiwania są wówczas pobierane od Google Grafika i Google Video (rysunek 3.11).

Rozdział 3. Bezpieczne przeglądanie internetu

51

Rysunek 3.10. Zaawansowane ustawienia wyszukiwania

Rysunek 3.11. Wyszukiwanie grafik w Startpage

Ustawienia wyszukiwarki. Link w prawym górnym rogu prowadzi nas do ustawień Startpage. Możemy ustalić takie opcje jak liczba wyników pokazywanych na stronie, język wyszukiwania, język interfejsu, motyw, rozmiar czcionki, a także filtr rodzinny czy wymuszanie HTTPS. Efekt personalizacji możemy zapisać jako własny adres internetowy lub dodać do przeglądarki jako plik cookie.

52

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Pasek wyszukiwania przeglądarki. Firefox umożliwia dodawanie wyszukiwarek. Na stronie głównej, pod paskiem zapytania, znajduje się przycisk Dodaj do Firefox — możemy zainstalować odpowiedni plugin wyszukiwania do naszej przegąldarki. Jeżeli będziemy mieć taką wtyczkę i wpisywać dowolną frazę w pasku wyszukiwania (rysunek 3.12), efekty naszych poszukiwań pokażą się na stronie Startpage, a nie na przykład w Google. Rysunek 3.12. Startpage jako domyślna wyszukiwarka programu Firefox

Anonimowe przeglądanie witryn przez proxy Ixquick Przy każdym wyniku wyszukiwania w Startpage znajduje się link Wyświetl za pośrednictwem wyszukiwarki Ixquick. Wykorzystanie tego łącza prowadzi do wyświetlenia konkretnego wyniku wyszukiwania, ale za pomocą serwera proxy (według schematu podobnego do tego na rysunku 3.9). Kiedy zgłaszamy żądanie przejścia do określonej witryny, naszą prośbę przejmuje Ixquick. Łączy się on z docelowym serwerem, pobiera od niego kod witryny, a następnie nam go przekazuje. W ten sposób nie będziemy musieli się lękać o naszą prywatność. Nasz adres IP zostanie zamaskowany i zastąpiony którymś z adresów posiadanych przez Startpage. Nie łączymy się bezpośrednio z witryną, lecz wymuszamy, by Ixquick zrobił to za nas. Funkcja ta sprawdza się doskonale w sytuacjach, gdy chcemy wejść gdzieś anonimowo, a nie chcemy instalować zewnętrznego oprogramowania kryjącego IP (rysunek 3.13). Rysunek 3.13. Przeglądanie Wikipedii przez proxy Ixquick

Rozdział 3. Bezpieczne przeglądanie internetu

53

Podczas korzystania z proxy Startpage wyłącza JavaScript. Skrypty pisane w tym języku mogą stanowić zagrożenie dla naszej anonimowości, gdyż uruchamiane są bezpośrednio na naszym komputerze, nie na serwerze proxy (patrz sekcja „Włączaj tylko zaufane skrypty”). Wyłączenie ich może burzyć funkcjonalność niektórych witryn, ale znacząco przyczynia się do podniesienia poziomu bezpieczeństwa użytkownika.

Ixquick jako osobna wyszukiwarka Wyszukiwarką podobną do Startpage jest Ixquick (https://www.ixquick.com/pol/), który nazwę swoją zaczerpnął od wspominanego już proxy. Opiera się na prawie identycznych zasadach jak Startpage, wygląda również podobnie (rysunek 3.14). Rysunek 3.14. Strona główna wyszukiwarki Ixquick

Zasadnicza różnica polega na tym, że zbiera informacje od wielu różnych wyszukiwarek. Zakres przeszukiwania internetu jest zatem znacznie szerszy. Przy wynikach wyszukiwania znajdują się niebieskie gwiazdki (rysunek 3.15). Oznaczają one liczbę wyszukiwarek, które umieściły u siebie dany rekord w pierwszej dziesiątce wyników. Tak samo jak w przypadku Startpage, możemy anonimowo przeglądać wyszukane witryny za pomocą proxy. Rysunek 3.15. Przykładowy wynik wyszukiwania w Ixquick

54

Ukryta tożsamość. Jak się obronić przed utratą prywatności

DuckDuckGo — „Google Cię śledzi, my nie” Startpage i Ixquick nie są jedynymi bezpiecznymi wyszukiwarkami w internecie. Nie można nie wspomnieć o znanym na całym świecie portalu DuckDuckGo (https:// duckduckgo.com/). Ta wyszukiwarka o bardzo niepozornej nazwie powstała w 2008 roku. Początkowo służyć miała jako zwyczajne narzędzie do znajdowania danych w internecie, lecz nie zyskała popularności. Żyła w cieniu Google. 22 stycznia 2009 roku autorzy projektu zdecydowali się na duży krok naprzód — DuckDuckGo przestał zbierać i udostępniać dane swoich użytkowników. Rok później wokół witryny powstała otwarta społeczność — Duck.co. Od tamtej pory każdy użytkownik może podzielić się swoimi refleksjami na temat wyszukiwarki, jak również zgłaszać sugestie dotyczące rozwoju. Prawdziwy sukces DuckDuckGo odniósł latem 2013 roku. Ujawnienie powiązań Google z amerykańską NSA wywołało prawie kilkumilionowy przyrost stałych użytkowników serwisu. DuckDuckGo oferuje prywatność, a Google w oczach wielu straciło miano firmy godnej zaufania. Obecnie (marzec 2015 roku) DuckDuckGo obsługuje ponad pięć milionów wyszukiwań dziennie, jego aplikacja na telefony iPhone znalazła się wśród najpopularniejszych programów w 2013 roku. Firma DuckDuckGo zatrudnia kilkunastu pełnoetatowych pracowników. Przyjrzyjmy się bliżej możliwościom tej niezwykle eleganckiej wyszukiwarki. Strona główna przypomina, podobnie jak Startpage czy Ixquick, witrynę Google. O ile jednak wspominane wcześniej dwie wyszukiwarki charakteryzują się prostotą i posiadają raczej ubogą szatę graficzną, o tyle DuckDuckGo cechuje się eleganckim minimalizmem. Może to przypaść do gustu zwolennikom designu Google (rysunek 3.16). Nie musimy błądzić kursorem po ekranie, by znaleźć najbardziej pożądane funkcje. Projektanci DuckDuckGo starannie wyeksponowali wszystkie przyciski. Od razu widzimy możliwość dodania wyszukiwarki do Firefoksa, możemy też ustawić ją jako stronę główną. W DuckDuckGo autorzy umieścili funkcję podpowiedzi, która — inaczej niż w Google — nie korzysta z prywatnych danych użytkowników. Opiera się wyłącznie na ogólnej popularności haseł. Rysunek 3.16. Strona główna DuckDuckGo

Rozdział 3. Bezpieczne przeglądanie internetu

55

Możliwości DuckDuckGo są podobne do tych znanych już ze Startpage lub Ixquicka. Witryna oferuje jednak dwie, nadzwyczaj ciekawe rzeczy. Łatwe zapisywanie ustawień. Jeżeli chcemy spersonalizować wyszukiwarkę, nie musimy generować własnego adresu lub ściągać pliku cookie do przeglądarki. DuckDuckGo umożliwia zapisanie ich na serwerze providera i zabezpieczenie wpisanym przez nas hasłem. Co ważne, hasło nie jest znane firmie, lecz trzyma się je jako tzw. hash. Jest to o tyle wygodne, że DuckDuckGo można konfigurować w ten sam sposób na wielu komputerach. Byłbym nie w porządku, gdybym nie wyjaśnił pojęcia hash nieco szerzej, zwłaszcza, że jest to bardzo ważny element kryptologii i zabezpieczeń komunikacyjnych. Każdy tekst lub plik można, za pomocą specjalnej funkcji skrótu, jednostronnie zamienić na unikatowy, zaszyfrowany identyfikator, zwany hashem. Przykładowe zdanie z dzieła Cezara: „Gallia est omnis divisa in partes tres” po przetworzeniu go przez haszujący algorytm MD5 wygląda następująco: 2b2177f3ba 52491445e98312480fef55. Ponowne przekształcenie wygenerowanego ciągu znaków w słowa cytatu jest nie do zrealizowania. Gdybyśmy jednak popełnili błąd, na przykład literówkę, i słowo „Gallia” napisali przez jedną literę „l”, otrzymalibyśmy już hash zupełnie inny: ef399d7a1114e108952799d2f6c367f7. Ponieważ przekształcenie jednej frazy zawsze wygeneruje taki sam hash, funkcje skrótu stosuje się bardzo często do sprawdzania zgodności danych (na przykład podczas podawania przez użytkownika hasła do logowania się w serwisie WWW).

DuckDuckGo posiada szeroką społeczność, którą tworzą dziesiątki tysięcy użytkowników. Firma oferuje między innymi forum techniczne, pozwala na wsparcie deweloperów oraz tłumaczy. Strona społeczności dostępna jest pod adresem https://duck.co/. Warto na marginesie dodać, że chociaż kod źródłowy oficjalnie pozostaje zamknięty, znaczna jego część udostępniana jest jako open source, co potwierdza bezpieczeństwo całego systemu. Innym argumentem, który przewrotnie przemawia na korzyść DuckDuckGo, jest to, że wobec żadnego z oskarżonych o działanie niezgodne z prawem nie wysunięto dowodu w postaci zapytań do tej wyszukiwarki. DuckDuckGo nie udzieli NSA żadnych danych o użytkownikach, gdyż takich informacji zwyczajnie nie zbiera.

Podróżuj po świecie z OpenStreetMap Nie jest tajemnicą, że Google wykorzystuje wszystkie zapytania użytkownika do stworzenia kompletnego profilu danej osoby. Wszystko to, czego szukamy, czy to w Google Grafika, czy w Google Maps, ma wpływ na to, jak firma nas ocenia, jakie serwuje nam reklamy i sugestie dalszych wyszukiwań. Wyszukiwarki danych z sieci, obrazków i filmów mogą być zastąpione przez Startpage, Ixquicka i DuckDuckGo. Zamiast Google Maps możemy korzystać z bezpłatnego i otwartego portalu OpenStreetMap (https://www.openstreetmap.org/). Kiedy wejdziemy na witrynę, od razu przekieruje nas do widoku Ziemi.

56

Ukryta tożsamość. Jak się obronić przed utratą prywatności

OpenStreetMap, czyli wolny atlas świata, jest edytowalny dla każdego: dowolny użytkownik może dodawać obiekty, drogi, ścieżki, jeziora, obszary geologiczne, a nawet linie wysokiego napięcia. Z tego powodu charakteryzuje się on wyśmienitą dokładnością. Liczba obiektów, których położenie możemy sprawdzić, jest nieporównywalnie większa od tej, którą oferuje nam Google w swoich mapach (rysunek 3.17). W OpenStreetMap nie ma „białych plam”. Możemy sprawdzić trasę dojazdu do każdej, nawet najmniejszej wioski w środkowej Afryce. Jeżeli interesują nas trasy komunikacji publicznej w północnokoreańskim Wonsanie — to tu także znajdziemy potrzebne dane. Rysunek 3.17. Fragment Warszawy w OpenStreetMap

Edytor do OpenStreetMap (pierwszy przycisk od lewej na górze) jest niewątpliwie dobrym narzędziem. Kreśląc nowe ścieżki, obiekty czy obszary, możemy czuć się tak, jakbyśmy edytowali obrazek w prostym programie graficznym (rysunek 3.18). Możemy ponadto zmieniać szczegółowe dane poszczególnych budynków czy dróg. Wprawdzie edytor wykorzystuje obraz satelitarny z serwisu Bing (własność Microsoftu), to jednak nie należy się tym przejmować. Zbieranie danych z wyszukiwarki Bing jest w serwisie OpenStreetMap niemożliwe, a śledzenie wszystkich przesunięć widoku mapy każdego użytkownika przerasta możliwości techniczne nawet takiego giganta komputerowego jak Microsoft. Do edytowania potrzebne jest konto użytkownika w OpenStreetMap.

Przestroga na zakończenie rozdziału Przeszukiwanie zasobów WWW to tylko jedna z wielu czynności, które możemy wykonywać w internecie. Niestety, wiele zasobów, w szczególności portale społecznościowe, w dalszym ciągu pozostają wyłączną domeną firm komercyjnych. Najroztropniejszym pomysłem wydaje się ograniczenie ilości publikowanych o sobie informacji, bądź też celowe mylenie facebookowych lub google’owskich programów fałszywymi danymi.

Rozdział 3. Bezpieczne przeglądanie internetu

57

Rysunek 3.18. Edytor terenu w OpenStreetMap

W 2012 roku austriacki aktywista internetowy Max Schrems na podstawie prawa unijnego wymusił na firmie Facebook przesłanie mu kopii wszystkich swoich danych osobowych z korporacyjnej bazy danych (siedzibą Facebooka poza Ameryką Północną jest Dublin, stąd też powołanie się na przepisy UE). Austriak swoją prośbę umotywował zwykłą ciekawością, ale wkrótce okazało się, że koncern potrzebował aż 6 tygodni i 23 wiadomości e-mail, by przesłać kompletną dokumentację! Facebook na temat Schremsa trzymał ponad 1200 stron plików PDF, a sam Schrems to tylko jeden z prawie miliarda użytkowników sieci społecznościowej. Znalazło się tam wszystko: historia czatów, zaproszeń do znajomych, a nawet dawno „usunięte” z profilu zdjęcia i wpisy. Aktywista dopatrzył się ponad 20 naruszeń prawa unijnego w kwestii ochrony danych osobowych. Irlandzki inspektor ochrony danych protest Schremsa zignorował, dlatego też od 18 czerwca 2014 roku sprawą łamania przepisów unijnych przez Facebooka zajmuje się Europejski Trybunał Sprawiedliwości. Aktywista na swojej witrynie http:// europe-v-facebook.org/ zachęca do pójścia w jego ślady i wysuwania podobnych żądań wobec tego wielkiego koncernu. O tym, jak wiele śladów możemy po sobie zostawiać, świadczyć może również stara sprawa wyszukiwarki AOL z 2006 roku. Koncern przypadkowo opublikował bazę danych wyszukiwań 650 tysięcy użytkowników od czerwca do sierpnia owego roku. Społeczność AOL przeżyła szok, kiedy zobaczyła, jak wiele prywatnych informacji trafia w ręce firmy. Baza danych nadal jest dostępna, aktualizacje prowadzi się na bieżąco,

58

Ukryta tożsamość. Jak się obronić przed utratą prywatności

choć adresów IP wyszukujących nie widać w całości (ostatni człon jest ukryty). Wystarczy wejść do witryny http://www.aolstalker.com/. Wpisując frazę w pole query możemy wyszukać wszystkich użytkowników, którzy danej frazy szukali — otrzymamy numer użytkownika, dokładną datę zapytania i stronę, na którą delikwent przeszedł. Wystarczy kliknąć na indeks użytkownika, a otrzymamy listę wszystkich jego zapytań. Pamiętaj: korzystając z wyszukiwarki takiej jak AOL czy Google, zostawiamy w internecie ślady naszych najskrytszych myśli. Nie dajmy ich czytać wielkim koncernom.

Rozdział 4.

Poczta i szyfrowanie wiadomości Druga zaraz za przeglądaniem stron WWW, choć kto wie, czy nie najważniejsza, czynność, z którą mamy do czynienia w internecie, to redagowanie, wysyłanie i odbieranie wiadomości za pośrednictwem poczty elektronicznej. Dysponujemy skrzynkami pocztowymi, których adres wymyślamy sobie sami, wierząc, że do naszej korespondencji nie ma dostępu nikt postronny. Niestety. Prawda wygląda inaczej. Jesteśmy narażeni na niebezpieczeństwo przechwytywania naszych wiadomości w większym stopniu niż podczas „zwykłego” surfowania w sieci. Aby uzyskać nieskrępowany dostęp do naszej prywatnej korespondencji, funkcjonariusze służb i przeciętnie złośliwy haker muszą złamać tylko jedno, najwyżej kilkunastoznakowe hasło. Książka Kod Leonarda da Vinci bardzo spopularyzowała twórczość amerykańskiego pisarza Dana Browna. Wielkie nakłady tej kontrowersyjnej powieści wywołały większe zainteresowanie pierwszą, mniej znaną powieścią tego autora z 1998 roku, czyli Cyfrową Twierdzą. Fabuła książki, która faworyzuje zwolenników działalności amerykańskiej Agencji Bezpieczeństwa Narodowego, została skonstruowana wokół dezercji jednego z agentów tej służby i jego prób zniszczenia superkomputera o kryptonimie TRANSLATOR. Urządzenie, które chciał unieszkodliwić, miało służyć do łamania szyfrów i zabezpieczeń wiadomości e-mail w całym internecie. TRANSLATOR jest fikcją literacką. Nigdy nie skonstruowano takiego sprzętu, ale od czasu do czasu słychać pogłoski o chęci budowy czegoś takiego przez NSA. Na szczęście, jak do tej pory jesteśmy w stanie zabezpieczyć nasze wiadomości w taki sposób, że nikt, poza nami i adresatem, nie jest w stanie ich odczytać. Niniejszy rozdział omawia podstawowe zasady obsługi programów szyfrujących oraz zabezpieczania naszej poczty elektronicznej.

Gdzie trzymać pocztę? Odpowiedź jest krótka: wszędzie. To, czy nasze konto mamy w Google, na Yahoo!, Onecie lub w Wirtualnej Polsce, teoretycznie nie ma większego znaczenia, choć lepiej jest unikać korzystania z usług koncernów-członków programu PRISM. Dla zwykłej

60

Ukryta tożsamość. Jak się obronić przed utratą prywatności

przezorności. Urokliwy „smaczek” mechanizmu poczty elektronicznej polega na tym, że cała nasza korespondencja, zarówno odebrana, jak i wysłana, znajduje się na czyimś serwerze, a nie na urządzeniu u nas w domu. W pełni bezpiecznej skrzynki pocztowej nie założymy nigdy. Służby specjalne państw, na których terenie świadczone są usługi e-mail, mogą „poprosić” o udostępnienie danych użytkowników poczty elektronicznej. Trudno założyć, że firma komercyjna zechce popaść w konflikt z przedstawicielami prawa. Na marginesie warto podkreślić, że dotyczy to także znanego izraelskiego serwera Safe-mail.net, rzekomo najbezpieczniejszego dostawcy kont pocztowych w internecie. Dane swoich użytkowników udostępniał nie tylko Mossadowi — zapewniam: oddział „Zimorodek” nie zajmuje się ornitologią, a formacja „Czereśnia” nie para się sadownictwem — lecz także równie przyjemnie, choć mniej poetycko, nazywanym departamentom IDF (izraelskiej armii). Spora część usług pocztowych kataloguje dane logowania i rejestry aktywności. Wiadomo, kto i ile razy się logował w systemie, z jakiego adresu IP i z jakiego urządzenia lub programu. Tego również nie da się ominąć. Nawet jeżeli korzystamy z programu pocztowego, usługodawca i tak zarejestruje, że dostęp do skrzynki uzyskaliśmy z poziomu aplikacji. Na podniesienie poziomu bezpieczeństwa naszego konta pocztowego jest niestety bardzo niewiele sposobów. W poprzednim rozdziale omówiona została konfiguracja programu Mozilla Firefox. Uwagi dotyczyły przystosowania Mozilli do racjonalniejszego przeglądania zasobów internetowych. Jeżeli korzystamy z poczty przez przeglądarkę, warto sprawdzić jej ustawienia bezpieczeństwa: zapamiętywanie loginów i haseł, przechowywanie plików cookies, wysyłanie informacji do firm trzecich. W przypadku klientów pocztowych rozsądna wydaje się sugestia zamiany programów własnościowych na otwartoźródłowe. Programy takie jak Microsoft Outlook (część pakietu biurowego MS Office) lub Mail.app (domyślny klient poczty w OS X) można zastąpić Thunderbirdem, klientem open source fundacji Mozilla. Thunderbird jest dostępny na wszystkie systemy operacyjne, a w linuksowych dystrybucjach Debian i pochodnych — występuje pod nazwą Icedove. Wersja ta nie ma żadnych wtyczek własnościowych. W różnych Linuksach spotkamy się także z Evolution (środowisko graficzne GNOME) lub KMailem (dla środowiska KDE). Warto jednak zapamiętać, że stając się „klientem otwartoźródłowym”, unikamy potencjalnej inwigilacji tylko z poziomu programu pocztowego. Sam usługodawca niekoniecznie potrafi się oprzeć „umizgom” służb specjalnych.

Rzecz o szyfrowaniu korespondencji. Współczesne algorytmy Szyfrowanie poczty stosowano już w czasach starożytnych. Szyfr Cezara, który polegał na zastępowaniu jednych liter alfabetu drugimi, znamy chyba wszyscy. Jednak w dzisiejszych czasach stosowanie algorytmów, którymi posługiwał się rzymski przywódca,

Rozdział 4. Poczta i szyfrowanie wiadomości

61

mija się z celem. Niezbyt nawet doświadczony programista może w mniej niż godzinę napisać program, który metodą prób i błędów (tzw. metodą brute-force) tak zakodowany tekst odczyta w ciągu ułamka sekundy. Dzisiejsze algorytmy szyfrujące muszą być o wiele bardziej złożone i skomplikowane. Dwa najpopularniejsze i najszerzej wykorzystywane algorytmy to RSA i ElGamal. Oba wykorzystują rozmaite funkcje matematyczne i operują na bardzo dużych liczbach. Należą również do grupy tzw. algorytmów asymetrycznych, tj. wykorzystują kryptografię klucza publicznego. Brzmi to dosyć tajemniczo, stąd spieszę wyjaśnić, o co w tym wszystkim chodzi. Jest to istotne, jeśli w ślad za lekturą niniejszego tekstu przyjdzie ochota na poprawne skorzystanie z narzędzi szyfrujących. Małgosia chce wysłać do Jasia wiadomość, że zgadza się pójść z nim do lasu na spacer, lecz woli mieć pewność, że Zła Czarownica komunikatu tego nie przechwyci. Co zatem należy zrobić? 1. Oboje za pomocą tych samych programów generują, każde dla siebie, parę

kluczy. Para kluczy to w rzeczywistości dwa pliki — klucz publiczny i klucz prywatny. Klucze nie są ze sobą ściśle powiązane — na podstawie jednego klucza nie można „odgadnąć” drugiego, stąd też nazywa się to algorytmem asymetrycznym. 2. Jaś przesyła do Małgosi swój klucz publiczny. Klucz prywatny zachowuje

tylko dla siebie. 3. Małgosia za pomocą własnego programu szyfrującego wykorzystuje klucz

publiczny Jasia do zamiany treści wiadomości na szyfrogram, a następnie wysyła go Jasiowi. 4. Jaś otrzymuje szyfrogram. Wykorzystując ten sam program szyfrujący i mając

powiązany z kluczem publicznym klucz prywatny, jest w stanie zamienić szyfrogram Małgosi na oryginalną treść wiadomości. Gdyby Jaś zechciał wysłać Małgosi wiadomość, że bardzo się cieszy na to spotkanie, postąpiłby analogiczne. Małgosia musiałaby wcześniej udostępnić swój klucz publiczny Jasiowi, a ten, przy jego pomocy utworzyłby szyfrogram i wysłał go koleżance. Małgosia może go odczytać, gdyż dysponuje swoim kluczem prywatnym. Schemat funkcjonowania systemu ilustruje rysunek 4.1. W ten sposób, nawet gdyby ktoś miał dostęp do skrzynek pocztowych obojga, nie jest w stanie odczytać wiadomości Małgosi do Jasia, jeżeli nie ma klucza prywatnego Jasia. Klucze wykonane przez algorytmy RSA i ElGamal to w rzeczywistości pliki tekstowe składające się z określonej liczby znaków. Mimo prostej konstrukcji szyfrogramy utworzone przez takie klucze są prawie niemożliwe do złamania nawet przez najsilniejsze superkomputery. Asymetryczność sprawia, że nawet jeżeli znamy czyjś klucz publiczny, nie odczytamy wysłanej do niego wiadomości. Jedynym możliwym sposobem złamania klucza jest metoda brute-force — tak długie generowanie kluczy, aż „pojawi się” ten właściwy i rozszyfruje tekst.

62

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 4.1. Kryptografia klucza publicznego. Zobrazowanie przykładu

Pierwszy klucz RSA złamano w 1999 roku i składał się z 140 bitów. W 2009 roku udało się rozszyfrować tekst zakodowany kluczem 768-bitowym, czym ustanowiono niepobity do tej pory rekord. Warto dodać, że współczesne klucze RSA mają długości rzędu 1024, 2048, a nawet 4096 bitów. Odgadnięcie takiego pojedynczego klucza zajęłoby najpotężniejszym klastrom komputerów wiele lat nieustannych obliczeń! Według firmy RSA Security złamanie pierwszego klucza 2048-bitowego powinno nastąpić około roku 2030! Ta sama organizacja przewidziała złamanie klucza 1024-bitowego w latach 2006 – 2010. Jest rok 2015. I nic. Całe szczęście. O ile komuś nie przydarzy się „subtelne” nieporozumienie kryptograficzne, które opisane zostało w Przygodach dzielnego wojaka Szwejka, to sprawnie i poprawnie posługując się algorytmem RSA i innymi algorytmami asymetrycznymi, może zapewnić sobie stuprocentowe bezpieczeństwo swojej korespondencji.

Instalacja programu GNU Privacy Guard Program GNU Privacy Guard (w skrócie GPG) to bezpłatna, otwartoźródłowa wersja aplikacji Pretty Good Privacy (PGP). GPG powstał w 1999 roku, natomiast jego komercyjny odpowiednik — osiem lat wcześniej. Oba projekty rozwijają się niezależnie. Ich celem jest zapewnienie obsługi dla wszystkich największych algorytmów szyfrujących, w tym także RSA. Dzięki GPG każdy może utworzyć własną parę kluczy, zarządzać nią, dodawać do biblioteki klucze publiczne znajomych, szyfrować i dekodować wiadomości oraz pliki, a nawet wystawiać podpisy cyfrowe. Istnieją wersje dla systemów Linux, BSD, Microsoft Windows i OS X, a także urządzeń mobilnych. Instalacja na każdym systemie przebiega w sposób nieco odmienny.

Rozdział 4. Poczta i szyfrowanie wiadomości

63

Linux W przypadku systemu Linux najprawdopodobniej nie będziemy musieli nic robić. GPG już tam będzie! Zwłaszcza, jeżeli korzystamy z jakiejś większej dystrybucji. Obecność pakietów GPG w systemie możemy sprawdzić przez nasz menedżer pakietów (oprogramowania). Wyszukaj gpg lub gnupg w oknie menedżera. Powinna się pojawić lista wszystkich dostępnych dla systemu pakietów, które są powiązane z programem GPG (rysunek 4.2). W środowisku KDE możemy ponadto korzystać z programu KGpg, a w GNOME z aplikacji Seahorse. Obydwa programy to graficzne nakładki dla GPG. Dzięki nim nie będziemy musieli obsługiwać GPG z poziomu terminala tekstowego.

Rysunek 4.2. Obecność GPG w Linuksie możemy sprawdzić przez menedżer pakietów (tutaj: YaST w openSUSE)

BSD GPG, podobnie jak do Linuksa, bywa dołączany jako standardowy komponent także do większości dystrybucji BSD. Dla systemów FreeBSD, OpenBSD czy PC-BSD również nie jest wymagane żadne działanie z naszej strony. Jeżeli nasz system BSD posiada środowisko graficzne KDE, to możemy zaopatrzyć się w KGpg.

Microsoft Windows Wersją GPG przeznaczoną dla systemów Microsoft Windows jest Gpg4win, który dostępny jest pod adresem http://www.gpg4win.org/. Podczas instalacji (rysunek 4.3) mamy także możliwość wyboru dodatków do podstawowego programu. Obok standardowego GPG paczka Gpg4win oferuje między innymi Kleopatrę i GPA (graficzne

64

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 4.3. Instalacja programu Gpg4win

nakładki na program), GpgOL (wtyczkę do programu Microsoft Outlook), GpgEX (wtyczkę do Eksploratora Windows) czy dodatkowy program pocztowy Claws Mail. Gdy instalator skopiuje potrzebne pliki, możemy z niego wyjść i rozpocząć korzystanie z GPG.

OS X Dla systemów Apple’a dostępna jest paczka GPGTools, którą można ściągnąć z jej oficjalnej witryny pod adresem https://gpgtools.org/. Instalator pakietów oprócz podstawowego MacGPG2 zainstaluje nam GPG Keychain Access (graficzną nakładkę na program), GPGServices (wtyczki do bieżącego szyfrowania i deszyfrowania plików i tekstu), GPGPreferences (panel ustawień do preferencji systemowych) i GPGMail (wtyczkę do programu Mail.app).

Podstawy obsługi GPG Obsługa GNU Privacy Guard może się różnić w zależności od posiadanego przez nas systemu operacyjnego. Niektóre funkcje mogą znajdować się w innych miejscach, lub też występować pod różnymi nazwami. W rzeczywistości jednak obsługa interfejsu graficznego na wszystkich systemach operacyjnych wygląda podobnie. Przy każdej czynności opisałem sposób jej wykonania na systemach operacyjnych Linux/BSD (ze środowiskiem KDE i programem KGpg), Microsoft Windows (z programem Kleopatra) i OS X (z GPG Keychain Access). Niezależnie od tego, jakie mamy środowisko, uruchamiamy najpierw wymagany program. W Linuksie lub BSD korzystamy z menu programów i wybieramy odpowiednią pozycję lub wpisujemy w konsoli polecenie: kgpg

Rozdział 4. Poczta i szyfrowanie wiadomości

65

i zatwierdzamy klawiszem Enter. W systemie Windows program Kleopatra powinien znajdować się w menu Start/Gpg4win lub jako skrót na pulpicie. W OS X dostęp do GPG uzyskuje się przez katalog Programy. Interfejsy wszystkich aplikacji w poszczególnych środowiskach są do siebie bardzo podobne (rysunek 4.4).

Rysunek 4.4. Interfejsy użytkownika programów (od góry): GPG Keychain Access, Kleopatra i KGpg

Generowanie nowej pary kluczy Stworzenie nowego klucza wymaga podania kilku informacji. W każdej wersji systemowej należy określić nazwę posiadacza. Zazwyczaj nazwą jest imię i nazwisko. Podaje się także nasz adres e-mail i ewentualny komentarz. Opcje zaawansowane zawierają możliwość wyboru algorytmu szyfrującego, długości klucza wyrażonej w bitach i terminu ważności klucza (rysunek 4.5). Rysunek 4.5. Okno generowania pary kluczy w KGpg (Linux)

66

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Jako algorytm polecam wybrać RSA, natomiast długość nie powinna być krótsza niż 2048 bitów. Termin możemy ustalić samemu bądź nie ustanawiać go w ogóle; nie ma to większego znaczenia. Należy zapamiętać, że po upływie wyznaczonego terminu wykorzystanie klucza do szyfrowania i dekodowania wiadomości będzie niemożliwe. Kiedy wypełnimy formularz, program poprosi nas o podanie i potwierdzenie hasła do klucza — nie wolno Ci zapomnieć tego hasła! Zapisz je gdzieś w bezpiecznym miejscu lub po prostu zapamiętaj. Tracąc hasło, tracimy też możliwość korzystania z danego klucza do szyfrowania i dekodowania wiadomości lub plików. Wygenerowanie pary kluczy może zająć Twojemu komputerowi od kilku do kilkudziesięciu sekund, co jest wypadkową mocy obliczeniowej sprzętu i rozmiaru kluczy w bitach. Możemy w tym czasie klikać myszką, używać klawiatury, uruchamiać i zamykać programy. Mamy tu do czynienia z takim programistycznym „efektem motyla”. Choć brzmi to niewiarygodnie, wszystko to zwiększa losowość generowanych kluczy i utrudnia ich złamanie. Po zakończeniu pracy program wyświetla komunikat o utworzeniu kluczy, a nasza nowa para „dyskretnych przyjaciół” pojawia się w oknie głównym aplikacji.  Linux: wybieramy opcję Klucze/Wygeneruj parę kluczy. Pojawi się wówczas

okno generowania klucza (rysunek 4.5).  Windows: wybieramy polecenie File/New Certificate…, a z okienka, które się

pojawi, wybieramy pozycję Create a personal OpenPGP key pair. Uzupełniamy formularz generowania pary kluczy. Pod przyciskiem Advanced Settings… znajdują się ustawienia zaawansowane.  OS X: klikamy na przycisk New na pasku narzędzi w programie lub wybieramy

polecenie Key/Generate z paska menu.

Eksportowanie swojego klucza publicznego Mamy możliwość eksportu naszego klucza publicznego z programu generującego do osobnego pliku. Plik taki możemy następnie przesłać do znajomych osób e-mailem albo udostępnić w internecie, by każdy mógł szyfrować wysyłane do nas wiadomości. Kiedy wyeksportujemy kopię klucza publicznego, we wskazanym przez nas folderze pojawi się plik o rozszerzeniu .asc i rozmiarze odpowiadającym wielkości danego klucza (na przykład klucz o rozmiarze 2048 bitów zajmie około 2 kilobitów pamięci). Na marginesie: możemy spróbować otworzyć taki plik za pomocą notatnika lub innego podobnego programu — efekt będzie zaskakujący.  Linux: zaznaczamy nasz klucz do eksportu i wybieramy polecenie Klucze/

Eksportuj klucz publiczny. Możemy także kliknąć na stosowną ikonkę na pasku narzędzi. Wystarczy, że w okienku (rysunek 4.6) podamy docelową ścieżkę wraz z nazwą pliku.  Windows: klikamy na klucz do eksportu, a następnie polecenie File/Export

Certificates. Ustalamy folder docelowy i nazwę pliku. Rozszerzenie można uzupełnić jako .asc.

Rozdział 4. Poczta i szyfrowanie wiadomości

67

Rysunek 4.6. Okno eksportu klucza publicznego w programie KGpg

 OS X: zaznaczamy klucz do eksportu, a następnie klikamy na przycisk Export

na pasku narzędzi. W wyskakującym panelu należy wskazać folder docelowy. Format pliku warto zostawić jako ASCII. Pole Pozwól na eksport klucza prywatnego pozostawiamy nieoznaczone.

Importowanie kluczy Programy powiązane z GPG pozwalają na tworzenie baz danych kluczy publicznych. Jeżeli ktoś znajomy udostępnił nam swój klucz publiczny, możemy zaimportować go do aplikacji i trzymać zawsze pod ręką. Jest to bardzo przydatna funkcja, gdyż wszystkie klucze możemy przechowywać w jednym miejscu. Aby dodać czyjś klucz publiczny do swojej kolekcji, wystarczy, że wyszukamy go w przeglądarce plików i zatwierdzimy swój wybór. Program automatycznie wczyta nazwę właściciela, jego adres e-mail i ewentualny komentarz do klucza oraz umieści klucz w oknie głównym. Jeżeli aplikacja napotka błąd w kluczu (na przykład brak jakiegoś znaku), wyświetli komunikat, a klucz nie zostanie dodany.  Linux: wybieramy opcję Klucze/Importuj klucz lub klikamy na odpowiednią

ikonkę na pasku narzędzi. W oknie (rysunek 4.7) podajemy ścieżkę do pliku z kluczem. Jeżeli skopiowaliśmy jego zawartość do schowka (przez zaznaczenie treści i Ctrl+C), możemy przeprowadzić import bezpośrednio z tego miejsca, zaznaczając opcję Schowek.  Windows: klikamy na pozycję File/Import Certificates i wybieramy plik

z kluczem do zaimportowania.  OS X: klikamy na przycisk Import na pasku narzędzi programu. Z przeglądarki

plików wybieramy docelowy element z kluczem do szyfrowania.

68

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 4.7. Importowanie kluczy w programie KGpg

Eksport i import kluczy prywatnych Może się zdarzyć, że z tego samego klucza prywatnego zechcemy korzystać na kilku komputerach. Aby nie tworzyć wielu kluczy dla tego samego adresu e-mail, GPG oferuje nam możliwość eksportu i importu kluczy prywatnych na tych samych zasadach co kluczy publicznych. Program sam rozpoznaje, czy ma do czynienia z kluczem sekretnym czy publicznym. Należy jednak pamiętać, aby pliku, który zawiera sekretny klucz, strzec jak oka w głowie i skasować zaraz po dokonaniu importu! Jeżeli ktoś przechwyci nasz klucz prywatny, będzie miał dostęp do naszej zaszyfrowanej korespondencji.  Linux: zaznaczamy nasz klucz, klikamy prawym przyciskiem myszy, aby

rozwinąć menu kontekstowe, w którym wybieramy opcję Eksportuj klucz tajny. Wybieramy miejsce docelowe dla naszego pliku, a następnie przenosimy go na drugi komputer. Aby zaimportować klucz prywatny, postępujemy tak samo, jak w przypadku klucza publicznego.  Windows: zaznaczamy własną parę kluczy, a następnie wybieramy polecenie

File/Export Secret Certificates. W następnej kolejności ustalamy docelowy folder i nazwę pliku z kluczem. Aby zaimportować klucz prywatny, postępujemy analogicznie jak z importem klucza publicznego.  OS X: zaznaczamy nasz klucz, a następnie klikamy na przycisk Export na pasku

narzędzi. W okienku eksportu zaznaczamy jednocześnie opcję Pozwól na eksport klucza prywatnego. Wygenerowany plik zawierać będzie wówczas dwa klucze — publiczny i prywatny. Jeżeli zapisane zostały w formacie ASCII, to przeglądając plik w edytorze tekstu, łatwo będzie się można zorientować, który klucz jest który. W przypadku importu klucza prywatnego, klikamy w przycisk Import i wybieramy właściwy plik.

Szyfrowanie i deszyfrowanie plików Podstawową funkcją programu GNU Privacy Guard jest możliwość szyfrowania i dekodowania każdego rodzaju plików. Dzięki szyfrowaniu możemy zamienić dokument tekstowy, obrazek lub klip wideo na pozornie niezrozumiały ciąg znaków, a następnie

Rozdział 4. Poczta i szyfrowanie wiadomości

69

przesłać tak otrzymany szyfrogram do znajomego. Ten zaś przy użyciu GPG i swojego klucza prywatnego może poprawnie odczytać nasz załącznik. W każdym systemie operacyjnym szyfrowanie i dekodowanie plików i folderów odbywa się w podobny sposób, przy czym dla systemu Windows potrzebujemy dodatkowo wtyczki GpgEX (dołączana jest w pakiecie instalacyjnym Gpg4win), natomiast dla OS X — GPGServices (otrzymujemy ją w paczce razem z GPGTools).  Linux: zaznaczamy plik lub folder, który chcemy zaszyfrować, a następnie

klikamy prawym przyciskiem myszy. Wywołujemy tym pojawienie się menu kontekstowego. Z podmenu Działania wybieramy pozycję Zaszyfruj plik lub (w przypadku folderu) Skompresuj i zaszyfruj plik (rysunek 4.8). Pojawi się okno wyboru adresata na podstawie listy dostępnych w Twoim GPG kluczy publicznych1. Czas oczekiwania na zaszyfrowanie wiadomości zależy od mocy komputera i rozmiaru pliku. W rezultacie tego działania w tym samym katalogu pojawi się nowy, zaszyfrowany już plik o takiej samej nazwie, ale innym rozszerzeniu — .asc (rysunek 4.9). Element taki możemy następnie przesłać osobie, której klucz użyty został do szyfrowania. Jeżeli poza docelowym adresatem ktoś inny nie posiada odpowiedniego klucza prywatnego, zaszyfrowany plik nie zostanie odczytany przez osoby niepowołane. Jeżeli otrzymaliśmy od kogoś szyfrogram, postępowanie jest bardzo podobne. Zaznaczamy zakodowany plik i prawym przyciskiem myszy przywołujemy menu kontekstowe. Z podmenu Działania wybieramy pozycję Deszyfruj plik, wpisujemy hasło do naszego klucza, zatwierdzamy i czekamy, aż komputer odczyta plik (to także może potrwać do kilkudziesięciu sekund). Rozkodowany element pojawi się w tym samym folderze co szyfrogram. Jeżeli zaszyfrowany plik był uszkodzony lub nie mieliśmy odpowiedniego klucza prywatnego, GPG wyświetli nam odpowiedni komunikat i przerwie pracę. Rysunek 4.8. Menu kontekstowe przy szyfrowaniu pliku (Linux)

Rysunek 4.9. Plik oryginalny i szyfrogram na jego podstawie (Linux)

1

Plik możemy zaszyfrować także naszym kluczem publicznym. Dzięki temu tylko my uzyskamy dostęp do danego zasobu.

70

Ukryta tożsamość. Jak się obronić przed utratą prywatności  Windows: zaznaczamy stosowny plik lub folder w Eksploratorze Windows

i prawym przyciskiem myszy wywołujemy menu kontekstowe. Z podmenu More GpgEX options wybieramy pozycję Encrypt. W oknie dialogowym, które się nam ukaże (rysunek 4.10), czynność ustalamy jako Encrypt. W dalszej kolejności wystarczy już tylko wybrać adresatów, którzy będą mogli odczytać zakodowaną treść. Deszyfrowanie odbywa się za pośrednictwem funkcji More GpgEX options/Decrypt i po wpisaniu hasła do naszego klucza prywatnego. Rysunek 4.10. Wybór czynności z plikiem w GpgEX w systemie Windows

 OS X: zaznaczamy plik lub folder, prawym przyciskiem myszy wywołujemy

menu kontekstowe. Z podmenu Usługi wybieramy opcję GPG: Encrypt file. Postępowanie jest analogiczne jak w poprzednio wymienianych systemach operacyjnych (rysunek 4.11). Żeby zdekodować zaszyfrowany plik, zaznaczamy go, wywołujemy menu kontekstowe i wybieramy pozycję Usługi/GPG: Decrypt file. Musimy oczywiście mieć odpowiedni klucz prywatny i wpisać właściwe dla niego hasło.

Rysunek 4.11. Okno wyboru adresata zaszyfrowanego pliku w OS X. Zwróć uwagę, że w tej wersji musimy określić także nadawcę, tj. wybrać odpowiedni klucz prywatny z rozwijanego menu

Rozdział 4. Poczta i szyfrowanie wiadomości

71

Dodawanie podpisów cyfrowych Istota podpisów cyfrowych nie różni się niczym od podpisów tradycyjnych. By stwierdzić autentyczność jakiegoś dokumentu, podpisujemy się pod nim długopisem albo piórem. Analogicznie: by stwierdzić autentyczność jakiegoś pliku i jego wykorzystanie przez nas, posługujemy się podpisem cyfrowym. Podpis cyfrowy nie oznacza bynajmniej naszego odręcznego podpisu, który zeskanowano lub sfotografowano i dołączono u dołu dokumentu sporządzonego w edytorze tekstu. Pojęcie „podpis cyfrowy” oznacza plik, który wygenerowany jest przez komputer i zawiera informacje o tym, co jest podpisywane (czyli widzimy oryginalną nazwę pliku wraz z rozszerzeniem) i przez kogo (najczęściej imię i nazwisko oraz adres e-mail sygnatariusza; dla PGP/GPG także unikatowy numer pary kluczy). Podpis cyfrowy nie jest tym samym co podpis elektroniczny. Istotę tego drugiego określa prawo unijne oraz polskie. Może być on wydany tylko przez autoryzowane organy i gwarantuje te same uprawnienia co tradycyjny podpis pod oficjalnymi dokumentami i korespondencją.

Mając GNU Privacy Guard, każdy posiadacz pary kluczy może generować podpisy cyfrowe dla wybranych przez siebie plików. Podpisy cyfrowe mają wiele funkcji. Wysyłając znajomemu wiadomość z zaszyfrowanym plikiem, możemy dołączyć dodatkowo plik z podpisem, by potwierdzić, że to my jesteśmy autentycznym nadawcą i twórcą szyfrogramu. Jeżeli chcemy coś udostępnić, na przykład prezentację multimedialną, a nasz klucz publiczny jest dostępny w internecie, to możemy dołączyć sygnaturę. Dzięki temu każdy może sprawdzić zgodność danych w podpisie z danymi w kluczu publicznym i potwierdzić, że jesteśmy prawdziwym twórcą prezentacji.  Linux: zdarza się, że dysponujemy linuksową wersją programu Kleopatra —

wówczas wystarczy zaznaczyć plik, wywołać menu kontekstowe, z podmenu Działania wybrać opcję Sign z ikoną Kleopatry i postępować według schematu dla systemu Windows. W przeciwnym wypadku musimy uruchomić konsolę. W konsoli wpisujemy polecenie gpg --clearsign /sciezka/do/pliku/plik.txt i zatwierdzamy klawiszem Enter. Frazę /sciezka/do/pliku/plik.txt zamieniamy oczywiście na właściwe położenie i pełną nazwę pliku, który chcemy podpisać. Terminal poprosi nas o hasło do domyślnego klucza prywatnego. Wpisujemy je — przy czym warto pamiętać, że znaki hasła nie pojawiają się w konsoli podczas jego wprowadzania. Kiedy zatwierdzimy hasło klawiszem Enter, program powinien wygenerować plik z sygnaturą w formacie ASCII obok oryginalnego pliku. Podpis możemy zweryfikować przez wystukanie na konsoli polecenia gpg --verify /sciezka/do/pliku/plik.txt.asc. Frazę /sciezka/do/ pliku/plik.txt.asc zastępujemy pełnym położeniem i nazwą pliku z podpisem.  Windows: zaznaczamy plik do podpisania, prawym przyciskiem myszy

wywołujemy menu kontekstowe i z podmenu More GpgEX options wybieramy Sign. Ze znanego z rysunku 4.10 okna wybieramy opcję Sign, zaznaczamy klucz prywatny do utworzenia podpisu i zatwierdzamy wybór. Sygnatura powinna pojawić się w tym samym folderze co oryginalny plik. Aby otworzyć sygnaturę, z podmenu More GpgEX options wybieramy Verify i w okienku klikamy na przycisk Decrypt/Verify.

72

Ukryta tożsamość. Jak się obronić przed utratą prywatności  OS X: zaznaczamy odpowiedni plik, prawym przyciskiem myszy wywołujemy

menu kontekstowe i w podmenu Usługi klikamy na OpenPGP: Sign File, po czym ustalamy klucz prywatny do utworzenia sygnatury. Aby obejrzeć wygenerowany plik, wystarczy go uruchomić podwójnym kliknięciem.

Integracja GPG z programami pocztowymi Zgodnie ze starym powiedzeniem dotyczącym systemu Unix, które brzmi: „wszystko jest plikiem”, i z zasadą, że każdy plik można zaszyfrować lub podpisać, poczta e-mail może być tak samo bezpieczna jak nasze dane. Możemy szyfrować, dekodować i sygnować nasze e-maile, aby uniemożliwić ich czytanie osobom nieupoważnionym, tym ze służb specjalnych, a co gorsze pracownikom korporacji, które „zatroskane są optymalizacją procedur, maksymalizacją zysku i efektywnością sprzedaży”. Załączanie do wiadomości szyfrogramu i sygnatury za każdym razem, gdy chcemy coś wysłać, może wydawać się męczące. Uciążliwa wydać się może również konieczność ściągania wszystkich zaszyfrowanych plików, które do nas przesłano. Aby ułatwić pracę użytkownikowi, wielu producentów programów pocztowych (klientów e-mail) wprowadziło do swoich aplikacji możliwość integrowania ich z programem GPG. Nie musimy już tworzyć szyfrogramu i cyfrowego podpisu — program pocztowy zrobi to za nas. Wystarczy, że wpiszemy treść e-maila, ustalimy odbiorcę, zaznaczymy opcję szyfrowania, a klient sam znajdzie klucz publiczny adresata, zakoduje tekst i go wyśle. Taka automatyzacja znacznie skraca czas naszej pracy i nie tworzy niepotrzebnej ilości plików-szyfrogramów w folderach. GPG da się zintegrować z wieloma programami pocztowymi. Zagadnienie to omówię na podstawie otwartoźródłowej aplikacji Mozilla Thunderbird (Icedove). Zakładam przy tym, że program jest już skonfigurowany do obsługiwania skrzynki pocztowej (patrz sekcja „Gdzie trzymać pocztę?”). Szyfrowanie w innych programach pocztowych wygląda prawie tak samo, choć nazwy niektórych przycisków i opcji mogą brzmieć inaczej. Linux i BSD dysponują pełnym wsparciem GPG dla natywnych klientów poczty (na przykład KMail, Evolution). Integracji szyfrowania z programem Microsoft Office Outlook służy wtyczka GpgOL (z zestawu Gpg4win). W przypadku Apple’owskiego Mail.app będziemy potrzebować rozszerzenia GPGMail, komponentu paczki GPGTools.

Instalacja rozszerzenia Enigmail Program Mozilla Thunderbird może być wzbogacany o dodatkowe rozszerzenia podobnie jak przeglądarka Firefox. Aby zobaczyć listę rozszerzeń, należy wejść w menu Narzędzia, zaznaczyć opcję Dodatki, a następnie otworzyć pozycję Rozszerzenia (rysunek 4.12).

Rozdział 4. Poczta i szyfrowanie wiadomości

73

Rysunek 4.12. Lista aktywnych rozszerzeń w programie Mozilla Thunderbird

Rozszerzeniem odpowiadającym za integrację z GPG jest Enigmail, który można pobrać z jego oficjalnej witryny https://www.enigmail.net/. Ściągnięty zostanie plik o rozszerzeniu .xpi. Na karcie dodatków w Thunderbirdzie, z rozwijanego menu pod przyciskiem z ikonką narzędzi wybierz pozycję Zainstaluj dodatek z pliku i wybierz ściągnięty pakiet. Program sam zainstaluje dodatek, pobierze też wszystkie klucze dostępne w naszej bibliotece GPG. Kiedy zresetujemy program, powinno się pojawić nowe menu OpenPGP. Wszystkie czynności związane z generowaniem par kluczy, ich eksportem i importem możemy robić także za pomocą wtyczki. Wystarczy, że w menu OpenPGP wybierzemy pozycję Zarządzanie kluczami.

Wysyłanie zabezpieczonych wiadomości Kiedy tworzymy nową wiadomość, a mamy zainstalowanego Enigmaila, na pasku narzędzi pojawia się nowy przycisk podpisany jako OpenPGP. Jeśli na niego klikniemy, pokaże nam się menu zabezpieczania wiadomości (rysunek 4.13). Znajdziemy w nim między innymi możliwość szyfrowania i cyfrowego podpisywania e-maili. Możemy zaznaczyć oba pola, dalej natomiast program zrobi wszystko za nas, jeżeli tylko klikniemy na Wyślij. Dodatkowo, jeżeli chcemy automatycznie załączyć plik z kluczem publicznym powiązanym z naszym kontem, z menu OpenPGP (tego drugiego, na górnym pasku menu okna) wybierzemy opcję Załącz mój klucz publiczny. Jeżeli wiadomość była szyfrowana, Thunderbird postara się znaleźć w bazie danych klucz naszego adresata. Jeżeli tak się nie stanie, program poprosi nas o ręczny wybór klucza, którym utworzymy szyfrogram.

74

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 4.13. Ustawienia bezpieczeństwa wiadomości

Gdy będziemy wystawiać cyfrowy podpis, na ekranie pojawi się prośba o wpisanie hasła do naszego klucza prywatnego, który związany jest z posiadanym przez nas kontem e-mail. Jeżeli Thunderbird nie zna domyślnego klucza dla naszego konta, to nakaże nam wybranie klucza prywatnego spośród dostępnych w bazie danych. Podpisy cyfrowe przekazów służą potwierdzeniu tożsamości nadawcy. Jeżeli nasz znajomy, który korzysta z GPG, zaczyna niespodziewanie wysyłać dziwne wiadomości i nie załącza do nich sygnatur albo załączone sygnatury mają inny numer klucza, to może być to znak, że ktoś podszył się pod jego adres lub dokonał włamania na skrzynkę pocztową (większość domorosłych „hakerów” zna się na swoim fachu jak kura na pieprzu i nie potrafi albo obsłużyć GPG, albo wykraść odpowiedniego klucza). Zawsze sprawdzaj poprawność sygnatur od innych i zawsze podpisuj wiadomości. Cyfrowe podpisy są o tyle fajne, że możemy je wysyłać wszystkim, nie tylko posiadaczom GPG i Enigmaila. Każdy porządny system obsługi e-mail może sprawdzać cyfrowe podpisy wiadomości, a sama obecność sygnatury nie uniemożliwia odczytania treści.

Odbieranie zabezpieczonych wiadomości Odczytywanie zakodowanych e-maili jest tak proste, jak i ich odbieranie. Jeżeli dysponujemy odpowiednim kluczem prywatnym i dostaliśmy zaszyfrowaną wiadomość od osoby dobrze znanej, wystarczy, że otworzymy ją i w wyskakującym okienku (rysunek 4.14) wpiszemy hasło, którego wymaga znany nam sekretny klucz. Nie powinny wystąpić żadne inne komplikacje, chyba że nie dysponujemy odpowiednim kluczem prywatnym. Ponieważ z naszego komputera korzystać może więcej osób, domyślne ustawienia Enigmaila wymagają podawania hasła za każdym razem, gdy spróbujemy odczytać szyfrogram. Rysunek 4.14. Wpisywanie hasła do zaszyfrowanej wiadomości

Rozdział 4. Poczta i szyfrowanie wiadomości

75

W przypadku, gdy wiadomość została podpisana cyfrowo, zaraz nad polem z metadanymi e-maila pojawi się pasek z danymi dotyczącymi sygnatury. Jeżeli klikniemy na przycisk Szczegóły i z rozwijanego menu wybierzemy Informacje OpenPGP…, to pokaże się nam okno z kompletem informacji o wystawiającym podpis (rysunek 4.15). Rysunek 4.15. Informacje o sygnatariuszu wiadomości e-mail

Krótkie podsumowanie Zdarzają się pytania, czy to naprawdę działa i jest takie proste. Tak, jak najbardziej. W sieci umieściłem kilka zaszyfrowanych wiadomości, które otrzymałem na swój adres e-mail2. Jeżeli nie do końca wierzycie w potęgę GPG, możecie wcielić się w rolę agenta NSA. Możecie swobodnie pobrać treść moich wiadomości i dokonać próby ich zdekodowania. Gwarantuję, że bez znajomości mojego sekretnego klucza to się nie uda. Wiadomości te jeszcze przez następnych kilkadziesiąt lat pozostaną nierozszyfrowane. Jeżeli przebrnięcie przez powyższy rozdział udało się za pierwszym podejściem i P.T. Uważny Czytelnik potrafi korzystać z GPG, to znaczy, że jest lepszy od profesjonalnych dziennikarzy „The Guardiana”. Może to się wydać kuriozalne, ale Snowden swoje tajne materiały przekazałby im wiele miesięcy wcześniej. Niestety. Pracownicy gazety nie potrafili posługiwać się GNU Privacy Guardem. Musiał ich tego nauczyć. To nie żart. Wiedza o zabezpieczaniu własnej korespondencji nie jest na świecie zbyt upowszechniona, nawet wśród osób, dla których z racji wykonywanego zawodu jest ona po prostu konieczna. Pojawiają się czasami pytania o GPG i szyfrowanie: czy to nie jest przypadkiem nielegalne? Nie, choć może się tak wydawać. Nic dziwnego. Ani żadnemu państwu, ani tym bardziej koncernom nie zależy na tym, byśmy byli w tym zakresie uświadomieni. Na temat obsługi GPG w liceum miałem tylko jedną lekcję informatyki. Szyfrowanie to czynność jak najbardziej legalna. Dla rzetelności przekazu dodam, że według polskiego prawa nie musimy przedstawiać ani policji, ani sądom swoich kluczy prywatnych do korespondencji. Wynika to z przepisów o odmowie dostarczania dowodów na swoją niekorzyść. Co nie oznacza oczywiście, że popieram działania niezgodne z prawem. Ochrona swojej prywatności to nie to samo. 2

https://www.dropbox.com/s/w8yfw0l1qibkxv2/Zaszyfrowane.rtf?dl=0.

76

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Znajomość GPG i reguł kryptografii klucza publicznego przyda się podczas lektury następnych rozdziałów. Większość programów, które zostaną opisane, jako podstawę swoich zabezpieczeń wykorzystują algorytmy szyfrujące. Mając ogólne pojęcie o tym, jak działa dany mechanizm, łatwo zrozumieć, dlaczego jest bezpieczny i dlaczego można go polecić jako skuteczną alternatywę dla własnościowych odpowiedników.

Rozdział 5.

Bitmessage. Alternatywa dla e-maili Nie ma większego znaczenia, gdzie założymy nasze konto e-mail. Wszystkie wiadomości pocztowe, które otrzymujemy i wysyłamy, przechowujemy na czyimś serwerze i wierzymy, że nikt postronny nie będzie mieć dostępu do naszych danych. Szyfrowanie załatwia problem odczytu informacji, a to gwarantuje stuprocentowe bezpieczeństwo korespondencji. Chyba że nasz sekretny klucz jest za krótki i łatwo go złamać… W tym rozdziale jest mowa o Bitmessage, zupełnie innym, nowym jakościowo protokole wymiany myśli i słów. Chociaż spokojnie może pełnić każdą z tych funkcji, nie jest to ani usługa e-mail, ani serwis czatowy, ani nawet forum internetowe. Bitmessage to coś innego i zarazem coś więcej. Bitmessage tworzy nowy rodzaj protokołów komunikacyjnych. Jest to zdecentralizowana anonimowa sieć wykorzystująca kryptografię klucza publicznego i skomplikowane metody analizy danych. To sieć, w której każdy komputer jest serwerem i współuczestniczy w przetwarzaniu wiadomości. I w końcu — to nieograniczona społeczność, która raz utworzona, nie upadnie nigdy. Nie podlega restrykcjom. Nie niszczy jej prawo pieniądza. Bitmessage to stosunkowo „świeży wynalazek”. Pierwsza wersja programu do obsługi tego protokołu pojawiła się w listopadzie 2012 roku. To egzotyczne i pasjonujące środowisko znajduje się w wciąż w fazie eksperymentów i brakuje jeszcze wielu funkcji, ale być może w niedalekiej przyszłości wyprze tradycyjną pocztę elektroniczną.

Istota Bitmessage. Magia sieci peer-to-peer Omówienie całego protokołu wymaga wcześniejszego zapoznania się z zagadnieniem reguł rządzących komunikacją peer-to-peer. Ogólne zasady funkcjonowania dotychczasowych usług internetowych opisać jest łatwo. Wiadomo, czym są sieci komputerowe

78

Ukryta tożsamość. Jak się obronić przed utratą prywatności

i że tradycyjna architektura komunikacji opiera się na regule klient-serwer. W takim układzie serwer zapewnia dostęp do danej usługi (na przykład przechowuje na swoim dysku twardym stronę internetową), a klient łączy się z serwerem i pobiera od niego dane. Tak jest w przypadku przeglądania stron WWW, czatów lub wysyłania i odbierania e-maili. Wszystko znajduje się na czyimś komputerze, a my z tego tylko korzystamy. Jeżeli serwer zostanie wyłączony chociaż na moment, na przykład z powodu awarii prądu, połączenie z nim staje się niemożliwe. Zupełnie inaczej wygląda to w przypadku sieci peer-to-peer (lub inaczej P2P). Każdy użytkownik tej sieci posiada takie same uprawnienia — może być jednocześnie i klientem, i serwerem. Są „równi”, nie ma „równiejszych”. Ciekawostka na marginesie: w dawnych wiekach słowo peer (w języku polskim par) było synonimem dowolnego tytułu arystokratycznego w Anglii i Irlandii. Obecnie tytuł ten przysługuje równym w prawach i obowiązkach parlamentarzystom w brytyjskiej Izbie Lordów. W sieciach P2P każdy może połączyć się na równych prawach z każdym i każdemu może udostępnić swoje dane. Dobrym przykładem komunikacji peer-to-peer jest protokół wymiany plików BitTorrent. Korzystając z „torrentów”, nie ściągamy pliku z jednego konkretnego serwera. Ściągając plik przez BitTorrent, stajemy się peerem. Każdy peer ściąga poszczególne części pliku. W trakcie ich pobierania przesyła je jednocześnie innym peerom, sam też, oprócz czerpania z głównego serwera, pobiera je od innych peerów. Osoby, które ściągają plik, tworzą zatem rozproszoną, zdecentralizowaną sieć komputerową. Taki układ sprawia, że stajemy się klientem, który pobiera dane od wielu użytkowników, i jednocześnie jesteśmy serwerem, który wysyła te dane innym. Usunięcie jednego „węzła” z sieci P2P nie spowoduje zatrzymania funkcjonowania całej usługi. Różnicę między architekturami klient-serwer a peer-to-peer przedstawiłem na rysunku 5.1.

Rysunek 5.1. Różnica między architekturą klient-serwer a P2P. Strzałki między węzłami oznaczają kierunek przepływu danych

Rozdział 5. Bitmessage. Alternatywa dla e-maili

79

Wszyscy, którzy korzystają z protokołu Bitmessage, tworzą jedną wielką sieć P2P. Pamiętacie opowiadanie Stanisława Lema Niezwyciężony? Ewolucja urządzeń elektronicznych doprowadziła do powstania „inteligentnej chmury”, która składała się z niepoliczalnych miliardów metalicznych cząstek. Najmniejsza pojedyncza cząstka „chmury”, która energię niezbędną do funkcjonowania zdobywała w sposób samodzielny, była nośnikiem fragmentu informacji globalnej. Gdy cząstka z jakiegoś powodu ulegała zniszczeniu, nic nie odbierało mocy obliczeniowej całości, a rolę tej cząstki przejmowały inne.

Korzystanie z sieci Bitmessage Korzystanie z protokołu Bitmessage wymaga na wstępie zaopatrzenia się w program, dzięki któremu przedostaniemy się do środka całej sieci. Musimy posiadać swoistego klienta poczty, czyli program PyBitmessage, którego autorem jest Jonathan Warren. Aplikacja ta jest otwartoźródłowa, bezpłatna i dostępna na systemy operacyjne Linux, Windows oraz OS X. Wszystkie wersje można pobrać ze strony https://bitmessage.org/. W przypadku Linuksa instalacja jest nieco trudniejsza, gdyż pobiera się nie program, a jego kod źródłowy, który dopiero musimy skompilować. Wszystkich jednak uspokajam. Autorzy opublikowali szczegółowe instrukcje dla użytkowników tego systemu, więc nie powinny wystąpić żadne komplikacje. Kiedy zainstalujemy program i go uruchomimy, pojawi nam się główne okno aplikacji (rysunek 5.2). Aplikacja z wyglądu może przypominać bardzo uproszczonego klienta e-mail. Wszystkie potrzebne narzędzia znajdują się na kartach w górnej części okna.

Rysunek 5.2. Główne okno programu PyBitmessage

80

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Nasze pierwsze konto Bitmessage Zanim będziemy mogli stać się częścią tej niezwykłej rozproszonej usługi wymiany wiadomości, powinniśmy zaopatrzyć się we własny, unikatowy adres Bitmessage. Adres Bitmessage pełni tę samą funkcję co adres e-mail — pozwala zidentyfikować użytkownika. Aby jednak zapewnić anonimowość i większy stopień bezpieczeństwa, adresy Bitmessage nie mają postaci jan.iksiń[email protected]. Standardowy identyfikator konta wygląda zupełnie inaczej. Składa się z przedrostka „BM-” i pewnej ilości wyłonionych losowo znaków, na przykład: BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash. Dzika rozkosz bezmyślnego bębnienia w klawiaturę w celu wykreowania takiego adresu jest nam na szczęście darowana. Generuje go w naszym imieniu komputer. Aby wygenerować unikatowy adres Bitmessage, przechodzimy na kartę Your Identities i klikamy na przycisk New, który znajduje się w lewym górnym rogu karty. Pojawi się nam okno generowania adresu (rysunek 5.3). Rysunek 5.3. Okno generowania osobistego adresu Bitmessage

PyBitmessage oferuje nam dwie możliwości stworzenia adresu — na podstawie losowej liczby lub na podstawie hasła. Osobiście polecam tę drugą opcję. Jest to po prostu wygodniejsze. Na podstawie jednej frazy można utworzyć na dwóch różnych komputerach konto o takim samym adresie, a konto to będzie działać tak samo na obu maszynach. Jest to coś w rodzaju korzystania ze skrzynki pocztowej na różnym sprzęcie.

Rozdział 5. Bitmessage. Alternatywa dla e-maili

81

Zaznaczając opcję Use a passphrase to make addresses, należy zwrócić uwagę na dwie rzeczy. Po pierwsze — trzeba utworzyć hasło możliwie długie i trudne do zapamiętania, które będzie się składać z dużych liter, małych liter, cyfr i znaków specjalnych. Jeżeli ktoś wykradnie takie hasło lub — co gorsza — złamie je metodą bruteforce, może wejść w posiadanie Twojej skrzynki Bitmessage. Po drugie — zapamiętaj wartości Address version number i Stream number. Są one tak samo ważne jak hasło, jeżeli nasze konto będziemy chcieli przenieść na inny komputer. Liczbę generowanych adresów możemy zmniejszyć do jednego. We wstępnej fazie naszej znajomości z Bitmessage nie potrzebujemy wielu tożsamości. Nie musimy też zużywać mocy obliczeniowej komputera na skracanie adresu „o 1 lub 2 znaki”, więc nie zaznaczajmy tej opcji. Akceptujemy ustawienia. I to już wszystko! Nie podpisujemy żadnych regulaminów z dostawcą usług e-mail, nie wypełniamy też skomplikowanych formularzy, ponieważ cała skrzynka mieści się wyłącznie na naszym komputerze. Zatem: do roboty. W sieci Bitmessage, oczywiście.

Wysyłanie i odbieranie wiadomości — jak to w ogóle działa? Obsługa całego protokołu jest z punktu widzenia użytkownika banalnie prosta i w swoim założeniu przypomina klasyczny mechanizm e-maili. Można darować sobie opis wszystkich czynności, które wykonuje system i skupić się na praktyce. Warto jednak zobaczyć różnice między Bitmessage a zwykłymi wiadomościami pocztowymi. Bitmessage jest wyjątkowy, chroni naszą prywatność i jego zalety warto podkreślić szczególnie. Cały system oprócz architektury peer-to-peer, co samo w sobie uwalnia nas od wasalnej zależności wobec właściciela serwera, wykorzystuje znaną z poprzedniego rozdziału kryptografię klucza publicznego. Każde konto Bitmessage posiada własną parę kluczy. Klucze w Bitmessage mają 512 bitów długości i są generowane dzięki algorytmom ECC. Przy takiej długości odpowiada to bezpieczeństwu kluczy RSA o wielkości kilku tysięcy bitów. Tak więc, kiedy wysyłamy komuś wiadomość (rysunek 5.4), wybieramy nasze konto, z którego chcemy ją wysłać, podajemy kompletny adres Bitmessage znajomego (warto jest dodawać swoje kontakty do książki adresowej, to bardzo pomaga), wpisujemy temat i treść wiadomości. Teraz wystarczy tylko kliknąć na przycisk Send i od tej pory wszystkim zajmuje się sieć P2P. Schemat postępowania w skrócie wygląda następująco: 1. Nasz program pobiera klucz publiczny adresata i szyfruje nim przekaz. 2. Nasz komputer wykonuje dowód pracy (tzw. proof-of-work). Dowód pracy

to inaczej zadanie informatyczne, które wymaga wykorzystania pewnej części mocy obliczeniowej komputera. W przypadku systemu Bitmessage nasz sprzęt musi wygenerować dla danej wiadomości hash o długości 512 bitów. Hash jest dołączany do szyfrogramu i dopiero wtedy tak opieczętowana wiadomość opuszcza nasz komputer.

82

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 5.4. Wysyłanie wiadomości przez PyBitmessage 3. Wiadomość otrzymają połączeni z nami peerowie (tj. uczestnicy sieci

Bitmessage). Ci peerowie przekażą ją dalszym peerom, a ci jeszcze dalszym itd. Każdy peer próbuje ponadto odszyfrować wiadomość. Nie trzeba się martwić — uda się to tylko naszemu adresatowi, czyli osobie, która dysponuje odpowiednim kluczem sekretnym. My także bierzemy udział w analizie całego ruchu przepływającego przez sieć. Sytuacja, kiedy peer w ogóle nie przyjmie wiadomości, wystąpi wtedy, gdy załączony do niej dowód pracy (patrz punkt 2.) będzie niepoprawny (na przykład nie będzie mieć 512 bitów długości albo w ogóle nie będzie istnieć). Ma to zapobiegać rozsyłaniu spamu i przeciążaniu protokołu. To, z iloma peerami jesteśmy połączeni oraz ile wiadomości przetworzyliśmy, obrazuje karta Network status (rysunek 5.5). 4. Każdy peer archiwizuje na krótki czas wszystkie przetworzone

szyfrogramy. Każdy uczestnik sieci jest jednocześnie jednym z jej serwerów. Wszystkie wiadomości, które przechodzą przez nasz komputer, są zapisywane na dysku (cały czas pod postacią nierozczytanych szyfrogramów), a następnie udostępniane. Aby dbać o przestrzeń dyskową naszego sprzętu, autorzy programu zdecydowali, że wszystkie wiadomości starsze niż 48 godzin będą automatycznie usuwane. Nie musimy się zatem martwić, że w sposób nagły PyBitmessage zajmie nam kilkadziesiąt gigabajtów pamięci i wypełni sobą cały dysk twardy. Sama funkcja archiwum jest bardzo przydatna i odciąża sieć. Jeśli wyślemy znajomemu wiadomość, a znajomy miał w tym czasie wyłączony komputer albo klienta Bitmessage, to ma dokładnie 2 dni na to, by ponownie uruchomić aplikację i za jej pomocą automatycznie pobrać przekaz od któregoś z peerów. W razie nieodebrania przez niego wiadomości w terminie pozostaje nam wysłanie jej ponownie. To samo dotyczy oczywiście nas. Gdy ktoś wysłał nam wiadomość, mamy 48 godzin na połączenie się z siecią i pobranie z niej przekazu.

Rozdział 5. Bitmessage. Alternatywa dla e-maili

83

Rysunek 5.5. Karta statusu połączenia klienta z siecią Bitmessage

Jeżeli otrzymamy od kogoś wiadomość, wówczas zobaczymy ją w karcie Inbox (rysunek 5.6). Treść przekazu jest trwale zapisywana na naszym komputerze i nie zniknie po 48 godzinach. Schemat funkcjonowania całego protokołu zobrazowałem na rysunku 5.7. Rysunek 5.6. Karta odebranych wiadomości Bitmessage

Obecnie klient PyBitmessage nie umożliwia przesyłania załączników w żadnej postaci.

84

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 5.7. Uproszczony schemat funkcjonowania protokołu Bitmessage

Listy mailingowe i chany — dwie ciekawe funkcje Oprócz klasycznego wysyłania i odbierania wiadomości PyBitmessage oferuje dwa szczególne rodzaje wymiany przekazów. Pierwszy z nich to lista mailingowa. Lista mailingowa w internecie występuje wtedy, gdy na jakimś portalu internetowym prosimy o nadsyłanie nam informacji na skrzynkę e-mail. Mogą to być nowe oferty w sklepie albo nowości z serwisu informacyjnego. Polega to na tym, że automat (czyli serwer) wysyła taką samą wiadomość do wszystkich osób, których adresy ma zapisane w swej bazie danych. Prawie tak samo wygląda to w systemie Bitmessage. Lista mailingowa to takie konto, z którego wysyłamy niezaszyfrowane wiadomości do wszystkich osób, które dodały nasz adres do swojej listy subskrypcji. Jest to coś w rodzaju rozproszonego „fanpage’a”, z którego możemy informować „śledzących” nas użytkowników o naszej działalności. Aby przekształcić konto w listę mailingową, należy przejść na kartę Your Identities, zaznaczyć tożsamość, wywołać prawym przyciskiem menu kontekstowe i w pozycji Special address behavior zaznaczyć Behave as a pseudo-mailing-list address (rysunek 5.8). Aby wysłać wiadomość do wszystkich osób, które dodały subskrypcję na nasz adres, na karcie Send zaznaczamy opcję Broadcast to everyone who is subscribed to your address. Aby samemu zapisać się do czyjejś listy mailingowej, na karcie Subscriptions (rysunek 5.9) klikamy na przycisk Add new Subscription i wpisujemy adres Bitmessage osoby, od której chcemy otrzymywać powiadomienia. Wiadomości te pojawiać się będą w zakładce Inbox.

Rozdział 5. Bitmessage. Alternatywa dla e-maili

85

Rysunek 5.8. Tworzenie nowej listy mailingowej na danym adresie Bitmessage

Rysunek 5.9. Karta naszych subskrypcji w programie PyBitmessage

Drugą ciekawą funkcją są chany (czytane jako „czany”). Chan to skrót od słowa channel, które w angielskim znaczy „kanał”. Mianem „kanału” określa się zazwyczaj miejsce dyskusji internetowej, czatu na żywo dla wielu osób. W PyBitmessage chany pełnią funkcję podobną, choć przypominają bardziej quasi-forum internetowe. System Bitmessage traktuje chan jako pojedynczy, specjalny adres. Wiadomość wysłaną na taki adres otrzymają w folderze Inbox wszyscy zapisani do danego chanu. Aby założyć własny chan, z menu File wybierz opcję Join/Create chan. W okienku (rysunek 5.10) wpisz nazwę dla Twojego chanu (możliwie długą i niepowtarzalną, w przeciwnym wypadku może zdarzyć się, że dołączysz do istniejącego już forum) i zatwierdź. Zostanie wygenerowany adres i w karcie Your Identities pojawi się jako tożsamość z dopiskiem [chan]. Aby dołączyć do chanu i móc wysyłać na niego wiadomości, w okienku Join/Create chan zaznacz opcję Join a chan i podaj jego pełną nazwę oraz adres.

86

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 5.10. Okno tworzenia chanów i dołączania do nich

Chany pełnią na razie funkcję czysto eksperymentalną. Nie można ich moderować, zamykać lub blokować do nich dostępu. Pod adresem https://bitmessage.org/forum/index.php?topic=1689.0 znajduje się lista ciekawych publicznych bitmessage’owych list mailingowych oraz chanów poświęconych różnym tematom: programowaniu, polityce, religii, a nawet grze w szachy. Można do nich swobodnie dołączać, otrzymywać powiadomienia i brać udział w dyskusji.

Odzyskiwanie kont Bitmessage W sekcji Nasze pierwsze konto Bitmessage podkreśliłem konieczność zapamiętania lub zapisania hasła oraz wartości Address version number i Stream number. Wszystkie te dane mogą stać się potrzebne, jeśli zajdzie konieczność odzyskania naszego konta po awarii komputera lub gdybyśmy chcieli korzystać z tego samego adresu na innym urządzeniu (i niepotrzebnie nie powielać naszych tożsamości). Z menu File wybieramy opcję Regenerate deterministic addresses. Uzupełniamy wszystkie pola w oknie (rysunek 5.11) zgodnie z informacjami, których użyliśmy do generowania oryginalnego adresu po raz pierwszy. Jeśli tworzyliśmy konkretną liczbę tożsamości lub wymusiliśmy skrócenie adresu, to także musimy zaznaczyć odpowiednie opcje. Gdy nie uzupełnimy dokładnie wszystkich danych lub coś pominiemy, utworzona tożsamość może nie pokrywać się z oryginalnym adresem. Po zatwierdzeniu formularza czekamy, aż komputer odtworzy adres. Nowa tożsamość powinna pojawić się w zakładce Your Identities.

Rozdział 5. Bitmessage. Alternatywa dla e-maili

87

Rysunek 5.11. Okno odtwarzania istniejącego adresu Bitmessage

Usuwanie kont Bitmessage Konta tworzone są permanentnie. Nie można ich „skasować”, ponieważ Bitmessage nie dysponuje żadnym centralnym serwerem. Możemy jedynie dezaktywować adres, by przestać z niego korzystać. Aby to zrobić, na karcie Your Identities zaznaczamy odpowiednie konto, wywołujemy prawym przyciskiem myszy menu kontekstowe i wybieramy opcję Disable. W ten sposób wysyłanie i odbieranie przekazów za pomocą tego adresu stanie się niemożliwe. Dezaktywowane konto można na powrót aktywować, zaznaczając pozycję Enable.

Bramka Bitmessage.ch — dlaczego jej unikać? W 2013 roku w internecie pojawiła się witryna https://bitmessage.ch/. Jej anonimowi autorzy pozwolili na korzystanie z protokołu Bitmessage przez przeglądarkę, ale bez konieczności instalacji oficjalnego klienta. Zaoferowali ponadto możliwość wysyłania wiadomości z systemu Bitmessage na zwykłe konta e-mail. Brzmi interesująco, lecz korzystania z tej strony radzę bezwzględnie unikać. Po pierwsze, już pobieżna lektura regulaminu usługi wskazuje, że mamy do czynienia z oprogramowaniem zamkniętym. Nie mamy prawa „modyfikować, kopiować, dystrybuować, transmitować (…) żadnych informacji, oprogramowania lub usług uzyskanych dzięki bitmessage.ch”. Jest to jawne zaprzeczenie podstawowych wartości systemu Bitmessage, czyli reguł open source.

88

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Druga sprzeczność między ideą rozproszonej sieci peer-to-peer a regulaminem to prawo ingerowania w konta poszczególnych użytkowników. Autorzy Bitmessage.ch mówią: „Zgadzasz się, że bitmessage.ch może wprowadzać limity odnośnie korzystania z dowolnych usług bitmessage.ch (…)” oraz „bitmessage.ch zastrzega sobie prawo (…) do wycofania Twojego dostępu do wszystkich usług bitmessage.ch (…) w dowolnym momencie, bez powiadomień”. Sprawia to, że sama witryna w zasadzie niczym nie różni się od tradycyjnego dostawcy kont e-mail. Z jednej strony całość można rozumieć jako troskę o „czystość” internetu, chęć eliminowania treści niezgodnych z obowiązującym prawem, etyką, moralnością i innymi formami życia społecznego, a z drugiej zaś strony brak informacji o autorach pozwala nam podejrzewać, że w najgorszym przypadku bitmessage.ch to perfidna pułapka (na przykład służb wywiadowczych), której celem jest przejęcie częściowej kontroli nad ruchem wewnątrz sieci Bitmessage i przechwytywanie wysyłanych wiadomości. Program PyBitmessage jest jak na razie jedynym bezpiecznym narzędziem do komunikacji w tym protokole.

Bezpieczeństwo i ochrona tożsamości w Bitmessage Protokół Bitmessage, mimo że opiera się na szyfrowaniu, architekturze P2P i długich adresach generowanych losowo, nadal nie chroni właściwej tożsamości naszego sprzętu komputerowego. Żadnego oprogramowania nie wolno traktować jako stuprocentowego gwaranta anonimowości. Gdy uruchomimy główny skrypt programu w konsoli linuksowej, w logach możemy zobaczyć adresy IP najbliższych nam peerów (rysunek 5.12). Rysunek 5.12. Adresy IP połączonych z nami peerów są publiczne. Główny skrypt PyBitmessage w konsoli w systemie Linux

Ku rozwadze: publiczną formę IP mogą wykorzystywać służby specjalne, które umiejętnie rozlokowują swoich pracowników w sieci Bitmessage. Dzięki temu mogą określić liczbę, rozmiar i inne metadane dotyczące odbieranych i wysyłanych przekazów, choć bezpośrednio ich nie dekodują.

Rozdział 5. Bitmessage. Alternatywa dla e-maili

89

Zarówno PyBitmessage, jak i cały protokół są nadal w fazie eksperymentów i oczekują na profesjonalne wsparcie w zakresie poprawiania bezpieczeństwa. Aby maskować nasz adres IP (nie tylko w sieci Bitmessage), możemy wykorzystać anonimizujący serwer proxy albo… na zawsze opuścić matrix kontrolowanego internetu. O tym będzie mowa w następnym rozdziale.

90

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 6.

W mrokach cebulowej sieci Bezpieczeństwo przeszukiwania zasobów internetowych i rady, w jaki sposób skonfigurować naszą przeglądarkę, były tematem rozdziału 3. Wspomniane zostały także usługi sieciowe, których należy unikać. Następne dwa rozdziały poświęciłem bezpiecznej komunikacji, która wykorzystuje umiejętność posługiwania się GPG lub protokołem Bitmessage. Żadne z tych rozwiązań nie pozwala jednak na całkowite wyzwolenie się spod jarzma kontroli nad internetem. W 2002 roku amerykańscy programiści Roger Dingledine, Nick Mathewson i Paul Syverson ogłosili, że pracują nad projektem programu do całkowitego anonimizowania ruchu sieciowego. Wykorzystując wsparcie finansowe amerykańskiego Centrum Badawczego Marynarki Wojennej oraz zaawansowane techniki trasowania połączeń sieciowych, stworzyli najpotężniejsze obecnie narzędzie do zakrywania prawdziwej tożsamości internautów. Tak właśnie narodził się Tor, początkowo znany jako The Onion Router. Tor to nakładka na nasz komputer, dzięki której z internetem łączymy się nie bezpośrednio, ale przez rozproszoną, zdecentralizowaną i wolną od nadzoru sieć węzłów komputerowych. Tor jest czymś w rodzaju globalnego serwera proxy. Szyfrując wielokrotnie nasze połączenie i trasując je po zakątkach całego świata, możemy utracić nasz prawdziwy adres i nabyć nowe, niekontrolowane przez nikogo „ja”. Uzyskamy dostęp do najciemniejszej i najskrytszej części internetu; staniemy na krawędzi dwóch światów. Zawiśniemy między tym, co „widzi” Google, a siecią bez państwowych domen, barwną i kosmopolitycznie globalną. Wypada tylko żałować, że zalety tej radosnej „wirtualnej kryptoanarchii” zwykłych ludzi pragnących najzwyklejszej prywatności zaczęli wykorzystywać ludzie, których zamiary i poglądy dalekie są od wszelkich norm prawa, etyki i moralności.

92

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Podstawy obsługi Tora Sieć Tor najprościej można zdefiniować jako wirtualną sieć komputerową o zasięgu globalnym. Od tradycyjnego internetu (zgodnie z torowską nomenklaturą — clearnetu) różni się sposobem przesyłania danych. O ile w „normalnej” sieci robimy to bezpośrednio, wysyłając i odbierając dane na drodze nasz komputer – serwer, o tyle w sieci „cebulkowej” proces ten jest bardziej skomplikowany. Przed omówieniem obsługi oficjalnego klienta Tora krótko przedstawię istotę funkcjonowania całej sieci i wyjaśnię, dlaczego zawsze będziemy anonimowi w prawie stu procentach. Podstawą funkcjonowania sieci Tor jest kryptografia. Każdy użytkownik dysponuje parą kluczy kryptograficznych, kluczem publicznym oraz prywatnym. Jest to para specjalna i tymczasowa: można jej używać wyłącznie do obsługi Tora i tylko podczas trwania jednej sesji (czytaj: od włączenia do wyłączenia Tora). Każde ponowne uruchomienie programu powoduje, że Tor generuje nową parę kluczy dla użytkownika. Klucze publiczne są udostępniane w specjalnym, rozproszonym katalogu usługi, natomiast prywatne są trzymane na poszczególnych komputerach „tornautów”. Szczególną rolę w sieci pełnią węzły (nodes) lub inaczej przekaźniki (relays). Są to tacy użytkownicy, którzy rozmyślnie skonfigurowali swojego Tora do zbierania i przekazywania ruchu sieciowego w ten sposób, że za każdym razem dekoduje lub szyfruje połączenie sieciowe. Układ węzłów to swoista globalna stacja przekaźnikowa. Proces przepływu wszystkich danych przez sieć Tor wyjaśnić można na prostym przykładzie. Przypuśćmy, że chcemy połączyć się z serwerem naszego kolegi Bartosza, aby wejść na jego stronę internetową, a do tego celu wykorzystamy właśnie Tora. W naszej minisieci dysponujemy ponadto kilkoma węzłami. Powiedzmy, że są to nasi znajomi (Marian, Natalia, Aleksander, Paulina, Roman i Olga), którzy umożliwią nam wykonanie tego zadania. Schemat wygląda następująco: 1. Nakazujemy komputerowi wysłanie żądania do witryny Bartosza. Spośród

puli dostępnych węzłów zainstalowany na naszym komputerze Tor wybiera kilka, na przykład komputer Mariana, komputer Pauliny i komputer Olgi. Kolejność wyboru odgrywa bardzo ważną rolę! 2. Tor szyfruje nasze żądanie kluczem publicznym komputera Olgi. Utworzony

szyfrogram szyfruje następnie kluczem publicznym komputera Pauliny. W końcu — szyfrogram szyfrogramu szyfruje kluczem publicznym komputera Mariana. Tak powstaje twór żartobliwie nazywany cebulką. 3. Cebulka opuszcza nasz komputer i trafia do komputera Mariana. Komputer

Mariana dekoduje pierwszą warstwę żądania (ma stosowny klucz prywatny). Informację przekazuje dalej, do komputera Pauliny. 4. Komputer Pauliny dekoduje swoim kluczem prywatnym drugą warstwę

cebulki, a sama cebulka trafia do komputera Olgi. 5. Komputer Olgi „zdejmuje” ostatnią warstwę kryptograficzną z naszego żądania

i wysyła ją do komputera Bartosza. Komputer Olgi pełni funkcję węzła wyjściowego (exit node). W łączeniu się z Bartoszem to jej tożsamość i adres IP są widoczne, nie nasz. Z tego powodu Bartoszowi wydaje się, że połączyła się z nim Olga, a nie my.

Rozdział 6. W mrokach cebulowej sieci

93

6. Komputer Bartosza, przekonany, że to Olga wysłała do niego żądanie,

przekazuje jej odpowiedź. 7. Komputer Olgi udostępnia nam swój (jednosesyjny!) klucz prywatny i swoim

kluczem publicznym szyfruje odpowiedź Bartosza, a następnie przekazuje ją do komputera Pauliny. 8. Komputer Pauliny, podobnie jak komputer Olgi, udostępnia nam swój klucz

prywatny i swoim kluczem publicznym koduje szyfrogram otrzymany od komputera Olgi. Przekazuje go następnie komputerowi Mariana. 9. Komputer Mariana wykonuje te same kroki co komputery Olgi i Pauliny.

Od komputera Mariana otrzymujemy potrójnie zaszyfrowaną cebulkę-zwrotkę. 10. Nasz komputer deszyfruje warstwy cebulki kolejnymi kluczami prywatnymi

komputerów Mariana, Pauliny i Olgi i dopiero wtedy otrzymujemy oryginalną odpowiedź od serwera Bartosza. W naszej przeglądarce pojawia się jego witryna. To przykład wyidealizowany, bo sieć łączy tylko kilka zaprzyjaźnionych osób. W rzeczywistości Tor składa się z przynajmniej kilku tysięcy węzłów, czyli komputerów nieznanych nikomu pań X i panów Y, którzy rozrzuceni są po całym świecie. Sam program posiada możliwość zmiany naszej tożsamości i ustalenia całkiem nowej trasy pomiędzy węzłami. Generowanie pary kluczy za każdym razem, gdy uruchomimy Tora, strzeże nas przed przechwytywaniem i rozczytywaniem naszych pakietów sieciowych przez osoby trzecie, które liczą na powtarzalność dróg naszej komunikacji. Wścibskie, informatyczne służby marketingu ponadnarodowych koncernów nie poznają już naszych preferencji co do zakupów, zainteresowań i poglądów. Wszystko to sprawia, że jednoczesna i bezpośrednia identyfikacja nas i serwera, z którym się łączymy, jest praktycznie niemożliwa. Nawet jeżeli część węzłów w szerokim świecie należy do mocno wyspecjalizowanych agencji rządowych (nie ma powodu, by sądzić, że w rzeczywistości tak nie jest). Opisany powyżej algorytm nosi miano trasowania cebulowego (onion routing). Dzięki zastosowaniu w sieci Tor tej zaawansowanej technologii możemy prawie całkowicie anonimowo przeglądać internet, wysyłać i odbierać pocztę, czatować, wysyłać pliki na serwer i korzystać z olbrzymiej większości programów sieciowych. Omówiony przykład przedstawiłem na rysunku 6.1. Sieć Tor nie jest oprogramowaniem wolnym od wad i cudownym lekarstwem na wszędobylskie służby specjalne i wielkie korporacje. Choć bliska ideału, posiada kilka słabych miejsc, na które warto zwrócić uwagę:  Prędkość łącza internetowego jest wolniejsza: wydaje się to oczywiste.

Trasujemy nasze połączenie przez kilka komputerów porozrzucanych na całym świecie. Czas reakcji jest nieco dłuższy.  Nie wiemy, kto jest naszym węzłem wyjściowym: exit nodes mają dostęp do

wszystkich informacji wysyłanych z naszego komputera i opuszczających sieć Tor. Możemy się przed tym ochronić, wymuszając stosowanie szyfrowanych protokołów internetowych na linii my – serwer — na przykład HTTPS zamiast HTTP (patrz rozdział 3.).

94

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 6.1. Schemat funkcjonowania sieci Tor. Linia ciągła oznacza połączenie szyfrowane, linia przerywana — niezabezpieczone. Grubość linii oznacza liczbę warstw szyfrowania przekazu danych (w obie strony)  Pracując jako exit node, narażamy się na wizytę tajnych służb, oddziałów

antyterrorystycznych i hiszpańskiej inkwizycji: może się zdarzyć, że chcieliśmy pomóc w rozwoju Tora i skonfigurowaliśmy nasz komputer do pracy jako węzeł wyjściowy. Wszyscy „tornauci”, którzy korzystali z naszych usług, do sieciowej działalności używali naszego adresu IP, a jak już wiemy — adresy IP węzłów wyjściowych są publiczne. Nie mamy kontroli nad tym, kto i do czego nas wykorzystał. Warto pamiętać, że wielu ludzi wykorzystuje Tora do celów niezgodnych z prawem. Z tego też powodu to my jako exit node zostaniemy namierzeni przez policję, a nie prawdziwy sprawca. Bycie węzłem wyjściowym nie jest oczywiście zabronione i prawdopodobnie w takiej sytuacji nie zostaniemy pociągnięci do żadnej odpowiedzialności karnej. Kwestie prawne związane z funkcjonowaniem Tora omówione są w sekcji „Aspekty prawne Tora”.  Tor nie jest odporny na aplety internetowe uruchamiane na komputerze:

w rozdziale 3. wspomniałem o zasadach funkcjonowania wtyczek takich jak JavaScript, Java, Flash czy Silverlight. W sieci Tor stanowią one podobne zagrożenie i uruchamiane są bezpośrednio na naszej maszynie, omijając trasowanie cebulowe i mogą zdradzić nasz prawdziwy adres IP. W Torze obowiązuje niepisany, bezwzględny zakaz korzystania z tego typu apletów. O katastrofalnych skutkach używania podejrzanych skryptów w cebulowej sieci będzie mowa w sekcji „Ukryte usługi”. Jeżeli chodzi o wady, to w rzeczywistości, mimo że wydają się one dość znaczące, nie są zbyt uciążliwe. Można się do nich przyzwyczaić, zwłaszcza że zalety Tora ewidentnie przeważają nad jego słabymi stronami. W dzisiejszych czasach jest to jedyne na tyle potężne narzędzie, które potrafi zapewnić nam anonimowość przy korzystaniu z prawie każdej internetowej usługi — nieważne, czy mamy do czynienia z przeglądarką WWW, klientem poczty czy programem do czatów.

Rozdział 6. W mrokach cebulowej sieci

95

Powyższe twierdzenie można zobrazować następującym przykładem. W październiku 2013 roku gazety „The Washington Post” oraz „The Guardian” opublikowały otrzymaną od Snowdena, starszą już prezentację NSA o niezwykle wymownym tytule: Tor śmierdzi (rysunek 6.2)1. Agenci-autorzy dokumentu stwierdzają wprost: „Nigdy nie będziemy w stanie deanonimizować wszystkich użytkowników Tora przez cały czas”. Dodają, że „możliwym jest deanonimizowanie pewnej małej grupy użytkowników Tora”, ale „nie ma sposobu na odkrycie tożsamości dowolnie wybranej osoby”. Techniki ataków NSA czy służb rosyjskich na Tora okazują się na dłuższą metę nieefektywne i nie stwarzają zagrożenia dla całej sieci. Zostały zresztą przewidziane i omówione publicznie na długo przed opublikowaniem prezentacji NSA. Świadczy to co najmniej o bezsilności służb wobec jakości Tora i jego algorytmów bezpieczeństwa.

Rysunek 6.2. Slajd tytułowy prezentacji NSA o Torze i sposoby ataków agencji na sieć Tor — w rzeczywistości mało skuteczne. Zapach cebul może być drażniący

Jak pobrać i zainstalować Tora? Dystrybucją oficjalnej implementacji klienta Tora zajmuje się fundacja The Tor Project. Sam Tor jest programem otwartoźródłowym i całkowicie bezpłatnym. Skupia wokół siebie szeroką społeczność. Paczkę Tor Browser Bundle możemy pobrać z oficjalnej witryny fundacji — https://www.torproject.org/. Program działa na systemach operacyjnych Linux, BSD, Windows oraz OS X, jest dostępny w polskiej wersji językowej. Gdy pobierzemy i uruchomimy Tora, powinniśmy zobaczyć panel główny (rysunek 6.3). W większości przypadków wystarczy nacisnąć na przycisk Połącz, by nawiązać połączenie z siecią. Jeżeli nie wystąpiły żadne komplikacje, program powinien automatycznie nawiązać połączenie z siecią Tor i połączyć się z węzłami. Panel kontrolny zniknie i w jego miejsce pojawi się następne okno. Tym razem będzie to Tor Browser — zmodyfikowana wersja przeglądarki Mozilla Firefox, wyposażona w znane z rozdziału 3. rozszerzenia HTTPS Everywhere i NoScript, a także w pełni zintegrowana z Torem. Wszystko to, co robimy w Tor Browserze, przesyłane jest przez sieć węzłów cebulowej sieci. 1

http://www.theguardian.com/world/interactive/2013/oct/04/tor-stinks-nsa-presentation-document.

96

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 6.3. Panel główny Tora. Ustawienia sieci

To, że mamy uruchomionego Tor Browsera, wcale nie znaczy, że wszystkie aktywne programy internetowe (na przykład klienci e-mail albo czaty) także działają pod Torem. Każdą z naszych sieciowych aplikacji musimy skonfigurować osobno i z namysłem. Mówi o tym tekst sekcji Konfiguracja programów sieciowych do pracy z Torem.

Tor nie działa poprawnie. Jak żyć, co robić? Istnieje wiele powodów, przez które nasz Tor może nie działać poprawnie. Aby skonfigurować program, należy nacisnąć przycisk Konfiguruj w panelu głównym lub w programie Tor Browser kliknąć na ikonkę cebulki w pasku narzędzi i z rozwijanego menu wybrać opcję Otwórz ustawienia sieci. Najprawdopodobniej spotkaliśmy się z jednym z trzech wymienionych niżej problemów:  Nasz komputer używa proxy do łączenia się z internetem: sprawdźmy

standardową konfigurację serwera proxy, którą wykorzystuje nasz komputer, i uzupełnijmy odpowiednie pola w ustawieniach. W razie problemów z połączeniem, zwróćmy się z pytaniem do dostawcy internetowego lub skontaktujmy się z The Tor Project.  Zapora sieciowa (firewall) pozwala na łączenie tylko określonymi portami:

jeżeli nasz komputer posiada zaporę sieciową, dodajmy do listy nieblokowanych portów numery 9150 i 9151 — standardowe porty sieciowe, przez które biegnie połączenie z Torem. Jeżeli korzystamy z routera (na przykład w wielkiej firmie albo miejscu publicznym), powinniśmy zdać się na Tora i w jego polu ustawień wypisać po przecinku nieblokowane porty (zwykle są to porty 80 i 443). Program powinien znaleźć trasę połączenia mimo tych utrudnień.

Rozdział 6. W mrokach cebulowej sieci

97

 Nasz dostawca internetu albo krajowy urząd cenzury internetu (na

przykład w Chinach) blokuje Tora: jest to najpoważniejszy przypadek. W takiej sytuacji powinniśmy połączyć się z Torem za pomocą jednego z mostów. Most to węzeł, który nie jest indeksowany w katalogu publicznym. Jego namierzenie i zablokowanie jest dla systemów „ochrony” trudniejsze. Nasz Tor może spróbować znaleźć dostępne mosty, ale możemy też poszukać ich sami. Zadanie ułatwia nam witryna https://bridges.torproject.org/. Jeżeli korzystamy z konta e-mailowego w Google lub Yahoo!, możemy także wysłać na adres [email protected] wiadomość o treści get bridges i otrzymać przykładowe mosty na naszą skrzynkę pocztową. Adresy IP mostów, z których chcemy korzystać (im więcej, tym lepiej!), wraz z portami sieciowymi i kluczem identyfikacyjnym można dodać w panelu ustawień sieci (rysunek 6.4). Rysunek 6.4. Zaawansowane ustawienia Tora

Przeglądanie internetu Tor Browserem Odwiedzanie witryn sieciowych w Tor Browserze nie różni się praktycznie niczym od użytkowania klasycznego Firefoksa. Pierwsza strona, którą zobaczymy zaraz po uruchomieniu przeglądarki, będzie zawierała informację o stanie sieci. Jeżeli nie wystąpiły żadne problemy z Torem, strona startowa będzie wyglądać tak jak na rysunku 6.5.

98

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 6.5. Pierwsza strona po połączeniu się z Torem. Nasz Tor Browser jest bezpieczny i działa bez przeszkód

Pod adresem https://check.torproject.org/?lang=pl możemy dodatkowo sprawdzić adres IP naszego exit node — będzie to nasza nowa tożsamość podczas surfowania w sieci. Podczas anonimowego przeglądania witryn warto zastosować się do paru dobrych rad dla naszego własnego bezpieczeństwa:  Włączmy blokowanie skryptów: rozszerzenie NoScript pozostaje domyślnie

nieaktywne. Należy je bezwzględnie włączyć! Zwykłe gapiostwo związane z aktywowanymi skryptami doprowadziło latem 2013 roku do jednej z największych katastrof sieciowych wewnątrz Tora.  Nie instalujmy dodatkowych rozszerzeń do przeglądarki, z wyjątkiem tych

zaufanych: niebezpieczne pluginy i dodatki mogą doprowadzić do ujawnienia naszego adresu IP i utraty anonimowości.  Używajmy protokołu HTTPS do przeglądania witryn: dodatek HTTPS

Everywhere załatwia ten problem. Szyfrowane protokoły wzmacniają nasze bezpieczeństwo na linii my – serwer i uniemożliwiają przechwytywanie danych przez exit nodes.  Nie otwierajmy plików ściągniętych przez Tora w czasie, gdy jesteśmy

połączeni z internetem: sprawa ta dotyczy w szczególności plików DOC (DOCX) i PDF. Pliki te mogą zawierać partie kodu internetowego, które zdradzą naszą tożsamość i ujawnią prawdziwy adres IP. Nie wolno pod żadnym pozorem ignorować tego ostrzeżenia!

Rozdział 6. W mrokach cebulowej sieci

99

 Na bieżąco kasujmy pliki cookies: unikajmy śledzenia zawsze, gdy jest to

możliwe.  Rozbijajmy w czasie naszą działalność: nawet jeżeli zresetujemy Tora

i nawiążemy połączenie z innym węzłem wyjściowym, zainteresowane osoby mogą na podstawie odwiedzanych witryn i czasu między ich odwiedzaniem zorientować się, że jesteśmy tą samą osobą.  Nie korzystajmy z Google: istnieją doskonałe i odpowiedniki wolne od

zbierania danych. Przypomnijmy sobie wyszukiwarki Startpage, Ixquick i DuckDuckGo, a także wirtualny atlas świata OpenStreetMap.  Nie podawajmy prawdziwych danych osobowych: róbmy to tak rzadko, jak

to tylko możliwe. Do korzystania z usług internetowych przez Tora stwórzmy osobne pseudonimy, zestawy haseł, adresy e-mail, adresy Bitmessage, konta na portalach i witrynach. Myślmy o nas jak o zupełnie innych ludziach, o odmiennej osobowości i jaźni. Nie bójmy się zmienić narodowości, rasy, płci, religii, poglądów politycznych czy miejsca zamieszkania, ale uwaga: nie posługujmy się naszymi „cebulkowymi” tożsamościami do działalności poza Torem.  Nie należy wykonywać przelewów bankowych przez Tora: po pierwsze,

większość systemów bankowych zablokuje nam konto. Po drugie, część witryn banków może się nie ładować z powodu wyłączonych skryptów. Po trzecie, transfery finansowe są zawsze rejestrowane. Jedynymi pieniędzmi, którymi wolno operować przez Tora, są kryptowaluty (patrz rozdział 7.).

Konfiguracja programów sieciowych do pracy z Torem Tor Browser nie jest jedynym programem, który łączy się z internetem za pomocą Tora. Teoretycznie każdy program, który posiada możliwość konfiguracji protokołu SOCKS, pozwala nam na anonimowość i korzystanie z zalet trasowania cebulowego. Protokół SOCKS służy zbieraniu wychodzącego z komputera ruchu sieciowego i przekierowywaniu go na wybraną przez użytkownika bramkę proxy. Dzięki Torowi dysponujemy własną bezpieczną bramką proxy na naszym komputerze. Podczas konfiguracji SOCKS programy żądają zazwyczaj trzech informacji: adresu IP bramki, portu sieciowego, który ona wykorzystuje, a także wersji protokołu. W przypadku Tora domyślna konfiguracja prezentuje się następująco:  Adres IP: 127.0.0.1 (localhost) — proxy (czyli po prostu Tor) znajduje się na

naszym komputerze i dlatego wykorzystuje lokalny adres IP z punktu widzenia naszego komputera. Przez adres localhost zawsze połączymy się z naszym własnym komputerem.  Port: 9150 — jest to port domyślny Tora, przez który trasuje on nasze połączenie.  Wersja protokołu: SOCKS v.5.

100

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Powyższe ustawienia możemy wprowadzić w preferencjach sieciowych danego programu i zatwierdzić. Pamiętajmy, by zaznaczyć opcję konfiguracji ręcznej i skasować wszelkie wyjątki witryn i portów od stosowania proxy (jeżeli jest taka możliwość). Przykładowo, panel ustawień SOCKS w programie Mozilla Thunderbird znaleźć można w pozycji Preferencje, karcie Zaawansowane, podkarcie Sieć i miejsce na dysku i pod przyciskiem Ustawienia…. Uzupełnić należy pola wyłącznie obok napisu Host SOCKS. W kliencie PyBitmessage konfigurację dla SOCKS możemy znaleźć w pozycji menu Settings i na karcie Network Settings (rysunek 6.6). Rysunek 6.6. Konfiguracja Bitmessage do pracy pod Torem

Odpowiednie ustawienia programu sieciowego pozwolą nam na ukrycie internetowej tożsamości, w szczególności adresu IP. Tak jak w przypadku Tor Browsera, do dyspozycji jest kilka dobrych rad dla „tornautów”. Przede wszystkim musimy pamiętać o tym, że skonfigurowany program zadziała tylko wtedy, jeśli w tle będzie pracować Tor. Wydaje się to oczywiste. W przeciwnym wypadku aplikacja może pokazać nam błąd połączenia albo połączy się bez proxy. Po drugie, nie ściągajmy „torrentów” przez Tora. Programy do obsługi protokołu BitTorrent zwykle ignorują ustawienia SOCKS i mimo odpowiednich zabezpieczeń ujawniają nasz prawdziwy adres IP. Mało tego, pobieranie dużych plików może znacząco wpłynąć na obniżenie przepustowości sieci i utrudnić działalność innym „tornautom”. Po trzecie, w skonfigurowanych programach używajmy kont przeznaczonych wyłącznie do korzystania z Tora. Jeżeli korzystamy z naszych „jawnych” adresów, które służą do codziennych kontaktów (zarówno osobistych, jak i oficjalnych), Tor sam w sobie nie zapewni nam anonimowości. Sieć „cebulkowa” nie jest wszechmocna

Rozdział 6. W mrokach cebulowej sieci

101

i nie ukrywa nazw kont i adresów e-mail, lecz wyłącznie tożsamość internetową (adres IP, dane geolokacyjne, czas w zegarze komputera, wersję przeglądarki czy systemu operacyjnego). Programów z kontami „tajnymi” nie włączajmy, gdy Tor pozostaje nieaktywny. Po czwarte wreszcie, absolutnie niedozwolone jest jednoczesne korzystanie z kont „tajnych” i „jawnych” w skonfigurowanych programach. Nieważne, czy są to dwie oddzielne aplikacje, czy też jedna. Po prostu nie wolno. Konta oficjalne wykorzystujemy wtedy, gdy Tor jest wyłączony, a konta „tajne”, gdy go aktywowaliśmy. Nie ma odstępstw od tej reguły. W przeciwnym wypadku narażamy się na to, że ktoś wpadnie na myśl, że pan Iks i pani Zet to jedna i ta sama osoba z określonego miejsca na Ziemi. Będzie to stosunkowo proste, biorąc pod uwagę fakt, że z obu rodzajów kont korzystaliśmy przez ten sam adres IP węzła wyjściowego i w tym samym czasie.

Ukryte usługi Tor oprócz zakrywania tożsamości internetowej użytkowników potrafi ukrywać fizyczną lokalizację serwerów i dostawców usług. Funkcję ukrytych usług internetowych wprowadzono do projektu w 2004 roku i od tej pory jest stale rozwijana. W rzeczywistości ukryta usługa to taka, do której dostęp spoza Tora jest niemożliwy. Ukrytą usługą może być wszystko: tajna strona WWW, serwer e-mail, czatów, czy chociażby wirtualny dysk. Każdy, kto posiada na swoim komputerze oprogramowanie serwerowe, może używać go przez Tora i w ten sposób stać się częścią internetu niekontrolowanego. Ukrytych usług jest tak dużo, że stanowią oddzielną część internetu. Mówi się o niej jako o darknecie albo deepwebie. Podkreśla się tym samym jej odrębność od clearnetu — czyli internetu jawnego, tego, który „widziany” jest przez Google i inne wyszukiwarki. Rozmiarów „mrocznej sieci” nie da się zbadać. Wielu naukowców szacuje, że Tor i inne anonimowe sieci tworzą przestrzeń kilkukrotnie większą niż tradycyjny internet. Korelację między darknetem a clearnetem przedstawiłem na wymownej infografice na rysunku 6.7. Rysunek 6.7. Deepweb i clearnet — dwa obszary internetu

102

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Twórcy i dostawcy ukrytych usług pozostają niemal całkowicie anonimowi i niewykrywalni. Z tego powodu Tor bywa wykorzystywany do różnych celów, czasami nie zawsze zgodnych z prawem. W najgłębszych zakątkach „cebulowej” sieci można znaleźć naprawdę wszystko. Olbrzymie katalogi biblioteczne, zbiory poradników o bezpieczeństwie komputerowym i archiwa tajnych dokumentów rządowych nie wyczerpują zawartości sieci. Witryny do komunikacji między dysydentami politycznymi w krajach niedemokratycznych istnieją obok stron organizacji szerzących terror. Kwitnie handel narkotykami i bronią na kształt aukcji na Allegro. Tysiące ludzi oferuje swoją „pomoc” przy włamaniach internetowych, kradzieżach, wyłudzeniach czy praniu pieniędzy. Sieć Tor stała się przez to permanentnym obiektem uwagi policji i służb specjalnych. Na szczęście dla nas zwykłe gapiostwo i niedopatrzenia przestępców są chętnie wykorzystywane przez czujne organy bezpieczeństwa. W sierpniu 2013 roku służby specjalne zablokowały dostęp do najpotężniejszej usługi hostingu stron internetowych w Torze — Freeedom Hostingu — i tym samym zniszczyły prawie połowę (sic!) publicznie dostępnych usług w darknecie. Stało się to z prostego powodu. Na jednym z for poświęconych nielegalnej pornografii udało się umieścić szpiegujący kod w JavaScripcie. Ponieważ wielu użytkowników zapomniało włączyć rozszerzenie NoScript, dotarcie do właściciela Freedom Hostingu (i de facto najważniejszej osoby w „cebulkowej” sieci) było w zasadzie proste (choć nie ujawniono szczegółów). W tym samym czasie w Irlandii aresztowano 28-letniego Erica E. Marquesa i postawiono mu zarzuty dystrybucji dziecięcej pornografii. Nie ma jednak bezpośrednich dowodów na to, czy Marques faktycznie był właścicielem Freedom Hostingu. Niestety, brudna działalność aresztowanego Irlandczyka i osobników jego pokroju w pewnym sensie negatywnie rzutuje też na resztę „tornautów” i otacza wręcz nieprzyjazną atmosferą ludzi, którzy mają wiele do ukrycia. Pod żadnym pozorem nie powinniśmy korzystać z tzw. bramek Tora w clearnecie, czyli witryn, które pozwalają na łączenie się z ukrytymi usługami bez oprogramowania Tor. Portale takie jak http://onion.to/ są potencjalnie niebezpieczne i mogą zbierać dane o naszej działalności. Tor Browser to jedyne zaufane narzędzie do przeglądania witryn niejawnych.

Jak funkcjonują ukryte usługi? Każdy serwer, który funkcjonuje w darknecie, do prawidłowego działania potrzebuje stałej kryptograficznej pary kluczy i adresu usługi sieciowej. Schemat nawiązywania połączenia z tajną usługą wygląda bardzo podobnie jak w przypadku przeglądania clearnetu. Jest jednak kilka różnic, o których trzeba wspomnieć. Z ukrytą usługą (tak jak z każdą inną usługą) łączymy się przez wpisanie w przeglądarce odpowiedniego adresu sieciowego. „Cebulkowy” adres to identyfikator, dzięki któremu nasz komputer może pobrać z rozproszonego katalogu Tora klucz publiczny ukrytej usługi i zaszyfrować nim połączenie, tworząc pierwszą warstwę cebulki. Ponieważ adresy są związane z kluczami i tworzone na ich podstawie, wyglądają zupełnie inaczej niż w clearnecie: brzmią bardzo enigmatycznie i na ogół nie kryją w sobie głębszego sensu znaczeniowego. Przykładowa tajna witryna WWW w sieci Tor może znajdować się pod adresem http://3g2upl4pq6kufc4m.onion/. Wpisanie takiego adresu w zwykłą przeglądarkę wyświetli nam błąd połączenia.

Rozdział 6. W mrokach cebulowej sieci

103

Po zaszyfrowaniu kluczami publicznymi serwera, a potem węzłów, połączenie przechodzi proces trasowania cebulowego i trafia ostatecznie na węzeł wyjściowy. W odróżnieniu od clearnetu nie zdejmuje on ostatniej warstwy z cebulki. Ostatnią warstwę utworzyliśmy kluczem publicznym serwera i dopiero nasz właściwy adresat jest w stanie zdekodować połączenie swoim kluczem prywatnym, który to trzyma na swoim dysku. W ten sposób komunikacja na linii my – serwer pozostaje bezpieczna z obu stron (występuje tzw. end-to-end encryption). Jeżeli serwer wysyła nam odpowiedź, szyfruje ją naszym udostępnionym kluczem publicznym i wówczas przekazuje ją węzłom, aby wykonały trasowanie cebulowe.

Kilka ciekawych ukrytych usług By zacząć przygodę z darknetem, można skorzystać z niedużego katalogu ukrytych usług sieci Tor (stan na marzec 2015 roku): Autor niniejszej książki nie odpowiada za treści i materiały opublikowane w wymienionych witrynach. Część z nich może być niezgodna z prawem, a poniższa lista ma charakter jedynie informacyjny i nie zachęca do łamania jego przepisów.  http://nco5ranerted3nkt.onion/forum/index.php — forum ToRepublic; główne

forum polskiej społeczności Tor (rysunek 6.8); Rysunek 6.8. Forum ToRepublic — główna witryna polskich „tornautów”

 http://zqktlwi4fecvo6ri.onion — The Hidden Wiki; obszerny katalog ukrytych

usług w sieci Tor (rysunek 6.9);

104

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 6.9. The Hidden Wiki — katalog ukrytych usług w sieci Tor  http://xmh57jrzrnw6insl.onion/ — TORCH; wyszukiwarka sieci Tor; indeksuje

ponad milion witryn;  https://3g2upl4pq6kufc4m.onion/ — DuckDuckGo; „cebulkowa” wersja znanej

wyszukiwarki internetowej;  http://torwebpa6vb7icfm.onion/ — TorWeb; płatny hosting ukrytych stron

internetowych;  http://torbox3uiot6wchz.onion/ — TorBox; dostawca kont e-mail w sieci Tor;  http://am4wuhz3zifexz5u.onion/ — The Tor Library; olbrzymia wirtualna

biblioteka; zawiera ponad 100 gigabajtów publikacji w różnych językach.

Konfiguracja własnej ukrytej usługi Niniejsza sekcja dotyczy wyłącznie właścicieli serwerów i osób, które na swoim komputerze posiadają oprogramowanie serwerowe (na przykład dysponują witryną personalną). Przykład prostego serwera WWW zobrazuje, w jaki sposób można tworzyć ukryte usługi i nimi zarządzać. Zakładam, że nasz serwer jest skonfigurowany prawidłowo pod względem formalnym, a uruchomienie w zwykłej przeglądarce internetowej

Rozdział 6. W mrokach cebulowej sieci

105

adresu http://127.0.0.1:80/ (albo http://localhost:80/) wyświetli stronę domową komputera. Należy się upewnić, że nasz serwer jest osiągalny wyłącznie z poziomu naszego komputera lub sieci lokalnej. Aby zachować anonimowość i odrębność od clearnetu, adres IP serwera nie może widnieć w internecie. Na czas konfiguracji ukrytej usługi zaleca się pozostawienie Tora aktywnego. Aby umożliwić dostęp do naszego serwera z poziomu darknetu, należy wprowadzić dodatkowe ustawienia do specjalnego pliku konfiguracyjnego torrc. Znaleźć go można w folderze Tora, w podkatalogu Data i następnie Tor. Plik torrc uda się otworzyć za pomocą zwykłego edytora tekstu (na przykład Notatnika). W dowolnym miejscu powinniśmy dodać następujące dwie linijki: HiddenServiceDir \sciezka\do\folderu\z\plikami\uslugi HiddenServicePort 80 127.0.0.1:80

Frazę \sciezka\do\folderu\z\plikami\uslugi zastępujemy adresem do katalogu, w którym chcemy wygenerować klucz prywatny serwera i adres sieciowy ukrytej usługi. Folder ten musi już istnieć, posiadać prawa zapisu, ale nie może być udostępniany na zewnątrz. Zapisujemy plik torrc i resetujemy połączenie z Torem. We wskazanym w konfiguracji folderze program wygeneruje dwa pliki: private_key i hostname. W pierwszym z nich znajdziemy klucz prywatny naszego serwera, a w drugim nasz adres sieciowy w pseudodomenie .onion. W tym samym czasie w rozproszonym katalogu Tora znajdzie się klucz publiczny usługi powiązany z wygenerowanym przez nas adresem. Od tej pory każdy komputer, który używa Tora, może połączyć się z naszym serwerem i zobaczyć naszą witrynę (rysunek 6.10). Nasz adres IP w Torze pozostanie całkowicie tajny. Nie zobaczymy też adresów IP ludzi nas odwiedzających.

Rysunek 6.10. Ta sama witryna załadowana przez adres localhost jako witryna komputera i w programie Tor Browser jako ukryta usługa

106

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Stworzenie własnej witryny w sieci Tor jest w rzeczywistości o wiele łatwiejsze niż w clearnecie. Dzięki specyfice darknetowych adresów sieciowych nie wydamy ani grosza na rejestrację domeny i wirtualny hosting. Tor jest też bardzo wygodny. Pozwala ominąć ustawienia routerowego firewalla lub translacji adresów sieciowych NAT i działać usłudze mimo tych ograniczeń. Osoby, które dysponują fizycznym serwerem w domu lub w pracy, zapewne wiedzą, o co chodzi. W skrócie znaczy to tyle, że każdy komputer z dostępem do internetu może być serwerem ukrytej usługi. Pamiętajmy, że ukryta usługa załaduje się tylko wtedy, gdy Tor na naszym serwerze będzie aktywny. Jeżeli na naszym komputerze jest kilka serwerów, na przykład serwer WWW na porcie 80 i serwer czatu IRC na porcie 6667, dla każdego z nich musimy w pliku torrc wprowadzić osobną konfigurację. Dla przykładu: HiddenServiceDir \sciezka\do\folderu\z\plikami\uslugi HiddenServicePort 80 127.0.0.1:80 HiddenServiceDir \sciezka\do\folderu\z\plikami\innej_uslugi HiddenServicePort 6667 127.0.0.1:6667

Fraza \sciezka\do\folderu\z\plikami\innej_uslugi to oczywiście folder inny niż ten, z którego korzysta pierwsza usługa. Znajdziemy w nim osobne pliki private_key i hostname. W takim przypadku nasz komputer dysponowałby dwoma adresami ukrytych usług. Jeden służyłby do przeglądania naszej witryny, a za pomocą drugiego udostępnialibyśmy „tornautom” serwer czatu. Istnieją narzędzia, dzięki którym możemy tworzyć własne, spersonalizowane adresy .onion z kilkoma z góry narzuconymi znakami na początku. Narzędzia te na podstawie podanych znaków spróbują wygenerować metodą brute-force taki klucz prywatny, który pasowałby do domeny. Ponieważ wymaga to sporej mocy obliczeniowej, nie spotkamy się z adresem liczącym więcej niż 7 – 8 własnych znaków. Najprostszy program Shallot (https://github.com/katmagic/Shallot) dla Linuksa, BSD i OS X potrafi w ciągu kilkunastu minut utworzyć adres i klucz prywatny serwera na podstawie sześciu znaków. Aby korzystać ze spersonalizowanej domeny, wystarczy zastąpić istniejące pliki private_key i hostname danymi, które wygenerował Shallot. Tor wytworzy następnie pasujący klucz publiczny i prześle go do katalogu sieci, co zautoryzuje naszą nową domenę.

Pomoc w rozwijaniu sieci Tor Początki Tora były skromne. W 2004 roku cały ruch „cebulkowej” sieci obsługiwały 32 węzły (24 w USA i 8 w Europie). Dziesięć lat później w skład Tora wchodziło już ponad 5 tysięcy węzłów rejestrowanych i ponad 3 tysiące mostów (rysunek 6.11). Z każdym dniem na całym świecie powstają nowe stacje przekaźnikowe. Jeżeli dysponujemy odpowiednio szybkim łączem internetowym, to my także możemy pomóc w rozwoju sieci i pracować jako węzeł.

Rozdział 6. W mrokach cebulowej sieci

107

Rysunek 6.11. Liczba aktywnych węzłów i mostów sieci Tor od 2008 roku. Dane pochodzą z witryny The Tor Project

Jest to zagadnienie bardziej zaawansowane, zwłaszcza w przypadku systemów Linux, BSD i OS X. Twórcy The Tor Project udostępnili na potrzeby systemów Windows specjalny program Vidalia z przyjaznym graficznym interfejsem (rysunek 6.12)2. Dzięki niemu nie będziemy musieli nic robić — autorzy udostępnili go w gotowej wersji dla węzłów, exit nodes lub mostów, w zależności od naszych potrzeb. Do uruchomienia stacji przekaźnikowej wystarczy więc ściągnąć odpowiedni pakiet i zainstalować go na komputerze. Rysunek 6.12. Interfejs programu Vidalia

2

Vidalia była niegdyś komponentem Tor Browser Bundle na wszystkich środowiskach systemowych. Niestety, nie potrafię zrozumieć decyzji autorów o zaprzestaniu rozwoju Vidalii dla OS X, Linuksa i BSD.

108

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Aspekty prawne Tora Wiele osób zadaje pytania o legalność trasowania cebulowego i szczegóły aspektów prawnych z tym związanych. Wizja całkowitej anonimowości w internecie przekracza wyobraźnię sporej części internautów. Wielu z nich nie zdaje sobie sprawy, że delegalizacja Tora byłaby zaprzeczeniem wartości, na które w swoich konstytucjach powołują się państwa uznawane za demokratyczne. Tor nie jest nielegalny, ponieważ sam w sobie służy wolności słowa, prywatności i prawom człowieka, a nie ułatwianiu działalności przestępcom. Mimo to, jak doniosła telewizja Sky News, w 2014 roku Rosja wprowadziła nowe przepisy, które dają władzy państwowej nieograniczoną kontrolę internetu i umożliwiają przejęcie kontroli nad siecią Tor. Ministerstwo Spraw Wewnętrznych tego kraju ogłosiło nawet konkurs z nagrodami na złamanie zabezpieczeń sieci Tor… Tworzenie ukrytych usług, węzłów czy mostów jest w Polsce legalne. Problemy mogą pojawić się jedynie w sytuacji, gdy nasz komputer pracuje jako exit node. Może się zdarzyć, że użytkownik Tora, który z własnej woli i w dobrej intencji funkcjonuje jako węzeł wyjściowy, narazi się na kontakt ze stosownymi służbami, a jego komputer zostanie prześwietlony. W takiej sytuacji należy wytłumaczyć reguły sieci Tor i rolę exit nodes oraz wyjaśnić, że nie mamy kontroli nad tym, kto i w jakim celu wykorzystuje nasze połączenie. Bycie węzłem wyjściowym nie jest zabronione z prawnego punktu widzenia. W świetle przepisów nie pomagamy też w popełnianiu czynów niezgodnych z prawem. W wywiadzie dla portalu Niebezpiecznik.pl wyraźnie mówi o tym Jarosław Góra — prawnik i specjalista w zakresie prawa współczesnych technologii3.

3

http://niebezpiecznik.pl/post/poniedzialek-z-prawnikiem-tor-i-jego-prawne-pulapki/.

Rozdział 7.

Kryptowaluty i pieniądz wirtualny Banki rządzą światem kapitalizmu i są świątyniami pieniądza. Stanowią podstawowe ogniwo gospodarki i jej niewątpliwy fundament. Ponad 150 lat temu baron Nathan Mayer Rothschild, jeden z najpotężniejszych światowych bankierów XIX wieku, stwierdził: „Nie obchodzi mnie, jaka marionetka zasiada na tronie brytyjskim. (…) Człowiek, który kontroluje podaż brytyjskiego pieniądza, kontroluje Imperium Brytyjskie. I to ja jestem tym człowiekiem”1. Od tamtych czasów zmieniło się niewiele. Banki mają olbrzymi wpływ na nasze życie, większy nawet niż demokratycznie wybrane rządy. To organizacje finansowe w największym stopniu wpływają na ogólny rozwój gospodarek kapitalistycznych. To one także były głównym sprawcą krachu na giełdzie nowojorskiej we wrześniu 2008 roku. „Chciwość jest dobra” — mawiał rekin finansjery, negatywny bohater filmu Wall Street. Chciwość banków i wielkich koncernów spowodowała największy w czasach powojennych kryzys ekonomiczny, który dotknął miliardy ludzi na całym świecie. Obnażyła wszystkie możliwe wynaturzenia i absurdy współczesnego neoliberalnego systemu gospodarczego, który zadał kłam mitom ekonomistów o „końcu historii” i „wiecznym rozwoju”. W 2008 roku anonimowy programista (lub grupa programistów) o pseudonimie Satoshi Nakamoto opublikował w internecie dziewięciostronicowy dokument, w którym zawarł zasady pieniądza nowej generacji. Była to pierwsza na świecie wirtualna waluta bez centralnego emitenta. Jego wytwarzaniem mieli się zająć użytkownicy specjalnej, zdecentralizowanej sieci peer-to-peer. W tworzeniu jego wartości uczestniczą wyłącznie prawa matematyczne i rynek. Nakamoto projektowi nadał nazwę bitcoin, a sam system uruchomił 3 stycznia 2009 roku. W dzisiejszych czasach bitcoin zaczyna odgrywać coraz poważniejszą rolę w światowej gospodarce. Zwraca uwagę państw, organizacji międzynarodowych i prywatnych koncernów. Wiele rządów uznało go za równoprawny środek płatniczy. Pod względem 1

http://quotes.liberty-tree.ca/quote_blog/Nathan.Mayer.Rothschild.Quote.4F94.

110

Ukryta tożsamość. Jak się obronić przed utratą prywatności

informatycznym jest całkowicie bezpieczny i wolny od decyzji bankierów. Rewolucjonizuje nasz sposób myślenia o finansach i być może już w niedalekiej przyszłości zastąpi tradycyjną bankowość i elektroniczne karty kredytowe.

Bitcoin jako waluta Wartość tradycyjnego pieniądza fiducjarnego, który funkcjonuje w większości państw świata, opiera się na zaufaniu obywateli do centralnego emitenta pieniądza. Kiedy dysponujemy banknotem dziesięciozłotowym, wiemy, że w rzeczywistości nie posiada żadnej wartości. Prawdziwą wartością banknotu dziesięciozłotowego jest wartość papieru, na którym go wydrukowano. My, jako obywatele, wierzymy jednak, że ów strzępek papieru posiada wartość większą niż te ułamki groszy. Wierzymy, że Narodowy Bank Polski gwarantuje określoną wartość banknotowi dziesięciozłotowemu, dzięki której możemy nabyć określone dobra i usługi. Wartość ta jest w największym stopniu zależna od decyzji NBP, a także wpływu polityków i szefów wielkich korporacji lub banków. Bitcoin jest jednak zupełnie inny, choć sam w sobie posiada pewne cechy waluty fiducjarnej. Bitcoin możemy dokładniej określić za pomocą wymienionych poniżej stwierdzeń:  Jest to system zdecentralizowany, niekontrolowany przez banki i rządy.

Bitcoin to waluta, która nie posiada centralnego emitenta. Nie można zmienić jej wartości decyzją odpowiedzialnego za emisję banku. Nie należy też do żadnego państwa, przez co jest ponadnarodowa. Cały mechanizm bitcoina opiera się na regułach open source, jest więc przejrzysty i nie ma w nim miejsca na oszustwa.  Opiera się na systemie peer-to-peer (szczegóły architektury P2P omówione

są w rozdziale 5.). Bitcoin, tak samo jak Bitmessage, opiera się na równości peerów. Wszystkie transakcje, których dokonamy, rejestrują i autoryzują poszczególne węzły sieci, a nie pracownicy obsługujący bazę danych naszego banku. Nikt nie dowie się, komu wysyłamy nasze pieniądze i w jakim celu. Konta bitcoin nie udostępniają żadnych osobistych informacji o ich użytkowniku.  Nie posiada materialnego odpowiednika. Bitcoina nie traktuje się jako bytu

fizycznego. O ile złotówki, euro czy inna waluta występują jako gotówka, księgowy zapis internetowego przelewu lub wygodna plastikowa karta, która zastępuje pieniądze, o tyle bitcoin nie istnieje w postaci monet lub banknotów.  Dzieli się na dowolną liczbę mniejszych jednostek. Bitcoin dzięki temu, że

nie istnieje jako gotówka, może być dowolnie dzielony na mniejsze jednostki. Obecnie najmniejszą używaną jednostką jest 1 satoshi. 1 bitcoin to w przeliczeniu 100 000 000 satoshi (słownie: sto milionów satoshi).  Pieniądz generowany jest dzięki pracy węzłów. Węzły sieci P2P, które

zbierają z całej sieci transakcje i je autoryzują, za swoją pracę otrzymują wynagrodzenie w postaci określonej stawki bitcoinów. Nie jest to jednak zadanie proste — autoryzacja odpowiedniej ilości transakcji wymaga sporego nakładu mocy obliczeniowej i zużycia prądu.

Rozdział 7. Kryptowaluty i pieniądz wirtualny

111

 Liczba bitcoinów nigdy nie przekroczy 21 milionów. Ilość pieniędzy, które

tworzą węzły, nigdy nie przekroczy określonej stawki. System jest zaprojektowany tak, by w miarę upływu czasu wynagrodzenie peerów malało. Wymusza to presję deflacyjną. Nie musimy się zatem martwić, że nasze pieniądze nieoczekiwanie stracą całą swoją wartość. Regulacją podaży bitcoina zajmują się wyłącznie prawa matematyczne.

Mechanizm funkcjonowania sieci bitcoin Zanim zajmiemy się opisem użytkowania programów do obsługi protokołu bitcoin, wskazane jest prześledzić trasę, jaką pokonują nasze kryptopieniądze, kiedy dokonujemy przelewu. W uproszczony sposób wytłumaczę prawa rządzące światem cyfrowych walut i udowodnię, że bitcoin jest środkiem płatniczym niezwykle bezpiecznym. Całość przedstawiam na rysunku 7.1. Rysunek 7.1. Mechanizm funkcjonowania sieci bitcoin na uproszczonym schemacie

112

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Bloki i podaż bitcoinów Schemat na rysunku 7.1 wymaga kilku wyjaśnień, które temat funkcjonowania sieci bitcoin przybliżą i doprecyzują. Łańcuch bloków jako publiczna historia transakcji istnieje nieprzerwanie od 3 stycznia 2009 roku. W tym dniu utworzony został genesis — pierwszy blok o numerze 0. W trakcie pisania niniejszej publikacji (marzec 2015 roku) łańcuch bloków składał się z 350 tysięcy bloków i zajmował ponad 30 gigabajtów pamięci! Dołączenie każdego nowego bloku z poprawnym hashem powoduje wygenerowanie odpowiedniej stawki bitcoinów dla górnika, który to zrobił. Początkowo stawka wynosiła 50 bitcoinów, ale zmniejsza się ona o połowę co 210 tysięcy nowych bloków, czyli na ogół co około 4 lata. Dzięki temu algorytmowi ostatnie bitcoiny powstaną około 2140 roku, a ich liczba nigdy nie przekroczy 21 milionów (rysunek 7.2). Po tym czasie działalność górników finansowana będzie z prowizji. W systemie bitcoin prowizja to drobna opłata dołączana do przelewu, którą otrzyma pierwszy górnik dokonujący analizy naszej transakcji. Ponadto, im większa będzie prowizja, tym szybciej zrealizowany zostanie nasz przelew. Rysunek 7.2. Orientacyjna ilość bitcoinów w cyrkulacji w okresie do 2033 roku. Dane wyrażone w milionach sztuk

Jeżeli zdarzy się, że hash, który został wygenerowany przez górnika, będzie niepoprawny, pieniądze nie zostaną mu wypłacone. Blok zostanie umieszczony obok głównego łańcucha i zostanie ochrzczony mianem „sieroty”. Dołączanie dalszych bloków do „sierot” i tworzenie przez to łańcuchów „osieroconych” nie przyniesie żadnych korzyści finansowych tak postępującym górnikom. W dzisiejszych czasach trudnienie się „górnictwem” bitcoinów niesie za sobą olbrzymie koszty. O ile dawniej do autoryzacji przelewów wystarczył zwykły komputer biurkowy, o tyle w dzisiejszych czasach wśród górników trwa bez mała „wyścig zbrojeń”. Wykorzystywanie procesorów do „kopania” jest anachronizmem, coraz mniej wydajne okazują się też karty graficzne. Na popularności zyskują ASIC-i — specjalne komputery przystosowane do generowania monet, ich moc podaje się w przetworzonych gigahashach na sekundę (rysunek 7.3). Coraz częściej też górnicy organizują się w kopalnie, by łączyć moc obliczeniową i dzielić zdobytymi nagrodami.

Rozdział 7. Kryptowaluty i pieniądz wirtualny

113

Rysunek 7.3. Przykładowy ASIC. Źródło: Wikimedia Commons. Autor oryginalny: Xiangfu

Kopanie bitcoinów jest zagadnieniem bardziej zaawansowanym i omówiłem wyłącznie jego ogólne reguły. Wszystkich zainteresowanych miningiem odsyłam na stronę: https://en.bitcoin.it/wiki/Mining.

Bezpieczeństwo sieci bitcoin Powyższy sposób dokonywania transakcji jest niezwykle bezpieczny i szybki. Po pierwsze, nie udostępniamy żadnych danych osobowych. Publicznie widoczne elementy konta bitcoin to jego adres i saldo. Po drugie, niebezpieczeństwo, że ktoś wykorzysta drugi raz wysłane już bitcoiny, jest zerowe. W tym celu potencjalny haker musiałby złamać wszystkie hashe bloków, począwszy od aktualnego, a na tym z docelową transakcją kończąc. Ponieważ bloków przybywa, a trudność generowania bitcoinowych hashów nieustannie rośnie, w praktyce złamanie bloków i ich powtórne utworzenie jest niemożliwe. Po trzecie, nie wypełniamy żadnych skomplikowanych formularzy bankowych i nie podpisujemy umów. Każdy może posiadać nieskończoną liczbę kont do obsługi kryptowaluty. Namierzenie tak prowadzonej działalności finansowej graniczy zatem z cudem, zwłaszcza gdy klient „bitmonet” jest skonfigurowany do pracy z Torem… I w końcu po czwarte — cały algorytm waluty jest publicznie dostępny. Ludzie oszukują, prawa matematyczne nie. Dzięki temu właśnie mamy stuprocentową gwarancję, że bitcoin to wynalazek uczciwy, a nie finansowa pułapka gangsterów lub ludzi, którzy lubią dużo wiedzieć. Mimo to wyobraźnia przestępców oswoiła się już z tą kryptowalutą, jej istnieniem i możliwościami…

114

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Ściąganie pierwszego klienta bitcoin Aby zacząć korzystać z bitcoinów, nie musimy wypełniać bankowych formularzy i długich wniosków o rejestrację konta. Aby założyć nasz pierwszy adres, wystarczy, że ściągniemy odpowiedni, otwartoźródłowy i darmowy program. Możemy zainstalować oryginalnego klienta Bitcoin-Qt, jednak nie polecam go ze względu na jego rozmiary i nieporęczność. Do prawidłowego działania Bitcoin-Qt potrzebuje pobrać z internetu całą historię transakcji, począwszy od bloku 0. To nie jest żart! Swojego czasu pewna grupa złośliwców rozpowszechniła wirusa atakującego użytkowników tego klienta. Tak zwany trolling polegał na tym, że program kasował całą historię transakcji bitcoin i zmuszał użytkowników do ściągania paczki trzydziestu gigabajtów danych na nowo. Jeżeli chcemy uniknąć stania się ofiarą tego typu wyrafinowanych żartów, powinniśmy zaopatrzyć się w klienta „lekkiego”, na przykład Electrum. Takie aplikacje nie potrzebują pobierać wszystkich bloków, a jedynie hashe kilku najświeższych, które do łańcucha dołączone zostały niedawno. Chodzi przede wszystkim o autoryzację i pewność, że nie korzystamy z łańcuchów „osieroconych”. Sam Electrum dostępny jest na systemy operacyjne Linux, Windows i OS X na swojej oficjalnej witrynie https://electrum.org/. Jego instalacja nie powinna przysporzyć problemów. Jest wprawdzie możliwość założenia portfela online, na przykład na portalu https://blockchain.info/, ale ta opcja nie do końca jest warta zainteresowania. Najbardziej zaufanym serwerem usług zawsze pozostanie jedynie własny komputer.

Tworzenie konta bitcoin Po zainstalowaniu klienta pojawi nam się okno wstępnej konfiguracji (rysunek 7.4). Zaznaczamy opcję Stwórz nowy portfel, jako typ portfela Standard wallet i postępujemy zgodnie z poleceniami na ekranie. W pewnym momencie pojawi się informacja o wygenerowaniu kilkunastu losowych słów — tzw. seeda ( „ziarna”). Słowa te należy zapamiętać lub zapisać. Przydadzą się w sytuacji, jeżeli będziemy chcieli odzyskać utworzone adresy, na przykład po awarii komputera. Zapamiętajmy także wpisane przez nas hasło do portfela bitcoin. Jeżeli zapomnimy seeda albo hasła, utracimy dostęp do naszych środków płatniczych. Jeżeli konfiguracja przebiegła pomyślnie, komputer wygeneruje dla nas kilka adresów bitcoin, a my zobaczymy okno główne programu (rysunek 7.5). Będzie to pusta historia transakcji. Ponieważ nie dysponujemy żadnymi środkami finansowymi, dobrym pomysłem będzie skorzystanie z listy stron rozdających nieduże sumy bitcoinów za darmo: http:// bitcoiner.net/list. Na większości tych stron wystarczy podać docelowy adres, na który chcemy otrzymać pieniądze. W celu ograniczenia wydawanych pieniędzy nie pozwala się na wypłaty środków częściej niż raz na pół godziny. Większe ilości bitcoinów możemy wylicytować na portalu aukcyjnym eBay lub zakupić na specjalnych giełdach (patrz podsekcja „Profesjonalny handel bitcoinami”).

Rozdział 7. Kryptowaluty i pieniądz wirtualny

115

Rysunek 7.4. Okno konfiguracji programu Electrum

Rysunek 7.5. Okno główne aplikacji Electrum

Listę naszych adresów bitcoin znajdziemy na karcie Addresses (rysunek 7.6). Aby skopiować adres do schowka, wystarczy go zaznaczyć i z menu kontekstowego wybrać opcję Kopiuj do schowka.

116

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 7.6. Lista posiadanych przez nas adresów bitcoin

Odbieranie i nadawanie przelewów Jeżeli ktoś wysłał bitcoiny na jeden z naszych adresów, program Electrum sam wychwyci należną nam płatność i powiększy saldo o odpowiednią ilość środków. Wszystkie zarejestrowane przelewy na nasze konta pokazane są na karcie Historia (rysunek 7.7).

Rysunek 7.7. Rejestr operacji finansowych w programie Electrum

Rozdział 7. Kryptowaluty i pieniądz wirtualny

117

Nadawanie przelewów w bitcoinach jest równie proste, jak ich odbieranie. Aby wysłać pieniądze z danego adresu, musimy przejść na kartę Wyślij (rysunek 7.8). Jak widać, nie przypomina ona zupełnie klasycznego formularza bankowego. W systemie bitcoin nie musimy podawać żadnych osobistych informacji i szczegółowych danych teleadresowych odbiorcy ani autoryzować przelewów kodami SMS. Sam mechanizm transferu cyfrowych monet przypomina raczej wysyłanie wiadomości tekstowych przez system e-mail lub Bitmessage.

Rysunek 7.8. Formularz nowej płatności bitcoin w programie Electrum

Aby wysłać przelew, wystarczy, że podamy identyfikator adresata, kwotę pieniędzy w milibitcoinach (tysięcznych częściach bitcoina) oraz opcjonalną prowizję dla górników. Jeśli pole Prowizja2 zostawimy puste, Electrum ustali stawkę na 0,0005 bitcoina. Jeżeli natomiast zależy nam na szybkości realizacji przelewu, możemy załączyć większą sumę. Kiedy naciśniemy przycisk Wyślij, pojawi się prośba o wpisanie hasła do naszego portfela. Hasło to jest w rzeczywistości tajną frazą do naszego klucza prywatnego, którym podpiszemy i zautoryzujemy transakcję. Resztą natomiast zajmą się pracujący w pocie czoła górnicy (a raczej ich przegrzewające się komputery). Wysłany przez nas przelew pokaże się na karcie Historia, a jedno (lub więcej) z posiadanych przez nas kont zostanie obciążone, w zależności od tego, jakimi środkami na nim dysponujemy, i czy nie jest ono zablokowane (patrz sekcja „Usuwanie adresów bitcoin”).

2

Pole to domyślnie nie występuje. Aby je włączyć, a zachęcam do tego, należy wejść w ustawienia programu przez Narzędzia/Preferencje i zaznaczyć opcję Set transaction fees manually.

118

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Przed wysłaniem przelewu upewnijmy się, że identyfikator adresata jest wpisany poprawnie. Jeżeli pomylimy się choćby o jedną literkę lub cyfrę — to nasze pieniądze przepadną i nie będziemy mogli ich odzyskać. System bitcoin nie umożliwia cofania transakcji.

Przenoszenie i odzyskiwanie adresów Przenoszenie adresów bitcoin lub ich odzyskiwanie jest możliwe na dwa sposoby. Pierwszy z nich to wyeksportowanie i zaimportowanie pliku portfela. Plik portfela zawiera wszystkie informacje o naszych kontach i kluczach kryptograficznych. Aby wyeksportować portfel, z menu Plik wybieramy opcję Zapisz kopię i ustalamy docelowy katalog, w którym utworzymy kopię zapasową. Aby zaimportować istniejący już plik portfela, w menu Plik zaznaczamy Otwórz i wyszukujemy w eksploratorze plik do importu. Drugi sposób to odtworzenie portfela na podstawie seeda. Gdy program Electrum nie znajdzie żadnej konfiguracji (na przykład dlatego, że została usunięta podczas awarii sprzętu), z okna konfiguracyjnego (rysunek 7.4) możemy wybrać opcję Restore a wallet or import keys, a w panelu odzyskiwania wpisać wszystkie słowa seeda, na podstawie którego utworzyliśmy oryginalny portfel. Program sam odtworzy wszystkie adresy oraz klucze prywatne. Innego sposobu na odzyskanie adresu i przechowywanych na koncie pieniędzy nie ma. Jeżeli stracimy permanentnie dostęp do naszego konta, utracimy wszystkie przechowywane na nim pieniądze, bez żadnej możliwości ich odzyskania. O swoim seedzie należy bezwzględnie pamiętać. Warto też tworzyć kopie zapasowe portfela i przechowywać je w bezpiecznych miejscach.

Usuwanie adresów bitcoin Podobnie jak w przypadku kont Bitmessage, konta bitcoin są permanentne. Nie można ich „skasować”, ponieważ nie istnieje centralny urząd rejestrujący adresy. Jeżeli chcemy przestać korzystać z danego konta, możemy je dezaktywować przez zaznaczenie adresu na karcie Odbierz i wybranie z menu kontekstowego opcji Zamróź. Nieaktywne konta można na nowo aktywować przez funkcję Odmróź.

Konfiguracja programu do pracy z Torem Aby skonfigurować program Electrum do pracy przez sieć Tor (i ukryć tym samym prawdziwy adres IP wobec wszystkich użytkowników bitcoinowej sieci peer-to-peer, w tym także górników), należy z menu Narzędzia wybrać opcję Sieć (rysunek 7.9). Przy etykiecie Proxy ustalamy standardową konfigurację bramki proxy Tora (wersja protokołu: SOCKS v.5; adres: 127.0.0.1 lub localhost; port: 9150). Przy takich zabezpieczeniach wszystkie nasze operacje finansowe pozostaną w stu procentach anonimowe.

Rozdział 7. Kryptowaluty i pieniądz wirtualny

119

Rysunek 7.9. Konfiguracja bramki proxy Tora w programie Electrum

Gospodarka i bitcoin Pierwsza zarejestrowana transakcja w bitcoinach została dokonana 12 stycznia 2009 roku i zaszła między Nakamoto a jednym z jego współpracowników. Przez długi czas bitcoin pełnił funkcję nieszkodliwej zabawki dla hakerów i maniaków komputerowych. Była to swojego rodzaju nowinka techniczna i zwykła ciekawostka. Na internetowych forach informatycznych co bardziej zainteresowani prosili o udostępnienie im paruset cyfrowych monet, aby mogli zapoznać się z systemem i odkryć jego możliwości. Pierwsza pełnoprawna sprzedaż bitcoinów odbyła się dopiero 5 października 2009 roku i dotyczyła wymiany 1300 sztuk „bitmonet” za jednego dolara amerykańskiego. Pierwsze wykorzystanie kryptowaluty jako pełnoprawnego środka płatniczego zanotowano w dniu 21 maja 2010 roku, gdy anonimowy internauta pochwalił się kupieniem pizzy za 10 tysięcy bitcoinów. Bitcoin wartość zaczął zyskiwać około połowy 2011 roku, kiedy za jedną sztukę płaciło się po kilka dolarów. Prawdziwy wzrost wartości rynkowej nastąpił w 2013 roku, gdy zainteresowanie alternatywnymi środkami płatniczymi zaczęło rosnąć. Pośredni wpływ miała na to decyzja rządu cypryjskiego o zabraniu części pieniędzy z prywatnych kont bankowych, aby walczyć z kryzysem. W dniach 6 – 8 kwietnia 2013 roku bitcoin osiągnął rekordową wartość 238 dolarów amerykańskich! Niedługo po tej dacie okazało się, że była to zwykła bańka spekulacyjna, która bardzo szybko pękła. Wartość kryptowaluty ustabilizowała się na poziomie około 130 dolarów za sztukę. Następny moment niestabilności tej waluty, który ewidentnie został wywołany spekulacyjnymi działaniami ludzi powiązanych prawdopodobnie

120

Ukryta tożsamość. Jak się obronić przed utratą prywatności

z chińskimi służbami specjalnymi, miał miejsce w listopadzie 2013 roku. Cena jednej „bitmonety” podskoczyła do (uwaga!)… 1151 dolarów. Bańka ta pękła po paru dniach i od tamtej pory kurs bitcoina waha się w przedziale od 400 do 800 dolarów za sztukę (rysunek 7.10).

Rysunek 7.10. Średnia wartość kursu bitcoin w dolarach USA. Dane: Bitstamp, listopad 2012 r. – listopad 2014 r.

Człowiek, który w 2010 roku sprzedał swoją pizzę, dziś byłby milionerem!

Profesjonalny handel bitcoinami Portale aukcyjne to nie jest jedyne miejsce, w którym można nabywać lub sprzedawać kryptowaluty. Najważniejszą rolę w wymianie cyfrowych pieniędzy pełnią specjalnie do tego przygotowane witryny internetowe nazywane giełdami bitcoin. W świecie „realnym” giełda to miejsce, gdzie spotykają się ludzie w celu wymiany pewnych dóbr na inne. Taką funkcję pełni na przykład Giełda Papierów Wartościowych w Warszawie. Na giełdach bitcoinowych nie handluje się jednak akcjami czy obligacjami, ale kryptowalutą. Za pomocą walut, które posiadają centralnego emitenta (dolary, euro, złotówki itd.), możemy nabywać lub sprzedawać określone sumy „bitmonet”, czerpiąc tym samym zyski. Największą światową giełdą bitcoinów jest Bitstamp (https://www.bitstamp.net/). Na polskim rynku przoduje obecnie Bitcurex (https://pln.bitcurex.com/), gdzie możemy płacić między innymi złotówkami. Do dokonywania transakcji na giełdach potrzebujemy założyć specjalne konto, na którym możemy trzymać zarówno waluty tradycyjne, jak i bitcoiny. Doładowanie takiego konta może się odbyć za pomocą klasycznego przelewu bankowego lub transakcji „bitmonet”. Aby zawierać umowy z innymi graczami, wymagane jest posiadanie kapitału początkowego na koncie giełdy.

Rozdział 7. Kryptowaluty i pieniądz wirtualny

121

Granie na giełdzie bitcoinów jest prostsze i mniej skomplikowane niż w przypadku giełd papierów wartościowych. Nie potrzebujemy pośredników, a wszystkich transferów można dokonywać za pomocą laptopa, leżąc wygodnie w łóżku. Wirtualne giełdy nie mają ustalonych czasów otwarcia i zamknięcia. Funkcjonują przez cały czas, przez 365 dni w roku i 24 godziny na dobę. Oferty kupna i sprzedaży można składać o dowolnej porze dnia. Od każdej wykonanej transakcji oraz wypłaty środków giełdy pobierają prowizję (zwykle do 1% wartości transferu). Wysokość takiej opłaty jest zamieszczona w regulaminie giełdy. Sposób funkcjonowania giełdy bitcoinowej obrazuje poniżej przedstawiona wyimaginowana sytuacja rynkowa. Tabela 7.1 ilustruje dostępne publicznie oferty kupna i sprzedaży „bitmonet”. Tabela 7.1. Oferty kupna

Oferty sprzedaży

Ilość bitcoinów

Cena w zł/szt.

Ilość bitcoinów

Cena w zł/szt.

0,1

1500

0,2

1600

0,75

1400

0,25

1700

1,2

1300

0,6

1750

0,005

1200

1

1800

0,05

1100

1,5

1850

0,03

1000

0,4

1900

W powyższej sytuacji możemy złożyć przykładową ofertę kupna 0,25 bitcoina po 1550 złotych za sztukę. Ponieważ nikt ze sprzedających nie oferuje monet za taką cenę, nasze zgłoszenie otrzyma status oczekującego. Transakcja zostanie sfinalizowana, gdy wśród sprzedających pojawi się oferta bitcoinów po 1550 lub mniej złotych za sztukę. Wtedy w sposób automatyczny nabędziemy odpowiednią ilość bitcoinów za cenę wskazaną przez sprzedawcę. Jeżeli nie chcemy czekać, możemy złożyć ofertę kupna 0,2 bitcoina za 1600 złotych i 0,05 bitcoina po 1700 złotych. W ten sposób pierwszy od góry sprzedawca wyczerpie swoją ofertę, natomiast sprzedawcy drugiemu w ofercie pozostanie 0,2 bitcoina. Zasada ta sprowadza się do tego, że jeżeli chcemy kupić bitcoiny, musi znaleźć się sprzedawca, który zaoferuje pieniądze po cenie równej lub niższej. Analogicznie sytuacja ma się w przypadku ofert sprzedaży. Jeżeli chcemy coś sprzedać, na giełdzie musi pojawić się osoba oferująca cenę równą lub wyższą. Przykład ten ilustruje również wahania średniej ceny bitcoina i ustalanie poziomu równowagi na rynku. Jeżeli kupujących będzie przybywać, a ilość sprzedających pozostanie taka sama, cena zacznie się podnosić, ponieważ sprzedawcy będą dążyć do maksymalizacji zysku, a oferty sprzedaży po niskiej cenie zostaną wyczerpane. Niesie to za sobą ryzyko powstawania niebezpiecznej bańki spekulacyjnej. Może ona łatwo pęknąć, gdy kupujący zrezygnują z kupowania drogich monet i wymuszą zbijanie ich ceny przez składanie ofert o niskiej wartości. Największe bańki spekulacyjne miały miejsce w lipcu 2011 roku, kwietniu 2013 roku i listopadzie 2013 roku (rysunek 7.10).

122

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Gdzie kupować za bitcoiny? Coraz więcej sklepów internetowych umożliwia nabywanie towaru i usług za pośrednictwem „bitmonet”. Pod koniec 2013 roku w globalnej sieci istniało ponad 35 tysięcy podmiotów akceptujących płatności w kryptowalutach. Pod adresem https://spendbitcoins. com/places/ znajduje się ich stale aktualizowana lista. Polskie sklepy akceptujące płatności w bitcoinach znajdują się w katalogu pod adresem: http://bitcoin.pl/linki. Wśród wielkich firm, które zwracają uwagę na rewolucyjne metody płatności, znajdują się między innymi: Atomic Mail, Clearly Canadian, Virgin Galactic czy Dell. W lipcu 2014 roku kierownictwo systemu płatności PayPal podjęło starania o integrację usługi z systemem bitcoin. Gdyby udało się połączyć obie technologie, popularność kryptowaluty osiągnęłaby wówczas niewyobrażalny poziom. Wizja płacenia „bitmonetami” za wszystkie aukcje na eBayu brzmi niezwykle interesująco. Bitcoin zyskuje popularność w świecie „realnym”. W wielu sklepach na całym globie możemy płacić bitcoinami, o ile dysponujemy telefonem komórkowym z aplikacją mobilną z portfelem i czytnikiem kodów QR. W państwach zachodnich sklepy i punkty obsługujące „bitmonety” są bardzo rozpowszechnione. Świadczy o tym udany eksperyment przeprowadzony przez dziennikarkę magazynu „Forbes”, Kashmir Hill, w maju 2013 roku. Przez jeden tydzień za wszystkie nabyte dobra i usługi dziennikarka starała się płacić wyłącznie kryptowalutą. Okazało się, że w San Francisco, miejscu jej zamieszkania, znalazła wystarczająco dużo sklepów, restauracji i punktów usługowych, w których może dokonać transakcji „bitmonetami” i nabyć tym samym potrzebne rzeczy. Była to jednak przygoda badawcza nieco droga — za wszystko zapłaciła około 4,85 bitcoina, co w owym czasie stanowiło równowartość około 500 dolarów amerykańskich. Warto jednak pamiętać, że w miarę zyskiwania popularności przez ten rewolucyjny środek płatniczy ceny wyrażone w bitcoinach będą się obniżać. Jako ciekawostkę warto dodać, że pod koniec 2013 roku Uniwersytet w Nikozji (Cypr) umożliwił studentom płacenie czesnego właśnie w bitcoinach. W Warszawie natomiast od 12 maja 2014 roku istnieje „Ambasada Bitcoin” (rysunek 7.11), w której możemy handlować cyfrowymi monetami i uzyskać fachową pomoc techniczną w zakresie obsługi systemu. Rysunek 7.11. Ambasada Bitcoin w Warszawie

Rozdział 7. Kryptowaluty i pieniądz wirtualny

123

Wprawdzie Polska Komisja Nadzoru Finansowego nie zaleca transakcji w kryptowalutach, ale w maju 2014 roku w Warszawie pojawił się pierwszy w Polsce „bitcoinmat”. Można w nim kupować bitcoiny według kursu obowiązującego na giełdzie Bitstamp. Według doniesień medialnych do końca 2014 roku zaplanowano oddanie do użytku publicznego jeszcze kilkudziesięciu urządzeń tego typu. Czytelników niniejszego tekstu należy ostrzec, że bitcoin dzięki swojej kosmopolitycznej i anonimizującej naturze jest także podstawową i najszerzej stosowaną walutą w darknecie. Większość ukrytych witryn w sieci Tor umożliwia przeprowadzanie płatności w „bitmonetach”. Ponieważ stosowanie bitcoina pozwala uniknąć kontroli finansowej przez banki, cyfrowe monety są chętnie wykorzystywane przez przestępców na portalach poświęconych handlowi bronią lub narkotykami. W „cebulkowej” sieci istnieją ponadto specjalne pralnie bitcoinów, dzięki którym można ukryć źródło pochodzenia monet.

Sytuacja prawna bitcoina Wzrost popularności kryptowaluty spotkał się z mieszanymi reakcjami rządów państw. Wiele z nich wydało specjalne oświadczenia o stosunku do bitcoina. W większości krajów posiadanie kryptowalut i obracanie nimi jest legalne, niektóre stosują ograniczenia, w innych posiadanie takich walut zostało zakazane. Legalność bitcoina na świecie (dane na marzec 2015 roku) obrazuje mapka na rysunku 7.12.

Rysunek 7.12. Legalność bitcoina na świecie. Źródło: Wikimedia Commons. Autor oryginalny: Habarithor. Kolor szary — waluta legalna; poziome paski — waluta legalna z ograniczeniami; kolor czarny — waluta zakazana całkowicie

Polskie prawo nie zakazuje używania bitcoinów. Ministerstwo Finansów oznajmiło jednak, że chociaż „bitmonety” pozostają legalne, nie są uznawane za pełnoprawną walutę lub inny instrument finansowy. Sprzedaż bitcoinów zgodnie z ustawą o podatku dochodowym od osób fizycznych należy potraktować jako uzyskanie przychodu na takiej samej zasadzie jak przy zbywaniu praw majątkowych. Stwierdził to przedstawiciel

124

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Ministerstwa Finansów na konferencji organizowanej przez Szkołę Główną Handlową w Warszawie. Oznajmił również, że ta decyzja jest tymczasowa. Ministerstwo oczekuje na decyzje innych państw Unii Europejskiej.

Inne kryptowaluty Oprócz szeroko omawianego bitcoina istnieje wiele kryptowalut, które powstały w oparciu o oryginalne zasady stworzone przez Nakamoto. Drugą najbardziej rozpowszechnioną cyfrową walutą jest litecoin. Do ważnych kryptowalut należą także namecoin, który dodatkowo pełni funkcję rozproszonego i zdecentralizowanego DNS-u (Domain Name System, system nazw domenowych3), czy peercoin. Nie można także zapominać o żartobliwej walucie dogecoin, której głównym motywem jest popularny mem internetowy — „pieseł” (doge). Szacuje się, że na całym świecie istnieje ponad 300 różnych kryptowalut opartych na zdecentralizowanej architekturze P2P i otwartym kodzie źródłowym. Rynek wszystkich kryptowalut jest wart ponad 8 miliardów dolarów amerykańskich. Liczba ta wiele mówi. Nie można wykluczyć, że cyfrowe, bezpaństwowe waluty w zdigitalizowanym świecie mogą stać się przyszłością globalnej gospodarki.

3

DNS to specjalny serwer, który komputer wykorzystuje do „tłumaczenia” przyjaznych użytkownikowi nazw domen na zrozumiałe dla protokołów adresy IP. Dla przykładu, dzięki DNS-owi nie musimy łączyć się z witryną http://213.180.148.148/, ale możemy z http://www.onet.pl/.

Rozdział 8.

Bezpieczeństwo dysków i partycji dyskowych W rozdziale 4. była mowa o współczesnych algorytmach szyfrujących i programie GNU Privacy Guard. Jedną z jego podstawowych możliwości jest zdolność do szyfrowania dowolnego pliku i jego konwersji na niezrozumiały dla człowieka szyfrogram. Odczytanie takiego szyfrogramu wymaga posiadania odpowiedniego kryptograficznego klucza prywatnego. Niniejszy rozdział traktuje o metodach szyfrowania nie tylko pojedynczych plików czy folderów, lecz także całych dysków i partycji dyskowych. Umiejętność stworzenia całkowicie bezpiecznego woluminu przydaje się w wielu sytuacjach. Przede wszystkim uniemożliwimy dostęp do naszych danych osobom nieupoważnionym. Uzyskanie dostępu do zaszyfrowanej partycji-woluminu każdorazowo wymaga podania ustalonego przez nas hasła. Jest to doskonałe zabezpieczenie nie tylko przed pospolitymi złodziejami, lecz także przed hakerami i cyberwłamywaczami. Na zaszyfrowanych partycjach możemy trzymać wszystkie najbardziej wrażliwe dane: dokumenty urzędowe, rachunki, korespondencję służbową, osobistą, czy chociażby portfele bitcoin, ale bez konieczności każdorazowego szyfrowania pliku. Jest to wygodne szczególnie dla osób, których zawody wymagają zachowania poufności swoich danych na co dzień — dziennikarzy, polityków, handlowców czy pracowników służb specjalnych.

Po co szyfrować dyski i partycje? Wyobraźmy sobie następujące sytuacje:  Redakcja wysokonakładowego czasopisma o tematyce społeczno-politycznej.

Dzielny zespół dziennikarzy śledczych wszedł w posiadanie dokumentów lub nagrań, które mogą skompromitować działania urzędników państwowych. W każdej chwili można spodziewać się interwencji służb specjalnych, a to mogłoby

126

Ukryta tożsamość. Jak się obronić przed utratą prywatności

postawić pod znakiem zapytania prawo do poufności źródeł pozyskanych informacji. Istnieje uzasadniona obawa, że ktoś bez naszej wiedzy, a zwłaszcza zgody, zechce przeszukać zawartość redakcyjnych komputerów.  Wakacje pod palmami. Okolica nie jest bezpieczna i na porządku dziennym

są włamania do pokoi hotelowych. Nasz laptop to raczej zły kompan podczas wieczornej imprezy w barze, w którym serwuje się wieloskładnikowe „liryczne” drinki z wetkniętą parasolką. W sejfie komputer się nie zmieści, a personel twierdzi, że hotelowa przechowalnia bagaży jest równie niebezpieczna. Czasami od sprzętu ważniejsza jest zawartość jego pamięci.  Nośniki pamięci USB uwielbiają zabawę w chowanego. Zwłaszcza służbowe.

Dostęp do naszego nośnika i jego zawartości nie powinien być powszechny.  Sensacyjny thriller: NSA wpuściła w sieć groźnego trojana. Jego celem jest

zbieranie informacji o zawartości dysków w sprzęcie komputerowym internautów. Jak powszechnie wiadomo, Amerykanie w kwestii bezpieczeństwa są paranoikami i wszędzie dopatrują się przejawów terroryzmu. Przeciętny internauta, który jest wykształcony i na wiele tematów ma swoje zdanie, dzieli się swoimi przemyśleniami z przyjaciółmi w e-mailach. Czujni agenci przypinają mu łatkę „radykała”. Internauta nie przewidział, że jego zdanie może się nie spodobać ludziom z drugiego końca świata, którzy mają swobodny dostęp do jego danych i całkiem inną wizję otaczającej ich rzeczywistości. We wszystkich powyższych sytuacjach szyfrowanie dysków i partycji to najlepsze rozwiązanie. Nie narażamy się na utratę danych. Wszystkie informacje, nawet pojedynczy bit, zostaną zaszyfrowane. Nie musimy ręcznie wyszukiwać wszystkich poufnych plików i za każdym razem szyfrować ich za pomocą GPG. Pełne szyfrowanie jest szybsze i wygodniejsze, jeżeli musimy zabezpieczyć dużą ilość danych za jednym razem. Samo korzystanie z zabezpieczonych dysków i partycji jest bardzo proste i w zasadzie sprowadza się do trzech posunięć: krok 1 — odblokowanie obszaru dysku hasłem, krok 2 — swobodny dostęp i możliwość dokonywania zmian, krok 3 — ponowna blokada dysku.

Linux gwarantem bezpieczeństwa Windows i OS X to produkty komercyjne i oparto je na zamkniętym kodzie źródłowym. Posiadają potencjalne luki w bezpieczeństwie systemowym. Nie dysponują również wbudowanymi profesjonalnymi menedżerami dysków. Z tego powodu trudno polecać stosowanie produktów Microsoftu i Apple’a do partycjonowania i szyfrowania obszarów dysku. Znacznie wygodniejszy i bardziej profesjonalny okaże się Linux lub BSD, niekoniecznie instalowane na dysku twardym. Zarządzanie partycjami głównego nośnika i nośników wymiennych może bezproblemowo odbywać się przez płytę CD/DVD lub pamięć USB z linuksową dystrybucją live. Jeżeli jednak z racji wykonywanego zawodu potrzebujemy bezwarunkowego bezpieczeństwa danych na komputerze, to dla swojego dobra musimy się zastanowić nad przejściem na system otwartoźródłowy (patrz rozdział 2.).

Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych

127

Część bardziej doświadczonych użytkowników szyfrowanie dysków kojarzy z programem TrueCrypt. Niestety, mimo uniwersalności oraz profesjonalizmu tego programu jego twórcy w maju 2014 roku w tajemniczy sposób wstrzymali prace nad projektem i ogłosili, że aplikacja „nie jest już bezpieczna”. Jako alternatywę wskazali między innymi Microsoftowski BitLocker dla systemów Windows. Jest to dosyć ciekawe posunięcie, zwłaszcza że Microsoft to część projektu PRISM, a twórca BitLockera już w 2005 roku ze strony NSA otrzymał uprzejmą prośbę o podłączenie szpiegującego backdoora do kodu programu. Po upadku TrueCrypta w zasadzie nie istnieją porządne i łatwe w swojej obsłudze programy na systemy Microsoftu i Apple’a.

Jak funkcjonują dyski i partycje? Zanim przejdę do opisu możliwości zaszyfrowania dysków, chciałbym zwrócić szczególną uwagę na wyjaśnienie kilku istotnych pojęć. Każdy z nas dysponuje dyskiem twardym, a wielu dysponuje dyskami wymiennymi, na przykład pamięciami USB. Niezależnie od tego, czego używamy, mamy do czynienia z pamięcią masową, czyli trwałą. W odróżnieniu od pamięci operacyjnej RAM, pamięć masowa nie ulegnie wyczyszczeniu po wyłączeniu komputera. Każdy dysk pamięci masowej można podzielić na partycje, czyli obszary obejmujące określoną liczbę bitów pamięci i rozlokowane obok siebie. Partycje pełnią funkcję wielu wirtualnych dysków w ramach jednego fizycznego. Każda z partycji dysponuje własnym systemem plików. Oznacza to, że na każdej partycji pliki mogą być organizowane w różny sposób i w różny sposób można zbierać o nich informacje. Dzięki temu na jednym dysku twardym możemy posiadać dwa lub więcej systemów operacyjnych, na przykład Windowsa oraz Linuksa. Główny dysk twardy wymaga ponadto specjalnej partycji z programem rozruchowym (boot loader), która umożliwi ogólne uruchomienie komputera pod wskazanym systemem operacyjnym. Na rysunku 8.1 zamieszczony jest schemat podziału przykładowego dysku twardego.

Rysunek 8.1. Przykładowy podział dysku twardego na partycje

W powyższym przykładzie partycja sda1 zawiera boot loadera. Następne dwie — sda2 i sda3 — służą do obsługi systemu Windows 7. Sda2 zawiera alternatywnego boot loadera, zintegrowanego z produktem Microsoftu. Trzy ostatnie partycje, tj. sda4, sda5 i sda6, obsługuje Linux, przy czym sam system obejmuje wyłącznie sda5. Sda6 pełni funkcję katalogu osobistego, na którym trzymamy potrzebne nam dokumenty i pliki (na przykład zdjęcia, programy, wiadomości e-mail), natomiast sda4 to tzw. partycja wymiany. Jeżeli pamięć operacyjna RAM jest przepełniona, nasz Linux może tymczasowo zapisywać dodatkowe dane właśnie na partycji swap.

128

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Partycji na dysku twardym jest aż sześć. Daleki od informatycznego profesjonalizmu system Windows cztery z nich (bez sda1 i sda2) uzna za osobne dyski i dlatego w oknie Komputer zobaczymy cztery nośniki (rysunek 8.2), z czego tylko jeden możemy przeglądać. Nietrudno się domyślić, że chodzi o sda3 — „rzeczywisty” dysk C:.

Rysunek 8.2. Partycje sda3, sda4, sda5 i sda6 (rysunek 8.1) widziane z poziomu systemu Windows jako oddzielne dyski

Niniejszy rozdział zobrazuje, jak w prosty sposób można wydzielić partycję, zaszyfrować ją oraz przetrzymywać w niej pliki, które chcemy trwale zabezpieczyć. Cały schemat postępowania omówię na przykładzie pamięci USB o teoretycznym rozmiarze 2 gigabajty. Czynności związane z dyskami twardymi wyglądają dokładnie tak samo, należy jednak uważać, by nasza działalność nie naruszyła integralności partycji z boot loaderem lub katalogiem root. No, chyba że chcemy mniej lub bardziej umyślnie zablokować sobie cały komputer.

Partycjonowanie dysków Partycjonowanie to proces zarządzania obszarami pamięci w ramach konkretnego dysku. Możemy wydzielać partycje, usuwać je, zmieniać ich rozmiary, kolejność i obsługiwane przez nie systemy plików. W większości dystrybucji Linuksa zajmuje się tym

Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych

129

program GParted (środowisko GNOME) lub KDE Partition Manager (środowisko KDE). W dystrybucji openSUSE zarządzanie partycjami odbywa się przez program YaST2 i panel Partycjonowanie (rysunek 8.3).

Rysunek 8.3. Okno zarządzania partycjami w systemie openSUSE

Widoczny na rysunku 8.3 wymienny dysk /dev/sdb zawiera jedną partycję /dev/sdb1, która obejmuje całą faktyczną przestrzeń pamięci USB (1,88 gigabajta). Chcemy, aby na owym dysku znalazła się druga partycja, którą później zaszyfrujemy. W pierwszej kolejności musimy zmniejszyć obszar podstawowej partycji (na przykład do 1 gigabajta). W programie YaST2 możemy to zrobić po zaznaczeniu partycji /dev/sdb1 w oknie wywołanym przez przycisk Zmień rozmiar… (rysunek 8.4). Jeżeli pojawi się prośba o odmontowanie partycji i systemu plików, to musimy ją zaakceptować. Rysunek 8.4. Okno zmiany rozmiaru partycji (openSUSE)

130

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Następnym krokiem będzie dodanie drugiej partycji w obrębie pamięci USB. W YaST2 robimy to przez wybranie dysku wymiennego z listy i naciśnięcie przycisku Dodaj partycję…. W konfiguracji zostaniemy poproszeni o wybranie typu partycji — zalecam tu opcję Podstawowa. Następną czynnością będzie ustalenie ilości pamięci alokowanej do danego obszaru. Jeżeli nie będziemy tworzyć żadnych innych partycji, możemy wypełnić całą dostępną przestrzeń. W trakcie formatowania partycji (rysunek 8.5) warto zdecydować się na wybór odpowiedniego systemu plików. Linux używa domyślnie systemu ext4 (a także ext3 i ext2), zatem powinniśmy wybrać ten właśnie, jeżeli partycjonujemy dysk twardy. Pamięć USB korzysta zazwyczaj z uniwersalnego systemu FAT. System Windows operuje na FAT i NFTS. Weźmy to pod uwagę, gdy partycjonujemy (a potem szyfrujemy) obszary do odczytania przez Windowsa. YaST2 umożliwia natychmiastowe zaszyfrowanie partycji, jednak omówię to później. Opisany poniżej sposób jest uniwersalny i działa na wszystkich systemach Linux oraz dystrybucji DragonFlyBSD. Rysunek 8.5. Okno formatowania partycji (openSUSE)

Czas na szyfrowanie Systemy z rodziny Linux (oraz DragonFlyBSD) dysponują własnymi, otwartoźródłowymi narzędziami do szyfrowania dysków. Wykorzystamy do tego celu programy cryptsetup oraz LUKS. W razie ich braku możemy je ściągnąć z repozytorium naszej dystrybucji. Ponieważ programy te nie posiadają nakładek graficznych, będziemy zmuszeni do zaprzyjaźnienia się ze środowiskiem tekstowym konsoli. Uruchamiamy terminal i włączamy tryb administratorski za pomocą polecenia su

Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych

131

i podania hasła użytkownika root. Nasza partycja na pamięci USB znajduje się pod adresem /dev/sdb2. Z tego powodu wpisujemy polecenie: cryptsetup -y luksFormat /dev/sdb2

W pierwszej kolejności musimy sformatować partycję, czyli usunąć z niej wszystkie dane. Formatowanie potwierdzamy komendą YES. W następnej kolejności program poprosi nas o hasło zabezpieczające. Hasło to należy zapamiętać i na wszelki wypadek zapisać w miejscu, do którego zaglądać boi się nawet diabeł. Następnym krokiem będzie zmapowanie urządzenia, to znaczy utworzenie jego obrazu w postaci pojedynczego pliku na dysku twardym: cryptsetup luksOpen /dev/sdb2 tajne

Frazę tajne możemy „utajnić” i zastąpić inną nazwą, na przykład grzybkiwoccie. Pozostaje to bez znaczenia. W razie konieczności polecenie potwierdzamy hasłem. Aby zaszyfrowaną część pamięci USB dało się odczytać, w naszym urządzeniu powinniśmy dodatkowo umieścić stosowny system plików. Jeżeli chcemy, by dysk był dostępny również dla systemów Windows, wybierzmy system FAT. Proponuję jednak wykorzystać najpopularniejszy linuksowy system, czyli ext4: mkfs.ext4 /dev/mapper/tajne

Użyliśmy /dev/mapper/tajne zamiast /dev/sdb2, ponieważ pod pierwszym adresem kryje się mapa urządzenia. W tym momencie do pamięci możemy się dostać wyłącznie przez mapę. Po nadaniu partycji systemu plików jesteśmy wreszcie gotowi do używania zaszyfrowanego obszaru dysku USB na dowolnym komputerze, bez ryzyka naruszenia tajności danych!

Dostęp do zaszyfrowanej partycji Kiedy dysk znajduje się w komputerze, system powinien wykryć automatycznie dwie partycje — zaszyfrowaną i niezabezpieczoną. Jeżeli chcemy się dostać do sdb2, środowisko poprosi nas o wpisanie hasła (rysunek 8.6). Rysunek 8.6. Prośba o wpisanie hasła do zabezpieczonej partycji — środowisko KDE

132

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Jeżeli tak się nie stało lub mamy jakieś problemy, powinniśmy skorzystać z terminala: cryptsetup luksOpen /dev/sdb2 tajne mount /dev/mapper/tajne /miejsce/montowania

W pierwszej linijce nakazujemy otwarcie zaszyfrowanej partycji — program poprosi nas o hasło. Drugie polecenie to polecenie zamontowania partycji — umożliwi nam odczyt i zapis na niej danych. Frazę /miejsce/montowania możemy zastąpić dowolnym istniejącym katalogiem. Wybór miejsca zamontowania partycji nie ma większego znaczenia. Po odblokowaniu partycji (przez eksplorator lub terminal) mamy do niej swobodny dostęp, a zawarte na niej pliki możemy zapisywać i odczytywać. Aby uniemożliwić dostęp do partycji, klikamy na przycisk Odmontuj w eksploratorze plików lub stosujemy tekstowe polecenia: umount /dev/mapper/tajne cryptsetup luksClose tajne

Pierwsze polecenie to polecenie odmontowania partycji, a drugie — zamknięcia mapy i ponownego zaszyfrowania. Jeżeli do zabezpieczonego obszaru pamięci chcemy dostać się przez system Windows, polecam skorzystać z nieco starej otwartoźródłowej aplikacji FreeOTFE. Obsługuje ona między innymi partycje zabezpieczone przy pomocy cryptsetupa i LUKS-a.

Szyfrowanie partycji domowej Linuksa Zdarza się często, że nasz komputer służy zarówno sprawom prywatnym, jak i służbowym. Aby chronić naszą korespondencję i kontakty w sposób ciągły, ale też by cała nasza linuksowa partycja domowa home (w przykładzie z rysunku 8.1 będzie to /dev/sda6) została również zabezpieczona, możemy zastosować tę samą regułę i wykonać analogiczne polecenia. Zanim przystąpimy do opisanych niżej czynności, należy utworzyć zapasową kopię danych partycji home.

Formatowanie dysku (przypominam o bezwzględnej konieczności pamiętania utworzonego hasła!): cryptsetup -y luksFormat /dev/sda6

Utworzenie jego mapy: cryptsetup luksOpen /dev/sda6 home

Nadanie systemu plików: mkfs.ext4 -m 0 /dev/mapper/home

Rozdział 8. Bezpieczeństwo dysków i partycji dyskowych

133

Po takim działaniu za każdym razem, gdy uruchamiamy komputer i chcemy dostać się do zasobów dysku, musimy za pomocą hasła zamontować partycję home: cryptsetup -y luksOpen /dev/sda6 mount /dev/mapper/home /miejsce/montowania

Jeżeli tymczasowo przestaniemy korzystać z komputera, można dokonać bezpiecznego demontażu: umount /dev/mapper/home cryptsetup luksClose home

No i tyle. Możemy być pewni, że żadne dane z naszego komputera nie zostaną wykradzione!

Bezpieczeństwo szyfrowania Program cryptsetup wykorzystuje domyślnie algorytm AES z użyciem losowego 256bitowego klucza kryptograficznego. Obecnie jest to raczej wystarczające zabezpieczenie danych. Stosują je dziennikarze, handlowcy i politycy na całym świecie. W 2009 roku algorytm i wszystkie możliwe metody ataków zostały przeanalizowane przez amerykańską NSA. Stwierdzono, że AES można bez kłopotu i większego ryzyka wykorzystać do zabezpieczania informacji nietajnych przez organy rządu USA. Do 2009 roku algorytmu tego używano także do szyfrowania dokumentów ściśle tajnych. Szyfrowanie dysków sprawdza się w praktyce. Przykłady sytuacji, które omówiłem w sekcji „Po co szyfrować dyski i partycje?”, nie są do końca fikcją. W czerwcu 2014 roku w Polsce miała miejsce tzw. „afera podsłuchowa”. Redakcja znanego tygodnika opublikowała tajne nagrania prywatnych rozmów ważnych polityków i decydentów w państwie. Spotkało się to z reakcją służb specjalnych. Siedzibę gazety zajęli funkcjonariusze ABW i próbowali dostać się do komputerów dziennikarzy. Nie udało im się to. Szczerze mówiąc, wątpię, że wynikało to z braku umiejętności obsługi sprzętu Apple’a. OS X to jeden z najprostszych w budowie systemów operacyjnych, podobnie zresztą jak same komputery Mac. Rzeczywistym powodem mogło być właśnie szyfrowanie dysków przez dziennikarzy. Sam redaktor naczelny owego tygodnika twierdził (być może pod wpływem stresu), że redakcja nigdy nie szyfrowała dysków. Byłby to jednak niewybaczalny błąd, który naraziłby niejawne źródła informacji na niebezpieczeństwo zdemaskowania. Prawo polskie, tak samo jak w przypadku GPG, nie wymaga, byśmy podawali hasła do zaszyfrowanych dysków i partycji. Wynika to z tych samych przepisów — jeżeli uważamy, że na komputerze znajduje się materiał nas obciążający, możemy uchylić się od podania hasła. Nie ma obowiązku dostarczania dowodów na swoją niekorzyść. Inne przepisy funkcjonują na przykład w Wielkiej Brytanii, w której udostępnianie zasobów komputera jest obowiązkiem.

134

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 9.

Mission Impossible. Bezpieczeństwo mobilne Wzmocnienie ochrony urządzeń mobilnych takich jak tablety i smartfony to zadanie niezwykle trudne. Urządzenie dotykowe nie jest przecież tradycyjnym komputerem. W przypadku klasycznego peceta możemy wymieniać pojedyncze komponenty, dokładać pamięć operacyjną i niemal swobodnie ingerować w partycje na dysku. Instalacja Linuksa lub BSD nie sprawi większych problemów, nawet jeżeli nie jesteśmy specjalistami z zakresu informatyki. Smartfony i tablety są inne. W przytłaczającej większości urządzeń nie mamy wglądu do oprogramowania, a instalacja bezpiecznego software’u wymaga pokonania blokad nałożonych przez producenta. Coraz częściej zdarza się, że użytkownik nie ma nawet możliwości własnoręcznej wymiany baterii. Szkoda słów i wyjaśnień, po co to wszystko i dlaczego prawdopodobnie nie będzie lepiej. Do tego wszystkiego dochodzi szkodliwa działalność operatorów komórkowych oraz nasłuchy prowadzone przez NSA i inne służby na całym świecie. Na to z kolei nie ma już żadnych lekarstw — tak jest i będzie, trzeba po prostu albo być sprytnym, albo zrezygnować z połączeń telefonicznych na korzyść szyfrowanej transmisji danych przez internet.

Mobilne systemy operacyjne Rynek klasycznych pecetów jest zdominowany przez programy operacyjne firmy Microsoft. Kilka procent udziałów przypada na systemy Linux i OS X. Sytuacja urządzeń mobilnych wygląda znacznie ciekawiej. Według badań firmy Net Applications z lutego 2015 roku najpopularniejszym systemem operacyjnym jest Google Android (46%), ale zaraz za nim plasuje się Apple’owski iOS (42%). Kolejne, niszowe systemy to odpowiednio Java ME, Symbian, Windows Phone i BlackBerry. Łączny ich udział nie przekracza 12% software’u urządzeń mobilnych.

136

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Strzeż się jabłek z Krzemowej Doliny! Analiza oferty firmy Apple przywodzi na myśl słowa Laokoona, jednej z postaci, która występuje w eposie Eneida. Wypowiedział je na widok drewnianego konia pozostawionego na opuszczonym przez Greków brzegu morza. Quidquid id est, timeo Danaos et dona ferentes — „Czymkolwiek to jest, lękam się Danaów, nawet gdy składają dary”. System operacyjny Apple’a należy zdecydowanie traktować nieufnie. Po pierwsze, działa jedynie na fabrycznych urządzeniach tej firmy — iPhone’ach, iPodach touch i iPadach. Po drugie, nie możemy spersonalizować naszego systemu. Nie ma w nim takich podstawowych narzędzi jak profesjonalny menedżer procesów, podgląd zużycia zasobów systemowych; nie można nawet legalnie instalować programów ze źródeł innych niż App Store. To jednak nie wszystko. Jonathan Zdziarski, amerykański specjalista w zakresie urządzeń firmy z nadgryzionym jabłkiem w logo, w lipcu 2014 roku przeprowadził badania na temat bezpieczeństwa mobilnych urządzeń działających pod iOS-em. Okazało się, że wszystkie produkty Apple’a zawierają backdoora fabrycznie wbudowanego przez koncern. Gdy włączamy telefon lub tablet i wpisujemy hasło znoszące blokadę dostępu, dane użytkownika w pamięci urządzenia zostają rozszyfrowane i można z nich korzystać swobodnie. Wydaje się to oczywiście naturalne. Mały haczyk tkwi w tym, że nasze dane pozostają jawne przez cały czas, aż do chwili wyłączenia sprzętu! Lukę tę wykorzystują wmontowane przez Apple’a dyskretne usługi. Zdziarski odkrył istnienie przynajmniej kilku takich usług. Służą one między innymi do przechwytywania wychodzącego i wchodzącego ruchu sieciowego lub tworzenia niezaszyfrowanej kopii danych. Dane, takie jak lista zainstalowanych programów, konta Facebooka lub Twittera, książka kontaktów, lista wysłanych SMS-ów, metadane wiadomości e-mail, logi z nawigacji GPS, kalendarze, notatki, a nawet zdjęcia z albumu, mogą bez najmniejszego problemu znaleźć się w bazach danych Apple’a. A z baz Apple’a do baz NSA jest już tylko o rzut beretem… (rysunek 9.1). Co ciekawe, backdoor nie jest żadną pozostałością po dawnych programach lub zastrzykiem wprowadzonym przez służby specjalne. Po analizie różnych urządzeń Zdziarski doszedł do wniosku, że Apple doskonali oprogramowanie szpiegowskie i nieustannie wzbogaca je o nowe funkcje.

Bezpieczny system operacyjny Spośród wszystkich wymienionych systemów najbezpieczniejszym jest Android. Szokujące? Jak to? Google’owski produkt jest najbezpieczniejszym systemem operacyjnym? A co z backdoorami, z wtyczkami szpiegowskimi, z mnóstwem programów, które zbierają dane? Zgoda, ale Android dysponuje bardzo ważną cechą, której ani Windows Phone, ani tym bardziej iOS nie posiadają. Chodzi o otwartoźródłowość. Android to jedyny tak upowszechniony system operacyjny, który powstał na zasadach open source. Jego bazowym jądrem jest… Linux. To prawda, że podstawowy Android jest dosłownie naszpikowany oprogramowaniem szpiegowskim. Ponieważ jednak dysponuje

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

137

Rysunek 9.1. Program DROPOUTJEEP autorstwa NSA. Proces pozyskiwania danych z iPhone’ów i innych urządzeń Apple’a

otwartym kodem źródłowym, nic nie stoi na przeszkodzie, by powstały stosowne przeróbki, które pozbawione są niebezpiecznych dodatków. Dwie najpopularniejsze dystrybucje Androida, wolne od macek Google’a, to CyanogenMod i Replicant. Osobiście mogę polecić pierwszy z nich, a to ze względu na jego większą kompatybilność. CyanogenMod oficjalnie obsługuje ponad sto urządzeń mobilnych różnych producentów. Istnieją też dziesiątki innych, nieoficjalnych portów tego niezwykłego systemu. Listę wspieranych smartfonów i tabletów, a także szczegółowe opisy instalacji software’u na wymienionych urządzeniach znajdziemy w witrynie http://www. cyanogenmod.org/. Ze względu na różnorodność na rynku produktów czynności, które będzie trzeba wykonać, są zróżnicowane, choć zwykle całość sprowadza się do podłączenia sprzętu do komputera PC, odblokowania fabrycznego boot loadera i zdalnej instalacji pakietu z systemem operacyjnym. Przed przystąpieniem do zmiany systemu warto jednak zrobić kopię zapasową danych na karcie SD.

138

Ukryta tożsamość. Jak się obronić przed utratą prywatności

CyanogenMod oferuje kilka możliwości, które nie są dostępne w klasycznym Androidzie. Zawiera na przykład natywne wsparcie dla różnych motywów systemowych, menedżera uprawnień poszczególnych aplikacji, czy nawet możliwość dostrajania procesora. Poszczególne wersje są również dobrze zoptymalizowane do pracy pod konkretnym urządzeniem. Moja stara Sony Xperia J nigdy nie śmigała tak szybko jak pod CyanogenModem! Największą zaletą tego systemu operacyjnego jest oczywiście kompatybilność z oryginałem. Aż 95% tego, co zadziała na Androidzie, uda się uruchomić w jego niezawisłym odpowiedniku. Wygląd systemu operacyjnego i jego obsługa przypomina klasyczny produkt Google (rysunek 9.2). Rysunek 9.2. CyanogenMod — całkowicie wolna dystrybucja Androida

Bezpieczeństwo systemu operacyjnego Wybór systemu operacyjnego dla osobistego sprzętu elektronicznego jest podstawową rzeczą, która warunkuje prywatność. Dotyczy to nie tylko sfery komputerów osobistych, lecz także telefonów komórkowych. Metoda, dzięki której zadbamy o swoją prywatność w sieci telefonii mobilnej, nie jest skomplikowana. Wszelkie czynności, które należy wykonać, zostaną omówione na przykładzie wspomnianego już systemu CyanogenMod. Użytkowników Androida, którzy do tego systemu są przywiązani, mogę zapewnić i jednocześnie pocieszyć, że większość opisywanych kroków da się zastosować do oryginalnego oprogramowania Google. W związku z tym, kroki, które omawiają funkcje dostępne wyłącznie dla CyanogenModa, można pominąć. Konfigurację swojego telefonu możemy rozpocząć od wskazania preferencji systemu operacyjnego. W aplikacji Ustawienia powinniśmy dokonać następujących zmian:

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

139

 Sieci zwykłe i bezprzewodowe — więcej: wyłącz protokół Near Field

Communication (NFC). Nie chcemy, by ktoś obok nas mógł włamać się zdalnie do naszego telefonu.  Dostęp do lokalizacji — wyłączyć bezwzględnie!  Zabezpieczenia — należy włączyć szyfrowanie telefonu i blokadę ekranu przy

pomocy hasła lub kodu PIN. Wypada zezwolić na instalowanie aplikacji ze źródeł innych niż Google Play.  Język, klawiatura, głos — wyłączyć sprawdzanie pisowni, sugestie następnych

słów, kontaktów, autokorektę i pisanie głosowe Google.  Kopia i kasowanie danych — wyłączamy opcję Autoprzywracanie. Wiąże się

to z chwilową aktywacją pola Utwórz kopię zapasową.  Informacje o telefonie — w menu Statystyki CyanogenMod wyłączamy

raportowanie. Nie przesyłajmy nikomu danych o naszym telefonie.  Opcje programistyczne — jako nazwę hosta urządzenia ustalamy localhost.

Bezpieczne źródło aplikacji Program F-Droid to bezpieczna alternatywa dla sklepu Google Play i bezapelacyjnie powinna zagościć na naszym telefonie lub tablecie. W dużym skrócie — jest to coś na kształt repozytorium programów dystrybucji Linux lub BSD. Wszystkie aplikacje i widżety, które znajdziemy w F-Droidzie, są bezpłatne i oparte na licencjach wolnego i otwartego oprogramowania. Jest co ściągać! Na początku sierpnia 2014 roku katalog liczył ponad 1,1 tysiąca pozycji o przeróżnym zastosowaniu. Nierzadko zdarza się, że programów tych nie znajdziemy w Google Play. Zainstalowanie niniejszego repozytorium będzie krokiem niezbędnym — większość aplikacji anonimizujących i podnoszących nasze bezpieczeństwo znajdziemy właśnie tam. F-Droida możemy ściągnąć z jego oficjalnej witryny https://f-droid.org/. Program po instalacji powinien wyglądać jak na rysunku 9.3. Rysunek 9.3. F-Droid — wolny odpowiednik sklepu Google Play

140

Ukryta tożsamość. Jak się obronić przed utratą prywatności

AFWall+, czyli firewall dla naszego sprzętu Pierwszą aplikacją, którą należy pobrać za pomocą F-Droida, jest AFWall+. Narzędzie to okaże się bardzo przydatne. Umożliwi nam zablokowanie sieciowego dostępu niezaufanych aplikacji, w szczególności procesów i usług, które oferuje nam Google. Mobilna zapora wymaga jednak uprawnień roota (administratora), a takich uprawnień nie uzyskamy na oryginalnym Androidzie. Mimo naszych najszczerszych chęci. AFWall+ to aplikacja, która jest przeznaczona dla użytkowników systemu CyanogenMod. Po uruchomieniu zapory oraz nadaniu jej praw roota zobaczymy listę zainstalowanych w systemie aplikacji. Programy systemowe zaznaczone będą na czerwono (rysunek 9.4). Rysunek 9.4. Okno główne zapory AFWall+

Przy każdej pozycji znajdują się trzy kwadraciki. Oznaczają one uprawnienia konkretnego programu do działalności w internecie i ingerencji w pamięć urządzenia. Zaznaczenie pierwszego z nich spowoduje nadanie programowi uprawnień do działalności w sieci lokalnej, drugiego — do łączenia się z internetem, a trzeciego — do zmian w pamięci urządzenia, karcie SIM lub karcie SD. Aby zapewnić bezpieczeństwo, pod żadnym pozorem nie nadawajmy żadnych uprawnień następującym programom: Google Services Framework, GPS, Kalendarz, Kreator konfiguracji, Sklep Google Play, Talk, Wyszukiwanie dźwięku w Google Play. Aby włączyć zaporę i zastosować opcje, otwieramy menu programu i klikamy w ikonkę zielonej tarczy z podpisem Włącz zaporę, a następnie składamy sobie serdeczne gratulacje. Najgroźniejsze usługi zostały zdezaktywowane!

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

141

Orbot — implementacja Tora dla systemów Android The Guardian Project, organizacja non profit, która zajmuje się bezpieczeństwem mobilnym, rozwija program Orbot. Jest to nieoficjalna i najbardziej rozpowszechniona w środowisku smartfonów i tabletów wersja klienta sieci Tor. Dzięki Orbotowi nasz sprzęt może korzystać ze wszystkich zalet trasowania cebulowego. Anonimowe przeglądanie WWW, odbieranie i wysyłanie poczty, czatowanie i wiele, wiele innych. Orbot posiada też niezwykłą zaletę — konfiguruje telefon (lub tablet) tak, by wszystkie połączenia wychodzące lub wchodzące przepuszczać przez bramkę proxy Tora. Brzmi nieźle, prawda? Orbot to aplikacja wyjątkowo inteligentna i potrafi konfigurować się samodzielnie. Jeżeli na naszym urządzeniu korzystamy z Wi-Fi, to niniejszy program powinien obowiązkowo stać się częścią systemu Android (lub CyanogenMod). Aby uruchomić Tora, wystarczy odpalić program Orbot i po przejściu wstępnej konfiguracji nacisnąć na duży przycisk na środku ekranu (rysunek 9.5). Jeżeli mamy połączenie z internetem, nie powinniśmy się spotkać z żadnymi trudnościami. Aby przetestować trasowanie cebulowe, możemy za pomocą systemowej przeglądarki wejść na stronę https://check.torproject.org/ (rysunek 9.6).

Rysunek 9.5. Główny widok aplikacji Orbot

Rysunek 9.6. Nasz Tor w Androidzie działa poprawnie

Wykorzystując anonimowo zasoby sieciowe, nie można oczywiście zapomnieć o podstawowych kwestiach bezpiecznego zachowania. W przypadku przeglądania internetu za pomocą przeglądarki systemowej (aplikacja Internet), powinniśmy zerknąć na jej ustawienia:  Ogólne — jako stronę startową polecam ustawić Startpage, Ixquick

lub DuckDuckGo. Wyłączmy opcję autouzupełniania formularzy.

142

Ukryta tożsamość. Jak się obronić przed utratą prywatności  Prywatność i bezpieczeństwo — nie akceptujemy plików cookies, urządzenie

nie musi pamiętać wpisywanych danych, nie włączamy obsługi lokalizacji, nie zapamiętujemy haseł.  Zaawansowane — niestety nie da się dodać Startpage, Ixquick ani DuckDuckGo

jako wyszukiwarek. Oczywiście bezwzględnie wyłączamy skrypty JavaScript, obsługę wtyczek i blokujemy wyskakujące okienka.  Zarządzanie transferem — nasze dobre stosunki z siecią zdecydowanie

nie wymagają „gry wstępnej”: wyłączamy wstępne wczytywanie wyników, wstępne ładowanie wideo i wstępne wczytywanie stron.

Android i szyfrowanie wiadomości Android dysponuje własną wersją programu GNU Privacy Guard, który poznaliśmy w rozdziale 4. Implementacja GPG dla urządzeń mobilnych nosi nazwę Android Privacy Guard (APG) i możemy ją pobrać z repozytorium F-Droid. Program umożliwia nam dokonywanie tych samych czynności co na komputerze: mamy generator, menedżer kluczy kryptograficznych oraz możliwość szyfrowania, dekodowania i sygnowania plików, a także wiadomości tekstowych. Kiedy pierwszy raz uruchomimy APG, pojawi się pusty katalog kontaktów. Aby utworzyć nową parę kluczy, należy otworzyć menu programu i wybrać polecenie Stwórz klucz. Według ustawień domyślnych aplikacja wykorzystuje algorytm RSA, a tworzone klucze mają solidną długość 4096 bitów. Po wygenerowaniu kluczy program umożliwi nadanie wszystkich informacji: nazwy posiadacza, adresu e-mail i hasła dostępu (rysunek 9.7). Utworzona para kluczy pojawi się w oknie głównym aplikacji (rysunek 9.8), a klucz publiczny zostanie wysłany na ogólnodostępny serwer.

Rysunek 9.7. Tworzenie kryptograficznej pary kluczy w APG

Rysunek 9.8. Biblioteka kluczy APG na telefonie

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

143

Menu czynności znajdziemy pod przyciskiem z ikonką złotego klucza. Osoby o słabych nerwach solennie zapewniam, że to nic trudnego! Jest tam wszystko, czego możemy potrzebować:  Kontakty: biblioteka naszych kluczy oraz zaimportowanych kluczy publicznych.  Zaszyfruj: narzędzie do tworzenia szyfrogramów i cyfrowych sygnatur

na podstawie wiadomości tekstowej lub pliku. Zakodowaną treść możemy następnie skopiować do schowka i wysłać wiadomością e-mail.  Deszyfruj: funkcja analogiczna do poprzedniej. Jeżeli dysponujemy

odpowiednim kluczem prywatnym, możemy wrzucić szyfrogram do APG i spróbować go odczytać.  Importuj klucze: wyszukiwarka kluczy publicznych w ogólnodostępnym

serwerze wraz z możliwością błyskawicznego dodania ich do kontaktów.  Zarejestrowane aplikacje: lista żądań wykorzystania kluczy GPG przez

aplikacje firm trzecich. Dotyczyć to będzie w szczególności klientów e-mail, gdy będziemy chcieli automatycznie wysłać lub odebrać zaszyfrowaną wiadomość.

Aplikacje, aplikacje Android dysponuje całą gamą różnorakich programów użytkowych, które z powodzeniem mogą zastąpić komercyjne i zamkniętoźródłowe odpowiedniki firmy Google. Zalecam następujące aplikacje:  ChatSecure: klient czatu z wbudowaną obsługą szyfrowanego protokołu OTR.

Zastępuje Google Talk.  Offline Calendar: niekomercyjny odpowiednik aplikacji Kalendarz.  K-9: klient poczty e-mail z wbudowanym wsparciem dla APG. Zastąpi

systemowy program Poczta.  OSMAnd~: program do obsługi serwisu OpenStreetMap. Może wykorzystywać

usługi lokalizacyjne i pracować jako nawigacja GPS. Dobry odpowiednik Google Maps.  VLC: przenośna wersja znanego odtwarzacza plików multimedialnych.  Firefox: czy muszę coś dodawać? Przeglądarka w wersji mobilnej obsługuje

rozszerzenia HTTPS Everywhere i NoScript. Może być bezpieczniejszą alternatywą dla wbudowanej przeglądarki systemowej.  Bitcoin: przechowujmy kryptowaluty bezpośrednio na naszym telefonie.

Przypominam! Nie wolno zapomnieć o zrobieniu kopii zapasowej portfela i umieszczeniu jej w bezpiecznym miejscu. Nie chcemy stracić naszych pieniędzy w przypadku zgubienia aparatu. Wszystkie powyższe programy znajdziemy w repozytorium F-Droid. Wskazane jest stosowanie ich razem z Orbotem. To skutecznie ukryje naszą wirtualną tożsamość.

144

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Bezpieczeństwo telefonii i połączeń Jesteśmy w stanie usunąć Androida i zastąpić go CyanogenModem. Możemy już z łatwością skonfigurować na naszym telefonie zaporę, sieć Tor i wiele aplikacji otwartoźródłowych. Połączenie Wi-Fi może być bezpieczne jak nasz komputer. Nie załatwia to jednak podstawowego problemu. Smartfony, mimo interfejsu internetowego i tego, co nazywane jest „bajerami”, nadal pozostają wyłącznie telefonami. W czasach stanu wojennego w Polsce (lata 1981 – 1983) opozycja spod znaku „Solidarności” protestowała przeciwko cenzurze i blokadzie telefonów przez władze. Ludzie, którzy są obecnie w średnim wieku, pamiętają jeszcze, że przed każdym połączeniem telefonicznym głos z automatu podawał mrożącą krew w żyłach frazę „rozmowa kontrolowana”. Mroczne lata 80. ubiegłego stulecia są tylko wspomnieniem. Dzisiaj nikt już nie ostrzega o kontroli rozmów. W gruncie rzeczy nie miałoby to większego sensu, gdyż (o, ironio!) całą naszą działalność rejestruje i księguje operator sieci, z którą związany jest nasz telefon. Możemy opuścić kontrolowany internet, ale ucieczka z sieci telefonicznej nie jest już taka prosta. Programy inwigilacji telefonów stacjonarnych i komórkowych istnieją znacznie dłużej niż PRISM, XKEYSCORE lub Tempora. Ich historia zaczęła się dużo wcześniej. Pierwszy zorganizowany program nasłuchu fal elektromagnetycznych sięga przełomu lat 60. i 70. XX wieku. Słynna grupa „pięciorga oczu” (USA, Wielka Brytania, Kanada, Nowa Zelandia i Australia) utworzyła projekt ECHELON. Jego znakiem rozpoznawczym były i nadal są okrągłe białe kopuły z potężnymi antenami radarowymi wewnątrz (rysunek 9.9). Rysunek 9.9. Anteny nasłuchowe globalnego programu ECHELON. Menwith Hill, Yorkshire. Źródło: Wikimedia Commons. Autor oryginalny: Matt Crypto

Za podstawowy cel projektu ECHELON uznano nasłuch wojskowych pasm transmisyjnych państw Układu Warszawskiego. Po 1991 roku i upadku Związku Radzieckiego sytuacja uległa radykalnej zmianie. Obecnie ECHELON stanowi tylko jeden z wielu globalnych programów inwigilacji łącz telefonicznych. Telefon to najmniej bezpieczny środek komunikacji ze wszystkich. Z tego właśnie powodu Usama ibn Ladin, najbardziej poszukiwany terrorysta z początków XXI wieku, nigdy nie korzystał z telefonu, a z „towarzyszami broni” kontaktował się za pośrednictwem zaufanych kurierów. Zapewne

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

145

pamiętał, co stało się z czeczeńskim prezydentem i przywódcą partyzantki Dżocharem Dudajewem. Rosyjski samolot zwiadowczy namierzył go w czasie rozmowy przez telefon satelitarny.

Podstawowe zagrożenia sieci komórkowej Telefony komórkowe, które są wyposażone w karty SIM, łączą się z siecią komórkową konkretnego operatora. Sieć taka obejmuje zazwyczaj obszar jednego lub kilku państw. Podstawą funkcjonowania sieci komórkowej są tzw. stacje bazowe — regularnie rozlokowane wysokie anteny, które zbierają sygnały w postaci fal elektromagnetycznych. Telefony komórkowe pracują w taki sposób, by połączyć się z najbliższą stacją bazową własnego operatora. Gdy wykonujemy połączenie lub wysyłamy wiadomość SMS, za transmisję danych odpowiada właśnie sieć stacji bazowych. Mechanizm ten sprawia, że operator jest w stanie wyciągnąć z naszego telefonu właściwie wszystko: numer identyfikacyjny karty SIM (IMSI — International Mobile Subscriber Identity), numer fabryczny urządzenia (IMEI — International Mobile Equipment Identity) oraz dokładne dane geolokacyjne. Określenie tożsamości nadawcy i odbiorcy połączenia jest tylko prostą formalnością. Przyciąga to oczywiste zainteresowanie służb wywiadu sygnałów (SIGINT). NSA i agencje partnerskie prowadzą naukowe badania nad specjalnymi urządzeniami do nasłuchu rozmów „wewnątrz” sieci komórkowej. Urządzenia takie noszą nazwę IMSI-Catcherów. IMSI-Catchery to fałszywe stacje bazowe sieci telefonicznych. Kiedy nasz telefon znajdzie się w zasięgu IMSI-Catchera, uzna go za faktyczny maszt operatora i nawiąże z nim połączenie. Aby zamaskować szpiegowską działalność, a nam umożliwić wykonywanie połączeń, przekaźnik z drugiej strony połączy się z prawdziwą siecią komórkową. Jest to typowy hakerski atak typu man in the middle. Właściciel stacji, który znajduje się pomiędzy nami a siecią GSM, może bez problemów podsłuchiwać prywatne rozmowy, przechwytywać wiadomości SMS, a nawet pakiety transmisji internetowej (na przykład przez sieci komórkowe wyższych generacji niż „podstawowy” GSM — EGDE, 3G lub 4G). Schemat funkcjonowania IMSI-Catchera przedstawiłem na rysunku 9.10.

Rysunek 9.10. Mechanizm przechwytywania danych przez IMSI-Catchery

IMSI-Catchery mają różną formę i zastosowanie. Niektóre mają postać anteny radiowej, inne niedużej przenośnej walizeczki. Cena jednego takiego urządzenia wynosi

146

Ukryta tożsamość. Jak się obronić przed utratą prywatności

około miliona złotych, choć nieprofesjonalne, ręcznie składane stacje można nabyć już za kilka tysięcy złotych. Na ciekawy sposób wykorzystania IMSI-Catcherów wpadły rosyjskie służby specjalne. W lipcu 2013 roku gazeta „Izwiestia” doniosła, że moskiewskie metro ma zostać wyposażone w „tajemnicze urządzenia” do identyfikacji właścicieli telefonów w celu namierzania potencjalnych złodziei (sic!). Opis owych „tajemniczych urządzeń” każe nam podejrzewać, że chodziło właśnie o IMSI-Catchery. Mało kto wierzył w historię o łapaniu złodziei — i słusznie zresztą. Władza w Rosji „lubi mieć pewność”. Metro z racji swojego położenia nie ma dostępu do sieci komórkowej GSM (czytaj: rosyjskie służby nie mogą tam śledzić telefonów). Absurdu całej aferze dodaje także to, że w innych państwach (w tym także w Polsce) do uprzykrzenia życia złodziejowi wystarczy jeden osobisty wniosek do operatora o zablokowanie numeru IMSI/IMEI. W 2014 roku utworzony został projekt specjalnej aplikacji do wykrywania IMSICatcherów i blokowania ich sygnału. Program ten nazywa się Android IMSI-Catcher Detector (AIMSICD) i obecnie znajduje się w fazie eksperymentów. Osoby zainteresowane mogą go pobrać z oficjalnej witryny na GitHubie i zainstalować w swoim telefonie z systemem Android lub CyanogenMod: http://secupwn.github.io/AndroidIMSI-Catcher-Detector/.

Połączenia internetowe Do wykonywania połączeń wcale nie musimy wykorzystywać sieci komórkowych GSM. Niemal każdy współczesny telefon posiada interfejs transferu danych przez internet. A tu możliwości podniesienia poziomu bezpieczeństwa są już większe. Podstawą w tym zakresie jest technologia VoIP (Voice over IP), która służy do przesyłania komunikatów głosowych „na żywo”. Mechanizm ten wykorzystuje między innymi Skype firmy Microsoft i to dzięki VoIP możemy prowadzić audio- i wideokonferencje z naszymi znajomymi. Tajemnicą poliszynela jest, że Microsoft uczestniczy w programie PRISM, a amerykańskie i brytyjskie służby dysponują stosownymi urządzeniami do kontroli Skype’a. Oznacza to, że jeżeli zależy nam na korzystaniu z tego typu sposobów międzyludzkiej komunikacji, powinniśmy wykorzystać jakiś inny program. I w takich przypadkach niezastąpionym narzędziem okazuje się protokół komunikacji Tox. Tox jest to usługa dla systemów Windows, OS X, Linux, BSD, iOS oraz Android. O jego bezpieczeństwie decyduje przede wszystkim zastosowanie algorytmów szyfrujących w trybie end-to-end encryption oraz struktura peer-to-peer. Dzięki protokołowi Tox będziemy mieli pewność, że nikt nie przechwyci prywatnych rozmów i wideokonferencji. Osobiście polecam korzystanie z internetowego transferu danych przez Wi-Fi1, a nie przez sieć komórkową EDGE, 3G i 4G. 1

Z aktywnym Orbotem i w nadziei, że właściciel punktu dostępu jest osobą godną zaufania. Paranoiczna osobowość tajnych służb Rosji osiągnęła w tym względzie w 2014 roku prawdziwą maestrię. Posiadacze publicznej sieci Wi-Fi są zobowiązani pod groźbą kar do szczegółowego spisania personaliów osób, które chcą z niej skorzystać.

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

147

Tox doczekał się wielu otwartoźródłowych implementacji dla różnych środowisk — wszystkie aplikacje obsługujące protokół znajdują się w witrynie https://wiki.tox.im/Client. Aby zacząć przygodę z tym niezwykłym systemem, wystarczy, że pobierzemy interesujący nas program — nie musimy tworzyć żadnych kont, logować się i przekazywać żadnych danych. Wszystkie informacje o naszej tożsamości generowane są na naszym komputerze (tak jak w przypadku systemów Bitmessage — patrz rozdział 5. — lub bitcoin — patrz rozdział 7.). Z tego też powodu adresy użytkowników Toksa są długimi ciągami losowych znaków, nie istnieje również żaden centralny serwer usługi. Większość aplikacji Tox (tak jak qTox i Antox pokazane na rysunkach 9.11 i 9.12) posiada intuicyjny i prosty w obsłudze interfejs, który nie różni się od klasycznych komunikatorów. Z łatwością dokonamy następujących czynności:  Dodawanie znajomych: przycisk + w lewym dolnym rogu okna (qTox)

lub na karcie Znajomi (Antox);  Tworzenie grup: przycisk po prawej od przycisku dodawania znajomych

(qTox) lub w rozwijanym menu w lewym górnym rogu ekranu (Antox);  Ustawienia aplikacji: przycisk z zębatką po lewej stronie okna (qTox)

lub w rozwijanym menu programu (Antox);  Wysyłanie wiadomości tekstowych, plików, rozpoczynanie rozmów audio

i wideo: odpowiednie przyciski podczas widoku rozmowy ze znajomym lub grupą. Rysunek 9.11. Tox na systemie Android (Antox)

Tox nadal jest protokołem eksperymentalnym i wiele funkcji jest wciąż rozwijanych. Wersja na smartfony i tablety nie pozwala na rozmowy audio i wideo. Program qTox umożliwia nam z kolei konfigurację programu do funkcjonowania pod Torem, zgodnie z opisem w rozdziale 6., sekcji „Konfiguracja programów sieciowych do pracy z Torem” (Ustawienia programu, karta Główne, sekcja Ustawienia połączenia).

148

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 9.12. Tox na systemie Windows (qTox)

Co dwa telefony, to nie jeden Innym sposobem na uniknięcie śledzenia działalności telefonicznej jest posiadanie osobnego, dedykowanego sprzętu, który wykorzystywać będziemy do rozmów niekoniecznie jawnych, na przykład podczas negocjacji handlowych. Oczywiście, jeśli nie wymagamy pełnej anonimowości, a z telefonu chcemy skorzystać po to, by złożyć babci życzenia urodzinowe lub pochwalić się przed znajomymi „słitfocią” ukochanego kota, to ucieczkę przed rządem i wywiadem gospodarczym po prostu sobie darujmy. Posiadanie dwóch telefonów to niemal obowiązkowa reguła dla dziennikarzy, śledczych, agentów, handlowców, polityków i wszystkich ludzi, którzy gwarancji bezpieczeństwa rozmów potrzebują ze względu na wykonywany zawód. Wiodąc podwójne życie w świecie telefonów komórkowych, warto pamiętać o kilku zasadach:  Telefon do rozmów dyskretnych należy kupić za gotówkę i zdecydowanie nie

w sklepie należącym do operatora komórkowego. Telefon powinien posiadać możliwość ręcznej wymiany baterii. Najlepiej będzie, gdy nabędziemy stary model z lat 90. lub początków XXI wieku.  W telefonie do rozmów poufnych nie trzymamy prywatnej karty SIM. Działa

to też w drugą stronę — do telefonu prywatnego nie wkładamy kart służbowych.

Rozdział 9. Mission Impossible. Bezpieczeństwo mobilne

149

 Rozmowy konfidencjonalne należy prowadzić wyłącznie z wykorzystaniem

karty pre-paid. Nie są one rejestrowane imiennie, a można je kupić nawet w kioskach. Wskazane jest kupowanie kart od różnych operatorów.  Jeżeli zachodzi konieczność posłużenia się internetem na telefonie do rozmów

niejawnych, należy zrobić to wyłącznie przez hotspot Wi-Fi. Transfer danych z wykorzystaniem sieci komórkowej jest odnotowywany przez operatora.  Nigdy nie włącza się jednocześnie urządzenia do zwykłych rozmów i tego do

kontaktów, które wymagają bezpieczeństwa. Na podstawie danych, z którymi masztami się łączą, operator łatwo określi dokładne położenie geograficzne sprzętu.  Na spotkania służbowe (na przykład z osobami, które są tajnymi kontaktami

i źródłami informacji) nigdy nie zabiera się telefonu prywatnego.  Rządy niektórych państw dysponują specjalnymi narzędziami do aktywacji

wyłączonych telefonów i ustawiania ich jako podsłuchy. Brzmi to paranoicznie, ale zawsze, gdy choć na chwilę przestaniemy korzystać z telefonu do tajnych rozmów, powinniśmy wyjąć z niego baterię lub umieścić go w zamrażalniku.

150

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 10.

Jeszcze więcej sposobów na prywatność Poprzednie rozdziały przybliżyły wiele tematów związanych z bezpieczeństwem każdego użytkownika internetu. Zidentyfikowaliśmy zagrożenie globalną inwigilacją internetu i poznaliśmy sposoby walki o naszą prywatność. Programy takie jak GPG, Bitmessage lub Tor nie są już nam obce. Umiemy dokonywać przelewów za pomocą wirtualnych kryptowalut i skonfigurować smartfona do bezpiecznej pracy w sieci komórkowej. Nie wyczerpuje to jednak wszystkich dostępnych sposobów walki z wszechpotężnymi służbami i koncernami. Opisane zostały jedynie metody najbardziej podstawowe i prostsze w obsłudze, takie, które nie przekraczają możliwości działania i raczej słabej wiedzy informatycznej przeciętnego użytkownika sieci. Warto jednak poznać garść porad o charakterze bardziej zaawansowanym.

Komunikatory internetowe Komunikatory internetowe pełnią niezwykle istotną rolę w sieciowej transmisji danych. Dzięki zróżnicowanym protokołom i programom jesteśmy w stanie przesyłać i odbierać przekazy w czasie rzeczywistym. Przez aplikacje, które umożliwiają kontakt „na żywo”, wysyłamy bardzo dużo informacji. Wykorzystujemy czaty tekstowe, rozmowy online czy wideokonferencje. Jest to dla nas bardzo korzystne. Nie tracimy czasu i pieniędzy na odległe podróże służbowe. Nic zatem dziwnego, że większość wielkich koncernów informatycznych nieustannie rozwija własne programy i usługi związane z rozmowami prowadzonymi przez internet. Postępuje tak ośmiu z dziewięciu komercyjnych członków programu PRISM. Wykorzystywanie nieodpowiedniego i niebezpiecznego oprogramowania niesie za sobą olbrzymie ryzyko. Według raportu przygotowanego przez dziennik „The Washington Post” spośród 160 tysięcy osobistych informacji zgromadzonych przez NSA, które wykradł Snowden, aż 76% to natychmiastowe wiadomości (Instant Messages) oraz

152

Ukryta tożsamość. Jak się obronić przed utratą prywatności

zapisy audio- i wideorozmów. Niezabezpieczona komunikacja w czasie rzeczywistym jest pierwszym źródłem informacji o nas. Cyberwywiad dysponuje potężnymi narzędziami do nasłuchu sieciowych rozmów i gromadzenia ich w obszernych bazach danych. Jeżeli nie chcemy, by nasze dane były przetwarzane w celach dalekich od jawności, powinniśmy zacząć korzystać z protokołów bardziej zaufanych, tych, które oparte są na licencjach open source, regułach kryptograficznych czy architekturze peer-to-peer. Programy do obsługi audio- i wideokonferencji omówiłem w rozdziale 9., w podsekcji „Połączenia internetowe”. Ponieważ nie chcę dublować treści, odsyłam Czytelników we wskazane miejsce.

Cryptocat — warto rozmawiać. Bezpiecznie Cryptocat nie funkcjonuje jako samodzielny program. Stanowi on nieduże rozszerzenie dostępne dla większości przeglądarek na wszystkich większych systemach operacyjnych. Oficjalna strona dodatku znajduje się pod adresem: https://crypto.cat/. Z miejsca tego możemy dokonać błyskawicznej i bezpośredniej instalacji Cryptocata. Podstawą bezpieczeństwa apletu jest zastosowanie specjalnego protokołu Off-theRecord Messaging — OTR (czatowanie bez nasłuchu). OTR wykorzystuje obustronne i automatyczne szyfrowanie czatów dzięki 128-bitowym kluczom kryptograficznym AES. Gdy program obsługuje OTR, nie musimy się martwić, że ktoś będzie przechwytywać nasze wiadomości. Cryptocat umożliwia między innymi rozmowy grupowe, transfer plików i integrację z czatem Facebooka. Ten niepozorny program ze słodkim kociakiem w logo znalazł swoje zastosowanie podczas tajnej działalności Snowdena w czerwcu 2013 roku. Były agent NSA w czasie swojego pobytu w Hongkongu wykorzystał Cryptocata do umówienia się na swoje pierwsze spotkanie z dziennikarzem Glennem Greenwaldem, aby przekazać mu wykradzione przez siebie dokumenty rządowe. Obsługa tego rozszerzenia jest banalnie prosta. Aby utworzyć nowe pomieszczenie (chatroom) albo dołączyć do istniejącego, wystarczy wpisać jego nazwę oraz ustalić widoczny dla reszty użytkowników pseudonim (rysunek 10.1). Cryptocat automatycznie nawiąże szyfrowane i bezpieczne połączenie z serwerami. W ramach jednego pomieszczenia (rysunek 10.2) możemy rozmawiać na czacie publicznym lub porozumiewać się prywatnie z konkretnymi użytkownikami. Cryptocat umożliwia ponadto wymianę plików graficznych oraz paczek w formacie .zip o rozmiarze do 5 megabajtów. Aby to wykonać, wystarczy wybrać użytkownika, do którego prześlemy załącznik, i z rozwijanego menu kliknąć na przycisk Wyślij zaszyfrowany plik. Jeżeli rozszerzenie zainstalowaliśmy w przeglądarce Tor Browser, to aby dodatkowo wzmocnić bezpieczeństwo, do komunikacji z wybranymi osobami możemy wykorzystywać specjalny serwer Cryptocata, który funkcjonuje jako usługa ukryta. W tym celu należy wylogować się z chatroomu i za pomocą przycisku Custom server wybrać z rozwijanego panelu pozycję Cryptocat (Tor Hidden Service). Dodatkowe szyfrowanie dzięki trasowaniu cebulowemu nikomu nie zaszkodziło.

Rozdział 10. Jeszcze więcej sposobów na prywatność

153

Rysunek 10.1. Cryptocat: panel logowania do serwera

Rysunek 10.2. Widok konwersacji w chatroomie

Cryptocat to narzędzie minimalistyczne i nie zawiera dodatkowych opcji wyglądu lub czatowania. Służy do bezpiecznej konwersacji „na szybko”, a dzięki swojej prostocie może z powodzeniem zastąpić czat Google lub Facebooka.

154

Ukryta tożsamość. Jak się obronić przed utratą prywatności

TorChat — cebulkowe rozmowy peer-to-peer TorChat to program zadedykowany stałym użytkownikom sieci Tor. Jego mocne strony to szyfrowanie, obsługa trasowania cebulowego i funkcjonalność ograniczona do darknetu. TorChat funkcjonuje jako ukryta usługa na komputerze, a w związku z tym rozmowa między dwoma użytkownikami prowadzi do powstania bezpiecznej i szyfrowanej sieci P2P. Program można pobrać z witryny w repozytorium GitHub: https:// github.com/prof7bit/TorChat — podstawowa wersja działa na systemach Linux oraz Windows. Osobna wersja dla systemu OS X znajduje się pod adresem: http://www. sourcemac.com/?page=torchat. Instalacja na systemie Linux wymaga uprzedniej kompilacji kodu źródłowego. Aplikacja jest przenośna, a do jej uruchomienia nie potrzebujemy nawet Tor Browser Bundle. Kiedy odpalimy TorChat , program sam uruchomi autonomiczne procesy i usługi. Ponieważ program jest w rzeczywistości miniserwerem czatu, personalny identyfikator użytkownika (ID) to nic innego jak adres w domenie .onion. Jeśli TorChat działa poprawnie, to przy naszym adresie w oknie głównym pojawi się zielona ikonka człowieczka (rysunek 10.3). Możemy pisać! (rysunek 10.4). Rysunek 10.3. Okno główne TorChata

Rysunek 10.4. Okno konwersacji TorChata

Jeżeli TorChat nie przeszedł automatycznej konfiguracji, będziemy musieli zrobić to ręcznie i aplikację uruchomić w połączeniu z klasycznym Tor Browser Bundle. Gdy został uruchomiony główny pakiet Tora, w programie TorChat przechodzimy do ustawień (menu kontekstowe — Konfiguracja) i na pierwszej karcie w sekcji Tor (rysunek 10.5)

Rozdział 10. Jeszcze więcej sposobów na prywatność

155

Rysunek 10.5. Okno ustawień sieciowych TorChata

wprowadzamy ustawienia sieci (domyślnie: IP 127.0.0.1, porty 9150 i 9151). Następnie w sekcji Client sprawdzamy numer portu sieciowego usługi TorChat, domyślnie powinien wynosić 11009. W pliku torrc paczki Tor Browser Bundle (patrz rozdział 6., sekcja „Konfiguracja własnej ukrytej usługi”) dodajemy następujące dwie linijki: HiddenServiceDir /dowolny/folder/gdzie/utworzymy/adres/uzytkownika HiddenServicePort 11009 127.0.0.1:11009

Plik zapisujemy, resetujemy Tora. W folderze, który wskazaliśmy w torrc, powstaną pliki hostname i private_key. Pierwszy z nich zawiera ID użytkownika TorChata i zawartość tego pliku (bez końcówki .onion) kopiujemy do pola Własny TorChat-ID w konfiguracji programu. Ustawienia zapisujemy i dla pewności możemy zresetować program. TorChat w obsłudze jest niezwykle intuicyjny i szczegółowe opisywanie poszczególnych czynności mija się z celem. Możemy zmieniać obecny status, zarządzać kontaktami, prowadzić szyfrowane konwersacje i bezpiecznie przesyłać pliki. Z racji faktu, że jest to usługa P2P, nie mamy ograniczeń co do wielkości i typu wysyłanych danych. Warto jednak pamiętać, że transfer dużych plików może utrudniać i spowalniać pracę innym „tornautom”.

Pidgin i szyfrowanie czatów Ciekawym programem jest również komunikator Pidgin na platformy Linux, Windows i OS X. Oferuje on wsparcie dla kilkunastu najpopularniejszych protokołów korespondencji, w tym Google Talk, Facebooka, IRC, XMPP, Bonjour czy Gadu-Gadu. O ile jednak sam Pidgin nie jest programem w stu procentach bezpiecznym, o tyle

156

Ukryta tożsamość. Jak się obronić przed utratą prywatności

możemy rozszerzyć go o wtyczkę szyfrowania danych przez protokół OTR. Rozszerzenie to znajdziemy w większości repozytoriów linuksowych pod nazwą pidgin-otr lub na jego oficjalnej witrynie https://otr.cypherpunks.ca/. Kiedy zainstalujemy OTRa w Pidginie, musimy wejść w menu Narzędzia i pozycję Wtyczki, a następnie aktywować dodatek Szyfrowanie Off-the-record. Teraz wystarczy, że za pomocą panelu konfiguracji wtyczki (rysunek 10.6) wygenerujemy kryptograficzny klucz prywatny AES dla każdego naszego konta. Według ustawień domyślnych Pidgin z OTR-em sam inicjuje szyfrowanie rozmów, ale nie wymusza jego stosowania. Korespondencja będzie w pełni szyfrowana tylko wtedy, gdy nasz rozmówca także dysponuje obsługą protokołu OTR. Rysunek 10.6. Konfiguracja wtyczki OTR do programu Pidgin

Anonimowa sieć I2P Ukryte usługi Tora to tylko niewielka część darknetu. Nieco mniej popularną tajną siecią jest I2P, czyli Invisible Internet Project (Projekt Niewidzialnego Internetu). Przedsięwzięcie powstało w 2003 roku jako odłam od jeszcze innej sieci anonimowej o nazwie Freenet. Sieć I2P gwarantuje prawie stuprocentowe bezpieczeństwo przesyłanych danych. Nasz IP zostanie ukryty i nikt nie rozpozna naszej prawdziwej wirtualnej tożsamości. I2P nie jest jednak Torem i funkcjonuje na nieco innych zasadach, o których warto wspomnieć, aby porównać bezpieczeństwo obu sieci.

Rozdział 10. Jeszcze więcej sposobów na prywatność

157

Mechanizm funkcjonowania I2P Podstawę I2P i Tora stanowią węzły (routers), które biorą udział w trasowaniu połączeń. Różnica polega na tym, że w I2P węzłem jest każdy użytkownik sieci. Dane o przekaźnikach I2P znajdują się w rozproszonej bazie danych o nazwie netDb. Jeżeli podłączamy się do I2P, my także stajemy się częścią netDb, a program do obsługi sieci utworzy na komputerze dwa zestawy informacji:  routerInfo: etykieta węzła I2P, która zawiera między innymi klucze

kryptograficzne do automatycznego szyfrowania połączeń odbieranych i szyfrowanych, adres IP i cyfrową sygnaturę potwierdzającą tożsamość;  leaseSet: informacje o otwartych tunelach danego komputera. Użytkownicy I2P

odbierają i wysyłają pakiety dwoma osobnymi, wirtualnymi tunelami. Gwarantuje to nienaruszalność danych. Przykład. Chcemy połączyć się z serwerem Starszego Pana A., aby wejść na jego stronę internetową, która hostowana jest wewnątrz I2P. Ponieważ dostęp z clearnetu oraz sieci Tor będzie do niej zablokowany, pozostaje nam wykorzystać mechanizmy Invisible Internet Project. 1. Nasz komputer wyszukuje w netDb kryptograficzne klucze Starszego Pana A.

oraz dane o bramie wejściowej do jego tunelu odbierającego. 2. Szyfrujemy poszczególne żądania do witryny Starszego Pana A., a następnie

wiążemy je w zakodowany pakiet, nazywany żartobliwie główką czosnku. Szyfrowanie to odbywa się za pomocą jego 2048-bitowego klucza publicznego utworzonego algorytmem ElGamal. 3. Nasz komputer wybiera trzy losowe węzły sieci I2P i tworzy za ich pomocą

tunel wysyłający. Główka czosnku szyfrowana jest kolejnymi jednosesyjnymi kluczami publicznymi AES węzłów. 4. Kolejne węzły dekodują pakiet swoimi kluczami prywatnymi do momentu,

w którym ostatni z nich, brama wyjściowa, otrzyma główkę czosnku. 5. Kiedy główka opuszcza tunel wysyłający, brama wyjściowa tworzy na niej

specjalną, międzytunelową warstwę szyfrowania. 6. Komputer Starszego Pana A. tworzy tunel odbierający między trzema innymi

losowymi węzłami sieci I2P. Główka czosnku trafia do bramy wejściowej, czyli pierwszego węzła tunelu odbierającego. Ten zaś dekoduje międzytunelową warstwę szyfrowania i przekazuje wiadomość dalej, w kierunku Starszego Pana A. 7. Węzły tunelu odbierającego Starszego Pana A. szyfrują przekaz swoimi

jednosesyjnymi kluczami publicznymi AES, a prywatne klucze przekazują Starszemu Panu A. Za ich pomocą Starszy Pan A. zdejmuje warstwy szyfrowania. Dzieje się tak do chwili, w której otrzyma „gołą” główkę czosnku. Wówczas za pomocą własnego klucza prywatnego ElGamal otrzymuje właściwą treść naszego żądania.

158

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Jeżeli witryna Starszego Pana A. odpowie na nasz sygnał, jego komputer będzie musiał wykonać czynności analogiczne. Mechanizm ten nosi nazwę trasowania czosnkowego (garlic routing) i jest ulepszoną wersją znanego z Tora trasowania cebulowego. Na rysunku 10.7 przedstawiłem cały proces w formie schematu.

Rysunek 10.7. Schemat trasowania czosnkowego wewnątrz sieci I2P

Co lepsze — Tor czy I2P? Na tak postawione pytanie nie ma jednoznaczniej odpowiedzi. Niewątpliwą zaletą Tora jest większa liczba użytkowników niż jest to w przypadku I2P, szersze wsparcie ze strony profesjonalistów, pokaźne wsparcie finansowe, a także nakierowanie na w pełni bezpieczne przeglądanie internetu. Wiele znaczy także i to, że jest napisany w języku programowania C, a nie w Javie (co ma swoje plusy). I2P, mimo że jest mniejszy, także posiada swoje mocne strony: w pełni zdecentralizowaną architekturę peer-to-peer, traktowanie wszystkich użytkowników jako węzły, nakierowanie na organizację darknetu, szersze wsparcie dla protokołów sieciowych, a także szybszy przepływ danych wewnątrz sieci (w I2P każdy komputer przyjmuje jednocześnie określoną liczbę tuneli, na przykład dwa odbierające i dwa wysyłające; w Torze każdy komputer, który łączy się z serwerem, ma własną trasę). Wybór w dużej mierze zależy oczywiście od nas. Osobiście nie chcę deprecjonować żadnej z tych sieci, każda ma swoją niszę i każdą można wykorzystywać do własnych celów.

Rozdział 10. Jeszcze więcej sposobów na prywatność

159

Instalacja i korzystanie z I2P Do przeglądania zasobów I2P potrzeba oficjalnego klienta tej sieci, którego łatwo ściągnąć z jego witryny https://geti2p.net/pl/. Paczka jest dostępna dla systemów BSD, Linux, Windows, OS X, a także w wersji przenośnej dla Androida. Aby program zadziałał poprawnie, na naszym komputerze musi się znajdować klient Javy w wersji 1.6 lub nowszej. Nie powinno to sprawić problemów — autorzy wyjaśnili, jak zainstalować i uruchomić I2P na każdym z systemów. Po uruchomieniu I2P w naszą przeglądarkę internetową można wpisać adres http:// 127.0.0.1:7657/home. Jest to specjalna konsola I2P, czyli nasz panel kontrolny sieci (rysunek 10.8). Rysunek 10.8. Panel kontrolny sieci I2P

Znajdziemy tu wszystkie najważniejsze informacje techniczne o połączeniu, a także linki do najbardziej użytecznych ukrytych usług sieci I2P. Jest ich naprawdę dużo: mamy serwisy z wiadomościami, repozytoria oprogramowania przystosowanego do I2P, fora społeczności, mikroblogi, ukryte serwery e-mail lub czatów. Mamy co zwiedzać! Ta część darknetu jest równie ciekawa, jak i Tor i z pewnością warto się jej przyjrzeć. Tajne adresy „niewidzialnego internetu” istnieją w pseudodomenie .i2p i można się do nich dostać tylko wtedy, gdy odpowiednio skonfigurujemy naszą przeglądarkę. W Firefoksie robimy to przez wejście w preferencje, kartę Zaawansowane, podkartę Sieć

160

Ukryta tożsamość. Jak się obronić przed utratą prywatności

i przycisk Ustawienia… przy etykietce Połączenie. W odróżnieniu od Tora sieć I2P wykorzystuje bramkę proxy HTTP, a nie SOCKS. Adres IP to 127.0.0.1 (lub localhost), natomiast port — 4444.

Wirtualne sieci prywatne Szczególnym sposobem na zapewnienie prywatności połączeń między komputerami jest zastosowanie mechanizmu wirtualnych sieci prywatnych (Virtual Private Networks — VPN). Ich zasady i funkcjonowanie przypomina znane nam dobrze sieci lokalne (LAN). Sieć LAN to najmniejsza jednostka globalnego internetu, która obejmuje od kilku do kilkunastu komputerów. Użytkownik sieci LAN może wysłać pakiet sieciowy do innego jej użytkownika i mieć pewność, że pakiet ten nie wyjdzie poza LAN i trafi tylko do adresata. Odpowiada za to router, czyli urządzenie, które blokuje potencjalny wyciek danych z i do sieci LAN. Najbardziej życiowy przykład takiego mechanizmu to oczywiście domowe hotspoty Wi-Fi (rysunek 10.9). Rysunek 10.9. Przykładowa sieć LAN

Sieci VPN przypominają sieci lokalne. Różnią się tym, że nie mają ograniczenia terytorialnego i nie są związane z fizycznym routerem. Uczestnicy wirtualnej sieci prywatnej komunikują się zamkniętymi z zewnątrz i zaszyfrowanymi tunelami. Informacje przechodzące przez tunele są ignorowane przez przekaźniki ruchu sieciowego i nikt spoza określonej VPN nie może ich przechwycić. Dzieje się tak nawet wtedy, gdy jeden uczestnik sieci VPN znajduje się w Warszawie, a drugi w Krakowie, ponieważ ich komputery pracują tak, jakby obaj znajdowali się w obrębie jednego Wi-Fi (rysunek 10.10). Za funkcjonowanie sieci VPN odpowiada serwer. W niektórych protokołach komunikacyjnych serwer może pełnić funkcję proxy, czyli pośredniczyć w wymianie danych na linii użytkownicy VPN – internet. Jest to jedna z ważniejszych technik ukrywania adresów IP. Gdyby pracownik biura w Krakowie chciał połączyć się z internetem, jego

Rozdział 10. Jeszcze więcej sposobów na prywatność

161

Rysunek 10.10. Przykładowa sieć VPN

żądanie musiałoby najpierw iść do serwera w Warszawie. Sieć VPN opuściłoby dopiero wtedy. Nie jest to jednak regułą dla wszystkich architektur. Sieci VPN są zróżnicowane pod względem typów budowy i stosowanych metod komunikacji. Do wewnętrznej komunikacji wykorzystuje się różne metody szyfrowania. Na ogół programy do obsługi konkretnego modelu VPN nie obsługują innych architektur. Dla początkujących użytkowników, którzy chcą zacząć przygodę z VPN, mogę polecić darmowy (choć niestety zamkniętoźródłowy) program Hamachi firmy LogMeIn. Pozwala on na łatwe zarządzanie sieciami VPN o rozmiarze do 5 użytkowników. Komunikacja wewnątrz sieci Hamachi jest szyfrowana kryptograficznymi kluczami AES. Program ten nadaje się idealnie do bezpiecznego czatowania, wymiany myśli i organizowania turniejów w grach sieciowych między znajomymi. Najpopularniejszym otwartoźródłowym oprogramowaniem VPN jest OpenVPN, jednak jego konfiguracja jest już trudniejsza i przeznaczona dla osób bardziej zaawansowanych.

162

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rozdział 11.

Wszystko w jednym. Linux Tails Linux Tails to wyjątkowy system operacyjny. Podstawowe zadanie tego systemu polega na zapewnieniu jego użytkownikom pełnej anonimowości. Tails łączy w sobie niezawodność i uniwersalizm jądra Linuksa, skomplikowane techniki kryptograficzne i wykorzystanie protokołów szyfrowanej sieci Tor. Można go uruchomić z pamięci USB lub płyty DVD na każdym komputerze i mieć gwarancję, że nie pozostawi po sobie żadnych cyfrowych śladów. Składa się niemal wyłącznie z oprogramowania poświęconego bezpieczeństwu sieci i użytkownika. Linux ten rewolucjonizuje pojęcie anonimowości. Omówienie tego wyjątkowego systemu będzie doskonałym zakończeniem niniejszej publikacji i podsumowaniem zawartej w niej wiedzy.

Podstawowe cechy Tailsa Pełna nazwa systemu Tails brzmi The Amnesic Incognito Live System. Wersja 0.1 tego systemu powstała w czerwcu 2009 roku i otrzymała wsparcie wielu najważniejszych fundacji darmowego i otwartego oprogramowania. Wśród partnerów projektu Tails znajdują się takie organizacje jak The Tor Project, Debian Project, Mozilla i Freedom of the Press Foundation. System jest oparty na popularnej dystrybucji Debian i posiada w pełni funkcjonalne środowisko graficzne GNOME. Pierwszą cechą, która podkreśla wyjątkowość tego systemu, jest wyraz Live. Tails działa wyłącznie z poziomu płyty DVD lub pamięci USB; nie możemy go zainstalować na dysku twardym naszego komputera. Gwarantuje to, że działalność użytkownika nie pozostawi po sobie żadnych cyfrowych śladów w pamięci maszyny (Amnesic). Analiza logów po zamknięciu Tailsa będzie sugerować, że komputer przez cały czas pozostawał nieaktywny. System określa się też jako Incognito, ponieważ wszystkie połączenia wychodzące i przychodzące są trasowane za pomocą sieci Tor. Wszystko to, co zrobiliśmy w internecie, wykorzystując Tailsa, jest w prawie stu procentach anonimowe.

164

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Program posiada bardzo niskie wymagania sprzętowe. Do uruchomienia systemu Tails wystarczy napęd DVD lub łącze USB, dowolny procesor o standardzie IBM PC i architekturze x86 lub x86_64 oraz około 1 gigabajta pamięci operacyjnej RAM. Dla osób niewtajemniczonych w sprawy hardware’u informacja ta brzmi bardzo prosto: Tails zadziała bez problemu na każdym komputerze wyprodukowanym po 2006 roku, także na sprzęcie firmy Apple. Dzięki swoim gwarancjom bezpieczeństwa Tails stał się jednym z obiektów zainteresowań NSA. Anonimowy pracownik agencji w komentarzu do reguły szpiegującej dla XKEYSCORE nazwał go „oprogramowaniem polecanym na ekstremistycznych forach przez ekstremistów”1. Autorzy Tailsa zapewne odebrali te słowa jako pochwałę dla swojej pracy, chociaż zarówno oni, jak i z pewnością autor tych słów, są dalecy od satysfakcji, że w pierwszej kolejności z nowych możliwości korzystają ludzie o zamiarach brudnych i trudnych do zdefiniowania. Anonimowy system operacyjny znalazł swoje zastosowanie podczas afery ze Snowdenem w czerwcu 2013 roku. Troje dziennikarzy współpracujących wtedy z byłym agentem (Laura Poitras, Glenn Greenwald i Barton Gellman) przyznało, że Tails był ważną częścią ich pracy.

Ściągnięcie systemu i zamontowanie na nośniku danych System Tails jest dostępny w jego oficjalnej witrynie internetowej https://tails.boum.org/. Obraz ISO zajmuje około 1,1 gigabajta pamięci. Z racji sporych rozmiarów paczki polecam ściągnąć ją za pomocą protokołu BitTorrent. Kiedy pobieranie dobiegnie końca, obraz należy zamontować na nośniku danych. W przypadku dysku DVD wystarczy skorzystać z systemowego programu do wypalania płyt. Instalacja systemu na pamięci USB jest jednak nieco trudniejsza.

Linux Zaopatrujemy się w program Syslinux z komponentem isohybrid. Jeżeli nie mamy go na naszym komputerze, to aby go zainstalować, musimy skorzystać z repozytorium dystrybucji. Aplikacja nie posiada interfejsu graficznego, dlatego wykorzystamy terminal tekstowy. Wykonujemy w nim następujące polecenia: isohybrid ‘/miejsce/z/obrazem/tails.iso’ --entry 4 --type 0x1c dd if=‘/miejsce/z/obrazem/tails.iso’ of=/dev/sdb bs=16M

Fraza /miejsce/z/obrazem/tails.iso oznacza miejsce położenia obrazu, a /dev/sdb to przykładowy adres nośnika danych USB. Można go sprawdzić za pomocą systemowego menedżera partycji (patrz rozdział 8.).

1

Zob. rozdział 1., sekcja „XKEYSCORE”.

Rozdział 11. Wszystko w jednym. Linux Tails

165

Microsoft Windows Instalację Tailsa na pamięci USB umożliwi specjalny program Universal USB Installer, który możemy pobrać z witryny http://www.pendrivelinux.com/universal-usbinstaller-easy-as-1-2-3/. W panelu głównym aplikacji z rozwijanej listy wybieramy pozycję Tails, poniżej wprowadzamy pełną ścieżkę do pliku z obrazem ISO, a na końcu wybieramy adres dysku wymiennego, który przeznaczymy do instalacji systemu.

OS X W pierwszej kolejności należy sprawdzić adres urządzenia USB przez wpisanie w aplikacji Terminal.app następującego polecenia: diskutil list

Adres przykładowej pamięci może mieć postać /dev/disk1. Następnie powinniśmy zaopatrzyć nasz komputer Mac w program Syslinux. W paczce aplikacji o formacie .tar.gz, w podfolderze /utils znajduje się plik isohybrid.pl. Pliki isohybrid.pl i obraz ISO Tailsa (w tym przypadku tails-1.1.iso) umieszczamy w jednym katalogu, na przykład na pulpicie, i wykonujemy następujące polecenia tekstowe: diskutil unmountDisk /dev/disk1 cd Desktop perl isohybrid.pl tails-1.1.iso dd if=tails-1.2.iso of=/dev/disk1

W razie potrzeby przed ostatnim poleceniem dodajemy frazę sudo, aby wykonać je za pomocą konta root.

Ładujemy Tailsa! Po przeprowadzeniu opisanych wyżej działań można zresetować nasz komputer i uruchomić go w trybie pełnej anonimowości. Wystarczy, że przed załadowaniem systemu z dysku twardego przejdziemy w preferencje boot loadera i wybierzemy opcję ładowania za pośrednictwem płyty DVD lub pamięci USB. W zależności od producenta sprzętu dojście do programu rozruchowego będzie wyglądać inaczej, jednak efekt pozostanie taki sam. Zobaczymy pierwszy ekran systemu Tails (rysunek 11.1). Wystarczy wcisnąć Enter i zaczekać, aż załaduje się środowisko GNOME (rysunek 11.2). Z panelu powitalnego wybieramy język systemu, podawania czasu oraz układ klawiatury.

166

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Rysunek 11.1. Ekran bootowania systemu Tails

Rysunek 11.2. Ekran powitalny Tailsa

Zanim uruchomimy system, spójrzmy na dodatkowe opcje konfiguracyjne. Kiedy aktywujemy przycisk z zieloną lampką i napisem Tak, a następnie przejdziemy dalej, będziemy mogli dostosować system Tails do naszych potrzeb:  Hasło administracyjne (użytkownika root): długie i trudne do zgadnięcia hasło

nigdy nie zaszkodzi.  Kamuflaż Windows 8: ciekawa i przydatna funkcja. Sprawi, że Tails

po uruchomieniu będzie wyglądać prawie tak samo jak system Windows 8 (rysunek 11.3). Może to się przydać w miejscu publicznym, gdy będziemy chcieli uniknąć niezdrowego zainteresowania przypadkowych osób w pobliżu.

Rozdział 11. Wszystko w jednym. Linux Tails

167

Rysunek 11.3. Linux, który udaje Windowsa. Prawda, że nie do poznania?  Spoofing adresów MAC: polecam włączyć. Adres MAC to inaczej adres

fizyczny karty sieciowej, jej numer identyfikacyjny w sieciach lokalnych. Spoofing w tym sensie oznacza ukrycie faktycznego adresu MAC i zastąpienie go innym numerem, który jest losowo wygenerowany przez system Tails. Możemy przez to udawać, że pracujemy na zupełnie innym sprzęcie. Niektóre sieci lokalne mają specjalną blokadę przeciwko „obcym” komputerom i akceptują połączenia wyłącznie od z góry ustalonych adresów MAC. Dotyczy to głównie sieci firmowych lub uniwersyteckich. W takim przypadku spoofing MAC należy dezaktywować.  Ustawienia sieci Tor: Tails używa Tora jako podstawowego sposobu na łączenie

się z internetem. Odpowiednia konfiguracja będzie konieczna do prawidłowego działania systemu. W większości przypadków wystarczą ustawienia domyślne, ale jeżeli komputer wymaga serwera proxy, jego ruch sieciowy jest filtrowany lub cenzurowany, powinniśmy zerknąć na preferencje zaawansowane. W razie potrzeby odsyłam do rozdziału 6. i sekcji „Tor nie działa poprawnie. Jak żyć, co robić?”. Teraz to już wszystko — możemy załadować system! Klikamy na przycisk Login.

168

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Korzystanie z Tailsa. Podstawy Pulpit główny GNOME Zaraz po załadowaniu systemu Tails odda nam do użytku w pełni funkcjonalne środowisko GNOME. W ogólnych zarysach powinno ono wyglądać tak, jak na rysunku 11.4.

Rysunek 11.4. Domyślny pulpit Tails w GNOME

Centralną część ekranu zajmuje pulpit z domyślnie niebieskim jednolitym tłem. Znajdziemy na nim kilka podstawowych ikon — skróty do okna Komputer, do tymczasowej partycji domowej home, dokumentacji systemu, pomocy systemowej oraz kosza na śmieci. Na górnym czarnym pasku znajdziemy wszystko to, co może nam się przydać. Od lewej będzie to kolejno: menu zainstalowanych programów, menu partycji dyskowych, skróty do najważniejszych aplikacji, zegar i kalendarz systemowy, wirtualna klawiatura, GPG Agent, opcje głośności, ustawienia języka klawiatury, ustawienia połączenia internetowego i menu wyłączania systemu. Dolny czarny pasek obejmuje menedżera zadań, czyli listę włączonych okien i programów, a cztery kwadraciki po prawej stronie oznaczają wirtualne pulpity. Ich koncepcja jest bardzo ciekawa. Przerzucając okna na poszczególne pulpity, możemy zorganizować biurko i zaprowadzić należyty porządek nawet przy dużej ilości programów.

Rozdział 11. Wszystko w jednym. Linux Tails

169

Obsługę środowiska GNOME pomijam przede wszystkim dlatego, że nie to jest głównym tematem niniejszej publikacji, a tym bardziej rozdziału. Tworzenie plików, zarządzanie folderami i oknami to czynność uniwersalna i w GNOME nie wygląda inaczej. Może przeszkadzać rozbicie paska zadań na część górną i dolną, ale można się do tego przyzwyczaić. Nawet wtedy, gdy jest się zagorzałym zwolennikiem KDE. Dla czytelnika tej książki ważniejszy jest opis czynności, dzięki którym Tails może chronić naszą prywatność.

Konfiguracja połączenia internetowego W pierwszej kolejności powinniśmy uczynić naszego Tailsa bardziej użytecznym, na przykład przez połączenie się z internetem. Nie musimy instalować dodatkowych sterowników do karty Wi-Fi lub interfejsu przewodowego — na ogół wszystkie dostępne połączenia system wykryje sam (rysunek 11.5). Wystarczy wybrać odpowiednie połączenie i wpisać ewentualny klucz dostępu. Rysunek 11.5. Menu połączeń internetowych w systemie Tails

Sieć Tor Do wszystkich swoich czynności sieciowych Tails wykorzystuje trasowanie cebulowe. Nie trzeba osobno konfigurować każdej dostarczonej aplikacji — system zrobi to za nas. W momencie startu Tailsa Tor uruchomi się sam. Aby go przetestować, zajrzyjmy do programu Iceweasel. Dla przypomnienia: „Iceweasel” to nazwa przeglądarki Mozilla Firefox w Linuksie Debian i jego wszystkich dystrybucjach pochodnych (chodziło o względy natury politycznej, jak zwykle). Iceweasel w Tailsie nie jest — co warto podkreślić — zwykłym Iceweaselem czy Firefoksem. Autorzy systemu przeglądarkę zaopatrzyli w rozszerzenia sieci Tor oraz dodatki HTTPS Everywhere, NoScript i AdBlock Plus. Tailsowy Iceweasel to pełnoprawny Tor Browser do anonimowego przeglądania witryn i ukrytych usług. W momencie startu Tor Browsera na górnym pasku zadań, po prawej stronie od zegara, pojawia się ikonka cebulki. Jeżeli jest ona zielona, to połączenie z Torem nie napotkało żadnych problemów. Czarna przekreślona cebulka oznacza brak lub błąd połączenia. W razie poważniejszych problemów zresetujmy system i zrewidujmy ustawienia

170

Ukryta tożsamość. Jak się obronić przed utratą prywatności

sieci Tor. Pod samą ikonką cebulki znajduje się menu specjalnego programu Vidalia (rysunek 11.6)2. Rysunek 11.6. Menu programu Vidalia

Vidalia to graficzny panel kontrolny Tora. Możemy w nim sprawdzić między innymi zużycie łącza, logi z pracy sieci, a nawet podejrzeć trasę naszego aktualnego połączenia na mapie świata. Pozycja Nowa Tożsamość sprawi, że Vidalia wymusi na Torze utworzenie nowej trasy pomiędzy węzłami. Jedyny program Tailsa, który nie korzysta z sieci Tor, to tzw. Niebezpieczna przeglądarka, czyli podstawowy Iceweasel bez wsparcia dla trasowania cebulowego. Tails za każdym razem dodaje ją do listy wyjątków blokady połączeń niezaufanych. Jeżeli nie jest to absolutnie konieczne, należy się powstrzymać od korzystania z niej. Aplikację poznamy po charakterystycznym, czerwonym interfejsie (rysunek 11.7). Rysunek 11.7. Niebezpieczna przeglądarka to jedyny program Tailsa, który nie wykorzystuje Tora. Jeżeli nie musisz — nie korzystaj z tej aplikacji!

2

Tailsowa Vidalia to przeróbka oprogramowania dostępnego domyślnie dla systemów Windows (patrz rozdział 6., sekcja „Pomoc w rozwijaniu sieci Tor”). Nie zalecam ustawiania komputera z Tailsem jako stacji przekaźnikowej, ponieważ ujawniłoby to nasz adres IP.

Rozdział 11. Wszystko w jednym. Linux Tails

171

GPG i szyfrowanie Tails posiada wbudowany program GNU Privacy Guard, w pełni zintegrowany ze środowiskiem GNOME. Główny menedżer kluczy kryptograficznych znajduje się w menu Programy oraz podmenu Narzędzia systemowe i Preferencje. Nosi nazwę Hasła i klucze. Jego obsługa bardzo przypomina programy KGpg, Kleopatra lub GPG Keychain Access. Za jego pomocą możemy tworzyć pary kluczy, importować klucze publiczne znajomych oraz eksportować własne klucze. Wszystkich czynności dokonujemy na zakładce Klucze GnuPG (rysunek 11.8). Rysunek 11.8. Karta zarządzania GPG w programie Hasła i klucze

Poszczególne czynności wykonujemy następująco:  Tworzenie nowej pary kluczy: należy kliknąć na niebieski przycisk +, w oknie

zaznaczyć opcję Klucz PGP i postępować zgodnie z poleceniami na ekranie.  Importowanie kluczy publicznych do bazy danych: z menu Plik wybieramy

Zaimportuj i w eksploratorze wyszukujemy plik z kluczem publicznym. Można także skorzystać z internetowej bazy kluczy w menu Zdalne i pozycji Wyszukaj zdalne klucze.  Eksportowanie klucza publicznego: po zaznaczeniu klucza w oknie głównym

Haseł i kluczy z menu Plik wybieramy opcję Wyeksportuj. GPG w systemie Tails pozwala na błyskawiczne dokonywanie czynności w środowisku graficznym:  Szyfrowanie i podpisywanie zawartości schowka: jeżeli skopiowaliśmy jakiś

tekst, możemy go zaszyfrować za pomogą Agenta GPG na górnym pasku zadań.

172

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Z rozwijanego menu wybieramy opcję Podpisz/szyfruj przy pomocy kluczy publicznych i określamy adresatów oraz autora cyfrowego podpisu. Teraz, gdy wkleimy skopiowany tekst, pokaże się on w formie szyfrogramu GPG.  Szyfrowanie i podpisywanie plików: zaznaczamy plik w eksploratorze,

prawym przyciskiem myszy wywołujemy menu i wybieramy odpowiednio opcję Zaszyfruj lub Podpisz.  Odczytywanie zaszyfrowanych plików: Tails sam wykrywa, czy plik jest

zaszyfrowany. Jeżeli posiadamy odpowiedni klucz prywatny, wystarczy otworzyć szyfrogram i wpisać hasło do naszego klucza. Tails dysponuje ponadto wsparciem GPG dla wbudowanego klienta poczty Claws Mail. Korzystanie z szyfrowania jest tu w pełni zautomatyzowane:  Wysyłanie szyfrowanych i/lub cyfrowo podpisanych wiadomości: w oknie

redagowania e-maila w menu Opcje i podmenu Ochrona prywatności trzeba zaznaczyć PGP MIME. Następnie w tym samym menu aktywujemy pola Podpisz lub Szyfruj (rysunek 11.9). Claws Mail postara się sam wybrać odpowiedni klucz publiczny do zaszyfrowania lub klucz prywatny do sygnatury. Rysunek 11.9. Menu zabezpieczania wiadomości w programie Claws Mail

 Dekodowanie otrzymanych wiadomości: kiedy spróbujemy odczytać odebranego

i zaszyfrowanego e-maila, Claws Mail sam poprosi nas o podanie hasła do naszego sekretnego klucza. Po jego wpisaniu zobaczymy oryginalną treść szyfrogramu.

Bezpieczne wymazywanie plików Nie każdy system operacyjny usuwa pliki w sposób bezpieczny. Przykładem może być Apple’owski OS X, którego autorzy stworzyli niezwykle wyjątkowy majstersztyk. Po prostu: cudo. Usunięcie pliku z urządzenia przenośnego wcale nie sprawi, że plik ów znika. OS X tylko przenosi go do niewidzialnego folderu .Trashes na pamięci USB. Wprawdzie nie dostaniemy się do tego pliku przez eksplorator Finder, ale osoba bardziej obeznana z terminalem obejdzie to zabezpieczenie i rzekomo usunięty zasób otworzy. Dopiero opróżnienie systemowego kosza sprawi, że folder .Trashes zostanie permanentnie skasowany. Warto uważać na tę pułapkę.

Rozdział 11. Wszystko w jednym. Linux Tails

173

Linux Tails oferuje nam niezwykle ciekawą funkcję usuwania plików. W większości systemów operacyjnych mianem „usunięcia” określa się czynność przeniesienia obiektu do kosza i zniszczenia go. Tails jest inny. Wymazywanie plików to najbezpieczniejszy możliwy sposób na pozbycie się niepotrzebnych danych. Zanim plik zostanie zniszczony, Tails zapełnia jego zawartość losowymi bitami, a dopiero potem kasuje. Przykładowy plik tekstowy o treści Hello world!

zostanie zamieniony na (dla przykładu) 000000000000

i dopiero potem usunięty z pamięci. Aby bezpiecznie wymazać wskazany plik, prawym przyciskiem myszy wywołujemy menu kontekstowe i wybieramy polecenie Wymaż.

Tworzenie stałej partycji Tailsa na dysku wymiennym Kiedy wyłączamy Tailsa, system kasuje wszystkie wprowadzone przez nas zmiany, zapisane pliki, klucze GPG, preferencje drukarek i skanerów, ustawienia sieci Tor i tak dalej. Jeżeli z Linuksa korzystamy na pamięci USB o rozmiarze co najmniej 4 gigabajtów, mamy możliwość utworzenia specjalnej zaszyfrowanej partycji, na której będziemy trzymać efekty naszej pracy. Nie znikną one po zrestartowaniu komputera. Aby utworzyć taką partycję z menu programów, w podmenu Tails wybieramy Configure persistent volume. Wpisujemy hasło dostępu, potwierdzamy je i klikamy na przycisk Create. Wystarczy poczekać, aż kreator zakończy pracę. Ponowne uruchomienie tego programu pozwoli nam wybrać rzeczy, które chcemy zapisywać między sesjami Tailsa. Przy każdym restarcie systemu Tails na ekranie powitalnym spyta nas, czy chcemy zamontować zaszyfrowaną partycję. Jeżeli zaznaczymy, że tak, poproszeni zostaniemy o hasło, które ustaliliśmy wcześniej. Kiedy Tails załaduje środowisko, do zabezpieczonego woluminu dostaniemy się przez menu Miejsca, folder Home i podfolder Persistent. Będziemy mogli w nim zapisywać pliki i dane, których nie chcemy utracić w momencie wyłączenia komputera.

Wyłączanie Tailsa Aby wyłączyć system, należy kliknąć na przycisk Wyłącz natychmiast z menu w prawym górnym rogu ekranu. Tails wyczyści wszystkie wprowadzone w systemie zmiany (z wyjątkiem tych w katalogu /home/Persistent), logi komputera oraz pamięć operacyjną RAM. Jeżeli Tailsa używaliśmy jako Live DVD, komputer przed wyłączeniem automatycznie wysunie płytę ze stacji dysków. Po naszej działalności nie pozostanie żaden cyfrowy ślad. Ze spokojem możemy opuścić stanowisko pracy, a nośnik z systemem bezpiecznie schować.

174

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Spis najważniejszych programów Tailsa Z punktu widzenia użytkownika poniższa lista zawiera najważniejsze programy, które autorzy Tailsa dołączyli do systemu:

Sieci komputerowe  Tor i panel kontrolny Vidalia,  Firefox (Iceweasel) z wtyczkami sieci Tor, rozszerzeniami HTTPS Everywhere,

NoScript, AdBlock Plus,  Klient czatu Pidgin z wbudowaną obsługą protokołu OTR,  Claws Mail — klient e-mail,  Liferea — program subskrypcji źródeł wiadomości RSS,  Gobby — edytor tekstu z wbudowaną opcją pracy wielu użytkowników,  Aircrack-ng — narzędzie do testowania bezpieczeństwa sieci Wi-Fi, funkcjonujące tylko w trybie tekstowym (dostęp przez polecenie aircrack-ng),

posiadające funkcje łamania haseł metodą słownikową i brute-force oraz wstrzykiwania i przechwytywania pakietów sieciowych wewnątrz Wi-Fi,  I2P — klient sieci anonimowej The Invisible Internet Project.

Szyfrowanie i prywatność  LUKS — narzędzie do szyfrowania dysków i partycji,  GParted — graficzne narzędzie do partycjonowania dysków,  GNU Privacy Guard — program do szyfrowania i deszyfrowania plików

oraz wiadomości e-mail, posiadający rozszerzenie graficzne Hasła i klucze,  PWGen — narzędzie do generowania losowych haseł (dostęp z poziomu terminala przez polecenie pwgen),  KeePassX — szyfrowana baza haseł zapisanych przez użytkownika,  GtkHash — program do kalkulowania hashów dla plików oraz fraz tekstowych,  Florence — wirtualna klawiatura; korzystanie z takiej klawiatury jest wskazane

w miejscach publicznych; niektóre fizyczne klawiatury są w rzeczywistości keyloggerami, czyli szpiegowskimi urządzeniami, które zbierają dane o naciśniętych klawiszach.

Rozdział 11. Wszystko w jednym. Linux Tails

175

Inne  kompletny pakiet biurowy LibreOffice,  programy graficzne GIMP, Inkscape i Scribus,  edytory plików audiowizualnych Audacity, Pitivi i Traverso,  programy do nagrywania płyt Brasero i Sound Juicer,  narzędzia do konfiguracji drukarek i skanerów.

Powyższe programy są zalecane dla bezpiecznej pracy z dokumentami, nośnikami danych oraz sprzętem w sytuacji, gdy komputer znajduje się w miejscu potencjalnie niebezpiecznym.

176

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Skorowidz A Adblock Edge, 43 adres bitcoin, 116, 118 Bitmessage, 80 AFWall+, 140 algorytm ElGamal, 61 MD5, 55 RSA, 61 algorytmy szyfrujące, 61 Android aplikacje, 143 implementacja Tora, 141 szyfrowanie wiadomości, 142 anonimowa sieć, 156 anonimowe przeglądanie witryn, 49, 52 anonimowość, 92 APG, Android Privacy Guard, 142 aplikacje Tox, 147 architektura klient-serwer, 78 P2P, 78 ASIC, 113 atak typu man in the middle, 145 atlas świata, 99

B backdoor, 23 baza danych netDb, 157 bezpieczeństwo Bitmessage, 88 dysków, 125 mobilne, 135 partycji dyskowych, 125

przeglądarki, 41, 47 sieci bitcoin, 113 systemu operacyjnego, 138 szyfrowania, 133 telefonii i połączeń, 144 w systemie Linux, 25 wiadomości, 74 bezpieczna skrzynka pocztowa, 60 wyszukiwarka, 49, 53, 54 bezpieczne rozmowy, 152 wymazywanie plików, 172 źródło aplikacji, 139 bezpieczny system operacyjny, 136 biblioteka kluczy APG, 142 bitcoin, 110 adresy, 118 bezpieczeństwo sieci, 113 bloki, 112 funkcjonowanie sieci, 111 giełda, 120 klienty, 114 podaż, 112 przelewy, 116 sytuacja prawna, 123 tworzenie konta, 114 usuwanie adresów, 118 Bitcurex, 120 BitLocker, 127 Bitmessage, 77 bezpieczeństwo, 88 bramki, 102 generowanie adresu, 80 konfiguracja, 100 konto, 80 ochrona tożsamości, 88 odbieranie wiadomości, 81

178

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Bitmessage odzyskiwanie kont, 86 usuwanie kont, 87 wysyłanie wiadomości, 81 Bitstamp, 120 bloki, 112 blokowanie reklam, 43 skryptów, 47, 98 boot codes, 28 boot loader, 165 bramka Bitmessage.ch, 87 Tora, 102 BSD, 36

C cebulka, 92 cenzura internetu, 97 chany, 85 ciasteczka, 48 clearnet, 101 cookies, 48 Cryptocat, 152 czatowanie bez nasłuchu, 152

D dane osobowe, 57, 99 darknet, 101 Debian, 33 deszyfrowanie plików, 68 Disconnect, 45 dodatek Adblock Edge, 43 Disconnect, 46 HTTPS Everywhere, 45, 98 NoScript, 47 dostęp do zaszyfrowanej partycji, 131 dowód pracy, 81 DuckDuckGo, 54, 104 dysk wymienny, 165, 173 dyski, 127 dystrybucja BSD, 63 Debian, 33 Fedora, 33 Knoppix, 27 Linux Mint, 32 openSUSE, 31 Ubuntu, 35

dystrybucje Androida, 137 działanie serwerów proxy, 50 sieci bitcoin, 111 sieci I2P, 157

E ECHELON, 144 edytor terenu, 57 ekran bootowania Tailsa, 166 ładowania systemu, 28 powitalny Tailsa, 166 eksportowanie kluczy, 66 Electrum, 114 Enigmail, 72 Evolution, 60 exit node, 92, 108

F fałszywe dane osobowe, 56 F-Droid, 139 Fedora, 33 Firefox, Patrz Mozilla Firefox firewall, 96, 140 firma Apple, 136 Flash, 46 formularz płatności bitcoin, 117 forum ToRepublic, 103 free software, 22 FreeBSD, 37 wady, 37 zalety, 38 funkcje skrótu, 55

G generowanie adresu, 80 monet, 112 pary kluczy, 65 genesis, 112 giełda bitcoinów, 120 GNU Privacy Guard, 62, 171 Google, 48 GPG, 171 deszyfrowanie plików, 68 eksport kluczy, 66, 68 generowanie kluczy, 65 import kluczy, 67, 68

Skorowidz

179

instalacja, 62 podpis cyfrowy, 71 programy pocztowe, 72 szyfrowanie plików, 68

H handel bitcoinami, 120 hardware, 38 hash, 55 hasło, 74 hasło administracyjne, 166 historia transakcji, 114 HTTPS, 44 HTTPS Everywhere, 45, 98

I I2P, Invisible Internet Project, 156, 158 Icedove, 60 ilość bitcoinów, 112 implementacja Tora, 141 importowanie kluczy, 67 IMSI-Catcher, 145 informacje o sygnatariuszu wiadomości, 75 instalacja GPG, 63 I2P, 159 Linuksa, 30 systemu Tails, 164 Tora, 95 inwigilacja, 10, 16, 17 Ixquick, 53

J Java, 46 JavaScript, 46 jądro systemowe, kernel, 23

K kamuflaż Windows 8, 166 karta SIM, 145 subskrypcji, 85 katalog ukrytych usług, 103 kernel, 23 klient Bitcoin-Qt, 114 Electrum, 114 pocztowy, 60 PyBitmessage, 83

klucz prywatny, 61, 68 publiczny, 61, 66, 81 KMail, 60 Knoppix, 27 komenda about:addons, 42 komunikator Pidgin, 155 komunikatory internetowe, 151 konfiguracja Bitmessage, 100 połączenia internetowego, 169 programów sieciowych, 99 SOCKS, 99 ukrytej usługi, 104 wtyczki OTR, 156 konta oficjalne, 101 tajne, 101 konto bitcoin, 114 Bitmessage, 80, 86 korzystanie z I2P, 159 kryptografia, 92 kryptografia klucza publicznego, 62, 81 kryptowaluty, 109, 124

L licencje, 22 liczba bitcoinów, 111 Linux, 23 bezpieczeństwo, 25 instalacja, 30 uruchamianie z płyty, 26 wady, 25 zalety, 24 Linux Mint, 32 Linux Tails, 36, 163 lista mailingowa, 84 logowanie do serwera, 153

M menedżer pakietów, 63 zadań, 21 menu programów, 29 programu Vidalia, 170 metadane e-maila, 75 Microsoft Silverlight, 46 mobilne systemy operacyjne, 135

180

Ukryta tożsamość. Jak się obronić przed utratą prywatności

Mozilla Firefox, 42 Adblock Edge, 43 Disconnect, 46 Dodatki, 42 HTTPS Everywhere, 45 komenda about:addons, 42 opcje bezpieczeństwa, 47 Pasek programisty, 45 Mozilla Thunderbird rozszerzenie Enigmail, 72

N NAT, 106 niebezpieczna przeglądarka, 170 NoScript, 47 numer IMEI, 145 IMSI, 145

O obraz ISO, 27 obrona przed inwigilacją, 20 obsługa GPG, 64 protokołu bitcoin, 111 SSL, 45 Tora, 92 ochrona danych osobowych, 57 odmontowanie partycji, 129 okno aplikacji Electrum, 115 formatowania partycji, 130 główne zapory, 140 konwersacji, 154 programu PyBitmessage, 79 TorChata, 154 ustawień sieciowych, 155 zarządzania partycjami, 129 opcje bezpieczeństwa przeglądarki, 47 open source software, 22 OpenStreetMap, 55 openSUSE, 31 OpenVPN, 161 Orbot, 141 OTR, Off-the-Record Messaging, 152 otwarte oprogramowanie, 21 otwartoźródłowe systemy, 21

P P2P, peer-to-peer, 78 pamięć masowa, 127 panel kontrolny sieci I2P, 159 partycje dyskowe, 125–128 pasek wyszukiwania, 52 peer, 78, 82 Pidgin, 155 pieniądz wirtualny, 109 plik hostname, 106 private_key, 106 torrc, 105, 106 pliki .xpi, 73 cookies, 48, 99 poczta, 59 podaż bitcoinów, 112 podpis cyfrowy, 71 podział dysku twardego, 127 połączenia internetowe, 146 szyfrowane, 44 portal OpenStreetMap, 55 WikiLeaks, 10 porty nieblokowane, 96 PRISM, 11, 42, 59, 127 procesy, 21 program AFWall+, 140 Boundless Informant, 16 Cryptocat, 152 cryptsetup, 130 DROPOUTJEEP, 137 Electrum, 114, 118 F-Droid, 139 GNU Privacy Guard, 62, 171 GParted, 129 Hamachi, 161 Hasła i klucze, 171 KDE Partition Manager, 129 KGpg, 63 LUKS, 130 OpenVPN, 161 Orbot, 141 Pidgin, 155 Pretty Good Privacy, 62 PRISM, 11 PyBitmessage, 79, 85 Seahorse, 63

Skorowidz

181

Shallot, 106 Syslinux, 164 Tempora, 15 TorChat, 154 TrueCrypt, 127 Universal USB Installer, 165 Vidalia, 107, 170 XKEYSCORE, 13 YaST2, 129 programy do inwigilacji, 11 otwartoźródłowe, 21 Tailsa, 174 typu backdoor, 23 projekt ECHELON, 144 protokół Bitmessage, 77 HTTP, 44 HTTPS, 44 OTR, 152, 156 SOCKS, 99 Tox, 146, 147 prowizja, 112 proxy Ixquick, 49, 52 prywatna karta SIM, 148 prywatność, 23, 47, 151 przechwytywanie danych, 145 rozmów telefonicznych, 17 wiadomości, 88 przeglądarka internetowa, 41 Tor Browser, 97, 152 przekaźniki, relays, 92 przelewy, 116 pulpit główny GNOME, 168 Knoppiksa, 29 Minta, 32 openSUSE, 31 PC-BSD, 39 PyBitmessage, 79 chany, 84 karta subskrypcji, 85 lista mailingowa, 84

R rejestr operacji finansowych, 116 rozmowy cebulkowe, 154 konfidencjonalne, 149 poufne, 148 rozszerzenia Firefoksa, 42

S seed, 114 serwer proxy, 49, 96 sieci anonimowe, 156 sieć bitcoin, 111 Bitmessage, 79 I2P, 156 LAN, 160 P2P, 78, 79 Tor, 91, 93, 169 VPN, 161 Wi-Fi, 146 sierota, 112 SIM, 145 sklep Google Play, 139 skrypty, 46 Snowden Edward, 10 spoofing, 15 spoofing adresów MAC, 167 SSL, Secure Socket Layer, 45 SSLv3, 45 stacje bazowe, 145 Startpage, 49 ustawienia wyszukiwarki, 51 wyszukiwanie obrazów i filmów, 50 wyszukiwanie zaawansowane, 50 sygnatura, 75 system operacyjny BSD, 36 Linux, 23 Linux Tails, 163 system plików, 127 ext4, 130 FAT, 130 NFTS, 130 systemy inwigilacji, 16 szyfr Cezara, 60 szyfrowanie, 130, 171 czatów, 155 dysków i partycji, 125 korespondencji, 60 partycji domowej, 132 plików, 68 połączenia, 44, 45 wiadomości, 59, 142

Ś środowisko graficzne KDE, 30

182

Ukryta tożsamość. Jak się obronić przed utratą prywatności

T Tails GPG, 171 instalacja na USB, 164 ładowanie systemu, 165 połączenie internetowe, 169 prywatność, 174 pulpit główny, 168 sieci komputerowe, 174 sieć Tor, 169 stała partycja, 173 szyfrowanie, 171, 174 wyłączanie systemu, 173 telefon, 148 Tempora, 15 The Tor Library, 104 The Tor Project, 107 Thunderbird, 60, Patrz Mozilla Thunderbird TLS, Transport Layer Security, 45 Tor, 91, 158 anonimowość, 94 aspekty prawne, 108 programy sieciowe, 99 rozwijanie sieci, 106 ukryte usługi, 101 ustawienia sieci, 96 wady, 94 Tor Browser, 95, 97 Tor Browser Bundle, 95 TorBox, 104 TORCH, 104 TorChat, 154 torrent, 78, 100 TorWeb, 104 Tox, 147 tożsamość internetowa, 101 transfer danych, 146 translacja adresów sieciowych, 106 trasowanie cebulowe, 93 czosnkowe, 158 TrueCrypt, 127 tworzenie chanów, 86 konta bitcoin, 114 listy mailingowej, 85 pary kluczy, 142 stałej partycji Tailsa, 173 ukrytych usług, 108

U Ubuntu, 35 ukryte elementy witryn, 45 usługi, 101–103 ukrywanie IP, 52 uprawnienia roota, 140 ustawienia Adblock Edge, 43 Startpage, 51 Tora, 97, 167 usuwanie adresów bitcoin, 118 kont Bitmessage, 87

V Vidalia, 107 VoIP, Voice over IP, 13, 146 VPN, Virtual Private Networks, 160

W wady FreeBSD, 38 Linuksa, 25 wartość kursu bitcoin, 120 węzeł wyjściowy, 92, 108 węzły, nodes, 92 wiadomości zabezpieczone odbieranie, 74 wysyłanie, 73 widok konwersacji, 153 WikiLeaks, 10 wirtualne sieci prywatne, 160 wirus Regin, 19 Stuxnet, 19 własne ukryte usługi, 104 wtyczka HTTPS Everywhere, 45 wyłączanie Tailsa, 173 wymazywanie plików, 172 wyszukiwanie czatów, 14 wyszukiwarka AOL, 57 Bing, 56 DuckDuckGo, 54 Google, 48 Ixquick, 53 Startpage, 49

Skorowidz

183

X XKEYSCORE, 13

zarządzanie GPG, 171 partycjami, 129

Z zabezpieczanie wiadomości, 73 zagrożenia sieci komórkowej, 145 zalety FreeBSD, 38 Linuksa, 24 oprogramowania otwartoźródłowego, 22 zapora sieciowa, 96

Ź źródła inwigilacji, 10