Tải bản đầy đủ (.pdf) (85 trang)

Xây dựng mạng riêng ảo dựa trên giao thức secure sockets layer (SSL)

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

LỜI CẢM ƠN

Tác giả xin chân thành cảm ơn PGS.TS Nguyễn Kim Giao đã tận tình
hướng dẫn, chỉ bảo, giúp đỡ tác giả hoàn thành luận văn này.
Tác giả xin chân thành cảm ơn Ban chủ nhiệm khoa, các Thầy, Cô giáo
khoa Điện tử-Viễn thông và phòng Đào tạo - Nghiên cứu Khoa học của trường
Đại học Công nghệ - Đại học quốc gia Hà Nội, Lãnh đạo cục, Lãnh đạo phòng
Quản lí - Thiết kế và Tổ chức mạng máy tính cùng toàn thể đồng nghiệp trong
Cục Công nghệ tin học nghiệp vụ - Tổng cục Khoa học kĩ thuật - Bộ Công an
đã giúp đỡ, động viên, tạo điều kiện thuận lợi cho tác giả trong suốt quá trính
học tập, nghiên cứu và hoàn chỉnh bản luận văn.

















Môc lôc
Trang
Trang phô b×a


Lời cảm ơn
Môc lôc
Danh môc c¸c ký hiÖu, c¸c ch÷ viÕt t¾t
Danh môc c¸c b¶ng
Danh môc c¸c h×nh vẽ
më ®Çu
CHƯƠNG 1: TỔNG QUAN VỀ MẠNG RIÊNG ẢO 1
1.1 Giới thiệu về công nghệ mạng riêng ảo VPN 1
1.1.1. Khái niệm về VPN 1
1.1.1.1. Định tuyến đường hầm 2
1.1.1.2. Mã hóa dữ liệu 3
1.1.1.3. Nhận diện và xác thực 4
1.2 Các ưu điểm của VPN 5
1.2.1. Giảm chi phí thường xuyên 5
1.2.2. Giảm chi phí đầu tư 5
1.2.3. Giảm chi phí quản lý và hỗ trợ 6
1.3 Phân loại VPN 6
1.3.1 VPN truy nhập từ xa 6
1.3.2 VPN site-to-site 8
1.3.2.1. VPN nội bộ 8
1.3.2.2. VPN mở rộng 9
1.4 Một số giao thức tạo đường hầm của VPN 9
1.4.1. Cơ chế hoạt động của các đường hầm 10
1.4.2. Các điều kiện cơ bản để tạo đường hầm 11
1.4.3. Giao thức tạo đường hầm lớp 2 12
1.4.3.1. Giao thức PPP 12
1.4.3.2. Giao thức tạo đường hầm Điểm-tới-Điểm PPTP
(Point-to-Point Tunneling Protocol) 16
1.4.3.3. Giao thức tạo đường hầm lớp 2 L2TP
(Layer Two Tunneling Protocol) 16

1.4.4. Giao thức tạo đường hầm lớp 3 IPSec 17
Trang
CHƯƠNG 2: MẠNG RIÊNG ẢO DỰA TRÊN GIAO THỨC SSL 22
2.1. Các công nghệ VPN 22
2.1.1 Các công nghệ được sử dụng để khởi tạo các VPN Site-to-Site 22
2.1.2 Các công nghệ được sử dụng để khởi tạo VPN truy nhập từ xa 23
2.2. Giao thức SSL 25
2.2.1. Sự ra đời và phát triển của giao thức SSL 25
2.2.2. Cấu trúc chức năng và hoạt động của giao thức SSL 26
2.2.2.1. Phân tích cấu trúc chức năng của giao thức SSL theo mô
hình OSI 26
2.2.2.2. Nguyên lý hoạt động của giao thức SSL 29
2.3 Mạng riêng ảo dựa trên giao thức SSL 35
2.3.1 SSL VPN theo kiểu hướng ứng dụng 35
2.3.1.1 Nguyên lý hoạt động của SSL VPN theo kiểu hướng
ứng dụng 35
2.3.1.2 Ưu điểm và hạn chế của SSL VPN theo kiểu hướng
ứng dụng 38
2.3.2 SSL VPN kiểu gateway 38
2.3.2.1 Nguyên lý hoạt động của SSL VPN kiểu gateway 39
2.3.2.2 Ưu điểm và hạn chế của SSL VPN theo kiểu gateway 40
CHƯƠNG 3: ỨNG DỤNG PHẦN MỀM MÃ NGUỒN MỞ OPENVPN
ĐỂ THIẾT LẬP MẠNG RIÊNG ẢO DỰA TRÊN
GIAO THỨC SSL 42
3.1. Giới thiệu về OpenVPN 42
3.1.1 TUN/TAP và cách thức thiết lập đường hầm của OpenVPN 42
a. Thiết bị mạng ảo TUN 43
b. Thiết bị mạng ảo TAP 43
Trang
c. Nguyên lí tạo đường hầm của OpenVPN 43

3.1.2 Phương thức mã hóa và xác thực của OpenVPN 44
3.1.2.1 Quá trình tạo khóa, phân phối và trao đổi khóa 45
3.1.2.2 Thuật toán mã hóa 46
3.2 Thiết lập mạng riêng ảo dựa trên OpenVPN 46
3.2.1 Cài đặt OpenVPN trên một số hệ điều hành thông dụng 47
3.2.1.1 Cài đặt OpenVPN trên hệ điều hành Windows 47
3.2.1.2 Cài đặt OpenVPN trên hệ điều hành Linux 48
3.2.2 Thiết lập mạng riêng ảo dựa trên OpenVPN 48
3.2.2.1 Thiết lập mạng riêng ảo dựa trên OpenVPN theo cấu
hình điểm-điểm 48
3.2.2.2 Thiết lập mạng riêng ảo dựa trên OpenVPN theo cấu
hình điểm-đa điểm 55
3.3. Nâng cao tính năng OpenVPN bằng phần mềm ISLabVPN 57
3.3.1 Cài đặt, cấu hình và quản trị ISLabVPN trên Windows 57
a. Cài đặt ISLabVPN 57
b. Chạy chương trình ISLabVPN 59
c. Quản trị ISLabVPN 60
3.3.2 Sử dụng ISLabVPN trên Linux để quản trị server gateway 62
3.3.2.1 Cấu hình ISLabVPN trên máy server gateway chạy hệ điều
hành Linux 62
KẾT LUẬN 66
TÀI LIỆU THAM KHẢO 67
PHỤ LỤC 68




