You are on page 1of 119

Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

MỤC LỤC

MỤC LỤC......................................................................................................................i
Danh mục bảng biểu......................................................................................................v
Danh sách hình vẽ.........................................................................................................vi
Ký hiệu viết tắt.............................................................................................................ix
LỜI NÓI ĐẦU...............................................................................................................1
Chương 1
BỘ GIAO THỨC TCP/IP..............................................................................................3
1.1 Khái niệm mạng Internet.....................................................................................3
1.2 Mô hình phân lớp bộ giao thức TCP/IP...............................................................4
1.3 Các giao thức trong mô hình TCP/IP...................................................................5
1.3.1 Giao thức Internet...................................................................................................5
1.3.1.1 Giới thiệu chung.................................................................................................5
1.3.1.2. Cấu trúc IPv4.....................................................................................................6
1.3.1.3. Phân mảnh IP và hợp nhất dữ liệu....................................................................8
1.3.1.4. Địa chỉ và định tuyến IP....................................................................................9
1.3.1.5. Cấu trúc gói tin IPv6 ........................................................................................9
1.3.2. Giao thức lớp vận chuyển....................................................................................11
1.3.2.1. Giao thức UDP................................................................................................11
1.3.2.2. Giao thức TCP.................................................................................................12
1.4 Tổng kết.............................................................................................................17
Chương 2
CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN................................18
2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN..............................................18
2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet............................................18
2.1.2 Khả năng ứng dụng của IP-VPN.........................................................................18
2.2 Các khối cơ bản trong mạng IP-VPN................................................................19
2.2.1 Điều khiển truy nhập............................................................................................19
2.2.2 Nhận thực..............................................................................................................20
2.2.3 An ninh..................................................................................................................21
2.2.4 Truyền Tunnel nền tảng IP-VPN.........................................................................21
2.2.5 Các thỏa thuận mức dịch vụ.................................................................................23
2.3 Phân loại mạng riêng ảo theo kiến trúc..............................................................23

Bùi Văn Nhật 45K2 ĐTVT i


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.3.1 IP-VPN truy nhập từ xa........................................................................................23


2.3.2 Site-to-Site IP-VPN...............................................................................................25
2.3.2.1 Intranet IP-VPN ...............................................................................................25
2.3.2.2 Extranet IP-VPN ..............................................................................................26
2.4 Các giao thức đường ngầm trong IP-VPN.........................................................27
2.4.1 PPTP (Point - to - Point Tunneling Protocol).....................................................28
2.4.1.1 Duy trì đường ngầm bằng kết nối điều khiển PPTP.........................................28
2.4.1.2 Đóng gói dữ liệu đường ngầm PPTP...............................................................29
2.4.1.3 Xử lí dữ liệu đường ngầm PPTP ......................................................................30
2.4.1.4 Sơ đồ đóng gói..................................................................................................30
2.4.2 L2TP (Layer Two Tunneling Protocol)................................................................31
2.4.2.1 Duy trì đường ngầm bằng bản tin điều khiển L2TP.........................................32
2.4.2.2 Đường ngầm dữ liệu L2TP...............................................................................32
2.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec..............................................33
2.4.2.4 Sơ đồ đóng gói L2TP trên nền IPSec................................................................33
2.5 Tổng kết.............................................................................................................35
Chương 3
GIAO THỨC IPSEC CHO IP-VPN.............................................................................36
3.1 Gới thiệu............................................................................................................36
3.1.1 Khái niệm về IPSec ..............................................................................................36
3.1.2 Các chuẩn tham chiếu có liên quan.....................................................................37
3.2 Đóng gói thông tin của IPSec............................................................................38
3.2.1 Các kiểu sử dụng...................................................................................................38
3.2.1.1 Kiểu Transport..................................................................................................39
3.1.1.2 Kiểu Tunnel.......................................................................................................39
3.2.2 Giao thức tiêu đề xác thực AH.............................................................................40
3.2.2.1 Giới thiệu..........................................................................................................40
3.2.2.2 Cấu trúc gói tin AH...........................................................................................41
3.2.2.3 Quá trình xử lý AH...........................................................................................42
3.2.3 Giao thức đóng gói an toàn tải tin ESP...............................................................45
3.2.3.1 Giới thiệu..........................................................................................................45
3.2.3.2 Cấu trúc gói tin ESP.........................................................................................46
3.2.3.3 Quá trình xử lý ESP..........................................................................................48
3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE..........................................53
3.3.1 Kết hợp an ninh SA..............................................................................................53
3.3.1.1 Định nghĩa và mục tiêu.....................................................................................53
3.3.1.2 Kết hợp các SA..................................................................................................54
3.3.1.3 Cơ sở dữ liệu SA...............................................................................................55
3.3.2 Giao thức trao đổi khóa IKE................................................................................56
3.3.2.1 Bước thứ nhất...................................................................................................57
3.3.2.2 Bước thứ hai.....................................................................................................59

Bùi Văn Nhật 45K2 ĐTVT ii


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

3.3.2.3 Bước thứ ba......................................................................................................61


3.3.2.4 Bước thứ tư.......................................................................................................63
3.3.2.5 Kết thúc đường ngầm........................................................................................63
3.4 Những giao thức đang được ứng dụng cho xử lý IPSec.....................................63
3.4.1 Mật mã bản tin......................................................................................................63
3.4.1.1 Tiêu chuẩn mật mã dữ liệu DES.......................................................................63
3.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES..................................................64
3.4.2 Toàn vẹn bản tin....................................................................................................64
3.4.2.1 Mã nhận thực bản tin băm HMAC...................................................................65
3.4.2.2 Thuật toán MD5................................................................................................65
3.4.2.3 Thuật toán băm an toàn SHA............................................................................65
3.4.3 Nhận thực các bên................................................................................................65
3.4.3.1 Khóa chia sẻ trước............................................................................................66
3.4.3.2 Chữ ký số RSA..................................................................................................66
3.4.3.3 RSA mật mã nonces.........................................................................................66
3.4.4 Quản lí khóa..........................................................................................................66
3.4.4.1 Giao thức Diffie-Hellman.................................................................................67
3.4.4.2 Quyền chứng nhận CA......................................................................................68
3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec..........................................69
3.6 Tổng kết.............................................................................................................70
Chương 4
AN TOÀN DỮ LIỆU TRONG IP-VPN......................................................................71
4.1 Giới thiệu...........................................................................................................71
4.2 Mật mã...............................................................................................................72
4.2.1 Khái niệm mật mã.................................................................................................72
4.2.2 Các hệ thống mật mã khóa đối xứng....................................................................73
4.2.2.1 Các chế độ làm việc ECB, CBC........................................................................73
4.2.2.2 Giải thuật DES (Data Encryption Standard)....................................................75
4.2.2.3 Giới thiệu AES (Advanced Encryption Standard)............................................77
4.2.2.4Thuật toán mật mã luồng (stream cipher).........................................................78
4.2.3 Hệ thống mật mã khóa công khai........................................................................78
4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai...................................................78
4.2.3.2 Hệ thống mật mã khóa công khai RSA.............................................................80
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman............................................................82
4.3 Xác thực.............................................................................................................83
4.3.1 Xác thực tính toàn vẹn của dữ liệu......................................................................83
4.3.1.1 Giản lược thông điệp MD dựa trên các hàm băm một chiều...........................83
4.3.1.2 Mã xác thực bản tin MAC dựa trên các hàm băm một chiều sử dụng khóa.....87
4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai.......................................89
4.3.2 Xác thực nguồn gốc dữ liệu..................................................................................90

Bùi Văn Nhật 45K2 ĐTVT iii


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

4.3.2.1 Các phương thức xác thực................................................................................90


4.3.2.2 Các chứng thực số (digital certificates)...........................................................92
Chương 5
THỰC HIỆN IP-VPN..................................................................................................96
5.1 Giới thiệu...........................................................................................................96
5.2 Các mô hình thực hiện IP-VPN.........................................................................97
5.2.1 Access VPN............................................................................................................98
5.2.1.1 Kiến trúc khởi tạo từ máy khách.......................................................................98
5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS.................................................99
5.2.2 Intranet IP-VPN và Extranet IP-VPN.................................................................99
5.2.3 Một số sản phẩm thực hiện VPN........................................................................100
5.3 Ví dụ về thực hiện IP-VPN..............................................................................100
5.3.1 Kết nối Client-to-LAN.........................................................................................101
5.3.2 Kết nối LAN-to-LAN...........................................................................................103
KẾT LUẬN...............................................................................................................104
Tài liệu tham khảo.....................................................................................................106
Các website tham khảo..............................................................................................107

Bùi Văn Nhật 45K2 ĐTVT iv


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Danh mục bảng biểu

Bảng 3.1: Các RFC đưa ra có liên quan đến IPSec......................................................38


Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny.....................................................59
Bảng 3.3: Tổng kết chương các giao thức của IPSec...................................................70
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng..................................71
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC..............................80
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp........................................................81
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman...................................82
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen...........................................100

Bùi Văn Nhật 45K2 ĐTVT v


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Danh sách hình vẽ

Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP.........................................................4


Hình 1.2: Định tuyến khi sử dụng IP Datagram.............................................................5
Hình 1. 3: Giao thức kết nối vô hướng...........................................................................6
Hình 1.4: Cấu trúc gói tin IPv4......................................................................................6
Hình 1.5: Hiện tượng phân mảnh trong IP.....................................................................8
Hình 1.6: Các lớp địa chỉ IPv4.......................................................................................9
Hình 1.7: Cấu trúc tiêu đề IPv6....................................................................................10
Hình 1.8: Cấu trúc tiêu đề UDP...................................................................................12
Hình 1.9: Cấu trúc tiêu đề TCP....................................................................................12
Hình 1.10: Thiết lập kết nối theo giao thức TCP..........................................................14
Hình 1.11: Thủ tục đóng kết nối TCP..........................................................................15
Hình 1.12: Cơ chế cửa sổ trượt với kích thước cố định................................................17
Hình 2.1: Truyền Tunnel trong nối mạng riêng ảo.......................................................21
Hình 2.2: Che đậy địa chỉ IP riêng bằng truyền Tunnel...............................................22
Hình 2.3: IP-VPN truy nhập từ xa................................................................................25
Hình 2.4: Intranet IP-VPN...........................................................................................26
Hình 2.5: Extranet IP-VPN..........................................................................................26
Hình 2.6: Gói dữ liệu của kết nối điều khiển PPTP......................................................29
Hình 2.7: Dữ liệu đường ngầm PPTP..........................................................................29
Hình 2.8: Sơ đồ đóng gói PPTP...................................................................................30
Hình 2.9: Bản tin điều khiển L2TP..............................................................................32
Hình 2.10: Đóng bao gói tin L2TP...............................................................................32
Hình 2.11: Sơ đồ đóng gói L2TP.................................................................................34
Hình 3.1 Gói tin IP ở kiểu Transport............................................................................39
Hình 3.2: Gói tin IP ở kiểu Tunnel...............................................................................39
Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel.................................................40
Hình 3.4: Cấu trúc tiêu đề AH cho IPSec Datagram....................................................41
Hình 3.5: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport....................43
Hình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport........................43

Bùi Văn Nhật 45K2 ĐTVT vi


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Hình 3.7: Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel...........................................44


Hình 3.8: Xử lý đóng gói ESP.....................................................................................46
Hình 3.9: Khuôn dạng gói ESP....................................................................................46
Hình 3.10: Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport.................48
Hình 3.11: Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport.................49
Hình 3.12: Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel........................................49
Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau.................................55
Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau.............................55
Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau....................55
Hình 3.16: Các chế độ chính, chế độ tấn công, chế độ nhanh của IKE........................57
Hình 3.17: Danh sách bí mật ACL...............................................................................58
Hình 3.18: IKE pha thứ nhất sử dụng chế độ chính (Main Mode)...............................59
Hình 3.19: Các tập chuyển đổi IPSec...........................................................................62
Hình 3.20: Ví dụ về hoạt động của IP-VPN sử dụng IPSec.........................................69
Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã.........................72
Hình 4.2: Chế độ chính sách mã điện tử ECB..............................................................74
Hình 4.3: Thuật toán mật mã khối ở chế độ CBC........................................................74
Hình 4.4: Sơ đồ thuật toán DES...................................................................................75
Hình 4.5: Mạng Fiestel................................................................................................76
Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng................................77
Hình 4.7: Mật mã luồng...............................................................................................78
Hình 4.8: Sơ đồ mã khóa công khai.............................................................................79
Hình 4.9: Một bít thay đổi trong bản tin dẫn đến 50% các bít MD thay đổi................85
Hình 4.10: Các hàm băm thông dụng MD5, SHA........................................................86
Hình 4.11: Cấu trúc cơ bản của MD5, SHA.................................................................86
Hình 4.12: Xác thực tính toàn vẹn dựa trên mã xác thực bản tin MAC.......................87
Hình 4.13: Quá trình tạo mã xác thực bản tin MAC....................................................88
Hình 4.14: Chữ ký số...................................................................................................90
Hình 4.15: Giao thức hỏi đáp MAC.............................................................................91
Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số.........................................................92
Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust)........................................93

Bùi Văn Nhật 45K2 ĐTVT vii


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs).....................94
Hình 4.19: Cấu trúc chung của một chứng thực X.509................................................95
Hình 5.1: Ba mô hình IP-VPN.....................................................................................97
Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng.............................98
Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ.......................................................99
Hình 5.4: IP-VPN khởi tạo từ routers..........................................................................99
Hình 5.5: Các thành phần của kết nối Client-to-LAN................................................101
Hình 5.6: Đường ngầm IPSec Client-to-LAN............................................................102
Hình 5.7: Phần mềm IPSec Client..............................................................................103
Hình 5.8: Đường ngầm IPSec LAN-to-LAN.............................................................104

Bùi Văn Nhật 45K2 ĐTVT viii


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Ký hiệu viết tắt

Viết tắtChú giải tiếng Anh Chú giải tiếng Việt


3DES Triple DES Thuật toán mã 3DES
AA Acccess Accept Chấp nhận truy nhập
AAA Authentication, Authorization Nhận thực, trao quyền và thanh toán
and Accounting
AC Access Control Điều khiển truy nhập
ACK Acknowledge Chấp nhận
ACL Acess Control List Danh sách điều khiển truy nhập
ADSL Asymmetric Digital Subscriber Công nghệ truy nhập đường dây thuê
Line bao số không đối xứng
AH Authentication Header Giao thức tiêu đề xác thực
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
ARPA Advanced Research Project Cục nghiên cứu các dự án tiên tiến của
Agency Mỹ
ARPANET Advanced Research Project Mạng viễn thông của cục nghiên cứu
Agency dự án tiên tiến Mỹ
ATM Asynchronous Transfer Mode Phương thức truyền tải không đồng bộ
BGP Border Gateway Protocol Giao thức định tuyến cổng miền
B-ISDN Broadband-Intergrated Service Mạng số tích hợp đa dịch vụ băng rộng
Digital Network
BOOTP Boot Protocol Giao thức khởi đầu
CA Certificate Authority Thẩm quyền chứng nhận
CBC Cipher Block Chaining Chế độ chuỗi khối mật mã
CHAP Challenge - Handshake Giao thức nhận thực đòi hỏi bắt tay
Authentication Protocol
CR Cell Relay Công nghệ chuyển tiếp tế bào
CSU Channel Service Unit Đơn vị dịch vụ kênh
DCE Data communication Equipment Thiết bị truyền thông dữ liệu
DES Data Encryption Standard Thuật toán mã DES
DH Diffie-Hellman Giao thức trao đổi khóa Diffie-Hellman
DLCI Data Link Connection Identifier Nhận dạng kết nối lớp liên kết dữ liệu
DNS Domain Name System Hệ thông tên miền
DSL Digital Subscriber Line Công nghệ đường dây thuê bao số
DSLAM DSL Access Multiplex Bộ ghép kênh DSL
DTE Data Terminal Equipment Thiết bị đầu cuối số liệu
EAP Extensible Authentication Giao thức xác thực mở rộng

Bùi Văn Nhật 45K2 ĐTVT ix


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Protocol
ECB Electronic Code Book Mode Chế độ sách mã điện tử
ESP Encapsulating Sercurity Payload Giao thức đóng gói an toàn tải tin
FCS Frame Check Sequence Chuỗi kiểm tra khung
FDDI Fiber Distributed Data Interface Giao diện dữ liệu cáp quang phân tán
FPST Fast Packet Switched Kỹ thuật chuyển mạch gói nhanh
Technology
FR Frame Relay Công nghệ chuyển tiếp khung
FTP File Transfer Protocol Giao thức truyền file
GRE Generic Routing Encapsulation Đóng gói định tuyến chung
HMAC Hashed-keyed Message Mã nhận thực bản tin băm
Authenticaiton Code
IBM International Bussiness Machine Công ty IBM
ICMP Internet Control Message Giao thức bản tin điều khiển Internet
Protocol
ICV Intergrity Check Value Giá trị kiểm tra tính toàn vẹn
IETF Internet Engineering Task Force Cơ quan tiêu chuẩn kỹ thuật cho Internet
IKE Internet Key Exchange Giao thức trao đổi khóa
IKMP Internet Key Management Giao thức quản lí khóa qua Internet
Protocol
IN Intelligent Network Công nghệ mạng thông minh
IP Internet Protocol Giao thức lớp Internet
IPSec IP Security Protocol Giao thức an ninh Internet
ISAKMP Internet Security Association Giao thức kết hợp an ninh và quản lí
and Key Management Protocol khóa qua Internet

ISDN Intergrated Service Digital Mạng số tích hợp đa dịch vụ


Network
ISO International Standard Tổ chức chuẩn quốc tế
Organization
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
IV Initial Vector Véc tơ khởi tạo
L2F Layer 2 Forwarding 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 cục bộ
LCP Link Control Protocol Giao thức điều khiển đường truyền
MAC Message Authentication Code Mã nhận thực bản tin
MD5 Message Digest 5 Thuật toán tóm tắt bản tin MD5

Bùi Văn Nhật 45K2 ĐTVT x


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

MTU Maximum Transfer Unit Đơn vị truyền tải lớn nhất


NAS Network Access Server Máy chủ truy nhập mạng
NGN Next Generation Network Mạng thế hệ kế tiếp
NSA National Sercurity Agency Cơ quan an ninh quốc gia Mỹ
OSI Open System Interconnnection Kết nối hệ thống mở
OSPF Open Shortest Path First Giao thức định tuyến OSPF
PAP Password Authentication Giao thức nhận thực khẩu lệnh
Protocol
PDU Protocol Data Unit Đơn vị dữ liệu giao thức
PKI Public Key Infrastructure Cơ sở hạn tầng khóa công cộng
POP Point - Of - Presence Điểm hiển diễn
PPP Point-to-Point Protocol Giao thức điểm tới điểm
PPTP Point-to-Point Tunneling Giao thức đường ngầm điểm tới điểm
Protocol
PSTN Public Switched Telephone Mạng chuyển mạch thoại công cộng
Network
RADIUS Remote Authentication Dial-in Dịch vụ nhận thực người dùng quay số
User Service từ xa
RARP Reverse Address Resolution Giao thức phân giải địa chỉ ngược
Protocol
RAS Remote Access Service Dịch vụ truy nhập từ xa
RFC Request for Comment Các tài liệu về tiêu chuẩn IP do IETF
đưa ra
RIP Realtime Internet Protocol Giao thức báo hiệu thời gian thực
RSA Rivest-Shamir-Adleman Tên một quá trình mật mã bằng khóa
công cộng
SA Security Association Liên kết an ninh
SAD SA Database Cơ sở dữ liệu SA
SHA-1 Secure Hash Algorithm-1 Thuật toán băm SHA-1
SMTP Simple Mail Transfer Protocol Giao thức truyền thư đơn giản
SN Sequence Number Số thứ tự
SPI Security Parameter Index Chỉ số thông số an ninh
SS7 Signalling System No7 Hệ thống báo hiệu số 7
TCP Transmission Control Protocol Giao thức điều khiển truyền tải
TFTP Trivial File Transfer Protocol Giao thức truyền file bình thường
TLS Transport Level Security An ninh mức truyền tải

Bùi Văn Nhật 45K2 ĐTVT xi


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

UDP User Data Protocol Giao thức dữ liệu người sử dụng


VPN Virtual Private Network Mạng riêng ảo
WAN Wide Area Network Mạng diện rộng

Các ký hiệu toán học


Ký hiệu Ý nghĩa
C Văn bản mật mã.
D Thuật toán giải mã.
DK Thuật toán giải mã với khóa K.
E Thuật toán mật mã.
EK Thuật toán mật mã với khóa K.
IV Vectơ khởi tạo.
K Khóa K.
KR Khóa bí mật.
KU Khóa công cộng.
Li, Ri Bít bên trái và bên phải tại vòng thứ i của thuật toán mã hóa DES.
P Văn bản rõ.

Bùi Văn Nhật 45K2 ĐTVT xii


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

LỜI NÓI ĐẦU

Cùng với xu thế toàn cầu hóa, sự mở rộng giao lưu hợp tác quốc tế ngày càng
tăng, quan hệ hợp tác kinh doanh không chỉ dừng lại trong phạm vi một huyện, một tỉnh,
một nước mà còn mở rộng ra toàn thế giới. Một công ty có thể có chi nhánh, có các đối
tác kinh doanh ở nhiều quốc gia và giữa họ luôn có nhu cầu trao đổi thông tin với nhau.
Để bảo đảm bí mật các thông tin được trao đổi thì theo cách truyền thống người ta dùng
các kênh thuê riêng, nhưng nhược điểm là nó đắt tiền, gây lãng phí tài nguyên khi dữ
liêu trao đổi không nhiều và không thường xuyên. Vì thế người ta đã nghiên cứu ra
những công nghệ khác vẫn có thể đáp ứng được nhu cầu trao đổi thông tin như thế
nhưng đỡ tốn kém và thuận tiện hơn, đó là giải pháp mạng riêng ảo.
VPN được định nghĩa là mạng kết nối các site khách hàng đảm bảo an ninh trên
cơ sở hạ tầng mạng chung cùng với các chính sách điều khiển truy nhập và đảm bảo an
ninh như một mạng riêng. Đã có rất nhiều phương án triển khai VPN như: X.25, ATM,
Frame Relay, leased line… Tuy nhiên khi thực hiện các giải pháp này thì chi phí rất lớn
để mua sắm các thiết bị, chi phí cho vận hành, duy trì, quản lý rất lớn và do doanh
nghiệp phải gánh chịu trong khi các nhà cung cấp dịch vụ chỉ đảm bảo về một kênh
riêng cho số liệu và không chắc chắn về vấn đề an ninh của kênh riêng này.
Các tổ chức, doanh nghiệp sử dụng dịch vụ IP VPN sẽ tiết kiệm được rất nhiều
chi phí trong việc muốn kết nối các chi nhánh văn phòng với nhau, truy cập từ xa vào
mạng nội bộ, gọi điện thoại VoIP, với độ bảo mật cao. Hiện nay ADSL đã trở nên phổ
biến, chi phí thấp, nên việc thực hiện IP VPN trở nên rất đơn giản, hiệu quả vì tận dụng
được đường truyền Internet tốc độ cao. Tính tương thích của IP VPN cao vì sự phổ biến
của nó, nên bạn có thể kết hợp nhiều thiết bị của những sản phẩm thương hiệu khác
nhau.
Trên cơ sở đó, tôi quyết định chọn hướng nghiên cứu đô án của mình là công
nghệ IP-VPN.
Mục đích của đồ án là tìm hiểu những vấn đề kỹ thuật cơ bản có liên quan đến
việc thực hiện IP-VPN.
Bố cục của đồ án gồm 5 chương:
- Chương 1: Bộ giao thức TCP/IP. Chương này trình bày khái quát về bộ giao
thức của TCP/IP.
- Chương 2: Công nghệ mạng riêng ảo trên Internet IP-VPN. Chương này trình
bày các khái niệm VPN, bắt đầu với việc phân tích khái niệm IP-VPN, ưu điểm của nó

Bùi Văn Nhật 45K2ĐTVT 1


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

có thể trở thành một giải pháp có khả năng phát triển mạnh trên thị trường. Tiếp theo là
trình bày về các khối chức năng cơ bản của IP-VPN, phân loại mạng riêng ảo theo cấu
trúc của nó. Cuối cùng là trình bày về các giao thức đường ngầm sử dụng cho IP-VPN.
Chương 3: Giao thức IPSec cho IP-VPN. Chương này trình bày các vấn đề về
giao thức IPSec. Bộ giao thức rấ quan trọng IPSec dung cho IP - VPN để đảm bảo tính
toàn vẹn dữ liệu, tính nhất quán, tính bí mật và xác thực của truyền dữ liệu trên một hạ
tầng mạng công cộng.
Chương 4: An toàn dữ liệu trong IP-VPN. Trình bày một số thuật toán được áp
dụng để đảm bảo an toàn dữ liệu cho IP-VPN dựa trên IPSec
Chương 5: Thực hiện IP – VPN. Chương này trình bày các phương pháp thực
hiện IP – VPN hiện đang được sử dụng.
Công nghệ IP - VPN không phải là một vấn đề mới mẻ trên thể giới và cũng đang
được triển khai rộng rãi ở Việt Nam. Tuy nhiên để có thể triển khai được một cách hoàn
chỉnh thì còn có rất nhiều khó khăn phải giải quyết, đồ án chỉ dừng lại ở mức độ nghiên
cứu lý thuyết và có những phân tích cơ bản.
Em xin gửi lời cảm ơn chân thành đến Trường Đại học Vinh, các thầy cô trong
Khoa Công Nghệ đã tạo điều kiện giúp đỡ em trong quá trình học tập và nghiên cứu. Và
đặc biệt em xin bày tỏ lòng kính trọng và biết ơn sâu sắc đến Ts. Phạm Văn Bình,
giảng viên Đại học Bách Khoa Hà Nội, người đã tận tình hướng dẫn và chỉ bảo em
trong quá trình nghiên cứu, xây dựng và hoàn thành đồ án.
Mặc dù nhận được rất nhiều sự giúp đỡ của thầy hướng dẫn, các thầy cô giáo và
sự cố gắng của bản thân nhưng đồ án không tránh khỏi sai sót vì vậy tôi mong nhận
được sự đóng góp nhiều hơn nữa ý kiến từ phía các thầy cô và ban bè cùng những người
quan tâm đến lĩnh vực này.

Vinh, tháng 5 năm 2009

Sinh viên: Bùi Văn Nhật

Bùi Văn Nhật 45K2ĐTVT 2


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Chương 1
BỘ GIAO THỨC TCP/IP
1.1 Khái niệm mạng Internet
Tháng 6/1968, một cơ quan của Bộ Quốc phòng Mỹ là Cục các dự án nghiên cứu
tiên tiến (Advanced Research Project Agency - viết tắt là ARPA) đã xây dựng dự án nối
kết các trung tâm nghiên cứu lớn trong toàn liên bang với mục tiêu là chia sẻ, trao đổi tài
nguyên thông tin, đánh dấu sự ra đời của ARPANET - tiền thân của mạng Internet hôm
nay. Ban đầu, giao thức truyền thông được sử dụng trong mạng ARPANET là NCP
(Network Control Protocol), nhưng sau đó được thay thế bởi bộ giao thức TCP/IP
(Transfer Control Protocol/ Internet Protocol). Bộ giao thức TCP/IP gồm một tập hợp các
chuẩn của mạng, đặc tả chi tiết cách thức cho các máy tính thông tin liên lạc với nhau,
cũng như quy ước cho đấu nối liên mạng và định tuyến cho mạng.
Trước đây, người ta định nghĩa “Internet là mạng của tất cả các mạng sử dụng
giao thức IP”. Nhưng hiện nay, điều đó không còn chính xác nữa vì nhiều mạng có kiến
trúc khác nhau nhưng nhờ các cầu nối giao thức nên vẫn có thể kết nối vào Internet và
vẫn có thể sử dụng đầy đủ các dịch vụ Internet. Internet không chỉ là một tập hợp các
mạng được liên kết với nhau, Internetworking còn có nghĩa là các mạng được liên kết
với nhau trên cơ sở cùng đồng ý với nhau về các quy ước mà cho phép các máy tính liên
lạc với nhau, cho dù con đường liên lạc sẽ đi qua những mạng mà chúng không được
đấu nối trực tiếp tới. Như vây, kỹ thuật Internet che dấu chi tiết phần cứng của mạng, và
cho phép các hệ thống máy tính trao đổi thông tin độc lập với những liên kết mạng vật lý
của chúng.
TCP/IP có những đặc điểm sau đây đã làm cho nó trở nên phổ biến:
Độc lập với kến trúc mạng: TCP/IP có thể sử dụng trong các kiến trúc Ethernet, Token
Ring, trong mạng cục bộ LAN cũng như mạng diện rộng WAN.
 Chuẩn giao thức mở: vì TCP/IP có thể thực hiện trên bất kỳ phần cứng hay hệ
điều hành nào. Do đó, TCP/IP là tập giao thức lý tưởng để kết hợp phần cứng
cũng như phần mềm khác nhau.
 Sơ đồ địa chỉ toàn cầu: mỗi máy tính trên mạng TCP/IP có một địa chỉ xác
định duy nhất. Mỗi gói dữ liệu được gửi trên mạng TCP/IP có một Header gồm
địa chỉ của máy đích cũng như địa chỉ của máy nguồn.
 Khung Client - Server: TCP/IP là khung cho những ứng dụng client - server
mạnh hoạt động trên mạng cục bộ và mạng diện rộng.

Bùi Văn Nhật 45K2ĐTVT 3


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

 Chuẩn giao thức ứng dụng: TCP/IP không chỉ cung cấp cho người lập trình
phương thức truyền dữ liệu trên mạng giữa các ứng dụng mà còn cung cấp nhiều
phương thức mức ứng dụng (những giao thức thực hiện các chức năng dùng như
E-mail, truyền nhận file).
1.2 Mô hình phân lớp bộ giao thức TCP/IP
Bộ giao thức TCP/IP là sự kết hợp của các giao thức khác nhau ở các lớp khác
nhau, không chỉ có các giao thức TCP và IP. Mỗi lớp có chức năng riêng. Mô hình
TCP/IP được tổ chức thành 4 lớp (theo cách nhìn từ phía ứng dụng xuống lớp vật lý)
như sau:

Hình 1.1: Mô hình phân lớp bộ giao thức TCP/IP


 Lớp ứng dụng (Application layer): Điều khiển chi tiết từng ứng dụng cụ thể.
Nó tương ứng với các lớp ứng dụng, trình diễn trong mô hình OSI. Nó gồm các
giao thức mức cao, mã hóa, điều khiển hội thoại … Các dịch vụ ứng dụng như
SMTP, FTP, TFTP … Hiện nay có hàng trăm hoặc thậm chí hàng nghìn các giao
thức thuộc lớp này. Các chương trình ứng dụng giao tiếp với các giao thức ở lớp
vận chuyển để truyền và nhận dữ liệu. Chương trình ứng dụng truyền dữ liệu ở
dạng yêu cầu đến lớp vận chuyển để xử lý trước khi chuyển xuống lớp Internet để
tìm đường đi.
 Lớp vận chuyển (Transport layer): Chịu trách nhiệm truyền thông điệp
(message) từ một số tiến trình (một chương trình đang chạy) tới một tiến trình
khác. Lớp vận chuyển sẽ đảm bảo thông tin truyền đến nơi nhận không bị lỗi và
đúng theo trật tự. Nó có 2 giao thức rất khác nhau là giao thức điều khiển truyền
dẫn TCP và giao thức dữ liệu đồ người sử dụng UDP.

Bùi Văn Nhật 45K2ĐTVT 4


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

 Lớp Internet (Internet layer): Cung cấp chức năng đánh địa chỉ, độc lập phần
cứng mà nhờ đó dữ liệu có thể di chuyển giữa các mạng con có kiến trúc vật lý
khác nhau. Lớp này điều khiển việc chuyển gói qua mạng, định tuyến gói. (Hỗ trợ
giao thức liên IP - khái niệm liên mạng là nói tới mạng lớn hơn: mạng liên kết giữa
các mạng LAN). Các giao thức của lớp này là IP, ICMP, ARP, RARP.
 Lớp truy cập mạng (Network Access Network): Cung cấp giao tiếp với mạng
vật lý. (Thông thường lớp này bao gồm các driver thiết bị trong hệ thống vận
hành và các card giao diện mạng tương ứng trong máy tính. Lớp này thực hiện
nhiệm vụ điều khiển tất cả các chi tiết phần cứng hoặc thực hiện giao tiếp vật lý
vớ cácp (hoặc với bất kỳ môi trường nào được sử dụng)). Cung cấp kiểm soát lỗi
dữ liệu phân bố trên mạng vật lý. Lớp này không định nghĩa một giao thức riêng
nào cả, nó hỗ trợ tất cả các giao thức chuẩn và độc quyền. Ví dụ: Ethernet,
Tocken Ring, FDDI, X.25, wireless, Async, ATM, SNA…
1.3 Các giao thức trong mô hình TCP/IP
1.3.1 Giao thức Internet

1.3.1.1 Giới thiệu chung

Mục đích của giao thức Internet là chuyển thông tin (dữ liệu) từ nguồn tới đích.
IP sử dụng các gói tin dữ liệu đồ (datagram). Mỗi datagram có chứa địa chỉ đích và IP sử
dụng thông tin này để định tuyến gói tin tới đích của nó theo đường đi thích hợp. Các
gói tin của cùng một cặp người sử dụng dùng những tuyến thông tin khác nhau, việc
định tuyến là riêng biệt đối với từng gói tin. Giao thức IP không lưu giữ trạng thái, sau
khi datagram được chuyển đi thì bên gửi không còn lưu thông tin gì về nó nữa, vì thế mà
không có phương pháp nào để phát hiện các gói bị mất và có thể dẫn tới trình trạng lặp
gói và sai thứ tự gói tin.
1 1

2
1

3 1 2
2
3

3 2

Hình 1.2: Định tuyến khi sử dụng IP Datagram.

Bùi Văn Nhật 45K2ĐTVT 5


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Giao thức Internet là giao thức phi kết nối (connectionless), nghĩa là không cần
thiết lập đường dẫn trước khi truyền dữ liệu và mỗi gói tin được xử lí độc lập. IP không
kiểm tra tổng cho phần dữ liệu của nó, chỉ có Header của gói là được kiểm tra để tránh
gửi nhầm địa chỉ. Các gói tin có thể đi được theo nhiều hướng khác nhau để tới đích. Vì
vậy dữ liệu trong IP datagram không được đảm bảo. Để xử lý nhược điểm mất hoặc lặp
gói IP phải dựa vào giao thức lớp cao hơn để truyền tin cậy (ví dụ TCP).

Data
Sender 1 Data

Data
Receiver
Data
Data
Sender 2
Data

Hình 1. 3: Giao thức kết nối vô hướng


1.3.1.2. Cấu trúc IPv4

Thông tin nhận từ lớp vận chuyển được gán thêm vào tiêu đề IP. Tiêu đề này có
chiều dài từ 20 đến 60 bytes trên đường đi tùy thuộc vào các chức năng lựa chon được
sử dụng. Cấu trúc gói IPv4 được mô tả như trong hình 1.4.

Hình 1.4: Cấu trúc gói tin IPv4


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

Bùi Văn Nhật 45K2ĐTVT 6


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* Version (phiên bản): chỉ ra phiên bản của giao thức IP dùng để tạo datagram,
được sử dụng để máy gửi, máy nhận, các bộ định tuyến cùng thống nhất về định dạng
lược đồ dữ liệu. Ở đây phiên bản là IPv4.
* IP header length (độ dài tiêu đề IP): cung cấp thông tin về độ dài của tiêu đề
datagram được tính theo các từ 32 bit.
* Type of service (loại dịch vụ): trường loại phục vụ dài 8 bit gồm 2 phần, trường
ưu tiên và kiểu phục vụ. Trường ưu tiên gồm 3 bit dùng để gán mức ưu tiên cho
datagram, cung cấp cơ chế cho phép điều khiển các gói tin qua mạng. Các bit còn lại
dùng để xác định kiểu lưu lượng datagram tin khi nó chuyển qua mạng như đặc tính
thông, độ trễ và độ tin cậy. Tuy nhiên, bản thân mạng Internet không đảm bảo chất
lượng dịch vụ, vì vậy trường này chỉ mạng tính yêu cầu chứ không mang tính đòi hỏi đối
với các bộ định tuyến.
* Total length (tổng độ dài): trường này gồm 16 bit, nó sử dụng để xác định chiều
dài của toàn bộ IP datagram.
* Identification (nhận dạng): trường nhận dạng dài 16 bit. Trường này được máy
chủ dùng để phát hiện và nhóm các đoạn bị chia nhỏ ra của gói tin. Các bộ định tuyến sẽ
chia nhỏ các datagram nếu như dơn vị truyền tin lớn nhất của gói tin (MTU-Maximum
Transmission Unit) lớn hơn MTU của môi trường truyền.
* Flags (cờ): chứa 3 bit được sử dụng cho quá trình điều khiển phân đoạn, bít đầu
tiên chỉ thị tới các bộ định tuyến cho phép hoặc không cho phép phân đoạn gói tin, 2 bit
giá trị thấp được sử dụng điều khiển phân đoạn, kết hợp với trường nhận dạng để xác
định được gói tin nhận sau quá trình phân đoạn.Fragment offset: mạng thông tin về số
lần chỉa một gói tin, kích thước của gói tin phụ thuộc vào mạng cơ sở truyền tin, tức là
đọ dài gói tin không thể vượt quá MTU của môi trường truyền.
* Time - to - live (thời gian sống): được dùng để ngăn việc các gói tin lặp vòng
trên mạng. Nó có vai trò như một bộ đếm ngược, tránh hiện tượng các gói tin đi quá lâu
trong mạng. Bất kì gói tin nào có thời gian sống bằng 0 thì gói tin đó sẽ bị bộ định tuyến
hủy bỏ và thông báo lỗi sẽ được gửi về trạm phát gói tin.
* Protocol (giao thức): trường này được dùng để xác nhận giao thức tầng kế tiếp
mức cao hơn đang sử dụng dịch vụ IP dưới dạng con số.
* Header checksum: trường kiểm tra tổng header có độ dài 16 bit, được tính toán
trong tất cả các trường của tiêu đề IPv4. Một gói tin khi đi qua các bộ định tuyến thì các
trường trong phần tiêu đề có thể bị thay đổi, vì vậy trường này cần phải được tính toán
và cập nhập lại để đảm bảo độ tin cậy của thông tin định tuyến.

Bùi Văn Nhật 45K2ĐTVT 7


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* Source Address - Destination Address (địa chỉ nguồn và địa chỉ đích): được các
bộ định tuyến và các gateway sử dụng để định tuyến các đơn vị số liệu, luôn luôn đi
cùng với gói tin từ nguồn tới đích.
* Option and Padding (tùy chọn và đệm): có độ dài thay đổi, dùng để thêm thông
tin chọn và chèn đầy đảm bảo số liệu bắt đầu trong phạm vi 32 bit.

1.3.1.3. Phân mảnh IP và hợp nhất dữ liệu

Giao thức IP khi thực hiện phải luôn có các thuật toán phân chia và hợp nhất dữ
liệu. Vì mỗi datagram đều được quy định một kích thước khung cho phép tối đa trên một
kết nối điểm - điểm, được gọi là MTU. Khi đi qua các mạng khác nhau có các MTU
khác nhau, gói sẽ bị phân chia tùy theo giá trị MTU của mạng đó. Việc xác định MTU
của một mạng phụ thuộc vào các đặc điểm của mạng sao cho gói được truyền đi với tốc
độ cao nhất.
Trong quá trình di chuyển từ nguồn tới đích, một datagram có thể đi qua nhiều
mạng khác nhau. Mỗi Router mở gói IP datagram từ khung dữ liệu nó nhận được, xử lý
và sau đó đóng gói nó trong một khung dữ liệu khác. Các datagram hình thành sau khi
phân chia sẻ được đánh số thứ tự để tiện lợi cho qua trình hợp nhất sau này. Định dạng
và kích cỡ của khung dữ liệu nhận được phụ thuộc vào giao thức của mạng vật lý mà
khung dữ liệu đi qua. Nếu IP cần chuyển datagram có kích cỡ lớn hơn MTU thì nó gửi
datagram trong các mảnh (fragment), các mảnh này sẽ được ghép lại ở đầu thu để trở lại
trạng thái ban đầu. Hình 1.5 minh họa hiện tượng phân mảnh.

Hình 1.5: Hiện tượng phân mảnh trong IP


Khi phân mảnh, hầu hết các trường sẽ được lặp lại, chỉ có một vài thay đổi và mỗi
mảnh sẽ lại được tiếp tục bị chia nhỏ nếu nó gặp phải mạng có MTU nhỏ hơn kích thước

Bùi Văn Nhật 45K2ĐTVT 8


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

của nó. Chỉ có host đích là có khả năng ghép các mảnh lại với nhau. Vì mỗi mảnh được
xử lý độc lập nên có thể đi qua nhiều mạng và node khác nhau để tới đích.
1.3.1.4. Địa chỉ và định tuyến IP

Địa chỉ: Mỗi trạm trong mạng đều được đặc trưng bởi một số hiệu nhất định gọi
là địa chỉ IP. Địa chỉ IP được sử dụng trong lớp mạng để định tuyến các gói tin qua
mạng. Do tổ chức và độ lớn của các mạng con trong liên mạng khác nhau, nên người ta
chia địa chỉ IP thành các lớp A, B, C, D, E.

Hình 1.6: Các lớp địa chỉ IPv4


Định tuyến trong mạng Internet: việc định tuyến trong một hệ thống mạng
chuyển gói chỉ ra tiến trình lựa chọn tuyến đường để gửi gói dữ liệu qua hệ thống đó.
Router chính là thành phần thực hiện chức năng bộ định tuyến. Việc định tuyến sẽ tạo
nên mạng ảo bao gồm nhiều mạng vật lý cung cấp dịch vụ phát chuyển gói tin theo một
phương thức phi kết nối. Có nhiều giao thức và phần mềm khác nhau được sử dụng để
định tuyến. Việc chọn kênh cho một gói tin dựa trên hai tiêu chuẩn: trạng thái của các
nút và liên kết hoặc khoảng cách tới đích (chiều dài quãng đường hoặc số hop trên
đường). Một khi tiêu chuẩn khoảng cách được chọn thì các tham số khác như: độ trễ,
băng thông hoặc xác suất mất gói…được tính đến khi lựa chọn tuyến.
1.3.1.5. Cấu trúc gói tin IPv6

Thế giới đang đối mặt với việc thiếu địa chỉ IP cho các thiết bị mạng, địa chỉ dài
32 bit không đáp ứng được sự bùng nổ của mạng. Thêm nữa, IPv4 là giao thức cũ,
không đáp ứng được các yêu cầu mới về bảo mật, sự linh hoạt trong định tuyến và hỗ trợ
lưu lượng. Diễn đàn IPv6 được bắt đầu vào tháng 7-1999 bởi 50 nhà cung cấp Internet
hàng đầu với mục đích phát triển giao thức IPv6, nó được thiết kế bao gồm các chức
năng và định dạng mở rộng hơn IPv4 để giải quyết vấn đề cải thiện chất lượng và bảo

Bùi Văn Nhật 45K2ĐTVT 9


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

mật của Internet. IPv6 đặc biệt quan trong khi các thiết bị tính toán di động tiếp tục tham
gia vào Internet trong tương lai.
Do sự thay đổi bản chất của Internet và mạng thương mại mà giao thức liên mạng
IP trở nên lỗi thời. Trước đây, Internet và hầu hết mạng TCP cung cấp sự hỗ trợ các ứng
dụng phân tán khá đơn giản như truyền file, mail, truy nhập từ xa TELNET. Song ngày
nay, Internet ngày càng trở thành phương tiện, môi trường giàu tính ứng dụng, dẫn đầu là
dịch vụ www (World Wide Web). Tất cả sự phát triển này đã bỏ xa khả năng đáp ứng
chức năng và dịch vụ của IP. Một môi trường liên mạng cần phải hỗ trợ lưu lượng thời
gian thực, kế hoạch điều khiển tắc nghẽn linh hoạt và các đặc điểm bảo mật mà IPv4 hiện
không đáp ứng được đầy đủ. Hình 1.7 minh họa cấu trúc gói tin IPv6.
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

version Traffic Class Flow Label

Payload length Next Header Hop Limit


40 octet

Source Address

Destination Address

Hình 1.7: Cấu trúc tiêu đề IPv6


* Version (phiên bản): chỉ ra phiên bản IPv6.
* Traffic Class (lớp lưu lượng): có độ dài 8 bit, được dùng cho việc phân biệt lưu
lượng, từ đó ảnh hưởng đến khả năng ưu tiên của lưu lượng.
* Flow Label (nhãn luồng): có độ dài 20 bit, cho phép nguồn chỉ ra loại thông tin
trong dữ liệu để xác định cách xử lý đặc biệt từ nguồn tới đích theo thứ tự gói. Ví dụ như:
thoại, khung video hai loại này sẽ được ưu tiên hơn so với dữ liệu máy tính thông thường
khi qua gateway trung chuyển trong quá trinh gói tin chuyển trên mạng.
* Payload Length (độ dài tải tin): có độ dài 16 bit, xác định độ dài của phần tải tin
phía sau header. Giá trị mặc định tối đa là 64K octet, song có thể sử dụng lớn hơn bằng
cách lập trường này bằng 0 và bao gồm trường mở rộng (sau phần header cơ bản) với
giá trị thực nằm trong trường mở rộng này. Thông tin mở rộng được mang trong các
header mở rộng tách biệt riêng. Chúng nằm sau trường địa chỉ đích và hiện nay đã có
một số header loại này được định nghĩa. Mỗi loại được phân biệt bằng các giá trị khác
nhau trong trường header.

Bùi Văn Nhật 45K2ĐTVT 10


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* Hop Limit (giới hạn bước nhảy): có độ dài 8 bit, được dùng để ngăn việc
datagram liên tục xoay vòng trở lại. Giá trị này giảm mỗi khi datagram đi qua một router
và nếu nó có giá trị bằng 0 trước khi tới được đích chỉ định thì datagram này sẽ bị hủy.
* Source Address và Destination Address (địa chỉ nguồn và địa chỉ đích): trường
địa chỉ nguồn và địa chỉ đích trong IPv6 có độ dài 128 bit, sử dụng hệ 16 (hecxa), ngăn
cách bằng dấu hai chấm.
Những đặc điểm của IPv6
+ Mở rộng không gian địa chỉ cho phép phân cấp và giải quyết được sự thiếu địa
chỉ. Với IPv6 có 2128 địa chỉ (khoảng 3,4x1038 địa chỉ).
+ Hiệu quả hơn trong việc định tuyến: việc đăng ký địa chỉ IPv6 được thiết kế để
kích cỡ của bảng định tuyến đường trục không vượt quá giá trị 10.000 trong khi kích cỡ
bảng định tuyến của IPv4 thường lớn hơn 100.000 bản ghi.
+ Tiêu đề nhỏ hơn so với các mở rộng tùy chọn, vì vậy một số trường bị loại bỏ
hoặc thay bằng tùy chọn nên làm giảm gánh nặng cho các quá trình xử lý và giảm chi
phí cho băng thông.
+ Tăng cường chất lượng dịch vụ.
+ Xây dựng sẵn cơ chế truyền tin an toàn.
+ Hỗ trợ mạng thông tin di động.
1.3.2. Giao thức lớp vận chuyển
1.3.2.1. Giao thức UDP
Giao thức UDP (User Datagram Protocol) cung cấp cơ chế chính yếu mà các
chương trình ứng dụng sử dụng để gửi đi các gói tin tới các chương trình ứng dụng khác.
UDP cung cấp các cổng để phân biệt các chương trình ứng dụng trên một máy tính đơn.
Nghĩa là, cùng với mỗi một bản tin gửi đi, mỗi bản tin UDP còn bao gồm một giá trị
cổng nguồn và cổng đích, giúp cho phần mềm UDP tại đích có thể phát chuyển gói tin
tới đúng nơi nhận và cho phép nơi nhận gửi trả lại xác nhận tin.
UDP cung cấp dịch vụ chuyển phát không định hướng, không đảm bảo độ tin cậy
như IP. UDP không sử dụng cơ chế xác nhận để đảm bảo gói tin đên đích hay không,
không thực hiện sắp xếp các bản tin và không cung cấp thông tin phản hồi để xác định
mức độ truyền thông tin giữa hai máy. Chính vì vậy, một chương trình ứng dụng sử
dụng giao thức UDP chấp nhận hoàn toàn trách nhiệm cho vấn đề xử lý độ tin cậy. Cấu
trúc tiêu đề của UDP được mô tả như trong hình 1.8.

Bùi Văn Nhật 45K2ĐTVT 11


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

0 15 31

Source Port Destination Port

8 octet
Segment length Checksum

Hình 1.8: Cấu trúc tiêu đề UDP


