Giấu tin tin trong ảnh là quá trình sử dụng thuật toán, biện pháp kĩ thuật nhằm giấu thông tin trong một đối tượng dữ liệu hay thông tin khác. Mục đích của giấu tin là giấu tin mật và thủy vân số. Giấu tin mật là giấu tin để truyền đi không mong muốn cho người khác biết sử dụng các biện làm sao cho có thể giấu càng nhiều thông tin vào càng tốt. Thủy vân là một dạng cảu giấu tin nhằm mục đích bảo vệ bản quyền tác giả hoặc chống chối bỏ, chống xuyên tạc thông tin
Trang 1BÁO CÁO GIẤU TIN TRONG ẢNH PHƯƠNG PHÁP DCT VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN GIẤU TIN
TRONG ẢNH
Tổ 3 – Nhóm 3 Giảng viên hướng dẫn: TS Đỗ Xuân Chợ
SV thực hiện: Trần Mạnh Cường – B14DCAT107
Lê Đức Anh – B14DCAT091 Nguyễn Đình Thái - B14DCAT161 Nguyễn Công Lâm – B14DCAT222 Lưu Bá Sơn – B14DCAT170 Trần Viết Tuấn - B14DCAT268 Nguyễn Anh Minh - B14DCAT240
Trang 2I Đặt vấn đề 3
II Thủy vân trên ảnh số 3
III Giấu tin trong ảnh bằng phương pháp DCT 4
1 Phép biến đổi DCT 5
2 Kỹ thuật thủy vân sử dụng phép biến đổi DCT 6
3 Kết quả thực nghiệm và demo 9
4 Kết luận 11
IV Một vài phương pháp phát hiện giấu tin trong ảnh 12
1 Phân loại các phương pháp 12
2 Thuật toán PoV3 13
3 Kỹ thuật phân tích đối ngẫu 15
4 Thuật toán RS 17
Trang 3I Đặt vấn đề
Trong kỷ nguyên số, thông tin số được sử dụng rộng rãi trong một môi trườngmở: 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ảnquyề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 Nhúng thủy 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ươngtiện
Không giống như các hệ mật mã được sử dụng cho truyền thông và không ngăncấm được người dùng sử dụng trái phép những dữ liệu đó, các phương pháp thủyvân hứa hẹn một giải pháp cho vấn đề bảo vệ bản quyền đối với sản phẩm số khi
mà sản phẩm đó được sử dụng trong môi trường mở mà không cần đến việc mãhóa Tạo thủy vân là một phương pháp nhúng một lượng thông tin nào đó vàotrong dữ liệu đa phương tiện cần được bảo vệ sở hữu mà không để lại ảnh hưởngnào đến chất lượng của sản phẩm Thủy vân phải tồn tại bền vững với sản phẩm số
và không thể loại bỏ bằng bất kì những tấn công có chủ đích hay không chủ đíchnào trừ khi phá hủy sản phẩm
II Thủy vân trên ảnh số
Thủy vân trên ảnh số giống như một ảnh được gán mác sở hữu của người chủ.Thủy vân phải mang thông tin có ý nghĩa xác định duy nhất người được sở hữuảnh đó Người ta tập trung vào việc làm sao cho thủy vân đó thỏa mãn hai tínhchất quan trọng đó là:
- Ẩn: không hiển thị trên nền ảnh, không làm ảnh hưởng nhiều đến chất lượng tri
giác của ảnh
- Bền vững: thủy vân phải tồn tại bền vững cùng với sản phẩm, không bị xóa bởi
các tấn công có chủ đích hay không có chủ đích Một cách lý tưởng là để loại
bỏ thủy vân chỉ còn cách là phá hủy ảnh đó
Tính phức tạp của kỹ thuật thủy vân thể hiện ở hai tính chất mâu thuẫn lẫn nhaunày Nếu như để đảm bảo tính ẩn thì thủy vân phải được giấu trong những vị trí ít
có ý nghĩa tri giác nhất, ít bị chú ý nhất, nhưng để đảm bảo được tính bền vững thìthủy vân phải chịu được những phép xử lí ảnh phổ biến như dịch chuyển ảnh, cogiãn ảnh, quay ảnh hoặc nén ảnh Đơn cử như phép nén JPEG lại loại bỏ ở ảnhnhững thông tin ít có tính tri giác nhất để làm giảm kích thước của ảnh mà vẫnđảm bảo được chất lượng ảnh Có hai nhóm kĩ thuật chính:
1 Nhóm các kĩ thuật biến đổi miền không gian ảnh: nhóm kĩ thuật này tập trungvào việc thay đổi trực tiếp lên không gian các điểm ảnh và sử dụng các mô hìnhtri giác và phương pháp hình học Tuy nhiên, các kĩ thuật này chỉ đảm bảo đượcthuộc tính ẩn mà không có tính bền vững Kĩ thuật này thường được sử dụngtrong các ứng dụng nhận thực thông tin, phát hiện xuyên tạc
Trang 42 Nhóm kĩ thuật biến đổi miền tần số ảnh: nhóm kĩ thuật này sử dụng một phươngpháp biển đổi trực giao nào đó, chẳng hạn như Cosine rời rạc, hay Fourier… đểchuyển miền không gian ảnh sang miền tần số Thủy vân sẽ được nhúng trongmiền không gian tần số của ảnh theo kĩ thuật trải phổ trong truyền thông Đây là
kĩ thuật phổ biến nhất với nhiều thuật toán và là một phương pháp tốt giải quyếtvấn đề đảm bảo hai thuộc tính quan trọng của thủy vân sau khi giấu
III Giấu tin trong ảnh bằng phương pháp DCT
Trang 5Qua hình trên ta thấy có hai bước quan trọng để có thể giấu được tin bằng DCT là “biến đổi các khối ảnh thành các khối DCT” và “giấu tin vào các khối DCT đó” Dưới đây, chúng tôi xin trình bày thuật toán cho 2 giai đoạn trên.
Biến đổi DCT trên khổi N x N được định nghĩa như sau:
Công thức biến đổi DCT thuận từ F(x,y) -> f(u,v):
Công thức biến đổi DCT ngược:
Trên ảnh hai chiều, các khối thường sử dụng là 88, 1616
(a)
(b)
(c)
Trang 6Phân chia ba miền tần số của khối ảnh 88 theo phép biến đổi DCT
(a) miền tần số thấp
(b) miền tần số giữa
(c) miền tần số cao
Đặc điểm của biến đổi DCT:
- Thể hiện đặc tính nội dung về tần số của thông tin ảnh Hệ số góc trên là lớn và
đặc trưng cho giá trị trung bình thành phần một chiều gọi là hệ số DC, các hệ
số khác có giá trị nhỏ hơn biểu diễn cho các thành phần tần số cao theo hướngngang và dọc gọi là hệ số AC
- Bản thân biến đổi DCT không nén được dữ liệu vì sinh ra 64 hệ số.
- Theo nguyên lý chung, khi biến đổi chi tiết giữa các điểm ảnh càng lớn theo
một hướng nào đó trong khối các điểm ảnh, hướng ngang, dọc hoặc theođường chéo thì tương ứng theo các hướng đó, các hệ số biến đổi DCT cũnglớn
- Tóm lại, DCT làm giảm độ tương quan không gian của thông tin trong khối
ảnh Điều đó cho phép biểu diễn thích hợp ở miền DCT do các hệ số DCT có
xu hướng có phần dư thừa ít hơn Hơn nữa, các hệ số DCT chứa thông tin vềnội dung tần số không gian của thông tin trong khối Nhờ các đặc tính tần sốkhông gian của hệ thống nhìn của mắt người, các hệ số DCT có thể được mãhóa phù hợp, chỉ có các hệ số DCT quan trọng mới được mã hóa để chuyểnđổi
- Khối hệ số DCT có thể chia làm 3 miền: miền tần số thấp, miền tần số cao và
miền tần số giữa Miền tần số thấp chứa các thông tin quan trọng ảnh hưởngđến tri giác Miền tần số cao thường không mang tính tri giác cao, khi nénJPEG thường loại bỏ thông tin trong miền này
- Trong các thuật toán thủy vân, miền hệ số DCT tần số cao thường không được
sử dụng do nó thường không bền vững với các phép xử lý ảnh, hoặc nền ảnhJPEG Miền tần số thấp cũng khó được sử dụng do một sự thay đổi dù nhỏtrong miền này cũng dẫn đến chất lượng tri giác của ảnh Vì vậy, miền tần số ởgiữa thường hay được sử dụng nhất và cũng cho kết quả tốt nhất
2 Kỹ thuật thủy vân sử dụng phép biến đổi DCT
a) Ý tưởng:
Trang 7Thuật toán dưới sử dụng phương pháp nhúng thủy vân trong miền tần số củaảnh, giải tần được sử dụng để chứa tín hiệu thủy vân là miền tần số ở giữa củacác khối DCT 8x8 Trong đó, các khối DCT 8x8 là những khối ảnh cùng kíchthước đã được chọn ra từ ảnh ban đầu vầ được áp dụng phép DCT để chuyểnsang miền tần số Mỗi bit tín hiệu thủy vân sẽ được nhúng trong một khối.
- Thuật toán sử dụng các hàm:
Max(x,y): hàm cho số lớn nhất trong hai số x và y
Min(x,y): hàm cho số nhỏ nhất trong hai số x và y
INT(x): hàm lấy phần nguyên của số thực x
| x |: cho giá trị tuyệt đối của x
b) Quá trình nhúng thủy vân:
Bước 1: ảnh F có kích thước mxn sẽ được chia thành (mxn)/64 khối 8x8, mỗi
bit của thủy vân sẽ được giấu trong một khối Bk
Bước 2: chọn một khối bất kỳ Bk và biến đổi DCT khối đó thu được Ck.
Ck = DCT(Bk)
Bước 3: chọn hai hệ số ở vị trí bất kì trong miền tần số ở giữa của khối Ck, gọihai hệ số đó là Ck[i,j] và Ck[p,q]
Bước 4: tính độ lệch d = | | Ck[i,j] | - | Ck[p,q] | | mod a Trong đó a là một tham
số thỏa mãn a = 2(2t + 1), với t là một số nguyên dương
Bước 5: bit bk sẽ được nhúng vào khối Ck sao cho thỏa mãn bất biến sau:
Bước 6: nếu d < 2t + 1 và bk = 1 thì trong hai hệ số DCT Ck[i,j] hoặc Ck[p,q] có
giá trị tuyệt đối lớn hơn sẽ bị thay đổi để thỏa mãn d>=2t+1 theo công thức (1)hoặc (2) như sau:
Max(| Ck[i,j] |, | Ck[p,q] |) + (INT(0.75a) – d) (1)
Hệ số được chọn sẽ được cộng thêm một lượng là (INT(0.75a) – d)Min(| Ck[i,j] |, | Ck[p,q] |) - (INT(0.25a) + d) (2)
Hệ số được chọn sẽ được trừ đi một lượng là (INT(0.25a) + d)
Bước 7: nếu d >= 2t+1 và bk = 0 thì một trong hai hệ số DCT Ck[i,j] hoặc
Ck[p,q] có giá trị tuyệt đối lớn hơn sẽ bị thay đổi để thỏa mãn d < 2t+1 theocông thức (3) hoặ (4) như sau:
Max(| Ck[i,j] |, | Ck[p,q] |) – (d - INT(0.25a)) (3)
Hệ số được chọn sẽ bị giảm đi một lượng là (d - INT(0.25a))Min(| Ck[i,j] |, | Ck[p,q] |) + (INT(0.25a) - d) (4)
Trang 8Hệ số được chọn sẽ được tăng thêm một lượng là (INT(0.25a) - d)
Bước 8: thực hiện phép biến đổi ngược IDCT đối với khối Ck B’k = IDCT(Ck) Bước 9: ghép các khối ảnh B’k để thu được ảnh chứa thủy vân F’.
c) Chứng minh tính đúng đắn của thuật toán.
Xét các trường hợp sau đây:
− Nếu d < 2t +1 với si = 0 và d >= 2t+1 với si =1 thì sẽ không thay đổi gì hệ số của khốiDCT, và vì DCT là phép biến đổi thuận nghịch nên khi giải mã thì ta cũng thu được kếtquả chính xác
− Trường hợp d<2t+1 và si = 1
Ta biến đổi một trong hai hệ số b’(i,j) và b’(p,q) như sau:
max(|b’(i,j)|,|b’(p,q)|) + (INT(0,75*a) -d)
Khi đó giá trị d mới là:
d = (|| b(i, j) |-| b(p,q) || + (INT(0.75* a) - d)) mod a
d’ = (||b’(i,j)|- |b’(p,q)|| mod a)+ (INT(0,75*a) mod a) - (d mod a)
d’ = d + INT(0,75*a) - d = INT(0,75 *a) > 0,5 *a = 2t +1 (dpcm)
Hoặc ta sử dụng cách biến đổi hai hệ số theo kiểu khác:
min(|b’(i,j)| - |b’(p,q)|) - (INT(0,25 *a) +d))
Tính lại d:
d’ = (||b’(i,j)|-|b’(p,q)|| - (INT(0,25*a) +d)) mod a
d’ = (||b’(i,j)|- |b’(p,q)|| mod a) - (INT(0,25*a) mod a) - (d mod a)
d’= d-(INT(0,25*a) mod a) - d = - INT(0,25*a) mod a = INT(0,75*a) >2t +1
− Trường hợp d>=2t +1 và si = 0
Ta sẽ biến đổi một trong hai hệ số DCT b’(i,j) hoặc b’(p,q) như sau:
max(||b’(i,j)|,|b’(p,q)||) - (d- INT(0,25*a))
Giá trị mới của d sẽ là:
d’ = (||b’(i,j)|-|b’(p,q)|| - (d-(INT(0,25*a)) mod a
d’= ((||b’(i,j)|-|b’(p,q)||) mod a) - (d mod a) + (INT(0,25*a) mod a)
d’= d-d + 0,25*a = 0,25*a < 0,5*a = 2t +1(dpcm)
Trang 9Hoặc ta sử dụng cách biến đổi khác đối với hai hệ số DCT:
min(||b’(i,j)|- |b’(p,q)||) + INT(1,25*a) - d
Khi đó tính lại d ta được: d’ = (||b’(i,j)|-|b’(p,q)|| + INT(1,25*a) -d) mod a
d’= (||b’(i,j))|-|b’(p,q)|| mod a) + (INT(1,25*a) mod a) - (d mod a)
d’ = d +INT(0,25*a) -d = INT(0,25*a) < 0,5*a = 2t+1
Vậy với các phép biến đổi trên, ta luôn thoả mãn được điều kiện giấu tin
3 Kết quả thực nghiệm và demo
Kết quả thực tế cài đặt thử nghiệm được cho trong bảng sau Các hàng là số lượng bít đã giấu vào ảnh Các cột lần lượt là các hệ số a đã chọn Giao giữa hàng và cột là tỉ lệ lỗi bít được tính bằng tổng số bít lỗi trên tổng số bít đã đem giấu được tính bằng hệ số tương quan C (cross- relation)
Ảnh được giấu là một ảnh đa cấp xám Lena.BMP cỡ 512 × 512 pixel
Trang 10Bảng 1: Thực nghiệm với ảnh Lena.Bmp 512 × 512 (chưa nén JPEG)
Dưới đây là kết quả thu được sau khi nén JPEG ảnh đã được thuỷ vân với tỉ lệ nén lần lượt là 100%, 90%, 80%, 50% KT là kích thước file ban đầu và sau khi nén C là hệ số tương quan giữa thuỷ vân trước khi giấu và sau khi giấu Thuỷ vân có độ dài là 1000 bít, các hệ số a1, a2, a3 lần lượt là 10,14,18
Bảng 2: Thực nghiệm với ảnh Lena.Bmp 512 × 512 với các trường hợp nén JPEG
Tiếp theo là kết quả thu được khi thực hiện phép lọc, làm sắc ảnh
Trang 11a Ảnh Lena sau khi giấu tin
b Ảnh Lena sau 5 lần tấn công làm sắc
4 Kết luận
Ảnh được chia thành các khối 8x8, các khối này được chọn một cách ngẫu nhiên để nhúng thủy vân Mỗi khối sẽ được áp dụng phép biến đổi cosine rời rạc để chuyển dữ liệu về tần số của khối ảnh Miền tần số thấp của khối ảnh đã được chứng minh là chứa dữ liệu nhìn thấy của ảnh, các thay đổi dữ liệu trên miền này sẽ dẫn đến thay đổi đáng kể ảnh hiển thị Ngược lại, miền tần số cao chứa dữ liệu ảnh không ảnh hưởng đáng kể đến tri giác ảnh Đây là miền tần số
Trang 12cho phép thay đổi mà không gây nhiễu nhiều đến ảnh Tuy nhiên, thủy vân trong miền này lại không bền vững với các phép biến đổi ảnh thông thường Với thuật toán này, miền được chọn để giấu tin là miền có tần số ở giữa tần số cao và tần số thấp, kết quả thực nghiệm của thuật toán cũng cho thấy thủy vân đảm bảo được tính chất ẩn trên ảnh và bền vững trên một số phép biến đổi ảnh thông thường.
IV Một vài phương pháp phát hiện giấu tin trong ảnh
1 Phân loại các phương pháp
Trong phân tích ảnh giấu thông tin, người ta lại chia làm hai loại: phân tích
“mù” (blind steganalysis) và phân tích có chủ đích (targeted steganalysis)
* Phân tích “mù”: Chúng ta không biết trước thuật toán giấu tin là thế nào Do
đó, thường dựa trên kinh nghiệm, kết hợp với một cơ sở dữ liệu lưu giữ những đặctrưng của một số thuật toán giấu tin hoặc những phần mềm giấu tin đã biết để tiếnhành phân tích ảnh, rồi đưa ra kết luận
* Phân tích có chủ đích: Chúng ta biết trước thuật toán giấu tin đang sử dụng,
hoặc ít ra cũng biết trước chiến lược giấu tin là gì, ví dụ: chiến lược giấu tin vào các bít
có trọng số thấp chẳng hạn, mặc dù chưa biết giấu theo phương pháp nào (tuần tự,ngẫu nhiên hay theo từng khu vực ảnh) Để phân tích hệ giấu tin mật này, thường dựatrên phân tích sự khác biệt giữa các điểm ảnh, phân tích sự chuyển mầu có đột ngộthay không? Tại sao khi quan sát bằng mắt thường thì dải mầu không thay đổi, nhưngkhi quan sát ở chế độ nhị phân lại có sự sai khác đáng nghi ngờ tại các bít LSB?Phương pháp phân tích có chủ đích được nghiên cứu phổ biến là phân tích cặp giá trịPoV (giá trị điểm ảnh 2k,2k+1), rồi áp dụng các tiêu chuẩn xác suất thống kê để đưa rakết luận Trong tấn công có chủ đích, một yêu cầu đặt ra: ước lượng tỉ lệ tin mật nhúngtrong ảnh là bao nhiêu?
Một số phương pháp phân tích
- Phương pháp phân tích trực quan:
Là phương pháp dựa trên quan sát trực tiếp ảnh và đưa ra kết luận ảnh có giấutin hay không Đây là phương pháp đơn giản và mang lại hiệu quả không cao Ngoàiviệc phân tích các vùng ảnh nghi vấn, chúng ta có thể kết hợp phân tích lược đồ mầucủa ảnh bằng một số phần mềm xử lý ảnh để phát hiện sự tăng đột biến ở một số gammầu (đặc biệt là các gam mầu thuộc bít LSB) Một phương pháp khác được sử dụng,
Trang 13mang lại hiệu quả cao hơn để phát hiện ảnh giấu tin một cách tuần tự, đó là phươngpháp tăng cường bit có trọng số thấp Để áp dụng phương pháp tăng cường bit có trọng
số thấp, ta sử dụng chính thuật toán giấu tin vào bit có trọng số thấp, nhưng với điềukiện : nếu bit LSB là 0 thì ta chuyển toàn bộ các bit cao thành 0 ; nếu bit LSB là 1 thìchuyển toàn bộ các bit cao thành 1 Kết quả là mầu sắc ảnh có giấu tin trở lên khácthường, đáng nghi vấn
- Phương pháp phân tich cấu trúc ảnh
Ngoài việc giấu tin vào trực tiếp vùng lưu giữ dữ liệu của ảnh, có một số phần mềm giấu tin còn sử dụng những vùng ảnh không sử dụng: vùng comment,
header, phần kết thúc file ảnh, để giấu tin Dựa trên cấu trúc của ảnh, chúng ta cóthể dễ dàng phát hiện ra ảnh có giấu tin trong trường hợp này Thực tế, chỉ cần sử dụng phần mềm như UltraEdit, WinHex, là có thể tấn công thành công
- Phương pháp phân tích sử dụng các tiêu chuẩn thống kê:
Hai tác giả, Plitzmann và Westfeld đã sử dụng tiêu chuẩn xác suất thống kê đểphân tích các cặp giá trị PoV (Pair of Values) Dựa trên kết quả xác suất thu được, cóthể đưa ra dự đoán ảnh có giấu tin hay không Trước khi giấu tin, trên ảnh gốc, mỗi giátrị PoV có phân phối không đều (giá trị tính toán tần số xuất hiện cách xa 50/50) Saukhi giấu tin, khoảng cách giá trị trong mỗi cặp có xu hướng trở nên gần nhau hơn (gầnvới 50/50)
2 Thuật toán PoV3
Theo nghiên cứu của Pfitzmann và Westfeld: Giả sử một điểm ảnh P có giá trị là
i, sau khi được giấu tin vào bít LSB thì điểm ảnh P sẽ có giá trị là j Hai giá trị i và j chỉ sai khác nhau 1 bít thấp nhất Cặp giá trị (i,j) được gọi là một cặp PoV.