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

Bảo đảm sự toàn vẹn cho cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân và ứng dụng

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 (736.52 KB, 68 trang )

ĐẠI HỌC THÁI NGUYÊN

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

NGUYỄN THỊ HỒNG

BẢO ĐẢM SỰ TOÀN VẸN CHO CƠ SỞ DỮ LIỆU QUAN
HỆ BẰNG KỸ THUẬT THỦY VÂN VÀ ỨNG DỤNG

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 - 2016


i

LỜI NÓI ĐẦU
Để hoàn thành luận văn này tôi xin chân thành cảm ơn thầy giáo hướng
dẫn PGS.TS Bùi Thế Hồng đã tận tình hướng dẫn chỉ bảo cho tôi trong quá
trình học tập, nghiên cứu và giúp tôi hoàn thành luận văn này.


Tôi xin cảm ơn các Thầy, Cô giáo trong trường Đại học Công nghệ và
truyền thông – Đại học Thái Nguyên đã giúp đỡ tận tình trong quá trình học
tập, nghiên cứu.
Tôi xin gửi lời cảm ơn các Thầy, Cô giáo trong trường TH Kinh tế - Kỹ
thuật Hòa Bình đã tạo điều kiện học tập, nghiên cứu, giúp đỡ tôi rất nhiều
trong quá trình làm luận văn cũng như trong quá trình học tập.
Lời cuối cùng tôi xin chân thành cảm ơn người thân gia đình, bạn bè
đồng nghiệp đã tạo điều kiện giúp đỡ tôi trong quá trình học tập, nghiên cứu.
Thái nguyên, ngày tháng năm 2016

Học viên
Nguyễn Thị Hồng


ii

LỜI CAM KẾT
Tôi xin cam đoan luận văn “Bảo đảm sự toàn vẹn cho cơ sở dữ liệu
quan hệ bằng kỹ thuật thủy vân và ứng dụng” này là công trình nghiên cứu
của tôi dưới sự hướng dẫn khoa học của PGS.TS. Bùi Thế Hồng.
Các kết quả và dữ liệu sử dụng trong luận văn là trung thực và chưa
từng được công bố tại bất kỳ tại công trình nào khác.
Tác giả luận văn

Nguyễn Thị Hồng


iii

MỤC LỤC

LỜI NÓI ĐẦU ............................................................................................... i
LỜI CAM KẾT ............................................................................................ ii
MỤC LỤC ................................................................................................... iii
Danh mục bảng các ký hiệu và chữ viết tắt ............................................... vi
Danh mục các bảng .................................................................................... vii
Danh mục các hình vẽ ............................................................................... viii
MỞ ĐẦU ....................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ ...... 5
1.1. Các khái niệm về cơ sở dữ liệu .......................................................... 5
1.1.1. Cơ sở dữ liệu .................................................................................. 5
1.1.2. Mô hình dữ liệu quan hệ ................................................................. 5
1.1.3. Quan hệ, lược đồ quan hệ ............................................................... 7
1.2. Một số khái niệm về thủy vân cơ sở dữ liệu quan hệ ......................... 8
1.2.1. Thủy vân ........................................................................................ 8
1.2.2. Thủy vân cơ sở dữ liệu quan hệ.................................................... 9
1.2.3. Khóa thủy vân .............................................................................. 10
1.2.4. Lược đồ thủy vân.......................................................................... 11
1.2.5. Sự cần thiết của các kỹ thuật thủy vân cơ sở dữ liệu quan hệ........ 12
1.3. Các yêu cầu của thủy vân trên cơ sở dữ liệu quan hệ ....................... 14
1.3.1. Khả năng có thể phát hiện ............................................................ 15


iv

1.3.2. Tính bền vững và dễ vỡ ................................................................ 15
1.3.3. Khả năng cập nhật dữ liệu ............................................................ 16
1.3.4. Tính ẩn và hiện ............................................................................. 16
1.3.5. Phát hiện mù................................................................................. 17
1.4. Ứng dụng của thủy vân cơ sở dữ liệu quan hệ ................................. 17
1.4.1. Bảo vệ bản quyền ......................................................................... 17

1.4.2. Đảm bảo sự toàn vẹn .................................................................... 18
1.4.3. Giấu vân tay ................................................................................. 19
1.5. Những tấn công trên thủy vân cơ sở dữ liệu quan hệ ....................... 19
1.5.1. Cập nhật thông thường ................................................................. 20
1.5.2. Tấn công có chủ đích.................................................................... 20
1.6. Hàm băm ......................................................................................... 22
1.6.1. Đặc điểm hàm băm MD5.............................................................. 22
1.6.2. Nhận xét về MD5 ......................................................................... 24
1.7. Kết luận chương .............................................................................. 24
CHƯƠNG 2. XÂY DỰNG LƯỢC ĐỒ THỦY VÂN ĐẢM BẢO SỰ TOÀN
VẸN CƠ SỞ DỮ LIỆU QUAN HỆ .............................................................. 26
2.1. Một số lược đồ thủy vân đảm bảo sự toàn vẹn cơ sở dữ liệu quan hệ
............................................................................................................... 26
2.1.1. Thủy vân với thuộc tính phân loại ................................................ 26
2.1.2. Thủy vân với dữ liệu kiểu số ........................................................ 27


v

2.1.3. Thủy vân với dữ liệu không phải kiểu số ...................................... 29
2.2. Xây dựng kỹ thuật thủy vân để đảm bảo sự toàn vẹn cho cơ sở dữ liệu
quan hệ ................................................................................................... 30
2.2.1. Thuật toán nhúng thủy vân ........................................................... 32
2.2.2. Thuật toán phát hiện thủy vân....................................................... 35
2.2.3. Thuật toán xóa thủy vân ............................................................... 41
2.3. Kết luận chương .............................................................................. 41
CHƯƠNG 3. ỨNG DỤNG THỬ NGHIỆM ................................................. 42
3.1. Xây dựng thử nghiệm thủy vân........................................................ 42
3.1.1. Đặt vấn đề .................................................................................... 42
3.1.2. Cơ sở dữ liệu ứng dụng ................................................................ 42

3.1.3. Thiết kế chương trình ................................................................... 44
3.2. Đánh giá kết quả thử nghiệm ........................................................... 48
3.2.1. Thử nghiệm chương trình ............................................................. 48
3.2.2. Đánh giá kết quả thử nghiệm ........................................................ 56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................... 57
TÀI LIỆU THAM KHẢO.......................................................................... 58


vi

Danh mục bảng các ký hiệu và chữ viết tắt
Ký hiệu

Ý nghĩa của ký hiệu

R
r

Lược đồ quan hệ
Quan hệ thuộc lược đồ R

v

Số bộ trên quan hệ r



Tập thuộc tính trên quan hệ r

α


Giá trị cho trước

K

Khóa thủy vân

P

Mật độ thủy vân

ξ

Bộ dữ liệu thay đổi

W

Thủy vân
Bộ đã thủy vân trên quan hệ

t
H()
k
S
F
a
D

Bộ trong D
Hàm băm

Khóa chính
Kích thước tập dữ liệu D
Hàm khoảng cách
Giá trị thuộc tính
Tập dữ liệu


vii

Danh mục các bảng

Bảng 1.1. Biểu diễn quan hệ r ...................................................................... 13
Bảng 3.1. Một số bộ trong quan hệ Giáo viên (GiaoVien) ............................ 48
Bảng 3.2. Một số bộ trong quan hệ Môn học (MonHoc) ............................... 48
Bảng 3.3. Một số bộ trong quan hệ Sổ điểm (SoDiem) ................................. 49
Bảng 3.4. Một số bộ trong quan hệ Lớp học (LopHoc) ................................. 49
Bảng 3.5. Một số bộ trong quan hệ Điểm Tốt Nghiệp (DTN) ........................ 50
Bảng 3.6. Một số bộ trong quan hệ Văn Bằng (VanBang) ............................ 50
Bảng 3.7. Một số bộ trong quan hệ Điểm quá trình (DiemQT) ..................... 50
Bảng 3.8. Một số bộ trong quan hệ Sinh viên (SinhVien).............................. 51
Bảng 3.9. Một số bộ quan hệ GiaoVien đã thủy vân ..................................... 51
Bảng 3.10. Một số bộ quan hệ MonHoc đã thủy vân .................................... 52
Bảng 3.11. Một số bộ quan hệ SoDiem đã thủy vân...................................... 52
Bảng 3.12. Kết quả kiểm tra thủy vân khi có sự tác động thêm bộ ................ 54
Bảng 3.13. Kết quả kiểm tra thủy vân khi có sự tác động sửa bộ .................. 55
Bảng 3.14. Kết quả kiểm tra thủy vân khi có sự tác động xóa bộ .................. 55


