1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm Hiểu Giao Thức SSL

35 507 1

Đ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 35
Dung lượng 2,57 MB

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

Nội dung

Cách thức hoạt động 3.1 Farme quá trình hoạt động: SSL là giao thức tầng layered protocol, bao gồm 4 giao thức con sau: + Giao thức SSL Handshake: Giao thức truyền tay + Giao thức SSL

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH

Ngành: CÔNG NGHỆ THÔNG TIN Chuyên Ngành: MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG

Đề Tài: Tìm Hiểu Giao Thức SSL

MÔN: CHUYÊN ĐỀ 1

Giảng Viên Hướng Dẫn: Nguyễn Đức Quang

Sinh Viên thực hiện:

Khưu Hoàng Giang Sang 1151020034 01884688002 khuuleo@gmail.com

TP Hồ Chí Minh, Năm 2014

Trang 2

Mục Lục

SSL (SECURE SOCKET LAYER) 2

1 Định Nghĩa 2

1.2 TCP/UDP 2

1.3 Port 2

2 Công Dụng 2

2.1 Môi Trường Hoạt Động 2

2.2 Mô Hình Hoạt Động 3

3 Cách thức hoạt động 3

3.1 Farme quá trình hoạt động: 3

3.2 Quá Trình Bắt Tay 6

3.3 Thứ Tự Các Packet Trong SSL 6

LAB SSL 12

1 Lab 1: openvpn sử dụng softether 12

1.1 Mô hình giả lập 1: 12

1.2 các bước chuẩn bị gồm có: 12

1.3 Các bước cấu hình cài đặt 12

1.4 Bắt gói tin trên wireshark 23

2 Lab 2: FTPS 27

2.1 Chuẩn bị: 27

2.2 Các Bước Cài đặt 27

Trang 3

SSL (SECURE SOCKET LAYER)

1 Định Nghĩa

SSL (Secure Socket Layer ) là giao thức đa mục đích được thiết kế để tạo ra các giao tiếp giữa hai chương trình ứng dụng trên một cổng định trước (socket 443) nhằm mã hoá toàn bộ thông tin đi/đến, mà ngày nay được sử dụng rộng rãi cho giao dịch điện tử như truyền số hiệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) trên Internet

1.2 TCP/UDP

Giao thức SSL (Secure Socket Layer) tổ hợp nhiều giải thuật mã hóa nhằm đảm bảo quá trình trao đổi thông tin trên mạng được bảo mật Việc mã hóa dữ liệu diễn ra một cách trong suốt, hỗ trợ nhiều giao thức khác chạy trên nền giao thức TCP

1.3 Port

Các cổng được gán cho các giao thức ứng dụng chạy trên SSL

2 Công Dụng

2.1 Môi Trường Hoạt Động

SSL nằm trong tầng ứng dụng của giao thức TCP/IP Do đặc điểm này, SSL có thể được dùng trong hầu hết mọi hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân của hệ thống hoặc ngăn xếp TCP/IP Điều này mang lại cho SSL sự cải tiến mạnh

mẽ so với các giao thức khác như IPSec (IP Security Protocol) Vì giao thức này đòi hỏi nhân hệ điều hành phải hỗ trợ và chỉnh sửa ngăn xếp TCP/IP SSL cũng có thể dễ dàng vượt qua tường lửa và proxy, cũng như NAT (Network Address Translation) mà không cần nguồn cung cấp

Trang 4

2.2 Mô Hình Hoạt Động

Client-server

3 Cách thức hoạt động

3.1 Farme quá trình hoạt động:

SSL là giao thức tầng (layered protocol), bao gồm 4 giao thức con sau:

+ Giao thức SSL Handshake: Giao thức truyền tay

+ Giao thức SSL Change Cipher Spec Protocol: Giao thức thay đổi thuật toán mã hóa thông số

+ Giao thức SSL Alert: Giao thức báo động

+ SSL Record Layer

Vị trí của các giao thức trên, tương ứng với mô hình TCP/IP được minh hoạ

 Hoạt Động Của Giao Thức SSL

Điểm cơ bản của SSL được thiết kế độc lập với tầng ứng dụng để đảm bảo tính bí mật, an toàn và chống giả mạo luồng thông tin qua Internet giữa hai ứng dụng bất kỳ, thí dụ như webserver và các trình duyệt khách (browsers),

do đó được sử dụng rộng rãi trong nhiều ứng dụng khác nhau trên môi trường Internet

Trang 5

Toàn bộ cơ chế hoạt động và hệ thống thuật toán mã hoá sử dụng trong SSL được phổ biến công khai, trừ khoá chia xẻ tạm thời (session key) được sinh ra tại thời điểm trao đổi giữa hai ứng dụng là tạo ngẫu nhiên và bí mật đối với người quan sát trên mạng máy tính Ngoài ra, giao thức SSL còn đỏi hỏi ứng dụng chủ phải được chứng thực bởi một đối tượng lớp thứ ba (CA) thông qua giấy chứng thực điện tử (digital certificate) dựa trên mật mã công khai (thí dụ RSA)

Sau đây ta xem xét một cách khái quát cơ chế hoạt động của SSL để phân tích cấp

độ an toàn của nó và các khả năng áp dụng trong các ứng dụng nhạy cảm, đặc biệt là các ứng dụng về thương mại và thanh toán điện tử…

Trang 6

ra, các ứng dụng còn trao đổi “số nhận dạng/khoá theo phiên” (session ID, session key) duy nhất cho lần làm việc đó Sau đó ứng dụng khách (trình duyệt) yêu cầu có chứng thực điện tử (digital certificate) xác thực của ứng dụng chủ (web server) Chứng thực điện tử thường được xác nhận rộng rãi bởi một cơ quan trung gian (là CA -Certificate Authority) như RSA Data Sercurity hay VeriSign Inc., một dạng tổ chức độc lập, trung lập và có uy tín Các tổ chức này cung cấp dịch vụ “xác nhận” số nhận dạng của một công ty và phát hành chứng chỉ duy nhất cho công ty đó như là bằng chứng nhận dạng (identity) cho các giao dịch trên mạng, ở đây là các Server webserver

Sau khi kiểm tra chứng chỉ điện tử của Server (sử dụng thuật toán mật mã công khai, như RSA tại trình máy trạm), ứng dụng máy trạm sử dụng các thông tin trong chứng chỉ điện tử để mã hoá thông điệp gửi lại Server mà chỉ có Server đó có thể giải mã Trên cơ sở đó, hai ứng dụng trao đổi khoá chính (master key) - khoá bí mật hay khoá đối xứng - để làm cơ sở cho việc mã hoá luồng thông tin/dữ liệu qua lại giữa hai ứng dụng chủ khách Toàn bộ cấp độ bảo mật và an toàn của thông tin/dữ liệu phụ thuộc vào một số tham số: (i) số nhận dạng theo phiên làm việc ngẫu nhiên; (ii) cấp độ bảo mật của các thuật toán bảo mật áp dụng cho SSL; và (iii) độ dài của khoá chính (key length) sử dụng cho lược đồ mã hoá thông tin

Các thuật toán mã hóa thông dụng được ssl sử dụng:

* DES: (Data Encryption Standard) là một thuật toán mã hóa có chiều dài khóa là

Trang 7

* KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang được chính phủ Mỹ sử dụng

* MD5 (Message Digest algorithm) được phát thiển bởi Rivest

* RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá

dữ liệu được Rivest, Shamir, and Adleman phát triển

* RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán RSA

* RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dung cho RSA Data Security

* SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ

 The Hello Exchange

Khi một Client SSL và Server bắt đầu giao tiếp, họ đồng ý về một bản giao thức, chọn thuật toán mã hóa, tùy chọn xác nhận lẫn nhau, và sử dụng kỹ thuật mã hóa khóa công khai để tạo ra bí mật được chia sẻ Các quá trình này được thực hiện trong giao thức bắt tay Tóm lại, Client sẽ gửi một thông điệp Hello đến Server, và Server phải trả lời với

Trang 8

một lời Hello đến Client Hello và Server Hello Client được sử dụng để thiết lập khả năng tăng cường an ninh giữa Client và Server

Client Hello:

The Client Hello gửi những thuộc tính này đến Server:

Protocol Version: Các phiên bản của giao thức SSL mà theo đó các Client có nhu

cầu giao tiếp trong phiên này

Session ID: ID của một phiên giao dịch Client muốn sử dụng cho kết nối

này Trong các Client đầu tiên Hello của việc trao đổi, session ID có sản phẩm nào (tham khảo các ảnh chụp màn hình bắt gói dữ liệu sau khi lưu ý dưới đây)

Cipher Suite: Điều này được truyền từ máy khách đến Server trong các Client

Hello tin nhắn Nó bao gồm sự kết hợp của thuật toán mã hóa được hỗ trợ bởi các Client trong thứ tự ưu tiên của Client (lựa chọn đầu tiên đầu tiên) Mỗi bộ mật mã xác định cả một thuật toán trao đổi khóa và một spec mật mã Các Server chọn một bộ mật mã hoặc, nếu không có sự lựa chọn có thể chấp nhận được trình bày, trả về một cái bắt tay không cảnh báo và đóng kết nối

Compression Method: Bao gồm một danh sách các thuật toán nén hỗ trợ bởi

client Nếu Server không hỗ trợ bất kỳ phương pháp gửi của Client, kết nối không thành Các phương pháp nén cũng có thể là null

Lưu ý: địa chỉ của máy client trong hình là 10.0.0.1 và Server là 10.0.0.2

Server Hello

Các máy chủ sẽ gửi lại các thuộc tính cho khách hàng:

Trang 9

Protocol Version: Các phiên bản lựa chọn của giao thức SSL mà khách hàng hỗ

trợ

Session ID: Đây là bản sắc của phiên tương ứng với kết nối này Nếu phiên ID gửi

của khách hàng trong các khách hàng Xin chào không phải là trống rỗng, máy chủ

sẽ tìm trong bộ nhớ cache phiên cho một trận đấu Nếu kết hợp được tìm thấy và các máy chủ sẵn sàng để thiết lập kết nối mới bằng cách sử dụng phiên nhà nước quy định, máy chủ đáp ứng với cùng một giá trị đã được cung cấp bởi khách hàng Điều này cho thấy một phiên trở lại và ra lệnh rằng các bên phải tiến hành trực tiếp các thông báo đã hoàn thành Nếu không, lĩnh vực này có một giá trị khác nhau mà xác định các phiên làm việc mới Các máy chủ có thể trở lại một sản

phẩm nào session_id để chỉ ra rằng phiên giao dịch sẽ không được lưu trữ, và do

đó không thể được nối lại

Cipher Suite: Là lựa chọn bởi các máy chủ từ danh sách đã được gửi từ khách

hàng

Compression Method: Khi lựa chọn bởi các máy chủ từ danh sách đã được gửi từ

khách hàng

Compression Method: Các máy chủ sẽ gửi cho khách hàng một danh sách của tất

cả các chứng chỉ được cấu hình trên nó, và cho phép khách hàng để chọn giấy chứng nhận nó muốn sử dụng để xác thực

Server Hello Done

Server Xin chào Xong tin nhắn được gửi bởi các máy chủ để báo hiệu kết thúc của máy chủ chào và tin nhắn liên quan Sau khi gửi thông báo này, các máy chủ chờ đợi một phản ứng của khách hàng Sau khi nhận được Server Xin chào thông điệp Done, khách hàng xác nhận rằng các máy chủ cung cấp một chứng chỉ hợp lệ, nếu cần thiết, và kiểm tra các máy chủ Xin chào các thông số được chấp nhận

Trang 10

Certificate Server, Server Key Exchange, và Certificate Request (bắt buộc)

Certificate Server: Nếu máy chủ phải có chứng thực (mà thường là trường hợp),

máy chủ sẽ gửi Giấy chứng nhận ngay sau khi Server Xin chào tin nhắn Các loại giấy chứng nhận phải phù hợp với các thuật toán mã hóa thuật toán trao đổi khóa

bộ được lựa chọn, và nói chung là Giấy chứng nhận X.509.v3

Server Key Exchange: Thông điệp chủ Key Exchange được gửi bởi các máy chủ

nếu nó không có giấy chứng nhận NếuHellman Diffie? (DH) các thông số được bao gồm trong các chứng chỉ máy chủ, thông báo này không được sử dụng

Certificate Request: Một máy chủ có thể tùy chọn yêu cầu một giấy chứng nhận

từ các khách hàng, nếu thích hợp cho các bộ mật mã được chọn

Client Exchange

 Client Certificate (Optional)

Đây là thông điệp đầu tiên mà khách hàng sẽ gửi sau khi anh / cô ấy nhận được một máy chủ Xin chào nhắn Done Thông báo này chỉ được gửi nếu máy chủ yêu cầu một giấy chứng nhận Nếu không có giấy chứng nhận phù hợp có sẵn, khách hàng sẽ gửi

mộtno_certificate cảnh báo thay thế Cảnh báo này chỉ là một cảnh báo; Tuy nhiên, các

máy chủ có thể đáp lại bằng một thất bại gây tử vong bắt tay cảnh báo nếu xác thực khách hàng được yêu cầu Giấy chứng nhận khách hàng DH phải phù hợp với máy chủ xác định các thông số DH

 Client Key Exchange

Nội dung của thông điệp này phụ thuộc vào các thuật toán khóa công khai lựa chọn giữa Client và Server Xin chào Xin chào tin nhắn.Các khách hàng sử dụng một phím

premaster mã hóa bằng các Rivest-Shamir-Addleman (RSA) thuật toán hoặc DH cho thỏa

Trang 11

thuận quan trọng và xác thực Khi RSA được sử dụng cho máy chủ xác thực và trao đổi

khóa, một 48-byte pre_master_secret được tạo ra bởi các khách hàng, mã hóa theo máy

chủ khóa công khai, và gửi đến máy chủ Các máy chủ sử dụng khóa riêng để giải mã

pre_master_secret Cả hai bên Sau đó chuyển đổi pre_master_secret vào

master_secret

 Certificate Verify (Optional)

Nếu khách hàng gửi một giấy chứng nhận có khả năng ký kết, một giấy chứng nhận có chữ ký số Xác minh tin nhắn được gửi đi để xác minh một cách rõ ràng các chứng chỉ Cipher Change

 Change Cipher Spec Messages

Thông điệp Change Cipher Spec được gửi của khách hàng, và các bản sao khách hàng các cấp phát Cipher Spec (phiên bản mới) vào Cipher Spec hiện tại (một trong đó đã được sử dụng trước đó) Giao thức Change Cipher Spec tồn tại để báo hiệu quá trình chuyển đổi trong chiến lược mật mã Các giao thức bao gồm một tin nhắn duy nhất, được mã hóa và nén dưới hiện tại (không phải chờ) Cipher Spec Thông điệp này được gửi bởi cả máy khách và máy chủ để thông báo cho bên nhận rằng hồ sơ sau đó được bảo

vệ theo gần đây nhất là đàm phán Cipher Spec và các phím Tiếp nhận thông điệp này gây ra các nhận sao chép "đọc chờ" nhà nước vào "đọc hiện nay" nhà nước Các khách hàng sẽ gửi một thông điệp trao đổi khóa bắt tay Change Cipher Spec sau và Giấy chứng nhận Xác nhận tin nhắn (nếu có), và máy chủ sẽ gửi một sau khi xử lý thành công thông điệp trao đổi khóa nó nhận được từ khách hàng Khi một phiên trước đó được tiếp tục, thông báo Change Cipher Spec được gửi sau khi các thông điệp Hello Trong ảnh chụp,

Trang 12

Sở Giao dịch khách hàng, thay đổi yếu, và tin nhắn Hoàn tất được gửi dưới dạng một tin nhắn đơn từ khách hàng

Trang 13

LAB SSL

1 Lab 1: openvpn sử dụng softether

1.1 Mô hình giả lập 1:

1.2 các bước chuẩn bị gồm có:

+ 2 máy ảo chạy trên vmware gồm:

Máy Server chạy hdh Windowns Server 2008 Máy Client chạy hdh Windowns XP

Trang 15

Trên máy server

Chạy phần mềm softetter-vpnserver

->Next để tiếp tục

Chọn dòng Softether VPN Server Manager (Admin Tools Only) > Next >

Tích vào mục “I agree to the End User License Areement” > Next để típ tục

Trang 16

Tích vào mục “Advanced Install Options for Experts” và chọn “Install only on the Environment of User “Adminstrator”” > Next > Next > Finish để kết thúc quá trình cài đặt

Sau khi cài đặt xong bãng chương trình trên sẽ hiện ra Chọn “Delete Setting” > yes để xóa cài đặt mặc định của máy

Tiếp theo chạy lại phần mềm Softetter để típ tục cài đặt

Next để tiếp tục cài đặt

Trang 17

Chọn dòng “Softether VPN Server” > Next >

Tích vào mục “I agree to the End User License Areement” > Next để tiếp tục cài đặt

Trang 18

Chọn “C:\Program Files\Softether VPN Server” > Next > Next > Finish để kết thúc quá trình cài đặt

Chọn “Edit Setting” để cấu hình phần mềm

(Các bạn cần biết tên và tên đầy đủ của computer để cài đặt cấu hình Để biết tên và tên đầy đủ, Nhấp phải chuột vào My Computer > Propreties > chọn tap Computer Name > Chọn Change tên computer ở mục Computer Name, tên đầy đủ của computer nằm ở mục Full computer name)

(ở đây tên computer của mình là “right” và tên full là “right.11dthm.local”)

Trang 19

Nhập tên computer vào phần Setting Name, tên đầy đủ computer vào phần Host Name >

OK

Trang 20

Sau khi đã thực hiện xong Chọn “Connect”

Bảng trên sẽ hiện ra Các bạn tự đặt mật khẩu và chọn OK

Tích chọn “Site-to-site VPN Server or VPN Bridge” và “VPN Server that Accepts Connection from Other Sites (Center)” > Next để típ tục

Chọn Yes

Đặt tên Cho Virtual Hub Name là “VPN” > OK

Trang 21

Tích chọn vào mục “Enable L2TP Server Funtion (L2TP over IPsec)” > OK > Next

Tích chọn mục “Disable VPN Azure” > OK

Chọn nút Create Users để tạo user kết nối VPN

Trang 22

Đặt User Name, Full Name, và Password sác thực > OK để kết thúc quá trình cài đặt

Trên Máy Client

Chạy phần mềm Softether-vpnclient để cài đặt

Next >

Ngày đăng: 02/12/2016, 02:54

TỪ KHÓA LIÊN QUAN

w