Vì vậy, tôi ở đây, tra cứu bộ não của mình về khả năng mạo danh của kẻ tấn công MITM trên Sơ đồ mật khẩu một lần của Lamport.
Đây là kịch bản của tôi:
Giả sử chúng tôi có thiết lập máy khách và máy chủ. Đưa ra một nonce $n$, và một hàm băm $h()$, một khách hàng tính toán hàm băm của $n$ nhiều lần (nói $100$) và gửi lần đầu tiên $H^{(100)}$ ở đâu $H^{(100)}=h^{(100)}(n)$. Đầu tiên, làm cách nào để máy chủ xác thực danh tính của máy khách đối với giá trị do máy khách cung cấp đầu tiên, $H^{(100)}$? Chữ ký số/chứng chỉ?
Để xác thực tiếp theo, khách hàng sẽ gửi $H^{(99)}$ và máy chủ tính toán $h(H^{(100)})$ và nếu phép tính khớp với giá trị do máy chủ nắm giữ (nghĩa là $H^{(100)}$), máy chủ xác thực máy khách.
Bây giờ, giả sử có một kẻ tấn công đang ở giữa cuộc giao tiếp, liệu kẻ tấn công có thể chặn đơn giản không $H^{(99)}$ từ khách hàng và gửi $H^{(99)}$ đến máy chủ, do đó mạo danh máy khách chỉ cho phiên cụ thể này khi $i$ Là $99$. Điều này có nghĩa là máy chủ thay vì xác thực kẻ tấn công thay vì máy khách. Đây không phải là mạo danh có thể? Và nếu vậy, OTP của Lamport bảo vệ chống lại điều này như thế nào.
Sử dụng chữ ký điện tử hoặc mã hóa khóa công khai cho mọi phiên xác thực dường như không phải là ý tưởng của Lamport đối với việc sử dụng lược đồ OTP của mình. Hiểu biết của tôi về OTP của Lamport là nó sử dụng CHỈ các hàm băm.