You are on page 1of 120

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA ĐIỆN-ĐIỆN TỬ

BỘ MÔN VIỄN THÔNG

LUẬN VĂN TỐT NGHIỆP

XÂY DỰNG THIẾT BỊ BẢO MẬT VPN


DỰA TRÊN GIAO THỨC IPSEC

GVHD: Ths. Tạ Trí Nghĩa


SVTH : Tôn Thất Cao Nguyên 40901767
Hồ Sỹ Thông 40902647

-Hồ Chí Minh, Tháng 12-2013-

Trang i
ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập – Tự do – Hạnh phúc.
-----✩----- -----✩-----
Số: ______ /BKĐT
Khoa: ĐIỆN-ĐIỆN TỬ
Bộ Môn: ĐIỆN TỬ-VIỄN THÔNG

NHIỆM VỤ LUẬN VĂN TỐT NGHIỆP

1. HỌ VÀ TÊN : TÔN THẤT CAO NGUYÊN MSSV: 40901767


: HỒ SỸ THÔNG MSSV: 40902647
2. NGÀNH: VIỄN THÔNG Đề tài luận văn :
“XÂY DỰNG THIẾT BỊ BẢO MẬT VPN DỰA TRÊN GIAO THỨC IPSEC”

3. Nhiệm vụ (Yêu cầu về nội dung và số liệu ban đầu):


.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
4. Ngày giao nhiệm vụ luận văn: ...............................
5. Ngày hoàn thành nhiệm vụ: ...................................
6. Họ và tên người hướng dẫn: Phần hướng dẫn
ThS. TẠ TRÍ NGHĨA ........................................
Nội dung và yêu cầu LVTN đã được thông qua Bộ Môn.

Tp.HCM, ngày…... tháng….. năm 20


CHỦ NHIỆM BỘ MÔN NGƯỜI HƯỚNG DẪN CHÍNH
(Ký và ghi rõ họ tên) (Ký và ghi rõ họ tên)

PHẦN DÀNH CHO KHOA, BỘ MÔN:


Người duyệt (chấm sơ bộ):.......................
Đơn vị:......................................................
Ngày bảo vệ : ...........................................
Điểm tổng kết: .........................................
Nơi lưu trữ luận văn: ............................

Trang ii
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Khoa: ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
-------------------------------
Mẫu TN.04 Ngày….Tháng......Năm.......
PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người hướng dẫn)

7. HỌ VÀ TÊN :TÔN THẤT CAO NGUYÊN MSSV: 40901767


:HỒ SỸ THÔNG MSSV: 40902647
NGÀNH: VIỄN THÔNG
8. Đề tài luận văn :
“XÂY DỰNG THIẾT BỊ BẢO MẬT VPN DỰA TRÊN GIAO THỨC IPSEC”

9. Họ tên người hướng dẫn: ThS.TẠ TRÍ NGHĨA


10. Tổng quát về bản thuyết minh:
Số trang : ..................... Số chương : .....................
Số bảng số liệu : ..................... Số hình vẽ : .....................
Số tài liệu tham khảo : ..................... Phần mềm tính toán : ....................
Hiện vật (sản phẩm) : .....................
11. Tổng quát về các bản vẽ :
- Số bản vẽ : bản A1 bản A2 Khổ khác
- Số bản vẽ tay Số bản vẽ trên máy tính
12. Những ưu điểm chính của LVTN
: ..................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
...
13. Những thiếu sót chính của LVTN
: ..................................................................................................................................
...
.....................................................................................................................................
.....................................................................................................................................
14. Đề nghị: Được bảo vệ Bổ xung để bảo vệ Không được bảo vệ
15. Câu hỏi sinh viên phải trả lời trước hội đồng
a) ..........................................................................................................................
b) .........................................................................................................................
c) ..........................................................................................................................
Đánh giá chung (bằng chữ : giỏi, khá, TB) :Điểm : /10

Ký tên (Ghi rõ họ tên)

Trang iii
TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Khoa: ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc
-------------------------------
Mẫu TN.04 Ngày….Tháng......Năm.......
PHIẾU CHẤM BẢO VỆ LVTN
(Dành cho người phản biện)

16. HỌ VÀ TÊN :TÔN THẤT CAO NGUYÊN MSSV: 40901767


:HỒ SỸ THÔNG MSSV: 40902647
NGÀNH: VIỄN THÔNG
17. Đề tài luận văn :

“XÂY DỰNG THIẾT BỊ BẢO MẬT VPN DỰA TRÊN GIAO THỨC IPSEC”
18. Họ tên người hướng dẫn: ThS.TẠ TRÍ NGHĨA
19. Tổng quát về bản thuyết minh:
Số trang : ..................... Số chương : .....................
Số bảng số liệu : ..................... Số hình vẽ : .....................
Số tài liệu tham khảo : ..................... Phần mềm tính toán : .....................
Hiện vật (sản phẩm) : .....................
20. Tổng quát về các bản vẽ :
- Số bản vẽ : bản A1 bản A2 Khổ khác
- Số bản vẽ tay Số bản vẽ trên máy tính
21. Những ưu điểm chính của LVTN
: ..................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
.......
22. Những thiếu sót chính của LVTN
: ..................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
...
23. Đề nghị: Được bảo vệ Bổ xung để bảo vệ Không được bảo vệ
24. Câu hỏi sinh viên phải trả lời trước hội đồng (CBPB ra ít nhất 02 câu)
a) ..........................................................................................................................
b) ..........................................................................................................................
c) ..........................................................................................................................
Đánh giá chung (bằng chữ : giỏi, khá, TB) :Điểm : /10

Ký tên (Ghi rõ họ tên)

Trang iv
LỜI CẢM ƠN

Đầu tiên, nhóm Luận văn xin phép được gửi lời cảm ơn sâu sắc đến tất cả các thầy cô
giáo trong trường đã dìu dắt nhóm trong suốt thời gian qua. Đặc biệt nhóm xin gửi
lời cảm ơn chân thành tới ThS.Tạ Trí Nghĩa, thầy đã hỗ trợ nhóm rất nhiều trong
luận văn này. Với lòng nhiệt huyết và thương yêu sinh viên, thầy luôn hướng dẫn
nhóm vượt qua mọi khó khăn và luôn theo sát bước đi của nhóm trong luận văn. Một
lần nữa, nhóm xin gửi lời cảm ơn sâu sắc đến thầy.

Nhóm cũng xin cảm ơn gia đình và bạn bè đã hết lòng hướng dẫn, chỉ bảo và luôn
tạo mọi điều kiện tốt nhất cho em trong suốt thời gian qua.

Nhóm sinh viên

Tôn Thất Cao Nguyên


Hồ Sỹ Thông

Trang v
MỤC LỤC

.................................................................................................................................................................................ii
LỜI CẢM ƠN.........................................................................................................................................................v
MỤC LỤC..............................................................................................................................................................vi
Chương 1 DANH MỤC HÌNH ẢNH....................................................................................................................ix
BẢNG SỐ LIỆU.....................................................................................................................................................x
DANH MỤC TỪ VIẾT TẮT.................................................................................................................................x
LỜI NÓI ĐẦU.....................................................................................................................................................xiii
Chương 2 GIỚI THIỆU ĐỀ TÀI...........................................................................................................................1
2.1 Đặt vấn đề.............................................................................................................1
2.2 Mục tiêu đề tài......................................................................................................2
2.3 Phạm vị đề tài.......................................................................................................2
2.4 Giới hạn đề tài......................................................................................................2
Chương 3 TỔNG QUAN VỀ VPN.........................................................................................................................4
3.1 Giới thiệu về VPN................................................................................................4
1.1.1. Khái niệm......................................................................................................4
1.1.2. Chức năng của VPN......................................................................................5
1.1.3. . Ưu điểm của VPN.......................................................................................5
1.1.4. Các yêu cầu cơ bản đối với một giải pháp VPN............................................7
1.1.5. . Đường hầm và mã hóa.................................................................................8
3.2 Các mô hình VPN đã được triển khai...................................................................9
1.1.6. IP-VPN truy nhập từ xa:................................................................................9
1.1.7. Site – To – Site VPN...................................................................................11
3.2.1.1 Intranet IP-VPN ..................................................................................11
3.2.1.2 Extranet IP-VPN .................................................................................12
3.3 Các giao thức trong IP-VPN...............................................................................13
1.1.8. PPTP (Point - to - Point Tunneling Protocol)..............................................14
3.3.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP..............................15
3.3.1.2 Đóng gói dữ liệu đường ngầm PPTP.....................................................15
3.3.1.3 Xử lí dữ liệu đường ngầm PPTP .........................................................16
3.3.1.4 Sơ đồ đóng gói.....................................................................................16
1.1.9. L2TP (Layer Two Tunneling Protocol)......................................................18
3.3.1.5 Duy trì đường ngầm bằng bản tin điều khiển L2TP..............................18
3.3.1.6 Đường ngầm dữ liệu L2TP....................................................................19
3.3.1.7 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec...................................20
3.3.1.8 Sơ đồ đóng gói L2TP trên nền IPSec...................................................21
3.4 Tổng kết.............................................................................................................. 22
Chương 4 GIAO THỨC IPSEC...........................................................................................................................24
4.1 Giới thiệu............................................................................................................24

Trang vi
1.1.10. Khái niệm về IPSec ..................................................................................24
1.1.11. Khả năng chống lại tấn công của IPSes ....................................................25
4.1.1.1 Sniffer ( thiếu bảo mật).........................................................................25
4.1.1.2 Sửa đổi dữ liệu (modification)..............................................................26
4.1.1.3 Các cuộc tấn công giả mạo danh tính (Identity spoofing) , tấn công dựa
trên password và tấn công lớp ứng dụng...........................................................26
4.1.1.4 Tấn công Man-in -the-middle................................................................26
4.1.1.5 Tấn công từ chối dịch vụ (Denial-of-service)........................................27
1.1.12. Các chuẩn tham chiếu có liên quan...........................................................27
4.2 Đóng gói thông tin của IPSec.............................................................................29
1.1.13. Các loại giao thức IPSec............................................................................29
4.2.1.1 Kiểu Transport......................................................................................29
4.2.1.2 Kiểu Tunnel..........................................................................................30
1.1.14. Giao thức xác thực tiêu đề AH..................................................................31
4.2.1.3 Giới thiệu..............................................................................................31
4.2.1.4 Cấu trúc gói tin AH...............................................................................32
4.2.1.5 Quá trình xử lý AH...............................................................................34
1.1.15. Giao thức đóng gói an toàn tải tin ESP......................................................38
4.2.1.6 Giới thiệu..............................................................................................38
4.2.1.7 Cấu trúc gói tin ESP..............................................................................38
4.2.1.8 Quá trình xử lý ESP..............................................................................40
4.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE...........................................45
1.1.16. Kết hợp an ninh SA...................................................................................45
4.3.1.1 Định nghĩa và mục tiêu.........................................................................45
4.3.1.2 Cơ sở dữ liệu IPSec...............................................................................46
1.1.17. Giao thức trao đổi khóa IKE......................................................................46
4.3.1.3 Bước thứ nhất........................................................................................47
4.3.1.4 Bước thứ hai..........................................................................................49
4.4 Những giao thức đang được ứng dụng cho xử lý IPSec......................................51
1.1.18. Mật mã bản tin...........................................................................................51
4.4.1.1 Tiêu chuẩn mật mã dữ liệu DES............................................................51
4.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES........................................52
1.1.19. Toàn vẹn bản tin........................................................................................52
4.4.1.3 Mã xác thực bản tin băm HMAC..........................................................53
4.4.1.4 Thuật toán MD5....................................................................................53
4.4.1.5 Thuật toán băm an toàn SHA................................................................53
1.1.20. Xác thực các bên.......................................................................................53
4.4.1.6 Khóa chia sẻ trước.................................................................................54
4.4.1.7 Chữ ký số RSA.....................................................................................54
4.4.1.8 RSA mật mã nonces.............................................................................54

Trang vii
1.1.21. Quản lí khóa..............................................................................................54
4.4.1.9 Giao thức Diffie-Hellman.....................................................................55
4.4.1.10 Quyền chứng nhận CA........................................................................56
4.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec...........................................57
4.6 Tổng kết.............................................................................................................. 58
Chương 5 GIẢI PHÁP THỰC HIỆN THIẾT BỊ IPSEC VPN.........................................................................60
5.1 Phân tích và lựa chọn giải pháp thực hiện..........................................................60
1.1.22. Kiến trúc tích hợp IPSec............................................................................60
5.1.1.1 Cấu trúc Bump in the Stack (BITS)......................................................60
5.1.1.2 Cấu trúc Bump in the Wire (BITW)......................................................61
1.1.23. Mô hình tiến hành kiểm tra khả năng bảo mật trên thiết bị thực................62
5.2 Giải pháp thực hiện.............................................................................................64
1.1.24. Mô hình xư lý IPSec tổng quát..................................................................64
1.1.25. Chính sách bảo mật và sự liên kết cơ sở dữ liệu trong IPSec....................65
5.2.1.1 Thông tin trong bảng SPD.....................................................................66
5.2.1.2 Thông tin trong bảng SAD....................................................................67
5.2.1.3 Sự liên kết thông tin giữa các cơ sở dữ liệu SPD và SAD.....................67
5.2.1.4 Bảo vệ anti-replay.................................................................................71
1.1.26. Quá trình thực hiện của chương trình........................................................73
5.2.1.5 Tổng quát quá trình thực hiện thiết bị IPSec.........................................73
5.2.1.6 Quá trình xử lý gói outbound ...............................................................74
5.2.1.7 Quá trình xử lý gói inbound..................................................................77
5.2.1.8 Xây dựng gói ESP.................................................................................79
1.1.27. Quá trình trao đổi IKE...............................................................................80
5.2.1.9 IKE module...........................................................................................80
5.2.1.10 Thực hiện giao thức trao đổi khóa IKE...............................................84
Chương 6 ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN.............................................................................................100
6.1 Tiêu chí đánh giá..............................................................................................100
6.2 Phương pháp đánh giá......................................................................................100
6.3 Kết quả đánh giá...............................................................................................101
Chương 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN.......................................................................................103
7.1 Kết luận............................................................................................................103
7.2 Hướng phát triền...............................................................................................103
1.1.28. Thêm khả năng mã hóa gói tin...............................................................103
1.1.29. Thiết lập bảo mật IPSec trên nền IPv6.....................................................103
1.1.30. Sử dụng RSA cho quá trình xác thực ......................................................103
1.1.31. Truyền phát thêm gói tin báo lỗi bảo mật ICMP....................................104

Trang viii
Chương 1 DANH MỤC HÌNH ẢNH

Hình 1-1:Tổng quan mô hình mạng của một công ty sử dụng kết nối bảo mật VPN.......................................1
Hình 2-2:Tổng quan mạng VPN............................................................................................................................4
Hình 2-3:Ưu điểm của VPN so với mạng truyền thông.......................................................................................6
Hình 2-4:Đường hầm và mã hóa của VPN............................................................................................................8
Hình 2-5:Thiêt lập một VPN remote acces .......................................................................................................10
Hình 2-6:Intranet IP-VPN....................................................................................................................................12
Hình 2-7 :Extranet IP-VPN..................................................................................................................................12
Hình 2-8: Gói dữ liệu của kết nối điều khiển PPTP...........................................................................................15
Hình 2-9: Dữ liệu đường ngầm PPTP.................................................................................................................15
Hình 2-10: Sơ đồ đóng gói PPTP.........................................................................................................................17
Hình 2-11: Bản tin điều khiển L2TP...................................................................................................................19
Hình 2-12: Đóng bao gói tin L2TP.......................................................................................................................19
Hình 2-13: Sơ đồ đóng gói L2TP..........................................................................................................................21
Hình 3-14:Lộ trình tài liệu xây dựng giao thức IPSec.......................................................................................29
Hình 3-15:Gói tin IP ở kiểu Transport................................................................................................................30
Hình 3-16:Gói tin IP ở kiểu Tunnel.....................................................................................................................30
Hình 3-17: Cấu trúc tiêu đề AH cho IPSec Datagram.......................................................................................32
Hình 3-18:Quy trình đóng gói gói tin AH...........................................................................................................35
Hình 3-19: Xử lý đóng gói ESP............................................................................................................................38
Hình 3-20: Khuôn dạng gói ESP..........................................................................................................................38
Hình 3-21:Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport....................................................40
Hình 3-22:Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport....................................................41
Hình 3-23: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel.............................................................................41
Hình 3-24:Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE.............................................................47
Hình 3-25:IKE pha thứ nhất sử dụng chế độ chính (Main Mode)...................................................................48
Hình 3-26:Các tập chuyển đổi IPSec...................................................................................................................50
Hình 3-27:Ví dụ về hoạt động của IP-VPN sử dụng IPSec...............................................................................57
Hình 4-28:Cấu trúc IPsec bump in the stack (BITS).........................................................................................60
Hình 4-29:Cấu trúc IPsec bump in the wire (BITW)........................................................................................61
Hình 4-30:Mô hình áp dụng hoạt động thiết bị..................................................................................................63
Hình 4-31:Quá trình xử lý IPSec tổng quát từ thiết bị IPSec 1 tới thiết bị IPSec 2........................................64
Hình 4-32:Cấu trúc cơ sở dữ liệu trong chương trình.......................................................................................66
Hình 4-33:Ví dụ về sự liên kết thông tin giữa bảng SPD và bảng SAD...........................................................68
Hình 4-34:Tổng quát quá trình thực hiện IPSec ...............................................................................................73
Hình 4-35:Quá trình xử lý gói tin outbound.......................................................................................................76
Hình 4-36:Quá trình xử lý gói tin inbound.........................................................................................................78
Hình 4-37:Gói tin IP gốc và gói IP được mã hóa ESP.......................................................................................79
Hình 4-38:Tổng quan quá trình trao đổi IKE....................................................................................................81
Hình 4-39:Quá trình thực hiện trao đổi pha 1....................................................................................................82
Hình 4-40:Quá trình trao đổi của pha 2..............................................................................................................82
Hình 4-41:Cấu trúc khung gói tin ISAKMP.......................................................................................................83
Hình 4-42:Trao đổi thỏa thuận IKE chế độ chính ............................................................................................84
Hình 4-43:Gói tin 1 và 2 của pha 1......................................................................................................................85
Hình 4-44:Lưu đồ giải thuật của bên khới tạo pha 1 – chế độ chính...............................................................86
Hình 4-45:Lưu đồ giải thuật của bên phản hồi pha 1 – chế độ chính...............................................................88
Hình 4-46:Gói tin thứ 3-4 của chế độ chính – pha 1..........................................................................................89
Hình 4-47:Gói tin thứ 5 và 6.................................................................................................................................91
Hình 4-48:Quá trình thỏa thuân IKE pha 2-chế độ nhanh...............................................................................92
Hình 4-49:Cấu trúc của 3 gói tin pha 2- chế độ nhanh......................................................................................93
Hình 4-50:Lưu đồ giải thuật của bên khởi tạo pha 2 – chế độ nhanh..............................................................96
Hình 4-51:Lưu đồ giải thuật của bên phản hồi pha 2 – chế độ nhanh.............................................................97
Hình 5-52:Mô hình sử dụng đánh giá thiết bị IPSec........................................................................................100
Hình 5-53:Biểu đồ thể hiện tốc độ throughput của các chế độ IPSec khác nhau..........................................101

Trang ix
BẢNG SỐ LIỆU

Bảng 3-1:Các RFC đưa ra có liên quan đến IPSec............................................................................................27


Bảng 3-2: Tổng kết chương các giao thức của IPSec.........................................................................................58
Bảng 4-3:Ví dụ một bảng SPD outbound với con trỏ đến bảng SA outbound................................................69
Bảng 4-4:Ví dụ một bảng SPD inbound với con trỏ đến bảng SA inbound.....................................................69
Bảng 4-5:Ví dụ một bảng SA outbound được liên kết với SPD outbound.......................................................70
Bảng 4-6:Ví dụ một bảng SA outbound được liên kết với SPD outbound.......................................................71
Bảng 5-7:Bảng đánh giá tốc độ throughput IPSec ..........................................................................................101

DANH MỤC TỪ VIẾT TẮT

AES Advanced Encryption Standard Tiêu chuẩn mã hóa tiên tiến


AH Authentication Header Tiêu đề xác thực

Trang x
ATM Asynchronous Transfer Mode Chế độ truyền không đồng bộ
BITS Bump In The Stack Nạp vào ngăn xếp
BITW Bump In The Wire Nạp vào dây
CA Certificate Authority Quyền chứng nhận
CBC Cipher Block Chaining chế độ chuỗi khối mật mã
Challenge - Handshake
CHAP Giao thức xác thực đòi hỏi bắt tay
Authentication Protocol
CRL Certificate Revocation List Danh sách chứng nhận bị hũy bỏ
DES Data Encryption Standard Tiêu chuẩn mã hóa dữ liệu
Extensible Authentication
EAP Giao thức xác thực mở rộng
Protocol
ESP Encapsulating Security Payload Đóng gói an toàn tải tin IP
FCS Frame Check Sequence Chuỗi kiểm tra khung
GRE Generic Routing Encapsulation Đóng gói định tuyến tổng quát
Hashed Message Authentication
HMAC Mã xác thực bản tin trên cơ sở băm
Code
Internet Assigned Numbers
IANA Tổ chức cấp phát số hiệu Internet
Authority
Internet Control Message Giao thức thông báo điều khiển
ICMP
Protocol mạng Internet.
ICV Integrity Check Value Giá trị kiểm tra tính toàn vẹn
Tổ chức Lực lượng chuyên trách
IETF Internet Engineering Task Force
về kỹ thuật liên mạng
IKE Internet Key Exchange Giao thức trao đổi khóa
IKE Internet Key Exchange Trao đổi khóa mạng
IP Internet Protocol Giao thức internet
IPSec Internet Protocol Security An ninh lớp mạng
IPv4 Internet Protocol version 4 Giao thức IP phiên bản 4
IPv6 Internet Protocol version 6 Giao thức IP phiên bản 6

Trang xi
Giao thức trao đổi gói dữ liệu
IPX Internet Protocol Exchange
mạng
Internet Security Association Giao thức liên kết an ninh Internet
ISAKMP
and Key Management Protocol và quản lí khóa
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
IV Initialization Vector Vectơ khởi tạo
L2F Layer 2 Forwarding protocol Giao thức chuyển tiếp lớp 2
L2TP Layer 2 Tunneling Protocol Giao thức đường ngầm lớp 2
LAN Local Area Network Mạng máy tính cục bộ
Giao thức điều khiển đường
LCP Link Control Protocol
truyền
MAC Message Authentication Code Mã xác thực bản tin
MD5 Message Digest algorithm 5 Giải thuật tóm tắt thông điệp 5
Microsoft Point - to - Point Mật mã điểm tới điểm của
MPPE
Encryption Microsoft
NAS Network Access Server Máy chủ truy nhập mạng
NDIS Network Driver Interface Đặc tả giao diện điều khiển mạng
Specification
NetBEUI NetBIOS Extended User Giao diện người dùng mở rộng
Interface trong NetBIOS
OSI Open Systems Interconnection Kết các hệ thống mở
PAP Password Authentication Giao thức xác thực khẩu lệnh
Protocol
PPP Point-to- Point Protocol Giao thức điểm-điểm
PPTP Point-to- Point Tunneling Giao thức đường ngầm điểm-
Protocol điểm
RFC Request For Comments Đề nghị duyệt thảo và bình luận
RSA Rivest, Shamir và Adleman. Rivest, Shamir và Adleman.
SA Security Association kết hợp an ninh

Trang xii
SAD Security Association Databases cơ sở dữ liệu kết hợp an ninh
SHA-1 Secure Hash Algorithm-1 Thuật toán băm an toàn-1
SPD Security Policy Database Cơ sở dữ liệu chính sách an ninh
SPI Security Parameters Index Chỉ dẫn thông số an ninh
TCP Transmission Control Protocol Giao thức điều khiển truyền vận
UDP User Datagram Protocol Giao thức gói tin người dùng
VPN Virtual Private Network Mạng riêng ảo
WAN Wide Area Network Mạng diện rộng

LỜI NÓI ĐẦU

Cùng với sự phát triển của công nghệ thông tin, công nghệ mạng máy tính và sự phát
triển của mạng internet ngày càng phát triển đa dạng và phong phú. Các dịch vụ trên
mạng đã thâm nhập vào hầu hết các lĩnh vực trong đời sống xã hội. Các thông tin trên
Internet cũng đa dạng về nội dung và hình thức, trong đó có rất nhiều thông tin cần
được bảo mật cao hơn bởi tính kinh tế, tính chính xác và tính tin cậy của nó.

Bên cạnh đó, các hình thức phá hoại mạng cũng trở nên tinh vi và phức tạp hơn. Một
số hình thức tấn công khá tinh vi và phức tạp hiện nay như từ tấn công chối dịch vụ,
man-in-the-middle, nghe lén, giả mạo thông tin… Do đó, phải có phương pháp bảo

Trang xiii
mật an ninh nhằm giải quyết các vấn đề này. Giao thức IPSec là một trong những
phương pháp tối ưu để giải quyết vấn đề này.

Mục đích của luận văn “Xây dựng thiết bị bảo mật VPN dựa trên giao thức IPSec” là
tìm hiểu những vấn đề cơ bản có liên quan đến việc thực hiện VPN cũng như những
vấn đề chi tiết về quá trình thực hiện IPSec. Sau đó, tiến hành xây dựng giao thức
IPSec trên thiết bị thực, nội dung cụ thể như sau:

 Chương 1: Giới thiệu đề tài.Chương này


nhằm đặt vấn đề cũng như đưa ra mục tiêu, những giới hạn của đề tài “Xây dựng thiết
bị bảo mật VPN dựa trên giao thức IPSec”.

 Chương 2: Tổng quan về VPN. Chương này bắt đầu với việc phân tích khái
niệm VPN, chưc năng, ưu điểm và các yêu cầu cơ bản của một giải pháp VPN khiến
nó là một giải pháp bảo mật phát triển mạnh. Tiếp theo là trình bày về các mô hình
VPN đã được triển khai. Cuối cùng là trình bày về các giao thức đường ngầm sử dụng
cho VPN. Ở đây chỉ trình bày một cách khái quát nhất về hai giao thức đường ngầm
lớp 2 hiện đang tồn tại và là PPTP và L2TP. Thông qua đó làm nổi bật lên ưu điểm của
giao thức IPsec đối với bảo mật thông tin trên mạng.
 Chương 3: Giao thức IPSec. Chương này trình bày các vấn đề sau đây: thứ
nhất là giới thiệu, khái niệm về giao thức IPSec, khả năng chống tấn công mạng và
các tài liệu RFC có liên quan Thứ hai, trình bày vấn đề đóng gói thông tin IPSec, cụ
thể là hai giao thức đóng gói là AH (nhận thực tiêu đề) và ESP (đóng gói an toàn tải
tin). Thứ ba, trình bày về kết hợp an ninh SA và giao thức trao đổi khóa IKE để thiết
lập các chính sách và tham số cho kết hợp an ninh giữa các bên tham gia bảo mật
IPSec. Thứ tư, giới thiệu về các giao thức đang tồn tại ứng dụng cho IPSec, bao gồm
có: mật mã bản tin, toàn vẹn bản tin, nhận thực các bên và quản lý khóa. Cuối cùng là
một ví dụ khái quát vềVPN sử dụng giao thức đường ngầm IPSec(bao gồm cả quá
trình trao đổi khóa và mã hóa gói tin IPSec).

 Chương 4: “Giải pháp thực hiện thiết bị ipsec VPN”. Trong chương này
trình bày giải pháp xây dựng thiết bị IPsec với các thuật toán cũng như các mô hình
thực tế. Chương này bắt đầu với việc phân tích và lựa chọn các giải pháp thực hiện
thiết bị IPSec, cụ thể hơn là các kiến trúc tích hợp IPSec cũng như mô hình tiến hành
kiểm tra khả năng bảo mật trên thiết bị thực mà nhóm triển khai. Phần tiếp theo mô tả

Trang xiv
giải pháp thực hiện của nhóm. Trong phần này trình bày mô hình xử lý tổng quát,
chính sách liên kết cơ sở dữ liệu, việc xử lý gói tin nhằm bảo mật thông tin, quá trình
trao đổi key bảo mật giữa hai bên muốn bảo mật thông tin.

 Chương 5: “Đánh giá kết quả thực hiện”. Chương này chỉ ra các tiêu chí
