Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 98 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
98
Dung lượng
1,77 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI Nguyễn Thị Mỹ Hạnh NGHIÊN CỨU KỸ THUẬT GIẤU TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN Chuyên ngành: Công Nghệ Thông Tin LUẬN VĂN THẠC SỸ KỸ THUẬT ……………………… Người hướng dẫn: GS.TS Nguyễn Thanh Thủy Hà Nội - 2012 LỜI CAM ĐOAN Tôi xin cam đoan: Luận văn thạc sĩ công trình nghiên cứu thực cá nhân, thực sở nghiên cứu, tổng hợp lý thuyết hướng dẫn GS.TS Nguyễn Thanh Thủy Các số liệu kết luận văn trung thực, khách quan chưa công bố công trình khác Hà nội, ngày tháng năm 2012 Nguyễn Thị Mỹ Hạnh LỜI CẢM ƠN Tôi xin gửi lời cảm ơn sâu sắc đến GS.TS Nguyễn Thanh Thủy trực tiếp hướng dẫn, giúp đỡ định hướng để thực hoàn thành đề tài luận văn Tôi xin bày tỏ lòng biết ơn thầy cô giáo Viện Công Nghệ Thông Tin Truyền Thông – Trường Đại Học Bách Khoa Hà Nội trang bị cho kiến thức quý báu suốt trình hai năm học trường Cuối cùng, xin cảm ơn gia đình, bạn bè đồng nghiệp Khoa Công Nghệ Thông Tin, trường Cao Đẳng Kinh Tế Công Nghiệp Hà Nội nơi công tác động viên khích lệ suốt trình nghiên cứu hoàn thành luận văn Hà Nội, ngày tháng năm 2012 Nguyễn Thị Mỹ Hạnh MỤC LỤC CÁC THUẬT NGỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ CÁC KỸ THUẬT GIẤU TIN .10 1.1 Các khái niệm giấu tin 10 1.1.1 Định nghĩa .10 1.1.2 Mục đích giấu tin 10 1.1.3 Mô hình kỹ thuật giấu tin 10 1.2 Giấu tin liệu đa phương tiện (multimedia) .12 1.2.1 Giấu tin ảnh 12 1.2.2 Giấu tin audio 13 1.2.3 Giấu tin video 13 1.2.4 Giấu thông tin văn dạng Text 14 1.3 Các yêu cầu mô hình giấu tin .14 1.3.1 Tính bền vững .14 1.3.2 Khả không bị phát 15 1.3.3 Khả lưu trữ 15 1.3.4 Tính bảo mật 16 1.3.5 Khả vô hình 16 1.3.6 Tính suốt 16 1.4 Các ứng dụng lĩnh vực giấu tin .16 1.4.1 Bảo vệ quyền, sở hữu trí tuệ 16 1.4.2 Xác thực thông tin hay phát giả mạo thông tin .17 1.4.3 Giấu vân tay hay dán nhãn 17 1.4.4 Kiểm soát chép .17 1.4.5 Giấu tin mật 18 1.5 Giới thiệu số kỹ thuật giấu tin âm .18 1.5.1 Mã hóa LSB (Least Significant Bit) 18 1.5.2 Mã hóa Parity (Parity Coding) 19 1.5.3 Mã hóa Phase (Phase Coding) .19 1.5.4 Kỹ thuật trải phổ 20 1.5.5 Kỹ thuật giấu dựa vào tiếng vang (Echo) 20 1.5.6 Kỹ thuật mã hóa (Echo) 21 CHƯƠNG 2: GIẤU DỮ LIỆU TRÊN ÂM THANH .22 2.1 Mô hình phân loại Watermarking âm 22 2.1.1 Nhóm phương pháp giao thoa tín hiệu gốc 22 2.1.2 Nhóm phương pháp không giao thoa tín hiệu gốc .24 2.2 Xử lý tín hiệu số 32 2.2.1 Đại cương tín hiệu nhiễu .32 2.2.2 Lấy mẫu khôi phục tín hiệu 37 2.2.3 Phân tích Fourier 42 2.3 Kỹ thuật LSB (LeastSignificant Bit) .50 2.4 Kỹ thuật trải phổ 53 2.4.1 Mật độ phổ công suất 55 2.4.2 Chuỗi giả ngẫu nhiên 57 2.4.3 Điều chế số dịch pha BPSK 60 2.4.4 Ảnh hưởng nhiễu trắng truyền thông 64 2.4.5 Ảnh hưởng nhiễu Jammer truyền thông 64 2.4.6 Các hệ thống trải chuỗi trực tiếp 67 CHƯƠNG 3: GIẤU DỮ LIỆU TRÊN AUDIO BẰNG PHƯƠNG PHÁP LSB (Least Significant Bit) 79 3.1 Tổng quan WAV file 79 3.2 Xây dựng chương trình Demo .81 3.3 Giao diện chương trình 83 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 86 TÀI LIỆU THAM KHẢO .87 PHỤ LỤC 88 CÁC THUẬT NGỮ VIẾT TẮT Từ viết tắt Nghĩa tiếng Anh Giải thích HSV Human Vision System Hệ thị giác người HAS Human Auditory System Hệ thính giác người DVD Digital Versatile Disc LSB Least Significant Bit Bít quan trọng DFT Discrete Fourier Transform Biến đổi Fourier rời rạc FFT Fast Fourier Transform Biến đổi Fourier nhanh DCT Discrete Cosine Transform Biến đổi cô sin rời rạc DWT Discrete wavelets Transform Biến đổi sóng rời rạc PSD Probability Spectral Denscity Mật độ phổ xác suất PDF Probability Denscity Function Hàm mật độ xác suất CDMA Code Divesison Multiple Đa thâm nhập phân chia theo mã DS Direct Sequence Chuỗi trực tiếp SS Spread Spectrum Trải phổ PN Pseudo Noise Giả tạp âm BPSK Binary Phase Shift Keying Điều chế khóa chuyển pha số hai QPSK Quandrature Phase Shift Keying Điều chế khóa chuyển pha vuông góc DANH MỤC CÁC BẢNG Bảng 2.1: Các thành phần phổ đối xứng qua điểm k=3.5 Bảng 2.2: Phân tích đoạn chạy tín hiệu PN DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1.1: Lược đồ chung cho trình giấu tin Hình 1.2: Lược đồ trình giải mã tin mật Hình 1.3: Mối tương quan đến ba tiêu chí Hình 1.4: Minh họa kỹ thuật giấu LSB Hình 1.5: Kỹ thuật mã hóa pha Hình 1.6: Kỹ thuật giấu điều chỉnh echo Hình 2.1: Phân loại Watermarking Audio Hình 2.2: Ý tưởng phương pháp trải phổ truyền thống Hình 2.3: Tiền xử lý tín hiệu âm Watermark Hình 2.4: Ẩn liệu theo phương pháp echo Hình 2.5: Điều chỉnh tỉ lệ thời gian Watermarking Hình 2.6: Hình vẽ minh họa cho sóng tín hiệu Hình 2.7: Nhiễu phân bố Hình 2.8: Nhiễu phân bố Gaussian Hình 2.9: Các loại sóng tín hiệu Hình 2.10: Biểu diễn tín hiệu theo tọa độ cực Hình 2.11: Liên hợp phức tín hiệu x(t) Hình 2.12: Mô hình lấy mẫu Hình 2.13: Lấy mẫu tín hiệu với chu kỳ khác Hình 2.14: Sự trùng lặp phổ Hình 2.15: Mạch lấy mẫu lý tưởng tần số fs Hình 2.16: Phổ tín hiệu dùng tiền lọc lý tưởng Hình 2.17: Tiền lọc chống biệt danh thực tế Hình 2.18: Hệ thống lấy mẫu mức tiêu hủy Hình 2.19: Tần phổ biên độ tín hiệu Hình 2.20: Thành phần thực, thành phần ảo tần phổ tín hiệu Hình 2.21: Phổ sóng vuông Hình 2.22: Mô hình hệ thống thông tin trải phổ Hình 2.23:Tín hiệu x(t) tín hiệu tự tương quan Hình 2.24: Mật độ công suất phổ tín hiệu Hình 2.25: Mạch ghi dịch số Hình 2.26: Hàm tương quan chuỗi PN Hình 2.27: Phổ tín hiệu BPSK Hình 2.28: Tín hiệu trải phổ Hình 2.29: Mạch giải điều chế BPSK Hình 2.30: Hệ thống truyền thông trải phổ Hình 2.31: Một jammer toàn phần băng thông Hình 2.32: Một jammer phần băng thông Hình 2.33: Phổ tín hiệu BPSK Hình 2.34: Phổ tín hiệu BPSK sau trải Hình 2.35: Bộ điều biến BPSK truyền thống Hình 2.36: Bộ điều biến BPSK cải tiến Hình 2.37: DS/BPSK không mã hóa với công nhiễu Jammer Hình 2.38: So sánh giá trị xác suất lỗi Pb với Eb/Nj Hình 2.39: Các tín hiệu trước trải Hình 2.40: Các tín hiệu sau trải Hình 2.41: Hệ thống lặp mã DS/BPSK Định dạng WAVphổ biến nhấtlà định dạng điều chếmã xung(PCM) chứa âm không nén Định dạng làđịnhdạng tiêu chuẩncủa tập tin âm thanhdành cho đĩa CDvới 44.100mẫumỗi giây,16bit cho mẫu Nhờ phương pháp lưu trữ mà người dùng chuyên nghiệphoặcchuyên giaâm có thểsửdụngđịnh dạng WAVâmthanhchất lượng tối đa File âm WAV có thểđược chỉnh sửa vàthaotáctương đối dễ dàngsử dụng với nhiều phần mềm Hạn chế WAVE file Định dạng WAV giới hạn trongcác tập tin có kích thước hơn4 GB, dosử dụngsố nguyên 32 bitđể lưu kích thước tập tintrong tiêu đề 3.2 Xây dựng chương trình Demo Việc sử dụng kỹ thuật LBS để thực giấu liệu Audio phương pháp hiệu để giải toán quyền tác quyền nhà sản xuất âm nhạc Chương trình giấu liệu file Audio bao gồm hai modules chính: - Module nhúng liệu 81 - Module trích xuất liệu Module nhúng liệu: Trong module này, bước lựa chọn file audio đầu vào Tiếp đến lựa chọn file audio đầu (file đẫ nhúng liệu) Bước thứ ba chọn tập tin văn gõ tin nhắn, văn nhúng Và cuối cùng, thực nhúng văn vào file audio đầu vào theo kỹ thuật LBS Module giải mã: Bước 1, lựa chọn File âm nhúng liệu Bước lựa chọn file text để lưu thông tin trích xuất Tiếp đến, sử dụng key file để giải mã Và cuối cùng, thực giải mã trích xuất liệu Sơ đồ mô tả chức năng: Giấu giữ liệu âm Extract Embedding Chọn Input Audio File Chọn Output Audio File Select Encrypt Audio File Enter New Text Chọn Key file Select Key 82 Embedded Audio File Extract Audio File View Output 3.3 Giao diện chương trình Giao diện Bước trình nhúng tin 83 Bắt đầu trình nhúng tin Kết thúc trình nhúng tin Quá trình giải mã 84 Kết trình giải mã 85 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Từ kết tìm hiểu luận văn cho phép rút kết luận sau: Sử dụng kỹ thuật mã hóa LSB thực giấu tin nhiều môi trường khác như: môi trường ảnh, âm thanh, video, text Không có kỹ thuật vượt qua tất công Mỗi kỹ thuật giấu tin có ưu điểm nhược điểm riêng thông thường chịu số công định Đánh giá ưu điểm hạn chế luận văn Luận văn trình bày cách hệ thống kiến thức liên quan đến lịch sử đời giấu tin, mô hình giấu tin, kỹ thuật giấu tin Từ luận văn tìm hiểu lựa chọn kỹ thuật mã hóa LSB để nghiên cứu thực ứng dụng Ngoài luận văn trình bày chi tiết kỹ thuật trải phổ với ưu nhược điểm để từ xây dựng ứng dụng mang so sánh với kỹ thuật khác chọn kỹ thuật phù hợp với nhu cầu bảo mật thông tin Tuy nhiên luận văn dừng lại kỹ thuật mã hóa LSB để giấu tin âm Hướng phát triển luận văn: -Tiếp tục nghiên cứu cài đặt thử nghiệm phương pháp giấu tin âm kỹ thuật trải phổ -Phát triển kỹ thuật giấu tin môi trường video 86 TÀI LIỆU THAM KHẢO Tiếng Việt [1].Nguyễn Ngọc Hà (2007) Luận Án Tiến Sĩ Toán Học, “Phát triển số kỹ thuật giấu liệu ảnh ứng dụng trao đổi thông tin” – Trường đại học Quốc Gia Hà Nội [2] Nguyễn Văn Tảo (2007) Luận Án Tiến Sĩ Toán Học, “Kết hợp kỹ thuật bảo mật thông tin”– Trường đại học Quốc Gia Hà Nội [3].Nguyễn Xuân Huy, Huỳnh Bá Diệu,”Nghiên cứu kỹ thuật giấu tin audio hỗ trợ xác thực”, Tạp chí Khoa học ĐHQGHN, Khoa học Tự nhiên Công nghệ 25, (2009) trang 69-74 [4] Lê Hoài Bắc, Nguyễn Ngọc Hà, Lưu Khoa, Lê Thị Hoàng Ngân, “Watermarking âm số kỹ thuật trải phổ kết hợp với mô hình thính giác” [5] Lưu Khoa, Hoàng Ngân, luận văn thạc sỹ “Ẩn liệu âm số” [6] Nguyễn Hữu Phương, Giáo trình “Xử lý tín hiệu số” nhà xuât thống kê năm 2003 Tiếng Anh [10] Malvar H & Florencio D (2003) Improved spread spectrum: Anew modulation technique for robust watermarkig [11] Peter Jeng – Shyang Pan, Hsiang – Cheh Huang, “ Intelligent watermảking techniques”, Word Scientific puplisching Co Pte.LTD Toh Tuck Link, Singapore 596224, 2004 [12] L Boney, A H Tewfik and K N Hamdy, “ Digital Watermarks fỏ Audio signals” IEEE int contf On multimedia Computing and System, Horoshima, Japan, June 1996 [13] I.J.COX, “ Spread Spectrue Watermark for Embedled Signaling” United states Patent 5,848,155, December 1988 Dec [14] W Bender, D Gruhl, N Morimoto A.Lu “ Technique for data hiding”, IBM System Journal, Vol 35, Nos 3&4, 1996, pp 314 -339 [15] Lie and Chang “Covert Speech Communication Via Cover Speech By Tone Insertion,” Proc of the 2001 IEEE Aerospace Conference, Big Sky, MT, Mar 2001 (on CD) 87 PHỤ LỤC Lớp Embed: using System; namespace DHAF { /// Summary description for clsEmbed public class clsEmbed { private int CurEmbedStep=0; private string AudioFileName=""; private string KeyFileName=""; private string OutputAudioFile=""; private string EmdedDataType =""; private string EmbedTextFileName=""; private string EmbedTextMessage=""; public int PropEmbedStep { get { return CurEmbedStep; } set { CurEmbedStep = value; } } public string PropAudioFileName { get { // Returns the value stored in the local variable return AudioFileName; } set { // Sets the value of the local variable AudioFileName = value; } } public string PropKeyFileName { get { return KeyFileName; } set { KeyFileName=value; 88 } } public string PropOutputAudioFile { get { return OutputAudioFile; } set { OutputAudioFile=value; } } public string PropEmbedDataType { get { return EmdedDataType; } set { EmdedDataType=value; } } public string PropEmbedTextMessage { get { return EmbedTextMessage; } set { EmbedTextMessage=value; } } public string PropEmbedTextFileName { get { return EmbedTextFileName; } set { EmbedTextFileName=value; } } 89 public clsEmbed() { } } Lớp extract using System; namespace DHAF { // Summary description for clsEmbed public class clsExtract { private int CurEmbedStep=0; private string AudioFileName=""; private string KeyFileName=""; private string OutputTextFile=""; private string EmdedDataType =""; // File,Text private string EmbedTextFileName=""; //This will be assigned when embedDataType='File' private string EmbedTextMessage=""; public int PropEmbedStep { get { return CurEmbedStep; } set { CurEmbedStep = value; } } public string PropAudioFileName { get { // Returns the value stored in the local variable return AudioFileName; } set { // Sets the value of the local variable AudioFileName = value; 90 } } public string PropKeyFileName { get { return KeyFileName; } set { KeyFileName=value; } } public string PropOutputTextFile { get { return OutputTextFile; } set { OutputTextFile=value; } } public string PropEmbedDataType { get { return EmdedDataType; } set { EmdedDataType=value; } } public string PropEmbedTextMessage { get { return EmbedTextMessage; } set { EmbedTextMessage=value; } } 91 public string PropEmbedTextFileName { get { return EmbedTextFileName; } set { EmbedTextFileName=value; } } public clsExtract() { } } } Embedding method: public void EmbedData() { Stream sourceStream = null; FileStream destinationStream = null; WaveStream audioStream = null; Stream messageStream = GetMessageStream(); //Mở the key file Stream keyStream =new FileStream(obj1.PropKeyFileName, FileMode.Open); textBox6.Text ="Chọn Key File."; try { //how many samples we need? Long countSamplesRequired = WaveUtility.CheckKeyForMessage(keyStream, messageStream.Length); textBox6.Text +="\r\n" + countSamplesRequired.ToString () + " Samples Required " ; Console.WriteLine (countSamplesRequired.ToString ()); if(countSamplesRequired > Int32.MaxValue) { throw new Exception("Message too long, or bad key! This message/key combination requires"+countSamplesRequired+" 92 samples, only "+Int32.MaxValue+" samples are allowed."); } //use a wav file as the carrier sourceStream = new FileStream(obj1.PropAudioFileName , FileMode.Open); //this.Cursor = Cursors.WaitCursor; //create an empty file for the carrier wave destinationStream = new FileStream(obj1.PropOutputAudioFile , FileMode.Create); textBox6.Text +="\r\n" + "Da tao Output Audio File."; //copy the carrier file's header audioStream= new WaveStream(sourceStream, destinationStream); if (audioStream.Length audioStream.CountSamples) { String errorReport = "The carrier file is too small for this message and key”+audioStream.CountSamples+ "\r\n +"Samples needed:"+countSamplesRequired; throw new Exception(errorReport); } //hide the message WaveUtility utility=new WaveUtility(audioStream, destinationStream); textBox6.Text +="\r\n" + "Start Hiding "; MessageBox.Show ("Starting "); utility.Hide(messageStream, keyStream); textBox6.Text +="\r\n" + "Finished Hiding "; } catch(Exception ex) { MessageBox.Show(ex.Message); } finally { if(keyStream != null){ keyStream.Close(); } if(messageStream != null){ messageStream.Close(); } if(audioStream != null){ audioStream.Close(); } if(sourceStream != null){ sourceStream.Close(); } 93 if(destinationStream != null){ destinationStream.Close(); } this.Cursor = Cursors.Default; } Extract method: public void ExtractData() { this.Cursor = Cursors.WaitCursor; FileStream sourceStream = null; WaveStream audioStream = null; //create an empty stream to receive the extracted message MemoryStream messageStream = new MemoryStream(); //open the key file Stream keyStream = new FileStream(txtKeyFile.Text, FileMode.Open); textBox6.Text ="Key File Opened \r\n"; try { //open the carrier file sourceStream = new FileStream(txtInputAudioFile.Text, FileMode.Open); textBox6.Text +="Audio File Opened \r\n"; audioStream = new WaveStream(sourceStream); WaveUtility utility = new WaveUtility(audioStream); //exctract the message from the carrier wave textBox6.Text +="Start Extracting \r\n"; utility.Extract(messageStream, keyStream); textBox6.Text +="Finished Extracting \r\n"; messageStream.Seek(0, SeekOrigin.Begin); //save result to a file FileStream fs = new FileStream(txtOutputTextFile.Text, FileMode.Create); byte[] buffer = new byte[messageStream.Length]; messageStream.Read(buffer, 0, buffer.Length); messageStream.Seek (0, System.IO.SeekOrigin.Begin ); txtExtractedMessage.Text= new StreamReader(messageStream).ReadToEnd(); fs.Write(buffer, 0, buffer.Length); fs.Close(); } else { 94 // display result txtExtractedMessage.Text = new StreamReader(messageStream).ReadToEnd(); } } catch(Exception ex) { this.Cursor = Cursors.Default; MessageBox.Show(ex.Message); } finally { if(keyStream != null){ keyStream.Close(); } if(messageStream != null){ messageStream.Close(); } if(audioStream != null){ audioStream.Close(); } if(sourceStream != null){ sourceStream.Close(); } this.Cursor = Cursors.Default; } } 95 ... pháp liệu số Sau nghiên cứu số tài liệu liên quan đến lĩnh vực giấu tin kỹ thuật giấu tin môi trường đa phương tiện, đồng ý, động viên thầy hướng dẫn chọn đề tài Nghiên cứu kỹ thuật giấu tin liệu. .. Đầu trình nhúng tin phương tiện chứa giấu tin Các phương tiện chứa phân phối mạng Phân phối Phương tiện chứa tin giấu Bản tin mật Kiểm định mã tin Bộ giải mã tin Phương tiện đa phương tiên (audio,... phương tiện chứa tin thông tin mật giấu trước Trong trường hợp cần thiết , thông tin lấy xử lý, kiểm định so sánh với thông tin giấu ban đầu 1.2 Giấu tin liệu đa phương tiện (multimedia) Kỹ thuật liệu