Tìm Hiểu Giao Thức SSL

35 369 0
Tìm Hiểu Giao Thức SSL

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO 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 ĐỀ Giảng Viên Hướng Dẫn: Nguyễn Đức Quang Sinh Viên thực hiện: Họ Tên Khưu Hoàng Giang Sang Mssv 1151020034 Điện Thoại 01884688002 TP Hồ Chí Minh, Năm 2014 Email khuuleo@gmail.com Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Mục Lục SSL (SECURE SOCKET LAYER) Định Nghĩa 1.2 TCP/UDP 1.3 Port 2 Công Dụng 2.1 Môi Trường Hoạt Động 2.2 Mô Hình Hoạt Động 3 Cách thức hoạt động 3.1 Farme trình hoạt động: 3.2 Quá Trình Bắt Tay 3.3 Thứ Tự Các Packet Trong SSL LAB SSL 12 Lab 1: openvpn sử dụng softether 12 1.1 Mô hình giả lập 1: 12 1.2 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 wireshark 23 Lab 2: FTPS 27 2.1 Chuẩn bị: 27 2.2 Các Bước Cài đặt 27 Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang SSL (SECURE SOCKET LAYER) Định Nghĩa SSL (Secure Socket Layer ) giao thức đa mục đích thiết kế để tạo giao tiếp hai chương trình ứng dụng cổng định trước (socket 443) nhằm mã hoá toàn thông tin đi/đến, mà ngày sử dụng rộng rãi cho giao dịch điện tử truyền số hiệu thẻ tín dụng, mật khẩu, số bí mật cá nhân (PIN) 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 trình trao đổi thông tin mạng bảo mật Việc mã hóa liệu diễn cách suốt, hỗ trợ nhiều giao thức khác chạy giao thức TCP 1.3 Port Các cổng gán cho giao thức ứng dụng chạy SSL Công Dụng 2.1 Môi Trường Hoạt Động SSL nằm tầng ứng dụng giao thức TCP/IP Do đặc điểm này, SSL dùng hầu hết hệ điều hành hỗ trợ TCP/IP mà không cần phải chỉnh sửa nhân hệ thống ngăn xếp TCP/IP Điều mang lại cho SSL cải tiến mạnh mẽ so với giao thức khác IPSec (IP Security Protocol) Vì giao thức đòi hỏi nhân hệ điều hành phải hỗ trợ chỉnh sửa ngăn xếp TCP/IP SSL dễ dàng vượt qua tường lửa proxy, NAT (Network Address Translation) mà không cần nguồn cung cấp Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang 2.2 Mô Hình Hoạt Động Client-server Cách thức hoạt động 3.1 Farme trình hoạt động: SSL giao thức tầng (layered protocol), bao gồm giao thức 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í giao thức trên, tương ứng với mô hình TCP/IP minh hoạ theo biểu đồ sau:  Hoạt Động Của Giao Thức SSL Điểm SSL thiết kế độc lập với tầng ứng dụng để đảm bảo tính bí mật, an toàn chống giả mạo luồng thông tin qua Internet hai ứng dụng bất kỳ, thí dụ webserver trình duyệt khách (browsers), sử dụng rộng rãi nhiều ứng dụng khác môi trường Internet Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Toàn chế hoạt động hệ thống thuật toán mã hoá sử dụng SSL phổ biến công khai, trừ khoá chia xẻ tạm thời (session key) sinh thời điểm trao đổi hai ứng dụng tạo ngẫu nhiên bí mật người quan sát mạng máy tính Ngoài ra, giao thức SSL đỏi hỏi ứng dụng chủ phải chứng thực đối tượng lớp thứ ba (CA) thông qua giấy chứng thực điện tử (digital certificate) dựa mật mã công khai (thí dụ RSA) Sau ta xem xét cách khái quát chế hoạt động SSL để phân tích cấp độ an toàn khả áp dụng ứng dụng nhạy cảm, đặc biệt ứng dụng thương mại toán điện tử… Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Từng bước thành lập kết nối SSL Giao thức SSL dựa hai nhóm giao thức giao thức “bắt tay” (handshake protocol) giao thức “bản ghi” (record protocol) Giao thức bắt tay xác định tham số giao dịch hai đối tượng có nhu cầu trao đổi thông tin liệu, giao thức ghi xác định khuôn dạng cho tiến hành mã hoá truyền tin hai chiều hai đối tượng Khi hai ứng dụng máy tính, thí dụ trình duyệt web Server web, làm việc với nhau, Server máy khách trao đổi “lời chào” (hellos) dạng thông điệp cho với xuất phát chủ động từ Server, đồng thời xác định chuẩn thuật toán mã hoá nén số liệu áp dụng hai ứng dụng Ngoài ra, ứng dụng trao đổi “số nhận dạng/khoá theo phiên” (session ID, session key) 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 ứng dụng chủ (web server) Chứng thực điện tử thường xác nhận rộng rãi quan trung gian (là CA Certificate Authority) RSA Data Sercurity hay VeriSign Inc., dạng tổ chức độc lập, trung lập có uy tín Các tổ chức cung cấp dịch vụ “xác nhận” số nhận dạng công ty phát hành chứng cho công ty chứng nhận dạng (identity) cho giao dịch mạng, Server webserver Sau kiểm tra chứng điện tử Server (sử dụng thuật toán mật mã công khai, RSA trình máy trạm), ứng dụng máy trạm sử dụng thông tin chứng điện tử để mã hoá thông điệp gửi lại Server mà có Server giải mã Trên sở đó, hai ứng dụng trao đổi khoá (master key) - khoá bí mật hay khoá đối xứng - để làm sở cho việc mã hoá luồng thông tin/dữ liệu qua lại hai ứng dụng chủ khách Toàn cấp độ bảo mật an toàn thông tin/dữ liệu phụ thuộc vào 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 thuật toán bảo mật áp dụng cho SSL; (iii) độ dài khoá (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 ssl sử dụng: * DES: (Data Encryption Standard) thuật toán mã hóa có chiều dài khóa 56 bit * 3-DES: (Triple DES) thuật toán mã hóa có đồ dài khóa gấp lần đồ dài khóa mã hóa DES * DSA: (Digital Signature Algorithm): phần chuẩn xác thực số phủ Mỹ sử dụng Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang * KEA (Key Exchange Algorithm) thuật toán trao đổi khoá phủ Mỹ sử dụng * MD5 (Message Digest algorithm) phát thiển Rivest * RSA: thuật toán mã hoá công khai dùng cho trình xác thực mã hoá liệu Rivest, Shamir, and Adleman phát triển * RSA key exchange: thuật toán trao đổi khoá dùng SSL dựa thuật toán RSA * RC2 and RC4: thuật toán mã hoá phát triển Rivest dung cho RSA Data Security * SHA-1 (Secure Hash Algorithm): thuật toán băm phủ Mỹ sử dụng 3.2 Quá Trình Bắt Tay Hồ sơ bắt tay chứa tập hợp tin nhắn sử dụng để bắt tay Đây thông điệp giá trị nó:           Hello Request (0, 0x00) Client Hello (1, 0x01) Server Hello (2, 0x02) Certificate (11, 0x0B) Server Key Exchange (12, 0x0C) Certificate Request (13, 0x0D) Server Hello Done (14, 0x0E) Certificate Verify (15, 0x0F) Client Key Exchange (16, 0x10) Finished (20, 0x14) 3.3 Thứ Tự Các Packet Trong SSL  The Hello Exchange Khi Client SSL Server bắt đầu giao tiếp, họ đồng ý giao thức, chọn thuật toán mã hóa, tùy chọn xác nhận lẫn nhau, sử dụng kỹ thuật mã hóa khóa công khai để tạo bí mật chia sẻ Các trình thực giao thức bắt tay Tóm lại, Client gửi thông điệp Hello đến Server, Server phải trả lời với Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang lời Hello đến Client Hello Server Hello Client sử dụng để thiết lập khả tăng cường an ninh Client Server  Client Hello: The Client Hello gửi thuộc tính đến Server:     Protocol Version: Các phiên giao thức SSL mà theo Client có nhu cầu giao tiếp phiên Session ID: ID phiên giao dịch Client muốn sử dụng cho kết nối Trong Client Hello việc trao đổi, session ID có sản phẩm (tham khảo ảnh chụp hình bắt gói liệu sau lưu ý đây) Cipher Suite: Điều truyền từ máy khách đến Server Client Hello tin nhắn Nó bao gồm kết hợp thuật toán mã hóa hỗ trợ Client thứ tự ưu tiên Client (lựa chọn đầu tiên) Mỗi mật mã xác định thuật toán trao đổi khóa spec mật mã Các Server chọn mật mã hoặc, lựa chọn chấp nhận trình bày, trả bắt tay không cảnh báo đóng kết nối Compression Method: Bao gồm danh sách thuật toán nén hỗ trợ client Nếu Server không hỗ trợ phương pháp gửi Client, kết nối không thành Các phương pháp nén null Lưu ý: địa máy client hình 10.0.0.1 Server 10.0.0.2  Server Hello Các máy chủ gửi lại thuộc tính cho khách hàng: Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang       Gvhd: Nguyễn Đức Quang Protocol Version: Các phiên lựa chọn giao thức SSL mà khách hàng hỗ trợ Session ID: Đây sắc phiên tương ứng với kết nối Nếu phiên ID gửi khách hàng khách hàng Xin chào trống rỗng, máy chủ tìm nhớ cache phiên cho trận đấu Nếu kết hợp tìm thấy máy chủ sẵn sàng để thiết lập kết nối cách sử dụng phiên nhà nước quy định, máy chủ đáp ứng với giá trị cung cấp khách hàng Điều cho thấy phiên trở lại lệnh bên phải tiến hành trực tiếp thông báo hoàn thành Nếu không, lĩnh vực có giá trị khác mà xác định phiên làm việc Các máy chủ trở lại sản phẩm session_id để phiên giao dịch không lưu trữ, nối lại Cipher Suite: Là lựa chọn máy chủ từ danh sách gửi từ khách hàng Compression Method: Khi lựa chọn máy chủ từ danh sách gửi từ khách hàng Compression Method: Các máy chủ gửi cho khách hàng danh sách tất chứng cấu hình nó, cho phép khách hàng để chọn giấy chứng nhận muốn sử dụng để xác thực Server Hello Done Server Xin chào Xong tin nhắn gửi máy chủ để báo hiệu kết thúc máy chủ chào tin nhắn liên quan Sau gửi thông báo này, máy chủ chờ đợi phản ứng khách hàng Sau nhận Server Xin chào thông điệp Done, khách hàng xác nhận máy chủ cung cấp chứng hợp lệ, cần thiết, kiểm tra máy chủ Xin chào thông số chấp nhận Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang  Gvhd: Nguyễn Đức Quang Certificate Server, Server Key Exchange, Certificate Request (bắt buộc)    Certificate Server: Nếu máy chủ phải có chứng thực (mà thường trường hợp), máy chủ gửi Giấy chứng nhận sau Server Xin chào tin nhắn Các loại giấy chứng nhận phải phù hợp với thuật toán mã hóa thuật toán trao đổi khóa lựa chọn, nói chung Giấy chứng nhận X.509.v3 Server Key Exchange: Thông điệp chủ Key Exchange gửi máy chủ giấy chứng nhận NếuHellman Diffie? (DH) thông số bao gồm chứng máy chủ, thông báo không sử dụng Certificate Request: Một máy chủ tùy chọn yêu cầu giấy chứng nhận từ khách hàng, thích hợp cho mật mã chọn Client Exchange  Client Certificate (Optional) Đây thông điệp mà khách hàng gửi sau anh / cô nhận máy chủ Xin chào nhắn Done Thông báo gửi máy chủ yêu cầu giấy chứng nhận Nếu giấy chứng nhận phù hợp có sẵn, khách hàng gửi mộtno_certificate cảnh báo thay Cảnh báo cảnh báo; Tuy nhiên, máy chủ đáp lại thất bại gây tử vong bắt tay cảnh báo xác thực khách hàng 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 thông số DH  Client Key Exchange Nội dung thông điệp phụ thuộc vào thuật toán khóa công khai lựa chọn Client Server Xin chào Xin chào tin nhắn.Các khách hàng sử dụng phím premaster mã hóa Rivest-Shamir-Addleman (RSA) thuật toán DH cho thỏa Giao Thức SSL Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang 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 Giao Thức SSL 20 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Đặt User Name, Full Name, Password sác thực > OK để kết thúc trình cài đặt Trên Máy Client Chạy phần mềm Softether-vpnclient để cài đặt Next > Giao Thức SSL 21 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Chọn “Softether VPN Client” > Next > Next Finish để kết thúc trình cài đặt Chương trình Softether VPN Client Manager tự động mở Nhấp đúp vào phần “Add VPN Connection” để tạo thiết đặt kết nối tới server Nhập tên máy chủ phần Setting Name Địa máy chủ phần Host Name Chọn “VPN” phần Virtual Hub Name Nhập Username mật sác thực tạo bên máy server lúc nảy vào mục “User Authentication Settings” > OK Giao Thức SSL 22 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Nhấp phải chuột vô kết nối vừa tạo chọn “Connect” để kết nối tới server  Quá trình cài đặt Softer xong 1.4 Bắt gói tin wireshark Để tiến hành kết nối từ Client tới Server, máy phải thực giao thức SSL Handshake Protocol để tiến thành thiết lập quan hệ Kết qua quan hệ giửa máy thiết lập trình trạng thái để bảo vệ liên lạc Để bắt đầu liên lạc Client muốn kết nối với Server, thiết lập kết nối TCP với công HTTPS (443) gởi thông báo “Client Hello” đến Server Giao Thức SSL 23 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Ngoài ra, gói tin Client Hello gồm trường sao: Version: phiên SSL cao thực Client (thường 3.0) Session ID Length: định danh mà Client muốn sử dụng cho kết nối Cipher Suites: danh sách mật mã Client hổ trợ Compresion Methods: phương pháp nén mà Client hổ trợ (Chú ý trường Session Id nên rỗng, session SSL không tồn hoặt Client muốn tạo tham số bảo mật mới) Sau gởi thông báo Client Hello, Client đợi thông báo Server Hello từ Server, Bất kì thông báo đc trả từ Server khác thông báo Server Hello đc xem lỗi vào thời điểm Giao Thức SSL 24 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang bước Server xử lý thông báo Client Hello đáp trả thông báo lỗi thông Server Hello (ở SSL version 1.0, server trả gói Server Hello Certìicate, Server Hello Done, SSL version 3.0, gói tin gộp chung thành gói tin Server Hello, Certificate, Server Hello Done) Thông báo Server Hello, Certificate, Server Hello Done gồm trường sau đây: Handshake Protocol: Server Hello chứa Session ID so server khởi tạo ra, id giử hết phiên làm việc, Cipher Suite: key mã hóa chọn server từ danh sách mật mã hỗ trợ Client Compress Method: phương pháp nén chọn server từ danh sách thuật toán nén client gởi lên Giao Thức SSL 25 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Handshake Protocol: Certificate: chứa danh sách loại chứng nhận yêu cầu pvà phân loại theo thứ tự ưu tiên server Handshake Protocol: Server Hello Done: để sác nhận kết thúc trình Server Hello Sau nhận Server Hello để chứng nhận sác thực, Client gởi gói tin Client Key Exchange, Change Cipher Spec, Encrypte Handshake message Để chứng nhận sác thực gồm có trường: Handshake Protocol: Client key Exchange: phụ thộng vào thuật toán mã hóa chọn server, RSA đc sử dụng cho việc sác thực server trao đổi khóa, client tạo khóa 48 byte, mã hóa khóa chung server Sau nhận gói chứng thực từ client Server trả gói Change Cipher Spec, Encypted Handshake message để sác nhận bắt đầu phiên làm việc trao đổi dử liệu giửa máy Giao Thức SSL 26 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Lab 2: FTPS 2.1 Chuẩn bị:  Phần mềm FileZilla server client,  Máy ảo Winserver 2k8 đóng vai trò server (IP: 192.168.1.47)  Máy win đóng vai trò Client (IP: 192.168.1.48) 2.2 Các Bước Cài đặt  Chạy file “FileZilla_Server-0_9_33.exe” để tiến hành cài đặt server Chọn “I Agree” > Mục Select the type of install: chọn Full > Next Để port mặc định để chạy ứng dụng (14147) > Next > Install > Close để hoàn tất cài đặt Sau cài đặt xong Bãng Conect to Server lên Ta nhập địa Server Address là: “127.0.0.1” Port để mặc định theo port lúc cài đặt Đặt password admin (ở m đặt là: 123) > nhấn OK để conect đến server Giao Thức SSL 27 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Tiến hành tạo user group để quản lý đăng nhập cho client Vào Edit > Groups > Add nhập tên group > OK Ở mục Page: Chọn phần Shared floder để chọn floder cần share > Chọn nút Add > chọn đường dẩn cho Floder > OK > OK Giao Thức SSL 28 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Tiếp theo ta tạo user đăng nhập Vào Edit > Users > nhập tên user chọn group vừa tạo > OK mục Account Setting tích chọn mục Password nhập password cho user vừa tạo (mình tạo user có tên “test” nhập pass “123”) > OK Giao Thức SSL 29 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Tiếp theo để thiết lập bọc giao thức SSL ta vào Edit > Setting > Chọn SSL/TLS Settings chọn nút “Generate new certificate ” để tạo khóa mã hóa cho SSL Nhập thông số hình > sau nhập xong chọn Generate certificate Giao Thức SSL 30 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Sau kh tạo Certificate xong Trở bãng SSL/TSL setting Tích vào mục Enable FTP over SSL/TSL support (FTPS) > chọn đường dẩn đến file certificate.crt vừa tạo > tích vào mục Allow explicip FTP over TLS Disallow plain unencrypted TPD > OK  Tiến hành cài đặt Filezillile client Chạy file FileZilla để tiến hành cài đặt Chọn I Agree > Next > Next > Install > Finish để kết thúc trình cài đặt Giao Thức SSL 31 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Sau cài đặt xong chương trình tự động mở lên Khởi động phần mềm wireshark để tiến hành bắt gói tin Đầu tiên ta thử trình trao đổi giao thức FTP thông thường Nhập địa ip server, user name, pass port hình (21 la port ftp) 2.3 Bắt gói tin wireshark Kiểm tra file wireshark ta thấy gói FTP đc bắt Giao Thức SSL 32 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Bây ta bọc gói ftp ssl Tắt chương trình FireZilla client khởi động lại Tạo tiến trình bắt gói tin wireshark nhập thông số vào FireZilla > chọn Quick Connect Sau tiến hành trao đổi gói tin kiểm tra wireshark, gói tin FTP k nửa mà chuyển thành gói TCP Giao Thức SSL 33 Sinh viên thực hiện: Khưu Hoàng Giang Sang Gvhd: Nguyễn Đức Quang Các gói tin TCP chạy port 990 (FTPS) Giao Thức SSL 34

Ngày đăng: 21/11/2016, 02:49

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan