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

Bảo vệ tính riêng tư trong khai phá dữ liệu trên điện toán đám mây

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 (892.68 KB, 42 trang )

BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

ĐẠI HỌC QUỐC GIA TP.HCM
TRƢỜNG ĐẠI HỌC BÁCH KHOA
--------------------------------

NGUYỄN THÁI HÀ CHÂU

BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI PHÁ DỮ LIỆU
TRÊN ĐIỆN TỐN ĐÁM MÂY
NGÀNH: KHOA HỌC MÁY TÍNH
MÃ NGÀNH: 60.48.01.01

LUẬN VĂN THẠC SĨ

TP. HỒ CHÍ MINH, tháng 08 năm 2020

Trang 1


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

CÔNG TRÌNH ĐƢỢC HỒN THÀNH TẠI
TRƢỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM

Cán bộ hƣớng dẫn khoa học: TS. TRƢƠNG TUẤN ANH


Cán bộ chấm nhận xét 1: PGS.TS. Vũ Thanh Nguyên

Cán bộ chấm nhận xét 2: TS. Đặng Trần Trí

Luận văn thạc sĩ đƣợc bảo vệ tại Trƣờng Đại học Bách Khoa, ĐHQG Tp. HCM
ngày 29 tháng 08 năm 2020

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. PGS. TS. Đặng Trần Khánh
2. TS. Lê Hồng Trang
3. PGS. TS. Vũ Thanh Nguyên
4. TS. Đặng Trần Trí
5. TS. Phan Trọng Nhân

CHỦ TỊCH HỘI ĐỒNG

TRƢỞNG KHOA

Trang 2


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

ĐẠI HỌC QUỐC GIA TP. HCM
TRƢỜNG ĐẠI HỌC BÁCH KHOA

GVHD: TS. Trƣơng Tuấn Anh

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc


NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: NGUYỄN THÁI HÀ CHÂU ......................... MSHV: 1770468 .............
Ngày, tháng, năm sinh: 31/08/1992 ........................................... Nơi sinh: QUẢNG TRỊ ...
Chuyên ngành: KHOA HỌC MÁY TÍNH ................................ Mã số : 60480101...........
I. TÊN ĐỀ TÀI: Bảo vệ tính riêng tƣ trong khai phá dữ liệu trên điện toán đám mây.
II. NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu các kiến thức về mã hóa và khai phá dữ liệu trên điện toán đám mây.
- Nghiên cứu và đề xuất một giải pháp để bảo vệ các thơng tin riêng tƣ trên điện
tốn đám mây.
III. NGÀY GIAO NHIỆM VỤ: 11/02/2020
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 15/06/2020
V. CÁN BỘ HƢỚNG DẪN: TS. TRƢƠNG TUẤN ANH

Tp. HCM, ngày 11 tháng 02 năm 2020
CÁN BỘ HƢỚNG DẪN

CHỦ NHIỆM BỘ MÔN ĐÀO TẠO

TRƢỞNG KHOA

Trang 3


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

LỜI CẢM ƠN
Trong quá trình làm đề tài, bên cạnh những nỗ lực khơng ngừng của cá nhân, tơi

cịn nhận đƣợc sự hỗ trợ tận tình, quý báu từ các thầy, anh chị trong ngành, bạn bè và
gia đình. Điều này giúp tôi định hƣớng đề tài nghiên cứu, đảm bảo theo sát tiến trình
làm việc và hồn thành những phần nghiên cứu quan trọng.
Tôi xin chân thành cảm ơn TS. Trƣơng Tuấn Anh, PGS. TS. Đặng Trần Khánh,
PGS. TS. Vũ Thanh Ngun và TS. Đặng Trần Trí đã giúp tơi định hƣớng đề tài và có
những ý kiến đóng góp q báu giúp đề tài ngày càng hồn thiện. Tơi xin đƣợc cảm ơn
chân thành với niềm cảm kích sâu sắc đến TS. Trƣơng Tuấn Anh đã tận tình hỗ trợ cho
tơi trong suốt q trình thực hiện. Tơi cũng xin gửi lời cảm ơn của mình đến tất cả
những giảng viên khoa Khoa Học và Kỹ Thuật Máy Tính đã tận tâm giảng dạy giúp
tơi có những kiến thức nền tảng vững chắc để thực hiện đề tài.
Cuối cùng, tơi xin chân thành cảm ơn gia đình, bạn bè, những ngƣời đã quan tâm,
động viên và giúp đỡ về thể chất lẫn tinh thần để tơi có đủ sức khỏe, nghị lực hoàn
thành tốt luận văn tốt nghiệp này.
TP. Hồ Chí Minh, ngày 06 tháng 08 năm 2020
Học viên thực hiện

Nguyễn Thái Hà Châu

Trang 4


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

