Latest newsLietuvių
Back to feedTechnologijosNewsMeld Editorial

MeldID: nuo vieno paskyros iki skaitmeninės prieigos valdymo sistemos

Kai pirmą kartą susipažinau su MeldID, jis man dažniausiai pasirodė kaip vieningos skaitmeninės identifikacijos paslauga. Dabar projekto yra iPhone ir Android programėlės, apimančios ne tik nešiojamojo autentifikatoriaus TOTP funkciją, automatinį duomenų atstatymą tarp įrenginių ir prisijungimo patvirtinimą prie sujungtų paslaugų.

Kai pirmą kartą susipažinau su MeldID, jis man dažniausiai pasirodė kaip vieningos skaitmeninės identifikacijos infrastruktūra. Vartotojas sukuria vieną paskyrą, užpildo valdomą profilį ir tada gali naudotis juo skirtingose programėlėse — prisijungti ir perduoti leidžiamus duomenis be nuolatinio tų pačių formų užpildymo.

Aš tikėjausi, kad tolesnė raida eina būtent profilių ir prijungtų paslaugų link. Tačiau projektas greitai ėmė keistis iš beveik nepastebimos serverinės infrastruktūros į kasdienį prieigos valdymo įrankį.

Kitas žingsnis buvo iPhone ir Android programėlės. Čia ypač įdomu ne tiek paties mobiliojo kliento pasirodymas, kiek tai, kokius uždavinius jame pavyko sujungti.

Įprastas TOTP — su kitais tikslais

Programėlėje yra vienkartinių kodų generatorius TOTP — tie patys besikeičiantys skaičiai, naudojami dviejų faktorių autentifikacijai.

Patys standartai nėra išradinėjami. Vartotojas prideda paskyrą ir gauna kodą, kurį gali naudoti trečiųjų šalių paslaugoje ar svetainėje.

Dauguma autenticatorių atsako į klausimą: „Kaip parodyti šešis skaitmenis?“ Čia sprendžiama platesnė užduotis: kaip saugiai valdyti TOTP sekreto gyvavimo ciklą — nuo pridėjimo ir saugojimo iki atkūrimo kitame įrenginyje ir ištrynimo.

Nepertraukiamas veikimas ne internete

Iš pirmo žvilgsnio didžiausias pranašumas atrodo kaip vietinis kodų generavimas. Tačiau MeldID nepertraukiamas režimas siūlo daugiau.

Jau išsaugotos įrašai veikia ir be interneto. Kodai generuojami tiesiogiai telefone, todėl laikinai dingus ryšiui, galima sėkmingai įvykdyti dviejų faktorių patvirtinimą.

Nauja TOTP įrašą taip pat galima pridėti neinterneto režimu. Jis išsaugomas vietoje ir iš karto naudojamas kodų generavimui. Kai vėl bus internetas, pridėjimas automatiškai sinchronizuojasi su saugiuoju saugyklos tarnyba ir kitais įrenginiais.

Redaguoti ar ištrinti jau sinchronizuotus įrašus galima tik prisijungus prie serverio. Tai padeda išvengti skirtingų vieno saugyklos variantų skirtinguose telefonuose.

Gaunamas balansavimas — pagrindinės funkcijos galima naudotis neprisijungus, o pakeitimai, kurie turi būti taikomi visuose įrenginiuose, atliekami grįžus prie interneto.

Naujas telefonas nereiškia naujo kodų rinkinio

Dažniausia problema naudojant autentifikatorių yra po telefono praradimo, sugadinimo ar keitimo. Standartiškai tenka ieškoti atsarginių kodų, perkelti įrašus rankiniu būdu arba naujai susieti programėlę su kiekviena paslauga.

Čia saugykla nėra susieta prie konkretaus įrenginio, o prie MeldID paskyros. Po prisijungimo prie naujo telefono ir saugios saugyklos inicializavimo įrašai atstatomi automatiškai.

Nepriklausomai nuo to, ar ankstesnis įrenginys buvo Android, o naujas — iPhone, ar atvirkščiai. Galite prijungti antrą, trečią ir kitus telefonus, nekuriant atskiro perkėlimo proceso kiekvienai platformai.

Paimkime, kad netikėtai sugenda telefonas kelionės metu. Vietoj kiekvieno paslaugos atstatymo, vartotojas gali prisijungti prie MeldID naujame įrenginyje ir užbaigti saugyklos konfigūraciją. Tuomet jo TOTP įrašai grįžta į programėlę.

