Mã OTP là gì? Phân loại & cách sử dụng an toàn (2023)

OTP là gì?

Hiện nay những phương thức xác thực mới nhằm nâng cao sự an toàn cho các tài khoản trực tuyến được khuyến khích sử dụng, trong đó có mã OTP. Đây là cách thêm lớp bảo vệ thứ hai ngoài lớp mật khẩu nhằm tránh các cuộc tấn công dò mật khẩu. Hình thức này rất phổ biến và được yêu cầu trên hầu hết các website lớn hiện nay. Trong bài viết này cùng Tạp chí Crypto tìm hiểu về mã OTP là gì?

Mã OTP là gì?

Mã OTP (One-Time Password) là một hình thức xác thực hai lớp (2FA) rất phổ biến hiện nay giúp bảo vệ tài khoản của người dùng. Về cơ bản đây là những mã được tạo tự động bởi thuật toán mã hóa và tạo ra các dãy số ngẫu nhiên trong khoảng thời gian nhất định. Khi người dùng muốn truy cập vào tài khoản của mình, họ sẽ nhập mã OTP này để xác minh.

Mã OTP là cách xác thực phổ biến hiện nay được nhiều dịch vụ, website, ứng dụng sử dụng.
Mã OTP là cách xác thực phổ biến hiện nay được nhiều dịch vụ, website, ứng dụng sử dụng.

Mã OTP thường yêu cầu trong các ứng dụng trực tuyến, tài khoản và trong các giao dịch ngân hàng để đảm bảo hành vi thực hiện bởi người dùng. Hiện nay có nhiều loại mã OTP khác nhau, nhưng tất cả sẽ đều có chung một cơ chế là bảo vệ người dùng tốt hơn khỏi các cuộc tấn công mạng.

Xem thêm:

  • Yubikey là gì? Thiết bị xác thực mã OTP phần cứng an toàn.

Phân loại mã OTP

Time-based OTP

TOTP, chuẩn xác thực được nhiều ứng dụng Authenticator sử dụng.
TOTP, chuẩn xác thực được nhiều ứng dụng Authenticator sử dụng.

OTP theo thời gian (TOTP) là một loại mã OTP được tạo ra dựa trên thời gian, mỗi mã được tạo ra ngẫu nhiên có hạn trong khoảng 30 – 60 giây. Mã OTP này được ứng dụng nhiều trong các ứng dụng xác thực phổ biến như Google Authenticator, LastPass Authenticator…

Event-based OTP

Giao thức HOTP với việc bổ sung thêm secret key cho quá trình tạo OTP an toàn, bảo mật hơn.
Giao thức HOTP với việc bổ sung thêm secret key cho quá trình tạo OTP an toàn, bảo mật hơn.

OTP theo sự kiện (HOTP) là một thuật toán sinh mật khẩu dùng một lần (OTP – one-time password) dựa trên mã xác thực tin nhắn theo hàm băm (HMAC). HOTP được tổ chức Internet Engineering Task Force (IETF) – nhóm chuyên trách kỹ thuật Internet công bố tại RFC 4226 tháng 12/2005 (RFC – Request for Comments).

Đây là một thuật toán được sử dụng phổ biến bởi rất nhiều công ty, một phần sự phổ biến đến từ việc HOTP là một tiêu chuẩn mở miễn phí.

OTP động (Dynamic OTP)

Dynamic OTP là một loại mã OTP động được tạo ra dựa trên một số yếu tố khác nhau, chẳng hạn như thời gian, số lượng lần sử dụng, hoặc một yếu tố bí mật khác. Phương thức này sẽ tạo mã như đúng tên gọi của chúng và tính toán mã thích hợp cho người dùng xác minh.

SMS OTP