Các trường cổng nguồn và cổng đích chứa các giá trị 16 bit dùng cho cổng giao
thức UDP được sử dụng để tách các gói tin trong tiến trình đang đợi để nhận chúng.
Cổng nguồn là trường dữ liệu tùy chọn. Khi sử dụng, nó xác định cổng đáp xác nhận sẽ
được gửi đến. Nếu không được dùng, nó có giá trị zero. Trường độ dài chứa độ dài của
UDP tính theo octet, bao gồm cả phần đầu UDP và dữ liệu người sử dụng. Trường tổng
kiểm tra là vùng tùy chọn, cho phép việc cài đặt được thực hiện với ít bước tính toán hơn
khi sử dụng UDP trên mạng cục bộ có độ tin cậy cao. Tổng kiểm tra trong UDP cung
cấp cách duy nhất để đảm bảo rằng dữ liệu nhận được nguyên vẹn và nên được sử dụng
thường xuyên. Nếu giá trị của tổng kiểm tra bằng zero thì có nghĩa là trường tổng kiểm
tra chưa được tính và thường được thể hiện bằng cách cài đặt toàn bộ các bit 1, tránh với
trường hợp sau khi chạy thuật toán tổng kiểm tra cũng có thể sinh ra kết quả là các bit
được lập bằng 0 và giá trị của trường tổng kiểm tra cũng được xem bằng zero. UDP sử
dụng phương pháp gán phần đàu giả vào gói tin UDP, thêm vào đó một octet có giá trị
zero để có được đúng bội số của 16 bit và tính tổng cho toàn bộ. Octet được nối vào
phần đầu giả sẽ không được truyền đi cùng với gói tin UDP và chúng không được tính
đến trong phần độ dài.
1.3.2.2. Giao thức TCP

Giao thức TCP (Transmission Control Protocol) cung cấp dịch vụ truyền thông
dữ liệu định hướng truyền thống cho các chương trình - dịch vụ chuyển dòng (stream)
tin cậy. TCP cung cấp một mạch ảo, còn được gọi là kết nối. Nó cấp khả năng đứt
quảng, kiểm tra lỗi và điều khiển luồng.
a) Cấu trúc tiêu đề TCP
0 4 10 15 31

Source Port Destination Port


Sequence Number
Acknowledgement Number
40 octet

Header
length
Unused Flags Window
Checksum Urgent Pointer
Option Padding

Hình 1.9: Cấu trúc tiêu đề TCP

Bùi Văn Nhật 45K2ĐTVT 12


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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


* Source port, Destination port (cổng nguồn, cổng đích): chứa các giá trị cổng
TCP để xác định các chương trình ứng dụng tại hai đầu kết nối. Mỗi khi TCP nhận gói
dữ liệu từ IP, nó sẽ gỡ bỏ phần đầu IP và đọc phần đầu TCP. Khi đọc Destination port,
nó sẽ tìm trong tệp tin chứa các thông tin về dịch vụ để gửi dữ liệu đến chương trình ứng
với số cổng đó. Song với TCP, giá trị cổng phức tạp hơn UDP vì một giá trị cổng TCP
cho trước không tương ứng với một đối tượng đơn. Thay vì vậy, TCP được xây dựng
trên kết nối trừu tượng, trong đó các đối tượng được xác định là những liên kết mạch ảo,
không phải từng cổng. Ví dụ như giá trị 192.168.2.3,25 xác định cổng TCP 25 trên máy
tính có địa chỉ 192.168.2.3.
* Sequence Number (số thứ tự): xác định vị trí trong chuỗi các byte dữ liệu trong
segment của nơi gửi.
* Acknowledgment Number (số xác nhận): xác định số octet mà nguồn đang đợi
để nhận kế tiếp. Lưu ý là Sequence Number để chỉ đến lượng dữ liệu theo cùng chiều
với segment, trong khi giá trị Acknowledgment Number để chỉ đến dữ liệu ngược lại với
segment đến.
* Header length (độ dài tiêu đề): chứa một số nguyên để xác định độ dài của phần
đầu segment, được tính theo bội số của 32 bit. Giá trị này là cần thiết vì có phần Options
có độ dài thay đổi, tùy thuộc vào những lựa chọn đã được đưa vào.
* Unused (dự phòng): được dành riêng để sử dụng trong tương lai.
* Flags (bít mã): gồm có 6 bít để xác định mục đích và nội dung của segment,
diễn dịch các nội dung trong phần đầu dựa vào nội dung các bit. Ví dụ segment chỉ
chuyển tải ACK, hoặc chỉ chuyển đưa dữ liệu hay để tải những yêu cầu để thiết lập hoặc
ngắt nối.
* Window (cửa sổ): thông báo cho máy tính đầu cuối kích thước vùng đêm cho
quá trình truyền.
* Urgent pointer (con trỏ khẩn cấp): yêu cầu kết nối gửi dữ liệu ngoài dòng xác
định, chương trình nhận phải được thông báo lập tức ngay khi dữ liệu đến cho dù nó
nằm ở đâu trong vùng dữ liệu. Sau khi xử lý xong dữ liệu khẩn cấp, TCP thông báo cho
chương trình ứng dụng trở về trạn thái thông thường.

Bùi Văn Nhật 45K2ĐTVT 13


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Đơn vị truyền giữa hai phần mềm TCP trên hai máy được gọi là segment. Các
segment được trao đổi để thiết lập kết nối, để truyền dữ liệu, để gửi các ACK (thông báo
xác nhận đã nhận dữ liệu), để thông báo kích thước của cửa sổ (nhằm tối ưu hóa quá
trình truyền và nhận dữ liệu) và để ngắt kết nối.

b) Thiết lập và đóng một kết nối TCP


Để thiết lập một kết nối TCP sử dụng mô hình bắt tay ba bước, trong trường hợp
đơn giản có thể minh họa như sau:

Đầu cuối máy Đầu cuối máy


tính gửi Mạng tính nhận
Gửi SYN
Seq = x
Nhận SYN
Gửi SYN seq = y, ACK x+1

Nhận SYN +ACK


ACK y+1
Nhận ACK

Hình 1.10: Thiết lập kết nối theo giao thức TCP

Gói tin khởi đầu cho kết nối được xác định bởi bit SYN trong trường dữ liệu
CODE, bản tin trả lời lập giá trị cho bit SYN và ACK để chuyển ý nghĩa đồng bộ và tiếp
tục tiến trình bắt tay. Bản tin cuối cùng chỉ có ý nghĩa như một lời đáp và chỉ để đơn
giản dùng để thông báo cho đích rằng cả hai bên cùng đồng ý một kết nối đã được thiết
lập.
Tiến trình bắt tay ba bước là điều kiện cần và đủ để có sự đồng bộ chính xác giữa
hai đầu của kết nối, thông thường các phần mềm TCP thường sử dụng phương pháp đợi
thụ động để chờ kết nối, nhưng điều này không gây khó khăn trong quá trình kết nối vì
các kết nối được thiết lập từ các bên độc lập với nhau. Số thực tự được chọn ngẫu nhiên
và độc lập với nhau cũng có thể được gửi kèm cùng với dữ liệu. Trong những trường
hợp đó, phần mềm TCP giữ lại dữ liệu cho đên khi hoàn tất quá trình bắt tay kết nối.
Một khi kết nối được thiết lập, phần mêm TCP sẽ giải phóng dữ liệu trước đây và nhanh
chóng chuyển chúng tời các chương trình ứng dụng cấp cao hơn.
Thủ tục đóng kết nối TCP được thực hiện theo từng chiều, (giả thiết kết nối TCP
là song công). Một khi kết nối đóng lại theo chiều nào đó, TCP sẽ từ chối nhận thêm dữ
liệu trong kết nối của chiều đó, trong lúc dữ liệu vẫn di chuyển theo chiều ngược lại

Bùi Văn Nhật 45K2ĐTVT 14


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

cho đến khi nơi gửi thực hiện đóng kết nối. Như vây, lời đáp của kết nối vẫn được
chuyển về nơi gửi ngay cả khi kết nối đã đóng lại, khi cả hai chiều đều đóng, phần mềm
TCP tại mỗi bên xóa bỏ những ghi nhận về kết nối này.

Đầu cuối máy Đầu cuối máy


tính gửi Mạng tính nhận
Gửi FIN
Seq = x Nhận FIN
Gửi ACK x+1

Gửi FIN seq=x, ACK x+1


Nhận ACK
Nhận FIN+ACK

Gửi ACK y+1


Nhận ACK

Hình 1.11: Thủ tục đóng kết nối TCP


c) TCP là giao thức truyền tin cậy
Yêu cầu đối với TCP phát chuyển stream (luồng) là khối dữ liệu lớn và cần độ tin
cậy. Các đặc trưng đối với dịch vụ phát chuyển tin cậy gồm:
- Định hướng stream: Khi hai chương trình ứng dụng (các tiến trình của người sử
dụng) truyền những khối lượng lón dữ liệu được xem như một chuỗi bit, dữ liệu này
được chia thành các octet. Dịch vụ chuyển phát stream chuyển dữ liệu một cách chính
xác tới máy nhận.
- Kết nối kênh ảo: Thực hiện việc truyền stream cũng tương tự như thực hiện một
cuộc gọi điện thoại. Trước khi việc truyền có thể bắt đầu, cả hai chương trình ứng dụng
gửi và nhận đều phải tương tác với hệ điều hành, thông báo về yêu cầu thực hiện truyền
stream. Về mặt khái niệm, một chương trình ứng dụng sẽ thực hiện một cuộc gọi mà đầu
kia chấp nhận, tức là thiết lập kết nối - hay mạch ảo để truyền và nhận dữ liệu một các
chính xác.
- Việc truyền có vùng đệm: Các chương trình ứng dụng gửi một dòng dữ liệu qua
mạch ảo bằng cách lặp lại việc chuyển các octet dữ liệu đến phần mềm giao thức. Khi
truyền dữ liệu, mỗi chương trình ứng dụng sử dụng bất kỳ kích thước đơn vị truyền nào
nó thấy thuận tiện, có thể chỉ bằng một octet. Tại đầu nhận, phần mềm giao thức phát
chuyển một cách tự động dữ liệu theo đúng thứ tự mà chúng được gửi đi, làm cho chúng
sẵn sàng được chương trình ứng dụng nhận sử dụng ngay sau khi chúng được nhận và
kiểm tra. Phần mềm giao thức được tự do phân chia dòng dữ liệu thành những gói dữ
liệu độc lập với đơn vị mà chương trình ứng dụng truyền đi. Để làm cho việc truyền hiệu

Bùi Văn Nhật 45K2ĐTVT 15


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

quả hơn và tối thiểu giao thông trên mạng, các cài đặt thường tập hợp cho đủ dữ liệu để
đặt vào datagram có độ lớn thích hợp trước khi truyền nó qua Internet.
Như vậy ngay cả khi chương trình ứng dụng phát sinh dòng dữ liệu có kích thước
là 1 octet mỗi lần thì việc truyền qua Internet vẫn hoàn toàn hiệu quả.
Tương tự, nếu chương trình ứng dụng quyết định phát chuyển những khối dữ liệu
cực lớn, phần mềm giao thức có thể quyết định chia khối này thành những khối nhỏ hơn
khi truyền.
Đối với những chương trình ứng dụng mà dữ liệu phải được phát chuyển ngay cả
khi nó không đầy một vùng đệm, dịch vụ stream cung cấp cơ chế đẩy cho các chương
trình ứng dụng để bắt buộc truyền.
Stream không có cấu trúc: Dịch vụ TCP stream không xác định các dòng dữ liệu
có cấu trúc. Nghĩa là nó không phân biệt được cấu trúc hay nội dung phân chia bên trong
của dòng dữ liệu. Các chương trình ứng dụng sử dụng dịch vụ stream phải hiểu nội dung
stream và thống nhất với nhau về định dạng stream trước khi khởi động việc kết nối.
Kết nối hai chiều: Các kết nối do dịch vụ TCP cấp cho phép truyền đồng thời cả
hai chiều. Cách kết nối này được gọi là song công. Nghĩa là từ quan điểm của một tiến
trình ứng dụng, kết nối 2 chiều bao gồm 2 dòng dữ liệu độc lập chạy ngược nhau, không
có tương tác hay va chạm. Dịch vụ stream cho phép một tiến trình ứng dụng chấm dứt
dòng chảy theo một chiều trong khi dữ liệu vẫn tiếp tục chảy theo chiều kia làm cho kết
nối trở thành một chiều (half duplex). Ưu điểm chính của kết nối hai chiều là phần mềm
giao thức cơ sở có thể gửi thông tin điều khiển cho một tream ngược trở về nguồn trong
những datagram đang chuyển tải dữ liệu theo chiều ngược lại. Điều này làm giảm bớt
giao thông trên mạng.
Để thực hiện cung cấp tính tin cậy khi truyền tin, TCP sử dụng giao thức xác
nhận gói tin (ACK) đã nhận được và truyền lại những gói tin bị mất hoặc bị lỗi. Bộ đếm
thời gian bên gửi sẽ được kích hoạt mỗi khi gửi gói (mỗi gói được gửi sẽ được một bộ
thời gian đếm từ lúc gửi). Khi qúa thời gian của bộ đếm mà chưa nhận được ACK thì
mặc nhiên coi là mất gói hoặc hỏng gói và gói sẽ được gửi lại. Số thứ tự gói trong tiêu
đề dùng cho bên gửi và thu xác định việc mất gói và trùng lặp dữ liệu, từ đó tái truyền
hay loại bỏ gói lặp cho phù hợp.
d) Kỹ thuật cửa sổ trượt
Để thực hiện việc điều khiển luồng, TCP sử dụng kỹ thuật cửa sổ trượt. Cửa sổ
trượt có kích thước cố định hoặc có thể thay đổi được cho phép xác định số gói dữ liệu tối
đa được truyền trước khi nhận được một ACK từ đích xác nhận về. Kỹ thuật này giải
quyết vấn đề quan trọng là tăng hiệu quả truyền dẫn và điều khiển tốc độ dòng dữ liệu.

Bùi Văn Nhật 45K2ĐTVT 16


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Gửi gói 1

Gửi gói 1

Gửi gói 1
Vẫn chưa nhận Nhận gói 1, gửi ACK
được ACKnên
1 Không nhận được gói 2
không truyền AC K
đi nữa Nhận gói 3, gửi ACK
2
AC K
Gửi gói 4
3
AC K
Mất gói 2 hoặc
quá thời gian
Gửi lại gói 2

Hình 1.12: Cơ chế cửa sổ trượt với kích thước cố định


1.4 Tổng kết
Chương 1 trình bày sơ lược về bộ giao thức TCP/IP, giới thiệu chức năng cơ bản
của các lớp trong mô hình phân lớp của nó. Do phạm vi của đề tài nên chỉ tập trung đi
sâu về giao thức IP của lớp Internet và giao thức TCP/UDP của lớp giao vận.
Đối với giao thức IP, ở đây chỉ trình bày các vấn đề địa chỉ, định tuyến, phân
mảnh và hợp nhất dữ liệu, cấu trúc gói tin IPv4 và IPv6. Đây là những vấn đề cơ bản của
giao thức IP và nó được sử dụng trong nội dung của các chương tiếp theo của đồ án. Đặc
biệt trong phần này là đi tìm hiểu sâu về cấu trúc gói tin IPv4, IPv6 và các đặc điểm
khác biệt của gói tin IPv6 so với gói tin IPv4. Chú ý quan trọng rằng ở gói tin IPv6 đã bổ
sung những chức năng an toàn.
Qua chương này, chúng ta cũng biết được rằng Internet là mạng thông tin phát
triển rộng khắp trên phạm vi toàn cầu, trở thành môi trường truyền tin của rất nhiều ứng
dụng khác nhau. Xu hướng phát triển của mạng viễn thông là IP hóa. Tuy nhiên một
nhược điểm lớn nhất của Internet là nó không cung cấp tính an toàn cho dữ liệu khi
truyền trên nó. Cùng với sự phát triển của Internet, yêu cầu về an toàn dữ liệu được đặt
ra như là một yêu cầu tất yếu. Có rất nhiều giải pháp để đảm bảo an toàn dữ liệu cho
Internet, trong đó IP-VPN là một trong những giải pháp hiệu quả.

Bùi Văn Nhật 45K2ĐTVT 17


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Chương 2
CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN

2.1 Gới thiệu về mạng riêng ảo trên Internet IP-VPN


2.1.1 Khái niệm về mạng riêng ảo trên nền tảng Internet
Như ta đã biết, các mạng riêng thường được định nghĩa là các phương tiện nối
mạng không chia sẻ để kết hợp các máy trạm (host) và các client trực thuộc cùng một
thực thể quản lí. Đặc tính của mạng riêng là hỗ trợ truyền thông giữa những người dùng
được phép, cho phép họ truy nhập tới các dịch vụ và tài nguyên liên kết mạng khác
nhau. Lưu lượng từ nguồn và đầu cuối trong mạng riêng chỉ di chuyển dọc theo những
node có mặt trong mạng riêng. Thêm vào đó là sự cách li lưu lượng. Điều này có nghĩa
là lưu lượng tương ứng với mạng riêng không ảnh hưởng và không bị ảnh hưởng bởi lưu
lượng từ ngoài. Thí dụ điển hình cho mạng riêng là mạng Intranet của một hãng. IP-
VPN (Internet Protocol Virtual Private Network) kết hợp 2 khái niệm: nối mạng ảo và
nối mạng riêng. Trong một mạng ảo, các nút mạng ở xa nhau và phân tán có thể tương
tác với nhau theo cách mà chúng thường thực hiện trong một mạng, trong đó các nút đặt
tại cùng một vị trí địa lí. Cấu hình topo của mạng ảo độc lập với cấu hình vật lí của các
phương tiện sử dụng nó. Một người sử dụng bình thường của một mạng ảo không biết sự
thiết lập mạng vật lí, sẽ chỉ có thể nhận biết được cấu hình topo ảo. Cấu hình của mạng
ảo được xây dựng dựa trên sự chia sẻ của cơ sở hạ tầng mạng vật lí đã tồn tại. Tuy
nhiên, cấu hình mạng ảo và mạng vật lí thường chịu sự quản lí của các nhà quản trị khác
nhau.
Chúng ta có thể đinh nghĩa IP-VPN như sau: Mạng riêng ảo trên nền Internet là
mô phỏng các mạng số liệu riêng đảm bảo an ninh trên cơ sở hạ tầng mạng Internet
công cộng chung không đảm bảo an ninh. Các thuộc tính của IP-VPN bao gồm các cơ
chế để bảo vệ số liệu và thiết lập tin tưởng giữa các máy trạm và sự kết hợp các phương
pháp khác nhau để đảm bảo các thoả thuận mức dịch vụ và chất lượng dịch vụ cho tất
cả các thực thể thông qua môi trường Internet.
2.1.2 Khả năng ứng dụng của IP-VPN
Mạng riêng ảo có một ý nghĩa rất lớn đối với các tổ chức hoạt động phân tán tại
nhiều vùng địa lí khác nhau, nhân viên làm việc luôn di chuyển, hệ thống khách hàng và
đối tác kinh doanh rộng lớn … Nó là giải pháp thực hiện truyền thông an toàn trên nền
mạng công cộng. Điều này cho phép các tổ chức có thể tiết kiệm đáng kể chi phí so với
phương thức thuê kênh riêng. Mặt khác VPN còn đảm bảo cho sự an toàn số liệu trong

Bùi Văn Nhật 45K2ĐTVT 18


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

quá trình truyền thông và khả năng mở rộng hoạt động rộng lớn ngay cả tại những vùng
địa lí phức tạp.
2.2 Các khối cơ bản trong mạng IP-VPN
Các khối cơ bản của VPN bao gồm:
 Điều khiển truy nhập
 Nhận thực
 An ninh
 Truyền Tunnel
 Các thoả thuận mức dịch vụ
2.2.1 Điều khiển truy nhập
Điều khiển truy nhập (AC: Access Control) trong kết nối mạng số liệu được định
nghĩa là tập các chính sách và các kỹ thuật điều khiển truy nhập đến các tài nguyên nối
mạng riêng cho các phía được trao quyền. Các cơ chế AC hoạt động độc lập với nhận
thực và an ninh và cơ bản định nghĩa các tài nguyên nào khả dụng cho một người sử
dụng cụ thể sau khi người này đã được nhận thực. Trong thế giới IP-VPN, các thực thể
vật lí như các máy trạm ở xa, tường lửa và cổng IP-VPN trong các mạng thuộc hãng
tham dự vào phiên thông tin thường chịu trách nhiệm (hay ít nhất chỉ trách nhiệm) cho
quá trình tham dự đảm bảo trạng thái kết nối IP-VPN.
Thí dụ các quyết định bao gồm:
+ Khởi đầu
+ Cho phép
+ Tiếp tục
+ Từ chối
+ Kết thúc
Mục đích chính của IP-VPN là cho phép truy nhập có đảm bảo an ninh và có
chọn lựa đến các tài nguyên nối mạng từ xa. Nếu chỉ có an ninh và nhận thực mà không
có AC, IP-VPN chỉ bảo vệ tính toàn vẹn, tính bí mật của lưu lượng được truyền và ngăn
cản các người sử dụng vô danh sử dụng mạng, nhưng không quản lí truy nhập các tài
nguyên nối mạng. AC thường phụ thuộc vào thông tin mà thực thể yêu cầu kết nối ở
dạng nhận dạng hay chứng chỉ cũng như các quy tắc định nghĩa AC. Chẳng hạn một số
IP-VPN có thể được điều hành bởi một server tập trung hay thiết bị điều khiển IP-VPN
khác đặt tại trung tâm số liệu của nhà cung cấp dịch vụ, hay có thể cổng IP-VPN quản lí
địa phương trong các mạng liên quan đến thông tin IP-VPN.

Bùi Văn Nhật 45K2ĐTVT 19


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tập các quy tắc và các quy luật quy định các quyền truy nhập đến các tài nguyên
mạng được gọi là chính sách điều khiển truy nhập. Chính sách truy cập đảm bảo mục
đích kinh doanh, chẳng hạn, chính sách “Cho phép truy nhập cho các thuê bao chưa vượt
quá 60 giờ sử dụng” có thể thực hiện bằng cách sử dụng nhận thực dựa trên RADIUS
(Remote Authentication Dial-in User Service: Dịch vụ nhận thực người dùng quay số từ
xa) và sử dụng một bộ đếm thời gian mỗi khi người sử dụng truy nhập. Về mặt lí thuyết
có thể sử dụng bản tin RADIUS DISCONNECT (tháo gỡ kết nối radius) để ngắt phiên
của người sử dụng khi đã vượt quá 60 giờ, tuy nhiên đôi khi chính sách này chỉ được áp
dụng tại thời gian đăng nhập, khi tin tưởng người sử dụng không thường xuyên ở trình
trạng đăng nhập, hay bằng cách đặt ra một giới hạn phiên như bên trên của mức độ sử
dụng khi vượt quá thời gian cho phép cực đại. Có thể thực hiện các chính sách tương tự
bằng cách thay giới hạn thời gian bằng một giới hạn tính chỉ có thể liên quan đến tài
khoản trả trước.
2.2.2 Nhận thực
Một trong các chức năng quan trọng nhất được IP-VPN hỗ trợ là nhận thực.
Trong nối mạng riêng ảo, mọi thực thể liên quan đến thông tin phải có thể tự nhận dạng
mình với các đối tác liên quan khác và ngược lại. Nhận thực là một quá trình cho phép
các thực thể thông tin kiểm tra các nhận dạng như vậy. Một trong các phương pháp nhận
thực phổ biến được sử dụng rộng rãi hiện nay là PKI (Public Key Infrasrtucture: cơ sở
hạn tầng khóa công cộng). Phương pháp này được gọi là nhận thực dựa trên chứng nhận,
và các bên tham dự thông tin nhận thực lẫn nhau bằng cách trao đổi các chứng nhận của
chúng. Các chứng nhận này được đảm bảo bởi quan hệ tin tưởng với một bộ phận thẩm
quyền chứng nhận.

Quá trình nhận thực có thể liên quan đến việc cung cấp thông tin nhận thực dựa
trên bí mật chia sẻ (Shared Secret) như: Mật khẩu hay cặp khẩu lệnh/ trả lời của CHAP
cho người nhận thực, hay như NAS (Network Access Server) để nó tra cứu một file địa
phương hay yêu cầu server RADIUS. Về mặt này, hoạt động của VPN gồm hai kiểu
nhận thực: nhận thực kiểu client - cổng và cổng - cổng. Trong trường hợp nhận thực
kiểu client - cổng, chỉ khi nào người dùng truy nhập thành công với VPN cổng thì mới
được phép vào IPSec Tunnel nối đến IPSec của mạng khách hàng. Trường hợp thứ hai,
nó thường gặp khi kết nối site - site được thiết lập hay khi các mạng quay số ảo được sử
dụng và nhận thực thiết lập Tunnel L2TP được yêu cầu giữa LAC (L2TP Access
Concentrator) và LNS (L2TP Network Server).

Bùi Văn Nhật 45K2ĐTVT 20


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.2.3 An ninh
Theo định nghĩa thì VPN được xây dựng trên các phương tiện công cộng dùng
chung không an toàn, vì thế tính toàn vẹn và mật mã hoá là yều cầu nhất thiết. Có thể
đảm bảo an ninh cho VPN bằng cách triển khai một trong các phương pháp mật mã hoá
đã có hay cơ chế mật mã hoá kết hợp với các hệ thống phân bố khóa an ninh. Tuy nhiên
cần nhắc lại rằng an ninh không chỉ là mật mã hoá lưu lượng VPN. Nó cũng liên quan
đến các thủ tục phức tạp của nhà khai thác và các hạng cung cấp nó. Và khi VPN dựa
trên mạng, cần thiết lập quan hệ tin tưởng giữa nhà cung cấp dịch vụ và khách hành
VPN yêu cầu thỏa thuận và triển khai cơ chế an ninh tương ứng. Chẳng hạn, có thể truy
nhập server AAA trong hãng bằng cách đảm bảo an ninh các bản tin RADIUS thông qua
IPSec khi chúng truyền trên cơ sở hạ tầng mạng chung. Ngoài AAA server có thể trực
thuộc một mạng không ở trong VPN để cách ly lưu lựong AAA với lưu lượng người sử
dụng
2.2.4 Truyền Tunnel nền tảng IP-VPN
Truyền Tunnel là công nghệ quan trọng duy nhất để xây dựng IP-VPN. Truyền
Tunnel bao gồm đóng bao (Encapsulation) một số gói số liệu vào các gói khác theo một
tập quy tắc được áp dụng cho cả hai đầu cuối của Tunnel. Kết quả là nội dung được
đóng bao trong Tunnel không thể nhìn thấy đối với mạng công cộng không an ninh nơi
các gói được truyền. Các vấn đề cụ thể về công nghệ Tunnel được trình bày trong các
phần sau.
Khái niệm truyền Tunnel được áp dụng cho nối mạng riêng ảo được trình bày
trong hình 2.2 sau đây. Trên hình này, các gói được gửi đi từ máy trạm A đến máy trạm
Z phải qua rất nhiều chuyển mạch và router. Nếu router C đóng gói đến từ máy A và
cổng Y mở bao gói, thì các nút khác mà gói này đi qua sẽ không nhận biết được gói
đóng bao “bên ngoài” này và sẽ không thể biết được phần tải tin cũng như địa chỉ điểm
nhận cuối cùng của nó. Bằng cách này, tải tin của gói được gửi giữa C và Y sẽ chỉ được
nhận biết bởi 2 nút mạng này và các máy A, Z là nơi khởi đầu và kết thúc cuối lưu
lượng. Điều này tạo ra một Tunnel một cách hiệu quả để qua đó qua đó các gói được
truyền tải với mức an ninh mong muốn.
Z
Tunnel Y
M ộtchặng
Kếtnốivậtlý Mạngriêng

C
Internet
A

Hình 2.1: Truyền Tunnel trong nối mạng riêng ảo

Bùi Văn Nhật 45K2ĐTVT 21


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Có thể định nghĩa Tunnel bởi các điểm cuối, các thực thể mạng nơi sử dụng các
giao thức tháo bao và đóng bao. Các kỹ thuật truyền Tunnel hỗ trợ IP-VPN như L2TP
hay PPTP được sử dụng để đóng bao các khung lớp liên kết (PPP). Tương tự các kỹ
thuật truyền Tunnel như IP trong IP và các giao thức IPSec được sử dụng để đóng bao
các gói lớp mạng.
Theo ngữ cảnh nối mạng riêng ảo, truyền Tunnel có thể thực hiện ba nhiệm vụ
chính sau:
+ Đóng bao.
+Tính trong suốt đánh địa chỉ riêng.
+ Bảo vệ tính toàn vẹn và bí mật số liệu đầu cuối đến đầu cuối.
Tính trong suốt đánh địa chỉ riêng cho phép sử dụng các địa chỉ riêng trên hạ tầng
IP nơi cho phép đánh địa chỉ công cộng. Vì các nội dung của gói được truyền Tunnel và
các thông số, như các địa chỉ, chỉ có thể hiểu bên ngoài các điểm cuối Tunnel, đánh địa
chỉ IP riêng hoàn toàn che đậy khỏi mạng IP công cộng bằng cách sử dụng các địa chỉ
hợp lệ.

M ạng riê ng In terne t M ạ ng riêng

Đ ịa chỉ riê ng Đ ịa chỉ công cộ ng Đ ịa ch ỉ riên g

Hình 2.2: Che đậy địa chỉ IP riêng bằng truyền Tunnel
Các chức năng toàn vẹn và bảo mật đảm bảo rằng một kẻ không được phép không
thể thay đổi các gói truyền Tunnel của người sử dụng và nhờ vậy nội dung của gói được
bảo vệ chống việc truy nhập trái phép. Ngoài ra, tùy chọn truyền Tunnel có thể bảo vệ sự
toàn vẹn của tiêu đề gói IP bên ngoài, vì thế đảm bảo nhận thực nguồn gốc số liệu.
Chẳng hạn, trong IP-VPN có thể sử dụng tiêu đề IPSec AH để bảo vệ các địa chỉ IP của
các đầu cuối Tunnel không bị bắt chước. Tuy nhiên trong công nghệ số liệu, trong nhiều
trường hợp điều này không được coi là quan trọng và thực tế nhiều cổng IP-VPN thậm
chí không áp dụng AH. Lí do vì nều gói truyền Tunnel của người sử dụng được bảo bệ
ESP và gói này được mật mã hóa bằng cách sử dụng phân phối khóa an ninh và các kỹ
thuật quản lý cũng như các giải thuật gần như là không thể bị phá vỡ như 3DES, thì mọi
ý đồ sử dụng sự thay đổi địa chỉ IP để chặn hoặc để gửi lưu lượng đều vô nghĩa. Vì thế
các điểm cuối có ý đồ xấu không có cách nào tham dự vào liên kết an ninh trên IPSec

Bùi Văn Nhật 45K2ĐTVT 22


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

ESP và vì thế việc tách hú họa an ninh hiện thời sẽ không dễ dàng và mức độ không thể
diễn dải số liệu đánh cắp là rất cao. Đây là điều mà các khách hàng IP-VPN quan tâm và
cũng là lý do sử dụng hạn chế AH. Cần lưu ý rằng AH hữu ích khi cần cung cấp thông
tin điều khiển thiết lập Tunnel.

2.2.5 Các thỏa thuận mức dịch vụ


Các thực thể tham dự vào nối mạng ảo như các ISP, các hãng vô tuyến, các hãng
và người sử dụng từ xa bị ràng buộc bởi các thỏa thuận để đạt được các mức dịch vụ yêu
cầu cũng như các lợi nhuận mong muốn đối với các dịch vụ được cung cấp. Các thỏa
thuận này được dự thảo giữa các bên quan tâm và các đối tác của họ để định nghĩa các
mức cho phép định lượng và đánh giá dịch vụ được gọi là các SLA (Service Level
Agreement: thỏa thuận mức dịch vụ). Các SLA đã được sử dụng ở nhiều dạng. Tuy
nhiên chúng đặc biệt quan trọng đối với các mạng ảo dựa trên cơ sở hạ tầng dùng
chung.
Dưới đây là các nhân tố ảnh hưởng khi xem xet đến SLA cho VPN:
+ Tính khả dụng của Tunnel.
+ Các đảm bảo về băng thông.
+ Trễ của Tunnel.
+ Tốc độ tế bào/ gói đỉnh chấp nhận được.
+ Tỷ lệ mất gói.
2.3 Phân loại mạng riêng ảo theo kiến trúc
Ở đây chúng ta sẽ đi phân loại IP-VPN theo kiến trúc của nó. 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.
2.3.1 IP-VPN truy nhập từ xa
Đối với người dùng ở xa và các nhân viên luôn di chuyển hoặc những văn phòng
dùng mạng diện rộng có dung lượng nhỏ rất thích hợp với loại hình IP-VPN truy nhập từ
xa. Truy nhập IP-VPN từ xa cho phép mở rộng mạng lưới của một tổ chức tới người sử
dụng của họ thông qua chia sẻ cơ sở hạ tầng công cộng, trong khi mạng lưới của tổ chức
vẫn giám sát được tất cả những người dùng. Truy nhập từ xa là phương thức đầu tiên sử

Bùi Văn Nhật 45K2ĐTVT 23


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

dụng VPN. Nó cung cấp phương thức truy nhập an toàn tới những ứng dụng của tổ chức
cho những người sử dụng ở xa, những nhân viên luôn di chuyển, văn phòng nhánh và
những đối tác thương mại. Cấu trúc IP-VPN này là phương tiện thông qua một cơ sở hạ
tầng công cộng chung sử dụng đường dây ISDN (mạng số đa dịch vụ), dial (quay số),
tương tự, Mobile IP (di động IP), DSL (đường dây thuê bao số) và điện thoại cácp. Cấu
trúc IP-VPN này được quan tâm đến ở khắp mọi nơi vì nó có thể thiết lập tại bất kì thời
điểm nào và bất kể đâu thông qua Internet.
Thêm vào đó là một số thuận lợi có được do việc chuyển đổi từ những mạng quản
lí riêng sang dạng IP-VPN truy nhập từ xa dưới đây:
+ 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 người dùng 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.
+ 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. Người dùng có thể
cần đến chu kì thiết lập kết nối nếu họ cảm thấy lâu.
Cùng với sự phát triển nhanh chóng của mạng truy nhập từ xa, trên toàn bộ quốc
gia và thậm chí là triển khai quốc tế các POP (Point - Of - Presence: điểm hiện diện)
quay số bởi các nhà cung cấp dịch vụ, chi phí cho những cuộc gọi đường dài được giảm

Bùi Văn Nhật 45K2ĐTVT 24


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

đi, tất cả các lo lắng về thủ tục quay số có thể được nhà cung cấp dịch vụ Internet (ISP)
và nhà cung cấp truy nhập gánh chịu. Các IP-VPN truy nhập từ xa quay số có thể được
xây dựng trên các phương pháp truyền Tunnel bắt buộc hay tự ý. Trong một kịch bản
truy nhập từ xa quay số sử dụng phương tiện của hãng khác, người sử dụng quay số đế
các POP địa phương của các nhà cung cấp dịch vụ Internet bằng cách thiết lập kết nối
PPP (Point to Point Protocol: Giao thức điểm tới điểm). Sau khi người sử dụng đã được
nhận thực và liên kết PPP được thiết lập, nhà cung cấp dịch vụ thiết lập theo cách bắt
buộc (nghĩa là trong suốt đối với người sử dụng) một Tunnel đến một cổng trong mạng
riêng mà người sử dụng ở xa muốn truy nhập đến. Mạng riêng thực hiện nhận thực
người sử dụng lần cuối và thiết lập kết nối. Kiến trúc này được mô tả ở hình 2.4. Công
nghệ truyền Tunnel được lựa chọn cho IP-VPN truy nhập quay số theo phương tiện của
hãng khác là L2TP.
DNS DHCP RADIUS ACCT
Cổng SS 7 RADIUS

IPSec Client
ISP
Chuyển mạch
L2T P
LNS
DSLAM IP S e
ISDN Modem c
RAS
Hãng
Internet
PSTN
Cổng IPSec
LNS: L2TP Network Server - Server mạng L 2TP
DSL L2TP: Layer Two Tunneling Protocol - Giao thức truyền tunnel lớp 2
RAS: Remote Access Server - Server truy nhập xa
DSLAM : DSL Access Multiplex - Ghép kênh truy nhập DSL

Hình 2.3: IP-VPN truy nhập từ xa


2.3.2 Site-to-Site IP-VPN
Site-to-Site IP-VPN (hay còn được gọi là LAN-to-LAN) được sử dụng để nối các
site của các hãng phân tán về mặt địa lý, trong đó mỗi site có các địa chỉ mạng riêng
được quản lý sao cho bình thường không xảy ra va chạm.
2.3.2.1 Intranet IP-VPN

Một tổ chức có thể dùng 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

Bùi Văn Nhật 45K2ĐTVT 25


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
Rem ote
office

POP
H om e
d
evic
e 1
devic e 3 d
evic e 2 1

office

Internet / POP
IP -VPN
Rem ote
office Headquarters

POP

device 3 de
vic e 2 1
d
ev
ice 1

Hình 2.4: Intranet IP-VPN


2.3.2.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, nhận 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.

Remote
office

Business
Partner
POP
Hom e
d
ev
ice 1
de
vice 3 devic
e 2 1

office

Internet / POP
IP -VPN
Remote
office Headquarters

POP
Supplier

d
evice 1
device 3 devic
e 2 1
Customer

Hình 2.5: Extranet IP-VPN

Bùi Văn Nhật 45K2ĐTVT 26


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.4 Các giao thức đường ngầm trong IP-VPN


Như đã trình bày trong phần trên, các 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).
Trước hết ta phân biệt 2 giao thức đầu tiên là PPTP và L2F. PPTP là giao thức do
nhiều công ty hợp tác phát triển. L2F là do Cisco phát triển độc lập. PPTP và L2F đều
đượ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. 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 nói trên, IPSec là giải pháp tối ưu về mặt an
toàn dữ liệu. IPSec hỗ trợ các phương pháp xác thực và mật mã mạnh nhất. Ngoài ra,
IPSec còn có tính linh hoạt cao: Không bị ràng buộc bởi bất cứ thuật toán xác thực, mật
mã nào, đồng thời có thể sử dụng IPSec cùng với các giao thức đường ngầm khác để 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,

Bùi Văn Nhật 45K2ĐTVT 27


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
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 trong chương 3.
2.4.1 PPTP (Point - to - Point Tunneling Protocol)
PPTP đóng gói các khung dữ liệu của giao thực PPP vào các IP datagram để
truyền qua mạng IP (Internet hoặc Intranet). PPTP dùng một kết nối TCP (gọi là kết nối
điều khiển PPTP) để khởi tạo, duy trì, kết thúc đường ngầm; và một phiên bản của giao
thức GRE (Generic Routing Encapsulation - đóng gói định tuyến chung) để đóng gói các
khung PPP. Phần tải tin của khung PPP có thể được mật mã hoặc/và giải nén.
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 nhận thực mở rộng), CHAP (Challenge - Handshake Authentication
Protocol: giao thức nhận thực đòi hỏi bắt tay), PAP (Password Authentication Protocol:
giao thức nhận 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.
2.4.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,

Bùi Văn Nhật 45K2ĐTVT 28


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
Data link PPTP Control Data link
IP TCP
Header Message Trailer

Hình 2.6: Gói dữ liệu của kết nối điều khiển PPTP
2.4.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.
Encrypted PPP Payload
Data link IP GRE PPP (IP Datagram , Data link
Header Header Header Header IPX Datagram , Trailer
NetBEUI Frame )

Hình 2.7: 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.
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.

Bùi Văn Nhật 45K2ĐTVT 29


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.4.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.
2.4.1.4 Sơ đồ đóng gói
Hình 2.9 là 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ự).

NetBEU
TCP /IP IPX
I

Bắt đầugói ở
đây
NDIS
NDISWAN
text
L2TP PPTP Async X.25 ISDN

PPP EncryptedPPPPayload
Datalink IP GRE (IPDatagram , Datalink
Heade IPXDatagram ,
Header Header Header Trailer
r NetBEUI Frame )
Cấutrúcgói tincuối cùng

Hình 2.8: 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.

Bùi Văn Nhật 45K2ĐTVT 30


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* 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.
* 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).
2.4.2 L2TP (Layer Two Tunneling Protocol)
Để tránh việc hai giao thức đường ngầm không tương thích cùng tồn tại gây khó
khăn cho người sử dụng, IETF đã 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.

Bùi Văn Nhật 45K2ĐTVT 31


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.4.2.1 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 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.
IPSec
IPSec IPSec Data
Data link IP UDP L2TP ESP
ESP ESP link
Header Header Header Message Auth
Header Trailer Trailer Trailer

Encryption by IPSec

Hình 2.9: 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 đó.
2.4.2.2 Đườ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.
PP P P ayloa d IP S e c IP S ec D a ta
IP S ec
Da ta link IP U DP L2TP P PP (IP datagram , ESP
Heade r H eader
ES P
Heade rHeaderHe ader IPX data gram,
ESP lin k
A uth
H eader T ra ile r
N etB EU I Fram ) e T ra iler T ra ile r

Encryption

Authenticated by IPS ec ESP auth trailer

Hình 2.10: Đóng bao gói tin L2TP

Bùi Văn Nhật 45K2ĐTVT 32


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
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.

2.4.2.3 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ý.

2.4.2.4 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ự.

Bùi Văn Nhật 45K2ĐTVT 33


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

IPSec TCP /IP IPX NetBEUI

Bắtđầugói ởđây

NDIS
NDISWAN
text
L2TP PPTP Async X.25 ISDN

PP PP ayload IPSec
IPSec IPS ec
PPP IP UDP L2TP PPP (IPdatagram , E S P P P P
ESP E SP
Header Header Header Header Header IPXdatagram , A uth Trailer
Header Trailer
NetBEUI Fram e ) Trailer

Cấutrúcgói tincuối cùng

Hình 2.11: 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 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.

Bùi Văn Nhật 45K2ĐTVT 34


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

2.5 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ỏ.
Mạng IP-VPN bao gồm các khối cơ bản sau: điều khiển truy nhập, nhận thực, an
ninh, truyền Tunnel và các thỏa thuận mức dịch vụ. Đây là những vấn đề rất phức tạp và
yêu cầu nhiều giao thức kết hợp với nhau để thực hiện được các chức năng của mạng IP-
VPN một cách hiện quả. Trong đó, đường ngầm là nền tảng của IP-VPN.
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 đã
hòan thành và hoạt động phổ biến trong giai đoạn hiện nay.
Chương tiếp theo trình bày về giao thức IPSec, một giao thức được xem như tối
ưu cho công nghệ IP-VPN.

Bùi Văn Nhật 45K2ĐTVT 35


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Chương 3
GIAO THỨC IPSEC CHO IP-VPN

3.1 Gới thiệu

Trong chương 2 đã trình bày về các giao thức đường ngầm PPTP và L2TP sử
dụng để xây dựng mạng IP-VPN. Trong chương này sẽ trình bày về giao thức IPSec,
một giao thức được coi là tối ưu nhất cho IP-VPN. 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ụ an ninh. 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 đề an ninh 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 và trong IP-VPN là một trong những ứng dụng
của nó.
3.1.1 Khái niệm về IPSec
IPSec (Internet Protocol Security) là một giao thức được IETF phát triển. IPSec
được định nghĩa là một giao thức trong tầng mạng cung cấp các dịch vụ bảo mật, nhận
thực, toàn vẹn dữ liệu và điều khiển truy cập. Nó là một tập hợp các tiêu chuẩn mở làm
việc cùng nhau giữa các phần thiết bị.
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 cơ chế 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õ.

Bùi Văn Nhật 45K2ĐTVT 36


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

+ 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. IPSec sử dụng các thuật
toán: Mã nhận 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 để thực hiện chức năng toàn vẹn bản tin; Thuật toán DES, 3DES để
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) để nhận thực các bên. Ngoài ra các chuẩn còn định nghĩa việc sử
dụng các thuật toán khác như IDEA, Blowfish và RC4.

IPSec có thể sử dụng giao thức IKE (Internet Key Exchange) để xác thực hai phía
và làm giao thức thương lượng các chính sách bảo mật và nhận thực thông qua việc xác
định thuật toán được dùng để thiết lập kênh truyền, trao đổi khóa cho mỗi phiên kết nối,
dùng trong mỗi phiên truy cập. 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 người dùng
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.
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 trong bảng mục lục sao cho khi kết hợp một địa chỉ đích
với giao thức an ninh (ESP hoặc AH) thì có duy nhất một SA.

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

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

Bùi Văn Nhật 45K2ĐTVT 37


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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 Protocol IPSec 8/1995
(kiến trúc bảo mật cho giao thức Internet)
1826 IP Authentication Header AH 8/1995
(nhận 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
(nhận 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 Authentication HMAC 1/1997
(HMAC: khóa băm cho nhận thực bản tin)
2202 Test Cases for HMAC-MD5 and HMAC-SHA-1 HMAC-MD5 9/1997
(các trường hợp kiểm tra cho HMAC-MD5 và HMAC-SHA-1
HMAC-SHA-1)
2401 Security Architure for the Internet Protocol IPSec 10/1998
2402 IP Authentication Header AH 10/1998
2403 The Use of HMAC-MD5-96 within ESP and AH HMAC-MD5 10/1998
(sử dụng HMAC-MD5-96 cùng với ESP)
2404 The Use of HMAC-SHA-1-96 within ESP and AH HMAC-SHA-1 10/1998
(sử dụng HMAC-SHA-1-96 cùng với ESP và AH)
2405 The ESP DES-CBC Cipher Algorithm With Explicit DES 10/1998
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 Interpretation for ISAKMP 10/1998
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 Management ISAKMP 10/1998
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 Use With NULL 10/1998
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)
3.2 Đóng gói thông tin của IPSec
3.2.1 Các kiểu sử dụng

Bùi Văn Nhật 45K2ĐTVT 38


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

IPSec có hai kiểu cung cấp nhận 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). Sau đây chúng
ta sẽ xét đến hai kiểu này trước khi tìm hiểu về các giao thức AH và ESP:
3.2.1.1 Kiểu Transport

Trong kiểu này, vấn đề an ninh được cung cấp bởi các giao thức lớp cao hơn (từ
lớp 4 trở lên). 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.

AH- kiểu Transport Original AH


Header Header Payload
Authenticated

ESP- kiểu Transport Original ESP


Header Header Payload
Encrypted
Authenticated

Hình 3.1 Gói tin IP ở kiểu Transport


Kiểu Transport có ưu điểm là chỉ thêm vào gói IP ban đầu một số it byte. Nhược
điểm là kiểu này 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ì sẽ không biết được dữ
liệu cụ thể bên trong gói IP là gì. Theo như IETF thì kiểu Transport chỉ có thể được sử
dụng khi hai hệ thống đầu cuối IP-VPN có thực hiện IPSec.
3.1.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.
New AH Original
AH- kiểu Tunnel Payload
Header Header Header
Authenticated

New ESP Original


ESP- kiểu Tunnel Payload
Header Header Header
Encrypted
Authenticated

Hình 3.2: Gói tin IP ở kiểu Tunnel


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. Kiểu này cho phép các thiết bị mạng như router thực hiện xử lý IPSec

Bùi Văn Nhật 45K2ĐTVT 39


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

thay cho các trạm cuối (host). Hình 3.3 là ví dụ: Router A xử lý các gói từ host A, gửi
chúng vào đường ngầm. Router B xử lý các gói nhận được trong đường ngầm, đưa về
dạng ban đầu và chuyển hóa chúng tới host B. Như vậy, các trạm cuối không cần thay
đổi nhưng vẫn có được tính an toàn dữ liệu của IPSec. Ngoài ra, nếu sử dụng kiểu
Tunnel, các thiết bị trung gian trong mạng sẽ chỉ có thể nhìn thấy được các địa chỉ hai
điểm cuối của đường hầm (ở đây là các router A và B). Khi sử dụng kiểu Tunnel, các
đầu cuối của IP-VPN không cần phải thay đổi ứng dụng hay hệ điều hành.
Host A Host B

Router A Router B

Computer Computer

IPSec Tunnel

Hình 3.3: Thiết bị mạng thực hiện IPSec kiểu Tunnel


3.2.2 Giao thức tiêu đề xác thực AH

3.2.2.1 Giới thiệu

Giao thức AH (Authentication Header) được định nghĩa trong RFC 1826 và sau
đó là phát triển lại 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). Đến đây, cần phải phân biệt được hai khái niệm toàn vẹn
dữ liệu và chống phát lại: 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; còn 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. Có thể nói AH chỉ bảo vệ một phần của IP header mà thôi. AH không
cung cấp bất cứ xử lý nào về bảo mật dữ liệu của các lớp trên, tất cả đều được truyền
dưới dạng văn bản rõ. AH nhanh hơn ESP, nên 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.
Giao thức AH cung cấp chức năng xác thực bằng cách thực hiện một hàm băm
một chiều (one-way hash function) đối với dữ liệu của gói để tạo ra một đoạn mã xác

Bùi Văn Nhật 45K2ĐTVT 40


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

thực (hash hay message digest). Đ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).
3.2.2.2 Cấu trúc gói tin AH

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ởi vì AH được liên kết với IPSec,
IP-VPN có thể định dạng để chọn lưu lượng nào cần được an toàn và lưu lượng nào
không cần phải sử dụng giải pháp an toàn giữa các bên. Ví dụ như bạn có thể chọn để xử
lý lưu lượng email nhưng không đối với các dịch vụ web. Quá trình xử lý chèn AH
header được diễn tả như trong hình 3.4.
Original IP Original Layer 4
Data
Header Header

Original IP Original Layer 4


IPSecAH Data
Header Header

Next Header PayloadLength Reserved

