Tải bản đầy đủ (.docx) (39 trang)

TÌM HIỂU về IPv4 AND IPv6 SECURITY và ỨNG DỤNG TRONG cài đặtx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.51 MB, 39 trang )

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ - CƠ SỞ THANH HÓA

ĐỒ ÁN CHUYÊN NGÀNH
ĐỀ TÀI:
TÌM HIỂU VỀ IPv4 AND IPv6 SECURITY VÀ
ỨNG DỤNG TRONG CÀI ĐẶT

Giảng viên HD : TH.S. Nguyễn Xuân Lô
Lớp : DHTH7TH
Sinh viên TH : Lê Như Quân - 11018863
: Nguyễn Trung Dũng – 10024513
: Phạm Trung Hiếu - 11031983
THANH HÓA - 2015
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
MỤC LỤC
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
CHƯƠNG 1: TỔNG QUAN VỀ INTERNET PROTOCOL SECURITY
(IPSEC)
1.1. Giới thiệu IPsec
IPSec là một tập các giao thức chuẩn, cung cấp các dịch vụ bảo mật cho
những gói tin IP tại lớp Network. Những dịch vụ này bao gồm các điều khiển
truy cập access control list, toàn vẹn dữ liệu-data integrity, xác thực-
authentication, tránh trùng lặp gói tin -against replay và sự bảo mật dữ liệu -data
security. IPSec là sự lựa chọn hàng đầu cho việc bảo mật trong VPN.
1.2. Khung giao thức IPsec
IPSec là một tập các chuẩn mở, được phát triển bởi IETF.
Khung giao thức được sử dụng trong IPSec
Một số tính năng được khuyến khích sử dụng khi làm việc với IPSec.
– Các giao thức bảo mật IPSec


+ AH (Authentication Header): cung cấp tính toàn vẹn phi kết nối và
chứng thực nguồn gốc dữ liệu cho các gói dữ liệu IP và bảo vệ chống lại các
cuộc tấn công replay.
+ ESP (Encapsulation Security Payload): cung cấp tính năng bảo mật,
chứng thực nguồn gốc dữ liệu, tính toàn vẹn phi kết nối và dịch vụ chống replay.
– Các thuật toán mã hóa
+ DES (Data Encryption Standard): Được phát triển bởi IBM. DES sử
dụng 1 khóa 56-bít, đảm bảo hiệu năng mã hóa cao. DES là một hệ thống mã
hóa khóa đối xứng.
+ 3 DES (Triple DES): là một biến thể của DES 56-bít. Hoạt động tương
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 4
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
tự như DES, trong đó dữ liệu được chia thành các khối 64 bít. 3DES thực thi
mỗi khối ba lần, mỗi lần với một khóa 56 bít độc lập. 3DES cung cấp sức mạnh
khóa đáng kể so với DES.
– Các chức năng toàn vẹn dữ liệu
+ HMAC (Hash – ased Message Authentication Code): là một thuật toán
toàn vẹn dữ liệu đảm bảo tính toàn vẹn của bản tin. Tại đầu cuối, bản tin và một
khóa chia sẻ bí mật được gửi thông qua một thuật toán băm, trong đó tạo ra một
giá trị băm. Bản tin và giá trị băm được gửi qua mạng
+ MD5 (Message Digest 5): là một hàm băm để mã hóa với giá trị băm là
128 bít. MD5 biến đổi một thông điệp có chiều dài bất kỳ thành một khối có
kích thước cố định 128 bít. Thông điệp đưa vào sẽ được cắt thành các khối 512
bít, thông điệp sau đó được độn sao cho chiều dài của nó chia chẵn cho 512.
+ SHA-1 (Secure Hash Algorithm -1): Sử dụng một khóa 160 bít, 224
bít….
– Các phương pháp xác thực (peer Authentication)
+ Rivest, Shamir, and Adelman (RSA) Digital Signatures: là một hệ thống
mật mã khóa bất đối xứng. Nó sử dụng một chiều dài khóa là 512 bít, 768 bít,
1024 bít hoặc lớn hơn. IPsec không sử dụng RSA để mã hóa dữ liệu. Chỉ sử

