Mục đích nghiên cứu của đồ án Tìm hiểu công nghệ chuyển mạch nhãn đa giao thức trong VPN là tìm hiểu về những vấn đề cơ bản liên quan đến thực hiện IP-VPN và MPLS – VPN; đánh giá hai công nghệ này. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Em xin chân thành cảm ơn các thầy cô trong Khoa Công nghệ thông tin ứng dụng cũng như các thầy cô giảng dạy trong trường Cao Đẳng Công Nghệ Thông Tin hữu nghị Việt Hàn đã truyền đạt những kiến thức quý báu cho em cho những năm học vừa qua
Đặc biệt em xin chân thành cảm ơn cô Trần Thị Trà Vinh đã tận tình hướng dẫn, động viên và giúp đỡ em trong suốt thời gian thực hiện đề tài
Xin chân thành cám ơn các bạn trong Khoa Công nghệ thông tin ứng dụng đã ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được chia sẻ cho em trong quá trình học tập, nghiên cứu và thực hiện đề tài
Một lần nữa xin chân thành cám ơn!
Đà nẵng, ngày 29 tháng 05 năm 2013
Phạm Hoàng Vĩ
Trang 2MỤC LỤC ii
DANH MỤC TỪ VIẾT TẮT vi
DANH MỤC HÌNH VẼ viii
MỞ ĐẦU 1
CHƯƠNG 1: BỘ GIAO THỨC TCP/IP VÀ 2
CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN 2
1.1 Khái niệm mạng Internet 2
1.2 Mô hình phân lớp bộ giao thức TCP/IP 3
1.3 Các giao thức trong mô hình TCP/IP 4
1.3.1 Giao thức Internet 4
1.3.1.1 Giới thiệu chung 4
1.3.1.2 Cấu trúc IPv4 4
1.3.1.3 Phân mảnh IP và hợp nhất dữ liệu 6
1.3.1.4 Địa chỉ và định tuyến IP 6
1.3.1.5 Cấu trúc gói tin IPv6 7
1.3.2 Giao thức lớp vận chuyển 9
1.3.2.1 Giao thức UDP 9
1.3.2.2 Giao thức TCP 9
1.4 Mạng riêng ảo trên Internet IP-VPN 11
1.4.1 Khái niệm về mạng riêng ảo trên nền tảng Internet 11
1.4.2 Khả năng ứng dụng của IP-VPN 11
1.4.3 Các khối cơ bản trong mạng IP-VPN 12
1.4.3.1 Điều khiển truy nhập 12
1.4.3.2 Nhận thực 13
1.4.3.3 An ninh 13
1.4.3.4 Truyền Tunnel nền tảng IP-VPN 14
1.4.3.5 Các thỏa thuận mức dịch vụ 15
1.5 Phân loại mạng riêng ảo theo kiến trúc 15
1.5.1 IP-VPN truy nhập từ xa 16
1.5.2 Site-to-Site IP-VPN 17
1.5.2.1 Intranet IP-VPN 18
Trang 31.5.3 Các giao thức đường ngầm trong IP-VPN 19
1.5.3.1 PPTP (Point - to - Point Tunneling Protocol) 20
1.5.3.2 L2TP (Layer Two Tunneling Protocol) 22
CHƯƠNG 2:GIAO THỨC IPSEC TRONG IP-VPN 25
2.1 Gới thiệu 25
2.1.1 Khái niệm về IPSec 25
2.2 Đóng gói thông tin của IPSec 26
2.2.1 Các kiểu sử dụng 26
2.2.1.1 Kiểu Transport 26
2.2.1.2 Kiểu Tunnel 27
2.2.2 Giao thức tiêu đề xác thực AH 27
2.2.2.1 Giới thiệu 27
2.2.2.2 Cấu trúc gói tin AH 28
2.2.2.3 Quá trình xử lý AH 29
2.2.3 Giao thức đóng gói an toàn tải tin ESP 32
2.2.3.1 Giới thiệu 32
2.2.3.2 Cấu trúc gói tin ESP 33
2.2.3.3 Quá trình xử lý ESP 34
2.2.3.4 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec 39
2.3 Kết hợp an ninh SA và giao thức trao đổi khóa IKE 41
2.3.1 Kết hợp an ninh SA 41
2.3.1.1 Mục tiêu 41
2.3.1.2 Kết hợp các SA 42
2.3.1.3 Cơ sở dữ liệu SA 43
2.3.2 Giao thức trao đổi khóa IKE 44
2.4 Những giao thức đang được ứng dụng cho xử lý IPSec 44
2.4.1 Mật mã bản tin 44
2.4.1.1 Tiêu chuẩn mật mã dữ liệu DES 45
2.4.1.2 Tiêu chuẩn mật mã hóa dữ liệu gấp ba 3DES 45
2.4.2 Toàn vẹn bản tin 45
2.4.2.1 Mã nhận thực bản tin băm HMAC 46
Trang 42.4.2.3 Thuật toán băm an toàn SHA 47
2.4.3 Nhận thực các bên 47
2.4.3.1 Khóa chia sẻ trước 47
2.4.3.2 Chữ ký số RSA 47
2.4.3.3 RSA mật mã nonces 48
2.4.4 Quản lí khóa 48
2.4.4.1 Giao thức Diffie-Hellman 48
2.4.4.2 Quyền chứng nhận CA 49
2.5 Ví dụ về hoạt động của một IP-VPN sử dụng IPSec 50
2.6 Thực hiện IP - VPN 51
2.6.1 Các mô hình thực hiện IP-VPN 51
2.6.1.1 Access VPN 52
2.6.1.2 Intranet IP-VPN và Extranet IP-VPN 53
2.6.3 Một số sản phẩm thực hiện VPN 54
2.6.4 Ví dụ về thực hiện IP-VPN 55
2.6.4.1 Kết nối Client-to-LAN 55
2.6.4.2 Kết nối LAN-to-LAN 57
2.6.5 Tình hình triển khai VPN ở Việt Nam 58
CHƯƠNG 3: CHUYỂN MẠCH NHÃN ĐA GIAO THỨC 59
TRONG VPN 59
3.1 Giới thiệu chương 59
3.2 Tổng quan Về Mpls 59
3.2.1 Các khái niệm cơ bản MPLS 59
3.2.2 Thành phần cơ bản của MPLS 60
3.2.2.1 Cấu trúc MPLS 60
3.2.2.2 Cấu trúc nhãn 61
3.2.2.3 Quá trình gán nhãn cho gói tin 62
3.3 Ứng dụng công nghệ MPLS - VPN 64
3.3.1 Giới thiệu 64
3.3.2 Mô hình mạng MPLS VPN 64
3.3 3 Thành phần trong cấu trúc MPLS VPN 65
Trang 53.4 Vấn đề bảo mật MPLS – VPN 66
3.4.1 Tách biệt các VPN 66
3.4.1.1 Tách biệt không gian địa chỉ 67
3.4.1.2 Tách biệt về lưu lượng 67
3.4.2 Chống lại các sự tấn công 68
3.4.2.1 Nơi một mạng lõi MPLS có thể bị tấn công 68
3.4.2.2 Mạng lõi MPLS được bảo vệ 69
3.4.3 Dấu cấu trúc mạng lõi 69
3.5 Đánh giá giữa IP – VPN và MPLS – VPN 70
3.5.1 IPSec VPN 70
3.5.2 MPLS VPN 72
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO x
NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN xi
Trang 6Viết tắt Chú giải tiếng Anh Chú giải tiếng Việt
AAA Authentication, Authorization
and Accounting
Nhận thực, trao quyền và thanh toá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ộ
DCE Data communication Equipment Thiết bị truyền thông dữ liệu
DES Data Encryption Standard Thuật toán mã DES
DSL Digital Subscriber Line Công nghệ đường dây thuê bao số ESP Encapsulating Sercurity Payload Giao thức đóng gói an toàn tải tin FTP File Transfer Protocol Giao thức truyền file
GRE Generic Routing Encapsulation Đóng gói định tuyến chung
IBM International Bussiness Machine Công ty IBM
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
IPSec IP Security Protocol Giao thức an ninh Internet
Trang 7Organization ISP Internet Service Provider Nhà cung cấp dịch vụ Internet
L2TP Layer 2 Tunneling Protocol Giao thức đường ngầm lớp 2
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
OSPF Open Shortest Path First Giao thức định tuyến OSPF
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 RFC Request for Comment Các tài liệu về tiêu chuẩn IP do IETF
đưa ra
SMTP Simple Mail Transfer Protocol Giao thức truyền thư đơn giản
SPI Security Parameter Index Chỉ số thông số an ninh
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
Trang 8Hình 1.1 Mô hình phân lớp bộ giao thức TCP/IP 3
Hình 2.3 Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport 30Hình 2.4 Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport 30Hình 2.5 Khuôn dạng gói tin đã xử lý AH ở kiểu Tunnel 31
Hình 2.7 Khuôn dạng IPv4 trước và sau khi xử lý ESP ở kiểu Transport 35Hình 2.8 Khuôn dạng IPv6 trước và sau khi xử lý ESP ở kiểu Transport 35Hình 2.9 Khuôn dạng gói tin đã xử lý ESP ở kiểu Tunnel 35Hình 2.10 Ví dụ về hoạt động của IP-VPN sử dụng IPSec 40Hình 2.11 Kết hợp SA kiểu Tunnel khi 2 điểm cuối trùng nhau 42Hình 2.12 Kết hợp SA kiểu Tunnel khi một điểm cuối trùng nhau 43Hình 2.13 Kết hợp SA kiểu Tunnel khi không có điểm cuối trùng nhau 43Hình 2.14 Ví dụ về hoạt động của IP-VPN sử dụng IPSec 50Hình 2.15 Truy nhập IP-VPN từ xa khởi tạo từ phía người sử dụng 53
Trang 10MỞ ĐẦ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 Để đảm bảo 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ưng đỡ tốn kém và thuận tiện hơn, đó là giải pháp mạng riêng ảo
VPN là đị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 VPN như: X.25, ATM, Framer Relay, … 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 chị 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 VoIP 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
Mục đích của đồ án là tìm hiểu về những vấn đề cơ bản liên quan đến thực hiện IP-VPN và MPLS – VPN Đánh giá hai công nghệ này
Bố cục của đồ án gồm 3 chương:
Chương 1: Bộ giao thức TCP/IP và công nghệ mạng riêng ảo trên Internet VPN
IP-Chương 2: Giao thức IPSec cho IP-VPN
Chương 3: Chuyển mạch nhãn đa giao thức trong VPN
Mặc dù nhận được rất nhiều sự giúp đỡ của cô hướng dẫn 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 thầy cô và bạn bè cùng những người quan tâm đến lĩnh vực này
Trang 11CHƯƠNG 1: BỘ GIAO THỨC TCP/IP VÀ CÔNG NGHỆ MẠNG RIÊNG ẢO TRÊN INTERNET IP-VPN 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 Prxxotocol) 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
Trang 12- 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
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 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
Trang 13LAN) 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ới cáp (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
version Hdr length Type of service Total length (bytes)
Identification Flags Fragment offset Time - to - live Protocol Header checksum
Source IP address Destination IP address Options and padding
00 01 02 03 04 05 06 07 08 09 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 20 21 22 23 24 25 26 27 28 29 30 31
Hình 1.2: Cấu trúc gói tin IPv4
Giải thích ý nghĩa các trường:
Trang 14 Version (phiên bản): chỉ ra phiên bản của giao thức IP dùng để tạo datagram, được sử dụng để máy gửi, máy nhận, các bộ định tuyến cùng thống nhất về định dạng lược đồ dữ liệu Ở đây phiên bản là IPv4
IP header length (độ dài tiêu đề IP): cung cấp thông tin về độ dài của tiêu đề datagram được tính theo các từ 32 bit
Type of service (loại dịch vụ): trường loại phục vụ dài 8 bit gồm 2 phần, trường ưu tiên và kiểu phục vụ Trường ưu tiên gồm 3 bit dùng để gán mức ưu tiên cho datagram, cung cấp cơ chế cho phép điều khiển các gói tin qua mạng Các bit còn lại dùng để xác định kiểu lưu lượng datagram tin khi nó chuyển qua mạng như đặc tính thông, độ trễ và độ tin cậy Tuy nhiên, bản thân mạng Internet không đảm bảo chất lượng dịch vụ, vì vậy trường này chỉ mạng tính yêu cầu chứ không mang tính đòi hỏi đối với các bộ định tuyến
Total length (tổng độ dài): trường này gồm 16 bit, nó sử dụng để xác định chiều dài của toàn bộ IP datagram
Identification (nhận dạng): trường nhận dạng dài 16 bit Trường này được máy chủ dùng để phát hiện và nhóm các đoạn bị chia nhỏ ra của gói tin Các bộ định tuyến sẽ chia nhỏ các datagram nếu như dơn vị truyền tin lớn nhất của gói tin (MTU-Maximum Transmission Unit) lớn hơn MTU của môi trường truyền
Flags (cờ): chứa 3 bit được sử dụng cho quá trình điều khiển phân đoạn, bít đầu tiên chỉ thị tới các bộ định tuyến cho phép hoặc không cho phép phân đoạn gói tin,
2 bit giá trị thấp được sử dụng điều khiển phân đoạn, kết hợp với trường nhận dạng để xác định được gói tin nhận sau quá trình phân đoạn
Fragment offset: mạng thông tin về số lần chỉa một gói tin, kích thước của gói tin phụ thuộc vào mạng cơ sở truyền tin, tức là độ dài gói tin không thể vượt quá MTU của môi trường truyền
Time - to - live (thời gian sống): được dùng để ngăn việc các gói tin lặp vòng trên mạng Nó có vai trò như một bộ đếm ngược, tránh hiện tượng các gói tin đi quá lâu trong mạng Bất kì gói tin nào có thời gian sống bằng 0 thì gói tin đó sẽ bị bộ định tuyến hủy bỏ và thông báo lỗi sẽ được gửi về trạm phát gói tin
Protocol (giao thức): trường này được dùng để xác nhận giao thức tầng kế tiếp mức cao hơn đang sử dụng dịch vụ IP dưới dạng con số
Header checksum: trường kiểm tra tổng header có độ dài 16 bit, được tính
Trang 15toá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
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 quá 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
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
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
Trang 16Đị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
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.3 minh họa cấu trúc gói tin IPv6
Trang 17version Traffic Class Flow Label
Hình 1.3: 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
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
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
Trang 18 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
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á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
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
Trang 19Giả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
Đơ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
Trang 20bá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
1.4 Mạng riêng ảo trên Internet IP-VPN
1.4.1 Khái niệm về mạng riêng ảo trên nền tảng Internet
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
1.4.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 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
Trong thực tế, khái niệm mạng riêng ảo không phải là một khái niệm mới Công nghệ mạng riêng ảo đã xuất hiện vào những năm 80 của thế kỷ trước Tuy nhiên, trong điều kiện hạn chế về các mạng chuyển mạch gói (ví dụ như X.25, Frame Relay, ATM) hay chuyển mạch kênh thì VPN vẫn chưa có ứng dụng rộng rãi Trong điều kiện hiện nay, khi Internet trở nên phổ biến trên toàn cầu và các giao ngày một phát triển và
Trang 21hoàn thiện đã tạo nên một động lực lớn thúc đẩy sự phát triển của các kỹ thuật VPN Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN có thể được mô tả một cách tóm tắt như trong hình 1.5 Các nhà phân tích dự kiến sự tăng trưởng đáng kể của nền công nghiệp IP-VPN, chẳng hạn Infonetics Research tin tưởng rằng sự tăng trưởng của người sự dụng đầu cuối tăng từ 12,8 đến 46 tỷ đô la trong các năm từ 2001 đến 2006
IP-Hình 1.5: Các yếu tố thúc đẩy sự phát triển của thị trường IP-VPN
1.4.3 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ụ
1.4.3.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
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
Trang 22và 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
1.4.3.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)
1.4.3.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
Trang 23quan đế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àng VPN yêu cầu thỏa thuận và triển khai cơ chế an ninh tương ứng
1.4.3.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ó 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ệ
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
Trang 24sử 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 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
1.5 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
Trang 251.5.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ử 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áp 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 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
IP- 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
Trang 26 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
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 đ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 1.6 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
IPSec C lient
ISDN Modem
DSL
C huyển mạch DSLAM
DSLAM: DSL Access Multiplex- Ghép kênh truy nhập DSL
Trang 271.5.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 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
Internet/
IP-VPN
device1 device3 device2 1
Remote office
device1 device3 device2 1
Remote
Home office
Trang 28Internet/
IP-VPN device1 device3 device2 1
Remote office
device1 device3 device2 1
Remote
Home office
PO P
PO P
PO P
Business Partner
C ustomer
S upplier
Hình 1.8: Extranet IP-VPN
1.5.3 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
Trang 29nhà 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, 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
1.5.3.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
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, 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
Trang 30 Đó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
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
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
Trang 311.5.3.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
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
Trang 32UDP datagram lại được mật mã bởi IPSec ESP
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 đó
Đườ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
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
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
Trang 33 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ý
Trang 34CHƯƠNG 2:GIAO THỨC IPSEC TRONG IP-VPN
2.1 Gới thiệu
Trong chương 1 đã 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ó
2.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õ
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
Trang 35gồ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
2.2 Đóng gói thông tin của IPSec
2.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:
2.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
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
Trang 362.2.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
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 2.1 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
IPSec Tunnel
Host B Host 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ề
Trang 37nguồ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
2.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 Quá trình xử lý chèn AH header được diễn tả như trong hình 2.2
Original IP Header
Security Parameters Index (SPI)
Sequence Number
Authentication Data (Variable length-Integral Multiple of 32 bits)
32 bits
Hình 2.2: 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
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
Trang 38khi 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
2.2.2.3 Quá trình xử lý AH
Hoạt động của AH được thực hiện qua các bước như sau:
Bước 1: Toàn bộ gói IP (bao gồm IP header và tải tin) được thực hiện qua một hàm băm một chiều
Bước 2: Mã hash thu được dùng để xây dựng một AH header, đưa header này vào gói dữ liệu ban đầu
Bước 3: Gói dữ liệu sau khi thêm AH header được truyền tới đối tác IPSec
Bước 4: Bên thu thực hiện hàm băm với IP header và tải tin, kết quả thu được một mã hash
Bước 5: Bên thu tách mã hash trong AH header
Bước 6: Bên thu so sánh mã hash mà nó tính được mà mã hash tách ra từ AH header Hai mã hash này phải hoàn toàn giống nhau Nếu khác nhau chỉ một bit trong 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
Trang 39Ở 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 2.3: Khuôn dạng IPv4 trước và sau khi xử lý AH ở kiểu Transport
Hình 2.4: Khuôn dạng IPv6 trước và sau khi xử lý AH ở kiểu Traport
Trong kiểu Tunnel, inner IP header mang địa chỉ nguồn và đích cuối cùng, còn outer IP header mang địa chỉ để định tuyến qua Internet Trong kiểu này, AH bảo vệ toàn bộ gói tin IP bên trong, bao gồm cả inner IP header (trong khi AH Transport chỉ bả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
Sau khi thêm AH
Trước khi thêm AH
Orig IP hdr
Orig IP hdr (any options)
AH
IPv4
Sau khi thêm ẠH
Trước khi thêm ẠH
Dest
Trang 40Hình 2.5: 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ợ
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
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
IPv4
Nhận thực trừ các trường biến đổi ở New IP header
Orig IP hdr (any options)
New IP hdr (any options)
AH
IPv6
Nhận thực trừ các trường biến đổi ở New IP header