DANH MỤC CÁC CHỮ VIẾT TẮT
AH
Authentication Header

ATM
Asynchronous Transfer Mode
AToM
Draft Martini transport (Any Transport over MPLS )
CA
Certificate Authority
CBC
Cipher Block Chaining
CBCP
Callback Control Protocol
CCS
ChangeCipherSpec
CHAP
Challenge Handshake Authentication Protocol
DES
Data Encryption Standard
DNS
Domain Name System
DHCP
Dynamic Host Configuration Protocol
EAP
Extensible Authentication Protocol
ESP
Encapsulating Security Payload
FTP
File Transfer Protocol
GRE
Generic Route Encapsulation
HDLC
High-Level Data Link Control

HMAC
Hash-based Message Authentication Code
HTTP
Hypertext Transfer Protocol
IETF
Internet Engineering Task Force
IKE
Internet Key Exchange
IP
Internet Protocol
IPSec
Internet Protocol Security
ISP
Internet Service Provider
ISAKMP
Internet Security Association and Key Management Protocol
IV
Initialization Vector
MS-CHAP
Microsoft Challenge Handshake Authentication Protocol
L2F
Layer 2 Forwarding
L2TP
Layer 2 Tunneling Protocol
LAN
Local Area Network
LCP
Link Control Protocol
LDAP
Lighweight Directory Access Protocol

LDP
Label Distribution Protocol
LSR
Label Switch Routers
MAC
Medium Access Control
MPLS
Multi Protocol Label Switch
MPPE
Microsoft Point-to-Point Encryption
NAS
Network Access Server
NetBEUI
NetBIOS Enhanced User Interface
NFS
Network File System
OSI
Open Systems Interconnection
PAP
Password Authentication Protocol
PC
Personal Computer
PCT
Private Communication Technology
POP
Post Office Protocol
POP
Point of Presence
PPP
Point to Point Protocol

PPTP
Point to Point Transfer Protocol
QoS
Quality of Service
RADIUS
Remote Authentication Dial-in User Service
RSA
Rivest, Shamir, Adleman
RSVP
Resource Reservation Protocol
SA
Security Association
SHA
Secure Hash Algorithm
SHTTP
Secure HyperText Transfer Protocol
SNMP
Simple Network Management Protocol
SSL
Secure Sockets Layer
SSLHP
Secure Sockets Layer Handshake Protocol
SSLRP
Secure Sockets Layer Record Protocol
TCP
Transmission Control Protocol
TDP
Tag Distribution Protocol
TLS
Transport Layer Security

UDP
User Datagram Protocol
VLAN
Virtual LAN
VPDN
Virtual Private Dialup Network
VPN
Virtual Private Network
WAN
Wide Area Network












DANH MỤC CÁC BẢNG
Bảng 2.1: Ý nghĩa các thông điệp trao đổi trong quá trình bắt tay.
Bảng 3.1: Các file chứng chỉ và file khóa sử dụng trong chế độ chứng chỉ số.
DANH MỤC CÁC HÌNH VẼ
Hình 1.1: Mô hình mạng VPN.
Hình 1.2: Mạng VPN truy nhập từ xa.
Hình 1.3: Mạng VPN nội bộ.
Hình 1.4: Mạng VPN mở rộng.

Hình 1.5: Cấu trúc của một gói tin PPTP có mang dữ liệu người dùng.
Hình 1.6: Câu trúc của một gói tin L2TP chứa dữ liệu người dùng.
Hình 2.1: Sơ đồ quan hệ giữa giao thức SSL và mô hình tham chiếu ISO.
Hình 2.2: Mô hình phân tầng đối với giao thức con SSL.
Hình 2.3: Các thông điệp trao đổi trong quá trình bắt tay của SSL.
Hình 2.4: Cấu trúc thông điệp của giao thức bắt tay.
Hình 2.5: Trao đổi trong khi thiết lập một kết nối mới.
Hình 2.6: Quá trình hoạt động của giao thức Record SSL.
Hình 2.7: Sơ đồ nguyên lý hoạt động của SSL VPN hướng ứng dụng.
Hình 2.8: Mô hình tham chiếu OSI của SSL VPN hướng ứng dụng.
Hình 2.9: Mô hình tham chiếu OSI của SSL VPN hướng ứng dụng.
Hình 3.1: Cách thức OpenVPN tạo đường hầm.
Hình 3.2: Các file và thư mục được cài đặt từ bộ cài đặt OpenVPN.
Hình 3.3: Mô hình kết nối mạng riêng ảo cấu hình điểm-điểm.
Hình 3.4: Chạy OpenVPN trực tiếp từ biểu tượng file cấu hình.
Hình 3.5: Mô hình yêu cầu kết nối mạng theo cấu hình điểm-đa điểm.
Hình 3.6: Màn hình lựa chọn các thành phần cài đặt của ISLabVPN.
Hình 3.7: Biểu tượng và các giao diện của chương trình ISLabVPN.
Hình 3.8: Các giao diện cho phép sửa đổi file cấu hình OpenVPN của ISLabVPN.
Hình 3.9: Màn hình kết nối của ISLabVPN và cửa sổ nhập mật khẩu.
Hình 3.10: Màn hình quản trị OpenVPN qua giao diện Web.
Hình 3.11: Màn hình soạn thảo,sửa đổi nội dung của file cấu hình của OpenVPN.
MỞ ĐẦU

Trong những năm gần đây, cùng với sự phát triển của các ngành công
nghệ khác, công nghệ mạng máy tính đang đạt được những bước tiến nhảy vọt.
Công thức C+C ( Computer + Communication) là đặc trưng cho sự hoà hợp của
máy tính và thông tin trong một xã hội hiện đại. Hệ thống mạng máy tính đã và
đang ngày càng phát triển mạnh để đáp ứng các nhu cầu thu thập và xử lý thông
tin trong mọi lĩnh vực của đời sống, xã hội. Mạng internet phát triển tạo điều

