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

bảo vệ bản quyền cơ sở dữ liệu bằng thủy vân ảnh số

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 (720.01 KB, 48 trang )

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên



ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN







Phạm Thị Thu Hường






BẢO VỆ BẢN QUYỀN CƠ SỞ DỮ LIỆU
BẰNG THUỶ VÂN ẢNH SỐ

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



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





NGƯỜI HƯỚNG DẤN KHOA HỌC: TS BÙI THẾ HỒNG











Thái nguyên - 2010



Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

1
MỤC LỤC

Chương 1 TỔNG QUAN VỀ THUỶ VÂN CSDL QUAN HỆ 1
1.1 Một số khái niệm cơ bản 4
1.1.1 Thuỷ vân là gì ? 6
1.1.2 Thuỷ vân cơ sơ dữ liệu quan hệ là gì ? 7
1.1.3 Sự cần thiết của các kỹ thuật thuỷ vân CSDL quan hệ 8
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ệ 10
1.2.1 Khả năng có thể phát hiện (Detectability) 11

1.2.2 Tính bền vững (Robustness) 11
1.2.3 Cập nhật phần tăng thêm (Incremental Updatability) 12
1.2.4 Không dễ cảm nhận được (Imperceptibility) 12
1.2.5 Hệ thống mù ( Blind System) 12
1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ 13
1.3.1 Cập nhật thông thường 13
1.3.2 Tấn công có chủ đích 13
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ 15
1.4.1 Bảo vệ bản quyền hoặc chứng minh quyền sở hữu 15
1.4.2 Nhận thực thông tin (Authentication) 15
1.5 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ 16
Chương 2 THỦY VÂN SỬ DỤNG CÁC BIT LSB 17
2.1 Chuẩn bị thuật toán 17
2.1.1 Đặt vấn đề 17
2.1.2 Các bít ít ý nghĩa nhất 18
2.1.3 Mã chứng thực thông điệp 19
2.2 Các thuật toán 19

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

2
2.2.1 Mô hình thuỷ vân 20
2.2.2 Thuật toán nhúng thuỷ vân 20
2.2.3 Thuật toán phát hiện thuỷ vân 24
2.2.4 Một số lưu ý 26
2.2.5 Các quan hệ không có các khóa chính 27
2.3 Phân tích đánh giá thuật toán 28
2.3.1 Xác suất nhị thức tích luỹ 28
2.3.2 Hàm ngưỡng 29
Chương 3 THỦY VÂN SỬ DỤNG CÁC BIT Ý NGHĨA NHẤT 31

4.1 Giới thiệu 31
4.1.1 Mô hình thủy vân 32
4.1.2 Xác định bài toán 32
4.1.3 Lựa chọn các tập hợp con 33
4.2 Nhúng thủy vân 34
4.2.1 Mã hoá bít đơn 34
4.3 Phát hiện thủy vân 37
Chương 4 CÀI ĐẶT THỬ NGHIỆM 39
Kết luận 42
Tài liệu tham khảo 43







Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

1
Lời nói đầu
I. Lý do chọn đề tài
Bảo vệ bản quyền, nhận 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ệ. Việc quản lý
bản quyề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. Thuỷ 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.

Thực sự, qua nghiên cứu và thử nghiệm tôi thấy việc phát triển và cài
đặt các kỹ thuật thủy vân cơ sở dữ liệu rất phức tạp và rất khó để thỏa mãn
được những yêu cầu khắt khe của lĩnh vực bảo vệ bản quyền đối với loại dữ
liệu này. Những kết quả được trình bày trong báo cáo này là những tìm hiểu
và nghiên cứu bước đầu của tôi trong lĩnh vực mới này. Chắc chắn là trong
báo cáo này còn có nhiều khiếm khuyết. Tôi mong rằng sẽ nhận được những ý
kiến góp ý xác đáng giúp tôi có được kết quả tốt hơn.
Trong thời gian tới, tôi hy vọng sẽ có cơ hội tiếp tục thực hiện hướng
nghiên cứu mới này và có thể đạt được những kết quả sâu hơn và tốt hơn.
II. Mục đích nghiên cứu
 Tìm hiểu các kỹ thuật thuỷ vân bảo vệ bản quyền cơ sở dữ liệu quan hệ.
 Cài đặt thử nghiệm thủy vân trên cơ sở dữ liệu quan hệ dựa vào các bit