đánh giá cũng như phương pháp tiến hành đánh giá và kết quả thu được sau khi thực
hiện phương pháp đánh giá.

 Chương 6: “Kết luận và hướng phát triển”. Chương này trình bày những kết
quả nhóm đạt được cũng như hướng phát triển tiếp theo của đề tài.

Trong quá trình xây dựng đồ án này, nhóm đã nhận được nhiều sự giúp đỡ, góp ý của
các giảng viên cùng các bạn trong lớp. Nhóm xin chân thành cảm ơn sự hướng dẫn của
Thầy ThS. Tạ Trí Nghĩa là thầy trực tiếp hướng dẫn, giúp nhóm có thể hoàn thành
luận văn này.

Trang xv
Chương 2 GIỚI THIỆU ĐỀ TÀI

2.1 Đặt vấn đề


Cùng với xu hướng phát triển mạng viễn thông hiện nay, vấn đề đảm bảo an ninh cho
dữ liệu khi truyền qua mạng là vấn đề mang tính chất tất yếu. Đối với các tổ chức có
phạm vi hoạt động rộng khắp, nhân viên luôn di chuyển trong quá trình làm việc thì
việc truyền thông dữ liệu một cách an toàn với chi phí thấp, giảm nhẹ các công việc
quản lý hoạt động của mạng luôn được đặt ra, và VPN là một giải pháp hiệu quả.

Hình 1-1:Tổng quan mô hình mạng của một công ty sử dụng kết nối bảo mật VPN

Có rất nhiều giao thức VPN được ứng dụng trên thực tế như:

 Bảo mật giao thức VPN thực hiện trên lớp 2( lớp data-link) như giao thức PPTP,
L2TP: Lợi ích của dịch vụ bảo mật lớp 2 này là: có độ trễ thấp, có khả năng bảo
mật khá nhiều giao thức như IP, IPX,NetBEUI, hỗ trợ xác thực người dùng. Tuy
nhiên, giao thức IPSec thực hiện trên lớp 2 có những nhược điểm như khả năng
bảo mật kém, không có khả năng cung cấp mã đầu cuối đến đầu cuối cũng như
không xác thực được gói tin.

 Bảo mật giao thức VPN thực hiện trên lớp 3 (lớp mạng) như giao thức
IPSec:Tiến hành bảo mật VPN trên lớp mạng mang lại các ưu điểm sau: Cung
cấp bảo mật liên tục đến ứng dụng cho phép bảo vệ trên mỗi luồng dữ liệu hoặc
kết nối an ninh do đó quá trình bảo mật tương đối an toàn, có khả năng tích hợp
linh hoạt các thuật toán mã hóa, thuật toán xác thực cũng như chia sẻ key trên
mỗi liên kết bảo mật. Tuy nhiên, bảo mật VPN trên lớp mạng gặp khó khăn

Trang 1
trong việc thực hiện bảo mật dữ liệu một người dùng trên cơ sở các máy đa
người dùng.

 Bảo mật giao thức thực hiện trên lớp ứng dụng như giao thức PGP, Kerberos,
SSH: Tiến hành bảo mật trên lớp ứng dụng, thiết bị VPN có khả năng mở rộng
bảo mật các ứng dụng mà không cần quan tâm đến hệ điều hành, các chương
trình ứng dụng có thể phân tích dữ liệu từ đó lựa chọn cách bảo mật phù hợp với
từng dữ liệu. Bên cạnh những ưu điểm, bảo mật VPN trên lớp ứng dụng tồn tại
nhược điểm: Cơ chế bảo mật phải được thiết kế phụ thuộc vào loại ứng dụng ví
dụ như VoiceIP,mail hay bảo mật thông tin ngân hàng…

Trong các giao thức trên, IPSec tỏ rõ ưu việt nhờ tính linh hoạt cũng như khả năng ứng
dụng rộng rãi của nó.

Trên thị trường hiện nay cũng đã có nhiều thiết bị router ứng dụng công nghệ IPSec
trong bảo mật thông tin. Việc ứng dụng này mang lại hiệu quả bảo mật cao bằng cách
chèn thêm một lớp IPSec vào giữa lớp mạng và lớp transport. Tuy nhiên, cách này đòi
hỏi chi phí cao do phải thay đổi tất cả các thiết bị router muốn giao tiếp với nhau trong
mạng, làm tăng quá trình xử lý của router cũng như đặt ra yêu cầu phải thay đổi thiết
lập mạng.

Để giải quyết vấn đề này, nhóm đã tiến hành thiết lập quá trình xử lý IPSec trên một
thiết bị nhúng có nhiệm vụ xử lý tất cả các gói cần mã hóa IPSec và cho qua tất cả các
gói không cần mã hóa IPSec. Điều này làm cho quá trình trao đổi thông tin trên mạng
vẫn thông suốt đồng thởi vẫn đảm bảo được việc bảo mật thông tin trên mạng công
cộng.

2.2 Mục tiêu đề tài


 Tiến hành tìm hiểu các vấn đề cơ bản liên quan đến việc thực hiện VPN, trọng
tâm là giao thức IPSec.
 Từ những hiểu biết về IPSec tiến hành lập trình xử lý IPSec trên thiết bị nhúng
với mục tiêu đảm bảo quá trình hoạt động mạng được tiến hành bình thường mà
không cần phải thay đổi cấu hình mạng

2.3 Phạm vị đề tài


 Tiến hành thiết kế/ xây dựng thiết bị bảo mật VPN trong suốt trên mạng, có khả
năng kết nối đa điểm.

2.4 Giới hạn đề tài


Tiến hành quá trình xử lý IPSec sử dụng:

Trang 2
 Thuật toán mã hóa 3DES, DES.

 Thuật toán xác thực MD5, SHA-1.

 Sử dụng khóa IKEv1 với thuật toán xác thực Pre-share key.

Thực hiện nhúng giải thuật xử lý IPSec trên thiết bị thực sử dụng Linux kernel.

Trang 3
Chương 3 TỔNG QUAN VỀ VPN

3.1 Giới thiệu về VPN


1.1.1. Khái niệm
VPN được hiểu đơn giản như là sự mở rộng của một mạng riêng ( Private Network)
thông qua các mạng công cộng. Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng
một mạng chung (thường là Internet) để kết nối cùng với các site (các mạng riêng lẻ)
hay nhiều người sử dụng từ xa. Thay cho việc sử dụng kết nối thực, chuyên dùng như
đường leased-line, mỗi VPN sử dụng các kết nối ảo được dẫn đường qua Internet từ
mạng riêng của các công ty tới các site hay các nhân viên từ xa. Để có thể gửi và nhận
dữ liệu thông qua mạng công cộng mà vẫn bảo đảm tính an toàn và bảo mật VPN cung
cấp các cơ chế mã hoá dữ liệu trên đường truyền tạo ra một đường ống bảo mật giữa
nơi nhận và nơi gửi (Tunnel) giống như một kết nối point-to-point trên mạng riêng. Để
có thể tạo ra một đường ống bảo mật đó, dữ liệu phải được mã hoá hay cơ chế giấu đi,
chỉ cung cấp phần đầu gói dữ liệu (header) là thông tin về đường đi cho phép nó có
thể đi đến đích thông qua mạng công cộng một cách nhanh chóng. Dữ liệu được mã
hoá một cách cẩn thận do đó nếu các packet bị bắt lại trên đường truyền công cộng
cũng không thể đọc được nội dùng vì không có khoá để giải mã. Liên kết với dữ liệu
được mã hoá và đóng gói được gọi là kết nối VPN. Các đường kết nối VPN thường
được gọi là đường ống VPN (Tunnel).

Hình 2-2:Tổng quan mạng VPN

Trang 4
1.1.2. Chức năng của VPN

VPN cung cấp ba chức năng chính:

 Sự tin cậy (Confidentiality): Người gửi có thể mã hóa các gói dữ liệu trước khi
truyền chúng ngang qua mạng. Bằng cách làm như vậy, không một ai có thể truy cập
thông tin mà không được phép. Và nếu có lấy được thì cũng không đọc được.

 Tính toàn vẹn (Data Integrity): Người nhận có thể kiểm tra rằng dữ liệu đã được
truyền qua mạng Internet mà không có sự thay đổi nào.

 Xác thực nguồn gốc (Origin Authentication): Người nhận có thể xác thực nguồn gốc
của gói dữ liệu, đảm bảo và công nhận nguồn thông tin.

1.1.3. . Ưu điểm của VPN

VPN có nhiều ưu điểm hơn so với các mạng leased line truyền thống. Các ưu điểm cơ
bản đó là:

 VPN làm giảm chi phí hơn so với mạng cục bộ: Tổng giá thành của việc sở hữu một
mạng VPN sẽ được thu nhỏ, do chỉ phải trả ít hơn cho việc thuê băng thông đường
truyền, các thiết bị mạng đường trục và hoạt động của hệ thống. Giá thành cho việc kết
nối LAN to LAN giảm từ 20-30% so với việc sử dụng đường truyền leased line truyền
thống. Việc truy cập từ xa thì giảm từ 60-80%.

 VPN tạo ra tính mềm dẻo cho khả năng quản lý Internet: Các VPN đã kế thừa phát
huy hơn nữa tính mềm dẻo và khả năng mở rộng kiến trúc mạng hơn là các mạng
WAN truyền thống. Điều này giúp các doanh nghiệp có thể nhanh chóng và hiệu quả
kinh tế cho việc mở rộng hay hủy bỏ kết nối của các trụ sở ở xa, các người sử dụng di
động…,và mở rộng các đối tác kinh doanh khi có nhu cầu.

 VPN làm đơn giản hóa cho việc quản lý các công việc so với việc sở hữu và vận
hành một mạng cục bộ: Các doanh nghiệp có thể cho phếp sử dụng một vài hay tất cả
các dịch vụ của mạng WAN, giúp các doanh SPDnghiệp có thể tập trung vaofcacs đối
tượng kinh doanh chính thay vì quản lý một mạng WAN hay mạng quay số từ xa.

Trang 5
 VPN cung cấp các kiểu mạng đường hầm và làm giảm thiểu các công việc quản lý:
Một Backbone IP sẽ loại bỏ các PVC (Permanent Virtual Circuit) cố định tương ứng
với các giao thức kết nối như là Frame Relay và ATM. Điều này tạo ra một kiểu mạng
lưới hoàn chỉnh trong khi giảm được độ phức tạp và giá thành.

Hình 2-3:Ưu điểm của VPN so với mạng truyền thông

Một mạng VPN có được những ưu điểm của mạng cục bộ trên cơ sở hạ tầng của mạng
IP công cộng. Các ưu điểm này bao gồm tính bảo mật và sử dụng đa giao thức.

Một mạng ảo được tạo ra nhờ các giao thức đường hầm trên một kết nối IP chuẩn. Các
loại công nghệ đường hầm được dùng phổ biến cho truy cập VPN gồm

 Giao thức đường ngầm lớp 2: Giao thức đường ngầm này thực hiện bảo mật trên
lớp 2 trong mô hình OSI (lớp data link). Giao thức định đường hầm điểm-điểm
PPTP (Point to Point Tunneling Protocol) và giao thức định đường hầm lớp 2
L2TP (Layer 2 Tunneling Protocol) hoạt động trên lớp này, tải dữ liệu được
đóng gói theo mô hình giao thức điểm-điểm.

 Giao thức đường ngầm lớp 3: : Giao thức đường ngầm này thực hiện bảo mật
trên lớp 3 trong mô hình OSI (lớp mạng).Giao thức IPSec hoạt động trên lớp
này.Trong chế độ này, gói tin được đóng gói với các phần tiêu đề được thêm
vào gói IP trước khi gửi ra mạng.

Đối với công nghệ đường hầm lớp 2, chẳng hạn như PPTP & L2TP:

Trang 6
• Một đường hầm tương tự như một phiên làm việc (phải kết thúc một phiên làm
việc phiên khác mới được bắt đầu).

• Cả hai thiết bị đầu cuối đường hầm phải đồng ý với các đường hầm và phải
thương lượng các chính sách cấu hình.

• Dữ liệu truyền qua các đường hầm được gửi sử dụng giao thức dựa trên gói
tin(datagram-based protocol) và giao thức duy trì (maintenance protocol) nhằm
quản lý đường hầm.

• Ngoài ra, một đường hầm phải được tạo ra, duy trì và sau đó chấm dứt.

Đối với công nghệ đường hầm lớp 3, chẳng hạn như IPSec.

• Kết hợp trao đổi IKE nhằm cấu hình mã hóa cho đường ngầm.

• Đường ngầm có thể được tạo lại sau một khoảng thời gian sống.

1.1.4. Các yêu cầu cơ bản đối với một giải pháp VPN

Có 4 yêu cầu cần đạt được khi xây dựng mạng riêng ảo:

 Tính tương thích (Compatibility): Mỗi công ty, mỗi doanh nghiệp đều được xây
dựng các hệ thống mạng nội bộ và diện rộng của mình dựa trên các thủ tục khác nhau
và không tuân theo một chuẩn nhất định của nhà cung cấp dịch vụ. Rất nhiều các hệ
thống mạng không sử dụng các chuẩn TCP/IP vì vậy không thể kết nối trực tiếp với
Internet. Để có thể sử dụng được IP VPN tất cả các hệ thống mạng riêng đều phải được
chuyển sang một hệ thống địa chỉ theo chuẩn sử dụng trong Internet cũng như bổ sung
các tính năng về tạo kênh kết nối ảo, cài đặt cổng kết nối Internet có chức năng trong
việc chuyển đổi các thủ tục khác nhau sang chuẩn IP. 77% số lượng khách hàng được
hỏi yêu cầu khi chon một nhà cung cấp dịch vụ IP VPN phải tương thích với các thiết
bị hiện có của họ.

 Tính bảo mật (Security): Tính bảo mật cho khách hàng là một yếu tố quan trọng nhất
đối với một giải pháp VPN. Người sử dụng cần được đảm bảo các dữ liệu thông qua

Trang 7
mạng VPN đạt được mức độ an toàn giống như trong một hệ thống mạng dùng riêng
do họ tự xây dựng và quản lý.

Việc cung cấp các tính năng bảo đảm an toàn cần đảm bảo hai mục tiêu sau:

- Cung cấp tính năng an toàn thích hợp bao gồm: cung cấp mật khẩu cho người sử
dụng trong mạng và mã hóa dữ liệu khi truyền.

- Đơn giản trong việc duy trì quản lý, sử dụng. Đòi hỏi thuận tiện và đơn giản cho
người sử dụng cũng như nhà quản trị mạng trong việc cài đặt cũng như quản trị hệ
thống.

 Tính khả dụng (Availability): Một giải pháp VPN cần thiết phải cung cấp được tính
bảo đảm về chất lượng, hiệu suất sử dụng dịch vụ cũng như dung lượng truyền.

 Tiêu chuẩn về chất lượng dịch vụ (Quality of Service): Tiêu chuẩn đánh giá của một
mạng lưới có khả năng đảm bảo chất lượng dịch vụ cung cấp đầu cuối đến đầu cuối.
QoS liên quan đến khả năng đảm bảo độ trễ dịch vụ trong một phạm vi nhất định hoặc
liên quan đến cả hai vấn đề trên.

1.1.5. . Đường hầm và mã hóa

Chức năng chính của VPN đó là cung cấp sự bảo mật bằng cách mã hóa qua một
đường hầm.

Hình 2-4:Đường hầm và mã hóa của VPN

Trang 8
 Đường hầm (Tunnel): Các đường hầm chính là đặc tính ảo của VPN, nó làm cho
một kết nối dường như một dòng lưu lượng duy nhất trên đường dây. Đồng thời còn
tạo cho VPN khả năng duy trì những yêu cầu về bảo mật và quyền ưu tiên như đã được
áp dụng trong mạng nội bộ, bảo đảm cho vai trò kiểm soát dòng lưu chuyển dữ liệu.
Đường hầm cũng làm cho VPN có tính riêng tư. Mã hóa được sử dụng để tạo kết nối
đường hầm để dữ liệu chỉ có thể được đọc bởi người nhận và người gửi.

 Mã hóa (Encryption): Chắc chắn bản tin không bị đọc bởi bất kỳ ai nhưng có thể
đọc được bởi người nhận. Khi mà càng có nhiều thông tin lưu thông trên mạng thì sự
cần thiết đối với việc mã hóa thông tin càng trở nên quan trọng. Mã hóa sẽ biến đổi nội
dung thông tin thành một văn bản mật mã mà nó trở nên vô nghĩa trong dạng mật mã
của nó. Chức năng giải mã để khôi phục văn bản mật mã thành nội dung thông tin có
thể dùng được cho người nhận. Mã hóa là tính năng tùy chọn nó cũng đóng góp vào
đặc điểm “riêng tư” của VPN. Chỉ nên sử dụng mã hóa cho những dòng dữ liệu quan
trọng đặc biệt, còn bình thường thì không cần vì việc mã hóa có thể ảnh hưởng xấu đến
tốc độ, tăng gánh nặng cho bộ xử lý.

3.2 Các mô hình VPN đã được triển khai


Các kiến trúc của IP-VPN có thể phân loại thành hai kiểu chính: Site-to-Site IP-VPN
(còn được gọi là LAN-to-LAN hay POP-to-POP) và các IP-VPN truy nhập từ xa. Các
Site-to-Site bao gồm các phương án như: Extranet IP-VPN và Intranet IP-VPN, các
phương án này đều có chung các thuộc tính nhưng được thiết kế để giải quyết các tập
vấn đề khác nhau. IP-VPN truy nhập từ xa bao gồm các phương pháp truy nhập quay
số và truy nhập gọi trực tiếp, các phương pháp này cũng sẽ được đề cập ở dạng kiến
trúc chính.

1.1.6. IP-VPN truy nhập từ xa:


VPN có thể hỗ trợ kết nối truy xuất từ xa tới mạng công ty thông qua Internet. Sử
dụng mô hình client/server như sau:

 Máy client muốn truy cập vào mạng công ty trước hết phải kết nối đến bất kỳ
nhà cung cấp dịch vụ Internet(ISP) nào.

 Sau đó, client khởi tạo kết nối đến server VPN của công ty. Kết nối này phải
được thực hiện bằng phần mềm VPN client được cài đặt trên host ở xa.

Trang 9
 Ngay khi kết nối client-server qua mạng VPN được thiết lập, client có thể liên
hệ với hệ thống trong công ty qua Internet như một máy trong nội bộ công ty.

Hình 2-5:Thiêt lập một VPN remote acces

Ưu điểm:

 Loại bỏ chi phí cho kết nối khoảng cách xa từ người sử dụng đến mạng của
tổ chức bởi vì tất cả kết nối xa bây giờ được thay thế bằng kết nối Internet.
 Khoảng cách kết nối rộng và chi phí giảm xuống do người sử dụng IP-VPN
chỉ cần quay số tới số của nhà cung cấp dịch vụ Internet ISP hoặc trực tiếp kết nối qua
mạng băng rộng luôn hiện hành.
 Triển khai thêm người sử dụng đơn giản và sự tăng lên nhanh chóng của IP-
VPN cho phép thêm vào user mới mà không tăng chi phí cho cơ sở hạ tầng.
 Quay lại với vấn đề quản lí và bảo dưỡng mạng quay số đơn giản khi thêm
người sử dụng mới sẽ giúp các tập đoàn có thể chuyển hướng kinh doanh hơn.
Mặc dù là có rất nhiều thuận lợi thì để phát triển một IP-VPN truy nhập từ xa vẫn gặp
phải khó khăn sau:

 Giao thức đường ngầm có một tiêu đề nhỏ dùng để mật mã dữ liệu khi
truyền và giải mật mã khi nhận được thông tin. Mặc dù tiêu đề nhỏ, nhưng nó cũng ảnh
hưởng đến một số ứng dụng.
 Với người sử dụng Modem tương tự kết nối tới Internet với tốc độ nhỏ hơn
400 kb/s thì IP-VPN có thể là nguyên nhân làm giảm tốc độ vì tiêu đề của giao thức
đường ngầm cần có thời gian để xử lí dữ liệu.

Trang 10
 Khi sử dụng giao thức đường ngầm, chúng ta có cảm giác phải chờ đợi. Bởi
vì cơ sở hạ tầng mạng Internet được sử dụng, không có đảm bảo về số lượng phải đợi
nên đụng độ trong mỗi đoạn kết nối như đường hầm dữ liệu qua Internet. Điều này có
thể không phải là vấn đề quá khó khăn, nhưng nó cũng cần sự quan tâm. User có thể cần
đến chu kì thiết lập kết nối nếu họ cảm thấy lâu.
Nhược điểm:

- Khả năng mất dữ liệu là rất cao, thêm nữa là các phân đoạn của gói dữ liệu có
thể đi ra ngoài và bị thất thoát

- Do độ phức tạp của thuật toán mã hoá, protocol overhead tăng đáng kể,
điều này gây khó khăn cho quá trính xác nhận.

1.1.7. Site – To – Site VPN


Site-To-Site cho phép các văn phòng ở nhiều địa điểm cố định thiết lập kết nối an toàn
với nhau trên một mạng công cộng như Internet. Site-to-site VPN làm mở rộng mạng
lưới của công ty, làm cho tài nguyên máy tính từ một địa điểm có sẵn có thể được sử
dụng cho tất cả các nhân viên trong công ty ở các địa điểm khác nhau. Có hai loại Site-
To-Site VPN:

3.2.1.1 Intranet IP-VPN


Một tổ chức có thể dùng intranet IP-VPN không chỉ để kết nối các site trực thuộc tổ
chức mà còn để kết nối trong miền quản lí của mình như là các văn phòng từ xa hoặc là
các văn phòng nhánh tại các vùng địa lí khác nhau tới mạng đầu não thông qua cơ sở
hạ tâng chia sẻ. Những kết nối này có thể dùng một kênh dành riêng, như là mạng
Frame Relay, ATM, hoặc kênh điểm tới điểm. Tuy nhiên khi sử dụng IP-VPN thì sẽ có
những ưu điểm sau đây:

 Giảm bớt chi phí cho WAN, đặc biệt là khi sử dụng Internet

 dể dàng mở rộng site mới, và vấn đề an toàn dữ liệu được đảm bảo hơn.

Với khả năng này, Intranet IP-VPN lại được sử dụng để tạo lập môi trường giống như
phân chia vật lí các nhóm người sử dụng vào các mạng con LAN khác nhau được kết
nối bởi các cầu hay các Router.

Trang 11
Hình 2-6:Intranet IP-VPN

3.2.1.2 Extranet IP-VPN


Extranet IP-VPN được sử dụng khi một tập đoàn không chỉ muốn tương tác với các
văn phòng ở xa của mình mà cả với các site trực thuộc khách hàng của họ, các nguồn
cung cấp và các thực thể khác liên quan đến các giao dịch hay trao đổi thông tin. Các
thực thể này thường được gọi là các mạng đối tác. Để hỗ trợ các thông tin này, các
Tunnel IP-VPN có thể được thiết lập giữa các mạng riêng trực thuộc các thực thể riêng
khác nhau. Các chức năng IP-VPN như điều khiển truy nhập, xác thực và các dịch vụ
an ninh có thể được sử dụng để từ chối hay cho phép truy nhập đến các tài nguyên cần
thiết cho kinh doanh. Các nguy cơ an ninh đối với Extranet lớn hơn trong Intranet, vì
thế IP-VPN và Extranet phải thực hiện được thiết kế cẩn thận với các chính sách điều
khiển truy nhập đa lớp và các sắp xếp an ninh duy nhất giữa các thành viên Extranet.

Hình 2-7 :Extranet IP-VPN

Trang 12
3.3 Các giao thức trong IP-VPN
Giao thức đường ngầm là nền tảng của công nghệ VPN. Một giao thức đường ngầm sẽ
thực hiện đóng gói dữ liệu với phần header (và có thể có phần trailer) tương ứng để
truyền qua Internet. Có nhiều giao thức đường ngầm, việc sử dụng giao thức đường
ngầm nào để đóng gói dữ liệu liên quan đến các phương pháp xác thực và mật mã được
dùng. Có 4 giao thức đường ngầm trong IP-VPN như sau:

 PPTP (Point - to - Point Tunneling Protocol).


 L2F (Layer two Forwarding).
 L2TP (Layer Two Tunneling Protocol).
 IPSec (Internet Protocol Security).
Hai giao thức PPTP và L2F được phát triển dựa trên giao thức PPP(Point - to - Point
Protocol). PPP là một giao thức truyền thông nối tiếp lớp 2, có thể sử dụng để đóng gói
dữ liệu liên mạng IP và hỗ trợ đa giao thức lớp trên. Giao thức PPTP do nhiều công ty
hợp tác phát triển, trong khi đó L2F do Cisco phát triển độc lập. Trên cơ sở PPTP và
L2F, IETF đã phát triển giao thức đường ngầm L2TP. Hiện nay giao thức PPTP và L2TP
được sử dụng phổ biến hơn L2F.

Trong các giao thức đường ngầm kể trên, IPSec là giải pháp tối ưu về mặt an toàn dữ
liệu. IPSec có các phương pháp xác thực và mật mã mạnh nhất. Ngoài ra, IPSec có tính
linh hoạt cao:Không bị ràng buộc bởi bất cứ thuật toán mật mã nào, đồng thời có thể
kết hợp với các giao thức đường ngầm khá làm tăng tình an toàn cho hệ thống.

Mặc dù có những ưu điểm vượt trội so với các giao thức đường ngầm khác về khả năng
đảm bảo an toàn dữ liệu, IPSec cũng có một số nhược điểm. Thứ nhất, IPSec là một
khung tiêu chuẩn mới và còn đang được tiếp tục phát triển, do đó số lượng các nhà
cung cấp sản phẩm hỗ trợ IPSec chưa nhiều. Thứ hai, để tận dụng khả năng đảm bảo an
toàn dữ liệu của IPSec thì cần phải sử dụng một cơ sở hạ tầng khóa công khai PKI
(Public Key Infrastructure) phức tạp để giải quyết vấn đề như chứng thực số hay chữ
ký số.

Khác với IPSec, các giao thức PPTP và L2TP là các chuẩn đã được hoàn thiện, nên các
sản phẩm hỗ trợ chúng tương đối phổ biến. PPTP có thể triển khai với một hệ thống
mật khẩu đơn giản mà không cần sử dụng PKI. Ngoài ra PPTP và L2TP còn có một số
ưu điểm khác so với IPSec như khả năng hỗ trợ đa giao thức lớp trên. Vì vậy, trong khi
IPSec còn đang hoàn thiện thì PPTP và L2TP vẫn được sử dụng rộng rãi. Cụ thể PPTP
và L2TP thường được sử dụng trong các ứng dụng truy nhập từ xa.

Trang 13
Trong phần này chúng ta sẽ đi tìm hiểu 2 giao thức đường ngầm là PPTP và L2TP. Với
giao thức đường ngầm IPSec sẽ được đề cập chi tiết trong chương 2.

1.1.8. PPTP (Point - to - Point Tunneling Protocol)


Point-to- Point Tunneling Protocol (PPTP) đóng gói khung Point-to- Point Protocol
(PPP) thành gói tin IP để truyền trên mạng IP , chẳng hạn như Internet hoặc trên một
mạng nội bộ tư nhân (private intranet). PPTP được mô tả trong RFC 2637 trong cơ sở
dữ liệu IETF RFC.

PPTP sử dụng một kết nối TCP , được gọi là kết nối kiểm soát PPTP, để tạo, duy trì ,
và chấm dứt các đường hầm VPN. PPTP sử dụng một phiên bản được chỉnh sửa của
Đóng gói định tuyến tổng quát (Generic Routing Encapsulatio n-GRE) để đóng gói các
frame PPP như là đường hầm dữ liệu. Phần tải của khung PPP được đóng gói có thể
được mã hóa, nén hoặc cả hai.

PPTP giả định tồn tại một mạng IP giữa PPTP client (VPN client sử dụng giao thức
đường ngầm PPTP) và PPTP server (VPN server sử dụng PPTP). PPTP client có thể
được nối trực tiếp qua việc quay số tới máy chủ truy nhập mạng (Network Access
Server - NAS) để thiết lập kết nối IP.

