MeldID: frá einni skrá að stjórnunarkerfi fyrir stafrænan aðgang
Þegar ég kynntist fyrst MeldID, þá tók ég það fyrst og fremst sem þjónustu fyrir sameiginlega stafræna auðkenningu. Nú hafa verkefnið þróast og borið með sér forrit fyrir iPhone og Android sem sameina offline TOTP sjálfvirka þjónustu, sjálfvirka endurheimt gagna milli tækja og staðfestingu á innskráningu í tengda þjónustu.
Þegar ég kynntist fyrst MeldID, þá tók ég það fyrst og fremst sem innviði fyrir sameiginlega stafræna auðkenningu. Notandinn býr til eina reikningsskrá, fyllir út stjórnandi prófíl og getur síðan notað hann í mismunandi forritum — til að finna sig inn og senda leyfðar gögn án þess að fylla út sama eyðublaðið aftur og aftur.
Ég hélt að þróunin myndi fara í þá átt að auka og bæta prófíl og tengd þjónustukerfi. En verkefnið byrjaði fljótt að þróast frá því að vera næstum óaðskiljanleg netþjónusta í daglegan stjórnun tækja fyrir aðgang.
Næsti skref voru forrit fyrir iPhone og Android. Og hér er sérstaklega áhugavert ekki bara tilkomu farsímaforritsins heldur þau verkefni sem það tókst að sameina.
Venjulegt TOTP — með annarri áherslu
Í forritinu er sjálfvirkur TOTP kóðagjafi — þessi stöngull af breytilegum tölum sem eru notaðar fyrir tveggja þátta auðkenningu.
Ekki er reyndar haldið því fram að þetta sé nýtt uppfinding, heldur er notandinn að bæta reikningsskrá við og fær kóða sem hann getur notað á öðrum vef eða þjónustu.
Flest auðkennar spyrja: „Hvernig sýna sex stafa kóða?“ Hér er stærri verkefni að leysa: hvernig má örugglega stjórna líftíma TOTP leyndarmála — frá því að bæta þeim við og geyma, til endurheimtar á öðru tæki og eyðingar á skránni.
Offline hamurinn virkar fullkomlega
Í fyrstu virðist mikilvægasta kosturinn vera bara staðbundin kóðagjörð. En í MeldID er offline hamurinn meira en það.
Áður þegar skráningarnar eru geymdar, þá virka þær áfram án nets. Kóðarnir eru búin til beint á símann, þess vegna truflar það ekki ef netsamband tapast tímabundið og hægt er að ljúka tveggja þátta staðfestingu.
Ný TOTP skráning má líka bæta við offline. Hún er vistað á staðnum og strax notuð til að búa til kóða. Þegar internet kemur aftur, fer skráningin sjálfkrafa í öruggt geymsluhólfa og verður samstillt við önnur tæki.
Uppfærslur og eyðingar á samstílum skráa krefjast nettengingar. Þetta tryggir að mismunandi útgáfur af gagnageymslu séu ekki á mismunandi tækjum.
Þannig verður jafnvægi náð: helstu aðgerðir eru hægt að framkvæma án nets, en breytingar sem eiga að eiga við öll tæki, framkvæma eftir að búið er að bæta þeim í netið.
Nýr sími þýðir ekki nýjan kóðapakkann
Algengasta vandamálið við hvaða auðkenara sem er er þegar tæki tapast, bila eða er skipt út. Þá þarf yfirleitt að leita bjargtakna, flytja skráningu handvirkt eða tengja forrit aftur við hverja þjónustu á ný.
Hér er geymsla tengd ekki við sérstakt tæki heldur við MeldID reikninginn. Þegar skráð er í nýju tæki og örugg geymsla virkjuð, eru skráningar sjálfkrafa endurheimtar.
Óskiptir máli hvort fyrri tæki hafi verið Android eða iPhone, því nýja tækið getur tekið við öllum skráningum úr áður. Það þarf ekki að skipta um allt ferli við flutning á milli tækja.
Ímyndum okkur að sími brotni óvænt í ferðalagi. Í stað þess að þurfa að endurheimta aðgang á hverri þjónustu, skráir notandinn sig inn í MeldID á nýju tæki og klárar uppfærsluna. Eftir það koma TOTP skráningar aftur inn í forritið.
Á einu tæki má einnig hafa mörg mismunandi MeldID reikninga. Geymslurnar þeirra eru aðskildar: skráningar eins reiknings mæta ekki inn í annan og birtast ekki nema við birtingu réttrar heimildar.
Hvað er geymt á þjóninum?
Sjálfvirk endurheimt þýðir að gögnin þurfa að vera geymd. En TOTP leynileg gögn eru ekki geymd í opinberu formi í gagnagrunninum.
Innihald skrárinnar er dulkóðað í öruggum glufum. Í núverandi innviðum er notuð staðfest áhrif af AES-256-GCM dulkóðun, og lykill skjaldarinnar er aðskilinn frá gagnagrunninum sjálfum.
Þess vegna getur truflun á einni grunnu leitt ekki til fullkomins lista yfir leyndarmál fyrir kóðun. Njósnari fær aðeins dulkóðaðar einingar, ekki opna TOTP gögn.
Það er mikilvægt að gefa ekki algerar loforð. Réttara er að segja að opnar TOTP leynileg gögn eru ekki geymd í gagnagrunninum, og að eitt afgangs af grunninum er ekki nægjanlegt til að nota þau.
Staðfesting innlsáttar með MeldID
Annar mikilvægur eiginleiki forrita er Login Approval, eða sérstakt staðfestingarkerfi fyrir innskráningu.
Ef vefsíða eða forrit styður MeldID, getur notandinn með einum smelli hafið innskráningu með reikningnum sínum. Þegar varnir er virkar, er ekki nóg að auðkenning takist heldur þarf einnig staðfestingu í treystu farsíma.
Beiðni er hægt að samþykkja ef innskráning er raunverulega hafin af notandanum sjálfum eða synja ef hún virðist óvænt.
Ólíkt venjulegri push staðfestingu er Login Approval innbyggt beint í MeldID og má nota með öllum þjónustum sem tengjast þessari auðkenningarverklagen.
Push er aðeins til tilkynninga um nýja atburði. Hann inniheldur enga lykilorð, TOTP kóða, vottun eða önnur gögn sem nýtast til auðkenningar.
TOTP og Login Approval vinna saman
TOTP er enn álitið staðall og virkar jafnvel í þjónustum sem vita ekkert um MeldID. Eftir að skráning hefur verið hlaðinn, eru kóðarnir framleiddir staðbundið.
Login Approval er nauðsynlegt þar sem innskráning fer fram með MeldID. Hann bætir við meðvitund notandans við innskráninguna og getur stöðvað hana áður en upp er komið á skjalið.
Þess vegna getur forritið verið venjulegur auðkennar fyrir utanaðkomandi vef eða þjónustu og í leiðinni verið staðfestingartæki fyrir innskráningu í tengda kerfi.
Hvað hefur breyst í MeldID sjálfu
Þegar ég kynntist verkefninu fyrst, var aðalhugmynd þess að stjórna einni reikningaskrá og flytjanlegum prófíl. Nú er orðið ljósara að MeldID er að þróast í að vera persónulegur miðlægur stjórnunarvefur fyrir stafrænan aðgang.
Hér er hægt:
Að fá TOTP kóða án netsambands;
Að bæta við nýjum skráningum offline;
Að endurheimta þær sjálfkrafa á nýju tæki;
Að nota mörg tæki;
Að aðskilja mörg reikningakerfi á einu tæki;
Að staðfesta eða hafna nýjum innskráningum.
Verðmæti forritsins er því ekki aðeins í því að sýna sex stafa kóða. Markmiðið er að varðveita aðgang ef tækið er breytt, missa ekki gögn án nets og veita eigandanum síðasta meðvitaða valkost áður en ný skráning er hafin.
Öryggið byggist ekki eingöngu á einum tækni, heldur á safni lausna: TOTP leyndarmál eru ekki geymd opinberlega, aðgangur er ekki örugglega stöðvarbúinn við eitt tæki, mismunandi reikningar eru aðskildir og innskráning í þjónustur nær aðeins þegar staðfesting á viðurkennt tæki er framkvæmt.