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 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...

pdf63 trang | Chia sẻ: hunglv | Lượt xem: 1362 | Lượt tải: 0download
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á: imax )( 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:

  • pdf29LV09_CNTT_KHMTVuVanHuy.pdf
Tài liệu liên quan