Xác thực khơng mật mã nói chung thích hợp trong những ngày trước khi có Internet, khi người dùng có thể chắc chắn rằng hệ thống yêu cầu mật khẩu đã thực sự là hệ thống mà họ đang cố gắng để truy cập, và khơng ai có khả năng nghe trộm trên các đường truyền để lấy các mật khẩu được nhập vào. Để giải quyết vấn đề này chúng ta cần phải có một cách tiếp cận khác phức tạp hơn. Nhiều giải pháp liên quan đến mật mã xác thực hai chiều, trong đó cả người sử dụng và hệ thống phải dùng một phương pháp thuyết phục khác mà họ biết có thể chia sẻ bí mật (mật khẩu), mà khơng bao giờ bí mật này được truyền đi một cách rõ ràng trên các đường truyền.
Một trong những phương pháp được thực hiện liên quan đến việc sử dụng mật khẩu đó là một bên mã hóa một số thơng tin ngẫu nhiên nhằm tạo ra các thách thức (challenge), sau đó, đầu kia phải hồi đáp lại một trả lời (response) một giá trị tương tự như mã hóa là một số chức năng được xác định trước các thơng tin ban đầu được cung cấp, do đó chứng minh rằng nó đã có thể giải mã các thử thách.
Ví dụ, trong hệ Kerberos thách thức là một số nguyên mã hóa N, trong khi
trả lời là số nguyên mã hóa N + 1, chứng minh rằng bên kia đã có thể giải mã các số nguyên N. Trong các biến thể khác, một hàm băm hoạt động trên một mật khẩu và một giá trị thách thức ngẫu nhiên để tạo ra một giá trị mới.
Việc trao đổi các giá trị được mã hóa hoặc giá trị băm đó khơng trực tiếp tiết lộ mật khẩu để người tấn cơng có thể đánh cắp được. Tuy nhiên, các trao đổi thể cung cấp đủ thông tin cho phép một người tấn cơng suy ra mật khẩu là gì, sử dụng một cuộc tấn cơng dựa trên từ điển hoặc kiểu vét cạn. Việc sử dụng các thông tin
được tạo ra ngẫu nhiên trên mỗi sàn chứng khốn có thể bảo vệ chống lại khả năng bị tấn công phát lại (replay attack).
2.5. Các phương pháp chuyển giao OTP
2.5.1. Chuyển giao OTP bằng giấy
Trong một số trường hợp, mật khẩu OTP cũng được in ra giấy, với mỗi giao dịch trực tuyến, người dùng được yêu cầu nhập một giá trị OTP cụ thể từ danh sách đã in sẵn.