Giao thức bản ghi SSL

Một phần của tài liệu Công nghệ mạng riêng ảo SSL VPN và ứng dụng trong xây dựng hệ thống truyền tệp (Trang 54)

Giao thức bản ghi SSL tiếp nhận các thông điệp từ các tầng trên, phân đoạn dữ liệu, nén dữ liệu nếu nó được hỗ trợ, bổ sung MAC, mã hoá dữ liệu, đóng rồi chuyển xuống tầng dưới. Tại nơi nhận, dữ liệu được xử lý ngược lại, nó được giải mã, kiểm tra tính toàn vẹn dữ liệu, giải nén, ghép đoạn và chuyển dữ liệu nên tầng trên. Quá trình trên được mô tả trong hình vẽ 2.15.

Phân đoạn dữ liệu Dữ liệu ứng dụng

Nén dữ liệu

Mã hoá dữ liệu Bổ sung tiêu

đề SSL

Hình vẽ 2.15 Các bước xử lý dữ liệu trong giao thức bản ghi SSL Bổ sung mã

xác thực MAC

2.3.2.1 Khuôn dạng thông điệp bản ghi SSL

Khuôn dạng thông điệp của giao thức bản ghi SSL gồm hai phần: phần tiêu đềphần nội dung. Phần tiêu đề gồm các trường Content type, Version, Length. Phần nội dung là toàn bộ thông điệp của giao thức tầng trên được đóng gói. Kích thước và ý nghĩa các trường được liệt kê trong bảng 2.7 ([6]).

Protocol Messages

Message Authentication Code (Option)

Hình 2.16 Khuôn dạng thông điệp bản ghi SSL

Encrypted (Option) Content

Bảng 2-7: Các trường trong thông điệp bản ghi SSL Trường Kích thước Mô tả

ContentType 1 byte Kiểu thông điệp giao thức tầng trên được chứa trong thông điệp bản ghi SSL

Version 2 bytes Phiên bản của giao thức SSL

Length 2 bytes Độ dài thông điệp của giao thức tầng trên. Đây là một số nguyên 16 bit, giá trị của nó không quá 214 (16384) ProtocolMessage n bytes Dữ liệu thực của các thông điệp tầng trên, kích thước không

quá 16KB, bao gồm cả mã xác thực thông điệp MAC

Trường Content type cho biết thông điệp được đóng gói là của giao thức nào. Bảng 2-8 liệt kê các giá trị có thể của trường này

Bảng 2-8: Các kiểu nội dung tầng bản ghi TypeValue Protocol

20 ChangeCipherSpec protocol 21 Alert protocol

22 Handshake protocol 23 Application protocol data

2.3.2.2 Bảo vệ thông điệp bản ghi SSL.

Sau khi phân đoạn tại tầng bản ghi dữ liệu được bổ sung mã xác thực MAC và mã hoá trước khi gửi nên đường truyền.

(1). Tính toán m xác thực thông điệp (MAC)

SSL hỗ trợ hai thuật toán tính toán mã xác thực thông điệp đó là MD5 và SHA. Giá trị băm sau khi tính toán đều được bổ sung vào dữ liệu ban đầu, giá trị độ dài của một bản ghi SSL bao gồm cả độ dài dữ liệu lẫn độ dài MAC. Các hình 2.17, 2.18 mô tả mã xác thực MAC với các thuật toán MD5 và SHA-1.

Hình 2.17 Bảo vệ thông điệp với

thuật toán MD5 Ver: 3 0 Application Data MAC (MD5 - 16 bytes) E nc ry pt ed

Hình 2.18 Bảo vệ thông điệp với

thuật toán SHA

Application Data MAC (SHA-20 bytes) E nc ry pt ed Lengt h Cont: 23 Ver: 3 0 Lengt h Cont: 23

Sơ đồ quá trình tính toán MAC được mô tả trong hình 2.20, gồm 2 giai đoạn:

Giai đoạn 1 được bắt đầu với việc tính toán giá trị băm từ các giá trị MAC write secret, padding (dữ liệu phụ), 64 bit sequence number (số tuần tự), 16 bit độ dài nội dung, và nội dung thông điệp. Giá trị padding là 001100110, được lặp lại 48 lần với MD5 và 40 lần với SHA.

MAC secret48 bytes of 0x36 Seq.num.

MAC secret hash

MAC

Hình 2.19 Sơ đồ tính toán MAC trong SSL

Proto.type Msg.len. Massge data

48 bytes of 0x5C

MD5

MD5

Giai đoạn 2 hệ thống sử dụng MAC write secret, padding, và giá trị băm của giai đoạn 1. Padding có giá trị là 01011100, được lặp lại 48 lần với MD5 và 40 lần với SHA. Kết quả băm trong giai đoạn 2 chính là giá trị MAC được bổ sung vào thông điệp.

MAC secret có thể là giá trị bên máy chủ hoặc giá trị máy khách tuỳ thuộc vào bên nào gửi tin. Sequence number là số thông điệp mà hai bên đã trao đổi, giá trị khởi đầu của nó là 0 với thông điệp ChangeCipherSpec và được tăng thêm 1 mỗi khi thông điệp bản ghi SSL được gửi.

(2). M hoá dữ liệu

Cả dữ liệu và mã xác thực MAC được mã hoá để đảm bảo tính bí mật khi truyền. SSL hỗ trợ hai kiểu mã hoá, mã hoá dòng và mã hoá khối.

Với mã hoá khối kích thước của dữ liệu phải là bội số của kích thức khối, chính vì vậy các dữ liệu phụ có thể được thêm vào để đảm bảo điều kiện này. Để nhận được dữ liệu, bên nhận phải biết vị trí cuối cùng của dữ liệu thật và vị trí đầu của dữ liệu thêm vào, tham số độ dài phần dữ liệu phụ được thêm vào cuối phần dữ liệu để xác định độ dài của dữ liệu phụ. Căn cứ vào tham số độ dài này, bên nhận đếm ngược trở lại đầu khối để xác định vị trí của dữ liệu thật.

Cont:

23 Length..

Hình 2.20 Mã hoá thông điệp với

thuật toán mã hoá dòng Ver: 3 0 Application Data MAC E nc ry pt ed Cont: 23 Ver: 3 0 Length.. Application Data MAC E nc ry pt ed

Hình 2.21 Mã hoá thông điệp với

thuật toán mã hoá khối Message

padding Pad len

Một phần của tài liệu Công nghệ mạng riêng ảo SSL VPN và ứng dụng trong xây dựng hệ thống truyền tệp (Trang 54)

Tải bản đầy đủ (PDF)

(89 trang)