0Pricing
Cyber Security Academy · บทเรียน

TOTP และ HOTP

รหัสผ่านใช้ครั้งเดียวตามเวลา

TOTP และ HOTP เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

รหัสผ่านใช้ครั้งเดียว

รหัสผ่านใช้ครั้งเดียว (OTP)คือรหัสที่ใช้ได้สำหรับการเข้าสู่ระบบหนึ่งครั้งหรือในช่วงเวลาสั้น ๆ

มีอัลกอริทึมมาตรฐานสองแบบที่ใช้สร้างรหัสนี้ ได้แก่ HOTP และ TOTP

ความลับร่วม

อัลกอริทึมทั้งสองเริ่มจากความลับร่วมที่มีเพียงเซิร์ฟเวอร์และแอปยืนยันตัวตนของคุณเท่านั้นที่รู้

โดยปกติความลับนี้จะถูกส่งในรูปคิวอาร์โค้ดระหว่างการตั้งค่าและจัดเก็บไว้ทั้งสองฝั่ง

HOTP: อิงตัวนับ

HOTP (OTP ที่ใช้ HMAC)จะนำความลับร่วมมาผสมกับตัวนับโดยใช้ HMAC จากนั้นตัดผลลัพธ์ให้เหลือเป็นรหัสตัวเลขสั้น ๆ

ตัวนับจะเพิ่มขึ้นหนึ่งหน่วยทุกครั้งที่สร้างรหัส

HOTP = Truncate( HMAC-SHA1(secret, counter) )

TOTP: อิงเวลา

TOTP (OTP ที่อิงเวลา)คือ HOTP ที่ใช้เวลาปัจจุบันหารเป็นช่วงคงที่แทนตัวนับ โดยปกติช่วงละ 30 วินาที

เนื่องจากเวลาเดินไปข้างหน้าเสมอ ทั้งสองฝั่งจึงยังตรงกันได้โดยไม่ต้องติดตามตัวนับด้วยตนเอง

T = floor( (current_unix_time) / 30 )
TOTP = Truncate( HMAC-SHA1(secret, T) )

ช่วงเวลา 30 วินาที

โดยทั่วไป รหัส TOTP จะเปลี่ยนทุก 30 วินาที อายุการใช้งานที่สั้นนี้จำกัดระยะเวลาที่รหัสที่ถูกขโมยไปจะนำไปใช้ได้

นี่คือเหตุผลที่แอปยืนยันตัวตนแสดงแถบนับถอยหลัง

ค่าคลาดเคลื่อนของนาฬิกา

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

ช่วงเวลาที่กว้างเกินไปจะลดความปลอดภัย จึงต้องกำหนดให้แคบ

การทำให้ HOTP ตรงกัน

HOTP อาจคลาดเคลื่อนได้หากไม่ได้ใช้รหัสที่สร้างขึ้น เพราะตัวนับบนอุปกรณ์เพิ่มขึ้นแต่บนเซิร์ฟเวอร์ไม่เพิ่ม

เซิร์ฟเวอร์จะอนุญาตช่วงตรวจล่วงหน้าขนาดเล็กเพื่อทำให้กลับมาตรงกัน แต่หากคลาดเคลื่อนมากจะต้องทำให้ตรงกันด้วยตนเอง

URI ของ otpauth

คิวอาร์โค้ดจะเข้ารหัสURI ของ otpauthซึ่งอธิบายความลับและพารามิเตอร์ต่าง ๆ

otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&period=30

เหตุใด TOTP จึงได้รับความนิยม

TOTP พบได้บ่อยกว่า HOTP มากเนื่องจาก:

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

จุดแข็งและข้อจำกัด

TOTP ยกระดับความปลอดภัยจากการใช้รหัสผ่านเพียงอย่างเดียวได้มาก แต่ยังสามารถถูกหลอกให้เปิดเผยได้: เว็บไซต์ปลอมอาจหลอกให้ผู้ใช้พิมพ์รหัสที่ยังใช้งานได้

กุญแจฮาร์ดแวร์ (ซึ่งจะกล่าวถึงในบทเรียนถัดไป) ป้องกันการโจมตีนี้ได้

การสำรองและการกู้คืน

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

  • บันทึกรหัสกู้คืนที่ได้รับระหว่างการตั้งค่า
  • สำรองความลับอย่างปลอดภัย หรือลงทะเบียนแอปยืนยันตัวตนตัวที่สอง

ตรวจสอบความเข้าใจ

ความแตกต่างสำคัญระหว่าง HOTP กับ TOTP คืออะไร

สรุปทบทวน

คุณได้เรียนรู้ว่าอัลกอริทึม OTP ทำงานอย่างไร

  • ทั้งสองแบบสร้างขึ้นจากความลับร่วมและรหัสยืนยันข้อความด้วยแฮช
  • HOTP ใช้ตัวนับ ส่วน TOTP ใช้เวลา
  • รหัส TOTP หมดอายุทุกประมาณ 30 วินาที แต่ยังเสี่ยงต่อฟิชชิง
  • เก็บรหัสกู้คืนไว้

ต่อไป เราจะสำรวจการอนุมัติผ่านการแจ้งเตือนและคีย์ฮาร์ดแวร์

คำถามที่พบบ่อย

บทเรียน “TOTP และ HOTP” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “TOTP และ HOTP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “TOTP และ HOTP”

รหัสผ่านใช้ครั้งเดียวตามเวลา คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “TOTP และ HOTP” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ปัจจัยการยืนยันตัวตน
  2. TOTP และ HOTP
  3. กุญแจแบบพุชและฮาร์ดแวร์
  4. ความเสี่ยงจากการข้าม MFA
← กลับไปที่ Cyber Security Academy