Mạng riêng ảo thực chất là việc kết nối mạng của các cơ quan, tổ chức sử dụng hạ tầng cơ sở mạng công cộng như Internet… Trong công nghệ thông tin, khoa học về mạng và truyền thông là mộ
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS NGUYỄN VĂN TAM
Hà Nội - 2006
Trang 2MỤC LỤC Lời cảm ơn
Lời cam đoan
Mục lục ……… ……… 1
Danh mục các chữ viết tắt, thuật ngữ.……… …… 4
Danh mục các hình vẽ.……… …5
Mở đầu……… ….8
Chương 1 Tổng quan về mạng riêng ảo……… 10
1.1 Khái niệm chung về mạng riêng ảo……….10
1.2 Phân loại mạng riêng ảo……….12
1.2.1 Phân loại VPN theo việc cung cấp dịch vụ……….12
1.2.2 Phân loại VPN theo kỹ thuật sử dụng trong VPN………16
1.2.3 Phân loại VPN theo nhóm chức năng……….16
1.2.4 Phân loại VPN theo nhóm công nghệ và mô hình OSI……… 18
1.2.5 Phân loại VPN theo nơi xử lý VPN………18
1.3 Các thành phần của mạng riêng ảo……….19
1.3.1 Máy chủ phục vụ truy cập mạng NAS………19
1.3.2 Bộ định tuyến……… 19
1.3.3 Máy nguồn và máy đích đường hầm……… 19
1.3.4 Máy chủ phục vụ xác thực……….…….20
1.3.5 Tường lửa - Firewall………20
1.3.6 Máy chủ chính sách……….21
1.3.7 VPN Gateway……… 21
1.4 Đường hầm trong VPN……… 21
1.4.1 Khái niệm đường hầm……….……21
1.4.2 Các giao thức đường hầm……… 22
1.5 Các yêu cầu cơ bản đối với VPN……… 29
1.5.1 Xác thực trong VPN………29
1.5.2 Tính bí mật dữ liệu trong VPN……….… 32
1.5.3 Tính toàn vẹn dữ liệu trong VPN………32
1.6 Kết luận chương……….33
Chương 2 Công nghệ mạng riêng ảo SSL VPN……… 34
2.1 Giới thiệu………34
2.1.1 Lịch sử phát triển của giao thức SSL……… 34
2.1.2 SSL và mô hình OSI……… 35
2.2 Các khái niệm an ninh được sử dụng trong SSL………36
2.2.1 Mã hoá……… 36
Trang 32.2.2 Hàm băm và bản tóm lược thông điệp………37
2.2.3 Mã xác thực thông điệp……… 38
2.2.4 Mã hoá khóa công khai và chữ ký điện tử……… 38
2.2.5 Chứng chỉ số và cơ quan cung cấp chứng chỉ số………39
2.3 Giao thức đường hầm SSL……….40
2.3.1 Giao thức bắt tay SSL……….………40
2.3.2 Giao thức bản ghi SSL………53
2.3.3 Giao thức cảnh báo SSL……….56
2.3.4 Giao thức ChangeCipherSpec……….57
2.3.5 Khuôn dạng các thông điệp giao thức bắt tay……….58
2.4 Thiết lập đường hầm trong SSL VPN………63
2.5 So sánh SSL VPN và IPSec VPN……… 64
2.6 Kết luận chương……….66
Chương 3 Xây dựng hệ thống truyền tệp dựa trên hoạt động của giao thức SSL…67 3.1 Phát biểu bài toán………67
3.2 Thiết kế hệ thống………68
3.3 Giao thức trao đổi dữ liệu SSLFTP……… 69
3.4 Nguyên tắc hoạt động của hệ thống………69
3.4.1 Khởi tạo phiên giao tiếp……… 69
3.4.2 Các thông điệp trao đổi trong pha thiết lập liên kết.……… 71
3.4.3 Xác thực máy chủ tệp ……… 72
3.4.4 Tạo các tham số phiên.………73
3.4.5 Đóng gói và gửi thông điệp……….74
3.4.6 Các thuật toán sử dụng trong hệ thống……… 74
3.5 Thiết kế các thông điệp trao đổi dữ liệu……….75
3.5.1 Khuôn dạng thông điệp của giao thức bản ghi SSLFTPRecord……….75
3.5.2 Khuôn dạng thông điệp của các giao thức tầng trên………75
3.6 Bảo vệ các thông điệp……….79
3.6.1 Tính toán mã xác thực thông điệp……… 80
3.6.2 Mã hoá dữ liệu………80
3.7 Thiết kế module chương trình………81
3.7.1 Module trên máy chủ xác thực.……… 81
3.7.2 Module trên máy chủ tệp.……… 82
3.7.3 Module trên máy khách ……….82
3.8 Cài đặt thử nghiệm……….83
3.8.1 Cài đặt trên máy chủ xác thực……….83
3.8.2 Cài đặt trên máy chủ tệp……….84
Trang 43.8.3 Cài đặt trên máy khách.……… 85
Kết luận chung………87 Tài liệu tham khảo……….88 Phụ lục
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT, THUẬT NGỮ TRONG LUẬN VĂN
IETF Internet Engineering Task Force
IPSec Internet Protocol Security
IPSec VPN Mạng riêng ảo sử dụng công nghệ IPSec
LDAP Lightweight Directory Access Protocol
Message Digest Bản tóm lược thông điệp
MPPE Microsoft Point to Point Encryption
PAP Password Authentication Protocol
PPTP Point to Point Tunneling Protocol
RC2, và RC4 Rivest's Cipher or Ron's Code
SSL VPN Mạng riêng ảo sử dụng công nghệ SSL
Trang 6DANH MỤC CÁC HÌNH VẼ TRONG LUẬN VĂN
Hình 1.1 Mô hình một VPN……….….……… 11
Hình 1.2 Mối quan hệ giữa các Router……… 12
Hình 1.3 Triển khai Overlay VPN tầng 1……… ………13
Hình 1.4 Triển khai Overlay VPN tầng 2.……… …… ………13
Hình 1.5 Triển khai Overlay VPN tầng 3……… ………13
Hình 1.6 Mô hình mạng MPLS VPN……… ……… 15
Hình 1.7 Remote Access VPN……… ………17
Hình 1.8 Site to Site VPN……….……….………18
Hình 1.9 VPN theo nơi xử lý……… ……… 19
Hình 1.10 Đường hầm trong VPN……… ….…… 22
Hình 1.11 Phiên PPTP với máy khách PPP……….23
Hình 1.12 Phiên PPTP với máy khách PPP và giao thức PPTP……… 24
Hình 1.13 Các thao tác PPTP……… 24
Hình 1.14 Cấu trúc gói tin điều khiển trong giao thức PPTP……… 25
Hình 1.15 Cấu trúc gói tin dữ liệu người dùng trong PPTP………25
Hình 1.16 Chế độ đường hầm bắt buộc L2TP……….26
Hình 1.17 Chế độ đường hầm chủ động L2TP………26
Hình 1.18 Cấu trúc gói tin điều khiển trong giao thức L2TP……… 27
Hình 1.19 Cấu trúc gói tin dữ liệu người dùng trong L2TP………27
Hình 2.1 Sơ đồ mối quan hệ giữa SSL và mô hình OSI………….……… 35
Hình 2.2 Sơ đồ mối quan hệ giữa SSL và các giao thức khác……… 36
Hình 2.3 Sơ đồ hệ thống mã hoá khoá đối xứng ……… 37
Hình 2.4 Sơ đồ hệ thống mã hoá khoá công khai ……… ……… 37
Hình 2.5 Sơ đồ xác thực dữ liệu dùng chữ ký điện tử……… 39
Hình 2.6 Sơ đồ quá trình bắt tay không xác thực máy khách trong SSL…… 41
Hình 2.7 Sơ đồ quá trình bắt tay có xác thực máy khách trong SSL………43
Hình 2.8 Sơ đồ quá trình cập nhật trạng thái phiên tại máy khách………46
Hình 2.9 Sơ đồ quá trình cập nhật trạng thái phiên tại máy chủ……… 47
Hình 2.10 Sơ đồ xác thực máy chủ trong giao thức SSL……….49
Hình 2.11 Sơ đồ xác thực máy khách trong giao thức SSL………50
Hình 2.12 Sơ đồ quá trình tạo Master secret trong SSL……… 51
Hình 2.13 Sơ đồ quá trình tạo Key material trong SSL……… 52
Hình 2.14 Sơ đồ sinh khoá từ Key material………52
Hình 2.15 Các bước xử lý dữ liệu trong giao thức bản ghi SSL…………… 53
Hình 2.16 Khuôn dạng thông điệp bản ghi SSL………… 53
Trang 7Hình 2.17 Bảo vệ thông điệp với thuật toán MD5……… 54
Hình 2.18 Bảo vệ thông điệp với thuật toán SHA……………54
Hình 2.19 Sơ đồ tính toán MAC trong SSL………55
Hình 2.20 Mã hoá thông điệp với thuật toán mã hoá dòng……….56
Hình 2.21 Mã hoá thông điệp với thuật toán mã hoá khối……… 56
Hình 2.22 Khuôn dạng thông điệp Alert……….56
Hình 2.23 Khuôn dạng thông điệp ChangeCipherSpec……… 57
Hình 2.24 Tổ hợp các thông điệp Handshake trong bản ghi SSL……… 58
Hình 2.25 Khuôn dạng thông điệp HelloRequest.……… 59
Hình 2.26 Khuôn dạng thông điệp ClientHello……… 59
Hình 2.27 Khuôn dạng thông điệp ServerHello……… 60
Hình 2.28 Khuôn dạng thông điệp Certificate………60
Hình 2.29 Khuôn dạng thông điệp CertificateRequest……… 61
Hình 2.30 Khuôn dạng thông điệp ServerHelloDone……….61
Hình 2.31 Khuôn dạng thông điệp ClientKeyExchange với RSA……… 62
Hình 2.32 Khuôn dạng thông điệp CertificateVerify……… 62
Hình 2.33 Khuôn dạng thông điệp Finished………63
Hình 3.1 Mô hình hệ thống truyền tệp……… 68
Hình 3.2 Sơ đồ mối quan hệ giữa các giao thức thành phần SSLFTP………… 69
Hình 3.3 Sơ đồ khởi tạo phiên giao tiếp và xác thực máy chủ tệp……….…… 70
Hình 3.4 Sơ đồ quá trình xác thực máy chủ tệp………72
Hình 3.5 Sơ đồ quá trình tạo Master secret trong SSLFTP……… 73
Hình 3.6 Sơ đồ quá trình tạo khoá phiên……… 74
Hình 3.7 Khuôn dạng thông điệp bản ghi SSLFTP……… 75
Hình 3.8 Khuôn dạng thông điệp ClientHelloFTP………76
Hình 3.9 Khuôn dạng thông điệp ServerHelloFTP……… 76
Hình 3.10 Khuôn dạng thông điệp AuthenRequestFTP……… 77
Hình 3.11 Khuôn dạng thông điệp AuthenRespondFTP……….77
Hình 3.12 Khuôn dạng thông điệp ServerHelloDoneFTP……… 78
Hình 3.13 Khuôn dạng thông điệp ClientKeyExchangeFTP……… 78
Hình 3.14 Khuôn dạng thông điệp FinishedFTP……….78
Hình 3.15 Khuôn dạng thông điệp ChangeCipherSpecFTP………79
Hình 3.16 Khuôn dạng thông điệp AlertFTP……… 79
Hình 3.17 Sơ đồ tính toán MAC trong SSLFTP……….80
Hình 3.18 Bảo vệ thông điệp với MAC……… 81
Hình 3.19 Sơ đồ hoạt động của module chương trình trên máy chủ xác thực……81
Hình 3.20 Sơ đồ hoạt động của module chương trình trên máy chủ tệp………….82
Trang 8Hình 3.21 Sơ đồ hoạt động của module chương trình trên máy khách………… 83 Hình 3.22 Giao diện chương trình trên máy chủ xác thực……… 84 Hình 3.23 Giao diện chương trình trên máy chủ tệp……… 84 Hình 3.24 Giao diện chương trình trên máy khách……….85
Trang 9MỞ ĐẦU
Trong những năm gần đây công nghệ thông tin đã phát triển một cách nhanh chóng với nhiều loại hình dịch vụ phong phú đáp ứng yêu cầu ngày càng cao của con người Các hệ thống mạng truyền thông hiện đại, các máy tính cá nhân, các mạng máy tính quốc gia, quốc tế và Internet … đã làm cho các quốc gia, các công
ty, cá nhân trên thế giới xích lại gần nhau hơn
Thông tin là nhu cầu không thể thiếu đối với con người và là một dạng tài nguyên đặc biệt vô cùng quý giá Nói đến thông tin cũng đồng thời nói đến sự giao lưu trao đổi và bảo mật an toàn thông tin, đặc biệt là trong các hệ thống truyền tin, các mạng dữ liệu và mạng máy tính
Có nhiều cách thức, phương pháp để bảo đảm an toàn cho thông tin, mạng riêng ảo là một giải pháp tốt cho vấn đề trao đổi thông tin qua mạng Mạng riêng ảo thực chất là việc kết nối mạng của các cơ quan, tổ chức sử dụng hạ tầng cơ sở mạng công cộng như Internet… Trong công nghệ thông tin, khoa học về mạng và truyền thông là một lĩnh vực đạt được rất nhiều thành tựu và được ứng dụng trong nhất nhiều lĩnh vực như thương mại điện tử, ngân hàng, tài chính, hàng không… Những nghiên cứu này đã góp phần đáng kể trong việc thúc đẩy xã hội phát triển nói chung cũng như ngành Công nghệ Thông tin nói riêng
Trên thế giới và đặc biệt là ở Châu Âu, Mỹ, công nghệ (cả phần cứng và phần mềm) về mạng và truyền thông đã phát triển rất mạnh, thậm chí một số tài
liệu cho rằng nó đã đạt tới mức hoàn thiện về công nghiệp
Việc nghiên cứu, triển khai mạng riêng ảo ở nước ta cũng đã được quan tâm, nhưng kết quả thu được còn hạn chế
Luận văn “Công nghệ mạng riêng ảo SSL VPN và ứng dụng trong xây
dựng hệ thống truyền tệp” định hướng vào công nghệ xây dựng mạng riêng ảo
SSL VPN và thiết kế, triển khai hệ thống thực tế
Nội dung chính của luận văn bao gồm 3 chương và phần phụ lục
Chương 1 Trình bày tổng quan về mạng riêng ảo: các khái niệm, phân loại, các yêu cầu đối với mạng riêng ảo,
Chương 2 Trình bày về công nghệ SSL trong việc xây dựng mạng riêng ảo SSL VPN bao gồm cấu trúc, nguyên lý hoạt động, các vấn đề về an ninh
Chương 3 Đề xuất một mô hình truyền tệp dựa trên công nghệ SSL, thiết kế, cài đặt thử nghiệm
Trang 10Ngoài ba chương chính, bố cục luận văn còn có các phần Mở đầu, Kết luận
và Tài liệu tham khảo Phần kết luận nêu tóm tắt các vấn đề đã trình trong các chương, đánh giá các kết quả đã đạt được và chưa đạt được, đồng thời đưa ra các định hướng nghiên cứu, phát triển tiếp theo
Phần phụ lục mô tả thuật toán được sử dụng trong hệ thống bao gồm thuật toán mã hoá khoá đối xứng AES, thuật toán băm MD5, định nghĩa cấu trúc các thông điệp của giao thức SSLFTP và bảng liệt kê các CipherSuite dùng trong giao thức SSL 3.0
Trang 11số các công ty là thuê các đường truyền riêng (leased lines) để duy trì một mạng WAN (Wide Area Network) Các đường truyền này, được giới hạn từ ISDN (Integrated Services Digital Network, 128 Kbps) đến đường cáp quang OC3 (Optical Carrier-3, 155 Mbps) Mỗi mạng WAN đều có điểm thuận lợi về độ tin cậy, hiệu năng, tính an toàn và bảo mật Nhưng để bảo trì một mạng WAN, đặc biệt
là sử dụng các đường truyền riêng, khi công ty muốn mở rộng các văn phòng đại diện, hoặc mở mối quan hệ qua mạng với các đối tác thì chi phí có thể sẽ rất đắt Ngày nay, khi Internet trở nên phổ biến, các công ty thương mại rất trú trọng đầu tư vào Internet nhằm quảng bá công ty của họ và đồng thời cũng để mở rộng
các mạng mà họ sở hữu Ban đầu là các mạng nội bộ được thiết kế riêng cho các
thành viên trong công ty sử dụng và sau này là các VPN để điều tiết và quản lý các nhân viên hay các văn phòng đại diện từ xa
Mạng riêng ảo là gì?
Về căn bản, mỗi VPN là sự mở rộng của một mạng riêng của các công ty, tổ chức thông qua sử dụng các kết nối mạng công cộng hoặc mạng chia sẻ, chẳng hạn như Internet Mục đích chính của VPN là cung cấp cho khách hàng tất cả các tính năng mà một kênh thuê riêng có được nhưng với một giá thành rẻ hơn rất nhiều trên cơ sở tận dụng hạ tầng cơ sở mạng công cộng Để duy trì được tính riêng tư trên cơ sở hạ tầng mạng công cộng, các VPN hiện nay đều sử dụng các giao thức
để tạo đường hầm truyền tin và các biện pháp an ninh để bảo vệ dữ liệu trên đường truyền như mã hoá, xác thực, hàm băm… Hình 1.1 thể hiện mô hình tổng thể của một mạng riêng ảo kết nối các văn phòng của công ty với nhau và giữa văn phòng công ty với các đối tác thương mại ([19], [20], [21], [22])
Một số thuật ngữ liên quan tới VPN
Trước khi đi sâu vào tìm hiểu, phân tích các khía cạnh trong một mạng riêng
ảo tác giả xin điểm qua một số thuật ngữ thường được dùng trong mạng VPN
Trang 12Provider network (P- Network): là mạng của nhà cung cấp dịch vụ, dựa trên
mạng này mà các VPN được hình thành
Văn phòng chính của công ty Chi nhánh
của công ty ở xa
Văn phòng gia đình
Nhân viên di động
Đối tác thương mại
Internet
Hình 1.1 Mô hình một VPN
Customer network (C- Network): phần mạng thuộc sự kiểm soát của khách hàng Customer site: Một phần tiếp giáp của C - Network, bao gồm nhiều vị trí tự nhiên Provider (P) device: là thiết bị trong mạng của nhà cung cấp dịch vụ, thường
là một P Router
Provider edge (PE) device: là thiết bị trong mạng của nhà cung cấp dịch vụ, thiết
bị này được nối với thiết bị bên mạng của khách hàng và nó thường là một PE router
Customer edge (CE) device: là thiết bị trong mạng của khách hàng được kết
nối với PE trong mạng của nhà cung cấp, nó thường là một CE Router
Virtual circuit (VC): là một kết nối logic điểm tới điểm được thiết lập qua
việc chia sẻ hạ tầng lớp 2
Hình vẽ 1.2 mô tả mối quan hệ giữa các thiết bị của nhà cung cấp dịch vụ với các thiết bị của khách hàng
Trang 13Provider Router
Hình 1.2 Mối quan hệ giữa các Router
1.2 Phân loại mạng riêng ảo
Hiện nay, có nhiều tiêu chí để phân loại VPN, tùy theo mục đích sử dụng, công nghệ tạo VPN…Dựa vào các tiêu chí đó, tác giả xin trình bày một số cách phân loại VPN như sau:
1.2.1 Phân loại VPN theo việc cung cấp dịch vụ
Những dịch vụ VPN cung cấp dựa trên 2 loại chính:
1 VPN chồng lấp (overlay VPN) tức là nhà cung cấp dịch vụ cung cấp những kết nối điểm-tới-điểm giữa các vị trí khác nhau của khách hàng
2 VPN ngang hàng (peer-to-peer VPN) tức là nhà cung cấp dịch vụ tham gia vào đường dẫn của khách hàng ([21])
VPN kiểu chồng lấp (OVERLAY MODEL): Kiểu Overlay VPN được triển
khai dựa trên mạng chung của nhà cung cấp dịch vụ VPN này có thể được thực hiện tại tầng 1 qua việc sử dụng kênh thuê riêng hoặc đường quay số, tại tầng 2 qua việc sử dụng mạng X.25, frame relay hay kênh ảo ATM hoặc tại tầng 3 sử dụng đường hầm IP Trong trường hợp này, mạng của nhà cung cấp dịch vụ là một sự kết hợp giữa các kết nối điểm - điểm hay các kênh ảo Việc định tuyến trong mạng khách hàng là trong suốt đối với mạng cung cấp dịch vụ, các giao thức định tuyến hoạt động trực tiếp giữa các Router của khách hàng và nhà cung cấp dịch vụ chỉ đơn giản chịu trách nhiệm cung cấp sự truyền thông tin điểm - điểm giữa các vị trí khác nhau của khách hàng Trong hệ thống này, sự chuyển tiếp, tìm đường lớp 3 đ-
Trang 14ược thiết lập giữa các router CE tại các vị trí khác nhau và nhà cung cấp dịch vụ không cần phải biết hết thông tin đường truyền này Kiểu overlay VPN có 2 han chế: một là rất khó đánh giá độ lớn của dung lượng giữa các kết nối điểm - điểm, hai là yêu cầu về triển khai một mạng lưới đầy đủ (fully meshed) giữa các kết nối điểm-điểm hay các kênh ảo trên mạng trục của nhà cung cấp dịch vụ để tối ưu đư-ờng truyền Hình 1.3 thể hiện cách thức triển khai các VPN chồng lấp:
Triển khai tại tầng 1: nhà cung cấp dịch vụ thiết lập các đường kết nối vật lý
(tầng l) để liên kết các site của khách hàng thông qua ISDN, DS0, T1, E1, SONET hoặc SDH Khách hàng triển khai ở các mức cao hơn như: PPP, HDLC hoặc IP
ISDN DS0, T1, E1 SONET, SDH
IP
Hình 1.3 Triển khai Overlay VPN tầng 1
Triển khai tại tầng 2: sử dụng giải pháp chuyển mạch WAN truyền thống Nhà
cung cấp dịch vụ thiết lập kết nối giữa các site của khách hàng thông qua mạng X.25, Frame Relay, hay ATM; khách hàng triển khai tiếp tầng IP và các tầng cao hơn
X.25 Frame Relay ATM
IP
Hinh 1.4 Triển khai Overlay VPN tầng 2
Triển khai tại tầng 3: các VPN được hình thành thông qua các đường hầm IP
điểm - điểm Các điểm cuối đường hầm là trong suốt với nhau, không cần biết cấu trúc topo mạng cụ thể là gì Ngoài ra, các đường hầm còn cho phép sử dụng các địa chỉ mạng riêng thông qua mạng xương sống (backbone) của nhà cung cấp dịch vụ
mà không cần cơ chế phiên dịch địa chỉ mạng (NAT) Đường hầm được thiết lập với
cơ chế đóng gói định tuyến chung - GRE hoặc với giao thức bảo mật IP (IP Sec), giao thức SSL Quá trình cài đặt GRE thường đơn giản và nhanh, tuy nhiên độ an toàn không cao, trong khi đó việc triển khai IPSec mặc dù phức tạp hơn, dùng nhiều nguồn lực hơn (CPU cycle) nhưng cơ chế bảo mật tốt hơn
Generic Routing Encapsulation (GRE) IP security (IPSec)
IP Hình 1.5 Triển khai Overlay VPN tầng 3
IP
Trang 15Các đường hầm GRE cung cấp một đường dẫn riêng qua mạng WAN, chia sẻ
và đóng gói lưu lượng truyền thông với phần tiêu đề mới để đảm bảo chắc chắn các gói tin được chuyển đến đích Các đường hầm GRE tự nó không bao hàm tính bí mật dữ liệu nhưng có thể chuyển các lưu lượng đã được mã hoá Để tăng cường an ninh, GRE có thể dùng kết hợp với IPSec Khi triển khai VPN lớp 3 qua một mạng công cộng, các đường hầm VPN được xây dựng dựa trên hạ tầng chia sẻ không tin cậy IPSec cung cấp các dịch vụ tổng thể như tính bảo mật, tính toàn vẹn, tính xác thực để đảm bảo các thông tin nhạy cảm được truyền một cách an toàn qua các đường hầm này mà không bị can thiệp bởi người khác
Mặt khác, một hạn chế của IPSec là quá trình mã hoá chỉ làm việc với các khung tin unicast và chính sự kết hợp với GRE đã khắc phục được hạn chế này, bởi
vì GRE có thể hoạt động với truyền thông đa giao thức và multicast IP giữa hai site
VPN kiểu ngang hàng (Peer-to-Peer VPN)
Kiểu VPN ngang hàng là một phương pháp định tuyến đơn giản cho khách hàng Khách hàng và nhà cung cấp dịch vụ đều sử dụng cùng một giao thức trong mạng của mình Tuyến đường lưu lượng của khách hàng được thực hiện qua một mạng lõi (mạng của nhà cung cấp dịch vụ) Các router PE của nhà cung cấp dịch vụ trao đổi thông tin tìm đường với router CE của khách hàng và việc chuyển tiếp lớp
3 được thiết lập giữa các Router PE và CE tại mỗi phía Do việc định tuyến ngang hàng đã được cài đặt cho nên việc tìm đường giữa hai site là tối ưu
MPLS VPN
Có thể nói VPN là một trong những ứng dụng quan trọng nhất của công nghệ chuyển mạch nhãn đa giao thức MPLS Điểm nổi bật của công nghệ này là chuyển tiếp lưu lượng nhanh, khả năng linh hoạt trong các dịch vụ định tuyến, đơn giản trong điều khiển phân luồng và tận dụng được đường truyền giúp giảm chi phí Kỹ thuật MPLS VPN đã đưa ra một thay đổi cơ bản trong công nghệ VPN đó là sử dụng khái niệm Virtual Router thay cho Dedicated Router và Shared Router Hình 1.6 mô tả cấu trúc tổng thể của mạng MPLS VPN ([24])
MPLS VPN được cấu tạo bởi các thành phần sau:
• MPLS domain: là tập hợp của các node mạng MPLS được quản lý và điều
khiển bởi cùng một quản trị mạng, hay nói một cách đơn giản hơn, MPLS domain có thể coi như hệ thống mạng của một tổ chức nào đó (chẳng hạn nhà cung cấp dịch vụ)
• LSR (Label Switching Router): là node mạng MPLS Có hai loại LSR chính:
- LSR cạnh (gồm LSR hướng vào, LSR hướng ra): LSR nằm ở biên của
MPLS domain và kết nối trực tiếp với mạng người dùng
Trang 16- LSR chuyển tiếp (Transit LSR): LSR nằm bên trong MPLS domain, các LSR này chính là các bộ định tuyến lõi của nhà cung cấp dịch vụ
Label Switch Router
Customer Network
Hình 1.6 Mô hình mạng MPLS VPN
• Nh n (Label): thường được tổ chức dưới dạng ngăn xếp nhãn (Label Stack)
• FEC: MPLS không thực hiện quyết định chuyển tiếp với gói dữ liệu lớp 3
(datagram) mà sử dụng một khái niệm mới gọi là FEC (Forwarding Equivalence Class) Mỗi FEC được tạo bởi một nhóm các gói tin có chung các yêu cầu về truyền tải hoặc dịch vụ (thoại, data, video, VPN ) hoặc cùng yêu cầu về chất lượng dịch
vụ Hay nói cách khác, MPLS thực hiện phân lớp dữ liệu để chuyển tiếp qua mạng
• LSP (Label Switching Path): là tuyến được bắt đầu tại một LSR hướng vào
thông qua một hoặc nhiều hoặc thậm chí là không LSR chuyển tiếp nào và cuối cùng kết thúc tại một LSR hướng ra LSP chính là đường đi của các FEC thông qua mạng MPLS Khái niệm về LSP tương tự như khái niệm về kênh ảo (Virtual Channel - VC) trong mạng IP, ATM, Frame Relay
• LDP (Label Distribution Protocol): là các giao thức được dùng trong
MPLS để phân bổ nhãn và thiết lập các LSP thông qua mạng MPLS
Khi luồng dữ liệu của người dùng được gửi đến mạng MPLS, tại LSR hướng vào luồng dữ liệu sẽ được phân lớp và được đóng trong các FEC LSR hướng vào
sẽ thực hiện việc phân bổ nhãn và thiết lập LSP cho các FEC này Tại các node chuyển tiếp trong mạng, LSR chỉ thực hiện việc tráo đổi nhãn và gửi FEC đến LSR
kế tiếp Các LSR chỉ quan tâm đến nhãn trên cùng trong ngăn xếp nhãn mà không cần quan tâm đến nội dung của gói tin (điều này khác biệt hẳn với mạng định tuyến lớp 3 truyền thống)
Trang 17Khi luồng dữ liệu đến LSR hướng ra, các FEC được g b nhãn và tách ngược trở lại thành các gói tin thông thường rồi được gửi đến người dùng cuối bằng các giao thức định tuyến truyền thống Các FEC có thể được chuyển tiếp trên nhiều LSP khác nhau, đây là một ưu điểm nổi trội của MPLS so với mạng định tuyến thông thường
1.2.2 Phân loại VPN theo kỹ thuật sử dụng trong VPN
Dựa vào kỹ thuật sử dụng, các VPNs được chia thành 3 loại: VPN sử dụng các
kênh thuê bao riêng của các nhà cung cấp dịch vụ (gọi là một Trusted VPN) và
VPN sử dụng phương thức gửi các dữ liệu đã được mã hóa lên mạng Internet (gọi
là Secure VPN) Sự kết hợp của một Secure VPN qua một Trusted VPN tạo ra một loại VPN mới gọi là Hybrid VPN
Trusted VPN
Qua một thời gian, các Trusted VPN đã có sự thay đổi từ các thuê bao riêng
của các đại lý viễn thông đến các thuê bao IP riêng của các nhà cung cấp dịch vụ
Internet Công nghệ chủ yếu trong sự vận hành của Trusted VPN với mạng địa chỉ
IP là các kênh ATM, mạch tiếp sóng khung và MPLS
ATM và bộ tiếp sóng khung hoạt động tại tầng liên kết dữ liệu (tầng 2 trong
mô hình OSI) MPLS mô ph ng một số thuộc tính của mạng chuyển mạch và mạng chuyển gói Nó hoạt động cùng một tầng, nằm ngay giữa tầng liên kết dữ liệu và tầng mạng nên thường được coi là tầng “2,5” MPLS bắt đầu thay thế ATM và bộ
tiếp sóng khung để thực thi Trusted VPN với số lượng lớn các doanh nghiệp và nhà
cung cấp dịch vụ
Secure VPN
Khác với các Trust VPN, sử dụng các kênh thuê riêng, tin cậy của nhà cung
cấp dịch vụ, Secure VPN hoạt động dựa trên môi trường truyền thông công cộng,
không an toàn Do đó, việc trao đổi thông tin qua mạng thường được thực hiện kết
hợp với các kỹ thuật mã hoá, xác thực Trong Secure VPN, một khái niệm mới
được đưa vào đó là khái niệm đường hầm, đường hầm là cơ chế đảm bảo cho dữ liệu được trao đổi một cách an toàn nhất Tuỳ theo mục đích triển khai các kiểu VPN mà người ta sử dụng các giao thức tạo đường hầm khác nhau như IPSec, L2TP, SSL và PPTP trong việc mã hoá và truyền dữ liệu
1.2.3 Phân loại VPN theo nhóm chức năng
Theo nhóm chức năng, VPN được chia thành hai loại phổ biến hiện nay là VPN truy cập từ xa (Remote-Access) và VPN điểm-nối-điểm (site-to-site)
VPN truy nhập từ xa
Trang 18VPN truy nhập từ xa hay còn được gọi là mạng riêng ảo quay số (Virtual private dial-up network - VPDN) được triển khai, thiết kế cho những khách hàng riêng lẻ ở xa, chẳng hạn như những khách hàng di động, những khách hàng truy cập không dây Trước đây, các tổ chức, công ty thường hỗ trợ cho những khách hàng ở xa bằng những hệ thống quay số Đây không phải là một giải pháp hiệu quả, nhất là khi người quay số theo đường truyền quốc tế Với sự ra đời của VPN truy cập từ xa, khách hàng di động chỉ cần quay số tới ISP nội bộ là có thể để truy nhập được vào mạng của công ty họ, cho dù họ đang ở bất kỳ đâu VPN truy cập từ xa là
sự mở rộng những mạng quay số truyền thống Trong hệ thống này, phần mềm máy tính khách sẽ cung cấp một kết nối an toàn - như một đường hầm giúp giảm chi phí (do chỉ thực hiện các cuộc gọi nội hạt) tới hệ thống mạng công ty VPN truy cập từ
xa được mô ph ng qua hình 1.7 dưới đây
sẽ quản lý chặt chẽ hơn những người dùng truy cập giữa các vị trí này tại các địa điểm của mình VPN site-to-site được thể hiện qua hình 1.8 ([20], [21], [22])
Trang 19`
Internet
Mạng công ty Đường hầm
VPN dựa trên Firewall (VPN firewall-based)
Bản chất của một VPN firewall-based là sự triển khai VPN site-to-site, giải pháp cho VPN firewall - based không mang tính kỹ thuật mà chỉ là vấn đề bảo mật Chúng được triển khai khi một công ty cần các biện pháp bảo mật cao Các công ty
có thể tăng cường các firewall vốn có của mình để hỗ trợ cho VPN firewall-based
1.2.4 Phân loại VPN theo nhóm công nghệ và mô hình OSI
Trên quan điểm công nghệ, VPN được phân thành các loại sau:
- VPN hoạt động theo giao thức và công nghệ mạng ở tầng 2 của mô hình OSI VPN loại này sử dụng các giao thức PPTP, L2TP; mạng chuyển mạch ATM, Frame Relay và công nghệ chuyển mạch nhãn đa giao thức (MPLS) để thiết lập một kênh truyền an toàn, bảo mật Các giao thức này được gọi là các giao thức đường hầm và các kênh truyền đó gọi là đường hầm
- VPN hoạt động theo các giao thức và công nghệ mạng ở tầng 3 của mô hình OSI VPN loại này sử dụng giao thức IPSec với mã hoá trong cả đường hầm và phương thức vận chuyển hoặc có thể kết hợp giữa IPSec và L2TP
- VPN hoạt động theo các giao thức và công nghệ mạng ở các tầng ứng dụng của mô hình OSI, gồm SSL và TLS
1.2.5 Phân loại VPN theo nơi xử lý VPN
Theo cách này, sẽ có các dạng VPN sau:
- VPN dựa trên thiết bị của khách hàng: toàn bộ các xử lý trong VPN được đặt trên thiết bị của khách hàng Thiết bị của khách hàng (Switch hoặc Router) được đặt tại biên phía site của khách hàng, được kết nối với mạng của nhà cung cấp Về mặt logic, các thiết bị của khách hàng thuộc phần mạng của khách hàng, nhưng đôi khi chúng được quản lý bởi phía nhà cung cấp dịch vụ
Trang 20- VPN dựa trên thiết bị của nhà cung cấp: toàn bộ các xử lý VPN được thực hiện tại thiết bị của nhà cung cấp, thường là các Router đặt tại biên mạng VPN để kết nối với các thiết bị của khách hàng (xem hình 1.9)
Provider Network
Hình 1.9 VPN theo nơi xử lý
1.3 Các thành phần của mạng riêng ảo
1.3.1 Máy chủ phục vụ truy cập mạng NAS
NAS là thiết bị mạng cung cấp dịch vụ truy cập mạng với chức năng chính là định tuyến và lọc gói Khi đặt tại mạng riêng, nó còn được gọi là máy chủ phục vụ truy cập mạng từ xa RAS Nếu đặt trong mạng công cộng thì NAS cung cấp dịch
vụ truy cập tới hạ tầng mạng dùng chung được quản lý bởi SP Một SP có thể cung cấp các điểm truy cập dịch vụ (PoP) để mở rộng khả năng truy cập tới mạng riêng của một công ty, cho phép những người dùng từ xa có thể truy cập tới mạng riêng của công ty qua SP với giá cước nội hạt
1.3.2 Bộ định tuyến
Tất cả các dạng của VPN đều dựa vào các bộ định tuyến Các giải pháp VPN hiện thời là các bộ định tuyến được kết hợp với các chức năng khác Các bộ định tuyến có thể đặt tại phía mạng của công ty cũng như tại phía mạng của SP Ta có thể phân biệt bộ định tuyến trong, ngoài và bộ định tuyến ngầm
1.3.3 Máy nguồn và máy đích đường hầm
Các máy nguồn và máy đích đường hầm làm nhiệm vụ thiết lập hoặc hủy b các đường hầm Tất cả những người sử dụng dịch vụ VPN được xác thực sẽ truy cập các tài nguyên mạng riêng thông qua đường hầm và kết thúc tại máy đích đường hầm Máy nguồn đường hầm có thể hỗ trợ nhiều đường hầm cùng một lúc Sau đó nó sẽ chuyển các gói tin nhận được từ các đường hầm tới máy tương ứng Nếu đây là phiên khởi tạo đầu tiên thì người gửi sẽ được xác thực và dựa vào đó người sử dụng sẽ được chấp nhận hoặc huỷ b
Trang 211.3.4 Máy chủ phục vụ xác thực (Authentication Server)
Khi một máy khách kết nối vào NAS, NAS phải xác định xem máy khách muốn truy cập vào Internet hay là sử dụng dịch vụ VPN để truy cập vào tài nguyên trong mạng riêng của công ty họ Các SP và các công ty có thể lựa các cách xác thực Phía công ty sẽ hoạch định các chính sách và cung cấp các quyền truy cập đến các tài nguyên khác nhau trên mạng của họ cho những người sử dụng khác nhau Trong nhiều trường hợp, máy phục vụ được sử dụng cho việc xác thực, cấp phép và ghi lại thông tin truy cập Có hai loại chính được sử dụng là: Terminal Access Controller Access Control System (ATCACS+) và Remote Authentication Dial In User Server (RADIUS) NAS hoặc một máy đích đường hầm sử dụng giao thức TACACS+ để liên lạc với máy phục vụ, RADIUS cũng làm việc theo cơ chế như vậy Sự khác nhau ở chỗ RADIUS là phiên bản ra sau và mã hoá dữ liệu trao đổi giữa nó là NAS hoặc máy đích đường hầm, trong khi TACACS không mã hoá đữ liệu được trao đổi Các máy phục vụ này có một cơ sở dữ liệu người dùng Người dùng được cấp phép sẽ được gán quyền riêng để truy cập vào các thiết bị hoặc các dịch vụ mạng cụ thể
1.3.5 Tường lửa - Firewall
Firewall được dùng để bảo vệ mạng riêng ảo kh i các truy cập bất hợp pháp, tất cả các gói tin vào hoặc ra kh i mạng sẽ được kiểm tra và Firewall sẽ quyết định cho hoặc cấm các gói tin này Thông thường Firewall gồm có các Router và các Gateway ứng dụng Một Firewall thông thường chỉ cung cấp dịch vụ cấp phép, nó không phân phối các dịch vụ đảm bảo tính toàn vẹn dữ liệu, tính bí mật dữ liệu và các dịch vụ xác thực, tuy nhiên Firewall có thể thực hiện các kỹ thuật mã hoá, xác thực Có ba loại Firewall chính đó là:
+ Firewall mức mạng: thực tế đây là một bộ lọc gói tin, nó kiểm tra phần header của các gói tin như địa chỉ, giao thức giao vận được mang theo trong gói tin Một danh sách kiểm tra sẽ quyết định các gói tin nhận được từ một địa chỉ nào đó hoặc đi đến một địa chỉ nào đó có được chuyển tiếp hay không Firewall mức mạng gồm Firewall kiểm tra trạng thái và Firewall không kiểm tra trạng thái Firewall kiểm tra trạng thái sử dụng thông tin về trạng thái thu được từ các lần truyền thông trước (thông tin trạng thái truyền thông) và từ các ứng dụng (thông tin trạng thái ứng dụng); Firewall không kiểm tra trạng thái chỉ kiểm tra từng gói tin một cách riêng lẻ
+ Firewall mức ứng dụng: kiểu Firewall này được coi là an toàn nhất vì chỉ có những dữ liệu của ứng dụng cụ thể được kiểm tra
Trang 22+ Firewall chuyển mạch: hoạt động giữa lớp mạng và lớp ứng dụng Firewall kiểu này an toàn hơn Firewall mức mạng và không cần nhiều Gateway cho mỗi ứng dụng
1.3.6 Máy chủ chính sách
Là một cơ sở dữ liệu tập chung có thể chứa tất cả các loại thông tin, ví dụ như các thuật toán bảo mật để sử dụng cho các phiên truyền thông riêng biệt, số lần làm tươi khoá, chứng chỉ khoá công khai, thông tin về hồ sơ người dùng… Các thông tin được lưu trữ dưới dạng đã được chuẩn hoá sao cho có thể được truy cập bằng cách sử dụng giao thức LDAP Máy phục vụ chính sách còn được gọi là máy phục
1.4.1 Khái niệm đường hầm
Đường hầm là cách thức vận chuyển dữ liệu qua mạng từ node này đến node khác giống như các node được kết nối trực tiếp với nhau Mỗi đường hầm được bắt đầu và kết thúc ở các điểm cuối đường hầm, đây là nơi dữ liệu được đóng gói và
mở gói Một tiêu đề mới được thêm vào có tính chất định hướng cho dữ liệu đi qua đường hầm Dữ liệu chuyển đến các node trung gian dựa trên phần tiêu đề thêm vào này mà không cần xem xét đến nội dung ban đầu
Việc gửi dữ liệu giữa các VPN qua đường hầm có thể duy trì sự ngăn cách dữ liệu giữa các VPN khác nhau, đồng thời để ngăn chặn sự rò rỉ thông tin khi đi qua các môi trường truyền thông trung gian như mạng của nhà cung cấp hoặc mạng Internet Đường hầm cũng cho phép địa chỉ của các thiết bị trong mạng riêng bị che khuất khi dữ liệu đi qua ([19], [20])
An ninh đường hầm là vấn đề quan trọng nhằm đảm bảo tính riêng tư của dữ liệu VPN Nếu đường hầm không an toàn, tính nhạy cảm của dữ liệu có thể bị mất khi truyền qua mạng Do đó, các điểm cuối đường hầm trong một VPN thường sử dụng các giao thức để đóng gói, mã hoá, nén dữ liệu trước khi truyền qua mạng Hình vẽ 1.10 mô tả cấu trúc cơ bản của một đường hầm trong mạng riêng ảo
Trang 23Đường hầm
Payload đường hầm
Phần Header thêm vào
Hình 1.10 Đường hầm trong mạng riêng ảo
1.4.2 Các giao thức đường hầm
Máy khách và máy chủ đường hầm sử dụng cùng một giao thức để thiết lập đường hầm Các công nghệ đường hầm có thể dựa trên giao thức đường hầm lớp 2 hoặc lớp 3 tương ứng trong mô hình tham chiếu 7 lớp OSI Lớp 2 tương ứng với tầng liên kết dữ liệu và sử dụng các khung dữ liệu làm đơn vị dữ liệu trao đổi trong tầng hai PPTP và L2TP là các giao thức đường hầm lớp 2; cả hai giao thức này đóng gói
dữ liệu theo khuôn dạng khung tin PPP để gửi qua liên mạng Giao thức đường hầm lớp 3 tương ứng với tầng mạng và sử dụng các gói tin để trao đổi Chế độ đường hầm IPSec là một ví dụ về giao thức đương hầm lớp 3, gói tin IP được bọc thêm phần IP header mới trước khi chuyển qua liên mạng IP
1.4.2.1 Giao thức đường hầm PPTP
Giao thức đường hầm PPTP là sản phẩm được đưa ra bởi các công ty 3Com, Ascend comm, Microsoft, ECI Telematicsunication và US Robotic PPTP được xây dựng dựa trên các chức năng của giao thức truy cập điểm-điểm từ xa PPP, định nghĩa trong tài liệu của IETF PPTP là một giao thức mạng bọc gói tin PPP trong một gói tin IP để truyền qua mạng Internet hoặc các mạng TCP/IP công cộng khác PPTP cũng có thể được sử dụng trong các mạng riêng LAN-to-LAN
PPP làm việc ở lớp 2 trong mô hình OSI, nó quy định các phương thức đóng
và tách các loại gói dữ liệu để truyền nối tiếp PPP định nghĩa hai bộ giao thức: giao thức điều khiển liên kết LCP dùng cho việc thiết lập, cấu hình và kiểm tra kết nối; một loạt các giao thức điều khiển mạng NCP cho việc thiết lập và cấu hình các giao thức lớp mạng khác nhau PPP đóng gói các gói tin IP, IPX, NETBEUI và truyền đi trên kết nối điểm - điểm từ máy gửi đến máy nhận
Trang 24PPTP đảm bảo các mạng riêng đa giao thức (Multi-protocol VPN) được triển khai một cách an toàn dựa trên các mạng dữ liệu công cộng như Internet Người dùng có thể quay số và kết nối tới nhà cung cấp dịch vụ Internet thay vì trực tiếp tới mạng riêng công ty Một phiên PPTP sẽ cung cấp một kết nối an toàn qua Internet tới mạng của công ty Do đo, các công ty không cần phải xây dựng và duy trì một mạng diện rộng kết nối các văn phòng qua đường truyền riêng
Có 3 loại thiết bị được đề cập đến trong khi triển khai PPTP đó là: máy khách PPTP (PPTP Client); máy chủ truy cập mạng NAS (đôi khi nó còn được gọi là trạm
xử lý đầu-cuối FEP hay máy chủ quay số) và máy chủ PPTP Khi tạo đường hầm PPTP qua mạng LAN vai trò của máy chủ truy cập mạng là không cần thiết Quá trình thiết lập đường hầm PPTP có thể xảy ra một trong 2 trường hợp sau:
Khi có yêu cầu kết nối mạng, máy khách PPP thiết lập một phiên với trạm xử
lý đầu cuối có khả năng PPTP của nhà cung cấp dịch vụ, thiết bị này có thể là một Router hoặc Switch Internet Một đường hầm VPN được thiết lập giữa FEP và RAS, trong trường hợp này RAS được cài đặt giao thức PPTP và còn được gọi là máy chủ mạng PNS (PPTP Network Server); FEP được gọi là máy chủ truy cập mạng PAS (PPTP Access Server) Phiên PPTP là trong suốt đối với người dùng, và máy khách PPP không cần phải cài đặt PPTP
`
`
InternetPPTPĐường hầm
Hình 1.11 Phiên PPTP với máy khách
PPP
`
Mạng công ty
Máy chủ RAS (PNS)
Nhà cung cấp dịch vụ
FEP có cài đặt PPTP
PPP
Người dùng
từ xa
Máy khách PPP
Trường hợp khác có thể xảy ra là máy khách PPP có cài đặt PPTP sử dụng giao thức PPP để quay số tới ISP, một phiên PPP được tạo ra Máy khách tiếp tục quay số lần thứ 2 và thiết lập một kênh PPTP để kết nối với máy chủ PNS của công
ty Các gói tin PPP được chuyển qua kết nối mới, máy khách bây giờ đóng vai trò
là một node mạng ảo trong mạng LAN công ty và giống như một người dùng cục
bộ được kết nối vật lý qua Internet Trạm xử lý đầu cuối (FEP) trong trường hợp này không cần phải cài đặt PPTP Hình 1.12 mô tả phiên PPTP với máy khách PPP
có cài đặt PPTP
Trang 25`
InternetPPTPĐường hầm
Hình 1.12 Phiên PPTP với máy khách PPP và giao
Có hai loại gói tin được định nghĩa trong giao thức PPTP: gói tin điều khiển
và gói tin dữ liệu Các gói tin dữ liệu chứa dữ liệu người dùng, các gói tin điều khiển gửi thông tin trạng thái kết nối một cách định kỳ và quản lý tín hiệu giữa máy khách PPTP và máy chủ đích Mỗi loại gói tin được truyền trên một kênh riêng, kênh điều khiển với giao thức TCP và kênh dữ liệu với giao thức IP Kết nối TCP được tạo giữa máy khách PPTP hoặc trạm xử lý đầu cuối FEP và máy chủ PPTP được sử dụng để truyền thông báo điều khiển ([19], [20])
Cơ chế xác thực trong giao thức PPTP phụ thuộc vào cơ chế xác thực của PPP
có tên là PAP và CHAP PPTP có thể sử dụng PPP để mã hoá dữ liệu nhưng Microsoft đã đưa ra một phương thực mã hoá khác mạnh hơn đó là mã hoá điểm-điểm MPPE để sử dụng cho PPTP Hình 1.13 mô tả các thao tác PPTP
` Internet
IP, IPX, NetBeui DATA
IP, IPX, NetBeui
Trang 26máy chủ PPTP được kết nối với Internet và mạng riêng Máy chủ PPTP thực hiện việc khôi phục lại gói tin PPP, giải mã và chuyển tới máy đích trong mạng riêng
Do PPTP hoạt động ở tầng liên kết dữ liệu nên cần phải có thêm tiêu đề môi trường truyền thông trong gói tin để cho biết dữ liệu truyền trong môi trường Ethernet, FrameRelay hay kết nối PPP Hình 1.14 và 1.15 mô tả cấu trúc gói tin PPTP
Data-link
PPTPControl Message
Data-linkTrailer
Hình 1.14 Cấu trúc gói tin điều khiển trong giao thức PPTP
Data-link
Header HeaderIP HeaderPPP Encrypted PPP Payload(IP, IPX, NetBEUI) Data-linkTrailer
Hình 1.15 Cấu trúc gói tin dữ liệu người dùng trong giao thức PPTP
GREHeader
1.4.2.2 Giao thức đường hầm L2TP
Giao thức đường hầm L2TP là sự kết hợp của PPTP và giao thức chuyển lớp 2 L2F, một công nghệ mới được đưa ra bởi Cisco L2TP mang đặc tính của PPTP và L2F Tuy nhiên L2TP định nghĩa riêng một giao thức đường hầm dựa trên hoạt động của L2F, không phụ thuộc vào IP và GRE L2TP cho phép truyền thông qua nhiều môi trường mạng khác nhau như X.25, Frame Relay, ATM
Hai thiết bị liên quan đến việc triển khai L2TP là: L2TP Access Concentrator (LAC) và L2TP Network Server (LNS) [20] LAC được đặt giữa LNS và một hệ thống từ xa, hoạt động như điểm cuối đường hầm và ngang hàng với LNS Các gói tin chuyển từ LAC đến LNS thông qua đường hầm L2TP, kết nối từ LAC đến hệ thống truy cập từ xa có thể là một kết nối cục bộ hoặc là một đường liên kết PPP LAC và LNS được gọi là các điểm cuối đường hầm và phải có khả năng truy cập Internet Đường hầm L2TP tồn tại giữa một cặp LAC và LNS, đường hầm này vận chuyển các gói tin PPP và các thông báo điểu khiển giữa LAC và LNS
L2TP dựa trên giao thức PPP để tạo kết nối quay số giữa máy khách và máy chủ truy cập mạng, PPP được sử dụng để tạo kết nối vật lý, thực hiện việc xác thực đầu, tạo gói dữ liệu PPP và đóng kết nối khi kết thúc phiên làm việc Sau khi kết nối PPP được thiết lập, một đường hầm được tạo ra và L2TP đóng các gói PPP rồi truyền trên đường hầm Có hai trường hợp xảy ra khi thiết lập đường hầm L2TP:
Một là, máy khách PPP quay số kết nối tới LAC có cài đặt L2TP của ISP,
một đường hầm được tạo ra giữa LAC và LNS, máy khách PPP trong trường hợp này không cần phải cài đặt L2TP và không có quyền điều khiển đường hầm Hình 1.16 là chế độ đường hầm bắt buộc trong L2TP
Trang 27PPP Connection PPP Client
Remote PC
Internet
PPP IP Payload
PPP IP Payload
IP Payload
L2TP IP
PPP header Original IP header Message Payload
New IP header L2TP message header
Hai là, khi máy truy cập từ xa có cài đặt L2TP quay số kết nối tới ISP, một
đường hầm được tạo ra giữa máy khách truy cập dịch vụ và máy chủ LNS, thiết bị của nhà cung cấp dịch vụ không cần phải hỗ trợ L2TP Hình 1.17 là chế độ đường hầm chủ động trong L2TP
IP Payload
L2TP IP
PPP header Original IP header Message Payload
New IP header L2TP message header PPP Connection
to ISP
Trang 28L2TP định nghĩa hai loại thông báo đó là thông điệp điều khiển và thông điệp
dữ liệu Tuy nhiên, không giống như PPTP, L2TP truyền cả hai loại thông điệp chung trên một kênh Nếu như đường hầm được dùng cho truyền thông trên mạng
IP thì cả hai loại thông điệp trên được gửi trên cùng gói dữ liệu UDP
Thông điệp điều khiển L2TP điều khiển việc thiết lập, quản lý và giải phóng phiên làm việc trên đường hầm Do PPTP hoạt động ở tầng liên kết dữ liệu, nên cần phải có thêm tiêu đề môi trường truyền thông trong gói tin để biết được dữ liệu truyền trong môi trường Ethernet, FrameRelay, ATM hay kết nối PPP Hình 1.18 và 1.19 mô tả cấu trúc thông điệp L2TP
Data-link
Header
IPHeader
UDPHeader
L2TP Message
Data-linkTrailer
Hình 1.18 Cấu trúc gói tin điều khiển trong giao thức L2TP
Data-link
Header
IPHeader
PPPHeader
PPP Payload(IP, IPX, NetBEUI)
Data-linkTrailer
Hình 1.19 Cấu trúc gói tin dữ liệu người dùng trong giao thức L2TP
UDPHeader
L2TPmessage
Giống như PPTP, L2TP tận dụng PPP để xác thực người dùng quay số truy cập, ngoài ra nó còn hỗ trợ phương thức xác thực TACACS+ và RADIUS Có hai mức xác thực người dùng, đầu tiên ở ISP trước khi thiết lập đường hầm, tiếp theo sau khi kết nối được thiết lập
Ngoài ra, L2TP còn được dùng kết hợp với IPSec để tạo ra đường hầm trong VPN, khi đó ESP được dùng để mã hoá gói tin L2TP
1.4.2.3 Giao thức đường hầm IPSec
IPSec là một chuẩn giao thức được đưa ra bởi IETF, nhằm đảm bảo việc truyền thông an toàn trên các mạng công cộng như Internet thông qua việc mã hoá
và xác thực Giao thức này hoạt động ở lớp 3 trong mô hình OSI và định nghĩa hai loại tiêu đề mới cho một gói tin IP để điều khiển quá trình xác thực và mã hoá, một
là xác thực AH , hai là đóng gói tải bảo mật ESP dùng để mã hoá
IPSec đã sử dụng các phương pháp mã hoá đối xứng, phương pháp mã hoá công khai, các thuật toán băm một chiều… để đảm bảo tính bí mật, tính toàn vẹn khi dữ liệu truyền qua mạng công cộng
IPSec có thể hoạt động theo hai chế độ: chế độ đường hầm (tunel mode) và chế độ giao vận (transport mode)
Trang 29Trong chế độ giao vận, chỉ có phần dữ liệu được mã hoá, còn phần tiều đề IP được giữ nguyên Thông tin xác thực được chèn vào sau tiêu đề IP và trước tải dữ liệu các lớp trên (TCP, UDP hoặc ICMP) hoặc bất cứ tiêu đề IPSec nào đã được chèn vào trước đó Thành phần AH thêm vào với mục đích chống lại việc thay đổi nội dung dữ liệu, cho nên cần phải có phương thức khác để bảo vệ tính bí mật của dữ liệu
Trong chế độ đường hầm, toàn bộ gói tin IP được mã hoá và ESP sẽ tạo ra một tiêu đề IP mới để định tuyến cho các gói dữ liệu từ bên gửi đến bên nhận Với cách thức này, L2TP hoặc PPTP có thể được dùng kết hợp với IPSec ([19], [20])
1.4.2.4 Giao thức đường hầm MPLS
Đường hầm MPLS được tạo ra giữa các Router trong lõi MPLS bởi quá trình gán nhãn cho gói tin Mỗi gói tin gồm một ngăn xếp chứa các nhãn, khi gói tin được gán nhãn đến một nút, nhãn trên đỉnh ngăn xếp được kiểm tra Căn cứ vào nhãn đỉnh trên ngăn xếp mà một trong các thao tác sau đây có thể được thực hiện: thao tác hoán đổi hai nhãn, thao tác đưa một nhãn vào ngăn xếp và thao tác lấy một nhãn ra kh i ngăn xếp Các Router có thể xây dựng trước bảng tìm kiếm, điều này giúp chúng có thể xác định nhanh chóng công việc phải làm đối với nhãn trên cùng của gói tin đi vào, chính vì vậy mà các gói tin có thể được xử lý một cách nhanh chóng
Khi một nhãn được hoán đổi bằng một nhãn mới, gói tin sẽ được chuyển tiếp dựa vào nhãn mới này Thao tác đặt một nhãn vào ngẵn xếp giống như việc “đóng gói” gói tin trong tầng MPLS khác Thao loại b một nhãn kh i gói tin có thể coi như việc mở gói tin được đóng gói Nếu nhãn loại b là nhãn cuối cùng trong ngăn xếp nhãn thì gói tin “rời kh i’ đường hầm MPLS Thao tác này được thực hiện bởi Router hướng ra ([24]
Như vậy, đường hầm MPLS được tạo ra khi gói tin được gán nhãn, các điểm cuối đường hầm là các nút mà tại đó nhãn đầu tiên được thêm vào hoặc nhãn cuối cùng được loại b
1.4.2.5 Giao thức đường hầm SSL
SSL là giao thức được thiết kế bởi Netscape nhằm mục đích an ninh trong truyền thông Web và các giao dịch thương mại điện tử qua Internet
Giao thức SSL là một giao thức an ninh được đặt trên giao thức TCP Trong
mô hình TCP/IP, các giao thức dịch vụ HTTP, IMAP điều khiển các công việc như hiển thị các trang Web hoặc chạy các máy chủ thư điện tử Giao thức tầng giao vận TCP, UDP điều khiển các luồng dữ liệu giữa hai host Các giao thức tầng mạng như IP, ICMP cung cấp cơ chế chuyển tiếp điều khiển các gói tin qua mạng
Trang 30SSL hoạt động độc lập và trong suốt với các giao thức khác vì vậy nó có thể làm việc với bất kỳ giao thức nào ở tầng ứng dụng và tầng giao vận trong mô hình OSI Điều này cho phép các máy khách và máy chủ thiết lập các kết nối SSL một cách an toàn
Việc xác thực người dùng, đảm bảo tính bí mật và tính toàn vẹn của dữ liệu trong SSL được thực hiện qua việc sử dụng chứng chỉ số, mã hoá, chữ ký điện tử,
và hàm băm một chiều Mỗi kết nối SSL xảy ra theo hai bước: một là bắt tay và xác thực người dùng, thiết lập các tham số an ninh, thương lượng, trao đổi khoá; hai là bước mã hoá và truyền dữ liệu
SSL là giải pháp tốt cho những người dùng di động tạo mạng riêng ảo để kết nối với các mạng LAN công ty thông qua hạ tầng cơ sở mạng Internet công cộng
1.5 Các yêu cầu cơ bản đối với VPN
Trong hầu hết các cách sử dụng cơ bản của một mạng riêng ảo, tính “riêng tư” trong VPN có ý nghĩa là một đường hầm giữa hai người dùng trên một mạng VPN Nhiều trường hợp, “riêng” còn có nghĩa là bảo mật, tránh sự can thiệp bất hợp pháp trên mạng
Mạng VPN cần phải đảm bảo các yêu cầu sau đây:
- Xác thực (Authentication): đảm bảo các bên tham gia là đúng, hợp lệ
- Tính riêng (Confidentiality): đảm bảo dữ liệu không bị đọc khi truyền qua mạng
- Tính toàn vẹn(Integrity): đảm bảo dữ liệu không bị thay đổi trên đường truyền
1.5.1 Xác thực trong VPN
Một trong những vấn đề cơ bản của an ninh mạng nói chung và an ninh mạng riêng ảo nói riêng là việc xác thực người dùng để đảm bảo chỉ có những người được phép mới có thể sử dụng hệ thống mạng Xác thực người dùng được chia làm hai mức: mức máy tính và mức người sử dụng Sau đây là một số phương pháp xác thực phổ biến hiện nay
1.5.1.1 Xác thực dựa trên User Name và Password
Sự kết hợp của một tên người dùng (user name) và mật khẩu (password) là cách xác thực cơ bản nhất Với kiểu xác thực này, tên người dùng và mật khẩu đăng nhập được đối chiếu với tên và người dùng được lưu trữ trên cơ sở dữ liệu hệ thống, nếu trùng khớp thì người dùng được xác thực và ngược lại người dùng bị cấm truy cập Phương thức này không bảo mật lắm vì tài liệu xác nhận User được gửi đi ở dạng bản rõ không được mã hóa Do đó, nó có thể bị lấy cắp trên đường truyền và sử dụng lại
Trang 311.5.1.2 Xác thực sử dụng mật khẩu một lần
Xác thực mật khẩu một lần ngăn chặn việc sử dụng lại các mật khẩu khi bị lấy cắp trên đường truyền, phương pháp này yêu cầu mỗi phiên làm việc phải sử dụng một mật khẩu mới, không sử dụng lại mật khẩu của phiên làm việc trước Do đó nếu mật khẩu bị lấy cắp trên đường truyền cũng không thể sử dụng được Phương pháp dùng một nhóm thông qua bí mật (secret pass-phrase) được tạo ra bởi người dùng để tạo ra một dãy tuần tự các mật khẩu một lần OTP (One-Time Password) Nhóm thông qua bí mật của người dùng không bao giờ được chuyển ra kh i máy tính cục bộ và truyền trên mạng, do vậy sẽ không bị tấn công
Một chuỗi tuần tự các OTP được sinh ra bởi việc áp dụng một hàm băm bảo mật (secret hash function) đa thời gian đến các bản tin được tạo ra trong bước khởi tạo OTP đầu tiên được sinh ra bằng cách chuyển bản tóm lược thông điệp qua hàm băm N lần, trong đó N được chỉ định bởi người dùng OTP kế tiếp được sinh ra bằng cách chuyển bản tóm lược thông điệp qua hàm băm N-1 lần và cứ như thế cho đến khi OTP thứ N được sinh ra
Khi người sử dụng đăng nhập vào mạng, máy chủ phục vụ đưa ra yêu cầu
thách thức gồm một số và một chuỗi các ký tự, gọi là seed Để đáp ứng yêu cầu,
người dùng nhập vào con số thách thức và seed kèm theo nhóm thông qua bí mật Danh sách các OTP được sinh ra tại máy của người dùng được tới máy chủ phục vụ mạng Máy này cũng lặp lại hàm băm và so sánh kết quả với mật khẩu tức thời được lưu trữ trong máy (mật khẩu này được sử dụng cho lần đăng nhập vào mạng gần đây nhất) Nếu chúng phù hợp thì người dùng sẽ được đăng nhập vào mạng Số yêu cầu được giảm đi và mật khẩu tức thời lần cuối cùng sẽ được lưu lại cho lần đăng nhập tiếp theo
1.5.1.3 Xác thực theo giao thức PAP
PAP được thiết kế để hai máy tính tham gia giao tiếp thông qua giao thức PPP xác thực lẫn nhau PAP là một giao thức bắt tay hai bước Máy tính tạo kết nối sẽ gửi một cặp nhận dạng người dùng và mật khẩu tới hệ thống đích để thiết lập kết nối, hệ thống đích sẽ xác nhận máy tính đó và chập nhận kết nối
Xác thực PPP có thể được sử dụng khi khởi tạo kết nối cũng như trong một phiên làm việc PPP để xác thực lại Khi kết nối PPP được thiết lập, xác thực PPP có thể được chuyển qua đường kết nối đó PAP không bảo mật vì thông tin được truyền đi ở dạng bản rõ và không có cơ chế bảo vệ việc tấn công lại ([19])
1.5.1.4 Xác thực theo giao thức CHAP
Trang 32CHAP cũng là mô hình xác thực dựa trên user name/password được thiết kế gần giống với PAP nhưng bảo mật hơn và được sử dụng khi khởi tạo kết nối PPP, cũng như sau khi kết nối được thiết lập Khi người dùng đăng nhập vào hệ thống, máy chủ đảm nhiệm vai trò xác thực sẽ gửi một thông điệp thách thức (challenge message) trở lại máy tính người dùng Máy tính người dùng sẽ phản hồi lại user name và password được mã hóa Máy chủ xác thực sẽ so sánh phiên bản xác thực người dùng được lưu giữ với phiên bản mã hóa vừa nhận, nếu trùng khớp người dùng sẽ được xác thực Bản thân Password không bao giờ được gửi qua mạng Phương thức CHAP thường được sử dụng khi người dùng đăng nhập vào xác máy chủ từ xa của công ty chẳng hạn như RAS server và dữ liệu chứa password được
mã hóa gọi là password băm (hash password) ([19])
1.5.1.5 Xác thực theo phương pháp Kerberos
Xác thực Kerberos dùng một máy chủ trung tâm để kiểm tra việc xác thực người dùng và cấp phát thẻ thông hành (service tickets) để người dùng có thể truy cập vào tài nguyên Kerberos là một phương thức rất an toàn trong xác thực bởi vì dùng cấp độ mã hóa rất mạnh Kerberos cũng dựa trên độ chính xác của thời gian xác thực giữa máy chủ và máy khách, do đó cần đảm bảo tính đồng bộ về mặt thời gian Kerberos là nền tảng xác thực chính của nhiều OS như Unix, Windows
1.5.1.6 Xác thực theo phương pháp Tokens
Tokens là phương tiện vật lý như các thẻ thông minh (smart cards) hoặc thẻ đeo của nhân viên (ID badges) chứa thông tin xác thực Tokens có thể lưu trữ số nhận dạng cá nhân (PIN), thông tin về user hoặc password Các thông tin trên token chỉ có thể đọc và xử lý bởi các thiết bị đặc dụng, ví dụ như thẻ thông minh được đọc bởi đầu đọc thông minh gắn trên máy tính, sau đó thông tin này được gửi đến máy chủ xác thực Tokens chứa chuỗi text hoặc giá trị số duy nhất, thông thường mỗi giá trị này chỉ sử dụng một lần ([1])
1.5.1.7 Xác thực dựa trên Biometrics
Biometrics (phương pháp nhận dạng sinh trắc học) là mô hình xác thực dựa trên đặc điểm sinh học của từng cá nhân như quét dấu vân tay (fingerprint scanner), quét võng mạc mắt (retinal scanner), nhận dạng giọng nói (voice-recognition), nhận dạng khuôn mặt (facerecognition).Vì nhận dạng sinh trắc học hiện rất tốn kém chi phí khi triển khai nên không được chấp nhận rộng rãi như các phương thức xác thực khác ([1])
Trang 331.5.2 Tính bí mật dữ liệu trong VPN
Các VPN hiện nay sử dụng mã hoá để đảm bảo tính bí mật của thông tin trao đổi giữa các bên tham gia giao tiếp
Hai hệ thống mã hoá chính được sử dụng ngày nay đó là mã khoá khoá bí mật
và mã hoá khoá công khai Mã hoá khoá bí mật (hoặc khoá riêng) sử dụng một khoá chia sẻ giữa các bên giao tiếp để mã hoá và giải mã dữ liệu trao đổi Vấn đề chính với mã hoá khoá bí mật là việc trao đổi khoá Việc gửi các khoá bí mật qua môi trường truyền thông Internet là không được đảm bảo, đây chính là điểm yếu của mã hoá khoá bí mật Tuy nhiên, điều này có thể được thực hiện bằng mã hoá khoá công khai Với mã hoá khoá công khai, mỗi bên tham gia giao tiếp đều sử dụng một cặp khoá Điều này có nghĩa là, dữ liệu được mã với một khoá và chỉ có thể giải được với khoá còn lại trong cặp khoá đó Người gửi có thể mã hoá một thông điệp bằng khoá công khai của người nhận, khoá công khai này có thể được công bố rộng rãi Người nhận có thể giải mã thông điệp bằng khoá riêng của mình Các hệ thống mã hoá khoá công khai khắc phục được điểm yếu của hệ thống
mã hoá khoá bí mật, tuy nhiên tốc độ của nó lại chậm hơn so với hệ thống mã hoá khoá bí mật rất nhiều Chính vì vậy, trong thực tế thường sử dụng kết hợp cả hai phương pháp mã hoá trên, mã hoá khoá công khai dùng vào việc trao đổi khoá bí mật, còn mã hoá khoá bí mật dùng cho việc trao đổi dữ liệu Ví dụ, thuật toán mã hoá khoá công khai RSA có thể sử dụng kết hợp với thuật toán mã hoá khoá bí mật DES
1.5.3 Tính toàn vẹn dữ liệu trong VPN
Tính toàn vẹn dữ liệu đảm bảo thông tin được truyền qua mạng công cộng không bị thay đổi Các VPN thường sử dụng một trong các công nghệ sau đây để đảm bảo tính toàn vẹn của dữ liệu:
- Các hàm băm một chiều (One-way hash functions): Hàm băm một chiều
nhận đầu vào là một chuỗi hoặc một tệp dữ liệu có độ dài tùy ý và sinh ra một chuỗi có độ dài cố định Bằng việc sử dụng các hàm băm một chiều ta có thể dễ dàng sinh ra các giá trị băm từ dữ liệu ban đầu, tuy nhiên để xác định được dữ liệu ban đầu từ giá trị băm của nó là một việc hết sức khó khăn Đây là một tính chất đặc biệt quan trọng của hàm băm Để kiểm tra tính toàn vẹn của dữ liệu, người nhận tính toán giá trị băm của dữ liệu ban đầu và so sánh nó với giá trị băm được gửi kèm với dữ liệu ban đầu từ người gửi Nếu hai giá trị này giống nhau, dữ liệu không bị thay đổi, ngược lại dữ liệu bị thay đổi trên đường truyền Các giải thuật băm thường được dùng hiện nay là: MD5, SHA-1
Trang 34- M xác thực thông điệp MAC chỉ đơn giản là thêm một khoá vào các hàm
băm Người gửi tạo một file, tính toán giá trị MAC dựa trên một khoá chia sẻ với bên nhận, và sau đó bổ sung nó vào file đó Khi bên nhận nhận được file, tính toán lại giá trị MAC từ file đó và so sánh giá trị này với giá trị MAC được gắn kèm với file
- Chữ ký điện tử (Digital signatures) có thể được dùng cho mục đích đảm
bảo tính toàn vẹn của dữ liệu Chữ ký điện tử thường là một hệ thống mã hoá công khai theo thứ tự ngược Người gửi “ký” vào tài liệu bằng khoá riêng của mình và người nhận có thể kiểm tra chữ ký thông qua khoá công khai của người gửi ([21])
1.6 Kết luận chương
Chương 1 tác giả đã trình bày tổng quan về các vấn đề cơ bản liên quan đến một mạng riêng ảo, bao gồm khái niệm, phân loại mạng riêng ảo, các giao thức đường hầm được sử dụng để xây dựng mạng riêng ảo, vấn đề xác thực và bảo mật
dữ liệu trong mạng riêng ảo
Chương tiếp theo tác giả trình bày công nghệ mạng riêng ảo SSL VPN và so sánh công nghệ này với một công nghệ đang được sử dụng rộng rãi hiện nay đó là công nghệ mạng riêng ảo IPSec
Trang 35Chương 2 CÔNG NGHỆ MẠNG RIÊNG ẢO SSL VPN
2.1 Giới thiệu
Ngày nay, cùng với sự phát triển nhanh chóng của Internet, số lượng các giao dịch qua mạng ngày càng tăng Việc thực hiện một giao dịch an toàn là một yêu cầu thiết thực, nhất là trong thương mại điện tử và các lĩnh vực nhạy cảm khác như ngân hàng, tài chính,…
Hơn thế nữa, vấn đề ứng dụng công nghệ thông tin vào xây dựng các mạng riêng ảo kết nối văn phòng của các cơ quan, tổ chức, các đối tác thương mại đang là vấn đề có tính chất thời sự Các công nghệ xây dựng mạng riêng ảo hiện nay rất phong phú và đa dạng, mỗi loại có một thuận lợi riêng Chương 2 của luận văn tác giả xin trình về công nghệ mạng riêng ảo SSL VPN
2.1.1 Lịch sử phát triển của giao thức SSL
Giao thức SSL được hình thành và phát triển bởi Netscape vào năm 1994, ngày nay giao thức này được sử dụng rộng rãi và trở thành một chuẩn bảo mật tin cậy cho các giao dịch điện tử qua Internet nói riêng và an ninh mạng nói chung Phiên bản đầu tiên của giao thức SSL (SSL 1.0) chỉ mang tính chất nghiên cứu, thử nghiệm mà không được đưa vào sử dụng Phiên bản SSL 2.0 là một cải tiến của phiên bản đầu, được công bố, phát hành năm 1994 và đề xuất cho các giao dịch thẻ tín dụng tin cậy SSL 2.0 hỗ trợ tính năng xác thực máy chủ và được tích hợp trong Netscape Navigator 1.1 Tuy nhiên, do có nhiều vấn đề về bảo mật nên phiên bản SSL 2.0 nhanh chóng bị thu hồi lại Thực nghiệm cho thấy một kết nối SSL an toàn
từ Navigator có thể bị phá v chưa đầy một giờ đồng hồ
Trong thời gian đó nhiều giải pháp bảo mật mạng và truyền thông đã được nghiên cứu và đề xuất Điển hình là sự ra đời giao thức PCT (Private Communication Techbology) của hãng Microsoft vào tháng 10 năm 1995
Sau sự thất bại của phiên bản SSL 2.0, một bản thiết kế của phiên bản SSL 2.1 được hình thành trên cơ sở khắc phục những thiếu sót của phiên bản SSL 2.0 Tuy nhiên, phiên bản SSL 2.1 không được thực hiện mà thay vào đó là phiên bản SSL 3.0 mới hơn, hoàn thiện hơn và được phát hành vào cuối năm 1995 Phiên bản SSL 3.0 hỗ trợ các thuật toán mã hóa mạnh hơn và điều quan trọng nhất là đã khắc phục được những lỗ hổng về bảo mật của phiên bản SSL 2.0 Ngoài ra, một chuẩn của nhóm đặc trách kỹ thuật Internet IETF có tên là bảo mật lớp giao vận TLS dựa trên SSL cũng được hình thành, phát triển và công bố năm 1996 ([26], [27])
Trang 362.1.2 SSL và mô hình OSI
SSL là một giao thức mạng được đặt giữa giao thức TCP và các giao thức tầng ứng dụng Trong mô hình OSI, các giao thức dịch vụ như HTTP, IMAP điều khiển việc các trang Web hoặc chạy các máy chủ thư điện tử Giao thức tầng giao vận như TCP, UDP điều khiển các luồng dữ liệu giữa hai bên giao tiếp Các giao thức tầng mạng như IP, ICMP cung cấp cơ chế chuyển tiếp, điều khiển các gói tin qua mạng
SSL hoạt động độc lập và trong suốt với các giao thức khác vì vậy nó có thể làm việc với bất kỳ giao thức nào trên tầng ứng dụng và tầng giao vận trong mô hình OSI Mối quan hệ giữa SSL và mô hình OSI được mô tả trong hình vẽ 2.1
User Application
Application Layer
Presentation Layer Session Layer
Transport Layer Network Layer Link Layer
Data Network
SSL Handshake Protocol
SSL Record Protocol
Phisical Layer
Phisical connecttion to network hardware
Network Independent Message
Plain Data Stream Syntax Independent Message
Hình 2.1 Sơ đồ mối quan hệ giữa SSL và mô hình OSI
SSL nhận dữ liệu từ các giao thức tầng trên, mã hoá dữ liệu rồi chuyển xuống cho các giao thức tầng thấp hơn Tại nơi nhận, giao thức tầng dưới cung cấp
dữ liệu cho giao thức SSL, giao thức SSL giải mã dữ liệu rồi tiếp tiếp chuyển cho các giao thức tầng ứng dụng xử lý tiếp
Về cấu trúc, SSL là một bộ gồm các giao thức thành phần được phân tầng Giao thức Handshake điều khiển việc thiết lập liên kết, giao thức Alert điều khiển việc thông báo lỗi, giao thức ChangCipher thực hiện kích hoạt các dịch vụ bảo mật
và giao thức Record thực hiện việc đóng gói các thông điệp do các giao thức tầng
Trang 37trên gửi xuống và chuyển tiếp các thông điệp đến nơi nhận Mối quan hệ giữa các giao thức thành phần SSL được mô tả trong hình 2.2
Record layer
shake Alert Changecipher Appli-cation
Hand-HTTP
TCP
Secure
socket layer
Hình 2.2 Sơ đồ quan hệ giữa SSL và các giao thức khác
Các dịch vụ bảo mật trong SSL bao gồm mã hoá, xác thực và kiểm tra tính toàn vẹn dữ liệu Chi tiết cụ thể các dịch vụ sẽ được trình bày trong phần tiếp theo
2.2 Các khái niệm an ninh được sử dụng trong SSL
2.2.1 M hóa
Kỹ thuật bảo mật dữ liệu đơn giản nhất đó là mã hoá Mã hoá được xây dựng dựa trên ý tưởng biến đổi dữ liệu đầu vào (ở dạng bản rõ, dễ đọc) sang một dạng mới (dạng bản mã, khó nhận biết) bằng cách sử dụng một khoá cụ thể, thường là một chuỗi ngẫu nhiên có độ dài từ 8 đến 24 byte Sơ đồ quá trình mã hoá và giải mã
dữ liệu được mô tả trong hình vẽ 2.3
Trước khi trao đổi dữ liệu, bên gửi và bên nhận thống nhất với nhau về thuật toán và khoá dùng cho quá trình mã hoá và giải mã Bên gửi mã hoá dữ liệu rồi gửi cho bên nhận Khi tới đích, bên nhận giải mã dữ liệu rồi chuyển cho ứng dụng Trên đường truyền dữ liệu có thể bị chặn bởi kẻ tấn công, tuy nhiên do không có khoá giải mã nên kẻ tấn công không thể đọc được nội dung dữ liệu Mức độ can thiệp của kẻ tấn công phụ thuộc phần lớn vào thuật toán dùng để mã hoá, một thuật toán được gọi là an toàn khi nó thoả mãn các điều kiện: kích thước của khoá phải lớn, độ mật của khoá phải cao
Lược đồ mã hoá sử dụng chung một khoá cho việc mã hoá và giải mã thường
được gọi là hệ thống mã hoá khoá đối xứng hay mã hoá khoá bí mật Một số thuật
toán mã hoá khoá đối xứng được sử dụng phổ biến hiện này là: DES, AES, DES, RC2, và RC4… ([2], [6])
Trang 38Triple-Mã hoá Giải mã
Khoá giảiKhoá mã
Hình 2.3 Sơ đồ hệ thống mã hoá khoá đối xứng
Các thuật toán mã hoá khoá đối xứng chỉ an toàn khi khoá chia sẻ được giữ bí mật Nếu bên gửi và bên nhận ở xa nhau thì việc trao đổi khoá sẽ gặp rất nhiều khó
khăn Tuy nhiên, vấn đề trên sẽ được giải quyết khi hệ thống mã hoá khoá công
khai hay mã hoá khoá bất đối xứng được đưa vào sử dụng
Mã hoá khoá công khai là giải pháp tốt nhất cho vấn đề quản lý và trao đổi khoá Trái ngược với mã hoá khoá bí mật, mã hoá khoá công khai sử dụng một cặp khoá khác nhau cho việc mã hoá và giải mã Khoá mã hóa (public key) được công bố rộng rãi, trong khi đó khoá giải mã (private key) được giữ bí mật bởi người sở hữu nó Bằng cách này, hai bên tham gia giao tiếp có thể trao đổi khoá cho nhau an toàn mà không cần gặp nhau Lược đồ mã hoá khoá công khai được mô tả bởi hình vẽ 2.4
Khoá riêng
Khoá công khai
Hình 2.4 Sơ đồ hệ thống mã hoá khoá công khai
Bên gửi dùng khoá công khai của bên nhận để mã hoá thông điệp rồi gửi cho bên nhận, khi nhận được thông điệp, bên nhận dùng khóa riêng của mình để giải mã thông điệp, chỉ có khoá riêng của người nhận mới có thể giải mã được thông điệp Một số thuật toán mã hoá khoá công khai thường được sử dụng là: RSA (Ron Rivest, Adi Shamir và Leonard Adleman) và thuật toán DH (Diffie-Hellman)…
2.2.2 Hàm băm và bản tóm lược thông điệp
Hàm băm một chiều nhận một chuỗi đầu vào có độ dài bất kỳ và sinh ra một chuỗi có độ dài cố định Chuỗi này thể hiện đặc trưng nội dung của thông điệp ban
Trang 39đầu và được gọi là bản tóm lược thông điệp Các bản tóm lược thông điệp có hai đặc tính quan trọng:
1 Tính một chiều: khả năng lấy lại thông điệp ban đầu từ bản tóm lược của
2.2.3 M xác thực thông điệp - MAC
Mã xác thực thông điệp dùng để đảm bảo tình toàn vẹn của dữ liệu trên đường truyền MAC được tạo ra qua việc sử dụng hàm băm một chiều trên thông điệp gửi
đi và khoá bí mật dùng để mã hoá thông điệp MAC luôn luôn phụ thuộc vào cả thông điệp đang được xử lý lẫn khoá được dùng để mã hoá
Bên gửi tính toán MAC rồi bổ sung vào thông điệp trước khi gửi đi, tại nơi nhận một giá trị MAC mới được tính từ dữ liệu thu được và so sánh với MAC được bên gửi đích kèm Nếu hai giá trị này giống nhau, thông điệp gửi đi không bị thay đổi, ngược lại, thông điệp bị thay đổi nội dung trên đường truyền Chỉ có bên nhận
và bên gửi mới tạo được ra mã xác thực giống nhau vì chí có họ mới có khoá bí mật
2.2.4 M hoá khoá công khai và chữ ký điện tử
Mã hoá khoá công khai ngoài mục đích giải quyết vấn đề quản lý, phân phối khoá còn được dùng vào việc xác thực, trong trường hợp này khoá riêng được dùng
để tạo ra tài liệu xác thực, tài liệu đó được gọi là chữ ký điện tử Chữ ký điện tử
được dùng để xác nhận các bên tham gia giao tiếp và tránh sự tấn công kiểu trung gian xảy ra Quan hệ giữa chữ ký điện tử và MAC có thể so sánh với quan hệ giữa
mã hoá khoá công khai và mã hoá khoá đối xứng; người gửi dùng khoá riêng để ký vào thông điệp và người nhận dùng khoá công khai của người gửi để xác nhận chữ
ký của người gửi Chữ ký điện tử còn có một thuộc tính quan trọng hơn đó là tính không thể chối cãi (nonrepudation) Cả người gửi và người nhận có thể tạo ra mã xác thực thông điệp nhưng chỉ có người ký thông điệp mới có thể tạo ra chữ ký Vì vậy, người nhận luôn luôn chứng minh rằng người gửi đã ký vào thông điệp và không thể chối cãi được Hình vẽ 2.5 là sơ đồ xác thực dữ liệu của người dùng qua việc sử dụng chữ ký điện tử ([26])
Trang 40Chữ ký điện tử
Dữ liệu ban đầu
Bản tóm lược
dữ liệu
Internet
Khoá riêng của người gửi
Chữ ký điện tử
So sánh
Hàm băm
Hình 2.5 Sơ đồ xác thực dữ liệu dùng
chữ ký điện tử
Hàm
2.2.5 Chứng chỉ số và cơ quan cung cấp chứng chỉ số
Do khoá công khai được công bố một cách rộng rãi cho nên khi người gửi và người nhận trao đổi khoá công khai với nhau, kẻ tấn công có thể chặn các khoá này trên đường truyền và thay vì gửi khoá đó, họ sẽ gửi khoá của mình có cho các bên Vậy làm thế nào để các bên tham gia giao tiếp nhận được khoá công khai của nhau?
Ta có thể gửi trực tiếp, tuy nhiên như đã nói, cách này không an toàn
Vấn đề sẽ được giải quyết với sự tham gia của bên thứ ba tin cậy, gọi là cơ quan chứng thực (CA) Tài liệu dùng để chứng thực gọi là chứng chỉ số (hay chứng chỉ điện
tử - digital certificate) Mỗi chứng chỉ số thông thường bao gồm các thông tin sau:
• Version: Phiên bản của chứng chỉ số
• Serial Number: số sê ri của chứng chỉ số
• Issuer Name: tên của người ký chứng chỉ số (như VeriSign)
• Subject Name: tên của chứng chỉ/người giữ khoá (như www.ikea.com)
• Period of validity: ngày hết hạn của chứng chỉ
• Subject: bao gồm những thông tin về thực thể được chứng nhận
• Public key: khóa công khai được chứng nhận
• Signature: chữ ký điện tử do CA ký trên toàn bộ tài liệu có trong chứng chỉ
nhằm đảm bảo giá trị của chứng thực của chứng chỉ số ([7])
Như vậy, giải pháp quản lý khoá chánh sự tấn công trung gian đã được tạo ra
CA không có quyền truy cập đến khoá riêng của bất kỳ ai, có nghĩa CA không thể