Tải bản đầy đủ (.pdf) (23 trang)

Nghiên cứu ứng dụng các hệ mật mã hạng nhẹ trong bảo mật dữ liệu video thời gian thực tt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (808.95 KB, 23 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

NGUYỄN HOÀNG TIẾN

NGHIÊN CỨU ỨNG DỤNG CÁC HỆ MẬT MÃ HẠNG NHẸ
TRONG BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN THỰC

Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 8.48.01.04

TÓM TẮT LUẬN VĂN THẠC SĨ
( Theo định hướng ứng dụng)

HÀ NỘI – 2019


Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: GS.TS. Nguyễn Bình

Phản biện 1: ……………………………………………………………
Phản biện 2: ……………………………………………………………..

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học
viện Công nghệ Bưu chính Viễn thông
Vào lúc:

....... giờ ....... ngày ....... tháng ....... năm ...............


Có thể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông


1

MỞ ĐẦU
Ngày nay với sự phát triển nhanh của công nghệ thông tin và mạng Internet, việc sử
dụng các dịch vụ từ dữ liệu video thời gian thực ngày càng trở lên phổ biến, cho phép xem
hình ảnh có âm thanh từ xa qua Internet theo thời gian gần như thực. Dữ liệu thời gian thực
tồn tại dùng trong rất nhiều ứng dụng cuộc sống, có thể thấy như kênh truyền hình trực tiếp,
các kênh livestream, thoại video, đặc biệt nhiều hơn từ các thiết bị IoT như camera giám sát
qua mạng (IP camera)…
Hiện nay đã có một số loại mật mã được áp dụng vào bảo mật dữ liệu video thời gian
thực, tuy nhiên chỉ đạt hiệu quả trên những thiết bị có tài nguyên đủ lớn. Với các thiết bị có
tài nguyên hạn chế thì các thuật toán mật mã thông thường là quá lớn, quá chậm và quá tốn
năng lượng. Vấn đề đặt ra là phải đề xuất được các hệ mật mã có khả năng mã hóa video
thời gian thực trên các hệ thống có tài nguyên hạn chế.
Trong bối cảnh đó, đề tài “ Nghiên cứu ứng dụng các hệ mật mã hạng nhẹ trong bảo
mật dữ liệu video thời gian thực” là một vấn đề nóng thu hút sự quan tâm của cộng đồng
công nghệ trong và ngoài nước.
Hiện nay, theo các báo cáo khảo sát về các phương thức mã hóa video thời gian thực
[1] [2] [3] Về cơ bản, có 3 loại chính của mã hóa video:
-

Trước khi tạo luồng video (mã hóa dựa trên "pixel").

-

Trong khi tạo luồng video (chuyển đổi dựa trên sự kết hợp của mã hóa (coding) và

mật mã (encryption)).

-

Sau khi tạo luồng video (mã hóa cấp độ bit).
Trong tất cả các phương pháp này, mã hóa sau khi tạo luồng video cung cấp bảo mật

cao hơn và không ảnh hưởng đến hiệu quả nén và chất lượng video. Tuy nhiên, tốc độ mã
hóa là rất thấp mặc dù tỷ lệ nén sau khi tạo luồng video là cao nhất. Để sử dụng tốt phương
thức này cần có phương pháp hợp lý để thỏa hiệp giữa tốc độ mã hóa và độ an toàn.
Theo khảo sát về các phương thức mã hóa video truyền qua mạng [1]. Do kích thước
khổng lồ của video kỹ thuật số nói chung chúng truyền qua nén các định dạng như MPEG
1/2/4 [4], H.263 / H.264 / AVC [5] [6]. Các phương pháp mã hóa khác nhau đã được đề
xuất: Mã hóa hoàn toàn, mã hóa dựa trên hoán vị, mã hóa chọn lọc, mã hóa cảm tính.Trong
các phương pháp này, mã hóa chọn lọc được cho là có tốc độ và độ an toàn ở mức cân bằng
nhất.


2
Để tăng cao tốc độ mã hóa và phù hợp trên các thiết bị có tài nguyên hạn chế, hệ mật
mã hạng nhẹ được sử dụng để thay thế cho hệ mã hóa thông thường (DES...). Đặc biệt có
thuật toán E-RISKE là mật hệ mật mã hạng nhẹ mới được công bố vào năm 2017 [7]. Tuy
nhiên, hiện chưa có đề xuất cụ thể nào về ứng dụng mật mã trong bảo mật dữ liệu video thời
gian thực trên các thiết bị có tài nguyên hạn chế và đây cũng chính là vấn đề nghiên cứu
chính của đề tài.
Với cách đặt vấn đề như trên, mục đích nghiên cứu của luận văn là ứng dụng được hệ
mật hạng nhẹ trên thiết bị phát dữ liệu video thời gian thực có tài nguyên hạn chế mà vẫn
duy trì chất lượng dịch vụ.
Đối tượng nghiên cứu chính của đề tài là phương pháp bảo mật video thời gian thực
và một số hệ mật mã khối hạng nhẹ.

Phạm vi nghiên cứu của đề tài là tập trung phân tích phương pháp sử dụng mật mã
chọn lọc với loại dữ liệu video H264.
Phương pháp nghiên cứu chính được sử dụng trong đề tài là nghiên cứu lý thuyết kết
hợp với thực nghiệm, so sánh định tính định lượng và phân tích, đánh giá kết quả.
Nội dung của đề tài được trình bày theo cấu trúc sau:
-

Chương 1: Tổng quan về bảo mật dữ liệu video thời gian thực.

-

Chương 2: Nghiên cứu đề xuất ứng dụng các hệ mật hạng nhẹ vào dữ liệu video thời
gian thực

-

Chương 3: Phân tích đánh giá thử nghiệm.
Kết luận và khuyến nghị: Tổng hợp đánh giá các kết quả đạt được của đề tài đồng thời

xác định các hướng nghiên cứu tiếp theo.
Kết quả dự kiến của luận văn là nghiên cứu và phân tích một số hệ mật mã hạng nhẹ,
đề xuất phương pháp ứng dụng mã hóa chọn lọc hạng nhẹ vào dữ liệu video thời gian thực.
Thử nghiệm và đánh giá tốc độ và độ an toàn trong việc ứng dụng hệ mật ERISK trong mã
hóa dữ liệu video thời gian thực.


3

CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT DỮ LIỆU VIDEO THỜI
GIAN THỰC.

1.1 Quá trình truyền dòng của dữ liệu video thời gian thực
1.1.1 Tổng quan về video thời gian thực
Video là một loại dữ liệu đa phương tiện quan trọng trong các lĩnh vực truyền thông
và giải trí. Trong thời kì sơ khai, Video được xử lý và truyền dưới dạng tín hiệu Analog.
Nhưng sự phát triển mạnh mẽ của mạch điện tử và máy tính đã thúc đẩy việc số hóa Video
và mở ra một cuộc cách mạng về các công nghệ nén và truyền Video.

1.1.2 Quá trình truyền dòng
Truyền dòng đối với video hay audio phải trải qua nhiều công đoạn với từng nhiệm
vụ riêng để đi đến kết quả cuối cùng là đạt được khả năng thể hiện ngay ở bên nhận.

Hình 1.1. Quá trình truyền đòng video

Trong đó:
-

Streaming Server: Là bộ phận đóng vai trò quan trọng trong việc cung cấp các dịch
vụ trực tuyến mà cụ thể là Streaming Video.

-

Video/Audio Compression: Là bộ phận thực hiện công đoạn nén các dữ liệu
Video/Audio


4
-

Application Layer QoS Control: Kỹ thuạt này bao gồm điều khiển tắc nghẽn và
kiểm soát lỗi nhằm ngăn ngừa việc làm mất gói dữ liệu và giảm độ trễ.


-

Media Synchronization: Là cơ chế đồng bộ cho phép Video và Audio được phát
bên phía người nhận có được sự đồng bộ giống như Video và Audio gốc.

-

Transfer Protocols: Là giao thức được thiết kế và chuẩn hóa cho việc truyền dữ liệu
giữa máy tính người dùng và Streaming Server

-

Continous Media Distribution Service: Là dịch vụ được xây dựng trên nền mạng
Internet, cho phép việc phân phối Video trên đường truyền đạt được Quality of
Service (chất lượng dịch vụ) và hiệu quả cao.

1.2 Các giao thức streaming chuyên biệt
Qua nhiều năm, một số giao thức streaming được xây dựng và phát triển bởi cả các
công ty thương mại và cộng đồng Internet. Về phía thương mại, các công ty giải pháp
streaming thường phát triển các giao thức streaming của riêng họ để dùng cho các sản phẩm
của mình. Ví dụ, Microsoft phát triển dịch vụ Microsoft Media Services (MMS).
RealNetworks cũng phát triển giao thức RealNetwork Data Transport (RDT) để dùng cho cá
giải pháp của họ.
Bên cạnh đó ,cộng đồng Internet cũng phát triển các chuẩn mở dành cho streaming
media. Các chuẩn này bao gồm: Real Time Streaming Protocol (RTSP) được định nghĩa
trong chuẩn RFC 2326, RealTime Transport Protocol (RTP) và RTP Control Protocol
(RTCP) trở thành chuẩn từ năm 2004. [8]

1.3 Chuẩn nén video H264

1.3.1 Tổng quan
Trong quá trình truyền dòng video, việc nén video là hết sức cần thiết vì dữ liệu video
là rất lớn vì vậy các chuẩn nén video được sinh ra và ngày càng phát triển. Chuẩn H.264 với
tên gọi đầy đủ là MPEG-4 Part 10 AVC (Advance Video Coding – Mã hóa video cấp cao)
thường được viết tắt như MPEG-4 AVC/H.264 là một định dạng nén nâng cao hiệu quả nén
hình cao hơn các định dạng nén thông thường như MPEG-4 hoặc MPEG-2.
 Có thể thấy H264 được sử dụng rất nhiều trong các ứng dụng phát dữ liệu video thời
gian thực và hiện nay đang là chuẩn nén phổ biến nhất và đó là lý do đề tài chọn
H264 làm đối tượng để phân tích.


5

1.3.2 Cơ chế hoạt động
H.264 phân biệt lớp mã hóa video (Video Coding layer VCL) và lớp mạng trừu
tượng (Network Abstraction Layer – NAL). Đầu ra của quá trình mã hóa là dữ liệu lớp mã
hóa video VCL (chuỗi bit biểu diễn dữ liệu video đã được mã hóa) sẽ được ánh xạ vào các
đơn vị của lớp mạng trừu tượng- NAL trước khi truyền dẫn hay lưu trữ. NAL cho phép tùy
biến đơn giản và hiệu quả trong việc sử dụng VCL cho nhiều loại hệ thống khác nhau. Một

số khái niệm cơ bản
a) Slice
Một ảnh video được chia thành một hay nhiều slice. Mỗi slice bao gồm số nguyên
các khối macro. Chuẩn mã hoá H.264 có 5 loại slice được mã hóa và một ảnh được mã hóa
có thể bao gồm nhiều loại slice khác nhau.
b) Macroblock
Mỗi Slice sẽ bao gồm một hay nhiều Macroblock. Một khối macro bao gồm các dữ liệu
được mã hóa ứng với vùng 16x16 mẫu của khung video và bao gồm các thành phần cú pháp
theo bảng dưới. Khối macro được đánh số theo thứ tự quét trong khung.
c) Ảnh tham chiếu(Reference Picture)

