TỔNG QUAN Với lượng dữ liệu gia tăng nhanh chóng thì KTDL là một công cụ hữu ích ñể rút trích những thông tin có ích từ dữ liệu, tuy nhiên trong các lĩnh vực ñặc thù như y khoa, bảo hiểm
Trang 1Chương 1 TỔNG QUAN
Với lượng dữ liệu gia tăng nhanh chóng thì KTDL là một công cụ hữu ích
ñể rút trích những thông tin có ích từ dữ liệu, tuy nhiên trong các lĩnh vực ñặc thù như y khoa, bảo hiểm, ngân hàng, … có chứa dữ liệu và thông tin nhạy cảm, không cho phép tiết lộ dữ liệu và thông tin nhạy cảm này do ñó gây khó khăn cho quá trình khai thác, từ ñó ñòi hỏi cần có các nghiên cứu ñể có thể khai thác dữ liệu nhưng không tiết lộ tính riêng tư của dữ liệu
Luận văn tập trung tìm hiểu về khai thác luật kết hợp bảo ñảm tính riêng tư trên dữ liệu phân tán ngang, trong chương này giới thiệu về tính riêng tư trong khai thác dữ liệu (KTDL) và tính riêng tư trong khai thác dữ liệu phân tán, phân tích những nguyên nhân làm ảnh hưởng ñến tính riêng tư, trình bày các phương pháp bảo ñảm tính riêng cùng với ưu ñiểm và nhược ñiểm của các phương pháp này Phần tiếp theo trình bày về các giao thức tính toàn ña thành viên an toàn và áp dụng các giao thức này trong KTDL phân tán bảo ñảm tính riêng tư Phần cuối ñi sâu phân tích tính riêng tư trong khai thác luật kết hợp trên dữ liệu phân tán ngang, xác ñịnh thông tin cần phải bảo ñảm tính riêng tư và ñưa ra các phương pháp ñể giải quyết
Khai thác dữ liệu (KTDL) là một kỹ thuật ñể rút trích tri thức từ lượng dữ liệu lớn và ñược xem là giai ñoạn chính trong quá trình khám phá tri thức KTDL ñược ứng dụng trong nhiều lĩnh vực như tiếp thị, kinh doanh, khám phá khoa học, công nghệ sinh học, tìm kiếm trên Internet, giải trí ña phương tiện, …
Các ứng dụng gần ñây của KTDL cho việc thu thập và phân tích dữ liệu
trong các ứng dụng liên quan ñến bảo mật, y học, kinh doanh, … ñã ñặt ra mối
quan tâm về vấn ñề tính riêng tư, khi áp dụng các kỹ thuật KTDL có thể làm tiết lộ
dữ liệu và thông tin nhạy cảm
Trang 2Tính riêng tư: dữ liệu nhạy cảm như ñịnh danh, tên, ñịa chỉ, ñiện thoại, thu nhập, … của các cá nhân, tổ chức, và tri thức nhạy cảm ñược khai thác từ cơ sở dữ
liệu thông qua các thuật toán khai thác dữ liệu Các thông tin này là bí mật kinh doanh, những thông tin gây bất lợi cho cá nhân, tổ chức, hay do quy ñịnh của pháp luật nên không thể tiết lộ ra [1][2][4] Một số ví dụ:
Ví dụ 1, trung tâm kiểm soát dịch bệnh (CDC, Mỹ) muốn khai thác hồ sơ sức khỏe ñể tìm hiểu về vi khuẩn kháng thuốc kháng sinh từ ñó làm giảm gia tăng của
vi khuẩn này Các công ty bảo hiểm có thông tin dịch bệnh liên quan như ñơn thuốc, thông tin bệnh nhân CDC muốn khai thác các luật kết hợp có dạng X Y,
tìm ra luật Augmentin & Mùa hè Nhiễm bệnh & Mùa thu, nghĩa là, người dùng Augmentin trong mùa hè có thể bị nhiễm bệnh tái phát trong mùa thu Các công ty
bảo hiểm ngoài việc bảo ñảm tính riêng tư của bệnh án, họ không muốn chia sẻ thông tin khai thác ñược này Nếu người dùng bảo hiểm biết ñược thông tin này họ
có thể cải thiện chính sách chăm sóc bệnh nhân, ñiều này có thể gây thiệt hại cho các công ty bảo hiểm Với những rủi ro này các công ty bảo hiểm sẽ không muốn cung cấp dữ liệu cho CDC [4][7]
Ví dụ 2, một nhóm công ty kinh doanh muốn xác ñịnh các mẫu tốt nhất ñể giúp ñỡ các thành viên nhưng một số mẫu là bí mật kinh doanh Vậy làm thế nào ñể
có thể cung cấp các kết quả cho các thành viên nhưng vẫn bảo ñảm bí mật ? Ví dụ: việc sản xuất sử dụng chất hóa học ñược cung cấp từ nhà cung cấp X có tỷ lệ thất bại cao, quy trình sản xuất Y cho tỷ lệ thành công thấp [26]
Ví dụ 3, các công ty ña quốc gia muốn khai thác dữ liệu của các công ty ñể
có ñược kết quả toàn cục, nhưng luật pháp của các quốc gia có thể ngăn chặn việc chia sẻ dữ liệu [26]
Ví dụ 4, KTDL nghiên cứu về dân cư nhưng người dân không muốn ñể lộ thông tin cá nhân [26]
Ví dụ 5, người sử dụng KTDL trên một CSDL mà họ không sở hữu, họ không muốn ñể lộ ra các câu truy vấn của mình với người quản trị CSDL [2]
Trang 3Dó ñó cần có giải pháp ñể có thể khai thác dữ liệu nhưng vẫn bảo ñảm tính riêng tư Với các ứng dụng sử dụng CSDL phân tán có kích thước dữ liệu lớn, hạn chế về chi phí, tốc ñộ truyền thông và tính riêng tư của dữ liệu nên không thể tập trung dữ liệu, từ ñó cần ñưa ra giải pháp bảo ñảm tính riêng tư trong khai thác dữ liệu phân tán Giải pháp cần phải phù hợp loại dữ liệu, nhu cầu về tính riêng tư, hạ tầng mạng, yêu cầu về ñộ chính xác của kết quả khai thác ñể có thể ứng dụng ñược trong thực tế
Khai thác luật kết hợp ñược sử dụng phổ biến, ứng dụng ñể phân tích giỏ mua hàng, phân tích chiến lược bán hàng, web log,… Đã có nhiều giao thức ñề xuất ñể khai thác luật kết hợp cho dữ liệu tập trung và phân tán, tuy nhiên các giao thức vẫn còn hạn chế về tính riêng tư và chi phí tính toán và truyền thông
Luận văn ñề xuất giao thức khai luật kết hợp bảo ñảm tính riêng tư trên dữ
liệu phân tán ngang có tính riêng tư cao và chi phí truyền thông thấp, giao thức
cải tiến giao thức do Mahmoud Hussein và các ñồng nghiệp ñề xuất năm 2008 trong [14], giao thức ñề xuất cải tiến bước tìm tập ứng viên bằng cách sử dụng hướng tiếp cận sử dụng itemset tối ñại cục bộ (MFI) và cải tiến bước tính ñộ hỗ trợ toàn cục bằng cách sử dụng mã hóa Paillier, từ ñó cho tính riêng tư cao hơn và chi phí truyền thông thấp hơn Sử dụng bộ dữ liệu thực tế ñể cài ñặt thử nghiệm giao thức và cho kết quả khai thác hoàn toàn chính xác
Nội dung luận văn gồm 4 chương:
Chương 1: Tổng quan - trình bày về tính riêng tư và các phương pháp ñể bảo ñảm tính riêng tư cho dữ liệu tập trung và dữ liệu phân tán, cuối chương trình phân tích các vấn ñề trong khai thác luật kết hợp bảo ñảm tính riêng tư trên dữ liệu phân tán ngang
Chương 2: Các công trình liên quan – trình bày về các giao thức ñã ñề xuất
ñể khai thác luật kết hợp bảo ñảm tính riêng tư trên dữ liệu phân tán ngang
Chương 3: Kiến thức nền tảng - trình bày nội dung liên quan ñến giao thức
ñề xuất như itemset phổ biến tối ñại, thuật toán GenMax, mã hoá ñồng hình Paillier
Trang 4Chương 4: Giao thức đề xuất - trình bày về những cải tiến của giao thức đề xuất, đánh giá tính riêng tư và hiệu năng của giao thức, so sánh giao thức đề xuất với các giao thức trước đĩ, tiếp theo là kết quả cài đặt với dữ liệu thực tế, kết luận
và hướng phát triển
CSDL sử dụng cho mục đích khai thác dữ liệu cĩ thể là CSDL tập trung hay phân tán ở nhiều nơi nên cũng cĩ các hướng tiếp cận khác nhau để bảo đảm tính riêng tư cho các loại CSDL này Với CSDL tập trung ta thực hiện biến đổi dữ liệu
để ẩn các thơng tin nhạy cảm trước khi đưa vào khai thác như vậy sẽ khơng tiết lộ thơng tin nhạy cảm Đối với CSDL phân tán cĩ hai cách để thực hiện:
Cách 1, mỗi CSDL cục bộ thực hiện biến đổi dữ liệu sau đĩ tập trung dữ liệu thành CSDL tập trung, ta sẽ thực hiện khai thác trên CSDL tập trung này, do dữ liệu
đã được biến đổi nên ra khơng làm mất tính riêng tư Tuy nhiên phương pháp này yêu cầu chi phí truyền thơng rất lớn do phải truyền tất cả dữ liệu cục bộ, kết quả khai thác khơng hồn tồn chính xác và cĩ thể dự đốn ra được dữ liệu nhạy cảm nếu phương pháp biến đổi khơng đủ mạnh
Cách 2, thực hiện khai thác dữ liệu phân tán, theo cách này do các CSDL phải chia sẻ dữ liệu với nhau nên sẽ làm mất tính riêng tư của dữ liệu, do đĩ cần cĩ giao thức để bảo đảm tính riêng tư cho trường hợp này Cách này cĩ thể được áp dụng đối với các ứng dụng địi hỏi kết quả khai thác chính xác, cần tính riêng tư cao
mà phương pháp cho CSDL tập trung khơng đáp ứng được hay do hạ tầng mạng nên khơng thể tập trung dữ liệu
Xiaodan Wu [1] phân loại các giao thức bảo đảm tính riêng tư cho CSDL tập trung và CSDL phân tán dựa theo các cơng trình được cơng bố từ năm 2000 đến cuối năm 2006
Với CSDL tập trung, các giao thức đề xuất cho mục đích ẩn luật và ẩn dữ
liệu cho 3 thuật tốn KTDL là phân lớp, gom nhĩm, luật kết hợp, sử dụng các kỹ
Trang 5thuật: tổng quát hĩa (generalization), biến đổi dữ liệu (data distortion), làm giảm bớt (data sanitation), ngăn chặn (blocking)
Với CSDL phân tán, các giao thức đều dựa trên kỹ thuật mã hĩa và chỉ áp dụng để ẩn dữ liệu Cĩ 2 loại phân tán dữ liệu chính:
Phân tán ngang: các site khác nhau thu thập cùng các đặc trưng về thơng
tin của các thực thể khác nhau, ví dụ: 2 ngân hàng, Citibank và JPMorgan Chase, như trong hình 1.1, mỗi ngân hàng thu thập thơng tin thẻ tín dụng của các khách hàng, các thuộc tính đều như nhau, ta cĩ thể gộp 2 CSDL này lại để tăng độ chính xác khi dự đốn gian lận
Phân tán dọc: các site thu thập các đặc trưng khác nhau của cùng tập thực
thể, ví dụ: bệnh viện (hoặc cơng ty bảo hiểm) thu thập các mẫu tin về y khoa, nhà
cung cấp dịch vụ khơng dây cĩ thể thu thập các thơng tin khác như trong hình 1.2,
ta cĩ thể gộp 2 thơng tin này lại về các khác hàng và thực hiện khai thác để tìm mối tương quan
Để đánh giá các các giao thức bảo đảm tính riêng tư, ta sử dụng các tiêu chí
sau (theo [2]):
Hiệu năng: Thời gian yêu cầu, chi phí tính tốn và truyền thơng (với dữ liệu
phân tán)
Tính hiệu dụng dữ liệu: Độ chính xác và hữu ích của thơng tin khai thác
được từ CSDL sau khi áp dụng kỹ thuật bảo đảm tính riêng tư
Mức độ khơng chắc chắn: Xác suất để đốn ra thơng tin ẩn
cảm bằng cách sử dụng kỹ thuật KTDL khác sau quá trình bảo đảm tính riêng tư
Trang 6MÔ HÌNH CSDL TOÀN CỤC
ZIP
Số giao dịch Tín dụng
Trạng thái
MÃ THẺ
98052
<5
$5000 Passive
CAC
…
47960
<20
<$1000 Active
RPJ
Ngân hàng CitiBank (Thẻ tín dụng)
47907
>100
>$50000 Active
XYZ
…
85732
<20
$10000 Passive
ABC
Ngân hàng JPMorGan Chase (Thẻ tín dụng)
MÔ HÌNH CSDL TOÀN CỤC
ZIP
Số giao dịch Tín dụng
Trạng thái
MÃ THẺ
98052
<5
$5000 Passive
CAC
…
47960
<20
<$1000 Active
RPJ
Ngân hàng CitiBank (Thẻ tín dụng)
47907
>100
>$50000 Active
XYZ
…
85732
<20
$10000 Passive
ABC
Ngân hàng JPMorGan Chase (Thẻ tín dụng)
Hình 1.1 - Dữ liệu phân tán ngang
MÔ HÌNH CSDL TOÀN CỤC
Pin Loại máy
Bị ñái ñường ?
Bị u não ? MÃ
Bị ñái ñường Không
PTR
…
Không Không
CAC
Bị ñái ñường
Bị u não RPJ
Dữ liệu y khoa
NiCd 3650
PTR
…
Không Không
CAC
Li/lon 5210
RPJ
Dữ liệu di ñộng
Hình 1.2 – Dữ liệu phân tán dọc
Một hướng tiếp cận ñể xây dựng giao thức bảo ñảm tính riêng tư trong KTDL phân tán là kế thừa các thuật toán KTDL phân tán và KTDL song song, phân tích các thông tin nhạy cảm bị tiết lộ và từ ñó ñề xuất phương pháp ñể bảo ñảm tính riêng tư cho các thông tin này
Trang 7Đa số các thuật toán KTDL phân tán và KTDL song song không ñòi hỏi trao ñổi dữ liệu cá nhân giữa các site, như vậy các item dữ liệu cá nhân không bị chia sẻ, tuy nhiên vẫn tiết lộ một số thông tin về các tập hợp tại các site, trong nhiều ứng dụng ñiều này là không thể chấp nhận ñược [6] Như vậy ta chỉ cần bảo ñảm tính riêng tư cho thông tin tập hợp giữa các site Phần tiếp trình bày về các các phương pháp ñể bảo ñảm tính riêng tư trong KTDL phân tán
Sử dụng thành viên thứ ba ñáng tin cậy: Thành viên thứ 3 ñáng tin cậy
(Trusted-party) là một thành viên bên ngoài, hoạt ñộng hoàn toàn ñộc lập, tính toán
và ñưa ra kết quả, sau khi ñưa ra kết quả thành viên ñáng tin cậy này xoá tất cả những gì ñã biết
Cách thực hiện như trong hình 1.3, tất cả các thành viên gửi dữ liệu cục bộ hoặc các mô hình khai thác cục bộ cho Trusted-part, Trusted-party tính toán và gửi kết quả khai thác về cho các thành viên Hướng tiếp cận này an toàn tuyệt ñối nhưng Trusted-party thì không thực tế [27][4][2]
TTP
Hình 1.3 – Giao thức sử dụng Trusted-party
Không sử dụng Trusted-party: cách thực hiện như trong hình 1.4, các
thành viên liên kết với nhau ñể tính ra kết quả cuối cùng Hướng tiếp cận này phát sinh nhiều vấn ñề về tính riêng tư, hiệu năng (ñộ chính xác, chi phí tính toán, truyền thông) [27], do ñó cần phải có giao thức ñể bảo ñảm tính riêng tư thỏa các yêu cầu
về tính riêng tư và hiệu năng Đa số các giao thức ñều theo hướng tiếp cận này
Trang 8Hình 1.4 – Giao thức không sử dụng Trusted-party
Xét kiến trúc hệ thống gồm 2 thành viên liên kết với nhau qua môi trường internet như trong hình 1.5 [27], ta xem xét các trường hợp tấn công vào hệ thống
ñể từ ñó ñưa ra ñược các phương pháp ñể bảo ñảm tính riêng tư cho từng trường hợp
Hình 1.5 - Kiến trúc hệ thống
Tấn công từ bên ngoài: Đối phương (kẻ tấn công) có thể là người ở bên
ngoài hệ thống, ñột nhập vào CSDL và ñánh cắp thông tin (xem hình 1.6) Để ngăn chặn các mối tấn công này ta có thể sử dụng các biện pháp bảo mật hệ thống truyền thống [27]
Trang 9Tấn công từ bên trong: Đối phương là một thành viên tham giao vào quá
trình khai thác Định nghĩa hai mô hình ñối phương cơ bản:
Semi-honest (tấn công bị ñộng): (hay trung thực nhưng tò mò) thành viên
này tuân theo giao thức nhưng cố gắng suy luận ra thông tin bí mật của các thành viên khác từ dữ liệu mà thành viên này nhận ñược trong quá trình thực thi giao thức (xem hình 1.7) [4, 27]
INTERNET
Thông tin riêng của thành viên khác
Hình 1.7 – Mô hình tấn công semi-honest
Malicious (tấn công chủ ñộng): thành viên này có thể làm bất cứ ñiều gì ñể
suy luận ra thông tin bí mật: hủy bỏ giao thức bất cứ lúc nào, sửa ñổi modun xử lý cục bộ, gửi thông ñiệp giả mạo, thông ñồng với các thành viên (malicious) khác, … (xem hình 1.8) [4, 27]
INTERNET
Thông tin riêng của thành viên khác
Hình 1.8 - Mô hình tấn công malicious Hầu hết các giao thức ñều thiết kế cho mô hình semi-honest tuy nhiên giả sử này không thực tế Đối với mô hình malicious có rất ít giao thức, còn nhiều hạn chế
và không hiệu quả [4, 27]
Trang 101.3.4 Tính toán ña thành viên an toàn:
Tính toán ña thành viên an toàn (Secure Multi-party Computation – SMC) là một tính toán giữa hai hay nhiều thành viên dựa vào các yếu tố ñầu vào, tiến hành tính toán mà không ñể lộ bất kỳ thông tin gì ngoại trừ kết quả và các yếu tố ñầu vào của mỗi thành viên Ý tưởng của SMC tương tự như giao thức với thành viên thứ ba ñáng tin cậy, mỗi thành viên tham gia gửi yếu tố ñầu vào tới thành viên thứ ba ñáng
tin cậy này và chỉ nhận lại kết quả tính toán SMC giả lập thành viên thứ ba ñáng
tin cậy này dựa vào một giao thức giữa các thành viên [2] như trong hình 1.9
Hình 1.9 - Mô hình tính toán SMC
Đã có nhiều giao thức SMC ñược ñề xuất như: tính tổng an toàn, phép giao
an toàn, phép hợp an toàn, tích vô hướng an toàn, … (xem chi tiết về các giao thức này trong [4, 5, 6]) Ta có thể kết hợp các giao thức con ñể tạo ra các giao thức an
toàn mới, nếu thuật toán/giao thức phụ thuộc vào một số giao thức con, việc thực hiện các giao thức con hiệu quả sẽ cải thiện ñáng kể hiệu quả tổng thể [4]
Đã có nhiều giao thức SMC ñược áp dụng ñể bảo ñảm tính riêng tư trong KTDL trên dữ liệu phân tán ngang[4][28] và dữ liệu phân tán dọc [28] như trong hình 1.10 và hình 1.11, với mỗi thuật toán KTDL sẽ có các giao thức SMC tương ứng và tùy theo cách thực hiện ta sẽ áp dụng các giao thức SMC nào cho phù hợp
Dù cách tính toán là an toàn, một số thông tin ñầu vào vẫn có thể bị tiết lộ do kết quả của hàm tính toán, ví dụ, nếu một thành viên có tổng tài sản là 100.000$ và thành viên kia giàu hơn thì thành viên này sẽ có tổng tài sản thấp hơn [4]