viii


Danh mục các hình vẽ
Hình 1.1. Sơ đồ mô tả lược đồ nhúng thủy vân ............................................. 12
Hình 1.2. Sơ đồ mô tả lược đồ phát hiện thủy vân ........................................ 12
Hình 1.3. Sơ đồ vòng lặp chính của MD5 .................................................... 24
Hình 2.1. Sự thay đổi của tham số mật độ thủy vân phát hiện trên các tập con
khác nhau có cỡ tối thiểu (N) từ tổng cộng 100.000 bản ghi. Ba đường cong
trong hình này tương ứng với ba giá trị khác nhau của n và p. .................. 39
Hình 2.2. Tỷ lệ các bộ bị sửa đổi với các giá trị P khác nhau ....................... 40
Hình 3.1. Lược đồ cơ sở dữ liệu thử nghiệm ................................................. 44
Hình 3.2. Giao diện chương trình ................................................................. 45
Hình 3.3. Cửa sổ thông báo cơ sở dữ liệu đã thủy vân ................................. 46
Hình 3.4. Cửa sổ thông báo kiểm tra toàn vẹn cơ sở dữ liệu ........................ 46
Hình 3.5. Cửa sổ thông báo kiểm tra toàn vẹn cơ sở dữ liệu ........................ 47
Hình 3.6. Cửa sổ thông báo xóa thủy vân ..................................................... 47
Hình 3.7. Cửa sổ thông báo khi sai tên cơ sở dữ liệu.................................... 53


1

MỞ ĐẦU
1. Đặt vấn đề
Cùng với sự phát triển mạnh mẽ của ngành khoa học công nghệ thông
tin, Internet đã trở thành một nhu cầu, phương tiện không thể thiếu đối với
mọi người. Với lượng thông tin lớn được truyền qua mạng thì nguy cơ dữ liệu
bị truy cập trái phép cũng tăng lên.
Trong bối cảnh như vậy, việc thực thi quyền sở hữu dữ liệu và đảm bảo
sự toàn vẹn dữ liệu là một yêu cầu quan trọng đòi hỏi các giải pháp đồng bộ,
bao gồm các khía cạnh về kỹ thuật, về tổ chức và cả luật pháp. Đi tìm giải
pháp cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức
tạp đang phát triển rất nhanh này mà còn đưa ra những cơ hội kinh tế mới cần

khám phá. Một trong các giải pháp nhiều triển vọng là thủy vân.
Thủy vân là một phương pháp dùng để bảo vệ các sản phẩm số. Nó có
thể được dùng trong các lĩnh vực bảo vệ bản quyền, chống sao chép, phân biệt
giả mạo,....Thủy vân là phương pháp mới dựa trên lý thuyết tổng hợp của
nhiều lĩnh vực như mật mã học, lý thuyết thông tin, xử lý ảnh, xử lý tín hiệu
số. Mục đích của phương pháp này là dấu thêm một lượng thông tin vào sản
phẩm và lượng thông tin này gọi là thủy vân.
Thuỷ vân đã được sử dụng với mong muốn có thể cho phép chứng
minh được tác giả và nguồn gốc của cơ sở dữ liệu để từ đó chứng minh dữ
liệu là chuẩn xác. Bảo vệ bản quyền, xác thực thông tin, nhận dạng các đặc
trưng duy nhất của dữ liệu quan hệ hiện đang là một nhu cầu cấp thiết và là
thách thức mới đối với các kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ.
Các ứng dụng và sản phẩm số trong đó bao gồm cả cơ sở dữ liệu quan
hệ được phát triển và phân phối rộng khắp. Do cơ sở dữ liệu quan hệ có nhiều


2

ngữ cảnh ứng dụng trong đó dữ liệu trở nên thành một tài sản quan trọng, vì
vậy vấn đề về quyền sở hữu và đảm bảo sự toàn vẹn dữ liệu phải được thực
thi một cách cẩn thận. Ví dụ dữ liệu về thời tiết, dữ liệu về thị trường chứng
khoán, dữ liệu về hành vi của khách hàng, dữ liệu về điều tra dân số, dữ liệu y
học và khoa học, trong giáo dục, ...Việc nhúng thuỷ vân vào dữ liệu quan hệ
có thể thực hiện được bởi trong thực tế, các dữ liệu thật có thể chấp nhận một
dung sai nhỏ mà vẫn không ảnh hưởng đáng kể đến giá trị sử dụng của chúng.
Việc quản lý bản quyền và đảm bảo sự toàn vẹn các dữ liệu quan hệ
bằng thuỷ vân đã và đang trở thành một chủ đề quan trọng trong các nghiên
cứu về cơ sở dữ liệu. Thủy vân cơ sở dữ liệu quan hệ đang nhận được nhiều
sự quan tâm cũng như nghiên cứu của các chuyên gia trên thế giới và trong
nước.

