Lược đồ thủy vân dễ vỡ trên đây được thiết kế dựa vào việc chia các bộ của quan hệ thành các nhĩm, trong đĩ thứ tự của các bộ trong mỗi nhĩm xác định một thủy vân duy nhất nhúng trong nhĩm này. Vì vậy, khả năng khoanh vùng các giả mạo trong một nhĩm là tương đối lớn. Trong mục này, tơi phân tích để tìm ra xác suất khoanh vùng chính xác các giả mạo trong các nhĩm phù hợp. Trong khuơn khổ của đề tài này, tơi xem xét ba loại thay đổi đơn giản: thay đổi một giá trị thuộc tính, thêm một bộ dữ liệu, và xĩa một bộ dữ
liệu. Để đơn giản, tơi giả định rằng mỗi nhĩm bao gồm đúng v bộ, vì vậy độ dài của mỗi thủy vân được nhúng W là [v/2].
Trong các phân tích sau đây, tơi giả định là cĩ một hàm băm HASH với một dữ liệu vào thì sẽ cho một dữ liệu ra và bất kỳ thay đổi nào trong đầu vào sẽ làm thay đổi ngẫu nhiên kết quả đầu ra. Nghĩa là mỗi bit của đầu ra đều cĩ thể bị thay đổi hoặc khơng bị thay đổi với xác suất bằng nhau khi đầu vào cĩ bất kỳ một thay đổi nào.
2.3.1. Thay đổi một giá trị thuộc tính
Giả sử cĩ một giá trị thuộc tính bị thay đổi trong quan hệ đã được thủy vân. Nếu giá trị bị thay đổi này khơng thuộc vào thuộc tính khĩa chính thì việc thay đổi này sẽ khơng làm ảnh hưởng đến giá trị hash của khĩa chính cũng như việc chia nhĩm trong thuật tốn phát hiện thủy vân. Khơng mất tổng quát, ta cĩ thể giả sử rằng ri.Aj (thuộc tính thứ j của bộ thứ i) là giá trị thuộc tính bị thay đổi trong một nhĩm nào đĩ. Thay đổi này sẽ ảnh hưởng đến giá trị hash hi của bộ dữ liệu ri, giá trị hash H của nhĩm và thủy vân đã nhúng W. Sau sự thay đổi này, xác suất để mỗi bit của thủy vân gốc W trùng với bit
tương ứng của thủy vân W* phát hiện được trong nhĩm là như nhau. Vì vậy,
gọi PMNKA là xác suất cĩ thể phát hiện chính xác cĩ thay đổi trong nhĩm (tức là W ≠ W*) khi một giá trị thuộc tính khơng thuộc khĩa chính (NKA), ta cĩ:
2/ / 2 1 1 v MNKA P (2.1)
Bây giờ, xét trường hợp giá trị bị thay đổi là giá trị khĩa chính ri.P.
Việc thay đổi giá trị khĩa chính sẽ dẫn đến sự thay đổi ngẫu nhiên của giá trị hash Hi. Do đĩ, xác suất để bộ dữ liệu ri vẫn tồn tại trong nhĩm cũ là 1/g và xác suất bị chuyển sang một trong những nhĩm khác là (1–1/g) sau thay đổi này. Nếu trường hợp sau xảy ra thì sẽ cĩ 2 nhĩm bị ảnh hưởng bởi thay đổi này. Gọi PKA là xác suất để phát hiện được thay đổi giá trị của thuộc tính khĩa
(KA) (tức là tất cả các nhĩm bị ảnh hưởng sẽ được khoanh vùng khi xác minh thủy vân), ta cĩ: ) 2 1 1 )( 2 1 1 ( 1 ) 2 1 1 ( 1 2 / ) 1 ( 2 / ) 1 ( 2 / v v v MKA g g g P (2.2)
Rõ ràng là xác suất phát hiện được những thay đổi trong trường hợp này nhỏ hơn trong trường hợp giá trị bị thay đổi khơng phải là khĩa chính. Lý do là bộ dữ liệu cĩ khĩa chính bị thay đổi cĩ thể sẽ được chuyển từ một nhĩm này sang một nhĩm khác và do đĩ sẽ ảnh hưởng đến cả hai nhĩm này.
Từ (2.1) ta thấy rằng tỷ lệ xác minh nhầm (tức là khơng cĩ giả mạo nhưng lại xác minh là cĩ) trong trường hợp thứ nhất chỉ là 1/2v/2
. Tỷ lệ này chỉ phụ thuộc vào số các bộ trung bình trong một nhĩm và rất nhỏ khi số bộ trong một nhĩm tương đối lớn.
Từ (2.2) ta thấy tỷ lệ xác minh nhầm phụ thuộc nhiều vào số nhĩm được chia ra của quan hệ. Tỷ lệ này phụ thuộc chủ yếu vào số hạng thứ hai
của PMKA vì (g – 1)/g xấp xỉ bằng 1 khi g khơng quá nhỏ. Trong trường hợp
như vậy thì tỷ lệ xác minh nhầm xấp xỉ là 1/g. Tức là nếu g cĩ giá trị bằng 10 trở lên thì tỷ lệ nhầm chỉ là 10% mà thơi.
2.3.2. Thêm một bộ dữ liệu
Giả sử một bộ được thêm vào quan hệ đã nhúng thủy vân. Bộ dữ liệu được thêm sẽ được chia vào một trong g nhĩm khi phát hiện thủy vân. Bộ dữ liệu được thêm vào này sẽ ảnh hưởng đến giá trị hash của nhĩm cũng như thủy vân đã nhúng vào nhĩm này một cách ngẫu nhiên. Gọi PI là xác suất phát hiện được cĩ một bộ dữ liệu được chèn vào một bộ (tức là thuật tốn xác minh thủy vân cho ra kết quả là false đối với nhĩm bị ảnh hưởng), ta cĩ:
( 1)/2 2 1 1 v I P (2.3)
2.3.3. Xĩa một bộ dữ liệu
Giả sử một bộ dữ liệu bị xĩa trong quan hệ đã thủy vân. Như vậy chỉ cĩ đúng một nhĩm bị mất một bộ khi phát hiện thủy vân. Sự vắng mặt của bộ dữ liệu bị xĩa trong nhĩm sẽ ảnh hưởng ngẫu nhiên đến giá trị hash của nhĩm cùng với thủy vân đã nhúng. Gọi PD là xác suất phát hiện được cĩ việc xĩa
một bộ dữ liệu trong nhĩm (tức là việc xác minh thủy vân cho ra kết quả false đối với nhĩm bị ảnh hưởng), ta cĩ
( 1)/2 2 1 1 v D P (2.4)
Từ (2.3) và (2.4) cĩ thể thấy tỷ lệ xác nhận nhầm đối với trường hợp thêm một bộ, xĩa một bộ cũng xấp xỉ bằng tỷ lệ xác nhận nhầm khi sửa một giá trị thuộc tính khơng khĩa.
2.3.4. Một số lưu ý về kích thước nhĩm
Kích thước nhĩm v là một tham số rất quan trọng trong lược đồ thủy
vân. Nĩ quyết định một phần cách thức chia nhĩm của các bộ. Nếu kẻ giả mạo biết kích thước của nhĩm cùng với những đốn biết về khĩa bí mật K thì rất đơn giản, anh ta chỉ việc xĩa tất cả các bộ trong một nhĩm, lược đồ của chúng ta sẽ khơng thể phát hiện được các thay đổi kiểu này. Vì vậy, để ngăn chặn sự phá hoại kiểu này, ta phải giữ kích thước nhĩm v hoặc/và khĩa nhúng thủy vân K một cách an tồn tuyệt đối để cho kẻ tấn cơng khơng thể biết gì về thơng tin chia nhĩm đã sử dụng để nhúng thủy vân.
Độ dài của mỗi thủy vân bằng một nửa kích thước của nhĩm. Một mặt, cỡ của nhĩm càng lớn thì xác suất phát hiện dữ liệu cĩ bị sửa khi xác minh thủy vân càng lớn, và lược đồ càng an tồn hơn. Nhưng mặt khác, kích thước nhĩm càng lớn, thì độ chính xác của việc khoanh vùng những chỗ bị sửa đổi càng thấp hơn bởi vì trong mỗi nhĩm cĩ nhiều bộ hơn. Bởi vậy, khi lựa chọn
kích thước nhĩm cần phải cĩ sự cân đối giữa độ an tồn khi xác minh thủy vân và độ chính xác của việc khoanh vùng các giả mạo.
Trong lược đồ thủy vân, kích thước nhĩm v được xác định bởi số các
nhĩm g và tổng số các bộ quan hệ cần bảo vệ. Với v cho trước thì g càng lớn, xác suất phát hiện giả mạo sẽ càng nhỏ. Nếu g quá lớn thì cĩ thể gộp một số nhĩm lại thành một nhĩm lớn hơn, sau đĩ áp dụng thuật tốn phát hiện thủy vân cho mỗi nhĩm mới này. Sở dĩ chúng ta làm như vậy là do muốn giảm g
mà khơng muốn thay đổi v để xác suất phát hiện giả mạo là đủ lớn trong mỗi nhĩm mới.
2.3.5. Ưu điểm và nhược điểm của lược đồ thủy vân 2.3.5.1. Ưu điểm của lược đồ thủy vân
Lược đồ thủy vân cĩ một số ưu điểm như sau:
- Là lược đồ xác định sự tồn vẹn của cơ sở dữ liệu quan hệ. - Khơng làm thay đổi dữ liệu của cơ sở dữ liệu quan hệ. - Khoanh vùng được các xuyên tạc hoặc thay đổi.
2.3.5.2. Nhược điểm của lược đồ thủy vân
Bên cạnh những ưu điểm, lược đồ thủy vân vẫn cịn tồn tại một số nhược điểm sau:
- Với các cơ sở dữ liệu sắp thứ tự cĩ ý nghĩa khơng sử dụng được. - Chưa khơi phục được các thay đổi trong cơ sở dữ liệu
2.3.6. Cân đối giữa số nhĩm và kích thước của quan hệ
Trong quá trình thực hiện lược đồ thủy vân, việc lựa chọn số lượng nhĩm tiến hành thủy vân cĩ quan hệ với kích thước của cơ sở dữ liệu. Với quan hệ r cho trước, việc lựa chọn số lượng nhĩm trong lược đồ thủy vân sẽ quyết định số bộ trung bình của từng nhĩm.
Nếu số lượng nhĩm được chọn quá nhỏ thì số bộ trung bình trong từng nhĩm của quan hệ r sẽ lớn. Khi cĩ tấn vào quan hệ, quá trình phát hiện thủy
vân sẽ phát hiện ra các nhĩm bị thay đổi. Để tiếp tục sử dụng dữ liệu trong quan hệ thì cần loại bỏ các nhĩm bị phát hiện thay đổi. Vì số bộ trung bình của mỗi nhĩm lớn cho nên quan hệ sẽ loại đi rất nhiều bộ trong quan hệ. Việc này sẽ ảnh hưởng tới việc tiếp tục sử dụng dữ liệu của quan hệ.
Ngược lại, nếu lựa chọn số lượng nhĩm quá lớn thì số bộ trung bình trong mỗi nhĩm quá nhỏ. Việc lựa chọn này ảnh hưởng tới việc sinh ra các thủy vân nhúng vào trong nhĩm. Từ đĩ, ảnh hưởng tới quá trình nhúng và phát hiện thủy vân khơng cịn được chính xác.
Vì vậy, việc lựa chọn số lượng nhĩm sử dụng cho lược đồ thủy vân ứng với quan hệ r cần phải phù hợp. Việc lựa chọn số lượng nhĩm phải đảm bảo sao cho việc tiếp tục sử dụng dữ liệu của quan hệ được tốt nhất đồng thời vẫn thỏa mãn lược đồ thủy vân hoạt động đúng.
Với kích thước của quan hệ xác định cĩ thể lựa chọn được số nhĩm phù hợp. Tuy nhiên, số nhĩm được sử dụng cho quan hệ r cĩ thể khơng phù hợp
với quan hệ r’ với kích thước khác. Vì vậy, cần xác định số lượng nhĩm được sử dụng ứng với từng kích thước khác nhau của các quan hệ. Với quan hệ cĩ kích thước nhỏ thì số lượng nhĩm được lựa chọn nhỏ. Với quan hệ cĩ kích thước lớn thì số nhĩm cũng cần lớn hơn cho phù hợp với kích thước dữ liệu của quan hệ.
Đánh giá mang tính chất lý thuyết vấn đề lựa chọn tham số g ứng với các quan hệ cĩ kích thước tăng dần (số bộ ω tăng dần). Trong đĩ, một số tiêu chí về khả năng tiếp tục sử dụng dữ liệu khi cĩ tấn cơng xảy ra, độ bền vững, chi phí tính tốn và chi phí bộ nhớ. Với việc lựa chọn tham số g tăng dần và các
quan hệ cĩ số bộ tăng dần phân tích sự ảnh hưởng tới các tiêu chí khác. Kết quả thu được thể hiện trong bảng 2.2
Bảng 2.2. Ảnh hưởng của tham số g và kích thước quan hệ
Các tham số Khả năng tiếp tục
sử dụng dữ liệu Độ bền vững Chi phí (thời gian) Chi phí (bộ nhớ) g 2.3.7. Tính đúng đắn
Trong phần này sẽ chứng minh tính đúng đắn của các thuật tốn đã đưa ra. Để chứng minh tính đúng đắn của định lý tơi đưa ra mệnh đề sau:
Mệnh đề 1: Nếu trong thuật tốn nhúng, một bộ thuộc vào nhĩm Gk
nào đĩ và giá trị khĩa chính của nĩ khơng bị thay đổi thì bộ này vẫn thuộc nhĩm Gk trong thuật tốn phát hiện thủy vân.
Chứng minh:
Giả sử cĩ một quan hệ cĩ bộ với một khĩa chính là P, thuộc tính và cĩ dữ liệu phân loại, ký hiệu là R(P, A1, A2,..., A). Xét bộ ri(p, a1, a2, …, a)
trong quan hệ R. Theo giả thiết, khĩa chính p khơng bị thay đổi khi quan hệ bị tấn cơng và chủ sở hữu quan hệ hoặc người cĩ thẩm quyền biết về khĩa bí mật K và số nhĩm phân chia g.
Trong thuật tốn nhúng thủy vân, ta cĩ: + Theo tính chất của hàm HASH
+ Hi = HASH (K, ri.p) chỉ phụ thuộc vào giá trị các tham số K và ri.p + Chỉ số nhĩm k = Hi mod g
ri ∈ Gk
Trong thuật tốn phát hiện thủy vân, theo giả thiết ta cĩ ri.p khơng thay
đổi và tham số K, g đã biết trước và khơng thay đổi. Khi đĩ: + Theo tính chất của hàm HASH
+ Mặt khác, việc xác định chỉ số nhĩm của ri theo cơng thức k = Hi mod g
+ Tham số g, K, ri.p khơng thay đổi ri ∈ Gk
Do đĩ, ri ∈ Gk trong cả hai thuật tốn nhúng và phát hiện thủy vân. Mà, ri là một bộ được chọn ngẫu nhiên trong quan hệ R. Vì vậy, ta cĩ điều phải
chứng minh.
Định lý: Nếu một quan hệ cĩ dữ liệu phân loại khơng bị giả mạo hoặc
xuyên tạc thì thủy vân đã nhúng vào quan hệ bằng thuật tốn 1 và thủy vân được trích ra từ quan hệ bằng thuật tốn 2 là như nhau.
Chứng minh:
Giả sử cĩ một quan hệ cĩ bộ với một khĩa chính là P, thuộc tính và cĩ dữ liệu phân loại, ký hiệu là R(P, A1, A2,..., A). Theo giả thiết, quan hệ khơng bị thay đổi. Vì vậy, theo mệnh đề 1 bộ được phân vào g nhĩm Gi (i = 1,
2,…, g) là giống nhau trong thuật tốn nhúng và phát hiện thủy vân.
Giả sử xét nhĩm Gk, cĩ qk bộ. W(W[1], W[2],…, W[qk/2]) là thủy vân
được sinh ra trong quá trình nhúng thủy vân, trong đĩ W[i] ={0,1}, i=1, 2, …, qk/2. W’(W’[1], W’[2],…, W’[qk/2]) là thủy vân được sinh ra trong quá
trình phát hiện thủy vân, trong đĩ W’[i] ={0,1}. W*(W*[1], W*[2],…, W*[qk/2]) là thủy vân được trích ra từ quan hệ trong thuật tốn phát hiện
thủy vân, trong đĩ W*[i] ={0,1}. Vì lược đồ thủy vân sử dụng duy nhất một
cách sắp thứ tự cho cả thuật tốn nhúng và phát hiện thủy vân cho nên các bộ
ri (i = 1, 2,…, qk) được sắp thứ tự như nhau trong phần nhúng và phát hiện thủy vân.
Trong phần nhúng, theo tính chất của hàm HASH, và cách tính: + hi = HASH (K, ri.A1, ri.A2,…, ri.A)
trong đĩ, h’j là giá trị hi sau khi sắp thứ tự. Sử dụng hàm ExtractBits với tham số đầu vào là giá trị của H ta sẽ sinh ra được chuỗi thủy vân nhúng W:
W = ExtractBits(H, qk/2)
Trong phần phát hiện, tương tự như trên ta cĩ: + h’i = HASH (K, ri.A1, ri.A2,…, ri.A)
+ H’ = HASH (K, h’1, h’2, ..., h’qk ) + W’ = ExtractBits(H’, qk/2)
+ Vì quan hệ khơng bị giả mạo hoặc xuyên tạc và cũng được sắp thứ tự như nhau cho nên các ri.Aj là khơng thay đổi trong phần
phát hiện.
h’i = hi i = 1, 2, …, qk H’ = H W’ = W (1)
Xét thuật tốn nhúng thủy vân:
If (hk1
<=hkj
and W[i] = =1) or (hk1
>hkj
and W[i] = = 0) then
đổi chỗ bộ rk1
và rkj
của quan hệ
Như vậy, ta xét các điều kiện để đổi chỗ bộ rk1
và rkj
:
+ hk1
<hkj
và W[i] =0 thì khơng đổi chỗ.
+ hk1
<hkj
và W[i] =1 thì đổi chỗ. Sau đổi chỗ thì hk1
>hkj
+ hk1
>=hkj
và W[i] =0 thì đổi chỗ. Sau đổi chỗ thì hk1
<=hkj
+ hk1
>=hkj
và W[i]=1 thì khơng đổi chỗ. hk1
>=hkj
thì W[i] = 1 và hk1
<hkj
thì W[i] = 0 (2)
Các bit W[i] của thủy vân W lần lượt được nhúng vào trong nhĩm Gk
bằng việc đổi chỗ các bộ trong quan hệ ban đầu như đã xét trong các trường hợp ở trên.
If hk1 <hkj then W*[i] = 0 (3) else W*[i] = 1 Từ (3) hk1 <hkj thì W*[i] = 0 và khi hk1 >=hkj thì W*[i] = 1 (4)
Từ (2), (4) và do quan hệ khơng bị thay đổi cho nên W*[i] = W[i]. Vì
W*[i], W[i] là bất kỳ nên W* = W. (5)
Lược đồ thủy vân thực hiện trên nhĩm Gk (k = 1, 2,…, g) và các nhĩm độc lập với nhau. (6)
Từ (1), (5) và (6), ta cĩ điều phải chứng minh. 2.3.8. Cân đối giữa số bộ và số nhĩm
Với lược đồ đề xuất ở trên, nếu cĩ một nhĩm bị phát hiện là giả mạo thì người ta cĩ thể loại nhĩm đĩ đi và các nhĩm khơng bị giả mạo sẽ tiếp tục