cong nghe ip-vpn buivannhat 45

168
Đồ án tốt nghiệp Đại học Công nghệ IP - VPN Bùi Văn Nhật 45K 2 ĐTVT 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 i

Upload: d-fbuser-25418946

Post on 03-Jul-2015

9.422 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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..................................................................................................51.3.1.2. Cấu trúc IPv4.....................................................................................................61.3.1.3. Phân mảnh IP và hợp nhất dữ liệu....................................................................81.3.1.4. Địa chỉ và định tuyến IP....................................................................................91.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................................................................................................111.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

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

2.3.2 Site-to-Site IP-VPN................................................................................................25

i

Page 2: Cong Nghe IP-VPN BuiVanNhat 45

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

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

2.3.2.1 Intranet IP-VPN................................................................................................252.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.........................................282.4.1.2 Đóng gói dữ liệu đường ngầm PPTP................................................................292.4.1.3 Xử lí dữ liệu đường ngầm PPTP.......................................................................302.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.........................................322.4.2.2 Đường ngầm dữ liệu L2TP...............................................................................322.4.2.3 Xử lý dữ liệu đường ngầm L2TP trên nền IPSec..............................................332.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.............................................................................39

3.2.1 Các kiểu sử dụng...................................................................................................39

3.2.1.1 Kiểu Transport..................................................................................................393.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..........................................................................................................403.2.2.2 Cấu trúc gói tin AH...........................................................................................413.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..........................................................................................................453.2.3.2 Cấu trúc gói tin ESP.........................................................................................463.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.....................................................................................533.3.1.2 Kết hợp các SA..................................................................................................543.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....................................................................................................573.3.2.2 Bước thứ hai......................................................................................................583.3.2.3 Bước thứ ba.......................................................................................................603.3.2.4 Bước thứ tư.......................................................................................................623.3.2.5 Kết thúc đường ngầm........................................................................................62

3.4 Những giao thức đang được ứng dụng cho xử lý IPSec.....................................62

ii

Page 3: Cong Nghe IP-VPN BuiVanNhat 45

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

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

3.4.1 Mật mã bản tin.......................................................................................................62

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

3.4.2 Toàn vẹn bản tin....................................................................................................63

3.4.2.1 Mã nhận thực bản tin băm HMAC....................................................................643.4.2.2 Thuật toán MD5................................................................................................643.4.2.3 Thuật toán băm an toàn SHA............................................................................64

3.4.3 Nhận thực các bên.................................................................................................65

3.4.3.1 Khóa chia sẻ trước............................................................................................653.4.3.2 Chữ ký số RSA...................................................................................................653.4.3.3 RSA mật mã nonces..........................................................................................65

3.4.4 Quản lí khóa..........................................................................................................66

3.4.4.1 Giao thức Diffie-Hellman.................................................................................663.4.4.2 Quyền chứng nhận CA......................................................................................67

3.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec..........................................68

3.6 Tổng kết..............................................................................................................69

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

4.1 Giới thiệu............................................................................................................70

4.2 Mật mã................................................................................................................71

4.2.1 Khái niệm mật mã..................................................................................................71

4.2.2 Các hệ thống mật mã khóa đối xứng....................................................................72

4.2.2.1 Các chế độ làm việc ECB, CBC........................................................................724.2.2.2 Giải thuật DES (Data Encryption Standard)....................................................744.2.2.3 Giới thiệu AES (Advanced Encryption Standard).............................................764.2.2.4Thuật toán mật mã luồng (stream cipher).........................................................77

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

4.2.3.1 Giới thiệu và lý thuyết về mã khóa công khai...................................................774.2.3.2 Hệ thống mật mã khóa công khai RSA..............................................................79

4.2.4 Thuật toán trao đổi khóa Diffie-Hellman............................................................81

4.3 Xác thực..............................................................................................................82

4.3.1 Xác thực tính toàn vẹn của dữ liệu.......................................................................82

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............................824.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.....854.3.1.3 Chữ ký số dựa trên hệ thống mật mã khóa công khai.......................................87

4.3.2 Xác thực nguồn gốc dữ liệu..................................................................................88

4.3.2.1 Các phương thức xác thực................................................................................884.3.2.2 Các chứng thực số (digital certificates)............................................................91

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