kiện thuật lợi cho các tổ chức, doanh nghiệp xây dựng mạng dùng riêng của
mình với sự trợ giúp của các công nghệ mạng riêng ảo và hạ tầng mạng
internet. Công nghệ mạng riêng ảo không chỉ giúp giảm giá thành kết nối mạng
diện rộng cho các tổ chức, doanh nghiệp mà còn cho phép họ có được một giải
pháp truyền dữ liệu an toàn qua mạng internet.
Hiện tại, trên thị trường có khá nhiều các công nghệ và các sản phẩm
VPN của nhiều hãng khác nhau, mỗi công nghệ, mỗi sản phẩm có những ưu
nhược điểm riêng và có giá thành rất khác nhau. Điều này tạo thuận lợi cho
người dùng có nhiều lựa chọn để chọn được một giải pháp phù hợp với điều
kiện, hoàn cảnh của mình.
Tuy nhiên, đối với những mạng máy tính hoạt động trong các lĩnh vực an
ninh quốc phòng thì nhu cầu không chỉ ở chỗ cần xây dựng các mạng riêng ảo
có giá thành rẻ mà còn phải tính đến sự đảm bảo an toàn cao, trong đó phải có
khả năng kiểm soát và ngăn chặn các hoạt động xâm phạm an ninh trên mạng.
Vì vậy, một yêu cầu đặt ra đối với mạng máy tính Bộ Công an là phải nghiên
cứu để có được một phần mềm thiết lập mạng riêng ảo có thể kiểm soát được
toàn bộ mã nguồn của nó, đồng thời, tiết kiệm cho ngân sách Nhà nước. Yêu
cầu này là tiền đề cho việc nghiên cứu xây dựng mạng riêng ảo dựa trên phần
mềm mã nguồn mở OpenVPN và cũng là lý do để tác giả chọn vấn đề này làm
đề tài cho luận văn tốt nghiệp của mình. Đây là một đề tài đã được ứng dụng và
đem lại nhiều kết quả trong việc tổ chức các mạng riêng ảo cho mạng máy tính
Ngành Công an.
Cấu trúc của luận văn bao gồm ba chương và hai phần mở đầu, kết luận.
Chương 1 trình bày những kiến thức tổng quan về mạng riêng ảo. Chương 2 đi
sâu trình bày về giao thức SSL và mô hình, nguyên lí hoạt động của các loại
SSL VPN. Chương 3 trình bày về phần mềm mã nguồn mở OpenVPN và cách
thức ứng dụng để xây dựng mạng riêng ảo có cấu trúc điểm-điểm hoặc điểm-đa
điểm. Đồng thời trong chương này cũng trình bày một số nghiên cứu của tác giả
trong việc xây dựng phần mềm ISLabVPN để tăng cường tính năng bảo mật
trong xác thực người dùng client cũng như tính năng quản trị đối với

OpenVPN. Tiếp sau Chương 3 là phần kết luận và phần giới thiệu tài liệu tham
khảo.


-1-
CHƯƠNG 1:
TỔNG QUAN VỀ MẠNG RIÊNG ẢO
1.1 Giới thiệu về công nghệ mạng riêng ảo VPN.
1.1.1 Khái niệm về VPN. [1]
Về căn bản, mỗi VPN (Virtual Private Network) là một mạng sử dụng
một mạng dùng chung để kết nối các mạng riêng lẻ hay những người sử dụng
từ xa của một cơ quan, tổ chức và sử dụng phương pháp tạo đường hầm,
phương pháp mã hóa để tạo ra mạng dùng riêng cho cơ quan, tổ chức này.
Như vậy, thay cho việc sử dụng một kết nối thực, chuyên dụng như đường
Leased Line, mỗi VPN sử dụng các kết nối riêng ảo để tạo kết nối cho các
mạng riêng của mình hay tạo kết nối tới các mạng riêng cho các máy truy
nhập từ xa.
Nói cách khác, mạng riêng ảo giả lập một mạng riêng trên một mạng
công cộng (ví dụ như internet). Sở dĩ nó được gọi là “ảo” là bởi vì nó dựa trên
các liên kết ảo (không có sự hiện diện vật lý của các liên kết này) khác với
các liên kết thiết lập trên đường thuê bao riêng. Các liên kết ảo thực chất là
các dòng dữ liệu lưu chuyển trên mạng công cộng. Ở đây các gói tin được
định tuyến theo cách mà mạng công cộng thực hiện với các gói tin của nó. Để
tạo một mạng dùng riêng thông qua các liên kết ảo trên một mạng công cộng,
VPN đã sử dụng cơ chế tạo đường hầm và các kỹ thuật bảo mật. Có thể định
nghĩa VPN qua công thức:
VPN = Định tuyến đường hầm + Bảo mật + Các thoả thuận về QoS.

Hình 1.1 Mô hình mạng VPN


-2-
VPN cung cấp 4 chức năng chính:
- Sự tin cậy (Confidentiality): Người gửi có thể mã hoá các gói dữ liệu
trước khi truyền chúng ngang qua mạng. Bằng cách làm như vậy,
không một ai có thể truy nhập thông tin mà không được phép, hoặc nếu
lấy được thông tin thì cũng không đọc được vì thông tin đã được mã
hoá.
- Tính toàn vẹn dữ liệu (Data Integrity): Người nhận có thể kiểm tra rằng
dữ liệu đã được truyền qua mạng internet mà không có sự thay đổi nào.
- Xác thực nguồn gốc (Origin Authentication): Người nhận có thể xác
thực nguồn gốc của gói dữ liệu, đảm bảo và công nhận nguồn thông tin.
- Điều khiển truy nhập (Access Control): VPN có thể phân biệt giữa
những người dùng hợp lệ và trái phép bằng nhiều cách như: dựa vào
các chính sách, sự chứng thực,
1.1.1.1. Định tuyến đường hầm.
Định tuyến đường hầm là một kỹ thuật cho phép một mạng có thể
truyền dữ liệu của nó thông qua các kết nối của mạng khác. Định tuyến đường
hầm được thực hiện bằng cách đóng gói một giao thức mạng vào trong một
packet được mang bởi mạng thứ hai. Ví dụ: PPTP của Microsoft thực hiện
bằng cách nó nhúng giao thức mạng riêng của nó vào trong packet TCP/IP
được mang đi bởi internet.
Kỹ thuật định tuyến đường hầm thường yêu cầu 3 giao thức:
- Giao thức truyền tải (Carrier Protocol): là giao thức được sử dụng bởi
mạng có thông tin đang đi qua hay nó chính là giao thức của mạng công cộng
mà VPN sử dụng (trong trường hợp internet là TCP/IP).
- Giao thức đóng gói dữ liệu (Encapsulating Protocol): là giao thức
đóng lại các gói dữ liệu gốc (ví như: IPSec, L2TP, PPTP, …).

-3-
- Giao thức vận chuyển hàng khách: (Passenger Protocol): là giao thức

để truyền dữ liệu gốc đi.
Với kỹ thuật này thì người dùng có thể đặt một gói tin sử dụng giao
thức không được hỗ trợ trên internet (như NetBeui) bên trong một gói tin IP
và gửi nó an toàn qua internet hoặc có thể đặt một gói tin IP không dùng địa
chỉ định tuyến (là địa chỉ riêng) bên trong một gói tin IP khác dùng địa chỉ
định tuyến để mở rộng mạng riêng trên internet.
1.1.1.2. Mã hóa dữ liệu.
Một trong những biện pháp bảo mật trong VPN là biện pháp mã hoá dữ
liệu. Nguyên tắc cơ bản của mã hoá là sử dụng thuật toán để biến đoạn tin
dưới dạng văn bản thành một đoạn tin mà nghĩa của nó trở nên khó hiểu nhằm
đảm bảo đoạn tin rõ chỉ có thể đọc bởi đúng người nhận hợp lệ.
Một thuật toán mã hoá là một hàm toán học được sử dụng cho mã hoá và
giải mã. Trong hầu hết trường hợp, người ta sử dụng hai hàm liên quan, một
cho việc mã hoá, một cho việc giải mã. Thuật toán dựa trên các tiêu chí như:
độ an toàn, chi phí, hiệu quả. Thuật toán mã hoá có hai loại phổ biến hiện nay,
đó là hệ mật mã đối xứng (hệ mật mã bí mật) và hệ mật mã không đối xứng
(hệ mật mã công khai). Hiện nay, trong VPN sử dụng cả hai loại thuật toán
này trong cơ chế bảo mật của mình.
Với hầu hết thuật toán hiện nay, việc bảo mật thông tin mã hoá không
chỉ dựa vào thuật toán mà còn phải dựa vào khoá mã hoá. Khoá phải đảm bảo
mã hoá là dễ dàng, còn giải mã không kèm theo khoá là rất khó khăn thậm chí
là không thực hiện được.
Hệ mật mã bí mật chỉ sử dụng một khoá cho cả quá trình mã hoá và giải
mã. Nhược điểm của hệ này là không giải quyết được vấn đề phân phối khoá,
vấn đề toàn vẹn dữ liệu. Hệ mật mã nổi tiếng nhất là hệ mật mã DES. DES là

-4-
công cụ mã hoá chủ yếu được sử dụng trong hệ điều hành UNIX để mã hoá
các mật khẩu xác thực.
Hệ mật mã không đối xứng sử dụng hai khoá để mã hoá và giải mã. Về

mặt toán học, hai khoá có liên quan tới nhau và chúng được tạo ra bằng cách
sử dụng các số ngẫu nhiên. Hệ mật mã này đã giải quyết được các nhược
điểm của hệ mật mã đối xứng nhưng nó có yếu điểm là đòi hỏi tính toán phức
tạp, do đó quá trình mã hoá và giải mã sẽ chậm hơn. Hệ mật mã công khai
đầu tiên được sử dụng là hệ mật mã RSA, RSA thường được sử dụng để xác
thực dữ liệu trong mã hoá chữ kí số.
1.1.1.3. Nhận diện và xác thực.
Nhận diện và xác thực là một phần then chốt của hệ thống bảo vệ an ninh
máy tính vì nó là cơ sở cho hầu hết các kiểu điều khiển truy nhập và để xác
minh tài khoản người dùng. Điều khiển truy nhập thường yêu cầu một hệ
thống phải có khả năng nhận biết và phân biệt giữa các người dùng. Lấy ví
dụ, điều khiển truy nhập thường dựa trên đặc quyền tối thiểu liên quan đến
việc cấp cho người dùng những truy nhập cần thiết để thực hiện các nhiệm vụ
của họ. Trách nhiệm giải trình người sử dụng đòi hỏi sự liên kết các hoạt
động trên một hệ thống máy tính với các cá nhân cụ thể và vì vậy sẽ yêu cầu
hệ thống nhận diện người dùng này.
- Nhận diện: là các cách thức một người dùng cung cấp một nét nhận
biết được yêu cầu cho hệ thống.
- Xác thực: là cách thức xác minh tính hợp lệ của yêu cầu đó. Ví dụ, một
nhận diện người dùng có thể là JSMITH (cho Jane Smith). Những người quản
trị hệ thống và người dùng khác có thể biết thông tin này. Một xác thực người
dùng có thể là một mật khẩu của Jane Smith được giữ bí mật. Đây là cách mà

-5-
người quản trị thiết lập sự truy nhập của Jane và theo dõi hoạt động của cô ta
trên dấu vết kiểm toán, và không một người nào có thể đóng giả là Jane.
Các hệ thống bảo vệ an ninh sẽ chấp nhận một người dùng dựa vào dữ
liệu xác thực mà những hệ thống này nhận được. Xác thực đưa ra một số yêu
cầu: tập hợp dữ liệu xác thực, truyền dữ liệu có bảo đảm, và nhận biết được
người đã được xác thực vẫn đang sử dụng hệ thống này hay không. Lấy ví dụ,

