s6_ngiên cứu và triển khai ipsec trong ipv6 và ứng dụng trên vpn_nhóm 4_lan 7

25
BÁO CÁO ĐỒ ÁN MÔN HỌC HỆ THỐNG INTERNET VÀ DỊCH VỤ ĐỀ TÀI: NGHIÊN CỨU VÀ TRIỂN KHAI IPSEC TRONG IPV6 VÀ ỨNG DỤNG TRÊN VPN ĐỀ CƯƠNG CHI TIẾT Chương I. Tìm hiểu về IPv6: 1. Giới thiệu về IPv6: 1.1 Nguyên nhân phát triển IPv6 Năm 1973, TCP/IP được giới thiệu và ứng dụng vào mạng ARPANET. Vào thời điểm đó, mạng ARPANET chỉ có khoảng 250 Site kết nối với nhau,với khoảng 750 máy tính. Internet đã và đang phát triển với tốc độ khủng khiếp, đến nay đã có hơn 60 triệu người dùng trên toàn thế giới. Theo tính toán của giới chuyên môn, mạng Internet hiện nay đang kết nối hàng trăm ngàn Site với nhau, với khoảng hơn 10 triệu máy tính, trong tương lai không xa, những con số này không chỉ dừng lại ở đó. Sự phát triển nhanh chóng này đòi hỏi phải kèm theo sự mở rộng, nâng cấp không ngừng của cơ sở hạ tầng mạng va công nghệ sử dụng. Bước sang những năm đầu của thế kỷ XXI, ứng dụng của Internet phát triển nhằm cung cấp dịch vụ cho người dùng notebook, cellualar modem và thậm chí nó còn thâm nhập vào nhiều ứng dụng dân dụng khác như TV, máy pha cà phê,... Nhưng một thực tế mà không chỉ giới chuyên môn, mà ngay cả các ISP cũng nhận thức được đó là tài nguyên mạng ngày càng hạn hẹp. Việc phát triển về thiết bị, cơ sở hạ tầng, nhân lực,… không phải là một khó khăn lớn. Vấn đề ở đây là địa chỉ IP. 1.2 Những giới hạn và vấn đề quản lí địa chỉ IPv4 1.2.1 Giới hạn địa chỉ IPv4: IPv4 hỗ trợ trường địa chỉ 32 bit, tức là khoản 4,3 tỷ địa chỉ khác nhau IPv4 ngày nay hầu như không còn đáp ứng được nhucầu sử dụng của mạn g Internet. Hai vấn đề lớn mà IPv4 đang phải đối mặt là việcthiếu hụt các địa chỉ, đặc biệt

Upload: langthang-thienthan

Post on 06-Aug-2015

157 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

BÁO CÁO ĐỒ ÁN MÔN HỌCHỆ THỐNG INTERNET VÀ DỊCH VỤ

ĐỀ TÀI: NGHIÊN CỨU VÀ TRIỂN KHAI IPSEC TRONG IPV6 VÀ ỨNG DỤNG TRÊN VPN

ĐỀ CƯƠNG CHI TIẾT

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

1. Giới thiệu về IPv6:1.1 Nguyên nhân phát triển IPv6

Năm 1973, TCP/IP được giới thiệu và ứng dụng vào mạng ARPANET. Vào thời điểm đó, mạng ARPANET chỉ có khoảng 250 Site kết nối với nhau,với khoảng 750 máy tính. Internet đã và đang phát triển với tốc độ khủng khiếp, đến nay đã có hơn 60 triệu người dùng trên toàn thế giới. Theo tính toán của giới chuyên môn, mạng Internet hiện nay đang kết nối hàng trăm ngàn Site với nhau, với khoảng hơn 10 triệu máy tính, trong tương lai không xa, những con số này không chỉ dừng lại ở đó. Sự phát triển nhanh chóng này đòi hỏi phải kèm theo sự mở rộng, nâng cấp không ngừng của cơ sở hạ tầng mạng va công nghệ sử dụng. Bước sang những năm đầu của thế kỷ XXI, ứng dụng của Internet phát triển nhằm cung cấp dịch vụ cho người dùng notebook, cellualar modem và thậm chí nó còn thâm nhập vào nhiều ứng dụng dân dụng khác như TV, máy pha cà phê,... Nhưng một thực tế mà không chỉ giới chuyên môn, mà ngay cả các ISP cũng nhận thức được đó là tài nguyên mạng ngày càng hạn hẹp. Việc phát triển về thiết bị, cơ sở hạ tầng, nhân lực,… không phải là một khó khăn lớn. Vấn đề ở đây là địa chỉ IP.

1.2 Những giới hạn và vấn đề quản lí địa chỉ IPv41.2.1 Giới hạn địa chỉ IPv4:

IPv4 hỗ trợ trường địa chỉ 32 bit, tức là khoản 4,3 tỷ địa chỉ khác nhau IPv4 ngày nay hầu như không còn đáp ứng được nhucầu sử dụng của mạng Internet.

