Mô hình khai thác bằng CRDM

Một phần của tài liệu Một số kỹ thuật khai phá luật kết hợp có bảo đảm tính riêng tư trong các tập giao dịch phân tán ngang (Trang 48 - 79)

CRDM được đưa ra như thuật giải chỉ ra ở hình 3.4. Nó bao gồm 2 giai đoạn. Ở giai đoạn 1, với tư cách là ứng viên của tập phổ biến toàn cục, tất cả các itemset này được thấy tần xuất cục bộ ở ít nhất là một site. Ở giai đoạn 2, sử dụng kết qủa của giai đoạn 1, bao gồm tập phổ biến toàn cục. Chúng ta sử dụng ví dụ 3.2 và hình 3.3 để minh họa CRDM.

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

Hình 3.3. Một ví dụ minh họa CRDM

Ví dụ 3.2 (hình 3.3) Giả sử rằng chúng ta có 6 sites, đã hoàn thành 2 bước lặp đầu tiên của CRDM, và vì thế đã biết tập phổ biến toàn cục itemset 1

và itemsets 2, đưa ra lần lượt bởi L1 và L2. Chúng ta phải giải phóng L3.

Để bắt đầu phép lặp lần thứ 3, itemset được gia tăng bởi 1, để giải

phóng L3. Với việc ghép nối L2, sites (Si, 0 ≤ i < 6) chia sẻ bộ tần suất dư 3,

biểu thị bởi CG3

Đầu vào cho vòng lặp thứ 3

Kích thước itemsets mục tiêu trong lần lặp cuối cùng là ItemsetLen=2 Các itemset phổ biến toàn cục được khai phá ở các vòng trước :L1, L2

Đặt kích thước của itemset trong vòng lặp này là: ItemsetLen=ItemsetLen+1 Nối các tập LItemsetLen-1 để sinh ra các tập ứng viên có kích thước là ItemsetLen Site Si chuẩn bị mảng Ai các tập phổ biến địa phương có kích thước ItemsetLen sao cho: Với itemset thứ j. Ai[j]=1 nếu như là tập phổ biến địa phương, ngược lại thì Ai[j] =0

Việc đảm bảo độ an toàn của Ai cho mọi site sử dụng thuật toán SecureSum, và trả về cho S0 kết quả trong mảng B.

S0 công bố tất cả các itemset là tập phổ biến địa phương tại ít nhất 1 site: tập itemset tương ứng với B[j]>0

Site Si chuẩn bị một mảng A, độ hỗ trợ cục bộ của các tập ứng viên

Việc đảm bảo độ an toàn của Ai cho mọi site sử dụng thuật toán SecureSum, và trả về cho S0 kết quả trong mảng B.

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

Ở pha 1, khi bộ ứng viên viên 3 thành phần toàn cục (được chỉ định là

CG3), itemset là tần xuất tại ít nhất 1 site được thu thập trong 4 bước:

Bước 1. Tại mỗi itemset ở CG3 là tần xuất cục bộ tại Si, yếu tố thông tin

(tương ứng) của một dãy được gọi là Ai được đặt đến 1, và tất cả các yếu tố

khác của Ai được đặt đến 0

Bước 2. 5i 0Ai được tính toán bằng việc sử dụng SecureSum, và kết

quả được đưa đến S0 trong dãy được gọi là B.

Bước 3. CG3 được suy ra từ B: Các yếu tố mà giá trị của chúng lớn hơn 0 tương ứng với các ứng viên.

Bước 4. S0 truyền phát CG3 và tổng số lượng ứng viên

Ở pha 2, tần xuất toàn cục 3, itemset và tổng số hỗ trợ của chúng được

tính toán như sau: Đầu tiên, đối với mỗi ứng viên ở CG3, tổng số hỗ trợ của

chúng tính tại những site cá nhân được tính toán trong 2 bước:

- Bước 1. Mỗi yếu tố của Ai được thiết lập (khởi chạy) đến một count hỗ trợ cục bộ của thí sinh tương ứng.