Bộ mã hóa H.264 có thể sử dụng hai hoặc nhiều các ảnh được mã hóa trước đó để
làm tham chiếu cho dự đoán bù chuyển động cho mã hóa ngoài các khối macro hoặc phân
tách khối macro.
d) Profile
H.264 định nghĩa 3 profile trong đó mỗi profile hỗ trợ 1 tập cụ thể các hàm mã hóa
và chỉ ra những gì đươc yêu cầu của bộ mã hóa/giải mã phù hợp với từng profile

1.4 Giải pháp bảo mật dữ liệu video thời gian thực bằng phương pháp mật mã
học
1.4.1 Mật mã khóa công khai
Đối với một hệ mật khóa công khai, lượng tài nguyên cần thiết cho các primitives
khóa công khai lớn hơn nhiều so với hệ mật khóa đối xứng. Việc thiết kế được một thuật
toán mật mã khóa công khai thuộc hạng nhẹ khó hơn so với việc thiết kế ra một thuật toán
mật mã đối xứng hạng nhẹ. Chính vì vậy mà có rất ít các hệ mật mã khóa công khai được
coi là hạng nhẹ.


6

1.4.2 Mật mã khóa bí mật
1.4.2.1 Mã hóa dòng
Mật mã dòng (stream cipher) là một kiểu hệ thống mật mã đối xứng có tính chất thay
thế. Mật mã dòng dựa trên ý tưởng của mật mã một lần (OTP - One Time Pad) hay còn gọi
là mật mã Vernam.

1.4.2.2 Mã hóa khối
Mã mã khối (block cipher) là hệ mật mã dựa trên các phép toán giữa các khối, Khối
là những chuỗi bit có kích thước cố định, thông thường là 64,128 hoặc 256 bit. Vì vậy khi
đầu vào bản rõ có độ dài không là bội số của khối, cần phải thực hiện thao tác đệm (padding)
sao cho số bit của đầu vào phải là bội số của khối. Về mặt tốc độ, thông thường block cipher

chậm hơn so với stream cipher, nhưng làm việc tốt với những khối dữ liệu đã biết trước kích
thước

1.4.3 Phân tích lựa chọn phương pháp mã hóa phù hợp
Từ các phân tích trên có thể thấy 2 phương pháp có thể được sử dụng để mã hóa dữ liệu
đa phương tiện là mã hóa dòng và mã hóa khối. Mã hóa dòng có tốc độ cao phù hợp cho các
ứng dụng có khả năng thay đổi và quản lý khóa dễ dàng. Mã hóa khối thì an toàn hơn và
phù hợp với các thiết bị khó thay đổi khóa. Trong 2 phương pháp trên mỗi phương pháp có
ưu nhược điểm riêng phù hợp với từng yêu cầu cụ thể. Phạm vi luận văn sẽ tập trung vào
phân tích và áp dụng phương pháp mã hóa khối.


7

