MeldID: од јединственог налога до система управљања дигиталним приступом
Када сам први пут упознао MeldID, пре свега сам га схватао као сервис јединствене дигиталне идентификације. Сада су доступне апликације за iPhone и Android, које обједињују оффлајн аутентификатор TOTP, аутоматско враћање података између уређаја и потврду уласка у повезане сервисе.
Када сам први пут разматрао MeldID, пре свега сам га видео као инфраструктуру јединствене дигиталне идентификације. Корисник креира један профил, попуњава управљани профил и затим може да га користи у различитим апликацијама — за пријаву и пренос дозвољених података без сталног попуњавања истих образаца.
Очекује се да ће даље развијање ићи управо у правцу профила и повезаних сервиса. Међутим, проект се брзо претворио из скоро неприметне серверске инфраструктуре у свакодневни алат за управљање приступом.
Следећи корак су биле апликације за iPhone и Android. И овде је посебно интересантно не само појављивање мобилног клијента, већ и које задатке је он успео да обједини.
Обичан TOTP — са другом сврхом
У апликацији постоји генератор једноструких кодова TOTP — управо те променљиве цифре које се користе за двофакторску аутентификацију.
Сам стандард се не претвара у сопствено изумење. Корисник додаје налог и добија токен који може да користи на страним сервисима или вебсајтовима.
Већина аутентификатора одговара на питање: „Како показати шестозначни код?“ Овде се решава шире питање: како безбедно управљати животним циклусом TOTP-секрета — од додавања и чувања до враћања на другом уређају и брисања уноса.
Оффлајн режим ради потпуно
На први поглед, главна предност делује као локална генерација кодова. Али у MeldID оффлајн режим је много шира ствар.
Упамћени уноси и даље функционишу без интернета. Кодови се директно генеришу на телефону, те привремени недостаци везе не ометају двофакторску проверу.
Нови TOTP унос такође може да буде додат оффлајн. Он се чува локално и одмах користи за креирање кодова. Када се интернет успостави, додавање аутоматски иде у заштићено складиште и синхронизује са другим уређајима.
Уређивање и brисање већ синхронизованих уноса захтева конекцију на сервер. То спречава стварање различитих верзија истог складишта на различитим уређајима.
Као резултат, постигнут је баланс: главне активности су доступне без мреже, а измене које морају бити универзалне за све уређаје се извршавају након повратка на актуелну мрежу.
Нов телефон не означава нови скуп кодова
Најнепријатнији проблем код аутентификатора настаје након губитка, оштећења или замене телефона. У обичним условима мора се тражити резервни код, ручно преносити записе или поново повезивати апликацију са сервисима.
Овде је складиште повезано не са конкретним уређајем, већ са MangldID налогом. Након уласка на нови телефон и иницијализације заштићеног складишта, запису су аутоматски враћени.
Није битно да ли је претходни уређај био на Android-у, а нови на iPhone-у, или обрнуто. Можете додати други, трећи и даље уређај без одвојеног процеса преноса за сваки систем.
Замислите да се смартфон из неког разлога оштети у току путовања. Уместо самосталног враћања приступа за сваки сервис, корисник се улогује у MeldID на новом уређају и завршава постављање склада. После тога, његови TOTP записи се враћају у апликацију.
На једном телефону могуће је користити више различитих MangldID налога. Њихова складишта остају изолована: записи једног налога се не мешају са подацима другог и не појављују се на уређају без одговарајуће ауторизације.
Шта се чува на серверу
Аутоматско враћање значи да нећа се подаци некад и где уследити. Међутим, TOTP-секрети се не чувају у бази у јавној форми.
Садржај записа се налази у шифрованом контејнеру. У актуелној архитектури се користи аутентификовано шифровање AES-256-GCM, а кључ за заштићено складиште је одвојен од базе података.
Стога, невалидност једне базе не претвара се у списак секрета за генерисање кодова. Претпостави се да нападач добија шифроване блокове, а не откривене TOTP податке.
Важно је избегавати апсолутна обећања. Тачно је: јавни TOTP-секрети се не чувају у бази, а једна копија базе није довољна за њихово коришћење.
Потврда уласка кроз MeldID
Друга важна функција апликације је Login Approval, односно одвојена потврда ауторизације.
Ако вебсајт или апликација подржава MeldID, корисник може једним потезом започети улазак преко свог налога. Уз активну заштиту, успешна аутентификација је недосљедна — ауторизација се сматра завршена тек након потврде на поузданом мобилном уређају.
Тражење се може одобriti ако је улазак заиста започео корисник или одбити ако деловање изгледа ненадано.
За разлику од обичног push-потврђивања, Login Approval је директно уграђен у архитектуру MeldID и може се користити од стране свих сервиса који користе ову идентификацију.
Push служи као обавештење о новој операцији. У њему нема лозинке, TOTP-кода, токена или других података за ауторизацију.
TOTP и Login Approval се допуњују
TOTP остаје свеурајски стандард и ради чак и у сервисима који ништа не знају о MeldID. После преузимања уноса, кодови се генеришу локално.
Login Approval је важан тамо где се сама ауторизација изводи кроз MeldID. Додаје свесност корисника у поступак уласка и омогућава да се пре прве сесије заустави иницијатива.
Због тога апликација може бити стандардни аутентификатор за страни сајт, истовремено и средство за потврду приступа у повезаном систему.
Шта се променило у самом MeldID-у
Када сам први пут упознао овај пројекат, његова главна идеја била је управљање јединственим налогом и преносивим профилом. Сада је јасно да MeldID полако претвара у лични центар за управљање дигиталним приступом.
Овде је могуће:
- добијати TOTP-кодове без интернета;
- додај оне нове записе офлајн;
Генерисање аутоматског враћања пријављује се на новом уређају; може се користити више телефона; различити налози се разликују и одвајају у једном уређају; могу се потврдити или одбити нови улази.
Значење апликације није у томе да показује још један шестозначни код. Њена мисија је шире — обезбедити приступ при промени уређаја, сачувати податке без мреже и пружити власнику последњу свесну одлуку у тренутку стварања нове сесије.
Безбедност се овде гради не на једном механизму, већ на збирној архитектури: TOTP секрете се не чувају у јавној форми, приступ не везује се за један уређај заувек, различити налози су изоловани, а приступ сервиса се завршава само након потврде са повереног уређаја.