Tải bản đầy đủ (.pdf) (13 trang)

Bảo vệ bản quyền công khai cho các cơ sở dữ liệu quan hệ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (346.14 KB, 13 trang )

BẢO VỆ BẢN QUYỀN CÔNG KHAI
CHO CÁC CƠ SỞ DỮ LIỆU QUAN HỆ
Lưu Thị Bích Hương
1

Bùi Thế Hồng
2


Hiện nay, các kỹ thuật thủy vân đã được mở rộng từ các nội dung đa
phương tiện sang các cơ sở dữ liệu quan hệ để bảo vệ bản quyền dữ liệu thậm chí
sau khi dữ liệu đã được xuất bản hoặc phân phối. Tuy nhiên, tất cả những lược đồ
thủy vân cơ sở dữ liệu quan hệ đều dựa vào khóa bí mật vì thế đòi hỏi phải có một
khóa bí mật để minh chứng bản quyền. Điều đó có nghĩa là bản quyền chỉ có thể
được minh chứng và được công nhận trước công chúng (ví dụ trước tòa án).
Tuy nhiên, sau đó khóa bí mật này đã bị lộ và vì vậy, thủy vân đã nhúng sẽ
dễ dàng bị phá hủy bởi những kẻ tò mò. Ngoài ra, hầu hết các kỹ thuật thủy vân
hiện có đều làm sai lệch dữ liệu trong qui trình thủy vân, có thể là thay đổi các bit
ít ý nghĩa nhất hoặc thay đổi các giá trị thực. Những sai lệch này chắc chắn sẽ làm
giảm giá trị của dữ liệu. Vấn đề này đã được đề xuất trong bài báo [1]. Đó là lược
đồ thủy vân và với lược đồ này bất cứ ai cũng có thể chứng minh một cách công
khai bản quyền cơ sở dữ liệu. Dựa vào ý tưởng và các thuật toán của [1], chúng
tôi đã đưa ra một cải tiến nhằm đơn giản hóa cách chọn các bit MSBs, nhưng vẫn
chứng minh một cách công khai bản quyền dữ liệu bao nhiêu lần tùy ý. Lược đồ
của chúng tôi bền vững trước các tấn công điển hình bao gồm thêm hoặc xóa các
bộ hoặc các thuộc tính, thay đổi giá trị một cách ngẫu nhiên hoặc có lựa chọn.

1. Giới thiệu
Trong vài năm gần đây, các nhà nghiên cứu đã phát triển một số kỹ thuật thủy vân để bảo vệ
bản quyền các cơ sở dữ liệu quan hệ. Có một điểm chung của các kỹ thuật này là chúng đều dựa vào
một khóa bí mật trong thuật toán nhúng thủy vân và thuật toán phát hiện thủy vân. Nhờ vào khóa này,


người chủ của sản phẩm sẽ có thể chứng minh chủ quyền của mình đối với sản phẩm.
Một điểm chung nữa là quá trình thủy vân có làm thay dữ liệu bị sai lệch. Hầu hết các kỹ thuật
đều thay đổi các thuộc tính số trong khi các kỹ thuật khác lại hoán vị các giá trị phân loại. Những sai
lệch chỉ được thực hiện trong giới hạn sao cho tính khả dụng của dữ liệu đối với các ứng dụng nhất
định không bị ảnh hưởng và việc phát hiện thủy vân có thể thực hiện được ngay cả khi có những tấn
công thay đổi giá trị hoặc lựa chọn các bộ.
Hai đặc điểm nêu trên có thể ảnh hưởng nghiêm trọng đến tiềm năng ứng dụng của các kỹ thuật
thủy vân cơ sở dữ liệu quan hệ. Thứ nhất, cách tiếp cận dựa vào khóa bí mật là không phù hợp cho
việc chứng minh trước công chúng (ví dụ trước tòa án). Để chứng minh bản quyền của dữ liệu đáng

1
ThS, Trường ĐHSP Hà Nội 2
2
ThS, Viện Công nghệ Thông tin, Viện KHCN Việt Nam
ngờ, người chủ sở hữu phải tiết lộ khóa bí mật của mình ra công chúng để phát hiện thủy vân. Sau khi
đã sử dụng một lần, khóa này không còn bí mật nữa.
Với khóa này, một người sử dụng không bản quyền có thể vô hiệu hóa việc phát hiện thủy vân
gốc bằng cách gỡ bỏ thủy vân gốc khỏi dữ liệu được bảo vệ hoặc thêm một thủy vân giả vào dữ liệu
không được thủy vân.
Thứ hai là, những sai lệch được đưa vào trong quá trình thủy vân có thể ảnh hưởng đến giá trị
sử dụng của dữ liệu. Ngay cả khi có thể ấn định một số kiểu ràng buộc nhất định để hạn chế sai sót (ví
dụ như các giá trị trung bình và các phương sai của những thuộc tính được thủy vân) trước hoặc trong
khi thủy vân thì cũng rất khó, thậm chí không thể đảm bảo có thể lượng hóa được tất cả các ràng
buộc.
Chúng tôi dự định thiết kế một lược đồ thủy vân cơ sở dữ liệu mới có thể được sử dụng để bảo
vệ bản quyền bằng cách kiểm chứng công khai và không đưa vào bất kỳ một sự sai lệch nào đối với
dữ liệu.
Nghiên cứu của chúng tôi được thúc đẩy một phần nhờ vào những nét chính của các lược đồ
thủy vân khóa công khai trong lĩnh vực thủy vân đa phương tiện. Tuy nhiên, giữa thủy vân đa phương
tiện và thủy vân cơ sở dữ liệu quan hệ có những khác nhau rất cơ bản. Ngoài ra, chúng tôi còn dựa

vào các tư tưởng đã được trình bày trong các bài báo [5, 6].
Lược đồ của chúng tôi có những đặc điểm nổi bật sau đây.
- Thứ nhất lược đồ này thuộc kiểu kiểm chứng công khai. Việc phát hiện thủy vân để chứng
minh bản quyền có thể được thực hiện bởi bất kỳ ai và bao nhiêu lần tùy ý.
- Thứ hai, lược đồ của chúng tôi không gây ra bất kỳ một sai lệch nào đối với dữ liệu và có
thể được sử dụng để thủy vân dữ liệu thuộc bất kỳ kiểu dữ liệu nào bao gồm số nguyên, số thực, ký tự
và logic.
- Thứ ba là lược đồ này rất hiệu quả đối với việc cập nhật tăng thêm dữ liệu. Nó được thiết kế
phù hợp với các phép toán thông thường của cơ sở dữ liệu như thêm, xóa và thay đổi giá trị các bộ.
- Thứ tư là lược đồ này rất bền vững. Rất khó để có thể vô hiệu hóa được thủy vân và minh
chứng bản quyền bằng các tấn công cơ sở dữ liệu thông thường và các tấn công khác. Với những đặc
tính này, chúng tôi tin rằng kỹ thuật thủy vân của chúng tôi có thể được áp dụng trong thực tế để bảo
vệ bản quyền các cơ sở dữ liệu đã được công bố hoặc phân phối.
Trong bài báo này, trước hết chúng tôi trình bày lược đồ thủy vân do chúng tôi phát triển, bao
gồm thuật toán sinh thủy vân và phát hiện thủy vân, sau đó sẽ trình bày cách thức chứng minh bản
quyền công khai có sử dụng một bản chứng thực thủy vân, cuối cùng là các phân tích về độ bền vững
của lược đồ và việc cân đối giữa tính bền vững và các chi phí cho việc thực hiện lược đồ.
2. Lược đồ
Lược đồ của chúng tôi thủy vân một quan hệ cơ sở dữ liệu R có lược đồ cơ sở dữ liệu là: R(P,
A
0
, A
1
, , A
v-1
), trong đó:
 P là thuộc tính khóa chính.
 A
0
, A

1
, , A
v-1
là các thuộc tính đều có thể được chọn để thuỷ vân.
Không có một ràng buộc nào về các kiểu thuộc tính được sử dụng để thuỷ vân. Các thuộc tính
có thể là các số nguyên, số thực, ký tự, giá trị logic hay bất kỳ kiểu dữ liệu nào. Các thuộc tính đều
được thể hiện dưới dạng các xâu bit trong các hệ thống máy tính.
Gọi η là số các bộ trong quan hệ R. Với mỗi thuộc tính của một bộ, bít quan trọng nhất hay
bít có ý nghĩa nhất (MSB) dưới dạng biểu diễn nhị phân chuẩn của nó có thể được sử dụng để sinh ra
thuỷ vân. Giả thiết là mọi thay đổi thực hiện trên MSB sẽ dẫn đến một sai sót không thể chấp nhận
được đối với giá trị dữ liệu hiện hữu. Để tiện theo dõi, chúng ta sẽ sử dụng Bảng 1 để liệt kê các ký
hiệu được sử dụng trong lược đồ thủy vân.
Bảng 1. Các tham số sử dụng trong lược đồ thủy vân
Ký hiệu
Ý nghĩa của ký hiệu
R
Cơ sở dữ liệu quan hệ cần phải thuỷ vân
η
Số các bộ trong quan hệ R
ν
Số các thuộc tính trong quan hệ R
W
Quan hệ thuỷ vân cơ sở dữ liệu được tạo ra trong quá trình thuỷ vân


(Tham số tạo thuỷ vân) số các thuộc tính nhị phân trong thuỷ vân W
ω
Số các bít trong thuỷ vân W; ω=η



τ
(Tham số phát hiện thủy vân) tỷ lệ tối thiểu các bit thủy vân cần thiết cho việc phát
hiện thuỷ vân
K
Khóa thuỷ vân
2.1. Sinh thủy vân
Giả sử chủ nhân của quan hệ R sở hữu một khóa thuỷ vân K sẽ được dùng cả trong khi sinh
thủy vân và phát hiện thuỷ vân. Khóa thuỷ vân cần phải có khả năng chứng thực công khai quyền sở
hữu bất cứ khi nào cần đến. Điều này khác hẳn với thuỷ vân truyền thống vì mỗi khi chứng minh bản
quyền, chủ nhân của quan hệ đều để lộ khóa bí mật của mình trước công chúng. Ngoài ra, khóa bí mật
cần phải đủ dài để có thể ngăn cản được những kiểu tấn công khác nhau.
Thuật toán 1 genW ( R, K,

) // Sinh thủy vân W cho quan hệ R
1 for mỗi bộ r trong R do
2 xây dựng một bộ t trong W có cùng khóa chính với r , t.P = r.P
3 for i := 0 to

do // sinh giá trị cho

thuộc tính của t
4 j = G
i
(K, r.P) mod

//

là số các thuộc tính trong r
5 if r.j có kiểu là số then
6 q = r.j quay trái 1 bit

7 t.W
i
= MSB của q
8 endif
9 if r.j có kiểu là xâu ký tự then
10 q = j mod l // l là độ dài xâu
11 t.W
i
= MSB của q
12 endif
13 if r.j có kiểu là logic then
14 t.W
i
= MSB của r.j
15 endif
16 xóa thuộc tính thứ j trong r
17 end for
18 end for
19 return W
Trong thuật toán này, khóa thuỷ vân là công khai và có thể nhận bất kỳ giá trị nào (số nguyên
hoặc số nhị phân) do chủ nhân dữ liệu lựa chọn. Không có một ràng buộc nào về việc hình thành khóa
này. Để giảm bớt những lầm lẫn không cần thiết, khóa thuỷ vân nên là duy nhất đối với chủ nhân của
cơ sở dữ liệu quan hệ cần thủy vân. Khóa thuỷ vân có thể được lập dưới dạng như sau:
K = h(ID | tên CSDL | version | ) (1)
Trong đó, ID là định danh của chủ nhân cơ sở dữ liệu, “|” là phép ghép nối, h() là hàm băm mật
mã (ví dụ như SHA-512).
Khái niệm khóa thuỷ vân công khai [2, 3] ở đây hơi khác với khóa công khai trong hạ tầng khóa
công khai (KPI). Trong lý thuyết mật mã, một khóa công khai luôn đi đôi với một khóa bí mật sao cho
một thông điệp được mã hoá bằng một khóa chỉ có thể giải mã bằng khóa sánh đôi với nó; cặp khóa
này được lựa chọn theo một cách nào đó sao cho không thể dùng các tính toán để có thể suy luận ra

khóa bí mật từ khóa công khai tương ứng. Trong lược đồ thủy vân của chúng tôi, không cần khóa bí
mật và khóa thủy vân công khai có thể được lựa chọn một cách tùy ý. Nếu khóa thủy vân được sinh ra
từ định danh (ID) của chủ nhân dữ liệu như đề xuất trên đây thì nó tương tự như khóa công khai để
định danh dựa vào mật mã nhưng chủ nhân dữ liệu lại không cần phải yêu cầu cấp khóa công khai từ
một trung tâm phân phối khóa.
Khóa thủy vân được sử dụng để quyết định kết cấu của thủy vân công khai W. Thủy vân W là
một quan hệ cơ sở dữ liệu với lược đồ W(P, W
0
, . . . , W
γ−1
), trong đó, W
0
, . . . , W
γ
là các thuộc
tính nhị phân, P là thuộc tính khóa chính. So sánh với cơ sở dữ liệu quan hệ R, quan hệ thuỷ vân W có
cùng số bộ η và có cùng thuộc tính khóa chính P. Gọi  là số các thuộc tính nhị phân trong thuỷ vân
W và ω là số bít nhị phân của W. Ở đây  được coi là một tham biến điều khiển để xác định số lượng
các bít nhị phân ω trong W, trong đó ω = *η và  <= ν. Trong trường hợp này, chúng ta gọi  là
tham biến sinh thuỷ vân.
Thuật toán 1 sử dụng một thủ tục genW (R, K,

) để sinh thuỷ vân W. Trong thuật toán này, bộ
sinh dãy số ngẫu nhiên mật mã G được tạo giống bằng cách ghép khóa thủy vân K với khóa chính r.P
cho từng bộ r của quan hệ R, sinh ra một dãy các số ngẫu nhiên {G
i
(K, r.P)} [2]. MSB của các giá trị
đã chọn được sử dụng để tạo thuỷ vân. Toàn bộ quá trình không làm thay đổi bất kỳ một giá trị nào
của dữ liệu gốc. Việc sử dụng các MSBs sẽ giúp ngăn cản những tấn công thay đổi giá trị dữ liệu. Vì
khóa thủy vân K, thủy vân W và thuật toán genW đều công khai nên bất kỳ ai cũng có thể tìm được

các MSBs trong R để sinh W. Tuy nhiên, một kẻ tấn công không thể thay đổi các MSBs này mà không
sinh ra các sai lệch không thể chấp nhận được đối với dữ liệu.
Trong quá trình xây dựng thủy vân W, mỗi bộ trong quan hệ R đóng góp  MSBs từ các thuộc
tính khác nhau được chọn một cách tựa ngẫu nhiên dựa trên khóa thủy vân và khóa chính của bộ. Rõ
ràng là một kẻ tấn công không thể nào gỡ bỏ tất cả các bit thủy vân mà không xóa tất cả các bộ
và/hoặc các thuộc tính từ dữ liệu đã thủy vân. Tham số sinh thủy vân  càng lớn thì lược đồ thủy vân
càng bền vững trước các tấn công xóa như vậy.
2.2. Phát hiện thủy vân
Việc phát hiện thủy vân được thiết kế để có thể thực hiện công khai bởi bất kỳ ai và bất cứ khi
nào cần. Có một sự khác nhau đáng kể khi so với các cách tiếp cận dựa vào khóa bí mật trước đây.
Khi phát hiện thủy vân, cần phải có khóa thủy vân công khai K và thủy vân W để kiểm chứng một
quan hệ cơ sở dữ liệu đáng ngờ R’. Giả sử rằng thuộc tính khóa chính không hề bị thay đổi hoặc nếu
có thì cũng có thể khôi phục lại được. Nếu khóa chính không thể tin cậy được thì có thể chuyển sang
các thuộc tính khác.
Thuật toán 2 detW (R’ , K,

, W,

) // Phát hiện thủy vân đối với quan hệ R’
1 match_count = 0
2 total_count = 0
3 for mỗi bộ r trong R’ do
4 tìm một bộ t trong W có cùng khóa chính với r , t.P = r.P
5 for i := 0 to

