พาสคีย์ที่ปลอดภัยและใช้งานได้อย่างราบรื่น: เช็กลิสต์สำหรับการใช้งาน

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

วิธีใช้เช็กลิสต์นี้

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

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

ซึ่งจะช่วยให้ผู้ใช้ปลายทางได้รับประสบการณ์การใช้งานที่ราบรื่นและปลอดภัย

การลงทะเบียนพาสคีย์

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

✅ ระบุ "platform" เป็นค่าไฟล์แนบของโปรแกรมตรวจสอบสิทธิ์ที่จะส่งไปยัง navigator.credentials.create() เพื่อสร้างพาสคีย์ที่โปรโมต

  • มอบขั้นตอนการสร้างพาสคีย์ที่เพิ่มประสิทธิภาพและราบรื่นสำหรับผู้ที่สร้างพาสคีย์แบบตอบสนอง

✅ ยืนยันผู้ใช้ด้วยวิธีการตรวจสอบสิทธิ์ที่ปลอดภัยที่สุดที่ผู้ใช้ใช้ได้ก่อนที่จะอนุญาตให้สร้างพาสคีย์

  • ซึ่งสำคัญต่อการป้องกันการที่ผู้โจมตีจะสร้างพาสคีย์ในบัญชีที่ถูกลักลอบใช้งาน

✅ ป้องกันการสร้างพาสคีย์ที่ซ้ำกันสำหรับผู้ให้บริการพาสคีย์รายเดียวกันโดยใช้ excludeCredentials

  • ผู้ให้บริการพาสคีย์จำนวนมากรองรับพาสคีย์เพียงรายการเดียวต่อบัญชีและ RPID หลีกเลี่ยงการสร้างรายการที่ซ้ำกัน

ใช้ AAGUID เพื่อระบุผู้ให้บริการพาสคีย์ และตั้งชื่อข้อมูลเข้าสู่ระบบสำหรับผู้ใช้

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

✅ แสดงสัญญาณหากการพยายามลงทะเบียนพาสคีย์ไม่สำเร็จด้วย PublicKeyCredential.signalUnknownCredential()

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

ส่งการแจ้งเตือนไปยังผู้ใช้หลังจากสร้างและลงทะเบียนพาสคีย์สำหรับบัญชี

  • ตรวจสอบว่าผู้ใช้ทราบถึงการสร้างพาสคีย์ โดยเฉพาะอย่างยิ่งเมื่อสร้างโดยบุคคลอื่น

การตรวจสอบสิทธิ์พาสคีย์

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

✅ อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้ด้วยพาสคีย์ผ่านการป้อนข้อมูลฟอร์มอัตโนมัติ

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

✅ ส่งสัญญาณเมื่อไม่พบข้อมูลเข้าสู่ระบบที่ตรงกันของพาสคีย์ในแบ็กเอนด์ด้วย PublicKeyCredential.signalUnknownCredential()

  • พาสคีย์ที่หายไปอาจทำให้เกิดความสับสน แจ้งให้ผู้ให้บริการพาสคีย์ทราบว่าพาสคีย์ใดใช้ไม่ได้เพื่อให้ผู้ให้บริการลบพาสคีย์ดังกล่าว

✅ แจ้งให้ผู้ใช้สร้างพาสคีย์ด้วยตนเองหากผู้ใช้ยังไม่ได้สร้างพาสคีย์หลังจากลงชื่อเข้าใช้

  • หากผู้ใช้ยังไม่ได้สร้างพาสคีย์ โปรดแนะนำให้ผู้ใช้สร้างพาสคีย์

สร้างพาสคีย์โดยอัตโนมัติ (สร้างแบบมีเงื่อนไข) หลังจากผู้ใช้ลงชื่อเข้าใช้ด้วยรหัสผ่าน (และปัจจัยที่ 2)

  • เร่งการนำพาสคีย์มาใช้กับผู้ใช้

✅ แจ้งให้สร้างพาสคีย์ในเครื่อง หากผู้ใช้ลงชื่อเข้าใช้ด้วยพาสคีย์ที่ใช้ได้กับอุปกรณ์หลายเครื่อง

  • การสร้างพาสคีย์ในเครื่องช่วยให้ผู้ใช้ลงชื่อเข้าใช้โดยไม่ต้องสแกนคิวอาร์โค้ดได้ตั้งแต่ครั้งถัดไป

ส่งสัญญาณรายการพาสคีย์ที่ใช้ได้และรายละเอียดผู้ใช้ที่อัปเดตแล้ว (ชื่อผู้ใช้ ชื่อที่แสดง) ไปยังผู้ให้บริการหลังจากลงชื่อเข้าใช้

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

การจัดการพาสคีย์

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

✅ อนุญาตให้ผู้ใช้จัดการพาสคีย์ในหน้าการจัดการพาสคีย์

  • สร้างที่เก็บข้อมูลส่วนกลางที่ผู้ใช้สามารถจัดการพาสคีย์ได้

✅ รองรับการลงทะเบียนพาสคีย์หลายรายการ

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

✅ อนุญาตให้ผู้ใช้เพิ่มพาสคีย์ประเภทใหม่ที่มีความยืดหยุ่นในหน้าการจัดการ

✅ แสดงชื่อพาสคีย์

  • ตั้งชื่อพาสคีย์ตาม AAGUID และแสดงภาพพาสคีย์ของผู้ใช้

✅ ระบุว่าพาสคีย์ซิงค์ได้หรือไม่ซิงค์ได้

  • แจ้งให้ผู้ใช้ทราบเมื่อไม่ได้ซิงค์พาสคีย์

✅ อนุญาตให้ผู้ใช้นำคีย์สาธารณะออกจากเซิร์ฟเวอร์

✅ ส่งสัญญาณรายการพาสคีย์เมื่อนำคีย์สาธารณะที่เชื่อมโยงออกจากเซิร์ฟเวอร์

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

ข้อควรพิจารณาเพิ่มเติม

ส่งสัญญาณรายละเอียดผู้ใช้ที่อัปเดตแล้ว (ชื่อผู้ใช้ ชื่อที่แสดง) เมื่อผู้ใช้อัปเดต

สร้างพาสคีย์แทนรหัสผ่านใหม่เมื่อผู้ใช้ "ลืมรหัสผ่าน"

แหล่งข้อมูล