Kết hợp an ninh SA và giao thức trao đổi khóa IKE

Một phần của tài liệu công nghệ ip-vpn (Trang 65 - 119)

3.3.1 Kết hợp an ninh SA

3.3.1.1 Định nghĩa và mục tiêu

IPSec cung cấp nhiều lựa chọn để thực hiện các giải pháp mật mã và xác thực ở lớp mạng. Phần này sẽ định nghĩa các thủ tục quản lý SA cho cả IPv4 và IPv6 để thực thi AH hoặc ESP hoặc cả hai, phụ thuộc vào lựa chọn của người sử dụng. Khi thiết lập kết nối IPSec, hai phía phải xác định chính xác các thuật toán nào sẽ được sử dụng, loại dịch vụ nào cần đảm bảo an toàn. Sau đó bắt đầu xử lý thương lượng để chọn một tập các tham số và các giải thuật toán học áp dụng cho mã hóa bảo mật hay nhận thực. Theo IETF thì dịch vụ bảo mật quan hệ giữa hai hoặc nhiều thực thể để thỏa thuận truyền thông an toàn được gọi là SA (Security Association).

Một SA là một kết nối đơn công, nghĩa là với mỗi cặp truyền thông với nhau, có ít nhất 2 SA (một từ A tới B và một từ B tới A). Khi lưu lượng cần truyền trực tiếp 2 chiều qua VPN, giao thức trao đổi khóa IKE (Internet Key Exchange) thiết lập một cặp SA trực tiếp và sau đó có thể thiết lập thêm nhiều SA khác. Mỗi SA có một thời gian sống riêng. SA được nhận dạng duy nhất bởi bộ 3 gồm có: chỉ dẫn thông số an ninh (SPI), địa chỉ IP đích và một nhận dạng giao thức an toàn (AH hay ESP). Tập các giá trị SPI trong dãy từ 1 đến 255 được để dành bởi IANA để sử dụng cho tương lai. Theo nguyên lý, địa chỉ IP đích có thể là một địa chỉ đơn nhất (unicast), một địa chỉ quảng bá (broadcast) hay một địa chỉ nhóm (multicast). Tuy nhiên, cơ chế quản lý SA IPSec hiện nay được định nghĩa chỉ cho những SA đơn nhất (unicast).

Một lên kết an ninh có thể là một trong hai kiểu: Transport và Tunnel, phụ thuộc vào kiểu của giao thức sử dụng SA. Một SA kiểu Transport là một liên kết an toàn giữa hai host, hoặc liên kết an toàn được yêu cầu giữa hai hệ thống trung gian dọc trên đường

truyền. Trong trường hợp khác, kiểu Transport cũng có thể được sử dụng để hỗ trợ IP- in-IP hay đường ngầm GRE qua các SA kiểu Transport. SA kiểu Tunnel là một SA cơ bản được ứng dụng tới một đường ngầm IP. Một SA giữa 2 cổng an toàn là một SA kiểu Tunnel điển hình giống như một SA giữa một host và một cổng an toàn. Tuy nhiên, trong những trường hợp mà lưu lượng đã được định hình từ trước như những lệnh SNMP, cổng an toàn làm nhiệm vụ như host và kiểu Transport được cho phép.

SA cung cấp nhiều lựa chọn cho các dịch vụ IPSec, nó phụ thuộc vào giao thức an toàn được lựa chọn (AH hay ESP), kiểu SA, điểm kết thúc của SA đó và một sự tuyển chọn của các dịch vụ tùy ý các bên trong giao thức đó. Ví dụ như khi sử dụng AH để xác minh nguồn gốc dữ liệu, tính toàn vẹn phi kết nối cho gói IP, có thể sử dụng dịch vụ chống phát lại hoặc không tùy thuộc vào các bên.