do
6 total_count = total_count + 1
7 j = G
i
(K, r.P ) mod  // số các thuộc tính trong r

8 if r.j có kiểu là số then
9 q = r.j quay phải 1 bit
10 w = MSB của q
11 endif
12 if r.j có kiểu là xâu ký tự then
13 q = j mod l
14 t.W
i
= MSB của q
15 w = MSB của q
16 endif
17 if r.j có kiểu là logic then
18 w = MSB của r.j
19 endif
20 if t.W
i
= w then
21 match_count = match_count + 1
22 end if
23 xóa thuộc tính thứ j của r
24 end for
25 end for
26 if match_count/total_count >

then
27 return true
28 else
29 return false
30 endif
Thuật toán 2 đưa ra thủ tục detW (R’, K,


, W,

) để phát hiện thủy vân W từ quan hệ R’, trong
đó

là tham số sinh thủy vân được sử dụng trong thủ tục sinh thủy vân, và

là tham số phát hiện
thủy vân và bằng tỷ lệ thấp nhất các bit thủy vân được phát hiện đúng. Cả hai tham số này được sử
dụng để điều khiển độ tin cậy của thuật toán phát hiện thủy vân và độ bền vững của thủy vân đã
nhúng. Tham số phát hiện thủy vân

nằm trong khoảng [0.5, 1). Để tăng độ bền vững của thủy vân,
chúng ta không đòi hỏi phải tất cả các MSBs đã tìm được trong R’ đều trùng với các bits tương ứng
trong W, mà chỉ cần tỷ lệ phần trăm trùng khớp lớn hơn

là được. Tức là match_count / total_count
>

trong thuật toán 2.
2.3. Chọn các MSB ngẫu nhiên
Hầu hết các máy tính hiện đại đều có thể biểu diễn và xử lý bốn kiểu địa chỉ bộ nhớ lưu trữ dữ
liệu: số nguyên, số thực, ký tự và logic. Dữ liệu khi được biểu diễn trong máy tính đều có dạng một
xâu các bit. MSB của một xâu chính là bít trái nhất và có trọng số lớn nhất. Đối với dữ liệu kiểu số có
dấu thì ta sẽ quay trái một bít để tránh MSB có thể là bit dấu, âm, không âm hoặc ở dạng dấu phảy
động, kết quả của phép quay ta sẽ lấy MSB. Đối với dữ liệu kiểu ký tự ta sẽ xét ký tự thứ j mod l với j
là thuộc tính được chọn l là độ dài xâu ký tự. Ta phân tích ký tự được chọn thành chuỗi bit; do kiểu ký
tự bất kỳ bit nào cũng là MSB nên ta sẽ chọn bit bên phải cùng. Ví dụ: Cần xác định MSB của thuộc
tính thứ 5 có dữ liệu là chuỗi “Đại học Khoa học Tự Nhiên”. Đầu tiên ta chọn ký tự thứ j mod l ( j=5,

l=25) là ký tự “ọ”. Ký tự này có mã là 7885 trong bảng mã unicode. Ta phân tích số này thành chuỗi
nhị phân 7885
10
= 1111011001101
2
MSB được chọn là bit 1.
Chúng ta giả thiết là các bit thủy vân được sinh ra từ các MSB đã chọn được phân bố một cách
ngẫu nhiên; tức là, một MSB nhận giá trị bằng 1 hay bằng 0 đều có xác suất như nhau và bằng 1/2. Sự
ngẫu nhiên này là quan trọng trong khi chúng ta tiến hành phân tích tính bền vững của lược đồ thủy
vân. Đối với MSB của thuộc tính thứ j của bộ r, ta có bit mặt nạ tương ứng là bit thứ j của giá trị của
hàm băm h(K | r.P) nếu j <= l, trong đó l là độ dài tính theo bit của đầu ra hàm băm h . Các MSBs
đã ngẫu nhiên hóa sẽ được sử dụng trong lược đồ sinh thủy vân và phát hiện thủy vân.
2.4. Thảo luận về các Quan hệ không có khóa chính
Hầu hết các lược đồ thủy vân (ví dụ như, [4, 5, 6]) đối với các cơ sở dữ liệu quan hệ bao gồm cả
lược đồ của chúng tôi đều phụ thuộc chủ yếu vào thuộc tính khóa chính trong qui trình thủy vân.
Trong trường hợp không có khóa chính hoặc thuộc tính khóa chính bị phá hủy trong những tấn công
phá hoại, người ta có thể quay sang các thuộc tính khác và xây dựng một khóa chính ảo để sử dụng
thay cho khóa chính trong quá trình thủy vân. Khóa chính ảo được xây dựng bằng cách kết hợp các bit
ý nghĩa nhất của một số thuộc tính được lựa chọn.
Vì khóa chính ảo được xây dựng từ các MSBs của các thuộc tính đã chọn nên sẽ rất khó để phá
hủy khóa này mà không làm thay đổi hoặc phải xóa bỏ giá trị thuộc tính. Tuy nhiên, không như một
khóa chính thật, khóa chính ảo có thể không phải là duy nhất đối với mỗi bộ; sẽ có thể có nhiều bộ
trong R và W có chung một giá trị khóa chính giả. Trong khi phát hiện thủy vân cần phải tìm ra ánh
xạ chính xác giữa các cặp bộ này (dòng 4 trong thuật toán 2). Việc này có thể thực hiện như sau:
 Đối với mỗi bộ r  R với khóa chính r.P, tính một bộ t theo như cách đã làm khi sinh thủy vân.
 Sau đó chọn một bộ t

