Giới thiệu về công nghệ mạng riêng ảo dựa trên giao thức IPSec và triển khai an toàn trong một số sản phẩm mật mã dân sự

Giới thiệu về công nghệ mạng riêng ảo dựa trên giao thức IPSec và triển khai an toàn trong một số sản phẩm mật mã dân sự

 

    Ipsec là giao thức an toàn được sử dụng phổ biến trong các sản phẩm mật mã, các hệ thống đảm bảo an toàn truy cập và bảo mật thông tin cho dữ liệu kênh truyền. Phần lõi chính thực thi bảo mật của giao thức Ipsec là các thuật toán mật mã nhằm đảm bảo các yếu tố xác thực, toàn vẹn và bảo mật. Bài viết này trình bày tóm tắt một số tính năng chính và các ứng dụng của Ipsec trong các sản phẩm mật mã dân sự.

     1. Giới thiệu về IPSec

Hình 1. Mô hình kết nối mạng sử dụng kênh truyền bảo mật VPN dựa trên giao thức IPsec

     Ipsec (Internet Protocol Security) là giao thức an toàn hoạt động trên nền tảng IP bao gồm tập hợp các dịch vụ an toàn. Các cơ chế chính đảm bảo an toàn trong giao thức này bao gồm bảo mật luồng thông tin trên đường truyền, đảm bảo việc xác thực đầu cuối và toàn vẹn, xác thực dữ liệu của các gói tin nhằm chống lại các tấn công giả mạo, sửa đổi nội dung dữ liệu trên kênh truyền. Ngoài ra, Ipsec hỗ trợ khả năng hạn chế các tấn công DOS bằng việc sử dụng cơ chế chống phát lại nhờ các sequense number hoặc cửa sổ trượt. Xét về hệ thống, giao thức ipsec hoạt động trên tầng mạng (Network Layer) trong mô hình OSI. Về thực thi, Ipsec được chia làm 2 phần chính là phần xác thực, trao đổi khóa dựa trên giao thức IKE (Internet Key Exchange) thực hiện trên lớp ứng dụng và phần xử lý luồng dữ liệu kênh truyền được thực hiện ở lớp nhân hệ điều hành.  

Hình 2. Ipsec thực thi ở tầng Network trong mô hình OSI

     IPSec cho phép tạo một đường hầm bảo mật thiết lập giữa 2 mạng riêng. Các thiết bị giữa hai đầu đường hầm có thể là một cặp host, hoặc một cặp cổng bảo mật (có thể là router, firewall, bộ tập trung VPN) hoặc một cặp thiết bị gồm một host và một cổng bảo mật. Đường hầm đóng vai trò là một kênh truyền bảo mật giữa hai đầu và các gói dữ liệu yêu cầu an toàn được truyền trên đó. IPSec cũng thực hiện đóng gói dữ liệu các thông tin để thiết lập, duy trì và hủy bỏ kênh truyền khi không dùng đến nữa. Các gói tin truyền trong đường hầm có khuôn dạng giống như các gói tin bình thường khác và không làm thay đổi các thiết bị, kiến trúc cũng như những ứng dụng hiện có trên mạng trung gian, qua đó cho phép giảm đáng kể chi phí để triển khai và quản lý. IPSec có hai cơ chế cơ bản để đảm bảo an toàn dữ liệu đó là AH (Authentication Header) và ESP (Encapsulating Security Payload), trong đó IPSec phải hỗ trợ ESP và có thể hỗ trợ AH

