Trình tạo và kiểm tra mã OTP
Features
- Hỗ trợ TOTP: Sinh mã dựa trên thời gian, tự động hết hạn sau 30 giây cho 2FA an toàn
- Hỗ trợ HOTP: Tạo mã dựa trên bộ đếm, phù hợp token phần cứng hoặc môi trường offline
- Đa thuật toán: Hỗ trợ SHA-1, SHA-256, SHA-512 với độ dài 6-8 chữ số tùy chỉnh
- Xác minh tức thì: Kiểm tra mã OTP với cửa sổ thời gian/bộ đếm linh hoạt cho mục đích kiểm thử
Usage Guide
- Thiết lập tham số: Chọn loại OTP (TOTP/HOTP), thuật toán (SHA-1/SHA-256/SHA-512), số chữ số (6-8) và nhập khóa bí mật.
- Sinh mã: Nhấn "Sinh mã" để tạo OTP. TOTP tự làm mới mỗi 30 giây; HOTP cần tăng bộ đếm thủ công.
- Xác minh mã: Nhập khóa bí mật và mã cần kiểm tra, sau đó nhấn "Kiểm tra mã" để xác minh.
Technical Details
Mã OTP là gì
OTP (One-Time Password) là mã xác thực tạm thời được tạo bằng thuật toán mật mã và khóa bí mật chia sẻ. Mỗi mã chỉ dùng một lần, có thời hạn ngắn nên chống được phishing, keylogger và replay.
TOTP (Time-based OTP)
TOTP dựa trên thời gian hiện tại và khóa bí mật. HMAC-SHA1/SHA256/SHA512 băm giá trị thời gian (mỗi 30 giây) cùng khóa để sinh mã, sau đó cắt lấy 6-8 chữ số. Mã tự hết hạn khi qua cửa sổ thời gian.
HOTP (HMAC-based OTP)
HOTP dùng bộ đếm tăng dần kết hợp khóa bí mật. Mỗi lần dùng mã, bộ đếm tăng 1, đảm bảo mã mới khác mã cũ. Phù hợp môi trường ngoại tuyến nhưng cần đồng bộ bộ đếm giữa client và server.
Frequently Asked Questions
- Khác biệt giữa TOTP và HOTP?
- TOTP dựa trên thời gian, tự đổi mã mỗi ~30 giây. HOTP dựa trên bộ đếm và phải tăng thủ công. TOTP phổ biến trên app 2FA, HOTP phù hợp token phần cứng/offline.
- Lấy khóa bí mật ở đâu?
- Dịch vụ cung cấp khóa khi bạn bật 2FA, thường dưới dạng QR hoặc chuỗi Base32. Khi thử nghiệm có thể tự sinh, nhưng sản xuất phải dùng khóa do dịch vụ cung cấp.
- Nên chọn thuật toán nào?
- SHA-1 được hỗ trợ rộng nhất và tương thích hầu hết hệ thống. SHA-256/SHA-512 mạnh hơn nhưng có thể không được hỗ trợ bởi hệ thống cũ.
- Vì sao mã khác Google Authenticator?
- Nguyên nhân chính là lệch thời gian. Hãy đồng bộ đồng hồ thiết bị/server và đảm bảo cùng khóa, thuật toán, số chữ số và chu kỳ.
- Có dùng công cụ này cho sản xuất không?
- Không. Đây là công cụ học tập/kiểm thử. Trong sản xuất hãy dùng thư viện OTP chuyên dụng và quản lý khóa bí mật an toàn.
Related Documentation
- RFC 6238 - TOTP Specification - Tiêu chuẩn RFC định nghĩa thuật toán OTP dựa trên thời gian
- RFC 4226 - HOTP Specification - Tiêu chuẩn RFC định nghĩa thuật toán OTP dựa trên HMAC
- Google Authenticator Protocol - Hướng dẫn triển khai hệ thống OTP tương thích Google Authenticator
- OWASP - Two-Factor Authentication - Thực hành bảo mật khi triển khai xác thực hai yếu tố
- HMAC Specification (RFC 2104) - Tiêu chuẩn thuật toán HMAC sử dụng trong tạo mã OTP