Việc xác thực trong quá trình thiết lập kết nối IP-VPN trên giao thức PPTP sử dụng các
cơ chế xác thực của kết nối PPP, ví dụ EAP (Extensible Authentication Protocol: giao
thức xác thực mở rộng), CHAP (Challenge - Handshake Authentication Protocol: giao
thức xác thực đòi hỏi bắt tay), PAP (Password Authentication Protocol: giao thức xác
thực khẩu lệnh). PPTP cũng thừa hưởng việc mật mã hoặc/ và nén phần tải tin của PPP.
Mật mã phần tải PPP sử dụng MPPE (Microsoft Point - to - Point Encryption: mật mã
điểm tới điểm của Microsoft) (với điều kiện xác thực sử dụng giao thức EAP - TLS
(EAP - Transport Level Security: EAP - an ninh mức truyền tải) hoặc MS - CHAP của
Microsoft). MPPE chỉ cung cấp mật mã mức truyền dẫn, không cung cấp mật mã đầu
cuối đến đầu cuối. Nếu cần sử dụng mật mã đầu cuối đến đầu cuối thì có thể sử dụng
IPSec để mật mã lưu lượng IP giữa các đầu cuối sau khi đường ngầm PPTP đã được
thiết lập. Máy chủ PPTP là máy chủ IP-VPN sử dụng giao thức PPTP với một giao
diện nối với Internet và một giao diện khác nối với Intranet..

MPPE chỉ cung cấp mã hóa kết nối giữa máy khách VPN và máy chủ VPN. Nó không
cung cấp mã hóa đầu cuối end-to- end- mã hóa dữ liệu giữa các ứng dụng client và
server lưu trữ các nguồn tài nguyên hoặc dịch vụ đang được truy cập bởi các ứng dụng
client . Nếu mã hóa end-to -end là cần thiết, IPSec có thể được sử dụng để mã hóa lưu
lượng IP từ đầu cuối đến đầu cuối sau khi đường hầm PPTP được thành lập.

Trang 14
3.3.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP
Kết nối điều khiển PPTP là kết nối giữa địa chỉ IP của máy trạm PPTP (có cổng TCP
được cấp phát động) và địa chỉ IP của máy chủ PPTP (sử dụng cổng TCP dành riêng
1723). Kết nối điều khiển PPTP mang các bản tin điều khiển và quản lí cuộc gọi PPTP
được sử dụng để duy trì đường ngầm PPTP. Các bản tin này bao gồm các bản tin PPTP
Echo - Request và PPTP Encho - Reply định kỳ để phát hiện các lỗi kết nối giữa PPTP
client và PPTP server. Các gói của kết nối điều khiển PPTP bao gồm IP header, TCP
header, các bản tin điều khiển PPTP và các header, trailer của lớp đường truyền dữ
liệu.

Hình 2-8: Gói dữ liệu của kết nối điều khiển PPTP

3.3.1.2 Đóng gói dữ liệu đường ngầm PPTP


a) Đóng gói khung PPP: Dữ liệu đường ngầm PPTP được đóng gói thông qua nhiều
mức. Hình 2.8 là cấu trúc dữ liệu đã được đóng gói.

Hình 2-9: Dữ liệu đường ngầm PPTP

Phần tải của khung PPP ban đầu được mật mã và đóng gói với phần tiêu đề PPP để tạo
ra khung PPP. Khung PPP sau đó được đóng gói với phần tiêu đề của phiên bản sửa
đổi giao thức GRE (Generic Routing Encapsulation: giao thức đóng gói định tuyến
chung), giao thức này cung cấp cơ chế chung cho phép đóng gói dữ liệu để gửi qua
mạng IP.

Đối với PPTP, phần Header của GRE được sửa đổi một số điểm sau:

• Một bit xác nhận được sử dụng để khẳng định sự có mặt của trường xác
nhận 32 bit.
• Trường Key được thay thế bằng trường độ dài Payload 16 bit và trường chỉ
số cuộc gọi 16 bit. Trường chỉ số cuộc gọi được thiết lập bởi PPTP client trong
quá trình khởi tạo đường ngầm PPTP.
• Một trường xác nhận dài 32 bit được thêm vào.

Trang 15
b) Đóng gói các GRE: Phẩn tải PPP (đã được mật mã) và các GRE Header sau đó được
đóng gói với một tiêu đề IP chứa các thông tin địa chỉ nguồn và đích thích hợp cho
PPTP client và PPTP server.

c) Đóng gói lớp liên kết dữ liệu: để có thể truyền qua mạng LAN hoặc WAN, IP
datagram cuối cùng sẽ được đóng gói với một Header và Trailer của lớp liên kết dữ
liệu ở giao diện vật lý đầu ra. Ví dụ, nếu IP datagram được gửi qua giao diện Ethernet,
nó sẽ được gói với phần Header và Trailer Ethernet. Nếu IP datagram được gửi qua
đường truyền WAN điểm tới điểm (ví dụ như đường điện thoại tương tự hoặc ISDN),
nó sẽ được đóng gói với phần Header và Trailer của giao thức PPP.

3.3.1.3 Xử lí dữ liệu đường ngầm PPTP


Khi nhận được dữ liệu đường ngầm PPTP, PPTP client hoặc PPTP server sẽ thực hiện
các bước sau:

• Xử lý và loại bỏ phần Header và Trailer của


lớp liên kết dữ liệu.
• Xử lý và loại bỏ IP Header.
• Xử lý và loại bỏ GRE Header và PPP Header.
• Giải mã hoặc/và giải nén phần PPP Payload (Nếu cần thiết).
• Xử lý phần Payload để nhận hoặc chuyển tiếp.

3.3.1.4 Sơ đồ đóng gói


Hình 2.9 trình bày sơ đồ đóng gói PPTP qua kiến trúc mạng (từ một IP-VPN client qua
kết nối truy nhập từ xa VPN, sử dụng modem tương tự).

Trang 16
Hình 2-10: Sơ đồ đóng gói PPTP

Quá trình được mô tả các bước sau:

• Các IP datagram và IPX datagram hoặc khung NetBEUI được đưa tới
giao diện ảo bằng giao thức tương ứng (giao diện ảo đại diện cho kết nối VPN) sử dụng
NDIS (Network Driver Interface Specification).
• NDIS đưa gói dữ liệu tới NDISWAN, nơi thực hiện mật mã, nén dữ liệu,
và cung cấp PPP Header. Phần tiêu đề PPP này chỉ gồm trường mã số giao thức PPP
(PPP Protocol ID Field), không có các trường Flags và FCS (Frame Check Sequence).
Giả định trường địa chỉ và điều khiển đã được thỏa thuận ở giao thức điều khiển đường
truyền LCP (Link Control Protocol) trong quá trình kết nối PPP.
• NDISWAN gửi dữ liệu tới giao thức PPTP, nơi đóng gói khung PPP với
phần tiêu đề GRE. Trong GRE Header, trường chỉ số cuộc gọi được đặt giá trị thích
hợp để xác định đường ngầm.
• Giao thức PPTP sau đó sẽ gửi gói vừa hình thành tới giao thức TCP/IP.
• TCP/IP dóng gói dữ liệu đường ngầm PPTP với phần tiêu đề IP, sau đó
gửi kết quả tới giao diện đại diện cho kết nối quay số tới local ISP sử dụng NDIS.

Trang 17
• NDIS gửi gói tin tới NDISWAN, nơi cung cấp các phần PPP Header và
Trailer.
• NDISWAN gửi khung PPP kết quả tới cổng WAN tương ứng đại diện
cho phần cứng quay số (ví dụ, cổng không đồng bộ cho kết nối modem).

1.1.9. L2TP (Layer Two Tunneling Protocol)


Layer Two Tunneling Protocol (L2TP) là sự kết hợp của PPTP và Layer 2 Forwarding
(L2F)- một công nghệ được phát triển bởi Cisco Systems, Inc Thay vì có hai giao thức
đường hầm (PPTP và L2F) không tương thích cạnh tranh trên thị trường và gây nhầm
lẫn cho khách hàngIETF đã kết hợp và phát triển hai giao thức L2F và PPTP thành
L2TP, trên cơ sở tận dụng các ưu điểm của cả hai giao thức này, đồng thời có thể sử
dụng được trong tất cả các trường hợp ứng dụng của PPTP và L2F. L2TP được mô tả
trong khuyến nghị RFC 2661.

L2TP đóng gói các khung PPP để truyền qua mạng IP, X.25, Frame Relay, hoặc ATM.
Hiện nay mới chỉ có L2TP trên mạng IP được định nghĩa. Khi truyền qua mạng IP, các
khung L2TP được đóng gói như các bản tin UDP, L2TP có thể được sử dụng như một
giao thức đường ngầm thông qua Internet hoặc các mạng riêng Intranet. L2TP dùng các
bản tin UDP qua mạng IP cho các dữ liệu đường ngầm cũng như các dữ liệu bảo dưỡng
đường ngầm. Phần tải của khung PPP đã đóng gói có thể được mật mã, nén. Tuy nhiên
mật mã trong các kết nối L2TP thường được thực hiện bởi IPSec ESP (chứ không phải
MPPE như đối với PPTP). Cũng có thể tạo kết nối L2TP không mật mã IPSec. Tuy
nhiên, đây không phải là kết nối IP-VPN vì dữ liệu riêng được đóng gói bởi L2TP
không được mật mã. Các kết nối L2TP không mật mã có thể sử dụng tạm thời để sửa
lỗi các kết nối L2TP dùng IPSec.

L2TP giả định tồn tại mạng IP giữa L2TP client (VPN client dùng giao thức đường
ngầm L2TP và IPSec). L2TP client có thể được nối trực tiếp tới mạng IP để truy nhập
tới L2TP server hoặc gián tiếp thông qua việc quay số tới máy chủ truy nhập mạng
(Network Access Server - NAS) để thiết lập kết nối IP. Việc xác thực trong quá trình
hình thành đường ngầm L2TP phải sử dụng các cơ chế xác thực như trong các kết nối
PPP như EAP, MS-CHAP, CHAP, PAP. Máy chủ L2TP là máy chủ IP-VPN sử dụng
giao thức L2TP với một giao diện nối với Internet và một giao diện khác nối với mạng
Intranet. Các dữ liệu đường ngầm và dữ liệu duy trì đường ngầm có cùng cấu trúc gói.

3.3.1.5 Duy trì đường ngầm bằng bản tin điều khiển L2TP
Không giống PPTP, việc duy trì đường ngầm L2TP không được thực hiện thông qua
một kết nối TCP riêng biệt. Các lưu lượng điều khiển và duy trì cuộc gọi được gửi đi

Trang 18
như các bản tin UDP giữa L2TP client và L2TP server (L2TP client và L2TP server
đều sử dụng cổng UDP 1701).

Các bản tin điều khiển L2TP qua mạng IP được gửi như các UDP datagram. UDP
datagram lại được mật mã bởi IPSec ESP như trên hình 2.10.

Hình 2-11: Bản tin điều khiển L2TP

Vì kết nối TCP không được sử dụng, L2TP dùng thứ tự bản tin để đảm bảo việc truyền
các bản tin L2TP. Trong bản tin điều khiển L2TP, trường Next-Received (tương tự như
TCP Acknowledgment) và Next-Sent (tương tự như TCP Sequence Number) được sử
dụng để duy trì thực tự các bản tin điều khiển. Các gói không đúng thứ tự bị loại bỏ.
Các trường Next-Sent và Next-Received cũng có thể được sử dụng để truyền dẫn tuần
tự và điều khiển luồng cho các dữ liệu đường ngầm.

L2TP hỗ trợ nhiều cuộc gọi trên mỗi đường ngầm. Trong bản tin điều khiển L2TP và
phần tiêu đề L2TP của dữ liệu đường ngầm có một mã số đường ngầm (Tunnel ID) để
xác định đường ngầm, và một mã số cuộc gọi (Call ID)để xác định cuộc gọi trong
đường ngầm đó.

3.3.1.6 Đường ngầm dữ liệu L2TP


Đường ngầm dữ liệu L2TP được thực hiện thông qua nhiều mức đóng gói. Hình 2-11
chỉ ra cấu trúc cuối cùng của dữ liệu đường ngầm L2TP trên nên IPSec.

Hình 2-12: Đóng bao gói tin L2TP

a) Đóng gói L2TP: phần tải PPP ban đầu được đóng gói với một PPP Header và một
L2TP Trailer.

b) Đóng gói UDP: gói L2TP sau đó được đóng gói với một UDP Header, các địa chỉ
cổng nguồn và đích được đặt bằng 1701.

Trang 19
c)Đóng gói IPSec: tuỳ thuộc vào chính sách IPSec, gói UDP được mật mã và đóng gói
với IPSec ESP Header, IPSec ESP Trailer, IPSec Authentication Trailer.

d) Đóng gói IP: gói IPSec được đóng gói với IP Header chứa địa chỉ IP nguồn và đích
của IP-VPN client và IP-VPN server.

e)Đóng gói lớp đường truyền dữ liệu: để truyền đi được trên đường truyền LAN hoặc
WAN, IP datagram cuối cùng sẽ được đóng gói với phần Header và Trailer tương ứng
với kỹ thuật lớp đường truyển dữ liệu của giao diện vật lý đầu ra. Ví dụ, khi các IP
datagram được gửi vào một giao diện Ethernet, IP datagram sẽ được đóng gói với
Ethernet Header và Trailer. Khi các IP datagram được gửi trên đường truyền WAN
điểm tới điểm (chẳng hạn đường dây điện thoại ISDN), IP datagram được đóng gói với
PPP Header và Trailer.

3.3.1.7 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec


Khi nhận được dữ liệu đường ngầm L2TP trên nền IPSec, L2TP client hay L2TP server
sẽ thực hiện các bước sau:

• Xử lý và loại bỏ Header va Trailer của lớp đường truyền dữ liệu.


• Xử lý và loại bỏ IP Header.
• Dùng IPSec ESP Auth Trailer để xác thực IP payload và IPSec ESP Header.
• Dùng IPSec ESP Header để giải mã phần gói đã mật mã.
• Xử lý UDP Header và gửi gói L2TP tới L2TP.
• L2TP dùng chỉ số đường ngầm và chỉ số cuộc gọi trong L2TP Header để
xác định đường ngầm L2TP cụ thể.
• Dùng PPP Header để xác định PPP Payload và chuyển tiếp nó tới đúng
giao thức để xử lý.

Trang 20
3.3.1.8 Sơ đồ đóng gói L2TP trên nền IPSec
Hình 2-12 là sơ đồ đóng gói L2TP qua kiến trúc mạng từ một IP-VPN client thông qua
một kết nối IP-VPN truy nhập từ xa sử dụng một modem tương tự.

Hình 2-13: Sơ đồ đóng gói L2TP

Các bước sau mô tả quá trình đó:

• Một IP datagram, IPX datagram, hoặc NetBEUI Frame được đưa tới giao
diện ảo đại diện cho kết nối IP-VPN sử dụng NDIS bằng giao thức thích hợp.
• NDIS đưa các gói tới NDISWAN, tại đây có thể nen và cung cấp PPP
Header chỉ bao gồm trường chỉ số PPP Protocol. Các trương Flag hay FCS không được
thêm vào.
• NDISWAN gửi khung PPP tới giao thức L2TP, nơi đóng gói PPP Frame
với một L2TL Header. Trong L2TP Header, chỉ số đường ngầm và chỉ số cuộc gọi
được thiết lập với các giá trị thịch hợp để xác định đường ngầm.
• Giao thức L2TP gửi gói thu được tới giao thức TCP/IP với thông tin để gửi
gói L2TP như một bản tin UDP từ cổng UDP 1701 tới cổng UDP 1701 với các địa chỉ
IP của IP-VPN client và IP-VPN server.
• Giao thức TCP/IP xây dựng một gói IP với các IP Header và UDP Header
thích hợp. IPSec sau đó sẽ phân tích gói IP và so sánh nó với chính sách IPSec hiện
thời. Dựa trên những thiết lập trong chính sách, IPSec đóng gói và mật mã phần bản tin

Trang 21
UDP của gói IP sử dụng các ESP Header và Trailer phù hợp. IP Header ban đầu với
Protocol field được đặt là 50 được thêm vào phía trước của gói ESP. Giao thức TCP/IP
sau đó gửi gói thu được tới giao diện đại diện cho kết nối quay số tới local ISP sử dụng
NDIS.
• NDIS gửi số tới NDISWAN.
• NDISWAN cung cấp PPP Header và Trailer và gửi khung PPP thu được
tới cổng AN thích hợp đại diện cho phần cứng dial-up.

3.4 Tổng kết


Chương này đã đưa ra khái niêm và giới thiệu chung về công nghệ IP-VPN. Đây là một
công nghệ không mới, nhưng với sự phát triển mạnh mẽ của mạng Internet trên toàn
cầu thì thị trường IP-VPN sẽ rất phát triển. Với các tổ chức có mạng lưới rộng khắp, sử
dụng công nghệ này sẽ rất hiệu quả trong truyền thông giữa các thành viên của hãng ở
các vùng địa lí khác nhau, đảm bảo phát triển các văn phòng mới một cách mềm dẻo,
dễ dàng tiếp cận với khách hàng một cách trực tiếp và điều quan trọng là tính an toàn
thông tin.

Theo cấu trúc cơ bản, có 2 loại VPN: Site-to-Site IP-VPN và Remote VPN. Trong đó
Site-to-Site bao gồm 2 mô hình là: Intranet IP-VPN được sử dụng để kết nối các mạng
LAN văn phòng ở xa của một tổ chức; Extranet IP-VPN được sử dụng cho các ứng
dụng kết nối trực tuyến tới khách hàng của tổ chức. Từ những khái niệm được trình
bày ta có thể nhận ra rằng đối tuợng và phạm vi kết nối của Extranet VPN có phần
rộng hơn Intranet VPN. Do đối tượng kết nối luôn thay đổi và khó có thể đảm bảo
trước nên yêu cầu bảo mật cũng cao hơn. Remote IP-VPN được ứng dụng cho những
người làm việc lưu động hoặc những văn phòng ở xa dung lượng nhỏ.

Trong chương này giới thiệu chung về các giao thức đường ngầm đang tồn tại sử dụng
cho IP-VPN, trong đó hai giao thức đường ngầm PPTP và L2TP là 2 giao thức lớp 2 đã
hòan thành và hoạt động phổ biến trong giai đoạn hiện nay. Giao thức đường hầm lớp 2
này có ưu điểm:

 Hỗ trợ xác thực người dùng(user authentication)-mỗi bên phải xác nhận độ tin
cậy của các bên khác dựa trên hai phương thức chủ yếu: xác thực dựa trên mật
khẩu và xác thực dựa trên giao thức hỏi đáp. PPTP và L2TP sử dụng hệ thống
xác thực PPP-Point to Point Protocol) (ví dụ, PAP, CHAP, và EAP) để cung cấp
xác thực người dùng.

 Có khả năng bảo mật cho các giao thức IP, IPX, NetBEUI.

Trang 22
 Có khả năng cung cấp mật mã truyền dẫn (mật mã giữa hai thiết bị mạng liên
tiếp).

 Lớp 2 có nghĩa là luồng dữ liệu được xử lý theo địa chỉ MAC vì thế quá trình
định tuyến cũng như việc xử lý gói tin từ lớp IP trở lên không bị ảnh hưởng.

 Độ trễ thấp - chuyển như trái ngược với định tuyến

Tuy nhiên, giao thức đường hầm lớp 2 tồn tại những nhược điểm sau:

 Không có khả năng xác thực gói tin, tức giao thức đường hầm lớp 2 không có
khả năng xác thực gói tin nhờ một vài thông tin xác minh chứa đựng trong gói
tin nhằm bảo vệ tính toàn vẹn của gói tin. Do đó, sự sai lệch thông tin trong gói
tin ban đầu không được đảm bảo.

 Không có khả năng bảo mật trên mạng Intranet.

 Không có khả năng cung cấp mật mã đầu cuối đến đầu cuối (mật mã bảo mật
giữa đầu và cuối đường hầm).

 Quá trình kiểm soát key không được hỗ trợ. Điều này nghĩa là gia thức đường
hầm lớp 2 không có khả năng kiểm soát chia sẻ key bí mật giữa các người sử
dụng trên một mạng

 Có khả năng bảo mật kém. Yếu tố khiến giao thức này dễ bị tổn thương là nó
phụ thuộc vào PPP. Trước bất kỳ giao tiếp nào, PPP thiết lập và khởi tạo các
thông số truyền thông, và bởi PPP không có chứng thực đối với các gói dữ liệu,
các cuộc tấn công như man-in-the-middle và giả mạo, từ chối dịch vụ… có thể
xảy ra. Chi tiết về các cuộc tấn công này cũng như cách chống lại nó được thể
hiện trong chương “Giao thức IPSec”.

Các nhược điểm trên có thể được giải quyết tốt nhờ giao thức đường ngầm lớp 3:
IPSec được trình bày chi tiết trong phần tiếp theo.

Trang 23
Chương 4 GIAO THỨC IPSEC

4.1 Giới thiệu


Như ta đã biết, mạng Internet nguyên thủy được phát triển để truyền thông giữa các
máy tính tin cây, vì vậy nó không hỗ trợ các dịch vụ bảo mật thông tin. Cùng với sự
phát triển rộng khắp của Internet trên tòan cầu thì vấn đề bảo mật thông tin là một
trong những vấn đề quan trọng. Giao thức IPSec được phát triển để giải quyết vấn
đề an ninh này.

IPSec là một định hướng lâu dài trong an toàn mạng. Nó là một phần quan trọng
trong bảo mật thông tin trên mạng Internet cũng như mạng nội bộ.

IPSec có hai mục tiêu chính :

 Bảo vệ nội dung của gói tin IP.

 Bảo vệ chống lại các cuộc tấn công mạng thông qua lọc gói tin và yêu cầu
thực hiện các giao thức trao đổi tin cậy.

1.1.10.Khái niệm về IPSec


IPSec (Internet Protocol Security) là một giao thức được phát triển bởi IETF (Internet
Engineering Task Force- Tổ chức Lực lượng chuyên trách về kỹ thuật liên mạng).

Một cách chung nhất, IPSec cho phép một đường ngầm bảo mật thiết lập giữa 2 mạng
riêng và nhận thức hai đầu của đường ngầm này. Các thiết bị giữa hai đầu đường ngầm
có thể là một cặp host, hoặc một cặp cổng bảo mật (có thể là router, firewall, bộ tập
trung VPN) hoặc một cặp thiết bị gồm một host và một cổng bảo mật. Đường ngầm
đóng vai trò là một kênh truyền bảo mật giữa hai đầu và các gói dữ liệu yêu cầu an toàn
được truyền trên đó. IPSec cũng thực hiện đóng gói dữ liệu các thông tin để thiết lập,
duy trì và hủy bỏ kênh truyền khi không dùng đến nữa. Các gói tin truyền trong đường
ngầm có khuôn dạng giống như các gói tin bình thường khác và không làm thay đổi
các thiết bị, kiến trúc cũng như những ứng dụng hiện có trên mạng trung gian, qua đó
cho phép giảm đáng kể chi phí để triển khai và quản lý.

IPSec có hai giao thức cơ bản để đảm bảo an toàn dữ liệu đó là AH (Authentication
Header) và ESP (Encapsulating Security Payload), trong đó IPSec phải hỗ trợ ESP và
có thể hỗ trợ AH:

• AH cho phép xác thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu
và dịch vụ tùy chọn chống phát lại của các gói IP truyền giữa hai hệ thống. AH không
cung cấp tính bảo mật, điều này có nghĩa là nó gửi đi thông tin dưới dạng bản rõ.

Trang 24
• ESP là một giao thức cung cấp tính an toàn của các gói tin được truyền
bao gồm: 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 phi kết
nối của dữ liệu. ESP đảm bảo tính bí mật của thông tin thông qua việc mật mã gói tin
IP. Tất cả lưu lương ESP đều được mật mã giữa hai hệ thống. Với đặc điểm này thì xu
hướng sẽ sử dụng ESP nhiều hơn AH để tăng tính an toàn cho dữ liệu.
• Cả AH và ESP là các phương tiện cho điều khiển truy nhập, dựa vào sự
phân phối của các khóa mật mã và quản lý các luồng giao thông có liên quan đến
những giao thức an toàn này.
Những giao thức này có thể được áp dụng một mình hay kết hợp với nhau để cung cấp
tập các giao thức an toàn mong muốn trong IPv4 và IPv6, nhưng cách chúng cung cấp
các dịch vụ là khác nhau. Đối với cả hai giao thức AH và ESP này, IPSec không định
các thuật toán an toàn cụ thể được sử dụng, mà thay vào đó là một khung chuẩn để sử
dụng các thuật toán theo tiêu chuẩn công nghiệp. Một số thuật toán thường được sử
dụng trong IPSec như:

 Thuật toán xác thực: Mã xác thực bản tin trên cơ sở băm (HMAC), thuật
toán MD5 (Message Digest 5), thuật toán SHA-1 .
 Thuật toán mã hóa: Thuật toán DES, 3DES, AES để mật mã dữ liệu.
 Thuật toán khóa chia sẻ trước, RSA chữ ký số và RSA mật mã giá trị
ngẫu nhiên (Nonces) để xác thực các bên. Mạng dùng IPSec để bảo mật
các dòng dữ liệu có thể tự động kiểm tra tính xác thực của thiết bị bằng
giấy chứng nhận số của hai user trao đổi thông tin qua lại. Việc thương
lượng này cuối cùng dẫn đến thiết lập kết hợp an ninh (SAs) giữa các cặp
bảo mật, kết hợp an ninh này có tính chất hai chiều trực tiếp (mỗi kết nối
hai chiều được cấu thành bởi hai SA). Thông tin kết hợp an ninh được
lưu trong cơ sử dữ liệu liên kế an ninh, và mỗi SA được ấn định một số
tham số an ninh (SPI) trong bảng SPD sao cho khi kết hợp một địa chỉ
đích, địa chỉ nguồn của gói tin với giao thức an ninh (ESP hoặc AH) thì
có duy nhất một SPI tương ứng với một SA.
1.1.11.Khả năng chống lại tấn công của IPSes
Giao thức IPSec có làm hạn chế hoặc ngăn chặn được các tấn công sau đây:

4.1.1.1 Sniffer ( thiếu bảo mật).


Một sniffer là một ứng dụng hoặc thiết bị có thể đọc, kiểm soát và bắt dữ liệu, gói
tin trao đổi qua mạng. Nếu gói tin không được mã hóa, một sniffer có thể biết được
tất cả các thông tin bên trong gói tin nó bắt được.Các giao thức Encapsulating

Trang 25
Security Payload (ESP) trong IPSec cung cấp bảo mật dữ liệu bằng cách mã hóa tải
trọng của các gói tin IP .

4.1.1.2 Sửa đổi dữ liệu (modification).


IPSec tạo ra các key dựa trên thuật toán xác thực , các key này chỉ được chia sẻ bởi
các máy tính gửi và nhận , để tạo ra mã xác thực cho mỗi gói tin IP. Bất kỳ sửa đổi
tới các gói dữ liệu làm thay đổi mã xác thực, điều này ám chỉ gói tin đã bị sửa đổi
trong quá trình truyền qua mạng.

4.1.1.3 Các cuộc tấn công giả mạo danh tính (Identity spoofing) , tấn công
dựa trên password và tấn công lớp ứng dụng.
Các cuộc tấn công giả mạo danh tính (Identity spoofing) tiến hành thay thế địa chỉ
IP trong gói tin nhằm tiếp cận mạng với một địa chỉ IP có giá trị. Sau khi tiếp cận
mạng thành công, kẻ tấn công có thể hiệu chỉnh, định tuyến lại hoặc xóa dữ liệu.

Tấn công dựa trên password: Khi một kẻ tấn công tìm được và cập nhật đến một
user account có giá trị, kẻ tấn công sẽ có quyền như người sử dụng thực sự(ví dụ
như nếu user có quyền quản trị, kẻ tấn công có thể tạo thêm một tài khoản mới sử
dụng cho việc tấn công lần sau).

Tấn công lớp ứng dụng: Một cuộc tấn công tầng ứng dụng nhằm vào các dịch vụ lớp
ứng dụng bằng cách gây ra một lỗi trong hệ điều hành hoặc các ứng dụng cùa máy
chủ. Điều này dẫn đến những kẻ tấn công đạt được khả năng bỏ qua kiểm soát truy
cập bình thường. Kẻ tấn công lợi dụng tình hình này, giành quyền kiểm soát của
một ứng dụng, hệ thống, hoặc mạng.

IPSec cho phép việc trao đổi và xác minh danh tính mà không lộ thông tin đó mà có
thể phân tích bới kẻ tấn công. Xác minh lẫn nhau (xác thực) được sử dụng để thiết
lập sự tin tưởng giữa các hệ thống truyền thông và chỉ có những hệ thống được tin
cậy mới có thể giao tiếp với nhau . Sau khi các xác thực được thiết lập, IPSec sử
dụng các key dựa trên thuật toán mã hóa (các key này chỉ được chia sẻ bởi các máy
tính gửi và nhận) để tạo ra một tổng kiểm tra mật mã cho mỗi gói tin IP. Tổng kiểm
tra mật mã này đảm bảo rằng chỉ có các máy tính có key giải mã mới có thể giải mã
được gói tin.

4.1.1.4 Tấn công Man-in -the-middle.


Một cuộc tấn công man-in-the-middle xảy ra khi một người nào đó giữa hai user
đang giao tiếp bị theo dõi, nắm bắt, và kiểm soát các thông tin liên lạc mà không
cần các thông tin được trích xuát từ user. Ví dụ, một kẻ tấn công có thể thương
lượng các khóa mã hóa với cả user. Mỗi user sau đó gửi dữ liệu được mã hóa đến
những kẻ tấn công, kẻ tấn công có thể giải mã dữ liệu và tiến hành mã hóa dữ liệu
gửi cho user khác.

Trang 26
IPSec kết hợp xác thực tương tác với các key chia sẻ nhằm giải quyết tấn công
Man-in -the-middle.

4.1.1.5 Tấn công từ chối dịch vụ (Denial-of-service).


Kẻ địch có thể gửi rất nhiều yêu câu kết nối một cách hợp lệ tới đích làm tràn bộ
nhớ đệm của hệ thống đích. IPSec sử dụng phương pháp lọc gói tin IP như là cơ sở
để xác định luồng dữ liệu được cho phép, bảo đảm, hoặc bị chặn , theo phạm vi địa
chỉ IP, các giao thức IP, hoặc thậm chí theo địa chỉ IP port.

1.1.12.Các chuẩn tham chiếu có liên quan


IETF đưa ra các RFC (Request for Comment) có liên quan đến IPSec:

Bảng 3-1:Các RFC đưa ra có liên quan đến IPSec

RFC Tiêu đề Chủ đề Thời gian


1825 Security Architure for the Internet IPSec 8/1995
Protocol
(kiến trúc bảo mật cho giao thức Internet)
1826 IP Authentication Header AH 8/1995
(xác thực tiêu đề IP)
1827 IP Encapsulating Security Payload ESP 8/1995
(đóng gói an toàn tải tin IP)
1828 IP Authentication Using Keyed MD5 MD5 8/1995
(xác thực IP sử dụng khóa MD5)
1829 The ESP DES-CBC Transform DES 8/1995
(sự biến đổi ESP nhờ DES-CBC)
2104 HMAC: Keyed-Hashing for Message HMAC 1/1997
Authentication
(HMAC: khóa băm cho xác thực bản tin)
2202 Test Cases for HMAC-MD5 and HMAC- HMAC-MD5 9/1997
SHA-1 HMAC-SHA-1
(các trường hợp kiểm tra cho HMAC-
MD5 và HMAC-SHA-1)
2401 Security Architure for the Internet IPSec 10/1998
Protocol
2402 IP Authentication Header AH 10/1998
2403 The Use of HMAC-MD5-96 within ESP HMAC-MD5 10/1998
and AH
(sử dụng HMAC-MD5-96 cùng với ESP)

Trang 27
2404 The Use of HMAC-SHA-1-96 within ESP HMAC-SHA-1 10/1998
and AH
(sử dụng HMAC-SHA-1-96 cùng với ESP
và AH)
2405 The ESP DES-CBC Cipher Algorithm DES 10/1998
With Explicit IV
(Thuật toán mã hóa ESP DES-CBC cùng
IV (vectơ khởi tạo))
2406 IP Encapsulating Security Payload ESP 10/1998
2407 The Internet IP Security Domain of ISAKMP 10/1998
Interpretation for ISAKMP
(bảo mật gói tin IP trong phạm vi làm
sáng tỏ cho ISAKMP)
2408 Internet Security Association and Key ISAKMP 10/1998
Management Protocol
(giao thức quản lý kết hợp an ninh
Internet và khóa)
2409 The Internet Key Exchange IKE 10/1998
(phương thức trao đổi khóa Internet)
2410 The NULL Encryption Algorithm and Its NULL 10/1998
Use With IPSec
(vô hiệu thuật toán bảo mật và sử dụng nó
với IPSec)
2451 The ESP CBC-Mode Cipher Algorithms CBC 10/1998
(thuật toán mật mã kiểu CBC cho ESP)

Trang 28
Hình 3-14:Lộ trình tài liệu xây dựng giao thức IPSec

4.2 Đóng gói thông tin của IPSec


1.1.13.Các loại giao thức IPSec.
IPSec có hai kiểu cung cấp xác thực và mã hóa mức cao để thực hiện đóng gói thông
tin, đó là kiểu Transport (truyền tải) và kiểu Tunnel (đường ngầm).

4.2.1.1 Kiểu Transport


Kiểu này bảo vệ phần tải tin của gói nhưng vẫn để phần IP header ban đầu ở dạng bản
rõ. Địa chỉ IP ban đầu được sử dụng để định tuyến gói qua Internet.

Trang 29
AH- Original AH Header IP Payload
kiểu Transport Header (TCP segments, UDP message or ICMP message)

Authenticated
ESP- Original ESP Header IP Payload
kiểu Transport Header (TCP segments, UDP message or ICMP message)

Encrypted
Authenticated

Hình 3-15:Gói tin IP ở kiểu Transport

Thông tin chi tiết về các trường trong AH header cũng như ESP header sẽ được trình
bày chi tiết trong mục “Giao thức tiêu đề xác thực AH” và “Giao thức đóng gói an toàn
tải tin”.

Kiểu Transport có ưu điểm là chỉ thêm vào gói IP đầu ít byte đồng thời sẽ rút ngắn thời
gian đóng gói/giải mã gói tin so với kiểu tunnel . Nhược điểm là kiểu này là cho phép
các thiết bị trong mạng nhìn thấy địa chỉ nguồn và đích của gói tin và có thể thực hiện
một số xử lý (ví dụ như phân tích lưu lượng) dựa trên các thông tin của IP header. Tuy
nhiên nếu được mật mã bởi ESP thì thông tin trong payload vẫn được bảo mật. Theo
như IETF, kiểu Transport được sử dụng cho giao tiếp các thiết bị đầu cuối( ví dụ giao
tiếp giữa client và server).

4.2.1.2 Kiểu Tunnel


Kiểu này bảo vệ toàn bộ gói IP. Gói IP ban đầu (bao gồm cả IP header) được xác thực
hoặc mật mã. Sau đó, gói IP đã mã hóa được đóng gói vào một IP header mới. Địa chỉ
IP bên ngoài được sử dụng cho định tuyến gói IP truyền qua Internet.

AH- New AH Header Original IP Payload


kiểu Tunnel Header Header (TCP segments, UDP message or ICMP
message)
Authenticated

ESP- New ESP Header Original IP Payload


kiểu Tunnel Header Header (TCP segments, UDP message or ICMP
message)
Encrypted
Authenticated

Hình 3-16:Gói tin IP ở kiểu Tunnel

Trang 30
Trong kiểu Tunnel, toàn bộ gói IP ban đầu được đóng gói và trở thành Payload của gói
IP mới trong khi kiểu Transport chỉ có phần Payload của gói IP được tiến hành mã hóa.
Với kiểu Tunnel, toàn bộ gói IP được đóng gói với tiêu đề AH hoặc ESP và một IP
header mới được thêm vào. Địa chỉ IP của IP header mới này là các địa chỉ kết thúc của
đường ngầm và địa chỉ IP của IP header được mã hóa là địa chỉ gốc của gói tin.
Kiểu tunnel hữu dụng trong bảo vệ luồng dữ liệu được truyền qua các mạng khác nhau
khi gói thông tin qua rất nhiều mạng trung gian không tin cậy. Kiểu tunnel có thể được
sử dụng trong các mô hình sau:
 Gateway to gateway
 Server to gateway
 Server to server
1.1.14.Giao thức xác thực tiêu đề AH

4.2.1.3 Giới thiệu


Giao thức AH (Authentication Header) được định nghĩa trong RFC 1826 và sau đó là
được chỉnh sửa thêm trong RFC 2402. AH cung cấp xác thực nguồn gốc dữ liệu (data
origin authentication), kiểm tra tính toàn vẹn dữ liệu (data integrity), và dịch vụ chống
phát lại (anti-replay service). Có sự khác nhau cơ bản giữa tính toàn vẹn gói tin và
chống phát lại:

 Tính toàn vẹn dữ liệu: là kiểm tra những thay đổi của từng gói tin IP,
không quan tâm đến vị trí các gói trong luồng lưu lượng.
 Dịch vụ chống phát lại là kiểm tra sự phát lặp lại một gói tin tới địa chỉ
đích nhiều hơn một lần.

AH cho phép xác thực các trường của IP header cũng như dữ liệu của các giao thức lớp
trên, tuy nhiên do một số trường của IP header thay đổi trong khi truyền và phía phát
có thể không dự đoán trước được giá trị của chúng khi tới phía thu, do đó giá trị của
các trường này không bảo vệ được bằng AH 1. Có thể nói AH chỉ bảo vệ một phần của
IP header.

AH không cung cấp bất cứ xử lý nào về bảo mật dữ liệu, do đó tất cả các thông tin
trong gói tin gốc đều ở dạng văn bản nhìn rõ. Một ưu điểm của AH đó là việc xử lý gói
tin đóng gói/giải mã đưcọ tiên hành nhanh hơn ESP, do đó có thể chọn AH trong
trường hợp chắc chắn về nguồn gốc và tính toàn vẹn của dữ liệu nhưng tính bảo mật dữ
liệu không cần được chắc chắn.
1
RFC 4202, mục 3.3.3.1.1.1

Trang 31
Giao thức AH sử dụng thuật toán HMAC(Hashed Message Authentication Code) nhăm
cung cấp chức năng xác thực cho gói tin. HMAC là một hàm xác thực gói tin trong
mạng Internet được mô tả trong RFC 2104 do tổ chức IETF đề nghị. HMAC sử dụng
các hàm chứng thực ví dụ như MD5 và SHA-1. Sau khi tiến hành xác thực HMAC (sử
dụng MD5 hay SHA-1) một đoạn mã xác thực hash được tạo ra. Đoạn mã đó được
chèn vào thông tin của gói truyền đi. Khi đó, bất cứ thay đổi nào đối với nội dung của
gói trong quá trình truyền đi đều được phía thu phát hiện khi nó thực hiện cùng với một
hàm băm một chiều đối với gói dữ liệu thu được và đối chiếu nó với giá trị hash đã
truyền đi. Hàm băm được thực hiện trên toàn bộ gói dữ liệu, trừ một số trường trong IP
header có giá trị bị thay đổi trong quá trình truyền mà phía thu không thể dự đoán trước
được (ví dụ trường thời gian sống của gói tin bị các router thay đổi trên đường truyền
dẫn). Trong IP header gói AH được phân biệt với các giao thức khác với IP protocol là
51.

4.2.1.4 Cấu trúc gói tin AH


AH header được đặt trước header lớp Transport (TCP hoặc UDP) hoặc trước IP
payload của các loại giao thức IP khác, cụ thể như sau:

Hình 3-17: Cấu trúc tiêu đề AH cho IPSec Datagram

Giải thích ý nghĩa các trường trong AH header:

 Next Header (tiêu đề tiếp theo) Có độ dài 8 bit để nhận dạng loại dữ liệu của
phần tải tin theo sau AH. Giá trị này được chọn lựa từ tập các số giao thức IP 2 .

2
Định nghĩa trong RFC 1700- ASSIGNED NUMBERS

Trang 32
 Payload length (độ dài tải tin): Có độ dài 8 bit và chứa độ dài của tiêu đề
AH được diễn tả trong các từ 32 bit, trừ 2. Ví dụ trong trường hợp của thuật toán toàn
vẹn mà mang lại một giá trị xác minh 96 bit (3x32 bit), cộng với 3 từ 32 bit đã cố
định, trường độ dài này có giá trị là 4. Với IPv6, tổng độ dài của tiêu đề phải là bội
của các khối 8.
 Reserved (dự trữ): Trường 16 bit này dự trữ cho ứng dụng trong tương lai.

 Security Parameters Index (SPI: chỉ dẫn thông số an ninh): Trường này có
độ dài 32 bit, mang tính chất bắt buộc.
 Sequence Number (số thứ tự): Đây là trường 32 bit không đánh dấu chứa
một giá trị mà khi mỗi gói được gửi đi thì tăng một lần. Trường này có tính bắt buộc.
Bên gửi luôn luôn bao gồm trường này ngay cả khi bên nhận không sử dụng dịch vụ
chống phát lại. Bộ đếm bên gửi và nhận được khởi tạo ban đầu là 0, gói đầu tiên có số
thứ tự là 1. Nếu dịch vụ chống phát lại được sử dụng, chỉ số này không thể lặp lại, sẽ
có một yêu cầu kết thúc phiên truyền thông và SA sẽ được thiết lập mới trở lại trước
khi truyền 232 gói mới.
 Authentication Data (dữ liệu xác thực): Còn được gọi là ICV (Integrity
Check Value: giá trị kiểm tra tính toàn vẹn) có độ dài thay đổi, bằng số nguyên lần của
32 bit đối với IPv4 và 64 bit đối với IPv6, và có thể chứa đệm để lấp đầy cho đủ là bội
số các bit như trên. ICV được tính toán sử dụng thuật toán xác thực, bao gồm mã xác
thực bản tin (Message Authentication Code MACs). MACs đơn giản có thể là thuật
toán mã hóa MD5 hoặc SHA-1. Các khóa dùng cho mã hóa AH là các khóa xác thực bí
mật được chia sẻ giữa các phần truyền thông có thể là một số ngẫu nhiên, không phải là
một chuỗi có thể đoán trước của bất cứ loại nào. Tính toán ICV được thực hiện sử dụng
gói tin mới đưa vào. Bất kì trường có thể biến đổi của IP header nào đều được cài đặt
bằng 0, dữ liệu lớp trên được giả sử là không thể biến đổi. Mỗi bên tại đầu cuối IP-
VPN tính toán ICV này độc lập. Nếu ICV tính toán được ở phía thu và ICV được phía
phát truyền đến khi so sánh với nhau mà không phù hợp thì gói tin bị loại bỏ, bằng
cách như vậy sẽ đảm bảo rằng gói tin không bị giả mạo.

Trang 33
4.2.1.5 Quá trình xử lý AH
Hoạt động của AH được thực hiện qua các bước như sau:

 Bước 1: Toàn bộ gói IP (bao gồm một phần IP header và payload) được thực
hiện qua một thuật toán HMAC (MD5 hay SHA-1).

 Bước 2: Mã hash thu được dùng để xây dựng một AH header, đưa header này
vào gói dữ liệu ban đầu.

 Bước 3: Gói dữ liệu sau khi thêm AH header được truyền tới đối tác IPSec nhận.

 Bước 4: Bên thu thực hiện lại giải thuật với một phần IP header và payload, kết
quả thu được một mã hash.

 Bước 5: Bên thu tách mã hash trong AH header.

 Bước 6: Bên thu so sánh mã hash mà nó tính được mà mã hash tách ra từ AH


header. Hai mã hash này phải hoàn toàn giống nhau. Nếu khác nhau dù chỉ một
bit trong quá trình truyền thì 2 mã hash sẽ không giống nhau, bên thu lập tức
phát hiện tính không toàn vẹn của dữ liệu.

a) Quá trình đóng gói gói tin AH


AH có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel. Kiểu Transport là kiểu
được sử dụng cho kết nối đầu cuối giữa các host hoặc các thiết bị hoạt động như host
và kiểu Tunnel được sử dụng cho các ứng dụng còn lại như Server-server, Gateway-
To-Gateway,Server-To-Gateway .

Các thiết bị sử dụng AH sẽ chèn một tiêu đề vào giữa lưu lượng cần quan tâm của IP
datagram, ở giữa phần IP header và header lớp 4. B. Quá trình xử lý chèn AH header
được diễn tả như trong hình 3-5.

Trang 34
Gói IP gốc Kiểu Transport Kiểu Tunnel

e outer header
n

r
i

e Inner header
n

r
i
Hình 3-18:Quy trình đóng gói gói tin AH

Ở kiểu Transport cho phép bảo vệ các giao thức lớp trên, cùng với một số trường trong
IP header. Trong kiểu này, AH được chèn vào sau IP header và trước một giao thức lớp
trên (chẳng hạn như TCP, UDP, ICMP…) và trước các IPSec header đã được chen vào.
Đối với IPv4, AH đặt sau IP header và trước giao thức lớp trên (ví dụ ở đây là TCP).
Trường Next header của AH lấy thông tin TCP header(Next header=6).

Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn outer IP
header mang địa chỉ để định tuyến qua Internet. Trong kiểu này, AH bảo vệ toàn bộ gói
tin IP bên trong, bao gồm cả inner IP header (trong khi AH Transport chỉ bảo vệ một số
trường của IP header). So với outer IP header thì vị trí của AH giống như trong kiểu
Transport. Tuy nhiên, trường Next header của AH mang thông tin IP header(Next
header=4)

Trang 35
.b) Các thuật toán xác thực
Thuật toán xác thực sử dụng để tính ICV được xác định bởi cơ sở dữ liệu kết hợp an
ninh SAD (Security Association Databases). Đối với truyền thông điểm tới điểm, các
thuật toán xác thực thích hợp bao gồm HMAC-MD5 3 và HMAC-SHA-14. Đây chính là
những thuật toán bắt buộc mà một ứng dụng AH phải hỗ trợ.

c) Xử lý gói đầu ra
Trong kiểu Transport, phía phát chèn AH header vào sau IP header và trước một
header của giao thức lớp trên. Trong kiểu Tunnel, có thêm sự xuất hiện của outer IP
header. Quá trình xử lý gói tin đầu ra như sau:

 Tìm kiếm SA: AH được thực hiện trên gói tin đầu ra chỉ khi quá trình
IPSec đã xác định được gói tin đó được liên kết với một SA. SA đó sẽ yêu cầu AH xử
lý gói tin. Việc xác định quá trình xử lý IPSec nào cần thực hiện trên lưu lượng đầu ra
có thể xem trong RFC 2401.
 Tạo Sequence Number: bộ đếm phía phát được khởi tạo 0 khi một SA
được thiết lập. Phía phát tăng SN cho SA này và chèn giá trị SN đó vào trường
Sequence Number nhằm thực hiện dịch vụ chống phát lại gói tin.
 Tính toán ICV: bằng cách sử dụng các thuật toán (HMAC-MD5 hay
HMAC-SHA-1) một phần IP header và Payload được đưa qua hàm băm tạo thành mã
ICV.
 Chèn dữ liệu: có hai dạng chèn dữ liệu trong AH, đó là chèn dữ liệu
xác thực (Authentication Data Padding) và chèn gói ngầm định (Implicit Packet
Padding).
• Đối với chèn dữ liệu xác thực, nếu đầu ra của thuật toán xác thực là bội
số của 96 bit thì không được chèn. Tuy nhiên nếu ICV có kích thước
khác thì việc chèn thêm dữ liệu là cần thiết. Nội dung của phần dữ liệu
chèn là tùy ý, cũng có mặt trong phép tính ICV và được truyền đi.
• Chèn gói ngầm định được sử dụng khi thuật toán xác thực yêu cầu tính
ICV là số nguyên của một khối b byte nào đó và nếu độ dài gói IP không
thỏa mãn điều kiện đó thì chèn gói ngầm định được thực hiện ở phía cuối
của gói trước khi tính ICV. Các byte chèn này có giá trị là 0 và không
được truyền đi cùng với gói.

3
RFC 1321
4
RFC 3174

Trang 36
 Phân mảnh: khi cần thiết, phân mảnh sẽ được thực hiện sau khi đã xử
lý AH. Vì vậy AH trong kiểu transport chỉ được thực hiện trên toàn bộ gói IP, không
thực hiện trên từng mảnh. Nếu bản thân gói IP đã qua xử lý AH bị phân mảnh trên
đường truyền thì ở phía thu phải được ghép lại trước khi xử lý AH. Ở kiểu Tunnel, AH
có thể thực hiện trên gói IP mà phần tải tin là một gói IP phân mảnh.
d) Xử lý gói đầu vào
Quá trình xử lý gói tin đầu vào ngược với quá trình xử lý gói tin đầu ra:

 Ghép mảnh: được thực hiện trước khi xử lý AH (nếu cần).


 Tìm kiếm SA: khi nhận được gói chứa AH header, phía thu sẽ xác định
một SA phù hợp dựa trên địa chỉ IP đích, giao thức an ninh (AH) và SPI. Quá trình tìm
kiếm có thể xem chi tiết trong RFC 2401. Nếu không có SA nào thích hợp được tìm
thấy cho phiên truyền dẫn, phía thu sẽ loại bỏ gói.
 Kiểm tra Sequence number: AH luôn hỗ trợ dịch vụ chống phát lại, mặc dù
dịch vụ này được sử dụng hay không là hoàn toàn dựa vào tùy chọn phía thu. Vì vậy
quá trình kiểm tra này có thể được thực hiện hoặc không tùy thuộc vào bên nhận gói
tin.
o Nếu người nhận đã kích hoạt dịch vụ chống phát lạ, sequence
number bên nhân cho SA phải được khởi tạo bằng 0 khi SA được thành
lập. Đối với mỗi gói tin nhận được, bên nhận phải xác minh rằng các gói
có chứa một số sequence number không lặp lại trong các dãy số của bất
kỳ gói nào được nhận trong thời gian sống của SA này. Điều này cần
được quá trình xử lý AH kiểm tra đầu tiên áp dụng cho một gói tin sau
khi nó đã được kết hợp với một SA, điều này nhằm giảm thời gian xử lý
gói nếu gói nhận bị trùng.
o Nếu bên nhận không cho phép chống phát lại, quá trình kiểm tra
Sequence Number không được thực hiện. Tuy nhiên, bên gửi vẫn mặc
định là rằng chống phát lại được kích hoạt ở bên nhận. Để tránh điều
nay trong quá trình thiết lập tunnel bên gửi nhận nên thông báo bên gửi
sẽ không cung câp dịch vụ chống phát lại.

Trang 37
1.1.15.Giao thức đóng gói an toàn tải tin ESP

4.2.1.6 Giới thiệu


ESP được định nghĩa trong RFC 1827 và sau đó được hoàn thiện thêm trong
RFC 2408. Cũng như AH, giao thức này được phát triển hoàn toàn cho IPSec. Giao
thức này cung cấp tính bí mật dữ liệu bằng việc mật mã hóa các gói tin. Thêm vào đó,
ESP cũng cung cấp xác thực nguồn gốc dữ liệu, kiểm tra tính xác thực, tính toàn vẹn,
và chống phát lại gói tin. ESP có thể được sử dụng một mình hoặc kết hợp với AH.

4.2.1.7 Cấu trúc gói tin ESP


Không giống như AH, ESP đóng gói tất cả hoặc một phần dữ liệu gốc. Do khả
năng bảo mật dữ liệu nên xu hướng ESP được sử dụng rộng rãi hơn AH. ESP header
được đặt trước header lớp Transport (TCP hoặc UDP) hoặc trước IP payload của các
loại giao thức IP khác, cụ thể như sau:

Hình 3-19: Xử lý đóng gói ESP

Hình 3-7 trình bày khuôn dạng gói ESP

Hình 3-20: Khuôn dạng gói ESP

Trang 38
Các trường trong ESP header có thể thay đổi phụ thuộc vào yêu cầu người sử dụng (có
hay không việc xác thực gói tin). Việc lựa chọn một trường tùy chọn được định nghĩa
trong quá trình thiết lập kết hợp an ninh SA thông qua yêu cầu người sử dụng được thể
hiện qua bảng SPD. Cụ thể thông tin các trường trong ESP header như sau:

 SPI (chỉ dẫn thông số an ninh): Là một số bất kỳ 32 bit, cùng với địa chỉ
IP đích và giao thức an ninh ESP cho phép nhận dạng duy nhất SA cho gói dữ liệu này.
Các giá trị SPI từ 0÷255 được dành riêng để sử dụng trong tương lai. SPI thường được
chọn lửa bởi phía thu khi thiết lập SA. SPI là trường bắt buộc.
 Sequence Number (số thứ tự): Tương tự như trường số thứ tự của AH.
Trường này luôn hiện diện trong gói tin ESP bất kể tính năng xác thực gói tin có được
sử dụng hay không.
 Payload Data (trường dữ liệu tải tin): Trường này bao gồm một số lượng
biến đổi các byte dữ liệu gốc hoặc một phần dữ liệu yêu cầu bảo mật đã được mô tả
trong trường Next Header. Trường này được mã hóa cùng với thuật toán mã hóa đã
chọn lựa trong suốt quá trình thiết lập SA. Nếu thuật toán được sử dụng mã hóa yêu
cầu dữ liệu đồng bộ mật mã (ví dụ Vector khởi tạo (Initialization Vector-IV)), dữ liệu
này sẽ được gắn thêm vào đầu payload sau khi quá trình mã hóa gói tin kết thúc. Thuật
toán được dùng để mã hóa ESP thường là thuật toán DES-CBC. Đôi khi các thuật toán
khác cũng được hỗ trợ như 3DES hay CDMF trong trường hợp nhà cung cấp dịch vụ
IBM.
 Padding (0÷255 bytes): Có hai nguyên nhân chính dẫn đến sự có mặt của
trường này:
- Nếu thuật toán mật mã được sử dụng yêu cầu bản rõ (plaintext) phải
là số nguyên lần khối các byte (ví dụ trường hợp mã khối) thì Padding
được sử dụng để điền đầy vào plaintext (bao gồm Payload Data, Pad
Length, Next Header và Padding) có kích thước theo yêu cầu.
- Padding cũng cần thiết để đảm bảo phần dữ liệu mật mã (ciphertext)
sẽ kết thúc ở biên giới 4 byte để phân biết rõ ràng với trường
Authentication Data.
Ngoài ra, Padding còn có thể sử dụng để che dấu độ dài thực của Payload,
tuy nhiên mục đích này cần phải được cân nhắc vì nó ảnh hưởng tới băng
tần truyền dẫn. Padding byte được khởi tạo với một chuỗi các giá trị tự

Trang 39
nhiên, bắt đầu từ 1 và tăng một cách tuần tự đến khi đạt chiều dài cần thiết
cho việc mã hóa gói tin.
 Pad length (độ dài trường đệm): Trường này xác định số byte Padding
được thêm vào. Các giá trị phù hợp là 0÷255 bytes, Pad length là trường bắt buộc.
 Next Header (tiêu đề tiếp theo): Trường này dài 8 bit, xác định kiểu dữ
liệu chứa trong Payload Data, ví dụ một extension header trong IPv6, hoặc nhận dạng
của một giao thức lớp trên khác. Giá trị của trường này được lựa chọn từ tập các giá trị
IP Protocol Number định nghĩa bởi IANA. Next Header là trường bắt buộc.
 Authentication Data (dữ liệu xác thực): Trường có độ dài biến đổi chứa
một giá trị kiểm tra tính toàn vẹn ICV tính trên dữ liệu của toàn bộ gói ESP trừ trường
Authentication Data. Độ dài của trường này phụ thuộc vào thuật toán xác thực được sử
dụng. Trường này là tùy chọn, và chỉ được thêm vào nếu dịch vụ xác thực được lựa
chọn cho SA đang xét. Thuật toán xác thực phải chỉ ra độ dài ICV và các bước xử lý
cũng như các luật so sánh cần thực hiện để kiểm tra tính toàn vẹn của gói tin.

4.2.1.8 Quá trình xử lý ESP


a)Vị trí của ESP header

ESP có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel.

 Kiểu Transport cho phép bảo vệ các giao thức lớp trên, nhưng không bảo vệ IP
header. Trong kiểu này, ESP được chèn vào sau IP header và trước giao thức
lớp trên (chẳng hạn TCP, UDP hay ICMP…). ESP trailer bao gồm các trường
Padding, Pad length, và Next Header.

Orig IP hdr TCP Data


IPv4 (any options)
Trước khi thêm ESP

Orig IP hdr ESP ESP ESP ICV


IPv4 TCP Data
(any options) Header Trailer
Sau khi thêm ESP

Hình 3-21:Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport

Trang 40
Đối với IPv6, ESP được xem như phần tải đầu cuối-tới - đầu cuối, nên sẽ xuất
hiện sau phần header mở rộng hop-to-hop, routing và fragmentation. Các lựa
chọn đích (dest options extention headers) có thể trước hoặc sau ESP header.
Tuy nhiên, do ESP chỉ bảo vệ các trường phía sau ESP header, nên các lựa chọn
đích thường được đặt sau ESP header. Chi tiết về IPv6 có thể xem trong RFC
1883.

Orig IP hdr Ext hdr TCP Data


IPv6 (any options) if present
Trước khi thêm ESP

Orig IP hdr Hop-by-hop, dest*, ESP Dest TCP Data ESP ESP
IPv6 (any options) routing, fragment opt* Trailer Auth
Sau khi thêm AH

Hình 3-22:Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport

 Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn
outer IP header mạng địa chỉ để định tuyến qua Internet. Trong kiểu này, ESP sẽ
bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả inner IP header. So với outer IP
header thì vị trí của ESP giống như kiểu Trasport

New IP hdr ESP Orig IP hdr ESP ESP


IPv4 (any option) Header (any options) TCP Data
Trailer Auth
Encrypted

Authenticated

New New ESP Orig IP Orig TCP Data ESP ESP


IPv6 IP hdr Ext hdr Trailer Auth
hdr Ext hdr
Encrypted

Authenticated

Hình 3-23: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel

b) Các thuật toán

Trang 41
Có các thuật toán sau được sử dụng với ESP:

- Thuật toán mật mã: DES, 3DES in CBC.


- Thuật toán xác thực: HMAC-MD5, HMAC-SHA1.
- Các thuật toán mật mã: Thuật toán mật mã được xác định bởi SA. ESP làm
việc với các thuật toán mật mã đối xứng. Vì các gói IP có thể đến không đúng thứ tự,
nên mỗi gói phải mang thông tin cần thiết để phía thu có thể thiết lập đồng bộ mật mã
(cryptographic synchronization) để giải mã. Dữ liệu này có thể được chỉ định trong
trường Payload (chẳng hạn dưới dạng các vectơ khởi tạo IV- Initialization Vector),
hoặc thu được từ header của gói. Với sự có mặt của trường Padding, các thuật toán mật
mã sử dụng với ESP có thể có các đặc tính khối (block) hoặc luồng (stream).
- Các thuật toán xác thực: Thuật toán xác thực sử dụng để tính ICV được xác
định bởi SA. Đối với truyền thông điểm-tới-điểm, các thuật toán xác thực thích hợp
bao gồm các hàm băm một chiều (MD5, SHA-1). Vì dịch vụ xác thực là tùy chọn nên
thuật toán xác thực có thể là NULL.
c) Xử lý gói đầu ra

Trong kiểu Transport, phía phát đóng gói thông tin giao thức lớp trên vào ESP header/
trailer và giữ nguyên IP header (và tất cả IP extension headers đối với IPv6). Trong
kiểu Tunnel, có thêm sự xuất hiện của outer IP header. Quá trình xử lý gói tin đầu ra
như sau:

 Tìm kiếm SA: ESP được thực hiện trên một gói tin đầu ra chỉ khi quá
trình IPSec đã xác định được gói tin đó được liên kết với một SA, SA đó sẽ yêu cầu
ESP xử lý gói tin. Việc xác định quá trình xử lý IPSec nào cần thực hiện trên lưu lượng
đầu ra có thể xem trong RFC 2401.
 Mật mã gói tin: Đối với kiểu Transport chỉ đóng gói thông tin giao thức
lớp cao. Đối với kiểu Tunnel, đóng gói toàn bộ gói IP ban đầu: Thêm trường Padding
nếu cần thiết, mật mã các trường sử dụng khóa, thuật toán và kiểu thuật toán được chỉ
ra bởi SA và dữ liệu đồng bộ mật mã nếu có.
Các bước cụ thể để xây dựng outer IP header phụ thuộc vào kiểu sử dụng (Transport
hay Tunnel). Nếu dịch vụ xác thực được lựa chọn thì mật mã được thực hiện trước, và
quá trình mật mã không bao gồm trường Authentication Data. Thứ tự xử lý này cho
phép nhanh chóng xác định và loại bỏ các gói lỗi hoặc lặp lại mà không cần phải thực
hiện giải mã, qua đó làm ảnh hưởng của các tấn công kiểu từ chối dịch vụ (denial of
service attacks), đồng thời cho phép phía thu xử lý song song: giải mã và xác thực tiến
hành song song.

Trang 42
 Tạo SN: tương tự như tạo SN của AH.
 Tính toán ICV: nếu dịch vụ xác thực được lựa chọn cho SA thì phía phát
sẽ tính toán giá trị ICV trên dữ liệu gói ESP trừ trường Authentication Data. Lưu ý là
các trường mật mã được thực hiện trước xác thực. Chi tiết về tính toán ICV cũng tương
tự như ở AH.
 Phân mảnh: Nếu cần thiết, phân mảnh được thực hiện sau khi đã xử lý
ESP. Vì vậy ESP trong kiểu Transport chỉ được thực hiện trên toàn bộ gói IP, không
thực hiện trên từng mảnh. Nếu bản thân gói IP đã qua xử lý ESP bị phân mảnh bởi các
router trên đường truyền thì các mảnh phải được ghép lại trước khi xử lý ESP ở phía
thu. Trong kiểu Tunnel, ESP có thể thực hiện trên gói IP mà phần Payload là một gói
IP phân mảnh.
d) Xử lý gói đầu vào

Quá trình xử lý gói đầu vào ngược với quá trình xử lý gói tin đầu ra:

 Ghép mảnh: Ghép mảnh được thực hiện trước khi xử lý ESP.
 Tìm kiếm SA: khi nhận được gói đã ghép mảnh chứa ESP header, phía
thu sẽ xác định một SA phù hợp dựa trên địa chỉ IP đích, giao thức an ninh ESP và SPI.
Quá trình tìm kiếm có thể xem chi tiết trong RFC 2401. Thông tin trong SA sẽ cho biết
có cần kiểm tra trường Sequence Number hay không, có cần thêm trường
Authentication Data hay không và các thuật toán và khóa cần sử dụng để giải mã tính
ICV nếu có. Nếu không có SA nào phù hợp được tìm thấy cho phiên truyền dẫn này (ví
dụ phía thu không có khóa), phía thu sẽ loại bỏ gói.
 Kiểm tra SN: ESP luôn hỗ trợ dịch vụ chống phát lại (anti-replay), mặc
dù việc dịch vụ này hoàn toàn do lựa chọn phí thu trên cơ sở từng SA. Dịch vụ này
không thực hiện được nếu dịch vụ xác thực không được lựa chọn, vì khi này Sequence
Number không được bảo vệ tính toàn vẹn.
Nếu phía thu không lựa chọn dịch vụ chống phát lại cho một SA nào đó thì không cần
kiển tra trường Sequence Number. Tuy nhiên phía phát mặc định là phía thu sử dụng
dịch vụ này. Vì vậy, để phía phát không phải thực hiện giám sát SN cũng như thiết lập
lại SA một cách không cần thiết, trong quá trình thiết lập SA phía thu sẽ thông báo cho
phía phát việc không sử dụng dịch vụ chống phát lại (trong trường hợp một giao thức
thết lập SA như IKE được sử dụng).

Nếu phía thu có lựa chọn dịch vụ chống phát lại cho một SA thì bộ đếm gói thu cho SA
đó phải được khởi tạo 0 khi thiết lập SA. Với mỗi gói thu được, phía thu phải kiểm tra

Trang 43
rằng gói đó có chứa số SN không lặp của bất kỳ một gói nào trong thời gian tồn tại của
SA đó. Sau khi một gói đã được xác định là tương ứng với một SA nào đó thì phép
kiểm tra này là cần được thực hiện đầu tiên để có thể nhanh chóng quyết định khả năng
tồn tại của gói đó.

Các gói bị loại bỏ thông qua sử dụng một cửa sổ thu trượt. Giá trị cửa sổ tối thiểu là 32
và mặc định là 64, phía thu cũng có thể sử dụng các cửa sổ có kích thước lớn hơn. Bên
phải của cửa sổ đại diện cho SN hợp lệ lớn nhất đã thu được trong SA này. Các gói có
SN nhỏ hơn bên trái của cửa sổ sẽ bị loại bỏ. Các gói có SN nằm trong khoảng giữa hai
bên của cửa sổ sẽ được kiểm tra với một danh sách các gói đã thu được trong cửa sổ.
Nếu gói thu được nằm trong vùng cửa sổ và là mới, hoặc gói đã tới bên phải của cửa sổ
thì phía thu sẽ tiến hành xử lý tiếp ICV. Nếu việc kiểm tra ICV sai thì phía thu phải
loại bỏ gói IP vì không hợp lệ. Cửa sổ thu chỉ được cập nhật sau khi việc kiểm tra ICV
thành công.

 Kiểm tra ICV: nếu dịch vụ xác thực được lựa chọn, phía thu sẽ tính ICV
dựa trên dữ liệu của gói ESP ngoại trừ trường Authentication Data, sử dụng thuật toán
xác thực xác định trong SA và so sánh với giá trị ICV trong trường Authentication của
gói. Nếu hai giá trị ICV hoàn toàn trùng khớp thì gói tin là hợp lệ và được chấp nhận.
Ngược lại, phía thu sẽ loại bỏ gói tin.
Việc kiểm tra tiến hành như sau: trước hết giá trị ICV nằm trong trường Authentication
Data được tách ra khỏi gói ESP và được lưu trữ. Tiếp theo kiểm tra độ dìa của gói ESP
(ngoại trừ trườn Authentication Data). Nếu Padding ngầm định được yêu cầu bởi thuật
toán xác thực thì các byte 0 được thêm vào cuối gói ESP, ngay sau trường Next
Header. Tiếp theo thực hiện tính toán ICV và so sánh với giá trị đã lưu sử dụng các luật
so sánh được định nghĩa bởi thuật toán.

e) Giải mã gói

Nếu ESP sử dụng mật mã thì sẽ phải thực hiện quá trình giải mã gói. Nếu dịch vụ bảo
mật không được sử dụng, tại phía thu không có quá trình giải mã gói này. Quá trình
giải mã gói diễn ra như sau:

- Giải mã ESP (bao gồm trường Payload Data, Padding, Pad Length, Next
Header) sử dụng khóa. Thuật toán mật mã và kiểu thuật toán được xác định bởi SA.
- Xử lý phần Padding theo đặc tả của thuật toán. Phía thu cần tìm và loại bỏ
phần Padding trước khi chuyển dữ liệu đã giải mã lên lớp trên.

Trang 44
- Xây dựng lại cấu trúc gói IP ban đầu từ IP header ban đầu và thông tin giao
thức lớp cao trong tải tin của ESP (ở kiểu Transport), hoặc outer IP header và toàn bộ
gói IP ban đầu trong tải tin của ESP (ở kiểu Tunnel).
Nếu dịch vụ xác thực cũng được lựa chọn thì quá trình kiểm tra ICV và mật mã có thể
tiến hành nối tiếp hoặc song song. Nếu tiến hành nối tiếp thì kiểm tra ICV phải được
thực hiện trước. Nếu tiến hành song song thì kiểm tra ICV phải hoàn thành trước khi
gói đã giải mã được chuyển tới bước xử lý tiếp theo. Trình tự này giúp loại bỏ nhanh
chóng các gói không hợp lệ.

4.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE
Phần này định nghĩa những yêu cầu cho việc quản lý kết hợp an ninh tiến hành AH,
ESP hoặc cả hai. Định nghĩa SA là nền tảng của IPSec. Bên cạnh đó, trong phần này
quá trình trao đổi IKE với mục đích thỏa thuận cách trao đổi cũng như bảo mật thông
tin giữa hai bên. Cả AH và ESP sử dụng SA và IKE nhằm thiết lập và duy trì các liên
kết an ninh.

1.1.16.Kết hợp an ninh SA

4.3.1.1 Định nghĩa và mục tiêu


Một SA là một kết nối đơn công, nghĩa là với mỗi cặp truyền thông với nhau, có ít nhất
2 SA (mỗi SA được sử dụng cho một chiều dữ liệu). Khi lưu lượng cần truyền trực tiếp
2 chiều qua VPN, giao thức trao đổi khóa IKE (Internet Key Exchange) thiết lập một
cặp SA trực tiếp và sau đó có thể thiết lập thêm nhiều SA khác. Mỗi SA có một thời
gian sống riêng.

SA được nhận dạng duy nhất bởi bộ 3 gồm có: chỉ dẫn thông số an ninh (SPI), địa chỉ
IP đích và một nhận dạng giao thức an toàn (AH hay ESP). Tập các giá trị SPI trong
dãy từ 1 đến 255 được để dành bởi IANA để sử dụng cho tương lai. Theo nguyên lý,
địa chỉ IP đích có thể là một địa chỉ đơn nhất (unicast), một địa chỉ quảng bá
(broadcast) hay một địa chỉ nhóm (multicast). Tuy nhiên, cơ chế quản lý SA IPSec hiện
nay được định nghĩa chỉ cho những SA đơn nhất (unicast).

Khi một bên IP-VPN muốn gửi lưu lượng IPSec tới đầu bên kia, nó kiểm tra để biết
nếu có một đã tồn tại một SA trong cơ sở dữ liệu hay chưa để hai bên có thể sử dụng
dịch vụ an ninh theo yêu cầu. Nếu nó tìm được một SA tồn tại, nó để SPI của SA này
trong tiêu đề IPSec, thực hiện các thuật toán mã hóa và gửi gói tin đi. Bên thu sẽ lấy
SPI, địa chỉ đích và giao thức IPSec (AH hay ESP) và tìm SA trong cơ sở dữ liệu phù
hợp để xử lý gói tin đó. Lưu ý rằng một đầu cuối IP-VPN có thể đồng thời tồn tại nhiều
kết nối IPSec, vì vậy cũng có nghĩa là tồn tại nhiều SA.

Trang 45
4.3.1.2 Cơ sở dữ liệu IPSec
Có hai cơ sở dữ liệu, đó là: Cơ sở dữ liệu chính sách an ninh (Security Policy Database
SPD) và có sở dữ liệu kết hợp an ninh (Security Association Database SAD).

 SPD: Một chính sách bảo mật là một phần bắt buộc trong việc thực hiện
IPSec. Nó cho biết việc thực hiện như thế nào để xử lý các gói tin khác nhau được nhận
bởi thiết bị. Ví dụ, chính sách an ninh quyết định rằng một gói tin cụ thể cần phải được
xử lý bởi IPsec hay không. Thông tin chứa đựng trong SPD giúp chương trình biết cách
để xử lý các luồng dữ liệu khác nhau được nhận bởi thiết bị. Nó chứa đựng một danh
sách những mục chính sách, tồn tại riêng rẽ cho lưu lượng đi vào và đi ra. Các mục
trong SPD có thể nhận định một vài lưu lượng không qua xử lý IPSec, một vài phải
được loại bỏ và còn lại thì được xử lý bởi IPSec. Nếu bảo mật là cần thiết, chính sách
bảo mật cung cấp những hướng dẫn tổng quát về cách nó tiến hành bảo mật dữ liệu (ví
dụ như thuật toán mã hóa, thuật toán xác thực được sử dụng…), và nếu cần thiết, liên
kết đến các chi tiết cụ thể hơn (ví dụ thời gian sống của tunnel). Chính sách bảo mật
cho một thiết bị được lưu trữ trong cơ sở dữ liệu chính sách an ninh của thiết bị (SPD).
 SAD: mô tả thông tin chi tiết cách tiến hành xử lý gói tin. Nó chứa các
thông tin bảo mật mô tả cho một loại kết nối an ninh giữa một thiết bị và thiết bị khác,
bao gồm các thông số như các tính toán và khóa AH hay ESP, số trình tự, kiểu giao
thức và thời gian sống SA. Đối với xử lý đi ra, một lối vào SPD trỏ tới một lối vào
trong SAD. SAD quyết định SA nào được sử dụng cho một gói đã cho. Đối với xử lý
đi về, SAD được tham khảo để quyết định gói được xử lý như thế nào.
1.1.17.Giao thức trao đổi khóa IKE
Kết nối IPSec chỉ được hình thành khi SA đã được thiết lập. Tuy nhiên bản thân IPSec
không có cơ chế để thiết lập SA. Chính vì vậy, IETF đã chọn phương án chia quá trình ra
làm hai phần: IPSec cung cấp việc xử lý ở mức gói, còm IKMP (Internet Key
Management Protocol) chịu trách nhiệm thỏa thuận các kết hợp an ninh. Sau khi cân
nhắc các phương án, trong đó có SKIP (Simple Key Internet Protocol), và Photuis, IETF
đã quyết định chọn IKE (Internet Key Exchange) là chuẩn để cấu hình SA cho IPSec.

Một đường ngầm IPSec IP-VPN được thiết lập giữa hai bên qua các bước như sau:

Bước 1: Thương lượng chế độ chính (Main Mode) hoặc chế độ tấn công (Aggressive
Mode) sử dụng IKE cho kết quả là tạo ra liên kết an ninh IKE (IKE SA) giữa các bên
IPSec.

Bước 2: Thương lượng chế độ nhanh (Quick Mode)sử dụng IKE cho kết quả là tạo ra 2
IPSec SA giữa hai bên IPSec.

Trang 46
IKE có tất cả 2 pha. Pha thứ nhất sử dụng chế độ chính hoặc chế độ tấn công để trao
đổi giữa các bên, và pha thứ hai được hoàn thành nhờ sử dụng trao đổi chế độ nhanh.

Hình 3-24:Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE

Sau đây chúng ta sẽ đi xem xét cụ thể các bước và mục đích của các pha IKE.

4.3.1.3 Bước thứ nhất


Bước thư nhất này chính là IKE pha thứ nhất. Mục đích của IKE pha thứ nhất:

- Đồng ý một tập các tham số được sử dụng để xác thực hai bên và mật mã một
phần chế độ chính và toàn bộ trao đổi thực hiện trong chế độ nhanh. Không có bản tin
nào ở chế độ tấn công được mật mã nếu chế độ tấn công được sử dụng để thương
lượng.
- Hai bên tham gia IP-VPN xác thực với nhau.
- Tạo khóa để sử dụng làm tác nhân sinh ra khóa mã hóa mã hóa dữ liệu ngay
sau khi thương lượng kết thúc.
Tất cả thông tin thương lượng trong chế độ chính hay chế độ tấn công, bao gồm khóa
sau đó sử dụng để tạo khóa cho quá trình mật mã dữ liệu, được lưu với tên gọi là IKE
SA hay ISAKMP SA (liên kết an ninh IKE hay ISAKMP). Bất kỳ bên nào trong hai
bên cũng chỉ có một ISAKMP liên kết an ninh giữa chúng.

Trang 47
Hình 3-25:IKE pha thứ nhất sử dụng chế độ chính (Main Mode)

Chế độ chính có trao đổi 6 bản tin (tức là có 3 trao đổi 2 chiều) giữa hai bên khởi tạo
và biên nhận:

- Trao đổi thứ nhất: Các thuật toán mật mã và xác thực (sử dụng để bảo vệ các
trao đổi IKE) sẽ được thỏa thuận giữa các đối tác.
- Trao đổi thứ hai: Sử dụng trao đổi Diffie-Hellman để tạo khóa bí mật chia sẻ
(shared secret keys), trao đổi các số ngẫu nhiên (nonces) để khẳng định nhận dạng của
mỗi đối tác. Khóa bí mật chia sẻ được sử dụng để tạo ra tất cả các khóa bí mật và xác
thực khác.
- Trao đổi thứ ba: xác minh nhận dạng các bên (xác thực đối tác). Kết quả chính
của chế độ chính là một đường truyền thông an toàn cho các trao đổi tiếp theo của hai
đối tác.
Chế độ nhanh thực hiện trao đổi 3 bản tin. Hầu hết các trao đổi đều được thực hiện
trong trao đổi thứ nhất: thỏa thuận các tập chính sách IKE, tạo khóa công cộng Diffie-
Hellman, và một gói nhận dạng có thể sử dụng để xác định nhận dạng thông qua một
bên thứ ba. Bên nhận gửi trở lại mọi thứ cần thiết để hoàn thành việc trao đổi. Cuối
cùng bên khởi tạo khẳng định việc trao đổi.

a) Các tập chính sách IKE


Khi thiết lập một kết nối IP-VPN an toàn giữa hai host A và host B thông qua Internet,
một đường ngầm an toàn được thiết lập giưa router A và router B. Thông qua đường
hầm, các giao thức mật mã, xác thực và các giao thức khác được thỏa thuận. Thay vì

Trang 48
phải thỏa thuận từng giao thức một, các giao thức được nhóm thành các tập và được
gọi là tập chính sách IKE (IKE policy set). Các tập chính sách IKE được trao đổi trong
IKE pha thứ nhất, trao đổi thứ nhất. Nếu một chính sách thống nhất được tìm thấy ở hai
phía thì trao đổi được tiếp tục. Nếu không tìm thấy chính sách thống nhất nào, đường
ngầm sẽ bị loại bỏ. Ví dụ Router A gửi các tập chính sách IKE policy 10 và IKE plicy
20 tới router B. Router B so sánh với tập chính sách của nó, IKE policy 15, với các tập
chính sách nhận được từ router A . Trong trường hợp này, một chính sách thống nhất
được tìm thấy: IKE policy 10 của router A và IKE policy 15 của router B là tương
đương. Trong ứng dụng điểm - tới - điểm, mỗi bên chỉ cần định nghĩa một tập chính
sách IKE. Tuy nhiên ở mạng trung tâm có thể phải định nghĩa nhiều chính sách IKE để
đáp ứng nhu cầu của tất cả các đối tác từ xa.

b) Trao đổi khóa Diffie-Hellman


Trao đổi khóa Diffie-Hellman là một phương pháp mật mã khóa công khai cho phép
hai bên thiết lập một khóa bí mật chung qua một môi trường truyền thông không an
toàn (xem chi tiết trong chương 4). Có 7 thuật toán hay nhóm Diffie-Hellman được
định nghĩa: DH 1÷7. Trong IKE pha thứ nhất, các bên phải thỏa thuận nhóm Diffie-
Hellman được sử dụng. Khi đã hoàn tất việc thỏa thuận nhóm, khóa bí mật chung sẽ
được tính.

c) Xác thực đối tác


Xác thực đối tác là kiểm tra xem ai đang ở phía bên kia của đường ngâm VPN. Các
thiết bị ở hai đầu đường ngầm IP-VPN phải được xác thực trước khi đường truyền
thông được coi là an toàn. Trao đổi cuối cùng của IKE pha thứ nhất có mục đích như
xác thực đối tác.

Có hai phương thức xác thực nguồn gốc dữ liệu chủ yếu là đối tác: Khóa chia sẻ trước
(Pre-shared keys) và chữ ký số (RSA signatures). Chi tiết về các thuật toán xác thực
được đề cập trong chương 4.

4.3.1.4 Bước thứ hai


Bước thứ hai này chính là IKE pha 2. Mục đích của IKE pha 2 là để thỏa thuận các
thông số an ninh IPSec sử dụng để bảo vệ đường ngầm IPSec. Chỉ có một chế độ
nhanh được sử dụng cho IKE pha 2. IKE pha 2 thực hiện các chức năng sau:

Trang 49
- Thỏa thuận các thông số anh ninh IPSec (IPSec Security parameters), các tập
chuyển đổi IPSec (IPSec transform sets).
- Thiết lập các kết hợp an ninh IPSec (IPSec Security Associations).
- Định kỳ thỏa thuận lại IPSec SA để đảm bảo tính an toàn của đường ngầm
- Thực hiện một trao đổi Diffie-Hellman bổ sung (khi đó các SA và các khóa
mới được tạo ra, làm tăng tính an toàn cho đường ngầm).
Chế độ nhanh cũng được sử dụng để thỏa thuận lại một kết hợp an ninh mới khi kết
hợp an ninh cũ đã hết hạn. Khi đó các bên có thể không cần quay trở lại bước thứ 2 nữa
mà vẫn đảm bảo thiết lập một SA cho phiên truyền thông mới.

a) Các tập chuyển đổi IPSec

Hình 3-26:Các tập chuyển đổi IPSec

Mục đích cuối cùng của IKE pha 2 là thiết lập một phiên IPSec an toàn giữa hai điểm
cuối VPN. Trước khi thực hiện được điều đó, mỗi cặp điểm cuối lần lượt thỏa thuận
mức độ an toàn cần thiết (ví dụ các thuật toán xác thực và mật mã dùng trong phiên
đó). Thay vì phải thỏa thuận riêng từng giao thức đơn lẻ, các giao thức được nhóm
thành các tập, chính là các tập chuyển đổi IPSec. Các tập chuyển đổi này được trao đổi
giữa hai phía trong chế độ nhanh. Nếu tìm thấy một tập chuyển đổi tương đương ở hai

Trang 50
phía thì quá trình thiết lập phiên tiếp tục, ngược lại thì phiên đó sẽ bị loại bỏ. Ví dụ
router A gửi tập chuyển đổi 30 và 40 tới router B, router B kiểm tra thấy tập chuyển
đổi 50 phù hợp với tập chuyển đổi 30 của router A, các thuật toán xác thực va mật mã
trong các tập chuyển đổi này hình thành một kết hợp an ninh.

b) Thiết lập kết hợp an ninh


Khi một tập chuyển đổi đã được thống nhất giữa hai bên, mỗi thiết bị IP-VPN sẽ đưa
thông tin này vào một cơ sở dữ liệu. Thông tin này được biết đên như là một kết hơp an
ninh. Thiết bị IP-VPN sau đó sẽ đanh số mỗi SA bằng một chỉ số SPI. Khi có yêu cầu
gửi gói tin giữa hai đầu VPN, các thiết bị sẽ dựa vào địa chỉ đối tác, các chỉ số SPI,
thuật toán IPSec được dùng để xử lý gói tin trước khi truyền trong đường ngầm. Chi
tiết về SA được trình bày trong phần 3.3.1.

c) Thời gian sống của một kêt hợp an ninh


Thời gian sống của một kết hợp an ninh càng lớn thì càng có nhiều khả năng mất an
toàn. Để đảm an toàn cho phiên truyền thông thì các khóa và các SA phải được thay
đổi thường xuyên. Có hai cách tính thời gian sống của SA: tính theo số lượng dữ liệu
được truyền đi và tính theo giây. Các khóa và SA có hiệu lực cho đến khi hết thời gian
tồn tại của SA hoặc đến khi đường ngầm bị ngắt, khi đó SA bị xóa bỏ.

4.4 Những giao thức đang được ứng dụng cho xử lý IPSec
IPSec sử dụng nhiều giao thức đang tồn tại để mật mã, xác thực, trao đổi khóa. Điều
này giống như duy trì IPSec trở thành tiêu chuẩn ứng dụng cơ bản, làm cho nó có khả
năng trở thành phổ biến trong thông tin IP. Một vài giao thức tiêu chuẩn được trình bày
sau đây:

1.1.18.Mật mã bản tin


Có thể mật mã bản tin khi sử dụng giao thức ESP IPSec, bản tin mật mã cho phép bạn
gửi thông tin nhạy cảm cao qua mạng công cộng mà không sợ bị xâm phạm dữ liệu. Có
2 tiêu chuẩn cơ bản để mật mã dữ liệu hiện nay đang được dùng phổ biến là DES (Data
Encryption Standard: tiêu chuẩn mật mã dữ liệu) và tiêu chuẩn phát triển thêm là 3DES
(Triple DES: tiêu chuẩn mật mã dữ liệu gấp ba).

4.4.1.1 Tiêu chuẩn mật mã dữ liệu DES


DES là phương pháp mật mã dữ liệu tiêu chuẩn cho một số phát triển VPN. DES áp
dụng một khóa 56 bit cho 64 bit dữ liệu. DES có thể cung cấp tới 72*105 khóa đóng gói
dữ liệu. DES được IBM phát triển IBM vào năm 1977 và được U.S Department of
Defense (cục phòng thủ Mỹ) chọn, DES đã là một trong những kỹ thuật mật mã mạnh.
Nó được xem như là không thể bẻ gãy tại thời điểm đó, nhưng khi máy tính tốc độ cao

Trang 51
hơn đã bẻ gãy DES trong khoảng thời gian ngắn (ít hơn một ngày), vì vậy DES không
được sử dụng lâu dài cho những ứng dụng bảo mật cao.

