Chương 1
TỔNG QUAN VỀ VPN
1.1. Mở đầu
Hiện tại, Internet đã phát triển mạnh mẽ cả về mặt mô hình lẫn tổ chức, đáp ứng khá
đầy đủ các nhu cầu của người sử dụng. Internet đã được thiết kế để kết nối nhiều mạng với
nhau và cho phép thông tin chuyển đến người sử dụng một cách tự do và nhanh chóng. Để
làm được điều này người ta sử dụng một hệ thống các thiết bị định tuyến (router) để kết nối
các LAN và WAN với nhau. Các máy tính được kết nối vào Internet thông qua các nhà cung
cấp dịch vụ (ISP – Internet Service Provider). Điều mà kỹ thuật còn tiếp tục phải giải quyết là
năng lực truyền thông của các mạng viễn thông công cộng. Với Internet, những dịch vụ như
đào tạo từ xa, mua hàng trực tuyến, tư vấn các lĩnh vực và rất nhiều điều khác đã trở thành
hiện thực. Tuy nhiên do Internet có phạm vi toàn cầu và không một tổ chức, chính phủ cụ thể
nào quản lý nên rất khó khăn trong việc bảo mật và an toàn dữ liệu cũng như trong việc quản
lý các dịch vụ. Từ đó người ta đã đưa ra một mô hình mạng mới nhằm thoã mãn những yêu
cầu trên mà vẫn có thể tận dụng lại những cơ sở hạ tầng hiện có của Internet, đó chính là mô
hình mạng riêng ảo (Virtual Private Network – VPN). Với mô hình mới này, người ta không
phải đầu tư thêm nhiều về cơ sở hạ tầng mà các tính năng như bảo mật và độ tin cậy vẫn được
đảm bảo, đồng thời có thể quản lý riêng được sự hoạt động của mạng này. VPN cho phép
người sử dụng làm việc tại nhà riêng, trên đường đi hoặc các văn phòng chi nhánh có thể kết
nối an toàn đến máy chủ của tổ chức mình bằng cơ sở hạ tầng được cung cấp bởi mạng công
cộng. Nó cũng có thể đảm bảo an toàn thông tin giữa các đại lý, nhà cung cấp và các đối tác
kinh doanh với nhau trong môi trường truyền thông rộng lớn. Trong nhiều trường hợp, VPN
cũng giống như WAN (Wire Area Network), tuy nhiên đặc tính quyết định của VPN là chúng
có thể dùng mạng công cộng như Internet mà vẫn đảm bảo tính riêng tư và tiết kiệm chi phí.
1.1.1. Định nghĩa VPN
VPN được hiểu đơn giản như là sự mở rộng của một mạng riêng (Private Network)
thông qua các mạng công cộng. Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng một hạ
tầng mạng chung (thường là Internet) để kết nối cùng với các site (các mạng riêng lẻ) hay
nhiều người sử dụng từ xa. Thay cho việc sử dụng kết nối thực, chuyên dùng, mỗi VPN sử
VPN cung cấp 4 chức năng chính:
Sự tin cậy và bảo mật (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 này, không một ai có thể truy nhập
thông tin mà không được phép, mà nếu như có lấy được thông tin thì cũng không thể
đọ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.
2
Đ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 chính sách bảo mật, sự chứng thực...
1.2. VPN và các vấn đề an toàn bảo mật trên Internet
Như chúng ta đã biết, sự phát triển bùng nổ và mở rộng mạng toàn cầu Internet ngày
càng tăng, hàng tháng có khoảng 10.000 mạng mới kết nối vào Internet kèm theo đó là vấn đề
làm sao để có thể trao đổi thông tin dữ liệu một cách an toàn qua mạng công cộng như
Internet. Hàng năm sự rò rỉ và mất cắp thông tin, dữ liệu đã gây thiệt hại rất lớn về kinh tế
trên toàn thế giới. Các tin tặc luôn tìm mọi cách để nghe trộm, đánh cắp thông tin và dữ liệu
nhạy cảm như: mã thẻ tín dụng, tài khoản người dùng, các thông tin kinh tế nhạy cảm... của
các tổ chức hay cá nhân.
Vậy giải pháp sử dụng mạng riêng ảo VPN sẽ giải quyết vấn đề an toàn và bảo mật
thông tin trên Internet như thế nào?
Câu trả lời là để các tổ chức, doanh nghiệp, cá nhân cảm thấy yên tâm khi trao đổi
thông tin dữ liệu qua mạng Internet là sử dụng công nghệ mạng riêng ảo VPN.
Thực chất, công nghệ chính được sử dụng trong mạng riêng ảo VPN là tạo ra một
đường hầm (tunnel), mã hoá và chứng thực dữ liệu giữa hai đầu kết nối. Các thông tin dữ liệu
sẽ được mã hoá và chứng thực trước khi được lưu chuyển trong một đường hầm riêng biệt,
qua đó sẽ tránh được những cặp mắt tò mò muốn đánh cắp thông tin.
mong đợi, các thay đổi tác động đến độ an toàn của hệ thống là nhỏ nhất. Hệ thống có
một trong các đặc điểm sau là không an toàn:
-
Các thông tin dữ liệu trong hệ thống bị người không được quyền truy nhập tìm
cách lấy và sử dụng (thông tin bị rò rỉ).
-
Các thông tin trong hệ thống bị thay thế hoặc sửa đổi làm sai lệch nội dung (thông
tin bị xáo trộn hoặc mất mát).
An toàn quản trị: An toàn quản trị liên quan đến tất cả các mối đe doạ mà con người
làm tổn hại đến một hệ thống mạng. Những mối đe doạ này có thể xuất phát cả từ bên
ngoài lẫn bên trong của một tổ chức, doanh nghiệp.
1.3. Định nghĩa “đường hầm” và “mã hoá”
Chức năng chính của một mạng riêng ảo (VPN) là cung cấp sự bảo mật thông tin bằng
cách mã hoá và chứng thực qua một đường hầm (tunnel).
1.3.1. Đường hầm và cấu trúc gói tin
Cung cấp các kết nối logic, vận chuyển các gói dữ liệu đã được mã hoá bằng một
đường hầm riêng biệt qua mạng IP, điều đó làm tăng tính bảo mật thông tin vì dữ liệu sau khi
mã hoá sẽ lưu chuyển trong một đường hầm được thiết lập giữa người gửi và người nhận, do
đó sẽ tránh được sự nhòm ngó, xem trộm thông tin. Các giao thức định đường hầm được sử
dụng trong VPN như sau:
L2F (Layer 2 Forwarding): Được Cisco phát triển.
PPTP (Point-to-Point Tunneling Protocol): Được PPTP Forum phát triển, giao thức
này hỗ trợ mã hóa 40 bit và 128 bit.
L2TP (Layer 2 Tunneling Protocol): Là sản phẩm của sự hợp tác giữa các thành viên
PPTP Forum, Cisco và IETF. L2TP kết hợp các tính năng của cả PPTP và L2F.
mật mã công cộng vào trong một chuỗi đơn các số liệu có chiều dài cố định. Bản tin hay
khoá và hash di chuyển trên mạng từ nguồn tới đích. Ở nơi nhận, việc tính toán lại hash
được sử dụng để kiểm tra rằng bản tin và khoá không bị thay đổi trong khi truyền trên
mạng.
-
Xác thực (Authentication): Là quá trình của việc nhận biết một người sử dụng hay quá
trình truy cập hệ thống máy tính hoặc kết nối mạng. Xác thực đảm bảo chắc chắn rằng cá
nhân hay một tiến trình là hợp lệ.
-
Cho phép (Authorization): Là hoạt động kiểm tra thực thể nào đó có được phép thực
hiện những quyền hạn cụ thể nào.
-
Quản lý khoá (Key management): Một khoá thông tin, thường là một dãy ngẫu nhiên
hoặc trông giống như các số nhị phân ngẫu nhiên, được sử dụng ban đầu để thiết lập và
thay đổi một cách định kỳ sự hoạt động trong một hệ thống mật mã. Quản lý khoá là sự
giám sát và điều khiển tiến trình nhờ các khoá được tạo ra. Các công việc chính có thể là
cất giữ, bảo vệ, biến đổi, tải lên, sử dụng hay loại bỏ.
-
Dịch vụ chứng thực CA (Certificate of Authority): Một dịch vụ được tin tưởng để bảo
mật quá trình truyền tin giữa các thực thể mạng hoặc người dùng bằng cách tạo ra và gán
các chứng nhận số như các chứng nhận khoá công cộng cho mục đích mã hoá. Một CA
đảm bảo cho sự liên kết giữa các thành phần bảo mật trong chứng nhận.
server). Vì vậy, giải pháp này thường được gọi là client/server. Trong giải pháp này, người
dùng thường sử dụng các công nghệ WAN truyền thống để tạo ra các tunnel về mạng trung
tâm của họ.
1.4.1.1. Một số thành phần chính của Remote Access VPN
Remote Access Server (RAS): Thiết bị này được đặt tại trung tâm và có nhiệm vụ xác
thực và chứng nhận các yêu cầu gửi tới sau đó thiết lập kết nối.
Hình 1.3 – Mô hình non-VPN Remote Access
Remote Access Client: Bằng việc triển khai Remote Access VPN qua Internet, những
người dùng từ xa hoặc các văn phòng chi nhánh chỉ cần thiết lập một kết nối cục bộ
đến nhà cung cấp dịch vụ Internet, sau đó có thể kết nối đến tài nguyên của doanh
6
nghiệp thông qua Remote Access VPN. Mô hình Remote Access VPN được mô tả như
hình dưới đây:
Hình 1.4 – Mô hình Remote Access VPN
1.4.1.2. Ưu và nhược điểm của Remote Access VPN
Ưu điểm Remote Access VPN:
- VPN truy nhập từ xa không cần đến sự hỗ trợ của quản trị mạng bởi các kết
nối từ xa do các nhà cung cấp dịch vụ Internet đảm nhiệm.
- Giảm giá thành chi phí kết nối với khoảng cách xa vì các kết nối của VPN
truy nhập từ xa chính là các kết nối Internet.
- VPN cung cấp khả năng truy cập đến trung tâm tốt hơn bởi vì nó hỗ trợ
dịch vụ truy cập ở mức độ tối thiểu.
Nhược điểm của Remote Access VPN:
- Remote Access VPN cũng không đảm bảo được chất lượng dịch vụ (QoS).
sở hạ tầng chung sử dụng các kết nối luôn được mã hóa bảo mật. Điều này cho phép tất cả
các điểm có thể truy nhập an toàn các nguồn dữ liệu được phép trong toàn công ty.
Intranet VPN cung cấp những đặc tính của mạng WAN như khả năng mở rộng, tính tin
cậy và hỗ trợ nhiều kiểu giao thức khác nhau với chi phí thấp nhưng vẫn đảm bảo tính mềm
dẻo.
8
Những ưu điểm chính của giải pháp này bao gồm:
- Các mạng cục bộ hoặc diện rộng có thể được thiết lập thông qua một hay nhiều nhà
cung cấp dịch vụ Internet.
- Giảm được nhân lực hỗ trợ kỹ thuật mạng đối với các chi nhánh ở xa.
- Do kết nối trung gian được thực hiện thông qua Internet nên nó có thể dễ dàng thiết
lập thêm một liên kết ngang hàng mới.
- Tiết kiệm chi phí từ việc sử dụng đường hầm VPN thông qua Internet kết hợp với
các công nghệ chuyển mạch tốc độ cao.
Tuy nhiên, giải pháp Intranet VPN cũng có những nhược điểm nhất định như:
- Do dữ liệu được truyền qua mạng công cộng (mặc dù đã được mã hóa) nên vẫn còn
những mối đe dọa về mức độ bảo mật dữ liệu và chất lượng dịch vụ (QoS).
- Khả năng các gói dữ liệu bị thất thoát trong khi truyền là khá cao.
- Trong trường hợp cần truyền khối lượng lớn dữ liệu như đa phương tiện với yêu cầu
tốc độ cao và đảm bảo thời gian thực là một thách thức lớn trong môi trường
Internet.
1.4.2.2. Extranet VPN (VPN mở rộng)
Giải pháp VPN mở rộng cung cấp khả năng điều khiển truy nhập tới những nguồn tài
nguyên mạng cần thiết để mở rộng tới những đối tượng kinh doanh. Sự khác nhau giữa VPN
nội bộ và 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.7 – Mô hình Extranet VPN
dụng trong VPN đồng thời so sánh ưu và nhược nhược điểm của từng giao thức, qua đó có
thể căn cứ vào từng yêu cầu cụ thể để lựa chọn giải pháp xây dựng một mạng VPN thích hợp.
10
Chương 2
CÁC GIAO THỨC TRONG VPN
Trong VPN có 4 giao thức chính để thiết lập một “mạng riêng ảo” hoàn chỉnh đó là:
L2F - Layer 2 Forwarding Protocol
PPTP - Point-to-Point Tunneling Protocol
L2TP - Layer 2 Tunneling Protocol
IPSec - IP Security
Ngoài ra còn một số giao thức khác, tuy nhiên những giao thức này ít được sử dụng
bởi sự bất cập của nó đã được phát hiện trong quá trình triển khai. Tuỳ theo từng lớp ứng
dụng cụ thể mà mỗi giao thức đều có ưu và nhược điểm khác nhau khi triển khai vào mạng
VPN, việc quan trọng là người thiết kế phải kết hợp các giao thức một cách mềm dẻo.
2.1. Các giao thức đường hầm
Các giao thức đường hầm là nền tảng của công nghệ VPN, có nhiều giao thức đường
hầm khác nhau, việc sử dụng giao thức nào liên quan đến các phương pháp xác thực và mã
hóa đi kèm. Như đã giới thiệu ở trên, các giao thức đường hầm phổ biến hiện nay là:
L2F - Layer 2 Forwarding Protocol
PPTP - Point-to-Point Tunneling Protocol
1bit
K
1bit
P
1bit
S
8bit
Reserved
Multiplex IP
Length
1bit
C
3 bit
Version
8 bit
Protocol
8bit
Sequence
Client ID
Offset
Key
Data
: giúp tách đường hầm tại những điểm cuối
: chiều dài của gói (tính bằng byte) không bao gồm phần Checksum
: xác định số byte cách tiêu đề L2F, tại đó dữ liệu tải tin được bắt đầu.
: là một phần của quá trình xác thực (có mặt khi bit K = 1)
: tổng kiểm tra của gói (có mặt khi bit C = 1)
12
Hoạt động của L2F
L2F đóng gói những gói tin lớp 2 (trong trường hợp này là PPP), sau đó truyền chúng
xuyên qua mạng. Hệ thống sử dụng L2F gồm các thành phần sau:
Hình 2.3 – Mô hình hệ thống sử dụng L2F
-
Máy chủ truy nhập mạng (NAS – Network Access Server): hướng lưu lượng đến và đi
giữa máy khách ở xa (Remote client) và Home Gateway.
Đường hầm (Tunnel): định hướng đường đi giữa NAS và Home Gateway. Một đường
hầm có thể bao gồm một số kết nối.
Home Gateway: ngang hàng với NAS, là phần tử cửa ngõ thuộc mạng riêng.
Kết nối (Connection): là một kết nối PPP trong đường hầm.
Điểm đích (Destination): là điểm kết thúc ở đầu xa của đường hầm, trong trường hợp
này thì Home Gateway chính là điểm đích.
Các hoạt động của L2F bao gồm: thiết lập kết nối, định đường hầm và phiên làm việc.
Các bước cụ thể như sau:
-
Người sử dụng ở xa dial-up tới hệ thống NAS và khởi đầu một kết nối PPP tới ISP.
- Có khả năng kiểm tra tổng UDP.
- Thiết lập thời gian rỗi cho hệ thống và lưu trữ cơ sở dữ liệu của các đường hầm và kết
nối.
Ưu và nhược điểm của L2F
Ưu điểm:
- Cho phép thiết lập đường hầm đa giao thức
- Được hỗ trợ bởi nhiều nhà cung cấp
Nhược điểm:
- Không có mã hóa
- Hạn chế trong việc xác thực người dùng
- Không có điều khiển luồng cho đường hầm
2.1.2. Giao thức PPTP (Point-to-Point Tunneling Protocol)
PPTP là kết quả của sự nỗ lực chung giữa Microsoft và một loạt các nhà cung cấp thiết
bị mạng như 3Com, Ascend Communications, ECI Telematics và U.S Robotics. Ban đầu,
những công ty này thành lập PPTP Forum và đưa ra các thông số kỹ thuật mô tả PPTP và sau
đó được gửi đến IETF để được xem xét như là một tiêu chuẩn Internet vào năm 1996. Ý
tưởng cơ sở của giao thức này là tách các chức năng chung và riêng của truy nhập từ xa, lợi
dung cơ sở hạ tầng Internet sẵn có để tạo kết nối bảo mật giữa người dùng ở xa và mạng riêng
mà họ được phép truy nhập. Người dùng ở xa chỉ việc kết nối tới nhà cung cấp dịch vụ
Internet ở địa phương là có thể tạo đường hầm bảo mật tới mạng riêng của họ.
Tương tự giao thức L2F, giao thức PPTP (Point-to-Point Tunneling Protocol) ban đầu
được phát triển và được thiết kế để giải quyết vấn đề tạo và duy trì các đường hầm VPN trên
các mạng công cộng dựa vào TCP/IP bằng cách sử dụng PPP. PPTP sử dụng giao thức đóng
gói định tuyến chung (GRE) được mô tả lại để đóng và tách gói PPP. Giao thức này cho phép
PPTP xử lý các giao thức khác không phải IP như IPX, NetBEUI một cách mềm dẻo.
14
Hình 2.4 – Mô hình kết nối PPTP
không có bảo mật. CHAP là một giao thức xác thực mạnh hơn sử dụng phương thức bắt tay
15
ba bước. CHAP chống lại các vụ tấn công quay lại bằng cách sử dụng các giá trị thách đố
(Challenge Value) duy nhất và không thể đoán trước được.
PPTP cũng thừa hưởng vật mật mã và/hoặc nén phần tải tin từ PPP. Để mật mã phần
tải tin, PPP có thể sử dụng phương thức mã hóa điểm – tới – điểm MPPE (Microsoft Point to
Point Encryption). 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 hầm PPTP đã được thiết lập.
Sau khi PPP thiết lập kết nối, PPTP sử dụng các qui luật đóng gói của PPP để đóng các
gói truyền trong đường hầm. Để tận dụng ưu điểm của kết nối tạo ra bởi PPP, PPTP định
nghĩa hai loại gói là gói điều khiển và gói dữ liệu, sau đó gán chúng vào hai kênh riêng là
kênh điều khiển và kênh dữ liệu. PPTP phân tách các kênh điều khiển và kênh dữ liệu thành
luồng điều khiển với giao thức TCP và luồng dữ liệu với giao thức IP. Kết nối TCP tạo giữa
máy trạm PPTP và máy chủ PPTP được sử dụng để truyền tải thông báo điều khiển.
Các gói dữ liệu là dữ liệu thông thường của người dùng, các gói điều khiển được gửi
theo chu kỳ để lấy thông tin về trạng thái kết nối và quản lý báo hiệu giữa ứng dụng khách
PPTP và máy chủ PPTP. Các gói điều khiển cũng được dùng để gửi các thông tin quản lý
thiết bị, thông tin cấu hình giữa hai đầu đường hầm.
2.1.2.2. Duy trì đường hầ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ổng TCP
được cấp phát ngẫu nhiên) và địa chỉ IP của máy chủ PPTP (sử dụng cổng mặc định là 1723).
Kết nối điều khiển PPTP mang các bản tin điều khiển và quản lý được sử dụng để duy trì
đường hầm PPTP. Các bản tin này bao gồm PPTP echo-request và PPTP echo-reply định kỳ
để phát hiện các lỗi kết nối giữa máy trạm và máy chủ PPTP. Các gói của kết nối điều khiển
PPTP bao gồm tiêu đề IP, tiêu đề TCP, bản tin điều khiển PPTP và tiêu đề, phần đuôi của lớp
liên kết dữ liệu.
Tiêu đề
GRE
Tiêu đề
PPP
Tải PPP được mã hóa
(IP, IPX, NetBEUI)
Phần đuôi liên
kết dữ liệu
Hình 2.6 – Gói dữ liệu đường hầm PPTP
Phần tải của khung PPP ban đầu được mã hóa và đóng gói với 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 giao thức GRE
sửa đổi.
GRE là giao thức đóng gói chung, cung cấp cơ chế đóng gói dữ liệu để định tuyến qua
mạng IP. Đối với phần PPTP, phần tiêu đề của GRE được sửa đổi một số điểm như sau:
-
Một trường xác nhận 32bit được thêm vào.
Một bit xác nhận được sử dụng để chỉ định sự có mặt của trường xác nhận 32bit.
Trường Key được thay thế bằng trường độ dài Payload 16bit và trường chỉ số cuộc
gọi 16bit. Trường chỉ số cuộc gọi được thiết lập bởi máy trạm PPTP trong quá trình
khởi tạo đường hầm PPTP.
Đóng gói IP
Phần tải PPP (đã được mật mã) và các tiêu đề GRE 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 máy trạm và máy chủ PPTP.
lượng lớn dữ liệu truyền qua, mà điều này là một yêu cầu của kết nối LAN-LAN.
2.1.3. Giao thức định đường hầm lớp 2 (L2TP - Layer 2 Tunneling Protocol)
Để tránh việc hai giao thức định đường hầ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 2 giao thức L2F và PPTP và phát triển thành L2TP.
L2TP được xây dựng trên cơ sở tận dụng các ưu điểm của PPTP và L2F, đồng thời có thể sử
dụng được trong tất cả các trường hợp ứng dụng của hai giao thức này.
Một đường hầm L2TP có thể được khởi tạo từ một PC ở xa dial-up về LNS (L2TP
Network Server) hay từ LAC (L2TP Access Concentrator) về LNS. Mặc dù L2TP vẫn dùng
PPP nhưng L2TP định nghĩa cơ chế tạo đường hầm của riêng nó tùy thuộc vào phương tiện
truyền chứ không dùng GRE.
Hình 2.7 – Mô hình kết nối sử dụng L2TP
L2TP đóng gói các khung PPP để truyền qua mạng IP, X25, Frame Relay hoặc ATM,
tuy nhiên 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 định đường hầ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 hầm cũng như các dữ liệu duy trì đường
hầm. Phần tải của khung PPP đã đóng gói có thể được mã hóa và nén. Mã hóa trong các kết
nối L2TP thường được thực hiện bởi IPSec ESP (chứ không phải là MPPE như đối với
18
PPTP). Ta cũng có thể tạo kết nối L2TP không sử dụ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ã hóa. Các kết
nối L2TP không mã hóa có thể được sử dụng tạm thời để sửa các lỗi kết nối L2TP dùng
IPSec.
L2TP giả định tồn tại mạng IP giữa máy trạm (VPN client dùng giao thức đường hầm
L2TP và IPSec) và máy chủ L2TP. Máy trạm L2TP có thể được kết nối trực tiếp với mạng IP
để truy nhập tới máy chủ L2TP hoặc gián tiếp thông qua việc dial-up tới NAS (máy chủ truy
L2TP
Phần đuôi
IPSec ESP
Phần đuôi
xác thực
IPSec ESP
Phần đuôi
liên kết
dữ liệu
Mã hóa bởi IPSec
Hình 2.8 – Bản tin điều khiển L2TP
Vì không sử dụng kết nối TCP nên 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ì 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 hầm.
L2TP hỗ trợ nhiều cuộc gọi trên mỗi đường hầm. Trong bản tin điều khiển L2TP và
phần tiêu đề L2TP của dữ liệu đường hầm có một mã số đường hầm (Tunnel ID) để xác định
19
đường hầm và một mã nhận dạng cuộc gọi (Call ID) để xác định cuộc gọi trong đường hầm
đó.
Tiêu đề
L2TP
Tiêu đề
PPP
Tải PPP
(IP, IPX,
NetBEUI)
Phần đuôi
IPSec ESP
Phần đuôi
nhận thực
IPSec ESP
Phần đuôi
liên kết dữ
liệu
Được mã hóa
Được xác thực
Hình 2.9 – Đóng gói dữ liệu đường hầm L2TP
2.1.3.3. Xử lý dữ liệu tại đầu cuối đường hầm L2TP trên nền IPSec
Khi nhận được dữ liệu đường hầm L2TP trên nên IPSec, máy trạm và máy chủ L2TP
sẽ thực hiện các bước sau:
Nếu như các thiết bị của ISP đã hỗ trợ L2TP thì không cần bổ sung phần cứng hay
phần mềm nào cho các máy trạm, chỉ cần kết nối chuẩn PPP là đủ. Tuy nhiên với các thiết lập
như vậy thì không sử dụng được mã hóa của IPSec. Do vậy, ta nên sử dụng các phần mềm
client tương thích L2TP cho kết nối L2TP VPN. Một số đặc điểm của phần mềm client L2TP
là:
- Tương thích với các thành phần khác của IPSec như máy chủ mã hóa, giao thức
chuyển khóa, giải thuật mã hóa...
- Đưa ra một thông báo rõ ràng khi IPSec đang hoạt động.
- Hàm băm (hashing) xử lý được các địa chỉ IP động.
- Có cơ chế bảo mật khóa (mã hóa khóa với mật khẩu).
- Có cơ chế chuyển đổi mã hóa một cách tự động và định kỳ.
- Chặn hoàn toàn các lưu lượng không IPSec.
Bộ tập trung truy nhập mạng
ISP cung cấp dịch vụ L2TP cần phải cài một NAS cho phép L2TP để hỗ trợ các máy
trạm L2TP chạy trên nền cách hệ điều hành khác nhau như Unix, Windows, Macintosh... Các
ISP cũng có thể cung cấp dịch vụ L2TP mà không cần phải thêm các thiết bị hỗ trợ L2TP và
21
máy chủ truy nhập của họ, điều này đòi hỏi tất cả người dùng phải có phần mềm client L2TP
tại máy của mình. Khi đó, người dùng có thể sử dụng dịch vụ của nhiều ISP trong trường hợp
mô hình mạng của họ rộng lớn về mặt địa lý.
2.1.3.5. Ưu và nhược điểm của L2TP
L2TP là một giao thức quay số truy nhập VPN phát triển muộn, nó được phối hợp
những đặc tính tốt nhất của PPTP và L2F. Hầu hết các nhà cung cấp sản phẩm PPTP đều đưa
ra các sản phẩm tương thích với L2TP.
Mặc dù L2TP chủ yếu chạy trên mạng IP nhưng nó cũng có khả năng chạy trên các
mạng Frame Relay hoặc ATM, điều này làm cho nó càng thêm phổ biến. L2TP cho phép một
lượng lớn khách hàng từ xa được kết nối vào VPN cũng như các kết nối LAN-LAN có dung
lượng lớn. L2TP còn có cơ chế điều khiển luồng để làm giảm tắc nghẽn trên đường hầm.
sẽ làm việc với nhau và đáp ứng quá trình giao tiếp. Thực tế lựa chọn các thuật toán mã hoá
và xác thực lại phụ thuộc vào người quản trị bởi vì IPSec bao gồm một nhóm các phương
thức bảo mật đáp ứng mã hoá và xác thực cho mỗi gói tin IP.
2.2.2. Hiện trạng
IPSec là một phần bắt buộc của IPv6, có thể được lựa chọn khi sử dụng IPv4. Trong
khi các chuẩn đã được thiết kế cho các phiên bản IP giống nhau, phổ biến hiện nay là áp dụng
và triển khai trên nền tảng IPv4. IPSec được định nghĩa từ RFC 1825 đến 1829 và được phổ
biến vào năm 1995. Năm 1998, được nâng cấp với các phiên bản RFC 2401-2412, nó không
tương thích với chuẩn 1825-1829. Trong tháng 12 năm 2005, thế hệ thứ ba của IPSec được
mô tả trong RFC 4301-4309.
2.2.3. Chế độ làm việc của IPSec
IPSec cung cấp hai chế độ xác thực và mã hóa mức cao để thực hiện đóng gói thông
tin, đó là chế độ “truyền tải” và chế độ “đường hầm”. Sau đây chúng ta sẽ xét đến hai chế độ
này trước khi tìm hiểu về các giao thức AH và ESP.
2.2.3.1. Chế độ truyền tải (Transport Mode)
Trong chế độ này, vấn đề an ninh được cung cấp bởi các giao thức lớp cao trong mô
hình OSI (từ lớp 4 trở lên). Chế độ này bảo vệ phần tải tin của gói nhưng vẫn để phần tiêu đề
IP ban đầu ở dạng gốc như trong nguyên bản. Địa chỉ IP ban đầu này được sử dụng để định
tuyến gọi qua Internet.
AH – chế độ truyền tải
Tiêu đề
gốc
Tiêu đề
AH
Tải tin
Được mã hóa
mới
AH – chế độ đường hầm
Tiêu đề
AH
Tiêu đề
gốc
Tải tin
Được xác thực
ESP – chế độ đường hầm
Tiêu đề
mới
Tiêu đề
ESP
Tiêu đề
gốc
Tải tin
Được mã hóa
Được xác thực
Hình 2.11 – Xử lý gói tin IP ở chế độ đường hầm
Sequence Number: Thường được dùng để cung cấp dịch vụ anti-replay. Khi SA được thiết
lập, chỉ số này được khởi đầu về 0. Trước khi mỗi gói tin được gửi, chỉ số này luôn tăng
lên 1 và được đặt trong ESP header. Phần kế tiếp của gói tin là trường tải tin, nó được tạo
bởi dữ liệu tải tin được mã hoá.
-
Phần thứ ba của gói tin là ESP Trailer, nó chứa ít nhất là hai trường:
Padding (0-255 bytes): Được thêm vào cho đủ kích thước của mỗi gói tin.
Pad Length: Chiều dài của Padding
Next Header: Trong tunnel mode, Payload là gói tin IP, giá trị Next Header được
cài đặt là 4 cho IP-in-IP. Trong Transport mode, Payload luôn là giao thức lớp 4.
Nếu giao thức lớp 4 là TCP thì trường giao thức trong IP là 6, giao thức lớp 4 là
UDP thì trường giao thức IP là 17. Mỗi ESP Trailer chứa một giá trị Next Header.
-
Authentication Data: Trường này chứa giá trị kiểm tra tính toàn vẹn ICV (Integrity Check
Value) cho gói tin ESP.
Hình 2.13 – Một ví dụ mẫu của ESP Header
25