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ănglê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.. Do đó, những ng
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2MỤC LỤC
LỜI CẢM ƠN .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
Trang 31.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
Trang 4LỜ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 gianthự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 trongquá 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ônbê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ủamình
Trang 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ànhnghề 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ộthoạ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ênquan đế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ờitiế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ệnthườ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ữngnă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 Tronggiấ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épbiế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ộnghiệ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ệ
Trang 6CHƯƠ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óichung 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ừ, đĩatừ, 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)
Trang 7Hì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
Trang 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ậpcá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
Ngaysinh12/10/1987
Điachi)
Hà Nội
Trang 9Trong đó 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ốiliê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 haymộ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áchkhá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ộctính khác Ví dụ Số chứng minh thư sẽ xác định được tất cả thông tin về người mangchứ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ằngthô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 ≠
Trang 10Cá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 đượcmộ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ânbề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ạycả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ácvù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:
Trang 11Thủ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ầnphả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ânkhó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 haiquá 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ôngphả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ủadấ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ạinhư:
Trang 12Thủ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ểnthị 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ânbiệ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ủyvâ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ữngngườ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ânngườ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ântrê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ưngkhá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ănglê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
Trang 13bả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ốinhư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ướcnhữ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ôngnghệ 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ệuquan 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ềnvữ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úngkhô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ảnglogarit 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ạngcá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ữngsai 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 trongmiền dung sai của độ đo
Trang 141.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ủyvâ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ựaphầ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ỏiphả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 địnhmộ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 CSDLquan 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ị
Trang 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 tbộ, 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àmthay đổ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ủyvâ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.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 đượcdùng trong các ví dụ về mật mã, giấu tin và thủy vân Đó là
Trang 16mộ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 trongmộ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
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ấtthuỷ 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ủatê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áiphé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ủaMallory 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ằmmụ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ônggâ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 quantrọng và được sử dụng phổ biến là:
Trang 171.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úngvào dữ liệu để chứng minh quyền sở hữu của tác giả (gọi là watermark haythủ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áckhó 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 độngbằ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ápthủ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ácphươ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ậnthô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áncho các khách hàng khác nhau Nó sẽ được nhúng watermark là chữ ký của từngkhách hàng tương ứng Sau đó, ảnh được chuyển cho các khách hàng Mỗi kháchhà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áckê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-topbox 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ấpdịch vụ sẽ mã hóa dữ liệu sử dụng các khóa trước khi chuyển đến
Trang 18cho 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 khingườ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 saoché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áiphé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íchhợ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ệugố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ộttrong 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
Trang 19trong đó, 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ủamộ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ủathô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
Trang 201.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 thuộc tính số đang xét là �1 … �� , các thuộc tính này đã được sắpxếp theo tên của thuộc tính Thuật toán sẽ xác định thuộc tính ��
để nhúng tin theo công thức:
Trang 21� = ��� ��� �
Bước 4: Xác định vị trí bít thấp để chứa tin
Sau khi xác định được thuộc tính �� dùng để 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
Để xác định quan hệ � ′ có thuộc về tác giả có thủy vân W hay không? Thuật toánthực hiện trích dãy bít thủy vân � trên quan hệ này cùng với các tham số do tác giả của �cung cấp Sau khi trích được dãy bít �, thuât toán so sánh sự khác biệt giữa � và �, nếu
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ả,trái lại thi không thuộc
- 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
Trang 22Thuậ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
Nếu MAC mod Y ≠ 0 thì bản ghi � ′ không nhúng tin Nếu trái lại thì bản ghi � ′
, thuật toán đến Bước 3
Bước 3: Xác định thuộc tính trich tin
để nhúng tin theo công thức:
� = ��� ��� �
Bước 4: Xác định vị trí bít thấp trích tin
Sau khi xác định được thuộc tính �� 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ả
Trang 23CHƯƠ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ủakinh tế và nghiên cứu, ở đó, chia sẻ thông tin online là hoạt động quan trọng liênquan đến CSDL mua và bán Ví dụ như việc chia sẻ dữ liệu về thời tiết, thị trườngchứ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ếtquả 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 visao chép và tái phân phối trái phép trên Internet Trong ngữ cảnh này, chứng minhquyề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 đốivớ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ốicác đối tượng đa phương tiện như: ảnh, text, audio, và bảo vệ CSDL quan hệ mộtcá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ăngnhú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 âmthanh 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ấtnhỏ 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 khinhú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ânvà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ảnquyề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ácphương pháp thủy vân bền vững
Trang 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 đượcchọ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ăngkhá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 đượcchuyể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ânvà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ăngkhá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 – DiferenceExpand) đã đượ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 Dovậ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 dungtiế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 (DifferenceExpand)
Trang 251.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 đầuphươ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 Haarnguyên đối với hai giá trị nguyên (x,y) Nội dung phép biến đổi Haar nguyên đượctrì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)
2Khi đó, 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:
� = � +
� + 12
�
� = � −
2
Xét ví dụ với (�, �) = (300,250) thì phép biến đổi Haar nguyên thuận
Trang 26Đây chính là tính thuận nghịch của phép biến đổi Haar nguyên Tính thuận nghịch này
có thể được chứng minh bằng lý thuyết như sau:
Chứng minh phép biến đổi Haar nguyên có tính thuận nghịch
Với hai số nguyên (�, �) bất kỳ, phép biến đổi Haar nguyên thuận tính
� = � ′ và � = �′ Thật vậy, xét hai trường hợp:
T r ư ờ ng hợp � là s ố lẻ :
Do� = � − �, mà theo giả thiết�là một số lẻ nên � và �phải không
cùng chẵn hoặc không cùng lẻ Trong trường hợp này ta có:
� + 1
2
� + 1
=2
�2
� − 1
=2
Trang 27� ′ = � − � = − = � � + � − 1 � − � − 1
2 2 2Nhận thấy với � lẻ thì ta có được � ′ = � và� ′ = �.Tức là với � lẻ thì
phương pháp mở rộng hiệu có tính khả nghịch
T r ư ờ ng hợp � là s ố c hẵ n:
Do� = � − �, mà theo giả thiết�là một số chẵn nên � và � sẽ cùng là
số chẵn hoặc cùng là số lẻ Khi đó, ta có các biểu thức sau:
� = � ′ và � = �′ Vậy, phép biến đổi Haar nguyên là phép biến đổi thuận
nghịch Điều này có nghĩa, nếu từ (�′ , �′ ) ta khôi phục được �và � thì sẽ
khôi phục được cặp số nguyên gốc (�, �) Đây chính là ý tưởng chính của
phương pháp mở rộng hiệu của Tian
1.7.2 Phương pháp mở rộng hiệu
Lược đồ thủy vân Tian xét từng cặp điểm ảnh (�� , �� ) Mỗi cặp điểm
ảnh được chia thành 3 loại: cặp điểm ảnh khả mở (expandable); cặp điểm
ảnh khả biến (changeable) và không khả biến
Đối với cặp điểm ảnh (�, �) khả mở, Tian nhúng thuận nghịch một bít
Trang 28bằng phương pháp chèn bít thấp (LSB) Và không nhúng tin vào các cặp
điểm ảnh không khả biến
Để tiện cho việc theo dõi, trước tiên luận văn trình bày một số thuậttoán và khái niệm được dùng trong phương pháp của Tian
1.7.2.1 Thuật toán nhúng tin theo phương pháp mở rộng hiệu
Thuật toán nhúng bít thủy vân � ∈ 0,1 vào cặp điểm ảnh �, � đểnhận được cặp điểm ảnh chưa bít thủy vân �′ , � ′ thực hiện theo các bước:
B ư ớc 1: Áp dụng phép biến đổi Haar nguyên thuận để nhận được � và �:
(Mở rộng hiệu về bên trái một bít để có được một bít trống để chứa bít
B ư ớc 3: Áp dụng phép biến đổi Haar nguyên ngược ứng với � ′ và � đểnhận được cặp điểm ảnh chứa dấu thủy vân � ,′ �′ :
Cặp điểm ảnh �, � được gọi là khả mở nếu sau khi nhúng một bít
� ∈ 0,1 vào �, � bằng Thuật toán nhúng tin DEmà giá trị � ,′ � ′ vẫnthuộcmiền giá trị điểm ảnh (miền [0,255] đối với ảnh đa cấp xám)
Trang 29là tương đối lớn Do vậy, khả năng nhúng tin của lược đồ Tian tương đối cao.
Trang 301.7.2.1.2 Trích tin và Khôi phục ảnh gốc
Có thể nhận thấy, nếu cặp điểm ảnh (x,y) khả mở thì thuật toán nhúng tin theo phương pháp mở rộng hiệu (thuật toán mục 2.2.1.1) là thuật toán
khả nghịch Nói cách khác, ta có thể khôi phục bít thủy vân � và cặp điểm
B ư ớc 1: Áp dụng phép biến đổi Haar nguyên thuận đối với �′, � ′ để nhận
được � ′ và � như sau:
Trang 31(2.11)
Trang 32nên �′ , �′ cùng chẵn hoặc cùng lẻ.Vì vậy:
(2.14) (2.15)
bình trước và sau khi nhúng không bị thay đổi
T r ư ờ ng hợp � ′ là s ố lẻ
Do �′ là số lẻ nên ta có:
� ′ + 12
� ′ + 1
=2
=
2 2Mặt khác� ′ = � ′ − �′ và �′ lẻ nên�′ , � ′ không cùng là số chẵn hoặc
Trang 33trung bình trước và sau khi nhúng không bị thay đổi Như vậy, tính đúng
đắn của phương pháp mở rộng hiệu được chứng minh
1.7.2.1.4 Xét ví dụ minh họa phương pháp mở rộng hiệu
Để tiện cho viêc theo dõi, luận văn xét ví dụ phương pháp mở rộng hiệu