Signal API สำหรับพาสคีย์ใน Chrome บนเดสก์ท็อป

เผยแพร่: 13 พ.ย. 2024

ตั้งแต่ Chrome เวอร์ชัน 132 เป็นต้นไป Chrome บนเดสก์ท็อป (macOS, Windows, Linux และ ChromeOS) จะรองรับ Signal API ที่สามารถทำให้พาสคีย์ในผู้ให้บริการพาสคีย์สอดคล้องกับข้อมูลเข้าสู่ระบบคีย์สาธารณะบนเซิร์ฟเวอร์ของฝ่ายที่เชื่อถือ

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

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

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

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

Signal API

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

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

อีกตัวอย่างหนึ่งคือเมื่อผู้ใช้ไปที่หน้าการตั้งค่าของ RP และลบข้อมูลเข้าสู่ระบบที่มีอยู่ RP สามารถใช้ Signal API เพื่อส่งสัญญาณรายการข้อมูลเข้าสู่ระบบที่ใช้ได้ไปยังผู้ให้บริการพาสคีย์ เพื่อให้ผู้ให้บริการพาสคีย์ซิงค์พาสคีย์ที่เชื่อมโยงอยู่ได้

กล่องโต้ตอบที่แสดงเมื่อมีการลบพาสคีย์ออกจากเครื่องมือจัดการรหัสผ่านบน Google ใน Chrome
กล่องโต้ตอบที่แสดงเมื่อมีการลบพาสคีย์ออกจากเครื่องมือจัดการรหัสผ่านบน Google ใน Chrome

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

เช่น เมื่อผู้ใช้อัปเดตชื่อผู้ใช้หรือชื่อที่แสดงใน RP แล้ว RP สามารถใช้ Signal API เพื่อส่งสัญญาณข้อมูลผู้ใช้ที่อัปเดตไปยังผู้ให้บริการพาสคีย์ เพื่อให้ผู้ให้บริการพาสคีย์ซิงค์ข้อมูลผู้ใช้ของพาสคีย์ที่เชื่อมโยงอยู่ได้

กล่องโต้ตอบที่แสดงเมื่อมีการอัปเดตข้อมูลเมตาของพาสคีย์ในเครื่องมือจัดการรหัสผ่านบน Google ใน Chrome
กล่องโต้ตอบที่แสดงเมื่อมีการอัปเดตข้อมูลเมตาของพาสคีย์ในเครื่องมือจัดการรหัสผ่านบน Google ใน Chrome

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

เราวางแผนที่จะรองรับ Signal API ใน Chrome บน Android ในอนาคต

หากต้องการดูวิธีผสานรวม WebAuthn Signal API โปรดอ่านซิงค์รายการพาสคีย์กับเซิร์ฟเวอร์โดยใช้ Signal API