Chương 1 trình bày bài toán giấu tin, phân loại giấu tin, các ứng dụng của giấu tin. Nội dung chương cũng đề cập đến các yêu cầu cần phải đáp ứng khi triển khai hệ giấu tin và một số tấn công làm thay đổi thông tin mà hệ giấu tin phải xử lý khi triển khai trong thực tế. ẢNH SỐ VÀ CÁC KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ Các phương pháp giấu tin trong ảnh tìm cách ẩn các bit tin vào trong các điểm ảnh của ảnh số. Trong tất cả các khâu: tạo ảnh, biểu diễn ảnh, biến đổi ảnh đều có những kẽ hở để có thể khai thác phục vụ giấu tin.
Một hệ thống giấu tin hoàn chỉnh giống với một hệ thống xử lý ảnh ở chỗ cả hai đều dựa trên cấu trúc, các phép biến đổi và các thông tin khác về ảnh. Ngoài ra hệ thống giấu tin còn có thêm những tính chất của hệ thống mật mã. Trong chương này sẽ trình bày lý thuyết liên quan đến biểu diễn ảnh số, các kỹ thuật hỗ trợ cho giấu tin và một số phương pháp giấu tin trong ảnh số. CÁC MÔ HÌNH MÀU VÀ BIỂU DIỄN ẢNH TRÊN MÁY TÍNH Màu của các đối tượng phụ thuộc vào bản thân đối tượng, vào nguồn ánh sáng, màu của môi trường xung quanh và vào sự cảm nhận của thị giác.
Mắt người cảm nhận ánh sáng màu tốt hơn đen trắng. Về mặt vật lý, ánh sáng được nghiên cứu theo bước sóng và cường độ. Trong lĩnh vực đồ hoạ và xử lý ảnh, người ta nghiên cứu màu theo các yếu tố: hue (sắc màu để phân biệt giữa các màu, ví dụ màu đỏ, xanh, nâu), saturation (độ bão hoà để đo sự pha trộn với ánh sáng trắng), lightness (độ sáng thể hiện qua cường độ ánh sáng). Để biểu diễn màu trong máy tính hay các thiết bị phần cứng khác người ta dùng mô hình màu.
Mô hình màu như một hệ tọa độ không gian, trong đó mỗi điểm trong hệ toạ độ ứng với một màu. Một màu khi biểu diễn thường là tổ hợp của ba màu đỏ (R), lục (G) và lam (B). Mắt người cảm nhận màu sắc thông qua các tế bào võng mạc mô hình nón. Ba màu đỏ, lục, lam là ba màu mà mắt người cảm nhận rõ nhất, có độ dài bước sóng lần lượt là 560, 530, 430 nm.
Mô hình màu RGB Hệ màu này được sử dụng cho màn hình và đồ hoạ mành sử dụng hệ toạ độ đề-các. Mỗi màu trong khối được xác định theo ba thành phần màu RGB (Red, Green, Blue). Màu trắng có thành phần màu là (1,1,1), màu đỏ là (1,0,0),. Mô hình màu RGB Không gian RGB là chuẩn công nghiệp cho các thao tác đồ hoạ máy tính.
Các thao tác màu sắc có thể được tính toán trên các không gian màu khác nhau nhưng cuối cùng phải chuyển về RGB để biểu diễn trên màn hình. Ngược lại có thể chuyển đổi qua lại giữa RGB với các không gian màu khác. Mô hình màu CMY Mô hình màu CMY sử dụng ba màu là Cyan (lục lơ), Magenta (đỏ tươi) và Yellow (vàng). Ba màu này là phần bù tương xứng của các màu đỏ, lục và lam.
Các màu của hệ màu CMY được xác định bằng cách loại bỏ màu nào đó từ ánh sáng trắng chứ không phải thêm vào các màu tối. Hệ màu CMY hay được dùng cho các thiết bị in màu. Mô hình màu CMY 13 2. Biểu diễn ảnh trong máy tính Ảnh biểu diễn trên máy tính được chia làm hai dạng chính là ảnh mành (bitmap) và ảnh véc tơ.
Ảnh mành (bitmap): lưu bản đồ điểm ảnh. Các ảnh có cấu trúc này như Microsoft Windows BMP, PCX, TIFF, TGA. Ảnh véc tơ là dạng ảnh lưu công thức toán học biểu diễn các đối tượng (ví dụ văn bản, đường thẳng, đường đa giác) thay vì lưu các điểm ảnh. Ảnh dạng này ví dụ như AutoCAD-DXF, Microsoft SYLK.
Các thuật toán giấu tin được trình bày trong luận văn áp dụng cho ảnh bitmap. Ảnh Bitmap Ảnh bitmap là dạng ảnh phổ biến và có dung lượng giấu tin cao. Các ảnh bitmap thường dùng 24-bit hay 8-bit cho một điểm ảnh. Ảnh 24-bit còn được gọi là ảnh true color, cung cấp nhiều chỗ giấu thông tin hơn.
Tuy nhiên ảnh 24-bit lớn, ví dụ một ảnh 24-bit cỡ 1024 x 768 pixels có kích thước trên 2 MB, nên dễ bị gây chú ý khi tải qua mạng. Thường những ảnh đó cần được nén, nhưng nén ảnh có thể làm mất tin mật. Bảng màu và các điểm ảnh dùng bảng màu Một phương án khác là có thể dùng ảnh 8-bit màu để giấu thông tin. Trong các ảnh 8-bit, mỗi điểm ảnh được thể hiện bằng một byte.
Mỗi điểm đơn thuần trỏ đến một bảng chỉ mục các màu, với 256 khả năng màu. Điểm ảnh chứa trị nằm giữa 0 và 255 và các phần mềm chỉ đơn thuần vẽ màu cần biểu thị lên màn hình tại vị trí 14 lựa chọn. Nếu dùng một ảnh 8-bit làm ảnh phủ, rất nhiều chuyên gia về giấu tin trong ảnh khuyên nên dùng ảnh 256 cấp xám vì bảng màu của ảnh xám thay đổi đồng đều giữa các màu làm tăng khả năng giấu tin. Giấu tin trong ảnh 8-bit cần xem xét cả ảnh lẫn bảng màu.
Một ảnh có khối lớn các màu đồng nhất khó giấu hơn vì dễ bị nhận biết. Một số phương pháp giấu tin trong ảnh dựa vào việc sắp xếp lại bảng màu, trong khi các phương pháp khác thêm bớt các màu vào bảng màu. CÁC KỸ THUẬT BỔ TRỢ CHO GIẤU TIN Để giấu tin trong dữ liệu số ta cần các kỹ thuật bổ trợ. Các kỹ thuật này bao gồm chuyển dữ liệu ảnh từ miền không gian sang miền tần số, kỹ thuật sinh các chuỗi số ngẫu nhiên và kỹ thuật thay đổi thứ tự các bit trong chuỗi bit mật.
Các phép biến đổi từ miền thời gian sang miền tần số Ngoài phương pháp xử lý trực tiếp giá trị các điểm ảnh trên miền không gian, chúng ta có thể dùng nhiều phương pháp khảo sát gián tiếp khác thông qua các kỹ thuật biến đổi. Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang các miền khác với các biến số mới. Phương pháp khảo sát gián tiếp này sẽ làm đơn giản rất nhiều các công việc mà chúng ta gặp phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập. Có nhiều cách biến đổi, trong đó cách biến đổi hay được sử dụng là biến đổi Fourier, biến đổi wavelet… Phép biến đổi Fourier rời rạc Phép biến đổi Fourier rời rạc còn được gọi là biến đổi Fourier hữu hạn.
Đầu vào của biến đổi này là một chuỗi hữu hạn các số thực hoặc số phức. Phép biến đổi DFT phân tích một dãy các số thành các thành phần ở các tần số khác nhau, là một công cụ lý tưởng để xử lý thông tin trên các máy tính. Phép biến đổi wavelet (DWT) Jean Morlet và các cộng sự đã phát triển phương pháp đa phân giải. Ý tưởng của phân tích đa phân giải là sử dụng các kỹ thuật lọc số trong quá trình phân tích.
Mỗi một tín hiệu được phân tích thành hai thành phần: thành phần xấp xỉ A (Approximation) tương ứng với thành phần tần số thấp và thành phần chi tiết D 15 (Detail) tương ứng với thành phần tần số cao, thông qua hai bộ lọc thông thấp và thông cao. Trong đó, bộ lọc thông cao sử dụng hàm wavelet và bộ lọc thông thấp sử dụng hàm tỉ lệ. Sơ đồ biến đổi wavelet cho ảnh số Ví dụ hình dưới đây là hình ảnh biến đổi DWT. Ảnh gốc và các thành phần tương ứng khi biến đổi wavelet Thành phần HH là không quan trọng.
Những thay đổi trên thành phần này ít ảnh hưởng đến tín hiệu gốc khi ta khôi phục lại. Các thuật toán giấu tin, tùy vào yêu cầu ứng dụng có thể chọn giấu tin vào các vùng khác nhau. Xáo trộn dữ liệu mật Giả sử có chuỗi M gồm n phần tử, là thông điệp mật cần giấu vào trong ảnh. Thay vì giấu tuần tự từng phần tử từ M 1 đến Mn, ta thực hiện xáo trộn chuỗi M rồi mới đem giấu.
Mục đích của việc này là gây khó khăn cho người thám tin khi thực hiện tấn công rút trích tin. Nếu người thám tin biết thuật toán giấu thì rất có thể dò được chuỗi tin. Xáo trộn dữ liệu đòi hỏi người thám tin phải sắp xếp lại chuỗi tin nhận được theo trật tự đúng mới biết được tin, nếu không, chuỗi tin nhận được cũng không có ý nghĩa. Có nhiều thuật toán khác nhau để xáo trộn dữ liệu.
Một thuật toán có thể dùng để xáo trộn là sử dụng phương pháp hoán vị. Nếu chuỗi tin mật cần giấu có độ dài n (đánh số từ 1 đến n) thì sẽ có n! hoán vị của nó. Có nhiều kỹ thuật tạo hoán vị của tập {1,2,. Một trong các cách hiệu quả là dùng phương pháp sinh theo kiểu thứ tự từ điển.
Ví dụ ta có chuỗi cần giấu là “axnd”. Ta gán cho các ký tự chuỗi giá trị theo đúng thứ tự xuất hiện của chúng là {1, 2, 3, 4}. Chuỗi này sẽ có 24 hoán vị là {1, 2, 3, 4}, {1, 2, 4, 3},{1, 3, 2, 4},{1, 3, 4, 2},{1, 4, 2, 3},{1, 4, 3, 2},{2, 1, 3, 4},{2, 1, 4, 3},{2, 3, 1, 4},{2, 3, 4, 1},{2, 4, 1, 3},{ 2, 4, 3, 1},{3, 1, 2, 4},{3, 1, 4, 2},{3, 2, 1, 4},{3, 2, 4, 1},{3, 4, 1, 2},{3, 4, 2, 1},{4, 1, 2, 3},{4, 1, 3, 2},{4, 2, 1, 3},{4, 2, 3, 1},{4, 3, 1, 2},{4, 3, 2, 1}. Khi chọn k là 1 giá trị nào đó trong n! thì ta sẽ chọn hoán vị thứ k của chuỗi ban đầu và đem chuỗi đó đi giấu thay vì chuỗi nguyên gốc (k=1).
Trong trường hợp giá trị k lớn hơn n! thì k sẽ được gán bằng (k mod n!) + 1. Ví dụ k= 20 thì chuỗi tin giấu là: “danx” tương ứng với hoán vị {4, 1, 3, 2}. Sinh chuỗi giả ngẫu nhiên Các phương pháp giấu tin thường dùng kết hợp với các chuỗi ngẫu nhiên để thực hiện giấu tin. Chuỗi ngẫu nhiên này có thể dùng để xác định vị trí mẫu được chọn để giấu hoặc vị trí bit giấu.
Các số ngẫu nhiên có thể được sinh trực tiếp bằng các bộ sinh trong máy tính hoặc do người lập trình tự cài đặt. Có thể sử dụng bộ sinh số đồng dư để sinh ra chuỗi các số ngẫu nhiên. Các độ đo khi thực hiện giấu tin Để đánh giá hiệu năng của các kỹ thuật giấu tin, chúng ta thường dựa vào tỉ lệ có thể cảm nhận và tỉ lệ có thể phát hiện. Một số độ đo hay được dùng là độ đo SNR, độ đo NCC.