Chương 1. GIẤU TIN TRONG ẢNH, PHÁT HIỆN ẢNH CÓ GIẤU TIN VÀ CÁC NGHIÊN CỨU LIÊN QUAN Trong chương này trình bày tổng quan về kỹ thuật giấu tin trong ảnh, các phương pháp giấu tin thường sử dụng trong thời gian gần đây, kỹ thuật phát hiện ảnh có giấu tin và các nghiên cứu liên quan. Từ đó đưa ra phương pháp phát hiện ảnh có giấu tin đề xuất trong chương 2 và 3. Ngoài ra chương này còn giới thiệu phương pháp thử nghiệm, đánh giá và nguồn dữ liệu ảnh thử nghiệm cho các kỹ thuật phát hiện đề xuất trong các chương tiếp theo.
GIẤU TIN TRONG ẢNH VÀ NGHIÊN CỨU LIÊN QUAN 1. Khái niệm Giấu tin trong ảnh (image steganography) là kỹ thuật lợi dụng một số thông tin dư thừa của dữ liệu ảnh gốc (cover image) để giấu (hoặc nhúng) thông tin vào đó. Kỹ thuật giấu này phải đảm bảo chỉ người gửi (giấu) và người nhận (tách) biết thông tin đã giấu, còn những người khác khó có thể cảm nhận được sự tồn tại của thông tin đã giấu trong ảnh [18, 27, 32]. Giấu tin trong ảnh gồm hai giai đoạn: nhúng thông tin vào ảnh gốc và tách thông tin đã giấu.
Để tăng cường độ an toàn cho thông tin đem giấu, thường thì trước khi giấu thông tin có thể được mã hóa bằng kỹ thuật mã hóa nào đó [27, 45, 74]. Trong quá trình tách thông tin, dữ liệu gốc có thể tham gia hoặc không. Các kỹ thuật giấu tin tốt thường không cần dữ liệu gốc để tách thông tin đã giấu. Dữ liệu có chứa thông Dữ liệu gốc c tin s (Cover) C Bộ giấu tin Biến đổi T Biến đổi ngược T-1 (tùy chọn) (tùy chọn) Thông tin M Hình 1.1: Sơ đồ quá trình giấu tin trong ảnh [84].tin TIEU LUAN MOI download : skknchat@gmail.tin Dữ liệu có chứa thông tin (Stego) s (Cover) C Bộ tách tin Thông tin M Biến đổi T (tùy chọn) Hình 1.2: Sơ đồ quá trình tách tin trong ảnh.2 là sơ đồ tổng quát của quá trình giấu tin và tách tin trong ảnh, trong đó phép biến đổi T và T-1 là các phép biến đổi tần số cosine, wavelet, fourier rời rạc hoặc biến đổi sai phân (image difference).
Dưới đây là tóm lược một số phép biến đổi sử dụng trong luận án này: - Biến đổi cosine rời rạc được thực hiện theo chuẩn nén ảnh JPEG, miền dữ liệu pixel của ảnh được chia thành các miền nhỏ (thường là kích cỡ 8x8 hoặc 16x16 pixel) sử dụng phép biến cosine rời rạc được các hệ số cosine [43], thông tin thường được giấu vào các hệ số cosine có giá trị lớn nhất hoặc nằm ở miền tần số giữa như các kỹ thuật giấu [3, 7, 23, 25, 69, 70, 92, 94, 104]. - Biến đổi wavelet rời rạc, sử dụng phép biến đổi wavelet rời rạc biến đổi miền dữ liệu pixel thành bốn băng tần mới LL, LH, HL, HH [72, 99]. Các giá trị trên bốn băng tần này gọi là các hệ số wavelet. Theo nhận định của những nhà giấu tin thì khi có thay đổi nhỏ các hệ số wavelet trên hai băng tần cao LH và HL (một số kỹ thuật giấu sử dụng cả băng tần HH) sẽ ít ảnh hưởng đến chất lượng trực quan của ảnh ban đầu như các kỹ thuật giấu [4, 5, 6, 42, 73, 91, 99].
Còn băng tần LL không hay sử dụng để giấu tin vì nó chính là nội dung thu nhỏ của ảnh, khi giấu vào băng tần này sẽ ảnh hưởng đến chất lượng của ảnh ban đầu. - Biến đổi sai phân (image difference), giả sử dữ liệu ảnh nào đó, kích thước m × n pixel, được biểu diễn dưới dạng vector X = {xij, i=0, …, m - 1, j=0, …, n - 1}, miền giá trị pixel của ảnh sẽ được biến đổi sang miền giá trị sai phân được vector các hệ số sai phân D ={dij} trong đó dij = 22 (LUAN.tin TIEU LUAN MOI download : skknchat@gmail.tin xi,2j+1 – xi,2j với 0 ≤ i ≤ m − 1, 0 ≤ j ≤ n/2 – 1 hoặc dij = xi,j-1 – xi,j với 0 ≤ i ≤ m – 1, 0 ≤ j ≤ n – 2. Thông tin thường được giấu trên LSB của các hệ số này như các kỹ thuật [48, 49, 52, 53, 90, 97]. Phương pháp giấu tin và nghiên cứu liên quan Kỹ thuật giấu tin trong ảnh ra đời dựa trên sự phát triển ưu việt của kỹ thuật thủy vân số (Watermarking), phương pháp thủy vân ảnh số đầu tiên là phương pháp thủy vân trên LSB của ảnh hay còn gọi là phương pháp thay thế LSB (LSB replacement – LSB hiding) và nó cũng trở thành phương pháp giấu tin đầu tiên trong ảnh [75].
Phương pháp giấu tin trên LSB là phương pháp thay thế các bit thông tin vào bit LSB của điểm ảnh. Trong một điểm ảnh của ảnh 8-bit cấp độ xám có thể biểu diễn dưới dạng chuỗi nhị phân 8 bit (giả sử điểm ảnh P có giá trị 236 có thể biểu diễn thành chuỗi nhị phân 8 bit là “11101100”) thì 7 bit liên tiếp đầu tiên (là chuỗi bit “1110110”) gọi là các bit MSBs (Most Significant Bit) có ý nghĩa quan trọng nhất đối với điểm ảnh, còn bit cuối cùng (bit “0”) gọi là bit LSB vì có ảnh hưởng ít nhất đến sự thể hiện của điểm ảnh. Do vậy, việc thay đổi giá trị của bit LSB (từ “0” sang “1” hay từ “1” sang “0”) không làm ảnh hưởng nhiều đến chất lượng trực quan của ảnh. Kỹ thuật giấu tin trên LSB vẫn còn được ưa chuộng cho đến ngày nay ở chỗ nó rất đơn giản và có khả năng giấu được nhiều thông tin.
Mỗi điểm ảnh có thể nhúng được một bit thông tin, do đó tỉ lệ nhúng lớn nhất là một bit thông tin trên một điểm ảnh (hay độ dài bit thông tin có thể nhúng bằng số điểm ảnh của ảnh). Để đơn giản, giả sử ảnh gốc đầu vào để giấu tin là ảnh xám 8 – bit kích cỡ m × n điểm ảnh, dữ liệu ảnh được biểu diễn dưới dạng vector Xm×n ={xij, i=1, …, m, j=1, …, n, xij {0, …, 255}}. Sau khi giấu chuỗi bit thông tin Bl = {bi, i = 1, …, l, bi {0,1}} vào ảnh bằng cách thay thế từng bit bi B vào từng bit LSB của xij theo thứ tự nào đó ta nhận được ảnh có giấu tin với vector Sm×n ={sij, i=1, …, m, j=1, …, 23 (LUAN.tin TIEU LUAN MOI download : skknchat@gmail.tin n, sij {0, …, 255}} tương ứng. Khi đó LSB của điểm ảnh được giấu tin theo mô tả như hình 1.
Minh họa giấu thông tin trong LSB của ảnh cấp xám 8 - bit [84]. Việc áp dụng hàm giấu và tách thông tin có thể thực hiện tương tự trên ảnh 24 - bit màu với 3 kênh màu R, G, B (mỗi kênh 8 – bit), khi đó việc giấu tin thường thực hiện trên kênh màu B (được cho là ít ảnh hưởng đến hệ thống cảm nhận của mắt người [27]) như quá trình giấu tin trên ảnh 8 – bit cấp độ màu. Để đảm bảo ảnh sau khi đã giấu tin bằng kỹ thuật giấu LSB trên miền không gian không bị phá vỡ bằng một số phép tấn công hình học như xoay, nén, co, giãn, … người ta đề xuất một số phương pháp giấu cải tiến LSB khác trên miền tần số: cosine [3, 7, 23, 25, 94, 104], wavelet [91, 99]. Một số khác còn giấu trên LSB của các hệ số sai phân [49, 53, 90, 97].
Bit LSB của điểm ảnh hay của hệ số biến đổi được chọn để giấu thông tin có thể chọn theo thứ tự tuần tự (quét raster) (như kỹ thuật giấu EzStego [105], Jstego [104 ], DE [91], …) hoặc theo thứ tự ngẫu nhiên dựa trên một bộ chọn vị trí giả ngẫu nhiên PR (Pseudo Random) (như kỹ thuật giấu OutGuess [71], F5 [94], Hide and Seek [69], …). Ngoài ra còn có hai trường đặc biệt giấu trên LSB đó là: phương pháp tăng giảm LSB, phương pháp đồng chẵn lẻ. Phương pháp tăng giảm LSB (1 embedding), bit thông tin sẽ được so sánh với bit LSB của điểm ảnh được chọn (việc chọn điểm ảnh có thể là tuần tự hoặc ngẫu nhiên theo bộ chọn PR). Nếu bit thông tin cùng giá trị với bit LSB của điểm 24 (LUAN.tin TIEU LUAN MOI download : skknchat@gmail.tin ảnh cần giấu thì mặc định sẽ giấu một bit thông tin vào điểm ảnh này, ngược lại điểm ảnh cần giấu sẽ tăng hoặc giảm đi 1 để LSB của nó đồng giá trị với bit thông tin.
Một số kỹ thuật giấu sử dụng phương pháp giấu này như [78, 49],… Phương pháp đồng chẵn lẻ, chia miền không gian ảnh ra thành nhiều khối bằng nhau kích thước k × t, bit thông tin sẽ được giấu vào từng khối theo quy tắc: số bit LSB có giá trị “1” của khối phải đồng tính chẵn lẻ với bit được giấu, tức là số bit “1” của một khối LSB là lẻ nếu bit thông tin cần giấu là “1”, ngược lại là chẵn nếu bit cần giấu là “0”. Trong trường hợp không trùng hợp, ta phải thay đổi giá trị LSB của khối đó để đảm bảo đồng tính chẵn lẻ với bit thông tin. Trường hợp đặc biệt, nếu kích thước mỗi khối dùng để giấu tin là 1×1, thì nó trở thành trường hợp giấu thay thế LSB tổng quát. Kỹ thuật giấu sử dụng phương pháp giấu này như [78], chỉ áp dụng cho miền không gian không áp dụng được cho miền tần số.
Có thể có nhiều phương pháp giấu LSB khác nhau không tuân theo bốn phương pháp đã nêu ở trên, đó là các phương pháp kết hợp với một trong bốn phương pháp trên (phương pháp tuần tự, phương pháp ngẫu nhiên, phương pháp tăng giảm, phương pháp đồng chẵn lẻ) cùng với một số thao tác nào đó nhằm nâng cao hiệu quả an toàn cho thông tin được giấu. Ngoài phương pháp giấu trên LSB còn có một số phương pháp giấu tin khác theo hình thức chèn nhiễu SS hay điều chỉnh hệ số lượng tử QIM như sau: Kỹ thuật giấu tin theo hình thức chèn nhiễu SS: Dữ liệu đem giấu sẽ được điều biến thành một chuỗi tín hiệu mang thông tin theo một hệ số bền vững α, sau đó được chèn vào dữ liệu ảnh gốc. Với cách thức giấu tin theo kiểu SS đã có nhiều phương pháp được đề xuất [3, 4, 26, 27, 32, 60]. Điển hình như phương pháp của J.
Cox [26], ảnh gốc sẽ được biến đổi Cosine và chọn ra một lượng hệ số DCT xk ở miền tần số giữa có giá trị lớn nhất bằng độ dài tín hiệu thông tin cần giấu, các tín hiệu thông tin dk trong chuỗi thông tin sẽ được chèn vào các hệ số xk này theo một trong ba công thức sau: sk = xk + αdk, sk = xk + (αxk) dk = xk (1+αdk) hoặc sk = xk eαdk.