การตรวจสอบสิทธิ์ FIDO ด้วยรหัสผ่าน

ข้อมูลเบื้องต้น

มาตรฐานการตรวจสอบสิทธิ์ FIDO (Fast IDentity Online) กําหนดกลไกการตรวจสอบสิทธิ์ที่รวดเร็วและปลอดภัยแก่ผู้ใช้เพื่อเข้าถึงเว็บไซต์และแอปพลิเคชัน

FIDO Alliance ซึ่งมีตัวแทนจากองค์กรต่างๆ พัฒนาข้อกําหนดทางเทคนิคแบบเปิดและรองรับการปรับขนาดซึ่งช่วยให้ผู้คนเข้าถึงเว็บไซต์และแอปผ่านโปรโตคอลทั่วไปได้ ซึ่งหมายความว่าบริษัทต่างๆ จะใช้มาตรฐาน FIDO ในการนําเทคโนโลยีต่างๆ เช่น รหัสผ่าน มาใช้ในการตรวจสอบสิทธิ์ที่ปลอดภัยได้

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

การตรวจสอบสิทธิ์ที่ปลอดภัยสําคัญอย่างไร

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

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

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

FIDO สร้างความปลอดภัยที่รัดกุมยิ่งขึ้นได้อย่างไร

การตรวจสอบสิทธิ์แบบ FIDO จะช่วยแก้ปัญหาหลายๆ อย่างที่เกิดจากการตรวจสอบสิทธิ์ตามรหัสผ่าน และจากการตรวจสอบสิทธิ์ที่ใช้ขั้นตอนที่ 2 แบบเดิม โดยเฉพาะอย่างยิ่งฟีเจอร์ต่อไปนี้

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

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

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

เช่น สมมติว่าผู้ใช้พยายามลงชื่อเข้าสู่ระบบ example.com หากผู้ใช้ขอข้อมูลเข้าสู่ระบบที่เป็นของ example.com ใน phishing-example.com เครื่องมือตรวจสอบสิทธิ์จะปฏิเสธคําขอซึ่งจะช่วยปกป้องผู้ใช้ กระบวนการตรวจสอบสิทธิ์ทําให้เว็บไซต์หรือแอปฟิชชิงรับการยืนยันสําหรับต้นทางอื่นๆ ได้ยากมาก

โดยรวมแล้ว FIDO และรหัสผ่านช่วยให้คุณสามารถทําให้การตรวจสอบสิทธิ์ที่รัดกุมยิ่งขึ้น ซึ่งยังคงใช้งานได้และง่ายดายสําหรับผู้ใช้ส่วนใหญ่

เดโม

รหัสผ่านคืออะไร

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

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

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

  1. ไปที่แอปพลิเคชัน
  2. คลิกลงชื่อเข้าใช้
  3. เลือกรหัสผ่าน
  4. ปลดล็อกอุปกรณ์เพื่อเข้าสู่ระบบให้เสร็จสมบูรณ์

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

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

รหัสผ่านทํางานอย่างไร

รหัสผ่านจะได้รับการสร้างและซิงค์ผ่านระบบปฏิบัติการ ระบบปฏิบัติการบางระบบอาจอนุญาตให้ซิงค์ข้อมูลรหัสผ่านระหว่างอุปกรณ์ของผู้ใช้โดยอัตโนมัติ เช่น โทรศัพท์ Android และอุปกรณ์ Chrome OS ที่ลงชื่อเข้าใช้บัญชี Google เดียวกัน

แม้ว่ารหัสผ่านจะเชื่อมโยงกับระบบปฏิบัติการ แต่ผู้ใช้สามารถใช้รหัสผ่านจากโทรศัพท์เมื่อลงชื่อเข้าสู่ระบบแล็ปท็อป เนื่องจากรหัสผ่านสร้างขึ้นด้วยมาตรฐาน FIDO และ W3C เบราว์เซอร์ทั้งหมดจึงนําไปใช้ได้ เช่น ผู้ใช้ไปที่ site.example ใน Chromebook ผู้ใช้รายนี้เคยเข้าสู่ระบบ site.example ในอุปกรณ์ iOS ก่อนหน้านี้ ระบบจะแจ้งให้ผู้ใช้ยืนยันตัวตน ในอุปกรณ์ iOS โดยปกติ site.example จะสร้างรหัสผ่านใหม่สําหรับ Chromebook ของผู้ใช้ ทําให้ไม่ต้องเข้าสู่ระบบในโทรศัพท์อีกต่อไปเพื่อใช้การเข้าสู่ระบบในอนาคต

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

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

การแสดงหน้าต่างการตรวจสอบสิทธิ์

ในการใช้รหัสผ่านในเว็บไซต์หรือแอป คุณต้องทําความคุ้นเคยกับสิ่งต่อไปนี้

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

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

Authenticator

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

อุปกรณ์จะมี 2 บทบาทสําหรับการลงทะเบียนและการตรวจสอบสิทธิ์ ดังนี้

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

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

อุปกรณ์ที่เป็นไปตามข้อกําหนด FIDO

Authenticator ที่พบบ่อยที่สุดมีดังนี้

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

ส่วนหน้า

แอปพลิเคชันจะใช้ API ฝั่งไคลเอ็นต์ เช่น WebAuthn และ FIDO2 สําหรับ Android เพื่อสร้างและยืนยันข้อมูลรับรองของผู้ใช้ด้วย Authenticator

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

แบ็กเอนด์

เซิร์ฟเวอร์จัดเก็บข้อมูลเข้าสู่ระบบและข้อมูลรับรองสาธารณะสําหรับคีย์สาธารณะ

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

คําถามที่พบบ่อย

ใครรองรับรหัสผ่าน

เนื่องจากรหัสผ่านอิงตามมาตรฐาน FIDO อุปกรณ์จึงทํางานใน Android และ Chrome ร่วมกับแพลตฟอร์มและเบราว์เซอร์ยอดนิยมอื่นๆ เช่น Microsoft Windows, Microsoft Edge, MacOS, iOS และ Safari

โปรดดูเอกสารประกอบจากแพลตฟอร์มเหล่านี้เพื่อยืนยันสถานะปัจจุบันของความพร้อมให้บริการ

Android ตั้งเป้าที่จะให้การสนับสนุนด้านรหัสผ่านแก่นักพัฒนาซอฟต์แวร์ภายในสิ้นปี 2022

จะเกิดอะไรขึ้นหากผู้ใช้ทําอุปกรณ์หาย

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

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

ผู้ใช้สามารถใช้รหัสผ่านในโทรศัพท์เพื่อลงชื่อเข้าใช้ในอุปกรณ์ของเพื่อนได้ไหม

ได้ ผู้ใช้ตั้งค่า"ลิงก์ครั้งเดียว" ระหว่างโทรศัพท์กับอุปกรณ์ของผู้อื่นเพื่อการลงชื่อเข้าใช้ได้

ขั้นตอนถัดไป

ใช้ Codelab:

ดูข้อมูลเพิ่มเติมเกี่ยวกับ

วิธีรับการอัปเดต