Tải bản đầy đủ (.doc) (67 trang)

Bảo vệ cơ sở dữ liệu bằng kỹ thuật thủy vân dựa vào giải thuật di truyền và thuật toán mở rộng hiệu

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 (947.55 KB, 67 trang )

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

PHẠM VIẾT HOÀI

BẢO VỆ CƠ SỞ DỮ LIỆU BẰNG KỸ THUẬT THỦY VÂN DỰA VÀO GIẢI THUẬT DI
TRUYỀN VÀ THUẬT TOÁN MỞ RỘNG HIỆU

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

Thái Nguyên - 2015


2


LỜI CẢM ƠN

MỤC LỤC
.......................................................................................5

CHƯƠNG 1.TỔNG QUAN .......................................................................7
1.1.Một số khái niệm cơ bản ......................................................................7
1.1.1.Khái niệm cơ sở dữ liệu .....................................................................7
1.1.2.Mô hình cơ sở dữ liệu quan hệ...........................................................7
1.1.3.Thủy vân số ..................................................................................... 10
1.1.4.Thủy vân CSDL quan hệ ................................................................. 13
1.2.

Các tính chất của thủy vân trên CSDL quan hệ .............................. 15



1.2.1.Khả năng có thể phát hiện ............................................................... 15
1.2.2.Tính bền vững và dễ vỡ ................................................................... 16
1.2.3.Khả năng cập nhật phần tăng thêm .................................................. 16
1.2.4.Không dễ cảm nhận được ................................................................ 16
1.3.Một số phép tấn công trên hệ thủy vân CSDL quan hệ ....................... 16
1.3.1.Cập nhật thông thường .................................................................... 17
1.3.2.Tấn công có chủ đích ....................................................................... 17
1.4.Các ứng dụng chủ yếu của thủy vân trên CSDL quan hệ .................... 17
1.4.1.Bảo vệ bản quyền CSDL ................................................................. 18
1.4.2.Xác thực tính toàn vẹn của CSDL.................................................... 18
1.4.3.Dán nhãn ......................................................................................... 18
1.4.4.Điều khiển truy cập ......................................................................... 18
1.4.5.Điều khiển sao chép......................................................................... 19
1.5.Thủy vân CSDL không thuận nghịch bằng phương pháp LSB ........... 19
1.5.1.Thuật toán nhúng thủy vân .............................................................. 21
1.5.2.Thuật toán trích dấu thủy vân .......................................................... 22
CHƯƠNG 2. THỦY VÂN CSDL QUAN HỆ BẲNG GIẢI THUẬT DI TRUYỀN VÀ PHƯƠNG
PHÁP MỞ RỘNG ........................................... 24
1.6.Một số phương pháp thủy vân trên CSDL quan hệ ............................. 24
1.7.Phương pháp mở rộng hiệu................................................................. 26


3


1.7.1.Phép biến đổi Haar nguyên trên một cặp giá trị ............................... 26
1.7.2.Phương pháp mở rộng hiệu.............................................................. 28
1.8.Thủy vân mở rộng hiệu kết hợp với thuật toán di truyền .................... 39
1.8.1.Giải thuật di truyền .......................................................................... 40

1.8.2.Hàm thích nghi ................................................................................ 42
1.8.3.Nhúng thủy vân ............................................................................... 44
1.8.4.Trích dấu thủy vân........................................................................... 46
1.8.5.Phân tích độ phức tạp tính toán........................................................ 47
CHƯƠNG 3.XÂY DỰNG PHẦN MỀM THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
..................................................................................... 49
1.9.Tổng quan về .NET ........................................................................... 49
1.9.1.Khái niệm .NET .............................................................................. 49
1.9.2.Visual Studio.Net ............................................................................ 50
1.9.3.Giới thiệu ngôn ngữ lập trình C# ..................................................... 51
1.10.Hệ quản trị cơ sở dữ liệu SQL Service 2008 ..................................... 53
1.10.1.Tổng quan về SQL......................................................................... 53
1.10.2.Hệ quản trị cơ sở dữ liệu SQL Server 2008 ................................... 55
1.11.Mô hình hoạt động của phần mềm .................................................... 55
1.12.Một số giao diện của phần mềm ....................................................... 57
KẾT LUẬN

..................................................................................... 59


4


LỜI CẢM ƠN
Để hoàn thành được luận văn này tôi đã nhận được rất nhiều sự động viên, giúp
đỡ của nhiều cá nhân và tập thể.
Trước hết, tôi xin bày tỏ lòng biết ơn sâu sắc và sự tôn kính đến
PGS. TS. Phạm Văn Ất đã hướng dẫn tôi thực hiện nghiên cứu luận văn của mình.
Xin cùng bày tỏ lòng biết ơn chân thành tới TS Đỗ Văn Tuấn các thầy cô giáo,
người đã đem lại cho tôi những kiến thức bổ trợ, vô cùng có ích trong trong thời gian

thực hiện đề tài và trong những năm học vừa qua.
Đồng thời xin gửi lời cám ơn chân thành tới Ban Giám hiệu, Phòng Đào tạo sau
đại học, Đại học công nghệ thông tin & truyền thông đã tạo điều kiện cho tôi trong
quá trình học tập.
Cuối cùng tôi xin gửi lời cám ơn đến gia đình, bạn bè, những người đã luôn
bên tôi, động viên và khuyến khích tôi trong quá trình thực hiện đề tài nghiên cứu của
mình.


