FIDO คืออะไร
FIDO ย่อมาจาก Fast IDentity Online คือระบบลงชื่อเข้าใช้งานโดยไม่ต้องใช้รหัสผ่าน เริ่มมีการพูดถึงและเริ่มพัฒนากันมาตั้งแต่ ปี 2013 หรือประมาณ 9 ปีที่แล้ว โดยไอเดียที่ว่า """help reduce the world’s over-reliance on passwords """ ลดการต้องจำรหัสผ่านเพราะการจำรหัสผ่านมันเป็นภาระของผู้ใช้งาน
การลงชื่อเข้าใช้งาน หรือ ล็อคอินด้วย FIDO นี้ผู้ใช้จะระบุความเป็นตัวตนที่เราเป็นเจ้าของคนเดียวเช่น ม่านตา, ลายนิ้วมือ หรือใบหน้า หรือ PIN ของอุปกรณ์ เหมือนกับที่มือถือหลายยี่ห้อได้นำมาใช้ในการปลดล็อคหน้าจอก่อนเข้าใช้งาน โดยมือเรายืนยันระบบ FIDO นี้ก็จะเก็บความเป็นตัวตนของเราไว้ในรูปแบบที่เรียกว่า passkey คือไม่ได้เก็บรูปใบหน้า หรือรูปลายนิ้วมือเราไว้ตรงๆ แต่จะเก็บค่านี้ไว้โดยเข้ารหัสและเมื่อใช้งานครั้งต่อๆ ก็จะเอาข้อมูลนี้เทียบกับข้อมูลในระบบ ว่าเป็นตัวต้นเราจริงๆ ที่จะเปิดใช้งาน และ การเข้าใช้งานก็ไม่ได้ติดกับอุปกรณ์ ไม่ว่าเราจะใช้อุปกรณ์อะไรในการระบุตัวตน ขอระบุตัวต้นที่ระบบอะไร เจ้าความเป็นตัวต้นของเราก็จะติดกับตัวเราและใช้มันเข้าระบบได้ทุกที่ที่รองรับ FIDO นั่นเอง
แนวทางนี้จะป้องกัน Phishing และ ล็อคอิน หรือการลงชื่อเข้าใช้จะมีความปลอดภัยมากกว่าเดิม เมื่อเทียบกับการใช้รหัสผ่าน และ Oauthen แบบเดิม
หรือ รหัสผ่านแบบใช้ครั้งเดียว (One-Time Password)
ในฐานะผู้พัฒนาระบบปฏิบัตการ และ ผู้พัฒนาเบราว์เซอร์
ทั้ง Google ผู้พัฒนา Android และ เว็บเบราว์เซอร์ Google Chrome ก็ได้ประกาศเตรียมพร้อมเพื่อเข้าสู่มาตรฐานใหม่แล้ว ซึ่งปัจจุบันผู้ใช้ Android เวอร์ชั่นล่าสุด, Google Chrome เวอร์ชั่นล่าสุดสามารถใช้การล็อคอินเข้า App หรือ เว็บไซต์ได้แล้ว (ถ้าผู้พัฒนา App บน Android หรือ เว็บไซต์นั้น Implement ระบบนี้ให้รองรับแล้ว)
สำหรับ Apple และ Microsoft ก็จะพัฒนาระบบของตัวเอง ทั้งระบบปฏิบัติการ iOS, macOS และ Windows รวมไปถึงเบราว์เซอร์อย่าง Safari และ Edge ด้วย
งานนี้เรียกว่ามากันพร้อมหน้าพร้อมตาทั้ง OS บนคอม, OS บนมือถือ, และ เว็บเบราว์เซอร์ ค่ายดังๆ มาพร้อม Firefox ก็ไม่น้อยหน้ารองรับ FIDO2 มาตั้งแต่เวอร์ชั่น 66 แล้ว (ปัจจุบัน Firefox เวอร์ชั่น 100)
ในฐานะผู้ใช้งานจะใช้ FIDO ได้อย่างไร
ในฐานผู้ใช้เราเราต้องมีอุปกรณ์สำหรับความเป็นตัวตนของเราแปลงเข้าระบบคอมเช่น เครื่องอ่านลายนิ้วมือแบบ USB ตามรูปภาพประกอบ หรือ คอมพิวเตอร์ที่สแกนม่านตา หรือ ลายนิ้วมือได้ หรือ มือถือที่อ่านลายนิ้วมือได้ กับ OS หรือ Browser ที่ของรับ FIDO นี้ และ แน่นอน application หรือ ระบบที่เรากำลังจะเข้าใช้งานต้องถูกพัฒนามาให้รองรับ FIDO มาก่อน ปัจจุบันที่เห็นใช้งานอย่างเช่น IOS เข้าเครื่องด้วยการแสแกนหน้า Android อ่านลายนิ้วมือจากมือถือ samsung s10 หรือมือถือรุ่นอื่นๆ ถ้าเรามือพร้อม การเข้าใช้งาน Web Application ด้วยเบราว์เซอร์ ก็ใช้งานลักษณะเดียวกัน
ในฐานะผู้พัฒนา Mobile Application, Windows Application และ Web Application
สำหรับนักพัฒนาจะมี API สำหรับรับค่าจากอุปกรณ์ และ ส่งข้อมูลเข้ามาเปรียบเทียมกับระบบที่ผู้พัฒนา ตัวอย่าง Android FIDO2 API Sample สำหรับผู้พัฒนา Mobile Application บน Android
สำหรับนักพัฒนา Web Application ด้วย PHP ขอยกตัวอย่างเรียกระบบนี้ว่า WebAuthn Passwordless บน Server ต้องรองรับ https มี Extension ของ PHP GMP หรือ BCmath และ Openssl ให้ใช้งาน และ lib สำหรับ implement FIDO2 ตัวอย่างองค์ประกอบการทำงาน
ตัวอย่าง Web application ที่รองรับ Fido แล้ว
Joomla เป็น cms ตัวแรกที่รองรับการล็อคอินเข้าใช้งานแบบไม่ต้องใช้รหัสผ่านนี้
สรุปเบราว์เซอร์ที่รองรับ FIDO ข้อมูลเดือน มีนาคม 2022 อ้างอิงกับเวอร์ชั่นล่าสุด
เบราว์เซอร์ | OS | Supported |
---|---|---|
Edge | Windows | FIDO2 |
Chrome | (Windows / Mac / Linux) | FIDO2 & U2F |
Firefox | (Windows / Mac / Linux) | FIDO2 & U2F |
Opera | (Windows / Mac / Linux) | FIDO2 & U2F |
Safari | MacOS | FIDO2 & U2F |
สำหรับใครที่ต้องการศึกษาเพิ่มเติม และ พัฒนาระบบด้วย Joomla Framework สามารถ Implement ใช้งานระบบนี้ได้เลยเพราะ Joomla ทำส่วนนี้ไว้ให้เราแล้ว