One-Time password viết tắt là OTP hay được gọi theo một cách khác là PIN. Xác thực OTP còn được biết đến với cái tên là 2-Step Verification. OTP được dùng cho một phiên (session) hoặc một giao dịch (transaction); được sử dụng cho hệ thống máy tính hoặc thiết bị điện tử khác. OTP được sử dụng để tăng cường hoặc thay thế cho phương thức chứng thực tĩnh, password cơ bản (password-based authentication).
Với phương pháp chứng thực password-based authentication, thì người dùng chỉ cần một Username và Password để đăng nhập. Điểm yếu của phương thức này chính là Password là cố định; password chỉ thay đổi khi người dùng thực hiện thay đổi. Điều này làm cho phương thức chứng thực này trở nên yếu do password có thể bị lộ hoặc bị dò nếu người dùng tạo password yếu. OTP ra đời để khắc phục nhược điểm của password-based authentication.
Thông thường, OTP có 6 chữ sốđược sinh ra ngẫu nhiên và tự thay đổi trong 30 đến 60 giây. Điều đó có nghĩa là không ai có thể đoán trước mã OTP tiếp theo là gì. Chỉ có người sở hữu mới nhìn thấy và sử dụng được mã OTP. Thời gian giá trị của OTP còn có thể phụ thuộc vào nó sẽ được thiết lập như thế nào.
Các phương thức phân phối OTP:
- Điện thoại:
- OTP sẽ được cung cấp thông qua tin nhắn SMS hoặc một cuộc gọi từ hệ thống đến điện thoại của bạn.
-
- Trên các điện thoại thông minh, bạn có thể dùng các ứng dụng như Google Autheticator, Microsoft Authenticator hoặc các ứng dụng của nhà cung cấp khác mà hệ thống chứng thực của bạn đang sử dụng.
-
- Một số ứng dụng như Microsoft Authenticator cho phép người dùng xác nhận đơn giản bằng cách chọn Approve để qua bước xác thực, thay vì phải nhập mã OTP như bình thường. Nhược điểm của cách thức này là điện thoại bạn phải có internet thì quá trình xác thực mơi thực hiện được.
- Sử dụng Token:
- Đây là thiết bị được đóng gói gồm mạch điện tử và màn hình hiển thị OTP. Điển hình và nổi tiếng chúng ta có thể thấy đó chính là token của RSA Security’s SecurID. Có rất nhiều hệ thống khách nhau ở dạng này, tùy thuộc ứng dụng bạn đang dùng sử dụng hệ thống nào.
-
- Một dạng khác là USB token như YubiKey của Yubico. Ở dạng nay, các thông tin xác thực đã được chứa trong USB, người dùng chỉ cần cắm thiết bị vào máy tính, giao dịch sẽ được tử động xác thực.
-
- Ở mức độ hiện đại hơn, ngày nay các token, còn được tích hợp bàn phím cho phép người dùng tự tạo mã xác thực.
- Web-based:
- Phương thức này cung cấp mã OTP không cần token hay sử dụng OTP trên điện thoại. Khi bạn đăng ký hoặc đăng nhập vào một website nào đó, nó sẽ tự động sinh ra một hình ảnh chứa các ký tự hoặc bạn phải chọn một loạt hình ảnh theo chủ đề để xác thực.
- Phương thức này chỉ có ý nghĩa khi người quản trị hệ thống muốn xác thực bạn không phải là robot và các cuộc tấn công bằng phương pháp dò mật khẩu tự động.
- Hardcopy (bản cứng):
- OTP được cung cấp cho khách hàng qua một tờ giấy in được niêm phong trong phong bì kín.
- OTP dạng này cũng có thể được cung cấp bằng một thẻ, trên đó có in mã OTP và được bao phủ bởi một lớp làm mờ, người sử dụng phải cào lớp làm mờ để lấy được mã OTP.
Để thực hiện được xác thực OTP, ứng dụng triển khai phải được hỗ trợ tính năng tích hợp các dịch vụ xác thực OTP.
Như vậy, chúng ta đã đi sơ lượt qua khái niệm OTP và các phương thức mà OTP được đưa đến người dùng cuối.
Để hiểu thêm về xác thực OTP trong thực tế và sử dụng như thế nào, bạn có thể xem các bài viết sau: