TOTP คือตัวย่อของ "time-based one-time password" (รหัสผ่านครั้งเดียวตามเวลา) ซึ่งเป็นเทคโนโลยีที่อยู่เบื้องหลังรหัส 6 หลักที่แสดงโดยแอปยืนยันตัวตน รหัส TOTP ถูกคำนวณจากกุญแจส่วนตัวที่ใช้ในการตั้งค่าและเวลาปัจจุบัน แล้วจะหมดอายุหลังจากช่วงเวลาสั้นๆ

TOTP มักถูกใช้เป็นขั้นตอนที่สองในกระบวนการยืนยันตัวตนสองขั้นตอน (two-factor authentication) มันสามารถทำงานได้แม้ไม่มีสัญญาณมือถือ เนื่องจากแอปยืนยันตัวตนจะคำนวณรหัสแบบท้องถิ่นแทนที่จะรอรับข้อความ

ข้อมูลใดที่ใช้สร้างรหัส TOTP?

มีข้อมูลสองอย่างที่สำคัญ: รหัสลับที่ใช้ร่วมกัน และตัวนับเวลา ผู้ให้บริการบัญชีจะสร้างรหัสลับนี้ในขั้นตอนการตั้งค่า และส่งให้คุณผ่านแอปยืนยันตัวตนด้วย QR code หรือรหัสที่ตั้งด้วยตนเอง หลังจากนั้น ทั้งสองฝ่ายจะแบ่งเวลาออกเป็นช่วงเวลาที่เท่ากัน และดำเนินการคำนวณทางเข้ารหัสแบบเดียวกัน

หากรหัสลับ อัลกอริทึม และช่วงเวลาตรงกัน ทั้งสองฝ่ายจะสร้างรหัสสั้นที่เหมือนกัน รหัสลับเองไม่จำเป็นต้องส่งผ่านทุกครั้งที่เข้าสู่ระบบ

Four-stage TOTP process from secret and time to code validation
อุปกรณ์ยืนยันตัวตนและบริการจะคำนวณค่าจากรหัสลับและช่วงเวลาเดียวกันอย่างอิสระ

TOTP ทำงานอย่างไร?

  1. ผู้ให้บริการจะสร้างรหัสลับที่ไม่ซ้ำกันสำหรับการลงทะเบียนอุปกรณ์ยืนยันตัวตน
  2. คุณสแกนรหัส QR สำหรับการตั้งค่า หรือป้อนรหัสลับด้วยตนเองบนอุปกรณ์ที่เชื่อถือได้
  3. อุปกรณ์ยืนยันตัวตนจะรวมรหัสลับกับช่วงเวลาปัจจุบัน
  4. ผลลัพธ์จะถูกแปลงเป็นรหัสตัวเลขสั้นๆ โดยทั่วไปมีหกหลัก
  5. ผู้ให้บริการจะคำนวณรหัสที่คาดไว้และเปรียบเทียบกับรหัสที่คุณป้อนRFC 6238 กำหนดให้ TOTP เป็นรูปแบบที่อิงตามเวลาของ HOTP การตั้งค่าทั่วไปใช้ช่วงเวลา 30 วินาที รหัส 6 หลัก และ HMAC-SHA-1 แม้ว่าจะมีอัลกอริทึมและการตั้งค่าอื่นๆ ที่รองรับ

RFC 6238 กำหนด TOTP เป็นรูปแบบของ HOTP ที่อิงตามเวลา การตั้งค่าทั่วไปใช้ช่วงเวลา 30 วินาที ตัวเลข 6 หลัก และ HMAC-SHA-1 แม้ว่าจะมีอัลกอริทึมและการตั้งค่าอื่น ๆ ที่ได้รับการสนับสนุนด้วย

ทำไมรหัส TOTP จึงหมดอายุ?

ระยะเวลาความถูกต้องที่สั้นจะจำกัดระยะเวลาที่รหัสที่ถูกคัดลอกสามารถใช้ซ้ำได้ เมื่อช่วงเวลาเปลี่ยนไป เครื่องยืนยันตัวตนจะสร้างค่าใหม่ขึ้นมา บริการอาจยอมรับช่วงเวลาที่ใกล้เคียงกันเพื่อชดเชยความล่าช้าของเครือข่ายและความแตกต่างของนาฬิกาเล็กน้อย แต่การยอมรับช่วงเวลาที่กว้างขึ้นก็จะทำให้ช่วงเวลาที่ยอมรับได้เพิ่มขึ้นด้วย

ป้อนรหัสใหม่เมื่อใกล้ถึงจุดเริ่มต้นของการนับถอยหลัง หากรหัสถูกปฏิเสธอย่างต่อเนื่อง ให้ทำตามคู่มือของเราเพื่อแก้ไขรหัส 2FA ที่ไม่ทำงาน

TOTP เทียบกับ HOTP

TOTP และ HOTP ใช้การคำนวณที่คล้ายกัน แต่ทำงานแตกต่างกัน:

  • TOTP เปลี่ยนแปลงตามช่วงเวลา ดังนั้นนาฬิกาของอุปกรณ์ยืนยันตัวตนต้องถูกซิงโครไนซ์
  • HOTP เปลี่ยนแปลงเมื่อตัวนับเพิ่มขึ้น เช่น หลังจากกดปุ่มหรือการใช้งานสำเร็จ

TOTP เป็นที่นิยมในแอปยืนยันตัวตนแบบซอฟต์แวร์ เนื่องจากเวลาเป็นปัจจัยที่เปลี่ยนแปลงอัตโนมัติ ส่วน HOTP ยังคงถูกใช้โดยโทเค็นฮาร์ดแวร์บางชนิดและระบบเฉพาะทาง

TOTP เทียบกับรหัส SMS

แอป TOTP คำนวณรหัสบนอุปกรณ์และทำงานแบบออฟไลน์ได้ปกติ ส่วน SMS ต้องพึ่งพาเครือข่ายโทรศัพท์เพื่อส่งรหัส SMS สะดวกแต่อาจได้รับผลกระทบจากการสลับซิม การเปลี่ยนหมายเลข การดักจับข้อมูล และความล้มเหลวในการส่ง

ทั้ง TOTP ทั่วไปและ SMS ล้วนไม่สามารถต้านทานการฟิชชิ่งได้อย่างสมบูรณ์: หน้าลงชื่อเข้าใช้ปลอมที่ดูน่าเชื่อถือสามารถจับและส่งต่อรหัสปัจจุบันได้ สำหรับบัญชีสำคัญ การใช้ passkey หรือ FIDO security key มักจะมีความปลอดภัยสูงกว่าหากระบบรองรับ ดูการเปรียบเทียบอย่างละเอียดระหว่างแอปยืนยันตัวตนกับ SMS ได้ที่นี่

TOTP secret คืออะไร?

รหัสลับคือข้อมูลรับรองที่มีอายุการใช้งานยาวนาน ซึ่งเป็นพื้นฐานของรหัสทั้งหมดในอนาคตสำหรับการลงทะเบียนนั้น ผู้ใดก็ตามที่มีรหัสลับนี้สามารถตั้งค่าแอปยืนยันตัวตนอื่นและสร้างค่าที่ตรงกันได้ ภาพหน้าจอของรหัส QR ในการตั้งค่าถือเป็นข้อมูลที่ละเอียดอ่อน เนื่องจากโดยปกติแล้วจะมีรหัสลับนั้นอยู่

คู่มือของเราอธิบายว่าสามารถหาคีย์การตั้งค่า 2FA แบบแมนนวลได้ที่ไหน และวิธีแยกแยะมันออกจากรหัสผ่านหรือรหัสกู้คืน

TOTP สามารถทำงานแบบออฟไลน์ได้หรือไม่?

ได้ครับ เมื่อตั้งค่าเสร็จแล้ว แอปยืนยันตัวตนต้องการเพียงรหัสลับและนาฬิกาที่แม่นยำเท่านั้น ไม่จำเป็นต้องมีการเชื่อมต่ออินเทอร์เน็ตที่ใช้งานอยู่ แต่บริการที่ตรวจสอบการเข้าสู่ระบบยังคงต้องเข้าถึงข้อมูลการลงทะเบียนที่เก็บไว้ได้

วิธีใช้เครื่องสร้าง TOTP อย่างปลอดภัย

  • ใช้เฉพาะรหัสลับที่属于บัญชีที่คุณมีสิทธิ์จัดการเท่านั้น
  • ตรวจสอบที่อยู่เว็บไซต์และอุปกรณ์ก่อนป้อนรหัสลับ
  • อย่าส่งรหัสลับหรือรหัส QR สำหรับการตั้งค่าผ่านแชทหรือแบบฟอร์มสนับสนุนเด็ดขาด
  • เก็บรหัสกู้คืนไว้แยกต่างหากจากอุปกรณ์ยืนยันตัวตนที่ใช้ประจำวัน
  • สร้างรหัสใหม่ทันทีหากรหัสลับอาจถูกเปิดเผย

สำหรับการทดสอบที่ได้รับอนุญาต เครื่องสร้างรหัส TOTP ของ Get2FA.dev จะคำนวณรหัสมาตรฐานในเบราว์เซอร์ของคุณ สำหรับการใช้งานประจำวันในบัญชีสำคัญ ควรเลือกใช้แอปยืนยันตัวตนที่มีชื่อเสียงหรือวิธีการที่รองรับด้วยฮาร์ดแวร์

คำถามที่มักถูกถาม

รหัส TOTP มีอายุการใช้งานนานเท่าใด?

30 วินาทีเป็นค่าเริ่มต้นทั่วไป แต่ผู้ให้บริการสามารถกำหนดช่วงเวลาอื่นได้ การนับถอยหลังอยู่ในช่วงเวลาที่กำหนด และจะไม่เริ่มต้นใหม่เมื่อคุณดูหรือคัดลอกรหัส

ทำไมรหัส TOTP มักมี 6 หลัก?

6 หลักช่วยสร้างสมดุลระหว่างความสะดวกในการใช้งานกับจำนวนค่าที่เป็นไปได้ที่จำกัด การจำกัดอัตราการใช้และช่วงเวลาที่มีผลบังคับใช้ที่สั้นเป็นสิ่งสำคัญ เนื่องจากพื้นที่รหัสเองมีขนาดไม่ใหญ่

อุปกรณ์สองเครื่องสามารถแสดงรหัส TOTP ที่เดียวกันได้หรือไม่?

ได้ครับ หากทั้งสองอุปกรณ์เก็บรหัสลับเดียวกัน ใช้การตั้งค่าเดียวกัน และนาฬิกาถูกซิงโครไนซ์กัน การทำซ้ำการลงทะเบียนว่าเหมาะสมหรือไม่ ขึ้นอยู่กับนโยบายความปลอดภัยของคุณ

TOTP เหมือนกับ 2FA หรือไม่?

ไม่ TOTP เป็นหนึ่งในวิธีการยืนยันตัวตนที่เป็นไปได้ อ่านเพิ่มเติมเกี่ยวกับความหมายของ 2FA และวิธีการทำงานของวิธีการอื่นๆ ของระบบนี้