5.1 Giới thiệu............................................................................................................94

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

iii

Page 4: Cong Nghe IP-VPN BuiVanNhat 45

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

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

5.2.1 Access VPN............................................................................................................96

5.2.1.1 Kiến trúc khởi tạo từ máy khách.......................................................................96

5.2.1.2 Kiến trúc khởi tạo từ máy chủ truy nhập NAS..................................................97

5.2.2 Intranet IP-VPN và Extranet IP-VPN..................................................................97

5.2.3 Một số sản phẩm thực hiện VPN..........................................................................98

5.3 Ví dụ về thực hiện IP-VPN.................................................................................98

5.3.1 Kết nối Client-to-LAN...........................................................................................99

5.3.2 Kết nối LAN-to-LAN...........................................................................................101

KẾT LUẬN.................................................................................................................102

Tài liệu tham khảo.......................................................................................................103

Các website tham khảo................................................................................................104

iv

Page 5: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

Bảng 4.1: Một số giao thức và thuật toán ứng dụng thông dụng--------------------------70

Bảng 4.2: Thời gian bẻ khóa trong giải thuật RSSA/DSS và ECC.----------------------79

Bảng 4.3: Tóm tắt giải thuật RSA và độ phức tạp------------------------------------------80

Bảng 4.4: Các bước thực hiện để trao đổi khóa Diffie Hellman--------------------------81

Bảng 5.1: Ví dụ về các sản phẩm của Cisco và Netsreen----------------------------------98

v

Page 6: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

vi

Page 7: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

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

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

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

Hình 4.1: Các khái niệm chung sử dụng trong các thuật toán mật mã.........................71

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

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

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

Hình 4.5: Mạng Fiestel.................................................................................................75

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

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

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

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

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

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

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

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

Hình 4.14: Chữ ký số.....................................................................................................88

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

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

Hình 4.17: Mô hình tin tưởng thứ nhất (PGP Web of Trust)........................................91

vii

Page 8: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Hình 4.18: Mô hình tin tưởng thứ hai (phân cấp tin tưởng với các CAs).....................92

Hình 4.19: Cấu trúc chung của một chứng thực X.509................................................93

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

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

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

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

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

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

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

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

viii

Page 9: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Ký hiệu viết tắt

Viết tắt Chú 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

and Accounting

Nhận thực, trao quyền và thanh toán

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

Line

Công nghệ truy nhập đường dây thuê

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

Agency

Cục nghiên cứu các dự án tiên tiến của

Mỹ

ARPANET Advanced Research Project

Agency

Mạng viễn thông của cục nghiên cứu

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

Digital Network

Mạng số tích hợp đa dịch vụ băng rộng

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

Authentication Protocol

Giao thức nhận thực đòi hỏi bắt tay

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

ix

Page 10: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

Protocol

Giao thức xác thực mở rộng

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

Technology

Kỹ thuật chuyển mạch gói nhanh

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

Authenticaiton Code

Mã nhận thực bản tin băm

IBM International Bussiness Machine Công ty IBM

ICMP Internet Control Message

Protocol

Giao thức bản tin điều khiển Internet

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

Protocol

Giao thức quản lí khóa qua Internet

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

and Key Management Protocol

Giao thức kết hợp an ninh và quản lí

khóa qua Internet

x

Page 11: Cong Nghe IP-VPN BuiVanNhat 45

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

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

ISDN Intergrated Service Digital

Network

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

ISO International Standard

Organization

Tổ chức chuẩn quốc tế

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

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

Protocol

Giao thức nhận thực khẩu lệnh

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

Protocol

Giao thức đường ngầm điểm tới điểm

PSTN Public Switched Telephone

Network

Mạng chuyển mạch thoại công cộng

RADIUS Remote Authentication Dial-in

User Service

Dịch vụ nhận thực người dùng quay số

từ xa

RARP Reverse Address Resolution

Protocol

Giao thức phân giải địa chỉ ngược

xi

Page 12: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

xii

Page 13: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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ó

1

Page 14: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

2

Page 15: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

3

Page 16: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

4

Page 17: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

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

5

Page 18: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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:

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

Sender 1Sender 1 Receiver

Data

Data

Data

Data

Data

DataSender 2Sender 2

6

Page 19: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

7

