Mật khẩu OTP có giúp tài khoản trực tuyến an toàn tuyệt đối trước hacker?
(Dân trí) - OTP (One-time Password) là loại password ngẫu nhiên chỉ sử dụng được một lần, được xem là một trong những giải pháp hiệu quả nhất để bảo vệ an toàn cho tài khoản trực tuyến của người dùng. Nhưng liệu OTP có thực sự an toàn như nhiều người vẫn nghĩ?
OTP là gì?
OTP (One-time Password), còn được xem là mật khẩu động hoặc mật khẩu dùng một lần, là một chuỗi các số hoặc chữ (thường có tối đa 6 ký tự) được khởi tạo một cách tự động và chỉ có hiệu lực sử dụng một lần duy nhất, cho một lần đăng nhập tài khoản trực tuyến hoặc thực hiện một giao dịch trực tuyến nào đó (chẳng hạn chuyển tiền qua ngân hàng hoặc các dịch vụ thanh toán trực tuyến...).
OTP được ra đời để khắc phục nhược điểm của mật khẩu tĩnh (mật khẩu thông thường được người dùng sử dụng để đăng nhập tài khoản trực tuyến) vốn rất dễ bị hacker đánh cắp và chiếm đoạt. Mỗi OTP thường chỉ có giá trị sử dụng trong một thời gian ngắn (thường chỉ tối đa 3 phút) nên việc đánh cắp và sử dụng mật khẩu OTP ở những lần tiếp theo là vô ích.
Hiện tại, nhiều dịch vụ trực tuyến như hộp thư Gmail của Google hay mạng xã hội Facebook đang sử dụng OTP như một mật khẩu thứ 2 để bảo vệ tài khoản của người dùng. Với cơ chế bảo mật 2 bước bằng OTP, mỗi khi bạn đăng nhập vào hộp thư Gmail hoặc Facebook, quá trình không chỉ yêu cầu bạn điều mật khẩu của tài khoản, mà còn yêu cầu xác nhận thêm lớp mật khẩu thứ 2 (chính là OTP). Mật khẩu thứ 2 này sẽ gửi về điện thoại của người dùng dưới dạng tin nhắn. Người dùng phải khai báo đúng 2 mật khẩu (mật khẩu hộp thư và mật khẩu OTP) mới có thể đăng nhập vào tài khoản.
Tương tự, nhiều ngân hàng và dịch vụ thanh toán trực tuyến cũng sử dụng OTP như một lớp bảo mật thứ 2 để xác nhận mỗi khi người dùng thực hiện một giao dịch trực tuyến. Sau khi đăng nhập vào tài khoản ngân hàng trực tuyến, khi người dùng thực hiện các giao dịch, một OTP sẽ được gửi về số điện thoại (đã khai báo trước) của người dùng và họ phải điền mã OTP này để xác nhận các giao dịch.
Điều này đồng nghĩa với việc hacker có đánh cắp được thông tin đăng nhập hộp thư Gmail, tài khoản Facebook hay tài khoản ngân hàng cũng không thể đăng nhập vào các tài khoản này vì còn vướng lớp bảo mật thứ 2 bằng OTP. Nghĩa là hacker phải đánh cắp thông tin đăng nhập tài khoản trực tuyến của người dùng và lấy cắp điện thoại của họ để xem tin nhắn OTP mới có thể thực hiện được hành vi của mình.
Người dùng nhận mã OTP như thế nào?
Hiện tại có khá nhiều cách khác nhau để nhận mật khẩu OTP mỗi khi đăng nhập vào tài khoản hoặc thực hiện giao dịch trực tuyến. Dưới đây là những cách thức phổ biến nhất
Thông qua tin nhắn SMS trên điện thoại di động
Đây là cách thức được sử dụng phổ biến nhất. Mỗi khi người dùng đăng nhập vào tài khoản trực tuyến hoặc thực hiện giao dịch trên ngân hàng trực tuyến, một mật khẩu OTP sẽ được gửi về số điện thoại di động của họ (số điện thoại đã được xác nhận từ trước) và người dùng phải điền chính xác mã OTP này mới có thể đăng nhập vào tài khoản hoặc thực hiện giao dịch.
Hạn chế của cách thức này đó là nếu người dùng đi ra nước ngoài mà không sử dụng dịch vụ roaming (chuyển vùng quốc tế) hoặc để quên điện thoại ở nhà, điện thoại hết pin, mất sóng... thì không thể nhận được OTP để đăng nhập tài khoản hoặc thực hiện giao dịch.
Nhận OTP thông qua email
Một số dịch vụ trực tuyến và ngân hàng thay vì gửi OTP qua điện thoại di động thì sẽ cho phép người dùng chọn khai báo một địa chỉ email thứ 2 của mình, từ đó sử dụng địa chỉ email này để nhận mã OTP mỗi khi đăng nhập tài khoản hoặc thực hiện giao dịch trực tuyến.
Ứng dụng tự phát sinh mã OTP (SmartOTP)
Thay vì phải chờ OTP được gửi về từ máy chủ, nhiều dịch vụ trực tuyến (trong đó có Google) và các ngân hàng (tại Việt Nam có hai ngân hàng Vietcombank và TPBank) cho phép người dùng cài đặt một ứng dụng trên smartphone hoặc máy tính bảng của mình.
Với hình thức này, ứng dụng sẽ tự động phát sinh mã OTP và thông thường mã OTP sẽ được làm mới sau khoảng 30 giây đến một phút. Mỗi khi đăng nhập vào tài khoản trực tuyến (hộp thư Gmail hoặc tài khoản ngân hàng), người dùng không cần phải chờ tin nhắn hoặc email chứ OTP như 2 cách thức kể trên, mà sử dụng những đoạn mã do ứng dụng khởi tạo để đăng nhập hoặc thực hiện giao dịch.
Ứng dụng này có thể hoạt động ngay cả khi không có sóng điện thoại và không có kết nối Internet.
Tuy nhiên, để sử dụng ứng dụng này, người dùng cần phải xác nhận thiết bị đã cài đặt ứng dụng với nhà cung cấp dịch vụ (Google hoặc các ngân hàng), bằng cách nhập một mã OTP được gửi đến đầu tiên hoặc quét một đoạn mã xác nhận thiết bị. Ứng dụng này chỉ được cài đặt và sử dụng trên một thiết bị đã được xác nhận.
Thiết bị phát sinh mã OTP (Token Card)
Thay vì phải cài đặt ứng dụng, Token Card là một thiết bị điện tử có thiết kế nhỏ gọn, sẽ tự động tạo các dãy số ngẫu nhiên (mã OTP) và thay đổi liên tục trong một khoảng thời gian nhất định (thường từ 30 giây đến một phút).
Mỗi tài khoản trực tuyến hoặc tài khoản ngân hàng sẽ chỉ được liên kết đến một Token Card duy nhất. Nhược điểm của Token Card đó là nhỏ gọn nên dễ bị thất lạc cũng như dễ bị đánh cắp.
OTP được in sẵn
Tại một số quốc gia, ngân hàng sẽ gửi cho khách hàng của mình một tờ giấy được in sẵn các mật khẩu OTP, hoặc một tấm card với số OTP được in dưới dạng thẻ cào. Khi thực hiện các giao dịch trực tuyến, người dùng có thể nhập một trong các số OTP trong giấy để xác nhận và OTP đã sử dụng sẽ lập tức bị vô hiệu hóa.
Dù vậy hiện tại cách thức này đã không còn phổ biến do nguy cơ bị lấy cắp giấy chứa OTP và dần được thay thế bằng hình thức gửi OTP qua tin nhắn SMS.
Bảo vệ tài khoản trực tuyến bằng OTP có an toàn tuyệt đối?
Một điều cần làm rõ, không hề có khái niệm “an toàn tuyệt đối” trong bảo mật. Mọi hệ thống đều tồn tại những lỗ hổng chưa được khai thác và việc sử dụng mật khẩu OTP để bảo vệ tài khoản, giao dịch trực tuyến cũng không là ngoại lệ.
Về cơ bản, OTP sẽ khiến hacker khó có thể xâm nhập vào tài khoản của người dùng hơn, nhưng không phải là không thể. Từ những cách phát sinh mã OTP đã giới thiệu ở trên đều có thể dễ dàng nhận ra những lỗ hổng để có thể khai thác nhằm lấy cắp mã OTP.
Chẳng hạn với biện pháp nhận mã OTP qua tin nhắn SMS. Nếu thiết bị của người bị nhiễm mã độc gián điệp, có khả năng đọc tin nhắn từ xa (hiện có khá nhiều loại mã độc hoặc ứng dụng gián điệp có thể thực hiện điều này), hacker không quá khó khăn để có thể đọc được tin nhắn chứa mã OTP được gửi đến để lấy cắp thông tin.