một người dùng có thể rời hệ thống trong khi vẫn truy nhập và một người
khác có thể bắt đầu sử dụng truy nhập đó.
Có ba cách thức xác thực một người dùng được sử dụng độc lập hay kết
hợp, đó là: một số điều mà người dùng biết (một điều bí mật như: một mật
khẩu, số nhận diện cá nhân (PIN), hoặc khoá mã); một số cái mà người dùng
có (một ATM card hoặc một smart card); và một số đặc trưng của người dùng
(mẫu sinh trắc học như đặc trưng mẫu giọng nói, vân tay, …).
Trong VPN, người ta thường sử dụng phương pháp nhận diện và xác
thực dựa trên cái mà người dùng biết (ví dụ như mã nhận diện người dùng
username và mật khẩu xác thực người dùng password), hoặc cái mà người
dùng có (ví dụ như chứng chỉ số).
1.2 Các ưu điểm của VPN. [1]
1.2.1. Giảm chi phí thường xuyên.
VPN cho phép tiết kiệm đến 60% chi phí so với thuê bao đường truyền
và giảm đáng kể tiền cước gọi đến của các cán bộ, công nhân viên làm việc ở
xa. Giảm được cước phí đường dài khi truy nhập VPN cho các cán bộ, công
nhân viên di động và các nhân viên làm việc ở xa nhờ vào việc họ truy nhập
vào mạng thông qua các điểm kết nối POP (Point of Presence) ở địa phương,
hạn chế gọi đường dài đến các modem tập trung.
1.2.2. Giảm chi phí đầu tư.
Sẽ không tốn kém chi phí đầu tư cho máy chủ, bộ định tuyến cho mạng
đường trục và các bộ định tuyến chuyển mạch phục vụ cho việc truy nhập bởi

-6-
vì các thiết bị này do các nhà cung cấp dịch vụ quản lý và làm chủ. Cơ quan,
tổ chức hay công ty cũng không phải mua, thiết lập cấu hình hoặc quản lý các
nhóm modem phức tạp. Ngoài ra, họ cũng có thể thuê với giá rẻ các thiết bị
phục vụ khách hàng, thường có sẵn ở các nhà cung cấp dịch vụ, hoặc từ các
công ty dịch vụ giá trị gia tăng, nhờ thế mà việc nâng cấp mạng cũng trở nên
dễ dàng và ít tốn kém hơn.

1.2.3. Giảm chi phí quản lý và hỗ trợ.
Với qui mô kinh tế của mình, các nhà cung cấp dịch vụ có thể mang lại
cho cơ quan, tổ chức, công ty những khoản tiết kiệm có giá trị so với việc tự
quản lý mạng. Hơn nữa, nhận được sự hỗ trợ và phục vụ liên tục cho những
nhân viên lành nghề luôn sẵn sàng đáp ứng mọi lúc, giải quyết nhanh chóng
các sự cố.
Một mạng VPN được thiết kế tốt sẽ đáp ứng được các yêu cầu sau:
- Bảo mật (Security).
- Tin cậy (Reliability).
- Dễ mở rộng, nâng cấp (Scalability).
- Quản trị mạng thuận tiện (Network management).
- Quản trị chính sách mạng tốt.
1.3 Phân loại VPN. [4]
Có nhiều cách phân loại VPN. Bằng cách phân loại VPN theo phương
thức kết nối, người ta chia VPN ra làm hai loại: VPN truy nhập từ xa (remote
access) và VPN site-to-site.
1.3.1 VPN truy nhập từ xa.
VPN truy nhập từ xa hay còn gọi là mạng riêng ảo quay số VPDN
(Virtual Private Dialup Network). Đây là dạng kết nối trực tiếp một người
dùng tới một mạng LAN (User-to-Lan) được triển khai, thiết kế cho những
người dùng riêng lẻ ở xa hay những người dùng di động (Hình 1.2).

-7-

Hình 1.2 Mạng VPN truy nhập từ xa
Trước đây, các tổ chức, tập đoàn hỗ trợ cho những người dùng từ xa theo
những hệ thống quay số. Đây không phải là một giải pháp kinh tế, đặc biệt khi
một người phải truy nhập qua đường truyền quốc tế. Với sự ra đời của VPN
truy nhập từ xa, một khách hàng di động gọi điện nội hạt cho nhà cung cấp
dịch vụ internet (ISP) để truy nhập vào mạng tập đoàn của họ chỉ với một

máy tính cá nhân được kết nối internet cho dù họ đang ở bất kỳ đâu. VPN truy
nhập từ xa là sự mở rộng những mạng quay số truyền thống. Trong hệ thống
này, phần mềm PC cung cấp một kết nối an toàn - như một đường hầm, cho tổ
chức. Bời vì những người sử dụng chỉ thực hiện các cuộc gọi nội hạt nên chi
phí giảm.
Có hai kiểu VPN truy nhập từ xa:
 Khởi tạo bởi phía khách (Client-Initiated) – Người dùng từ xa sử
dụng phần mềm VPN client để thiết lập một đường hầm an toàn tới
mạng riêng thông qua một ISP trung gian.
 Khởi tạo bởi NAS (Network Access Server-initiated) – Người dùng từ
xa quay số tới một ISP. NAS sẽ thiết lập một đường hầm an toàn tới
mạng riêng cần kết nối.

-8-
1.3.2 VPN site-to- site.
 VPN site-to-site được triển khai cho các kết nối giữa các vùng khác