Đây là hình thức xác minh mã OTP cổ xưa nhất xuất hiện thời kỳ đầu khi chưa có các chuẩn xác thực mới. Mặc dù hình thức này rất tốt trong giai đoạn đầu tiên nhưng tới nay chúng có thể dễ dàng bị thao túng. Vấn đề không phải nằm ở mã OTP kém bảo mật, nguyên nhân do SIM nhà mạng có thể bị chiếm quyền kiểm soát, rủi ro sim bị khóa do không sử dụng. Ngoài ra những SIM di động khi đi ra ngoài lãnh thổ hỗ trợ sẽ không thể sử dụng gây bất lợi cho người dùng.

SMS OTP là giao thức xác thực 2FA lâu đời nhất.
SMS OTP là giao thức xác thực 2FA lâu đời nhất.

Hình thức xác thực qua mã OTP SMS vấn còn được một số website, ứng dụng sử dụng làm biện pháp dự phòng. Với các giao dịch ngân hàng trong nước sẽ vấn còn một số nơi sử dụng mã OTP SMS để xác nhận giao dịch. Trong tương lai mã SMS sẽ không còn được sử dụng thường xuyên và bị thay thế bằng các chuẩn xác thực OTP mới an toàn hơn.

Smart OTP

Smart OTP trên ứng dụng ngân hàng của Vietcombank.
Smart OTP trên ứng dụng ngân hàng của Vietcombank.

Smart OTP là một loại mã OTP thông minh được tạo ra dựa trên nhiều yếu tố để tăng tính bảo mật và giảm thiểu việc bị giả mã OTP. Smart OTP được tích hợp trên các ứng dụng độc lập thường ứng dụng trong ngành ngân hàng để đảm bảo những giao dịch chuyển khoản an toàn, chính xác.

Loại mã OTPPhương thức tạo mãThời gian hiệu lựcCách sử dụngĐộ bảo mật
Time-based OTP (TOTP)Dựa trên thời gianThường là 30 giâyCần có điện thoại thông minh hoặc thiết bị xác thựcCao
Event-based OTP (HOTP)Dựa trên sự kiệnKhông giới hạn thời gianCần có thiết bị xác thựcCao
Dynamic OTPKết hợp cả TOTP và HOTPThường là 30 giâyCần có điện thoại thông minh hoặc thiết bị xác thựcCao
SMS OTPGửi mã OTP qua tin nhắn SMSThường là 5-10 phútCần có điện thoại di độngTrung bình
Smart OTPTạo mã OTP thông qua ứng dụng trên điện thoạiThường là 30 giâyCần có điện thoại thông minhCao
Bảng so sánh tính năng giữa các loại xác thực OTP phổ biến hiện nay.

Ưu điểm của mã OTP

Bảo mật cao

Những mã OTP được đánh giá có tính bảo mật cao hơn so với các hình thức xác minh như mật khẩu truyền thống. Những mã này có tính bảo mật cao, tạo ra bởi các giao thức mới an toàn, giảm thiểu việc trùng lặp hoặc bị lộ trong việc xác thực.

Việc tích hợp chúng vào các ứng dụng và dịch vụ bạn sử dụng sẽ làm tăng khả năng bảo mật, giảm thiểu nguy cơ bị tấn công đánh cắp thông tin.

Tiện lợi

Mã OTP có thể lấy qua nhiều giao thức khác nhau như SM hoặc trên các ứng dụng tạo mã. Bạn có thể kết hợp các mã với nhau trên cùng một tài khoản để làm giải pháp dự phòng khi một giao thức gặp vấn đề. Ngoài ra, một số dòng khóa bảo mật USB có thể sử dụng những OTP này để đăng nhập mà không cần dùng mật khẩu.

Đa dạng

Có nhiều loại mã OTP khác nhau có thể được sử dụng tùy thuộc vào nhu cầu và yêu cầu của người dùng. Mỗi mã sẽ phù hợp với điều hiện hoàn cảnh khác nhau, ví dụ OTP sẽ không thể phù hợp cho người hay di chuyển xuyên quốc gia. Hoặc Smart OTP rất phù hợp với các ứng dụng ngân hàng, việc tích hợp trong cùng ứng dụng càng mang tới sự tiện lợi khi sử dụng.