W gần với t nhất (theo một độ đo nào đó, ví dụ độ đo Hamming) trong
số các bộ của W có cùng giá trị khóa chính r.P.
 Số các bộ có chung giá trị khóa chính có thể được tối thiếu hóa như trong tài liệu [7].

3. Chứng minh bản quyền công khai
Việc chứng minh bản quyền trong lược đồ này được thực hiện bằng cách kết hợp phát hiện thủy
vân với một giấy chứng nhận.
3.1. Giấy chứng nhận thủy vân
Định nghĩa [1]: Giấy chứng thực thủy vân C của quan hệ R là một bộ gồm 7 thành phần [ID, K,
h(W), h(R), T, DB-CA, Sig], trong đó ID là định danh của chủ nhân cơ sở dữ liệu quan hệ R, K là
khóa thủy vân của chủ nhân, W là thủy vân công khai, T là thông tin pháp lý, DB-CA là tổ chức có uy
tín ký giấy chứng thực bằng chữ ký điện tử Sig.
Tương tự như chứng thực định danh trong PKI, trong đó một khóa công khai sẽ gắn chặt với
chủ nhân của nó trong một thời hạn qui định, chứng thực thủy vân cũng gắn chặt một khóa thủy vân,
một thủy vân và một quan hệ cơ sở dữ liệu với định danh của chủ nhân của nó bằng các thông tin
pháp lý.
Thông tin pháp lý ở đây là một bộ T = T
origin
, T
start
, T
end
 chỉ ra thời gian gốc T
origin
khi cơ sở
dữ liệu quan hệ lần đầu tiên được chứng thực, thời gian bắt đầu T
start
, và thời gian kết thúc T
end
của
giấy chứng thực này trong khuôn khổ hiện hành. Khi quan hệ được chứng thực lần đầu tiên, thời gian
gốc và thời gian bắt đầu là trùng nhau.
So với chứng thực định danh thì trong chứng thực thủy vân, ngoài thời gian bắt đầu và thời
gian kết thúc còn có thêm thời gian gốc. Thời gian gốc sẽ rất hữu ích trong khi chứng minh bản quyền

trước những tấn công làm lẫn lộn trắng đen. Chứng thực thủy vân so với chứng thực định danh truyền
thống được minh họa trong Hình 1.
Chứng thực định danh

Chứng thực thủy vân
Version

Version
Số seri

Số seri
Thuật toán chữ ký số

Thuật toán chữ ký số
Tổ chức ban hành

DB-CA
Thời hạn hiệu lực

Thông tin hiệu lực T
Chủ thể

ID chủ nhân CSDL
Khóa công khai của chủ thể

Khóa thủy vân

Hàm hash thủy vân h(W)

Hàm hash CSDL h(R)

Chữ ký điện tử