TÓM TẮT LUẬN VĂN
Mục đích của tài liệu này là trình bày kết quả thu đƣợc sau giai đoạn thực hiện đề
tài: BẢO VỆ TÍNH RIÊNG TƢ TRONG KHAI PHÁ DỮ LIỆU TRÊN ĐIỆN TOÁN
ĐÁM MÂY. Chƣơng một của tài liệu giới thiệu tổng quan đề tài, nói lên mục tiêu
chính của đề tài. Chƣơng hai bàn về các cơng trình liên quan và các kiến thức nền tảng

cần thiết đã đƣợc áp dụng trong đề tài này. Chƣơng ba của tài liệu bàn về vấn đề trong
luận văn và hƣớng giải quyết. Chƣơng bốn đƣa ra lời giải cho đề tài, công nghệ đã sử
dụng và phƣơng pháp thực hiện. Chƣơng năm trình bày thí nghiệm và kết quả của thí
nghiệm. Chƣơng sáu trình bày kết quả đạt đƣợc và kế hoạch cho tƣơng lai.

THESIS ABSTRACT
The purpose of this thesis is to present the obtained results after the period of the
topic implementation: PRIVACY PRESERVING DATA MINING IN CLOUD.
Chapter 1 introduces an overview of the topic and the major objectives of the topic.
Chapter 2 discusses the relevant works as well as the fundamental knowledge applied
in this topic. Chapter 3 indicates both the issues of the dissertation and their remedies.
Chapter 4 gives an explanation of the topic, used technologies and implementation
methods. Chapter 5 shows the experiments along with their results. Chapter 6 explains
not only the achieved outcomes but also future plans.

Trang 5


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

LỜI CAM ĐOAN
Tơi xin cam đoan tồn bộ những phần nghiên cứu và trình bày của tơi đều dƣới
sự hƣớng dẫn của TS. TRƢƠNG TUẤN ANH, PGS. TS. ĐẶNG TRẦN KHÁNH.
Ngoài những tài liệu tham khảo đƣợc liệt kê trong phần tài liệu tham khảo thì tơi
khơng sao chép bất cứ tài liệu hoặc các cơng trình nghiên cứu khác. Nếu có bất kì sai
phạm nào, tơi xin chịu hồn tồn trách nhiệm trƣớc Ban Chủ Nhiệm Khoa và Ban
Giám Hiệu Nhà Trƣờng.
TP. Hồ Chí Minh, ngày 06 tháng 08 năm 2020

Học viên thực hiện

Nguyễn Thái Hà Châu

Trang 6


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

MỤC LỤC
Trang
LỜI CẢM ƠN ............................................................................................................. 4
TÓM TẮT LUẬN VĂN ............................................................................................. 5
MỤC LỤC ................................................................................................................... 7
DANH SÁCH HÌNH VẼ ............................................................................................ 9
CHƢƠNG 1: TỔNG QUAN ...................................................................................... 10
1.1 Giới thiệu đề tài .................................................................................................. 10
1.1.1 Ngữ cảnh bài toán ....................................................................................... 10
1.1.2 Vấn đề cần giải quyết ................................................................................. 10
1.2 Mục tiêu đề tài .................................................................................................... 12
1.3 Giới hạn của đề tài ............................................................................................. 13
1.4 Đóng góp của đề tài............................................................................................ 14
1.5 Cấu trúc của đề tài .............................................................................................. 14
CHƢƠNG 2: CÁC CƠNG TRÌNH LIÊN QUAN VÀ KIẾN THỨC NỀN TẢNG
...................................................................................................................................... 15
2.1 Các cơng trình liên quan .................................................................................... 15
2.2 Các kiến thức nền tảng ....................................................................................... 19
2.2.1 Giới thiệu mã hóa ElGamal ........................................................................ 19

2.2.2 Khai phá dữ liệu .......................................................................................... 21
2.2.3 Giải thuật Apriori ........................................................................................ 22
2.2.4 Định lý nhỏ Fermat ..................................................................................... 23
2.2.5 Tổng quan về lý thuyết nhóm ..................................................................... 24
2.2.6 Bài tốn logarit rời rạc ................................................................................ 25
CHƢƠNG 3: PHÂN TÍCH VẤN ĐỀ VÀ HƢỚNG GIẢI QUYẾT ....................... 26
3.1 Ví dụ minh họa ................................................................................................... 26
Trang 7


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

3.2 Phân tích vấn đề và giải pháp đề nghị ................................................................ 27
3.3 Chứng minh và thảo luận ................................................................................... 28
CHƢƠNG 4: HIỆN THỰC ....................................................................................... 32
4.1 Hiện thực Framework chung .............................................................................. 32
4.2 Công nghệ sử dụng ............................................................................................. 34
4.3 Thiết kế chƣơng trình và giải thuật .................................................................... 34
4.3.1 Định nghĩa................................................................................................... 34
4.3.2 Giải thuật..................................................................................................... 36
CHƢƠNG 5: THỬ NGHIỆM ................................................................................... 37
5.1 Mục đích thử nghiệm ......................................................................................... 37
5.2 Phƣơng pháp thử nghiệm ................................................................................... 37
5.3 Kết quả thử nghiệm ............................................................................................ 38
CHƢƠNG 6: TỔNG KẾT VÀ CÔNG VIỆC TRONG TƢƠNG LAI................... 39
6.1 Tổng kết ............................................................................................................. 39
6.2 Công việc cho tƣơng lai ..................................................................................... 39
TÀI LIỆU THAM KHẢO.......................................................................................... 40

PHỤ LỤC: ................................................................................................................... 41
PHẦN LÝ LỊCH TRÍCH NGANG ........................................................................... 41

Trang 8


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

DANH SÁCH HÌNH VẼ
Hình 1.1 - Mơ hình khai phá dữ liệu trên điện tốn đám mây ................................. 11
Hình 2.1 - Giải thuật thay thế các phần tử giống nhau trong giao dịch ................. 18
Hình 2.2 - Ví dụ về giải thuật Apriori ...................................................................... 22
Hình 4.1 - Mơ mình khai phá dữ liệu mà chúng tơi đã thực hiện ............................ 32
Hình 5.1 - So sánh hiệu suất giữa phương pháp đề xuất so với phương pháp hiện tại
.................................................................................................................................. 38

Trang 9


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

CHƢƠNG 1: TỔNG QUAN
Trong chương này, chúng tơi sẽ trình bày tổng quan khái niệm khai phá dữ
liệu và phương pháp bảo vệ tính riêng tư trong khai phá luật kết hợp trên điện
tốn đám mây, những đóng góp của đề tài này trong nghiên cứu. Những vấn đề
mà đề tài của chúng tơi cịn hạn chế trong phương pháp bảo vệ tính riêng tư

trong khai phá luật kết hợp trên điện toán đám mây. Cuối cùng nhằm để độc giả
dễ nắm bắt được nội dung của luận văn chúng tôi sẽ đề cập đến cấu trúc của
luận văn này.
1.1 Giới thiệu đề tài
1.1.1 Ngữ cảnh bài toán
Cùng với sự phát triển mạnh mẽ của công nghệ thông tin là nhu cầu khai phá dữ
liệu nhằm mục đích phục vụ cho lĩnh vực kinh doanh. Những doanh nghiệp thiếu tài
nguyên về bộ nhớ để lƣu trữ thơng tin, tài ngun tính toán và thiếu các chuyên gia về
lĩnh vực nghiên cứu và phân tích dữ liệu.
Hiện nay mạng Internet là một môi trƣờng mở, dữ liệu đƣợc chia sẻ qua Internet
sẽ dẫn đến nhu cầu thiết yếu để bảo vệ dữ liệu, một trong những phƣơng pháp chính là
mã hóa dữ liệu.
Dữ liệu mã hóa sẽ làm cho q trình khai phá gặp khó nhiều khó khăn, làm sao
ta có thể khai phá dữ liệu mã hóa một cách chính xác mà vẫn giữ đƣợc sự an toàn và
toàn vẹn của dữ liệu.
Bài tốn đặt ra rằng liệu có tồn tại giải pháp nào có thể giải quyết vấn đề này để
phục vụ cho việc khai phá dữ liệu nhằm mục đích áp dụng vào cơng việc kinh doanh
hay khơng.
1.1.2 Vấn đề cần giải quyết
Trong đề tài này chúng tôi sẽ tập trung vào ngữ cảnh khai phá dữ liệu, đặc biệt là
các luật kết hợp đƣợc khai phá khi sử dụng điện toán đám mây.

Trang 10


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Hình 1.1 - Mơ hình khai phá dữ liệu trên điện toán đám mây

Bài toán bao gồm ngƣời dùng là cá nhân hoặc doanh nghiệp có nhu cầu khai phá
dữ liệu nhƣng lại khơng thể tiến hành vì thiếu tài ngun tính tốn và các chun gia
về dữ liệu, đây là những khách hàng muốn tập trung vào công việc kinh doanh chính
của họ, khơng muốn bị chi phối để suy nghĩ về những mảng khác nhƣ khoa học về dữ
liệu chẳng hạn.
Mơ hình của bài tốn sẽ bao gồm nhiều Data Mining server có nhiệm vụ giải mã
mà ta đặt tên là S1, S2, …., Sn và một Database server chứa dữ liệu đã đƣợc mã hóa
và tiến hành khai phá dữ liệu.
Trƣớc tiên ngƣời dùng sẽ mã hóa dữ liệu của họ bao gồm các giao dịch bằng giải
thuật Elgamal, sau đó dữ liệu đƣợc chuyển lên Database server
Tiếp theo ngƣời dùng sẽ phân phối khóa riêng tƣ của họ thành n phần đó là x1,
x2,…, xn sau đó phân phối chúng lên các Data Mining server tƣơng ứng là S1, S2,…,
Sn.

