Tài liệu Luận văn Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng giải thuật di truyền: Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Họ và tên tác giả
VŨ VĂN HUY
Tên đề tài
THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ DỰA
TRÊN KỸ THUẬT TỐI ƢU HOÁ ÁP DỤNG
GIẢI THUẬT DI TRUYỀN
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
Thái Nguyên - 2009
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Họ và tên tác giả
VŨ VĂN HUY
Tên đề tài
THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ DỰA
TRÊN KỸ THUẬT TỐI ƢU HOÁ ÁP DỤNG
GIẢI THUẬT DI TRUYỀN
Chuyên ngành: Khoa học máy tính
Mã số: 604801
LUẬN VĂN THẠC SĨ 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 - 2009
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ
thuật tối ƣu hoá áp dụng giải thuật di truyền” này là công trình nghiên cứu
của riêng tôi. Các số liệu sử dụng trong luận văn là trung thực. Các kết quả
nghiên cứu được trình bày trong luận văn c...
63 trang |
Chia sẻ: hunglv | Lượt xem: 1450 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Luận văn Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu hoá áp dụng giải thuật di truyền, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Họ và tên tác giả
VŨ VĂN HUY
Tên đề tài
THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ DỰA
TRÊN KỸ THUẬT TỐI ƢU HOÁ ÁP DỤNG
GIẢI THUẬT DI TRUYỀN
LUẬN VĂN THẠC SĨ NGÀNH KHOA HỌC MÁY TÍNH
Thái Nguyên - 2009
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
KHOA CÔNG NGHỆ THÔNG TIN
Họ và tên tác giả
VŨ VĂN HUY
Tên đề tài
THỦY VÂN CƠ SỞ DỮ LIỆU QUAN HỆ DỰA
TRÊN KỸ THUẬT TỐI ƢU HOÁ ÁP DỤNG
GIẢI THUẬT DI TRUYỀN
Chuyên ngành: Khoa học máy tính
Mã số: 604801
LUẬN VĂN THẠC SĨ 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 - 2009
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ
thuật tối ƣu hoá áp dụng giải thuật di truyền” này là công trình nghiên cứu
của riêng tôi. Các số liệu sử dụng trong luận văn là trung thực. Các kết quả
nghiên cứu được trình bày trong luận văn chưa từng được công bố tại bất kỳ
công trình nào khác.
Vũ Văn Huy
LỜI NÓI ĐẦU
Để hoàn thành luận văn này, trước tiên tôi xin chân thành cảm ơn sự
chỉ bảo tận tình của TS Bùi Thế Hồng, người đã nhiệt tình chỉ bảo góp ý giúp
tôi hoàn thành luận văn này.
Tôi xin chân thành cảm ơn Khoa Công nghệ thông tin – Đại học Thái
Nguyên, Viện Công nghệ thông tin đã tạo điều kiện giúp tôi hoàn thành luận
văn này.
Tôi xin chân thành cảm ơn bạn Võ Phúc Nguyên – Gv Khoa Điện Tử
- ĐH Kỹ thuật công nghiệp Thái Nguyên đã trợ giúp tôi rất nhiều trong quá
trình hoàn thành luận văn này.
Lời sau cùng tôi xin chân thành cảm ơn những người thân trong gia
đình cùng các bạn đồng nghiệp đã động viên tôi hoàn thành luận văn này.
Vũ Văn Huy
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 1 -
MỤC LỤC
MỤC LỤC ......................................................................................................................... 1
DANH MỤC CÁC THUẬT NGỮ ....................................................................................... 3
DANH MỤC CÁC HÌNH VẼ ............................................................................................. 4
DANH MỤC CÁC BẢNG BIỂU......................................................................................... 5
MỞ ĐẦU ........................................................................................................................... 6
1. Lý do lựa chọn đề tài ................................................................................................. 6
2. Mục tiêu nghiên cứu .................................................................................................. 7
3. Phạm vi nghiên cứu................................................................................................... 7
4. Phƣơng pháp nghiên cứu .......................................................................................... 7
5. Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài ....................................................... 8
6. Cấu trúc của luận văn ............................................................................................... 8
CHƢƠNG 1 – TỔNG QUAN VỀ THUỶ VÂN VÀ GIẢI THUẬT DI TRUYỀN .................... 9
1.1. Cơ bản về kỹ thuật giấu tin ................................................................................... 10
1.1.1. Khái niệm về giấu tin .................................................................................... 10
1.1.2. Phân loại các kỹ thuật giấu tin ...................................................................... 10
1.1.3. Mục đích của giấu tin ................................................................................... 12
1.1.4. Môi trƣờng giấu tin....................................................................................... 12
1.2. Cơ bản về thuỷ vân ............................................................................................... 14
1.2.1. Khái niệm thuỷ vân ....................................................................................... 14
1.2.2. Một số vấn đề có liên quan đến thuỷ vân ....................................................... 16
1.2.3. Khái niệm thuỷ vân cơ sở dữ liệu .................................................................. 17
1.3. Một số ứng dụng của thuỷ vân .............................................................................. 18
1.3.1. Bảo vệ bản quyền tác giả (copyright protection) ........................................... 18
1.3.2. Phát hiện xuyên tạc thông tin (authentication and tamper detection)............. 18
1.3.3. Lấy dấu vân tay hay dán nhãn (fingerprinting and labeling) ......................... 19
1.3.4. Điều khiển thiết bị (Device control) .............................................................. 19
1.3.5. Theo dõi quá trình sử dụng (Tracking) .......................................................... 19
1.3.6. Theo dõi truyền thông (Broadcast Monitoring) ............................................. 19
1.3.7. Truyền tin bí mật (Concealed Communication) ............................................. 20
1.4. Giải thuật di truyền .............................................................................................. 20
CHƢƠNG 2 – THỰC TRẠNG NGHIÊN CỨU THUỶ VÂN CƠ SỞ DỮ LIỆU QUAN HỆ 22
2.1. Tình hình nghiên cứu trong nƣớc ......................................................................... 22
2.2. Tình hình nghiên cứu trên thế giới ........................................................................ 22
2.2.1. Theo kiểu dữ liệu (Data type) ........................................................................ 23
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 2 -
2.2.2. Theo kiểu biến dạng (Distortion) .................................................................. 23
2.2.3. Theo độ nhạy (Sensitivity) ............................................................................. 24
2.2.4. Theo thông tin thuỷ vân (watermark information) ......................................... 25
2.2.5. Tính kiểm tra đƣợc ........................................................................................ 26
2.2.6. Theo cấu trúc dữ liệu (Data structure) .......................................................... 27
CHƢƠNG 3 – NỘI DUNG VÀ CÁC KẾT QUẢ NGHIÊN CỨU ....................................... 29
3.1. Phân hoạch dữ liệu .............................................................................................. 29
3.2. Nhúng thuỷ vân .................................................................................................... 33
3.2.1. Mã hoá bit đơn ............................................................................................. 34
3.2.2. Áp dụng giải thuật di truyền giải bài toán tối ƣu ........................................... 38
3.2.3. Thuật toán nhúng thuỷ vân ............................................................................ 41
3.2.4. Đánh giá ngƣỡng giải mã ............................................................................. 42
3.3. Giải mã thuỷ vân .................................................................................................. 46
3.4. Kết quả thực nghiệm ............................................................................................ 48
KẾT LUẬN VÀ KIẾN NGHỊ ............................................................................................ 52
PHỤ LỤC ....................................................................................................................... 54
TÀI LIỆU THAM KHẢO.................................................................................................. 57
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 3 -
DANH MỤC CÁC THUẬT NGỮ
MSB (Most significant bit): Bit ý nghĩa nhất
LSB (Least significant bit): Bit ít ý nghĩa nhất
MAC (Message Authentication Code) : Mã xác thực thông điệp
GA (Genetic Algorithms): Giải thuật di truyền
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 4 -
DANH MỤC CÁC HÌNH VẼ
Hình 1.1. 1. Một cách phân loại kỹ thuật giấu tin ............................................................. 11
Hình 3. 1. Cách phân hoạch bộ dữ liệu ........................................................................... 32
Hình 3. 2. Thống kê phân bố tập Xmax, Xmin và cách lấy ngưỡng T*............................ 45
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 5 -
DANH MỤC CÁC BẢNG BIỂU
Bảng 1. Danh mục các ký hiệu ........................................................................................ 30
Bảng 2. Thống kê các tấn công với số lần tấn công là 20 ................................................. 51
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 6 -
MỞ ĐẦU
1. Lý do lựa chọn đề tài
2. Mục tiêu nghiên cứu
3. Phạm vi nghiên cứu
4. Phƣơng pháp nghiên cứu
5. Ý nghĩa khoa học và ý nghĩa thực tiễn
6. Cấu trúc của luận văn
1. Lý do lựa chọn đề tài
Ngày nay, các ứng dụng và các sản phẩm số trong đó bao gồm cả các
cơ sở dữ liệu quan hệ được phát triển và phân phối rộng khắp trong môi
trường Internet, vì vậy việc chứng minh quyền sở hữu đối với các sản phẩm
này sau khi chuyển giao là một vấn đề rất cần thiết. Việc thực thi quyền sở
hữu dữ liệu là một yêu cầu quan trọng đòi hỏi các giải pháp đồng bộ, bao gồm
các khía cạnh về kỹ thuật, về tổ chức, và cả luật pháp. Mặc dù vẫn chưa có
được những giải pháp toàn diện như vậy nhưng trong các năm gần đây, các kỹ
thuật thuỷ vân đã đóng một vai trò quyết định nhằm giải quyết vấn đề về
quyền sở hữu này.
Hiện nay, mới chỉ có một vài cách tiếp cận đối với bài toán thuỷ vân dữ
liệu quan hệ được đề xuất. Tuy nhiên, những kỹ thuật này không bền vững
trước các tấn công thông thường và các tấn công gây hại, vì vậy cần có một
kỹ thuật thủy vân cơ sở dữ liệu quan hệ có độ bền vững cao hơn nhất là đối
với các tấn công xoá, sửa, và chèn các bản ghi.
Luận văn “thủy vân cơ sở dữ liệu quan hệ dựa trên kỹ thuật tối ưu
hoá áp dụng giải thuật di truyền” trình bày kỹ thuật thuỷ vân cơ sở dữ liệu
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 7 -
dựa vào kỹ thuật tối ưu hoá. Kỹ thuật này phải đảm bảo bền vững trước các
tấn công thêm, bớt và thay đổi giá trị của các bộ trong quan hệ.
2. Mục tiêu nghiên cứu
Mục tiêu chính của luận văn là đi sâu nghiên cứu kỹ thuật tối ưu hoá để
mã hoá và giải mã thuỷ vân. Trong đó tập trung nghiên cứu kỹ thuật phân
hoạch dữ liệu không phụ thuộc vào các bộ được đánh dấu để định vị các phân
hoạch; nghiên cứu cách giải bài toán tối ưu bằng giải thuật di truyền với các
ràng buộc trên thuộc tính được chọn để tiến hành thủy vân, và nghiên cứu kỹ
thuật phát hiện thủy vân dựa vào một ngưỡng tối ưu.
3. Phạm vi nghiên cứu
Phạm vi nghiên cứu của đề tài là đi sâu nghiên cứu về mặt lý thuyết của
thuỷ vân và áp dụng cho cơ sở dữ liệu quan hệ.
Nghiên cứu về cơ chế mã hoá và giải mã thuỷ vân cơ sở dữ liệu quan
hệ dựa trên kỹ thuật tối ưu hoá áp dụng thuật toán di truyền.
4. Phƣơng pháp nghiên cứu
Luận văn này là luận văn thuộc ngành kỹ thuật chuyên ngành khoa học
máy tính nên 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.
Cụ thể trong luận văn này, tác giả lấy thông tin tiêu thụ điện làm cơ sở
dữ liệu phục vụ cho nghiên cứu; nghiên cứu về lý thuyết thuỷ vân; nghiên cứu
về cách giải bài toán tối ưu hoá bằng giải thuật di truyền; sử dụng phần mềm
Matlab để lập trình kiểm chứng lý thuyết.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 8 -
5. Ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài
Đưa ra cơ sở khoa học của việc áp dụng kỹ thuật tối ưu hoá để mã hoá
và giải mã thuỷ vân trong đó sử dụng giải thuật di truyền để giải quyết bài
toán tối ưu hoá.
Kết quả nghiên cứu của đề tài rất có ý nghĩa trong việc chứng minh
quyền sở hữu đối với các sản phẩm số hoá, đặc biệt là trong cơ sở dữ liệu
quan hệ sau khi đã phân phối hoặc chuyển giao. Đồng thời việc chứng minh
quyền sở hữu 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.
6. Cấu trúc của luận văn
Ngoài phần mở đầu và phần kết luận, luận văn được trình bày thành ba
chương như sau:
- Chƣơng 1. Tổng quan về thuỷ vân và giải thuật di truyền.
Chương này chủ yếu trình bày về các thông tin cơ bản của kỹ thuật
giấu tin, các khái niệm cơ bản về thuỷ vân và ứng dụng thực tiễn của
thuỷ vân, sơ lược về giải thuật di truyền.
- Chƣơng 2. Thực trạng nghiên cứu về thuỷ vân cơ sở dữ liệu
quan hệ.
Chương này chủ yếu trình bày về thực trạng nghiên cứu về thuỷ vân
cơ sở dữ liệu quan hệ ở trong nước và trên thế giới.
- Chƣơng 3. Nội dung và các kết quả nghiên cứu.
Chương này đi sâu mô tả chi tiết lý thuyết các bước tiến hành thí
nghiệm áp dụng kỹ thuật tối ưu hoá cho mã hoá và giải mã thuỷ vân số.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 9 -
CHƢƠNG 1 – TỔNG QUAN VỀ THUỶ VÂN VÀ
GIẢI THUẬT DI TRUYỀN
1. Cơ bản về giấu tin
2. Cơ bản về thuỷ vân
3. Một số ứng dụng của thuỷ vân
4. Giải thuật di truyền
Thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã hội và
trong cuộc sống của chúng ta ngày nay. Những thuận lợi mà thông tin kỹ
thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho xã hội hiện
đại. Mạng Internet toàn cầu đã biến thành một xã hội ảo nơi diễn ra quá trình
trao đổi thông tin trong mọi lĩnh vực của đời sống. Và chính trong môi trường
mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến
các giải pháp hữu hiệu cho các vấn đề an toàn thông tin như nạn ăn cắp bản
quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép, sao chép bất
hợp pháp các sản phẩm trí tuệ số v.v..
Giải pháp cho những vấn đề trên đã được biết đến và áp dụng đó là giải
pháp giấu tin (DataHiding), được nghiên cứu phát triển trong khoảng hơn
chục năm gần đây. Trong đó thuỷ vân (watermark) là một thành phần của
phương pháp giấu tin.
Giấu thông tin bao gồm hai kỹ thuật chính là thuỷ ấn (watermarking)
và giấu tin bí mật (steganograph) đang được quan tâm nghiên cứu và phát
triển. Các thành tựu đạt được trong lĩnh vực nghiên cứu này đã bắt đầu được
áp dụng hiệu quả cho mục đích bảo vệ bản quyền, chống sao chép, phân tán
trái phép các sản phẩm trong môi trường số hoá và nhiều mục đích khác.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 10 -
Nhiều phương pháp giấu thông tin khác nhau đã được đề xuất, mỗi phương
pháp có những ưu điểm, nhược điểm riêng và thích hợp cho một nhóm các
ứng dụng.
1.1. Cơ bản về kỹ thuật giấu tin
1.1.1. Khái niệm về giấu tin
Giấu thông tin (Datahiding) là kỹ thuật nhúng (embedding) 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. Đây là
phương pháp đã và đang được rất nhiều nước trên thế giới nghiên cứu và ứng
dụng rất mạnh mẽ.
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 hiện rõ là nó 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.
1.1.2. Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu thông tin số 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à
watermarking và steganography
Steganography quan tâm tới ứng dụng che giấu các bản tin đòi hỏi độ
bí mật cao và dung lượng lớn.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 11 -
Watermark (thủy vân) quan tâm nhiều đến ứng dụng giấu các mẩu tin
ngắn nhưng đòi hỏi độ bền vững lớn của thông tin cần giấu (trước các biến
đổi thông thường của tệp dữ liệu môi trường).
Hình 1.1. 1. Một cách 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
watermark 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 lại cần 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 watermark 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.
Information
hiding
Giấu thông tin
Steganograp
hy
Giấu tin mật
Watermarkin
g
Thuỷ vân số
Robust
Copyright
marking
Thuỷ vân bền
vừng
Fragile
marking
Thuỷ vân “dễ vỡ”
Imperceptible
Watermarking
Thuỷ vân ẩn
Visible
Watermarking
Thuỷ vân hiển
thị
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 12 -
1.1.3. Mục đích của giấu tin
Bảo mật thông tin bằng giấu tin có hai khía cạnh. Một là bảo mật cho
dữ liệu đem giấu (embedded data), chẳng hạn như giấu tin mật: thông tin
mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát
hiện được (steganography). Hai là bảo mật chính đối tượng được dùng để
giấu dữ liệu vào (host data), chẳng hạn như ứng dụng bảo vệ bản quyền, phát
hiện xuyên tạc thông tin (watermarking)...
1.1.4. 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 (text, image,
audio, video), trong 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 là môi trường chiếm tỉ lệ chủ yếu trong các kỹ thuật giấu tin.
a. Giấu tin trong ảnh
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 bởi 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ò hết sức quan trọng trong các hầu
hết các ứng dụng bảo vệ an toàn thông tin như: nhận 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 thông
tin mật. Vì vậy vấn đề giấu tin trong ảnh này đang được quan tâm rất lớn của
các nhà nghiên cứu.
Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít bị
thay đổi và không thể nhận biết được bằng thị giác của con người, nó chỉ có
thể bị phát hiện bởi “thị giác máy”. Ngày nay, khi ảnh số đã được sử dụng rất
phổ biến, thì giấu thông tin trong ảnh đã đem lại rất nhiều những ứng dụng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 13 -
quan trọng trên nhiều lĩnh vực trong đời sống xã hội thì việc nhận thực chữ kí
số, xác thực thông tin đã trở thành một vấn đề cực kì quan trọng khi mà 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. 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, nó
như là một cách mà 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 thì 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.
b. Giấu tin trong audio
Giấu thông tin trong audio 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 (Human Vision System) còn kỹ thuật giấu thông tin trong audio
lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System). Và
một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được
các tín hiệu ở các giải tần rộng và công suất lớn nên đã gây khó dễ đối với các
phương pháp giấu tin trong audio. Nhưng thật may là HAS 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 audio 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 audio 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. Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 14 -
tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu thông tin
trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người.
c. Giấu thông tin trong video
Cũng giống như giấu thông tin trong ảnh hay trong audio, 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, nhận 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à
cũng theo hai khuynh hướng là thuỷ vân số và datahiding. Một phương pháp
giấu tin trong video được đưa ra bởi Cox là phương pháp phân bố đều. Ý
tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải theo tần số
của dữ liệu chứa gốc. Một số nhà nghiên cứu khác đã 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 khởi
nguồn thì 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 rất phức tạp, nó đang được các nhà khoa
học tập trung nghiên cứu ở nhiều nước trên thế giới. Tuy nhiên, những kết
quả thực nghiệm cho thấy để thực sự ứ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 và thẩm định.
1.2. Cơ bản về thuỷ 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
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 15 -
đượ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
watermarking đượ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 watermark 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 watermark chỉ được phép thay đổi rất nhỏ
trong giới hạn cho phép.
+ Tính bền vững (Robustness): Đây là một yêu cầu nòng cốt của
watermarking. Tùy vào từng loại ứng dụng mà tính bền vững này bằng đượ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ì watermark cần phải bền vững qua một số các
hành động cập nhật nội dung 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 watermark 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 watermark 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 watermark vào dữ liệu, thì
yêu cầu là chỉ cho phép những user có quyền mới chỉnh sửa và phát hiện được
watermark đ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 watermark vào dữ liệu và giải thuật phát hiện ra watermark trong
dữ liệu.
+ Tìm lại watermark: 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.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 16 -
+ Trích watermark hay kiểm chứng: Cho phép kiểm tra sự tồn tại
của watermark trong dữ liệu đã nhúng.
1.2.2. Một số vấn đề có liên quan đến thuỷ vân
Visible watermarks – thủy vân hiện, giống như tên gọi, nó là những
mẫu thông tin, tương tự như những logo được chèn vào ảnh hoặc video. Kỹ
thuật này chủ yếu áp dụng cho ảnh để đánh dấu các ảnh trong cơ sở dữ liệu
ảnh hoặc ngăn chặn sự mua bán trên web có sử dụng những ảnh này. Kỹ thuật
kết hợp thuỷ vân với ảnh gốc dùng cách thay đổi độ sáng của ảnh gốc bằng
cách dùng một hàm thuỷ vân với một khoá bí mật. Khoá bí mật này xác định
giá trị giả ngẫu nhiên dùng cho việc điều chỉnh độ sáng, mục đích là để gây
khó khăn hơn cho các tấn công xoá bỏ dấu nổi này.
Watermarking – Thuỷ vân, ngược lại với steganography, nó có thêm
khái niệm là bền vững với các tấn công. Ngay cả nếu sự tồn tại của thông tin
ẩn là bị lộ thì kỹ thuật này cũng sẽ gây ra sự khó khăn cho kẻ tấn công nếu
không biết được khoá bí mật. Lý do của sự bền vững này đó là phương thức
thuỷ vân có thể nhúng nhiều lần các thông tin nhỏ và dữ liệu cần bảo vệ hơn
là phương thức steganographic. Trên thực tế thì steganographic và
watermarking không phải là hai phương thức có phần bổ sung cho nhau nhiều
hơn là đối lập nhau.
Fingerprinting và labeling (lấy dấu vân tay và gán nhãn) là các thuật
ngữ biểu thị các ứng dụng đặc biệt của thuỷ vân, chúng giống như những
thông tin của tạo hoá hoặc những đặc trưng được nhúng vào các đối tượng.
Fingerprinting có nghĩa là quá trình thuỷ vân với các thông tin được nhúng
hoặc là mã duy nhất xác định tác giả hoặc xác định dữ liệu gốc hoặc mã duy
nhất bên cạnh các chuỗi mã có chứa các đặc trưng dữ liệu.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 17 -
Bitstream watermarking (thủy vân dòng bit) đôi khi được sử dụng
cho nén dữ liệu thuỷ vân ví dụ như video. Thuật ngữ nhúng các kỹ hiệu thay
thế cho watermarking được các ấn phẩm trước đây sử dụng, nhưng nó không
được tiếp tục sử dụng nữa, và từ đó dẫn đến sự hiểu nhầm giữa mã hoá và
thuỷ vân. Mã hoá (cryptographic) phục vụ cho mục đích xác định quyền tác
giả. Chúng được sử dụng để nhận dạng bất kỳ thay đổi nào trong dữ liệu đã
được đánh dấu và xác thực người gửi. Tuy nhiên thuỷ vân chỉ được sử dụng
để xác thực trong các ứng dụng đặc biệt và thường được thiết kế cho việc
chống lại các thay đổi và chỉnh sửa.
Fragile watermarks (Thuỷ vân dễ vỡ) là các thuỷ vân có sự rất hạn
chế về mặt bền vững đối với dữ liệu. Chúng được áp dụng để nhận dạng các
thay đổi của dữ liệu đã thuỷ vân hơn là gìn giữ thông tin, nếu có các tấn công
nhằm xoá bỏ thuỷ vân thì việc này cũng sẽ phá huỷ luôn cả dữ liệu gốc.
1.2.3. Khái niệm thuỷ vân cơ sở dữ liệu
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 thuỷ 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. Nhúng ẩn có nghĩa là thuỷ vân
không thể nhìn thấy được trong dữ liệu. Hơn thế nữa, việc phát hiện thuỷ vân
được thực hiện theo phương pháp “mù”, tức là không đòi hỏi dữ liệu gốc cũng
như thuỷ vân gốc. Đồ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ể.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 18 -
1.3. Một số ứng dụng của thuỷ vân
1.3.1. Bảo vệ bản quyền tác giả (copyright protection)
Đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số. Một thông tin
nào đó mang ý nghĩa quyền sở hữu tác giả (người ta gọi nó là thuỷ vân -
watermark) sẽ được nhúng vào trong các sản phẩm, thuỷ vân đó chỉ một mình
người chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh
chứng cho bản quyền sản phẩm. Giả sử có một thành phẩm dữ liệu dạng đa
phương tiện như ảnh, âm thanh, video cần được lưu thông trên mạng. Để bảo
vệ các sản phẩm chống lại hành vi lấy cắp hoặc làm nhái cần phải có một kỹ
thuật để “dán tem bản quyền” vào sản phẩm này. Việc dán tem hay chính là
việc nhúng thuỷ vân cần phải đảm bảo không để lại một ảnh hưởng lớn nào
đến việc cảm nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thuỷ
vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà
không được phép của người chủ sở hữu thì chỉ còn cách là phá huỷ sản phẩm.
1.3.2. Phát hiện xuyên tạc thông tin (authentication and tamper detection)
Một tập thông tin sẽ được giấu trong phương tiện chứa, sau đó được sử
dụng để nhận biết xem dữ liệu trên phương tiện gốc có bị thay đổi hay không.
Các thuỷ vân nên được ẩn để tránh sự tò mò của đối phương, hơn nữa việc
làm giả các thuỷ vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần xem xét.
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 (ví dụ như phân biệt xem một đối tượng
đa phương tiện chứa thông tin giấu đã bị thay đổi, xuyên tạc nội dung hay là
chỉ bị nén mất dữ liệu). Yêu cầu chung đối với ứng dụng này là khả năng giấu
thông tin cao và thuỷ vân không cần bền vững.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 19 -
1.3.3. Lấy dấu vân tay hay dán nhãn (fingerprinting and labeling)
Thuỷ vân trong những ứng dụng này được sử dụng để nhận diện người
gửi hay người nhận một thông tin nào đó. Ví dụ như các vân khác nhau sẽ
được nhúng vào các bản copy khác nhau của thông tin gốc trước khi chuyển
cho nhiều người. Với những ứng dụng này thì yêu cầu là đảm bảo độ an toàn
cao cho các thuỷ vân, tránh khả năng xoá dấu vết trong khi phân phối.
1.3.4. Điều khiển thiết bị (Device control)
Các thiết bị phát hiện thuỷ vân (ở đây sử dụng phương pháp phát hiện
thuỷ vân đã giấu mà không cần thông tin gốc) được gắn sẵn vào trong các hệ
thống đọc ghi, tùy thuộc vào việc có thủy vân hay không để điều khiển (cho
phép/cấm) truy cập. Ví dụ như hệ thống quản lí sao chép DVD đã được ứng
dụng ở Nhật. Nhà sản xuất sẽ trang bị cho các phương tiện dùng để nhân bản
(như CD writer…) khả năng phát hiện xem digital media có chứa watermarks
hay không, nếu có thì sẽ từ chối không nhân bản.
1.3.5. Theo dõi quá trình sử dụng (Tracking)
Digital watermarking có thể được dùng để theo dõi quá trình sử dựng
của các digital media. Mỗi bản sao của sản phẩm được chứa bằng một
watermark duy nhất dùng để xác định user là ai. Nếu có sự nhân bản bất hợp
pháp, ta có thể truy ra người vi phạm nhờ vào watermark được chứa bên trong
các phương tiện này.
1.3.6. Theo dõi truyền thông (Broadcast Monitoring)
Các công ty truyền thông và quảng cáo có thể dùng kỹ thuật digital
watermarking để quản lý xem có bao nhiêu khách hàng đã dùng dịch vụ mà
họ cung cấp.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 20 -
1.3.7. Truyền tin bí mật (Concealed Communication)
Bởi vì digital watermarking là một dạng đặc biệt của việc che dấu dữ
liệu (steganography) nên người ta có thể dùng để truyền các thông tin bí mật.
1.4. Giải thuật di truyền
Giải thuật di truyền (GA - Genetic Algorithms) là kỹ thuật giúp giải
quyết bài toán bằng cách mô phỏng theo sự tiến hoá của con người hay của
sinh vật nói chung (dựa trên thuyết tiến hoá muôn loài của Darwin) trong điều
kiện luôn thay đổi của môi trường sống. Thuật toán di truyền là một hướng
tiếp cận tính toán gần đúng, nghĩa là mục tiêu của thuật toán di truyền không
nhằm đưa ra lời giải chính xác tối ưu mà là đưa ra lời giải tương đối tối ưu.
Giải thuật di truyền là một kỹ thuật của khoa học máy tính nhằm tìm kiếm
giải pháp thích hợp cho các bài toán tối ưu tổ hợp (combinatorial
optimization). Giải thuật di truyền là một phân ngành của giải thuật tiến hoá
vận dụng các nguyên lý của tiến hoá như di truyền, đột biến, chọn lọc tự
nhiên, và lai ghép.
Giải thuật di truyền thường được ứng dụng nhằm sử dụng ngôn ngữ
máy tính để mô phỏng quá trình tiến hoá của một tập hợp những đại diện trừu
tượng (gọi là những nhiễm sắc thể) của các giải pháp có thể chấp nhận được
(gọi là những cá thể) cho bài toán tối ưu hoá. Tập hợp này sẽ tiến triển theo
hướng chọn lọc những giải pháp tốt hơn. Tìm kiếm giả thuyết thích hợp bắt
đầu với một quần thể, hay một tập hợp có chọn lọc ban đầu của các giả
thuyết. Các cá thể của quần thể hiện tại khởi nguồn cho quần thể thế hệ kế
tiếp bằng các hoạt động lai ghép và đột biến ngẫu nhiên – được lấy mẫu sau
các quá trình tiến hoá giống như tiến hoá sinh học. Ở mỗi bước, các giả thuyết
trong quần thể hiện tại được ước lượng liên hệ với đại lượng thích nghi đã
cho, với các giả thuyết phù hợp nhất được chọn theo xác suất là các hạt giống
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 21 -
cho việc sản sinh thế hệ kế tiếp. Thuật giải di truyền đã được ứng dụng một
cách thành công và được phát triển rộng rãi trong nhiều lĩnh vực.
Giải thuật di truyền (GA) cung cấp một phương pháp học được thúc đẩy
bởi sự tương tự với sự tiến hoá sinh học. Thay vì tìm kiếm các giả thuyết từ
tổng quát đến cụ thể hoặc từ đơn giản đến phức tạp, GA tạo ra các giả thuyết
kế tiếp bằng cách lặp việc đột biến và việc tái hợp các phần của giả thuyết
được biết hiện tại là tốt nhất ở mỗi bước, một tập các giả thuyết được gọi là
quần thể hiện tại được cập nhật bằng cách thay thế vài phần nhỏ quần thể bởi
cá thể con của các giả thuyết tốt nhất ở thời điểm hiện tại. Sự phổ biến của
GA được thúc đẩy bởi các yếu tố sau:
Tiến hoá là một phương pháp mạnh, thành công cho sự thích nghi bên
trong các hệ thống sinh học.
GA có thể tìm kiếm trên các không gian giả thuyết có các phần tương
tác phức tạp, ở đó ảnh hưởng của mỗi phần lên toàn thể độ thích nghi
giả thuyết khó có thể mô hình hoá.
GA có thể được thực hiện song song và có thể tận dụng thành tựu của
phần cứng máy tính mạnh.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 22 -
CHƢƠNG 2 – THỰC TRẠNG NGHIÊN CỨU
THUỶ VÂN CƠ SỞ DỮ LIỆU QUAN HỆ
1. Tình hình nghiên cứu trong nƣớc
2. Tình hình nghiên cứu trên thế giới
2.1. Tình hình nghiên cứu trong nƣớc
Cho đến nay, các nhà khoa học ở Việt Nam đã có một số công trình đã
được công bố trong đó có áp dụng kỹ thuật thuỷ vân, trong đó chủ yếu tập
trung vào các lĩnh vực như thuỷ vân audio, thuỷ vân video, thuỷ vân ảnh. Các
công trình nghiên cứu về thuỷ vân cơ sở dữ liệu vẫn còn hạn chế và đang
được tiếp tục nghiên cứu tuy nhiên vẫn chưa nhiều về số lượng các công trình.
Các công trình về thuỷ vân sơ sở dữ liệu thông thường nghiên cứu theo một
số hướng như sau:
Phương pháp sử dụng các bít trọng số nhỏ [1,2] LSB khá đơn giản cho
việc cài đặt, tuy nhiên thông tin giấu không bền vững trước nhiều hình thức
tấn công. Phương pháp này thích hợp cho mục đích giấu thông tin mật.
Phương pháp gán và sử dụng thuộc tính chẵn lẻ [3,4] có một số ưu
điểm như đơn giản trong cài đặt, dễ kiểm soát chất lượng môi trường giấu tin,
có độ bền vững cao trước nhiều hình thức tấn công. Phương pháp này có hiệu
quả cao khi áp dụng cho môi trường giấu tin không chịu nén tổn hao, có cho
phép sai số.
2.2. Tình hình nghiên cứu trên thế giới
Căn cứ vào các công trình nghiên cứu, các bài báo đã công bố, có thể
phân chia thuỷ vân cơ sở dữ liệu theo các dạng như sau:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 23 -
2.2.1. Theo kiểu dữ liệu (Data type)
a) Thuỷ vân dữ liệu kiểu số (watermarking numerical data) có các nghiên cứu
của R. Agrawaland J. Kiernan: Watermarking Relational Databases. VLDB,
2002.
Giả thiết cơ bản của nghiên cứu này là chấp nhận một lượng thay đổi
với các số nhỏ ở bit ít ý nghĩa nhất của các giá trị dữ liệu kiểu số.
Ý tưởng cơ bản là phải đảm bảo rằng các vị trí bit nhúng đó có chứa
các giá trị đặc trưng để có thể xác định được bởi khoá bí mật K.
Để nhận dạng lại thuỷ vân đã nhúng, người ta đã tiến hành so sánh các
giá trị đánh dấu được tính toán với các giá trị bit đã lưu trong cơ sở dữ liệu.
Thuỷ vân được nhận dạng nếu tỷ lệ phần trăm trùng lặp lớn hơn một ngưỡng
T nào đó cho trước.
b) Watermarking categorical data có các nghiên cứu của
+ R. Sion: Proving ownership over categorical data. ICDE 2004
+ E. Bertino, B.C Ooi, Y.Yang, and R. Deng: Privacy and ownership
preserving of outsourced medical data. ICDE 2005.
Ý tưởng cơ bản của các nghiên cứu này là: đối với mỗi nhóm thuộc tính
X nào đó, thay đổi một số giá trị của thuộc tính này thành các giá trị khác sao
cho các thay đổi này là chấp nhận được. Các thay đổi này sẽ tuỳ thuộc vào
từng ứng dụng cụ thể.
2.2.2. Theo kiểu biến dạng (Distortion)
Ba nhà khoa học Y. Li, H. Guo, và S. Jajodia công bố công trình
“Tamper Detection and Localization for Categorical Data Using Fragile
Watermarks”, DRM 2004.
Ý tưởng cơ bản của nghiên cứu này là: Tất cả các bộ được phân hoạch
một cách bí mật thành g nhóm thông qua hàm băm H(K,r.P). Một dấu thuỷ
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 24 -
vân (watermark) khác được nhúng vào mỗi nhóm, vì vậy bất kỳ một thay đổi
nào trên dữ liệu đều có thể được nhận dạng và định vị với độ chính xác cao
tới cấp nhóm.
2.2.3. Theo độ nhạy (Sensitivity)
Hệ thống thuỷ vân có thể được phân thành hai dạng là bền vững và dễ
bị phá huỷ thông qua độ nhạy của chúng đối với các tấn công cơ sở dữ liệu
+ Thuỷ vân bền vững (Robust watermarks) được sử dụng cho bảo vệ
bản quyền, chứng mình quyền sở hữu, hoặc chống lại sự sao chép lậu.
+ Thuỷ vân dễ bị phá huỷ (Fragile watermarks) được sử dụng để định
vị và phát hiện sự giả mạo dữ liệu.
a) Thủy vân bền vững
Có nghiên cứu của tác giả R. Agrawaland J. Kiernan: “Watermarking
Relational Databases”. VLDB 2002.
Cho B(k;m,p) là xác suất có nhiều hơn k thành công trong m phép thử
Bernoulli.
Một dấu thuỷ vân được nhận dạng nếu có nhiều hơn một tỉ lệ phần trăm
T các bit đã nhúng được nhận dạng chính xác.
b) Thủy vân dễ vỡ
*) Các tác giả Y. Li, H. Guo, và S. Jajodia công bố công trình “Tamper
Detection and Localization for Categorical Data Using Fragile Watermarks”.
DRM 2004. Đóng góp của công trình này là:
Thuỷ vân được tính toán bằng cách băm tất cả các bộ thành các nhóm
Bất kỳ thay đổi nào tới dữ liệu đều có thể được nhận dạng chi tiết đến
mức nhóm dữ liệu với tỉ lệ thành công/lỗi là !ln21 g
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 25 -
*) Các tác giả H. Guo, Y. Li, A. Liu, và S. Jajodia với công trình “A
Fragile Watermarking Scheme for Detecting Malicious Modifications of
Database Relations”. IS 2006
Đóng góp của công trình này là cải thiện độ chính xác khi xác định vị
trí làm giả trong dữ liệu
2.2.4. Theo thông tin thuỷ vân (watermark information)
a) Nhúng một bit đến nhiều bit
R. Sion, M. Atallah, và S. Prabhakar với công trình “Rights Protection
for Relational Data”. SIGMOD 2003.
Thuỷ vân một tập các số thực bằng cách thay đổi các phân phối của nó.
Phương pháp này được thực hiện bằng cách:
+ Sắp xếp các giá trị thông qua khoá được băm của tập các bit ý nghĩa
nhất của các giá trị đã được chuẩn hoá.
+ Phân hoạch chúng thành các tập con không giao nhau
+ Nhúng một bit thuỷ vân vào một tập con bằng cách thực hiện các
thay đổi rất nhỏ, như vậy các đầu ra trong phân phối là nhỏ hơn (hoặc lớn
hơn) một ngưỡng nhỏ (hoặc lớn) nào đó.
b) Nhúng từ nhiều bit đến cả một dấu vân tay
Y. Li, V. Swarup, và S. Jajodia với công trình “Fingerprinting
Relational Databases: Schemes and Specialties”. TDSC 2005. Đặc điểm của
phương pháp là:
+ Định danh đối tượng sử dụng dữ liệu
+ Nhiều bit fingerprint được sử dụng để xác định đối tượng người dùng
nào là kẻ gian lận.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 26 -
c) Nhúng một thuỷ vân đến nhiều thuỷ vân (from one watermark to multiple
watermark)
Y. Li, H. Guo, và S. Wang công bố công trình nghiên cứu “A Multi-Bit
Watermark for Relational Data”. JDM 2007
Công trình này giải quyết được các giả thiết đặt ra như sau:
+ Kẻ giả mạo cố tình chèn thêm thuỷ vân khác nữa vào dữ liệu đã được
thuỷ vân
+ Một nhóm người dùng muốn nhúng thuỷ vân riêng của mỗi người
vào dữ liệu và xác minh lại quyền sở hữu của họ một cách độc lập.
Giải pháp của nghiên cứu này đưa ra là: Mở rộng nghiên cứu của
Agrawal và Kiernan là nhúng nhiều thuỷ vân khác nhau W1, W2, W3,… vào
dữ liệu với các khoá K1, K2, K3,…khác nhau.
2.2.5. Tính kiểm tra đƣợc
Y. Li và R. Deng với công trình “Publicly Verifiable Ownership
Protection for Relational Databases”. ASIACCS 2006
Yêu cầu:
+ Các cách tiếp cận dựa vào khoá mật là không phù hợp với việc cung
cấp bản quyền tác phẩm ra công chúng.
+ Người chủ sở hưu dữ liệu sử dụng một khoá công khai để thực hiện
một thuỷ vân công khai. Vì vậy bất kỳ ai cũng có thể sử dụng các khoá công
khai này để nhận dạng thuỷ vân đã nhúng.
Giải pháp của tác giả đưa ra là:
+ Công khai khoá
+ Thuỷ vân (công khai): Khoá chính, bit ý nghĩa nhất được chọn (most
significant bit)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 27 -
+ Dấu xác thực: Số hiệu chủ sở hữu (owner ID), khoá thuỷ vân (key),
hàm băm, thời điểm tạo dữ liệu, tính pháp lý, thuộc lĩnh vực nào.
2.2.6. Theo cấu trúc dữ liệu (Data structure)
a) Sử dụng khoá chính ảo (Virtual primary key)
Y. Li, V. Swarupand S. Jajodia với công trình “Constructing a Virtual
Primary Key for Fingerprinting Relational Data”. DRM 2003
Giải quyết vấn đề đặt ra là: Nhiều lược đồ thuỷ vân đều dựa vào sự tồn
tại của khoá chính, điều này tồn tại một số nhược điểm như sau:
+ Không thể áp dụng thuỷ vân trực tiếp với những quan hệ mà không
tồn tại khoá chính.
+ Rất dễ bị tấn công bởi kẻ tấn công đơn giản là thực hiện thay đổi
hoặc xoá khoá chính
Ý tưởng cơ bản để giải quyết các vấn đề trên được nêu ra trong công
trình này là:
+ Xây dựng khoá chính ảo bằng cách kết hợp các bit ý nghĩa nhất của
một số thuộc tính để tạo khoá chỉnh ảo.
+ Các thuộc tính khác nhau được chọn cho mỗi bộ là dựa vào một khoá
bí mật.
+ Nhược điểm của phương pháp này là làm tăng gấp đôi nguy cơ thất
bại khi nhận dạng lại thuỷ vân đã nhúng bởi vì, khi tao ra thêm một khoá
chính ảo, một số bit thuỷ vân sẽ được nhúng ít lần hơn các bit khác vào dữ
liệu. Điều này làm gia tăng khả năng thất bại trong nhận dạng thuỷ vân nếu bị
tấn công.
b) Xử lý dữ liệu theo khối (Data cube)
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 28 -
J. Guo, Y. Li, R. Deng, và K. Chen công bố công trình “Rights
Protection for Data Cubes”. ISC 2006
Dữ liệu dạng khối là một dạng dữ liệu phổ biến mà hỗ trợ tốt cho việc
khai thác một lượng lớn dữ liệu đa chiều. Thao tác phố biến nhất đối với dữ
liệu dạng này là truy vấn tổ hợp.
c) Xử lý theo dòng dữ liệu (Streaming data)
*) R. Sion, M. Atallah, và S. Prabhakar công bố công trình công trình
nghiên cứu “Resilient Rights Protection for Sensor Streams”. VLDB 2004
Ý tưởng của công trình này là sử dụng một số các giá trị cực trị và các
giá trị lân cận của nó như là những đối tượng mang các bit thuỷ vân. Lựa
chọn các giá trị cực trị và thuỷ vân mọi giá trị lân cận (LSB) dựa trên một
khoá bí mật và các bit ý nghĩa nhất của chúng (MSB). Mọi mẫu đều bao gồm
đầy đủ các giá trị cực trị và các giá trị lân cận của nó.
*) H. Guo, Y. Li, và S. Jajodia với công trình “Chaining Watermarks
for Detecting Malicious Modifications to Streaming Data”. IS 2007
Ý tưởng của nghiên cứu này là phân hoạch một luồng dữ liệu dạng số
thành các nhóm và nhúng một thuỷ vân vào mỗi nhóm. Việc phân nhóm là
dựa vào các điểm động bộ. Một thuỷ vân dùng để nhúng được tính toán bằng
cách băm nhóm đã được băm trước đó hiện tại và nhóm đã băm trước đó tiếp
theo, từ đó thuỷ vân được móc nối với nhau. Việc nhận dạng thuỷ vân có thể
được thực hiện và định vị các thay đổi ngay cả khi một số nhóm đã bị xoá
toàn bộ cả nhóm.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 29 -
CHƢƠNG 3 – NỘI DUNG VÀ CÁC KẾT QUẢ
NGHIÊN CỨU
1. Phân hoạch dữ liệu
2. Nhúng thuỷ vân
3. Giải mã thuỷ vân
Các mục trong chương này của luận văn sẽ tập trung trình bày các kỹ
thuật áp dụng để nhúng thuỷ vân và giải mã thuỷ vân cơ sở dữ liệu quan hệ.
Đó là kỹ thuật thuỷ vân cơ sở dữ liệu quan hệ sử dụng kỹ thuật tối ưu hoá như
một bài toán tối ưu hoá có ràng buộc, và sử dụng giải thuật di truyền để giải
quyết bài toán tối ưu này. Kỹ thuật này bao gồm hai quá trình là mã hoá và
giải mã thuỷ vân.
Quá trình mã hoá được thực hiện qua các bước [22]:
+ Phân hoạch dữ liệu
+ Nhúng thuỷ vân
+ Đánh giá ngưỡng giải mã
Quá trình giải mã thuỷ vân được thực hiện qua các bước
+ Phân hoạch dữ liệu
+ Giải mã ngưỡng
+ Bầu chọn theo đa số
Các mục dưới đây sẽ nêu chi tiết cách thức tiến hành.
3.1. Phân hoạch dữ liệu
Một số ký hiệu được sử dụng trong luận văn
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 30 -
Ký hiệu Ý nghĩa
m Số phân vùng
Kích thước nhỏ nhất của một phân vùng
W Chuối bit thuỷ vân {bl-1,…,b0}
l Chiều dài của chuỗi bit thuỷ vân
Xmax Các thống kê nhúng thuỷ vân cực đại
Xmin Các thống kê nhúng thuỷ vân cực tiểu
Si Phân vùng dữ liệu thứ i
|Si|, n Độ dài của vector Si
Ks Khoá bí mật
T* Ngưỡng giải mã tối ưu
Gi Ràng buộc thứ i
i Vector thao tác trong R
n
Bảng 1. Danh mục các ký hiệu
Mục tiêu chính của phần này là trình bày về kỹ thuật phân hoạch, kỹ
thuật này sẽ làm tăng tính ngẫu nhiên khi chọn các bộ và phân vào các phân
hoạch riêng rẽ. Tính ngẫu nhiên này có độ bảo mật cao được đảm bảo bằng
hàm băm mật mã gọi mà mã xác thực thông điệp. Với việc áp dụng kỹ thuật
phân hoạch này sẽ làm tăng khả năng bền vững của thuỷ vân trước các tấn
công.
Thuật toán phân hoạch dữ liệu phân chia bộ dữ liệu thành các phần, các
tập hợp con dựa vào khoá bí mật KS . Khoá bí mật KS thường được chọn sao
cho kẻ tấn công khó có thể đoán ra được, đồng thời đảm bảo sự duy nhất và
ổn định trong quá trình tính toán phân hoạch. Vì vậy, giá trị thích hợp nhất
dành cho KS là các số nguyên tố càng dài càng tốt, điều này nhằm làm khó
cho kẻ tấn công trong việc dò ra khoá bí mật.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 31 -
Bộ dữ liệu D là một quan hệ cơ sở dữ liệu với lược đồ D(P, A0,…, Av-1)
trong đó
+ P là thuộc tính khoá chính.
+ A0,…, Av-1 là v thuộc tính cho việc thuỷ vân và |D| là số bản ghi trong D
Bộ dữ liệu D này được chia thành m phần không giao nhau (hay không
chồng lên nhau) {S0,…., Sm-1}, sao cho mỗi phần Si chứa trung bình
m
D ||
bản
ghi từ bộ dữ liệu D. Các phần không giao nhau, tức là, với 2 phần bất kỳ Si và
Sj mà i j thì
ji SS
.
Với mỗi bản ghi Dr , thuật toán phân hoạch dữ liệu tính toán mã xác
thực thông tin (MAC) để đảm bảo an toàn trong quá trình phân hoạch và mã
này được cho bởi hàm băm H(Ks || H(r.P || Ks)) , trong đó
+ Pr. là khoá chính của bản ghi r
+ H() là hàm băm an toàn
+ || là toán tử nối.
Sử dụng MAC đã tính toán, các bản ghi được chia cho các phần. Với bản
ghi r , phần được chia của nó được tính như sau:
partition(r) = H(Ks || H(r.P || Ks)) mod m
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 32 -
Hình 3. 1. Cách phân hoạch bộ dữ liệu
Sử dụng đặc tính này để các hàm băm an toàn sinh ra các bản tin được
phân phối một cách giống nhau, kỹ thuật phân hoạch này trung bình chứa
m
D ||
bản ghi trong mỗi phần của phân hoạch. Hơn thế nữa, một kẻ tấn công không
thể đoán trước được các bản ghi đã chia thành các phần mà không biết rõ về
khoá bí mật Ks và số phần dữ liệu đã phân hoạch m được giữ bí mật. Giữ m bí
mật không phải là đòi hỏi. Tuy nhiên, giữ nó bí mật để gây khó khăn hơn cho
kẻ tấn công muốn tái sinh các phần đó.
Thuật toán phân hoạch dữ liệu được mô tả như sau:
Algorithm: get_partitions
Input: bộ dữ liệu D, khoá bí mật Ks, số phần phân hoạch m
Output: Các phần dữ liệu S0,…., Sm-1
1. S0,…., Sm-1 {}
2. for each Tuple Dr
3. partition(r) H(Ks || H(r.P || Ks)) mod m
4. insert r into Spartition(n)
5. return S0,…., Sm-1
r.P Field1 Field 2 …
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
.
.
n-1
n
S1
S3 S2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 33 -
Mặc dù sự có mặt của khoá chính trong quan hệ được thuỷ vân là phổ
biến trong dữ liệu quan hệ, kỹ thuật này có thể dễ dàng được mở rộng để xử
lý các trường hợp khi quan hệ không có khoá chính. Giả sử quan hệ thuộc tính
đơn, bít ý nghĩa nhất (MSB) của dữ liệu có thể được dùng để thay thế cho
khoá chính. Việc sử dụng MSB cho rằng dữ liệu nhúng thuỷ vân thay đổi sẽ
không giống như bít MSB thay đổi. Tuy nhiên, nếu quá nhiều bản ghi chia
sẻ cùng bít MSB thì có thể cho phép kẻ tấn công suy luận được thông tin
về sự phân phối phần dữ liệu. Giải pháp này có thể chọn để làm cực tiểu
hoá các bản sao.
*) Các giá trị thực nghiệm của luận văn được tác giả áp dụng như sau:
Ký hiệu Ý nghĩa
m = 20 Số phân vùng
Ks = 97 Khoá bí mật
H = MD5 Hàm băm
3.2. Nhúng thuỷ vân
Để nhúng thuỷ vân vào cơ sở dữ liệu đã được phân hoạch, quá trình
nhúng được tiến hành thông qua bước mã hoá bit đơn để xác định xem bit nào
trong chuỗi bit thuỷ vân sẽ được nhúng vào phân vùng cụ thể nào. Việc mã
hoá này chính là việc thực hiện giải bài toán tối ưu hoá có ràng buộc áp dụng
giải thuật di truyền. Sau quá trình nhúng, kết quả thu được là hai tập thống kê
được dùng để tính ngưỡng cho quá trình giải mã thuỷ vân sau này.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 34 -
Để đơn giản, ta giả sử các bản ghi trong phần phân hoạch iS chứa thuộc
tính số đơn. Trong trường hợp này, mỗi phần iS có thể được biểu diễn như là
một véc tơ dữ liệu số
ninii SSS ,...,
.
3.2.1. Mã hoá bit đơn
Cho bít thuỷ vân bi, và véc tơ dữ liệu số
ninii SSS ,...,
. [22]
Thuật toán mã hoá bít ánh xạ vectơ dữ liệu
iS
thành vectơ dữ liệu mới
ii
W
i SS
, trong đó
n
inii ],...,[ 1
là vectơ thao tác. Các thao tác bị
hạn chế bởi các ràng buộc trong bộ
ipii ggG ,...,1
. Việc mã hoá này dựa trên
hàm mã hoá tối ưu như là hàm giấu được định nghĩa như sau:
Định nghĩa 1: Hàm giấu
:
n
, với
là tập hợp các tham số bí mật
được quyết định bởi người chủ sở hữu dữ liệu.
Tập hợp
có thể được xem như là một phần của khoá bí mật. Chú ý
rằng khi hàm giấu được áp dụng cho
iiS
thì chỉ vectơ thao tác
i
là biến,
trong khi
iS
và
là các hằng số.
Để mã hoá bit bi vào trong tập iS , thuật toán mã hoá bít sẽ làm tối ưu hoá
hàm hàm giấu
)( iiS
. Mục đích của bài toán tối ưu hoá cực đại hoặc cực
tiểu hàm giấu dựa vào bít ib :
Nếu bít bi=1 thì thuật toán mã hoá bít đi giải bài toán cực đại hoá:
imax )( iiS thoả mãn ràng buộc iG
Nếu bít bi = 0 thì bài toán đơn giản được chuyển thành bài toán cực tiểu
hoá.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 35 -
Giải pháp cho bài toán tối ưu hoá sinh ra vectơ thao tác
*
i
để
*)( iiS
tối ưu. Khi đó, bộ dữ liệu mới
*ii
W
i SS
.Việc cực đại hoá cho
ib
=1 và cực tiểu hoá cho
ib
=0, đảm bảo rằng các giá trị của hàm
*)( iiS
sinh ra trong cả hai trường hợp được đặt ở vị trí có khoảng cách lớn nhất và
do đó làm cho bít được chèn bền vững hơn đối với các tấn công, đặc biệt là
các tấn công thay đổi dữ liệu.
Thuật toán mã hoá bít đơn được mô tả như sau:
Algorithm: Encode_single_bit
Input: Tập dữ liệu Si, bit bi, tập ràng buộc Gi, tham số bí mật , tập thống
kê Xmax, Xmin
Output: Tập dữ liệu Si +
*
i
1. If (|Si| < ) then return Si
2. If (bi = = 1) then
3. maximize (
)( iiS
) phụ thuộc vào các ràng buộc Gi
4. insert
*)( iiS
into Xmax
5. else
6. minimize (
)( iiS
) phụ thuộc vào các ràng buộc Gi
7. insert
*)( iiS
into Xmin
8. return Si +
*
i
Thuật toán mã hoá bít nhúng bít bi vào phần Si nếu |Si| > .
Giá trị của biểu diễn kích cỡ phần cực tiểu.
Việc cực đại hoá và cực tiểu hoá trong thuật toán mã hoá bít làm tối ưu
hoá hàm giấu
*)( iiS
thoả mãn các ràng buộc trong
iG
. Các thống kê cực
đại hoá và cực tiểu hoá được ghi lại cho mỗi bước mã hoá trong
maxX
,
minX
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 36 -
tương ứng như đã được chỉ ra trong các dòng 4 và 7 của thuật toán mã hoá.
Các thống kê này được dùng để tính toán các tham số giải mã tối ưu.
Tập hợp các ràng buộc sử dụng Gi biểu diễn các biên với những thay đổi
cho phép có thể được thực hiện trên các phần tử của Si. Các ràng buộc này mô
tả không gian khả thi cho vectơ thao tác
i
với mỗi bước mã hoá bít. Các
ràng buộc này phụ thuộc vào ứng dụng và dữ liệu. Ví dụ đối với dữ liệu là
mức tiêu thụ điện sinh hoạt thì có thể có các ràng buộc là các điểm cận để
chuyển đổi mức giá tính phí tiêu thụ. Với Việt Nam thời điểm hiện tại (năm
2009) thì các mốc để tính phí tiêu thụ điện là: 50 KW, 100 KW, 150 KW, 200
KW.
Các ràng buộc khoảng có thể được dùng để điều khiển độ lớn sự thay đổi
cho
ij
, tức là:
maxmin ijijij
Kiểu ràng buộc thú vị khác có thể yêu cầu bộ dữ liệu đã thuỷ vân duy trì
các thống kê nào đó. Ví dụ, trung bình bộ dữ liệu sinh ra bằng trung bình bộ
dữ liệu gốc thì ràng buộc trong trường hợp này có dạng:
0
1
n
j
ij
Một vài ràng buộc sử dụng khác có thể được tạo ra phụ thuộc vào các
yêu cầu ứng dụng. Các ràng buộc này được xử lý bằng thuật toán mã hoá bít
dùng các kỹ thuật tối ưu hoá có ràng buộc.
Hàm giấu được sử dụng ở đây phụ thuộc vào các thống kê dữ liệu. Các
giá trị trung bình và phương sai của bộ dữ liệu mới
ii
W
i SS
tương ứng là
)( iiS
và
2
)( iiS
; gọi tắt là
và
2
.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 37 -
Điểm tham chiếu :
cref
, trong đó
)1,0(c
là một số thực bí mật,
là một phần của tập .
Các điểm dữ liệu trong
iiS
ở trên
ref
như là các đầu vào “tail”.
c
được định nghĩa là số đầu vào tail đã chuẩn hoá bằng độ dài của
iS
,
cũng như tail count được chuẩn hoá. Hàm này được tính như sau:
n
j
refsiic ijijn
S
1
}{1
1
)(
trong đó : n là độ dài của
iS
{}1 là hàm được định nghĩa như sau:
Chú ý rằng tham chiếu ref phụ thuộc vào cả và , có nghĩa là nó
không cố định và thay đổi tự động với các thống kê iiS . Tail count
)( iic S được chuẩn hoá phụ thuộc vào phân phối của iiS và tham
chiếu động.
Hàm mục tiêu
)( iic S
không tuyến tính và không thể lấy vi phân, vì
vậy nó làm cho bài toán tối ưu hoá gần với bài toán tối ưu hoá có ràng buộc
không tuyến tính. Các cách tiếp cận truyền thống dựa vào gradient không thể
áp dụng được cho những bài toán như thế này. Thuật toán di truyền sẽ được
áp dụng để giải bài toán tối ưu hoá này. Việc giải bài toán tối ưu hoá này
không nhất thiết phải tìm ra lời giải tối ưu toàn cục bởi vì việc tìm ra lời giải
1 Nếu thoả mãn điều kiện trong {}
0 Các trường hợp còn lại
1{} =
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 38 -
như thế này có thể đòi hỏi một lượng tính toán rất lớn. Mục đích chính của
phương pháp là tìm ra lời giải (phương án) gần tối ưu mà đảm bảo các giá trị
cực tiểu hoá hàm
)( iic S
và cực đại hoá hàm
)( iic S
cách xa nhau.
3.2.2. Áp dụng giải thuật di truyền giải bài toán tối ƣu
Thuật toán di truyền (GA) là một kỹ thuật tìm kiếm dựa trên các nguyên
tắc chọn ngẫu nhiên hoặc quá trình chọn lọc tự nhiên. Thay vì sử dụng thông
tin gradient, GA sử dụng trực tiếp hàm mục tiêu trong việc tìm kiếm. Thuật
toán di truyền này sẽ tìm kiếm không gian giải pháp bằng cách duy trì các giải
pháp thế. Sau đó, bằng cách sử dụng các hoạt động liên quan như là sự giao
nhau, sự biến đổi, và sự lựa chọn, thuật toán di truyền (GA) tạo ra các thế hệ
giải pháp thành công – các thế hệ có kế thừa và phát triển các đặc tính tốt của
cha mẹ chúng và như thế chúng dần dần tới gần các giải pháp tối ưu hoặc gần
tối ưu. Bằng việc sử dụng trực tiếp hàm mục tiêu trong tìm kiếm, thuật toán di
truyền có thể được áp dụng một cách có hiệu quả trong các bài toán không lồi,
không tuyến tính cao, và phức tạp. Thuật toán di truyền trong tìm kiếm đã
thường xuyên được sử dụng để giải các bài toán tối ưu hoá và các bài toán
không tuyến tính kết hợp với các ràng buộc hoặc các hàm mục tiêu phức tạp.
Thuật toán di truyền không bảo đảm tìm ra tối ưu toàn cục; tuy nhiên nó
có vẻ ít đặt bẫy tại vị trí tối ưu hơn các phương pháp tìm kiếm truyền thống
dựa vào gradient khi hàm mục tiêu không trơn và nói chung là tốt. GA thường
phân tích phần không gian giải pháp rộng hơn các phương pháp thông thường
và do đó nó có thể tìm ra các giải pháp khả thi hơn trong các bài toán có ràng
buộc nặng.
Bài toán dành cho GA là tìm kiếm trên không gian các giả thuyết ứng cử
để xác định giả thuyết tốt nhất. Trong GA “giả thuyết tốt nhất” được định
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 39 -
nghĩa như là một giả thuyết tối ưu hoá một đại lượng số được định nghĩa
trước cho bài toán sắp tới, được gọi là độ thích nghi của giả thuyết.
Mặc dù các thuật giải di truyền được thực hiện thay đổi theo bài toán cụ
thể, nhưng chúng chia sẻ chung cấu trúc tiêu biểu sau: Thuật giải hoạt động
bằng cách cập nhật liên tục tập giả thuyết – được gọi là quần thể. Ở mỗi lần
lặp, tất cả các cá thể trong quần thể được ước lượng tương ứng với hàm thích
nghi. Rồi quần thể mới được tạo ra bằng cách lựa chọn có xác suất các cá thể
thích nghi tốt nhất từ quần thể hiện tại. Một số trong những cá thể được chọn
được đưa nguyên vẹn vào quần thể kế tiếp. Những cá thể khác được dùng làm
cơ sở để tạo ra các cá thể con bằng cách áp dụng các tác động di truyền: lai
ghép và đột biến. Các giả thuyết mới được tạo ra bằng cách áp dụng toán tử
lai ghép cho cặp giả thuyết thích nghi nhất và bằng cách tạo ra các đột biến
điểm đơn trong thế hệ giả thuyết kết quả. Quá trình này được lặp cho đến khi
các giả thuyết thích hợp được phát hiện.
Các giả thuyết trong GA thường được thể hiện dưới dạng chuỗi các bit,
để chúng có thể dễ dàng được thực hiện bởi các toán tử di truyền: đột biến và
lai ghép. Các giả thuyết được thể hiện bởi chuỗi bit này có thể khá phức tạp.
Hàm thích nghi (hàm phạt) định nghĩa tiêu chuẩn để xếp hạng các giả
thuyết tiềm ẩn và để chọn lọc chúng theo xác suất để đưa vào quần thể thế hệ
kế tiếp. Thường các tiêu chuẩn khác có thể được bao hàm, chẳng hạn như độ
phức tạp và mức độ tổng quát của luật. Một cách tổng quát hơn, khi giả thuyết
chuỗi bit được hiểu như là một thủ tục phức tạp, hàm thích nghi có thể đo
hiệu suất tổng của thủ tục kết quả hơn là hiệu suất của các luật riêng biệt.
Với bài toàn này, bộ khả thi
i
là tập hợp các giá trị của
i
làm thoả mãn
tất cả các ràng buộc trong Gi. Thuật toán di truyền trong tìm kiếm không làm
việc trực tiếp với các điểm trong bộ
i
, nhưng có ánh xạ các điểm trong
i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 40 -
thành xâu các ký hiệu được gọi là nhiễm sắc thể. Một lược đồ biểu diễn nhị
phân đơn giản sử dụng các ký hiệu {0, 1}; mỗi nhiễm sắc thể dài L ký hiệu.
Ví dụ một nhiễm sắc thể nhị phân biểu diễn véctơ
inii ,....,1
có
dạng:
Mỗi thành phần của
i
sử dụng
n
L
bít, với n = |Si|. Biểu diễn nhiễm sắc
thể này tự động xử lý các ràng buộc khoảng trên
i
. Ví dụ nếu
ij
chỉ có thể
lấy các giá trị trong khoảng [lij, hij], thì bằng việc ánh xạ các số nguyên trong
khoảng [0, 2L/n - 1] thành các giá trị trong khoảng [lij, hij] qua sự tịnh tiến và
sự đếm gộp đơn giản, điều này đảm bảo rằng bất cứ hoạt động nào được thực
hiện trên nhiễm sắc thể đó, các đầu vào được đảm bảo ở trong khoảng khả thi.
Mỗi nhiễm sắc thể có một giá trị tương ứng với hàm mục tiêu, như là sự
phù hợp của nhiễm sắc thể. Để xử lý các loại ràng buộc khác, người ta phạt
các nhiễm sắc thể không khả thi bằng cách làm giảm giá trị phù hợp của
chúng theo hàm phạt
)( i
- hàm biểu diễn mức độ không khả thi. Không mất
tính tổng quát, nếu bài toán tối ưu hoá được giải với các ràng buộc
Gi={gi1,…., gip}, thì hàm thích hợp được sử dụng là
)()( iiic S
, trong
đó
là hệ số phạt và nó được chọn đủ lớn để phạt hàm mục tiêu trong
trường hợp
i
không khả thi.
Hàm phạt
)( i
được tính như sau:
p
j
iiji g
1
)()(
trong đó:
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 41 -
),( iijg
biểu diễn lượng không khả thi đối với ràng buộc gij.
Ví dụ nếu ràng buộc gij là
0
1
n
j ij
thì
||||),(
1
n
j ijiij
g
.
Thuật toán di truyền ít dùng cho tối ưu cục bộ. Tuy nhiên, thuật toán di truyền
yêu cầu một lượng lớn các đánh giá hàm cho hội tụ tới tối ưu toàn cục. Như
vậy, thuật toán di truyền được sử dụng trong tìm kiếm chỉ khi thời gian xử lý
không đòi hỏi chính xác (khắt khe) và thuỷ vân được thực hiện độc lập.
3.2.3. Thuật toán nhúng thuỷ vân
Thuỷ vân là một bộ
l
bít W=bl-1, . . . , b0 được nhúng vào các phần dữ
liệu
10 ,..., mSS
.
Để việc nhúng thuỷ vân được nhiều lần trong bộ dữ liệu, độ dài thuỷ
vân
l
được chọn sao cho:
ml
.
Thuật toán nhúng thuỷ vân sẽ nhúng bít
ib
vào phần
kS
sao cho
ilk mod
. Kỹ thuật này đảm bảo mỗi bít thuỷ vân được nhúng
l
m
lần trong
bộ dữ liệu
D
.
Thuật toán nhúng thuỷ vân được mô tả như sau:
Algorithm: embed_watermark
Input: Tập dữ liệu D, khoá bí mật Ks, số phân vùng m, thuỷ vân W = {b0,
…, bl-1}
Output: Tập dữ liệu đã nhúng thuỷ vân Dw, ngưỡng tối ưu giải mã T
*
1. Dw, Xmax, Xmin {}
2. S0, …., Sm-1 get_partition(D, Ks, m)
3. for each Partition Sk
)( iijg
=
0 Nếu
i
thoả mãn ràng buộc gij
(gij,
i
) Trƣờng hợp còn lại
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 42 -
4. i k mod l
5.
w
kS
encode_single_bit(bi, Sk, c, Xmax, Xmin)
6. insert
w
kS
Dw
7. T* get_optimal_thershold(Xmax, Xmin)
8. return Dw, T
*
Thuật toán nhúng thuỷ vân sẽ sinh ra các phần
10 ,..., mSS
bằng cách gọi
hàm get_partitions, sau đó với mỗi phần
kS
bít thuỷ vân
ib
được mã hoá bằng
cách sử dụng thuật toán mã hoá bít đơn (encode_single_bit). Phần thay đổi
sinh ra
W
kS
được chèn vào bộ dữ liệu đã nhúng thuỷ vân.
Các thống kê (Xmax, Xmin) được thu thập sau mỗi bít nhúng và được sử
dụng bằng thuật toán get_optimal_threshold để tính toán ngưỡng giải mã tối
ưu.
*) Các giá trị thực nghiệm mà tác giả áp dụng trong luận văn này là :
Watermark = 10101 ; //Chuỗi bit thuỷ vân dùng để nhúng
c = 0.75; // Tham số bí mật c
= 10; // Kích thƣớc nhỏ nhất của một phân vùng
l = 5 // Độ dài thuỷ vân
3.2.4. Đánh giá ngƣỡng giải mã
Trong phần này, ta sẽ thảo luận kỹ thuật giải mã bít – kỹ thuật được dùng
để lấy ra bít thuỷ vân đã nhúng bi từ phần
W
iS
.
Kỹ thuật giải mã bít dựa trên ngưỡng tối ưu T* để làm cực tiểu hoá xác
suất xảy ra lỗi giải mã.
Với phần dữ liệu
W
iS
, kỹ thuật giải mã bít sẽ tính toán hàm giấu
)( WiS
và so sánh với ngưỡng giải mã tối ưu T* để giải mã bít đã nhúng
ib
.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 43 -
Nếu )( WiS >T* thì bít được giải mã là 1, ngược lại bít giải mã là 0.
Ví dụ: sử dụng hàm giấu đã được mô tả ở các phần trước, kỹ thuật giải
mã tính toán tail count đã chuẩn hoá của
W
iS
bằng cách tính toán tham chiếu
ref và đếm số đầu vào trong
W
iS
lớn hơn ref. Sau đó, tail count đã chuẩn hoá
được so sánh với T*. Giá trị của ngưỡng T* nên được tính toán cẩn thận để
làm cực tiểu hoá xác suất xảy ra lỗi giải mã bít.
Xác suất xảy ra lỗi giải mã bít được định nghĩa như là xác suất (khả
năng) bít nhúng được giải mã sai. Ngưỡng giải mã tối ưu T* được chọn để
làm cực tiểu hoá xác suất xảy ra lỗi giải mã. Thời kỳ nhúng bít dựa trên việc
cực tiểu hoá hoặc cực đại hoá tail count; các giá trị hàm giấu đã tối ưu hoá
này sẽ được tính toán trong suốt thời kỳ mã hoá để tính toán ngưỡng tối ưu
T*. Các giá trị hàm giấu cực đại hoá tương ứng với bi = 1 được lưu trong tập
Xmax. Tương tự, các giá trị hàm giấu cực tiểu hoá được lưu trữ trong Xmin.
Cho
errP
,
0P
và
1P
tương ứng là xác suất xảy ra lỗi giải mã, xác suất mã
hoá bít =0, và xác suất mã hoá bít =1.
Cho
eb
,
db
, và
)(xf
tương ứng là bít được mã hoá, bít được giải mã, và
hàm mật độ xác suất.
Khi đó, errP được tính như sau:
errP
=
)0,1()1,0( eded bbPbbP
=
01 )0|1()1|0( PbbPPbbP eded
=
01 )0|()1|( PbTxPPbTxP ee
=
T
e
T
e dxbxfPdxbxfP )0|()1|( 01
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 44 -
Để cực tiểu hoá xác suất lỗi giải mã (
errP
) đối với ngưỡng T, ta lấy đạo
hàm cấp một của
errP
đối với T để xác định ngưỡng tối ưu T*, như sau:
T
e
T
e
err dxbxf
T
Pdxbxf
T
P
T
P
)0|()1|( 01
)0|()1|( 01 ee bTfPbTfP
Các phân phối
)0|( ebxf
và
)1|( ebxf
được đánh giá từ các thống kê
của các tập hợp Xmin và Xmax tương ứng. Qua các thí nghiệm về Xmin và Xmax ,
cho thấy các phân phối
)0|( ebxf
và
)1|( ebxf
có dạng chuẩn tắc và như
vậy chúng có thể được đánh giá như các phân phối Gaussian
),( 00 N
và
),( 11 N
một cách tương ứng. Tuy nhiên, sự phân tích sau đây có thể vẫn
được thực hiện với các kiểu phân phối khác.
P0 có thể được đánh giá bằng
||||
||
minmax
min
XX
X
,
1P 01 P
.
Thay thế các biểu thức Gaussian cho
)0|( ebxf
và
)1|( ebxf
, thì đạo
hàm cấp một của
errP
có dạng:
)
2
)(
exp(
2
)
2
)(
exp(
2
2
0
2
0
0
0
2
1
2
1
1
1
TPTP
T
Perr
Cho đạo hàm cấp một của
errP
bằng 0, ta sẽ được phương trình bậc 2, có
thể tính giá trị ngưỡng tối ưu T* làm cực tiểu hoá
errP
. Đạo hàm cấp 2 của
errP
được đánh giá tại T* để đảm bảo điều kiện (
0
*)(
2
2
T
TPerr
) được thoả mãn.
0
2
ln**
2 21
2
0
2
1
2
0
2
0
2
1
01
10
2
1
2
0
2
01
2
102
2
1
2
0
2
1
2
0
P
TT
Từ sự phân tích trên, việc chọn ngưỡng tối ưu T* dựa trên các thống kê
kết quả thu được của thuật toán nhúng thuỷ vân. Ngưỡng tối ưu T* làm cực
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 45 -
tiểu hoá xác suất xảy ra lỗi giải mã và như thế nó sẽ nâng cao độ bền của thuỷ
vân được nhúng do khả năng giải mã thành công tăng.
Hình 3. 2. Thống kê phân bố tập Xmax, Xmin và cách lấy ngưỡng T*
Ở hình trên, đường chấm gạch nằm giữa hai phân phối sẽ làm cực tiểu
hoá xác suất xảy ra lỗi giải mã.
Xác suất xảy ra lỗi giải mã cũng phụ thuộc vào các ràng buộc sử dụng.
Nếu các ràng buộc sử dụng chặt thì lượng thay đổi cho bộ dữ liệu D có thể
không đủ cho sự chèn thuỷ vân. Tất cả xác suất xảy ra lỗi giải mã thuỷ vân
được làm giảm đi bằng cách nhúng thuỷ vân nhiều lần trong bộ dữ liệu đó, về
cơ bản nó là sự lặp lại mã sửa sai.
Sau nhiều lần chạy thử nghiệm kết quả giải mã, tác giả của luận văn nhận
thấy rằng, ngưỡng giải mã T* sẽ nằm trong miền thuộc phần giao nhau của
hai phân phối giải mã ra bit 0 và giải mã ra bit 1. Miền giao nhau này thường
nằm ngoài khoảng tin cậy khi tính thống kê của tập Xmax và Xmin. Vì vậy, để
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 46 -
đơn giản và tăng tốc độ xử lý tính toán khi lập trình, tác giả đã tính toán giá trị
ngưỡng giải mã T* bằng cách lấy giá trị trung bình của các tập thống kê Xmax
và Xmin này:
+ Lấy giá trị cực đại của tập Xmin
+ Lấy giá trị cực tiểu của tập Xmax
T* =
2
)()( minmax XMaxXMin
Theo các kết quả thực nghiệm tác giả nhận thấy rằng, ngưỡng giải mã T*
phụ thuộc vào phân phối của tập Xmax và Xmin, nếu phân phối của hai tập này
càng cách xa nhau thì sẽ càng làm cực tiểu hoá lỗi giải mã. Điều này phụ
thuộc nhiều vào kỹ thuật áp dụng dùng để giải bài toán tối ưu hoá, ở đây là kỹ
thuật GA.
3.3. Giải mã thuỷ vân
Thuật toán phát hiện thuỷ vân sẽ lấy ra thuỷ vân đã nhúng nhờ các tham
số bí mật gồm có: KS, m,
, c, T.
Quá trình giải mã thuỷ vân sẽ được thực hiện thông qua ba bước chính:
Phân hoạch, giải mã và bầu chọn theo đa số
+ Phân hoạch tập dữ liệu chứa thuỷ vân: Kỹ thuật phân hoạch này đã
được trình bày kỹ trong phần [3.1]. Đầu vào bao gồm:
i) Bộ dữ liệu đã thuỷ vân DW
ii) Khoá bí mật KS
iii) Số phần phân hoạch m
Bộ dữ liệu đạt được DW là các phần phân hoạch
10 ,..., mSS
. Mỗi phần sẽ
chứa một bit thuỷ vân đơn đã được mã hoá trong đó.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 47 -
+ Giải mã để lấy ra bít đã nhúng: Sử dụng lược đồ giải mã ngưỡng dựa
vào ngưỡng tối ưu T làm cực tiểu hoá xác suất xảy ra lỗi giải mã như đã nói
trong phần [3.2.4]. Nếu kích cỡ phần dữ liệu nhỏ hơn
thì bít giải mã không
được thực hiện, ngược lại thì nó được giải mã nhờ lược đồ giải mã ngưỡng.
Thuỷ vân
01 ,..., bbW l
được nhúng vài lần trong bộ dữ liệu, mỗi bít thuỷ
vân được lấy ra vài lần ở nơi mà bít
ib
được lấy ra từ phần
kS
với
ilk mod
.
Các bít lấy ra được giải mã nhờ kỹ thuật bầu chọn theo đa số. Mỗi bít
ib
được
lấy ra
l
m
lần .
+ Kỹ thuật bầu chọn theo đa số: Bit bi được quyết định bởi số lượng bit 0
hay bit 1 trong tổng số bit của bi được giải mã ra. Ví dụ nếu bit b2 được nhúng
10 lần vào cơ sở dữ liệu, sau khi giải mã, kết quả giải mã thuỷ vân thu được
giả sử là 7 bit 0 và 3 bit 1. Vậy kết luận của kỹ thuật bình chọn theo đa số là
bit b2 là bit 0 (b2 = 0). Với kỹ thuật bầu chọn theo đa số này thuỷ vân nhận
được sẽ bền vững trước một số tấn công như chèn thêm dữ liệu, sửa đổi dữ
liệu, hoặc ngay cả xoá dữ liệu, bởi vì ngưỡng giải mã được chọn tuân thủ theo
nguyên lý xác suất thống kê nhằm làm cực tiểu hoá lỗi giải mã.
Thuật toán phát hiện thuỷ vân như sau:
Algorithm: detect_watermark
Input: Tập dữ liệu đã thuỷ vân Dw, m, c,
, Ks, T
*, độ dài thuỷ vân l
Output: Chuỗi thuỷ vân đã nhúng WD
1. Set ones[0,.., l-1] 0 //Tập các bit giải mã là bit 1
2. Set zeros[0,.., l-1] 0 //Tập các bit giải mã là bit 0
3. S0,…., Sm-1 get_pertitions(Dw, Ks, m)
4. for j = 0 to m – 1
5. if |Sj|
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 48 -
6. i j mod l
7. value (Sj, 0, c)
8. if value T*
9. ones[i] ones[i] + 1
10. else
11. zeros[i] zeros[i] + 1
12. for j = 0 to l -1
13. if ones[j] > zeros[j]
14. WD[j] 1
15. else if ones[j] < zeros[j]
16. WD[j] 0
17. else
18. WD[j] x
19. Return WD
Trường hợp quan hệ đa thuộc tính thì sự đàn hồi ( bền vững) thuỷ vân
được tăng lên do nhúng thuỷ vân trong nhiều thuộc tính.
3.4. Kết quả thực nghiệm
Bộ dữ liệu thực nghiệm trong luận văn này là bộ dữ liệu tự tạo được giả
định là số liệu điện sinh hoạt của một vùng nào đó, bộ dữ liệu này bao gồm
8000 bộ. Để cho đơn giản trong quá trình cài đặt và thực nghiệm, giả sử bộ dữ
liệu chỉ bao gồm 2 trường, một trường là khoá chính của quan hệ, một trường
là trường được chọn để nhúng thuỷ vân.
Các thông số dùng cho quá trình thí nghiệm bao gồm:
+ Hàm băm: MD5
+ Khoá bí mật: KS = 97
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 49 -
+ Số phân vùng: m = 30
+ Tham số bí mật c = 0.75
+ Chuỗi bit đem nhúng (watermark): 10101
+ Kích cỡ nhỏ nhất của 1 phân vùng: = 10
+ Số cặp dùng cho quá trình sinh sản của GA: 5 cặp = 10 cá thể
+ Số thế hệ tiến hoá: 50
+ Số cá thể khởi tạo ngẫu nhiên ban đầu: 50
+ Ràng buộc thay đổi dữ liệu: 8%% (0.008)
Bộ dữ liệu được thiết kế chứa trong file định dạng Excel với tên là
Data.xls
Tác giả dùng Matlab 7.04 làm môi trường cài đặt ứng dụng.
Thí nghiệm được chạy trên hệ thống có cấu hình Intel Pentium IV 2
Ghz, 512 MB Ram.
Sau nhiều lần chạy thử nghiệm tác giả nhận thấy, tốc độ giải mã thuỷ
vân nhanh hơn gấp nhiều lần tốc độ nhúng thuỷ vân (trung bình từ 10 đến 15
lần).
Thử nghiệm với các tấn công kết quả như sau: Thực hiện tấn công mỗi
kiểu tấn công 20 lần, mỗi lần tác động trên các số lượng bản ghi khác nhau,
kết quả thống kê như bảng 2 dưới đây.
Căn cứ vào bảng đã thống kê các tấn công sau các quá trình thực
nghiệm tác giả có nhận xét như sau:
+ Tỉ lệ thành công của kiểu tấn công thay đổi dữ liệu là cao nhất. Khi
thay đổi các thông số đầu vào như khoảng cho phép dữ liệu thay đổi là 0.05,
số lượng bộ bị thay đổi là 7500 (trên tổng số 8000 bộ) tương đương với trên
90% tổng số bộ bị thay đổi thì tỉ lệ thành công khi giải mã thuỷ vân vẫn là
trên 60% (khoảng 63%).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 50 -
+ Tỉ lệ giải mã thuỷ vân thành công của kiểu tấn công xoá bộ kém hơn
so với kiểu tấn công thay đổi dữ liệu.
i) Với số lượng bộ cho phép xoá đi là 30% tổng số bộ thì tỉ lệ
giải mã thành công là trên 40%.
ii) Với 50% số bộ bị xoá thì tỉ lệ giải mã thành công/thất bại là
trên 15%.
+ Tỉ lệ giải mã thuỷ vân thành công/thất bại của kiểu tấn công chèn
thêm bộ vào cơ sở dữ liệu là thấp nhất.
i) Nếu chèn trung bình khoảng 7.5% đến 8% tổng số bộ vào
cơ sở dữ liệu thì tỉ lệ giải mã thành công là 50%
ii) Nếu chèn thêm trên 10% (khoảng 12%) số lượng bộ mới
vào cơ sở dữ liệu thì tỉ lệ giải mã thành công là 0%
Các thông số trên cũng có thể bị thay đổi nếu thay đổi các thông số đầu
vào như: Tăng hoặc giảm khoảng thay đổi cho phép trên dữ liệu khi nhúng
thuỷ vân; độ ngẫu nhiên của việc tấn công (phá hoại); số lượng phân vùng đi
kèm với độ lớn của dữ liệu (tổng số bộ).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 51 -
Loại
tấn
công
Số bản ghi bị tác
động
100 200 300 500 600 1000 1500 2000 2500 3000 4000 5000 6000 7000 7500
Xoá
Thành công (lần) 20 20 18 20 18 14 14 13 8 4 3 1 0 0 0
Thất bại (lần) 0 0 2 0 2 6 6 7 12 16 17 19 20 20 20
Chèn
Thành công (lần) 20 20 20 17 10 0 0 0 0 0 0 0 0 0 0
Thất bại (lần) 0 0 0 3 10 20 20 20 20 20 20 20 20 20 20
Sửa
Thành công (lần) 20 20 20 18 19 17 19 18 18 18 16 12 11 11 12
Thất bại (lần) 0 0 0 2 1 3 1 2 2 2 4 8 9 9 8
Bảng 2. Thống kê các tấn công với số lần tấn công là 20
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 52 -
KẾT LUẬN VÀ KIẾN NGHỊ
Như vậy, để tiến hành thuỷ vân và giải mã thuỷ vân cơ sở dữ liệu quan
hệ, quá trình thực hiện cần được tiến hành qua hai phần chính là nhúng thuỷ
vân và giải mã thuỷ vân đã nhúng.
Việc nhúng thuỷ vân được thực hiện thông qua ba bước nhỏ đó là: Phân
hoạch bộ dữ liệu, nhúng thuỷ vân vào các phân hoạch và tính toán ngưỡng tối
ưu giải mã.
+ Mục đích của phân hoạch là chia nhỏ bộ dữ liệu thành các nhóm bản
ghi (phân hoạch) sao cho trong mỗi nhóm các bản ghi được chọn trong cơ sở
dữ liệu là ngẫu nhiên. Để tăng tính ngẫu nhiên và đảm bảo tính bí mật trong
quá trình lựa chọn các bản ghi khi phân vào mỗi phân vùng thì quá trình phân
hoạch được thực hiện với hàm băm mật mã (HMAC). Một số dạng hàm băm
đáp ứng được các tiêu chí này có thể được áp dụng như MD5, SHA-0, SHA-
1… Việc lựa chọn hàm băm cũng có ảnh hưởng đến tốc độ tính toán khi phân
hoạch dữ liệu, điều này tuỳ thuộc vào số word được lựa chọn khi sử dụng các
hàm băm này.
+ Việc nhúng thuỷ vân sẽ được tính toán một cách hợp lý để đảm bảo
những thay đổi trong dữ liệu là trong giới hạn cho phép. Thuật toán GA được
áp dụng trong phần này nhằm tính toán các giá trị tối ưu để chèn các bit vào
các phân hoạch. Việc giải bài toán tối ưu áp dụng giải thuật GA nhằm đưa ra
hai tập thống kê Xmax và Xmin sao cho các phân phối trên hai tập này là cách
xa nhau, điều này sẽ giúp làm cực tiểu hoá lỗi giải mã, đồng thời cũng là điểm
mấu chốt giúp cho kỹ thuật thuỷ vân này đàn hồi hơn trước các tấn công
thông thường.
+ Căn cứ vào hai tập thống kê Xmax và Xmin được lưu lại trong quá trình
nhúng bit thuỷ vân, nguyên tắc xác suất thống kê được áp dụng để tính toán ra
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 53 -
ngưỡng giải mã tối ưu cho bài toán này. Việc chọn ngưỡng giải mã tối ưu sẽ
có ảnh hưởng rất lớn đến tính chính xác của quá trình giải mã, đặc biệt là
trong trường hợp dữ liệu đã thuỷ vân bị tấn công.
Quá trình giải mã thuỷ vân cũng được thực hiện qua ba bước là: Phân
hoạch bộ dữ liệu đã nhúng thuỷ vân, giải mã thuỷ vân, và bình chọn theo đa
số. Trong quá trình giải mã thuỷ vân này sẽ sử dụng một số tham số của quá
trình nhúng thuỷ vân như các tham số bí mật (số phần phân hoạch, khoá bí
mật), các tập thống kê Xmax, Xmin. Với kỹ thuật giải mã dùng phương pháp
bình chọn theo đa số thì quá trình giải mã không cần thông tin về dữ liệu gốc
những vẫn có thể giải mã ra được thuỷ vân đã nhúng.
Mặc dù kỹ thuật thuỷ vân sử dụng GA để giải bài toán tối ưu trong
trường hợp này là rất phù hợp, tuy nhiên kỹ thuật GA này chỉ áp dụng trong
những ứng dụng với các bài toán không lồi, không tuyến tính cao và không
yêu cầu quá khắt khe về thời gian tính toán. Kỹ thuật GA cần được nghiên
cứu thêm để cải tiến về tốc độ tính toán cũng như làm giải quyết vấn đề tối ưu
hoá tốt hơn nữa.
Hướng nghiên cứu tiếp theo để phát triển đề tài theo tác giả đề nghị là:
+ Cải tiến hàm giấu để GA hội tụ nhanh hơn nhằm làm tăng tốc độ
nhúng thuỷ vân.
+ Cải tiến cách sinh sản của các cá thể trong quần thể để GA có được
những kết quả tối ưu tốt hơn.
+ Cải tiến hàm đánh giá của GA để có được sự đa dạng các cá thể trong
quần thể của GA nhằm thu được các cá thể tốt hơn sau mỗi lần tiến hoá.
+ Nghiên cứu giải pháp để tránh trường hợp tối ưu cục bộ (giả tối ưu).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 54 -
PHỤ LỤC
Các hàm băm được ứng dụng trong nhiều lĩnh vực, chúng thường được
thiết kế phù hợp với từng ứng dụng. Một hàm băm tốt là một phép biến đổi
"một chiều", nghĩa là không có một phương pháp thực tiễn để tính toán được
dữ liệu vào nào đó tương ứng với giá trị băm mong muốn, khi đó việc giả
mạo sẽ rất khó khăn. Một hàm một chiều mật mã học điển hình không có tính
chất hàm đơn ánh và tạo nên một hàm băm hiệu quả.
Các hàm băm dành cho việc phát hiện và sửa lỗi tập trung phân biệt các
trường hợp mà dữ liệu đã bị làm nhiễu bởi các quá trình ngẫu nhiên. Khi các
hàm băm được dùng cho các giá trị tổng kiểm, giá trị băm tương đối nhỏ có
thể được dùng để kiểm chứng rằng một file dữ liệu có kích thước tùy ý chưa
bị sửa đổi. Hàm băm được dùng để phát hiện lỗi truyền dữ liệu. Tại nơi gửi,
hàm băm được tính cho dữ liệu được gửi, giá trị băm này được gửi cùng dữ
liệu. Tại đầu nhận, hàm băm lại được tính lần nữa, nếu các giá trị băm không
trùng nhau thì lỗi đã xảy ra ở đâu đó trong quá trình truyền. Việc này được
gọi là kiểm tra dư (redundancy check).
* Hàm băm MD5 (Message-Digest algorithm 5)
MD5 là một hàm băm để mã hoá với giá trị băm là 128bit. 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.
MD5 được thiết kế bởi Ronald Rivest vào năm 1991 để thay thế cho
hàm băm trước đó, MD4 (cũng do ông thiết kế, trước đó nữa là MD2).
MD5 có 2 ứng dụng quan trọng:
1/ MD5 được sử dụng rộng rải trong thế giới phần mềm để đảm bảo rằng
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 55 -
tập tin tải về không bị hỏng. 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.
2/ MD5 được dùng để mã hoá mật khẩu. Mục đích của việc mã hoá 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 rất dài (đủ để làm nản lòng kẻ tấn công).
Thuật giải
MD5 biến đổi một thông điệp có chiều dài bất kì thành một khối có
kích thước cố định 128 bits. Thông điệp đưa vào sẽ được cắt thành các khối
512 bits. Thông điệp được đưa vào bộ đệm để chiều dài của nó sẽ chia hết cho
512. Bộ đệm hoạt động như sau:
- Trước tiên nó sẽ chèn bit 1 vào cuối thông điệp.
- Tiếp đó là hàng loạt bit Zero cho tới khi chiều dài của nó nhỏ hơn bội
số của 512 một khoảng 64 bit .
- Phần còn lại sẽ được lấp đầy bởi một số nguyên 64 bit biểu diễn
chiều dài ban đầu của thông điệp.
Thuật toán chính của MD5 hoạt động trên một bộ 128 bit. Chia nhỏ nó
ra thành 4 từ 32 bit, kí hiệu là A,B,C và D. Các giá trị này là các hằng số
cố định. Sau đó thuật toán chính sẽ luân phiên hoạt động trên các khối 512
bit. Mỗi khối sẽ phối hợp với một bộ. Quá trình xữ lý một khối thông điệp
bao gồm 4 bước tương tự nhau, gọi là vòng (“round”). Mỗi vòng lại gồm 16
quá trình tương tự nhau dựa trên hàm một chiều F, phép cộng module và phép
xoay trái…
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 56 -
Hình bên dưới mô tả một quá trình trong một vòng. Có 4 hàm một chiều F
có thể sử dụng. Mỗi vòng sử dụng một hàm khác nhau.
Hàm băm MD5 (còn được gọi là hàm tóm tắt thông điệp - message
degests) sẽ trả về một chuỗi số thập lục phân gồm 32 số liên tiếp. Dưới đây là
các ví dụ mô tả các kết quả thu được sau khi băm.
MD5("K6CH") = 56861ffa22479429ba47cffeca03304e
MD5("k6ch") = 11df758de80935b75b2a7bc1479aa164
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 57 -
TÀI LIỆU THAM KHẢO
[1]. “Nghiên cứu và Phát triển Kỹ thuật Thuỷ vân Cơ sở Dữ liệu Quan hệ”,
Báo cáo kết quả nghiên cứu của đề tài cơ sở 2008, 12/2008, Phòng CSDL
& LT.
[2]. Bùi Thế Hồng, Nguyễn Thị Thu Hằng, Lƣu Thị Bích Hƣơng, “Thủy
vân cơ sở dữ liệu quan hệ”, Tạp chí Khoa học & Công nghệ, ĐH Thái
Nguyên, 2009.
[3]. Vũ Ba Đình, “Giấu thông tin trong cơ sở dữ liệu không gian”, Tạp chí
nghiên cứu khoa học kỹ thuật và công nghệ Quân sự, số 4, 30-37
[4]. Vũ Ba Đình, Nguyễn Xuân Huy, “Thuộc tính chẵn lẻ áp dụng trong kỹ
thuật giấu tin bền vững”, Kỷ yếu Hội thảo FAIR: Nghiên cứu cơ bản và
ứng dụng CNTT, NXB KHKT Hà Nội, 2004.
[5]. Hoàng Kiếm, “Giải thuật di truyền - Cách giải các bài toán tự nhiên trên
máy tính”, NXB Khoa học kỹ thuật, 2000.
[6]. Nguyễn Đình Thúc, “Trí tuệ nhân tạo – Lập trình tiến hoá”, Nhà xuất bản
Giáo dục.
[7]. R. Agrawal, J. Kiernan, “Watermarking Relational Databases” in
Proceedings of the 28th VLDB Conference, Hong Kong, China, 2002.
[8]. R. Agrawal, P. J. Haas, and J. Kiernan. “Watermarking relational data:
framework, algorithms and analysis*”. The VLDB Journal (2003).
[9]. R. Sion, M. Atallah, S. Prabhakar.“Watermarking Relational
Databases” CERIAS TR 2002-28*. Center for Education and Research in
Information Assurance, Computer Sciences, Purdue University, 2002.
[10]. R. Sion, M. Atallah, and S. Prabhakar. “Rights Protection for
Relational Data”. IEEE Transactions on Knowledge and Data
Engineering, 16(6), June 2004.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 58 -
[11]. R. Sion, “Proving ownership over categorical data”. ICDE 2004.
[12]. E. Bertino, B.C Ooi, Y.Yang, and R. Deng, “Privacy and ownership
preserving of outsourced medical data”. ICDE 2005.
[13]. Y. Li, H. Guo, and S. Jajodia, “Tamper Detection and Localization for
Categorical Data Using Fragile Watermarks”. DRM 2004
[14]. H. Guo, Y. Li, A. Liu, and S. Jajodia, “A Fragile Watermarking Scheme
for Detecting Malicious Modifications of Database Relations”. IS 2006
[15]. R. Sion, M. Atallah, and S. Prabhakar, “Rights Protection for Relational
Data”. SIGMOD 2003.
[16]. Y. Li, V. Swarup, and S. Jajodia, “Fingerprinting Relational Databases:
Schemes and Specialties”. TDSC 2005
[17]. Y. Li, H. Guo, and S. Wang, “A Multi-Bit Watermark for Relational
Data”. JDM 2007
[18]. Y. Li and R. Deng, “Publicly Verifiable Ownership Protection for
Relational Databases”. ASIACCS 2006
[19]. Y. Li, V. Swarupand S. Jajodia, “Constructing a Virtual Primary Key for
Fingerprinting Relational Data”. DRM 2003
[20]. J. Guo, Y. Li, R. Deng, and K. Chen, “Rights Protection for Data
Cubes”. ISC 2006
[21]. R. Sion, M. Atallah, and S. Prabhakar, “Resilient Rights Protection for
Sensor Streams”. VLDB 2004
[22]. M. Shehab, E. Bertino, A. Ghafoor. “Watermarking Relational
Databases using Optimization Based Techniques”. CERIAS Tech Report
2006-41.
[23]. MichaelArnold, MartinSchmucker, StephenD.Wolthusen, “Techniques
and Applications of Digital Watermarking and ContentProtection”,
ISBN1-58053-111-3, Tr. 15-53, 2003.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
- 59 -
[24]. Saraju P. Mohanty, “Digital Watermarking : A Tutorial Review”, Dept of
Comp Sc and Eng, Unversity of South Florida. 2001.
[25]. J.J. Eggers, “Information embedding and digital watermarking”,
Standford University, 2002.
[26]. Juergen Seitz University of Cooperative Education Heidenheim, Germany,
“Digital watermarking for digital media”, ISBN 1-59140-520-3. Tr. 1-35.
[27]. YingjiuLi, “Database Watermarking: A Systematic View”, 2008.
[28].
f5e5c5b595f5e
[29].
[30]. www.watermarkingworld.org.
Các file đính kèm theo tài liệu này:
- 29LV09_CNTT_KHMTVuVanHuy.pdf