2.1.1. Khái niệm thủy vân
a. Khái niệm thủy vân
Thủy vân là kỹ thuật nhúng “dấu ấn số” (watermark – tin giấu) vào một sản phẩm số (text, image, audio, video), mà tin giấu này có thể được phát hiện và tách ra sau đó, nhằm chứng thực (đánh dấu, xác thực) nguồn gốc hay chủ sở hữu của sản phầm số này.
Một ví dụ đơn giản của thủy vân số là một dấu hiệu (như chữ ký) trên một bức ảnh để chứng thực nguồn gốc và chủ sở hữu của bức ảnh đó.
b. So sánh thủy vân với giấu tin
Mặc dù thủy vân (watermarking) và giấu tin (steganography) cùng nằm trong lĩnh vực nghiên cứu nhằm che dấu đi sự hiện diện của thông tin nhưng chúng có một số đặc điểm khác biệt:
Giấu tin Thủy vân
- Mục đích là bảo vệ thông tin được giấu.
- Giấu được càng nhiều thông tin càng tốt, ứng dụng trong truyền dữ liệu thông tin mật.
- Thông tin được giấu phải ẩn, không cho người khác thấy được bằng mắt thường.
- Chỉ tiêu quan trọng nhất là dung lượng của tin được giấu.
- Mục đích là bảo vệ môi trường giấu tin.
- Chỉ cần thông tin đủ để đặc trưng cho bản quyền của chủ sở hữu.
- Thông tin giấu có thể ẩn (invisible watermarking) hoặc hiện (visible watermarking).
- Chỉ tiêu quan trọng nhất là tính bền vững của tin được giấu.
23
2.1.2. Nguồn gốc thủy vân
Thủy vân trên giấy (paper watermark): Thủy vân trên giấy xuất hiện trong ngành sản xuất giấy cách đây hơn 700 năm. Thủy vân trên giấy (paper watermark) đầu tiên được tìm thấy có nguồn gốc từ Fabriano, Italy.
Hình 2.1 - Một trong những thủy vân trên giấy đầu tiên
Cuối thế kỷ 13, Fabriano có 40 xưởng sản xuất giấy với kiểu dáng, kích thước, chất lượng và giá cả khác nhau, người mua rất dễ bị nhầm lẫn. Vào thời gian đó, các xưởng sản xuất giấy chỉ sản xuất được giấy sống (raw paper) với bề mặt rất sần sùi và chưa thể làm giấy viết được. Giấy sống này sẽ được chuyển cho các thợ thủ công, những người sẽ làm phẳng, làm nhẵn bề mặt giấy sống bằng các viền đỏ cứng gọi là máy cán là (calender). Sau khi đã được làm phẳng, các giấy này có thể sử dụng cho việc viết chữ lên đó. Giấy này sẽ được bán cho các thương gia, họ sẽ cất giữ chúng trong các kho hàng lớn, sau đó bán lại cho những khách hàng với lợi nhuận rất cao.
Sự cạnh tranh không chỉ của 40 xưởng sản xuất giấy mà còn giữa thợ thủ công và thương gia là rất lớn, điều này làm cho thị trường giấy trở nên khá
24
lộn xộn, người mua rất dễ bị nhầm lẫn sản phẩm của các xưởng sản xuất vì không có dấu hiệu nào để nhận biết. Vì vậy, các xưởng giấy đã nghĩ ra phải đánh dấu giấy của xưởng mình bằng dấu hiệu nào đó. Thủy vân trên giấy ra đời, và đã giải quyết rất tốt sự lộn xộn này. Sau khi ra đời, thủy vân giấy nhanh chóng được sử dụng rộng rãi khắp Italy, sau đó là châu Âu. Ban đầu, thủy vân chỉ là nhãn hiệu hay tên của xưởng sản xuất giấy, sau đó, các thủy vân này như một dấu hiệu nói lên chất lượng giấy. Xa hơn, thủy vân được sử dụng với ý nghĩa nói lên ngày sản xuất và tác giả, một dạng sơ khai của chứng nhận bản quyền.
Khái niệm thủy vân cũng xuất phát từ khái niệm thủy vân trên giấy. Tuy nhiên, thật khó để nói chính xác khi nào khái niệm “thủy vân ” (digital watermarking) bắt đầu được nói đến. Năm 1979, Szepanski mô tả một mẫu thông tin số có thể nhúng vào tài liệu nhằm mục đích chống giả mạo. Chín năm sau, Holt và các đồng nghiệp mô tả một phương pháp để nhúng mã định danh vào tín hiệu âm thanh. Tuy nhiên, mãi đến năm 1988, Komatsu và Tominaga mới lần đầu tiên sử dụng cụm từ “digital watermark”. Nhưng phải đến đầu những năm 90 thì thủy vân với thực sự nhận được sự quan tâm của công chúng.
25
Hình 2.2 - Số lượng các paper về thủy vân số qua các năm
Về bản chất, thủy vân cũng giống như thủy vân trên giấy – dùng để chứng thực quyền sở hữu về một sản phẩm nào đó – nhưng thay vì thủy vân trên các sản phẩm thực, thủy vân nhúng các dấu hiệu chứng thực bản quyền lên các tài liệu số. Qua các năm, thủy vân ngày càng được quan tâm nhiều hơn, với số lượng các bài báo, tài liệu tăng nhanh chóng. Hiện nay, thủy vân số đó có những vai trò quan trọng và được sử dụng trong nhiều ứng dụng khác nhau, đặc biệt là trong việc bảo vệ bản quyền.
2.1.3. Phân loại thủy vân
Có rất nhiều cách phân loại thủy vân khác nhau:
Theo khả năng cảm nhận:
Thủy vân hữu hình (Visible/Perceptible Watermarking): Có thể nhìn thấy thông tin được giấu. Trong một số trường hợp, chủ sở hữu
26
muốn người khác nhìn thấy ngay thủy vân họ nhúng vào ảnh, để chứng nhận bản quyền. Ví dụ nhãn sản phẩm có logo của công ty.
Thủy vân vô hình (Invisible Watermarking): Không thể nhìn thấy thông tin được giấu bằng mắt thường. Trường hợp này, chủ sở hữu không muốn thủy vân làm ảnh hưởng đến bức ảnh, thủy vân sẽ khó có thể nhìn thấy bằng mắt thường, chỉ được tách ra khỏi ảnh khi cần thiết, như để chứng thực bản quyền của bức ảnh.
Theo tính bền vững:
Thủy vân bền vững (Robust watermarking): Thủy vân nhúng theo phương pháp này rất khó phá hủy. Việc tấn công thủy vân trong trường hợp này sẽ làm suy giảm nghiêm trọng chất lượng thông tin. Nói một cách dễ hiệu, nếu tháo thủy vân cũng đồng nghĩa với việc phá hủy ảnh mang thủy vân.
Thủy vân dễ vỡ (Fragile watermarking): Loại này nhằm đảm bảo tính toàn vẹn cho nội dung thông tin. Bất kỳ một sự thay đổi nhỏ nào cũng có thể làm hỏng thủy vân.
Thủy vân bán dễ vỡ (Semi-fragile watermarking): Nói cách dễ hiểu là loại thủy vân này sẽ tự phá hủy trong trường hợp bị tấn công. Ví dụ: Một ảnh có chứa một thủy vân, nhưng khi tấn công không hợp lý thì thủy vân này sẽ bị phá hủy vĩnh viễn, và không thể khôi phục.
Theo khuynh hướng tiếp cận:
Miền không gian (Spatial domain): nhúng thủy vân theo miền không gian.
Miền tần số (Frequency domain): nhúng thủy vân theo miền tần số.
Theo tính phụ thuộc ảnh:
Phụ thuộc ảnh (Image-adaptive): Các phương pháp nhúng thủy vân theo loại này phụ thuộc vào định dạng ảnh. Nó có hạn chế là thông tin giấu rất dễ bị tổn hại bởi các phép biến đổi ảnh.
27
Không phụ thuộc ảnh (Image-independent): Các phương pháp nhúng thủy vân trong loại này lợi dụng việc biến đổi ảnh để giấu tin vào trong đó, ví dụ giấu vào các hệ số biến đổi. Nhóm này có nhiều ưu điểm hơn nhóm phụ thuộc ảnh về tính bền vững, nhưng cài đặt sẽ phức tạp hơn. 2.1.4. Ứng dụng của thủy vân
a.Bảo vệ bản quyền (copyright protection)
Đây là ứng dụng cơ bản nhất của thủy vân. Một thông tin để chứng minh quyền sở hữu của tác giả (gọi là thủy vân) sẽ được nhúng vào các tài liệu số trước khi các tài liệu này được đưa lên mạng. Thủy vân này chỉ có người sở hữu các sản phẩm có và được sử dụng làm minh chứng bản quyền của sản phẩm. Yêu cầu quan trọng với ứng dụng này là tính bền vững của thủy vân, để người khác khó có thể gỡ chúng ra khỏi các sản phẩm số.
a. Ảnh ban đầu b.Sau khi nhúng thủy vân
Hình 2.3 - Trước và sau khi nhúng thủy vân
28
b.Xác thực thông tin hay phát hiện xuyên tạc thông tin
Thủy vân có thể được dùng để xác thực thông tin hay phát hiện giả mạo. Thủy vân được dùng để kiểm tra xem ảnh là nguyên gốc hay đã chịu sự tác động bằng các phép xử lý ảnh. Người ta thường dùng phương pháp thủy vân dễ vỡ (fragile watermarking) để nhúng thông tin vào ảnh. Nếu ảnh bị tác động bằng các phép xử lý ảnh, thủy vân sẽ không còn nguyên vẹn.
(a) Clinton và Hillary (b) Clinton và Monica Hình 2.5 - Khó phân biệt ảnh nào là giả bằng mắt thường
c. Dán nhãn (labeling)
Hình 2.6 - Minh họa một ảnh được nhúng thủy vân khác nhau
… W1 W2 WN N khách hàng … + ảnh gốc Wi (i = {1,2,…,N}) là chữ ký khách hàng thứ i
29
Trong ứng dụng này, thủy vân được dùng để nhận diện người gửi hay người nhận thông tin. Ví dụ với trường hợp nhận diện người nhận: Một bức ảnh ban đầu bán cho các khách hàng khác nhau. Nó sẽ được nhúng thủy vân là chữ ký của từng khách hàng tương ứng. Sau đó, ảnh được chuyển cho các khách hàng. Mỗi khách hàng có thể kiểm tra thủy vân trong ảnh để chắc chắn ảnh đó chuyển cho mình.
d.Điều khiển truy cập
Một ví dụ là trường hợp khách hàng sử dụng các dịch vụ truyền hình, như trả tiền cho các kênh truyền hình hay hoặc mua các đĩa phim mới. Mỗi khách hàng sẽ có một set-top box và một thẻ thông minh (smart card), các thiết bị này sẽ có định danh duy nhất, đại diện cho khách hàng. Để ngăn chặn những người sử dụng dịch vụ mà không trả tiền, nhà cung cấp dịch vụ sẽ mã hóa dữ liệu sử dụng các khóa trước khi chuyển đến cho khách hàng. Khi smart card của khách hàng còn hiệu lực, set-top sẽ giải mã dữ liệu chuyển đến. Sau đó, nó nhúng thủy vân là định danh của người dùng vào dữ liệu đó. Quá trình ấy được gọi là ghi dấu vân tay (fingerprinting). Dữ liệu sau khi đã được ghi dấu vân tay sẽ được sử dụng bình thường. Nếu một khách hàng nào đó cố tình cho người khác sử dụng trái phép những dữ liệu ấy, nhà cung cấp dịch vụ sẽ biết điều đó và ngăn chặn hoặc xử phạt.
e. Điều khiển sao chép
Tất cả các ứng dụng của thủy vân trình bày ở trên chỉ có tác dụng sau khi người dùng đã làm sai. Ví dụ khi có sự vi phạm bản quyền xảy ra, thì mới dùng thủy vân để xác định chính xác ai là chủ sở hữu thực sự, hoặc sau khi một bức ảnh đã bị thay đổi mới dùng thủy vân để xác định bức ảnh nào là giả mạo,… Ứng dụng điều khiển sao chép có tác dụng ngăn chặn hành động sai, cụ thể là ngăn chặn việc sao chép trái phép các nội dung có bản quyền. Ví dụ như hệ thống quản lý sao chép DVD. Các thiết bị phát hiện thủy vân sẽ được
30
tích hợp vào thiết bị đọc ghi DVD. Khi muốn sao chép DVD, phải có sự đồng ý của chủ sở hữu.
2.2. MÔ HÌNH THỦY VÂN 2.2.1. Quy trình thủy vân 2.2.1. Quy trình thủy vân
Hình 2.7 – Quy trình thủy vân
a.Tạo thủy vân
Thủy vân phổ biến là dạng text hoặc dạng ảnh. Thủy vân có thể được biến đổi (mã hóa, chuyển đổi định dạng) trước khi nhúng vào ảnh. Các thuật toán nhúng thủy vân là một ảnh (ví dụ logo) được gọi là các thuật toán thủy vân hợp nhất ảnh.
Trong thực tế, để đảm bảo tính an toàn, thủy vân sẽ được nén để giảm dung lượng và hạn chế các mẫu dữ liệu đặc biệt trong thông tin ban đầu. Sau đó, thủy vân đó được nén sẽ được mã hóa bằng một phương pháp mã hóa có độ an toàn cao (thường sử dụng phương pháp mã hóa khóa bất đối xứng). Khóa bí mật được sử dụng trong quá trình mã hóa thủy vân sẽ được mã hóa bằng phương pháp mã hóa bất đối xứng sử dụng khóa công khai của người nhận.
31
Thủy vân – bao gồm thông tin mật đã được mã hóa cùng với khóa đó được mã hóa – được nhúng vào ảnh mang và gửi cho người nhận.
b.Nhúng thủy vân
Thủy vân có thể nhúng trực tiếp vào ảnh hay vào miền biến đổi của ảnh. Đối với ứng dụng bảo vệ bản quyền thì việc nhúng thủy vân vào miền biến đổi ảnh là cần thiết, để đảm bảo thủy vân bền vững trước các tác động đến ảnh như nén ảnh. Các thuật toán biến đổi ảnh phổ biến hiện này là: Biến đổi Fourier rời rạc (DFT – Discrete Fourier Transform), biến đổi Cosine rời rạc (DCT – Discrete Cosine Transform) và biến đổi sóng rời rạc (DWT – Discrete Wavelet Transform). Trong đó, biến đổi được sử dụng nhiều nhất là DCT, vì đây là bước tiền xử lý quan trọng của nén JPEG, một chuẩn nén ảnh thông dụng nhất hiện nay.
Để đảm bảo sự thay đổi là ít nhất với ảnh mang, thủy vân thường được nhúng vào miền tần số giữa của ảnh sau khi biến đổi. Nguyên nhân là do các thành phần tần số thấp rất nhạy cảm với các thay đổi, nếu nhúng thủy vân vào miền tần số này rất dễ bị phát hiện. Trong khi đó, thành phần tần số cao thường bị loại bỏ trong quá trình nén ảnh do không làm giảm chất lượng ảnh, nếu nhúng thủy vân vào miền tần số cao sẽ rất dễ bị mất khi nén ảnh. Do đó, nhúng thủy vân vào miền tần số giữa của ảnh mang là thích hợp nhất.
Để đảm bảo chất lượng ảnh mang cũng như tính ẩn của thủy vân, người ta cũng sử dụng những tính chất của hệ thống thị giác người (HVS – Human Visual System) để áp dụng trong quá trình nhúng thủy vân. Một số đặc điểm của HVS:
Tương phản: Mắt người nhạy cảm với sự có mặt của một tín hiệu trong một tín hiệu khác.
Tần số: Mắt người đặc biệt nhạy cảm với tần số thấp.
Độ chói: Sự thay đổi với các giá trị độ chói cao hay thấp rất dễ bị phát hiện.
32
Vùng góc cạnh hoặc có cấu trúc: Hệ thống thị giác người ít nhận biết sự thay đổi trên các vùng này hơn là các vùng nhẵn, phẳng.
c. Phát hiện thủy vân và tách thủy vân
Khi nhận được một bức ảnh, nếu chưa biết chắc ảnh có thủy vân hay không, thì công việc đầu tiên là xác định xem trong ảnh có thủy vân hay không. Nếu khẳng định được trong ảnh có thủy vân thì mới nghĩ đến chuyện xác định xem thủy vân đó là gì.
Để so sánh sự giống nhau giữa ảnh gốc và ảnh “nghi ngờ có thủy vân”, người ta thường dùng hai tiêu chuẩn sau đây:
Tỷ số của tín hiệu nhọn với nhiễu – PSNR (Peak Signal to Noise Ratio) dB MSE PSNR 2 10 255 log . 10
với MSE là sai số bình phương trung bình (mean square error). Với ảnh kích thước MxN, MSE được tính theo công thức sau:
1 1 2 0 0 1 ( ( , ) '( , )) * M N i j MSE W i j W i j M N Trong đó:
W(i, j) – giá trị màu của điểm ảnh tại vị trí (i, j) của ảnh ban đầu.
W’(i,j) – giá trị màu của điểm ảnh tại vị trí (i, j) của ảnh đang tách thủy vân.
Hệ số tương quan chuẩn – NC (Normalized Correlation)
1 0 1 0 2 1 0 1 0 )) , ( ( ) , ( ' ). , ( M i N j M i N j j i W j i W j i W NC
Câu trả lời về sự tồn tại của thủy vân có thể được xác định bằng một ngưỡng τ, nếu NC > τ thì tìm thấy thủy vân, ngược lại thì khẳng định ảnh không có thủy vân.
33
Để tách thủy vân ra khỏi ảnh mang, ta dựng khóa K trong quá trình nhúng và ảnh đó nhúng thủy vân. Việc tách thủy vân tùy vào loại thủy vân, có thể cần dùng ảnh gốc (non-blind watermarking) hay không cần dùng ảnh gốc (blind watermarking). Quy trình tách thủy vân ngược với quy trình nhúng thủy vân.
d.Giải mã
Trong trường hợp thủy vân là thông tin hiểu được (ảnh logo hay thông điệp không mã hóa) thì tách thủy vân ra khỏi ảnh mang là chúng ta đã hoàn thành.
Nhưng nếu thủy vân đó được mã hóa trước khi được nhúng thì việc giải mã là cần thiết. Trong trường hợp này, thủy vân gồm thông tin mật đã được mã hóa và khóa đó được mã hóa, chúng sẽ được phân tách. Sau đó, khóa được giải mã, và dùng khóa này để giải mã thông điệp mã hóa, thu thông điệp gốc. 2.2.2. Các yêu cầu với thủy vân
Tùy theo mỗi loại thủy vân, các yêu cầu với chúng cũng có một số điểm