CHƯƠNG 2 - NGHIÊN CỨU ĐỀ XUẤT ỨNG DỤNG CÁC HỆ
MẬT HẠNG NHẸ VÀO DỮ LIỆU VIDEO THỜI GIAN THỰC.
2.1 Một số hệ mật mã khối hạng nhẹ phổ biến
2.1.1 Phân loại hệ mật mã khối hạng nhẹ
Ngày nay có 5 loại mật mã khối cơ bản: Mạng lưới phép thay thế (SPNs), mạng
Feistel, Add-Rotate-XOR (ARX), dựa trên NLFSR và kiểu lai..

2.1.2 Hệ mật AES
AES(viết tắt của từ tiếng anh: Advanced Encryption Standard, hay Tiêu chuẩn mã
hóa nâng cao) là một thuật toán mã hóa khối được chính phủ Hoa Kỳ áp dụng làm tiêu
chuẩn mã hóa. AES được coi là một mốc trong mật mã truyền thống và do đó, không thể bỏ
qua trong bối cảnh của LWC [9].
Các bước xử lý chính
-

Quá trình mở rộng khóa sử dụng thủ tục sinh khóa Rijndael.


-

Quá trình mã hóa.

2.1.3 Hệ mật E-RISKE
E-RISKE (Extended Random Invertible Secret-Key Encryption) là một biến thể mở
rộng của hệ mật RISKE nhưng sử dụng cả các phần tử khả nghịch và khả nghịch mở rộng
trong vành R2C làm khóa. E-RISKE được giới thiệu trong tài liệu luận án tiến sỹ [7] của tác
giả Cao Minh Thắng.
Lợi thế quan trọng nhất của E-RISKE là độ phức tạp tính toán thấp. Thuật toán mã
hóa và giải mã của E-RISKE chỉ là một phép cộng và một phép nhân đa thức trong Rn và
mất 𝑂(𝑛) phép tính bit. Dễ thấy n càng lớn so với N thì E-RISKE có hiệu quả mã hoá càng
cao.
Nhược điểm của E-RISKE là mỗi phiên làm việc cần một khóa bí mật ngẫu nhiên
mới được chia sẻ giữa bên gửi và bên nhận. Vì lý do này, E-RISKE cần được sử dụng kết
hợp với một hệ mật khóa công khai nào đó để xây dựng một hệ mật lai ghép theo mô hình
KEM/DEM với bản rõ có kích thước lớn được mã hóa bởi ERISKE còn khóa bí mật ngẫu
nhiên s trong mỗi một phiên của E-RISKE được mã hóa bởi hệ mật khóa công khai đó.


8

2.2 Phương pháp mã hóa chọn lọc trên H264
Mã hóa chọn lọc (Selective Encryption- SE) là một kỹ thuật mã hóa nhằm tiết kiệm
thời gian tính toán bằng cách chỉ mã hóa một phần của một bitstream nén trong khi vẫn đạt
được bảo mật đầy đủ.
Về cơ bản có 3 phương pháp mã hóa chọn lọc trên video chính:
-


Trước khi nén (Mã hóa trên miền Pixel)

-

Trong khi nén (Kết hợp của mã hóa (coding) và mật mã (encryption) trên miền
Bitstream)

-

Sau khi nén (Mã hóa các bit của các gói tin mạng trên miền Transform)

Trong 3 phương pháp trên, mỗi phương pháp đều có những đặc điểm riêng và phù hợp với
các bài toán khác nhau.

2.2.1 Mã hóa trước khi nén
Đây là phương pháp mã hóa được thực hiện trước khi nén. Vấn đề quan trọng nhất
của phương pháp này là việc thay đổi dữ liệu gốc có thể làm ảnh hưởng tốt hoặc xấu đến
hiệu suất nén H.264. Ngoài ra, việc ma hóa chọn lọc dữ liệu thô của video không thể che
dấu toàn bộ thông tin thị giác của video. Nếu muốn che dấu toàn bộ video thì cần mã hóa
toàn bộ dữ liệu video, lúc đó không còn là mã hóa chọn lọc vì vậy phương pháp này không
được đề xuất.

2.2.2 Mã hóa trong khi nén
Đây là phương pháp thực hiện mã hóa trong quá trình nén H264. Phương pháp này
có đặc điểm là có thể che dấu hoặc làm kém chất lượng của toàn bộ video tùy vào thành
phần được lựa chọn để mã hóa của H264.

2.2.3 Mã hóa sau khi nén
Đối với phương pháp này, việc mã hóa được thực hiện sau khi nén H264. So với 2
phương pháp trên, phương pháp này cung cấp bảo mật cao hơn, không ảnh hưởng đến hiệu

quả nén và chất lượng video. Tuy nhiên, việc thực hiện một phần dữ liệu trong mỗi gói tin
phải được thực hiện trên mỗi gói tin và lặp lại nhiều lần dẫn đến tốc độ mã hóa là thấp nhất
mặc dù tỷ lệ nén sau khi tạo luồng video là cao nhất.


9

