Thiết kế chƣơng trình

Một phần của tài liệu xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai (Trang 51 - 71)

3.1.2.1. Thiết kế giao diện

Chƣơng trình sử dụng ngôn ngữ Visual Studio C# và hệ quản trị CSDL SQL 2012 để thiết kế và quản lý dữ liệu.

Giao diện của chƣơng trình thử nghiệm đƣợc thiết kế theo các thuật toán đã đƣợc trình bày trong Chƣơng II. Sau khi cài đặt và chạy chƣơng trình, giao diện tƣơng ứng với mỗi quy trình nhƣ sau:

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.1 Giao diện chính của chƣơng trình

Phần 1: Chọn cơ sở dữ liệu gốc cần đƣợc bảo vệ tính toàn vẹn của dữ liệu.

Để thực hiện đƣợc bƣớc này chỉ cần kích nút chọn “Cơ sở dữ liệu gốc”. Sau đó, chọn cơ sở dữ liệu cần đƣợc bảo vệ, luận văn này sử dụng dữ liệu kết quả học tập của sinh viên đã đƣợc lƣu trong hệ quản trị CSDL SQL 2012 với tên CSDL là QUANLYDIEM_BM.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.2 Giao diện chính của chƣơng trình

Sau khi chọn đƣợc cơ sở dữ liệu gốc, kích chuột vào nút “Tạo cặp khóa” để tạo cặp khóa bí mật – công khai. Trong chƣơng trình, cặp khóa này đƣợc tạo bằng hệ mật mã RSA 1024 bit.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.3: Giao diện kết quả tạo cặp khóa

Tiếp đó thực hiện đúng nhƣ theo thuật toán, cụ thể là: Lần lƣợt kích vào các nút:

- Nút “Bƣớc 1”, tạo ra thủy vân gốc. - Nút “Bƣớc 2”, tạo ảnh chứng thực R.

- Nút “Bƣớc 3”, tạo ra bản mã SD, ảnh R đƣợc mã hóa bằng Skey.

Hình dƣới đây, minh họa kết quả thu đƣợc sau khi thực hiện các bƣớc ở trên.

Hình 3.4: Giao diện minh họa các bƣớc tạo ra mã xác thực

Phần 2: Nhƣ theo thuật toán, mã xác thực R đƣợc công khai sau khi đƣợc

mã hóa bằng khóa bí mật, cùng với khóa công khai và CSDL. Để thử nghiệm, CSDL giả định đƣợc tạo trong SQL 2012 có tên là QUANLYDIEM.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Sau khi có cơ sở dữ liệu công khai, thực hiện các bƣớc giống nhƣ thuật toán, cụ thể nhƣ sau:

- Kích nút “Bƣớc 1” để lấy bản mã SD.

- Kích nút “Bƣớc 2” để giải mã SD bằng khóa công khai.

- Kích nút “Bƣớc 3” để lấy đƣợc thủy vân WM’’ theo thuật toán. Hình dƣới đây minh họa kết quả của các bƣớc thực hiện trên.

Hình 3.5: Giao diện minh họa các bƣớc lấy thủy vân WM’’

Sau khi lấy đƣợc thủy vân số WM’’, để kiểm tra xem cơ sở dữ liệu công khai có bị tấn công không, kích nút “Kiểm tra”. Chƣơng trình sẽ hiển thị thông báo và đánh dấu màu đỏ các bản ghi bị thay đổi.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.6: Giao diện thông báo kết quả kiểm tra dữ liệu

Hình 3.7: Giao diện kết quả kiểm tra dữ liệu

3.1.2.2. Cấu trúc cơ sở dữ liệu

Dữ liệu đƣợc quan tâm là dữ liệu kết quả học tập của sinh viên tại một trƣờng đại học. (adsbygoogle = window.adsbygoogle || []).push({});

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Giả sử dữ liệu có:

- Số lƣợng sinh viên: 2000 sinh viên - Tổng số học phần: 10.000 học phần