5


ĐẶT VẤN ĐỀ
Truy cập Internet một cách dễ dàng đã thúc đẩy sự tăng trưởng của nhiều ngành
nghề khác nhau và nhiều lĩnh khác. Ngày nay, việc chia sẻ thông tin trực tuyến là một
hoạt động quan trọng đối với kinh doanh và nghiên cứu,không những vậy, nó còn liên
quan đến việc mua bán của cơ sở dữ liệu. Ví dụ, chia sẻ dữ liệu liên quan đến thời
tiết, thị trường chứng khoán, tiêu thụ điện năng, y tế, khoa học… vv được thực hiện
thường xuyên. Do đó, có một nhu cầu lớn trong việc cung cấp bảo mật cơ sở dữ
liệu để ngăn cản việc sao chép và phân phối bất hợp pháp trong môi trường internet.
Kỹ thuật thuỷ vân đang được xem là một trong những giải pháp đạt được kết quả
cao trong việc bảo vệ bản quyền và xác thực tính toàn vẹn của dữ liệu số. Vì vậy những
năm gần đây xuất hiện một hướng nghiên cứu mới là thủy vân thuận nghịch Trong
giấu tin và thủy vân thuận nghịch thường sử dụng các phép biến đổi nguyên khả
nghịch như dịch chuyển Histogram, Wavelet nguyên, phép biến đổi tương phản, phép
biến đổi theo thuật toán di truyền, phép biến đổi mở rộng hiệu, ….Trong số đó kỹ
thuật giấu tin và thủy vân dựa trên phép biến đổi theo giải thuật di truyền và mở rộng
hiệu đạt được hiệu quả cao nên đang được nhiều người quan tâm. Chính vì vậy
em chọn đề tài “Bảo vệ CSDL bằng kỹ thuật thủy vân dựa vào giải thuật di truyền và thuật toán
mở rộng hiệu” làm luận văn tốt nghiệp của mình.

Nội dung luận văn được tổ chức thành 3 chương: Chương 1. Tổng quan,
Chương 2. Thủy vân CSDL bằng giải thuật di truyền và phương pháp mở rộng hiệu,
Chương 3. Phần mềm thủy vân cơ sở dữ liệu quan hệ.


6


CHƯƠNG 1.

TỔNG QUAN

1.1. Một số khái niệm cơ bản
Phần này trình bày một số khái niệm cơ bản về cơ sở dữ liệu, thủy vân số nói
chung và thủy vân cơ sở dữ liệu nói riêng.
1.1.1. Khái niệm cơ sở dữ liệu
Cơ sở dữ liệu là bộ sưu tập về các loại dữ liệu tác nghiệp bao gồm: chữ viết,
văn bản, đồ họa, hình ảnh,... được lưu trữ dưới dạng file dữ liệu trên băng từ, đĩa
từ,... Cấu trúc lưu trữ dữ liệu tuân theo các nguyên tắc dựa trên lý thuyết toán học. Cơ
sở dữ liệu là tài nguyên thông tin dùng chung cho nhiều người, bất kỳ người dùng nào
có quyền sử dụng, khai thác toàn bộ hay một phần đều có thể sử dụng và khai thác
nó nhằm thỏa mãn nhu cầu khai thác thông tin
1.1.2. Mô hình cơ sở dữ liệu quan hệ
Mô hình cơ sở dữ liệu quan hệ được tiến sĩ E.F. Codd phát triển vào năm 1970.
Loại cơ sở dữ liệu này đã loại bỏ được những vấn đề liên quan đến các thiết kế cơ sở
dữ liệu khác. Sử dụng mô hình này có thể giảm thiểu việc dư thừa dữ liệu, tiết kiệm
được không gian lưu trữ và có khả năng truy xuất dữ liệu hiệu quả. Hiện nay cơ sở dữ
liệu quan hệ đang được sử dụng phổ biến cho các ứng dụng.
Mô hình cơ sở dữ liệu quan hệ lưu trữ dữ liệu trên một hoặc nhiều bảng,
mỗi bảng gồm nhiều hàng (row), nhiều cột (column) và được gọi là một quan hệ.

Trong thực tế các hàng, các cột được gọi tên theo thuật ngữ là bản ghi (record) và
trường (field).


7


Hình 1.1.Biểu diễn quan hệ
- Thực thể: là đối tượng có trong thế giới thực mà ta cần mô tả các đặc trưng của
nó.
Ví dụ: Thực thể NHANVIEN. Các đặc trưng của thực thể NHANVIEN
gồm: Mã nhân viên (1), Họ (Trần Văn), Tên (An) Ngày sinh (15/4/1971),...
- Thuộc tính: Là tên các cột của quan hệ, các dữ liệu thể hiện các đặc trưng của
thực thể, mỗi thuộc tính có một kiểu dữ liệu tương ứng.

Hình 1.2.Biểu diễn thuộc tính

