Ai đó có thể thấy IP của bạn trong ứng dụng chat? Mỗi người quan sát biết gì
Trong một cuộc chat chuyển tiếp, người gửi và đối tác mạng của bạn là hai thực thể khác nhau. Hãy tách riêng những gì dịch vụ thấy, những gì bạn thấy và những gì nhãn của ứng dụng hàm ý.
“Tôi đang nói chuyện với ai?” là hai câu hỏi trong một câu. Một câu về tài khoản đã viết tin nhắn, câu kia về chiếc máy ở đầu bên kia của kết nối mạng mà ứng dụng của bạn thực sự duy trì. Trong một cuộc chat chuyển tiếp, hai thứ đó gần như không bao giờ là cùng một thực thể, và chính sự khác biệt này giải thích phần lớn nhầm lẫn về việc VPN ẩn hay không ẩn điều gì với người bạn đang nhắn. Khi hiểu đúng cấu trúc mạng, câu hỏi về quyền riêng tư trở thành câu hỏi có câu trả lời thay vì cảm tính.
Ứng dụng của bạn nói chuyện với dịch vụ, không phải với người kia
Hãy hình dung một ứng dụng chat văn bản trong đó mỗi người tham gia kết nối tới dịch vụ và dịch vụ chuyển tin nhắn giữa các tài khoản. Ứng dụng của bạn giữ một kết nối tới dịch vụ; người tham gia kia giữ một kết nối riêng tới cùng dịch vụ đó. Tin nhắn đi từ ứng dụng của họ tới dịch vụ và từ dịch vụ tới ứng dụng của bạn, nghĩa là đối tác truyền tải của bạn là một điểm cuối của dịch vụ chứ không phải thiết bị của họ.
Alex's client -> chat service -> your clientMọi điều tiếp theo đều xuất phát từ một sơ đồ đó. Nhìn vào kết nối của chính bạn, bạn nhận ra dịch vụ chứ không phải Alex. Nhìn vào kết nối của Alex, bạn nhận ra dịch vụ từ phía bên kia. Không quan sát nào trong số này tự nó là bản ghi ở mức gói tin của thiết bị người kia, và dù bạn có kiểm tra lưu lượng của mình bao nhiêu thì điều đó cũng không đổi.
Những người quan sát khác nhau thu thập bằng chứng khác nhau
Dịch vụ ở vị thế mạnh hơn bất kỳ người tham gia nào vì nó kết thúc cả hai kết nối đồng thời biết tài khoản nào sở hữu kết nối nào. Nó lưu gì, trong bao lâu, ghép những bản ghi nào và tiết lộ cho ai là những câu hỏi riêng với câu trả lời riêng, và không câu nào được trả lời bằng “ứng dụng có mã hóa đầu cuối”.
Bạn, với tư cách người nhận, yếu về các sự kiện mạng nhưng mạnh về các sự kiện nội dung: văn bản tin nhắn, tên hiển thị, mọi thứ người gửi đã gõ hoặc đính kèm. Một người gửi tự gõ địa chỉ của mình là đã tiết lộ nó, và sự tiết lộ đó không phải là quan sát mạng dù nó đọc như vậy.
| Observer | Sees | Cannot conclude |
|---|---|---|
| You | Your connection to the service, message contents, sender-supplied details | The other client's source address |
| The other participant | Their connection, message contents, what the service attaches | Your source address |
| The service | Both connections, account mapping, delivery metadata | What it does not retain, or what leaves its boundary |
Nếu Alex kết nối qua VPN, dịch vụ có thể thấy địa chỉ đầu ra của kết nối đó thay vì địa chỉ nhà của Alex. Đó là phát biểu về những gì dịch vụ thấy. Nó không có nghĩa là địa chỉ đầu ra được trao cho bạn, và chắc chắn không có nghĩa là kết nối của chính bạn trở nên ẩn danh nhờ lựa chọn truyền tải của Alex.
Khi ứng dụng thực sự là ngang hàng
Mô hình chuyển tiếp là một mô hình, không phải định luật. Một số tính năng nhắn tin thiết lập đường đi trực tiếp giữa các ứng dụng, ví dụ kênh dữ liệu trong trình duyệt được thương lượng qua máy chủ tín hiệu, hoặc chế độ truyền tệp nối hai thiết bị để tránh chuyển tiếp dữ liệu lớn. Trong những trường hợp đó, đối tác truyền tải thực sự là thiết bị của người tham gia kia, và phân tích người quan sát thay đổi hoàn toàn.
Nhãn thân thiện của ứng dụng không đủ để cho bạn biết mình đang ở trường hợp nào. “Tin nhắn trực tiếp” mô tả ai đọc nó, không phải nó được truyền tải thế nào, và một tính năng gọi hoặc chia sẻ màn hình trong cùng ứng dụng có thể dùng cấu trúc mạng khác với luồng văn bản bên cạnh. Hãy đọc tài liệu của nhà cung cấp cho tính năng cụ thể, hoặc quan sát những kết nối mà ứng dụng của bạn mở ra khi dùng nó.
Phát biểu về mã hóa đầu cuối bao trùm việc ai có thể đọc nội dung được bảo vệ. Nó không nói gì về việc máy chủ nào chấp nhận kết nối, họ thấy siêu dữ liệu nào, hay có tồn tại đường đi trực tiếp hay không, và phần thảo luận trong RFC 6973 về năng lực của người quan sát là một kỷ luật hữu ích: hãy nêu tên người quan sát, rồi liệt kê những gì người quan sát đó thực sự có thể thu thập.
Điều này có ý nghĩa gì với VPN
VPN thay đổi những gì dịch vụ thấy về kết nối của bạn. Nó không thay đổi việc đối tác truyền tải của bạn là ai, và không cho người tham gia kia một góc nhìn mới về địa chỉ của bạn. Kỳ vọng VPN sẽ giấu bạn khỏi người bạn đang nhắn là một lỗi phân loại: ứng dụng của họ chưa bao giờ có kết nối tới ứng dụng của bạn.
Điều VPN có thể thay đổi là một tính năng đường đi trực tiếp. Nếu ứng dụng lẽ ra sẽ thương lượng một kết nối ngang hàng, việc đưa lưu lượng của bạn qua một đường hầm có thể buộc phải chuyển tiếp, và một số tính năng sẽ hành xử khác đi hoặc chuyển sang phương án dự phòng; đó là tác động thật, nhưng nó thuộc về cấu trúc mạng, không phải về việc biến mất khỏi cuộc trò chuyện.
Sau đó hãy giữ hai câu hỏi tách biệt trong mọi thứ bạn ghi lại. Tài khoản nào đã gửi điều này và điểm cuối nào đã mang nó đi. Trả lời rõ ràng cả hai, ghi lại ai có thể quan sát mỗi câu trả lời, và đừng gộp chúng thành một phán quyết duy nhất về việc một tin nhắn có thể bị truy vết hay không.