Mục tiêu của luận án Trong luận án này chúng tôi đặt ra mục tiêu chính sau đây: Nghiên cứu và đề xuất một số thuật toán giấu tin trong audio thực hiện giấu trên miền thời gian, có thể
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HUỲNH BÁ DIỆU
BẢO MẬT DỮ LIỆU BẰNG KỸ THUẬT
GIẤU TIN TRONG AUDIO
Chuyên ngành: Hệ thống thông tin
Mã số: 62 48 01 04
TÓM TẮT LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN
Hà Nội - 2015
Trang 2Công trình được hoàn thành tại: Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Người hướng dẫn khoa học: PGS TSKH Nguyễn Xuân Huy
Phản biện
Phản biện
Phản biện
Luận án sẽ được bảo vệ trước Hội đồng cấp Đại học Quốc gia chấm luận án tiến sĩ họp tại vào hồi giờ ngày tháng năm 2015
Có thể tìm hiểu luận án tại:
- Thư viện Quốc gia Việt Nam
- Trung tâm Thông tin - Thư viện, Đại học Quốc gia Hà Nội
Trang 31
MỞ ĐẦU
1 Tính cấp thiết của luận án
Sự phát triển mạnh mẽ của công nghệ số và nhu cầu trao đổi thông tin thông qua các hệ thống được kết nối mạng dẫn đến đòi hỏi chúng ta cần phải
có các giải pháp để bảo vệ thông tin, chống các xâm nhập trái phép, lấy cắp, xuyên tạc thông tin hay bảo vệ bản quyền cho các dữ liệu số Việc thiết lập các cơ chế phân quyền truy cập, mã hoá thông tin giúp bảo vệ thông tin tốt hơn nhưng chúng không thể đảm bảo an toàn tuyệt đối, do đó đòi hỏi chúng ta cần phải tìm các giải pháp khác nhằm nâng cao tính đa dạng của các loại hình bảo vệ Chúng ta có một cách khác để bảo vệ thông tin đó là thực hiện các giao dịch ngầm bên trong các giao dịch công khai, hay còn gọi giấu tin
2 Mục tiêu của luận án
Trong luận án này chúng tôi đặt ra mục tiêu chính sau đây:
Nghiên cứu và đề xuất một số thuật toán giấu tin trong audio thực hiện giấu trên miền thời gian, có thể áp dụng để giấu tin mật
Nghiên cứu và đề xuất một số thuật toán giấu tin trong audio thưc hiện giấu trên miền tần số, có thể bền vững trước một số tấn công cơ bản
3 Đóng góp của luận án
Đề xuất sử dụng mã hỗ trợ xác thực trong quá trình giấu tin Mục đích của việc mã hoá là tránh trường hợp nhận tin sai nếu file chứa tin giấu bị tấn công làm thay đổi nội dung tin giấu 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 Đại học quốc gia Hà Nội năm 2009
Đề xuất cách chọn mẫu dữ liệu và bit điều chỉnh để giấu tin dựa vào chuỗi ngẫu nhiên được sinh ra từ khoá bí mật Trong kỹ thuật này cũng đề xuất cách điều chỉnh các bit để sự sai khác giữa các mẫu trên file gốc và file chứa tin giấu là ít nhất Kết quả được đăng tài trong Tạp chí
Trang 4 Đề 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 cải tiến kỹ thuật giấu tin bằng cách điều chỉnh các hệ số trên miền tần số của tín hiệu âm thanh Kết quả nghiên cứu được trình bày tại Hội nghị Quốc tế IEEE DICTAP năm 2014 tại Thái Lan
Đề xuất kỹ thuật giấu tin mật trong audio bằng cách điều chỉnh các hệ số của thành phần chi tiết (detail) của phép biến đổi wavelet Kết quả được đã được trình bày tại hội nghị FAIR 2015 tại Hà Nội
Nội dung của luận án được xây dựng dựa trên các bài báo đã công bố
Trang 5Đã có nhiều giải pháp khác nhau nhằm bảo mật dữ liệu, được thiết kế cho các thành phần riêng lẻ hoặc kết hợp giữa các thành phần của hệ thống thông tin Các giải pháp đó 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 dùng mật mã và giấu thông tin được ứng dụng rộng rãi nhất
1.2 Mã hoá dữ liệu
Hình 1.1 Sơ đồ trao đổi thông tin có dùng mã hoá.
Mã hóa hoặc mật mã hóa dữ liệu là cơ chế chuyển đổi dữ liệu từ bản rõ sang một định dạng khác không thể đọc được gọi là bản mã để có thể ngăn cản những truy cập bất hợp pháp khi dữ liệu trao đổi thông tin Có hai loại mã hóa chính là mã hóa khóa đối xứng và mã hóa khoá công khai
1.2.1 Mã hóa khóa đối xứng
1.2.2 Mã hóa khoá công khai
1.3 Giấu thông tin
Giấu thông tin là một kỹ thuật nhúng (giấu) một lượng thông tin số nào
đó vào trong một đối tượng dữ liệu số khác Giấ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 để giấu tin
Trang 64
1.3.1 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:
+ Thông điệp mật (secret message)
+ Dữ liệu chứa hay môi trường sẽ chứa tin mật (host signal)
+ Khoá viết mật K, tham gia vào quá trình giấu tin để tăng tính bảo mật + Dữ liệu chứa tin mật 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.5 Sơ đồ của hệ giấu tin số
1.3.2 Phân loại giấu tin
Các kỹ thuật giấu thông tin được phân biệt nhau bởi những đặc trưng, tính chất và ứng dụng Ví dụ ta có thể phân loại các kỹ thuật giấu tin theo miền xử lý, kiểu tài liệu và theo khả năng tri giác của con người
1.3.4 Tấn công hệ thống giấu tin
Tấn công một hệ giấu tin là các phương pháp để phát hiện, phá huỷ, trích rút hay sửa đổi tin mật Sau đây là một số dạng tấn công
1.3.4.1 Phân tích file chứa tin
Quá trình Giấu tin
Quá trình Giải tin
Host Signal Stego Signal
Network
Secret message
Host Signal
Secret message
Trang 75
1.3.4.2 Đối sánh với dữ liệu gốc
1.3.4.3 Định dạng lại
1.3.4.4 Tấn công theo kiểu nén
1.3.5 Các ứng dụng của giấu tin
1.3.5.1 Liên lạc bí mật
1.3.5.2 Bảo vệ bản quyền (copyright protection)
1.3.5.3 Nhận thực hay phát hiện xuyên tạc thông tin (authentication and tamper detection)
1.3.5.4 Giấu vân tay hay dán nhãn (fingerprinting and labeling)
1.3.5.5 Điều khiển sao chép (copy control)
1.4 Giấu tin trong audio
Giấu tin trên audio tập trung khai thác khả năng cảm nhận của hệ thính giác người (Human Auditory System)
Hình 1.9 Hệ thống thính giác của con người
1.4.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
1.4.2 Hiện tượng masking
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 của âm thanh khác Âm thanh
bị che gọi là maskee, âm thanh che là masker Hiện tượng masking xảy ra trên
cả miền thời gian lẫn miền tần số
Trang 86
1.5 Biểu diễn âm thanh trên máy tính
1.5.1 Biểu diễn âm thanh số
Để lưu trữ, 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ố Hình 1.17 thể hiện 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ố
Hình 1.17 Lượng tử hoá và biểu diễn dạng số tín hiệu tương tự
1.5.2 Các định dạng âm thanh phổ biến trên các nền tảng máy tính
Các phương pháp giấu tin phụ thuộc vào định dạng âm thanh, kiểu âm thanh trên các nền tảng khác nhau Ngoài ra tỉ lệ dữ liệu giấu cũng phụ thuộc vào file âm thanh ở dạng nén hay ở dạng thô
1.6 Một số chương trình giấu tin trên audio
Có nhiều chương trình cho phép giấu tin trong audio như MP3Stego, OpenPuff
Tổng kết chương 1
Trong chương 1 trình bày tổng quan về an toàn thông tin và các khái niệm liên quan bài toá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ề đặc tính của hệ thống thính giác của con người, cách biểu diễn âm thanh trên máy tính, các định dạng âm thanh và một số phần mềm giấu tin vào dữ liệu audio đã triển khai trong thực tế
Trang 97
Chương 2 CÁC PHƯƠNG PHÁP GIẤU TIN TRONG ÂM THANH 2.1 Các kỹ thuật bổ trợ cho giấu tin
2.1.1 Các phép biến đổi từ miền thời gian sang miền tần số
2.1.1.1 Phép biến đổi Fourier rời rạc (DFT)
2.1.1.2 Phép biến đổi wavlet (DWT)
2.1.2 Xáo trộn dữ liệu
Mục đích của việc xáo trộn dữ liệu là gây khó khăn cho người thám tin,
làm cho họ khó khôi phục lại tin mật nếu biết thuật toán rút trích tin
2.1.2.1 Xáo trộn dữ liệu theo chuỗi hoán vị
2.1.2.2 Xáo trộn dữ liệu bằng phép biến đổi Arnold
2.1.3 Kỹ thuật sinh chuỗi giả ngẫu nhiên
Các phương pháp giấu tin 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 Chẳng hạn như kỹ thuật trải phổ
2.1.3.2 Bộ sinh Fibonacci
2.2 Đánh giá các phương pháp giấu tin trong audio
2.2.1.2 Độ đo MSE (Mean Squared Error)
MSE dùng để đo độ méo (distortion) của âm thanh Nó được tính theo (2.6), trong đó x(n) là âm thanh gốc và y(n) là âm thanh chứa tin giấu
Trang 108
2.2.1.3 Khoảng cách Czenakowski (Czenakowski Distance)
2.2.2 Đánh giá bằng các phần mềm phát hiện tin
2.2.3 Đánh giá bằng bảng đánh giá ODG (Object Difference Grade)
2.3 Một số phương pháp giấu tin trong âm thanh
2.3.1 Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding)
Ý tưởng chính của kỹ thuật này là thay thế các bit cuối cùng của mẫu
dữ liệu bằng các bit cần giấu để giấu tin
0 1 0 1 1 1 1 0
Sau khi giấu bit 1 sẽ như sau:
0 1 0 1 1 1 1 1
Hình 0.1 Điều chỉnh bit thấp nhất của mẫu để giấu bit 1
2.3.2 Phương pháp chẵn lẻ (parity coding)
Phương pháp chẵn lẻ cũng tương tự như phương pháp mã hoá LSB nhưng thay vì dùng một mẫu dữ liệu sẽ một nhóm các mẫu
2.3.3 Phương pháp mã hoá pha (phase coding)
Phương pháp mã hoá pha giấu tin thông qua việc thay thế pha của một segment audio ban đầu bằng một pha tham chiếu thể hiện dữ liệu
Hình 2.9 Sự dịch chuyển pha của tín hiệu
2.3.4 Phương pháp mã hoá tiếng vọng (Echo coding)
Phương pháp mã hoá tiếng vọng nhúng tin vào một tín hiệu âm thanh gốc bằng cách thêm tiếng vọng vào tín hiệu gốc Ta có công thức giấu như sau:
2.3.5 Phương pháp trải phổ
2.3.6 Phương pháp điều chỉnh biên độ
Trong phương pháp này, thông tin được nhúng bằng cách thay đổi năng lượng của 2 hay 3 khối (block)
Trang 119
2.3.7 Phương pháp lượng tử hoá (Quantization)
Phương pháp lượng tử hoá sẽ thay thế giá trị một mẫu x thành y để giấu tin Công thức điều chỉnh x thành y như sau:
(2.16)
2.3.8 Điều chế tỉ lệ thời gian
Ý tưởng cơ bản của phương pháp này là thay đổi tỉ lệ thời gian giữa hai cực đang xét để giấu tin
2.3.9 Phương pháp giấu dựa vào Patchwork
2.3.10 Phương pháp dựa vào các đặc trưng nổi bật
Tổng kết chương 2
Chương hai của luận án đã trình bày về các kỹ thuật bổ trợ cho giấu tin trong audio, các kỹ thuật xáo trộn dữ liệu nhằm mục đích thay đổi thứ tự các bit dữ liệu mật khi giấu vào tín hiệu âm thanh, các kỹ thuật sinh số ngẫu nhiên, các phương pháp giấu và các tiêu chí đánh giá các thuật toán giấu tin
Chương 3 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN THỜI GIAN 3.1 Phương pháp giấu tin kết hợp mã Hamming
Kỹ thuật giấu tin được kết hợp với các kỹ thuật mã hoá Hamming như
là một cải tiến nhằm giúp cho người nhận tin hạn chế khả năng nhận tin sai
3.1.1 Mã Hamming hỗ trợ xác thực
Với mỗi nhóm 4 bit dữ liệu, mã Hamming thêm 3 bit kiểm tra Thuật toán (7,4) của Hamming có thể sửa chữa bất cứ một bit lỗi nào, và phát hiện tất cả lỗi của 1 bit, và các lỗi của 2 bit gây ra [75] Mã Hamming dùng hai ma trận G và H để mã hoá và kiểm tra lỗi
3.1.2 Quá trình giấu tin
Đầu vào: - File âm thanh gốc C
- Chuỗi bit M cần giấu có độ dài L (L là bội số của 8)
Đầu ra: - File âm thanh chứa tin giấu C’
Trang 1210
Bước 1) Mã hóa
Bước 2) Giấu tin
- Đọc file chứa C, trích phần header và phần dữ liệu
- Kiểm tra file chứa có đủ để giấu chuỗi bit M’ không Nếu không đủ thì thì dừng và báo không giấu được Ngược lại sẽ ghi header của vào C’ sau đó thực hiện giấu từng bit của chuỗi M’ vào phần dữ liệu của C để ghi ra C’ như sau :
+ Trích tuần tự 3 mẫu dữ liệu của C và tính tổng Nếu bit đang xét của M’ là 1 mà tổng lẻ thì không phải phải làm gì, ngược lại điều chỉnh mẫu số 2 của 3 mẫu đang xét để cho tổng là số lẻ Nếu bit đang xét của M’ là 0 mà tổng chẵn thì không phải phải làm gì, ngược lại điều chỉnh mẫu thứ 3 (hoặc mẫu thứ 1) của 3 mẫu đang xét để cho tổng là số chẵn
+ Ghi 3 mẫu đang xét ra file C’
- Lặp lại hai bước con trên bước trên cho đến khi toàn bộ các bit của chuỗi M’ đã được giấu
- Ghi các mẫu còn lại từ C vào C’ và kết thúc
3.1.3 Quá trình giải tin xác thực tin giấu
Đầu vào: - File âm thanh chứa tin giấu C’, độ dài chuỗi bit cần lấy
Đầu ra: - Chuỗi bit M cần lấy, hoặc kết luận không lấy tin
Bước 1) Trích thông tin
Dựa vào khóa k, kỹ thuật giấu và số bit giấu đã được biết trước, ta tiến hành trích chuỗi bit từ dữ liệu C’’, kết quả ta thu được M’
Bước 2) Xác thực
Chia M’ thành các đoạn có độ dài 7, tiến hành nhân từng đoạn này với
H để kiểm tra có lỗi hay không Nếu không có lỗi hoặc lỗi có thể sửa được thì trích các bit trong mỗi đoạn, ngược lại không thì không lấy tin
Trang 1311
Hình 3.3 dưới đây là thử nghiệm giấu 100 byte dữ liệu vào file âm thanh file WindowsLogOn.wav, hình minh hoạ cho đoạn đầu gồm 10000 mẫu
Hình 3.3 Dữ liệu âm thanh gốc (trên) và dữ liệu có chứa tin mật (dưới)
3.1 Phương pháp giấu điều chỉnh giá trị nhóm bit
Quá trình giấu tin cũng gồm 2 giai đoạn Giai đoạn 1 sẽ dùng khoá mật
K để sinh ra chuỗi ngẫu nhiên gồm L số, trong đó L là chiều dài chuỗi bit mật Giai đoạn 2 sẽ giấu lần lượt từng bit của chuỗi tin mật vào trong file âm thanh dựa vào chuỗi ngẫu nhiên đã sinh Việc giấu tin dựa vào chuỗi ngẫu nhiên nhằm mục đích tăng cường tính mật cho tin giấu trong dữ liệu audio
3.2.1 Sinh chuỗi ngẫu nhiên
Khoá K gồm ba số (x, y, N) sẽ được dùng như số mồi và hệ số trong công thức sinh để sinh chuỗi S, chuỗi ngẫu nhiên gồm L số Công thức (3.3) dùng để sinh dãy SRN:
3.2.2 Điều chỉnh độ lệch bit
Nếu đổi bit ở vị trí 3 từ 0 thành 1, ta sẽ đổi các bit ở vị trí 2 và ở vị trí 1 thành 0 và nếu đổi bit ở vị trí 3 từ 1 thành 0 ta sẽ đổi các bit ở vị trí 2 và ở vị trí 1 thành 1 Tương tự, nếu đổi bit ở vị trí 2 từ 0 thành 1, ta sẽ đổi bit ở vị trí
1 thành 0 và nếu đổi bit ở vị trí 2 từ 1 thành 0 ta sẽ đổi bit ở vị trí 1 thành 1
3.2.3 Thuật toán giấu tin
Đầu vào: - File âm thanh A, chuỗi M có độ dài L, khoá K gồm ba số (x, y, N)
Trang 14Bước 2) Giấu tin
- Đọc file dữ liệu âm thanh, dựa vào mảng S[] để chọn mẫu cần giấu
- Dựa vào mảng V[] để biết vị trị bit giấu
- Nếu bit thứ Vi của mẫu chọn thứ i khác với Mi thì thực hiện DIEUCHINH(Vi, Mi)
Sau khi giấu xong, ta dùng các ký hiệu đánh dấu kết thúc tin giấu nhằm phục
vụ cho quá trình giải tin
3.2.3.1 Sinh mảng S[]
(3.4)
3.2.3.2 Sinh mảng V[]
3.2.4 Quá trình giải tin
Đầu vào: File âm thanh A’ chứa tin giấu, khoá K gồm ba số (x, y, N), độ dài L của chuỗi bit cần lấy
Đầu ra: Chuỗi bit M được giấu
Bước 1) Chuẩn bị: Sinh mảng V[] và S[]
Bước 2) Giải tin
Đọc file dữ liệu âm thanh A’, dựa vào mảng S[] để chọn mẫu có chứa bit thông tin giấu, dựa vào mảng V[] để lấy bit thứ i của mẫu tin giấu
3.2.5 So sánh với phương pháp LSB nguyên thuỷ
3.2.5.1 Chi phí thời gian giấu tin và giải tin
So với kỹ thuật LSB, phương pháp này cần phải tốn thời gian cho việc sinh chuỗi giả ngẫu nhiên, chuỗi S[] và chuỗi V[] và phải tốn chi phí thời gian cho việc điều chỉnh bit để giảm độ chênh lệch giá trị trước và sau khi giấu