Gesaan dan konteks
Laman permainan, kandungan, dan farmasi dalam talian perlu menyemak sama ada pengguna berumur 13, 16, atau 18 tahun. Pengguna memegang kelayakan daripada kerajaan atau pengeluar yang dipercayai. Perkhidmatan ini mesti menyokong pelbagai pengeluar, pemulihan luar talian, pembatalan, dan penyiasatan salah guna.
Perkara yang diuji oleh penemu duga
Mereka sedang menguji kitaran hayat kelayakan, peminimuman data, punca kepercayaan (trust roots), ketahanan main semula, ketersediaan, dan pertukaran audit kawal selia. W3C VC 2.0 mentakrifkan pengeluar (issuer), pemegang (holder), dan pengesah (verifier); Digital Credentials API membolehkan ejen pengguna menjadi perantara pembentangan.
Soalan untuk penjelasan
Tanya tentang ambang, bidang kuasa, sumber kelayakan, bukti tanpa nama, UX kegagalan, dan pengekalan. Jelaskan sama ada laman memerlukan umur yang tepat atau hanya keputusan boolean, dan sama ada kes berisiko tinggi memerlukan semakan manual.
Jawapan 30 saat
“Pengeluar mencipta verifiable credential yang mengandungi umur, dan dompet hanya membentangkan bukti ambang, bukan tarikh lahir atau nama. Bagi setiap permintaan, pengesah mencipta nonce dan audience, kemudian menyemak tandatangan, tamat tempoh, status, dan pengikatan tujuan; perkhidmatan hanya menyimpan peristiwa audit yang minimum. Saya akan bermula dengan satu bidang kuasa dan ambang, mengukur kejayaan, penolakan main semula, penolakan palsu, dan kebocoran, kemudian memperluas pengeluar dan aliran luar talian.”
Perbincangan mendalam langkah demi langkah
Tentukan peserta dan punca kepercayaan
Pengeluar memperakui fakta, dompet pemegang mengawal pendedahan, dan laman pengesah membuat permintaan sekali sahaja. Platform mengekalkan metadata pengeluar yang dipercayai dan putaran kunci tanpa membuktikan semula identiti itu sendiri.
Reka bentuk pendedahan minimum
Kembalikan penegasan terbitan "sekurang-kurangnya 18", jenis kelayakan, dan tamat tempoh dan bukannya tarikh lahir, nama, atau pengecam stabil. Tentukan skema mengikut bidang kuasa dan ambang supaya medan tambahan tidak pernah memasuki log.
Cegah main semula dan korelasi
Ikat setiap pembentangan pada nonce, audience, asal panggilan balik, dan tamat tempoh yang singkat. Tolak nonce yang digunakan semula; elakkan pengkorelasi yang boleh digunakan semula dan keluarkan pseudonim khusus pengesah apabila diperlukan.
Sahkan tandatangan dan status
Semak rantaian kelayakan, algoritma, kepercayaan pengeluar, tamat tempoh, dan status pembatalan atau penggantungan. Respons status hanya boleh dicache dengan had kesegaran; carian yang gagal mesti gagal secara tertutup (fail closed) atau memerlukan semakan mengikut risiko.
Kendalikan luar talian dan pemulihan
Pengesahan luar talian menggunakan bahan bertandatangan dan snapshot status terkini dengan tarikh luput, bukan kepercayaan tanpa had. Dompet yang hilang memerlukan pengikatan semula atau pengeluaran semula pada peranti baharu tanpa menurunkan ambang.
Tetapkan sempadan audit dan data
Audit peminta, versi dasar, keputusan, dan masa pengesahan, bukan kelayakan mentah atau tarikh lahir. Lindungi token korelasi yang dikawal untuk penyiasatan salah guna dengan storan berasingan, penyulitan, dan kawalan akses.
Jawapan model
Saya akan memodelkan pengeluar, pemegang, dan pengesah. Pengeluar menerbitkan VC yang mengandungi umur; dompet hanya membentangkan keputusan ambang. Laman mencipta nonce dan audience bagi setiap permintaan, mengesahkan tandatangan, direktori kepercayaan, tamat tempoh, dan status, serta menolak main semula. Perkhidmatan menyimpan versi dasar, keputusan, dan masa, tidak pernah menyimpan tarikh lahir atau kelayakan mentah. Mod luar talian menggunakan snapshot status terhad kesegaran, dan pemulihan melakukan pengikatan semula atau pengeluaran semula. Laksanakan projek rintis di satu bidang kuasa, ukur kejayaan, penolakan palsu, penolakan main semula, dan audit privasi, kemudian kembangkan.
Kesilapan biasa
Mengumpul dokumen identiti penuh
Perkara itu melanggar peminimuman dan meningkatkan kebocoran serta penjejakan rentas laman; kesimpulan umur biasanya mencukupi.
Hanya menyemak tandatangan
Tandatangan yang sah tidak membuktikan tamat tempoh, ketiadaan pembatalan, atau audience yang betul. Status dan tujuan mesti disemak.
Menggunakan semula pengecam pengguna global
Pengecam global membolehkan laman mengkorelasikan pengguna. Gunakan pseudonim khusus pengesah atau penegasan sekali sahaja.
Mempercayai status luar talian yang lapuk selama-lamanya
Pembatalan dan putaran kunci membatalkan status lama. Bahan luar talian memerlukan tamat tempoh dan laluan peningkatan.
Soalan susulan
Bagaimana jika pengguna bawah umur tidak mempunyai kelayakan?
Tawarkan pengeluaran semula, semakan manual yang dikawal selia, atau laluan penolakan yang jelas; jangan wajibkan memuat naik dokumen identiti penuh ke platform.
Bagaimanakah anda mengendalikan laman berniat jahat yang memainkan semula kelayakan?
Ikat pembentangan pada pengesah, nonce, dan TTL yang singkat; pantau nonce yang berulang dan asal yang tidak normal, dan batalkan konfigurasi kepercayaan apabila diperlukan.
Bagaimana jika bidang kuasa mempunyai peraturan yang berbeza?
Jadikan versi dasar, ambang, dan direktori pengeluar boleh dikonfigurasikan; sertakan bidang kuasa dan versi dasar dalam keputusan dan bukannya mengekod keras satu peraturan global.
Bagaimanakah anda membuktikan perlindungan privasi?
Ujian hujung ke hujung harus memastikan log, analitik, dan ralat tidak mengandungi tarikh lahir atau pengecam stabil; audit medan yang didedahkan dan carian status secara berkala.