- Miền thuộc tính: Tập các giá trị có thể có của thuộc tính gọi là miền giá trị của
thuộc tính đó gồm có tên, kiểu dữ liệu, khuôn dạng,...
Ví dụ: Ten: kiểu dữ liệu và Text, Ngaysinh, kiểu dữ liệu: date/time, khuôn
dạng:dd/mm/yyyy


8


- Bộ dữ liệu: Là các dòng (bản ghi) của quan hệ không kể dòng tên của các thuộc
tính, mỗi bộ chứa giá trị cụ thể của các thuộc tính.

Hình 1.3.Biểu diễn bộ dữ liệu

- Quan hệ: Cho � = {�1 , �2 , . . . , �� }(trong đó R là tên quan hệ,
A1,A2,...,An là các thuộc tính) là một tập hữu hạn các thuộc tính khác rỗng.
Mỗi thuộc tính �� � �; � = 1 ÷ �có một miền giá trị xác định.
Mô hình cơ sở dữ liệu quan hệ thường biểu diễn một quan hệ trên tập
các thuộc tính bằng bảng 2 chiều. Các thuộc tính của quan hệ là các cột
�1 , �2 , . . . , �� , các hàng của quan hệ được gọi là các bộ (bản ghi), ký hiệu r
và giá trị của mỗi bộ gồm m thành phần. Quan hệ r được biểu diễn bởi
bảng sau:
A1

A2

...

An

r1

r1. A 1

r1. A2

...

r1. A n

r2

R2. A1


R 2. A 2

...

R2. An

...

...

...

...

...

rm

rm. A1

rm. A2

...

rm. A n

Ví dụ:
SINHVIEN(MaSV

Ten


Ngaysinh

Điachi)

HCN01

Hải

12/10/1987

Hà Nội

HCN02

Bình

06/08/1989

Hải Phòng

HCN03

Minh

28/10/1990

Nghệ An

HCN04


Hoa

17/09/1991

Quảng Ninh


9


Trong đó các thuộc tính là MaSV: Mã sinh viên; Ten: tên; Ngaysinh: Ngày sinh;
Diachi: Địa chỉ. Bộ giá trị là (HCN01, Hải, 12/10/1987, Hà Nội).
- 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ệ.
- Khóa của quan hệ: Trong một lược đồ quan hệ luôn tồn tại một thuộc tính hay
một tập các thuộc tính có khả năng biểu diễn duy nhất các thuộc tính còn lại. Nói cách
khác giá trị của một hay nhiều thuộc tính có thể xác định duy nhất giá trị các thuộc
tính khác. Ví dụ Số chứng minh thư sẽ xác định được tất cả thông tin về người mang
chứng minh thư đó. Tập thuộc tính có tính chất như trên được gọi là khoá của lược
đồ quan hệ. Thông thường trong một lược đồ quan hệ có thể tồn tại nhiều khoá.
Trong số đó sẽ chọn một khoá làm khoá chính sao cho đơn giản và không nhập nhằng
thông tin. Giá trị các thành phần của khoá không thể nhận giá trị null hay các giá trị
không xác định.
Khóa của quan hệ R xác định trên tập thuộc tính � = {�1 , �2 , . . . , �� } là
tập con K � R sao cho bất kỳ hai bộ khác nhau t1, t2� r luôn thỏa t1.K ≠
t2.K.
Khóa là khái niệm quan trọng trong thiết kế cơ sở dữ liệu quan hệ. Khóa
thường được áp dụng trong việc tìm kiếm và cập nhật dữ liệu trong các quan hệ cơ
sở dữ liệu.

1.1.3. Thủy vân số
Thủy vân số là kỹ thuật nhúng thêm một lượng thông tin (dấu thủy vân) vào dữ
liệu đa phương tiện như: văn bản, hình ảnh, âm thanh và cơ sở dữ liệu (dữ liệu đa
phương tiện). Việc nhúng dấu thủy vân vào dữ liệu đa phương tiện có thể làm
giảm chất lượng dữ liệu nhưng nó là dấu vết để chứng minh quyển sở hữu hoặc
dùng để phát hiện ra sự đổi trái phép trên dữ liệu trong quá trình trao đổi thông tin.


10


Các lược đồ thủy vân có thể được phân loại theo nhiều tiêu chí khác nhau như:
Phân loại theo mục đích sử dụng:
Dựa vào mục đích sử dụng, các lược đồ thủy vân có thể được chia thành 2
loại như hình sau:
Thủy vân
số

Thủy vân bền vững

Thủy vân dễ vỡ

Hình 1.1. Phân loại thủy vân theo mục đích sử dụng.
Trên Hình 1.1. thủy vân bền vững là các lược đồ thủy vân có khả năng chống được
một số phép tấn công nhằm vi phạm bản quyền. Theo đó, dấu thủy vân cần ít bị biến
đổi (bền vững) trước sự thay đổi của dữ liệu thủy vân. Do vậy các lược đồ thủy vân
bền vững thường được ứng dụng trong bài toán bảo vệ bản quyền các sản phẩm dữ
liệu sô. Trái với thủy vân bền vững, thủy vân dễ vỡ yêu cầu dấu thủy vân phải nhạy
cảm (dễ bị biến đổi) trước các sự thay đổi trái phép trên dữ liệu chứa dấu thủy vân. Vì
vậy các lược đồ này được dùng để xác thực tính toàn vẹn của dữ liệu hay định vị các