Chữ ký điện tử
Hình 1. Quan hệ giữa thủy vân và chứng thực định danh
Hai kiểu chứng thực này có cấu trúc tương tự nhau trừ ra thông tin khóa công khai trong chứng
thực định danh được thay thế bằng khóa thủy vân, hàm hash thủy vân và hàm hash cơ sở dữ liệu trong
chứng thực thủy vân.
3.2. Chứng thực công khai
Trong khi qui trình phát hiện thủy vân có thể được tự ý thực hiện bởi bất kỳ cá nhân hoặc tổ
chức có quyền sử dụng đối với khóa thủy vân công khai và thủy vân thì quyền sở hữu lại phải được
chứng minh bằng việc kiểm tra lại chứng thực thủy vân tương ứng.
Việc này bao gồm những kiểm chứng sau đây (i) chứng thực thủy vân còn hiệu lực không; (ii)
khóa thủy vân và thủy vân được sử dụng trong khi tách thủy vân có đúng như đã đăng ký trong chứng
thực thủy vân không; (iii) chữ ký có được ký đúng như đã qui định trong DB-CA không; và (iv) sự
tương tự của quan hệ đáng ngờ so với quan hệ gốc R đã được công bố của chủ nhân giấy chứng thực
thủy vân.
Trong lược đồ của chúng tôi, kẻ tấn công có thể xác định được một cách chính xác các bits thủy
vân vì khóa thủy vân, thủy vân và thuật toán thủy vân là công khai ai cũng biết. Vì quyền sở hữu được
xác minh công khai nên dữ liệu bị phá hoại như vậy có thể sẽ dẫn đến những nhầm lẫn và sai lệch khi
xác định chủ quyền hợp pháp.
3.3. Cập nhật tăng dần
Mục đích của lược đồ chúng tôi đề xuất còn được thiết kế để có thể dễ dàng phát hiện lại thủy
vân khi mà cơ sở dữ liệu cập nhật tăng dần. Trong lược đồ của chúng tôi, các thuật toán sinh và phát
hiện thủy vân đều được thiết kế định hướng bộ; mỗi bộ được xử lý độc lập với các bộ khác dựa vào
khóa chính của nó.
Thủy vân được cập nhật như sau. Nếu một tập các bộ mới được thêm vào dữ liệu đã thủy vân
thì thuật toán sinh thủy vân 1 có thể chỉ phải thực hiện trên các bộ mới này. Kết quả là, một tập các bộ
thủy vân mới tương ứng được sinh ra và được chèn vào thủy vân. Nếu một tập các bộ trong dữ liệu đã
thủy vân bị xóa đi thì các bộ thủy vân tương ứng có cùng các khóa chính cũng bị xóa khỏi thủy vân.
Trong trường hợp một tập các giá trị bị sửa đổi thì chỉ những bộ có liên quan mới cần phải cập nhật

trong thủy vân. Việc này có thể được thực hiện tương tự như trong trường hợp thêm các bộ mới. Chú
ý là nếu một giá trị bị sửa đổi mà không có bất cứ một đóng góp nào vào MSB cho thủy vân thì không
cần phải cập nhật thủy vân.
Việc cập nhật giấy chứng thực thủy vân sẽ được tiến hành sau khi cập nhật xong thủy vân. Lược
đồ của chúng tôi rất bền vững đối với việc cập nhật cơ sở dữ liệu, do đó có thể cập nhật thủy vân và
chứng thực thủy vân sau khi cập nhật dữ liệu đã thủy vân. Việc cập nhật thủy vân và giấy chứng thực
có thể được thực hiện định kỳ sau một đợt cập nhật dữ liệu. Thủy vân và giấy chứng thực vẫn có thể
được sử dụng để kiểm chứng chủ quyền của dữ liệu đã cập nhật chừng nào những cập nhật này không
làm suy giảm nghiêm trọng tính bền vững của lược đồ.
4. Tính bền vững và chi phí về thời gian và bộ nhớ
Một lược đồ thủy vân có thể dùng được phải là một lược đồ bền vững trước các tấn công điển
hình và hữu dụng trong thực tế. Chúng tôi phân tích tính bền vững của lược đồ bằng phương pháp
(xác suất nhị thức) đã được thực hiện trong [4]. Chúng tôi còn đưa ra những cân nhắc giữa tính bền
vững và các chi phí về thời gian và bộ nhớ của các thuật toán dưới các điều kiện của các tham số sinh
thủy vân  và tham số phát hiện thủy vân .
4.1. Xác suất nhị thức tồn tại
Xét n phép thử Bernoulli của một sự kiện với xác suất thanh công p vfa thất bại là q = 1- p trong
mọi phép thử. Gọi P
p
(k;n) là xác suất thu được đúng k lần thành công trong số n phép thử Bernoulli
(tức là xác xuất rời rạc của phân bố nhị thức) . Ta có
( ; )
k n k
p
n
P k n p q
k






(2);
!
!( )!
n
n
k
k n k





(3)

Gọi C
p
(k;n) là xác suất có nhiều hơn k lần thành công trong n phép thử Bernoulli; nghĩa là C
p
(k;n) là
xác xuất nhị thức tồn tại. Theo phân tích chuẩn của phân bố nhị thức, chúng ta có

1
( ; ) ( ; )
n
p
ik
Cp k n P i n





(4)
4.2. Phát hiện thủy vân trong dữ liệu không thủy vân
Khi thuật toán phát hiện thủy vân được áp dụng cho dữ liệu không được thủy vân thì mỗi MSB
trong dữ liệu có thể trùng hoặc không trùng với bit tương ứng trong thủy vân. Cả hai xác suất này đều
bằng 0.5. Giả sử dữ liệu không được thủy vân có cùng số bộ là  như dữ liệu gốc (và cùng các giá trị
khóa chính).  =  là tổng số bit trong thủy vân, trong đó  là tham số sinh thủy vân. Xác xuất nhận
nhầm H có thể được biểu diễn bằng công thức:
1/2 1/2
( , ) ( , )H C C
   

   
   
