Việc sử dụng mạng tương tác ngày càng tăng, chúng ta cần một sự bảo đảm an toàn khỏi các rủi ro truy cập, sử dụng, phá hoại, thay đổi, ghi lại hoặc phá hủy một cách trái phép. Có hai phương pháp mã hóa và giấu tin được sử dụng để đảm bảo an toàn thông tin. Mã hóa là nghệ thuật viết tin một cách bí mật nhằm mục đích làm cho tin nhắn không thể bị đọc được bởi một bên thứ ba nhưng không che giấu sự tồn tại của phương thức giao tiếp. Giấu tin có nghĩa là ẩn thông tin trong một phương tiện mang tin tưởng chừng như vô hại. Ví dụ như: tin nhắn, âm thanh, hình ảnh, video, VoIP, …. Bất kỳ ai xem phương tiện này sẽ không thấy dữ liệu bị ẩn hoặc mã hóa. Việc ẩn tin trong hình ảnh có thể được phân loại thành Phương pháp miền không gian hoặc Phương pháp miền tần số. Kỹ thuật giấu tin vào hình ảnh màu bằng việc thích ứng chênh lệch giá trị pixel màu nội bộ sử dụng thông qua kĩ thuật TPVD là phương pháp phổ biến và hữu hiệu hơn phương pháp PVD (Có demo đính kèm)
Trang 10
HỌC VIỆN KỸ THUẬT MẬT MÃ
BÀI TẬP LỚN MÔN: KỸ THUẬT GIẤU TIN
Đề tài: Adaptive color image staganography using intra color
pixel value diferencing
Giáo viên hướng dẫn: Hoàng Thu Phương
Sinh viên thực hiện ( Nhóm 12 – L01) :
Cà Duy Dự Nguyễn Văn Mạnh Nguyễn Thị Mười
Lê Văn Nghĩa
Hồ Đức Anh Tuấn
Hà Nội, 2019
Trang 21
MỤC LỤC
DANH MỤC HÌNH VẼ 2
DANH MỤC HÌNH ẢNH 3
LỜI NÓI ĐẦU 4
CHƯƠNG 1 TỔNG QUAN 5
1.1 Sơ lược về lịch sử giấu tin 5
1.2 Khái niệm giấu tin 5
1.3 Môi trường giấu tin 5
1.4 Các yêu cầu đối với giấu tin trong ảnh 5
1.5 Mục tiêu 6
1.6 Đánh giá chất lượng ảnh sau khi giấu tin PSNR 6
CHƯƠNG 2 CÁC KỸ THUẬT GIẤU TIN 7
2.1 Phương pháp TPVD 9
2.2 Phương pháp ICPVD 11
2.3 Kết luận 18
CHƯƠNG 3 THỰC NGHIỆM – DEMO 19
TÀI LIỆU THAM KHẢO 22
Trang 32
DANH MỤC HÌNH VẼ
Hình 2 Kích thước của hình ảnh 256X256 (a), (d) - hình ảnh stego của phương pháp được đề xuất (b), (e) và (c), (f) là hình ảnh theo phương pháp Wu & Tsai và phương pháp Chung Ming Wange 14
Hình 5 (a) Biểu đồ của phương pháp được đề xuất, (b) Biểu đồ của phương pháp TPVD
16
Hình 6 (a) Hình ảnh stego của Lena, (b) Đầu ra của tấn công Chi-square của phương pháp được đề xuất, (c) Hình ảnh stego của Lena, (d) Đầu ra của tấn công Chi-square của phương pháp TPVD 18
Hình 7 Biểu đồ ảnh trước và sau khi nhúng tin 19
Hình 8 Giao diện phần demo 19
Hình 9 Chọn ảnh từ máy lên và nhập nội dung tin cần nhúng vào và bấm Giấu tin Sau
đó máy sẽ xử lý và trả ra một cái ảnh stego 20
Hình 10 Ảnh stego sau khi đã nhúng tin và hiện lên đó 20
Hình 11 Phần trích xuất Chọn ảnh stego ở bước trước đã giấu tin Bấm truy xuất để lấy ra tin trong ảnh 21
Hình 12 Đã lấy được nội dung tin đã giấu trong ảnh 21
Trang 43
DANH MỤC HÌNH ẢNH
Bảng 2 So sánh giữa phương pháp đề xuất và TPVD 17
Trang 54
LỜI NÓI ĐẦU
Ngày nay, khi Internet ngày càng phát triển mạnh mẽ và dần trở thành môi trường thế giới ảo được sử dụng trên toàn cầu Cùng vớ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 phát triển Internet và mạng không dây đã trợ giúp cho việc chuyển phát một khối lượng thông tin rất lớn qua mạng giúp cho việc truyền thông và giao tiếp trở nên thuận lợi hơn Tuy nhiên nó cũng làm tăng nguy cơ sử dụng trái phép, ăn cắp thông tin, xuyên tạc bất hợp pháp các thông tin được lưu chuyển trên mạng, đồng thời việc sử dụng một cách bình đẳng và an toàn các dữ liệu đa phương tiện cũng như cung cấp một cách kịp thời thông tin tới rất nhiều người dùng cuối và các thiết bị cuối cũng là một vấn
đề quan trọng và còn nhiều thách thức Hơn nữa sự phát triển của các phương tiện kỹ thuật số đã làm cho việc lưu trữ, sửa đổi và sao chép dữ liệu ngày càng đơn giản, từ đó việc bảo vệ bản quyền và chống xâm phạm trái phép các dữ liệu đa phương tiện (âm thanh, hình ảnh, tài liệu) cũng gặp nhiều khó khăn
Một công nghệ mới được ra đời đã giải quyết phần nào một số khó khăn trên là giấu thông tin trong các nguồn đa phương tiện nhờ các nguồn âm thanh, hình ảnh Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mật mã nhằm đảm bảo tính
an toàn thông tin, những phương pháp này ưu điểm ở chỗ giảm được khả năng phát hiện
ra sự tồn tại của thông tin trong các nguồn mạng Không giống như mã hoá thông tin là
để chống sự truy cập và sửa chữa một cách trái phép thông tin Giấu và phát hiện thông tin là kỹ thuật còn tương đối mới và đang phát triển rất nhanh thu hút được sự quan tâm của cả giới khoa học và giới công nghiệp nhưng cũng còn rất nhiều thách thức Bài báo cáo nói về tổng quan về kỹ thuật giấu tin và một số phương pháp giấu tin trong ảnh Cấu trúc trình bày của báo cáo bao gồm:
Chương 1 Tổng quan
Chương 2 Một số phương pháp giấu tin trong ảnh
Chương 3 Thực nghiệm- Demo
Trang 65
CHƯƠNG 1 TỔNG QUAN
1.1 Sơ lược về lịch sử giấu tin
Ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về 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 thông 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 rất nhiều công trình nghiên cứu Cuộc cách mạng
số hóa thông tin và sự phát triển nhanh chóng của mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này Những phiên bản sao chép hoàn hảo, các kĩ thuật thay thế, sửa đổi tinh vi cộng với sự lưu thông trên mạng của các dữ liệu đa phương tiện đã sinh ra rất nhiều những vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép… đây là lúc công nghệ giấu tin được chú ý và phát triển
1.2 Khái niệm giấu tin
“Giấu 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 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
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.3 Môi trường giấu tin
Bao gồm giấu tin trong ảnh, trong audio, trong video, trong văn bản dạng text… Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn nhất hệ thống giấu tin trong đa phương tiện
1.4 Các yêu cầu đối với giấu tin trong ảnh
- Tính ẩn của giấu tin được chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh không làm ảnh hưởng tới chất lượng của ảnh đã chèn tin
- Tính bền của giấu tin: Cho phép các tin có thể tồn tại được qua các phép biến đổi ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác
- Tính an toàn: Chỉ có bên nhận được cấp một khóa và bằng các kỹ thuật tách ảnh phù hợp mới có thể lấy được tin trong ảnh
Trang 76
1.5 Mục tiêu
Một phương pháp giấu tin vào ảnh màu mới lạ bằng việc thích ứng chênh lệch giá trị pixel mầu nội bộ (intra color pixel value differencing (ICPVD) được đề cập trong bài viết này Mỗi phương pháp giấu tin cần có sự đánh đổi giữa khả năng tính toán và tính không thể nhận biết dưới mắt thường, dung lượng và khả năng phát hiện Để nhúng dữ liệu bí mật, mỗi thành phần của ảnh mầu RGB được nhóm thành các khối không chồng lấp của hai pixel liên tiếp Dữ liệu bí mật được nhúng vào chính sự khác biệt giữa mầu sắc các cặp mầu (r,g), (g,b) và (b,r) Bằng cách sử dụng tất cả ba thành phần mầu của ảnh, khả năng ẩn tin được tăng lên đáng kể
1.6 Đánh giá chất lượng ảnh sau khi giấu tin PSNR
Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hoá, người ta thường sử dụng hai tham số: Sai số bình phương trung bình – MSE (mean square error) và phương pháp đề xuất với hệ số tỷ lệ tín hiệu/tín hiệu tạp PSNR (Peak Signal to Noise Ratio)
MSE giữa ảnh gốc và ảnh khôi phục được tính như sau:
Trang 87
CHƯƠNG 2 CÁC KỸ THUẬT GIẤU TIN
Việc sử dụng mạng tương tác ngày càng tăng, chúng ta cần một sự bảo đảm an toàn khỏi các rủi ro truy cập, sử dụng, phá hoại, thay đổi, ghi lại hoặc phá hủy một cách trái phép Có hai phương pháp thường thấy đó là mã hóa và giấu tin được sử dụng để đảm bảo an toàn thông tin Mã hóa là nghệ thuật viết tin bí mật nhằm làm cho tin nhắn không thể bị đọc được bởi một bên thứ ba nhưng không che giấu sự tồn tại của phương thức giao tiếp Giấu tin có nghĩa là ẩn thông tin trong một phương tiện mang tin tưởng chừng như vô hại như: tin nhắn, âm thanh, hình ảnh, video, VoIP, … Bất kỳ ai xem phương tiện này sẽ không thấy dữ liệu bị ẩn hoặc mã hóa Việc ẩn tin trong hình ảnh có thể được phân loại thành Phương pháp miền không gian hoặc Phương pháp miền tần số Phương pháp miền không gian đơn giản và nổi tiếng là “Phương pháp tối thiểu” (LSB) Trong LSB, thông điệp được nhúng vào LSB của từng pixel hình ảnh Hai mục tiêu chính của kỹ thuật giấu tin vào hình ảnh là khả năng che giấu cao và độ khó nhận biết cao Bằng cách sử dụng hai hoặc nhiều LSB của ảnh gốc (Feng J.B., Lin, I.C., Tsai, C.S., Chu, Y.P 2006 và Katzenbeisser, S., Petitcolas 2000) cho khả năng ẩn cao với chất lượng hình ảnh chấp nhận được Tối đa ba sơ đồ LSB có thể được sử dụng để tạo ra hình ảnh đơn giản có thể chấp nhận được (Nan-I Wu1 và Min-Shiang Hwang 2007) Hiệu quả đạt được là che giấu nhiều dữ liệu hơn vào ảnh gốc và độ mạnh mẽ đã được phân tích và tóm tắt bởi Liao et al (Liao, Z., Huang, Y., Li, C 2007 và Wu, N.I., Hwang, M.S 2007) Để cải thiện chất lượng hình ảnh, Chan và Cheng năm 2004 đã đề xuất một phương pháp LSB đơn giản bằng việc Điều chỉnh pixel tối ưu (OPA) Kết quả thử nghiệm của phương pháp của họ cho thấy hình ảnh stego không thể phân biệt được bằng mắt thường với hình ảnh gốc Để cải thiện tính không thể nhận dạng của hình ảnh stego trong phương pháp LSB, Lee và Chen 2000 đã đề xuất một LSB có kích thước thay đổi với phương pháp thay thế lỗi tối thiểu Gần đây, Soleimanpour 2013 đã giới thiệu một phương pháp lập thể mới lạ dựa trên thuật toán di truyền giúp cải thiện chất lượng hình ảnh của hình ảnh stego Để đạt được mức độ không chấp nhận cao, Wu và Tsai 2003 đã
đề xuất phương pháp Chênh lệch giá trị pixel (PVD), trong đó thông điệp bí mật được nhúng vào chênh lệch giá trị xám của hai pixel liên tiếp của ảnh gốc
Để giảm méo hình ảnh stego trong phương pháp PVD, các giá trị mới được điều chỉnh lại trong phạm vi hợp lệ Do điều chỉnh, các vấn đề tràn ranh giới xảy ra trong
Trang 98
PVD Nếu hai pixel nằm ở các cạnh viền hoặc vùng mịn của ảnh, vấn đề này có thể làm tình hình tồi tệ hơn Để khắc phục vấn đề này, C.M.Wang, Nan-I Wu 2007 đã sử dụng chức năng PVD và mô đun của nó Trong phương pháp của họ, với một cách tiếp cận tối ưu, thông điệp có thể được nhúng vào hai pixel bằng cách sửa đổi phần còn lại của chúng Để chống lại tấn công phân tích biểu đồ PVD, phần mở rộng mới của PVD (EPVD) đã được đề xuất bởi ZaZamin Zaker và Ali Hamzeh, Seraj 2009 Để đạt được điều này, biểu đồ Gaussian đã được lập Để tăng khả năng ẩn, họ đã điều chỉnh các quy tắc chồng lấp phạm vi trong đó các giá trị khác nhau sẽ được chuyển sang phạm vi lân cận bên trái
Nhược điểm lớn nhất của phương pháp PVD là khả năng ẩn tin không cao Để tăng khả năng ẩn của hình ảnh stego, Ko-Chin Changa và Chien-Ping Changa 2008 đã đề xuất phương pháp phân biệt giá trị pixel Tri Way Pixel Value Differencing (TPVD) Thay vì chỉ đề cập đến một hướng như PVD thông thường, ba hướng khác nhau được
đề cập xem xét Để giảm méo hình ảnh stego, cách tiếp cận tối ưu là chọn điểm tham chiếu và quy tắc thích ứng được trình bày bởi R.Sridevi và G John Babu 2012 đã đề xuất TPVD với mô đun để tạo ra khả năng ẩn nhiều hơn TPVD
Các phương pháp PVD hiện có ngay trong cả khả năng ẩn tin thấp, một số tấn công thống kê đã được giới thiệu và chắc chắn phá được PVD Weiqi Luo và Fangjun Huang
2009 đã đề xuất một phương pháp giấu tin an toàn hơn dựa trên sơ đồ thích ứng nội dung, trong đó các vùng cạnh sắc nét hơn được ưu tiên sử dụng đầu tiên để ẩn dữ liệu Khả năng che giấu của TPVD được tăng lên đáng kể bằng phương pháp được đề xuất bởi Xin Liao và Qiao-yan Wena 2011 Họ đã đề xuất một phương pháp dựa trên TPVD
và thay thế LSB Kết quả là hình ảnh stego tạo ra chất lượng hình ảnh chấp nhận được
và cũng cung cấp khả năng ẩn nhiều thông tin hơn
Trong tất cả các phương pháp PVD đã đề cập ở trên, chỉ có hai biến phạm vi lượng
tử hóa được sử dụng để tăng dung lượng của ảnh gốc và đồng thời cho ra chất lượng hình ảnh tốt hơn Hsien Wen, Tseng và Hui-Shih 2013 đã đề xuất một phương pháp mới trong đó một bảng định lượng mới được thực hiện dựa trên số bình phương hoàn hảo để quyết định payload J.K.Mandal và Debashis Das 2012 đã đề xuất một phương pháp giấu tin vào ảnh màu Bằng cách sử dụng ba thành phần màu, khả năng ẩn trong các thành phần pixel khác nhau thường được tăng lên Để cung cấp thêm tính bảo mật, số bit khác nhau trong các thành phần khác nhau được sử dụng Trong phương pháp giấu
Trang 109
tin vào ảnh màu của J.K.Mandal và Debashis Das 2012, phương pháp PVD được áp dụng cho từng thành phần màu riêng biệt để nhúng dữ liệu bí mật Vì vậy, phương pháp này tương tự như phương pháp PVD thông thường Bằng cách sử dụng phương pháp PVD thông thường, hiện tượng biến mầu đáng kể đo cách điều chỉnh các pixel liên tiếp
có trong ba thành phần màu đã xảy ra Để giảm sự biến dạng này, một phương pháp mới được đề xuất trong bài viết này Trong phương pháp được đề xuất này, các pixel màu khác nhau giữa các cặp (r,g), (g,b) và (b,r) được dùng để ẩn dữ liệu bí mật Trong quá trình ẩn, phương pháp PVD được áp dụng cho từng khác biệt màu nội bộ Không cần có khóa bí mật để chọn ra các thành phần màu Những khác biệt màu nội bộ được thực hiện một cách tuần tự Tính không thể nhận biết được cải thiện bằng cách sử dụng phương pháp PVD Tính an toàn của phương pháp đề xuất đã được kiểm tra bằng việc phân tích Biểu đồ và phân tích RS PSNR cũng được tính toán để đánh giá và thẩm định chất lượng hình ảnh stego
2.1 Phương pháp TPVD
Phương pháp lập thể PVD ba chiều, là phiên bản sửa đổi của PVD gốc, nhằm mục đích tăng tải trọng của PVD bằng cách nhúng các bit bí mật theo các hướng khác nhau của hình ảnh Phương pháp PVD chỉ sử dụng các cạnh theo một hướng để nhúng
dữ liệu Trong khi TPVD đồng thời nhúng dữ liệu bí mật vào tất cả các cạnh ngang, dọc và chéo của hình ảnh
Để làm như vậy, một giai đoạn tiền xử lý được sử dụng trên ảnh che phủ với m ×
n pixels và nó được phân thành các khối pixel 2 × 2 Các pixel trong mỗi khối được ký hiệu là:
Trang 1110
Liên quan đến từng di Phạm vi gần nhất được xác định bởi phương trình sau:
k = 𝑚𝑖𝑛' ( 𝑢B − |𝑑&|) khi |𝑑&|≤ |𝑢B
Giống như phương pháp PVD ban đầu, số lượng bit bí mật được nhúng trong mỗi cặp được tính toán bằng cách sử dụng độ rộng của phạm vi gần 𝑤B liên quan đến cặp
𝑝& bởi log*𝑤B
Trong bước tiếp theo, Điều kiện nhánh được kiểm tra cho từng khối Những điều kiện này đã được đưa ra để tránh sự biến dạng hình ảnh không mong muốn bởi việc nhúng một lượng lớn các bit, và xác minh xem khối có phù hợp để nhúng TPVD hay không Điều kiện chi nhánh là:
1) Embed_bit (𝑃0) ≥ 5 and embed_bit ( 𝑃1) ≥ 4
2) Embed_bit (𝑃0) < 5 and embed_bit ( 𝑃2) ≥ 6
Trong phương trình trên, embed_bit (Pi) là số lượng bit nhúng trong cặp pixel Pi nếu một trong hai điều kiện nhánh được thỏa mãn, phương pháp PVD được sử dụng để nhúng dữ liệu bí mật trong 𝑃=và 𝑃? riêng lẻ Mặt khác, TPVD nhúng dữ liệu trong ba cặp pixel đầu tiên
Quy trình nhúng trong ba cặp pixel này hoàn toàn giống với phương pháp PVD gốc Vì vậy, các giá trị khác biệt mới được tính bằng cách sử dụng phương trình: d’ = 𝑙&+ 𝑏 𝑛ế𝑢 𝑑 > 0
ảnh sửa đổi cũng thu được bằng phương trình
(𝑝′!, 𝑝′!) = (𝑝!−
X Y ZX
(𝑝!− XY*ZX , 𝑝*+ XY*ZX ) và được ký hiệu bởi 𝑝′&, (𝑖 = 0 … 3)
Từ khi 𝑝= được chia sẻ giữa cả ba cặp, ba giá trị riêng biệt đạt được là 𝑝′=
Phương pháp TPVD sử dụng Quy tắc lựa chọn để chọn giá trị tốt nhất với Lỗi bình phương trung bình tối thiểu (MSE) cho 𝑝′= Giá trị 𝑝′= được chọn có thể thay đổi
pixel khác được thêm vào phần bù để duy trì giá trị của 𝑑′& Để truy xuất dữ liệu bí mật, hình ảnh stego được phân đoạn theo cách tương tự như trong quy trình 𝑑∗
& được tính lại bằng cách sử dụng phương trình:
Trang 1211
Đối với mỗi khối, các điều kiện nhánh được kiểm tra để kiểm tra xem TPVD hoặc PVD có được áp dụng trong khối không Nếu bất kỳ điều kiện nhánh nào được thỏa mãn, PVD có thể đã được áp dụng trong khối trước đó và giá trị thập phân của các bit bí mật được lấy từ 𝑑∗
𝑙B là giới hạn dưới của phạm vi gần nhất 𝑅B trong đó hỉ số k được tính bằng phương trình
b = 𝑑∗
& − 𝑙B i=(0… 3)
2.2 Phương pháp ICPVD
Thuật toán mã hóa
1 Trích xuất ba thành phần mầu từ mầu của ảnh gốc để lấy ba giá trị ma trận M*N Chọn hai pixel có độ hoàn thiện cao từ tổ hợp mầu (Ri,Ri+1), (G i,G i+1), (B i,B i+1)
2 Tính toán sự khác nhau của các giá trị d0, d1, d2
3 Xác định vị trí thích hợp của di ( i=0, 1, 2) trong bảng Ký hiệu là Rj,i
4 Tính số lượng bit bí mật ti bằng công thức 𝑡& = log*𝑤&,' trong đó wi,j là chiều dài bảng
5 Lấy giá trị ti từ dữ liệu bí mật và chuyển nó thành giá trị thập phân tương ứng
8 Lặp lại bước 1 đến 7 cho đến khi tất cả các bit bí mật được nhúng vào tin
9 Để tránh việc nhúng tin ra ngoài biên ảnh, ta chia làm hai trường hợp sau: Trường hợp 1: Nếu 𝑃= ≅ 0, 𝑃! ≅ 0, 𝑃* ≅ 0 và 𝑃= < 0 or 𝑃! < 0 or 𝑃* < 0