Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
154,5 KB
Nội dung
Giao thức SSL/TLS Giao thức TLS-Transport Layer Security • Được phát triển từ giao thức SSL-Secure Sockets Layer hãng Netscape • Nhằm giải vấn đề bảo mật, toàn vẹn xác thực TLS • SSL/TLS đem lại yếu tố sau cho truyền thông internet: – Bí mật - Sử dụng mật mã – Toàn vẹn - Sử dụng MAC -Xác thực- Sử dụng chứng X.509 • SSL/TLS ngày sử dụng web server trình duyệt internet Ứng dụng HTTP • Các ứng dụng dựa http sử dụng TLS phổ biến – https:// • Để sử dụng cần có Web Server hỗ trợ TLS (IIS, Tomcat, Apache ) • Trình duyệt hỗ trợ TLS – Firefox – Internet Explorer – Opera – Sarafi – Vv Các ứng dụng khác sử dụng TLS • Telnet • FTP • LDAP • POP3 • SSLrsh • Vv… Giao thức TLS • Là giao thức tầng vận tải • Hoạt động dựa giao thức truyền tin cậy • Hỗ trợ giao thức ứng dụng tầng IP HTTP Telnet TLS TCP IP FTP LDAP Vấn đề đảm bảo bảo mật TLS • Mã hoá thông điệp truyền • Sử dụng mã hoá quy ước với khoá chia sẻ • Sử dụng thuật toán – DES, 3DES – RC2, RC4 – IDEA A Message $%!@ B Message Vấn đề trao đổi khoá TLS • TLS cần phương pháp an toàn để trao đổi khoá bí mật sử dụng hệ mật khoá công khai để thực điều • Hệ mật thường thường sử dụng RSA Diffie-Hellman TLS đảm bảo tính toàn vẹn • Tính độ dài cố định mã xác thực thông điệp (MAC) – Bao gồm giá trị băm thông điệp – Giá trị chia sẻ bí mật – Số gói tin • Truyền MAC với thông điệp TLS đảm bảo tính toàn vẹn • Bên nhận tạo giá trị MAC so sánh với giá trị MAC truyền thông điệp coi toàn vẹn • TLS sử dụng hàm băm MD5, SHA-1 A Message MAC B Message’ MAC’ MAC =? Giao thức ghi (Record Protocol) Pha bắt tay • Thoả thuận thuật toán mã hoá gồm – Thuật toán mã hoá đối xứng sử dụng – Phương pháp trao đổi khoá • Thiết lập chia sẻ khoá bí mật Pha bắt tay • Thông điệp Hello • Thông điệp trao đổi khoá chứng • Thay đổi CiperSpec gửi thông điệp kết thúc pha bắt tay chuyển sang trình truyền liệu Hello • Client “Hello” - Khởi tạo phiên làm việc – Gửi thông tin phiên giao thức – Thông tin mã hoá sử dụng – Server chọn giao thức mã hoá phù hợp • Client yêu cầu sử dụng phiên làm việc có từ trước nằm cache – Server lựa chọn cho phù hợp Trao đổi khoá • Server gửi chứng chứa khoá công khai (RSA) tham số DiffieHellman • Client tạo 48-byte ngẫu nhiên gửi tới Server sử dụng khoá công khai server • Mầm khoá bí mật tính toán – Sử dụng giá trị bí mật truyền thông điệp Hello Server Client Chứng khoá công khai • Chứng X.509 đồng khoá công khai với định danh người dùng • Trung tâm CA tạo chứng – Dựa vào sách định danh xác nhận – Ký lên chứng • Người sử dụng chứng phải đảm bảo hợp lệ Kiểm tra tính hợp lệ chứng • Để kiểm tra CA phải tin cậy lẫn – Một CA phát hành chứng cho CA khác • Kiểm tra chứng hiệu lực – CA phải đưa danh sách chứng hết hiệu lực, phải thu hồi (CRL-Certificate Revocation List) Nội dung chứng X.509 • • • Version Serial Number Signature Algorithm Identifier – – • • Object Identifier (OID) e.g id-dsa: {iso(1) member-body(2) us(840) x9-57 (10040) x9algorithm(4) 1} Issuer (CA) X.500 name Validity Period (Start,End) • • Subject X.500 name Subject Public Key • • • – Algorithm – Value Issuer Unique Id (Version ,3) Subject Unique Id (Version 2,3) Extensions (version 3) – optional • CA digital Signature Ký lên chứng • Ký RSA – Tạo hàm băm chứng – Mã hoá sử dụng khoá bí mật CA • Xác minh chữ ký (Signature verification) – Giải mã sử dụng khoá công khai CA – Kiểm tra, đối chiếu giá trị băm Trao đổi khoá phía Server Client Server ClientHello ServerHello Certificate ServerKeyExchange Hello messages struct { } HelloRequest; struct { uint32 gmt_unix_time; opaque random_bytes[28]; } Random; opaque SessionID; uint8 CipherSuite[2]; enum { null(0), (255) } CompressionMethod; struct { ProtocolVersion client_version; Random random; SessionID session_id; CipherSuite cipher_suites CompressionMethod compression_methods } ClientHello; struct { ProtocolVersion server_version; Random random; SessionID session_id; CipherSuite cipher_suite; CompressionMethod compression_method; } ServerHello; Yêu cầu chứng Client Server ClientHello ServerHello Certificate ServerKeyExchange CertificateRequest struct { select (KeyExchangeAlgorithm) { case diffie_hellman: ServerDHParams params; Signature signed_params; case rsa: ServerRSAParams params; Signature signed_params; }; } ServerKeyExchange Chứng Client Client Server ClientHello ClientCertificate ClientKeyExchange struct { select (KeyExchangeAlgorithm) { case rsa: EncryptedPreMasterSecret; case diffie_hellman: DiffieHellmanClientPublicValue; } exchange_keys; } ClientKeyExchange; ServerHello Certificate ServerKeyExchange CertificateRequest Đổi khoá thực truyền liệu Client Server [ChangeCipherSpec] Finished [ChangeCipherSpec] Finished Application Data Application Data Thống thuật toán mã hóa sử dụng • Thoả thuận thuật toán mã hoá sử dụng • Kết thúc – Gửi chép pha bắt tay sử dụng phiên làm việc – Cho phép kiểm tra tính đắn pha bắt tay Sử dụng phiên làm việc Client Server ClientHello (Session #) ServerHello (Session #) [ChangeCipherSpec] Finished [ChangeCipherSpec] Finished Application Data Application Data [...]... xác thực • Truyền dữ liệu của ứng dụng – Đảm bảo tính bí mật và toàn vẹn Kiến trúc của TLS • TLS định nghĩa các bản ghi (record protocol) để truyền thông tin của ứng dụng và của TLS • Phiên làm việc được thiết lập sử dụng giao thức bắt tay (HandShake Protocol) Handshake Protocol Change Cipher Spec Alert Protocol TLS Record Protocol Giao thức bản ghi (Record Protocol) Pha bắt tay • Thoả thuận bộ thuật.. .TLS đảm bảo tính xác thực • Kiểm tra danh tính của thành phần tham gia truyền thông • Chứng chỉ được sử dụng để đồng bộ định danh với khoá công khai và các thuộc tính khác A Certificate B Certificate Các bước hoạt động của TLS • Thiết lập một phiên làm việc – Đồng bộ thuật toán mã hoá – Chia sẻ khoá bí mật – Thực ...Giao thức TLS- Transport Layer Security • Được phát triển từ giao thức SSL- Secure Sockets Layer hãng Netscape • Nhằm giải vấn đề bảo mật, toàn vẹn xác thực TLS • SSL/ TLS đem lại yếu tố... dụng chứng X.509 • SSL/ TLS ngày sử dụng web server trình duyệt internet Ứng dụng HTTP • Các ứng dụng dựa http sử dụng TLS phổ biến – https:// • Để sử dụng cần có Web Server hỗ trợ TLS (IIS, Tomcat,... Apache ) • Trình duyệt hỗ trợ TLS – Firefox – Internet Explorer – Opera – Sarafi – Vv Các ứng dụng khác sử dụng TLS • Telnet • FTP • LDAP • POP3 • SSLrsh • Vv… Giao thức TLS • Là giao thức tầng vận