LSB và MSB.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

2
III. Nhiệm vụ nghiên cứu
 Hiểu rõ cơ sở lý luận và toán học của các kỹ thuật giấu tin và các kỹ
thuật thuỷ vân.
 Phát triển các chương trình cài đặt lược đồ thuỷ vân bảo vệ bản quyền
cơ sở dữ liệu quan hệ.
IV. Phạm vi nghiên cứu
 Nghiên cứu, đánh giá các kỹ thuật thuỷ vân.
 Các công cụ lập trình và phần mềm dùng để cài đặt các lược đồ nhúng
và giải thuỷ vân.
V. Phương pháp nghiên cứu
 Sưu tầm tìm hiểu các tài liệu, các kết quả nghiên cứu về giấu tin và
thuỷ vân.
 Đánh giá các kỹ thuật thuỷ vân đã biết

 Cải tiến, mở rộng các kỹ thuật thuỷ vân đã biết nhằm mục đích thu
được kết quả tốt hơn.
 Cài đặt thử nghiệm trên những cải tiến được đưa ra.
VI. Nội dung nghiên cứu và bố cục luận văn
Luận văn được chia thành bốn chương:
Chương 1: Tổng quan về thuỷ vân cơ sở dữ liệu quan hệ
1.1 Một số khái niệm cơ bản
1.2 Yêu cầu cơ bản của thuỷ vân cơ sở dữ liệu quan hệ
1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
1.5 Các kỹ thuật thuỷ vân cơ sở dữ liệu quan hệ

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

3
Chương 2: Thuỷ vân sử dụng các bit LSB
2.1 Chuẩn bị thuật toán
2.2 Các thuật toán
2.3 Phân tích đánh giá thuật toán
Chương 3: Thuỷ vân sử dụng các bit MSB
3.1 Giới thiệu
3.2 Nhúng thuỷ vân
3.3 Phát hiện thuỷ vân
Chương 4: Cài đặt thử nghiệm


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

4
Chương 1: TỔNG QUAN VỀ THUỶ VÂN CSDL QUAN HỆ

Tính năng an toàn và bảo mật thông tin của kỹ thuật giấu tin được thể
hiện ở hai khía cạnh. Một là bảo vệ cho dữ liệu đem giấu và hai là bảo vệ cho
chính đối tượng được sử dụng để giấu tin. Tương ứng với hai khía cạnh đó
chúng ta có hai khuynh hướng kỹ thuật rõ ràng đó là giấu tin mật
(Steganography) mà chúng ta đã tìm hiểu trong các chương trước) và thuỷ vân
số (Watermarking).
Trong kỹ thuật giấu tin mật, thông tin cần giấu được gọi là thông điệp
(Message) còn trong kỹ thuật thuỷ vân số thì được gọi là thuỷ vân
(Watermark). Thuỷ vân có thể là một chuỗi các kí tự, hay một hình ảnh, logo
nào đó.
Nói đến thuỷ vân số là nói đến kỹ thuật giấu tin nhắm đến những ứng
dụng bảo đảm an toàn dữ liệu cho đối tượng được sử dụng để giấu tin như:
bảo vệ bản quyền, chống xuyên tạc, nhận thực thông tin, điều khiển sao chép
v.v…Có thể thấy rõ là phần ứng dụng của thủy vân rất lớn, mỗi ứng dụng lại
có những yêu cầu riêng và tính chất riêng, do đó các kỹ thuật thuỷ vân cũng
có những tính năng khác biệt tương ứng:








Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

5