- Bước 2. 5i 0Ai được tính toán như trong pha 1. Sau đó sử dụng kết

quả đó, S0 chứa L3 và các counts hỗ trợ tương ứng (thông tin) và truyền phát

chúng đến các site khác. L3 sẽ được sử dụng trong phép lặp tiếp theo để đến

L4.

Tiếp theo, chúng ta đưa một bản phân tích ở mức độ chống thông đồng và chi phí thông tin của thuật toán CRDM. Chúng được đưa ra như 2 đặc tính. Đặc tính 3 và đặc tính 4.

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

Đặc tính 3. (Mức độ chống lại sự thông đồng). CRDM là một thuật toán bảo vệ sự bảo mật. Mức độ chống lại sự thông đồng của nó là M – 2, ở đó M là số của các sites.

Đặc tính này được suy ra từ đặc tính 1, vì trong CRDM, việc chuyển dữ liệu cá nhân chỉ dựa vào Securesum.

Đặc tính 4. (Chi phí truyền thông). Đối với CRDM, chi phí truyền thông theo quan điểm của số thông điệp được ước tính là M (M – 1) + 2 và theo yêu cầu về thời gian thì được ước tính là 2MT, ở đó M là số của các sites và T là thời gian trung bình của việc chuyển thông điệp từ site này đến site khác.

Thuật toán 1: CRDM – Cllusion – Resistant Data Mining

Đầu vào: (1) {Si} 0 ≤ i < M : Một tập các site tham gia việc khai phá dữ liệu

phân tán. M ≥ 3

(2) I: Tập các mặt hàng (các mục)

(3) DBi: Cơ sở dữ liệu được chứa tại site i (0 ≤ i < M); DB = (4) Minsup: Ngưỡng hỗ trợ tối thiểu

Đầu ra: Một tập của các tập mục có độ hỗ trợ không nhỏ hơn (≥)Minsup

CRDM Begin

Itemsetlen  0;

Repeat

/* Kích thước các tập mục phổ biến – các tập mục được sinh ra với kích thước lần lượt là itemsetlen = 1,2,3…*/

ItemsetLen  ItemsetLen+1;

PHA1 (Sinh các tập ứng viên) Begin

/* Tất các các site biểu diễn các tập phổ biến trong dạng Ai */ Foreach site Si do

If ItemsetLen=1 the CG’ItemsetLen I đã sắp xếp theo thứ tự từ điển;

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

Else CG’ItemsetLen  results nối các itemset có kích thước LItemsetLen -1 với nhau, sắp xếp theo thứ tự từ điển;

ItemsetNum  | CG’ItemsetLen|, và khởi tạo ma trận Ai [1…I temsetNum];

For j=1 to ItemsetNum do

If phần tử thứ j của CG’ItemsetLen là phổ biến cục bộ thì Ai[j]  1;

else Ai[j]  0;

Gọi thủ tục SecureSum ({Si}0≤i<M,Ai[j] (0 ≤ i < M, 1 ≤ j < ItemsetNum)), và return kết quả ra

B= < , > /* công bố các itemset phổ biến cục bộ tại ít nhất một site */

For site S0 do

For j=1 to ItemsetNum do

If B[j]>0 then CG’ItemsetLen , tập itemset thứ j của các tập CG’ItemsetLen;

ItemsetNu | CG’ItemsetLen|;

Sắp xếp CG’ItemsetLen theo tứ tự từ điển;

Gửi CG’ItemsetLen và ItemsetNum tới tất cả các site;

End

PHASE2 (Sinh ra các tập phổ biến với ngưỡng hỗ trợ tương ứng) Begin

/* Tất cả các site biểu diễn độ hỗ trợ lưu vào mảng Ai*/

Foreach site Si do

Tìm độ hỗ trợ cục bộ cho mỗi phần tử trong CG’ItemsetLen;

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

3.2. Một số giao thức tiếp cận theo hƣớng FI (Frequent itemset):

Hướng tiếp cận FI dựa trên bổ đề: “Một luật có độ hỗ trợ toàn cục ≥ k% thì phải có độ hỗ trợ cục bộ ≥ k% tại ít nhất một site”.

Như vậy “một itemset phổ biến toàn cục thì phải phổ biến cục bộ tại ít nhất một site”.

For j=1 to ItemsetNum do Ai[j]  độ hỗ trợ cục bộ của tập thứ j trong CG’ItemsetLen;

Gọi thủ tục SecureSum ({Si} 0≤i<M, Ai[j] (0≤i< M, 1 ≤ j < ItemsetNum)), và

Trả lại kết quả vào mảng

B= < , > /* Công bố tất cả các tập phổ biến toàn cục ItemsetLen – itemsets */

For site S0 do

For j=1 to ItemsetNum do

If B[j]≥0 Minsup*|DB| then LItemsetLen , B[j] và phần tử thứ j trong CG’ItemsetLen

ItemsetNum  |LItemsetLen|;

Gửi các LItemsetLen tới tất cả các site;

End

Cho tới khi Không có tập phổ biến toàn cục nào được sinh ra;

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

Từ đó chọn tập itemset ứng viên toàn cục là phần hợp của các itemset phổ biến cục bộ tại các site, các site phát sinh các itemset phổ biến cục bộ theo thuật toán FDM (Fast Distributed Mining of association rules), sau đó các site kết hợp tính độ hỗ trợ toàn cục của các ứng viên toàn cục để tìm ra itemset phổ biến toàn cục. Như vậy ta cần có giao thức hợp an toàn và giao thức tính tổng an toàn.

3.2.1. Giao thức sử dụng mã hóa giao hoán KCS

Năm 2002, Murat Kantacioglu và Chris Clifton [5] đề xuất giao thức KCS, đây là giao thức đầu tiên về vấn đề này, giao thức áp dụng với số site n ≥ 3 và thỏa mô hình semi-honest không có thông đồng. Về tổng quan giao thức có hai giai đoạn:

Giai đoạn 1: Xác định các k-itemset ứng viên toàn cục (phổ biến tại một hoặc nhiều site, k-itemset phổ biến toàn cục k-itemset ứng viên toàn cục).

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

Từ hình 3.5, mỗi thành viên (site) mã hóa k-itemset phổ biến cục bộ (phát sinh dựa vào (k-1)-itemset phổ biến toàn cục) sử dụng mã hóa giao hoán (ABC ở site 1) và gửi cho các thành viên khác, cho đến khi tất cả các thành viên đã mã hoá tất cả các k-itemset. Các k-itemset được mã hoá này được gửi tới một thành viên chung để ước lượng trùng lặp và giải mã. (Tập các 3- itemset ở bên trái của site 1, sau đó site 1 tiến hành giải mã). Tập này được gửi cho các mỗi thành viên, mỗi thành viên giải mã các k-itemset này. Kết quả cuối cùng là tập các k-itemset ứng viên chung (ABC và ABD).

Giai đoạn 2: Xác định k-itemset ứng viên được hỗ trợ toàn cục (tức là k- itemset phổ biến toàn cục).

Áp dụng công thức: (với X là k-itemset ứng viên được hỗ trợ toàn cục).

X.sup≥sup*

≥0

Từ đó để không tiết lộ X.supi hay |DBi| ta sử dụng giao thức tính tổng

Sum ≥0 như sau: site1 phát sinh R ngẫu nhiên, gửi (R + X.sup1 - sup * |DB1|)

cho site2, sitek cộng giá trị nhận được từ sitek-1 với (X.supk - sup * |DBk|) và

gửi cho sitek+1, siten kiểm tra (kết quả cuối cùng – R) ≥ 0 hay không (sử dụng

giao thức so sánh 2 thành viên an toàn), nếu (kết quả cuối cùng – R) ≥ 0 thì itemset X được hỗ trợ toàn cục

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

Ví dụ 3.3 xem hình 3.6, kiểm tra độ hỗ trợ của ABC ≥ 5% hay không

Hình 3.5. Giai đoạn 2, tính độ hỗ trợ toàn cục

Site 1 gửi k-itemset phổ biến toàn cục cho các site khác, giao thức tiếp tục với (k+1)-itemset. Sau khi đã xác định tất cả các itemset phổ biến toàn

cục, kiểm tra luật có thỏa độ tin cậy sử dụng giao thức trên. Với luật XY

Cuối cùng site1 gửi kết quả cho các site khác.

Nhận xét: giao thức sử dụng mã hoá giao hoán để tìm itemset ứng viên toàn cục nên có chi phí tính toán và truyền thông cao, bước tính độ hỗ trợ toàn cục có tính riêng tư thấp do hai site xen kẽ bất kỳ thông đồng với nhau có thể tiết lộ độ hỗ trợ của site ở giữa.

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

3.2.2. Giao thức sử dụng thành viên thứ ba bán tin cậy sử dụng mã hóa Paillier Paillier

Năm 2007, Xun Yi và Yanchun Zhang [9] đề xuất giao thức sử dụng thành viên bán tin cậy (Semi-trusted-mixer hoặc Mixer) và sử dụng mã hoá Paillier. Mixer, ví dụ như chính phủ, không thông đồng với các thành viên khác và không biết gì về các kết quả trong quá trình khai thác. Mô hình của

giao thức như trong hình 3.7, các site U1 đến Un thống nhất với nhau về

private key và public key, Mixer chỉ có public key.

Hình 3.6. Giao thức sử dụng Semi-trusted-mixer

Bước 1. Tìm itemset ứng viên chung. Mỗi thành viên mã hoá k-itemset phổ biến cục bộ (dựa vào (k-1)-itemset phổ biến toàn cục), gửi cho Mixer. Mixer hợp các k-itemset ở dạng mã hoá này rồi gửi lại cho các site, các site giải mã và biết được các k-itemset ứng viên chung. Do Mixer không có private key nên không thể biết được các itemset của các site.

Bước 2. Tính độ hỗ trợ toàn cục của k-itemset ứng viên chung. Sau khi đã tìm ra các k-itemset ứng viên chung, các site tính độ hỗ trợ của các k- itemset ứng viên này, mã hoá độ hỗ trợ (các k-itemset ứng viên có thứ tự xác

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

định) gửi cho Mixer. Mixer tính tổng độ hỗ trợ ở dạng mã hoá (sử dụng mã hoá Paillier), rồi gửi lại cho các site. Các site xác định các k-itemset phổ biến toàn cục.

Giao thức tiếp tục với (k+1)-itemset. Sau khi đã tìm được tất các các itemset phổ biến toàn cục, thực hiện tính tổng kích thước các CSDL cục bộ DBi (thực hiện tương tự như bước 2). Cuối cùng, mỗi site tự phát sinh luật dựa vào độ hỗ trợ toàn cục của các itemset.

Nhận xét: giao thức an toàn và hiệu quả hơn KCS, n – 1 thành viên thông đồng với nhau mới tiết lộ thông tin của site kia, nếu xác định được Mixer thì giao thức có thể được ứng dụng trong thực tế.

3.2.3. Kỹ thuật tính tổng bảo mật cải tiến dựa trên mô hình hai thành viên bán tin cậy tin cậy

Từ kết quả trình bày trên, có thể thấy phương pháp CRDM là phương pháp hiệu quả nhất hiện nay, ý tưởng chính của phương pháp này là dựa trên giao thức tính tổng bảo mật (secure sum). Chính vì vậy hiệu quả của phương pháp này phụ thuộc chính vào giao thức tính tổng bảo mật. Trong đoạn này sẽ trình bày một phương pháp tính tổng bảo mật cải tiến hiệu quả hơn hơn giao thức tính tổng trong phương pháp CRDM.

Để xây dựng được giao thức tính tổng bảo mật, ta vận dụng ý tưởng của Xun Yi đã sử dụng thành viên bán tin cậy (Semi-trusted-mixer hoặc Mixer). Thành viên bán tin cậy là thành viên thứ ba có thể là thanh viên tham gia vào giao thức, để thực hiện các tính toán trung gian nhưng không đọc được các thông tin riêng tư của các thành viên tham gia trong giao thức trong quá trình tính toán. Ngoài ra, giả thiết rằng thành viên này không thông đồng với bất kỳ thành viên nào trong giao thức để làm lộ các thông tin của các thành viên còn lại.

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

Tuy nhiên Trong thực tế việc tìm ra 1 Mixer theo đúng nghĩa là rất khó khăn vì vậy tính khả thi của giao thức này không cao. Trong giao thức của giao thức này, giả thiết rằng tồn tại hai thành viên bán tin cậy, giả thiết rằng hai thành viên này không thông đồng với nhau, đây là mô hình khả thi hơn mô hình một mixer thì trong thực tế. Hai thành viên này không thông đồng với nhau và cũng không thông đồng với bất kỳ thành viên tham gia giao thức nào.

Thuật toán tính tổng bảo mật cải tiến ( Two – MixerSum)

+ Tư tưởng của thuật toán

Giã sử có N site S1, S2,….SN. (1≤ i ≤ N) tham gia tính toán tổng các V1,

V2,….VN. (1≤ i ≤ N) , và lập ra 2 Mixer là M1, M2.

Mixer M1 nắm giữ khóa K1, K1 được chia ngẫu nhiên thành các khóa

con Ki,1 (1≤ i ≤ N). K1=

Mixer M2 nắm giữ khóa K2, K2 được chia ngẫu nhiên thành các khóa

con Ki,2 (1≤ i ≤ N). K2=

M1 không chia sẽ cho bất kỳ ai khóa K1 của mình và M2 cũng vậy.

Giả thiết tồn tài các kênh truyền thông bảo mật giữ các thành viên M1

và M2 với các các site.

Giai đoạn 1:

- M1 gửi các khóa Ki,1 đến các Site Si tương ứng và M2 gửi các khóa Ki,2

đến các Site Si tương ứng,

- Các Si tính tổng Li = Vi+Ki,1+Ki,2 sau đó chia ngẫu nhiên Li thành Li,1, Li,2

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

- M1 tính tổng Sum = – K1

- M1 Gửi Sum sang cho M2

- M2 tính tổng Sum=Sum + – K2

= + – K1 –K2

= - K1 –K2

= + + - K1 –K2

=

+ Thuật toán Two – MixerSum

Provedure Two-MixerSum: Cho hệ thống N các số hạng Vi (1≤ i ≤N) cần tính

bảo mật .

Input: (1). {Si} (1≤ i ≤N): Giả thiết N>1

(2). Mixer M1: Khóa K1, M2: Khóa K2 (3). Vi là số hạng tại Site Si

Output: Sum .

Begin

Giai đoạn 1:

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

For i = 1 to N

Chia Kj ngẫu nhiên thành N phần Ki,j (1≤i≤N) Gửi Ki,j cho Si

Giai đoạn 2:

2. Foreach Site Si (1≤i≤N) do Li Vi + Ki,1+Ki,2

Chia ngẫu nhiên Li thành 2 phần {Li,1,Li,2} For j = 1 to 2 Gửi Li,j cho Mj

3. Foreach Mj do

Sum -K1 4. M1 Gửi Sum cho M2

5. M2: SumSum+ -K2

Return Sum

End.

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

Hình 3.7. Giai đoạn 1 ví dụ về thuật toán Two – MixerSum

S1 Mixer M1 Mixer M2

Một phần của tài liệu Một số kỹ thuật khai phá luật kết hợp có bảo đảm tính riêng tư trong các tập giao dịch phân tán ngang (Trang 48 - 79)