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
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
HÀ NỘI - 2019
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
LUẬN VĂN THẠC SĨ KỸ THUẬT
(Theo định hướng ứng dụng)
NGƯỜI HƯỚNG DẪN KHOA HỌC:
GS.TS. NGUYỄN BÌNH
bảo cho tôi trong suốt quá trình học tập và nghiên cứu, giúp tôi có nhận thức đúng
đắn về kiến thức khoa học, tác phong học tập và làm việc, tạo điều kiện thuận lợi để
tôi hoàn thành luận văn này.
Cuối cùng, tôi xin được gửi lời cảm ơn tới gia đình, đồng nghiệp, người thân
đã động viên, giúp đỡ tôi trong quá trình hoàn thành luận văn.
Hà Nội, tháng
năm 2019
Tác giả luận văn
Nguyễn Hoàng Tiến
iii
MỤC LỤC
LỜI CAM ĐOAN ....................................................................................................... i
LỜI CẢM ƠN ............................................................................................................ ii
MỤC LỤC ................................................................................................................. iii
DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT ................................................v
DANH MỤC BẢNG BIỂU ...................................................................................... vi
DANH MỤC HÌNH VẼ ........................................................................................... vii
MỞ ĐẦU .....................................................................................................................1
CHƯƠNG 1 - TỔNG QUAN VỀ BẢO MẬT DỮ LIỆU VIDEO THỜI GIAN
THỰC. .........................................................................................................................4
1.1
Quá trình truyền dòng của dữ liệu video thời gian thực ................................4
Tổng quan .............................................................................................13
1.3.2
Cơ chế hoạt động ..................................................................................15
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 21
1.4.1
Mật mã khóa công khai .........................................................................21
1.4.2
Mật mã khóa bí mật ..............................................................................22
1.4.3
Phân tích lựa chọn phương pháp mã hóa phù hợp................................25
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.............................................................................................................26
2.1
Một số hệ mật mã khối hạng nhẹ phổ biến ..................................................26
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.........................................................................................................35
2.3.1
Đặt vấn đề .............................................................................................35
2.3.2
Thủ tục mã hóa .....................................................................................36
2.3.3
Thủ tục giải mã .....................................................................................37
2.3.4
Phân tích hiệu năng của phương pháp đề xuất .....................................38
CHƯƠNG 3 - CÀI ĐẶT VÀ THỬ NGHIỆM ..........................................................40
3.1
Xây dựng kịch bản thử nghiệm. ..................................................................40
3.2
Xây dựng chương trình ................................................................................42
Tiếng Anh
Tiếng Việt
AES
Advanced Encryption Standard Chuẩn mã hóa nâng cao
AVC
Advanced Video Coding
E-RISKE
IP
Extended Random Invertible
Secret-Key Encryption)
Internet Protocol
Chuẩn nén video nâng cao
Tên thuật toán mã hóa
Giao thức internet
Ứng dụng xem tivi qua giao
IPTV
IPTV
NAL
Hình 1.1. Quá trình truyền đòng video
5
Hình 1.2. Cấu trúc NAL
7
Hình 1.3. Các bước trao đổi trong 1 phiên streaming media
11
Hình 1.4. Bộ mã hóa H264
15
Hình 1.5. Bộ giải mã H264
16
Hình 1.6. Cấu trúc H264
16
Hình 1.7. Minh họa Slice trong 1 khung hình
17
Hình 1.8. Minh họa ví trị Macroblock trong Slice
Hình 3.2. Sơ đồ cấu trúc máy chủ RTSP
43
Hình 3.3. Sơ đồ hoạt động chương trình máy khách
45
Hình 3.4. Khởi động máy chủ phát dữ liệu
46
Hình 3.5. Khởi động chương trình máy khách thí nghiệm
46
Hình 3.6. Hình ảnh thử nghiệm 1
46
Hình 3.7. Biểu đồ kết quả thử nghiệm 1
47
Hình 3.8. Hình ảnh thử nghiệm 2
47
Hình 3.9. Biểu đồ kết quả thử nghiệm 3
52
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)… Đối mặt với sự
phát triển này, việc xâm phạm dưới các hình thức khác nhau có thể ảnh hưởng nặng
nề tới các cá nhân và tổ chức xã hội. Do vậy, nhu cầu an toàn an ninh cho dữ liệu
thời gian thực trở nên cấp thiết và đòi hỏi ở các mức độ cao hơn.
Tuy nhiên trên thực tế lại hình thành một mâu thuẫn giữa sự phát triển các dịch
vụ với việc đảm bảo an toàn thông tin dữ liệu video thời gian thực. Điều này dễ
dàng có thể hiểu được vì môi trường truyền dữ liệu là một mạng mở, thiết bị thu
phát dữ liệu lại thường là những thiết bị có tài nguyên hạn chế, giá thành thấp hoặc
ít quan tâm đến bảo mật. Một trong những giải pháp hiệu quả nhất nhằm bảo đảm
an toàn dữ liệu trong mạng này là sử dụng mật mã. 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.
hệ mật mã hạng nhẹ được sử dụng để thay thế cho hệ mã hóa thông thường (DES...).
Hiện nay, trên thế giới có rất nhiều hệ mật mã hạng nhẹ [10] nhằm hướng tới
những yêu cầu cụ thể , như: mã khối DESL và DESXL, mã khối HIGHT, mã khối
mCrypton, SEA, TEA, ICEBERG, PRINCE… một số mật mã khối đã đạt chuẩn
ISO/IEC 29192-2 (các thuật toán mã hóa sẵn sàng để sử dụng trong các hệ thống
thực tế.) như PRESENT, CLEFIA SIMON và SPECK. Đặc biệt có thuật toán ERISKE 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ẹ.
3
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.
-
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.
Trong những năm 90, với sự phát triển và phổ biến của Internet, Video được truyền
bằng công nghệ chuyển mạch gói. Dù vậy, khi truyền qua mạng Internet, người ta
vẫn thường xuyên gặp những yếu tố bất lợi về băng thông, độ trễ và mất gói tin,
cùng với đó là vấn đề chia sẻ tài nguyên mạng giữa các luồng và làm thế nào để
triển khai hiệu quả các phương thức truyền thông Multicast.
Thông thường, người dùng chỉ có thể đọc Video sau khi đã tải toàn bộ Video
về đĩa cứng trên máy mình. Thế nhưng, trong bối cảnh các Video đang được cung
cấp dưới dạng chất lượng cao thông qua Internet cũng như yêu cầu nhanh chóng,
tiện dụng đang được người dùng Internet đặt lên hàng đầu thì phương pháp ấy đã
không còn hiệu quả. Từ đây, một bài toán được đặt ra nhằm truyền tải Video đến
người dùng một cách nhanh chóng, thuận tiện mà vẫn đảm bảo được chất lượng cần
thiết. Ta có khái niệm truyền dòng dữ liệu video thời gian thực (Video Streaming)
là “truyền Video một cách liên tục từ một nguồn đến một hay nhiều đích nào thông
5
qua Internet mà vẫn đảm bảo thời gian tương ứng với thời gian thật một cách tương
đối”.
Video Streaming cho phép việc giải nén kết hợp với hiển thị dữ liệu trong khi vẫn
tiếp tục tải phần còn lại của Video về. Đây gọi là kĩ thuật Buffering:
Video sẽ được chia ra thành từng gói nhỏ, sau đó liên tục truyền những gói ấy tới
người dùng.
Người dùng khi nhận được một phần nhỏ của dữ liệu Video sẽ bắt đầu giải
-
Video/Audio Compression: Là bộ phận thực hiện công đoạn nén các dữ
liệu Video/Audio trước khi truyền nhằm giúp quá trình truyền đạt hiệu
quả tốt nhất về tiết kiệm băng thông.
-
Application Layer QoS Control: Trong quá trình truyền, sự biến thiên về
tài nguyên mạng là không thể tránh khỏi. Cùng với đó, yêu cầu chất
lượng Video của mỗi đối tượng người dùng là khác nhau, vì thế nhiều kĩ
thuật điều khiển chất lượng tầng ứng dụng đã được đưa ra. 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ễ, mặt khác còn có thể cải thiện chất lượng
Video được trình chiếu ở máy người dùng trong điều kiện đường truyền
tốt.
-
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 bao gồm
các giao thức tầng mạng (IP), giao thức tầng giao vận (UDP/TCP) và giao
thức điều khiển phiên Real-time Streaming Protocol (RTSP).
2 bit cờ NAL
phân tán
hay không
Dữ liệu video payload NAL
5 bit định nghĩa kiểu
của đơn vị Nal
Chứa các section
hoặc slice video
Hình 1.2. Cấu trúc NAL
Việc nén video là một công đoạn không bắt buộc nhưng rất cần thiết. Với các
loại dữ liệu video như dữ liệu thu từ camera, thì việc lưu trữ hay truyền video không
nén sẽ phải trả giá cao, đôi khi là điều không thể. Ta lấy ví dụ với một định dạng
8
tiêu biểu thường được sử dụng trong các ứng dụng hội nghị từ xa bằng video là định
dạng CIF (Common Intermediate Format). CIF sử dụng độ phân giải 352 pixel mỗi
dòng và có 288 dòng tất cả. Một ảnh không nén cho một frame hình (chế độ
352x288x16bpp) chiếm 202752 byte. Việc ghi video không nén với tốc độ 15 hình
một giây sẽ cần xấp xỉ 3 MB và nếu truyền qua mạng thì băng thông cần thiết cho
mét dòng video không nén là 24 Mbps. Từ ví dụ trên, ta thấy việc nén video gần
như là không thể thiếu được nếu các dòng video được truyền trên môi trường mạng
tốc độ thấp.
phần mềm.
RTP sử dụng TCP và UDP là 2 giao thức để truyền tải gói tin qua mạng.
Trong đó TCP mang đến sự ổn định trong việc truyền dữ liệu, UDP có tốc độ truyền
dự liệu tốn hơn nhưng độ ổn định thấp hơn TCP.
Việc sử dụng một giao thức truyền dòng thời gian thực có nhiều ưu điểm. Ưu
điểm thứ nhất là tính hiệu quả, bởi vì các giao thức truyền thông thời gian thực
được thiết kế cho việc truyền các loại dữ liệu động, như dữ liệu video chẳng hạn,
khi đó tính thời gian thực sẽ được chú trọng hơn là tính chính xác về mặt dữ liệu.
Ưu điểm thứ hai là các giao thức thời gian thực hỗ trợ mạnh việc đồng bộ các dòng
dữ liệu từ các nguồn khác nhau nhưng có quan hệ với nhau về mặt thời gian thực.
Bước 4 – Nhận và khôi phục dữ liệu và đồng bộ các dòng:
Đây là quá trình ngược với bước thứ ba, được thực hiện ở bên nhận khi dữ
liệu dưới dạng các gói tin được truyền đến. Các gói tin được truyền đến có thể là
của nhiều dòng tương ứng với nhiều nguồn dữ liệu khác nhau và cũng có thể thứ tự
các gọi tin nhận được không giống như khi chúng được gửi đi. Khi đó bên nhận
phải căn cứ vào các thông tin được ghi trong từng gói tin để có thể xác định được vị
trí về mặt không gian và thời gian của các mẫu dữ liệu mà gói tin mang theo. Việc
xác định được vị trí của các mẫu dữ liệu trong gói tin giúp cho việc khôi phục lại
nội dung của video hay audio một cách chính xác nhất. Với việc truyền các dòng
đơn lẻ không có quan hệ với nhau về mặt thời gian, thì nội dung của audio hay
video vừa được khôi phục có thể được sử dụng để trình diễn. Còn trong trường hợp
có nhiều dòng khác nhau có quan hệ với nhau về mặt thời gian thực thì cần phải
đồng bộ các dòng về mặt thời gian.
10
Việc đồng bộ các dòng chỉ cần thiết khi các dòng có quan hệ với nhau về mặt
thời gian, chẳng hạn như việc đồng bộ hình với tiếng khi truyền video, khi đó thời
gian thể hiện của các dòng phải được tính toán sao cho phù hợp với nhau. Việc
11
thức này được sử dụng để thiết lập và điều khiển phiên giao dịch giữa các máy tính
(end points).
Về hình thức, giao thức RTSP cũng có nét tương đồng với giao thức HTTP,
RTSP định nghĩa một bộ các tín hiệu điều khiển tuần tự, phục vụ cho việc điều
khiển quá trình playback. Trong khi giao thức HTTP là giao thức không có trạng
thái thì RTSP là giao thức có xác định trạng thái. Một định danh được sử dụng khi
cần thiết để theo dõi các phiên giao dịch hiện tại của quá trình streaming video gọi
là số hiệu session. Cũng giống như HTTP, RTSP sử dụng TCP là giao thức để duy
trì một kết nối đầu cuối tới đầu cuối và các thông điệp điểu khiển của RTSP được
gửi bởi máy client tới máy server. Nó cũng thực hiện điều khiển lại các đáp trả từ
máy server tới máy client. Cổng mặc định được sử dụng bởi giao thức này là 554.
Hình 1.3. Các bước trao đổi trong 1 phiên streaming media
Chi tiết về giao thức được mô tả trong chuẩn RFC 2326
1.2.2 Giao thức RTP
RTP (Real-time Transport Protocol) định dạng một gói tin RTP được dùng
để truyền trên luồng dữ liệu video hay audio dựa trên địa chỉ IP. RTP được sử dụng
trong phiên giao dịch giữa các hệ thống giải trí hoặc giao tiếp mà có triển khai kỹ
12
thuật streaming video như là telephony, ứng dụng hội họp từ xa, hệ thống giám sát
bằng hình ảnh dựa trên IP.
RTP được sử dụng kết hợp với giao thức RTCP ( RTP Control Protocol ).
Trong đó, RTP được sử dụng để đóng gói các frame dữ liệu ( audio và video) để
các luồng video và audio sẽ có các phiên RTP khác nhau, bên nhận sẽ nhận một
cách riêng biệt giữa dữ liệu video và audio thông qua 2 cổng khác nhau cho 2 giao
thức RTP và RTCP. Thường thì số hiệu cổng của RTP là một số chẵn trong khoảng
1024 tới 65535 và cổng của RTCP là một số lẻ kế tiếp.
1.2.3 Giao thức SIP
SIP (Session initial protocol – giao thức khởi tạo phiên) là giao thức đầu tiên
hỗ trợ phiên đa người dùng với dữ liệu đa phương tiện. Và hiện nay trở thành một
đặc tả của tổ chức Internet Engineering Task Force (IETF).
Ngày nay, để tăng số lượng kênh dịch vụ, các nhà cung cấp dịch vụ viễn
thông hướng tới phát triển các dịch vụ trên nền tảng SIP như: điện thoại nội bộ và
điện thoại đường dài, các dịch vụ tin nhắn (IM), voice message, push-to-talk, truyền
thông đa phương tiện… SIP đang được phát triển rất mạnh mẽ cả về phần mềm và
phần cứng. Ngày càng có nhiều máy điện thoại IP, các hệ thống máy phục vụ
(server), các cổng VOIP gateway, tất cả đều sử dụng SIP …SIP được phát triển dần
dần từ các giao thức có trước đó: HTTP và SMTP. Tuy SIP dùng một hệ thống user
và server riêng, nhưng SIP không hoạt động một cách biệt lập. SIP hoạt động cùng
với hàng loạt các giao thức trước đó để thực hiện các việc như: authentication,
location, quản lý chất lượng tiếng nói,… • SIP là một giao thức thế hệ mới Với đặt
điểm: Linh hoạt, extensible và tính mở, SIP đã làm nổi bật sức mạnh của Internet và
các mạng di động trên nền IP , tạo ra các dịch vụ thế hệ mới.
Tuy nhiên trong đề tài này sẽ không tập trung vào SIP mà chỉ sử dụng RTSP
và RTP để truyền dữ liệu.
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
-
Bộ lọc deblocking;
-
Thứ tự macroblock mềm dẻo.
Chuẩn H.264 ngày nay đang được sử dụng như một chuẩn phổ biến nhất.
Các ứng dụng của H.264 như:
-
Truyền hình quảng bá qua vệ tinh, cáp, mặt đất…;
-
Truyền hình tương tác video theo yêu cầu (VoD);
-
Lưu trữ đĩa quang, băng từ, DVD;
-
Tích hợp dịch vụ qua ISDN, DSL, LAN, mạng di động, modem;
-
Nhắn tin đa phương tiện DMS qua ISDN, DSL, LAN, mạng di động;
ảnh và nhờ đó làm tăng hiệu quả nén trong miền không gian.
Quá trình mã hóa được thuộc hiện theo các bước:
-
Fn là khung hoặc field được chia nhỏ thành các macroblock, mỗi block sẽ
được mã hoá theo chế độ intra hoặc inter.
-
Trong chế độ intra, thành phần được dự đoán P (ở đây có thể là các mẫu)
được suy ra từ các mẫu đã được mã hóa hoặc đã được giải mã hay khôi
phục trong cùng 1 slice, trong đó uF'n là những mẫu chưa được lọc được
dung cho việc xác định P.
-
Trong chế độ inter, thành phần được đoán P được suy ra nhờ dự đoán bù
chuyển động (motion-compensated prediction) từ 1 đến 2 khung đã mã
hoá trước đó.