Giao thức vận chuyển thời gian thực an toàn (SRTP), được định nghĩa ở RFC3711, là một profile của giao thức vận chuyển thời gian thực (RTP). SRTP cung cấp sự toàn vẹn, tính xác thực, và sự bảo vệ riêng tư tới lưu thông RTP và tới điều khiển lưu thông cho RTP, RTCP
Giao thức RTP (Real-time Transport Protocol)
RTP là một giao thức dựa trên giao thức IP tạo ra các hỗ trợ để truyền tải các dữ liệu yêu cầu thời gian thực với các yêu cầu:
- Đa phát đáp thân thiện: (multicast – friendly): RTP và RTCP là kỹ thuật cho đa phát đáp, cung cấp khả năng mở rộng cuộc hội thoại nhiều bên. Trên thực tế, chúng được thiết kế để có thể hoạt động trong cả các nhóm đa phát đáp nhỏ, phù hợp cho các cuộc điện đàm ba bên. Đối với các nhóm lớn, chúng sử dụng đa phát đáp quảng bá (broadcasting).
- Độc lập thiết bị: RTP cung cấp các dịch vụ cần thiết chung cho phương thức truyền thông thời gian thực nói chung như thoại, video hay bất kì một bộ mã hoá, giải mã cụ thể nào có sự định nghĩa các phương thức mã hoá và giải mã riêng bằng các thông tin tiêu đề và định nghĩa.
- Các bộ trộn và chuyển đổi: Các bộ trộn là thiết bị nắm giữ phương thức truyền thông từ một vài người sử dụng riêng lẻ, để trộn hoặc nối chúng vào các dòng phương thức truyền thông chung, chuyển đổi chúng vào khuôn dạng khác và gửi nó ra. Các bộ chuyển đổi có ích cho sự thu nhỏ băng thông yêu cầu của dòng số liệu từ dòng số liệu chung trước khi gửi vào từng kết nối băng thông hẹp hơn mà không yêu cầu nguồn phát RTP thu nhỏ tốc độ bit của nó. Điều này cho phép các bên nhận kết nối theo một liên kết nhanh để vẫn nhận được truyền thông chất lượng cao. RTP hỗ trợ cả các bộ trộn và cả các bộ chuyển đổi.
- Mã hoá thành mật mã:Các dòng phương thức truyền thông RTP có thể mã hoá thành mật mã dùng các khoá, việc mã hoá đảm bảo cho việc thông tin trên mạng được an toàn hơn.
Các gói tin truyền trên mạng Internet có trễ và jitter không dự đoán được. Nhưng các ứng dụng đa phương tiện yêu cầu một thời gian thích hợp khi truyền các dữ liệu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
39
và phát lại. RTP cung cấp các cơ chế bảo đảm thời gian, số thứ tự và các cơ chế khác liên quan đến thời gian. Bằng các cơ chế này RTP cung cấp sự truyền tải dữ liệu thời gian thực giữa các đầu cuối qua mạng.
Bản thân RTP không cung cấp một cơ chế nào cho việc bảo đảm phân phối kịp thời các dữ liệu tới các trạm mà nó dựa trên các dịch vụ của tầng thấp hơn để thực hiện điều này. RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự. Tuy nhiên, số thứ tự trong RTP header cho phép bên thu xây dựng lại đúng thứ tự các gói của bên phát.
Hoạt động của RTP được hỗ trợ bởi một giao thức khác là RTCP để nhận các thông tin phản hồi về chất lượng truyền dẫn và các thông tin về thành phần tham dự các phiên hiện thời. Không giống như các giao thức khác là sử dụng các trường trong header để thực hiện các chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện các chức năng này.
Khuôn dạng bản tin RTP:
RTP header bao gồm một phần cố định có ở mọi gói RTP và một phần mở rộng phục vụ cho các mục đích nhất định.
Phần cố định của đơn vị dữ liệu RTP
Hình 2.12 - Phần cố định của đơn vị dữ liệu RTP Giao thức RTCP
RTCP (Real-time Transport Control Protocol) là giao thức hỗ trợ cho RTP cung cấp các thông tin phản hồi về chất lượng truyền dữ liệu. Các dịch vụ mà RTCP cung cấp là:
- Giám sát chất lượng và điều khiển tắc nghẽn: Đây là chức năng cơ bản của RTCP. Nó cung cấp thông tin phản hồi tới một ứng dụng về chất lượng phân phối
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
40
dữ liệu. Thông tin điều khiển này rất hữu ích cho các bộ phát, bộ thu và giám sát. Bộ phát có thể điều chỉnh cách thức truyền dữ liệu dựa trên các thông báo phản hồi của bộ thu. Bộ thu có thể xác định được tắc nghẽn là cục bộ, từng phần hay toàn bộ. Người quản lý mạng có thể đánh giá được hiệu suất mạng.
- Xác định nguồn: Trong các gói RTP, các nguồn được xác định bởi các số ngẫu nhiên có độ dài 32 bít, các số này không thuận tiện đối với người sử dụng. RTCP cung cấp thông tin nhận dạng nguồn cụ thể hơn ở dạng văn bản. Nó có thể bao gồm tên người sử dụng, số điện thoại, địa chỉ e-mail và các thông tin khác.
- Đồng bộ môi trường: Các thông báo của bộ phát RTCP chứa thông tin để xác định thời gian và nhãn thời gian RTP tương ứng. Chúng có thể được sử dụng để đồng bộ giữa âm thanh với hình ảnh.
- Điều chỉnh thông tin điều khiển: Các gói RTCP được gửi theo chu kỳ giữa những người tham dự. Khi số lượng người tham dự tăng lên, cần phải cân bằng giữa việc nhận thông tin điều khiển mới nhất và hạn chế lưu lượng điều khiển. Để hỗ trợ một nhóm người sử dụng lớn, RTCP phải cấm lưu lượng điều khiển rất lớn đến từ các tài nguyên khác của mạng. RTP chỉ cho phép tối đa 5% lưu lượng cho điều khiển toàn bộ lưu lượng của phiên làm việc. Điều này được thực hiện bằng cách điều chỉnh tốc độ phát của RTCP theo số lượng người tham dự. Mỗi người tham gia một phiên truyền RTP phải gửi định kỳ các gói RTCP đến tất cả những người khác cũng tham gia phiên truyền. Nhờ vậy mà có thể theo dõi được số người tham gia.
Các loại thông báo điều khiển chính được RTCP cung cấp là:
SR (Sender Report): chứa các thông tin thống kê liên quan tới kết quả truyền như tỷ lệ tổn hao, số gói dữ liệu bị mất, khoảng trễ. Các thông báo này phát ra từ phía phát trong 1 phiên truyền thông.
RR (Receiver Report): Chứa các thông tin thống kê liên quan tới kết quả nhận, được phát từ phía thu trong 1 phiên truyền thông.
SDES (Source Description): thông số mô tả nguồn (tên, vị trí…)
APP (Application): cho phép truyền các dữ liệu ứng dụng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
41
Giá trị của trường PT (Packet Type) ứng với mỗi loại gói được liệt kê trong bảng sau.
Mỗi gói thông tin RTCP bắt đầu bằng 1 phần tiêu đề cố định giống như gói RTP thông tin. Theo sau đó là các cấu trúc có chiều dài thay đổi theo loại gói nhưng luôn bằng số nguyên lần 32 bit. Các gói thông tin RTCP có thể gộp lại với nhau thành các hợp gói (compound packet) để truyền xuống lớp dưới mà không phải chèn thêm các bit cách ly. Số lượng gói trong hợp gói tuỳ thuộc vào chiều dài đơn vị dữ liệu lớp dưới.
Mọi gói RTCP đều phải được truyền, ngay cả khi chỉ có một gói duy nhất. Khuôn dạng hợp gói được đề xuất như sau:
- Encription Prefix (32 bit): Được dành khi hợp gói cần mã hoá. Giá trị trong trường này cần tránh trùng với 32 bit đầu tiên trong gói RTP
- Gói đầu tiên trong hợp gói luôn là SR hoặc RR. Nếu không thu nhận thông tin, hoặc hợp gói chỉ có một gói BYE thì một gói RR rỗng được dẫn đầu trong hợp gói.
- Nếu số lượng các nguồn lớn hơn 31 (không vừa trong một gói SR hoặc RR) thì các gói RR thêm vào sẽ theo sau gói thống kê đầu tiên. Việc bao gồm gói thống kê (RR hoặc SR) trong mỗi hợp gói nhằm thông tin thường xuyên về chất lượng thu của những người tham gia. Việc gửi hợp gói đi được tiến hành một cách đều đặn và thường xuyên theo khả năng cho phép của băng thông.
- Trong hợp gói có gói SDES nhằm thông báo về nguồn phát. - Các gói APP nằm ở vị trí bất kỳ trong hợp gói.
Gói BYE nằm ở vị trí cuối cùng.
SRTP là lý tưởng để bảo vệ Voice over lưu lượng IP bởi vì nó đã không ảnh hưởng đến chất lượng thoại và chi phí trọng tải chỉ bị ảnh hưởng tối thiểu
Vì sao SRTP được an toàn khi truyền gói dữ liệu đi?
- Việc xác thực gửi nhận bằng các thuật toán: HMAC-SHA1 và MD5 - Sử dụng các thuật toán mã hóa dữ liệu: AES - CM, AES - F8
- SRTP (an toàn RTP) phù hợp với IETF RFC 3711 - Sử dụng các khóa: PSK, MKI, và FT
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
42
Hình 2.13 - Mô hình truyền dữ liệu thông qua giao thức SRTP và RTP 2.2.3.2. Giao thức bảo vệ dữ liệu IPSec
Ngày nay, hầu hết các thông tin liên lạc Internet đều không còn được bảo vệ chống lại các cuộc tấn công không gian mạng. Một gói tin (đơn vị định dạng của dữ liệu hoặc tin nhắn) đi qua mạng có thể bị chặn bởi bất kỳ máy chủ kết nối mạng nào.
Gói đó có thể bị tái tạo và nội dung của nó có thể bị sửa đổi hoặc sao chép. Thậm chí cả phương pháp kiểm tra tổng, một phần của định dạng Internet Packet, nếu được sử dụng làm cơ chế an toàn, nó cũng không thể bảo vệ một gói tin tránh khỏi sự thay đổi trái phép.
Gần đây ngày càng có nhiều nhu cầu bảo vệ thông tin liên lạc Internet trong điều kiện vẫn tiếp tục sử dụng cơ sở hạ tầng hiện có. Để đạt được mục tiêu này, IPSec (giao thức bảo mật IP) đã được chuẩn hóa bởi IETF cho IPv4.
Do nhu cầu nâng cấp IPv4, việc để cho phiên bản mới của giao thức Internet (IPv6) cung cấp IPSec làm hệ thống bảo mật định sẵn cũng được cho là hợp lý.
IPSec là một giao thức bảo mật tích hợp với tầng IP, cung cấp dịch vụ bảo mật mã hóa linh hoạt. Những dịch vụ này là:
Chứng thực nguồn gốc dữ liệu/Tính toàn vẹn dữ liệu phi kết nối:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
43
Dịch vụ này có vai trò giúp cho các phần địa chỉ nguồn, địa chỉ đích, và nội dung trong một bó dữ liệu IP được bảo vệ không thể bị sửa đổi một cách cố ý trong quá trình truyền tải mà không bị người nhận phát hiện.
Bảo vệ chống replay: Điều này có nghĩa là các gói tin được bảo vệ sẽ sử dụng một mã số trình tự replay (được cung cấp từ một bộ đếm gia tăng truy cập) để tránh các cuộc tấn công replay. Hơn nữa, một cửa sổ của mã số trình tự replay sẽ được xác định và chỉ có các gói tin có mã số trình tự trong cửa sổ này mới được chấp nhận.
Bảo mật: Đây là dịch vụ màmột cá nhân không đang tham gia vào một quá trình bảo vệ gói tin (hoặc hiệp hội bảo mật) sẽ không thể đọc được trọng tải của gói.
Bộ IPsec là một tiêu chuẩn mở trong đó có sử dụng các giao thức như sau:
Trao đổi khóa Internet (IKE và IKEv2) được dùng cho giao thức đã sử dụng, thỏa thuận chứng thực và tạo khóa chứng thực.
Tiêu đề chứng thực (AH) cung cấp tính toàn vẹn phi kết nối và chứng thực nguồn gốc dữ liệu cho các bó dữ liệu IP và bảo vệ chống lại các cuộc tấn công replay.
Encapsulating Security Payload (ESP) cung cấp tính năng bảo mật, chứng thực nguồn gốc dữ liệu, tính toàn vẹn phi kết nối và dịch vụ chống replay.
Các khóa chia sẻ được sử dụng với IPSec là phục vụ cho thuật toán mã hóa đối xứng (khi cần đảm bảo tính bảo mật) hoặc cho MAC có khóa (để bảo đảm tính toàn vẹn dữ liệu) hoặc cả hai.
IPSec phải có tính năng nhanh và các loại công nghệ khóa công cộng hiện có như RSA hoặc DSS được coi là quá chậm để hoạt động hết gói này đến gói khác. Hiện nay, công nghệ khoá công cộng đã được giới hạn đối với dịch vụ chứng thực nguồn gốc trong quá trình trao đổi khóa.
Các giao thức IPSec - AH và ESP - có thể được sử dụng để bảo vệ tải trọng IP toàn phần hoặc các giao thức tầng trên của một tải trọng IP. Sự khác biệt này được xử lý thông qua hai “chế độ" của IPSec.
Chế độ giao vận được sử dụng để bảo vệ các giao thức tầng trên; còn chế độ tunnel thì được sử dụng để bảo vệ toàn bộ bó dữ liệu IP. Trong chế độ giao vận, sẽ có một tiêu đề IPSec được chèn vào giữa tiêu đề IP và tiêu đề giao thức tầng trên.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
44
Trong chế độ tunnel, toàn bộ gói IP được bảo vệ sẽ được đóng vào một bó dữ liệu IP khác và một tiêu đề IPSec sẽ được chèn giữa những tiêu đề IP bên ngoài và bên trong. Cả hai giao thức IPSec, AH và ESP, đều có thể hoạt động trong chế độ giao vận và tunnel.
Hình 2.15 – Mô hình bảo vệ các gói dữ liệu
Encapsulating Security Payload (ESP)
ESP là giao thức IPSec cung cấp tính bảo mật, toàn vẹn dữ liệu, và chứng thực nguồn dữ liệu các gói tin IP, nó cũng cung cấp chức năng bảo vệ chống lại các cuộc tấn công replay. Cơ chế hoạt động của nó là chèn một tiêu đề mới - tiêu đề ESP - vào sau một tiêu đề IP (và bất kỳ tuỳ chọn IP nào) và trước dữ liệu được bảo vệ, dành cho cả giao thức tầng trên và bó dữ liệu IP toàn phần.
Hình 2.16 – Mô hình ESP
ESP không bảo vệ tiêu đề của gói tin IP. Tuy nhiên, trong chế độ Tunnel mà toàn bộ gói tin IP gốc được đóng gói và thêm vào nó một tiêu đề gói mới được, dịch vụ bảo vệ ESP là dành cho toàn bộ gói tin IP bên trong (bao gồm cả tiêu đề bên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
45
trong) trong khi tiêu đề bên ngoài vẫn không được bảo vệ. ESP hoạt động trực tiếp trên đầu IP bằng cách sử dụng giao thức IP.
ESP cung cấp tính năng bảo mật bằng cách sử dụng các thuật toán mã hóa khóa đối xứng như DES, 3DES và AES. Các khối mã hóa 64-bit của tin nhắn gốc có thể được móc nối lại với nhau bằng cách sử dụng phương pháp móc xích khối mã hóa (CBC) hoặc CFB. Biện pháp này đạt khả năng chống replay và bảo vệ tính toàn vẹn dữ liệu lớn hơn.
ESP xác định một tiêu đề chứng thực được lập sẵn, dưới dạng một HMAC có khóa. HMAC này được chèn vào phần tiêu đề ESP để cung cấp dịch vụ bảo vệ tính toàn vẹn và chứng thực dữ liệu cho lưu lượng xử lý ESP. IPsec có tất cả các thành phần cần thiết cho việc xây dựng một HMAC như một khóa bí mật được chia sẻ (thường được chia sẻ thông qua giải pháp trao đổi Diffie-Hellman), một hàm băm (IPsec RFC tiếp nhận MD 5 và SHA-1) và đầu vào tin nhắn cố định.
Tiêu đề chứng thực (AH)
AH cung cấp dịch vụ bảo vệ tính toàn vẹn dữ liệu, chứng thực nguồn dữ liệu, và bảo vệ chống các cuộc tấn công replay (không có tính bảo mật). Nó không cung cấp bảo mật, vì điều này mà tiêu đề AH đơn giản hơn nhiều so với ESP.
Hình 2.17 – Mô hình chứng thực AH
Trao đổi khóa Internet (IKE)
IPsec sử dụng phương pháp mã hóa khóa đối xứng. Điều này đòi hỏi phải sử dụng một khóa bí mật được chia sẻ để có thể tồn tại cả hai thiết bị đầu cuối mã hóa.
Bởi vì khóa không còn được tạo cấu hình trong IKE một cách thủ công nên ta phải tạo chúng theo phương thức tự động. IKE sử dụng thuật toán Diffie-Hellman để tự động tạo khóa phiên được trao đổi qua IKE.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn