Cấu trúc gói dữ liệu IP, TCP,UDP và cả các giao thức ứng dụng được mô tả công khai, bắt được gói IP trên mạng, ai cũng có thể phân tích gói để đọc phần dữ liệu chứa bên trong, đó là chưa
TỔNG QUAN VỀ MẬT MÃ KHÓA CÔNG KHAI
Khái niệm
Mật mã khóa công khai, còn được gọi là mật mã bất đối xứng, là một hệ thống sử dụng các cặp khóa để mã hóa và xác thực thông tin Một khóa trong cặp là khóa công khai, có thể, như tên cho thấy, được phân phối rộng rãi mà không ảnh hưởng đến bảo mật Khóa thứ hai trong cặp là khóa riêng chỉ được chủ sở hữu biết Đây là một sự khởi đầu từ mật mã đối xứng, được sử dụng riêng cho đến những năm 1970 Trong mật mã đối xứng, tất cả các khóa là riêng tư, yêu cầu một kênh an toàn để truyền khóa và bảo mật bởi tất cả các bên về tất cả các khóa.
Cả hai yêu cầu này đều tỏ ra khó bảo trì Mặt khác, trong mật mã bất đối xứng, các khóa công khai có thể được phân phối tự do Phân phối công khai này cho phép liên lạc được mã hóa, xác thực giữa các bên chưa gặp hoặc trao đổi thông tin trước đó.
Hình 1.1 Mô hình mật mã khóa công khai
Khác với mã đối xứng, mã hóa khóa bất đối xứng sử dụng một cặp khóa: khóa công khai (public key) và khóa bí mật(private key) Hai khóa này được xây dựng sao cho từ một khóa,rất khó có cách sinh ra được khóa còn lại Một khóa sẽ dành để mã hóa, khóa còn lại dùng để giải mã Chỉ có người sở hữu nắm được khóa bí mật trong khi khóa công khai được phổ biến rộng rãi.
Cách thức hoạt động
Bởi vì các thuật toán mã hóa bất đối xứng tạo ra các cặp khóa được liên kết về mặt toán học, độ dài khóa của chúng dài hơn nhiều so với độ dài khóa được sử dụng trong mật mã đối xứng Độ dài dài hơn này – thường từ 1,024 đến 2,048 bit – khiến việc tính toán khóa riêng tư từ đối tác công khai trở nên cực kỳ khó khăn.
Hình 1.2 Hoạt động mật mã hóa công khai
Người nhận sẽ tạo ra một gặp khóa (public key và private key), họ sẽ giữ lại private key và truyền cho bên gửi public key Vì public key này là công khai nên có thể truyền tự do mà không cần bảo mật.
Trước khi gửi tin nhắn, người gửi sẽ mã hóa dữ liệu bằng mã hóa bất đối xứng với những key nhận được từ người nhận (khóa công khai)
Người nhận sẽ giải mã dữ liệu nhận được bằng thuật toán được sử dụng ở bên người gửi, với key giải mã là private key ==> Ta có thể đảm bảo rằng, với dữ liệu đã được mã hóa gửi qua internet, thì chỉ có người nhận với private key mới có thể giải mã và đọc nội dung.
Các hệ mật thông dụng
1.3.1 Hệ mật RSA a) Tổng quan về hệ mật RSA
RSA là một thuật toán hay còn gọi là hệ mã hóa đối xứng được sử dụng cho các mục đích bảo mật Nó cho phép mã hóa khóa công khai và được sử dụng phổ biến, rộng rãi để đảm bảo an toàn cho các dữ liệu nhạy cảm đặc biệt là những dữ liệu gửi qua mạng Internet.
Trong mật mã RSA, cả public key và private key đều có thể mã hóa một tin nhắn Hiểu đơn giản thì RSA hoạt động như cơ chế đóng và mở cửa, nó dùng public key và private key để mã hóa và giải mã tin nhắn Chính thuộc tính đó đã khiến RSA trở thành thuật toán bất đối xứng được sử dụng phổ biến nhất Thế mạnh của nó chính là tính bảo mật, toàn vẹn và xác thực mà ít thuật toán có được.
Thực tế cho thấy mã hóa RSA có tính bảo mật cao bởi nó sử dụng các số nguyên tố lớn, một vài trường hợp những con số lại khá phức tạp Có thể thấy nhân hai số nguyên tố thì dễ dàng nhưng để xác định được các số nguyên ban đầu thông qua tổng hoặc thừa số lại không có tính khả thi vì mất nhiều thời gian ngay cả với những siêu máy tính hiện đại.
Thuật toán tạo public key và private key là phần phức tạp nhất của mật mã RSA Hai số nguyên tố lớn p và q được tạo ra ngẫu nhiên bằng cách dùng thuật toán Rabin-Miller (thuật toán xác suất kiểm tra số nguyên tố) Mô đun n=p x q, sau đó giá trị của n sẽ được dùng cho cả public key và private key, độ dài của n được biểu thị bằng bit hay còn gọi là độ dài key.
Public key bao gồm mô đun n và số mũ công khai e, người ta thường lựa chọn giá trị e nhỏ để giả mã nhanh Thông thường e = 65537 và nó không nhất thiết phải bí mật vì public key được chia sẻ với mọi người Private key gồm mô đun n và số mũ riêng d, được tính toán bằng cách dùng thuật toán Euclide mở rộng. Thuật toán này sẽ tìm phép nhân nghịch đảo đối với tâm của n. b) RSA hoạt động như thế nào?
Alice sẽ tạo khóa RSA của mình bằng cách chọn ngẫu nhiên hai số nguyên tố là p = 11 và q = 13 Mô đun n = p x q = 11 x
13 = 143 Giá trị hàm số Ơle sẽ là n ϕ (n) = (p − 1) x (q − 1) 120 Sau đó Alice sẽ chọn 7 là số tự nhiên e cho public key của mình và tính toán private key thông qua thuật toán Euclid mở rộng, kết quả mang lại là 103.
Giả sử Bob muốn gửi cho Alice một đoạn thông tin M, lúc này anh ta sẽ lấy public key RSA của Alice (n, e) và trong ví dụ này là 143, 7 Thông điệp của Bob là số 9, anh ta đã biết n và e vậy m sẽ được mã hóa thành bản mã C như sau: M e mod n = 9
7 mod 143 = 48 = C Alice sẽ giải mã tin nhắn của Bob bằng cách sử dụng private key RSA (d,n) của mình như sau: C d mod n = 48 103 mod 143 = 9 = M.
Trường hợp nếu Alice muốn sử dụng RSA trong chữ ký điện tử thì cô ấy phải tạo ra hash (hàm băm) – bản tóm tắt thông điệp để gửi cho Bob Sau đó Alice mã hóa giá trị hash bằng private key của cô ấy và thêm key vào tin nhắn. Để xác nhận mình đã nhận được tin nhắn, Bob sẽ giải mã nó bằng public key của Alice Giá trị nhận được nếu khớp với hash của thông điệp gốc thì chứng tỏ dữ liệu đó đảm bảo tính toàn vẹn và chính Alice đã gửi nó Ngoài ra để đảm bảo tính bảo mật cao Alice có thể mã hóa tin nhắn mình sắp gửi bằng public key của Bob.
1.3.2 Hệ mật trao đổi khóa Diffie – Hellma. a) Tổng quan
Thuật toán Diffie – Hellman (DH: Diffie–Hellman Algorithm) là một giao thức trao đổi khóa cho phép hai bên giao tiếp qua kênh công khai để thiết lập bí mật chung mà không cần truyền qua Internet Diffie–Hellman Algorithm cho phép cả hai sử dụng khóa công khai để mã hóa và giải mã cuộc trò chuyện hoặc dữ liệu của họ bằng mật mã đối xứng (symmetric cryptography).
Diffie – Hellman thường được giải thích bởi hai bên mẫu, Alice và Bob, bắt đầu một cuộc đối thoại Mỗi người có một phần thông tin mà họ muốn chia sẻ, đồng thời giữ bí mật của nó Để làm điều đó, họ đồng ý về một phần thông tin lành tính công khai sẽ được trộn lẫn với thông tin đặc quyền của họ khi nó truyền qua một kênh không an toàn Bí mật của họ được trộn lẫn với thông tin công khai, hoặc khóa công khai, và khi các bí mật được trao đổi, thông tin họ muốn chia sẻ sẽ đi kèm với bí mật chung.
Khi họ giải mã thông điệp của người kia, họ có thể trích xuất thông tin công khai và với kiến thức về bí mật của riêng họ, suy ra thông tin mới được mang theo Mặc dù có vẻ không phức tạp trong mô tả của phương pháp này, nhưng khi các chuỗi số dài được sử dụng cho các khóa riêng tư và khóa công khai.
Thuật toán dựa trên Elliptic Curve Cryptography (ECC), một phương pháp thực hiện mật mã khóa công khai dựa trên cấu trúc đại số của các đường cong elliptic trên các trường hữu hạn. Trao đổi khóa Diffie Hellmancũng sử dụng chức năng cửa sập (trapdoor), giống như nhiều cách khác để thực hiện mật mã khóa công khai (public-key cryptography: PKC). b) Mô tả thuật toán Đây là giao thức giúp cho 2 máy tính trao đổi thông tin với nhau một cách bảo mật bằng cách tạo ra shared private key.
Giả sử 2 máy tính là A và B Đầu tiên 2 máy tạo ra 2 số nguyên tố p và g, khi p lớn (thường lớn hơn 512 bits) và g là primitive root modulo của số p p và g không cần giữ bí mật với các users khác Khi đó, A và B tự chọn cho mình một số đủ lớn ngẫu nhiên làm private key, giả sử A chọn số a và B chọn số b.
Bây giờ A tính A = ga (mod p) và gửi cho B, B tính số gb (mod p) và gửi ngược lại cho A Hai mã này là shared key A và
B sẽ thực hiện phép tính dựa và key nhận được.
A tính: K = Ba (mod p) = (gb)a (mod p) và B: K = Ab (mod p)
Bây giờ 2 máy có thể sử dụng shared key K của mình để trao đổi dữ liệu mà không cần phải sợ dữ liệu bị nghe lén Hai máy A và B có thể tìm được a từ công thức A = ga (mod p) và b từ B = gb (mod p) Có thể tham khảo thêm ở hình minh họa ở trên.
Alice và Bob đều sử dụng số công khai P = 23, G = 5
Alice đã chọn khóa cá nhân a = 4 và Bob chọn b = 3 làm khóa cá nhân
Cả Alice và Bob bây giờ tính giá trị của x và y như sau:
Bây giờ, cả Alice và Bob đều trao đổi số công khai với nhau. Alice và Bob bây giờ tính toán các khóa đối xứng
Alice: ka = ya mod p = 104 mod 23 = 18
Bob: kb = xb mod p = 43 mod 23 = 18
=> 18 là khóa bí mật dùng chung.
Ngoài việc sử dụng thuật toán tạo khóa công khai, Thuật toán trao đổi khóa Diffie Hellman có thể được sử dụng để mã hóa; một trong những kế hoạch đầu tiên cần làm là mã hóaElGamal Một ví dụ hiện đại về nó được gọi là Lược đồ mã hóa tích hợp (IES: Integrated Encryption Scheme), cung cấp bảo mật chống lại các cuộc tấn công văn bản thuần túy và khay nhớ tạm được chọn.
TỔNG QUAN VỀ GIAO THỨC IPsec
Khái niệm giao thức IPsec
IPSec (Internet Protocol Security) là một giao thức được IETF phát triển.
IPSec được định nghĩa là một giao thức trong tầng mạng cung cấp các dịch vụ bảo mật, nhận thực, toàn vẹn dữ liệu và điều khiển truy cập Nó là một tập hợp các tiêu chuẩn mở làm việc cùng nhau giữa các phần thiết bị
Một cách chung nhất, IPSec cho phép một đường ngầm bảo mật thiết lập giữa 2 mạng riêng và nhận thực hai đầu của đường ngầm này Các thiết bị giữa hai đầu đường ngầ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 ngầ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 ngầ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:
+ AH 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à 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õ.
+ 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ật mã dữ liệu, xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn phi kết nối 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ật mã gói tin IP Tất cả lưu lương ESP đều được mật mã giữa hai hệ thống 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.
+ Cả AH và ESP là các phương tiện cho điều khiển truy nhập, dựa vào sự phân phối của các khóa mật mã và quản lý các luồng giao thông có liên quan đến những giao thức an toàn này.
Những giao thức này có thể được áp dụng một mình hay kết hợp với nhau để cung cấp tập các giao thức an toàn mong muốn trong IPv4 và IPv6, nhưng cách chúng cung cấp các dịch vụ là khác nhau Đối với cả hai giao thức AH và
ESP này, IPSec không định các thuật toán an toàn cụ thể được sử dụng, mà thay vào đó là một khung chuẩn để sử dụng các thuật toán theo tiêu chuẩn công nghiệp IPSec sử dụng các thuật toán: Mã nhận thực bản tin trên cơ sở băm (HMAC), thuật toán MD5 (Message Digest 5), thuật toán SHA-1 để thực hiện chức năng toàn vẹn bản tin; Thuật toán DES, 3DES để mật mã dữ liệu; Thuật toán khóa chia sẻ trước, RSA chữ ký số và RSA mật mã giá trị ngẫu nhiên (Nonces) để nhận thực các bên Ngoài ra các chuẩn còn định nghĩa việc sử dụng các thuật toán khác như IDEA, Blowfish và RC4.IPSec có thể sử dụng giao thức IKE (Internet Key Exchange) để xác thực hai phía và làm giao thức thương lượng các chính sách bảo mật và nhận thực thông qua việc xác định thuật toán được dùng để thiết lập kênh truyền, trao đổi khóa cho mỗi phiên kết nối, dùng trong mỗi phiên truy cập Mạng dùng IPSec để bảo mật các dòng dữ liệu có thể tự động kiểm tra tính xác thực của thiết bị bằng giấy chứng nhận số của hai người dùng trao đổi thông tin qua lại Việc thương lượng này cuối cùng dẫn đến thiết lập kết hợp an ninh (SAs) giữa các cặp bảo mật, kết hợp an ninh này có tính chất hai chiều trực tiếp Thông tin kết hợp an ninh được lưu trong cơ sử dữ liệu liên kế an ninh, và mỗi SA được ấn định một số tham số an ninh trong bảng mục lục sao cho khi kết hợp một địa chỉ đích với giao thức an ninh (ESP hoặcAH) thì có duy nhất một.
Nhu cầu sử dụng IPsec hiện nay
Giao thức TCP/IP đóng một vai trò rất quan trọng trong các hệ thống hiện nay Về nguyên tắc, có nhiều tùy chọn khác nhau về giao thức để triển khai các hệ thống mạng như TCP/IP, TPX/SPX, NetBEUI, Apple talk,… Tuy nhiên TCP/IP là sự lựa chọn gần như bắt buộc do giao thức này được sử dụng làm giao thức nền tảng của mạng Internet
Vào thời điểm thiết kế giao thức này, vấn đề bảo mật thông tin chưa thật sự được quan tâm, do đó, các giao thức trong bộ TCP/IP hầu như không được trang bị bất cứ giao thức nào Cấu trúc gói dữ liệu (IP, TCP,UDP và cả các giao thức ứng dụng) được mô tả công khai, bắt được gói IP trên mạng, ai cũng có thể phân tích gói để đọc phần dữ liệu chứa bên trong, đó là chưa kể hiện nay, các công cụ bắt và phân tích gói được xây dựng với tính năng mạnh và phát hành rộng rãi.Việc bổ sung các cơ chế bảo mật vào mô hình TCP/IP, bắt đầu từ giao thức
IP là một nhu cầu cấp bách.IP Security (IPSec) là một giao thức được chuẩn hoá bởi IETF từ năm 1998 nhằm mục đích nâng cấp các cơ chế mã hoá và xác thực thông tin cho chuỗi thông tin truyền đi trên mạng bằng giao thức IP Hay nói cách khác, IPSec là sự tập hợp của các chuẩn mở được thiết lập để đảm bảo sự cẩn mật dữ liệu, đảm bảo tính toàn vẹn dữ liệu và chứng thực dữ liệu giữa các thiết bị mạngIPSec cung cấp một cơ cấu bảo mật ở tầng 3 (Network layer) của mô hình OSI
IPSec được thiết kế như phần mở rộng của giao thức IP, được thực hiện thống nhất trong cả hai phiên bản IPv4 và IPv6 Đối với IPv4, việc áp dụngIPSec là một tuỳ chọn, nhưng đối với IPv6, giao thức bảo mật này được triển khai bắt buộc.
Vai trò của IPsec
IPsec có những vai trò cơ bản sau:
Cho phép xác thực hai chiều,trước và trong quá trình truyền tải dữ liệu
-Mã hóa đường truyền giữa 2 máy khi được gửi qua 1 mạng
-Bảo vệ gói dữ liệu IP và phòng ngự các cuộc tấn công mạng không bào mật
-Bào vệ các lưu lượng bằng việc sử dụng mã hóa và đánh dấu dữ liệu
-Chính sách IPSEC cho phép định nghĩa ra các loại lưu lượng mà IPSec kiểm tra và các lưu lượng đó sẽ được bảo mật và mã hóa như thế nào.
Khi IPSec được triển khai trên bức tường lửa hoặc bộ định tuyến của một mạng riêng thì tính năng an toàn của IPSec có thể áp dụng cho toàn bộ vào ra mạng riêng đó mà các thành phần khác không cần phải xử lý them các công việc liên quan tới bảo mật.
-IPSec được thực hiện bên dưới lớp TCP và UDP ,đồng thời nó hoạt động trong suốt đối với các lớp này.Do vậy không cần phải thay đổi phần mềm hay cấu hình lại các dịch vụ khi IPSec được triển khai
-IPSec có thể được cấu hình để hoạt động một cách trong suốt đối với các ứng dụng đầu cuối,điều này giúp che dấu những chi tiết cấu hình phức tạp mà ngưới dung phải thực hiện khi kết nối đến mạng nội bộ từ xa thông qua internet.
- Tất cả các gói được xử lý theo IPSec sẽ bị tăng kích thước do phải thêm vào các tiêu đề khác nhau, và điều này làm cho thông lượng hiệu dụng của mạng giảm xuống Vấn đề này có thể được khắc phục bằng cách nén dữ liệu trước khi mã hóa, song các kĩ thuật như vậy vẫn còn đang nghiên cứu và chưa được chuẩn hóa
- IPSec được thiết kế chỉ để hỗ trợ bảo mật cho lưu lượng IP, không hỗ trợ các dạng lưu lượng khác - Việc tính toán nhiều giải thuật phức tạp trong IPSec vẫn còn là một vấn đề khó đối với các trạm làm việc và máy PC năng lực yếu
- Việc phân phối các phần cứng và phầm mềm mật mã vẫn còn bị hạn chế đối với chính phủ một số quốc gia.
Các giao thức tương đương
IPSec cung cấp tính năng mã hoá và xác thực mạnh cho lưu lượng IP và cũng cung cấp tính năng trao đổi và làm tươi khoá dựa trên chứng chỉ nhờ sử dụng IKE Để đi đến kết luận một cách thận trọng, ta phải đề xuất rằng những tính năng này là cần thiết giống như các tính năng mà SSL và TLS cung cấp. Trong phần này chúng ta lưu ý đến sự giống nhau và khác nhau cơ bản giữa IPSec và SSL và giải thích những phạm vi nào sử dụng cả hai giao thức.
2.4.1 Điểm giống nhau giữa IPSec và SSL
- IPSec và SSL cung cấp xác thực Client và Server
- IPSec và SSL cung cấp tính năng đảm bảo an toàn và xác thực đối với dữ liệu, thậm chí trên các mức khác nhau của chồng giao thức.
- IPSec và SSL có thể dùng các thuật toán mật mã mạnh cho việc mã hoá và các hàm băm, có thể sử dụng xác thực dựa trên chứng chỉ.
- IPSec và SSL cung cấp tính năng sinh khoá và làm tươi khoá mà không phải truyền bất kỳ khoá nào dưới dạng rõ hay ngoại tuyến.
2.4.2 Điểm khác nhau giữa IPSec và SSL
- SSL được thực thi như một API giữa tầng ứng dụng và tầng vận tải; IPSec được thực thi như một khung làm việc tại tầng liên mạng
- SSL cung cấp tính năng bảo mật từ ứng dụng - tới - ứng dụng(ví dụ: giữa WebBrowser và WebServer); IPSec cung cấp tính năng bảo mật từ thiết bị - tới - thiết bị
- SSL không bảo vệ lưu lượng UDP; IPSec thì có
- SSL hoạt động từ điểm cuối - tới - điểm cuối và không có khái niệm đường hầm Điều này có thể là một vấn đề lúc lưu lượng cần được xem xét bằng cách kiểm tra nội dung và quét virus trước khi nó được phân phối thành công đến đích; IPSec có thể hoạt động theo hai cách, điểm cuối - tới - điểm cuối và như một đường hầm.
- SSL có thể vượt qua NAT hoặc SOCKS, chúng dùng để che dấu cấu trúc địa chỉ bên trong hoặc tránh sự xung đột địa chỉ IP riêng; IPSec trong chế độ vận tải (end – to- end) không thể sử dụng NAT nhưng nó có thể dùng một đường hầm IPSec để đạt được mục tiêu tương tự và thậm chí bảo mật hơn NAT vì đường hầm cũng có thể được mã hoá
- Các ứng dụng cần phải sửa đổi để sử dụng SSL Điều này có thể là một vấn đề lúc ta không truy cập được mã nguồn của ứng dụng hoặc không có thời gian hay kinh nghiệm để thay đổi mã nguồn của ứng dụng; IPSec hoàn toàn trong suốt với các ứng dụng
Thông thường SSL là tốt lúc ta chỉ có một ứng dụng được bảo vệ và nó đã sẵn có trong một phiên bản SSL-aware Đây là trường hợp có một ứng dụng chuẩn đa dạng, không chỉ với WebBrowser và WebServer Ngoài ra, nếu có tuỳ chọn của việc thực thi khái niệm 3-tier bằng cách tận dụng các cổng ứng dụngWeb tại vành đai của mạng, SSL là một sự lựa chọn tốt Nếu có một số lượng lớn các ứng dụng để bảo đảm an toàn có thể phải chọn giải pháp tốt hơn cho mạng Trong trường hợp này, IPSec là sự lựa chọn tốt hơn Trừ khi tự ta phát triển các ứng dụng, IPSec mềm dẻo hơn SSL để thực thi một chính sách bảo mật yêu cầu nhiều mức khác nhau và sự kết hợp của xác thực, mã hoá và đường hầm.
NGUYÊN LÝ HOẠT ĐỘNG CỦA GIAO THỨC IPSec
Mô hình kiến trúc của giao thức IPSec
- Kiến trúc IPSec : Quy định các cấu trúc, các khái niệm và yêu cầu của IPSec
- Giao thức ESP : là một giao thức mật mã và xác thực thông tin trong IPSec.
- Giao thức AH : là giao thức chức năng gần giống ESP Như vậy khi triển khai IPSec, người sử dụng có thể chọn dùng ESP hoặc AH, mỗi giao thức có ưu và nhược điểm riêng.
- Thuật toán mật mã: Định nghĩa các thuật toán mã hoá và giải mã sử dụng trong IPSec IPSec chủ yếu dựa vào các thuật toán mã hoá đối xứng
- Thuật toán xác thực: Định nghĩa các thuật toán xác thực thông tin sử dụng trong AH và ESP
- Quản lý khoá : Mô tả các cơ chế quản lý và trao đổi khoá trong IPSec
- Miền thực thi (Domain of Interpretation – DOI): Định nghĩa môi trường thực thi IPSec IPSec không phải là một công nghệ riêng biệt mà là sự tổ hợp của nhiều cơ chế, giao thức và kỹ thuật khác nhau, trong đó mỗi giao thức, cơ chế đều có nhiều chế độ hoạt động khác nhau Việc xác định một tập các chế độ cần thiết để triển khai IPSec trong một tình huống cụ thể là chức năng của miền thực thi.Xét về mặt ứng dụng, IPSec thực chất là một giao thức hoạt động song song với IP nhằm cung cấp 2 chức năng cơ bản mà IP nguyên thuỷ chưa có, đó là mã hoá và xác thực gói dữ liệu Một cách khái quát có thể xem IPSec là một tổ hợp gồm hai thành phần:
-Giao thức đóng gói, gồm AH và ESP
-Giao thức trao đổi khoá IKE (Internet Key Exchange
3.1.2 Các dịch vụ của IPsec
- Quản lý truy xuất (access control)
- Toàn vẹn dữ liệu ở chế độ không kết nối (connectionless integrity)
- Xác thực nguồn gốc dữ liệu (data origin authentication )
- Chống phát lại (anti-replay)
- Mã hoá dữ liệu (encryption)
-Bảo mật dòng lưu lượng (traffic flow confidentiality)
Việc cung cấp các dịch vụ này trong từng tình huống cụ thể phụ thuộc vào giao thức đóng gói được dùng là AH hay ESP Theo đó nếu giao thức được chọn là AH thì các dịch vụ mã hoá và bảo mật dòng dữ liệu sẽ không được cung cấp.
Chế độ làm việc của IPsec
Hiện tại IPSec có hai chế độ làm việc:Transport Mode và Tunel Mode.Cả
AH và ESP đều có thể làm việc với một trong hai chế độ này.
Transport mode cung cấp cơ chế bảo vệ cho dữ liệu của các lớp cao hơn(TCP, UDP hoặc ICMP) Trong Transport mode, phần IPSec header được chèn vào giữa phần IP header và phần header của giao thức tầng trên, AH và ESP sẽ được đặt sau IP header nguyên thủy Vì vậy chỉ có tải (IP payload) là được mã hóa và IP header ban đầu là được giữ nguyên vẹn Transport mode có thể được dùng khi cả hai host hỗ trợ IPSec Chế độ transport này có thuận lợi là chỉ thêm vào vài bytes cho mỗi packets và nó cũng cho phép các thiết bị trên mạng thấy được địa chỉ đích cuối cùng của gói Khả năng này cho phép các tác vụ xử lý đặc biệt trên các mạng trung gian dựa trên các thông tin trong IP header Tuy nhiên các thông tin Layer 4 sẽ bị mã hóa, làm giới hạn khả năng kiểm tra của gói.
- Transport mode thiếu mất quá trình xử lý phần đầu, do đó nó nhanh hơn Tuy nhiên, nó không hiệu quả trong trường hợp ESP có khả năng không xác nhận mà cũng không mã hóa phần đầu IP.
- Transport Mode thường dùng cho các kết nối từ đầu cuối đến đầu cuối, ví dụ từ trạm làm việc đến máy chủ hoặc giữa hai trạm làm việc với nhau.
Kiểu này bảo vệ toàn bộ gói IP Gói IP ban đầu (bao gồm cả IP header) được xác thực hoặc mật mã Sau đó, gói IP đã mã hóa được đóng gói vào một IP header mới Địa chỉ IP bên ngoài được sử dụng cho định tuyến gói IP truyền quaInternet Trong kiểu Tunnel, toàn bộ gói IP ban đầu được đóng gói và trở thànhPayload của gói IP mới Kiểu này cho phép các thiết bị mạng như router thực hiện xử lý IPSec thay cho các trạm cuối (host)
Giao thức xác thực AH
AH cung cấp xác thực nguồn gốc dữ liệu (data origin authentication), kiểm tra tính toàn vẹn dữ liệu (data integrity), và dịch vụ chống phát lại (anti-replay service) Đến đây, cần phải phân biệt được hai khái niệm toàn vẹn dữ liệu 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 phát lại là kiểm tra sự phát lặp lại một gói tin tới địa chỉ đích nhiều hơn một lần AH cho phép xác thực các trường của IP header cũng như dữ liệu của các giao thức lớp trên, tuy nhiên do một số trường của IP header thay đổi trong khi truyền và phía phát có thể không dự đoán trước được giá trị của chúng khi tới phía thu, do đó giá trị của các trường này không bảo vệ được bằng AH Có thể nói AH chỉ bảo vệ một phần của IP header mà thôi AH không cung cấp bất cứ xử lý nào về bảo mật dữ liệu của các lớp trên, tất cả đều được truyền dưới dạng văn bản rõ.
AH nhanh hơn ESP, nên có thể chọn AH trong trường hợp chắc chắn về nguồn gốc và tính toàn vẹn của dữ liệu nhưng tính bảo mật dữ liệu không cần được chắc chắn
Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện một hàm băm một chiều (one-way hash function) đối với dữ liệu của gói để tạo ra một đoạn mã xác thực (hash hay message digest) Đoạn mã đó đượ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 nội dung 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 với một hàm băm một chiều đối với gói dữ liệu thu được và đối chiếu nó với giá trị hash đã truyền đi Hàm băm được thực hiện trên toàn bộ gói dữ liệu, trừ một số trường trong IP header có giá trị bị thay đổi trong quá trình truyền mà phía thu không thể dự đoán trước được (ví dụ trường thời gian sống của gói tin bị các router thay đổi trên đường truyền dẫn).
Cấu trúc AH Ý nghĩa của từng phần: * 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 Giá trị này được chọn lựa từ tập các số giao thức IP đã được định nghĩa trong các RFC gần đây nhất
- Payload length (độ dài tải tin): Có độ dài 8 bit và chứa độ dài của tiêu đề
AH được diễn tả trong các từ 32 bit, trừ 2 Ví dụ trong trường hợp của thuật toán toàn vẹn mà mang lại một giá trị xác minh 96 bit (3x32 bit), cộng với 3 từ 32 bit đã cố định, trường độ dài này có giá trị là 4 Với IPv6, tổng độ dài của tiêu đề phải là bội của các khối 8
- Reserved (dự trữ): Trường 16 bit này dự trữ cho ứng dụng trong tương lai
- Security Parameters Index (SPI: chỉ dẫn thông số an ninh): Trường này có độ dài 32 bit, mang tính chất bắt buộc
- Sequence Number (số thứ tự): Đây là trường 32 bit không đánh dấu chứa một giá trị mà khi mỗi gói được gửi đi thì tăng một lần Trường này có tính bắt buộc Bên gửi luôn luôn bao gồm trường này 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à 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, chỉ số này không thể lặp lại, sẽ có một yêu cầu kết thúc phiên truyền thông và SA sẽ được thiết lập mới trở lại trước khi truyền 2 32 gói mới
- Authentication Data (dữ liệu nhận thực): Còn được gọi là ICV (IntegrityCheck Value: giá trị kiểm tra tính toàn vẹn) có độ dài thay đổi, bằng số nguyên lần của 32 bit đối với IPv4 và 64 bit đối với IPv6, và có thể chứa đệm để lấp đầy cho đủ là bội số các bit như trên ICV được tính toán sử dụng thuật toán nhận thực, bao gồm mã nhận thực bản tin (Message Authentication Code MACs).
MACs đơn giản có thể là thuật toán mã hóa MD5 hoặc SHA-1 Các khóa dùng cho mã hóa AH là các khóa xác thực bí mật được chia sẻ giữa các phần truyền thông có thể là một số ngẫu nhiên, không phải là một chuỗi có thể đoán trước của bất cứ loại nào Tính toán ICV được thực hiện sử dụng gói tin mới đưa vào. Bất kì trường có thể biến đổi của IP header nào đều được cài đặt bằng 0, dữ liệu lớp trên được giả sử là không thể biến đổi Mỗi bên tại đầu cuối IP-VPN tính toán ICV này độc lập Nếu ICV tính toán được ở phía thu và ICV được phía phát truyền đến khi 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ẽ đảm bảo rằng gói tin không bị giả mạo.
3.3.3 Quá trình xử lý AH
Hoạt động của AH được thực hiện qua các bước như sau:
Bước 1: Toàn bộ gói IP (bao gồm IP header và tải tin) được thực hiện qua một hàm băm một chiều
Bước 2: Mã hash thu được dùng để xây dựng một AH header, đưa header này vào gói dữ liệu ban đầu
Bước 3: Gói dữ liệu sau khi thêm AH header đượ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 IP header và tải tin, kết quả thu được một mã hash
Bước 5: Bên thu tách mã hash trong AH header
Bước 6: Bên thu so sánh mã hash mà nó tính được mà mã hash tách ra từ
AH header Hai mã hash này phải hoàn toàn giống nhau Nếu khác nhau chỉ một bit trong quá trình truyền thì 2 mã hash sẽ không giống nhau, bên thu lập tức phát hiện tính không toàn vẹn của dữ liệu. a Vị trí của AH:
AH có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel Kiểu Transport là kiểu đầu tiên được sử dụng cho kết nối đầu cuối giữa các host hoặc các thiết bị hoạt động như host và kiểu Tunnel được sử dụng cho các ứng dụng còn lại Ở kiểu Transport cho phép bảo vệ các giao thức lớp trên, cùng với một số trường trong IP header Trong kiểu này, AH được chèn vào sau IP header và trước một giao thức lớp trên (chẳng hạn như TCP, UDP, ICMP…) và trước cácIPSec header đã được chen vào Đối với IPv4, AH đặt sau IP header và trước giao thức lớp trên (ví dụ ở đây là TCP) Đối với IPv6, AH được xem như phần tải đầu cuối-tới - đầu cuối, nên sẽ xuất hiện sau các phần header mở rộng hop- to-hop, routing và fragmentation Các lựa chọn đích(dest options extension headers) có thể trước hoặc sau AH
Hinh: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport
Hình : Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport
Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn outer IP header mang địa chỉ để định tuyến qua Internet Trong kiểu này,
AH bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả inner IP header (trong khi
AH Transport chỉ bảo vệ một số trường của IP header) So với outer IP header thì vị trí của AH giống như trong kiểu Trasport. b.Các thuật toán xác thực:
Thuật toán xác thực sử dụng để tính ICV được xác định bởi kết hợp an ninh
SA (Security Association) Đối với truyền thông điểm tới điểm, các thuật toán xác thực thích hợp bao gồm các hàm băm một chiều (MD5, SHA-1) Đây chính là những thuật toán bắt buộc mà một ứng dụng AH phải hỗ trợ c.Xử lý gói đầu ra:
Trong kiểu Transport, phía phát chèn AH header vào sau IP header và trước một header của giao thức lớp trên Trong kiểu Tunnel, có thêm sự xuất hiện của outer IP header Quá trình xử lý gói tin đầu ra như sau:
- Tìm kiếm SA: AH được thực hiện trên gói tin đầu ra chỉ khi quá trình IPSec đã xác định được gói tin đó được liên kết với một SA SA đó sẽ yêu cầu
AH xử lý gói tin Việc xác định quá trình xử lý IPSec nào cần thực hiện trên lưu lượng đầu ra có thể xem trong RFC 2401
Giao thức ESP
Cũng như AH, giao thức này được phát triển hoàn toàn cho IPSec Giao thức này cung cấp tính bí 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 cung cấp nhận thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu, 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 Tập các dịch vụ cung cấp bởi ESP phụ thuộc vào các lựa chọn tại thời điểm thiết lập SA, dịch vụ bảo mật được cung cấp độc lập với các dịch vụ khác Tuy nhiên nếu không kết hợp sử dụng với các dịch vụ nhận thực vào toàn vẹn dữ liệu thì hiệu quả bí mật sẽ không được đảm bảo Hai dịch vụ nhận thực và toàn vẹn dữ liệu luôn đi kèm nhau Dịch vụ chống phát lại chỉ có thể có nếu nhận thực được lựa chọn Giao thức này được sử dụng khi yêu cầu về bí mật của lưu lượng IPSec cần truyền.
3.4.2 Cấu trúc gói tin ESP:
Hoạt động của ESP khác hơn so với AH Như ngụ ý trong tên gọi, ESP đóng gói tất cả hoặc một phần dữ liệu gốc Do khả năng bảo mật dữ liệu nên xu hướng ESP được sử dụng rộng rãi hơn AH Phần header của giao thức nằm ngay trước
ESP header có giá trị 51 trong trường protocol của nó Hình sau diễn tả quá trình xử lý đóng gói:
Hình: Xử lý đóng gói ESP Chi tiết đóng gói cấu trúc ESP:
Hình: Giao thức ESP Ý nghĩa của các phần:
Sau đây sẽ định nghĩa các trường trong ESP Lưu ý các trường này có thể là tùy chọn hay bắt buộc Việc lựa chọn một trường tùy chọn được định nghĩa trong quá trình thiết lập kết hợp an ninh Như vây, khuôn dạng ESP đối với SA nào đó là cố định trong khoảng thời gian tồn tại của SA đó Còn các trường bắt buộc luôn có mặt trong tất cả các ESP
- SPI (chỉ dẫn 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 này Các giá trị SPI từ 0255 được dành riêng để sử dụng trong tương lai. SPI thường được chọn lửa bởi phía thu khi thiết lập SA SPI là trường bắt buộc
- Sequence Number (số thứ tự): Tương tự như trường số thứ tự của AH
- Payload Data (trường dữ liệu tải tin): Đây là trường bắt buộc Nó 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 toán mã hóa đã chọn lựa trong suốt quá trình thiết lập SA Nếu thuật toán yêu cầu các vectơ khởi tạo thì nó cũng được bao gồm ở đây Thuật toán được dùng để mã hóa ESP thường là thuật toán DES-CBC Đôi khi các thuật toán khác cũng được hỗ trợ như 3DES hay CDMF trong trường hợp nhà cung cấp dịch vụ IBM.
- Padding (0->255 bytes): Có nhiều nguyên nhân dẫn đến sự có mặt của trường hợp này.
- Nếu thuật toán mật mã được sử dụng yêu cầu bản rõ (plaintext) phải là nguyên lần khối các byte (ví dụ trường hợp mã khối) thì Padding được sử dụng để điền đầy vào plaintext (bao gồm Payload Data, Pad Length, Next Header và Padding) có kích thước theo yêu cầu
- Padding cũng cần thiết để đảm bảo phần dữ liệu mật mã (ciphertext) sẽ kết thúc ở biên giới 4 byte để phân biết rõ ràng với trường Authentication Data
Ngoài ra, Padding còn có thể sử dụng để che dấu độ dài thực của Payload, 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 tần truyền dẫn
* Authentiaction data (bội số của 32 bits):Thông tin xác thực được tình trên toàn bộ gói ESP ngoại trừ phần authentiaction data.
3.4.3 Quá trình xử lý ESP a.Vị trí của ESP header:
ESP có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel KiểuTransport cho phép bảo vệ các giao thức lớp trên, nhưng không bảo vệ IP header Trong kiểu này, ESP được chèn vào sau một IP header và trước một giao thức lớp trên (chẳng hạn TCP, UDP hay ICMP…) và trước IPSec header đã được chèn vào Đối với IPv4, ESP header đặt sau IP header và trước giao thức lớp trên (ví dụ ở đây là TCP) ESP trailer bao gồm các trường Paddinh, Pad length, và Next Header Đối với IPv6, ESP được xem như phần tải đầu cuối-tới - đầu cuối, nên sẽ xuất hiện sau phần header mở rộng hop-to-hop, routing và fragmentation Các lựa chọn đích (dest options extention headers) có thể trước hoặc sau ESP header Tuy nhiên, do ESP chỉ bảo vệ các trường phía sau ESP header, nên các lựa chọn đích thường được đặt sau ESP header.
Hình: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport
Hình: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport
Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn outer IP header mạng địa chỉ để định tuyến qua Internet Trong kiểu này, ESP sẽ bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả inner IP header So với outer IP header thì vị trí của ESP giống như kiểu Trasport.
Hình: Khuôn dạng gói tin đã xử lý ESP kiểu Tunnel b.Các thuật toán:
Có các thuật toán sau được sử dụng với ESP:
Các thuật toán khác có thể được hỗ trợ Lưu ý là ít nhất một trong hai dịch vụ bảo mật hoặc nhận thực phải được thực hiện, nên hai thuật toán xác thực và mật mã không đồng thời bằng NULL
- Các thuật toán mật mã: Thuật toán mật mã được xác định bởi SA ESP làm việc với các thuật toán mật mã đối xứng Vì các gói IP có thể đến không đúng thứ tự, nên mỗi gói phải mang thông tin cần thiết để phía thu có thể thiết lập đồng bộ mật mã (cryptographic synchronization) để giải mã Dữ liệu này có thể được chỉ định trong trường Payload (chẳng hạn dưới dạng các vectơ khởi tạo IV-Initialization Vector), hoặc thu được từ header của gói Với sự có mặt của trường Padding, các thuật toán mật mã sử dụng với ESP có thể có các đặc tính khối (block) hoặc luồng (stream) Vì dịch vụ bảo mật là tùy chọn nên thuật toán mật mã có thể là NULL.
- Các thuật toãn xác thực: Thuật toán xác thực sử dụng để tính ICV được xác định bởi SA Đối với truyền thông điểm-tới-điểm, các thuật toán xác thực thích hợp bao gồm các hàm băm một chiều (MD5, SHA-1) Vì dịch vụ xác thực là tùy chọn nên thuật toán xác thực có thể là NULL c Xử lý gói đầu ra:
Trong kiểu Transport, phía phát đóng gói thông tin giao thức lớp trên vào ESP header/ trailer và giữ nguyên IP header (và tất cả IP extension headers đối với IPv6) Trong kiểu Tunnel, có thêm sự xuất hiện của outer IP header Quá trình xử lý gói tin đầu ra như sau:
- Tìm kiếm SA: ESP được thực hiện trên một gói tin đầu ra chỉ khi quá trình IPSec đã xác định được gói tin đó được liên kết với một SA, SA đó sẽ yêu cầu ESP xử lý gói tin Việc xác định quá trình xử lý IPSec nào cần thực hiện trên lưu lượng đầu ra có thể xen trong RFC 2401
- Mật mã gói tin: Đối với kiểu Transport chỉ đóng gói thông tin giao thức lớp cao Đối với kiểu Tunnel, đóng gói toàn bộ gói IP ban đầu: Thêm trường Padding nếu cần thiết, mật mã các trường sử dụng khóa, thuật toán và kiểu thuật toán được chỉ ra bởi SA và dữ liệu đồng bộ mật mã nếu có
Quản lý khóa IKE
3.5.1 Tổng quan về quản lý khóa
Bộ IPSec đưa ra 3 khả năng chính đó là : tính xác nhận và tính toàn vẹn dữ liệu( data authentication and integrity) cùng sự cẩn mật được cung cấp bởi hai giao thức chính trong bộ giao thức IPSec là AH và ESP IPSec dùng một giao thức thứ ba Internet Exchange Key (IKE) thực hiện tính năng thứ ba là quản lý khóa để thỏa thuận các giao thức bảo mật và các thuật toánmã hóa trước và tron suốt quá trình giao dịch
IKE SA là quá trình hai chiều và cung cấp một kênh giao tiếp bảo mật giữa hai bên IKE SA được nhận ra bởi các cookies của bên khởi tạo, được theo sau bởi các cookies của trả lời phía đối tác Thứ tự các cookies được thiết lập bởi phase1 sẽ tiếp tục chỉ ra IKE SA, bất chấp chiều của nó Chức năng chủ yếu của
IKE là thiết lập và duy trì các SA Các thuộc tính sau đây là mức tối thiểu phải được thống nhất giữa hai bên như là một phần của ISAKMP SA:
- Thuật giải băm được sử dụng
- Phương thức xác thực sẽ dùng
- Thông tin về nhóm và giải thuật DH
IKE thực hiện quá trình dò tìm , quá trình xác thực, quản lý và trao đổi khóa IKE sẽ dò tìm ra một hợp đồng giữa hai đầu cuối IPSec và sau đó SA sẽ theo dõi tất cả các thành phần của một phiên làm việc IPSec Sau khi đã dò tìm thành công, các thông số SA hợp lệ sẽ được lưutrữ trong cơ sở dữ liệu của SA.
IKE có giai đoạn làm việc đó là : giai đoạn 1 và giai đoạn 2 có một số đặc điểm chung như hình minh họa bên dưới:
Trong một phiên làm việc của IKE, nó giả sử đã có một kênh bảo mật được thiết lập sẵn Kênhbảo mật này phải được thiết lập trước khi có bất kỳ thỏa thuận nào xảy ra a.Giai đoạn 1 :
- Đầu tiên, xác nhận các điểm thông tin , sau đó thiết lập một kênh bảo mật cho sự thiết lập SA.Tiếp đó các thông tin thỏa thuận một ISAKMP SA đồng ý lẫn nhau, bao gồm các thuật toán mã hóa, hàm băm , các phương pháp xác nhận bảo vệ mã khóa
- Sau khi cơ chế mã hóa và hàm băm đã được đồng ý ở trên, một khóa sẽ bí mật phát sinh Theosau là những thông tin được dùng để phát sinh khóa bí mật: giá trị Diffie-Hellman, SPI của ISAKMP SA ở dạng cookies, số ngẫu nhiên known as nonces (dùng ký xác nhận).
- Nếu hai bên đồng ý sử dụng phương pháp xác nhận dựa trên public key , chúng cũng cần trao đổi IDs Sau khi trao đổi thông tin cần thiết, cả hai bên phát sinh những khóa riên của chính mình sử dụng chúng để chia sẻ bí mật Theo cách này, những khóa mã hóa được phát sinh mà không cần thực sự trao đổi bất kỳ khóa nào thông qua mạng b.Giai đoạn 2:
- Trong khi giai đoạn 1 thỏa thuận thiết lập SA cho ISAKMP , giai đoạn 2 giải quyết bằng việc thiết lập SAs cho IPSec Trong giai đoạn này SAs dùng nhiều dịch vụ khác nhau thỏa thuận Cơ chế xác nhận, hàm băm, và thuật toán mã hóa bảo vệ gói dữ liệu IPSec tiếp theo (sử dụng AH và ESP) dưới hình thức một phần của giai đoạn SA
- Sự thỏa thuận của giai đoạn xảy ra thường xuyên hơn giai đoạn 1 Điển hình sự thỏa thuận có thể lặp lại sau 4- 5 phút Sự thay đổi thường xuyên các mã khóa ngăn cản các hacker bẻ gãy những khóa này và sau đó là nội dung của gói dữ liệu
- Tổng quát một phiên làm việc ở giai đoạn 2 tương đượng với một phiên làm việc đơn của giai đoạn 1 Tuy nhiên, nhiều sự thay đổi ở giai đoạn 2 cũng có thể được hỗ trợ bởi một trường hợp đơn ở giai đoạn 1 Điều này làm cho quá trình giao dịch chậm chạp có vẻ nhanh hơn.
3.5.3 Các chế độ chính của giao thức IKE
Oakley là một trong số các giao thức của IKE Oakley lần lượt định nghĩa 4 chế độ IKE phổ biến : chế độ chính (Main mode), chế độ linh hoạt ( Aggressive mode), chế độ nhanh (Quick mode),chế độ nhóm mới (Neu Group mode)
- Main mode xác nhận và bảo vệ tính đồng nhất của các bên có liên quan trong quá trình giao dịch Trong chế độ này có 6 thông điệp được trao đổi giữa các điểm:
+ Hai thông điệp đầu tiên dùng để thỏa thuận chính sách bảo mật cho sự thay đổi
+ Hai thông điệp kế tiếp phục vụ để thay đổi các khóa Diffie-Hellman và nonces Những khóa sau này thực hiện một vai trò quan trọng trong cơ chế mã hóa.
+ Hai thông điệp cuối cùng của chế độ này dùng để xác nhận các bên giao dịch với sự giúp đỡ của chữ ký, các hàm băm, và tùy chọn với chứng nhận.
ỨNG DỤNG
B1: Cài đặt card mạng cho hai máy ảo chung một card mạng để có thể ping lẫn nhau Tiếp theo tiến hành đặt ip cho hai máy.
B2: Cài đặt network monitor lên máy 1 và khởi động chạy lên Chọn card mạng lúc nãy đã add vào và chọn new capture tab -> để bắt đầu bắt gói.
Lưu ý: Để ping được 2 pc lẫn nhau ta phải tắt firewall trên 2 pc
B3: Tiến hành ping và kiểm tra gói tin ICMP trên network monitor Chúng ta thấy được gói tin icmp với 32 kí tự chưa mã hoá.
B4: Tiến hành cài đặt IPsec trên 2 pc
+ Vào mục chọn file – add or remove snap-ins -> IP security rồi chọn add
+Chuột phải vào ip security policles chọn create IP security policls rồi đặt tên là ipsec
+ Xong ta chọn add rồi tiến hành cài đặt Security rule
+ Chọn add để tiến hành cài đặt filter list Đặt tên cho Filter list là ICMP rồi tiếp tục cài đặt Chọn Des và Source address và any hết Protocol type ta chọn ICMP vì ta đang tiến hành kiểm tra gói ping.
+ Sau khi cài đặt IP filter list ta tiến hành cài filter action Chọn add -> đặt tên làICMP traffic …-> next đến chỗ IP traffic Security ta chọn custom
+ Cài đặt xác thực Authentication Method Ta chọn xuống Use this string to protect the key exchange Chỗ này ta gõ mật mã chung giữa 2 pc, 2 pc phải gõ chung 1 mật mã không được khác nhau để ping được.
+ Xong ta chọn ok rồi chuột phải vào ipsec -> Assign để nó được kích hoạtB5: Tiến hành cài đặt tương tự trên máy 2.
B6: Sau khi cài đặt IPsec trên 2 pc ta tiến hành ping lại lần nữa máy 1 tới máy 2 và kiểm tra gói tin trên network monitor Sau khi ping ta thấy gói tin ping không còn là gói ICMP nữa mà là gói ESP.Các kí tự 32 giờ đã mã hoá thành các kí tự