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à lược đồ thủy vân số.. Lớp thứ hai là các lược đồ thủy vân dùng để đả
Trang 1ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
–––––––––––––––––
LÊ THỊ HOÀNG
NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN SỰ THAY ĐỔI
DỮ LIỆU TRONG CƠ SỞ DỮ LIỆU QUAN HỆ
Chuyên ngành: Khoa học máy tính
Mã số : 62.48.01
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
Thái Nguyên, năm 2013
Trang 2MỞ ĐẦU
1 Lý do chọn đề tài
Ngày nay, việc sử dụng các cơ sở dữ liệu quan hệ, đặ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 hiện đang đưa đến một sức ép rất nặng nề cho những người đảm bảo 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 quan hệ từ xa Mặc dù xu hướng này là hữu ích cho người dùng cuối nhưng nó cũng bộc lộ mối nguy hiểm cho những nhà cung cấp dữ liệu trước những kẻ trộm cắp dữ liệu Do đó, những 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 quan hệ của họ
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à lược đồ 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ệ, điển hình là lược đồ thủy vân dựa vào các bit ít ý nghĩa nhất (LSB), lược đồ thủy vân dựa vào các bit ý nghĩa nhất (MSB) và lược đồ thủy vân dựa vào phương pháp tối ưu hóa các ràng buộc Lớp thứ hai là các lược
đồ thủy vân dùng để đảm bảo sự toàn vẹn cho các cơ sở dữ liệu quan hệ, điển hình là lược đồ khoanh vùng và phát hiện giả mạo cho cơ sở dữ liệu quan hệ
có thuộc tính phân loại, phát hiện giả mạo và khôi phục dữ liệu gốc cho cơ sở
dữ liệu quan hệ có khả năng chịu được một số thay đổi nhỏ trong dữ liệu Ngày nay, xu hướng nghiên cứu các lược đồ thủy vân dùng để đảm bảo sự toàn vẹn cho cơ sở dữ liệu quan hệ ngày càng được quan tâm hơn từ các nhu cầu thực tế của chủ sở hữu cơ sở dữ liệu quan hệ Các lược đồ này thực hiện
Trang 3nhiệm vụ kiểm tra xem cơ sở dữ liệu quan hệ có bị giả mạo hay không vì thế
mà không gây tốn kém cho chủ sở hữu cơ sở dữ liệu quan hệ như việc sử dụng các lược đồ thủy vân để bảo vệ bản quyền cho cơ sở dữ liệu quan hệ Vì vậy, gần đây một số lược đồ thủy vân dùng để đảm bảo sự toàn vẹn cho cơ sở
dữ liệu quan hệ đã được đề xuất Tuy nhiên, các lược đồ thủy vân chủ yếu được sử dụng cho các cơ sở dữ liệu quan hệ chứa các thuộc tính số Nhưng trong thực tế có khá nhiều cơ sở dữ liệu quan hệ mà các thuộc tính của chúng
có kiểu không phải kiểu số, ví dụ như kiểu văn bản, kiểu bộ nhớ,… Xuất phát
từ thực tế trên, em chọn đề tài “Nghiên cứu kỹ thuật phát hiện sự thay đổi
dữ liệu trong cơ sở dữ liệu quan hệ”
2 Đối tượng và phạm vi nghiên cứu
Nghiên cứu, đánh giá kỹ thuật thủy vân dễ vỡ trên cơ sở dữ liệu quan
hệ có các thuộc tính phân loại
Các công cụ lập trình và phần mềm dùng để cài đặt chương trình thử nghiệm
3 Hướng nghiên cứu đề tài
Tìm hiểu cơ bản về giấu tin và thủy vân
Nghiên cứu và thực hiện cài đặt thử nghiệm lược đồ thủy vân dễ vỡ dùng để phát hiện sự thay đổi dữ liệu trong cơ sở dữ liệu quan hệ có các thuộc tính phân loại
4 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 vào một ngôn ngữ lập trình cụ thể để kiểm chứng Dựa trên những kết quả kiểm chứng đó để đưa ra các kết luận và các
đề xuất nhằm hoàn thành mục tiêu nghiên cứu của luận văn
Trang 4Cụ thể trong luận văn này, tác giả lấy thông tin điểm tuyển sinh đầu vào của Trường Dự bị Đại học Dân tộc Trung ương làm cơ sở dữ liệu phục vụ cho việc kiểm chứng lý thuyết
5 Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài
Mục tiêu của đề tài có ý nghĩa khoa học và có ý nghĩa thực tiễn trong việc phát hiện sự thay đổi dữ liệu đối với các cơ sở dữ liệu quan hệ sau khi đã phân phối hoặc chuyển giao Đồng thời việc “phát hiện” này cũng là một vấn
đề rất quan trọng trong môi trường ứng dụng dựa trên Internet nhằm phát tán
và truyền tải thông tin
Nội dung chính của luận văn:
Tìm hiểu cơ bản về thủy vân, trình bày kỹ thuật phát hiện sự thay đổi của
dữ liệu trong cơ sở dữ liệu quan hệ Thực hiện cài đặt thử nghiệm Nhận xét đánh giá lược đồ thủy vân
Luận văn gồm 3 chương:
Chương 1: Thủy vân cơ sở dữ liệu và các vấn đề liên quan
Nhằm giới thiệu cơ bản về giấu tin và thủy vân, giấu tin và thủy vân trên ảnh, thủy vân cơ sở dữ liệu quan hệ, thủy vân bền vững, thủy vân dễ vỡ
Chương 2: Nghiên cứu kỹ thuật phát hiện sự thay đổi dữ liệu trong
cơ sở dữ liệu quan hệ
Trình bày các thuật toán nhúng thủy vân và phát hiện sự thay đổi dữ liệu trên cơ sở dữ liệu quan hệ
Chương 3: Cài đặt và thực nghiệm
Cài đặt thử nghiệm lược đồ thủy vân dễ vỡ trong cơ sở dữ liệu quan hệ Đánh giá lược đồ thủy vân đã được xây dựng
Kết luận: Tóm tắt và đánh giá các kết quả nghiên cứu đã đạt được Đưa
ra hướng phát triển và cải tiến lược đồ thủy vân
Trang 5Tôi xin chân thành cảm ơn thầy giáo PGS TS Bùi Thế Hồng đã tận tình
hướng dẫn, tạo mọi điều kiện giúp đỡ tôi hoàn thành đề tài luận văn này
Trang 6Chương 1 THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
VÀ CÁC VẤN ĐỀ LIÊN QUAN 1.1 Tổng quan về thủy vân cơ sởdữ liệu quan hệ
1.1.1 Một số khái niệm cơ bản
1.1.1.1 Khái niệm thủy vân
Thuật ngữ “thuỷ vân” có xuất xứ từ kỹ thuật đánh dấu nước thời xưa Đây là kỹ thuật đánh dấu chìm một hình ảnh hay một dữ liệu nào đó lên trên giấy nhằm mục đích trang trí và phân biệt được xuất xứ của sản phẩm giấy
Như vậy, thông tin cần giấu được gọi là thuỷ vân (watermark).Thuỷ vân chứa đựng thông tin có thể được dùng để chứng minh quyền sở hữu hoặc chống xuyên tạc, giả mạo
Có thể phân chia thủy vân thành 2 loại:
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 thủy vân này thường được dùng trong các ứng dụng bảo vệ bản quyền, chứng minh quyền sở hữu
Thuỷ vân dễ vỡ (fragile watermark): là thuỷ vân dễ bị biến dạng trước
những thay đổi hay tấn công lên dữ liệu Các thủy vân này thường được dùng trong các ứng dụng nhận thực thông tin, đảm bảo tính toàn vẹn dữ liệu
Các kỹ thuật thuỷ vân ngay từ khi mới ra đời đã nhận được sự quan tâm rất lớn của các nhà khoa học Thuỷ vân đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như: dữ liệu đa phương tiện (hình ảnh, text, âm thanh, video, ), hay các sản phẩm phần mềm, và gần đây là những nghiên cứu trên môi trường cơ sở dữ liệu quan hệ Trong các môi trường dữ liệu đó thì dữ liệu đa phương tiện (đặc biệt là hình ảnh) được nghiên cứu và áp dụng sớm nhất và là môi trường chiếm tỷ lệ chủ yếu Tuy
Trang 7nhiên, hiện nay các nhà khoa học đang tập trung nghiên cứu các kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ do nhu cầu đảm bảo an toàn cơ sở dữ liệu của chủ sở hữu trước những tấn công từ bên ngoài
1.1.1.2 Lịch sử phát triển của thuỷ vân
Tanaka (1990), Caronni và Tirkel (1993) lần lượt đưa ra những ấn bản đầu tiên về thủy vân nhưng chưa nhận được sự quan tâm đúng mức Đến năm
1995, chủ đề này mới bắt đầu được quan tâm và từ đó, thủy vân đã phát triển tốc độ nhanh với nhiều hướng nghiên cứu và phương pháp thực hiện khác nhau Thủy vân được ứng dụng trong nhiều lĩnh vực như bảo vệ quyền sở hữu, điều khiển việc sao chép, xác thực giấy tờ, đảm bảo tính toàn vẹn hay truyền đạt thông tin khác, Trong đó, ứng dụng phổ biến là cung cấp bằng chứng về bản quyền tác giả của các dữ liệu số bằng cách nhúng các thông tin bản quyền và đảm bảo tính toàn vẹn của dữ liệu
1.1.1.3 Mô hình tổng quát của lược đồ thủy vân
Trong quá trình nghiên cứu và phát triển các lược đồ thủy vân, các nhà nghiên cứu đã đưa ra các ý tưởng khác nhau cho việc đưa các thông tin vào trong dữ liệu Tuy nhiên, các lược đồ thủy vân sử dụng chung một mô hình tổng quát và các ý tưởng sử dụng chúng để phát triển thêm Một lược đồ thủy vân bao gồm hai phần chính:
- Nhúng thủy vân: Đưa thông tin cần nhúng vào dữ liệu cần bảo vệ
- Phát hiện thủy vân: Trích thông tin đã được nhúng vào dữ liệu
Quá trình nhúng thủy vân đảm nhiệm vai trò đưa các thông tin của chủ sở hữu vào trong dữ liệu mà không làm ảnh hưởng tới giá trị sử dụng của dữ liệu Trong quá trình này, các dữ liệu đầu vào bao gồm dữ liệu cần nhúng thủy vân, khóa thủy vân, thủy vân và các tham số khác Trong đó:
- Dữ liệu cần nhúng có thể là dữ liệu đa phương tiện, cơ sở dữ liệu quan hệ,… cần bảo vệ
Trang 8- Thủy vân có thể là một chuỗi thông tin ở dạng văn bản, hình ảnh, hay chuỗi bit bất kỳ Thủy vân có thể được đưa vào trực tiếp hoặc được sinh ra trong thuật toán nhúng thủy vân
- Khóa thủy vân là một đại lượng giúp tăng độ bảo mật của thủy vân và
có thể được sử dụng để chứng minh quyền sở hữu dữ liệu Khóa thủy vân thuộc sở hữu của chủ dữ liệu Thông thường, khóa thủy vân là bí mật Trong các hệ thống thực tế, thường sử dụng ít nhất là một khóa thủy vân thậm chí có thể kết hợp nhiều khóa thủy vân
- Các tham số khác có thể được sử dụng trong từng lược đồ thủy vân khác nhau Các tham số này thông thường là mức ý nghĩa, các thông số ảnh hưởng hoặc số lượng nhóm… Chúng có ảnh hưởng rất lớn đối với lược đồ thủy vân và thông thường việc xác định các tham số này không dễ dàng
Các yếu tố đầu vào kết hợp với thuật toán nhúng thủy vân sẽ trả lại kết quả là dữ liệu mới đã được nhúng thông tin thủy vân Dữ liệu này sẽ được đem sử dụng hoặc phân phối Hình 1.1 mô tả tổng quát quá trình nhúng thủy vân
Hình 1.1 Sơ đồ quá trình nhúng thủy vân Trong quá trình sử dụng dữ liệu, khi nghi ngờ có xuất hiện giả mạo chủ sở hữu dữ liệu có thể sử dụng quá trình phát hiện thủy vân để kết luận xem dữ liệu có bị xâm hại hay không Trong quá trình này, các yếu tố đầu vào là dữ
Thuật toán nhúng thủy vân
Dữ liệu cần
nhúng thủy
vân
Thủy vân
Khóa thủy vân
Dữ liệu sau khi nhúng thủy vân
Trang 9liệu cần phát hiện thủy vân, khóa thủy vân, thủy vân (có thể có hoặc không)
và các tham số khác Ở đây, khóa thủy vân, thủy vân, và các tham số khác phải trùng với quá trình nhúng thủy vân Kết hợp các yếu tố này với thuật toán phát hiện thủy vân sẽ đưa ra kết luận về dữ liệu có bị xâm hại hay không Quá trình phát hiện thủy vân được mô tả bằng Hình 1.2
Hình 1.2 Sơ đồ quá trình phát hiện thủy vân 1.1.2 Thuỷ vân cơ sở dữ liệu quan hệ
Ngày nay, các cơ sở dữ liệu quan hệ được sử dụng ngày càng nhiều trong các ứng dụng Do đó, những người cung cấp dữ liệu đòi hỏi phải có công nghệ nhận dạng được những bản sao các cơ sở dữ liệu quan hệ của họ bị đánh cắp
Cho dù có khá nhiều điều có thể học hỏi được từ các kết quả đã đạt được
về thủy vân dữ liệu đa phương tiện nhưng cho đến nay vẫn còn rất nhiều thách thức kỹ thuật mới đối với lĩnh vực thủy vân các cơ sở dữ liệu quan hệ bởi vì các dữ liệu quan hệ và các dữ liệu đa phương tiện khác nhau ở khá nhiều khía cạnh quan trọng Chẳng hạn như, các phần khác nhau của một đối tượng đa phương tiện không thể cắt bỏ hoặc thay thế một cách tùy ý mà không gây ra những thay đổi về cảm quan trong đối tượng Ngược lại, việc thêm, bớt và cập nhật các bộ của một bảng quan hệ lại là những phép toán trong cơ sở dữ liệu quan hệ Do những khác nhau này mà các kỹ thuật được
Thuật toán phát hiện thủy vân
Dữ liệu cần phát
hiện thủy vân
Kết luận về
dữ liệu Thủy vân
Khóa thủy vân
Trang 10phá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ệ có thể là thuỷ vân bền vững hoặc thủy vân dễ vỡ
Trong một số trường hợp, cơ sở dữ liệu quan hệ chứa các thuộc tính mang
ý nghĩa quan trọng không thể chấp nhận các sửa đổi cho các thuộc tính này trong cơ sở dữ liệu quan hệ Thủy vân cho những cơ sở dữ liệu quan hệ như vậy khá phức tạp đòi hỏi việc nhúng thủy vân vào trong cơ sở dữ liệu quan hệ một cách đặc biệt Chẳng hạn như, với các cơ sở dữ liệu quan hệ tuyển sinh chứa thuộc tính điểm là không thể thay đổi (hay cơ sở dữ liệu quan hệ dân số chứa thuộc tính số con) Cách nhúng thủy vân cho các cơ sở dữ liệu quan hệ này có thể là đổi chỗ các bộ trong cơ sở dữ liệu quan hệ [5] hoặc xây dựng hẳn một cơ sở dữ liệu quan hệ khác là bản sao của cơ sở dữ liệu quan hệ gốc [2] Ngoài ra, còn nhiều cách để sử dụng nhưng phải tùy vào từng lược đồ thủy vân đề xuất
Trong các trường hợp còn lại, cơ sở dữ liệu quan hệ chứa các thuộc tính chấp nhận được những thay đổi nhỏ trên thuộc tính mà không làm ảnh hưởng đến giá trị sử dụng của cơ sở dữ liệu quan hệ Khi đó, việc nhúng thủy vân cho cơ sở dữ liệu quan hệ này dễ dàng hơn so với trường hợp trước
Ví dụ, dữ liệu khí tượng được sử dụng để xây dựng các mô hình dự báo thời tiết Độ chính xác của vectơ gió và nhiệt độ tương ứng trong dữ liệu này được đo chính xác đến 1.8 m/s và 0.5o
C Các sai số được đưa vào do thuỷ vân có thể dễ dàng được hạn chế trong sự cho phép của các dữ liệu này Hay một ví dụ khác đáng chú ý là các nhà xuất bản sách khi in các bảng toán học (như các bảng logarit và lịch thiên văn) thường cố ý đưa vào một số lỗi nhỏ
để có thể dễ dàng nhận dạng các bản sao bị ăn cắp
Trang 11Đối với hầu hết các cơ sở dữ liệu quan hệ trong đó có chứa các tham số thì những sai lệch do hệ thống thuỷ vân gây ra có thể được điều chỉnh sao cho chúng nằm trong miền dung sai của độ đo Việc đánh giá độ đo và ảnh hưởng của thủy vân đến giá trị sử dụng của cơ sở dữ liệu quan hệ khi nhúng thủy vân rất quan trọng quyết định giá trị sử dụng của lược đồ thủy vân được xây dựng
có tốt hay còn chưa tốt
Đối với cơ sở dữ liệu quan hệ, khóa thủy vân, kiểu dữ liệu và việc sử dụng các công cụ hỗ trợ cho việc nhúng thủy vân vào trong cơ sở dữ liệu là một trong những vấn đề cơ bản của một lược đồ thủy vân Các khái niệm cơ bản về chúng sẽ được trình bày ở phần tiếp theo
1.1.3 Khái niệm về khóa thủy vân
Khóa thủy vân là một khái niệm dành cho các thuật toán thủy vân cơ sở
dữ liệu mà trong đó ta có sử dụng đến một số dữ liệu làm khóa để tạo ra thủy vân hoặc nhận biết thủy vân trong cơ sở dữ liệu Khóa thủy vân được sử dụng phải là khóa bí mật Tức là, khóa thủy vân chỉ có chủ sở hữu cơ sở dữ liệu hoặc cơ quan mà chủ sở hữu cơ sở dữ liệu đăng ký quyền sở hữu có được Khi khóa thủy vân bị lộ hoặc bị lấy cắp, thì có thể sẽ mất đi cơ sở dữ liệu Khóa thủy vân chính là mấu chốt của thủy vân cơ sở dữ liệu có sử dụng khóa thủy vân Thông thường, khóa thủy vân là đại diện cho quyền sở hữu cơ
sở dữ liệu của chủ sở hữu
Khóa thủy vân có thể được nhúng vào trong cơ sở dữ liệu bằng nhiều cách Điều quan trọng ở đây chính là việc ta giấu khóa thủy vân vào trong cơ
sở dữ liệu như thế nào để không bị phát hiện đồng thời vẫn có thể lấy ra được thủy vân giúp cho việc chứng minh được quyền sở hữu cơ sở dữ liệu của chủ
sở hữu Hay nói cách khác, việc đưa khóa vào trong cơ sở dữ liệu là một trong những vấn đề quan trọng của bài toán bảo vệ bản quyền cơ sở dữ liệu quan hệ hay đảm bảo tính toàn vẹn của cơ sở dữ liệu có sử dụng khóa Phương pháp