Nghiên cứu một số thuật toán giấu tin và giải pháp tăng cường hiệu quả của việc giấu tin trong ảnh Nghiên cứu một số thuật toán giấu tin và giải pháp tăng cường hiệu quả của việc giấ
Trang 1Nghiên cứu một số thuật toán giấu tin
và giải pháp tăng cường hiệu quả của việc
giấu tin trong ảnh
Nghiên cứu một số thuật toán giấu tin
và giải pháp tăng cường hiệu quả của việc
giấu tin trong ảnh
Giáo viên hướng dẫn:
Khoa CNTT
Trang 2Một số phương pháp giấu tin theo
khối dữ liệu môi trường
4
Kết quả đạt được và hướng phát triển
5
Trang 31 Đặt vấn đề
Yêu cầu bảo mật các ứng dụng ngày càng cao.
Giấu tin(information hiding)- giải pháp đầy triển vọng
Có rất nhiều phương pháp giấu tin trong ảnh, tuy nhiên không phải phương pháp nào cũng có thể chống lại khả năng thay đổi định dạng ảnh (nén ảnh có mất mát thông tin, thay đổi kích thước, co giãn, cắt xén ảnh…)
Yêu cầu đưa ra giải pháp tăng cường tính bền vững của thông tin giấu khi nén ảnh mất dữ liệu (chuyển từ BMP sang JPEG)
Trang 42 Kết quả đạt được
Kết quả đạt được:
Nghiên cứu tổng quan các phương pháp giấu tin đã có.
Tìm hiểu kỹ một số phương pháp giấu tin
Đề xuất một số phương pháp giấu tin trong ảnh số theo “khối
dữ liệu” nhằm tăng tính bền vững thông tin giấu khi nén ảnh.
Cài đặt 4 pp đã tìm hiểu và đề xuất 4 giải pháp tăng cường.
Trang 53 Những khái niệm cơ bản (1/6)
Giấu tin: Là kỹ thuật nhúng một lượng thông tin số nào đó vào
trong một đối tượng dữ liệu số khác
Phân loại: Theo Fabien A P Petitcolas đề xuất năm 1999:
Đồ án tập trung giải quyết một số vấn đề về giấu tin mật
Giấu tin (Information hiding)
Gi u tin m t (Steganography)
vân s (Digital watermarking)
vân b n v ng (Robust watermarking)
vân d v (Fragile watermarking)
Trang 63 Những khái niệm cơ bản (2/6)
Các thành phần của bài toán giấu tin:
tin để tăng tính bảo mật
khi đã giấu tin.
Trang 73 Những khái niệm cơ bản (3/6)
Mô hình tổng quát:
Thu t n
gi u tin Tin m t (M)
Khóa K (Stego-key)
Khóa K (Stego-key) Môi tr ng đ
Trang 83 Những khái niệm cơ bản (4/6)
Yêu cầu:
Chất lượng môi trường vẫn đảm bảo, tin nhúng khó phát hiện.
Tin mật cần được mã hoá trực tiếp vào thông tin của môi trường.
Tin mật phải bền vững với các phép biến đổi, tấn công.
Kết hợp các pp kiểm soát lỗi
Quá trình trích rút tin không cần sử dụng môi trường gốc.
Ứng dụng:
Copyright protection:
Authentication and tamper detection:
Fingerprinting for Traitor Tracking
Watermarking for Image Authentication
Trang 93 Những khái niệm cơ bản (5/6)
Steganography:
Steganography cơ sở (Pure Steganography)
Steganography cơ sở là một bộ gồm <C, M, D, E>;
|C| ≥ |M|,
E : C × M → C,
D : C → M ,
D( E(c,m) ) = m với mọi m M và c C,
Giấu tin mật (Steganography)
Steganography cơ sở
Pure-Steganography
Steganography nâng cao
Secret Key Steganography (Steganography khóa bí mật)
Public Steganography (Steganography khóa công
khai)
Trang 103 Những khái niệm cơ bản (6/6)
Steganography nâng cao
• Steganography với khóa bí mật là một bộ gồm <C, M, K, DK,
EK>,
• |C| ≥ |M|,
• EK : C×M×K → C,
• DK : C×K → M,
• DK( EK(c, m, k), k ) = m với mọi m Є M, c Є C và k Є K
2 khoá (bí mật và công khai)
Trang 114 Một số pp giấu tin trong ảnh số (1/4)
Phương pháp ”BPCS Steganography” - Eiji Kawaguchi.
PP nhúng không mất mát thông tin RS – Salomon.
Phương pháp mảnh chắp của Bender
Phương pháp LSB (Least significant bit)
Trang 124 Một số pp giấu tin trong ảnh số
(2/4)
Giấu đơn giản:
Trang 134 Một số pp giấu tin trong ảnh số
(3/4)
Giấu Stego-key:
đối với các phép biến đổi
byte Key 150 =
Gi u bit 1
Gi u bit 0
Gi u bit 0
Trang 144 Một số pp giấu tin trong ảnh số (4/4)
Giấu luân phiên: luân phiên giấu các bit thông tin
Giấu ngẫu nhiên: Dùng một hàm sinh số ngẫu nhiên xác định vị trí giấu các byte ảnh.
số ngẫu nhiên nên tính bảo mật được tăng lên
Trang 155 Một số pp giấu tin theo khối dữ liệu môi trường
Nhận xét:
Dựa vào tính chất của một điểm ảnh
• Ưu điểm:
– Dung lượng lớn, – Bảo mật cao nếu không biết hàm trích rút thông tin
• Hạn chế:
– Không bền với các phép biến đổi thông thường, nén ảnh
– Hiệu quả giấu tin chỉ dựa vào thuật toán
• Kết hợp cả thuật toán giấu tin và môi trường giấu tin.
→ Tăng tính mềm dẻo của phương pháp và tăng tính bền vững.
Trang 16a Giấu tin theo khối dữ liệu môi trường (1/8)
Trên ma trận màu Red, quét ảnh từ trên xuống dưới, trái qua phải.
Chọn kích thước khối 3x3, 5x5 hoặc 7x7…Khối thỏa mãn:
• Các khối không được chồng lên nhau.
• Tiêu chuẩn đồng nhất về mức xám (mức xám của các
điểm ảnh trong khối lệch nhau không quá một giá trị 2α).α).).
Kiểm tra số lượng khối thoả mãn, không đủ chọn môi trường khác.
Mỗi khối giấu một bit thông tin
Vị trí giấu bit trong khối: trên tất cả các điểm ảnh của khối hoặc chọn một vài điểm thích hợp.
Trang 17a Giấu tin theo khối dữ liệu môi trường (2/8)
Quá trình giấu tin: Chọn ảnh môi trường Tin mật → chuỗi bit.
Quét mặt phẳng màu Red, chọn kích thước khối là nxn.
Tìm các khối nxn “khá đồng nhất” về mức xám, theo α)
Thực hiện giấu tin vào các khối với yêu cầu:
• Mỗi khối giấu một bit của tin mật,
• Giấu vào tất cả các điểm ảnh trên khối hoặc chọn một vài
điểm thích hợp,
• Bit cần giấu được thay thế vào bit LSB của các điểm ảnh
được chọn trên.
Thực hiện giấu lần lượt vào các khối tìm được đến khi hết thông tin cần giấu.
Trang 18a Giấu tin theo khối dữ liệu môi trường (3/8)
Xác định khóa của phương pháp, giá trị n - kích thước khối.
Tìm các khối nxn thoả mãn yêu cầu “khá đồng nhất” về mức xám.
Trong mỗi khối, lấy một bit cho chuỗi tin mật Ví trí lấy bit này tùy thuộc vào sự thống nhất trong quá trình giấu tin.
Xét lần lượt các khối cho đến khi hết lượng thông tin cần.
Chuyển chuỗi bit thu được thành dạng thông tin ban đầu.
Trang 19a Giấu tin theo khối dữ liệu môi trường (4/8)
Chứng minh tính khả thi của thuật toán: 4 vấn đề
1 Có thể xác định được khối “khá đồng nhất” hay không?
2 Số khối có đủ để giấu tin hay không?
3 Khi thay đổi bit LSB tại khối giấu tin, có làm thay đổi
tính “khá đồng nhất” hay không?
4 Khi chuyển định dạng của ảnh đầu vào của quá trình trích rút thông tin, một số pixel trên ảnh sẽ bị thay đổi, vậy có thể lấy lại thông tin chính xác không?
Trang 20a Giấu tin theo khối dữ liệu môi trường (5/8)
Vấn đề 3: Xét khối 3x3 sau
Đặt pmax = MAX {pi}, pmin = MIN {pi} với i = 1, 2, , 9
pmax - pmin ≤ 2α (1)
* nếu pi chẵn:
Giấu bit 1: pi tăng 1 đơn vị, pi trở thành lẻ; Giấu bit 0: pi giữ nguyên
* nếu pi lẻ:
Giấu bit 1: pi giữ nguyên; Giấu bit 0: pi giảm 1 đơn vị, pi trở thành lẻ,
Trường hợp 1: pmax và pmin cùng tính chất chẵn (hoặc lẻ).
pmax - pmin không đổi sau khi giấu
Trường hợp 2α).: pmax và pmin khác tính chất chẵn lẻ.
Đặt d = pmax - pmin ≤ 2α, suy ra d lẻ Mà 2α là chẵn:
d ≤ 2α – 1
Trang 21a Giấu tin theo khối dữ liệu môi trường (6/8)
1 pmax = 91 và pmin = 87, độ lệch α = 2
pmax - pmin = 4 = 2α
2 pmax = 90 và pmin = 86, pmax - pmin = 4 = 2α
Vẫn thoả mãn là khối “khá đồng nhất”
3 pmax = 91 và pmin = 87, pmax - pmin = 4 = 2α
Vẫn thoả mãn là khối “khá đồng nhất”
Trang 22a Giấu tin theo khối dữ liệu môi trường (7/8)
Ưu điểm:
• Ảnh ít bị thay đổi
• Phương pháp dựa trên dữ liệu môi trường, coi kích thước khối là “khóa”
nên tính bảo mật được tăng lên.
Nhược điểm:
• Số khối thỏa mãn tìm được phụ thuộc vào ảnh, và thường không nhiều, do đó lượng thông tin giấu được là không nhiều.
Trang 23a Giấu tin theo khối dữ liệu môi trường (8/8)
Mở rộng: Thay vì sử dụng độ lệch tối đa giữa các pixel trong khối,
sử dụng khái niệm trung bình cộng và phương sai
Xét khối 3x3, Khi đó, giá trị một màu trung bình của khối là:
Gọi d là phương sai của các pixel trong khối, ta có :
Khối là “khá đồng nhất” nếu d bé hơn một giá trị λ nào đó, ví dụ λ = 2
p p
p p d
Trang 24b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
1 Cơ sở và ý tưởng
- Xét ảnh MxN, chia thành
các khối 8x8,
- Chuyển ảnh sang Jpeg.
Xét mặt phẳng bit thứ i của
các pixel ảnh trong khối.
→ chọn plane 1 hoặc 2α)
hoặc 3 để đánh giấu khối.
Trang 25b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Chọn plane ảnh nào để
giấu tin ?
Theo bảng thống kê, ta
có thể chọn plane ảnh
3, 4, 5
→ Để ảnh hưởng ít nhất
ta thường chọn giấu
vào plane 5.
Trang 26b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Ví dụ:
Ta dùng plane 1 để đánh giấu,
plane 5 để giấu tin.
1 1 1 1 1 1 1 1 1
1 1 1
0 0 0 0 0 0 0 0 0
0 1 0 1 0 0 0 1 0
1 1 1
150 143 130 137 152 160 132 133 136
175 155 139 134 143 130
Trang 27b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Quá trình giấu tin: Đầu vào là ảnh BMP Tin cần giấu được biến thành chuỗi bit kết hợp với chuỗi bit kiểm soát lỗi.
Chọn plane 1 để xác định “khối ổn định” và chọn plane 5
để giấu tin.
Tìm các khối 8x8 thoả mãn yêu cầu của “khối ổn định”
(giống nhau ở plane 1)
Thực hiện việc thế tại plane 5 bằng một bit của tin mật
cho cả khối.
Thực hiện việc này cho đến khi hết chuỗi bit.
Trang 28b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Quá trình trích rút thông tin: Ảnh đã chuyển BMP→JPEG.
Tìm các khối 8x8 thoả mãn yêu cầu “khối ổn định”.
Trong các khối vừa tìm được, trích thông tin tại plane 5
Khi lấy ta sẽ lấy giá trị bit chiếm đa số trong khối.
Lấy lần lượt các khối cho đến khi hết lượng thông tin cần
Kết hợp các bit đã lấy thành chuỗi Sử dụng thuật toán kiểm soát lỗi để phục hồi lại các bit bị sai (nếu có)
Trích luợng bit đã giấu và chuyển chuỗi bit thành tin mật.
Trang 29b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
1 1 1 1
0 0 1 1 0
1 1 1 1 0 1 1 1 0
1 1 1 1 0 0
211 211 229 229 200 200
0 0 0 0 0 0
211 211 225 225 200 200
208 212 224 224 201 201
0 1 0 0 0 0
Trang 30b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Xác định vị trí khối và giấu tin là hai công đoạn khác nhau:
• Vị trí đánh giấu có thể ở các bit thấp (bit thứ nhất, thứ hai, )
• Vị trí giấu tin lựa chọn các bit cao (bit thứ tư, bit thứ năm,…)
Thám mã sẽ phức tạp hơn, vì cần biết rõ thuật toán và vị trí của
“khối ổn định” (cả thứ tự bit được xác định để làm tiêu chuẩn ổn
định)
Khi nén mất thông tin bằng JPEG với tỷ lệ nén lớn (khoảng 30%
đến 99%), kết quả trích rút thông tin chính xác 98%
Phương pháp này chưa cho kết quả tốt đối với các phép biến đổi
hình học (co giãn, quay, dịch, …)
Trang 31b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Thông tin lấy lại toàn vẹn với khoảng nén JPEG rộng,
Tính bảo mật của thông tin giấu khá cao Thuật toán không khó cài đặt
Dung lượng không nhiều, tối đa là bit khi giấu trên một màu
Giấu vào plane 4, hoặc 5 sẽ làm ảnh hưởng tương đối đến dữ liệu ảnh.
Kh i c(%) 98,1 99,8 99,7 99,2 99,2 308x480
(433kb) 1845 1845 100 1842 99,8
533 100
537 537
243x347 (248kb)
1500 100
1511 1511
308x480 (433kb)
966 100
969 969
DEPT 3
630 100
631 631
240x375 (244kb)
831 100
815
815 (kh i)
250x375 (275kb)
Sau n
Kh i c(%) Sau gi u
Tr c gi u
ch th c
ng th ng kê đ n đ nh a c kh i qua c thao c
Tên nh nh1.bmp nh2.bmp nh3.bmp nh4.bmp nh5.bmp nh6.bmp
250x375 (275kb)
M/8 N/8
Trang 32b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Mở rộng:
Xác định được chính xác
khối dữ liệu cần lấy chưa?
→plane1 đánh giấu đã bị đổi.
• Pixel không có các bit 1 liên tiếp nhau (tránh vùng giá trị quanh 127 và 255)
• Giấu bit tin vào plane 4,
Trang 33b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Kết quả thực nghiệm của pp:
Kh i c(%) 99,1
99,5
99,4
99,5
99,6 308x480
(433kb) 1251 1251 100 1246 99,6
466 100
464 464
243x347 (248kb)
1106 100
1112 1112
308x480 (433kb)
790 100
795 795
DEPT 3
551 100
554 554
240x375 (244kb)
773 100
766
766 (kh i)
250x375 (275kb)
Sau n
Kh i c(%) Sau gi u
Tr c gi u
ch th c
ng th ng kê đ n đ nh a c kh i qua c thao c
Tên nh nh1.bmp
Trang 34b Giấu tin dựa vào đặc điểm của khối dữ liệu môi trường
Bảng so sánh các pp:
Trang 356 Đề mô chương trình
Để tăng tính bảo mật cho chương trình, thêm một số thủ thuật:
• Mã hoá đối xứng, cụ thể là mã hoá cổ điển - mã hoán vị với kích thước khoá là 5 để mã hoá tin cần giấu
• Đánh giấu phương pháp đã giấu sử dụng phương pháp giấu đơn giản để giấu thông tin đánh giấu vào vị trí cuối file ảnh cho từng phương pháp
– Xác định được thông tin có phải được giấu bằng các phương pháp của chương trình hay không;
– Giúp chúng ta tìm kiếm thông tin một cách nhanh nhất.
Đánh giấu kết thúc xâu bằng ký hiệu đặc biệt “#” trước khi giấu tin
Kết hợp tin cần giấu với các bit kiểm tra để kiểm soát lỗi bit (nếu có)
Trang 366 Đề mô chương trình
Quá trình giấu tin, chương trình thực hiện:
Quá trình trích rút thông tin, chương trình thực hiện :
trí cuối của tin đã giấu và tách được thông tin ra,
Trang 37HVKTQS
Khoa CNTT