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

Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai

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 (3.43 MB, 71 trang )

i

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

DƯƠNG THỊ LAN HƯƠNG

XÁC THỰC SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU QUAN HỆ BẰNG
KỸ THUẬT THỦY VÂN SỐ DỰA VÀO HỆ MẬT MÃ KHÓA CÔNG KHAI

Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS BÙI THẾ HỒNG

Thái Nguyên, 2014


ii

LỜI CAM ĐOAN
Tôi xin cam đoan: luận văn “Xác thực sự toàn vẹn của cơ sở dữ liệu
quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai” là
công trình nghiên cứu của cá nhân tôi, các nội dung nghiên cứu và trình bày
trong luận văn trung thực, rõ ràng.

Tác giả luận văn
Dương Thị Lan Hương




iii

LỜI CẢM ƠN
Tôi xin cảm ơn Trường Đại học Công nghệ thông tin và Truyền thông Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho tôi hoàn thành khóa học
và khóa luận này.
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS.TS Bùi Thế Hồng.
Thầy đã cho tôi những định hướng nghiên cứu, giúp đỡ tôi trong suốt thời
gian hoàn thành luận văn này.
Để hoàn thành khóa học còn có công sức vô cùng to lớn của các thầy,
cô đã nhiệt tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong thời
gian học tập tại trường.
Cảm ơn các bạn trong lớp đã nhiệt tình giúp đỡ trong suốt thời gian học
tập tại trường.

Thái Nguyên, ngày tháng năm 2014
Học viên
Dương Thị Lan Hương


iv

MỤC LỤC
Trang
LỜI CAM ĐOAN .......................................................................................... ii
LỜI CẢM ƠN ............................................................................................... iii
MỤC LỤC .................................................................................................... iv
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT .................................................... vi
DANH MỤC CÁC BẢNG ........................................................................... vii

DANH MỤC CÁC HÌNH ........................................................................... viii
MỞ ĐẦU ....................................................................................................... 1
CHƯƠNG I. TỔNG QUAN VỀ THỦY VÂN SỐ
1.1. Tổng quan về thủy vân cơ sở dữ liệu quan hệ ......................................... 3
1.1.1. Một số khái niệm cơ bản................................................................. 3
1.1.2. Các yêu cầu cơ bản của thuỷ vân trên cơ sở dữ liệu quan hệ ........... 9
1.1.3. Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ ................ 11
1.1.4. Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ ........... 13
1.2. Các kỹ thuật thủy vân số cho các cơ sở dữ liệu quan hệ ....................... 14
1.2.1. Kỹ thuật thủy vân số làm thay đổi dữ liệu trong CSDL quan hệ ... 15
1.2.2. Các kỹ thuật thủy vân số không làm thay đổi dữ liệu trong CSDL 25
1.3. Nhận xét về các lược đồ thủy vân ......................................................... 27
1.4. Kết luận ................................................................................................ 31
CHƯƠNG II. XÁC THỰC SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU
QUAN HỆ BẰNG KĨ THUẬT THỦY VÂN DỰA VÀO HỆ MẬT MÃ
KHÓA CÔNG KHAI
2.1. Giới thiệu ............................................................................................. 32
2.2. Kỹ thuật thủy vân số với cơ chế xác thực công khai ............................. 33
2.2.1. Ý tưởng của kỹ thuật thủy vân số với cơ chế xác thực công khai .. 33


v

2.2.2. Tạo ra mã xác thực ....................................................................... 36
2.2.3. Quá trình xác thực tính toàn vẹn của dữ liệu ................................. 38
2.2.4. So sánh giữa hai thủy vân ............................................................. 41
2.3. Kết luận ................................................................................................ 42
CHƯƠNG III. XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM
3.1. Xây dựng chương trình......................................................................... 43
3.1.1. Bài toán thực nghiệm.................................................................... 43

3.1.2. Thiết kế chương trình ................................................................... 43
3.2. Thử nghiệm chương trình ..................................................................... 50
3.3. Đánh giá kết quả thử nghiệm ................................................................ 52
KẾT LUẬN VÀ KIẾN NGHỊ ...................................................................... 60
TÀI LIỆU THAM KHẢO ............................................................................ 61


vi

DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT
Ký hiệu

Diễn giải

CSDL

Ý nghĩa
Cơ sở dữ liệu

MKSD

Multi Key Single Data

Đa khóa, đơn dữ liệu

SKMD

Single Key Multi Data

Đơn khóa, đa dữ liệu


LSB

Least Significant Bit

Bít ít ý nghĩa nhất

EMC

Encrypted Mark Code

Mã đánh dấu được mã hóa

SVR

Support Vector Regression

Hồi quy vector hỗ trợ


vii

DANH MỤC CÁC BẢNG
Bảng 2.1: Giải thích các ký hiệu sử dụng trong lược đồ thủy vân ................. 33
Bảng 3.1: Thông tin kết quả học tập của sinh viên ....................................... 49
Bảng 3.2: Kết quả thử nghiệm ...................................................................... 58


viii