Những nơi sử dụng mã OTP

Đăng nhập tài khoản ngân hàng

Hầu hết các hệ thống ngân hàng đều yêu cầu người dùng thêm các mã xác thực OTP vào tài khoản của mình. Đây là giao thức bắt buộc để giảm thiểu việc bị dò mật khẩu đăng nhập. Ngoài dùng đăng nhập, những mã này thường dùng để xác thực giao dịch chuyển tiền với giá trị lớn.

Đăng nhập Email

Các ứng dụng Email lớn như Gmail, Outlook… đều yêu cầu mã xác thực OTP cho tài khoản để tăng cường an ninh chống rò rỉ thông tin. Những email là nơi liên lạc trong công việc, chứa nhiều dữ liệu nhạy cảm nên OTP là phương thức xác thực hai lớp nên được tích hợp.

Đăng nhập các sàn giao dịch

Những sàn giao dịch tiền ảo, forex, chứng khoán cũng sử dụng những mã OTP để xác minh tài khoản người dùng. Đây là những nơi chứa tài sản lớn và yêu cầu khắt khe trong các phiên đăng nhập và giao dịch chuyển tiền.

Ngoài ra những mã OTP có thể thấy trong các ứng dụng trực tuyến, các website bán hàng, các mạng xã hội như Facebook, Twitter, Tiktok,…

Những ứng dụng tích hợp OTP

Google Authenticator

Google Authenticator là ứng dụng xác minh hai lớp phổ biến nhất hiện nay được Google phát triển và cung cấp miễn phí cho người dùng. Ứng dụng này sử dụng cơ chế mã hóa đối xứng (symmetric encryption) để tạo mã OTP. Khi sử dụng ứng dụng sẽ có một mã bí mật (secret key) được tạo ra ngẫu nhiên, mã này sẽ kết hợp vời thời gian trên thiết bị để tạo ra OTP.

Google Authenticator, ứng dụng tạo mã OTP có hơn 100 triệu người sử dụng.
Google Authenticator, ứng dụng tạo mã OTP có hơn 100 triệu người sử dụng.

Giao thức Google áp dụng cho ứng dụng an toàn, hiện tại hầu hết các dịch vụ, website đều hỗ trợ ứng dụng Google Authenticator làm phương thức xác thực.

Xem thêm: Google Authenticator là gì? Ứng dụng xác thực hai lớp phổ biến nhất.

Lastpass Authenticator

LastPass Authenticator là một ứng dụng tạo mã OTP do LastPass phát triển, được sử dụng để tạo mã xác thực cho các website, ứng dụng. Đây là ứng dụng tương tự như Google Authenticator những cải tiến thêm một số tính năng.

Lastpass Authenticator, ứng dụng xác thực đa năng hỗ trợ sao lưu tự động.
Lastpass Authenticator, ứng dụng xác thực đa năng hỗ trợ sao lưu tự động.

Cơ chế tạo mã OTP của LastPass Authenticator dựa trên khóa secret key kết hợp với thời gian tương tự như ứng dụng của Google. LastPass đã bổ sung thêm khả năng đồng bộ hóa, hoạt động trên nhiều thiết bị cũng như đồng bộ trực tuyến lên đám mây. Điều này sẽ đảm bảo việc tránh mất mã OTP khi ứng dụng bị gỡ đột ngột hay thiết bị bị hỏng.

USB xác thực Yubikey

YubiKey là một thiết bị xác thực hai lớp được sản xuất bởi công ty Yubico. Đây là thiết bị phần cứng trang bị nhiều chuẩn xác thực như FIDO U2F, FIDO2PIV giúp tạo ra mã OTP an toàn.

