Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 47 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
47
Dung lượng
2,27 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU ĐỒ THỊ TRONG NEO4J LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Đồng Nai – Năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG *** ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU ĐỒ THỊ TRONG NEO4J Chuyên ngành : Công nghệ thông tin Mã số: 8480201 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Đồng Nai – Năm 2022 LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn sản phẩm riêng cá nhân, kết trình học tập nghiên cứu khoa học độc lập Trong toàn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Đồng Nai, ngày tháng Học viên năm 2022 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy cô Trường Đại học Lạc Hồng, tận tình dạy dỗ, giúp đỡ tạo điều kiện tốt cho em suốt quãng thời gian em theo học trường, để em hồn thành luận văn Em tỏ lịng biết ơn sâu sắc với PGS.TS , người thầy tận tình hướng dẫn khoa học giúp đỡ, bảo em suốt q trình nghiên cứu hồn thành luận văn Xin chân thành cảm ơn đến người thân gia đình động viên, anh chị đồng nghiệp với bạn bè lớp tạo khích lệ, tạo điều kiện giúp đỡ tơi suốt q trình thực hồn thành luận văn Mặc dù có nhiều cố gắng để thực đề tài cách hoàn chỉnh nhất, song thiếu sót điều khơng thể tránh khỏi Rất mong nhận đóng góp q Thầy, Cơ đồng nghiệp Xin trân trọng cảm ơn! MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN DANH SÁCH CÁC HÌNH ẢNH DANH MỤC CÁC BẢNG CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan sở liệu đồ thị thuộc tính 1.2 Cơ sở liệu đồ thị Neo4j 1.3 Đặt vấn đề đảm bảo tính riêng tư cho liệu đồ thị thuộc tính 1.4 Các cơng trình liên quan 1.5 Cây khái quát hoá (Generalization hierarchy) 1.6 Thuật toán graph pertubation 1.7 Thuật toán ẩn danh k-Degree anonymity CHƯƠNG 2: CÁC LÝ THUYẾT LIÊN QUAN 10 2.1 Thuật toán Mondrian Multidimensional K-Anonymity 10 2.2 Thuật toán k-Degree anonymity 12 2.3 Các độ đo kết 12 2.3.1 Discernability metric 12 2.3.2 Normalized average equivalence class size metric 13 2.3.3 Normalized Certainty Penalty metric 13 2.3.4 Degree anonymization cost 13 2.4 Các câu truy vấn ngôn ngữ Cypher 14 2.4.1 Tạo nút mạng 14 2.4.2 Tạo quan hệ nút 14 2.4.3 Xoá nút mạng 14 2.4.4 Xoá quan hệ nút 15 2.4.5 Cập nhật giá trị nút 15 2.4.6 Tìm kiếm nút hay quan hệ mạng 15 CHƯƠNG 3: XÂY DỰNG MƠ HÌNH 16 3.1 Kiến trúc ứng dụng 16 3.2 Các công nghệ để thực ứng dụng 17 3.2.1 Yêu cầu hệ thống 17 3.2.2 Thư viện xây dựng giao diện người dùng ReactJS 17 3.2.3 Phần mềm Node.js 17 3.2.4 Ngôn ngữ lập trình Python 17 3.3 Tổng quan mã nguồn ứng dụng 18 3.4 Chức ứng dụng 18 3.4.1 Ẩn danh hoá liệu giải pháp khái quát 19 3.4.2 Ẩn danh hoá liệu thuật toán Mondrian Multidimensional KAnonymity 24 3.4.3 Ẩn danh hoá liệu thuật toán ẩn danh hoá đồ thị k-Degree anonymity 26 3.4.4 Đăng ký đăng nhập 27 3.4.5 Quản lý kết nối đến sở liệu đồ thị thuộc tính 28 3.4.6 Xem liệu sở liệu đồ thị (Database Overview) 29 CHƯƠNG 4: KẾT QUẢ KIỂM THỬ ỨNG DỤNG 32 4.1 Cấu hình máy tính chạy kiểm thử 32 4.2 Kết kiểm thử với thuật toán Mondrian 33 4.3 Kết kiểm thử với thuật toán ẩn danh đồ thị k-Degree anonymity Graph pertubations 34 CHƯƠNG 5: KẾT LUẬN 37 DANH MỤC CÁC TÀI LIỆU THAM KHẢO DANH SÁCH CÁC HÌNH ẢNH Hình 1-1 Ví dụ mơ hình đồ thị thuộc tính .1 Hình 1-2 Mơ tả tập liệu Hình 1-3 Bảng liệu biến đổi để thoả mơ hình k-anonymity với k=2 Hình 1-4 Ví dụ minh hoạ kỹ thuật Suppression Hình 1-5 Ví dụ khái quát .8 Hình 2-1 Ví dụ điểm liệu áp dụng Mondrian 11 Hình 2-2 Bảng liệu sau ẩn danh Mondrian 12 Hình 3-1 Kiến trúc ứng dụng .16 Hình 3-2 Các bước ẩn danh liệu khái quát .19 Hình 3-3 Ví dụ chọn Manual Config 19 Hình 3-4 Cấu hình khái quát 21 Hình 3-5 Chọn giải pháp ẩn danh thuộc khái quát 22 Hình 3-6 Kết ẩn danh khái quát .23 Hình 3-7 Tạo task ẩn danh hoá liệu 23 Hình 3-8 Cấu hình thuật toán thuật toán Mondrian .24 Hình 3-9 Ví dụ cấu hình thuật tốn thuật tốn Mondrian 25 Hình 3-10 Cấu hình l-Diversity 25 Hình 3-11 Kết l-Diversity .26 Hình 3-12 Cấu hình cho thuật tốn k-Degree Anonymity 27 Hình 3-13 Trang đăng ký .27 Hình 3-14 Trang đăng nhập 28 Hình 3-15 Trang quản lý kết nối 29 Hình 3-16 Trang xem sở liệu dạng đồ thị 30 Hình 3-17 Trang xem sở liệu dạng bảng 30 Hình 3-18 Trang thêm hay xuất liệu .31 Hình 4-1 Giấy xác nhận sử dụng liệu đơn vị 32 Hình 4-2 Bảng liệu thơ đơn vị 33 Hình 4-3 Kết chạy thuật tốn Mondrion 34 Hình 4-4 Kết chạy thuật toán k-degree anonymity Graph pertubations 35 DANH MỤC CÁC BẢNG Bảng 4-1 Kết kiểm thử với thuật toán Mondrion 34 Bảng 4-2 Kết kiểm thử với thuật toán k-Degree anonymity 36 Bảng 4-3 Kết kiểm thử với thuật toán Graph pertubations 36 CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tổng quan sở liệu đồ thị thuộc tính Cơ sở liệu đồ thị [1] hệ thống lưu trữ sử dụng cấu trúc đồ thị với nút cạnh, để biểu diễn lưu trữ liệu Mô hình đồ thị sử dụng phổ biến ngữ cảnh sở liệu đồ thị gọi mơ hình đồ thị thuộc tính - Attributed Graph Model (có nhãn) Mơ hình đồ thị thuộc tính chứa thực thể kết nối (các nút) chứa số lượng thuộc tính (thuộc tính) biểu thị dạng cặp khóa-giá trị Các nút cạnh gắn thẻ nhãn thể vai trò khác chúng miền ứng dụng Một số cách tiếp cận gọi nhãn loại Nhãn dùng để đính kèm siêu liệu — mục thông tin ràng buộc — vào số nút định Các mối quan hệ cung cấp kết nối có hướng, có liên quan mặt ngữ nghĩa (các cạnh) hai nút Một mối quan hệ ln có hướng, nút bắt đầu nút kết thúc Giống nút, mối quan hệ có thuộc tính Thơng thường, mối quan hệ có thuộc tính định lượng, chẳng hạn trọng lượng, chi phí, khoảng cách, xếp hạng khoảng thời gian Thuộc tính làm cho nút cạnh mang tính mơ tả thực tế Cả hai nút cạnh xác định mã định danh Ví dụ mơ hình đồ thị thuộc tính (Hình 1-1) với thực thể là: Employee, Company City Các mối quan hệ là: Company HAS_STAFF Employee { Tên: “Johnny Chen” ; Năm sinh: 1994 } hay Company LOCATED_IN City Hình 1-1 Ví dụ mơ hình đồ thị thuộc tính Khi mối quan hệ lưu trữ hiệu quả, hai nút chia sẻ số lượng mối quan hệ thuộc loại khác mà không làm giảm hiệu suất Lưu ý chúng định hướng mối quan hệ ln điều hướng hướng Trên thực tế, mơ hình đồ thị thuộc tính liên quan đến cấu trúc liệu lý thuyết đồ thị gọi “labelled and directed attributed multigraphs” Cơ sở liệu đồ thị tập trung vào: Xử lý liệu kết nối tốc độ cao Linh hoạt mơ hình liệu sử dụng đằng sau đồ thị sử dụng Hiệu suất đặc biệt cao cho lần đọc cục bộ, cách duyệt qua 1.2 Cơ sở liệu đồ thị Neo4j Cơ sở liệu đồ thị Neo4j [2] sở liệu đồ thị gốc, NoSQL, mã nguồn mở, cung cấp phần phụ trợ giao dịch tuân thủ ACID cho ứng dụng Sự phát triển ban đầu bắt đầu vào năm 2003, đến năm 2007 công bố rộng rãi Mã nguồn, viết Java Scala, có sẵn miễn phí GitHub dạng tải xuống ứng dụng máy tính thân thiện với người dùng Neo4j có phiên cộng đồng phiên doanh nghiệp sở liệu Phiên doanh nghiệp bao gồm tất cộng đồng phải cung cấp, với yêu cầu bổ sung dành cho doanh nghiệp khả lưu, phân cụm chuyển đổi dự phòng Neo4j gọi sở liệu đồ thị gốc triển khai hiệu mơ hình đồ thị thuộc tính xuống cấp lưu trữ Điều có nghĩa liệu lưu trữ xác bạn viết bảng trắng sở liệu sử dụng trỏ để điều hướng duyệt qua đồ thị Trái ngược với xử lý đồ thị thư viện nhớ, Neo4j cung cấp đặc điểm sở liệu đầy đủ, bao gồm tuân thủ giao dịch ACID, hỗ trợ cụm chuyển đổi dự phịng thời gian chạy - làm cho phù hợp để sử dụng đồ thị cho liệu kịch sản xuất Một số tính cụ thể sau làm cho Neo4j phổ biến số nhà phát triển, kiến trúc sư nhà quản trị sở liệu: 25 đỉnh để ẩn danh Với thơng số l=7 để áp dụng thuật tốn Mondrian phù hợp với mơ hình l-diversity Hình 3-9 Ví dụ cấu hình thuật tốn thuật tốn Mondrian Bước 2: Tại trang 1, chọn cấu hình thuộc tính ẩn danh, loại liệu thuộc tính cấu hình khái qt thuộc tính Sau cấu hình xong người dùng nhấn nút “Run Morian alogrithm (l-Diversity model)” để qua bước Ví dụ: Hình 3-10 Cấu hình l-Diversity Ví dụ chọn cột để ẩn danh cột age gender Với cột thông tin nhạy cảm fnlwgt Hình 3-10 Cấu hình l-Diversity 26 Bước 3: Trang 2, xem nhận kết ẩn danh Trong kết có thêm thời gian chạy thơng số độ đo NCP (Hình 3-11 Kết l-Diversity) Hình 3-11 Kết l-Diversity 3.4.3 Ẩn danh hoá liệu thuật toán ẩn danh hoá đồ thị k-Degree anonymity Tương tự chạy thuật toán Mondrian Multidimensional K-Anonymity Tuy nhiên bước cấu hình, người dùng chọn thuật tốn k-Degree Anonymity Ví dụ (Hình 3-12 Cấu hình cho thuật tốn k-Degree Anonymity) 27 Hình 3-12 Cấu hình cho thuật tốn k-Degree Anonymity 3.4.4 Đăng ký đăng nhập Trang đăng ký Để sử dụng hệ thống người dùng đăng ký tài khoản email nhập password lặp lại lần để gửi yêu cầu đăng ký hệ thống Sau nhập email nhập password, người dùng phải nhập lại password để xác nhận, nhấn nút submit để hoàn tất yêu cầu tạo tài khoản hệ thống Hình 3-13 Trang đăng ký Trang đăng nhập Người dùng đăng nhập vào hệ thống email password đăng ký 28 Sau nhập email password, người dùng nhấn nút “Log in” để đăng nhập vào hệ thống Hình 3-14 Trang đăng nhập 3.4.5 Quản lý kết nối đến sở liệu đồ thị thuộc tính Trang quản lý danh sách kết nối có mục (Hình 3-15 Trang quản lý kết nối) Mục “Add New Connection” để thêm vào kết nối đến sở liệu đồ thị thuộc tính vào danh sách kết nối Người dùng nhập tên kết nối, địa kết nối, tên đăng nhập mật để truy cập sở liệu Sau người dùng nhấn add để thêm kết nối vào danh sách Mục “Database Connections Management” liệt kê danh sách kết nối người dùng thêm vào Mỗi dòng bảng cho người dùng nút chức năng: o View: người dùng bấm vào vào trang “Database Overview” xem hay tương tác liệu sở liệu đồ thị o Edit: thay đổi thông tin kết nối đến sở liệu quan hệ o Delete: xố kết nối khỏi danh sách kết nối 29 Hình 3-15 Trang quản lý kết nối 3.4.6 Xem liệu sở liệu đồ thị (Database Overview) Có ba mục chức trang gồm: Xem liệu trực quan dạng đồ thị thuộc tính (Hình 3-16 Trang xem sở liệu dạng đồ thị) Đây trang trực quan hố liệu đồ thị thuộc tính sở liệu Neo4j, trang cung cấp ô nhập câu truy vấn liệu đồ thị Neo4j nút kích hoạt truy vấn (Query) Từ ứng dụng truy cập lên nút truy vấn cạnh quan hệ truy vấn 30 Hình 3-16 Trang xem sở liệu dạng đồ thị Xem liệu nút đồ thị dạng bảng (Hình 3-17 Trang xem sở liệu dạng bảng) Đây trang xem nút liệu dạng bảng, số hàng tương ứng với số nút số cột tương ứng với số thuộc tính nút nhãn Hình 3-17 Trang xem sở liệu dạng bảng 31 Thêm xuất liệu vào sở liệu đồ thị (Hình 3-18 Trang thêm hay xuất liệu) Trang cho phép người dùng nhập xuất sở liệu xem Hình 3-18 Trang thêm hay xuất liệu 32 CHƯƠNG 4: KẾT QUẢ KIỂM THỬ ỨNG DỤNG 4.1 Cấu hình máy tính chạy kiểm thử tập liệu Hệ điều hành: Windows 10 Pro 64 bit Processor: 1,4 GHz Quad-Core Intel Core i7 Memory: 16 GB 2133 MHz LPDDR3 Giấy xác nhận bảng liệu thơ đơn vị Hình 4-1 Giấy xác nhận sử dụng liệu đơn vị 33 Hình 4-2 Bảng liệu thơ đơn vị 4.2 Kết kiểm thử với thuật toán Mondrian Tập liệu thông tin sinh viên đơn vị công tác Phân hiệu Trường Đại học Lâm nghiệp tỉnh Đồng Nai Tập liệu dùng để kiểm thử “email-Eu-core network” tải trang https://snap.stanford.edu/data/email-Eu-core.html Kết sau chạy nặc danh thuật toán Mondrion 34 Hình 4-3 Kết chạy thuật tốn Mondrion - Bảng so sánh dùng k-anonymity l-diversity chạy thuật toán Mondiron Bảng 4-1 Kết kiểm thử với thuật tốn Mondrion Tham Tham Mơ hình bảo Thời gian chạy số k số l mật thuật toán (s) 10 k-anonymity 0.76 20 k-anonymity 0.55 l-diversity 0.66 10 l-diversity 0.69 NCP of dataset 11.24% 15.03% 78.68% 100% 4.3 Kết kiểm thử với thuật toán ẩn danh đồ thị k-Degree anonymity Graph pertubations Tập liệu thông tin sinh viên đơn vị công tác Phân hiệu Trường Đại 35 học Lâm nghiệp tỉnh Đồng Nai Tập liệu dùng để kiểm thử “email-Eu-core network” tải trang https://snap.stanford.edu/data/email-Eu-core.html Kết sau chạy nặc danh thuật toán ẩn danh đồ thị k-Degree anonymity Graph pertubations Hình 4-4 Kết chạy thuật toán k-Degree anonymity Graph pertubations 36 Bảng so sánh chạy thuật toán k-degree anonymity Graph pertubations Với thuật toán k-Degree anonymity Bảng 4-2 Kết kiểm thử với thuật toán k-Degree anonymity Tham số k Thời gian chạy thuật toán (s) 1.2647 1.2610 Với thuật toán Graph pertubations Bảng 4-3 Kết kiểm thử với thuật toán Graph pertubations Tỷ lệ số cạnh làm nhiễu Thời gian chạy thuật toán (s) 40% 33.93 80% 62.37 37 CHƯƠNG 5: KẾT LUẬN Dữ liệu đồ thị ngày thu thập nhiều lĩnh vực giao thông, mạng xã hội, giáo dục y tế Dữ liệu đồ thị chứa thơng tin nhiều cá nhân tổ chức Loại liệu mang đến nhiều giá trị to lớn cho cộng đồng biết khai thác phân tích hợp lý Để làm liệu phải mở hay chia sẻ cách hợp pháp đảm bảo tính riêng tư cho cá nhân hay tổ chức có liên quan Ứng dụng viết để góp thêm cách tiếp cận hợp lý cho việc đảm bảo tính riêng tư liệu liệu đồ thị thuộc tính Luận văn xây dựng ứng dụng để ẩn danh hố đồ thị thuộc tính thơng qua việc kết hợp với sở liệu đồ thị Neo4j Sau với đồ thị ẩn danh, đơn vị cơng tác tiếp tục truy vấn liệu đồ thị cách trực quan đáp ứng nhu cầu phân tích điều tra dân số hay công tác quảng cáo tuyển sinh cho nhà Trường Ngồi ra, ứng dụng đảm bảo tạo đồ thị ẩn danh cho nút cạnh đồ thị với mơ hình ẩn danh phổ biến k-anonymity, l-diversity hay áp dụng thuật toán ẩn danh đồ thị k-Degree anonymit DANH MỤC CÁC TÀI LIỆU THAM KHẢO [1] J Pokorný, “Graph Databases: Their Power and Limitations,” 2017 [2] “What is a Graph Database?,” [Trực tuyến] Available: https://neo4j.com/developer/graph-database/ [3] L Backstrom, D P Huttenlocher, J M Kleinberg X Lan, “Group formation in large social networks: membership, growth, and evolution,” KDD, 2006 [4] R Kumar, J Novak A Tomkins, “Structure and evolution of online social networks,” KDD, 2006 [5] L T Hieu D T Khanh, “An Elastic Anonymization Framework for Open Data,” In Proceedings of the 7th International Conference (FDSE 2020 – Part II), Virtual (QNU, Binh Dinh, Vietnam), November 25-27, 2020, CCIS 1306, Springer Verlag, 2020 [6] L Sweeney, “k-Anonymity: A Model for Protecting Privacy,” 2002 [7] A Machanavajjhala, J Gehrke, D Kifer M Venkitasubramaniam, “L-diversity: privacy beyond k-anonymity,” 2006 [8] N Li, T Li S Venkatasubramanian, “t-Closeness: Privacy Beyond k-Anonymity and l-Diversity,” 2007 [9] Turner, K Mivule Claude, “Applying Data Privacy Techniques on Tabular Data in Uganda,” 2011 [10] X.-Y Li, C Zhang, T Jung, J Qian L Chen, “Graph-Based Privacy-Preserving Data Publication,” 2016 [11] S P S L, “Protecting respondents identities in microdata release,” IEEE Trans Knowl Data Eng, p 1010–1027, 2001 [12] M Hay, G Miklau, D Jensen, P Weis S Srivastava, “Anonymizing Social Networks,” VLDB, 2008 39 [13] Y Zhang, M Humbert, B Surma, P Manoharan M B Jilles Vreeken, “Towards Plausible Graph Anonymization,” Network and Distributed Systems Security (NDSS), 2020 [14] D Liben-Nowell J Kleinberg, “The Link-prediction Problem for Social Networks,” Journal of the American Society for Information Science and Technology, 2007 [15] K Liu E Terzi, “Towards Identity Anonymization on Graphs,” Proceedings of the 2008 ACM SIGMOD International Conference on Management of Data (SIGMOD), p 93–106, 2008 [16] K LeFevre, D DeWitt R Ramakrishnan, “Mondrian Multidimensional k-anonymity,” ICDE, 2007 [17] J.-W Byun, A Kamra, E Bertino N Li, “Efficient k Anonymization Using Clustering Techniques,” DASFAA, p 188–200, 2007 [18] M Terrovitis, N Mamoulis P Kalnis, “Privacy-preserving anonymization of set-valued data,” PVLDB, p 115–125, 2008 ... LẠC HỒNG *** ĐẢM BẢO TÍNH RIÊNG TƯ CHO DỮ LIỆU ĐỒ THỊ TRONG NEO4J Chuyên ngành : Công nghệ thông tin Mã số: 8480201 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Đồng Nai – Năm... đề đảm bảo tính riêng tư cho liệu đồ thị thuộc tính Dữ liệu đồ thị có thơng tin ngữ nghĩa phong phú biểu thị đồ thị nên sử dụng nhiều ứng dụng, chẳng hạn mạng xã hội, mạng sinh học, mạng giao thông, ... làm liệu phải mở hay chia sẻ cách hợp pháp đảm bảo tính riêng tư cho cá nhân hay tổ chức có liên quan Ứng dụng viết để góp thêm cách tiếp cận hợp lý cho việc đảm bảo tính riêng tư liệu liệu đồ thị