Hai vấn đề lớn mà IPv4 đang phải đối mặt là việcthiếu hụt các địa chỉ, đặc biệt  là các không gian địa chỉ tầm trung (lớp B) và việc pháttriển về kích thước rất  nguy hiểm của các bảng định tuyến trong Internet. Thêm vào đó, nhu cầu tự động cấu hình (Auto-config) ngày càng trở nên cần thiết. Địa

chỉ IPv4 trong thời kỳ đầu được phân loại dựa vào dung lượng của địa chỉ đó (sốlượng địa chỉ IPv4 ). Địa chỉ IPv4 được chia thành các lớp 3 lớp đầu tiên được sử dụng phổ biến nhất. Các lớp địa chỉ này khác nhau ở số lượng các bit dùng để định nghĩa Network ID.

1.2.2 Vấn đề quản lý địa chỉ IPv4. Bên cạnh những giới hạn đã nêu ở trên, mô hình này còn có một hạn chế nữa

chính là sự thất thóat địa chỉ nếu sử dụng các lớp địa chỉ không hiệu quả. Mặc dùlượng địa chỉ IPv4 hiện nay có thể đáp ứng nhu cầu sử dụng trên thế giới, nhưng cáchthức phân bổ địa chỉ IPv4 không thực hiện được chuyện đó.

Ví dụ: một tổ chức có nhu cầu triển khai mạng với số lượng Host khoảng 300.để phân địa chỉ IPv4 cho tổ chức này, người ta dùng địa chỉ lớp B. Tuy nhiên, địa chỉlớp B có thể dùng để gán cho 65536 Host. Dùng địa chỉ lớp B cho tổ chức này làmthừa hơn 65000 địa chỉ. Các tổ chức khác sẽ không thể nào sử dụng khoảng địa chỉnày. Đây là điều hết sức lãng phí.

Page 2: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

Trong những năm 1990, kỹ thuật Classless Inter-Domain Routing (CIDR) đượcxây dựng dựa trên khái niệm mặt nạ địa chỉ (address mask). CIDR đã tạm thời khắcphục được những vấn đề nêu trên. Khía cạnh tổ chức mang tính phân cấp(Hierachical) của CIDR đã cải tiến khả năng mở rộng của IPv4. Phương pháp nàygiúp hạn chế ảnh hưởng của cấu trúc phân lớp địa chỉ IPv4. Phương pháp này chophép phân bổ địa chỉ IPv4 linh động hơn nhờ vào Subnet mask. Độ dài của NetworkID vào Host ID phụ thuộc vào số bit 1 của Subnet mask, do đó, dung lượng của địa chỉIP trở nên linh động hơn.

Ví dụ: sử dụng địa chỉ IP lớp C với độ dài Subnet Mask 23 (x.x.x.x/23) cho tổchức trên. Địa chỉ này có Host ID được định nghĩa bởi 9 bit, tương đương với 512Host. Địa chỉ này là phù hợp.

Tuy nhiên, CIDR có nhược điểm là Router chỉ có thể xác định được Network IDvà Host ID nếu biết được Subnet mask. Mặc dù có thêm nhiều công cụ khác ra đờinhư kỹ thuật Subnetting (1985), kỹ thuật VLSM (1987) và CIDR (1993), các kỹ thuậttrên đã không cứu vớt IPv4 ra khỏi một vấn đề đơn giản: không có đủ địa chỉ cho cácnhu cầu tương lai. Có khoảng 4 tỉ địa chỉ IPv4 nhưng khoảng địa chỉ này là sẽ khôngđủ trong tương lai với những thiết bị kết nối vào Internet và các thiết bị ứng dụngtrong gia đình có thể yêu cầu địa chỉ IP.

Một vài giải pháp ngắn hạn, chẳng hạn như ứng dụng RFC 1918 trong đó dùngmột phần không gian địa chỉ làm các địa chỉ dành riêng và NAT là một công cụ chophép hàng ngàn Host truy cập vào Internet chỉ với một vài IP hợp lệ. Tuy nhiên, giảipháp mang tính dài hạn là việc đưa vào IPv6 với cấu trúc địa chỉ 128 bit. Không gianđịa chỉ rộng lớn của IPv6 không chỉ cung cấp nhiều không gian địa chỉ hơn IPv4 màcòn có những cải tiến về cấu trúc. Với 128 bit, sẽ có 340,282,366,920,938,463,463,374,607,431,768,211,45 6 địa chỉ,một con số khổng lồ.Trong năm 1994, IETF đã đề xuất IPv6 trong RFC 1752. IPv6 khắc phục một số vấn đề như thiếu hụt địa chỉ, chất lượng dịch vụ, tự động cấu hình địa chỉ, vấn đề xác thự và bảo mật.

1.3 Một số đặc điểm của IPv6:1.3.1 Tăng kích thước của tầm địa chỉ: IPv6 sử dụng 128 bit địa chỉ trong khi IPv4 chỉ sử dụng 32 bit; nghĩa là IPv6 có

