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. Chính vì vậy, IETF đã chọn phương án chia quá trình ra làm hai phần: IPSec cung cấp việc xử lý ở mức gói, còm IKMP (Internet Key Management Protocol) chịu trách nhiệm thỏa thuận các kết hợp an ninh. Sau khi cân nhắc các phương án, trong đó có SKIP (Simple Key Internet Protocol), và Photuis, IETF đã quyết định chọn IKE (Internet Key Exchange) là chuẩn để cấu hình SA cho IPSec.
Một đường ngầm IPSec IP-VPN được thiết lập giữa hai bên qua các bước như sau:
Bước 1: Quan tâm đến lưu lượng được nhận hoặc sinh ra từ các bên IPSec IP- VPN tại một giao diện nào đó yêu cầu thiết lập phiên thông tin IPSec cho lưu lượng đó.
Bước 2: Thương lượng chế độ chính (Main Mode) hoặc chế độ tấn công (Aggressive Mode) sử dụng IKE cho kết quả là tạo ra liên kết an ninh IKE (IKE SA) giữa các bên IPSec.
Bước 3: Thương lượng chế độ nhanh (Quick Mode)sử dụng IKE cho kết quả là tạo ra 2 IPSec SA giữa hai bên IPSec.
Bước 4: Dữ liệu bắt đầu truyền qua đường ngầm mã hóa sử dụng kỹ thuật đóng gói ESP hoặc AH (hoặc cả hai).
Bước 5: Kết thúc đường ngầm IPSec VPN. Nguyên nhân có thể là do IPSec SA kết thúc hoặc hết hạn hoặc bị xóa.
Tuy là chia thành 4 bước, nhưng cơ bản là bước thứ 2 và bước thứ 3, hai bước này định ra một cách rõ ràng rằng IKE có tất cả 2 pha. Pha thứ nhất sử dụng chế độ chính hoặc chế độ tấn công để trao đổi giữa các bên, và pha thứ hai được hoàn thành nhờ sử dụng trao đổi chế độ nhanh.
Hình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE
Sau đây chúng ta sẽ đi xem xét cụ thể các bước và mục đích của các pha IKE.
3.3.2.1 Bước thứ nhất
Việc quyết định lưu lượng nào cần bảo vệ là một phần trong chính sách an ninh của mạng VPN. Chính sách được sử dụng để quyết định cần bảo vệ lưu lượng nào (những lưu lượng khác không cần bảo vệ sẽ được gửi dưới dạng văn bản rõ).
Chính sách an ninh sẽ được phản chiếu trong một danh sách truy nhập. Các bên phải chứa danh sách giống nhau, và có thể có đa danh sách truy nhập cho những mục đích khác nhau giữa các bên. Những danh sách này được gọi là các danh sách điều khiển truy nhập (ACLs- Acess Control List). Nó đơn giản là danh sách truy nhập IP mở rộng của các routers được sử dụng để biết lưu lượng nào cần mật mã. ACLs làm việc khác nhau dựa vào mục đích các câu lệnh permit (cho phép) và denny (phủ nhận) là khác nhau. Hình 3.17 trình bày kết quả của các trạng thái khi thực hiện lệnh permit và deny của nguồn và đích:
Hình 3.17: Danh sách bí mật ACL
Từ khóa permit và deny có ý nghĩa khác nhau giữa thiết bị nguồn và đích:
• Permit tại bên nguồn: cho qua lưu lượng tới IPSec để nhận thực, mật mã hóa hoặc cả hai. IPSec thay đổi gói tin bằng cách chèn tiêu đề AH hoặc ESP và có thể mật mã một phần hoặc tất cả gói tin nguồn và truyền chúng tới bên đích.
• Deny tại bên nguồn: cho đi vòng lưu lượng và đưa các gói tin bản rõ tới bên nhận.
• Permit tại bên đích: cho qua lưu lượng tới IPSec để nhận thực, giải mã, hoặc cả hai. ACL sử dụng thông tin trong header để quyết định. Trong logic của ACL, nếu như header chứa nguồn, đích, giao thức đúng thì gói tin đã được xử lý bởi IPSec tại phía gửi và bây giờ phải được xử lý ở phía thu. • Deny tại bên đích: cho đi vòng qua IPSec và giả sử rằng lưu lượng đã được
gửi ở dạng văn bản rõ.
Khi những từ khóa permit và deny được kết hợp sử dụng một cách chính xác, dữ liệu được bảo vệ thành công và được truyền. Khi chúng không kết hợp chính xác, dữ liệu bị loại bỏ. Bảng 3.2 trình bày kết hợp các lệnh permit và deny và kết quả thực hiện cho các kết hợp:
Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny
Clear-Text Packet IPSec Crypto ACL AH or ESP
Packet AH or ESP or Clear-Text Packet Clear-Text Packet IPSec Crypto ACL AH or ESP Packet Source Peer Destination Peer
Permit Deny Permit
Nguồn Đích Kết quả
Permit Permit Đúng
Permit Deny Sai
Deny Permit Sai
Deny Deny Đúng
3.3.2.2 Bước thứ hai
Bước thư hai này chính là IKE pha thứ nhất. Mục đích của IKE pha thứ nhất: - Đồng ý một tập các tham số được sử dụng để nhận thực hai bên và mật
mã một phần chế độ chính và toàn bộ trao đổi thực hiện trong chế độ nhanh. Không có bản tin nào ở chế độ tấn công được mật mã nếu chế độ tấn công được sử dụng để thương lượng.
- Hai bên tham gia IP-VPN nhận thực với nhau.
- Tạo khóa để sử dụng làm tác nhân sinh ra khóa mã hóa mã hóa dữ liệu ngay sau khi thương lượng kết thúc.
Tất cả thông tin thương lượng trong chế độ chính hay chế độ tấn công, bao gồm khóa sau đó sử dụng để tạo khóa cho quá trình mật mã dữ liệu, được lưu với tên gọi là IKE SA hay ISAKMP SA (liên kết an ninh IKE hay ISAKMP). Bất kỳ bên nào trong hai bên cũng chỉ có một ISAKMP liên kết an ninh giữa chúng.
Computer Computer Host B Host A Router A Router B IKE pha 1 Chế độ chính Thương lượng chính sách Thương lượng chính sách Trao đổi Diffie-Hellman Trao đổi Diffie-Hellman Kiểm tra nhận dạng các bên Kiểm tra nhận dạng các bên
Hình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode)
Chế độ chính có trao đổi 6 bản tin (tức là có 3 trao đổi 2 chiều) giữa hai bên khởi tạo và biên nhận:
- Trao đổi thứ nhất: Các thuật toán mật mã và xác thực (sử dụng để bảo vệ các trao đổi IKE) sẽ được thỏa thuận giữa các đối tác.
- Trao đổi thứ hai: Sử dụng trao đổi Diffie-Hellman để tạo khóa bí mật chia sẻ (shared secret keys), trao đổi các số ngẫu nhiên (nonces) để khẳng định nhận dạng của mỗi đối tác. Khóa bí mật chia sẻ được sử dụng để tạo ra tất cả các khóa bí mật và xác thực khác.
- Trao đổi thứ ba: xác minh nhận dạng các bên (xác thực đối tác). Kết quả chính của chế độ chính là một đường truyền thông an toàn cho các trao đổi tiếp theo của hai đối tác.
Chế độ nhanh thực hiện trao đổi 3 bản tin. Hầu hết các trao đổi đều được thực hiện trong trao đổi thứ nhất: thỏa thuận các tập chính sách IKE, tạo khóa công cộng Diffie-Hellman, và một gói nhận dạng có thể sử dụng để xác định nhận dạng thông qua một bên thứ ba. Bên nhận gửi trở lại mọi thứ cần thiết để hoàn thành việc trao đổi. Cuối cùng bên khởi tạo khẳng định việc trao đổi.
a) Các tập chính sách IKE
Khi thiết lập một kết nối IP-VPN an toàn giữa hai host A và host B thông qua Internet, một đường ngầm an toàn được thiết lập giưa router A và router B. Thông qua đường hầm, các giao thức mật mã, xác thực và các giao thức khác được thỏa thuận. Thay vì phải thỏa thuận từng giao thức một, các giao thức được nhóm thành các tập và được gọi là tập chính sách IKE (IKE policy set). Các tập chính sách IKE được trao đổi trong IKE pha thứ nhất, trao đổi thứ nhất. Nếu một chính sách thống nhất được tìm thấy ở hai phía thì trao đổi được tiếp tục. Nếu không tìm thấy chính sách thống nhất nào, đường ngầm sẽ bị loại bỏ. Ví dụ Router A gửi các tập chính sách IKE policy 10 và IKE plicy 20 tới router B. Router B so sánh với tập chính sách của nó, IKE policy 15, với các tập chính sách nhận được từ router A . Trong trường hợp này, một chính sách thống nhất được tìm thấy: IKE policy 10 của router A và IKE policy 15 của router B là tương đương. Trong ứng dụng điểm - tới - điểm, mỗi bên chỉ cần định nghĩa một tập chính sách IKE. Tuy nhiên ở mạng trung tâm có thể phải định nghĩa nhiều chính sách IKE để đáp ứng nhu cầu của tất cả các đối tác từ xa.
b) Trao đổi khóa Diffie-Hellman
Trao đổi khóa Diffie-Hellman là một phương pháp mật mã khóa công khai cho phép hai bên thiết lập một khóa bí mật chung qua một môi trường truyền thông không an toàn (xem chi tiết trong chương 4). Có 7 thuật toán hay nhóm Diffie-Hellman được định nghĩa: DH 1÷7. Trong IKE pha thứ nhất, các bên phải thỏa thuận nhóm Diffie-
Hellman được sử dụng. Khi đã hoàn tất việc thỏa thuận nhóm, khóa bí mật chung sẽ được tính.
c) Xác thực đối tác
Xác thực đối tác là kiểm tra xem ai đang ở phía bên kia của đường ngâm VPN. Các thiết bị ở hai đầu đường ngầm IP-VPN phải được xác thực trước khi đường truyền thông được coi là an toàn. Trao đổi cuối cùng của IKE pha thứ nhất có mục đích như xác thực đối tác.
Có hai phương thức xác thực nguồn gốc dữ liệu chủ yếu là đối tác: Khóa chia sẻ trước (Pre-shared keys) và chữ ký số (RSA signatures). Chi tiết về các thuật toán xác thực được đề cập trong chương 4.
3.3.2.3 Bước thứ ba
Bước thứ 3 này chính là IKE pha 2. Mục đích của IKE pha 2 là để thỏa thuận các thông số an ninh IPSec sử dụng để bảo vệ đường ngầm IPSec. Chỉ có một chế độ nhanh được sử dụng cho IKE pha 2. IKE pha 2 thực hiện các chức năng sau:
- Thỏa thuận các thông số anh ninh IPSec (IPSec Security parameters), các tập chuyển đổi IPSec (IPSec transform sets).
- Thiết lập các kết hợp an ninh IPSec (IPSec Security Associations).
- Định kỳ thỏa thuận lại IPSec SA để đảm bảo tính an toàn của đường ngầm
- Thực hiện một trao đổi Diffie-Hellman bổ sung (khi đó các SA và các khóa mới được tạo ra, làm tăng tính an toàn cho đường ngầm).
Chế độ nhanh cũng được sử dụng để thỏa thuận lại một kết hợp an ninh mới khi kết hợp an ninh cũ đã hết hạn. Khi đó các bên có thể không cần quay trở lại bước thứ 2 nữa mà vẫn đảm bảo thiết lập một SA cho phiên truyền thông mới.
a) Các tập chuyển đổi IPSec Computer Computer Host B Host A Router A Router B Thỏa thuận các tập chuyển đổi Tập chuyển đổi 30 ESP 3DES SHA Tunnel Lifetime Tập chuyển đổi 50 ESP 3DES SHA Tunnel Lifetime Tập chuyển đổi 40 ESP DES MD5 Tunnel Lifetime
Hình 3.19: Các tập chuyển đổi IPSec
Mục đích cuối cùng của IKE pha 2 là thiết lập một phiên IPSec an toàn giữa hai điểm cuối VPN. Trước khi thực hiện được điều đó, mỗi cặp điểm cuối lần lượt thỏa thuận mức độ an toàn cần thiết (ví dụ các thuật toán xác thực và mật mã dùng trong phiên đó). Thay vì phải thỏa thuận riêng từng giao thức đơn lẻ, các giao thức được nhóm thành các tập, chính là các tập chuyển đổi IPSec. Các tập chuyển đổi này được trao đổi giữa hai phía trong chế độ nhanh. Nếu tìm thấy một tập chuyển đổi tương đương ở hai phía thì quá trình thiết lập phiên tiếp tục, ngược lại thì phiên đó sẽ bị loại bỏ. Ví dụ router A gửi tập chuyển đổi 30 và 40 tới router B, router B kiểm tra thấy tập chuyển đổi 50 phù hợp với tập chuyển đổi 30 của router A, các thuật toán xác thực va mật mã trong các tập chuyển đổi này hình thành một kết hợp an ninh.
b) Thiết lập kết hợp an ninh
Khi một tập chuyển đổi đã được thống nhất giữa hai bên, mỗi thiết bị IP-VPN sẽ đưa thông tin này vào một cơ sở dữ liệu. Thông tin này được biết đên như là một kết hơp an ninh. Thiết bị IP-VPN sau đó sẽ đanh số mỗi SA bằng một chỉ số SPI. Khi có yêu cầu gửi gói tin giữa hai đầu VPN, các thiết bị sẽ dựa vào địa chỉ đối tác, các chỉ số SPI, thuật toán IPSec được dùng để xử lý gói tin trước khi truyền trong đường ngầm. Chi tiết về SA được trình bày trong phần 3.3.1.
c) Thời gian sống của một kêt hợp an ninh
Thời gian sống của một kết hợp an ninh càng lớn thì càng có nhiều khả năng mất an toàn. Để đảm an toàn cho phiên truyền thông thì các khóa và các SA phải được thay đổi thường xuyên. Có hai cách tính thời gian sống của SA: tính theo số lượng dữ liệu được truyền đi và tính theo giây. Các khóa và SA có hiệu lực cho đến khi hết thời gian tồn tại của SA hoặc đến khi đường ngầm bị ngắt, khi đó SA bị xóa bỏ.
3.3.2.4 Bước thứ tư
Sau khi đã hoàn thành IKE pha 2 và chế độ nhanh đã được thiết lập các kết hợp an ninh IPSec SA, lưu lượng có thể được trao đổi giữa các bên IP-VPN thông qua một đường ngầm an toàn. Quá trình xử lý gói tin (mã hóa, mật mã, đóng gói) phụ thuộc vào các thông số được thiết lập của SA.
3.3.2.5 Kết thúc đường ngầm
Các kết hợp an ninh IPSec SA kết thúc khi bị xóa bỏ hoặc hết thời gian tồn tại. Khi đó các bên IP-VPN không sử dụng các SA này nữa và bắt đầu giải phóng cơ sở dữ liệu của SA. Các khóa cũng bị loại bỏ. Nếu ở thời điểm này các bên IP-VPN vẫn còn muốn thông tin với nhau thì một IKE pha 2 mới sẽ thực hiện. Trong trường hợp cần thiết thì cũng có thể thực hiện lại từ IKE pha 1. Thông thường, để đảm bảo tính liên tục của thông tin thì các SA mới được thiết lập trước khi các SA cũ hết hạn.
3.4 Những giao thức đang được ứng dụng cho xử lý IPSec
IPSec sử dụng nhiều giao thức đang tồn tại để mật mã, nhận thực, trao đổi khóa. Điều này giống như duy trì IPSec trở thành tiêu chuẩn ứng dụng cơ bản, làm cho nó có khả năng trở thành phổ biến trong thông tin IP. Một vài giao thức tiêu chuẩn được trình bày sau đây:
3.4.1 Mật mã bản tin
Có thể mật mã bản tin khi sử dụng giao thức ESP IPSec, bản tin mật mã cho phép bạn gửi thông tin nhạy cảm cao qua mạng công cộng mà không sợ bị xâm phạm dữ liệu. Có 2 tiêu chuẩn cơ bản để mật mã dữ liệu hiện nay đang được dùng phổ biến là DES (Data Encryption Standard: tiêu chuẩn mật mã dữ liệu) và tiêu chuẩn phát triển thêm là 3DES (Triple DES: tiêu chuẩn mật mã dữ liệu gấp ba).
3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES
DES là phương pháp mật mã dữ liệu tiêu chuẩn cho một số phát triển VPN. DES áp dụng một khóa 56 bit cho 64 bit dữ liệu. DES có thể cung cấp tới 72*105 khóa đóng
gói dữ liệu. DES được IBM phát triển IBM vào năm 1977 và được U.S Department of Defense (cục phòng thủ Mỹ) chọn, DES đã là một trong những kỹ thuật mật mã mạnh. Nó được xem như là không thể bẻ gãy tại thời điểm đó, nhưng khi máy tính tốc độ cao hơn đã bẻ gãy DES trong khoảng thời gian ngắn (ít hơn một ngày), vì vậy DES không được sử dụng lâu dài cho những ứng dụng bảo mật cao.
Kỹ thuật DES-CBC là một trong rất nhiều phương pháp của DES. CBC (Cipher Block Chaining: chế độ chuỗi khối mật mã) yêu cầu một vectơ khởi tạo IV (Initialization Vector) để bắt đầu mật mã. IPSec đảm bảo cả hai phía IP-VPN cùng có một IV hay một khóa bí mật chia sẻ. Khóa bí mật chia sẻ được đặt vào thuật toán mật mã DES để mật mã những khối 64 bit do văn bản rõ (clear text) chia ra. Văn bản rõ được chuyển đổi thành dạng mật mã và được đưa tới ESP để truyền qua bên đợi, khi xử lý ngược lại sử dụng khóa bí mật chia sẻ để tạo lại văn bản rõ.
3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES
Một phiên bản của DES là 3DES, có tên như vậy vì nó thực hiện 3 quá trình mật mã. Nó sử dụng một quá trình đóng gói, một quá trình mở gói và một quá trình đóng gói khác cùng với khóa 56 bit khác nhau. Ba quá trình này tạo ra một tổ hợp khóa 168 bit, cung cấp đóng gói mạnh.
Trong chương 4 sẽ trình bày cụ thể thuật toán DES.
3.4.2 Toàn vẹn bản tin
Toàn vẹn bản tin được thực hiện nhờ sử dụng một hàm băm toán học để tính toán đặc trưng của bản tin hay của file dữ liệu. Đặc trưng này được gọi là tóm tắt bản tin MD