Trang 11


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Để đảm bảo sự an tồn trong q trình đƣa khóa x1,x2,x3,…,xn lên các Data
Mining server, ngƣời dùng sẽ mã hóa mỗi khóa bằng cách sử dụng khóa cơng khai của
server tƣơng ứng, vậy nên khi nhận đƣợc kết quả mã hóa thì Data Mining server chỉ
cần thực hiện thao tác đơn giản đó là dùng khóa riêng tƣ của mình để giải mã và thu
đƣợc giá trị khóa xi. Vậy nên mỗi Data Mining sẽ có một khóa riêng tƣ xi mà ngƣời
dùng đã chia sẻ.
Quá trình khai phá dữ liệu sẽ đƣợc tiến hành nhờ sự kết hợp của Database server
và n Data Mining server.
Khi vận hành giải thuật Plain Equality Text cho hai phần tử mã hóa của m1, m2

là E(m1) = (A1, B1) và E(m2) = (A2, B2), ta sẽ chuyển các giá trị A1, A2 lên n Data
Mining server để tính tốn và kết quả tính toán đƣợc sẽ đƣợc gửi lại về Database
server.
Database server là nơi tổng hợp kết quả và xác định xem liệu rằng m1 và m2 có
phải là kết quả mã hóa của một phần tử ban đầu hay không.
Sau khi tiến hành khai phá dữ liệu bằng cách áp dụng giải thuật Apriori trên dữ
liệu đã đƣợc mã hóa, các luật kết hợp sẽ đã đƣợc mã hóa sẽ chuyển về cho ngƣời dùng.
Nhiệm vụ của ngƣời dùng bây giờ là giải mã những luật kết hợp đó để xem ý nghĩa
thực sự của chúng là gì và xem chúng có thể có ứng dụng gì trong cơng việc kinh
doanh của họ.
1.2 Mục tiêu đề tài
Mục tiêu của đề tài là đề xuất giải pháp khai phá dữ liệu trên điện tốn đám mây
với nhiều server nhằm mục đích:
Đảm bảo tính riêng tƣ cho dữ liệu đƣợc khai phá có nghĩa là sau khi khai phá thì
dữ liệu đó cũng khơng ai có thể hiểu đƣợc ý nghĩa của nó ngoại trừ ngƣời sử dụng, vậy
nên dữ liệu đƣợc khai phá cũng phải là dữ liệu đã đƣợc mã hóa.

Trang 12


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Khai phá đƣợc thơng tin có ích ví dụ nhƣ luật các kết hợp trong dữ liệu để ngƣời
dùng có thể nhận biết đƣợc những phần tử nào có xu hƣớng đi chung với nhau, ràng
buộc lẫn nhau có tần suất lớn để tiến hành khai phá dữ liệu.
Sử dụng các server độc lập với nhau để tiến hành khai phá dữ liệu nhằm mục
đích tăng tốc q trình tính tốn và bảo vệ tính riêng tƣ của khóa bởi vì các giá trị của
khóa riêng tƣ sẽ đƣợc phân bố lên các server, nên khơng có ai ngồi ngƣời dùng có thể

biết đƣợc giá trị thực sự của tất cả các khóa.
Sử dụng giải thuật Elgamal và tối ƣu giải thuật về mã hóa Elgamal cũng nhƣ tối
ƣu hóa trong q trình khai phá dữ liệu nhằm mục đích tăng tốc quá trình khai phá dữ
liệu.
Tối ƣu trong quá trình khai phá dữ liệu trên tập dữ liệu đã đƣợc mã hóa nhằm đạt
đƣợc các thơng tin có ích sau khi khai phá dữ liệu.
Tăng tốc sử dụng giải thuật bảo vệ tính riêng tƣ trên phần tử dữ liệu bằng cách
tối ƣu hóa giải thuật Elgamal đã đƣợc sử dụng. Ngồi ra chúng tơi cũng tối ƣu trong
q trình khai phá dữ liệu trên tập dữ liệu đã đƣợc mã hóa nhằm đạt đƣợc hiệu quả tốt
hơn về mặt thời gian.
1.3 Giới hạn của đề tài
Chúng tơi có một số giới hạn trong việc thực hiện đề tài này đó là:
Chỉ tiến hành khai phá dữ liệu trên dữ liệu đã đƣợc mã hóa.
Giới hạn trong việc chỉ khai phá để đạt đƣợc luật kết hợp trong quá trình khai phá
dữ liệu.
Chƣơng trình khơng che giấu đƣợc độ hỗ trợ của mỗi tập các phần tử dữ liệu đã
đƣợc mã hóa, bởi vì độ hỗ trợ của các tập phần tử dữ liệu đã đƣợc mã hóa đã đƣợc
Database server biết.

Trang 13


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