Page 20: Cong Nghe IP-VPN BuiVanNhat 45

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

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

* 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

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.

8

Page 21: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

9

Page 22: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

10

Page 23: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

11

Page 24: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

12

Page 25: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

13

Page 26: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Đơ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:

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

Nhận SYN +ACKACK y+1

Đầu cuối máy tính gửi Mạng

Đầu cuối máy tính nhận

Gửi SYNSeq = x

Nhận SYNGửi SYN seq = y, ACK x+1

Nhận ACK

14

Page 27: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

Nhận ACK

Đầu cuối máy tính gửi Mạng

Đầu cuối máy tính nhận

Gửi FINSeq = x Nhận FIN

Gửi ACK x+1

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

Nhận ACKNhận FIN+ACK

Gửi ACK y+1

15

Page 28: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

16

Page 29: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

17

Page 30: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

18

Page 31: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

19

Page 32: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

20

Page 33: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

21

Page 34: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

22

Page 35: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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ử

23

Page 36: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

24

Page 37: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

25

Page 38: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

Hình 2.5: Extranet IP-VPN

26

Page 39: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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,

27

Page 40: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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,

28

Page 41: Cong Nghe IP-VPN BuiVanNhat 45

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

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

TCP header, các bản tin điều khiển PPTP và các header, trailer của lớp đường truyền dữ

liệu.

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

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.

29

Page 42: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

30

Page 43: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

31

Page 44: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

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

32

Page 45: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

33

Page 46: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

34

Page 47: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

35

Page 48: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

36

Page 49: Cong Nghe IP-VPN BuiVanNhat 45

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

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

+ 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:

37

Page 50: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

(kiến trúc bảo mật cho giao thức Internet)

IPSec 8/1995

1826 IP Authentication Header

(nhận thực tiêu đề IP)

AH 8/1995

1827 IP Encapsulating Security Payload

(đóng gói an toàn tải tin IP)

ESP 8/1995

1828 IP Authentication Using Keyed MD5

(nhận thực IP sử dụng khóa MD5)

MD5 8/1995

1829 The ESP DES-CBC Transform

(sự biến đổi ESP nhờ DES-CBC)

DES 8/1995

2104 HMAC: Keyed-Hashing for Message Authentication

(HMAC: khóa băm cho nhận thực bản tin)

HMAC 1/1997

2202 Test Cases for HMAC-MD5 and HMAC-SHA-1

(các trường hợp kiểm tra cho HMAC-MD5 và

HMAC-SHA-1)

HMAC-MD5

HMAC-SHA-1

9/1997

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

(sử dụng HMAC-MD5-96 cùng với ESP)

HMAC-MD5 10/1998

2404 The Use of HMAC-SHA-1-96 within ESP and AH

(sử dụng HMAC-SHA-1-96 cùng với ESP và AH)

HMAC-SHA-1 10/1998

2405 The ESP DES-CBC Cipher Algorithm With Explicit

IV

(Thuật toán mã hóa ESP DES-CBC cùng IV (vectơ

khởi tạo))

DES 10/1998

2406 IP Encapsulating Security Payload ESP 10/1998

2407 The Internet IP Security Domain of Interpretation for

ISAKMP

(bảo mật gói tin IP trong phạm vi làm sáng tỏ cho

ISAKMP)

ISAKMP 10/1998

2408 Internet Security Association and Key Management

Protocol

(giao thức quản lý kết hợp an ninh Internet và khóa)

ISAKMP 10/1998

2409 The Internet Key Exchange

(phương thức trao đổi khóa Internet)

IKE 10/1998

2410 The NULL Encryption Algorithm and Its Use With

IPSec

(vô hiệu thuật toán bảo mật và sử dụng nó với IPSec)

NULL 10/1998

2451 The ESP CBC-Mode Cipher Algorithms

(thuật toán mật mã kiểu CBC cho ESP)

CBC 10/1998

38

Page 51: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

3.2.1 Các kiểu sử dụng

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.

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.

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

AuthenticatedEncrypted

Authenticated

Original Header

AH Header

Payload

Original Header

ESP Header

Payload

AH- kiểu Tunnel

ESP- kiểu Tunnel

New Header

New Header

39

AuthenticatedEncrypted

Authenticated

Original Header

AH Header

Payload