Viename telefone galima naudoti kelių MeldID paskyrų saugyklas. Jos išlieka atskirtos: vieno paskyros įrašai nesimaišo su kitos ir nesirodo įrenginyje be atitinkamos autorizacijos.

Ką saugoma serveryje

Automatinis duomenų atstatymas reiškia, kad duomenys turi būti kažkur saugomi. Tačiau TOTP sekretais nėra rašoma atvira forma į duomenų bazę.

Turinys saugomas šifruotame konteineryje. Dabartinėje architektūroje naudojama įrodytas AES-256-GCM šifravimas, o saugyklos raktas yra atskirtas nuo duomenų bazės.

Taigi viena pažeidžiama duomenų bazė neįkūnija galutinio slaptažodžių sąrašo generavimui. Piktavalis gaus užšifruotus blokus, o ne atvirus TOTP duomenis.

Svarbu nepadėti absoliučių pažadų. Tiksliau — atviros TOTP sekretais duomenų bazėje nėra, o viena bazės kopija nebūtina jų naudoti.

Prisijungimo patvirtinimas per MeldID

Antroji svarbi programėlės funkcija — Login Approval, t. y. atskiras autorizacijos patvirtinimas.

Jei svetainė arba programėlė palaiko MeldID, vartotojas gali vienu veiksmu pradėti prisijungimą per savo paskyrą. Kai įjungtas saugumas, sėkmingas autentifikavimas nebūna pakankamas: autorizacija laikoma užbaigta tik po patvirtinimo patikimo mobiliojo įrenginio.

Užklausą galima patvirtinti, jei įvykis yra tikrai vartotojo iniciatyva, arba atmesti, jei veiksmą atrodo netikėtai.

Skirtingai nuo paprasto push patvirtinimo, Login Approval yra įmontuotas tiesiogiai į MeldID architektūrą ir gali būti naudojamas visose prie MeldID prijungtuose paslaugose.

Push čia tik įspėjimas apie naują operaciją. Jame nėra slaptažodžio, TOTP kodo, žymeklio ar kitų duomenų, naudotinų autorizacijai.

TOTP ir Login Approval papildo vienas kitą

TOTP lieka universalus standartas ir veikia net ir paslaugose, kurios nieko nežino apie MeldID. Kai įrašas įkraunamas, kodai generuojami vietoje.

Login Approval reikalingas ten, kur pati autorizacija vyksta per MeldID. Jis priduria sąmoningą vartotojo veiksmą prie įėjimo ir leidžia sustabdyti bandymą prieš sukuriant sesiją.

Taigi programėlė gali būti įprastas autentifikatorius trečiosios šalies svetainėje ir kartu veikianti kaip įėjimo patvirtinimo priemonė nuotolinėje sistemoje.

Ką pasikeitė pačioje MeldID

Kai pirmą kartą susipažinau su projektu, jo pagrindinė idėja atrodė kaip vienos paskyros valdymas ir nešiojamas profilis. Dabar aišku, kad MeldID pamažu virsta asmeniniu skaitmeninio prieigos valdymo centru.

Čia galima:

  • gauti TOTP kodus be interneto;

  • pridėti naujus įrašus neinterneto režimu;

  • automatiškai atstatyti jų naujame įrenginyje;

  • naudoti keletą telefonų;

  • atskirai valdyti kelis paskyrų sąrašus viename įrenginyje;

  • patvirtinti arba atmesti naujus prisijungimus.

Todėl programėlės vertė ne ta, kad ji galėtų parodyti dar vieną šešis skaitmenis. Jo funkcija platesnė — išlaikyti prieigą keičiant įrenginį, neprarasti duomenų be interneto ir suteikti vartotojui galutinį sąmoningą sprendimą prieš kūriant naują seansą.

Saugumo sistemą čia sudaro ne vienas mechanizmas, o visuma sprendimų: neatskiriami TOTP slaptažodžiai nėra saugomi atviros formos, prieiga neprisijungus nėra nuolatinė prieinama prie vieno įrenginio, keli paskyrų profiliai lieka atskirti, o prisijungimas prie palaikomų paslaugų užbaigiamas tik patvirtinus patikimu įrenginiu.