SecurityParameters Index (SPI )

SequenceNumber

AuthenticationData (Variablelength -Integral Multipleof 32 bits )

32 bits

Hình 3.4: 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 đã được
định nghĩa trong các RFC gần đây nhất.
* 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.

Bùi Văn Nhật 45K2ĐTVT 41


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* 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 2 32
gói mới.
* Authentication Data (dữ liệu nhận 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 nhận thực, bao gồm mã nhận 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.
3.2.2.3 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 IP header và tải tin) được thực hiện qua một
hàm băm một chiều.
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.
Bước 4: Bên thu thực hiện hàm băm với IP header và tải tin, 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 chỉ một bit trong

Bùi Văn Nhật 45K2ĐTVT 42


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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) Vị trí của AH
AH có hai kiểu hoạt động, đó là kiểu Transport và kiểu Tunnel. Kiểu Transport là
kiểu đầu tiên đượ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.
Ở 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). Đối với IPv6, AH được xem như phần tải đầu cuối-tới - đầu cuối, nên sẽ xuất hiện
sau các phần header mở rộng hop-to-hop, routing và fragmentation. Các lựa chọn đích
(dest options extension headers) có thể trước hoặc sau AH.

IPv4 Orig IP hdr


(any options) TCP Data
Trước khi thêm AH

Orig IP hdr
IPv4 AH TCP Data
(any options)
Sau khi thêm AH

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

Orig IP hdr Ext hdr


IPv6 TCP Data
(any options) if present
Trước khi thêm ẠH

Orig IP hdr Hop-by-hop, dest*, Dest


IPv6 (any options) routing, fragment AH opt* TCP Data
Sau khi thêm ẠH

Hình 3.6: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport
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ùi Văn Nhật 45K2ĐTVT 43


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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 Trasport.

IPv4 New IP hdr Orig IP hdr


(any options) AH TCP Data
(any options)
Nhận thực trừ các trường
biến đổi ở New IP header

IPv6 New IP hdr Ext hdr Ext hdr


(any options) If present AH Orig IP hdr If present TCP Data
Nhận thực trừ các trường
biến đổi ở New IP header

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


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 kết hợp an ninh SA
(Security Association). Đố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). Đâ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ợ. Chi tiết về hàm băm sẽ được đề cập cụ thể trong
chương 4.
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 SN: 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. Nếu
dịch vụ anti-replay (chống phát lại) được lựa chọn, phía phát kiểm tra để đảm bảo bộ
đếm không bị lặp lại trước khi chèn một giá trị mới. Nếu dịch vụ anti-replay không được
lựa chọn thì phía phát không cần giám sát đến, tuy nhiên nó vẫn được tăng cho đến khi
quay trở lại 0.

Bùi Văn Nhật 45K2ĐTVT 44


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

+ Tính toán ICV: bằng cách sử dụng các thuật toán, phía thu sẽ tính toán lại ICV
ở phía thu và so sánh nó với giá trị có trong AH để quyết định tới khả năng tồn tại của
gói tin đó.
+ 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.
+ 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 SN: 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.
3.2.3 Giao thức đóng gói an toàn tải tin ESP

3.2.3.1 Giới thiệu

ESP được định nghĩa trong RFC 1827 và sau đó được phát triển thành 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 nhận thực nguồn gốc dữ liệu, kiểm tra tính toàn vẹn dữ liệu, dịch vụ chống phát lại
và một số giới hạn về luồng lưu lượng cần bảo mật. Tập các dịch vụ cung cấp bởi ESP

Bùi Văn Nhật 45K2ĐTVT 45


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

phụ thuộc vào các lựa chọn tại thời điểm thiết lập SA, dịch vụ bảo mật được cung cấp
độc lập với các dịch vụ khác. Tuy nhiên nếu không kết hợp sử dụng với các dịch vụ
nhận thực vào toàn vẹn dữ liệu thì hiệu quả bí mật sẽ không được đảm bảo. Hai dịch vụ
nhận thực và toàn vẹn dữ liệu luôn đi kèm nhau. Dịch vụ chống phát lại chỉ có thể có
nếu nhận thực được lựa chọn. Giao thức này được sử dụng khi yêu cầu về bí mật của lưu
lượng IPSec cần truyền.
3.2.3.2 Cấu trúc gói tin ESP

Hoạt động của ESP khác hơn so với AH. Như ngụ ý trong tên gọi, 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. Phần header của giao thức nằm ngay trước ESP header có giá
trị 51 trong trường protocol của nó. Hình 3.8 diễn tả quá trình xử lý đóng gói:

Original IP Original Layer 4


Data
Header Header

Original IP IPSec ESP Original Layer 4 IPSec ESP


Data
Header Header Header Trailer

Sequence Pad Next


SPI Padding ICV
Number Length Header

Hình 3.8: Xử lý đóng gói ESP


Hình 3.9 trình bày khuôn dạng gói ESP
Security Parameters Index (SPI )
Sequence Number Field
Authentication
Coverage

Encryption
Coverage

Payload Data (Variable length - Integral Number of Bytes )


Padding (0 – 255 bytes )
Pad Length Next Header

Authentication Data (Variable Length ) ( Optional )

32 bits

Hình 3.9: Khuôn dạng gói ESP

Bùi Văn Nhật 45K2ĐTVT 46


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Sau đây sẽ định nghĩa các trường trong ESP. Lưu ý các trường này có thể là tùy
chọn hay bắt buộc. 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. Như vây, khuôn dạng ESP đối với SA nào đó là cố định trong
khoảng thời gian tồn tại của SA đó. Còn các trường bắt buộc luôn có mặt trong tất cả các
ESP.
* 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
* Payload Data (trường dữ liệu tải tin): Đây là trường bắt buộc. Nó 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 yêu cầu các vectơ khởi tạo
thì nó cũng được bao gồm ở đây. 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ó nhiều nguyên nhân 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.
* 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

Bùi Văn Nhật 45K2ĐTVT 47


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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 nhận 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.

3.2.3.3 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 một IP header và trước một giao thức
lớp trên (chẳng hạn TCP, UDP hay ICMP…) và trước IPSec header đã được chèn vào.
Đối với IPv4, ESP header đặt sau IP header và trước giao thức lớp trên (ví dụ ở đây là
TCP). ESP trailer bao gồm các trường Paddinh, Pad length, và Next Header. Đố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.

IPv4 Orig IP hdr


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

Orig IP hdr ESP ESP ESP


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

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

Bùi Văn Nhật 45K2ĐTVT 48


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Orig IP hdr Ext hdr


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

Orig IP hdr Hop-by-hop, dest*, Dest ESP ESP


IPv6 (any options) routing, fragment ESP opt* TCP Data Trailer Auth
Sau khi thêm AH

Hình 3.11: 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
Authenticat
ed

New New Orig IP Orig ESP ESP


IPv6 ESP
IP hdr Ext hdr hdr Ext hdr TCP Data Trailer Auth
Encrypted

Authenticated

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


b) Các thuật toán
Có các thuật toán sau được sử dụng với ESP:
- DES, 3DES in CBC.
- HMAC with MD5.
- HMAC with SHA-1.
- NULL Authentication algorithm.
- NULL Encryption algorithm.

Bùi Văn Nhật 45K2ĐTVT 49


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Các thuật toán khác có thể được hỗ trợ. Lưu ý là ít nhất một trong hai dịch vụ bảo
mật hoặc nhận thực phải được thực hiện, nên hai thuật toán xác thực và mật mã không
đồng thời bằng NULL.
- 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). Vì dịch vụ bảo
mật là tùy chọn nên thuật toán mật mã có thể là NULL.
- 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ể xen 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.

Bùi Văn Nhật 45K2ĐTVT 50


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- 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: Khi 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-repley), 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 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ì

Bùi Văn Nhật 45K2ĐTVT 51


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
- 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

Bùi Văn Nhật 45K2ĐTVT 52


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

đượ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ệ.
Có một số lý do như sau dẫn đến quá trình giải mã không thành công:
- SA được lựa chọn không đúng: SA có thể sai do các thông số SPI, địa chỉ đích,
trương Protocol type sai.
- Độ dài phần Padding hoặc giá trị của nó bị sai.
- Gói ESP mật mã bị lỗi (có thể được lựa chọn nếu dịch vụ xác thực được lựa
chọn cho SA).

3.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE
3.3.1 Kết hợp an ninh SA

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

IPSec cung cấp nhiều lựa chọn để thực hiện các giải pháp mật mã và xác thực ở
lớp mạng. Phần này sẽ định nghĩa các thủ tục quản lý SA cho cả IPv4 và IPv6 để thực
thi AH hoặc ESP hoặc cả hai, phụ thuộc vào lựa chọn của người sử dụng. Khi thiết lập
kết nối IPSec, hai phía phải xác định chính xác các thuật toán nào sẽ được sử dụng, loại
dịch vụ nào cần đảm bảo an toàn. Sau đó bắt đầu xử lý thương lượng để chọn một tập
các tham số và các giải thuật toán học áp dụng cho mã hóa bảo mật hay nhận thực. Theo
IETF thì dịch vụ bảo mật quan hệ giữa hai hoặc nhiều thực thể để thỏa thuận truyền
thông an toàn được gọi là SA (Security Association).
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ột từ A tới B và một từ B tới A). 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).
Một lên kết an ninh có thể là một trong hai kiểu: Transport và Tunnel, phụ thuộc
vào kiểu của giao thức sử dụng SA. Một SA kiểu Transport là một liên kết an toàn giữa
hai host, hoặc liên kết an toàn được yêu cầu giữa hai hệ thống trung gian dọc trên đường
truyền. Trong trường hợp khác, kiểu Transport cũng có thể được sử dụng để hỗ trợ IP-
in-IP hay đường ngầm GRE qua các SA kiểu Transport. SA kiểu Tunnel là một SA cơ

Bùi Văn Nhật 45K2ĐTVT 53


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

bản được ứng dụng tới một đường ngầm IP. Một SA giữa 2 cổng an toàn là một SA kiểu
Tunnel điển hình giống như một SA giữa một host và một cổng an toàn. Tuy nhiên, trong
những trường hợp mà lưu lượng đã được định hình từ trước như những lệnh SNMP, cổng
an toàn làm nhiệm vụ như host và kiểu Transport được cho phép.
SA cung cấp nhiều lựa chọn cho các dịch vụ IPSec, nó phụ thuộc vào giao thức
an toàn được lựa chọn (AH hay ESP), kiểu SA, điểm kết thúc của SA đó và một sự
tuyển chọn của các dịch vụ tùy ý các bên trong giao thức đó. Ví dụ như khi sử dụng AH
để xác minh nguồn gốc dữ liệu, tính toàn vẹn phi kết nối cho gói IP, có thể sử dụng dịch
vụ chống phát lại hoặc không tùy thuộc vào các bên.
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.
3.3.1.2 Kết hợp các SA
Các gói IP truyền qua một SA riêng biệt được cung cấp sự bảo vệ một cách chính
xác bởi giao thức an ninh có thể là AH hoặc ESP nhưng không phải là cả hai. Đôi khi
một chính sách an toàn có thể được gọi cho một sự kết hợp của các dịch vụ cho một
luồng giao thông đặc biệt mà không thể thực hiện được với một SA đơn lẻ. Trong trường
hợp đó cần thiết để giao cho nhiều SA thực hiện chính sách an toàn được yêu cầu. Thuật
ngữ cụm SA được sử dụng để một chuỗi các SA xuyên qua lưu lượng cần được xử lý để
thỏa mãn một tập chính sách an toàn.
Đối với kiểu Tunnel, có 3 trường hợp cơ bản của kết hợp an ninh như sau:
1) Cả hai điểm cuối SA đều trùng nhau: mỗi đường ngầm bên trong hay bên
ngoài là AH hay ESP, mặc dù host 1 có thể định rõ cả hai đường ngầm là như nhau, tức
là AH bên trong AH và ESP bên trong ESP.

Security Interne Security


Host 1 Gwy 1 Gwy 2 Host 2
t

Security Association 1 (Tunnel)


Security Association 2 (Tunnel)

Bùi Văn Nhật 45K2ĐTVT 54


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Hình 3.13: Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau
2) Một điểm cuối SA trùng nhau: đường hầm bên trong hay bên ngoài có thể là
AH hay ESP.

Security Interne Security


Host 1 Gwy 1 Gwy 2 Host 2
t

Security Association 1
(Tunnel)
Security Association 2 (Tunnel)

Hình 3.14: Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau
3) Không có điểm cuối nào trùng nhau: Mỗi đường hầm bên trong và bên ngoài là
AH hay ESP.

Security Interne Security


Host 1 Gwy 1 Gwy 2 Host 2
t

SA 1 (Tunnel)
Security Association 2 (Tunnel)

Hình 3.15: Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau

Chi tiết về kết hợp các SA có được trình bày trong RFC 2401.
3.3.1.3 Cơ sở dữ liệu SA

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).
1) SPD: chỉ ra các dịch vụ an toàn được đề nghị cho lưu lượng IP, phụ thuộc vào
các nhân tố như nguồn, đích, đi ra hay đi về. Nó chứa đựng một danh sách những lối vào
chính sách, tồn tại riêng rẽ cho lưu lượng đi vào và đi ra. Các lối vào này 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. Các lối vào này là tương tự cho firewall hay bộ lọc gói.
2) SAD: chứa thông số về mỗi SA, giống 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. Cho xử lý đi ra, một lối vào SPD trỏ tới

Bùi Văn Nhật 45K2ĐTVT 55


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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. Cho
xử lý đi về, SAD được tham khảo để quyết định gói được xử lý như thế nào.

3.3.2 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: Quan tâm đến lưu lượng được nhận hoặc sinh ra từ các bên IPSec IP-
VPN tại một giao diện nào đó yêu cầu thiết lập phiên thông tin IPSec cho lưu lượng đó.
Bước 2: 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 3: 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.
Bước 4: Dữ liệu bắt đầu truyền qua đường ngầm mã hóa sử dụng kỹ thuật đóng
gói ESP hoặc AH (hoặc cả hai).
Bước 5: Kết thúc đường ngầm IPSec VPN. Nguyên nhân có thể là do IPSec SA
kết thúc hoặc hết hạn hoặc bị xóa.
Tuy là chia thành 4 bước, nhưng cơ bản là bước thứ 2 và bước thứ 3, hai bước
này định ra một cách rõ ràng rằng 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.

Bùi Văn Nhật 45K2ĐTVT 56


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Hình 3.16: 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.
3.3.2.1 Bước thứ nhất

Việc quyết định lưu lượng nào cần bảo vệ là một phần trong chính sách an ninh
của mạng VPN. Chính sách được sử dụng để quyết định cần bảo vệ lưu lượng nào
(những lưu lượng khác không cần bảo vệ sẽ được gửi dưới dạng văn bản rõ).
Chính sách an ninh sẽ được phản chiếu trong một danh sách truy nhập. Các bên
phải chứa danh sách giống nhau, và có thể có đa danh sách truy nhập cho những mục
đích khác nhau giữa các bên. Những danh sách này được gọi là các danh sách điều khiển
truy nhập (ACLs- Acess Control List). Nó đơn giản là danh sách truy nhập IP mở rộng
của các routers được sử dụng để biết lưu lượng nào cần mật mã. ACLs làm việc khác
nhau dựa vào mục đích các câu lệnh permit (cho phép) và denny (phủ nhận) là khác
nhau. Hình 3.17 trình bày kết quả của các trạng thái khi thực hiện lệnh permit và deny
của nguồn và đích:

Bùi Văn Nhật 45K2ĐTVT 57


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Clear-Text Clear-Text
Packet Packet
Destination
Source Peer
Peer
Crypto IPSec
ACL
Deny
Permit Deny Permit AH or ESP
Packet
IPSec Crypto
ACL

AH or ESP AH or ESP or
Packet Clear-Text
Packet

Hình 3.17: Danh sách bí mật ACL


Từ khóa permit và deny có ý nghĩa khác nhau giữa thiết bị nguồn và đích:
* Permit tại bên nguồn: cho qua lưu lượng tới IPSec để nhận thực, mật mã hóa
hoặc cả hai. IPSec thay đổi gói tin bằng cách chèn tiêu đề AH hoặc ESP và có thể mật
mã một phần hoặc tất cả gói tin nguồn và truyền chúng tới bên đích.
* Deny tại bên nguồn: cho đi vòng lưu lượng và đưa các gói tin bản rõ tới bên
nhận.
* Permit tại bên đích: cho qua lưu lượng tới IPSec để nhận thực, giải mã, hoặc cả
hai. ACL sử dụng thông tin trong header để quyết định. Trong logic của ACL, nếu như
header chứa nguồn, đích, giao thức đúng thì gói tin đã được xử lý bởi IPSec tại phía gửi
và bây giờ phải được xử lý ở phía thu.
* Deny tại bên đích: cho đi vòng qua IPSec và giả sử rằng lưu lượng đã được gửi
ở dạng văn bản rõ.
Khi những từ khóa permit và deny được kết hợp sử dụng một cách chính xác, dữ
liệu được bảo vệ thành công và được truyền. Khi chúng không kết hợp chính xác, dữ
liệu bị loại bỏ. Bảng 3.2 trình bày kết hợp các lệnh permit và deny và kết quả thực hiện
cho các kết hợp.

Bùi Văn Nhật 45K2ĐTVT 58


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Bảng 3.2: Kết quả khi kết hợp lệnh permit và deny

Nguồn Đích Kết quả


Permit Permit Đúng
Permit Deny Sai
Deny Permit Sai
Deny Deny Đúng
3.3.2.2 Bước thứ hai
Bước thư hai 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 để nhận 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 nhận 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.
Host A Host B

Router A Router B

Computer Computer

IKE pha 1
Chế độ chính
Thương lượng Thương lượng
chính sách chính sách

Trao đổi Trao đổi


Diffie -Hellman Diffie -Hellman

Kiểmtra nhận Kiểmtra nhận


dạng các bên dạng các bên

Hình 3.18: 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.

Bùi Văn Nhật 45K2ĐTVT 59


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* 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ì 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

Bùi Văn Nhật 45K2ĐTVT 60


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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.
3.3.2.3 Bước thứ ba

Bước thứ 3 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:
* 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.

Bùi Văn Nhật 45K2ĐTVT 61


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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


Host A Host B

RouterA RouterB

Computer Co
m pu
ter

Thỏathuận
cáctậpchuyểnđổi

Tậpchuyểnđổi Tậpchuyểnđổi
30 50
ESP ESP
3D ES 3D ES
SH A SH A
Tunnel Tunnel
Lifetim e Lifetim e

Tậpchuyểnđổi
40
ESP
D ES
M D 5
Tunnel
Lifetime

Hình 3.19: 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
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

Bùi Văn Nhật 45K2ĐTVT 62


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

đượ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ỏ.
3.3.2.4 Bước thứ tư
Sau khi đã hoàn thành IKE pha 2 và chế độ nhanh đã được thiết lập các kết hợp
an ninh IPSec SA, lưu lượng có thể được trao đổi giữa các bên IP-VPN thông qua một
đường ngầm an toàn. Quá trình xử lý gói tin (mã hóa, mật mã, đóng gói) phụ thuộc vào
các thông số được thiết lập của SA.
3.3.2.5 Kết thúc đường ngầm
Các kết hợp an ninh IPSec SA kết thúc khi bị xóa bỏ hoặc hết thời gian tồn tại.
Khi đó các bên IP-VPN không sử dụng các SA này nữa và bắt đầu giải phóng cơ sở dữ
liệu của SA. Các khóa cũng bị loại bỏ. Nếu ở thời điểm này các bên IP-VPN vẫn còn
muốn thông tin với nhau thì một IKE pha 2 mới sẽ thực hiện. Trong trường hợp cần thiết
thì cũng có thể thực hiện lại từ IKE pha 1. Thông thường, để đảm bảo tính liên tục của
thông tin thì các SA mới được thiết lập trước khi các SA cũ hết hạn.
3.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ã, nhận 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:
3.4.1 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).
3.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*10 5 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
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.

Bùi Văn Nhật 45K2ĐTVT 63


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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õ.
3.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.
Trong chương 4 sẽ trình bày cụ thể thuật toán DES.
3.4.2 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 nhận thực
(ICV) của AH. Thiết bị đích sau đó copy MD từ AH và tách trường dữ liệu nhận 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à

Bùi Văn Nhật 45K2ĐTVT 64


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

HMAC (Hashed-keyed Message Authenticaiton Code: mã nhận 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.
3.4.2.1 Mã nhận 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ã nhận 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.
3.4.2.2 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 nhận 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 nhận 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.
3.4.2.3 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 nhận 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 nhận 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.
3.4.3 Nhận thực các bên

Bùi Văn Nhật 45K2ĐTVT 65


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Một trong những xử lý IKE là thực hiện nhận 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:
+ 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ý nhận thực như phác thảo sau
3.4.3.1 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.
3.4.3.2 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ể nhận 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.
3.4.3.3 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ã để nhận 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 nhận 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ý.
3.4.4 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.

Bùi Văn Nhật 45K2ĐTVT 66


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

+ 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ý.
+ 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ắng phâ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à nhận 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.
3.4.4.1 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 nhận 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à
nhận 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.

Bùi Văn Nhật 45K2ĐTVT 67


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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 nhận thực hay mật mã
gói tin IP. Bên thu sử dụng khóa đó để nhận 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.
3.4.4.2 Quyề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ề nhận 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 nhận 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ị.

Bùi Văn Nhật 45K2ĐTVT 68


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

3.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.20.
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.
T
rụsởch
ính

V
ănbảnđ
ư ợ
cmậtm
ã

V
ănb
ảnrõ

C
ertific
a te
Au th ority

C
hữkýs

In
tern
et C
omp
ute
r C
omp
ute
r C
omp
ute
r

P
h iên
IK E
Đ
ườngngầm
Nhậnthực
Mậtmã

U
ser

C
omp
ute
r

N
gườ
idù
ng

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


Trong ví dụ này, người dùng 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 người dùng (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 người dùng 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 nhận 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ý 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.

Bùi Văn Nhật 45K2ĐTVT 69


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

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ã, nhận 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
người dùng 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.
3.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.3 đưa ra tóm tắt về 3 giao thức trong chương 3.
Bảng 3.3: Tổng kết chương các giao thức của IPSec

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

Bùi Văn Nhật 45K2ĐTVT 70


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Chương 4
AN TOÀN DỮ LIỆU TRONG IP-VPN

4.1 Giới thiệu


Như đã trình bày trong chương 2, đặc điểm của IP-VPN là cho phép truyền dữ
liệu thông qua một cơ sở hạ tầng mạng công cộng mà vẫn đảm bảo được các đặc tính an
toàn và tin cậy dữ liệu. Để thực hiện được điều đó, công nghệ IP-VPN phải giải quyết
được hai vấn đề: đóng gói dữ liệu và an toàn dữ liệu. Đóng gói dữ liệu là cách thức thêm
các phần thông tin điều khiển vào gói tin ban đầu để đảm bảo gói tin đi được từ nguồn
tới đích mong muốn, điều này đã được đề cập trong các chương trước. An toàn dữ liệu là
cách thức đảm bảo cho dữ liệu đi qua mạng công cộng không bị xâm phạm, làm thay đổi
bởi những kẻ không mong muốn. Thực tế thì vấn đề an toàn dữ liệu không phải là vấn đề
riêng của IP-VPN mà là mối quan tâm cũng như thách thức của tất cả các tổ chức có nhu
cầu sử dụng Internet làm môi trường truyền tin. Chính vì vậy, đã có rất nhiều giải pháp,
giao thức, thuật toán được phát triển để giải quyết vấn đề này. Việc sử dụng giải pháp
nào là tùy thuộc vào từng ứng dụng cụ thể và không loại trừ khả năng sử dụng kết hợp
nhiều giải pháp để đạt hiệu quả an toàn như mong muốn. Bảng 4.1 là tóm tắt một số giao
thức, thuật toán an toàn dữ liệu chủ yếu đang được sử dụng. Có thể thấy các giao thức là
rất đa dạng và phức tạp và mỗi giao thức có thể sử dụng nhiều thuật toán khác nhau để
đạt hiệu quả an toàn dữ liệu cần thiết cho từng ứng dụng cụ thể.
Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng

Giao thức Chức năng Thuật toán


IPSec Cung cấp các dịch vụ dữ liệu tin cậy, RSA, DH, DES,
xác thực nguồn gốc dữ liệu. 3DES, MD5, SHA
PPTP Kết nối VPN RC4
SET Cho phép trao đổi an toàn các thẻ tín RSA, SHA, DES
dụng
S/MIME Đảm bảo việc truyền dẫn, lưu trữ, RSA, RC5, RC4,
xác thực, chuyển tiếp an toàn dữ liệu RC2, DES, 3DES
ở mức ứng dụng
SSL&TLS Tạo một đường ống an toàn giữa hai RSA, DH, RC4,
ứng dụng để trao đổi dữ liệu và xác DES, 3DES, SHA,
thực lẫn nhau MD5
Đối với IP-VPN, IPSec là giao thức tối ưu về mặt an toàn dữ liệu. Thứ nhất,
IPSec cung cấp xác thực tính toàn vẹn dữ liệu. Thứ hai, IPSec cho phép sử dụng các

Bùi Văn Nhật 45K2ĐTVT 71


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

phương pháp, thuật toán mật mã, xác thực mạng nhất hiện có. Thứ ba, IPSec là một
khung chuẩn mở, nghĩa là có thể lựa chọn các thuật toán phù hợp với mức độ an toàn dữ
liệu mong muốn mà không bị giới hạn cứng nhắc phải sử dụng đúng một thuật toán nào
đó, đồng thời có khả năng sử dụng các thuật toán tiên tiến phát triển trong tương lai.
Điều này thể hiện tính linh hoạt rất cao của IPSec.
Nội dung của chương này nhằm làm rõ vấn đề an toàn dữ liệu của công nghệ IP-
VPN dựa trên giao thức IPSec.
4.2 Mật mã
4.2.1 Khái niệm mật mã
Hình 4.1 cho thấy khái niệm chung sử dụng trong các thuật toán mật mã và mối
quan hệ giữa chúng.

Khóa K

Bản tin được


Bản tin Mật mã mật mã
ban đầu EK(P)=C C

Plaintext Ciphertext
Bản tin Cipher
Giải mã Bản tin được
ban đầu DK(C)=P mật mã
C

Khóa K

Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã
Một hệ mật là một bộ 5 (P, C, K, E, D)thỏa mãn các điều kiện sau:
1) P là một tập hữu hạn các bản rõ có thể.
2) C là một tập hữu hạn các bản mã có thể.
3) K là một tập hữu hạn các khóa có thể.
4) Đối với k ∈ K có một quy tắc mã ek: P→C và một quy tắc giải mã tương ứng
dk:C→P sao cho dk(ek(x)) = x với mọi bản rõ x ∈ P.
Điều kiện 4 nói lên rằng một bản rõ x được mã hóa bằng ek và bản mã nhận được
sau đó được giải mã bằng dk thì ta phải thu được bản rõ ban đầu x. Các khái niệm trong
hình được trình bày như sau:

