Các khái niệm đề cập ở trên là các khái niệm cơ bản của công nghệ SSL. Ngoài ra còn có rất nhiều thuộc tính khác của SSL mà chúng ta sẽ xem xét ở đây: • Connection (kết nối): là một liên kết client/server logic với những kiểu dịch vụ thích hợp. SSL connection là một kết nối điểm nối điểm giữa 2 nút mạng.
• Session (phiên): là một sự kết hợp giữa một client và một server xác định bằng một bộ các tham số ví dụ thuật toán sẽ sử dụng, số hiệu phiên v.v... Khi một phiên SSL giữa một client và một server đƣợc thiết lập bằng giao thức SSL Handshake Protocol thì tất cả các kết nối sau này đƣợc thiết lập giữa cặp server/client đó sẽ sử dụng chung bộ tham số đó mà không phải tiến hành thoả thuận lại. Điều đó có nghĩa là trong một phiên SSL giữa một client và một server có thể có nhiều kết nối giữa client và server đó. Về lý thuyết cũng có thể có nhiều phiên SSL dùng chung một kết nối, nhƣng trên thực tế không sử dụng đến khả năng này.
Khái niệm phiên và kết nối SSL liên quan đến nhiều tham số sử dụng trong truyền thông hỗ trợ SSL giữa client và server. Trong quá trình thoả thuận của giao thức handshake ngoài việc chọn các phƣơng pháp mã hoá dữ liệu thì một loạt các tham số của Session State cũng đƣợc chọn, Session State bao gồm:
Thành Phần Mô tả
Session ID
1 chuỗi byte bất kì đƣợc chọn bởi server để nhận dạng trạng thái phiên là hoạt động.
(active) hay phục hồi lại (resumable).
Peer certificate Một chứng chỉ X509.v3.Thành phần này của trạng thái có thể là null.
Compression method Thuật toán dừng để nén dữ liệu trƣớc khi mã hóa
Cipher spec Chỉ ra thuật toán mã hóa dữ liệu (nhƣ rỗng,AES…) và thuật toán băm (nhƣ MD5 hay SHA-1) sử dụng để tính
40
toán MAC.Nó cũng định nghĩa các thuộc tính mã hóa nhƣ hash-size.
Master secret Khóa mật 48-byte đƣợc chia sẻ giữa client và server.
Is resumable Một cờ chỉ ra rằng phiên này có thể đƣợc dùng để khởi tạo các kết nối khác hay không.
Bảng 3.1. Các thành phần thông tin trạng thái Session SSL
Ngoài ra còn có một số tham số khác:
Thành Phần Mô tả
Serverand clientrandom Các chuỗi byte đƣợc chọn bởi server và client cho mỗi nối kết.
Serverwrite MACsecret Khóa mật đƣợc sử dụng cho các hoạt động MAC trên dữ liệu đƣợc ghi bởi server.
ClientwriteMACsecret Khóa mật đƣợc sử dụng cho các hoạt động MAC trên dữ liệu đƣợc ghi bởi client.
Serverwrite key Khóa đƣợc sử dụng cho việc mã hóa dữ liệu bởi server và giải mã bởi client
Clientwrite key Khóa đƣợc sử dụng để mã khóa dữ liệu bởi client và giải mã bởi server.
Initialization vectors
Trạng thái khởi tạo cho một mật mã khối trong chế độ CBC. Trƣờng này đƣợc khởi tạo đầu tiên bởi SSL Handshake Player. Sau đó, khối text mật mã sau cùng từ mỗi bản ghi đƣợc dành riêng để sử dụng vởi bản ghi sau đó.
Sequencenumber Mỗi phía duy trì các số chuỗi riêng biệt cho các thông báo đƣợc truyền và đƣợc nhận cho mỗi nối kết.
41
Ở trong hai trƣờng hợp, điều quan trọng cần lƣu ý là các phía giao tiếp phải sử dụng nhiều session SSL đồng thời và các session có nhiều nối kết đồng thời.