(5)
4.3. Phát hiện thủy vân trong dữ liệu đã thủy vân
Bây giờ chúng ta sẽ xét đến tính bền vững của lược đồ trong trường hợp đoán sai (false miss),
tức là xác suất không phát hiện được thủy vân hợp lệ từ dữ liệu đã thủy vân bị thay đổi bằng các tấn
công thông thường, bao gồm các phép cập nhật cơ sở dữ liệu, sửa đổi các giá trị có tuyển chọn và nén.
Cập nhật cơ sở dữ liệu
Cập nhật cơ sở dữ liệu bao gồm thêm, xóa và thay đổi giá trị các bộ. Đối với phép xóa bộ và
xóa thuộc tính, các MSBs trong các bộ hoặc các thuộc tính bị xóa sẽ không được phát hiện trong thủy
vân; tuy nhiên, các MSBs trong các bộ khác sẽ không bị ảnh hưởng. Do đó, tất cả các MSBs được
phát hiện sẽ trùng khớp với bản đối chiếu của chúng trong thủy vân công khai, và xác suất đoán sai là
bằng 0. Việc xóa các bộ ảnh hưởng đến nhận nhầm tương tự như việc giảm số bộ  trong Hình 3,
trong khi việc xóa các thuộc tính lại tương tự như việc giảm  một cách hợp lý trong Hình 2.
Xác suất đoán sai M đối với tấn công thêm bộ trong trường hợp trộn và so sánh có thể được
biểu diễn bằng biểu thức:

1/2
( 1, )MC

  
  


(6)
Khi phát hiện thủy vân, một MSB được phát hiện sẽ có thể không trùng với bit tương ứng của
nó trong thủy vân công khai với xác suất γ/(2ν). Xác suất đoán sai M
ζ
đối với việc trường hợp thay
đổi ζ giá trị có thể được tính bằng biểu thức:
/2
( 1, )MC
  
  
  


(7)
Sự khác nhau trong tính toán là sử dụng xác suất γ/2ν trong biểu thức (7) thay cho xác suất
1/2 trong biểu thức (6). Biểu thức (7) chỉ ra rằng ngay cả khi 80% giá trị bị thay đổi một cách ngẫu
nhiên, nghĩa là có thể làm cho dữ liệu trở nên kém hữu dụng, thì tỷ lệ đoán sai trong khi phát hiện
thủy vân vẫn bé hơn 10
-10
trong tính toán của chúng tôi.
Thay đổi và nén giá trị dữ liệu có chủ đích
Vì cả khóa thủy vân và thủy vân trong lược đồ của chúng tôi đều công khai nên kẻ tấn công có
thể xác định chính xác các MSBs của các giá trị đã thủy vân. Một phép tấn công đơn giản có thể là lật

một vài bit trong các MSBs để thuật toán phát hiện thủy vân không tìm được bít trùng khớp. Giả sử là
các MSBs đã thủy vân bị lật trong khi thay đổi giá trị có chủ đích thì xác suất đoán sai M
ς
có thể được
tính như sau


1 if
0
M
otherwise

  
  






(8)

Nếu không ít hơn γη −τ γη bit MSBs đã thủy vân bị lật thì dữ liệu đã thủy vân sẽ không cần phải
phát hiện nữa. Độ bền vững của lược đồ có thể được đo bằng số các lỗi do tấn công này gây ra.
Để đánh hỏng quá trình phát hiện thủy vân thì phải lật không ít hơn γη −τ γη bit ý nghĩa nhất;
việc này sẽ gây ra không ít hơn từng ấy lỗi không thể bỏ qua được trong các giá trị dữ liệu. Chúng tôi
đo độ bền vững của lược đồ bằng một tỷ số F. Tỷ số này chính là tỷ số giữa số bit MSBs tối thiểu
phải lật để làm hỏng qui trình phát hiện thủy vân trên tổng số bit của thủy vân:



