Triển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008
Trang 1KHOA CÔNG NGHỆ THÔNG TIN
ĐỀ TÀI THỰC TẬP CƠ SỞ :
Triển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008
Giáo viên hướng dẫn :Nguyễn Hồng Việt
Sinh viên thực hiện : Dương Văn Tuyến Nguyễn Quốc Thuận
Nguyễn Văn Nhật
Trang 3
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
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
Trang 46.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
Trang 5(triển khai Ipsec trên giao thức ipv6 trong window server 2008,dùng các Tool Network monitor,wireshark phấn tích gói tin…)
Lời nói đầu
IPv4 đang cạn kiệt,cả thế giới đã lên kế hoạch chuyển sang dải địa chỉ IPv6 để cung cấp cho cả thế giới.Chúng ta hãy tưởng tượng là chiếc Tivi,nồi cơm
điện,điều hòa….đều có thể điều khiển từ xa khi chúng đã được gắn địa chỉ IP,nhờ có IPv6 điều đó có thể xảy ra.Vấn đề bảo mật cho IPv6 ra sao?nếu triển khai trên hệ thống window server 2008 sẽ thế nào?Tất cả điều đó sẽ được trình bày chi tiết trong đề tài này
Chương I.Tìm hiểu về Window Server 2008
1.Giới thiệu Window Server 2008
Microsoft Windows Server 2008 là thế hệ kế tiếp của hệ điều hành Windows Server, có thể giúp các chuyên gia công nghệ thông tin có thể kiểm soát tối đa
cơ sở hạ tầng của họ và cung cấp khả năng quản lý và hiệu lực chưa từng có, là sản phẩm hơn hẳn trong việc đảm bảo độ an toàn, khả năng tin cậy và môi
trường máy chủ vững chắc hơn các phiên bản trước đây
Windows Server 2008 cung cấp những giá trị mới cho các tổ chức bằng việc bảo đảm tất cả người dùng đều có thể có được những thành phần bổ sung từ các dịch vụ từ mạng Windows Server 2008 cũng cung cấp nhiều tính năng vượt trội bên trong hệ điều hành và khả năng chuẩn đoán, cho phép các quản trị viên tăng được thời gian hỗ trợ cho công việc của doanh nghiệp
Windows Server 2008 xây dựng trên sự thành công và sức mạnh của hệ điều hành đã có trước đó là Windows Server 2003 và những cách tân có trong bản Service Pack 1 và Windows Server 2003 R2 Mặc dù vậy Windows Server 2008 hoàn toàn hơn hẳn các hệ điều hành tiền nhiệm
Windows Server 2008 được thiết kế để cung cấp cho các tổ chức có được nền tảng sản xuất tốt nhất cho ứng dụng, mạng và các dịch vụ web từ nhóm làm việc đến những trung tâm dữ liệu với tính năng động, tính năng mới có giá trị và những cải thiện mạnh mẽ cho hệ điều hành cơ bản
Trang 6Cải thiện cho hệ điều hành máy chủ của Windows
Thêm vào tính năng mới, Windows Server 2008 cung cấp nhiều cải thiệm tốt hơn cho hệ điều hành cơ bản so với Windows Server 2003
Những cải thiện có thể thấy được gồm có các vấn đề về mạng, các tính năng bảo mật nâng cao, truy cập ứng dụng từ xa, quản lý role máy chủ tập trung, các công cụ kiểm tra độ tin cậy và hiệu suất, nhóm chuyển đổi dự phòng, sự triển khai và hệ thống file Những cải thiện này và rất nhiều cải thiện khác sẽ giúp các
tổ chức tối đa được tính linh hoạt, khả năng sẵn có và kiểm soát được các máy chủ của họ
2.Các công nghệ của Window Server 2008
2.1.Web
Trang 82.2.Ảo hóa
Trang 92.3.Bảo mật
Trang 102.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….)
Trang 11-TCO:Chi Phí triển khai & sử dụng:
$199-$3919
+Giảm thời gian bảo trì,quản lý
-Reliability - Độ ổn định
+Dễ cấu hình,quản lý=>ổn định hơn
(Chuẩn hóa,cung cấp các công cụ quản trị cơ
bản -mạnh mẽ )
+Khả năng tương thích,hỗ trợ từ phần cứng
nhiều hơn
-Security-Bảo mật
+Quá trình tối ưu hóa bảo mật,theo chuẩn từ
khâu thiết kế sp…bản thương mại
+Cài theo package(k đủ )+Mất time cấu hình lại 1 ht trong tương lai(bản vá lỗi mới,thiếu tính thống nhất,khó support…)
+Thiếu sự hộ trợ từ các hãng bảo mật…(mã nguồn mở )
+ năm 2006: lỗ hổng bảo mật Windows Server <61% Novell Enterprise <73% Red Hat Enterprise Linux
http://www.microsoft.com/windowsserver/compare/
ReportsDetails.mspx?recid=23 )
+Mỗi sp là đặc trưng của 1 hãng(Red hat,SUSe
+Không thông dụng
3.2 Windows,Unix(giá cả,tính năng,quản lý,bảo trì,bảo mật,….)
-TCO:Chi phí triển khai:
+Chi phí rẻ đáp ứng yêu cầu thương mại
+window Server 2008 đáp ứng nhiều yêu cầu về giá
cả,quản lý,bảo trì…
-Mission-Critical Needs (ứngdụng trọng yếu).
+Chi phí xây dựng,bảo dưỡng,quản lý cao
Trang 12+Ứng dụng đa dạng,tùy từng loại,hỗ trợ đa số các
công ty vừa và nhỏ,lớn…
+Độ tin cậy cho hệ thống lớn <Unix
-Applications, Partners and Choice - Ứng dụng, đối
tác và lựa chọn
+Đối tác,chuyên gia,kỹ sư hợp tác nhiều
+Phần cứng áp dụng được hỗ trợ nhiều
-Next Generation Technologies –
Trong tương lai công nghệ sẽ thế nào?
+Phát triển nhanh chóng,hoàn thiện,đa dạng…nền
tảng cho nhu cầu thương mại tương lai
+Ứng dụng hạn chế,chuyên việt cao,phần cứng giới hạn,dùng cho cty lớn
+Mở rộng tin cậy,bảo mật
+Các hãng phần mềm,đối tác,kỹ sư,chuyên gia ít (chú trọng phát triển Unix)
+Support khó khăn(ít người am hiểu unix )
+Là 1 công nghệ cũ,các ứng dụng trong tương lai
Có thể khó đáp ứng yêu cầu thương mại
Trang 13Chương II.Tìm hiểu về IPv6
Như chúng ta đã biết IPv4 dùng 32bit để biểu diễn địa chỉ IP Sử dụng 32 bit này, ta có thể đánh được khoảng 4,3 tỷ địa chỉ khác nhau.Nhưng chỉ khoảng hơn 10 năm sau khi ra đời, vào nửa đầu thập kỷ 90, nguy cơ thiếu địa chỉ IP đã xuất hiện tại 1 số nước như Trung Quốc, Ấn Độ, …
Để giải quyết vấn đề đó thì IPv6 đã ra đời Với 128 bit lớn hơn IPv4 gấp 4
lần.Đây là không gian địa chỉ cực lớn không chỉ dành riêng cho Internet mà còn cho tất cả các mạng máy tính, hệ thống viễn thông, hệ thống điều khiển và thậm chí là vật dụng gia đình
1.Giới thiệu IPv6
IPv6 được tích hợp trong Windows XP và Windows Server 2003,2008 nhưng chưa được sử dụng nhiều Hiện tại người ta đang quan tâm nhiều đến IPv6 và thực tế một số nơi trên thế giới người ta đã đi vào triển khai chúng
Trong phần này, nhóm sẽ giới thiệu tổng quan, cách triển khai và thiết lập một hệ thống mạng có IPv6
IPv6 có tổng cộng là 128 bit được chia làm 2 phần: 64 bit đầu được gọi là
network, 64 bit còn lại được gọi là host Phần network dùng để xác định subnet, địa chỉ này được gán bởi các ISP hoặc những tổ chức lớn như IANA (Internet Assigned Numbers Authority) Còn phần host là một địa chỉ ngẫu nhiên dựa trên
48 bit của MAC Address
Địa chỉ IPv6 có 128 bit, do đó việc nhớ được địa chỉ này rất khó khăn Cho nên
để viết địa chỉ IPv6, người ta đã chia 128 bit ra thành 8 nhóm, mỗi nhóm chiếm 2 bytes, gồm 4 số được viết dưới hệ số 16, và mỗi nhóm được ngăn cách nhau bằng dấu hai chấm
Ví dụ:
FEDL:8435:7356:EADC:BA98:2010:3280:ABCD
Nhưng nếu mà viết theo kiểu như vậy (đẹp thì có đẹp đó), nhưng nhìn một hồi nhức đầu wá Cho nên, cần phải đơn giản cái địa chỉ này một chút Vì IPv6 là một địa chỉ mới nên chúng ta sẽ ko xài hết 128 bits, cũng giống như SIM điện thoại vậy, đầu số 0122 mới ra có rất nhiều số và do
đó chúng ta có quyền lựa chọn Và IPv6 cũng vậy, vì mới ra cho nên sẽ
có nhiều số 0 ở các bit đầu Chúng ta có thể lược bỏ các số 0 này đi Tôi lấy một ví dụ cụ thể:
Địa chỉ: 1088:0000:0000:0000:0008:0800:200C:463A
–> Bạn có thể viết 0 thay vì phải viết là 0000, viết 8 thay vì phải viết 0008,
Trang 14viết 800 thay vì phải viết là 0800
Và đây là địa chỉ đã được rút gọn: 1088:0:0:0:8:800:200C:463A
Nhìn chung như vậy cũng được rồi, nhưng IPv6 còn có một nguyên tắc nữa là bạn có thể nhóm các số 0 lại thành 2 dấu hai chấm “::”, địa chỉ ở trên, bạn có thể viết lại như sau:
1088::8:800:200C:463A
Qua ví dụ trên, bạn sẽ rút ra được 2 nguyên tắc:
- -Trong dãy địa chỉ IPV6, nếu có số 0 đứng đầu có thể loại bỏ Ví dụ
0800 sẽ được viết thà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)
-> 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ụ http://www.google.com.vn/ , 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
Trang 152.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
Trang 16001: 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
Trang 17b/ 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
Trang 181111 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
Trang 19IPv4CA 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
Trang 20Triển khai công nghệ IpSec trên giao thức IPv6 trong môi trường Window Server 2008
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
Trang 21hoặ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
Trang 22kí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
Trang 23Trong 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
Trang 244 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
Trang 25Giao 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
1) 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