Kết quả thực nghiệm

Một phần của tài liệu 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 (Trang 52 - 63)

6. Cấu trúc của luận văn

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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

+ 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 http://www.lrc-tnu.edu.vn

+ 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 http://www.lrc-tnu.edu.vn 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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 http://www.lrc-tnu.edu.vn

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

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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:

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

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 http://www.lrc-tnu.edu.vn

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 http://www.lrc-tnu.edu.vn

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 http://www.lrc-tnu.edu.vn

[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 http://www.lrc-tnu.edu.vn

[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]. http://www.pcworld.com.vn/pcworld/magazine.asp?t=mzdetail&atcl_id=5

f5e5c5b595f5e

[29]. http://www.cs.stonybrook.edu/~sion/research/

Một phần của tài liệu 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 (Trang 52 - 63)

Tải bản đầy đủ (PDF)

(63 trang)