Digital Credentials Provisioning API จัดระเบียบตามโมเดลทรัพยากรหลัก 3 อย่าง ดังนี้
| ทรัพยากร | คำอธิบาย |
|---|---|
| อุปกรณ์ | อินสแตนซ์ที่ไม่ซ้ำกันของอุปกรณ์จริงและคีย์ประจำตัว |
| การพิสูจน์อักษร | กระบวนการพิสูจน์ตัวตนของผู้ใช้ก่อนออกข้อมูลเข้าสู่ระบบ |
| ข้อมูลเข้าสู่ระบบ | ตัว DC เอง |
ในฐานะผู้ออกบัตร คุณมีหน้าที่รับผิดชอบในการสร้างและจัดการทรัพยากรเหล่านี้ ตลอดวงจรของ DC
สมมติฐาน
สมมติฐานหลักที่ API นี้ใช้คือการใช้ Android Identity Credential API โดยอุปกรณ์เพื่อจัดเก็บ DC ที่กำหนดโดย ISO/IEC 18013-5
รูปแบบทรัพยากร
อุปกรณ์
ในโมเดล Digital Credentials Provisioning API อุปกรณ์ไม่ได้เป็นเพียง อุปกรณ์ที่ใช้ Android ซึ่งผู้ใช้จัดการ DC โดยใช้ แอป Google Wallet แต่จะแสดงเป็นชุดค่าผสมของ รายการต่อไปนี้แทน
- อุปกรณ์จริงที่ใช้ระบบ Android
- คู่คีย์สาธารณะ/ส่วนตัว (เรียกว่า "คีย์ประจำตัว")
- ผู้ออกบัตรจะใช้คีย์สาธารณะเพื่อยืนยันตัวตนของอุปกรณ์
- ระบบจะจัดเก็บคีย์ส่วนตัวไว้ในพื้นที่เก็บข้อมูลที่ปลอดภัยของอุปกรณ์
เมื่อทำการเรียก API ระบบจะระบุการผสมผสานระหว่างอุปกรณ์และข้อมูลเข้าสู่ระบบด้วยรหัสอ้างอิงอุปกรณ์ (พร็อพเพอร์ตี้ deviceReferenceId)
เมื่ออุปกรณ์สื่อสารกับผู้ออกบัตรเป็นครั้งแรก ระบบจะกำหนดหมายเลขแบบใช้ครั้งเดียวที่ไม่ซ้ำกันให้ (เพื่อป้องกันการโจมตีแบบรีเพลย์และรับประกันความใหม่) โดย nonce จะได้รับการลงนามด้วยคีย์ระบุตัวตนของอุปกรณ์และฝังอยู่ในใบรับรองที่มีคีย์ระบุตัวตน นับจากนี้ไป คุณจะใช้ใบรับรองเพื่อยืนยันอุปกรณ์กับ ผู้ออกใบรับรองได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองได้ในเอกสารประกอบIdentityCredentialของ Android
หากคุณสร้างโมเดลทรัพยากรนี้เป็นตารางฐานข้อมูล ก็จะมีลักษณะคล้ายกับ
ต่อไปนี้ โปรดทราบว่าพร็อพเพอร์ตี้ identityKey จะเป็นค่าคีย์สาธารณะ
การพิสูจน์อักษร
การพิสูจน์อักษรคือการรวมกันของสิ่งต่อไปนี้
- หลักฐานที่ผู้ใช้แสดงเพื่อพิสูจน์ตัวตน
- การตัดสินใจของผู้รับรองตามหลักฐานที่ส่งมา
การพิสูจน์ตัวตนจะขึ้นอยู่กับประเภทของข้อมูลเข้าสู่ระบบที่ผู้ใช้ขอ เมื่อ จัดสรร DC ผู้ใช้จะส่งรูปถ่ายของเอกสาร ระบุตัวตนจริงและวิดีโอโปรไฟล์ของตน Google จะใช้วิดีโอนี้เพื่อคำนวณความเป็นไปได้ที่วิดีโอจะเป็นบุคคลจริง ผลลัพธ์ที่ Google มอบให้ผู้ออกบัตรเรียกว่า "คะแนนความมีชีวิต" ระบบจะเพิ่มวิธีการพิสูจน์ตัวตนเพิ่มเติมเมื่อรองรับข้อมูลเข้าสู่ระบบประเภทใหม่
สถานะที่เป็นไปได้สำหรับการพิสูจน์แสดงอยู่ในตารางต่อไปนี้
| สถานะ | คำอธิบาย | สถานะสุดท้าย |
|---|---|---|
| รอดำเนินการ | ผู้ออกบัตรยังไม่ได้ตัดสินใจ | ไม่ |
| ยอมรับ | ผู้ออกบัตรตัดสินใจว่าหลักฐานเป็นที่น่าพอใจ | ไม่ |
| ถูกปฏิเสธ | ผู้ออกบัตรตัดสินว่าหลักฐานไม่เพียงพอ | มี* |
| ประสบปัญหา | ผู้ออกบัตรต้องการข้อมูลเพิ่มเติมเพื่อประกอบการตัดสินใจ | ไม่ |
| ยกเลิกแล้ว | ผู้ใช้ยกเลิกการพิสูจน์อักษร | ใช่ |
| เพิกถอนแล้ว | ผู้ออกบัตรได้เพิกถอนการพิสูจน์ตัวตนแล้ว | มี* |
| หมดอายุแล้ว | ผู้ใช้ทำความท้าทายไม่สำเร็จตามเวลาที่กำหนด | ใช่ |
สถานะที่มีเครื่องหมายดอกจัน (*) อาจไม่ใช่สถานะสุดท้ายในกรณีที่ผู้ตรวจสอบที่เป็นมนุษย์ทำผิดพลาดและอัปเดตสถานะด้วยตนเอง
แผนภาพสถานะต่อไปนี้อธิบายขั้นตอนสถานะที่เป็นไปได้
ในบางกรณี ผู้ออกบัตรอาจตัดสินใจไม่ได้เนื่องจากหลักฐานเริ่มต้น เพื่อช่วยในการตัดสินใจ ผู้ใช้อาจต้องระบุ ข้อมูลหรือหลักฐานเพิ่มเติมแก่ผู้ออกบัตร ตัวอย่างความท้าทาย ได้แก่ การตอบจดหมาย การเข้าชมเว็บไซต์ของผู้ออกบัตร หรือการส่งหลักฐานเพิ่มเติม
หากคุณสร้างโมเดลทรัพยากรนี้เป็นตารางฐานข้อมูล ก็จะมีลักษณะคล้ายกับ ต่อไปนี้
ข้อมูลเข้าสู่ระบบ
ข้อมูลเข้าสู่ระบบแสดงถึงเวอร์ชันเสมือนของเอกสารรับรองจริงสำหรับอุปกรณ์ที่เฉพาะเจาะจง ทุกครั้งที่มีการจัดสรรข้อมูลเข้าสู่ระบบเสมือนให้กับอุปกรณ์จริง ระบบจะกำหนดรหัสข้อมูลเข้าสู่ระบบให้ หากมีการจัดสรรข้อมูลเข้าสู่ระบบจริงเดียวกันให้กับอุปกรณ์ต่างๆ ข้อมูลเข้าสู่ระบบจะมีรหัสข้อมูลเข้าสู่ระบบที่แตกต่างกันทุกครั้ง ในทำนองเดียวกัน หากมีการจัดสรรข้อมูลเข้าสู่ระบบให้กับอุปกรณ์ ลบออก และ จัดสรรอีกครั้งให้กับอุปกรณ์เครื่องเดียวกัน ข้อมูลเข้าสู่ระบบนั้นจะมีรหัสข้อมูลเข้าสู่ระบบที่แตกต่างกัน
เมื่อมีการเปลี่ยนแปลงรายละเอียดของข้อมูลเข้าสู่ระบบของผู้ใช้ (เช่น การเปลี่ยนที่อยู่สำหรับ เอกสารระบุตัวตน) คุณต้องอัปเดตรายละเอียดเหล่านี้สำหรับ ข้อมูลเข้าสู่ระบบเสมือนที่เชื่อมโยง ข้อมูลเข้าสู่ระบบเดียวอาจมีหลายเวอร์ชัน ซึ่งสอดคล้องกับการเปลี่ยนแปลงดังกล่าว ระบบจะติดตามเวอร์ชันปัจจุบันโดยใช้รหัสเวอร์ชันของข้อมูลเข้าสู่ระบบ
หากต้องการแสดงข้อมูลเข้าสู่ระบบต่อผู้ให้บริการที่เชื่อถือได้ อุปกรณ์ต้อง ดึงข้อมูลออบเจ็กต์ความปลอดภัยบนอุปกรณ์เคลื่อนที่ (MSO) จากผู้ออกก่อน MSO มีข้อมูลสรุป ของข้อมูลเข้าสู่ระบบที่ผู้ออกได้ลงนามแล้ว MSO สร้างขึ้นจาก คีย์การตรวจสอบสิทธิ์ ซึ่งเป็นคีย์สาธารณะที่สร้างและลงนามโดยคีย์ประจำตัวของอุปกรณ์ คีย์การตรวจสอบสิทธิ์จะผูก MSO กับอุปกรณ์อย่างมีประสิทธิภาพ การรวม MSO และ ข้อมูลเข้าสู่ระบบจะพิสูจน์ต่อผู้รับข้อมูลว่าข้อมูลเข้าสู่ระบบมาจาก ผู้ออก
เมื่อจัดสรรข้อมูลเข้าสู่ระบบลงในอุปกรณ์แล้ว อุปกรณ์จะต้องส่งออบเจ็กต์
ProofOfProvisioning
กลับไปยังผู้ออก การดำเนินการนี้จะแจ้งให้ผู้ออกทราบว่ามีการจัดสรรข้อมูลเข้าสู่ระบบไปยังอุปกรณ์และจัดเก็บไว้ในพื้นที่เก็บข้อมูลที่ปลอดภัยของอุปกรณ์เรียบร้อยแล้ว
ข้อมูลเข้าสู่ระบบอาจมีสถานะต่อไปนี้
| สถานะ | คำอธิบาย |
| ProvisionPending |
ระบบได้ออกข้อมูลเข้าสู่ระบบไปยัง Google Wallet แล้ว แต่ยังไม่ได้ส่งหลักฐานการจัดสรรไปยังผู้ออก ระบบจะเปลี่ยนสถานะของข้อมูลเข้าสู่ระบบเป็น สถานะนี้ทุกครั้งที่รหัสเวอร์ชันของข้อมูลเข้าสู่ระบบเปลี่ยนแปลง จะไม่มีการเผยแพร่ MSO สำหรับข้อมูลเข้าสู่ระบบนี้ |
| ใช้งานอยู่ |
ระบบได้ส่งข้อมูลประจำตัวไปยัง Google Wallet แล้ว และได้ส่งหลักฐานการจัดสรรกลับไปยังผู้ออก MSO พร้อมให้บริการสำหรับข้อมูลเข้าสู่ระบบ
|
| เพิกถอนแล้ว |
ผู้ออกบัตรได้เพิกถอนข้อมูลเข้าสู่ระบบอย่างถาวรแล้ว จะไม่มีการเผยแพร่ MSO สำหรับข้อมูลเข้าสู่ระบบนี้ Google Wallet จะไม่แสดงข้อมูลเข้าสู่ระบบในสถานะนี้ |
| ลบแล้ว |
ผู้ใช้หรือ Google Wallet ได้ลบข้อมูลเข้าสู่ระบบออกจากอุปกรณ์อย่างถาวร แล้ว จะไม่มีการเผยแพร่ MSO สำหรับข้อมูลเข้าสู่ระบบนี้ Google Wallet จะไม่แสดงข้อมูลเข้าสู่ระบบในสถานะนี้ |
แผนภาพสถานะต่อไปนี้อธิบายขั้นตอนสถานะที่เป็นไปได้
หากคุณสร้างโมเดลทรัพยากรนี้เป็นตารางฐานข้อมูล ก็จะมีลักษณะคล้ายกับ ต่อไปนี้