Paaiškino, kaip tiksliai veikia programėlė „Korona Stop LT“ - yra ir tam tikrų trūkumų (3)
Lapkričio pradžioje Lietuvoje pradėjo veikti programėlė, skirta kovai su koronaviruso (COVID-19) pandemija – „Korona Stop LT“. Bet vartotojams vis dar kyla klausimų, kaip ji veikia – ir kuo ji gali pradėti suvaldyti naująjį koronavirusą.
Visi šio ciklo įrašai |
|
Prisijunk prie technologijos.lt komandos!
Laisvas grafikas, uždarbis, daug įdomių veiklų. Patirtis nebūtina, reikia tik entuziazmo.
Sudomino? Užpildyk šią anketą!
Trumpai tariant, tai yra papildomas įrankis kovoje su pasauline naujojo koronaviruso pandemija, ir susirinkus kritinei vartotojų masei (programėlės kūrėjai skaičiuoja, kad norint, jog programėlė taptų maksimaliai efektyvi, reikėtų, kad ją įsidiegtų apie 40-60 proc. šalies vartotojų (pasak statistikos departamento, Lietuvoje išmaniaisiais telefonais 2020 m. naudojasi 77,5 proc. gyventojų), ji gali prisidėti prie koronaviruso pandemijos suvaldymo.
Trumpa istorija
„Korona Stop LT“ – tai atvirojo kodo principu Vokietijoje sukurta programėlė („Corona-Warn-App“), adaptuota lietuviškai rinkai. Kaip pasakoja Nacionalinio visuomenės sveikatos centro prie Sveikatos apsaugos ministerijos specialistė Brigita Rašimaitė, adaptacijos Lietuvai darbai prasidėjo liepos mėnesį.
Originalios programėlės sukūrimas Vokietijai „nuo nulio“ kainavo 20 milijonų eurų, adaptacija Lietuvai – apie 19 tūkst. eurų.
Kaip pasakoja B. Rašimaitė, adaptacija užtruko, nes programėlė naudoja „Android“ ir „iOS“ operacinių sistemų modulius, ir iš „Google“ bei „Apple“ reikėjo gauti leidimus jais naudotis. Kaip teigė specialistė, abi kompanijos labai griežtai žiūri į šių programinių modulių naudojimą ir leidimus dalina tikrai ne kiekvienam, o tik valstybinėms ir panašioms institucijoms.
„Programėlės patvirtinimas truko ilgai, nes „Google“ ir „Apple“ patys darė programėlės vertinimus, veikimo tikrinimus. Ir tvarka tokia, kad šalyje gali būti tik viena tokia programėlė“, – pasakoja B.Rašimaitė.
Kaip tai veikia
Iš pradžių viskas gali atrodyti painu, bet bendras principas yra gana paprastas. Tik norėdami galutinai suprasti, įsidėmėkime du pavadinimus: TEK ir RPI – grubiai tariant, juos galima vadinti skaitmeniniais raktais.
TEK (angl. Temporary Exposure Key) – kas 24 valandas keičiamas raktas, kuris įrenginyje saugomas 14 dienų.
RPI (angl. Rotating Proximity Identifier) – atsitiktinis identifikatorius, gaunamas iš TEK. RPI sugeneruojamas įrenginyje ir keičiamas kas 10-20 minučių.
Įdiegta programėlė „Korona Stop LT“ veikia išmaniojo įrenginio fone ir per „Blueetooth“ ryšį siunčia bei priima RPI identifikatorius, o taip pat matuoja „Bluetooth“ signalą: jo trukmę ir stiprumą. Raktai yra anonimiški, t.y. juose nėra užfiksuotas nei vartotojo vardas, nei telefono numeris, nei kiti asmeniniai ar įrenginio duomenys – be to, šie identifikatoriai saugomi tik pačiuose išmaniuosiuose įrenginiuose ir nepatenka į jokius trečiųjų šalių serverius ar kitas duomenų kaupyklas.
O RPI identifikatorius užkoduojamas TEK raktu – taip daroma dėl dar didesnio anonimiškumo.
Norintis pranešti apie susirgimą, programėlės vartotojas tai gali padaryti su NVSC patvirtinimu, kad jis tikrai serga – taip siekiama išvengti piktybinio panikos kėlimo. Vartotojas turi susisiekti su NVSC – ir jie, sutikrinę duomenis, išsiunčia specialų kodą SMS žinute, kurią patvirtindamas, kad serga, vartotojas turi suvesti į programėlę.
Vartotojui (pačiam vartotojui savanoriškai, o ne NVSC) pranešus apie užsikrėtimą, į NVSC serverį įkeliami jo paskutinių 14 dienų TEK raktai. Kartą per parą visų vartotojų programėlės jungiasi prie NVSC serverio, ir sutikrina TEK raktus, ar telefono vartotojas neturėjo kontakto su susirgusiuoju.
Jei kontakto būta – pagal NVSC nustatytą algoritmą (t.y. ar kontaktas vyko mažesniu nei 2 m atstumu ir truko 15 min ir daugiau) vertinama rizika, ir apie jos laipsnį programėlė automatiškai informuoja vartotoją.
Beje, galima prisiklausyti būgštavimų, kad jei programėlėje naudojamas „Bluetooth“ ryšys, tai turbūt labai iškrauna įrenginio bateriją. Galima nuraminti – raktai siunčiami operacinės sistemos lygmeniu, tad energijos sąnaudos išties miniatiūrinės: remiantis faktiniu lrytas.lt matavimu, per aštuonias valandas (taigi, trečdalį paros) „Korona Stop LT“ „Android“ aplinkoje sunaudojo 7,67 mAh energijos. Palyginimui – šiuolaikinių išmaniųjų telefonų baterijų talpa siekia apie 3000-5000 mAh, tad programėlė per parą nesunaudoja net vieno procento bendros baterijos talpos.
NVSC taip pat atkreipia dėmesį, Europoje veikiant ir daugiau tokio tipo programėlių, siekiama, kad lietuviškoji programėlė „kalbėtųsi“ su kitų šalių programėlėmis – tai naudinga, jei vartotojui tenka keliauti.
Su saugumu – viskas tvarkoje
Paprašytas pakomentuoti programėlės saugumo ir duomenų apsaugos klausimą, duomenų apsaugos ekspertas UAB „Privacy Partners“ partneris Martynas Bieliūnas teigė, kad programėlėje naudojamas GAEN (Google / Apple Exposure Notification) protokolas – API (angl. Application Programming Interface, liet. programos programavimo sąsaja). Tai jau ne pirma šio protokolo versija, padaryta tikrai gerai ir patikimai.
Anot jo, tai yra pripažintas apsaugos būdas, kai protokolas yra atviras ir lengvai patikrinamas, o duomenys apsaugomi kitais būdais – šifravimu, duomenų architektūra ir t.t.
„Kiek teko žiūrėti, visi raktai tinkamai šifruojami, naudojama ID pseudonimizacija, apsauga užtikrinama ir per raktų rotavimą. Nuasmeninimas realizuotas tinkamai“, – sako specialistas.
Priskaičiuoja daugiau kontaktų
Tačiau programėlė nėra tobula.
Pirmas trūkumas – programėlė vertina tik atstumą, bet nevertina (nes techniškai ir negali įvertinti) kliūčių tarp vartotojų. Tad jei gyvenate daugiabutyje, ir gretimame bute už sienos gyvena kas nors, programėlėje pasižymėjęs kaip sergantis COVID-19, programėlė jums įskaičiuos kontaktą.
Be to, kaip pastebi M.Bieliūnas, minėtas raktų rotavimas gali sukelti problemų ir klaidingai vertinant kontaktus. T.y. programėlė itin saugo vartotojų anonimiškumą, ir dėl to nebegali suskaičiuoti atskirų vartotojų – tik kontaktus (gautus raktus). Tad jau minėto sergančio kaimyno už sienos ar kažkam perduoto išmaniojo telefono scenarijaus atveju programėlė jus informuos turėjus net ne vieną, bet greičiausiai keliasdešimt kontaktų (raktai keičiasi, o tebesergantis kaimynas gi vis dar yra už sienos) – dėl ko rizika programėlėje, žinoma, bus nurodoma tik didesnė.
M. Bieliūnas turi ir dar vieną pastabą. „Jei programėlė rodo „nebuvo kontaktų“ be jokių paaiškinimų – ji teikia klaidinančią informaciją. Jei būtų bent minimalios statistikos (pavyzdžiui, „šiandien tarp programėlės vartotojų turime X sergančių, Y vartotojų, praėjote pro Z programėlės naudotojų, K pavojingų kontaktų, užsikrėtimo tikimybė tiek ir tiek procentų – būtų visai kita istorija“ – sako specialistas.
Apibendrinimas
Programėlė saugumo ir privatumo klausimais tikrai nekelia jokių problemų – be to, veikia tik savanoriškumo pagrindu (tačiau vengiant piktybinių veiksmų, prižiūrima NVSC). Taip pat „Korona Stop LT“ reikalauja itin mažai išmaniojo įrenginio resursų: Per parą neturėtų išnaudoti daugiau nei procentą baterijos resursų, duomenų suvartojimas turėtų siekti iki 100 kilobaitų per parą, t.y. mažiau nei 3 MB per mėnesį.
Vis dėlto programėlė turi ir trūkumų – dėl didelio dėmesio privatumui ir pačios naudojamos technologijos („Bluetooth“) lemiamų ribotumų nukenčia jos tikslumas.
Tačiau programėlė gali būti naudinga daugeliu atvejų – pavyzdžiui, kad ir didelėse įmonėse su dideliais kolektyvais, kai susirgus vienam kolegai, kiti ima nerimauti, kad galėjo turėti su ligoniu kontaktą, nors dirba kitame skyriuje ir galbūt su užsikrėtusiuoju susitinka valgykloje. Tačiau nuolat veikianti programėlė stebi, vertina kontaktus ir parodo, kad kontakto nebuvo, arba įvertina rizikos laipsnį.
Iki gruodžio 1 d. „Korona Stop LT“ buvo parsisiuntę daugiau nei 130 000 Lietuvos gyventojų (per 112 000 „Android“ aplinkoje ir per 20 000 „iOS“). Kaip jau minėta, norint, jog programėlė taptų maksimaliai efektyvi, reikėtų, kad ją įsidiegtų apie 40-60 proc. šalies vartotojų.
Daugiau informacijos apie programėlę „Korona Stop LT“: https://koronastop.lrv.lt/lt/programele.
Projektas finansuojamas Valstybinio visuomenės sveikatos stiprinimo fondo lėšomis, kurį administruoja LR Sveikatos apsaugos ministerija.