Quản lý khóa với IKE

Một phần của tài liệu Đồ án Bảo mật thông tin IPSEC và TRIỂN KHAI HỆ THỐNG IPSECVPN TRÊN WINDOWS SERVER (Trang 32)

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án mã 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 toán mã hóa.

- 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 làm gì ? Nó 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ưu

trữtrong cơ sở dữ liệu của SA. 5.2 IKE Phases :

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 33

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ênh bả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.

5.2.1 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. Theo sau 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.

5.2.2Giai đ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.

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 34 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:

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

+ 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.

* Aggressive mode :

- Về bản chất giống Main mode. Chỉ khác nhau thay vì main mode có 6 thông điệp thì chếđộ

này chỉcó 3 thông điệp được trao đổi. Do đó, Aggressive mode nhanh hơn Main mode. Các thông điệp bao gồm:

+ Thông điệp đầu tiên dùng đểđưa ra chính sách bảo mật , pass data cho khóa chính và trao đổi nonces cho việc ký và xác minh tiếp theo.

+ Thông điệp kế tiếp hồi đáp lại cho thông điệp đầu tiên. Nó xác thực người nhận và hoàn thành chính sách bảo mật bằng các khóa.

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 35 CảMain mode và Aggressive mode đều thuộc giai đoạn 1.

* Quick mode:

- Chếđộ này nằm ởgiai đoạn 2. Nó dùng để thỏa thuận SA cho các dịch vụ bảo mật IPSec. Ngoài ra, Quick mode cũng có thể phát sinh khóa chính mới. Nếu chính sách của Perfect

Forward Secrecy (PFS) được thỏa thuận trong giai đoạn 1, một sựthay đổi hoàn toàn Diffie-

Hellman key được khởi tạo. Mặt khác, khóa mới được phát sinh bằng các giá trịbăm.

* New group mode :

- Được dùng để thỏa thuận một private group mới nhằm tạo điều kiện trao đổi Diffie-Hellman

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 36 Mặc dù chếđộnày được thực hiện sau giai đoạn 1 nhưng nó không thuộc giai đoạn 2.

* Ngoài 4 chếđộ phổ biến trên còn có thêm Information mode. Chếđộ này kết hợp với quá trình

thay đổi của giai đoạn 2 và SAs. Chếđộ này cung cấp cho các bên có liên quan một số thông tin thêm, xuất phát từ những thất bại trong quá trình thỏa thuận. Ví dụ, nếu việc giải mã thất bại tại

người nhận hoặc chữký không được xác minh thành công, Informational mode được dùng để

thông báo cho các bên khác biết.

6:PF key trong IPSEC:

6.1:Giới thiệu:

Khảnăng tương tác khác nhau của IPSec và IKE là một vấn đề hiện thực quan trọng để có thể

triển khai rộng rãi IPSec. Liệu có thể thực thi IPSec và IKE ở 2 máy khác nhau trong cùng 1

host?? Điều đó phụ thuộc vào định dạng, nội dung, và trình tự các tin nhắn trao đổi giữa máy thực thi IPSec và máy thực thi IKE. PF_Key được tạo ra như là một nỗ lực nhằm tiêu chuẩn hóa việc liên lạc cục bộ, thúc đẩy khảnăng tương tác IPSec-IKE.

Trong hình thức chung nhất, PF_Key là một giao diện trình ứng dụng (API: Application

Programming Interface) giữa 1 ứng dụng trao đổi SA, chẳng hạn như là IKE, và mức độ hệ thống

thường hay tạo và truy cập vào Cơ sở dữ liệu SA.

Trong thực tế, 1 quy trình IPSec thông thường thể hiện 2 chức năng khác nhau: (adsbygoogle = window.adsbygoogle || []).push({});

_Tạo ra và duy trì SAD.

_Ứng dụng 1 SA cụ thểtrên đường truyền vào-ra.

Việc tạo ra và duy trì SAD bao gồm: thêm IPSec SAs vào SAD, nhận SAs từ SAD và xóa các SAs hết hạn ra khỏi SAD.

PF_Key RFC sử dụng thời hạn “key engine” để mô tả, định rõ các IPSec thường tạo ra và duy trì SAD. Mặc dù IKE đúng ra được gọi là một ứng dụng hay chương trình trao đổi SA, nhưng do

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 37 6.2. Cấu tạo:

a.PF_Key API bao gồm 10 tin nhắn:

1.SADB_Register: IKE gởi 2 tin nhắn SADB_Register đến IPSec nhằm thông báo rằng IKE lúc này có thểthương lượng, trao đổi cả 2 loại IPSec SAs: AH và ESP.

