3.5.2.1 Thông điệp của giao thức SSLFTPHandshake
Mỗi thông điệp của giao thức SSLFTP Handshake gồm hai phần, phần tiêu đề và phần nội dung.
Phần tiêu đề gồm hai trường: trường kiểu thông điệp và trường độ dài thông điệp. Trường kiểu thông điệp gồm 1 byte chứa giá trị cho biết thông điệp cụ thể của giao thức SSLFTPHandshake. Bảng 3-3 liệt kê các giá trị của trường kiểu thông điệp.
Bảng 3-3: Các kiểu thông điệp SSLFTPHandshake Giá trị trường kiểu
thông điệp Ý nghĩa
1 Thông điệp ClientHelloFTP 2 Thông điệp ServerHelloFTP 11 Thông điệp AuthenRequestFTP 12 Thông điệp AuthenRespondFTP 13 Thông điệp ServerHelloDoneFTP 14 Thông điệp ClientkKeyExchangeFTP 15 Thông điệp FinishedFTP
Trường độ dài thông điệp gồm 2 byte chứa giá trị cho biết độ dài nội dung mỗi thông điệp của giao thức SSLFTPHandshake.
(1). Thông điệp ClientHelloFTP
Cấu trúc thông điệp ClientHelloFTP được mô tả trong hình vẽ 3.8.
Hình 3.8 Thông điệp ClientHelloFTP Độ dài thông điệp: 32 Độ dài: 36 Kiểu nội dung: 22 Kiểu thông điệp: 1
Giá trị ngẫu nhiên (32 bytes)
Hình 3.9 Thông điệp ServerHelloFTP Độ dài thông điệp: 32 Độ dài: 36 Kiểu nội dung: 22 Kiểu thông điệp: 2
Giá trị ngẫu nhiên (32 bytes)
Giá trị của trường kiểu nội dung là 1, trường độ dài thông điệp là 32. Phần nội dung thông điệp gồm một số ngẫu nhiên 32 byte.
Cấu trúc thông điệp ServerHelloFTP được mô tả trong hình 3.9. Trường kiểu thông điệp có giá trị 2, trường độ dài thông điệp có giá trị là 32 và phần nội dung là giá trị ngẫu nhiên 32 byte.
(3). Thông điệp AuthenRequestFTP
Thông điệp AuthenRequestFTP được mô tả trong hình 3.10.
Hình 3.10 Khuôn dạng thông điệp
AuthenRequestFTP Kiểu nội dung: 22 Độ dài: 3 Kiểu thông điệp: 11 Độ dài thông điệp: 0
Trường kiểu thông điệp có giá trị 11, trường độ dài có giá trị 0, phần nội dung thông điệp rỗng.
(4). Thông điệp AuthenRespondFTP
Nội dung của thông điệp AuthenRespond được mô tả trong hình 3.11
Hình 3.11 Khuôn dạng thông điệp
AuthenRespondFTP Type: 14 Giá trị băm 1 (16 byte) ……….. Kiểu nội
dung: 22 Độ dài thay đổi Kiểu thông
điệp: 12 điệp: thay đổiĐộ dài thông
Giá trị băm n (16 byte)
Trường kiểu thông điệp có giá trị là 12, trường độ dài thông điệp có giá trị phụ thuộc vào số máy chủ tệp mà máy chủ xác thực quản lý. Phần nội dung chứa danh sách các thông tin dùng để xác thực, mỗi phần tử trong danh sách gồm 16 byte là giá trị của tên máy và khoá công khai tương ứng trong danh sách mà máy chủ tệp quản lý.
(5). Thông điệp ServerHelloDoneFTP
Hình 3.12 Khuôn dạng thông điệp ServerHelloDoneFTP Kiểu nội
dung: 22 Độ dài: 3 Kiểu thông
điệp: 13 Độ dài thông điệp: 0
Trường kiểu thông điệp có giá trị 13, trường độ dài có giá trị 3 và phần nội dung rỗng.
(6). Thông điệp ClientKeyExchangeFTP
Khuôn dạng của thông điệp được mô tả trong hình 3.13.
Hình 3.13 Thông điệp ClientKeyExchangeFTP
Type: 14
Giá trị bí mật được mã hoá (46 byte) Độ dài thông điệp: 46 Độ dài: 51 Kiểu nội dung: 22 Kiểu thông điệp: 14
Trường kiểu thông điệp có giá trị là 14, độ dài thông điệp là 46. Phần nội dung thông điệp là 46 byte giá trị bí mật được mã hoá bằng khoá công khai của máy chủ tệp.
(7). Thông điệp Finished
Khuôn dạng thông điệp này được mô tả trong hình 3.14.
Hình 3.14 Khuôn dạng thông điệp Finished
Giá trị băm nội dung các thông điệp đã gửi
(16 bytes) Mã xác thực thông điệp (16 bytes) Được mã hoá Kiểu nội dung: 22 Độ dài: 35 Kiểu thông
Trường kiểu thông điệp có giá trị là 15, trường độ dài có giá là 16. Phần nội dung là 16 byte giá trị băm MD5 của tất cả các thông điệp đã gửi trong pha bắt tay. Thông điệp Finished được mã hoá bằng thuật toán và khoá phiên đã tạo ra.
3.5.2.2 Thông điệp của giao thức SSLFTPChangeCipherSpec
Giao thức SSLFTPChangeCipherSpec được dùng để báo hiệu sự thay đổi trạng thái các tham số bảo mật, đồng thời các bên kích hoạt các dịch vụ bảo mật đã thương lượng. Thông điệp ChangeCipherSpecFTP rất đơn giản, chỉ gồm 1 byte với giá trị 1.
Hình 3.15 Khuôn dạng thông điệp ChangeCipherSpecFTP Nội dung: 1
Kiểu nội
dung: 22 Độ dài: 1
3.5.2.3 Thông điệp của giao thức SSLFTPAlert
Giao thức AlertFTP dùng để thông báo lỗi xảy ra giữa các bên trong quá trình giao tiếp. Thông điệp Alert được đóng gói bởi giao thức bản ghi SSLFTP, ngoài phần tiều đề của tầng bản ghi, thông điệp AlertFTP gồm 1 trường mô tả lỗi.
Hình 3.16 Khuôn dạng thông điệp AlertFTP Mô tả lỗi: 1
Kiểu nội
dung: 21 Độ dài: 1
Trường mô tả lỗi có thể nhận một trong các giá trị trong bảng 3-4.
Bảng 3-4: Các thông báo lỗi của giao thức AlertFTP
Giá trị Ý nghĩa
10 Bên gửi cho biết nó nhận được một thông điệp sai.
20 Bên gửi cho biết nó nhận được một thông điệp với mã xác thực bị sai. 30 Bên gửi thông báo nó nhận được một thông điệp, và không giải mã được. 40 Bên gửi chó biết nó không thể thương lượng được tập dịch vụ an ninh.
Phần khai cấu trúc các thông điệp trao đổi trong hệ thống bằng ngôn ngữ lập trình cụ thể được mô tả trong phần phụ lục D ở cuối luận văn.