เซิร์ฟเวอร์ FIDO2(WebAuthn) ได้รับการรับรองอย่างเป็นทางการจาก FIDO Alliance
FIDO (Fast IDentity Online) เป็นมาตรฐานแบบเปิดสำหรับการตรวจสอบสิทธิ์ออนไลน์ โดยมีเป้าหมายเพื่อขจัดช่องโหว่ของรหัสผ่าน FIDO ใช้การเข้ารหัสคีย์สาธารณะแทนข้อมูลรับรองแบบสมมาตร เช่น รหัสผ่านหรือ PIN
โดยพื้นฐานแล้ว อุปกรณ์ของผู้ใช้จะสร้างคู่คีย์ โดยจัดเก็บคีย์ส่วนตัวอย่างปลอดภัย และแบ่งปันคีย์สาธารณะกับเซิร์ฟเวอร์ ในระหว่างการลงทะเบียนและการรับรองความถูกต้อง เซิร์ฟเวอร์จะท้าทายอุปกรณ์ และอุปกรณ์จะตอบสนองด้วยลายเซ็นดิจิทัลโดยใช้รหัสส่วนตัว เซิร์ฟเวอร์จะตรวจสอบลายเซ็นนี้ด้วยคีย์สาธารณะที่เก็บไว้ โปรโตคอลตอบสนองต่อความท้าทายนี้ช่วยป้องกันการโจมตีซ้ำ
FIDO2 เป็นการเพิ่มประสิทธิภาพมาตรฐาน FIDO สำหรับเว็บและแพลตฟอร์มอื่นๆ ที่ได้รับการสนับสนุนจากเว็บเบราว์เซอร์และระบบปฏิบัติการหลักๆ ประกอบด้วยการดำเนินการหลักสองประการ: การลงทะเบียนและการรับรองความถูกต้อง
ทั้งกระบวนการลงทะเบียนและการรับรองความถูกต้องใช้โปรโตคอลตอบสนองต่อความท้าทายเพื่อป้องกันการโจมตีซ้ำ ในระหว่างการลงทะเบียน ความท้าทายจะถูกส่งจากเซิร์ฟเวอร์ไปยังอุปกรณ์ และอุปกรณ์ตอบสนองโดยใช้รหัสส่วนตัว ในทำนองเดียวกัน ในระหว่างการตรวจสอบสิทธิ์ ระบบจะส่งคำท้าทายอื่นเพื่อตรวจสอบตัวตนของผู้ใช้ เพื่อให้แน่ใจว่าความพยายามแต่ละครั้งจะไม่ซ้ำกันและปลอดภัย
เริ่มต้นเซิร์ฟเวอร์ RP และเซิร์ฟเวอร์ FIDO2:
# Start RP Server
cd rpserver
./gradlew bootRun
# Start FIDO2 Server
cd fido2-demo/demo
./gradlew bootRun
หากคุณกำหนดค่า Docker ไว้ คุณสามารถใช้ docker-compose ได้
# Start both RP Server and FIDO2 Server
docker-compose up
เมื่อแอปพลิเคชันทำงานแล้ว ให้เข้าสู่หน้าทดสอบที่:
เซิร์ฟเวอร์ FIDO2 ใช้ H2 เป็นฐานข้อมูลแบบฝังในสภาพแวดล้อมภายในเครื่อง ซึ่งควรแทนที่ด้วยฐานข้อมูลแบบสแตนด์อโลน (เช่น MySQL) สำหรับสภาพแวดล้อมชั่วคราว เบต้า หรือใช้งานจริง เข้าถึงเว็บคอนโซล H2 ได้ที่:
jar {
processResources {
exclude( " **/*.sql " )
}
}
หากต้องการดูเอกสารประกอบ API ให้ทำตามขั้นตอนเหล่านี้:
cd fido2-demo/demo
./gradlew makeRestDocs
./gradlew bootRun
หลังจากรันแอปพลิเคชันแล้ว คุณสามารถดูเอกสารคำแนะนำ API ได้ที่ลิงก์ด้านล่าง
เรายังให้บริการ Client SDK สำหรับแอปพลิเคชัน Android/iOS อีกด้วย โปรดดูด้านล่าง
วิธี checkOrigin
จะตรวจสอบที่มาของคำขอจากแอปพลิเคชัน Android และ iOS ของ LINE ช่วยให้มั่นใจในความปลอดภัยโดยการตรวจสอบว่าต้นทางของคำขอตรงกับรายการต้นทางที่อนุญาตที่กำหนดไว้ล่วงหน้า
วิธีการกำหนดค่า หากต้องการใช้วิธี checkOrigin
ให้ตั้งค่าต้นทางที่อนุญาตในไฟล์ application.yml
นี่คือตัวอย่างการกำหนดค่า:
app :
origins :
- android:aaa-bbb
- ios:aaa-bbb
หมายเหตุ: แทนที่ aaa-bbb
ด้วยค่าที่เหมาะสมสำหรับแอปพลิเคชันของคุณ
ข้อสำคัญ: การกำหนดค่านี้เป็นทางเลือกและจำเป็นเมื่อใช้งานร่วมกับแอปพลิเคชัน LINE WebAuthn สำหรับ Android และ iOS เท่านั้น
LY Engineering Blogs
LY Tech Videos
Internal