Giới thiệu về kỹ thuật giấu thông tin
1. Sơ lược về kỹ thuật giấu thông tin
Với hai mục đích là bảo mật cho những dữ liệu được giấu trong đối tượng mạng và bảo đảm an toàn cho chính các đối tượng chứa dữ liệu giấu trong đó (bảo vệ bản quyền) nên kỹ thuật giấu thông tin được 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 đó là giấu thông tin bí mật và thủy vân số.
Giấu thông tin bí mật (Steganography) có lịch sử hình thành và phát triển từ rất lâu đời, nó bắt nguồn từ Hi Lạp và được sử dụng cho tới ngày nay, chủ yếu phục vụ cho mục đích liên lạc bí mật.
Theo các tài liệu nghiên cứu ghi lại, kỹ thuật giấu tin cổ xưa nhất và cũng là đơn giản nhất được nhắc tới trong các tài liệu là khi vua Histiaeus (khoảng năm 440 TCN) cạo sạch tóc xăm thông điệp lên da đầu và chờ khi tóc mọc lại, người nô lệ đó chuyển thông tin tới người nhận. Sau đó, người ta sử dụng các vật liệu tự nhiên như bảng gỗ, sáp ong, hổ phách cho việc giấu thông tin.
Khi kỹ thuật phát triển hơn, con người sử dụng chữ viết với cỡ chữ nhỏ giấu trong các vật dụng hàng ngày (như các hộp, vali có hai đáy) để chuyển đi, hoặc dùng bồ câu để chuyển thông tin để che mắt các nhân viên an ninh, hải quan. Sang thế kỷ 17, người ta dùng cách đánh dấu vào các kí tự cần thiết trên một văn bản, một bài báo công khai nào đó rồi truyền tới tay người nhận. Sau đó là thời kì phát triển rực rỡ của công nghệ hoá học với sản phẩm là mực không màu - là các chất lỏng sản phẩm hữu cơ không màu và hiển thị màu khi gặp điều kiện hoá - lý thích hợp. Tới ngày nay với phương pháp kiểm tra độ ẩm bề mặt, mực không màu không còn tác dụng bảo mật nữa, nhưng nó vẫn còn được dùng như một dạng thuỷ vân để in các block nhỏ hay các chi tiết phát quang khi bị chiếu tia cực tím. Trong nửa cuối thế kỉ 19, các vi phim là bước phát triển kế tiếp, với sản phẩm hoàn hảo của các thợ ảnh chuyên nghiệp thì kích thước của mỗi thông điệp “chỉ nhỏ như một dấu chấm”.
Giấu thông tin trong ngôn ngữ, hành văn cũng được sử dụng từ lâu, với việc lựa chọn theo một quy luật xác định như ghép các từ đầu của mỗi câu hay nhặt các từ, các chữ cái theo một quy luật nào đó. Một hình thức cũng được người Trung Hoa sử dụng rất nhiều là sử dụng một tờ giấy mẫu có đục các lỗ làm một “mặt nạ” viết trước các nội dung cần giấu tại các vị trí đó, tiếp theo các nội dung “vô hại” khác lên sau, cách làm này tận dụng đặc điểm về chữ tượng hình và các từ đồng âm khác nghĩa của chữ Hán.
Kỹ thuật thuỷ vân bắt đầu được sử dụng muộn hơn, vào cuối thế kỷ 13 tại Ý, khi các nhà sản xuất giấy làm các hình mờ chìm trong giấy in để bảo vệ bản quyền nhà sản xuất. Watermark xuất phát từ đó, sau đó đã nhanh chóng phát triển ra toàn Châu Âu, áp dụng trong các lĩnh vực xuất bản khác cho tới ngày nay.
Có nhiều cách để tiến hành phân loại các phương pháp giấu thông tin thông qua các tiêu chí khác nhau, như theo phương tiện chứa tin, các phương pháp tác động lên các phương tiện chứa tin, hay phân loại dựa theo các mục đích sử dụng....
Theo mục đích sử dụng, giấu thông tin có hai loại:
Giấu thông tin bí mật
Đây là ứng dụng phổ biến nhất từ trước tới 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 sau:
- Độ an toàn của tin giấu (khả năng không bị phát hiện của tin giấu).
- 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ảo mật của thông tin trong trường hợp giấu tin bị phát hiện.
Giấu thông tin bí mật không quan tâm nhiều tới các yêu cầu về khả năng bền vững của phương tiện chứa. Việc giải mã để nhận được thông tin cũng không cần phương tiện chứa gốc ban đầu. Các yêu cầu về khả năng chống tấn công không được quan tâm lắm, thay vào đó là thông tin giấu phải được bảo mật. Đối với các thuật toán giấu thông tin mật, người ta không chú trọng đến việc bảo vệ thông tin mật trước sự tấn công của các đối thủ mà thay vào đó quan tâm đến tính ẩn và tính an toàn đối với dữ liệu cần giấu.
Giấu thông tin thủy vân
Khác với kỹ thuật giấu thông tin để giữ bí mật thông tin, giấu thông tin thủy vân có mục tiêu là bảo vệ bản quyền và xác thực thông tin. Vì vậy, kỹ thuật này không chống lại việc khai thác thông tin, mà quan trọng nhất đối với nó là đảm bảo tuyệt đối tính bền vững, nghĩa là không thể hủy bỏ được thông tin giấu nó trừ khi hủy chính sản phẩm chứa. Ngoài ra các thông tin nhúng cần có ảnh hưởng tối thiểu đối với phương tiện chứa, vì vậy thông tin cần giấu càng nhỏ càng tốt.
Bảng so sánh giấu thông tin mật và giấu thông tin thủy vân
2. Mô hình giấu thông tin
Thành phần cơ bản của kỹ thuật giấu thông tin gồm: Thuật toán giấu tin và bộ giải mã thông tin (tính đến cả khóa mật).
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiện chứa bằng cách sử dụng một khoá 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ã thực hiện quá trình giải mã trên phương tiện chứa đã chứa dữ liệu và trả lại thông điệp ẩn trong đó.
Giấu thông tin vào phương tiện chứa (hình 1) và tách lấy thông tin (hình 2) là hai quá trình trái ngược nhau.
Hình 1 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... 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... tuỳ thuộc vào mục đích của người sử dụng. Thông tin sẽ được giấu vào 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 khoá bí mật giống như các hệ mật mã cổ điển. Sau khi giấu tin, ta thu được phương tiện chứa bản tin đã giấu và có thể phân phối sử dụng trên mạng.
Hình 2: Lược đồ giải mã thông tin đã được giấu
Hình 2 chỉ ra các quy trình giải mã thông tin đã giấu. Sau khi nhận được phương tiện chứa đã giấu 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 giấu ban đầu.
3. Giấu thông tin trong dữ liệu đa phương tiện
Dữ liệu đa phương tiện là dạng dữ liệu đa dạng, phong phú hiện đang tồn tại trong mọi lĩnh vực ứng dụng của công nghệ thông tin. Chính vì vậy, dữ liệu đa phương tiện cũng được sử dụng làm phương tiện chứa trong quá trình giấu tin. Để lựa chọn dữ liệu làm phương tiện chứa cần phải tìm hiểu rõ về cấu trúc của loại dữ liệu đó. Một số dữ liệu đa phương tiện thường được sử dụng làm môi trường để giấu tin như: text, audio, video, ảnh,...
3.1. Giấu thông tin trong ảnh số (Data Hiding in Image)
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 chứa. Hiện nay, giấu thông tin trong ảnh là một phương pháp 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 trong hình ả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 hầu hết các ứng dụng bảo vệ an toàn thông tin như: xác thực thông tin, xác định làm thay đổi 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.
Ngày nay, khi ảnh số đã được sử dụng khá phổ biến, thì giấu thông tin trong ảnh đã đem lại nhiều ứng dụng quan trọng trên các lĩnh vực của đờ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 để xác thực trong các thẻ tín dụng của người tiêu dùng.
Trong một số ứng dụng về nhận diện 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.
Một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu một cách “vô hình”. Nó như là cách thức 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.
3.2 Giấu thông tin trong audio
Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác. Một trong những yêu cầu cơ bản của giấu thông tin là đảm bảo tính chất “ẩn” của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu. Kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision System), còn kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác - HAS (Human Auditory system). Một vấn đề phức tạp ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các dải tần rộng và công suất lớn nên sẽ gây khó khăn đối với các phương pháp giấu tin trong audio. Nhưng thật may là thính giác con người lại kém trong việc phát hiện sự khác biệt các dải tần và công suất, có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ ở tần số thấp một cách dễ dàng. Các mô hình phân tích tâm lý đã chỉ ra điểm yếu trên và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin. Vấn đề khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin. Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng một đoạn phần mềm java applet vào một đoạn audio (16 bit, 44.100hz) có chiều dài bình thường thì các phương pháp thông thường cũng cần ít nhất tốc độ đường truyền là 20bps. Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu thông tin cho audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người.
3.3 Giấu thông tin trong video
Cũng như giấu thông tin trong ảnh hay trong audio, giấu thông tin trong video đã được quan tâm và phát triển mạnh mẽ cho nhiều ứng dụng như điểu khiển truy cập thông tin, xác thực thông tin và bảo vệ bản quyền tác giả, ví dụ như trong, các hệ thống chương trình tivi phải trả tiền. Các kỹ thuật giấu tin trong video cũng được phát triển mạnh mẽ và theo hai khuynh hướng là thuỷ vân số và giấu dữ liệu. Một phương pháp giấu tin trong video được đưa ra bởi COX là phương pháp phân bố đều. Ý tưởng cơ bản của phương pháp này là phân phối thông tin giấu dàn trải theo tần số của dữ liệu gốc. Nhiều nhà nghiên cứu đã dùng những hàm số cosin riêng và các hệ số truyền sóng riêng để giấu thông tin. Trong các thuật toán khởi nguồn thì thường chỉ có các kỹ thuật cho phép giấu các ảnh vào trong video, nhưng thời gian gần đây các kỹ thuật mới đã cho phép giấu cả âm thanh và hình ảnh vào trong video.
4. Một số ứng dụng cụ thể
- Bảo vệ bản quyền tác giả (copyright protection)
Một thông tin nào đó mang ý nghĩa xác định quyền sở hữu của tác giả (người ta gọi nó là thuỷ vân) sẽ được nhúng vào các sản phẩm dữ liệu đa phương tiện và chỉ duy nhất người chủ sở hữu hợp pháp các sản phẩm đó có thủy vân và được dùng làm minh chứng cho bản quyền sản phẩm. Giả sư, có một thành phẩm dữ liệu dạng đa phương tiện như ảnh, âm thanh, video cần được lưu trên mạng. Việc bảo vệ các sản phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để dán tem bản quyền vào sản phẩm này. Việc dán tem chính là việc “nhúng” thuỷ vân, cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn hủy bỏ thuỷ vân này mà không được phép của người chủ sở hữu thì chỉ có cách là phá huỷ sản phẩm.
- Xác thực thông tin hay phát hiện xuyên tạc thông tin (authentication and tamper detection)
Một tập các thông tin sẽ được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không. Các thuỷ vân nên được “ẩn” để tránh sự tò mò của đối phương. Hơn nữa, việc làm giả các thuỷ vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần được xem xét. Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi (ví như phân biệt xem một đối tượng đa phương tiện chứa giấu thông tin đã bị thay đổi, xuyên tạc nội dung hay chỉ là bị nén mất dữ liệu). Yêu cầu chung đối với dữ liệu này là khả năng giấu được nhiều thông tin và thuỷ vân không cần bền vững trước các phép xử lvý trên các đối tượng đã được giấu tin.
- Giấu vân tay hay dán nhãn (fingeprinting and labeling)
Thuỷ vân được sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó trong ứng dụng phân phối sản phẩm. Thuỷ vân trong trường hợp này cũng tương tự như số serial của sản phẩm phần mềm. Mỗi một sản phẩm sẽ mang một thuỷ vân riêng. Ví dụ như các thủy vân khác nhau sẽ được nhúng vào các bản copy khác nhau của thông tin gốc trước khi chuyển cho người nhận. Với những ứng dụng này thì yêu cầu đảm bảo độ an toàn cao cho các thuỷ vân tránh sự xoá dấu vết trong khi phân phối.
- Kiểm soát sao chép (copy control)
Điều mong muốn đối với các hệ thống phân phối dữ liệu đa phương tiện là tồn tại một kỹ thuật chống sao chép trái phép dữ liệu. Có thể sử dụng thuỷ vân để chỉ trạng thái sao chép của dữ liệu. Các thuỷ vân trong trường hợp này được sử dụng để kiểm soát sao chép đối với các thông tin. Các thiết bị phát hiện ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc - ghi. Ví dụ như hệ thống quản lý sao chép DVD đã được ứng dụng ở Nhật. Thuỷ vân mang các giá trị chỉ trạng thái cho phép sao chép dữ liệu như “không được sao chép” (copy never) hay “chỉ được sao chép một lần” (copy once), sau khi copy xong, bộ đọc - ghi thuỷ vân sẽ ghi thuỷ vân mới chỉ trạng thái mới lên DVD. Các ứng dụng loại này cũng yêu cầu thuỷ vân phải được đảm bảo an toàn và cũng sử dụng được phương pháp phát hiện thuỷ vân đã giấu mà không cần thông tin gốc.
- Giấu tin mật (steganography)
Các thông tin có thể giấu được trong những trường hợp này càng nhiều càng tốt sao cho vẫn đảm bảo yêu cầu là không thể phát hiện được. Việc giải mã để lấy được thông tin cũng không cần phương tiện mang gốc ban đầu. Các yêu cầu về chống tấn công của đối phương không cần cao lắm, thay vào đó là yêu cầu thông tin giấu phải được bảo mật.
Kỹ thuật giấu thông tin đang được áp dụng cho nhiều loại đối tượng chứ không riêng gì dữ liệu đa phương tiện như ảnh, audio, video. Gần đây, đã có một số nghiên cứu giấu tin trong cơ sở dữ liệu quan hệ.
Trong bài báo tiếp theo chúng tôi sẽ trình bày về kỹ thuật phát hiện ảnh có chứa thông tin ẩn hay không...
Data hiding: Là thuật ngữ chỉ kỹ thuật giấu thông tin nói chung bao gồm cả giấu tin mật và thuỷ vân số.
Steganography: Chỉ kỹ thuật giấu thông tin mật trong một đối tượng.
Watermarking: Thuỷ vân số, chỉ những kỹ thuật giấu thông tin dùng để bảo vệ vật chứa thông tin giấu.
Phương tiện chứa (host signal): Là phương tiện gốc được dùng để nhúng thông tin. Giấu thông tin trong ảnh thì nó mang tên ảnh chứa, còn trong audio là audio chứa… và ta cũng gọi phương tiện chứa là môi trường.
Thông tin giấu (embeded data): Là lượng thông tin được nhúng vào trong phương tiện chứa. Trong giấu thông tin mật Steganography, thông tin giấu được gọi là thông điệp giấu (message) còn trong kỹ thuật thuỷ vân số thì thông tin giấu được gọi là thuỷ vân (watermark).