DANH MỤC CÁC HÌNH
Hình 1.1. Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ ....................... 6
Hình 3.1 Giao diện chính của chương trình .................................................. 44
Hình 3.2 Giao diện chính của chương trình .................................................. 45
Hình 3.3: Giao diện kết quả tạo cặp khóa ..................................................... 45
Hình 3.4: Giao diện minh họa các bước tạo ra mã xác thực .......................... 46
Hình 3.5: Giao diện minh họa các bước lấy thủy vân WM’’......................... 47
Hình 3.6: Giao diện thông báo kết quả kiểm tra dữ liệu ................................ 48
Hình 3.7: Giao diện kết quả kiểm tra dữ liệu ................................................ 48
Hình 3.8: CSDL thử nghiệm trong SQL 2012 .............................................. 50
Hình 3.9: Thủy vân số gốc được dùng trong thử nghiệm .............................. 51
Hình 3.10: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 1 .......... 52
Hình 3.11: a) Thủy vân gốc; b) Thủy vân thu được sau khi không thay đổi dữ
liệu theo thử nghiệm 1 .................................................................................. 53
Hình 3.12: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 2
..................................................................................................................... 53
Hình 3.13: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 2 .......... 54
Hình 3.14: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo
thử nghiệm 2 ................................................................................................ 55
Hình 3.15: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 3
..................................................................................................................... 55
Hình 3.16: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 3 .......... 56
Hình 3.17: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo
thử nghiệm 3 ................................................................................................ 56
Hình 3.18: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 4
..................................................................................................................... 57
Hình 3.19: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 4 .......... 57
Hình 3.20: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo
thử nghiệm 4 ................................................................................................ 58



1

MỞ ĐẦU
Ngày nay, nhờ có Internet việc trao đổi các dữ liệu số đã trở nên cực kỳ
đơn giản nhưng cũng vì thế mà các dữ liệu này rất dễ bị sao chép và sửa đổi.
Vì vậy, có một vấn đề đặt ra là “Bảo vệ quyền sở hữu trí tuệ và tính toàn vẹn
của những dữ liệu này như thế nào?”. Một trong những kỹ thuật đang được
nhiều nhà nghiên cứu quan tâm để giải quyết vấn đề này đó là kỹ thuật thủy
vân số. Kỹ thuật này có thể được sử dụng để bảo vệ bản quyền và bảo vệ sự
toàn vẹn của các dữ liệu số chống lại sự sao chép bất hợp pháp cũng như sự
giả mạo và xuyên tạc.
Gần đây, các tác giả của bài báo [8] đã đưa ra một lược đồ thủy vân
mới có thể xác thực một cách công khai sự toàn vẹn của cơ sở dữ liệu quan hệ
dựa vào hệ mật mã khóa công khai. Kỹ thuật này giúp người cung cấp cũng
như người sử dụng có được một cơ chế có thể kiểm tra được tính toàn vẹn của
các cơ sở dữ liệu đã được thủy vân.
Bài báo trên đã mở ra một hướng mới trong việc xác thực tính nguyên
bản của dữ liệu. Vì vậy để tiếp tục nghiên cứu theo hướng này, học viên đã
lựa chọn đề tài: “Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ
thuật thủy vân số dựa vào hệ mật mã khóa công khai”.
Mục tiêu của đề tài là: Nghiên cứu tổng quan về thủy vân cơ sở dữ liệu
quan hệ như các khái niệm, định nghĩa cơ bản liên quan đến CSDL quan hệ,
các mô hình dữ liệu, cụ thể là mô hình thực thể kết hợp và mô hình dữ liệu
quan hệ. Nghiên cứu tổng quan về kỹ thuật thủy vân số nói chung như khái
niệm thủy vân số, quy trình thực hiện thủy vân số. Từ đó nghiên cứu chi tiết
một kỹ thuật thủy vân số cho cơ sở dữ liệu quan hệ để xác thực tính toàn vẹn
của cơ sở dữ liệu. Cuối cùng là viết chương trình demo để thử nghiệm kỹ
thuật đã nghiên cứu và đánh giá.



2

Ngoài phần mở đầu và phần kết luận, luận văn bao gồm ba chương như
sau:
Chương I. Tổng quan thủy vân số
Trình bày những kiến thức cơ bản liên quan đến thủy vân số như: Khái
niệm thủy vân số, khái niệm thủy vân cơ sở dữ liệu quan hệ, khóa thủy vân,
lược đồ thủy vân, các ứng dụng của thủy vân số,.... Đồng thời cũng trình bày
các kỹ thuật thủy vân số cho các cơ sở dữ liệu, được chia ra làm hai nhóm kỹ
thuật, đó là: Các kỹ thuật thủy vân số làm thay đổi dữ liệu và các kỹ thuật
thủy vân số không làm thay đổi dữ liệu trong CSDL quan hệ. Đồng thời cũng
đưa ra một số nhận xét về các lược đồ thủy vân.
Chương II. Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật
thủy vân dựa vào hệ mật mã khóa công khai
Trình bày chi tiết một kỹ thuật thủy vân số. Đó là kỹ thuật thủy vân số
với cơ chế xác thực công khai. Kỹ thuật này bao gồm hai giai đoạn: giai đoạn
tạo mã xác thực (dành cho chủ sở hữu CSDL) và giai đoạn xác thực tính toàn
vẹn của dữ liệu (dành cho người sử dụng CSDL).
Chương III. Xây dựng chương trình thử nghiệm
Trình bày bài toán, dữ liệu thử nghiệm và các mô hình thử nghiệm.
Dùng chương trình demo để chạy các mô hình thử nghiệm và đưa ra kết quả
đánh giá cho chương trình demo.


3

CHƯƠNG I. TỔNG QUAN VỀ THỦY VÂN SỐ
1.1.