2.SADB_Acquire: Khi 1 trình ứng dụng truyền ra ngoài với sựđòi hỏi bảo vệ của IPSec, nhưng

SA thì không có SA thích hợp, lúc đó IPSec gởi 1 SADB_Acquire tới tất cả trình ứng dụng đã

đăng ký, bao gồm luôn cả IKE.

3.SADB_GetSPI: Đểtrao đổi 1 IPSec SA, IKE đầu tiên phải tạo ra 1 SPI bên trong. SPI là một loại khá độc nhất dùng để truy cập và nhận biết SA. SPI được gởi trong tin Quick Mode thứ nhất hay thứ hai với IPSec SA dự kiến. Để chắc rằng 1 SPI là duy nhất và thích hợp với mọi ràng buộc cục bộ, tốt nhất là IPSec tạo tất cảcác SPI. Đó là chức năng của SADB_GetSPI gởi đến IPSec. Một giá trị của IPSec SPI phải lớn hơn 255.

4.SADB_Update: Mỗi một IKE thỏa mãn, việc trao đổi IPSec SA hoàn thành, “larval” (1 phần IPSec SA) bên trong IPSec SA sẽ truyền đến SAD. IKE gởi 1 SADB_Update tới IPSec , bao gồm tất cả các thông số IPSec SA đã được đàm phán.

5.SADB_Add: Một PF_Key SADB_Add được dùng đến khi 1 SA được thêm vào SAD, với đầy

đủ hình thức của nó. Một tin nhắn SADB_Add, trừđi khóa bí mật, sau đó được trả về từ IPSec tới tất cả trình ứng dụng đã đăng ký.

6.SADB_Get: Ta có 1 ví dụnhư sau, một nhà quản trị mạng muốn kiểm tra định kỳ toàn bộ

SAD hoặc một sốSA đặc biệt nào đó trong SAD, lúc đó, một SADB_Get có thểđược gởi từ 1 trình ứng dụng đặc quyền đến IPSec nhằm yêu cầu thông tin về 1 SA cụ thểnào đó.

7.SADB_Dumb: Giống như cách thức việc sử dụng SADB_Get, SADB_Dumb được dùng để

hiển thị tất cả các SA trong SAD, hoặc là các SA cụ thểnào đó. Một ứng dụng đặc quyền gởi

đến IPSec 1 SADB_Dump, IPSec sau đó sẽ gởi số thứ tự của SADB_Dump, có chứa thông tin của mổi SA, trở về các trình ứng dụng đã phát ra SADB_Dump đó.

8.SADB_Expire: Khi thời gian sử dụng sắp hết, IPSec sẽ gởi 1 SADB_Expire đến IKE nhằm gợi ý rằng IKE nên bắt đầu đàm phán 1 SA mới. Một tin nhắn SADB_Dump bao gồm thời gian sử dụng hiện tại của SA, thờgian đã dùng, gói đã gởi…

9.SADB_Delete: Khi một IPSec SA đã hết hạn hay cần được xóa (do vi phạm lỗi hệ thống hay vấn đề bảo mật…), IKE sẽ gởi 1 SADB_Delete tới IPSec. Một SA tương ứng sẽđược bố trí trong SAD, phù hợp với địa chỉ nguồn, địa chỉđích và SPI. IPSec xóa SA và gởi thông báo SADB_Delete tới các trình ứng dụng đã đăng ký.

10.SADB_Flush: Cũng như SADB_Dump là một tổng quát của SADB_Get, SADB_Flush cũng

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 38 cách xóa tất cả các SA cụ thểnào đó, cũng như tất cả các IPSec SA, hoặc tất cả các SA trong SAD, hoặc bất kể loại gì. Một chương trình ứng dụng đặc quyền hoặc chương trình trao đổi khóa có thểdùng SADB_Flush để thực hiện chức năng này. Mỗi khi IPSec xóa tất cả các SA có liên quan, nó sẽ thông báo SADB_Flush lại tất cả các trình ứng dụng đã đăng ký.

b.Kết cấu của 1 PF_Key message:

Mỗi PF_Key chứa các thành phần bất biến, tiêu đề tin nhắn nền tảng, bao gồm các thông tin dưới

đây:

.PF_Key message type: loại PF_Key message, chẳng hạn như SADB_Register, SADB_Flush…

.PF_Key sequence number: giá trịnày được tạo ra bởi IPSec trong SADB_Acquire nhằm bắt

đầu một dãy sốđặc biệt của PF_Key và được bao gồm trong các phần tiếp theo của quá trình tạo

SA và đàm phán. (adsbygoogle = window.adsbygoogle || []).push({});