tới 2128 địa chỉ khác nhau; 3 bit đầu luôn là 001 được dành cho các địa chỉ khả địnhtuyến toàn cầu (Globally Routable Unicast –GRU). Nghĩa là còn lại 2125 địa chỉ. Mộtcon số khổng lồ. Điều đó có nghĩa là địa chỉ IPv6 sẽ chứa 1028 tầm địa chỉ IPv4.

1.3.2 Tăng sự phân cấp địa chỉ: IPv6 chia địa chỉ thành một tập hợp các tầm xác định hay boundary: 3 bit đầu

cho phép biết được địa chỉ có thuộc địa chỉ khả định tuyến toàn cầu (GRU) hay không,giúp các thiết bị định tuyến có thể xử lý nhanh hơn. Top Level Aggregator (TLA) IDđược sử dụng vì 2 mục đích: thứ nhất, nó được sử dụng để chỉ định một khối địa chỉlớn mà từ đó các khối địa chỉ nhỏ hơn được tạo ra để cung cấp sự kết nối cho nhữngđịa chỉ nào muốn truy cập vào Internet; thứ hai, nó được sử dụng để phân biệt mộtđường (Route) đến từ đâu. Nếu các khối địa chỉ lớn được cấp phát cho các nhà cung

Page 3: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

cấp dịch vụ và sau đó được cấp phát cho khách hàng thì sẽ dễ dàng nhận ra các mạngchuyển tiếp mà đường đó đã đi qua cũng như mạng mà từ đó Route xuất phát. VớiIPv6, việc tìm ra nguồn của 1 Route sẽ rất dễ dàng. Next Level Aggregator (NLA) làmột khối địa chỉ được gán bên cạnh khối TLA, những địa chỉ này được tóm tắt lạithành những khối TLA lớn hơn, khi chúng được trao đổi giữa các nhà cung cấp dịchvụ trong lõi Internet, ích lợi của loại cấu trúc địa chỉ này là: Thứ nhất, sự ổn định vềđịnh tuyến, nếu chúng ta có 1 NLA và muốn cung cấp dịch vụ cho các khách hàng, tasẽ cố cung cấp dịch vụ đầy đủ nhất, tốt nhất. Thứ hai, chúng ta cũng muốn cho phépcác khách hàng nhận được đầy đủ bảng định tuyến nếu họ muốn, để tạo việc địnhtuyến theo chính sách, cân bằng tải... Để thực hiện việc này chúng ta phải mang tất cảcác thông tin về đường đi trong Backbone để có thể chuyển cho họ.

1.3.3  Đơn giản hóa việc đặt địa chỉ Host: IPv6 sử dụng 64 bit sau cho địa chỉ Host, trong 64 bit đó có cả 48 bit là địa chỉ

MAC của máy, do đó, phải đệm vào đó một số bit đã được định nghĩa trước mà cácthiết bị định tuyến sẽ biết được những bit này trên subnet. Ngày nay, ta sử dụng chuỗi0xFF và 0xFE (:FF:FE: trong IPv6) để đệm vào địa chỉ MAC. Bằng cách này, mọi Hostsẽ có một Host ID duy nhất trong mạng. Sau này nếu đã sử dụng hết 48 bit MAC thìcó thể sẽ sử dụng luôn 64 bit mà không cần đệm.

1.3.4  Địa chỉ Anycast: IPv6 định nghĩa một loại địa chỉ mới: địa chỉ Anycast. Một địa chỉ Anycast là

một địa chỉ IPv6 được gán cho một nhóm các máy có chung chức năng, mục đích. Khipacket được gửi cho một địa chỉ Anycast, việc định tuyến sẽ xác định thành viên nàocủa nhóm sẽ nhận được packet qua việc xác định máy gần nguồn nhất.Việc sử dụngAnycast có 2 ích lợi: Một là, nếu chúng ta đang đến một máy gần nhất trong mộtnhóm, chúng ta sẽ tiết kiệm được thời gian bằng cách giao tiếp với máy gần nhất.Thứ hai là việc giao tiếp với máy gần nhất giúp tiết kiệm được băng thông. Địa chỉAnycast không có các tầm địa chỉ được định nghĩa riêng như Multicast, mà nó giốngnhư một địa chỉ Unicast, chỉ có khác là có thể có nhiều máy khác cũng được đánh sốvới cùng scope trong cùng một khu vực xác định. Anycast được sử dụng trong các ứngdụng như DNS...

1.3.5 Việc tự cấu hình địa chỉ đơn giản hơn: Một địa chỉ Multicast có thể được gán cho nhiều máy, địa chỉ Anycast là các gói

