Kredensial digital adalah dokumen yang dapat diverifikasi secara kriptografis yang dapat digunakan untuk mengautentikasi, mengotorisasi, atau memberikan informasi tentang pengguna. Hal-hal tersebut biasanya berupa surat izin mengemudi seluler, paspor digital, boarding pass, dll. Hal-hal tersebut berada di dalam penampung virtual yang disebut dompet digital, dan merupakan bagian dari standar W3C yang menentukan cara mengakses dan mengambilnya. Standar ini diterapkan untuk kasus penggunaan web dengan W3C Credential Management API dan di Android, dengan DigitalCredential API Credential Manager.
Memahami kredensial digital
Di dunia fisik, seseorang dapat menyimpan identitasnya di dompet, dan menunjukkannya kepada pihak yang meminta saat diminta:
Dalam hal ini, pengguna umumnya memiliki satu dompet, dan mengambil kredensial yang diminta dari dompet untuk ditampilkan kepada pemohon. Sebagian besar dompet dapat dipertukarkan, dan umumnya dapat menyimpan hal yang sama.
Kredensial digital memiliki perbedaan berikut dari kredensial di dunia fisik:
- Pengguna diharapkan memiliki beberapa dompet - juga dikenal sebagai pemegang - yang dapat berisi berbagai kredensial yang berbeda. Dompet menentukan kredensial mana yang dapat disimpan di dalamnya.
- Aplikasi atau layanan yang meminta kredensial untuk memberikan akses atau memverifikasi identitas disebut pemverifikasi.
- Entitas yang membuat kredensial dan menegaskan klaim tentang subjek (seperti, universitas, pemerintah, atau perusahaan teknologi) disebut sebagai penerbit.
- Presentasi kredensial terjadi di software, yang berarti permukaan API mengambil dan menampilkan kredensial - di Android, ini adalah Credential Manager.
Dengan demikian, Pengelola Kredensial mengambil alih beberapa peran yang sebelumnya ditangani oleh pengguna:
- Di Android, dompet harus mendaftarkan metadata kredensialnya ke Credential Manager agar tercantum di UI Credential Manager.
- Credential Manager mencocokkan kredensial di seluruh dompet berdasarkan permintaan dan menampilkan daftar yang dapat dipilih pengguna.
- Saat pengguna memilih kredensial dalam daftar, Pengelola Kredensial akan memanggil dompet, yang akan menangani sisa transaksi (menampilkan UI, dll.) dan mengembalikan kredensial ke aplikasi.
Alur ini ditunjukkan di sini:
Kredensial yang dapat diverifikasi
Kredensial yang dapat diverifikasi adalah subset kredensial digital yang diatur oleh standar ketat (seperti Model Data Kredensial yang Dapat Diverifikasi W3C). Kredensial ini berisi klaim yang diamankan secara kriptografis, sehingga membuatnya jelas-jelas tidak dapat dimodifikasi dan membuktikan secara tepat siapa yang menerbitkannya.
Tidak semua kredensial digital adalah kredensial yang dapat diverifikasi, tetapi semua kredensial yang dapat diverifikasi adalah kredensial digital.
Arti klaim yang diverifikasi
Saat kredensial tiba melalui Android Credential Manager API dan klaim di dalamnya ditandai sebagai "terverifikasi", hal ini menunjukkan bahwa penerbit menegaskan bahwa mereka melakukan pemeriksaan pada data tertentu tersebut. Namun, hal ini tidak berarti data tersebut adalah kebenaran mutlak dan universal. "Terverifikasi" adalah pernyataan proses, bukan jaminan kepercayaan otomatis.
Filosofi inti ekosistem ini adalah bahwa kepercayaan selalu diselesaikan di verifier. Saat verifikator (aplikasi Anda) menerima data yang aman secara kriptografis, dan melihat bahwa penerbit menandainya sebagai "terverifikasi", verifikator harus menentukan apakah verifikator memercayai penerbit telah memverifikasi klaim sesuai standarnya.
Pengalaman pengguna
Seperti yang ditunjukkan dalam alur Android, pengguna hanya perlu berinteraksi satu kali dengan UI Credential Manager untuk memilih kredensial yang sesuai. Berikut adalah contoh tampilan pemilih:
Standar
Permintaan kredensial digital dibuat menggunakan standar OpenID4VP. Anda dapat melihat contoh permintaan di situs Demo Kredensial Digital.
Respons kredensial digital biasanya ditampilkan dalam format kredensial standar. Spesifikasi ini dikelola oleh berbagai badan standar, dan mencakup W3C Verifiable Credentials, sd-jwt, dan mdoc.
Protokol kustom juga dapat digunakan, meskipun sebaiknya gunakan salah satu protokol standar di aplikasi Anda.
Cobalah
Anda dapat menguji alur kredensial digital di seluruh platform dengan dompet Android dan verifier berbasis web:
- Instal contoh publik CMWallet di ponsel Android Anda.
Anda dapat melakukannya dengan menarik dari repositori dan menginstal langsung dari
Android Studio atau membuka
https://github.com/digitalcredentialsdev/CMWallet/actions
dan memilih build terbaru untuk mengakses file
app-debug.apkterbaru. - Buka CMWallet untuk mendaftarkan metadata dengan Pengelola Kredensial. Pastikan Bluetooth diaktifkan agar perangkat Anda dapat saling terhubung.
- Buka https://digital-credentials.dev/, lalu pilih
Request Credentials (OpenID4VP). - Setujui perintah peringatan dan pindai Kode QR dengan ponsel Anda, lalu pilih "Gunakan kunci sandi" dan ketuk konfirmasi untuk menampilkan kredensial yang tersedia.
- Pilih kredensial dari CMWallet untuk kembali ke browser. Browser akan menampilkan kredensial yang ditampilkan.
Lihat juga
- Untuk mempelajari lebih lanjut cara menggunakan Credential Manager untuk meminta kredensial digital di aplikasi Anda, baca halaman Credential Manager - Verifier API.
- Untuk mempelajari lebih lanjut cara membuat dompet digital menggunakan Credential Manager, baca halaman Credential Manager - Holder API.