Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
LUẬN VĂN THẠC SĨ MÁY TÍNH
Người hướng dẫn khoa học: PGS TS BÙI THẾ HỒNG
HÀ NỘI, 2014
Trang 3LỜI CẢM ƠN
Để hoàn thành luận văn này tôi đã nhận được sự giúp đỡ tận tình của thầy hướng dẫn khoa học, của các thầy cô trường Đại học Sư phạm Hà Nội 2 Tôi xin chân thành cảm ơn các thầy cô trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện học tập, nghiên cứu và giúp đỡ tôi rất nhiều trong quá trình làm
luận văn Đặc biệt tôi xin cảm ơn thầy PGS.TS Bùi Thế Hồng đã tận tình
hướng dẫn, chỉ bảo tôi trong suốt quá trình học tập, nghiên cứu đề tài và giúp tôi hoàn thành bản luận văn này
Vĩnh Phúc, ngày 12 tháng 12 năm 2014
Học viên
Trần Thị Kim Dung
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Bảo vệ sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân” là kết quả nghiên cứu của riêng tôi dưới sự
hướng dẫn khoa học của PGS TS Bùi Thế Hồng
Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác
Học viên
Trần Thị Kim Dung
Trang 5MỤC LỤC
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục đích nghiên cứu 1
3 Nhiệm vụ nghiên cứu 2
4 Đối tượng và phạm vi nghiên cứu 2
7 Cấu trúc luận văn 2
CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT THỦY VÂN 4
CHO CƠ SỞ DỮ LIỆU QUAN HỆ 4
1.1 Kiến thức cơ bản về giấu tin 4
1.1.1 Khái niệm giấu tin 4
1.1.2 Phân loại các kỹ thuật giấu tin 5
1.1.3 Môi trường giấu tin 6
1.2 Kiến thức cơ bản về thủy vân 10
1.2.1 Khái niệm thuỷ vân 10
1.2.2 Một số vấn đề có liên quan đến thuỷ vân 11
1.2.3 Các ứng dụng của thủy vân 12
1.2.4 Quá trình thực hiện thủy vân nói chung 13
1.3 Kỹ thuật thủy vân cho các cơ sở dữ liệu quan hệ 13
1.3.1 Kỹ thuật thủy vân làm thay đổi dữ liệu trong CSDL quan hệ 14
1.3.2 Các kỹ thuật thủy vân không làm thay đổi dữ liệu trong CSDL 22
1.4 Kết luận 23
CHƯƠNG 2: KỸ THUẬT THỦY VÂN BẢO VỆ SỰ TOÀN VẸN 25
CỦA CƠ SỞ DỮ LIỆU VỚI CƠ CHẾ XÁC THỰC CÔNG KHAI 25
2.1 Giới thiệu 25
2.2 Kỹ thuật thủy vân với cơ chế xác thực công khai 26
Trang 62.2.1 Ý tưởng của kỹ thuật thủy vân với cơ chế xác thực công khai 26
2.2.2 Tạo mã xác thực 28
2.2.3 Xác thực tính toàn vẹn của dữ liệu 30
2.2.4 So sánh giữa hai thủy vân 32
2.3 Ứng dụng kỹ thuật thủy vân với cơ chế xác thực công khai để bảo vệ sự toàn vẹn của CSDL 33
CHƯƠNG 3: CÀI ĐẶT VÀ THỬ NGHIỆM 35
3.1 Đặt vấn đề 35
3.2 Dữ liệu thử nghiệm 35
3.3 Các mô hình thử nghiệm 39
TÀI LIỆU THAM KHẢO 45
Trang 7DANH MỤC CÁC KÝ HIỆU, VIẾT TẮT
MKSD Multi Key Single Data Đa khóa, đơn dữ liệu SKMD Single Key Multi Data Đơn khóa, đa dữ liệu
LSB Least Significat Bit Bít ít ý nghĩa
EMC Encrypted Mark Code Mã đánh dấu đƣợc mã hóa
BCH Bose-Chaudhuri-Hocquenhem
SVR Support Vector Regression Hồi qui vector hỗ trợ
Trang 9DANH MỤC CÁC HÌNH
Số hiệu
1.5 Mô tả kỹ thuật thủy vấn cơ bản cho các cơ sở dữ liệu quan hệ 14 2.1 Kỹ thuật thủy vân với cơ chế xác thực công khai vào thực tế 33 3.1 Giao diện chính của chương trình thực nghiệm 36
3.4 Thủy vân số gốc được dùng trong thực nghiệm 39 3.5 Giao diện chương trình mô hình thực nghiệm 1 39 3.6 a) Thủy vân gốc; b) Thủy vân thu được theo thực nghiệm 1 40 3.7 Giao diện chương trình mô hình thực nghiệm 2 40 3.8 a) Thủy vân gốc; b) Thủy vân thu được theo thực nghiệm 2 41 3.9 Giao diện chương trình mô hình thực nghiệm 3 41 3.10 a) Thủy vân gốc; b) Thủy vân thu được theo thực nghiệm 3 42 3.11 Giao diện chương trình mô hình thực nghiệm 4 42 3.12 a) Thủy vân gốc; b) Thủy vân thu được theo thực nghiệm 4 43
Trang 101
MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, việc sử dụng các cơ sở dữ liệu, đặc biệt là cơ sở dữ liệu quan
hệ trong các ứng dụng ngày càng tăng Tốc độ phát triển Internet và các công nghệ có liên quan đang đưa đến một sức ép khá nặng nề cho những người bảo
vệ dữ liệu trong việc tạo ra các dịch vụ (thường được gọi là các dịch vụ web hoặc các tiện ích điện tử) cho phép người 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 Mặc dù các 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ối nguy hiểm cho những 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 cơ sở dữ liệu bị đánh cắp hoặc bị xuyên tạc với ý đồ xấu
Một trong những công cụ rất hữu ích dùng để bảo vệ bản quyền và chống giả mạo đối với các cơ sở dữ liệu quan hệ đó là kỹ thuật thủy vân số Hiện tại, đã có khá nhiều lược đồ thủy vân được đề xuất, trong đó có thể chia thành hai lớp Một lớp là các lược đồ thủy vân dùng để bảo vệ bản quyền cho các cơ sở dữ liệu quan hệ Lớp thứ hai là các lược đồ thủy vân dùng để bảo vệ
sự toàn vẹn cho các cơ sở dữ liệu quan hệ
Từ thực tế trên, em chọn đề tài nghiên cứu thuộc lớp thứ hai: “Bảo vệ
sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân”
2 Mục đích nghiên cứu
- Nghiên cứu kỹ thuật thủy vân để bảo vệ sự toàn vẹn cho các cơ sở dữ liệu quan hệ với cơ chế xác thực công khai
- Phát triển chương trình thử nghiệm bảo vệ sự toàn vẹn cho các cơ sở
dữ liệu quan hệ với cơ chế xác thực công khai
Trang 112
3 Nhiệm vụ nghiên cứu
- Nghiên cứu các cơ sở lý thuyết về cơ sở dữ liệu quan hệ và thủy vân số
- Tìm hiểu về hệ mã hóa khóa đối xứng và khóa công khai
- Sử dụng công cụ lập trình để phát triển chương trình thử nghiệm thủy vân cơ sở dữ liệu quan hệ
4 Đối tượng và phạm vi nghiên cứu
- Phạm vi nghiên cứu của đề tài là lý thuyết về thủy vân nói chung và
về cơ sở dữ liệu
- Nghiên cứu cơ chế mã hóa và giải mã thủy vân cơ sở dữ liệu quan hệ với cơ chế xác thực công khai
5 Những đóng góp mới của đề tài
- Tìm hiểu và nghiên cứu các kỹ thuật thủy vân để bảo vệ sự toàn vẹn cho cơ sở dữ liệu quan hệ
- Cải tiến và nâng cao độ chính xác khi bảo vệ tính toàn vẹn của cơ sở
dữ liệu lớn
- Cài đặt chương trình thử nghiệm để bảo vệ sự toàn vẹn của cơ sở dữ liệu với cơ chế xác thực công khai
6 Phương pháp nghiên cứu
- Phương pháp nghiên cứu chủ yếu ở đây là phương pháp tiếp cận lý thuyết, sau đó áp dụng lý thuyết để kiểm chứng Dựa trên kết quả kiểm chứng
đó để đưa ra kết luận và các đề xuất nhằm hoàn thành mục tiêu nghiên cứu
- Nghiên cứu về lý thuyết thủy vân cơ sở dữ liệu Nghiên cứu ứng dụng
và mô tả chi tiết về kỹ thuật thủy vân với cơ chế xác thực công khai
7 Cấu trúc luận văn
Luận văn gồm: Lời mở đầu, ba chương nội dung, phần kết luận và sau cùng là tài liệu tham khảo
Trang 123
Chương 1: Tổng quan về kỹ thuật thủy vân cho cơ sở dữ liệu quan hệ Chương 2: Kỹ thuật thủy vân bảo vệ sự toàn vẹn của cơ sở dữ liệu với
cơ chế xác thực công khai
Chương 3: Cài đặt và thử nghiệm
Trang 134
CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT THỦY VÂN
CHO CƠ SỞ DỮ LIỆU QUAN HỆ
1.1 Kiến thức cơ bản về giấu tin
1.1.1 Khái niệm giấu tin
Từ trước đến nay, nhiều phương pháp bảo vệ thông tin đã được đưa ra, trong đó giải pháp dùng mật mã được ứng dụng rộng rãi nhất Thông tin ban đầu được mã hoá, sau đó sẽ được giải mã nhờ khoá của hệ mã Đã có nhiều hệ mã phức tạp được sử dụng như DES, RSA, NAPSACK , rất hiệu quả và phổ biến
Một phương pháp mới khác đã và đang được nghiên cứu và ứng dụng mạnh mẽ ở nhiều nước trên thế giới, đó là phương pháp giấu tin Giấu thông tin là kỹ thuật nhúng một lượng thông tin số nào đó vào trong một đối tượng
dữ liệu số khác Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc
Sự khác biệt chú yếu giữa mã hoá thông tin và giấu thông tin là mã hoá làm cho các thông tin thể hiện là có được mã hoá hay không, còn với giấu thông tin thì người ta sẽ khó biết được là có thông tin giấu bên trong
Hình 1.1: Sơ đồ biểu diễn quá trình giấu tin
Trang 145
Hình 1.2: Sơ đồ biểu diễn quá trình giải mã
1.1.2 Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu thông tin mới được hình thành trong thời gian gần đây nên xu hướng phát triển chưa ổn định Nhiều phương pháp mới, theo nhiều khía cạnh khác nhau đang được đề xuất, vì vậy đã tồn tại nhiều cách phân loại rất khác nhau
Dựa trên việc thống kê các công trình đã công bố trên các tạp chí, cùng với thông tin về tên và tóm tắt nội dung của các công trình đã công bố trên Internet, người ta chia lĩnh vực giấu tin ra làm hai hướng lớn, đó là thủy vân
Trang 156
Hình 1.3: Phân loại kỹ thuật giấu tin
Đối với từng hướng lớn trên, quá trình phân loại theo các tiêu chí khác nhau dựa theo ảnh hưởng các tác động từ bên ngoài, người ta có thể chia thủy vân thành hai loại, một loại bền vững với các tác động sao chép trái phép, loại thứ hai có tính chất hoàn toàn đối lập: dễ bị phá huỷ trước các tác động nói trên Cũng có thể chia thủy vân theo đặc tính, một loại cần được che giấu để chỉ có một số người tiếp xúc với nó có thể thấy được thông tin, loại thứ hai đối lập, cần được mọi người nhìn thấy
1.1.3 Môi trường giấu tin
Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (văn bản, hình ảnh, âm thanh, phim… ), trong sản phẩm phần mềm và gần đây là những nghiên cứu trên lĩnh vực cơ sở dữ liệu quan hệ Trong các dữ liệu đó, dữ liệu
đa phương tiện là môi trường chiếm tỉ lệ chủ yếu trong các kỹ thuật giấu tin
Trang 167
1.1.3.1 Giấu tin trong ảnh (image)
Giấu thông tin trong ảnh, hiện nay, là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện do lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: xác thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu tin bí mật Do
đó vấn đề này đã nhận được sự quan tâm lớn của các cá nhân, tổ chức, trường đại học và viện nghiên cứu trên thế giới
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và không ai biết được rằng sau ảnh đó mang những thông tin có ý nghĩa Ngày nay, khi ảnh số đã được sử dụng phổ biến, giấu thông tin trong ảnh đã đem lại nhiều những ứng dụng quan trọng trong nhiều lĩnh vực trong đời sống xã hội Ví dụ đối với các nước phát triển, chữ kí tay đã được số hoá
và lưu trữ sử dụng như hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính,
nó được dùng để xác thực trong các thẻ tín dụng của người tiêu dùng Phần mềm WinWord của Microsoft cũng cho phép người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm bảo tính an toàn của thông tin Tài liệu sau đó được truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng Theo đó, việc xác thực chữ kí, xác thực thông tin đã trở thành một vấn đề quan trọng khi việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ chức nào Hơn nữa có nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số hoá và lưu trữ trong hệ thống máy tính hay trên mạng Chúng dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Việc xác thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng,
Trang 178
cấp thiết Một đặc điểm của giấu thông tin trong ảnh là thông tin được giấu trong ảnh một cách vô hình, tương tự cách truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu thông tin chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh xám Ví dụ về vụ việc ngày 11-9 gây chấn động nước Mĩ và toàn thế giới, chính tên trùm khủng bố quốc tế Osma BinLaDen đã dùng cách thức giấu thông tin trong ảnh để liên lạc với đồng bọn, và hắn đã qua mặt được cục tình báo trung ương Mĩ CIA và các cơ quan an ninh quốc tế Chắc chắn sau vụ việc này, việc nghiên cứu các vấn đề liên quan đến giấu thông tin trong ảnh sẽ rất được quan tâm
1.1.3.2 Giấu tin trong âm thanh (audio)
Giấu thông tin trong âm thanh mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS còn kỹ thuật giấu thông tin trong âm thanh lại phụ thuộc vào hệ thống thính giác - HAS Một vấn đề khó khăn là hệ thống thính giác của con người nghe được các tín hiệu ở các dải tần rộng và công suất lớn nên đã gây khó khăn đối với các phương pháp giấu tin trong âm thanh Nhưng hệ thống thính giác của con người lại kém trong việc phát hiện sự khác biệt các dài tần và công suất, điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên và thông tin này
sẽ giúp ích cho việc chọn các âm thanh thích hợp cho việc giấu tin Vấn đề khó khăn thứ hai đối với giấu thông tin trong âm thanh là kênh truyền tin Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu
Trang 18âm thanh đều lợi dụng điểm yếu trong hệ thống thính giác của con người
1.1.3.3 Giấu tin trong video
Cũng giống như giấu thông tin trong ảnh hay trong âm thanh, giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, xác thực thông tin và bảo vệ bản quyền tác giả Các kỹ thuật giấu tin trong video cũng được phát triển mạnh
mẽ và theo hai khuynh hướng là thuỷ vân số và giấu thông tin Một phương pháp giấu tin trong video được Cox đưa ra là phương pháp phân bố đều Ý tưởng cơ bản của phương pháp này là phân phối thông tin giấu dàn trải theo tần số của dữ liệu gốc Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng
và các hệ số truyền sóng riêng để giấu tin Trong các thuật toán đầu tiên thường các kỹ thuật cho phép giấu các ảnh vào trong video nhưng thời gian gần đây các kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video
Giấu tin là một công nghệ mới phức tạp, đang được các nhà khoa học tập trung nghiên cứu ở nhiều nước trên thế giới như Đức, Mỹ, Ý, Canada, Nhật Bản, Tuy nhiên, những kết quả thực nghiệm cho thấy để có thể ứng dụng thực tế thì lĩnh vực này cần phải có thêm thời gian để nghiên cứu thẩm định nhưng các nhà khoa học cũng khẳng định rằng đây là một công nghệ mới đầy hứa hẹn cho vấn đề an toàn và bảo mật thông tin Công việc hiện nay của các nhà khoa học là đang tập trung xây dựng một hệ thống lí thuyết chính xác cho vấn đề giấu tin, đây là một mảnh đất mới cho các nhà khoa học khám phá Một trong những kỹ thuật quan trọng của giấu tin đang được rất nhiều các nhà khoa học quan tâm và phát triến nhất, đó là kỹ thuật thuỷ vân (watermark)
Trang 1910
1.2 Kiến thức cơ bản về thủy vân
1.2.1 Khái niệm thuỷ vân
Thuỷ vân số (digital watermarking) là quá trình chèn thông tin vào dữ
liệu số đảm bảo không thể cảm nhận được bằng các giác quan của con người nhưng lại dễ dàng phát hiện bởi các thuật toán của máy tính Một dấu thuỷ
vân (watermark) mà một mẫu thông tin trong suốt và không thể nhìn thấy
được bằng các giác quan được chèn vào một vị trí thích hợp trong dữ liệu số bằng cách sử dụng một thuật toán đặc biệt
Tuỳ thuộc vào mục đích và ứng dụng mà các yêu cầu của hệ thống thủy vân được đặt ra Với các hệ thống thực tế, hệ thống thuỷ vân đòi hỏi các yêu cầu sau:
+ Tính không nhận thấy được (Imperceptibility): Các điều chỉnh gây ra
do nhúng thủy vân phải thấp hơn ngưỡng cảm thụ của con người, nghĩa là các mẫu dùng trong nhúng thủy vân chỉ được phép thay đổi rất nhỏ trong giới hạn cho phép
+ Tính bền vững (Robustness): Tùy vào từng loại ứng dụng mà tính bền vững này được nhìn nhận dưới nhiều quan điểm khác nhau, nếu như đối với các ứng dụng dùng để bảo vệ quyền sờ hữu thì thủy vân cần phải bền vững qua một số các hành động cập nhật của dữ liệu Nếu như đối với ứng dụng để chống làm giả hoặc chống lại sự thay đổi trên dữ liệu thì đòi hỏi thủy vân phải huỷ bỏ khi có các tác vụ này xảy ra
+ Tính không chia tách được (Inseparability): Sau khi dữ liệu được
nhúng thủy vân thì yêu cầu là phải rất khó hoặc không thể tách thành 2 phần riêng biệt như lúc đầu
+ Bảo mật (Security): Sau khi đã nhúng thủy vân vào dữ liệu, thì yêu cầu
là chỉ cho phép những người sử dụng có quyền mới chỉnh sửa và phát hiện được
thủy vân điều này được thực hiện nhờ vào key dùng làm khoá trong giải thuật
nhúng thủy vân vào dữ liệu và giải thuật phát hiện ra thủy vân trong dữ liệu
Trang 2011
+ Tìm lại thủy vân: Có thể cần hoặc không cần đến dữ liệu gốc vẫn có
thể tìm lại được thuỷ vân đã nhúng
+ Trích thủy vân hay kiểm chứng: Cho phép kiểm tra sự tồn tại của thủy vân trong dữ liệu đã nhúng
1.2.2 Một số vấn đề có liên quan đến thuỷ vân
Có nhiều phương pháp để phân loại thủy vân, dưới đây trình bày phương pháp phân loại phổ biến nhất:
Hình 1.4: Cách phân loại thủy vân tiêu biểu
Dựa vào miền tác động, chúng ta có thể phân loại thủy vân thành tác động lên miền không gian ảnh (spatial domain) và tác động lên miền tần số ảnh (frequency domain)
Dựa vào kiểu dữ liệu được nhúng thủy vân số, chúng ta có thủy vân được nhúng vào ảnh, vào audio, video hay text
Dựa vào tác động tới thị giác con người, chúng ta có thủy vân hiện (visible watermark) hoặc thủy vân ẩn (invisible watermark) Thủy vân ẩn lại được chia thành thủy vân bền vững (robust watermark) và thủy vân dễ vỡ (fraglie watermark)
Hệ thống thủy vân
Tác động miền tần số
Tác động vào
không gian ảnh
Dựa vào tác động thị giác tới con người
Văn bản Hình
ảnh
Video Audio
Thủy vân
ẩn
Thủy vân hiện
Thủy vân bền vững
Thủy vân
dễ vỡ
Dựa vào dữ liệu Dựa vào miền
tác động
Trang 2112
Thủy vân hiện có ưu điểm là nhìn được bằng mắt thường, khiến cho tất
cả người sử dụng đều biết được bản quyền của ảnh Tuy nhiên, nó sẽ tác động tới chất lượng ảnh và gây mất thẩm mỹ
1.2.3 Các ứng dụng của thủy vân
Bảo vệ quyền sở hữu: Thủy vân 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 thêm các thông tin về người sở hữu Khi các sản phẩm số này được sử dụng bất hợp pháp thì ta có thể dùng bộ dò thủy vân số để phát hiện
Chống sao chép bất hợp pháp: Các sản phẩm có chứa thủy vân 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 có chứa trong sả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ủa hãng DivX sẽ từ chối chiếu các bộ phim nhúng thủy vân
Theo dõi quá trình sử dụng: Thủy vân 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 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 vi phạm nhờ vào thủy vân được chứa bên trong sản phẩm số đó
Chống giả mạo: Thủy vân 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 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
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 để quản lý xem có bao nhiêu khách hàng đã dùng dịch
vụ cung cấp
Truyền tin bí mật: Bởi vì thủy vân 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
Trang 2213
1.2.4 Quá trình thực hiện thủy vân nói chung
Quy trình thực hiện thủy vân được trải qua bốn bước như sau:
Tạo thủy vân
Nhúng thủy vân
Tách thủy vân
Kiểm tra thủy vân
1.3 Kỹ thuật thủy vân cho các cơ sở dữ liệu quan hệ
Thuỷ vân cơ sở dữ liệu là kỹ thuật cho phép người chủ dữ liệu có thể nhúng một thuỷ vân ẩn vào dữ liệu Một thuỷ vân thường mô tả những thông tin có thể được dùng để chứng minh quyền sở hữu dữ liệu, chẳng hạn như là tên chủ sở hữu, nguồn gốc, hoặc người tiếp nhận nội dung này Việc nhúng thông tin an toàn đòi hỏi thủy vân được nhúng trong dữ liệu không thể bị làm giả mạo hoặc bị tẩy xoá một cách dễ dàng Đồng thời, khi nhúng thuỷ vân vào
dữ liệu cần phải đảm bảo các thay đổi trên dữ liệu là trong giới hạn cho phép của từng ứng dụng cụ thể
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 được nhúng
(iii) Kiểu của dữ liệu thủy vân
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ân loạ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
Về cơ bản, các kỹ thuật thủy vân cho các cơ sở dữ liệu quan hệ bao gồm hai giai đoạn: Giai đoạn nhúng thủy vân số vào cơ sở dữ liệu và giai đoạn xác thực thủy vân số được nhúng trong cơ sở dữ liệu Trong giai đoạn
nhúng thủy vân số vào cơ sở dữ liệu, khóa bí mật K được sử dụng để nhúng
Trang 2314
thủy vân số W vào các cơ sở dữ liệu gốc Khi đó, cơ sở dữ liệu đƣợc nhúng
thủy vân số sẽ đƣợc mang ra sử dụng ngoài cộng đồng (nhƣ chia sẻ trên Internet,…) Để xác thực quyền sở hữu của các cơ sở dữ liệu thuộc về ai (thực hiện đối với cơ sở dữ liệu nghi vấn), quá trình đƣợc thực hiện nhƣ sau:
Đƣa cơ sở dữ liệu nghi vấn làm đầu vào trong hệ thống xác thực và
dùng khóa bí mật K (khóa K này chính là khóa đƣợc dùng trong giai đoạn
nhúng thủy vân), lúc này thủy vân đƣợc nhúng vào cơ sở dữ liệu sẽ đƣợc trích rút ra và đƣợc so sánh với thủy vân gốc
Hình 1.5: Mô tả kỹ thuật thủy vân cơ bản cho các cơ sở dữ liệu quan hệ
1.3.1 Kỹ thuật thủy vân 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 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 Các kỹ thuật thủy vân thuộc loại này có thể đƣợc thực hiện trên các giá trị thuộc tính có những kiểu dữ liệu khác nhau nhƣ kiểu số (numeric), kiểu xâu (string),… tại mức bít hoặ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)
Trang 2415
1.3.1.1 Kỹ thuật thủy vân dựa trên thuộc tính kiểu dữ liệu số
a, Ảnh như là thông tin thủy vân
Wang et al [8] miêu tả một lược đồ thủy vân số dựa trên ảnh ở đây thay vì ảnh gốc nhúng thủy vân, một ảnh được chộn dựa trên biến đổi Arnold với hệ số chộn d được dùng Vì biến đổi Arnold của một ảnh có tính chu kỳ P, kết quả được lấy trong giai đoạn trích rút có thể được khôi phục từ định dạng chộn tới gốc sau đó lặp (P-d) Trong giai đoạn nhúng, ảnh gốc của kích thước NxN đầu tiên được chuyển vào ảnh chộn khi đó được biểu diễn bởi một xâu nhị phân bs của độ dài L = NxN Thứ hai, tất cả các bản ghi trong cơ sở dữ liệu quan hệ được nhóm vào L nhóm Giá trị băm được tính dùng khóa chính của bản ghi, khóa bí mật và thứ tự của ảnh, xác định nhóm trong mỗi bản ghi thuộc Cuối cùng, bit thứ i của bs là được nhúng vào vị trí bít được chọn của giá trị thuộc tính cho các bản ghi đó trong nhóm thứ i mà thỏa mãn tiêu chuẩn riêng nào đó Giai đoạn dò dùng kỹ thuật theo số đông Tuy nhiên, bảo mật của lược đồ không chỉ phụ thuộc vào khóa bảo mật mà còn phụ thuộc hệ số trộn d và thứ tự của ảnh N
Trong nhúng ảnh được trộn, kỹ thuật thủy vân trong [10] nhúng ảnh gốc bằng cách, đầu tiên chuyển đổi nó thành dãy bít (EMC, Encrypted Mark Code), và sau đó bằng cách cho phép các bước thuật toán giống như trong [8] Chỉ có hai điểm khác đó là (i) kỹ thuật chèn thủy vân số trong [8] cho rằng thuộc tính phải được cố định để đánh dấu cho tất cả các bản ghi trong khi đó [10] không như thế, và (ii) trong khi lựa chọn các vị trí bít, thứ tự của ảnh là không được xem xét trong [10] Cuối cùng, sau khi nhúng, [10] kiểm tra khả năng dùng của dữ liệu Nếu chấp nhận thì thay đổi, ngược lại quay lại
Lược đồ thủy vân số khác để nhúng ảnh định dạng BMP đã được trình bày trong [11] Trong giai đoạn nhúng thủy vân số, ảnh BMP được phân chia thành hai phần: phần dữ liệu header và phần dữ liệu ảnh Một phương pháp
Trang 2516
hiệu chỉnh lỗi của mã BCH (Bose-Chaudhuri-Hocquenhem) là được sử dụng giải mã phần dữ liệu ảnh trong thủy vân số Dựa trên giá trị ID của bản ghi được tính từ hàm băm với tham số khóa chính của bản ghi và dữ liệu header của ảnh BMP, tất cả các bản ghi được gắn tới các tập con phân biệt k, ở đây k
là độ dài của thủy vân Cuối cùng, mỗi k bít của thủy vân được sử dụng để đánh dấu mỗi k tập con của các bản ghi Trong khi đánh dấu, các vị trí bít ít ý nghĩa được chọn trong các thuộc tính được chọn của các bản ghi cụ thể thỏa mãn một chuẩn riêng được thay đổi Lựa chọn của các vị trí bít phụ thuộc vào hàm HASH hoặc MAC với tham số dữ liệu header của ảnh BMP, khóa chính của bản ghi và tham số khác như số lượng các bít ít ý nghĩa trong giá trị thuộc tính Qua quan sát thấy rằng các vị trí bít được lựa chọn không là một tập các bít thủy vân trực tiếp, tập các bít mặt nạ được tính toán từ hai giá trị hàm băm
và bít thủy vân
Lược đồ thủy vân vỡ dựa trên ảnh trong [12] hướng tớ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 cho thủ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án SVR được huấn luyện; (ii) Giai đoạn nhúng thủy vân: Tất cả các bản ghi trong cơ sở dữ liệu quan hệ là được sử dụng để nhúng thủy vân ảnh ở đây số lượng các bít thủy vân đượ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 kết quả là C i f(t i) Dựa trên bít thủy vân 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 1 hoặcC i 1; (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 định thông tin thủy vân và có thể
Trang 2617 đảm bảo cơ sở dữ liệu được giả mạo hay khô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 tố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
b Ngôn ngữ như là thông tin thủy vân
Wang et al [13] đề xuất dùng ngôn ngữ của người sở hữu để sinh thủy vân duy nhất Thủy vân 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, 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 bằng cách dùng thông điệp bản quyền của người sở hữu và kết quả được chuyển dữ liệu ngôn ngữ Nhúng thủy vân được thự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 [14]
c Thông tin thủy vân dựa trên thuật toán di truyền
Các tác giả trong [13] đề xuất kỹ thuật dựa trên thuật toán di truyền để tạo ra thông tin thủy vân, tập trung trên vấn đề tối ưu Họ đưa ra các bước thuật toán giống như trong [10]
d Các đặc tính nội dung như là thông tin thủy vân
Các lược đồ thủy vân trong [14], [15] là được thực hiện dựa trên nội dung của chính cơ sở dữ liệu
Trong [14], giai đoạn nhúng thủy vân trích rút vài bít, được gọi là đặc tính cục bộ, từ đặc tính của thuộc tính A1 của bản ghi t và nhúng các bít đó vào trong thuộc tính thủy vân A2 của bản ghi giống nhau Lựa chọn các bản ghi phụ thuộc vào giá trị ngẫu nhiên được sinh (giữa 0 và 1) là nhỏ hơn sự cân đối được nhúng của các cơ sở dữ liệu quan hệ và yêu cầu not Null của giá trị thuộc tính đặc tính Trong giai đoạn dò thủy vân, bằng cách cho phép thủ
Trang 27bao gồm thủy vân độ dài , ở đây và là số lượng các thuộc tính trong mộ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 Đối vớ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ác thự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 nhóm, trong khi đối với thủy vân bản ghi W2, nó được hình thành từ cùng mã xác thực thông điệp và tất cả các thuộc tính của cùng bản ghi Qua quan sát thấy rằng, trong giai đoạn nhúng và dò thủy vân, chúng bỏ các bít ít ý nghĩa của tất cả các thuộc tính của kiểu số ngoại trừ khóa chính khi tính các giá trị hàm băm Thủy vân thuộc tính được nhúng ở mức LSB, trong khi đó thủy vân bản ghi được nhúng tại mức kế tiếp LSB Theo cách này, các thủy vân được nhúng thực sự hình thành một lưới thủy vân giúp để dò, định vị và xác định rõ
sự thay đổi
e Mô hình đám mây như là thông tin thủy vân
Lược đồ thủy vân đám mây trong [16] được dựa trên mô hình đám mây với ba đặc tính: Giá trị kỳ vọng (Ex), Entropy (En) và Hyper Entropy (He) Trong giai đoạn tạo thủy vân, nó dùng thuật toán sinh đám mây phía trước để sinh các giọt mây từ đám mây và các giọt đám mây đó được nhúng vào trong các cơ sở dữ liệu như là thủy vân, trong khi đó thuật toán dò thủy vân dùng
Trang 2819
thuật toán sinh đám mây phía sau để trích rút đám mây với các tham số Ex,
En và He từ các giọt đám mây được nhúng, và cuối cùng, một thuật toán đám mây tương tự được sử dụng để xác thực các đám mây tương tự nhau hay không tương tự nhau Lược đồ này không rõ ràng vì vậy nó yêu cầu cơ sở dữ liệu quan hệ gốc trong giai đoạn xác thực
1.3.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 được trình bày ở trên nhúng trên thuộc tính số, lược đồ bảo vệ bản quyền trong [17], [18] là dựa trên kiểu dữ liệu phân loại Quá trình nhúng thủy vân 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
nó gán một giá trị liên quan tới một vị trí tương ứng (ngẫu nhiên, phụ thuộc
khóa chính và k 2 ) trong dữ liệu wm_data Dãy ngẫu nhiên của hàm băm
T(k),k2
H i 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ên cá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à
Trang 2920
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), tuy nhiên, lược đồ không phù hợp cho các cơ sở dữ liệu quan hệ mà cần cập nhật nhiều, vì nó rất đắt để nhúng thủy vân vào các cơ sở dữ liệu quan hệ được cậ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ưởng bở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 này được áp dụng để xử lý dữ liệu y học trong kiểu cấu trúc phân tầng [Bertino et al., 2005]
1.3.1.3 Kỹ thuật thủy vân dựa trên các thuộc tính đa từ không số
Ali và Ashraf [18] đề xuất một lược đồ thủy vân dựa trên ảnh nhị phân
ẩn trong các không gian của các thuộc tính đa từ không số của các tập con của
các bản ghi, thay vì thuộc tính số tại mức bít Kỹ thuật này phân chia vào m xâu, mỗi xâu chứa n bít Nói theo cách khác, cơ sở dữ liệu cũng được phân chia thành các tập con không giao nhau, mỗi tập chứa m bản ghi, m xâu ngắn của ảnh thủy vân được nhúng vào mỗi tập con m bản ghi Nhúng được thực hiện như sau: giả sử biểu diễn số nguyên của xâu ngắn thứ i là d i Một không
gian thực được tạo ra sau d i từ của không số được lựa chọn trước, thuộc tính
đa từ của bản ghi thứ i trong tập con Giai đoạn trích rút đếm số lượng các
không gian đơn xuất hiện trước khi hai không gian chỉ ra ước lượng số thực của xâu nhị phân ngắn được nhúng Do vậy thuật toán được đề xuất nhúng thủy vân giống nhau cho tất cả các tập con không giao nhau của cơ sở dữ liệu,
nó chống lại xóa tập con, thêm tập con, thay đổi tập con và tấn công lựa chọn tập con Ưu điểm khác cho thủy vân dựa trên không gian đó là tồn tại dung lượng bít lớn cho ẩn thủy vân có thể nhúng thuận tiện của các thủy vân nhỏ Tuy nhiên, nó có thể chịu tổn thất từ tấn công di chuyển thủy vân nếu Mallory