..
ĐẠ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
Số hóa bởi Trung tâm Học liệu
http://lrc.tnu.edu.vn/
1
MỞ ĐẦ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
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
2
nhiệ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.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
3
Cụ 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.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
4
Tô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.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
5
Chƣơ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
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
6
nhiê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ệ.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
7
- 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.
Thủy vân
Dữ liệu cần
Thuật toán
Dữ liệu sau khi
nhúng thủy
nhúng thủy vân
nhúng thủy vân
vân
Khóa
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ữ
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
8
liệ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.
Thủy vân
Dữ liệu cần phát
Thuật toán phát
Kết luận về
hiện thủy vân
hiện thủy vân
dữ liệu
Khóa
thủy vân 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
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
9
phát triển cho các dữ liệu đa phương tiện không thể được sử dụng trực tiếp để
thủy vân các quan hệ.
Thuỷ vân cơ sở dữ liệu quan hệ là phương pháp nhúng một lượng thông
tin nào đó vào trong cơ sở dữ liệu quan hệ. Thuỷ vân cơ sở dữ liệu quan hệ 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.5 o 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.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
10
Đố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
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
11
hay được sử dụng hiện nay là sử dụng hàm băm. Hàm băm đảm bảo được các
yêu cầu về bảo mật cũng như chi phí tính toán thấp.
1.1.4. Hàm băm mật mã
1.1.4.1. Khái niệm hàm băm
Hàm băm là một hàm ánh xạ một dữ liệu có độ dài thay đổi thành một dữ
liệu có độ dài cố định.
1.1.4.2. Tính chất của hàm băm
Ở đây, không có một định nghĩa hình thức bao trùm tất cả các tính chất
mong muốn của một hàm băm mật mã học. Các tính chất được nêu ra ở đây
được coi là yêu cầu tiên quyết:
- Tính chất không có ngược: Cho trước h việc tìm m sao cho h = hash(m)
là rất khó.
- Tính chất đơn ánh: Cho thông điệp m1, việc tìm một thông điệp m2
(khác m1) sao cho hash(m1) = hash(m2) là rất khó.
Một số hàm băm mật mã hay được sử dụng:
- MD4
- MD5
- RSA
1.1.4.3. Hàm băm mật mã MD5
Giới thiệu:
MD5 (Message-Digest algorithm 5) là một hàm băm để mã hóa với
giá trị băm là 128 bit. Từng được xem là một chuẩn trên Internet, MD5 đã
được sử dụng rộng rãi trong các chương trình an ninh mạng, và cũng thường
được dùng để kiểm tra tính nguyên vẹn của tập tin.
Thuật toán nhận vào 1 thông điệp độ dài tùy ý và tạo ra một số 128 bit,
là một dạng “vân tay” hay “mã số thông điệp“ của đầu vào. Người ta cho rằng
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
12
sẽ không khả thi về mặt tính toán để tạo ra 2 thông điệp có cùng mã số thông
điệp, hoặc tạo ra một thông điệp với mã số cho trước.
Thuật toán MD5 được thiết kế để chạy tương đối nhanh trên các máy 32
bit, có thể được thực hiện một cách khá gọn.
Ứng dụng:
Thuật toán MD5 được dự tính áp dụng cho những ứng dụng chữ ký điện
tử, ở đó một file lớn phải được “nén” một cách an toàn trước khi mã hóa với
một khóa cá nhân (private key) dưới một hệ mã hóa công khai như RSA.
MD5 được sử dụng rộng rãi trong thế giới phần mềm để đảm bảo tính
xác thực. Người sử dụng có thể so sánh giữa thông số kiểm tra phần mềm
bằng MD5 được công bố với thông số kiểm tra phần mềm tải về bằng MD5.
Hệ điều hành Unix sử dụng MD5 để kiểm tra các gói mà nó phân phối, trong
khi hệ điều hành Windows sử dụng phần mềm của hãng thứ ba.
MD5 được dùng để mã hóa mật khẩu. Mục đích của việc mã hóa này
là biến đổi một chuỗi mật khẩu thành một đoạn mã khác, sao cho từ đoạn
mã đó không thể nào lần trở lại mật khẩu. Có nghĩa là việc giải mã là không
thể hoặc phải mất một khoảng thời gian vô tận (đủ để làm nản lòng các
hacker).
1.1.5. Dữ liệu
Lược đồ thủy vân được xây dựng cho các cơ sở dữ liệu quan hệ với các
kiểu dữ liệu xác định. Ví dụ, một số lược đồ thủy vân chỉ xây dựng được cho
cơ sở dữ liệu quan hệ chứa các thuộc tính có kiểu số. Với các cơ sở dữ liệu
quan hệ chứa các thuộc tính không phải kiểu số thì lược đồ thủy vân này
không thể áp dụng được [3][6]. Vì vậy, kiểu dữ liệu của cơ sở dữ liệu quan hệ
là yếu tố đầu tiên ảnh hưởng đến việc xây dựng thành công một lược đồ thủy
vân.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
13
Với cơ sở dữ liệu quan hệ bao gồm một số kiểu dữ liệu như: kiểu số, kiểu
văn bản, kiểu ngày tháng, kiểu bộ nhớ,… Hai kiểu dữ liệu thường được sử
dụng là kiểu số và kiểu văn bản. Hiện nay, đã có khá nhiều các nghiên cứu về
lược đồ thủy vân cho cơ sở dữ liệu chứa kiểu dữ liệu là kiểu số [1][2].
Nhưng dữ liệu kiểu văn bản lại chiếm một phần không nhỏ trong cơ sở dữ
liệu quan hệ và bản thân dữ liệu kiểu số cũng có thể được quy về dữ liệu kiểu
văn bản nếu coi nó như là một chuỗi số. Gần đây, bắt đầu có một số nghiên
cứu về lược đồ thủy vân dành cho dữ liệu kiểu không phải kiểu số (kiểu văn
bản) đã được đề xuất [6]. Tuy nhiên, việc xây dựng một lược đồ thủy vân cho
cơ sở dữ liệu quan hệ có thuộc tính không phải kiểu số còn gặp nhiều khó
khăn. Một số khó khăn:
- Vấn đề về ngữ nghĩa của dữ liệu. Với dữ liệu kiểu số thì không có khó
khăn xảy ra nhưng với dữ liệu không phải kiểu số vấn đề ngữ nghĩa rất quan
trọng. Việc thay đổi một giá trị có thể ảnh hưởng tới ngữ nghĩa của dữ liệu và
bằng việc sử dụng một số công cụ phân tích ngữ nghĩa thủy vân được nhúng
có thể bị phát hiện.
- Vấn đề về mức ảnh hưởng của các thuộc tính không phải kiểu số trong
cơ sở dữ liệu quan hệ. Với cơ sở dữ liệu quan hệ chứa các thuộc tính không
phải kiểu số có thể chứa các thuộc tính có ảnh hưởng cao và các thuộc tính có
ảnh hưởng không cao đến giá trị sử dụng của cơ sở dữ liệu. Vì vậy, việc xây
dựng lược đồ thủy vân cần chọn lựa các thuộc tính có ảnh hưởng không cao
trong cơ sở dữ liệu.
1.2. Sự cần thiết của các kỹ thuật thuỷ vân cơ sở dữ liệu quan hệ
Hiện nay, có khá nhiều tài liệu về thuỷ vân các dữ liệu đa phương tiện.
Hầu hết các kỹ thuật này ban đầu được phát triển cho các bức ảnh tĩnh và sau
đó được mở rộng cho video và audio. Cho dù có khá nhiều điều có thể học hỏi
được từ các kết quả đã đạt được về thuỷ vân dữ liệu đa phương tiện nhưng
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
14
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 thuỷ
vân cơ sở dữ liệu quan hệ bởi vì các dữ liệu quan hệ và các dữ liệu đa phương
tiện khác nhau ở khá nhiều khía cạnh quan trọng. Những khác biệt đó bao
gồm:
- Một đối tượng đa phương tiện chứa một lượng rất lớn các bit với sự dư
thừa đáng kể. Các bit dư thừa này có thể được sử dụng để đưa các thông tin
thủy vân vào trong đó. Thông thường chúng được sử dụng như một mặt nạ
chứa các thông tin thủy vân. Việc thay đổi một hoặc một vài bit dư thừa
không làm ảnh hưởng đến giá trị sử dụng của dữ liệu. Trong khi đó, một quan
hệ cơ sở dữ liệu quan hệ chứa các bộ, mỗi bộ này biểu diễn một đối tượng
riêng biệt. Thuỷ vân cần phải được trải rộng trên tất cả các đối tượng riêng
biệt này. Việc thay đổi bất kỳ một bit nào cũng ảnh hưởng đến giá trị của các
bộ trong cơ sở dữ liệu.
- Vị trí tương đối về không gian/thời gian của các phần khác nhau của
một đối tượng đa phương tiện có đặc thù là không thay đổi. Trong khi đó, một
cơ sở dữ liệu quan hệ chứa các bộ của một quan hệ lại cấu thành một tập hợp
và do vậy có thể sắp thứ tự giữa các đối tượng trong cơ sở dữ liệu quan hệ.
Tuy nhiên, thứ tự này có thể thay đổi nếu cách sắp xếp thay đổi hoặc do một
nguyên nhân nào đó.
- Các phần khác nhau của một đối tượng đa phương tiện không thể bị cắt
bỏ hoặc thay thế một cách tuỳ ý mà không gây ra những thay đổi về cảm quan
trong đối tượng. Ngược lại, việc thêm, bớt, và cập nhật các bộ của một bảng
quan hệ lại là những phép toán chuẩn trong cơ sở dữ liệu quan hệ. Do đó, sẽ
rất khó để phát hiện những xâm hại đơn giản như xóa bỏ một số bộ hoặc thay
thế chúng bằng các bộ của các quan hệ khác.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
15
Do có những khác nhau như đã nêu trên đây mà các kỹ thuật được phát
triển cho các dữ liệu đa phương tiện không thể được sử dụng trực tiếp để thuỷ
vân các dữ liệu quan hệ.
Thật vậy, giả sử chúng ta ánh xạ một quan hệ thành một bức ảnh bằng
cách xem mỗi giá trị thuộc tính như một điểm ảnh. Nhưng không may là “bức
ảnh” được định nghĩa như vậy sẽ thiếu rất nhiều tính chất của một bức ảnh
thật. Ví dụ, các điểm ảnh nằm cạnh nhau trong một bức ảnh thật thường có
quan hệ mật thiết với nhau và quan hệ này là cơ sở cho nhiều kỹ thuật thuỷ
vân ảnh tĩnh. Các kỹ thuật thuỷ vân trên miền biến đổi của ảnh thường thực
hiện theo quy trình: trước hết áp dụng một phép biến đổi (cosine rời rạc DCT, sóng nhỏ - DWT, . . .) miền giá trị của bức ảnh, sau đó nhúng thuỷ vân
vào miền đã biến đổi rồi biến đổi ngược trở lại. Cách làm này trải các tín hiệu
thuỷ vân như phủ một màn nhiễu trên toàn bộ bức ảnh. Áp dụng trực tiếp các
kỹ thuật này cho một quan hệ sẽ làm sai lệch giá trị của tất cả các thuộc tính.
Điều đó có thể sẽ không được chấp nhận. Hơn nữa, một thuỷ vân như vậy có
thể không tồn tại được ngay cả trước những cập nhật nhỏ đối với quan hệ.
Các lược đồ thủy vân văn bản thường lợi dụng các tính chất đặc biệt của
văn bản đã được định dạng. Thủy vân thường được nhúng vào văn bản bằng
cách thay đổi khoảng cách giữa các từ và các dòng văn bản. Một số kỹ thuật
dựa vào việc nhấn mạnh một vài câu trong văn bản. Nhìn chung, các kỹ thuật
này có thể sử dụng để thủy vân các quan hệ chỉ chứa các thuộc tính kiểu văn
bản, còn đối với các quan hệ chứa các thuộc tính kiểu khác thì rất khó áp
dụng.
Bên cạnh đó, như các phân tích trong phần 1.1, có thể thấy cơ sở dữ liệu
quan hệ ngày càng được sử dụng nhiều hơn và cũng tiềm ẩn nhiều nguy cơ bị
tấn công hơn. Vì vậy, yêu cầu đặt ra là tìm các phương pháp nhằm đảm bảo
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
16
tính toàn vẹn của cơ sở dữ liệu quan hệ. Trong các phương pháp đó, thủy vân
cơ sở dữ liệu quan hệ là một phương án được nhiều sự quan tâm.
Tuy nhiên, như đã phân tích ở trên, không thể áp dụng trực tiếp các lược
đồ thủy vân dữ liệu đa phương tiện cho cơ sở dữ liệu quan hệ. Chính vì vậy,
xây dựng các lược đồ thủy vân cho cơ sở dữ liệu quan hệ là thực sự cần thiết.
1.3. Các yêu cầu cơ bản của thuỷ vân trên cơ sở dữ liệu quan hệ
Chúng ta có thể thấy rằng thủy vân các dữ liệu quan hệ có những thách
thức kỹ thuật đáng kể và có các ứng dụng thực tế có ý nghĩa xứng đáng được
quan tâm thích đáng từ phía cộng đồng những người nghiên cứu cơ sở dữ liệu
quan hệ. Cần phải xác định một hệ thống thủy vân và kèm theo đó là phát
triển các kỹ thuật nhất định. Những kỹ thuật này chắc chắn là sẽ dựa phần lớn
vào các nguyên tắc thủy vân đang tồn tại. Tuy nhiên, chúng cũng sẽ đòi hỏi
phải có những mở rộng và các sáng kiến mới.
Để minh họa cho sự khả thi của một lược đồ thủy vân cơ sở dữ liệu quan
hệ, trình bày một kỹ thuật hữu hiệu thỏa mãn những tiêu chuẩn của một hệ
thống thủy vân. Kỹ thuật này chỉ đánh dấu các thuộc tính kiểu số và giả thiết
là các thuộc tính được đánh dấu có thể chấp nhận những thay đổi nhỏ ở một
số giá trị. Ý tưởng cơ bản là đảm bảo tại một số vị trí bit của một số thuộc
tính trong một số bộ có chứa các giá trị nhất định. Các bộ, các thuộc tính
trong một bộ, các vị trí bit trong một thuộc tính và các giá trị bit nhất định này
đều phải được xác định một cách chính xác và logic dưới sự kiểm soát của
một khóa bí mật của chủ sở hữu quan hệ. Mẫu bit này sẽ hình thành ra thủy
vân. Chỉ duy nhất chủ sở hữu của khóa bí mật mới có thể tìm lại được thủy
vân với một xác suất cao. Các phân tích chi tiết chỉ ra rằng thủy vân này có
thể bền vững trước một loạt các tấn công gây hại khác nhau.
Để đơn giản trong khi biện luận, sử dụng ba nhân vật điển hình vẫn
thường được dùng trong các ví dụ về mật mã, giấu tin và thủy vân. Đó là một
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
17
cô gái tên là Alice và bạn trai của cô tên là Bob. Hai người này thường hay
gửi thư cho nhau và ở giữa là một anh chàng tên là Mallory thường xuyên làm
phiền họ.
Giả dụ, Alice là chủ nhân của quan hệ R chứa bộ, trong đó cô đã đánh
dấu bộ. Hệ thống thủy vân cần phải thỏa mãn những tính chất sau đây.
1.3.1. Khả năng có thể phát hiện
Alice cần phải có khả năng phát hiện thủy vân của cô bằng cách xem xét
bộ từ cơ sở dữ liệu quan hệ nghi ngờ. Rõ ràng là nếu mẫu bit của cô (thủy
vân) có mặt ở tất cả bộ thì cô có lý do xác đáng để nghi ngờ có sự sao chép
trái phép. Tuy nhiên, Alice cũng có thể ngờ vực ngay cả khi mẫu của cô chỉ
có mặt ở ít nhất là bộ ( ), trong đó phụ thuộc vào và một giá trị
cho trước, được gọi là mức ý nghĩa của phép thử. Giá trị của được xác định
sao cho xác suất để Alice sẽ tìm thấy mẫu bit của cô trong ít nhất bộ từ
bộ là nhỏ hơn .
Một hướng khác, Bob muốn xác nhận thư được gửi từ Alice là nguyên
vẹn không bị thay đổi trong quá trình gửi. Cơ sở dữ liệu quan hệ được gửi tới
từ Alice phải chứa đúng mẫu bit đã được nhúng. bộ sẽ được xem xét để xác
minh tính toàn vẹn của bức thư. Khi có bất kỳ thay đổi nào trong mẫu bit thì
bức thư đã bị ai đó sửa đổi. Bob có thể yêu cầu Alice gửi lại thư hoặc anh có
thể khoanh vùng các sai sót và vẫn có thể đọc được các nội dung bên trong.
1.3.2. Tính bền vững và dễ vỡ
Các thủy vân cần phải bền vững trước những tấn công nhằm xóa bỏ
chúng. Ví thể với tư cách là kẻ tấn công, Mallory thay đổi bộ trong quan hệ
R của Alice. Chúng ta nói rằng thủy vân là an toàn đối với tấn công này nếu
kẻ tấn công không thể phá hủy các dấu hiệu thủy vân ở ít nhất bộ, trong đó
phụ thuộc vào và như đã nói ở trên.
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
18
Ngược lại, trong các lược đồ thủy vân dễ vỡ, khi có bất kỳ tần công nào
lên dữ liệu thì các thủy vân cần không còn nguyên vẹn. Vì vậy, với tư cách
người tấn công, Mallory mong muốn thay đổi bộ trong quan hệ R của Alice
mà vẫn không làm thay đổi thủy vân. Khi đó, nếu những thay đổi của Mallory
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.
1.3.3. Khả năng cập nhật dữ liệu
Sau khi có quan hệ R đã thủy vân, Alice có thể cập nhật R khi cần thiết
mà không làm hỏng thủy vân. Khi Alice thêm/bớt các bộ hoặc sửa đổi các giá
trị của các thuộc tính của R, thủy vân cần phải có khả năng cập nhật trên
những phần gia tăng. Tức là, các giá trị thủy vân chỉ phải tính toán lại đối với
các bộ được thêm vào hoặc bị sửa đổi.
Tuy nhiên, khi quan hệ R đã được thủy vân được cập nhật dữ liệu thì Bob
sẽ xem đây là các tấn công trên quan hệ R. Để giải quyết vấn đề này, Alice có
thể cập nhật và thủy vân lại quan hệ R và gửi sang cho Bob. Vấn đề này giải
quyết cho bài toán đảm bảo tính toàn vẹn của quan hệ trong quá trình truyền
tải.
1.3.4. Tính ẩn và hiện
Hầu hết trong các lược đồ thủy vân, thuỷ vân có tính ẩn, không dễ nhận
thấy được bằng mắt thường của con người. Sự thay đổi do các dấu hiệu thuỷ
vân gây ra cho dữ liệu quan hệ không được làm giảm giá trị sử dụng của cơ sở
dữ liệu quan hệ. Hơn nữa, các phép đo thống kê thông thường như trung bình,
phương sai của các thuộc tính số cũng không nên 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
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
19
giá trị sử dụng của cơ sở dữ liệu quan hệ. 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 nào trên dữ liệu được nhúng.
1.3.5. Phát hiện mù
Việc phát hiện thuỷ vân không nên đòi hỏi các thông tin về cơ sở dữ liệu
quan hệ gốc và cả thuỷ vân gốc. Một hệ thống thủy vân như vậy được gọi là
hệ thống mù. Tính chất này rất quan trọng vì nó cho phép có thể phát hiện
thuỷ vân trong bản sao của cơ sở dữ liệu quan hệ cho dù quan hệ gốc đã được
cập nhật.
Tuy nhiên, để phát hiện mù được đối với cơ sở dữ liệu thì một số thông số
liên quan đến chủ sở hữu vẫn là cần thiết để chứng minh cơ sở dữ liệu thuộc
quyền sở hữu hoặc chứng minh tính toàn vẹn của cơ sở dữ liệu.
1.4. Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
Vì 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ị 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.4.1. Cập nhật thông thường
Giả sử Mallory lấy trộm dữ liệu của Alice mà không nhận ra nó đã được
thủy vân. Sau đó, Mallory có thể cập nhật dữ liệu đã ăn trộm khi anh ta sử
dụng nó. Kỹ thuật đánh dấu cần đảm bảo rằng Alice không bị mất thủy vân
của cô ngay trong các dữ liệu bị ăn trộm, thậm chí đối với cả những cập nhật
của Mallory. Tức là các phép toán cập nhật thông thường như xóa, sửa, bổ
sung các bộ trong cơ sở dữ liệu quan hệ.
Các kỹ thuật thuỷ vân cần đảm bảo rằng người chủ cơ sở dữ liệu quan hệ
không bị mất thuỷ vân ngay trong dữ liệu bị kẻ khác ăn trộm, thậm chí đối với
những cập nhật của tên trộm đó.
1.4.2. Tấn công có chủ đích
Soá hoùa bôûi Trung taâm Hoïc lieäu
http://lrc.tnu.edu.vn/
- Xem thêm -