Hình 1. Phân loại các kỹ thuật thuỷ vân
Các kỹ thuật thuỷ vân trên Hình 1 được phân biệt nhau bởi những đặc
trưng, tính chất của từng kỹ thuật và ứng dụng những kỹ thuật đó. Thuỷ vân
“dễ vỡ” (Fragile) là kỹ thuật nhúng thuỷ vân vào trong ảnh sao cho khi phân
bố sản phẩm trong môi trường mở nếu có bất cứ một phép biến đổi nào làm
thay đổi đối tượng sản phẩm gốc thì thuỷ vân đã được giấu trong đối tượng sẽ
không còn nguyên vẹn như trước khi giấu nữa (dễ vỡ). Các kỹ thuật thuỷ vân
có tính chất này được sử dụng trong các ứng dụng nhận thực thông tin
(Authentication) và phát hiện xuyên tạc thông tin (Tamper detection).
Thuỷ vân bền vững lại được chia thành hai loại là thuỷ vân ẩn và thuỷ
vân hiển. Thuỷ vân hiển là loại thuỷ vân được hiện ngay trên sản phẩm và
người dùng có thể nhìn thấy được giống như các biểu tượng kênh chương
trình vô tuyến mà chúng ta thường thấy VTV3, CCTV, TV5…
Robust
Copyright marking
Thuỷ vân bền vững
ImperceptibleWatermar
king
Thuỷ vân ẩn
Watermarking
Thuỷ vân số
Fragile
Watermarking
Thuỷ vân “dễ vỡ”
Visible
Watermarking

Thuỷ vân hiện

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

6
1.1 Một số khái niệm cơ bản
1.1.1 Thuỷ vân là gì ?
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 có thể là một chuỗi các ký tự, hay một hình ảnh, logo nào đó.
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 tính toàn vẹn dữ
liệu.
Các kỹ thuật thuỷ vân ngay từ khi mới ra đời đã nhận được sự quan tâm rất
lớn của các nhà khoa học. Các kỹ thuật thuỷ vân này đã được nghiên cứu và
áp dụng trong nhiều môi trường dữ liệu khác nhau như: dữ liệu đa phương
tiện (image, text, audio, video, . . .), hay các phẩm phần mềm, và gần đây là
những nghiên cứu trên môi trường cơ sở dữ liệu quan hệ. Trong các môi
trường dữ liệu đó thì dữ liệu đa phương tiện (đặc biệtt là image) được nghiên
cứu và áp dụng sớm nhất và là môi trường chiếm tỷ lệ chủ yếu. Tuy nhiên,


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

7
hiện nay người ta đang tập trung nghiên cứu các kỹ thuật thuỷ vân trên cơ sở
dữ liệu quan hệ bởi nhu cầu cấp thiết của người chủ cơ sở dữ liệu đó là muốn
bảo vệ chúng trước những tấn công bên ngoài, . . .
1.1.2 Thuỷ vân cơ sơ dữ liệu quan hệ là gì ?
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 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 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.
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ệ.


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

8
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 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.
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.5
o
C. 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 đáng chú ý 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 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.
Đố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.
1.1.3 Sự cần thiết của các kỹ thuật thuỷ vân CSDL 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:


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

9
 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 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 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.
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ử 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 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


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

10
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 format. 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.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ệ, chúng tôi 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ộ,


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

11
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 của chúng tôi chỉ ra
rằng thủy vân này có thể đứng vững trước một lọat các tấn công gây hại khác
nhau.
Để đơn giản trong khi biện luận, chúng tôi 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à B và bạn trai của B tên là C. 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à A thường xuyên làm
phiền họ.
Giả dụ, B là chủ nhân của quan hệ R chứa