2.3 Đề xuất phương pháp ứng dụng hệ mật hạng nhẹ để bảo mật dữ liệu video
thời gian thực.
2.3.1 Đặt vấn đề
Luận văn đề xuất sử dụng phương pháp ứng dụng mã hóa vào dữ liệu video được
truyền dòng tương với công trình [10] của tác giả. Trong phương pháp này:
-

Dữ liệu video sẽ được nén với định dạng H264,

-

Thuật toán mã hóa được sử dụng là E-RISKE được đề cập trong mục 2.1.3 vì ERISKE có đặc giảm nhẹ khối lượng tính toán mã hóa và tăng khối lượng tính toán
giải mã, rất phù hợp khi sử dụng với các máy chủ phát dữ liệu có tài nguyên hạn
chế.

-

Phương pháp mã hóa: Cách tiếp cận của luận văn là thực hiện mã hóa chọn lọc sau
khi nén H264. Như đã phân tích trọng mục 2.2, phương pháp này đem lại hiệu quả
tốt cho việc mã hóa an toàn mà không ảnh hướng đến hiệu năng nén và chất lượng
video. Nhược điểm của nó là việc phải thực hiện mã hóa và giải mã liên tục mỗi
NAL làm giảm tốc độ bit. Để giảm bớt nhược điểm của phương pháp này mà vẫn
đảm bảo được an toàn dữ liệu, một lựa chọn phù hợp cho vị trí cần mã hóa là rất

quan trọng.

2.3.2 Thủ tục mã hóa
Ý tưởng của phương pháp là mã hóa 7 byte tiêu đề của mỗi NAL chỉ giữ lại 1 byte
tiêu đề đầu tiên. Trong 7 byte tiêu đề này có chứa các thông tin rất quan trọng được sử dụng
trong phần giải nén dữ liệu là: kiểu slice, số khung ảnh trong NAL và một số các cờ khác.
Byte tiêu đề đầu tiên được giữ lại để nhận biết cấu trúc dữ liệu NAL. Việc mã hóa lượng
thông tin này làm cho định dạng H264 không thể được nhận biết kiểu dữ liệu nén và không
thể giải nén được.
Sơ đồ mã hóa:


10

BẮT Đ ẦU

File video H264

Đọc 32mb dữ liệu f ile video H264

Phân tích thành từng NAL ,
mã hóa từ byte thứ 2 đến byte thứ
8 của NAL

Đúng

Còn dữ liệu

Gửi dữ liệu tới Client


Sai

Kết thúc

Hình 2.1. Sơ đồ xử lý dữ liệu máy chủ

2.3.3 Thủ tục giải mã
Khi nhận được 1 gói tin từ mạng, hệ thống sẽ thực hiện phân tích và tìm kiếm từng
NAL dựa vào 1 byte trường tiêu đề đầu tiên của mỗi NAL. Với mỗi NAL tìm được, thực
hiện giải mã 7 byte tiếp theo để thu được tiêu đề đầy đủ. Sau đó tiến hành quá trình giải nén
H264 và hiển thị dữ liệu.
Sở đồ giải mã:


11

Bắt đầu

Gói tin video
H264

Phân tích gói tin
thành từng NAL

Giải mã từ byte thứ
2 đến byte thứ 8
của NAL;

Hết NAL


Đúng

Kết thúc

Sai
Hiển thị ảnh lên
màn hình

Giải nén NAL thành
các ảnh

Hình 2.2. Sơ đồ xử lý dữ liệu máy khách

2.3.4 Phân tích hiệu năng của phương pháp đề xuất
Ưu điểm quan trọng của phương pháp này khối lượng tính toán thấp, không phá vỡ
cấu trúc file h264 mà vẫn đảm bảo che dấu được toàn bộ dữ liệu video. Việc chọn mã hóa 7
byte tiêu đề NAL rất phù hợp với thuật toán mã hóa khối do kích thước header là cố định và
không quá lớn giảm khối lượng tính toán. Điều này làm cho tốc độ mã hóa dữ liệu nhanh
hơn rất nhiều so với mã hóa toàn bộ NAL. Việc sử dụng thuật toán mã khối làm cho việc tấn
công vào thuật toán mã hóa trở nên khó khăn hơn so với thuật toán mã hóa dòng và không
bị khó khăn trong vấn đề quản lý khóa.
Nhược điểm: lượng dữ liệu mã hóa ngắn, trên lý thuyết có thể thử các trường hợp
header của một số NAL ít thay đổi mà không cần giải mã. Tuy nhiên để thực hiện được việc
này tốn rất nhiều thời gian với xác xuất chính xác thấp.


12

CHƯƠNG 3 - CÀI ĐẶT VÀ THỬ NGHIỆM
3.1 Xây dựng kịch bản thử nghiệm.

Kịch bản thử nghiệm được mô phỏng giả lập theo ứng dụng phát dữ liệu thời gian thực
của IP camera.
Trong đó máy chủ đóng vai trò IP camera thực hiện đọc dữ liệu video H264 và chuyển
dữ liệu thời gian thực tới trình phát dữ liệu máy khách, máy khách nhận dữ liệu, phân tích
và giải mã dữ liệu, giải nén và hiển thị. Chi tiết quá trình được mô tả trong Hình 3.1.
Server RTP

