Authentication


การใช้งานอินเตอร์เน็ตหรือแอพพิเคชั่นบางตัวเช่น gmail, facebook, youtube, tiktok เมื่อเราต้องการใช้งานระบบต่างๆ ก่อนจะใช้งานบางครั้งเราจะต้องผ่านขั้นตอนนึงก่อนเสมอ ก็คือการ Authentication เพื่อยืนยันสิทธิ์การใช้งานหรือ login เข้าสู่ระบบ ซึ่งทุกระบบจะมีการทำ Access Control แบ่งสิทธิ์การใช้งานตามสิทธิ์แต่ละ user เพื่อไม่ให้ผู้ที่ไม่เกี่ยวข้องหรือผู้ไม่หวังดีเข้าใช้งานระบบของเราโดยไม่ได้รับอนุญาต
เนื้อหา
การทำ Authentication
การทำ Authentication นั้นจะใช้ 3 สิ่งเพื่อยืนยันสิทธิ์
- Something you know
- Something you have
- Something you are
Something you know
บางสิ่งที่คุณรู้ เช่น username และ password ใช้ในการเข้าสู่ระบบ ในการใช้งานแบบนี้ถือเป็นแบบที่ระดับความปลอดภัยอ่อนที่สุด เพราะถ้าใครรู้ username และ password ก็มีสิทธิ์เข้าใช้งานระบบได้ทันที และไม่สามารถตรวจสอบตัวตนของผู้ที่ทำการ login ได้อีกด้วย ไม่รู้ว่าเป็นใคร
Something you have
บางสิ่งที่คุณมี เป็นการ Authentication โดยการการยืนยัน 2 ขั้นตอนหรือเรียกว่า Two-Factor ก็คือนอกจากจะมี username password แล้ว จำเป็นต้องมีสิ่งที่ช่วยยืนยันอีกทีว่า เราหรือผู้ใช้งานเนี่ย มีสิ่งนี้อยู่เพื่อใช้ยืนยันได้ว่าเรามีสิทธิ์ในการใช้จริงๆ เช่น
- บัตร ATM
- RSA Token เลข 6 ตัวในแอพ Google Authenticator
- yubikey
Something you are
บางสิ่งที่คุณเป็น คือการนำเทคโนโลยี Biometric เข้ามาใช้ตรวจสอบตัวตน โดยอาศัยลักษณะเฉพาะตัวที่เรามีและเป็น unique ไม่ซ้ำกับใคร เช่น ลายนิ้วมือ ม่านตา
ใช้ 2 ใน 3 สิ่ง
ในการใช้งานควรจะใช้ 2 ใน 3 สิ่งเพื่อตรวจสอบและยืนยันตัวตนของผู้ใช้เช่น
- Something you know กับ Something you have คือใช้ username password ที่เรารู้กับ SMS OTP ที่เรามี
- Something you know กับ Something you are คือใช้ username password ที่เรารู้กับสิ่งที่เราเป็นเช่นลายนิ้วมือของเรา
ตัวอย่าง
- การใช้แอพ เป๋าตัง การจะใช้งานแอพจำเป็นต้องลงทะเบียนก่อนเพื่อให้ได้ username และ password มาจากนั้นเมื่อเราต้องการจะจ่ายเงินหรือชำระเงิน มือถือเครื่องนั้นจำเป็นต้องใช้เบอร์โทรศัพท์ เบอร์เดียวกับที่ลงทะเบียนไว้ เพราะต้องใช้ OTP ในการยืนยันตัวตนก่อนใช้งานอีกที
- การจ่ายเงินในแอพ shopping หรือ food delivery ที่มีการจ่ายเงิน เมื่อเราสร้างคำสั่งซื้อแล้วต้องชำระเงิน หมายความว่าเราได้ login ด้วย username และ password แล้ว สิ่งที่ต้องใช้อีกอย่างนึงก็คือ ลายนิ้วมือ หรือ SMS OTP จะเห็นใช้ลายนิ้วมือมากกว่า
- การจ่ายเงินด้วยบัตรเครดิตแบบออนไลน์ เราต้องกรอกเลขบัตร วันหมดอายุ CVV จากนั้นก็ใส่ SMS OTP (บางครั้งก็ไม่ต้องใช้) ก็คือ Something you know กับ Something you have
- การจ่ายเงินด้วยบัตรเครดิตที่เครื่อง EDC เราแค่ยื่นบัตรให้พนักงานแล้วกรอก PIN Code ก็คือ Something you know กับ Something you have
2FA two-factor authentication
ทำให้การเข้าถึงบัญชีผู้ใช้งานนั้นๆ ไม่ได้ใช้แค่ password เพียงอย่างเดียว ต้องมีสิ่งอื่นเพื่อยืนยันตัวตนของผู้ใช้งานด้วยระบบ 2FA (two-factor authentication) เช่น
- การยืนยันผ่าน SMS หรือ E-mail หลังจาก login ด้วย username password แอพพลิเคชั่นจะส่งโค้ด OTP ให้เพื่อใช้ยืนยันตัวตนอีกขั้น เป็นวิธีที่ง่ายที่สุดสำหรับคนทำแอพพิเคชั่น เพราะผู้ใช้ไม่จำเป็นต้องเชื่อกับ internet ไม่ต้องติดตั้งอะไรเลย แต่การใช้งาน 2FA ผ่าน SMS OTP หรือ E-mail ก็ยังมีความเสี่ยงว่า E-mail ก็สามารถถูกแฮกได้
- การยืนยันผ่านแอพพลิเคชั่นมือถืออย่าง Google Authenticator หรือ Microsoft Authenticator เป็นอีกวิธีนึงที่ใช้กัน ใช้หลักการของ RSA Token ประมารว่าเป็นกุญแจ RSA Token ทุกๆ 60 วินาที Token จะ generate ตัวเลขชุดหนึ่งออกมาเพื่อใช้ประกอบในการ Log in เข้าสู่ระบบ จำเป็นต้องติดตั้งแอพและต้องบันทึกหรือเก็บกุญแจที่จะใช้ไว้ในแอพก่อน ไม่จำเป็นต้องต่อ internet ข้อเสียคือถ้าทำกุญแจหายถึงจะเป็นเราเองก็ไม่สามารถเข้าใช้งานได้