Original Header

ESP Header

Payload

AH- kiểu Transport

ESP- kiểu Transport

Page 52: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

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.

40

Page 53: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

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,

41

Page 54: Cong Nghe IP-VPN BuiVanNhat 45

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

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

trường độ dài này có giá trị là 4. Với IPv6, tổng độ dài của tiêu đề phải là bội của các

khối 8.

* Reserved (dự trữ): Trường 16 bit này dự trữ cho ứng dụng trong tương lai.

* Security Parameters Index (SPI: chỉ dẫn thông số an ninh): Trường này có độ

dài 32 bit, mang tính chất bắt buộc.

* Sequence Number (số thứ tự): Đây là trường 32 bit không đánh dấu chứa một

giá trị mà khi mỗi gói được gửi đi thì tăng một lần. Trường này có tính bắt buộc. Bên gửi

luôn luôn bao gồm trường này ngay cả khi bên nhận không sử dụng dịch vụ chống phát

lại. Bộ đếm bên gửi và nhận được khởi tạo ban đầu là 0, gói đầu tiên có số thứ tự là 1.

Nếu dịch vụ chống phát lại được sử dụng, chỉ số này không thể lặp lại, sẽ có một yêu cầu

kết thúc phiên truyền thông và SA sẽ được thiết lập mới trở lại trước khi truyền 232 gói

mới.