1.4 Đóng góp của đề tài
Đã đề xuất một giải pháp để tiến hành khai phá dữ liệu trên dữ liệu đƣợc mã hóa
để đảm bảo tính riêng tƣ trong khai phá luật kết hợp trên điện toán đám mây.
Giải pháp đƣợc đề xuất có độ hiệu quả tốt hơn về mặt thời gian so với các giải

thuật đã đƣợc đề xuất trƣớc đó.
1.5 Cấu trúc của đề tài
Chƣơng I – Tổng quan: trình bày tổng quan về khai phá luật kết hợp và sự cần
thiết để bảo vệ tính riêng tƣ cho nó.
Chƣơng II – Các cơng trình liên quan và kiến thức nền tảng: trình bày một số
kiến thức nền tảng để ngƣời đọc có thể dễ dàng tiếp cận nội dung các chƣơng sau. Các
kiến thức này bao gồm về khái niệm giải thuật mã hóa Elgamal, khai phá dữ liệu. Cuối
cùng thì chúng tơi trình bày về giải thuật Apriori đƣợc ứng dụng để khai phá dữ liệu
trong luận văn này.
Chƣơng III – Đặt vấn đề và hƣớng giải quyết: trình bày ví dụ minh họa cho
việc mà chúng tơi cần giải quyết. Trong phần phân tích vấn đề chúng tôi sẽ nêu ra
những hạn chế trong các phƣơng pháp trƣớc, sau đó với những giả thuyết đƣa ra chúng
tôi sẽ đề xuất giải pháp đề nghị.
Chƣơng IV – Hiện thực: trình bày framework chung của quá trình bảo vệ tính
riêng tƣ của khai phá luật kết hợp trên điện tốn đám mây. Tiếp đến chúng tơi giới
thiệu những kỹ thuật và cơng nghệ mà mình áp dụng trong đề tài này. Sau đó chúng tơi
đƣa ra giải pháp để tối ƣu hóa q trình tính tốn trong khai phá dữ liệu.
Chƣơng V – Thử nghiệm: sẽ trình bày phƣơng pháp và kết quả thử nghiệm của
chúng tôi.
Chƣơng VI - Kết luận và công việc trong tƣơng lai: trình bày các vấn đề đã
thực hiện đƣợc và chƣa thực hiện đƣợc của đề tài. Đƣa ra hƣớng phát triển và mở rộng
trong tƣơng lai.

Trang 14


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh


CHƢƠNG 2: CÁC CƠNG TRÌNH LIÊN QUAN VÀ KIẾN THỨC
NỀN TẢNG
Trong chương này, chúng tơi sẽ trình bày ngắn gọn về các cơng trình liên
quan, giải thuật mã hóa Elgamal và đặc biệt là kỹ thuật khai phá dữ liệu. Bên
cạnh đó, chúng tơi sẽ đề cập về các kiến thức cần thiết để độc giả qua đó có thể
hiểu rõ hơn và thực hiện được đề tài này.

2.1 Các công trình liên quan
Đã có một giải pháp đƣợc đƣa ra (Privacy-Preserving Association Rule Mining
in Cloud Computing) [1] đó là tiến hành thuê nhiều server từ các nhà cung cấp dịch vụ
điện toán đám mây khác nhau. Ngƣời dùng là doanh nghiệp chỉ cần mã hóa dữ liệu
bằng khóa cơng khai sau đó chuyển dữ liệu đã đƣợc mã hóa để lƣu trữ ở server chứa
cơ sở dữ liệu đƣợc mã hóa. Tiếp theo ngƣời dùng sẽ tách khóa riêng tƣ thành nhiều
phần và phân phối chúng lên các server, để đảm bảo tính an tồn dữ liệu khi phân phối
các khóa lên server ta có thể mã hóa các khóa đó bằng khóa cơng khai của mỗi server,
đối với mỗi server khi nhận đƣợc khóa đã đƣợc mã hóa thì họ chỉ cần giải mã bằng
khóa riêng tƣ của họ.
Chúng tôi đƣa ra một giả thuyết là sẽ tồn tại ít nhất một server là tin cậy. Tin cậy
ở đây có nghĩa là kết quả khai phá dữ liệu là tin cậy và khơng chia sẽ khóa cho bất cứ
ai.
Cuối cùng quá trình khai phá dữ liệu sẽ đƣợc tiến hành trên dữ liệu đƣợc mã hóa
bởi sự kết hợp của các server đang nắm giữ từng phần khóa và kết quả trả về cũng là
dữ liệu đƣợc mã hóa. Khi ngƣời dùng nhận đƣợc luật kết hợp đã đƣợc mã hóa từ các
server thì họ chỉ cần dùng khóa bí mật của họ để giải mã và xem thơng tin thật sự của
luật kết hợp.

Trang 15


BÁO CÁO LUẬN VĂN TỐT NGHIỆP


GVHD: TS. Trƣơng Tuấn Anh

Giải pháp đã đƣợc đề xuất đó là xây dựng giải thuật Plaintext Equality Text
(PET) để n server có thể xác định sự bằng nhau của hai plaintext hay không dựa vào
kết quả mã hóa của chúng mà khơng cần phải tiến hành giải mã. Bởi vì giải thuật
doanh nghiệp đã sử dụng để mã hóa dữ liệu là Elgamal, giải thuật này sẽ sinh ra các
giá trị mã hóa khác nhau từ cùng một dữ liệu ban đầu. Do đó giải thuật PET đƣợc áp
dụng để xác định các phần tử mã hóa trong giao dịch là kết quả của chỉ một phần tử đã
đƣợc mã hóa trong giao dịch, sau đó tiến hành thay thế chúng với cùng sự mã hóa.
Bƣớc cuối cùng là áp dụng giải thuật Apriori [2] để khai phá dữ liệu.
Tiến hành mã hóa dữ liệu bằng giải thuật Elgamal. Giả sử với mỗi phần tử dữ
liệu m sẽ đƣợc mã hóa thành hai giá trị là A và B nhƣ sau:
C = E(m) = (A, B) với A =

g r và B = myr

Với:
r là giá trị ngẫu nhiên
g là giá trị thuộc tập sinh G
y là public key, có giá trị là

y  gx

x là khóa riêng tƣ
Vậy với một cơ sở dữ liệu gồm nhiều giao tác D = {t1, t2, t3, t4, …, tn}, với mỗi
giao tác

ti


= {a1, a2, a3, …, a

n 1

, a }, với
n

i  1, n

sẽ sinh ra các giá trị mã hóa cho từng phần tử theo giải thuật Elgamal ở trên.
Bởi vì theo cơng thức C = E(m) = (A, B) với A =

g r và B = myr ta nhận thấy

rằng giá trị r có thể thay đổi nên với mỗi giá trị m sẽ có nhiều kết quả mã hóa khác
nhau.
Nhằm phục vụ cho mục đích khai phá luật kết hợp, ngƣời dùng sẽ tìm phƣơng
pháp để thay thế các kết quả mã hóa của cùng một phần tử m ban đầu với một giá trị
giống nhau. Để làm đƣợc điều này, giải thuật để xác định sự bằng nhau của hai giá trị
mã hóa gọi là PET. Chi tiết của việc hiện thực giải thuật nhƣ sau:

Trang 16


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Algorithm 1: Plaintext Equality Test (PET)
Input: C1 = (A1, B1), C2=(A2, B2)

Output:

True if C1 and C2 are encrypted from one plain text
False if C1 and C2 aren’t encrypted from one plain text

1: Each server Si chooses an integer ri randomly from Z*q and outputs

r
A 'i =  A1/ A2 i

and

r
B 'i =  B1/ B2 i

2: The result is sent back to Database server
n

3: Database server calculatse C = (A, B) = (  A 'i ,
i 1

n

 B 'i )
i 1

x
4. Database server sends A to server Si to calculate A i
5. Database server calculates the value


B
n

 Axi
i 1

6. Return true if the result of step 5 is 1, False if otherwise

Tiếp theo ngƣời ta sẽ áp dụng giải thuật sau để thay thế tất cả các phần tử mã hóa là
kết quả mã hóa của một plaintext ban đầu, bởi chỉ một giá trị là phần tử xuất hiện đầu
tiên trong giao dịch đã đƣợc mã hóa.

Trang 17


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Giải thuật 2: Same item identification (Dabase Server and n Data Mining Server)

Hình 2.1 - Giải thuật thay thế các phần tử giống nhau trong giao dịch
Ý tƣởng chính của giải thuật trên đó là lặp qua trên các giao dịch và thay thế
chúng bởi một giao dịch.
Cuối cùng DB server sẽ tiến hành thực hiện khai phá dữ liệu trên dữ liệu đã đƣợc
mã hóa và kết quả trả về cũng là dữ liệu đƣợc mã hóa.

Trang 18



BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

2.2 Các kiến thức nền tảng
2.2.1 Giới thiệu mã hóa ElGamal
Mã hóa ElGamal chứa giải thuật mã hóa và giải mã. Q trình sinh tạo ra khóa:
Với security parameter (độ khó để phá vỡ hệ mã hóa) là k
Nhóm G với số nguyên tố q và phần tử sinh g
* = {1, 2, …, q - 1}
Private key (khoá riêng tƣ): x ngẫu nhiên từ Z q

Public key (khóa cơng khai): y =

gx

Giải thuật mã hóa:
Với mỗi thơng điệp đầu vào m thuộc tập G và khóa cơng khai y. Ta tiến hành lựa
chọn số ngẫu nhiên

r  Z q* , sinh ra ciphertext:

C = E(m) = (A, B) với A =

g r và B = m y r

Giải thuật giải mã:
Với cyphertext(A, B) và khóa cá nhân x đƣợc dùng để tạo ra plaintext nhƣ sau:
m = D(C) = B/ Ax
x

x
Bởi vì: B/ A x = m y r / ( g r ) = m ( g x )r / ( g r ) = m
Một số tính chất:
Cho mã hóa: E(m1) = (A1, B1)
E(m2) = (A2, B2)
 E(m1 * m2) = (A1 A2, B1 B2)

Tính chất re-encryption:
E(m)= (A, B) = ( g r , m y r )
Sự mã hóa của thơng điệp ban đầu: RE(E(m)) = (A’, B’) = (A g r' , B y r' )
Bởi vì: B y r' / ( Ag r' ) x = B ( g x ) r' / ( Ag r' ) x = (B/ A x ) = m

Trang 19


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Hệ mã hóa ElGamal phân bố:
Cho n server: S , S , ……, Sn
1 2
tạo khóa:
Tham số an tồn: k
G: group các số nguyên tố có thứ tự q và bộ sinh g
* và tính tốn:
Mỗi server Si lựa chọn khóa bí mật X i từ Z q

Public key:


x
yi = g i cho tất cả server cùng biết
Private key: X i cho server Si biết
x x
Gọi y = y1 y2 ……… yn = g 1 g 2 … g xn là khóa cơng khai
Mã hóa:
Với mỗi thơng điệp m
*
Khóa cơng khai y, ta lựa chọn: r ngẫu nhiên từ Z q

Vậy ta có: C = E(m) = (A, B) với A =
Giải mã:

g r và B =m y r

x
Với mỗi ciphertext (A,B), mỗi server sinh ra kết quả Ai = A i
x

Vậy m = D(C) = B / ( A 1 A
Bởi vì:
x

B/(A1 A

x2

x2

……. Axn )


……. Axn )

x  x2 ... xn

=B/(A1

= (m y r )/ ( g r )
= m (g
=m

)
x1 x2 ... xn

x1x2...xn

)r / ( g r )

x1 x2 ... xn

Trang 20


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Phƣơng pháp kiểm tra sự bằng nhau của hai plaintext dựa trên kết quả mã hóa của
chúng mà khơng cần phải giải mã
C1 = (A1, B1) là kết quả mã hóa cho plaintext m1

C2 = (A2, B2) là kết quả mã hóa cho plaintext m2
Mối server Si lựa chọn giá trị ngẫu nhiên ri từ Z q* và sinh ra:

r
A 'i =  A1/ A2 i

r
B 'i =  B1/ B2 i
Kiểm tra với C = (A’, B’) = ( A '1 A '2 …….. A 'n , B '1 B '2 …….. B 'n )
Nếu D(C) = 1 thì hai ciphertext biểu diễn cùng một plaintext

2.2.2 Khai phá dữ liệu
Trong khoa học máy tính, khai phá dữ liệu là quá trình đi sâu vào dữ liệu để đi
tìm những thứ mà chúng ta chƣa biết nhằm xác định dữ liệu đã có ẩn chứa thơng tin gì,
và liệu rằng thơng tin đó có ích hay khơng.
Với sự phát triển nhƣ của nền cơng nghiệp 4.0 hiện nay thì số lƣợng các thiết bị
điện tử thông minh đƣợc sử dụng rất nhiều trên thế giới chẳng hạn nhƣ laptop,
smartphone, PC, tablet để kết nối tìm kiếm thơng tin trên mạng internet. Ngoài ra sự
xuất hiện của thuật ngữ internet vạn vật (IOT) gồm các thiết bị có thể giao tiếp với
nhau qua mạng internet, cho phép trao đổi và truyền tải dữ liệu đã tạo ra một lƣợng
thông tin vô cùng lớn. Ngoài ra sự phát triển của những mạng xã hội với hàng tỷ ngƣời
dùng đã tạo ra một lƣợng data rất lớn. Do đó nhu cầu để khai thác dữ liệu trên nhiều
lĩnh vực chẳng hạn nhƣ mục đích thƣơng mại, an ninh đƣợc chú trọng.
Khai phá dữ liệu là một tập hợp, một hệ thống các phƣơng pháp tính tốn khác
nhau và các thuật tốn sẽ áp dụng cho cơ sở dữ liệu có quy mơ lớn và phức tạp nhằm
loại bỏ những chi tiết ngẫu nhiên và ngoại lệ, để đi tìm những thơng tin có giá trị trong
bộ dữ liệu.
Khai phá dữ liệu đƣợc ứng dụng trong phân tích cơ sở dữ liệu bán hàng, quảng
cáo, phân tích chiến dịch bán hàng.


Trang 21


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Một số thuật ngữ phổ biến trong khai phá dữ liệu có thể đề cập đến nhƣ là hạng
mục (phần tử) là một mặt hàng hay một thuộc tính nào đó trong giao dịch. Tập các
hạng mục đƣợc mua trong một phiên giao dịch t là I = {i1, i2, i3, i4, …, in)
Giao dịch t chứa X nếu X là tập con của các phần tử trong giao dịch t.
Độ phổ biến của các hạng mục X là tỷ lệ giữa số các giao dịch chứa X trên tổng
số giao dịch trong cơ sở dữ liệu
Tập các hạng mục phổ biến S hay tập phổ biến là tập các hạng mục có độ phổ
biến thỏa mãn độ phổ biến tối thiểu do ngƣời dùng cung cấp.

2.2.3 Giải thuật Apriori
Một tính chất quan trọng của luật kết hợp đƣợc áp dụng là nếu một tập con khơng
là tập phổ biến thì tập cha của nó cũng khơng là tập phổ biến.

Hình 2.2 - Ví dụ về giải thuật Apriori

Trang 22


BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

Giải thuật 3: Giải thuật Apriori

1. Tìm tất cả các tập phổ biến 1 hạng mục (C1)
2. Kiểm tra độ phổ biến của các ứng viên trên CSDL và loại các ứng viên không
phổ biến ta đƣợc Li (i = 1, 2, 3, …, k)
3. Dừng giải thuật khi không tạo đƣợc tập phổ biến
4. Tạo tập các ứng viên có kích thƣớc là k hạng mục từ tập phổ biến L có kích
thƣớc k-1 hạng mục. Quay lại bƣớc 2.

2.2.4 Định lý nhỏ Fermat
Nếu p là số nguyên tố và a khơng chia hết cho p thì

a p1 1 p với ∀a ∈



(1)

Chứng minh:
Bởi vì a khơng chia hết cho p  2a, 3a, …, (p-1)a không chia hết cho p
Gọi r1, r2, r3, …,

rp1 lần lượt là phần dư của phép chia a, 2a, 3a,..,(p-1)a với p.

Dễ thấy r1, r2, …,

rp1 đơi một khác nhau.

Bởi vì nếu

ri


=

(2)

r j , với 0 < i < j ≤ p -1

Tức là ia ≡ ja (mod p)
 ia – ja chia hết cho p
 (i – j ) * a chia hết cho p

Theo giả thiết thì a khơng chia hết cho p, vậy nên (i – j ) sẽ cho hết cho p
Bởi vì 0 < i < j ≤ p -1 do đó I – j chia hết cho p là điều vô lý.
Vậy (2) đúng. Xét a* 2a * 3a*…. * (p-1)a mod p = r1 * r2 *… *

Trang 23

rp1 mod p


BÁO CÁO LUẬN VĂN TỐT NGHIỆP



a p1 (p-1)!



(p-1)! ( a p1 -1) ⋮ p




a p1 - 1 ⋮ p

GVHD: TS. Trƣơng Tuấn Anh

mod p = (p-1)! mod p

2.2.5 Tổng quan về lý thuyết nhóm
Nhóm là tập hợp G và một phép tốn hai ngơi ∎ kết hợp hai phần tử x và y bất
kỳ để tạo ra một phần tử khác, ký hiệu x ∎ y hoặc xy. Để trở thành một nhóm phải
thỏa mãn bốn yêu cầu gọi là tiên đề nhóm nhƣ sau:
- Tiên đề đóng: Với mọi a, b ∈ G, ta có a ∎ b ∈ G
- Tính kết hợp: Với mọi a, b, c ∈ G, ta có (a ∎ b) ∎ c = a ∎ ( b ∎ c)
- Phần tử đơn vị: Tồn tại duy nhất một phần tử đơn vị e ∈ G thỏa mãn e ∎ a = a
∎ e, với mọi a ∈ G.
- Phần tử nghịch đảo: Với mỗi a ∈ G, tồn tại b ∈ G thỏa a ∎ b = b ∎ a = e với e
là phần tử nghịch đảo của nhóm
Ví dụ: Tập hợp các số nguyên Z với phép cộng có phần tử đơn vị là 0.
Nhóm con (Subgroup) là tập hợp con của nhóm G cũng tạo thành một nhóm.
Khi H là nhóm con của G ta ký hiệu H  G.
Ví dụ nhóm (Z,+) là một nhóm con của tập hợp các số chẵn, tuy nhiên tập
hợp các số lẻ không phải là nhóm con của (Z,+) bởi vì tổng hai số lẻ là một số
chẵn.
Một nhóm G được gọi là nhóm cyclic nếu trong G tồn tại phần tử sinh g sao
cho:
G = <g> = { g n với n }

Trang 24



BÁO CÁO LUẬN VĂN TỐT NGHIỆP

GVHD: TS. Trƣơng Tuấn Anh

2.2.6 Bài toán logarit rời rạc
Cho số nguyên tố p và phần tử sinh  của tập hợp Zp
Phần tử  của tập hợp Zp
Bài tốn đặt ra: Tìm một số nguyên a với 0  a  p-2
Sao cho:

 a   mod p

Đây là bài tốn có độ phức tạp cao và khó giải.

Trang 25


×