ภาพรวมของข้อมูลเข้าสู่ระบบดิจิทัล

ข้อมูลประจำตัวดิจิทัลคือเอกสารที่ตรวจสอบได้ด้วยการเข้ารหัส ซึ่งใช้เพื่อ ตรวจสอบสิทธิ์ อนุญาต หรือให้ข้อมูลอื่นๆ เกี่ยวกับผู้ใช้ โดยปกติแล้วจะเป็นสิ่งต่างๆ เช่น ใบขับขี่บนมือถือ หนังสือเดินทางดิจิทัล บัตรขึ้นเครื่อง เป็นต้น ซึ่งจะอยู่ในคอนเทนเนอร์เสมือนที่เรียกว่ากระเป๋าเงินดิจิทัล และเป็นส่วนหนึ่งของมาตรฐาน W3C ที่ระบุวิธีเข้าถึงและดึงข้อมูล มาตรฐานนี้ใช้สำหรับกรณีการใช้งานบนเว็บด้วย W3C Credential Management API และใน Android ด้วย DigitalCredential API ของ Credential Manager

ทำความเข้าใจข้อมูลประจำตัวดิจิทัล

ในโลกจริง บุคคลอาจเก็บข้อมูลประจำตัวไว้ในกระเป๋าสตางค์และ แสดงต่อฝ่ายที่ขอเมื่อถูกถาม

รูปภาพแสดงขั้นตอนการโต้ตอบกับ Wallet ตามปกติ
รูปที่ 1 กระบวนการดำเนินการตามคำขอเอกสารรับรองในโลกจริง ผู้ขอจะขอข้อมูลเข้าสู่ระบบที่เฉพาะเจาะจงจากผู้ใช้ จากนั้นผู้ใช้จะเลือกและดึงข้อมูลจากกระเป๋าสตางค์จริง สุดท้าย ผู้ใช้จะให้ข้อมูลเข้าสู่ระบบแก่ผู้ขอ

ในกรณีนี้ โดยทั่วไปผู้ใช้จะมีกระเป๋าเงินเพียงกระเป๋าเดียว และจะดึงข้อมูลประจำตัวที่ขอจากกระเป๋าเงินเพื่อแสดงต่อผู้ขอ กระเป๋าเงินส่วนใหญ่ ใช้แทนกันได้และโดยทั่วไปจะจัดเก็บสิ่งเดียวกันได้

ข้อมูลเข้าสู่ระบบดิจิทัลมีความแตกต่างจากข้อมูลเข้าสู่ระบบในโลกจริงดังนี้

  1. ผู้ใช้ควรมีกระเป๋าเงินหลายใบ หรือที่เรียกว่าผู้ถือ ซึ่งอาจมีข้อมูลเข้าสู่ระบบที่แตกต่างกัน Wallet จะเป็นตัวกำหนดว่าจัดเก็บข้อมูลเข้าสู่ระบบใดไว้ภายในได้
  2. แอปหรือบริการที่ขอข้อมูลเข้าสู่ระบบเพื่อมอบสิทธิ์เข้าถึงหรือยืนยันตัวตนเรียกว่าผู้ยืนยัน
  3. หน่วยงานที่สร้างข้อมูลเข้าสู่ระบบและยืนยันการอ้างสิทธิ์เกี่ยวกับเรื่องนั้นๆ (เช่น มหาวิทยาลัย รัฐบาล หรือบริษัทเทคโนโลยี) จะเรียกว่าผู้ออกใบรับรอง
  4. การแสดงข้อมูลเข้าสู่ระบบจะเกิดขึ้นในซอฟต์แวร์ ซึ่งหมายความว่าพื้นผิว API จะดึงและแสดงข้อมูลเข้าสู่ระบบ ใน Android คือ Credential Manager

ดังนั้น Credential Manager จึงมีบทบาทหลายอย่างที่ก่อนหน้านี้ผู้ใช้เป็นผู้จัดการ

  1. ใน Android กระเป๋าเงินต้องลงทะเบียนข้อมูลเมตาของข้อมูลเข้าสู่ระบบกับ Credential Manager เพื่อให้แสดงใน UI ของเครื่องมือจัดการข้อมูลเข้าสู่ระบบ
  2. Credential Manager จะจับคู่ข้อมูลเข้าสู่ระบบในวอลเล็ตต่างๆ ตามคำขอ และแสดงรายการให้ผู้ใช้เลือก
  3. เมื่อผู้ใช้เลือกข้อมูลเข้าสู่ระบบในรายการแล้ว Credential Manager จะเรียกใช้ Wallet ซึ่งจะจัดการธุรกรรมที่เหลือ (แสดง UI ฯลฯ) และส่งคืนข้อมูลเข้าสู่ระบบไปยังแอปพลิเคชัน

ขั้นตอนการทำงานนี้แสดงดังนี้

รูปภาพแสดงขั้นตอนการโต้ตอบกับข้อมูลเข้าสู่ระบบดิจิทัล
รูปที่ 2 รูปแบบการโต้ตอบสำหรับการยืนยันข้อมูลรับรองดิจิทัล Credential Manager ใช้ข้อมูลเมตาของข้อมูลเข้าสู่ระบบที่ลงทะเบียนไว้ล่วงหน้าใน กระเป๋าเงินของผู้ใช้เพื่อจับคู่คำขอของผู้ยืนยันและแจ้งให้ผู้ใช้เลือก ข้อมูลเข้าสู่ระบบ จากนั้น Credential Manager จะเปลี่ยนเส้นทางการไหลของกิจกรรมไปยัง กระเป๋าเงินที่เกี่ยวข้องซึ่งจะจัดการธุรกรรมที่เหลือและส่งคืน ข้อมูลเข้าสู่ระบบไปยังผู้ยืนยัน หมายเหตุ: ผู้ยืนยันต้องจัดการและยืนยันการตอบกลับของข้อมูลเข้าสู่ระบบเมื่อมีการส่งคืน

ข้อมูลเข้าสู่ระบบที่ยืนยันได้

ข้อมูลเข้าสู่ระบบที่ตรวจสอบได้เป็นส่วนย่อยของข้อมูลเข้าสู่ระบบดิจิทัลที่อยู่ภายใต้มาตรฐานที่เข้มงวด (เช่น รูปแบบข้อมูลของข้อมูลเข้าสู่ระบบที่ตรวจสอบได้ของ W3C) ข้อมูลเข้าสู่ระบบเหล่านี้ มีการอ้างสิทธิ์ที่ได้รับการรักษาความปลอดภัยด้วยการเข้ารหัส ทำให้เห็นได้ชัดว่ามีการดัดแปลง และพิสูจน์ได้ว่าใครเป็นผู้ออกข้อมูลเข้าสู่ระบบ

เอกสารรับรองดิจิทัลบางรายการไม่ใช่เอกสารรับรองที่ยืนยันได้ แต่เอกสารรับรองที่ยืนยันได้ทั้งหมดเป็นเอกสารรับรองดิจิทัล

ความหมายของการเคลมที่ได้รับการยืนยัน

เมื่อการรับรองมาถึงผ่าน Credential Manager API ของ Android และมีการทำเครื่องหมายการอ้างสิทธิ์ภายในว่า "ยืนยันแล้ว" แสดงว่าผู้ออกกำลังยืนยันว่าได้ตรวจสอบข้อมูลเฉพาะดังกล่าวแล้ว อย่างไรก็ตาม ข้อมูลไม่ได้หมายความว่า ข้อมูลนั้นเป็นความจริงที่แน่นอนและเป็นสากล "ยืนยันแล้ว" เป็นการยืนยันกระบวนการ ไม่ใช่การรับประกันความน่าเชื่อถือโดยอัตโนมัติ