Tổng quan về thủy vân cơ sở dữ liệu quan hệ

1.1.1. Một số khái niệm cơ bản


Thủy vân
Từ “thuỷ vân” có xuất xứ từ kỹ thuật đánh dấu nước thời xưa. Đây là

kỹ thuật đánh dấu chìm một hình ảnh, một logo, hay một dữ liệu nào đó lên
trên giấy nhằm mục đích trang trí và phân biệt được xuất xứ của sản phẩm
giấy. Như vậy, thông tin cần giấu được gọi là thuỷ vân (watermark).
Thuỷ vân mô tả thông tin có thể được dùng để chứng minh quyền sở
hữu hoặc chống xuyên tạc.
Có hai loại thuỷ vân, đó là: thuỷ vân bền vững và thuỷ dễ vỡ.
 Thuỷ vân bền vững (robust watermark): Là thuỷ vân tồn tại bền vững
cùng với dữ liệu, không dễ dàng bị phá huỷ trước những biến đổi, tấn công
lên dữ liệu. Các kỹ thuật này thường được dùng trong các ứng dụng bảo vệ
bản quyền, chứng minh quyền sở hữu.
 Thuỷ vân dễ vỡ (fragile watermark): Là thuỷ vân dễ bị biến đổi trước
những biến đổi hay tấn công lên dữ liệu. Các kỹ thuật này thường được
dùng trong các ứng dụng nhận thực thông tin, đảm bảo sự toàn vẹn dữ liệu.


Thủy vân cơ sở dữ liệu quan hệ
Ngày nay, việc sử dụng các cơ sở dữ liệu trong các ứng dụng càng ngày

càng tăng lên đang tạo ra một nhu cầu tương tự đối với thủy vân cơ sở dữ liệu.
Internet hiện đang đưa đến một sức ép rất nặng nề cho những người muốn bảo
vệ dữ liệu trong việc tạo ra các dịch vụ (thường được gọi là các dịch vụ web



4

hoặc các tiện ích điện tử) cho phép người sử dụng tìm kiếm và truy cập cơ sở
dữ liệu từ xa. Mặc dù xu hướng này là hữu ích cho người dùng cuối nhưng nó
cũng bộc lộ một mối nguy hiểm cho những nhà cung cấp dữ liệu trước những
kẻ trộm cắp dữ liệu. Do đó, những người cung cấp dữ liệu đòi hỏi phải có
công nghệ nhận dạng được những bản sao các cơ sở dữ liệu của họ bị đánh
cắp.
Thủy vân cơ sở dữ liệu quan hệ là một kỹ thuật nhúng một số thông tin
nào đó (được gọi là thông tin thủy vân W) vào cơ sở dữ liệu quan hệ nhằm
mục đích bảo vệ bản quyền hoặc đảm bảo sự toàn vẹn cho cơ sở dữ liệu này.
Thủy vân có thể ở dạng ẩn hoặc hiện và có thể là bền vững hoặc dễ vỡ.


Khóa thủy vân
Để chủ sở hữu cơ sở dữ liệu có thể giữ bí mật cho thông tin thủy vân W

và là người duy nhất có thể tìm lại được thông tin này thì cần phải trộn W với
một dữ liệu được gọi là khóa do chính chủ cơ sở dữ liệu lựa chọn. Thông tin
thứ hai này được gọi là khóa thủy vân.
Khóa thủy vân là một lượng dữ liệu do chủ sở hữu cơ sở dữ liệu lựa chọn
và nhằm mục đích xác định thủy vân trong lược đồ thủy vân. Ký hiệu là K.
Khóa K sẽ được kết hợp với thủy vân W để nhúng vào cơ sở dữ liệu.
Khóa thủy vân chính là mấu chốt của lược đồ thủy vân cơ sở dữ liệu có sử
dụng khóa thủy vân.
Khóa thủy vân sẽ được nhúng vào trong cơ sở dữ liệu quan hệ
bằng nhiều cách. Thông thường khóa thủy vân sẽ được nhúng với dữ liệu
trong cơ sở dữ liệu quan hệ rồi đưa vào trong thuật toán sử dụng. Điều quan
trọng ở đây chính là việc giấu khóa thủy vân vào trong thuật toán như thế nào

để không bị phát hiện đồng thời có thể chứng minh được đây chính là cơ sở


5

dữ liệu quan hệ của mình. Hay nói cách khác, việc đưa khóa vào trong cơ sở
dữ liệu quan hệ là một trong những điểm quan trọng của bài toán bảo vệ bản
quyền và đảm bảo sự toàn vẹn dữ liệu trong cơ sở dữ liệu quan hệ có sử dụng
khóa. Một trong những cách giấu khóa hữu hiệu nhất là sử dụng hàm băm vì
kỹ thuật này đảm bảo được yêu cầu bảo mật cũng như chi phí tính toán.
Hàm băm (Hash function) là giải thuật nhằm sinh ra các giá trị
băm tương ứng với mỗi khối dữ liệu (có thể là một chuỗi kí tự, một đối tượng,
v.v...). Ký hiệu là H.
Cho hàm băm H thao tác trên một thông điệp đầu vào có độ dài tùy ý M
và kết quả là một chuỗi bít có độ dài cố định h: h = H(M). Hàm này có các
đặc trưng sau:
i) với M đã cho, dễ dàng tính được h
ii) với h đã cho, khó tìm được M sao cho H(M) = h
iii) với M đã cho, khó tìm được một thông điệp khác M’ sao
cho H(M)= H(M’).
Trong lược đồ thủy vân trình bày ở chương II, một hàm băm sẽ được sử
dụng để băm khóa thủy vân cùng với cơ sở dữ liệu. Hàm H(K || r.A) băm
khóa K cùng với giá trị thuộc tính A của bộ r, hàm H(K || ri.A1 || ri.A2 || …. ||
ri.Ay) băm khóa K cùng với các giá trị thuộc tính của bộ ri của cơ sở dữ liệu,
trong đó || là phép ghép nối. Trong thực tế, hai hàm băm thông dụng nhất là
MD5 và SHA [4]. Trong phần thử nghiệm, luận văn dùng hàm băm MD5.