Kỹ thuật DES-CBC là một trong rất nhiều phương pháp của DES. CBC (Cipher Block
Chaining: chế độ chuỗi khối mật mã) yêu cầu một vectơ khởi tạo IV (Initialization
Vector) để bắt đầu mật mã. IPSec đảm bảo cả hai phía IP-VPN cùng có một IV hay
một khóa bí mật chia sẻ. Khóa bí mật chia sẻ được đặt vào thuật toán mật mã DES để
mật mã những khối 64 bit do văn bản rõ (clear text) chia ra. Văn bản rõ được chuyển
đổi thành dạng mật mã và được đưa tới ESP để truyền qua bên đợi, khi xử lý ngược lại
sử dụng khóa bí mật chia sẻ để tạo lại văn bản rõ.

4.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES


Một phiên bản của DES là 3DES, có tên như vậy vì nó thực hiện 3 quá trình mật mã.
Nó sử dụng một quá trình đóng gói, một quá trình mở gói và một quá trình đóng gói
khác cùng với khóa 56 bit khác nhau. Ba quá trình này tạo ra một tổ hợp khóa 168 bit,
cung cấp đóng gói mạnh.

1.1.19.Toàn vẹn bản tin


Toàn vẹn bản tin được thực hiện nhờ sử dụng một hàm băm toán học để tính toán đặc
trưng của bản tin hay của file dữ liệu. Đặc trưng này được gọi là tóm tắt bản tin MD
(Message Digest) và độ dài phụ thuộc vào hàm băm được sử dụng. Tất cả hoặc một
phần của tóm tắt bản tin được truyền với dữ liệu tới host đích, nơi mà sẽ thực hiện cùng
hàm băm để tái tạo tóm tắt bản tin này. Tóm tắt bản tin nguồn và đích sẽ được đối
chiếu. Bất cứ sai lệch nào đều có nghĩa là bản tin đã biến đổi kể từ khi bản tin nguồn
được thiết lập. Sự tương xứng với nhau có nghĩa là chắc chắn dữ liệu không bị biến đổi
trong quá trình truyền.

Khi sử dụng giao thức IPSec, bản tin tóm tắt được thiết lập nhờ sử dụng trường không
biến đổi từ gói tin IP và trường biến đổi được thay thế bằng giá trị 0 hoặc giá trị có thể
dự đoán được. Tính toán MD và sau đó là đặt nó vào trường dữ liệu xác thực (ICV) của
AH. Thiết bị đích sau đó copy MD từ AH và tách trường dữ liệu xác thực trước khi
tính toán lại MD.

Với giao thức IPSec ESP, việc xử lý cũng tương tự, tóm tắt bản tin được tạo nhờ sử
dụng dữ liệu không biến đổi trong gói tin IP bắt đầu từ ESP header và kết thúc là ESP
trailer. MD tính toán được sau đó đặt vào trường ICV tại cuối của gói tin. Với ESP,
host đích không cần tách trường ICV bởi vì nó đặt bên ngoài phạm vi hàm băm
thông thường.

Có 2 thuật toán chính để hỗ trợ toàn vẹn bản tin, đó là MD5 và SHA-1 (Secure Hash
Algorithm-1: thuật toán băm an toàn-1), chúng sử dụng chơ chế khóa băm gọi là

Trang 52
HMAC (Hashed-keyed Message Authenticaiton Code: mã xác thực bản tin băm). Sau
đây là tổng quan ba công cụ cho toàn vẹn bản tin này.

4.4.1.3 Mã xác thực bản tin băm HMAC


RFC 2104 trình bày về thuật toán HMAC, bởi vì nó được phát triển để làm việc cùng
với thuật toán băm đang tồn tại là MD5 và SHA-1. Nhiều quá trình xử lý an ninh phức
tạp trong chia sẻ dữ liệu yêu cầu sử dụng khóa bí mật và một cơ chế được gọi là mã
xác thực bản tin (MAC: Message Authentication Code). Một bên tạo MAC sử dụng
khóa bí mật và truyền MAC tới bên kia. Bên kia tạo lại MAC sử dụng cùng một khóa
bí mật và so sánh 2 giá trị MAC.

MD5 và SHA-1 có khái niệm tương tự nhau, nhưng chúng sử dụng khóa bí mật khác
nhau. Điều này chính là yêu cầu có HMAC. HMAC được phát triển thêm vào một khóa
bí mật cho tiêu chuẩn thuật toán băm tính toán tóm tắt bản tin. Khóa bí mật được thêm
vào theo thể thức cùng độ dài nhưng kết quả tóm tắt bản tin khác nhau khi sử dụng
thuật toán khác nhau.

4.4.1.4 Thuật toán MD5


Thuật toán tóm tắt bản tin MD5 thực hiện tóm tắt bất kì bản tin hay trường dữ liệu nào
cũng miêu tả cô đọng lại còn 128 bít. Với HMAC-MD5-96, khóa bí mật có độ dài là
128 bít. Với AH và ESP, HMAC chỉ sử dụng có 96 bit nằm bên trái, đặt chúng vào
trường xác thực. Bên đích sau đó tính toán lại 128 bit tóm tắt bản tin nhưng chỉ sử dụng
96 bit nằm bên trái để so sánh với giá trị được lưu trong trường xác thực.

MD5 tạo ra một tóm tắt bản tin ngắn hơn SHA-1 và được xem như là ít an toàn hơn
nhưng kết quả lại được thực hiện tốt hơn. MD5 không có HMAC được biết như là yếu
hơn cho những lựa chọn dịch vụ chất lượng bảo mật cao.

4.4.1.5 Thuật toán băm an toàn SHA


Thuật toán băm an toàn được diễn tả trong RFC 2404. SHA-1 tạo ra một tóm tắt bản
tin dài 160 bit, và sử dụng khóa bí mật 160 bit. Có thể với một vài sản phẩm thì nó sẽ
lấy 96 bít bên trái của tóm tắt bản tin để gửi vào trường xác thực. Bên thu tạo lại tóm
tắt bản tin 160 bit sử dụng khóa bí mật dài 160 bit và chỉ so sánh 96 bit với tóm tắt bản
tin trong khung của trường xác thực.

Tóm tắt bản tin SHA-1 dài 160 bit an toàn hơn so với MD5 dài 128 bit. Điều này được
xem như là quá an toàn nhưng nếu như bạn cần một an toàn cao cho toàn vẹn bản tin
thì có thể chọn thuật toán HMAC-SHA-1.

1.1.20.Xác thực các bên


Một trong những xử lý IKE là thực hiện xác thực các bên. Quá trình này diễn ra trong
pha thứ nhất sử dụng thuật toán khóa băm cùng với một trong 3 loại khóa sau:

Trang 53
- Khóa chia sẻ trước
- Chữ ký số RSA
- RSA mật mã nonces
Đây là ba loại khóa và chúng kết hợp với xử lý xác thực như phác thảo sau

4.4.1.6 Khóa chia sẻ trước


Xử lý khóa chia sẻ trước là thủ công. Người quản lý tại một đầu cuối của IPSec IP-
VPN đồng ý về khóa được sử dụng và sau đó đặt khóa vào thiết bị là host hoặc
gateway một cách thủ công. Phương pháp này đơn giản, nhưng không được ứng dụng
rộng rãi.

4.4.1.7 Chữ ký số RSA


Một giấy chứng nhận của người có quyền chứng nhận (Certificate Authority: CA) cung
cấp chữ ký số RSA vào lúc đăng ký với CA. Chữ ký số cho phép an ninh hơn là khóa
chia sẻ. Một khi cấu hình ban đầu đã được hoàn thành, các bên sử dụng chữ ký số RSA
có thể xác thực đối phương không cần can thiệp của người điều hành.

Khi một chữ ký số RSA được yêu cầu, một cặp khóa công cộng và khóa riêng được
sinh ra. Host sử dụng khóa riêng tạo ra một chữ ký số. Host này sẽ gửi chữ ký số của
nó tới bên kia IPSec. Bên sử dụng khóa công cộng từ chữ ký số để phê chuẩn chữ ký số
nhận được từ bên kia.

4.4.1.8 RSA mật mã nonces


Một cách phát triển của chữ ký số là xử lý RSA trong lúc mật mã để xác thực các bên.
Một nonce là một số giả ngẫu nhiên. Xử lí này yêu cầu đăng ký với một CA để thu
được một chữ ký số RSA. Các bên không chia sẻ khóa công cộng ở dạng xác thực này.
Chúng không trao đổi các chữ ký số. Việc xử lí một khóa chia sẻ là thủ công và phải
thực hiện trong suốt quá trình thiết lập ban đầu. RSA mật mã nonce cho phép từ chối
truyền thông khi mà một bên từ chối hợp lý.

1.1.21.Quản lí khóa
Quản lí khóa có thể là một vấn đề lớn khi làm việc cùng với IPSec VPN. Nó giống như
che dấu các khóa ở mọi nơi. Trong thực tế, chỉ có 5 khóa cố định cho mọi bên IPSec
quan hệ với nhau.

- 2 khóa riêng được làm chủ bởi mỗi bên và không bao giờ chia sẻ. Chúng được
sử dụng để mật hiệu bản tin.
- 2 khóa công cộng được làm chủ bởi mỗi bên và chia sẻ cho mọi người. Những
khóa này được sử dụng để kiểm tra chữ ký.

Trang 54
- Khóa thứ 5 được sử dụng là khóa bảo mật chia sẻ. Cả hai bên sử dụng khóa
này cho mật mã và hàm băm. Đây là khóa được tạo ra bởi thuật toán Diffie-Hellman,
sẽ được diễn tả sau đây.
Điều này không giống như là nhiều khóa. Nhưng trong thực tế, khóa riêng và khóa
công cộng được sử dụng cho nhiều kết nối IPSec cho một bên đưa ra. Một tổ chức nhỏ,
những khóa này có thể toàn bộ được quản lý thủ công. Vấn đề xuất hiện khi cố
gắngphân chia xử lí hỗ trợ cho hàng trăm hoặc hàng ngàn phiên VPN. Phần tiếp theo
trình bày về giao thức Diffie-Hellman và xác thực số, đây là hai trong số những giải
pháp hoàn hảo để quản lí tự động vấn đề nan giải này.

4.4.1.9 Giao thức Diffie-Hellman


Diffie-Hellman là giao thức đồng ý khóa cho phép 2 bên trao đổi một khóa bí mật
không cần bất kì ưu tiên bí mật nào. Giao thức này là một ví dụ về xử lí trao đổi khóa
đối xứng, trong đó các bên trao đổi khóa công cộng khác nhau để sinh ra khóa riêng
giống nhau.

Giao thức Diffie-Hellman được sử dụng trong IPSec VPN, nhưng bạn rất khó để tìm ra
nó. Nó được sử dụng trong xử lí thiết lập kênh an toàn giữa các bên IPSec. Dấu hiệu
của nó như sau:

- IPSec sử dụng giao thức liên kết an ninh Internet và quản lí khóa
(Internet Security Association and Key Management Protocol: ISAKMP) để cung cấp
một khung cho xác thực và trao đổi khóa.
- ISAKMP sử dụng giao thức IKE để thương lượng an toàn và
cung cấp nguyên liệu tạo khóa cho liên kết an ninh.
- IKE sử dụng một giao thức được gọi là OAKLEY, nó sẽ đưa ra
một loạt các trao đổi khóa và chi tiết dịch vụ được cung cấp cho mỗi trao đổi.
- OAKLEY sử dụng Diffie-Hellman để thiết lập một khóa bí mật
chia sẻ giữa các bên.
Xử lý mật mã khóa đối xứng sau đó sử dụng khóa bí mật chia sẻ cho mật mã và xác
thực kết nối. Các bên sử dụng giao thức mật mã khóa đối xứng phải chia sẻ với nhau
cùng một khóa bí mật. Diffie-Hellman cung cấp một giải pháp để cung cấp mỗi bên
một khóa bí mật chia sẻ không cần giữ dấu vết các khóa sử dụng.

Xử lí mật mã khóa đối xứng quá chậm cho yêu cầu mật mã khối lượng lớn trong kênh
IP-VPN tốc độ cao. Các bên IPSec sử dụng giao thức Diffie-Helman để thương lượng
khóa bí mật chia sử dụng cho AH hoặc ESP để tạo dữ liệu xác thực hay mật mã gói tin
IP. Bên thu sử dụng khóa đó để xác thực gói tin và giải mã phần tải tin. Chi tiết về các
bước của thuật toán Diffie-Helman được trình bày trong chương 4.

Trang 55
4.4.1.10Quyền chứng nhận CA
Một phương pháp khác để nắm giữ khóa mà không nắm giữ nhiều công việc hỗ trợ
quản lí là sử dụng CA (Certificate Authorities) như là một thực thể tin cậy để đưa ra và
thu hồi chứng nhận số và cho việc cung cấp một ý nghĩa giúp kiểm tra về xác thực
những chứng thực. CA thường có 3 phần tác nhân như VeriSign hoặc Entrust, nhưng
để tiết kiệm, bạn có thể thiết lập thiết lập CA cho riêng mình trên cơ sở sử dụng dịch
vụ giấy chứng nhận Windows 2000.

Dưới đây trình bày quá trình làm việc của CA:

1) Một client muốn sử dụng chứng thực số tạo ra một cặp khóa, một khóa công cộng và
một khóa riêng. Tiếp theo, chient chuẩn bị chứng nhận không đánh dấu (X.509) nó
chứa, giữ nhiều thứ: ID nhận dạng client và khóa công cộng mà nó vừa tạo thành.
Chứng nhận không đánh dấu này sau đó được gửi tới phía CA nhờ sử dụng một vài
phương pháp an toàn.

2) Phía CA tính toán mã băm của chứng nhận không đánh dấu. Sau đó CA giữ mã băm
và đóng gói nó sử dụng khóa công khai của CA. Hàm mật mã băm này là một chữ ký
số, và CA tấn công vào nó để chứng nhận và quay lại đánh dấu chứng nhận client.
Chứng nhận này được gọi là nhận dạng chứng nhận và được lưu trong thiết bị client
cho đến khi nó kết thúc hoặc bị xóa. CA cũng gửi cho client chứng nhận số của nó, các
mà trở thành chứng nhận gốc cho client.

3) Bây giờ client có một chứng nhận số đánh dấu mà nó có thể gửi tới bất kì bên thành
viên nào. Nếu bên thành viên muốn xác thực chứng nhận, nó giải mã chứng nhận nhờ
sử dụng khóa công khai.

Chú ý quan trọng là với mỗi client thì CA chỉ gửi một chứng nhận của client đó. Nếu
client muốn thiết lập IPSec IP-VPN với một client khác, nó trao đổi chứng nhận số với
client kia nhờ sử dụng khóa công khai chia sẻ.

Khi một client muốn mật mã dữ liệu để gửi tới một bên, nó sử dụng khóa công khai của
bên đó lấy từ chứng nhận số. Bên này sau đó giải mã gói tin với khóa công cộng.

Một chức năng khác của CA là sinh ra một loạt các chứng nhận theo chu kì mà nó đã
hết hiệu lực hoặc đã mất giá trị. CA tạo ra danh sách chứng nhận bị hũy bỏ (Certificate
Revocation Lists: CRL) của những khách hàng của nó. Khi một client nhận một chứng
nhận số, nó kiểm tra CRL để tìm nếu như chứng nhận vẫn còn giá trị.

Trang 56
4.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec
Để tóm tắt toàn bộ quá trình hoạt động của IPSec, ta đưa ra một ví dụ về kết nối IP-
VPN như hình 3-14.

Chú ý rằng trước khi thiết lập kết nối IPSec, cần phải chắc chắn rằng các thiết bị đang
sử dụng dọc theo đường dẫn của IP-VPN đảm bảo: có hỗ trợ IPSec (bao gồm các giao
thức, thuật toán), không có kết nối IPSec nào trước đó hoặc nếu có thì các tham số
trong SA đang tồn tại không xung đột với các tham số chuẩn bị thiết lập, có thể thực
hiện lệnh “ping” để chắc chắn về kết nối đã sẵn sàng.

Hình 3-27:Ví dụ về hoạt động của IP-VPN sử dụng IPSec

Trong ví dụ này, user muốn truyền thông an toàn với mạng trụ sở chính. Khi gói dữ
liệu tới router user (router này đóng vai trò là một cổng an ninh), router này sẽ kiểm tra
chính sách an ninh và nhận ra gói dữ liệu cần truyền thông này là một ứng dụng của IP-
VPN, cần được bảo vệ. Chính sách an ninh cấu hình trước cũng cho biết router mạng
trụ sở chính sẽ là phía bên kia của đường ngầm IPSec, chính là trạm trụ sở chính của
IP-VPN.

Router user kiểm tra xem đã có IPSec SA nào được thiết lập cho phiên truyền thông
này hay chưa. Nếu hoàn toàn không có một IPSec SA nào thì bắt đầu quá trình thương
lượng IKE. Certificate Authority có chức năng giúp trụ sở chính xác thực người sử
dụng có được phép thực hiện phiên thông tin này hay không, chứng thực này là chữ ký

Trang 57
số và được ký bởi một đối tác có quyền ký mà hai bên đều tin tưởng. Ngay sau khi hai
router đã thỏa thuận được một IKE SA thì IPSec SA tức thời được tạo ra. Nếu hai bên
không thỏa thuận được một IKE SA nào thì nó tiếp tục quá trình thỏa thuận hoặc
ngừng kết nối phiên thông tin.

Việc tạo ra các IPSec SA chính là quá trình thỏa thuận giữa các bên về các chính sách
an ninh, thuật toán mã hóa được sử dụng (chẳng hạn là DES), thuật toán xác thực
(chẳng hạn MD5), và một khóa chia sẻ. Dữ liệu về SA được lưu trong cơ sở dữ liệu
cho mỗi bên.

Tới đây, router người sử dụng sẽ đóng gói dữ liệu theo các yêu cầu đã thương lượng
trong IPSec SA (thuật toán mật mã, xác thực, giao thức đóng gói là AH hay ESP…),
thêm các thông tin thích hợp để đưa gói tin được mã hóa này về dạng IP datagram ban
đầu và chuyển tới router mạng trung tâm. Khi nhận được gói tin từ router user gửi đến,
router mạng trung tâm tìm kiếm IPSec SA, xử lý gói theo yêu cầu, đưa về dạng gói tin
ban đầu và chuyển nó tới mạng trung tâm.

4.6 Tổng kết


Chương này trình bày chi tiết về giao thức IPSec và ứng dụng của nó đối với công
nghệ IP-VPN. IPSec là một chuẩn mở, nó không định nghĩa các giải pháp cụ thể mà nó
chỉ đưa ra các chuẩn. Giao thức IPSec gồm có 2 giao thức là AH và ESP, hoạt động
khác nhau cung cấp khả năng đảm bảo tính toàn vẹn, bí mật, an toàn cho dữ liệu.

Liên kết an ninh SA có chứa tập các chính sách, tham số, thuật toán, giao thức cho quá
trình đóng gói dữ liệu giữa các bên tham gia vào IPSec. Tại mỗi đầu đường ngầm
IPSec, SA được sử dụng để xác đinh loại lưu lượng cần được xử lý IPSec, giao thức
IPSec được sử dụng (AH hay ESP), thuật toán và khóa được sử dụng cho quá trình mật
mã và xác thực.

Bên cạnh đó, giao thức IKE là một giao thức quan trọng để thảo thuận xác thực các bên
tham gia, thiết lập các tham số, chính sách của liên kết an ninh trong quá trình thiết lập.
Nhiệm vụ của giao thức IKE chính là thương lượng giữa các bên trong quá trình thiết
lập hoặc thương lượng lại khi cần thiết để tạo ra một liên kết an ninh SA.

Bảng 3-2 đưa ra tóm tắt về 3 giao thức trong chương 3.

Bảng 3-2: Tổng kết chương các giao thức của IPSec

Trang 58
Giao thức Dịch vụ Thuật toán/ phương thức

AH Toàn vẹn dữ liệu MD5, SHA1

ESP Bảo mật, toàn vẹn dữ liệu DES, 3DES, AES, MD5,
SHA1
IKE Xác thực đối tác, thiết lập các Khóa chia sẻ trước, RSA,
tham số Diffie-Hellman, CA

Trang 59
Chương 5 GIẢI PHÁP THỰC HIỆN THIẾT BỊ IPSEC VPN

5.1 Phân tích và lựa chọn giải pháp thực hiện.


1.1.22.Kiến trúc tích hợp IPSec.
Để tiến hành tích hợp giao thức IPSec trên thiết bị thực có hai cách để thực hiện: Bump
in the Stack (BITS) and Bump in the Wire (BITW).

5.1.1.1 Cấu trúc Bump in the Stack (BITS).


Trong kỹ thuật Bump in the Stack (BITS), IPSec được tiến hành như một lớp kiến trúc
riêng biệt giữa lớp IP và các lớp liên kết dữ liệu (data link). Như được trình bày trong
Hình 4-1,gói IP trước khi truyền dữ liệu xuống lớp liên kết dữ liệu phải qua lớp IPSec
nhằm cung cấp dịch vụ bảo mật thích hợp.

Hình 4-28:Cấu trúc IPsec bump in the stack (BITS)

Trang 60
Trong mô hình tích hợp IPSec này, IPSec trở thành một lớp riêng biệt trong mô hình
TCP/IP. IPSec được thực thi như một phần mềm nằm phía gới lớp IP và thêm tính
năng bảo vệ an ninh cho gói tin được tạo bởi lớp IP.

Ưu điểm của kỹ thuật này là IPsec có thể được trang bị thêm cho bất kỳ thiết bị IP nào
vì các chức năng IPSec là tách biệt đối với IP. Tuy nhiên, nhược điểm của phương
pháp này là chỉ có thể áp dụng trong giao tiếp unicast. Việc giao tiếp multicast cần
những cơ chế khác.

5.1.1.2 Cấu trúc Bump in the Wire (BITW)


Trong cấu trúc Bump in the Wire (BITW) , một thiết bị phần cứng cung cấp dịch vụ
IPsec được thêm vào. Ví dụ, giả sử một công ty sử dụng hai mạng khác nhau. Mỗi
thành viên có một mạng lưới kết nối với Internet bằng cách sử dụng một router mà
không có chức năng IPsec. Khi đó, một thiết bị IPsec được thêm vào giữa các router và
Internet ở cả hai nơi, như thể hiện trong Hình 4-2. Những thiết bị này sẽ nhận tất cả gói
tin đến nó, tiến hành xử lý IPSec và chuyển nó ra ngoài hoặc đi vào mạng nội bộ.

Hình 4-29:Cấu trúc IPsec bump in the wire (BITW)

Trong kiến trúc IPsec này, IPsec được thực sự thực hiện trong các thiết bị riêng biệt
nằm giữa các thiết bị có nhu cầu giao tiếp an toàn. Những gói tin IP được đóng gói lại
với mã hóa IPSec trước khi truyền ra mạng Internet và được giải mã tại đầu bên kia
trước khi chuyển tiếp vào mạng nội bộ.

BITW thích hợp để trang bị cho các hệ thống mạng mà việc nâng cấp hệ thống bảo mật
IPSec chiếm chi phí lớn và tốn thời gian (ví dụ như phải thay đổi toàn bộ các router
thông thường thành router VPN trong một hệ thống mạng lớn).

Trang 61
Mô hình BITS đặt ra vấn đề cho một số ứng dụng máy chủ không nhận biết được giao
thức IPSec nhưng vẫn cần phải giao tiếp sử dụng giao thức IPSec. Kỹ thuật này yêu
cầu sự phát triển của các phần mềm mạng mới nhằm phù hợp với hệ điều hành của
máy chủ. Điều này là không mang lại hiệu quả kinh tế, đặc biệt là đối với các hệ điều
hành cũ không hỗ trợ mã hóa IPSec. Việc ứng dụng kỹ thuật IPSec BITW có thể hỗ trợ
bất cứ hệ điều hành cũng như ứng dụng trước đó. Khi muốn cập nhật thuật toán cũng
như quá trình trao đổi key, quá trình cập nhật chỉ cần tiến hành trên thiết bị IPSec.

1.1.23.Mô hình tiến hành kiểm tra khả năng bảo mật trên thiết bị thực.
Khả năng bảo mật của thiết bị

 Có khả năng chống lại sniffer: Sau khi gói tin đi vào thiết bị nhúng IPSec, gói
tin yêu cần cần bảo vệ sẽ được mã hóa ESP. Quá trình giải mã chỉ có thể được
thực hiện ở bên thu nơi có key bí mật có được thông qua quá trình trao đổi IKE
trước đó.

 Khả năng chống lại sửa đổi dữ liệu: Khi một gói tin đi vào thiết bị IPSec, nó
được mã hóa ESP. Khi chức năng xác thực được cho phép, IPSec sẽ tính lại ICV
sử dụng key xác thực bí mật. Giá trị tính lại này được so sánh với giá trị trong
gói tin nhận được. Nếu tấn công sửa đổi dữ liệu xảy ra, hai giá trị này sẽ không
khớp với nhau do đó gói tin bị loại bỏ.

 Khả năng chống tấn công giả mạo danh tính: Sau khi tiến hành giải mã gói tin.
Trường hợp gói tin được yêu cầu xác thực, bên nhận sẽ tính lại ICV bằng cách
sử dụng key bí mật. Việc so sánh giá trị tính toán này với giá trị ICV trong gói
tin sẽ cho biết gói tin có bị giả mạo danh tính hay không.

 Chống lại tấn công Man-in-the Middle: Dùng xác thức nguồn gốc dữ liệu bằng
thuật toán chữ ký số được ký với khóa chia sẻ trước. Với khóa chia sẻ trước
được bảo mật thì Man-in-the Middle sẽ không thể giả gói tin xác thực. Bằng
phương pháp này sẽ loại bỏ khả năng tấn cồng Man –in –the Middle.

 Chống tấn công từ chối dịch vụ: Trong trao đổi IKE,hai bên thiết bị sự dụng
cookie một cách ngẫu nhiên, dùng 1 lần duy nhất. Trong quá trình mã hóa
IPSec, sequence number được sử dụng trong việc xác thực dữ liệu. Bên thu tiến
hành kiểm tra sequence number nếu trùng sequence number với gói đã được
nhận trước đó, gói tin sẽ bị loại bỏ.

Trang 62
Mô hình áp dụng

• Mô hình thực hiện: Bump in the Wire (BITW)

• Bảo mật đa điểm

• Kiểu mã hóa IPSec: Tunnel.

• Thuật toán bảo mật: ESP

• Mã hóa: 3DES,DES.

• Xác thực: HMAC-MD5, HMAC-SHA1

Sau đây là mô hình áp dụng của thiết bị

Hình 4-30:Mô hình áp dụng hoạt động thiết bị

Thiết bị trong đề tài có khả năng thực hiện tối đa 10 kết nối bảo mật IPSec 2 chiều. Số
lượng thiết bị tối đa có khả năng kết nối bảo mật IPSec có thể được thay đổi nhờ thay
đổi thông số IPSEC_MAX_SPD_ENTRIES trong file sa.h.

Trong trường hợp VPN multi-site, khi bắt đầu diễn ra quá trình IKE, tập chính sách sẽ
được hai bên trao đổi trước, nếu hai bên tìm thấy tập chính sách giống nhau quá trình
trao đổi key sẽ được tiến hành. Trường hợp tập chính sách hai bên không thống
nhất(không có thông tin về tập chính sách ở một trong hai bên hoặc tập chính sách

Trang 63
không giống nhau) quá trình trao đổi key sẽ bị hủy bỏ, thiết bị IPSec tiếp tục xử lý gói
tin đến khác. Quá trình này được thực hiện trong pha 1 của IKE: 2 gói tin đầu tiên của
quá trình IKE sẽ thỏa thuận chính sách tương ứng của 2 bên.5

5.2 Giải pháp thực hiện


1.1.24.Mô hình xư lý IPSec tổng quát
Hình sau mô tả tổng quát cách hoạt động của thiết bị IPSec:

Hình 4-31:Quá trình xử lý IPSec tổng quát từ thiết bị IPSec 1 tới thiết bị IPSec 2.

Để minh họa cho quá trình xử lý này giả sử Alice sử dụng một ứng dụng dữ liệu trên
máy tính A1, gửi một gói tin IP cho Bob trên máy tính B1. Trên thiết bị IPSec đã cấu
hình tiến hành bảo mật gói tin IPSec từ A1 đến B1. Thông tin này được cập nhật vào
bảng SPD outbound ở thiết bị IPSec 1 và SPD outbound ở thiết bị IPSec 2.

1. Khi gói tin IP từ máy tính A1 đến thiết bị IPSec 1, nó sẽ kiểm tra địa chỉ đích và
nguồn trong danh sách SPD và phát hiện gói tin cần được bảo vệ IPSec, gói tin
này được đưa vào hàng chờ. Sau khi quá trình trao đổi key kết thúc gói tin sẽ
được tiến hành xử lý mã hóa IPSec.

