Objavljeno: 30.9.2020 08:35 | Avtor: Matej Huš | Monitor September 2020

Z aplikacijo nad korono

Od ponedeljka, 17. avgusta, je na voljo slovenska aplikacija za sledenje stikom, kjer bi se lahko okužili s koronavirusom. Preteklo je ravno dovolj časa, da jo na hitro pogledamo in raziščemo, kako deluje. To pot v Sloveniji niso izumljali tople vode, temveč so »prevedli« nemško aplikacijo, ki uporablja standardizirane Googlove oziroma Applove vmesnike.

Slovenska aplikacija #OstaniZdrav je edina, ki ima v imenu »lojtro«. Nemci imajo Corona-Warn-App, Avstrijci Stopp Corona in Hrvati Stop COVID-19. Če pustimo vnemar dejstvo, da slovenska aplikacija uporabnike tika (uporabnice pa ignorira), jo je zato težko najti. Kdor vpiše v Google Play Store »ostani zdrav«, aplikacije ne bo našel. Šele vpis besed skupaj, bo na tretjem (?) mestu (za nemško in hrvaško aplikacijo) videl #OstaniZdrav. Razlog za lojtro v imenu je neznan.

Aplikacija deluje na Androidu 6 ali novejšem, na iOS pa bo potrebovala vsaj različico 13. Slednja bo na AppStoru izšla konec avgusta, obljubljajo. Slovensko aplikacijo je po naročilu Nacionalnega inštituta za javno zdravje (Nijz) in ministrstva za javno upravo (MJU) prilagodilo podjetje RSteam, saj gre v glavnem za lokalizacijo nemške aplikacije. Razvoj slednje je stal 20 milijonov evrov, je poročal Deutsche Welle junija, mesečni stroški obratovanja pa znašajo 2–3 milijone evrov (večina odpade na vzdrževanje linij za pomoč uporabnikom in bolnikom). Mi smo za prevod aplikacije RSteamu plačali zgolj nekaj več od 4000 evrov.

Aplikacija nikoli ne porabi več kot odstotek baterije.

Če namestitev nemško različico aplikacije, je očitno, da je razlika z našo res zgolj v jeziku. Pri nas imamo na voljo slovenščino, italijanščino, madžarščino in angleščino. Jezika ne moremo izbrati ali v aplikaciji spremeniti sami, temveč je to privzeto jezik operacijskega sistema Android (ali angleščina, če imamo kaj tretjega). Ko aplikacijo naložimo, se moramo najprej prebiti skozi kup opozoril, obvestil in navodil. Uvodni naslov: naprej. Politika zasebnosti: naprej. Vklop spremljanja stikov: naprej. Kaj storiti ob pozitivni diagnozi: naprej. Prejemanje opozoril o tveganju: naprej. Dovoli aktivnost v ozadju: naprej. Stalno izvajanje v ozadju: naprej. In nato nam uspe priti do aplikacije.

Bo bluetooth zmogel?

Bluetooth, ki nikoli ni slovel po stabilnih povezavah, ima zdaj možnost, da reši svet. Jaap Haartsen in Sven Mattisson, ki sta ga izumila, sta za The Inrecept pojasnila, da se za oceno bližine stika uporablja RSSI (Received Signal Strength Indication). V teoriji močnejši signal pomeni večjo bližino, a na jakost vplivajo tudi ovire, odboji itd., zato se lahko zgodi, da sta telefona zgolj meter vsaksebi, a ker je med njima človek, je signal dovolj oslabljen, da se registrirata kot 10 metrov oddaljena. Torej smo pred neizbežno dilemo: strogost določanja stikov nagniti proti več lažnim alarmom (false positive) ali proti spregledanim stikom (false negative). A idealne rešitve trenutno pač ni.

Treba je priznati, da je uporabniku prijazna. Nastavitev skorajda ni. Edine možnosti so: vklop ali izklop beleženja izpostavljenosti, vklop ali izklop prikazovanja obvestil o tveganju in vklop ali izklop prednostnega delovanja v ozadju (aplikacija lahko vedno pošilja obvestila). In to je to. Uporabnik torej aplikacijo namesti in pozabi nanjo. Če gre vse po sreči, ga nanjo spominja le ikona vključenega bluetootha, ki mora biti stalno aktiven. Pričakovali bi, da bo to strahovito praznilo baterijo, a je dvodnevno testiranje (več časa ni bilo) pokazalo, da aplikacija nikoli ne porabi več kot odstotek baterije. Na avtonomijo torej ne vpliva opazno.

Razlog se skriva v uporabi tehnologije Bluetooth Low Energy (BLE), ki porabi manj energije kot običajen bluetooth. Za delovanje aplikacije moramo vključiti bluetooth in lokacijo, kar je povzročilo precej dvignjenih obrvi, koliko nam aplikacija sledi (čeprav sama ne zahteva pravic za dostop do lokacije). Razlog je tehnične narave, saj je iz bluetootha tehnično mogoče ugotoviti lokacijo na posreden način (če ima povezana naprava vključeno lokacijo). Google zato ne dovoli uporabe bluetootha brez vključitve lokacijskih podatkov. Aplikacija pa nima pravice za dostop do lokacijskih podatkov in tudi ne dovoli zajemati zaslonskih posnetkov.

Kako deluje

Pa poglejmo, kako deluje. V starih predkoronskih časih je morala biti aplikacija, ki je uporabljala bluetooth, v ospredju, sicer povezava ni delovala. Prav tako je običajni bluetooth, čeprav BLE seveda ni nov, tratil veliko preveč energije. Da ne bi vsak razvijalec packal po svoje, sta Google in Apple sedla skupaj in razvila standardizirana API (application programming interface), ki ju uporabljajo vse tovrstne aplikacije. Rešiti je bilo treba dva na prvi pogled izključujoča problema: varovanje zasebnosti in beleženje stikov.

Da aplikacija uporablja bluetooth, ni presenetljivo. GPS je po eni strani premalo natančen, saj razločljivost pet metrov ne zadostuje, po drugi strani pa izdaja absolutno lokacijo uporabnika. Bluetooth pa napravam omogoča, da se najdejo bliže, predvsem pa je iz jakosti signala moč sklepati, na kolikšni razdalji sta bili napravi. Če predpostavimo, da ljudje telefon nosimo ves čas v žepu in da je razdalja med telefonoma, kakor natančno je pač ugotovljena, merilo za oddaljenost med dvema osebama. Če telefon pustimo na pisalni mizi in gremo v menzo, nam seveda ne koristi.

Filmskega piskanja, ko bi se približali komu okuženemu, ni. Prvič, kdor je bolan, mora biti doma ali v bolnišnici. Aplikacija je namenjena beleženju stikov pred dokazano okužbo. Drugič, tako piskanje bi hudo kršilo pravico do zasebnosti. Drugače gre. Aplikacija vsak dan generira dnevni ključ, ki je anonimni, a enolični identifikator naprave. Ključ se hrani izključno na uporabnikovi naprave, iz njega pa se vsakih 15 minut izračuna nova koda, ki jo aplikacija posreduje drugim telefonom z aplikacijo, s katerimi pride v stik. To je potrebno zato, ker je enolična številka telefona še vedno samo psevdoanonimna in bi bilo teoretično mogoče slediti, kje se telefon giblje (z verigo stikov). Ob stiku se beležita trajanje in razdalja.

Novi telefoni Huawei, ki zaradi ameriških sankcij nimajo Google Play Services, aplikacije ne morejo uporabljati.

V tej fazi se podatki ne pošiljajo na noben centralni strežnik. Šele če zbolimo za covidom 19 in imamo potrjeno pozitiven test, lahko v aplikaciji to označimo. Tedaj bo aplikacija poslala naše pretekle enodnevne ključe na strežnik. Do tega strežnika aplikacije vseh uporabnikov dostopijo enkrat dnevno in preverjajo okužene ključe s ključi v svojih stikih. Šele če odkrije ujemanje, nas opozori, da smo bili v preteklih dneh v stiku z okuženo osebo. Izvemo le, katerega dne je to bilo, koliko časa je stik trajal in kako intenziven (glede na jakost signala bluetooth) je bil. Prav tako aplikacija vsak dan prikazuje tveganje za okužbo na podlagi preteklih stikov. To je lahko majhno (zeleno), srednje (modro) ali veliko (rdeče).

Zlorabe se preprečujejo tako, da za vnos pozitivnega testa potrebujemo šifro (teleTAN), ki nam jo skupaj z izvidom posreduje Nijz in je veljavna eno uro. In da, če uporabljamo dva telefona in imamo na obeh aplikacijo, nam bo Nijz dal dve kodi. Aplikacije trenutno ne podpirajo interoperabilnosti, zato je treba za potovanje v vsako državo naložiti svojo (in obratno, turisti morajo imeti slovensko). Logično, mar ne? Niti ne.

Obveznost in koristnost

Dobršen del opozoril in obvestil je namenjen ozaveščanju uporabnikov, da je aplikacija le pripomoček. V nobenem primeru nas aplikacija ne more neposredno zavarovati pred okužbo. Lahko pa to stori posredno, saj ljudi po stiku z dokazano okuženim o tem obvesti, da se lahko gredo testirati še pred razvojem simptomov in s tem skrajšajo čas, ko širijo virusne delce naokoli.

Kaj se v resnici pošilja Googlu?

Aplikacija sestoji iz dela, ki ga upravlja nacionalno telo (Nijz), in GEAN (Google/Apple Exposure Notification), ki je del Google Play Services. Medtem ko prvi del ni problematičen, prek GEAN vsakih 10–20 minut do Googla tečejo podatki, kot so naslov IP, IMEI, serijska številka, številka SIM, naslov MAC, elektronski naslov, sta ugotovila Douglas Leith in Stephen Farrell s Trinity Collegea v Dublinu. Ti podatki se do Googla prenašajo, kadarkoli vključimo Google Play Services, torej tudi GEAN. V praksi to pomeni, da naprave brez Google Play Services aplikacije ne morejo uporabljati (na primer novi huaweiji, zaradi ameriških sankcij). Drži pa tudi, da ima velika večina uporabnikov tako in tako vključene Google Play Services, zato se z uporabo aplikacije Googlu ne posreduje nič več osebnih podatkov kot sicer. Google (in Apple) vesta in bosta vedela precej več o posamezniku (ne pa diagnoze!) kot Nijz in MJU.

Obstoji kup scenarijev, kjer aplikacija ne more pomagati. Če telefona nimamo pri sebi. Če aplikacije ne bo namestilo zadostno število uporabnikov. Nemški epidemiologi so ocenili, da bi jo moralo (pravilno) uporabljati vsaj 60 odstotkov prebivalcev, da bi bila učinkovita. V dveh dneh je aplikacijo naložilo 10.000 ljudi. V Nemčiji jo je v prvem mesecu 20 odstotkov prebivalcev. S pravilno uporabo mislimo tudi, da je ne izklapljajo, da ob pozitivnem testu dejansko v aplikaciji to tudi označijo itd. Mogoči so seveda tudi lažni pozitivni rezultati, saj skozi stene signal bluetooth lahko potuje, virusi pač ne.

Uporaba aplikacije ni obvezna, so ob predstavitvi zatrdili na ministrstvu. Kljub nekaj kritičnim opazkam, da se utegne to spremeniti, in 28. členu ZIUPDV (PKP4), ki predpisuje obvezno uporabo za ljudi v karanteni ali s potrjeno okužbo, je situacija kompleksnejša. Nemška aplikacija Corona-Warn-App, na kateri de facto sloni slovenska izvedenka, uporablja Googlove/Applove API. Ti pa v pogojih uporabe izrecno določajo, da mora biti uporaba prostovoljna. Po drugi strani pa ljudje, ki jim je odrejena karantena ali so bolni, seveda ne smejo hoditi naokoli, zato tedaj uporaba aplikacije ni več smiselna. Koristila bi, če bi jo uporabljali, tik preden so zboleli. Zaradi vsega naštetega jo lahko v najboljšem primeru jemljemo kot pripomoček, pa še to ne preveč inteligenten, nikakor pa ne kot dokončno orodje za boj proti tveganim stikom.

Google in Apple sta v specifikacije vgradila še vrsto varovalk. Med drugim bosta sama izključila delovanje API na geografskih območjih, kjer sledenje stikom ni več potrebno. API lahko uporabljajo le uradne aplikacije državnih organov na določenem geografskem območju. Aplikacija ne more zajemati podatkov o lokaciji, prav tako pa mora imeti uporabnik kadarkoli možnost izključiti spremljanje stikov. Mimogrede, slovensko aplikacijo smejo uporabljati zgolj starejši od 16 let.

Uporabljati ali ne

Aplikacija beleži trajanje in bližino stika z drugimi telefoni, ki imajo aplikacijo. Vse, kar je več, je stvar discipline pri uporabi in interpretacije. Aplikacija nas individualno ne bo pred ničemer zavarovala, lahko pa doprinese zelo majhen košček v mozaik ukrepov. Precej manjši, kot je umivanje rok.

Izvorna koda aplikacije je dosegljiva na Githubu: github.com/si-covid-19/

Naroči se na redna tedenska ali mesečna obvestila o novih prispevkih na naši spletni strani!

Komentirajo lahko le prijavljeni uporabniki

 
  • Polja označena z * je potrebno obvezno izpolniti
  • Pošlji