Bài giảng Giao thức SSL/TLS

SSL/TLS đem lại các yếu tố sau cho truyền thông trên 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 chỉ X.509

SSL/TLS ngày nay được sử dụng ở các web server và các trình duyệt internet

 

ppt28 trang | Chuyên mục: Thương Mại Điện Tử | Chia sẻ: dkS00TYs | Lượt xem: 4411 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng Giao thức SSL/TLS, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
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 của hãng Netscape Nhằm giải quyết các vấn đề về bảo mật, toàn vẹn và xác thực TLS SSL/TLS đem lại các yếu tố sau cho truyền thông trên 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 chỉ X.509 SSL/TLS ngày nay được sử dụng ở các web server và các trình duyệt internet Ứng dụng trong HTTP Các ứng dụng dựa trên http sử dụng TLS rất phổ biến https:// Để sử dụng được 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à một giao thức trên tầng vận tải Hoạt động dựa trên sự giao thức truyền tin cậy Hỗ trợ mọi giao thức ứng dụng trên tầng IP Vấn đề đảm bảo bảo mật của TLS Mã hoá các thông điệp truyền đi Sử dụng các mã hoá quy ước với các khoá chia sẻ Sử dụng các thuật toán DES, 3DES RC2, RC4 IDEA Vấn đề trao đổi khoá trong TLS TLS cần phương pháp an toàn để trao đổi khoá bí mật và nó sử dụng hệ mật khoá công khai để thực hiện điều này Hệ mật thường thường được sử dụng là RSA hoặc Diffie-Hellman TLS đảm bảo tính toàn vẹn Tính độ dài cố định của mã xác thực thông điệp (MAC) Bao gồm giá trị băm của thông điệp Giá trị chia sẻ bí mật Số tuần tự các 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 ra một giá trị MAC mới và so sánh với giá trị MAC được truyền thì thông điệp mới được coi là toàn vẹn TLS sử dụng các hàm băm MD5, SHA-1 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 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 hiện 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) Giao thức bản ghi (Record Protocol) Pha bắt tay Thoả thuận bộ 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 và chia sẻ khoá bí mật Pha bắt tay Thông điệp Hello Thông điệp trao đổi khoá và chứng chỉ Thay đổi CiperSpec và gửi thông điệp kết thúc pha bắt tay và chuyển sang quá trình truyền dữ liệu Hello Client “Hello” - Khởi tạo phiên làm việc Gửi thông tin phiên bản giao thức Thông tin về bộ mã hoá sử dụng Server chọn giao thức và bộ mã hoá phù hợp Client có thể yêu cầu sử dụng các phiên làm việc đã có từ trước nằm ở trong cache Server lựa chọn sao cho phù hợp Trao đổi khoá Server gửi chứng chỉ chứa khoá công khai (RSA) hoặc tham số của Diffie-Hellman Client tạo ra 48-byte ngẫu nhiên gửi tới Server sử dụng khoá công khai của server Mầm khoá bí mật được tính toán Sử dụng các giá trị bí mật truyền trong thông điệp Hello giữa Server và Client Chứng chỉ khoá công khai Chứng chỉ X.509 đồng bộ khoá công khai với định danh người dùng Trung tâm CA tạo ra chứng chỉ Dựa vào các chính sách và các định danh được xác nhận Ký lên chứng chỉ Người sử dụng chứng chỉ phải đảm bảo là nó hợp lệ Kiểm tra tính hợp lệ của chứng chỉ Để kiểm tra được thì các CA phải tin cậy lẫn nhau Một CA có thể phát hành chứng chỉ cho CA khác Kiểm tra chứng chỉ vẫn còn hiệu lực CA phải đưa ra danh sách các chứng chỉ hết hiệu lực, phải thu hồi (CRL-Certificate Revocation List) Nội dung chứng chỉ 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 2 ,3) Subject Unique Id (Version 2,3) Extensions (version 3) optional CA digital Signature Ký lên chứng chỉ Ký bằng RSA Tạo ra hàm băm của chứng chỉ Mã hoá sử dụng khoá bí mật của CA Xác minh chữ ký (Signature verification) Giải mã sử dụng khoá công khai của CA Kiểm tra, đối chiếu giá trị băm Trao đổi khoá phía Server Client ClientHello Server 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 chỉ Client ClientHello Server 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 chỉ Client Client ClientHello ClientCertificate ClientKeyExchange Server ServerHello Certificate ServerKeyExchange CertificateRequest struct { select (KeyExchangeAlgorithm) { case rsa: EncryptedPreMasterSecret; case diffie_hellman: DiffieHellmanClientPublicValue; } exchange_keys; } ClientKeyExchange; Đổi khoá và thực hiện truyền dữ liệu Client [ChangeCipherSpec] Finished Application Data Server [ChangeCipherSpec] Finished Application Data Thống nhất 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 bản sao chép của pha bắt tay sử dụng phiên làm việc mới Cho phép kiểm tra tính đúng đắn của pha bắt tay Sử dụng phiên làm việc Client ClientHello (Session #) [ChangeCipherSpec] Finished Application Data Server ServerHello (Session #) [ChangeCipherSpec] Finished Application Data 

File đính kèm:

  • pptBài giảng Giao thức SSLTLS.ppt
Tài liệu liên quan