Petunjuk dan konteks
Situs game, konten, dan farmasi daring perlu memeriksa apakah seorang pengguna berusia 13, 16, atau 18 tahun. Pengguna memegang kredensial dari pemerintah atau penerbit tepercaya. Layanan ini harus mendukung banyak penerbit, pemulihan luring, pencabutan, dan investigasi penyalahgunaan.
Hal yang diuji oleh pewawancara
Mereka menguji siklus hidup kredensial, minimalisasi data, trust root, ketahanan terhadap pemutaran ulang, ketersediaan, dan kompromi audit regulasi. W3C VC 2.0 mendefinisikan penerbit (issuer), pemegang (holder), dan pemverifikasi (verifier); Digital Credentials API memungkinkan agen pengguna memediasi presentasi.
Pertanyaan untuk klarifikasi
Tanyakan tentang ambang batas, yurisdiksi, sumber kredensial, bukti anonim, UX kegagalan, dan retensi. Perjelas apakah situs memerlukan usia pasti atau hanya hasil boolean, dan apakah kasus berisiko tinggi memerlukan peninjauan manual.
Jawaban 30 detik
“Penerbit membuat verifiable credential yang memuat usia, dan dompet hanya menyajikan bukti ambang batas, bukan tanggal lahir atau nama. Untuk setiap permintaan, pemverifikasi membuat nonce dan audience, lalu memeriksa tanda tangan, kedaluwarsa, status, dan pengikatan tujuan; layanan ini hanya menyimpan peristiwa audit minimal. Saya akan mulai dengan satu yurisdiksi dan ambang batas, mengukur keberhasilan, penolakan pemutaran ulang, penolakan palsu, dan kebocoran, kemudian memperluas penerbit dan alur luring.”
Pembahasan mendalam langkah demi langkah
Menentukan partisipan dan trust root
Penerbit membuktikan fakta, dompet pemegang mengontrol pengungkapan, dan situs pemverifikasi membuat permintaan satu kali. Platform mengelola metadata penerbit tepercaya dan rotasi kunci tanpa membuktikan ulang identitas itu sendiri.
Merancang pengungkapan minimal
Kembalikan asersi turunan "setidaknya 18", jenis kredensial, dan masa kedaluwarsa alih-alih tanggal lahir, nama, atau pengidentifikasi stabil. Tentukan skema berdasarkan yurisdiksi dan ambang batas agar bidang tambahan tidak pernah masuk ke dalam log.
Mencegah pemutaran ulang dan korelasi
Ikat setiap presentasi ke nonce, audience, asal callback, dan kedaluwarsa singkat. Tolak nonce yang digunakan kembali; hindari korelasator yang dapat digunakan kembali dan terbitkan pseudonim khusus pemverifikasi bila diperlukan.
Memverifikasi tanda tangan dan status
Periksa rantai kredensial, algoritma, kepercayaan penerbit, kedaluwarsa, dan status pencabutan atau penangguhan. Respons status hanya boleh di-cache dengan batas kesegaran; pencarian yang gagal harus fail-closed atau memerlukan peninjauan sesuai dengan risikonya.
Menangani luring dan pemulihan
Verifikasi luring menggunakan materi bertanda tangan dan snapshot status terbaru dengan masa kedaluwarsa, tidak pernah dengan kepercayaan tanpa batas. Dompet yang hilang memerlukan pengikatan ulang atau penerbitan ulang pada perangkat baru tanpa menurunkan ambang batas.
Menetapkan batasan audit dan data
Audit pemohon, versi kebijakan, hasil, dan waktu verifikasi, bukan kredensial mentah atau tanggal lahir. Lindungi token korelasi yang terkontrol untuk investigasi penyalahgunaan dengan penyimpanan terpisah, enkripsi, dan kontrol akses.
Jawaban model
Saya akan memodelkan penerbit, pemegang, dan pemverifikasi. Penerbit menerbitkan VC yang memuat usia; dompet hanya menyajikan hasil ambang batas. Situs membuat nonce dan audience untuk setiap permintaan, memverifikasi tanda tangan, direktori kepercayaan, kedaluwarsa, dan status, serta menolak pemutaran ulang. Layanan menyimpan versi kebijakan, hasil, dan waktu, tidak pernah tanggal lahir atau kredensial mentah. Mode luring menggunakan snapshot status dengan batasan kesegaran, dan pemulihan melakukan pengikatan ulang atau penerbitan ulang. Uji coba satu yurisdiksi, ukur keberhasilan, penolakan palsu, penolakan pemutaran ulang, dan audit privasi, lalu perluas.
Kesalahan umum
Mengumpulkan dokumen identitas lengkap
Hal tersebut melanggar minimalisasi serta meningkatkan kebocoran dan pelacakan lintas situs; kesimpulan usia biasanya sudah cukup.
Hanya memeriksa tanda tangan
Tanda tangan yang valid tidak membuktikan kedaluwarsa, ketiadaan pencabutan, atau audience yang benar. Status dan tujuan harus diperiksa.
Menggunakan kembali pengidentifikasi pengguna global
Pengidentifikasi global memungkinkan situs mengorelasikan pengguna. Gunakan pseudonim khusus pemverifikasi atau asersi satu kali.
Mempercayai status luring yang usang selamanya
Pencabutan dan rotasi kunci membatalkan status lama. Materi luring membutuhkan kedaluwarsa dan jalur peningkatan.
Pertanyaan lanjutan
Bagaimana jika pengguna di bawah umur tidak memiliki kredensial?
Tawarkan penerbitan ulang, peninjauan manual yang teregulasi, atau jalur penolakan yang jelas; jangan mewajibkan pengunggahan dokumen identitas lengkap ke platform.
Bagaimana Anda menangani situs berbahaya yang memutar ulang kredensial?
Ikat presentasi ke pemverifikasi, nonce, dan TTL singkat; pantau nonce yang berulang dan asal yang abnormal, serta cabut konfigurasi kepercayaan bila diperlukan.
Bagaimana jika yurisdiksi memiliki aturan yang berbeda?
Buat versi kebijakan, ambang batas, dan direktori penerbit dapat dikonfigurasi; sertakan yurisdiksi dan versi kebijakan dalam hasil daripada melakukan hard-code pada satu aturan global.
Bagaimana Anda membuktikan perlindungan privasi?
Pengujian menyeluruh (end-to-end) harus memastikan log, analitik, dan kesalahan tidak berisi tanggal lahir atau pengidentifikasi stabil; audit bidang yang diungkapkan dan pencarian status secara berkala.