Lược đồ thủy vân
Lược đồ thủy vân cơ sở dữ liệu quan hệ bao gồm 2 phần: nhúng thủy


vân và phát hiện thủy vân [2]. Khi nhúng thủy vân, một khóa thủy vân K do


6

chủ sở hữu cơ sở dữ liệu tự chọn sẽ được sử dụng để nhúng thủy vân W vào
cơ sở dữ liệu gốc. Sau khi nhúng thủy vân, các cơ sở dữ liệu sẽ được đưa vào
môi trường Internet. Để xác minh quyền sở hữu của một cơ sở dữ liệu đáng
ngờ, cần phải lấy được thủy vân đã nhúng trong CSDL này. Nếu thủy vân lấy
ra trùng với thủy vân đã nhúng, điều này chứng tỏ đây là CSDL của chủ sở
hữu. Tuy nhiên, nếu thủy vân lấy ra khác với thủy vân đã nhúng thì CSDL
của chủ sở hữu đã bị thay đổi. Hình 1.1 là sơ đồ mô tả lược đồ thủy vân cơ sở
dữ liệu quan hệ [2].
Khóa K

Cơ sở dữ
liệu gốc

Nhúng
thủy vân

Cơ sở dữ liệu đã
nhúng thủy vân

Thông tin thủy vân (W)

Khóa K

Cơ sở dữ

liệu nghi ngờ

Phát hiện
thủy vân

Khẳng định đúng
hoặc sai

Thông tin thủy vân (W)

Hình 1.1. Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ


7



Sự cần thiết của các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Hiện nay, có khá nhiều tài liệu về thuỷ vân các dữ liệu đa phương tiện.

Hầu hết các kỹ thuật này ban đầu được phát triển cho các bức ảnh tĩnh và sau
đó được mở rộng cho video và audio. Cho dù có khá nhiều điều có thể học hỏi
được từ các kết quả đã đạt được về thuỷ vân dữ liệu đa phương tiện nhưng
cho đến nay vẫn còn rất nhiều thách thức kỹ thuật mới đối với lĩnh vực thuỷ
vân cơ sở dữ liệu quan hệ bởi vì các dữ liệu quan hệ và các dữ liệu đa phương
tiện khác nhau ở khá nhiều khía cạnh quan trọng. Những khác biệt đó bao
gồm:
 Một đối tượng đa phương tiện chứa một lượng rất lớn các bít với sự dư
thừa đáng kể. Vì vậy, các kỹ thuật thuỷ vân có một cái mặt nạ (vỏ) rất
rộng để có thể giấu tin vào trong. Trong khi đó, một quan hệ cơ sở dữ

liệu chứa các bộ, mỗi bộ này biểu diễn một đối tượng riêng biệt. Thuỷ
vân cần phải được trải rộng trên tất cả các đối tượng riêng biệt này.
 Vị trí tương đối về không gian/thời gian của các phần khác nhau của
một đối tượng đa phương tiện có đặc thù là không thay đổi. Nhưng các
bộ của một quan hệ lại cấu thành một tập hợp, do vậy không cần phải
áp đặt một thứ tự nào giữa các đối tượng này.
 Các phần khác nhau của một đối tượng đa phương tiện không thể bị cắt
bỏ hoặc thay thế một cách tuỳ ý mà không gây ra những thay đổi về
cảm quan trong đối tượng. Ngược lại, việc thêm, bớt, và cập nhật các
bộ của một bảng quan hệ lại là những phép toán chuẩn trong cơ sở dữ
liệu. Do đó, sẽ rất khó để phát hiện những xâm hại đơn giản như xóa bỏ
một số bộ hoặc thay thế chúng bằng các bộ của các quan hệ khác.


8

Do có những khác nhau như đã nêu trên đây mà các kỹ thuật được phát
triển cho các dữ liệu đa phương tiện không thể được sử dụng trực tiếp để thuỷ
vân các dữ liệu quan hệ.
Thật vậy, giả sử ánh xạ một quan hệ thành một bức ảnh bằng cách xem
mỗi giá trị thuộc tính như một điểm ảnh. Nhưng không may là “bức ảnh”
được định nghĩa như vậy sẽ thiếu rất nhiều tính chất của một bức ảnh thật. Ví
dụ, các điểm ảnh nằm cạnh nhau trong một bức ảnh thật thường có quan hệ
mật thiết với nhau và quan hệ này là cơ sở cho nhiều kỹ thuật thuỷ vân ảnh
tĩnh. Các kỹ thuật thuỷ vân trên miền biến đổi của ảnh thường thực hiện theo
quy trình: trước hết áp dụng một phép biến đổi (cosine rời rạc - DCT, sóng
nhỏ - DWT, . . .) miền giá trị của bức ảnh, sau đó nhúng thuỷ vân vào miền đã
biến đổi rồi biến đổi ngược trở lại. Cách làm này trải các tín hiệu thuỷ vân
như phủ một màn nhiễu trên toàn bộ bức ảnh. Áp dụng trực tiếp các kỹ thuật
này cho một quan hệ sẽ làm sai lệch giá trị của tất cả các thuộc tính. Điều đó

có thể sẽ không được chấp nhận. Hơn nữa, một thuỷ vân như vậy có thể
không tồn tại được ngay cả trước những cập nhật nhỏ đối với quan hệ.
Các kỹ thuật thủy vân văn bản thường lợi dụng các tính chất đặc biệt của
văn bản đã được định dạng. Thủy vân thường được nhúng vào văn bản bằng
cách thay đổi khoảng cách giữa các từ và các dòng văn bản. Một số kỹ thuật
dựa vào việc nhấn mạnh một vài câu trong văn bản. Nhìn chung, các kỹ thuật
này có thể sử dụng để thủy vân các quan hệ chỉ chứa các thuộc tính kiểu văn
bản, còn đối với các quan hệ chứa các thuộc tính kiểu đơn giản thì rất khó áp
dụng.


9

1.1.2. Các yêu cầu cơ bản của thuỷ vân trên cơ sở dữ liệu quan hệ
Chúng ta có thể thấy rằng thủy vân các dữ liệu quan hệ có những thách
thức kỹ thuật đáng kể và có các ứng dụng thực tế có ý nghĩa xứng đáng được
quan tâm thích đáng từ phía cộng đồng những người nghiên cứu cơ sở dữ
liệu. Cần phải xác định một hệ thống thủy vân và kèm theo đó là phát triển
các kỹ thuật nhất định. Những kỹ thuật này chắc chắn là sẽ dựa phần lớn vào
các nguyên tắc thủy vân đang tồn tại. Tuy nhiên, chúng cũng sẽ đòi hỏi phải
có những mở rộng và các sáng kiến mới.
Để minh họa cho sự khả thi của một lược đồ thủy vân cơ sở dữ liệu
quan hệ, ở đây trình bày một kỹ thuật hữu hiệu thỏa mãn những tiêu chuẩn
của một hệ thống thủy vân. Kỹ thuật này chỉ đánh dấu các thuộc tính kiểu số
và giả thiết là các thuộc tính được đánh dấu có thể chấp nhận những thay đổi
nhỏ ở một số giá trị. Ý tưởng cơ bản là đảm bảo tại một số vị trí bit của một
số thuộc tính trong một số bộ có chứa các giá trị nhất định. Các bộ, các thuộc
tính trong một bộ, các vị trí bit trong một thuộc tính và các giá trị bit nhất
định này đều phải được xác định một cách chính xác và logic dưới sự kiểm
soát của một khóa bí mật của chủ nhân quan hệ. Mẫu bit này sẽ hình thành ra

thủy vân. Chỉ duy nhất chủ nhân của khóa bí mật mới có thể tìm lại được thủy
vân với một xác suất cao. Các phân tích chi tiết chỉ ra rằng thủy vân này có
thể đứng vững trước một loạt các tấn công gây hại khác nhau.
Để đơn giản trong khi biện luận, phần này sử dụng ba nhân vật điển
hình vẫn thường được dùng trong các ví dụ về mật mã, giấu tin và thủy vân.
Đó là một cô gái tên là Alice và bạn trai của cô tên là Bob. Hai người này
thường hay gửi thư cho nhau và ở giữa là một anh chàng tên là Mallory
thường xuyên làm phiền họ.


10

Giả dụ, Alice là chủ nhân của quan hệ R chứa  bộ, trong đó cô đã
đánh dấu  bộ. Hệ thống thủy vân cần phải thỏa mãn những tính chất sau
đây:
 Khả năng có thể phát hiện (Detectability)
Alice cần phải có khả năng phát hiện thủy vân của cô bằng cách xem
xét  bộ từ cơ sở dữ liệu nghi ngờ. Rõ ràng là nếu mẫu bít của cô (thủy vân)
có mặt ở tất cả  bộ thì cô có lý do xác đáng để nghi ngờ có sự sao chép trái
phép. Tuy nhiên, Alice cũng có thể ngờ vực ngay cả khi mẫu của cô chỉ có
mặt ở ít nhất là  bộ (  ), trong đó  phụ thuộc vào  và một giá trị  cho
trước, được gọi là mức ý nghĩa của phép thử. Giá trị của  được xác định sao
cho xác suất để Alice sẽ tìm thấy mẫu bit của cô trong ít nhất  bộ từ  bộ là
nhỏ hơn .
 Tính bền vững (Robustness)
Các thủy vân cần phải bền vững trước những tấn công nhằm xóa bỏ
chúng. Ví thể với tư cách là kẻ tấn công, Mallory thay đổi  bộ trong quan hệ
R của Alice. Chúng ta nói rằng thủy vân là an toàn đối với tấn công này nếu
kẻ tấn công không thể phá hủy các dấu hiệu thủy vân ở ít nhất  bộ, trong đó 
phụ thuộc vào  và  như đã nói ở trên.

 Cập nhật phần tăng thêm (Incremental Updatability)