Một chiếc USB xác thực đăng nhập 2FA Yubikey của thương hiệu Yubico.
Một chiếc USB xác thực đăng nhập 2FA Yubikey của thương hiệu Yubico.

Hiện tại việc sử dụng các khóa bảo mật USB này là phương pháp an toàn nhất hiện nay để đảm bảo quá trình xác minh 2FA đạt sự bảo mật cao. Ngoài tạo mã OTP, Yubikey giúp bạn xác thực mật khẩu và chữ ký số khá tiện lợi, bạn không phải nhập mật khẩu khi đăng nhập.

Các ứng dụng hỗ trợ cũng đa dạng như Facebook, Google, Twitter…. và nhiều dịch vụ khác. Các dòng sản phẩm phổ biến của thương hiệu này phải kể tới như Yubikey 5 NFCYubikey 5Ci.

Cách để lấy mã OTP

Tùy thuộc vào từng loại mã OTP và thiết bị, ứng dụng khác nhau sẽ có những cách lấy mã khác nhau. Tuy nhiên mã cơ bản sẽ gồm các chữ số có độ dài từ 4 – 8 ký tự, độ dài hiệu lực mã cũng đa dạng từ 30 giây đến vài phút.

Cách lấy mã OTP để hỗ trợ đăng nhập hai bước trên các dịch vụ tích hợp.
Cách lấy mã OTP để hỗ trợ đăng nhập hai bước trên các dịch vụ tích hợp.

Với các giao thức xác thực như SMS, mã sẽ gửi về điện thoại và có hiệu lực dài thường trong khoảng 5 – 10 phút. Còn đối với các phương thức nhận mã OTP trên các ứng dụng thì thời gian thường là 30 giây, khi cần lấy mã bạn vào ứng dụng và copy mã dán vào nơi yêu cầu.

Nếu sử dụng phương thức lấy mã OTP thông qua các thiết bị phần cứng như Yubikey cần kết nối thiết bị với máy tính, điện thoại. Khi cần xác thực bạn nhấn nút trên Yubikey thì quá trình xác nhận sẽ diễn ra tự động mà không cần nhập mã.

Ngoài trừ mã SMS OTP hoặc Smart OTP, hầu hết các giao thức còn lại thời gian tạo mã diễn ra rất nhanh. Bạn cần đảm bảo thời gian lấy mã, điền vào khung xác thực 2FA kịp thời gian để hoàn thành.

Những lưu ý khi sử dụng mã OTP

Mã OTP rất phổ biến để xác thực tài khoản, tuy nhiên đây cũng là cách để tin tặc tận dụng nhằm chiếm đoạt quyền kiểm soát tài khoản. Để đảm bảo an toàn bạn cũng nên chút ý việc sử dụng mã OTP đúng cách như sau:

Bảo mật mã OTP

Bảo vệ mã OTP tránh bị lộ là cách tự đảm bảo an toàn cho các giao dịch, đăng nhập nào của bạn.
Bảo vệ mã OTP tránh bị lộ là cách tự đảm bảo an toàn cho các giao dịch, đăng nhập nào của bạn.

Những mã OTP được tạo ra để bảo vệ tài khoản khi bạn đăng nhập. Những mã này sẽ rất nguy hiểm nếu bị lộ, khi đó người lạ hoặc kẻ tấn công có quyền truy cập trái phép vào tài khoản hoặc ứng dụng.

Đó là lý do khiến những OTP trên các ứng dụng có thời gian tương đối ngắn, các giao thức như SMS ngày càng ít được sử dụng do chứa đựng nhiều rủi ro.

Không cài ứng dụng trên điện thoại không an toàn

Một chiếc điện thoại bị jailbreak hoặc bị root sẽ không còn trở nên an toàn, các tin tặc có thể can thiệp hoặc điều khiển điện thoại từ xa. Ngoài việc đảm bảo điện thoại an toàn bạn cũng không nên cài các ứng dụng OTP từ nguồn ngoài, chỉ nên tải ở các kho ứng dụng Google hoặc Apple.

