Giao thức bảo mật kênh truyền tls 1 3

29 3 0
Giao thức bảo mật kênh truyền tls 1 3

Đ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

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG BÁO CÁO MÔN: AN NINH MẠNG TRUYỀN THÔNG Đề tài: Giao thức bảo mật kênh truyền TLS 1.3 Giáo viên hướng dẫn: Nguyễn Thanh Trà Hà Nội, tháng 04 năm 2021 MỤC LỤC LỜI NÓI ĐẦU Tổng quan giao thức TLS 1.3 1.1 Định nghĩa giao thức TLS 1.2 Cấu trúc, chức hoạt động 1.2.1 Cấu trúc 1.2.2 Chức 1.2.3 Hoạt động 1.3 1.3.1 Ưu điểm 1.3.2 Nhược điểm Giao thức Handshake 2.1 Ưu nhược điểm TLS 1.3 Các thơng báo trao đổi khóa 2.1.1 Thông báo ClientHello 2.1.2 Thông báo ServerHello 2.2 Các tham số Server 2.3 Các thông báo xác thực 10 Giao thức Record 10 3.1 Record Layer 10 3.2 Record Payload Protecttion 11 3.3 Per-Record Nonce 11 3.4 Record Padding 12 Giao thức Alert 12 4.1 Các cảnh báo chấm dứt 12 4.2 Các cảnh báo lỗi 13 Mơ hình cài đặt phân tích gói tin TLS 1.3 15 5.1 Cài đặt cấu hình 15 5.1.1 Cấu hình WebServer 15 5.1.2 Cấu hình WebServer 18 Nhóm – Giao thức TLS 1.3 5.1.3 5.2 Cấu hình TLS 1.3 cho WebServer 23 Phân tích đường truyền 28 TÀI LIỆU THAM KHẢO 29 LỜI NÓI ĐẦU Ngày nay, với phát triển công nghệ thông tin, nhu cầu ngày nâng cao người dùng mục đích sử dụng kèm theo u cầu bảo mật thơng tin liệu cho người dùng tham gia vào mạng, đặc biệt tham gia sử dụng dịch vụ web ngày đòi hỏi chặt chẽ Để đáp ứng u cầu hàng loạt cơng nghệ bảo mật liệu cho dịch vụ web đời, có giao thức bảo mật liệu đường truyền TLS 1.3 GIAO THỨC BẢO MẬT KÊNH TRUYỀN TLS 1.3 Tổng quan giao thức TLS 1.3 1.1 Định nghĩa giao thức TLS - Giao thức TLS( Transport Layer Security) giao thức bảo mật tầng giao vận áp dụng rộng rãi thiết kế nhằm đảm bảo riêng tư bí mật liệu liên lạc qua internet - Giao thức phát triển dựa giao thức SSLv3.0( Secure Socket Layer) 1.2 Cấu trúc, chức hoạt động 1.2.1 Cấu trúc - Do giao thức TLS phát triển từ giao thức SSL nên TLS có cấu trúc tương tự SSL Cấu trúc giao thức SSL thể sau: 1.2.2 - - 1.2.3 Hình 1.1 Cấu trúc giao thức SSL Vị trí mơ hình mạng: TLS giao thức hoạt động tầng giao vận để mã hóa liệu tầng ứng dụng Chức Mục tiêu giao thức bảo đảm tính bí mật tồn vẹn liệu truyền mơi trường mạng Đặc tính kết nối riêng tư: Mã hóa đối xứng sử dụng để mã hóa liệu Các khóa để mã hóa đối xứng sinh cho lần kết nối thỏa thuận bí mật giao thức khác Chính giao thức TLS sử dụng mà khơng cần mã hóa Ngồi ra, TLS cịn sử dụng để phân mảnh, nén, đóng gói, mã hóa liệu, cho phép máy chủ xác nhận thỏa thuận thuật tốn mã hóa Hoạt động - TLS hoạt động dựa việc sử dụng public private key, đồng thời khóa phiên giao dịch Hình 1.2 Hoạt động giao thức TLS 1.3 1.3 Ưu, nhược điểm TLS 1.3 1.3.1 Ưu điểm - Về tốc độ: TLS 1.3 nhanh TLS 1.2 sử dụng chế handshake hoàn toàn giúp giảm thời gian mã hóa kết nối Cụ thể, TLS 1.2 yêu cầu hai round-trips( hành trình) để hồn thành q trình TLS handshake, TLS 1.3 cần round-trip Điều làm giảm độ trễ mã hóa xuống nửa so với TLS 1.2 Hình 1.3 Quá trình bắt tay TLS 1.2 TLS 1.3 - Về bảo mật : TLS 1.3 tăng cường bảo mật phiên trước Đối với TLS 1.2, khơng cấu hình cách trang web dễ bị cơng Cịn TLS 1.3 loại bỏ thuật tốn lỗi thời khơng cịn an tồn, sử dụng thuật tốn mã hóa đại giúp giảm nguy bị cơng từ thuật tốn 1.3.2 Nhược điểm - Rủi ro bảo mật gói tin 0-RTT Nếu kẻ cơng có khóa PSK họ dễ dàng giải mã liệu Hoặc kẻ cơng thu liệu 0-RTT chúng liên tục gửi liệu tới nhiều server để gọi tái kết nối với server( 0-RTT Reply Attack) Giao thức Handshake Giao thức Handshake hoạt động theo hình 2.1 Hình 2.1 Mơ hình hoạt động giao thức Handshake 2.1 Các thông báo trao đổi khóa 2.1.1 Thơng báo ClientHello - Trường Version: đặt giá trị 0x0303( số hiệu phiên TLS 1.2) phiên mà client hỗ trợ phần mở rộng “ supported_versions” Trong “supported_versions”, giá trị 0x0304 phiên cao client - Trường Random: có độ dài 32 byte tạo tạo số ngẫu nhiên an tồn - Trường Session ID: có độ dài 32 byte chứa giá trị ID phiên client , giá trị không thiết phải tạo ngẫu nhiên nên giá trị khơng thể đốn trước - Trường Cipher Suites: danh sách hệ mật mã đối xứng hỗ trợ client, đặc biệt thuật toán bảo vệ ghi hàm băm sử dụng HKDF theo thứ tự mức độ ưu tiên giảm dần Nếu danh sách chứa mật mã mà server phải bỏ qua mật mã xử lý cịn lại bình thường - Trường Compression Methods: có độ dài byte đặt 0( tương ứng với giá trị null phiên trước) Nếu trường có giá trị khác server buộc phải hủy bỏ trình bắt tay với cảnh báo “illegal_parameter” - Trường Extensions: client yêu cầu tính mở rộng từ server việc gửi liệu trường extentions Việc sử dụng phần mở rộng bắt buộc tính chuyển sang phần mở rộng nhằm trì tính tương thích ClientHello với phiên trước TLS Máy chủ bỏ qua phần mở rộng không công nhận Sau gửi ClientHello, Client đợi thông báo phản hồi ServerHello HelloRetryRequest từ máy chủ 2.1.2 Thông báo ServerHello ServerHello gửi thông báo phản hồi lại ClientHello để thực q trình bắt tay thỏa thuận tham số dựa ClientHello - Trường Version: máy chủ TLS phiên phần mở rộng “ supported_versions” trường Version phải đặt thành 0x0303 - Trường Random: Có độ dài 32 byte tạo tạo số ngẫu nhiên an tồn - Trường Session ID: Có độ dài 32 byte chứa giá trị giống với Session ID client Nếu client nhận ServerHello chứa Session ID có giá trị khác với Session ID mà gửi ClientHello client phải hủy trình bắt tay với cảnh báo “ illegal parameter” - Trường Cipher Suite: Chứa hệ mật mã chọn server từ danh sách cipher suite ClientHello Nếu client nhận hệ mật mã không cung cấp danh sách mà gửi client phải hủy trình bắt tay với cảnh báo “illegal_parameter” - Trường Compression Methods: Có độ dài 1byte buộc phải đặt thành giá trị - Trường Extensions: Chứa danh sách phần mở rộng ServerHello buộc chứa phần mở rộng yêu cầu để thiết lập thuộc tính mật mã thỏa thuận phiên giao thức Thông báo ServerHello TLS 1.3 buộc phải chứa phần mở rộng supported_versions 2.2 Các tham số Server Tại thời điểm nhận ClientHello, server tạo khóa chung tạm thời Sau gửi ServerHello bắt đầu truyền tin mã hóa - Thơng báo EncryptedExtensions: Trong q trình bắt tay, máy chủ phải gửi thông báo EncryptedExtensions sau thông báo ServerHello Đây thông báo mã hóa với khóa nhận từ server_handshake_traffic_secret - Thơng báo CertificateRequest: Máy chủ xác thực qua chứng thư cách yêu cầu chứng thư từ client Thơng báo gửi buộc phải theo sau thông báo EncryptedExtensions Nội dung thông báo bao gồm: + certificate_request_context: chuỗi xác định yêu cầu chứng lặp lại thông báo Certificate client Đây phải phạm vi kết nối (do ngăn chặn việc phát lại thông báo CertificateVerify client) + extensions: tập hợp phần mở rộng mô tả tham số chứng yêu cầu Client phải bỏ qua phần mở rộng không công nhận 2.3 Các thông báo xác thực TLS thường sử dụng tập hợp thông báo chung để xác thực, xác nhận khóa tính tồn vẹn q trình bắt tay Các thông báo xác thực bao gồm: - Certificate: chứa chứng sử dụng để xác thực Lưu ý xác thực client dựa chứng khơng khả dụng quy trình bắt tay PSK - CertificateVerity: chứa chữ ký giá trị Transcript-Hash (Handshake context, Certificate) - Finished: chứa giá trị MAC tính giá trị Transcript-Hash (Handshake context, Certificate, CẻtificateVerity) cách sử dụng khóa MAC nhận từ khóa sở Sau server hoàn thành giao thức handshake TLS 1.3 gửi giá trị NewSessionTicket cho client để sử dụng cần tái kết nối client server Giao thức Record Giao thức record TLS đưa thông điệp truyền đi, phân mảnh liệu thành khối quản lý được, bảo vệ ghi truyền kết Dữ liệu nhận được tiến hành xác minh, giải mã, tập hợp lại sau chuyển đến layer cấp cao 3.1 Record Layer 10 Nhóm – Giao thức TLS 1.3 vị máy chủ chọn gửi cảnh báo “decryot_error” để đích danh PSK không hợp lệ - certificate_required: gửi máy chủ chứng client yêu cầu không client cung cấp - no_application_protocol: gửi máy chủ phần mở rộng “application_layer_protocol_negotiat” client đưa giao thức mà máy chủ không hỗ trợ Mơ hình cài đặt phân tích gói tin TLS 1.3 5.1 Cài đặt cấu hình Hình 5.1 Mơ hình triển khai TLS 1.3 5.1.1 Cấu hình WebServer 15 Nhóm – Giao thức TLS 1.3 Thực cài đặt Webserver sử dụng phần mềm Webserver Nginx phiên 1.20.0 thư viện openssl phiên 1.1.1g FIPS hệ điều hành CentOS a Tắt SELinux nano /etc/selinux/config Dòng SELINUX=enforcing đổi thành disabled b Cài đặt gói hỗ trợ cần thiết 16 Nhóm – Giao thức TLS 1.3 - Để cài đặt gói hỗ trợ cần thiết, ta chạy lệnh sau: yum install yum-utils –y - Chỉnh sửa tệp /etc/yum.repos.d/nginx.repo: nano /etc/yum.repos.d/nginx.repo với nội dung: [nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch / gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true 17 Nhóm – Giao thức TLS 1.3 c Cài đặt nginx Để cài đặt nginx, ta chạy lệnh: yum install nginx –y 5.1.2 Cấu hình WebServer a Cấu hình file html Tạo thư mục chứa file html: mkdir –p /var/www/dong.ptit.edu/public_html Tạo file html: nano /var/www/dong.ptit.edu/public_html/index.html với nội dung:

NGUYEN THI DONG - B17DCVT068 HVCNBCVT

18 Nhóm – Giao thức TLS 1.3 b Cấu hình config nginx 19 Nhóm – Giao thức TLS 1.3 Tạo folder chứa file config nginx: mkdir –p /etc/nginx/nguyendong Tạo file config riêng cho Web: Tạo web nguyendong.ptit.edu nano /etc/nginx/nguyendong/nguyendong.ptit.edu.conf với nội dung: server { listen 80; server_name nguyendong.ptit.edu www.nguyendong.ptit.edu; location /{ root /var/www/dong.ptit.edu/public_html; index index.html; } } 20 Nhóm – Giao thức TLS 1.3 c Chỉnh sửa file hosts để truy cập vào WebServer nano /etc/hosts Chỉnh sửa nội dung: 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.68.1 nguyendong.ptit.edu 192.168.68.1 www.nguyendong.ptit.edu 21 Nhóm – Giao thức TLS 1.3 Trên Client thực tương tự: C:\Windows\System32\drivers\etc\hosts 22 Nhóm – Giao thức TLS 1.3 Tiến hành kiểm tra truy cập trang web vừa tạo: 5.1.3 Cấu hình TLS 1.3 cho WebServer a Tạo folder chứa khóa bí mật WebServer để xin CA từ CA Server folder chứa file CSR để xin cấp CA tới CA Server mkdir –p /etc/tls/private mkdir –p /etc/tls/csr b Tiến hành tạo khóa bí mật từ thư viện openssl openssl genrsa -out /etc/tls/private/nguyendong.ptit.edu.key 4096 23 Nhóm – Giao thức TLS 1.3 c Tiến hành tạo file CSR để xin cấp CA từ CA Server openssl req -new -key /etc/tls/private/nguyendong.ptit.edu.key –out /etc/tls/csr/nguyendong.ptit.edu.csr d Kiểm tra file CSR vừa tạo cat /etc/tls/csr/nguyendong.ptit.edu.csr 24 Nhóm – Giao thức TLS 1.3 e Xin cấp CA từ CA Server Ở em thiết lập máy ảo CA Server chạy WindowServer 2016 Tiến hành xin cấp CA file CSR thu file Cernew.cer Certnew.p7b Sau tiến hành chuyển đổi file certnew.cer sang file certnew.pem 25 Nhóm – Giao thức TLS 1.3 openssl x509 -inform der -in certnew.cer -out certnew.pem f Cấu hình file config Nginx để thiết lập TLS 1.3 nano /etc/nginx/nguyendong/nguyendong.ptit.edu.conf với nội dung: server { listen 80; server_name nguyendong.ptit.edu www.nguyendong.ptit.edu; return 301 https://$server_name$request_uri; } server { listen 443 ssl default_server; server_name nguyendong.ptit.edu www.nguyendong.ptit.edu; ssl on; ssl_certificate /etc/tls/certnew.pem; ssl_certificate_key /etc/tls/private/nguyendong.ptit.edu.key; ssl_session_timeout 5m; ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers " ECDHE-RSA-AES256-GCM-SHA384:ECDHERSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCMSHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSAAES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHERSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSAAES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSAAES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DESCBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCMSHA384:AES128-GCM-SHA256:AES256-SHA256:AES128SHA256:AES256-SHA:AES128-SHA:DES-CBC3SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:! RC4"; ssl_prefer_server_ciphers on; add_header Strict-Transport-Security "maxage=31536000; I nclude$ ssl_stapling on; location /{ root /var/www/dong.ptit.edu/public_html; 26 Nhóm – Giao thức TLS 1.3 index index.html; } } Sau tiến hành khởi động lại nginx: systemctl restart nginx g Tiến hành truy cập lại trang web từ client 27 Nhóm – Giao thức TLS 1.3 5.2 Đã cài đặt thành công TLS 1.3 lên WebServer với kiểu mã hóa đường truyền AES 256bit khóa Phân tích đường truyền Hình 5.2 Kết bắt chặn gói tin TLS 1.3 28 Nhóm – Giao thức TLS 1.3 TÀI LIỆU THAM KHẢO E.Rescorla, The Transport Layer Security( TLS) Protocol Version 1.3, RFC 8446 Marc Fischlin, Felix Gunther, “Replay attacks on zero round-trip time: the case of the TLS 1.3 handshake candidates”, 2017 Felix Gunther, “TLS 1.3 - A New Standard and Its Security, 2018”, https://www.felixguenther.info/talks/ecryptnetschool2018-09-19.pdf ( ngày truy cập 20/3/2021) Cas Cremers University of Oxford, UK Marko Horvat MPI-SWS, Germany Jonathan Hoyland Royal Holloway, University of London, UK Sam Scott Royal Holloway, University of London, UK Thyla van der Merwe Royal Holloway, University of London, UK , “Session H4: Formal Verification,A Comprehensive Symbolic Analysis of TLS 1.3”, https://acmccs.github.io/papers/p1773cremersA.pdf( truy cập ngày 20/03/2021) Vân Ngọc, “ Giao thức bảo mật TLS 1.3 - nhanh hơn, an tồn hơn”, tạp chí an tồn thông tin, 2018 29 ... có giao thức bảo mật liệu đường truyền TLS 1. 3 GIAO THỨC BẢO MẬT KÊNH TRUYỀN TLS 1. 3 Tổng quan giao thức TLS 1. 3 1. 1 Định nghĩa giao thức TLS - Giao thức TLS( Transport Layer Security) giao thức. .. quan giao thức TLS 1. 3 1. 1 Định nghĩa giao thức TLS 1. 2 Cấu trúc, chức hoạt động 1. 2 .1 Cấu trúc 1. 2.2 Chức 1. 2 .3 Hoạt động 1. 3 1. 3 .1 Ưu... nửa so với TLS 1. 2 Hình 1. 3 Quá trình bắt tay TLS 1. 2 TLS 1. 3 - Về bảo mật : TLS 1. 3 tăng cường bảo mật phiên trước Đối với TLS 1. 2, khơng cấu hình cách trang web dễ bị cơng Cịn TLS 1. 3 loại bỏ

Ngày đăng: 26/02/2023, 15:13

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

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

Tài liệu liên quan