Jak funguje eRouška 2.0, Corona-Warn-App aj., a Exposure Notification API

TL;DR: ČR má je aktuálně v době psaní tohoto textu (18.9.2020) nejhorší čísla nakažených na COVID-19 z celé Evropy. Nainstalujte si eRoušku2 (https://erouska.cz/), noste roušky, nedělejte blbosti, dávejte na sebe i druhé pozor.

Nabízím pár technických detailů, jak funguje to Exposure Notification API, které využívá od včerejška nová eRouška2.0, již pár měsíců německá Corona-Warn-App, rakouská Stopp Corona App, nová verze polského ProteGO Safe, švýcarský SwissCovid a mnohé další:

Synchronizace probíhá u nové eRoušky a všech dalších aplikací postavených na novém Exposure Notification („Google-Apple“) API jednou denně tak, že pokud je mobil na datech nebo wifi, tak si jednou za den stáhne z národního serveru databázi ID, která byla prohlášena za nakažené.

Lokální databázi zachycených beaconů za posledních 14 dnů, která zůstává jen v telefonu uživatele, si appka porovná s tímto blacklistem, a pokud tam je někdo nakažený, a splňuje i podmínky naprogramované v aplikaci (a mírně odlišné v různých zemích), u nás tedy nějaká síla signálu odpovídající vzdálenosti <2 m a době kontaktu >15 minut, tak to napíše alert, že jsi byl v kontaktu s nakaženým.

Hygiena ale o tobě nic neví, ty se nedozvíš nic o tom kdo to byl, kdy to byl a kde to bylo ani kdy přesně to bylo. Kdo to byl a kde to bylo zjistit rozumně ani nejde, protože celý protokol byl takto záměrně navržen (Privacy by design!), vysílaná ID se mění deterministicky z master ID co 10 minut a bez znalosti toho master ID nelze z jednotlivých ID odvodit předchozí ani další (podobně jako u „HD“ bitcoinových peněženek odvozených z jednoho master seedu).

Jen ti vyskočí notifikace „vysoké riziko, setkali jste se s nakaženým, izolujte se nebo sledujte symptomy, noste roušku“ atd. podle toho, jak je zrovna daná appka naprogramovaná. Německá Corona-Warn ukazuje, kolik dnů už měření kontinuálně probíhá, a pokud dost dlouho, tak to počítá a zobrazuje „Nízké“ nebo „Vysoké“ nebo možná i nějaké střední riziko přenosu nákazy.

Pokud se naopak stane, že ty sám jsi nakažený, tak nově ve výsledku každého PCR testu provedeného u nás bude nějaký ověřovací kód (aby nákazu do databáze nehlásili boti a kdokoli bez průkazného testu, což by celý systém zneplatnilo), který ty zadáš do té appky a povolíš až tímto ověřeným kódem pozitivního testu odeslání databáze tebou vygenerovaných ID co se každých 10 minut měnily do národní databáze.

Do druhého dne jak se postupně ostatní appky budou serveru dotazovat na čerstvá data nakažených ID, všem kteří za posledních 14 dnů zachytili některé z ID tvého telefonu a splňují ty podmínky blízkosti a doby kontaktu vyskočí notfiikace, … ad infinitem, dokud všichni neumřem.

Omezení: Aktuálně mezi sebou státy nesdílí ty databáze nakažených ID. Beacony vysílané všemi těmito aplikacemi by měly být plně kompatibilní a vaše eRouška chytá i signály okolních lidí s německým Corona-Warn-App a rakouským Stopp Corona App, ale pokud se oni nakazí a nahlásí to skrze své aplikace, údaj zatím doteče jen do jejich německé a rakouské databáze, kterou si ale česká eRouška nestahuje. A to samé obráceně. Státy se musí domluvit, aby buď databáze blacklistů zpřístupnily sousedním nebo všem zemím tak, aby i česká eRouška mohla krom české databáze nakažených ID stahovat i databázi rakouskou, německou a jakoukoli jinou (např. že si v appce zvolím, že chci stahovat víc dat i z databází sousedních zemí), nebo že přímo na úrovni těch národních databází budou dávkově téct data a sdílet údaje o těchto nakažených ID, nebo se databáze opravdu sloučí do nějaké obří databáze… naráží to samozřejmě na problém , jak to rozumně škálovat, jak nenutit všechny lidi na světě denně stahovat databázi ID všech nakažených lidí na celém světě, které nebyla šance potkat, a jak to udělat legislativně. Ale pracuje se na tom. Stejně teď nám všechny země víceméně zakazují vstup a nikdo k nám teď nebude chtít jezdit, takže to minimálně pár týdnů nemusíme moc řešit.

Druhé omezení je, že pokud pendlujete do Německa či Rakouska, Android vám nedovolí současně používat víc než jednu appku co s Exposure Notification API pracují. Můžete mít nainstalovanou jak eRoušku tak Corona-Warn, ale ručně si musíte při přejetí hranic přepnout, které appce zrovna dáte práva API využívat a pak zase zpátky. Nebo mít fyzicky dva mobily.

Autor

Martin

Pracuji jako ajťák a grafik na volné noze, zejména ale pro brněnskou firmu vyrábějící ekodrogerii. Dále působím v brněnském systému místní směny Rozleťse, Českém zahrádkářském svazu, České psychedelické společnosti, spolku Archetypal a Mezinárodní komunitě dzogčhenu. Chcete mě podpořit? BTC: 37mf2FJR26Ce3DxMkocukJDgB1eVjasnZB, příp. PGP podepsané adresy dalších kryptoměn.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *