CHƯƠNG 2. CÁC NGUY CƠ MẤT AN TOÀN THÔNG TIN TRONG MẠNG RIÊNG ẢO VÀ CÁC GIẢI PHÁP BẢO MẬT MẠNG RIÊNG ẢO
2.1. NGUY CƠ MẤT AN TOÀN THÔNG TIN TRONG MẠNG RIÊNG ẢO
2.2.1. Đánh giá một số giải pháp bảo mật mạng riêng ảo
- Vtun [3] cung cấp một phương pháp để tạo ra các đường hầm trên mạng TCP/IP và cho phép nén và mã lưu lượng thông trong những đường hầm này.
Nó là một chương trình không gian người sử dụng và không đòi hỏi bất kì sửa đổi nào của nhân Linux và hiện nay vTun không đƣợc phát triển nữa.
- CIPE [3] là một phần mềm đường hầm IP được phát triển đặc biệt dành
bảo mật cao hơn, bao gồm một mô-đun nhân riêng và một chương trình không gian người sử dụng. Mô-đun nhân thực hiện xử lý gói tin IP. Thay vì sử dụng thiết bị TUN/TAP, CIPE sử dụng chính thiết bị mạng của mình. Cấu hình và trao đổi khóa được thực hiện bởi chương trình không gian người sử dụng. CIPE sử dụng một checksum CRC-32 thay vì một MAC. Đây là một điểm yếu nghiêm trọng., CRC thực sự chỉ là một phương thức kiểm tra, và không phải là một MAC, bởi vì không có khóa nào là liên kết với nó. Tinc là một giải pháp VPN hỗ trợ mã khóa, xác thực và nén. OpenSSL đƣợc sử dụng để mã hóa dữ liệu và kiểm tra xác thực thông điệp. Tinc hỗ trợ nhiều đường hầm và dễ dàng để mở rộng một mạng VPN. Nó hoạt động trên nhiều hệ điều hành. Đƣợc thiết kế đặc biệt cho việc cài đặt theo mô hình site to site.
- Tinc [3] sử dụng OpenSSL để cung cấp mã hóa nguyên thủy nhƣng không sử dụng chính giao thức SSL. Tinc có thể sử dụng bất kỳ thuật toán băm hoặc mã hóa theo mặc định, Tinc sử dụng Blowfish và SHA-1, nhƣng các thuật toán với khối kích thước lớn hơn và quan trọng, chẳng hạn như AES, cũng được hỗ trợ.
- Open VPN [8] là một giải pháp SSL VPN sử dụng SSL để đảm bảo kênh điều khiển, có hai chế độ hoạt động và có chức năng nhƣ VPN điểm- điểm dễ dàng cấu hình. Chế độ thứ hai của hoạt động nhƣ một máy chủ với nhiều máy khách. OpenVPN tạo ra một bộ chuyển đổi ảo đƣợc chỉ định một địa chỉ IP VPN. Một khi kết nối với máy chủ đƣợc thiết lập, bất kỳ thông tin liên lạc đến địa chỉ của máy chủ VPN đƣợc mã hóa. OpenVPN là giải pháp an toàn nhất trong các giải pháp đã tìm hiểu ở trên. Kiến trúc bảo mật đạt đƣợc bằng cách sử dụng các giao thức bảo mật hiện tại và đã đƣợc chứng minh. Những vấn đề của quá trình xác thực và trao đổi khóa thực hiện bằng cách sử dụng giao thức SSL. Cách tải dữ liệu đƣợc bảo vệ một cách khá giống nhƣ IPsec, OpenVPN xác thực số thứ tự trong kênh truyền dữ liệu đƣợc mã hóa để giúp ngăn ngừa rò rỉ thông tin.
Các giải pháp nhƣ CIPE, Tinc, và vTUN [3] đã có một số lỗ hổng bảo mật nghiêm trọng. OpenVPN đang đƣợc phát triển và đƣợc cung cấp khá đầy đủ tài liệu và hướng dẫn. OpenVPN đủ để đáp ứng các yêu cầu của việc thiết lập bảo mật mạng riêng ảo. Về kiến trúc, OpenVPN tương tự như Tinc và cTUN ở chỗ nó là một chương trình sử dụng chế độ giao tiếp ngăn xếp TCP/IP thông qua giao diện TUN/TAP, OpenVPN gồm 2 kênh thành phần; một kênh mang dữ liệu
gói IP của người dùng và kênh điều khiển để xử lý giao thức chính cho việc truyền thông và cấu hình.
OpenVPN [8] đóng gói cả hai kênh điều khiển và kênh dữ liệu trong gói tin UDP. Nó sử dụng các cổng giống nhau cho cả hai kênh. Do đó, một UDP datagram có thể chứa một thông báo điều khiển hoặc thông báo kênh dữ liệu. Bởi vì OpenVPN sử dụng giao thức TLS để xác thực và trao đổi khóa. TLS đòi hỏi một lớp truyền tải đáng tin cậy. OpenVPN cung cấp thêm một lớp tin cậy là kênh điều khiển, đảm bảo duy trì trao đổi tốt nhất trên kênh dữ liệu. OpenVPN có thể hoạt động bằng phương cách sử dụng một trong hai phương pháp bảo mật.
Trong phương pháp đầu tiên, được gọi là phương pháp static key, hai máy sử dụng các khóa chia sẻ trước để mã hóa và xác thực. Các khóa được cấu hình trên mỗi máy trước khi bắt đầu VPN. Tất nhiên, cần một số phương pháp an toàn khác để trao đổi khóa với các máy khác. Theo mặc định có hai khóa: một cho mã hóa/ giải mã và một cho xác thực HMAC. Trong trường hợp này, cả hai máy cùng sử dụng hai khóa. Để an toàn hơn OpenVPN sử dụng bốn khóa: Mỗi máy có một khóa HMAC nhận, một khóa HMAC gửi, một khóa mã hóa và một khóa giải mã. Điều này có lợi thế của việc trao đổi khóa và quan trọng hơn là việc hạn chế những nguy cơ nếu dùng duy nhất một khóa cho việc truyền thông. Bất kể dù hai hoặc bốn khóa sử dụng , chúng ta nên thận trọng với phương thức này.
Có thể thấy những yếu điểm của việc sử dụng các khóa chia sẻ trong một thời gian dài. Các khóa chia sẻ sẽ đƣợc sử dụng cho việc mã hóa của VPN cho đến khi chúng đƣợc thay đổi bằng tay và VPN đƣợc khởi động lại. Cuối cùng, dữ liệu và các khóa chia sẻ trở nên dễ bị tổn thương. Một khi một khóa bị phát hiện, tất cả các dữ liệu truyền trong kênh VPN mà đƣợc sử dụng khóa đó có thể bị đọc. Lợi thế có mục đích của phương pháp tĩnh chính là cấu hình dễ dàng hơn.
Trong phương pháp thứ hai được gọi là phương pháp TLS, sử dụng giao thức SSL để xác thực mỗi điểm cuối VPN đến các máy chủ, trao đổi khóa và thông tin điều khiển khác. Trong phương pháp này, OpenVPN thiết lập một phiên SSL/TLS với máy của nó để kiểm soát các kênh. Trong giai đoạn xác thực, các máy trao đổi giấy chứng nhận đƣợc kí bởi một CA tin cậy, điều này đảm bảo cả hai bên rằng họ đang nói chuyện chính xác với bạn của họ, ngăn