ปรัชญาหลักของระบบนิเวศนี้คือความน่าเชื่อถือจะได้รับการแก้ไขที่ผู้ยืนยันเสมอ เมื่อผู้ยืนยัน (แอปของคุณ) ได้รับข้อมูลที่ปลอดภัยด้วยการเข้ารหัสลับ และเห็นว่าผู้ออกได้ทำเครื่องหมายข้อมูลดังกล่าวเป็น "ยืนยันแล้ว" ผู้ยืนยันจะต้องพิจารณาว่าเชื่อถือผู้ออกในการยืนยันการอ้างสิทธิ์ตามมาตรฐานของตนหรือไม่

ประสบการณ์ของผู้ใช้

ดังที่แสดงในขั้นตอนของ Android ผู้ใช้เพียงแค่ต้องโต้ตอบกับ UI ของ Credential Manager เพียงครั้งเดียวเพื่อเลือกข้อมูลเข้าสู่ระบบที่เหมาะสม ตัวอย่าง ลักษณะของตัวเลือกมีดังนี้

รูปภาพแสดง UI ของข้อมูลประจำตัวดิจิทัลใน Credential Manager
รูปที่ 3 UI ของการรับรองทางดิจิทัล

มาตรฐาน

คำขอข้อมูลเข้าสู่ระบบดิจิทัลสร้างขึ้นโดยใช้มาตรฐาน OpenID4VP คุณดูตัวอย่างคำขอได้ที่เว็บไซต์สาธิตข้อมูลรับรองดิจิทัล

โดยปกติแล้ว ระบบจะแสดงผลการตอบกลับข้อมูลเข้าสู่ระบบดิจิทัลในรูปแบบข้อมูลเข้าสู่ระบบมาตรฐาน ซึ่งได้รับการดูแลโดยหน่วยงานด้านมาตรฐานต่างๆ และรวมถึงข้อมูลเข้าสู่ระบบที่ตรวจสอบได้ของ W3C, sd-jwt และ mdoc

นอกจากนี้ คุณยังใช้โปรโตคอลที่กำหนดเองได้ด้วย แต่เราขอแนะนำให้ใช้โปรโตคอลมาตรฐานอย่างใดอย่างหนึ่งในแอปพลิเคชัน

ลองเลย

คุณสามารถทดสอบขั้นตอนการทำงานของข้อมูลประจำตัวดิจิทัลในแพลตฟอร์มต่างๆ ด้วยกระเป๋าเงิน Android และเครื่องมือตรวจสอบบนเว็บได้โดยทำดังนี้

  1. ติดตั้งตัวอย่างสาธารณะของ CMWallet ในโทรศัพท์ Android คุณทำได้โดยดึงข้อมูลจากที่เก็บและติดตั้งโดยตรงจาก Android Studio หรือไปที่ https://github.com/digitalcredentialsdev/CMWallet/actions แล้วเลือกบิลด์ล่าสุดเพื่อเข้าถึงไฟล์ app-debug.apk ล่าสุด
  2. เปิด CMWallet เพื่อลงทะเบียนข้อมูลเมตากับ Credential Manager ตรวจสอบว่าได้เปิดใช้บลูทูธแล้วเพื่อให้อุปกรณ์เชื่อมต่อกันได้
  3. ไปที่ https://digital-credentials.dev/ แล้วเลือก Request Credentials (OpenID4VP)
  4. ยอมรับข้อความแจ้งคำเตือนและสแกนคิวอาร์โค้ดด้วยโทรศัพท์ จากนั้นเลือก "ใช้พาสคีย์" แล้วแตะผ่านการยืนยันเพื่อแสดงข้อมูลเข้าสู่ระบบที่ใช้ได้
  5. เลือกข้อมูลเข้าสู่ระบบจาก CMWallet เพื่อกลับไปที่เบราว์เซอร์ เบราว์เซอร์ ควรแสดงข้อมูลเข้าสู่ระบบที่ส่งคืน

ดูเพิ่มเติม

  • ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Credential Manager เพื่อขอข้อมูลเข้าสู่ระบบดิจิทัล ในแอปได้ที่หน้า Credential Manager - Verifier API
  • ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างกระเป๋าเงินดิจิทัลโดยใช้ Credential Manager ได้ที่หน้าCredential Manager - Holder API