Sơ đồ phân loại các kỹ thuật giấu tin: Hình 1.3 Sơ đồ phân loại giấu tin Giấu tin mật Steganography: Là kỹ thuật nhúng thông tin mật vào trong một nguồn đa phương tiện mà không để ng
Trang 1MỤC LỤC
MỞ ĐẦU 1
1 Tính cấp thiết của đề tài 1
2 Mục tiêu nghiên cứu của đề tài 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Lịch sử nghiên cứu 3
5 Phương pháp nghiên cứu 3
6 Đóng góp mới của đề tài 3
7 Bố cục của đề tài 4
8 Môi trường thử nghiệm 4
CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN 8
1.1 Các khái niệm cơ bản về giấu tin 8
1.1.1 Khái niệm về giấu tin 8
1.1.2 Định nghĩa các đối tượng 8
1.1.3 Mô hình giấu tin 9
1.1.4 Phân loại giấu tin 11
1.1.5 Các yêu cầu đối với một hệ thống giấu tin 12
1.1.6 Ứng dụng giấu tin trong thực tế 14
1.2 Giấu tin trong môi trường dữ liệu đa phương tiện 15
1.2.1 Khái niệm về đa phương tiện 15
1.2.2 Giấu tin trong ảnh số 15
1.2.3 Giấu tin trong audio 18
1.2.4 Giấu tin trong video 20
1.2.5 Giấu tin trong văn bản 21
1.3 Mô hình giấu tin cơ bản 21
1.3.1 Mô hình chèn (Injection\Insertion) 21
1.3.2 Mô hình thay thế (Substiuation) 22
1.3.3 Mô hình tự sinh (Generation) 22
Trang 2CHƯƠNG 2 GIẤU TIN TRONG ẢNH NÉN 23
2.1 Tổng quan về giấu tin trong ảnh 23
2.1.1 Định nghĩa ảnh 23
2.1.2 Phân loại các phương pháp giấu tin trong ảnh 23
2.2 Các thuật toán giấu tin kinh điển 27
2.2.1 Các thuật toán giấu tin không bền vững 27
2.2.2 Các thuật toán giấu tin bền vững 39
2.3 Phát triển các thuật toán giấu tin trong ảnh nén 50
2.3.1 Các chuẩn nén ảnh hiện nay 50
2.3.2 Các thuật toán giấu tin trong ảnh nén 65
CHƯƠNG 3 SO SÁNH VÀ ĐÁNH GIÁ 73
3.1 Phần mềm bảo mật thông tin giấu trong dữ liệu đa phương tiện 73
3.1.1 Module mã hóa thông tin giấu 73
3.1.2 Module giấu tin 74
3.1.3 Module đăng ký sử dụng sản phẩm 75
3.2 Kết quả thử nghiệm 75
3.2.1 Kiểm tra tính trong suốt 76
3.2.2 Kiểm tra tỉ lệ nén 78
3.2.3 Kiểm tra tính bền vững 80
KẾT LUẬN 83
TÀI LIỆU THAM KHẢO 84
Trang 3TÓM TẮT ĐỒ ÁN
Mở đầu
Nêu rõ tính cấp thiết của đề tài, mục tiêu và đối tượng nghiên cứu của đề tài, giới thiệu lịch sử phát triển của vấn đề nghiên cứu, cấu trúc của đề tài
Chương 1 Tổng quan về kỹ thuật giấu tin
Giới thiệu tổng quan về giấu tin: Khái niệm, mô hình, phân loại và ứng dụng thực tế của giấu tin Giấu tin trên dữ liệu đa phương tiện: Khái niệm đa phương tiện, các khái niệm và đặc trưng cơ bản của một số dạng dữ liệu đa phương tiện (ảnh số, audio, video) Bài toán giấu tin trên một số môi trường đa phương tiện như ảnh số, audio, video được thực hiện như thế nào
Trình bày một số mô hình giấu tin cơ bản: Mô hình chèn (Injection\Insertion)
mô hình thay thế (Substiuation), mô hình tự sinh (Generation)
Chương 2 Giấu tin trong ảnh nén
Phân loại các phương pháp giấu tin trong ảnh Giới thiệu một số thuật toán giấu tin kinh điển: Thuật toán giấu tin không bền vững (thuật toán WL, CPT, ) và thuật toán giấu tin bền vững (thuật toán của ShoeMarker, )
Giới thiệu các phương pháp nén ảnh hiện nay: Phân loại các phương pháp, các phương pháp nén ảnh (RLE, Huffman, LZW), ứng dụng của nén trong một số chuẩn nén ảnh thông dụng (GIF, JPEG)
Phát triển các thuật toán giấu tin trong ảnh nén: Xây dựng mô hình giấu và trích tin, trình bày một số thuật toán giấu tin trong ảnh nén (FR, ST, )
Trang 4MỞ ĐẦU
1 Tính cấp thiết của đề tài
Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã hội và trong cuộc sống của chúng ta Những thuận lợi mà thông tin kỹ thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới Sự ra đời những phần mềm có tính năng rất mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm kỹ thuật số, v.v…, đã với tới thế giới tiêu dùng rộng lớn để sáng tạo, xử lý và thưởng thức các dữ liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu đã biến thành một xã hội ảo nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thương mại…Và chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn
đề an toàn thông tin như nạn ăn cắp bản quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép,
Trước thực trạng này, rất nhiều giải pháp khác nhau đã được đưa ra Nếu chỉ
sử dụng các kỹ thuật bảo vệ đơn giản như nhúng thông tin bản quyền vào vùng không gian còn trống của header thì hoàn toàn không khả quan, do thông tin phần này rất dễ bị thay đổi hay xóa bỏ Đối với các phương pháp mã hóa bảo mật thì có thể mang tính an toàn cao hơn Tuy nhiên trong hoàn cảnh hiện nay, các thuật toán
mã hóa đã dần bị chinh phục, bẻ khóa trong một thời gian “ngắn” Bài toán bảo vệ thông tin hiện nay là bài toán khó mà cả thế giới phải đối mặt và đang tìm lời giải Trong tình hình đó, ẩn dữ liệu số ra đời như một hướng tiếp cận mang đầy hứa hẹn trong giai đoạn mới của sự phát triển công nghệ Hướng tiếp cận của phương pháp này là nhúng một thông điệp bảo vệ vào trong dữ liệu mang sao cho
sự thay đổi của dữ liệu mang này là nhỏ nhất Thông điệp bảo vệ có thể là một đoạn văn bản, một hình ảnh, logo hay một tín hiệu số bất kỳ khác
Hiện nay, lĩnh vực ẩn dữ liệu có rất nhiều hướng phát triển với nhiều mục đích ứng dụng khác nhau Đi tìm giải pháp cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp đang phát triển rất nhanh này mà còn đưa ra những cơ hội kinh tế mới cần khám phá
Trang 52 Mục tiêu nghiên cứu của đề tài
Nghiên cứu các kỹ thuật giấu tin trong môi trường ảnh số đảm bảo tính ẩn của thông tin được giấu Kỹ thuật cho phép ảnh đã giấu tin không có sự thay đổi về cảm nhận của người sử dụng
Kết hợp các thuật toán mã hóa sử dụng khóa bí mật làm tăng thêm tính an toàn của tin giấu
Đề xuất một cải tiến cho thuật toán giấu tin trong ảnh sử dụng bảng màu làm tăng khả năng giấu tin, giảm thiểu sự thay đổi chất lượng của ảnh sau khi nhúng tin sao cho thông tin ít bị phát hiện nhất
Đề tài cũng tiến hành nghiên cứu đánh giá và so sánh một số kỹ thuật giấu tin khác nhau trong môi trường ảnh số Kết hợp các kỹ thuật nghiên cứu xây dựng một ứng dụng bảo mật thông tin
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: Các kỹ thuật giấu tin trong ảnh
- Nghiên cứu lý thuyết về xử lý tín hiệu số: Xử lý ảnh số
- Tìm hiểu một số hệ mã mật thông dụng (Blowfish, AES, RSA )
- Đề xuất cải tiến một số phương pháp giấu tin hiện có
- Cài đặt và thử nghiệm một số phương pháp giấu tin
- Phát triển một sản phẩm phần mềm bảo mật dữ liệu kết hợp giữa mã hóa
và giấu tin trên dữ liệu đa phương tiện (ảnh số)
Trang 64 Lịch sử nghiên cứu
Các ghi chép đầu tiên về giấu tin đã được một nhà sử học Hy Lạp là Herodotus ghi chép lại, một trong những câu chuyện kể nổi tiếng khi nói tới lĩnh vực này là câu chuyện kể về tên bạo chúa Histiaeus Trong suốt thế kỷ thứ 5 trước Công nguyên (486-425 B.C), tên này bị vua Darius giam cầm tại nhà tù Susa Trong thời gian này ông ta đã cố gắng liên lạc với con rể của mình là Aristagoras Để thực hiện được âm mưu này thì Histiaeus đã cạo đầu một tên nô lệ và xăm lên đó nội dung thông điệp cần chuyển, khi mái tóc mọc dày anh này được đưa tới Aristagoras Phương pháp này được các điệp viên Đức sử dụng vào đầu thế kỷ 20
Giải pháp nhúng thông tin mật vào các bức ảnh được khám phá và phát triển đầu tiên vào những năm 1860, do một nhiếp ảnh gia người Pháp tên Dragon thực hiện Trong thời kỳ diễn ra cuộc chiến Pháp-Phổ (1870-1871), nước Pháp bị bao vây, để trao đổi thông tin với bên ngoài người ta đã giấu thông tin mật vào trong các đoạn phim nhỏ (microfilm) rồi nhờ bồ câu đưa tin Các phim siêu hiển vi (microscopic) được dùng để nhúng thông tin và giấu vào trong các bộ phận như tai, mũi hay móng tay cũng được sử dụng trong suốt thời kỹ chiến tranh Nga-Nhật (1905) Trong thời kỳ chiến tranh thế giới thứ I, tài liệu được trao đổi giữa các điệp viên được giấu dưới các siêu dấu chấm (microdot)
Về sau, rất nhiều kỹ thuật ẩn thông tin trên giấy đã được phát triển sử dụng các tia cực tím trong đèn của máy ảnh hay các góc của một tấm ảnh bằng các phép tạo hình được các nhà họa sĩ sử dụng
5 Phương pháp nghiên cứu
- Tổng hợp và phân tích cơ sở lý thuyết các phương pháp giấu tin
- Lập luận để đưa ra một số cải tiến trong phương pháp giấu tin mới
- So sánh, đánh giá kết quả giấu tin thông qua công thức và thử nghiệm
- Cài đặt, đánh giá phần mềm theo quy trình xây dựng phần mềm
6 Đóng góp mới của đề tài
Về lý thuyết, đề tài đã nghiên cứu và đề xuất một phương pháp giấu tin trong ảnh có bảng màu, thử nghiệm trong ảnh GIF Phương pháp đề xuất thể hiện nhiều
ưu điểm so với các phương pháp trước đó Kết quả được thể hiện qua bài báo trên Tạp chí Khoa học và Công nghệ-Đại học Thái Nguyên
Trang 7Ngoài ra, đề tài được xem như một tài liệu tổng hợp các kỹ thuật giấu tin, có thể sử dụng làm tài liệu tham khảo chuyên đề đối với ngành Công nghệ thông tin
Về sản phẩm, đề tài đã xây dựng hoàn thiện phần mềm để thực hiện các khâu
mã hóa, giải mã, giấu và trích tin trong hệ thống trao đổi tin mật trên cơ sở các phương pháp giấu tin đã trình bày Sản phẩm đã được giới thiệu trên các diễn đàn
về công nghệ thông tin và được nhiều người sử dụng
7 Bố cục của đề tài
Ngoài phần mở đầu, kết luận, phụ lục, đề tài gồm 3 chương với các nội dung chính sau:
Chương 1 Tổng quan về kỹ thuật giấu tin
Chương này trình bày tổng quan về giấu tin: Khái niệm, mô hình, phân loại
và ứng dụng thực tế của giấu tin
Chương 2 Giấu tin trong ảnh nén
Chương này trình bày tổng quan về giấu tin trong ảnh: Khái niệm ảnh, ảnh nén, phân loại giấu tin trong ảnh, các chuẩn nén ảnh hiện nay Giới thiệu các thuật toán giấu tin kinh điển, phát triển các thuật toán giấu tin trong ảnh nén
Chương 3 So sánh và đánh giá
Chương này trình bày một số thử nghiệm và so sánh đánh giá giữa một số thuật toán giấu tin
8 Môi trường thử nghiệm
Toàn bộ những cài đặt thử nghiệm được phát triển trên hai môi trường chính
là Borland Delphi 7.0 và Matlab 7.0
Trang 8DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
Ký hiệu Ý nghĩa
LSB Least Significant Bit (Bit có trọng số thấp)
WL Thuật toán giấu tin trong ảnh của Wu M.Y và Lee J.H
CPT Thuật toán giấu tin của Chen-Pan-Tseng
HT Thuật toán giấu tin của Nguyễn Văn Tảo-Bùi Thế Hồng
ST Thuật toán giấu tin trong ảnh của Trần Quang Sơn-Nguyễn Văn Tảo
EZ Thuật toán giấu tin trong ảnh của Romana Machado
FR Thuật toán giấu tin trong ảnh của Jessica Fridrich-Du Rui
GIF Graphics Interchange Format
JPEG Joint Photographic Experts Group
MSE Mean squared error
PSNR Peak signal-to-noise ratio
DFT Discrete fourier transform (Biến đổi Fourier rời rạc thuận)
IDFT Invert discrete fourier transform (Biến đổi Fourier rời rạc nghịch) DCT Discrete cosine transform (Biến đổi cosin rời rạc thuận)
IDCT Invert discrete cosine transform (Biến đổi cosin rời rạc nghịch)
DWT Discrete wavelet transform (Biến đổi wavelet thuận)
IDWT Invert discrete wavelet transform (Biến đổi wavelet nghịch)
SR Similitary Ratio
Trang 9DANH MỤC HÌNH VÀ BẢNG
Hình 1.1 Mô hình biểu diễn quá trình giấu tin 10
Hình 1.2 Mô hình biểu diễn quá trình trích tin giấu 10
Hình 1.3 Sơ đồ phân loại giấu tin 11
Hình 1.4 Mối tương quan giữa ba tiêu chí 13
Hình 1.5 Mô hình lượng tử hóa lấy mẫu tín hiệu 18
Hình 1.6 Biểu diễn tín hiệu âm thanh trong miền thời gian 19
Hình 1.7 Biểu diễn tín hiệu âm thanh trong miền tần số 19
Hình 1.8 Mô hình biểu diễn của video số 20
Hình 2.1 Phân loại phương pháp giấu tin trong ảnh 24
Hình 2.2 Cấu trúc từ điển LZW 54
Hình 2.3 Cấu trúc khối bảng màu của ảnh GIF 59
Hình 2.4 Cấu trúc bộ mô tả ảnh GIF 59
Hình 2.5 Sơ đồ thuật toán nén JPEG 61
Hình 2.6 Sơ đồ thuật toán giải nén JPEG 61
Hình 2.5 Sơ đồ thuật toán biến đổi nhanh Cosin 62
Hình 2.7 Sơ đồ thuật toán biến đổi nhanh Cosin ngược 63
Hình 2.8 Minh họa khối Zig-Zag 65
Hình 2.9 Mô hình giấu tin trong ảnh nén có bảo toàn thông tin 66
Hình 2.10 Mô hình trích tin trong ảnh nén có bảo toàn thông tin 67
Hình 2.11 Mô hình giấu tin trong ảnh nén không bảo toàn thông tin 67
Hình 2.12 Mô hình trích tin trong ảnh nén không bảo toàn thông tin 68
Hình 3.1 Giao diện sử dụng chính của chương trình 73
Hình 3.2 Giao diện module mã hóa thông tin giấu 74
Hình 3.3 Giao diện module trích tin 74
Hình 3.4 Giao diện module đăng ký sử dụng sản phẩm 75
Hình 3.5 Kết quả thử nghiệm giấu tin trong ảnh GIF sử dụng hai thuật toán ST và FR .76
Trang 10Hình 3.6 Kết quả thử nghiệm giấu tin trong ảnh xám sử dụng hai thuật toán HT và
WL .77Hình 3.7 Đường biểu diễn hệ số PSNR của ảnh trước và sau khi giấu tin với thuật toán ST và FR trên 310 mẫu ảnh khác nhau 78Hình 3.8 Kết quả thử nghiệm giấu tin trong ảnh PNG sử dụng thuật toán HT 79Hình 3.9 Kết quả thử nghiệm giấu tin trong ảnh GIF sử dụng thuật toán ST 79Hình 3.10 Thử nghiệm giấu và trích tin trên ảnh với hai thuật toán Shoemarker
và Shoemarker cải tiến 81Hình 3.11 Đánh giá chất lượng ảnh sau khi giấu tin giữa thuật toán của Shoemarker với thuật toán Shoemarker cải tiến .81Hình 3.12 Đánh giá tính bền vững trước các tấn công của thuật toán Shoemarker
và thuật toán Shoemarker cải tiến với hệ số tương quan k = 50 82
Trang 11CHƯƠNG 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN
1.1 Các khái niệm cơ bản về giấu tin
1.1.1 Khái niệm về giấu tin
Giấu thông tin (Datahiding) là một kỹ thuật nhúng thông tin (embeding) vào trong một đối tượng dữ liệu vỏ (host data) mà không gây ra sự nhận biết về sự tồn tại của thông tin giấu (invisible)
Các yêu cầu đòi hỏi chính trong một giải thuật giấu tin chung là:
- Dung lượng chứa (capacity)
- Chất lượng tín hiệu mang (cover) sau khi nhúng còn gọi là khả năng vô hình (invisible)
- Tính bền vững trước các tác nhân tấn công (robust)
1.1.2 Định nghĩa các đối tượng
1.1.2.1 Thông tin mật
Định nghĩa: Là thông tin nhúng vào đối tượng chứa, và là thông tin cần
được bảo vệ Tùy theo từng phương pháp cụ thể, thông tin này sẽ được bảo
vệ với các mức độ khác nhau
Đặc điểm:
- Định dạng: Không giới hạn về kiểu định dạng
- Kích thước: Đây là một trong các yếu tố chính cần phải được xem xét trước khi sử dụng phương pháp nào Tùy thuộc vào yêu cầu bảo mật và lĩnh vực ứng dụng mà kích thước của nó sẽ khác nhau
1.1.2.2 Đối tượng chứa
Trang 12 Định nghĩa: Là đối tượng dùng để chứa thông điệp mật Đối tượng này còn
được gọi là Cover-<data type>, tùy thuộc vào loại dữ liệu mà nó sẽ có các tên gọi khác nhau
Định nghĩa: Là đối tượng chứa sau khi nhúng tin mật, còn gọi là
Stego-<data type>, data type tương ứng với kiểu dữ liệu của đối tượng chứa
Định nghĩa: Là khóa tham gia vào quá trình nhúng và trích tin, tùy theo từng
thuật toán mà khóa này có tham gia hay không Đối tượng này còn có tên gọi
là Stego-Key
Đặc điểm:
- Kích thước: Tùy thuộc vào các thuật toán tạo khóa
1.1.3 Mô hình giấu tin
Giấu thông tin vào phương tiện chứa và trích lấy thông tin ra là hai quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như sau:
Trang 13Hình 1.1 Mô hình biểu diễn quá trình giấu tin
Thông tin cần giấu tùy theo mục đích của người sử dụng, nó có thể là thông điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền
- Phương tiện chứa: Ảnh, text, audio… là môi trường để nhúng tin
- Bộ nhúng thông tin: Là những chương trình thực hiện việc giấu tin
- Đầu ra là các phương tiện chứa đã có tin giấu trong đó
Trích thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là các thông tin đã được giấu vào phương tiện chứa Phương tiện chứa sau khi trích lấy thông tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau
Hình 1.2 Mô hình biểu diễn quá trình trích tin giấu
Lược đồ chỉ ra các công việc giải mã thông tin đã giấu Sau khi nhận được đối tượng phương tiện chứa có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng Kết quả thu được gồm phương tiện chứa gốc và thông tin đã giấu Bước tiếp theo thông tin đã giấu sẽ được xử lý kiểm định so sánh với thông tin ban đầu
Trang 141.1.4 Phân loại giấu tin
Kỹ thuật giấu tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin ở hai khía cạnh:
- 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
Sơ đồ phân loại các kỹ thuật giấu tin:
Hình 1.3 Sơ đồ phân loại giấu tin
Giấu tin mật (Steganography): Là kỹ thuật nhúng thông tin mật vào trong
một nguồn đa phương tiện mà không để người khác nhận biết về sự tồn tại của thông tin được giấu Kỹ thuật này đang được nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nước trên thế giới Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu được càng nhiều càng tốt và quan trọng
là người khác khó phát hiện được một đối tượng có bị giấu tin bên trong hay không bằng kỹ thuật thông thường
Thủy vân số (Watermarking): Trong kỷ nguyên số, thông tin số được sử
dụng rộng rãi trong một môi trường mở, tài nguyên được phân phối cho nhiều người sử dụng, nhu cầu được bảo vệ bản quyền và sở hữu trí tuệ các sản phẩm số đã trở thành một vấn đề quan trọng và được nhiều cơ sở nghiên cứu quan tâm Thuỷ ấn hay nhúng thuỷ vân trong một phương tiện là một công nghệ mới được đánh giá mang lại nhiều hứa hẹn trong ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc, điều khiển truy cập đối với các dữ liệu đa phương tiện Đánh dấu vào đối tượng nhằm khẳng định bản quyền của đối tượng chứa thông tin tập trung đảm bảo một số các yêu cầu như đảm bảo tính
Giấu tin mật
(Steganography)
Thuỷ vân số (Watermarking)
Giấu thông tin (Information hiding)
Thủy vân bền vững (Robust Watermarking )
Thủy vân dễ vỡ (Fragile Watermarking )
Trang 15bền vững của thông tin giấu, đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số Thủy vân số đựợc chia làm hai loại là thủy vân bền vững và thủy vân
dễ vỡ Thủy vân bền vững cần bảo toàn được các thông tin thủy vân trước các tấn công như dịch chuyển, cắt xén, xoay đổi với ảnh Ngược lại thủy vân
dễ vỡ cần phải dễ bị phá hủy khi gặp các sự tấn công nói trên
1.1.5 Các yêu cầu đối với một hệ thống giấu tin
1.1.5.1 Tính bền vững
Thể hiện ở khả năng ít thay đổi trước các tấn công bên ngoài như thay đổi tính chất (thay đổi tần số lấy mẫu, số bit trên một mẫu, độ lớn biên độ, ), các phép biến đổi affine (dịch, quay, tỉ lệ, ), nén (JPEG compression, ), chuyển đổi định dạng (JPG↔BMP, WAV↔MP3, ) Hiện nay, chưa có một phương pháp nào có thể đảm bảo được mọi tính chất một cách tuyệt đối
Với tùy từng ứng dụng cụ thể thì mức độ yêu cầu của tính chất này thể hiện khác nhau
Ví dụ: Đối với các hệ thống giấu tin bền vững-Watermark sử dụng trong bảo
vệ bản quyền số, thì yêu cầu về tính bền vững cao hơn so với các hệ thống giấu tin không bền vững-Steganography
1.1.5.2 Khả năng không bị phát hiện
Tính chất này thể hiện ở khả năng khó bị phát hiện, nghĩa là khó xác định được một đối tượng có chứa thông tin mật hay không Để nâng cao khả năng này, hầu hết các phương pháp ẩn dữ liệu dựa trên đặc điểm của hai hệ tri giác người: Hệ thị giác (HVS) và hệ thính giác (HAS) Đây là hai cơ quan chủ yếu được dùng để đánh giá chất lượng của một tín hiệu
Khả năng khó bị phát hiện tin giấu phụ thuộc vào hai yếu tố sau:
Kỹ thuật nhúng: Dữ liệu được nhúng phải phù hợp với đối tượng chứa và
thuật toán nhúng Để thực hiện tốt yêu cầu này, ngoài những kinh nghiệm có trong lĩnh vực ẩn dữ liệu, người thực hiện cần phải có kiến thức về các loại định dạng tệp tin Vì có thể với cùng một thông tin mật nhưng nó sẽ rất khó
bị phát hiện trên đối tượng A, nhưng lại quá dễ thấy khi giấu vào đối tượng
B
Trang 16 Kinh nghiệm của kẻ tấn công: Nếu như kẻ tấn công có nhiều kinh nghiệm
thì khả năng phát hiện ra một đối tượng có chứa thông tin mật là không quá
khó
1.1.5.3 Khả năng lưu trữ (khả năng giấu)
Khả năng này thể hiện ở lượng thông tin của thông điệp mật có thể nhúng trong đối tượng chứa Do tính bảo mật nên khả năng lưu trữ luôn bị hạn chế Do đó trong trường hợp muốn ẩn một thông tin có kích thước tương đối lớn, ta thường chia thành nhiều phần và thực hiện nhúng từng phần
Trong thực tế, khi quyết định chọn phương pháp nào, ta thường lấy ba tiêu chí trên làm cơ sở Tùy thuộc vào từng ứng dụng mà người ta sẽ ưu tiên cho tiêu chí nào hơn Có thể minh họa tiêu chí trên như sau:
Hình 1.4 Mối tương quan giữa ba tiêu chí
1.1.5.4 Khả năng vô hình
Tùy theo mục đích sử dụng, yêu cầu về tính chất này khác nhau:
Ứng dụng giấu tin mật-Steganography: Thông tin mật được giấu phải tuyệt
đối bí mật, khi đó tiêu chí này được chú ý nhiều
Ứng dụng thủy vân số-Watermark: Trong một số ứng dụng, người dùng có
thể đọc thấy thông tin Watermark nhưng không chỉnh sửa được (thủy vân hiện), hoặc có những ứng dụng thông tin Watermark được giữ bí mật (thủy vân ẩn)
1.1.5.5 Tính chắc chắn
Tính chất này quan trọng trong khi chứng nhận bản quyền, xác thực,
Trang 171.1.5.6 Tính bảo mật
Có nhiều mức bảo mật khác nhau nhưng nhìn chung có mức chính:
- Người dùng hoàn toàn không biết đến sự tồn tại của tin mật
- Người dùng biết có thông tin mật nhưng phải có khóa truy cập
1.1.6 Ứng dụng giấu tin trong thực tế
Giấu thông tin mật: Các thông tin cần bảo mật được giấu trong các đối
tượng vỏ và các đối tượng này có thể truyền công khai tới người nhận thực mà không gây sự chú ý nào của đối phương Người nhận sẽ sử dụng các thuật toán và khóa nào đó (đã thỏa thuận giữa người gửi và người nhận) để khôi phục lấy thông tin mật
Bảo vệ bản quyền tác giả: Đây là ứng dụng phổ biến nhất của thủy vân số
Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả được nhúng vào trong các sản phẩm, thuỷ vân đó chỉ một mình người chủ sở hữu hợp pháp các sản phẩm đó
có và được dùng làm minh chứng cho bản quyền sản phẩm Giả sử có một thành phẩm dữ liệu dạng đa phương tiện như ảnh, âm thanh, video và cần được lưu thông trên mạng Để bảo vệ các sản phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để “dán tem bản quyền” vào sản phẩm này Việc “dán tem” 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, đồng thời 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 này mà không được phép của người chủ sở hữu thì chỉ còn cách là phá huỷ sản phẩm
Nhận thực thông tin hay phát hiện xuyên tạc thông tin: Một tập các thông
tin sẽ được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không Các thuỷ vân nên được ẩn để tránh được sự tò mò của kẻ thù Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin cao và thuỷ vân không cần bền vững
Điều khiển truy cập: Các thuỷ vân trong những trường hợp này được sử dụng để điều khiển truy cập đối với các thông tin 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 Ví dụ như hệ thống quản lý sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũng yêu cầu thuỷ
Trang 18vân phải được bảo đảm an toàn và cũng sử dụng phương pháp phát hiện thuỷ vân đã giấu mà không cần thông tin gốc
Giấu vân tay hay dán nhãn: Thuỷ vân trong những ứng dụng này đựơc sử
dụng để nhận diện người gửi hay người nhận của một thông tin nào đó Ví dụ như các vân khác nhau sẽ đượ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
1.2 Giấu tin trong môi trường dữ liệu đa phương tiện
1.2.1 Khái niệm về đa phương tiện
Đa phương tiện (Multimedia) là nhiều hệ thống truyền thông, các dữ liệu hay thông tin đa phương tiện gồm: Văn bản (text), hình họa (graphic), hoạt hình
(animation), ảnh chụp (image), audio, video,
1.2.2 Giấu tin trong ảnh số
Ảnh trong thực tế là một ảnh liên tục về không gian và về giá trị độ sáng Để
có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hóa ảnh Trong quá trình
số hóa, người ta biến đổi tín hiệu liên tục sang tín hiệu rời rạc thông qua quá trình lấy mẫu (rời rạc hóa về không gian) và lượng tử hóa thành phần giá trị (rời rạc hóa biên độ giá trị) mà về nguyên tắc bằng mắt thường không phân biệt được hai mức
kề nhau
1.2.2.1 Các đặc trưng cơ bản của ảnh số
Với một bức ảnh bất kỳ thì ngoài những đặc trưng cơ bản như kích thước, độ sâu của màu (số bit thông tin biểu diễn một điểm ảnh) thì màu sắc của bức ảnh là một đặc trưng quan trọng trong cảm nhận sinh lý của con người Đặc trưng về màu sắc đóng vai trò rất quan trọng trong hệ giấu tin trong ảnh số Nó quyết định tính vô hình của thông tin được giấu
Khái niệm về màu sắc
Màu sắc là thuộc tính của một đối tượng nào đó, được cảm nhận thông qua thị giác Sự nhận thức về màu sắc là rất quan trọng trong đời sống của con người Sự nhận thức về màu sắc phụ thuộc vào cả tính chất vật lý của ánh sáng
và quá trình xử lý của thị giác với sự góp phần rất quan trong của kinh nghiệm
Trang 19Con người có thể dùng thông tin về màu sắc để phân biệt đối tượng, vật liệu, con người…và ngay cả không gian và thời gian
Có thể phân loại theo các mô hình màu khác nhau:
Mô hình hướng thiết bị: Định nghĩa theo thuộc tính của thiết bị dùng để
hiển thị màu như màn hình tivi, màn hình máy tính và máy in Các mô hình màu hướng thiết bị là: RGB, CMY, YIQ Người dùng rất khó xử lý trên các mô hình này vì nó không phản ánh trực tiếp các khái niệm trực giác màu sắc, sắc độ(độ đậm nhạt của màu sắc) và cường độ sáng
Mô hình hướng người dùng: Dựa trên khả năng cảm nhận màu sắc thông
qua các đối tượng trực giác màu sắc, sắc thái và cường độ sáng Các mô hình màu hướng người dùng là: HSL, HSV, HSB, MTM, L*u*v, L*a*b, L*c*h
Có thể phân loại theo các không gian màu khác nhau:
Không gian màu: Là một cách biểu diễn toán học một tập các màu Các
không gian màu có thể chia làm hai loại:
Không gian màu độc lập thiết bị: Được chia thành nhiều không gian màu được định nghĩa theo chuẩn CIE như: XYZ, L*u*v, L*a*b, ứng dụng chính cho mục đích đo màu
Không gian màu phụ thuộc thiết bị được chia làm 3 lớp rộng: Các không gian màu in CMY, CMYK dựa trên màu mực được dùng trong ngành in và nhiếp ảnh Các không gian màu màn hình là các biến thể của không gian màu RGB, các không gian mà video- tất cả đều tương
tự như không gian màu YUV được phân thành các không gian màu riêng tuỳ vào ứng dụng
Khoảng cách màu
Áp dụng công thức tính khoảng cách Euclidean giữa hai điểm
) , , , , ,
p q
p q
p d
1
2 2
2 2 2 2 1
(
Ví dụ: Khoảng cách màu trong không gian RGB với mỗi màu được mã
hóa bởi ba giá trị là R, G, B (Red-Green-Blue)
Trang 202 1 2 2 1 2 2 1
2
* 1
* 2 2
* 1
* 2 2
* 1
*
(L L a a b b
Lược đồ màu (Histogram)
Lược đồ màu của một bức ảnh chính là bảng thống kê tần suất xuất hiện của các màu trong bức ảnh đó:
N
m
i Trong đó: H i là tần suất xuất hiện của màu i
i
m là số lượng điểm ảnh có giá trị màu i, N là tổng số điểm ảnh
Lược đồ màu có một ý nghĩa rất quan trọng cho biết sự phân bố màu sắc trong một bức ảnh Lược đồ màu bất biến với các phép lật ảnh, quay trái, quay phải ảnh
1.2.2.2 Giấu tin trong môi trường ảnh số
Giấu thông tin trong ảnh, hiện nay, là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong các hầu hết các ứng dụng bảo
vệ an toàn thông tin như: Nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật Chính vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các nhà cá nhân, tổ chức, trường đại học,
và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi
và chẳng ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa Ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh đã đem lại rất nhiều những ứng dụng quan trọng trên nhiều lĩnh vực trong đời sống xã hội Ví dụ như đối với các nước phát triển, chữ ký tay đã được số hoá và lưu trữ sử dụng như
là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để nhận thực trong các thẻ tín dụng của người tiêu dùng Phần mềm WinWord của MicroSoft cũng cho phép người dùng lưu trữ chữ ký trong ảnh nhị phân rồi gắn vào vị trí nào
đó trong file văn bản để đảm bảo tính an toàn của thông tin Tài liệu sau đó được
Trang 21truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng Theo đó, việc nhận thực chữ ký, xác thực thông tin đã trở thành một vấn đề cực kỳ quan trọng khi mà việc
ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kỳ quốc gia nào, tổ chức nào Thêm vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số hoá và lưu trữ trong
hệ thống máy tính hay trên mạng Chúng rất dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Việc nhận thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng, cấp thiết Và một đặc điểm của giấu thông tin trong ảnh
đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách mà truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu thông tin thì chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh xám
1.2.3 Giấu tin trong audio
Audio là một phương pháp cho phép có thể trình diễn lại âm thanh từ các mẫu âm thanh đã được số hóa (trừ midi) Âm thanh tương tự sẽ được chuyển đổi sang âm thanh dạng số thông qua tỉ lệ lấy mẫu và độ phân giải bit Nó có thể chứa nhiều kênh (2 kênh cho âm thanh stereo hoặc nhiều hơn cho âm thanh vòm) Tỉ lệ lấy mẫu cao cũng như độ phân giải bit cao sẽ tăng chất lượng, độ chính xác giống nhau của âm thanh sau khi số hóa
Hình 1.5 Mô hình lượng tử hóa lấy mẫu tín hiệu
1.2.3.1 Các đặc trưng cơ bản của audio
Các đặc trưng âm thanh trong miền thời gian: Biểu diễn âm thanh trong miền thời gian hay thời gian-biên độ là kỹ thuật trình diễn tín hiệu cơ bản nhất, trong đó tín hiệu được biểu diễn như biên độ biến đổi theo thời gian Hình 1.6 là ví dụ tín
Trang 22hiệu audio trong miền thời gian Im lặng (câm) được biểu diễn bởi giá trị 0 Giá trị tín hiệu có thể âm hay dương phụ thuộc vào áp suất âm thanh cao hơn hay thấp hơn
áp suất cân bằng khi im lặng Giả sử rằng sử dụng 16 bit để mã hóa một mẫu âm thanh, thì ta có giá trị tín hiệu sẽ trong khoảng từ -32768 đến 32767
Hình 1.6 Biểu diễn tín hiệu âm thanh trong miền thời gian
Các đặc trưng âm thanh trong miền tần số: Biểu diễn miền thời gian không chỉ ra được các thành phần tần số và phân bổ tần số của tín hiệu âm thanh Biểu diễn miền tần số suy diễn từ biểu diễn miền không gian bằng các phép biến đổi không gian tần số như FCT, FFT, DCT, DFT, DWT Trong miền tần số, tín hiệu được biểu diễn bởi biên độ biến đổi theo tần số, chỉ ra tổng năng lượng tại các tần
số khác nhau Biểu diễn miền tần số của tín hiệu được gọi là phổ của tín hiệu
Hình 1.7 Biểu diễn tín hiệu âm thanh trong miền tần số
1.2.3.2 Giấu tin trong môi trường audio
Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision System) còn kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System) Và một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn
Trang 23nên đã gây khó dễ đối với các phương pháp giấu tin trong audio Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng Các mô hình phân tích tâm lý đã chỉ ra điểm yếu trên và thông tin này
sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin Vấn đề khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin Các phương pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người
1.2.4 Giấu tin trong video
Video số là một phương pháp cho phép có thể trình diễn lại video tương tự từ một tập các ảnh số và audio được sắp xếp theo thứ tự một cách nhanh chóng và chính xác Ta có thể hiểu video số là tổ hợp của text, audio số và ảnh số theo chiều thời gian Trong khái niệm về video mỗi một bức ảnh được gọi là một frame-khung Tốc đố tái trình diễn video sẽ được tính theo số khung trên giây (FPS)
Hình 1.8 Mô hình biểu diễn của video số
1.2.4.1 Các đặc trưng cơ bản của video
Video số là một tổ hợp của text, audio số và ảnh số cho nên đặc trưng cơ bản
sẽ mang đầy đủ các đặc trưng của text, audio số và ảnh số
Trang 241.2.4.2 Giấu tin trong môi trường video
Cũng giống như giấu thông tin trong ảnh hay trong audio, giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả Ta
có thể lấy một ví dụ là các hệ thống chương trình trả tiền xem theo đoạn với các video clip (pay per view application) Các kỹ thuật giấu tin trong video cũng được phát triển mạnh mẽ và cũng theo hai khuynh hướng là thuỷ vân số và data hiding Nhưng phần giới thiệu này chỉ quan tâm tới các kỹ thuật giấu tin trong video Một phương pháp giấu tin trong video được đưa ra bởi Cox là phương pháp phân bố đều
Ý tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải theo tần số của dữ liệu chứa gốc Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các
hệ số truyền sóng riêng để giấu tin Trong các thuật toán khởi nguồn thì thường các
kỹ thuật cho phép giấu các ảnh vào trong video nhưng thời gian gần đây các kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video Như phương pháp của Swanson đã sử dụng phương pháp giấu theo khối, phương pháp này đã giấu được hai bít vào khối 8×8 Hay gần đây nhất là phương pháp của Mukherjee là kỹ thuật giấu audio vào video sử dụng cấu trúc lưới đa chiều
1.2.5 Giấu tin trong văn bản
Giấu tin trong văn bản dạng text khó thực hiện hơn do có ít các thông tin dư thừa, để làm được điều này người ta phải khéo léo khai thác các dư thừa tự nhiên của ngôn ngữ Một cách khác là tận dụng các định dạng văn bản (mã hoá thông tin vào khoảng cách giữa các từ hay các dòng văn bản)
Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không riêng gì dữ liệu đa phương tiện như ảnh, audio, video Gần đây đã có một số nghiên cứu giấu tin trong cơ sở dữ liệu quan hệ, các gói IP truyền trên mạng chắc chắn sau này còn tiếp tục phát triển tiếp cho các môi trường dữ liệu số khác
1.3 Mô hình giấu tin cơ bản
1.3.1 Mô hình chèn (Injection\Insertion)
Kỹ thuật Injection hay còn gọi là kỹ thuật Insertion (kỹ thuật chèn), sử dụng
kỹ thuật này để giấu dữ liệu ẩn vào một đoạn của file, mà đoạn đó hầu như không được để ý trong các ứng dụng xử lý Bằng cách làm này, có thể tránh được sự thay đổi những bit của file đó Ví dụ, có thể cộng thêm một số byte vô hại vào một file
Trang 25thực thi hay file nhị phân, bởi vì những byte đó không ảnh hưởng tới quá trình xử lý đồng thời người sử dụng cũng không thể nhận thức được rằng file đó đã chứa các thông tin đã được cộng thêm vào Mặc dù vậy khi sử dụng kỹ thuật này thì nó sẽ làm tăng kích thước của file chứa tin đó, tăng rất nhiều nếu số lượng tin giấu lớn và
do đó sẽ gây ra sự nghi ngờ
Nếu ứng dụng kỹ thuật này vào giấu tin trong ảnh số thì chỉ có thể giấu tin với số lượng có hạn nhất định tùy thuộc vào kích thước của file chứa gốc
1.3.2 Mô hình thay thế (Substiuation)
Phương pháp này sử dụng việc thay thế các thông tin ít quan trọng trong việc quyết định nội dung của file gốc và dữ liệu được thay vào các bit đó ít gây sự thay đổi lớn đến chất lượng của file chứa gốc
Ưu điểm của kỹ thuật này là file chứa gốc sau khi đã giấu tin thì kích thước không thay đổi
Nhược điểm của kỹ thuật này là làm giảm chất lượng của file chứa gốc ban đầu, ngoài ra số lượng tin giấu cũng bị hạn chế do phải phụ thuộc vào số bit ít quan trọng trong file chứa gốc
1.3.3 Mô hình tự sinh (Generation)
Không giống như hai kỹ thuật trên, kỹ thuật tự sinh không phụ thuộc vào file chứa gốc tồn tại Kỹ thuật này sẽ tạo ra một file chứa với mục đích duy nhất là để giấu tin Hai phương pháp trên người ta có thể so sánh đối chiểu hai file để đưa ra kết luận Với kỹ thuật này thì không phải lo lắng đến điều đó bời vì chỉ có một file gốc duy nhất và cũng là file chứa tin
Tuy nhiên để áp dụng kỹ thuật này thì rất phức tạp phụ thuộc rất nhiều yếu tố
để có thể tạo ra file gốc như yêu cầu
Trang 26CHƯƠNG 2 GIẤU TIN TRONG ẢNH NÉN
2.1 Tổng quan về giấu tin trong ảnh
Như đã nêu trước đó, ảnh thường được sử dụng phổ biến là một đối tượng mang tin (chứa tin) trong giấu tin Trong miền ảnh số có rất nhiều các định dạng ảnh khác nhau với nhiều ứng dụng riêng Với các định dạng ảnh khác nhau lại tồn tại tương ứng nhiều thuật toán giấu tin khác nhau
2.1.1 Định nghĩa ảnh
Trong máy tính, ảnh là sự kết hợp của nhiều giá trị cường độ sáng khác nhau trong nhiều vùng khác nhau của ảnh Những giá trị này được mô tả dưới dạng lưới các điểm và các điểm riêng biệt này được gọi là điểm ảnh-pixel
Hầu hết ảnh số được biểu diễn dưới dạng ma trận hai chiều các điểm ảnh, mỗi điểm ảnh mô tả vị trí và giá trị màu của ảnh Các điểm ảnh này được hiển thị trên máy tính theo hàng ngang, từ trái sang phải và từ trên xuống dưới
Số lượng bit dữ liệu mô tả màu sắc ảnh được gọi là độ sâu màu (bit depth) và đồng thời là số bit dữ liệu mô tả một điểm ảnh Độ sâu màu nhỏ nhất là 1 tương ứng với ảnh biểu diễn dạng đen trắng Ảnh xám sử dụng độ sâu màu là 8 tương ứng với
số lượng màu biểu diễn tối đa 256 màu Hiện nay, ảnh thường được lưu trữ dạng 24 bit và sử dụng chuẩn màu thực (true color) RGB (Red-Green-Blue)
2.1.2 Phân loại các phương pháp giấu tin trong ảnh
Giấu tin trong ảnh có thể chia ra làm hai nhóm: Nhóm sử dụng miền không gian ảnh và nhóm sử dụng miền không gian biến đổi Nhóm phương pháp sử dụng miền không gian ảnh, thông tin giấu được nhúng trực tiếp vào giá trị màu của điểm ảnh Nhóm phương pháp sử dụng miền không gian biến đổi, thông tin giấu được nhúng vào miền giá trị ảnh đã được biến đổi Có rất nhiều thuật toán giấu tin được phát triển theo hai nhóm phương pháp trên
Nhóm sử dụng miền không gian ảnh bao gồm các phương pháp xử lý bit
(bit-wise) Các thông tin giấu được nhúng vào dữ liệu ảnh như một phần nhiễu (noise)
mà không gây ra ảnh hưởng về cảm nhận ảnh ban đầu Những phương pháp này
Trang 27thường được sử dụng với các định dạng ảnh không nén hoặc nén không tổn hao dữ liệu
Nhóm sử dụng miền không gian biến đổi thường kết hợp với các thuật toán
biển đổi miền dữ liệu ảnh (FFT, DFT, DCT, DWT ) Các thông tin giấu được
nhúng vào vùng thông tin có ý nghĩa của ảnh Quá trình này tạo ra tính bền vững cho thông tin giấu Những phương pháp này thường được sử dụng với mục đích tạo
ra tính bền vững cho thông tin giấu trước các tấn công như nén tổn hao dữ liệu
Hình 2.1 Phân loại phương pháp giấu tin trong ảnh
2.1.2.1 Nhóm sử dụng miền không gian ảnh
Các phương pháp thuộc nhóm này thường xử lý giấu tin trực tiếp trên vùng
dữ liệu thông tin ảnh ít gây ra sự thay đổi về cảm nhận thị giác của con người Ưu điểm chung của các phương pháp này là đơn giản, xử lý nhanh, không gian giấu tin lớn, sự thay đổi về cảm nhận nhỏ Nhược điểm chung độ bền vững tin giấu trước các tấn công thấp
Phương pháp LSB
LSB (Least significant bit) là một phương pháp giấu tin đơn giản, được
sử dụng phổ biến trong giấu tin trong ảnh Các LSB (bit mang ý nghĩa ít quan trọng) thường là các bit có trọng số thấp sẽ được thay thế bởi các bit thông tin giấu Ví dụ, khi sử dụng ảnh màu 24 bit giấu thông tin nhị phân 110, có thể sử dụng các LSB của giá trị màu RGB
01100011 10101101
11010010
00001100 11000100
10100110
11011100 00011100
00101101
01100011 0
1010110 11010010
00001100 1
1100010 10100110
11011100 1
0001110 00101101
Trang 28Trung bình chỉ một nửa số lượng bit của dữ liệu ảnh sẽ được thay đổi theo thông tin giấu khi sử dụng tối đa khả năng giấu tin của ảnh Có tất cả là 256 mức cường độ sáng cho mỗi giá trị màu chính, việc thay đổi LSB của một điểm ảnh sẽ tạo ra một sự thay đổi rất nhỏ về cường độ sáng của các màu Quá trình này không làm ảnh hưởng đến cảm nhận của mắt người đối với ảnh trước và sau khi giấu tin Sự lựa chọn một ảnh tốt để giấu tin sẽ tạo ra sự khác biệt nhỏ nhất
có thể giữa ảnh gốc và ảnh đã chứa tin giấu
Trong ví dụ trên việc giấu tin là đơn giản và có thể dễ dàng phát hiện tin được giấu Để tăng thêm tính bảo mật cho tin giấu, quá trình giấu và trích tin thường được kết hợp thêm khóa bí mật quy định cụ thể một số điểm ảnh được thay đổi Nếu đối phương nghi ngờ ảnh có chứa tin giấu thì cũng không có cách nào biết đích xác điểm ảnh nào đã được thay đổi nhằm mục đích trích lại tin giấu mà không có khóa bí mật
Phương pháp LSB thường được sử dụng giấu tin trong ảnh bitmap hoặc các định dạng ảnh nén không tổn hao dữ liệu
Phương pháp LSB với ảnh sử dụng bảng màu
Ảnh sử dụng bảng màu như định dạng Bitmap, GIF, hay một số các định dạng khác được sử dụng phổ biến trên mạng Internet Ảnh sử dụng bảng màu có
độ sâu màu không quá 8 tương ứng với số màu biểu diễn tối đa là 256 màu khác nhau Trong ảnh sử dụng bảng màu, giá trị mỗi điểm ảnh không là giá trị màu tương ứng của điểm ảnh đó mà là chỉ số ánh xạ màu tương tứng trong bảng màu Chính vì vậy phương pháp LSB với ảnh sử dụng bảng màu không thể sử dụng trực tiếp LSB của các điểm ảnh Với phương pháp LSB trong ảnh sử dụng bảng màu có hai hướng tiếp cận: LSB trên bảng màu và LSB trên dữ liệu chỉ số
2.1.2.2 Nhóm sử dụng miền không gian biến đổi
Nhược điểm chính của các phương pháp giấu tin sử dụng miền không gian ảnh là tính bền vững không cao Với nhóm các phương pháp này tin giấu thường bị mất do quá trình xử lý biến đổi ảnh (lọc ảnh, biến đổi định dạng ) Xuất phát từ yêu cầu tính bền vững của tin giấu, nhóm các phương pháp sử dụng miền không gian biến đổi ra đời Ý tưởng chính của nhóm các phương pháp này là sử dụng các phép biến đổi không gian ảnh để thực hiện giấu tin trên các miền không gian bền vững hơn Có rất nhiều phương pháp thuộc nhóm sử dụng miền không gian biến đổi như: Sử dụng miền biến đổi DFT, DCT, DWT
Trang 29Ưu điểm chính của nhóm phương pháp này là đảm bảo tính bền vững của tin giấu trước các tác nhân tấn công Các phương pháp này thường được sử dụng trong các hệ thống giấu tin yêu cầu tính bền vững cao như hệ thống thủy vân số
2.1.2.3 Nhóm phương pháp kết hợp
Phương pháp Patchwork
Kỹ thuật Patchwork được giới thiệu lần đầu tiên trong hai bài báo[1], trình bày phương pháp giấu tin trong ảnh Patchwork sử dụng kỹ thuật thống kê, dựa trên giả thiết đã có tập dữ liệu lớn Quá trình giấu thông tin được tiến hành bằng cách sử dụng một quá trình giả ngẫu nhiên để chèn thêm vào tập dữ liệu ảnh gốc các thông tin đã được thống kê Phương pháp này thường được thực hiện trên các miền biến đổi (Fourier, Wavelet,…) giúp làm tăng tính bền vững của tin giấu trước các tấn công
Các bước nhúng thông tin được tiến hành tuần tự như sau:
Sử dụng một khóa mật để tiến hành tạo chuỗi giả ngẫu nhiên Chuỗi giả ngẫu nhiên này được sử dụng trong quá trình chọn hai vùng của dữ liệu ảnh,
patch A và patch B Tất cả các điểm ảnh trong patch A có cường độ sáng hơn
trong khi tất cả các điểm ảnh trong patch B có cường độ tối hơn Nói cách khác, cường độ sáng của các điểm ảnh trong patch A được tăng lên một hằng số lần thì cường độ sáng của các điểm ảnh trong patch B cũng sẽ được giảm đi một hằng
số lần Những thay đổi tương phản giữa hai patch A và patch B sẽ mã hóa một
bit thông tin giấu và sự thay đổi này đủ nhỏ để không gây ra cảm nhận khác biệt trong khi đó không làm thay đổi cường độ sáng trung bình của ảnh
Nhược điểm của phương pháp này là chỉ có một bit thông tin được giấu theo cách tiến hành trên Có thể giấu nhiều hơn một bit bằng cách chia dữ liệu ảnh ra làm nhiều patch khác nhau và áp dụng cách làm trên cho mỗi patch
Ưu điểm của phương pháp này là thông tin giấu được phân phối trên toàn
bộ dữ liệu ảnh Một patch có thể bị phá hủy thì vẫn còn các patch khác chứa tin giấu Tuy nhiên điều này phụ thuộc vào kích thước tin giấu đủ nhỏ để có thể thực hiện giấu lặp lại trên khối dữ liệu ảnh Ngược lại nếu kích thước tin giấu lớn thì có thể chỉ được giấu một lần Tuy nhiên cách tiếp cận theo phương pháp này đã được chứng minh có thể giấu và trích tin độc lập không phụ thuộc vào
Trang 30ảnh gốc và thông tin giấu bền vững với các phép nén tổn hao và nén không tổn hao
Phương pháp trải phổ
Trải phổ là kỹ thuật truyền tín hiệu, được sử dụng rộng rãi trong truyền thông Trong đó năng lượng của tín hiệu được trải trên một băng thông rộng hơn nhiều lần lượng băng thông cần thiết tối thiểu nhờ sử dụng mã giả ngẫu nhiên,
mã này độc lập với tín hiệu thông tin Bên nhận thông tin sẽ tiến hành giải trải bằng cách đồng bộ hóa với mã giả ngẫu nhiên
Trong phương pháp giấu tin sử dụng trải phổ, thông tin giấu được trải rộng trong ảnh cho nên nó khó có thể bị phát hiện Một phương pháp được đề xuất bởi Marvel là kết hợp giữa trải phổ, mã lỗi điều khiển và xử lý ảnh cho quá trình giấu tin trong ảnh[2] Với phương pháp này, thông tin được giấu vào trong các nhiễu sau đó kết hợp với ảnh gốc ban đầu tạo ra ảnh chứa tin giấu Khi đó
năng lượng của tín hiệu nhúng (embed signal) sẽ thấp hơn nhiều năng lượng của tín hiệu mang (cover signal) Vì vậy, ảnh sau khi được giấu tin không gây nên
sự cảm nhận khác biệt nào bằng mắt người hay các phân tích máy tính
2.2 Các thuật toán giấu tin kinh điển
2.2.1 Các thuật toán giấu tin không bền vững
Các kỹ thuật giấu tin không bền vững thường tiếp cận theo hướng giấu tin trên miền không gian, thời gian Ưu điểm của các kỹ thuật này là dễ thực hiện, khả năng giấu cao, sự thay đổi về cảm nhận đối tượng mang trước và sau khi giấu là nhỏ Kỹ thuật này thường sử dụng miền các bit ít mang thông tin quan trọng-LSB
(Least Significant Bit) để giấu tin mật Quá trình thay đổi thông tin các LSB sẽ gây
ra những thay đổi trên đối tượng mang là nhỏ nhất
2.2.1.1 Thuật toán giấu tin đơn giản theo khối bit
Quá trình giấu tin
Vào:
- Ma trận giá trị điểm ảnh của ảnh nhị phân gốc I kích thước MN
- Thông điệp bí mật cần giấu H đã được chuyển sang dạng nhị phân
- mn là kích thước khối dùng để giấu 1 bit thông tin
Trang 31Ra:
- Ma trận giá trị điểm ảnh sau khi đã giấu thông tin I’
Thực hiện:
- Bước 1 Kiểm tra khả năng giấu hết thông tin vào ảnh:
Số khối kích thước m×n có được là: (M div m)×(N div n) Gọi s là số bit của H, khi đó:
Nếu (M div m)×(N div n) < s thì không đủ số khối để giấu hết thông tin
Ngược lại thực hiện các bước 2, 3
- Bước 2 Chia ma trận I thành các khối theo kích thước m×n, ký hiệu các khối là Fi (i=1 s)
- Bước 3 Tiến hành giấu tin:
Lần lượt giấu bit HiH vào khối Fi (i=1 s) theo nguyên tắc:
Với SUM(Fi) được định nghĩa là tổng các phần tử của Fi
Nếu SUM(Fi) mod 2 = Hi thì giữ nguyên Fi
Ngược lại chọn ngẫu nhiên một bit trong Fi rồi đảo bit này
Như vậy, ta luôn được: Hi = SUM(Fi) mod 2
Ma trận I’ nhận được từ I sau bước 3 là ma trận điểm ảnh sau khi đã giấu tin
Quá trình trích tin
Vào:
- Ma trận giá trị điểm ảnh chứa tin giấu I kích thước MN
- Kích thước khối mn sử dụng trong quá trình giấu tin
Ra:
- Chuỗi bit thông tin đã giấu H
Trang 322.2.1.2 Thuật toán giấu tin Wu-Lee (WL)
Thuật toán giấu tin đơn giản trên khối bit có ưu điểm đơn giản, dễ thực hiện Tuy nhiên hạn chế của thuật toán này là tính an toàn của tin giấu là không cao Tin giấu có thể được trích lại một cách dễ dàng không cần sử dụng bất kỳ một khóa bí mật nào Để khắc phục những nhược điểm của thuật toán trên, nhóm tác giả Wu-Lee trường đại học Chung-Li đã đề xuất một thuật toán giấu tin trong ảnh nhị phân
có sử dụng ma trận khóa K trong quá trình giấu và trích tin
Quá trình giấu tin
Trang 33- Bước 1 Tính T FK
- Bước 2 Tính S SUM T
- Bước 3 IF 0S SUM K THEN Bước 4 ELSE kết thúc, chuyển sang khối tiếp theo
- Bước 4 Giấu b vào trong F:
If (S mod 2 = b) then thực hiện giấu mà không phải thay đổi bit nào của F vì khi đó đã đạt được bất biến rồi (TH1)
Else if (S = 1) then chọn ngẫu nhiên bit (j,k) của F thỏa mãn đồng thời F j,k 0 và K j,k 1 sau đó chuyển bit F j,k thành 1 (TH2)
Else if (S = SUM(K) - 1) then chọn ngẫu nhiên bit (j,k) của F thỏa mãn đồng thời F j,k 1 và K j,k 1 sau đó chuyển bit F j,k
Nhận xét: Điều kiện 0 < S < SUM(K) để đảm bảo rằng nếu một khối F gồm toàn bit
0 khi đó S = 0 hoặc toàn bit 1 khi đó S = SUM(K) sẽ không được sử dụng để giấu thông tin Vì giấu trong những trường hợp đó dễ bị lộ
Trang 34TH2 khi S = 1 thì F có nhiều bit 0 vì thế cần phải chọn bit 0 để đổi để ít bị lộ TH3 khi S = SUM(K) - 1 thì F có nhiều bit 1 vì thế cần chọn bit 1 để đổi
0 0 1
0 1 1
1 1 1
0 1 0
0 0 1
0 1 0
b = 0
Vì SUM(T) = 3 nên thỏa mãn điều kiện 0 < SUM(T) < SUM(K) và SUM(T) khác tính chẵn lẻ với bit b = 0 nên điều kiện để giấu b vào F cần phải thay đổi một bit của F, chẳng hạn thay đổi F1,2 kết quả sao khi giấu là ma trận nhị phân F’
0 0 1
0 0 1
Để khôi phục thông tin giấu trong F’ cần biết khóa K, kết quả của phép toán SUM(F^K) mod 2 chính là bit đã giấu
2.2.1.3 Thuật toán giấu tin Chen-Pan-Tseng
Đối với các thuật toán đã xét ở trên, chúng ta nhận thấy rằng quá trình giấu tin thì ta chỉ giấu được một bit dữ liệu vào một khối ảnh cỡ m×n, do đó tỉ lệ thông tin được giấu sẽ rất ít Đồng thời độ an toàn sẽ không cao, thông tin giấu sẽ dễ bị phát hiện vì dù m và n đủ lớn thì cũng vẫn có khả năng xuất hiện những bit đen hoặc trắng lạ sẽ làm nhiễu (noise) ảnh môi trường
Do những nhược điểm được đề cập và phân tích đó, phần này sẽ trình bày một thuật toán cải tiến so với thuật toán Wu-Lee[4] Nó bảo đảm tỉ lệ giấu tin cao hơn, do dùng một ma trận trọng số W Phiên bản đầu tiên của thuật toán do nhóm nghiên cứu Yu-Yuan Chen, Hsiang-Kuang Pan và Yu-Chee Tseng ở khoa Khoa học máy tính Trường Đại học Quốc gia Chung-Li Đài Loan công bố vào năm 1998 Những ý tưởng chính của thuật toán là:
- Thay phép toán nhị phân ( AND)bằng phép toán nhị phân ( XOR) giữa khối ảnh và khoá K nhằm hạn chế khả năng suy đoán sự phân bố giữa các bit 1 trong khoá K của đối phương
- Sử dụng một ma trận trọng số W (sẽ được đề cập sau) nhằm gia tăng tỉ lệ thông tin giấu và chất lượng ảnh gốc cao
Trang 35- Sửa mỗi khối m x n không quá 2 bit nhưng có thể giấu r 2 bit thông tin với r log 2 (m.n), trong đó X là phần nguyên của X
Quá trình giấu tin trong một khối bit
Dưới đây mô tả thuật toán giấu dãy r bit thông tin và một khối bit F, chỉ sửa tối đa 2 bit
Trong thuật toán này, chúng ta sẽ sử dụng các phép toán và toán tử đã định nghĩa trong chương 1, cụ thể là:
)
( XOR
phép cộng loại trừ theo vị trí trên hai ma trận cùng bậc
phép nhân theo vị trí trên hai ma trận cùng bậc
Ngoài ra ta bổ sung các phép toán, toán tử và các ký hiệu sau đây:
- Với mỗi số nguyên dương p ta xét tập các số dư trong phép chia cho
p, ký hiệu là Z p 0 , 1 , ,p 1
Trên Z p ta thực hiện các phép toán theo modulo p như sau:
p Z y
- Trong các biểu thức logic, ký hiệu cho phép hội (AND), ký
hiệu cho phép tuyển (OR)
Thuật toán
Vào:
- Kích thước khối m n
Trang 36- Khối ảnh gốc B kích thước m n
- Ma trận khóa nhị phân K kích thước m n
- r là số lượng bít được giấu vào khối ảnh B, 2r 1 mn
- Ma trận trọng số W trong đó các giá trị trong tập V r 1,2, ,2r 1
- Bước 7 if S e then
Trang 377.1 select (j,k) in S e
7.2 Bj,k ~Bj,k7.3 return B;
Quá trình trích tin từ một khối bit
Để trích tin từ khối ảnh đen trắng B đã được giấu dãy bit dữ liệu
r d d
Thuật toán dưới đây cho biết thủ tục trích tin không cần sử dụng ảnh gốc và có độ phức tạp tính toán là tuyến tính theo chiều dài dữ liệu vào, cụ thể là O(mn)
Thuật toán
Trang 38Vào:
- Kích thước khối m n
- Khối ảnh gốc B kích thước m n
- Ma trận khóa nhị phân K kích thước m n
- r là số lượng bít được giấu vào khối ảnh B, 2r 1mn
- Ma trận trọng số W trong đó các giá trị trong tập 1 , 2 , , 2r 1
r V
2.2.1.4 Thuật toán giấu tin Nguyễn Văn Tảo-Bùi Thế Hồng (HT)
Các thuật toán giấu tin mật ở trên có một điểm chung là tùy theo bit thông tin đang cần giấu và giá trị các điểm trong khối ảnh gốc đang xét, tiến hành biến đổi khối ảnh gốc để đạt đến một bất biến nào đó làm tiêu chuẩn cho quá trình lọc tìm lại tin đã giấu Kỹ thuật giấu tin này[5] dựa trên ý tưởng xây dựng một hàm giúp cho việc lọc tìm lại được tin đã giấu Thuật toán cho phép nhúng dãy k bit bb1b2 b kvào dãy n bit xx1x2 x n, với n2 k 1 và chỉ phải thay đổi tối đa 1 bit trong dãy
x
Ví dụ: Cần nhúng dãy 2 bit b b1, b2 vào dãy 3 bit x x1,x2,x3, tuỳ quan
hệ giữa các bit của b và x, thực hiện:
Nếu b1 x1x3, b2 x2x3 thì giữ nguyên x
Nếu b1 x1x3, b2 x2x3 thì đảo bit x1
Nếu b1 x1x3, b2 x2x3 thì đảo bit x2
Nếu b1 x1x3, b2 x2x3 thì đảo bit x3
Như vậy, sau khi biến đổi x thành '
3 ' 2 ' 1 ' x,x ,x
Trang 39' 3 '
1
3 ' 2
b đây chính là các công thức sử dụng cho quá trình trích lấy thông tin đã giấu
a) Định nghĩa 1: Phép cộng không nhớ các số nhị phân
Cho hai số nhị phân x và y Giả sử xx1x2 x m, yy1y2 y n, m và n là
các số tự nhiên, không mất tính tổng quát ta coi m n Khi đó, tổng không nhớ của
hai số nhị phân x và y được định nghĩa là số nhị phân zz1z2 z m và viết
y x khi z
i i
i i
Từ định nghĩa ta có tính chất: x x 0 với mọi số nhị phân x
b) Định nghĩa 2: Với số nhị phân xx1x2 x n, gọi f x x i db i
số đảo bit của x Trong đó, db(i) là biểu diễn nhị phân của i Hàm này sẽ được dùng
để tính vị trí bit cần đảo khi giấu tin trong thuật toán HT
c) Mệnh đề 1: Với mọi số nhị phân xx1x2 x n, nếu gọi k là số chữ số trong biểu diễn nhị phân của n thì giá trị hàm tham số đảo bit của x là số tự nhiên không vượt
n
i x db i x
f
Chứng minh:
Ký hiệu len p là số chữ số hay độ dài của số nhị phân p
Vì x i 0,1 nên i1 n ta luôn có: x idb i db i db n (*)
Hơn nữa, với c ab thì len c maxlen a ,len b (**)
Từ (*), (**) và giả thiết lendb n kta được:
f k x f len
k n db len n
db x len db
x len db x len x
f
len
Trang 40d) Mệnh đề 2: Với mọi số nhị phân xx1x2 x n, t 1 ,n , nếu đảo bit x t trong x
1 1 2 2
x db x db t x db n db t db
x db db t x db n db t db
x db x db t x db n db t db