- Kết quả học tập của sinh viên bao gồm có các thông tin nhƣ bảng dƣới đây: Bảng 3.1: Thông tin kết quả học tập của sinh viên

TT Tên Giải thích Kiểu dữ liệu

1. ID Khóa chính Int

2. Mã sinh viên Mã sinh viên Nvarchar 3. Tên học phần Tên học phần đã học Nvarchar 4. Số tín chỉ Số tín chỉ của học phần Nvarchar 5. Điểm CC Điểm chuyên cần Nvarchar 6. Điểm TX Điểm kiểm tra trong kỳ Nvarchar 7. Điểm TX2 Điểm kiểm tra trong kỳ 2 Nvarchar

8. TL1 Điểm thi lần 1 Nvarchar

9. TL2 Điểm thi lần 2 Nvarchar

10. TK1 Điểm tổng kết thi lần 1 Nvarchar 11. TK2 Điểm tổng kết thi lần 2 Nvarchar 12. Tổng kết Điểm tổng kết học phần Nvarchar

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

13. TK thang 4 Điểm tổng kết theo tín chỉ Nvarchar

Dữ liệu này đƣợc quản lý bằng hệ quản trị CSDL SQL 2012, bao gồm hai bộ CSDL.

 Bộ CSDL thứ nhất có tên là QUANLYDIEM_BM, dùng để quản lý CSDL gốc, có một bảng dữ liệu: [tblDiemTK].

 Bộ CSDL thứ hai có tên là QUANLYDIEM, dùng để quản lý CSDL công khai, gồm các bảng CSDL giúp kiểm tra kết quả của các mô hình thử nghiệm đƣợc đƣa ra trong phần tiếp theo.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

3.2. Thử nghiệm chương trình

Thử nghiệm đƣợc tiến hành trên cơ sở dữ liệu đƣợc trình bày trong phần 3.1 ở trên.

Trong thử nghiệm, thủy vân đƣợc đánh dấu ở 4 góc bằng ảnh xám kích thƣớc 30 30. Dữ liệu có 10.000 bản ghi nên kích thƣớc thủy vân WM là 100

100 với 4 góc đƣợc đánh dấu bằng ảnh xám nhƣ nói ở trên. Hình 3.9 là thủy

vân số đƣợc dùng trong thử nghiệm

Hình 3.9: Thủy vân số gốc đƣợc dùng trong thử nghiệm Các mô hình thử nghiệm nhƣ sau:

o Thực nghiệm 1: Không thay đổi dữ liệu (đƣợc lƣu trong bảng dữ liệu

tblDiemTK). Mục đích của thử nghiệm này là để kiểm tra xem chƣơng trình có đƣa ra kết quả chính xác về tính toàn vẹn của dữ liệu hay không. o Thực nghiệm 2: Thay đổi 30 bản ghi ở trƣờng dữ liệu [TL1] (đƣợc lƣu

trong bảng dữ liệu tblTancong2). Mục đích của thử nghiệm này là để tìm ra kết quả đối với 1 biến đổi nhỏ.

o Thực nghiệm 3: Thay đổi 2263 bản ghi ở trƣờng dữ liệu [Diem TK thang 4]

(đƣợc lƣu trong bảng dữ liệu tblTancong3). Mục đích của thử nghiệm này là để tìm ra kết quả đối với tác động vào dữ liệu dạng số.

o Thực nghiệm 4: Xóa trƣờng dữ liệu [Tổng kết] và thay thế bằng trƣờng dữ

liệu khác [GhiChu] (đƣợc lƣu trong bảng dữ liệu tblTancong4). Mục đích của thử nghiệm này là để tìm ra kết quả đối với một sự thay đổi lớn.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ (adsbygoogle = window.adsbygoogle || []).push({});

3.3. Đánh giá kết quả thử nghiệm

Sau khi sử dụng chƣơng trình chạy từng mô hình thử nghiệm đã đƣợc đƣa ra ở trên, kết quả thu đƣợcnhƣ sau:

