ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN ĐÌNH NGHĨA 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 Chuyên ngành: Công nghệ thông tin
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH NGHĨA
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
Chuyên ngành: Công nghệ thông tin
Mã số : 1.01.10
LUẬN VĂN THẠC SỸ
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
Trang 32.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
2.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
Trang 43.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
3.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
Phụ lục A
Phụ lục B
Phụ lục C
Phụ lục D
Phụ lục E
Phụ lục F
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT, THUẬT NGỮ TRONG LUẬN VĂN
AH Authentication Header
CHAP Challenge Handshake Authentication Protocol
CA Certification Authority
DES Data Encryption Standard
FEP Front-End-Processor
ESP Encapsulating Security Payload
GRE Generic Routing Encapsulation
HDLC High-Level Data Link Control
IETF Internet Engineering Task Force
IPSec Internet Protocol Security
IPSec VPN Mạng riêng ảo sử dụng công nghệ IPSec
L2TP Layer 2 Tunneling Protocol
LCP Link Control Protocol
LDAP Lightweight Directory Access Protocol
MAC Message Authentication Code
Message Digest Bản tóm lược thông điệp
MPLS Multi Protocol Label Switching
MPPE Microsoft Point to Point Encryption
NAS Network Access Server
NAT Network Address Translation
NCP Network Control Protocol
PAP Password Authentication Protocol
PIN Personal Identification Number
PoP Point of Presence
PKC Public Key Cryptography
PPP Point to Point Protocol
PPTP Point to Point Tunneling Protocol
RAS Remote Access Server
RC2, và RC4 Rivest's Cipher or Ron's Code
SKC Secret Key Cryptography
SSL Secure Socket Layer
SSL VPN Mạng riêng ảo sử dụng công nghệ SSL
Trang 6TLS Transport Layer Security VPN Virtual Private Network
Trang 7DANH 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
Trang 8Hì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
Hì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
Trang 9Hì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
Hì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 10MỞ ĐẦ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
Trang 11TÀI LIỆU THAM KHẢO
Tiếng Việt
1 Trần Công Hùng (2002), Kỹ thuật mạng riêng ảo, NXB Bưu Điện
2 Thái Hồng Nhị, Phạm Minh Việt (2004), An toàn thông tin, NXB Khoa học kỹ thuật
Tiếng Anh
3 Richard Deal (2005), The Complete Cisco VPN Configuration Guide, Cisco Press
4 James Henry Carmouche, Ipsec Virtual Private Network Fundamentals, Cisco Press
5 Ebook – Cisco Access VPN Solutions Using Tunneling Technologies, Cisco Press
6 Stephen A.Thomas, SSL and TLS Essentials, Wiley
7 Meeta Gupta (2003), Building a Virtual Private Network, Premier Press
8 By Gert De Laet, Gert Schauwers (2004), Network Security Fundamentals, Cisco Press
9 Franck Martin (2002), SSL Certificates Howto
10 Chartlei Hosner (2004), OpenVPN and the SSL Revolution
11 Cisco systems(2002), Introduction to Secure Socket Layer, White Page
12 Kipp E B Hickman The SSL Protocol, Veraion 2.0 Netscape Communications,
1995, http://wp.netscape.com/eng/security/SSL2.html (2003)
13 A O Freier P Karlton and P C Kocher The SSL Protocol, Version 3.0 Netscape
Communications, 1996, http://wp.netscape/eng/ssl3/draft302.txt (2003)
14 T Dierks and C Allen RFC2246, The TLS Protocol, Version 1.0 Network
Working Group, 1999, ftp://ftp.rfc-editor.org/in-notes/rfc2246.txt (2003)
15 Eric Rescorla SSL and TLS, Designing and Building Secure Systems Addison
Wesley, 2001, 3rd printing
16 H Krawczyk M Bellare and R Canetti HMAC: Keyed-Hashing for Message
Authentication,RFC 2104 Network Working Group, 1997,
ftp://ftp.rfc-editor.org/innotes/rfc2104.txt (2003)
17 V Rijmen: The block cipher Rijndael http://www.esat.kuleuven.ac.be/
~rijmen/rijndael/, (2001)
18 National Institute of Standards and Technology: Specification for the Advanced Encryption Standard (AES) http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf, (2001)
Trang 1219 Virtual Private Networking: An Overview, (2001)
http://www.microsoft.com/technet/prodtechnol/windows2000serv/plan/vpnoverv iew.mspx
20 Virtual Private Network http://www.d-link.co.za/pdf/7.%20D-Link%20 Virtual
%20Private%20Network%20Self%20Study.pdf
21 Christopher McDonaldVirtual: Private Networks An overview
http://www.intranetjournal.com/foundation/vpn-1.shtml
22 The VPN Overview
http://searchnetworking.techtarget.com/searchNetworking/downloads/Buildvpn1.pdf
23 VPN Overview
http://www.juniper.net/techpubs/software/junos/junos72/swconfig72-vpns
/download/vpn-overview.pdf
24 Yinglam Cheung, 2003 Multi-Protocol Label Switching (MPLS)
http://www.slb.com/media/services/consulting/infrastructure/mpls_whitepaper.pdf
25 R Rivest The MD-5 Message-Digest Algorithm, RFC 1321 John Wiley and Sons,
1996, ftp://ftp.rfc-editor.org/in-notes/rfc1321.txt (2003)
26 Michael Hayoz, Introducing SSL The Secure Sockets Layer Protocol
http://diuf.unifr.ch/ds/michael.hayoz/docs/hayozm_ssl.pdf
27 Joseph Steinberg, Timothy Speed, SSL VPN, PACKT