Xuất phát từ thực tế trên, luận án lựa chọn đề tài “Bảo đảm sự toàn
vẹn cho cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân và ứng dụng”,
nhằm nghiên cứu kỹ thuật thủy vân đối với cơ sở dữ liệu quan hệ nhằm xác
minh sự toàn vẹn dữ liệu.
2. Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu luận văn là lược đồ thủy vân áp dụng trên cơ sở
dữ liệu quan hệ cụ thể là nghiên cứu xây dựng nhúng và phát hiện thủy vân để
đảm bảo toàn vẹn cơ sở dữ liệu quan hệ.
Phạm vi nghiên cứu của đề tài là nghiên cứu xây dựng nhúng và phát
hiện thủy vân để giải quyết bài toán xác minh tính toàn vẹn đối với cơ sở dữ
liệu quan hệ của trường TH Kinh tế - Kỹ thuật Hòa Bình.


3

3. Hướng nghiên cứu của đề tài
Luận văn nghiên cứu, tìm hiểu thủy vân cơ sở dữ liệu quan hệ, xây
dựng lược đồ thủy vân đảm bảo sự toàn vẹn cơ sở dữ liệu quan hệ, lựa chọn
phương pháp phù hợp và ứng dụng thử nghiệm dựa trên phương pháp lựa
chọn.
Luận văn tập trung nghiên cứu dựa trên phương pháp thủy vân đơn
giản nhưng hiệu quả dựa vào việc hoán vị các thuộc tính. Ý tưởng của phương
pháp này là hoán vị một vài giá trị thuộc tính trên cùng một cột của cơ sở dữ
liệu trên các bộ khác nhau trong khi những thuộc tính khác được giữ nguyên.
Nếu dữ liệu là số thì một thay đổi như vậy sẽ không ảnh hưởng tới bất kỳ một
thống kê nào. Nếu các giá trị thuộc tính có thể được kiểm soát tự động thì
cách tiếp cận này không dẫn đến một điểm yếu nào khi hầu hết các giá trị
thuộc tính được giữ nguyên trừ một vài giá trị bị hoán vị giữa các bộ và đảm
bảo được tính toàn vẹn đối với cơ sở dữ liệu quan hệ. Dựa trên phương pháp
này nghiên cứu đưa ra lược đồ thủy vân đảm bảo sự toàn vẹn cơ sở dữ liệu mà

không bị thay đổi dữ liệu gốc dù là nhỏ nhất. Ứng dụng dựa trên phương pháp
nghiên cứu đưa ra để cài đặt thử nghiệm đối với cơ sở dữ liệu quan hệ nói
chung và thử nghiệm trên cơ sở dữ liệu trường TH Kinh tế - Kỹ thuật Hòa
Bình nói riêng.
4. Phương pháp nghiên cứu
Luận văn thuộc ngành khoa học máy tính nên chủ yếu sử dụng phương
pháp tiếp cận lý thuyết, sau đó áp dụng những lý thuyết cụ thể sử dụng phần
mềm C# để lập trình kiểm chứng.
Cụ thể sử dụng các phương pháp nghiên cứu chính sau:


4