bộ, trong đó B đã đá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 (Detectability)
B cần phải có khả năng phát hiện thủy vân của B 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 B (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, B cũng có thể ngờ vực ngay cả khi mẫu của B chỉ có mặt ở ít nhất


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
để B sẽ tìm thấy mẫu bit của B trong ít nhất

bộ từ

bộ là nhỏ hơn

.
1.2.2 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, A thay đổi


bộ trong quan hệ R của

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

12
B. 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



như đã nói ở trên.
1.2.3 Cập nhật phần tăng thêm (Incremental Updatability)
Sau khi có quan hệ R đã thủy vân, B có thể cập nhật R khi cần thiết mà
không làm hỏng thủy vân. Khi B 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 tóan 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 (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 đáng kể.
1.2.5 Hệ thống mù ( Blind System)
Việc phát hiện thuỷ vân không nên đò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ọ 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.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

13
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.
1.3.1 Cập nhật thông thường
Giả sử A lấy trộm dữ liệu của B mà không nhận ra nó đã được thủy
vân. Sau đó, A 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 B 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 A.
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
A 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ệ B trước những tấn công gây hại của
A.
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.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

14
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 A 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à A và B 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.
 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: A có thể cộng thêm thủy vân của anh ta vào quan hệ đã

thủy vân của B và đòi quyền sở hữu.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

15
 Tấn công ngược lại: A 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à A công bố thực ra chỉ là một xuất hiện ngẫu nhiên mà
thôi.
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
1.4.1 Bảo vệ bản quyền hoặc chứng minh quyền sở hữu
Ngày nay, việc bảo vệ bản quyền hoặc chứng minh quyền sở hữu
(Copyright Protection or Proving Ownership) đối với các nguồn cơ sở dữ liệu
quan hệ ở bên ngoài là một vấn đề quan trọng trong các môi trường ứng dụng
dựa vào Internet và trong nhiều ứng dụng phân phối dữ liệu. Đây là ứng dụng
cơ bản nhất của kỹ thuật thuỷ vân. Một thông tin nào đó (hay còn gọi là thuỷ
vân) mang ý nghĩa quyền sở hữu sẽ được nhúng vào trong dữ liệu quan hệ.
Thuỷ vân đó chỉ một mình người chủ sở hữu hợp pháp cơ sở dữ liệu đó có và
được dùng làm minh chứng cho bản quyền sản phẩm.
1.4.2 Nhận thực thông tin (Authentication)
Một tập thông tin sẽ được giấu trong cơ sở dữ liệu quan hệ. Sau đó, các
thông tin này sẽ được sử dụng để nhận biết xem dữ liệu gốc có bị thay đổi hay
không. Bằng kỹ thuật thuỷ vân, người ta có thể lấy thông tin đã giấu vào trong
dữ liệu quan hệ đó ra. Nếu thông tin lấy ra trùng với thông tin ban đầu đem
giấu thì chứng tỏ dữ liệu gốc không bị thay đổi. Ngược lại, thông tin lấy ra và
thông tin ban đầu có sự khác biệt thì chứng tỏ dữ liệu đã bị thay đổi, xuyên
tạc. Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên
tạc, cũng như phân biệt được các thay đổi.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên


16
1.5 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Thuỷ vân trên cơ sở dữ liệu quan hệ là một kỹ thuật mới và rất phức tạp.
Cho đến nay mới chỉ có một vài cách tiếp cận bài toán thuỷ vân cơ sở dữ liệu
quan hệ. Việc lựa chọn kỹ thuật nào là tuỳ thuộc vào yêu cầu của ứng dụng.
Một số kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ như:
 Kỹ thuật thuỷ vân sử dụng các bít ít ý nghĩa nhất (LSB)
 Kỹ thuật thuỷ vân sử dụng các bít ý nghĩa nhất (MSB).
Trong các chương tiếp theo, chúng ta sẽ tìm hiểu kỹ các kỹ thuật này.


Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

17
Chương 2: THỦY VÂN SỬ DỤNG CÁC BIT LSB
2.1 Chuẩn bị thuật toán
2.1.1 Đặt vấn đề
Kỹ thuật thủy vân sử dụng các bit LSB chỉ đánh dấu các thuộc tính kiểu
số và giả thiết rằng các thuộc tính được đánh dấu này là những thuộc tính mà
những thay đổi nhỏ tại một số giá trị của chúng là chấp nhận được và không
lộ rõ. Tất cả các thuộc tính số của một quan hệ không nhất thiết đều phải được
đánh dấu. Người chủ của dữ liệu này có trách nhiệm quyết định thuộc tính
nào phù hợp với việc đánh dấu.
Chúng ta sẽ thủy vân một quan hệ cơ sở dữ liệu R với lược đồ
R(P ; A
0
,. . . , A

- 1

)
trong đó, P là thuộc tính khóa chính (mục 2.2.5 sẽ trình bày các mở rộng cho
trường hợp thủy vân một quan hệ không có một thuộc tính khóa chính)
Để đơn giản, có thể giả thiết là tất cả  thuộc tính A
0
, . . . , A

- 1
đều có
thể là ứng cử viên đề thủy vân. Chúng đều là các thuộc tính kiểu số và các
giá trị của chúng có một tính chất là những thay đổi ở

bits ít ý nghĩa nhất
của chúng đều không cảm nhận được.

là một tham số điều khiển dùng để xác định số các bộ cần đánh dấu.
Số các bộ cần đánh dấu được ước tính bằng công thức:





/



thường được cân đối với

để xác định phạm vi của các thay đổi được phép
tiến hành đối với các giá trị của một thuộc tính. Nếu có ít bộ được đánh dấu

thì có khi phải tiến hành các thay đổi lớn hơn đối với các giá trị của các thuộc
tính đã đánh dấu.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

18
Gọi r.A
i
là giá trị của thuộc tính A
i
trong bộ r

R. Hình 1 tổng hợp tất cả các
tham số quan trọng được sử dụng trong các thuật toán. Các thuật toán này có
sử dụng đến các mã được gọi là chứng thực thông điệp. Các mã này được mô
tả ngắn gọn trong mục sau đây.



Số các bộ trong quan hệ


Số các thuộc tính trong quan hệ sẵn sàng để đánh dấu


Số các bit ít ý nghĩa nhất sẵn sàng để đánh dấu trong
một thuộc tính


Tỷ lệ các bộ được đánh dấu



Số các bộ được đánh dấu


mức ý nghĩa của phép thử để phát hiện một thủy vân


Số lượng tối thiểu các bộ được đánh dấu một cách đúng
đắn cần có để có thể phát hiện được thủy vân
Hình 1: Các ký hiệu
2.1.2 Các bít ít ý nghĩa nhất
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 1110 thì bít ít ý nghĩa nhất là 0; với số bít ít ý nghĩa
nhất là 3 thì số bít ít ý nghĩa nhất trong chuỗi bít 1000101 là 101.
Kỹ thuật thủy vân dựa vào các bit ít ý nghĩa nhất có sử dụng đến một loại mã
được gọi là mã chứng thực thông điệp.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

19
2.1.3 Mã chứng thực thông điệp
Cho hàm băm một chiều H thao tác trên một thông điệp đầu vào có độ dài tùy
ý M và cho trở lại một giá trị băm 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, có thể dễ dàng tính được h,
ii) với h đã cho, khó có thể tính được M sao cho H(M) = h, và
iii) với M đã cho, khó có thể tìm được một thông điệp khác M

