Giới thiệu đề tài
Cơ sở hình thành đề tài
Dữ liệu mở (open data), đặc biệt là dữ liệu chính phủ mở (government open data) là một nguồn tài nguyên khổng lồ nhưng phần lớn lại chưa được khai thác Nhiều cá nhân và tổ chức đã và đang thu thập nhiều dữ liệu dưới các dạng khác nhau để phục vụ cho các công việc của mình Trong số đó, dữ liệu của các chính phủ được thu thập với qui mô lớn và tính tập trung cao Hơn nữa, phần lớn các dữ liệu này phải được công khai vì lí do pháp luật, do đó mang tính “mở” và có thể được sử dụng bởi các cá nhân và tổ chức khác
Theo định nghĩa của Tổ Chức Kiến Thức Mở (Open Knowledge Foundation – OKF), dữ liệu mở là dữ liệu có thể được sử dụng, chỉnh sửa và chia sẻ bởi bất kỳ ai cho bất kỳ mục đích nào [1] Các đặc điểm quan trọng nhất trong cách giải thích của OKF về định nghĩa này là:
• Tính có sẵn và khả năng truy cập: toàn bộ dữ liệu phải có sẵn và có thể truy cập không tốn bất kì chi phí nào ngoại trừ việc vận hành hệ thống cung cấp dữ liệu Ngoài ra, dữ liệu cũng phải tồn tại dưới các hình thức có thể được chỉnh sửa và sử dụng một cách thuận tiện
• Tái sử dụng và tái phân phối: dữ liệu phải được cung cấp dưới các giấy phép cho phép việc tái sử dụng và tái phân phối cũng như kết hợp với các tập dữ liệu khác
• Tính tham gia phổ quát: tất cả mọi người đều có quyền sử dụng, tái sử dụng và tái phân phối dưới mọi hình thức, cho bất kỳ mục đích nào Điều này có nghĩa là định nghĩa dữ liệu mở không ngăn cản việc sử dụng nó trong mục đích thương mại hoặc cả các mục đích gây hại cho người khác, dẫn đến các mối quan tâm về bảo vệ tính riêng tư của những cá thể có mặt trong một tập dữ liệu mở
Việc hiểu rõ và tuân theo các tiêu chuẩn này giúp các hệ thống cung cấp và sử dụng dữ liệu mở có thể tương tác với nhau một cách dễ dàng nhất Đồng hành với việc ngày càng nhiều tổ chức (đặc biệt là chính phủ) cung cấp các nguồn dữ liệu mở, nhiều ứng dụng của dữ liệu mở đã tỏ ra lợi ích rõ rệt trong thực tế
Có nhiều ví dụ về các ứng dụng từ dữ liệu mở hỗ trợ việc đưa ra các quyết định trong cuộc sống tốt hơn cho phép con người sống tích cực hơn trong xã hội Một phụ
Trang 12 nữ người Đan Mạch đã xây dựng findtoilet.dk 1 để thể hiện tất cả các nhà vệ sinh công cộng của đất nước này, qua đó giúp những người có vấn đề về bàng quang tự tin hơn trong việc ra ngoài Một dịch vụ khác ở Hà Lan 2 sử dụng dữ liệu chất lượng không khí để cảnh báo người dân khi không khí ở các khu vực chung quanh họ bị ô nhiễm đến ngưỡng nhất định Ở New York, người dân có thể dễ dàng tìm ra nơi nào có nhiều người đang dắt chó đi dạo để tham gia gặp mặt Một số dịch vụ khác ở Anh 3 và Đức 4 cho phép hỗ trợ con người trong việc tính thời gian đi làm, giá nhà đất cũng như đánh giá về vị trí địa lý của một khu vực nhất định
Dữ liệu mở cũng đóng vai trò quan trọng trong lĩnh vực kinh tế Các công ty sử dụng dữ liệu mở cho việc dự đoán, đánh giá và phát triển các sản phẩm mới của họ Dựa trên các thông tin địa chính, tiền trợ cấp cũng như các đăng ký kinh doanh từ chính phủ Đan Mạch, modstroem.dk 5 hỗ trợ việc lập kế hoạch tài chính và tìm kiếm những công ty xây dựng có thể giúp người dân cải thiện hiệu quả sử dụng năng lượng trong ngôi nhà của họ Lượng dữ liệu khổng lồ từ các tài liệu mở của Châu Âu cũng đang được Google không ngừng sử dụng để cải thiện chất lượng của thuật toán dịch thuật của mình
Mặc dù dữ liệu mở hứa hẹn đem lại nhiều lợi ích trên nhiều phương diện khác nhau, nguyên tắc tham gia phổ quát ở trên khiến các dữ liệu này hoàn toàn có thể được sử dụng với các mục đích vi phạm các tiêu chuẩn về đạo đức và pháp luật Hiện nay, phần lớn các quốc gia và khu vực đều có các đạo luật nhằm bảo vệ quyền riêng tư trong các tập dữ liệu Những lý do này khiến việc đảm bảo tính riêng tư là một trong những yêu cầu cấp thiết hàng đầu khi tiến hành việc “mở” dữ liệu [2]
1.2 Ẩn danh hóa dữ liệu để bảo vệ tính riêng tư
Có nhiều hướng tiếp cận để bảo vệ tính riêng tư của dữ liệu:
• Mã hóa dữ liệu (data encryption): điều này dẫn đến sự tốn kém trong việc vận hành, đặc biệt là với các dữ liệu đa dạng và có khối lượng lớn như dữ liệu mở
• Kiểm soát truy cập (access control): trở nên rườm rà và khó kiểm soát trong một môi trường mở với số lượng lớn các cá nhân và tổ chức tham gia đóng góp vào kho dữ liệu chung
2 https://github.com/openstate/Vervuilingsalarm
• Ẩn danh hóa dữ liệu (data anonymization): vốn đã được xem là bước không thể thiếu trong việc công khai dữ liệu, được nghiên cứu trong thời gian dài [3]
Mặc dù còn một số phương pháp bảo vệ tính riêng tư của dữ liệu khác, việc ẩn danh hóa dữ liệu tỏ ra là một phương pháp nổi bật được nghiên cứu Điều cơ bản của phương pháp này là quá trình biến đổi cho các tập dữ liệu liên quan đến dữ liệu cá nhân (personal data), trong đó một cá nhân không thể được xác định từ tập dữ liệu này một cách trực tiếp hoặc gián tiếp, thậm chí bằng việc kết hợp dữ liệu này với các tập dữ liệu khác Qua đó, những người xuất hiện trong tập dữ liệu trở nên vô danh và không thể được xác định ngược trở lại Điều này giúp giảm bớt các nguy cơ trong việc tiết lộ thông tin cá nhân không mong muốn trong khi vẫn đảm bảo dữ liệu có thể được tái sử dụng và phân phối giữa các bên tham gia chia sẻ dữ liệu, qua đó đảm bảo tính khả dụng của dữ liệu Các kỹ thuật ẩn danh nền tảng có thể được kể đến như:
• Nén và thu giảm dữ liệu: loại bỏ hoàn toàn các dữ liệu nhạy cảm hoặc kết hợp các thuộc tính định danh gần đúng (quasi-identifier) như: họ tên, ngày tháng năm sinh, … rồi đưa vào một hàm băm (hash function) để thay thế cho các giá trị thực của các thuộc tính này
• Thay đổi giá trị của các thuộc tính của dữ liệu: phương pháp tổng quát hóa (generalization) thay thế các giá trị của một thuộc tính bằng các giá trị khái quát hơn trong miền giá trị của thuộc tính đó; phương pháp mã hóa theo biên (top/bottom coding) lại gom nhóm các giá trị nhạy cảm lại trước khi tiến hành thay thế
Các vấn đề cần giải quyết
2.1 Quản lý, lưu trữ, truy xuất các nguồn dữ liệu mở
Dữ liệu mở hiện nay thường là dữ liệu lớn, cấu trúc đa dạng, được sinh ra từ nhiều nguồn trong một thời gian dài Để đảm bảo việc sử dụng dữ liệu mở được dễ dàng, một nhu cầu tất yếu được đặt ra là có một hệ thống quản lý, lưu trữ, phân phối các tập dữ liệu mở Kiến trúc của một hệ thống như vậy cần thỏa mãn các tính chất:
• Tính mở: hệ thống cho phép các nhà phát triển truy xuất dữ liệu thông qua các giao diện lập trình ứng dụng (Application Programming Interface – API), qua đó cho phép hiện thực nhiều giao diện sử dụng khác nhau để thỏa mãn nhu cầu của người dùng cuối Một số tiêu chuẩn như European Interoperability Framework (EIF) 6 của Liên minh Châu Âu hay Data Catalog Vocabulary (DCAT) 7 của W3C đã hiện thực các qui định cụ thể mà các thành viên phải thỏa mãn trong quá trình xây dựng các kiến trúc dữ liệu mở
• Tính mở rộng: vì khối lượng dữ liệu tăng lên rất nhanh, liên tục và từ nhiều nguồn, các hệ thống quản trị dữ liệu mở cần có khả năng mở rộng cao cả về phần cứng và phần mềm
• Tính khả dụng và độ sẵn sàng: mục đích cuối cùng của dữ liệu mở là cho phép dữ liệu được sử dụng tự do và rộng rãi, do đó các kiến trúc của hệ thống cần đảm bảo phục vụ được nhu cầu tối đa của người sử dụng
• Tính bảo mật: là hình thức bảo vệ dữ liệu trước các mối đe dọa từ bên ngoài
Hệ thống dữ liệu mở cần hỗ trợ các thao tác thiết lập quyền, chứng chỉ bảo mật và các kỹ thuật ẩn danh
2.2 Kết hợp các phương pháp ẩn danh hóa dữ liệu một cách phù hợp để đáp ứng cho nhiều nhu cầu sử dụng dữ liệu khác nhau
Việc sử dụng các phương pháp ẩn danh hóa luôn gặp phải một thử thách trong việc cân bằng giữa độ an toàn về tính riêng tư của dữ liệu và lượng thông tin bị mất đi trong quá trình ẩn danh hóa Mức độ ẩn danh càng cao thì cá thể xuất hiện trong dữ liệu càng khó được định danh (thông tin càng an toàn) nhưng lượng thông tin còn lại càng ít đi và thậm chí sai lệnh so với dữ liệu gốc Ngoài ra, các tập dữ liệu sau khi được ẩn danh bằng các phương pháp khác nhau từ một dữ liệu gốc có thể được liên kết lại và rò rỉ thông tin không mong muốn
Vấn đề trở nên phức tạp hơn trong môi trường dữ liệu mở khi một tập dữ liệu gốc cần đáp ứng nhiều yêu cầu sử dụng khác nhau dẫn đến cần áp dụng các phương án ẩn danh hóa khác nhau Vì sự đa dạng trong số lượng nhà cung cấp dữ liệu cũng như sự không ràng buộc trong mục đích sử dụng dữ liệu, các phương pháp ẩn danh hóa cần được kết hợp theo một (hoặc một số) cách nào đó để vừa đảm bảo độ an toàn về tính riêng tư, vừa đảm bảo chất lượng của kết quả ẩn danh trong nhiều ngữ cảnh sử dụng khác nhau
6 https://ec.europa.eu/isa2/eif_en
7 https://www.w3.org/TR/vocab-dcat-2/
Có nhiều giải pháp kết hợp các phương pháp ẩn danh hóa để cùng đạt một yêu cầu về dữ liệu, tuy nhiên không phải lúc nào giải pháp đầu tiên được chọn cũng có thể đảm bảo chất lượng từ các chuyên gia sử dụng dữ liệu đó Cần có một phương pháp hỗ trợ người sử dụng nhận biết được các khả năng khác nhau trong qui trình ẩn danh hóa cũng như cho phép người sử dụng chọn một phương pháp khác trong không gian giải pháp được tìm ra.
Ý nghĩa của đề tài
• Hiện nay, dữ liệu mở đang là xu hướng của thế giới cũng như trong nước Tuy nhiên, việc công khai dữ liệu cần phải thỏa mãn các yêu cầu về bảo vệ tính riêng tư của những cá nhân xuất hiện trong dữ liệu Việc đề xuất một hệ thống bảo vệ tính riêng tư cho dữ liệu mở sẽ giúp ích được cho nhiều tổ chức, doanh nghiệp đang muốn công khai dữ liệu của mình nhưng còn gặp các cản trở về công nghệ và kiến thức bảo mật tính riêng tư
• Hệ thống được đề xuất trong đề tài có khả năng được áp dụng trong nhiều lĩnh vực thực tế: hệ thống y tế, sản xuất, thương mại điện tử, giáo dục, … mở rộng việc tự do khám phá dữ liệu cũng như phát triển các ứng dụng dự báo, phân tích từ kho dữ liệu thực tế Qua đó, nhiều vấn đề đang tồn tại trong xã hội có khả năng được giải quyết bằng sự đóng góp của các nhà phát triển mới
• Đề tài đưa ra một giải pháp sử dụng các biện pháp bảo vệ tính riêng tư của dữ liệu trong một hệ thống dữ liệu mở Mặc dù đã có nhiều công trình nghiên cứu về các biện pháp bảo đảm tính riêng tư nói chung và ẩn danh hóa dữ liệu nói riêng, chưa có công trình nghiên cứu nào mô tả chi tiết việc hiện thực các mô hình đó trong một kiến trúc dữ liệu mở
• Giải pháp được đề tài đưa ra có thể kết hợp nhiều phương pháp ẩn danh hóa khác nhau vào cùng một tập dữ liệu cho các yêu cầu sử dụng khác nhau Mỗi mô hình được nghiên cứu trước đó giải quyết bài toán bảo vệ tính riêng tư ở các mức độ khác nhau và không phải lúc nào cũng cần thiết Việc kết hợp các mô hình này lại theo nhiều cách khác nhau đảm bảo việc tận dụng ưu điểm của từng mô hình trong khi tiết kiệm được chi phí bỏ ra
Mục tiêu và đối tượng nghiên cứu
Xây dựng một hệ thống hỗ trợ việc áp dụng các phương pháp ẩn danh hóa dữ liệu khác nhau lên các tập dữ liệu mở Người cung cấp dữ liệu có thể tự xây dựng cho mình một qui trình ẩn danh hóa tự động bằng việc cấu hình các giải thuật có sẵn cũng như kết hợp nhiều giải thuật theo các cách khác nhau Nếu kết quả của phương pháp được chọn không thoã mãn được các yêu cầu của người sử dụng dữ liệu, họ có thể khám phá không gian giải pháp được tìm ra và chọn một phương pháp khác một cách dễ dàng Dữ liệu gốc ở đây đến trực tiếp từ các hệ thống quản trị dữ liệu mở, không cần các bước lưu trữ trung gian
Giải pháp được đề ra có ý nghĩa khoa học lẫn thực tiễn Các phương pháp ẩn danh hóa khác nhau sẽ được kết hợp với nhau, trung tâm là lớp các mô hình k-anonimity, để đáp ứng việc bảo vệ tính riêng tư của một tập dữ liệu mở Điều này góp phần giảm bớt khó khăn cho các tổ chức muốn công khai dữ liệu của mình nhưng chưa có đủ điều kiện kỹ thuật để thỏa mãn các qui định pháp luật về bảo vệ tính riêng tư, đặc biệt trong ngữ cảnh thành phố thông minh đang là chiến lược phát triển của cả nước Đối tượng của nghiên cứu trong luận văn này là:
• Các nghiên cứu về mô hình ẩn danh hóa dữ liệu, ưu tiên cho các nghiên cứu liên quan đến dữ liệu lớn, dữ liệu mở và các phương pháp ẩn danh hóa động
• Các tham số có mặt trong các giải thuật ẩn danh hóa, ý nghĩa cũng như ảnh hưởng của các tham số này đến kết quả cuối cùng
• Các cách hiện thực những mô hình ẩn danh hóa dữ liệu khác nhau.
Bố cục của luận văn
Nội dung của luận văn này được trình bày theo các phần sau:
• Chương I: phân tích cơ sở hình thành đề tài, giới thiệu sơ lược về đề tài, vấn đề cần giải quyết và mục tiêu của đề tài
• Chương II: phân tích, so sánh và tổng hợp các công trình nghiên cứu liên quan nhất đến đề tài Tìm ra các tham số cũng như ý nghĩa và ảnh hưởng của chúng đến kết quả của các phương pháp ẩn danh hóa dữ liệu
• Chương III: đề xuất phương pháp ẩn danh hóa dữ liệu mở, các yêu cầu đầu vào và đầu ra của mô hình Cách thức hoạt động của mô hình cần cho phép kết hợp nhiều phương pháp ẩn danh hóa khác nhau trước khi đưa ra kết quả cuối cùng, được công khai trên một hệ thống quản lý dữ liệu mở
• Chương IV : hiện thực giải pháp được đề xuất trong một framework dữ liệu mở cụ thể Kết quả hiện thực đáp ứng việc hỗ trợ người cung cấp dữ liệu xây dựng quá trình ẩn danh hóa dữ liệu cho riêng tập dữ liệu của mình trong một hệ thống dữ liệu mở đang có Chương này cũng giới thiệu phương pháp đánh giá, các tập dữ liệu được sử dụng để thử nghiệm và kết quả của quá trình thử nghiệm hệ thống
• Chương V: tổng hợp lại các mục tiêu đã đạt được cũng như chưa đạt được khi thực hiện luận văn Cho thấy các tác động của luận văn đến quá trình sử dụng và quản lý dữ liệu mở cũng như các phương hướng phát triển khả thi để mở rộng kết quả nghiên cứu trong tương lai
• Danh mục tài liệu tham khảo
• Phụ lục gồm các bài báo được hoàn thành trong thời gian thực hiện đề tài.
Các nghiên cứu liên quan
Các hệ thống quản lý dữ liệu mở
CKAN 8 (The Comprehensive Knowledge Archive Network) là một thống mã nguồn mở dùng để quản trị và phân phối dữ liệu mở Hiện nay, CKAN được sử dụng bởi các hệ thống chính phủ của nhiều nước như Anh 9 , Hà Lan 10 , Mỹ 11 và Úc 12 Kiến trúc của CKAN được trình bày trong hình 1 Các thành phần chính của kiến trúc này bao gồm:
• Định tuyến (routes): định hướng các yêu cầu của người dùng từ internet đến các API hoặc giao tiếp (interface) phù hợp bên trong hệ thống để xử lý các yêu cầu đó
• Giao tiếp (views): đọc dữ liệu, chỉnh sửa dữ liệu với các hàm hành động (action functions) trước khi trả về
• Lô-gic: bao gồm các hàm hành động (action function), hàm định danh và phân quyền (auth function), các tác vụ chạy ngầm (background task) và lô-gic nghiệp vụ (business logic)
• Mô hình (model): dữ liệu trong CKAN được có thể được lưu trữ bởi nhiều hệ thống quản trị cơ sở dữ liệu khác nhau mà mặc định là Postgre Cách tổ chức lớp mô hình trong CKAN cho phép giấu đi hiện thực bên dưới của cơ sở dữ liệu cũng như mở rộng việc sử dụng nhiều hệ quản trị cơ sở dữ liệu khác nhau, kể cả NoSQL
Hình 1: Kiến trúc hệ thống CKAN 13
Kiến trúc của CKAN mang tính mở rộng cao Các phần mở rộng có thể thêm các nghiệp vụ của mình vào các thành phần khác nhau vào hệ thống cốt lõi để bổ sung các tính năng mới vào hệ thống
13 https://docs.ckan.org/en/2.8/contributing/architecture.html
Dspace 14 là một giải pháp mã nguồn mở khác cho các hệ thống dữ liệu mở được sử dụng bởi nhiều tổ chức như Ngân Hàng Thế Giới 15 , Đại học Cambridge 16 , Đại học MIT 17 ,…
Hình 2: Cách thức vận hành của hệ thống DSpace 18
Cách thức vận hành của hệ thống DSpace được miêu tả trong hình 2 với các nội dung chính như sau:
• Submission: các nhà cung cấp dữ liệu sẽ upload các tập tin dữ liệu vào hệ thống thông qua giao diện web DSpace hỗ trợ nhiều định dạng từ văn bản đến hình ảnh và video
• Các tập tin dữ liệu (data files) và các siêu dữ liệu (metadata) được tổ chức thành các nhóm (set) liên quan với nhau Đơn vị nhỏ nhất trong các thao tác lưu trữ dữ liệu trong DSpace được gọi là “item” bao gồm các tập tin dữ liệu và các thông tin liên quan đến chúng Các “item” lại được tổ thức thành các bộ sưu tập (collections) dựa theo sự liên quan về mặt lô-gic của chúng
• Các cộng đồng (community) là thứ bậc cao nhất trong cây phân cấp nội dung của DSpace Thông thường, mỗi cộng đồng trong DSpace sẽ tương ứng với một phòng ban hoặc đơn vị con của một tổ chức lớn
16 https://www.repository.cam.ac.uk/
18 https://duraspace.org/wp-content/uploads/dspace-files/DSpace_Diagram.pdf
• Kiến trúc của DSpace cho phép việc tổ chức hệ thống thành nhiều thành phần đơn lẻ có thể được triển khai riêng biệt với nhau cho từng phòng ban, đơn vị con trong cả tổ chức
• DSpace cam kết việc đảm bảo rằng các tập tin được lưu trữ trong hệ thống có thể được truy cập bất kỳ lúc nào theo thời gian, kể cả khi số lượng các định dạng dữ liệu mới được thêm vào sau này
• Người sử dụng cuối có thể truy cập hệ thống thông qua các trình duyệt web Các định dạng dữ liệu phù hợp sẽ được hiển thị trực tiếp trên trình duyệt trong khi các định dạng khác có thể được tải về.
Ẩn danh hóa dữ liệu tổng quát với mô hình k-anonimity và các mô hình liên
Latanya Sweeney đã đưa ra mô hình k-anonimity vào năm 2002 [4] Cho đến nay, mô hình này đang là một trong các mô hình nổi tiếng nhất trong việc ẩn danh hoá dữ liệu [4], [5], [6], [7], [8] Cho RT(A1, , An) là một bảng dữ liệu và QI RT là các thuộc tính định danh gần đúng của nó RT được cho là thỏa mãn k-anonymity khi và chỉ khi mỗi chuỗi giá trị trong RT[QI RT ] có ít nhất k lần xuất hiện trong RT[QI RT ] Theo định nghĩa này, dữ liệu có thuộc tính k-anonymity nếu bản ghi của một người có trong phiên bản xuất bản của dữ liệu không thể được phân biệt với ít nhất k - 1 cá nhân khác có dữ liệu cũng được xuất bản trong cùng bản phát hành Nếu một bản ghi trong bảng có một số giá tri QID, thì có ít nhất k - 1 bản ghi khác cũng có giá tri QID Để chỉnh sửa một dữ liệu ban đầu sang dạng thỏa mãn điều kiện k-anonimity, nhiều phương pháp đã được nghiên cứu: lấy mẫu (sampling) [9], mã hóa toàn cục và cục bộ (global and local recoding) [10], [11], [12], microaggregation [13], giả lập (simulation) [14], thêm nhiễu (adding noise) [15], ngưng tụ (condensation) [16], tráo đổi (swapping) [17], thay thế (substitution) [18] … Các phương pháp trên có thể áp dụng đơn lẻ nhưng thường được áp dụng kết hợp với nhau để ẩn danh hóa một bảng dữ liệu
Trang 21 Lấy một ví dụ với bảng dữ liệu sau (bảng 1):
Bảng 1: Bảng dữ liệu cá nhân
Các thuộc tính định danh gần đúng ở đây là “age”, “zipcode” và “sex” Dễ thấy rằng nếu biết các giá trị này của một người thì dựa vào dữ liệu trên, ta có thể biết người đó đang bị bệnh gì Ví dụ, ta biết Alice là một phụ nữ 30 tuổi đang sống ở khu vực có zipcode là “43105” và thông tin bệnh tình của cô ấy có trong bảng dữ liệu trên Khi đó ta biết rằng Alice đang bị ung thư vú (Beast cancer), đây là thông tin nhạy cảm và không nên bị tiết lộ từ dữ liệu
Sau khi thực hiện một số thao tác tổng quát hóa:
• Thuộc tính age: số tuổi của một người được thay bằng khoản tuổi của người đó trong vòng mười năm Ví dụ các giá trị “51”, “52” đều sẽ được thay bằng giá trị mới là “50-59”
• Thuộc tính zipcode: chữ số cuối cùng của zipcode sẽ được thay bằng dấu hoa thị (“*”) Khi đó, các giá trị “43102”, “43103” đều sẽ được thay bằng giá trị mới là “4310*”
Ta có được bảng dữ liệu thứ hai (bảng 2) Dễ dàng nhận ra rằng có 3 lớp tương đương tương ứng với các bộ giá trị sau của các QI: (50-59, 4310*, M), (30-39, 4310*, F) và (20-29, 4310*, M) Ta không còn biết chắc là Alice đang bị HIV hay đang bị ung thư vú nữa Kích thước nhỏ nhất của một lớp tương đương trong ví dụ là 2, do đó bảng dữ liệu này thỏa mãn 2-anonimity
Bảng 2: Bảng dữ liệu thỏa mãn 2-anonimity
Mô hình k-anonimity có thể bị tấn công đồng nhất và tiết lộ các thông tin riêng tư
Mô hình ℓ-diversity [19] được đề xuất nhằm giải quyết vấn đề này Trong k- anonimity, mỗi nhóm tương đương (equivalence class) là một nhóm của các bản ghi có cùng tập giá trị các thuộc tính định danh gần đúng (quasi identifier) với ít nhất k bản ghi Mô hình ℓ-diversity đề xuất thêm một yêu cầu nữa cho các nhóm tương đương Trong đó, mỗi nhóm cần có ít nhất ℓ cách biểu diễn tốt (well-represented) khác nhau cho những thuộc tính nhạy cảm (sensitive attribute) Machanavajjhala đã đưa ra một số cách mô tả thế nào là một “biểu diễn tốt” trong cùng nghiên cứu của mình [19]:
• Distinct ℓ-diversity hay p-sensitive k-anonimity [20]: với mỗi lớp tương đương, mỗi thuộc tính nhạy cảm có ít nhất p giá khi khác nhau
• Entropy ℓ-diversity: sử dụng một hàm entropy cho từng thuộc tính nhạy cảm Khi các giá trị của các thuộc tính nhạy cảm phân bố càng đều thì entropy này càng lớn, khi đó giá trị ℓ càng lớn Rõ ràng rằng lúc đó, việc sử dụng xác suất để tìm ra giá trị nhạy cảm thực sự của một người sẽ trở nên khó khăn hơn
• Recursive (c, ℓ) diversity: tiêu chuẩn này đảm bảo rằng trong mỗi thuộc tính nhạy cảm, tấn số xuất hiện của thuộc tính phổ biến nhất không quá cao và tần số xuất hiện của giá trị ít phổ biến nhất không quá thấp so với tần số xuất hiện của các giá trị khác nhau của thuộc tính nhạy cảm đó
Mặc dù ℓ-diversity khắc phục được một số điểm yếu trong k-anonimity, mô hình này vẫn có một số điểm yếu trước các cuộc tấn công kiến thức nền, tấn công suy luận xác suất Nguyên tắc t-closeness [21] được đưa ra trong nghiên cứu của Ninghui và các đồng nghiệp bổ sung thêm một ràng buộc trong việc ẩn danh hoá dữ liệu Theo đó, trong mỗi lớp tương đương, ngoài việc qui định các thuộc tính nhạy cảm cần có ít nhất ℓ biễu diễn tốt, nguyên tắc này còn yêu cầu khoảng cách giữa phân phối của thuộc tính nhạy cảm trong nhóm này và phân phối của thuộc tính nhạy cảm trong toàn bảng dữ liệu không được lớn hơn một ngưỡng t Để đo khoảng cách này, nghiên cứu gốc đã sử dụng Earth Mover’s distance (EMD) [22].
Các công cụ ẩn danh hóa dữ liệu
ARX là kết quả của một dự án nghiên cứu về công cụ ẩn danh hoá dữ liệu với tính mở rộng và khả dụng cao [23] [24] Công cụ này hỗ trợ nhiều kỹ thuật ẩn danh hoá khác nhau, nhiều phương pháp phân tích chất lượng dữ liệu cũng như các nguy cơ về tái định danh (re-identification) và các mô hình ẩn danh nổi tiếng Hiện tại ARX vừa cung cấp một bộ thư viện lập trình (programming library), vừa cung cấp một công cụ đồ họa đa nền tảng Mã nguồn của ARX được phát hành theo giấy phép mã nguồn mở Apache 2.0 Những điểm nổi bật của ARX là:
• Ẩn danh hóa dữ liệu dựa theo tính hiệu dụng qua nhiều mô hình thống kê khác nhau
• Ẩn danh hóa với các mô hình riêng tư: k-anonimity, ℓ-diversity, t-closeness và δ-presence
• Ẩn danh hóa với các mô hình ngữ nghĩa như (ɛ, δ)-differential privacy
• Cung cấp các phương pháp tối ưu hóa lợi nhuận của việc xuất bản dữ liệu dựa trên các phân tích về chi phí và lợi nhuận
• Chuyển đổi dữ liệu với các phương pháp khái quát hóa, triệt tiêu, tổng hợp và mã hóa toàn bộ hoặc cục bộ
• Cung cấp các phương pháp phân tích rủi ro của việc tái định danh
• Cung cấp các phương pháp phân tích độ hữu dụng của dữ liệu
Với kiến trúc như mô tả trong hình 3, ARX đã được xây dựng với ý tưởng cho phép việc mở rộng ngay từ ban đầu Với sự hỗ trợ của các mô-đun cốt lõi: phân tích
Trang 24 dữ liệu (data analysis), các mô hình chuyển đổi (transformation models), quản lý dữ liệu (data management), mã hóa dữ liệu (data encoding) và các cổng giao tiếp nhập/xuất (I/O interfaces), những nhà phát triển có thể bổ sung các giải thuật của mình vào các mô-đun chung quanh như:
• Các giải thuật tìm kiếm (search algorithms)
• Các thông số hiệu dụng (utility metrics)
• Các thống kê mô tả (descriptive statistics)
• Các mô hình rủi ro (risk models)
• Các chính sách riêng tư (privacy criteria)
Hình 3: Kiến trúc chung của ARX
RAPPOR (Randomized Aggregatable Privacy-Preserving Ordinal Response) [25] là một công nghệ được sử dụng để thực hiện các thống kê cộng đồng (crowdsourcing statistics) từ các máy tính của người sử dụng một cách ẩn danh với sự đảm bảo cao về bảo vệ tính riêng tư của dữ liệu RAPPOR cho phép việc sử dụng một số lượng lớn dữ liệu từ nhiều người dùng mà không thể xem được dữ liệu của từng cá nhân một Bằng việc sử dụng phương pháp phản hồi ngẫu nhiên [26], RAPPOR hiện thực được một phương pháp cho việc thu thập dữ liệu hiệu quả và an toàn Với việc chạy hoàn toàn trên các ứng dụng trên máy trạm cung cấp dữ liệu, RAPPOR cho phép việc gửi thông tin thống kê ẩn danh đến các máy chủ thu thập thông tin một cách an toàn mà không cần quan tâm đến việc tiết lộ tính riêng tư tại máy chủ
Đề xuất giải pháp ẩn danh hóa dữ liệu cho hệ thống dữ liệu mở
Đề xuất quy trình ẩn danh hóa dữ liệu trong hệ thống dữ liệu mở
Có thể hình dung quá trình ẩn danh hoá dữ liệu trong một hệ thống mở như được mô tả trong hình 4:
• Bước 1: người dùng (chuyên gia dữ liệu) chọn lựa các thuộc tính cần ẩn danh: tên, tuổi, vị trí, mã vùng, … trong dữ liệu nguồn
• Bước 2: xác định các rủi ro dữ liệu từ dữ liệu gốc: định danh trực tiếp, các thông tin nhạy cảm có thể dùng để định danh dữ liệu hoặc số lần lặp lại của 1 giá trị trong thuộc tính phải đặt một ngưỡng tối thiểu là k Ở bước này hệ thống sẽ chạy đếm các giá trị trong 1 thuộc tính nếu thuốc tính nào có giá trị nhỏ hơn k lần, những thuộc tính đó có nguy cơ gây ra định danh người dùng Do vậy những thuộc tính này bắt buộc phải thực hiện ẩn danh Ngoài ra thực hiện tổ hợp các thuộc tính và chạy giải thuật đếm số lần lặp lại các giá trị trong tổ hợp thuộc tính này nếu có tổ hợp thuộc tính nào có số lần lặp lại các giá trị trong tổ hợp nhỏ hơn k lần thì các tổ hợp này cũng có thể gây ra vấn đề định danh dữ liệu Do đó các tổ hợp thuộc tính này cũng phải được ẩn danh Sau khi xác định các thuộc tính cần ẩn danh thì dữ liệu được đưa qua phần kế tiếp để chạy các giải thuật ẩn danh
• Bước 3: các giải thuật k-anonymity, t-closeness, ℓ-diversity, … sẽ được áp dụng Một số phương pháp khác cũng có thể được kết hợp trong giai đoạn này Đầu ra của quá trình này tiếp tục được đưa qua công đoạn tiếp theo
• Bước 4: với dữ liệu kết quả của bước trước, thực hiện đánh giá tìm kiếm các tổ hợp thuộc tính có ít hơn k giá trị hay không, nếu ít hơn thì bộ dữ liệu sẽ được chuyển về giai đoạn ẩn danh để thực hiện giải thuật ẩn danh khác Nếu không còn xuất hiện các rủi ro về tính định danh thì chuyển qua bước tiếp theo thực hiện đánh giá về độ hữu dụng của dữ liệu
• Bước 5: đánh giá về độ hữu dụng của dữ liệu mặc định sử dụng phương pháp entropy không đồng nhất Nếu độ sử dụng của dữ liệu vượt trên 1 ngưỡng định trước thì có thể lưu vào cơ sở dữ liệu để công bố, nếu ngược lại nếu độ sử dụng của dữ liệu dưới 1 ngưỡng định trước thì chuyển về lại bước ẩn danh dữ liệu
Hình 4: Một quá trình ẩn danh hóa hoàn chỉnh trong một hệ thống dữ liệu mở Đề tài này sẽ tập trung nghiên cứu vào bước 3 của quá trình trên, áp dụng các giải thuật ẩn danh để bảo vệ tính riêng tư của một tập dữ liệu gốc trước khi xuất bản dữ liệu ra bên ngoài Cả đầu vào và đầu ra của quá trình đều có thể được tích hợp vào trong một hệ thống dữ liệu mở (như CKAN) để giảm bớt việc thao tác thủ công.
Đề xuất sử dụng kiến trúc dịch vụ không đồng nhất
Để tạo thành một hệ thống ẩn danh hóa hoàn chỉnh cho dữ liệu mở, nghiên cứu trong luận văn này đề xuất một kiến trúc gồm ít nhất ba thành phần chính: (i) nền tảng quản lý dữ liệu mở, (ii) bộ máy ẩn danh hóa dữ liệu và (iii) dịch vụ giao tiếp người dùng (thường được gọi là front-end) Các thành phần này sẽ giao tiếp thông qua một
“tổng tuyến dịch vụ” (service bus) như miêu tả trong kiến trúc “Tổng tuyến Dịch vụ Doanh nghiệp” (Enterprise Service Bus – ESB) [27] Điều này cho phép việc hiện thực các thành phần bằng các ngôn ngữ lập trình và công nghệ khác nhau, đơn giản hóa việc sử dụng lại các thành phẩm có sẵn Ngoài ra, việc triển khai các thành phần trong hệ thống cũng trở nên độc lập Các thành phần trong kiến trúc này sẽ đăng ký vào tổng tuyến (bus) để lắng nghe các tin nhắn được xuất bản từ các thành phần khác
Về cơ bản, dịch vụ giao tiếp người dùng sẽ kích hoạt cả quá trình ẩn danh hóa bằng việc gửi một tin nhắn vào tổng tuyến Bằng việc lắng nghe trên tuyến này, bộ
Xác định các thuộc tính cần ẩn danh
Thực hiện ẩn danh hóa bằng bộ máy ẩn danh hóa Đánh giá rủi ro của kết quả Đánh giá độ hiệu dụng của kết quả
Trang 27 máy ẩn danh hóa sẽ được kích hoạt bởi tin nhắn đó, thực thi việc ẩn danh hóa dữ liệu với thông tin và cấu hình từ tin nhắn, cuối cùng sẽ xuất bản một tin nhắn khác trở lại tổng tuyến Lúc này dịch vụ giao tiếp người dùng sẽ tự cập nhật để hiển thị kết quả ẩn danh hóa cho người dùng cho phép họ tiếp tục tùy chỉnh kết quả hoặc chấp nhận dữ liệu này để xuất bản vào danh mục dữ liệu mở Nếu là trường hợp sau, một tin nhắn khác được gửi vào tổng tuyến để kích hoạt lại bộ máy ẩn danh hóa, phần chịu trách nhiệm gửi dữ liệu đã được ẩn danh vào hệ thống quản lý dữ liệu mở.
Hiện thực, thử nghiệm và đánh giá giải pháp được đề xuất
Triển khai hệ thống thử nghiệm
1.1 Các thành phần trong hệ thống
Các thành phần trong hệ thống được container hóa (containerized) thành các ảnh Docker (Docker image) sau đó triển khai trên môi trường Docker Compose 19 trong máy tính thử nghiệm Trên môi trường thực tế, phương pháp triển khai này có thể được cải tiến để phù hợp cho Kubernetes, một nền tảng khác chạy các ảnh Docker nhưng đáp ứng được các nhu cầu triển khai chặt chẽ hơn Sơ đồ trong Hình 5 thể hiện các thành phần trong việc triển khai hệ thống thử nghiệm
Các thành phần trong Docker Compose stack hoạt động trong một mạng riêng (private network) tách biệt với phần còn lại bên ngoài stack Có hai cổng TCP/IP được mở cho phép các ứng dụng bên ngoài gọi đến stack này là cổng 5000 và cổng
3000 Trong đó, các gói tin đến cổng 5000 được chuyển tiếp đến dịch vụ CKAN cho phép người sử dụng thao tác với hệ thống quản trị dữ liệu mở, các gói tin đến cổng
3000 được chuyển tiếp đến dịch vụ front-end cho phép người dung cấu hình một yêu cầu ẩn danh hóa dữ liệu cho một tập dữ liệu Ngoài hai cổng giao tiếp trên, các thành phần bên trong hệ thống hoạt động hoàn toàn khép kín, giảm thiểu được nguy cơ tấn công từ bên ngoài
Trong hệ thống thử nghiệm này, CKAN được chọn thay vì DSpace vì độ hoàn thiện của các tài liệu hướng dẫn Mặc dù cả hai phần mềm trên đều được sử dụng rộng rãi Các tài liệu hướng dẫn sử dụng và tài liệu phát triển mở rộng của CKAN có thể dễ dàng tìm kiếm và có khối lượng nhiều hơn so với DSpace Với thời gian hạn
19 https://docs.docker.com/compose/
Trang 28 chế của luận văn thì đây là ưu điểm quan trọng để tăng tốc quá trình tích hợp bộ máy ẩn danh hóa vào một hệ thống dữ liệu mở
Hình 5: Sơ đồ triển khai hệ thống thử nghiệm
Công cụ ẩn danh hóa (Kotlin)
Dịch vụ giao tiếp người dùng
Hệ thống thử nghiệm bao gồm các thành phần chính sau:
- Hệ quản trị cơ sở dữ liệu PostgreSQL lắng nghe trên cổng TCP/IP 5342: nơi lưu trữ dữ liệu chính của CKAN
- Hệ quản trị cơ sở dữ liệu Solr lắng nghe trên cổng TCP/IP 8983: đồng thời hoạt động như một công cụ tìm kiếm (search engine), phục vụ việc chỉ mục hóa và trả lời các truy vấn tìm kiếm trên CKAN
- Công cụ môi giới tin nhắn (message broker) RabbitMQ lắng nghe trên cổng TCP/IP 5672: hoạt động như là tổng tuyến dịch vụ (service bus), nơi các thành phần khác có thể sử dụng để phát/nhận các tin nhắn khác nhau
- Hệ quản trị cơ sở dữ liệu MongoDB lắng nghe trên cổng TCP/IP 27017: lưu trữ tập dữ liệu cần ẩn danh, cấu hình cây phân cấp và các kết quả trung gian trước khi được công bố lên CKAN bởi nhà phát hành dữ liệu
- CKAN platform (viết bằng Python) lắng nghe trên cổng TCP/IP 5000: hệ thống quản trị dữ liệu mở Cổng 5000 được chuyển tiếp ra bên ngoài Docker Compose stack cho phép người dùng có thể truy cập giao diện sử dụng của CKAN từ bên ngoài CKAN sử dụng các dịch vụ của PostgreSQL, Solr để lưu trữ và quản lý dữ liệu Các cập nhật liên quan đến các hoạt động của mình được CKAN cập nhật cho các thành phần khác thông qua việc gửi tin nhắn vào RabbitMQ
- Bộ máy ẩn danh hóa (Anonymization engine, viết bằng Kotlin): thực hiện việc ẩn danh hóa dữ liệu Thành phần này sẽ tiến hành đăng ký vào RabbitMQ để lắng nghe các yêu cầu ẩn danh được gửi vào Khi có một yêu cầu mới, thành phần này sẽ tiến hành đọc dữ liệu gốc và cây phân cấp từ dịch vụ MongoDB, tiến hành phân tính cấu hình yêu cầu trong tin nhắn, thực thi quá trình ẩn danh hóa và cuối cùng là gửi lại kết quả ẩn danh vào MongoDB để chuyên gia dữ liệu có thể đánh giá kết quả Nếu việc ẩn danh hóa đạt được mục đích đã đề ra, thành phần này sẽ gửi trực tiếp một yêu cầu vào CKAN trong mạng riêng để xuất bản dữ liệu được ẩn danh vào CKAN
- Dịch vụ giao tiếp người dùng (Front-end service, viết bằng NodeJS) lắng nghe trên cổng TCP/IP 3000: cung cấp một giao diện sử dụng đồ họa (GUI) cho người dùng cuối, ở đây các chuyên gia và nhà cung cấp dữ liệu, để gửi dữ liệu và các yêu cầu ẩn danh hóa vào hệ thống Đây cũng là dịch vụ thứ hai có cổng giao tiếp được chuyển tiếp đến mạng ngoài Docker Compose stack cho phép truy cập từ bên ngoài
Trang 30 Trong các thành phần trên, ngoại trừ bộ máy ẩn danh hóa được tác giả phát triển trong quá trình thực hiện luận văn và dịch vụ giao tiếp người dùng cuối là sản phẩm của một đề tài khác trong nhóm nghiên cứu khoa học, các thành phần khác đều là những công cụ mã nguồn mở và miễn phí
1.2 Luồng thực thi cơ bản để ẩn danh hóa một tập dữ liệu trước khi đưa vào danh mục dữ liệu mở
Quá trình ẩn danh một tập dữ liệu mới và xuất bản tập dữ liệu được ẩn danh vào một hệ thống quản lý dữ liệu mở (ở đây là CKAN) được mô tả trong Hình 6 với các bước được giải thích như sau:
1 Người sử dụng, ở đây là chuyên gia dữ liệu và nhà cung cấp dữ liệu, sử dụng dịch vụ giao tiếp người dùng (cổng TCP/IP 3000) để gửi tập dữ liệu gốc và các cấu hình cần thiết cho việc ẩn danh, bao gồm cả cây phân cấp cho các thuộc tính định danh cần thiết
Thiết kế bộ máy ẩn danh hóa linh động
Trong hệ thống được trình bày ở phần trước, đề tài chủ yếu hiện thực bộ máy ẩn danh hóa trong khi sử dụng lại các thành phần khác Để giải quyết bài toán ẩn danh hóa dữ liệu, nghiên cứu trong luận văn này đề xuất một giải pháp linh động cho bộ máy ẩn danh hóa như được biễu diễn trong Hình 7 Một yêu cầu ẩn danh hóa (input request) được gửi vào bộ máy ẩn danh sẽ được bộ phận cung cấp dữ liệu (data
Bộ máy ẩn danh hóa Dịch vụ giao tiếp người dùng
Trang 33 provider) xử lý để tạo ra tập dữ liệu (dataset) cho phần còn lại của quá trình Ngoài ra, bộ phận cung cấp cấu hình (config provider) cũng xử lý yêu cầu đầu vào để tạo nên các cấu hình cần thiết cho các thành phần khác trong hệ thống Thành phần chính trong thiết kế này là những mô hình ẩn danh hóa (anonymization models) và mô hình phân tích hiệu dụng (utility models) Dữ liệu và cấu hình được tạo ra ở bước trước sẽ được bộ phận ẩn danh hóa xử lý để tạo nên các tập dữ liệu được ẩn danh thỏa mãn nhu cầu của chuyên gia dữ liệu, tạo nên một không gian giải pháp (solution space) Các giải pháp trong không gian này cũng được đo bởi các mô hình tính toán hiệu dụng để cho ra các số đo hiệu dụng (utility metrics) Cả không gian giải pháp và số đo hiệu dụng sẽ được gửi đến bộ phận cuối cùng là bộ phận tiếp nhận kết quả (results consumer) Ở đây, chúng ta có thể xử lý kết quả cuối cùng theo nhiều cách khác nhau tùy nhu cầu hiện thực
Hình 7: Tổng quan bộ máy ẩn danh hóa
Bởi vì sự đa dạng trong số lượng các phương pháp ẩn danh hóa và đo hiệu dụng đã được nghiên cứu [28], việc vét cạn không gian giải pháp để tìm ra phương án ẩn danh hóa tốt nhất là không khả thi Mặc khác, nhiều giải thuật heuristic và phân tích cụm cũng được nghiên cứu trước đó [29] [30] [31] Kiến trúc trên cho phép việc hiện
Bộ phận cung cấp dữ liệu
Bộ phận cung cấp cấu hình
Các mô hình ẩn danh hóa
Các mô hình hiệu dụng
Bộ phận tiếp nhận kết quả
Số đo hiệu dụng Yêu cầu đầu vào
Trang 34 thực nhiều chiến lược để sử dụng kêt hợp nhiều mô hình khác nhau cũng như việc lựa chọn chiến lược ở thời điểm thực thi.
Thử nghiệm và đánh giá giải pháp được đề xuất
3.1 Dữ liệu thử nghiệm và phương pháp đánh giá
Hệ thống thử nghiệm được triển khai trên một máy tính cá nhân chạy Windows
64 bit dùng CPU AMD Ryzen 5 3600 3.6GHz và 32GB RAM Nghiên cứu này sử dụng các tập dữ liệu khác nhau 20 về kích thước và số chiều dữ liệu để thử nghiệm công cụ ẩn danh hóa Thời gian ẩn danh hóa được lưu lại để đem ra so sánh khi chạy bài toán 5-anonymity với số lượng các thuộc tính định danh gần đúng (QI) khác nhau Ngoài ra, độ hiệu dụng của kết quả cũng được đánh giá dựa vào phương pháp Granularity [32] Kết quả đo hiệu dụng là một giá trị nằm giữa 0 và 1, trong đó giá trị
1 thể hiện dữ liệu hoàn toàn không bị biến đổi và giá trị 0 thể hiện thông tin của dữ liệu đã bị loại bỏ hoàn toàn Giá trị của kết quả càng gần 1 thì thể hiện kết quả càng giữ lại nhiều giá trị so với dữ liệu ban đầu Các tập dữ liệu được thử nghiệm bao gồm:
• SS13ACS : kết quả của cuộc khảo sát về dân số, xã hội và kinh tế của Cục Điều tra dân số Hoa Kỳ thực hiện với các cá nhân được chọn ngẫu nhiên
• IHIS: kết quả của các khảo sát liên tục về sức khỏe của cư dân Hoa Kỳ
• ATUS: kết quả cuộc khảo sát về việc sử dụng thời gian của công dân Hoa Kỳ được tài trợ bởi Cục Thống kê lao động và thực hiện bởi Cục Điều tra dân số
• FARS: kết quả thống kê về tai nạn từ Hệ thống Báo cáo phân tích tử vong Hoa
• CUP: dữ liệu được dùng trong Cuộc thi Khai phá Dữ liệu và Khám phá Dữ liệu hàng năm (Knowledge Discovery and Data Mining Tools Competition - KDD Cup) lần thứ 2 (diễn ra vào năm 1998)
• ADULT: một phần của dữ liệu khảo sát dân số Hoa Kỳ năm 1994 Đặc điểm của các tập dữ liệu này được trình bày trong Bảng 3 Ngoài ra, dữ liệu cây phân cấp được sử dụng trong nghiên cứu này được lấy từ kết quả của Praser và cộng sự [24] được trình bày từ Bảng 4 đến Bảng 9
20 https://github.com/letrunghieu/transformation-benchmark/tree/master/data
Tập dữ liệu Số chiều dữ liệu Số bản ghi
Số lượng Phân loại Số lượng Phân loại
ATUS 9 Trung bình 539.253 Trung bình
FARS 8 Trung bình 100.937 Trung bình
Bảng 3: Đặc điểm cả các tập dữ liệu được sử dụng
Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp
Living with grandchildren Rời rạc 3 2
Indian Health Service Rời rạc 2 2
Insurance Veteran's Association Rời rạc 2 2
Bảng 4: Đặc điểm của tập dữ liệu SS13ACS
Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp
Bảng 5: Đặc điểm của tập dữ liệu IHIS
Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp
Highest level of school completed Rời rạc 18 4
Labor force status Rời rạc 6 3
Bảng 6: Đặc điểm của tập dữ liệu ATUS
Trang 37 Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp iage Số 99 6 irace Rời rạc 20 3 ideathmon Rời rạc 14 4 ideathday Rời rạc 33 4 isex Rời rạc 3 2 ihispanic Rời rạc 10 3 istatenum Rời rạc 51 4 iinjury Rời rạc 8 3
Bảng 7: Đặc điểm của tập dữ liệu FARS
Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp
Bảng 8: Đặc điểm của tập dữ liệu CUP
Tên thuộc tính Loại dữ liệu Số giá trị phân biệt Độ cao cây phân cấp sex Rời rạc 2 2 age Số 72 5 race Rời rạc 5 2 marital‐status Rời rạc 7 3 education Rời rạc 16 4 native‐country Rời rạc 41 3 workclass Rời rạc 7 3 occupation Rời rạc 14 3 salary‐class Rời rạc 2 2
Bảng 9: Đặc điểm của tập dữ liệu ADULT
Trang 38 Để đánh giá giải pháp được đề xuất, đề tài sử dụng phương pháp đánh giá về thời gian thực thi quá trình ẩn danh hóa và độ hiệu dụng của tập dữ liệu kết quả Cụ thể như sau:
• Đánh giá tác động của số lượng thuộc tính định danh gần đúng đến thời gian thực thi của hệ thống thử nghiệm cho từng tập dữ liệu
• Đánh giá tác động của số lượng bản ghi của các tập dữ liệu khác nhau khi chạy hệ thống cho yêu cầu ẩn danh hóa với số lượng thuộc tính định danh gần đúng tương đương giữa các tập dữ liệu
• Đánh giá độ hiệu dụng của tập dữ liệu kết quả bằng phương pháp Granularity
So sánh kết quả này với tập dữ liệu kết quả chạy bằng phần mềm ARX có cùng một số lượng thuộc tính định danh gần đúng và giá trị k trong mô hình k- anonymity
3.2 Kết quả đo thời gian thực thi quá trình ẩn danh hóa
Kết quả đo thời gian ẩn danh hóa dữ liệu của các tập dữ liệu với số lượng thuộc tính định danh gần đúng được thể hiện trong các biểu đồ Hình 8 Mỗi biểu đồ nhỏ thể hiện kết quả cho một tập dữ liệu Trục tung thể hiện thời gian thực thi của hệ thống ẩn danh hóa được đề xuất, tính bằng giây (s) Trục hoành thể hiện số lượng thuộc tính định danh gần đúng trong mỗi thí nghiệm Ngoại trừ tập dữ liệu SS13ACS có đến 30 thuộc tính định danh gần đúng, các tập dữ liệu khác đều có tối đa 8 hoặc 9 thuộc tính định danh gần đúng mà thôi
Có thể thấy thời gian thực hiện ẩn danh hóa tăng theo số lượng thuộc tính định danh gần đúng Trong mỗi tập dữ liệu, khi số lượng thuộc tính cần ẩn danh tăng, thời gian thực thi cũng tăng theo Nhiều thử nghiệm cho thời gian thực thi hơn một giây, tối đa gần sáu mươi giây với tập dữ liệu IHIS (có số lượng bản ghi lớn nhất) Điều này củng cố kiến trúc được đề ra trong nghiên cứu khi sử dụng tổng tuyến dịch vụ để cho phép công cụ ẩn danh thực thi bất đồng bộ khi nhận yêu cầu từ dịch vụ giao tiếp người dùng
Ngoài ra, khi so sánh thời gian thực thi của bộ máy ẩn danh hóa giữa các tập dữ liệu với nhau ta cũng thấy ảnh hưởng của số lượng bản ghi trong tập dữ liệu đến thời gian cần thiết để ẩn danh tập dữ liệu đó Cụ thể, tập dữ liệu có nhiều bản ghi nhất là IHIS (hơn 1 triệu bản ghi) cần hơn năm mươi giây để hoàn thành quá trình ẩn danh với chín thuộc tính trong khi tập dữ liệu SS13ACS chỉ cần hơn bảy giây cho quá trình trên với ba mươi thuộc tính Cũng với chín thuộc tính định danh gần đúng, hệ thống
Trang 39 chỉ cần hơn một giây để xử lý tập dữ liệu ADULT, tập dữ liệu có ít bản ghi nhất Sự khác biệt này ít rõ ràng hơn trong các thí nghiệm với số lượng thuộc tính định danh gần đúng nhỏ
Hình 8: Thời gian ẩn danh hóa dữ liệu của các tập dữ liệu với số lượng thuộc tính định danh gần đúng khác nhau
3.3 Kết quả đo độ hiệu dụng của tập dữ liệu sau khi ẩn danh hóa