Không gửi mã OTP qua Email

Những mã OTP là lớp bảo vệ cuối khi đăng nhập tài khoản hoặc xác nhận giao dịch, tuyệt đối không nên gửi qua email cho người khác. Các giao thức Smart OTP hoặc SMS OTP có thời gian hết hạn khá lâu (thường là vài phút) nên có thể phiên giao dịch hoặc phiên đăng nhập sẽ bị can thiệp nếu để lộ mã OTP.

Lưu trữ mã dự phòng

Rủi ro này thường xảy ra khi bạn gỡ ứng dụng đột ngột hoặc điện thoại bị hỏng hoặc mất cắp. Khi đó những dữ liệu trên ứng dụng sẽ bị xóa và không thể phục hồi. Hầu hết các ứng dụng Authenticator đều có trang bị khả năng xuất hoặc lưu trữ đám mấy, bạn nên bật các chức năng này lên.

Thường xuyên sao lưu mã OTP thường xuyên để dự phòng ứng dụng bị hỏng hoặc thiết bị lỗi.
Thường xuyên sao lưu mã OTP thường xuyên để dự phòng ứng dụng bị hỏng hoặc thiết bị lỗi.

Chú ý rằng những mã khôi phục này có thể phụ hồi trên một thiết bị mới, do đó bạn phải lưu trữ ở nơi an toàn, bảo mật và không thể bị truy cập trái phép.

Thường xuyên cập nhật ứng dụng tạo mã OTP

Những ứng dụng tạo OTP được các nhà phát triển tung ra phiên bản mới thường xuyên nhằm cập nhật các thuật toán và khả năng mã hóa. Để đảm bảo quá trình sử dụng ổn định và mã tạo ra đủ an toàn, bảo mật thì bạn nên cập nhật thường xuyên.

Kết luận

Mã OTP là cách xác thực cho tài khoản, giao dịch được an toàn hơn. Có nhiều loại khác nhau như Time-based OTP, Event-based OTP, Dynamic OTP, SMS OTP và Smart OTP nhưng điểm chung là tạo ra mã OTP đủ bảo mật.

Để an toàn bạn nên bật chức năng xác thực hai lớp trên các ứng dụng trực tuyến, ngân hàng, sàn giao dịch tiền ảo… để đảm bảo an toàn cho tài sản.

Một số câu hỏi thường gặp về mã OTP là gì?

Mã OTP là gì?

OTP viết tắt của One-Time Password (mật khẩu dùng một lần) là một mã sử dụng để xác minh danh tính cho các tài khoản, dịch vụ, giao dịch trực tuyến.

Có những phân loại mã OTP nào?

Hiện nay có các loại mã OTP phổ biến bao gồm: Time-based OTP (TOTP), Event-based OTP (HOTP), Dynamic OTP, SMS OTP và Smart OTP.

Mã OTP có an toàn không?

Mã OTP là giải pháp nâng cao bảo mật cho lớp mật khẩu, đây là giải pháp an toàn và được sử dụng phổ biến hiện nay. Tuy nhiên bạn nên đảm bảo các nguyên tắc bảo mật tránh bị tấn công khi sử dụng OTP.

Mất mã OTP có khôi phục được không?

Mã OTP thường tạo ra bởi các ứng dụng hoặc dịch vụ như Google Authenticator, LastPass Authenticator. Khi bị mất nếu có bản sau lưu sẽ phục hồi được dễ dàng.

Cách hoạt động của mã OTP?

Mã OTP được tạo ra bằng cách sử dụng một thuật toán dựa trên các secret key và thời gian hoặc sự kiện để tạo ra các mã ngẫu nhiên thường có thời gian hiệu lực trong 30 giây.

Hải Nguyễn