Không có khả năng của kẻ tấn công được xác định rõ ràng cũng như không đảm bảo an ninh cho các thành phần khác nhau (mã hóa khóa công khai, hàm băm, v.v.). Không dễ để nói liệu giao thức này có "có thể đính kèm" hay không.
Vì chúng ta được "toàn quyền chọn lựa", tôi sẽ trình bày hai cuộc tấn công PITM dựa trên các mô hình tấn công và bảo mật khác nhau.
Mô hình kẻ tấn công chung: Tôi cho rằng kẻ tấn công có toàn quyền kiểm soát mạng, họ có thể chèn, sắp xếp lại, sửa đổi và nếu không thì xóa tin nhắn. Hơn nữa, kẻ tấn công được phép "đăng ký" người dùng mới bất cứ lúc nào.
Cuộc tấn công 1: Liên kết sai danh tính và nhu cầu PKE an toàn hơn CPA
Như đã viết, có vẻ như giao thức phải được bảo mật miễn là sử dụng lược đồ PKE "an toàn". Tuy nhiên, khái niệm cơ bản về bảo mật như trong bảo mật ngữ nghĩa là không đủ. Ở cấp độ cao, khi kết thúc cuộc tấn công, $A$ nghĩ rằng họ đang nói chuyện với $B$, trong khi $B$ nghĩ rằng họ đang nói chuyện với kẻ tấn công nói $E$.
Để làm như vậy, chúng tôi sẽ hiển thị một PKE an toàn CPA mà cuộc tấn công có thể xảy ra. Để cho $\mathcal E$ là sơ đồ PKE "lai" (dựa trên mặt khác) trên chức năng cửa sập. Trường hợp mã hóa tin nhắn $m$ Dưới $pk$, đại khái bao gồm tạo ra một giá trị ngẫu nhiên $s$ sau đó tạo khóa mã hóa đối xứng $k = H(s)$. $k$ sau đó được sử dụng để mã hóa tin nhắn bằng thuật toán giống như mật mã dòng, tạo ra một bản mã $c$. Bản mã cuối cùng từ lược đồ PKE là $$\{m\}_{pk} = (enc_{PKE}(pk, s), c)$$
Cuộc tấn công hoạt động như sau.
- $ A\rightarrow B: c_1 = \{N_A,A\}_{pk(B)} $
- Kẻ tấn công chặn tin nhắn này, tạo một người dùng mới $E$, sửa đổi bản mã thành một giá trị $c_1'$ sao cho nó giải mã thành $N_A, E$. Điều này có thể xảy ra vì chúng tôi đang sử dụng mật mã luồng. (Ví dụ: chúng tôi cũng giả định rằng nonce và danh tính có độ dài cố định, v.v....)
- $B$ giải mã tin nhắn và dường như $E's$ danh tính do đó tin nhắn thứ hai được gửi đến $E$
- $B \rightarrow E: c_2 = \{N_A. N_B\}_{pk_E}$.
- $E$ giải mã $c_2$, và nhận được nonces.
- $E \rightarrow A: c_2' = \{N_A, N_B\}_{pk_A}$
- $A \rightarrow B: c_3 = H(N_B, A, B)$
- $E$ xen kẽ giọt $c_3$ và gửi $c_3' = H(N_B, E, B)$
Từ dòng chảy trên, quan điểm của $A$ giống như khi nó tương tác với $B$, trong khi quan điểm của $B$ như thể nó tương tác với $E$.
Tấn công 2: Phơi bày bí mật dài hạn và Tính toàn vẹn của thỏa hiệp khóa
Ở đây khả năng của kẻ tấn công được củng cố và chúng tôi cho phép thỏa hiệp các khóa bí mật dài hạn. Bây giờ rõ ràng, nếu $sk_A$ bị xâm phạm (và $A$ vẫn chưa biết) kẻ tấn công có thể mạo danh $A$ tuỳ ý; tuy nhiên có vẻ như bình thường để mong đợi rằng nếu $A$ chạy một phiên với một trung thực $B$, $A$ nên có sự đảm bảo về người mà cô ấy đã nói chuyện. Tuy nhiên trong cuộc tấn công này, sự thỏa hiệp của $sk_A$ ngụ ý rằng kẻ tấn công có thể mạo danh bất kỳ ai đối với $A$.
Ý tưởng cơ bản như trên là kẻ tấn công PITM sẽ có thể giải mã thông báo thứ hai $\{N_A, N_B\}_{pk_A}$. Kẻ tấn công bây giờ có thể kết thúc tương tác với $A$ và "cắt dây" về phía B. Kết quả là, $A$ nghĩ rằng họ đang nói chuyện $B$ trong khi thực tế là nói chuyện với B.