Sau khi có quan hệ R đã thủy vân, Alice có thể cập nhật R khi cần thiết
mà không làm hỏng thủy vân. Khi Alice thêm/ bớt các bộ hoặc sửa đổi các giá
trị của các thuộc tính của R, thủy vân cần phải có khả năng cập nhật trên
những phần gia tăng. Tức là, các giá trị thủy vân chỉ phải tính toán lại đối với
các bộ được thêm vào hoặc bị sửa đổi.


11

 Không dễ cảm nhận được (Imperceptibility)
Thuỷ vân ẩn, không dễ nhận thấy được bằng mắt thường của con
người. Sự thay đổi do các dấu hiệu thuỷ vân gây ra cho dữ liệu quan hệ không
được làm giảm giá trị sử dụng của cơ sở dữ liệu. Hơn nữa, các phép đo thống
kê thông thường như trung bình, phương sai của các thuộc tính số cũng không
nên bị ảnh hưởng.
 Hệ thống mù ( Blind System)
Việc phát hiện thuỷ vân không đòi hỏi các thông tin về cơ sở dữ liệu gốc
và cả thuỷ vân gốc. Một hệ thống thủy vân như vậy được gọi là hệ thống mù.
Tính chất này rất quan trọng vì nó cho phép có thể phát hiện thuỷ vân trong
bản sao của quan hệ cơ sở dữ liệu cho dù quan hệ gốc đã được cập nhật.
1.1.3. Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
Vì các quan hệ cơ sở dữ liệu luôn được cập nhật nên các thuỷ vân được
giấu trong một quan hệ có thể bị mất do những cập nhật thông thường cũng
như các tấn công có chủ đích.
 Cập nhật thông thường
Giả sử Mallory lấy trộm dữ liệu của Alice mà không nhận ra nó đã
được thủy vân. Sau đó, Mallory có thể cập nhật dữ liệu đã ăn trộm khi anh ta
sử dụng nó.
Kỹ thuật đánh dấu cần đảm bảo rằng Alice không bị mất thủy vân của

cô ngay trong các dữ liệu bị ăn trộm, thậm chí đối với cả những cập nhật của
Mallory.


12

Tức là các phép toán cập nhật thông thường như xóa, sửa, bổ sung các
bộ trong cơ sở dữ liệu quan hệ.
Các kỹ thuật thuỷ vân cần đảm bảo rằng người chủ cơ sở dữ liệu không
bị mất thuỷ vân ngay trong dữ liệu bị kẻ khác ăn trộm, thậm chí đối với những
cập nhật của tên trộm đó.
 Tấn công có chủ đích
Mallory có thể biết dữ liệu anh ta ăn trộm có chứa thủy vân, nhưng anh
ta có thể cố xóa thủy vân này hoặc thử dùng các phương tiện khác để đòi
quyền sở hữu trái phép.
Hệ thống đánh dấu cần phải bảo vệ Alice trước những tấn công gây hại
của Mallory.
Nghĩa là các cơ sở dữ liệu có thể bị những kẻ xấu ăn trộm, tấn công
nhằm mục đích đòi quyền sở hữu trái phép hay phá huỷ dữ liệu, phá huỷ thuỷ
vân,... Do đó, hệ thống thuỷ vân cần phải bảo vệ người chủ cơ sở dữ liệu
trước những tấn công gây hại của kẻ trộm.
Một số tấn công gây hại như :


Tấn công vào các bít: Cách tấn công gây hại đơn giản nhất là cố gắng phá
huỷ thuỷ vân bằng cách cập nhật một số bít. Nếu tên trộm Mallory có thể
thay đổi tất cả các bít, thì anh ta có thể dễ dàng phá huỷ thuỷ vân. Tuy
nhiên, việc này cũng làm cho dữ liệu của anh ta không còn sử dụng được
nữa. Do đó, tác hại của một tấn công cần phải được xem xét trên cơ sở mối
quan hệ giữa số bít mà Mallory và Alice thay đổi, vì mỗi thay đổi có thể

được coi như một sai sót. Càng có nhiều sai sót càng làm cho dữ liệu kém
hữu dụng.


13



Tấn công ngẫu nhiên: Tấn công này sẽ gán các giá trị ngẫu nhiên cho
một số vị trí bít nào đó. Một tấn công zero hoá đặt các giá trị của một số vị
trí bít bằng zero. Một tấn công đổi bít sẽ đổi giá trị của một số vị trí bít từ
0 thành 1 hoặc ngược lại từ 1 thành 0. Các phép cập nhật thông thường có
thể được coi là một tấn công ngẫu nhiên.



Tấn công bằng cách làm tròn số: Kẻ tấn công có thể thử làm mất các dấu
hiệu trong một thuộc tính kiểu số bằng cách làm tròn tất cả các giá trị của
thuộc tính này. Anh ta phải đoán một cách chính xác có bao nhiêu vị trí
tham gia trong thuỷ vân. Nếu anh ta đoán non thì tấn công có thể không
thành công. Nếu đoán già, thì anh ta đã làm giảm chất lượng của dữ liệu
hơn mức cần thiết. Thậm chí, ngay cả khi đoán đúng thì dữ liệu của anh ta
cũng không tương thích với dữ liệu của người chủ dữ liệu vì nó ít chính
xác hơn.



Tấn công tập hợp con: Kẻ tấn công có thể lấy đi một tập con các bộ hoặc
các thuộc tính của quan hệ đã thuỷ vân với hy vọng làm mất thuỷ vân đó.