Anycast sẽ gửi cho đích gần nhất (một trong những máy có cùng địa chỉ) trong khiMulticast packet được gửi cho tất cả máy có chung địa chỉ (trong một nhóm Multicast).Kết hợp Host ID với Multicast ta có thể sử dụng việc tự cấu hình như sau: khi mộtmáy được bật lên, nó sẽ thấy rằng nó đang được kết nối và nó sẽ gửi một góiMulticast vào LAN; gói tin này sẽ có địa chỉ là một địa chỉ Multicast có tầm cục bộ(Solicited Node Multicast address). Khi một Router thấy gói tin này, nó sẽ trả lời mộtđịa chỉ mạng mà máy nguồn có thể tự đặt địa chỉ, khi máy nguồn nhận được gói tin trảlời này, nó sẽ đọc địa chỉ mạng mà Router gửi; sau đó, nó sẽ tự gán cho nó một địa chỉIPv6 bằng cách thêm Host ID (được lấy từ địa chỉ MAC của interface kết nối vớisubnet đó) với địa chỉ mạng, Do đó, tiết kiệm được công sức gán địa chỉ IP.

1.3.6 Bảo mật:

Page 4: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

IPv6 tích hợp tính bảo mật vào trong kiến trúc của mình bằng cách giới thiệu 2Header mở rộng tùy chọn: Authentication Header (AH) và Encrypted Security Payload(ESP) Header. Hai Header này có thể được sử dụng chung hay riêng để hỗ trợ nhiềuchức năng bảo mật.

AH quan trọng nhất trong Header này là trường Integriry Check Value (ICU). ICUđược tính bởi nguồn và được tính lại bởi đích để xác minh. Quá trình này cung cấpviệc xác minh tính toàn vẹn và xác minh nguồn gốc của dữ liệu. AH cũng chứa cả mộtsố thứ tự để nhận ra một tấn công bằng các packet replay giúp ngăn các gói tin đượcnhân bản. - ESP Header: ESP Header chứa một trường : Security Parameter Index (SPI)giúp đích của gói tin biết payload được mã hóa như thế nào. ESP Header có thể đượcsử dụng khi tunneling, trong tunnelling thì cả Header và payload gốc sẽ được mã hóavà bỏ vào một ESP Header bọc ngoài, khi đến gần đích thì các gateway bảo mật sẽ bỏHeader bọc ngoài ra và giải mã để tìm ra Header và payload gốc.

1.3.7 Tính di động: IPv6 hỗ trợ tốt các máy di động như laptop. IPv6 giới thiệu 4 khái niệm giúp hỗ trợ

tính toán di động gồm: Home address; Care-of address; Binding; Home agent. Trong IPv6 thì các máy di động được xác định bởi một địa chỉ Home address mà không

cần biết hiện tại nó được gắn vào đâu. Khi một máy di động thay đổi từ mộtsubnet này sang subnet khác; nó phải có một Care-of address qua một quá trình tự cấuhình. Sự kết hợp giữa Home address và Care-of address được gọi là một Binding. Khimột máy di động nhận được một Care-of address, nó sẽ báo cho Home agent của nóbằng gói tin được gọi là Binding update để Home agent có thể cập nhật lại Bindingcáche của Home agent về Care-of address của máy di động vừa gửi. Home agent sẽduy trì một ánh xạ giữa các Home address và Care-of address và bỏ nó vào Bindingcache. Một máy di động có thể được truy cập bằng cách gửi một packet đến các Homeaddress của nó. Nếu máy di động không được kết nối trên subnet của Home agent thìHome agent sẽ gửi packet đó cho máy di động qua Care-of address của máy đó trongBinding cache của Home agent (Lúc này, Home agent được xem như máy trung gian đểmáy nguồn có thể đến được máy di động). Máy di động sau đó sẽ gửi một gói tinBinding update cho máy nguồn của gói tin. Máy nguồn sau đó sẽ cập nhật Bindingcáche của nó, thì sau này máy nguồn muốn gửi đến máy di động, chỉ cần gửi trực tiếpđến cho máy di động qua Care-of address chứa trong Binding cáche của nó mà khôngcần phải gửi qua Home address. Do đó, chỉ có gói tin đầu tiên là qua Home agent.

1.3.8  Hiệu suất:IPv6 cung cấp các lợi ích sau:

Giảm được thời gian xử lý Header, giảm Overhead vì chuyển dịch địa chỉ: vìtrong IPv4 có sử dụng private address để tránh hết địa chỉ, Do đó, xuất hiệnkỹ thuật NAT để dịch địa chỉ, nên tăng Overhead cho gói tin. Trong IPv6 dokhông thiếu địa chỉ nên không cần private address, nên không cần dịch địachỉ.

Giảm được thời gian xử lý định tuyến: nhiều khối địa chỉ IPv4 được phân

Page 5: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

phát cho các user nhưng lại không tóm tắt được, nên phải cần các entry trong bảngđịnh tuyến làm tăng kích thước của bảng định tuyến và thêm Overhead cho quá trìnhđịnh tuyến. Ngược lại, các địa chỉ IPv6 được phân phát qua các ISP theo một kiểu phâncấp địa chỉ giúp giảm được Overhead.

Tăng độ ổn định cho các đường: trong IPv4, hiện tượng route flapping thường xảy ra,trong IPv6, một ISP có thể tóm tắt các route của nhiều mạng thành một mạng đơn, chỉquản lý mạng đơn đó và cho phép hiện tượng flapping chỉ ảnh hưởng đến nội bộ củamạng bị flapping.

