a .Tấn công do th́m
e. Virus, Trojan Horse, Worm, mã độc hại
2.3 Một số giải pháp bảo vệ mạng
2.3.1.3 Đóng gói thông tin IPsec
2.3.1.3.1 Các chế độ hoạt động
IPsec cung cấp hai chế độ xác thực và mã hóa để thực hiện đóng gói thông tin, đó là chế độ chế độ truyền tải (Transport Mode) và chế độ đường hầm (Tunnel Mode). Sau đây ta sẽ xét đến hai chế này:
i. Chế độ truyền tải
Trong chế độ truyền tải, vấn đề an ninh mạng được cung cấp bởi các giao thức lớp cao trong mô hình OSI (từ lớp 4 trở lên). Chế độ này bảo vệ phần tải tin của gói nhưng vẫn để phần tiêu đề tiêu đề IP ban đầu ở dạng gốc như trong nguyên bản (hình 2.1). Địa chỉ IP ban đầu này được dùng để định tuyến gói qua Internet.
Hình 2.1 Xử lý gói tin IP ở chế độ truyền tải
Chế độ truyền tải có ưu điểm là chỉ thêm vào gói IP ban đầu một số ít byte. Nhược điểm của chế độ này là nó cho phép các thiết bị trong mạng nhìn thấy địa chỉ
của nguồn và đích của gói tin và có thể thực hiện một số xử lý dựa trên các thông tin của tiêu đề IP (chẳng hạn như phân tích lưu lượng). Tuy nhiên nếu dữ liệu mật mã bởi ESP thì sẽ không biết được thông tin cụ thể bên trong gói tin IP. Theo IETF thì chế độ truyền tải chỉ có thể được sử dụng khi hai hệ thống đầu cuối IP-VPN có thực hiện IPsec.
ii. Chế độ đường hầm
Trong chế độ đường hầm, toàn bộ gói IP ban đầu bao gồm cả tiêu đề được xác thực hoặc mật mã, sau đó được đóng gói với một tiêu đề IP mới (hình 2.2). Địa chỉ IP bên ngoài được sử dụng cho định tuyến gói IP qua Internet.
Hình 2.2 Xử lý gói tin ở chế độ đường hầm.
Chế độ này cho phép các thiết bị mạng như bộ định tuyến thực hiện xử lý IPsec thay cho các trạm cuối (host). Thí dụ trong hình 2.3, bộ định tuyến A xử lý các gói từ trạm A, gửi chúng vào đường hầm. Bộ định tuyến B xử lý gói nhận được trong đường hầm, đưa về dạng ban đầu và chuyển chúng tới trạm B. Như vậy, các trạm cuối không cần thay đổi mà vẫn có được tính an ninh dữ liệu của IPsec. Khi sử dụng chế độ đường hầm, các thiết bị trung gian trong mạng sẽ chỉ nhìn thấy được các địa chỉ hai điểm cuối của đường hầm (trong thí dụ là bộ định tuyến A và B). Khi sử dụng chế độ đường hầm, các đầu cuối IPsec-VPN không cần thay đổi ứng dụng hay hệ điều hành.
2.3.1.3.2 Giao thức xác thực AH
a. Giới thiệu giao thức
Giao thức AH được định nghĩa trong RFC 1826 và sau đó được phát triển trong RFC 2402. AH cung cấp khả năng xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu và dịch vụ chống phát lại. Toàn vẹn dữ liệu là kiểm tra những thay đổi của từng gói tin IP, không quan tâm đến vị trí các gói trong luồng lưu lượng. Còn dịch vụ chống
AH cho phép xác thực tiêu các trường tiêu đề của gói IP cũng như gói dữ liệu của các giao thức lớp trên. AH không cung cấp bất kỳ xử lý nào để bảo mật dữ liệu của lớp các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ. Xử lý trong AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp cần yêu cầu cao hơn về nguồn gốc và tính toàn vẹn của dữ liệu, còn tính bảo mật dữ liệu thì không yêu cầu cao.
Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện hàm băm một chiều đối với dữ liệu của gói để tạo ra một đoạn mã xác thực. Đoạn mã này được chèn vào thông tin của gói truyền đi. Khi đó bất cứ thay đổi nào đối với dữ liệu của gói trong quá trình truyền đi đều được phía thu phát hiện khi nó thực hiện cùng một hàm băm một chiều đối với gói dữ liệu nhận được và đối chiếu với giá trị mã hóa xác thực truyền cùng với gói dữ liệu.
b. Cấu trúc gói tin AH
Các thiết bị sử dụng AH sẽ chèn một tiêu đề AH vào giữa lưu lượng cần quan tâm của gói IP, ở giữa phần tiêu đề IP và tiêu đề lớp 4. Quá trình xử lý chèn tiêu đề AH được minh họa như hình 2.3.
Hình 2.3 Cấu trúc tiêu đề AH cho gói IPSec.
Ý nghĩa của các trường trong tiêu đề AH như sau:
• Next Header (tiêu đề tiếp theo). Có độ dài 8 bit để nhận dạng loại dữ liệu của phần tải tin theo sau AH.
• Payload Length (độ dài tải tin). Có độ dài 8 bit và chứa độ dài của tiêu đề AH được biểu diễn trong các từ 32 bit, trừ đi 2. Ví dụ, trong trường hợp của thuật tốn tồn vẹn mang lại một giá trị xác minh 128 bit (4 x 32 bit) (MD5 cho 128 bit), cộng với 3 (từ 32 bit cố định) rồi trừ đi 2 thì trường độ dài này có giá trị là 5.
• Reserved ( dự trữ). Trường 16 bit này dự trữ cho ứng dụng trong tương lai. Giá trị của trường này có thể đặt bằng 0 và có tham gia trong việc tính dữ liệu nhận thực.
• Security Parameters Index ( SPI-chỉ số thơng số an ninh). Trường này có độ dài 32 bit, cùng với địa chỉ IP đích cho phép nhận dạng duy nhất SA cho gói dữ liệu. Các giá trị SPI từ 1 đến 255 được dành riêng để sử dụng trong tương lai. SPI là trường bắt buộc và thường được lựa chọn bởi phía thu khi thiết lập SA. Giá trị SPI bằng 0 được sử dụng cục bộ và có thể dùng để chỉ ra rằng chưa có SA nào tồn tại.
• Sequence Number (số thứ tự). Đây là trường 32 bit không dấu chứa một giá trị mà khi mỗi gói được gửi đi thì tăng một đơn vị. Trường này là bắt buộc và luôn được đưa vào bởi bên gửi ngay cả khi bên nhận không sử dụng dịch vụ chống phát lại. Bộ đếm bên gửi và bên nhận được khởi tạo ban đầu là 0, gói đầu tiên có số thứ tự là 1. Nếu dịch vụ chống phát lại được sử dụng thì chỉ số này khơng thể lặp lại. Khi đó, để tránh trường hợp bộ đếm bị tràn và lặp lại các số thứ tự, sẽ có yêu cầu kết thúc phiên truyền thông và một SA mới được thiết lập trước khi truyền gói thứ 2 của SA hiện hành.
• Authentication Data (dữ liệu nhận thực). Còn được gọi là giá trị kiểm tra tính tồn vẹn ICV (Integrity Check Value), có độ dài thay đổi và bằng số nguyên lần của 32 bit đối với IPv4 hay 64 bit đối với IPv6. Nó có thể chứa đệm để lấp đầy cho đủ là bội số của các khối bit như trên. ICV được tính tốn sử dụng thuật tốn nhận thực, bao gồm mã nhận thực bản tin (MAC-Message Authentication Code). MAC đơn giản có thể là thuật tốn mã hóa MD5 hoặc SHA-1. Các khóa dùng cho mã hóa AH là khóa nhận thực bí mật được chia sẻ giữa các đối tượng tryền thơng, có thể là một số ngẫu nhiên, khơng thể đốn trước được. Tính tốn ICV được thực hiện đối với gói tin mới đưa vào. Bất kì trường nào có thể biến đổi của tiêu đề IP đều được cài đặt bằng 0, dữ liệu lớp trên được giả sử là không biến đổi. Mỗi bên đầu cuối VPN sẽ tính tốn giá trị ICV này một cách độc lập. Nếu ICV tính tốn được ở phía thu và ICV do phía phát truyền đến so sánh với nhau mà khơng phù hợp thì gói tin bị loại bỏ. Bằng cách như vậy sẽ bảo đảm rằng gói tin khơng bị giả mạo.
b. Xử lý AH trong chế độ truyền tải và đường hầm
AH đảm bảo tính xác thực dựa trên hàm băm. Hoạt đợng AH được thực hiện qua các bước sau:
• Bước 2: Mã băm thu được dùng để xây dựng một tiêu đề AH, đưa tiêu đề này
vào gói dữ liệu ban đầu.
• Bước 3: Gói dữ liệu sau khi thêm tiêu đề AH được truyền tới đới tác IPsec.
• Bước 4: Bên thu thực hiện hàm băm với tiêu đề và tải tin IP, kết quả thu được
mợt mã băm.
• Bước 5: Bên thu tách mã băm trong tiêu đề AH.
• Bước 6: Bên thu so sánh mã băm mà nó tính được với mã băm tách ra từ tiêu
đề AH. Hai mã này phải hoàn toàn giống nhau. Nếu như chúng khác nhau, bên thu lập tức phát hiện được tính không toàn vẹn của dữ liệu.
Việc xử lý AH phụ thuộc vào chế độ hoạt động của IPsec và phiên bản sử dụng của giao thức IP. Khuôn dạng của gói tin Ipv4 trước và sau khi xử lý AH trong hai chế độ truyền tải và đường hầm được thể hiện trong hình 2.4.
Hình 2.4 Khn dạng gói tin IPv4 trước và sau khi xử lý AH
Khn dạng của gói tin Ipv6 trước và sau khi xử lý AH được thể hiện trong hình 2.5.
2.3.1.3.3 Giao thức đóng gói tải tin an toàn ESP
a. Giới thiệu giao thức
Giao thức này được định nghĩa trong RFC 1827 và được phát triển thành RFC 2406. Giao thức này được dùng cho IPsec, ESP được dùng khi có yêu cầu về bảo mật của lưu lượng IPsec cần truyền. Nó cung cấp tính bảo mật dữ liệu bằng việc mật mã hóa các gói tin. Thêm vào đó ESP cũng 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, cấp dịch vụ chống phát lại và một số giới hạn về luồng lưu lượng cần bảo mật. ESP có thể đóng gói tất cả hoặc là một phần dữ liệu gốc. Do hỗ trợ tốt khả năng bảo mật nên ESP có khả năng được sử dụng rộng rãi hơn AH.
b. Cấu trúc gói tin ESP
Sau đây là cấu trúc gói tin ESP:
Hình 2.6 Khn dạng gói ESP.
Sau đây là ý nghĩa của các trường trong cấu trúc gói tin ESP.
•SPI (chỉ số thơng số an ninh). Là một số bất kỳ 32 bit, cùng với địa chỉ IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu. Các giá trị SPI từ 0 đến 255 được dành riêng để sử dụng trong tương lai. SPI là trường bắt buộc và thường được lựa chọn bởi phía thu khi thiết lập SA.
•Sequence Number (số thứ tự). Tương tự như trường số thứ tự của AH.
•Payload Data ( dữ liệu tải tin). Đây là trương bắt buộc, bao gồm một số lượng biến đổi các byte dữ liệu gốc hoặc một phần dữ liệu yêu cầu bảo mật đã được mô tả trong trường Next Header. Trường này được mã hóa cùng với thuật tốn mã hóa đã lựa
nó cũng được bao gồm ở đây. Thuật tốn thường được dùng để mã hóa ESP là DES- CBC. Đơi khi các thuật toán khác cũng được hỗ trợ như 3DES hay CDMF.
•Padđing (đệm). Có nhiều ngun nhân dẫn đến sự có mặt của trường đệm như:
Nếu thuật toán mật mã sử dụng yêu cầu bản rõ (Clear-text) phải là số nguyên lần các khối byte ( ví dụ trường mã khối) thì trường đệm được sử dụng để điền đầy vào phần bản rõ này ( bao gồm Payload Data, Pad Length, Next Header và Padding) sao cho đạt tới kích thước theo yêu cầu.
Trường đệm cũng cần thiết để đảm bảo phần dữ liệu mật mã ( Cipher-text) sẽ kết thúc ở biên giới số nguyên lần của 4 byte nhằm phân biệt rõ ràng với trường dữ liệu xác thực (Authentication Data).
Ngồi ra, trường đệm cịn có thể sử dụng để che dấu độ dài thực của tải tin, tuy nhiên mục đích này cần phải được cân nhắc vì nó ảnh hưởng tới băng thơng truyền dẫn.
•Pad length (độ dài đệm). Trường này xác định số byte đệm được thêm vào. Pad length là trường bắt buộc với các giá trị phù hợp nằm trong khoảng từ 0 đến 255 byte.
•Next Header (tiêu đề tiếp theo). Next Header là trường bắt buộc và có độ dài 8 bit. Nó xác định kiểu dữ liệu chứa trong phần tải tin, ví dụ một tiêu đề mở rộng (Extension Header) trong Ipv6 hoặc nhận dạng của một giao thức lớp trên khác. Giá trị của trường này được lựa chọn từ tập các giá trị IP Protocol Nember định nghĩa bởi IANA.
•Authentication Data ( dữ liệu xác thực) . Trường này có độ dài biến đổi, chứa một giá trị kiểm tra tính tồn vẹn ICV (có trong phần đi ESP) tính trên dữ liệu của tồn bộ gói ESP trừ trường Authentication Data. Độ dài của trường này phụ thuộc vào thuật toán xác thực được sử dụng. Trường này là tùy chọn và chỉ được thêm vào nếu dịch vụ xác thực được lựa chọn cho SA đang xét. Thuật toán xác thực phải chỉ ra độ dài ICV, các bước xử lý cũng như các luật so sánh cần thực hiện để kiểm tra tính tồn vẹn của gói tin.
b. Xử lý ESP trong chế đợ trùn tải và đường hầm
Hoạt động của ESP khác so với AH. ESP có thể thực hiện mã hóa đảm bảo an tồn hơn AH. Sau đây là cơ chế đóng gói của ESP.
Hình 2.7 Cơ chế đóng gói ESP.
Việc xử lý ESP phụ thuộc vào chế độ hoạt động của IPsec và phiên bản sử dụng của giao thức IP. Khuôn dạng của gói tin IPv4 trước và sau khi xử lý ESP trong hai chế độ truyền tải và chế độ đường hầm được thể hiện như trong hình 2.8.
Hình 2.8 Khn dạng gói tin IPv4 trước và sau khi xử lý ESP.
Khn dạng gói tin Ipv6 trước và sau khi xử lý ESP được thực hiện trong hình 2.9
Hình 2.9 Khn dạng gói tin IPv6 trước và sau khi xử lý ESP.
c. Mã hóa với ESP
Các thuật toán bảo mật được xác định bởi các liên kết an ninh (SA: Security Association). Các thuật toán có thể được dùng với ESP như là: DES, 3DES; HMAC với MD5; HMAC với SHA-1.
2.3.1.4 Liên kết an ninh (SA) và trao đổi khóa (IKE)
a. Liên kết an ninh SA
Kết nối IPsec chỉ hình thành khi SA đã được thành lập. Khi thiết lập kết nối IPsec, hai bên phải xác định chính xác thuật toán được dùng, loại dịch vụ nào cần đảm bảo an ninh. Sau đó bắt đầu xử lý thương lượng để chọn một tập hợp các tham số và các giải thuật áp dụng cho mã hóa hay xác thực. Dịch vụ bảo mật quan hệ giữa hai hay nhiều thực thể để thỏa thuận truyền thông an toàn được gọi là liên kết an ninh SA. Liên kết an ninh là kiểu đơn công, nghĩa là với với cặp truyền thông A và B chẳng hạn, thì có ít nhất là hai SA (một từ A tới B và một từ B tới A).
Liên kết an ninh có hai kiểu là truyền tải và đường hầm, phụ thuộc vào chế độ truyền tải của giao thức sử dụng.
b. Hoạt động trao đổi khóa IKE
Kết nới IPSec chỉ được hình thành khi SA đã được thiết lập. Tuy nhiên bản thân IPsec không có cơ chế thiết lập SA. IETF đã chọn IKE làm làm chuẩn để cấu hình SA cho IPsec. IKE chịu trách nhiệm cho thỏa thuận các liên kết an ninh.
- Bước 1: Quyết định lưu lượng nào cần được quan tâm bảo vệ tại một giao diện
yêu cầu thiết lập phiên thơng tin Ipsec.
- Bước 2: Bước này chính là hoạt động IKE pha I. Thương lượng chế độ (có hai
chế độ là chế độ linh hoạt và chế độ chính) sử dụng IKE, kết quả là tạo ra liên kết an ninh IKE hay ISAKMP (Internet Security Association and Key Management).
Hình 2.10 Hoạt động IKE hai pha
Cấu trúc tiêu đề liên kết an ninh IKE hay ISAKMP (Internet Security Association and Key Management Protocol).
Hình 2.11 Định dạng ISAKMP
Ý nghĩa các trường:
- Phần đáp ứng (64 bit): một đoạn đáp trả của thực thể.
- Tải trọng tiếp theo (Next Payload: 8 bit): chỉ ra kiểu của tải tin trong bản tin. - Phiên bản chính (Major Version: 4 bit): chỉ ra phiên bản chính ISAKMP đang dùng.
- Phiên bản phụ (Minor Version: 4 bit): chỉ ra phiên bản phụ được dùng. - Kiểu trao đổi (8 bit): chỉ ra loại hình trao đổi.
- Cờ (Flags: 8 bit): chỉ ra đặc tính tùy chọn của trao đổi ISAKMP. - Số nhận dạng bản tin: số nhận dạng duy nhất cho bản tin.
- Chiều dài (32 bit): tổng chiều dài bản tin.
- Dự phòng: là trường dự phòng, để dành cho việc mở rộng. - chiều dài tải trọng : chỉ số byte trong tải trọng.
Hình 2.12 IKE pha một sử dụng chế độ chính.
- Bước 3: Đây chính là IKE pha II. Mục đích chính của pha này là để thỏa thuận
các thông số an ninh Ipsec sử dụng cho việc bảo vệ đường hầm. Thương lượng chế độ