Khi một bên IP-VPN muốn gửi lưu lượng IPSec tới đầu bên kia, nó kiểm tra để biết nếu có một đã tồn tại một SA trong cơ sở dữ liệu hay chưa để hai bên có thể sử dụng dịch vụ an ninh theo yêu cầu. Nếu nó tìm được một SA tồn tại, nó để SPI của SA này trong tiêu đề IPSec, thực hiện các thuật toán mã hóa và gửi gói tin đi. Bên thu sẽ lấy SPI, địa chỉ đích và giao thức IPSec (AH hay ESP) và tìm SA trong cơ sở dữ liệu phù hợp để xử lý gói tin đó. Lưu ý rằng một đầu cuối IP-VPN có thể đồng thời tồn tại nhiều kết nối IPSec, vì vậy cũng có nghĩa là tồn tại nhiều SA.

3.3.1.2 Kết hợp các SA

Các gói IP truyền qua một SA riêng biệt được cung cấp sự bảo vệ một cách chính xác bởi giao thức an ninh có thể là AH hoặc ESP nhưng không phải là cả hai. Đôi khi một chính sách an toàn có thể được gọi cho một sự kết hợp của các dịch vụ cho một luồng giao thông đặc biệt mà không thể thực hiện được với một SA đơn lẻ. Trong trường hợp đó cần thiết để giao cho nhiều SA thực hiện chính sách an toàn được yêu cầu. Thuật ngữ cụm SA được sử dụng để một chuỗi các SA xuyên qua lưu lượng cần được xử lý để thỏa mãn một tập chính sách an toàn.

Đối với kiểu Tunnel, có 3 trường hợp cơ bản của kết hợp an ninh như sau:

1) Cả hai điểm cuối SA đều trùng nhau: mỗi đường ngầm bên trong hay bên ngoài là AH hay ESP, mặc dù host 1 có thể định rõ cả hai đường ngầm là như nhau, tức là AH bên trong AH và ESP bên trong ESP.

Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau

2) Một điểm cuối SA trùng nhau: đường hầm bên trong hay bên ngoài có thể là AH hay ESP.

Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau

3) Không có điểm cuối nào trùng nhau: Mỗi đường hầm bên trong và bên ngoài là AH hay ESP.

Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau

Chi tiết về kết hợp các SA có được trình bày trong RFC 2401.

3.3.1.3 Cơ sở dữ liệu SA

Có hai cơ sở dữ liệu, đó là: Cơ sở dữ liệu chính sách an ninh (Security Policy Database SPD) và có sở dữ liệu kết hợp an ninh (Security Association Database SAD).

Host 1

Host 1 Security Gwy 1 Security

Gwy 1 Interne SecurityGwy 2SecurityGwy 2 Host 2Host 2 t

Security Association 1 (Tunnel) Security Association 2 (Tunnel)

Host 1

Host 1 Security Gwy 1 Security

Gwy 1 Interne SecurityGwy 2SecurityGwy 2 Host 2Host 2 t

Security Association 1 (Tunnel)

Security Association 2 (Tunnel)

Host 1 (adsbygoogle = window.adsbygoogle || []).push({});

Host 1 Security Gwy 1 Security

Gwy 1 SecurityGwy 2

Security

Gwy 2 Host 2Host 2 Interne

t

SA 1 (Tunnel)

1) SPD: chỉ ra các dịch vụ an toàn được đề nghị cho lưu lượng IP, phụ thuộc vào các nhân tố như nguồn, đích, đi ra hay đi về. Nó chứa đựng một danh sách những lối vào chính sách, tồn tại riêng rẽ cho lưu lượng đi vào và đi ra. Các lối vào này có thể nhận định một vài lưu lượng không qua xử lý IPSec, một vài phải được loại bỏ và còn lại thì được xử lý bởi IPSec. Các lối vào này là tương tự cho firewall hay bộ lọc gói.

2) SAD: chứa thông số về mỗi SA, giống như các tính toán và khóa AH hay ESP, số trình tự, kiểu giao thức và thời gian sống SA. Cho xử lý đi ra, một lối vào SPD trỏ tới một lối vào trong SAD. SAD quyết định SA nào được sử dụng cho một gói đã cho. Cho xử lý đi về, SAD được tham khảo để quyết định gói được xử lý như thế nào.

3.3.2 Giao thức 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. 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. 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 (adsbygoogle = window.adsbygoogle || []).push({});

Permit Deny Permit

Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny

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.

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). (adsbygoogle = window.adsbygoogle || []).push({});

* Đị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

Một phần của tài liệu công nghệ ip-vpn (Trang 65 - 119)