LUẬN VĂN GIẤU TIN TRONG ẢNH VÀ ỨNG DỤNG TRONG AN TOÀN BẢO MẬT THÔNG TIN
Trang 10
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thanh Cường
GIẤU TIN TRONG ẢNH VÀ ỨNG DỤNG TRONG AN TOÀN BẢO MẬT THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
HÀ NỘI - 2009 Ngành: Công nghệ thông tin
Trang 21
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thanh Cường
GIẤU TIN TRONG ẢNH VÀ ỨNG DỤNG TRONG AN TOÀN BẢO MẬT THÔNG TIN
KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
HÀ NỘI - 2009 Ngành: Công nghệ thông tin
Cán bộ hướng dẫn : TS Hồ Văn Canh
Trang 41
LỜI CẢM ƠN
Trước hết, em xin gửi lời cảm ơn sâu sắc tới TS Hồ Văn Canh, người đã gợi
mở và hướng dẫn em đi vào tìm hiểu đề tài giấu tin trong ảnh Người thầy đã hết lòng giúp đỡ, tạo điều kiện cho em hoàn thành khóa luận này
Em xin cảm ơn các thầy, cô trong trường Đại học Công Nghệ -Đại học Quốc Gia Hà Nội đã dậy dỗ chúng em, giúp đỡ động viên chúng em từ những ngày đầu chập chững bước vào cánh cổng trường Đại học Thầy cô đã tạo cho chúng em môi trường học tập, những điều kiện thuận lợi cho chúng em được học tập tốt, trang bị cho chúng
em những kiến thức quý báu giúp chúng em có thể vững bước trong tương lai
Cảm ơn các bạn cùng lớp đã giúp đỡ, cùng nghiên cứu và chia sẻ trong suốt 4 năm học Đại học
Cuối cùng, xin gửi muôn vàn lời yêu thương, lòng biết ơn tới những người thân yêu nhất của tôi!
Hà Nội, 2009
Trang 52
Tóm tắt nội dung
Luận văn đã trình bày một số khái niệm liên quan tới việc che giấu thông tin nói chung, cụ thể hơn là giấu thông tin trong ảnh số và cũng trình bày một thuật toán giấu tin trong ảnh đen trắng, trên cơ sở đó phát triển thuật toán cho việc giấu tin trong ảnh màu và ảnh đa cấp xám Giấu thông tin có thể chia làm hai hướng lớn đó là thủy vân
số (watermarking) và giấu tin mật (steganography) Trong luận văn chủ yếu nghiên cứu theo hướng giấu tin mật trong ảnh
Với thuật toán giấu tin mật trong ảnh mầu thì tính vô hình của thông tin sau khi giấu được đảm bảo, thông qua việc chọn các tham số đảm bảo độ an toàn để giấu tin, những biến đổi không gây ra sự chú ý đáng kể nào Ảnh sau khi giấu tin sẽ ít xuất hiện những điểm ảnh có màu sắc khác so với các điểm ảnh xung quanh và với thị giác của con người thì không thể phân biệt được sự khác nhau đó Trong khóa luận còn trình bày một số kĩ thuật giấu tin trong ảnh và xây dựng một chương trình demo giấu tin trong ảnh bitmap theo kĩ thuật giấu tin Chen-Pan-Tseng
Trang 63
MỤC LỤC
LỜI CẢM ƠN 1
Tóm tắt nội dung 2
MỤC LỤC 3
MỞ ĐẦU 5
CHƯƠNG 1 TỔNG QUAN VỀ GIẤU TIN 6
1.1 Giới thiệu chung về giấu thông tin 6
1.2 Các khái niệm về giấu thông tin trong ảnh số 8
1.3 Một số đặc điểm của việc giấu thông tin trên ảnh số 10
1.3.1 Tính vô hình của thông tin 10
1.3.2.Tính bảo mật 10
1.3.3.Tỷ lệ giấu tin 11
1.3.4.Lựa chọn ảnh 11
1.3.5 Ảnh môi trường đối với quá trình giải mã 11
CHƯƠNG 2 GIẤU TIN TRONG ẢNH 15
2.1 Giới thiệu chung 15
2.2 Các đặc trưng của giấu thông tin trong ảnh 17
2.3 Sự khác nhau giữa giấu tin trong ảnh đen trắng với ảnh màu 19
2.4 Các thuật toán giấu tin trong ảnh 21
2.4.1 Giấu tin trong ảnh thứ cấp 21
2.4.2.Các kỹ thuật giấu tin trong ảnh thứ cấp 26
2.4.3 Giấu tin trong ảnh màu và ảnh đa cấp xám 41
2.4.4 Kết quả thực nghiệm và đánh giá 47
CHƯƠNG 3 THIẾT KẾ VÀ CÀI ĐẶT CHƯƠNG TRÌNH 49
3.1 Môi trường làm việc 49
Trang 74
3.2 Ngôn ngữ thực hiện thuật toán 49
3.3 Tổ chức và thực hiện chương trình 49
3.3.1 Qui trình thực hiện chính 50
3.3.2 Các giao diện chính của chương trình và kết quả đạt được 51
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 57
Trang 85
MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học công nghệ thông tin, internet đã trở thành một nhu cầu, phương tiện không thể thiếu đối với mọi người, việc truyền tin qua mạng ngày càng lớn Tuy nhiên, với lượng thông tin được truyền qua mạng nhiều hơn thì nguy cơ dữ liệu bị truy cập trái phép cũng tăng lên vì vậy vấn đề bảo đảm an toàn và bảo mật thông tin cho dữ liệu truyền trên mạng là rất cần thiết
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người ta thường dùng phương pháp truyền thống là mã hóa thông điệp theo một qui tắc nào đó đã được thỏa thuận trước giữa người gửi và người nhận Tuy nhiên, phương thức này thường gây sự chú ý của đối phương về tầm quan trọng của thông điệp Thời gian gần đây đã xuất hiện một cách tiếp cận mới để truyền các thông điệp bí mật, đó là giấu các thông tin quan trọng trong những bức ảnh thông thường Nhìn bề ngoài các bức ảnh có chứa thông tin cũng không có gì khác với các bức ảnh khác nên hạn chế được tầm kiểm soát của đối phương Mặt khác, dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong
đó thì với các khóa có độ bảo mật cao thì việc tìm được nội dung của thông tin đó cũng rất khó có thể thực hiện được
Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật nhằm bảo đảm tính an toàn thông tin, nhưng phương pháp này ưu điểm là ở chỗ giảm được khả năng phát hiện được sự tồn tại của thông tin trong nguồn mang Không giống như
mã hóa 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, mục tiêu của giấu thông tin là làm cho thông tin trộn lẫn với các điểm ảnh Điều này sẽ đánh lừa được sự phát hiện của các tin tặc và do đó làm giảm khả năng bị giải mã
Kết hợp các kỹ thuật giấu tin với các kỹ thuật mã hóa ta có thể nâng cao độ an toàn cho việc truyền tin
Trang 96
CHƯƠNG 1 TỔNG QUAN VỀ GIẤU TIN
1.1 Giới thiệu chung về giấu thông tin
Giấu thông tin là một kỹ thuật nhúng dữ liệu vào một nguồn đa phương tiện gọi
là môi trường, ví dụ như file âm thanh, ảnh động, ảnh tĩnh Mục đích của che giấu thông tin là làm cho dữ liệu trở lên không thể nghe thấy hay nhìn thấy Điều đó có nghĩa là đối phương không nhận thấy sự tồn tại của dữ liệu đã được nhúng dù có lắng nghe hay cố gắng nhìn thật cẩn thận vào môi trường có giấu dữ liệu
Mỗi kỹ thuật giấu tin gồm :
- Thuật toán giấu tin
- Bộ giải mã thông tin
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiện mang bằng cách sử dụng một khóa bí mật được dùng chung bởi người mã và người giải mã, việc giải mã thông tin chỉ có thể thực hiện được khi có khoá Bộ giải mã trên phương tiện mang đã chứa dữ liệu và trả lại thông điệp ẩn trong nó
Trang 107
Lược đồ chung cho giấu thông tin
Hình vẽ trên biểu diễn quá trình giấu tin cơ bản Phương tiện chứa bao gồm các đối tượng được dùng làm môi trường để giấu tin như text, audio, video, ảnh …, thông tin giấu là mục đích của người sử dụng Thông tin giấu là một lượng thông tin mang một ý nghĩa nào đó như ảnh, logo, đoạn văn bản… tùy thuộc vào mục đích của người
sử dụng Thông tin sẽ được giấu và trong phương tiện chứa nhờ một bộ nhúng, bộ nhúng là những chương trình, triển khai các 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ư các hệ mã cổ điển Sau khi giấu tin ta thu được phương tiện chứa phương tiện chứa bản tin đã giấu và phân phối sử dụng trên mạng Sau khi nhận được đối tượng phương tiện có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khóa của quá trình nhúng Kết quả thu dược gồm phương tiện chứa gốc và thông tin đã giấu Bước tiếp theo thông tin giấu sẽ được xử lý kiểm định so sánh với thông tin giấu ban đầu
Thông tin giấu
Phương
tiện mang
Nhúng thông tin vào phương tiện chứa
Phân phối trên mạng
Bộ giải
mã
Khoá
Thông tin giấu Khoá
Trang 118
Tóm lại, giấu thông tin là nghệ thuật và khoa học của truyền thông bên trong một
truyền thông, mục đích của steganography là che giấu những thông báo bên trong
những thông báo khác mà không làm ảnh hưởng đáng kể đến thông báo này; và bằng một cách thức nào đó sao cho người không có thẩm quyền không thể phát hiện hoặc không thể phá huỷ chúng
1.2 Các khái niệm về giấu thông tin trong ảnh số
Giấu dữ liệu là quá trình ẩn một dữ liệu vào một môi trường dữ liệu khác Dữ
liệu trước khi giấu có thể được nén và mã hoá, trong các ứng dụng đòi hỏi độ mật cao, giấu dữ liệu chính là một phương pháp bảo mật thông tin hiệu quả Giấu dữ liệu được ứng dụng trong nhiều lĩnh vực khác nhau như bảo vệ bản quyền, ngăn ngừa sao chép trái phép, truyền thông bí mật v.v
Giấu thông tin trong ảnh số là một phần của khái niệm giấu thông tin với việc
sử dụng ảnh số làm phương tiện mang Giấu thông tin trong ảnh số có nhiều ứng dụng trong thực tế như trong việc xác định quyền sở hữu, chống xuyên tạc thông tin và chuyển giao dữ liệu một cách an toàn
Ảnh mà ta đem nhúng thông tin vào được gọi là ảnh môi trường hay ảnh gốc
(host image) Ảnh thu được sau khi đã giấu thông tin gọi là ảnh kết quả
(result image) Ảnh kết quả sẽ có những điểm khác so với ảnh gốc gọi là nhiễu Ảnh kết quả càng ít nhiễu càng khó gây ra nghi ngờ về sự tồn tại của thông tin trong ảnh
Thông tin nhúng: Là lượng thông tin được nhúng vào trong ảnh môi trường Ảnh môi trường: là ảnh gốc được dùng để nhúng thông tin Trong giấu thông
tin trong ảnh thì nó mang tên ảnh môi trường, còn trong audio là audio môi
trường v.v
Trang 129
Phương tiện nhúng: Là một đối tượng đa phương tiện như ảnh, audio hay video đã có thông tin nhúng
Tính không nhìn thấy: là một trong ba yêu cầu của bất kỳ một hệ giấu tin nào
Tính không nhìn thấy là tính chất vô hình của thông tin nhúng trong phương
tiện nhúng
Tính mạnh mẽ: Là yêu cầu thứ hai của một hệ giấu tin Tính mạnh mẽ là nói
đến khả năng chịu được các thao tác biến đổi nào đó trên phương tiện nhúng và
các cuộc tấn công có chủ đích
Khả năng nhúng: Là yêu cầu thứ ba của một hệ giấu tin Khả năng nhúng
chính là số lượng thông tin nhúng được nhúng trong phương tiện chứa
Nhiễu: Là phương tiện nhúng xuất hiện những đặc điểm lạ so với phương tiện chứa ban đầu
Thuỷ vân số: Là một kỹ thuật giấu các thuỷ vân vào trong phương tiện chứa, kỹ
thuật không yêu cầu về tính không nhìn thấy của thông tin nhúng
Có nhiều cách để phân loại các kỹ thuật giấu thông tin trong ảnh số, dựa trên lĩnh vực áp dụng các kỹ thuật người ta chia kỹ thuật giấu tin trong ảnh thành hai loại:
watermarking và image hiding
Watermarking : là kỹ thuật nhúng một biểu tượng, còn gọi là thuỷ vân
(watermark) vào trong ảnh môi trường để xác định quyền sở hữu ảnh môi
trường Kích thước của biểu tượng thường nhỏ ( từ vài bit đến vài nghìn bit )
Kỹ thuật này cho phép đảm bảo nguyên vẹn biểu tượng khi ảnh môi trường bị
biến đổi bởi các phép thao tác như lọc (filtering), nén mất dữ liệu (lossy
compression), hay các biến đổi hình học, Tuy nhiên, việc đảm bảo nguyên
vẹn biểu tượng không kể đến khi có sự tấn công dựa trên việc hiểu rõ thuật toán
và có bộ giải mã trong tay
Trang 1310
Image hiding : là kỹ thuật dùng một ảnh môi trường để lưu trữ và chuyển giao
các dữ liệu quan trọng với kích thước tương đối lớn một cách an toàn Mục
đích của ảnh image hiding là làm cho dữ liệu trở nên không quan sát được đối
với thị giác của con người
1.3 Một số đặc điểm của việc giấu thông tin trên ảnh số
Hiện nay giấu thông tin trong ảnh là kỹ thuật còn tương đối mới và đang có xu hướng phát triển rất nhanh
Một kỹ thuật giấu tin trong ảnh được đánh giá dựa trên một số đặc điểm sau:
- Tính vô hình của thông tin được giấu trong ảnh
- Số lượng thông tin được giấu
- Tính an toàn và bảo mật của thông tin
- Chất lượng của ảnh sau khi giấu thông tin bên trong
1.3.1 Tính vô hình của thông tin
Khái niệm này dựa trên đặc điểm của hệ thống thị giác của con người Thông tin nhúng là không tri giác được nếu một người với thị giác là bình thường không phân
biệt được ảnh môi trường và ảnh kết quả Trong khi image hiding yêu cầu tính vô hình của thông tin giấu ở mức độ cao thì watermarking lại chỉ yêu cầu ở một cấp độ nhất
định Chẳng hạn như người ta áp dụng watermarking cho việc gắn một biểu tượng mờ vào một chương trình truyền hình để bảo vệ bản quyền
Trang 1411
có mang thông tin ( ảnh kết quả ) Đối với ảnh image hiding đây là một yêu cầu rất
quan trọng Chẳng hạn đối với thuật toán dò tin trong ảnh đen trắng kích thước m*n,
độ phức tạp vẫn còn lên tới O(2m*n) khi dã biết ma trận trọng số đùng trong quá trình giấu tin
1.3.3.Tỷ lệ giấu tin
Lượng thông tin giấu so với kích thước ảnh môi trường là một vấn đề cần quan tâm trong một thuật toán giấu tin Đây là một trong hai yêu cầu cơ bản của giấu tin mật Rõ ràng là có thể chỉ giấu một bit thông tin vào mỗi ảnh mà không cần lo lắng về
độ nhiễu của ảnh nhưng như vậy sẽ rất kém hiệu quả khi mà thông tin cần giấu có kích thước bằng Kb Các thuật toán đều cố gắng đạt được mục đích làm thế nào giấu được nhiều thông tin nhất mà không gây ra nhiễu đáng kể
1.3.4.Lựa chọn ảnh
Đối với việc giấu thông tin mật thì hầu hết các chuyên gia về lĩnh vực này khuyên rằng: nên chọn ảnh đa cấp xám là môi trường là hợp lý hơn cả Sau khi giấu tin mật trong ảnh đa cấp xám thì chất lượng của ảnh là cao, đảm bảo tính vô hình của thông tin mật
1.3.5 Ảnh môi trường đối với quá trình giải mã
Yêu cầu cuối cùng là thuật toán phải cho phép lấy lại được thông tin đã giấu trong ảnh mà không có ảnh môi trường Điều này là một thuận lợi khi ảnh môi trường
là duy nhất nhưng lại làm giới hạn khả năng ứng dụng của kỹ thuật giấu tin
Để thực hiện việc giấu tin trong ảnh, trước hết ta phải xử lý được ảnh tức là phải số hoá ảnh Quá trình số hoá các dạng ảnh khác nhau thì không như nhau Có nhiều loại ảnh đã được chuẩn hoá như: JPEG, PCX, BMP, Trong luận văn nay chỉ
sử dụng ảnh *.BMP
Trang 1512
Ảnh BMP (Bitmap) được phát triển bởi Microsoft Corporation, được lưu trữ dưới dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không phụ thuộc vào khung chỉ định màu trên bất kì phần cứng nào Tên file mở rộng mặc định của một file ảnh Bitmap là BMP Ảnh BMP được sử dụng trên Microsoft Windows và các ứng dụng chạy trên Windows từ version 3.0 trở lên
Mỗi file ảnh Bitmap gồm 3 phần:
7-10 Dự trữ Thường mang giá trị 0
11-14 Byte bắt đầu vùng dữ liệu Offset của byte bắt đầu vùng dữ
liệu 15-18 Số byte cho vùng info 4 byte
19-22 Chiều rộng ảnh BMP Tính bằng pixel
Trang 1639-42 Độ phân giải ngang Tính bằng pixel / metter
43-46 Độ phân giải dọc Tính bằng pixel / metter
47-50 Số màu sử dụng trong ảnh
51-54 Số màu được sử dụng khi hiển
thị ảnh
Palette màu: Bảng màu của ảnh, chỉ những ảnh nhỏ hơn hoặc bằng 8 bit màu mới có palette màu
BitmapData: Phần này nằm ngay sau phần palette màu của ảnh BMP Đây là
phần chứa giá trị màu của điểm ảnh trong BMP Các dòng ảnh được lưu từ dưới lên trên, các điểm ảnh được lưu trữ từ dưới lên trên từ trái sang phải Giá trị của mỗi điểm ảnh là một chỉ số trỏ tới phần tử màu tương ứng của Palette màu
Trang 1714
Thành phần BitCount của cấu trúc BitmapHeader cho biết số bit dành cho mỗi
điểm ảnh và số lượng màu lớn nhất của ảnh BitCount có thể nhận các giá trị sau:
1: Bimap là ảnh đen trắng, mỗi bit biểu diễn một điểm ảnh Nếu bit mang giá trị
0 thì điểm ảnh là điểm đen, bit mang giá trị 1 điểm ảnh là điểm ảnh trắng
4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit
8: Bitmap là ảnh 256 màu, mỗi điểm ảnh dược biểu diễn bởi 1 byte
16: Bitmap là ảnh high color, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễn
cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh
24: Bitmap là ảnh true color (224 màu), mỗi dãy 3 byte liên tiếp trong bitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ(RGB) của một điểm ảnh
Thành phần ColorUsed của cấu trúc BitmapHeader xác định số lượng màu của palette màu thực sự được sử dụng để hiển thị bitmap Nếu thành phần này được đặt là
0, bitmap sử dụng số màu lớn nhất tương ứng với giá trị của BitCount
Trang 1815
CHƯƠNG 2 GIẤU TIN TRONG ẢNH
2.1 Giới thiệu chung
Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỷ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong các hầu hết các ứng dụng bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật Chính vì thế mà vấn đề này đã nhận được
sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi
và chẳng ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa Và ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh đã đem lại nhiều những ứng dụng quan trọng trên các lĩnh vực trong đời sống xã hội Ví dụ như đối với các nước phát triển, chữ kí tay đã được số hoá và lưu trữ sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính Nó được dùng để nhận thực trong các thẻ tín dụng của người tiêu dùng
Hay trong một số những ứng dụng về nhận diện như thẻ chứng minh, thẻ căn cước, hộ chiếu…người ta có thể giấu thông tin trên các ảnh thẻ để xác định thông tin thực Ví dụ như hình vẽ bên là một thẻ chứng minh đã được giấu tin trong ảnh Thông tin giấu là số thẻ trùng với số đã được in rõ ở trên thẻ
Trang 1916
Một thẻ thông minh đã được giấu tin sử dụng trong công tác nhận dạng
Phần mềm WinWord của MicroSoft cũng cho phép người dùng lưu trữ chữ kí
trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm bảo tính an toàn
của thông tin Tài liệu sau đó được truyền trực tiếp qua máy fax hoặc lưu truyền trên
mạng Theo đó, việc nhận thực chữ kí, xác thực thông tin đã trở thành một vấn đề cực
kì quan trọng khi mà việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ chức nào Thêm vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính Các thông tin này được số hoá và lưu trữ trong hệ thống máy tính hay trên mạng Chúng rất dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Việc nhận thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng, cấp thiết Và một đặc điểm của giấu thông tin trong ảnh nữa đó là thông tin được giấu một cách vô hình Nó như là cách truyền thông tin mật cho nhau mà người khác không thể biết được, bởi sau khi giấu thông tin thì chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh xám
Trang 2017
Từ năm học 1995-1996, Bộ giáo dục và Đào tạo đã bắt đầu ứng dụng công nghệ thông tin vào công tác bảo mật đề thi tốt nghiệp trung học phổ thông thay cho việc niêm phong, đóng dấu đề thi để chuyển qua theo đường bưu điện
Trong mục này đề cập tới một kỹ thuật đơn giản đáng tin cậy để giấu những thông tin quan trọng nào một ảnh đen trắng (ảnh nhị phân) bằng cách sử dụng khoá bí mật và một ma trận trọng số Phương pháp này được chứng minh là có độ an toàn cao, đảm bảo chất lượng ảnh gốc và có tỉ lệ giữa kích thước thông tin giấu được với kích thước ảnh môi trường tương đối so với các phương pháp khác và cho phép giấu được tới [log2(m*n+1)] bit dữ liệu vào trong mỗi khối ảnh kích thước m*n mà chỉ cần thay đổi nhiều nhất 2 bit trong khối ảnh đó
2.2 Các đặc trưng của giấu thông tin trong ảnh
Như đã nói ở trên nhúng thông tin trong ảnh có hai khái niệm khác nhau đó là
thuỷ vân số ( digital watermarking ) và giấu thông tin mật trong ảnh (stegnography)
Trong khi thuỷ phân số không yêu cầu thông tin giấu phải vô hình và chịu được các thao tác biến đổi trên ảnh thì giấu thông tin trong ảnh yêu cầu các thông tin giấu phải
ẩn không bị phát hiện và lượng thông tin giấu càng lớn càng tốt (capacity of hidden message) Hai phương pháp này có những đặc điểm khác nhau, cách thực hiện khác nhau nhưng trong báo cáo này là giấu tin trong ảnh nên chỉ đề cập tới các đặc trưng chính của giấu thông tin trong ảnh
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 của ảnh tĩnh, dù đã giấu thông tin vào trong ảnh hay chưa thì khi ta xem ảnh bằng thị giác dữ liệu ảnh được tri giác tĩnh nghĩa là ảnh
không thay đổi theo thời gian khi tri giác, điều này khác với đa phương tiện audio hay
video vì khi ta tri giác các dữ liệu phương tiện chứa gốc là hình ảnh hay âm thanh thì
dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các đoạn hay các bài,
các cảnh Sự khác biệt này ảnh hưởng lớn đối với các kỹ thuật giấu tin trong audio
Trang 2118
hay video Đối với giấu thông tin trong ảnh phương pháp giấu và kỹ thuật giấu phụ
thuộc vào đặc điểm thị giác của con người ví dụ như độ sáng tối, hay yếu tố khoảng cách to nhỏ
Giấu 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 phép toán thực hiện công việc giấu tin sẽ được thực hiện trên dữ liệu của
trên ảnh Dữ liệu ảnh bao gồm các phần header, bảng phân màu và dữ liệu ảnh Khi
giấu thông tin, các phương pháp đều biến đổi giá trị của các bit trong dữ liệu ảnh chứ không chứ không thêm vào hay bớt đi dữ liệu ảnh Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau
Đảm bảo yêu cầu chất lượng ảnh sau khi giấu thông tin
Đây là một yêu cầu quan trọng đối với giấu thông tin trong ảnh Sau khi giấu thông tin bên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi để có thể bị phát hiện dễ dàng so với ảnh gốc Yêu cầu này giường như quá đơn giản đối với ảnh
màu và ảnh xám bởi mỗi pixel ảnh được biểu diễn bởi nhiều bit, nhiều giá trị và khi ta
thay đổi một giá trị nhỏ nào đó chất lượng ảnh không thay đổi, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen trắng thì việc giấu thông tin phức tạp hơn nhiều, vì ảnh đen trắng mỗi pixel ảnh chỉ có hai giá trị đen hoặc trắng, và nếu ta biến đổi một bit từ đen thành trắng mà không khéo thì sẽ rất bị phát hiện Do đó yêu cầu với các kỹ thuật giấu tin trong ảnh màu hay ảnh xám và giấu thông tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuật toán chú trọng vào việc làm sao cho giấu dược càng nhiều thông tin càng tốt thì các thuật toán áp dụng cho ảnh đen trắng lại tập trung vào làm thế nào để thông tin giấu khó bị phát hiện
Thông tin trong ảnh sẽ bị biến đổi nếu có bất kỳ một biến đổi nào trên ảnh
Trang 2219
Vì phương pháp giấu ảnh dựa trên việc điều chỉnh các giá trị của các khối bit theo một quy tắc nào đó và khi giải mã 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 sẽ làm thay đổi giá trị của các bit thì sẽ làm thông tin sai lệch Chính đặc điểm này mà giấu thông tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin
Không cần ảnh gốc khi giải mã ảnh
Thông tin được giấu trong ảnh sẽ được mang cùng dữ liệu ảnh, khi giải mã chỉ cần ảnh đã mang thông tin mà không cần dùng đến ảnh gốc để so sánh đối chiếu
2.3 Sự khác nhau giữa giấu tin trong ảnh đen trắng với ảnh màu
Khởi nguồn của giấu thông tin trong ảnh là thông tin được giấu trong các ảnh
màu hoặc ảnh xám, trong đó mỗi pixel ảnh mang nhiều giá trị, được biểu diễn bằng nhiều bit Với ảnh đó thì việc thay đổi một giá trị nhỏ ở một pixel thì chất lượng ảnh
gần như không thay đổi, và khả năng bị phát hiện rất thấp dưới con mắt người bình thường Do đó hệ thống thị giác của con người cũng đóng một vai trò quan trọng trong việc bảo đảm tính không nhìn thấy thông tin được giấu trên ảnh Với những ảnh mà mỗi điểm ảnh chỉ mang một giới hạn nhỏ các giá trị thì việc giấu thông tin trong ảnh đảm bảo tính vô hình của thông tin che giấu là một công việc khó khăn hơn nhiều Đặc biệt với ảnh đen trắng, mỗi điểm ảnh chỉ mang một trong hai giá trị trắng hoặc đen Vậy thì khi thay đổi giá trị một pixel từ đen thành trắng hoặc ngược lại thì rất dễ bị phát hiện Một số thuật toán khác thì giấu chất lượng ảnh tốt hơn nhưng lượng thông tin giấu được bít và quá đơn giản không đảm bảo được độ an toàn thông tin Bảng sau
sẽ liệt kê những khác nhau cơ bản giữa giấu thông tin trong ảnh đen trắng và ảnh mầu
Trang 2320
Sự khác nhau giữa giấu thông tin trong ảnh đen trắng và ảnh màu
Giấu thông tin trong ảnh đen trắng Giấu thông tin trong ảnh màu hoặc
ảnh xám
Thông tin giấu được ít Thông tin giấu nhiều hơn
Độ an toàn thông tin thấp do dễ bị phát
hiện có thông tin chứa thông tin bên
trong
Độ an toàn cao
Các thuật toán giấu ít, phức tạp Nhiều thuật toán và có nhiều hướng mở
rộng phát triển Như áp dụng giải thuật
di truyền
Ảnh màu sau khi giấu tin rất khó phát hiện sự thay đổi
Trang 2421
Ảnh đen trắng sau khi giấu cùng một lượng thông tin như ảnh màu nhưng chất
lượng kém hơn
2.4 Các thuật toán giấu tin trong ảnh
2.4.1 Giấu tin trong ảnh thứ cấp
2.4.1.1 Đặt bài toán
Trong mục này đề cập tới các kỹ thuật đơn giản và đáng tin cậy để giấu những
thông tin quan trọng vào một ảnh thứ cấp (đen trắng ) bằng cách:
- Sử dụng khoá bí mật K cố định
- Sử dụng khoá bí mật K cố định với chiều dài thay đổi
- Sử dụng khoá bí mật K cố định là một ma trận ảnh
- Sử dụng khoá K (ma trận khoá kích thước m*n (ma trận 0/1) dùng chung
bởi người nhận và người gửi), và ma trận trọng số cấp r, kích thước m*n
cũng được dùng chung bởi người gửi và người nhận
Trang 2522
Bài toán: Giả sử ta có đề thi quan trọng B cần gửi qua mạng Người ta
dùng một ảnh môi trường F đủ lớn để giấu đề thi, sau đó gửi đi bức ảnh
đã chứa thông tin đề thi mà không sợ bị nghi ngờ về sự tồn tại thông tin trong đó Sử dụng một kỹ thuật giấu tin trong ảnh (chọn khoá bí mật K
và có thể kết hợp với ma trận trọng số) ta biến đổi ảnh F thành ảnh F’ có mang lượng tin trên mà không làm cho F’ sai khác nhiều so với F Để thu được thông tin đề thi B đã giấu, chỉ cần có ảnh kết quả và các khoá
mà không cần đến ảnh môi trường
B: k*r bít dữ liệu cần giấu, được tách thành k chuỗi r bit
2.4.1.2 Các khái niệm cơ bản
Ảnh thứ cấp và ma trận nhị phân
Trước hết ta quan tâm đến các đối tượng chính là các ảnh thứ cấp hay ảnh một bit màu Đó là những bức ảnh mà mỗi điểm ảnh chỉ là đen hoặc trắng, được qui định bởi 1 bit Nếu bit mang giá trị 0 thì điểm ảnh là điểm đen, nếu là 1 thì điểm ảnh là
Trang 26- Có độ dài không thay đổi
- Có độ dài biến thiên
- Khoá bí mật là một ma trận ảnh
- Khoá bí mật là một ma trận nhị phân có cùng kích thước khối ảnh được dùng chung bởi người giấu tin và người giải mã thông tin
Ma trận trọng số cấp r
Ma trận trọng số cũng là một ma trận số có cùng kích thước với khoá và được
sử dụng bởi người giấu tin và người giải mã thông tin Tuy nhiên, ma trận trọng số cần phải thoả mãn số yêu cầu xác định
Một ma trận w kích thước m*n được gọi là ma trận cấp r nếu mỗi phần tử của tập hợp { 1,2, ,2r-1} xuất hiện trong w ít nhất một lần và các phần tử của w chỉ nhận giá trị trong tập hợp { 1,2, ,2r-1} với n, m, r là các số tự nhiên thoả mãn 2r-1≤ m*n
Từ những định nghĩa ta nhận thấy với mỗi m,n,r thoả mãn 2r-1≤ m*n sẽ có biểu thức: 2r−1*(2r −1)!*(2r −1)mn−(2r−1)
mn
Ví dụ:
- Với m=n=2, r=2 ta sẽ có 128 khả năng chọn w
Trang 27Trước hết, ta coi một bitmap như là một ma trận số nguyên, vì vậy thuật ngữ
bitmap và ma trận đôi khi được dùng với nghĩa tương đương
Giả sử có ma trận B, kí hiệu:
+ B[i,j] là phần tử nằm ở hàng thứ i, cột thứ j của ma trận B
+ SUM(B) là tổng tất cả các phần tử của ma trận B
Cho hai ma trận A và B có cùng kích thước ta định nghĩa hai phép toán ma trận:
Định nghĩa 1: Phép hoặc loại trừ ⊕:
⊕: là phép toán trên hai ma trận nhị phân xác định như sau:
A⊕B =C C[i,j]=A[i,j]⊕ B[i,j]
Trong đó:
Trang 281 0 1
0 1 0
0 1 1
1 1 0
Khi đó phép hoặc loại trừ giữa hai ma trận này cho ta kết quả:
Fi ⊕ K
Định nghĩa 2: Phép nhân⊗:
Kí hiệu: A ⊗ B là phép toán xác định như sau
A⊗B=C Trong đó: C[i,j] = A[i,j] * B[i,j]
0 0 1
0 1 1
0 1 1
1 1 0
3 2 1
3 2 1
Trang 290 0 1
0 1 1
0 1 1
1 1 0
0 1 0
1 0 1
Tiếp theo thực hiện phép ⊗ với w
0 1 0
1 0 1
3 2 1
3 2 1
0 2 0
3 0 1
Giả sử chúng ta cần giấu bit b vào trong ảnh Cắt một đoạn gồm có k điểm ảnh
và giấu b vào trong ảnh Trong đó k là khoá(k lẻ)
d= F/k = số đoạn
Giải thuật dựa vào tính chẵn lẻ:
Bước 1: Đọc liên tiếp k điểm ảnh Gọi là f
Ký hiệu Sum(f): là tổng số bit 1 có trong k Đặt b=t mod 2
Bước 2: So sánh t và b:
Nếu b và t cùng tính chẵn lẻ: thì không làm gì
Trang 3027
Nếu t và b khác tính chẵn lẻ: thì ta tìm cách sửa đúng 1 bit trong f:
Khi đó f→f’: sao cho f’ và b là cùng tính chẵn lẻ
Bước 3: Việc sửa bit được tiến hành như sau:
Nếu Sum(f) : chẵn Suy ra : bít b = 0
Nếu Sum(f) : lẻ Suy ra : bit b=1