Đề tài Triển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008

Mục lục

 

Chương I.Tìm hiểu về Window Server 2008

1.Giới thiệu Window Server 2008

2.Các công nghệ của Window Server 2008

2.1.Web

2.2.Ảo hóa

2.3.Bảo mật

2.4.Nền tảng hợp nhất cho công việc của doanh nghiệp

3.So sánh các hệ thống Windows,Linux,Unix

3.1 Windows,Linux(giá cả,tính năng,quản lý,bảo trì,bảo mật .)

3.2 Windows,Unix(giá cả,tính năng,quản lý,bảo trì,bảo mật, .)

Chương II.Tìm hiểu về IPv6

1.Giới thiệu Ipv6

2.Phân loại IPv6

2.1- Unicast Address

a. Global Unicast Address

b. Link-local Addresses

c. Site-Local Addresses

d. Unique Local Address

2.2 Anycast Address

2. 3 Multicast Address

2.4 Các loại địa chỉ IPV6 đặc biệt

3.Header Ipv6

 

 

Chương III. Tìm hiểu IPSec

1.Tổng quan

2.Cấu trúc bảo mật

 

3.Hiện trạng

4.Thiết kế theo yêu cầu

5.Mode

1.Transport mode

2.Tunnel mode

6. Phương thức

6.1Authentication Header (AH)

6.2Encapsulating Security Payload (ESP)

7. Trao đổi khóa trong IPSEC - Key Exchange(IKE)

7.1 Trao đổi khóa trong IpSec - Key Exchange(IKE)

7.1.1 ISAKMP phase 1

7.1.2 ISAKIMP phase 2

7.2 IKE Modes

Chương IV.Demo

 

