Nội dung nghiên cứu và bố cục luận văn Luận văn được chia thành bốn chương: Chương 1: Tổng quan về thuỷ vân cơ sở dữ liệu quan hệ 1.1 Một số khái niệm cơ bản 1.2 Yêu cầu cơ bản của thu
Trang 1LUẬN VĂN THẠC SĨ CHUYÊN NGÀNH KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẤN KHOA HỌC: TS BÙI THẾ HỒNG
Thái nguyên - 2010
Trang 2Chương 1 TỔNG QUAN VỀ THUỶ VÂN CSDL QUAN HỆ 1
1.1 Một số khái niệm cơ bản 4
1.1.1 Thuỷ vân là gì ? 6
1.1.2 Thuỷ vân cơ sơ dữ liệu quan hệ là gì ? 7
1.1.3 Sự cần thiết của các kỹ thuật thuỷ vân CSDL quan hệ 8
1.2 Các yêu cầu cơ bản của thuỷ vân trên cơ sở dữ liệu quan hệ 10
1.2.1 Khả năng có thể phát hiện (Detectability) 11
1.2.2 Tính bền vững (Robustness) 11
1.2.3 Cập nhật phần tăng thêm (Incremental Updatability) 12
1.2.4 Không dễ cảm nhận được (Imperceptibility) 12
1.2.5 Hệ thống mù ( Blind System) 12
1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ 13
1.3.1 Cập nhật thông thường 13
1.3.2 Tấn công có chủ đích 13
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ 15
1.4.1 Bảo vệ bản quyền hoặc chứng minh quyền sở hữu 15
1.4.2 Nhận thực thông tin (Authentication) 15
1.5 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ 16
Chương 2 THỦY VÂN SỬ DỤNG CÁC BIT LSB 17
2.1 Chuẩn bị thuật toán 17
2.1.1 Đặt vấn đề 17
2.1.2 Các bít ít ý nghĩa nhất 18
2.1.3 Mã chứng thực thông điệp 19
2.2 Các thuật toán 19
Trang 32.2.2 Thuật toán nhúng thuỷ vân 20
2.2.3 Thuật toán phát hiện thuỷ vân 24
2.2.4 Một số lưu ý 26
2.2.5 Các quan hệ không có các khóa chính 27
2.3 Phân tích đánh giá thuật toán 28
2.3.1 Xác suất nhị thức tích luỹ 28
2.3.2 Hàm ngưỡng 29
Chương 3 THỦY VÂN SỬ DỤNG CÁC BIT Ý NGHĨA NHẤT 31
4.1 Giới thiệu 31
4.1.1 Mô hình thủy vân 32
4.1.2 Xác định bài toán 32
4.1.3 Lựa chọn các tập hợp con 33
4.2 Nhúng thủy vân 34
4.2.1 Mã hoá bít đơn 34
4.3 Phát hiện thủy vân 37
Chương 4 CÀI ĐẶT THỬ NGHIỆM 39
Kết luận 42
Tài liệu tham khảo 43
Trang 4Lời nói đầu
I Lý do chọn đề tài
Bảo vệ bản quyền, nhận thực thông tin, nhận dạng các đặc trưng duy nhất của dữ liệu quan hệ hiện đang là một nhu cầu cấp thiết và là thách thức mới đối với các kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ Việc quản lý bản quyền các dữ liệu quan hệ bằng thuỷ vân đã và đang trở thành một chủ đề quan trọng trong các nghiên cứu về cơ sở dữ liệu Thuỷ 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
Thực sự, qua nghiên cứu và thử nghiệm tôi thấy việc phát triển và cài đặt các kỹ thuật thủy vân cơ sở dữ liệu rất phức tạp và rất khó để thỏa mãn được những yêu cầu khắt khe của lĩnh vực bảo vệ bản quyền đối với loại dữ liệu này Những kết quả được trình bày trong báo cáo này là những tìm hiểu
và nghiên cứu bước đầu của tôi trong lĩnh vực mới này Chắc chắn là trong báo cáo này còn có nhiều khiếm khuyết Tôi mong rằng sẽ nhận được những ý kiến góp ý xác đáng giúp tôi có được kết quả tốt hơn
Trong thời gian tới, tôi hy vọng sẽ có cơ hội tiếp tục thực hiện hướng nghiên cứu mới này và có thể đạt được những kết quả sâu hơn và tốt hơn
II Mục đích nghiên cứu
Tìm hiểu các kỹ thuật thuỷ vân bảo vệ bản quyền cơ sở dữ liệu quan hệ
Cài đặt thử nghiệm thủy vân trên cơ sở dữ liệu quan hệ dựa vào các bit LSB và MSB
Trang 5III Nhiệm vụ nghiên cứu
Hiểu rõ cơ sở lý luận và toán học của các kỹ thuật giấu tin và các kỹ thuật thuỷ vân
Phát triển các chương trình cài đặt lược đồ thuỷ vân bảo vệ bản quyền
cơ sở dữ liệu quan hệ
IV Phạm vi nghiên cứu
Nghiên cứu, đánh giá các kỹ thuật thuỷ vân
Các công cụ lập trình và phần mềm dùng để cài đặt các lược đồ nhúng
và giải thuỷ vân
V Phương pháp nghiên cứu
Sưu tầm tìm hiểu các tài liệu, các kết quả nghiên cứu về giấu tin và thuỷ vân
Đánh giá các kỹ thuật thuỷ vân đã biết
Cải tiến, mở rộng các kỹ thuật thuỷ vân đã biết nhằm mục đích thu được kết quả tốt hơn
Cài đặt thử nghiệm trên những cải tiến được đưa ra
VI Nội dung nghiên cứu và bố cục luận văn
Luận văn được chia thành bốn chương:
Chương 1: Tổng quan về thuỷ vân cơ sở dữ liệu quan hệ
1.1 Một số khái niệm cơ bản
1.2 Yêu cầu cơ bản của thuỷ vân cơ sở dữ liệu quan hệ
1.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
1.5 Các kỹ thuật thuỷ vân cơ sở dữ liệu quan hệ
Trang 6Chương 2: Thuỷ vân sử dụng các bit LSB
2.1 Chuẩn bị thuật toán
2.2 Các thuật toán
2.3 Phân tích đánh giá thuật toán
Chương 3: Thuỷ vân sử dụng các bit MSB
3.1 Giới thiệu
3.2 Nhúng thuỷ vân
3.3 Phát hiện thuỷ vân
Chương 4: Cài đặt thử nghiệm
Trang 7Chương 1: TỔNG QUAN VỀ THUỶ VÂN CSDL QUAN HỆ
Tính năng an toàn và bảo mật thông tin của kỹ thuật giấu tin được thể hiện ở hai khía cạnh Một là bảo vệ cho dữ liệu đem giấu và hai là bảo vệ cho chính đối tượng được sử dụng để giấu tin Tương ứng với hai khía cạnh đó chúng ta có hai khuynh hướng kỹ thuật rõ ràng đó là giấu tin mật (Steganography) mà chúng ta đã tìm hiểu trong các chương trước) và thuỷ vân
số (Watermarking)
Trong kỹ thuật giấu tin mật, thông tin cần giấu được gọi là thông điệp (Message) còn trong kỹ thuật thuỷ vân số thì được gọi là thuỷ vân (Watermark) Thuỷ vân có thể là một chuỗi các kí tự, hay một hình ảnh, logo nào đó
Nói đến thuỷ vân số là nói đến kỹ thuật giấu tin nhắm đến những ứng dụng bảo đảm an toàn dữ liệu cho đối tượng được sử dụng để giấu tin như: bảo vệ bản quyền, chống xuyên tạc, nhận thực thông tin, điều khiển sao chép v.v…Có thể thấy rõ là phần ứng dụng của thủy vân rất lớn, mỗi ứng dụng lại
có những yêu cầu riêng và tính chất riêng, do đó các kỹ thuật thuỷ vân cũng
có những tính năng khác biệt tương ứng:
Trang 8Hình 1 Phân loại các kỹ thuật thuỷ vân
Các kỹ thuật thuỷ vân trên Hình 1 được phân biệt nhau bởi những đặc trưng, tính chất của từng kỹ thuật và ứng dụng những kỹ thuật đó Thuỷ vân
“dễ vỡ” (Fragile) là kỹ thuật nhúng thuỷ vân vào trong ảnh sao cho khi phân
bố sản phẩm trong môi trường mở nếu có bất cứ một phép biến đổi nào làm thay đổi đối tượng sản phẩm gốc thì thuỷ vân đã được giấu trong đối tượng sẽ không còn nguyên vẹn như trước khi giấu nữa (dễ vỡ) Các kỹ thuật thuỷ vân
có tính chất này được sử dụng trong các ứng dụng nhận thực thông tin (Authentication) và phát hiện xuyên tạc thông tin (Tamper detection)
Thuỷ vân bền vững lại được chia thành hai loại là thuỷ vân ẩn và thuỷ vân hiển Thuỷ vân hiển là loại thuỷ vân được hiện ngay trên sản phẩm và người dùng có thể nhìn thấy được giống như các biểu tượng kênh chương trình vô tuyến mà chúng ta thường thấy VTV3, CCTV, TV5…
Robust Copyright marking
Thuỷ vân “dễ vỡ”
Visible Watermarking
Thuỷ vân hiện
Trang 91.1 Một số khái niệm cơ bản
1.1.1 Thuỷ vân là gì ?
Từ “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, một logo, 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 có thể là một chuỗi các ký tự, hay một hình ảnh, logo nào đó Thuỷ vân mô tả thông tin có thể được dùng để chứng minh quyền sở hữu hoặc chống xuyên tạc
Có hai loại thuỷ vân, đó là : thuỷ vân bền vững và thuỷ dễ vỡ
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 dễ bị biến đổi trước
những biến đổ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 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 Các kỹ thuật thuỷ vân này đã đượ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 (image, text, audio, video, ), hay các 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ệtt là image) đượ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 nhiên,
Trang 10hiện nay người ta đ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ệ bởi nhu cầu cấp thiết của người chủ cơ sở dữ liệu đó là muốn bảo vệ chúng trước những tấn công bên ngoài,
1.1.2 Thuỷ vân cơ sơ dữ liệu quan hệ là gì ?
Ngày nay, việc sử dụng các cơ sở dữ liệu trong các ứng dụng càng ngày càng tăng lên đang tạo ra một nhu cầu tương tự đối với thủy vân cơ sở dữ liệu Internet hiện đang đưa đến một sức ép rất nặng nề cho những người 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 sử dụng tìm kiếm và truy cập cơ sở dữ liệu từ xa Mặc dù xu hướng này là hữu ích cho người dùng cuối nhưng nó cũng bộc lộ một mối nguy hiểm cho những nhà cung cấp dữ liệu trước những
kẻ trộm cắp dữ liệu Do đó, những người cung cấp dữ liệu đòi hỏi phải có công nghệ nhận dạng được những bản sao các cơ sở dữ liệu của họ bị đánh cắp
Cho dù có khá nhiều điều có thể học hỏi được từ các kết quả đã đạt được về thủy vân dữ liệu đa phương tiện nhưng cho đến nay vẫn còn rất nhiều thách thức kỹ thuật mới đối với lĩnh vực thủy vân các cơ sở dữ liệu quan hệ bởi vì các dữ liệ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 chuẩn trong cơ sở dữ liệu Do những khác nhau này mà các kỹ thuật được phát triển cho các dữ liệu đa phương tiện không thể được sử dụng trực tiếp để thủy vân các quan hệ
Trang 11Thuỷ 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 dữ liệu quan hệ Thuỷ vân cơ sở dữ liệu quan hệ là thuỷ vân ẩn, bền vững
Một thuỷ vân có thể được áp dụng cho bất kỳ một cơ sở dữ liệu quan hệ nào có các thuộc tính mang một đặc điểm là những thay đổi nhỏ tại một số giá trị của chúng không làm ảnh hưởng đến các ứng dụng
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
Đố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
1.1.3 Sự cần thiết của các kỹ thuật thuỷ vân CSDL 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 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:
Trang 12 Một đối tượng đa phương tiện chứa một lượng rất lớn các bít với sự dư thừa đáng kể Vì vậy, các kỹ thuật thuỷ vân có một cái mặt nạ (vỏ) rất rộng để có thể giấu tin vào trong Trong khi đó, một quan hệ cơ sở dữ liệu 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
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 Nhưng 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 không cần phải
áp đặt một thứ tự nào giữa các đối tượng này
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 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
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
Trang 13và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 kỹ thuật 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 format 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 đơn giản thì rất khó áp dụng
1.2 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 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ệ, chúng tôi 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ộ,
Trang 14cá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ủ nhân quan hệ Mẫu bit này sẽ hình
thành ra thủy vân Chỉ duy nhất chủ nhân của khóa bí mật mới có thể tìm lại
được thủy vân với một xác suất cao Các phân tích chi tiết của chúng tôi chỉ ra rằng thủy vân này có thể đứng vững trước một lọat các tấn công gây hại khác nhau
Để đơn giản trong khi biện luận, chúng tôi 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 cô gái tên là B và bạn trai của B tên là C 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à A thường xuyên làm phiền họ
Giả dụ, B là chủ nhân của quan hệ R chứa bộ, trong đó B đã đánh dấu bộ Hệ thống thủy vân cần phải thỏa mãn những tính chất sau đây
1.2.1 Khả năng có thể phát hiện (Detectability)
B cần phải có khả năng phát hiện thủy vân của B bằng cách xem xét
bộ từ cơ sở dữ liệu nghi ngờ Rõ ràng là nếu mẫu bít của B (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, B cũng có thể ngờ vực ngay cả khi mẫu của B 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
để B sẽ tìm thấy mẫu bit của B trong ít nhất bộ từ bộ là nhỏ hơn
1.2.2 Tính bền vững (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ỏ chúng Ví thể với tư cách là kẻ tấn công, A thay đổi bộ trong quan hệ R của
Trang 15B 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
1.2.3 Cập nhật phần tăng thêm (Incremental Updatability)
Sau khi có quan hệ R đã thủy vân, B có thể cập nhật R khi cần thiết mà
không làm hỏng thủy vân Khi B 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 tóan lại đối với các bộ được thêm vào hoặc bị sửa đổi
1.2.4 Không dễ cảm nhận được (Imperceptibility)
Thuỷ vân ẩ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 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ể
1.2.5 Hệ thống mù ( Blind System)
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 gốc và cả thuỷ vân gốc Một hệ thống thủy vân như vậy được gọ 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 quan hệ cơ sở dữ liệu cho dù quan hệ gốc đã được cập nhật
Trang 161.3 Những tấn công trên hệ thuỷ vân cơ sở dữ liệu quan hệ
Vì các quan hệ cơ sở dữ liệu 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
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 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.3.2 Tấn công có chủ đích
A có thể biết dữ liệu anh ta ăn trộm có chứa thủy vân, nhưng anh ta có thể cố xóa thủy vân này hoặc thử dùng các phương tiện khác để đòi quyền sở hữu trái phép
Hệ thống đánh dấu cần phải bảo vệ B trước những tấn công gây hại của
Trang 17Một số tấn công gây hại như :
Tấn công vào các bít: 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 một số bít Nếu tên trộm A có thể thay đổi tất cả các bít, thì anh ta 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 của anh ta 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 số bít mà A và B 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í bít nào đó Một tấn công zero hoá đặt các giá trị của một số vị trí bít bằng zero Một tấn công đổi bít sẽ đổi giá trị của một số vị trí bít từ
0 thành 1 hoặc ngược lại từ 1 thành 0 Các phép cập nhật thông thường có thể được coi là một 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 có thể thử làm mất các
dấu hiệu 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 Anh ta 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 anh ta đoán non thì tấn công có thể không thành công Nếu đoán già, 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 của anh ta 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: A có thể cộng thêm thủy vân của anh ta vào quan hệ đã
thủy vân của B và đòi quyền sở hữu
Trang 18 Tấn công ngược lại: A 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 Cái thủy vân mà A công bố thực ra chỉ là một xuất hiện ngẫu nhiên mà thôi
1.4 Các ứng dụng chủ yếu của thuỷ vân cơ sở dữ liệu quan hệ
1.4.1 Bảo vệ bản quyền hoặc chứng minh quyền sở hữu
Ngày nay, việc bảo vệ bản quyền hoặc chứng minh quyền sở hữu
(Copyright Protection or Proving Ownership) đối với các nguồn cơ sở dữ liệu
quan hệ ở bên ngoài là một vấn đề quan trọng trong các môi trường ứng dụng dựa vào Internet và trong nhiều ứng dụng phân phối dữ liệu Đây là ứng dụng
cơ bản nhất của kỹ thuật thuỷ vân Một thông tin nào đó (hay còn gọi là thuỷ vân) mang ý nghĩa quyền sở hữu sẽ được nhúng vào trong dữ liệu quan hệ Thuỷ vân đó chỉ một mình người chủ sở hữu hợp pháp cơ sở dữ liệu đó có và được dùng làm minh chứng cho bản quyền sản phẩm
1.4.2 Nhận thực thông tin (Authentication)
Một tập thông tin sẽ được giấu trong cơ sở dữ liệu quan hệ Sau đó, các thông tin này sẽ được sử dụng để nhận biết xem dữ liệu gốc có bị thay đổi hay không Bằng kỹ thuật thuỷ vân, người ta có thể lấy thông tin đã giấu vào trong
dữ liệu quan hệ đó ra Nếu thông tin lấy ra trùng với thông tin ban đầu đem giấu thì chứng tỏ dữ liệu gốc không bị thay đổi Ngược lại, thông tin lấy ra và thông tin ban đầu có sự khác biệt thì chứng tỏ dữ liệu đã bị thay đổi, xuyên tạc Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc, cũng như phân biệt được các thay đổi
Trang 191.5 Các kỹ thuật thủy vân cơ sở dữ liệu quan hệ
Thuỷ vân trên cơ sở dữ liệu quan hệ là một kỹ thuật mới và rất phức tạp Cho đến nay mới chỉ có một vài cách tiếp cận bài toán thuỷ vân cơ sở dữ liệu quan hệ Việc lựa chọn kỹ thuật nào là tuỳ thuộc vào yêu cầu của ứng dụng Một số kỹ thuật thuỷ vân trên cơ sở dữ liệu quan hệ như:
Kỹ thuật thuỷ vân sử dụng các bít ít ý nghĩa nhất (LSB)
Kỹ thuật thuỷ vân sử dụng các bít ý nghĩa nhất (MSB)
Trong các chương tiếp theo, chúng ta sẽ tìm hiểu kỹ các kỹ thuật này
Trang 20Chương 2: THỦY VÂN SỬ DỤNG CÁC BIT LSB
2.1 Chuẩn bị thuật toán
2.1.1 Đặt vấn đề
Kỹ thuật thủy vân sử dụng các bit LSB chỉ đánh dấu các thuộc tính kiểu
số và giả thiết rằng các thuộc tính được đánh dấu này là những thuộc tính mà những thay đổi nhỏ tại một số giá trị của chúng là chấp nhận được và không
lộ rõ Tất cả các thuộc tính số của một quan hệ không nhất thiết đều phải được đánh dấu Người chủ của dữ liệu này có trách nhiệm quyết định thuộc tính nào phù hợp với việc đánh dấu
Chúng ta sẽ thủy vân một quan hệ cơ sở dữ liệu R với lược đồ
R(P ; A 0 , , A - 1)
trong đó, P là thuộc tính khóa chính (mục 2.2.5 sẽ trình bày các mở rộng cho
trường hợp thủy vân một quan hệ không có một thuộc tính khóa chính)
Để đơn giản, có thể giả thiết là tất cả thuộc tính A0 , , A - 1 đều có thể là ứng cử viên đề thủy vân Chúng đều là các thuộc tính kiểu số và các giá trị của chúng có một tính chất là những thay đổi ở bits ít ý nghĩa nhất của chúng đều không cảm nhận được
là một tham số điều khiển dùng để xác định số các bộ cần đánh dấu
Số các bộ cần đánh dấu được ước tính bằng công thức: /
thường được cân đối với để xác định phạm vi của các thay đổi được phép
tiến hành đối với các giá trị của một thuộc tính Nếu có ít bộ được đánh dấu thì có khi phải tiến hành các thay đổi lớn hơn đối với các giá trị của các thuộc tính đã đánh dấu
Trang 21Gọi r.A i là giá trị của thuộc tính Ai trong bộ r R Hình 1 tổng hợp tất cả các
tham số quan trọng được sử dụng trong các thuật toán Các thuật toán này có
sử dụng đến các mã được gọi là chứng thực thông điệp Các mã này được mô
tả ngắn gọn trong mục sau đây
Số các bộ trong quan hệ
Số các thuộc tính trong quan hệ sẵn sàng để đánh dấu
Số các bit ít ý nghĩa nhất sẵn sàng để đánh dấu trong
một thuộc tính
Tỷ lệ các bộ được đánh dấu
Số các bộ được đánh dấu
mức ý nghĩa của phép thử để phát hiện một thủy vân
Số lượng tối thiểu các bộ được đánh dấu một cách đúng
đắn cần có để có thể phát hiện được thủy vân
Trang 222.1.3 Mã chứng thực thông điệp
Cho hàm băm một chiều H thao tác trên một thông điệp đầu vào có độ dài tùy
ý M và cho trở lại một giá trị băm có độ dài cố định h:
h = H(M)
Hàm này có các đặc trưng sau:
i) với M đã cho, có thể dễ dàng tính được h,
ii) với h đã cho, khó có thể tính được M sao cho H(M) = h, và
iii) với M đã cho, khó có thể tìm được một thông điệp khác M 0 sao cho
H(M) = H(M 0 )
Trong thực tế, các hàm băm MD5 và SHA rất thích hợp đối với H
Mã chứng thực thông điêp (Message Authenticated Code - MAC) là một hàm băm một chiều phụ thuộc khóa
Cho F là một MAC dùng để ngẫu nhiên hóa các giá trị của thuộc tính khóa chính r.P của bộ r và cho trở lại một giá trị nguyên thuộc một miền rộng F được gieo giống là một khóa bí mật K chỉ chủ dữ liệu được biết Chúng tôi sử
dụng hàm MAC sau đây:
Trang 23Ý tưởng cơ bản của kỹ thuật này là đảm bảo tại một số vị trí bít 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í bít trong một thuộc tính và các giá trị bít 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 khoá bí mật K của chủ nhân quan hệ Mẫu bít này sẽ hình
thành ra thuỷ vân Chỉ duy nhất chủ nhân của khoá bí mật mới có thể tìm lại
được thuỷ vân với xác suất cao
2.2.1 Mô hình thuỷ vân
Hình 2: Mô hình thuỷ vân sử dụng các bít ít ý nghĩa nhất
2.2.2 Thuật toán nhúng thuỷ vân
Thuật toán này có sử dụng mã chứng thực thông điệp MAC đã nói đến trong
phần 2.1.3 ở trên, F(r.P) = H(K o H(K o r.P))
Input: Khoá bí mật K chỉ có chủ cơ sở dữ liệu biết, và các tham số
, , cũng được chủ cơ sở dữ liệu xác định
Output: Bộ dữ liệu được thuỷ vân
// Khóa bí mật K, chỉ có chủ cơ sở dữ liệu biết
Kênh tấn công
Phát hiện thuỷ vân
Nhúng thuỷ vân
Khoá bí mật, K
Dữ liệu, R
Dữ liệu được thuỷ vân, R W
Thuỷ vân được phát hiện
W R =(100100100….)
Dữ liệu bị tấn công , R’ W
Trang 24// Các tham số , và cũng là của riêng chủ cơ sở dữ liệu
1) for each tuple r R do
2) if (F(r.P ) mod equals 0) then // đánh dấu bộ này
3) attribute_index i = F(r.P ) mod // đánh dấu thuộc tính Ai
4) bit_index j = F(r.P ) mod // đánh dấu bit thứ j
5) r.A i = mark(r.P, r A i , j) // gọi thủ tục mark
6) mark(primary_key pk, number , bit index j) return number // thủ tục mark
7) first_hash = H(K pk)
8) if (first_hash is even) then
9) set the jth least significant bit of to 0
10) else
11) set the jth least significant bit of v to 1
12) return v
Hình 3: Thuật toán nhúng thủy vân
Hình 3 là mô tả của thuật toán nhúng thủy vân bao gồm các dòng lệnh:
Dòng 2 xác định xem bộ đang xét có được chọn để đánh dấu không Vì
hàm MAC được sử dụng nên chỉ người chủ của khóa bí mật K mới có thể
dễ dàng xác định được những bộ nào phải được đánh dấu
Đối với một bộ đã chọn, dòng 3 sẽ xác định thuộc tính nào sẽ được đánh dấu trong số thuộc tính ứng cử viên