Giảm Broadcast: trong IPv4 sử dụng nhiều Broadcast như ARP, trong khi IPv6 sửdụng Neighbor Discovery Protocol để thực hiện chức năng tương tự trong quá trình tựcấu hình mà không cần sử dụng Broadcast.

Multicast có giới hạn: trong IPv6, một địa chỉ Multicast có chứa một trườngscope có thể hạn chế các gói tin Multicast trong các Node, trong các link, hay trong mộttổ chức.

Không có checksum.

2. Phân loại IPv6:

Unicast Address

a. Global Unicast Addressb. Link-Local Addressc. Site-Local Addressd. Unique Local Address

2.2 Anycast Address 2.3 Muticast Address 2.4 Các loại địa chỉ IPv6 đặc biệt

3. Header IPv6: Header của IPv6 đơn giản và hợp lý hơn IPv4. IPv6 chỉ có 6 trường và 2 địa chỉ,

trong khi IPv4 chứa 10 trường và 2 địa chỉ. IPv6 Header có dạng:

Page 6: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

IPv6 cung cấp các đơn giản hóa sau: Định dạng được đơn giản hóa: IPv6 Header có kích thước cố định 40 octet với ít

trường hơn IPv4 nên giảm được thời gian xử lý Header, tăng độ linh hoạt. Không có Header checksum: Trường checksum của IPv4 được bỏ đi vì các liên 

kết ngày nay nhanh hơn và có độ tin cậy cao hơn vì vậy chỉ cần các Host tính checksum còn Router thì không.

Chương II. Tìm hiểu IP SEC1. Tổng quan về IP SEC‒ IPSEC ( Internet Protocol Security) là giao thức ở lớp Network (OSI)

cho phép gửi xác nhận các gói IP được mã hóa. Tùy theo mức độ cần thiết, IPSEC có thể cung cấp cả tính bảo mật và xác thực cho quá trình trao đổi dữ liệu dựa trên hai kiểu dịch vụ mã hóa: AH, ESP.

‒ Mục đích chính của việc phát triển IPSEC là cung cấp một cơ cấu bảo mật ở tầng 3 trong mô hình OSI

‒ IPSEC cũng là một thành phần quan trọng hỗ trợ giao thức L2TP ( Layer two tunneling protocol) trong công nghệ mạng riêng ảo VPN.

2. Kiến trúc giao thức IP SEC

Mô hình chung:

Hình 2.1: Mô hình chung của giao thức IPSEC

Page 7: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

2.2 Các giao thức cơ bản trong IPSEC Hai giao thức cơ bản để thực thi IPSEC là AH và ESP. AH chỉ cung cấp các dịch vụ xác thực, ESP vừa cung cấp các dịch vụ bảo

mật vừa cung cấp các dịch vụ xác thực.2.3 Liên kết bảo mật: SA (Security Associations): Là một khái niệm cơ bản của bộ giao thức

IPSEC. SA là một kết nối lý luận theo phương hướng duy nhất giữa hai thực thể sử dụng các dịch vụ IPSEC. SA gồm có 3 trường :

Hình 2.3 : Ba trường trong SA SPI (Security Paramater Index) : là một trường 32 bits dùng nhận dạng giao

thức bảo mật, được định nghĩa bởi trường Security Protocol, trong bộ giao thức IPSEC đang dùng. SPI như là phần đầu của giao thức bảo mật và thường được chọn bởi hệ thông đích trong suốt quá trình thỏa thuận của SA.

Destination IP Address : Địa chỉ IP đích. Cơ chế quản lý hiện tại của SA chỉ được định nghĩa cho hệ thống Unicast mặc dù nó có thể là địa chỉ Broadcast, Unicast hay Multicast.

Security Protocol: Mô tả giao thức bảo mật IPSEC, là AH hoặc là ESP.SA trong IPSEC được triển khai bằng 2 chế độ là Tunnel Mode và Transport Mode.

2.4 Transport Mode và Tunnel Mode: Hiện tại, IPSEC có hai chế độ làm việc : Transport và Tunnel Mode. Cả AH

và ESP đều có thể làm việc với một trong hai chế độ này.

Hình 2.4 : Chế độ làm việc của IPSEC

Page 8: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

3. Mode4.1 Transport Mode4.2 Tunnel Mode

4. Giao thức ESP4.1 Các cơ chế bảo vệ được cung cấp bởi cớ chế ESP :

ESP cung cấp hai cơ chế bảo vệ, một cơ chế là của riêng ESP và một là sự lặp lại của một cơ chế được cung cấp bởi AH. Các cơ chế bảo vệ sau được cung cấp bởi ESP mà không có trong AH :

o Tính riêng tư (Confidentialy) : Điều kiện này đảm bảo một thông điệp nếu bị bắt trên đường truyền thì bên trung gian không thể hiểu được nội dung của thông điệp mà điều này chỉ có bên gửi và bên nhận mới hiểu được.

