ABE - Attribute-Based Encryption: Mã hóa dựa trên thuộc tính ACL - Access Control List: Danh sách điều khiển truy cập CA - Central Authority: Cơ quan chứng thực trung tâm CP-ABE - Cipher
Trang 1ĐẠI HỌC QUOC GIA THÀNH PHO HO CHÍ MINH
TRUONG DAI HOC CONG NGHE THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG
HO DAC THANH MINH - 18521096 NGUYEN MINH HIẾN - 18520051
KHÓA LUẬN TÓT NGHIỆP
KIEM SOÁT TRUY CẬP VÀ TÌM KIEM
TRÊN HỆ CƠ SỞ NOSQL
ĐƯỢC MÃ HÓA
ATTRIBUTE-BASED ACCESS CONTROL AND
SEARCHABLE ENCRYPTION IN NOSQL DATABASE
KY SU TAI NANG NGANH AN TOAN THONG TIN
TP HO CHÍ MINH, 2022
Trang 2ĐẠI HỌC QUỐC GIA THÀNH PHÓ HÒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA MẠNG MAY TÍNH VÀ TRUYEN THONG
HO DAC THANH MINH - 18521096 NGUYEN MINH HIẾN - 18520051
KHOA LUAN TOT NGHIEP
KIEM SOAT TRUY CAP VA TIM KIEM
TREN HE CO SO NOSQL
DUOC MA HOA
ATTRIBUTE-BASED ACCESS CONTROL AND
SEARCHABLE ENCRYPTION IN NOSQL DATABASE
KY SU TAI NANG NGANH AN TOAN THONG TIN
GIANG VIEN HUONG DAN
TIEN SĨ NGUYEN NGỌC TỰ
TP HÒ CHÍ MINH, 2022
Trang 3THONG TIN HỘI DONG CHAM KHÓA LUẬN TOT NGHIỆP
Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số 30 ngày 06
tháng 07 năm 2022 của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1 PGS TS Lê Trung Quân Chủ tịch
2 Ths Đặng Lê Bảo Chương Thư ký
3 Ths Phan Thế Duy Ủy viên
Trang 4LỜI CẢM ƠN
Trước khi trình bày nội dung chính của dé án, em xin gửi tới thầy, cô của trường
Đại học Công nghệ thông tin- ĐHQG TP Hồ Chi Minh lời chào trân trọng, lời chúc sức khỏe và lời cảm ơn sâu sắc Với sự quan tâm, dạy đỗ, chỉ bảo tận tình chu đáo của thầy cô, em có thể tiếp thu những kiến thức quan trọng, dé em có thé hoàn thành đồ án
tốt nghiệp và những công việc của em sau này.
Em xin gửi lời cảm ơn chân thành nhất tới giảng viên — TS Nguyễn Ngọc Tự đã hướng dẫn và giúp đỡ em rất nhiều không chỉ trong quá trình thực hiện đồ án mà còn ở một số môn học trong khoảng thời gian ngồi trên giảng đường Nhờ thầy tụi em có thêm
những kiến thức quan trọng cũng như là nền tảng đề giải quyết các vấn đề trong quá trình
nghiên cứu và hoàn thành khóa luận tốt nghiệp Bên cạnh đó, trong quá trình hoàn thành khóa luận tốt nghiệp có những lúc tụi hơi thiếu tập trung và khiến cho thầy không hài
lòng về tiến độ của nhóm vì thế tụi em xin lỗi và cũng vô cùng biết ơn thầy đã giúp đỡ tụi em, và tụi em luôn trân trọng, hi vọng sẽ được cộng tác cùng thầy nếu nhóm vẫn còn
tiếp tục để nghiên cứu trong tương lai.
Nhân dịp này em cũng xin được gửi lời cảm ơn chân thành tới gia đình, bạn bè đã
luôn bên em, cô vũ, động viên, giúp đỡ em trong suốt quá trình học tập và thực hiện đồ
án tốt nghiệp.
Trong quá trình làm đồ án vẫn không thé tránh khỏi những thiếu sót Em kính mong
được sự cảm thông, được các thầy cô ý kiến và góp ý dé nhóm em có thể tiếp tục nghiên cứu và phát triển thêm trong tương lai
Em xin chân thành cảm ơn!
Trang 5MỤC LỤC
[9.)00U công 0h 1A 11
11 Ngữ cảnh — —_ _ _ 4 — — — — — — 11 1.2 Các bên liên quan "1 — — — — — —2
13 Đề tài nghiên cứu _ _ ———————DDDDD lỗ
CHƯƠNG 2 CÁC KIÊN THỨC NEN TANG 16
21 Mụctêuđồài "5 .ÔÔ Ô 16
2.2 'Tổng quan kiểm soát truy cập 16
2.2.1 Kiểm soát truy cập dựa trên vai trò (Role base access control) 17
2.2.2 Kiêm soát truy cập dựa trên thuộc tính (Attribute access control) 19
2.3 Mã hoá dựa trên thuộc tinh 21 2.3.1 Phân loại mã hóa dựa trên thuộc tính 21
2.3.2 Các tinh năng trong mã hoá dựa trên thuộc tính 23
2.4 Mã hóa và tim kiếm dữ liệu trên ban mã 25.1 ) 24
2.4.1 Ngữ cảnh và động lực nghiên cứu 24
2.4.2 Giới thiệu về tìm kiếm trên dữ liệu mã 25 2.4.3 Kiến trúc cơ bản 26 2.4.4 Các yêu cầu bảo mật 29
2.4.5 Hướng nghiên cứu 30
2.5 Nền tảng toán học ¬ _ _ — — — _ 31
2.5.1 Ánh xa song tuyến tính trong mật mã 31
2.5.2 Elliptic Curve Cryptography (ECC) 33
2.5.3 Cấu trúc kiểm soát truy cập 34 2.5.4 Lược dé chia sẻ bí mật tuyến tính (LSSS) 34 2.5.5 Cấu trúc dữ liệu Bloom Filter 35
2.5.6 Locality-sensitive Hasing_ _ _ 36
2.5.7 Locality-sensitive Hasing dựa trên phân phối p — stable 37
Trang 62.5.8 Thuật toán Stemming 38
2.5.9 Truy vấn an toàn sử dụng K-nearest neighbor trên dữ liệu mã hóa 38
CHUONG3 MÃ HÓA VÀ KIEM SOÁT TRUY CẬP DỰA TREN THUỘC TÍNH 42
3.1 Lược đồ ABE đa ủy quyền hỗ trợ truy cập dựa trên thuộc tính và thu hồi khoá _ _— 42
3.2 Lược đồ ABE Scheme hỗ trợ tính toán hiệu quả _
3.3 Thử nghiệm các lược đồ và đánh gif _ 54
3.3.1 Môi trường thực nghiệm 54
3.3.2 Thực nghiệm va kết quả 55 CHUONG 4 MÃ HÓA VA TÌM KIEM TREN DU LIEUMA _ 59
4.1 Một số kiến thức nền liên quan 59
4.2 Lược đồ tìm kiếm nhiều từ khóa gần đúng hiệu quả trên dữ liệu lưu trữ bên ngoài được mã hóa
với việc cải thiện độ chính xác của Z.Fu et al.19 s9
4.2.1 Tổng quan lược đồ 59 4.2.2 Mô hình hệ thống 59 4.2.3 Các bước chính của lược đồ 60 4.2.4 Khởi tạo hệ thống 63
4.43 Lược đồ tìm kiếm nhiều từ khóa gần đúng dựa trên kí tự thay thế sử dụng tích vô hướng số
nguyên tố của Q.Liu !! 65
4.3.1 Tổng quan lược đồ 65 4.3.2 Mô hình hệ thống 66 4.3.3 Các thuật toán chính trong lược đồ 67 4.3.4 Khởi tạo hệ thống 74
44 Thir nghiệm các lược đồ 78
4.4.1 Môi trường thực nghiệm 78
4.4.2 _ Thực nghiệm và kết quả 79 CHƯƠNG 5 TRIÊN KHAI UNG DỤNG VÀ ĐÁNH GIÁ 83
5.1 Ngữ cánh và các bên liên quane - — — — _83
Trang 7Môi trường triénkhai 777777777777 %
Mô tả cơ sở dữ liệu NoSQL 96
Mô tả chính sách truy cập 101
Các thư viện hỗ trợ 105
Kết quá triển khai —e ¬ 106
Thiết lập hệ thông 106 Chủ dữ liệu mã hóa dữ liệu chia sẻ có hỗ trợ tìm kiếm 108
Xác thực người dùng 112
"Thực hiện tìm kiếm dữ liệu trên bản mã 113
Người dùng giải mã tập dữ liệu được mã hóa theo chính sách 114
Đánh giá kết quả _ "5 Ô 118
Trang 8PHỤ LỤC HÌNH ẢNH
HÌNH 1-1: CAC BEN LIEN QUAN VÀ CÁC NGUY CƠ CÓ THE DEN VỚI DOANH NGHIỆP
HÌNH 2-1: KIEM SOÁT TRUY CẬP DUA TREN THUOC TINH
HINH 2-2: MÔ HÌNH CP-ABE
HINH 2-3: MÔ HÌNH TÌM KIEM DỮ LIỆU TREN BẢN MÃ.
HÌNH 2-4: CÁC THUẬT TOÁN TÓNG QUÁT LƯỢC ĐỎ SE
HÌNH 2-5 PHAN LOẠI CÁC LƯỢC DO TÌM KIEM TREN DỮ LIỆU MA"! 30
HINH 2-6 DUONG CONG ELIPTIC.
HINH 3-1 : MÔ HÌNH HE THONG DAC-MACS
HÌNH 3-2 : THỜI GIAN KHOI TẠO
HÌNH 3-3: THỜI GIAN SINH KHOA NGƯỜI DUNG
HÌNH 3-4: KÍCH THƯỚC KHOA NGƯỜI DÙNG
HÌNH 3-5: THỜI GIAN MÃ HOA
HÌNH 3-6: KÍCH THƯỚC BAN MÃ
HINH 3-7: THỜI GIAN GIẢI MÃ
HÌNH 4-1 MÔ HÌNH HỆ THONG CUA LƯỢC ĐỎI!9!
Hinu 4-2 CÁC BƯỚC CHÍNH CUA LƯỢC DO!" ,
Hinu 4-3 MÔ HÌNH HE THONG CUA LƯỢC ĐỎ l16Ì,
HÌNH 4-4 VÍ DỤ CUA VECTOR MÃ HÓA INDEX
HÌNH 4-5 VÍ DỤ VECTOR SAU KHI MÃ HÓA QUERY
HÌNH 4-6 Vi DỤ TONG QUAN VE LƯỢC ĐỎ PIPE
HÌNH 4-7 KÍCH THƯỚC KEY
HINH 4-8 THỜI GIAN XÂY DỰNG INDEX TREN KÍCH THƯỚC TÀI LIEU TANG DAN
HINH 4-9 THỜI GIAN TẠO TRUY VAN DUA TREN SO LƯỢNG TU KHÓA
HÌNH 4-10 THỜI GIAN TÌM KIỀM DỰA TREN SỰ TANG DAN CUA TÀI LIỆU (MAC ĐÌNH SO LƯỢNG TRUY VAN K=Š
HÌNH 4-11 DO CHÍNH VỚI CÁC TRUY VAN TÌM KIỀM DUNG
HÌNH 4-12 Độ CHÍNH XÁC CUA TRUY VAN GAN DUNG ( VỚI SO LƯỢNG TỪ GAN DUNG F=3)
HÌNH 5-1: CAC BEN THAM GIA
HiNH 5-7: CƠ SỞ DU LIEU NHÀ CUNG CAP
HÌNH 5-8: CƠ SỞ DU LIEU BEN HO TRỢ GIAO DICH
Trang 9HINH 5-9: AZURE COSMOs DB
HINH 5-10: DỮ LIỆU CHIA SE ĐÍNH KÈM CHÍNH SÁCH TRUY CAP
HÌNH 5-11: CHỈ MỤC KHÓA
HÌNH 5-12: FRONTEND PLATFORM SERVICES CONTAINER
HÌNH 5-13: API GATEWAY FUNCTION.
HÌNH 5-14: DATA OWNER
HÌNH 5-15: DATA USER
HÌNH 5-16: DATA USER FUNCTION
HÌNH 5-17: SO SANH NOSQL VA SQL.
HÌNH 5-18: CƠ SỞ DU LIEU NHÀ CUNG CÁP
Hinu 5-19: DU LIEU DẠNG HÌNH ANH
Hinu 5-20: CƠ SỞ DU LIEU HANH CHÍNH CONG
HÌNH 5-21: CƠ SỞ DU LIEU BEN HO TRO GIAO DỊCH
HINH 5-22:MÔ HÌNH TRIEN KHAI
HINH 5-23: THAM SO TOÀN CÂU.
HÌNH 5-24: GIÁ TRI KHÓA CUA AA
HINH 5-25: KHOA THUỘC TINH CUA NGƯỜI DUNG
HINH 5-26: GIẢI PHAP MÃ HÓA
HINH 5-27: TÀI LIEU CAN ĐƯỢC MA
HINH 5-28: THEM KEY VÀO TAP DU LIỆU
HINH 5-29: MA HOA AES CAC TRUONG DU LIEU
HÌNH 5-30: CHỈ MỤC TÌM KIEM
HINH 5-31: KHÓA TÌM KIEM DANG BAN RO MA CON NGƯỜI CÓ THE ĐỌC BUG
HÌNH 5-32: KHÓA TÌM KIEM BẢN MA
Hinu 5-33: LƯU TRU KHÓA TÌM KIEM TREN BLOB STORAGE
HÌNH 5-34: NGƯỜI DUNG DANG NHẬP VA GUI THUỘC TÍNH
HINH 5-35: TOKEN TRA VE
'HÌNH 5-36: TÌM KIEM TỪ KHOA
HÌNH 5-37: KET QUA TIM KIEM TRA VE.
HÌNH 5-38: NGƯỜI DUNG YÊU CAU TAI LIEU
HÌNH 5-39: DU LIEU TRA VE CHO NGƯỜI DUNG
Hinu 5-40: DU LIEU BAN MA ĐƯỢC LƯU TREN MAY NGƯỜI DUN
HINH 5-41: NGƯỜI DUNG GIẢI MA DU LIEU BANG KHOA THUỘC TÍNH
HÌNH 5-42: KET QUA TRA VE BAN RO DUOC LƯU TREN MAY NGƯỜI DUNG HINH 5-43: BAN RO SỬ DUNG KHOA CUA NGƯỜI DUNG TRUNG
Trang 10HINH 5-44: BAN RO SỬ DỤNG KHÓA NGƯỜI DUNG TRUNG „117
Trang 11PHU LUC BANG
BANG 5-1 TAT CẢ THUỘC TINH Ở PHÍA NHÀ CUNG CÁP 101 BANG 5-2 CHI TIẾT CÁC THUỘC TINH PHÍA NHÀ CUNG CÁP 102 BANG 5-3 TAT CẢ THUỘC TÍNH Ở PHÍA DỊCH VỤ HANH CHÍNH CÔNG 102 BANG 5-4 CHI TIẾT CÁC THUỘC TINH PHÍA HANH CHÍNH CONG .102 BANG 5-5 TAT CẢ THUỘC TÍNH Ở PHÍA DỊCH VỤ HO TRỢ GIAO DICH 103 BANG 5-6 CHI TIẾT CÁC THUỘC TÍNH PHÍA HO TRỢ GIAO DỊCH 103 BANG 5-7 CHÍNH SÁCH TRUY CAP CHO NHÀ CUNG CAP .103
BANG 5-8 CHÍNH SÁCH TRUY CAP HANH CHÍNH CONG 104
BANG 5-9CHÍNH SÁCH TRUY CẬP CHO BEN HO TRỢ 104
BANG 5-10 BANG CÁC THUỘC TÍNH NGƯỜI DUNG 105
Trang 12DANH MỤC TU VIET TAT
AA - Attribute Authority: Cơ quan chứng thực thuộc tinh
ABAC - Attribute-Based Access Control: Kiểm soát truy cập dựa trên thuộc tính.
ABE - Attribute-Based Encryption: Mã hóa dựa trên thuộc tính
ACL - Access Control List: Danh sách điều khiển truy cập
CA - Central Authority: Cơ quan chứng thực trung tâm
CP-ABE - Cipher Text Policy Attribute-based Encryption: Mã hóa thuộc tính dựa trên chính sách mã hóa CSP - Cloud Services Provider: Nhà cung cấp dịch vụ điện toán đám mây
DAC-MACS - Data Access Controll for Multi-Authority Cloud Storage: Tên viết tắt cho lược đờ””
DO - Data Owner: Chủ sở hữu dữ liệu
DU - Data User: Người dùng dữ liệu
ECC - Elliptic Curve Cryptography: Tên gọi một kỹ thuật mã hóa dữ liệu
FAME - :Lược đề ABE Scheme hỗ trợ tính toán hiệu quả
INDEX - Search Index: Chỉ mục tìm kiếm
TP - Internet Protocol: giao thức intemet
KNN - K-nearest neighbor: Bài toán các k hàng xóm gần nhát
KP-ABE - Key Policy Attribute-based Encryption: Mã hóa thuộc tính dựa trên chính sách khóa
LSH - Locality-sensitive Hasing: Kỹ thuật băm xác suất
MSK - Master Secret Key: Khóa chủ hệ thống
PIPE - Prime Inner Product Encryption: Viết tắt lược đò "4
PIPEo - Basic PIPE scheme: Lược đồ cơ bản của PIPE
PIPEs - Advance PIPE scheme: Lược đề nâng cao của PIPE
RBAC - Role-Based Access Control: Kiểm soát truy cập dựa trên vai trò
SE - Searchable Encryption: Tìm kiếm trên bản mã
SP - System Parameter: Tham số hệ thống
TIFS - Toward Efficient Multi-Keyword Fuzzy Search: Viết tắt cho lược đỏ !!"!
Trang 13tính toán động, tiết kiệm chỉ phí đầu tư, nhanh chóng tiện lợi Với nhu cầu ngày càng
tăng lên trong hiện nay nhất là trong tình hình dịch bệnh các doanh nghiệp thường xu hướng “số hoá”, đưa các dữ liệu lên các môi trường đám mây dé dé dang quản lí và truy
cập từ xa Những dữ liệu được lưu trữ mang tính chất từ không quan trọng, đến tối mật (thông tin kinh doanh, thông tin cá nhân người dùng, hồ sơ doanh nghiệp, ) Việc sử
dụng những bên lưu trữ thứ ba không tin cậy làm mắt khả năng kiểm soát chặt chẽ của người ding cũng như không thé đảm bảo được tính toàn ven và bảo mật cho dữ liệu Bên
cạnh đó, cơ sở hạ tầng đám mây cũng có một số lỗi phát sinh như: khả năng tương thích
cấu hình, các cuộc tấn công có thể làm dữ liệu của người dùng bị rò rĩ Do vậy việc mã hoá trước khi gửi dữ liệu lên các nền tảng đám mây hiện này là một giải pháp hiệu quả
để giải quyết vấn đề này.
Với các loại mã hoá truyền thống như mã hoá đối xứng, mã hoá bat đối xứng tuy
đáp ứng được về khả năng mã hoá nhưng lại thiếu đi khả năng kiểm soát truy cập trên
dữ liệu Mã hoá dự trên thuộc tính (Attribute-Based Encryption — ABE) là một kĩ thuật
mã hoá ra được dé giải quyết trường hợp này ABE được phát triển dựa theo hướng kiểm
soát truy cập dựa trên vai trò (Role-Based Access Control — RBAC) Người dùng phải
có những thuộc tính thoả mã được với chính sách truy cập mới có quyền đọc được tài liệu mã hoá Tuy nhiên ABE gặp phải một số thách thức như chỉ phí tính toán của việc tạo khoá, mã hoá, giải mã, khả năng quản lí các chính sách truy cập Đã có nhiều cuộc nghiên cứu về các khía cạnh nay và nhiều tác giả đã được ra các giải pháp dé cải thiện, tăng cường hiệu quả cho ABE như lược đồ ABE với khả năng thu hồi khoá, lược đồ
Trang 14ABE sử dụng nhiều bên chứng thực (Multi Authorization), lược đồ ABE hỗ trợ khả năng
tính toán hiệu quả.
Bên cạnh khả năng kiểm soát truy cập, việc tìm kiếm trên bản mã cũng là một thách
thức lớn trong vấn đề mã hoá dữ liệu Đối với bản rõ người dùng chỉ cần gửi các truy vân đến máy chủ để lấy tài liệu, sau đó máy chủ sẽ trả về kết quả tìm kiếm cho người
dùng Nhưng sau khi mã hoá, dữ liệu đã trở thành dạng mã đo đó việc tìm kiếm gây khó khăn và tốn nhiều chi phi Mã hoá có thé tìm kiếm (Searchable Encryption — SE) ra đời
để giải quyết vấn đề này SE cho phép lưu dữ liệu được mã hoá trên máy chủ đám mây
từ nhà cung cấp dịch vụ bên thứ ba không đán tin cậy, trong khi vẫn đảm bảo người dùng
có thể tìm kiếm trực tiếp trên ban mã một cách an toàn, chính xác Nhiều bài báo dé
nghiên cứu về vấn đề này và cho ra các lược đồ nhằm cải thiện tăng tính hiệu quả cho Searchable Encyrption như lược đồ hỗ trợ khả năng tìm kiếm gắn đúng, lược đồ hỗ trợ
tìm kiếm nhiều từ khoá.
Trong Khóa luận tốt nghiệp này, nhóm sẽ thực hiện tìm hiểu và nghiên cứu các cơ
sở lý thuyết, các kiến thức toán học liên qua và các hướng tiếp cận hiện nay ở Chương
2 Đồng thời trình bày các lược đồ mà nhóm tìm hiểu và đánh giá tính hiệu quả của các
lược đồ mã hóa dựa trên thuộc tính ở Chương 3 và các lược đồ tìm kiếm trên dữ liệu mã
ở Chương 4 Dựa vào cơ sở lý thuyết và các đánh giá trong quá trình triển khai lại các
lược đồ, Chương 5 nhóm sẽ đề xuất mô hình sử dụng lược đồ kiểm soát truy cập
DAC-MACS”! và lược đồ tìm kiếm trên dữ liệu mã PIPE!) trên hệ quản lý cơ sở dữ liệu NoSQL có sử dụng các dịch vụ dam mây cung cấp bởi Microsoft Azure, trong môi
trường doanh nghiệp kinh doanh bất động sản và đánh giá tính hiệu quả của thực nghiệm
để rồi đưa ra kết luận và hướng phát triển ở Chương 6.
10
Trang 15CHƯƠNG 1 MỞ ĐẦU
11 Ngữcảnh
Ngày nay hệ thống phân tán (Distributed System) ngày càng được ứng dụng rộng rãi trong nhiều khía cạnh như khả năng lưu trữ nhờ vào bên thứ ba không tin cậy (Untrusted-third party storage) Một ví dụ điển hình là điện toán đám mây (Cloud Computing) với tiềm năng đang được khai thác đáng kể trong việc cung cấp tài nguyên tính toán động, tiết kiệm chỉ phí đầu tư, nhanh chóng tiện lợi Với nhu cầu ngày càng tăng lên trong hiện nay nhất là trong tình hình dịch bệnh các doanh nghiệp thường xu
hướng “số hoá”, đưa các dữ liệu lên các môi trường đám mây để dễ dàng quản lí và truy cập từ xa Những dữ liệu được lưu trữ mang tính chất từ không quan trọng, đến tối mật
(thông tin kinh doanh, thông tin cá nhân người dùng, hồ sơ doanh nghiệp ) Việc sử dụng những bên lưu trữ thứ ba không tin cậy làm mắt khả năng kiểm soát chặt chẽ của
người dùng cũng như không thể đảm bảo được tính toàn vẹn và bảo mật cho dữ liệu Bên
cạnh đó, cơ sở hạ tầng đám mây cũng có một số lỗi phát sinh như: khả năng tương thích cấu hình, các cuộc tấn công có thể làm dữ liệu của người dùng bi rò ri Do vậy việc mã
hoá trước khi gửi dữ liệu lên các nền tang đám mây hiện này là một giải pháp hiệu qua
để giải quyết van dé này.
Với các loại mã hoá truyền thông như mã hoá đối xứng, mã hoá bat đối xứng tuy đáp ứng được về khả năng mã hoá nhưng lại thiếu đi khả năng kiểm soát truy cập trên
dữ liệu Mã hoá dự trên thuộc tính (Attribute-Based Encryption — ABE) là một kĩ thuật
mã hoá ra được dé giải quyết trường hợp này ABE được phát triển dựa theo hướng kiểm
soát truy cập dựa trên vai trò (Role-Based Access Control - RBAC) Người dùng phải
có những thuộc tính thoả mã được với chính sách truy cập mới có quyền đọc được tài
liệu mã hoá Tuy nhiên ABE gặp phải một số thách thức như chỉ phí tính toán của việc tạo khoá, mã hoá, giải mã, khả năng quản lí các chính sách truy cập Đã có nhiều cuộc
nghiên cứu về các khía cạnh này và nhiều tác giả đã được ra các giải pháp để cải thiện,
11
Trang 16tăng cường hiệu quả cho ABE như lược đồ ABE với khả năng thu hồi khoá, lược đồ
ABE sử dụng nhiều bên chứng thực (Multi Authorization), lược dé ABE hỗ trợ khả năng
tính toán hiệu quả.
Bên cạnh khả năng kiểm soát truy cập, việc tìm kiếm trên bản mã cũng là một thách thức lớn trong van đề mã hoá dữ liệu Đối với bản rõ người dùng chỉ cần gửi các truy
vấn đến máy chủ đề lấy tài liệu, sau đó máy chủ sẽ trả về kết quả tìm kiếm cho người dùng Nhưng sau khi mã hoá, dữ liệu đã trở thành dạng mã đo đó việc tìm kiếm gây khó khăn và tốn nhiều chỉ phí Mã hoá có thé tìm kiếm (Searchable Encryption — SE) ra đời
để giải quyết vấn đề này SE cho phép lưu dữ liệu được mã hoá trên máy chủ đám mây
từ nhà cung cấp dịch vụ bên thứ ba không đán tin cậy, trong khi vẫn đảm bảo người dùng
có thể tìm kiếm trực tiếp trên bản mã một cách an toàn, chính xác Nhiều bài báo để nghiên cứu về vấn đề này và cho ra các lược đồ nhằm cải thiện tăng tính hiệu quả cho
Searchable Encyrption như lược đồ hỗ trợ khả năng tìm kiếm gắn đúng, lược đồ hỗ trợ tìm kiếm nhiều từ khoá.
Trong Khóa luận tốt nghiệp này, nhóm nghiên cứu một số lược đồ cải tiễn nhằm tang cường tính bảo mật và tính hiệu quả của các lược đồ mã hóa dựa trên thuộc tính và
các lược đỗ tìm kiếm trên dữ liệu mã Qua đó, nhóm sẽ triển khai thực nghiệm vào mô
hình có sử dụng hệ quản lý cơ sở dữ liệu NoSQL trong môi trường doanh nghiệp kinh
doanh bất động sản và đánh giá tính hiệu quả của thực nghiệm trên hệ quản lý đó.
1.2 Cac bên liên quan
Đối với một hệ thống sẽ có các bên liên quan chính :
e Bên lữu trữ thứ ba (Tin cậy nhưng tò mò — Trust but curious): Với bên lưu
trữ thứ 3 này thông thường có thể nhà cấp cấp dịch vụ đám mây ( Azure, Google, ) hoặc một bên thứ 3 chuyên lưu trữ (Rental hosting) thường có những đặc điểm:
o Lưu trữ dữ liệu
12
Trang 17o Thực hiện yêu cầu từ chủ sở hữu dữ liệu và người dùng dữ liệu
o_ Có thể td mò làm rò ri hoặc sử dụng trái phép dữ liệu
e Chủ sở hữu dữ liệu (Data Owner — DO) có các đặc điểm:
o Sở hữu dữ liệu
o Chia sẽ dữ liệu sử dụng bên lưu trữ thứ 3 o_ Không quản lí danh sách người sử dụng
e Nguoi dùng dữ liệu (Data User — DU) có các đặc điểm:
o_ Truy cập và giải mã dữ liệu được chia sẻ Nếu sỡ hữu các thuộc tính
thoả mãn chính sách truy cập theo bản mã thì người dùng có thé giải
mã được dữ liệu
o Các người dùng không thé thông đồng (kết hợp thuộc tính của nhiều
người) dé truy cập dữ liệu.
e Các nguy cơ có thể xảy ra với hệ thống (Threat Model):
o_ Mối nguy cơ đến từ bên lưu trữ thứ 3 không tin cậy:
Mặc dù các bên lưu trữ thứ ba hỗ trỡ nhiều tính năng mạnh mẽ như: khả năng mở
rộng hệ thống, tốc độ tính toán nhanh, tận dụng hệ sinh thái của các nhà cung cấp dịch
vụ (Microsoft Office và Activate Directory của Microsoft, ) Tuy vậy vẫn có nhiều mối nguy cơ đến từ các dịch vụ lưu trữ của bên thứ ba như:
e Không có sự kiểm soát về dữ liệu: Việc lưu trữ dữ liệu ở một nơi không
phải trong doanh nghiệp khiến việc chủ động kiểm soát dữ liệu không được đảm
bảo.
e = Rò rỉ dữ liệu: Dữ liệu được lưu trên các bên thứ ba có nguy cơ bị rò rỉ từ
các cuộc tấn công nhằm vào các nhà cung cấp, hoặc chính nhà cung cấp cũng là một đối tượng có thể truy cập được dữ liệu tổ chức.
13
Trang 18e Bịnghelén: Việc truy xuất, tải xuống các dữ liệu nằm trên dam mây thông
thường đều thông qua Internet, do đó việc bị nghe lén hoặc đánh cắp thông tin là
vấn đề cần đượ chú ý.
Giải pháp: Cách tốt nhất dé tránh những rủi ro trên là đảm bảo rằng dữ liệu của
doanh nghiệp đã được mã hóa khi lưu trữ cũng như khi truyền tải trên các bên thứ ba
không tin cậy.
Ngoài các mối nguy hiểm tử bên lưu trữ ra, hệ thống còn có thể gặp phải những
nguy cơ khác như:
e _ Các mối nguy hiểm bên trong hệ thống
e _ Các mối nguy hiểm bên ngoài hệ thống
e Các mối nguy hiểm thông đồng bên trong lẫn bên ngoài hệ thống
‘Cloud service Threats
(Untrusted
Third-party)
Note
Normal Int Uploading, Se
® @ Dê baitg
aa [T\ Harm Interact:
Exploit, Impersonation Data Owner DataUser
Hình 1-1: Các bên liên quan và các nguy cơ có thể đến với doanh nghiệp
14
Trang 19Một số rủi ro khác: Can thiệp vào quá trình truyền dữ liệu lưu trữ, giả danh các bên
liên quan, can thiệp vào quá trình lưu trữ trên cloud, giả danh làm người dùng để làm giả
giấy phép, giả danh làm các bên chứng thực dé tạo khoá giả, giả danh làm chủ sỡ hữu
dữ liệu đề tạo các tài liệu có thể làm lộ các cấu trúc mẫu tìm kiếm.
1.3 Dé tài nghiên cứu
Để giải quyết những van đề còn gặp phải và các thử thách trong quá trình mã hóa
để tài nghiên cứu của nhóm tập trung vào
e Tìm hiểu về các lược đồ mã hóa dựa trên thuộc tính và lược đồ tìm kiếm
trên dữ liệu mã từ đó so sánh tính hiệu quả và tính bảo mật của các lược đồ.
e _ Triển khai thực nghiệm, đánh giá tính hiệu quả của các lược đồ.
15
Trang 20CHƯƠNG 2 CÁC KIEN THỨC NEN TANG
2.1 Mục tiêu đề tài
Trong đồ án khóa luận này mục tiêu chính mà nhóm nghiên cứu bao gồm:
e Nghiên cứu về việc lưu trữ dữ liệu được mã hóa trên môi trường máy chủ đám mây Qua đó tìm hiểu và so sánh các lược đồ mã hoá dựa trên thuộc tính cùng
với các tính năng như hỗ trợ thu hồi khoá thuộc tính, thu hồi người sử dụng, mã hóa dựa trên thuộc tính với hiệu suất cao.
e Tìm hiểu và so sánh các lược đồ tìm kiếm trên dữ liệu đã được mã hoá hỗ
trợ tìm kiếm gần đúng, hỗ trợ tìm kiếm nhiều từ khoá.
e Triển khai thực nghiệm và đánh giá trên môi trường sử dụng cơ sở dữ liệu
NoSQL có sử dụng các dịch vụ dam mây cung cấp bởi Microsoft Azure.
2.2 Tổng quan kiểm soát truy cập
Kiểm soát truy cập là van dé quan trọng và không thé thiếu trong bat cứ hệ thống
nào Trong lĩnh vực công nghệ thông tin hiện đại, kiểm soát truy cập là khả năng của hệ thống dé xác định xem người dùng có thể truy cập vào dữ liệu cụ thé được lưu giữ trong
hệ thống máy tính và môi trường hoạt động của nó hay không Thông qua cơ chế xác thực, phân quyền, các chính sách kiểm soát truy cập dam bảo người dùng phải có quyền
thích hợp đề truy cập và cơ sở dữ liệu doanh nghiệp Các chính sách kiêm soát truy cập cũng có thê áp dụng vào đề hạn chế truy cập trong các khu vực vật lý như khuân viên,
tòa nhà, văn phòng hoặc trung tâm lưu trữ - DataCenter Một hệ thống kiểm soát truy
cập nhất thiết phải tương tác với môi trường mà hệ thống máy tính đang hoạt động.!”51
Kiểm soát truy cập xác minh danh tính người dùng bằng cách xác minh các thông
tin đăng nhập khác nhau bao gồm tên đăng nhập, mật khẩu, mã pin, quét trắc sinh học,
mã thông báo bảo mật.Nhiều hệ thống kiểm soát truy cập sử dụng cơ chế đa xác thực,
16
Trang 21một phương pháp yêu cầu nhiều bước xác thực đề xác minh danh tính người dùng Sau
khi người dùng được xác thực, hệ thống kiểm soát truy cập sẽ phân quyển truy cập thích
hợp và cho phép các hành động liên quan đến thông tin đăng nhập hoặc IP của người
dùng đó.
Kiểm soát truy cập giữ những thông tin quan trọng như dữ liệu khách hàng, danh
tính cá nhân, tài sản trí tuệ không rơi vào tay kẻ xấu Đây là một thành phần quan trọng
cua mô hình bảo mật không tin cậy (zero trust security framework) trong đó sử dung
nhiều cơ chế khác nhau dé liên tục xác minh quyền truy cập vào mạng công ty Nếu tổ chức không áp dụng những chính sách kiểm soát truy cập chặt chẽ, tổ chức sẽ bị rò ri dữ
liệu từ cả bên trong và bên ngoài.
Kiểm soát truy cập đặc biệt hiệu quả đối với tổ chức sử dụng điện toán đám mây,
trong đó tài nguyên, dữ liệu, ứng dụng được đặt trên cả cơ sở và trên môi trường đám
mây Kiểm soát truy cập có thể cung cấp cho các môi trường này các phương pháp bảo
mật mạnh mẽ hơn như đăng nhập một lần (Single sign-on) và ngăn chặn các thiết bị đăng
nhập trái phép từ bên ngoài.
2.2.1 Kiểm soát truy cập dựa trên vai trò (Role base access control)
Kiểm soát truy cập dựa trên vai trò (Role Based Access Control - RBAC) hạn chế truy cập dựa trên vai trò của người dùng trong tổ chức, đây thường là một trong những
phương pháp kiểm soát truy cập chính Vai trò trong RBAC đề cập đến mức độ truy cập
của người dùng trong mạng của doanh nghiệp.
Người dùng chỉ được truy cập các thông tin cần thiết, phù hợp với công việc của
bản thân.Mức độ truy cập có thé dựa trên nhiều yếu tố như sự phân quyền, trách nhiệm
và năng lực làm việc.Ngoài ra, khả năng truy cập vào các máy tính tài nguyên cũng bị
hạn chế một số hành động cụ thể như chỉ xem, tạo mới hoặc thay đổi tệp Do đó, các
nhân viên có mức độ thấp sẽ không được truy cập vào các dữ liệu nếu nhân viên không
17
Trang 22cần nó để hoàn thành dữ liệu của mình Điều này đặc biệt hữu ích với doanh nghiệp có
nhiều nhân viên, sử dụng các bên thứ ba đề quản lí, tắt cả gây khó khăn cho việc kiểm
soát truy cập mạng Sử dụng RBAC sẽ giúp bảo mật các dữ liệu nhạy cảm và các ứng
dụng quan trọng của doanh nghiệp.
"Thông qua RBAC tổ chức có thé kiểm soát người dùng cuối ở cả về chiều rộng lẫn
khả năng kiểm soát chỉ tiết Chủ doanh nghiệp có thé chỉ định một người dùng có thé là quản trị viên, người dùng chuyên nghiệp hoặc một người dùng cuối từ đó sắp xếp các
vai trò và cấp quyền phù hợp đối với từng vị trí các nhân viên trong tổ chức Lưu ý,
quyên chỉ nên được cấp đủ quyền cần thiết dé nhân viên có thé thực hiện công việc của
họ Một số tiêu chuẩn của RBAC:
e Core RBAC: Đối với mô hình cũ cần phải lên phác thảo các nhân tổ thiết yếu cho mỗi vị trí trong mô hình kiểm soát truy cập dựa trên thuộc tính Trong khi
đó mô hình lõi RBAC hoàn toàn độc lập, từ đây nó cũng đặt nên tảng cho mô hình
phân cấp (Hierarchical RBAC) và mô hình ràng buộc (Constrained RBAC) Như vậy tat cả RBAC phải tuân thủ 3 quy tắc:
o Phân công vai trò: Một chủ thé chỉ có thể thực hiện một quyền hạn
nếu và chỉ nếu chủ thể đó đã được chọn hoặc được giao một vai trò
o Ủy quyền vai trò: Vai trò của một chủ thế phải được phân quyền.
o Ủy quyền cho phép: Chủ thế chỉ có thể thực hiện một quyền nếu
quyền đó đã được phân cho chủ thể.
e RBAC phân cấp: Nhờ vào RBAC,trong trường hợp hệ thống bị tấn công
thì vẫn tính an toàn vẫn đảm bảo được phần nào, giảm thiểu tác động xảy ra Nhờ vào sự phân cấp quyền truy cập, xác minh mã hóa đầu cuối, giám sát hệ thống
mạng trong thời gian thực từ đó giới hạn được ảnh hưởng, mực độ và phạm vi khi
hệ thống xảy ra sự cô.
18
Trang 23e RBAC ràng buộc: Tiêu chuẩn thứ 3 này của RBAC đề cập đến sự phân
tách của các nhiệm vụ trong mô hình cốt lõi Quá trình phân tách này được chia
thành 2 phần là tĩnh và động.
o_ Trong phân tách nhiệm vụ tĩnh, một người dùng không thé đồng thời
giữ hai vai trò xung đột nhau (vai trò xung đột được định nghĩa theo
tổ chức) Ví dụ, một cá nhân không thể vừa thực hiện và vừa phê
duyệt một giao dịch.
o_ Trong phân tách nhiệm vụ động, một người dùng có thé đảm nhận
được hai vai trò xung đột nhau miễn là các vai trò này không trong cùng một phiên Rang buộc này giúp kiểm soát các mối de dọa phía nội bộ Ví dụ tổ chức yêu cầu thực thi 2 hành động đối với 2 người
dùng riêng biệt nhưng cùng một phân quyền.
2.2.2 Kiểm soát truy cập dựa trên thuộc tính (Attribute access control)
Điều khiển truy cập dựa trên thuộc tính (Attribute-Based Access Control - ABAC)
là một mô hình logic điều khiển truy cập vào các đối tượng bằng cách đánh giá các quy
tắc dựa trên các thuộc tính của các đối tượng và chủ thé, các hoạt động và môi trường
liên quan đến một ngữ cảnh yêu cầu cụ thé Nó cho phép kiểm soát truy cập chính xác
hơn bằng cách cho phép số lượng lớn đầu vào rời rạc tham gia vào quá trình quyết định quyền truy cập, và do đó cung cấp một lượng lớn hơn các kết hợp có thé có của các thuộc
tính dé phản anh một chính sách lớn hơn rất nhiều so với các phương pháp khác Nó chi
bị giới hạn ngôn bởi ngôn ngữ tính toán và sự phong phú của các thuộc tính có sẵn
19
Trang 24Decision Deny
Applicable
Server Repository Indeterminate
Hình 2-1: Kiểm soát truy cập dựa trên thuộc tinh
Các quy tắc truy cập ABAC dựa trên mối quan hệ của các thuộc tính của phần tử
hoặc thuộc tính của phan tử có các giá trị cụ thé ABAC cho phép xác định quy tắc truy cập với mức độ chỉ tiết và tốt hơn nhiều so với các mô hình khác như kiểm soát truy cập
dựa trên vai trò (Role-Based Access Control - RBAC) hoặc danh sách điều khiển truy
cập (Access-Control List - ACL).
Hau hết các doanh nghiệp ngày nay đang áp dụng các giải pháp quản lý định danh nhân viên, các thông tin về bộ phận làm việc, cấp bậc, chuyên môn đều được lưu trữ
và quản lý tập trung trên các phần mềm nhân sự (hoặc các phần mềm tùy biến do doanh nghiệp thiết kế) Điều quan trọng là làm sao tận dụng được các giải pháp này đề quản lý các nhóm nhằm hiện thực ABAC.
20
Trang 252.3 Mã hoá dựa trên thuộc tính
Mã hóa dựa trên thuộc tính là sự cải tiến của mã hóa bất đối xứng, trong đó khóa
bí mật của người dùng và bản mã phụ thuộc vào các thuộc tính (Ví dụ: Các cơ quan
chính phủ quản lí các thuộc tính về công dân, các cơ quan y tế quản lí các thuộc tính về bảo hiểm xã hội ) Trong một hệ thống như vậy việc giải mã bản mã chỉ có thể được thực hiện nếu có thể tập hợp được các thuộc tính trong khóa bí mật của người dùng và
thỏa mãn các chính sách trong bản mã.
ABE có lợi thé đáng kể khi so với phương pháp mã hóa truyền thống vi khả năng
mã hóa linh hoạt một-nhiều thay vì một-một như trước đây ABE được đánh giá là một
công cụ quan trọng trong việc giải quyết các van đề về chia sẻ dữ liệu chỉ tiết và an toàn
cũng như đảm bảo kiểm soát truy cập Trong hệ thống ABE, một người dùng được định
nghĩa bởi tập các thuộc tính Trong bài nghiên cứu của Sahai và Waters, sử dụng các đặc
tính về sinh trắc học làm thuộc tính như sau: Một khóa bí mật dựa trên tập thuộc tính w
có thé giải mã một ban mã được mã hóa bằng khóa công khai w’ khi và chỉ khí w và w’
có các giá trị trùng nhau được trong ngưỡng £ Người chủ dữ liệu có thể mã hóa mã hóa
dữ liệu cho tất cả người dùng dựa trên những các chính sách ràng buộc Ví dụ: người
chủ dữ liệu muốn mã hóa một tập các dữ liệu và mong muốn chia sẻ cho những người
có nhóm máu cụ thể, đến từ một địa phương cụ thé và trong một độ tuổi cụ thể Trong
trường hợp này tập tài liệu sẽ được mã hóa như sau: “{B+”,” Karaikudi”,”Age 20-25”}.
Khi đó chỉ những khóa của những người dùng có tất cả ba thuộc tính này trong ngân
hàng máu có thé giải mã và đọc được tài liệu, trong khi những người khác không thé.
2.3.1 Phan loại mã hóa dựa trên thuộc tính
Có hai biến thé của mã hóa dựa trên thuộc tính là: Mã hóa thuộc tính dựa trên chính
sách khóa (KP-ABE) và mã hóa thuộc tính dựa trên chính sách mã hóa (CP-ABE) Trong
KP-ABE bản mã được liên kết với tập thuộc tính và khóa bí mật của người dùng sẽ liên
21
Trang 26kết với các chính sách Ngược lại đối với CP-ABE, các chính sách truy cập sẽ được
nhúng vào ban mã Chủ đề nghiên cứu của nhóm tập trung vào các lược đồ CP-ABEI2'
Trong lược đồ CP-ABE khóa bí mật của người dùng được liên kết với tập các thuộc
tính và tập bản mã sẽ chỉ định các chính sách truy cập trên một nhóm thuộc tính xác định
bên trong hệ thống Một người dùng có thể giải mã được bản mã khi vào chỉ khi thuộc
tính của người dùng thỏa mãn chính sách truy cập được định nghĩa trên bản mã Các
chính sách có thé được xác định dựa trên các thuộc tính bằng cách sử dụng các liên từ,
các phép liên kết hoặc một ngưỡng (k,n) Ví dụ k trên n thuộc tính thỏa mãn, một số
trường hợp cũng có thé là các chính sách truy cập không đơn điệu với các liên kết phủ định Giải sử tập các thuộc tính của hệ thống là /President, Alice, Seoul} User 1 có các
thuộc tính là {Bob, Staff, Seoul} User2 có các thuộc tính là (Alice, Manager, Belfort}
User3 có các thuộc tính là {Cindy, President, Seoul} Nếu một bản mã được mã hóa với
chính sách như sau {President OR (Alice AND Seoul} thì User3 có thé giải mã được
dữ liệu trong khi User1 và User2 không thé.
@œ)
Chủ dự (ano) an
Trang 27CP-ABE cho phép ủy quyền ngầm vì các ủy quyền được đưa vào dữ liệu mã hóa
và chỉ những người có các thuộc tính liên quan mới có thé giải mã được dữ liệu Một
tính năng nổi bật khác là người dùng có thé có được khóa bí mật của họ mà không quan tâm dữ liệu được mã hóa trước hay chưa Do vậy người chủ sở hữu dữ liệu cần phải nắm
danh sách những người có thể truy cập được vào tài liệu, họ chỉ kiểm soát các chính sách
cho phép giải mã Bat kì người dùng mới tham gia vào hệ thống cũng đều nhận được
khóa với các thuộc tính mà khi các thuộc tính này thỏa mãn chính sách truy cập thì có
thé giải mã được dữ liệu!
2.3.2 Các tính năng trong mã hoá dựa trên thuộc tính
Là một hệ thống mã hóa, ABE phải đáp ứng các yêu cầu về bảo mật dữ liệu Vì ABE cũng được tích hợp với kiểm soát truy cập, xác thực người dùng và thu hồi phải được thỏa mãn Đặc biệt, tất cả các hệ thống ABE phải có khả năng chống lại các cuộc
tấn công thông đồng nhằm ngăn chặn người dùng hợp tác để truy cập thông tin trái phép.
Dựa trên các điều kiện tiên quyết này, mỗi loại hệ thống ABE cung cấp các đặc điểm
khác nhau tạo nên đặc điểm của mỗi hệ thống Mot số tính năng đã được nghiên cứu và
triển khai trên các lược đồ mã hóa dựa trên thuộc tính, chang hạn như:
e _ Kiểm soát truy cập chỉ tiết: Sử dụng các biểu thức logic kết hợp với các toán tử AND và OR để xây dựng cấu trúc truy cập nhằm triển khai kiểm soát truy cập chỉ tiết.5!
e Kha năng mở rộng: Người dùng hoặc nhóm có thé tự do tham gia hoặc rời khỏi hệ thống mà không cần thiết lập lại hoặc khởi động lại toàn bộ hệ thống.
e Ủy quyền khóa: Người dùng có thé ủy quyền truy cập hoặc khóa người
khác.
e - Hiệu quả truy xuất: Khi thu hồi xảy ra, không cần phải mã hóa lại toàn
bộ hệ thống, gây tốn kém cho hệ thống.
23
Trang 28e Bao vệ quyền riêng tư: Trong một kế hoạch đa ủy quyền, nhiều cơ quan
có thấm quyền hợp tác và thu thập các thuộc tính của người dùng dé mạo danh
người đó Điều này không phù hợp với lược đồ ủy quyên tập trung, vì ủy quyền tập trung phải biết tat cả các thuộc tính mà người dùng có.!?!
e Trách nhiệm giải trình: Người dùng không cần phải hoàn toàn tin tưởng vào cơ quan có thầm quyên.!6!
2.4 Mã hóa và tìm kiếm dữ liệu trên bản mã
2.4.1 Ngữ cảnh và động lực nghiên cứu
Điện toán đám mây (Cloud computing) như đã nói ở trên đem lại khá là nhiều lợi
ích cho người sử dụng về tính tiện lợi cũng như sự đa dạng về các dịch vụ được cung cấp bởi bên thứ 3 (Cloud Service Provider) gọi tắc là CSP Mặc dù tiện lợi nhưng các
CSP thường được xem là không đáng tin cậy (Untrusted third-party) bởi tính tò mò và
có khả năng làm rò 17 dữ liệu của người dùng (“honest-but-curious”) nên dé đảm bao
tính an toàn cho các dữ liệu nhạy cảm, người dùng sẽ thực hiện mã hóa các dữ liệu ở
phía người dùng trước sử dụng các dịch vụ lưu trữ mà các CSP cung cấp gọi tắc là Cloud
Storage
Với phương pháp tìm kiếm truyền thống, khi người dùng muốn tìm kiếm tài liệu
đã được mã hóa và lưu trữ trên Cloud thì cần phải tải toàn bộ các tài liệu khác (có những
lài liệu không liên quan tới việc tìm kiếm) về phía người dùng đề thực hiện giải mã và
áp dụng các phương thức tìm kiếm truyền thống, rõ ràng nhận thấy các hình thức tìm
kiếm truyền thống này gây ảnh hướng tới trải nghiệm của người dùng, gây tốn tài nguyên
và cũng như không thực sự hiệu quả đối với phương thức lưu trữ này Từ đây dẫn tới
thách thức và động lực cho các nghiên cứu về việc tìm kiếm trên dữ liệu mã ra đời để cải thiện và khắc phục nhược điểm đó.
24
Trang 29Mặc dù các lược đồ SE cho phép người dùng truy xuất dữ liệu của quan tâm đếnmột cách bảo vệ quyền riêng tư, hầu như tat cả chúng đều xử lý và so sánh với các từkhóa chính xác Đó cũng chính là lý do mà khi một từ khóa xảy ra lỗi về chính tả sẽ tạo
ra lỗi truy van không thỏa đáng Trong nhiều trường hợp, người dùng không chắc chắn
về cách viết chính xác của một từ khóa, nhưng vẫn muốn truy xuất các tệp chính xác nhưkhả thi Do đó, tính năng hỗ trợ gần đúng đối sánh từ khóa (còn được gọi là tìm kiếmgan đúng) đặc biệt quan trọng đối với các dich vụ đám mây khi người dùng đã hạn chếkiến thức về dit liệu cơ bản mà người dùng đang tìm kiếm Vì thé trong phạm vi nghiêncứu khóa luận tốt nghiệp lần này, nhóm sẽ trình bày về các kiến thức cơ bản của mộtlược đồ tìm kiếm và sẽ chủ yếu tập trung vào việc tìm hiểu về hướng nghiên cứu của cáclược đồ có hỗ trợ tìm kiếm nhiều từ khóa (multi-keyword Search) gần đúng (Fuzzy
Search).
Trong phạm vi khóa luận tốt nghiệp này, nhóm sẽ thực hiện trình bày tóm lược cáckhái niệm, kiến trúc, thuật toán cơ bản mà hau hết các lược đồ SE cần có cũng như làcác hướng nghiên cứu hiện nay ở Chương 2 , bên cạnh đó nhóm sẽ trình bày ngắn gọn
về cơ sở toán học, thuật toán, mục tiêu của 2 lược đồ của nhóm tác giả mà nhóm đã tìmhiểu, đồng thời nhóm cũng sẽ thực hiện lại 2 lược đồ đã trình bày dé đánh giá và so sánh
2 lược đồ đã đề xuất trong Chương 4.
2.4.2 Giới thiệu về tìm kiếm trên dữ liệu mã
Dựa trên định nghĩa ở '"7!, tìm kiếm trên dữ liệu mã (Searchable Encryption) gọitắc là SE là kĩ thuật mã hóa cho phép người dùng có thê lưu trữ các dữ liệu đã được mãhóa thông qua Cloud Storage được cung cấp bởi CSP nhưng vẫn có thé thực hiện cácphương thức tìm kiếm trực tiếp ngay trên dữ liệu mã một cách an toàn và bảo mật Tronglĩnh vực nghiên cứu về SE các tác giả thường tập trung vào giải quyết các vấn đề quan
trọng của một SE như việc lộ thông tin (Information Retrieval) trong quá trình tạo các
chỉ mục tìm kiếm (Search Index), thuật toán (Search Efficiency) dé tăng hiệu suất trong
25
Trang 30quá trình tìm kiếm, và các thuật toán mã hóa (Cryptography) đề duy trì các yêu cầu về
tính riêng tư (Privacy) và tính bảo mật (Security).
2.4.3 Kiến trúc cơ bản
A — Mô hình hệ thống
Trong hệ thông có sử dung lược đồ SE sẽ có 3 thực thé chính tham gia có thé kếtới như: Chủ sở hữu tài liệu (Data Owner gọi tắt DO), Bên thứ 3 lưu trữ dữ liệu (CloudServer), người dùng được ủy quyền dé thực hiện chức năng tìm kiếm (Data User gọitắt DU)
e Data Owner — DO: Chủ sở hữu (cá nhân hoặc tổ chức) muốn lưu trữ một
tập gồm n tài liệu D = {D¡,D;, D„} thông qua Cloud Services DO có trách
nhiệm sẽ mã hóa tập tài liệu D thành tập C = { Cy, Co, C,} và tạo ra các chỉ mục
tìm kiếm I = { I, ly, [,} từ tập từ khóa W = {W, Wo, W,} (trong đó mỗi tài
liệu D; DO sé dùng @p, từ khóa W; = {W\, W¿, , W„„} để mô tả cho tài liệu đó)
L
sử dùng cho quá trình tìm kiếm Sau đó DO thực hiện gửi bản mã lên (gồm tập C
và I) cho Cloud Server dé thực hiện lưu trữ.
e Data User — DU: Người sử dụng (có thé là DO) được ủy quyền muốn tìm kiếm các tài liệu đã được DO chia sẻ và lưu trữ trên Cloud Server, DO sẽ thực hiện
gửi bản mã của các từ khóa tìm kiếm (Trapdoor) TQ; được tạo ra từ £ từ khóa W ={W,, W>, , W,} cần tìm kiến lên cho Cloud Server và nhận lại tập tài liệu phù hop
kết quả đã gửi lên từ Cloud Server Sau khi nhận được kết quả trả về từ Cloud
Server, DU sẽ giải mã dựa trên khóa được DO cung cấp
e Cloud Server: Được xem như là một bên không tin cậy (Untrusted
Third-party), Cloud Server cung cấp các tài nguyên lưu trữ các tài liệu và chỉ mục tìmkiếm đã được mã hóa của DO đồng thời cung cấp tài nguyên cho việc tính toán tìm
26
Trang 31kiếm Khi DU gửi các Trapdoor TQ; Cloud Server sẽ dựa trên các chỉ mục I được
lưu trữ dé thực hiện tính toán và trả về cho DU bản mã của các tài liệu tương ứng.
calculate search
Cloud service (Untrusted
Data Owner Data User
Hình 2-3: Mô hình tìm kiếm dữ liệu trên bản mã
Framework cơ bản
Hau hét các lược đô SE đêu bao gôm các thuật toán co bản sau:
KEYGEN: 1a thuật toán dùng dé khởi tạo hệ thống Các khóa bí mật (Secret Key)
sẽ được tạo ra phụ thuộc vào loại mã hóa của việc tạo ra các chỉ mục tìm kiếmcũng như mã hóa tài liệu Nếu sử dụng mã hóa đối xứng thì KEYGEN sẽ tạo ratập SK, ngược lại với mã hóa bất đối xứng KEYGEN sẽ tạo ra tập PK
27
Trang 322 BUILDINDEX: là thuật toán được dùng dé mã hóa các Search Index liên quan
tới tập các tài liệu mà DO mong muốn lưu trữ trên Cloud Server và thường đượcchạy bởi DO Đề thực hiện tạo ra các Search Index, DO sẽ tạo ra tập keyword W;được trích xuất ra hoặc dùng dé mô ta cho tài liệu D;, sau đó DO sẽ thông quathuật toán BUILDINDEX để tạo ra tập Search Index J và thực hiện lưu trữ trên
Cloud Server.
3 TRAPDOOR: là thuật toán được dùng dé mã hóa các từ khóa tìm kiếm (Search
Query) dựa trên SK hoặc PK nhận được từ DO và được chạy bởi DU Thông qua
thuật toán TRAPDOOR DU sẽ tạo ra trapdoor TỢ; từ tập các từ khóa W mà DU
mong muốn tìm kiếm các tài liệu có liên quan tới, và gửi lên cho Cloud Server
dé tính toán
4 SEARCH: là thuật toán được dùng dé thực hiện tính toán dựa trên Search Query
TQ; và Search Index I bởi Cloud Server với mục dich trả về các kết quả tìm kiếm
cho DU Thông qua thuật toán SEARCH, Cloud Server sẽ tạo ra tập các
document phù hợp và trả lại kết quả cho DU
Trang 332.4.4 Các yêu cầu bảo mật
Dựa trên "'7!, một lược đồ SE cần phải đảm bảo an toàn đôi với mẫu tìm kiếm
(search pattern) va mau truy cap (access pattern):
e Search pattern: là phan thông tin học được từ hai kết quả tìm kiếm đến từcác từ khóa truy vấn giống nhau Nói cách khác với các truy vấn cùng một từ khóa
thì từ việc học từ các bản mã sẽ làm lộ ra bản rõ của từ khóa đó.
e Access pattern: là tập các tài liệu được trả về từ kết quả của quá trình tìm
kiếm liên quan tới từ khóa f, Nói cách khác mỗi lần truy van từ khóa W; thì xác
định được các tài liệu trả về trả về có liên quan tới từ khóa W,.
Bên cạnh đó, các lược đô SE cũng phải đáp ứng các yêu câu bảo mật liên quan đên
các truy van tìm kiêm Dựa trên !“?Ì_ các lược đô SE cân có các đặc điêm như:
e Control searching: Cloud Server không tin cậy sẽ không thé tìm kiếm
một cách tùy ý khi chưa được người dùng xác thực.
e Query Isolation: Cloud Server không tin cậy sẽ không học được bat kìđiều gì về bản rõ của từ khóa tìm kiếm ngoại trừ bản mã của nó
e Hidden Query: Người dùng có thé Cloud Server không tin cậy dé thựchiện tìm kiếm các từ khóa bí mật nhưng không làm lộ từ khóa đó
Đối với một số lược SE linh động có các cơ chế như thêm (inserting), xóa (deleting)cập nhật (updating), !”! cũng đưa ra một số yêu cầu dé đảm bảo tính riêng tư trước
(forward privacy) và sau (backward privacy) liên quan tới các tài liệu khi thực hiện các
cơ chế trên.
e Backward Privacy: Dam bảo không thé tìm ra các tài liệu liên quan tới từkhóa tìm kiếm nếu đã bị xóa trước đó
e Forward Privacy: Dam bảo không liên kết với các truy van trước đó khi
thêm, xóa hoặc cập nhật.
29
Trang 342.4.5 Hướng nghiên cứu
A Phan loai
Dựa trên khảo sát !""!, tác giả đã phân loại các lược đồ SE dựa trên sự đa dang vềngười sử dụng, các dạng Index, các dạng Search, kết quả trả về, các kĩ thuật tìm kiếm, được liệt kê theo như Hình 2-5 Đồng thời trong phạm vi môn học Đồ án chuyên ngànhnhóm cũng đã liệt kê và so sánh ngắn gọn về định nghĩa cũng như là sự khác nhau về
các phân loại trên đê biệt thêm chi tiệt có thê tìm va doc lại tài liệu của nhóm.
| 1 Index vs 1 Lacal vs 1 Boolean vs 1 Software vs 1 PRF & PRG
1 Single-user ws Document Searching ‘Cloud Index Ranked results 7 Hardware
Multiuser 2 Deterministic
2 Single-keyword vs 2 Plain-text ws Encryption
2 Single-CSP vs Multikeyword Enerypted Index
a Multi-CSP 3 Probabilistic
3 Trapdoor vs 3 Forward vs public-key
3 Single -DO vs Trapdoor-less Inverted Index encryption
Multi-DO Le
4 Public-key vs 4 Keyword 4 Hash function
Private-key Field—free
vs Non-Keyword 5 Inner product
5 Exact vs Field—free similarity
Approximate me
6 Conjunctive vs Disjunctive
5 Static vs Dynamic 6 Bilinear maps
7 Private set intersection
8 Homomorphic Encryption
9 Multiparty Computation
10 Oblivious RAM
Hình 2-5 Phân loại các lược đồ tim kiếm trên dữ liệu mal!!!
30
Trang 35B Một số nghiên cứu gần đây
Trong những năm gần đâu, rất nhiều tác giả và bài báo được ra đời, như lược đồ
SE được trình bày bởi Song et al 20! đã đưa ra nô lực đầu về việc tìm kiếm trên dit liệu
mã va cũng đã đưa ra các yêu cầu bảo mật nền tảng cho các lược đồ SE về sau, rồi đếnmột số cải tiến của đến từ Wang et al !?!, Curtmola et al !8Ì, và các lược đồ khác nhưng các lược đồ này chỉ đều hỗ trợ tìm kiếm một từ khóa (Single Keyword)
Dé cải thiện trải nghiệm tìm kiếm, các lược dé tìm kiếm nhiều từ khóa đã được đưa
ra như lược đồ của Cao et al ®! nhằm bảo vệ quyền riêng tư có hỗ trợ tìm kiếm nhiều từkhóa với việc trả về kết quả dựa trên xếp hạng, Li et al !!“l hỗ trợ tìm kiếm nhiều từ khóa
sử dụng kĩ thuật phân loại từ điển phụ dé tăng hiệu qua cho việc tao index va trapdoor.Bên cạnh đó một số lược đồ khác có sử dụng các kĩ thuật tìm kiếm gần đúng có thé kếđến như Li et al 5! đã sử dụng khoản cách dé giải quyết việc xử lý các từ khóa gầnđúng, hoặc như lược đồ của Kuzu et al H3! đã áp dụng kĩ thuật minhash dựa trên khoản
cách Jaccard dé giải quyết việc tìm kiếm các từ khóa có khả năng chịu lỗi đánh van.
Bên cạnh đó còn rất nhiều các lược đồ của nhiều nhóm tác giả đã nghiên cứu vềviệc tìm kiếm nhiều từ khóa gần đúng trên dữ liệu mã Trong phạm vi nghiên cứu, nhóm
sẽ trình bày lại 2 lược đồ đến từ nhóm tác giả Q Liu et al Í!%l và Z.Fu et al 1Ì dé sosánh và đánh giá cũng như chọn lược đồ l!°! để có thể triển khai vào ứng dụng thực tiền
ở Chương 5.
2.5 Nền tang toán học
2.5.1 Ánh xạ song tuyến tính trong mật mã
Sau khi Shamir phát minh ra hệ thống IBE vào năm 1985, việc tạo ra khóa của hệ
thống IBE vẫn là một vấn đề khó khăn Bài báo chỉ ra rằng không có hệ thống mật mã
hiện có nào, bao gồm cả giao thức RSA và DiffieHellman có thể dễ dàng chuyên đổi
thành hệ thống IBE Mặc dù một số phương pháp tiếp cận mới đã được đề xuất, các van
31
Trang 36đề thực tế đặc biệt là các yêu cầu về tính toán vẫn là một điềm hạn chế đáng kế Mộtbước đột phá đã xảy ra vào năm 2001 khi ánh xạ song tuyến được phát hiện So với cácphương pháp tiếp cận trước đó, ánh xạ song tuyến hiệu quả trong việc tạo khóa (theo
thời gian đa thức), chính xác và an toàn.
Cho G, , Gz va Grp là các nhóm nhân tuần hoàn bậc nguyên tổ p Cho g; va gz là
các phan tử sinh của G,va G2, hàm ánh xae:G, x đ; > Gp được gọi là ánh xạ song
tuyên tính và có những đặc điêm
4 Song tuyến tính: Với a, b € Z„, ta có e(g#, g#) = e(g;, g;)“?.G1 và G2được gọi là nhóm nguồn, Œ; là nhóm dich
5 Không thoái hóa: Nếu g, và g> là các phần tử sinh của G, va G; thì
€(91 g;) là phan tử sinh của Gr
6 Tinh hiệu quả: Khi cho g¡ € G¡ va gz € G; có thé dé dang tính toán một
cách hiệu quả e(g; , Ø2).
Ánh xạ song tuyến đáp ứng ba đặc tính này được sử dụng trong các hệ thống IBE
và ABE Thông thường, G, và G, là các đường cong elliptic được xác định trên trường
hữu hạn F,, và Gr nằm trên trường hữu hạn Dựa vào mối quan hệ giữa G, và G2, người
ta chia ánh xạ song tuyến tính làm ba loại
1 Loại 1: G, = G,
2 Loại 2: G, # Gp
(nhưng có một phép đồng cau có thé tính toán hiệu quả @ : đ; — G,)
3 Loại 3: G, # G,
(nhưng có một phép đồng cấu có thé tính toán hiệu quả @ : đ; — G,)
Loại 3 phù hợp hơn nhiều trong ứng dụng thực tế vì nó có thể cung cấp hiệu suất
tốt hơn và tính linh hoạt hơn so với các loại khác ở cùng mức độ bảo mật Ánh xạ tuyến
tính Loại 2 là khi có sự đồng cấu có thê tính toán hiệu quả từ G2 đến G1 và không có sự
32
Trang 37đồng cấu có thể tính toán hiệu quả từ G1 đến G2 Sự phân biệt thành các loại này có liênquan đến việc thiết kế các lược đồ mật mã.
2.5.2 Elliptic Curve Cryptography (ECC)
Elliptic Curve Cryptography (ECC) là một kỹ thuật dựa trên khóa dé mã hóa dữliệu ECC tập trung vào các cặp khóa công khai và riêng tư để giải mã và mã hóa lưu
lượng truy cập web.
ECC được cho là kỹ thuật mã hóa thay thế cho RSA, một cách mã hóa tối ưu
vafbaro mật ECC tạo ra tính bảo mật giũa các cặp khóa trong mã hóa công khai ( mã
hóa bất đối xứng ) bằng cách áp dụng tính chất toán học của các đường cong elip
RSA cũng sử dụng các tính chất của các số nguyên tố thay vì đường cong elip,
nhưng ECC dan trở nên ngày càng phô biến gần đây hơn với kích thước khóa nhỏ hon
và khả năng bảo mật tốt hơn Những xu hướng này sẽ dần tăng khi nhu cầu về bảo mậttrên các thiết bị ngày càng tăng kéo theo việc kích thước khóa ngày càng lớn, ảnh hướngđến tài nguyên lưu trữ trên thiết bị
ở
Y TH tavsrb
Hinh 2-6 Duong cong Eliptic
33
Trang 38Trái ngược với RSA, ECC tiếp cận hệ thống mã hóa công khai dựa trên việc cau trúc
đường cong eliptic trên các trường hữu hạn Vì vậy ECC tao ra các khóa khó bị giải mã
hơn về mặt toán học Với những lí do này ECC được xem là thế hệ tiếp theo của việc mã
hóa công khai.
Một đường cong Eplitic cho cho việc ứng dụng ECC là một đường cong phăng trênmột trường hữu hạn được cấu thành từ các điểm thỏa mã phương trình:
yr=x? + ax + b.
Tinh bảo mật của ECC dựa trên độ phức tạp của bài toán Logarit rời rac trên đường
cong Elliptic Hiện chưa thuật toán nào có khả năng tính toán với thời gian nhỏ hơn cấp
lũy thừa.
2.5.3 Cấu trúc kiểm soát truy cập
Tập {P\, P;„ - -,Pn} được biểu thị là tập các thuộc tính toàn cầu Xét tập A C
2tPuPz-¬.P") là tập đơn điệu VB, C : nếu B € A, B SC thì C € A Một cấu trúc truy cập
là một tập A ( không rỗng ) của {P, , P;, , P„} như là A G€ 2 {P,, P;„::-, P„} /{}, những
tập có trong A được gọi là những tập ủy quyền và những tập bên ngoài A được gọi là
những tập không ủy quyền.
2.5.4 Lược đồ chia sé bí mật tuyến tính (LSSS)
Cho P là tập thuộc tính toàn cầu, q là một số nguyên tố Gọi II là lược đồ chia sẻ
bí mật thông qua P nếu:
e «Vi mỗi thuộc tính, phần chia sẻ s € Zp tạo thành một vector
e Vi mỗi cấu trúc truy cập T trên P tồn tại một ma trận M gồm Ï hang van
cột được gọi là ma trận chia sẻ cho II Ta có hàm ø định nghĩa mỗi dòng í €
[1,2, n] của M là một thuộc tính xét cột ở = (s,7ạ, 7„) € Z4 trong đó s định
34
Trang 39nghĩa như một bí mật chia sẻ và 15,73 , % được chọn ngẫu nhiên M ở là vector
của I chia sẻ bí mật s Chia sẻ (M ở); thuộc về bên ø(), trong đó I = [1.1]
Nếu một LSSS được định nghĩa theo như trên, bí mật chia sẻ s có thé tái tạo lại
Phần sau là định nghĩa hiệu suất tái tạo Giả sử một cấu trúc truy cập T được chuyền
thành LSSS I, và được định nghĩa bởi một tập ủy quyền S € T Chol {I = i:øo() € S}
đại diện cho một hàng của II, trong đó mỗi hàng của II đại diện cho thuộc tính trong S.
Bằng cách chọn một giá trị bí mật s, giá trị bí mật chia sẻ {A; = (Mở),};«¡ được tính Sau
đó, những giá trị {c; = UA có thé được sử dung dé xây dựng lại giá trị s bằng cách
2.5.5 Cấu trúc dữ liệu Bloom Filter
Bloom Filter là cau trúc dữ liệu xác suất, được dùng dé kiém tra thử một phan tử
có phải là thành viên của một tập hợp hay không Bloom đưa ra kĩ thuật cho các ứng
dụng ma lượng dữ liệu đòi hỏi một lượng lớn bộ nhớ nếu sử dụng các kỹ thuật băm
không có lỗi thông thường.
Một Bloom Filter là một bit array có độ dai | với các bit được khởi tạo mặc định
bang giá trị 0 Qua k hàm băm H không phụ thuộc nhau với H = { h¿ : Sol, 1<i<k}, mapping trong miền giá trị từ {0,1 — 1} Đề lưu trữ tập S = {241, x5, x, } sử dụng
Bloom Filter, mỗi x; € S thì mã băm qua k ham băm h; (x;)với 1 < j < k sẽ được
set thành 1 Nếu trước đó giá trị đã băng 1 thì không có bắt kì thay đổi nào được tạo ra
Đề kiểm tra liệu phan tử q có nằm trong tập S hay không, ta sẽ thực hiện dùng khàm băm để tạo ra k vị trí trên array Nếu tat ca bit ở bat kì vị trí nào bằng Othig €S,ngược lại có thể q € S hoặc là false positive Đó là điều hiển nhiên khi t6n tại xác suất
diễn ra trường hop False Positive vì nó phụ thuộc vảo độ dài Ï của mảng, số lượng hàm
băm k, số lượng phần tử của S được kí hiệu n:
35
Trang 40Có hơn 60 biến thé của Bloom Filter, trong phạm vi tim hiểu thì hầu hết các lược
đồ sẽ sử dung Bloom Filter dé lưu trữ cũng như Bloom Filter encoding
2.5.6 Locality-sensitive Hasing
Ý tưởng chung dang sau LSH, là thực hiện băm các item bằng nhiều hàm băm khác
nhau Những hàm băm này được thiết kế một cách cần thận để mang tính chất rằng cácitems gần giống nhau sẽ được băm vào các bucket giống nhau Từ đó ta sẽ xác định cặp
các ứng viên trong cùng một bucket sau khi trải qua tập các ham băm.
Trong miền S của tập các điểm được do bằng khoảng cách D, một ho hàm băm
LSH được định nghĩa như sau:
Một họ ham hash H = {h: S > U } là một họ {?7¡,?z, 0¡,ø0;}-sensitive trên (S, D)
nếu với mỗi q,p € X Ta có:
o Nếu D(p,q) <7; thì Pr[h(4) = h(p)] = pr.
o Nếu D(p,q) > r; thi Pr[h(q) = h()] < pạ.
Đề một ho hàm băm LSH hữu dung thi phải thoa mãn p, > po var, <1
Theo |'9!, LSH có thé được áp dung dé đo mức độ tương tự của tap hợp trong Jaccardsimilarity, được sử dụng trong lược dé"), cũng như được áp dụng dé đo sự tương đồngtrong khoảng cách với mục đích giải quyết vấn đề tìm kiếm approximate nearestneighbor !!7!, được lược dé!!! áp dụng
36