o Kết quả đối với thử nghiệm 1: Kết quả của chƣơng trình khi chạy với thử

nghiệm 1 nhƣ hình dƣới đây.

Hình 3.10: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 1 Hình trên cho thấy chƣơng trình đƣa ra thông báo là cơ sở dữ liệu đảm bảo tính toàn vẹn của dữ liệu

Trong mô hình này, chƣơng trình đã đƣa ra kết quả chính xác.

Dƣới đây là hai thủy vân số tƣơng ứng cho cơ sở dữ liệu gốc và cơ sở dữ liệu đƣợc coi nhƣ lấy từ trên mạng công cộng về theo mô hình thử nghiệm 1.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

a) Thủy vân gốc WM b) Thủy vân WM

Hình 3.11: a) Thủy vân gốc; b) Thủy vân thu đƣợc sau khi không thay đổi dữ liệu theo thử nghiệm 1

o Kết quả đối với thử nghiệm 2: Kết quả của chƣơng trình khi chạy với thử

nghiệm 2 nhƣ hình dƣới đây.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.13: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 2 Hình trên cho thấy những bản ghi đƣợc đánh dấu đỏ là những bản ghi bị thay đổi dữ liệu so với dữ liệu gốc.

Từ giao diện chƣơng trình cho thấy sự thay đổi của thủy vân khó phát hiện bằng mắt thƣờng, do đó phải dùng một chƣơng trình để so sánh giữa thủy vân thu đƣợc và thủy vân gốc để tìm ra sự khác biệt.

Trong mô hình này, chƣơng trình phát hiện đƣợc 29 bản ghi bị thay đổi trên tổng số 30 bản ghi bị thay đổi. Nhƣ vậy độ chính xác phát hiện ra các bản ghi bị thay đổi là 96.7%.

Dƣới đây là hai thủy vân số tƣơng ứng cho cơ sở dữ liệu gốc và cơ sở dữ liệu bị thay đổi theo mô hình thử nghiệm 2.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

a) Thủy vân gốc WM b) Thủy vân WM

Hình 3.14: a) Thủy vân gốc; b) Thủy vân thu đƣợc sau khi thay đổi dữ liệu theo thử nghiệm 2

o Kết qủa đối với thử nghiệm 3: Kết quả của chƣơng trình khi chạy với thử

nghiệm 3 nhƣ hình dƣới đây.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Hình 3.16: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 3 Thủy vân thu đƣợc nhƣ hình 3.17b.

Trong mô hình này, chƣơng trình phát hiện đƣợc 1990 bản ghi bị thay đổi trên tổng số 2263 bản ghi bị thay đổi. Nhƣ vậy độ chính xác phát hiện ra các bản ghi bị thay đổi là 87.9%.

Dƣới đây là hai thủy vân số tƣơng ứng cho cơ sở dữ liệu gốc và cơ sở dữ liệu bị thay đổi theo mô hình thử nghiệm 3.

a) Thủy vân gốc WM b) Thủy vân WM

Hình 3.17: a) Thủy vân gốc; b) Thủy vân thu đƣợc sau khi thay đổi dữ liệu theo thử nghiệm 3

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

o Kết quả đối với thử nghiệm 4: Kết quả của chƣơng trình khi chạy với thử (adsbygoogle = window.adsbygoogle || []).push({});

nghiệm 4 nhƣ hình dƣới đây.

Hình 3.18: Giao diện thông báo kết quả sau khi chạy với mô hình thử nghiệm 4

Hình 3.19: Giao diện kết quả sau khi chạy với mô hình thử nghiệm 4 Nhìn vào hình trên, những bản ghi đƣợc đánh dấu đỏ là những bản ghi bị thay đổi dữ liệu so với dữ liệu gốc.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Thủy vân số thu đƣợc nhƣ hình 3.20b.

Thủy vân thu đƣợc gần nhƣ hoàn toàn bị phá vỡ. Trong trƣờng hợp này kết quả phát hiện đƣợc 9955 bản ghi trên tổng số 10000 bản ghi bị tác động. Nhƣ vậy độ chính xác phát hiện ra các bản ghi bị thay đổi là 99.55%.

