MeldID: dari akaun tunggal ke sistem pengurusan akses digital
Apabila pertama kali saya mempelajari MeldID, saya melihatnya terutama sebagai perkhidmatan pengenalan digital tunggal. Kini projek ini mempunyai aplikasi untuk iPhone dan Android, yang menggabungkan pengesah offline TOTP, pemulihan data secara automatik antara peranti dan pengesahan masuk ke perkhidmatan yang disambungkan.
Apabila pertama kali saya mempelajari MeldID, saya melihatnya terutama sebagai infrastruktur pengenalan digital tunggal. Pengguna membuat satu akaun, mengisi profil terurus dan kemudian boleh menggunakannya dalam pelbagai aplikasi — untuk log masuk dan penghantaran data yang dibenarkan tanpa perlu mengisi semula borang yang sama berulang kali.
Saya menjangkakan perkembangan seterusnya akan menuju ke profil dan perkhidmatan yang disambungkan. Tetapi projek ini dengan cepat mula berubah dari infrastruktur pelayan yang hampir tidak kelihatan kepada alat pengurusan akses harian.
Langkah seterusnya adalah aplikasi untuk iPhone dan Android. Di sini, yang paling menarik bukanlah sekadar kehadiran pelanggan mudah alih, tetapi tugas-tugas apa yang berhasil digabungkan dalam satu aplikasi.
TOTP biasa — dengan tugas lain
Aplikasi ini mengandungi penjana kod sekali pakai TOTP — angka berubah-ubah yang digunakan untuk pengesahan dua faktor.
Standard itu tidak diperlakukan sebagai ciptaan sendiri. Pengguna menambah akaun dan mendapatkan kod yang boleh digunakan dalam perkhidmatan atau laman web pihak ketiga.
Kebanyakan pengesah jawapan kepada soal: “Bagaimana menunjukkan kod enam digit?” Di sini, masalah yang lebih luas diselesaikan: bagaimana menguruskan kitar hayat rahsia TOTP dengan selamat — dari penambahan dan penyimpanan hingga pemulihan di peranti lain dan penghapusan rekod.
Mod offline berfungsi secara penuh
Pada pandangan pertama, kelebihan utama kelihatan hanya pada penjanaan kod secara tempatan. Tetapi dalam MeldID, mod offline melibatkan lebih daripada itu.
Rekod yang telah disimpan terus berfungsi tanpa sambungan internet. Kod dibuat secara langsung di telefon, jadi kehilangan sambungan sementara tidak menghalang petunjuk pengesahan dua faktor.
Rekod TOTP baru juga boleh ditambah secara offline. Disimpan secara lokal dan segera digunakan untuk menjana kod. Apabila internet kembali, penambahan akan dihantar secara automatik ke tempat penyimpanan yang dilindungi dan diselaraskan dengan peranti lain.
Pengeditan dan penghapusan rekod yang sudah diselaraskan memerlukan sambungan kepada pelayan. Ini memastikan tidak muncul versi berbeza dari satu storan di telefon yang berbeza.
Hasilnya, seimbang dicapai: tindakan utama boleh dilakukan tanpa rangkaian, dan perubahan yang perlu diterapkan secara seragam kepada semua peranti dilakukan selepas wifi kembali.
Telefon baru tidak bermakna set kod baru
Masalah utama bagi pengesah biasa adalah selepas kehilangan, kerosakan, atau penggantian telefon. Dalam situasi biasa, pengguna harus mencari kod sandaran, memindahkan rekod secara manual, atau menyambungkan aplikasi semula ke setiap perkhidmatan.
Di sini, storan terkait bukan dengan peranti tertentu, tetapi dengan akaun MeldID. Selepas log masuk ke telefon baharu dan inisialisasi storan terlindung, rekod akan dipulihkan secara automatik.
Tidak kisah sama ada peranti terdahulu beroperasi di Android dan yang baharu di iPhone, atau sebaliknya. Pengguna boleh menyambungkan telefon kedua, ketiga dan seterusnya tanpa proses pemindahan berasingan untuk setiap platform.
Katakan pengguna secara tiba-tiba telefon rosak semasa perjalanan. Daripada memulihkan akses secara berasingan di setiap perkhidmatan, dia log masuk ke MeldID di peranti baharu dan menyelesaikan penyetelan storan. Setelah itu, rekod TOTP dikembalikan ke aplikasi.
Di satu telefon, pengguna boleh menggunakan beberapa akaun MeldID. Storannya kekal berasingan: rekod satu akaun tidak bercampur dengan data akaun lain dan tidak muncul di peranti tanpa pengesahan yang sesuai.
Apa yang disimpan di pelayan
Pemulihan automatik bermakna data perlu disimpan di suatu tempat. Tetapi rahsia TOTP tidak disimpan dalam pangkalan data dalam bentuk terbuka.
Isi rekod disimpan dalam kontena yang dienkripsi. Dalam seni bina semasa, digunakan penyulitan berautentikasi AES-256-GCM, dan kunci storan dilindungi berasingan dari pangkalan data itu sendiri.
Oleh itu, pendedahan satu pangkalan data tidak berubah menjadi senarai rahsia untuk menjana kod. Penyerang akan mendapatkan blok yang dienkripsi, bukan data TOTP yang terbuka.
Di sini, penting untuk tidak memberi janji yang mutlak. Lebih tepat, rahsia TOTP yang terbuka tidak disimpan dalam pangkalan data, dan satu salinan pangkalan data tidak cukup untuk menggunakannya.
Pengesahan masuk melalui MeldID
Fungsi penting lain dari aplikasi adalah Login Approval, yaitu pengesahan khusus untuk log masuk.
Jika laman web atau aplikasi menyokong MeldID, pengguna boleh memulakan log masuk dengan satu klik menggunakan akaun mereka. Apabila perlindungan diaktifkan, pengesahan yang berjaya tidak cukup: log masuk hanya tamat selepas pengesahan di peranti mudah alih yang dipercayai.
Permohonan ini boleh disetujui jika log masuk benar-benar dimulakan oleh pengguna, atau ditolak jika operasi tampak tidak dijangka.
Berbeza dengan pengesahan push biasa, Login Approval disatukan secara langsung ke dalam seni bina MeldID dan boleh digunakan oleh semua perkhidmatan yang disambungkan ke sistem pengenalan ini.
Push di sini hanya berfungsi sebagai pemberitahuan tentang operasi baru. Ia tidak mengandungi kata laluan, kod TOTP, token, atau data lain yang boleh digunakan untuk pengesahan.
TOTP dan Login Approval saling melengkapi
TOTP tetap merupakan standard universal dan berfungsi walaupun perkhidmatan tidak mengetahui apa-apa tentang MeldID. Setelah rekod dimuat turun, kod dijana secara lokal.
Login Approval diperlukan di tempat di mana pengesahan itu berlaku melalui MeldID sendiri. Ia menambahkan tindakan yang disedari oleh pengguna dan membolehkan menghentikan percubaan sebelum mencipta sesi.
Oleh itu, aplikasi ini boleh berfungsi sebagai pengesah biasa untuk laman pihak ketiga sekaligus sebagai alat pengesahan masuk ke sistem yang disambungkan.
Apa yang berubah pada MeldID itu sendiri
Apabila saya pertama kali berkenalan dengan projek ini, gagasan utamanya adalah pengurusan akaun tunggal dan profil yang boleh dipindahkan. Kini menjadi jelas bahawa MeldID secara beransur-ansur berubah menjadi pusat pengurusan akses digital peribadi.
Di sini pengguna boleh:
mendapatkan kod TOTP tanpa internet;
menambah rekod baru secara offline;
memulihkan rekod secara otomatis di peranti baru;
menggunakan beberapa telefon;
memisahkan beberapa akaun di satu peranti;
mengesahkan atau menolak log masuk baru.
Oleh itu, nilai aplikasi ini tidak terletak pada kemampuannya menunjukkan kod enam digit yang berurutan. Tugasnya lebih luas — memastikan akses tetap ada saat bertukar peranti, tidak kehilangan data tanpa rangkaian, dan memberi pemilik pilihan terakhir secara sadar sebelum membuka sesi baru.
Keselamatan di sini tidak bergantung pada satu mekanisme, tetapi pada gabungan solusi: rahsia TOTP tidak disimpan dalam bentuk terbuka, akses tidak terikat secara kekal pada satu telefon, akaun yang berbeda tetap terisolasi antara satu sama lain, dan log masuk ke perkhidmatan yang disokong hanya selesai setelah pengesahan dari peranti yang dipercayai.