Chương trình xem video

Đọc File H264

Hiển thị video

Phân tích NAL header

Giải mã

Mã hóa

Phân tích NAL header

Streaming video

Streaming video

Hình 3.1. Mô hình thử nghiệm Client – Server

Các kịch bản thử nghiệm bao gồm:
-


Thử nghiệm 1: Truyền dữ liệu không mã hóa.

-

Thử nghiệm 2: Truyền dữ liệu sử dụng RC4 mã hóa toàn bộ gói tin.

-

Thử nghiệm 3: Truyền dữ liệu sử dụng AES mã hóa toàn bộ gói tin.

-

Thử nghiệm 4: Truyền dữ liệu sử dụng AES mã hóa chọn lọc theo phương án đề
xuất.

-

Thử nghiệm 5: Truyền dữ liệu sử dụng E-RISKE mã hóa chọn lọc theo phương
án đề xuất.

Điều kiện thử nghiệm: Máy chủ giả lập IP camera cần có tài nguyên hạn chế. File
Video H264 trong tất cả các trường hợp thử nghiệm là một File duy.
Phương pháp đánh giá: phương pháp định lượng


13
Kết quả mong muống: Tính được tốc độ hiện thị dữ liệu FPS (Frame per second) trung
bình của tường trường hợp và chất lượng Video được hiển thị.

3.2 Xây dựng chương trình

Xây dựng máy chủ RTSP
a) Máy ảo đóng vai hệ thống phát dữ liệu video thời gian thực.
-

Hệ thống giả lập trên phần mềm VMware Workstation Pro

-

Hệ điều hành Ubuntu 18.01

-

Ram: 1GB

-

IP: 192.168.1.164

-

CPU: Intel Core 2.6GHz

b) File 264: File video được nén theo chuẩn H264 đóng vai trò dữ liệu thời gian thực
được truyền tải. Tên file: admiral.264
-

Mã nguồn: />
c) Mã nguồn mở H264Analize để phân tích cấu trúc file H264. Thông tin về các NAL
sẽ được sử dụng cho phần mã hóa sau. Ngôn ngữ lập trình: C.
-




nguồn:

/>
Examples/tree/master/h264/h264dec
d) Mã nguồn mở mã hóa RC4: sử dụng trong quá trình mã hóa dữ liệu thời gian thực.
Ngôn ngữ lập trình: C.
-

Mã nguồn: />
e) Mã nguồn mở mã hóa AES: sử dụng trong quá trình mã hóa dữ liệu thời gian thực.
Ngôn ngữ lập trình: C.
-

Mã nguồn: />
f) Mã nguồn mở mã hóa E_RISKE: sử dụng trong quá trình mã hóa dữ liệu thời gian
thực. Ngôn ngữ lập trình: C.
-

Mã nguồn: Từ tác giả.

g) Mã nguồn mở RTSP server: sử dụng để xây dựng server phát dữ liệu video thời gian
thực. Ngôn ngữ lập trình: C.
-

Mã nguồn: />
3.2.1 Xây dựng phần mềm nhận dữ liệu
OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính được hầu hết

các thiết bị nhúng ứng dụng như IPcamera, máy ảnh, các phần mềm xem video…


14
OpenCV có rất nhiều các modules và mỗi module này sẽ được build dưới dạng thư
viện liên kết tĩnh và thư viện liên kết động giúp dễ dàng sử dụng trong project. Tính đến
phiên bản 3.1.0 OpenCv đã có 57 module, mỗi module có một chức năng riêng biệt.
Trong phần mềm này, module videoio của OpenCv sẽ được sử dụng để xây dựng
chương trình nhận dữ liệu từ máy chủ RTSP và giải mã dữ liệu nhận được.
Mã nguồn chương trình: />
3.3 Thử nghiệm, đánh giá kết quả
3.3.1 Thử nghiệm
-

Bước 1: Khởi động máy chủ RTSP

Hình 3.2. Khởi động máy chủ phát dữ liệu

-

Bước 2: Khởi động chương trình máy khách

Hình 3.3. Khởi động chương trình máy khách thí nghiệmThử nghiệm 1: Truyền dữ liệu

không mã hóa
80.5
80.12

80


79.94

79.5

Khung hình/s

79
78.68

78.5
78

79.44

79.34

79.25

78.89

78.87

78.13

77.5
77.19

77
76.5
76

75.5
1

2

3

4

5

6

7

8

Số lần thử nghiệm

Hình 3.4. Biểu đồ kết quả thử nghiệm 1

9

10


15

3.3.1.1 Thử nghiệm 2: Truyền dữ liệu sử dụng RC4 mã hóa toàn bộ gói tin.
80.5

