Có hai mô hình riêng biệt. Với VPN truy cập từ xa, một thiết bị kết nối tới cổng từ xa như dịch vụ cá nhân. Với VPN site-to-site, hai mạng riêng được nối bằng đường hầm thường trực, không cần từng người tự kết nối. Để đặt các kiến trúc này cạnh công cụ khác, xem khác biệt giữa Tor, proxy và VPN.
Định nghĩa chính thức và vị trí trong mạng
Các thành phần của VPN
VPN là mạng logic được mã hóa, tạo trên một mạng IP không được coi là đáng tin. Đóng gói mật mã kèm xác thực bảo vệ tính bí mật và toàn vẹn khi truyền. Nó không thay đổi mạng vật lý mà thêm một lớp ảo lên trên.
Năm thành phần chính gồm:
- Đầu cuối khách: thiết bị tạo giao diện ảo.
- Cổng VPN: máy chủ nhận và kết thúc đường hầm.
- Đường hầm: kênh mã hóa được chở qua UDP hoặc TCP.
- Đóng gói: đặt gói tin gốc vào trong gói tin khác.
- Thương lượng mật mã: tạo bí mật chung và đổi khóa, lý tưởng có Perfect Forward Secrecy.
Truy cập từ xa và site-to-site
Trong mô hình truy cập từ xa, ứng dụng thay đổi bảng định tuyến và gửi lưu lượng tới máy chủ. Dịch vụ được truy cập nhìn thấy IP công khai của cổng đó. Đây là mô hình VPN cá nhân quen thuộc.
Trong mô hình site-to-site, hai mạng hoàn chỉnh liên lạc với nhau. Thiết bị riêng lẻ không phải tạo đường hầm; mọi thiết bị được phép ở mạng này có thể tới tài nguyên của mạng kia. Mô hình thường dùng IPsec/IKEv2 để nối văn phòng, trung tâm dữ liệu hoặc mạng cục bộ với dịch vụ cloud.
Giao diện TUN và TAP trong mô hình OSI
Dịch vụ cá nhân gần như luôn hoạt động ở lớp 3 qua giao diện TUN, mang gói IP. Giao diện TAP hoạt động ở lớp 2, có thể mang toàn bộ khung Ethernet khi cần cầu nối mạng hoặc lưu lượng không phải IP.
VPN không tác động bên trong ứng dụng. Thay đổi chính nằm ở thương lượng khóa, đóng gói, định tuyến và dịch địa chỉ tại máy chủ.
[Thiết bị]
|
[Ứng dụng VPN] ← thương lượng và mã hóa
|
[Đường hầm mã hóa qua UDP hoặc TCP]
|
[Internet] ← nhà cung cấp thấy một luồng mã hóa
|
[Máy chủ VPN] ← giải mã và NAT
|
[Trang hoặc dịch vụ đích]
Kiến trúc mạng
Giao diện ảo
Khi kết nối được thiết lập, hệ thống tạo giao diện mạng ảo như tun0 trên Linux hoặc utun trên macOS, với IP riêng. Sau đó các tuyến được thêm vào để lưu lượng được chọn không đi trực tiếp qua cổng cục bộ.
Đóng gói, MTU và độ trễ
Đóng gói đặt gói IP hiện có trong một gói khác và mã hóa nội dung bằng thuật toán có xác thực như AES-GCM hoặc ChaCha20-Poly1305. Việc này tạo dữ liệu phụ. Trên Ethernet có MTU 1500 byte, MTU hữu dụng trong đường hầm thường khoảng 1420–1440 byte, tùy giao thức và cấu hình.
MTU sai có thể làm phân mảnh gói, gây mất dữ liệu hoặc giảm hiệu năng. Mã hóa dùng tài nguyên CPU và đường vòng qua máy chủ tăng độ trễ. Chênh lệch có thể từ vài tới hàng chục mili giây tùy thiết bị, thuật toán và tuyến.
Khi ứng dụng dùng TCP trong VPN mà bản thân đường hầm cũng chạy trên TCP, cả hai lớp có thể cùng truyền lại. Hiện tượng TCP trên TCP làm tăng nghẽn và bất ổn trên mạng mất gói, nên UDP được ưu tiên khi mạng cho phép.
Định tuyến
- Đường hầm toàn phần: mọi lưu lượng đi qua VPN.
- Đường hầm phân chia: chỉ ứng dụng hoặc tuyến được chọn dùng VPN.
Split tunneling cấu hình sai có thể để lưu lượng đi ngoài bảo vệ hoặc gây rò rỉ DNS.
Dịch địa chỉ
Tại cổng, lưu lượng khách được che sau IP máy chủ bằng dịch địa chỉ nguồn như SNAT. Dịch vụ ngoài thấy IP máy chủ thay vì IP thiết bị. Sự tách biệt này không xóa danh tính tài khoản, cookie hay mã nhận diện ứng dụng khác.
Phạm vi niềm tin và giới hạn
Niềm tin được chuyển đi
Không có VPN, nhà cung cấp Internet có thể quan sát điểm đến, truy vấn DNS, thời gian, khối lượng và siêu dữ liệu khác. Có VPN, họ chủ yếu thấy một đường hầm mã hóa, trong khi cổng VPN có thể quan sát kết nối đi ra và cấu trúc chung của lưu lượng mà nó xử lý.
VPN không loại bỏ niềm tin mà thay đổi bên nhận niềm tin. Lựa chọn phải xét khu vực pháp lý, nghĩa vụ luật, chính sách nhật ký, kiểm toán và mô hình kinh doanh. Xem thêm cách đánh giá độ tin cậy của VPN.
Giới hạn cấu trúc
VPN thay IP hiển thị nhưng không đổi danh tính tài khoản, token phiên hoặc cookie. Nó cũng không tự thay dấu vân tay trình duyệt: user agent, độ phân giải, ngôn ngữ, múi giờ, phông chữ, WebGL và thông số khác vẫn phân biệt được thiết bị.
Đối thủ quan sát đồng thời đầu vào và đầu ra có thể so sánh thời gian, khối lượng và mẫu lưu lượng. Kịch bản này đòi quyền truy cập cả hai đầu, chẳng hạn giám sát có mục tiêu hoặc hạ tầng bị xâm nhập. VPN thương mại không đủ trước đối thủ kiểm soát cả hai phía.
Các mô hình đe dọa thực tế
Lớp bảo vệ cấu trúc
- Chống quan sát cục bộ trên Wi-Fi công cộng hoặc không đáng tin.
- Giảm khả năng nhà cung cấp Internet nhìn thấy điểm đến.
- Có thể vượt một số chặn dựa trên DNS hoặc IP.
Nếu mạng dùng kiểm tra gói chuyên sâu hoặc thăm dò chủ động, có thể cần làm rối, phương thức truyền ngụy trang hoặc công cụ như Shadowsocks.
VPN không bảo vệ gì?
- Không cung cấp ẩn danh phân tán như Tor.
- Không ngăn tương quan nếu đối thủ quan sát hai đầu.
- Không xóa danh tính ứng dụng hay tài khoản.
- Không bảo vệ máy tính hoặc điện thoại đã bị xâm nhập.
VPN bảo vệ một phần quá trình vận chuyển mạng, không thay bảo mật tổng thể của thiết bị hay thực hành riêng tư của từng dịch vụ.
Kết luận
Mạng riêng ảo là giải pháp kỹ thuật để bảo vệ dữ liệu khi truyền trên mạng không đáng tin. Nó hữu ích trước quan sát cục bộ, khả năng giám sát của nhà cung cấp Internet và một số chặn, nhưng không xóa danh tính số và không tạo ẩn danh hoàn toàn.
VPN chuyển niềm tin từ nhà cung cấp Internet sang nhà cung cấp VPN. Quyết định này cần dựa trên tiêu chí kiểm chứng được: giao thức, Perfect Forward Secrecy, kiểm toán, hạ tầng, khu vực pháp lý và cách lưu nhật ký. Xem tổng quan giao thức VPN; với ẩn danh phân tán, kiến trúc phù hợp là Tor; với trung gian cấp ứng dụng, proxy có thể phù hợp hơn.