o Bảo vệ việc phân tích truyền thông ( Chỉ có trong Tunnel Mode) : Điều này đảm bảo rằng các bên trung gia không thể các định được các đối tượng đang liên lạc với nhau, tần số và lượng thông tin trao đổi giữa các bên.

Esp có thể cung cấp một số cơ chế bảo vệ đã được cung cấp trong AH : Tính toàn vẹn dữ liệu, xác thực nguồn gốc, chống phát lại.

Có một số điểm khác biệt về tính toàn vẹn dữ liệu và xác thực nguồn được cung cấp bởi AH và ESP. Một AH hoạt động ở Transport Mode bảo vệ cả IP Header trong gói IP, trong khi Transport Mode ESP chỉ bảo vệ dữ liệu trong gói tin. Trong chế độ tunnel cả 2 cơ chế đều bảo vệ Header, tuy nhiên chỉ mình AH bảo vệ bên ngoài Header. Tuy nhiên việc tạo ra SA có thể gián tiếp xác thực địa chỉ IP, do đó xóa bỏ được sự khác biệt này.

4.2 Cấu trúc ESP :

Hình 4.2: ESP Header Format.

ESP gồm các trường sau :o SPI giá trị được bỏ vào trong SAD.o Sequence Number: Tương tự đối với AHo Play Load Data: là gói dữ liệu IP đã được mã hóa.

Page 9: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

o Padding( Độ dài bất kì) và Pad Length ( 8bits) dữ liệu chèn và kích thước của nó.

o Next Header: Loại dữ liệu bên trong ESPo Authentiaction Data(bội số của 32bits): Thông tin xác thực được tính

trên toàn bộ gói Esp ngoại trừ phân Authentiaction Data. ESP Header thường được chia làm 4 phần như sau:

o Intial ESP Header chứa SPI và Sequence Number.o Data chứa một số dữ liệu đặc biệt không mã hóa( nếu có), phần

Header mở rộng của địa chỉ đích theo sau ESP Header( chỉ xét trong IPv6), TCP hoặc UDP Header và dữ liệu của thông điệp.

o ESP Trailer chứa Padding(nếu có), trường Pad Length và trường Next Header.

o ESP Authentiaction Data chứa các dữ liệu xác thực nếu có.4.3 Vị trí và các Mode làm việc của ESP ESP Header có thể được sử dụng trong cả Transport Mode và Tunnel

Mode. Hình dưới đây mô tả vị trí của ESP Transport header trong cả IPv4 và IPv6. Trong IPv4 nó có thể theo sau bởi IP Header hoặc AH. Kế đó là trường Next Header (TCP, UDP, ICMP). Trong IPv6 không hoặc nhiều Header mở rộng ( Hop by hop, routing, flagment hoặc Destination Header Option) có thể đứng trước ESP Header. Ngoài ra trường Destination Header Option có thể đứng sau ESP Header. Vị trí tương quan giữa trường này và ESP Header tùy thuộc vào quá trình xử lí riêng của nó được thực hiện trước hay sau quá trình xử lí ESP. Nếu gói tin đã được mã hóa một Destination Option Header theo sau trường ESP Header mà không bất cứ một đích đến không gian nào có thể đọc được.

Page 10: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

Hình 4.3.1: Vị trí của ESP Transport header trong cả IPv4 và IPv6 Hình tiếp theo minh họa vị trí của ESP Header trong Tunnel Mode. Trong

IPv4 ESP Header theo sau IP Header mới và IP Header gốc. Trong IPv6 ESP theo sau các trường mở rộng( nếu có) như trong Transport Mode và đứng trước IP Header gốc.

Hình 4.3.2: Vị trí của ESP Header trong Tunnel Modeở cả IPv4 và IPv6

4.4 Nested và Adjacent header trong ESP

Với hai loại Security Header việc áp dụng nhiều hơn một SA cho một thông điệp trở nên phức tạp hơn. Nếu Adjacent Header được sử dụng( ví dụ: khi các điểm đầu, cuối của cả hai SA là giống nhau), AH Header sẽ đứng trước ESP Header. Điều này có nghĩa là gói tin sẽ được mã hóa trước rồi mới được xác thực. Bằng cách này gói tin đã được mã hóa, được bảo vệ khỏi vấn đề xáo trộn. Tuy nhiên kết quả này có thể đạt được một cách tốt hơn bằng cách sử dụng một ESP Header cung cấp cả xác thực và mã hóa.

Nested header thường được sử dụng thường xuyên hơn. Trong trường hợp hai (đã trình bày ở phần AH), nếu 2 GateWay SG1 và SG2 yêu cầu tất cả các truyền thông Gateway to Gateway đều được xác thực và mã hóa. Điều này có thể thực hiện bằng hai cách như sau: Thông qua một ESP SA cung cấp cả xác thực và mã hóa, hoặc thông qua một Adjacent AH và ESP SA. Đối với những GateWay bảo vệ truyền thông giữa các host H! và H2, SA nên là tunnel mode SA. Tuy nhiên điều này dẫn tới việc truyền dữ liệu giữa H1 và SG1 chưa được bảo vệ. Nếu H1 không tưởng Security Gateway của nó để truyền dữ liệu, hoặc có một user trong mạng cục bộ của H1 không