Dƣới đây là hai thủy vân số tƣơng ứng cho cơ sở dữ liệu gốc và cơ sở dữ liệu bị thay đổi theo mô hình thử nghiệm 4.

a) Thủy vân gốc WM b) Thủy vân WM

Hình 3.20: a) Thủy vân gốc; b) Thủy vân thu đƣợc sau khi thay đổi dữ liệu theo thử nghiệm 4

Bảng 3.2: Kết quả thử nghiệm

Tấn công Tỉ lệ chính xác

Không thay đổi 100%

Thay đổi nhỏ 96,7%

Thay đổi dữ liệu ký tự 87,9%

Thay đổi lớn 99,55%

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Nhìn vào các kết quả của từng mô hình thử nghiệm cho thấy chƣơng trình đã xác định chính xác cơ sở dữ liệu nào bảo đảm tính toàn vẹn dữ liệu thể hiện trong mô hình thử nghiệm 1, phát hiện đƣợc các cuộc tấn công kể cả các cuộc tấn công nhỏ thể hiện trong mô hình thử nghiệm 2 và các cuộc tấn công thay đổi dữ liệu ký tự thể hiện trong thử nghiệm 3...

Nhƣ vậy, dựa trên độ chính xác phát hiện các thay đổi trong từng mô hình thử nghiệm. Kết quả cho thấy tính khả thi khá cao của kỹ thuật này.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

KẾT LUẬN VÀ KIẾN NGHỊ

Từ việc nghiên cứu Tổng quan về Thủy vân số, đặc biệt là ứng dụng thủy vân số trong CSDL quan hệ. Một hƣớng nghiên cứu đã đƣợc tìm ra cho luận văn, đó là: kỹ thuật thủy vân số kết hợp với cơ chế xác thực công khai để không chỉ nâng cao bảo vệ tính toàn vẹn của dữ liệu mà còn không làm mất dữ liệu. Từ đó một chƣơng trình đƣợc tiến hành cài đặt theo thuật toán đã nghiên cứu. Kết quả đạt đƣợc cho thấy thuật toán xác thực tính toàn vẹn của CSDL rất tốt và chƣơng trình cài đặt chạy ổn định. Điều này đã đƣợc chứng minh thông qua các thử nghiệm ở Chƣơng 3. Đặc biệt, chƣơng trình có thể đƣa vào ứng dụng thực tế để xác thực tính toàn vẹn của CSDL cá nhân hoặc tổ chức nào đó.

Tuy nhiên, do thời gian hạn chế luận văn chƣa nghiên cứu sâu đƣợc nhiều kỹ thuật thủy vân số khác để so sánh các kỹ thuật thủy vân với nhau trên cùng một CSDL. Trong thời gian tới, tôi sẽ tập trung tiếp tục nghiên cứu kỹ thuật thủy vân số kết hợp với cơ chế xác thực công khai để cải tiến và nâng cao độ chính xác khi xác thực tính toàn vẹn của CSDL lớn.

Trong quá trình làm luận văn, tôi đã cố gắng rất nhiều. Tuy nhiên không tránh khỏi những thiếu sót, tôi mong rằng sẽ nhận đƣợc ý kiến đóng góp của các thầy giáo, cô giáo, bạn bè, đồng nghiệp để bản luận văn ngày càng hoàn thiện hơn.

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

TÀI LIỆU THAM KHẢO

Tiếng Việt

[1]Bùi Thế Hồng, Lƣu Thị Bích Hƣơng, Nguyễn Thị Thu Hằng, “Thủy vân cơ

sở dữ liệu quan hệ ”, Tạp chí KHCN, ĐH Thái Nguyên, tr 56-59, Số 4,

năm 2009;

[2]Bùi Thế Hồng, Lƣu Thị Bích Hƣơng, “Một lược đồ thủy vân cho cơ sở dữ (adsbygoogle = window.adsbygoogle || []).push({});

