คู่มือนักพัฒนาพาสคีย์สำหรับบุคคลที่พึ่งพา

ดูวิธีผสานรวมพาสคีย์เข้ากับบริการของคุณ

โครงสร้างของระบบพาสคีย์

ระบบพาสคีย์ประกอบด้วยคอมโพเนนต์ 2-3 อย่าง ดังนี้

  • ผู้ให้บริการ: ในบริบทของพาสคีย์ ผู้ให้บริการ (RP) จะจัดการการออกและการตรวจสอบสิทธิ์พาสคีย์ RP ต้องดำเนินการกับไคลเอ็นต์ ซึ่งก็คือ เว็บไซต์หรือแอปที่สร้างพาสคีย์หรือตรวจสอบสิทธิ์ด้วยพาสคีย์ และ เซิร์ฟเวอร์สำหรับการลงทะเบียน จัดเก็บ และยืนยันข้อมูลเข้าสู่ระบบที่สร้างโดย พาสคีย์ในไคลเอ็นต์ แอปพลิเคชันบนอุปกรณ์เคลื่อนที่สำหรับพาสคีย์ต้องเชื่อมโยงกับโดเมนเซิร์ฟเวอร์ RP โดยใช้กลไกการเชื่อมโยงที่ระบบปฏิบัติการมีให้ เช่น Digital Asset Links
  • Authenticator: อุปกรณ์ประมวลผล เช่น โทรศัพท์มือถือ แท็บเล็ต แล็ปท็อป หรือคอมพิวเตอร์เดสก์ท็อปที่สร้างและยืนยันพาสคีย์ได้โดยใช้ฟีเจอร์ การล็อกหน้าจอที่ระบบปฏิบัติการมีให้
  • เครื่องมือจัดการรหัสผ่าน: ซอฟต์แวร์ที่ติดตั้งในอุปกรณ์ของผู้ใช้ปลายทางซึ่ง ให้บริการ จัดเก็บ และซิงค์พาสคีย์ เช่น เครื่องมือจัดการรหัสผ่านบน Google

ขั้นตอนการลงทะเบียน

ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารี Credential Manager ในแอป Android เพื่อสร้างและลงทะเบียนพาสคีย์ใหม่

หากต้องการสร้างพาสคีย์ใหม่ คุณต้องระบุองค์ประกอบสำคัญ 2-3 อย่างต่อไปนี้

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

เมื่อ RP ขอสร้างพาสคีย์และผู้ใช้ยืนยันด้วยการปลดล็อกหน้าจอ ระบบจะสร้างพาสคีย์ใหม่และส่งคืนข้อมูลเข้าสู่ระบบคีย์สาธารณะ ส่ง ไปยังเซิร์ฟเวอร์และจัดเก็บรหัสข้อมูลเข้าสู่ระบบและคีย์สาธารณะสำหรับการ ตรวจสอบสิทธิ์ในอนาคต

ขั้นตอนการลงทะเบียน

ดูวิธีสร้างและลงทะเบียนพาสคีย์โดยละเอียด

ขั้นตอนการตรวจสอบสิทธิ์

ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารี Credential Manager ในแอป Android เพื่อตรวจสอบสิทธิ์ด้วยพาสคีย์ที่ลงทะเบียนไว้

หากต้องการตรวจสอบสิทธิ์ด้วยพาสคีย์ คุณต้องระบุองค์ประกอบสำคัญ 2 อย่างต่อไปนี้

  • รหัส RP: ระบุรหัสของบุคคลที่สามที่เชื่อถือได้ในรูปแบบโดเมนเว็บ
  • Challenge: Challenge ที่เซิร์ฟเวอร์สร้างขึ้นเพื่อป้องกันการโจมตีแบบเล่นซ้ำ

เมื่อ RP ขอการตรวจสอบสิทธิ์ด้วยพาสคีย์และผู้ใช้ยืนยันด้วยการปลดล็อกหน้าจอ ระบบจะแสดงผลข้อมูลเข้าสู่ระบบคีย์สาธารณะ ส่งข้อมูลดังกล่าวไปยังเซิร์ฟเวอร์และยืนยันลายเซ็นด้วยคีย์สาธารณะที่จัดเก็บไว้

ขั้นตอนการตรวจสอบสิทธิ์

ดูรายละเอียดวิธียืนยันตัวตนด้วยพาสคีย์

การผสานรวมฝั่งเซิร์ฟเวอร์

เมื่อสร้างพาสคีย์ เซิร์ฟเวอร์จะต้องระบุพารามิเตอร์คีย์ เช่น ชาเลนจ์ ข้อมูลผู้ใช้ รหัสข้อมูลเข้าสู่ระบบที่จะยกเว้น และอื่นๆ จากนั้นจะ ยืนยันข้อมูลเข้าสู่ระบบคีย์สาธารณะที่สร้างขึ้นซึ่งส่งจากไคลเอ็นต์ และจัดเก็บ คีย์สาธารณะไว้ในฐานข้อมูล สำหรับการตรวจสอบสิทธิ์ด้วยพาสคีย์ เซิร์ฟเวอร์ต้อง ตรวจสอบข้อมูลเข้าสู่ระบบอย่างละเอียดและยืนยันลายเซ็นเพื่อให้ผู้ใช้ ลงชื่อเข้าใช้ได้