Tấn công cộng: Mallory có thể cộng thêm thủy vân của anh ta vào quan
hệ đã thủy vân của Alice và đòi quyền sở hữu.



Tấn công ngược lại: Mallory có thể phát động một cuộc tấn công ngược
lại để đòi chủ quyền nếu anh ta có thể khám phá thành công một thủy vân
bịa đặt. Cái thủy vân mà Mallory công bố thực ra chỉ là một xuất hiện
ngẫu nhiên mà thôi.

1.1.4. Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
o Bảo vệ quyền sở hữu: Thủy vân số có thể được dùng để bảo vệ quyền sở
hữu đối với các sản phầm số. Nội dung của các sản phẩm số này sẽ chứa


14

thêm các thông tin về người sở hữu. Khi các sản phẩm số này được sử
dụng bất hợp pháp thì ta có thể dùng bộ dò thủy vân số để phát hiện.
o Chống sao chép bất hợp pháp: Các sản phẩm có chứa thủy vân số biểu
hiện cho việc sản phẩm này không được sao chép, vì nếu sao chép sẽ
phạm luật. Nhà sản xuất trang bị các phương tiện dùng để sao chép (như
CD writer…) đều có khả năng phát hiện xem thủy vân số có chứa trong
sản phẩm số hay không, nếu có thì sẽ từ chối không sao chép. Một số
phần mềm cũng có chức năng này, ví dụ như phần mềm xem phim của
hãng DivX sẽ từ chối chiếu các bộ phim chứa thủy vân số.
o Theo dõi quá trình sử dụng: Thủy vân số có thể được dùng để theo dõi
quá trình sử dụng của các sản phẩm số. Mỗi bản sao của sản phẩm số

được chứa bằng một thủy vân số duy nhất dùng để xác định người sử
dụng là ai. Nếu có sự sao chép bất hợp pháp, ta có thể truy ra người vi
phạm nhờ vào thủy vân số được chứa bên trong sản phẩm số đó.
o Chống giả mạo: Thủy vân số có thể được dùng để chống sự giả mạo. Nếu
có bất cứ sự thay đổi nào về nội dung của các sản phẩm số thì thủy vân số
này sẽ bị hủy đi. Do đó rất khó làm giả sản phẩm số có chứa thủy vân số.
o Theo dõi truyền thông: Các công ty truyền thông và quảng cáo có thể
dùng kỹ thuật thủy vân số để quản lý xem có bao nhiêu khách hàng đã
dùng dịch vụ cung cấp.
o Truyền tin bí mật: Bởi vì thủy vân số là một dạng đặc biệt của việc che
dấu dữ liệu nên người ta có thể dùng để truyền các thông tin bí mật.
1.2.

Các kỹ thuật thủy vân số cho các cơ sở dữ liệu quan hệ
Trong phần trên, luận văn đã trình bày một cách tổng quan về thủy vân số

nói chung. Phần này, luận văn sẽ tập trung trình chi tiết các kỹ thuật thủy vân


15

số cho các cơ sở dữ liệu quan hệ đã được đề xuất từ trước tới nay. Các kỹ
thuật được trình bày ở đây sẽ được phân loại dựa trên các yếu tố sau: (i) Các
kỹ thuật làm thay đổi cơ sở dữ liệu; (ii) Kiểu của dữ liệu mà thủy vân số được
nhúng; (iii) Kiểu của dữ liệu thủy vân số.
Dựa trên yếu tố làm thay đổi cơ sở dữ liệu, các kỹ thuật có thể được phân
loại thành hai nhóm kỹ thuật: Các kỹ thuật làm thay đổi cơ sở dữ liệu và
không làm thay đổi cơ sở dữ liệu.
1.2.1. Kỹ thuật thủy vân số làm thay đổi dữ liệu trong CSDL quan hệ
Các kỹ thuật thủy vân số thuộc loại này, trong giai đoạn nhúng thủy vân

số vào các cơ sở dữ liệu quan hệ thì sẽ làm thay đổi dữ liệu và mức độ thay
đổi được tạo ra trong cơ sở dữ liệu là chấp nhận được và không tạo ra dữ liệu
vô nghĩa. Chúng có thể được thực hiện trên các giá trị thuộc tính có những
kiểu dữ liệu khác nhau như kiểu số (numeric), kiểu xâu (string),…. tại mức bít
hoặc mức ký tự hoặc mức cao hơn (như là mức thuộc tính hoặc mức bản ghi).
1.2.1.1

Kỹ thuật thủy vân số dựa trên thuộc tính kiểu dữ liệu số

 Sử dụng mẫu bít vô nghĩa làm thông tin thủy vân
Các lược đồ kỹ thuật thủy vân số này được đề xuất bởi Agrawal và
những người khác [3], [4], [6] (cũng được biết như là thuật toán AHK), thì
dựa trên thuộc tính kiểu dữ liệu số và được thực hiện tại mức bít. Ý tưởng cơ
bản của các lược đồ này, đảm bảo rằng các vị trí bít trong các thuộc tính của
các bản ghi trong bảng dữ liệu chứa đựng các giá trị cụ thể. Mẫu bít này để
làm thủy vân số. Các bản ghi, các thuộc tính trong bản ghi, các vị trí bít trong
thuộc tính, và các giá trị bít cụ thể tại các vị trí bít đó được xác định trong
thuật toán và được kiểm soát bằng các tham số  ,  ,  và K (chỉ có người sở
hữu cơ sở dữ liệu mới được biết). Các tham số  ,  ,  và K tương ứng biểu


