HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
---------------------------------------
NGUYỄN HỒ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 hồ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 ngun hạn chế thì các thuật tố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 tồ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 hồn tồn, mã hóa dựa trên hố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 tố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 tồ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 Q 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 Q 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 q 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ố ngun
các khối macro. Chuẩn mã hố 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ự đốn bù chuyển động cho mã hóa ngồ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 ngun 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
tố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 tồ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 tố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
-
Q trình mở rộng khóa sử dụng thủ tục sinh khóa Rijndael.
-
Q 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 tốn thấp. Thuật tố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 tố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 tố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 tồn bộ thơng tin thị giác của video. Nếu muốn che dấu tồn bộ video thì cần mã hóa
tồ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 q 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 tố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 tốn mã hóa và tăng khối lượng tính tố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 tồ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 tốn thấp, khơng phá vỡ
cấu trúc file h264 mà vẫn đảm bảo che dấu được tồ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 q lớn giảm khối lượng tính tố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 tồn bộ NAL. Việc sử dụng thuật tốn mã khối làm cho việc tấn
cơng vào thuật tốn mã hóa trở nên khó khăn hơn so với thuật tố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 tồn bộ gói tin.
-
Thử nghiệm 3: Truyền dữ liệu sử dụng AES mã hóa tồ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.
-
Mã
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 q 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 q 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 tồ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 tồ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 tố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 tốn mã hóa AES cho 7 byte dữ liệu là thấp hơn so với mã hóa tồ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 tồ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 tồ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 tố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 tồ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 tốn mã hóa khối E-RISKE giảm khối lượng tính tốn cho máy chủ so với
thuật tố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 tố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.