1
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
2
An toàn dữ liệu 2007
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
3
An toàn dữ liệu 2007
Các tầng bảo mật
4
An toàn dữ liệu 2007
Lị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
/>•
Mã nguồn mở thực thi giao thức
/>
5
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
6
An toàn dữ liệu 2007
Kiế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
7
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
INITIALIZES SECURE
COMMUNICATION
HANDLES DATA
COMPRESSION
ERROR HANDLING
8
An toàn dữ liệu 2007
Giao 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
9
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
10
An toàn dữ liệu 2007
Các thông điệp
OFFER CIPHER SUITE
MENU TO SERVER
SELECT A CIPHER SUITE
SEND CERTIFICATE AND
CHAIN TO CA ROOT
CLIENT SIDE
SERVER SIDE
SEND PUBLIC KEY TO
ENCRYPT SYMM KEY
SERVER NEGOTIATION
FINISHED
SEND ENCRYPTED
SYMMETRIC KEY
SOURCE: THOMAS, SSL AND TLS ESSENTIALS
ACTIVATE
ENCRYPTION
CLIENT PORTION
DONE
( SERVER CHECKS OPTIONS )
ACTIVATESERVER
ENCRYPTION
SERVER PORTION
DONE
( CLIENT CHECKS OPTIONS )
NOW THE PARTIES CAN USE SYMMETRIC ENCRYPTION
11
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
•
SessionID
–
32 byte
•
Thuật toán
•
SSL_NULL_WITH_NULL_NULL = { 0, 0 }
•
SSL_RSA_WITH_NULL_MD5 = { 0, 1 }
•
SSL_RSA_WITH_NULL_SHA = { 0, 2 }
•
SSL_RSA_EXPORT_WITH_RC4_40_MD5 = { 0, 3 }
•
SSL_RSA_WITH_RC4_128_MD5 = { 0, 4 }
•
SSL_RSA_WITH_RC4_128_SHA = { 0, 5 }
•
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 = { 0, 6 }
•
SSL_RSA_WITH_IDEA_CBC_SHA = { 0, 7 }
•
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA = { 0, 8 }
•
SSL_RSA_WITH_DES_CBC_SHA = { 0, 9 }
•
SSL_RSA_WITH_3DES_EDE_CBC_SHA = { 0, 10 }
12
An toàn dữ liệu 2007
Thông điệp Server Hello
•
Phiên bản
•
Số ngẫu nhiên
•
SessionID
•
Bộ mã hoá
•
Phương pháp thoả thuận
13
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.
14
An toàn dữ liệu 2007
Tạo Master Secret
SOURCE: THOMAS, SSL AND TLS ESSENTIALS
SENT BY CLIENT
IN ClientHello
SENT BY SERVER
IN ServerHello
MASTER SECRET IS 3 MD5
HASHES CONCATENATED
TOGETHER = 384 BITS
15
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
. . .
16
An toàn dữ liệu 2007
Tạo Key từ Key Material
SECRET VALUES
INCLUDED IN MESSAGE
AUTHENTICATION CODES
INITIALIZATION VECTORS
FOR DES CBC ENCRYPTION
SYMMETRIC KEYS
17
An toàn dữ liệu 2007
Giao thức Bản ghi (Record)
18
An toàn dữ liệu 2007
Record 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
19
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
20
An toàn dữ liệu 2007
Đặ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
21
An toàn dữ liệu 2007
Các ứng dụng của SSL
•
Giao thức HTTP cổng 443
•
Bảo mật Email
–
Kết nối từ server tới client POP3 cổng 995
–
Kết nối client tới server SMTP cổng 465
•
Telnet, FTP
•
LDAP cổng 646
•
Nay: SSL được phát triển lên phiên bản TLS1.0
•
Tham khảo thêm tại:
/>
22
An toàn dữ liệu 2007
Câu hỏi?