16

diễn số lượng các bản ghi được đánh dấu (được nhúng thủy vân số), số lượng
các thuộc tính được đánh dấu, số lượng các bít ít ý nghĩa được đánh dấu trong
thuộc tính, và cuối cùng là khóa bí mật. Trong [6], hàm mã hóa MAC






H K H K r .P  , r.P là khóa chính của bản ghi r và || mô tả toán tử ghép,

được dùng để xác định các vị trí bít trong thuộc tính được chọn. Hàm HASH

H K r.P  được dùng để xác định các giá trị bít được nhúng tại các vị trí đó.
Vì các hàm MAC và HASH là hàm một chiều nên việc lựa chọn của chúng sẽ
có xung đột thấp. Trong [3], [4], các tác giả dùng bộ sinh dãy ngẫu nhiên (như
bộ ghi dịch chuyển hồi tiếp tuyến tính) thay thế cho HASH và MAC để xác
định các giá trị bít và các vị trí của các bít được đánh dấu. Tính bảo mật và
tính bền vững của lược đồ này phụ thuộc vào các tham số ở trên do người sở
hữu cơ sở dữ liệu cung cấp. Trong thực thế, thuật toán dò thủy vân số của
lược đồ này là không chắc chắn (chưa chắc đã dò được thủy vân số được
nhúng) theo xác suất. Bảng dữ liệu được cho là vi phạm bản quyền nếu mẫu
đối sánh xuất hiện ít nhất  bản ghi, ở đây  phụ thuộc vào số lượng các bản
ghi được dùng để đánh dấu và giá trị  được chọn trước, được gọi là mức độ
ý nghĩa của kiểm tra. Qua thực thế thấy rằng thành công của giai đoạn dò thủy
vân số trong lược đồ này phụ thuộc vào thứ tự của các thuộc tính. Nếu thứ tự
của các thuộc tính được thay đổi, hầu như không thể dò được thủy vân số
được nhúng trong cơ sở dữ liệu. Mặc dù cái chính trong lược đồ này đó là các
bảng dữ liệu phải có khóa chính, giá trị của khóa không được thay đổi, nhưng
họ cũng đề nghị một thay đổi không sử dụng khóa chính. Li et al. [Li et al.,
2003] đưa 3 lược đồ khác nhau để tạo ra khóa chính ảo cho một bảng dữ liệu
không dùng khóa chính.
Trong [7], Lafaye đã phân tích bảo mật cho thuật toán AHK. Tác giả đã
phân tích tính bảo mật và tính bền vững trong hai tính huống: (i) Đa khóa


17


nhưng đơn cơ sở dữ liệu (MKSD): Một cơ sở dữ liệu được nhúng thủy vân số
nhiều lần, mỗi lần dùng các khóa bí mật khác nhau và sau đó bán cho những
người sử dụng khác nhau và (ii) Đơn khóa nhưng đa cơ sở dữ liệu (SKMD):
Vài cơ sở dữ liệu khác nhau được nhúng thủy vân số dùng một khóa bí mật.
Thử nghiệm, thực hiện tấn công ngẫu nhiên trên nội dung được nhúng thủy
vân số bằng thuật toán AHK. Kết quả là thành công khi lấy ngẫu nhiên các bít
ít ý nghĩa tại vị trí thứ  th trong tất cả các bản ghi trong bảng dữ liệu. Tuy
nhiên, tấn công này là xâm phạm ở mức độ cao do vậy phần lớn các giá trị
của bảng dữ liệu là bị tác động của tấn công.
Năm 2006, tác giả Qin et al. đã đưa ra cải tiến trên lược đồ Agrawal và
Kiernan [6]. Thay vì dùng hàm băm, họ dùng các dãy ngẫu nhiên hỗn hợp dựa
trên biểu thức hỗn hợp Logistic, có hai thuộc tính: toán tử lặp và tính nhạy.
Cải tiến này loại bỏ tính xung đột trong sử dụng hàm băm. Lựa chọn các bít
LSB để nhúng thủy vân số gặp hai yêu cầu: vùng dữ liệu và độ chính xác của
mỗi thuộc tính thay vì đơn giản dùng  cho tất các các thuộc tính. Do vậy, lỗi
xảy ra khi nhúng thủy vân giảm đáng kể.
Trong các nghiên cứu gần đây, một lược đồ thủy vân số nghịch đảo dựa
trên các lược đồ của Agrawal và Kiernan [6] đã được đề xuất. Trong lược đồ
này, trong giai đoạn dò thủy vân số, phần không được nhúng thủy vân số của
cơ sở dữ liệu gốc có thể được khôi phục dựa theo xác thực quyền sở hữu. Đầu
tiên, toán tử trích rút một bít OldBit từ phần nguyên của giá trị thuộc tính
trước khi thay thế nó bằng bít thủy vân số và thêm nó vào phần phân số của
giá trị thuộc tính. Do vậy, bít thủy vân số có thể được khôi phục trong khi dò
thủy vân và các thuộc tính có thể được khôi phục tới giá trị không được đánh
dấu của nó bằng cách thay thế bít thủy vân số với bít gốc OldBit được trích
rút từ phần phân số.


×