Bùi Văn Nhật 45K2ĐTVT 72


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

+ Plaintext và ciphertext: bản tin ban đầu được gọi là bản tin rõ (plaintext hay
cleartext). Quá trình biến đổi bản tin để che dấu nội dung thật của nó được gọi là mật mã
(encryption). Bản tin đã mật mã được gọi là ciphertext. Quá trình biến bản tin đã mật mã
về bản tin ban đầu được gọi là giải mã (decryption).
+ Thuật toán và khóa: thuật toán mật mã (còn gọi là cipher) là một hàm toán học
sử dụng để mật mã và giải mã. Tính an toàn của một thuật toán mật mã phụ thuộc vòa
một khóa bí mật (secret key). Khoảng các giá trị có thể có của khóa được gọi là không
gian khóa (key space). Các quá trình mật mã và giải mã đều phụ thuộc vào khóa K như
sau:
Mật mã: EK(P)=C
Giải mã: DK(C)=P
Về cơ bản thì các thuật toán mật mã được chia thành hai loại: các hệ thống mật
mã khóa đối xứng (Symmetric Key Cryptosystem), và các hệ thống mật mã khóa công
khai (Public Key Cryptosystem). Mật mã khóa đối xứng sử dụng cùng một khóa duy
nhất trong quá trình mật mã và giải mã, với hệ thống này thì hai đầu kênh được cung cấp
cùng một khóa qua một kênh tin cậy và khóa này phải tồn tại trước quá trình truyền tin.
Còn mật mã khóa công khai sử dụng hai khóa khác nhau (một khóa bí mật và một khóa
công khai), khóa công khai dùng để lập mã và chỉ có khóa bí mật là có khả năng giải mã.
Bản thân các hệ mật mã này có nhiều thuật toán thực hiện.
4.2.2 Các hệ thống mật mã khóa đối xứng
4.2.2.1 Các chế độ làm việc ECB, CBC
Tùy thuộc vào cách thức chuyển các khối plaintext đầu vào thành các khối
ciphertext đầu ra mà các thuật toán mật mã khối được phân loại theo các chế độ làm việc
khác nhau, trong đó có ECB, CBC và OFB.
Chế độ sách mã điện tử ECB (Electronic Code Book Mode): đối với thuật toán
mật mã khối ECB, một khối plaintext đầu vào được ánh xạ tĩnh thành một khối
ciphertext đầu ra. Với những nguồn tài nguyên bộ nhớ hưu hạn, có thể xây dựng một
bảng tra cứu (loopup table) hay danh sách mã điện tử (Electronic Code Book) để ánh xạ
ngược một khối ciphertexxt về dạng plaintext tương ứng.

Bùi Văn Nhật 45K2ĐTVT 73


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Phía phát Phía thu

P1 E C1 C1 D P1

P2 E C2 C2 D P2

P3 E C3 C3 D P3

Hình 4.2: Chế độ chính sách mã điện tử ECB


Như vậy, các thuật toán mật mã ở chế độ ECB không an toàn đối với những tấn
công kiểu phát lại (replay attacks), trong đó kẻ tấn công lưu lại khối ciphertext (có khả
năng chứa thông tin mật) để có thể giải mã ở những thời điểm sau đó.
Chế độ chuỗi khỗi mật mã CBC (Cipher Block Chaining Mode) để ngăn chặn các
tấn công kiểu phát lại, các thuật toán mật mã khối hiện nay thường hoạt động ở chế độ
CBC. Mỗi khối plaintext được XOR với khối ciphertext trước đó rồi mới thực hiện mật
mã. Như vậy các khối plaintext giống nhau xuất hiện trong cùng một bản tin sẽ tạo thành
các khối ciphertext khác nhau.
Tại phía thu, mỗi ciphertext sau khi thực hiện giải mã sẽ được XOR với khối
ciphertext thu được trước đó để nhận được khố plaintext tương ứng. Nếu một lỗi bit xảy
ra thì sẽ làm sai toàn bộ khối plaintext tương ứng, cùng với một lỗi bit trong khối
plaintext kế tiếp. Như vậy ảnh hưởng của lỗi chỉ giới hạn trong hai khối plaintext mà thôi.

Phía phát IV IV Phía thu

P1 E C1 C1 D P1

P2 E C2 C2 D P2

P3 E C3 C3 D P3

Hình 4.3: Thuật toán mật mã khối ở chế độ CBC

Bùi Văn Nhật 45K2ĐTVT 74


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Bất cứ bản tin được mật mã CBC nào cũng phải được khởi tạo bởi một véc tơ IV
(Initialization Vector). IV được truyền qua kênh không an toàn ở thời điểm bắt đầu của
phiên truyền dẫn. Để tránh các tấn công kiểu lặp lại, giá trị IV chỉ sử dụng một lần. Điều
này có thể thực hiện được bằng cách gán giá trị ngẫu nhiên những tăng đơn thuần cho
IV.
4.2.2.2 Giải thuật DES (Data Encryption Standard)
Thuật toán DES được đưa ra vào năm 1977 tại Mỹ và đã được sử dụng rất rộng
rãi. Nó còn là cơ sở để xây dựng một thuật toán tiên tiến hơn là 3DES. Hiện nay, DES
vẫn được sử dụng cho những ứng dụng không đòi hỏi tính an toàn cao, và khi chuẩn mật
mã dữ liệu mới là AES chưa chính thức thay thế nó. DES mã hóa các khối dữ liệu 64 bit
với khóa 56 bit. Sơ đồ thuật toán DES cho trên hình 4.4.
Plaintext block (64 bits ) Key (64 bits )

Khởi tạohoánvị Bỏparity (56 bits )

Round 1

Round 2

Round 16

Đảokhởi tạohoánvị

Ciphertexxt block (64 bits )

Hình 4.4: Sơ đồ thuật toán DES


Trước hết 64 bit T đưa vào được hoán vị bởi phép hoán vị khởi tạo IP (Initial
Permutation), không phụ thuộc vào khóa T0 = IP(T). Sau khi thực hiện 16 vòng lặp, dữ
liệu được đi qua các bước hoán vị đảo RP (Reversed Permulation) và tạo thành khối
ciphertext. Thực chất các hoán vị này không là tăng tính an toàn DES.
Trung tâm của mỗi vòng lặp xử lý DES là mạng Fiestel (được đặt theo tên của
một nhà khoa hoc tại IBM). Hoạt động của mạng Fiestel được diễn tả như sau:
T =L0R0 với L0 = t1 …t32, R0 = t33 …t64.
Xét ở vòng lặp thức i (0<i<16): Li = Ri-1, Ri = Li-1⊕ F(Ri-1, Ki) trong đó ⊕ là phép
cộng XOR và Ki là khóa 48 bit. Ở vòng lặp cuối cùng các nhánh trái và phải không đổi

Bùi Văn Nhật 45K2ĐTVT 75


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

chỗ chi nhau, vì vậy input của IP-1 là R16L16. Trong đó hàm F được thể hiện là khối hộp
đen.
Li-1 Ri-1 Khóa Ki-1

32 Dịch 56 Dịch

Hoán vị mở rộng
Hoán vị nén
Hộp 48
đen 48
S-Box (Thay thế )

32
P-Box (Hoán vị )

56
32 32

Li Ri Khóa Ki

Hình 4.5: Mạng Fiestel


a) Hoạt động của khối hộp đen
Khá phức tạp, trong đó nó gồm có các khối chức năng và nhiệm vụ như sau:
- Hoán vị mở rộng: Mở rộng Ri-1 32 bít đầu vào thành khối 48 bít. Hoạt động mở
rộng này dựa vào một bảng định trước để lựa chọn các bít đầu ra. Sau đó các bít sau
hoán vị mở rộng được XOR với khóa Ki.
- S-box: Kết quả sau khi XOR được chia thành 8 khối 6 bít từ B1 tới B6. Mỗi khối
Bj sau đó được đưa vào một hàm Sj. Hàm Sj này sẽ trả lại các khối 6 bit thành khối 4 bit
theo bảng định trước.
- P-Box: Các khối 4 bit sau khi được trả lại sẽ kết hợp với nhau thành khối 32 bít
đầu ra của hộp đen.
b) Hoạt động tính khóa:
Khóa input ban đầu là một khối 64 bít, sau khi bỏ đi 8 bít parity và hoán vị 56 bít còn lại
theo một trật tự nhất định. DES tạo ra 16 khóa, mỗi khóa có chiều dài 48 bit từ một khóa
input 56 bit, dùng cho 16 vòng lặp. Tại mỗi vòng lặp, khóa K i-1 được chia thành hai phần
là Ci-1 và Di-1. Sau đó các bit của hai thành phần C i-1 và Di-1 được hoán vị dịch để tạo
thành Ci và Di. Sau khi hoán vị, Ci bỏ qua các bít 9, 18, 22, 25 tạo thành nữa trái của K I
(24 bit) và Di bỏ qua các bít 35, 38, 43, 54 tạo ra nữa phải của Ki (24 bít). Ghép nữa trái
và nữa phải tạo ra khóa Ki 48 bít.
c) Giải mã: Quá trình giải mã thực hiện các bước này theo thứ tự ngược lại.

Bùi Văn Nhật 45K2ĐTVT 76


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

d) Phân phối khóa


Nhược điểm lớn nhất của các hệ thống mật mã khóa đối xứng là vấn đề phân phối
các khóa bí mật thông qua kênh không an toàn. Số lượng các khóa bí mật cần thiết khi
sử dụng một thuật toán mật mã khóa đối xứng với n đối tác tham gia sẽ là
C n2 = n( n − 1) / 2 . Có thể thấy việc phân phối các khóa bí mật sẽ trở nên hết sức khó khăn
khi số lượng đối tác tham gia trao đổi thông tin lớn. Hình 4.6 chỉ ra việc phân phối khóa
trong hệ thống mật mã khóa đối xứng.
A KAB , KAC , KAD , KAE, KAF .

F B

KAF , KBF , KCF , KAB, KBC , KBD ,


KDF , KEF KBE , KBF .
Computer Computer

KAE , KBE , KCE , KAC , KBC , KCD ,


KDE, KEF . KCE , KCF.
Computer Computer

E C

D KAD , KBD , KCD , KDE, KDF .


Computer

Hình 4.6: Phân phối khóa trong hệ thống mật mã khóa đối xứng

4.2.2.3 Giới thiệu AES (Advanced Encryption Standard)

Thuật toán DES với khóa 56 bit đã được phát triển cách đây gẩn 28 năm, và hiện
không còn phù hợp với những ứng dụng đòi hỏ tính an toàn dữ liệu cao (đặc biệt các ứng
dụng về quân sự, hoặc thương mại điện tử). Đây là lý do cần phát triển các thuật toán
mật mã mới đáp ứng được những yêu cầu an toàn dữ liệu ngày càng cao. Trong số các
thuật toán mới được phát triển gần đây có 3DES (Triple DES) với khóa công khai 168
bít và đặc biệt là AES. Năm 1997, NIST (US National Institute of Standards and
Technology) đã tổ chức lựa chọn những thuật toán sau:
* MARS (IBM): Cải tiến mạng Fiestel, thực hiện 32 vòng và dựa trên cấu trúc kết
hợp của DES.
* RC6 (RSA): Thực hiện mạng Fiestel 20 vòng, cải tiến thuật toán RC5.
* Twofish (Bruce Schneier): thực hiện mạng Fiestel 16 vòng, cải tiến thuật toán
Blowfish.

Bùi Văn Nhật 45K2ĐTVT 77


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* Serpent (Ross Anderson/ Eli Biham/ Lars Knudsen): Thực hiện mạng hoán vị
thay thế 32 vòng.
* Rijndael (Joan Daemen/ Vincent Rijimen): Thực hiện mạng hoán vị thay thế
cải tiến 10 vòng.
Trong 5 thuật toán trên, NIST đã chọn Rijindael cho chuẩn AES vào năm 2000. Trong
tương lai, AES sẽ là chuẩn mật mã khối đối xứng và sẽ được thực hiện trên cả phần cứng
lẫn phần mềm. AES sẽ được thiết kế để có thể tăng độ dài khóa khi cần thiết. Độ dài
khối dữ liệu của AES là n = 128 bít, còn độ dài khóa k = 128, 192, 256 bit.
4.2.2.4Thuật toán mật mã luồng (stream cipher)

Mật mã luồng dựa trên một bộ tạo luồng khóa (key stream generator) để tạo nên
một chuỗi số giả ngẫu nhiên (pseudo-random sequence) khởi tạo bởi một khóa bí mật
(secret key). Chuỗi khóa được XOR với chuỗi bit plaintext. Tại phía thu, một bộ tạo
khóa giống hệt khởi tọa bởi cùng một khóa bí mật được đồng bộ với chuỗi ciphertext
đầu vào. Phía thu phục hồi plaintext bằng cách XOR chuỗi ciphertext với chuỗi khóa đã
đồng bộ.

Khóa

Bộ tạo chuỗi
giả ngẫu nhiên

Luồng bit Plaintext Luồng bit ciphertext

Luồng bit plaintext 1 1 1 1 1 1


Luồng bít giả ngẫu nhiên 1 0 0 1 1 0
Luồng bit ciphertext 0 1 1 0 0 1

Hình 4.7: Mật mã luồng


4.2.3 Hệ thống mật mã khóa công khai

4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai

Hệ thống mật mã khóa công khai còn được gọi là hệ thống mật mã khóa không
đối xứng, vì theo như có chế mật mã này thì khóa được dùng để mã hóa gói tin và khóa
được dùng để giải mã là khác nhau. Sự phát triển của mật mã khóa công khai có ý nghĩa
rất lớn và tạo ra một cuộc cách mạng trong toàn bộ lịch sử của mật mã khóa. Những
thuật toán công khai đều dựa trên những hàm toán học hơn là những nhóm thay thế và
hoán vị trong mật mã khóa cổ điển. Trong hệ thống mật mã khóa công khai thì mỗi đối
tác tham gia sẽ sở hữu một cặp khóa duy nhất, bao gồm một khóa bí mật (được lưu bí

Bùi Văn Nhật 45K2ĐTVT 78


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

mật bởi đối tác) và một khóa công khai tương ứng (được phát trong các thư mục công
cộng). Hai khóa này có quan hệ với nhau để đảm bảo rằng khóa công khai thực hiện
chức năng mã hóa và khóa bí mật thực hiện chức năng giải mã.
Các bước cần thiết trong quá trình mã hóa khóa công khai:
- Một hệ thống cuối trong mạng tạo ra một cặp khóa để dùng cho mã hóa và giải
mã đoạn tin mà nó sẽ nhận.
- Mỗi hệ thống công bố rộng rãi khóa mã hóa bằng cách đặt khóa vào một thanh
ghi hay một file công khai. Đây là khóa công khai, khóa còn lại được giữ riêng.
- Nếu A muốn gửi một đoạn tin tới B thì A sẽ mã hóa đoạn tin bằng khóa công
khai của B.
- Khi B nhận được đoạn tin mã hóa, nó giải mã bằng khóa bí mật của mình.
Không một người nào khác có thể giải mã đoạn tin mã này bởi vì chỉ minh B biết khóa
bí mật đó thôi.

Khóa công khai

Kênh
truyền
Giải thuật Giải thuật
User A User B
mã hóa giải mã
Đoạn tin Đoạn tin
Đoạn tin
được mật mã Khóa bí mật

Hình 4.8: Sơ đồ mã khóa công khai


Với cách tiếp cận này, tất cả những người tham gia có thể truy xuất khóa công
khai. Khóa bí mật được tạo ra bởi từng các nhân, vì vậy không bao giờ được phân bố. Ở
bất kì thời điểm nào, hệ thống cũng có thể chuyển đổi cặp khóa để đảm bảo tính bảo mật
mà không cần sử dụng kênh thông tin an toàn để truyền khóa bảo mật.
Các yêu cầu của mật mã khóa công khai:
1/ Công việc tính toán thì dễ dàng cho người nhận B: tạo cặp khóa công khai KU
và khóa bí mật KR.
2/ Công việc tính toán thì dễ dàng cho người nhận A: biết khóa công khai và đoạn
tin cần mã hóa M, để tạo mật mã tương ứng C=EKub(M).
3/Công việc tính toán dễ dàng cho người nhận B để thực hiện giải mã: sử dụng
khóa bí mật để giải mã đoạn tin mã hóa C, khôi phục lại đoạn tin ban đầu.
M = DKRb(C) = DKRb[EKUb(M)]

Bùi Văn Nhật 45K2ĐTVT 79


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

4/ Công việc tính toán không thể thấy trước đối với địch thủ biết khóa công khai
KUb để xác định khóa bí mật KRb.
Công việc tính toán không thể thấy trước đối với địch thủ biết khóa công khai
KUb và đoạn tin mật mã C để khôi phục đoạn tin ban đầu M.
5/ Chức năng mã hóa và giải mã có thể được áp dụng theo thứ tự:
M = DKRb[EKUb(M)]
M = EKUb[DKRb(M)]
Có thể nhận thấy rằng việc tính Y = f(X) thì dễ dàng trong khi tính X=f -1(Y) là
không thể thấy trước. Nói chung từ “dễ dàng” được xác định bởi 1 bài toán là nó có thể
được giải quyết trong thời gian nhất định (nó phụ thuộc vào chiều dài input). Nếu chiều
dài input là n bít thì thời gian để tính hàm đó tỉ lệ với n a . Để đảm bảo tính bảo mật thì
phải sử dụng khóa có kích thước đủ lớn (thường trên 100 chữ số thập phân). Ví dụ kích
thước khóa và thời gian bẻ khóa (MIPS tính theo năm) trong các giải thuật RSA/DSS và
ECC như sau.
Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC.

RSA ECC MIPS (năm)


512 106 104
768 132 108
1024 160 1012

4.2.3.2 Hệ thống mật mã khóa công khai RSA

RSA do Rivest, Shamir và Adleman phát triển năm 1977. Sơ đồ RSA là sơ đồ mã


hóa từng khối, với mỗi khối có giá trị nhỏ hơn n. Việc mã hóa và giải mã theo hình thức
sau, cho khối văn bản M và khối bảo mật C:

C = Me mod n
M = Cd mod n = (Me)d mod n = Mde mod n
Cả người gửi và nhận phải biết giá trị n, người gửi biết e và chỉ có người nhận
biết d. Cho nên đây là giải thuật mã hóa với khóa công khai KU = [e,n] và khóa bí mật
KR = [d,n]. Vì giải thuật này thỏa giải thuật mã khóa công khai nên các yêu cầu sau phải
được đáp ứng:
* Có thể tìm thấy giá trị d, e, n để: M = Mde mod n với mọi M<n hay không?
* Một cách tương đối dễ dàng tính Me và Cd với mọi M<n hay không?

Bùi Văn Nhật 45K2ĐTVT 80


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

* Không thể xác định d khi biết e và n.


Theo lý thuyết Euler: cho 2 số nguyên p và q, 2 số nguyên n và m (n=p*q,
0<m<n) và số nguyên k. Ta có:
mk0(n)+1mod n= mk(p-1)(q-1)+1 mod n= m mod n
0(n)=0(pq)=(p-1)(q-1)
Do đó:
Nếu: de = k0(n) + 1 và gcd(0(n),e)=1 (gcd: ước số chung lớn nhất)
Thì: de mod 0(n) = 1 và d mod 0(n) = e- 1
Sơ đồ RSA:
Giả sử user A đã công bố khóa công khai e của nó và user B muốn gửi đoạn tin M
tới A. Khi đó B tính C=Me mod n và truyền C. Khi nhận được đoạn tin C này, user A
giải mã bằng cách tính Cd mod n. Có thể thấy rằng M=Cd mod n vì:
de mod 0(n) = 1 hay de = k0(n)+1
→ Mk0(n)+1mod n = Mk(p-1)(q-1)+1mod n=M mod n=(Mde mod n) modn=Mde mod n
Cd mod n = (Me)dmod n = Mde mod n = M
Có thể tóm tắt giải thuật RSA như bảng sau:
Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp

Tạo khóa Độ phức tạp


Tạo 2 số nguyên tố lớn p và q
Tính n = p*q, 0(n) = (p-1)*(q-1) 0((log n)2)
Chọn 1 số ngẫu nhiên 1<e<0(n): gcd (0(n),e) = 1 0(log(0(n))2)
Tính d: d=e-1mod 0(n) (giải thuật Euclidean mở rộng) 0((log n)3)
Khóa công khai KU=[e,n]
Khóa bí mật KR=[d,n]
Ví dụ về quá trình mật mã và giải mã của thuật toán RSA: Chọn p = 3, q = 11.
Khi đó ta có n = pq = 33 và (p-1)(q-1) = 20 = 2*5*5. Giá trị e được chọn phải quan hệ
nguyên tố với 20 , nghĩa là không chứa các ước số 2,5 và e < 20. Ta chọn e = 3, d = 7.
Khi đó ta có:
Phía mật mã:
Giả sử có bản tin: M = {10, 9, 5, 20}
→ M3={1000, 729, 125, 8000} và C=M3 mod 33={10, 3, 26, 14}.
Phía giải mã:
C7 ={107, 2187, 267, 147}

Bùi Văn Nhật 45K2ĐTVT 81


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

M=C7 mod 33{10, 9, 5, 20}


Kích thước khóa RSA: tùy thuộc vào tính bảo mật và thời gian sống của khóa mà
khóa có chiều dài thích hợp:
- Loại Export : 512 bít.
- Loại Personnal : 768 bit.
- Loại Commercial : 1024 bit.
- Loại Militery : 2048 bit.
Trên đây là những nội dung chính của thuật toán mật mã RSA. Thực tế, để thực
hiện được các thuật toán với kích thước khóa lớn đòi hỏi một lượng tính toán rất lớn liên
quan đến vấn đề lý thuyết số như thuật toán Euclide để tìm USCLN của hai số nguyên
hay thuật toán Miller-Rabin để kiểm tra tính nguyên tố của các số tự nhiên này.
4.2.4 Thuật toán trao đổi khóa Diffie-Hellman
Thuật toán Diffie-Hellman cho phép hai bên trao đổi với nhau một khóa bí mật
chung. Các bước thực hiện như sau:
Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman

Bên A Mạng Bên B


