Đặt vấn đề đảm bảo tính riêng tư cho dữ liệu đồ thị thuộc tính Dữ liệu đồ thị có thông tin và ngữ nghĩa phong phú được biểu thị bằng đồ thị nên được sử dụng trong nhiều ứng dụng, chẳng hạn như mạng xã hội, mạng sinh học, mạng giao thông, biểu đồ web, cơ sở tri thức và biểu đồ RDF. Nhiều ứng dụng mới nổi dựa vào đồ thị lớn để đáp ứng nhu cầu truy vấn của họ, chẳng hạn như đồ thị tri thức của Google và tìm kiếm đồ thị của Facebook. Các ứng dụng này đã trở nên phổ biến để chia sẻ thông tin. Do đó, lượng dữ liệu đồ thị mạng xã hội đã phát triển nhanh chóng và điều này mang lại nhiều cơ hội để khai thác và phân tích dữ liệu, chẳng hạn như để tìm cộng đồng các nhóm và sự tiến hóa của chúng [3] [4].
Tuy nhiên, dữ liệu đồ thị mạng xã hội thường chứa thông tin cá nhân của người dùng; điều quan trọng là phải bảo vệ những thông tin này trong bất kỳ hoạt động chia sẻ và khai thác. Đó là những ví dụ nổi tiếng về việc tiết lộ thông tin cá nhân ngoài ý muốn trong dữ liệu đã phát hành (còn gọi là đã công bố), khiến các tổ chức ngày càng thận trọng trong việc phát hành các tập dữ liệu này. Thậm chí, luật pháp Việt Nam cũng đã đề xuất đảm bảo quyền riêng tư của cá nhân trong bộ luật An ninh mạng năm 2018. Vì vậy, trước khi xuất bản tất cả dữ liệu này để phân tích, dữ liệu khai thác và các mục đích khác, cần đảm bảo rằng dữ liệu đã xuất bản sẽ không chứa bất kỳ thông tin riêng tư nào.
3 Để đảm bảo tính riêng tư cho dữ liệu thì sẽ có nhiều cách tiếp cận [5] như: • Kiểm soát truy cập: trở nên phức tạp trong triển khai và khó quản lý trong cấp phát quyền trong môi trường mở với nhiều bên cùng dụng kho dữ liệu. • Mã hóa dữ liệu: thường dẫn đến chi phí tính toán để mã hoá dữ liệu trong quá trình vận hành, và đánh đổi này sẽ còn nghiêm trọng hơn với dữ liệu đa dạng và lớn. • Ẩn danh dữ liệu: đây là một bước thường có khi công khai dữ liệu và hướng tiếp cận lâu đời được hỗ trợ nhiều bởi giải thuật vững chắc. Luận văn tập trung đề xuất xây dựng ứng dụng tích hợp các kỹ thuật ẩn danh dữ liệu để đảm bảo tính riêng tư cho dữ liệu đồ thị thuộc tính trong cơ sở dữ liệu Neo4j.
Về ý nghĩa khoa học, ứng dụng đề xuất ra một mô hình ứng dụng có thể triển khai các dạng thuật toán ẩn danh trên bảng cho các nốt dữ liệu trong dữ liệu đồ thị thuộc tính. Cùng với đó, ứng dụng còn kết hợp nó với thuật toán ẩn danh trên đồ thị mà tiêu biểu là thuật toán k-Degree anonymity. Về ý nghía thực tiễn, ứng dụng đáp ứng cho nhu cầu ngày càng đa dạng về dữ liệu mở để khai phá của các nhà nghiên cứu. Ứng dụng là công cụ đảm bảo cho việc chia sẽ dữ liệu mở không vi phạm các quy định về quyền riêng tư gây ảnh hưởng đến các cá nhân có trong dữ liệu mở đó.
Ví dụ trong điều tra nghiên cứu những đặc điểm người bị lây nhiễm bệnh do virus thì cần thiết quá trình điều trị thì đi kèm với đó là các thông tin bệnh lý và thông tin cá nhân của các bệnh nhân có thể bị lộ ra ngoài khi dữ liệu được xuất bản mở, chia sẻ với nhau giữa các nhà nghiên cứu. Ngay cả khi các nhà nghiên cứu không công khai mà chia sẻ với nhau họ vẫn có thể vi phạm các quy định của pháp luật về quyền riêng tư như đã đề cập. Vì vậy ứng dụng cần thiết để ẩn danh dữ liệu đồ thị và xuất bản dữ liệu cho các mục đích khai phá, để hỗ trợ các dự án khoa học đem lại nhiều lợi ích cho cộng đồng.4 Các công trình liên quan Nói về ẩn danh hoá dữ liệu, đầu tiên rất nổi tiếng và đơn giản là mô hình k- anonymity [6]. Mô hình đưa ra một ví dụ về tấn công quyền riêng tư như sau.
Giả sử kẻ tấn công có 2 tập dữ liệu (Hình 1-2 Mô tả về 2 tập dữ liệu) [6]: • Tập thứ nhất là bảng dữ liệu danh sách bầu cử có tên, địa chỉ, giới tính, số vùng và ngày sinh. • Tập thứ hai là bảng bệnh án bệnh nhân gồm tên bệnh của nhiều bệnh nhân đã xoá đi cột tên, tuy nhiên vẫn còn các cột như giới tính, số vùng và ngày sinh. Dựa vào các cột dữ liệu trùng nhau, kẻ tấn công có thể liên kết dữ liệu của tập dữ liệu thứ nhất qua tập dữ liệu thứ hai để biết chính xác bệnh nhân nào bị bệnh gì, tên gì và địa chỉ ở đâu. Hình 1-2 Mô tả về 2 tập dữ liệu Từ đó, trong ví dụ này, tên bệnh thuộc tập các cột dữ liệu nhạy cảm.
Thêm nữa, bài báo xem các cột: giới tính, số vùng và ngày sinh là tập các thuộc tính bán định danh hay còn gọi là tập quasi-identifier. Nghĩa là nếu ai đó có được dữ liệu gồm giới tính, số vùng và ngày sinh thì sẽ có thể xác định lại một người cách liên kết lại các dữ liệu từ bảng thứ hai về bảng thứ nhất. Để giải quyết cho vấn đề này, mô hình k-anonymity với ý tưởng chính như sau. Một tập dữ liệu được cho là thoả k-anonymity nếu thông tin của mỗi người không thể phân biệt được với ít nhất k - 1 cá nhân có thông tin cũng xuất hiện trong đó.
Ví dụ, 5 dữ liệu sẽ được biến đổi thoả mô hình k-anonymity (Hình 1-3 Bảng dữ liệu đã biến đổi để thoả mô hình k-anonymity với k=2) [6] với k = 2 Hình 1-3 Bảng dữ liệu đã biến đổi để thoả mô hình k-anonymity với k=2 Tuy nhiên, mô hình k-anonymity vẫn có những điểm yếu nhất nhất định của nó như có thể bi tấn công dựa trên kiến thức đã biết hay bị tấn công đồng nhất. Điều này dẫn đến mô hình khắc phục dạng tấn công đồng nhất cho k-anonymity, là mô hình l- diversity [7]. Mô hình l-diversity với ý tưởng chính là: Một lớp dữ liệu thỏa mãn mô hình l- diversity khi có ít nhất L giá trị biểu diễn tốt phân biệt cho thuộc tính nhạy cảm. Mô hình l-diversity có ưu điểm là có thể cản trở kẻ tấn công tận dụng phân phối toàn cục của tập dữ liệu với các giá trị dữ liệu của thuộc tính để suy ra thông tin về các giá trị dữ liệu nhạy cảm.
Tuy nhiên trong tập dữ liệu thực, các giá trị thuộc tính có thể bị lệch hoặc tương tự về mặt ngữ nghĩa vì vậy mô hình t-closeness được đề xuất để để khắc phục nhược điểm đó. Mô hình t-closeness: Một lớp tương đương được cho là thoả t-closeness nếu khoảng cách giữa phân phối của một thuộc tính nhạy cảm trong lớp này và phân phối của thuộc tính trong toàn bộ bảng không quá ngưỡng t. Một bảng được cho thỏa t- closeness nếu tất cả các lớp tương đương thoả t-closeness. Với kỹ thuật Generalization là kỹ thuật tổng quát hoá dữ liệu, ví dụ ta có 1 giá trị ngày sinh trong bảng dữ liệu là ‘24-01-1994’ chúng ta có thể tổng quát hoá lại thành ‘01-1994’ hay ‘1994’ hay ‘19**’.
Với kỹ thuật Suppression ta sẽ loại bỏ những giá trị trong bảng dữ liệu. Hình 1-4 Ví dụ minh hoạ kỹ thuật Suppression Tổng quát các vấn đề thì có công trình “Graph-Based Privacy-Preserving Data Publication” [10]. Bài báo đề xuất một framework bảo vệ quyền riêng tư dữ liệu mở bao gồm nhiều kiểu dữ liệu như mạng xã hội, định nghĩa mạng ẩn danh và các độ đo hỗ trợ.5 Cây khái quát hoá (Generalization hierarchy) Việc ẩn danh hoá còn được kết hợp với việc mã hoá bằng cây khái quát [11]. Cách mã hoá này có thể áp dụng cho dữ liệu có tính liên tục như số hoặc rời rạc.
Ý 7 tưởng của việc áp dụng cây khái quát nhầm mục tiêu loại bỏ các bảng ghi vi phạm quyền riêng tư và thay thế bằng dữ liệu khái quát hơn trong một cây. Ví dụ dữ liệu là màu sắc có khoảng từ 8 màu. Cấp 0: 4 nhóm gồm: “xanh”, “đỏ”, “tím”, “vàng”. Cấp 1: 2 nhóm gồm “xanh-đỏ” và “tím-vàng”.
Cấp 2: Chia thành 1 nhóm “màu” (tất cả giá trị được khái quát hoá về 1 giá trị màu). Với giá trị đỏ và khái quát hoá cấp 1 thì giá trị sẽ được mã hoá thành nhãn “xanh-đỏ”. Như vậy việc biến đổi giá trị với cấp độ khái quát càng cao, thì mức độ đảm bảo quyền riêng tư càng tốt. Lúc này cây khái quát sẽ được biểu diễn (Hình 1-5 Ví dụ cây khái quát) như sau: Hình 1-5 Ví dụ cây khái quát 1.6 Thuật toán graph pertubation Thuật toán graph pertubations [12] thuộc nhóm thuật toán nhiễu loạn ngẫu nhiên.
Đồ thị mới Gp = (Vp, Ep) được xây dựng từ Gna thông qua một chuỗi xóa m cạnh sau đó là chèn m cạnh. Các phép xóa được chọn ngẫu nhiên đồng nhất từ tập hợp tất cả các cạnh tồn tại trong Gna. Các phần chèn được chọn ngẫu nhiên đồng nhất từ tập hợp tất cả các cạnh không tồn tại của đồ thị tạm thời.7 Thuật toán ẩn danh k-Degree anonymity Nổi bật gần đây nhất có công trình lớn về ẩn danh đồ thị là “Towards Plausible Graph Anonymization” [13]. Bài báo chỉ ra điểm yếu nổi bật nhất của các thuật toán ẩn danh đồ thị đó là: Khi tạo ra thêm các cạnh giả trong đồ thị, thuật toán không tính đến các đặc điểm chính của cấu trúc đồ thị, cụ thể như “Vấn đề dự đoán liên kết cho 8 mạng xã hội” [14].
Từ đó, bài báo đề xuất ra các giải thuật, nổi bật trong đó là giải thuật k-Degree anonymity [15]. Do k-Degree anonymity đáp ứng được khái niệm chính là mô hình k-anonymity trong cơ sở dữ liệu riêng tư mà vẫn hạn chế thay đổi dữ liệu ban đầu nên ứng dụng tập trung vào triển khai k-Degree anonymity. Giải thuật giả định rằng kẻ tấn công có kiến thức trước về số liên kết nút mục tiêu trong mạng xã hội, cụ thể như biết được số lượng liên kết bạn bè của mục tiêu để xác định được mục tiêu. Để gảm thiểu điểm yếu này k-Degree anonymity sửa đổi đồ thị ban đầu, sao cho tạo ra đồ thị ẩn danh, mỗi người chia sẻ cùng một mức độ (degree) với ít nhất k -1 người dùng khác.