Bài giảng Tuần 6• Giao thức bảo mật SSL/TLS • Giao thức “bắt tay” Handshake • Giao thức bản ghi Record • Ứng dụng của SSL/TLS... 5 An toàn dữ liệu 2007Tổng quan về giao thức • Thiết lập
Trang 11 An toàn dữ liệu 2007
An toàn dữ liệu
Trương Thị Thu Hiền
Bộ môn Các hệ thống thông tin – trường Đại học Công nghệ - ĐHQGHN
Trang 2Bài giảng Tuần 6
• Giao thức bảo mật SSL/TLS
• Giao thức “bắt tay” (Handshake)
• Giao thức bản ghi (Record)
• Ứng dụng của SSL/TLS
Trang 33 An toàn dữ liệu 2007
Các tầng bảo mật
Trang 4Lịch sử phát triển của SSL
• Phiên bản 1 được đưa ra bởi Netscape
• Đã được phát triển đến phiên bản 3
• Được định nghĩa trong RFC 2246
http://www.ietf.org/rfc/rfc2246.txt
• Mã nguồn mở thực thi giao thức
http://www.openssl.org/
Trang 55 An toàn dữ liệu 2007
Tổng quan về giao thức
• Thiết lập phiên làm việc
– Thoả thuận thuật toán – Chia sẻ bí mật
– Xác thực
• Truyền dữ liệu
– Đảm bảo tính bí mật và toàn vẹn
Trang 6Kiến trúc của giao thức
• Giao thức Handshake để thiết lập phiên làm việc
• Giao thức Record để truyền dữ liệu
TLS Record Protocol
Handshake Protocol
Alert Protocol Change
Cipher Spec
Trang 77 An toàn dữ liệu 2007
Kiến trúc của giao thức
HANDLES COMMUNICATION WITH THE APPLICATION
Protocols
INITIALIZES COMMUNCATION BETWEEN CLIENT & SERVER
Trang 8Giao thức “bắt tay” (Handshake)
• Thoả thuận thuật toán
– Thuật thoán mã hoá đối xứng sẽ sử dụng – Phương pháp trao đổi khoá
– Hàm băm sẽ sử dụng
• Tạo và chia sẻ khóa bí mật
• Xác thực máy chủ và máy khách
Trang 99 An toàn dữ liệu 2007
Các pha trong giao thức Handshake
• Thông điệp Hello
• Thông điệp trao đổi khoá và chứng chỉ số
• Thông điệp lựa chọn thuật toán
• Thông điệp Finish
Trang 10Các thông điệp
OFFER CIPHER SUITE
MENU TO SERVER SELECT A CIPHER SUITE
SEND CERTIFICATE AND CHAIN TO CA ROOT
SEND PUBLIC KEY TO ENCRYPT SYMM KEY SERVER NEGOTIATION FINISHED
( CLIENT CHECKS OPTIONS )
NOW THE PARTIES CAN USE SYMMETRIC ENCRYPTION
Trang 1111 An toàn dữ liệu 2007
Thông điệp Client Hello
• Phiên bản giao thức
– SSLv3 – TLS
• Số ngẫu nhiên
– 32 byte – 4 byte đầu là thời gian hiện tại, 28 byte sau là ngẫu nhiên
Trang 12Thông điệp Server Hello
Trang 1313 An toàn dữ liệu 2007
Trao đổi khoá
• Tham số tạo khoá bí mật Premaster
– Được tạo bởi Client, dùng để tính toán khoá bí mật
• Tham số bí mật được mã hoá bằng khoá công khai
của server và truyền tới server
• Khoá bí mật được tạo ra bởi các tham số bí mật và
các số ngẫu nhiên sinh bởi client và server
Trang 14Tạo Master Secret
Trang 1515 An toàn dữ liệu 2007
Tạo Key Material
SOURCE: THOMAS, SSL AND TLS ESSENTIALS
JUST LIKE FORMING
THE MASTER SECRET
EXCEPT THE MASTER
SECRET IS USED HERE
INSTEAD OF THE
PREMASTER SECRET
.
Trang 16Tạo Key từ Key Material
SECRET VALUES INCLUDED IN MESSAGE AUTHENTICATION CODES
INITIALIZATION VECTORS FOR DES CBC ENCRYPTION SYMMETRIC KEYS
Trang 1717 An toàn dữ liệu 2007
Giao thức Bản ghi (Record)
Trang 18Record Header
• Kiểu Content
– Application Data – Alert
– Handshake – Change_cipher_spec
• Độ dài content
– khởi tạo khi bắt đầu phiên
• Phiên bản SSL
Trang 1919 An toàn dữ liệu 2007
Phiên làm việc SSL
• Session khác với Connection
– Có thể có nhiều connection trong một session
• Ngắt/ khởi động lại session
– Thông qua sessionID
• Re-handshake session
– Client khởi tạo lại pha handshake trong một session
Trang 20Đặc điểm SSL
• Chậm từ 2-10 lần so với TCP session
• Những bước thực hiện gây ra chậm
– Handshake phase
• Client thực hiện mã hoá dùng hệ public key
• Server giải mã khoá thông tin mã hoá bằng khoá công khai
• Client đợi server hoàn thành các thao tác
– Data Transfer File
• Thực hiện mã hoá khoá đối xứng
Trang 21• Nay: SSL được phát triển lên phiên bản TLS1.0
• Tham khảo thêm tại:
http://www.openssl.org/related/apps.htmlb
Trang 22Câu hỏi?