Trên thực tế, SFU phải triển khai lại quá trình kiểm soát tắc nghẽn để có thể phù hợp với yêu cầu thực tế là một đầu cuối có thể chuyển tiếp cho nhiều đầu cuối khác khi tham gia hội nghị truyền hình. Ngoài ra, SFU còn là thành phần trung tâm nhận gửi, chỉnh sửa các gói RTP để chuyển tiếp và thực hiện trao đổi với các đầu cuối dựa trên gói RTCP [3].
Hình 1. Mô hình truyền các gói trên SFU
Bên cạnh việc chuyển tiếp các gói RTP, SFU tiến hành chỉnh sửa một số các trường phần đầu gói, như payload type (PT), Synchronization Source (SSRC), Chuẩn hóa lại thành Contributing Source (CSRC), và sequence number (SN); sử dụng dấu thời gian mở rộng (abs-send-time) [2]; sử dụng phần đầu mở rộng gói, TCC (Transport-wide Congestion Control hay Transport-wide Sequence Number) [4].
SFU yêu cầu quyền truy cập nội dung rõ các thông điệp RTCP. Các bản tin RTCP thường được các SFU sử dụng bao gồm Báo cáo người gửi (SR), Báo cáo người nhận (RR), các thông điệp SDES, BYE, APP, cũng như các thông điệp phản hồi (Feedback Messages). Mặc dù SFU cần giải mã các thông báo RTCP, tuy nhiên các thiết kế SFU không sửa đổi SSRC vẫn có thể chuyển tiếp các thông báo RTCP như SDES mà không cần sửa đổi (hoặc thậm chí phân tích cú pháp). Điều này mang đến lợi thế cho SFU, vì có thể chuyển tiếp các thông điệp RTCP mà nó không hiểu.
Các thông báo phản hồi (RTCP Feedback Messages) được hỗ trợ rộng rãi bởi các triển khai SFU hiện có bao gồm: NACK, PLI và FIR. NACK sửa chữa các tổn thất trong dòng bit SVC để kịp thời để cho phép giải mã khung phụ thuộc kế tiếp. FIR thường được sử dụng trong các SFU khi chuyển đổi giữa các luồng video hoặc bắt đầu chuyển tiếp một luồng simulcast khi người dùng được kích hoạt. Khi đó, FIR được SFU gửi tới người gửi luồng RTP đã chuyển mạch. Người gửi phản hồi bằng I-frame sau đó được chuyển tiếp đến người nhận, đảm bảo rằng họ có thể giải mã các khung tiếp theo trong luồng RTP được chuyển mạch. PLI tương tự như FIR, thông điệp được gửi khi bên nhận không nhận đầy đủ các khung để giải mã.
Các gói RTCP, chủ yếu được sử dụng để điều khiển các luồng và ước lượng băng thông có sẵn. Bất cứ khi nào nhận một gói RTCP (SR, RR), RTT được tính và cập nhật cho quá trình ước tính băng thông dựa trên độ trễ (delay-based). Nếu SFU nhận các gói REMB (RTCP Feedback), băng thông ước tính này sẽ được cập nhật cho quá trình ước tính băng thông. Cuối cùng, nếu nhận được các gói RTCP TCC Feedback [3], các gói này cho phép phát hiện mất gói sớm, ước lượng băng thông dựa trên mất gói (Loss-based) sẽ được tính toán. Như vậy, SFU tính toán băng thông cuối cùng dựa trên ba thông số: ước lượng băng thông dựa trên mất gói, ước lượng băng thông dựa trên độ trễ và ước tính băng thông từ xa. Cuối cùng, SFU gửi băng thông cuối cùng này cho đầu cuối gửi dữ liệu thông qua RTCP để đầu cuối này tăng hoặc giảm băng thông.
Hai phương pháp mã hóa trong công nghệ WebRTC là mã hóa Hop-by-Hop (HBH) và mã hóa điểm đầu cuối (E2E). Mã hóa đầu cuối (E2E) để bảo vệ dữ liệu đa phương tiện giữa bên gửi và bên nhận. Trong trường hợp này SFU không thể truy cập đến dữ liệu đa phương tiện của người dùng đầu cuối. Trái lại, với kiểu mã hóa HBH thì SFU có quyền truy cập dữ liệu của người dùng đầu cuối.
Hình 2. Mã hóa HBH và E2E trong WebRTC
Hình 2 thể hiện hai lớp mã hóa và thứ tự các lớp mã hóa từ ngoài vào trong là:
- Mã hóa Hop-by-hop (HBH) mã hóa dữ liệu đa phương tiện, dữ liệu phụ và thông báo phản hồi giữa các điểm cuối và SFU, sử dụng DTLS-SRTP.
- Mã hóa end-to-end (E2E) mã hóa dữ liệu đa phương tiện giữa các điểm cuối, nơi đầu cuối sử dụng khóa riêng để mã hóa/giải mã.
Sframe là một cơ mã hóa mức khung, cung cấp khả năng mã hóa end-to-end hiệu quả, dễ triển khai, không phụ thuộc vào RTP và giảm thiểu chi phí băng thông mã hóa. Bởi vì Sframe mã hóa toàn bộ khung hình, thay vì các gói RTP riêng lẻ nên chi phí băng thông được giảm xuống bằng cách chỉ sử dụng một IV (Initialization Vector) và thẻ xác thực MAC cho mỗi khung phương tiện.
Hình 3. Mô hình mã hóa đầu cuối Sframe với SFU
Hình 3, thể hiện quá trình mã hóa đầu cuối. Trong đó, khóa giữa các bên tham ra được trao đổi qua kênh riêng, tại các gói Sframe chỉ lưu ID khóa để giải mã, trước khi gói Sframe được gửi đi thông qua bộ tạo gói RTP (Packetizer) và được tập hợp lại thông qua bộ tập hợp gói RTP (Depacketizer) (Hình 3).
Trong đó, phần đầu của mỗi khung (Sframe header) có một bộ đếm khung duy nhất (Frame counter) sẽ được sử dụng để lấy IV (Vector). Vì mỗi đầu cuối gửi sẽ sử dụng khóa riêng để mã hóa, do đó, phần đầu gói Sframe sẽ bao gồm ID khóa (KID) để cho phép đầu cuối nhận xác định khóa được sử dụng để giải mã [9] (Hình 4).
Hình 4. Mô tả định dạng gói Sframe
Với phiên bản hiện tại, nhóm phát triển Jitsi Meet sử dụng một cấu trúc tương tự như Sframe, nhưng có sự thay đổi về cấu trúc và thêm một số thành phần; được gọi là Jframe (Hình 5).
Hình 5. Minh họa cấu trúc gói Jframe
Trong đó, phần đầu tiên được thêm (Unencrypted payload header) là phần không được mã hóa, sử dụng để sao chép các byte đầu tiên của dữ liệu VP8 không được mã hóa (10 byte cho khung hình chính hoặc 3 byte cho khung hình không chính hoặc 1 byte cho audio). Các dữ liệu thông tin này cho phép các đầu cuối không bật tính năng mã hóa nhưng vẫn nhận và giải nénđược các hình ảnh, âm thanh (mặc dù dữ liệu này là không có nghĩa). Phần cuối của cấu trúc Jframe tương tự như phần đầu của gói Sframe, gồm IV, IV_LEN, KID.
Công nghệ hội nghị truyền hình dựa truyên SFU đang được phát triển mạnh so với công nghệ truyền thống sử dụng MCU (chỉ có ở các sản phẩm thương mại). Để có thể tận dụng hạ tầng về thiết bị và đường truyền phục vụ cho mục đích hội nghị, các công nghệ được áp dụng vào SFU như: Việc encode/decode được thực hiện ở các đầu cuối, SFU không tham gia vào quá trình encode/decode; sử dụng các công nghệ Last-N, simulcast, thuật toán điều chỉnh băng thông để giảm thiểu băng thông khi sử dụng. Ngoài ra, để đảm bảo an toàn thì chuẩn bảo mật mới cho WebRTC đang được phát triển như E2E, HBH cùng với các giải pháp truyền thống như sử dụng VPN.
Trong bài báo tiếp theo, nhóm tác giả sẽ trình bày phương pháp phân phối khóa nhóm được sử dụng trong E2E để bảo mật dữ liệu hội nghị truyền hình. Khóa nhóm cần đảm bảo tính chất an toàn phía trước (tức là khi một người dùng mới tham gia hội nghị thì không thể giải mã được dữ liệu trước đó) và an toàn phía sau (khi một người dùng rời hội nghị thì không thể giải mã được dữ liệu tiếp theo).
TÀI LIỆU THAM KHẢO 1. Emad Omara, Justin Uberti, Alex Gouaillard, Sergio Garcia Murillo. Secure Frame (SFrame). https://datatracker.ietf.org/doc/draft-omara-sframe/, 2021 2. H Alvestrand. RTCP message for Receiver Estimated Maximum Bitrate. https://tools.ietf.org/html/draftalvestrand-rmcat-remb-03, October 2013. 3. https://github.com/jitsi/jitsi-videobridge 4. S. Holmer, M. Flodman, and E. Sprang. RTP Extensions for Transportwide Congestion Control. https://tools.ietf.org/html/ draft-holmer-rmcat-transport-wide-ccextensions-01, October 2015 |
Phạm Văn Lực, Phạm Đức Hùng, Trần Đức Long, Viện KHCN mật mã
18:00 | 14/12/2021
10:00 | 21/12/2021
09:00 | 28/12/2021
16:00 | 19/08/2024
Hòa chung khí thế tưng bừng của cả nước kỷ niệm 79 năm Cách mạng Tháng Tám thành công và Quốc khánh nước Cộng hòa xã hội chủ nghĩa Việt Nam, sáng 19/8, tại Hà Nội, Cục Quản lý mật mã dân sự và Kiểm định sản phẩm mật mã (Ban Cơ yếu Chính phủ) tổ chức Lễ Kỷ niệm 20 năm Ngày truyền thống (19/8/2004 - 19/8/2024) và đón nhận Bằng khen của Thủ tướng Chính phủ.
15:00 | 15/07/2024
Bài viết này giới thiệu tóm tắt nội dung tiêu chuẩn ISO/IEC 23264- 1:2021. Chi tiết về các thuộc tính của cơ chế mật mã để biên tập lại dữ liệu xác thực. Đặc biệt, nó xác định các quá trình liên quan đến các cơ chế đó, các bên tham gia và các thuộc tính mật mã.
14:00 | 22/02/2024
CyberArk đã cho ra mắt phiên bản trực tuyến của White Phoenix, một công cụ giải mã ransomware mã nguồn mở dành cho các tệp tin bị mã hóa gián đoạn.
09:00 | 01/08/2023
Mọi người đều biết rằng nên chuẩn bị cho một “tương lai lượng tử”, nhưng nó được cho là sẽ xảy ra sau 10 - 20 năm nữa. Thế nhưng vào những ngày cuối cùng của năm 2022, cộng đồng công nghệ thông tin (CNTT) khá xôn xao trước một nghiên cứu do một nhóm các nhà khoa học Trung Quốc trình bày. Kết quả nghiên cứu này tuyên bố rằng trong tương lai gần nhất, có thể bẻ khóa thuật toán mã hóa RSA với độ dài khóa là 2048 bit, đây vốn là nền tảng cho hoạt động của các giao thức internet bằng cách kết hợp khéo léo tính toán cổ điển và tính toán lượng tử. Vậy thực hư mối đe dọa này như thế nào? Liệu có một sự đột phá trong năm nay?