Tải bản đầy đủ (.pdf) (18 trang)

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 (4)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (225.37 KB, 18 trang )

38

Chương 4.

GIAO THỨC ĐỀ XUẤT

Chương này là phần chính của luận văn, phân tích các ưu ñiểm và nhược
ñiểm giao thức của Mahmoud Hussein, từ ñó ñưa ra các cải tiến của giao thức ñề
xuất, trình bày chi tiết các bước thực hiện và ñánh giá giao thức về tính riêng tư, kết
quả khai thác và hiệu năng, ñồng thời so sánh với các giao thức trước ñó. Tiếp theo
trình bày về chương trình cài ñặt với dữ liệu thực tế và ñánh giá kết quả ñạt ñược.
Cuối cùng là kết luận và hướng phát triển của luận văn.
4.1. Đặt vấn ñề:
Năm 2008, Mahmoud Hussein và các ñồng nghiệp trong [14] ñề xuất giao
thức sử dụng 2 server Initiator và Combiner có ñộ an toàn cao và tiết kiệm chi phí
tính toán và truyền thông hơn so với giao thức KCS và giao thức do Vladimir
Estivill-Castro và Ahmed HajYasien [12] ñề xuất năm 2007. Giao thức sử dụng mã
hoá công khai RSA và giảm số bước từ 4 xuống 3 khi tìm tập itemset ứng viên nên
tiết kiệm chi phí tính toán và truyền thông, có ñộ an toàn cao chỉ khi Initiator và
Combiner thông ñồng với nhau mới tiết lộ kết quả, trong KCS và giao thức của
Vladimir Estivill-Castro, Ahmed HajYasien 2 site xen kẽ thông ñồng với nhau sẽ
tiết lộ thông tin của site ở giữa ở bước tính ñộ hỗ trợ toàn cục (xem chi tiết ở mục
2.2).
Tuy nhiên giao thức của Mahmoud Hussein có một số hạn chế:
Về tính riêng tư, do sử dụng mã hóa RSA ñể mã hóa ñộ hỗ trợ cục bộ nên
nếu cùng bản rõ thì sẽ có cùng bản mã, Combiner có thể dễ dàng tấn công do biết
bản rõ và bản mã từ ñó có thể biết ñược ñộ hỗ trợ các itemset của các Client.
Về hiệu năng, ở cả hai bước tìm ứng viên và tính ñộ hỗ trợ toàn cục
Combiner nhận dữ liệu từ tất cả các Client, sau ñó sử dụng hợp lại rồi gửi cho
Initiator, nên nếu số Client tăng thì lượng dữ liệu Combiner gửi cho Initiator cũng
tăng theo ñáng kể, như vậy sẽ làm tăng thời gian thực thi của toàn hệ thống.




39

Từ ñó luận văn ñề xuất giao thức có ñộ an toàn cao hơn và chi phí truyền
thông thấp hơn so với giao thức của Mahmoud Hussein, sử dụng MFI ñể tìm
itemset ứng viên toàn cục và sử dụng mã hoá Paillier tính ñộ hỗ trợ toàn cục thay
cho phép hợp.
Với mã hóa Paillier với cùng bản rõ sẽ có bản mã khác nhau nên có ñộ an
toàn cao hơn.
Bước tìm ứng viên toàn cục do |MFI| << |FI| nên lượng dữ liệu mỗi Client
cần phải mã hóa và gửi cho Combiner ít hơn, từ ñó lượng dữ liệu Combiner gửi cho
Initiator cũng nhỏ hơn, như vậy sẽ làm giảm chi phí truyền thông từ Client ñến
Combiner và từ Combiner ñến Initiator.
Bước tính ñộ hỗ trợ toàn cục, do sử dụng MFI nên số itemset ứng viên phát
sinh sẽ nhiều hơn so với hướng FI và sử dụng mã hóa Paillier kích thước bản mã là
2*t (gấp ñôi so với RSA) như vậy sẽ làm tăng kích thước dữ liệu Client gửi cho
Combiner và làm tăng thời gian thực thi. Tuy nhiên Combiner chỉ gửi 1 phần tử (ở
dạng mã hóa) là tích của (n - 1) ñộ hỗ trợ (ở dạng mã hóa) nên sẽ tiết kiệm chi phí
truyền thông hơn so với phép hợp (phải truyền n – 1 phần tử ở dạng mã hóa) và chi
phí này là có ñịnh (là bội của 2*t) khi tăng số Client.
4.2. Các bước thực hiện:
Xét 2 bổ ñề sau:
Bổ ñề 1: một itemset phổ biến toàn cục phải phổ biến cục bộ tại ít nhất một
site [7].
Chứng minh: giả sử item X phổ biến toàn cục và không phổ biến cục bộ tại
bất kỳ site nào. Với si là ñộ hộ trợ của X tại site i, s là ñộ hỗ trợ toàn cục, ta có:

∀si , si < s =>


n

∑ s * D < s * D => X không phổ biến toàn cục, mâu thuẫn với giả
i =1

i

i

thiết => ñpcm.
n

Bổ ñề 2:

U MFI
i =1

i

xác ñịnh tất cả các itemset phổ biến toàn cục [8].


40

Chứng minh: Từ bổ ñề 1, nếu X là một itemset phổ biến toàn cục thì X phải
phổ biến cục bộ tại ít nhất một site. Giả sử X phổ biến cục bộ tại các site k thì X
n

phải ñược xác ñịnh trong


MFI k do ñó cũng ñược xác ñịnh trong U MFIi .
i =1

n

Từ bổ ñề 2,

U MFI
i =1

i

xác ñịnh các itemset phổ biến toàn cục từ ñó ta có thể

n

chọn

U MFI
i =1

i

ñể phát sinh tập itemset ứng viên toàn cục (là itemset con của

n

U MFI

i


), sau ñó tính ñộ hỗ trợ toàn cục của các ứng viên ñể tìm ra itemset phổ

i =1
n

biến toàn cục. Vậy ta cần có giao thức con tìm

U MFI

i

an toàn và giao thức tính ñộ

i =1

hỗ trợ toàn cục an toàn (xem lập luận tại mục 2.1).

Giao thức gồm 4 bước:
Bước 1: Initiator phát sinh cặp khoá public key, private key và gửi cho các
site, Initiator cũng gửi ñộ hỗ trợ sup (%) và ñộ tin cậy conf (%) tại bước này.

Bước 2: Xem hình 4.1, các site tính MFI cục bộ, các Client mã hóa MFI cục
bộ với private key (sử dụng mã hoá RSA):

E ( MFIi ) sau ñó gửi cho Combiner,

Combiner trộn dữ liệu nhận với MFI ñã mã hoá của mình, gửi phần hợp cho
n


Initiator, Initiator giải mã dữ liệu nhận ñược và tìm ra

U MFI

i

,.

i =1

n

Bước 3: Xem hình 4.2, Initiator cần gửi

U MFI
i =1

i

cho các site, ñể tiết kiệm

chi tính toán và truyền thông thì Initiator chỉ gửi MFI toàn cục. (MFI toàn cục bao
n

gồm các itemset phổ biến tối ñại thuộc

U MFI
i =1

i


và không là tập con của itemset

phổ biến tối ñại khác).
Mỗi site phát sinh các itemset con cùng với ñộ hỗ trợ từ MFI toàn cục, các
itemset con phát sinh có thứ tự xác ñịnh. Client mã hóa các ñộ hỗ trợ sử dụng mã


41

hoá Paillier là E(X.supk) và gửi cho Combiner. Combiner tính tích ñộ hỗ trợ (ở
dạng mã hóa) của các itemset theo thứ tự xác ñịnh sử dụng mã hoá Paillier:

E ( X .sup Combiner ) = E ( X .supCombiner ) *

n - 2

∏ E ( X .sup )

k =1

k

và gửi E (X.sup Combiner) cho Initiator.
Initiator giải mã dữ liệu nhận ñược là D(E(X.supCombiner)) và nhận ñược kết
quả là tổng ñộ hỗ trợ của (n – 1) site, sau ñó cộng với ñộ hỗ trợ cục bộ của mình và
tính ñộ hỗ trợ toàn cục của các itemset:

X.sup = D (E (X.sup Combiner )) + X.sup Initiator
Để tiết kiệm chi phí truyền thông hơn nữa ta có thể áp dụng mã hoá Paillier

cải tiến ở bước này.
Bước 4: Xem hình 4.3, tìm itemset phổ biến toàn cục và phát sinh luật toàn cục:
n

Tính

∑ |DB |
i

(tương tự như trên). Initiator so sánh ñộ hỗ trợ của itemset

i=1

ứng viên với ñộ hỗ trợ toàn cục (sup) và tìm ra itemset phổ biến toàn cục:

X.sup ≥ sup *

n

∑ |DB

t

|

t=1

Y và tính ñộ tin cậy:

Initiator phát sinh tập luật toàn cục X

n

{X ∪ Y}.sup
≥ conf ⇒
X.sup

∑ XY.sup
i =1
n

∑ X.sup
i =1

i

≥ conf

i

Từ ñó tìm ra các luật toàn cục mạnh và gửi cho các site.


42

UE (MFI )

Initiator
(public key, private key)
sup (%)


E (MFI1)

Client 1
(public key)

Combiner
(public key)

i

Client 2
(public key)

E (MFI2)

E (MFIn-2)

Client n – 2
(public key)



Hình 4.1 - Tìm MFI toàn cục

Initiator
(public key, private key)
MFI toàn cục

∏ E (sup )
i


E (Sup1)

Client 1
(public key)

Client 2
(public key)

Combiner
(public key)
E (Sup2)

……

E (Supn-2)

Client n - 2
(public key)

Hình 4.2 - Tính ñộ hỗ trợ toàn cục
Initiator
(public key, private key)

Combiner
(public key)

Tập luật

Client 1

(public key)

Client 2
(public key)

……

Hình 4.3 – Initiator gửi tập luật cho các site

Client n - 2
(public key)


43

4.3. Đánh giá:
4.3.1. Tính riêng tư:
Combiner nhận dữ liệu ñã ñược mã hoá từ Client và không có private key
nên không thể giải mã.
Combiner trộn các MFI cục bộ nên sau khi giải mã Initiator không thể biết
ñược MFI nào của site nào.
Combiner thực hiện tính tích các ñộ hỗ trợ (ở dạng mã hoá) nên Initiator
không thể biết chính xác ñộ hỗ trợ của từng itemset của các site khác, và với mã hoá
Paillier có bản mã là ngẫu nhiên nên có tính riêng tư cao hơn so với giao thức của
Mahmoud Hussein.
Từ các lập luận trên ta có thể khẳng ñịnh giao thức không tiết lộ dữ liệu cục
bộ, các itemset cùng ñộ hỗ trợ, |DBi| và có tính riêng tư cao hơn so với giao thức
của Mahmoud Hussein.
4.3.2. Độ chính xác:
Xét CSDL tập trung như trong hình 4.4 và CSDL phân tán như trong hình

4.5 với sup = 50%.
ABDE
BCD
ABDE
ABCE
ABCDE
BCD
ACD
ACDE
ACD
ACE
DE

MFI = {AD, AE, AC}
Các itemset phổ biến:
A–8
C – 8 AD – 6
D – 8 AE – 6
E – 8 AC – 6

Hình 4.4 – CSDL tập trung
Initiator
ABDE
BCD
ABDE
ABCE

Combiner
ABCDE
BCD

ACD
ACDE

Client
ACD
ACE
DE

MFI1 = {ABDE, BCE} MFI2 = {ACDE, BCD} MFI3 = {AC}

Hình 4.5 – CSDL phân tán


44

Thực thi giao thức ñề xuất với CSDL phân tán ở hình 4.5:
MFI toàn cục = {ABDE, ACDE, BCD, BCE}
Các site tính ñộ hỗ trợ dựa vào MFI toàn cục ñược kết quả như trong hình
4.6. Initiator tính tổng ñộ hỗ trợ và tìm ra các itemset phổ biến toàn cục, kết quả như
trong hình 4.7.
Initiator
A – 3 AB – 3
B – 4 AD – 2
C – 2 AE – 3
D – 2 BD – 2
E – 4 BE – 4
DE – 2
AC – 1
CD – 0
CE – 2

BC – 2

ABD – 2 ABDE - 2
ABE – 2 ACDE - 0
BDE – 2
ADE – 2
ACD – 0
ACE – 1
CDE – 0
BCD – 0
BCE – 0

Combiner
A – 3 AB – 1
B – 2 AD – 3
C – 4 AE – 2
D – 4 BD – 2
E – 2 BE – 1
DE – 2
AC – 3
CD – 4
CE – 2
BC – 2

ABD – 1 ABDE - 1
ABE – 1 ACDE - 2
BDE – 1
ADE – 2
ACD – 3
ACE – 2

CDE – 2
BCD – 2
BCE – 1

Client
A–2
B–0
C–2
D–2
E–2

AB – 0
AD – 1
AE – 1
BD – 0
BE – 0
DE – 1
AC – 2
CD – 1
CE – 1
BC – 0

ABD – 0 ABDE - 0
ABE – 0 ACDE - 0
BDE – 0
ADE – 0
ACD – 1
ACE – 1
CDE – 0
BCD – 0

BCE – 0

Hình 4.6 – Các site tính ñộ hỗ trợ cục bộ
Initiator
A – 8 AB – 4
B – 6 AD – 6
C – 8 AE – 6
D – 8 BD – 4
E – 8 BE – 5
DE – 5
AC – 6
CD – 5
CE – 5
BC – 4

ABD – 3 ABDE - 3
ABE – 4 ACDE - 2
BDE – 3
ADE – 4
ACD – 4
ACE – 4
CDE – 2
BCD – 2
BCE – 3

∑ | DB

i

SUP = 6


| = 11

Initiator
A–8
C – 8 AD – 6
D – 8 AE – 6
E–8
AC - 6

Hình 4.7 – Initiator tìm itemset phổ biến toàn cục
Initiator phát sinh luật và gửi cho các site cùng với ñộ hỗ trợ và ñộ tin cậy:
A

D (54.5%, 75%)

E

A (54.5%, 75%)

A

C (54.5%, 75%)

D

A (54.5%, 75%)

C


A (54.5%, 75%)

A

E (54.5%, 75%)

Từ hình 4.7 và hình 4.4 ta thấy kết quả khai thác của giao thức ñề xuất và
CSDL tập trung là như nhau.


45

4.3.3. Hiệu năng:
Thực thi theo giao thức của Mahmoud Hussein với CSDL phân tán như trong
hình 4.5 ta ñược kết quả như trong hình 4.8 (các bước thực hiện ở ñây ñã tối ưu chi
phí truyền thông so với bài báo gốc [14] do không truyền ñịnh danh).
FI1 = {[A, B, C, D, E],
[AB, AD, AE, BD,
BE, DE, CE, BC],
[ADE]}
Initiator
A – 3 AB – 3
B – 4 AD – 2
C – 2 AE – 3
D – 2 BD – 2
E – 4 BE – 4
DE – 2
AC – 1
CD – 0
CE – 2

BC – 2

ADE – 2
ACD – 0
ACE – 1
CDE – 0

FI2 = {[A, B, C, D, E],
[AD, AE, BD, DE,
AC, CD, CE, BC],
[ACD, ACE, ADE, CDE]}
Combiner
A – 3 AB – 1
B – 2 AD – 3
C – 4 AE – 2
D – 4 BD – 2
E – 2 BE – 1
DE – 2
AC – 3
CD – 4
CE – 2
BC – 2

ADE – 2
ACD – 3
ACE – 2
CDE – 2

FI3 = {[A, C, D, E],
[AC]}


Client
A – 2 AB – 0
B – 0 AD – 1
C – 2 AE – 1
D – 2 BD – 0
E – 2 BE – 0
DE – 1
AC – 2
CD – 1
CE – 1
BC – 0

ADE – 0
ACD – 1
ACE – 1
CDE – 0

FI toàn cục = { [A, B, C, D, E], [ AD, AE, AC], [ ∅]}

Hình 4.8 – Kết quả thực thi theo giao thức của Mahmoud Hussein
Với khoá mã hoá t (bit), giả sử kích thước bản mã khi mã hoá một phần tử
(itemset, itemset tối ñại, ñộ hỗ trợ) với RSA là t (bit) (trong cài ñặt ta có thể ghép
các itemset với nhau ñể giảm kích thước mã hoá), với mã hoá Paillier là 2*t (bit).
Do các Client ñều tính toán song song nên chi phí truyền thông từ các Client ñến
Combiner là chi phí truyền thông từ Client có dữ liệu cần truyền lớn nhất. Tổng chi
phí truyền thông cho mỗi bước là tổng chi phí truyền thông từ Client có dữ liệu cần
truyền lớn nhất ñến Combiner và chi phí truyền thông từ Combiner ñến Initiaotor.
Kết quả tính toán chi phí truyền thông với 1 Client ñược trình bày ở bảng
4.1, 2 Client ñược trình bày ở bảng 4.2 và 5 Client ñược trình bày ở bảng 4.3, với

các Client ñều có cùng dữ liệu như trên hình 4.5, kết quả khai thác cục bộ và toàn
cục không thay ñổi.
Nhận xét về chi phí truyền thông:


46

Ở bước 2, chi phí truyền thông của giao thức ñề xuất tối ưu hơn so với giao
thức của Mahmoud Hussein ở cả 3 trường hợp.
Ở bước 3 chi phí truyền thông từ Client ñến Combiner của giao thức ñề xuất
cao hơn (gấp ñôi) so với giao thức của Mahmoud Hussein, tuy nhiên chi phí từ
Combiner ñến Initiator là cố ñịnh và nhỏ hơn khi tăng số Client. Cụ thể nếu không
dùng mã hóa Paillier cải tiến thì ở ví dụ có 5 Client (xem bảng 4.3) giao thức ñề
xuất có tổng thời gian truyền thông tối ưu hơn, nếu tiếp tục tăng số Client thì chi phí
của giao thức ñề xuất là cố ñịnh trong khi giao thức của Mahmoud Hussein chi phí
này tiếp tục tăng. Từ ñó ta có thể kết luận là giao giao thức ñề xuất tối ưu hơn ở
bước 3 khi số Client lớn.
Chi phí truyền thông từ Initiator ñến Combiner và Client do không sử dụng
mã hóa nên không ñáng kể.
Nhận xét về chi phí tính toán, ta xem xét chi phí ñể mã hóa (số phép mã
hóa sử dụng), ở bước 2 giao thức ñề xuất sử dụng MFI nên kích thước dữ liệu cần
mã hóa nhỏ hơn do ñó yêu cầu ít phép mã hóa hơn, ở bước 3 giao thức ñề xuất có số
itemset ứng viên nhiều hơn so với hướng FI nên cần nhiều phép mã hóa hơn. Đối
với KTDL phân tán bảo ñảm tính riêng tư ta tập trung vào chi phí truyền thông, chi
phí tính toán có ảnh hưởng không ñáng kể.
Bảng 4.1 – Chi phí truyền thông với 1 Client

Client
Combiner
Combiner

Initiator
Tổng
Initiator
Combiner
và Client

Giao thức của Mahmoud Hussein
Bước 2
Bước 3
5*t
12*2*t = 24*t

[17*t + 5*t]
= 23*t

[19*t + 19*t] =
38*t

28*t

62*t

Ứng viên toàn cục: [19 + 19] = 38
FI toàn cục: [8 + 8] = 16
Tổng: 38 + 16 = 54 (itemset)

Giao thức ñề xuất
Bước 2
Bước 3
1*t

26*(2*t)
= 52*t
(hoặc 2*t)
[2*t + 1*t]
26*(2*t)
= 3*t
= 52*t
(hoặc 2*t)
4*t
104*t
(hoặc 4*t)
[4 + 4] = 8 (itemset)


47

Bảng 4.2 - Chi phí truyền thông với 2 Client

Client
Combiner

Giao thức của Mahmoud Hussein
Bước 2
Bước 3
5*t
12*2*t = 24*t

Combiner [17*t + 5*t*2]
= 27*t
Initiator

Tổng
32*t
Initiator
Combiner
và Client

[19*t + 19*t*2] =
57*t
81*t

Ứng viên toàn cục: [19 + 19*2] = 57
FI toàn cục: [8 + 8*5] = 48
Tổng: 114 + 48 = 105 (itemset)

Giao thức ñề xuất
Bước 2
Bước 3
1*t
26*(2*t)
= 52*t
(hoặc 2*t)
[2*t + 1*t*2]
26*2*t
= 4*t
= 52*t
(hoặc 2*t)
5*t
104*t
(hoặc 4*t)
[4 + 4*2] = 12 (itemset)


Bảng 4.3 - Chi phí truyền thông với 5 Client
Giao thức của Mahmoud Hussein
Bước 2
Bước 3
5*t
12*2*t = 24*t

Client
Combiner
Combiner [17*t + 5*t*5]
= 42*t
Initiator
Tổng
47*t
Initiator
Combiner
và Client

[19*t + 19*t*5] =
114*t
138*t

Ứng viên toàn cục: [19 + 19*5] = 114
FI toàn cục: [8 + 8*5] = 48
Tổng: 114 + 48 = 162 (itemset)

Giao thức ñề xuất
Bước 2
Bước 3

1*t
26*(2*t)
= 52*t
[2*t + 1*t*5]
26*2*t
= 7*t
= 52*t
(hoặc 2*t)
8*t
104*t
(hoặc 4*t)
[4 + 4*5] = 24 (itemset)

4.3.4. So sánh với các giao thức khác:
Ở ñây ta chỉ so sánh với các giao thức theo hướng tiếp cận MFI (xem mục
2.3). Xét giao thức do Adriano A. Veloso và các ñồng nghiệp [8] ñề xuất năm 2003,
giao thức không sử dụng mã hóa ñể tìm MFI toàn cục nên tiết kiệm chi phí truyền
thông ở bước này, tuy nhiên giao thức sử dụng Trusted-party ñể tìm MFI toàn cục,
bước tính ñộ hỗ trợ toàn cục sử dụng giao thức tính tổng an toàn của KCS [7] nên


48

tính riêng tư thấp. Giao thức ñề xuất có chi phí truyền thông thấp hơn ở cả hai bước
nhưng khả năng bảo ñảm tính riêng tư cao hơn và không sử dụng Trusted-party.
Xét giao thức do Chin-Chen Chang, Jieh-Shan Yeh và Yu-Chiang Li [10] ñề
xuất năm 2006, giao thức sử dụng mã hoá giao hoán ñể tìm MFI toàn cục nên chi
phí tính toán và truyền thông cao (6 bước thực hiện), giao thức ñề xuất sử dụng mã
hóa RSA và chỉ cần 3 bước, nên giao thức thức tối ưu hơn ở bước này. Bước tính ñộ
hỗ trợ toàn cục, giao thức của Chin-Chen Chang, Jieh-Shan Yeh và Yu-Chiang Li

không sử dụng mã hóa tuy nhiên các tác giả chưa ñưa ra những ñánh giá về tính
riêng tư.
4.4. Kết luận:
Giao thức ñề xuất áp dụng với số site n ≥ 3, bước tìm MFI toàn cục
Combiner chỉ thực hiện phép hợp và trộn các MFI cục bộ (ñã mã hoá) nên không
làm thay ñổi các giá trị, bước tính ñộ hỗ trợ toàn cục Combiner sử dụng mã hoá
Paillier nên có thể thực hiện tính tổng các ñộ hỗ trợ ở dạng mã hoá, từ ñó ta có thể
kết luận kết quả khai thác tương tự với dữ liệu tập trung.
Giao thức không sử dụng Trusted-party, không tiết lộ dữ liệu cục bộ, các
itemset, ñộ hỗ trợ cục bộ tương ứng và |DBi|.
Do |MFI| << |FI| nên giao thức tối ưu hơn giao thức của Mahmoud Hussein ở
bước tìm itemset ứng viên toàn cục ñặc biệt khi kích thước của k-itemset lớn và chỉ
1 lần truyền thông, do sử dụng mã hoá công khai RSA ñể tìm MFI toàn cục và mã
hoá Paillier ñể tính ñộ hỗ trợ toàn cục nên tiết kiệm chi phí truyền thông.
Số Client tùy ý và không cần phải cài ñặt lại giao thức.
Tính riêng tư thỏa mô hình semi-honest, ñối với mô hình malicious chỉ bị
mất tính riêng tư khi Initiator và Combiner thông ñồng với nhau.
Trường hợp tốt nhất: khi MFI toàn cục và MFI của CSDL tập trung giống
nhau, lúc này số itemset cần tính lại ñộ hỗ trợ tương ñương với CSDL tập trung.
Trường hợp xấu nhất: MFI toàn cục có itemset tối ñại gồm tất cả các item
trong CSDL.


49

4.5. Chương trình cài ñặt:
4.5.1. Giới thiệu:
Sử dụng dữ liệu bán hàng của một hệ thống siêu thị tại TP.HCM ñể minh
hoạ. Bộ dữ liệu gốc gồm 1.288.653 bộ, với 17.032 sản phẩm. Sau khi chuyển ñổi về
CSDL giao tác có 246.642 giao tác. Dữ liệu ñược thu thập từ 1/1/2009 – 30/6/2009.

Các bước chuẩn hoá dữ liệu: CSDL gốc
có thứ tự

CSDL giao tác

CSDL giao tác

Chia dữ liệu ra 4 phần (mỗi phần khoảng 61.000 giao tác)

CSDL

ñịnh dạng dọc (dạng nhị phân). Xác ñịnh danh sách các sản phẩm (17.032 sản
phẩm). Chuẩn hoá danh sách các sản phẩm (ñánh thứ tự từ 1 ñến 17.032). Cập nhật
lại CSDL với mã sản phẩm ñã ñược chuẩn hoá.
Mục ñích khai thác là tìm ra các luật kết hợp giữa các sản phẩm ñể từ ñó có
thể dự ñoán ñược các mặt hàng mua cùng nhau, các mặt hàng bán chạy nhất, từ ñó
có ñược kế hoạch kinh doanh ñạt hiệu quả cao, nhưng không làm mất tính riêng tư
của dữ liệu.
Về cài ñặt, sử dụng Visual studio VC++ 2008, công nghệ .Net remoting ñể
truyền thông phân tán (có hỗ trợ ña server), thư viện nguồn mở gmp [23] và mpir
[24] tính toán số lớn cho việc mã hoá, sử dụng bảng băm ñể lưu trữ và tìm kiếm các
itemset, tính toán dựa trên diffset, sử dụng thuật toán GENMAX [25] ñể tìm MFI.
Chương trình ñược thực thi với 4 site: Initiator, Combiner và 2 Client trong
môi trường mạng LAN gồm 4 máy tính kết nối cục bộ, các site liên lạc với nhau
thông qua ñịa chỉ IP.
Chương trình hỗ trợ thực thi với khoá mã hoá với 128 – 256 – 512 – 1024
bit. Kết quả chi tiết trong quá trình thực thi ñược ghi trong file log ñể theo dõi.
Về giao diện: giao diện Initiator như trong hình 4.9, giao diện Combiner như
trong hình 4.10, giao diện Client như trong hình 4.11.



50

Hình 4.9 - Giao diện Initiator

Hình 4.10 - Giao diện Combiner


51

Hình 4.11 - Giao diện Client
4.5.2. Kết quả thực nghiệm:
Cấu hình các máy chạy thử nghiệm xem bảng 4.4 và kết quả khai thác (ghi
nhận trên log file của Initiator) xem bảng 4.5, bảng 4.6, bảng 4.7.
Bảng 4.4 Cấu hình các máy thử nghiệm
Initiator
Combiner
Client1
Client2

MTXT

CPU

RAM

Hệ ñiều hành

Asus


Core 2 Duo 2.2 GHz
Duo Core 1.6 Ghz
Core 2 Duo 2GHz
Celeron 2.8 GHz

2GB
512 MB
2GB
512MB

Windows 7 (32bit)
Windows XP (32 bit)
Windows 7 (32 bit)
Windows XP (32bit)

HP

Bảng 4.5 – Tập luật với sup = 0.3%, conf = 50%
Tập luật (sup = 0,3%, conf = 50%)
Mi T.Vua tom su c.cay 75g
C-Mi TIENVUAvi bap cai thit75g
C-Mi TIENVUAvi bap cai thit75g
Mi T.Vua tom su c.cay 75g
Rau Ngo ri kg, Rau hon hop kg
Hanh la kg
Rau Ngo ri kg
Hanh la kg

Độ hỗ trợ
3/1000


Độ tin cậy
57%

3/1000

60%

3/1000
10/1000

61%
63%


52

Bảng 4.6 – Tập luật với sup = 0.26%, conf =50%
Tập luật (sup = 0.26%, conf = 50%)
Sua ttrung Fino VNM Dau 220ml
Sua ttrung VNM Fino soco 220ml
Mi T.Vua tom su c.cay 75g
C-Mi TIENVUAvi bap cai thit75g
C-Mi TIENVUAvi bap cai thit75g
Mi T.Vua tom su c.cay 75g
Rau Ngo ri kg, Rau hon hop kg Hanh la
Rau Ngo ri kg
Hanh la kg

Độ hỗ trợ

2/1000*

Độ tin cậy
54%

3/1000

57%

3/1000

60%

3/1000
10/1000

61%
63%

Bảng 4.7 – Tập luật với sup = 0.22%, conf = 50%
Tập luật (sup = 0.22%, conf = 50%)
Rau Ngo ri kg, Rau hon hop kg
Hanh la kg
Rau Ngo ri kg
Hanh la kg
Sua ttrung Fino VNM Dau 220ml
Sua ttrung VNM Fino soco 220ml
Mi T.Vua tom su c.cay 75g
C-Mi TIENVUAvi bap cai thit75g
C-Mi TIENVUAvi bap cai thit75g

Mi T.Vua tom su c.cay 75g
Bac Ha Kg
Dau Bap Kg
Bac Ha Kg
Rau hon hop kg
Rau Ngo ri kg, Ca chua Kg
Hanh la kg

Độ hỗ trợ
3/1000
10/1000
2/1000*

Độ tin cậy
61%
63%
54%

3/1000

57%

3/1000

60%

2/1000
2/1000
2/1000


55%
56%
70%

Thời gian phát sinh khoá (Paillier + RSA) xem hình 4.12 và thời gian thực
thi tính từ lúc tất cả các site ñã kết nối ñến khi Initiator gửi luật cho các site xem
Hình 4.13. Thống kê về số itemset tối ñại cục bộ, số itemset ứng viên (|sup|), |MFI
toàn cục| xem Bảng 4.8.

*

Do kết quả quá nhỏ nên chương trình không hiển thị ñúng


53

Thời gian phát sinh khoá
1

giây

0.8

0.78

0.6
0.4
0.2
0


0.025

0.02

0.005
128

256

512

1024

bit
Hình 4.12 - Thời gian phát sinh khoá
Thời gian thực thi (Initiator)
30

giây

20
10
0

128

256

512


1024

sup = 0.3%

2.494

2.841

3.777

12.861

sup = 0.26%

3.402

3.53

5.105

17.031

sup = 0.22%

4.484

5.545

7.363


23.401

bit

Hình 4.13 - Thời gian thực thi
Bảng 4.8 – Chi tiết về kết quả thực thi
sup
0.003
0.0026
0.0022

|MFIInitiator| |MFICombiner|

|MFIClient1|

|MFIClient2|

9
15
24

40
57
76

50
68
97

42

55
77

|sup|
|MFI
toàn cục|
108
66
140
86
197
121

Với dữ liệu tập trung (chỉ tính thời gian tính MFI tập trung, tính ñộ hỗ trợ,
phát sinh luật, không tính thời gian mã hoá, giải mã):
Cấu hình máy thử nghiệm: Pentium 4 3GHz, RAM 1.5 GB, Windows XP
SP2 (32bit).


54

Thống kê về số itemset tối ñại (|MFI tập trung|) và số itemset ứng viên (|sup
tập trung|) xem bảng 4.9.
Bảng 4.9 - Thông tin thực thi CSDL tập trung
Thời gian thực thi (giây)

|MFI tập trung|

|sup tập trung|


sup = 0.003

1.375

25

46

sup = 0.0026

1.578

36

62

sup = 0.0022

2.125

61

100

4.5.3. Đánh giá kết quả:
Kết quả khai thác trên dữ liệu phân tán (4 máy) tương tự với kết quả khai
thác trên dữ liệu tập trung. Theo lập luận ở mục 4.4, nếu tăng số site tham gia thì
kết quả khai thác vẫn chính xác và không cần phải cài ñặt lại giao thức.
Quá trình thực thi không tiết lộ kích thước mỗi CSDL, các itemset cục bộ
cùng với ñộ hỗ trợ do ñã ñược mã hoá trước khi truyền ñi, như vậy là bảo ñảm ñược

tính riêng tư.
Từ bảng 4.5 và bảng 4.6, ta thấy |MFI toàn cục| > |MFI tập trung|, |sup| > |sup
tập trung| trong cả 3 trường hợp (sup = 0.3%, sup = 0.26%, sup = 0.22%). Số bít
khoá mã hoá rất ảnh hưởng nhiều ñến tổng thời gian thực thi.
4.6. Tổng kết:
4.6.1. Kết luận:
Luận văn ñã tìm hiểu tổng quan về bảo ñảm tính riêng tư trong khai thác dữ
liệu phân tán, tổng hợp các hướng nghiên cứu trong khai thác luật kết hợp bảo ñảm
tính riêng tư trên CSDL phân tán ngang, thuật toán Genmax, mã hoá ñồng hình
Paillier. Nội dung chính của luận văn là cải tiến giao thức của Mahmoud Hussein
cho tính riêng tư cao, kết quả khai thác chính xác và có hiệu năng tối ưu hơn (giảm
chi phí truyền thông). Cài ñặt thử nghiệm hệ thống với dữ liệu thực tế, ñáng giá kết
quả ñạt ñược.


55

4.6.2. Hướng phát triển:
Về cài ñặt: xác thực khi một site kết nối vào Initiator hay Combiner, khôi
phục kết nối, thực thi chương trình trên các hệ ñiều hành khác nhau, hỗ trợ khai thác
lại.
Về giao thức: cải tiến cho trường hợp Initiator và Combiner thông ñồng với
nhau. Trường hợp chỉ có 2 site. Phát triển giao thức có thể tích hợp vào các hệ
thống KTDL phân tán sẵn có mà không phải thay ñổi hệ thống.



×