* Authentication Data (dữ liệu 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.

42

Page 55: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

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

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

Sau khi thêm AH

Trước khi thêm AH

Orig IP hdr(any options)

TCP Data

Orig IP hdr

(any options)AH

IPv4

IPv4 TCP Data

Sau khi thêm ẠH

Trước khi thêm ẠH

Orig IP hdr

(any options)TCP Data

Orig IP hdr(any options) AH

IPv6

IPv6

Ext hdr if present

Hop-by-hop, dest*, routing, fragment

Dest opt* TCP Data

43

Page 56: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn

outer IP header mang địa chỉ để định tuyến qua Internet. Trong kiểu này, AH bảo vệ

toàn bộ gói tin IP bên trong, bao gồm cả inner IP header (trong khi AH Transport chỉ

bảo vệ một số trường của IP header). So với outer IP header thì vị trí của AH giống như

trong kiểu Trasport.

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.

IPv4

Nhận thực trừ các trường biến đổi ở New IP header

Orig IP hdr(any options)

TCP DataNew IP hdr(any options)

AH

IPv6

Nhận thực trừ các trường biến đổi ở New IP header

New IP hdr(any options)

AHExt hdrIf present

TCP DataOrig IP hdr Ext hdrIf present

44

Page 57: Cong Nghe IP-VPN BuiVanNhat 45

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

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

+ 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

45

Page 58: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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:

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

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

46

Page 59: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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ừ 0255 đượ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 (0255 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à 0255 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

47

Page 60: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

Sau khi thêm ESP

Trước khi thêm ESP

Orig IP hdr(any options)

TCP Data

Orig IP hdr(any options)

ESP Header

IPv4

IPv4 TCP Data ESP Trailer

ESP Auth

48

Page 61: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

Sau khi thêm AH

Trước khi

thêm ESP

Orig IP hdr(any options)

TCP Data

Orig IP hdr(any options)

ESP

IPv6

IPv6

Ext hdr if present

Hop-by-hop, dest*, routing, fragment

Dest opt*

TCP Data ESP Trailer

ESP Auth

Encrypted

Orig IP hdr(any options)

ESP HeaderIPv4 TCP Data ESP

TrailerESP Auth

New IP hdr(any option)

Authenticat

ed

Encrypted

ESPNew Ext hdr

OrigExt hdr

TCP ESP Trailer

ESP Auth

New IP hdr

Authenticated

Orig IP hdr

DataIPv6

49

Page 62: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

50

Page 63: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

51

Page 64: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

52

Page 65: Cong Nghe IP-VPN BuiVanNhat 45

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

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

đượ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ơ

53

Page 66: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

Host 1Host 1 SecurityGwy 1

SecurityGwy 1

SecurityGwy 2

SecurityGwy 2 Host 2Host 2Interne

t

Security Association 1 (Tunnel)

Security Association 2 (Tunnel)

54

Page 67: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

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

Host 1Host 1 SecurityGwy 1

SecurityGwy 1

SecurityGwy 2

SecurityGwy 2 Host 2Host 2Interne

t

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

Host 1Host 1 SecurityGwy 1

SecurityGwy 1

SecurityGwy 2

SecurityGwy 2 Host 2Host 2Interne

t

SA 1 (Tunnel)

Security Association 2 (Tunnel)

55

Page 68: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

56

Page 69: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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:

57

Page 70: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

Clear-Text Packet

IPSec

Crypto ACL

AH or ESP Packet

AH or ESP or Clear-Text

Packet

Clear-Text Packet

IPSec

Crypto ACL

AH or ESP Packet

Source Peer

Destination Peer

Permit PermitDeny

Deny

58

Page 71: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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:

59

Page 72: Cong Nghe IP-VPN BuiVanNhat 45

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

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

* Trao đổi thứ nhất: Các thuật toán mật mã và xác thực (sử dụng để bảo vệ các

trao đổi IKE) sẽ được thỏa thuận giữa các đối tác.

* Trao đổi thứ hai: Sử dụng trao đổi Diffie-Hellman để tạo khóa bí mật chia sẻ

(shared secret keys), trao đổi các số ngẫu nhiên (nonces) để khẳng định nhận dạng của

mỗi đối tác. Khóa bí mật chia sẻ được sử dụng để tạo ra tất cả các khóa bí mật và xác

thực khác.

* Trao đổi thứ ba: xác minh nhận dạng các bên (xác thực đối tác). Kết quả chính

của chế độ chính là một đường truyền thông an toàn cho các trao đổi tiếp theo của hai

đối tác.

Chế độ nhanh thực hiện trao đổi 3 bản tin. Hầu hết các trao đổi đều được thực

hiện trong trao đổi thứ nhất: thỏa thuận các tập chính sách IKE, tạo khóa công cộng

Diffie-Hellman, và một gói nhận dạng có thể sử dụng để xác định nhận dạng thông qua

một bên thứ ba. Bên nhận gửi trở lại mọi thứ cần thiết để hoàn thành việc trao đổi. Cuối

cùng bên khởi tạo khẳng định việc trao đổi.

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

Khi thiết lập một kết nối IP-VPN an toàn giữa hai host A và host B thông qua

Internet, một đường ngầm an toàn được thiết lập giưa router A và router B. Thông qua

đường hầm, các giao thức mật mã, xác thực và các giao thức khác được thỏa thuận. Thay

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

60

Page 73: Cong Nghe IP-VPN BuiVanNhat 45

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

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

toàn (xem chi tiết trong chương 4). Có 7 thuật toán hay nhóm Diffie-Hellman được định

nghĩa: DH 17. 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.

61

Page 74: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

62

Page 75: Cong Nghe IP-VPN BuiVanNhat 45

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

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

đượ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*105 khóa đóng

gói dữ liệu. DES được IBM phát triển IBM vào năm 1977 và được U.S Department of

Defense (cục phòng thủ Mỹ) chọn, DES đã là một trong những kỹ thuật mật mã mạnh.

Nó được xem như là không thể bẻ gãy tại thời điểm đó, nhưng khi máy tính tốc độ cao

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.

63

Page 76: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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à

64

Page 77: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

65

Page 78: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

66

Page 79: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

67

Page 80: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

68

Page 81: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

69

Page 82: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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 tham số

Khóa chia sẻ trước, RSA, Diffie-Hellman, CA

70

Page 83: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Chương 4AN 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,

xác thực nguồn gốc dữ liệu.

RSA, DH, DES,

3DES, MD5, SHA

PPTP Kết nối VPN RC4

SET Cho phép trao đổi an toàn các thẻ tín

dụng

RSA, SHA, DES

S/MIME Đảm bảo việc truyền dẫn, lưu trữ,

xác thực, chuyển tiếp an toàn dữ liệu

ở mức ứng dụng

RSA, RC5, RC4,

RC2, DES, 3DES

SSL&TLS Tạo một đường ống an toàn giữa hai

ứng dụng để trao đổi dữ liệu và xác

thực lẫn nhau

RSA, DH, RC4,

DES, 3DES, SHA,

MD5

71

Page 84: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Đố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

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.

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: PC và một quy tắc giải mã tương ứng

dk:CP sao cho dk(ek(x)) = x với mọi bản rõ x P.

Cipher

Khóa KKhóa K

Bản tin được mật mã

C

Bản tin được mật mã

CMật mã

EK(P)=C

Mật mãEK(P)=C

Giải mã DK(C)=P

Giải mã DK(C)=P

Bản tin được mật mã

C

Bản tin được mật mã

C

Bản tin ban đầu

Bản tin ban đầu

Bản tin ban đầu

Bản tin ban đầu

Khóa KKhóa K

Plaintext Ciphertext

72

Page 85: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Đ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:

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

73

Page 86: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

P1

P2

P3

EE

EE

EE

C1

C2

C3

C1

C2

C3

DD

DD

DD

P1

P2

P3

Phía phát Phía thu

P1

P2

P3

EE

EE

EE

IV

C2

C3

C1

C2

C3

DD

DD

DD

P1

P2

P3

Phía phát Phía thu

C1

IV

74

Page 87: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

75

Page 88: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

76

Page 89: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

77

Page 90: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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í

KhóaKhóa

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

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

Luồng bit PlaintextLuồng bit Plaintext Luồng bit ciphertextLuồng bit ciphertext

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

78

Page 91: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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)]

