เมื่อตั้งค่าการยืนยันตัวตนผ่านสองขั้นตอน (2FA) มักจะพบ แอปยืนยันตัวตน, โทเค็นฮาร์ดแวร์ และรหัส SMS ซึ่งเป็นวิธีการยืนยันตัวตนทั่วไป ทั้งหมดนี้จะอาศัย รหัสผ่านแบบใช้ครั้งเดียว (OTP) โดย TOTP และ HOTP เป็น OTP สองประเภทที่ได้มาตรฐาน ในขณะที่รหัส SMS และอีเมลเป็นวิธีจัดส่ง OTP ทั่วไปอื่นๆ แม้ว่าจะตอบสนองวัตถุประสงค์พื้นฐานเดียวกัน แต่การใช้งานจะแตกต่างกันออกไป ทำให้มีประโยชน์และข้อจำกัดที่เป็นเอกลักษณ์เฉพาะตัว ในบทความนี้ จะแยกความแตกต่างของ HOTP vs TOTP vs OTP และอธิบายว่าตัวเลือกใดเหมาะสมที่สุดสำหรับกรณีการใช้งานที่แตกต่างกัน
ทำความเข้าใจ HOTP, TOTP และ OTP
รหัสผ่านแบบใช้ครั้งเดียว (OTP)
OTP คือรหัสชั่วคราว บางครั้งเรียกว่ารหัสผ่านแบบใช้ครั้งเดียวหรือรหัส 2FA ซึ่งจะใช้งานเพียงครั้งเดียวเท่านั้น โดยไม่ได้มาแทนที่รหัสผ่าน แต่จะช่วยเพิ่มความปลอดภัยอีกชั้นหนึ่ง โดยทั่วไปแล้ว OTP มักใช้ในแอปพลิเคชั่นของธนาคารสำหรับการตรวจสอบข้อมูลระบุตัวตนระหว่างการเข้าสู่ระบบ หรือเมื่อตั้งค่าบัญชีออนไลน์
หมายเหตุ: OTP เป็นคำรวมสำหรับรหัสผ่านแบบใช้ครั้งเดียวในรูปแบบต่างๆ รวมถึง TOTP, HOTP และอีเมล/SMS
รหัสผ่านแบบใช้ครั้งเดียวที่อิงตามเวลา (TOTP)
รหัส TOTP โดยทั่วไปเป็นรหัส 6 หลักที่สร้างโดยแอปยืนยันตัวตน ซึ่งจะมีอายุการใช้งานประมาณ 30 วินาที (บางครั้งอาจสูงสุดถึง 60 วินาที ขึ้นอยู่กับบริการ) เมื่อรหัสหมดอายุ จะไม่สามารถใช้งานได้อีกต่อไป และจะมีการสร้างรหัสใหม่ขึ้นมา ลักษณะการอิงตามเวลาของ TOTP ทำให้มีความปลอดภัยสูง เนื่องจากช่วยจำกัดช่วงเวลาสำหรับผู้โจมตีในการใช้รหัสที่ถูกขโมยไป
รหัสผ่านแบบใช้ครั้งเดียวที่อิงตาม HMAC (HOTP)
HOTP มักพบในโทเค็นฮาร์ดแวร์ เช่น YubiKeys และจะใช้ระบบที่อิงตามตัวนับเพื่อสร้างรหัส ระบบนี้ทำงานในลักษณะคล้ายกับชุดบัตรกำนัลที่มีหมายเลขกำกับ โดยจะมีความสอดคล้องของรหัสที่ตรงกับระบบ หากโทเค็นฮาร์ดแวร์และเซิร์ฟเวอร์แอปพลิเคชั่นยังคงซิงค์กันอยู่ ก็จะได้รับสิทธิ์เข้าถึง
รหัส HOTP จะแตกต่างจาก TOTP ตรงที่ไม่ได้หมดอายุตามตัวจับเวลา แต่จะยังคงใช้งานได้จนกว่าจะใช้งานหรือสร้างรหัสใหม่ขึ้นมา วิธีนี้จึงเหมาะสำหรับสถานการณ์ออฟไลน์ แต่ก็หมายความว่าหากสร้างรหัสแล้วไม่ได้ใช้งาน รหัสนั้นก็จะยังคงเป็นคีย์ที่ใช้งานได้ซึ่งผู้โจมตีอาจค้นพบและนำไปใช้ได้
HOTP, TOTP และ OTP: ความแตกต่างที่สำคัญ
TOTP และ HOTP ต่างก็เป็นประเภทของ OTP ที่มีวิธีการสร้างที่แตกต่างกัน ตัวอย่างเช่น หากเปรียบเทียบ TOTP กับ OTP ก็เปรียบเสมือนการเปรียบเทียบรหัสที่อิงตามเวลาจากแอปยืนยันตัวตน กับวิธี OTP ทั่วไป เช่น รหัส SMS และอีเมล
| รหัส SMS/อีเมล | TOTP | HOTP | |
| อายุการใช้งานของรหัส | แตกต่างกันไป (นาทีถึงชั่วโมง) | 30 ถึง 60 วินาที | จนกว่าจะมีการสร้างรหัสใหม่ |
| ความปลอดภัย* | ต่ำ | สูง | ปานกลาง |
| ความซับซ้อนของการตั้งค่า | ไม่มี | ต่ำ | ปานกลาง |
| ข้อกำหนดเครือข่ายที่ใช้งานอยู่ | ใช่ | ไม่มี | ไม่มี |
| ฮาร์ดแวร์เพิ่มเติม | ไม่มี | ไม่มี | โทเค็นฮาร์ดแวร์ |
*ระดับความปลอดภัยอิงตามช่วงเวลาการใช้งานของรหัสและความเสี่ยงในการถูกดักจับ
ความปลอดภัย
HOTP, TOTP, and OTP offer different levels of security, with the key considerations being exposure time and transmission method.
TOTP โดยทั่วไปจะมีความปลอดภัยที่แข็งแกร่งกว่ารหัส SMS หรืออีเมล เนื่องจากรหัสจะถูกสร้างขึ้นบนอุปกรณ์และมีอายุการใช้งานสั้น หากผู้โจมตีได้รหัส TOTP ไป รหัสนั้นก็จะไม่สามารถใช้งานได้
HOTP ถูกสร้างขึ้นบนพื้นฐานการเข้ารหัสลับเพื่อความปลอดภัยที่แข็งแกร่ง อย่างไรก็ตาม เนื่องจากรหัส HOTP ไม่ได้หมดอายุตามตัวจับเวลา ช่วงเวลาการใช้งานที่อาจยาวนานจึงอาจทำให้รหัสที่ถูกขโมยกลายเป็นช่องโหว่ได้
รหัส SMS และอีเมล เป็นรหัสที่มีความปลอดภัยน้อยที่สุด เนื่องจากเดินทางผ่านเครือข่ายที่อาจถูกดักจับหรือเปลี่ยนเส้นทางได้ ทำให้เสี่ยงต่อการถูกโจมตีแบบสลับซิมการ์ดหรือฟิชชิ่งมากขึ้น
หมายเหตุ: ไม่มีวิธี OTP ใดที่ต้านทานการโจมตีแบบวิศวกรรมสังคมได้ เช่น ฟิชชิ่ง สิ่งสำคัญคือต้องรู้วิธีสังเกตฟิชชิ่งเพื่อป้องกันตนเองอย่างเหมาะสม
| รหัส SMS/อีเมล | TOTP | HOTP |
| เสี่ยงต่อการถูกดักจับเนื่องจากข้อกำหนดเครือข่ายที่ต้องใช้งานอยู่ | ระยะเวลาขั้นต่ำสำหรับผู้โจมตีในการใช้ประโยชน์จากรหัสที่ถูกขโมย | อายุการใช้งานที่ยาวนานทำให้มีโอกาสในการโจมตีมากขึ้น |
| แพลตฟอร์มที่ไม่ได้เข้ารหัสลับทำให้รหัสถูกขโมยได้ง่ายขึ้น | ความเสี่ยงในการถูกดักจับต่ำกว่า เนื่องจากรหัสถูกสร้างขึ้นบนอุปกรณ์ | ความปลอดภัยที่มั่นคงซึ่งสร้างขึ้นบนพื้นฐานการเข้ารหัสลับ |
ประสบการณ์ของผู้ใช้
ความซับซ้อนของการตั้งค่า แรงกดดันเรื่องเวลา และความน่าเชื่อถือจะส่งผลต่อประสบการณ์ของผู้ใช้ทั้งสามวิธี
TOTP มีความน่าเชื่อถือและสะดวกสบาย การตั้งค่าสามารถทำได้ง่าย (มักเป็นเพียงการสแกนคิวอาร์โค้ด) และรหัสจะถูกสร้างขึ้นแม้ไม่มีเครือข่ายที่ใช้งานอยู่ อย่างไรก็ตาม การหมดอายุของรหัสที่สั้นทำให้เกิดแรงกดดันเรื่องเวลา ซึ่งอาจสร้างความหงุดหงิดให้กับผู้ใช้ที่ดำเนินการช้ากว่า หรือผู้ที่ต้องจัดการหลายบัญชี
เมื่อเปรียบเทียบกันแล้ว HOTP มีความผ่อนคลายมากกว่ามาก เนื่องจากไม่มีข้อจำกัดเรื่องเวลา อย่างไรก็ตาม การตั้งค่าจะซับซ้อนกว่ามาก และอาจเกี่ยวข้องกับการซื้อฮาร์ดแวร์เพิ่มเติม
รหัส SMS และอีเมลเป็นวิธีที่สะดวกสบายที่สุดโดยไม่ต้องตั้งค่า แต่ต้องพึ่งพาการเชื่อมต่อเครือข่าย ซึ่งอาจส่งผลให้เกิดความล่าช้าในระหว่างที่ระบบขัดข้องหรือเกิดการหยุดชะงัก
| รหัส SMS/อีเมล | TOTP | HOTP |
| ไม่ต้องตั้งค่า | การตั้งค่าอย่างง่ายผ่านคิวอาร์โค้ดด้วยแอปยืนยันตัวตน 2FA | การตั้งค่าที่ซับซ้อน และอาจต้องใช้ฮาร์ดแวร์เพิ่มเติม |
| มีแรงกดดันเรื่องเวลาเล็กน้อย โดยรหัสบางตัวจะหมดอายุในอีกไม่กี่ชั่วโมง | แรงกดดันเรื่องเวลาอาจทำให้เกิดความหงุดหงิด | ไม่มีแรงกดดันเรื่องเวลา |
| ต้องพึ่งพาเครือข่ายที่ใช้งานอยู่ทั้งหมดสำหรับการจัดส่งรหัส | ทำงานได้อย่างน่าเชื่อถือแม้ไม่มีการเชื่อมต่อเครือข่าย | ทำงานแบบออฟไลน์ได้ แต่อาจเกิดปัญหาในการซิงค์ |
ข้อจำกัด
ข้อจำกัดเฉพาะของแต่ละวิธีจะส่งผลต่อลักษณะและเวลาในการใช้งาน รหัส SMS และอีเมลสามารถใช้งานได้กับอุปกรณ์ที่มีอยู่ แต่การที่ต้องพึ่งพาเครือข่ายและการเชื่อมต่ออินเทอร์เน็ตอาจส่งผลให้เกิดความล่าช้าในการจัดส่งรหัส ซึ่งอาจนานกว่าอายุการใช้งานของรหัสด้วยซ้ำ
TOTP ไม่ต้องการการเชื่อมต่อเครือข่ายเพื่อสร้างรหัส แต่สมาร์ทโฟนต้องซิงค์เวลาให้ตรงกับเซิร์ฟเวอร์เพื่อให้รหัสใช้งานได้ วิธีที่ดีที่สุดคือตั้งค่านาฬิกาของอุปกรณ์ให้ซิงค์กับอินเทอร์เน็ตโดยอัตโนมัติ เพื่อให้การซิงค์เวลายังคงทำงานอยู่ตลอดเวลาแม้ในขณะเดินทาง
เมื่อใช้ HOTP การสร้างรหัสใหม่แบบออฟไลน์จะมีประโยชน์เมื่อการเชื่อมต่อเครือข่ายไม่ดี แต่อย่างไรก็ตาม นี่ก็เป็นดาบสองคม เนื่องจากการสร้างรหัสซ้ำหลายครั้งโดยไม่ใช้งานอาจทำให้อุปกรณ์ไม่ซิงค์กับเซิร์ฟเวอร์ ส่งผลให้เกิดความล้มเหลวในการยืนยันตัวตน นอกจากนี้ การสร้างรหัสใหม่ด้วยตนเองของ HOTP ยังสร้างภาระด้านความปลอดภัยอย่างมากให้แก่ผู้ใช้
| รหัส SMS/อีเมล | TOTP | HOTP |
| พื้นที่ที่มีสัญญาณเครือข่ายไม่ดีอาจทำให้การจัดส่งรหัสล่าช้าอย่างมาก | เวลาของอุปกรณ์จะต้องซิงค์กับเวลาของเซิร์ฟเวอร์ แม้ในขณะเดินทาง | อาจไม่ซิงค์หากมีการสร้างรหัสมากเกินไปแต่ไม่ได้นำไปใช้งาน |
ควรใช้วิธี OTP แบบใด
คำตอบสั้นๆ คือ TOTP เป็นมาตรฐานที่ดีที่สุดสำหรับคนส่วนใหญ่ ในขณะที่ HOTP จะตอบสนองความต้องการออฟไลน์ในบางกรณี และทั้งสองวิธีนี้ก็เหนือกว่า SMS
แม้ว่าความต้องการของแต่ละบุคคลจะแตกต่างกันไป แต่ TOTP ดูเหมือนจะเป็นตัวเลือกที่สมดุลกว่าในสถานการณ์ส่วนใหญ่ ลักษณะการอิงตามเวลาช่วยเพิ่มความปลอดภัยอีกชั้นหนึ่ง และความสามารถในการเข้าถึงผ่านสมาร์ทโฟนทำให้วิธีนี้สะดวกและปลอดภัยสำหรับบัญชีที่เข้าถึงเป็นประจำ แต่หากต้องการการปกป้องที่แข็งแกร่งยิ่งขึ้นจากฟิชชิ่ง วิธีที่ใช้ฮาร์ดแวร์อย่าง FIDO2/พาสคีย์ จะไปได้ไกลกว่าวิธี OTP ใดๆ
จัดเก็บรหัสผ่านและสร้าง OTP อย่างปลอดภัย
การจัดการรหัสผ่านและรหัสการยืนยันตัวตน TOTP อาจเป็นเรื่องยุ่งยาก เนื่องจากต้องสลับแอปไปมาระหว่างเข้าสู่ระบบ ซึ่งจะลดเวลาการป้อนรหัสที่มีจำกัดอยู่แล้ว Proton Pass เป็น โปรแกรมจัดการรหัสผ่านที่ปลอดภัย ซึ่งช่วยลดความยุ่งยากนี้ด้วยฟังก์ชัน 2FA ในตัว (TOTP) เข้าถึงรหัสผ่าน รหัส 2FA และอื่นๆ ได้จากห้องนิรภัยที่ เข้ารหัส และปลอดภัยเพียงแห่งเดียว






