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 là giải pháp được ra đời để khắc phục hạn chế của mật khẩu tĩnh
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.
Ứng dụng tự phát sinh mã OTP cho hộp thư Gmail
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ột Token Card được đi kèm một tài khoản nhất định
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.
smartphone
Tin tặc có thể cài ứng dụng gián điệp đọc trộm tin nhắn để lấy cắp OTP từ email của người dùng
Đặc biệt, trong trường hợp hacker đã lấy được mật khẩu đăng nhập tài khoản và cài thành công ứng dụng gián điệp lên thiết bị của người dùng, chúng có thể đăng nhập vào tài khoản và tự lấy mã OTP mà người dùng không hay biết (lợi dụng thời điểm đêm khuya, khi người dùng đã ngủ say và không còn sử dụng điện thoại nên không lưu ý tin nhắn gửi đến).
Tương tự, với cách thức gửi mã OTP qua email, nếu hacker đã hack và chiếm đoạt thành công một tài khoản trực tuyến của người dùng, nhiều khả năng máy tính của nạn nhân sẽ bị cài đặt sẵn phần mềm gián điệp, từ đó việc chiếm đoạt tài khoản email thứ hai là điều không quá khó khăn. Tương tự như trên, hacker có thể tự nhận mã OTP qua khởi để rồi từ đó xâm nhập vào tài khoản hoặc thực hiện các giao dịch trực tuyến.
Với cách thức sử dụng các ứng dụng tạo mã OTP (Smart OTP), hacker sẽ gặp khó khăn hơn do ứng dụng đã được cài đặt và “đóng đinh” với một thiết bị duy nhất. Việc cài đặt ứng dụng tương tự và chuyển sang sử dụng ứng dụng trên một thiết bị khác thường khá phức tạp.
Dù vậy, trên lý thuyết, nếu ứng dụng smartphone tạo mã OTP có chứa các lỗ hổng bảo mật, hacker vẫn có thể khai thác để lấy cắp mã OTP do ứng dụng này tạo ra. Ngoài ra, nếu khởi có cài đặt ứng dụng smart OTP không được bảo vệ bằng mật khẩu, một người ở gần nạn nhân vẫn có thể lấy cắp điện thoại để lén xem mã OTP do ứng dụng cắp tên tạo để sử dụng cho mục đích bất chính.
Lời kết
Không một giải pháp bảo mật nào là an toàn tuyệt đối, do vậy, hơn ai hết người dùng phải trang bị những kiến thức cơ bản để bảo vệ an toàn cho bản thân trên thế giới Internet. Việc lấy cắp mật khẩu OTP chỉ là bước thứ 2 mà hacker cần thực hiện, việc đầu tiên đó là lấy email và mật khẩu đăng nhập vào các tài khoản trực tuyến. Do vậy, điều cần thiết đó là người dùng cần phải bảo vệ an toàn cho tài khoản trực tuyến của mình.
Một trang web giả mạo giao diện Facebook, yêu cầu người dùng điền thông tin đăng nhập Facebook để lấy cắp tài khoản
Để thực hiện điều này, người dùng tuyệt đối không kích vào các đường link lạ hoặc các file đính kèm được gửi đến (thông qua email hoặc qua các phần mềm chat), cho dù đó là các nội dung được gửi đến từ người quen hoặc người thân, bởi rất có thể tài khoản của họ đã bị hacker chiếm đoạt và lợi dụng để phát tán mã độc.
Trước khi đăng nhập vào các tài khoản trực tuyến cần kiểm tra kỹ đường link của trang web mình sẽ điền thông tin đăng nhập, bởi lẽ rất có thể hacker đã giả mạo trang web, với giao diện giống hệt trang web thật, nhưng khi điền thông tin đăng nhập lập tức sẽ bị hacker chiếm đoạt tài khoản.
Một điều cũng cần hết sức lưu ý đó là tuyệt đối không cung cấp thông tin đăng nhập tài khoản trực tuyến, mã OTP hoặc các thông tin cá nhân cho người khác thông qua mạng Internet (qua hoặc qua phần mềm chat), bởi lẽ đó rất có thể là hacker đang lợi dụng để khai thác thông tin từ người dùng.
Thế giới mạng luôn ẩn chứa những hiểm nguy rình rập và người dùng cần phải có những kiến thức cơ bản để tự bảo vệ mình trước những mánh khóe ngày càng tinh vi của giới tin tặc để tránh những thiệt hại không đáng có.