(1 )F
 


 



  
(9)
Công thức của nhận nhầm sẽ đổi từ C
1/2
( τ γη , γη) thành C
1/2
( τ (γη − ς) , γη − ς) trong
trường hợp nén có chủ đích.
4.4. Đánh giá về thời gian và yêu cầu bộ nhớ đối với các thuật toán
Đánh giá qui trình sinh thủy vân. Chi phí thời gian t
genW
và chi phí bộ nhớ m
genW
đối với thuật toán
sinh thủy vân là:
)()(

Otttttt
delAbitdmogenSseedgenW

(10)
)(


Ommm
wkeytuplegenW

(11)

Đánh giá qui trình phát hiện thủy vân. Ký hiệu t
if
là chi phí thời gian thực hiện phép toán “if match
count/total count >

.” Thời gian t
detW
và chi phí bộ nhớ m
detW
dành cho thuật toán phát hiện thủy vân
có thể tính như sau:
)()2(2

Otttttttt
cou ntdelAbitdmogenSseedcou nttWde

(12)
)(2

Ommmm
wkeytuplecounttWde

(13)
Thủy vân W được sinh ra sẽ được ghi lên đĩa. Yêu cầu về không gian đĩa m

disk

)(||

OmWm
pkeydisk

(14)

Bảng 2. Các ký hiệu được sử dụng để phân tích chi phí
Ký hiệu
Ý nghĩa
t
seed

Chi phí gieo giống cho bộ sinh số giả ngẫu nhiên G
t
gen
G

Chi phí sinh một số ngẫu nhiên của G
t
mod
Chi phí của phép mod
t
delA
Chi phí cho phép xóa một thuộc tính
t
bit
Chi phí cho việc gán/so sánh một bit với thủy vân công khai

t
count
Chi phí gán/cập nhật một con đếm trong phát hiện thủy vân
m
count
Số bit cần thiết để ghi một con đếm trong phát hiện thủy vân
m
tuple
Số bit để ghi một bản sao của một bộ
m
wkey

Số bit ghi khóa thủy vân
m
pkey
Số bit ghi giá trị khóa chính

4.5. Các điều chỉnh
Trong lược đồ của chúng tôi có hai tham số: tham số sinh thủy vân  và tham số phát hiện thủy
vân . Hai tham số này có thể được sử dụng để điều chỉnh giữa độ bền vững và các chi phí về thời
gian cũng như bộ nhớ cho các thuật toán. Bảng 3 tổng hợp các điều chỉnh có thể thực hiện khi lựa
chọn hai tham số. Tỷ số sinh thủy vân  được sử dụng để cân đối giữa độ bền vững và các chi phí. 
càng lớn thì độ bền vững của lược đồ càng cao và các chi phí về thời gian và bộ nhớ cũng càng lớn.
Mặc dù tham số phát hiện thủy vân  không ảnh hưởng gì đến các chi phí nhưng nó có thể được sử
dụng để cân đối giữa nhận nhầm, đoán sai và tỷ số lỗi phát hiện hỏng F. Tăng  sẽ làm cho độ bền
vững tốt hơn trong trường hợp nhận nhầm nhưng sẽ kém hơn trong trường hợp đoán sai và tỷ lệ lỗi
phát hiện hỏng.
Bảng 3. Điều chỉnh các tham số
Các tham
số

Nhận
nhầm
Đoán
sai
Tỷ lệ lỗi phát
hiện hỏng
Độ bền vững
Chi phí
(thời gian)
Chi phí
(bộ nhớ)
 
H 
M 
F 



 
H 
M 
F 
 theo H
 theo M, F
 
 
5. Kết luận
Trong lược đồ của chúng tôi có hai tham số: tham số sinh thủy vân  và tham số phát hiện thủy
vân . Hai tham số này có thể được sử dụng để điều chỉnh giữa độ bền vững và các chi phí về thời
gian cũng như bộ nhớ cho các thuật toán. So với thuật toán sinh thủy vân và phát hiện thủy vân của Y.

Li and R. H. Deng thì thuật toán của chúng tôi bền vững và giảm chi phí về thời gian cũng như bộ nhớ
cho các thuật toán, do trong thuật toán đã phân biệt rõ ràng các kiểu dữ liệu trong cơ sở dữ liệu quan
hệ.

TÀI LIỆU THAM KHẢO
1. Y. Li and R. H. Deng, “Publicly Verifiable Ownership Protection for Relational Databases”.
In Proceedings of the 2006 ACM Symposium on Information, Computer and
Communications Security Table of Contents, Taiwan, March 2006, pp. 78 – 89.
2. Bùi Thế Hồng và cộng sự, “Nghiên cứu và Phát triển Kỹ thuật Thuỷ vân Cơ sở Dữ liệu Quan
hệ”, Báo cáo kết quả nghiên cứu của đề tài cơ sở 2008, 12/2008, Phòng CSDL & LT.
3. Bùi Thế Hồng và cộng sự, “Về một số lược đồ thủy vân cơ sở dữ liệu quan hệ” Báo cáo kết
quả nghiên cứu của đề tài cơ sở chọn lọc năm 2009, 12/2009, Phòng CSDL & LT.
4. R. Agrawal and J. Kiernan, “Watermarking relational databases”. In Proceedings of VLDB,
pages 155–166, 2002.
5. E. Bertino, B. C. Ooi, Y. Yang, and R. Deng, “Privacy and ownership preserving of
outsourced medical data”. In Proceedings of IEEE International Conference on Data
Engineering, pages 521–532, 2005.
6. R. Sion, “Proving ownership over categorical data”. In Proceedings of IEEE International
Conference on Data Engineering, pages 584–596, 2004.
7. Y. Li, V. Swarup, and S. Jajodia, “Constructing a virtual primary key for fingerprinting
relational data”. In Proceedings of ACM Workshop on Digital Rights Management (DRM),
October 2003.
8. S. Micali, “Efficient certificate revocation”. In Technical Report: TM-542b. Massachusetts
Institute of Technology. Cambridge, MA, USA, 1996.

PUBLICLY VERIFIABLE OWNERSHIP PROTECTION
FOR RELATIONAL DATABASES
Luu Thi Bich Huong, Bui The Hong

Abstract

Today, watermarking techniques have been extended from the multimemedia context to
relational databases so as to protect the ownershipof data even after the data are published or
distributed. However, all existing waterking schemes for relational databases are secret key based,
thus require a secret key to be presented in proof of ownership. This means that the ownership can
only be proven once to the public (e.g., to the court). After that, the secret key is known to be public
and the embedded watermark can be easily destroved by malicious users. Moreover, most of the
exsting techniques introduce distortions to the underlying data in the watemarking process, either by
modifying least significant bits or exchanging categorical values. The distortions inevitably reduce the
value of the data. This problem has been proposed in the paper [1]. It’s watermaking scheme by
which the ownership of data can be publicly proven by anyone, as many times as necessary. Based on
the ideas and the algorithms of [1], we made an improvement to simplify selecting the
MSBs, but still proved a public license data as many times as you want. The proposed scheme is
robust against typical datase attacks including tuple/attribute insertion/deletion, random/selective
value modification, data frame-up, and additive attacks.


×