ข้อมูลประจำตัวดิจิทัลคือเอกสารที่ตรวจสอบได้ด้วยการเข้ารหัส ซึ่งใช้เพื่อ ตรวจสอบสิทธิ์ อนุญาต หรือให้ข้อมูลอื่นๆ เกี่ยวกับผู้ใช้ โดยปกติแล้ว ข้อมูลเหล่านี้ มักจะเป็นสิ่งต่างๆ เช่น ใบขับขี่บนอุปกรณ์เคลื่อนที่ หนังสือเดินทางดิจิทัล บัตรขึ้นเครื่อง ฯลฯ ข้อมูลเหล่านี้จะอยู่ในคอนเทนเนอร์เสมือนที่เรียกว่ากระเป๋าเงินดิจิทัล และเป็นส่วนหนึ่งของมาตรฐาน W3C ที่ระบุวิธีเข้าถึงและดึงข้อมูล มาตรฐานนี้ใช้สำหรับกรณีการใช้งานบนเว็บด้วย W3C Credential Management API และใน Android ด้วย DigitalCredential API ของ Credential Manager
ทำความเข้าใจข้อมูลประจำตัวดิจิทัล
ในโลกจริง บุคคลอาจเก็บข้อมูลประจำตัวไว้ในกระเป๋าสตางค์และ แสดงต่อฝ่ายที่ขอเมื่อถูกถาม
ในกรณีนี้ โดยทั่วไปผู้ใช้จะมีกระเป๋าเงินเพียงกระเป๋าเดียว และจะดึงข้อมูลประจำตัวที่ขอจากกระเป๋าเงินเพื่อแสดงต่อผู้ขอ กระเป๋าเงินส่วนใหญ่ ใช้แทนกันได้และมักจะจัดเก็บสิ่งเดียวกันได้
ข้อมูลประจำตัวดิจิทัลมีความแตกต่างหลักๆ ดังนี้
- ผู้ใช้ควรมีกระเป๋าเงินหลายใบ หรือที่เรียกว่าผู้ถือ ซึ่งอาจมีข้อมูลเข้าสู่ระบบที่แตกต่างกัน โดย Wallet จะเป็นตัวกำหนดว่าจัดเก็บ ข้อมูลเข้าสู่ระบบใดไว้ภายในได้
- ตอนนี้ผู้ขอคือแอปพลิเคชัน ไม่ใช่บุคคลจริง และจะเรียกว่าเครื่องมือยืนยัน
- การแสดงข้อมูลเข้าสู่ระบบจะเกิดขึ้นในซอฟต์แวร์ ซึ่งหมายความว่าพื้นผิว API จะดึงและแสดงข้อมูลเข้าสู่ระบบ ใน Android จะเป็นตัวจัดการข้อมูลเข้าสู่ระบบ
ด้วยเหตุนี้ ตัวจัดการข้อมูลเข้าสู่ระบบจึงมีบทบาทหลายอย่างที่ก่อนหน้านี้ผู้ใช้เป็นผู้จัดการ
- ใน Android นั้น Wallet ต้องลงทะเบียนข้อมูลเมตาของข้อมูลเข้าสู่ระบบกับ Credential Manager เพื่อให้แสดงใน UI ของเครื่องมือจัดการข้อมูลเข้าสู่ระบบ
- ตัวจัดการข้อมูลเข้าสู่ระบบจะจับคู่ข้อมูลเข้าสู่ระบบในกระเป๋าเงินต่างๆ ตามคำขอ และแสดงรายการให้ผู้ใช้เลือก
- เมื่อผู้ใช้เลือกข้อมูลเข้าสู่ระบบในรายการแล้ว ตัวจัดการข้อมูลเข้าสู่ระบบจะเรียกใช้ Wallet ซึ่งจะจัดการธุรกรรมที่เหลือ (แสดง UI ฯลฯ) และส่งคืนข้อมูลเข้าสู่ระบบไปยังแอปพลิเคชัน
ขั้นตอนการทำงานนี้แสดงที่นี่
ประสบการณ์ของผู้ใช้
ดังที่แสดงในขั้นตอนของ Android ผู้ใช้เพียงแค่ต้องโต้ตอบกับ UI ของ Credential Manager เพียงครั้งเดียวเพื่อเลือกข้อมูลเข้าสู่ระบบที่เหมาะสม ตัวอย่างลักษณะของตัวเลือกมีดังนี้
มาตรฐาน
คำขอข้อมูลเข้าสู่ระบบดิจิทัลสร้างขึ้นโดยใช้มาตรฐาน OpenID4VP คุณดูตัวอย่างคำขอได้ที่เว็บไซต์การสาธิตข้อมูลประจำตัวดิจิทัล
โดยปกติแล้ว ระบบจะแสดงผลการตอบกลับข้อมูลเข้าสู่ระบบดิจิทัลในรูปแบบข้อมูลเข้าสู่ระบบมาตรฐาน ซึ่งได้รับการดูแลโดยหน่วยงานด้านมาตรฐานต่างๆ และรวมถึง ข้อมูลเข้าสู่ระบบที่ตรวจสอบได้ของ W3C, sd-jwt และ mdoc
นอกจากนี้ คุณยังใช้โปรโตคอลที่กำหนดเองได้ด้วย แต่เราขอแนะนำให้ใช้โปรโตคอลมาตรฐานอย่างใดอย่างหนึ่งในแอปพลิเคชัน
ลองเลย
คุณทดสอบขั้นตอนการทำงานของข้อมูลเข้าสู่ระบบดิจิทัลในแพลตฟอร์มต่างๆ ได้ด้วย Android Wallet และเครื่องมือตรวจสอบบนเว็บ โดยทำดังนี้
- ติดตั้งตัวอย่างสาธารณะของ CMWallet ในโทรศัพท์ Android
คุณทำได้โดยดึงข้อมูลจากที่เก็บและติดตั้งโดยตรงจาก
Android Studio หรือไปที่
https://github.com/digitalcredentialsdev/CMWallet/actions
แล้วเลือกบิลด์ล่าสุดเพื่อเข้าถึงไฟล์
app-debug.apkล่าสุด - เปิด CMWallet เพื่อลงทะเบียนข้อมูลเมตากับเครื่องมือจัดการข้อมูลเข้าสู่ระบบ ตรวจสอบว่าได้เปิดใช้บลูทูธเพื่ออนุญาตให้อุปกรณ์เชื่อมต่อกัน
- ไปที่ https://digital-credentials.dev/ แล้วเลือก
Request Credentials (OpenID4VP) - ยอมรับข้อความแจ้งคำเตือนและสแกนคิวอาร์โค้ดด้วยโทรศัพท์ จากนั้นเลือก "ใช้พาสคีย์" แล้วแตะผ่านการยืนยันเพื่อแสดงข้อมูลเข้าสู่ระบบที่ใช้ได้
- เลือกข้อมูลเข้าสู่ระบบจาก CMWallet เพื่อกลับไปที่เบราว์เซอร์ เบราว์เซอร์ ควรแสดงข้อมูลเข้าสู่ระบบที่ส่งคืน
ดูเพิ่มเติม
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Credential Manager เพื่อขอข้อมูลเข้าสู่ระบบดิจิทัลใน แอปของคุณได้ที่หน้า Credential Manager - Verifier API
- ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างกระเป๋าเงินดิจิทัลโดยใช้เครื่องมือจัดการข้อมูลเข้าสู่ระบบได้ในหน้าCredential Manager - Holder API