- Phương pháp nghiên cứu lý thuyết: Thu thập tài liệu về thủy vân, thủy
vân trong cơ sở dữ liệu quan hệ. Từ đó nghiên cứu lý thuyết các phương pháp
thủy vân cơ sở dữ liệu quan hệ đảm bảo sự toàn vẹn cho cơ sở dữ liệu và bảo
vệ bản quyền, đồng thời đưa ra phương pháp để giải quyết bài toán đảm bảo
tính toàn vẹn cơ sở dữ liệu quan hệ. Phân tích phương pháp thủy vân dựa vào
phép hoán vị các thuộc tính nhằm giải quyết bài toán.
- Phương pháp thực nghiệm: Luận văn lựa chọn một số dữ liệu trong
Trường TH Kinh tế - Kỹ thuật để thực hiện thủy vân. Cài đặt thử nghiệm trên
C# sau đó đánh giá kết quả đạt được.
5. Ý nghĩa khoa học của đề tài
Nắm được một số kỹ thuật thủy vân, đưa ra cơ sở khoa học của việc lựa
chọn kỹ thuật để mã hoá và giải mã thuỷ vân cơ sở dữ liệu quan hệ đảm bảo
tính toàn vẹn.
Xây dựng cơ sở khoa học bài toán đảm bảo tính toàn vẹn cơ sở dữ liệu
quan hệ.
6. Những nội dung nghiên cứu chính
Luận văn ngoài các phần mở đầu và phần kết luận, luận văn được trình

bày thành ba chương như sau:
Chương 1. Tổng quan thủy vân cơ sở dữ liệu quan hệ.
Chương 2. Xây dựng lược đồ thủy vân đảm bảo sự toàn vẹn cơ sở dữ
liệu quan hệ.
Chương 3. Ứng dụng thử nghiệm.


5

CHƯƠNG 1. TỔNG QUAN THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
1.1. Các khái niệm về cơ sở dữ liệu
1.1.1. Cơ sở dữ liệu
Định nghĩa 1.1:
Cơ sở dữ liệu là một bộ sưu tập rất lớn về các loại dữ liệu tác nghiệp,
bao gồm các loại dữ liệu âm thanh, tiếng nói, chữ viết, văn bản, đồ hoạ, hình
ảnh tĩnh hay hình ảnh động....được mã hoá dưới dạng các chuỗi bit và được
lưu trữ dưới dạng File dữ liệu trong các bộ nhớ của máy tính [2].
Định nghĩa 1.2:
Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, mô hình
hóa các đối tượng của một phần thế giới thực (một công việc, một trường
học,…) [1].
1.1.2. Mô hình dữ liệu quan hệ
Mô hình quan hệ biểu thị cơ sở dữ liệu như một tập các quan hệ. Mỗi
quan hệ có thể được biểu diễn như một bảng giá trị, mỗi dòng trong bảng biểu
thị một tập hợp các giá trị dữ liệu liên quan với nhau.
Trong quá trình thiết kế và xây dựng các hệ quản trị cơ sở dữ liệu,
người ta tiến hành xây dựng các mô hình dữ liệu. Mô hình dữ liệu phải thể
hiện được các mối quan hệ bản chất của các dữ liệu mà dữ liệu này phản ánh
các mối quan hệ và các thực thể trong thế giới thực. Mô hình dữ liệu phản ánh
khía cạnh cấu trúc logic mà không đi sâu vào khía cạnh vật lý của cơ sở dữ

liệu. Mô hình dữ liệu là một sự hình thức hóa toán học với một tập ký hiệu để
mô tả dữ liệu và một tập các phép toán được sử dụng để thao tác các dữ liệu
này. Khi xây dựng các mô hình dữ liệu cần phân biệt các thành phần cơ bản
sau:


6

-

Thực thể: Là đối tượng có trong thực tế mà chúng ta cần mô tả

các đặc trưng của nó.
-

Thuộc tính: Là các dữ liệu thể hiện các đặc trưng của thực thể.

-

Ràng buộc: Là các mối quan hệ logic của các thực thể.

Ba thành phần cơ bản trên được thể hiện ở hai mức:
Mức loại dữ liệu: là sự khái quát hóa các ràng buộc, các thuộc

-

tính, các thực thể cụ thể.
-

Mức thể hiện: Là một ràng buộc cụ thể, hoặc là các giá trị thuộc


tính, hoặc là một thực thể cụ thể.
Trên thực tế có một số mô hình dữ liệu đã được nghiên cứu:
-

Mô hình dữ liệu mạng: Thể hiện trực tiếp các ràng buộc tùy ý

giữa các loại bản ghi. Là mô hình dữ liệu được biểu diễn bởi một đồ thị có
hướng.
-

Mô hình dữ liệu quan hệ: Các ràng buộc được thể hiện qua các

quan hệ tức là bảng giá trị. Mô hình dựa trên lý thuyết tập hợp và đại số quan
hệ. Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã
mô tả dữ liệu một cách rõ ràng, uyển chuyển và trở thành rất thông dụng. Mô
hình dữ liệu quan hệ được quan tâm là vì nó được xây dựng trên cơ sở toán
học chặt chẽ. Mô hình dữ liệu quan hệ cung cấp các khái niệm chặt chẽ được
hình thức hóa cao, cho phép áp dụng các cộng cụ toán học, các thuật toán tối
ưu trên mô hình dữ liệu quan hệ. Mô hình dữ liệu quan hệ được trừu tượng
hóa cao và chỉ dừng ở mức logic.
-

Mô hình dữ liệu hướng đối tượng: Cho phép biểu diễn dữ liệu tự

nhiên và sát với thực tế hơn cả. Tuy nhiên cho đến nay, chưa có một cơ sở
toán học tốt hình thức hóa ở mức cao, chặt chẽ đối với mô hình này.


7


1.1.3. Quan hệ, lược đồ quan hệ
Định nghĩa 1.3: Quan hệ
Cho U = {A1, A2, …, An} là một tập hữu hạn không rỗng các thuộc
tính. Mỗi thuộc tính Ai (i =1, 2, …,

) có miền giá trị là Dom(Ai). Khi đó r là

một tập các bộ {r1, r2, …, rm} được gọi là quan hệ trên U với rj (j = 1, 2, …,
m) là một hàm rj: U 

D

Ai

sao cho rj.Ai

Dom(Ai) (i =1, 2, …, ).

Ai U

Định nghĩa 1.4: Quan hệ
Cho một quan hệ r xác định trên tập thuộc tính Ω = {A1, A2, …, An}.
Khi đó r = Dom (A1) x Dom (A2) x … x Dom (An), trong đó Dom (Ai) là
miền của thuộc tính Ai là tập các giá trị có thể của thuộc tính đó. Như vậy
quan hệ r là một tập hợp các n_bộ có dạng:
r = {(a1, a2, …, an) | ai

Dom (Ai), i = 1, 2, …, n}


Có thể xem một quan hệ như một bảng, trong đó mỗi hàng (phần tử) là
một bộ và mỗi cột tương ứng với một thành phần gọi là thuộc tính. Biểu diễn
quan hệ r thành bảng như sau:
A1

A2



An

r1

r1.A1

r1.A2



r1.An

r2

r2.A1

r2.A2



r2.An












rm

rm.A1

rm.A2



rm.An

Bảng 1.1. Biểu diễn quan hệ r
Định nghĩa 1.5: Lược đồ quan hệ
Tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa
chúng được gọi là lược đồ quan hệ.
Lược đồ quan hệ R với tập thuộc tính U = {A1, A2, ..., An} được viết là
R(U) hoặc R(A1, A2, .., An).


8


Định nghĩa 1.6: Lược đồ quan hệ
Một lược đồ quan hệ R, ký hiệu là R(A1, A2, .., An) được tạo nên từ một
tên quan hệ R của một danh sách các thuộc tính A1, A2, .., An. Mỗi thuộc tính
Ai là tên vai trò của một miền D nào đó trong lược đồ quan hệ R [1].
1.2. Một số khái niệm về thủy vân cơ sở dữ liệu quan hệ
1.2.1. Thủy vân
“Thuỷ vân” 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).
Nhúng thủy vân (watermarking) là một trong những kỹ thuật giấu dữ
liệu hiện đại, là quá trình chèn thông tin vào dữ liệu đa phương tiện nhưng
bảo đảm không nhận biết được, nghĩa là chỉ làm thay đổi nhỏ dữ liệu gốc.
Thông thường người ta chỉ đề cập đến nhúng thủy vân số. Một tập các dữ liệu
số thứ cấp - gọi là mã đánh dấu bản quyền hay thủy vân, được nhúng vào dữ
liệu số sơ cấp - gọi là dữ liệu bao phủ (ví dụ như văn bản, hình ảnh, âm thanh
và phim số, ...). Dữ liệu sau quá trình nhúng được gọi là dữ liệu nhúng.
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 xác thực thông tin, đảm bảo sự toàn vẹn dữ liệu.


9

