Một số phương pháp giấu sử dụng kỹ thuật trải phổ tín hiệu trong ngành viễn thông để giấu tin như trong [26, 46, 45].. Mặc dù trên thế giới, các nghiên cứu về giấu tin trong dữ liệu đa p
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HUỲNH BÁ DIỆU
MỘT SỐ KỸ THUẬT GIẤU TIN
TRONG ÂM THANH SỐ
LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN
Hà Nội – Năm 2017
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HUỲNH BÁ DIỆU
MỘT SỐ KỸ THUẬT GIẤU TIN
TRONG ÂM THANH SỐ
Chuyên ngành: HỆ THỐNG THÔNG TIN
Mã số: 62 48 01 04
LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS TSKH NGUYỄN XUÂN HUY
Hà Nội – Năm 2017
Trang 3i
Lời cam đoan
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các kết quả được viết chung với các tác giả khác đều được sự đồng ý của đồng tác giả trước khi đưa vào luận án Các kết quả nêu trong luận án là trung thực và chưa từng được ai công
bố trong các công trình nào khác
Tác giả
Trang 4Tôi xin gửi lời cảm ơn sâu sắc đến ơn PGS.TS Trịnh Nhật Tiến, PGS.TS Hà Quang Thụy, PGS.TS Nguyễn Ngọc Hóa cùng các Thầy Cô ở Bộ môn Các Hệ thống thông tin, khoa Công nghệ thông tin Trường Đại học Công nghệ, nơi tôi học tập, đã tạo điều kiện thuận lợi và hỗ trợ cho tôi trong quá trình làm nghiên cứu sinh
Tôi cũng xin cảm ơn PGS.TS Phạm Văn Ất đã góp ý để tôi điều chỉnh và hoàn thành phần nội dung của luận án
Đặc biệt, tôi xin chân thành cảm ơn Lãnh đạo Trường Đại học Duy Tân đã hỗ trợ cho tôi kinh phí, tạo điều kiện về thời gian trong quá trình học tập và nghiên cứu
Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc đến những người thân trong gia đình,
đã cho tôi điểm tựa vững chắc, động viên và nhắc nhở tôi hoàn thành luận án
Trang 5iii
MỤC LỤC
MỞ ĐẦU 1
Chương 1 GIẤU THÔNG TIN VÀ GIẤU TIN TRONG ÂM THANH 7
1.1 Giấu thông tin 7
1.1.1 Lịch sử giấu thông tin 7
1.1.2 Các thành phần của hệ giấu tin 7
1.1.3 Các yêu cầu của hệ giấu tin 8
1.1.4 Phân loại giấu tin 10
1.1.5 Tấn công hệ thống giấu tin 11
1.1.6 Các ứng dụng của giấu tin 12
1.2 Giấu tin trong âm thanh số 13
1.2.1 Ngưỡng nghe 14
1.2.2 Hiện tượng che khuất 14
1.2.3 Âm thanh và các đặc tính của âm thanh 16
1.2.4 Biểu diễn âm thanh số 17
1.2.5 Các định dạng âm thanh phổ biến 19
1.2.6 Một số chương trình giấu tin trên âm thanh 20
Tổng kết chương 1 20
Chương 2 PHƯƠNG PHÁP GIẤU TIN TRONG ÂM THANH 22
2.1 Các kỹ thuật bổ trợ cho giấu tin 22
2.1.1 Các phép biến đổi từ miền thời gian sang miền tần số 22
2.1.2 Xáo trộn dữ liệu mật 24
2.1.3 Sinh chuỗi giả ngẫu nhiên 26
2.2 Đánh giá các phương pháp giấu tin trong âm thanh 27
2.2.1 Đánh giá bằng các độ đo 27
2.2.2 Đánh giá bằng các phần mềm phát hiện tin 27
2.2.3 Đánh giá bằng bảng đánh giá ODG (Object Difference Grade) 28
2.3 Phương pháp giấu tin trong âm thanh 28
2.3.1 Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding) 28
2.3.2 Phương pháp chẵn lẻ (parity coding) 29
2.3.3 Phương pháp mã hoá pha (phase coding) 30
2.3.4 Phương pháp mã hoá tiếng vọng (echo coding) 33
2.3.5 Phương pháp trải phổ 35
2.3.6 Phương pháp điều chỉnh biên độ 37
2.3.7 Phương pháp lượng tử hoá (quantization) 38
Trang 6iv
2.3.8 Phương pháp điều chế tỉ lệ thời gian 39
2.3.9 Phương pháp giấu dựa vào Patchwork 39
2.3.10 Phương pháp dựa vào các đặc trưng nổi bật 41
Tổng kết chương 2 42
Chương 3 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN THỜI GIAN 43
3.1 Thuật toán giấu tin kết hợp mã sửa lỗi Hamming 43
3.1.1 Mã Hamming 44
3.1.2 Quá trình giấu tin 45
3.1.3 Quá trình giải tin và xác thực tin giấu 46
3.1.4 Kết quả thử nghiệm và đánh giá 47
3.2 Thuật toán giấu điều chỉnh giá trị nhóm bit 49
3.2.1 Sinh chuỗi xác định mẫu dữ liệu và vị trí trên mẫu 49
3.2.2 Điều chỉnh độ lệch bit 50
3.2.3 Thuật toán giấu tin theo phương pháp điều chỉnh giá trị nhóm bit 51
3.2.4 Quá trình giải tin theo phương pháp điều chỉnh giá trị nhóm bit 53
3.2.5 Đánh giá phương pháp giấu tin 53
3.3 Thuật toán giấu bằng điều chỉnh 2 mẫu trong một đoạn chứa 25 mẫu 56
3.3.1 Xáo trộn dữ liệu 56
3.3.2 Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu 57
3.3.3 Thuật toán giấu tin 58
3.3.4 Thuật toán giải tin 59
3.3.5 Kết quả thử nghiệm và đánh giá 62
3.4 Thuật toán điều chỉnh 1 bit trong khối để giấu 8 bit dữ liệu 64
3.4.1 Xáo trộn dữ liệu bằng phương pháp hoán vị 64
3.4.2 Tính tổng XOR của đoạn 65
3.4.3 Thuật toán giấu một byte dữ liệu vào trong khối 256 mẫu 68
3.4.4 Thuật toán giấu tin 69
3.4.5 Thuật toán giải tin 69
3.4.6 Kết quả thử nghiệm và đánh giá 70
3.5 Thuật toán giấu điều chỉnh tiếng vọng 72
3.5.1 Thuật toán giấu của Rios Chavez 72
3.5.2 Kỹ thuật điều chỉnh tiếng vọng 74
3.5.3 Kết quả thử nghiệm và đánh giá 75
Tổng kết chương 3 77
Chương 4 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI 78
4.1 Thuật toán điều chỉnh các hệ số trên miền biến đổi Fourier 78
Trang 7v
4.1.1 Điều chỉnh giá trị trong miền tần số 78
4.1.2 Thuật toán điều chỉnh mẫu để giấu một bit 80
4.1.3 Thuật toán giấu 81
4.1.4 Thuật toán lấy 1 bit mật từ 1 mẫu 82
4.1.5 Thuật toán giải tin 82
4.1.6 Kết quả thử nghiệm và đánh giá 83
4.2 Thuật toán giấu điều chỉnh hệ số biến đổi wavelet 86
4.2.1 Thuật toán giấu 1 bit 86
4.2.2 Thuật toán trích 1 bit trong đoạn 87
4.2.3 Thuật toán giấu tin 87
4.2.4 Thuật toán trích tin 88
4.2.5 Kết quả thực nghiệm và đánh giá 88
Tổng kết chương 4 91
KẾT LUẬN 91
DANH MỤC TÀI LIỆU THAM KHẢO 94
PHỤ LỤC 101
Trang 8vi
Danh mục các ký hiệu và chữ viết tắt
Trang 9vii
Danh mục các bảng
Bảng 1.1 Một số định dạng tệp âm thanh trên máy tính 19
Bảng 1.2 Bảng một số phần mềm giấu tin trong âm thanh 20
Bảng 2.1 Chu kỳ lặp lại của phép biến đổi tương ứng với kích thước N 25
Bảng 2.2 Các tiêu chí đánh giá theo thang ODG 28
Bảng 3.1 Giá trị SNR khi thực hiện giấu kết hợp mã Hamming 47
Bảng 3.2 Phát hiện thay đổi tin mật trên tệp mang tin 48
Bảng 3.3 Bảng giá trị SNR khi giấu tin theo phương pháp điều chỉnh nhóm bit 55 Bảng 3.4 Bảng giá trị SNR khi giấu tin vào trong các tệp theo kỹ thuật MCPT 63 Bảng 3.5 Bảng giá trị SNR khi giấu tin theo thuật toán điều chỉnh một bit 71
Bảng 3.6 Bảng giá trị SNR khi thêm tiếng vọng để giấu tin 76
Bảng 4.1 Giá trị các mẫu trước và sau khi giấu các bit 82
Bảng 4.2 Tỉ lệ bit sai khi tấn công thêm nhiễu 84
Bảng 4.3 Bảng giá trị SNR khi điều chỉnh biên độ để giấu tin 85
Bảng 4.4 Bảng giá trị SNR và NCC khi giấu tin 89
Bảng 4.5 Bảng giá trị NCC khi thêm nhiễu trắng 90
Bảng 4.6 Bảng giá trị NCC khi thêm nhiễu hạt tiêu và nhiễu đốm 90
Trang 10viii
Danh mục các hình vẽ, đồ thị
Hình 1.1 Sơ đồ của hệ giấu tin 8
Hình 1.2 Mối quan hệ giữa ba yếu tố chất lượng – dung lượng – bền vững 10
Hình 1.3 Phân loại giấu tin dựa vào mục đích ứng dụng 10
Hình 1.4 Hệ thống thính giác của con người [66] 13
Hình 1.5 Dải tần của âm thanh 14
Hình 1.6 Ngưỡng che của tín hiệu âm thanh 15
Hình 1.7 Che khuất âm thanh trên miền tần số [74] 15
Hình 1.8 Che khuất âm thanh trên miền thời gian [74] 15
Hình 1.9 Kỹ thuật làm giảm hao hụt tín hiệu trên đường truyền [80] 17
Hình 1.10 Chuyển âm thanh dạng tương sang dạng số 18
Hình 1.11 Lượng tử hoá và biểu diễn dạng số tín hiệu tương tự [80] 18
Hình 2.1 Phân giải tín hiệu thành 2 thành phần xấp xỉ và chi tiết 23
Hình 2.2 Tín hiệu gốc và tín hiệu đã loại bỏ thành phần D 24
Hình 2.3 Ảnh gốc và sau khi thực hiện chuyển đổi 25
Hình 2.4 Điều chỉnh bit thấp nhất của mẫu để giấu bit 1 29
Hình 2.5 Điều chỉnh mẫu để giấu bit 1 trong khối theo phương pháp chẵn lẻ 30
Hình 2.6 Sự dịch chuyển pha của tín hiệu 31
Hình 2.7 Tín hiệu gốc và tín hiệu sau khi dịch chuyển pha 𝜋/2 32
Hình 2.8 Hiện tượng không liên tục về pha 33
Hình 2.9 Các thành phần trong tiếng vọng của tín hiệu [32] 33
Hình 2.10 Xử lý (lọc) mỗi khối để giải tin trong kỹ thuật trải phổ 36
Hình 2.11 Biên độ và năng lượng của tín hiệu [32] 37
Hình 2.12 Sơ đồ điều chỉnh giá trị [32] 38
Hình 2.13 Điều chỉnh độ dốc để giấu thông tin [32] 39
Hình 2.14 So sánh giá trị trung bình của tín hiệu không có và có giấu tin 40
Hình 2.15 Giá trị trung bình của tín hiệu có và không có giấu tin theo MPA 41
Hình 3.1 Minh hoạ mã Hamming với 4 bit dữ liệu và 3 bit kiểm tra chẵn lẻ 44
Hình 3.2 Ma trận sinh và ma trận kiểm tra của mã Hamming (7, 4) 44
Trang 11ix
Hình 3.3 Dữ liệu âm thanh gốc và dữ liệu có chứa tin mật 48
Hình 3.4 Độ sai khác khi điều chỉnh bit thứ 3 của mẫu dữ liệu 50
Hình 3.5 Độ sai khác khi sử dụng kỹ thuật điều chỉnh các bit thấp hơn 51
Hình 3.6 Đoạn dữ liệu tệp âm thanh gốc (trên) và tệp có chứa tin mật (dưới) 55
Hình 3.7 Minh hoạ kỹ thuật padding 56
Hình 3.8 Vị trí các byte sau khi xáo trộn 57
Hình 3.9 Sơ đồ giấu tin 58
Hình 3.10 Ma trận F và A tương ứng từ các mẫu dữ liệu 60
Hình 3.11 Kết quả XOR 4 cột đầu tiên của từng hàng 60
Hình 3.12 Kết quả XOR 4 dòng đầu tiên của từng cột 60
Hình 3.13 Kết quả XOR của chuỗi C và chuỗi R 60
Hình 3.14 Kết quả giấu 4 bit 0110 trong khối F 61
Hình 3.15 Kết quả giấu 4 bit 0111 trong khối F 61
Hình 3.16 Kết quả giấu 4 bit 1100 trong khối F 61
Hình 3.17 Kết quả giấu 4 bit 1101 trong khối F 62
Hình 3.18 Ảnh gốc và ảnh sau khi chuyển đổi để giấu tin 62
Hình 3.19 Tín hiệu âm thanh trước (trên) và sau khi giấu tin (dưới) 62
Hình 3.20 Sử dụng ký tự bù cho chuỗi tin mật 64
Hình 3.21 Chuỗi tin gốc và chuỗi sau khi hoán vị 65
Hình 3.22 Khôi phục lại chuỗi gốc từ chuỗi hoán vị 65
Hình 3.23 Các giá trị của đoạn âm thanh gồm 256 mẫu 66
Hình 3.24 Giá trị của dãy Q tương ứng với các mẫu 67
Hình 3.25 Giá trị XOR_sum của dãy Q qua các bước tính 67
Hình 3.26 Giá trị mới của dãy S 68
Hình 3.27 Sơ đồ giấu tin dùng XOR_sum của khối 69
Hình 3.28 Sóng, phổ của âm thanh trước (trái) và sau khi giấu (phải) 70
Hình 3.29 Biên độ của âm thanh gốc và âm thanh được thêm echo 73
Hình 3.30 Cepstrum của âm thanh gốc và âm thanh được thêm tiếng vọng 73
Hình 3.31 Phổ biên độ một đoạn của âm thanh trước và sau khi giấu 76
Trang 12x
Hình 4.1 Biểu diễn số phức trong hệ toạ độ cực 79
Hình 4.2 Điều chỉnh giá trị để giấu 1 bit 80
Hình 4.3 Biên độ đoạn đầu tiên của tệp mang tin 83
Hình 4.4 Biên độ của tệp gốc và tệp mang tin 84
Hình 4.5 Ảnh kết quả thu được khi giải tin tương ứng với các tỉ lệ gây nhiễu 84
Hình 4.6 Âm thanh gốc và âm thanh chứa tin giấu 89
Hình 4.7 Ảnh được giấu và ảnh thu được khi chịu các tấn công thêm nhiễu 90
Trang 131
MỞ ĐẦU
Thông tin số thể hiện rõ những ưu điểm vượt trội, như dễ dàng lưu trữ, sao chép, chuyển tải, khôi phục và tăng cường chất lượng thông tin Cùng với đó là sự phát triển của các thiết bị số, cơ sở hạ tầng và mạng internet, làm cho chúng ta rất dễ dàng tìm kiếm, sao chép và trao đổi thông tin Bên cạnh những tiện ích mà thông tin
số và mạng internet mang lại cũng nảy sinh nhiều vấn đề mới, thách thức mới đòi hỏi chúng ta phải nghiên cứu và giải quyết Đó là trình trạng xâm nhập trái phép dữ liệu, lấy cắp, xuyên tạc thông tin, vi phạm và tranh chấp bản quyền các dữ liệu số [53] Những vấn nạn, thách thức đó không chỉ riêng cho quốc gia, cá nhân, công ty hay doanh nghiệp nào mà là của tất cả mọi người sống trong thời đại công nghệ số
Ở Việt Nam, nhiều văn bản pháp luật đã được Quốc hội ban hành nhằm đảm bảo chủ quyền số, làm chủ không gian mạng, góp phần bảo đảm quốc phòng, an ninh
đất nước Một số luật tiêu biểu như Luật an ninh quốc gia số 32/2004/QH11 được Quốc hội thông qua ngày 03/12/2004; Luật Giao dịch điện tử số 51/2005/QH11 được Quốc hội thông qua ngày 29/11/2005; Luật Công nghệ thông tin số 67/2006/QH11 được Quốc hội thông qua ngày 29/6/2006; Luật an toàn thông tin mạng đã được Quốc
hội thông qua ngày 19/11/2015 và có hiệu lực từ ngày 1/7/2016 Thủ tướng Chính
phủ cũng ban hành quyết định số 63/QĐ-TTg ngày 13/01/2010 về việc phê duyệt Quy
hoạch phát triển an toàn thông tin số quốc gia đến năm 2020 Ngoài hệ thống luật,
văn bản pháp qui chúng ta cần phải có những biện pháp kỹ thuật để bảo mật dữ liệu, đảm bảo an toàn thông tin
Bảo mật dữ liệu (data security) có nghĩa là bảo vệ dữ liệu trước các hành vi phá hoại hay các hành vi không mong muốn khác từ những người không được quyền Các giải pháp hay được dùng để bảo mật dữ liệu là mã hoá đĩa (disk encryption), sao lưu (backup), sử dụng các thiết bị đăng nhập hệ thống, bảo mật đường truyền, che giấu dữ liệu (data masking, gồm mật mã và giấu thông tin) Trong các giải pháp đó, giải pháp che giấu dữ liệu được sử dụng nhiều
Trong một thời gian dài, mã hóa dữ liệu được sử dụng như một giải pháp chính để quyết vấn đề bảo mật thông tin Mã hóa thực hiện chuyển đổi dữ liệu từ bản
Trang 14Giấu thông tin nhằm hai mục đích, một là bảo mật cho dữ liệu được đem giấu, hai là bảo mật cho chính đối tượng được dùng để chứa tin Hai khía cạnh khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủ yếu của giấu tin Khuynh hướng thứ nhất
là giấu tin mật (steganography), tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu được nhiều và quan trọng là người thám tin khó phát hiện được một đối tượng
có chứa tin giấu bên trong hay không Khuynh hướng thứ hai là thuỷ vân số (watermarking), nghiên cứu cách thức đánh dấu đối tượng chứa nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin Nhiều kiểu dữ liệu số có thể được chọn làm dữ liệu chứa cho bài toán giấu tin, như ảnh, video, âm thanh, văn bản, hay các gói tin được truyền trong mạng
Giấu tin là một chủ đề đã được nghiên cứu lâu dài nhưng luôn thời sự trên thế giới Nhiều cuốn sách về giấu tin, các kỹ thuật giấu tin trong nhiều kiểu dữ liệu khác nhau đã được công bố, tiêu biểu là cuốn sách về Các kỹ thuật giấu thông tin dùng cho giấu tin mật và thủy vân số [65] của các tác giả Stefan Katzenbeisser và Fabien A P Petitcolas công bố năm 2000; cuốn sách về Các kỹ thuật thủy vân âm thanh, các kỹ thuật thủy vân thông minh [32] của Hyoung Joong Kim và các cộng sự công bố năm 2004; cuốn sách về Các công nghệ và kỹ thuật thủy vân âm thanh số: Các ứng dụng
và các tiêu chuẩn [54] của tác giả Nedeljko Cvejic và Tapio Seppänen công bố năm 2008; cuốn sách về Bảo mật đa phương tiện: Các kỹ thuật giấu tin mật và thủy vân
số để bảo vệ sở hữu trí tuệ [19] của tác giả Chun-Shien Lu công bố năm 2005, cuốn
Trang 15tổ chức tới lần thứ 15 vào năm 2016 tại Trung Quốc Tạp chí dành riêng cho giấu tin
là “Transactions on Data Hiding and Multimedia Security” [87] đã phát triển liên tục
từ năm 2006 Mặc dù đã có lịch sử lâu nhưng giấu tin hiện nay vẫn nhận được sự quan tâm của cộng đồng nghiên cứu về giấu tin nói riêng và an toàn thông tin nói chung, thể hiện qua các chủ đề tại các hội nghị quốc tế hằng năm, số lượng các bài báo được trình bày tại các Hội nghị hằng năm và trên các Tạp chí khoa học So với giấu tin trong ảnh, số lượng bài báo công bố liên quan đến giấu tin trong âm thanh ít hơn, nguyên nhân là do dữ liệu ảnh xuất hiện thường xuyên (trong các ứng dụng, website) hơn so với âm thanh và do hệ thống thị giác con người ít nhạy hơn so với hệ thống thính giác, do đó dễ khai thác để giấu tin Đã có một số luận án thực hiện nghiên cứu về giấu tin, như của giáo sư MinWu [52], và chuyên về giấu tin trong âm thanh như của tác giả Nedeljko Cvejic [20]
Tương tự như giấu tin trong ảnh, giấu tin trong âm thanh có thể phân loại thành giấu trực tiếp trên các mẫu dữ liệu âm thanh hoặc trên miền biến đổi Trong [21, 22,
23, 69] trình bày các kỹ thuật sử dụng phương pháp điều chỉnh các bit ít quan trọng của mẫu dữ liệu biểu diễn âm thanh để giấu tin Trong [76] trình bày kỹ thuật giấu tin
sử dụng patchwork Trong [72] trình bày thuật toán giấu dựa vào phân tích đặc trưng của dữ liệu chứa Một số nghiên cứu dựa vào đặc trưng không phân biệt được sự thay đổi về pha của hệ thống thính giác con người để giấu tin, như trong các nghiên cứu [55, 71] Một số nghiên cứu giấu tin trong tệp âm thanh dựa vào kỹ thuật nén của định dạng của tệp, như [59] áp dụng để giấu cho định dạng nén mp3, trong [60] áp dụng để giấu cho định dạng PCM So với miền thời gian, các thuật toán giấu trên
Trang 164
miền tần số có độ bền vững cao hơn Các nghiên cứu được trình bày trong [27, 41,
49, 50, 51] thực hiện giấu tin trên miền tần số, sử dụng phép biến đổi Fourier Một miền biến đổi khác cũng được dụng để giấu tin là miền biến đổi wavelet, được trình bày trong các nghiên cứu [29, 75] Một số phương pháp giấu sử dụng kỹ thuật trải phổ tín hiệu trong ngành viễn thông để giấu tin như trong [26, 46, 45]
Về tình hình nghiên cứu trong nước, hiện đã có một số luận án tiến sĩ nghiên cứu về lĩnh vực giấu tin Luận án của tác giả Vũ Ba Đình [1] nghiên cứu về giấu tin trong ảnh, cụ thể là bản đồ số Luận án của tác giả Nguyễn Ngọc Hà [2], Nguyễn Văn Tảo [5] nghiên cứu về giấu tin trong ảnh và các ứng dụng của giấu tin Tác giả Nguyễn Hải Thanh đã phát triển các thuật toán giấu tin trong ảnh và ứng dụng trong mã đàn hồi [4] Tác giả Lưu Thị Bích Hường trong luận án của mình đã nghiên cứu và phát triển các kỹ thuật thủy vân trên cơ sở dữ liệu quan hệ [3] Một số tác giả khác cũng chọn đề tài nghiên cứu về lĩnh vực giấu tin trong ảnh làm đề tài luận án và đang trong giai đoạn hoàn thành Chủ đề giấu tin cũng đang được một số nhóm nghiên cứu tại các trường đại học quan tâm, như nhóm nghiên cứu tại Đại học Khoa học tự nhiên thành phố Hồ Chí Minh, nhóm nghiên cứu tại Đại học giao thông vận tải, nhóm nghiên cứu tại Đại học Hải Phòng Các luận án trong nước trước đây chủ yếu chọn ảnh làm dữ liệu chứa, chưa có luận án nghiên cứu về lĩnh vực giấu tin trong âm thanh Giấu tin trong âm thanh cũng đã được một số tác giả khác nghiên cứu, tuy nhiên số lượng các bài báo công bố bằng tiếng Việt trên các tạp chí khoa học và hội nghị, hội thảo quốc gia vẫn còn ít Mặc dù trên thế giới, các nghiên cứu về giấu tin trong dữ liệu đa phương tiện nói chung và dữ liệu âm thanh nói riêng là không mới, nhưng đối với chúng ta, việc nghiên cứu và nắm rõ các kỹ thuật giấu tin là cần thiết, giúp chúng
ta chủ động về mặt kỹ thuật và có những biện pháp để quản lý, theo dõi, phát hiện trao đổi tin
Hiện nay vẫn còn một số vấn đề về giấu tin trong âm thanh cần phải được nghiên cứu và giải quyết Thứ nhất là vấn đề về giấu tin sao cho ít làm thay đổi dữ liệu chứa nhất Vấn đề thứ hai là kiểm tra lại tin giấu bên trong có bị thay đổi, có thể
do chủ ý của người thám tin hay do nhiễu, hay không Vấn đề tiếp theo là nghiên cứu
Trang 17Trên cơ sở đó, luận án tập trung nghiên cứu theo hướng chọn dữ liệu chứa là
dữ liệu âm thanh và giấu tin nhằm mục đích bảo vệ tin mật
Cụ thể, luận án tập trung nghiên cứu các vấn đề sau:
1) Nghiên cứu các phương pháp hỗ trợ việc không nhận tin sai trong quá trình giải tin và các cách chọn các mẫu tín hiệu âm thanh không theo quy luật để giấu các bit tin, làm cho người thám tin khó phát hiện tin
2) Nghiên cứu và áp dụng các kỹ thuật điều chỉnh mẫu dữ liệu để giấu tin 3) Trình bày một số cải tiến cho bài toán giấu tin trong âm thanh
Với mục tiêu đặt ra như vậy, luận án đã đạt được một số kết quả, góp một phần nhỏ vào lĩnh vực nghiên cứu giấu tin Các kết quả chính của luận án như sau:
Đề xuất sử dụng mã hỗ trợ xác thực để tránh trường hợp nhận tin sai nếu tệp chứa tin giấu bị tấn công làm thay đổi nội dung tin giấu, cách chọn mẫu dữ liệu, vị trí bit trong mẫu dữ liệu cần điều chỉnh để thực hiện giấu tin, áp dụng các phương pháp giấu tin trên dữ liệu đa phương tiện vào trường hợp cụ thể là
âm thanh Trong kỹ thuật cũng đưa ra cách điều chỉnh các bit để sự sai khác giữa các mẫu trên tệp gốc và tệp chứa tin giấu là ít nhất Kết quả được đăng tải trong Tạp chí Khoa học Tự nhiên và Công nghệ, Tạp chí Khoa học ĐHQG Hà Nội năm 2009, 2013 và đăng tải trong kỷ yếu Hội nghị quốc tế IEEE SoCPaR
2013 và hội nghị quốc tế IEEE ATC 2014 tại Hà Nội
Đề xuất cải tiến kỹ thuật giấu tin sử dụng tiếng vọng của một tác giả trước đó Kết quả nghiên cứu được trình bày và đăng tải trong kỷ yếu Hội nghị quốc tế ICIEIS năm 2013 tại Malaysia
Đề xuất hai phương pháp điều chỉnh mẫu dữ liệu trên miền tần số để giấu tin Phương pháp thứ nhất lựa chọn và điều chỉnh các hệ số trên miền tần số của tín hiệu âm thanh, sử dụng phép biến đổi Fourier Phương pháp thứ hai điều
Trang 186
chỉnh giá trị trung bình của các đoạn dữ liệu, sử dụng phép biến đổi wavelet
Kết quả nghiên cứu được đăng trong kỉ yếu hội nghị tại Hội nghị quốc tế IEEE
DICTAP năm 2014 tại Thái Lan và đã được đăng trên Tạp chí Khoa học Công
nghệ, Đại học Đà Nẵng năm 2016
Bố cục của luận án bao gồm phần mở đầu, bốn chương nội dung, kết luận và
danh mục các tài liệu tham khảo Chương 1 của luận án trình bày về một số khái niệm
cơ bản trong giấu tin, tính chất và ứng dụng của giấu tin Trong chương này cũng
trình bày về cách biểu diễn, lưu trữ âm thanh số trên máy tính, đặc điểm và những
hạn chế của hệ thống thính giác của con người, là cơ sở có thể giấu tin vào trong âm
thanh Chương 2 của luận án trình bày các phương pháp giấu tin cơ sở dùng để giấu
tin trong âm thanh cùng một số nhận xét được tác giả tổng hợp từ các tài liệu tham
khảo Trong chương 2 cũng trình bày các kỹ thuật bổ trợ thường được dùng trong
giấu tin, một số độ đo dùng để đánh giá các kỹ thuật giấu tin Các kỹ thuật bổ trợ và
các độ đo được trình bày trong chương 2 được sử dụng trong các chương tiếp theo
của luận án Chương 3 trình bày về các phương pháp giấu tin trên miền thời gian Nội
dung chương này được tổng hợp từ năm bài báo Các phương pháp giấu tin trong
chương này được thực hiện bằng cách điều chỉnh một mẫu hoặc nhóm các mẫu biểu
diễn dữ liệu âm thanh Đây là các phương pháp thích hợp cho ứng dụng giấu tin mật
Chương 4 trình bày hai phương pháp giấu trên miền tần số, được tổng hợp từ hai bài
báo So với các phương pháp giấu tin ở chương 3, hai phương pháp ở chương 4 có tỉ
lệ dữ liệu thấp hơn nhưng có thể chịu được một số tấn công cơ bản Phương pháp thứ
nhất thực hiện trên miền tần số thực hiện phép biến đổi Fourier, cho phép giấu 8 bit
dữ liệu trong đoạn 512 mẫu Phương pháp thứ hai thực hiện giấu dữ liệu trên miền
tần số sử dụng phép biến đổi wavelet, dựa vào giá trị trung bình của đoạn Hai phương
này có thể được dùng để giấu tin mật, được dùng trong trường hợp dữ liệu mang tin
có thể phải chịu tấn công nhiễu Phần kết luận của luận án trình bày những kết quả
đạt được, những hạn chế của luận án và hướng phát triển tiếp theo
Trang 197
Chương 1 GIẤU THÔNG TIN VÀ GIẤU TIN
TRONG ÂM THANH
Chương này của luận án trình bày những nội dung chung về giấu thông tin và giấu tin trong âm thanh Bên cạnh trình bày các yêu cầu và ứng dụng của giấu tin, chương này cũng trình bày cách biểu diễn âm thanh số, các đặc trưng cơ bản của âm thanh số, tính chất của hệ thống thính giác của con người, là cơ sở để có thể thực hiện được giấu tin trong âm thanh
1.1 Giấu thông tin
1.1.1 Lịch sử giấu thông tin
Từ giấu thông tin (steganography) bắt nguồn từ Hi Lạp và được sử dụng cho tới ngày nay, có nghĩa là tài liệu được phủ (covered writing) [58] Một câu chuyện về thời Hy-Lạp cổ đại do Herodotus ghi lại kể về giấu thông tin Demeratus, một người Hy-Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hy-Lạp Để tránh bị phát hiện, Demeratus đã bóc lớp sáp ra khỏi các viên thuốc và khắc thông báo lên bề mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp mới Bằng cách này, những viên thuốc được để ngỏ và lọt qua mọi sự kiểm tra một cách dễ dàng
Người Romans cổ đã dùng mực không màu để viết các thông báo bí mật giữa những hàng văn tự thông thường Khi bị hơ nóng, những dòng chữ được viết từ loại mực này sẽ trở nên sẫm màu và có thể đọc được
Công nghệ thông tin đã tạo ra những môi trường giấu tin mới vô cùng tiện lợi
và phong phú Ta có thể giấu tin trong văn bản, ảnh, âm thanh, video, các tệp cơ sở
dữ liệu hoặc thậm chí trong các gói tin được truyền trên đường truyền mạng
Ý tưởng về che giấu thông tin đã có từ rất lâu nhưng kỹ thuật này được dùng chủ yếu trong quân đội và trong các cơ quan tình báo Ngày nay giấu tin không chỉ dùng cho mục đích an ninh, quân sự mà còn để phục vụ các mục đích tích cực như bảo vệ bản quyền các tài liệu số, kiểm soát sao chép
1.1.2 Các thành phần của hệ giấu tin
Một hệ giấu tin gồm có các thành phần chính sau đây:
Trang 208
+ Thông điệp mật (secret message): có thể là văn bản, hình ảnh, âm thanh Trong quá trình giấu tin, chúng được chuyển thành chuỗi các bit
+ Dữ liệu chủ hay môi trường sẽ chứa tin mật (host signal): dữ liệu có thể chọn làm
dữ liệu chủ là tệp ảnh, tệp âm thanh, tệp video hay tệp cơ sở dữ liệu, văn bản + Khoá K: là khóa tham gia vào quá trình giấu tin để tăng tính bảo mật
+ Dữ liệu mang tin hay môi trường đã chứa tin mật (stego signal)
Sơ đồ của một hệ giấu tin như sau :
Hình 1.1 Sơ đồ của hệ giấu tin
1.1.3 Các yêu cầu của hệ giấu tin
Có nhiều phương pháp giấu tin cho những kiểu dữ liệu khác nhau Để đánh giá chất lượng của một phương pháp giấu tin, người ta dựa vào một số tiêu chí sau:
1.1.3.1 Tính “vô hình”
Khi giấu tin vào trong các dữ liệu chủ sẽ làm thay đổi ít nhiều dữ liệu chủ Nếu phương pháp giấu tin tốt, sẽ làm cho thông tin mật trở nên “vô hình” trên dữ liệu mang tin và người ta “khó có thể” nhận ra trong dữ liệu mang tin có chứa tin mật hay không Đối với phương pháp giấu tin trong ảnh, tính vô hình thể hiện ở việc không nhìn thấy, không phân biệt được sự khác nhau giữa ảnh gốc và ảnh chứa tin giấu Đối với phương pháp giấu tin trong âm thanh, tính vô hình thể hiện ở chỗ không phân biệt được sự khác nhau khi nghe tệp âm thanh gốc và tệp âm thanh chứa tin
1.1.3.2 Khả năng chống giả mạo
Mục đích của “giấu tin” là để truyền đi thông tin mật Nếu không thể do thám tin mật, thì người thám tin cũng cố tìm cách làm sai lạc tin mật, làm giả mạo tin mật
Quá trình Giấu tin
Quá trình Giải tin
Dữ liệu chủ
Dữ liệu mang tin
Môi trường mạng
Thông điệp mật
Dữ liệu chủ
Thông điệp mật
Trang 219
để gây bất lợi cho đối phương Một phương pháp giấu tin tốt sẽ đảm bảo tin mật không bị tấn công một cách có chủ đích trên cơ sở những hiểu biết đầy đủ về thuật toán giấu tin (nhưng không biết khoá) và có tệp mang tin Đối với lĩnh vực thủy vân
số thì khả năng chống giả mạo là đặc tính vô cùng quan trọng, vì có như vậy mới bảo
vệ được bản quyền, chứng minh tính pháp lý của sản phẩm (người khác không thể hay rất khó có thể thay đổi thông tin bản quyền trên sản phẩm)
1.1.3.3 Tính bền vững
Sau khi tin được giấu vào đối tượng chứa, các tệp mang tin được truyền qua các kênh công cộng và có thể phải qua hay chịu các biến đổi khác nhau, chẳng hạn như phép lọc, thêm nhiễu, cắt bớt dữ liệu hay lấy mẫu lại Tính bền vững thể hiện ở
sự nguyên vẹn, không thay đổi (hay thay đổi không đáng kể) của thông tin được giấu sau những biến đổi như vậy
1.1.3.4 Dung lượng tin giấu
Dung lượng tin giấu được tính bằng tỷ lệ của lượng tin cần giấu so với kích thước đối tượng gốc Các phương pháp giấu tin mật đều cố gắng giấu được càng nhiều tin trong dữ liệu gốc càng tốt nhưng vẫn giữ được bí mật
1.1.3.5 Độ phức tạp tính toán
“Độ phức tạp” của thuật toán giấu và giải tin cũng là một chỉ tiêu quan trọng
để đánh giá một phương pháp giấu tin Chỉ tiêu này cho chúng ta biết “tài nguyên” (thời gian và bộ nhớ) tốn bao nhiêu dùng cho một phương pháp giấu tin Với người
có quyền trong hệ thống giấu tin thì thời gian thực hiện phải “nhanh”, nhưng với người thám tin thì việc giải tin phải là bài toán “khó”
Ba thuộc tính quan trọng mà một hệ giấu tin nào cũng mong muốn đạt cao nhất, đó là chất lượng, số lượng và tính bền vững Thuộc tính chất lượng yêu cầu sự sai khác giữa dữ liệu gốc và dữ liệu mang tin càng ít càng tốt Thuộc tính số lượng yêu cầu giấu càng nhiều tin càng tốt Thuộc tính bền vững yêu cầu khó thay đổi hay xóa tin giấu trong dữ liệu mang tin Tuy nhiên ba đặc tính này lại ảnh hưởng lẫn nhau, khi đề cao một đặc tính này thì sẽ ảnh hưởng đến các đặc tính còn lại Ví dụ, khi ta muốn giấu nhiều tin hơn vào trong một ảnh thì ta phải thay đổi nhiều điểm ảnh hơn
Trang 2210
để giấu tin, dẫn đến chất lượng của ảnh chứa tin sẽ giảm hơn so với ảnh gốc Các ứng dụng thủy vân quan tâm nhiều đến thuộc tính bền vững trong khi ứng dụng giấu tin mật quan tâm nhiều đến thuộc tính dung lượng Mối quan hệ giữa ba thuộc tính thể hiện như hình 1.2 Khi ta tăng dung lượng (số lượng bit) giấu thì ảnh hưởng đến chất lượng tệp mang tin, hay khi tăng tính bền vững của tin giấu thì phải giảm dung lượng giấu cũng như giảm chất lượng tệp mang tin
Hình 1.2 Mối quan hệ giữa ba yếu tố chất lượng – dung lượng – bền vững
1.1.4 Phân loại giấu tin
Giấu tin có thể phân loại theo đặc trưng, tính chất và ứng dụng Ta có thể phân loại các kỹ thuật giấu tin theo kiểu tài liệu dùng làm dữ liệu chứa (văn bản, ảnh, âm thanh, video ), theo miền xử lý (miền dữ liệu trực tiếp hay miền biến đổi), hay theo mục đích giấu tin
Hình 1.3 Phân loại giấu tin dựa vào mục đích ứng dụng
Chất lượng (quality)
Bền vững (robustness)
Dung lượng (capacity)
Infomation hiding
Giấu thông tin
Robust Copyright marking
Trang 2311
Nếu phân theo mục đích giấu tin thì ta có giấu tin mật và thủy vân số Giấu tin mật (steganography) là kỹ thuật nhúng “mẩu tin mật” vào “môi trường giấu tin” (môi trường phủ) Trong quá trình giấu tin ta có thể dùng khoá (stego-key) để tăng tính bảo mật Trong giấu tin mật, khoá không phải dùng để mã hóa mẩu tin mà thường được dùng để xác định vị trí “rải tin mật” vào môi trường giấu tin Mục đích của giấu tin mật là bảo vệ thông tin được giấu Thuỷ vân số là kỹ thuật nhúng “dấu ấn số” vào một “tài liệu số” nhằm chứng thực (đánh dấu, xác thực) nguồn gốc hay chủ sở hữu của “tài liệu số” này Như vậy mục đích của thuỷ vân số là bảo vệ môi trường giấu tin, bằng cách biến tin giấu thành một thuộc tính của vật mang tin [33]
Các kỹ thuật giấu tin được trình bày trong luận án được phân loại theo miền
xử lý, bao gồm miền dữ liệu của âm thanh (miền thời gian) và miền biến đổi
1.1.5 Tấn công hệ thống giấu tin
Tấn công một hệ giấu tin bao gồm các phương pháp để phát hiện, phá huỷ, trích rút hay sửa đổi tin giấu trong dữ liệu mang Việc nghiên cứu các biện pháp của những người thám tin sẽ hữu ích cho việc thiết kế một hệ giấu tin tốt
Việc tấn công được coi là thành công hay không tuỳ theo ứng dụng Đối với liên lạc bí mật, việc phát hiện và chứng minh được một đối tượng có chứa tin mật được coi là thành công Đối với bảo vệ bản quyền hay chống giả mạo, thì việc tấn công được coi là thành công nếu không chỉ phát hiện ra thuỷ vân mà còn có thể phá huỷ hay sửa đổi nó
Các thuật toán tấn công hệ giấu tin cũng tương tự như các thuật toán tấn công các hệ mã Nếu như người thám tin có tệp gốc thì sẽ thực hiện so sánh từng bit với tệp nghi ngờ chứa tin giấu để tìm thông tin mật Đó là lý do tại sao những tệp quá phổ biến (tệp âm thanh trong các CD hay các tệp ảnh trên Internet) thường không được
sử dụng làm đối tượng chứa Một số tấn công thường gặp là phân tích tệp chứa tin để tìm và/hoặc xóa tin, đối sánh với dữ liệu gốc để lấy hoặc thay thế tin mật, chuyển định dạng, nén, thêm nhiễu để làm mất tin …Sức mạnh của một thuật toán giấu tin phụ thuộc vào khả năng vượt qua các tấn công
Trang 241.1.6.2 Bảo vệ bản quyền (copyright protection)
Đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả sẽ được nhúng vào trong các sản phẩm Việc nhúng thuỷ vân cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm Yêu cầu kỹ thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân mà không được phép của người sở hữu thì chỉ có cách phá huỷ sản phẩm
1.1.6.3 Nhận thực hay phát hiện xuyên tạc thông tin (authentication and tamper detection)
Đối với ứng dụng này, một tập các thông tin sẽ được giấu trong dữ liệu chứa
và sau đó được sử dụng để nhận biết xem dữ liệu chứa đó có bị thay đổi hay không Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin nhiều và thuỷ vân không cần bền vững trước các phép xử lý trên đối tượng đã được giấu tin
1.1.6.4 Ghi dấu vân tay (fingerprinting)
Mục tiêu của ghi dấu vân tay là để chuyển thông tin về người nhận sản phẩm phương tiện số nhằm xác định đây là bản sao duy nhất của sản phẩm Về mặt ý nghĩa, ghi dấu vân tay tương tự như số xê ri của phần mềm Mỗi một sản phẩm sẽ mang một thuỷ vân riêng và được nhúng vào các bản copy khác nhau của thông tin gốc trước khi chuyển cho nhiều người Với những ứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thuỷ vân, tránh sự xoá dấu vết trong khi phân phối
Trang 2513
1.1.6.5 Gán nhãn (labeling)
Tiêu đề, chú giải và nhãn thời gian cũng như các minh hoạ khác có thể được nhúng vào trong đối tượng chứa Ví dụ ta có thể đính tên người lên ảnh hoặc đính tên vùng địa phương lên bản đồ Khi đó, nếu sao chép ảnh thì cũng sẽ sao chép cả các dữ liệu nhúng trong nó Và chỉ có chủ sở hữu của tác phẩm mới có thể tách ra và xem các chú giải này Gán nhãn cũng được sử dụng để nhúng các từ khoá vào trong các đối tượng chứa để các động cơ tìm kiếm có thể tìm nhanh đối tượng
1.1.6.6 Điều khiển sao chép (copy control)
Đối với các hệ thống phân phối dữ liệu đa phương tiện, một yêu cầu luôn đặt
ra là cần có kỹ thuật chống sao chép trái phép dữ liệu Có thể dùng thuỷ vân trong những trường hợp này để điều khiển sao chép đối với các thông tin [73] Các thiết bị phát hiện ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc ghi Thuỷ vân mang các giá trị chỉ trạng thái cho phép sao chép dữ liệu như “copy never” - không được phép sao chép hay “copy once” - chỉ được copy một lần Sau khi copy xong, bộ đọc, ghi thuỷ vân sẽ ghi thuỷ vân mới chỉ trạng thái mới lên DVD Các ứng dụng loại này cũng yêu cầu thuỷ vân phải được bảo đảm an toàn và sử dụng phương pháp phát hiện thuỷ vân đã giấu không cần thông tin gốc
1.2 Giấu tin trong âm thanh số
Ngay từ những ngày đầu phát triển, các thuật toán giấu tin hầu hết chỉ tập trung nghiên cứu nhiều lĩnh vực ảnh Khác với giấu tin trong ảnh là khai thác hệ thống thị giác của con người, giấu tin trên âm thanh tập trung khai thác khả năng cảm nhận của
hệ thính giác của con người (Human Auditory System)
Hình 1.4 Hệ thống thính giác của con người [66]
Trang 2614
Hình 1.4 mô tả cấu trúc hệ thống thính giác của con người Các tín hiệu âm thanh từ môi trường bên ngoài sẽ được thu nhận bởi tai ngoài, sau đó các tín hiệu này chuyển đến màng nhĩ và chuyển đến các tế bào thần kinh thông qua các cấu trúc bên trong của tai
Theo các nghiên cứu về sinh học, hệ thính giác người nhạy cảm hơn nhiều so với hệ thống thị giác và các tấn công trên âm thanh số cũng đa dạng hơn nên giấu tin trên âm thanh không phải là lĩnh vực dễ thực hiện [74] Giấu tin trong âm thanh dựa vào ngưỡng nghe của người và hiện tượng che khuất (masking) âm thanh để giấu tin
1.2.1 Ngưỡng nghe
Phạm vi nghe của tai người trong khoảng từ 20Hz đến 20 kHz nhưng nghe rõ nhất đối với âm thanh trong phạm vi từ 1kHz đến 4kHz Ngưỡng nghe của con người thay đổi theo độ tuổi và có sự khác nhau giữa nam và nữ Hình 1.5 thể hiện dải tần của âm thanh Những âm thanh trong khoảng từ 0 - 20Hz gọi là hạ âm, những âm thanh trên 20 KHz gọi là siêu âm Con người không nghe được hạ âm và siêu âm
Hình 1.5 Dải tần của âm thanh
1.2.2 Hiện tượng che khuất
Mặc dù tai người có thể nghe ở dải tần rộng nhưng những gì tai người có thể nghe phụ thuộc vào môi trường nơi đang nghe Nếu như ở trong môi trường nhiễu mạnh (ví dụ nhiễu trắng), nhiều âm thanh nhỏ sẽ bị che khuất (masked), vì thế ta không thể nghe được chúng
Hiện tượng che khuất tín hiệu âm thanh (auditory masking) xảy ra khi một âm thanh này ảnh hưởng đến sự cảm nhận một âm thanh khác Âm thanh bị che gọi là maskee, âm thanh che là masker Khoảng cường độ khác nhau giữa maskee và masker gọi là mức độ che
20 kHz 20Hz
Hạ âm Âm thanh Siêu âm
Trang 2715
Hình 1.6 Ngưỡng che của tín hiệu âm thanh
Ví dụ ban đầu ta có thể nghe âm thanh ở mức 10 dB Khi có sự xuất hiện đồng thời một âm thanh khác thì ta không thể nghe được âm thanh ban đầu trừ khi ta điều chỉnh âm thanh ban đầu lên 26 dB Như vậy khoảng bị che (masked threshold) của
âm thanh ban đầu so với âm thanh che là 16 dB Hình 1.6 minh hoạ cho ngưỡng che của tín hiệu âm thanh
Hình 1.7 Che khuất âm thanh trên miền tần số [74]
Hiện tượng che khuất âm thanh xảy ra trên cả miền tần số và miền thời gian Hình 1.7 minh họa cho che khuất âm thanh trong miền tần số (simultaneous masking)
và hình 1.8 minh họa cho che khuất âm thanh trong miền thời gian (temporal masking)
Hình 1.8 Che khuất âm thanh trên miền thời gian [74]
Trang 2816
1.2.3 Âm thanh và các đặc tính của âm thanh
Âm thanh là các dao động cơ học của các phân tử, nguyên tử hay các hạt làm nên vật chất và lan truyền trong vật chất như các sóng Âm thanh, giống như nhiều sóng, được đặc trưng bởi tần số, bước sóng, chu kỳ, biên độ và vận tốc lan truyền Ba đặc trưng sinh lý của âm thanh là âm lượng, độ cao, âm sắc Âm lượng đại diện cho
độ lớn (loudness) của tín hiệu âm thanh, tương quan với biên độ của tín hiệu, cũng được xem là năng lượng hoặc cường độ của tín hiệu âm thanh Độ cao đại diện cho
tỷ lệ rung của tín hiệu âm thanh, có thể biểu diễn bởi tần số cơ bản hoặc tương đương
Âm sắc đại diện cho nội dung ngữ nghĩa của tín hiệu âm thanh, giúp ta phân biệt âm
do các nguồn khác nhau phát ra
Đơn vị để đo âm thanh là decibel (dB) Decibel được dùng để so sánh độ mạnh của 2 âm thanh Giá trị của này thể hiện tỉ lệ (ratio) chứ không phải là một giá trị cụ thể
𝑑𝐵 = 20𝑙𝑜𝑔10(𝑃1
Trong đó PRL là cường độ (strength) của tín hiệu cần so sánh và P1 là cường
độ của tín hiệu được so sánh
Ví dụ: P1=3.1*PRL thì:
dB =20*log10(3.1PRL/PRL)
=20*log10(3.1) =20*0.49993 =9.827 ~ 10
Các đặc tính của âm thanh:
- Âm thanh có thể dùng máy biến năng chuyển âm thanh từ dạng này sang dạng năng lượng khác để lưu trữ
- Cường độ bức xạ của âm thanh giảm dần tỉ lệ với bình phương khoảng cách với nguồn
Khi làm việc trong môi trường âm thanh, ngoài thông tin số thể hiện âm thanh chúng ta còn phải chú ý đến phương tiện truyền dẫn tín hiệu âm thanh đó Phương tiện truyền dẫn một tín hiệu âm thanh là môi trường mà trong đó tín hiệu phải đi qua
để đến được đích Có thể chia môi trường truyền dẫn ra thành 4 nhóm như sau:
Trang 2917
- Môi trường số end – to – end: trong đó các tệp âm thanh được copy trực tiếp
từ máy này sang máy khác
- Môi trường lấy mẫu lại theo tỉ lệ khác: trong đó tín hiệu được lấy mẫu lại theo tỉ lệ lấy mẫu cao hoặc thấp hơn
- Môi trường truyền dẫn analog và lấy mẫu lại : trong đó tín hiệu được chuyển sang analog sau đó lấy mẫu lại
- Môi trường "over the air": tín hiệu được truyền qua không khí và được lấy mẫu lại bằng micro
Tùy vào môi trường truyền tín hiệu âm thanh mà có các kỹ thuật thích hợp để nhúng dữ liệu vào tệp âm thanh này
Chất lượng tín hiệu có thể giảm sút khi truyền trên đường truyền Ở dạng tương
tự hay dạng số, chúng ta đều có những cách để làm giảm sự hao hụt tín hiệu trên đường truyền Hình 1.9 minh hoạ cho các kỹ thuật làm giảm sự hao hụt tín hiệu trong trường hợp tín hiệu tương tự và tín hiệu số
Hình 1.9 Kỹ thuật làm giảm hao hụt tín hiệu trên đường truyền [80]
1.2.4 Biểu diễn âm thanh số
Để lưu trữ và xử lý âm thanh bằng máy tính, các tín hiệu âm thanh cần phải được chuyển từ dạng tương tự sang dạng số Thông tin số đại diện của một tệp âm thanh bao gồm các mẫu tín hiệu được lấy theo phương pháp lượng tử hóa và lấy mẫu theo thời gian [74] Âm thanh thường được lượng tử hóa với độ sâu số (bit depth) 8,
16 hoặc 24 bit Đối với âm thanh chất lượng cao, mức lượng tử thường được sử dụng
là 16 bit Tỷ lệ lấy mẫu theo thời gian quyết định biên vùng tần số Tỉ lệ lấy mẫu thông thường nằm trong khoảng 8 kHz đến 44.1 kHz
Trang 3018
Hình 1.10 Chuyển âm thanh dạng tương sang dạng số
Hình 1.11 thể hiện chi tiết quá trình lấy mẫu, lượng tử hoá khi chuyển tín hiệu
ở dạng tương tự sang dạng số Lỗi lượng tử (quantization error) có thể giảm xuống bằng cách tăng tỉ lệ lấy mẫu (sampling rate) và dùng nhiều bit hơn để biểu diễn giá trị một mẫu (quantization level)
Hình 1.11 Lượng tử hoá và biểu diễn dạng số tín hiệu tương tự [80]
Trang 3119
Một mẫu dữ liệu âm thanh có thể biểu diễn bằng 8 bit, 16 bit hay 24 bit và tệp
âm thanh có thể gồm 1 kênh (mono) hay 2 kênh (stereo) Số byte dùng để lưu 1 giây
âm thanh được xác định theo công thức (1.2):
Số byte ≈ (tần số lấy mẫu ∗ số kênh ∗ số bit biểu diễn 1 mẫu)/8 (1.2)
Ví dụ với âm thanh stereo, dùng 16 bit để lưu 1 mẫu, tần số lấy mẫu 44 kHz, mã hoá PCM, thì số byte cần dùng để lưu 3 phút sẽ là:
≈ 3min*60sec/min*44000samples/sec*16bits/sample*2(channel)/8bits/byte
≈ 31.68 Mb
1.2.5 Các định dạng âm thanh phổ biến
Do các thuật toán giấu tin phụ thuộc vào định dạng của tệp âm thanh, nên để giấu tin vào tệp âm thanh, ta cần hiểu rõ định dạng tệp âm thanh Có thể phân các định dạng thành âm thanh thành ba nhóm, đó là nhóm định dạng không nén, nhóm định dạng nén không mất mát thông tin và nhóm định dạng nén mất mát thông tin Bảng 1.1 trình bày một số định dạng âm thanh thường gặp trên các hệ thống máy tính [86]
Bảng 1.1 Một số định dạng tệp âm thanh trên máy tính
AIFF (Mac) aif, aiff *PCM
AU (Sun/Next) au *u-law
CD audio (CDDA) N/A PCM
MP3 mp3 MPEG Audio Layer-III
Windows Media Audio wma Proprietary (Microsoft)
QuickTime qt Proprietary (Apple Computer)
RealAudio ra, ram Proprietary (Real Networks)
WAV wav *PCM
• WAV (.wav) : là kiểu định dạng đại diện cho âm thanh kỹ thuật số trong
Windows PCs
• AIFF (aif) và AU (.au) : AIFF là kiểu định dạng âm thanh đại diện cho
Macintosh, AU là kiểu định dạng đại diện cho hệ thống Sun
Trang 3220
• RealAudio (.ra) : là hệ thống được sử dụng đầu tiên đại diện cho luồng âm
thanh và hình ảnh trên Internet
• MIDI (.mid) : được ghi tắt của Music Instrument Digital Interface, là chuẩn
đại diện cho thông tin âm nhạc chuyển giao giữa phương tiện điện tử và máy tính
• QuickTime (.qt) : được sử dụng để định dạng đa phương tiện từ máy tính
Apple, hỗ trợ cả luồng âm thanh và luồng hình ảnh
1.2.6 Một số chương trình giấu tin trên âm thanh
Đã có nhiều phần mềm giấu tin trong âm thanh được phát triển và ứng dụng trong thực tế Bảng 1.2 thể hiện một số chương trình giấu hiện tại trong khảo sát của Pedram Hayati và các cộng sự [81] Ngoài giấu tin trên âm thanh, một số phần mềm
có thể giấu trên nhiều loại dữ liệu và chạy trên nhiều hệ điều hành khác nhau Ví dụ như OpenPuff có thể giấu trên ảnh, video, âm thanh và tệp pdf
Bảng 1.2 Bảng một số phần mềm giấu tin trong âm thanh
Tên phần mềm giấu tin Định dạng hỗ trợ Dạng bản quyền
Info Stego mp3 Shareware
ScramDisk wav Shareware
MP3Stego mp3 Mã nguồn mở
StegoWav wav Mã nguồn mở
Hide4PGP mp3, voc Mã nguồn mở
Steghide wav, au Mã nguồn mở
S-Tool wav Mã nguồn mở
Invisible Secrets wav Thương mại
Steganos wav, voc Thương mại
Tổng kết chương 1
Trong chương 1 trình bày các khái niệm liên quan đến giấu tin, phân loại giấu tin và các ứng dụng của giấu tin Trong chương này cũng trình bày về hiện tượng che khuất của tín hiệu, cách lấy mẫu và biểu diễn âm thanh trên máy tính, các định dạng tệp âm thanh phổ biến và một số phần mềm giấu tin trên âm thanh đã triển khai trong thực tế
Trang 3321
Trang 34từ miền thời gian sang miền tần số cùng một số độ đo (chỉ số) thường được dùng để đánh giá chất lượng các kỹ thuật giấu
2.1 Các kỹ thuật bổ trợ cho giấu tin
Để giấu tin hiệu quả, thông thường ta cần dùng các kỹ thuật bổ trợ Các kỹ thuật này bao gồm chuyển dữ liệu âm thanh từ miền thời gian sang miền tần số, kỹ thuật sinh các chuỗi số ngẫu nhiên và các kỹ thuật thay đổi thứ tự giấu các bit trong chuỗi bit mật
2.1.1 Các phép biến đổi từ miền thời gian sang miền tần số
Ngoài phương pháp xử lý trực tiếp giá trị các mẫu âm thanh trên miền thời gian, chúng ta có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang các miền khác với các biến số mới Phương pháp khảo sát gián tiếp này sẽ làm đơn giản rất nhiều các công việc mà chúng ta gặp phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập Có nhiều cách biến đổi, trong đó cách biến đổi hay được
sử dụng là biến đổi Fourier, biến đổi wavelet…
2.1.1.1 Phép biến đổi Fourier rời rạc
Phép biến đổi Fourier rời rạc (DFT) còn được gọi là biến đổi Fourier hữu hạn Đầu vào của biến đổi này là một chuỗi hữu hạn các số thực hoặc số phức Phép biến đổi DFT phân tích một dãy các số thành các thành phần ở các tần số khác nhau, là một công cụ lý tưởng để xử lý thông tin trên các máy tính Một biến đổi Fourier nhanh (FFT) là một thuật toán hiệu quả để tính DFT với độ phức tạp là O(nlogn) thay vì tính trực tiếp là O(n2) [15]
Trang 3523
2.1.1.2 Phép biến đổi wavelet (DWT)
Phép biến đổi Fourier là một công cụ quan trọng trong xử lý tín hiệu số Tuy nhiên, phép biến đổi này chỉ cung cấp thông tin có tính toàn cục và chỉ thích hợp cho những tín hiệu tuần hoàn, không chứa các đột biến hoặc các thay đổi không dự báo được Phép biến đổi wavelet khắc phục hạn chế này của biến đổi Fourier Biến đổi wavelet được tính dựa vào phân tích đa phân giải [6] Ý tưởng của phân tích đa phân giải là sử dụng các kỹ thuật lọc số trong quá trình phân tích Mỗi một tín hiệu được phân tích thành hai thành phần: thành phần xấp xỉ A (Approximation) tương ứng với thành phần tần số thấp và thành phần chi tiết D (Detail) tương ứng với thành phần tần
số cao, thông qua hai bộ lọc thông thấp và thông cao, trong đó, bộ lọc thông cao sử dụng hàm wavelet và bộ lọc thông thấp sử dụng hàm tỉ lệ
Hình 2.1 Phân giải tín hiệu thành 2 thành phần xấp xỉ và chi tiết
Hình 2.1 minh họa cho việc phân tích tín hiệu âm thanh thành hai thành phần xấp xỉ và chi tiết Chuỗi tín hiệu gốc là dữ liệu của một tệp âm thanh gồm
1422720 mẫu sẽ được phân tích thành hai dãy A và D có độ dài gồm 711363 mẫu
Trong hai thành phần A và D, thành phần D không quan trọng Những thay đổi trên thành phần này ít ảnh hưởng đến tín hiệu khi ta khôi phục lại Ví dụ nếu thay đổi thành phần D=0 (loại bỏ thành phần D), thực hiện biến đổi ngược lại, ta sẽ có dãy tín hiệu như hình 2.2
Trang 3624
Hình 2.2 Tín hiệu gốc và tín hiệu đã loại bỏ thành phần D
2.1.2 Xáo trộn dữ liệu mật
Giả sử có chuỗi M gồm n phần tử, là thông điệp mật cần giấu vào trong tệp
âm thanh Thay vì giấu tuần tự từng phần tử từ M1 đến Mn, ta thực hiện xáo trộn chuỗi
M rồi mới đem giấu vào tệp âm thanh Mục đích của việc này là để gây khó khăn cho người thám tin khi thực hiện tấn công rút trích tin Nếu người thám tin biết thuật toán giấu thì rất có thể dò ra được chuỗi tin giấu Xáo trộn dữ liệu đòi hỏi người thám tin phải sắp xếp lại chuỗi tin nhận được theo trật tự đúng mới biết được tin, nếu không, chuỗi tin nhận được cũng không có ý nghĩa Dưới đây là hai thuật toán dùng để xáo trộn dữ liệu được sử dụng trong các chương sau của luận án
2.1.2.1 Xáo trộn dữ liệu theo chuỗi hoán vị
Nếu chuỗi tin mật cần giấu có độ dài n (đánh số từ 1 đến n) thì sẽ có n! hoán
vị của nó Ta có thể hoán vị chuỗi mật này trước khi giấu Có nhiều kỹ thuật tạo hoán
vị của tập {1,2, , n} [62] Một trong các cách hiệu quả là dùng phương pháp sinh theo kiểu thứ tự từ điển
Ví dụ ta có chuỗi cần giấu là “axnd” Ta gán cho các ký tự chuỗi giá trị theo đúng thứ tự xuất hiện của chúng là {1, 2, 3, 4}
Chuỗi này sẽ có 24 hoán vị là {1, 2, 3, 4}, {1, 2, 4, 3},{1, 3, 2, 4},{1, 3, 4, 2},{1, 4, 2, 3},{1, 4, 3, 2},{2, 1, 3, 4},{2, 1, 4, 3},{2, 3, 1, 4},{2, 3, 4, 1},{2, 4, 1, 3},{ 2, 4, 3, 1},{3, 1, 2, 4},{3, 1, 4, 2},{3, 2, 1, 4},{3, 2, 4, 1},{3, 4, 1, 2},{3, 4, 2, 1},{4, 1, 2, 3},{4, 1, 3, 2, 4},{4, 2, 1, 3},{4, 2, 3, 1},{4, 3, 1, 2},{4, 3, 2, 1}
Trang 3725
Khi chọn k là 1 giá trị nào đó trong n! giá trị thì ta sẽ chọn hoán vị thứ k của chuỗi ban đầu và đem chuỗi đó đi giấu thay vì chuỗi nguyên gốc (k=1) Trong trường hợp giá trị k lớn hơn n! thì k sẽ được gán bằng (k mod n!) + 1
Ví dụ k= 20 thì chuỗi giấu là: “danx” tương ứng với hoán vị {4, 1, 3, 2} Khi n lớn thì việc sinh chuỗi hoán vị thứ k (lớn) có thể tốn thời gian Có nhiều cách để sinh ra hoán các hoán vị này Một thuật toán hiệu quả để sinh ra hoán vị thứ
k của tập n phần tử được trình bày trong [30]
2.1.2.2 Xáo trộn dữ liệu bằng phép biến đổi Arnold
Biến đổi Arnold là kỹ thuật biến đổi dùng để xáo trộn các điểm ảnh [14] Gọi I(x, y) là điểm ảnh ban đầu ở toạ độ (x, y) Sau khi thực hiện phép chuyển đổi, điểm ảnh sẽ được chuyển đến toạ độ mới là (x’, y’) Công thức xác định (x’, y’) như sau:
Nếu thực hiện một số lần biến đổi, ảnh biến đổi sẽ trở lại ảnh ban đầu Chu kỳ của phép biến đổi tương ứng với kích thước khối ảnh N được thể hiện trong bảng 2.1
Hình 2.3 Ảnh gốc và sau khi thực hiện chuyển đổi
Hình 2.3 là minh hoạ cho ảnh gốc là logo Đại học Công nghệ, Đại học Quốc gia Hà Nội, kích thước 80*80 và hình ảnh xáo trộn ở các bước 1, 2, 6, 12 (dòng trên,
Trang 382.1.3 Sinh chuỗi giả ngẫu nhiên
Các phương pháp giấu tin trong audio thường dùng kết hợp với các chuỗi ngẫu nhiên để thực hiện giấu tin Chuỗi ngẫu nhiên này có thể dùng để xác định ví trí mẫu được chọn để giấu hoặc vị trí bit giấu Các số ngẫu nhiên có thể được sinh trực tiếp bằng các bộ sinh trong máy tính (C++, PHP và Matlab sử dụng bộ sinh Mersenne Twister) hoặc do người lập trình tự cài đặt Trong [25] trình bày một số thuật toán về cách sinh số ngẫu nhiên
2.1.3.1 Bộ sinh đồng dư (congruential generator)
Công thức cho bộ sinh số đồng dư có dạng:
Trong đó a và b là hai số nguyên cho trước, trị x0 ban đầu được gọi là “hạt giống” (seed) và số nguyên M là số xấp xỉ (hoặc bằng) với số nguyên lớn nhất trên máy tính Bộ sinh đồng dư cải tiến sử dụng công thức như sau :
Trang 3927
2.2 Đánh giá các phương pháp giấu tin trong âm thanh
Để đánh giá hiệu năng của các kỹ thuật giấu tin trong âm thanh, chúng ta thường dựa vào tỉ lệ có thể cảm nhận và tỉ lệ có thể phát hiện
dB hàm ý rằng chất lượng âm thanh được đảm bảo
Độ đo SNR được tính như sau:
𝑆𝑅𝑁 = 10 log10 ∑𝑁𝑖=0𝑥(𝑖)2
∑ 𝑁 [𝑥(𝑖)−𝑦(𝑖)] 2 𝑖=0
Trong công thức trên, x (n) thể hiện âm thanh gốc và y(n) thể hiện âm thanh chứa tin giấu
2.2.1.2 Độ đo NCC (Normalized Cross Correlation)
NCC dùng để đo độ tương quan giữa hai chuỗi số, có thể dùng để đo độ tương quan giữa âm thanh gốc và âm thanh có chứa tin, hoặc chuỗi bit được giấu và chuỗi bit nhận được
Công thức để tính NCC như sau:
2.2.2 Đánh giá bằng các phần mềm phát hiện tin
Có thể dùng các phần mềm phát hiện tin để đánh giá các kỹ thuật giấu tin Rất nhiều phần mềm phát hiện tin giấu trong ảnh đã được phát triển nhưng số phần mềm
Trang 4028
phát hiện tin giấu trong audio thì chưa nhiều Ba phần mềm tiêu biểu phát hiện tin trong âm thanh là HITIT, Stego-Suite và Stegsecret HITIT được phát triển bởi Yavanoglu U và các cộng sự, thực hiện phát hiện tin giấu trong tệp wav Stego-Suite
là sản phẩm thương mại của công ty Allien và Stegsecret là sản phẩm mã nguồn mở được phát triển bởi Alfonso Muñoz Nếu như kỹ thuật giấu của chúng ta không vượt qua được một phần mềm phát hiện tin giấu thì không thể nói kỹ thuật giấu là an toàn
2.2.3 Đánh giá bằng bảng đánh giá ODG (Object Difference Grade)
Bảng đánh giá ODG được đề xuất bởi hiệp hội viễn thông quốc tế ITU (International Telecommunication Union) [47] Đây là kỹ thuật chủ quan, dựa vào cảm nhận của con người Bảng ODG gồm có 5 tiêu chí tương ứng với 5 mức điểm khác nhau Chi tiết các tiêu chí trong bảng 2.2
Bảng 2.2 Các tiêu chí đánh giá theo thang ODG
Mô tả sự thay đổi trên dữ liệu gốc ODG
Không cảm nhận được 0.0
Cảm nhận được, nhưng không gây khó chịu −1.0
Hơi gây khó chịu −2.0
Gây khó chịu −3.0
Rất khó chịu −4.0
2.3 Phương pháp giấu tin trong âm thanh
Các phương pháp giấu tin trong âm thanh có thể thực hiện trên miền thời gian hoặc miền tần số, hoặc kết hợp trên cả hai miền Một số phương pháp có thể cần sử dụng tín hiệu gốc trong quá trình rút trích thông tin Mục này sẽ trình bày một số phương pháp giấu tin cơ bản và các nghiên cứu liên quan đến phương pháp giấu đó
2.3.1 Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding)
Đây là một trong những kỹ thuật được nghiên cứu và ứng dụng sớm nhất trong lĩnh vực giấu tin trên âm thanh cũng như trên các định dạng dữ liệu khác Ý tưởng chính của kỹ thuật này là thay thế các bit ít quan trọng của mẫu dữ liệu gốc bằng các bit của tin giấu Các bit được gọi là bit ít quan trọng khi ta thay đổi giá trị của bit đó