0
sao cho
H(M) = H(M
0
).
Trong thực tế, các hàm băm MD5 và SHA rất thích hợp đối với H.
Mã chứng thực thông điêp (Message Authenticated Code - MAC) là một hàm
băm một chiều phụ thuộc khóa.
Cho F là một MAC dùng để ngẫu nhiên hóa các giá trị của thuộc tính khóa
chính r.P của bộ r và cho trở lại một giá trị nguyên thuộc một miền rộng. F
được gieo giống là một khóa bí mật K chỉ chủ dữ liệu được biết. Chúng tôi sử
dụng hàm MAC sau đây:
F(r.P ) = H(K

H(K

r.P ))
trong đó,

biểu diễn phép ghép.
2.2 Các thuật toán
Việc đánh dấu ở đây tức là chọn ra các bộ, các thuộc tính và các giá trị
tương ứng với các bộ, các thuộc tính đó. Sau đó, ta sẽ thay đổi các bít ít ý
nghĩa nhất của giá trị đó. Những thay đổi này sẽ tạo thành thuỷ vân.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

20
Ý tưởng cơ bản của kỹ thuật này là đảm bảo tại một số vị trí bít 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í bít trong một thuộc tính và các giá trị bít
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 khoá bí mật K của chủ nhân quan hệ. Mẫu bít này sẽ hình
thành ra thuỷ vân. Chỉ duy nhất chủ nhân của khoá bí mật mới có thể tìm lại
được thuỷ vân với xác suất cao.
2.2.1 Mô hình thuỷ vân

