FIDO คืออะไร พัฒนายังไง ผู้ใช้งานสะดวกอย่งไร
Mindphp
ให้เรตสมาชิก: 5 / 5
ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งาน
 

FIDO คืออะไร

รูปอุปกรณ์สำหรับใช้งาน FIDO แสดงผล ภาพ Network

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 ทำส่วนนี้ไว้ให้เราแล้ว

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
อัพโค้ดขึ้น git ไม่ได้ครับ
โดย wkid อ 24 พฤษภาคม 2022 6:46 pm บอร์ด Programming - C/C++ & java & Python
3
16
อ 24 พฤษภาคม 2022 7:35 pm โดย bolue
ผู้ประกอบการต้องรู้! บริการ AI Chatbot มีประโยชน์ต่อธุรกิจอย่างไร
โดย h.rina อ 24 พฤษภาคม 2022 3:36 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
อ 24 พฤษภาคม 2022 3:36 pm โดย h.rina
แนะนำ 3 โบรกเกอร์ประกัน ที่น่าเชื่อถือ สามารถไว้ใจได้
โดย h.rina อ 24 พฤษภาคม 2022 9:24 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
10
อ 24 พฤษภาคม 2022 9:24 am โดย h.rina
ubuntu ใช้ google meet แล้งแชร์หน้าจอ ไม่ได้ค่ะ
โดย bolue จ 23 พฤษภาคม 2022 7:55 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
4
28
อ 24 พฤษภาคม 2022 10:12 am โดย mindphp
สร้างไฟล์ WAV ด้วย Array Wav ด้วยPHP Codeได้อย่างไรครับ
โดย finemore จ 23 พฤษภาคม 2022 7:53 pm บอร์ด Programming - PHP
1
19
จ 23 พฤษภาคม 2022 8:03 pm โดย mindphp
หลักการสร้างรูปภาพโฆษณาให้ถูกใจ Facebook
โดย vajira จ 23 พฤษภาคม 2022 5:57 pm บอร์ด Graphic design
0
18
จ 23 พฤษภาคม 2022 5:57 pm โดย vajira
วิธีลงตัว plugin python Netbeans ide
โดย wkid จ 23 พฤษภาคม 2022 5:27 pm บอร์ด Programming - C/C++ & java & Python
1
19
จ 23 พฤษภาคม 2022 5:38 pm โดย bolue
สอบถามตั้งค่าอีเมล์ที่เป็น SMTP แล้วส่งเมล์ไม่ได้ [phpBB]
โดย eange08 จ 23 พฤษภาคม 2022 4:25 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
2
20
จ 23 พฤษภาคม 2022 8:30 pm โดย eange08