doc50 trang | Chia sẻ: netpro | Lượt xem: 3230 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Triển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ành 800, hoặc 0008 sẽ được viết thành 8 -- Trong dãy địa chỉ IPv6, nếu có các nhóm số 0 liên tiếp, có thể đơn giản các nhóm này bằng 2 dấu :: ( chí áp dụng khi dãy 0 liên tiếp nhau) Ví dụ 1: FADC:BA98::7654:3210 -> IPv6 có tổng cộng là 8 nhóm, mà ở trên có 4 nhóm, như vậy ở giữa 2 dấu hai chấm, sẽ là 4 nhóm số 0. Vậy địa chỉ trên có thể viết đầy đủ là: FADC:BA98:0:0:0:0:7654:3210 Ví dụ 2: FADC:BA98:7654:3210:: -> có địa chỉ đầy đủ là: FADC:BA98:7654:3210:0:0:0:0 Ví dụ 3: ::FADC:BA98:7654:3210 -> có địa chỉ đầy đủ là: 0:0:0:0:FADC:BA98:7654:3210 Có trường hợp như thế này: Giả sử có địa chỉ 0:0:0:AB65:8952:0:0:0, như vậy để đơn giản địa chỉ này ta có 3 phương án như sau: 1 ::AB65:8952:: 2 ::AB65:8952:0:0:0 3 0:0:0:AB65:8952:: Tuy nhiên chỉ có đáp án 2 và 3 là đúng. Một nguyên tắc nữa cần phải nhớ trong IPv6 là bạn chỉ có thể sử dụng 2 dấu hai chấm một lần với địa chỉ. Không được viết như vầy ::AB65:8952::, vì nếu bạn viết như thế sẽ gây nhầm lần khi dịch ra đầy đủ. Ví dụ: Nếu bạn viết ::AB65:8952::, thì người ta có thể đoán địa chỉ đầy đủ cúa nó như thế này 0:0:AB65:8952:0:0:0:0 hoặc 0:0:0:0:AB65:8952:0:0 , … Sử dụng các địa chỉ IPv6 trong việc truy cập URL Bạn có thể truy cập một trang web bằng tên hoặc bằng địa chỉ IP. Ví dụ  , có địa chỉ IPv4 tương ứng là 64.233.167.104. Vậy bạn hoàn toàn có thể vào website google.com.vn bằng cách gõ:  . Tương tự như vậy bạn có thể truy cập một trang web bằng địa chỉ IPv6 nhưng phải để nó trong cặp dấu {}. Ví dụ: http://{FEDL:8435:7356:EADC:BA98:2010:3280:ABCD} Ngoài ra, bạn cũng có thể thêm số port vào địa chỉ URL, Ví dụ: http://{FEDL:8435:7356:EADC:BA98:2010:3280:ABCD}:80 2.Phân loại IPv6: IPv6 gồm các loại chính sau đây: + Unicast Address: Unicast Address dùng để xác định một Interface trong phạm vi các Unicast Address. Gói tin (Packet) có đích đến là Unicast Address sẽ thông qua Routing để chuyển đến 1 Interface duy nhất + Anycast Address: Anycast Address dùng để xác định nhiều Interfaces. Tuy vậy, Packet có đích đến là Anycast Address sẽ thông qua Routing để chuyển đến một Interface trong số các Interface có cùng Anycast Address, thông thường là Interface gần nhất. Chữ “gần nhất” ở đây được xác định thông qua giao thức định tuyến đang sử dụng + Multicast Address: Multicast Address dùng để xác định nhiều Interfaces. Packet có đích đến là Multicast Address sẽ thông qua Routing để chuyển đến tất cả các Interfaces có cùng Multicast Address nhận thấy IPv6 không có địa chỉ Broadcast vì chức năng của địa chỉ này đã bao gồm trong nhóm địa chỉ Multicast Nói tóm lại, có thể hiểu như sau: Unicast : Gửi tới 1 địa chỉ xác định Multicast: Gửi tới tất cả các thành viên của 1 nhóm Anycast: Gửi tới 1 thành viên gần nhất của 1 nhóm Bây giờ chúng ta sẽ đi sâu vào từng loại : 2.1- Unicast Address: Được chia thành 4 nhóm: a/ Global Unicast Address: Địa chỉ này được sử dụng để hỗ trợ cho các ISP. Nói đại khái cho dễ hiểu là nó giống như địa chỉ Public của IPv4. 001: 3 bits đầu luôn luôn có giá trị = 001 TLA ID( Top Level Aggregation): Xác định nhà cung cấp cao nhất trong hệ thống các nhà cung cấp dịch vụ Res: chưa sử dụng NLA ID (Next Level Aggregation): Xác định nhà cung cấp tiếp theo trong hệ thống các nhà cung cấp dịch vụ SLA ID (Site Level Aggregation): Xác định các site để tạo các subnet Interface ID: Là địa chỉ của Interface trong subnet b/ Link-local Addresses: Đây là loại địa chỉ dùng cho các host khi chúng muốn giao tiếp với các host khác trong cùng mạng. Tất cả IPv6 của các interface đều có địa chỉ link local Theo hình bên dưới, bạn sẽ thấy 10 bits đầu tiên luôn là: 1111 1110 10 54 bits kế tiếp có giá trị bằng 0 -> Như vậy, trong Link Local Address: 64 bit đầu là giá trị cố định không thay đổi (prefix : fe80::/64) + 64 bits cuối cùng là địa chỉ của Interface Và có một lưu ý dành cho bạn: Một router không thể chuyển bất kỳ gói tin nào có địa chỉ nguồn hoặc địa chỉ đích là Link Local Address c/ Site-Local Addresses: Site-Local Addresses được sử dụng trong hệ thống nội bộ (Intranet) tương tự các địa chỉ Private IPv4 (10.X.X.X, 172.16.X.X, 192.168.X.X). Phạm vi sử dụng Site-Local Addresses là trong cùng Site. 10 bits đầu tiên luôn là: 1111 1110 11 (Prefix FEC0::/10) 54 bits kế tiếp : là giá trị Subnet ID 64 bits cuối cùng: là địa chỉ của Interface d/ Unique Local Address: Unique Local Address là địa chỉ định tuyến giữa các subnet trên một private network 1111 1101 : 8 bits đầu là giá trị cố định FD00:: /8 40 bits kế tiếp là Global ID : địa chỉ Site (Site ID). Có thể gán tùy ý 16 bits kế tiếp là Subnet ID : địa chỉ Subnet trong Site, có thể tạo ra 65.536 subnet trong một site 64 bits cuối cùng: là địa chỉ của Interface 2.2- Anycast Address: Anycast Address là địa chỉ đặc biệt có thể gán cho nhiều interface, gói tin chuyển đến Anycast Address sẽ được vận chuyển bởi hệ thống Routing đến Interface gần nhất. Hiện nay, địa chỉ Anycast được sử dụng rất hạn chế, rất ít tài liệu nói về cách sử dụng loại địa chỉ này. Hầu như Anycast addresss chỉ được dùng để đặt cho Router, không đặt cho Host, lý do là bởi vì hiện nay địa chỉ này chỉ được sử dụng vào mục đích cân bằng tải. Ví dụ : khi một nhà cung cấp dịch vụ mạng có rất nhiều khách hàng muốn truy cập dịch vụ từ nhiều nơi khác nhau, nhà cung cấp muốn tiết kiệm nên chỉ để một Server trung tâm phục vụ tất cả, họ xây dựng nhiều Router kết nối khách hàng với Server trung tâm, khi đó mỗi khách hàng có thể có nhiều con đường để truy cập dịch vụ. Nhà cung cấp dịch vụ đặt địa chỉ Anycast cho các Interfaces là các Router kết nối đến Server trung tâm, bây giờ mỗi khách hàng chỉ việc ghi nhớ và truy cập vào một địa chỉ Anycast thôi, tự động họ sẽ được kết nối tới Server thông qua Router gần nhất. Đây thật sự là một cách xử lý đơn giản và hiệu quả Khi tìm hiểu về địa chỉ Anycast, chúng ta sẽ thấy rất nhầm lẫn. Bởi vì nếu như gán địa chỉ này cho một Interface thì nó y như là địa chỉ Unicast, nhưng khi gán cho nhiều Interfaces thì nó lại có vẻ như là địa chỉ Multicast 2.3 Multicast Address: Trong địa chỉ IPv6 không còn tồn tại khái niệm địa chỉ Broadcast. Mọi chức năng của địa chỉ Broadcast trong IPv4 được đảm nhiệm thay thế bởi địa chỉ IPv6 Multicast. Địa chỉ Multicast giống địa chỉ Broadcast ở chỗ điểm đích của gói tin là một nhóm các máy trong một mạng, song không phải tất cả các máy. Trong khi Broadcast gửi trực tiếp tới mọi host trong một subnet thì Multicast chỉ gửi trực tiếp cho một nhóm xác định các host, các host này lại có thể thuộc các subnet khác nhau. Host có thể lựa chọn có tham gia vào một nhóm Multicast cụ thể nào đó hay không (thường được thực hiện với thủ tục quản lý nhóm internet - Internet Group Management Protocol), trong khi đó với Broadcast, mọi host là thành viên của nhóm Broadcast bất kể nó có muốn hay không. 2.4 Các loại địa chỉ IPV6 đặc biệt: a. IPv4-Cpompatible Address (IPv4CA) : Format : 0:0:0:0:0:0:w.x.y.z Trong đó w,x,y,z là các IPv4 Address  Vd : 0:0:0:0:0:0:0:192.168.1.2 IPv4CA là địa chỉ tương thích của một IPv4/IPv6 Node. Khi sử dụng IPv4CA như một IPv6 Destination, gói tin sẽ được đóng gói (Packet) với IPv4 Header để truyền trong môi trường IPv4 b. IPv4-mapped address (IPv4MA) Format : 0:0:0:0:0:FFFF:w.x.y.z (::FFFF:w.x.y.z) Trong đó w,x,y,z là các IPv4 Address Vd : 0:0:0:0:0:FFFF:192.168.1.2 IPv4MA là địa chỉ của một IPv4 Only Node đối với một IPv6 Node, IPv4MA chỉ có tác dụng thông báo và không được dùng như Resource hoặc Destination Address c. 6to4 Address  Là địa chỉ sử dụng trong liên lạc giữa các IPv4/IPv6 nodes trong hệ thống hạ tầng IPv4 (IPv4 Routing Infrastructure). 6to4 được tạo bởi Prefix gồm 64 bits như sau : Prefix = 2002/16 + 32 bits IPv4 Address =64 bits 6to4 Address là địa chỉ của Tunnel (Tulneling Address) định nghĩa bởi RFC 3056 3.Header Ipv6 IPv6 là bản nâng cấp của IPv4 , như trong hình trường Flow Label và Extension headers là những trường được thêm mới vào trong IPv6 Các trường cơ bản của IPv6 Header: • Version(4-bit) – Phiên bản của giao thức IP. Trường này chứa giá trị 6 khác với giá trị 4 của IPv4 • Traffic Class(8-bit) – Trường này có chức nay tương tự trường Type of Service(ToS) trong IPv4. Nó được đánh dấu gói tin IPv6 với mã Differentiated Services Code Point(DSCP), khi một gói tin được đánh dấu DSCP thì các router sẽ biết gói tin được xử lý ưu tiên như thế nào. • Flow Label(20-bit) – Trường này có tác dụng đánh dấu luồng cho gói tin IPv6, nó giúp cho các router chuyển gói tin một cách liên tục từ nguồn tới đích . Flow Label được sử dụng trong IPv6 sẽ hỗ trợ tốt hơn khi thực thi QoS. Khái niệm một dòng (flow): Một dòng (flow) là một chuỗi các gói tin được gửi từ một nguồn tới một đích nhất định (có thể là unicast hay multicast). Nguồn sẽ yêu cầu các router có các xử lí đặc biệt đối với các gói tin thuộc một flow. Việc cần phải xử lí như thế nào đối với gói tin có thể được truyền tới router bằng một thủ tục điều khiển, hoặc cũng có thể là thông tin chứa trong chính gói tin của dòng, ví dụ như header mở rộng hop-by-hop của gói tin. Giữa một nguồn và một đích có thể có nhiều dòng. Việc kết hợp giữa địa chỉ nguồn và một số Flow label khác 0 sẽ xác định duy nhất một dòng. Những gói tin không thuộc dòng nào cả sẽ được thiết lập toàn bộ các bít Flow Label có giá trị 0. Mọi gói tin thuộc cùng một dòng phải được gửi với cùng địa chỉ nguồn, cùng địa chỉ đích, và cùng có một số Flow label khác 0. Router xử lý gói tin sẽ thiết lập trạng thái xử lý đối với một label cụ thể và có thể lựa chọn lưu trữ thông tin (cache), sử dụng giá trị địa chỉ nguồn và flow label làm khoá. Đối với những gói tin sau đó, có cùng địa chỉ nguồn và giá trị flow label, router có thể áp dụng cách thức xử lý dựa trên thông tin hỗ trợ từ vùng cache. Một nguồn IPv6 có thể sử dụng 20 bít flow label trong IPv6 header để xác định gói tin gửi đi trong một dòng nhất định, yêu cầu cách thức cư xử đặc biệt của router. Ví dụ nguồn yêu cầu chất lượng dịch vụ không mặc định hoặc dịch vụ thời gian thực. Tại thời điểm hiện nay, việc sử dụng trường này trong thực thi QoS vẫn nằm ở mức thử nghiệm, các tiêu chuẩn hoá trường này còn chưa hoàn thiện. Hiện nay chưa có một cấu trúc thông dụng cho việc sử dụng nó. IETF đang tiếp tục tiêu chuẩn hoá và đưa ra những yêu cầu rõ ràng hơn cho Internet về hỗ trợ trường Flow Label. Nhiều router, host chưa hỗ trợ việc sử dụng trường label. Đối với những router và host này, toàn bộ các bít của trường label sẽ được thiết lập giá trị 0 và các host, router này bỏ qua trường đó khi nhận được gói tin. • Payload Length(16-bit) - Dùng để đo chiều dài của phần thông tin theo sau IPv6 Header • Next Header(8-bit) – Trường này dùng để xác định loại thông tin đi sau header cơ bản của  IPv6. Các loại thông tin có thể là một giao thức ở lớp trên như TCP hay UDP, hoặc nó cũng có thể là Extension header. Trường này giống với trường Protocol của IPv4 IPv6 Extension headers là một lựa chọn có thể theo sau header cơ bản của IPv6. Một gói tin IPv6 có thể không có, có một hoặc là nhiều extension headers. Như trong hình ..... khi có nhiều extension headers cùng được sử dụng trong gói tin IPv6, thì chúng được tạo thành một chuỗi các danh sách headers và được xác định bởi trường Next header của header trước nó. Khi gói đi từ nguồn đến đích, các Node trung gian không được phép xử lý các Extension Header đến khi đến trạm đích, hoặc những trạm đích (trong trường hợp Multicast) trừ một vài trường hợp ngoại lệ. Và việc xử lý các Header này cũng phải diễn ra theo đúng tuần tự mà các Header sắp xếp trong gói tin IPv6. Không bao giờ được phép xảy ra trường hợp trạm đích quét qua toàn bộ gói tin và chọn ra một Header nào đó để xử lý trước. Trường hợp ngoại lệ như vừa đề cập chính là trường hợp Hop-by-hop Extension Header. Sự hiện diện của Hop-by-hop Extension Header buộc gói tin phải bị kiểm tra bởi tất cả các Node trung gian trên đường từ nguồn đến đích, bao gồm cả trạm nguồn và đích. Vì vậy, Hop-by-hop Extension Header luôn phải đứng sau IPv6 Header. Sự hiện diện của Extension Header này được chỉ thị bởi giá trị 0 trong Next-Header của IPv6 Header. -Hop – by – Hop: là extension header được đặt đầu tiên ngay sau header cơ bản. Header này được sử dụng để xác định những tham số nhất định tại mỗi bước (hop) trên đường truyền dẫn gói tin từ nguồn tới đích. Do vậy sẽ được xử lý tại mọi router trên đường truyền dẫn gói tin.  -Destination: được sử dụng để xác định các tham số truyền tải gói tại đích tiếp theo hoặc đích cuối cùng trên đường đi của gói tin. Nếu trong gói tin có extension header mở "Routing" thì extension header "Destination" mang thông tin tham số xử lý tại mỗi đích tới tiếp theo. Ngược lại, nếu trong gói tin không có extension header "Routing" thì thông tin trong extension header "Destination" là tham số xử lý tại đích cuối cùng. -Routing: đảm nhiệm xác định đường dẫn định tuyến của gói tin. Nếu muốn gói tin được truyền đi theo một đường xác định (không lựa chọn đường đi của các thuật toán định tuyến), node IPv6 nguồn có thể sử dụng extension header “Routing” để xác định đường đi, bằng cách liệt kê địa chỉ của các router mà gói tin phải đi qua. Các địa chỉ thuộc danh sách này sẽ được lần lượt dùng làm địa chỉ đích của gói tin IPv6 theo thứ tự được liệt kê và gói tin sẽ được gửi từ router này đến router khác, theo danh sách liệt kê trong extension header “Routing”. -Fragment: extension header “Fragment” mang thông tin hỗ trợ cho quá trình phân mảnh và tái tạo gói tin IPv6, được sử dụng khi nguồn IPv6 gửi đi gói tin lớn hơn giá trị MTU (Maximum Transmission Unit) nhỏ nhất trong toàn bộ đường dẫn từ nguồn tới đích. Trong hoạt động của địa chỉ IPv4, mọi router trên đường dẫn cần tiến hành phân mảnh gói tin theo giá trị của MTU đặt cho mỗi giao diện, điều này làm giảm hiệu suất của router. Bởi vậy trong địa chỉ IPv6, router không thực hiện phân mảnh gói tin. Việc này được thực hiện tại nguồn gửi gói tin. Node nguồn IPv6 sẽ thực hiện thuật toán tìm kiếm giá trị MTU nhỏ nhất trên toàn bộ một đường dẫn nhất định từ nguồn tới đích (gọi là giá trị PathMTU) và điều chỉnh kích thước gói tin tuỳ theo giá trị này trước khi gửi chúng. Nếu tại nguồn áp dụng phương thức này, nó sẽ gửi dữ liệu có kích thước tối ưu, và không cần thiết xử lý tại tầng IP. Tuy nhiên, nếu ứng dụng không sử dụng phương thức này, nó phải chia nhỏ gói tin có kích thước lớn hơn PathMTU. Trong trường hợp đó, những gói tin này cần được phân mảnh tại tầng IP của node nguồn và mào đầu mở rộng “Fragment” được sử dụng để mang những thông tin phục vụ cho quá trình phân mảnh và tái tạo gói tin IPv6 tại các đầu cuối đường kết nối. -Authentication and Encapsulating Security Payload : trong hoạt động của địa chỉ IPv6, thực thi IPSec được coi là một đặc tính bắt buộc. Tùy từng trường hợp mà IPSec được sử dụng. Khi IPSec được sử dụng, gói tin IPv6 cần có các dạng extension header “Xác thực và Mã hoá". Extension header “Xác thực” dùng để xác thực và bảo mật tính đồng nhất của dữ liệu .Extension header “Mã hoá” dùng để xác định những thông tin liên quan đến mã hoá dữ liệu Chương III. Tìm hiểu IPSec 1.Tổng quan Giao thức IPsec được làm việc tại tầng Network Layer – layer 3 của mô hình OSI. Các giao thức bảo mật trên Internet khác như SSL, TLS và SSH, được thực hiện từ tầng transport layer trở lên (Từ tầng 4 tới tầng 7 mô hình OSI). Điều này tạo ra tính mềm dẻo cho IPsec, giao thức này có thể hoạt động từ tầng 4 với TCP, UDP, hầu hết các giao thức sử dụng tại tầng này. IPsec có một tính năng cao cấp hơn SSL và các phương thức khác hoạt động tại các tầng trên của mô hình OSI. Với một ứng dụng sử dụng IPsec mã (code) không bị thay đổi, nhưng nếu ứng dụng đó bắt buộc sử dụng SSL và các giao thức bảo mật trên các tầng trên trong mô hình OSI thì đoạn mã ứng dụng đó sẽ bị thay đổi lớn 2. Cấu trúc bảo mật IPsec được triển khai (1) sử dụng các giao thức cung cấp mật mã (cryptographic protocols) nhằm bảo mật gói tin (packet) trong quá trình truyền, (2) phương thức xác thực và (3) thiết lập các thông số mã hoá. Xây dựng IPsec sử dụng khái niệm về bảo mật trên nền tảng IP. Một sự kết hợp bảo mật rất đơn giản khi kết hợp các thuật toán và các thông số (ví như các khoá – keys) là nền tảng trong việc mã hoá và xác thực trong một chiều. Tuy nhiên trong các giao tiếp hai chiều, các giao thức bảo mật sẽ làm việc với nhau và đáp ứng quá trình giao tiếp. Thực tế lựa chọn các thuật toán mã hoá và xác thực lại phụ thuộc vào người quản trị IPsec bởi IPsec bao gồm một nhóm các giao thức bảo mật đáp ứng mã hoá và xác thực cho mỗi gói tin IP. Trong các bước thực hiện phải quyết định cái gì cần bảo vệ và cung cấp cho một gói tin outgoing (đi ra ngoài), IPsec sử dụng các thông số Security Parameter Index (SPI), mỗi quá trình Index (đánh thứ tự và lưu trong dữ liệu – Index ví như một cuốn danh bạ điện thoại) bao gồm Security Association Database (SADB), theo suốt chiều dài của địa chỉ đích trong header của gói tin, cùng với sự nhận dạng duy nhất của một thoả hiệp bảo mật (tạm dịch từ - security association) cho mỗi gói tin. Một quá trình tương tự cũng được làm với gói tin đi vào (incoming packet), nơi IPsec thực hiện quá trình giải mã và kiểm tra các khoá từ SADB. Cho các gói multicast, một thoả hiệp bảo mật sẽ cung cấp cho một group, và thực hiện cho toàn bộ các receiver trong group đó. Có thể có hơn một thoả hiệp bảo mật cho một group, bằng cách sử dụng các SPI khác nhau, tuy nhiên nó cũng cho phép thực hiện nhiều mức độ bảo mật cho một group. Mỗi người gửi có thể có nhiều thoả hiệp bảo mật, cho phép xác thực, trong khi người nhận chỉ biết được các keys được gửi đi trong dữ liêu. Chú ý các chuẩn không miêu tả làm thế nào để các thoả hiệp và lựa chọn việc nhân bản từ group tới các cá nhân 3. Hiện trạng IPsec là một phần bắt bược của IPv6, có thể được lựa chọn khi sử dụng IPv4. Trong khi các chuẩn đã được thiết kết cho các phiên bản IP giống nhau, phổ biến hiện nay là áp dụng và triển khai trên nền tảng IPv4.Các giao thức IPsec được định nghĩa từ RFCs 1825 – 1829, và được phổ biến năm 1995. Năm 1998, được nâng cấp với các phiên bản RFC 2401 – 2412, nó không tương thích với chuẩn 1825 – 1929. Trong tháng 12 năm 2005, thế hệ thứ 3 của chuẩn IPSec, RFC 4301 – 4309. Cũng không khác nhiều so với chuẩn RFC 2401 – 2412 nhưng thế hệ mới được cung cấp chuẩn IKE second. Trong thế hệ mới này IP security cũng được viết tắt lại là IPsec.Sự khác nhau trong quy định viết tắt trong thế hệ được quy chuẩn bởi RFC 1825 – 1829 là ESP còn phiên bản mới là ESPbis 4. Thiết kế theo yêu cầu. IPsec được cung cấp bởi Transport mode (end-to-end) đáp ứng bảo mật giữa các máy tính giao tiếp trực tiếp với nhau hoặc sử dụng Tunnel mode (portal-to-portal) cho các giao tiếp giữa hai mạng với nhau và chủ yếu được sử dụng khi kết nối VPN. IPsec có thể được sử dụng trong các giao tiếp VPN, sử dụng rất nhiều trong giao tiếp. Tuy nhiên trong việc triển khai thực hiện sẽ có sự khác nhau giữa hai mode này. Giao tiếp end-to-end được bảo mật trong mạng Internet được phát triển chậm và phải chờ đợi rất lâu. Một phần bở lý do tính phổ thông của no không cao, hay không thiết thực, Public Key Infrastructure (PKI) được sử dụng trong phương thức này. IPsec đã được giới thiệu và cung cấp các dịch vụ bảo mật: 1. Mã hoá quá trình truyền thông tin 2. Đảm bảo tính nguyên ven của dữ liệu 3. Phải được xác thực giữa các giao tiếp 4. Chống quá trình replay trong các phiên bảo mật. 5. Modes – Các mode Hai chế độ chính được sử dụng trong ipsec đó là : transport và tunnel. AH và ESP đều cung cấp sự bảo mật bằng cách thêm vào trường header để bảo mật thông tin vào trong datagram. Transport mode : cách bảo vệ thông tin được thể hiện khi mà gói tin ip được chuyển xuống từ tầng vận chuyển TCP. Thì gói tín được sử lý bởi AH hoắc ESP thêm trường header vào trước trường TCP/UDP header. Lúc này gói tin được chuyển tiếp hay sử lý thông qua ipsec header , không còn sử lý trên ip header nữa. Tunnel mode Trong chế độ đường hầm, ipsec được sử dụng để bảo vệ quá trình đóng gói ip datagram, sau khi ip header đã sẵn sàng. Ipsec header được thêm vào trước ip header, rồi sau đó một ip header mới, được thêm vào trước ipsec header. Lúc đó ip datagram đã được bảo vệ. 6. Phương thức. Có hai giao thức được phát triển và cung cấp bảo mật cho các gói tin của cả hai phiên bản IPv4 và IPv6: IP Authentication Header giúp đảm bảo tính toàn vẹn và cung cấp xác thực. IP Encapsulating Security Payload cung cấp bảo mật, và là option bạn có thể lựa chọn cả tính năng authentication và Integrity đảm bảo tính toàn vẹn dữ liệu. Thuật toán mã hoá được sử dụng trong IPsec bao gồm HMAC-SHA1 cho tính toàn vẹn dữ liệu (integrity protection), và thuật toán TripleDES-CBC và AES-CBC cho mã mã hoá và đảm bảo độ an toàn của gói tin. Toàn bộ thuật toán này được thể hiện trong RFC 4305. a. Authentication Header (AH) AH được sử dụng trong các kết nối không có tính đảm bảo dữ liệu. Hơn nữa nó là lựa chọn nhằm chống lại các tấn công replay attack bằng cách sử dụng công nghệ tấn công sliding windows và discarding older packets. AH bảo vệ quá trình truyền dữ liệu khi sử dụng IP. Trong IPv4, IP header có bao gồm TOS, Flags, Fragment Offset, TTL, và Header Checksum. AH thực hiện trực tiếp trong phần đầu tiên của gói tin IP. dưới đây là mô hình của AH header. 5. Các modes thực hiện 0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit Next header Payload length RESERVED Security parameters index (SPI) Sequence number Authentication data (variable) Ý nghĩa của từng phần: Next header Nhận dạng giao thức trong sử dụng truyền thông tin. Payload length Độ lớn của gói tin AH. RESERVED Sử dụng trong tương lai (cho tới thời điểm này nó được biểu diễn bằng các số 0). Security parameters index (SPI) Nhận ra các thông số bảo mật, được tích hợp với địa chỉ IP, và nhận dạng các thương lượng bảo mật được kết hợp với gói tin. Sequence number Một số tự động tăng lên mỗi gói tin, sử dụng nhằm chống lại tấn công dạng replay attacks. Authentication data Bao gồm thông số Integrity check value (ICV) cần thiết trong gói tin xác thực. b. Encapsulating Security Payload (ESP) Giao thức ESP cung cấp xác thực, độ toàn vẹn, đảm bảo tính bảo mật cho gói tin. ESP cũng hỗ trợ tính năng cấu hình sử dụng trong tính huống chỉ cần bảo mã hoá và chỉ cần cho authentication, nhưng sử dụng mã hoá mà không yêu cầu xác thực không đảm bảo tính bảo mật. Không như AH, header của gói tin IP, bao gồm các option khác. ESP thực hiện trên top IP sử dụng giao thức IP và mang số hiệu 50 và AH mang số hiệu 51. 0 - 7 bit 8 - 15 bit 16 - 23 bit 24 - 31 bit Security parameters index (SPI) Sequence number Payload data (variable) Padding (0-255 bytes) Pad Length Next Header Authentication Data (variable) Ý nghĩa của các phần: Security parameters index (SPI) Nhận ra các thông số được tích hợp với địa chỉ IP. Sequence number Tự động tăng có tác dụng chống tấn công kiểu replay attacks. Payload data Cho dữ liệu truyền đi Padding Sử dụng vài block mã hoá Pad length Độ lớn của padding. Next header Nhận ra giao thức được sử dụng trong quá trình truyền thông tin. Authentication data Bao gồm dữ liệu để xác thực cho gói tin. 7. Trao đổi khóa trong IPSEC - Key Exchange(IKE) IPsec được thực hiện trong nhân với các trình quản lý các key và quá trình thương lượng bảo mật ISAKMP/IKE từ người dùng. Tuy nhiên một chuẩn giao diện cho quản lý key, nó có thể được điều khiển bởi nhân của IPsec.Bởi vì được cung cấp cho người dùng cuối, IPsec có thể được triển khai trên nhân của Linux. Dự án FreeS/WAN là dự án đầu tiên hoàn thành việc thực hiện IPsec trong mã nguồn mở cụ thể là Linux. Nó bao gồm một nhấn IPsec stack (KLIPS), kết hợp với trình quản lý key là deamon và rất nhiều shell scripts. Dự án FreeS/WAN được bắt đầu vào tháng 3 năm 2004. Openswan và strongSwan đã tiếp tục dự án FreeS/WAN. Dự án KAME cũng hoàn thành việc triển khai sử dụng IPsec cho NetBSB, FreeBSB. Trình quản lý các khoá được gọi là racoon. OpenBSB được tạo ra ISAKMP/IKE, với tên đơn giản là isakmpd (nó cũng được triển khai trên nhiều hệ thống, bao gồm cả hệ thống Linux) 7.1 Trao đổi khóa trong IpSec - Key Exchange(IKE) Chức năng chính của IKE là chấp nhận các thiết bị trao đổi thông tin dưới mức an toàn. Thêm vào khóa mã hóa là sử dụng cho việc chứng thực thông tin và mã hóa thông tin. IKE được biết đến như một giao thức lai bởi vì nó được phối hợp từ ba giao thức khác. Đầu tiên là ISAKMP(internet secury associaction and key management protocol). Cung cấp một nền tảng cho việc trao đổi khóa mã hóa và bảo mật thông tin. ISAKMP hổ trợ nhiều phương thức trao đổi khóa khác nhau, hai giai đoạn chính của ISAKMP đó là 7.1.2 ISAKMP phase 1: Giai đoạn I của IKE đầu tiên xác nhận các điểm thông tin, và sau đó thiết lập một kênh bảo mật cho sự thiết lạp SA. Tiếp đó, các bên 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, và 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 chi sẽ bí mật được 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 nonce

Các file đính kèm theo tài liệu này:

  • docTriển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008.doc
Tài liệu liên quan