vùng dữ liệu bị tấn công.
Phân loại theo cách sử dụng khóa:
Ngoài cách phân loại các lược đồ thủy vân theo mục đích ứng dụng, ta còn có thể
phân loại theo cách sử dụng khóa như hình sau:


11


Thủy vân số

Thủy vân khóa bí mật

Thủy vân khóa công khai

Hình 1.2. Phân loại thủy vân theo cách sử dụng khóa.
Trên Hình 1.2, các lược đồ thủy vân khóa bí mật sử dụng chung khóa cho cả quá
trình nhúng và trích dấu (kiểm tra) dấu thủy vân. Do vậy, khi triển khai ứng dụng cần
phải thực hiện quá trình trao đổi khóa giữa bên gửi và bên kiểm tra. Trái với thủy vân
khóa bí mật, các lược đồ thủy vân khóa công khai sử dụng các khóa khác nhau cho hai
quá trình. Thông thường, khóa bí mật được dùng bên phía người nhúng dấu thủy vân
và khóa công khai được sử dụng ở phía người kiểm tra dấu thủy vân. Cũng giống như
các hệ mật mã, từ khóa công khai khó có thể suy ra được khóa bí mật. Do không
phải thực hiện quá trình trao đổi khóa nên các lược đồ thủy vân khóa công khai thường
an toàn hơn và dễ dàng triển khai trong thực tế.
Phân loại theo sự hiện diện của dấu thủy vân:
Ngoài hai cách phân loại ở trên, dựa vào sự hiển thị hay không hiển thị (ẩn) của
dấu thủy vân trên các sản phẩm chứa dấu thủy vân người ta có thể phân thành hai loại
như:



12


Thủy vân số

Thủy vân ẩn

Thủy vân hiện

Hình 1.3. Phân loại thủy vân theo sự hiện diện của dấu thủy vân.
Trong Hình 1.3, thủy vân hiện gồm các lược đồ cho phép dấu thủy vân hiển thị
trên sản phẩm cần bảo vệ. Các dấu thủy vân này thường là các logo của các tổ chức.
Một ví dụ điển hình về thủy vân hiện là biểu tượng của các đài truyền hình được hiển
thị trên màn hình tivi. Không giống như thủy vân hiện, trong thủy vân ẩn, dấu thủy vân
ẩn lấp dưới dữ liệu cần bảo vệ. Và bằng mắt thường, người dùng khó có thể phân
biệt sự khác biệt giữa dữ liệu chứa dấu thủy vân và dữ liệu không chứa dấu thủy
vân. Nói một cách khác, dấu thủy vân trong suốt đối với người dùng. Dạng thủy vân
ẩn hay được sử dụng để phát hiện ra sự tấn công trái phép của các đối thủ, những
người muốn xuyên tạc thông tin hay làm giả các sản phẩm đa phương tiện.
Ngoài 3 cách phân loại cơ bản như trên, dựa vào kiểu dữ liệu chứa dấu thủy vân
người ta cũng có thể phân thành: thủy vân trên ảnh số, thủy vân trên video, thủy vân
trên âm thanh và thủy vân trên cơ sở dữ liệu. Do mỗi kiểu dữ liệu có những đặc trưng
khác nhau nên các lược đồ thủy vân tương ứng cũng có cách tiếp cận riêng. Tuy nhiên,
cũng có những phương pháp nhúng dấu thủy vân không phụ thuộc vào kiểu dữ liệu.
1.1.4. Thủy vân CSDL 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



13


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.
Cho dù có khá nhiều điều có thể học hỏi được từ các kết quả đã đạt được về
thủy 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 thủy vân các 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.
Chẳng hạn như, các phần khác nhau của một đối tượng đa phương tiện không thể cắt
bỏ hoặc thay thế một cách tùy ý 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 những khác nhau 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
để thủy vân các quan hệ.
Thuỷ vân cơ sở dữ liệu quan hệ là phương pháp nhúng một lượng thông tin nào đó
vào trong cơ sở dữ liệu quan hệ. Thuỷ vân cơ sở dữ liệu quan hệ là thuỷ vân ẩn, bền
vững.
Một thuỷ vân có thể được áp dụng cho bất kỳ một cơ sở dữ liệu quan hệ nào 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.
Một ví dụ khác là 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 đư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.
Đối với hầu hết các cơ sở dữ liệu quan hệ trong đó có chứa các tham số thì những
sai lệch do hệ thống thuỷ vân gây ra có thể được điều chỉnh sao cho chúng nằm trong

miền dung sai của độ đo.


14


1.2. Các tính chất của thủy vân trên CSDL quan hệ
Có thể thấy rằng thủy vân cơ sở dữ liệu quan hệ có những thách thức kỹ thuật
và có các ứng dụng trong thực tế cao, do đó cần phải phát triển một hệ thống thủy
vân và kèm theo đó là các kỹ thuật nhất định. Những kỹ thuật này chắc chắn 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ệ,
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 (trường) có kiểu dữ liệu số thực và giả thiết là
các trường được đánh dấu có thể chấp nhận những thay đổi nhỏ ở một số giá trị.
Ý tưởng chính 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ản ghi (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 CSDL
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ể bền vững trước các tấn công gây hại khác nhau.
Giả thiết, Alice là chủ nhân của CSDL 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.
1.2.1. Khả năng có thể phát hiện
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ộ (t��), trong đó t phụ thuộc vào � và một giá trị


15


�cho trước, được gọi là mức ý nghĩa của phép thử. Giá trị của t được xác định sao
cho xác suất để Alice sẽ tm thấy mẫu bit của cô trong ít nhất t bộ từ � bộ là nhỏ hơn
�.
1.2.2. Tính bền vững và dễ vỡ
Các dấu 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ỏ. 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á hủy
các dấu hiệu thủy vân ở ít nhất tbộ, trong đó t phụ thuộc vào � và �.
Ngược lại với thủy vân bền vững, 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.2.3. Khả năng cập nhật phần tăng thêm
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.
1.2.4. Không dễ cảm nhận được
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 đáng kể.
1.3. Một số phép tấn công trên hệ thủy vân CSDL quan hệ

Để biện luận được đơn giản, ta 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à


16


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ọ.
Do cơ sở dữ liệu quan hệ luôn luôn được cập nhật nên thuỷ vân được giấu trong
một cơ sở dữ liệu quan hệ có thể bị mất do những cập nhật thông thường (thêm, sửa,
xóa) cũng như các tấn công có mục đích.
1.3.1. Cập nhật thông thường
Giả thiết Mallory lấy trộm được dữ liệu của Alice mà không thể nhận ra nó đã được
thủy vân. Sau đó, Mallory tiến hành 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. 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 đó.
1.3.2. 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.

1.4. Các ứng dụng chủ yếu của thủy vân trên CSDL quan hệ
Có rất nhiều ứng dụng của thủy vân trên tài liệu số. Nhưng có 2 ứng dụng quan
trọng và được sử dụng phổ biến là:


17


1.4.1. Bảo vệ bản quyền CSDL
Đây là ứng dụng quan trọng nhất của thủy vân số. Một thông điệp được nhúng
vào dữ liệu để chứng minh quyền sở hữu của tác giả (gọi là watermark hay
thủy vân) trước khi các dữ liệu này được đưa lên mạng. Thủy vân này chỉ có người
sở hữu sản phẩm mới có và được sử dụng làm minh chứng bản quyền của sản phẩm.
Yêu cầu quan trọng với ứng dụng này là tính bền vững của thủy vân, để người khác
khó có thể gỡ chúng ra khỏi các sản phẩm số đó.
1.4.2. Xác thực tính toàn vẹn của CSDL
Thủy vân số có thể được dùng để xác thực thông tin hay phát hiện giả mạo.
Thủy vân được dùng để kiểm tra xem dữ liệu là nguyên gốc hay đã chịu sự tác động
bằng các phương pháp tấn công thông thường. Người ta thường dùng phương pháp
thủy vân dễ vỡ để nhúng thông tin vào dữ liệu. Nếu dữ liệu bị tác động bằng các
phương pháp xử lý thông thường, thủy vân sẽ không còn nguyên vẹn.
1.4.3. Dán nhãn
Trong ứng dụng này, thủy vân được dùng để nhận diện người gửi hay người nhận
thông tin. Ví dụ với trường hợp nhận diện người nhận: Một bức ảnh ban đầu bán
cho các khách hàng khác nhau. Nó sẽ được nhúng watermark là chữ ký của từng
khách hàng tương ứng. Sau đó, ảnh được chuyển cho các khách hàng. Mỗi khách
hàng có thể kiểm tra watermark trong ảnh để chắc chắn ảnh đó chuyển cho mình.
1.4.4. Điều khiển truy cập
Trường hợp khách hàng sử dụng các dịch vụ truyền hình, như trả tiền cho các
kênh truyền hình hay hoặc mua các đĩa phim mới. Mỗi khách hàng sẽ có một set-top

box và một thẻ thông minh (smart card), các thiết bị này sẽ có định danh duy nhất,
đại diện cho khách hàng.
Để ngăn chặn những người sử dụng dịch vụ mà không trả tiền, nhà cung cấp
dịch vụ sẽ mã hóa dữ liệu sử dụng các khóa trước khi chuyển đến


18


cho khách hàng. Khi smart card của khách hàng còn hiệu lực, set-top sẽ giải mã dữ
liệu chuyển đến. Sau đó, nó nhúng thủy vân là định danh của người dùng vào dữ liệu
đó. Quá trình ấy được gọi là ghi dấu vân tay (fingerprinting). Dữ liệu sau khi đã
được ghi dấu vân tay sẽ được sử dụng bình thường. Nếu một kháchhàng nào đó cố
tình cho người khác sử dụng trái phép những dữ liệu ấy, nhà cung cấp dịch vụ sẽ biết
điều đó và ngăn chặn hoặc xử phạt.
1.4.5. Điều khiển sao chép
Tất cả các ứng dụng của thủy vân số trình bày ở trên chỉ có tác dụng sau khi
người dùng đã làm sai. Khi có sự vi phạm bản quyền xảy ra, thì mới dùng thủy vân
để xác định chính xác ai là chủ sở hữu thực sự, hoặc sau khi một bức ảnh đã bị thay
đổi mới dùng thủy vân để xác định bức ảnh nào là giả mạo,… Ứng dụng điều khiển sao
chép có tác dụng ngăn chặn hành động sai, cụ thể là ngăn chặn việc sao chép trái
phép các nội dung có bản quyền.
Ví dụ: Hệ thống quản lý sao chép DVD. Các thiết bị phát hiện thủy vân sẽ được tích
hợp vào thiết bị đọc ghi DVD. Khi muốn sao chép DVD, phải có sự đồng ý của chủ sở
hữu.
1.5. Thủy vân CSDL không thuận nghịch bằng phương pháp LSB
Giống như các kiểu dữ liệu đa phương tiện khác, trong những năm đầu phát triển,
các phương pháp thủy vân cơ sở dữ liệu không có khả năng khôi phục lại cơ sở dữ liệu
gốc từ dữ liệu thủy vân. Đối với loại thủy vân này, phương pháp chèn bít thấp là một
trong những phương pháp phổ biến, bởi dữ liệu sau khi nhúng có ít sự thay đổi so với

dữ liệu gốc.
Kỹ thuật thủy vân sử dụng các bít LSB chỉ sử dụng các thuộc tính kiểu số với giả
thiết rằng sự thay đổi nhỏ về giá trị không làm ảnh hưởng đến ý nghĩa của thuộc tính.
Ta ký hiệu quan hệ dùng để nhúng thủy vân là:
�(� ; �1 , . . . , �� )


19


trong đó, P là thuộc tính khóa chính và giả sử rằng các thuộc tính �� đều có
thuộc kiểu dữ liệu số, nếu không thì ta chỉ chọn các trường kiểu số. Các
thuộc tính �� có chung tính chất là nếu thay đổi giá trị của bít thấp thứ � thì
đều không ảnh hưởng đến ý nghĩa của trường.
Các bít ít ý nghĩa nhất (LSB – Least Significant Bits) là các bít ở bên phải nhất của
một chuỗi bít.
Ví dụ, trong chuỗi bít 11110000 thì các bít bít ít ý nghĩa nhất là 0 như hình sau:

Hình 1.1. Khái niệm các bít có ý nghĩa thấp
Kỹ thuật thủy vân dựa vào các bít ít ý nghĩa nhất sử dụng hàm băm mật mã
để xây dựng mã xác thực (MAC – Message Authentication Code). Để tính MAC của
thông điệp (dãy byte có độ dài tùy ý) ta sử dụng hàm
băm � nào đó như sau:
��� = �(�)
Trong đó, H là một trong những hàm băm cho trước như
��5, ���1, ���2, . .. Khi đó MAC có độ dài cố định và không phụ thuộc
vào độ dài của thông điệp M. Ngoài ra, hàm băm � là hàm một chiều,
nghĩa là từ M tính MAC thì dễ dàng nhưng từ MAC không thể suy ra được
�.
Để tính MAC của bản ghi bất kỳ, các lược đồ thủy vân xác định theo công thức

sau:
��� = �(�� ||�(�| �� )
Trong đó, �� là khóa bí mật và � là giá trị của trường khóa chính của
bản ghi đang xét, phép toán || dùng để ghép hai dãy.


20


1.5.1. Thuật toán nhúng thủy vân
Thuật toán nhúng thủy vân sẽ chọn ra các bộ dữ (bản ghi) bao gồm các thuộc tính
và giá trị của thuộc tính, rồi tiến hành thay đổi giá trị của các bít thấp của chúng.
Để đảm bảo an toàn, việc chọn các bản ghi, các thuộc tính để nhúng thủy vân đều
được chọn ngẫu nhiên và ngay cả vị trí bít thấp ứng với thuộc tính được chọn cũng
được xác định ngẫu nhiên.
Nội dung thuật toán nhúng thuỷ vân
Input:
- Quan hệ � dùng để thủy vân
- Dãy bít thủy vân � = �1 … . ��
- Khóa bí mật �� chỉ chủ sở hữu CSDL mới biết
- � là số thuộc tính số
- Tham số điều khiển khả năng nhúng tin �
- � số bít thấp không ảnh hưởng đến ý nghĩa của các thuộc tính số
Output:
- Quan hệ � ′ chứa dẫy bít thủy vân
Thuật toán duyệt từng bản ghi � ∈ � mỗi bản thực hiện các bước:
Bước 1: Tính giá trị MAC của bản ghi
��� = �(�� ||�(�. �| �� )
Trong đó, r.P là giá trị của thuộc tính khóa của bản ghi r.
Bước 2: Kiểm tra điều kiện nhúng

Nếu MAC mod Y ≠ 0 thì bản ghi r không dùng để nhúng tin. Nếu trái lại thì
sẽ nhúng tin vào bản ghi r, thuật toán đến Bước 3.
Bước 3: Xác định thuộc tính nhúng tin
Giả sử
tập
tính
đangtoán
xét sẽ
là xác
�1định
… ��
, cáctính
thuộc
xếp
theo
tên
củathuộc
thuộc
tính.sốThuật
thuộc
�� tính này đã được sắp
để nhúng
tin theo
công thức:


21


� = ��� ��� �

Bước 4: Xác định vị trí bít thấp để chứa tin
đượcbítthuộc
�� dùng
địnhSau
vị tríkhi
bítxác
� định
để chứa
thủy tính
vân như
sau: để chứa tin, thuật toán sẽ tiếp tục xác
� = ��� ��� �
Bước 5: Nhúng bít thủy vân
Việc chèn bít thủy vân �� vào vị trí bít thứ � của giá trị thuộc tính ��
được thực hiện đơn giản bằng phép toán thiết lập bít để nhận được giá trị
mới như sau:
�� = ������(�� , �� , � )
Quá trình đó được thực hiện cho đến khi nhúng hết các bít thủy vân
hoặc duyệt hết các bản ghi.
1.5.2. Thuật toán trích dấu thủy vân

thựcĐể
hiện
trích
dãy
bít thủy
trên
quan
này
do tác

giả�,của

cung
cấp.
xácSau
định
khi
quan
trích
hệ
được
� vân
dãy
có�thuộc
bít
�, thuât
về táchệ
toán
giả

socùng
thủy
sánhvới
vân
sựcác
khác
Wtham
hay
biệtkhông?
�Thuật


toán
nếu
′ sốgiữa
trái
lại
thi
không
thuộc
sự
khác
biệt
nhỏ
hơn
một
ngưỡng cho trước thì kết luận quan hệ � thuộc về tác giả,
về tác giả.
Input:
- Quan hệ � ′ chưa dấu thủy vân
- Khóa bí mật ��
- � là số thuộc tính số
- Tham số điều khiển khả năng nhúng tin �
- � số bít thấp không ảnh hưởng đến ý nghĩa của các thuộc tính số
Output:
- Dãy bít thủy vân � = �1 … . ��
Nội dung thuật toán


22



Thuật toán duyệt từng bản ghi � ′ ∈ � ′ mỗi bản thực hiện các bước:
Bước 1: Tính giá trị MAC của bản ghi
��� = �(�� ||�(� ′ . �′ | �� )
Bước 2: Kiểm tra điều kiện nhúng


,Bước
thuật3:
toán
đến mod
Bước
Nếu
≠ 0 thì
XácMAC
định
thuộcY3.tính
trichbản
tinghi � không nhúng tin. Nếu trái lại thì bản ghi �
Giả sửxếp
tậptheo
thuộc
đang
xétThuật
là �1toán
… ��
cácđịnh
thuộc
tínhtính
này �đã được sắp

têntính
của số
thuộc
tính.
sẽ, xác
thuộc

để nhúng tin theo công thức:
� = ��� ��� �
Bước 4: Xác định vị trí bít thấp trích tin
thuộc
địnhSau
vị tríkhi
bítxác
� định
chứađược
bít thủy
vântính
như�sau:
� dùng để trích tin, thuật toán sẽ tiếp tục xác
� = ��� ��� �
Bước 5: Trích bít thủy vân
Việc trich bít thủy vân �� tại vị trí bít thứ � của giá trị thuộc tính ��
được thực hiện đơn giản bằng phép toán bitget mới như sau:
�� = ������(�� , �)
Khi đó, dẫy bít thủy vân B là tập hợp các bít �� đã trích được tại Bước 5
của mỗi lần lặp. Việc xác định bản quyền có thể được xác định như sau:
�=� ⊕ �
Trong đó, phép toán ⊕ dùng để so sánh theo bít giữa hay dãy nhị phân.
Nếu � < � thì kết luận cơ sở dữ liệu thuộc về tác giả có thủy vân W,

trái lại thì kết luận là không thuộc về tác giả.


23


CHƯƠNG 2.

THỦY VÂN CSDL QUAN HỆ BẲNG GIẢI THUẬT DI TRUYỀN VÀ

PHƯƠNG PHÁP MỞ RỘNG
1.6. Một số phương pháp thủy vân trên CSDL quan hệ
Ngày nay, Truy cập Internet dễ dàng đã góp phần tăng trưởng sự phát triển của
kinh tế và nghiên cứu, ở đó, chia sẻ thông tin online là hoạt động quan trọng liên
quan đến CSDL mua và bán. Ví dụ như việc chia sẻ dữ liệu về thời tiết, thị trường
chứng khoán, tiêu thụ điện năng, xu hướng người tiêu dùng, y tế, khoa học,… Kết
quả là sự cần thiết cung cấp cơ chế bảo mật cho CSDL để ngăn chặn các hành vi
sao chép và tái phân phối trái phép trên Internet. Trong ngữ cảnh này, chứng minh
quyền sở hữu và xác định vùng giả mạo của CSDL là một vấn đề thách thức đặt ra đối
với các nhà nghiên cứu.
Thủy vân số cung cấp giải pháp cho rất nhiều các vấn đề gặp phải khi phân phối
các đối tượng đa phương tiện như: ảnh, text, audio, và bảo vệ CSDL quan hệ một
cách hiệu quả. Tuy nhiên vấn đề gặp phải đối với cơ sở dữ liệu quan hệ là khả năng
nhúng tin là rất hạn chế so với các loại dữ liệu đa phương tiện khác như ảnh hay âm
thanh. Mặt khác, đối với dữ liệu trong các cơ sở dữ liệu chỉ chấp nhận sự thay đổi rất
nhỏ so với dữ liệu gốc. Bởi việc thay đổi nhiều có thể dẫn đến dữ liệu trong sau khi
nhúng thủy vân không còn ý nghĩa sử dụng.
Agrawal và Kiernan(2002) [6] đã bắt đầu thực hiện việc nhúng dấu thủy vân
vào các bít thấp của dữ liệu trong cơ sở dữ liệu làm minh chứng để bảo vệ bản
quyền tác giả. Việc nhúng dấu thủy vân vào bít thấp của dữ liệu đảm bảo được sự

thay đổi nhỏ, tuy nhiên các hack cũng có thể loại bỏ toàn bộ các bít thấp của dữ liệu
mà ít thay đổi ý nghĩa của dữ liệu. Điều đó cũng có nghĩa thông tin về bản quyền cũng
dễ dàng bị loại bỏ. Đây là một trong những điều khó có thể chấp nhận trong các
phương pháp thủy vân bền vững.


24


Ở một nghiên cứu khác Sion và các cộng sự (2004) [7] thực hiện chọn một số bộ
(bản ghi) thông qua hàm băm để thực hiện nhúng các bít thủy vân. Mỗi bản ghi được
chọn Sion sẽ thực hiện nhúng một bít thủy vân vào giá trị của hai thuộc tính (trường).
Tuy nhiên sau khi nhúng giá trị mới có thể vượt ra ngoài miền giá trị của thuộc tính,
điều này dẫn đến các dữ liệu đột biến hay kỳ dị trong cơ sở dữ liệu. Do vậy Sion và
các đồng sự thực hiện quá trình đánh giá khả năng chịu đựng sự biến đối (kháng lỗi)
của hai thuộc tính, nếu sau khi nhúng một bít mà giá trị mới vượt ra ngoài khả năng
kháng lỗi thì bản ghi đó không được dùng để nhúng thủy vân và bít thủy vân được
chuyển sang bản ghi kế tiếp đã được chọn.
Giải thuật di truyền và tm kiếm mẫu đã được sử dụng để nhúng dấu thủy vân
vào cơ sở dữ liệu quan hệ thông qua hàm cực tiểu hoặc cực đại. Tuy nhiên khả năng
kháng lỗi của dữ liệu sau khi nhúng còn khá hạn chế. Mailing và các cộng sự (2008) [5]
sử dụng giải thuật di truyền trong quá trình xử lý dấu thủy vân để nhúng vào cơ sở dữ
liệu quan hệ, tuy nhiên phương pháp này chỉ tập trung vào việc xử lý dấu thủy vân mà
không tập trung vào việc tm giải pháp tốt đối với dữ liệu trong cơ sở dữ liệu quan hệ.
Ngoài ra, các phương pháp đã đề cập không có khả năng khôi phục lại dữ liệu gốc từ
dữ liệu thủy vân. Đây là một hạn chế đáng kể của các phương pháp trên.
Kỹ thuật thủy vân dựa trên phép biến đổi mở rộng hiệu (DEW – Diference
Expand) đã được [4] ứng dụng trong việc bảo vệ bản quyền cơ sở dữ liệu quan hệ.
Phương pháp DEW có khả năng khôi phục lại cơ sở dữ liệu gốc từ dữ liệu thủy vân. Do
vậy khách hàng có thể sử dụng thử trên cơ sở dữ liệu đã thủy vân và họ có thể sử

dụng dữ liệu gốc bằng cách mua khóa (key) để khôi phục lại dữ liệu gốc. Nội dung
tiếp theo luận văn trình bày chi tiết phương pháp mở rộng hiệu, ký hiệu DE (Difference
Expand).


25


1.7. Phương pháp mở rộng hiệu
Phương pháp mở rộng hiệu [3] được đề xuất bởi Tian vào năm 2004. Ban đầu
phương pháp này được dùng để nhúng thủy vân vào ảnh số nhằm phát hiện ra những
sự thay đổi trái phép của dữ liệu ảnh trong quá trình trao đổi trên môi trường Internet.
Cơ sở toán học của phương pháp mở rộng hiệu dựa trên phép biến đổi Haar
nguyên đối với hai giá trị nguyên (x,y). Nội dung phép biến đổi Haar nguyên được
trình bày chi tiết như sau:
1.7.1. Phép biến đổi Haar nguyên trên một cặp giá trị
Với mỗi cặp số nguyên �, � có giá trị trong khoảng [0,255], phép biến
đổi Haar nguyên thuận được thực hiện theo các công thức:
�=�−�
�=

(2.1)

�+�

(2.2)

2

Khi đó, từ � và � tính được trong các công thức (2.1) và (2.2) ta có

phép biến đổi Haar ngược như sau:
�+1
�=�+

2


�=�−

2

Trong đó � là giá trị nguyên dưới, ví dụ:

5
= 2.
2

Xét ví dụ với (�, �) = (300,250) thì phép biến đổi Haar nguyên thuận
như sau:
- � = � − � = 300 − 250 = 50
- �=



=

+�

300 +250
550

=
2
2

= 275

2
Khi đó, phép biến đổi Haar nguyên ngược từ (�, � ) để nhận được (�, �)
như sau:
- �=�+

� +1
2

= 275 +

50 +1
2

= 275 + 25 = 300


26


×