.Key management program process ID: Nó bằng không nếu việc trao đổi tin nhắn được khởi tạo bởi IPSec. Nếu thông điệp trao đổi (chẳng hạn như SADB_GetSPI…) được khởi tạo bởi

chương trình quản lý khóa và thông báo lại bởi IPSec, nó sẽ chứa PID của chương trình trao đổi khóa khởi tạo.

Nhằm bổsung cho các tiêu đề tin nhắn cơ bản, hầu hết PF_Key chứa một hoặc nhiều tiêu đề mở

rộng. Với mỗi PF_Key loại này, tiêu đề mở rộng được yêu cầu và tùy chọn. Chúng gồm các thành phần sau:

_Security Association: sự kết hợp an toàn _Lifetime: thời gian sống

_Address: địa chỉ

_Key: khóa

_Identify: nhận dạng

_Proposal: đề xuất

_Algorithms Supported: thuật toán hỗ trợ

_SPI Range: dãy SPI.

7Mục đích và ưu khuyết điểm khi dùng IPSEC

Đồ án bảo mật thông tin –IPSEC và Triển khai hệ thống IPSEC/VPN trên Windows Server 2003 39

Được dùng để bảo mật dữ liệu cho các chuyển giao thông tin qua mạng. Người quản trị chính sách này bao gồm bộ lọc chỉ rõ loại lưu lượng nào đòi hỏi phải mã hóa ( encryption ) , xác nhận (digital signing) hoặc cảhai. Sau đó mỗi gói máy tính gửi đi được ấn định để tự nhận thấy liệu có phù hợp với điều kiện của chính sách. Tiến trình này trong suốt với người dùng.

b.Ưu điểm khi dùng IPSEC:

Thuận lợi chính khi dùng IPSEC là cung cấp được giải pháp mã hóa cho tất cả các giao thức hoạt

động tại lớp 3 – Network Layer (OSI model), và cả các giao thức lớp cao hơn. Nó có khảnăng cung cấp :

-Chứng thực hai chiều trước và trong suốt quá trình giao tiếp.

-Sự tin cậy qua việc mã hóa và xác nhận số các gói. IPSEC có hai chếđộ (ESP) cung cấp cơ chế

mã hóa dùng nhiều thuật toán khác nhau, và AH xác nhận các thông tin chuyển giao mà không mã hóa.

-Toàn vẹn lưu lượng IP bằng cách loại bỏlưu lượng đã được thay đổi. CảESP và AH đều được

dùng để xác nhận tính toàn vẹn của tất cảlưu lượng IP. Nếu gói đã đựơc thay đổi thì chữ kí số

sẽkhông đính kèm và gói sẽ bị hủy.

-Ngăn chặn tấn công replay. IPSEC dùng kỹ thuật đánh số liên tiếp (sequence numbers ) cho các gói dữ liệu của mình nhằm làm cho attacker không thể sử dụng được các dữ liệu chặn được với ý

đồ bất hợp pháp. Việc dùng Sequencer numbers còn giúp bảo vệ dùng những thông tin lấy được bằng cách chặn và đánh cắp dữ liệu để truy cập bất hợp pháp vào lúc khác.

Ví dụ về sử dụng IPSEC : Như ta đã biết, việc truyền thông tin qua mạng là thuận tiện nhưng đi kèm theo đó là những nguy cơ đáng e ngại có thể gây thiệt hại cho hoạt động của các tổ chức. Do

đó, mỗi một tổ chức cần trang bị và xây dựng cho mình những hệ thống bảo mật chặt chẽ các thông tin quan trọng như dữ liệu thông tin nhân viên hay báo cáo tài chính, kế hoạch

marketing… Trong trường hợp nên sử dụng IPSEC đểđảm bảo an toàn của truyền thông mạng. Có thể tạo các IPSEC policies cho các computer kết nối với Server (nắm giữ những dữ liệu quan trọng). IPSEC policy sẽ bảo vệ dữ liệu của tổ chức khỏi những mối đe dọa từ bên ngoài.

c.Khuyết điểm khi dùng IPSEC:

Khi ứng dụng IPSEC vào VPN ta có IPSEC VPN và khi dùng SSL (cũng là một giao thức bảo mật đang được hướng đến do một sốtính năng dễ chịu mà nó mang lại) trong VPN ta có SSL/VPN. Sự so sánh giữa IPSEC VPN và SSL VPN sẽ cho thấy được những khuyết điểm của IPSEC khi ứng dụng vào một trường hợp cụ thể là mạng riêng ảo VPN. (adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Đồ án Bảo mật thông tin IPSEC và TRIỂN KHAI HỆ THỐNG IPSECVPN TRÊN WINDOWS SERVER (Trang 32)