Kiểm tra mã TOTP
Kiểm tra mã TOTP có hợp lệ với khóa Base32 tại thời điểm hiện tại hoặc thời điểm cho trước không, với khoảng ±bước tùy chỉnh như máy chủ 2FA thật.
Khóa mà dịch vụ hiển thị khi bạn bật 2FA. Có dấu cách hay chữ thường đều được.
± số bước quanh bước hiện tại; 1 = ±30 giây với chu kỳ mặc định.
Để trống để dùng thời gian hiện tại.
Giống máy chủ: kiểm tra bước hiện tại trước, rồi các bước trước và sau trong độ lệch cho phép. Máy chủ thực tế còn phải từ chối mã đã dùng rồi.
Chạy hoàn toàn trong trình duyệt. Dữ liệu của bạn không bao giờ bị tải lên.
Kiểm tra mã TOTP là gì?
Nhập khóa bí mật và mã để kiểm tra mã có hợp lệ lúc này, hoặc tại thời điểm bạn chỉ định, với cùng độ lệch đồng hồ cho phép mà máy chủ xác thực sử dụng. Kết quả cho biết bước thời gian nào khớp, giúp chẩn đoán vấn đề về đồng hồ.
Cách sử dụng Kiểm tra mã TOTP
- Dán Khóa bí mật (Base32).
- Nhập Mã cần kiểm tra.
- Đặt Thuật toán, Số chữ số, Chu kỳ (giây) và Độ lệch cho phép (bước); tùy chọn Thời gian Unix (không bắt buộc).
- Nhấn Kiểm tra hợp lệ và đọc kết quả.
Ví dụ
Khóa GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ, 8 chữ số, thời gian Unix 89, mã 94287082, độ lệch 1
Valid: the code matches time step -1 (clock drift).
Khi nào nên dùng Kiểm tra mã TOTP
Dùng để gỡ lỗi đăng nhập 2FA thất bại, kiểm thử khoảng độ lệch trong triển khai của bạn hoặc kiểm tra mã từ token phần cứng. Máy chủ thực tế còn phải từ chối các mã đã được dùng một lần.
Kiểm tra mã TOTP hoạt động như thế nào
Bước hiện tại T = floor(thời gian / chu kỳ) được kiểm tra trước, sau đó là T−1, T+1, T−2 … đến hết độ lệch cho phép. Mã của mỗi bước được tính bằng HMAC theo RFC 4226/6238 và so sánh với mã đã nhập. Khi khớp, công cụ báo độ lệch, ví dụ −1 nếu mã đến từ khung 30 giây trước đó.
Các Trường Hợp Sử Dụng Phổ Biến
- Chẩn đoán đăng nhập 2FA thất bại do lệch đồng hồ
- Kiểm thử khoảng chấp nhận của một triển khai TOTP
- Xác minh mã từ token phần cứng
- Giảng dạy cách xác thực TOTP hoạt động
Câu Hỏi Thường Gặp
Máy chủ nên cho phép độ lệch bao nhiêu?
RFC 6238 khuyến nghị tối đa một bước lùi để bù độ trễ mạng; nhiều máy chủ chấp nhận ±1 bước (±30 giây).
Vì sao một mã hợp lệ bị từ chối sau khi đăng nhập?
Máy chủ phải ghi nhớ các mã đã dùng và từ chối chúng lần nữa để ngăn tấn công phát lại.
Tôi có thể kiểm tra mã HOTP ở đây không?
Không, hãy dùng công cụ tạo mã HOTP và so sánh mã với các giá trị bộ đếm bạn mong đợi.