dụng RSA để mã hóa trong giai đoạn xác thực ngang hàng.
+ RSA Encrypted Nonces
– Các giao thức quản lý khoá
+ DH (Diffie- Hellman)
+ CA (Certificate Authority)
– Các chính sách an ninh
+ IKE (Internet Key Exchange): IPSec dùng một giao thức thứ ba,
Internet Key Exchange (IKE), để 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à trong suốt phiên giao dịch.
+ ISAKMP (Internet Security Association and Key Management Protocol
1.3. Tính năng của IPsec
1.3.1. Sự bảo mật dữ liệu (Data Confidentiality):
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 5
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Đảm bảo dữ liệu được bảo mật, tránh những kẻ tấn công phá hoại bằng
cách thay đổi nội dung hoặc đánh cắp dữ liệu quan trọng. Việc bảo vệ dữ liệu
được thực hiện bằng các thuật toán mã hóa như DES, 3DES và AES. Tuy nhiên,
đây là một tính năng tùy chọn trong IPSec.
1.3.2. Sự toàn vẹn dữ liệu (Data Integrity):
Đảm bảo rằng dữ liệu không bị thay đổi trong suốt quá trình trao đổi. Data
integrity bản thân nó không cung cấp sự bảo mật dữ liệu. Nó sử dụng thuật toán
băm (hash) để kiểm tra dữ liệu bên trong gói tin có bị thay đổi hay không.
Những gói tin nào bị phát hiện là đã bị thay đổi thì sẽ bị loại bỏ. Những thuật
toán băm: MD5 hoặc SHA-1.
1.3.3. Chứng thực nguồn dữ liệu (Data Origin Authentication):
Mỗi điểm cuối của VPN dùng tính năng này để xác định đầu phía bên kia
có thực sự là người muốn kết nối đến mình hay không. Lưu ý là tính năng này
không tồn tại một mình mà phụ thuộc vào tính năng toàn vẹn dữ liệu. Việc
chứng thực dựa vào những kĩ thuật: Pre-shared key, RSA-encryption, RSA-
signature.

1.3.4. Tránh trùng lặp (Anti-replay):
Đảm bảo gói tin không bị trùng lặp bằng việc đánh số thứ tự. Gói tin nào
trùng sẽ bị loại bỏ, đây cũng là tính năng tùy chọn.
1.4. Các giao thức IPsec
Để trao đổi và thỏa thuận các thông số nhằm tạo nên một môi trường bảo
mật giữa 2 đầu cuối, IPSec dùng 3 giao thức:
1.4.1. Internet Key Exchange (IKE)
Là giao thức thực hiện quá trình trao đổi khóa và thỏa thuận các thông số
bảo mật như: thuật toán mã hóa được áp dụng, khoảng thời gian khóa cần được
thay đổi. Sau khi thỏa thuận xong thì sẽ thiết lập “hợp đồng” giữa 2 bên, khi đó
IPSec SA (Security Association) được tạo ra.
SA là những thông số bảo mật đã được thỏa thuận thành công, các thông
số SA này sẽ được lưu trong cơ sở dữ liệu của SA
Ngoài ra IKE còn dùng 2 giao thức khác để chứng thực đầu cuối và tạo
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 6
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
khóa: ISAKMP (Internet Security Association and Key Management Protocol)
và Oakley.
– ISAKMP: là giao thức thực hiện việc thiết lập, thỏa thuận và quản lý
chính sách bảo mật SA.
– Oakley: là giao thức làm nhiệm vụ chứng thực khóa, bản chất là dùng
thuật toán Diffie-Hellman để trao đổi khóa bí mật thông qua môi trường chưa
bảo mật.
Lưu ý: Giao thức IKE dùng UDP port 500.
1.4.2 Encapsulating Security Payload (ESP):
Là giao thức cung cấp sự bảo mật, toàn vẹn, chứng thực nguồn dữ
liệu và những tùy chọn khác, chẳng hạn anti-replay. ESP cung cấp gần như toàn
bộ tính năng của IPSec, ngoài ra nó còn cung cấp tính năng mã hóa dữ liệu. Do
đó, ESP được sử dụng phổ biến trong IPSec VPN. ESP bao gồm những tính
năng sau:

Tính bảo mật (Data confidentiality)
Tính toàn vẹn dữ liệu (Data integrity)
Chứng thực nguồn dữ liệu (Data origin authentication)
Tránh trùng lặp (Anti-replay)
Những tính năng trên cũng là những tính năng đặc trưng và chính yếu
nhất của IPSec.
Lưu ý: ESP sử dụng IP protocol number 50.
Hoạt dộng của ESP
ESP chèn một header vào sau phần IP header và trước header của giao
thức lớp trên. Header này có thể là một IP header mới trong tunnel mode hoặc IP
header của gói tin ban đầu trong transport mode. Hình sau cho thấy vị trí của
ESP header trong transport mode và tunnel mode:
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 7
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
IP Packet được bảo vệ bởi ESP trong Tunnel Mode
1.4.3 Authentication Header (AH)
Là giao thức cung cấp sự toàn vẹn, chứng thực nguồn dữ liệu và một số
tùy chọn khác. Nhưng khác với ESP, nó không cung cấp chức năng bảo mật
(data confidential). AH đảm bảo dữ liệu không bị thay đổi trong quá trình truyền
dẫn nhưng không mã hóa dữ liệu.
Trường AH chỉ định cái sẽ theo sau AH header. Trong transport mode, nó
sẽ là giá trị của giao thức lớp trên đang được bảo vệ (chẳng hạn UDP hoặc
TCP). Trong tunnel mode, giá trị này là 4. Vị trí của AH trong transport và
tunnel mode được mô tả ở hình sau:
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 8
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Trong tunnel mode, AH đóng gói gói tin IP và thêm vào một IP header
trước AH header
IP Packet được bảo vệ bởi AH trong Tunnel Mode
1.5.Hoạt động của IPSec

Mục đích chính của IPSec là bảo vệ luồng dữ liệu mong muốn dựa trên
các dịch vụ bảo mật có sẵn, hoạt động của IPSec có thể chia thành 5 bước chính
như sau:
Hoạt động của IPSec
• A gửi các traffic cần bảo vệ tới B
• A gửi các traffic cần bảo vệ tới B
• IKE SA ← IKE Phase 1 → IKE SA
• A gửi các traffic cần bảo vệ tới B
• IPSec SA ← IKE Phase 2 → IPSec SA
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 9
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
• A gửi các traffic cần bảo vệ tới B
• A gửi các traffic cần bảo vệ tới B
Bước 1:
Traffic cần được bảo vệ khởi tạo quá trình IPSec. Ở đây, các thiết đầu
cuối IPSec sẽ nhận ra đâu là lưu lượng cần được bảo vệ thông qua trường địa
chỉ.
Bước 2:
IKE Phase 1 – IKE xác thực các bên và một tập các dịch vụ bảo mật được
thoả thuận và công nhận để thiết lập IKE SA. Trong phase này, sẽ thiết lập một
kênh truyền thông bảo mật để tiến hành thoả thuận IPSec SA trong Phase 2.
Bước 3:
IKE Phase 2 – IKE thoả thuận các tham số IPSec SA và thiết lập các
IPSec SA tương đương ở hai phía. Các tham số bảo mật này được sử dụng để
bảo vệ dữ liệu và các gói tin trao đổi giữa các điểm đầu cuối. Kết quả cuối cùng
của hai bước trên sẽ tạo ra một kênh thông tin bảo mật giữa hai bên.
Bước 4:
Truyền dữ liệu – Dữ liệu được truyền giữa các bên IPSec dựa trên cơ sở
các thông số bảo mật và các khoá được lưu trữ trong cơ sở dữ liệu SA.
Bước 5:

Kết thúc đường hầm IPSec – Do các IPSec SA hết hạn hoặc bị xoá
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 10
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
CHƯƠNG 2: INTERNET PROTOCOL SERCURITY TRONG
IPV6 VÀ IPV4
2.1. Internet protocol security trong IPv6
IP Security (IPSec) là tiêu chuẩn của IETF (Internet Engineering Task
Force) nhằm cung cấp bảo mật cho mạng Internet. IPSec đảm bảo tính toàn vẹn,
xác thực và bảo mật.
2.1.1. Mào đầu gói tin IPv6
IPv6 chỉ có 6 trường và 2 địa chỉ, IPv6 header có kích thước cố định. Với
kích thước cố định thì một router có thể xử lý gói tin một cách hiệu quả.
2.1.1.1 Chiều dài phần mào đầu
Gói tin IPv6 có hai dạng mào đầu: mào đầu cơ bản và mào đầu mở rộng.
Phần mào đầu cơ bản có chiều dài cố định 40 byte, chứa những thông tin cơ bản
trong xử lý gói tin IPv6. Những thông tin liên quan đến dịch vụ mở rộng kèm
theo được chuyển hẳn tới một phân đoạn khác gọi là mào đầu mở rộng. Cấu trúc
gói tin IPv6:
Cấu trúc gói tin IPv6
2.1.1.2 Định dạng các trường mào đầu
Cấu trúc mào đầu của IPv6 header gồm:
Phiên bản (Version): Gồm 4 bít được sử dụng để xác định phiên bản của
giao thức IP đang được sử dụng và nó có giá trị là 6 với IPv6.
Phân dạng lưu lượng (Traffic Class): Gồm 8 bít thực hiện chức năng
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 11
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
tương tự trường Dạng dịch vụ (Type of Service) của IPv4. Trường này được sử
dụng để biểu diễn mức độ ưu tiên của gói tin, mỗi điểm kết nối IPv6 có thể đánh
dấu gói tin với từng loại dữ liệu, ví dụ gói tin nên được truyền với tốc độ nhanh
hay thông thường.

Nhãn dòng (Flow Label): Có chiều dài 20 bít, là trường mới được thiết lập
trong IPv6. Trường này được sử dụng để chỉ định gói tin thuộc một dòng (Flow)
nhất định giữa nguồn và đích, yêu cầu bộ định tuyến IPv6 phải có cách xử lý đặc
biệt. Bằng cách sử dụng trường này, nơi gửi gói tin có thể xác định một chuỗi
các gói tin, ví dụ gói tin của dịch vụ thoại VoIP thành một dòng và yêu cầu chất
lượng cụ thể cho dòng đó. Khi một router xác định dòng lưu lượng lần đầu, nó
sẽ nhớ dòng lưu lượng đó, cũng như các xử lý đặc biệt ứng với lưu lượng này, và
khi các lưu lượng khác thuộc dòng này đến, nó sẽ xử lý nhanh hơn là xử lý từng
packet.
Chiều dài tải dữ liệu (Payload Length): Gồm 16 bít, tương tự như trường
total length của IPv4, xác định tổng kích thước của gói tin IPv6 bao gồm cả
phần mào đầu mở rộng (không chứa header).
Next header: Gồm 8 bít, thay thế trường Thủ tục (Protocol). Trường này
chỉ định đến mào đầu mở rộng đầu tiên của gói tin IPv6, đặt sau mào đầu cơ bản
hoặc chỉ định tới thủ tục lớp trên như TCP, UDP, ICMPv6 khi trong gói tin IPv6
không có mào đầu mở rộng.
Hop limit: Gồm 8 bít, được sử dụng để giới hạn số hop mà packet đi qua,
được sử dụng để tránh cho packet được định tuyến vòng vòng trong mạng.
Trường này giống như trường TTL (Time-To-Live) của IPv4.
Source Address: Gồm 128 bít, xác định địa chỉ nguồn của gói tin.
Destination Address: Gồm 128 bít, xác định địa chỉ đích của gói tin
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 12
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Định dạng gói tin IPv6
2.1.1.3 Các trường mào đầu mở rộng
Mào đầu mở rộng (extension header) là đặc tính mới của thế hệ địa chỉ
IPv6.
Những thông tin liên quan đến dịch vụ kèm theo được chuyển hẳn tới một
phân đoạn khác gọi là header mở rộng, mỗi header mở rộng được nhận dạng bởi
trường Next Header. Các header mở rộng được đặt giữa IPv6 header và header

của các giao thức lớp trên, được sử dụng để mang các thông tin tuỳ chọn ở lớp
mạng (Network layer) trong gói tin. Một gói tin IPv6 có thể chứa một hay nhiều
header mở rộng, được đặt sau mào đầu cơ bản. Các mào đầu mở rộng được đặt
nối tiếp nhau theo thứ tự quy định, mỗi dạng có cấu trúc trường riêng. Thông
thường, các mào đầu mở rộng được xử lý tại đích. Tuy nhiên cũng có dạng mào
đầu mở rộng được xử lý tại mọi bộ định tuyến mà gói tin đó đi qua, đó là dạng
mào đầu mở rộng Từng bước (Hop by Hop). Mỗi header mở rộng sẽ có giá trị
đại diện cho nó. Ví dụ: TCP (6); UDP (7); Routing hea
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 13
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
der (43); Fragment header (44); ESP (50); AH (51); ICMP (58) [1]
Các giá trị của trường Next Header
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 14
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Mào đầu cơ bản và mọi mào đầu mở rộng IPv6 đều có trường mào đầu
tiếp theo (Next Header) chiều dài 8 bít. Trong mào đầu cơ bản, trường Next
Header sẽ xác định gói tin có tồn tại mào đầu mở rộng hay không. Nếu không có
mào đầu mở rộng giá trị của trường sẽ xác định phần mào đầu của tầng cao hơn
(TCP hay UDP…) phía trên của tầng IP. Nếu có, giá trị trường Next Header chỉ
ra loại mào đầu mở rộng đầu tiên theo sau mào đầu cơ bản. Tiếp theo, trường
Next Header của mào đầu mở rộng thứ nhất sẽ trỏ tới mào đầu mở rộng thứ hai,
đứng kế tiếp nó. Trường Next Header của mào đầu mở rộng cuối cùng sẽ có giá
trị xác định mào đầu tầng cao hơn.
Mào đầu mở rộng của địa chỉ IPv6
Khi gói đi từ nguồn đến đích, các trạm trung gian không được phép xử lý
các Extension Header đến khi đến trạm đích. 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ệ 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 trạm 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
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 15
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
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. Kích thước của các
Extension Header có thể tùy ý, nhưng luôn là bội số của 8 octet. Nếu trong gói
tin có chứa nhiều Extension Header, chúng được sắp xếp theo thứ tự sau:
• IPv6 Header.
• Hop-by-Hop Options Header.
• Destination Options Header: Được xử lý bởi trạm đích đầu tiên
trong IPv6 Header và những trạm còn lại được chỉ ra trong Routing
Header.
• Routing Header.
• Fragment Header.
• Authentication Header.
• Encapsulating Security Payload Header.
• Mobility header
• Destination Options Header: Chỉ được xử lý bởi đích đến cuối cùng
trong gói tin
• Upper-layer Header.
Định dạng của Extension Header
2.1.2. Tích hợp bảo mật IPsec trong địa chỉ IPv6
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 16
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Cấu trúc địa chỉ IPv6 sử dụng IPSec để đảm bảo tính toàn vẹn, bảo mật và
xác thực nguồn gốc dữ liệu sử dụng hai mào đầu mở rộng tùy chọn: mào đầu
Xác thực- (AH -Authentication Header) và mào đầu Mã hóa (ESP - Encrypted
Security Payload). Hai Header này có thể được sử dụng chung hay riêng để hỗ
trợ nhiều chức năng bảo mật.

Các chế độ làm việc chính của giao thức IPSec, bao gồm:
• Transport mode:
Chế độ hoạt động này bảo vệ giao thức tầng trên và các ứng dụng. Trong
đó, phần IPSec header được chèn vào giữa phần IP header và phần header của
giao thức tầng trên.Vì vậy, chỉ có tải (IP payload) là được mã hóa và IP header
ban đầu là được giữ nguyên vẹn. Transport mode có thể được dùng khi cả hai
host hỗ trợ IPSec. Hoạt động của ESP trong chế độ này được sử dụng để bảo vệ
thông tin giữa hai host cố định và bảo vệ các giao thức lớp trên của IP datagram.
Trong Transport Mode, AH header được chèn vào trong IP datagram sau IP
header và các tuỳ chọn. Ở trong chế độ này, AH được xem như phần tải đầu cuối
tới đầu cuối (end-to-end payload), nên sẽ xuất hiện sau các phần header mở rộng
hop-to-hop, routing, và fragmentation. Còn phần mào đầu đích (Destination
Options Header) có thể được đặt trước hoặc sau AH.
IPSec trong chế độ Transport
• Tunnel mode:
Chế độ này bảo vệ toàn bộ gói dữ liệu. Toàn bộ gói dữ liệu IP được đóng
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 17
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
gói trong một gói dữ liệu IP khác. Và một IPSec header được chèn vào giữa
phần đầu nguyên bản (Original Header) và phần đầu mới của IP. Trong chế độ
Tunnel IP header ở đầu vào mang địa chỉ nguồn và địa chỉ đích cuối cùng, còn
IP header ở đầu ra mang địa chỉ để định tuyến qua Internet. Trong chế độ này,
AH bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả IP header đầu vào.
IPSec trong chế độ Tunnel
2.1.3. Nguyên tắc hoạt động của các giao thức bảo mật trong địa chỉ IPv6
2.1.3.1. Nguyên tắc hoạt động của AH
AH được mô tả trong RFC 4302, là một IPSec header cung cấp xác thực
gói tin và kiểm tra tính toàn vẹn. AH cho phép xác thực và kiểm tra tính toàn
vẹn dữ liệu của các gói tin IP truyền giữa 2 hệ thống. Nó là phương tiện để kiểm
tra xem dữ liệu có bị thay đổi trong khi truyền hay không. Tuy nhiên các dữ liệu

đều truyền dưới dạng bản Plaintext vì AH không cung cấp khả năng mã hóa dữ
liệu.
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 18
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Định dạng mào đầu IPsec AH
Định dạng của AH
• Next Header:
Trường này có độ dài 8 bits để xác định mào đầu tiếp theo sau AH. Giá trị
của trường này được lựa chọn từ các tập các giá trị IP Protocol Numbers định
nghĩa bởi IANA- Internet Assigned Numbers Authority (xem chi tiết hình dưới)
• Payload Length:
Trường này có độ dài 8 bits để xác định độ dài của AH không có tải.
Reserved:
Trường này có độ dài 16 bits dành để dự trữ cho việc sử dụng trong tương
lai. Giá trị của trường này được thiết lập bằng 0 bởi bên gửi và sẽ được loại bỏ
bởi bên nhận.
• SPI (Security Parameters index):
Đây là một số 32 bits bất kì, cùng với địa chỉ đích và giao thức an ninh
ESP cho phép nhận dạng duy nhất chính sách liên kết bảo mật SA (xác định giao
thức IPSec và các thuật toán nào được dùng để áp dụng cho gói tin) cho gói dữ
liệu này. Các giá trị SPI 1-255 được dành riêng để sử dụng trong tương lai. SPI
thường được lựa chọn bởi phía thu khi thiết lập SA.
• Sequence Number :
Trường này có độ dài 32 bits, chứa một giá trị đếm tăng dần (SN), đây là
trường không bắt buộc cho dù phía thu không thực hiện dịch vụ chống trùng lặp
cho một SA cụ thể nào đó. Việc thực hiện SN tùy thuộc phía thu, nghĩa là phía
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 19
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
phát luôn phải truyền trường này, còn phía thu có thể không cần phải xử lí nó.
Bộ đếm của phía phát và phía thu đều được khởi tạo 0 khi một SA được thiết lập

(Gói đầu tiên truyền đi với SA đó sẽ có SN=1)
• Authentication Data:
Trường có độ dài biến đổi chứa một giá trị kiểm tra tính toàn vẹn ICV
(Integrity Check Value) cho gói tin, có độ dài là số nguyên lần 32 bits. Trường
này có thể chứa thêm một phần dữ liệu đệm để đảm bảo độ dài của AH header là
số nguyên lần 32 bít (đối với IPV4) hoặc 64 bít (đối với IPV6).
• Chế độ xác thực:
Xác thực từ đầu cuối đến đầu cuối (End-to-End Authentication):
Là trường hợp xác thực trực tiếp giữa hai hệ thống đầu cuối (giữa máy
chủ với trạm làm việc hoặc giữa hai trạm làm việc), việc xác thực này có thể
diễn ra trên cùng mạng nội bộ hoặc giữa hai mạng khác nhau, chỉ cần hai đầu
cuối biết được khoá bí mật của nhau. Trường hợp này sử dụng chế độ vận
chuyển (Transport Mode) của AH.
Xác thực từ đầu cuối đến trung gian (End-to-Intermediate
Authentication):
Là trường hợp xác thực giữa hệ thống đầu cuối với một thiết bị trung gian
(router hoặc firewall). Trường hợp này sử dụng chế độ đường hầm (Tunnel
Mode) của AH.
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 20
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Hai chế độ xác thực của AH
Gói tin IPv6 AH ở chế độ Transport:
Mào đầu được xác thực trong chế độ IPv6 AH Transport ( Phần màu nâu
đậm là phần dữ liệu được xác thực)
Gói tin IPv6 AH ở chế độ Tunnel:
Mào đầu được xác thực trong chế độ IPv6 AH Tunnel (Phần màu nâu đậm
là phần dữ liệu được xác thực).
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 21
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
Nguyên tắc hoạt động của AH bao gồm 4 bước:

B1: AH sẽ đem gói dữ liệu (packet ) bao gồm : Payload + IP Header +
Key cho chạy qua giải thuật Hash 1 chiều và cho ra 1 chuỗi số và chuỗi số này
sẽ được gán vào AH Header.
B2: AH Header này sẽ được chèn vào giữa Payload và IP Header và
chuyển sang phía bên kia
B3: Router đích sau khi nhận được gói tin này bao gồm:
IP Header + AH Header + Payload sẽ được cho qua giải thuật Hash một
lần nữa để cho ra một chuỗi số.
B4: so sánh chuỗi số nó vừa tạo ra và chuỗi số của nó nếu giống nhau thì
nó chấp nhận gói tin.
2.1.3.2. Nguyên tắc hoạt động của ESP
ESP Header được mô tả trong RFC 4303, cung cấp mã hóa bảo mật và
toàn vẹn dữ liệu trên mỗi điểm kết nối IPv6. ESP là một giao thức bảo mật cho
phép mật mã dữ liệu, xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn của dữ
liệu. Khác với AH, ESP cung cấp khả năng bí mật của thông tin thông qua việc
mã hóa gói tin ở lớp IP, tất cả các lưu lượng ESP đều được mã hóa giữa 2 hệ
thống, do đó xu hướng sử dụng ESP nhiều hơn AH trong tương lai để làm tăng
tính bảo mật cho dữ liệu. Sau khi đóng gói xong bằng ESP, mọi thông tin và mã
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 22
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
hoá và giải mã sẽ nằm trong ESP Header. Các thuật toán mã hoá sử dụng trong
giao thức như: DES, 3DES, AES. Định dạng của ESP Header như sau:
Định dạng mào đầu IPsec ESP
Định dạng ESP: ESP thêm một header và Trailer vào xung quanh nội
dung của mỗi gói tin.
SPI (Security Parameters Index): Trường này tương tự như bên AH
SN (Sequence Number): Trường này tương tự như bên AH
Payload Data: Trường này có độ dài biến đổi chứa dữ liệu mô tả bên trong
Next Header. Đây là trường bắt buộc và có độ dài là số nguyên lần bytes
Padding: Trường này được thêm vào bởi nếu thuật toán mật mã được sử

SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 23
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
dụng yêu cầu bản rõ (plaintext) thì padding được sử dụng để điền vào plaintext
(bao gồm các trường Payload Data, Pad Length, Next Header và Padding) để có
kích thước theo yêu cầu.
IVC: Giá trị kiểm tra tính toàn vẹn, là trường có độ dài thay đổi được tính
trên các trường ESP trailer, Payload, ESP header. Thực chất các trường ESP
trailer đã bao gồm kiểm tra tính toàn vẹn (IVC).
Gói tin IPv6 ESP ở chế độ Transport:
Mào đầu được mã hóa trong chế độ IPv6 ESP Transport (Phần màu nâu
đậm là phần dữ liệu được mã hóa)
 Gói tin IPv6 ESP ở chế độ Tunnel:
Mào đầu được mã hóa trong chế độ IPv6 ESP Tunnel (Phần màu nâu sậm
là phần dữ liệu được mã hóa
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 24
Đồ án chuyên ngành GVHD: Th.S Nguyễn Xuân Lô
• Nguyên tắc hoạt động:
Về nguyên tắc hoạt động thì ESP sử dụng mật mã đối xứng để cung cấp
sự mật hoá dữ liệu cho các gói tin IPSec. Cho nên, để kết nối của cả hai đầu cuối
đều được bảo vệ bởi mã hoá ESP thì hai bên phải sử dụng key giống nhau mới
mã hoá và giải mã được gói tin. Khi một đầu cuối mã hoá dữ liệu, nó sẽ chia dữ
liệu thành các khối (block) nhỏ, và sau đó thực hiện thao tác mã hoá nhiều lần
sử dụng các block dữ liệu và khóa (key). Khi một đầu cuối khác nhận được dữ
liệu mã hoá, nó thực hiện giải mã sử dụng key giống nhau và quá trình thực hiện
tương tự, nhưng trong bước này ngược với thao tác mã hoá.
Nguyên tắc hoạt động của ESP Header.
• So sánh giữa AH và ESP
2.1.4 Quản lý khóa
Để áp dụng hai mào đầu AH và ESP yêu cầu các bên tham gia phải thỏa
thuận một khóa chung để sử dụng trong việc kiểm tra bảo mật thông tin.

Quản lý khóa thủ công: IPv6 yêu cầu tất cả các thao tác đều có thể cho
phép thiết lập thủ công khóa bí mật. Công nghệ cấu hình bằng tay được cho
SVTH: Lê Như Quân – Nguyễn Trung Dũng – Phạm Trung Hiếu Trang: 25

×