Đăng ký Đăng nhập
Trang chủ Bảo mật dữ liệu bằng kỹ thuật giấu tin trong audio [tt]...

Tài liệu Bảo mật dữ liệu bằng kỹ thuật giấu tin trong audio [tt]

.PDF
27
560
92

Mô tả:

ĐẠ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 Cô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 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í 1 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 2013.  Áp dụng các phương pháp giấu tin trên ảnh để thực hiện giấu tin trên audio. Kết quả được trình bày và đăng tải trong kỷ yếu Hội nghị IEEE SoCPaR năm 2013 tại Học viện kỹ thuật quân sự, 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 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ố. 4. Bố cục của luận án Bố cục của luận án bao gồm phần mở đầu, kết luận và bốn chương nội dung cùng với tài liệu tham khảo. Chương 1: Trình bày tổng quan về an toàn thông tin và giấu thông tin. Chương 2: Trình bày về các phương pháp giấu tin trong audio. Chương 3: Trình bày về các phương pháp giấu tin trên miền thời gian. Chương 4: Trình bày về các phương pháp giấu trên miền tần số. 2 Chương 1 TỔNG QUAN VỀ BẢO MẬT DỮ LIỆU VÀ GIẤU TIN 1.1. Bảo mật dữ liệu Bảo mật dữ liệu (data security) có nghĩa là bảo vệ dữ liệu, chẳng hạn như cơ sở 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ó 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. 3 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 : Khoá K Host Signal Quá trình Giấu tin Khoá K Quá trình Giải tin Stego Signal Network Secret message Host Signal Secret message 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.3 Các tính chất hệ giấu tin. 1.3.3.1 Tính “vô hình” (Tính bí mật) 1.3.3.2 Khả năng chống giả mạo (Tính toàn vẹn) 1.3.3.3 Tính bền vững 1.3.3.4 Dung lượng tin giấu 1.3.3.5 Độ phức tạp tính toán 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 4 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ố. 5 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ế. 6 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.1 Bộ sinh đồng dư (congruential generator) 2.1.3.2 Bộ sinh Fibonacci 2.1.3.2 Bộ sinh số Mersenne Twister 2.2 Đánh giá các phương pháp giấu tin trong audio 2.2.1 Đánh giá bằng các độ đo 2.2.1.1 Độ đo SNR Giá trị của SNR chỉ số lượng thay đổi trên dữ liệu chứa do chèn dữ liệu mật vào và được tính theo thang độ decibel. (2.5) 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. (2.6) 7 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 1 1 Sau khi giấu bit 1 sẽ như sau: 0 1 0 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.9) 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). 8 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’. 9 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. 10 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.3) 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). 11 Đầu ra: - File âm thanh A’ có chứa chuỗi bit M. Bước 1) Chuẩn bị: Dựa vào khoá (x, y, N) sinh ra mảng S[] cho biết mẫu dữ liệu được chọn để giấu tin và mảng V[] cho biết vị trí bit sẽ được giấu trong mỗi mẫu. Bướ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.5) 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. 12 3.2.5.2 Tỉ lệ dữ liệu giấu So với phương pháp LSB nguyên thuỷ này có tỉ lệ dữ liệu giấu chỉ bằng ¼. 3.2.5.3 Độ mật của kỹ thuật 3.3. Phương pháp điều chỉnh 2 mẫu trong một đoạn khối 25 mẫu 3.3.1 Xáo trộn dữ liệu Để xáo trộn dữ liệu, luận án đề xuất cách sử dụng phép biến đổi Arnold. 3.3.2 Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu Đầu vào: - Khối dữ liệu chứa F có kích thước 5*5, 4 bit mật b1b2b3b4 cần giấu. Đầu ra: - Khối dữ liệu chứa tin mật F’. Bước 1) Xây dựng ma trận A từ các LSB của khối F, A[i][j] = LSB(F[i][j]) Bước 2) Lấy 4 dòng đầu của A, mỗi dòng thực hiện phép exclusive-or tất cả các phần tử trong dòng, ta có r1r2r3r4. Bước 3) Lấy 4 cột đầu tiên của A, mỗi cột thực hiện exclusive-or tất cả các phần tử của mỗi cột để được c1c2c3c4. Bước 4) Thực hiện exclusive-or kết quả trong bước 2 và bước 3 để có s1s2s3s4 trong đó s1=r1 XOR c1, s2=r2 XOR c2 và tương tự như vậy. Bước 5) So sánh kết quả của bước 4 với 4 bit cần giấu b1b2b3b4. Nếu không có sự khác nhau thì không cần phải điều chỉnh trên khối bit A. Ngược lại, cần xét các trường hợp sau: • Nếu có khác nhau 1 bit bi tại vị trí i thì A[i][5] được điều chỉnh lật. • Nếu có khác nhau trên 2 bit bi và bj tại vị trí i và j thì A[i][j] được lật. • Nếu có khác nhau trên 3 bit bi, bj và bk tại 3 vị trí i, j, k thì A[i][j] được lật và A[k][5] được lật. • Nếu có khác nhau trên cả 4 bit bi, bj, bk và bm tại 4 vị trí i, j, k, m thì thực hiện lật A[i][j] và A[k][m] Bước 6) Đặt các bit LSB của khối F[i][j] giống A[i][j] ta được khối F’. 13 Ví dụ ta có đoạn audio gồm 25 mẫu có giá trị như hình 3.10 (tương ứng với ma trận F và ma trận A) 18 39 65526 8 65526 0 1 0 0 0 20 27 40 50 18 0 1 0 0 0 37 42 4 78 65519 1 0 0 0 1 46 65514 29 65508 31 0 0 1 0 1 65500 5 65486 0 65482 0 1 0 0 0 Hình 3.10 Ma trận F và A tương ứng từ các mẫu dữ liệu Ta tính các vector r, c, s như các hình sau: r1 r2 r3 r4 1 1 0 0 Hình 3.11 Kết quả XOR 4 cột đầu tiên của từng hàng c1 c2 c3 c4 1 1 1 0 Hình 3.12 Kết quả XOR 4 dòng đầu tiên của từng cột s1 s2 s3 s4 0 0 1 0 Hình 3.13. Kết quả XOR của chuỗi C và chuỗi R Nếu ta cần giấu bốn bit 1100, có 3 bit khác nhau với S ở vị trí 1, 2 và 3, vì thế ta lật giá trị ô A[1][2] A[3][5]. Kết quả điều chỉnh như trong hình 3.16. 0 0 0 0 0 18 38 65526 8 65526 0 1 0 0 1 20 27 40 50 19 1 0 0 0 0 37 42 4 78 65518 0 0 1 0 1 46 65514 29 65508 31 0 1 0 0 0 65500 5 65486 0 65482 Hình 3.14. Kết quả giấu 4 bit 1100 trong khối F. 3.3.3 Thuật toán giấu tin Đầu vào: - File âm thanh gốc F, khoá mật K, thông điệp mật M. Đầu ra: - File âm thanh chứa tin mật F’. 14 Bước 1) Xáo trộn chuỗi M Bước 2) Chia dữ liệu file âm thanh thành các segment gồm 25 mẫu, sau đó chuyển sang các khối vuông Fi kích thước 5*5. Bước 3) Thực hiện bước sau cho đến khi toàn bộ thông điệp M’ được giấu vào trong các khối: Lấy lần lượt 4 bit của M’ giấu vào mỗi khối Fi, sử dụng sơ đồ giấu MCPT trên. Bước 4) Chuyển tất cả các khối F i sang lại dạng vector và ghi ra file F’. Ghi các mẫu còn lại từ F vào F’. 3.3.4 Thuật toán giải tin Thuật toán giải tin gồm hai bước. Đó là tách các bit trong khối rồi thực hiện việc khôi phục lại chuỗi bit. 3.3.5 Kết quả thử nghiệm và đánh giá Kết quả thử nghiệm cho thấy file chứa tin và file gốc có cùng ảnh hưởng đến hệ thống thính giác con người, không thể phân biệt được sự khác nhau. 3.4. Phương pháp điều chỉnh 1 bit để giấu 8 bit dữ liệu 3.4.1 Xáo trộn dữ liệu bằng phương pháp hoán vị 3.4.2 Tính tổng XOR của đoạn Giá trị này được đặt tên là HD_sum. Đầu vào: Đoạn S gồm 256 mẫu chứa giá trị nguyên, Đầu ra: Một số nguyên được gọi là HD_sum của đoạn S. Bước 1) Từ mảng S ta xác định mảng Q có cùng kích thước với S, trong đó Q[i] = S[i]%2. Bước 2) h=0; Bước 3) Lặp i từ 0 đến 255: Nếu (Q[i]!=0) thì h = XOR(h,i); Bước 4) Trả về h; Ở đây XOR là phép toán XOR (exclusive-or). 3.4.3. Thuật toán giấu một byte dữ liệu vào trong khối 256 mẫu. Đầu vào: - Đoạn dữ liệu chứa 256 mẫu (S[0..255]) và byte cần giấu p. 15 Đầu ra: - Đoạn chứa tin (stego - segment) S[0..255]. Bước 1) Tính HD_sum của đoạn S: h=HD_sum(S); Bước 2) Tìm vị trí của mẫu cần thay đổi để giấu tin: pos= XOR (h, p); Bước 3) Lật một bit của mẫu tại vị trí pos để giấu byte p: Nếu giá pos =0 thì không cần phải điều chỉnh mẫu nào trong đoạn S. Nếu giá trị pos > 0 thì cần phải điều chỉnh mẫu tại vị trí pos tham gia trong quá trình tính HD_sum hoặc không : Q[pos] = 1 - Q[pos]; Bước 4) Điều chỉnh giá trị mẫu tại ví trí pos để giấu tin nếu pos>0 Nếu Q[pos] = 0 thì S[pos]= S[pos] +1, ngược lại S[pos]= S[pos] - 1. Thuật toán giấu tin trong file: Giấu lần lượt từng byte vào các khối. Thuật toán giải tin Đầu vào: - File chứa tin mật, khoá (k, d) và q là số byte cần lấy. Đầu ra: - Thông điệp mật M. Bước 1) Lấy h= q / d  * d đoạn từ file chứa tin mật, mỗi đoạn chứa 256 mẫu. Bước 2) Lặp thao tác dưới đây h lần để lấy h byte từ các đoạn, mỗi byte trong mỗi đoạn, byte thứ i được gán cho M’[i]. M’[i] =HD_sum(Si). Bước 3) Đối với mỗi đoạn gồm d byte của chuỗi M’, dùng phép biến đổi khôi phục lại chuỗi tin M như thuật toán đã trình bày ở mục 3.4.1. 3.5. Phương pháp điều chỉnh tiếng vọng 3.5.1 Sơ đồ giấu của Rios Chavez 3.5.2 Đánh giá kỹ thuật đề xuất bởi Rios Chavez Có thể nhận tin sai và thời gian tính toán lớn, có thể giảm xuống. 3.5.3. Kỹ thuật điều chỉnh tiếng vọng 3.5.3.1. Thêm tiếng vọng dựa vào số ngẫu nhiên Công thức để thêm tiếng vọng Để thêm tiếng vọng vào trong đoạn, ta sử dụng công thức (3.11) như sau: 16 (3.11) 3.5.3.2 Thuật toán giấu Đầu vào: - File audio gốc C, chuỗi bit W có độ dài L, khoá (a, b) và số N Đầu ra: - File chứa tin giấu S. Các bước của thuật toán giấu như sau: Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10). Bước 2) Chia dữ liệu trên file gốc C thành các đoạn (frame) Ci có kích thước bằng nhau. Nếu số frame < độ dài chuỗi bit (L) cần giấu thì dừng. Bước 3) Gán giá trị các đoạn Si bằng Ci Dựa vào giá trị của Ri và giá trị bit cần giấu Wi, dùng công thức (3.11) để thêm tiếng vọng vào cho các đoạn Si. Bước 4) Ghi các đoạn Si ra file S và chép các mẫu còn lại từ C sang S. 3.5.3.3 Thuật toán giải tin Đầu vào: - File chứa tin S, file gốc C, khoá (a, b) và số N, số bit cần lấy L. Đầu ra: - Chuỗi bit W có độ dài L. Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10). Bước 2) Chia dữ liệu file chứa tin giấu S và file gốc C thành các đoạn (frame) Si, Ci có kích thước bằng nhau. Bước 3) So sánh cepstrum của đoạn Ci với Si và dựa vào giá trị của Ri để trích bit 0 hoặc bit 1. Lặp bước 3 tuần tự cho các đoạn dữ liệu Ci ,Si cho đến khi lấy đủ L bit. 3.5.4. Kết quả thử nghiệm và đánh giá Kết quả đánh giá mức độ nhận biết cho thấy kỹ thuật này không gây ra bất kỳ hiệu ứng nào khi nghe giữa file trước và sau khi giấu tin. 17 Tổng kết chương 3 Trong chương 3 đã trình bày các thuật toán giấu tin trong file âm thanh. Đây là các thuật toán giấu trên miền thời gian. Các thuật toán đề xuất cách kết hợp với mã Hamming nhằm mục đích giảm thiểu nhận tin sai nếu file chứa tin bị tấn công, cách điều chỉnh bit nếu như giấu ở các bit cao chứ không phải LSB. Ngoài ra chương này cũng đề xuất cách giấu dựa vào đặc tính của đoạn dữ liệu, cải tiến cách giấu dùng phương pháp điều chỉnh tiếng vọng. Chương 4 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI 4.1 Phương pháp điều chỉnh các hệ số trên miền biến đổi FFT 4.1.1 Điều chỉnh giá trị trong miền tần số Mỗi một đoạn Y có kích thước gồm fw mẫu sẽ được thực hiện phép biến đổi FFT. Phép biến đổi Fourier đã được trình bày ở chương 2. FY  FFT (Y ) (4.1) Sau khi thực hiện phép biến đổi FFT, giá trị FY nhận được là dãy các số phức. Số phức có thể thể biểu diễn lại trong hệ toạ độ cực bằng công thức sau: z  r(cos   i sin  ) (4.2) Nếu thay đổi r thành r’ thì x '  r ' cos  y '  r ' sin  (4.5) z'  r' cos   i * r' sin  (4.6) 4.1.2 Thuật toán điều chỉnh mẫu để giấu một bit Đầu vào: Số phức z, bit thông tin mật cần giấu Mj, giá trị d. Đầu ra: Số phức z’. Bước 1) Tính biên độ và pha của z: amp = abs(z); phase= angle(z); Bước 2) Điều chỉnh giá trị r để giấu Mj Nếu Mj==1 Nếu mod (amp, d) < d/2 thì amp = amp + d/2; Ngược lại Nếu mod (amp, d)> =d/2 thì amp = amp + d/2; Bước 3) Tạo số phức mới và trả về: 18
- Xem thêm -

Tài liệu liên quan