ดูข้อมูลเพิ่มเติมได้ในคู่มือฝั่งเซิร์ฟเวอร์

กลไกการตรวจสอบสิทธิ์ที่มีอยู่ (เดิม)

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

ซึ่งอาจเป็นเพราะสาเหตุต่อไปนี้

  • มีผู้ใช้ในสภาพแวดล้อมที่ไม่รองรับพาสคีย์: การรองรับพาสคีย์กำลังขยาย ไปอย่างกว้างขวางในระบบปฏิบัติการและเบราว์เซอร์หลายรายการ แต่ผู้ที่ใช้เวอร์ชันเก่ากว่าจะยังใช้พาสคีย์ไม่ได้
  • ระบบนิเวศของพาสคีย์ยังไม่สมบูรณ์: ระบบนิเวศของพาสคีย์กำลังพัฒนา รายละเอียด UX และความเข้ากันได้ทางเทคนิคระหว่างสภาพแวดล้อมต่างๆ สามารถ ปรับปรุงได้
  • ผู้ใช้อาจยังไม่พร้อมที่จะใช้พาสคีย์: มีผู้ใช้บางส่วนที่ ยังไม่กล้าลองใช้สิ่งใหม่ๆ เมื่อระบบนิเวศของพาสคีย์เติบโตขึ้น ผู้ใช้จะเข้าใจวิธีการทำงานของพาสคีย์และเหตุผลที่พาสคีย์มีประโยชน์ต่อตนเอง

กลับไปดูกลไกการตรวจสอบสิทธิ์ที่มีอยู่

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

รหัสผ่าน

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

การตรวจสอบสิทธิ์แบบ 2 ปัจจัย

แม้ว่าการใช้เครื่องมือจัดการรหัสผ่านจะช่วยให้ผู้ใช้จัดการรหัสผ่านได้ แต่ไม่ใช่ผู้ใช้ทุกรายที่ใช้เครื่องมือดังกล่าว การขอข้อมูลเข้าสู่ระบบเพิ่มเติมที่เรียกว่ารหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว (OTP) เป็นแนวทางปฏิบัติทั่วไปในการปกป้องผู้ใช้ดังกล่าว โดยปกติแล้ว ระบบจะให้ OTP ผ่านทางอีเมล, SMS หรือแอปเครื่องมือตรวจสอบสิทธิ์ เช่น Google Authenticator เนื่องจากโดยปกติแล้ว OTP จะเป็นข้อความสั้นๆ ที่สร้างขึ้นแบบไดนามิกซึ่งใช้ได้ในช่วงเวลาที่จำกัด จึงช่วยลดโอกาสที่บัญชีจะถูกลักลอบใช้ วิธีการเหล่านี้ ไม่แข็งแกร่งเท่าพาสคีย์ แต่ดีกว่าการปล่อยให้ผู้ใช้มีเพียง รหัสผ่าน

หากเลือก SMS เป็นวิธีส่ง OTP โปรดดูแนวทางปฏิบัติแนะนำต่อไปนี้ เพื่อปรับปรุงประสบการณ์ของผู้ใช้ในการป้อน OTP

การรวมศูนย์ข้อมูลประจำตัว

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

โปรดทราบว่าหลังจากที่ Chrome เลิกใช้คุกกี้ของบุคคลที่สามในปี 2024 ระบบการเชื่อมโยงข้อมูลประจำตัวบางระบบอาจได้รับผลกระทบ ทั้งนี้ขึ้นอยู่กับวิธีสร้างระบบ เราจึงกำลังพัฒนา API ใหม่ของเบราว์เซอร์ที่เรียกว่า Federated Credential Management API (เรียกสั้นๆ ว่า FedCM) เพื่อลดผลกระทบ หากคุณเป็นผู้ให้บริการข้อมูลประจำตัว โปรดดูรายละเอียด และดูว่าคุณจำเป็นต้องใช้ FedCM หรือไม่

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

แหล่งข้อมูลการเรียนรู้

เว็บ

หากต้องการผสานรวมพาสคีย์เข้ากับเว็บไซต์ ให้ใช้ Web Authentication API (WebAuthn) ดูข้อมูลเพิ่มเติมได้จาก แหล่งข้อมูลต่อไปนี้

Android

หากต้องการผสานรวมพาสคีย์เข้ากับแอป Android ให้ใช้ไลบรารี Credential Manager ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้

UX

ดูคำแนะนำเกี่ยวกับประสบการณ์ของผู้ใช้พาสคีย์