80.12

80

79.94

Khung hình/s

79.5
78.68

78.5
78

79.44

79.34

79

79.25

78.89

78.87

78.13

77.5
77.19


77
76.5
76
75.5
1

2

3

4

5

6

7

8

9

10

Số lần thử nghiệm

Hình 3.5. Biểu đồ kết quả thử nghiệm 3

3.3.1.2 Thử nghiệm 3: Truyền dữ liệu sử dụng AES mã hóa toàn bộ gói tin

80.5
80.12

80

79.94

Khung hình/s

79.5
79
78.68

78.5
78

79.44

79.34

79.25

78.89

78.87

78.13

77.5
77.19


77
76.5
76
75.5
1

2

3

4

5

6

7

8

Số lần thử nghiệm

Hình 3.6. Biểu đồ kết quả thử nghiệm 2

9

10



16

3.3.1.3 Thử nghiệm 4: Truyền dữ liệu sử dụng AES mã hóa chọn lọc theo phương án
đề xuất
80.5
80.12

80

79.94

Khung hình/s

79.5
78.68

78.5
78

79.44

79.34

79

79.25

78.89

78.87


78.13

77.5
77.19

77
76.5
76
75.5
1

2

3

4

5

6

7

8

9

10


Số lần thử nghiệm

Hình 3.7. Biểu đồ kết quả thử nghiệm 4

3.3.1.4 Thử nghiệm 5: Truyền dữ liệu sử dụng E_RISKE mã hóa chọn lọc theo
phương án đề xuất
80.5
80.12

80

79.94

Số khung hình/s

79.5
78.68

78.5
78

79.44

79.34

79

79.25

78.89


78.87

78.13

77.5
77.19

77
76.5
76
75.5
1

2

3

4

5

6

7

8

9


10

Số lần thử nghiệm

Hình 3.8. Kết quả thí nghiệm 5

3.3.2 Đánh giá
Từ các kết quả nhận được trong 4 trường hợp thử ngiệm trên Hình 3.9 có thể thấy tỷ
lệ khung hình/s dao động trong khoảng 54 đến 126 là tốc độ có thể xem video một cách
mượt mà.


17
140

126.85

Khung hình/s

120
100
76.81

75.28

78.98

3

4


5

80
54.16

60
40
20
0
1

2

Trường hợp thử nghiệm

Hình 3.9. Biểu đồ tổng kết kết quả thí nghiệm

Lý do tốc độ FPS cao trên 50 là do môi trường thí nghiệm đã loại bỏ các yếu tố gây
ảnh hưởng đến kết quả thí nghiệm như môi trường mạng, khả năng đáp ứng yêu cầu nhiều
người dùng, các video trên thực tế thường chỉ đáp ứng mức độ truyền dữ liệu 30 FPS – 60
FPS. Tuy nhiên việc này không ảnh hưởng đến mục đích so sánh tốc độ truyền dữ liệu trong
các trường hợp thử nghiệm,
Đánh giá kết quả thử nghiệm:
-

Trong thí nghiệm 1: Hình ảnh nhận được sắc nét.Tốc độ này sẽ được sử dụng làm
mốc để so sánh với các thí nghiệm còn lại.

-


Trong thí nghiệm 2: Đôi lúc có xuất hiện một số hình mờ. Tốc độ này cao hơn sao
với sử dụng thuật toán mã hóa khối AES,

-

Trong thí nghiệm 3: Nhiều hình ảnh bị vỡ, nhòe. Tốc độ xử lý của máy chủ đôi khi
không đáp ứng được tốc độ chuẩn hiển thị hình ảnh.

-

Trong thí nghiệm 4: Xuất hiện một số khung hình bị mờ. Lý do có tốc độ này là do
chương trình phải xử lý thêm bước phân tích tiêu đề NAL trước khi mã hóa, mặc dù
khối lượng tính toán mã hóa AES cho 7 byte dữ liệu là thấp hơn so với mã hóa toàn
bộ gói tin của RC4.

-

Trong thí nghiệm 5: Chất lượng hình ảnh và tốc độ xử lý khung hình/s vẫn đạt các
tiêu chuẩn về truyền dữ liệu thời gian thực.
Kết luận: Việc áp dụng phương pháp mã hóa được đề xuất là có tính khả thi do tốc

độ khung hình/s bằng so với mã hóa dòng đã được chứng minh trong [11]. Về an toàn dữ
mã hóa chọn lọc đã che dấu toàn bộ dữ liệu thị giác cũng tương tự như khi mã hóa toàn


18
bộ gói tin do việc mã hóa đã che dấu đi cấu trúc nén dữ liệu của H264. Một số ưu điểm
của phương pháp mã hóa đề xuất:
-


Khối lượng tính toán mã hóa chọn lọc 7 byte dữ liệu của mỗi NAL thấp hơn so với
mã hóa toàn bộ gói tin.

-

