Tải bản đầy đủ (.docx) (76 trang)

triển khai VPN nguồn mở Openswan

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 (1.76 MB, 76 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI THỰC TẬP CƠ SỞ

PHÂN TÍCH VÀ TRIỂN KHAI HỆ
THỐNG VPN DỰA TRÊN
OPENSWAN

Cán bộ hướng dẫn: TS. Phạm Văn Hưởng
Sinh viên thực hiện:
-

Phạm Thế Hùng
Nguyễn Trung Nam
Nguyễn Văn Nguyên

Lớp: L02

HÀ NỘI 2016


HỌC VIỆN KỸ THUẬT MẬT MÃ
KHOA CÔNG NGHỆ THÔNG TIN

ĐỀ TÀI THỰC TẬP CƠ SỞ

PHÂN TÍCH VÀ TRIỂN KHAI HỆ
THỐNG VPN DỰA TRÊN
OPENSWAN
Nhận xét của cán bộ hướng dẫn:.........................................................................................


.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................
.............................................................................................................................................

Điểm chuyên cần:..................................................................................................................
Điểm báo cáo:.......................................................................................................................

Xác nhận của cán bộ hướng dẫn


LỜI CẢM ƠN
Trước tiên, em xin gửi lời cám ơn chân thành tới tất cả các thầy, các cô trường Học
Viện Kỹ Thuật Mật Mã đã nhiệt tình giảng dạy và truyền đạt những kiến thức nền
tảng quý báu để em có thể hoàn thành đồ án.
Đặc biệt em xin chân thành cảm ơn thầy giáo TS. Phạm Văn Hưởng đã tận tình
hướng dẫn, chỉ dạy em trong suốt quá trình thực hiện đồ án.
Mặc dù có nhiều cố gắng trong quá trình học tập cũng như trong thời gian thực hiện
đồ án, nhưng với lượng kiến thức hạn hẹp nên đồ án của em không thể tránh khỏi
thiếu sót. Em rất mong nhận được sự góp ý quý báu của tất cả các thầy, các cô cũng
như tất cả các bạn để đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!


MỤC LỤC


LỜI NÓI ĐẦU
Từ khi có mạng Internet, nhu cầu truyền và trao đổi thông tin từ nơi này đến nơi
khác của con người được đáp ứng. Mạng Internet đã giúp con người liên lạc với

nhau thuận lợi hơn, họ có thể chia sẻ thông tin với nhau và sử dụng mạng Internet
để phục vụ nhiều nhu cầu khác như quảng cáo, truyền dữ liệu... Do mạng Internet là
một mạng công cộng, mọi thông tin truyền đi đều có thể có nguy cơ bị rò rỉ hoặc
mất mát. Con người đã nghĩ đến việc tạo ra những kênh liên lạc riêng để trao đổi
thông tin với nhau mà không bị mất mát hoặc rò rỉ. Để làm điều đó thì đã có rất
nhiều nghiên cứu được thực hiện và đạt được những thành công nhất định. Trên hệ
điều hành Windows của Microsoft thì đã có Vitrual Private Network (VPN) đảm
nhiệm việc tạo ra những kênh liên lạc riêng sử dụng mạng Internet làm môi trường
truyền - gọi là các đường hầm (Tunnel). Nhưng đối với hệ điều hành Linux thì việc
tạo ra các kênh liên lạc riêng biệt là một vấn đề khó và mất nhiều thời gian nghiên
cứu. Chính vì thế, OpenSwan ra đời đã giúp giải quyết vấn đề VPN trên hệ điều
hành Linux, OpenSwan đã giúp tạo ra những kênh truyền riêng biệt nhằm bảo vệ dữ
liệu riêng tư của người dùng khi được truyền tải trên mạng công cộng và OpenSwan
đã áp dụng tốt công nghệ IPSec trên hệ điều hành Linux. Nội dung đề tài được triển
khai thành bốn chương như sau:
Chương 1 – Công nghệ VPN và các giao thức hỗ trợ: Trình bày tổng quan về
VPN, giao thức VPN.
Chương 2 – Công nghệ IPSec: Trình bày về công nghệ IPsec: sự trao đổi khóa, các
dịch vụ và lợi ích của IPSec mang lại.
Chương 3 – Tìm hiểu và triển khai VPN dựa trên gói OpenSwan: Giới thiệu,
phân tích bộ phần mềm OpenSwan. Triển khai mô hình VPN Remote access dựa
trên gói cài đặt bộ phần mềm OpenSwan.
Chương 4 – Thực nghiệm: Kết nối và kiểm tra kết nối. Lấy thư mục từ Client tới
Server.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan


CÔNG NGHỆ VPN VÀ CÁC GIAO THỨC HỖ TRỢ


Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

6


Tổng quan về VPN

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

7


1.1.1. Giới thiệu về công nghệ VPN

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

8


- VPN – Virtual Private Network – hay Mạng riêng ảo là mạng sử dụng mạng công
cộng (như Internet, ATM/Frame Relay của các nhà cung cấp dịch vụ) làm cơ sở hạ
tầng để truyền thông tin nhưng vẫn đảm bảo là một mạng riêng và kiểm soát được
truy nhập. Nói cách khác, VPN được định nghĩa là liên kết của tổ chức được triển
khai trên một hạ tầng công cộng với các chính sách như là trong một mạng riêng.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

9



- VPN: Là hệ thống mạng được thiết lập kết nối giữa các mạng trên trên hệ thống mạng

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

10


User 2
User n
User 1

Internet

VPN

1.1.3. Các dạng VPN
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

11


- VPN là khái niệm chung cho việc thiết lập kênh truyền ảo, nhưng còn tùy thuộc
vào mô hình mạng và nhu cầu sử dụng mà chọn loại thiết kế cho phù hợp. Công
nghệ VPN có thể được phân thành 2 loại cơ bản: Site-to-Site VPN và Remote
Access VPN.
- VPN hoạt động nhờ vào sự kết hợp với các giao thức đóng gói: PPTP, L2TP,
IPSec, GRE, MPLS, SSL, TLS.
Site-to-Site VPN
- Là mô hình dùng để kết nối các hệ thống mạng ở các nơi khác nhau tạo thành
một hệ thống mạng thống nhất. Ở loại kết nối này thì việc chứng thực ban đầu

phụ thuộc vào thiết bị đầu cuối ở các Site, các thiết bị này hoạt động như
Gateway và đây là nơi đặt nhiều chính sách bảo mật nhằm truyền dữ liệu một
-

cách an toàn giữa các Site.

Hình 1.1: Mô hình Site-to-Site VPN

- Lan-to-Lan VPN có thể được xem như là intranet VPN hoặc extranet VPN (xem
xét về mặt chính sách quản lý). Nếu chúng ta xem xét dướI góc độ chứng thực
nó có thể được xem như là một intranet VPN, ngược lại chúng được xem như là
một extranet VPN. Tính chặt chẽ trong việc truy cập giữa các site có thể được
điều khiển bởi cả hai (intranet và extranet VPN) theo các site tương ứng của
chúng.
Remote Access VPN
- Remote Access VPNs cho phép truy cập bất cứ lúc nào bằng Remote, mobile, và
các thiết bị truyền thông của nhân viên các chi nhánh kết nối đến tài nguyên
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

12


mạng của tổ chức.
- Remote Access VPN mô tả việc các người dùng ở xa sử dụng các phần mềm
VPN để truy cập vào mạng Intranet của công ty thông qua gateway hoặc VPN
concentrator (bản chất là một server). Vì lý do này, giải pháp này thường được
gọi là client/server. Trong giải pháp này, các người dùng thường thường sử dụng
các công nghệ WAN truyền thống để tạo lại các tunnel về mạng HO của họ.
- Loại này thường áp dụng cho nhân viên làm việc lưu động hay làm việc ở nhà
muốn kết nối vào mạng công ty một cách an toàn. Cũng có thể áp dụng cho văn

phòng nhỏ ở xa kết nối vào Văn phòng trung tâm của công ty.
- Remote Access VPN còn được xem như là dạng User-to-LAN, cho phép người
dùng ở xa dùng phần mềm VPN Client kết nối với VPN Server.
- Một hướng phát triển khá mới trong remote access VPN là dùng wireless VPN,
trong đó một nhân viên có thể truy cập về mạng của họ thông qua kết nối không
dây. Trong thiết kế này, các kết nối không dây cần phải kết nối về một trạm
wireless (wireless terminal) và sau đó về mạng của công ty. Trong cả hai trường
hợp, phần mềm client trên máy PC đều cho phép khởi tạo các kết nối bảo mật,
còn được gọi là tunnel.
- Một phần quan trọng của thiết kế này là việc thiết kế quá trình xác thực ban đầu
nhằm để đảm bảo là yêu cầu được xuất phát từ một nguồn tin cậy. Thường thì
giai đoạn ban đầu này dựa trên cùng một chính sách về bảo mật của công ty.
Chính sách này bao gồm: qui trình (procedure), kỹ thuật, server (such as Remote
Authentication Dial-InUser Service [RADIUS], Terminal Access Controller
Access Control System Plus [TACACS+]…).

Hình 1.2: Mô hình Remote Access VPN

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

13


CÁC GIAO THỨC VPN
1.1.4. 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.
Tiêu chuẩn L2TP được hoàn tất vào cuối năm 1998.
- Kết hợp các tính năng của cả PPTP và L2F, L2TP cũng hỗ trợ đầy đủ IPSec.
L2TP có thể được sử dụng làm giao thức Tunneling cho mạng VPN điểm-nốiđiểm và VPN truy cập từ xa.
- Trên thực tế, L2TP có thể tạo ra một tunnel giữa máy khách và router, NAS và

router, router và router. So với PPTP thì L2TP có nhiều đặc tính mạnh và an
toàn hơn.
1.1.5. GRE (Generic Routing Encapsulation)
- Đây là đa giao thức truyền thông đóng gói IP, CLNP và tất cả các gói dữ liệu
bên trong đường ống IP (IP Tunnel).
- Với GRE Tunnel, Cisco router sẽ đóng gói cho mỗi vị trí một giao thức đặc
trưng chỉ định trong gói IP header, tạo một đường kết nối ảo (virtual point-topoint) tới Cisco router cần đến. Và khi gói dữ liệu đến đích IP header sẽ được
mở ra.
- Bằng việc kết nối nhiều mạng con với giao thức khác nhau trong môi trường có
một giao thức chính. GRE Tunneling cho phép các giao thức khác có thể thuận
lợi trong việc định tuyến cho gói IP
1.1.6. PPTP (Point-to-Point Tunneling Protocol)
- PPTP được viết tắt từ Point-to-Point Tunneling Protocol. Là sự mở rộng của
giao thức Internet chuẩn Point-to-Point (PPP) và sử dụng cùng kiểu xác thực
như PPP (PAP, SPAP, CHAP, MS-CHAP, EAP).
- Là phương pháp VPN được hỗ trợ rộng rãi nhất giữa các máy trạm chạy
Windows. PPTP thiết lập đường hầm (tunnel) nhưng không mã hóa. Ưu điểm
khi sử dụng PPTP là nó không yêu cầu hạ tầng mã khóa công cộng (Public Key
Infrastructure).

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

14


Hình 1.3: Giao thức PPTP
1.1.7. IPSec-VPN
- IPsec được tích hợp trong rất nhiều giải pháp VPN “tiêu chuẩn”, đặc biệt trong
các giải pháp VPN gateway-to-gateway (site-to-site) để nối 2 mạng LAN với
nhau.

- IPSec trong chế độ đường hầm bảo mật các gói tin trao đổi giữa hai gateway
hoặc giữa máy tính trạm và gateway.
- IPsec chỉ hoạt động với các mạng và ứng dụng dựa trên nền tảng IP (IP-based
network). Giống như PPTP và L2TP, IPsec yêu cầu các máy tính trạm VPN
phải được cài đặt sẵn phần mềm VPN client.

Hình 1.4: IPSec ở lớp mạng
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

15


- IPSec hoạt động ở lớp Network, nó không phụ thuộc vào lớp Data-Link như các
giao thức dùng trong VPN khác như L2TP, PPTP.
- IPSec hỗ trợ nhiều thuật toán dùng để để đả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. Những kỹ thuật mà IPSec dùng cung cấp 4 tính năng phổ biến sau:
o Tính bảo mật dữ liệu – Data confidentiality
o Tính toàn vẹn dữ liệu – Data Integrity
o Tính chứng thực nguồn dữ liệu – Data origin authentication
o Tính tránh trùng lặp gói tin – Anti-replay
- Việc xác thực được thực hiện thông qua giao thức Internet Key Exchange
(IKE) hoặc với chứng chỉ số (digital certificates) đây là phương thức bảo mật
hơn hoặc thông qua khóa mã chia sẻ (preshared key).
- IPSec VPN có thể bảo vệ chống lại hầu hết các phương pháp tấn công thông
dụng bao gồm Denial of Service (DoS), replay, và “man-in-the-middle”.
SSL-VPN
- SSL VPN còn được gọi là giải pháp “clientless”. Điều này cũng có nghĩa là các
giao thức có thể được xử lý bởi SSL VPN sẽ bị hạn chế nhiều hơn.
- Với SSL VPN, thay vì cho phép VPN client truy xuất vào toàn bộ mạng hoặc

một mạng con (subnet) như với IPsec, có thể hạn chế chỉ cho phép truy xuất tới
một số ứng dụng cụ thể.
- Nếu một ứng dụng mà bạn muốn họ truy cập không phải là là loại ứng dụng
dựa trên trình duyệt (browser-based), thì cần phải tạo ra một plug-ins Java hoặc
Active-X để làm cho ứng dụng đó có thể truy xuất được qua trình duyệt.
- SSL VPN hoạt động ở session layer, điều này cho nó khả năng điều khiển truy
cập theo khối tốt hơn.
- SSL VPN sử dụng chứng chỉ số (digital certificates) để xác thực server.
- SSL VPN không cần phần mềm VPN client trên máy khách (ngoại trừ trình
duyệt Web), SSL VPN gateways vẫn có thể cung cấp các tiện ích “quản lý máy
khách ” bằng cách buộc trình duyệt phải chạy các applets.
1.1.8. OpenVPN sử dụng SSL/TLS
- SSL và TLS là các giao thức cho luồng dữ liệu an toàn tại tầng 4 của mô hình
OSI.. SSL 3.0 và TLS 1.0 là các bản thừa kế được dùng phổ biến với HTTP
nhằm cho phép bảo vệ các đường dẫn Web an toàn, gọi là HTTPS. Tuy nhiên
SSL/TLS cũng được dùng để tạo ra một đường dẫn ảo tunnel VPN. Ví dụ:
OpenVPN là một gói VPN nguồn mở cho Linux, xBSD, Mac OS X, Pocket
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

16


PCs và Windows 2000, XP, 2003, và Vista. Nó dùng SSL để cung cấp mã hoá
cho cả dữ liệu và kênh điều khiển. Một vài hãng đã cung cấp SSL VPN server
và client.
- OpenVPN là phần mềm mã nguồn mở tạo các kết nối và thực hiện bảo mật
mạng ở tầng 2 và 3.
- Sử dụng SSL/TLS để tạo ra kênh truyền bảo mật (đã được sử dụng rộng rãi trên
thế giới và các hãng đang bắt đầu hỗ trợ VPN qua giao thức này như Microsoft,
Cisco..)

- Sử dụng thư viện SSL API để thực hiện mã hóa, do đó ta có thể linh động thay
đổi bằng những thuật toán khác.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

17


CÔNG NGHỆ IPSEC
IPSec (Internet protocol security).
1.1.9. Tổng quan về IPSec
Năm 1994, Ủy ban kiến trúc Internet (Internet Architecture Boad - IAB) giới thiệu
một bản báo cáo với tên gọi “An toàn trong kiến trúc Internet” (RFC 1636). Thông
báo được bắt đầu với sự lưu ý rằng Internet cần có sự an toàn nhiều hơn và tốt hơn.
Cần phải đảm bảo an toàn cho các dữ liệu được truyền trên mạng và các thông tin về
các luồng traffic bằng cơ chế mã hóa và xác thực. Những mối quan tâm này đã được
chứng minh là đúng.
Năm 1997, trong báo cáo hàng năm, “Đợi đáp ứng tình trạng khẩn cấp CERT”
(Computer Emergency Response Team) liệt kê trên 2500 vụ việc an toàn làm ảnh
hưởng đến 150,000 sites. Các kiểu tấn công nghiêm trọng nhất bao gồm giả địa chỉ IP
(IP spoofing), trong đó kẻ lạ mặt tạo ra gói với địa chỉ IP sai và khai thác ứng dụng
dựa trên IP và một vài định dạng nghe trộm và soi mói, trong đó kẻ tấn công đọc các
thông tin được truyền bao gồm thông tin logon và nội dung cơ sở dữ liệu/
Để đối phó lại những vấn đề đề trên, IAB đã gắn các đặc trưng bí mật xác thực vào
cấu trúc gói IP.
Các ứng dụng của IPSec
IPSec – Internet Protocol security: là giao thức cung cấp những kỹ thuật để bảo
vệ dữ liệu, sao cho dữ liệu được truyền đi an toàn từ nơi này sang nơi khác. IPSec
VPN là sự kết hợp để tạo ra một mạng riêng an toàn phục vụ cho việc truyền dữ liệu
bảo mật.

IPSec cung cấp khả năng truyền thông an toàn qua một mạng LAN, mạng WAN và
Internet.
Các ví dụ của việc dựng IPSec như:

An toàn giữa các chi nhánh cơ quan khi kết nối với nhau qua Internet: Một công
ty có thể xây dựng một mạng riêng ảo an toàn qua Internet hoặc qua mạng WAN
chung. Điều này cho phép việc truyền thông dựa trên Internet và giảm tiết kiệm chi
phí xây dựng và quản lý mạng.

An toàn truy cập từ xa qua Internet: Một người dùng đầu cuối mà hệ thông của
họ được trang bị các giao thức IP có thể truy nhập an toàn tới mạng công ty thông qua
các nhà cung cấp dịch vụ Internet.
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

18



Thiết lập các kết nối với các đối tác: IPSec có thể dùng để truyền thông an toàn
tới các tổ chức khác, với các dịch vụ bí mật, xác thực.

Cho phép an toàn thương mại điện tử: IPSec có khả năng hoàn thiệu các dịch vụ
an toàn trong các trang WEB và các ứng dụng thương mại điện tử.
Đặc trưng chính của IPSec là cho phép nó hỗ trợ các ứng dụng khác nhau để mã và
xác thực tất cả các traffic tại mức IP. Như vật tất cả các ứng dụng phân tán bao gồm
logon từ xa, client/server, email, transfer file, WEB,.. có thể an toàn.
Mục đích của IPSec
Được dùng để bảo mật dữ liệu cho các chuyển giao thông tin qua mạng, Admin
có thể xác lập một hoặc nhiều chuỗi các Rules, gọi là IPSEC Policy, những rules này
chứa các Filters, có trách nhiệm xác định những loại thông tin lưu chuyển nào yêu cầu

được mã hóa (Encryption), xác nhận (digital signing), hoặc cả hai. Sau đó mỗi Packet,
Được Computer gửi đi, sẽ được xem xét có hay không gặp các điều kiện của chính
sách. Nếu gặp những điều kiện này, thì các Packet có thể được mã hóa, được xác nhận
số, theo những quy định từ Policy. Quy trình này hoàn toàn vô hình với User và
Application.
Kích hoạt truyền thông tin trên Mạng.
Do IPSEC được chứa bên trong mỗi gói IP chuẩn, cho nên có thể dùng IPSEC
qua Network, mà không yêu cầu cấu hình đặc biệt trên thiết bị hoặc giữa hai
Computer.
Tuy nhiên, IPSEC không tiến hành mã hóa một vài loại giao tiếp mạng như:
Broadcast, Multicast, các packet dùng giao thức xác thực Kerberos.
Hiện trạng IPSec
IPsec là một phần bắt buộc của IPv6, nhưng đối với IPv4 có thể được lựa chọn.
Các giao thức IPsec được định nghĩa từ RFC 1825-1829 vào những năm 1995, Năm
1998 được nâng cấp lên phiên bản RFC 2401-2412, tháng 12 năm 2005 thế hệ thứ 3
được ra đời.
Lợi ích IPSec
- Khi IPsec được cài đặt trong Firewall hoặc router, nó cung cấp khả năng an toàn cao
với tất cả các traffic qua biên. Các traffic trong các mạng LAN không phải cần can
thiệp các thao tác xử lý an toàn.
- IPsec nằm dưới mức vận tải (TCP or UDP) nên vô hình với các ứng dụng. Không cần
phải thay đổi phần mềm trên hệ thống người dùng hoặc hệ thống server khi IPsec
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

19


được cài đặt. Thậm chí nếu IPsec được cài đặt trong hệ thống đầu cuối, phần mềm
mức trên bao gồm các ứng dụng không bị tác động.
- IPsec có thể vô hình với thiết bị đầu cuối. Không cần phải huấn luyện người dùng về

cơ chế an toàn, cũng như các tài liệu khóa cho người dùng hoặc hủy các tài liệu khóa
khi người dùng rời cơ quan.
- IPsec có thể cung cấp an toàn cho các người dùng đơn lẻ khi cần thiết. Nó có lợi khi
cho người làm việc xa cơ quan hoặc thiết lập một mạng con ảo an toàn trong một cơ
quan cho các ứng dụng nhạy cảm.
Các ứng dụng định tuyến
Để hỗ trợ người dùng và bảo vệ các hệ thống biên và mạng biên, IPsec
có thể đóng vai trò quan trọng trong kiến trúc định tuyến được đòi hỏi cho
liên mạng. IPsec có thể đảm bảo rằng:
- Một quảng cáo router (một router mới quảng cáo sự tồn tại của nó) đến từ một
router được ủy quyền.
- Một quảng cáo láng giềng (một router tìm kiếm thiết lập để thiết lập hoặc
quản lý một quan hệ láng giềng với một router trong vùng định tuyến khác)
đến từ một router được ủy quyền.
- Một thông báo chuyển hướng đến từ router mà gói khởi tạo được gửi tởi đó.
- Việc cập nhật định tuyến không bị giả mạo.
Nếu không có các biện pháp an toàn như vậy, một đối thủ có thể phá vỡ các
truyền thông hoặc làm lệch hướng một Traffic.
1.1.10. Kiến trúc IP Security.
IPSec là một giao thức phức tạp, dựa trên nền của nhiều kỹ thuật cơ sở khác nhau
như mật mã, xác thực, trao đổi khoá…
Các tài liệu về IPSec
Tháng 8 năm 1995, IETF đề nghị 5 chuẩn về các khả năng an toàn tại mức
Internet:
1.
2.
3.
4.
5.


RFC 1825: Tổng quan về một kiến trúc an toàn
RFC 1826: Mô tả việc xác thực gói IP
RFC 1828: Mô tả cơ chế xác thực đặc trưng
RFC 1828: Mô tả việc mã gói IP
Một cơ chế mã đặc trưng

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

20


Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

21


Xét về mặt kiến trúc, IPSec được xây dựng dựa trên các thành phần cơ bản sau đây:

Hình 2.1: Tổng quan tài liệu IPSec

Các đặc trưng này là bắt buộc cho IPv6 và tùy chọn cho IPv4. Trong cả hai
trường hợp các đặc trưng an toàn được cài đặt là những header mở rộng theo sau
header IP chính. Header mở rộng cho xác thực được gọi là header xác thực
(Authentication header), header mở rộng cho mã được gọi là Khối an toàn tóm lược
(Encapsulating Security Payload - ESP).
Từ một tập tài liệu ban đầu, “Nhóm công tác giao thức an toàn IP” đã xây dựng
những thành 7 nhóm tài liệu sau:
- Kiến trúc: Trình bày những khái niệm chung, các đòi hỏi an toàn, các định
nghĩa và cơ chế xác định công nghệ IPsec.
- Khối an toàn tóm lược (ESP): Trình bày dạng gói và các vấn đề liên quan có

quan hệ đến việc dùng ESP cho mã và xác thực gói.
- Header xác thực (AH): Trình bày dạng gói và các vấn đề liên quan có quan hệ
tới việc dùng AH cho xác thực gói.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

22


- Thuật toán mã: Một tập hợp các tài liệu mô tả các thuật toán mã được dùng
cho ESP
- Thuật toán xác thực: Một tập hợp các tài liệu mô tả các thuật toán xác thực
được dùng cho AH và cho xác thực với ESP.
- Quản lý khóa: Các tài liệu mô tả sơ đồ quản lý khóa.
- Vùng miễn dịch (DOI): Chứa các giá trị cần thiết giúp cho các tài liệu quan hệ
với nhau. Nó bao gồm cá định danh cho các thuật toán mã, xác thực cũng như
các tham số như thời gian sống của khóa.
Các dịch vụ IPSec.
IPSec cung cấp các dịch vụ an toàn tại mức IP bằng việc cho phép một hệ thống
lựa chọn các giao thức an toàn được đòi hỏi, xác định các thuật toán để dùng cho các
dịch vụ và các khóa mã được đòi hỏi để cung cấp dịch vụ được đòi hỏi.
Hai gia thức được dùng để cung cấp an toàn:
- Một giao thức xác thực được chọn lựa bởi header của giao thức, gọi là
header xác thực AH (Authentication Header).
- Một giao thức kết hợp mã và xác thực được lựa chọn bởi dạng của gói cho
-

giao thức, khối an toàn tóm lược ESP (Encapsulating Security Payload).
Các dịch vụ bao gồm:
Điều khiển truy cập (Access Control)

Toàn vẹn phi kết nối (Connectioness Integrity)
Xác thực nguồn gốc dữ liệu (Data origin authenticaton)
Hủy các gói được dùng lại (Rejection of replayed packets)
Bảo mật (Confidentiality)
Bảo mật luồng traffic (Limited traffic flow Confidentiality)
Với ESP có hai trường hợp: có xác thực hoặc không.

Cả hai AH và ESP có dịch vụ điều khiển truy cập, dựa trên sự phân phối các
khóa mật mã và quản lý luồng traffic có quan hệ tới các giao thức an toàn.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

23


Hình 2.2: So sánh AH và ESP
Các liên kết an toàn
Một khái niệm quan trọng được dùng cho cả hai cơ chế xác thực và bí mật cho
IP là liên kết an toàn (SA). Một liên kết là mối quan hệ một chiều giữa người gửi và
người nhận cho phép cung cấp các dịch vụ an toàn tới traffic dựa trên nó. Nếu muốn
thiết lập một kênh trao đổi an toàn hai chiều thì phải cần có hai liên kết an toàn.
Các dịch vụ an toàn được cấp cho một SA được dùng bởi AH hoặc ESP nhưng
không cả hai.
Một liên kết an toàn được xác định duy nhất bởi tham số:
Chỉ số tham số an toàn (Security Parameters Index - SPI): Một xâu bit được gán
với SA và chỉ có ý nghĩa cục bộ. SPI được chứa trong AH header và ESP header để
cho phép hệ thống nhận lựa chọn SA mà các gói được nó xử lý
Địa chỉ IP đích (IP Destination Address): Là địa chỉ của điểm đích cảu SA, nó có
thể là hệ thống người dùng đầu cuối hoặc một hệ thống mạng như Firewall hoặc
router.

- Định danh giao thức an toàn (Security Protocol Identifier): Chỉ ra liên kết là một liên
kết an toàn AH hay ESP.
- Từ đó trong gói IP bất kỳ, một liên kết an toàn được xác định duy nhất bởi địa chỉ
đích trong IPv4 với giá trị SPI trong header mở rộng (AH hoặc ESP).
Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

24


1.1.11. Các phương thức Transport và Tunnel.
1.1.11.1. Phương thức Transport.
Phương thức Transport cho phép bảo vệ phân đoạn tầng vận chuyển (TCP/UDP
header và dữ liệu ứng dụng) hoặc các gói ICMP. Phương thức Transport được dùng
để truyền thông end-to-end giữa hai host. Khi một host dùng AH hoặc ESP trong
phương thức transport, payload là dữ liệu đi theo sau IP header. ESP trong phương
thức transport mã và xác thực (options) IP payload (phân đoạn tầng vận chuyển hoặc
các gói ICMP) nhưng không bảo vệ IP header. AH trong phương thức Transport xác
thực IP payload và các thành phần lựa chọn trong IP header.
Phương thức Tunnel.
Phương thức Tunnel cho phép bảo vệ gói IP. Để thực hiện được điều này,
sau khi trường AH và ESP được thêm tới gói IP, toàn bộ gói IP cộng với các trường
an toàn được coi như payload của gói IP bên ngoài mới (new outer IP packet) với một
IP header bên ngoài mới (new outer IP header). Toàn bộ gói IP ban đầu được chuyển
quan một “tunnel” từ một điểm mạng IP tới điểm khác. Các router sẽ không kiểm tra
header của gói IP bên trong (inner IP header). Bởi vì gói IP nguyên bản ban đầu được
tóm lược (Encapsulated), gói IP mới có thể có các địa chỉ nguồn và đích khác hòa toàn
đồng thời được bảo vệ an toàn.
Phương pháp Tunnel được dùng khi một hoặc cả hai đầu của SA là một getway
an toàn, như Firewall hoặc router được cài đặt IPSec.
Các gói không được bảo vệ được sinh bởi các host như vậy được đi qua một

đường hầm thông qua các mạng bên ngoài bởi các SA phương thức Tunnel được cài
đặt bởi phần mềm IPSec tại biên của mạng cục bộ.
Sau đây là một ví dụ về sự làm việc của phương thức Tunnel.
Máy A trên một mạng sinh ra một gói IP với địa chỉ đích của máy B trên mạng
khác. Gói này được chuyển từ máy ban đầu tới biên của mạng A. Tất cả các gói được
lọc ra để xác định sự cần thiết cho việc xử lý IPSec. Nếu một gói từ A đến B đòi hỏi
IPSec, Firewall tiến hành xử lý IPSec và tóm lược gói vào IP header bên ngoài. Địa
chỉ nguồn của gói IP bên ngoài là địa chỉ của Firewall, địa chỉ đích có thể là địa chỉ
của Firewall tại biên cảu mạng B, các router trung gian chỉ kiểm tra header của IP bên
ngoài. Tại Firewall của máy B, IP header bên ngoài được loại bỏ, gói IP bên trong
được đi tới B.
ESP trong phương thức Tunnel mã và xác thực (options) toàn gói IP bên
trong, bao gồm cả IP header.

Phân tích, triển khai hệ thống VPN nguồn mở OpenSwan

25


×