Đồng ý với bên B về sử dụng số → ← Đồng ý với bên A về sử dụng số
nguyên lớn ban đầu: P nguyên lớn ban đầu: P
Đồng ý về số nguyên làm nhiệm → ← Đồng ý về số nguyên làm nhiệm
vụ tạo khóa: G vụ tạo khóa: G
Chọn lọc số bí mật: A → ← Chọn lọc số bí mật: B
Tính số công cộng: X=GAmod P Tính số công cộng: Y=GBmod P
Gửi số X tới bên B X→ ←Y Gửi số X tới bên B
Bây giờ đã biết: P, G, A, X, Y Bây giờ đã biết: P, G, B, X, Y
Tính KA=YAmod P Tính KB=XBmod P
Bây giờ đã có khóa bảo mật chia Bây giờ đã có khóa bảo mật
sẻ: KA=KB=K chia sẻ: KA=KB=K
Chứng minh: Chứng minh:
KA=(GBmod P)Amod P KB=(GAmod P)Bmod P
KA=(GB)Amod P KB=(GA)Bmod P
KA=GBAmod P KB=GAB mod P
KA KB
Ví dụ về trao đổi khóa Diffie-Hellman như sau: hai bên A và B thống nhất với
nhau số nguyên tố P=31 và một số nguyên G=3.
Tại A: chọn A=8→ X=38mod 31 = 20. X=20 này được gửi đến B.

Bùi Văn Nhật 45K2ĐTVT 82


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tại B: chọn B=6→ Y=36mod 31 = 16. Y=16 này được gửi đến A.
Tính khóa bí mật K:
Tại A: KA=168mod 31 = 4
Tại B: KB=206mod 31 = 4
⇒ Hai bên chọn khóa bí mật là KA=KB=K=8 cho quá trình mật mã và giải mã
thông tin.
4.3 Xác thực
Xác thực là thuật ngữ để chỉ hai khái niêm: xác thực tính toàn vẹn của dữ liệu và
xác thực nguồn gốc dữ liệu. Về cơ bản thì các xác thực này được giải quyết bằng các
phương pháp khác nhau. Trong phần này chúng ta sẽ xem xét cách thức giải quyết hai
vấn đề này.
4.3.1 Xác thực tính toàn vẹn của dữ liệu
Xác thực tính toàn vẹn của dữ liệu (data intẻgity)bao gồm 2 vấn đề sau:
+ Phát hiện các bản tin bị lỗi (corrupted message): Phát hiện các lỗi bít do nguyên
nhân lỗi của phương pháp truyền dẫ hoặc của thiết bị lưu trữ. Giải pháp cho vấn đề này
sử dụng một Message Digest (MD: giản lược thông điệp- còn gọi là hàm hash) cho mỗi
bản tin. MD hoạt động như một dấu vân tay (fingerprint) cho phép xác định duy nhất
một bản tin (tương tự như CRC).
+ Bảo vệ chống sửa đổi bất hợp pháp bản tin (unathurized modification): phát
hiện ra những bản tin đã bị sửa đổi một cách bất hợp pháp trong quá trình truyền dẫn. Có
hai giải pháp cho vấn đề này trên cơ sở sử dụng mật mã khóa đối xứng và khóa không
đối xứng. Gải pháp khóa đối xứng tạo ra một mã xác thực bản tin MAC (Message
Authentication Code) dựa trên một hàm giản lược thông điệp có khóa tác động (keyed
message digest function). Giải pháp khóa không đối xứng tạo ra một chữ ký số (digital
signature) bằng cách mật mã giản lược thông điệp MD với khóa công khai của người
gửi.
4.3.1.1 Giản lược thông điệp MD dựa trên các hàm băm một chiều

a) Giản lược thông điệp MD (Message Digest)


MD là phương pháp sử dụng để phát hiện lỗi truyền dẫn, nó được thực hiện bằng
các hàm băm một chiều. MD có độ dài cố định hoạt động như một dấu vân tay duy nhất
cho một bản tin có độ dài tùy ý. Với độ dài thông thường của một MD từ 128 bit đến
256 bit thì có thể đại diện cho 10 38 đến 1077 giá trị vân tay khác nhau. Con số này là cực
lớn nếu lấy một ví dụ như sau: giả sử trong thế kỷ 21, dân số 10 tỷ người, mỗi người

Bùi Văn Nhật 45K2ĐTVT 83


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

trong một ngày viết 100 văn bản, như vậy tổng số văn bản mới chỉ là 365.10 14. Nếu mỗi
văn bản có một dấu vân tay xác định thì cũng chỉ có một phần rất nhỏ trong số 10 38 khả
năng có thể của MD được sử dụng.
b) Các hàm băm một chiều
Các hàm băm một chiều được sử dụng để tính MD. Một hàm băm được coi là tốt
nếu thỏa mãn các yêu cầu sau:
- Việc tính toán MD đơn giản, hiệu quả, cho phép tính MD của các bản tin có
kích thước nhiều GB.
- Không có khả năng tính ngược lại bản tin ban đầu khi biết giá trị MD của nó.
Đây là lý do tại sao hàm băm được gọi là một chiều.
- Giá trị MD phải phụ thuộc vào tất cả các bit của bản tin tương ứng. Dù chỉ một
bit trong bản tin bị thay đổi, thêm vào hoặc xóa bớt thì sẽ có khoảng 50% các bản tin
trong MD sẽ thay đổi giá trị một cách ngẫu nhiên. Hình 4.9 diễn tả điều này. Hàm băm
có khả năng thực hiện ánh xạ message - to - digest giả ngẫu nhiên, nghĩa là với hai bản
tin gần giống hệt nhau thì mã hash của chúng lại hoàn toàn khác nhau.
- Do bản chất giả ngẫu nhiên của hàm băm và số lượng cực lớn các giá trị hash có
thể có, nên hầu như không có khả năng hai bản tin phân biệt có cùng giá trị hash. Vì vậy,
với các ứng dụng thực tế hiện nay, có thể coi đầu ra của hàm băm thực hiện trên một bản
tin là dấu vân tay duy nhất của bản tin đó.

Bùi Văn Nhật 45K2ĐTVT 84


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tài liệu hoặc 1010111 1010111


bản tin 0010100 0110100
(Độ dài tùy ý) 11011101 11011101
00010101 00010101

Hàm băm một chiều Hàm Hash Hàm Hash

Message Digest 101101 000100


(độ dài cố định)

Hình 4.9: Một bít thay đổi trong bản tin dẫn đến 50% các bít MD thay đổi
Có hai hàm băm thông dụng là MD5 (Message Digest #5) và SHA (Secured Hash
Funtion). MD5 do Ron Rivest (RSA Sercurity Inc) phát minh, tính giá trị hash 128 bit từ
một bản tin nhị phân độ dài tùy ý. SHA được phát triển bởi NIST (US National Institute
of Standards and Technology) với sự cộng tác của NSA (National Security Agency).
SHA-1 tính giá trị hash 160 bit từ một bản tin nhị phân có độ dài tùy ý. Thuật toán này
tương tự như MD5 nhưng an toàn hơn vì kích thước hash lớn hơn. Thuật toán SHA-2 với
các kích thước hash là 256, 384 và 512 bít đã được NIST công bố vào tháng 10 năm 2000
để thích ứng với các khóa có độ dài lớn của thuật toán AES.

Bùi Văn Nhật 45K2ĐTVT 85


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tài liệu hoặc 1010111 1010111


bản tin 0010100 0010100
(Độ dài tùy ý) 11011101 11011101
00010101 00010101

Hàm băm một chiều MD5 SHA

Message Digest: 128 bit 160 bit


Vân tay hàm băm

Hình 4.10: Các hàm băm thông dụng MD5, SHA


c) Cấu trúc cơ bản của các hàm băm một chiều
Hình 4.12 cho thấy cấu trúc cơ bản của các hàm băm một chiều MD5 và SHA.

Document Pad L

N x 512 bit

Khối 1 Khối 2 Khối N


512 bit 512 bit 512 bit

H H H
Hàm băm a Hàm băm a Hàm băm a
I s s s
MD5/SHA MD5/SHA MD5/SHA
V h h h

IV 128/160 bit Initialization vector P Padding


Hash 128/160 bit Hash value L 64 bit Document Length

Hình 4.11: Cấu trúc cơ bản của MD5, SHA


MD5 và SHA là các thuật toán mã khối:
- Cả MD5 và SHA đều làm việc với các khối dữ liệu đầu vào 512 bit. Như vậy,
bản tin ban đầu được phân thành số nguyên lần các khối dữ liệu này. Điều này thực hiện
bằng cách thêm một trường L (Document Length: độ dài bản tin) 64 bit vào cuối bản tin,
sau đó chen 0÷ 512 bit đệm vào trước trường L để khối dữ liệu cuối cùng có độ dài đúng
512 bit.
- Việc xử lý theo từng khối này cho phép tính giá trị hash của các bản tin lớn theo
kiểu nối tiếp.

Bùi Văn Nhật 45K2ĐTVT 86


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Vectơ khởi tạo IV và giá trị hash:


- Ngoài 512 bit khối dữ liệu đầu vào, hàm băm còn yêu cầu một vectơ khởi tạo IV
(Initialization Vector) có kích thước bằng kích thước của hash (128 bit đối với MD5 và
160 bit đối với SHA-1).
- Trong vòng tính đầu tiên, IV lấy giá trị định nghĩa trước trong các chuẩn MD5,
SHA. Một giá trị hash sẽ được tính dựa trên khối 512 bit đầu vào đầu tiên. Giá trị hash
này sẽ đóng vai trò IV trong vòng tính thứ hai. Quá trình tiếp tục với giá trị hash của
vòng trước là IV của vòng sau. Sau khi khối dữ liệu 512 bit cuối cùng được xử lý thì giá
trị hash tính được chính là MD (vân tay) của toàn bộ bản tin.
4.3.1.2 Mã xác thực bản tin MAC dựa trên các hàm băm một chiều sử dụng
khóa
MAC (Message Authentication Code) là phương pháp bảo vệ chống sửa đổi bất
hợp pháp nội dung bản tin. MAC được thực hiện bằng các hàm băm một chiều kết hợp
với khóa bí mật.

1010111 Phía phát 1010111 Phía thu


0010100 0010100
11011101 11011101
00010101 00010101

Kênh truyền
Key Key

Keyed Keyed
Hash Funtion Hash Funtion

MAC
So sánh
MAC MAC

Hình 4.12: Xác thực tính toàn vẹn dựa trên mã xác thực bản tin MAC
Lý do xây dựng mã xác thực bản tin MAC là vì bản thânh MD không cung cấp
bất kỳ bảo vệ nào chống lại việc thay đổi bất hợp pháp nội dung của bản tin. Khi một
người nào đó thay đổi nội dung của bản tin trên đường truyền dẫn thì anh ta cũng có thể
tính lại giá trị hash MD5 hay SHA dựa trên nội dung bản tin đã thay đổi đó. Như vậy, tại
phía thu, giá trị hash của bản tin nhận được vẫn hoàn toàn hợp lệ.

Bùi Văn Nhật 45K2ĐTVT 87


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Để giải quyết vấn đề này, phải sử dụng một khóa bí mật trong quá trình tính vân
tay của bản tin thì mới đảm bảo chống lại những thay đổi bất hợp pháp. Phía thu (nơi có
khóa bí mật) tạo ra một giản lược thông điệp hợp lên (valid MD), gọi là mã xác thực bản
tin MAC. Phía thu sử dụng khóa bí mật để xác định tính hợp lệ của bản tin bằng cách
tính lại giá trị MAC và so sánh với giá trị MAC mà phía phát truyền đi. Đến đây, vấn đề
là xây dựng các hàm băm một chiều sử dụng khóa dựa trên các hàm băm đã trình bày ở
trên.
RFC 2104 đưa ra một phương án để xây dựng các hàm băm có sử dụng khóa trên
cơ sở các hàm băm như MD5, SHA.

0x36…0x36 Inner Key Document

XOR

Key Pad 512 bit Hàm băm MD5/SHA

XOR

0x5C…0x5C Outer Key Hash

Hàm băm MD5/SHA

Hash MAC

Hình 4.13: Quá trình tạo mã xác thực bản tin MAC

Phía trước bản tin cần xác thực, thêm vào 512 bit khóa bên trong (inner key).
Khóa này được hình thành bằng cách thêm các bit đêm (padding) vào khóa bí mật cho
đủ 512 bit, sau đó XOR khối này với các giá trị 0x36. Để đảm bảo tính an toàn cao nhất
thì độ dài của khóa bí mật phải lớn hơn hoặc bằng độ dài của giá trị hash (128 bit đối với
MD5 và 160 bit đối với SHA).
Bản tin bây giờ được đưa tới hàm băm. Vì giá trị hash của khối dữ liệu trước luôn
đóng vai trò là vectơ khởi tạo cho khối sau, nên hàm băm thực hiện trên khối inner key

Bùi Văn Nhật 45K2ĐTVT 88


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

sẽ tạo ra một vectơ khởi tạo để thực hiện hash cho bản tin gốc ban đầu, giá trị của vectơ
khởi tạo này chỉ phụ thộc vào khóa bí mật mà thôi. Như vây, khi khóa bí mật giữ nguyên
thì tất cả các bản tin đều có thể được ký sử dụng cùng một vectơ khởi tạo bí mật.
Tương tự đối với khóa ngoài (outer key). Khóa ngoài được hình thành bằng cách
XOR khóa bí mật (đã chèn các bit đệm) với các giá trị 0x5C. Khi đó, hàm băm thực hiện
trên khối outer key sẽ tạo ra một vectơ khởi tạo để thực hiện hash cho chính giá trị hash
tính ở vòng thứ nhất.
Thông thường giá trị MAC cuối cùng được tạo ra bằng cách cắt ngán giá trị hash
thu được bởi MD5 (128 bit) và SHA (160 bit) xuống còn 96 bit. Mặc dù việc cắt ngắn
này làm giảm đáng kể số các tổ hợp cần thử đối với một tấn công kiểu brute fore, nhưng
nó có tác dụng che dấu trạng thái bên trong của thuật toán băm và sẽ khó khăn hơn rất
nhiều cho kẻ tấn công để có thể đi từ đầu ra của vòng băm thứ hai tới kết quả trung gian
của vòng băm thứ nhất.
Phưong pháp xác thực tính toàn vẹn sử dụng MAC có ưu điểm là thực hiện nhanh
và hiệu quả, vì việc tạo MAC dựa trên các hàm băm tương đối đơn giản, do đó thường
được sử dụng để xác thực các cụm dữ liệu ở tốc độ cao. Nhược điểm là phía thu phải
biết được khóa bí mật thì mới xác định được tính toàn vẹn của bản tin, dẫn đến vấn đề
phân phối khóa một cách an toàn.

4.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai

Chữ ký số là một phương pháp để bảo vệ chống sửa đổi bất hợp pháp nội dung
bản tin. Chữ ký số được thực hiện bằng cách mật mã giá trị hash thu được từ một hàm
băm một chiều. Hình 4.14 diễn tả giá trị hash (MD5 hoặc SHA) của bản tin được mật mã
với khóa bí mật của phía phát để tạo thành chữ ký số và được truyền đi cùng với bản tin
tương ứng.

Bùi Văn Nhật 45K2ĐTVT 89


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

1010111 Phía phát 1010111 Phía thu


0010100 0010100
11011101 11011101
00010101 00010101

Kênh truyền
Hàm băm Giá trị băm
So sánh
Giá trị băm Giá trị băm

Mật mã cùng với Giải mã cùng với


khóa riêng khóa công cộng

Chữ ký Chữ ký

Hình 4.14: Chữ ký số


Phía thu tính lại mã hash từ bản tin thu được, đồng thời giải mã chữ ký số đi kèm
với bản tin. Nếu giá trị giải mã trùng với giá trị hash tính được thì kết luận được tính
toàn vẹn của bản tin, vì chỉ có phía phát mới có đúng khóa bí mật để mật mã chữ ký số
đó.
Do các khóa công khai được phân bố rộng rãi, nên bất cứ người nào cũng có thể
xác định được tính toàn vẹn của bản tin. Phương pháp này tránh được vấn đề phân phối
khóa an toàn, nhưng các quá trình mật mã và giải mã sử dụng khóa bí mật/ công khai
thực hiện rất chậm. Vì vậy phương pháp này chỉ được sử dụng để xác thực đối tác tại
thời điểm ban đầu của phiên trao đổi thông tin.
4.3.2 Xác thực nguồn gốc dữ liệu
4.3.2.1 Các phương thức xác thực
Có hai phương thức xác thực nguồn gốc dữ liệ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.
a) Phương thức xác thực dựa trên mật khẩu
Đối với phương thức này, tồn tại 2 nguy cơ mất an toàn như sau:
- Nguy cơ thứ nhất: Mật khẩu phải truyền qua một kênh không an toàn. Ví dụ
trong trường hợp đăng nhập từ xa sử dụng giao thức telnet yêu cầu truyền nhận dạng
(ID) và mật khẩu (password) của người sử dụng ở dạng bản rõ tới máy đích. Như vậy
nguy cơ mất an toàn là cao vì phải truyền mật khẩu qua Internet - một kênh không an
toàn.

Bùi Văn Nhật 45K2ĐTVT 90


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- Nguy cơ thứ hai: mật khẩu phải được lưu trong một phương tiện lưu trữ của
máy chủ, thông thường là máy chủ đăng nhập (login server). Việc lưu trữ mật khẩu cũng
là một nguy có mất an toàn cao.
b) Phương thức xác thực dựa trên các giao thức hỏi đáp
Để xác thực qua một kênh không an toàn, có thể sử dụng một giao thức hỏi đáp
để kiểm tra xem đối tác cần xác thực có sở hữu một giá trị bí mật để xác thực đối tác đó
hay không. Phương thức này không yêu cầu phải trao đổi các giá trị bí mật thông qua
kênh không an toàn. Giao thức hỏi đáp này sử dụng mã xác thực bản tin MAC hoặc chữ
ký số.
- Giao thức hỏi đáp sử dụng mã xác thực bản tin MAC
U Kênh không Server
ser an toàn
IDU RU RS RS Giá trị ngẫu nhiên
(Nonce)
Khẩu lệnh

Key Keyed Hash


Function

IDU RU MAC IDU RU RS


Đáp

Key Keyed Hash


Function

MAC MAC

Hình 4.15: Giao thức hỏi đáp MAC


Phương pháp này sử dụng một khóa bí mật chung giữa hai đối tác. Chẳng hạn khi
một người sử dụng muốn đăng nhập vào một máy chủ, máy chủ sẽ gửi một câu khẩu
lệnh (challenge) tới người sử dụng, dứoi dạng một giá trị ngẫu nhiên (gọi là nonce). Để
đề phòng tấn công kiểu lặp lại, mỗi giá trị nonce thường không được sử dụng đến lần thứ
hai. Người sử dụng tạo ra một trả lời (response) bằng cách ghép các giá trị ngẫu nhiên RS
(nhận được từ máy chủ) với thông số nhận dạng ID của người đó, sau đó đưa tới một
hàm băm có sử dụng khóa được khởi tạo bởi một khóa bí mật. Bản thân hàm băm để tăng
tính an toàn. Kết quả của hàm băm là mã MAC, cùng với thông số nhận dạng ID sẽ được
gửi tới máy chủ. Với đặc tính một chiều của MAC, dữ liệu được truyền đi trên kênh không
an toàn sẽ không để lộ bất cứ thông tin nào về khóa bí mật.

Bùi Văn Nhật 45K2ĐTVT 91


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Máy chủ dựa vào các thông tin mà nó có (bao gồm ID, R U, RS, khóa bí mật) để
tính giá trị MAC, sau đó so sánh với MAC mà người sử dụng gửi đi. Nếu người sử dụng
có đúng khóa bí mật sử dụng chung thì hai giá trị này trùng khớp với nhau và quá trình
xác thực thành công.
- Giao thức xác thực sử dụng chữ ký số
Giao thức hỏi đáp cũng có thể dựa trên chữ ký số, sử dụng mật mã khóa công
khai. Người sử dụng là người duy nhất có khóa bí mật, còn một server bất kỳ đề có khóa
công khai tương ứng của người sử dụng đó nếu muốn xác thực. Người sử dụng tạo ra
một mã hash từ các thông tin: ID, RS (nhận được từ máy chủ như một khẩu lệnh), RU.
Bằng cách mật mã giá trị hash với khóa bí mật, sẽ tạo thành một chữ ký số để gửi lại
máy chủ (như một trả lời).
Các hệ thống mật mã khóa công khai đã trở nên thông dụng vì khóa công khai
không cần phải giữ bí mật và do đó có thể được phân phối một cách rộng rãi. Vì vậy, khi
một máy chủ xác thực một người sử dụng bằng cách kiểm tra chữ ký trên cơ sở khóa
công khai của người sử dụng đó thì vấn đề đặt ra là liệu cặpkhóa công khai/ bí mật sử
dụng trong quá trình xác thực có thực sự thuộc về người sử dụng này hay không.
U
Kênh không Server
ser an toàn Giá trị ngẫu nhiên
IDU RU RS RS
(Nonce)
Khẩu
lệnh
Hash IDU RU RS

Mật mã với khóa


bí mật Hash Hash
Đáp
Giải mã với khóa
IDU RU Sig công khai

Sig

Hình 4.16: Giao thức hỏi đáp sử dụng chữ ký số


Nếu khóa công khai sử dụng trong quá trình xác thực được lấy từ một thư mục
công cộng thì một tấn công kiểu trung gian (man-in-the-middle attack) có thể dễ dàng
thay thế khóa công khai của người sử dụng bằng một khóa công khai của kẻ tấn công.
Đây chính là nguyên nhân dẫn đến việc hình thành các chứng thực (certificate). Các
chứng thực thiết lập một mối liên hệ tin cậy giữa nhận dạng người sử dụng và khóa công
khai của người đó.
4.3.2.2 Các chứng thực số (digital certificates)

Bùi Văn Nhật 45K2ĐTVT 92


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

a) Mô hình tin tưởng thứ nhất


Một phương pháp để thiết lập tin tưởng đối với khóa công khai của người sử
dụng là cách tiếp cận mạng tin tưởng (web of trust) đã được sử dụng bởi gói phần mềm
mật mã và xác thực thư điện tử PGP (Pretty Good Privacy). Ví dụ trong hình 4.17, C có
thể tin tưởng A thông qua 3 đường liên kết trung gian.

A B

Signed by B Trust Signed by A

Signed by D
Certificate

Can C trust A ? Trust

C D

Signed by B
Signed by D Trust

Signed by C
Certificate

Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust)
Trong mạng tin tưởng, mỗi đối tác tham gia sẽ yêu cầu các đôi tác khác ký vào
mã hash của chứng thực (chưa nhận dạng, chẳng hạn địa chỉ email và khóa công khai)
của đối tác đó. Giả sử C nhận được một email ký gửi bởi A, C sẽ lấy chứng thực của A
từ một thư mục công cộng và thấy rằng chứng thực đó đã được ký bởi B. Tiếp theo, C
lấy chứng thực của B và thấy rằng nó đã được ký bởi D. Tiếp theo, C lấy chứng nhận
của D và thấy rằng nó đã được ký bởi chính mình. Đến đây, các mắt xích đã hoàn tất và
có thể thiết lập tin tưởng A.
Cách tiếp cận kiểu mạng tin tưởng chỉ thích hợp với một nhóm nhỏ người sử
dụng. Khi số người cần được xác thực tăng lên, chẳng hạn hàng triệu người, số lượng
các đường liên kết trung gian trung bình tăng và kéo theo tăng việc tìm các chứng thực.
Ngoài ra, khi số các mắt xích tin tưởng tăng thì độ tin cậy cũng giảm đi. Ưu điểm của
mạng tin tưởng là không cần sự có mặt của một nhà phân phối trung tâm (central
authority).

Bùi Văn Nhật 45K2ĐTVT 93


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

b) Mô hình tin tưởng thứ hai


Mô hình tin tưởng thứ hai phân cấp tin tưởng với các nhà phân phối chứng thực
CAs (Certificate Authorities). Hiện nay mô hình này được lựa chọn để triển khai và sử
dụng các chứng thực với qui mô lớn. các mắt xích tin tưởng ở dạng phân cấp: trên cùng
là các nhà phân phối chứng thực gốc, tiếp theo là các nhà phân phối chứng thực trung
gian.

Verisign Swisskey
Root CA

Self Signed Self Signed

Intermediate CA
Amazon

Verisign
Trust

Bob Alice Client Carol


Certificate
Amazon Amazon Swisskey

Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs)
- Các nhà phân phối chứng thực gốc (Root CAs)
Tại mức trên cùng của phân cấp các mắt xích tin tưởng là một số nhà phân phối
chứng thực gốc. Các Root CAs được dùng phổ biến là: Verisign, RSA, Baltimore,
Rntrust, Deutsche Telekom và Swisskey.
- Các nhà phân phối chứng thực trung gian (Intermediate CAs)
Root CAs có thể trực tiếp cấp phát các chứng thực cho người sử dụng. Tuy nhiên
đối với các tổ chức trung bình hoặc lớn thì sẽ thuận lợi hơn nhiều nếu tự thiết lập lấy
một CS, khi đó họ có thể tự cấp phát hoặc hũy bỏ các chứng thực cho các các nhân trong
tổ chức. Bản thân chứng thực của CA trung gian này thường được cấp phát với ký tự
Root CA.