Khóa công khai

Đoạn tin

Khóa bí mật

Đoạn tin được mật mã

Đoạn tinUser A Giải thuật

mã hóa

Giải thuật mã hóa

Giải thuật giải mã

Giải thuật giải mã User B

Kênh truyền

79

Page 92: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

768

1024

106

132

160

104

108

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?

80

Page 93: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

Chọn 1 số ngẫu nhiên 1<e<0(n): gcd (0(n),e) = 1

Tính d: d=e-1mod 0(n) (giải thuật Euclidean mở rộng)

Khóa công khai KU=[e,n]

Khóa bí mật KR=[d,n]

0((log n)2)

0(log(0(n))2)

0((log n)3)

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}

81

Page 94: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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ố nguyên lớn ban đầu: P

Đồng ý với bên A về sử dụng số nguyên lớn ban đầu: P

Đồng ý về số nguyên làm nhiệm vụ tạo khóa: G

Đồng ý về số nguyên làm nhiệm 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 sẻ: KA=KB=K

Bây giờ đã có khóa bảo mật chia sẻ: KA=KB=K

Chứng minh:

KA=(GBmod P)Amod P

KA=(GB)Amod P

KA=GBAmod P

KA

Chứng minh:

KB=(GAmod P)Bmod P

KB=(GA)Bmod P

KB=GAB mod PKB

82

Page 95: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

83

Page 96: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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 1038 đế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

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ố 1038 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 đó.

84

Page 97: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

1 0 1 0 1 1 10 1 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

Hàm HashHàm Hash

Hàm HashHàm Hash

1 0 1 1 0 11 0 1 1 0 1

0 0 0 1 0 00 0 0 1 0 0

Tài liệu hoặc bản tin

(Độ dài tùy ý)

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

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

85

Page 98: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

MD5MD5 SHASHA

128 bit128 bit 160 bit160 bit

Tài liệu hoặc bản tin

(Độ dài tùy ý)

Message Digest:Vân tay hàm băm

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

DocumentDocument

PadPad

LL

Khối 1512 bit

Khối 1512 bit

Khối 2512 bit

Khối 2512 bit

Khối N512 bit

Khối N512 bit

Hàm băm MD5/SHA

Hàm băm MD5/SHA Hàm băm

MD5/SHA

Hàm băm MD5/SHA

Hàm băm MD5/SHA

Hàm băm MD5/SHA

Hash

Hash

Hash

IV

N x 512 bit

IV 128/160 bit Initialization vector P PaddingHash 128/160 bit Hash value L 64 bit Document Length

86

Page 99: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

Phía phát Phía thu1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

KeyedHash Funtion

KeyedHash Funtion

MACMAC

KeyKey

1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

KeyedHash Funtion

KeyedHash Funtion

MACMAC

KeyKey

MACMAC

Kênh truyền

So sánh

87

Page 100: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

512 bit

0x36…0x360x36…0x36

KeyKey PadPad

0x5C…0x5C0x5C…0x5C

Inner KeyInner Key DocumentDocument

