Reklama
Reklama
Technologia

mSzyfr nie jest polskim rozwiązaniem. Zajrzałem do środka rządowego komunikatora

Polska administracja miała dostać własny, bezpieczny komunikator – mSzyfr. Według deklaracji polityków rozwiązanie miało być niezależne i „w 100 proc. polskie”. Sprawdziłem to. Okazuje się, że pod polską nazwą kryją się w dużej mierze gotowe technologie z zagranicy. Ministerstwo Cyfryzacji albo więc wprowadza opinię publiczną w błąd, albo korzysta z oprogramowania w sposób niezgodny z jego licencją.

Łukasz Jachowicz
Felieton autorstwa: Łukasz Jachowicz
Wczoraj 19:36
8 min
Minister Paweł Olszewski zapewniał, że mSzyfr jest "oparty o polskie rozwiązania, o polską infrastrukturę, polski kod; nie ma żadnych zewnętrznych komponentów". (fot. Albert Zawada / PAP)

Reklama

Niemal dokładnie rok temu wybuchła podwójna afera Signalgate. Najpierw okazało się, że czołowi amerykańscy politycy prowadzili tajne dyskusje na komunikatorze Signal i przypadkiem doprosili do nich redaktora naczelnego pisma „The Atlantic”. Zaraz potem ktoś włamał się na serwery producenta TeleMessage – komunikatorów zmodyfikowanych na potrzeby amerykańskiej administracji – i wykradł z nich odszyfrowane archiwa rozmów i listy kontaktów. Amatorka zarówno po stronie użytkowników, jak i dostawców.


Reklama

W Polsce przez długi czas udawaliśmy, że problemu nie ma. Poza jednym wyjątkiem – komunikatorem „Merkury”, który zbudowało dla siebie wojsko. Cywilnym decydentom wdrożono komunikator Threema, jednak docelowi użytkownicy aktywnie go ignorują, korzystając z popularnych komunikatorów zainstalowanych na prywatnych telefonach. 

Sytuację ma zmienić mSzyfr, „pierwsze polskie, bezpłatne narzędzie do bezpiecznej komunikacji”. Komunikator opracowany przez Ministerstwo Cyfryzacji we współpracy z NASK ma zapewnić bezpieczną łączność całej administracji, najważniejszym przedsiębiorstwom i każdemu, komu minister pozwoli dołączyć do sieci. 

mSzyfr a sprawa polska

 


Reklama

mSzyfr działa jako aplikacja na telefonach komórkowych, jest też dostępny przez przeglądarkę. Choć nie każdy może z niego korzystać, zainstalować – już tak. Sama dostępność pakietów instalacyjnych pozwoliła mi zajrzeć pod podszewkę aplikacji. Co znalazłem? 


Reklama

Ministerstwo Cyfryzacji podkreśla, że nowe rozwiązanie korzysta ze znanej i bezpiecznej architektury Matrix. I rzeczywiście – aplikacja po uruchomieniu wyświetla okno logowania wyglądające identycznie jak to, które pojawia się przy starcie jednego z popularnych komunikatorów – programu opartego na tej architekturze, czyli Element X. Jedyne widoczne różnice to podmienione logo i nazwa programu.

Bliźniacze ekrany aplikacji mSzyfr i Element. (fot. mat. autora / Shutterstock)

Już pobieżna analiza pakietu wykazała, że androidowy klient mSzyfr – choć nie jest kopią programu Element X – ma z nim wiele wspólnych cech. Współdzieli nie tylko wygląd i część plików. W kodzie mSzyfru można znaleźć bezpośrednie odwołania do domeny element.io. Nazwa element.io pojawia się też na jednym ze zrzutów ekranu zamieszczonym w instrukcji instalacji.


Reklama

Zrzut ekranu z kodem aplikacji mSzyfr. (fot. mat. autora)


Reklama

