1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu và cài đặt OpenVPN

52 839 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 4,41 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1.4 Định nghĩa “đường hầm” và “mã hóa” Chức năng chính của một VPN là cung cấp sự bảo mật thông tin bằng cách mã hoá và chứng thực qua một đường hầm tunnel Định nghĩa đường hầm: Cung cấp

Trang 1

TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THÔNG TIN TP.HCM

KHOA CÔNG NGHỆ THÔNG TIN

Khóa : 2009 - 2012

TP Hồ Chí Minh , tháng 6 năm 2012

Trang 2

Lời mở đầu Ngày nay, sự phát triển nhanh chóng của công nghệ thông tin, thế giới ngày càng xích lại gần nhau hơn! Nhiều công ty đang vượt qua ranh giới cục bộ và khu vực, vươn ra thị trường thế giới Nhiều doanh nghiệp có qui mô rộng khắp toàn quốc thậm chí cả trên thế giới, và tất cả họ đều đối mặt với một nhu cầu thiết thực: một cách thức nhằm duy trì những kết nối thông tin kịp thời, an toàn và hiệu quả cho dù văn phòng đặt tại bất cứ nơi đâu

Kênh leased line (truyền dẫn thông tin thuê riêng) là giải pháp cơ bản cho kết nối mạng WAN (mạng diện rộng) trên phạm vi khu vực và thế giới Leased lines, bao gồm: ISDN (integrated services digital network, 128 Kbps), OC3 (Optical Carrier-3, 155 Mbps) fiber,

đã giúp các công ty mở rộng mạng cục bộ ra nhiều khu vực địa lý cách xa nhau Những lợi ích của dịch vụ mang diện rộng như: tốc độ, an toàn và hiệu quả, tuy nhiên việc duy trì những WAN như thế, và nhất là leased lines, có chi phí rất cao và chi phí này sẽ được tăng lên theo khoảng cách địa lý giữa các chi nhánh của công ty

Internet ngày nay đang được phát triển rộng rãi, doanh nghiệp dần dần chuyển sang sử dụng Internet như một phương tiện giúp họ mở rộng mạng cục của mình Đầu tiên là intranets - là những sites được bảo vệ bằng password và sử dụng trong công ty Giờ đây, phần lớn các doanh nghiệp đang thiết lập dịch vụ VPN (virtual private network) nhằm đáp ứng nhu cầu kết nối từ xa giữa nhân viên với văn phòng cũng như giữa các văn phòng cách xa về địa lý

VPN (mạng riêng ảo) gồm một mạng LAN chính đặt tại trụ sở chính công ty, các mạng LAN khác đặt ở văn phòng cách xa trụ sở chính, nhân viên có thể kết nối từ xa đến mạng nội bộ của công ty thông qua mạng công cộng (thường là internet)

VPN về cơ bản là một mạng cục bộ tận dụng hạ tầng mạng công cộng có sẵn để kết nối các chinh nhánh của công ty cũng như nhân viên ở cách xa công ty Thay cho việc sử dụng kết nối trực tiếp giữa các chi nhánh như leased lines (kênh thuê riêng), VPN sử dụng các kết nối ảo được thiết lập trong môi trường mạng công cộng như internet từ mạng riêng của công ty tới các chi nhánh hoặc nhân viên trong công ty ở xa

Với sự hướng dẫn, giúp đỡ của thầy cô và bạn bè Chúng em chọn đề tài OpenVPN (mạng riêng ảo – mã nguồn mở) để nghiên cứu và các giải pháp công nghệ cho đến vấn

đề xây dựng mạng riêng ảo này

SV Kiều Đình Luân – Trần Quốc Vinh

Trang 3

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Chữ ký của GVHD

Trang 4

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

Chữ ký của GVPB

Trang 5

MỤC LỤC

OpenVPN

Chương 1: Tổng Quan về VPN 1

1.Tổng Quan 1

1.1 Định nghĩa VPN 1

1.2 Lợi ích của VPN 2

1.3 Chức năng của VPN 3

1.4 Định nghĩa đường hầm và mã hóa 4

1.5 Mã hóa và giải mã 4

2 Các dạng kết nối ảo VPN 4

2.1 Remote Access VPNs 4

2.1.1 Lợi ích của Remote Access VPNs 4

2.1.1 Bất lợi của Remote Access VPNs 6

2.2 Site-to-Site VPN 6

2.2.1 Intranet (VPN nội bộ) 8

2.2.1 Extranet VPNs (VPN mở rộng) 9

3 VPN và an toàn bảo mật trên Internet 10

4 An toàn và tin cậy 10

Chương 2: Secure Socket Layer (SSL) 12

Mục tiêu và mô hình SSL 13

Session và kết nối SSL 14

Giao thức SSL record 15

Giao thức báo động 18

Giao thức ChangeCipher Spec 18

Giao thức bắt tay 18

Trang 6

Chương 3: OpenVPN 24

Ưu điểm của OpenVPN 24

Lịch sử phát triển của OpenVPN 25

Các phiên bản của OpenVPN 25

OpenVPN phiên bản 1 25

OpenVPN phiên bản 2 27

So sánh các giao thức VPN PPTP và L2TP và OpenVPN 28

Chương 4: Hướng dẫn OpenVPN Client to Site trên Ubuntu 29

Trang 7

Chương 1: Tổng quan về VPN

1 Tổng Quan

