Các ứng dụng xác thực, mã thông báo phần cứng và mã SMS là các phương thức xác thực phổ biến thường gặp khi thiết lập xác thực hai yếu tố (2FA). Tất cả các phương thức này đều dựa trên mật khẩu dùng một lần (OTP). TOTP và HOTP là hai loại OTP tiêu chuẩn hóa, trong khi mã SMS và email là các phương thức phân phối OTP phổ biến khác. Mặc dù về cơ bản đều phục vụ cùng một mục đích, nhưng cách triển khai khác nhau, mang lại cho chúng những lợi ích và hạn chế riêng biệt. Trong bài viết này, bài viết sẽ phân tích HOTP so với TOTP so với OTP và giải thích tùy chọn nào là hợp lý nhất cho các trường hợp sử dụng khác nhau.
Tìm hiểu về HOTP, TOTP và OTP
Mật khẩu dùng một lần (OTP)
OTP là các mã tạm thời, đôi khi được gọi là mật khẩu dùng một lần hoặc mã 2FA, chỉ được sử dụng một lần. Chúng không thay thế mật khẩu; thay vào đó, chúng cung cấp thêm một lớp bảo mật. OTP thường được sử dụng trong các ứng dụng ngân hàng để xác minh danh tính trong quá trình đăng nhập hoặc khi thiết lập tài khoản trực tuyến.
Lưu ý: OTP là thuật ngữ chung cho các dạng mật khẩu dùng một lần khác nhau, bao gồm TOTP, HOTP và email/SMS.
Mật khẩu dùng một lần dựa trên thời gian (TOTP)
Mã TOTP thường là mã gồm 6 chữ số được tạo bởi các ứng dụng xác thực. Chúng có hiệu lực trong khoảng 30 giây (đôi khi lên đến 60 giây, tùy thuộc vào dịch vụ). Khi một mã hết hạn, mã đó không còn hoạt động và một mã mới sẽ được tạo. Bản chất dựa trên thời gian của TOTP làm cho nó có độ bảo mật cao, vì nó giới hạn khoảng thời gian cơ hội cho những kẻ tấn công sử dụng bất kỳ mã nào bị đánh cắp.
Mật khẩu dùng một lần dựa trên HMAC (HOTP)
HOTP thường được tìm thấy trong các mã thông báo phần cứng như YubiKey và dựa trên hệ thống dựa trên bộ đếm để tạo mã. Hệ thống này hoạt động theo cách tương tự như một cuốn sổ gồm các phiếu giảm giá được đánh số — có một thứ tự chạy của các mã được so khớp với hệ thống. Miễn là mã thông báo phần cứng và máy chủ ứng dụng vẫn đồng bộ, quyền truy cập sẽ được cấp.
Không giống như TOTP, mã HOTP không hết hạn theo đồng hồ hẹn giờ. Chúng vẫn có hiệu lực cho đến khi được sử dụng hoặc một mã mới được tạo ra. Điều này làm cho nó lý tưởng cho các trường hợp ngoại tuyến, nhưng cũng có nghĩa là nếu tạo ra một mã và không sử dụng, mã đó vẫn là một khóa hợp lệ mà kẻ tấn công có thể tìm thấy và sử dụng.
HOTP so với TOTP so với OTP: Những khác biệt chính
TOTP và HOTP đều là các loại OTP với các phương thức tạo khác nhau. Ví dụ: nếu đang so sánh TOTP với OTP, có khả năng đang so sánh các mã dựa trên thời gian từ các ứng dụng xác thực với các phương thức OTP chung như mã SMS và email.
| Mã SMS/Email | TOTP | HOTP | |
| Hiệu lực của mã | Thay đổi (vài phút đến vài giờ) | 30 đến 60 giây | Cho đến khi một mã mới được tạo |
| Bảo mật* | Thấp | Cao | Trung bình |
| Độ phức tạp của thiết lập | Không có | Thấp | Trung bình |
| Yêu cầu mạng hoạt động | Có | Không | Không |
| Phần cứng bổ sung | Không có | Không có | Mã thông báo phần cứng |
*Mức độ bảo mật dựa trên khoảng thời gian hiệu lực của mã và nguy cơ bị đánh chặn.
Bảo mật
HOTP, TOTP và OTP cung cấp các mức độ bảo mật khác nhau, với các yếu tố cân nhắc chính là thời gian hiển thị và phương thức truyền tải.
TOTP thường cung cấp mức độ bảo mật mạnh hơn so với mã SMS hoặc email, vì các mã được tạo trên thiết bị và có thời gian hiệu lực ngắn. Nếu những kẻ tấn công bằng cách nào đó có được mã TOTP, mã đó sẽ trở nên vô dụng.
HOTP được xây dựng trên nền tảng mật mã học, cung cấp tính năng bảo mật vững chắc. Tuy nhiên, vì mã HOTP không hết hạn theo đồng hồ hẹn giờ, khoảng thời gian hiệu lực có thể kéo dài có thể khiến các mã bị đánh cắp trở thành một lỗ hổng.
Mã SMS và email là những phương thức kém bảo mật nhất. Chúng được truyền qua các mạng có thể bị đánh chặn hoặc chuyển hướng, khiến chúng dễ bị tấn công hoán đổi SIM hoặc tấn công lừa đảo..
Lưu ý: Không có phương thức OTP nào miễn nhiễm với các cuộc tấn công thao túng tâm lý, chẳng hạn như lừa đảo. Điều quan trọng là phải biết cách phát hiện lừa đảo để tự bảo vệ mình một cách thích hợp.
| Mã SMS/Email | TOTP | HOTP |
| Dễ bị đánh chặn do yêu cầu mạng hoạt động | Thời gian tối thiểu để kẻ tấn công khai thác các mã bị đánh cắp | Thời gian hiệu lực dài mang lại nhiều cơ hội tấn công hơn |
| Các nền tảng không được mã hóa làm cho các mã dễ bị đánh cắp hơn | Nguy cơ bị đánh chặn thấp hơn, vì các mã được tạo trên thiết bị | Bảo mật vững chắc được xây dựng trên nền tảng mật mã học |
Trải nghiệm người dùng
Độ phức tạp của thiết lập, áp lực thời gian và độ tin cậy ảnh hưởng đến trải nghiệm người dùng của cả ba phương thức.
TOTP đáng tin cậy và tiện lợi. Việc thiết lập rất đơn giản (thường chỉ là quét mã QR) và các mã được tạo ngay cả khi không có mạng hoạt động. Tuy nhiên, thời gian hết hạn mã ngắn tạo ra áp lực thời gian, có thể gây khó chịu cho những người dùng chậm hơn hoặc những người đang quản lý nhiều tài khoản.
HOTP thoải mái hơn nhiều so với việc này, không bị giới hạn về thời gian. Tuy nhiên, việc thiết lập phức tạp hơn nhiều và có thể liên quan đến việc mua thêm phần cứng.
Mã SMS và email là những phương thức dễ dàng nhất, không cần thiết lập, nhưng chúng phụ thuộc vào kết nối mạng, có thể gây ra sự chậm trễ khi mất mạng hoặc bị gián đoạn.
| Mã SMS/Email | TOTP | HOTP |
| Không yêu cầu thiết lập | Thiết lập đơn giản qua mã QR bằng ứng dụng xác thực 2FA | Thiết lập phức tạp, có thể yêu cầu thêm phần cứng |
| Áp lực thời gian nhẹ, với some mã sẽ hết hạn sau vài giờ | Áp lực thời gian có thể gây ra sự khó chịu | Không có áp lực thời gian |
| Hoàn toàn phụ thuộc vào mạng hoạt động để gửi mã | Hoạt động đáng tin cậy ngay cả khi không có kết nối mạng | Hoạt động ngoại tuyến, nhưng có thể xảy ra các sự cố đồng bộ |
Hạn chế
Những hạn chế riêng biệt của từng phương thức sẽ ảnh hưởng đến cách thức và thời điểm sử dụng chúng. Mã SMS và email hoạt động với các thiết bị hiện có, nhưng sự phụ thuộc của chúng vào kết nối mạng và internet có thể gây ra sự chậm trễ trong việc phân phối mã, thậm chí có thể kéo dài hơn thời gian hiệu lực của chúng.
TOTP không yêu cầu kết nối mạng để tạo mã, nhưng nó yêu cầu điện thoại thông minh phải được đồng bộ hóa thời gian với máy chủ để mã có thể hoạt động. Cách tốt nhất để đảm bảo điều này là để đồng hồ của thiết bị tự động đồng bộ hóa với internet. Do đó, khi di chuyển, việc đồng bộ hóa thời gian vẫn được duy trì.
Với HOTP, việc tạo mã mới ngoại tuyến có thể có lợi khi kết nối mạng kém. Tuy nhiên, đây là con dao hai lưỡi. Việc tạo lại mã mà không sử dụng chúng có thể khiến thiết bị mất đồng bộ với máy chủ, gây ra lỗi xác thực. Ngoài ra, việc yêu cầu tạo lại thủ công với HOTP đặt ra trách nhiệm bảo mật lớn cho người dùng.
| Mã SMS/Email | TOTP | HOTP |
| Khu vực mạng kém có thể gây ra sự chậm trễ đáng kể trong việc gửi mã | Thời gian của thiết bị cần được đồng bộ hóa với thời gian của máy chủ, ngay cả khi di chuyển | Có thể bị mất đồng bộ nếu quá nhiều mã được tạo nhưng không được sử dụng |
Nên sử dụng phương thức OTP nào?
Câu trả lời ngắn gọn là TOTP là tiêu chuẩn tốt nhất cho hầu hết mọi người, trong khi HOTP phục vụ các nhu cầu ngoại tuyến cụ thể. Cả hai đều vượt trội so với SMS.
Mặc dù nhu cầu của mỗi cá nhân là khác nhau, nhưng TOTP dường như là lựa chọn cân bằng hơn trong hầu hết các trường hợp. Bản chất dựa trên thời gian cung cấp thêm một lớp bảo mật và khả năng truy cập trên điện thoại thông minh biến nó thành một lựa chọn thuận tiện và an toàn cho các tài khoản thường xuyên truy cập. Tuy nhiên, để được bảo vệ mạnh mẽ hơn nữa chống lại lừa đảo, các phương thức dựa trên phần cứng như FIDO2/mã khóa sẽ tiến xa hơn bất kỳ phương thức OTP nào.
Lưu trữ mật khẩu và tạo OTP một cách an toàn
Quản lý mật khẩu và mã xác thực TOTP có thể là một rắc rối — việc chuyển đổi ứng dụng liên tục trong quá trình đăng nhập sẽ làm giảm lượng thời gian vốn đã hạn hẹp để nhập mã. Proton Pass là một trình quản lý mật khẩu an toàn giúp giảm bớt sự bất tiện này nhờ tính năng tích hợp 2FA (TOTP). Truy cập mật khẩu, mã 2FA và các thông tin khác từ một kho lưu trữ an toàn, đã mã hóa.






