ข้อมูลเบื้องต้น
มาตรฐานการตรวจสอบสิทธิ์ 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 หรือรูปแบบ ผู้ใช้ต้องลงทะเบียนกับต้นทางก่อนเพื่อสร้างรหัสผ่าน (คู่คีย์สาธารณะและส่วนตัว)
เมื่อผู้ใช้กลับไปที่เว็บไซต์หรือแอปเพื่อลงชื่อเข้าสู่ระบบ ผู้ใช้อาจทําตามขั้นตอนต่อไปนี้
- ไปที่แอปพลิเคชัน
- คลิกลงชื่อเข้าใช้
- เลือกรหัสผ่าน
- ปลดล็อกอุปกรณ์เพื่อเข้าสู่ระบบให้เสร็จสมบูรณ์
Authenticator จะสร้างลายเซ็นโดยใช้คีย์ส่วนตัว ลายเซ็นนี้ใช้ยืนยันข้อมูลเข้าสู่ระบบระหว่างต้นทางกับ Authenticator โดยใช้คีย์สาธารณะและไม่เปิดเผยคีย์ส่วนตัว
ผู้ใช้จะลงชื่อเข้าใช้บริการในอุปกรณ์ใดก็ได้ด้วยรหัสผ่าน ไม่ว่าจะเก็บรหัสผ่านไว้ที่ไหน ตัวอย่างเช่น รหัสผ่านที่เก็บไว้ในโทรศัพท์มือถืออาจใช้เพื่อลงชื่อเข้าใช้เว็บไซต์ในแล็ปท็อปเครื่องอื่นได้
รหัสผ่านทํางานอย่างไร
รหัสผ่านจะได้รับการสร้างและซิงค์ผ่านระบบปฏิบัติการ ระบบปฏิบัติการบางระบบอาจอนุญาตให้ซิงค์ข้อมูลรหัสผ่านระหว่างอุปกรณ์ของผู้ใช้โดยอัตโนมัติ เช่น โทรศัพท์ Android และอุปกรณ์ Chrome OS ที่ลงชื่อเข้าใช้บัญชี Google เดียวกัน
แม้ว่ารหัสผ่านจะเชื่อมโยงกับระบบปฏิบัติการ แต่ผู้ใช้สามารถใช้รหัสผ่านจากโทรศัพท์เมื่อลงชื่อเข้าสู่ระบบแล็ปท็อป เนื่องจากรหัสผ่านสร้างขึ้นด้วยมาตรฐาน FIDO และ W3C
เบราว์เซอร์ทั้งหมดจึงนําไปใช้ได้ เช่น ผู้ใช้ไปที่ site.example
ใน Chromebook ผู้ใช้รายนี้เคยเข้าสู่ระบบ site.example
ในอุปกรณ์ iOS ก่อนหน้านี้ ระบบจะแจ้งให้ผู้ใช้ยืนยันตัวตน
ในอุปกรณ์ iOS โดยปกติ site.example
จะสร้างรหัสผ่านใหม่สําหรับ Chromebook ของผู้ใช้ ทําให้ไม่ต้องเข้าสู่ระบบในโทรศัพท์อีกต่อไปเพื่อใช้การเข้าสู่ระบบในอนาคต
รหัสผ่านจะถูกเข้ารหัสแบบจุดต่อจุด ซึ่งหมายความว่าแม้ว่า Google จะมีหน้าที่ซิงค์ข้อมูลในอุปกรณ์ Android เครื่องอื่น แต่ Google จะอ่านรหัสผ่านหรือทราบข้อมูลนั้นไม่ได้
ขั้นตอนการตรวจสอบสิทธิ์
ในการใช้รหัสผ่านในเว็บไซต์หรือแอป คุณต้องทําความคุ้นเคยกับสิ่งต่อไปนี้
- Authenticator คืออุปกรณ์จริงที่ผู้ใช้เป็นเจ้าของซึ่งเป็นเจ้าของรหัสผ่านของผู้ใช้และระบุตัวบุคคลนั้นได้
- ผู้มีส่วนเกี่ยวข้องคือเว็บไซต์หรือแอปของคุณ ซึ่งประกอบด้วยแอปพลิเคชันฟรอนท์เอนด์และเซิร์ฟเวอร์แบ็กเอนด์
- แอปพลิเคชันฟรอนท์เอนด์จะเรียกใช้ API เพื่อโต้ตอบกับ Authenticator และเริ่มต้นกระบวนการตรวจสอบสิทธิ์
- เซิร์ฟเวอร์แบ็กเอนด์จะดึงออบเจ็กต์การเข้ารหัสลับที่สร้างโดย 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:
- สร้างแอป WebAuthn แอปแรกของคุณ
- รักษาเว็บไซต์ของคุณให้ปลอดภัยด้วยการตรวจสอบสิทธิ์แบบ 2 ปัจจัยด้วยคีย์ความปลอดภัย (WebAuthn)
- สร้างการตรวจสอบสิทธิ์ในแอปของคุณด้วย API ของ FIDO2 สําหรับ Android ครั้งแรก
ดูข้อมูลเพิ่มเติมเกี่ยวกับ
วิธีรับการอัปเดต