Ngày nay, Internet đã phát triển mạnh mẽ và nhanh chóng, đáp ứng các nhu cầu của người sử dụng Internet có thể kết nối nhiều mạng khác nhau và thông tin được truyền một cách nhanh chóng mà không bị rào cản nào cả Người ta sử dụng Router (thiết bị định tuyến) để kết nối các mạng LAN và mạng WAN với nhau Các máy tính kết nối vào Internet thông qua ISP (Internet Service Provider - nhà cung cấp dịch vụ), và nó được chạy trên nền giao thức chung TCP/IP

Internet đã mở ra một “thế giới phằng”, những dịch vụ như: Internet TV, giáo dục từ

xa, mua-bán trực tuyến, giao dịch ngân hàng, v v và rất nhiều điều khác đã trở thành hiện thực Tuy nhiên, do Internet là mạng công cộng có phạm vi toàn cầu và không một tổ chức, chính phủ cụ thể nào quản lý nên việc bảo mật và an toàn dữ liệu cũng như trong việc quản lý các dịch vụ trở nên khó khăn Từ đó, người ta đã đưa ra một mô hình mạng mới nhằm đáp ứng những yêu cầu về bảo mật mà vẫn tận dụng lại

hệ thống mạng sẵn có của Internet - đó chính là mô hình VPN (Virtual Private Network - mạng riêng ảo)

Với VPN, các tính năng như bảo mật dữ liệu, độ tin cậy được đảm bảo mà không cần phải đầu tư nhiều cho cơ sở hạ tầng VPN cho phép người sử dụng làm việc ở bất cứ đâu có kết nối Internet như: tại nhà, các văn phòng, chi nhánh công ty hay ở ngoài đường đều có thể kết nối an toàn đến mạng nội bộ của tổ chức mình VPN có thể bảo mật thông tin giữa các đại lý, người cung cấp, và các đối tác kinh doanh trong môi trường mạng công cộng Trong nhiều trường hợp VPN cũng giống như WAN (Wide Area Network), tuy nhiên đặc tính quyết định của VPN là tận dụng cơ sở hạ tầng sẵn

có của mạng công cộng như Internet mà vẫn đảm bảo tính riêng tư và tiết kiệm 1.1 Định nghĩa VPN

VPN (Virtual Private Network - mạng riêng ảo) là một mạng dành riêng để kết nối các máy tính của các công ty, tập đoàn hay các tổ chức với nhau thông qua mạng công cộng (thường là Internet) Về căn bản, mỗi VPN là một mạng riêng rẽ sử dụng một mạng chung (thường là internet) để kết nối cùng với các site (các mạng riêng lẻ) hay nhiều người sử dụng từ xa Thay cho việc sử dụng một kết nối thực, chuyên dụng như đường leased line, mỗi VPN sử dụng các kết nối ảo được dẫn đường qua Internet từ mạng riêng của các công ty tới các site hay các nhân viên từ xa Để có thể gửi và nhận

dữ liệu thông qua mạng công cộng mà vẫn bảo đảm tính an tòan và bảo mật VPN

Trang 8

cung cấp các cơ chế mã hóa dữ liệu trên đường truyền tạo ra một đường hầm bảo mật

giữa nơi nhận và nơi gửi (Tunnel) giống như một kết nối point-to-point trên mạng

riêng Để có thể tạo ra một đường ống bảo mật đó, dữ liệu phải được mã hóa hay che

giấu đi chỉ cung cấp phần đầu gói dữ liệu (header) là thông tin về đường đi cho phép

nó có thể đi đến đích thông qua mạng công cộng một cách nhanh chóng Dữ lịêu được

mã hóa một cách cẩn thận do đó nếu các packet bị bắt lại trên đường truyền công cộng

cũng không thể đọc được nội dung vì không có khóa để giải mã Liên kết với dữ liệu

được mã hóa và đóng gói được gọi là kết nối VPN Các đường kết nối VPN thường

được gọi là đường hầmVPN (VPN Tunnel)

Hình 1-1: Mô hình sử dụng VPN 1.2 Lợi ích của VPN

VPN cung cấp nhiều đặc tính hơn so với những mạng truyền thống và những mạng

leased-line Những lợi ích gồm:

Trang 9

 Chi phí thấp hơn.

 Tính linh hoạt: VPN có tính linh hoạt và có thể mở rộng thêm những kiến trúc mạng hơn là những mạng cổ điển, nếu công ty mở thêm chi nhánh thì việc kết nối thêm một đường truyền mạng ảo (VPN) tới trung tâm sẽ nhanh chóng và chi phí tương đối rẻ VPN có thể dễ dàng kết nối hoặc ngắt kết nối từ xa của những văn phòng, chi nhánh quốc tế, teleworker (nhân viên làm việc ở xa), v v

 Sử dụng những cấu trúc đường hầm: Sử dụng một giao thức Internet backbone Không giống như những PVC tĩnh hợp với kết nối hướng những giao thức như: Frame Rely và ATM

 Tăng tính bảo mật: các dữ liệu sẽ được mã hóa hoặc bọc một lớp mã hóa dữ liệu nhầm che giấu đối với những người không có quyền truy cập và những người dùng có quyền truy cập được phép truy cập

 Hỗ trợ các giao thức TCP/IP

 Bảo mật địa chỉ IP: mọi dữ liệu được truyền đi trên VPN đã được mã hóa VPN chỉ sử dụng các địa chỉ bên ngoài Internet do đó, các điạ chỉ bên trong mạng riêng được mã hóa

1.3 Chức năng của VPN

VPN có ba chức năng chính: tính xác thực (Authentication), tính toàn vẹn (Integrity)

và tính bảo mật (Confidentiality)

 Tính xác thực: Trước khi thiết lập một kết nối VPN thì cả hai đầu đường hầm

phải xác thực lẫn nhau để khẳng định chính xác đó là đầu đường hầm mà mình cần trao đổi thông tin

 Tính toàn vẹn: Đảm bảo trong quá trình truyền dữ liệu không bị thay đổi hay có

bất cứ sự xáo trộn nào

 Tính bảo mật: Dữ liệu của người gửi sẽ được mã hóa trước khi truyền qua mạng

công cộng và dữ liệu này sẽ được giải mã ở phía người nhận Đảm bảo chắc chắn rằng không một ai có thể truy nhập thông tin trái phép Thậm chí nếu có lấy được thì cũng không đọc được vì gói tin đã dược mã hóa

Trang 10

1.4 Định nghĩa “đường hầm” và “mã hóa”

Chức năng chính của một VPN là cung cấp sự bảo mật thông tin bằng cách mã hoá và chứng thực qua một đường hầm (tunnel)

Định nghĩa đường hầm:

Cung cấp các kết nối logic - điểm nối điểm, các gói dữ liệu được mã hoá và di chuyển trong một đường hầm riêng biệt qua mạng, làm tăng tính bảo mật thông tin vì dữ liệu sau khi đã mã hoá sẽ lưu chuyển trong một đường hầm được thiết lập giữa người gửi

và người nhận vì vậy sẽ tránh được sự mất cắp, xem trộm thông tin, đường hầm chính

là đặc tính ảo của VPN

Các giao thức định đường hầm được sử dụng trong VPN như sau:

 L2TP (layer 2 Tunneling Protocol): Giao thức định đường hầm tầng 2

 PPTP (Point-to-Point Tunneling Protocol)

(Giao thức định đường hầm điểm nối điểm tầng 2)

 L2F (Layer 2 Forwarding) : Giao thức chuyển gói tầng 2

 SSL (secure socket layer)

Các VPN nội bộ và VPN mở rộng có thể sử dụng các công nghệ:

 IP Sec (IP security – hoạt động ở tầng 3)

 GRE (Genenic Routing Encapsulation - hoạt động ở tầng 3)

1.5 Mã hoá và giải mã (Encryption/Deccryption):

Từ nội dung thông tin nguyên bản ở dạng đọc được (clear text hay plain text) thành một dạng văn bản mật mã vô nghĩa không đọc được (cyphertex), vì vậy nó không có khả năng đọc được hay khả năng sử dụng bởi những người dùng không được phép Giải mã là quá trình ngược lại của mã hoá, tức là biến đổi văn bản đã mã hoá thành dạng đọc được bởi những người dùng được phép

2 Các dạng kết nối mạng riêng ảo VPN

2.1 Truy cập VPN (Remote Access VPNs)

Trang 11

Remote Access VPNs: cho phép các nhân viên của công ty truy cập từ xa bất cứ lúc nào bằng Remote, mobile, và các thiết bị truyền thông đến tài nguyên mạng nội bộ của tổ chức mình

Người dùng ở xa sử dụng phần mềm Remote Access VPNs để truy cập vào mạng Intranet của công ty thông qua gateway hoặc VPN concentrator (bản chất là Server)

Vì vậy, giải pháp này thường được gọi là client/server Từ giải pháp này, người ta thường sử dụng các công nghệ WAN để tạo lại các đường hầm về mạng HO (Head Office) của họ

Trong remote access VPNs người ta còn dùng wireless VPN, tức là một nhân viên có thể truy cập về mạng của công ty họ thông qua kết nối không dây Trong thiết kế này, các kết nối không dây cần phải kết nối về một trạm wireless (Wireless terminal) và sau đó về mạng của công ty Trong cả hai trường hợp, phần mềm client trên máy PC đều cho phép khởi tạo các kết nối bảo mật, còn được gọi là tunnel (đường hầm)

Việc thiết kế quá trình xác thực ban đầu giữa hai đầu đường hầm nhằm để đảm bảo là yêu cầu được xuất phát từ một nguồn tin cậy Thông thường giai đoạn ban đầu này dựa trên cùng một chính sách về bảo mật của công ty Chính sách này gồm: quy trình (Procedure), kỹ thuật, server (như là: Remote Authentication Dial-In User Service [RADIUS], Terminal Access Controller Access Control System Plus [TACACS+])

Việc triển khai Remote Access VPNs, các chi nhánh văn phòng chỉ cần cài đặt một kết nối đến ISP (nhà cung cấp dịch vụ) để kết nối đến trụ sở chính của công ty thông qua mạng công cộng Thông tin Remote Access Setup được mô tả bởi hình vẽ sau:

Trang 12

2.1.1 Lợi ích của Remote Access VPNs:

 Việc sử dụng kết hợp với modem không còn nữa và sự cần thiết của RAS (Remote Access Server)

 Quá trình kết nối từ xa đã được tạo điều kiện thuận lợi bởi nhà cung cấp dịch vụ (Internet Service Provider – ISP) Việc hỗ trợ của nhân viên mạng cho người dùng cá nhân gần như không còn

 Những kết nối với khoảng cách xa sẽ được thay thế bởi các kết nối cục bộ

 Giảm giá thành chi phí kết nối với khoảng cách xa

 Đây là một kết nối truy cập nội bộ, do vậy tốc độ kết nối sẽ cao hơn so với kết nối trực tiếp đến những khoảng cách xa

 VPNs cung cấp khả năng truy cập đến trung tâm tốt hơn bởi vì VPNs hỗ trợ dịch

vụ truy cập ở mức độ thấp nhất cho kết nối, dù có nhiều các kết nối truy cập đến mạng công ty cùng một lúc

2.1.2 Bất lợi của Remote Access VPNs:

Do truyền trên mạng công cộng rộng lớn như internet, có thể gói tin sẽ bị thất lạc và truyền chậm

Hình 1-2: Mô hình VPN Remote Access

Trang 13

2.2 Site-to-Site VPN

Site-to-site : hay còn gọi là LAN-to-LAN, được áp dụng để cài đặt từ hai mạng hay nhiều mạng LAN cách xa nhau về mặt địa lý thông qua VPN Với Site-to-site này, người sử dụng phải thực hiện chứng thực lần đầu tiên giữa các thiết bị mạng của hai đầu đường hầm Khi đó mỗi thiết bị ở đầu đường hầm đóng vai trò như là một gateway Các thiết bị VPN chuyên dụng hay các Router và Firewall tương thích với VPN đều cung cấp các chức năng này

Hình 1-3: Mô hình VPN Site-to-Site

Site-to-Site VPN là sự kết nối hai mạng riêng lẻ thông qua một đường hầm bảo mật

sử dụng các giao thức PPTP, L2TP, hoặc IPSec

Kết nối Site-to-Site VPN được thiết kế để tạo một kết nối mạng trực tiếp, hiệu quả

Có thể kết nối này thông qua Internet hoặc một mạng không được tin cậy.Bảo mật dữ liệu bằng cách mã hoá dữ liệu trên tất cả các gói dữ liệu khi truyền qua các mạng đó

Trang 14

2.2.1 Intranet (VPN nội bộ)

Intranet VPNs (VPN nội bộ): kết nối các mạng từ trụ sở chính tới các văn phòng và các chi nhánh ở cách xa nhau thông qua cơ sở hạ tầng mạng công cộng sẵn có như Internet thành một mạng riêng tư của một tổ chức gồm nhiều công ty và văn phòng làm việc cách xa nhau về địa lý Tất nhiên là kết nối này đều được mã hoá dữ liệu khi truyền thông tin qua lại với nhau

Những thuận lợi của Intranet:

 Chi phí giảm do giảm số lượng Router vì được triển khai theo mô hình WAN backbone

 Sự hỗ trợ của nhân viên kỹ thuật giảm

Hình 1-4: Mô hình Intranet VPN

Trang 15

 Bởi vì Internet hoạt động như một kết nối trung gian, nó dễ dàng cung cấp những kết nối mới ngang hang

 Kết nối nhanh hơn và tốt hơn do chỉ kết nối đến nhà cung cấp dịch vụ, khoảng cách ngắn nên giảm thiểu chi phí cho việc thực hiện Intranet

 Kết hợp với công nghệ chuyển mạch tốc độ cao như: Frame-Relay, ATM

Những bất lợi của Intranet:

 Trong quá trình truyền trên mạng công cộng hay có những mối de dọa và nguy

cơ tấn công, như denial-of service (tấn công bằng từ chối dịch vụ)

 Khả năng mất dữ liệu khi truyền rất cao

 Tốc độ, chất lượng phụ thuộc hoàn toàn vào Internet

2.2.2 Extranet VPNs (VPN mở rộng)

Từ Intranet người ta mở rộng thêm liên kết các khách hàng, những nhà cung cấp, những đối tác hay những nhân viên làm việc trong các Intranet qua cơ sở hạ tầng dùng chung những kết nối gọi là Extranet

Extranet cho phép truy nhập những tài nguyên mạng cần thiết kế của các đối tác kinh doanh, chẳng hạn như khách hàng, nhà cung cấp, đối tác những người giữ vài trò quan trọng trong tổ chức thông qua đường hầm bảo mật

Hình 1-5: Mô hình Extranet VPN Một số thuận lợi của Extranet:

Trang 16

Vì là kết nối thông qua Internet nên có thể lựa chọn nhà cung cấp dịch vụ tuỳ theo nhu cầu của tổ chức

Chi phí thấp bởi được bảo trì bởi nhà cung cấp ISP

Dễ dàng thiết lập, bào trì, sửa chữa

Dễ dàng triển khai, quản lý và chỉnh sữa thông tin

Một số bất lợi của Extranet:

 Vấn đề về những de dọa tấn công bằng từ chối dịch vụ, bảo mật thông tin vẫn còn tồn tại

 Tăng thêm về sự xâm nhập tới mạng cục bộ của tổ chức trên Extranet

 Do sử dụng Internet nên khi truyền tùy thuộc vào chất lượng dịch vụ Internet

3 VPN và an toàn bảo mật trên Internet

Với sự bùng nổ và mở rộng mạng Internet toàn cầu sẽ ngày càng tăng, hàng tháng có rất nhiều mạng mới được kết nối vào Internet kèm theo đó là vấn đề làm sao để có thể đảm bảo an toàn khi trao đổi thông tin trên mạng công cộng như Internet Sự rò rỉ và mất cắp thông tin dữ liêu đã gây thiệt hại và ảnh hường rất lớn về kinh tế trên toàn thế giới Các loại tội phạm như “hacker” luôn tìm mọi cách để đánh cắp thông tin như: thẻ tín dụng, tài khoản người dùng, các thông tin kinh tế, chính trị nhạy cảm của các công ty, tổ chức hay cá nhân nào đó

Vậy giải pháp sử dụng mạng riêng ảo VPN sẽ giải quyết vấn đề an toàn và bảo mật thông tin trên Internet như thế nào ?

Câu trả lời để các tổ chức, các doanh nghiệp, cá nhân cảm thấy yên tâm khi trao đổi thông tin dữ liệu qua mạng Internet là sử dụng công nghệ mạng riêng ảo VPN

Thực chất công nghệ chính được sử dụng trong mạng riêng ảo VPN là tạo ra một đường hầm (tunnel) mã hoá và chứng thực dữ liệu giữa hai đầu kết nối Các thông tin

dữ liệu sẽ được mã hoá và chứng thực trước khi được truyền trong một đường hầm riêng biệt, qua đó sẽ tránh được những cặp mắt tò mò của những kẻ muốn đánh cắp thông tin

Trang 17

4 An toàn và tin cậy

Có 4 yếu tố ảnh hưởng đến một hệ thống đáng tin cậy:

 Tính sẵn sàng: Khả năng sẵn sàng, đáp ứng yêu cầu trong khoảng thời gian

Tính sẵn sáng dược thực hiện qua những hệ thống phần cứng dự phòng

 Sự tin cậy: Nó định nghĩa xác xuất của hệ thống thực hiện các chức năng của nó

trong một chu kỳ thời gian Sự tin cậy khác với tính sẵn sàng , nó được đo trong

cả một chu kỳ của thời gian Nó tương ứng tới tính liên tục của một dịch vụ

 Sự an toàn: Nó chỉ báo hiệu một hệ thống thực hiện những chức năng của nó

chính xác hoặc thực hiện trong trường hợp thất bại một ứng xử không thiệt hại nào xuất hiện

 Sự an ninh: Sự bảo vệ tất cả các tài nguyên trong hệ thống

Trang 18

Chương 2: Secure Socket Layer (SSL) Bảo mật dữ liệu trong quá trình truyền tải qua Internet ngày càng trở nên cần thiết vì khối lượng dữ liệu ngày càng tăng và tầm quan trọng trong việc bảo mật dữ liệu Ngày nay, mỗi người sử dụng của một mạng công cộng để gửi các loại dữ liệu khác nhau, từ email cho đến các chi tiết thẻ tín dụng hàng ngày, và vì vậy muốn được bảo

vệ khi dữ liệu qua một mạng công cộng Để kết thúc vấn đề này, một giao thức SSL thực tế đã được áp dụng để bảo vệ dữ liệu trong truyền tải bao gồm tất cả các dịch vụ mạng sử dụng TCP/IP để hỗ trợ các ứng dụng điển hình của giao tiếp giữa máy chủ và khách hàng

Các giao thức SSL được phát triển bởi Netscape, để đảm bảo an ninh dữ liệu vận chuyển và định tuyến thông qua các lớp ứng dụng của HTTP, LDAP hay POP3 SSL được thiết kế để làm cho việc sử dụng của TCP như là một lớp giao tiếp để cung cấp một kết nối end-to-end an toàn và đáng tin cậy xác thực giữa hai điểm trên một mạng (ví dụ giữa khách hàng và máy chủ dịch vụ) Mặc dù SSL này có thể được sử dụng để bảo vệ dữ liệu trong quá trình truyền tải trong các tình huống liên quan đến bất kỳ dịch vụ mạng, nó được sử dụng chủ yếu trong máy chủ HTTP và các ứng dụng của khách hàng Ngày nay, hầu như mỗi máy chủ HTTP đều có thể hỗ trợ một session SSL, trong khi trình duyệt IE hoặc trình duyệt Netscape Navigator được cung cấp với phần mềm khách hàng cho phép SSL

Hình 2-1: SSL giữa tầng ứng dụng và TCP/IP

Trang 19

Mục tiêu và mô hình SSL

Những vấn đề thực hiện mục tiêu SSL? Các mục tiêu chính cho SSL là:

 Chứng thực các khách hàng và máy chủ với nhau: các giao thức SSL hỗ trợ việc

sử dụng các kỹ thuật mật mã tiêu chuẩn quan trọng (mã hóa khóa công khai) để xác thực các bên giao tiếp với nhau Mặc dù các ứng dụng thường xuyên nhất bao gồm chứng thực của khách hàng dịch vụ trên cơ sở của một chứng chỉ, SSL cũng có thể sử dụng các phương pháp tương tự để xác thực khách hàng

 Bảo đảm tính toàn vẹn dữ liệu trong một session làm việc, dữ liệu không thể được, hoặc cố ý hoặc vô ý giả mạo

 Bảo mật dữ liệu riêng tư: dữ liệu trong vận tải giữa khách hàng và máy chủ phải được bảo vệ đánh chặn và có thể đọc được chỉ người nhận Điều kiện tiên quyết này là cần thiết cho cả các dữ liệu liên kết với các giao thức (đảm bảo giao thông trong quá trình đàm phán) và các ứng dụng dữ liệu được gửi trong các session bản thân SSL là trong thực tế không phải là một giao thức đơn lẻ mà là một tập hợp các giao thức bổ sung có thể được tiếp tục chia thành hai lớp:

 giao thức để đảm bảo an ninh và toàn vẹn dữ liệu: lớp này bao gồm các giao thức SSL Record,

 các giao thức được thiết kế để thiết lập một kết nối SSL: ba giao thức được sử dụng trong lớp này: SSL Handshake Protocol, SSL ChangeCipher Spec Protocol và SSL Alert Protocol

Trang 20

SSL sử dụng các giao thức này để giải quyết các nhiệm vụ như mô tả ở trên Các record của giao thức SSL chịu trách nhiệm cho việc mã hóa dữ liệu và tính toàn vẹn Như có thể thấy trong hình, nó cũng được sử dụng để đóng gói dữ liệu được gửi bởi giao thức SSL khác, và do đó, nó cũng tham gia vào các nhiệm vụ liên kết với các dữ liệu kiểm tra SSL Ba giao thức khác bao gồm các lĩnh vực quản lý session, quản lý tham số mật mã và chuyển giao các thông điệp SSL giữa khách hàng và máy chủ Trước khi đi sâu vào một cuộc thảo luận chi tiết hơn về vai trò của giao thức cá nhân

và chức năng của nó cho tôi mô tả hai khái niệm cơ bản liên quan đến việc sử dụng SSL

Session và kết nối SSL

Các khái niệm như đã đề cập ở trên là nền tảng cho một kết nối giữa khách hàng và máy chủ, và nó cũng bao gồm một loạt các thuộc tính Hãy cố gắng cho một số chi tiết:

Session: đây là một sự kết hợp giữa một khách hàng và máy chủ một định nghĩa một tập hợp các thông số như thuật toán được sử dụng, số session Một SSL session được tạo ra bởi giao thức bắt tay mà cho phép các thông số được chia sẻ giữa các kết nối được tạo ra từ máy chủ và khách hàng, và session được sử dụng để tránh đàm phán của các thông số mới cho mỗi kết nối

Điều này có nghĩa là một session được chia sẻ giữa nhiều kết nối SSL giữa khách hàng và máy chủ Về lý thuyết, nó cũng có thể được nhiều session chia sẻ bởi một kết nối duy nhất, nhưng tính năng này không được sử dụng trong thực tế Các khái niệm

về một SSL session và kết nối liên quan đến một vài thông số được sử dụng enable giao tiếp giữa khách hàng và máy chủ Trong các cuộc đàm phán của giao thức bắt tay, các phương pháp mã hóa được thành lập và một loạt các thông số của session status sau đó được sử dụng trong session Một session state được xác định bởi các thông số sau:

SSL- Session identifier: đây là một định danh được tạo ra bởi máy chủ để xác định một session với một khách hàng đã chọn

 chứng chỉ peer: X.509 chứng chỉ của peer

 Phương pháp nén: một phương pháp được sử dụng để nén dữ liệu trước khi mã hóa

Trang 21

 Thuật toán đặc điểm kỹ thuật gọi là CipherSpec: xác định các thuật toán mã hóa

dữ liệu số lượng lớn (ví dụ như DES) và thuật toán hash (ví dụ như MD5) được

Giao thức SSL record

Giao thức SSL record liên quan đến việc sử dụng SSL một cách an toàn và toàn vẹn với thông điệp được đảm bảo Để đạt được mục tiêu này nó được sử dụng bởi các tầng

Trang 22

trên giao thức SSL, mục đích của giao thức SSL record là để có một ứng dụng tin nhắn được truyền đi, đoạn dữ liệu cần được gửi đi,thì đóng gói nó với headers thích hợp và tạo ra một đối tượng được gọi là record, đó là mã hóa và có thể được chuyển tiếp để gửi dưới giao thức TCP

Bước đầu tiên trong việc chuẩn bị truyền tải dữ liệu ứng dụng bao gồm trong phân mảnh của nó phá vỡ các luồng dữ liệu được truyền vào 16KB (hoặc nhỏ hơn) các mảnh dữ liệu tiếp theo là quá trình chuyển đổi của nó trong một bản record Những mảnh dữ liệu có thể được tiếp tục nén, mặc dù đặc điểm kỹ thuật giao thức SSL 3.0 bao gồm không có giao thức nén, do đó hiện nay, không có nén dữ liệu được sử dụng Tại thời điểm này, tạo ra các record được bắt đầu cho mỗi phần dữ liệu bằng cách thêm một header, thông tin có thể hoàn thành kích thước dữ liệu cần thiết và MAC Các record header được thêm vào mỗi phần dữ liệu bao gồm hai phần cơ bản của thông tin, cụ thể là chiều dài của hồ sơ và chiều dài của khối dữ liệu thêm vào các dữ liệu ban đầu

Trong bước tiếp theo, cấu trúc dữ liệu record bao gồm các yếu tố sau đây:

MAC = hàm băm [khóa bí mật, các dữ liệu chính, đệm, số thứ tự]

Một khoá bí mật trong việc tạo ra MAC hoặc một khách hàng viết MAC bí mật hoặc một máy chủ viết MAC tương ứng, nó phụ thuộc vào bên chuẩn bị gói tin Sau khi nhận được các gói dữ liệu, bên nhận tính giá trị của MAC và so sánh nó với gói đã nhận được Nếu hai giá trị phù hợp, điều này có nghĩa rằng dữ liệu đã không bị sửa đổi trong việc truyền tải qua mạng Chiều dài của MAC thu được theo cách này phụ thuộc vào phương pháp sử dụng cho việc tính toán của nó Tiếp theo, các dữ liệu cộng với MAC được mã hóa bằng cách sử dụng một thuật toán mã hóa đối xứng cài sẵn, ví

dụ DES hoặc triple DES Cả dữ liệu và MAC đều được mã hóa Dữ liệu này đã được chuẩn bị, được gắn với các trường tiêu đề sau đây:

Trang 23

 Loại nội dung: xác định những gì tải trọng được phân phối bởi các gói tin để xác

định các giao thức cao hơn được sử dụng để xử lý dữ liệu trong gói tin Các giá

trị có thể là change_cipher_spec, cảnh báo, bắt tay, và application_data tham

khảo các giao thức thích hợp

 Session bản chính: thiết lập các phần chính của session bản giao thức được sử

dụng Đối với SSL 3.0, giá trị là 3

 Session bản nhỏ: thiết lập các phần bổ sung của các session bản được sử dụng

giao thức Đối với SSL 3.0, giá trị là 0

Với việc bổ sung các lĩnh vực, quá trình chuẩn bị record được hoàn thành Sau đó,

record được gửi đến điểm mục tiêu Toàn bộ quá trình chuẩn bị của các gói tin được

gửi đi được minh họa trong hình sau

Hình 2-3: Tạo một gói tin theo giao thức SSL record

Trang 24

Giao thức SSL Record

Giao thức SSL record được sử dụng để chuyển bất kỳ dữ liệu nào trong một session -

cả tin nhắn và các giao thức SSL khác (ví dụ như giao thức handshake), cũng như cho bất kỳ dữ liệu ứng dụng nào

Giao thức báo động

Giao thức báo động được sử dụng bởi các bên tham gia chuyển tải thông điệp session kết hợp với trao đổi dữ liệu và chức năng của giao thức Mỗi tin nhắn trong giao thức cảnh báo bao gồm hai byte Các byte đầu tiên luôn luôn có một giá trị, "warning(cảnh báo)" (1) hoặc "fatal(điềm xấu )" (2), xác định mức độ nghiêm trọng của tin nhắn được gửi Gửi một tin nhắn có tình trạng "điềm xấu" bởi một trong hai bên sẽ dẫn đến chấm dứt ngay lập tức SSL session Các byte tiếp theo của tin nhắn có chứa một trong các mã lỗi được xác định, có thể xảy ra trong suốt một giao tiếp SSL session

Giao thức ChangeCipher Spec

Giao thức này là giao thức SSL đơn giản Nó bao gồm một tin nhắn duy nhất mang giá trị là 1 Mục đích duy nhất của tin nhắn này là để gây ra session status chờ để được thành lập như là một trạng thái cố định, ví dụ, trong việc xác định các thiết lập

sử dụng các giao thức Đây là loại tin nhắn phải được gửi bởi máy khách đến máy chủ

và ngược lại Sau khi trao đổi tin nhắn session status được xem là đồng ý Thông báo này và bất kỳ thông báo SSL khác được chuyển giao bằng cách sử dụng giao thức SSL record

Giao thức bắt tay

Các giao thức bắt tay tạo thành phần phức tạp nhất của giao thức SSL Nó được sử dụng để bắt đầu một phiên làm việc giữa máy chủ và máy khách Trong thông điệp của giao thức này, các thành phần khác nhau chẳng hạn như các thuật toán và các khoá được sử dụng để mã hóa dữ liệu được đàm phán Do giao thức này, nó có thể để xác thực các bên với nhau và thương lượng các thông số thích hợp của session giữa chúng

Quá trình đàm phán giữa khách hàng và máy chủ được minh họa trong hình dưới đây

Nó có thể được chia thành 4 giai đoạn phân cách với các đường ngang bị hỏng Trong giai đoạn đầu tiên, một kết nối hợp lý phải được bắt đầu giữa khách hàng và máy chủ

Trang 25

tiếp theo là đàm phán về các thông số kết nối Khách hàng sẽ gửi một thông điệp client_hello chứa dữ liệu như máy chủ:

 Phiên bản: phiên bản SSL cao nhất hỗ trợ khách hàng,

 Ngẫu nhiên: dữ liệu bao gồm một dấu thời gian 32-bit và 28 byte của dữ liệu ngẫu nhiên tạo ra Dữ liệu này được sử dụng để bảo vệ các phiên trao đổi khóa giữa các bên tham gia kết nối

 Session ID: một số mà nó xác định định danh session Một giá trị khác 0 của trường này chỉ ra rằng khách hàng muốn cập nhật các thông số của kết nối hiện tại hoặc thiết lập một kết nối mới vào session này Một giá trị số khác 0 trong trường này chỉ ra rằng khách hàng muốn thiết lập một kết nối mới

 CipherSuite: một danh sách các thuật toán mã hóa và phương pháp trao đổi khóa được hỗ trợ bởi máy khách

 Máy chủ, trong phản ứng với thông điệp client_hello gửi nhắn server_hello, có chứa cùng một tập hợp của các lĩnh vực như thông báo của khách hàng, đặt các

dữ liệu sau đây:

 Phiên bản: Một số phiên bản thấp nhất của giao thức SSL hỗ trợ bởi máy chủ,dữ liệu ngẫu nhiên: kiểu tương tự như được sử dụng bởi khách hàng, nhưng các dữ liệu được tạo ra là hoàn toàn độc lập

 Session ID: nếu các trường của khách hàng là khác không, cùng một giá trị được gửi trở lại, nếu trường session ID của máy chủ chứa các giá trị cho một session mới

 CipherSuite: máy chủ sử dụng trường này để gửi một tập hợp các giao thức được lựa chọn bởi máy chủ từ những đề xuất của khách hàng Yếu tố đầu tiên của trường này là một phương pháp được lựa chọn trao đổi các khoá mã hóa giữa máy khách và máy chủ Yếu tố tiếp theo là các đặc điểm kỹ thuật của các thuật toán mã hóa và hàm băm, mà sẽ được sử dụng trong session được khởi động, cùng với tất cả các thông số cụ thể

Trang 26

Tập hợp các thuật toán mã hóa và phương pháp trao đổi khóa được gửi trong trường CipherSuite thiết lập ba thành phần:

1 phương pháp trao đổi khóa giữa máy chủ và máy khách,

2 các thuật toán mã hóa cho mục đích mã hóa dữ liệu,

3 một chức năng được sử dụng để có được giá trị MAC

Các máy chủ bắt đầu giai đoạn tiếp theo của cuộc đàm phán bằng cách gửi giấy chứng chỉ cho khách hàng để xác thực Các tin nhắn gửi cho khách hàng có chứa một hoặc một chuỗi của chứng chỉ X509 Đây là những cần thiết để xác thực của cả hai máy chủ và đường dẫn xác nhận hướng tới một xác nhận chính thức đáng tin cậy của phần giửa chứng chỉ cho máy chủ Bước này là không bắt buộc và có thể được bỏ qua, nếu các phương pháp đàm phán trao đổi khóa không yêu cầu gửi giấy chứng nhận (trong trường hợp này là phương pháp Diffie-Hellman) Tùy thuộc vào phương pháp đàm phán trao đổi khóa, máy chủ có thể gửi một tin nhắn bổ sung server_key_exchange, tuy nhiên không được yêu cầu trong trường hợp phương pháp Diffie-Hellman cố định hoặc trao đổi kỹ thuật chìa khóa RSA đã được đàm phán Hơn nữa, các máy chủ có thể yêu cầu một chứng chỉ từ khách hàng

Bước cuối cùng của giai đoạn 2 là thông điệp server_done, trong đó không có tham số

và được gửi bởi máy chủ chỉ đơn thuần là để báo hiệu kết thúc của thông điệp máy chủ Sau khi gửi thông điệp này, máy chủ chờ đợi một phản hồi của khách hàng Sau khi nhận được tin nhắn, khách hàng cần phải xác minh chứng chỉ của máy chủ, chứng nhận các đường dẫn và dữ liệu cũng như bất kỳ các thông số khác được gửi bởi các máy chủ trong các thông báo server_hello Xác minh của khách hàng bao gồm:

 Xác nhận ngày kiểm tra chứng chỉ và so sánh với ngày hiện tại, để xác minh xem chứng chỉ vẫn còn hợp lệ

 Kiểm tra liệu phần thân được bao gồm trong danh sách của các cơ quan chứng nhận đáng tin cậy trong sở hữu của khách hàng Nếu CA, đã cấp giấy chứng nhận của máy chủ không được bao gồm trong danh sách các CA, khách hàng cố gắng để xác minh chữ ký CA Nếu không có thông tin về CA có thể thu được, khách hàng chấm dứt các thủ tục xác định bằng cách trả lại tín hiệu báo lỗi hoặc báo hiệu vấn đề cho người sử dụng để giải quyết nó

Ngày đăng: 04/03/2015, 20:25

HÌNH ẢNH LIÊN QUAN

Hình 1-1: Mô hình sử dụng VPN  1.2     Lợi ích của VPN - Tìm hiểu và cài đặt OpenVPN
Hình 1 1: Mô hình sử dụng VPN 1.2 Lợi ích của VPN (Trang 8)
Hình 1-2: Mô hình VPN Remote Access - Tìm hiểu và cài đặt OpenVPN
Hình 1 2: Mô hình VPN Remote Access (Trang 12)
Hình 1-3: Mô hình VPN Site-to-Site - Tìm hiểu và cài đặt OpenVPN
Hình 1 3: Mô hình VPN Site-to-Site (Trang 13)
Hình 1-4: Mô hình Intranet VPN - Tìm hiểu và cài đặt OpenVPN
Hình 1 4: Mô hình Intranet VPN (Trang 14)
Hình 1-5: Mô hình Extranet VPN  Một số thuận lợi của Extranet: - Tìm hiểu và cài đặt OpenVPN
Hình 1 5: Mô hình Extranet VPN Một số thuận lợi của Extranet: (Trang 15)
Hình 2-1: SSL giữa tầng ứng dụng và TCP/IP - Tìm hiểu và cài đặt OpenVPN
Hình 2 1: SSL giữa tầng ứng dụng và TCP/IP (Trang 18)
Hình 2-3: Tạo một gói tin theo giao thức SSL record - Tìm hiểu và cài đặt OpenVPN
Hình 2 3: Tạo một gói tin theo giao thức SSL record (Trang 23)
Hình 2-4: Thiết lập phiên SSL giữa máy khách và máy chủ - Tìm hiểu và cài đặt OpenVPN
Hình 2 4: Thiết lập phiên SSL giữa máy khách và máy chủ (Trang 28)
Bảng 3-1 : Các lần xuất bản của phiên bản 1 - Tìm hiểu và cài đặt OpenVPN
Bảng 3 1 : Các lần xuất bản của phiên bản 1 (Trang 32)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w