-
The Copenhagen Book
- The Copenhagen Book เป็นโครงการโอเพนซอร์สฟรีที่ให้แนวทางทั่วไปสำหรับการทำระบบยืนยันตัวตนในเว็บแอปพลิเคชัน
- ดูแลโดยชุมชน และแม้อาจมีความเห็นเชิงอัตวิสัยหรือยังไม่สมบูรณ์ในบางครั้ง แต่มีเป้าหมายเพื่อเติมเต็มช่องว่างของทรัพยากรออนไลน์
- แนะนำให้ใช้ควบคู่กับ OWASP Cheat Sheet Series
-
โทเค็นฝั่งเซิร์ฟเวอร์
- อธิบายวิธีเพิ่มความปลอดภัยด้วยการจัดการโทเค็นไว้ที่ฝั่งเซิร์ฟเวอร์
-
เซสชัน
- อธิบายวิธีรักษาสถานะการยืนยันตัวตนอย่างต่อเนื่องผ่านการจัดการเซสชันของผู้ใช้
-
การยืนยันตัวตนด้วยรหัสผ่าน
- ให้แนวทางที่เกี่ยวข้องกับวิธีการยืนยันตัวตนด้วยรหัสผ่านอย่างปลอดภัย
-
การยืนยันตัวตนทางอีเมล
- อธิบายกระบวนการยืนยันตัวตนของผู้ใช้ผ่านอีเมล
-
การรีเซ็ตรหัสผ่าน
- อธิบายวิธีการทำฟังก์ชันรีเซ็ตรหัสผ่าน
-
การสร้างค่าสุ่ม
- อธิบายวิธีสร้างค่าสุ่มที่จำเป็นต่อความปลอดภัย
-
OAuth
- อธิบายวิธีทำระบบยืนยันตัวตนโดยใช้โปรโตคอล OAuth
-
การยืนยันตัวตนหลายปัจจัย (MFA)
- อธิบายวิธีเพิ่มความปลอดภัยผ่าน MFA
-
WebAuthn
- อธิบายวิธีทำเว็บออเทนติเคชันโดยใช้ WebAuthn
-
การปลอมแปลงคำขอข้ามไซต์ (CSRF)
- อธิบายวิธีป้องกันการโจมตีแบบ CSRF
-
Open Redirect
- อธิบายวิธีป้องกันช่องโหว่ Open Redirect
-
การเข้ารหัส
- อธิบายวิธีปกป้องข้อมูลด้วยเทคนิคการเข้ารหัส
-
ECDSA
- อธิบายวิธีทำลายเซ็นดิจิทัลโดยใช้อัลกอริทึม ECDSA
-
ลิงก์
- มีลิงก์ไปยัง GitHub repository, Twitter, OWASP Cheat Sheet Series และลิงก์สำหรับบริจาค
สรุปโดย GN⁺
- The Copenhagen Book เป็นแหล่งข้อมูลที่มีประโยชน์สำหรับนักพัฒนา โดยให้แนวทางที่ครอบคลุมเกี่ยวกับการทำระบบยืนยันตัวตนในเว็บแอปพลิเคชัน
- ครอบคลุมวิธีการยืนยันตัวตนที่หลากหลายและเทคนิคการเสริมความปลอดภัย ช่วยเพิ่มความเข้าใจด้านความปลอดภัย
- หากใช้ร่วมกับ OWASP Cheat Sheet Series จะยิ่งมีประสิทธิภาพมากขึ้น และช่วยป้องกันช่องโหว่ด้านความปลอดภัยได้
- โครงการที่มีลักษณะคล้ายกันได้แก่แนวทางต่าง ๆ ของ OWASP และคำแนะนำด้านความปลอดภัยของ NIST
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
ผู้เขียนไลบรารี Lucia รู้สึกว่า Lucia ไม่เหมาะกับการนำไปใช้ทำระบบยืนยันตัวตนอีกต่อไป จึงเผยแพร่ชุดคู่มือที่จะมาแทน
แหล่งข้อมูลด้านความปลอดภัย 90% นั้นเข้าใจยากสำหรับคนที่ไม่ใช่ผู้เชี่ยวชาญ แต่คู่มือนี้ชัดเจน กระชับ และนำไปใช้ได้จริง
คำแนะนำด้านความปลอดภัยจำนวนมากมักคลุมเครือและบางครั้งก็ดูเหลือเชื่อเกินจริง แต่คู่มือนี้ให้คำแนะนำที่สดใหม่และเข้าใจง่าย
น่าจะทำให้ชัดเจนว่า "auth" หมายถึง authentication (authn) หรือ authorization (authz)
น่าประทับใจที่มีการพูดถึงว่า UUIDv4 แม้จะมี entropy สูง แต่ก็อาจไม่ปลอดภัยเชิงคริปโตกราฟี
รหัสผ่านควรมีความยาวอย่างน้อย 8 ตัวอักษร และควรใช้ไลบรารีอย่าง zxcvbn เพื่อตรวจหารหัสผ่านที่อ่อนแอ
มีใครรู้ไหมว่าทำไมถึงใช้ชื่อว่า "Copenhagen Book"
ถ้าทำระบบยืนยันตัวตนไว้ครั้งหนึ่งแล้ว ก็สามารถนำไปใช้ได้ทุกที่
อยากให้เว็บไซต์มีตัวเลือกแบบ "ไม่ให้เซสชันหมดอายุจนกว่าจะออกจากระบบ"
เป็นคู่มือที่ยอดเยี่ยม ขอบคุณ