W publicznie dostępnej dokumentacji programu mSzyfr trudno znaleźć informację, jak wygląda infrastruktura serwerowa tego rozwiązania. Producent aplikacji Element X udostępnia jednak również pakiet Element Server Suite, czyli serwer obsługujący obsługę całej łączności między użytkownikami komunikatorów wykorzystujących protokół Matrix. 

Jak wynika z internetowej wypowiedzi głównej specjalistki w Ministerstwie Cyfryzacji, polskie wdrożenie wykorzystuje na serwerach Element Server Suite w wersji Pro. To wersja oprogramowania, którą można uruchomić na własnych serwerach, więc jej działanie jest – przynajmniej w teorii – kompletnie niezależne od dostawcy rozwiązania. 

Krótki przerywnik. Wyjaśnijmy, czym jest Matrix 

Twórcy firmy Element są współtwórcami Matriksa – otwartego protokołu komunikacyjnego, umożliwiającego przekazywanie danych tekstowych, głosowych i wideo. W przeciwieństwie do rozwiązań takich jak np. Microsoft Teams, specyfikacja Matriksa jest powszechnie dostępna.


Reklama

Podobnie jak z e-mailem, gdzie każdy może wybrać własny program pocztowy, wiadomości wysłane z jednego programu zostaną bez problemu otwarte przez inny. Dzięki temu nawet gdy twórcy wykorzystywanych przez nas aplikacji komunikacyjnych zamkną swoje projekty, przejście do nowego dostawcy powinno przebiec bezproblemowo. 


Reklama

Część z dostępnych komunikatorów Matrix – w tym wykorzystywany do stworzenia mSzyfru Element X – wspiera szyfrowanie end-to-end. Oznacza to, że niezaszyfrowane wiadomości są dostępne wyłącznie dla nadawcy i odbiorcy wiadomości, a operator serwera pośredniczącego w komunikacji nie ma do nich dostępu.

Coś, co wydaje się zaletą, generuje jednocześnie problem. Pełne szyfrowanie komunikacji zapewnia jej poufność, ale mSzyfr ma być komunikatorem wykorzystywanym przez administrację w procesie podejmowania decyzji w sprawach publicznych. Aby zarchiwizować dane, serwer ESS Pro do każdej konwersacji może dołączyć do rozmowy bota, który widzi i zapisuje na serwerach operatora całą jej treść. O tym jednak więcej – za chwilę. 

Miała być otwartość, wyszło jak zwykle 

W kontekście mSzyfru dużo słyszeliśmy o jego polskości, suwerenności i zasadach open source. Nawet w czasie obrad sejmowej komisji cyfryzacji minister Paweł Olszewski podkreślił, że mSzyfr jest „oparty o polskie rozwiązania, o polską infrastrukturę, polski kod; nie ma żadnych zewnętrznych komponentów”. Jak to wygląda w praktyce?


Reklama

Otóż: mSzyfr nie jest polskim rozwiązaniem. Aplikacja instalowana na telefonach użytkowników w dużej mierze wykorzystuje produkt opracowany przez brytyjską firmę Element Creations Ltd. Prawdopodobnie podobnie jest z częścią serwerową.


Reklama

Nie wiadomo, czy i jak mocno został zmodyfikowany oryginalny kod – nie dowiemy się tego, jeśli autorzy mSzyfru nie udostępnią jego kodu źródłowego.

Istnieje niekomercyjna, open source’owa wersja serwera i klienta Element. Jej licencja nakazuje umożliwienie użytkownikom pobrania kodu źródłowego i wprowadzanych poprawek. Z kolei komercyjne wersje programu Element nie są dostępne na zasadach open source. Bez zgody autorów nie wolno ich dystrybuować. Szeroko zakrojone poszukiwania kodu źródłowego mSzyfru nie zakończyły się sukcesem, co sugeruje, że albo Ministerstwo Cyfryzacji wprowadza nas w błąd opowiadając o zasadach open source, albo wspólnie z NASK łamie zasady licencji AGPL. 

