Como los OTP de Lampport no requieren un secreto compartido, es extremadamente factible usarlos, especialmente cuando los servicios requieren una autenticación sucesiva.
Supongamos lo siguiente
A = Hash(B)
B = Hash(C)
.
.
.
Y = Hash(Z)
Toda la cadena de hash anterior se generará en el cliente y se almacenará. Los intercambios entre el cliente y el servidor serán los siguientes.
[Client] -----------A-----------> [Server] Stores A
[Client] -----------B-----------> [Server] Verifies if Hash(B) == A; If yes, authenticates and discard A and stores B. If No, authentication failure.
[Client] -----------C-----------> [Server] Verifies if Hash(C) == B; If yes, authenticates and discard B and stores C. If No, authentication failure.
Y respondiendo a su pregunta, aquí está un ejemplo sobre cómo se utilizan las OTP de Lamport para proteger las interacciones de servicio al cliente.