Nếu chặn được các thông số của quá trình trao đổi khóa Diffie-Hellman, có thể thu được khóa bí mật bằng kỹ thuật Man-in-the-middle.
Dùng khóa bí mật để giải mã thông tin của giao thức SSL record
27 trang |
Chia sẻ: lylyngoc | Lượt xem: 2938 | Lượt tải: 3
Bạn đang xem trước 20 trang tài liệu Secure Sockets Layer, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Secure Sockets Layer Bảo mật trong mô hình TCP/IP Bảo mật lớp mạng với IPSec Bảo mật lớp vận chuyển với SSL Nhiều ứng dụng bảo mật ở lớp ứng dụng Giao thức bảo mật SSL(Secure Sockets Layer) Được phát triển bởi Netscape Phiên bản đầu tiên (SSL 1.0): không công bố SSL 2.0: Công bố năm 1994, chứa nhiều lỗi bảo mật SSL 3.0: Công bố năm 1996. SSL 3.1: năm 1999, được chuẩn hóa thành TLS 1.0 (Transport Layer Security) Hiện nay: SSL 3.2 (tương đương TLS 1.1) Công dụng của SSL Mã hóa dữ liệu và xác thực cho dịch vụ web Mã hóa dữ liệu và xác thực cho mail (SMTP và POP) Bảo mật cho FTP và các ứng dụng khác Thực thi SSL không “trong suốt” với ứng dụng như IPSec. Cấu trúc SSL Cấu trúc SSL SSL Handshake protocol: Giao thức bắt tay, thực hiện khi bắt đầu kết nối SSL Change Cipher Spec protocol: Giao thức cập nhật thông số mã hóa SSL Alert protocol: Giao thức cảnh báo. SSL Record protocol: Giao thức chuyển dữ liệu (thực hiện mã hóa và xác thực) Connection và session Kết nối (connection): quan hệ truyền dữ liệu giữa hai hệ thống ở lớp vận chuyển Phiên (session): Quan hệ bảo mật giữa hai hệ thống. Mỗi session có thể khởi tạo nhiều connection. Giữa hai hệ thống có thể tồn tại nhiều connection => có thể tồn tại nhiều session theo lý thuyết. Session state Trạng thái của phiên làm việc được xác định bằng các thông số: Session identifier: nhận dạng phiên Peer Certificate: Chứng chỉ số của đối tác Compression method: thuật tóan nén Cipher spec: thông số mã hóa và xác thực Master secret: khóa dùng chung Is resumable: có phục hồi kết nối không Connection state Trạng thái kết nối xác định với các thông số: Server and client random: chuỗi byte ngẫu nhiên Server write MAC secret: khóa dùng cho thao tác MAC phía server Client write MAC secret: khóa dùng cho thao tác MAC phía client Server write key: Khóa mã hóa phía server Client write key: Khóa mã hóa phía client IV và sequence number Giao thức SSL record Cung cấp hai dịch vụ cơ bản: Confidentiality Message integrity Giao thức SSL record Giao thức SSL record Phân đọan (fragmentation): mỗi khối dữ liệu gốc được chia thành đọan, kích thước mỗi đọan tối đa = 214 byte. Nén (compression): có thể sử dụng các thuật tóan nén để giảm kích thước dữ liệu truyền đi, tuy nhiên trong các phiên bản thực thi ít chấp nhận thao tác này. Giao thức SSL record Tạo mã xác thực (MAC) hash(MAC_write_secret || pad_2 || hash (MAC_write_secret || pad_1 || seq_num || SSLCompressed.type || SSLCompressed.length || SSLCompressed.fragment)) Pad_1 = 0011 0110 (0x36) Pad_2 = 0101 1100 (0x5C) Lặp lại 48 lần Giao thức SSL record Mã hóa Giao thức SSL record Cấu trúc tiêu đề SSL record Giao thức SSL Change Cipher Spec Có chức năng cập nhật thông số mã hóa cho cho kết nối hiện tại. Chỉ gồm một message duy nhất có kích thước 1 byte được gởi đi dùng giao thức SSL record Giao thức SSL Alert Trao đổi các thông tin cảnh báo sự cố giữa hai đầu kết nối. Mỗi message cảnh báo gồm 2 byte: byte đầu cho biết mức độ cảnh báo (thường hay nghiêm trọng) Cảnh báo thường (warning): phiên làm việc vẫn duy trì nhưng không tạo thêm kết nối mới. Cảnh báo nghiêm trọng (fatal): kết thúc phiên làm việc hiện hành Giao thức SSL Alert Một số bản tin cảnh báo trong SSL: unexpected_message: bản tin không phù hợp bad_record_mac: MAC không đúng decompression_failure: Giải nén không thành công handshake_failure: Không thương lượng được các thông số bảo mật. illegal_parameter: Bản tin bắt tay không hợp lệ close_notify: Thông báo kêt thúc kết nối. Giao thức SSL Alert Một số bản tin cảnh báo trong SSL (tt): no_certificate: Không có certificate để cung cấp theo yêu cầu. bad_certificate: Certificate không hợp lệ (chữ ký sai) unsupported_certificate: Kiểu certificate không chuẩn certificate_revoked: Certificate đã bị thu hồi. certificate_expired: Certificate hết hạn. certificate_unknown: Không xử lý được certificate (khác với các lý do ở trên) Giao thức SSL handshake Là phần quan trọng nhất của SSL Có chức năng thỏa thuận các thông số bảo mật giữa hai thực thể. Thủ tục bắt tay phải thực hiện trước khi trao đổi dữ liệu. SSL handshake gồm 4 giai đọan (phase) Giao thức SSL handshake Phase 1: Client Server client_hello = (version, random, session id, cipher suite, compression method) server_hello = (version, random, session id, cipher suite, compression method) Giao thức SSL handshake Phase 2: -Certificate: Chứng chỉ của server. -Server_key_exchange:Thông số trao đổi khóa (***) -Certificate_request: yêu cầu client gởi chứng chỉ -Server_hello_done: kết thúc thương lượng phía server Client Server Giao thức SSL handshake Phase 3: Client Server -Certificate: Chứng chỉ của client -Client_key_exchange:Thông số trao đổi khóa (***) -Certificate_verify: thông tin xác minh chứng chỉ của client (xác thực khóa PR của client) Giao thức SSL handshake Phase 4: Client Server -Change_cipher_spec: cập nhật thông số mã -Finish: kết thúc quá trình bắt tay thành công Giao thức SSL handshake Trao đổi khóa trong SSL handshake: Dùng RSA (certificate chứa PU) Fixed Diffie-Hellman: Dùng Diffie-Hellman với khóa cố định. Ephemeral Diffie-Hellman: Dùng Diffie-Hellman với khóa tức thời. Anonymous Diffie-Hellman: Dùng Diffie-Hellman nguyên thủy. Tấn công kết nối SSL Nếu chặn được các thông số của quá trình trao đổi khóa Diffie-Hellman, có thể thu được khóa bí mật bằng kỹ thuật Man-in-the-middle. Dùng khóa bí mật để giải mã thông tin của giao thức SSL record Triển khai SSL với dịch vụ web Các web client (Internet browser) đã tích hợp sẵn giao thức SSL. Phía server: Đảm bảo hỗ trợ của server đối với SSL (IIS, Apache, …) Tạo và cài đặt certificate cho server Ràng buộc SSL đối với tất cả các giao dịch.
Các file đính kèm theo tài liệu này:
- infsec_9_ssl_3726.ppt