nhau của một tập đoàn hay tổ chức. Nói cách khác, VPN site-to-site
nối kết mạng riêng ảo cho một mạng ở một địa điểm, vị trí tới mạng ở
một địa điểm, vị trí khác. Truớc đây, một kết nối giữa các vị trí này là
kênh thuê riêng hay frame relay. Tuy nhiên, ngày nay hầu hết các tổ
chức, đoàn thể, tập đoàn đều sử dụng intemet. Với việc sử dụng mạng
intemet, VPN site-to-site có thể thay thế kênh thuê riêng truyền thống
và frame relay. VPN site-to-site là sự mở rộng và kế thừa có chọn lọc
mạng WAN. Hai ví dụ sử dụng VPN site-to-site là VPN nội bộ
(Intranet VPN) và VPN mở rộng (Extranet VPN).
1.3.2.1. VPN nội bộ.
Các VPN nội bộ được sử dụng để bảo mật các kết nối giữa các địa điểm
khác nhau của một công ty. Điều này cho phép tất cả các địa điểm có thể truy
nhập các nguồn dữ liệu được phép trong toàn bộ mạng của công ty. Các VPN
nội bộ liên kết trụ sở chính, các văn phòng, và các văn phòng chi nhánh trên

một cơ sở hạ tầng chung và sử dụng các kết nối luôn luôn được mã hoá.









Hình 1.3 Mạng VPN nội bộ

-9-
1.3.2.2. VPN mở rộng.
Các VPN mở rộng cung cấp một đường hầm bảo mật giữa các khách
hàng, các nhà cung cấp, và các đối tác qua một cơ sở hạ tầng công cộng sử
dụng các kết nối mà luôn luôn được bảo mật. Kiểu VPN này thường được cấu
hình như một VPN Site-to-Site. Sự khác nhau giữa một VPN nội bộ và một
VPN mở rộng đó là sự truy nhập mạng được công nhận ở một trong hai đầu
cuối của VPN. Hình 1.4 minh hoạ một VPN mở rộng.

Hình 1.4 Mạng VPN mở rộng
1.4 Một số giao thức tạo đường hầm của VPN.
Để tạo ra một đường hầm, cả hai đầu của đường hầm (đầu client và đầu
server) phải sử dụng chung một giao thức tạo đường hầm. Hiện nay, các công
nghệ tạo đường hầm có thể dựa trên giao thức tạo đường hầm hoạt động ở lớp
2 hoặc lớp 3 hoặc các lớp cao hơn của mô hình OSI.
Cách tạo đường hầm tương ứng lớp 2 (lớp data-link) sử dụng các frame
là các đơn vị dữ liệu để truyền và nhận dữ liệu. PPTP và L2TP là các giao


-10-
thức tạo đường hầm lớp 2. Cả hai giao thức này đều đóng gói dữ liệu vào
trong một frame PPP để gửi nó qua mạng internet.
Các giao thức lớp 3 (tương ứng với tầng mạng) sử dụng các gói tin lớp
mạng làm đơn vị dữ liệu để gửi và nhận dữ liệu. Giao thức IPSec ở mode
tunnel là một dạng giao thức tạo đường hầm lớp 3. Giao thức này đóng gói
các gói IP và bổ sung thêm một header IP nữa vào đầu gói trước khi gửi
chúng qua mạng internet.
1.4.1 Cơ chế hoạt động của các đường hầm. [1]
Đối với công nghệ tạo đường hầm ở lớp 2 (như là PPTP và L2TP), một
đường hầm giống như một phiên kết nối; cả hai điểm cuối của đường hầm
phải đồng ý tạo đường hầm và phải đàm phán về các thông số cấu hình tạo
đường hầm như là gán địa chỉ, tham số cho việc nén và mã hóa. Trong hầu hết
các trường hợp, dữ liệu được truyền qua đường hầm được gửi đi bằng cách sử
dụng một giao thức dữ liệu dạng gói, và để hoạt động, đường hầm sử dụng
một giao thức duy trì một cơ chế để điều hành hoạt động của đường hầm.
Công nghệ tạo đường hầm hoạt động ở lớp 3 thông thường xem tất cả
các thông số cấu hình tạo đường hầm là đã được cấu hình trước (thường cấu
hình bằng tay). Đối với các giao thức tạo đường hầm hoạt động ở lớp 3, giai
đoạn duy trì đường hầm là không có. Tuy nhiên, đối với các giao thức lớp 2
(PPTP và L2TP), thì một đường hầm phải được tạo ra, duy trì và hủy kết nối.
Khi đường hầm đã được tạo ra, dữ liệu được gửi qua đường hầm đó. Đầu
client hay server của đường hầm sử dụng một giao thức truyền dữ liệu qua
đường hầm để chuẩn bị dữ liệu cho việc truyền dữ liệu. Ví dụ, khi đầu client
(đầu gửi) của đường hầm gửi dữ liệu (dữ liệu ban đầu-dữ liệu gốc) đến đầu
server của đường hầm, đầu client trước tiên thêm một header của giao thức
truyền dữ liệu đường hầm vào dữ liệu gốc. Tiếp đó, client gửi dữ liệu gốc đã

-11-
được bọc này qua đường truyền, chuyển đến đầu server của đường hầm (đầu

nhận). Đầu server nhận gói tin, loại bỏ header của giao thức truyền dữ liệu
đường hầm và chuyển tiếp dữ liệu gốc đến đầu đích. Thông tin được gửi đi từ
đầu server đến đầu client cũng được xử lý tương tự.
1.4.2 Các điều kiện cơ bản để tạo đường hầm.
Giao thức tạo đường hầm được xây dựng dựa trên giao thức PPP (Point-
to-Point Protocol) là một giao thức đã được định nghĩa chuẩn từ trước. Vì
vậy, các giao thức tạo đường hầm lớp 2 (PPTP và L2TP) thừa kế từ PPP một
tập hợp những tính năng hữu ích. Các tính năng này của PPP và các tính năng
của giao thức tạo đường hầm lớp 3 cần phải đáp ứng được các yêu cầu cần có
để cung cấp tính bảo mật cho mạng VPN được tạo ra như sau:
 Xác thực đầu gửi và đầu nhận: Các giao thức tạo đường hầm lớp 2
thừa kế cơ chế xác thực người dùng từ PPP, gồm giao thức EAP, sẽ
được trình bày dưới đây. Nhiều giao thức tạo đường hầm lớp 3 yêu
cầu rằng các đầu cuối phải khẳng định được danh tính của mình (phải
được xác thực) trước khi đường hầm được thiết lập. Có một trường
hợp ngoại lệ đó là, đàm phán trao đổi khóa trong IPSec (Internet Key
Exchange-IKE), nó cung cấp cơ chế xác thực lẫn nhau giữa hai đầu
cuối, tuy nhiên lại là dùng các chứng chỉ của máy để xác thực, do đó,
bất kỳ người dùng nào truy nhập vào một trong các máy hai đầu của
đường hầm đều có thể sử dụng đường hầm mà không có xác thực.
Điểm yếu bảo mật tiềm tàng này có thể được loại bỏ khi sử dụng
IPSec cùng với giao thức tạo đường hầm lớp 2 như L2TP.
 Hỗ trợ phương thức xác thực mở rộng như dùng thẻ, chứng chỉ số:
Bằng cách sử dụng giao thức xác thực có khả năng mở rộng
(Extensible Authentication Protocol - EAP), các giao thức tạo đường

-12-
hầm lớp 2 có thể hỗ trợ nhiều phương thức xác thực khác nhau, bao
gồm mật khẩu một lần, bộ tính toán cơ chế mã hóa, và thẻ smart card.
Các giao thức tạo đường hầm lớp 3 có thể sử dụng các phương thức

tương tự (ví dụ: IPSec định nghĩa cơ chế xác thực dùng chứng chỉ
khóa công khai trong đàm phán IKE của nó). Một số giao thức tạo
đường hầm có hỗ trợ xác thực dùng chứng chỉ số như:
 Mã hóa dữ liệu: Các giao thức tạo đường hầm lớp 2 hỗ trợ cơ chế
mã hóa dữ liệu dựa vào giao thức PPP. Giao thức tạo đường hầm
lớp 3 có thể sử dụng các cơ chế tương tự; ví dụ, IPSec định nghĩa
các phương thức mã hóa dữ liệu nhiều tùy chọn, các phương thức
này được đàm phán trong quá trình trao đổi IKE.
 Quản trị khóa: MPPE, một cơ chế mã hóa lớp 2, dựa vào khóa
khởi tạo được tạo ra trong quá trình xác thực người dùng, và sau
đó làm mới khóa này một cách định kỳ. IPSec thực hiện đàm phán
một khóa chung trong quá trình trao đổi IKE, và cũng làm mới lại
khóa này một cách định kỳ.
1.4.3 Giao thức tạo đường hầm lớp 2. [7]
1.4.3.1 Giao thức PPP.
Giao thức PPP được thiết kế để gửi dữ liệu đi qua các kết nối quay số
hoặc các kết nối dành riêng. PPP đóng gói các gói tin IP, IPX, và NetBEUI
vào trong các frame PPP, sau đó truyền các gói được bọc gói dạng PPP này
qua một đường kết nối điểm-tới-điểm. PPP thường được sử dụng giữa một
client quay số và một máy phục vụ truy nhập mạng NAS (Network Access
Server).

-13-
Trong một phiên quay số PPP có 4 giai đoạn khác nhau đàm phán kết
nối. Mỗi một giai đoạn phải được hoàn thành trước khi kết nối PPP sẵn sàng
truyền dữ liệu đi.
 Giai đoạn 1- Thiết lập liên kết PPP:
PPP sử dụng giao thức điều khiển liên kết LCP (Link Control Protocol)
để thiết lập, duy trì và kết thúc phiên kết nối vật lý. Trong giai đoạn khởi tạo
LCP, các tùy chọn kết nối cơ bản sẽ được chọn lựa. Trong giai đoạn thiết lập

liên kết này, các giao thức xác thực được chọn lựa, nhưng chúng chưa thật sự
được thực hiện cho đến giai đoạn xác thực kết nối (giai đoạn 2). Tương tự như
vậy, trong giai đoạn thiết lập liên kết, một quyết định được đưa ra khi hai đầu
đàm phán việc sử dụng cách thức nén và mã hóa nào. Tuy nhiên, trong thực tế
thuật toán nén, mã hóa được lựa chọn và một vài chi tiết khác lại được thực
hiện trong giai đoạn 4.
- Giai đoạn 2- Xác thực người dùng:
Trong giai đoạn thứ 2, máy client trình chứng chỉ số danh tính của mình
cho server ở xa. Một cơ chế xác thực an toàn nhằm cung cấp sự bảo vệ chống
lại các tấn công kiểu replay và mạo danh client ở xa. Một cuộc tấn công kiểu
replay xảy ra khi một người thứ 3 theo dõi, bắt được một phiên liên lạc thành
công và sử dụng các gói tin bắt được của phiên liên lạc đã qua đó để thực hiện
lại, giả làm đáp ứng của máy client ở xa kia, sao cho kết nối replay này cũng
được xác thực thành công như phiên liên lạc mà nó bắt được. Giả mạo máy
client ở xa xảy ra khi có một người thứ 3 tiếp tục một phiên liên lạc đã được
xác thực đang còn kết nối. Kẻ xâm phạm này chờ cho đến khi kết nối đã xác
thực thành công, lấy các tham số của phiên kết nối, ngắt kết nối của người đã
được xác thực, và nắm quyền điều khiển phiên kết nối đã được xác thực đó.
Hầu hết các phiên bản của PPP đều cung cấp các phương thức xác thực hạn

-14-
chế. Điển hình là giao thức xác thực mật khẩu (Password Authentication
Protocol - PAP), giao thức xác thực bắt tay thách thức (Challenge Handshake
Authentication Protocol – CHAP), và giao thức xác thực bắt tay thách thức
Microsoft (Microsoft Challenge Handshake Authentication Protocol-MS-
CHAP).
Giao thức xác thực mật khẩu PAP (Password Authentication Protocol):
Là một cơ chế xác thực mật khẩu dạng rõ, đơn giản. Server truy nhập ở xa
yêu cầu một username và mật khẩu, và PAP trả lại chúng ở dạng rõ (không
mã hóa). Rõ ràng, cơ chế xác thực này không an toàn vì người thứ ba có thể

bắt được username và mật khẩu và sau đó sử dụng nó để truy nhập vào server
truy nhập từ xa và tất cả các tài nguyên mà server truy nhập từ xa cung cấp.
PAP không cung cấp cơ chế bảo vệ chống lại tấn công kiểu replay hay giả
mạo máy client ở xa khi mật khẩu của người dùng đã bị lấy cắp.
Giao thức xác thực bắt tay thách thức CHAP (Challenge Handshake
Authentication Protocol): CHAP là một cơ chế xác thực có mã hóa nhằm
tránh việc truyền đi mật khẩu dạng rõ trong một kết nối. Máy server truy nhập
từ xa gửi cho client một thách thức, bao gồm ID của phiên và một chuỗi thách
thức thường xuyên được thay đổi. Client ở xa phải sử dụng thuật toán băm
một chiều MD5 để gửi trả lại dạng mã hóa của thách thức nhận được, ID của
phiên và mật khẩu của client cho server. Username được gửi đi ở dạng chưa
băm. CHAP là một giao thức cải tiến của PAP vì mật khẩu dạng rõ không
được gửi đi qua đường liên kết. Thay vào đó, mật khẩu được sử dụng để tạo
ra một giá trị băm từ thách thức mà server gửi đến ban đầu. Server biết được
mật khẩu dạng rõ của client và do đó, có thể lặp lại hành động băm này và so
sánh kết quả với mật khẩu được gửi đi trong xâu đáp ứng trả lại của client.
CHAP bảo vệ chống lại tấn công kiểu replay bằng cách sử dụng một xâu
thách thức thường xuyên thay đổi cho mỗi một lần thực hiện xác thực. CHAP

-15-
bảo vệ chống lại giả mạo client ở xa bằng cách gửi lặp đi lặp lại các thách
thức một cách không dự đoán trước đến client ở xa trong suốt quá trình kết
nối. Trong giai đoạn 2 của cấu hình liên kết PPP, máy server truy nhập ở xa
tập hợp dữ liệu xác thực và sau đó đối chiếu với dữ liệu mà nó có ở trong cơ
sở dữ liệu của chính nó hoặc là của một máy chủ chứa cơ sở dữ liệu xác thực,
chẳng hạn như dữ liệu được lưu bởi một hệ thống điều khiển domain của
Windows, hoặc dữ liệu xác thực được gửi đến một máy chủ xác thực từ xa
cho dịch vụ quay số (Remote Authentication Dial-in User Service - RADIUS)
 Giai đoạn 3- Điều khiển gọi lại PPP (PPP Callback Control):
Giao thức PPP mà Microsoft triển khai có giai đoạn điều khiển gọi lại là

một giai đoạn tùy chọn. Giai đoạn này sử dụng giao thức điều khiển gọi lại
(Callback Control Protocol - CBCP) ngay sau giai đoạn xác thực. Nếu được
cấu hình để gọi lại, cả hai đầu client và máy chủ truy nhập từ xa sẽ ngắt kết
nối ngay sau khi xác thực. Máy chủ truy nhập từ xa sẽ gọi lại máy client ở xa
theo một số điện thoại đã được chỉ định trước. Bước này cung cấp bổ sung
mức độ bảo mật cho kết nối quay số. Máy chủ truy nhập từ xa chỉ cho phép
các kết nối từ các máy client ở xa có thực đã có một số điện thoại xác định.
 Giai đoạn 4- Gọi giao thức tầng mạng:
Khi các giai đoạn trước đã được hoàn thành, PPP gọi đến các giao thức
điều khiển mạng khác nhau đã được chọn lựa trong giai đoạn thiết lập liên kết
(giai đoạn 1) để cấu hình các giao thức mà client ở xa sử dụng. Ví dụ, trong
giai đoạn này giao thức điều khiển IP có thể gán một địa chỉ IP động cho một
người dùng quay số.
 Giai đoạn 5- Giai đoạn truyền dữ liệu:
Khi bốn giai đoạn của quá trình đàm phán đã được hoàn tất, PPP bắt đầu
truyền dữ liệu giữa hai đầu. Mỗi một gói tin truyền đi được bao bọc trong một
header PPP và sẽ được loại bỏ ở đầu nhận. Nếu có sử dụng nén dữ liệu trong

-16-
giai đoạn một và đàm phán chấp nhận nén ở giai đoạn 4, thì dữ liệu sẽ được
nén. Nếu mã hóa dữ liệu được lựa chọn và đàm phán thông qua, dữ liệu được
mã hóa trước khi truyền đi.
1.4.3.2. Giao thức tạo đường hầm Điểm-tới-Điểm PPTP (Point-to-Point
Tunneling Protocol)
PPTP là giao thức lớp 2, nó đóng gói các frame PPP vào trong gói tin IP
để truyền chúng qua một mạng IP, như internet. PPTP có thể được sử dụng
cho các kết nối truy nhập từ xa và kết nối kiểu VPN router đến router.
Giao thức PPTP sử dụng một kết nối TCP để duy trì đường hầm và một
giao thức phiên bản sửa đổi của giao thức đóng gói có định tuyến chung
(Generic Routing Encapsulation -GRE) để đóng gói các frame PPP thành các

dữ liệu truyền đi trên đường hầm. Dữ liệu gồm các frame PPP đã đóng gói
này có thể được mã hóa hoặc/và nén lại. Hình 1.5 dưới đây trình bày cấu trúc
của một gói tin PPTP có chứa dữ liệu.



Hình 1.5: Cấu trúc của một gói tin PPTP có mang dữ liệu người dùng
1.4.3.3. Giao thức tạo đường hầm lớp 2 L2TP (Layer Two Tunneling
Protocol).
L2TP là giao thức kết hợp giữa PPTP và giao thức Chuyển tiếp lớp 2
L2F (Layer 2 Forwarding), một công nghệ do Cisco đề ra. L2TP đại diện cho
các tính năng tốt nhất của PPTP và L2F. L2TP đóng gói các frame PPP lại để
gửi qua các mạng IP, X.25, Frame relay, hay mạng ATM khi được cấu hình
để sử dụng IP là tầng giao vận chuyển gói dữ liệu. L2TP có thể được sử dụng
như một giao thức tạo đường hầm trên internet. L2TP trên mạng IP sử dụng

×