1.2.2. Thủy vân cơ sở dữ liệu quan hệ
Hiện nay Internet phát triển với tốc độ nhanh và cùng với sự pháp triển
của khoa học công nghệ các sản phẩm kỹ thuật số càng phát triển mạnh. 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. Việc bảo vệ dữ
liệu khi mà Internet phát triển mạnh hiện đang đưa đến một sức ép 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ụ 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.
Vì vậy, việc thực thi quyền sở hữu dữ liệu, đảm bảo sự toàn vẹn cho dữ
liệu là một yêu cầu quan trọng đòi hỏi các giải pháp đồng bộ, bao gồm các
khía cạnh về kỹ thuật, về tổ chức và cả luật pháp. Mặc dù vẫn chưa có được
những giải pháp toàn diện như vậy nhưng trong các năm gần đây, các kỹ thuật
thuỷ vân đã đóng vai trò quyết định nhằm giải quyết vấn đề này. Những kỹ
thuật như vậy cho phép người chủ dữ liệu có thể nhúng một thuỷ vân ẩn vào
dữ liệu. Việc nhúng thông tin an toàn đòi hỏi thuỷ vân được nhúng trong dữ
liệu không thể bị làm giả mạo hoặc bị tẩy xoá một cách dễ dàng. Nhúng ẩn có
nghĩa là thuỷ vân không thể nhìn thấy được trong dữ liệu. Hơn nữa, việc phát
hiện thuỷ vân được thực hiện theo phương pháp mù, tức là không đòi hỏi dữ

liệu gốc cũng như thuỷ vân gốc. Đã có một số kỹ thuật thuỷ vân được phát
triển để nhúng thủy vân phim, âm thanh, ảnh và dữ liệu văn bản.
Định nghĩa 1.7: Thủy vân cơ sở dữ liệu quan hệ
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


10

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ỡ.
Một thuỷ vân có thể được áp dụng cho một cơ sở dữ liệu quan hệ,
chẳng hạn như có các thuộc tính mang một đặc điểm là những thay đổi nhỏ tại
một số giá trị của chúng không làm ảnh hưởng đến các ứng dụng. Ví dụ, dữ
liệu khí tượng được sử dụng để xây dựng các mô hình dự báo thời tiết. Độ
chính xác của vectơ gió và nhiệt độ tương ứng trong dữ liệu này được đo
chính xác đến 1.8 m/s và 0.5oC. Các sai số được đưa vào do thuỷ vân có thể
dễ dàng được hạn chế trong sự cho phép của các dữ liệu này. Hay một ví dụ
khác các nhà xuất bản sách khi in các bảng toán học (như các bảng logarit và
lịch thiên văn) thường cố ý đưa vào một số lỗi nhỏ để có thể dễ dàng nhận
dạng các bản sao bị ăn cắp.
1.2.3. Khóa thủy vân
Để chủ sở hữu của 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 và được định nghĩa như sau:
Định nghĩa 1.8: 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 ở


11

đây chính là việc ta 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ở 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.
1.2.4. 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. Khi nhúng thủy vân, một khóa thủy vân K do 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 trong
môi trường Internet. Để xác minh quyền sở hữu của một cơ sở dữ liệu đáng
ngờ, quá trình xác minh cơ sở dữ liệu bị nghi ngờ được thực hiện như là đầu
vào và bằng cách sử dụng khóa thủy vân K (được sử dụng trong giai đoạn
nhúng) thủy vân nhúng (nếu có) được lấy ra và so sánh với các thông tin thủy
vân ban đầu.


12


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)
Hình 1.1. Sơ đồ mô tả lược đồ nhúng thủy vân
Khóa K

Cơ sở dữ liệu

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.2. Sơ đồ mô tả lược đồ phát hiện thủy vân
1.2.5. Sự cần thiết của các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Các tài liệu về thuỷ vân các dữ liệu đa phương tiện hiện nay khá nhiều.

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. Có rất nhiều kết quả của thuỷ vân


13

dữ liệu đa phương tiện có thể áp dụng cho thủy vân cơ sở dữ liệu quan hệ,
nhưng đế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 thường chứa một lượng các bit

dư thừa. 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. Cho nên,
các kỹ thuậ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 thể 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 và 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 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.
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ệ.


14

Giả sử chúng ta á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 “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ệ rất 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.
1.3. Các yêu cầu của thủy vân trên cơ sở dữ liệu quan hệ
Thủy vân các cơ sở dữ liệu quan hệ có những thách thức đối với các kỹ
thuật và các ứng dụng thực tế có ý nghĩa đáng được quan tâm từ phía cộng
đồng những người nghiên cứu cơ sở dữ liệu quan hệ. 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 sẽ dựa vào phần lớn các nguyên tắc thủy vân đang tồn tại. Tuy


15

nhiên, chúng cũng sẽ đòi hỏi phải có những mở rộng và các nghiên cứu sâu
hơn [7].
Giả sử, có quan hệ r thuộc lược đồ quan hệ R có v bộ, trong đó chủ dữ
liệu đã thủy vân

bộ. Hệ thống thủy vân cần phải thỏa mãn những tính chất

sau đây:
1.3.1. Khả năng có thể phát hiện
Chủ dữ liệu cần phải có khả năng phát hiện (Detectability) thủy vân
bằng cách xem xét v bộ từ cơ sở dữ liệu nghi ngờ. Rõ ràng là nếu chủ dữ liệu
phát hiện mẫu thủy vân có mặt ở tất cả v bộ thì chủ sở hữu có lý do xác đáng
để nghi ngờ có sự sao chép trái phép. Tuy nhiên, chủ sở hữu cũng có thể ngờ
vực ngay cả khi phát hiện mẫu thủy vân chỉ có mặt ở ít nhất là
trong đó

bộ (


v),

phụ thuộc vào v 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 để chủ sở

hữu sẽ tìm thấy mẫu thủy vân của mình trong ít nhất

bộ từ v bộ là nhỏ hơn

α.
Một hướng khác, người được ủy quyền sử dụng cơ sở dữ liệu quan hệ
muốn xác nhận dữ liệu được gửi từ chủ sở hữu là nguyên vẹn không bị thay
đổi trong quá trình gửi. Cơ sở dữ liệu quan hệ được gửi từ chủ sở hữu phải
chứa thủy vân đã được nhúng v bộ sẽ được xem xét để xác minh tính toàn vẹn
của dữ liệu. Khi có bất kỳ thay đổi nào trong dữ liệu được thủy vân thì cơ sở
dữ liệu đó đã bị sửa đổi. Người được ủy quyền sử dụng cơ sở dữ liệu quan hệ
có thể yêu cầu chủ sở hữu gửi lại dữ liệu hoặc có thể khoanh vùng các giả
mạo và vẫn có thể sử dụng được các dữ liệu không bị giả mạo bên trong.
1.3.2. Tính bền vững và dễ vỡ
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ỏ. Ví
như, kẻ tấn công thay đổi

bộ trong quan hệ r của chủ sở hữu. Khi đó, 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á



16

hủy các dấu hiệu thủy vân ở ít nhất

bộ, trong đó

phụ thuộc vào v và

như

đã nói ở trên.
Ngược lại, trong các lược đồ thủy vân dễ vỡ, khi có bất kỳ tấn công nào
lên dữ liệu thì các thủy vân không còn nguyên vẹn. Vì vậy, kẻ tấn công dữ
liệu mong muốn thay đổi

bộ trong quan hệ r của chủ sở hữu mà vẫn không

làm thay đổi thủy vân. Khi đó, nếu những thay đổi của kẻ tấn công làm thay
đổi các thủy vân được giấu thì ta có thể kết luận rằng quan hệ đã bị tấn công.
1.3.3. Khả năng cập nhật dữ liệu
Sau khi quan hệ r đã thủy vân, chủ sở hữu có thể cập nhật quan hệ r khi
cần thiết mà không làm hỏng thủy vân. Khi chủ sở hữu 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.
Tuy nhiên, khi quan hệ r đã thủy vân được cập nhật dữ liệu thì kẻ tấn
công dữ liệu sẽ xem đây là các tấn công trên quan hệ r. Để giải quyết vấn đề
này, chủ sở hữu có thể cập nhật, thủy vân lại quan hệ r và gửi sang cho người
được ủy quyền sử dụng dữ liệu. Vấn đề này giải quyết cho bài toán đảm bảo
tính toàn vẹn của quan hệ trong quá trình truyền tải.

1.3.4. Tính ẩn và hiện
Đối với thuỷ vân ẩn, dữ liệu sau khi thủy vân không dễ nhận thấy được
bằng mắt thường của con người (trừ chủ dữ liệu). 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 đáng kể.
Tuy nhiên, trong một số trường hợp, thủy vân có tính hiện, dễ dàng
nhận thấy bằng mắt thường hoặc bằng một số phương pháp kiểm tra. Nhưng
sự thay đổi do các thủy vân gây ra cho dữ liệu quan hệ không làm ảnh hưởng


×