Page 11: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

đáng tin cậy, lúc này H1 cũng cần xác nhận đường truyền trong mạng cục bộ. Để đạt được điều này, sử dụng một Nested (lồng) SA là giải pháp lí tưởng. Một cặp ESP tunnel mode SA giữa SG1 và SG2 và một cặp SSH transport mode SA giữa H1 và H2. Hình dưới đây mô tả cách sử dụng của một nested SA.

Hình 4.4.1 : Cách sử dụng của một Nested SA Trong trường hợp này khi một thông điệp được truyền từ H1 đến H2, nó cso

một Transport mode AH kể từ thời điểm nó rời H1 đến khi nó tới SG1. Khi nó được truyền từ SG1 đến SG2 nó kết hợp giữa Ah và ESP thông qua một Inner Transport Mode AH Header và một Outer Tunnle mode ESP Header. Khi truyền tư SG2 đến H2, lúc này nó chỉ còn Transport Mode AH Header.

4.5 Quá trình xử lí ESP đối với các thông điệp OutBond : Một số bước xử lí diễn ra tương tự như đối với AH. Những bước này sẽ

không được trình bày lại chi tiết ở đây. Một khi đã xác định thông điệp Outbond được bảo vệ bởi ESP Header và Outbond SA đảm nhận việc quản lí thông điệp này đã được tìm thấy hoặc được thỏa thuận, thông điệp này được chuyển sang các quá trình xử lí trong IPSEC, bao gồm các bước sau :

o Thêm một khuôn dạng ESP Header vào vị trí thích hợp.o Thêm vào trường SPI bằng giá trị SPI của SA được chọn.o Tính toán trường sequence number

Page 12: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

o Nếu quá trình mã hóa diễn ra, thuật toán mã hóa phù hợp sẽ yêu cầu một số dữ liệu cần thiết( không được mã hóa) và thêm những dữ liệu này vào gói tin.

o Thêm tunnel header nếu cần thiết.o Thêm các dữ liệu còn lại của gói tin.o Tính toán chiều dài của phần padding nếu cần thiết. Các giá trị

padding cần phải được xác định bởi một thuật toán mã hóa xác định hoặc nếu không xác định trước một thuật toán mã hóa một chuỗi các số tự nhiên liên tiếp có thể sử dụng làm phần padding.

o Thêm trường next header.o Mã hóa thông điệp nếu SA yêu cầu mã hóa dữ liệu. Các trường

packet data, padding, pad length và next header được mã hóa cũng với tunnel header của tunnel mode SA. Các thuật toán mã hóa được xác định cho các quá trình xử lí IPSEC đối với ESP là DES-CBC hoặc null encycrypt algorithm. Thuật tonas sau không cung cấp sự mã hóa dữ liệu. Bởi vì ESP header cần phải cung cấp tính riêng tư, tính xác thực hoặc cả hai, khi null encycrypt algortithm được sử dụng cho việc mã hóa, null authentication algorithm không được sử dụng để xác thực.

o Tính toán dữ liệu xác thực nếu việc xác thực được yêu cầu bởi SA. Các dữ liệu được xác thực gồm có intianl ESP header cũng như các dữ liệu đã được mã hóa. Thuật toán xác thực được dùng trong quá trình xử lí IPSEC đối với ESP là HMAC-MD5, HMAC-SHA1 và null authentication algorithm. Thuật toán cuối cùng không cung cấp sự xác thực. Bởi vì ESP header cần phải cung cấp tính toàn vẹn, tính xác thực hoặc cả hai, nên khi null authentication algorithm được sử dụng để xác thực thì null encycrypt algortithm không được sử dụng để mã hóa.

o Phân mảnh nếu cần thiết. 4.6 Quá trình xử lí ESP đối với các thông điệp Inbond:

Khi nhận được một thông điệp có chứa ESP header. Quá trình xử lí gói tin IP sẽ đảm bảo tổng hợp tất cả các phân mảnh thành một thông điệp hoàn thiện. Thông điệp sau đó được chuyển sang quá trình xử lí IPSEC gồm các bước sau:

o Tìm kiếm trong SAD để xác định inbound SA phù hợp để quản lí thông điệp này.

o Nếu bên nhận có sử dụng chức năng chống phát lại, thực hiện việc kiểm tra chống phát lại,

o Kiểm tra tính xác thực. Nếu việc kiểm tra xác định rằng gói tin không xác thực được thì sẽ loại bỏ gói tin này, ngược lại tiếp tục chuyển sang bước tiếp theo. Việc thực hiện xác thực trước quá trình giải mã giúp bớt tính chi phí tính toán mã hóa khi thông điệp đã bị xáo trộn ( không thể xác thực đúng).

Page 13: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

