ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
MAI THÀNH HUYÊN
NGHIÊN CỨU MỘT SỐ KHẢ NĂNG PHÁT HIỆN
TIN GIẤU TRONG MÔI TRƯỜNG ẢNH
Ngành
: Công nghệ thông tin
Chuyên ngành
: Hệ thống thông tin
Mã số
: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS. TRỊNH NHẬT TIẾN
HÀ NỘI - 2009
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các dữ liệu, kết quả
nêu trong luận văn là trung thực và chƣa từng đƣợc công bố trong bất kỳ công trình
nào khác.
Hà nội, tháng 11 năm 2009
Tác giả luận văn
Mai Thành Huyên
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các Thầy, Cô giáo trong khoa Công nghệ thông tin và
các cán bộ, nhân viên các phòng Đào tạo Sau đại học, trƣờng Đại học Công nghệ, Đại
học Quốc gia Hà Nội đã luôn nhiệt tình giúp đỡ và tạo điều kiện tốt nhất cho tôi trong
suốt quá trình học tập tại trƣờng.
Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K12T3
- trƣờng Đại học Công nghệ thuộc Đại học Quốc gia Hà Nội đã luôn động viên, giúp
đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khoá
học.
Đặc biệt tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS. Trịnh Nhật Tiến đã tận
tình giúp đỡ tôi hình thành, nghiên cứu và hoàn chỉnh luận văn.
Mặc dù đã có nhiều cố gắng, song do sự hạn hẹp về thời gian, điều kiện nghiên
cứu và trình độ, luận văn không tránh khỏi những khiếm khuyết. Tôi chân thành mong
nhận đƣợc sự đóng góp ý kiến của các thầy, cô giáo và đồng nghiệp gần xa.
Hà Nội, tháng 11 năm 2009
Người thực hiện luận văn
Mai Thành Huyên
MỤC LỤC
LỜI CAM ĐOAN.......................................................................................................ii
LỜI CẢM ƠN .......................................................................................................... iii
MỤC LỤC ................................................................................................................. iv
Chương 1. TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH ........................................ 1
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN ....................................................................... 1
1.1.1 Khái niệm giấu tin ....................................................................................... 1
1.1.2 Phân loại các kỹ thuật giấu tin ..................................................................... 1
1.1.3 Sơ lƣợc về lịch sử giấu tin ........................................................................... 2
1.1.4 Mô hình cơ bản của kỹ thuật giấu tin ........................................................... 3
1.1.5 Các ứng dụng của kỹ thuật giấu tin.............................................................. 5
1.2 GIẤU THÔNG TIN TRONG DỮ LIỆU ĐA PHƢƠNG TIỆN ......................... 6
1.2.1 Giấu tin trong ảnh........................................................................................ 6
1.2.2 Giấu tin trong audio .................................................................................... 6
1.2.3 Giấu tin trong video .................................................................................... 7
1.2.4 Giấu tin trong văn bản ................................................................................. 7
1.3 NHỮNG ĐẶC TRƢNG VÀ TÍNH CHẤT CỦA GIẤU TIN TRONG ẢNH...... 8
1.4 CÁC HƢỚNG TIẾP CẬN CỦA KỸ THUẬT GIẤU TIN TRONG ẢNH ........ 10
1.4.1 Tiếp cận trên miền không gian ảnh ............................................................ 10
1.4.2 Tiếp cận trên miền tần số ảnh .................................................................... 10
1.5 MỘT SỐ PHƢƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH .......................... 12
1.5.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 .............. 12
1.5.2 Kỹ thuật giấu tin Wu _ Lee ....................................................................... 17
1.5.3 Kỹ thuật giấu tin Yuan_Pan_Tseng ........................................................... 23
1.6 KỸ THUẬT THỦY VÂN TRÊN ẢNH............................................................. 32
1.6.1 Một số khái niệm cơ bản trong thủy vân số ............................................... 32
1.6.2 Một số kỹ thuật thủy vân trên ảnh ............................................................. 36
Chương 2. MỘT SỐ KHẢ NĂNG PHÁT HIỆN ẢNH CÓ GIẤU TIN ................ 55
2.1 PHƢƠNG PHÁP PHÁT HIỆN ẢNH GIẤU TIN ........................................... 55
2.1.1 Bài toán phân tích tin giấu ......................................................................... 56
2.1.2 Phân loại phƣơng pháp phát hiện ảnh giấu tin ........................................... 57
2.2 Cơ sở toán học................................................................................................. 58
2.2.1 Các khái niệm ........................................................................................... 58
2.2.2 Các định lý ................................................................................................ 62
2.3 KỸ THUẬT PHÂN TÍCH CẶP GIÁ TRỊ ĐIỂM ẢNH ................................... 63
2.3.1 Khái niệm cặp giá trị ................................................................................. 63
2.3.2 Thuật toán PoV3 ....................................................................................... 64
2.4 KỸ THUẬT PHÂN TÍCH ĐỐI NGẪU ........................................................... 69
2.4.1 Các khái niệm ........................................................................................... 69
2.4.2 Thuật toán RS (Regular – Singular) ........................................................... 71
2.5 KỸ THUẬT PHÂN TÍCH CẶP MẪU SPA ..................................................... 76
2.5.1 Các khái niệm ........................................................................................... 76
2.5.2 Phát hiện giấu tin mật LSB nhờ kỹ thuật SPA ........................................... 79
2.5.3 Phân tích kỹ thuật SPA .............................................................................. 81
2.5.4 Ƣớc lƣợng độ chính xác của chiều dài thông điệp dấu theo SPA ............... 84
2.6 KỸ THUẬT PHÂN TÍCH ĐỘ LỆCH CHUẨN ............................................... 91
2.7 KỸ THUẬT THỐNG KÊ – BÌNH PHƢƠNG MỘT BẬC TỰ DO ............. 94
Chương 3. THỬ NGHIỆM ...................................................................................... 97
3.1 MÔI TRƢỜNG CÀI ĐẶT ............................................................................... 97
3.2 MÔ HÌNH HỆ THỐNG .................................................................................. 97
3.3 TẬP DỮ LIỆU ẢNH ....................................................................................... 99
3.4 KẾT QUẢ THỬ NGHIỆM KỸ THUẬT PoV3 .............................................. 101
KẾT LUẬN ............................................................................................................ 107
TÀI LIỆU THAM KHẢO ..................................................................................... 108
1
Chƣơng 1. TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
Giấu tin là một lĩnh vực nghiên cứu rộng. Trong đó môi trƣờng giấu tin phổ biến
và đƣợc ứng dụng rộng rãi nhất là dữ liệu ảnh. Trong chƣơng này luận văn bình bày
tổng quan vấn đề giấu tin, các mô hình giấu tin, các ứng dụng của giấu tin, đồng thời
đi sâu vào các kỹ thuật nhằm bảo mật thông tin đƣợc giấu. Hầu hết các kỹ thuật giấu
tin mật đều tập trung giấu thông tin vào các bit ít quan trong nhất của mỗi điểm ảnh.
Phần cuối chƣơng trình bày các kỹ thuật đã đƣợc công bố gần đây nhƣ giấu tin theo
khối bit sử dụng tính chẵn lẻ của tổng số bit 1 trong khối, kỹ thuật Wu_Lee, kỹ thuật
Yang_Pan_Tseng.
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN
1.1.1 Khái niệm giấu tin
―Giấu thông tin‖ gọi tắt là ―Giấu tin‖, tiếng Hi Lạp là ―Steagnography‖, tiếng
Anh là ―Cover Writing‖. ―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 [2].
Kỹ thuật giấu 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 vệ cho chính đối tƣợng mang tin giấu. Hai mục đích khác nhau này dẫn đến
hai kỹ thuật chủ yếu của giấu tin. Đó là giấu tin mật và thủy vân số. Nói chung giấu tin
trong đa phƣơng tiện là tận dụng ―độ dƣ thừa‖ của phƣơng tiện giấu để thực hiện việc
giấu tin, mà ngƣời ngoài cuộc ―khó‖ cảm nhận đƣợc có thông tin giấu trong đó.
1.1.2 Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu tin số mới đƣợc hình thành trong thời gian gần đây, nên xu
hƣớng phát triển vẫn chƣa ổn định. Có nhiều cách phân loại khác nhau dựa trên những
tiêu chí khác nhau. Theo Fabien A.P. Petitcolas đề xuất năm 1999, có thể chia lĩnh vực
giấu tin thành hai hƣớng lớn, đó là giấu tin mật và thủy vân số [6].
Giấu tin mật với mục đích bảo toàn và bảo mật thông tin, tập trung vào các kỹ
thuật giấu thông tin, sao cho ngƣời khác khó phát hiện việc có tin đƣợc giấu; hơn nữa
nếu phát hiện có tin giấu thì giải tin cũng khó thực hiện. Bên cạnh đó cũng đặt ra vấn
đề về lƣợng tin đƣợc giấu.
Thủy vân số lại đƣợc chia thành hai hƣớng nhỏ là thủy vân dễ vỡ và thủy vân bền
vững. Trong đó thủy vân dễ vỡ yêu cầu thông tin giấu sẽ bị sai lệch nếu có bất kỳ sự
thay đổi vào trên môi trƣờng chứa tin. Thủy vân bền vững quan tâm nhiều đến việc
nhúng tin đòi hỏi độ bền cao trƣớc các biến đổi thông thƣờng trên môi trƣờng chứa tin.
2
Giấu thông tin
Information hiding
Giấu tin mật
Steganography
Thủy vân số
Watermarking
Thủy vân bền vững
Robust
Copyright
Watermarking
Thủy vân ẩn
Imperceptible
watermarking
Thủy vân dễ vỡ
Fragile watermarking
Thủy vân hiện
Visble watermarking
Hình 1.1 Phân loại các kỹ thuật giấu tin
1.1.3 Sơ lƣợc về lịch sử giấu tin
Từ ―Steganography‖ bắt nguồn từ tiếng Hi Lạp. Từ ―stegano‖ trong tiếng Hi Lạp
có nghĩa là ―covered‖, còn ―graphien‖ có nghĩa là ―to write‖. Nhƣ vậy,
―steganography‖ có nghĩa là tài liệu đƣợc phủ ―covered writing‖. Các câu chuyện kể
về kỹ thuật giấu thông tin đƣợc truyền qua nhiều thế hệ. Có lẽ những ghi chép sớm
nhất về kỹ thuật giấu thông điệp thuộc về sử gia Hi Lạp Herodotus. Khi bạo chúa Hi
Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ V trƣớc Công nguyên, ông
ta đã gửi một thông báo bí mật cho con rể của mình là Aristagoras ở Miletus. Histiaeus
đã cạo trọc đầu một nô lệ tin cậy và xăm một thông điệp trên da đầu của anh ta. Khi
tóc của ngƣời nô lệ mọc ra đủ dài thì ngƣời nô lệ đƣợc gửi tới Miletus.
Một câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại. Môi
trƣờng để ghi văn bản chính là các viên thuốc đƣợc bọc trong sáp ong. Demeratus, một
ngƣời Hi Lạp định báo cho Sparta rằng Xerxes định xâm chiếm Hi Lạp. Để tránh bị
phát hiện, anh ta đã bóc lớp sáp ong ra khỏi các viên thuốc và khắc thông báo lên bề
mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp ong mới.
Những viên thuốc mang tin mật đã ngụy trang đƣợc để cùng với các viên thuốc thông
thƣờng khác và lọt qua mọi sự kiểm soát một cách dễ dàng.
3
Mực không màu là phƣơng tiện hữu ích cho bảo mật thông tin trong một thời
gian dài. Ngƣời Romans cổ đã biết sử dụng những chất sẵn có nhƣ nƣớc quả, nƣớc tiểu
và sữa viết các thông báo bí mật giữa các hàng văn tự thông thƣờng. Khi đƣợc hơ
nóng, những thứ mực này trở nên sẫm mầu và có thể đọc đƣợc. Mực không màu cũng
vẫn còn đƣợc sử dụng gần đây, chẳng hạn trong chiến tranh thế giới thứ II [5].
Ý tƣởng về che giấu thông tin đã có hàng ngàn năm trƣớc nhƣng kỹ thuật này
đƣợc dùng chủ yếu trong quân đội và trong các cơ quan tình báo. Mãi cho tới vài thập
niên gần đây, giấu tin mới nhận đƣợc sự quan tâm của các nhà nghiên cứu và các viện
công nghệ thông tin với nhiều công trình nghiên cứu. Sự phát triển của thông tin số và
mạng truyền thông (đặc biệt là mạng Internet) cùng với các kỹ thuật sao chép hoàn
hảo, kỹ thuật chỉnh sửa, thay thế tinh vi đã và đang làm nảy sinh nhiều vấn đề nhức
nhối về nạn ăn cắp bản quyền, xuyên tạc trái phép, lan truyền thông tin bất hợp pháp.
1.1.4 Mô hình cơ bản của kỹ thuật giấu tin
Mô hình của kỹ thuật giấu tin đƣợc mô tả trong hình 1.2 và 1.3.
Thông tin cần giấu
Phƣơng
tiện
chứa tin (audio,
ảnh, video,…)
Phƣơng tiện
Bộ nhúng
chứa
thông tin
đƣợc giấu tin
Khóa
Hình 1.2 Lược đồ chung cho quá trình giấu tin
đã
Phân
phối
4
Hình 1.2 biểu diễn quá trình giấu tin cơ bản. Trong đó, phƣơng tiện chứa tin có
thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo mục đích của
ngƣời sử dụng, nó có thể là các thông điệp, các logo, hình ảnh bản quyền… Thông tin
đƣợc giấu vào trong phƣơng tiện chứa tin nhờ môt bộ nhúng. Bộ nhúng là chƣơng
trình theo thuật toán giấu tin và đƣợc thực hiện với một khóa bí mật giống nhƣ trong
hệ mật mã. Đầu ra của quá trình giấu tin là phƣơng tiện chứa đã đƣợc giấu tin. Các
phƣơng tiện này có thể đƣợc phân phối trên mạng [7].
Hình 1.3 mô tả quá trình tách tin đã giấu từ môi trƣờng giấu tin. Với đầu vào là
phƣơng tiện đã chứa tin giấu, một bộ tách tin (tƣơng ứng với bộ nhúng) cùng với khóa
sẽ thực hiện việc tách tin. Đầu ra của quá trình là phƣơng tiện chứa tin và thông tin đã
giấu. Trong trƣờng hợp cần thiết, thông tin giấu lấy ra có thể đƣợc xử lý, kiểm định và
so sánh với thông tin đã giấu ban đầu.
Khóa
Phân
phối
Phƣơng tiện
chứa
đã
đƣợc giấu
tin
Bộ giải
mã tách
ttin
Phƣơng
tiện
chứa
tin
(audio,
ảnh,
video,…)
Thông tin giấu
Kiểm
định
Hình 1.3 Lược đồ cho quá trình tách tin
Formatted: Left
5
1.1.5 Các ứng dụng của kỹ thuật giấu tin
1.1.5.1 Ứng dụng của thủy vân số
* Bảo vệ bản quyền tác giả
Đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân số. Một thông tin nào đó
mang ý nghĩa quyền sở hữu gọi là thủy vân sẽ đƣợc nhúng vào trong sản phẩm. Thủy
vân đó chỉ một mình ngƣời chủ sở hữu hợp pháp sản phẩm đó có, và đƣợc dùng làm
minh chứng cho bản quyền sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thủy
vân phải tồn tại bền vững cùng sản phẩm, muốn bỏ thủy vân này mà không đƣợc phép
của ngƣời chủ sở hữu, thì chỉ có cách phá hủy sản phẩm [8].
* Xác thực thông tin hay phát hiện xuyên tạc thông tin
Một thông tin sẽ đƣợc giấu trong phƣơng tiện chứa, sau đó sử dụng để nhận biết
xem phƣơng tiện gốc đó có bị thay đổi hay không. Thủy vân nên đƣợc ẩn để tránh sự
tò mò của kẻ thù, hơn nữa việc làm giả thủy vân hợp lệ hay xuyên tạc thông tin nguồn
cũng đƣợc xem xét. 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 các ứng
dụng là khả năng giấu thông tin cao và thủy vân không cần bền vững.
* Giấu vân tay hay dán nhãn
Thủy vân trong ứng dụng này đƣợc dùng để nhận diện ngƣời gửi hay ngƣời nhận
của một thông tin nào đó. Yêu cầu của ứng dụng này là đảm bảo độ an toàn cao cho
thủy vân.
* Kiểm soát sao chép:
Các thủy vân trong trƣờng hợp này đƣợc dùng để kiểm soát sao chép đối với các
thông tin. Thiết bị phát hiện ra thủy vân thƣờng đƣợc gắn sẵn vào trong hệ thống đọc
ghi. Ứng dụng loại này cũng yêu cầu thủy vân phải đƣợc đảm bảo an toàn, và cũng sử
dụng phƣơng pháp phát hiện thủy vân đã giấu mà không cần thông tin gốc.
1.1.5.2 Ứng dụng của giấu tin mật
Thông tin giấu đƣợc trong trƣờng hợp này càng nhiều càng tốt, việc tách tin để
nhận đƣợc tin giấu cũng không cần phƣơng tiện chứa ban đầu. Các yêu cầu mạnh về
tính bền vững không cần thiết lắm, thay vào đó là thông tin giấu phải đảm bảo tính bí
mật và giảm thời gian lƣu thông trên đƣờng truyền.
6
1.2 GIẤU THÔNG TIN TRONG DỮ LIỆU ĐA PHƢƠNG TIỆN
1.2.1 Giấu tin trong ảnh
Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn nhất trong hệ thống giấu tin. Bởi lẽ
lƣợng thông tin đƣợc trao đổi bằng hình ảnh là rất lớn, hơn nữa chúng còn đóng vai trò
quan trọng trong các ứng dụng an toàn thông tin nhƣ: xác thực thông tin, bảo vệ bản
quyền tác giả, điều khiển truy cập, xác định xuyên tạc thông tin. Từ việc nghiên cứu
kỹ thuật giấu tin trong ảnh số chuyển sang kỹ thuật giấu tin trong các phƣơng tiện khác
nhƣ audio, video, trong văn bản,… không có gì khó khăn về nguyên tắc. Chính vì lẽ
đó, giấu tin trong ảnh đã và đang đƣợc nhiều tổ chức, các trƣờng đại học, các viện
nghiên cứu, các cá nhân quan tâm và đầu tƣ nghiên cứu [12].
Thông tin đƣợc giấu vào dữ liệu ảnh, nhƣng chất lƣợng ảnh rất ít thay đổi và
ngƣời ta khó có thể nhận thấy bằng mắt thƣờng. Sau vụ khủng bố ngày 11 tháng 9 năm
2001 gây chấn động không chỉ nƣớc Mĩ mà cả thế giới, có một số nhận định cho rằng
chính trùm khủng bố quốc tế Osama Binladen đã dùng cách thức giấu thông tin trong
ảnh để liên lạc với đồng bọn và chúng đã qua mặt đƣợc cục tình báo trung ƣơng Mĩ và
các cơ quan an ninh quốc tế. Sự việc này cho thấy việc nghiên cứu các vấn đề liên
quan đến giấu tin trong ảnh càng trở nên quan trọng.
1.2.2 Giấu tin trong audio
Giấu tin trong audio mang những đặc điểm riêng khác với giấu 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 tin trong audio phụ thuộc vào
thính giác con ngƣời (HAS - Human Auditory System). HAS nghe đƣợc các tín hiệu ở
dải tần rộng và công suất cao nhƣng ngƣợc lại cũng kém trong việc phát hiện sự khác
biệt của 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.
Một vấn đề khó khăn nữa của giấu tin trong môi trƣờng 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. Các phƣơng pháp giấu tin trong audio thƣờng lợi dụng điểm yếu trong hệ thống
thính giác con ngƣời.
7
1.2.3 Giấu tin trong video
Giấu tin trong video cũng đƣợc quan tâm phát triển và có nhiều ứng dụng nhƣ
kiểm soát sao chép thông tin, xác thực thông tin và bảo vệ bản quyền tác giả. Một
phƣơng pháp giấu tin đƣợ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ố dữ liệu 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 [6]. Ví dụ phƣơng pháp của Swanson giấu đƣợc hai bit vào khối
8*8 [9]. Gần đây nhất là phƣơng pháp của Mukherjee: giấu audio vào video sử dụng
cấu trúc lƣới đa chiều… Kỹ thuật giấu thông tin trong video áp dụng cả đặc điểm thị
giác và thính giác của con ngƣời.
Kỹ thuật giấu tin đang đƣợc áp dụng với nhiều môi trƣờng không chỉ riêng với
dữ liệu đa phƣơng tiện. Gần đây đã có nghiên cứu giấu tin trong văn bản, cơ sở dữ liệu
quan hệ và cơ sở dữ liệu XML, cho phép mở ra nhiều hƣớng nghiên cứu mới.
1.2.4 Giấu tin trong văn bản
Trong việc trao đổi thông tin qua hệ thống máy tính, văn bản chiếm một tỷ lệ rất
lớn so với các loại phƣơng tiện chứa tin khác. Tuy vậy, giấu tin trong văn bản lại chƣa
đƣợc quan tâm nghiên cứu nhiều. Các nghiên cứu về giấu tin trong văn bản đƣợc chia
thành hai hƣớng, thứ nhất là văn bản chứa là những văn bản đƣợc chụp lại và lƣu trên
máy nhƣ một ảnh nhị phân. Theo hƣớng này, kỹ thuật giấu tin đƣợc thực hiện nhƣ giấu
tin trong ảnh nhị phân. Hƣớng thứ hai, phƣơng tiện chứa sử dụng cho quá trình giấu
tin đƣợc lƣu dƣới dạng văn bản. Theo hƣớng này, các kỹ thuật giấu tin cũng tiến hành
nhƣ giấu tin trong ảnh bằng cách thay đổi một số ký tự tại một số vị trí trên văn bản
mà không làm ảnh hƣởng nhiều đến nội dung văn bản gốc.
8
1.3 NHỮNG ĐẶC TRƢNG VÀ TÍNH CHẤT CỦA GIẤU TIN TRONG ẢNH
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin. Đối tƣợng ảnh
là một đối tƣợng dữ liệu tĩnh. Dữ liệu ảnh có nhiều định dạng, mỗi định dạng có những
tính chất khác nhau, nên kỹ thuật giấu tin trong ảnh thƣờng chú ý đến những đặc trƣng
và các tính chất cơ bản sau đây [2, 4]:
Phương tiện chứa có dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu ảnh tĩnh, dù đã giấu tin vào trong ảnh hay chƣa thì
khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian. Điều này cũng
tạo ra sự khác biệt lớn giữa kỹ thuật giấu tin trong ảnh với kỹ thuật giấu tin trong audio
hay video.
Kỹ thuật giấu phụ thuộc loại ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau. Đối với ảnh đen trắng,
ảnh xám hay ảnh màu, với mỗi loại ta lại có các kỹ thuật riêng phụ thuộc đặc trƣng của
ảnh.
Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc. Dữ
liệu ảnh đƣợc quan sát bằng hệ thống thị giác của con ngƣời nên các kỹ thuật giấu tin
phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho mắt
thƣờng khó nhận ra đƣợc sự thay đổi đó, để đảm bảo độ an toàn cho thông tin giấu.
Rất nhiều kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn
nhƣ mắt ngƣời cảm nhận sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm
nhận của mắt về màu da trời là kém nhất trong ba mầu cơ bản RGB.
Giấu thông tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích
thước ảnh
Các thuật toán giấu tin sẽ đƣợc thực hiện trên dữ liệu của ảnh. Dữ liệu ảnh bao
gồm cả phần đầu, bảng màu (có thể có hoặc không) và dữ liệu ảnh. Khi giấu thông tin,
các phƣơng pháp giấu đều biến đổi các giá trị của các bit trong dữ liệu ảnh, chứ không
thêm vào hay bớt đi dữ liệu ảnh. Do vậy kích thƣớc ảnh không thay đổi.
9
Đảm bảo chất lượng ảnh sau khi giấu
Đây là yêu cầu quan trọng đối với giấu tin trong ảnh. Sau khi giấu tin bên trong,
ảnh phải đảm bảo không bị biến đổi. Yêu cầu này dƣờng nhƣ khá đơn giản đối với ảnh
màu và ảnh đa cấp xám nhƣng đối với ảnh đen trắng thì phức tạp hơn nhiều. Bởi vì
ảnh đen trắng mỗi điểm ảnh chỉ là đen hoặc trắng, nếu ta biến đổi một bit đen thành
trắng hoặc ngƣợc lại thì có thể rất dễ bị phát hiện. Do đó yêu cầu đối với giấu tin trong
ảnh màu hay ảnh đa cấp xám và trong ảnh đen trắng là khác nhau. Với ảnh màu thì
thuật toán chú trọng vào việc làm sao giấu đƣợc càng nhiều thông tin càng tốt, với ảnh
đen trắng thuật toán tập trung để làm thế nào thông tin giấu khó bị phát hiện nhất.
Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Vì phƣơng pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trị của các bit
theo một quy tắc nào đó, và khi tách tin sẽ theo các giá trị đó để tìm đƣợc thông tin
giấu. Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các bit
thì sẽ làm cho thông tin giấu bị sai lệch. Nhờ đặc điểm này, giấu tin trong ảnh có thể
xác thực và phát hiện xuyên tạc thông tin [2].
Vai trò của ảnh gốc khi giải tin
Kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấy tin giấu có cần
đến ảnh gốc hay không? Đa số các kỹ thuật giấu tin mật thƣờng không cần ảnh gốc khi
tách tin. Thông tin đƣợc giấu trong ảnh sẽ đƣợc mang cùng với dữ liệu ảnh, khi tách
tin chỉ cần ảnh đã mang thông tin giấu mà không cần dùng đến ảnh gốc để so sánh, đối
chiếu.
10
1.4 CÁC HƢỚNG TIẾP CẬN CỦA KỸ THUẬT GIẤU TIN TRONG ẢNH
1.4.1 Tiếp cận trên miền không gian ảnh
Đây là hƣớng tiếp cận cơ bản và tự nhiên trong số các kỹ thuật giấu tin. Miền
không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh chính là tác
động lên các điểm ảnh, thay đổi giá trị trực tiếp của các điểm ảnh. Đây là hƣớng tiếp
cận tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh ngƣời ta thƣờng nghĩ ngay đến
việc thay đổi giá trị các điểm ảnh nguồn. Một phƣơng pháp phổ biến của hƣớng tiếp
cận này là phƣơng pháp tác động đến bit ít quan trọng nhất của mỗi điếm ảnh [1].
Ý tƣởng cơ bản của phƣơng pháp tác động đến bit ít quan trọng nhất (LSB Least Significant Bit) của các điểm ảnh là chọn ra từ mỗi điểm ảnh các bit ít có ý nghĩa
nhất về mặt tri giác để sử dụng cho việc giấu tin. Việc bit nào đƣợc coi là ít tri giác
nhất và bao nhiêu bit có thể đƣợc lấy ra để thay thế đều phụ thuộc vào tính chất hệ
thống thị giác của con ngƣời và nhu cầu về chất lƣợng ảnh trong các ứng dụng. Ví dụ
với ảnh mầu, mỗi điểm ảnh đƣợc biểu diễn bằng 24 bit tƣơng ứng với ba màu cơ bản
RGB, mỗi màu 1 byte. Ngƣời ta sử dụng tính chất là mắt ngƣời cảm nhận về màu B
kém hơn so với màu R và G. Vì thế ngƣời ta thƣờng chọn bit cuối cùng trong 8 bit
biểu diễn màu B của mỗi điểm ảnh để giấu tin. Thay đổi bit cuối cùng trong 8 bit biểu
diễn màu B chỉ làm cho giá trị biểu diễn màu B tăng hoặc giảm đi 1 đơn vị. Nhƣ vậy,
bit LSB trong ví dụ này là bit thứ 24 của mỗi điểm ảnh.
Một số thuật toán muốn giấu nhiều thông tin hơn và chấp nhận chất lƣợng ảnh
thấp hơn một chút có thể sử dụng bít cuối cùng của mỗi byte màu RGB làm bit LSB.
Vậy có 3 bit LSB.
Tuy nhiên, phƣơng pháp này cũng có nhiều hạn chế, chẳng hạn nhƣ không đảm
bảo đƣợc tính bền vững của thông tin giấu đối với các thao tác biến đổi nhƣ quay ảnh
hoặc nén ảnh JPEG.
1.4.2 Tiếp cận trên miền tần số ảnh
Trong một số trƣờng hợp cách khảo sát trực tiếp ở trên cũng gặp phải khó khăn
nhất định hoặc rất phức tạp và hiệu quả không cao, do đó ta có thể dùng phƣơng pháp
khảo sát gián tiếp thông qua các kỹ thuật biến đổi. Các biến đổi này làm nhiệm vụ
chuyển miền biến số độc lập sang miền khác và nhƣ vậy tín hiệu và hệ thống rời rạc sẽ
đƣợc biểu diễn trong miền mới với các biến số mới.
11
Mỗi cách biến đổi sẽ có những thuận lợi riêng, tùy từng trƣờng hợp mà sử dụng
biến đổi nào. Sau khi khảo sát, biến đổi xong các tín hiệu và hệ thống rời rạc trong
miền các biến số mới này, nếu cần thiết có thể dùng các biến đổi ngƣợc để đƣa chúng
về miền biến số độc lập.
Phƣơng pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc gặp phải
khi dùng phƣơng pháp khảo sát trực tiếp trong miền biến số độc lập tự nhiên. Hệ thống
rời rạc cần khảo sát chính là không gian các điểm ảnh. Có nhiều phép biến đổi trong
đó phổ biến là biến đổi Fourier DFT, biến đổi Cosin rời rạc DCT, biến đổi sóng nhỏ
DWT… Đây là những phép biến đổi đƣợc sử dụng nhiều trong các kỹ thuật xử lý ảnh.
Trong giấu tin, nó cũng đƣợc sử dụng, đặc biệt trong các kỹ thuật thủy vân.
12
1.5 MỘT SỐ PHƢƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH
1.5.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1
1.5.1.1 Ý tưởng
Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin. Ý tƣởng cơ bản của kỹ
thuật này là chia một ảnh thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bit
thông tin. Dựa vào tính chẵn lẻ của tổng số các bit 1 trong khối để qui định giấu bit 1
hay 0. Cụ thể sau khi giấu thì tổng số các bit 1 trong khối và bit cần giấu sẽ có cùng
tính ―chẵn lẻ‖. Thuật toán này dùng cho ảnh đen trắng, ảnh mầu và ảnh đa cấp xám.
Tuy nhiên, trong phần trình bày ở mục ngay sau đây sẽ minh họa thuật toán cho ảnh
đen trắng, phần trình bày áp dụng thuật toán cho ảnh mầu và ảnh đa cấp xám sẽ đƣợc
nói đến tiếp sau.
1.5.1.2 Thuật toán giấu tin
Input:
Output:
-
Một file ảnh bitmap đen trắng FF
-
Một file thông tin cần giấu Fb
-
Một khóa K (đó là kích thƣớc khối nhỏ)
-
Một file ảnh F’ đã giấu tin.
Thuật toán:
1) Tiền xử lý
Chuyển file thông tin cần giấu Fb sang dạng xâu nhị phân D=b1b2…bk.
Đọc header của ảnh (phần chứa thông tin ảnh), đọc bảng mầu, sau đó đọc
toàn bộ dữ liệu ảnh vào một mảng hai chiều (ma trận) M để sử dụng cho
việc giấu tin.
2) Quá trình giấu tin
Bƣớc 1: Chia ma trận M thành các khối nhỏ Bi kích thƣớc K = m x n
Bƣớc 2: Giấu bit dữ liệu bi vào khối Bi.
For each Bi
if sum(Bi) bi (mod 2) then giữ nguyên khối Bi.
else B’i đảo bit bất kì trong Bi.
End;
13
Giải thích thuật toán:
- Chia M thành các khối nhỏ có kích thƣớc K. (K = m x n). Giả sử ảnh gốc ban
đầu có kích thƣớc M x N, ảnh gốc đƣợc chia thành các khối nhỏ, tổng số các khối nhỏ
sẽ là k = (M x N)/ (m x n) khối. Vì là ảnh đen trắng nên mỗi khối là một ma trận hai
chiều của các giá trị 0 và 1.
- Giả sử cần giấu 1 bit dữ liệu b vào một khối B. Kí hiệu sum(B) là tổng số điểm
ảnh đen (điểm ảnh có giá trị bằng 1) trong khối B. Kí hiệu x y (mod z) hai số tự
nhiên x và y đồng dƣ theo modulo z. Nhƣ vậy x y (mod 2) cho biết x và y có cùng
tính chẵn lẻ. Ta xét hai trƣờng hợp sau:
- Trường hợp thứ nhất: sum(B) b (mod 2), khối B thỏa mãn tính chất để giấu
bit dữ liệu b. Ta không cần thay đổi gì và xem nhƣ bit b đã đƣợc giấu.
- Trường hợp thứ hai: sum(B)
b (mod 2). Ta phải sửa khối B để đảo tính chẵn
lẻ của sum(B). Dễ thấy ta chỉ cần đảo một bit bất kỳ trong B thì sum(B) sẽ tăng hoặc
giảm 1 đơn vị. Gọi B’ là khối kết quả thu đƣợc từ khối B sau khi đã đảo một bit trong
B. Ta có sum(B’) b (mod 2).
Thí dụ:
Xét thí dụ dƣới đây minh họa cho hai trƣờng hợp trên.
Cho khối B nhƣ sau
0
1
0
0
1
0
1
1
1
1
0
1
0
0
0
1
Khối B kích thƣớc K = 4 x 4, sum(B) = 8.
(a) Giả sử ta muốn giấu bit b = 1 vào khối B.
Số lƣợng bít 1 trong khối B là 8, sum(B) = 8. Do đó sum(B)
1 (mod 2). Nhƣ
vậy khối B không thỏa mãn yêu cầu. Để giấu bit 1 vào khối B ta thay đổi một bit bất
kỳ trong khối, thƣờng là thay đổi tại vị trí của bit thông tin rõ vào bít của khối tƣơng
ứng (nếu chúng trái dấu nhau) đổi bit 0 thành bít 1 hoặc bít 1 thành bít 0, ta thu đƣợc
khối B’. Giả sử ta đổi nhƣ hình sau:
14
0
1
0
0
0
1
0
0
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
1
0
0
0
1
0
0
0
1
Khối B
Khối B’
Hình 1.4. Thay đổi bit trong khối B
Khi đó ta có sum(B’) = 7, do đó ta đƣợc sum(B’) 1 (mod 2).
(b) Giả sử ta giấu bit b = 0 vào khối B.
Ta có sum(B) = 8, nên sum(B) 0 (mod 2). Khối B đƣợc bảo toàn và bit dữ liệu
b = 0 coi nhƣ đã đƣợc giấu.
Trong thuật toán giấu tin này, khóa đơn giản chỉ là kích thƣớc khối. K = m x n.
Nếu biết kích thƣớc của khối thì ta dễ dàng giải mã theo quy tắc sau.
3) Quá trình tách tin
Input
Output
-
F’ là ảnh đã đƣợc giấu dãy bit bí mật D
-
K là khóa bí mật, đó là kích thƣớc khối nhỏ đã đƣợc xác định trƣớc
-
F là file ảnh chứa tin đã đƣợc giấu
-
D là dãy bit bí mật đã giấu
Các bƣớc thực hiện
- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọc phần dữ liệu
ảnh vào ma trận hai chiều M
- Chia M thành các khối nhỏ với kích thƣớc K.
- Theo một thứ tự xác định trƣớc, xét từng khối nhỏ B, giải tin theo quy tắc sau
- Nếu tổng số các bit 1 là lẻ thì ta thu đƣợc bit giấu là 1
- Nếu tổng số các bit 1 là chẵn thì ta thu đƣợc các bit giấu là 0.
Nhƣ vậy, sau khi xử lý hết các khối đã giấu ta thu đƣợc chuỗi bit đã giấu b’
Chuyển file xâu bit nhị phân sang file văn bản.
15
1.5.1.3 Phân tích thuật toán
Thuật toán giấu tin trong ảnh dựa vào tính chẵn lẻ của tổng số bit 1 ở trên là rất
đơn giản. Sau khi nghiên cứu thuật toán này ta có thể đƣa ra một số nhận xét sau:
Việc chọn kích thƣớc khối để giấu tin cần căn cứ vào kích thƣớc ảnh và
lƣợng tin cần giấu sao cho các thông tin giấu có thể giàn trải trên toàn ảnh. Ví dụ nếu
ta có ảnh kích thƣớc 512 x 512 pixel và có một lƣợng thông tin cần giấu là 100 kí tự.
Nhƣ vậy, file thông tin nhị phân cần giấu là 100 x 8 = 800 bit. Ta có thể thấy để giấu
hết thông tin cần ít nhất 800 khối, vậy thì kích thƣớc khối ta có thể chia trên ảnh là
(512x512)/800=327 (dƣ 544). Với cách tính này thì kích thƣớc tối đa của một khối là
327. Chẳng hạn ta có thể chọn kích thƣớc cho một khối 20x16, 30x15… Nên chọn
khối có kích thƣớc lớn vì nhƣ vậy trong trƣờng hợp các khối bị thay đổi thì khoảng
cách các bit bị biến đổi sẽ thƣa hơn và làm cho ảnh sau khi giấu khó nhận biết hơn.
Với thuật toán này việc chọn khối khá đơn giản. Ta có thể bắt đầu từ khối
đầu tiên và các khối tiếp theo một cách tuần tự. Tuy nhiên ta có thể làm khó thuật toán
hơn bằng cách chọn ngẫu nhiên một khối chƣa giấu tin ở mỗi lần giấu. Khi đó ta đã
làm tăng độ an toàn của thuật toán vì khóa lúc đó còn bao gồm cả chỉ số khối đã giấu
tin cho từng bit. Hoặc ta có thể thay đổi kích thƣớc khối ở mỗi lần giấu. Chẳng hạn
nhƣ lần thứ nhất có kích thƣớc khối là 8x8, lần thứ hai là 8x12,… trong những trƣờng
hợp này thì khóa sẽ là kích thƣớc khối ở mỗi lần giấu.
Bản chất của kỹ thuật giấu tin trong ảnh đen trắng đó là một quy ƣớc nào
đó dƣới dạng một mệnh đề (tân từ) P. Nếu tân từ P đƣợc thỏa thì ứng với bit 1, ngƣợc
lại ứng với bit 0. Tân từ P trong thuật toán trên là sum(B) b (mod 2).
1.5.1.4 Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám
Nhƣợc điểm cơ bản của phƣơng pháp giấu tin vào ảnh đen trắng là tin giấu vào
đó đƣợc rất ít. Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi và ngƣời ta dễ dàng phát
hiện ra sự có mặt của thông tin ẩn. Do đó khi giấu tin mật ngƣời ta thƣờng chọn ảnh
màu hoặc ảnh đa cấp xám. Với ảnh màu và ảnh đa cấp xám, mỗi điểm ảnh đƣợc biểu
diễn bằng nhiều bít. Trong dãy các bít này có một bít đƣợc gọi là bít ít quan trọng nhất
(LSB – Least Significant Bit). LSB là bit mà khi ta đảo giá trị của nó thì điểm màu chỉ
bị thay đổi ít nhất. Thí dụ với ảnh đa cấp xám, mỗi mức xám g đƣợc biểu diễn bởi số
nguyên không âm, thì mức xám g sẽ sai khác ít nhất so với hai mức xám liền kề là g–1
và g+1. Trong trƣờng hợp này bít LSB chính là bit thấp nhất trong dạng biểu diễn nhị
phân của g. Hầu hết các thuật toán giấu tin trên ảnh mầu hoặc ảnh đa cấp xám đều áp
dụng gián tiếp thuật toán giấu tin trên ảnh đen trắng theo sơ đồ sau:
- Xem thêm -