Chương 1. Nghiên cứu tổng quan về lĩnh vực giấu tin. Nghiên cứu, phân tích và tìm hiểu một số thuật toán giấu tin trong ảnh tĩnh. Ứng dụng kỹ thuật giấu tin mới, xây dựng chương trình demo giấu tin trong ảnh bitmap 24bit.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 3 CHƢƠN 1: NGHIÊN CỨU TỔNG QUAN VỀ LĨNH VỰC GIẤU TIN 1. Tổng quan về giấu tin. Định nghĩa Giấu thông 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 thông tin nhằm mục đích đảm bảo an toàn vào bảo mật thông tin rõ ràng ở hai khía cạnh.
Một là bảo mật cho giữ liệu đƣợc đem giấu, hai là bảo mật cho chính đối tƣợng đƣợc dùng để giấu tin. Hai khía cạnh khác nhau này dẫn đến hai khuynh hƣớng kỹ thuật chủ yếu của giấu tin. Khuynh hƣớng thứ nhất là giấu tin mật (steganography). Khuynh hƣớng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu đƣợc nhiều và quan trọng là ngƣời khác khó phát hiện đƣợc một đối tƣợng có bị giấu thông tin bên trong hay không.
Khuynh hƣớng thứ hai là thủy vân số (watermarking). Khuynh hƣớng thủy vân số đánh giấu vào đối tƣợng nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin. Thủy vân số có miền ứng dụng lớn hơn nên đƣợc quan tâm nghiên cứu nhiều hơn và thực tế đã có nhiều những kỹ thuật dành cho khuynh hƣớng này. Vài nét về lịch sử giấu tin Từ steganography bắt nguồn từ Hi Lạp và đƣợc sử dụng cho tới ngày nay, nó có nghĩa là tài liệu đƣợc phủ (covered writing).
Các câu chuyện kể về kỹ thuật giấu tin đƣợc truyền qua nhiều thế hệ. Có lẽ những ghi chép sớm nhất về kỹ thuật giấu thông tin thuộc về sử gia Hi Lạp là Herodotus. Khi bạo chúa Hi Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ năm trƣớc Công nguyên, ông ta đã gửi một thông báo bí mật cho con rể của mình là Aristagoras ở Miletus. Histiaeus đã cạo trọc đầu của một nô lệ tin cậy và xăm một thông báo trên da đầu của ngƣời nô lệ ấy.
Khi tóc của ngƣời nô lệ này mọc đủ dài ngƣời nô lệ đƣợc gửi tới Miletus. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 4 Một câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại. Môi trƣờng để ghi văn bản chính là các viên thuốc đƣợc bọc trong sáp ong. Demeratus, một ngƣời Hi Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hi Lạp.
Để tránh bị phát hiện, anh ta đã bọc lại các viên thuốc bằng một lớp sáp mới. Những viên thuốc đƣợc để ngõ và lọt qua mọi sự kiểm tra một cách dễ dàng. Mực không màu là phƣơng tiện hữu hiệu cho bảo mật thông tin trong một thời gian dài. Ngƣời Romans cổ đã biết sử dụng những chất sẵn có nhƣ nƣớc quả, nƣớc tiểu và sữa dê để viết các thông báo bí mật giữa những hàng văn tự thông thƣờng.
Khi bị hơ nóng, những thứ mực không nhìn thấy này trở nên sẫm màu và có thể đọc dễ dàng. Mực không màu cũng đƣợc sử dụng rất gần đây, nhƣ trong thời gian chiến tranh Thế giới thứ II. tƣởng về che giấu thông tin đã có từ hàng ngà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 hàng loạt công trình nghiên cứu giá trị.
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 phân phối trên mạng của các dữ liệu đa phƣơng tiện đã sinh ra nhiều 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… 1. Mục đích của giấu tin Giấu tin có hai mục đích: - Bảo mật cho những dữ liệu đƣợc giấu - Bảo đảm an toàn (bảo vệ bản quyền) cho chính các đối tƣợng chứa dữ liệu giấu trong đó. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 5 Có thể thấy hai mục đích này hoàn toàn trái ngƣợc nhau và dần phát triển thành hai lĩnh vực với những yêu cầu và tính chất khác nhau.
Giấu thông tin Giấu tin bí mật Thuỷ vân số (Steganography) (Watermarking) Hình 1.1: Hai lĩnh vực chính của kỹ thuật giấu thông tin Kỹ thuật giấu thông tin bí mật (Steganography): với mục đích đảm bảo an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để có thể giấu đƣợc nhiều thông tin nhất. Thông tin mật đƣợc giấu kỹ trong một đối tƣợng khác sao cho ngƣời khác không phát hiện đƣợc. Kỹ thuật giấu thông tin theo kiểu đánh giấu (watermarking) để bảo vệ bản quyền của đối tƣợng chứa thông tin tập trung đảm bảo một số các yêu cầu nhƣ đảm bảo tính bền vững… đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số. Mô hình kỹ thuật giấu thông tin cơ bản.
Để thực hiện giấu tin cần xây dựng đƣợc các thủ tục giấu tin. Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trƣờng giấu tin. Các thủ tục giấu tin thƣờng đƣợc thực hiện với một khóa giống nhƣ các hệ mật mã để tăng tính bảo mật. Sau khi giấu tin ta thu đƣợc đối tƣợng chứa thông tin giấu và có thể phân phối đối tƣợng đó trên kênh thông tin.
Để giải mã thông tin cần nhận đƣợc đối tƣợng có chứa thông tin đã giấu, sử dụng thủ tục giải mã cùng với khóa đã dùng trong quá trình giấu để lấy lại thông tin. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 6 Giấu thông tin vào phƣơng tiện chứa và tách lấy thông tin là hai quá trình trái ngƣợc nhau và có thể mô tả qua sơ đồ khối của hệ thống nhƣ hình 1.2 trong đó: - Thông tin cần giấu tuỳ theo mục đích của ngƣời sử dụng, nó có thể là thông điệp (với các tin bí mật) hay các logo, hình ảnh bản quyền. - Phƣơng tiện chứa: các file ảnh, text, audio… là môi trƣờng để nhúng tin - Bộ nhúng thông tin: là những chƣơng trình thực hiện việc giấu tin - Đầu ra: là các phƣơng tiện chứa đã có tin giấu trong đó Thông tin giấu Phân phối Phƣơng tiện Phƣơng tiện Bộ nhúng chứa(audio, ảnh, chứa đã đƣợc video) thông tin giấu tin Khóa giấu tin Hình 1.2: Lƣợc đồ chung cho quá trình giấu tin Tách thông tin từ các phƣơng tiện chứa diễn ra theo quy trình ngƣợc lại với đầu ra là các thông tin đã đƣợc giấu vào phƣơng tiện chứa. Phƣơng tiện chứa sau khi tách lấy thông tin có thể đƣợc sử dụng, quản lý theo những yêu cầu khác nhau.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 7 Khóa giấu tin Phƣơng tiện chứa đã Bộ giải mã Phƣơng tiện chứa đƣợc giấu tin (audio, ảnh, thông tin video) Kiểm Thông tin giấu định Hình 1.3: Lƣợc đồ chung cho quá trình giải mã Hình vẽ 1.3 chỉ ra các công việc giải mã thông tin đã giấu. Sau khi nhận đƣợc đối tƣợng phƣơng tiện chứa 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 khoá của quá trình nhúng. Kết quả thu đƣợ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 ban đầu.
Phân loại giấu tin. Phân loại các kỹ thuật giấu tin: Do kỹ thuật giấu thông tin số mới đƣợc hình thành trong thời gian gần đây nên xu hƣớng phát triển vẫn chƣa ổn định. Nhiều phƣơng pháp mới, theo nhiều khía cạnh khác nhau đang và sẽ đƣợc đề xuất, bởi vậy một định nghĩa chính xác, một sự đánh giá phân loại rõ ràng chƣa thể có đƣợc. Một số tác giả đã đƣa ra các đánh giá phân loại và các định nghĩa, nhƣng không lâu sau lại có các đánh giá phân loại và các định nghĩa khác đƣợc đề xuất.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 8 Dựa trên việc thống kê sắp xếp khoảng 100 công trình đã công bố trên một số tạp chí, cùng với thông tin về tên và tóm tắt nội dung của khoảng 200 công trình công bố trên Internet, có thể chia lĩnh vực giấu dữ liệu ra làm hai hƣớng lớn, đó là watermarking và steganography. Nếu nhƣ watermarking quan tâm nhiều đến các ứng dụng giấu các mẩu tin ngắn nhƣng đòi hỏi độ bền vững cao của thông tin cần giấu đối với các biến đổi thông thƣờng của tệp dữ liệu môi trƣờng thì steganography lại quan tâm tới các ứng dụng che giấu các bản tin với độ mật và dung lƣợng càng lớn càng tốt. Đối với từng hƣớng lớn này, quá trình phân loại có thể tiếp tục theo các tiêu chí khác. Ngoài ra chúng ta có thể phân loại theo môi trƣờng giấu thông tin: + Giấu thông tin trong ảnh.
+ Giấu thông tin trong audio. + Giấu thông tin trong video. + Giấu thông tin trong văn bản dạng text. Phân loại theo cách thức tác động lên các phƣơng tiện: Phƣơng pháp chèn dữ liệu: Phƣơng pháp này tìm các vị trí trong file dễ bị bỏ qua và chèn dữ liệu cần giấu vào đó, cách giấu này không làm ảnh hƣởng gì tới sự thể hiện các file dữ liệu ví dụ nhƣ đƣợc giấu sau các ký tự EOF.
Phƣơng pháp tạo các phƣơng tiện chứa: Từ các thông điệp cần chuyển sẽ tạo ra các phƣơng tiện chứa để phục vụ cho việc truyền thông tin đó, từ phía ngƣời nhận dựa trên các phƣơng tiện chứa này sẽ tái tạo lại các thông điệp. Phân loại theo các mục đích sử dụng: - Giấu thông tin bí mật: đây là ứng dụng phổ biến nhất từ trƣớc đến nay, đối với giấu thông tin bí mật ngƣời ta quan tâm chủ yếu tới các mục tiêu: + Độ an toàn của giấu tin - khả năng không bị phát hiện của giấu tin. + Lƣợng thông tin tối đa có thể giấu trong một phƣơng tiện chứa cụ thể mà vẫn có thể đảm bảo an toàn + Độ bí mật của thông tin trong trƣờng hợp giấu tin bị phát hiện Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn 9 - Giấu thông tin bí mật không quan tâm tới nhiều các yêu cầu bền vững của phƣơng tiện chứa, đơn giản là bởi ngƣời ta có thể thực hiện việc gửi và nhận nhiều lần một phƣơng tiện chứa đã đƣợc giấu tin.