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 khác biệt:
a.Tính bền vững
Nhìn chung, một thủy vân phải bền vững với các phép biến đổi như chuyển đổi tín hiệu A/D (analog to digital – tín hiệu tương tự sang tín hiệu số) và D/A, các phép nén mất dữ liệu, in, quét, nhiễu trên đường truyền. Với ảnh nói riêng, thủy vân phải bền vững với các phép biến đổi hình học như phép dịch chuyển, co dãn, hoặc cắt xén. Phương pháp thủy vân số phải đảm bảo sao cho việc không lấy lại được thủy vân tương đương với việc ảnh đã bị biến đổi quá nhiều, không có giá trị thương mại.
b.Tính ẩn
Việc nhúng thông tin vào ảnh sẽ làm biến đổi ảnh ít hay nhiều. Tính ẩn (trong loại thủy vân ẩn - invisible watermarking) yêu cầu sự biến đổi ảnh mang là nhỏ nhất có thể. Với các phương pháp thủy vân tốt sẽ làm cho thông
34
tin được nhúng trở nên vô hình trong ảnh mang, theo nghĩa là người dùng khó có thể nhận ra trong bức ảnh có giấu thông tin bằng mắt thường. Điều này có nghĩa là thủy vân làm ảnh hưởng rất ít đến chất lượng ảnh mang.
Trái với thủy vân ẩn, thủy vân hiện (visible watermarking) không cần tính chất ẩn đối với thủy vân được nhúng. Thực tế, loại thủy vân này yêu cầu thông tin nhúng vào ảnh phải được nhìn thấy để bảo vệ bản quyền.
c. Sự sửa đổi ảnh mang
Sự sửa đổi ảnh mang là một tiêu chí quan trọng quyết định đến chất lượng của việc thủy vân số, mà trực tiếp là tính ẩn của thủy vân. Thủy vân phải đảm bảo việc gây ra ít sự thay đổi cho ảnh mang nhất, nghĩa là số lượng các pixel cần sửa là nhỏ nhất. Các kỹ thuật thủy vân tốt sẽ đảm bảo việc sửa đổi ảnh mang là ít nhất có thể, từ đó đảm bảo tính ẩn của thủy vân, xa hơn là tính bền vững và toàn vẹn dữ liệu, vì nếu khó nhận biết trong ảnh có thủy vân hay không sẽ đảm bảo thủy vân ấy an toàn hơn, giảm bớt sự phá hoại của kẻ gian.
d.Đảm bảo toàn vẹn dữ liệu
Thông thường, ảnh sau khi đó nhúng thủy vân, nếu không gặp sự thay đổi nào, khi muốn lấy thủy vân ở các bức ảnh đó, thường sẽ rất dễ dàng và thủy vân được lấy ra cũng đúng với thủy vân gốc.
e. Tính an toàn của thủy vân
Thông thường, thủy vân sau khi được tách ra khỏi ảnh là có thể hiểu ngay ý nghĩa của nó. Tuy nhiên, trên thực tế, để đảm bảo tính an toàn của thông tin ấy, các thuật toán mã hóa dữ liệu sẽ được áp dụng. Thủy vân sau khi được tạo ra, sẽ được mã hóa trước khi nhúng vào ảnh. Như vậy, khi tách thủy vân, ta cần thực hiện thêm bước giải mã để có thể hiểu được ý nghĩa của thủy vân ấy.
35
f. Dung lượng thông tin giấu
Đối với giấu tin, chỉ tiêu này gần như là quan trọng nhất vì mục đích của giấu tin là giấu được càng nhiều thông tin càng tốt. Tuy nhiên, đối với thủy vân, chỉ cần một lượng thông tin vừa đủ, chẳng hạn để chứng thực bản quyền, nhúng vào ảnh mang.
g.Tính hiệu quả của thuật toán thủy vân
Tính hiệu quả của thuật toán thủy vân cũng là một chỉ tiêu quan trọng đánh giá chất lượng của một phương pháp thủy vân số trong ảnh. Chỉ tiêu này đề cập đến tài nguyên (thời gian và bộ nhớ) cần thiết dùng để thực hiện phương pháp ấy.
Với chủ sở hữu, thời gian thực hiện thuật toán thủy vân phải đủ nhanh. Ngược lại, với kẻ gian, bài toán tách hoặc sửa đổi thủy vân phải là bài toán khó, như thế mới đảm bảo tính bền vững của thủy vân được giấu, từ đó mới đảm bảo bản quyền cho bức ảnh.
2.2.3. Các khuynh hướng tiếp cận của kỹ thuật thủy vân
a.Hướng tiếp cận theo miền không gian ảnh
Đây là hướng tiếp cận cơ bản và tự nhiên nhất của các kỹ thuật thủy vân. Miền không gian ảnh (spatial domain) là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh chính là tác động lên điểm ảnh, thay đổi trực tiếp giá trị của điểm ảnh. Hướng tiếp cận này rất tự nhiên vì khi nghĩ đến việc giấu tin trong ảnh, người ta nghĩ ngay đến việc thay đổi giá trị các điểm ảnh để giấu tin. Một phương pháp phổ biến trong hướng tiếp cận này là phương pháp thay thế bit ít quan trọng nhất LSB (Least Significant Bit).
Hạn chế của các phương pháp theo hướng tiếp cận này là không đảm bảo được tính bền vững của thủy vân. Nguyên nhân là do thủy vân được giấu trực tiếp trong các điểm ảnh, khi ảnh bị biến đổi bởi phép xử lý ảnh nào đó hoặc phép nén ảnh thì thủy vân sẽ bị sai lệch. Một hạn chế nữa là nếu thuật toán sử
36
dụng để nhúng thủy vân bị lộ thì thủy vân sẽ dễ dàng được lấy ra và sửa đổi