Kehendak soalan dan skop
Beberapa universiti ingin berkongsi direktori institusi dan pengeluar kelayakan yang boleh disahkan tanpa bergantung pada satu daftar pusat. Terangkan cara anda memodelkan RecognizedEntity, RecognizedAction, dan VerifiableRecognitionCredential, serta mengendalikan privasi, pembatalan, penyamaran, dan daftar yang berkonflik.
W3C Recognized Entities v1.0 kini merupakan Draf Kerja Awam Pertama (First Public Working Draft). Ia menerangkan model data untuk entiti yang diiktiraf oleh ekosistem bagi melaksanakan tindakan tertentu, membolehkan maklumat pengiktirafan diterbitkan atau diserahkan terus kepada pengesah (verifier). Soalan ini menguji pemodelan data yang boleh disahkan dan keputusan kepercayaan tanpa menganggap Draf Kerja tersebut sebagai piawaian akhir.
Perkara yang dinilai oleh penemu duga
Penemu duga mencari model berasingan untuk entiti, tindakan, pengiktiraf (recognizer), kesahan kelayakan, dan dasar pengesahan, di samping semakan silang daftar, pembatalan, dan sempadan privasi. Jawapan yang kukuh menyatakan bahawa kelayakan yang disediakan oleh pemegang tidak semestinya diterima oleh pengesah dan penegasan pengiktirafan bukanlah pengesahan perniagaan secara automatik.
Soalan penjelasan sebelum menjawab
- Siapakah pengiktiraf, entiti yang diiktiraf, dan pengesah akhir, serta daftar manakah yang dipercayai oleh setiap pihak?
- Adakah tindakan yang diiktiraf itu mengeluarkan, mengesahkan, atau perkara lain, dan bagaimanakah skema outputnya ditakrifkan?
- Adakah kelayakan diserahkan terus kepada pengesah, atau status semasa mesti diambil daripada pengeluar?
- Apakah keperluan pembatalan, kesahan, giliran kunci (key-rotation), dan privasi yang terpakai?
- Siapa yang menjadi perantara dan merekodkan sebab apabila daftar tidak sehaluan?
Rangka kerja jawapan 30 saat
"Saya akan memodelkan entiti, tindakan, pengiktiraf, dan penegasan kelayakan sebagai objek yang boleh disahkan. RecognizedEntity dipautkan melalui recognizedTo kepada tindakan; tindakan tersebut menamakan recognizedBy dan skema output; dan VerifiableRecognitionCredential merekodkan pengeluar, kesahan, serta set subjek. Pengesah menyemak tandatangan, status, dan masa, kemudian memilih pengiktiraf di bawah dasar kepercayaan tempatan, mengikuti rantaian pengiktirafan, dan mengesahkan skema output. Kelayakan yang disediakan oleh pemegang boleh mengelakkan carian (lookup), tetapi ia tidak boleh menggantikan semakan kesegaran data untuk keputusan berisiko tinggi. Saya akan meminimumkan data peribadi dan mengaudit pembatalan, giliran kunci, serta keputusan konflik."
Jawapan mendalam langkah demi langkah
1. Modelkan entiti, tindakan, dan pengiktirafan
Gunakan URL unik secara global untuk entiti dan halakan recognizedTo kepada satu atau lebih objek RecognizedAction. Tindakan merangkumi nama, pengiktiraf, dan skema untuk mengesahkan output; jangan mengekod "institusi ini dipercayai" sebagai boolean tanpa skop. recognizedIn boleh merujuk senarai kepercayaan sedia ada atau kelayakan pengiktirafan lain supaya pengesah dapat mengenal pasti ekosistem di sebalik penegasan tersebut.
2. Balut penegasan sebagai kelayakan yang boleh disahkan
Kelayakan mesti mematuhi Verifiable Credentials Data Model v2.0 dan merangkumi jenisnya, pengeluar, validFrom, validUntil, dan entiti yang diiktiraf dalam credentialSubject. Tandatangan yang sah membuktikan kawalan ke atas kunci pengeluar, bukan bermakna pengesah mesti mempercayai pengeluar tersebut; gunakan punca kepercayaan (trust roots) tempatan, senarai dibenarkan (allowlists), dan skop tindakan sebagai keputusan berasingan.
credential = {
type: ["VerifiableCredential", "VerifiableRecognitionCredential"],
issuer: "did:web:accreditor.example",
validFrom: "2026-01-01T00:00:00Z",
credentialSubject: [{
id: "did:web:university.example",
recognizedTo: [{ action: "issue", outputValidation: [schema] }]
}]
}3. Reka bentuk pengesahan dan rantaian pengiktirafan
Semak sintaks, tandatangan, pengeluar, kesahan, pembatalan, dan skema terlebih dahulu, kemudian tentukan sama ada pengiktiraf tergolong dalam set kepercayaan tempatan. Untuk rantaian recognizedBy atau recognizedIn berbilang peringkat, tetapkan kedalaman maksimum, kesan kitaran, dan sahkan tempoh setiap peringkat; rantaian yang lebih panjang tidak bermakna ia lebih dipercayai secara automatik. Semak silang Senarai Perkhidmatan Kepercayaan ETSI (ETSI Trust Service Lists), senarai CA X.509, atau daftar terkawal lain apabila dasar memerlukannya.
4. Kendalikan kesegaran data dan pembatalan
Pemegang boleh mengemukakan kelayakan secara terus, mengurangkan carian kepada pengeluar, tetapi pengesah memutuskan berdasarkan risiko sama ada perlu menyemak status semasa. Gunakan tempoh sah yang singkat, senarai status, pemberitahuan pembatalan, atau versi daftar; rekodkan masa pengesahan, punca kepercayaan, dan cincangan konteks. Pembatalan mesti mengatasi capaian cache (cache hit) apabila kunci digilirkan, pengeluar dikompromi, atau tindakan yang diiktiraf berubah.
5. Lindungi privasi dan cegah penyalahgunaan
Menyenaraikan nama, pengecam, hubungan organisasi, dan tindakan secara terbuka boleh membolehkan pengawasan atau anggapan bersalah kerana pergaulan (guilt by association). Minimumkan medan bagi setiap konteks dan utamakan pendedahan terpilih yang dikawal pemegang; jangan membuat kesimpulan tentang sifat yang tidak berkaitan daripada satu pengiktirafan. Halang pemegang berniat jahat daripada menyebarkan kelayakan palsu dengan mengesahkan tandatangan, status, sumber, dan skema secara bersama serta mengehadkan pengeluar yang boleh diterima.
6. Tadbir konflik dan pengunduran (rollback)
Daftar yang berbeza mungkin menetapkan tindakan, kesahan, atau status yang berbeza untuk entiti yang sama. Tentukan peraturan keutamaan, skop, masa, dan bukti sebelum menyimpan keputusan, dan audit sebab yang dipilih. Versikan konteks, skema, dan algoritma pengesahan apabila Draf Kerja berubah; lakukan bacaan bayangan (shadow-read) tanpa mengubah kebenaran perniagaan. Penyamaran, kebocoran privasi, atau regresi pengesahan harus melumpuhkan laluan baharu dan memulihkan daftar lama.
Contoh jawapan berkualiti tinggi
Saya akan memodelkan RecognizedEntity, RecognizedAction, pengiktiraf, dan VerifiableRecognitionCredential secara berasingan. Entiti mempunyai URL global, tindakan menamakan skop, pengiktiraf, dan skema outputnya, dan kelayakan mengikut VC Data Model 2.0 dengan pengeluar, kesahan, dan subjek. Pengesah menyemak tandatangan, masa, pembatalan, dan skema, kemudian menggunakan punca kepercayaan tempatan dan senarai dibenarkan; rantaian pengiktirafan mempunyai had kedalaman dan kitaran serta boleh disemak silang dengan senarai ETSI atau X.509. Kelayakan yang dikemukakan pemegang mengurangkan carian tetapi tidak membuang semakan kesegaran bagi kes berisiko tinggi. Minimumkan medan peribadi untuk mengelakkan pengawasan atau anggapan bersalah kerana pergaulan. Selesaikan konflik daftar dengan peraturan skop, masa, dan tadbir urus serta audit hasilnya. Versikan konteks dan pengesah semasa kemas kini Draf Kerja, dan undurkan (roll back) perubahan apabila penyamaran, pembatalan lapuk, atau kegagalan privasi berlaku.
Kesilapan biasa
- Menganggap tandatangan yang sah sebagai kepercayaan perniagaan → ia hanya membuktikan kawalan kunci → tetap periksa punca kepercayaan, status, dan skop tindakan.
- Mengekodkan pengiktirafan sebagai bendera dipercayai tanpa skop → tindakan yang diiktiraf akan hilang → modelkan
recognizedTodan skema output. - Sentiasa mempercayai kelayakan terkini pemegang → ia mungkin dibatalkan atau tamat tempoh → semak status dan kesahan mengikut risiko.
- Menerbitkan daftar peribadi yang lengkap → pengagregatan data boleh membolehkan pengawasan → minimumkan pendedahan dan hadkan pengagregatan.
- Mengambil keputusan pertama apabila daftar berkonflik → keputusan menjadi tidak boleh diaudit dan mudah dimanipulasi → takrifkan keutamaan, skop, masa, dan bukti.
Soalan susulan dan jawapan
Mengapakah kelayakan pengiktirafan tidak memberikan kebenaran perniagaan secara langsung?
Ia menegaskan bahawa pengiktiraf mengenali entiti untuk melaksanakan sesuatu tindakan. Kebenaran perniagaan juga bergantung pada sumber, penyewa (tenant), masa, risiko, dan dasar tempatan.
Bagaimanakah anda menghalang rantaian pengiktirafan yang tidak terhingga?
Tetapkan kedalaman maksimum, jejak pengecam yang telah dilawati, dan kuat kuasakan jumlah bajet; gagalkan dan rekodkan sebab sekiranya berlaku kitaran atau had dicapai.
Bilakah pengesah mesti mengambil status semasa?
Untuk transaksi bernilai tinggi, tempoh pembatalan yang pendek, kompromi kunci, atau perubahan versi daftar. Kes berisiko rendah boleh menggunakan cache berversi dan terikat masa.
Bagaimanakah anda mengendalikan seseorang yang diiktiraf secara salah?
Sediakan laluan pembatalan, rayuan, dan pembetulan; minimumkan medan awam; kekalkan bukti pengeluaran dan pengesahan; dan berhenti menerima kelayakan lama apabila status yang diperbetulkan berkuat kuasa.
Bagaimanakah anda menguji Draf Kerja dengan selamat?
Lakukan pengesahan bayangan (shadow-verify) dalam penyewa terpencil tanpa mengubah kebenaran perniagaan, kekalkan spesifikasi dan vektor ujian, sediakan suis pengunduran (rollback switch), dan kembangkan selepas semakan pelaksanaan dan keselamatan.