liệu quan hệ có dữ liệu phân loại”, Tạp chí Tin học và Điều khiển học, tr.

92-103, Số 1, 2013

Tiếng Anh

[3]Agrawal, R., Haas, P. J., and Kiernan, J. (2003a). A system for watermarking relational databases. In Proceeding of the 2003 ACM SIGMOD intermational conference on Management of data (SIGMOD ’03), pages 674-674, San Diego, California. ACM Press.

[4]Agrawal, R., Haas, P. J., and Kiernan, J. (2003b). Watermarking relational data: framework, algorithms and analysis. The VLDB Journal,

12:157-169.

[5]Raju Halder, Shantanu Pal and Agostino Cortesi (2010), “Watermarking Techniques for Relational Databases: Survey,

Classification and Comparison”, Journal of Universal Computer

Science, vol. 16, no. 21, 3164-3190

[6] Agrawal, R. and Kiernan, J. (2002). Watermarking relational databases. In Proceeding of the 28th international conference on Very Large Data Bases (VLDB ’02), pages 155-166, Hong Kong, China. VLDB Endowment.

[7]Lafaye, J. (2007). An analysis of database watermarking security. In Proceeding of the 3rd International Symposium on Information Assurance

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

and Security (IAS ’07), pages 462-467, Manchester, United Kingdom. IEEE Computer Society.

[8]Meng-Hsiun Tsai1, Hsiao-Yun Tseng, Chen-Ying Lai, “A Database

Watermarking Technique for Temper Detection”, 2010

[9]Qin, Z., Ying, Y., Jia-jin, L., and Yi-shu, L. (2006). Watermark based copyright protection of outsourced database. In Proceeding of the 10th International Database Engineering and Applications Symposium (IDEAS’ 06), pages 301-308, Delhi, India. IEEE Computer Society.

[10] Hu, Z., Cao, Z., and Sun, J. (2009). An image based algorithm for watermarking relational databases. In Proceeding of the 2009 International Conference on Measuring Technology and Mechatronics Automation (ICMTMA ’09), pages 425-428, Zhangjiajie, Hunan, China. IEEE Computer Society.

[11] Guo, H., Li,. Y., Liua, A., and Jajodia, S. (2006b). A fragile watermarking scheme for detecting malicious modifications of database relations. Information Sciences, 176:1350-1378.

[12] Zhang, Y., Niu, X., and Zhao, D. (2005), “A method of protecting

relational databases copyright with cloud watermark”. International

Journal of Information Technology Volume 1 Number 3, pages 112-116 [13] Prasannakumari, V. (2009). A robust tamper proof watermarking for

data integrity in relational databases. Research Journal of Information Technology, 1:115-121.

[14] Li, Y. and Deng, R. H. (2006). Publicly verifiable ownership protection

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/

Information, computer and communication security (ASIACCS ’06), pages 78-89, Taipei, Taiwan. ACM Press.

[15] Kamel, I. (2009). A schema for protecting the integrity of databases.

Computers and Security, 28:698-709.

[16] Halder, R. and Cortesi, A. (2010a). A persistent public watermarking of

relational databases. In Proceeding of the 6th International Conference on

Information Systems Security (ICISS ’10), pages 219-230, Gandhinagar, Gujarat, India. Springer LNCS, Volume 6503. (adsbygoogle = window.adsbygoogle || []).push({});

[17] Huang, M., Cao, J., Peng, Z., and Fang, Y. (2004). A new watermark mechanism for relational data. In Proceeding of the 4th International Conference on Computer and Information Technology (CIT ’04), pages 946-950, Wuhan, China. IEEE Computer Society.

[18] Bedi R., Thengade A., Wadhai V. (2011), “A New Watermarking

Approach for Non Numeric Relational Database”. International Journal of

Một phần của tài liệu xác thực sự toàn vẹn của cơ sở dữ liệu quan hệ bằng kỹ thuật thủy vân số dựa vào hệ mật mã khóa công khai (Trang 51 - 71)