ดูวิธีผสานรวมพาสคีย์เข้ากับบริการของคุณ
โครงสร้างของระบบพาสคีย์
ระบบพาสคีย์ประกอบด้วยคอมโพเนนต์ 2-3 อย่าง ดังนี้
- ผู้ให้บริการ: ในบริบทของพาสคีย์ ผู้ให้บริการ (RP) จะจัดการการออกและการตรวจสอบสิทธิ์พาสคีย์ RP ต้องดำเนินการกับไคลเอ็นต์ ซึ่งก็คือ เว็บไซต์หรือแอปที่สร้างพาสคีย์หรือตรวจสอบสิทธิ์ด้วยพาสคีย์ และ เซิร์ฟเวอร์สำหรับการลงทะเบียน จัดเก็บ และยืนยันข้อมูลเข้าสู่ระบบที่สร้างโดย พาสคีย์ในไคลเอ็นต์ แอปพลิเคชันบนอุปกรณ์เคลื่อนที่สำหรับพาสคีย์ต้องเชื่อมโยงกับโดเมนเซิร์ฟเวอร์ RP โดยใช้กลไกการเชื่อมโยงที่ระบบปฏิบัติการมีให้ เช่น Digital Asset Links
- Authenticator: อุปกรณ์ประมวลผล เช่น โทรศัพท์มือถือ แท็บเล็ต แล็ปท็อป หรือคอมพิวเตอร์เดสก์ท็อปที่สร้างและยืนยันพาสคีย์ได้โดยใช้ฟีเจอร์ การล็อกหน้าจอที่ระบบปฏิบัติการมีให้
- เครื่องมือจัดการรหัสผ่าน: ซอฟต์แวร์ที่ติดตั้งในอุปกรณ์ของผู้ใช้ปลายทางซึ่ง ให้บริการ จัดเก็บ และซิงค์พาสคีย์ เช่น เครื่องมือจัดการรหัสผ่านบน Google
ขั้นตอนการลงทะเบียน
ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารี Credential Manager ในแอป Android เพื่อสร้างและลงทะเบียนพาสคีย์ใหม่
หากต้องการสร้างพาสคีย์ใหม่ คุณต้องระบุองค์ประกอบสำคัญ 2-3 อย่างต่อไปนี้
- รหัส RP: ระบุรหัสของบุคคลที่สามที่เชื่อถือได้ในรูปแบบโดเมนเว็บ
- ข้อมูลผู้ใช้: รหัสผู้ใช้ ชื่อผู้ใช้ และชื่อที่แสดง
- ข้อมูลเข้าสู่ระบบที่จะยกเว้น: ข้อมูลเกี่ยวกับพาสคีย์ที่จัดเก็บไว้ก่อนหน้านี้เพื่อ ป้องกันการลงทะเบียนซ้ำ
- ประเภทพาสคีย์: เลือกว่าจะใช้อุปกรณ์นั้นๆ ("เครื่องมือตรวจสอบสิทธิ์ของแพลตฟอร์ม") เป็นเครื่องมือตรวจสอบสิทธิ์ หรือจะใช้คีย์ความปลอดภัยที่ถอดออกได้ ("เครื่องมือตรวจสอบสิทธิ์ข้ามแพลตฟอร์ม / แบบโรมมิ่ง") นอกจากนี้ ผู้โทรยังระบุได้ว่าจะทำให้ ข้อมูลเข้าสู่ระบบค้นพบได้หรือไม่ เพื่อให้ผู้ใช้เลือกบัญชีที่จะลงชื่อเข้าใช้ ได้
เมื่อ RP ขอสร้างพาสคีย์และผู้ใช้ยืนยันด้วยการปลดล็อกหน้าจอ ระบบจะสร้างพาสคีย์ใหม่และส่งคืนข้อมูลเข้าสู่ระบบคีย์สาธารณะ ส่ง ไปยังเซิร์ฟเวอร์และจัดเก็บรหัสข้อมูลเข้าสู่ระบบและคีย์สาธารณะสำหรับการ ตรวจสอบสิทธิ์ในอนาคต
ดูวิธีสร้างและลงทะเบียนพาสคีย์โดยละเอียด
- บนเว็บ: สร้างพาสคีย์สำหรับการเข้าสู่ระบบแบบไม่มีรหัสผ่าน
- ใน Android: นำการตรวจสอบสิทธิ์ที่ราบรื่นมาสู่แอปของคุณด้วยพาสคีย์ โดยใช้ Credential Manager API
ขั้นตอนการตรวจสอบสิทธิ์
ใช้ WebAuthn API ในเว็บไซต์หรือไลบรารี Credential Manager ในแอป Android เพื่อตรวจสอบสิทธิ์ด้วยพาสคีย์ที่ลงทะเบียนไว้
หากต้องการตรวจสอบสิทธิ์ด้วยพาสคีย์ คุณต้องระบุองค์ประกอบสำคัญ 2 อย่างต่อไปนี้
- รหัส RP: ระบุรหัสของบุคคลที่สามที่เชื่อถือได้ในรูปแบบโดเมนเว็บ
- Challenge: Challenge ที่เซิร์ฟเวอร์สร้างขึ้นเพื่อป้องกันการโจมตีแบบเล่นซ้ำ
เมื่อ RP ขอการตรวจสอบสิทธิ์ด้วยพาสคีย์และผู้ใช้ยืนยันด้วยการปลดล็อกหน้าจอ ระบบจะแสดงผลข้อมูลเข้าสู่ระบบคีย์สาธารณะ ส่งข้อมูลดังกล่าวไปยังเซิร์ฟเวอร์และยืนยันลายเซ็นด้วยคีย์สาธารณะที่จัดเก็บไว้
ดูรายละเอียดวิธียืนยันตัวตนด้วยพาสคีย์
- บนเว็บ: ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนข้อความอัตโนมัติในแบบฟอร์ม
- ใน Android: นำการตรวจสอบสิทธิ์ที่ราบรื่นมาสู่แอปของคุณด้วยพาสคีย์ โดยใช้ Credential Manager API
การผสานรวมฝั่งเซิร์ฟเวอร์
เมื่อสร้างพาสคีย์ เซิร์ฟเวอร์จะต้องระบุพารามิเตอร์คีย์ เช่น ชาเลนจ์ ข้อมูลผู้ใช้ รหัสข้อมูลเข้าสู่ระบบที่จะยกเว้น และอื่นๆ จากนั้นจะ ยืนยันข้อมูลเข้าสู่ระบบคีย์สาธารณะที่สร้างขึ้นซึ่งส่งจากไคลเอ็นต์ และจัดเก็บ คีย์สาธารณะไว้ในฐานข้อมูล สำหรับการตรวจสอบสิทธิ์ด้วยพาสคีย์ เซิร์ฟเวอร์ต้อง ตรวจสอบข้อมูลเข้าสู่ระบบอย่างละเอียดและยืนยันลายเซ็นเพื่อให้ผู้ใช้ ลงชื่อเข้าใช้ได้
ดูข้อมูลเพิ่มเติมได้ในคู่มือฝั่งเซิร์ฟเวอร์
- ข้อมูลเบื้องต้นเกี่ยวกับการใช้งานพาสคีย์ฝั่งเซิร์ฟเวอร์
- การลงทะเบียนพาสคีย์ฝั่งเซิร์ฟเวอร์
- การตรวจสอบสิทธิ์ด้วยพาสคีย์ฝั่งเซิร์ฟเวอร์
กลไกการตรวจสอบสิทธิ์ที่มีอยู่ (เดิม)
เมื่อคุณรองรับพาสคีย์ในบริการที่มีอยู่ การเปลี่ยนจากกลไกการตรวจสอบสิทธิ์รุ่นเก่า เช่น รหัสผ่าน ไปเป็นพาสคีย์จะไม่เกิดขึ้นในวันเดียว เราทราบดีว่าคุณอาจต้องการกำจัดวิธีการตรวจสอบสิทธิ์ที่อ่อนแอกว่าโดยเร็วที่สุด แต่การทำเช่นนั้นอาจทำให้ผู้ใช้สับสนหรือทำให้ผู้ใช้บางรายไม่สามารถเข้าถึงได้ เราขอแนะนำให้คุณใช้วิธีการตรวจสอบสิทธิ์ที่มีอยู่ต่อไปก่อน
ซึ่งอาจเป็นเพราะสาเหตุต่อไปนี้
- มีผู้ใช้ในสภาพแวดล้อมที่ไม่รองรับพาสคีย์: การรองรับพาสคีย์กำลังขยาย ไปอย่างกว้างขวางในระบบปฏิบัติการและเบราว์เซอร์หลายรายการ แต่ผู้ที่ใช้เวอร์ชันเก่ากว่าจะยังใช้พาสคีย์ไม่ได้
- ระบบนิเวศของพาสคีย์ยังไม่สมบูรณ์: ระบบนิเวศของพาสคีย์กำลังพัฒนา รายละเอียด UX และความเข้ากันได้ทางเทคนิคระหว่างสภาพแวดล้อมต่างๆ สามารถ ปรับปรุงได้
- ผู้ใช้อาจยังไม่พร้อมที่จะใช้พาสคีย์: มีผู้ใช้บางส่วนที่ ยังไม่กล้าลองใช้สิ่งใหม่ๆ เมื่อระบบนิเวศของพาสคีย์เติบโตขึ้น ผู้ใช้จะเข้าใจวิธีการทำงานของพาสคีย์และเหตุผลที่พาสคีย์มีประโยชน์ต่อตนเอง
กลับไปดูกลไกการตรวจสอบสิทธิ์ที่มีอยู่
แม้ว่าพาสคีย์จะช่วยให้การตรวจสอบสิทธิ์ง่ายขึ้นและปลอดภัยยิ่งขึ้น แต่การเก็บกลไกเก่าไว้ก็เหมือนกับการทิ้งช่องโหว่ไว้ เราขอแนะนำให้กลับไปดูและปรับปรุงกลไกการตรวจสอบสิทธิ์ที่มีอยู่
รหัสผ่าน
การสร้างรหัสผ่านที่รัดกุมและการจัดการรหัสผ่านสำหรับแต่ละเว็บไซต์เป็นงานที่ท้าทายสำหรับผู้ใช้ เราขอแนะนำให้ใช้เครื่องมือจัดการรหัสผ่านที่ติดตั้งไว้ในระบบหรือเครื่องมือแบบสแตนด์อโลน การปรับเปลี่ยนแบบฟอร์มลงชื่อเข้าใช้เพียงเล็กน้อย เว็บไซต์และแอปก็สามารถสร้างความแตกต่างอย่างมากในด้านความปลอดภัยและประสบการณ์การลงชื่อเข้าใช้ ดูวิธีทำการเปลี่ยนแปลงเหล่านั้น
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อเข้าใช้ (เว็บ)
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อสมัครใช้ (เว็บ)
- ลงชื่อเข้าใช้ผู้ใช้ด้วย Credential Manager (Android)
การตรวจสอบสิทธิ์แบบ 2 ปัจจัย
แม้ว่าการใช้เครื่องมือจัดการรหัสผ่านจะช่วยให้ผู้ใช้จัดการรหัสผ่านได้ แต่ไม่ใช่ผู้ใช้ทุกรายที่ใช้เครื่องมือดังกล่าว การขอข้อมูลเข้าสู่ระบบเพิ่มเติมที่เรียกว่ารหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว (OTP) เป็นแนวทางปฏิบัติทั่วไปในการปกป้องผู้ใช้ดังกล่าว โดยปกติแล้ว ระบบจะให้ OTP ผ่านทางอีเมล, SMS หรือแอปเครื่องมือตรวจสอบสิทธิ์ เช่น Google Authenticator เนื่องจากโดยปกติแล้ว OTP จะเป็นข้อความสั้นๆ ที่สร้างขึ้นแบบไดนามิกซึ่งใช้ได้ในช่วงเวลาที่จำกัด จึงช่วยลดโอกาสที่บัญชีจะถูกลักลอบใช้ วิธีการเหล่านี้ ไม่แข็งแกร่งเท่าพาสคีย์ แต่ดีกว่าการปล่อยให้ผู้ใช้มีเพียง รหัสผ่าน
หากเลือก SMS เป็นวิธีส่ง OTP โปรดดูแนวทางปฏิบัติแนะนำต่อไปนี้ เพื่อปรับปรุงประสบการณ์ของผู้ใช้ในการป้อน OTP
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์ม OTP ทาง SMS (เว็บ)
- การยืนยันทาง SMS อัตโนมัติด้วย SMS Retriever API (Android)
การรวมศูนย์ข้อมูลประจำตัว
การเชื่อมโยงข้อมูลประจำตัวเป็นอีกตัวเลือกหนึ่งที่ช่วยให้ผู้ใช้ลงชื่อเข้าใช้ได้อย่างปลอดภัยและง่ายดาย การรวมข้อมูลประจำตัวช่วยให้เว็บไซต์และแอปอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้โดยใช้ ข้อมูลประจำตัวของผู้ใช้จากผู้ให้บริการข้อมูลประจำตัวบุคคลที่สามได้ ตัวอย่างเช่น ลงชื่อเข้าใช้ด้วย Google ช่วยให้นักพัฒนาแอปได้รับ Conversion ที่ยอดเยี่ยม และผู้ใช้ก็พบว่าการตรวจสอบสิทธิ์โดยใช้ รหัสผ่านนั้นยากกว่าและไม่น่าพึงพอใจ การรวมศูนย์ข้อมูลระบบตัวตนจะช่วยเสริมการทำงานของพาสคีย์ ซึ่งเหมาะสำหรับการลงชื่อสมัครใช้ เนื่องจากเว็บไซต์หรือแอปจะได้รับข้อมูลโปรไฟล์พื้นฐานของผู้ใช้ในขั้นตอนเดียว ในขณะที่พาสคีย์เหมาะสำหรับการเพิ่มประสิทธิภาพการตรวจสอบสิทธิ์อีกครั้ง
โปรดทราบว่าหลังจากที่ Chrome เลิกใช้คุกกี้ของบุคคลที่สามในปี 2024 ระบบการเชื่อมโยงข้อมูลประจำตัวบางระบบอาจได้รับผลกระทบ ทั้งนี้ขึ้นอยู่กับวิธีสร้างระบบ เราจึงกำลังพัฒนา API ใหม่ของเบราว์เซอร์ที่เรียกว่า Federated Credential Management API (เรียกสั้นๆ ว่า FedCM) เพื่อลดผลกระทบ หากคุณเป็นผู้ให้บริการข้อมูลประจำตัว โปรดดูรายละเอียด และดูว่าคุณจำเป็นต้องใช้ FedCM หรือไม่
- Federated Credential Management API (เว็บ, FedCM)
- ภาพรวมของการลงชื่อเข้าใช้ด้วย Google สำหรับเว็บ (เว็บ, ลงชื่อเข้าใช้ด้วย Google)
- ภาพรวมการลงชื่อเข้าใช้ด้วย One Tap ใน Android (Android, การลงชื่อเข้าใช้ด้วย One Tap)
"ลิงก์มหัศจรรย์"
การลงชื่อเข้าใช้ด้วยลิงก์มหัศจรรย์เป็นวิธีการตรวจสอบสิทธิ์ที่บริการจะส่งลิงก์สำหรับเข้าสู่ระบบ ทางอีเมลเพื่อให้ผู้ใช้คลิกลิงก์เพื่อตรวจสอบสิทธิ์ของตนเองได้ แม้ว่าวิธีนี้จะช่วยให้ผู้ใช้ลงชื่อเข้าใช้ได้โดยไม่ต้องจำรหัสผ่าน แต่การสลับไปมาระหว่างเบราว์เซอร์/แอปกับโปรแกรมรับส่งอีเมลจะทำให้เกิดความไม่สะดวก นอกจากนี้ เนื่องจากกลไกการตรวจสอบสิทธิ์อาศัยอีเมลเป็นหลัก ความปลอดภัยที่อ่อนแอของผู้ให้บริการอีเมลจึงอาจทำให้บัญชีของผู้ใช้มีความเสี่ยง
แหล่งข้อมูลการเรียนรู้
เว็บ
หากต้องการผสานรวมพาสคีย์เข้ากับเว็บไซต์ ให้ใช้ Web Authentication API (WebAuthn) ดูข้อมูลเพิ่มเติมได้จาก แหล่งข้อมูลต่อไปนี้
- สร้างพาสคีย์สำหรับการเข้าสู่ระบบแบบไม่มีรหัสผ่าน: บทความที่อธิบายวิธีอนุญาตให้ผู้ใช้สร้างพาสคีย์สำหรับเว็บไซต์
- ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนข้อความอัตโนมัติในแบบฟอร์ม: บทความที่อธิบายวิธีออกแบบการลงชื่อเข้าใช้แบบไม่ต้องใช้รหัสผ่านด้วยพาสคีย์ในขณะที่รองรับผู้ใช้รหัสผ่านที่มีอยู่
- ใช้พาสคีย์กับการป้อนข้อความอัตโนมัติในแบบฟอร์มในเว็บแอป: Codelab ที่ช่วยให้คุณได้เรียนรู้วิธีใช้พาสคีย์กับการป้อนข้อความอัตโนมัติในแบบฟอร์มในเว็บแอปเพื่อสร้างการลงชื่อเข้าใช้ที่ง่ายและปลอดภัยยิ่งขึ้น
- ช่วยให้ผู้ใช้จัดการพาสคีย์ได้อย่างมีประสิทธิภาพ: เพื่อให้พาสคีย์ทำงานได้อย่างเต็มประสิทธิภาพ คุณต้องพิจารณาประสบการณ์ของผู้ใช้ เกี่ยวกับการจัดการพาสคีย์อย่างรอบคอบ เอกสารนี้ระบุหลักเกณฑ์และฟีเจอร์ที่ไม่บังคับสำหรับการออกแบบระบบการจัดการพาสคีย์ที่ใช้งานง่าย ปลอดภัย และมีประสิทธิภาพ
- พาสคีย์ที่ปลอดภัยและราบรื่น: เช็กลิสต์การติดตั้งใช้งาน: เช็กลิสต์นี้จะ แนะนําคุณเกี่ยวกับแง่มุมสําคัญของการติดตั้งใช้งานพาสคีย์เพื่อให้ได้ผลลัพธ์ด้านประสบการณ์ของผู้ใช้ (UX) ที่ดีที่สุด
Android
หากต้องการผสานรวมพาสคีย์เข้ากับแอป Android ให้ใช้ไลบรารี Credential Manager ดูข้อมูลเพิ่มเติมได้ที่แหล่งข้อมูลต่อไปนี้
- ลงชื่อเข้าใช้ผู้ใช้ด้วย Credential Manager: บทความ ที่อธิบายวิธีผสานรวม Credential Manager ใน Android Credential Manager เป็น Jetpack API ที่รองรับวิธีการลงชื่อเข้าใช้หลายวิธี เช่น ชื่อผู้ใช้และรหัสผ่าน พาสคีย์ และโซลูชันการลงชื่อเข้าใช้แบบรวม (เช่น ลงชื่อเข้าใช้ด้วย Google) ใน API เดียว
- การนำการตรวจสอบสิทธิ์ที่ราบรื่นมาสู่แอปของคุณด้วยพาสคีย์โดยใช้ Credential Manager API: บทความที่อธิบายวิธีผสานรวมพาสคีย์ผ่าน Credential Manager ใน Android
- ดูวิธีลดความซับซ้อนของเส้นทางการให้สิทธิ์โดยใช้ Credential Manager API ในแอป Android ดูวิธีใช้ Credential Manager API เพื่อให้การให้สิทธิ์ในแอปเป็นไปอย่างราบรื่นและปลอดภัย โดยใช้พาสคีย์หรือรหัสผ่าน
- ตัวอย่างตัวจัดการข้อมูลเข้าสู่ระบบ แอป: โค้ดตัวอย่างที่เรียกใช้ตัวจัดการข้อมูลเข้าสู่ระบบที่รองรับพาสคีย์
- ผสานรวมเครื่องมือจัดการข้อมูลเข้าสู่ระบบกับโซลูชันผู้ให้บริการข้อมูลเข้าสู่ระบบ | Android Developers
UX
ดูคำแนะนำเกี่ยวกับประสบการณ์ของผู้ใช้พาสคีย์