ID-kaarti ei leitud! Palun lõpetage peatükk ajaloos või minge välja mängima.

On aasta 2017, suvi. Õues sajab vihma, kuid eestlane on aastaringse halva suusailmaga harjunud. Vihmane ilm soosib tubaseid tegevusi, näiteks igakuine “paberitöö” ja arvete maksmine. Ühendan kaardilugeja arvuti külge, pistan kaardi sisse, suundun netipanka ja ….

ID-kaarti ei leitud. Palun kontrolli, kas lugeja on arvutiga ühendatud ja ID-kaart on korrektselt lugejas. Sulge kõik brauseri aknad ja proovi seejärel uuesti.

Eestlane on nähtavasti harjunud ka niglalt töötava “Eesti ime” ehk ID-kaardiga.

The button turns it off

Aasta 2017 hitt on kõlarid, millega saab rääkida ja tehisintellektile käske jagada. Laste mängukonsoolid reageerivad juba aastaid käe lehvitamisele. Kuigi kaardilugeja ju on juba arvuti küljes ja kaart seal ilusti õigetpidi sees, sulgen alandlikult kõik brauseri aknad koos mustmiljoni tääbiga ja proovin uuesti. Või vannun ja siunan riiki ja kaarti ja login sisse mobiil-ID-ga. Või nõuan taga “vana head ja alati töötavat” koodikaarti. Või õigustan Smart ID teenuse kasutamise vajalikkust. Või hingan 3 korda sügavalt ja proovin uuesti, mõeldes, kas tõesti paremini ei saaks. Väga eelmise sajandi tunne on.

15 aastat

ID-kaart kui e-riigi üks alustala ja kodaniku turvaliseim võti e-teenusteni on olnud kasutusel 15 aastat. Palju on selle ajaga muutunud — telefonid ei lähe enam väiksemaks vaid suuremaks, veebibrauserite sõjas on lahingu osapooled vahetunud, veebitehnoloogia universaalne haamer ei ole enam XML vaid JavaScript, kõik on pilves ja seda pilve piilutakse üldse üha enam taskus oleva telefoni kaudu. Ja isegi iphone sai algelise NFC toe.

Mis aga ei ole muutunud, on see kuidas ID-kaarti kasutades inimesi tuvastatakse veebikeskkonnas. See põhineb endiselt ca 20 aastat tagasi välja mõeldud HTTPS ehk SSL ehk TLS tehnoloogial. Aastal 2002 oli see mõtestatud valik kategooriast “jah, ka nii saab seda vidinat kasutada, miks mitte”. Õigete draiveritega õiges kohas hakkas “nende” tarkvara (brauser) “meie” asja tundma (ID-kaarti kasutama). Aga täna ei ole aasta 2002 ja “käib kah” ei ole lõppkasutaja jaoks OK lahendus, kes õigustatult ootab lihvitud ja disainitud toodet.

Turvatehnik minus teab, et TLS protokollina on jätkuvalt tore ja kliendisertifikaadiga kahepoolselt turvatud ühendus õigesti tehes on HeaAsi™ ja selle tehniline teostus brauseri abil endiselt võimalik. Kuid pragmaatiline lõppkasutaja minus ütleb, et see näeb kole välja, on hirmsate veateadetega ja tihti lihtsalt ei tööta — ehk siis imeb vilinal. Erinevalt teenustest nagu Mobiil-ID või Smart-ID mille seletav nimi rahvasuus on “see-asi-mida-erinevalt-id-kaardist-saab-kogu-aeg-kasutada-ilma-IT-alase-erihariduseta”. Skeptik minus kahtlustab, et oleks see ühe juhtiva brauseritootja teha, peaks kõik autentimisel kasutama hoopis FIDO tehnoloogiat ja kliendisertifikaadiga HTTPS toe kui nende pilve mitte sobiva ja mitte skaleeruva igandi saaks brauserist ära kustutada. Siis kui see juhtub, kas jääb kaardi ainsaks digitaalseks funktsiooniks teise veebikõlbuliku vahendi (nagu Mobiil-ID) esmakordne seadistamine?

Kas see on vandenõu? Kas ID-kaardi kasutamine veebis on meelega põrguks tehtud ja stagnatsiooni jäetud, et õigustada Mobiil-ID või Smart-ID teenuse müümist? Kuidas teha paremini?

ID-kaardiga kasutajate tuvastamine, vol 2

Elektroonilisel identiteedil on veebis kaks peamist funktsiooni — isiku tuvastamine ja allkirja andmine. Üks kaart ja kaks funktsiooni ja peamiselt ajaloolistel põhjustel ka kaks täiesti erinevat tehnilist lahendust. Kui kasutaja vajutab “logi sisse id-kaardiga” nuppu käivitub hoopis teine kood kui vajutades “allkirjasta id-kaardiga” nuppu.

“Logi sisse” nupu taga on enamasti link, millega ühendudes avab brauser TLS tunneli, mis on brauseri poolt ID-kaardiga loodud. Kui süsteemiadministraatorid on serveri õigesti seadistanud ja brauseril parasjagu jonnimise tuju ei ole, siis on lingi taga asuval veebirakendusel päringu saabudes olemas info, et “see on Martin kes selle ühenduse loonud on”. Teinekord aga juhtub, et süsteemiadministraatorid ei ole kõike õigesti seadistanud või pole rakenduse arendaja ja süsteemiadministraator omavahel kokku leppinud, mida ja kuidas üks või teine teeb ja tulemuseks on kas turvavead või siis koledad ja mitte kontrollitavad arusaamatud hoiatused brauseri poolt, kui miski ei tööta.

“Allkirjasta” nupu taga on veebiteenuse arendaja tehtud javascript, mis räägib otse (tõsi, küll brauseri ja selle laienduse vahendusel) ID-kaardi klienditarkvaraga.

Tehniliselt võib ütelda, et ID-kaardiga kasutajate tuvastamine toimub hetkel transpordikihis ja allkirjastamine rakenduskihis.

Erinevad kihid ja erinevad tehnoloogiad teevad võimalikuks ka kasutaja jaoks eriti frustreerivad ja arusaamatud olukorrad, kus “PIN2 ei tööta” ehk peale edukalt ID-kaardiga teenusesse logimist mingil põhjusel ei saa sellega allkirja anda.

Et tuua ID-kaart tänapäeva, teha ta veebis mugavalt kasutatavaks ja tagada konkurentsivõime teiste *-ID teenustega, et luua üldse mingi eeldus NFC põhiste kaartide kasutamiseks mobiilides, pilves jooksvate veebiteenustega, tuleb ID-kaardiga inimeste tuvastamine tõsta transpordikihist rakenduskihti ja ühtlustada kaardi funktsioonide kasutamiseks vajalik tehnoloogiline platvorm.

Selleks on vaja nii tehnilisi standardeid, uut tarkvara kui ka palju selgitustööd ja eeskujuks olemist.

Elagu rakenduskiht!

Tegemist ei ole revolutsiooniga — isikutuvastus rakenduskihis on tavapärane ja loomulik. Võibolla peab teenuse arendaja olema natuke hoolsam, sest kogu töö tuleb ise ära teha. Isikutuvastus ei ole mingi hoomamatu “asi”, mida teeb “veebiserver” või “süsteemiadminnid enda kastidega”. Sarnaselt Mobiil-ID autentimisele (mida loetakse turvalisuse osas ID-kaardiga võrdväärseks) tuleb kõik kontrollid teha rakenduse arendajal ja olla hoolas sessioonidega. Samas 

Kui lahendada kõik ID-kaardi poolt veebis toimivad funktsionaalsused ühte moodi ja rakenduskihis, on sel mitu positiivset tagajärge:

  1. Teenuse ühesugune ja ootuspärane käitumine nii isikutuvastusel kui allkirjastamisel, mis ei sõltu brauseritootja suvast
  2. Ühesugune käitumine sõltumata kasutatavast brauserist
  3. 100% arendaja kontrollitav protsess
  4. ID-kaardi funktsionaalsus on ligipääsetav suvalisest pilveteenusest, kuna ei vaja eraldi serveri seadistamist.