o Mã hóa phần còn lại của gói tin. Nếu quá trình giải mã không thành công hoặc kết quả giải mã bị xáo trộn so về vị trí của các trường thì thông điệp sẽ bị hủy bỏ.

o Loại bỏ phần padding nếu chúng đã được thêm vào.o Loại bỏ trường ESP header và tiếp tục quá trình xử lí IPSEC đối với

bất kì tiêu đề IPSEC nào còn lại.o Kiểm tra số SPI để đảm bảo các chính sách IPSEC đã áp dụng cho

thông điệp trên phù hợp với các chính sách IPSEC được yêu cầu cho thông điệp.

Việc xác thực và mã hóa thành công một thông điệp inbound bằng một SA trong SAD chưa chắc đảm bảo SA này nên được sử dụng để bảo vệ các loại truyền thông tương tự.

Trong trường hợp 1( đã được trình bày ở chương trước), giả sử H1 và H2 đã thiết lập một số SA để bảo vệ truyền thông giữa hai đầu cuối của chúng. SA1 và SA2 bảo vệ các gói tin HTTP không bị xáo trộn là các AH SA, SA3 và SA4 bảo vệ các gói tin FTP là các ESP SA.

Hình 4.6.1: Erroneous SA usage Khi một thông điệp đến H2 và các thông số như SPI, protocol (ESP) và địa

chỉ đích gắn gói tin với SA3, SA này sẽ được sử dụng để mã hóa thông điệp. Tuy nhiên điều gì xảy ra nếu H1 sử dụng nhầm SA3 cho các gói tin HTTP để gửi tin đến H2. Các chỉ số thông điệp inbound như địa chỉ đích, SPI, protocol (ESP) tất cả đều chỉ đến SA3. Chỉ số port number ( chỉ số này dùng để xác định gói tin này không phải là gói FTP( lưu ý rằng theo giả định của ta SA3 chỉ dùng để bảo vệ các gói FTP) không thể đọc được trước khi gói tin được mã hóa. Gói tin này sẽ được mã hóa tiếp tục vì nó xác định được một SA phù hợp trong SAD. Quá trình kiểm tra các policy đã áp dụng cho gói tin xác định rằng policy đã áp dụng cho gói tin trên không giống với các policy yêu cầu đối với SA3 và do đó gói tin bị hủy. Việc này khiến chi phí tính toán mã hóa là vô ích.

Một tình huống nghiêm trọng hơn khi SA sử dụng một SA budle, một nhóm các SA có quan hệ với nhau, để bảo vệ cùng một thông điệp

Page 14: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

Hình 4.6.2: SA bundel applicastions: (a) erroneous application and (b) correct application

Giả sử H1 và H2 thiết lập hai SA bảo vệ đầu cuối: SA1 và SA2 là các ESP enncycrypt only SA và SA3, SA4 là các AH SA xác thực các thông điệp đã được mã hóa và IP Header của chúng. Điều ji xảy ra nếu H1 chỉ sử dụng SA1 để gửi các FTP request đến H2. Các thống số của cá gói tin inboud như SPI, protocol, địa chỉ đích đều chỉ đến SA1. Gói tin sẽ được mã hóa thành công vì nó chỉ đến một SA hợp lệ trong SAD. Tuy nhiên khi chuyển sang quá trình kiểm tra các policy áp dụng có gói tin trên có phù hợp không thì gói tin trên sẽ bị loại vì quá trình kiểm tra policy xác định rằng gói tin trên phải có hai security header tuy nhiên nó chỉ có một security header. Trường hợp a trong hình trên mô tả tình huống sử dụng sai SA bundle còn trường hợp b mô tả tình huống sử dụng SA bundle đúng.5.1 Authentication Header (AH). 5.2 Encapsilating Security payload (ESP).

5. Trao đổi khóa trong IPSEC – Key Exchange (IKE):6.1 Trao đổi khóa trong IPSEC – Key Exchange (IKE) 6.1.1 ISAKMP Phase 1 6.1.2 ISAKIMP Phase 26.2 IKE Modes

Page 15: S6_Ngiên cứu và triển khai IPSEC trong IPv6 và ứng dụng trên VPN_Nhóm 4_Lan 7

Chương III. TÌM HIỂU CÔNG NGHỆ MẠNG RIÊNG ẢO (VPN)1. Khái niệm VPN, các thành phần cần thiết để tạo kết nối VPN.2. Các giao thức VPN: L2TP,GRE,IPSec,PPTP. 3. Các dạng kết nối VPN: Remote Access VPN,Site-to-site VPN,Dynamic

VPN...Chương IV. AN TOÀN DỮ LIỆU TRONG VPN VỚI CÔNG NGHỆ IPSEC

1. Mã hoá: mật mã,hệ thống mật mã khoá đối xứng,bất đối xứng, Thuật toán trao đổi khoá Diffie-Hellman.

2. Xác thực thông tin: các hàm băm. 3. Quản lý khoá trong IPSec. 4. Thiết lập IPSec/VPN