2. Do đường ngầm IPSec giữa hai bên chưa tồn tại, quá trình trao đổi IKE được
thông bảo bắt đầu tiến hành. Tất cả các gói tin đến thiết bị IPSec 1 trong thời
gian trao đổi IKE đều được lưu trong hàng chờ.

3. Thiết bị IPSec 1 sử dụng địa chỉ IP của máy tính A1 như là nguồn và địa chỉ IP
của máy tính B1 là điểm đến. Máy tính A sẽ gửi tin nhắn IKE đầu tiên trong chế
độ chính, sử dụng UDP cổng nguồn 500 , cổng đích 500 .

5
Tham khảo thêm trong phần 4.2.3.2. Thực hiện giao thức trao đ ổi khóa IKE

Trang 64
4. Thiết bị IPSec 2 nhận được một tin nhắn IKE chế độ chính yêu cầu đàm phán an
toàn . Nó sử dụng địa chỉ IP nguồn và địa chỉ IP đích của gói tin UDP để thực
hiện một tra cứu chính sách trong bảng SPD inbound (inbound-gói tin đi vào
mạng được bảo vệ) nhằm xác định thiết lập bảo mật đồng ý . Khi thiết bị IPSec
2 có một tập tin chế độ chính sách phù hợp, thiết bắt đầu đàm phán chế độ
chính.

5. Thiết bị IPSec 1 và thiết bị IPSec 2 bây giờ tiến hành trao đổi nhằm xác thực,
khởi tạo key chính. Khi quá trinh đàm phán chế độ chính kết thúc, thiết bị IPSec
1 và thiết bị IPSec 2 hoàn toàn tin tưởng nhau, tiến hành trao đổi key chế độ
nhanh.

6. Trong chế độ nhanh, 2 thiết bị IPsec sẽ trao đổi các thông số như SPI, giao thức
IPsec, tính toán khóa xác thực, khóa mã hóa IPsec. Kết thúc quá trình trao đổi
key, thông tin bảo mật được cập nhật vào mục SA outbound (outbound- gói tin
đi ra khỏi mạng bảo vệ )của thiết bị IPSec 1 và mục SA outbound của thiết bị
IPSec 2. Đồng thời các thuộc tính khác của đường ngầm cũng được cập nhật
vào SA(ví dụ như lifetime).

7. Sau khi quá trình trao đổi key kết thúc, quá trình xử lý mã hóa gói tin IPSec diễn
ra:

 Thiết bị IPSec 1 sử dụng SA outbound để mã hóa các gói dữ liệu từ máy tính
A1 đến máy tính B1. Trước tiên là gói tin trong hàng chờ trước quá trình xử lý
IKE.

 Thiết bị IPSec 2 sử dụng SA inbound để tiến hành nhận dạng cũng như giải mã
các gói dữ liệu từ thiết bị IPSec 1 gửi đến.

8. Sau một khoảng thời gian lifetime được quy định trước, thông tin về SA sẽ bị
xóa. Khi đó nếu có một gói tin từ máy tính A gửi ra đến thiết bị IPSec có địa chỉ
nguồn là máy tính B, quá trình lại khởi tạo từ bước 1.

1.1.25.Chính sách bảo mật và sự liên kết cơ sở dữ liệu trong IPSec.


IP sec cần một cơ sở dữ liệu nhằm kiểm soát luồng gói tin IP vào và ra. Cơ sở dữ liệu
này được gọi là cơ sở dữ liệu chính sách bảo mật (Security Policy Database-SPD). Nó
mô tả một cách đơn giản luồng dữ liệu nào cần được xử lý IPSec, luồng nào không.

Cơ sở dữ liệu khác là cơ sở dữ liệu liên kết bảo mật (Security Association Database-
SAD) chứa dữ liệu về cấu hình kết nối cũng như định nghĩa bằng cách nào một luồng
dữ liệu được xử lý nếu chính sách trong bảng SPD được định nghĩa là APPLY.

Trang 65
SPD có thể được xem là cơ sở dữ liệu bền vững trong khi SAD là cơ sở dữ liệu tạm
thời cho mỗi kết nối.

Trong chương trình, tồn tại hai bảng SAD và hai bảng SPD có cấu trúc như sau:

Hình 4-32:Cấu trúc cơ sở dữ liệu trong chương trình

Trong đó, bảng SPD outbound lưu thông tin xử lý gói tin đi ra (từ mạng nội bộ ra mạng
Internet), bảng SPD inbound lưu thông tin xử lý gói tin đi vào(từ mạng Internet vào
mạng nội bộ).

Khi quá trình trao đổi IKE kết thúc, thông tin chi tiết về đường ngầm sẽ được cập nhật
trong bảng SAD outbound với gói tin đi ra và bản SAD inbound với gói tin đi vào.
Đồng thời, một liên kết giữa SA mới cập nhật thông tin với mục SPD có chứa địa chỉ
nguồn, địa chỉ đích của đường ngầm vừa tạo ra.

Tất cả dữ liệu được yêu cầu trong quá trình xử lý IPSec được lưu trong một cơ sở dữ
liệu chung nhất gọi là Database.

5.2.1.1 Thông tin trong bảng SPD


 Địa chỉ nguồn: Địa chỉ xuất phát của gói tin.

 Netmask nguồn

 Địa chỉ đích: Địa chỉ đích của gói tin.

 Netmask đích.

 Protocol: ESP, xác định giao thức sử dụng trong mã hóa IPSEC.

Trang 66
 Authentication: thuật toán xác thực được sử dụng. Nếu không tồn sử dụng thuật
toán xác thực Auth=0.

 Policy: DISCARD hoặc BYPASS hoặc APPLY , cách thức tiến hành xử lý gói
tin.

5.2.1.2 Thông tin trong bảng SAD


 Sequence number: được sử dụng để tạo trường Sequence number trong ESP
header.

 SPI: được sử dụng để phân biệt giữa các SA. Mỗi SA có một SPI riêng.

 Anti-replay window: được sử dụng để xác định gói ESP có bị lặp lại hay không.

 Enc_alg: Thuật toán mã hóa

 Enckey: key mã hóa

 Auth_alg: thuật toán xác thực. Nếu thuật toán xác thực không được sử dụng
Auth_alg=0.

 authkey: key xác thực.

 Lifetime: Một khoảng thời gian mà sau đó SA phải được thay thế bằng một SA
mới (vói SPI mới) .

 Protocol: ESP, được sử dụng như một chỉ số cho việc tìm kiếm SA trong cơ sở
dữ liệu.

5.2.1.3 Sự liên kết thông tin giữa các cơ sở dữ liệu SPD và SAD
IP sec cần thông tin trong bảng SPD và SAD nhằm xử lý gói tin một cách đúng và
chính xác nhất.

Nhằm đảm bảo mỗi gói tin được xử lý đúng cách, mỗi gói tin rời hoặc thâm nhập vào
hệ thống đề phải được kiểm tra thông tin trong bảng SPD. Quá trình kiểm tra này được
gọi là SPD lookup.

Quá trình kiểm tra này so sánh thông tin trong cơ sở dữ liệu với thông tin tương ứng
trong gói tin nhận được. Kết quả của quá trình SPD lookup này là trả về chính sách mà
gói tin đến được xử lý:

 BYPASS: gói tin này được chuyển tiếp một cách trược tiếp đến vào trong hay
ra ngoài hệ thống không với việc xử lý gói tin.

Trang 67
 DISCARD: gói tin bị loại bỏ.

 APPLY: Gói tin này được yêu cầu xử lý IPSec.

Nếu kết quả của SPD lookup là BYPASS , các gói tin chưa sửa đổi được chuyển tiếp
đến cổng mạng thích hợp vào trong hoặc ra ngoài hệ thống.

Chính sách DISCARD được áp dụng khi người sử dụng có ý định không xử lý gói tin
này . Trong trường hợp này, gói tin sẽ bị loại bỏ Điều này có nghĩa rằng gói tin sẽ bị
xóa thay vì chuyển tiếp đến cồng mạng khác. Chính sách này có thể sử dụng tính năng
này để xây dựng một bức tường lửa đơn giản.

Quá trình xử lý gói IPSec được áp dụng cho gói tin nếu kết quả SPD lookup là
APPLY. Bất cứ khi nào một gói tin phù hợp với một mục SPD có chính sách là
APPLY phải có một SA tương ứng mô tả chính xác cách thức các gói tin đã được xử
lý. Nếu mục SA này chưa có, quá trình trao đổi IKE được tiến hành nhằm tạo ra mục
SA nhằm thỏa thuận các thông số cần thiết cho quá trình xử lý gói tin. Các gói tin có
thể được xử lý chỉ sau khi các thông số được SA thỏa thuận thành công.

Một SPD lookup thành công cho ta một con trỏ đến mục SPD thông qua đó chúng ta có
thể truy cập vào SA sử dụng một con trỏ được lưu trữ trong cấu trúc SPD.

Hình 4-33:Ví dụ về sự liên kết thông tin giữa bảng SPD và bảng SAD

Giả sử máy tính A1,A2,A3,A4 gửi gói tin đén máy tính B1.Sau khi quá trình trao đổi
IKE diễn ra, thiết bị IPSec 1 có bảng SPD outbound như sau:
Encrytion
Source Netmask
Source address

Authentication
Destination

Destination
Netmask

Protocol
Address

Policy

SA

10.42.0. 255.255.255.25 10.42.1. 255.255.255.25 ESP 3DES HMAC- APPLY 0

Trang 68
1 5 1 5 MD5
10.42.0. 255.255.255.25 10.42.1. 255.255.255.25 DES HMAC-
ESP APPLY 1
2 5 1 5 MD5
10.42.0. 255.255.255.25 10.42.1. 255.255.255.25
0 0 BYPASS
3 5 1 5

Bảng 4-3:Ví dụ một bảng SPD outbound với con trỏ đến bảng SA outbound.

Thiết bị IPSec 2 có bảng SPD inbound như sau:

Encrytion
Source Netmask
Source address

Authentication
Destination

Destination
Netmask

Protocol
Address

Policy

SA
192.168. 255.255.255.25 10.42.1. 255.255.255.25 3DES HMAC-
ESP APPLY 0
1.3 5 3 5 MD5
10.42.0. 255.255.255.25 10.42.1. 255.255.255.25 3DES HMAC-
ESP APPLY 1
1 5 1 5 MD5
10.42.0. 255.255.255.25 10.42.1. 255.255.255.25 3DES HMAC-
ESP APPLY 2
2 5 1 5 MD5
10.42.0. 255.255.255.25 10.42.1. 255.255.255.25
0 0 BYPASS
3 5 1 5

Bảng 4-4:Ví dụ một bảng SPD inbound với con trỏ đến bảng SA inbound.

Cột SA trong bảng SPD biểu diễn con trỏ đến mục SA tương ứng trong bảng SAD.

Trong trường hợp này, khi gói tin từ máy tính A3 gửi đến B1 khi qua thiết bị IPSec gói
tin sẽ được chuyển tiếp(do thông tin nguồn và đích gói tin được tra trong bảng SPD chỉ
ra chính sách trong tương ứng là BYPASS). Khi gói tin qua mạn Internet đến thiết bị
IPSec 2 gói tin tiếp tục được tra thông tin trong bản SPD inbound thấy chính sách là
BYPASS, gói tin được chuyển tiếp qua R2 đến máy tính B1.

Trang 69
Trong trường hợp thông tin về chính sách không được tìm thấy trong bảng SPD ví dụ
như thông tin về gói tin từ thiết bị A4 gửi tới B1 không tồn tại, khi đó gói tin được
chuyển tiếp qua thiết bị IPSec.

Trường hợp gói tin được gửi từ A1 đến B1, do thông tin nguồn và đích gói tin được tra
trong bảng SPD có chính sách là APPLY, gói tin sẽ được xử lý IPSec với thông tin
trong bảng SAD outbound của thiết bị IPSec 1 và SAD inbound của thiết bị IPSec 2.

Ví dụ về thông tin lưu trong bảng SAD:

Sequence number
Mode

Lifetime(s)
Protocol

Auth
Encr.
SPI
Index

Anti replay window


0 0x101 ESP TUNNE 3DE HMAC- 3600 0 0
2 L S MD5
1 0x101 ESP TUNNE DES HMAC- 3600 12 0
3 L MD5

Bảng 4-5:Ví dụ một bảng SA outbound được liên kết với SPD outbound
Sequence number
Mode

Lifetime(s)
Protocol

Auth
Encr.
SPI
Index

Anti replay window

0 0x101 ESP TUNNE 3DE HMAC- 3600 0 0


2 L S MD5
1 0x101 ESP TUNNE DES HMAC- 3600 12 0
3 L MD5
2 0x101 ESP TUNNE 3DE HMAC- 3600 5 0
4 L S SHA1

Trang 70
Bảng 4-6:Ví dụ một bảng SA outbound được liên kết với SPD outbound

Gói tin từ A1 đến B1 được thiết bị IPSec 1 tiến hành mã hóa bảo mật với thuật toán
cũng như key được lấy từ SA outbound có index là 0 (Thông tin có được từ việc tra
bảng SPD outbound có con trỏ trỏ tới mục SA có index là 0). Khi gói tin đến thiết bị
IPSec 2, quá trình giải mã được thực hiện với key cũng như thuật toán giải mã lấy từ
SA inbound có index là 1(Thông tin này có được nhờ việc tra SPI của gói tin).

5.2.1.4 Bảo vệ anti-replay


Bảo vệ anti-replay được đưa ra bởi chuẩn RFC 2401. Bảo vệ anti-replay nhằm
chống lại tấn công mã hóa lặp gói bằng cách ấn định một sequence number duy nhất
đến mỗi gói được mã hóa. SA anti-replay là một dịch vụ bảo mật mà bên nhận có thể
từ chối các gói cũ lặp lại nhằm bảo vệ chính nó chống lại tấn công replay. Trước khi
gửi gói tin, bên mã hóa sẽ tiến hành tăng thêm một vào sequence number trong mục
SA outbound của nó. Sau khi nhận được gói tin bên giải mã sẽ kiểm tra xem sequence
number nhận được đã được bên thu ghi nhận trước đó hay chưa. Nếu đã có thì tiến
hành loại bỏ gói tin, nếu không tiến hành giải mã gói tin. N là kích thước cửa sổ
replay_window được lưu trong Mục SA. Bên giải mã có khả năng nhớ các gói có
sequence number từ X-N+1 đến X. Bất cứ gói nào với sequence number có khoảng
cách so với sequence number cao nhất lớn hơn N-1 sẽ bị loại bỏ.

Những hàm sau được dùng để kiểm tra và cập nhật bảo vệ anti-replay:

ipsec_check_replay_window(): kiểm tra nhanh một sequence number trong gói


nhận được không với việc cập nhật thông tin vào bảng SA. Chương trình này được gọi
trước phần xác thưc gói tin. Các gói tin có sequence number không đúng thì sẽ bị loại
bỏ mà không tiến hành mã hóa. Điều này sẽ tiết kiệm thời gian xử lý và sequence
number trong Mục SA sẽ không bị thay đổi.

ipsec_update_replay_window(): sau khi xác thực, chương trình này nhằm xác
định và cập nhật replay window và sequence number trong mục SA. Nếu gói chưa
được nhận và sequence number của gói nhỏ hơn sequence number trong mục SA một
khoảng nhỏ hơn N, bit tương ứng trong replay_window sẽ được cập nhật. Trong trường
hợp là gói mới(sequence number gói nhận lớn hơn sequence number trong mục SA),

Trang 71
replay_window sẽ được dịch sai phải một lượng sequence_number(packet nhận được)-
sequence number(trong mục SA). Cuối cùng, anti-replay được cập nhật lại vào mục
SA.

Trang 72
1.1.26.Quá trình thực hiện của chương trình.
Trước lúc khởi động quá trình xử lý gói ra, gói vào, trước khi khởi tạo các giao diện
mạng, cấu hình ban đầu cho SPD phải được thực hiện trước. Cấu hình thiết lập bảng
SPD được thực hiện thông qua việc cập nhật thông tin từ hai file chứa đựng thông tin
của bảng SPD outbound và SPD inbound lần lượt là SPD_outbound.cfg và
SPD_inbound.cfg . Sau khi đã cập nhật thông tin ban đầu, quá trình xử lý IPSec được
tiến hành phù thuộc vào gói tin đó là gói tin inbound hay gói outbound.

5.2.1.5 Tổng quát quá trình thực hiện thiết bị IPSec.


Một gói tin đi từ mạng nội bộ ra mạng công cộng khi qua thiết bị IPSec sẽ được thiết bị
IPSec tiến hành xử lý. Quá trình này được gọi là quá trình xử lý outbound. Ngược lại ,
khi một gói tin từ mạng công cộng đi vào thiết bị IPSec sẽ được thiết bị IPSec tiến
hành xử lý inbound. Trong hình 4-7, khi gói tin đi từ thiết mạng nội bộ vào thiết bị
IPSec 1 sạu đó ra mạng công cộng và vào thiết bị IPSec 2, thiết bị IPSec 1 sẽ tiến hành
xử lý outbound và thiết bị IPSec 2 sẽ tiến hành xử lý outbound.

Hình 4-34:Tổng quát quá trình thực hiện IPSec

Quá trình thực hiện chương trình được mô tả tổng quát thông qua hình 4-7 như sau:

 Thiết bị IPSec 1: Xử lý gói tin outbound

Một gói tin khi được nhận từ mạng nội bộ A sẽ được đẩy vào buffer và được quá trình
xử lý IPSec đọc ra theo chế độ “First in First out”. Dựa vào các trường trong IP
header(ví dụ như địa chỉ IP nguồn, địa chỉ IP đích) quá trình xử lý IPSec sẽ tra những
thông tin này trong cơ sở dữ liệu SPD outbound.Sau khi tra bảng nếu khối “Xử lý
IPSec” yêu cầu trao đổi IKE nhằm cập nhật key, khối “Xử lý IKE” sẽ tiến hành trao
đổi IKE được tiến hành, các gói trao đổi được đẩy vào FIFO IKE. Trường hợp gói tin
được tiến khổi “Xử lý IPSec ” tiến hành xử lý thành công, gói này sẽ được đẩy ra FIFO
output đi ra cổng mạng. Trong quá trình trao đổi IKE, khối “Xử lý IPSec” bị tạm dừng
trong thời gian chờ cập nhật key. Chi tiết về phần xử lý gói outbound được giải thích
trong phần 4.2.3.2.

Trang 73
 Thiết bị IPSec 2: Xử lý gói tin outbound

Một gói tin được nhận từ mạng công cộng sẽ được xem xét trường protocol trong tiêu
đề UDP.

 Nếu gói tin là gói IKE (địa chỉ port nguồn và nhận là 500), gói tin sẽ được đẩy
vào FIFO IKE nhằm tiến hành xử lý trao đổi IKE.

 Nếu gói tin không phải là gói tin IKE, gói tin sẽ được đẩy vào buffer FIFO
input. Khối “Xử lý IPSec” sẽ đọc buffer FIFO input theo chế độ “First in First
out”. Sau khi quá trình xử lý gói tin trong khối “Xử lý IPSec” kết thúc, gói tin
inbound sẽ được gửi qua card mạng vào mạng nội bộ B.

5.2.1.6 Quá trình xử lý gói outbound


1. Khi một gói nhận được từ card mạng, nếu gói tin không phải là gói tin IP, gói
tin sẽ được chuyển tiếp qua cổng mạng ra bên ngoài. Trong trường hợp là gói
IP, các thông tin (địa chỉ đích, địa chỉ nguồn) trích xuất từ gói tin được sử dụng
nhằm tìm kiếm thông tin trong bảng SPD outbound. Nếu thông tin không được
tìm thấy trong bảng SPD outbound, gói tin sẽ được chuyển tới card mạng phù
hợp đến mạng internet. Trường hợp có tồn tại mục SPD trong bảng SPD
outbound mang thông tin về quá trình xử lý gói tin:

 Nếu policy trong mục SPD là APPLY tiến trình mã hóa IPSEC tiếp tục
xử lý.

 Nếu policy trong mục spd là DISCARD gói tin sẽ bị loại bỏ.

 Trường hợp policy là BYPASS gói tin sẽ được chuyển tiếp đến cổng
mạng phù hợp ra Internet.

Khi trong bảng SPD, nhiều entry phù hợp với các thông tin trong gói tin(giống
nhau về địa chỉ nguồn, địa chỉ đích) chính sách về gói tin được sử dụng dựa theo
mục SPD phù hợp đầu tiền.

2. Trong trường hợp gói tin được xử lý tiếp (policy của mục SPD là APPLY):

 Kiểm tra thông tin SA: Nếu chưa có thông tin trong về mục SA liên quan
đến mục SPD được chọn chứng tỏ tunnel chưa được tạo giữa hai thiết bị.
Gói tin đang tiến hành xử lý sẽ được lưu trong một biến tạm để tiến hành
mã hóa sau khi việc trao đổi IKE được tiến hành xong. Quá trình tra đổi
IKE sẽ được tiến hành nhằm tạo tunnel giữa hai thiết bị, đồng thời nhằm

Trang 74
cập nhật thông tin về mục SA liên quan đến mục SPD tương ứng. Sau khi
quá trình trao đổi IKE hoàn tất, gói tin đang được lưu trong biến tạm sẽ
được tiến hành mã hóa và gửi ra card mạng.

 Nếu mục SA đã có liên kết với SPD đang tiến hành xử lý quá trình mã
hóa tiếp tục các bước sau.

3. Khi thông tin về mục SA dùng để đóng gói gói tin đã có, quá trình đóng gói gói
tin IPsec được tiến hành với những trình tự sau:

a. Kiểm tra TLL: Kiểm tra xem TTL trong trường IP header của gói tin
bằng không hay không. Nếu bằng loại bỏ gói tin.

b. Tính toán padding Thêm vào: tính toán số lượng padding được thêm vào
nhằm làm đầy gói tin theo kích thước được yêu cầu bởi thuật toán mã
hóa.

c. Mã hóa gói tin: Quá trình mã hóa được tiến hành theo thông tin lấy từ
mục SA với IV được tạo ngẫu nhiên. Khi quá trình mã hóa kết thúc, IV
được sử dụng cho quá trình được sao chép vào đầu gói tin được mã hóa.

d. Thêm ESP header phía trước gói tin mã hóa: Sau khi tăng sequence
number trong mục SA lên 1, ESP header được thêm vào trước IV với các
thông số sequence number và SPI lấy từ mục SA.

e. Tính toán ICV: nếu thông tin trong mục SA chỉ ra rằng gói tin cần được
xác thực, quá trình xác thực được tiến hành. Mã ICV tạo thành sau quá
trình xác thực được gắn vào phần cuối của gói tin đã mã hóa.

f. IP header outer được thêm vào đầu gói tin.

4. Quá trình đóng gói gói tin hoàn tất, gói tin được gửi ra mạng Internet thông qua
cổng mạng thích hợp.

Trang 75
Hình 4-35:Quá trình xử lý gói tin outbound

Trang 76
5.2.1.7 Quá trình xử lý gói inbound
1. Khi nhận được một gói từ mạng public, nếu đó chính là gói IPSEC (ESP hay
AH):

a. bảng SAD inbound được tra dựa trên thông số về SPI, địa chỉ đích cũng
như protocol thu được trong gói tin. Nếu có SA inbound entry được tìm
thấy, gói tin sẽ được xử lý tiếp. Trường hợp không tìm thấy thông tin phù
hợp( có cùng SPI và protocol với gói tin) gói tin sẽ bị loại bỏ.

b. Tiến hành giải mã gói tin ESP dựa trên chuẩn RFC 2406 sử dụng key,
thuật toán mã hóa (và xác thực) trong SA inbound entry:

 Kiểm tra trong SA inbound entry xem thử gói tin có cần kiểm tra xác
thực hay không. Nếu cần, ICV phải được tính toán và so sánh với
ICV nhận được ở cuối gói tin. Việc xác thực này được tính toán cho
toàn bộ ESP header, IV và gói tin được mã hóa. Quá trình xử lý tiếp
tục chỉ khi dữ liệu trong ICV tính được và ICV trong gói tin nhận
được giống nhau.

 Cập nhật replay_window: sequence number trong gói tin được cập
nhật vào Mục SA. Nếu việc cập nhật được thực hiện thành công, quá
trình sẽ được tiếp tục. Trường hợp gói tin đã được nhận trước đó
chương trình sẽ không tiến hành xử lý tiếp.

 Trong bước kế tiếp ta tiến hành giải mã gói tin. Thuật toán giải mã và
key bí mật được trích xuất từ Mục SA. Bởi vì gói tin được mã hóa sử
dụng CBC, nên dữ liệu IV được trích xuất từ gói tin nhận được sử
dụng để giải mã gói tin

 Bước cuối được thực thi đó là tăng bộ đếm sequence number trong
Mục SA lên một.

c. Nhằm đảm bảo SA được sử dụng là SA chính xác được áp dụng cho gói,
thông tin về gói được tra trong bảng SPD với mục SA tương ứng. Việc
kiểm tra này sẽ xác nhận mục SPD tương ứng với SA còn giá trị để sử
dụng. Điều này nhằm tránh một gói được gửi với SPI giả nhằm buộc việc
xử lý gói tin. Nếu SPD inbound trỏ đến một SA khác, gói tin sẽ bị loại
bỏ.

d. Sau khi gói IPsec được xử lý thành công, nó sẽ được đưa đến cổng mạng
thích hợp.

Trang 77
2. Trường hợp gói nhận được không phải là gói trao đổi IKE quá trình tra đổi IKE
sẽ được tiến hành sau đó thông tin tra đổi sẽ được cập nhật vào bảng SAD
inbound (kể cả thông tin về lifetime và Sequence number của tunnel).

3. Trường hợp là gói tin đến không phải là gói tin mã hóa IPsec hay IKE, nếu gói
tin không phải là gói UDP hay TCP, nó sẽ được chuyển tiếp đến cổng mạng phù
hợp vào bên trong nhằm đảm bảo sự thông suốt của mạng. Trong trường hợp là
gói UDP hay TCP, địa chỉ nguồn, địa chỉ đích trong gói tin sẽ được trích xuất
nhằm tra thông tin trong bảng SPD inbound. Nếu giá trị trả về là DISCARD gói
tin sẽ bị loại bỏ.Nếu giá trị là BYPASS hay không có thông tin về gói tin, gói tin

sẽ được chuyển tiếp đến cổng mạng phù hợp.

Hình 4-36:Quá trình xử lý gói tin inbound

Trang 78
5.2.1.8 Xây dựng gói ESP
Một header ESP(Encapsulating Security Payload) được thiết kế nhằm cung cấp cả việc
mã hóa cũng như xác thực gói tin IP. Trong đề tài luận văn này, bọn em tiến hành sử
dụng mã hóa 3DES-CBC được sử dụng rộng rãi ngày nay. Đối với quá trình xác thực,
Thuật toán HASH-MAC MD5 và HASH-MAC SHA1 được sử dụng.

Một gói tin IPsec được xây dựng với ESP (trong tunnel mode) được xây dựng theo
cách sau:

Hình 4-37:Gói tin IP gốc và gói IP được mã hóa ESP

Quá trình xử lý gói tin ESP được chia thành hai phần: xử lý inbound và xử lý
outbound. Hai phần này được thực hiện tương ứng trong hai chương trình con:

Ipsec_esp_decapsulate(): kiểm tra nội dung trong ESP header, kiểm tra xác thực, bảo
vệ anti-replay cũng như giải mã gói tin với vector khởi tạo được gửi cùng gói tin.

ipsec_esp_encapsulate(): thiết lập một ESP header mới, mã hóa và tính toán giá trị xác
thực cho gói tin.

Trường hợp thông tin về đường ngầm không được tìm thấy trong bảng SA, quá trình
trao đổi IKE được trình bày ở phần tiếp theo.

Trang 79
1.1.27.Quá trình trao đổi IKE
Quá trình trao đổi IKE yêu cầu một số khóa . Một cặp khóa riêng và khóa công cộng để
xác thực các gói dữ liệu được gửi giữa hai thiết bị. Ngoài ra chúng ta sẽ cần một chung
khóa riêng cho cả hai thiết bị để mã hóa các dữ liệu khi các gói dữ liệu gửi trong
mạng.
Trao đổi chính giữa hai thiết thực hiện:

 Mỗi thiết bị chọn một cặp khóa công cộng và bí mật để xác thực bằng thuật toán
