Mencabut kredensial yang dapat diverifikasi
Sebagai bagian dari proses bekerja dengan kredensial yang dapat diverifikasi, Anda mengeluarkan kredensial, dan terkadang, Anda perlu mencabutnya. Dalam artikel ini, kami meninjau Status
bagian properti dari spesifikasi kredensial yang dapat diverifikasi. Kami juga melihat lebih dekat proses pencabutan, mengapa kami ingin mencabut kredensial, dan beberapa implikasi data dan privasi.
Mengapa mencabut kredensial yang dapat diverifikasi?
Setiap pelanggan memiliki alasan unik mereka sendiri untuk ingin mencabut kredensial yang dapat diverifikasi. Berikut adalah beberapa pengaturan umum:
- ID Siswa: Mahasiswa tidak lagi menjadi mahasiswa aktif di universitas.
- ID Karyawan: Karyawan bukan lagi karyawan aktif.
- Surat izin mengemudi negara: Pengemudi tidak lagi tinggal di negara bagian itu.
Bagaimana cara kerja pencabutan?
Microsoft Entra Verified ID mengimplementasikan W3C StatusList2021. Saat presentasi ke API Layanan Permintaan terjadi, API memeriksa status pencabutan. Pemeriksaan pencabutan terjadi melalui panggilan API anonim ke Identity Hub dan tidak berisi data apa pun tentang siapa yang memeriksa apakah kredensial yang dapat diverifikasi masih valid atau dicabut. Dengan statusList2021
, ID Terverifikasi Microsoft Entra menyimpan bendera dengan nilai hash klaim terindeks untuk melacak status pencabutan.
Data kredensial yang dapat diverifikasi
Dalam setiap kredensial yang dapat diverifikasi yang dikeluarkan Microsoft, ada klaim yang disebut credentialStatus
. Data ini adalah peta navigasi ke tempat dalam blok data kredensial yang dapat diverifikasi ini memiliki bendera pencabutannya.
Catatan
Jika kredensial yang dapat diverifikasi sudah lama dan dikeluarkan selama periode pratinjau, klaim ini tidak ada. Pencabutan tidak akan berfungsi untuk kredensial ini dan Anda harus menerapkannya kembali.
...
"credentialStatus": {
"id": "urn:uuid:00aa00aa-bb11-cc22-dd33-44ee44ee44ee?bit-index=31",
"type": "RevocationList2021Status",
"statusListIndex": 31,
"statusListCredential": "did:web:verifiedid.contoso.com?service=IdentityHub&queries=...data..."
...
Titik akhir API Hub Identitas Penerbit
Dalam dokumen pengidentifikasi terdesentralisasi pihak penerbit, titik akhir Identity Hub tersedia di bagian tersebut service
.
didDocument": {
"id": "did:web:verifiedid.contoso.com",
"@context": [
"https://www.w3.org/ns/did/v1",
{
"@base": "did:web:verifiedid.contoso.com"
}
],
"service": [
{
"id": "#linkeddomains",
"type": "LinkedDomains",
"serviceEndpoint": {
"origins": [
"https://verifiedid.contoso.com/"
]
}
},
{
"id": "#hub",
"type": "IdentityHub",
"serviceEndpoint": {
"instances": [
"https://verifiedid.hub.msidentity.com/v1.0/00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
],
"origins": [ ]
}
}
],
Membuat kredensial yang dapat diverifikasi yang dapat dicabut
ID Terverifikasi Microsoft Entra tidak menyimpan data kredensial yang dapat diverifikasi. Penerbit perlu mengindeks satu klaim untuk membuat kredensial dapat dicari. Hanya satu klaim yang dapat diindeks, dan jika tidak ada, Anda tidak dapat mencabut kredensial. Klaim yang dipilih untuk mengindeks kemudian diberi asin dan di-hash dan tidak disimpan sebagai nilai aslinya.
Catatan
Hashing adalah operasi kriptografi satu arah yang mengubah input, yang disebut preimage
, dan menghasilkan output yang disebut hash yang memiliki panjang tetap. Saat ini tidak layak secara komputasi, untuk membalikkan operasi hash.
Contoh: Dalam contoh berikut, displayName
adalah klaim indeks. Anda hanya dapat mencari melalui nama lengkap pengguna dan tidak ada yang lain.
{
"attestations": {
"idTokens": [
{
"clientId": "00001111-aaaa-2222-bbbb-3333cccc4444",
"configuration": "https://didplayground.b2clogin.com/didplayground.onmicrosoft.com/B2C_1_sisu/v2.0/.well-known/openid-configuration",
"redirectUri": "vcclient://openid",
"scope": "openid profile email",
"mapping": [
{
"outputClaim": "displayName",
"required": true,
"inputClaim": "$.name",
"indexed": true
},
{
"outputClaim": "firstName",
"required": true,
"inputClaim": "$.given_name",
"indexed": false
},
{
"outputClaim": "lastName",
"required": true,
"inputClaim": "$.family_name",
"indexed": false
}
],
"required": false
}
]
},
"validityInterval": 2592000,
"vc": {
"type": [
"VerifiedCredentialExpert"
]
}
}
Penting
Anda hanya dapat mengindeks satu klaim dari pemetaan klaim aturan. Jika Anda tidak sengaja tidak memiliki klaim terindeks dalam definisi aturan Anda, dan Anda kemudian memperbaiki pengawasan ini, semua kredensial yang dapat diverifikasi yang dikeluarkan sebelum perubahan tidak akan dapat dicari karena dikeluarkan ketika tidak ada indeks.
Bagaimana cara mencabut kredensial yang dapat diverifikasi?
Anda dapat menggunakan klaim terindeks dalam kredensial yang dapat diverifikasi untuk mencari kredensial yang dapat diverifikasi yang dikeluarkan dan mencabutnya.
Buka panel ID Terverifikasi di portal Azure sebagai pengguna admin dengan izin kunci tanda tangan untuk Azure Key Vault.
Pilih jenis kredensial yang dapat diverifikasi.
Pada menu paling kiri, pilih Cabut kredensial.
Cari klaim terindeks pengguna yang ingin Anda cabut. Mengindeks klaim adalah persyaratan untuk dapat mencari kredensial.
Penting
Kami hanya menyimpan versi hash dari klaim terindeks. Ini berarti bahwa hanya kecocokan yang tepat dari nilai yang disimpan dalam pekerjaan klaim terindeks. Saat Anda memasukkan informasi ke dalam kotak teks, informasi tersebut di-hash menggunakan algoritma yang sama. Nilai hash ini kemudian digunakan untuk mencari kecocokan dengan klaim hash tersimpan. Jika Anda tidak menemukan kecocokan, Anda mungkin telah memasukkan informasi yang salah atau klaim mungkin tidak diindeks.
Setelah menemukan kecocokan, pilih opsi Cabut di sebelah kanan kredensial yang ingin Anda cabut.
Pengguna admin yang melakukan operasi pencabutan harus menandatangani izin kunci untuk Key Vault atau pesan kesalahan "Tidak dapat mengakses sumber daya Key Vault dengan kredensial yang diberikan" muncul.
Setelah pencabutan berhasil, Anda akan melihat pembaruan status dan banner hijau muncul di bagian atas halaman.
API Layanan Permintaan menunjukkan kredensial yang dicabut dalam presentation_verified
panggilan balik sebagai REVOKED
. Bergantung pada apakah permintaan presentasi yang ditentukan yang memungkinkan kredensial yang dicabut disajikan, presentasi kredensial yang dicabut berhasil atau gagal.