Skip to content

Kiirvaade immuniseerimistõendile ning riigi veebirakenduste seadistamine

Eilsest on saadaval Covid19 immuniseerimistõendid. Logisin patsiendiportaali ja salvestasin enda oma ja vaatasin sisse.

Loodud on ta ilmselgelt riigipiiride ületamiseks ja seal tõendis leiduvad isikuandmed on piiride ületamisel niikuinii vajalikud ja peavad niikuinii olema muudes dokumentides kirjas.

Siseriiklik kasutamine on teine asi. Tegelikult ei ole restorani või kontserdile minnes sinu nimi ja sünniaeg üldjuhul oluline (siis muidugi tekib küsimus kuidas tuvastada et QR-koodi näitaja on sama isik, aga olemuselt tekib see ka kogu paberi näitamisel). Kui see peaks nõutavaks kujunema, siis eralda pdf failist qr-kood kas mõne sellekohase tarvikuga (näiteks: pdfimages covid-certificate.pdf covid-cert-qr-kood) või ekraanitõmmise meetodil ja salvesta vaid QR-koodi fail telefoni.

QR-koodis on selline url (YKSUUID, TEINETUNNUS, SINUISIKUKOOD asemel on tegelikud andmed):
https://vg.digilugu.ee/?url=https%3A%2F%2Fvg.digilugu.ee%2Fapi%2Fcertificates%3Fuuid%3DYKSUUID&s=TEINETUNNUS&i=person+identifier_SINUISIKUKOOD

Kui selle avad, siis näed niisugust pilti (konkreetsed väärtused on kustutatud).
Immuniseerimistõend kontrollvaade

Piiride ületamisel on selline detailsus võib-olla vajalik, aga siseriiklikult tegelikult mitte. Piisaks Jah/Ei tüüpi vastusest.

Tegelikult eriti ei oska immuniseerimistõendi sisu ja teostust väga kommenteerida. Hoopis jäid silma veebiserveri vg.digilugu.ee seadistused. Ja seda kahe nurga alt:

(1) SSL'i seadistused (neid saad mõõta testssl skripti või SSLLabs'i veebirakendusega), millest jäävad silma sellised vead:
- TLS 1.3 on puudu (sellise tasemega rakendusel seda eeldaks)
- TLS 1.2 pakub välja 21 šifrikomplekti, millest 17 on CBC-põhised ja neid pigem ei loeta mõistlikuks (eriti sellist tüüpi rakendusel)
- DNS CAA on puudu (sellise tasemega rakendusel seda eeldaks)
- sertifikaadiahela teostus pole ka kõige parem

(2) Serveri turvaseadistused (hinnatuna Securityheaders veebirakendusega)

Immuniseerimistõend kontrollvaade

Kui eelmises näites on asjaolud, mille üle saaks ehk natuke vaieldagi, siis siin on puhas plats:
- olemas on vaid HSTS
- puudu on CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy ja neid kõiki eeldaks sellise taseme rakendustest

Aga tegemist pole ükskikjuhtumiga, vaid laiema süsteemitusega. Kui vaatame samade töövahenditega (SSLTest/Securityheaders tänase päeva seisuga) president.ee (A+/C), valitsus.ee (A+/A), vm.ee (A/D), ria.ee (A+/A), kapo.ee (A+/C), eesti.ee (A+/C) ja teisi Eesti riigi saite, siis tulemused on väga ebaühtlased ning sarnaseid vigu leidub neist nii mõnelgi. Ja need SSLTesti A+ ja A-tulemused sisaldavad samamoodi nõrku šifrikomplekte, TLS 1.3 mittekasutamist ja puuduvat DNS CAA'd.

Läbipaistvuse osas mainin ka, et olen osalenud nii mõnelgi riigihankel, kus tingimuste osaks on olnud siinräägitud teemadest nö "maksimumnõuded". Oleks ju tore, kui riigi omad veebirakendused siis ka vastaks samadele tingimustele. Ja need tingimused oleks täidetud ühtlaselt.

vg.digilugu.ee saidi puhul tasub aga lisaks mainida kolme olulist asjaolu:
(1) Minu brauser annab märku katsest kanva andmete alusel arvutit profileerida - miks peaks selline tegevus vajalik olema ning missugustes kasutustingimustes see kirjas on?
(2) Kus on saidi privaatsustingimused? Kontrollvaates on kirjas valmistaja kaubamärk, aga eeldaks ka viidet selle saidi privaatsustingimustele. Mis andmeid vg.digilugu.ee saidi puhul logitakse, kaua logisid hoitakse ja kes ning kuidas neid töötleb? Kuna päringutes on isikukood olemas ja päringuid tegevaid kliente profileeritakse ning saab vähemalt ip-aadressi täpsusega tuvastada, siis annab mõlema poole andmeid huvitaval viisil kokku panna. Näiteks väliskasutuse kontekstis saaks sellisest andmekogust teada, mis riikides konkreetse isikukoodi kasutaja reisib ja kes kipuvad koos reisima, sisekasutuses aga joonistuks välja profiil sellest mis asutusi keegi külastab.
(3) Samast tehakse lisaks alampäring Guardtime saiti vaccine.gtuslabs.com. Kus on kirjas see teave mida sinna edastatakse? Ja siis tulevad selle otsa kõik eelmise punkti küsimused.