Đồng thời cũng trình bàycác kỹ thuật thủy vân số cho các cơ sở dữ liệu, được chia ra làm hai nhóm kỹthuật, đó là: Các kỹ thuật thủy vân số làm thay đổi dữ liệu và các kỹ thuậtthủy vân số
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
DƯƠNG THỊ LAN HƯƠNG
XÁC THỰC SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU QUAN HỆ BẰNG KỸ THUẬT THỦY VÂN SỐ DỰA VÀO HỆ MẬT MÃ KHÓA CÔNG KHAI
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC PGS.TS BÙI THẾ HỒNG
Trang 2LỜI CAM ĐOAN Tôi xin cam đoan: luận văn “Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai” là
công trình nghiên cứu của cá nhân tôi, các nội dung nghiên cứu và trình bàytrong luận văn trung thực, rõ ràng
Tác giả luận vănDương Thị Lan Hương
Trang 3LỜI CẢM ƠN
Tôi xin cảm ơn Trường Đại học Công nghệ thông tin và Truyền thông Đại học Thái Nguyên đã tạo điều kiện thuận lợi cho tôi hoàn thành khóa học
-và khóa luận này
Tôi xin gửi lời cảm ơn chân thành nhất tới PGS.TS Bùi Thế Hồng.Thầy đã cho tôi những định hướng nghiên cứu, giúp đỡ tôi trong suốt thờigian hoàn thành luận văn này
Để hoàn thành khóa học còn có công sức vô cùng to lớn của các thầy,
cô đã nhiệt tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong thờigian học tập tại trường
Cảm ơn các bạn trong lớp đã nhiệt tình giúp đỡ trong suốt thời gian họctập tại trường
Thái Nguyên, ngày tháng năm 2014
Học viênDương Thị Lan Hương
Trang 4MỤC LỤC
Trang
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT vi
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH viii
MỞ ĐẦU 1
CHƯƠNG I TỔNG QUAN VỀ THỦY VÂN SỐ 1.1 Tổng quan về thủy vân cơ sở dữ liệu quan hệ 3
1.1.1 Một số khái niệm cơ bản 3
1.1.2 Các yêu cầu cơ bản của thuỷ vân trên cơ sở dữ liệu quan hệ 9
1.1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ 11
1.1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ 13
1.2 Các kỹ thuật thủy vân số cho các cơ sở dữ liệu quan hệ 14
1.2.1 Kỹ thuật thủy vân số làm thay đổi dữ liệu trong CSDL quan hệ 15
1.2.2 Các kỹ thuật thủy vân số không làm thay đổi dữ liệu trong CSDL 25 1.3 Nhận xét về các lược đồ thủy vân 27
1.4 Kết luận 31
CHƯƠNG II XÁC THỰC SỰ TOÀN VẸN CỦA CƠ SỞ DỮ LIỆU QUAN HỆ BẰNG KĨ THUẬT THỦY VÂN DỰA VÀO HỆ MẬT MÃ KHÓA CÔNG KHAI 2.1 Giới thiệu 32
2.2 Kỹ thuật thủy vân số với cơ chế xác thực công khai 33
2.2.1 Ý tưởng của kỹ thuật thủy vân số với cơ chế xác thực công khai 33
Trang 52.2.2 Tạo ra mã xác thực 36
2.2.3 Quá trình xác thực tính toàn vẹn của dữ liệu 38
2.2.4 So sánh giữa hai thủy vân 41
2.3 Kết luận 42
CHƯƠNG III XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 3.1 Xây dựng chương trình 43
3.1.1 Bài toán thực nghiệm 43
3.1.2 Thiết kế chương trình 43
3.2 Thử nghiệm chương trình 51
3.3 Đánh giá kết quả thử nghiệm 52
KẾT LUẬN VÀ KIẾN NGHỊ 60
TÀI LIỆU THAM KHẢO 61
Trang 6DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT
MKSD Multi Key Single Data Đa khóa, đơn dữ liệuSKMD Single Key Multi Data Đơn khóa, đa dữ liệuLSB Least Significant Bit Bít ít ý nghĩa nhất
SVR Support Vector Regression Hồi quy vector hỗ trợ
Trang 7DANH MỤC CÁC BẢNG
Bảng 2.1: Giải thích các ký hiệu sử dụng trong lược đồ thủy vân 33Bảng 3.1: Thông tin kết quả học tập của sinh viên 49Bảng 3.2: Kết quả thử nghiệm 58
Trang 8DANH MỤC CÁC HÌNH
Hình 1.1 Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ 6
Hình 3.1 Giao diện chính của chương trình 44
Hình 3.2 Giao diện chính của chương trình 45
Hình 3.3: Giao diện kết quả tạo cặp khóa 46
Hình 3.4: Giao diện minh họa các bước tạo ra mã xác thực 46
Hình 3.5: Giao diện minh họa các bước lấy thủy vân WM’’ 47
Hình 3.6: Giao diện thông báo kết quả kiểm tra dữ liệu 48
Hình 3.7: Giao diện kết quả kiểm tra dữ liệu 48
Hình 3.8: CSDL thử nghiệm trong SQL 2012 50
Hình 3.9: Thủy vân số gốc được dùng trong thử nghiệm 51
Hình 3.10: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 1 52
Hình 3.11: a) Thủy vân gốc; b) Thủy vân thu được sau khi không thay đổi dữ liệu theo thử nghiệm 1 53
Hình 3.12: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 2 53
Hình 3.13: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 2 54
Hình 3.14: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo thử nghiệm 2 55
Hình 3.15: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 3 55
Hình 3.16: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 3 56
Hình 3.17: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo thử nghiệm 3 56
Hình 3.18: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 4 57
Hình 3.19: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 4 57
Hình 3.20: a) Thủy vân gốc; b) Thủy vân thu được sau khi thay đổi dữ liệu theo thử nghiệm 4 58
Trang 9Gần đây, các tác giả của bài báo [8] đã đưa ra một lược đồ thủy vânmới có thể xác thực một cách công khai sự toàn vẹn của cơ sở dữ liệu quan hệdựa vào hệ mật mã khóa công khai Kỹ thuật này giúp người cung cấp cũngnhư người sử dụng có được một cơ chế có thể kiểm tra được tính toàn vẹn củacác cơ sở dữ liệu đã được thủy vân.
Bài báo trên đã mở ra một hướng mới trong việc xác thực tính nguyênbản của dữ liệu Vì vậy để tiếp tục nghiên cứu theo hướng này, học viên đã
lựa chọn đề tài: “Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai”.
Mục tiêu của đề tài là: Nghiên cứu tổng quan về thủy vân cơ sở dữ liệuquan hệ như các khái niệm, định nghĩa cơ bản liên quan đến CSDL quan hệ,các mô hình dữ liệu, cụ thể là mô hình thực thể kết hợp và mô hình dữ liệuquan hệ Nghiên cứu tổng quan về kỹ thuật thủy vân số nói chung như kháiniệm thủy vân số, quy trình thực hiện thủy vân số Từ đó nghiên cứu chi tiếtmột kỹ thuật thủy vân số cho cơ sở dữ liệu quan hệ để xác thực tính toàn vẹncủa cơ sở dữ liệu Cuối cùng là viết chương trình demo để thử nghiệm kỹ
Trang 11sau:
Ngoài phần mở đầu và phần kết luận, luận văn bao gồm ba chương như
Chương I Tổng quan thủy vân số
Trình bày những kiến thức cơ bản liên quan đến thủy vân số như: Kháiniệm thủy vân số, khái niệm thủy vân cơ sở dữ liệu quan hệ, khóa thủy vân,lược đồ thủy vân, các ứng dụng của thủy vân số, Đồng thời cũng trình bàycác kỹ thuật thủy vân số cho các cơ sở dữ liệu, được chia ra làm hai nhóm kỹthuật, đó là: Các kỹ thuật thủy vân số làm thay đổi dữ liệu và các kỹ thuậtthủy vân số không làm thay đổi dữ liệu trong CSDL quan hệ Đồng thời cũngđưa ra một số nhận xét về các lược đồ thủy vân
Chương II Xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân dựa vào hệ mật mã khóa công khai
Trình bày chi tiết một kỹ thuật thủy vân số Đó là kỹ thuật thủy vân số với cơ chế xác thực công khai Kỹ thuật này bao gồm hai giai đoạn: giai đoạntạo mã xác thực (dành cho chủ sở hữu CSDL) và giai đoạn xác thực tính toànvẹn của dữ liệu (dành cho người sử dụng CSDL)
Chương III Xây dựng chương trình thử nghiệm
Trình bày bài toán, dữ liệu thử nghiệm và các mô hình thử nghiệm.Dùng chương trình demo để chạy các mô hình thử nghiệm và đưa ra kết quảđánh giá cho chương trình demo
Trang 12CHƯƠNG I TỔNG QUAN VỀ THỦY VÂN SỐ 1.1 Tổng quan về thủy vân cơ sở dữ liệu quan hệ
1.1.1 Một số khái niệm cơ bản
Thủy vân
Từ “thuỷ vân” có xuất xứ từ kỹ thuật đánh dấu nước thời xưa Đây là
kỹ thuật đánh dấu chìm một hình ảnh, một logo, hay một dữ liệu nào đó lêntrên giấy nhằm mục đích trang trí và phân biệt được xuất xứ của sản phẩmgiấy Như vậy, thông tin cần giấu được gọi là thuỷ vân (watermark)
Thuỷ vân mô tả thông tin có thể được dùng để chứng minh quyền sởhữu hoặc chống xuyên tạc
Có hai loại thuỷ vân, đó là: thuỷ vân bền vững và thuỷ dễ vỡ
Thuỷ vân bền vững (robust watermark): Là thuỷ vân tồn tại bền
vững cùng với dữ liệu, không dễ dàng bị phá huỷ trước những biến đổi, tấn công
lên dữ liệu Các kỹ thuật này thường được dùng trong các ứng dụng bảo vệbản quyền, chứng minh quyền sở hữu
Thuỷ vân dễ vỡ (fragile watermark): Là thuỷ vân dễ bị biến đổi
trước những biến đổi hay tấn công lên dữ liệu Các kỹ thuật này thường được
dùng trong các ứng dụng nhận thực thông tin, đảm bảo sự toàn vẹn dữ liệu
Thủy vân cơ sở dữ liệu quan hệ
Ngày nay, việc sử dụng các cơ sở dữ liệu trong các ứng dụng càng ngàycàng tăng lên đang tạo ra một nhu cầu tương tự đối với thủy vân cơ sở dữ liệu.Internet hiện đang đưa đến một sức ép rất nặng nề cho những người muốn bảo
vệ dữ liệu trong việc tạo ra các dịch vụ (thường được gọi là các dịch vụ web
Trang 13hoặ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ị đánhcắp
Thủy vân cơ sở dữ liệu quan hệ là một kỹ thuật nhúng một số thông tinnào đó (được gọi là thông tin thủy vân W) vào cơ sở dữ liệu quan hệ nhằmmục đích bảo vệ bản quyền hoặc đảm bảo sự toàn vẹn cho cơ sở dữ liệu này.Thủy vân có thể ở dạng ẩn hoặc hiện và có thể là bền vững hoặc dễ vỡ
Khóa thủy vân
Để chủ sở hữu cơ sở dữ liệu có thể giữ bí mật cho thông tin thủy vân W
và là người duy nhất có thể tìm lại được thông tin này thì cần phải trộn W vớimộ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 tinthứ hai này được gọi là khóa thủy vân
Khóa thủy vân là một lượng dữ liệu do chủ sở hữu cơ sở dữ liệu lựa chọn
và nhằm mục đích xác định thủy vân trong lược đồ thủy vân Ký hiệu là K
Khóa K sẽ được kết hợp với thủy vân W để nhúng vào cơ sở dữ liệu.Khóa thủy vân chính là mấu chốt của lược đồ thủy vân cơ sở dữ liệu có sửdụng khóa thủy vân
Khóa thủy vân sẽ được nhúng vào trong cơ sở dữ liệu quan hệbằng nhiều cách Thông thường khóa thủy vân sẽ được nhúng với dữ liệutrong cơ sở dữ liệu quan hệ rồi đưa vào trong thuật toán sử dụng Điều quantrọng ở đây chính là việc giấu khóa thủy vân vào trong thuật toán như thế nào
Trang 14u e d u v n /
Số hóa bởi Trung tâm Học
liệu
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ảnquyền và đảm bảo sự toàn vẹn dữ liệu trong cơ sở dữ liệu quan hệ có sử dụngkhóa Một trong những cách giấu khóa hữu hiệu nhất là sử dụng hàm băm vì
kỹ thuật này đảm bảo được yêu cầu bảo mật cũng như chi phí tính toán
Hàm băm (Hash function) là giải thuật nhằm sinh ra các giá trịbăm tương ứng với mỗi khối dữ liệu (có thể là một chuỗi kí tự, một đối tượng,v.v ) Ký hiệu là H
Cho hàm băm H thao tác trên một thông điệp đầu vào có độ dài tùy ý M
và kết quả là một chuỗi bít có độ dài cố định h: h = H(M) Hàm này có cácđặc trưng sau:
i) với M đã cho, dễ dàng tính được h
ii) với h đã cho, khó tìm được M sao cho H(M) = h
iii) với M đã cho, khó tìm được một thông điệp khác M’ saocho H(M)= H(M’)
Trong lược đồ thủy vân trình bày ở chương II, một hàm băm sẽ được sửdụng để băm khóa thủy vân cùng với cơ sở dữ liệu Hàm H(K || r.A) bămkhóa K cùng với giá trị thuộc tính A của bộ r, hàm H(K || ri.A1 || ri.A2 || … ||
ri.Ay) băm khóa K cùng với các giá trị thuộc tính của bộ ri của cơ sở dữ liệu,trong đó || là phép ghép nối Trong thực tế, hai hàm băm thông dụng nhất làMD5 và SHA [4] Trong phần thử nghiệm, luận văn dùng hàm băm MD5
Lược đồ thủy vân
Lược đồ thủy vân cơ sở dữ liệu quan hệ bao gồm 2 phần: nhúng thủyvân và phát hiện thủy vân [2] Khi nhúng thủy vân, một khóa thủy vân K do
Trang 15chủ 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àomôi trường Internet Để xác minh quyền sở hữu của một cơ sở dữ liệu đángngờ, cần phải lấy được thủy vân đã nhúng trong CSDL này Nếu thủy vân lấy
ra trùng với thủy vân đã nhúng, điều này chứng tỏ đây là CSDL của chủ sởhữu Tuy nhiên, nếu thủy vân lấy ra khác với thủy vân đã nhúng thì CSDLcủa chủ sở hữu đã bị thay đổi Hình 1.1 là sơ đồ mô tả lược đồ thủy vân cơ sở
dữ liệu quan hệ [2]
Khóa K
Trang 16Cơ sở dữ liệu đãnhúng thủy vân
Thông tin thủy vân (W)
Khóa K
Cơ sở dữ
liệu nghi ngờ
Phát hiệnthủy vân
Khẳng định đúnghoặc sai
Thông tin thủy vân (W)
Hình 1.1 Sơ đồ mô tả lược đồ thủy vân cơ sở dữ liệu quan hệ
Trang 17Sự cần thiết của các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Hiện nay, có khá nhiều tài liệu về thuỷ vân các dữ liệu đa phương tiện.Hầu hết các kỹ thuật này ban đầu được phát triển cho các bức ảnh tĩnh và sau
đó được mở rộng cho video và audio Cho dù có khá nhiều điều có thể học hỏiđược từ các kết quả đã đạt được về thuỷ vân dữ liệu đa phương tiện nhưngcho đế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ươngtiện khác nhau ở khá nhiều khía cạnh quan trọng Những khác biệt đó baogồm:
Một đối tượng đa phương tiện chứa một lượng rất lớn các bít với sự dưthừa đáng kể Vì vậy, các kỹ thuật thuỷ vân có một cái mặt nạ (vỏ) rấtrộ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ủamột đối tượng đa phương tiện có đặc thù là không thay đổi Nhưng các
bộ của một quan hệ lại cấu thành một tập hợp, do vậy không cần phải
áp đặt một thứ tự nào giữa các đối tượng này
Các phần khác nhau của một đối tượng đa phương tiện không thể bị cắt
bỏ hoặc thay thế một cách tuỳ ý mà không gây ra những thay đổi vềcảm quan trong đối tượng Ngược lại, việc thêm, bớt, và cập nhật các
bộ của một bảng quan hệ lại là những phép toán chuẩn trong cơ sở dữ
Trang 18Do có những khác nhau như đã nêu trên đây mà các kỹ thuật được pháttriển cho các dữ liệu đa phương tiện không thể được sử dụng trực tiếp để thuỷvân các dữ liệu quan hệ.
Thật vậy, giả sử ánh xạ một quan hệ thành một bức ảnh bằng cách xemmỗ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 ảnhtĩ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 theoquy trình: trước hết áp dụng một phép biến đổi (cosine rời rạc - DCT, sóngnhỏ - 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ânnhư 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ậtnà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ủavăn bản đã được định dạng Thủy vân thường được nhúng vào văn bản bằngcá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ậtdự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ậtnà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ănbả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ó ápdụng
Trang 191.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áchthức kỹ thuật đáng kể và có các ứng dụng thực tế có ý nghĩa xứng đáng đượcquan 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ểncá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àocá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ệuquan hệ, ở đây trình bày một kỹ thuật hữu hiệu thỏa mãn những tiêu chuẩncủ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 đổinhỏ ở một số giá trị Ý tưởng cơ bản là đảm bảo tại một số vị trí bit của một
số thuộc tính trong một số bộ có chứa các giá trị nhất định Các bộ, các thuộctí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ểmsoá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 rathủ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ủyvân với một xác suất cao Các phân tích chi tiết chỉ ra rằng thủy vân này cóthể đứng vững trước một loạt các tấn công gây hại khác nhau
Để đơn giản trong khi biện luận, phần này sử dụng ba nhân vật điểnhình vẫn thường được dùng trong các ví dụ về mật mã, giấu tin và thủy vân
Đó là một cô gái tên là Alice và bạn trai của cô tên là Bob Hai người này
Trang 20Giả dụ, Alice là chủ nhân của quan hệ R chứa bộ, trong đó cô đã
đánh dấu bộ Hệ thống thủy vân cần phải thỏa mãn những tính chất sauđây:
Khả năng có thể phát hiện (Detectability)
Alice cần phải có khả năng phát hiện thủy vân của cô bằng cách xemxé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áiphép Tuy nhiên, Alice cũng có thể ngờ vực ngay cả khi mẫu của cô chỉ có
mặt ở ít nhất là bộ ( ), trong đó phụ thuộc vào và một giá trị cho
trước, được gọi là mức ý nghĩa của phép thử Giá trị của được xác định saocho xác suất để Alice sẽ tìm thấy mẫu bit của cô trong ít nhất bộ từ bộ lànhỏ hơn
Tính bền vững (Robustness)
Các thủy vân cần phải bền vững trước những tấn công nhằm xóa bỏ chúng Ví thể với tư cách là kẻ tấn công, Mallory thay đổi bộ trong quan hệ
R của Alice Chúng ta nói rằng thủy vân là an toàn đối với tấn công này nếu
kẻ tấn công không thể phá hủy các dấu hiệu thủy vân ở ít nhất bộ, trong đó phụ thuộc vào và như đã nói ở trên
Cập nhật phần tăng thêm (Incremental Updatability)
Sau khi có quan hệ R đã thủy vân, Alice có thể cập nhật R khi cần thiết
mà không làm hỏng thủy vân Khi Alice thêm/ bớt các bộ hoặc sửa đổi các giá
trị của các thuộc tính của R, thủy vân cần phải có khả năng cập nhật trên
những phần gia tăng Tức là, các giá trị thủy vân chỉ phải tính toán lại đối vớicác bộ được thêm vào hoặc bị sửa đổi
Trang 21 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 conngườ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ôngnên bị ảnh hưởng
Hệ thống mù ( Blind System)
Việc phát hiện thuỷ vân không đòi hỏi các thông tin về cơ sở dữ liệu gốc
và cả thuỷ vân gốc Một hệ thống thủy vân như vậy được gọi là hệ thống mù.Tính chất này rất quan trọng vì nó cho phép có thể phát hiện thuỷ vân trongbản sao của quan hệ cơ sở dữ liệu cho dù quan hệ gốc đã được cập nhật
1.1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
Vì các quan hệ cơ sở dữ liệu luôn được cập nhật nên các thuỷ vân đượcgiấu trong một quan hệ có thể bị mất do những cập nhật thông thường cũngnhư các tấn công có chủ đích
Cập nhật thông thường
Giả sử Mallory lấy trộm dữ liệu của Alice mà không nhận ra nó đãđược thủy vân Sau đó, Mallory có thể cập nhật dữ liệu đã ăn trộm khi anh ta
sử dụng nó
Kỹ thuật đánh dấu cần đảm bảo rằng Alice không bị mất thủy vân của
cô ngay trong các dữ liệu bị ăn trộm, thậm chí đối với cả những cập nhật của
Trang 22Tứ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ữngcập nhật của tên trộm đó
Tấn công có chủ đích
Mallory có thể biết dữ liệu anh ta ăn trộm có chứa thủy vân, nhưng anh
ta có thể cố xóa thủy vân này hoặc thử dùng các phương tiện khác để đòiquyề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ạicủ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ôngnhằ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ệutrước những tấn công gây hại của kẻ trộm
Một số tấn công gây hại như :
Tấn công vào các bít: Cách tấn công gây hại đơn giản nhất là cố gắng phá
huỷ thuỷ vân bằng cách cập nhật một số bít Nếu tên trộm Mallory có thểthay đổi tất cả các bít, thì anh ta có thể dễ dàng phá huỷ thuỷ vân Tuynhiên, việc này cũng làm cho dữ liệu của anh ta không còn sử dụng đượcnữ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ốiquan hệ giữa số bít mà Mallory và Alice thay đổi, vì mỗi thay đổi có thểđược coi như một sai sót Càng có nhiều sai sót càng làm cho dữ liệu kémhữu dụng
Trang 23Tấ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ủathuộ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ôngthành công Nếu đoán già, thì anh ta đã làm giảm chất lượng của dữ liệuhơn mức cần thiết Thậm chí, ngay cả khi đoán đúng thì dữ liệu của anh tacũng không tương thích với dữ liệu của người chủ dữ liệu vì nó ít chínhxác hơn
Tấn công tập hợp con: Kẻ tấn công có thể lấy đi một tập con các bộ hoặc
các thuộc tính của quan hệ đã thuỷ vân với hy vọng làm mất thuỷ vân đó
Tấn công cộng: Mallory có thể cộng thêm thủy vân của anh ta vào quan
hệ đã thủy vân của Alice và đòi quyền sở hữu
Tấn công ngược lại: Mallory có thể phát động một cuộc tấn công ngược
lại để đòi chủ quyền nếu anh ta có thể khám phá thành công một thủy vânbịa đặt Cái thủy vân mà Mallory công bố thực ra chỉ là một xuất hiệnngẫu nhiên mà thôi
1.1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
o Bảo vệ quyền sở hữu: Thủy vân số có thể được dùng để bảo vệ quyền sở
hữu đối với các sản phầm số Nội dung của các sản phẩm số này sẽ chứa
Trang 24o Chống sao chép bất hợp pháp: Các sản phẩm có chứa thủy vân số biểu
hiện cho việc sản phẩm này không được sao chép, vì nếu sao chép sẽphạm luật Nhà sản xuất trang bị các phương tiện dùng để sao chép (như
CD writer…) đều có khả năng phát hiện xem thủy vân số có chứa trongsản phẩm số hay không, nếu có thì sẽ từ chối không sao chép Một sốphần mềm cũng có chức năng này, ví dụ như phần mềm xem phim củahãng DivX sẽ từ chối chiếu các bộ phim chứa thủy vân số
o Theo dõi quá trình sử dụng: Thủy vân số có thể được dùng để theo dõi
quá trình sử dụng của các sản phẩm số Mỗi bản sao của sản phẩm sốđược chứa bằng một thủy vân số duy nhất dùng để xác định người sửdụng là ai Nếu có sự sao chép bất hợp pháp, ta có thể truy ra người viphạm nhờ vào thủy vân số được chứa bên trong sản phẩm số đó
o Chống giả mạo: Thủy vân số có thể được dùng để chống sự giả mạo Nếu
có bất cứ sự thay đổi nào về nội dung của các sản phẩm số thì thủy vân sốnày sẽ bị hủy đi Do đó rất khó làm giả sản phẩm số có chứa thủy vân số
o Theo dõi truyền thông: Các công ty truyền thông và quảng cáo có thể
dùng kỹ thuật thủy vân số để quản lý xem có bao nhiêu khách hàng đãdùng dịch vụ cung cấp
o Truyền tin bí mật: Bởi vì thủy vân số là một dạng đặc biệt của việc che
dấu dữ liệu nên người ta có thể dùng để truyền các thông tin bí mật
1.2 Các kỹ thuật thủy vân số cho các cơ sở dữ liệu quan hệ
Trong phần trên, luận văn đã trình bày một cách tổng quan về thủy vân sốnói chung Phần này, luận văn sẽ tập trung trình chi tiết các kỹ thuật thủy vân
Trang 25số cho các cơ sở dữ liệu quan hệ đã được đề xuất từ trước tới nay Các kỹthuật được trình bày ở đây sẽ được phân loại dựa trên các yếu tố sau: (i) Các
kỹ thuật làm thay đổi cơ sở dữ liệu; (ii) Kiểu của dữ liệu mà thủy vân số đượcnhúng; (iii) Kiểu của dữ liệu thủy vân số
Dựa trên yếu tố làm thay đổi cơ sở dữ liệu, các kỹ thuật có thể được phânloại thành hai nhóm kỹ thuật: Các kỹ thuật làm thay đổi cơ sở dữ liệu vàkhông làm thay đổi cơ sở dữ liệu
1.2.1 Kỹ thuật thủy vân số làm thay đổi dữ liệu trong CSDL quan hệ
Các kỹ thuật thủy vân số thuộc loại này, trong giai đoạn nhúng thủy vân
số vào các cơ sở dữ liệu quan hệ thì sẽ làm thay đổi dữ liệu và mức độ thayđổi được tạo ra trong cơ sở dữ liệu là chấp nhận được và không tạo ra dữ liệu
vô nghĩa Chúng có thể được thực hiện trên các giá trị thuộc tính có nhữngkiểu dữ liệu khác nhau như kiểu số (numeric), kiểu xâu (string),… tại mức bíthoặc mức ký tự hoặc mức cao hơn (như là mức thuộc tính hoặc mức bản ghi)
1.2.1.1 Kỹ thuật thủy vân số dựa trên thuộc tính kiểu dữ liệu số
Sử dụng mẫu bít vô nghĩa làm thông tin thủy
vân
Các lược đồ kỹ thuật thủy vân số này được đề xuất bởi Agrawal vànhững người khác [3], [4], [6] (cũng được biết như là thuật toán AHK), thìdựa trên thuộc tính kiểu dữ liệu số và được thực hiện tại mức bít Ý tưởng cơbản của các lược đồ này, đảm bảo rằng các vị trí bít trong các thuộc tính củacác bản ghi trong bảng dữ liệu chứa đựng các giá trị cụ thể Mẫu bít này đểlàm thủy vân số Các bản ghi, các thuộc tính trong bản ghi, các vị trí bít trongthuộc tính, và các giá trị bít cụ thể tại các vị trí bít đó được xác định trong
Trang 27diễn số lượng các bản ghi được đánh dấu (được nhúng thủy vân số), số lượng các thuộc tính được đánh dấu, số lượng các bít ít ý nghĩa được đánh dấu trongthuộc tính, và cuối cùng là khóa bí mật Trong [6], hàm mã hóa MAC
Trang 28u e d u v n /
Số hóa bởi Trung tâm Học
liệu
được dùng để xác định các vị trí bít trong thuộc tính được chọn Hàm HASH
H K r.P được dùng để xác định các giá trị bít được nhúng tại các vị trí đó.
Vì các hàm MAC và HASH là hàm một chiều nên việc lựa chọn của chúng sẽ
có xung đột thấp Trong [3], [4], các tác giả dùng bộ sinh dãy ngẫu nhiên (như
bộ ghi dịch chuyển hồi tiếp tuyến tính) thay thế cho HASH và MAC để xácđịnh các giá trị bít và các vị trí của các bít được đánh dấu Tính bảo mật vàtính bền vững của lược đồ này phụ thuộc vào các tham số ở trên do người sởhữu cơ sở dữ liệu cung cấp Trong thực thế, thuật toán dò thủy vân số củalược đồ này là không chắc chắn (chưa chắc đã dò được thủy vân số đượcnhúng) theo xác suất Bảng dữ liệu được cho là vi phạm bản quyền nếu mẫuđối sánh xuất hiện ít nhất bản ghi, ở đây phụ thuộc vào số lượng các bảnghi được dùng để đánh dấu và giá trị được chọn trước, được gọi là mức độ ýnghĩa của kiểm tra Qua thực thế thấy rằng thành công của giai đoạn dò thủyvân số trong lược đồ này phụ thuộc vào thứ tự của các thuộc tính Nếu thứ tựcủa các thuộc tính được thay đổi, hầu như không thể dò được thủy vân sốđược nhúng trong cơ sở dữ liệu Mặc dù cái chính trong lược đồ này đó là cácbảng dữ liệu phải có khóa chính, giá trị của khóa không được thay đổi, nhưng
họ cũng đề nghị một thay đổi không sử dụng khóa chính Li et al [Li et al.,2003] đưa 3 lược đồ khác nhau để tạo ra khóa chính ảo cho một bảng dữ liệukhông dùng khóa chính
Trong [7], Lafaye đã phân tích bảo mật cho thuật toán AHK Tác giả đãphân tích tính bảo mật và tính bền vững trong hai tính huống: (i) Đa khóa
Trang 29t h
nhưng đơn cơ sở dữ liệu (MKSD): Một cơ sở dữ liệu được nhúng thủy vân sốnhiều lần, mỗi lần dùng các khóa bí mật khác nhau và sau đó bán cho nhữngngười sử dụng khác nhau và (ii) Đơn khóa nhưng đa cơ sở dữ liệu (SKMD):Vài cơ sở dữ liệu khác nhau được nhúng thủy vân số dùng một khóa bí mật.Thử nghiệm, thực hiện tấn công ngẫu nhiên trên nội dung được nhúng thủyvân số bằng thuật toán AHK Kết quả là thành công khi lấy ngẫu nhiên các bít
ít ý nghĩa tại vị trí thứ trong tất cả các bản ghi trong bảng dữ liệu Tuynhiên, tấn công này là xâm phạm ở mức độ cao do vậy phần lớn các giá trịcủa bảng dữ liệu là bị tác động của tấn công
Năm 2006, tác giả Qin et al đã đưa ra cải tiến trên lược đồ Agrawal vàKiernan [6] Thay vì dùng hàm băm, họ dùng các dãy ngẫu nhiên hỗn hợp dựatrên biểu thức hỗn hợp Logistic, có hai thuộc tính: toán tử lặp và tính nhạy.Cải tiến này loại bỏ tính xung đột trong sử dụng hàm băm Lựa chọn các bítLSB để nhúng thủy vân số gặp hai yêu cầu: vùng dữ liệu và độ chính xác củamỗi thuộc tính thay vì đơn giản dùng cho tất các các thuộc tính Do vậy, lỗixảy ra khi nhúng thủy vân giảm đáng kể
Trong các nghiên cứu gần đây, một lược đồ thủy vân số nghịch đảo dựatrên các lược đồ của Agrawal và Kiernan [6] đã được đề xuất Trong lược đồnày, trong giai đoạn dò thủy vân số, phần không được nhúng thủy vân số của
cơ sở dữ liệu gốc có thể được khôi phục dựa theo xác thực quyền sở hữu Đầutiên, toán tử trích rút một bít OldBit từ phần nguyên của giá trị thuộc tínhtrước khi thay thế nó bằng bít thủy vân số và thêm nó vào phần phân số củagiá trị thuộc tính Do vậy, bít thủy vân số có thể được khôi phục trong khi dòthủy vân và các thuộc tính có thể được khôi phục tới giá trị không được đánhdấu của nó bằng cách thay thế bít thủy vân số với bít gốc OldBit được trích
Trang 30Kỹ thuật thủy vân số nhúng các số ngẫu nhiên (nằm giữa 0 và 9) tại các
vị trí LSB của các thuộc tính ứng viên trong các bản ghi được chọn Tronggiai đoạn nhúng thủy vân số, các bản ghi được phân chia bảo mật vào cácnhóm dùng mã hóa hàm băm và chỉ có m (m bằng độ dài của thủy vân số củangười sở hữu) nhóm đầu tiên được xét Quyết định để đánh dấu nhóm thứ i
(1 m ) phụ thuộc vào bít thứ i của thủy vân số của người sở hữu, trong khi
mà sự lựa chọn các bản ghi trong một nhóm là dựa trên một khóa bí mật, cũnggiống như thông tin tại các vị trí LSB thứ hai của các thuộc tính ứng viên số.Cuối cùng, đối với các số ngẫu nhiên các bản ghi được chọn (giữa 0 và 9) làđược nhúng tại các vị trí LSB trong các giá trị thuộc tính của các bản ghi đó.Quan quan sát thấy rằng mặc dù người sở hữu có một thủy vân số của độ dài
m, nó không thực sự được nhúng Đúng hơn là, nó được dùng để xác định vàinhóm thích hợp để nhúng các giá trị ngẫu nhiên mà hành động như là thôngtin thủy vân được nhúng Giai đoạn dò thủy vân số xác định sự có mặt củađánh dấu trong một nhóm nếu tần xuất xảy ra lớn nhất cho một giá trị giữa 0
và 9 cho nhóm đó lớn hơn một ngưỡng
Sử dụng ảnh làm thông tin thủy
vân
Các tác giả của bài báo [5] đã trình bày một kỹ thuật thủy vân có thểnhúng hình ảnh có định dạng BMP Trong giai đoạn chèn thủy vân, hình ảnhđược chia làm hai phần: phần dữ liệu tiêu đề và phần dữ liệu hình ảnh.Phương pháp sửa lỗi BCH được sử dụng để mã hóa một phần dữ liệu hình ảnhthành thủy vân Dựa trên giá trị ID của bản ghi, nó được tính toán bằng cáchtiến hành tham số hóa hàm băm với khóa chính của bản ghi và phần tiêu đềhình ảnh có định dạng BMP Tất cả các bản ghi được gắn với các tập k riêngbiệt, trong đó k là độ dài của thủy vân Tiếp đó, mỗi phần các bít k của thủyvân được sử dụng để đánh dấu mỗi phần các tập k trong các bản ghi Trong
Trang 31quá trình đánh dấu, vị trí bít ít ý nghĩa nhất được lựa chọn trong số các thuộctính được lựa chọn của các bản ghi thỏa mãn điều kiện cụ thể, được lọc ra.Việc lựa chọn vị trí bít phụ thuộc vào việc tham số hóa hàm băm hoặc hàmMAC với phần tiêu đề hình ảnh có định dạng BMP, khóa chính của bản ghi
và các tham số khác giống như các bít ít ý nghĩa nhất trong giá trị thuộc tính.Quan sát có thể nhận thấy rằng vị trí các bít được lựa chọn không phải chỉđược thiết lập trực tiếp từ các bít thủy vân mà còn được thiết lập từ các bítđược tính toán bởi giá trị băm và bít thủy vân
Lược đồ thủy vân số dễ vỡ dựa trên ảnh của tác giả Tsai (2007) hướngtới duy trì tính toàn vẹn của cơ sở dữ liệu và dùng hồi qui vector hỗ trợ (SVR)
để huấn luyện các thuộc tính tương quan cao để tạo ra hàm dự đoán SVR chothủy vân nhúng vào các thuộc tính số Lược đồ này bao gồm ba giai đoạn: (i)Giai đoạn huấn luyện: Lựa chọn các bản ghi huấn luyện và lấy hàm dự đoánSVR được huấn luyện; (ii) Giai đoạn nhúng thủy vân số: Tất cả các bản ghitrong cơ sở dữ liệu quan hệ là được sử dụng để nhúng thủy vân số ảnh ở đây
số lượng các bít thủy vân số được thiết kế bằng số lượng các bản ghi Mỗi giátrị thuộc tính số Ci của bản ghi ti thứ i dược dự đoán dùng hàm dự đoán SVR
Trang 32f (t i ) Dựa trên bít thủy vân số bi thứ i (được lấy sau khi
chuyển đổi ảnh vào luồng bít), giá trị của Ci được thay đổi bằng cách C i
hoặc C i ; (iii) Dò giả mạo: Hàm dự đoán SVR được huấn luyện được sửdụng để sinh giá trị được dự đoán cho mỗi bản ghi và được so sánh với giá trịđược lấy ra trong cơ sở dữ liệu Sự khác nhau giữa hai giá trị đó xác địnhthông tin thủy vân số và có thể đảm bảo cơ sở dữ liệu được giả mạo haykhông giả mạo Tuy nhiên, hạn chế của lược đồ này đó là nó có thể xác định
sự thay đổi chỉ xảy ra trong tập thuộc tính đối tượng Lược đồ này làm việc
Trang 33tốt trong trường hợp các bản ghi trong bảng dữ liệu là độc lập nhưng có sự tương quan cao giữa các thuộc tính.
Sử dụng ngôn ngữ làm thông tin thủy vân
Năm 2008, Wang et al đã đề xuất dùng ngôn ngữ của người sở hữu đểsinh thủy vân số duy nhất Thủy vân số từ ngôn ngữ bao gồm các bước sau:Nén dữ liệu ngôn ngữ để đưa vào thủy vân số, cải thiện dữ liệu ngôn ngữ đểloại bỏ nhiễu trong miền tần số, chuyển đổi dữ liệu ngôn ngữ vào luồng bít,
và cuối cùng, tạo ra thủy vân số bằng cách dùng thông điệp bản quyền củangười sở hữu và kết quả được chuyển dữ liệu ngôn ngữ Nhúng thủy vân đượcthực hiện ở mức bít bằng cách cho phép các bước thuật toán giống như trong
kỹ thuật dựa trên ảnh của [10]
Sử dụng các đặc tính nội dung làm thông tin thủy vân
Lược đồ thủy vân số trong [11] được thực hiện dựa trên nội dung củachính cơ sở dữ liệu Các tác giả của bài báo này đưa ra một lược đồ thủy vân
dễ vỡ có thể xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ Trong lược đồnày, tất cả các bản ghi trong cơ sở dữ liệu quan hệ được chia thành các nhóm
và được sắp xếp Trong mỗi nhóm, có hai loại thủy vân số được nhúng: thủyvân số thuộc tính W1 bao gồm thủy vân độ dài và thủy vân bản ghi W2bao gồm thủy vân độ dài , ở đây và là số lượng các thuộc tính trongmột bản ghi và số lượng trung bình của các bản ghi trong mỗi nhóm tươngứng W1 và W2 được tạo bằng cách trích rút dãy bít từ giá trị hàm băm Đốivới thủy vân thuộc tính W1, giá trị hàm băm được tạo liên quan tới mã xácthực thông điệp và cùng thuộc tính của tất cả các bản ghi trong các cùng
Trang 34kê dữ liệu cơ bản, các ràng buộc ngữ nghĩa và các ràng buộc cấu trúc Độ lệchchuẩn và độ lệch trung bình của tập dữ liệu có bề mặt chung nhau trong cácràng buộc độ đo thống kê dữ liệu cơ bản Các ràng buộc ngữ nghĩa và cácràng buộc cấu trúc được định nghĩa bằng cách đầu vào của người sử dụng như
là các câu lệnh SQL liên quan tới bảng dữ liệu quan hệ Nếu trong giai đoạnnhúng, một bản ghi nào đó được lựa chọn nhưng loại bỏ, nó được ghi lại vàđược loại bỏ trong khi giai đoạn trích rút Giai đoạn trích rút thủy vân số làkhông rõ ràng vì theo xác suất và sử dụng kỹ thuật theo số đông
Giai đoạn nhúng thủy vân số trải qua 3 giai đoạn: (i) lựa chọn mộtnhóm các thuộc tính ứng viên trong tất cả các thuộc tính của bảng dữ liệu, và
Trang 35ghi vào để làm lược đồ thủy vân số; (ii) gắn thêm mã hiệu chỉnh lỗi (ECCcode) tới thủy vân số; (iii) thực hiện thuật toán nhúng thủy vân số Thuật toánnhúng thủy vân số tạo ra dãy ngẫu nhiên dùng khóa chính và khóa bí mật.Dãy này được sử dụng để xác định các thuộc tính đánh dấu dựa trên ý nghĩacủa các thuộc tính và bít thủy vân số được nhúng Trong giai đoạn đánh dấu,ràng buộc cục bộ và ánh xạ song ánh (để giảm các kiểu dữ liệu trong thủy vânsố) được sử dụng Các ràng buộc cục bộ có thể được định nghĩa là giới hạntrên của khoảng cách của các thuộc tính sau/trước thủy vân số Cuối cùng,ràng buộc tổng quát là một dãy của các câu lệnh SQL được ước lượng đểquyết định thực hiện các thay đổi hay không Qua quan sát thấy rằng, lược đồlựa chọn thủy vân số trong giai đoạn nhúng và lược đồ dò thủy vân số tronggiai đoạn xác thực là rõ ràng.
1.2.1.2 Kỹ thuật thủy vân dựa trên thuộc tính kiểu dữ liệu phân loại
Không giống như các lược đồ thủy vân số được trình bày ở trên nhúngtrên thuộc tính số, lược đồ bảo vệ bản quyền được đưa ra trong [2] là dựa trênkiểu dữ liệu phân loại Quá trình nhúng thủy vân số bắt đầu với một bảng dữ
liệu với tối thiểu một thuộc tính kiểu phân loại A (được thủy vân số), một thủy vấn số wm và một tập các khóa bí mật (k 1 , k 2 ) và các tham số khác (e xác định phần trăm của các bản ghi để đánh dấu) Dùng khóa chính K và khóa bí mật k 1
và tham số e, nó đưa ra một tập các bản ghi “đầy”, được dùng để mã hóa đánh
dấu Quá trình lựa chọn bản ghi “đầy” là giống thuật toán AHK Giả sử cơ sở
dữ liệu có bản ghi, khi đó tập các bản ghi đầy chứa khoảng e bằng cách
triển khai mã điều chỉnh lỗi (ECC) Thuật toán đánh dấu sinh một giá trị bímật của số lượng bít được yêu cầu để biểu diễn tất cả các giá trị phân loại có
thể cho thuộc tính A phụ thuộc khóa chính và k 1, và khi đó, bít ít ý nghĩa của
Trang 37H T i (k ),k2 bảo đảm, trên trung bình, một lượng lớn các bít chính trong dữliệu wm_data sẽ được nhúng tại vị trí bít ý nghĩa của nó Dùng hai khóa khác nhau k 1 và k 2 đảm bảo không có tương quan giữa các bản ghi được lựa chọn
cho nhúng (được lựa chọn bởi k 1) và các vị trí giá trị bít tương ứng trong
wm_data (được lựa chọn bởi k 2) Họ cũng đề nghị thực hiện nhúng dựa trêncác thuộc tính đa phân loại bằng cách không chỉ xem xét sự kết hợp giữa khóa
chính và thuộc tính phân loại A nhưng tất cả được kết hợp giữa khóa chính và
các thuộc tính phân loại để tăng độ bền vững của lược đồ Mặc dù lược đồnày là bền vững để chống lại các loại tấn công (các tấn công ngẫu nhiên), tuynhiên, lược đồ không phù hợp cho các cơ sở dữ liệu quan hệ mà cần cập nhậtnhiều, vì nó rất đắt để nhúng thủy vân số vào các cơ sở dữ liệu quan hệ đượccập nhật Mặc dù chỉ một phần nhỏ của các bản ghi được chọn bị ảnh hưởngbởi nhúng thủy vân, các thay đổi của các thuộc tính phân loại (thay đổi từ
“red” tới “blue”) trong các ứng dụng có thể quá ý nghĩa để có thể chấp nhận
Kỹ thuật thủy vân số này được áp dụng để xử lý dữ liệu y học trong kiểu cấutrúc phân tầng [Bertino et al., 2005]
1.2.1.3 Kỹ thuật thủy vân số dựa trên thêm bản ghi hoặc thêm thuộc tính
Sử dụng các bản ghi giả làm thông tin thủy
vân
Kỹ thuật này được đề cập trong [2] hướng tới tạo các bản ghi giả vàchèn chúng vào trong cơ sở dữ liệu Thuật toán tạo bản ghi giả chọn cẩn thậncác thuộc tính khóa ứng viên và mức nhạy của các thuộc tính không phải ứng
viên Ông đã dùng xác suất mẫu Bernoulli p i cho thuộc tính không ứng viên A i thứ i để quyết định giá trị giả của nó, có thể lựa chọn không đồng nhất hoặc như là giá trị với tần xuất xảy ra cao trong tập các giá trị tồn tại của A i trong
cơ sở dữ liệu quan hệ Không giống như các thuật toán khác, thuật toán dò
Trang 38thủy vân số này không là thuật toán ngược với thuật toán sinh thủy vân số vàthuật toán chèn là theo xác suất trong tự nhiên Thuật toán dò thủy vân sốkiểm tra xem các bản ghi giả được thêm trong giai đoạn chèn thủy vân, tồn tạihoặc đã được thay đổi Nó kiểm tra nó thông qua khóa chính Khi nó tìm thấymột cái phù hợp, dò đã thành công Dò sẽ thất bại cho cơ sở dữ liệu đượcnhúng thủy vân khi tất cả các bản ghi giả được xóa bằng cách xóa benign Sốlượng các bản ghi giả được chèn là được quyết định bởi chính cơ sở dữ liệu.Tuy nhiên, giai đoạn chèn thủy vân phải được xem xét như là thực tế mà cácgiá trị của các bản ghi giả đánh dấu sẽ không làm ảnh hưởng đến chất lượng
dữ liệu trong cơ sở dữ liệu và sẽ không tác động vào các kết quả truy vấn.Một ưu điểm của lược đồ này đó là quyền sở hữu có thể được xác định côngkhai hơn các lược đồ khác cho tới khi tất cả các bản ghi giả được hiển thị vàlược đồ thực hiện không chịu sự tác động từ cập nhật lớn
Sử dụng thuộc tính ảo làm thông tin thủy
vân
Thay vì thêm các bản ghi giả, tác giả trong [13] đã đề xuất kỹ thuật thủyvân khác bằng cách thêm một thuộc tính ảo trong cơ sở dữ liệu quan hệ sẽđược sử dụng như là tổng kiểm tra ngang hàng chứa thủy vân của tất cả cácthuộc tính khác và một giá trị hội tụ được chứa từ một trong những cái thuộctính số nào đó của tất cả các bản ghi Quá trình của thêm thuộc tính ảo đượcthực hiện độc lập cho mỗi phần không chồng được lấy từ cơ sở dữ liệu gốc.Lược đồ này được thiết kế để xác thực giả mạo của cơ sở dữ liệu trên kênhgiao tiếp không bảo mật Mặc dù phương pháp này là dễ vỡ và có thể dễ dàng
dò các tấn công xóa, chèn hoặc thay đổi Nó chống lại cuộc tấn công dichuyển thủy vân số
Trang 391.2.2 Các kỹ thuật thủy vân số không làm thay đổi dữ liệu trong CSDL
Phần lớn các kỹ thuật thủy vân số không làm thay đổi dữ liệu trongCSDL là dễ vỡ, chúng hướng tới duy trì tính toàn vẹn của thông tin trong cơ
sở dữ liệu Giai đoạn nhúng thủy vân số không phụ thuộc vào kiểu cụ thể củathuộc tính và không làm thay đổi dữ liệu trong cơ sở dữ liệu
1.2.2.1 Trích rút giá trị băm làm thông tin thủy vân
Một số tác giả đề xuất các lược đồ thủy vân số có thể dò các thay đổicủa cơ sở dữ liệu quan hệ Các lược đồ này được thiết kế cho dữ liệu phânloại, vì vậy nhúng thủy vân là không làm biến đổi dữ liệu Phân nhóm các bảnghi là dựa trên giá trị hàm băm với tham số là khóa chính và khóa bí mật,trong khi đề xuất ở đây phân nhóm dựa trên các giá trị thuộc tính phân loại.Sau khi phân nhóm, các giá trị hàm băm mức nhóm và mức bản ghi cho mỗinhóm được tính toán Trong [2], một thủy vân có độ dài bằng số lượng cáccặp bản ghi trong nhóm, được trích rút từ giá trị hàm băm mức nhóm và chomỗi cặp bản ghi, thứ tự của hai bản ghi được thay đổi hoặc không được thayđổi liên quan tới các giá trị hàm băm bản ghi của chúng và bít thủy vân tươngứng
1.2.2.2 Chuyển đổi cơ sở dữ liệu quan hệ sang dạng nhị phân được
dùng làm thông tin thủy vân
Lược đồ thủy vân số công khai bởi Li và Deng [14] được áp dụng đểđánh dấu bất kỳ kiểu dữ liệu gồm số nguyên, số thực, ký tự và Boolean, ngoàiviệc lo ngại bất kỳ lỗi ràng buộc xảy ra Các đặc tính quan tâm của lược đồ
Trang 40tin như Xác định của người sở hữu và các đặc điểm của cơ sở dữ liệu (nhưTên cơ sở dữ liệu,…) Qua quan sát thấy rằng khóa thủy vân số công khai làkhác từ cặp khóa riêng tư-công khai của mã hóa không đối xứng Khóa thủy
vân này được sử dụng để sinh ra một thủy vân W từ quan hệ R Thủy vân số