Hình 3 Cơ chế đóng gói AH, ESP trong các chế độ vận chuyển và đường hầm

     + AH là giao thức chỉ cung cấp cơ chế xác thực, cho phép xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu và thêm dịch vụ tùy chọn chống phát lại của các gói IP truyền giữa hai hệ thống. AH không cung cấp tính bảo mật, điều này có nghĩa là nó gửi đi thông tin dưới dạng bản rõ. Cơ chế đảm bảo tính toàn vẹn dữ liệu được sử dụng các cơ chế hàm băm là thành phần chính trong thuật toán mã xác thực thông báo, các thuật toán được khuyến cáo đảm bảo an toàn thường được sử dụng bao gồm HMAC-SHA256, HMAC-SHA384, HMAC-SHA512 hoặc HMAC-SHA3. Việc xác thực nguồn gốc dữ liệu sử dụng các khóa bí mật chung Shared Secret Key. Trong giao thức AH nội dung cần xác thực bao gồm thành phần dữ liệu (data) và các thành phần của trường header (một số thành phần bị loại trừ vì bắt buộc phải thay đổi trong quá trình truyền nhận như TTL- time to live).Cơ chế chống lại các tấn công phát lại được sử dụng trên giao thức AH là sử dụng cơ chế kiểm tra trường số thứ tự gói tin - sequence number (thông thường kích thước trường này là 4bytes).

     + ESP là một giao thức cung cấp tính an toàn của các gói tin được truyền bao gồm: Mã hóa dữ liệu, xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn của dữ liệu. ESP đảm bảo tính bí mật của thông tin thông qua việc mã hóa gói tin IP. Việc xác thực dữ liệu thực thi trên giao thức ESP chỉ thực hiện đối với phần đóng gói an toàn, không thực thi trên dữ liệu header IP đóng mới. Các thuật toán mã hóa được khuyến cáo an toàn hiện nay thường được sử dụng là thuật toán AES128/192/256 hoặc thuật toán 3DES. Các thuật toán đảm bảo tính toàn vẹn, xác thực dữ liệu và cơ chế chống tấn công phát lại về cơ bản tương tự như trên giao thức AH.Với đặc điểm này thì xu hướng sẽ sử dụng ESP nhiều hơn AH để tăng tính an toàn cho dữ liệu.

Hình 4. Khung giao thức được sử dụng trong IPsec

     2. Các cơ chế chính được sử dụng trong việc thực thi giao thức IPSec

     Giao thức an toàn IPSec bao gồm nhiều cơ chế, tổ hợp an toàn và được chia làm 2 giao thức chính là:  Giao thức xác thực và trao đổi khóa IKE (Internet Key Exchange) thực hiện trên lớp ứng dụng; Giao thức xử lý dữ liệu thực thi ở lớp nhân hệ điều hành bao gồm các giao thức đóng gói:  AH (Authentication Header) cơ chế này thực hiện xác thực dữ liệu và tiêu đề gói tin;  ESP (Encapsulation Security Payload- cơ chế đóng gói an toàn). Xét về khía cạnh thực thi và sử dụng các thuật toán mật mã thì trên giao thức IKE thực hiện nhiều bước và phức tạp hơn với các loại thuật toán chính được sử dụng bao gồm: Thuật toán sinh số ngẫu nhiên là thuật toán cho phép gọi ra một bộ đệm chứa chuỗi ngẫu nhiên và kèm theo độ dài của chuỗi, trong đó sử dụng hàm lõi là các hàm tiếp nhận và xử lý nguồn dữ liệu ngẫu nhiên; Hàm băm dữ liệu sử dụng chính cho việc đảm bảo toàn vẹn dữ liệu; Thuật toán trao đổi khóa để tính toán một khóa bí mật chia sẻ chung; thuật toán ký số được sử dụng để xác thực đối tượng cung cấp danh tính đáng tin cậy, thuật toán dẫn xuất khóa, các thuật toán đảm bảo tính toàn vẹn trong các pha xác thực đầu cuối, thuật toán mã hóa cho các gói dữ liệu trao đổi ban đầu. Giao thức xử lý dữ liệu thực thi ở tầng nhân hệ điều hành chủ yếu sử dụng các thuật toán mã hóa khóa đối xứng và thuật toán mã xác thực thông điệp.

Hình 5. Các dữ liệu trao đổi trong pha thứ 1 khi thực thi giao thức IKEv2