Hình 2: Mô hình thuỷ vân sử dụng các bít ít ý nghĩa nhất
2.2.2 Thuật toán nhúng thuỷ vân
Thuật toán này có sử dụng mã chứng thực thông điệp MAC đã nói đến trong
phần 2.1.3 ở trên, F(r.P) = H(K o H(K o r.P))
Input: Khoá bí mật K chỉ có chủ cơ sở dữ liệu biết, và các tham số


,

,

cũng được chủ cơ sở dữ liệu xác định.
Output: Bộ dữ liệu được thuỷ vân.
// Khóa bí mật K, chỉ có chủ cơ sở dữ liệu biết.
Kênh tấn
công
Phát hiện
thuỷ vân
Nhúng
thuỷ vân
Khoá bí mật, K
Dữ liệu, R
Dữ liệu được


thuỷ vân, R
W
Thuỷ vân được phát hiện
W
R
=(100100100….)
Dữ liệu bị

tấn công , R’
W

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

21
// Các tham số

,



cũng là của riêng chủ cơ sở dữ liệu.
1) for each tuple r

R do
2) if (F(r.P ) mod

equals 0) then // đánh dấu bộ này
3) attribute_index i = F(r.P ) mod


// đánh dấu thuộc tính A
i

4) bit_index j = F(r.P ) mod

// đánh dấu bit thứ j
5) r.A
i
= mark(r.P, r. A
i
, j) // gọi thủ tục mark
6) mark(primary_key pk, number

, bit index j) return number // thủ tục mark
7) first_hash = H(K  pk)
8) if (first_hash is even) then
9) set the j
th
least significant bit of

to 0
10) else
11) set the j
th
least significant bit of v to 1
12) return v
Hình 3: Thuật toán nhúng thủy vân
Hình 3 là mô tả của thuật toán nhúng thủy vân bao gồm các dòng lệnh:

Dòng 2 xác định xem bộ đang xét có được chọn để đánh dấu không. Vì

hàm MAC được sử dụng nên chỉ người chủ của khóa bí mật K mới có thể
dễ dàng xác định được những bộ nào phải được đánh dấu.

Đối với một bộ đã chọn, dòng 3 sẽ xác định thuộc tính nào sẽ được đánh
dấu trong số

thuộc tính ứng cử viên.

Số hóa bởi Trung tâm Học liệu - Đại học Thái Nguyên

22

Đối với thuộc tính đã chọn, dòng 4 xác định vị trí bit nào trong số

bit ít
ý nghĩa nhất sẽ được đánh dấu.
Một lần nữa chúng ta lại thấy là, kết quả của các phép thử tại dòng 3 và
dòng 4 đều phụ thuộc vào khóa bí mật của người chủ. Do đó, để xóa được
một thủy vân, kẻ tấn công sẽ phải đoán không chỉ các bộ mà còn cả các
thuộc tính đã được đánh dấu trong một bộ cũng như vị trí bit.

Thủ tục thủy vân (đánh dấu) đặt bit đã chọn bằng 0 hoặc bằng 1 tùy thuộc
vào giá trị của hàm băm thu được từ dòng 7. Kết quả của dòng 9 hoặc là
giữ nguyên giá trị của thuộc tính hoặc giảm đi 1. Còn kết quả của dòng 11
hoặc là giữ nguyên giá trị của thuộc tính hoặc tăng lên 1. Tức là, việc thủy
vân đơn giản chỉ là giảm một số giá trị của một thuộc tính trong khi lại
tăng một số giá trị khác và giữ nguyên một số không đổi.

Các cơ sở dữ liệu thường cho phép các thuộc tính chấp nhận các giá trị
null (rỗng). Nếu trong quá trình đánh dấu mà gặp phải một giá trị null của

thuộc tính đã chọn thì sẽ không đánh dấu giá trị này và giữ nguyên hiện
trạng của nó.
Có thể viết thuật toán trên đây bằng một cách khác đơn giản hơn và gọi nó là
thuật tóan đánh dấu như sau:
Cho hàm MAC:
F(r.P ) = H(K

H(K

r.P ))
và các tham số K, e, m và v được chọn ngẫu nhiên và giữ bí mật với các
giả thiết sau đây:

“K” là khóa bí mật

×