ProteGO-Safe / specs

Opis, specyfikacja i zadania. Zacznij tutaj.
GNU General Public License v3.0
118 stars 29 forks source link

Integracja z innymi aplikacjami contact tracing w Unii Europejskiej #246

Open pkleczko opened 3 years ago

pkleczko commented 3 years ago

W nadchodzącym tygodniu aplikacja zyska funkcjonalność, która pozwoli na jej współpracę z innymi aplikacjami korzystającymi ze standardu Exposure Notification w Europie, które przyłączyły się do Bramy Federacyjnej (interoperacyjność). Brama Federacyjna (European Federation Gateway Service, w skrócie EFGS) jest bramą sieciową obsługiwaną przez Komisję Europejską, która służy do odbierania, przechowywania i udostępniania kluczy pomiędzy serwerami wewnętrznymi państw członkowskich Unii Europejskiej w celu zapewnienia interoperacyjności krajowych aplikacji contact tracingowych. Legalność interoperacyjności aplikacji tracingowych została zapewniona w Decyzji Wykonawczej Komisji (UE) 2020/1023 z dnia 15 lipca 2020 r. zmieniającej decyzję wykonawczą (UE) 2019/1765 w zakresie transgranicznej wymiany danych między krajowymi aplikacjami mobilnymi służącymi do ustalania kontaktów zakaźnych i ostrzegania w związku ze zwalczaniem pandemii COVID-19.

Link do Decyzji Wykonawczej KE 2020/1023: https://eur-lex.europa.eu/legal-content/PL/TXT/?uri=uriserv%3AOJ.LI.2020.227.01.0001.01.POL&toc=OJ%3AL%3A2020%3A227I%3ATOC Link do repozytorium GitHub EFGS: https://github.com/eu-federation-gateway-service Link do dokumentu opisującego architekturę EFGS: https://ec.europa.eu/health/sites/health/files/ehealth/docs/mobileapps_interop_certificate_governance_en.pdf

Zmiany w STOP COVID - ProteGO Safe dotyczą zarówno warstwy serwerowej jak i aplikacji. Przy integracji wybraliśmy model, który nie wymaga podawania przez użytkownika jakichkolwiek danych (np. miejsca i czasu jego podróży zagranicznych). Model ten nazywany jest roboczo “One World” i polega na tym, że wszystkie klucze z innych aplikacji contact tracingowych przyłączonych do EFGS analizowane będą w urządzeniu użytkownika posiadającego aplikację STOP COVID - ProteGO Safe. Równocześnie użytkownik, który udostępnia swoje klucze dzieli się nimi ze wszystkimi użytkownikami aplikacji innych państw członkowskich, które zdecydowały się o przyłączeniu do EFGS. Oczywiście wysyłka kluczy do tych innych aplikacji będzie możliwa tylko i wyłącznie pod warunkiem wyrażenia na to uprzedniej zgody w aplikacji. Wymiana kluczy następuje, nawet jeśli nie było możliwości spotkania z użytkownikami z innych państw członkowskich UE. Podejście jest naturalnym rozszerzeniem obecnego mechanizmu stosowanego w kraju, gdzie klucze również dostają wszyscy użytkownicy STOP COVID - ProteGO Safe. Wydawać się może, iż rozwiązanie wprowadza nadmiarowość w ilości analizowanych kluczy. Jednak przy obecnym wolumenie danych potencjalnie przesyłanych ze wszystkich państw korzystających z rozwiązania nie jest to czynnik, który będzie odczuwalny przez użytkownika. Jednocześnie uważamy, że takie rozwiązanie najbardziej chroni jego prywatność i wymaga od niego minimalnej interakcji.

Działania prowadzące do interoperacyjności aplikacji contact tracing w Europie prowadzone są pod kierownictwem grupy eHealth Network działającej przy Komisji Europejskiej. Integracja wykorzystuje rozwiązanie European Federation Gateway Service (EFGS). Państwa, które dołączyły lub dołączą w najbliższym czasie to: Niemcy, Irlandia, Włochy, Hiszpania, Holandia, Dania, Łotwa, Polska, Czechy, Chorwacja, Cypr.

Lista państw i aplikacji contact tracingowych rozwijanych w UE oraz tych, które przyłączyły się do EFGS znajduje się tutaj: https://ec.europa.eu/info/live-work-travel-eu/health/coronavirus-response/travel-during-coronavirus-pandemic/mobile-contact-tracing-apps-eu-member-states_en

Zmiany w samej aplikacji polegają na dodaniu zgody na udostępnianie kluczy innym krajom (domyślnie wyłączona), ekranie informacyjnym o funkcji interoperacyjności (z możliwością zmiany zgody w dowolnym momencie) oraz dodaniu flagi informującej o stanie zgody przy wysyłaniu kluczy do serwera. Zgoda przechowywana jest lokalnie w pamięci trwałej urządzenia użytkownika.

Zmiany po stronie serwera to dodanie warstwy komunikacyjnej z serwerem EFGS, która cyklicznie pobiera wszystkie nowe klucze pojawiające się na nim i dodaje je do krajowych danych znajdujących się w serwerze kluczy. Również cyklicznie wysyłane są nowe klucze udostępnione przez użytkowników aplikacji STOP COVID - ProteGO Safe. Przy wysyłce do zbioru kluczy doklejane są dodatkowe, wygenerowane przez serwer klucze (uzupełnienie do 1000) a końcowy zbiór wymieszany, tak aby utrudnić jakąkolwiek możliwość deanonimizacji danych. Część z państw stosuje podobny mechanizm dopełniania kluczy.

Zapraszam do ewentualnych pytań.

potiuk commented 3 years ago

Świetna wiadomość! Dzięki za informację!

tomekziel commented 3 years ago

Czy "polskie" sztuczne tysiąc-ileś dziennych kluczy wędruje za granicę, czy też są one wrzucane tylko do paczek pobieranych z https://exp.safesafe.app?

pkleczko commented 3 years ago

Czy "polskie" sztuczne tysiąc-ileś dziennych kluczy wędruje za granicę, czy też są one wrzucane tylko do paczek pobieranych z https://exp.safesafe.app?

Tak, przy czym są to jeszcze inne klucze niż te generowane przy samym tworzeniu paczek kluczy dla aplikacji (zip). Również my pobierając klucze z EFGS będziemy pobierali doklejone klucze, które inne kraje zdecydowały się dołączać przy wysyłce.

pkleczko commented 3 years ago

Zarówno aplikacja iOS jak i Android z integracją z EFGS są już w sklepach. Po stronie backendowej również integracja została w pełni wdrożona.

pkleczko commented 3 years ago

Pojawił się też oficjalny komunikat prasowy odnośnie integracji z EFGS: https://www.gov.pl/web/cyfryzacja/nowa-funkcja-aplikacji-stop-covid-ostrzez-w-europie