MeldID: mula sa isang isang account patungo sa isang sistema ng pamamahala ng digital na access
Nang una kong makilala ang MeldID, itinuturing ko ito bilang isang serbisyong nagbibigkis sa isang digital na pagkakakilanlan. Ngayon, nagkaroon na ito ng mga aplikasyon para sa iPhone at Android, na pinagsasama ang offline na authenticator na TOTP, awtomatikong pagbawi ng data sa pagitan ng mga device, at kumpirmasyon ng pag-login sa mga konektadong serbisyo.
Nang una kong nagsimula mag-aral tungkol sa MeldID, nakita ko ito bilang isang infrastructure para sa isang unified digital na pagkakakilanlan. Ang isang user ay lumilikha ng isang account, nag populate ng isang managed profile, at maaari na itong gamitin sa iba't ibang application — para sa pag-login at pagpapadala ng mga pinayagang data nang hindi paulit-ulit na nag-fill up ng parehong form.
Naghintay ako na ang patuloy na pag-unlad ay magiging nakatuon sa mga profile at connected na serbisyo. Ngunit mabilis na naging platform ang proyekto mula sa isang halos di napapansin na server infrastructure tungo sa isang pang-araw-araw na kasangkapan para sa pamamahala ng access.
Susunod na hakbang ay ang mga aplikasyon para sa iPhone at Android. At dito, ang pinaka-kapanapanabik ay hindi ang mismong paglitaw ng mobile client, kundi ang mga tungkuling pinagsama-sama nito.
Karaniwang TOTP — na may ibang layunin
Sa app, may generator ng isang-oras na mga code TOTP — yung mga nag-iiba-ibang numero na ginagamit para sa two-factor authentication.
Hindi sinasabi na ang standard ay sariling imbento. Ang user ay magdadagdag ng isang account at makakakuha ng isang code na magagamit sa isang third-party na serbisyo o website.
Karamihan sa mga authenticator ay nagtatanong: "Paano ipapakita ang isang anim na digit na code?" Dito, mas malawak ang tanong: paano maingat na pamahalaan ang lifecycle ng TOTP secrets — mula sa pagdagdag, pag-iimbak, at pagbawi sa ibang device hanggang sa pagtanggal ng account.
Ganap na gumagana ang offline mode
Sa unang tingin, ang pangunahing benepisyo ay ang lokal na paggawa ng mga code. Ngunit sa MeldID, mas malaki pa ang sakop ng offline mode.
Ang mga na-save nang record ay patuloy na gumagana nang walang internet. Ang mga code ay nililikha mismo sa telepono, kaya’t ang pansamantalang pagkawala ng koneksyon ay hindi hadlang sa authenticated na pagpasok.
Maaaring idagdag ang bagong TOTP record offline rin. Ito ay iniimbak nang lokal at agad na ginagamit para sa paggawa ng mga code. Kapag bumalik ang internet, ang bagong record ay awtomatikong ipapadala sa secure na storage at ipi-sync sa iba pang mga device.
Ang pag-edit at pagtanggal ng mga na-sync na record ay nangangailangan ng koneksyon sa server. Ito ay para maiwasan ang magkakaibang bersyon ng isang storage sa iba't ibang device.
Bunga nito, nakakamit ang balanse: ang pangunahing operasyon ay maaaring gawin nang walang koneksyon, at ang mga pagbabago na kailangang pantay-pantay na mailapat sa lahat ng device, ay isinasagawa pagkatapos makabalik sa online.
Hindi nangangahulugang dapat magpalit ng device para sa bagong codes
Ang pinakamalaking problema sa anumang authenticator ay nagaganap kapag nawala, nasira, o pinalitan ang device. Sa karaniwang kaso, kailangang maghanap ng mga backup codes, manu-manong ilipat ang mga record, o muling ikabit ang app sa bawat serbisyo.
Sa kasong ito, ang storage ay naka-link hindi sa isang partikular na device, kundi sa MeldID account. Matapos mag-login sa bagong device at i-initialize ang secure storage, ang mga record ay awtomatikong maibabalik.
Hindi mahalaga kung ang dating device ay Android, at ang bago ay iPhone, o kabaligtaran. Maaari kang mag-setup ng pangalawang, pangatlo, at iba pang device nang hindi separate na proseso ng paglilipat para sa bawat platform.
Isipin na bigla na lang na-broke ang iyong smartphone habang nasa biyahe. Sa halip na mag-recover ng access sa bawat serbisyo, mag-login lang si user sa MeldID sa bagong device at tapusin ang setup ng storage. Pagkatapos, maibabalik ang mga TOTP record niya sa app.
Sa isang device, maaari ring gumamit ng ilang iba't ibang MeldID account. Ang mga storage nito ay hiwalay: hindi nagkakalat ng mga record ang isang account sa data ng iba, at hindi ito lalabas sa device nang walang kaukulang awtentikasyon.
Ano ang nakatago sa server
Ang automatic recovery ay nangangahulugan na dapat may nakaimbak na data. Ngunit, ang TOTP secrets ay hindi iniupload sa database nang bukas ang anyo.
Ang laman ng record ay inilalagay sa encrypted container. Sa kasalukuyang architecture, ginagamit ang authenticated encryption AES-256-GCM, at ang key ng secure storage ay hiwalay sa database mismo.
Kaya, ang pagtagas ng isang database ay hindi nagiging listahan ng mga secrets para sa code generation. Ang attacker ay nakakakuha lamang ng encrypted blocks, hindi ang mga nakabukas na TOTP data.
Mahalagang maging maingat sa pangakong ito: hindi nakaimbak nang bukas ang mga TOTP secrets sa database, at hindi sapat ang isang kopya nito para magamit ang mga ito.
Pagpapatunay ng pag-login gamit ang MeldID
Isa pang mahalagang function ng app ay ang Login Approval, ang hiwalay na kumpirmasyon sa pag-login.
Kung sinusuportahan ng isang website o app ang MeldID, maaaring magsimula ang user ng isang login sa isang pindot lang. Kapag nakapatay na ang security, hindi pa tapos ang proseso: kailangang kumpirmahin ang pag-login sa isang trusted na mobile device.
Maaaring aprubahan ang request kung ang pag-login ay tunay na sinimulan ng user, o i-deny kung mukhang di pangkaraniwan ang operasyon.
Kompara sa ordinaryong push confirmation, ang Login Approval ay nakapaloob direktang sa architecture ng MeldID at pwedeng gamitin ng lahat ng serbisyo na nakakonekta sa sistema ng pagkilala na ito.
Ang push dito ay nagsisilbing notification lamang ng bagong operasyon. Wala itong password, TOTP code, token, o anumang iba pang data na pwedeng gamitin sa pag-authorize.
Pinupunan ng TOTP at Login Approval ang isa't isa
Ang TOTP ay nananatiling isang pangkalahatang standard at gumagana kahit sa mga serbisyo na hindi alam ang MeldID. Pagkatapos i-load ang record, ang mga code ay dine-generate nang lokal.
Ang Login Approval ay mahalaga sa mga kaso kung saan ang pag-authorize ay ginagawa mismo sa MeldID. Nagdadagdag ito ng isang aware na aksyon mula sa user at pwedeng pigilan ang login bago pa man makabuo ng sesyon.
Kaya, pwedeng gamitin ang app bilang isang ordinaryong authenticator para sa third-party na website at bilang isang paraan ng pagpapatunay sa pag-access sa nakonektang sistema.
Anong mga pagbabagong naganap sa MeldID mismo
Nang una kong makilala ang proyekto, ang pangunahing ideya nito ay ang pamahalaan ang isang unified account at portable profile. Ngayon, napapansin na unti-unting nagiging isang personal na center para sa pamamahala ng digital na access ang MeldID.
Sa ngayon, maaari mong:
makakuha ng TOTP codes kahit walang internet;
magdagdag ng mga bagong record offline;
awtomatikong i-restore ang mga ito sa bagong device;
gumamit ng ilang device;
mag-differentiate ng maraming account sa isang device;
kumpirmahin o tanggihan ang mga bagong pag-login.
Ang halaga ng aplikasyon ay hindi nasa pagpapakita lang ng isang anim na digit na code. Ang mas malawak nitong layunin ay mapanatili ang access kapag nagpalit ng device, hindi mapuputol ang data kahit walang koneksyon, at bigyan ang owner ng huling malay na pagpili bago magsimula ng bagong session.
Ang seguridad dito ay nakabatay hindi sa isang mekanismo, kung hindi sa isang kumbinasyon ng mga solusyon: ang mga TOTP secrets ay hindi nakatago nang bukas, ang access ay hindi kailan man nakakabit nang permanente sa isang device, ang iba't ibang account ay nananatiling hiwalay, at ang pagpasok sa mga sinusuportahang serbisyo ay matapos lamang sa kumpirmasyon mula sa isang pinagkakatiwalaang device.