Mã Hóa VPN và giao thực Open VPN

VPN (Virtual Private Network) là mạng riêng ảo là công nghệ giúp kết nối mạng an toàn khi tham gia vào mạng công cộng như Internet hoặc mạng riêng do một nhà cung cấp dịch vụ sở hữu. Bên cạnh đó, VPN còn được dùng để mở rộng các mô hình hệ thống mạng nhằm truyền tải thông tin, dữ liệu tốt hơn. Như các trường học vẫn phải dùng VPN để nối giữa các khuôn viên của trường (hoặc giữa các chi nhánh với trụ sở chính) lại với nhau.

 VPN chuyển tiếp tất cả lưu lượng network traffic của bạn tới hệ thống – nơi có thể truy cập từ xa các tài nguyện mạng cục bộ và bypass việc kiểm duyệt Internet (Internet censorship).

1 giao thức quan trong của VPN đóng vai trò lớn trong sự thành công của mạng riêng ảo trên thị trường là giao thức OpenVPN. Vậy OpenVPN là gì?

  • OpenVPN

OpenVPN là một giao thức mã hóa mạng riêng ảo (VPN) mã nguồn mở. Nó được công nhận trên toàn ngành là giao thức mã hóa mạng riêng ảo (VPN) bảo mật nhất.

OpenVPN có khả năng tùy biến cao và có thể được triển khai theo nhiều cách khác nhau. Mã hóa OpenVPN bao gồm một kênh dữ liệu và một kênh điều khiển. Kênh điều khiển ở đó để xử lý việc trao đổi key, trong khi kênh dữ liệu mã hóa lưu lượng truy cập web của người dùng VPN.

Các thành phần của OpenVPN

Mặc dù là giao thức mã hóa bảo mật nhất, nhưng OpenVPN vẫn dựa vào một số yếu tố quan trọng nhất định, và trừ khi VPN nhận được mọi thành phần quan trọng của giao thức, nếu không, tính bảo mật của toàn bộ giao thức mã hóa sẽ bị ảnh hưởng. Các thành phần này như sau:

– Mật mã – Mật mã là thuật toán mà VPN sử dụng để mã hóa dữ liệu. Khả năng mã hóa chỉ mạnh bằng mật mã mà giao thức VPN sử dụng. Các mật mã phổ biến nhất mà các nhà cung cấp VPN sử dụng là AES và Blowfish.

– Các kênh mã hóa – OpenVPN sử dụng hai kênh là kênh dữ liệu và kênh điều khiển. Các thành phần cho mỗi kênh như sau:

+ Kênh dữ liệu = Mật mã + Xác thực hash.

+ Kênh điều khiển = Mật mã + Mã hóa handshake TLS + xác thực hash + việc Perfect Forward Secrecy có được sử dụng hay không (và được dùng như thế nào).

– Mã hóa handshake – Điều này được sử dụng để bảo mật trao đổi key TLS. RSA thường được sử dụng, nhưng DHE hoặc ECDH có thể được dùng thay thế và cũng cung cấp PFS.

– Xác thực hash – Điều này sử dụng một hàm hash mật mã để xác minh rằng dữ liệu không bị giả mạo. Trong OpenVPN, nó thường được thực hiện bằng HMAC SHA, nhưng nếu mật mã AES-GCM đang được sử dụng (thay vì AES-CBC) thì GCM có thể cung cấp xác thực hash thay thế.

– Perfect Forward Secrecy – PFS là một hệ thống trong đó một key mã hóa riêng tư duy nhất được tạo cho mỗi phiên. Có nghĩa là mỗi phiên Transport Layer Security (TLS) có một bộ key riêng. Chúng chỉ được sử dụng một lần và sau đó biến mất.

Những cài đặt tối thiểu được đề xuất cho các kết nối OpenVPN là:

– Kênh dữ liệu: Mật mã AES-128-CBC với HMAC SHA1 có xác thực. Nếu sử dụng mật mã AES-GCM thì không cần xác thực bổ sung.

– Kênh điều khiển: Mật mã AES-128-CBC với mã hóa handshake RSA-2048 hoặc ECDH-385 và xác thực hash HMAC SHA1. Bất kỳ quá trình trao đổi key DHE hoặc ECDH nào cũng có thể cung cấp Perfect Forward Secrecy.

  • Giao thức bảo mật quan trong của VPN là OpenVPN

Có một số giao thức mã hóa VPN hiện có. Chúng bao gồm những điều sau:

– Point-to-Point Tunneling Protocol (PP2P) – hiện được coi là lỗi thời và không bảo mật

– Layer 2 Tunneling Protocol (L2TP)

– Internet Protocol Security (IPsec). Đây là một giao thức xác thực cần được ghép nối với bộ công cụ tunneling để phù hợp với mục đích mã hóa VPN. IPsec thường được kết hợp với L2TP để tạo L2TP/IPsec hoặc với IKEv2 để tạo IKEv2/IPsec. Điều đáng chú ý là phương thức xác thực thường được sử dụng này không thể tự tồn tại nếu không được ghép nối với bộ công cụ tunneling. Ngoài ra, L2TP/IPsec đủ bảo mật cho hầu hết mọi thứ, nhưng các tài liệu của Snowden cho thấy nó có thể bị bẻ khóa bởi NSA.

– Secure Socket Tunneling Protocol (SSTP)

– Internet Key Exchange version 2 (IKEv2)

Tất cả các giao thức được đề cập ở trên đều bảo mật (ngoài PPTP, nên tránh vì mục đích bảo mật). Tuy nhiên, chúng không thể sánh với quyền riêng tư mà “vua” của các giao thức mã hóa VPN (OpenVPN) cung cấp.

Khả năng bảo mật và phát trực tuyến của OpenVPN – đặc biệt nếu bạn sử dụng OpenVPN UDP – đứng vị trí hàng đầu, nhưng hãy nhớ rằng nó thường là giao thức VPN chậm nhất trong số các tùy chọn.

  • Vì vậy khi thiết lập hệ thông VPN cần đặc biết chú ý đến các giao thức bảo mật OpenVPN để đảm bảo an toàn cho dữ liệu của doanh nghiệp.