- KE: Khoá trao đổi dữ liệu cho trao đổi khoá DifferHelman
Chương IV Một số công nghệ an toàn bổ sung cho các mạng riêng ảo
4.3. Giao thức SOCKS
Một cổng mạch vòng tiếp nhận TCP cũng như các kết nối UPD và không cung cấp thêm bất kỳ tiến trình xử lý hoặc lọc gói nào. Một cổng mạch vòng là một loại đặc biệt của cổng nối mức ứng dụng. Điều này là bởi các cổng nối mức ứng dụng có thể được cấu hình để chuyển qua tất cả thông tin của một người dùng đã được xác thực, được xem như là cổng mạch vòng(xem hình 4.7). Tuy nhiên trong thực hành, có sự khác nhau đáng kể giữa chúng:
- Các cổng mạch vòng có thể sử dụng một số ứng dụng TCP/IP cũng như các ứng dụng UDP mà không phải sửa đổi gì trên Client cho mỗi ứng dụng. Như vậy, điều này làm cho các cổng mạch vòng trở thành một lựa chọn tốt để thoã mãn các yêu cầu của người dùng.
- Các cổng mạch vòng không cung cấp xử lý hoặc lọc gói. Như vậy một cổng nối dạng này thường xem như một cổng nối trong suốt.
- Các cổng nối mức ứng dụng thiếu hỗ trợ UDP.
- Các cổng mạch vòng thường được dùng cho các kết nối hướng ngoại, trong khi các cổng nối mức ứng dụng thường được dùng cho cả kết nối hướng ngoại và hướng ngoại.. Thông thường, trong trường hợp sử dụng kết hợp cả 2 loại, cổng mạch vòng thườngđược dùng cho các kết nối hướng ngoại còn cổng nối mức ứng dụng được dùng cho các kết nối hướng nội để thoả mãn yêu cầu bảo mật và yêu cầu của người dùng.
Một ví dụ dễ hiểu về cổng mạch vòng là SOCKS. Vì dữ liệu đi qua SOCKS không được giám sát hoặc lọc, một vấn đề bảo mật có thể nảy sinh. Để tối thiểu hoá các vấnđề bảo mật, các tài nguyên và dịch vụ tin cậy nên được dùng cho mạng ngoài (mạng không an toàn)
Hình 4.7 Cổng mạch vòng
SOCKS là một chuẩn cho các cổng mạch vòng. Nó không yêu cầu overhead của nhiều hơn một Server uỷ quyền thông thường trong đó một người dùng phải chủ ý kết nối trước hết là tới firewall trước khi có yêu cầu thứ 2 là kết nối tớiđích. Người dùng khởi động một ứng dụng phía Client với địa chỉ IP của Server đích. Thay vì trực tiếp khởi động một phiên với Server đích, Client khởi tạo một phiên với Server SOCKS trên Firewall.
Server SOCKS sau đó xác minh địa chỉ nguồn và ID người dùng được cho phép để thiết lập kết nối tới mạng không an toàn, và sau đó tạo ra phiên thứ 2.
SOCKS cần có một phiên bản mã nguồn Client mới và một tập riêng biệt các chính sách cấu hình trên Firewall. Tuy nhiên, máy server không cần thay đổi, thật vậy, nó không cần biết rằng phiên đang được tiếp bởi Server SOCKS. Cả Client và Server SOCKS đều cần có mã SOCKS. Server SOCKS hoạt động như một router mức ứng dụng giữa Client và Server ứng dụng thực. SOCKSv4 chỉ với các phiên TCP hướng ngoại. Nó rất đơn giản cho mạng riêng của người dùng, nhưng không được phân phối mật khẩu an toàn vì vậy nó không được dùng cho các phiên giữa người dùng mạng công cộng và các ứng dụng mạng riêng. SOCKSv5 với một số phương pháp xác thực và vì thế được sử dụng cho các kết nối hướng nội, SOCKS cũng hỗ trợ các giao thức và ứng dụng dựa trên UDP.
Phần lớn các trình duyệt Web là SOCKSified và người dùng có thể nhậnđược các ngăn xếp TCP/IP SOCKSified cho hầu hết các nền