ProteGo. Czy samo otwarcie kodu wystarczy, by walczyć z COVID-19 bezpiecznie?

Ministerstwo Cyfryzacji pracuje nad kolejną appką mającą wspomóc walkę z pandemią COVID-19 w Polsce. Dokładnie, by powrót do normalnego życia po zakończeniu okresu „narodowej kwarantanny” był bezpieczny. Zanim przeczytasz resztę tego tekstu zachęcam do przeczytania ogłoszenia na stronie MC.

Bardzo, bardzo, bardzo chwali się otwarcie kodu. Przed laty intensywnie lobbowaliśmy to jako Fundacja Wolnego i Otwartego Oprogramowania (FWiOO). Fajnie, że w końcu się dzieje. Niestety ten fakt, sam z siebie, nie gwarantuje ani bezpieczeństwa, ani zaufania.

Cel aplikacji, jest kontrowersyjny. Z drugiej strony czas pandemii zaczął już przyzwyczajać do bezkompromisowego naruszania naszej prywatności. O ile w Polsce ta inwigilacja nie jest jeszcze jakoś bardzo zaawansowana, to na świecie wprowadzają ją bezpardonowo.

W teorii rozwiązanie nie brzmi źle i ma predyspozycje bycia fair w stosunku do użytkownika. Warunkiem jest, aby rzeczywiście żadne dane identyfikujące nie były przesyłane na serwery. Słabym punktem wszelkich tego typu rozwiązań jest ich dystrybucja za pomocą sklepów takich jak App Store czy Google Play. Wprowadzają one do całego łańcucha pomiędzy kodem w repozytorium na githubie, a użytkownikiem elementy wymagające od nas zaufania do tych, którzy odpowiedzialni są za przygotowanie paczki i umieszczenie jej w sklepach. Musimy im, ich szefom oraz szefom tych szefów zawierzyć, że po zgarnięciu kodu z repo nie dodają nic, co mogłoby dodatkowo zbierać informacje o użytkownikach i przekazywać je do serwerów ministerstwa.

Oczywiście powyższe ma zastosowanie, gdy kod będzie sprawdzony przez niezależnych programistów i specjalistów, a Ci powiedzą, że rzeczywiście realizuje on przedstawione przez autorów założenia w sposób bezpieczny.

Jest kilka metod na zbudowanie takiego zaufania, ale każda z nich wymaga pewnej biegłości technicznej. W pierwszym przypadku po wystawieniu przez ministerstwo appki w sklepach, ktoś pobiera je i generuje ich sumy kontrolne (z uwzględnieniem dodawanych w procesie publikacji sygnatur). Jest to ciąg znaków unikalny dla zawartości danego pliku. Nawet najdrobniejsza jej zmiana skutkuje uzyskaniem zupełnie innej sumy kontrolnej. W drugim kroku osoba taka pobiera kod appki z repozytorium na githubie i samodzielnie buduje go, zgodnie z udostępnioną przez autorów instrukcją, by uzyskać taki sam plik, który umieszczony może być w sklepie i na urządzeniu mobilnym. Jeśli suma kontrolna samodzielnie skompilowanej aplikacji oraz tej pobranej ze sklepu są identyczne, wtedy mamy pewność, że nic po drodze do naszego urządzenia nie zostało do niej dodane.

W drugim przypadku możemy zdać się, na alternatywne sklepy z aplikacjami. Dla Androida jest to FDroid, sklep zawierający tylko aplikacje o otwartym kodzie, w dodatku kompilowane bez elementów śledzących użytkownika (jak tamten moduł facebooka w Kwarantannie Domowej). By za pośrednictwem FDroida udostępnić appkę należy zapewnić powtarzalność jej budowania, ponieważ udostępniane są jedynie aplikacje, które budowane są samodzielnie przez automat, by wykluczyć możliwość działań opisanych wcześniej.

Sam zdecydowałbym się na zostanie użytkownikiem ProteGo tylko pobierając ją właśnie z FDroida.

Drugą częścią kontrowersji tego pomysłu ministerstwa jest potrzeba odpalonego wciąż modułu bluetooth. Wyłączenie zarówno jego, jak i pozostałych czujników (NFC, WiFi, 3/4G), gdy tylko nie są nam potrzebne jest jednym z podstawowych zaleceń bezpiecznego korzystania ze smartfona. Technologia Bluetooth posiada wiele dziur, a nie wszystkie z nich załatać można poprzez aktualizację oprogramowania (firmware), część z nich wymaga wymiany modułu sprzętowego w telefonie na nowszy.

Zdecydowana większość użytkowników smartfonów posługuje się starszymi ich modelami, wrażliwymi na takie zagrożenia. Znikome ich grono jest w stanie samodzielnie dokonać wymiany modułu na nowszy, bez zakupu nowego urządzenia. Zastosowanie ProteGo zgodnie z zamysłem ministerstwa niestety spowoduje, że Polacy będą chodzić po ulicach i siedzieć w swoich domach czy biurach z otwartymi furtkami dla cyberprzestępców w kieszeniach.

Więcej

Komunikat o zmianie klucza GPG

Data: 8 października 2015

(Możesz również pobrać poniższy komunikat podpisany oboma kluczami)