Wykorzystanie gotowego rozwiązania nie jest złym podejściem. Element jest komunikatorem sprawdzonym, powszechnie wykorzystywanym i szeroko badanym pod kątem bezpieczeństwa. Użycie otwartego protokołu Matrix oznacza, że nawet jeśli w przyszłości drogi twórców Elementu i polskiego rządu się rozejdą, całą komunikację będzie można płynnie przestawić na nowe rozwiązania.


Reklama

Jednak obiecano nam coś innego. Miało być suwerenne, całkowicie polskie rozwiązanie, i otwartość kodu źródłowego. Pierwsze analizy wskazują, że mSzyfr to po prostu przebrandowany i delikatnie zmodyfikowany powszechnie stosowany brytyjski produkt – którego kod źródłowy jest, owszem, dostępny – ale nie wersji wykorzystywanej przez polską administrację. 


Reklama

Czy mSzyfr ma sens?

Administracja publiczna potrzebuje własnego komunikatora. Nie tylko, by zminimalizować ryzyko wycieku danych spowodowane wykorzystaniem przez decydentów zewnętrznych narzędzi komunikacyjnych, ale też by zapewnić przejrzystość procesu decyzyjnego.

Jeśli serwer mSzyfr będzie miał włączoną archiwizację całej przechodzącej przez niego komunikacji, jego użycie przez urzędników zwiększy transparentność podejmowania decyzji. 

Gdy urzędnicy lub politycy decydowali się na dyskusję przy pomocy zewnętrznych narzędzi, takie jak Signal czy WhatsApp, otwierali nieformalny i niemożliwy do kontroli kanał decyzyjny. Jakie to może mieć konsekwencje? Warto przypomnieć choćby sprawę wiadomości wysyłanych między Ursulą von der Leyen a przedstawicielami firmy farmaceutycznej Pfizer. Do dziś nie wiadomo, jakie były kulisy rozmów dotyczących 1,8 mld dawek szczepionek na COVID – szefowa Komisji Europejskiej argumentowała, że nie udostępni wiadomości dziennikarzom „New York Times”, bo je… skasowała. 


Reklama

Odpowiednio skonfigurowany mSzyfr może zapobiec takim sytuacjom – i wytrąci z ręki argument „używam Signala, bo komunikacja bezpośrednia jest szybsza”.


Reklama

Wykorzystanie otwartego protokołu komunikacyjnego również jest krokiem we właściwym kierunku. Bazowanie na zamkniętych, tajnych lub należących do zewnętrznych podmiotów metodach komunikacji uzależnia państwo od konkretnych rozwiązań. I – tak jak w przypadku narkotyków – nawet gdy pierwsza dawka jest tania, późniejsze podtrzymanie uzależnienia staje się kosmicznie drogie.

Nawet użycie gotowego rozwiązania nie jest zaskakujące. Komunikator Element jest sprawdzonym i dobrze działającym rozwiązaniem. To, co dziwi, to niepotrzebnie wykreowana wokół mSzyfru otoczka „polskości” i „niezależności” rozwiązania, którego prawdziwy twórca nie jest nawet zarejestrowany w państwie Unii Europejskiej.

Biorąc pod uwagę wielkość polskiego państwa i możliwości programistów pracujących dla NASK, lepszym rozwiązaniem wydaje się być wykorzystanie kodu dowolnego istniejącego komunikatora rozpowszechnianego na zasadach open source i zmodyfikowanie go na polskie potrzeby. Nawet z (komercyjną) pomocą jego oryginalnych twórców. Zamiast tego zostaliśmy z dużym znakiem zapytania co do licencji, którą chronione jest rozwiązanie mSzyfru, i naszej przyszłej niezależności od brytyjskiej firmy Element Solutions Ltd.


Reklama

Źródło: Zero.pl
Łukasz Jachowicz
Łukasz JachowiczSpecjalista ds. cyberbezpieczeństwa oraz styku prawa i nowych technologii. Były członek Rady ds Cyfryzacji, wieloletni doradca największych korporacji technologicznych, podkaster zajmujący się cyberbezpieczeństwem, nauką i techniką.