Hàm băm MD5/SHAHàm băm MD5/SHA

Outer KeyOuter Key HashHash

Hàm băm MD5/SHAHàm băm MD5/SHA

HashHash MACMAC

XOR

XOR

88

Page 101: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

89

Page 102: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

Phía thu

Kênh truyền

Phía phát1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

Hàm bămHàm băm

Chữ kýChữ ký

Giá trị bămGiá trị băm

Mật mã cùng với khóa riêng

Mật mã cùng với khóa riêng

1 0 1 0 1 1 10 0 1 0 1 0 0

1 1 0 1 1 1 0 10 0 0 1 0 1 0 1

Chữ kýChữ ký

Giá trị bămGiá trị băm

Giải mã cùng với khóa công cộng

Giải mã cùng với khóa công cộng

Giá trị bămGiá trị băm

So sánh

90

Page 103: Cong Nghe IP-VPN BuiVanNhat 45

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

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

- 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

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.

Giá trị ngẫu nhiên(Nonce)

Kênh không an toàn

IDUIDU

RURU RS

RS

KeyKey

Keyed Hash Function

Keyed Hash Function

IDUIDU RU

RU MACMAC

IDUIDU RU

RU RSRS

RSRS

KeyKey

Keyed Hash Function

Keyed Hash Function

MACMAC

MACMAC

Khẩu lệnh

Đáp

U

ser

Server

91

Page 104: Cong Nghe IP-VPN BuiVanNhat 45

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

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

Máy chủ dựa vào các thông tin mà nó có (bao gồm ID, RU, 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.

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)

Giá trị ngẫu nhiên(Nonce)

Kênh không an toàn

IDUIDU

RURU

RSRS

HashHash

IDUIDU

RURU Sig

Sig

IDUIDU

RURU

RSRS

RSRS

Giải mã với khóa công khai

Giải mã với khóa công khai

SigSig

Khẩu lệnh

Đáp

U

ser

Server

Mật mã với khóa bí mật

Mật mã với khóa bí mật

HashHash

HashHash

92

Page 105: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

Can C trust A ? Trust

AA

Signed by BSigned by B

Certificate

CC

Signed by DSigned by D

Certificate

BB

Signed by ASigned by A

DD

Signed by BSigned by B

Signed by DSigned by D

Signed by CSigned by C

Trust

Trust

93

Page 106: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

Client Certificate

Trust

VerisignVerisign

Self SignedSelf Signed

AmazonAmazon

VerisignVerisign

BobBob

AmazonAmazon

AliceAlice

AmazonAmazon

CarolCarol

SwisskeySwisskey

SwisskeySwisskey

Self SignedSelf Signed

Intermediate CA

Root CA

94

Page 107: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

SignatureSignature

SignatureAlgorithm*SignatureAlgorithm*

VersionSerial NumberSignature*IssuerValidity SubjectSubjectPublicKeyInfoIssuerUniqueID OptionalSubjectUniqueID OptionalExtensions Optional

VersionSerial NumberSignature*IssuerValidity SubjectSubjectPublicKeyInfoIssuerUniqueID OptionalSubjectUniqueID OptionalExtensions Optional

Hash/ FingerprintHash/ Fingerprint

Hàm hashHàm hash

Encryption with Issure’s Private Key

Encryption with Issure’s Private Key

95

Page 108: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

96

Page 109: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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.

97

Page 110: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

98

Page 111: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

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

99

Page 112: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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 hàng

Cisco Netsreen

Remote Access Site-to-Site

ISP/

Central Site

3080, 3060 Concentrators

VPN routers 71x0 Netsreen-1000, Netsreen-500

Medium Site 3030 Concentrators Routers 7x00, 3600 Netsreen-208, Netsreen-204

Small Office 3015, 3005 Concentrantors

Routers 3600, 2600, 1700

Netsreen-50, Netsreen-20, Netsreen-XP

Home Office/ Telecommuter

Cisco VPN

Software Client

3002 Hardware Client

Router 800, 905 Netsreen-Remote

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

100

Page 113: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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.

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

101

Page 114: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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.

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

102

Page 115: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

103

Page 116: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

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

104

Page 117: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

105

Page 118: Cong Nghe IP-VPN BuiVanNhat 45

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

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

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

106