Z wielu powodów stworzyłem ostatnio nowy klucz OpenPGP, którego od teraz będę używał, porzucając klucz stary.

Stary klucz będzie nadal ważny przez jakiś czas, ale wolałbym, by wszelka przyszła korespondencja korzystała już z nowego klucza. Chciałbym też, by nowy klucz został zintegrowany do sieci zaufania. Niniejsza wiadomość podpisana jest oboma kluczami, by ją uwiarygodnić.

Stary klucz to:

pub   2048R/DBAB60F2 2012-09-08
      Key fingerprint = 99A7 D000 D012 7BD7 F497  BC51 C277 D526 DBAB 60F2

Nowy klucz to:

pub   4096R/3F332AEF 2015-10-08 [wygasa: 2017-10-07]
      Key fingerprint = 39FB 5452 5236 AB4E 886E  BA75 CE97 A663 3F33 2AEF

By pobrać cały klucz z publicznego serwera kluczy, możesz zwyczajnie:

gpg --keyserver pgp.mit.edu --recv-key 3F332AEF

Jeśli zaś masz już mój stary klucz, możesz upewnić się, że nowy klucz jest podpisany kluczem starym:

gpg --check-sigs 3F332AEF

Jeśli nie masz mojego mojego starego klucza, lub chcesz się dodatkowo upewnić, że wszystko gra, możesz porównać odciski palca kluczy:

gpg --fingerprint 3F332AEF

Gdy jesteś usatysfakcjonowany i pewny, że masz właściwy klucz, i że UIDy kluczy zgadzają się z oczekiwanymi, byłbym zobowiązany za podpisanie mojego nowego klucza. Można to zrobić za pomocą komendy:

**
UWAGA: jeśli mój klucz jest już przez Ciebie podpisany, ale wyłącznie lokalnie (lsign), użyj komendy —lsign-key zamiast tego, co poniżej, i nie wysyłaj podpisów na serwer kluczy
**

gpg --sign-key 3F332AEF

Chciałbym w miarę możliwości otrzymać Twoje podpisy mojego klucza. Możesz mi je wysłać mailem, jeśli masz działające MTA na swoim systemie):

gpg --armor --export 3F332AEF | mail -s 'Podpisy OpenPGP' marcin@karpezo.pl

Przy okazji — mocno sugeruję wdrożenie mechanizmu automatycznego odświeżania kluczy w celu otrzymywania na bieżąco rewokacji i innych aktualizacji stanów kluczy. Można do tego użyć parcimonie — daemona, który powoli, w tle, odświeża klucze z serwerów kluczy przez Tora. Używa losowego czasu przerw pomiędzy kolejnymi akcjami, i oddzielnych tras w sieci Tor dla każdego z kluczy. Oznacza to, że ciężko byłoby komukolwiek skorelować aktualizacje kluczy z Twoim zestawem kluczy.

Gorąco też zachęcam do zapoznania się z najlepszymi praktykami dotyczącymi GPG, zebranymi przez RiseUp; stamtąd bezczelnie ukradłem większość angielskiego tekstu niniejszej wiadomości. 😉

https://help.riseup.net/en/security/message-security/openpgp/best-practices

Jeśli pojawią się jakieś pytania bądź problemy, proszę o sygnał i przepraszam za zamieszanie.

P.S. – ogromne dzięki dla ryśka, za wykonanie polskiej wersji tego tekstu i jego publikację na CC BY-SA.

Więcej

WordPress przestaje dbać o naszą prywatność

WordPress w ostatnim czasie (wprowadzanie usług takich jak gravatar, hardkodowane odwołania do Google Fonts) przestaje dbać o prywatność użytkowników. Ma to znaczenie w kilku zastosowaniach: np. wśród aktywistów, którzy chcą założyć stronę dotyczącą spraw o które walczą; dotyczy też użytkowników WP z Polski, którzy z tego właśnie względu mają problemy z wyświetlaniem polskich liter na swoich stronach. Zastosowań jest znacznie więcej, wniosek jest jeden: Instancja WordPressa po instalacji nie powinna łączyć się z żadnym serwerem poza swoim hostem.

Więcej

Prywatność i bezpieczeństwo podczas codziennego korzystania z sieci

W czwartek, 19 stycznia poprowadziłem warsztaty poświęcone wykorzystaniu narzędzi pomagających w zachowaniu prywatności i bezpieczeństwa podczas codziennego korzystania z sieci w ramach cyklu spotkań Linux w Laboratorium Mobilnych BRAMA. Przedstawiłem rozwiązania oparte o przeglądarkę Mozilla Firefox, jednak w notatkach umieszczę również kilka przydatnych dodatków, dla Google Chrome/Chromium. Nagranie z warsztatów podrzucę gdy je otrzymamy. Warto tu również zwrócić uwagę na to że wczorajsze nagranie było również chrztem bojowym przed nagraniami, które zaczną się wkrótce odbywać w ramach bramowo-osmediowo-fwioowo-* działalności podcastowej. Dzięki Jakubowi mamy dostęp do pr0fesjonalnego sprzętu, który pomoże nam w odpowiedniej realizacji i postprodukcji.

Więcej