Hình 6. Các dữ liệu trao đổi trong pha thứ 2 khi thực thi giao thức IKEv2

     Các cơ chế chính sử dụng mật mã trong thực thi giao thức an toàn Ipsec bao gồm:

     Trao đổi/thỏa thuận khóa: Là phương thức để các đầu cuối liên lạc thỏa thuận được khóa chung. Khóa này có thể là khóa bí mật chia sẻ trước hoặc là khóa bí mật được được tính toán thông qua việc sử dụng các thuật toán khóa công khai. Các thuật toán trao đổi khóa phổ biến được sử dụng bao gồm ECDH (Thuật toán trao đổi khóa Diffie-Hellman trên đường cong Eliptic), DH (Thuật toán trao đổi khóa Diffie-Hellman trên trường nguyên tố).

     Xác thực đầu cuối: Các đầu cuối tham gia vào kênh liên lac mật sẽ xác minh xem phía bên kia có là đối tượng thực sự có danh tính đúng như đối tượng cung cấp hay là kẻ giả mạo danh tính. Trong Ipsec sẽ sử dụng các lược đồ ký số để thực hiện các quy trình xác thực lẫn nhau giữa các đầu cuối liên lạc. Các lược đồ ký số thường dùng là RSASSA-PSS hoặc ECDSA.

     Mã hóa dữ liệu: Thành phần của gói tin được mã hóa có thể là toàn bộ gói tin gồm dữ liệu và header hoặc chỉ mã hóa phần dữ liệu, điều này phụ thuộc vào các chế độ của kênh truyền mật mà người dùng có thể cấu hình. Thuật toán mã hóa dữ liệu là thuật toán mã khối sử dụng khóa đối xứng, các khóa này là các khóa phiên được dẫn xuất thông qua các hàm dẫn xuất khóa KDF hoặc PRF từ khóa tính toán chung (Shared Secret Key). Các khóa được sử dụng để xử lý cho luồng dữ liệu chiều gửi và chiều nhận là khác nhau.Việc thực thi mã hóa luồng dữ liệu được thực hiện ở lớp nhân hệ điều hành. Các thuật toán mã hóa được khuyến cáo là an toàn thường được sử dụng bao gồm thuật toán AES128/192/256, 3DES.

     Toàn vẹn dữ liệu: Là cơ chế để đảm bảo nội dung gói tin không bị sửa đổi trên kênh truyền. Để đảm bảo toàn vẹn dữ liệu có thể sử dụng các hàm băm (thường sử dụng các hàm băm SHA256/384/512 hoặc SHA3). Tuy nhiên, trong giao thức Ipsec ngoài cơ chế đảm bảo tính toàn vẹn dữ liệu gói tin còn có khả năng xác thực nguồn gốc cho nội dung gói tin thông qua thuật toán mã xác thực thông báo HMAC, sử dụng thành phần khóa được dẫn xuất tương tự như ở cơ chế mã hóa. Thuật toán mã xác thực thông báo khuyến cáo thường được sử dụng bao gồm HMAC-SHA_256/384/512 hoặc HMAC-SHA3_256/384/512 

     3. Ứng dụng giao thức IPSec trong một số sản phẩm mật mã dân sự và một số khuyến nghị an toàn khi triển khai.

     Với những tính bảo mật mà giao thức IPSec này đem lại, chúng được ứng dụng trong một số sản phẩm như: Juniper SRX Series Services Gateways, FortiGate/FortiWiFi, Barracuda CloudGen Firewall F-Series, Dell SonicWall Secure Remote Access (SRA), Cisco IP Phone Series. Hiện nay có một số nền tảng mã nguồn mở cho phép thực thi giao thức an toàn Ipsec cho phép các nhóm phát triển có thể tùy biến, tích hợp vào các sản phẩm của riêng mình, có thể kể ra như bộ phần mềm StrongSwan, FreeSwan,OpenIKE ..vv.

     Để đảm bảo an toàn trong quá trình thực thi, người sử dụng cần phải quan tâm đến các thuật toán mật mã, tham số mật mã được dùng (thông qua cấu hình, cài đặt) trên các sản phẩm mật mã dân sự sử dụng giao thức Ipsec. Việc xác định các thuật toán, bộ tham số an toàn có thể được tham khảo thông qua các tiêu chuẩn, qui chuẩn về mật mã hoặc thông qua các khuyến nghị của các cơ quan quản lý nhà nước, tổ chức về an toàn bảo mật thông tin trong nước và trên thế giới.

 ThS. Nguyễn Thanh Sơn, Cục QLMMDS & KĐSPMM