băm một chiều MD5.
 Tính khóa riêng để mã hóa sử dụng thuật toán trao đổi khóa Diffie-Hellman.
Mỗi gói tin gửi đi trong việc thực hiện thuật toán Diffie-Hellman sẽ được xác
thực với sự giúp đỡ của các khóa thu được ở bước đầu tiên.
 Tạo kết hợp an ninh SA (Security Association) cho một kết nối đường hầm.
 Chèn SA mới này vào cơ sở dữ liệu SA.
Tất cả các bước được thực hiện bởi thuật toán ISAKMP / Oakley đây là phương pháp
cấu hình bảo mật SA cho IPSec.

5.2.1.9 IKE module


Module IKE gồm các chức năng thực hiện xử lý của hai bên tham gia trong giao
thức:
Bên khởi tạo (Initiator) và bên hồi đáp (Responder) và một số cấu trúc thông số
được sử dụng cho IKE module. Mỗi bên có chức năng riêng của mình thực hiện xử
lý.
a) Chức năng cơ bản của các module:
 ikeInitiator / ikeResponder - chức được gọi khi bắt đầu quá trình IKE ở
mỗi phía của đường hầm. Mỗi trong số họ thực hiện các giai đoạn chế độ
chính IKE (main mode IKE) bằng cách gọi hàm ( initiatorMainMode /
responderMainMode ) và sau đó thực hiện một tuần tự các giai đoạn chế
độ nhanh ( trong khi đường hầm tồn tại) một lần sau một khoảng thời
gian nhất định cho việc tạo khóa mới . Chế độ nhanh cho mỗi bên được
thực hiện bằng 2 hàm initiatorQuickMode / responderQuickMode . Tất
cả các thông số cần thiết về SA được tạo ra ( các giao thức và các thuật
toán được sử dụng ) được thông qua như một tham số cho hàm

Trang 80
ikeInitiator . Sau khi các chế độ chính được hoàn thành thì SA được tạo
ra và thông qua như là một đối số cho chế độ nhanh . Biến này chứa tất
cả các thông tin cần thiết cho chế độ nhanh và toàn bộ cho quá trình
IKE . Sau mỗi lần thực hiện nhanh SA mới được tạo ra.

Hình 4-38:Tổng quan quá trình trao đổi IKE

 initiatorMainMode / responderMainMode - thực hiện trao đổi của chế độ


chính theo quy định của giao thức IKE. Mỗi bên gửi 3 gói tin và nhận

Trang 81
được 3 gói tin trong một trật tự đối xứng, thực hiện tính toán mật mã
(trao đổi Diffie-Hellman, tính toán khóa, tạo Hash và xác thực, xác thực
ISAKMP tiêu đề ) Cuối cùng cả hai chức năng cập nhật các thong số cho
SA với các thông tin cần thiết cho quá trình tiến hành chế độ nhanh.

Hình 4-39:Quá trình thực hiện trao đổi pha 1

 initiatorQuickMode / responderQuickMode - thực hiện trao đổi của chế


độ nhanh theo quy định của giao thức IKE. Các bên trao đổi 3 gói tin
(Initiator gửi 2 gói và Responder gửi 1 gói) và thực hiện tính toán khóa
mới. Kết quả là các khóa mới được lưu trữ trong SA cho việc trao đổi dữ
liệu trong đường hầm.

Hình 4-40:Quá trình trao đổi của pha 2

Trang 82
b) Cấu trúc các thông số:
 IPSec SA - chứa tất cả các thông số kết hợp an ninh.
 Chỉ số an ninh SPI của SA
 Thuật toán AH (ví dụ: MD5)
 Thuật toán ESP (ví dụ: DES,3DES)
 Tham số cho biết giao thức ESP hay AH được sử dụng
 Khóa AH của hai bên
 Khóa ESP của hai bên.
 SA của chế độ chính - chứa tất cả các thông số SA thu được trong chế độ
chính và cần thiết cho chế độ nhanh để tạo ra các khóa cho IPSec:
 Tất cả các khóa được tạo ra trong chế độ chính gồm :
SKEYID_D, SKEYID_A, SKEYID_E .
 Diffie Hellman tính khóa chia sẻ trong chế độ chính
 Cookie của cả hai bên
 Nonces của cả hai bên

 Message - duy trì tất cả các gói tin trao đổi trong IKE . Cấu trúc Message
bao gồm :

Hình 4-41:Cấu trúc khung gói tin ISAKMP

 ISAKMP Header - tất cả các gói tin có nó. Header này được thiết kế như
là một cấu trúc có chứa tất cả các quy định cho giao thức IKE .
 Proposal - cho tất cả các gói tin. Thông số này bao gồm các tên giao thức
để trao đổi và SPI ( theo quy định tại IKE ) .
 Transform - cho tất cả các gói tin. Bao gồm các thuật toán được sử dụng
để xác thực và mã hóa các gói tin trao đổi.
 Giá trị công cộng Diffie Hellman - cho các gói tin chế độ chính thứ 3 và
4. Được sử dụng để thực hiện trao đổi các giá trị Diffie Hellman.
 Identity - cho chế độ nhanh và hai gói tin cuối cùng của chế độ chính.
Mang tên thiết bị của bên gửi gói tin.

Trang 83
 Nonce - cho chế độ nhanh và bốn gói tin cuối cùng của chế độ chính.
Chứa giá trị nonce được lựa chọn bởi các bên gửi gói tin.
 Hash - cho hai gói tin cuối cùng của chế độ chính và tất cả các gói tin chế
độ nhanh . Chứa hàm băm gói tin được sử dụng để xác thực gói tin .
 Initialization Vector - cho tất cả các gói tin có chứa bất kỳ dữ liệu được
mã hóa ( chế độ nhanh và hai gói tin cuối cùng của chế độ chính) .

5.2.1.10Thực hiện giao thức trao đổi khóa IKE


Giao thức gồm 2 pha trao đổi:
a) Pha 1- Chế độ chính (Main Mode):
Mục đích chính của pha này là thiết lập các thông số bí mật tổng thể mà từ
đó tất cả các khóa mật mã sau đó sẽ được tạo ra để bảo vệ các gói tin
ISAKMP cho việc thỏa thuận của pha 2 – chế độ nhanh tiếp theo. Điều quan
trọng cần lưu ý là pha 1 là chỉ liên quan với việc thiết lập các thông số bảo
vệ cho các thông điệp ISAKMP mình, nó không thiết lập bất kỳ kết hợp an
ninh hoặc khóa để bảo vệ dữ liệu.Thông số nhận được từ pha 1 có thể được
sử dụng để hỗ trợ cho nhiều pha 2 tiếp theo.
Sáu gói tin để hoàn thành việc trao đổi :

Hình 4-42:Trao đổi thỏa thuận IKE chế độ chính

 Gói tin 1 và 2 thỏa thuận các đặc tính của kết hợp an ninh. Hai gói tin
này không được xác thực.
 Gói tin 3 và 4 trao đổi nonces và cũng thực hiện một trao đổi giá trị
Diffie-Hellman công cộng để thiết lập khóa chủ (SKEYID). Nó là cơ sở

Trang 84
cho việc tính toán khóa mật mã pha này. Hai gói tin này không được xác
thực.
 Gói tin 5 và 6 trao đổi chữ ký số với mục đích đôi bên chứng thực danh
tính của các bên và trao đổi giá trj công cộng Diffie - Hellman. Một số dữ
liệu của gói tin 5 và 6 được bảo vệ bởi các thuật toán mã hóa và khóa
được tạo ra từ 4 gói tin trước đó.

Gói tin 1 và 2 của pha 1- chế độ chính có cấu trúc:

Hình 4-43:Gói tin 1 và 2 của pha 1

Trang 85
Hình 4-44:Lưu đồ giải thuật của bên khới tạo pha 1 – chế độ chính

Trang 86
Trang 87
Hình 4-45:Lưu đồ giải thuật của bên phản hồi pha 1 – chế độ chính

 Gói tin thứ 1:


Thiết bị-A, bên khởi tạo, đề xuất kết hợp an ninh được xem xét bởi Thiết bị-B,
bên trả lời. Do đó, các gói tin ISAKMP có chứa các thông số sau:
 Header ISAKMP trong gói tin 1 sẽ cho biết loại này là trao đổi chế độ chính, và
sẽ chứa ID gói tin là 0. Thiết bị-A sẽ thiết lập trường Responder Cookie là 0, và
sẽ điền vào một giá trị ngẫu nhiên vào trường Initiator Cookie ( biểu thị như
Cookie-A ).

Trang 88
 Thiết bị-A sẽ chỉ định trường Proposal là giao thức PROTO_ISAKMP và sẽ
thiết lập giá trị SPI là 0.
 Trường Transform sẽ được chỉ định là giá trị KEY_OAKLEY. Cho việc trao đổi
KEY_OAKLEY, Thiết bị -A cũng phải xác định các thuộc tính liên quan: cụ thể
là, các phương pháp xác thực được sử dụng, hàm giả ngẫu nhiên được sử dụng,
và các thuật toán mã hóa được sử dụng. Trong việc thực hiện của chúng tôi
Thiết bị -A sẽ sử dụng: xác thực bằng chữ ký số, hàm giả ngẫu nhiên MD5, và
thuật toán mã hóa DES hoặc 3DES.
 Gói tin thứ 2 của pha 1 – Chế độ chính:
Trong gói tin này Thiết bị-B hồi đáp lại Thiết bị -A, sau khi nhận được gói tin
Tin nhắn có cấu trúc tương tự như gói tin thứ 1.
 Trường Proposal và Tranform chứa các đề nghị thỏa thuận của Thiết bị-A được
thừa nhận trước đó.
 Tiêu đề SAKMP sẽ có các giá trị tương tự trong trường của tiêu đề, ngoại trừ
trường Responder Cookie của Thiết bị-B sẽ chọn cookie của riêng mình (ngẫu
nhiên) .
Từ thời điểm này kết hợp an ninh ISAKMP mới sẽ được xác định bởi các cặp
cookie được lựa chọn bởi cả hai bên.
Gói tin thứ 3 và 4 có một cấu trúc thể hiện trong hình .

Hình 4-46:Gói tin thứ 3-4 của chế độ chính – pha 1

 Gói tin thứ 3:


Gói tin thứ 3 của chế độ chính – pha 1 bắt đầu việc trao đổi các thông tin
mà từ đó các khóa mật mã được tạo thành. Tất cả các thông tin được trao
đổi không mật mã. Không gói tin nào mang khóa mật mã. Thay vào đó,
các gói tin mang các thông số để Thiết bị -A và Thiết bị -B tính toán
khóa chia sẻ bí mật.

Trang 89
Tải trọng ISAKMP của gói tin 3 sẽ được sử dụng để trao đổi hai thông
tin:
 Giá trị công cộng Diffie-Hellman: gx . Số mũ x trong giá trị công
cộng gx là giá trị bí mật. Số g là một số nguyên. p là số nguyên tố
lớn để tạo khả năng tạo khóa an toàn, bí mật. Cả hai g và p được
chọn ở giai đoạn khởi động hệ thống.
 Nonce: Ni từ bên khởi tạo. (Nonce là một giá trị được coi là ngẫu
nhiên).
Những giá trị này được cho vào trường Key Exchange và Nonce của gói tin thứ 3.
 Gói tin thứ 4:
Sau khi nhận được một giá trị công cộng Diffie-Hellman và nonce từ
Thiết bị-A, Thiết bị-B sẽ trả lời bằng cách gửi cho Thiết bị-A giá trị công
cộng Diffie-Hellman của mình (gy được Thiết bị - B tính toán) và nonce
của mình (Nr ). Gói tin thứ 4 có cấu trúc tương tự như gói tin thứ 3.
Tại thời điểm này, mỗi Thiết bị biết giá trị của hai nonces (Ni và Nr).
Mỗi Thiết bị cũng biết giá trị Diffie-Hellman riêng bí mật của mình (x và
y) và cũng biết giá trị công cộng Diffie-Hllman của đối tác (g x hoặc gy).
Do đó mỗi bên có thể xây dựng giá trị g xy. Dựa vào gxy và p được chọn
trước đó. Từ đây mỗi bên sẽ tính ra được chung 1 khóa chia sẻ bí mật
dh_shared_key theo công thức:
dh_shared_key = gxy mod p
Và cuối cùng, mỗi bên biết các giá trị của cookie khởi tạo và cookie phản
hồi. Với tất cả các thông tin này, mỗi bên có thể tính toán một cách độc
lập giá trị giống nhau cho các khóa sau đây:
 SKEYID: là khóa mà từ đó các khóa mật mã sẽ được bắt nguồn
cho các tiến trình sau. Nó được tính từ biểu thức sau đây:
SKEYID = HMAC-MD5(Ni, Nr, gxy)
Sau khi tính toán giá trị khóa SKEYID, mỗi bên sau đó tiến hành để tạo
ra hai khóa mật mã các trường trong gói tin ISAKMP (SKEYID_a và
SKEYID_e) và một khóa bổ sung (SKEYID_d):
 SKEYID_d là khóa sẽ được sử dụng trong pha 2 để tính toán khóa
dùng để mật mã dữ liệu IPsec :
SKEYID_d = HMAC-MD5 (SKEYID, gxy, CookieA, CookieB, 0)
CookieA là của Thiết bị-A (Initiator) Cookie và CookieB là của Thiết bị-B
(Responder) Cookie.
 SKEYID_a là khóa được sử dụng để xác thực các gói tin ISAKMP ở pha 2:
SKEYID_a = HMAC-MD5(SKEYID, SKEYID_d, gxy, CookieA, CookieB, 1)
 SKEYID_e là khóa dùng để mã hóa các trường trong gói tin ISAKMP:
SKEYID_e = HMAC-MD5(SKEYID, SKEYID_a, gxy, CookieA, CookieB, 2)

Trang 90
 Gói tin thứ 5:
Tại thời điểm này của pha 1, hai thiết bị sẽ trao đổi thông tin nhận dạng với
nhau, bằng cách sử dụng chữ ký để xác thực bản thân bằng phương pháp
khóa chia sẻ trước. Như thể hiện trong hình 13, gói tin ISAKMP sẽ mang một
nhận dạng và chữ ký được mã hóa bằng khóa SKEYID_e.
Thiết bị-A sử gói tin thứ 5 gửi thông tin đến Thiết bị- B để xác thực Thiết bị-
A.

Hình 4-47:Gói tin thứ 5 và 6

 Trường Identity: Chứa tên của Thiết bị- A.


 Trường Signature: Thiết bị-A (bên khởi tạo) sẽ tạo ra hàm băm bằng cách
sử dụng thuật toán chữ ký số (sử dụng thuật toán băm một chiều MD5
với khóa chia sẻ trước), và sau đó đưa vào trong trường Signature:
HASH_I = HMAC-MD5(SKEYID, gx, gy, CookieA, CookieB, ID_A)
Giá trị này được ký với các khóa chia sẻ trước của Thiết bị - A và ghi vào
trường Signature.
ID_A là thông tin nhận dạng Thiết bị-A được truyền đi trong trường
Identity của gói tin này.

Trang 91
 Gói tin thứ 6:
Sau khi nhận được tin nhắn thứ 5 từ Thiết bị-A, Thiết bị-B sẽ xác minh danh tính
của Thiết bị-A bằng cách xác thực chữ ký số. Nếu chữ ký là hợp lệ, thì Thiết bị-B
sẽ gửi gói tin thứ 6 để Thiết bị-A xác minh danh tính của Thiết bị-B.
Cấu trúc của gói tin thứ 6 là giống như của gói tin thứ 5
 Trường Identity chứa tên của Thiết bị-B.
 Trường Signature được tính toán tương tự Signature của gói tin thứ 5.
HASH_R = HMAC-MD5(SKEYID, gy, gx, CookieB, CookieA, ID_B)
Khi Thiết bị-A nhận được gói tin thứ 6 và xác minh chữ ký số, pha 1 hoàn tất. Cả
hai bên đã thỏa thuận các đặc tính kết hợp an ninh ISAKMP và sẽ dùng để tạo
khóa ở pha 2 tiếp theo
b )Pha 2 – Chế độ nhanh
Những trao đổi của pha này nhằm xác định kết hợp an ninh SA và các khóa sẽ
được sử dụng bảo vệ các gói tin IP trao đổi giữa hai bên thông qua các đường
hầm IPSec. Pha 2 được thực hiện thường xuyên (trong khoảng thời gian quy định
tại các đường hầm thường khởi tạo) cho việc làm mới các khóa.

Pha 2 gồm 3 gói tin có cấu trúc như sau:

Hình 4-48:Quá trình thỏa thuân IKE pha 2-chế độ nhanh

Trang 92
Hình 4-49:Cấu trúc của 3 gói tin pha 2- chế độ nhanh

Trang 93
Trang 94
Trang 95
Hình 4-50:Lưu đồ giải thuật của bên khởi tạo pha 2 – chế độ nhanh

Trang 96
Hình 4-51:Lưu đồ giải thuật của bên phản hồi pha 2 – chế độ nhanh

Trang 97
 Gói tin thứ 1:
 Tiêu đề ISAKMP: sẽ cho biết loại này là trao đổi pha 2 – chế độ nhanh, sẽ bao
gồm Message-ID được một khác không được lựa chọn bởi Thiết bị-A, sẽ bao gồm
cookie khởi tạo và cookie phản hồi (initiator cookie và responder cookie) được
lựa chọn trong pha 1(Cookie-A và Cookie-B ), và cờ mã hóa sẽ được bật lên để
cho biết các trường của gói tin ISAKMP được mã hóa bằng các khóa được thỏa
thuận trong pha 1 - chế độ chính.
 HASH_1: Hàm băm 1 được cho vào trường mes_hash của gói tin.
HASH_1 = HMAC-MD5(SKEYID_a, M-ID, Ni, Nr)
Ni và Nr là giá trị nonces bên khởi tạo và hồi đáp
 Trường Proposal và Transform : có cấu trúc tương tự như trong pha 1. Trường
Proposal sẽ xác định các giao thức được sử dụng cho bảo vệ gói tin IPSec (ESP,
AH hoặc ESP và AH) và sẽ bao gồm một giá trị SPI được chọn ngẫu nhiên bởi
Thiết bị-A. Trường Transform sẽ cho biêt các thuật toán ESP và AH.
 Gói tin thứ 2:
Sau khi Thiết bị-B nhận được gói tin từ 1 Thiết bị-A và xác nhận thành công bằng
cách so sánh HASH_1với hàm băm của nó tính toán , Thiết bị-B gửi gói tin thứ 2
cho Thiết bị - A. Message- ID của gói tin thứ 2 sẽ tương tự với gói tin thứ 1. Hàm
băm HASH_2 sẽ được chứa trong trường mes_hash :
HASH_2 = HMAC-MD5(SKEYID_a, M-ID, Nr, Ni)
Tất cả các thông số cần thiết cho việc xây dựng SA cho IPSec bao gồm trong
trường Proposal và Transform được chấp nhận bởi Thiết bị - B và gửi gói tin thứ
hai để xác nhận sự thỏa thuận.
Cả hai bên có thể tính toán các khóa để sử dụng mã hóa và xác thực các gói tin
IPSec.
 Đối với dữ liệu được gửi bởi Thiết bị-A và được nhận bởi Thiết bị-B, khóa được
tính toán và dùng để tính khóa IPsec:
KEYMAT(ab) = HMAC-MD5(SKEYID_d, DH_shared_key, protocol, SPI, Ni, Nr,
0)
 Đối với dữ liệu được gửi bởi Thiết bị-B và được nhận bởi Thiết bị-A, khóa được
tính toán và dùng để tính khóa IPsec:
KEYMAT(ba) = HMAC-MD5(SKEYID_d, DH_shared_key, protocol, SPI, Nr,
Ni, 0)
DH_shared_key là chìa khóa chia sẻ tính toán trong pha 1- chế độ chính
protocol và SPI được lấy từ trường Proposal.

Mỗi bên tính toán các khóa để mã hóa và xác thực ( các khóa được 2 bên
tạo ra một cách đối xứng) :

Trang 98
Khóa xác thực:
KEY_AH(ab) = HMAC-MD5(KEYMAT(ab), SKEYID_d,
DH_shared_key, Cookie_A, Cookie_B, 1)
Khóa mã hóa :
KEY_ESP(ab) = HMAC-MD5(KEYMAT(ab), KEY_A(ab),
DH_shared_key, Cookie_A, Cookie_B, 2)
 Gói tin thứ 3:
Tại thời điểm này, Thiết bị-A và Thiết bị-B đã trao đổi tất cả các thông
tin cần thiết. Gói tin thứ 3 trong trao đổi pha 2 - chế độ nhanh được Thiết
bị-A gửi đi kết thúc thảo thuận SA, bắt đầu cho việc truyền gói tin IP qua
đường hầm IPsec. Gói tin thứ 3 có Message-ID và nonces đã được trao
đổi trong 2 gói tin thứ 1 và 2. Ngoài ra, còn chưa hàm băm HASH_3:
HASH_3 = HMAC-MD5(SKEYID_a, 0, M-ID, Ni, Nr)
Khi Thiết bị-B nhận được gói tin này và xác minh thành công, thì cả hai
thiết bị có thể bắt đầu sử dụng giao thức bảo mật SA được thỏa thuận để
bảo vệ gói tin IP trong đường hầm IPsec tương ứng.

Trang 99
Chương 6 ĐÁNH GIÁ KẾT QUẢ THỰC HIỆN

6.1 Tiêu chí đánh giá


Throughput (băng thông): Tốc độ nhanh nhất mà số khung đo kiểm được phát đi bởi
thiết bị đo kiểm (DUT) ngang bằng với số khung đã gửi tới nó bởi thiết bị đo kiểm.

6.2 Phương pháp đánh giá

Hình 5-52:Mô hình sử dụng đánh giá thiết bị IPSec

 Kiểm tra throughput:

1 Gửi gói tin có độ dài cụ thể với tốc độ bắt đầu 500bps từ laptop 1 và sau đó đếm
số khung hình được truyền qua đến laptop 2. Nếu số lượng gói tin được cung
cấp từ laptop 1 bằng với số lượng gói tin nhận được tại laptop 2, tăng tốc độ
gửi tại laptop 1. Throughput được xác định là tốc độ lớn nhất mà tại đó số lượng
gói được truyền từ laptop 1 bằng số lượng gói nhận được tại laptop 2.

2 Tăng chiều dài gói tin và tiến hành lại như bước 1. Quá trình được lặp lại đến
khi chiều dài gói tin bằng chiều dài tối đa gói tin có thể gửi MTU. Theo RFC
2544, khung được sử dụng để kiểm tra là một khung UDP Echo Request với cấu
trúc khung như định nghĩa trong mục RFC 2544 C.2.4.6. Chiều dài khung IP
được sử dụng để tiens hành kiểm tra là 0x2E, 0x6E, 0xEE, 0x1EE, 0x2EE,
0x3EE, 0x4EE.

Trang
100
6.3 Kết quả đánh giá
Chế độ Tốc độ throughput (Mbps)
IPSec
46 110 238 494 750 1006 1262 1440
bytes bytes bytes bytes bytes bytes bytes bytes
Không mã 0.685 1.617 3.463 7.083 10.18 13.1 15.44 16
hóa IPSec
ESP 3DES 0.14 0.335 0.725 1.507 2.283 2.645 2.729 2.85
HMAC-
MD5
ESP 3DES 0.14 0.3 0.69 1.45 2.03 2.4 2.5 2.55
HMAC-
SHA1
ESP 3DES 0.14 0.336 0.73 1.5 2.3 2.9 3.1 3.3
Bảng 5-7:Bảng đánh giá tốc độ throughput IPSec

Hình 5-53:Biểu đồ thể hiện tốc độ throughput của các chế độ IPSec khác nhau

Trang
101
Từ biểu đồ hình 5-2 ta thấy rằng việc lựa chọn thuật toán mã hóa có ảnh hưởng đến tốc
độ throughput của chương trình. Khi không mã hóa, tốc độ gửi gói tin qua thiết bị
nhanh hơn nhiều so với khi tiến hành mã hóa gói tin ESP. Việc ứng dụng nhiều thuật
toán vào giao thức IPSec sẽ làm tăng tính bảo mật trên đường truyềnIPSec . Tuy nhiên,
nó làm giảm tốc độ throughput của thiết bị (chế độ IPSec chỉ áp dụng thuật toán ESP
3DES có throughput lớn hơn khi áp dụng thuật toán ESP 3DES HMAC-MD5 và ESP
3DES HMAC-SHA1).

Trang
102
Chương 7 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỀN

7.1 Kết luận


Luận văn đã hoàn thành các công việc:

 Thực hiện quá trình mã hóa IPSec sử dụng giao thức ESP với:

o Thuật toán mã hóa 3DES, DES

o Thuật toán xác thực: MD5,SHA1

o Quá trình trao đổi key sử dụng IKEv1.

 Tiến hành thiết kế/ xây dựng thiết bị bảo mật VPN trong suốt trên mạng, có khả
năng kết nối đa điểm.

Kết quả đạt được:

 Thiết bị IPSec có khả năng bảo vệ mạng nội bộ chống lại một số tấn công như :
từ chối dịch vụ, Man-in-the-Middle, sniffer, tấn cống sửa đổi gói tin.

 Quá trình trao đổi thông tin trên mạng vẫn đảm bảo thông suốt.

7.2 Hướng phát triền


1.1.28.Thêm khả năng mã hóa gói tin
Ngoài những thuật toán được sử dụng phổ biến như DES, 3DES, nhằm tăng tính bảo
mật của hệ thống, trong tương lai nhóm dự định sẽ bổ sung thêm giải thuật AES. Giải
thuật AES có khả năng làm tăng khả năng tương thích cũng như khả năng an ninh của
hệ thống IPSec.

1.1.29.Thiết lập bảo mật IPSec trên nền IPv6


Ngày nay, IP v6 đang được ngày ngày càng được sử dụng rộng rãi và được dự báo là
thế hệ tiếp theo của IPv4. Do đó, nhu cầu bảo mật trên nền IPv6 cũng đang được đòi
hỏi phục vụ cho những nhu cầu an ninh sử dụng trong tương lai gần.

1.1.30.Sử dụng RSA cho quá trình xác thực


Với cách xác thực bằng khóa chia sẻ trước., nếu khóa không được bảo mật và bị kẻ
tấn công lấy được thì sẽ tấn cồng được theo phương pháp Man-in-the Midle. Vì vậy
cần thiết lập xác thực bằng chứ ký số theo phương pháp RSA

Trang
103
1.1.31. Truyền phát thêm gói tin báo lỗi bảo mật ICMP.
Gói tin lỗi bảo mật ICMP nhằm thông báo rằng hệ thống bị lỗi cần được cấu hình lại
hoặc có một cuộc tấn công vào thiết bị bị phát hiện(ví dụ như tấn công từ chối dịch vụ,
tấn công sửa đổi dữ liệu…). Gói tin lỗi bảo mật ICMP nhằm tiến hành thông báo
những lối bảo mật như sau:

 SPI xấu: ám chỉ rằng một khung nhận được có chứa chỉ số SPI không có giá trị
hoặc đã hết thời gian sử dụng.

 Xác thực lỗi: Gói tin nhận được bị lỗi xác thực hoặc kiểm tra tính toàn vẹn.

 Giải mã bị lỗi: Một khung nhận bị lỗi giải mã.

 Yêu cầu xác thực Gói tin được nhận sẽ không được chấp nhận nếu không có xác
thực đi kèm gói tin. Trong trường hợp này, hoặc không có SPI hiện diện trong
hệ thống mạng nội bộ bên nhận hoặc một SPI không thích hợp hiện diện trên
mạng. Ví dụ như, một gói SPI mã hóa không với tính toàn vẹn đến một hệ thống
bảo mật với sự tương tác của những người sử dụng khả nghi.

Thông tin chi tiết cũng như cấu trúc gói được đề cập trong RFC2521.

Trang
104
Tài liệu tham khảo.

1. Poonam Arora, Prem R. Vemuganti, Praveen Allani. “Comparison of VPN


Protocols – IPSec, PPTP, and L2TP”, Department of Electrical and Computer
Engineering George Mason University Fairfax, VA 22202.
2. Christian Scheurer, Niklaus Schild. “ Embedded IPSec-a lightweight IPSec
implementation”, HTI Biel/Bienne(12/2003).
3. Charles M. Kozierok. “The TCP/IP Guide: A Comprehensive, Illustrated
Internet Protocols Reference”
4. http://www.ietf.org/rfc/
5. http://technet.microsoft.com/en-us/library/

Trang
105

You might also like