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 | 03/05/2024
Theo tờ Nikkei Asia, hiện tại Alibaba đang thuê máy chủ của nhà cung cấp dịch vụ viễn thông Viettel và VNPT. Từ năm 2022, Luật Bảo vệ dữ liệu cá nhân có hiệu lực, bắt buộc các công ty công nghệ nước ngoài phải lưu trữ dữ liệu ở trong nước. Nhằm đáp ứng quy định này, gã khổng lồ thương mại điện tử Trung Quốc Alibaba dự định sẽ xây dựng một trung tâm dữ liệu tại Việt Nam.
08:00 | 04/04/2024
Có một số phương pháp để xác định mức độ an toàn của các hệ mật sử dụng độ dài khóa mã (key length) tham chiếu làm thông số để đo độ mật trong cả hệ mật đối xứng và bất đối xứng. Trong bài báo này, nhóm tác giả tổng hợp một số phương pháp xác định độ an toàn của hệ mật khóa công khai RSA, dựa trên cơ sở các thuật toán thực thi phân tích thừa số của số nguyên modulo N liên quan đến sức mạnh tính toán (mật độ tích hợp Transistor theo luật Moore và năng lực tính toán lượng tử) cần thiết để phá vỡ một bản mã (các số nguyên lớn) được mã hóa bởi khóa riêng có độ dài bit cho trước. Mối quan hệ này giúp ước lượng độ an toàn của hệ mật RSA theo độ dài khóa mã trước các viễn cảnh tấn công khác nhau.
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.
15:00 | 31/08/2023
Viện Tiêu chuẩn và Công nghệ Quốc gia của Bộ Thương mại Mỹ (NIST) đã bắt đầu một quy trình thu hút, đánh giá và tiêu chuẩn hóa các thuật toán mật mã hạng nhẹ phù hợp để sử dụng trong các môi trường hạn chế. Tháng 8/2018, NIST đã đưa ra lời kêu gọi xem xét các thuật toán cho các tiêu chuẩn mật mã hạng nhẹ với mã hóa xác thực dữ liệu liên kết (AEAD - Authenticated Encryption with Associated Data) và các hàm băm tùy chọn. Họ đã nhận được 57 yêu cầu gửi lên để được xem xét tiêu chuẩn hóa. Vào ngày 07/02/2023, NIST đã thông báo về việc lựa chọn dòng ASCON để tiêu chuẩn hóa mật mã hạng nhẹ.