Bùi Văn Nhật 45K2ĐTVT 94


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Về nguyên tắc thì có thể thực hiện một số tùy ý các phân cấp, nhưng thông
thường chỉ sử dụng từ hai đến ba cấp từ chứng thực của người sử dụng đến Root CA.
- Cấu trúc chung của một chứng thực X.509
Mạng tin tưởng thường sử dụng chứng thực OpenPGP (RFC 2440). Còn mô hình
phân cấp tin tưởng thường sử dụng chứng thực ITU-T X.509 (RFC 2459).

Version
Serial Number
Hàm hash
Signature*
Issuer
Validity
Subject
Hash/ Fingerprint
SubjectPublicKeyInfo
IssuerUniqueID Optional
SubjectUniqueID Optional
Extensions Optional
Encryption with
Issure’s Private Key
SignatureAlgorithm*

Signature

Hình 4.19: Cấu trúc chung của một chứng thực X.509
Một chứng thực X.509v3 bao gồm 3 phần
- Phần thân của chứng thực.
- Định nghĩa thuật toán sử dụng bởi CAs để ký chứng thực.
- Chữ ký đảm bảo tính xác thực của chứng thực, bao gồm mã hash của phần thân
chứng thực được mật mã với khóa bí mật của CAs.
Riêng phần thân của chứng thực bao gồm các thông tin sau:
i/ Version Number (số phiên bản): hiện tại có các phiên bản v1, v2, v3.
ii/ Serial Number: duy nhất được cấp bởi SA tương ứng.
iii/ Signature (chữ ký) và Issure: mô tả thuật toán được sử dụng để chứng thực.
iv/ Nhận dạng (ID) của CA phát hành và ký chứng thực.
v/ Nhận dạng (ID) của đối tượng sử dụng.
vi/ Khóa công khai của đối tượng sử dụng.
vii/ Các mở rộng tùy chọn của v2 hoặc v3.

Bùi Văn Nhật 45K2ĐTVT 95


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Chương 5
THỰC HIỆN IP-VPN

5.1 Giới thiệu


Các chương trước đã trình bày về những kỹ thuật cơ bản của IP-VPN bao gồm
các giao thức đường ngầm, thuật toán mật mã và xác thực. Các kỹ thuật này hiện đã
được giải quyết tích hợp sẵn trong các sản phẩm của nhiều hãng trên thế giới. Do hiện
nay chưa có một chuẩn thống nhất cho việc sản xuất các thiết bị VPN, nên vấn đề đặt ra
là sự tương thích giữa các sản phẩm của các hãng khác nhau. Người sử dụng cần phải
được đảm bảo rằng thiết bị mà họ mua có thể làm việc tốt với các thiết bị khác trong
mạng. Để giải quyết vấn đề này, từ năm 2000 VPNC (Virtual Private Network
Consortium) đã tổ chức kiểm tra và cấp chứng chỉ cho các sản phẩm IP-VPN đạt yêu cầu
về tính tương thích (VPNC Testing for Interoperability and Conformance). Sau đây là
danh sách một số sản phẩm đã qua kiểm tra của VPNC:
- ADTRAN, NetVanta.
- Alcatel, Secure VPN Gateway 7130 series.
- Check Point Software, VPN-1 Gateway.
- Cisco, IOS IPSec.
- Cisco, VPN 3000 Concentrator.
- Cylink, NetHawk.
- NetScreen, NetScreen family.
- Nokia, Nokia VPN.
- SafeNet, SafeNet family.
- SSH Communications Security, IPSec Express.
- WatchGuard Technologies, WatchGuard Firebox Vclass.
Như vậy đã có nhiều hãng tham gia nghiên cứu, phát triển các thiết bị VPN. Bản
thân mỗi hãng lại có nhiều dòng sản phẩm phục vụ cho nhiều nhu cầu ứng dụng khác
nhau. Các sản phẩm có thể là chuyên dụng (phục vụ riêng cho mục đích VPN) hoặc
kết hợp (chức năng VPN được đi kèm với các chức năng khác, chẳng hạn như router,
firewall). Do chưa tồn tại một chuẩn chung nên cách thức sử dụng, cấu hình các sản
phẩm này cũng khác nhau. Mục đích của chương này là đưa ra các nguyên tắc và mô
hình thực hiện VPN nói chung và giới thiệu qua về tình hình thị trường VPN của Việt
Nam.

Bùi Văn Nhật 45K2ĐTVT 96


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

5.2 Các mô hình thực hiện IP-VPN


Một cách tổng quát thì việc lựa chọn một phương án để thực hiện VPN phụ thuộc
vào mục đích và qui mô của ứng dụng. Như đã biết, mục đích cơ bản của ứng dụng VPN
là truy nhập từ xa (Remote Access) hoặc kết nối Site-to-Site. Còn qui mô của ứng dụng
thể hiện ở số phiên trao đổi có thể thực hiện đồng thời. Một đặc điểm quan trọng khác là
vai trò của nhà cung cấp dịch vụ ISP. Một phương án thực hiện VPN có thể dựa vào dịch
vụ cung cấp bởi ISP hoặc trong suốt đối với ISP. Trong trường hợp thứ nhất, ISP được
trang bị các thiết bị VPN và có thể cung cấp dịch vụ VPN cho các tổ chức, người sử
dụng có nhu cầu về dịch vụ này. Trong trường hợp thứ hai, bản thân các tổ chức và
người sử dụng tự trang bị lấy thiết bị VPN cho mình. Khi này họ có thể thực hiện VPN
mà không cần quan tâm đến việc ISP có hỗ trợ dịch vụ này hay không.
Về phương diện người sử dụng, có 3 ứng dụng hay loại hình IP-VPN là: Access
IP-VPN, Intranet VPN và Extranet IP-VPN.

VPN

Dial Dedicated

Access Intranet Extranet

Hình 5.1: Ba mô hình IP-VPN


- Access IP-VPN: cung cấp truy nhập từ xa thông qua Internet tới mạng trung
tâm, với những đặc điểm của một mạng riêng, ví dụ như tín an toàn (sercurity), độ ổn
định. Access IP-VPN cho phép người sử dụng truy nhập các nguồn tài nguyên của tổ
chức ở bất kỳ nơi nào, lúc nào mà họ mong muốn. Các công nghệ truy nhập tương tự,
quay số, ISDN, đường dây thuê bao số (DSL), điện thoại di động… đều có thể dùng để
kết nối an toàn những người sử dụng lưu động tới mạng trung tâm.

- Intranet VPN: kết nối các mạng chi nhánh với mạng trung tâm thông qua
Internet, đồng thời vẫn đảm bảo các đặc tính của một mạng riêng.

Bùi Văn Nhật 45K2ĐTVT 97


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- Extranet VPN: kết nối với khách hàng, đối tác với một phần mạng trung tâm
thông qua Internet, đồng thời vẫn đảm bảo các đặc tính của một mạng riêng.
5.2.1 Access VPN
Có rất nhiều lựa chọn để thực hiện Access VPN, do vậy cần cân nhắc thận trọng
trước khi quyết định lựa chọn phương án nào. Như liệt kê ở đây, có nhiều công nghệ
truy nhập, từ các công nghệ quay số hoặc ISDN truyền thông tới các công nghệ mới như
truy nhập sử dụng DSL. Thêm vào đó phải lực chọn một kiến trúc VPN: kiến trúc khởi
tạo từ máy khách (client inititated) hay kiến trúc khởi tạo từ máy chủ truy nhập (network
access server initiated architure).
5.2.1.1 Kiến trúc khởi tạo từ máy khách

Đối với Access IP-VPN khởi tạo từ phia máy khách, mỗi PC của người sử dụng
từ xa phải cài đặt phần mềm IPSec. Khi người sử dụng quay số tới POP (Point of
Presence) của ISP, phần mềm này sẽ khởi tạo một đường ngầm IP-VPN và thực hiện
mật mã. Kiến trúc này rất an toàn vì dữ liệu được bảo vệ trên toàn bộ đường ngầm PC
của người sử dụng đến mạng trung tâm. Trong phương án này có thể sử dụng bất kỳ
công nghệ truy nhập nào để kết nối tới Internet. Thêm vào đó, phương án này là trong
suốt đối với nhà cung cấp dịch vụ ISP, nghĩa là có thể thực hiện IP-VPN mà không cần
thực hiện bất cứ thay đổi nào đối với ISP, chẳng hạn như mật mã dữ liệu. Nhược điểm
của mô hình này là phải cài đặt và quản trị phần mềm IPSec client trên tất cả các PC truy
nhập từ xa.
Private
Corporate Telecommuter
Network Client IPSec
Dial -up
Firewall Router

Home ISDN Computer

Gateway
POTS

Network
Access
Internet
Server
Modem
(NAS )
Dial -in

IPSecTunnel

MobileIP

Hình 5.2: Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng

Bùi Văn Nhật 45K2ĐTVT 98


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS
Đối với truy nhập IP-VPN khởi tạo từ máy chủ truy nhập thì NAS (tại POP) sẽ
khởi tạo đường ngầm và thực hiện mật mã thay cho người sử dụng. Sẽ có một phần kết
nối không được bảo vệ giữa người sử dụng và POP. Phần kết nối còn lại được bảo đảm
an toàn bởi một đường ngầm và mật mã dữ lệu. Mô hình này dễ quản lí hơn, vì không
phải kiểm soát tất cả phần mềm IPSec client tại các PC truy nhập từ xa. Mô hình này
cũng dể dàng mở rộng hơn so với mô hình truy nhập khởi tạo từ người sử dụng vì chỉ
cần cấu hình máy chủ NAS, thay vì cấu hình tất cả các PC.
Service Provider Corporate
Network
NAS

PSTN
/ISDN

Internet Home
Gateway Server

Corporate
Servers

Computer Computer

Remote Users

Hình 5.3: Truy nhập IP-VPN khởi tạo từ máy chủ


5.2.2 Intranet IP-VPN và Extranet IP-VPN
Ở chương 2 đã trình bày về mô hình Intranet và Extranet IP-VPN. Chương này sẽ
trình bày một ví dụ về mô hình triển khai Intranet và Extranet IP-VPN khởi tạo từ
raouter. Hình 5.4 ví dụ về hai router ở mỗi đầu của kết nối thiết lập một đường ngầm sử
dụng IPSec sau đó thỏa thuận việc mật mã.

Internet

Service
POP Provider POP

IPSec
Tunnel

Computer
Remote Router Initiated Computer

Peering Remote Routers


Remote 1 Remote 2

Hình 5.4: IP-VPN khởi tạo từ routers

Bùi Văn Nhật 45K2ĐTVT 99


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Mô hình này có một số lựa chọn thực hiện khác nhau. Trường hợp thứ nhất, ISP
quản lý, cung cấp và duy trì kết nối Internet cơ sở, còn bản thân tổ chức phải quản lý tất
cả các vấn đề như an toàn dữ liệu, quản lý router, máy chủ, các nguồn tài nguyên như
ngân hàng các modem quay số. Trường hợp thứ hai là mô hình lai (hybrid model). Trong
mô hình này, tổ chức và nhà cung cấp dịch vụ chia sẻ các công việc tương đối ngang
bằng, ISP cung cấp thiết bị VPN, đảm bảo QoS với mức băng tần thỏa thuận, còn phía
nhà quản trị mạng quản trị các ứng dụng và cấu hình, cung cấp các dịch vụ trợ giúp và
an toàn dữ liệu. Trường hợp thứ ba, nhà quản trị mạng chỉ quản lý các máy chủ an ninh,
còn ISP cung cấp toàn bộ giải pháp VPN, dịch vụ trợ giúp, huấn luyện…
5.2.3 Một số sản phẩm thực hiện VPN
Như ta đã biết, có nhiều hãng tham gia nghên cứu, phát triển các sản phẩm VPN,
mỗi hãng lại đưa ra nhiều dòng sản phẩm. Các hãng khác nhau có cách tiếp cận và ưu
nhược điểm riêng. Sau đây ví dụ về các sản phẩm của Cisco và Netsreen. Sản phẩm của
2 hãng này tương đối đa dạng và có thể phục vụ cho một phạm vi rộng các nhu cầu ứng
dụng khác nhau.
Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen

Loại khách Cisco Netsreen


hàng Remote Access Site-to-Site
ISP/ 3080, 3060 VPN routers 71x0 Netsreen-1000,
Central Site Concentrators Netsreen-500
Medium Site 3030 Concentrators Routers 7x00, 3600 Netsreen-208,
Netsreen-204
Small Office 3015, 3005 Routers 3600, 2600, Netsreen-50,
Concentrantors 1700 Netsreen-20,
Netsreen-XP
Home Office/ Cisco VPN Router 800, 905 Netsreen-Remote
Telecommuter Software Client
3002 Hardware Client
5.3 Ví dụ về thực hiện IP-VPN

Để minh họa, ta xét 2 trường hợp: ứng dụng kết nối remote Access và ứng dụng
Site-to-Site sử dụng thiết bị VPN 3000 Concentrantor của Cisco.
VPN concentrantor có các thông số kỹ thuật sau:
- Xác thực tính toàn vẹn dữ liệu: sử dụng thuật toán HMAC-MD5 (128 bit),
HMAC-SHA-1 (160 bit).

Bùi Văn Nhật 45K2ĐTVT 100


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- Xác thực nguồn gốc dữ liệu: có thể cấu hình để sử dụng mật khẩu (khóa chia
sẻ trước) hoặc chữ ký số.
- Trao đổi khóa: sử dụng thuật toán Diffie-Hellman, chứng thực số.
- Mật mã dữ liệu: sử dụng một trong các thuật toán DES, 3DES ở chế độ CBC.
Trong tương lai, các thiết bị VPN cần hỗ trợ các thuật toán tiên tiến hơn, chẳng
hạn thuật toán mật mã AES, xác thực SHA-2.
5.3.1 Kết nối Client-to-LAN

Trong trường hợp này, người sử dụng từ xa cần kết nối vào mạng trung tâm để
truy nhập thư điện tử, các file cơ sở dữ liệu, trình diễn… Để thực hiện kết nối này, một
phương án là sử dụng thiết bị VPN 3000 Concentrator ở mạng trung tâm của tổ chức, và
phần mềm VPN 3000 Concentrantor Client tại máy tính của người sử dụng.
Application
Server
Telecommuter
VPN with VPN 3000
ISP ISP Client
Concentrator

Internet
Computer

PPP Computer

connectivity

Computer
IPSec Tunnel

Hình 5.5: Các thành phần của kết nối Client-to-LAN


Có thể thấy trên hình 5.5, kết nối Client-to-LAN bao gồm 4 thành phần: IPSec
client Software, Point-to-Point Protocol (PPP), IPSec Protocol, và VPN 3000
Concentrator.
- Phần mềm IPSec (IPSec Client Software) không có sẵn trong hệ điều hành
Windows nên phải được cài đặt trên máy tính có yêu cầu truy nhập từ xa. Nó được
sử dụng để mật mã, xác thực và đóng gói dữ liệu, đồng thời là một điểm cuối của
đường ngầm.
- Giao thức PPP được các ứng dụng truy nhập từ xa sử dụng để thiết lập một kết
nối vật lí tới nhà cung cấp dịch vụ ISP.
- Sau khi được ISP xác thực, người sử dụng khởi động phần mềm IPSec Client
để thiết lập một đường ngầm an toàn (secure tunnel), thông qua Internet để tới
VPN 3000 Concentrantor.

Bùi Văn Nhật 45K2ĐTVT 101


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- Mạng trung tâm, VPN 3000 Concentrator là một điểm cuối còn lại của đường
ngầm. Nó thực hiện giải mã, xác thực, và mở gói dữ liệu.
Telecommuter
Application VPN private IP with VPN 3000
Server ISP Client
192 .168 .1.5

Internet
VPN public IP Computer

Computer
172 .26 .26 .1
172 .26 .26.1 Adapter (NIC ) IP Address
203 .16 .5.19 203 .162 .5.19
192 .168 .1.10
ESP
192 .168 .1.10 Client IP address
192 .168 .1.20 192 .168 .1.20
DATA

Hình 5.6: Đường ngầm IPSec Client-to-LAN


Hình 5.6 cho thấy đường ngầm IPSec Client-to-LAN. Người sử dụng từ xa cần
truy nhập thông tin tại máy chủ của mạng trung tâm tại địa chỉ 192.168.1.10. Địa chỉ
nguồn thường là địa chỉ ảo của client, 192.168.1.20. Địa chỉ này thường được cấp cho
client từ máy chủ DHCP hoặc chính VPN Concentrator. Địa chỉ ảo giúp cho client có
thể hoạt động như đang ở ngay mạng trung tâm.
Bất cứ dữ liệu nào khi truyền từ server tới client đều phải được bảo vệ. Do đó
chúng được mật mã, xác thực và đóng gói bằng giao thức ESP. Sau khi đóng gói dữ liệu
bằng ESP thì một IP header mới được thêm vào gói dữ liệu (gọi là header ngoài) để định
tuyến gói tin qua mạng. Địa chỉ nguồn của outside IP header là địa chỉ card mạng (NIC)
của client. Địa chỉ đích là giao diện công cộng của VPN 3000 Concentrator.
Ngoài thiết bị VPN 3000 Concentrator ở mạng trung tâm, mỗi máy tính truy nhập
từ xa cần cài đặt phần mềm IPSec client. Phần mềm này làm việc với VPN 3000
Concentrator để tạo một đường ngầm an toàn giữa máy tính truy nhập từ xa và mạng
trung tâm. IPSec client sử dụng IKE và giao thức đường ngầm IPSec để tạo và quản lý
đường ngầm.
Trong quá trình hoạt động, các bước sau thực hiện gần như tự động đối với người
sử dụng.
- Thỏa thuận các thông số đường ngầm: địa chỉ, thuật toán.
- Thiết lập đường ngầm dựa trên các thông số đã thiết lập.
- Xác thực người sử dụng thông qua username, groupname, password, digital
certificate.

Bùi Văn Nhật 45K2ĐTVT 102


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

- Thiết lập các quyền truy nhập của người sử dụng: thời gian, số giờ truy nhập,
các giao thức được phép…
- Quản trị các khóa an ninh để mật mã va giải mã.
- Thiết lập phiên trao đổi IPSec.
- Xác thực, mật mã và giải mã các dữ liệu đi qua đường ngầm.

Hình 5.7: Phần mềm IPSec Client


5.3.2 Kết nối LAN-to-LAN
Trong trường hợp này, giả thiết người sử dụng từ mạng LAN ở xa muốn truy
nhập vào máy chủ ứng dụng ở mạng trung tâm. Một phương án để thực hiện kết nối này
là sử dụng hai VPN 3000 Concentrator, một ở mạng trung tâm, một ở mạng xa.
Một gói tin IP được xây dựng với địa chỉ nguồn là 192.168.1.20 và địa chỉ đích là
192.168.1.10. Gói tin được định tuyến tới VPN Concentrantor, VPN Concentrator mật
mã và đóng gói IP ban đầu với ESP header. Gói tin này được bảo vệ nhưng không định
tuyến được do các trường địa chỉ ở dạng mật mã. Vì vậy, một IP header bên ngoài được
thêm vào. Các địa chỉ bên ngoài này (203.16.5.19, 172.26.26.1) giúp định tuyến gói tin
qua Internet. Sau khi đã có đường ngầm thì một phiên trao đổi được thiết lập cho phép
truyền thông giữa hai mạng riêng.

Bùi Văn Nhật 45K2ĐTVT 103


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tunnel

VPN VPN
Concentrator Concentrator

Internet
VPNpublicIP VPNpublicIP
Computer
172 .26 .26 .1 203 .16 .5.19 Computer

172 .26 .26 .1


ApplicationServer 203 .16 .5.19 PCIPAddress
192 .168 .1.10 ESP 192 .168 .1.20
192 .168 .1.10
192 .168 .1.20

DATA

Hình 5.8: Đường ngầm IPSec LAN-to-LAN

KẾT LUẬN
VPN là công nghệ được sử dụng phổ biến hiện nay nhằm cung cấp kết nối an
toàn và hiệu quả để truy cập tài nguyên nội bộ công ty từ bên ngoài thông qua mạng
Internet. Mặc dù sử dụng hạ tầng mạng chia sẻ nhưng chúng ta vẫn bảo đảm được tính
riêng tư của dữ liệu giống như đang truyền thông trên một hệ thống mạng riêng.
Đồ án này đã đi sâu tìm hiểu các vấn đề kỹ thuật và mô hình thực hiện của công
nghệ IP-VPN. Trong đó, đường ngầm là nền tảng của IP-VPN, phạm vi của đồ án này đã
trình bày về các giao thức đường ngầm: PPTP, L2TP và IPSec. PPTP và L2TP là những
giao thức đường ngầm được phát triển dựa trên giao thức PPP. Hai giao thức này là các
chuẩn đã hoàn thiện và các sản phẩm hỗ trợ chúng tương đối phổ biến.
Đối với những ứng dụng yêu cầu an toàn dữ liệu cao thì IPSec là giao thức thích
hợp. IPSec hỗ trợ các phương pháp xác thực và mật mã mạnh nhất, có tính linh hoạt cao
do không bị ràng buộc bởi một phương pháp xác thực cũng như mật mã nào. Đây được
xem là giao thức tối ưu nhất cho IP-VPN và được tìm hiểu một cách chi tiết nhất. Bên
cạnh đó, đồ án đã trình bày một số thuật toán mật mã, xác thực, toàn vẹn dữ liệu là
những thuật toán được dùng kết hợp với IPSec.
Hiện nay, tại Việt Nam có rất nhiều hãng đang cung cấp các giải pháp VPN cho
các doanh nghiệp, mỗi hãng có một cấu hình VPN riêng. Do nhu cầu bảo mật thông tin
ngày càng được các doanh nghiệp quan tâm nhiều nên công nghệ IP – VPN hứa hẹn là
công nghệ rất có tiềm năng phát triển mạnh trong tương lai.
Hiện nay mạng viễn thông trên thế giới đang chuyển sang xu hướng IP hóa và sử
dụng công nghệ cho mạng thế hệ sau NGN. Do đó việc tích hợp giữa cố định và di động
đang đươc quan tâm và phát triển. Vì vậy, trong tương lai IP-VPN sẽ được ứng dụng
cho mạng điện thoại di động. Khi đó, các dịch vụ viễn thông sẽ rất linh hoạt, kết hợp

Bùi Văn Nhật 45K2ĐTVT 104


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

giữa truyền hình ảnh, số liệu và thoại. Đây cũng chính là hướng phát triển tiếp theo của
để tài.
Mặc dù đã cố gắng, nhưng do công nghệ IP-VPN có nhiều giải pháp để thực hiện
và liên quan đến nhiều giao thức và thuật toán phức tạp, thời gian và trình độ có hạn nên
đồ án này khó tránh khỏi thiếu sót. Tôi rất mong nhận được ý kiến đóng góp của thầy cô
và bạn bè để có thể sửa đổi, bổ sung cho những vấn đề trình bày trong đồ án này.

Vinh, tháng 5 năm 2009

Sinh viên thực hiện


Bùi Văn Nhật

Bùi Văn Nhật 45K2ĐTVT 105


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Tài liệu tham khảo


[1] TCP/IP protocol suite
Behrouz A. Forouzan with Sophia Chung Fegan, 2000 Mc Graw Hill
[2] Công nghệ chuyển mạch IP
Chủ biên:TS.Lê Hữu Lập, Biên soạn: Ks.Hoàng Trọng Minh
Học viện CNBCVT 11/2000
[3] Virtual Private Networking and Intranet Security
Copyright © 1999, Microsoft Corperation, Inc
[4] Understanding Virtual Private Networking
Copyrignt © 2001, ADTRAN, Inc
[5] VPN Technologies: Sefinitions and Requirements
Copyrignt © 2002, VPN Consortium
[6] CCSP Cisco Secure VPN Exam Certification Guide
John F. Roland and Mark J. Newcomb
Copyright © 2003 Cisco Systems, Inc
[7] IPSec
Copyright © 1998, Cisco Systems, Inc
[8] Security Protocols Overview
Copyright © 1999, RSA Data Security, Inc

Bùi Văn Nhật 45K2ĐTVT 106


Đồ án tốt nghiệp Đại học Công nghệ IP - VPN

Các website tham khảo


http://www.congnghemoi.net
http://www.home.vnn.vn
http://hocit.com
http:// www.itu.int
http://www.iec.org/tutorial/
http://www.vpnc.org
http://techguide.com
http://www.tuoitre.org
http://www.vnpt.com.vn/
http://www.vnpost.mpt.gov.vn/
http://www.vnn.vn
http://vnpro.org/
http://vietnamnet.vn

Bùi Văn Nhật 45K2ĐTVT 107

You might also like