Trao đổi khóa và bảo mật cho các gói tin báo hiệu

Một phần của tài liệu Nghiên cứu giải pháp bảo mật thoại trên mạng Internet (Trang 75 - 77)

4. Cấu trúc luận văn

3.5.1. Trao đổi khóa và bảo mật cho các gói tin báo hiệu

TLS dựa trên SSL lớp 3, chuẩn hóa bởi IETF. TLS cung cấp một kênh bảo mật, trong suốt giữa hai đầu cuối. “Trong suốt” ở đây có nghĩa là dữ liệu đi qua kênh này không bị thay đổi, và nó cho phép các giao thức chạy trên TCP cũng có thể chạy trên TLS. Vì vậy, TLS nằm ngay phía trên giao thức TCP và dưới SIP hay nói cách khác là SIP được mã hóa bởi TLS và truyền qua kết nối TCP.

Nhìn chung, TLS được chọn để bảo mật các bản tin báo hiệu của SIP. SDU (Service Data Unit) từ lớp trên được mã hóa trước khi truyền đi, còn phía bên kia PDU (Protocol Data Unit) được giải mã và chuyển lên lớp bên trên. Hai phía đều phải có chứng chỉ hợp lệ do CA (Certificate Authority) cấp cho quá trình bắt tay của TLS.

Chứng chỉ và trao đổi khóa

Quá trình bắt tay giữa client và server nhằm thương lượng các thuật toán bảo vệ dữ liệu và tạo một số khóa mật mã dùng bởi các thuật toán này.

KDF

Handshake: Client Hello

Handshake: Client Hello Handshake: Certificate

Handshake: Client Hello Done

Handshake: Client Key Exchange

Handshake: Finished Handshake: Finished KDF Pre-Master Secret Check Integrity Generate MAC Server’s Public Key Encrypt Master Secret Generate MAC Server’s Certifidate and Public Key

Server Client

Decrypt Server’s Public Key

Hình 3.10: Quá trình bắt tay giữa client và server trong SSL

 Bản tin ClientHelloServerHello trao đổi danh sách các thuật toán sẽ sử dụng.

 Chứng chỉ của server và khóa công khai được chứa trong bản tin chứng chỉ.

 Khi client nhận bản tin chứng chỉ, nó sẽ có khóa công khai và dùng khóa này để mã hóa một khóa mật Pre-Master do nó tự tạo ra và gửi kèm theo bản tin

ClientKeyExchange tới server. Trong khi đó, KDF (Key Derivation Function) sẽ tạo ra một master key từ khóa mật Pre-Master.

 Phía server, bản tin ClientKeyExchange được giải mã bằng khóa riêng của server, có được khóa mật Pre-Master và dùng cùng KDF để tạo ra master key.

 Client dùng master key tạo ra tạo ra MAC (Message Authentication Code) của toàn bộ bản tin mà nó nhận được từ server trước đó rồi gửi kèm theo bản tin

Finished tới server.

 Server dùng master key tạo ra một MAC của toàn bộ bản tin mà nó nhận được từ

 Cả client và server kiểm tra tính toàn vẹn của giá trị MAC với các bản tin chúng đã gửi. Nếu đúng thì cả hai có chung khóa mật Master

Upper Layer Data

Data Fragment MAC Data Fragment MAC

Encrypted Data and MAC Record

Header Encrypted Data and MAC

Record Header

Encrypt Encrypt

Hình 3.11: Dữ liệu lớp trên đóng gói bởi TLS/SSL

Một phần của tài liệu Nghiên cứu giải pháp bảo mật thoại trên mạng Internet (Trang 75 - 77)

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

(118 trang)