NGUYỄN TRẦN PHƯƠNG BẢO VỆ BẢN QUYỀN CÁC CƠ SỞ DỮ LIỆU QUAN HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC BẰNG KỸ THUẬT THỦY VÂN Chuyên ngành: KHOA HỌC MÁY TÍNH Mã số: 60 48 01 01 LUẬN VĂN THẠC
Trang 1NGUYỄN TRẦN PHƯƠNG
BẢO VỆ BẢN QUYỀN CÁC CƠ SỞ DỮ LIỆU QUAN
HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC
BẰNG KỸ THUẬT THỦY VÂN
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN - 2016
Trang 2NGUYỄN TRẦN PHƯƠNG
BẢO VỆ BẢN QUYỀN CÁC CƠ SỞ DỮ LIỆU QUAN
HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC
BẰNG KỸ THUẬT THỦY VÂN
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS.TS Bùi Thế Hồng
THÁI NGUYÊN - 2016
Trang 3LỜI CẢM ƠN
Để thực hiện đề tài, ngoài nỗ lực của cá nhân thì rất cần đến sự hỗ trợ về nhiều mặt, đó là nỗ lực của bản thân; tận tâm của các Thầy; chia sẻ kinh nghiệm của đồng nghiệp; tạo điều kiện của lãnh đạo đơn vị về sự hỗ trợ về hạ tầng kỹ thuật, v.v…, bên cạnh việc động viên khích lệ của gia đình trong quá trình học tập, nghiên cứu Đây là dịp, cá nhân tôi gửi lời cảm tạ đến các tổ chức, cá nhân đã tạo điều kiện trực tiếp cũng như gián tiếp để luận văn được hoàn thành
Với lý do như vậy, tác giả gửi lời cảm ơn đến các đồng nghiệp, lãnh đạo trường Cao đẳng Kinh tế Kỹ thuật, lãnh đạo Ngành giáo dục tỉnh Hòa Bình Đặc biệt em cũng gửi lời tri ân tới các Thầy của trường Đại học Công nghệ thông tin & Truyền thông - Đại học Thái Nguyên; Viện Công nghệ thông tin - Viện Hàn Lâm Khoa học
và Công nghệ Việt Nam đã nhiệt tình giảng dạy
Cuối cùng, với lòng biết ơn sâu sắc học trò gửi đến PGS.TS Bùi Thế Hồng đã tận tâm trong suốt thời gian hướng dẫn nghiên cứu, thực hiện đề tài và hoàn thiện luận văn Mặc dù rất cố gắng, nhưng lần đầu tiếp cận với công tác nghiên cứu khoa học một cách bài bản, nên luận văn không thể tránh khỏi những thiếu sót mà bản thân chưa nhận thức ra Rất mong được sự góp ý của Thầy và các đồng nghiệp để luận văn hoàn thiện hơn
Xin chân thành cảm ơn!
Thái nguyên, ngày 10 tháng 05 năm 2016
Tác giả luận văn
Nguyễn Trần Phương
Trang 4LỜI CAM ĐOAN
Nội dung của luận văn chuyên ngành khoa học máy tính trình độ sau đại học
là sự thể hiện kết quả nghiên cứu của đề tài: “Bảo vệ bản quyền các cơ sở dữ liệu
quan hệ trong hệ thống quản lý giáo dục bằng kỹ thuật thủy vân” Đây là nghiên cứu
của cá nhân dưới sự hướng dẫn khoa học của PGS.TS Bùi Thế Hồng
Những số liệu, kết quả đã được nêu trong luận văn đều được thực hiện trong quá trình phân tích, thiết kế, xây dựng và thử nghiệm trong từng giai đoạn nghiên cứu của đề tài Vì vậy tôi xin cam đoan các kết quả này chưa từng được công bố trong bất
kỳ công trình nào khác trong chuyên ngành khoa học máy tính
Tôi xin chịu trách nhiệm về nghiên cứu của mình
Tác giả luận văn
Nguyễn Trần Phương
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT vi
DANH MỤC CÁC BẢNG viii
DANH MỤC CÁC HÌNH VẼ ix
MỞ ĐẦU 1
1 Tính cấp thiết 1
2 Mục tiêu và phương pháp nghiên cứu 2
3 Những điểm mới trong luận văn 2
4 Bố cục của luận văn 2
CHƯƠNG 1 TỔNG QUAN THỦY VÂN 4
1.1 TỔNG QUAN VỀ ỨNG DỤNG THỦY VÂN HIỆN NAY 4
1.1.1 Xác thực và bảo vệ bản quyền đối với cơ sở dữ liệu quan hệ 5
1.1.2 Vài nét về hiện trạng việc xác thực nguồn cơ sở dữ liệu quan hệ trong hệ thống lý giáo dục 6
1.2 MỘT SỐ KHÁI NIỆM VỀ THỦY VÂN VÀ CƠ SỞ DỮ LIỆU QUAN HỆ 7
1.2.1 Thủy vân 7
1.2.2 Thủy vân cơ sở dữ liệu quan hệ 8
1.2.3 Khóa thủy vân 8
1.2.4 Khái quát về hàm băm 9
1.2.5 Cơ sở dữ liệu 12
1.2.6 Mô hình dữ liệu quan hệ 13
1.2.7 Thuộc tính và khóa 17
1.2.8 Ngôn ngữ truy vấn 19
1.2.9 Bảo mật và bảo vệ hệ thống thông tin 21
1.3 NHỮNG TẤN CÔNG TRÊN THUỶ VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 22
1.3.1 Cập nhật thông thường 22
Trang 61.3.2 Tấn công có chủ đích 22
1.4 KẾT LUẬN CHƯƠNG 23
CHƯƠNG 2 KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 25
2.1 MỘT SỐ KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 25
2.1.1 Yêu cầu cơ bản của việc thủy vân cơ sở dữ liệu quan hệ 25
2.1.2 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ 27
2.1.2.1 Kỹ thuật thủy vân sử dụng các bit ít ý nghĩa nhất 27
2.1.2.2 Kỹ thuật thuỷ vân sử dụng các bit ý nghĩa nhất 28
2.1.2.3 Kỹ thuật thuỷ vân dựa vào kỹ thuật tối ưu hoá 29
2.1.2.4 Kỹ thuật thủy vân dựa vào các phép hoán vị 30
2.1.2.5 Kỹ thuật thủy vân có các thuộc tính phân loại 31
2.2 CÁC LƯỢC ĐỒ THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 32
2.2.1 Lược đồ thủy vân sử dụng các bit ít ý nghĩa nhất 33
2.2.2 Lược đồ thủy vân sử dụng các bit ý nghĩa nhất 33
2.2.3 Lược đồ thủy vân dựa vào kỹ thuật tối ưu hóa 34
2.2.4 Lược đồ thủy vân dựa vào các phép hoán vị 34
2.2.5 Lược đồ thủy vân có các thuộc tính phân loại 36
2.3 THUẬT TOÁN THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 38
2.3.1 Thuật toán băm Message-Digest algorithm 5 38
2.3.2 Thuật toán thủy vân sử dụng các bit ít ý nghĩa 39
2.3.2.1 Nhúng thủy vân LSB 39
2.3.2.2 Phát hiện thủy vân LSB 40
2.3.3 Thuật toán thủy vân sử dụng các bit ý nghĩa 41
2.3.3.1 Nhúng thủy vân MSB 41
2.3.3.2 Phát hiện thủy vân MSB 41
2.3.4 Thuật toán thủy vân dựa vào kỹ thuật tối ưu hóa 42
2.3.4.1 Nhúng thủy vân dựa vào kỹ thuật tối ưu hóa 42
2.3.4.2 Phát hiện thủy vân dựa vào kỹ thuật tối ưu hóa 43
2.3.5 Thuật toán thủy vân dựa vào các phép hoán vị 44
2.3.5.1 Nhúng thủy vân dựa vào các phép hoán vị 44
Trang 72.3.5.2 Phát hiện thủy vân dựa vào các phép hoán vị 45
2.3.6 Thuật toán thủy vân dựa vào các thuộc tính phân loại 46
2.3.6.1 Nhúng thủy vân có các thuộc tính phân loại 46
2.3.6.2 Phát hiện thủy vân có các thuộc tính phân loại 47
2.4 KẾT LUẬN CHƯƠNG 49
CHƯƠNG 3 THUẬT TOÁN VÀ CHƯƠNG TRÌNH MÔ PHỎNG 50
3.1 BẢO VỆ BẢN QUYỀN CƠ SỞ DỮ LIỆU QUAN HỆ TRONG HỆ THỐNG QUẢN LÝ GIÁO DỤC 50
3.1.1 Những yêu cầu cụ thể với việc bảo vệ bản quyền cơ sở dữ liệu quan hệ trong hệ thống quản lý giáo dục 50
3.1.1.1 Những đặc điểm của cơ sở dữ liệu quan hệ trong quản lý giáo dục 50 3.1.1.2 Yêu cầu với thủy vân cơ sở dữ liệu quan hệ trong quản lý giáo dục 53 3.1.2 Xây dựng lược đồ thủy vân cơ sở dữ liệu 53
3.1.2.1 Nhúng thủy vân 54
3.1.2.2 Lược đồ phát hiện thủy vân 54
3.1.3 Xây dựng thuật toán thủy vân cơ sở dữ liệu quan hệ 54
3.1.3.1 Thuật toán nhúng thủy vân 54
3.1.3.2 Thuật toán phát hiện thủy vân 56
3.2 THIẾT KẾ CÀI ĐẶT 57
3.2.1 Những modul chính của thuật toán nhúng thủy vân 57
3.2.2 Những modul chính thuật toán phát hiện thủy vân 59
3.3 THỬ NGHIỆM 60
3.4 ĐÁNH GIÁ KẾT QUẢ 62
3.4.1 Đánh giá thuật toán nhúng và phát hiện thủy vân 63
3.4.2 Độ phức tạp của thuật toán 64
3.5 KẾT LUẬN CHƯƠNG 64
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 65
TÀI LIỆU THAM KHẢO 66
Tài liệu tiếng Việt 66
Tài liệu tiếng Anh 66
Trang 8DANH MỤC CÁC KÝ HIỆU, CÁC TỪ VIẾT TẮT
Tổng số bit trong thủy vân
Số các bit LSB sẵn sàng để đánh dấu trong một thuộc tính
mức ý nghĩa của phép thử để phát hiện một thủy vân
Tham số phát hiện thủy vân
|S i| Độ dài của vectơ S i
ANSI Viện tiêu chuẩn quốc gia Hoa Kỳ - American National
Standards Institute CNTT Công nghệ thông tin
CRHF Hàm băm khó xung đột - Collision Resistant Hash Function CSDL Cơ sở dữ liệu
LSB Bit ít ý nghĩa nhất - Least Significant Bit
M Số phần phân hoạch dữ liệu
MAC Mã xác thực thông điệp - Message Authentication Code
MD5 Thuật toán băm Message - Digest algorithm 5
MDC Mã phát hiện sự sửa đổi - Manipulation Detection Code
MSB Bit ý nghĩa nhất - Most Significant Bit
OWHF Hàm băm một chiều - One-Way Hash Function
Trang 9Ký hiệu Ý nghĩa
RDB Cơ sở dữ liệu quan hệ - Relation database
r i Bộ thứ i trong quan hệ r
r i A j Giá trị thuộc tính thứ j của bộ thứ i
SQL Structured Query Language
SWOT Điểm mạnh (Strengths) - Điểm yếu (Weaknesses) - Cơ hội (Op
portunities) - Thách thức (Threats)
W Thông tin thủy vân ở dạng chuỗi bit nhị phân
WRDB Thủy vân cơ sở dữ liệu quan hệ - Watermark RDB
Xmax Các thống kê nhúng cực đại
Xmin Các thống kê nhúng cực tiểu
Δ i Vectơ thao tác trong R n
t H Chi phí sinh một số ngẫu nhiên của hàm băm
t if Chi phí của phép if
t delA Chi phí cho phép xóa một thuộc tính
t bit Chi phí cho việc gán hoặc so sánh một bit
t count Chi phí gán hoặc cập nhật một con đếm
m wkey Số bit ghi khóa thủy vân
m pkey Số bit ghi giá trị khóa chính
Trang 10DANH MỤC CÁC BẢNG
Bảng 1.1 Một số hàm băm 12
Bảng 1.2 Quan hệ biểu diễn thành bảng 14
Bảng 1.3 Các loại dữ liệu cơ sở thường dùng của SQL 20
Bảng 2.1 Phân tích khả năng áp dụng của kỹ thuật LSB 27
Bảng 2.2 Phân tích khả năng áp dụng của kỹ thuật MSB 28
Bảng 2.3 Phân tích khả năng áp dụng của kỹ thuật tối ưu hóa 29
Bảng 2.4 Phân tích khả năng áp dụng kỹ thuật dựa vào phép hoán vị 30
Bảng 2.5 Phân tích khả năng áp dụng của kỹ thuật thủy vân cơ sở dữ liệu quan hệ có các thuộc tính phân loại 31
Trang 11DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Phân loại các kiểu hàm băm 10
Hình 1.2 Cấu trúc tổng quát của hàm băm 11
Hình 1.3 Một ví dụ về mối quan hệ 15
Hình 1.4 Mô hình dữ liệu quan hệ 17
Hình 2.1 Lược đồ WRDB tổng quát 32
Hình 2.2 Lược đồ WRDB sử dụng bit ít ý nghĩa nhất (LSB) 33
Hình 2.3 Lược đồ WRDB sử dụng bit ý nghĩa nhất (MSB) 33
Hình 2.4 Lược đồ WRDB sử dụng kỹ thuật tối ưu hóa 34
Hình 2.5 Lược đồ WRDB dựa vào phép hoán vị 35
Hình 2.6 Lược đồ WRDB dựa vào các thuộc tính phân loại 37
Hình 3.1 Lược đồ nhúng thủy vân trong hệ thống quản lý giáo dục 54
Hình 3.2 Lược đồ phát hiện thủy vân trong hệ thống quản lý giáo dục 54 Hình 3.3 Giao diện nhúng thủy vân 60
Hình 3.4 Giao diện phát hiện thủy vân 61
Hình 3.5 Kiểm tra số lượng thủy vân và kết luận 61
Trang 12MỞ ĐẦU
1 Tính cấp thiết
Với sự phát triển và ứng dụng CNTT trong các lĩnh vực đời sống xã hội, bảo
vệ và xác minh quyền sở hữu trí tuệ là việc hết sức khẩn thiết để khẳng định tác quyền
sản phẩm: văn bản, âm thanh, hình ảnh, video, phần mềm ứng dụng (dựa trên các
Việt Nam nằm trong top các quốc gia có tỉ lệ xâm phạm bản quyền phần mềm cao Châu Á - Thái Bình Dương, mức độ vi phạm lên tới 81% Tổng thiệt hại xét về mặt tài chính lên tới 620 triệu USD, nguy cơ mất an toàn thông tin, mất dữ liệu rất cao
Vi phạm bản quyền các sản phẩm CNTT trong lĩnh vực giáo dục cũng không ngoài những nguy cơ trên Các phần mềm hệ thống quản lý giáo dục cũng vậy và CSDL sẽ là đối tượng bị sao chép, xuyên tạc, giả mạo, làm sai lệch với nguyên bản
và có thể phát tán trên Internet hoặc trên kênh truyền dẫn khác với mục đích trục lợi
Để chống lại các nguy cơ trên phải cần đến kỹ thuật đặc biệt cho việc đảm bảo an toàn thông tin, các kỹ thuật đó có thể là: Kỹ thuật mật mã (Cryptography); kỹ thuật ngụy trang (Steganography); kỹ thuật thủy vân
Hệ thống quản trị giáo dục là một hệ thống dành cho nhiều người tham gia được truyền tải trên các kênh thông tin, Internet Vậy thì giải pháp phù hợp nhất cho việc bảo vệ bản quyền cơ sở dữ liệu quan hệ là WRDB Giải pháp này vừa khắc phục được nhược điểm của việc bảo mật hạn chế người truy cập, lại có thể xác thực quyền
sở hữu đối với các nguồn cơ sở dữ liệu
Vì vậy học viên chọn nghiên cứu đề tài “Bảo vệ bản quyền các cơ sở dữ liệu
quan hệ trong hệ thống quản lý giáo dục bằng kỹ thuật thủy vân” Để bảo vệ và
chứng minh bản quyền CSDL của một cơ sở giáo dục trong quá trình vận hành quản
lý, truyền tải và xác thực dữ liệu, tài liệu với các đối tác ngoài trường Cao đẳng Kinh
tế Kỹ thuật Hòa Bình Báo cáo kết quả quá trình đào tạo đến các cấp quản lý theo quy định của ngành
1 Business Software Alliance - BSA, http://www.thongtincongnghe.com/article/59718, 2015
Trang 132 Mục tiêu và phương pháp nghiên cứu
Thủy vân cơ sở dữ liệu quan hệ có hai tác dụng quan trọng nhất là bảo vệ bản
quyền và đảm bảo sự toàn vẹn của cơ sở dữ liệu quan hệ Do mỗi kiểu dữ liệu của cơ
sở dữ liệu quan hệ có những đặc điểm riêng, cho nên đòi hỏi khi thủy vân các kỹ thuật thủy vân phải phù hợp với những đặc điểm của dữ liệu được thủy vân
Xuất phát từ thực tế đó, mục tiêu nghiên cứu chính của luận văn là nghiên cứu, xây dựng và phát triển các kỹ thuật thủy vân trong ứng dụng bảo vệ bản quyền với các cơ sở dữ liệu quan hệ trong hệ thống quản lý giáo dục
Trong luận văn này, tác giả sử dụng các phương pháp nghiên cứu chủ yếu:
Tìm kiếm, tiếp cận nghiên cứu, tổng hợp các tài liệu liên quan, tham vấn ý kiến chuyên gia để tiến hành phân tích bằng việc sử dụng phương pháp SWOT để đánh giá, lựa chọn và cải tiến thuật toán về mặt lý thuyết
Kiểm chứng lại việc cải tiến từ việc cài đặt thuật toán trên một ngôn ngữ lập trình cụ thể, căn cứ kết quả thử nghiệm để đưa ra kết luận và đề xuất các phương pháp, kỹ thuật mới, cải tiến
Luận văn chọn lọc bảng biểu đặc trưng các cơ sở dữ liệu quan hệ của một số
cơ sở giáo dục cao đẳng chuyên nghiệp nhằm phục vụ cho nghiên cứu; sử dụng ngôn ngữ C và công cụ SQL để lập trình thử nghiệm lược đồ cải tiến
3 Những điểm mới trong luận văn
Cải tiến đối với lược đồ thủy vân trong ứng dụng bảo vệ bản quyền can thiệp gián tiếp đến các giá trị trong hệ thống, do vậy không làm ảnh hưởng trực tiếp đến khả năng sử dụng của cơ sở dữ liệu quan hệ sau khi đã thủy vân
Thiết kế và cài đặt thuật toán trên nền tảng của lược đồ thủy vân trong ứng dụng bảo vệ bản quyền Xác thực bản quyền có thể thực hiện ngay cả sau khi cơ sở
dữ liệu đã được đưa vào sử dụng, có thể chứng minh quyền của chủ sở hữu trong vấn
đề bản quyền
4 Bố cục của luận văn
Bố cục của luận văn bao gồm: Phần mở đầu, ba chương nội dung, kết luận và tài liệu tham khảo
Trang 14Phần mở đầu Trình bày về tính cấp thiết, mục tiêu, phương pháp và dự kiến
kết quả đạt được của đề tài
Chương 1 Tổng quan về các nghiên cứu và ứng dụng của thủy vân cơ sở dữ
liệu quan hệ hiện nay; các khái niệm về thủy vân, về cơ sở dữ liệu, phân biệt khái niệm bảo mật và bảo vệ; Các tấn công trên thuỷ vân cơ sở dữ liệu quan hệ
Chương 2 Một số phương pháp tiếp cận bài toán thủy vân cơ sở dữ liệu quan
hệ; các khả năng có thể áp dụng về mặt kỹ thuật, về lược đồ và về thuật toán thủy vân RDB trong hệ thống quản lý giáo dục để kế thừa và xây dựng nội dung Chương 3
Chương 3 Phân tích, cải tiến thuật toán nhúng, phát hiện WRDB Cài đặt, thử
nghiệm thể hiện kết quả trên hệ thống phần mềm quản lý giáo dục trường Cao đẳng
Kinh tế Kỹ thuật Hòa Bình
Trang 15CHƯƠNG 1 TỔNG QUAN THỦY VÂN
1.1 TỔNG QUAN VỀ ỨNG DỤNG THỦY VÂN HIỆN NAY
Ứng dụng các kỹ thuật thủy vân2 trong thực tế cuộc sống không phải là mới,
lần đầu tiên nó xuất hiện ở Ý vào thế kỷ thứ 13 (có tài liệu cho rằng khởi phát ở
Trung Quốc hoặc ở Ấn Độ thế kỷ thứ 3) Thủy vân cổ xưa bắt nguồn từ việc dùng
một loại mực vô hình viết lên sản phẩm và chỉ hiện lên khi nhúng vào nước
Thủy vân số được coi là ra đời từ năm 1954 với bằng sáng chế của Emile Hembrooke Tuy nhiên, nghiên cứu thủy vân lúc này vẫn chưa được đặt ra như một
lĩnh vực nghiên cứu độc lập cho tới thập niên 90 của thế kỷ 20 Thuật ngữ “Thủy vân
kỹ thuật số ” lần đầu tiên được đặt ra vào năm 1992 bởi Andrew Tirkel và Charles
Osborne Thủy vân kỹ thuật số là một công cụ bảo vệ thụ động Nó chỉ đánh dấu dữ liệu, nhưng không làm suy giảm hay kiểm soát quyền truy cập vào dữ liệu Thủy vân tiếp tục được sử dụng đến nay như là nhãn hiệu của nhà sản xuất và để ngăn chặn giả mạo hàng hóa trong thương mại Kỹ thuật thủy vân được ứng dụng để bảo vệ bản quyển với rất nhiều lĩnh vực của xã hội
Trong CNTT, kỹ thuật thủy vân đã được ứng dụng để xác thực các loại dữ liệu
đa phương tiện như ảnh, video clip, âm nhạc, v.v…; bảo vệ tác quyền văn bản, tác phẩm số hóa, các chương trình, phần mềm và cơ sở dữ liệu Năm 2002, Agrawal và Kiernan đã đưa ra những đề xuất đầu tiên về kỹ thuật thủy 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ủ dữ liệu muốn bảo vệ sản phẩm của mình trước những tấn công bên ngoài Các tác giả trên đã đề xuất một lược đồ thủy vân trong đó
dữ liệu có thể chấp nhận những thay đổi nhỏ mà không ảnh hưởng đến giá trị sử dụng của chúng
Từ năm 2002 đến nay, nghiên cứu về WRDB đã có bước tiến đáng kể về kỹ
thuật, các nghiên cứu về vấn đề này (được trình bày mục 2.1.2 của luận văn) đã chỉ
ra rằng có nhiều cách tiếp cận khác nhau, nhưng ứng dụng vào thực tiễn lại khá nghèo nàn vì tính đa dạng, phức tạp cũng như tính bảo toàn của RDB
2 Watermark: Một số tài liệu được dịch là thủy ấn hoặc là tạo bóng mờ hoặc là dấu tin
Trang 161.1.1 Xác thực và bảo vệ bản quyền đối với cơ sở dữ liệu quan hệ
Trước nghiên cứu này, đã có khá nhiều các kỹ thuật thủy vân đã được sử dụng trong việc xác thực và bảo vệ bản bản quyền đối với các cơ sở dữ liệu quan hệ nói riêng và
dữ liệu đa phương tiện nói chung Có một số điểm chung trong kỹ thuật thủy vân:
Dựa vào khóa bí mật: Về cơ bản, tất cả các phương pháp để xác thực và bảo
vệ bản quyền cho một cơ sở dữ liệu quan hệ là những lược đồ WRDB dựa vào khóa,
vì thế đòi hỏi phải có một khóa bí mật để minh chứng bản quyền Điểm then chốt của các kỹ thuật này là đều dựa vào một khóa bí mật trong thuật toán nhúng thủy vân và thuật toán phát hiện thủy vân Nhờ vào khóa này, người chủ của sản phẩm sẽ có thể chứng minh chủ quyền của mình đối với sản phẩm
Sai lệch về dữ liệu: Hầu hết các kỹ thuật thủy vân hiện nay đều làm sai lệch
dữ liệu trong quá trình thủy vân, có thể là thay đổi các giá trị thực hoặc ít ra là không nhận thức được bằng các giác quan Mặc dù sự sai lệch này có thể trong ngưỡng chấp nhận được Nhưng những sai lệch này chắc chắn sẽ làm giảm giá trị trong quá trình khai thác dữ liệu của người dùng cuối
Với hai đặc điểm nêu trên có thể ảnh hưởng đến tiềm năng ứng dụng của các kỹ thuật thủy vân cơ sở dữ liệu:
Thứ nhất, cách tiếp cận dựa vào khóa bí mật là không phù hợp cho việc chứng
minh trước công chúng (ví dụ trước tòa án) Để chứng minh bản quyền của dữ liệu đáng ngờ, người chủ sở hữu phải tiết lộ khóa bí mật của mình ra công chúng để phát hiện thủy vân Sau khi đã sử dụng một lần, khóa này không còn bí mật nữa Với khóa này, một người sử dụng không bản quyền có thể vô hiệu hóa việc phát hiện thủy vân gốc bằng cách gỡ bỏ thủy vân gốc khỏi dữ liệu được bảo vệ hoặc thêm thủy vân giả vào dữ liệu không chưa được thủy vân trong quá trình cập nhật WRDB
Thứ hai, những sai lệch được đưa vào trong quá trình thủy vân có thể ảnh
hưởng đến giá trị sử dụng của dữ liệu Ngay cả khi có thể ấn định một số kiểu ràng buộc nhất định để hạn chế sai sót (ví dụ như các giá trị trung bình và các phương sai của những thuộc tính được thủy vân) trước hoặc trong khi thủy vân thì cũng rất khó, thậm chí không thể đảm bảo có thể lượng hóa được tất cả các ràng buộc
Trang 17Song song với hai điểm trên, thì thủy vân phải đủ khó đối với những người muốn phát hiện ra nó một cách bất hợp pháp Đồng thời nếu có sự tham gia của bên
thứ ba (có thể là một tổ chức thuộc chính phủ hoặc một tổ chức cá nhân làm việc
trong ngành chứng thực có uy tín và được cấp phép chứng thực) Nếu giải quyết được
các vấn đề này, thủy vân có thể giúp ngăn chặn việc sao chép trái phép bằng cách cung cấp một phương tiện chứng minh bản quyền gốc của một bản sao tái phân phối
1.1.2 Vài nét về hiện trạng việc xác thực nguồn cơ sở dữ liệu quan hệ trong hệ thống lý giáo dục
Hiện nay, các học viện, trường đại học, cao đẳng và trung cấp chuyên nghiệp
(gọi tắt là cơ sở giáo dục chuyên nghiệp) đều sử dụng các phần mềm “Quản trị đào
tạo” để quản lý tiến trình giáo dục và đào tạo Các phần mền này được phát triển từ nhiều nguồn khác nhau, có thể là do đội ngũ cán bộ giảng viên của cơ sở giáo dục phát triển, hoặc có thể được mua từ các đơn vị cung ứng dịch vụ Môi trường triển khai cũng khá đa dạng phong phú (Internet, LAN, v.v…) Mặc dù vậy, chúng đều có những nét chính như sau:
Đầu vào: Thông tin về người dạy, người học, khóa học, môn học học phí,
v.v… các quan hệ theo mô hình tổ chức và các quy định khác được chia thành các phân hệ nhưng tất cả đều được lưu trữ trong RDB
Đầu ra: Các thông tin trong RDB được kết xuất thể hiện trên kết quả của tiến
trình đào tạo gồm thông tin khóa học, người học, số lượng và chất lượng (như một số
thống kê, báo cáo với nhà quản lý và cấp phát văn bằng), v.v
Về cơ bản là RDB được phát triển và quản trị bởi một số công cụ phổ biến như MySQL, Oracle, PostgreSQL, SQL Server3, v.v… và đều có chung đặc điểm là sử dụng ngôn ngữ truy vấn theo chuẩn cấu trúc SQL
Độ phức tạp của RDB tùy thuộc vào cơ cấu tổ chức, môi trường ứng dụng, cũng như trình độ quản lý của cơ sở giáo dục Nhưng điều quan trọng nhất là RDB chứa các thông tin phục vụ công tác quản lý và cũng là một trong những tài sản của quan trọng của cơ sở giáo dục Thế nên khi RDB lọt vào tay người sử dụng không
3 Chỉ dùng trong môi trường ứng dụng Windows của tập đoàn Microsoft
Trang 18thân thiện, họ dễ ràng vượt qua mật khẩu, thay đổi và giả mạo thông tin Việc xác minh rất phức tạp và tốn kém thời gian cũng như tiền bạc
Ngoài ra, RDB trong hệ thống quản lý của cơ sở giáo dục hiện nay rất dễ bị giả mạo mà khó có thể xác minh còn có những nguyên nhân khác nữa đó là:
▪ Nội dung các thông tin của các thuộc tính quan trọng không được mã hóa,
dễ ràng bị cập nhật và lợi dụng có chủ ý
▪ Thay đổi, phần mềm, thay đổi người quản trị có thể dẫn tới việc truy cập bất hợp pháp
▪ Quá trình trao đổi dữ liệu cho phép người dùng có thể tìm kiếm và truy cập
cơ sở dữ liệu từ xa hoặc trong các dịch vụ thuê khoán bên ngoài
▪ Các cuộc tấn công đánh cắp bí mật thông tin bởi các tổ chức tội phạm CNTT chuyên nghiệp
Tất cả các vấn đề trên đang bộc lộ những mối nguy hiểm tiềm tàng cho hệ
thống quản trị giáo dục (đóng vai trò là nhà cung cấp dữ liệu) trước những kẻ trộm
cắp và giả mạo dữ liệu Do đó, những nhà cung cấp dữ liệu đòi hỏi phải có các công
cụ hỗ trợ cho việc bảo vệ bản quyền sản phẩm của họ, nhận dạng được những bản sao các CSDL bị đánh cắp hoặc bị xuyên tạc với ý đồ xấu Đồng thời minh định, phân biệt sản phẩm thật và giả theo yêu cầu công tác, WRDB là một trong các công cụ có thể thực hiện được điều đó
1.2 MỘT SỐ KHÁI NIỆM VỀ THỦY VÂN VÀ CƠ SỞ DỮ LIỆU QUAN HỆ
Khái niệm về thủy vân cũng như cơ sở dữ liệu quan hệ được nhiều tác giả đưa
ra trước đây khá đa dạng, phong phú được đặt vấn đề từ nhiều khía cạnh khác nhau Tuy nhiên trong phạm vi của nghiên cứu, tác giả đã chọn lọc ra một số khái niệm cơ bản có liên quan đến kỹ thuật WRDB trong nghiên cứu và phát triển của đề tài
1.2.1 Thủy vân
Thuỷ vân là kỹ thuật đánh dấu nước cổ xưa làm dấu chìm hình ảnh, logo, hay
dữ liệu nào đó lên trên giấy hoặc lên trên một số chất liệu khác nhằm mục đích trang trí và phân biệt được nguồn gốc xuất xứ, thương hiệu của sản phẩm Trong CNTT, thông tin cần giấu được gọi là thuỷ vân, kỹ thuật để đánh dấu nước còn gọi là kỹ thuật
Trang 19thủy vân (giấu tin) Tác dụng chính của thủy vân là chứng minh quyền sở hữu, chống
xuyên tạc và đảm bảo tính toàn vẹn của dữ liệu Thuỷ vân được chia thành hai loại chính [1], đó là:
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 bị biến đổi trước các thay
đổ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
1.2.2 Thủy vân cơ sở dữ liệu quan hệ
Rất nhiều cách để định nghĩa về WRDB, dưới đây là một số định nghĩa về vấn
đề này được tác giả đã chọn lọc và biên tập
Định nghĩa 1.1 Thuỷ vân cơ sở dữ liệu quan hệ [2]
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
Định nghĩa 1.2 Thủy vân cơ sở dữ liệu quan hệ [4]
Là một kỹ thuật nhúng một số thông tin nào đó (được gọi là thông tin thủy vân
W) vào cơ sở dữ liệu quan hệ nhằm mục đích bảo vệ bản quyền hoặc đảm bảo sự toàn
vẹn cho cơ sở dữ liệu này Thủy vân có thể ở dạng ẩn hoặc hiện và có thể là bền vững hoặc dễ vỡ
Từ [1], [2], [4], [9] tác giả cho rằng có thể định nghĩa lại một cách ngắn gọn lại là:
Định nghĩa 1.3 Thủy vân cơ sở dữ liệu quan hệ
Là kỹ thuật dấu một lượng thông tin vào cơ sở dữ liệu quan hệ ở dạng ẩn, bền
vững Ký hiệu là W
1.2.3 Khóa thủy vân
Với mục đích 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ì chủ sở hữu của cơ sở dữ liệu cần phải trộn W với một
dữ liệu được gọi là khóa thủy vân Khóa thủy vân do chủ cơ sở dữ liệu chọn
Trang 20Định nghĩa 1.4 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à để 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 để đưa vào cơ sở dữ liệu Khóa thủy
vân chính là mấu chốt của lược đồ RDB có sử dụng khóa thủy vân Khóa thủy vân sẽ được nhúng vào trong RDB bằng nhiều cách Thông thường khóa thủy vân sẽ được kết hợp với khóa chính của bảng dữ liệu trong RDB bằng một thuật toán xử lý truy vấn dữ liệu
Điều quan trọ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 để không bị phát hiện hoặc dễ phát hiện nhưng khó thay đổi, đồng thời
có thể chứng minh được đây chính là cơ sở dữ liệu quan hệ của chủ sở hữu Như vậy, việc đưa khóa vào trong cơ sở dữ liệu quan hệ là một trong những điểm quan trọng của bài toán bảo vệ bản quyền và đảm bảo sự toàn vẹn dữ liệu trong RDB có sử dụng khóa thủy vân Một trong những cách để giải quyết việc 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 các yêu cầu bảo mật cũng như chi phí tính toán Ngoài khóa thủy vân còn có thể đưa thông tin khác vào cơ sở dữ liệu: thông điệp, ảnh nhị phân, tham số điều khiển để tăng tính bền vững của thủy vân
1.2.4 Khái quát về hàm băm
Hàm băm (Hash function) là một hàm chuyển đổi một thông điệp đầu vào có
độ dài bất kỳ thành một dãy bit có độ dài cố định (tuỳ thuộc vào thuật toán băm) Dãy
bit này được gọi là thông điệp rút gọn (message digest) hay giá trị băm (hash value),
đại diện cho thông điệp ban đầu
Hàm băm là hàm toán học một chiều mà nếu đưa một lượng dữ liệu bất kì qua hàm này sẽ cho ra một chuỗi có độ dài cố định ở đầu ra Mỗi giá trị đầu vào thì chỉ
có được một giá trị đầu ra duy nhất; Nếu dữ liệu đầu vào thay đổi thì giá trị đầu ra cũng thay đổi và các giá trị là hoàn toàn khác nhau
Các giá trị kết quả của hàm băm không thể bị suy ngược từ giá trị băm Hàm băm có vai trò quan trọng trong việc mã hóa để xác thực tính toàn vẹn của dữ liệu
Trang 21cũng chứng thực nguồn gốc dữ liệu Sử dụng phổ biến nhất trong quá trình tạo chữ kí
số, quá trình giấu tin và trong các giao dịch điện tử
Nói một cách chính xác hơn, hàm băm sẽ tạo ra ánh xạ các xâu bit có độ dài
hữu hạn tuỳ ý thành các xâu bit có độ dài n cố định
Phân loại hàm băm:
Hàm băm (Hash function)
Hash có khóa Hash không
khóa
Các ứng dụng khác
Phát hiện sửa
đổi (MDC)
Các ứng dụng khác
Xác thực thông tin (MAC)
Hình 1.1 Phân loại các kiểu hàm băm
Từ sơ đồ của Hình 1.1 cho ta thấy, hàm băm gồm loại có khóa và loại không khóa Hàm băm có khóa là loại có các dữ liệu đầu vào: thông điệp và một khóa bí mật Hash có khoá được sử dụng để xác thực thông báo và được gọi là thuật toán tạo
mã xác thực thông báo (MAC)
Hàm băm không khóa là hàm băm mà đầu vào chỉ là thông điệp không chứa khóa, được gọi là thuật toán phát hiện sửa đổi (MDC) Hash không khoá sử dụng để tạo ra thông điệp kết quả đặc trưng và đảm bảo sự toàn vẹn của dữ liệu Trong MDC gồm hàm băm một chiều (OWHF) và hàm băm khó va chạm (CRHF) OWHF thì từ thông điệp kết quả, khó tìm lại thông điệp ban đầu với mã băm tương ứng; CRHF thì khó có thể tìm lại hai thông điệp khác nhau mà có cùng một giá trị của mã băm
Trang 22Cấu trúc chung của một hàm băm:
Hàm nén Thông điệp chiều dài tùy ý Mã băm chiều dài cố định
Hình 1.2 Cấu trúc tổng quát của hàm băm
B 1: Phân chia thông điệp đầu vào chiều dài hữu hạn thành các khối thông điệp
con liên tiếp có chiều dài cố định r (giả sử là m 1 , m 2 , m 3 , , m k)
B 2: Do m có độ dài bất kỳ nên luôn có một bước thêm các bit phụ sao cho chiều dài chuỗi mới m’ chia hết cho r (trong các bit thêm thường thêm 64 bit để lưu
lại chiều dài ban đầu của chuỗi trước khi chèn)
B 3: Đưa khối thông điệp con m 1 , m 2 , m 3 , , m k sẽ lần lượt đi qua một hàm nén
Trang 23TT Tên thuật toán Kích thước đầu ra (bit) Xung đột
sử dụng MD5 trong các thuật toán của lược đồ thủy vân cơ sở dữ liệu sẽ cài đặt được tại mục 2.3.1 của luận văn này
Trang 24Định nghĩa 1.5 Cơ sở dữ liệu (database)
Cơ sở dữ liệu là một tập hợp các dữ liệu có liên quan với nhau, được lưu trữ trên máy tính, có nhiều người sử dụng và được tổ chức theo một mô hình Dữ liệu là những sự kiện có thể ghi lại được và có ý nghĩa
Như vậy, cơ sở dữ liệu là một tập hợp các bảng dữ liệu có quan hệ với nhau sao cho cấu trúc của chúng cũng như các mối quan hệ bên trong giữa chúng là tách biệt với chương trình ứng dụng bên ngoài Điều này có nghĩa là các dữ liệu của bảng trên độc lập với các xử lý tác động lên chúng, và được tổ chức thành từng bảng một
Mỗi bảng gồm các cột và các dòng, mỗi cột được gọi là một thuộc tính (attributes) hay còn gọi là một trường (fields), mỗi hàng (dòng) được gọi là một thể hiện (in-
stance) một bộ (tuple) hay là một bản ghi (record) của bảng dữ liệu
Cơ sở dữ liệu dùng để quản lý thông tin, giảm sự trùng lặp thông tin Đảm bảo thông tin có tính nhất quán và truy xuất theo nhiều cách khác nhau bởi nhiều người
sử dụng cùng lúc Cơ sở dữ liệu đảm bảo tính chủ quyền của dữ liệu (an toàn dữ liệu)
và khả năng biểu diễn mỗi liên hệ ngữ nghĩa cũng như tính chính xác của dữ liệu Cơ
sở dữ liệu được khai thác với nhiều mục đích khác nhau
1.2.6 Mô hình dữ liệu quan hệ
Mô hình dữ liệu quan hệ là các dữ liệu được lưu dưới dạng bảng được sử dụng rộng rãi trong đời sống kinh tế xã hội nhằm để quản lý và xử lý thông tin Mô hình được phát triển trên lý thuyết tập hợp và đại số quan hệ Vì thế mặt hình thức trong mô hình cơ sở dữ liệu, mỗi quan hệ là một bảng Vậy cần có phải định nghĩa quan hệ dưới dạng toán học
Định nghĩa 1.6 Quan hệ
Cho U = {A1, A2,…, An} một tập hữu hạn các thuộc tính, khác rỗng và các phần tử không nhất thiết phân biệt nhau Mỗi một thuộc tính Ai ∈ U, i =1÷n có một miền giá trị xác định, (Domain), ký hiệu D(Ai) = Dom(Ai) Tích Đề các của các miền Dom(A1), Dom(A2)…Dom(An) được biểu diễn như sau:
Dom(A1) × Dom(A2) ×…× Dom(An) : = {(a 1 , a 2 , , a n ) | a i ∈ Ai, i = 1÷ n}
Trang 25Nói rằng R là một quan hệ trên tập U khi và chỉ khi nó là một tập con của tích
Đề các của: D(a 1 ) × D(a 2 ) ×…× D(a n) Ký hiệu R(U) = R(A1, A2,…, An) Tức là R(U)
⊆ D(a 1 ) × D(a 2 ) ×…× D(a n) Như vậy quan hệ R trên tập U là tập các hàm:
R(U) = { r | r : U → ∪ D(A), A ∈ U}
Mỗi một hàm trong quan hệ được gọi là một dòng của quan hệ Vì vậy trong cách tiếp cận mô hình CSDL quan hệ, người ta thường biểu diễn một quan hệ trên tập các thuộc tính U bằng một bảng 2 chiều Các thuộc tính của quan hệ là các cột A1,
A2,…, An, không nhất thiết phân biệt nhau và các hàng của quan hệ được gọi là các
bộ (tuple), hay còn được gọi là các bản ghi của quan hệ, ký hiệu là r ∈ R(U)
Giá trị của mỗi một bộ gồm n thành phần giá trị r = (d 1 , d 2 ,…, d n) được rút ra
giá trị từ các miền xác định tương ứng, tức là r(A1) = d 1 ∈ D(A1), r(A2) = d 2 ∈ D(A2),…, r(An) = d n ∈ D(An), trong đó các ký hiệu D(Ai) := Dom(Ai) là miền xác định của Ai ∈ U, i = 1÷ n Một định nghĩa trực quan khác dưới đây
Định nghĩa 1.7 Quan hệ [4]
R(U) = {(d 1 , d 2 ,…, d n) | di ∈ D(Ai), Ai ∈ U, i =1÷ n}
A1 A2 An
r 1 r 1.(A1) r 1.(A2) r 1.(An) R(U) = r 2 r 2.(A1) r 2.(A2) r 2.(An)
r ⊆ Dom(A1) × Dom(A2) × × Dom(An)
Từ Hình 1.3 ta xác định U của quan hệ SODIEM và quan hệ MONHOC như sau:
Trang 26SODIEM với U = {SoDiem, SinhVien, MaLop, Dl1, Dl2,…}
MONHOC với U = {Monhoc, Ma, Ten,…}
Ví dụ 1.1 Về các mối quan hệ
Hình 1.3 Một ví dụ về mối quan hệ Định nghĩa 1.9 Lược đồ quan hệ
Một lược đồ quan hệ là một cặp có thứ tự: R = < U, F>
Trong đó U là tập hữu hạn các thuộc tính của quan hệ và F là tập các ràng buộc của
quan hệ (tập phụ thuộc hàm)5 Ở đây một ràng buộc trên tập các thuộc tính của quan
hệ U = {A1, A2, , An} được hiểu là một tính chất của tập tất cả các quan hệ xác định trên tập thuộc tính này
Có thể diễn đạt bằng cách khác đơn giản, ngắn gọn hơn là:
Định nghĩa 1.10 Lược đồ quan hệ (Relation scheme)
Là tập tất cả các thuộc tính trong một quan hệ cùng với mối liên hệ giữa chúng Lược đồ quan hệ R với tập thuộc tính U = {A1, A2, , An}
Ký hiệu: R(U) hoặc là R(A1, A2, , An)
Như vậy một RDB trong thực tiễn chính là sự đặc tả các tính chất của đối tượng cần thể hiện trong bảng biểu Thực chất cơ sở dữ liệu quan hệ là tập hợp các
5 Các khái niệm về phụ thuộc hàm (phụ thuộc đa trị, phụ thuộc kết nối) bao đóng, phủ tối thiểu, ràng buộc buộc
về kiểu, ràng buộc giải tích, ràng buộc logic liên quan định nghĩa khóa
Trang 27bảng biểu được liên kết theo một mục đích nào đó của phần mềm quản trị, mà tùy thuộc vào yêu cầu quản lý
Ví dụ 1.2 Trong Hình 1.3 ta có 4 lược đồ quan hệ
SINHVIEN (SinhVien, Ma, HoDem, Ten, GioiTinh,…)
LOP (Lophoc, Ma, KhoaHoc,…)
SODIEM (SoDiem, SinhVien, MaLop, dl1, dl2,…)
MONHOC (Monhoc, Ma, Ten,…)
Định nghĩa 1.11 Bộ (tuple)
Là các dòng hay bản ghi của quan hệ Số bộ (n_bộ) của quan hệ được gọi là
lực lượng của quan hệ; n_bộ: (d 1 , d 2 , , d n) là một bản ghi, thường được biểu diễn
bằng các chữ La tinh nhỏ, ví dụ r = (d 1 , d 2 , , d n) ∈ R(U)
Trong quá trình thiết kế và xây dựng các hệ quản trị cơ sở dữ liệu, người ta tiến hành xây dựng các mô hình dữ liệu Mô hình dữ liệu phải được thể hiện được các mối quan hệ bản chất của các dữ liệu mà dữ liệu này phản ánh các mối quan hệ và các thực thể trong thế giới thực Mô hình dữ liệu phản ánh khía cạnh cấu trúc logic
mà không đi sâu vào khía cạnh vật lý của cơ sở dữ liệu Khi xây dựng các mô hình
dữ liệu cần phân biệt các thành phần cơ bản sau:
Thực thể: Là đối tượng có trong thực tế mà chúng ta cần trích, chọn và mô tả
các đặc trưng trong một RDB
Thuộc tính: Là những đặc trưng điển hình được trích, chọn từ các thực thể Ràng buộc: Là các mối quan hệ mang tính logic của thực thể
Ba thành phần trên được thể hiện ở hai mức:
Mức dữ liệu: Là sự khái quát hóa các ràng buộc, các thuộc tính, các thực thể
cụ thể trong một cơ sở dữ liệu
Mức thể hiện: Là một ràng buộc cụ thể hoặc là các giá trị thuộc tính hoặc là
một thực thể cụ thể
Trên thực tế có rất nhiều dạng mô hình dữ liệu đã và đang được nghiên cứu phát triển, tuy nhiên việc phân chia một cách tương đối các mô hình như sau:
Trang 28Mô hình phân cấp (Hierarchical model): Là mô hình này dữ liệu được tổ chức
thành cấu trúc cây, các nút (node) là tập các thực thể, các cành là các mối quan hệ
giữa hai nút theo mối quan hệ nhẩt định, cứng nhắc Hay là mô hình dữ liệu trong đó
các bản ghi được sắp xếp theo cấu trúc top-down (tree) Một con chỉ có một cha chỉ
có một đường truy nhập tới dữ liệu đó trước
Mô hình mạng (Network model): Thể hiện trực tiếp các ràng buộc tùy ý giữa
các loại bản ghi Là mô hình dữ liệu được biểu diễn bởi một đồ thị có hướng, trong
đó các đỉnh là các thực thể, các cung là quan hệ giữa hai đỉnh, một kiểu bản ghi có thể liên kết với nhiều kiểu bản ghi khác Một con có thể có nhiều cha có nhiều đường truy nhập đến một dữ liệu cho trước
Mô hình dữ liệu quan hệ (Relational data model): Các ràng buộc được thể
hiện qua các quan hệ tức là bảng giá trị Vì tính chất chặt chẽ của toán học về lí thuyết tập hợp nên mô hình này đã mô tả dữ liệu một cách rõ ràng, uyển chuyển và trở thành rất thông dụng
Bản ghi (Record) Trường (Field)
<Mô hình dữ liệu quan hệ>
(Relational data model) <File>
Hình 1.4 Mô hình dữ liệu quan hệ
Mô hình dữ liệu hướng đối tượng (Object Oriented model): Là mô hình dữ
liệu trong đó các thuộc tính dữ liệu và các phương thức thao tác trên các thuộc tính
đó đều được đóng gói trong các cấu trúc gọi là đối tượng Cho phép biểu diễn dữ liệu
tự nhiên và sát với thực tế hơn cả
1.2.7 Thuộc tính và khóa
Mặc dù mục 1.2.6 đã đề cập đến thuộc tính nhưng nội hàm của chúng cần được đưa
ra định nghĩa để đảm bảo tính đầy đủ của vấn đề
Trang 29Định nghĩa 1.12 Thuộc tính, miền giá trị của thuộc tính
Thuộc tính là tập tất cả giá trị có thể có của từng đặc trưng trong cơ sở dữ liệu
(điều này cũng đúng với RDB) Mỗi một thuộc tính đều phải thuộc một trong các kiểu
dữ liệu cơ bản như chuỗi, số, logic, ngày tháng,… hoặc các kiểu có cấu trúc được định nghĩa dựa trên các kiểu dữ liệu cơ bản trong một hệ quản trị cơ sở dữ liệu
Định nghĩa 1.13 Thuộc tính phân loại của CSDL quan hệ
Thuộc tính phân loại của cơ sở dữ liệu quan hệ là thuộc tính mà giá trị của nó
có thể được dùng để phân chia các bộ thành một số loại khác nhau Một thay đổi nhỏ
về giá trị của thuộc tính có thể làm ảnh hưởng đến giá trị sử dụng của toàn bộ dữ liệu trong cơ sở dữ liệu quan hệ [4]
Ví dụ 1.3 trong Hình 1.3 thì GioiTinh của lược đồ SINHVIEN là một thuộc tính phân
loại CSDL quan hệ
Định nghĩa 1.14 Khoá của tập thực thể
Là một hoặc một tập các thuộc tính xác định duy nhất một thực thể trong một tập thực thể
Định nghĩa 1.15 Siêu khóa (Superkey)
Khoá của quan hệ r xác định trên tập thuộc tính U = {A1, A2, , An} Tập K ⊆
U được gọi là siêu khoá của r nếu với ∀ t 1 , t 2 ∈ r, t 1 ≠ t 2 thì t 1 K ≠ t 2 K Nói cách khác
một tập con K ⊆ U được gọi là siêu khoá của r nếu K có thể dùng làm cơ sở để phân
biệt các bộ của r Một lược đồ có ít nhất một siêu khóa
Khoá là một khái niệm rất quan trọng trong việc thiết kế một cơ sở dữ liệu quan hệ Khoá thường được áp dụng trong việc tìm kiếm hay cập nhật dữ liệu trong các cơ sở dữ liệu quan hệ
Định nghĩa 1.16 Khóa của lược đồ quan hệ
Lược đồ quan hệ R với tập thuộc tính U = {A1, A2, , An} Tập K ⊆ U được
gọi là khoá của R nếu:
o K là siêu khoá của R
o ∀K' ⊂ K thì K' không phải là siêu khoá của R
Trang 30Điều này có nghĩa là mỗi một giá trị của khoá xác định duy nhất giá trị của các thuộc tính không khoá Giá trị khoá khác nhau thì giá trị các bộ có chứa giá trị khoá cũng khác nhau Nếu loại bỏ một phần thông tin về khóa thì thông tin của các thuộc tính còn lại không thể xác định được Nghĩa là nếu thêm hoặc loại bỏ các phần tử của khoá sẽ là thừa hay thiếu thông tin
Những định nghĩa khác về khóa của RDB:
thể có nhiều khóa dự tuyển (dự phòng)
của quan hệ Khoá chính không thể rỗng (NOT NULL)
đồ quan hệ R nếu nó không phải là khoá chính của R nhưng nó lại là khoá chính của một lược đồ quan hệ khác
Ví dụ 1.4 Trong Hình 1.3, Lược đồ SINHVIEN có các khóa chính là SinhVien và một
khóa ngoại là Ma: SINHVIEN (SinhVien, Ma, HoDem, Ten, GioiTinh,…)
1.2.8 Ngôn ngữ truy vấn
SQL là ngôn ngữ được phát triển bởi IBM từ ngôn ngữ SEQUEL-2, dùng cho các hệ thống quản trị cơ sở dữ liệu lớn SQL là một chuẩn của ANSI về truy xuất các
hệ thống CSDL
SQL là ngôn ngữ vấn tin (ngôn ngữ hỏi), các thuật ngữ trong RDB như bảng,
thuộc tính, bộ,… được thay thế bằng các thuật ngữ như bảng (table), cột (column), bản ghi (record) hoặc hàng (row),… để phù hợp với ý nghĩa của hệ phần mềm này
Mỗi câu hỏi được thể hiện bằng một câu lệnh, các câu lệnh SQL được dùng để truy xuất, cập nhật dữ liệu
Phép toán cơ bản trong SQL được mô tả như là một khối SELECT … FROM
… WHERE, với các chức năng cơ bản là tạo mới (NEW hoặc CREATE), lựa chọn
(SELECT), chèn (INSERT), cập nhật (UPDATE), xóa (DELETE), v.v… và các phép
nối trong quan hệ như các hệ quản trị cơ sở dữ liệu tiền nhiệm
Trang 31Ngoài ra SQL còn có một hệ thống các câu lệnh ít công bố dùng để quản trị chuyên dụng fn_dblog(), n_dump_dblog(), v.v…
Các kiểu dữ liệu cơ bản trong SQL:
Char Chuỗi không chứa Unicode <= 8.000 ký tự
varchar Chuỗi không chứa Unicode <= 8.000 ký tự
Text Chuỗi không chứa Unicode 231 -1 ký tự
Bảng 1.3 Các loại dữ liệu cơ sở thường dùng của SQL Microsoft SQLServer là phiên bản dàng riêng cho hệ thống Windows và luôn nâng cấp theo chu kỳ công nghệ Nhưng các kiểu dữ liệu cơ bản trong nó nói chung
là không có sự khác biệt lớn so với SQL dành cho các hệ thống khác Microsoft SQLServer cũng có hệ thống bảo mật khá tốt dành cho nhà quản trị
Trang 321.2.9 Bảo mật và bảo vệ hệ thống thông tin
Trong cuộc sống thường nhật, không phải tất cả mọi người hiểu đúng về bảo
vệ và bảo mật, Đôi khi họ đánh đồng khái niệm bảo mật và sự bảo vệ Phân biệt hai
khái niệm này để làm rõ một trong các ý nghĩa và tác dụng của việc WRDB là việc cần thiết Dưới đây một số khái niệm liên quan đến vấn đề này
Hệ thống thông tin (Information Systems): Là một hệ thống gồm con người,
dữ liệu và những hoạt động xử lý dữ liệu và thông tin trong một tổ chức
Chưa có một khái niệm chính xác về bảo mật hay bảo vệ cho mọi lĩnh vực Nhưng trong lĩnh vực CNTT có thể khái quát như sau:
Bảo vệ hệ thống thông tin: Là sự giữ gìn, chống lại mọi sự huỷ hoại, xâm
phạm tài nguyên hoặc tài sản đến từ các tác nhân không mong đợi đối với hệ thống thông tin
Bảo mật hệ thống thông tin (Information Systems Security): Là bảo vệ hệ
thống thông tin chống lại việc truy cập, sử dụng, chỉnh sửa, phá hủy, làm lộ và làm gián đoạn thông tin và hoạt động của hệ thống một cách trái phép
Bảo mật hệ thống thông tin phải đảm bảo các yêu cầu:
Tính toàn vẹn (Integrity): Chỉ những người dùng được ủy quyền mới được
phép chỉnh sửa dữ liệu Tính toàn vẹn là bảo vệ sự chính xác, hoàn chỉnh của thông tin và thông tin chỉ được thay đổi bởi những người được cấp quyền
Tính sẵn sàng (Availability): Đảm bảo dữ liệu luôn sẵn sàng khi những người
dùng hoặc ứng dụng được ủy quyền yêu cầu
Tính chống thoái thác (Non-repudiation): Khả năng ngăn chặn việc từ chối
một hành vi đã thực hiện để từ đó có thể phát hiện, ngăn chặn, phục hồi hệ thống
Bảo mật trở nên đặc biệt phức tạp trong quản lý, vận hành những hệ thống thông tin có sử dụng các công cụ tin học, nơi có thể xảy ra việc lạm dụng tài nguyên
(các thông tin di chuyển vô hình trên mạng hoặc lưu trữ hữu hình trong các vật liệu)
và lạm dụng tài sản (các máy tính, thiết bị mạng, thiết bị ngoại vi, các phần mềm của
cơ quan hoặc người sở hữu hệ thống) Hạn chế ở đây có ý nói rằng không thể triệt
Trang 33phá hết ngay việc lạm dụng, cho nên cần sẵn sàng đề phòng mọi khả năng xấu với các phương cách thích hợp và chuẩn bị xử lý các sự cố nếu có việc lạm dụng xảy ra
Từ những khái niệm trên cho thấy bảo vệ và bảo mật hệ thống thông tin là hai
cấp độ khác nhau Theo đó xét về ngữ nghĩa thì bảo vệ vẫn cho sử dụng kết quả của
sản phẩm, truy cập hệ thống nhưng không có quyền và tác quyền đối với những tác
nhân trái phép, còn bảo mật cũng đồng nghĩa với việc không cho sử dụng và cũng
không có quyền và tác quyền với những tác nhân trái phép Nói cách ngắn gọn là bảo mật là sự hạn chế việc sử dụng, tái sử dụng
1.3 NHỮNG TẤN CÔNG TRÊN THUỶ VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
Các cơ sở dữ liệu quan hệ 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ị hư hỏng hoặc 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
Nếu một tác nhân không mong đợi có được dữ liệu mà không nhận ra RDB đã được thủy vân Sau đó, RDB có thể cập nhật hoặc thực hiện các thay đổi giá trị, bằng cách nào đó, người chủ sở hữu cơ sở dữ liệu có thể phát hiện ra việc truy cập dữ liệu bất hợp pháp, kể cả đối với các thay đổi ngoài ý muốn
Đối với những cập nhật thông thường có các loại tấn công chủ yếu sau: Tấn công xóa, tấn công thêm và tấn công thay đổi giá trị các bộ Các kỹ thuật thuỷ vân cần đảm bảo rằng người chủ cơ sở dữ liệu quan hệ không bị mất thuỷ vân trước các kiểu các tấn công thông thường trên
Trang 34Tấn công vào các dữ liệu đã thủy vân: 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 thêm một số thủy vân Tác nhân có thể thay đổi tất cả các thủy vân, thì 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 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 thủy vân của chủ cơ sở dữ liệu và kẻ tấn công 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í thủy vân nào đó Các phép cập nhật thông thường cũng được coi là các cuộc 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 muốn làm mất các thủy vân
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
Kẻ tấn công 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 đoán số vị trí đó thiếu thì tấn công có thể không thành công Nếu đoán số
vị trí đó nhiều 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 mới 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: Kẻ tấn công có thể cộng thêm thủy vân vào quan hệ đã thủy
vân của chủ cơ sở dữ liệu và đòi quyền sở hữu
Tấn công ngược lại: Kẻ tấn công 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 Thủy vân mà kẻ tấn công công bố thực ra chỉ là một xuất hiện ngẫu nhiên mà thôi
1.4 KẾT LUẬN CHƯƠNG
Chương này đã khái quát tình hình nghiên cứu về WRDB Nêu một số các khái niệm cơ bản nhất về WRDB Các khái niệm cơ bản về cơ sở dữ liệu quan hệ và mô hình dữ liệu quan hệ Cụ thể là các khái niệm về thủy vân cơ sở dữ liệu quan hệ, khóa thủy vân cơ sở dữ liệu quan hệ, phân biệt khái niệm bảo mật và bảo vệ
Trang 35Các tấn công thường gặp, tấn công có chủ đích trên WRDB được giới thiệu thông qua hai tác dụng cơ bản của thủy vân cơ sở dữ liệu quan hệ là bảo vệ bản quyền
và đảm bảo sự toàn vẹn dữ liệu Đây cũng chính là mục tiêu nghiên cứu trong các chương còn lại của luận văn
Trong chương này, tác giả xây dựng định hướng để từ đó tìm kiếm, chọn lọc
và phân tích các kỹ thuật cho việc giải quyết bài toán bảo vệ bản quyền các cơ sở dữ liệu quan hệ trong chương 2
Trang 36CHƯƠNG 2 KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
2.1 MỘT SỐ KỸ THUẬT THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
Về cơ bản, các kỹ thuật WRDB cũng kế thừa các những kỹ thuật thủy vân đa
phương tiện Tuy nhiên do đặc điểm cấu trúc, chức năng của RDB Do vậy các kỹ
thuật này tỏ ra khá phức tạp và theo những yêu cầu đặc thù
2.1.1 Yêu cầu cơ bản của việc thủy vân cơ sở dữ liệu quan hệ
Ứng dụng WRDB trong thực tế chưa mang lại nhiều cơ hội cho việc bảo vệ và xác thực bản quyền với các RDB trong hệ thống quản lý giáo dục Vì các kỹ thuật này làm thay đổi dữ liệu dù rất nhỏ, điều này khó được chấp nhận với những yêu cầu quản trị trong thực tiễn Vậy khi thủy vân phải thỏa mãn các yêu cầu [4] sau:
Khả năng có thể phát hiện (Detectability): Chủ CSDL phải có khả năng phát
hiện thủy vân bằng việc xem xét những bộ đã thủy vân từ CSDL nghi ngờ Nếu mẫu thủy vân được phát hiện có mặt ở tất cả bộ thì rất có khả năng RDB đã bị sao chép Tuy nhiên, ngay cả khi phát hiện mẫu thủy vân chỉ có mặt ở những bộ thủy vân ít hơn tổng số bộ đã thủy vân, thì những bộ này vẫn phụ thuộc vào tổng số bộ đã thủy vân
và một giá trị định trước gọi là mức ý nghĩa của phép thử Giá trị của bộ này được
xác định sao cho xác suất để chủ sở hữu tìm thấy mẫu thủy vân của mình từ các bộ
này trong tổng số bộ đã thủy vân phải nhỏ hơn mức ý nghĩa của phép thử
Một hướng khác, người được ủy quyền sử dụng RDB muốn xác nhận dữ liệu được gửi từ chủ sở hữu là nguyên vẹn không bị thay đổi trong quá trình gửi RDB được gửi từ chủ sở hữu phải chứa thủy vân đã được nhúng từ tổng số bộ đã thủy vân được xem xét để xác minh tính toàn vẹn của dữ liệu Khi có bất kỳ thay đổi nào trong
dữ liệu được thủy vân thì CSDL đó đã bị sửa đổi Người được ủy quyền sử dụng RDB
có thể yêu cầu chủ sở hữu gửi lại dữ liệu
Tính bền vững và dễ vỡ (fragile and 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ỏ Ví dụ như, kẻ tấn công thay đổi một vài bộ trong RDB của chủ sở hữu Khi đó, nói rằng thủy vân là an toàn đối với tấn công này
Trang 37nếu kẻ tấn công không thể phá hủy các dấu hiệu thủy vân ở những bộ đã thủy vân
phụ thuộc vào tổng số bộ thủy vân và mức ý nghĩa của phép thử như đã nói ở trên
Ngược lại, với 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 một vài bộ trong RDB của chủ sở hữu mà vẫn không làm thay đổi thủy vân Khi đó, nếu những thay đổi của kẻ tấn công làm thay đổi các thủy vân được giấu thì ta có thể kết luận rằng quan hệ đã bị tấn công
Khả năng cập nhật dữ liệu (Incremental Updatability): Sau khi đã WRDB,
chủ sở hữu có thể cập nhật khi cần thiết mà không làm hỏng thủy vân Khi chủ sở hữu thêm hoặc bớt các bộ hoặc sửa đổi các giá trị của các thuộc tính của CSDL, 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
Khi CSDL đã thủy vân và được cập nhật dữ liệu thì xem đây là các tấn công thông thường trên WRDB Để giải quyết vấn đề này, chủ sở hữu có thể cập nhật, thủy vân lại và gửi sang cho người được ủy quyền sử dụng dữ liệu
Tính ẩn và hiện (Imperceptibility): Đối với thuỷ vân ẩn, dữ liệu sau khi thủy
vân không dễ nhận thấy được bằng mắt thường (trừ chủ dữ liệu) Sự thay đổi do các
dấu hiệu thuỷ vân gây ra cho dữ liệu quan hệ không được làm giảm giá trị sử dụng của CSDL Hơn nữa, các thực hiện thống kê thông thường của các thuộc tính số cũng không bị ảnh hưởng đáng kể
Tuy nhiên, trong một số trường hợp, thủy vân có tính hiện, dễ dàng nhận thấy bằng mắt thường hoặc bằng một số phương pháp kiểm tra Nhưng sự thay đổi do các thủy vân gây ra cho dữ liệu quan hệ không làm ảnh hưởng tới giá trị sử dụng của RDB Tính hiện của dữ liệu có thể giúp cho việc dễ vỡ của thủy vân khi có bất kỳ tấn công nào trên dữ liệu được nhúng
Phát hiện mù (Blind System): Việc phát hiện thuỷ vân không đòi hỏi các thông
tin về CSDL và thông tin thuỷ vân gốc gọi là phát hiện mù Tính chất này rất quan trọng cho việc phát hiện thuỷ vân trong bản sao RDB dù gốc đã được cập nhật Để phát hiện mù đối với CSDL thì các thông số liên quan đến chủ sở hữu rất là cần thiết
để chứng minh CSDL thuộc quyền sở hữu hoặc chứng minh tính toàn vẹn của CSDL
Trang 382.1.2 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Như đã nói ở trên, WRDB là kỹ thuật phức tạp Việc lựa chọn kỹ thuật nào là tuỳ thuộc vào yêu cầu cụ thể của ứng dụng, có một số cách tiếp cận bài toán WRDB sau:
2.1.2.1 Kỹ thuật thủy vân sử dụng các bit ít ý nghĩa nhất
Các bit ít ý nghĩa nhất là các bit ở bên phải nhất của một chuỗi Bit ít quan
trọng của mẩu tin, không ảnh hưởng việc quyết định nội dung của mẩu tin, nên khi ta thay đổi bit này thì các sai lệch nhỏ được chấp nhận ở một ngưỡng cho phép
Kỹ thuật thủy vân LSB trong nghiên cứu [6], [7] áp dụng cho RDB có dữ liệu kiểu số Tư tưởng chính là dùng LSB để thủy vân các thuộc tính kiểu số chấp nhận thay đổi nhỏ, ít ảnh hưởng tới ý nghĩa dữ liệu Với LSB, thủy vân được nhúng cho toàn bộ CSDL và sử dụng mức ý nghĩa để phát hiện thủy vân Sử dụng SWOT để đánh giá kỹ thuật này với bài toán thủy vân các RDB trong hệ thống quản lý giáo dục
- Kỹ thuật đơn giản, áp dụng cho CSDL
có thuộc tính kiểu số chấp nhận thay đổi
- Là kỹ thuật tiên phong cho việc bảo vệ
bản quyền RDB
- Khả năng phát hiện mù, chi phí thấp
khi xác minh quyền sở hữu các dữ liệu
- Xác minh quyền sở hữu không cần đến bản gốc của CSDL
- Có thể áp dụng với các thuộc tính kiểu
số của RDB trong quản trị giáo dục
- Được áp dụng cho các thuộc tính số Chi phí thấp khi xác minh bản quyền
- Vẫn thủy vân tất cả các giá trị dữ liệu
rỗng (null)
- Chỉ áp dụng cho các thuộc tính kiểu số
- CSDL bị sửa đổi không còn là dữ liệu
gốc ban đầu
- Thay đổi các thuộc tính kiểu số, làm giảm giá trị khi khai thác dữ liệu Độ tin cậy khi lập các thống kê quản lý
- Việc xác định mức ý nghĩa của phép thử phức tạp
Bảng 2.1 Phân tích khả năng áp dụng của kỹ thuật LSB
Từ phân tích SWOT trên cho thấy, đối với kỹ thuật thủy vân này cần có những cải tiến về mặt kỹ thuật thủy vân để khắc phục các điểm yếu nhất là cơ sở dữ liệu không còn là dữ liệu gốc ban đầu
Trang 392.1.2.2 Kỹ thuật thuỷ vân sử dụng các bit ý nghĩa nhất
Các bit ý nghĩa nhất là các bit ở bên trái nhất của chuỗi bit Kỹ thuật thủy vân
dựa vào bit ý nghĩa nhất (MSB) đề xuất bởi Li, Y.[11] cùng cộng sự Kỹ thuật này dùng khóa bí mật, bộ dữ liệu đã chuẩn hóa và chỉ áp dụng cho các thuộc tính kiểu số
Ý tưởng của kỹ thuật MSB là tạo một bản sao từ quan hệ gốc gọi là quan hệ mới Với thuộc tính khóa chính của quan hệ mới trùng quan hệ gốc Những thuộc tính còn lại chỉ chứa các giá trị bit 0 hoặc bit 1 Các bit này được trích ra từ MSB của giá trị các thuộc tính trong quan hệ gốc Sử dụng SWOT ta có các vấn đề như sau:
- Thủy vân MSB ngăn cản các cuộc tấn
công sửa đổi dữ liệu
- Có thuật toán, khóa và thông tin thủy
vân thì xác định được vị trí các MSB
- Sau thủy vân, giá trị của dữ liệu thủy
vân bị thay đổi khá nhiều nếu bit là 1
- Dễ phát hiện khi MSB thay đổi
- Được sử dụng để bảo vệ bản quyền công khai
- Thay đổi so với kết quả thống kê, báo cáo quản lý khi đã thủy vân
- Dễ phát hiện khi khi MSB thay đổi
- Thuận tiện cho các nhu cầu xác minh CSDL được thủy vân
- Việc thay đổi của các bit khác ngoài
MSB có thể không được phát hiện
- Chỉ áp dụng cho các thuộc tính kiểu số
trong RDB
- Việc đăng kí quyền sở hữu tốn kém
- Tốn bộ nhớ, tài nguyên trong quá trình
Bảng 2.2 Phân tích khả năng áp dụng của kỹ thuật MSB
Sau khi nhúng thủy vân kết khóa thủy vân với quan hệ gốc để sinh ra một quan
hệ mới tương ứng chứa các giá trị 0 hoặc 1 như trên Đăng kí quyền sở hữu với bên
thứ ba có thẩm quyền gồm quan hệ mới, khóa thủy vân và mức ý nghĩa Dùng các dữ
liệu đã đăng kí để chứng minh bản quyền CSDL
Trang 402.1.2.3 Kỹ thuật thuỷ vân dựa vào kỹ thuật tối ưu hoá
Là sử dụng phương pháp phân hoạch dữ liệu (không phụ thuộc vào các bộ
đánh dấu) để phân chia dữ liệu thành các tập con có chứa các bộ trong quan hệ đã
cho và giả thiết rằng các bộ trong các phần phân hoạch chứa thuộc tính số đơn
Trong kỹ thuật này, một tập dữ liệu được biến đổi thành tập dữ liệu đã thủy
vân bằng cách áp dụng một hàm mã hóa thủy vân có tham gia của một khóa bí mật
chỉ người chủ sở hữu biết và thông tin thủy vân Sau khi thủy vân sẽ làm thay đổi dữ
liệu Tuy nhiên, những thay đổi này được kiểm soát bằng cách đưa ra những ràng
buộc về tính khả dụng được lấy từ tập các ràng buộc về sử dụng Những ràng buộc
này hạn chế số lượng các thay đổi có thể được thực hiện trên dữ liệu Dùng SWOT
để làm rõ khả năng áp dụng của kỹ thuật này đối với CSDL trong quản lý giáo dục
- Kỹ thuật tối ưu hoá cho thuỷ vân dữ
liệu quan hệ này bền vững đối với các
tấn công xoá, sửa, hay thêm các bộ
- Dữ liệu mã hóa thủy vân bởi một khóa
bí mật chỉ người chủ sở hữu biết
- Quá trình thủy vân có kiểm soát với các
- Chỉ áp dụng cho từng phần của cơ sở
dữ liệu quan hệ
- Các ràng buộc bị hạn chế số lượng các
thay đổi trên dữ liệu
- Những ràng buộc này hạn chế số lượng
các thay đổi có thể được thực hiện trên
dữ liệu
- Cân nhắc các thay đổi trên dữ liệu
- Việc lựa chọn các ràng buộc như thế nào là tuỳ thuộc vào ứng dụng cụ thể
- Thuật toán khá phức tạp khi sử dụng hàm băm và đánh giá ngưỡng tối ưu
Bảng 2.3 Phân tích khả năng áp dụng của kỹ thuật tối ưu hóa
Như đã trình bày ở phần trên, các ràng buộc dữ liệu được sử dụng để làm hạn chế những thay đổi được thực hiện trên dữ liệu Việc lựa chọn các ràng buộc như thế