Việc sử dụng mã hóa khối giúp giải quyết vấn đề quản lý chu kỳ sống của khóa khi
sử dụng mã hóa dòng.

-

Thuật toán mã hóa khối E-RISKE giảm khối lượng tính toán cho máy chủ so với
thuật toán mã hóa khối AES.


19

KẾT LUẬN VÀ KIẾN NGHỊ
Những kết quả chính của luận văn
Sau một thời gian nghiên cứu, đề tài “Nghiên cứu nghiên cứu ứng dụng các hệ mật
mã hạng nhẹ trong bảo mật dữ liệu Video thời gian thực” đã đạt được các kết quả sau đây:
1) Đã tìm hiểu được các vấn đề về truyền dòng dữ liệu Video thời gian thực sử dụng
chuẩn nén H264;
2) Đã tìm hiểu về các giải pháp bảo mật dữ liệu video thời gian thực bằng phương
pháp mật mã học;
3) Đã khảo sát về các loại mật mã khối hạng nhẹ và các phương pháp mã hóa lựa
chọn trên định dạng video H264 từ đó đề xuất phương pháp áp dụng mật mã hạng
nhẹ vào bảo mật dữ liệu Video thời gian thực;
4) Đã thử nghiệm phương pháp đề xuất từ đó phân tích đánh giá bằng cách sử dụng
phương pháp định lượng.

Khuyến nghị về các hướng nghiên cứu tiếp theo
Một số vấn đề mở ra từ các kết quả nghiên cứu đề tài bao gồm:
1) Thử nghiệm một số thuật toán mã hóa khối tiên tiến mới như Dtru,HpNE
PRESENT để tăng tốc độ xử lý cũng như mức độ tương thích với ứng dụng thực tế.
2) Nghiên cứu áp dựng phương pháp mã hóa đề xuất trên một số chuẩn nén mới như
H263,H265.
3) Nghiên cứu ứng dụng phương pháp mã hóa đề xuất trên mô hình thực tế và thiết bị
thật.


20

TÀI LIỆU THAM KHẢO
[1] D. Hood, „A comprehensive Survey of Video,“ 2012.
[2] „researchgate.net,“ 2017. [Online]. Available: .
[3] M. Soni, „A Survey of video Encryption Methodologies,“ 2015.
[4] D. Mitchell, „MPEG Video Compression Standard, Chapman & Hall,“ 1996.
[5] Richardson, „H264/MPEG Part10,“ 2012.
[6] H. 11496-10, „Advanced Video Coding,“ 2002.
[7] C. M. Thắng, Các hệ mật dựa trên vánh đa thức chẵn, 2017.
[8] N. T. Thành, Bài giảng truyền dữ liệu đa phương tiện trên mạng máy tính, 2016.
[9] G. P. v. J. S. Marc Girault, „On the Fly Authentication and Signature Schemes Based
on Groups of Unknown Order,“ 2006.
[10] C. M. G. H. K. F. Y. Papaefstathiou, „A survey of lightweight stream ciphers for
embedded systems,“ 2015.
[11] K. I. P. C. M. George Hatzivasilis, „A Review of Lightweight Block Ciphers,“ 2017.
[12] „Advanced_Encryption_Standard,“

[Online].


Available:

/>[13] L. Tang,

„“Methods for Encrypting and Decrypting MPEG Video Data

Efficiently,“ New York, NY,USA, 1996, pp. 219-229.
[14] M. V. D. a. R. Benedett, „Techniques for a Selective Encryption of Uncompressed and
Compressed Images,“ pp. 90-97, 2002.
[15] F. D. a. T. Ebrahimi, „Scrambling for privacy protection in video surveillance
systems,“ 2008.
[16] Z. L. Z. R. a. Z. W. S. Lian, „Selective Video Encryption Based on Advanced Video
Coding,“ 2005.
[17] W. Z. a. S. Lei, „Efficient Frequency Domain Selective Scrambling of Digital
Video,“ 2003.
[18] C.-P. W. a. C.-C. Kuo, „Design of Integrated Multimedia Compression and Encryption
Systems,,“ 2005.
[19] Z. L. Z. R. a. H. W. S. Lian, „Commutative Encryption and Watermarking in Video


21
Compression,“ 2007.
[20] H. K. a. S. M. P. Carrillo, „Compression Independent Reversible Encryption for
Privacy in Video Surveillance,“ 2009.
[21] O. Z. O. K. A. Z. a. B. Z. M. Abomhara, „“Enhancing Selective Encryption for
H.264/AVC Using Advanced,“ 2010.
[22] K. H. a. J. V. W. Jiangtao, „Binary arithmetic coding with key-based interval
splitting,“ 2006.
[23] E. M. a. G. O. M. Grangetto, „Multimedia Selective Encryption by Means of
Randomized Arithmetic Coding,“ 2006.

[24] X. Z. a. Y. Z. C. Li, „“NAL Level Encryption for Scalable Video Coding,“ 2008.



×