ĐẠI HỌC QUỐC GIA TP. HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------
HÀ XUÂN SƠN
NGHIÊN CỨU PHÁT TRIỂN MÔ HÌNH ĐIỀU
KHIỂN TRUY XUẤT CHO DỮ LIỆU NOSQL
Chuyên ngành : Khoa học máy tính
Mã số: 60480101
LUẬN VĂN THẠC SĨ
TP. HỒ CHÍ MINH, 12/2017
Luận văn Thạc Sĩ
I
HV: Hà Xuân Sơn – 1570226
CÔNG TRÌNH ĐƯỢC HOÀ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 : PGS. TS. Đặng Trần Khánh
Cán bộ chấm nhận xét 1 : TS. Trương Tuấn Anh
Cán bộ chấm nhận xét 2 : TS. Nguyễn Tuấn Đăng
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 12 năm 2017
Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:
1. TS. Lê Lam Sơn
2. TS. Phan Trọng Nhân
3. TS. Trương Tuấn Anh
4. TS. Nguyễn Tuấn Đăng
5. TS. Lê Hồng Trang
Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên
ngành sau khi luận văn đã được sửa chữa.
CHỦ TỊCH HỘI ĐỒNG
TRƯỞNG KHOA KH & KT MÁY TÍNH
TS. Lê Lam Sơn
Luận văn Thạc Sĩ
II
HV: Hà Xuân Sơn – 1570226
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
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: Hà Xuân Sơn .................................................. MSHV:1570226..............
Ngày, tháng, năm sinh: 17/03/1991 ........................................... Nơi sinh: Cần Thơ ..........
Chuyên ngành: Khoa học máy tính ............................................ Mã số: 60480101 ............
I. TÊN ĐỀ TÀI: Nghiên cứu phát triển mô hình điều khiển truy xuất cho dữ liệu lớn ....
II. NHIỆM VỤ VÀ NỘI DUNG:
-
Nghiên cứu lý thuyết về dữ liệu NoSQL.
Nghiên cứu lý thuyết về mô hình điều khiển truy xuất
Nghiên cứu lý thuyết về hệ thống hỗ trợ môi trường chính sách động
Nghiên cứu và đề xuất một mô hình điều khiển truy xuất cho hệ thống hỗ trợ chính
sách động.
- Xây dựng cơ chế điều khiển truy xuất dựa trên mô hình lý thuyết đã đề xuất.
- Tìm hiểu về các kỹ thuật và công nghệ để kiểm nghiệm và đánh giá các kết quả
nghiên cứu.
III. NGÀY GIAO NHIỆM VỤ : 04/07/2016
IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 18/06/2017
V. CÁN BỘ HƯỚNG DẪN : PGS. TS. ĐẶNG TRẦN KHÁNH
Tp. HCM, ngày tháng 12 năm 2017
CÁN BỘ HƯỚNG DẪN
TRƯỞNG KHOA KH & KTMT
PGS.TS. Đặng Trần Khánh
Luận văn Thạc Sĩ
III
HV: Hà Xuân Sơn – 1570226
LỜI CẢM ƠN
Tôi xin gửi lời cảm ơn sâu sắc đến PGS.TS Đặng Trần Khánh đã tận tình hướng dẫn, giúp
đỡ tôi thực hiện đề tài nghiên cứu này.Tôi cũng xin gửi lời cảm ơn đến các thành viên của
nhóm DStar Lab, AC Lab của trường Đại học Bách Khoa TP Hồ Chí Minh và DISIs Lab
của trường Đại học Trento (Ý) đã hỗ trợ và tạo điều kiện nghiên cứu cho tôi trong suốt thời
gian qua.
Sau cùng, tôi xin chân thành cám ơn đến gia đình và bạn bè đã luôn bên cạnh động viên và
giúp đỡ tôi.
Luận văn Thạc Sĩ
IV
HV: Hà Xuân Sơn – 1570226
TÓM TẮT LUẬN VĂN
Với sự phổ biến ngày càng tăng của điện toán đám mây, hệ thống phân tán và mạng xã hội,
dẫn đến rủi ro của những vi phạm dữ liệu nhạy cảm đã tăng lên. Bởi vì ngày càng có nhiều
doanh nghiệp và cá nhân có xu hướng lưu trữ thông tin cá nhân của họ trên Internet. Đặc
biệt là các thông tin và dữ liệu của các hệ thống liên quan đến giao thông, giáo dục, y tế,
giải trí được lưu trữ với số lượng dữ liệu lớn, nhiều dạng khác nhau nhằm đáp ứng nhu cầu
quản lý, thống kê và dự báo. Song song với việc ứng dụng dữ liệu lớn là những yêu cầu về
bảo mật và tính riêng tư càng trở nên cần thiết. Chính vì vậy, bảo mật dữ liệu lớn đã được
xem là một trong mười thác thức đặt ra cho các nghiên cứu trong tương lai về Big Data [2].
Có 3 cột mốc quan trọng trong việc bảo vệ tính riêng tư cho dữ liệu lớn phải kể đến là:
access control, auditing và statistical privacy [1]. Trong đó access control (điều khiển truy
xuất) là khía cạnh được quan tâm của đề tài này. Cho đến nay, một số mô hình kiểm soát
truy cập đã được đề xuất dưới dạng đặc tả tính chất hoặc thực thi các cơ chế kiểm soát truy
cập như kiểm soát truy cập bắt buộc (MAC), kiểm soát truy cập tùy quyền (DAC), kiểm
soát truy cập dựa trên vai trò (Role-based Access Control - RBAC) và gần đây nhất là kiểm
soát truy cập dựa trên thuộc tính (ABAC) [9]. Vì tính chất của điều khiển truy xuất là hỗ
trợ càng cao thì chi phí quản lý và vận hành càng lớn [1], chính vì vậy, các mô hình điều
khiển truy xuất hiện nay đang vấp phải rất nhiều khó khăn khi ứng dụng cho cơ sở dữ liệu
lớn. Tóm lại, việc xây dựng một mô hình bảo mật tổng quát cho dữ liệu lớn vẫn còn là bài
toán mở cho các hãng công nghệ và các nhóm nghiên cứu.
Điều khiển truy đóng một vai trò quan trọng trong việc bảo vệ thông tin nhạy cảm và ngăn
chặn kẻ tấn công không được tiếp cận thích hợp. Hệ thống dựa trên chính sách bảo mật để
xác định yêu cầu truy cập cho phép hoặc từ chối. Tuy nhiên, trong những năm gần đây, do
sự phổ biến của dữ liệu lớn đã tạo ra một thách thức mới mà quản lý chính sách an ninh
đang đối mặt như chính sách năng động, hay nói cách khác là cập nhật chính sách theo thời
gian thực. Áp dụng chính sách năng động mang lại lợi ích rất lớn cho các hệ thống phân
tán, hệ thống điện toán đám mây và mạng xã hội. Tuy nhiên, có rất ít các nghiên cứu trước
đây tập trung vào việc giải quyết các vấn đề ủy quyền trong chính sách năng động. Trong
bài báo này, chúng tôi tập trung vào việc phân tích cách thay đổi chính sách và đưa ra các
giải pháp trong môi trường chính sách năng động. Sự đóng góp của bài báo này là hai lần:
bao gồm cả giải pháp thay đổi chính sách ngay cả khi yêu cầu truy cập đã được cấp bởi
chính sách và chúng tôi cung cấp triển khai dựa trên XACML kết hợp mô hình yêu cầu
viết lại. Kết quả kinh nghiệm với các chính sách thực tế đã đưa ra giá trị thực tiễn và lý
thuyết của cách tiếp cận mới được giới thiệu của chúng tôi.
Luận văn Thạc Sĩ
V
HV: Hà Xuân Sơn – 1570226
ABSTRACT
With the growing popularity of cloud computing, distributed system and social networks,
the risks of sensitive data breaches have increased due to the fact that more and more
enterprises and individuals tend to store their private information on the Internet.
Especially, the database and information in the management system relating to
transportation, education, health, and entertainment are stored with large quantities of data,
under different types, processing speed increases, with the purpose to meet the
requirements of management, statistics, forecasts, planning. Therefore, big data security
has been considered one of the ten challenges for future research on big data [2].
There are 3 important point in the protection of privacy for big data must be mentioned are:
access control, auditing and statistical privacy [1]. In particular, access control are interest
aspects of this thesis. Until now, several access control models have been proposed for the
specification and enforcement of access control mechanisms such as Mandatory Access
Controls (MAC), Discretionary Access Control (DAC), Role-based Access Control
(RBAC) [29] and most recently Attribute-based Access Control (ABAC) [9]. Because of
the ability to control access higher require costs for the management and operation of the
higher [1]; therefore, the current access control models have many difficulties when applied
to big.
Authorization or access plays an important role in protecting sensitive information and
preventing the attacker who is not granted any proper access. The system is based on the
security policy to determine an access request allow or deny. But, in recent years, due to
the growing popularity of big data has created a new challenge which the security policy
management is facing such as dynamic policy, update policy in real time. Application of
dynamic policy has brought benefits to distributed systems, cloud systems, and social
network. However, there are no previous studies focused on solving authorization problems
in the dynamic policy. In this thesis, we focus on analyzing the way of policy change and
providing solutions in the dynamic policy environment. The contribution of this thesis is
two-fold: including the solution for changing policy even when the access request has been
granted by the policy and we provide an XACML-based implementation that incorporates
the rewriting request model. Experiential results with real-world policies have established
the practical and theoretical value of our newly introduced approach.
Luận văn Thạc Sĩ
VI
HV: Hà Xuân Sơn – 1570226
LỜI CAM ĐOAN
Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi rõ
trong luận văn, các công việc trình bày trong luận văn cũng như các kết quả thực nghiệm
là do chính tôi thực hiện và chưa có phần nội dung nào của luận văn này được nộp để lấy
một bằng cấp ở bất kì một trường nào khác.
Ngày 29 tháng 12 năm 2017
Học viên thực hiện luận văn
Hà Xuân Sơn
Luận văn Thạc Sĩ
VII
HV: Hà Xuân Sơn – 1570226
MỤC LỤC
LỜI CẢM ƠN ................................................................................................................... IV
TÓM TẮT LUẬN VĂN .................................................................................................... V
ABSTRACT...................................................................................................................... VI
LỜI CAM ĐOAN ............................................................................................................ VII
MỤC LỤC ..................................................................................................................... VIII
DANH MỤC HÌNH .......................................................................................................... XI
DANH MỤC BẢNG ..................................................................................................... XIII
Chương 1 GIỚI THIỆU ................................................................................................... 1
1.1
Giới thiệu đề tài ..................................................................................................... 1
1.2
Mục tiêu của đề tài ................................................................................................ 2
1.3
Ý nghĩa đề tài ........................................................................................................ 2
1.4
Giới hạn của đề tài ................................................................................................. 2
1.5
Cấu trúc báo cáo .................................................................................................... 3
Chương 2 CƠ SỞ DỮ LIỆU NOSQL ............................................................................. 5
2.1
Khái niệm cơ bản về dữ liệu lớn ........................................................................... 5
2.2
Các mô hình dữ liệu NoSQL ................................................................................. 5
2.2.1
Mô hình Key-Value ........................................................................................ 5
2.2.2
Mô hình Document Store ............................................................................... 7
2.2.3
Mô hình Graph Databases .............................................................................. 8
2.2.4
Mô hình Column Oriented ............................................................................ 11
2.3
Lý do lựa chọn MongoDB................................................................................... 13
2.3.1
Bench Mark MongoDB với các CSDL khác ................................................ 13
2.3.2
Mức độ phổ biến của MongoDB .................................................................. 17
2.3.3
Đánh giá cơ chế bảo mật hiện tại của MongoDB ......................................... 19
Chương 3 ĐIỀU KHIỂN TRUY XUẤT ....................................................................... 21
3.1
Bảo mật thông tin và tính riêng tư ....................................................................... 21
3.2
Nhu cầu điều khiển truy xuất cho dữ liệu NoSQL .............................................. 22
3.3
Khái niệm về điều khiển truy xuất ...................................................................... 24
3.4
Các mô hình truyền thống ................................................................................... 26
3.4.1
Mô hình điều khiển truy cập tùy quyền ........................................................ 26
Luận văn Thạc Sĩ
VIII
HV: Hà Xuân Sơn – 1570226
3.4.2
Mô hình điều khiển truy cập bắt buộc .......................................................... 28
3.4.3
Mô hình điều khiển truy cập theo vai trò...................................................... 29
3.5
Mô hình điều khiển truy xuất dựa trên thuộc tính ............................................... 30
3.5.1
Giới thiệu mô hình ABAC ............................................................................ 30
3.5.2
Mô hình ABAC ............................................................................................ 31
3.6
Mô hình điều khiển truy xuất XACML ............................................................... 33
3.6.1
Mô hình XACML ......................................................................................... 33
3.6.2
Chính sách và luật trong XACML ................................................................ 35
3.6.3
Đầu vào và đầu ra trong XACML ................................................................ 36
3.6.4
Giải thuật kết hợp trong XACML ................................................................ 37
3.7
Kết luận ............................................................................................................... 39
Chương 4
QUAN
CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN
40
4.1
Đánh giá chính sách ............................................................................................ 40
4.2
Satisfiability Modulo Theories (SMT) ................................................................ 41
4.3
Khái niệm chính sách bảo mật động ................................................................... 42
4.4
Ứng dụng của chính sách bảo mật động.............................................................. 43
4.5
Hướng giải quyết chính sách bảo mật động ........................................................ 43
4.5.1
Điều khiển truy cập động.............................................................................. 43
4.5.2
Theo dõi sự thay đổi trên PIP ....................................................................... 45
4.5.3
Rew-XAC model .......................................................................................... 46
Chương 5 KIẾN TRÚC HỆ THỐNG ............................................................................ 48
5.1
Cấu trúc policy .................................................................................................... 48
5.1.1
Thành phần (Component) ............................................................................. 48
5.1.2
Combining Algorithm................................................................................... 50
5.2
Cấu trúc request ................................................................................................... 52
5.2.1
Subject .......................................................................................................... 52
5.2.2
Resource ....................................................................................................... 52
5.2.3
Action ........................................................................................................... 52
5.2.4
Environment ................................................................................................. 53
5.3
Kịch bản .............................................................................................................. 53
5.4
Định dạng đầu vào hệ thống ................................................................................ 54
Luận văn Thạc Sĩ
IX
HV: Hà Xuân Sơn – 1570226
5.4.1
Policy ............................................................................................................ 54
5.4.2
Request ......................................................................................................... 58
5.5
Cấu trúc đầu ra .................................................................................................... 58
5.6
Phân loại cập nhật chính sách.............................................................................. 59
5.7
Mô hình tổng quan .............................................................................................. 62
5.8
Kiến trúc tổng quan ............................................................................................. 63
Chương 6 HIỆN THỰC HỆ THỐNG ........................................................................... 67
6.1
Kiến trúc tổng quan hệ thống .............................................................................. 67
6.2
Lược đồ lớp hệ thống .......................................................................................... 68
6.2.1
Lược đồ lớp biểu diễn chính sách ................................................................. 68
6.2.2
Lược đồ lớp biểu diễn cấu trúc đầu vào ....................................................... 69
6.2.3
Lược đồ lớp biểu diễn cấu trúc đầu ra .......................................................... 71
6.2.4
Lược đồ lớp biểu diễn quản lý cập nhật chính sách ..................................... 72
6.2.5
Lược đồ lớp biểu diễn quá trình đánh giá ..................................................... 73
6.2.6
Lược đồ lớp biểu diễn viết lại câu truy vấn .................................................. 74
6.3
Lược đồ lớp tuần tự ............................................................................................. 75
6.4
Giải thuật chính trong mô hình Rew – SMT ....................................................... 77
6.5
Công nghệ sử dụng .............................................................................................. 79
Chương 7 ĐÁNH GIÁ HỆ THỐNG ............................................................................. 80
7.1
Chính sách bảo mật mẫu ..................................................................................... 80
7.2
Kết quả đánh giá .................................................................................................. 81
7.2.1
Xóa chính sách bảo mật ................................................................................ 82
7.2.2
Cập nhật chính sách bảo mật ........................................................................ 83
Chương 8 KẾT LUẬN .................................................................................................. 85
8.1
Đánh giá kết quả .................................................................................................. 85
8.2
Hướng phát triển đề tài ........................................................................................ 86
Danh mục các công trình khoa học ................................................................................... 88
Tài liệu tham khảo ............................................................................................................ 89
PHỤ LỤC A: Chuyển đổi Policy thành Applicable Constraint........................................ 93
PHỤ LỤC B: Các công trình khoa học............................................................................. 99
LÝ LỊCH TRÍCH NGANG ............................................................................................ 155
Luận văn Thạc Sĩ
X
HV:
HV: Hà Xuân Sơn – 1570226
DANH MỤC HÌNH
Hình 2. 1: Phân quyền mức dịch vụ SLA ........................................................................... 6
Hình 2. 2: Ví dụ về mô hình Graph Database ..................................................................... 9
Hình 2. 3: Điều khiển truy xuất trong mô hình Graph Database ...................................... 10
Hình 2. 4: Mô hình lưu trữ row-store và column-store ..................................................... 11
Hình 2. 5: Tối ưu hiệu suất - Workload A – thông lượng ................................................. 14
Hình 2. 6. Tối ưu hiệu suất - Workload B – thông lượng ................................................. 15
Hình 2. 7. Tối ưu độ bền vững dữ liệu - Workload A – thông lượng ............................... 16
Hình 2. 8. Tối ưu độ bền vững dữ liệu - Workload B – thông lượng ............................... 16
Hình 2. 9: Tỷ lệ về mức độ phổ biến giữa các hệ quản trị cơ sở dữ liệu .......................... 18
Hình 3. 1: Ba khía cạnh chính của bảo mật thông tin ....................................................... 21
Hình 3. 2: Lượng dữ liệu số ước tính được sinh ra từ năm 2010 đến năm 2020 [35] ...... 23
Hình 3. 3: Khung điều khiển truy xuất tổng quát ............................................................. 25
Hình 3. 4: Mô hình điều khiển truy cập tùy quyền ........................................................... 27
Hình 3. 5: Ví dụ về trojan horse trên DAC ....................................................................... 28
Hình 3. 6: Mô hình điều khiển truy cập dựa trên vai trò .................................................. 29
Hình 3. 7: Đặc điểm các mô hình điều khiển truy xuất .................................................... 30
Hình 3. 8: Kịch bản của mô hình ABAC cơ bản .............................................................. 32
Hình 3. 9: Thành phần và luồng xử lý XACML [19] ....................................................... 34
Hình 3. 10: Cấu trúc chính sách trong XACML [19] ....................................................... 35
Hình 3. 11: Ví dụ về chính sách trong XACML [19] ....................................................... 36
Hình 3. 12: Ví dụ về đầu vào trong XACML [19]............................................................ 37
Hình 3. 13: Ví dụ về đầu ra trong XACML [19] .............................................................. 37
Hình 4. 1: Situation-Oriented Authorization Architecture ............................................... 44
Hình 4. 2: Mô hình cập nhật thông tin trên PIP (Policy Information Point)..................... 45
Hình 4. 3: Rew-XAC Model [52] .................................................................................... 46
Hình 4. 4: Các bước thực hiện trong điều khiển truy xuất dữ liệu [53] ............................ 46
Hình 5.1: Mô hình cấu trúc chính sách bảo mật ............................................................... 48
Hình 5.2: Thành phần chính sách bảo mật ........................................................................ 49
Hình 5.3: Công thức xác định Decision Space [61].......................................................... 56
Hình 5. 4: Trường hợp xóa policy .................................................................................... 60
Hình 5. 5: Tìm một policy thích ứng thay thế cho policy bị xóa ...................................... 60
Hình 5. 6: Tổng quan mô hình .......................................................................................... 62
Hình 5. 7: Mô hình Rew-SMT .......................................................................................... 63
Hình 5. 8: Luồng chạy tổng quan của hệ thống ................................................................ 65
Hình 6. 1: Lược đồ thành phần ......................................................................................... 67
Hình 6. 2: Lược đồ lớp biểu diễn chính sách bảo mật ...................................................... 69
Hình 6. 3: Lược đồ lớp biểu diễn cấu trúc đầu vào – (Request) ....................................... 70
Hình 6. 4: Lược đồ lớp biểu diễn cấu trúc đầu vào – (Decision Space) ........................... 71
Hình 6. 5: Lược đồ lớp biểu diễn cấu trúc đầu ra ............................................................. 72
Hình 6. 6: Lược đồ lớp biểu diễn quản lý cập nhật chính sách......................................... 73
Hình 6. 7: Lược đồ lớp của quá trình đánh giá truy cập ................................................... 74
Luận văn Thạc Sĩ
XI
HV: Hà Xuân Sơn – 1570226
Hình 6. 8: Lược đồ lớp của quá trình viết lại câu truy vấn ............................................... 75
Hình 6. 9: Lược đồ lớp của quá trình đánh giá câu truy vấn ............................................ 76
Hình 6. 10: Lược đồ lớp của quá trình viết lại câu truy vấn ............................................. 77
Hình 7. 1: So sánh hiệu suất giữa hai giải thuật tại trường hợp xóa chính sách ............... 82
Hình 7. 2: So sánh hiệu suất giữa hai giải thuật tại trường hợp cập nhật chính sách ....... 84
Luận văn Thạc Sĩ
XII
HV: Hà Xuân Sơn – 1570226
DANH MỤC BẢNG
Bảng 2. 1: So sánh thời gian truy xuất của cơ sở dữ liệu quan hệ và Neo4j ...................... 9
Bảng 2. 2: Tối ưu hiệu suất - Workload A - Độ trễ .......................................................... 15
Bảng 2. 3: Tối ưu hiệu suất - Workload B - Độ trễ .......................................................... 15
Bảng 2. 4: Tối ưu độ bền vững dữ liệu - Workload A – độ trễ ......................................... 16
Bảng 2. 5: Tối ưu độ bền vững dữ liệu - Workload B – độ trễ ......................................... 17
Bảng 2. 6: Các hệ quản trị phổ biến nhất hiện nay ........................................................... 18
Bảng 2. 7: Các hệ quản trị theo mô hình Document Store phổ biến nhất hiện nay .......... 19
Bảng 3. 1: Kết quả khi kết hợp các Condition trong một Rule [19] ................................. 38
Bảng 3. 2: Kết quả khi kết hợp các Rule trong một Policy [19] ....................................... 38
Bảng 3. 3: Kết quả khi kết hợp các Policy trong một PolicySet [19] ............................... 38
Bảng 5. 1: Các ký hiệu sử dụng trong trài liệu ................................................................. 54
Bảng 5. 2: Phân tích mức độ tương thích giữa request và policy ..................................... 59
Bảng 5. 3: Phân loại các dạng cập nhật của chính sách bảo mật. ..................................... 61
Bảng 7. 1: Tập dữ liệu chính sách bảo mật ....................................................................... 81
Bảng 7. 2: Thời gian chi tiết phương thức đo đạc............................................................. 83
Luận văn Thạc Sĩ
XIII
HV: Hà Xuân Sơn – 1570226
Chương 1 GIỚI THIỆU
1.1 Giới thiệu đề tài
Ngày nay, việc tăng trưởng các nhu cầu cung cấp dịch vụ thông qua các hệ thống phân tán,
mạng xã hội hay các dịch vụ trực tuyến trên điện toán đám mây đã tạo ra một nhu cầu rất
lớn cho việc phát triển hệ thống lưu trữ. Các hệ thống lưu trữ hiện tại theo hướng cấu trúc
đã không còn đủ khả năng hỗ trợ các hệ thống này. Các chuyên gia đều cho rằng các dữ
liệu được lưu trữ dưới dạng cấu trúc chỉ chiếm khoảng gần 20% dữ liệu được lưu trữ cho
các hệ thống bên ngoài [20], 80% còn lại được lưu trữ dưới dạng bán cấu trúc và không có
cấu trúc. Thuật ngữ dữ liệu không có cấu trúc ra đời nhằm mở ra một hướng mới cho công
nghệ lưu trữ dữ liệu và cũng là tiền đề cho nhiều ngành khoa học có thể phát triển mạnh về
sau.
Dữ liệu không có cấu trúc được lưu trong các cơ sở dữ liệu NoSQL. Đặc điểm chính của
các mô hình này là: hỗ trợ tốt các loại dữ liệu từ có cấu trúc, bán cấu trúc đến không có cấu
trúc. Mô hình dữ liệu đơn giản, ngôn ngữ truy vấn dữ liệu đơn giản, khả năng mở rộng và
độ tin cậy cao. Tuy nhiên cơ chế bảo mật còn thô sơ và đơn giản. Bảo mật trong các mô
hình này chủ yếu dựa trên: xác thực người dùng, mã hoá dữ liệu trước khi lưu trữ, tận dụng
cơ chế bảo mật của hệ thống file, phân quyền mức dịch vụ, hay gần đây nhất là hỗ trợ mô
hình điều khiển truy xuất dựa trên vai trò.
Với các đặc điểm về khối lượng lớn, tính đa dạng về mặt lưu trữ, sự phát triển liên tục của
dữ liệu không cấu trúc, thì việc bảo vệ dữ liệu trong các hệ thống này là vô cùng khó khăn.
Một trong những vấn đề bảo mật đang rất được lưu ý hiện nay là vấn đề điều khiển truy
xuất. Việc cung cấp quyền truy xuất cho dữ liệu ngày càng phức tạp, các mô hình điều
khiển truyền thống như DAC, MAC, RBAC và những mở rộng của chúng gặp nhiều hạn
chế và không còn phù hợp. Đối với mô hình điều khiển truy xuất tùy quyền (DAC), dữ
liệu có thể được truy cập trái phép bởi người dùng bởi vì không có điều khiển truy xuất
trên bản sao chép của dữ liệu trong mô hình này. Mặt khác trong mô hình điều khiển truy
xuất bắt buộc (MAC) giải quyết vấn đề này bằng cách gán các cấp bậc bảo mật trên cả
người dùng và dữ liệu, hệ thống áp dụng MAC phải có mức độ phân cấp ở phía người dùng
và dữ liệu. Tất cả người dùng bắt buộc phải có một mức bảo mật nhất định mới có quyền
truy cập dữ liệu và nhãn bảo mật được gán trên cả các bản sao chép. Tuy nhiên các chính
sách trong DAC và MAC thì cố định và không hỗ trợ điều khiển truy cập linh hoạt. Cũng
tương tự như hai mô hình trên, mô hình điều khiển truy xuất theo vai trò (RBAC) nảy sinh
nhiều vấn đề hạn chế. Bùng nổ vai trò (role) là một trong những vấn đề lớn nhất của RBAC,
bởi vì mỗi vai trò đòi hỏi những tập quyền khác nhau và một số lượng lớn vai trò phải được
khai báo.
Luận văn Thạc Sĩ
1
HV: Hà Xuân Sơn – 1570226
Một trong những nghiên cứu đang nổi lên là mô hình điều khiển truy xuất dựa trên thuộc
tính (ABAC). Ưu điểm của mô hình này là hỗ trợ các chính sách điều khiển linh động, cho
phép hỗ trợ các chính sách mịn hơn dựa trên các thuộc tính của người dùng, dữ liệu, các
thông tin liên quan đến ngữ cảnh. Tuy nhiên, mô hình này mới được phát triển mạnh ở nền
tảng lý thuyết. Trong ABAC cũng còn rất nhiều vấn đề cần phải nghiên cứu và phát triển
thêm. Một trong các vấn đề đang được chú trọng nghiên cứu là làm thế nào để có thể đảm
bảo được tính bảo mật trong điều kiện chính sách bảo mật bị thay đổi và làm thế nào để
đảm bảo được tính bảo mật đối với yêu cầu không đủ quyền truy cập trên dữ liệu lớn [21].
Hay nói cách khác trong môi trường chính sách bảo mật động, chưa có một cơ chế hay nền
tảng lý thuyết nào được nghiên cứu đúng mức. Cho nên đề tài này, sẽ nghiên cứu mô hình
điều khiển truy xuất cho dữ liệu NoSQL và thỏa mãn được các điều kiện ràng buộc về
chính sách bảo mật động.
1.2 Mục tiêu của đề tài
Như đã đề cập ở trên, mặc dù dữ liệu không có cấu trúc đang có vai trò vô cùng quan trọng
trong việc phát triển hệ thống lưu trữ và ngày càng thu hút được sự quan tâm của các nhà
nghiên cứu. Tuy nhiên, các mô hình điều khiển truy xuất cho dữ liệu này vẫn còn nhiều
hạn chế, chưa đạt đến độ mịn và linh động, đặc biệt trong môi trường chính sách động nơi
mà các chính sách bảo mật sẽ bị thay đổi theo thời gian nhằm đáp ứng các tính chất về đa
dạng và độ lớn của dữ liệu lưu trữ. Vì vậy mục tiêu của đề tài là nghiên cứu và đề xuất ra
một mô hình điều khiển truy xuất cho dữ liệu NoSQL trong môi trường chính sách bảo mật
động, xây dựng một cơ chế điều khiển truy xuất để đánh giá mô hình đã đề xuất.
1.3 Ý nghĩa đề tài
Về mặt khoa học, đề tài nghiên cứu và đề xuất một mô hình điều khiển truy xuất mới cho
dữ liệu NoSQL. Mô hình điều khiển truy xuất này còn có thể đáp ứng các yêu cầu bảo mật
trong môi trường chính sách động.
Về mặt thực tiễn, đề tài xây dựng một cơ chế điều khiển truy xuất động, dựa trên mô hình
điều khiển và cơ chế điều khiển truy xuất này giúp nâng cao bảo mật trong việc quản lý dữ
liệu NoSQL. Đề tài cũng sử dụng tập mẫu được sử dụng ở ngoài đời thực để đo đạc và
đánh giá tính khả dụng của mô hình.
1.4 Giới hạn của đề tài
Đề tài tập trung vào việc xây dựng một mô hình điều khiển truy xuất giải quyết vấn đề
chính sách bảo mật động cho dữ liệu NoSQL. Việc xây dựng một cơ chế điều khiển để
đánh giá mô hình được xây dựng trên một mô hình XACML v3.0 là một hiện thực của mô
Luận văn Thạc Sĩ
2
HV: Hà Xuân Sơn – 1570226
hình điều khiển truy xuất dựa theo thuộc tính ABAC. Cụ thể là trong đề tài này sẽ sử dụng
mô hình này áp dụng với lý thuyết SMT để làm tăng hiệu suất đánh giá câu truy vấn (tìm
policy thích hợp cho câu truy vấn của người dùng). Để thỏa mãn đầu vào của một SMT
Solver chúng tôi sẽ chuyển đổi định dạng ban đầu của chính sách bảo mật (XML format).
Về mô lưu trữ dữ liệu NoSQL, đề tài sẽ sử dụng mô hình Document Store, cụ thể ở trong
tài liệu này là MongoDB.
1.5 Cấu trúc báo cáo
Bài báo cáo chia làm 8 chương:
Chương 1. GIỚI THIỆU
Trình bày tổng quan về đề tài, mục tiêu của đề tài, ý nghĩa khoa học - thực tiễn, và giới
hạn của đề tài.
Chương 2. CƠ SỞ DỮ LIỆU NOSQL
Trình bày cơ sở lý thuyết, các mô hình cơ sở dữ liệu NoSQL và lý do áp dụng mô hình
Document Store cho đề tài này. Từ đó đưa ra lựa chọn MongoDB sẽ là cơ sở dữ liệu
được áp dụng trong đề tài luận văn.
Chương 3. ĐIỀU KHIỂN TRUY XUẤT
Trình bày cơ sở lý thuyết về điều khiển truy xuất, các mô hình điều khiển truyền thống
và mô hình điều khiển dựa trên thuộc tính ABAC. Trình bày về XACML v3.0 là một
hiện thực của mô hình ABAC và sẽ được áp dụng trong đề tài này.
Chương 4. CƠ SỞ LÝ THUYẾT VÀ CÁC CÔNG TRÌNH NGHIÊN CỨU LIÊN
QUAN
Trình bày khái niệm về lý thuyết SMT, chính sách bảo mật động (dynamic policy).
Định nghĩa như thế nào là một hệ thống có hỗ trợ chính sách bảo mật động, các tiêu chí
đánh giá. Tóm tắt các nghiên cứu trước đây về đánh giá chính sách và đưa ra giải pháp
cho chính sách bảo mật động.
Chương 5. KIẾN TRÚC HỆ THỐNG
Trình bày các hướng tiếp cận của phương pháp đánh giá chính sách, cấu trúc của một
chính sách bảo mật, cách chuyển đổi định dạng chính sách từ XML (XACML v3.0)
Luận văn Thạc Sĩ
3
HV: Hà Xuân Sơn – 1570226
sang dạng input của SMT Solver. Trình bày về mô hình và kiến trúc tổng quan của hệ
thống.
Chương 6. HIỆN THỰC HỆ THỐNG
Trình bày các giải thuật chính và kiến trúc hiện thực của hệ thống.
Chương 7. ĐÁNH GIÁ HỆ THỐNG
Trình bày môi trường đánh giá, thông tin về tập mẫu sử dụng và đưa ra kết quả đánh
giá hệ thống. So sánh với giải thuật đã đề xuất với hướng tiếp cận hiện tại. Phân tích và
giải thích lý do sự khác biệt giữa hai hệ thống.
Chương 8. KẾT LUẬN
Trình bày tổng kết báo cáo, các giới hạn và hướng phát triển của đề tài.
Luận văn Thạc Sĩ
4
HV: Hà Xuân Sơn – 1570226
Chương 2 CƠ SỞ DỮ LIỆU NOSQL
Trong phần này tài liệu sẽ trình bày cơ sở lý thuyết, các mô hình cơ sở dữ liệu NoSQL và
lý do áp dụng mô hình Document Store cho đề tài luận văn. Từ đó đưa ra lựa chọn
MongoDB sẽ là cơ sở dữ liệu được áp dụng trong đề tài này.
2.1 Khái niệm cơ bản về dữ liệu lớn
Dữ liệu lớn là dữ liệu có dung lượng (volume) dữ liệu khổng lồ, có tốc độ (velocity) được
sinh ra lớn, và bao gồm nhiều kiểu (variety) dữ liệu khác nhau mà không thể được xử lý
hiệu quả bởi các công cụ dữ liệu truyền thống. Ngoài ra, độ tin cậy và tính xác thực
(veracity) khi dữ liệu càng nhiều và bị nhiễu, sự không thống nhất, nhu cầu quản lý và xác
thực dữ liệu càng tăng theo. Do đó, tính chất này là một điều kiện cần thiết để tạo ra chất
lượng dữ liệu làm tăng độ chính xác cho các ứng dụng, đặc biệt các ứng dụng phân tích và
ra quyết định dựa trên dữ liệu lớn. Phần tiếp theo sẽ trình bày tóm tắt các mô hình dữ liệu
NoSQL cùng với các hệ thống quản lý dữ liệu lớn đang có trong thực tế.
2.2 Các mô hình dữ liệu NoSQL
2.2.1 Mô hình Key-Value
Cấu trúc lưu trữ của mô hình Key-Value (khoá-giá trị) là sự ánh xạ một giá trị nội dung
thuộc kiểu bất kì (có thể có cấu trúc, bán cấu trúc hay không có cấu trúc) vào một khoá.
Khoá này có thể thuộc một kiểu bất kì (có/bán hoặc không có cấu trúc). Vì vậy, giá trị của
khoá và nội dung lưu trữ có thể rất đa dạng, từ các kiểu cơ bản như byte, integer, float,
double,… đến các kiểu phức tạp như XML, JSON,… hay file hình ảnh, âm thanh, video.
Mô hình Key-Value rất thích hợp để lưu trữ dữ liệu lớn vì tính đa dạng (từ có/bán đến
không cấu trúc), dễ dàng mở rộng dung lượng lưu trữ khi cần thiết (như trong hệ thống
Hadoop [9] ta chỉ cần thêm vào một máy tính nào đó), và khả năng lưu trữ dữ liệu với tốc
độ cao (vì cơ chế lưu trữ rất đơn giản và trực tiếp, thêm vào nhanh).
Mô hình Key-Value rất phổ biến trong công nghệ NoSQL đang được ứng dụng nhiều trong
các hệ thống dữ liệu lớn [1]. Tuy nhiên, các cơ chế bảo mật cho mô hình dữ liệu Key-Value
hiện tại vẫn còn rất thô sơ và đơn giản. Bảo mật trong mô hình này chủ yếu dựa trên 3 yếu
tố chính sau đây:
• Xác thực: Các kỹ thuật xác thực người dùng, chủ thể sử dụng dữ liệu đang có.
Luận văn Thạc Sĩ
5
HV: Hà Xuân Sơn – 1570226
• Mã hoá dữ liệu: Các dữ liệu mang tính nhạy cảm, cần bảo mật sẽ được mã hoá
trước khi lưu trữ xuống. Tuy nhiên quá trình mã hoá này phải nhanh, không ảnh
hưởng nhiều đến tốc độ và hiệu suất của hệ thống.
• Tận dụng cơ chế bảo mật của hệ thống file sẵn có: Do thông thường các bộ KeyValue sẽ được lưu trữ thành file, do đó hệ thống lưu trữ sẽ phân quyền cho các file
này ngay tại thời điểm ghi xuống.
Sau đây ta xem xét hai ví dụ về công nghệ điển hình cho mô hình lưu trữ Key-Value là
Hadoop [9] và Redis [10].
Hadoop : Cơ chế bảo mật của Hadoop về cơ bản dựa trên 3 yếu tố chính sau đây.
• Xác thực người dùng bằng công nghệ Kerberos.
• Phân quyền file HDFS (Hadoop File System). Đây là một hệ thống file phân quyền
theo chuẩn POSIX. Khi ghi xuống hệ thống sẽ xác định owner (chủ sở hữu) và group
(nhóm sở hữu) của file. Một bộ quyền hạn trên file được xác lập bao gồm quyền đọc
(read), ghi (write) và thực thi (execute) cho owner, group và tất cả còn lại.
• Phân quyền mức dịch vụ (Service Level Authorization, SLA). Một hệ thống Hadoop
bao gồm nhiều dịch vụ nhỏ, như Map, Reduce, Datanode,… SLA cho phép người
quản trị phân quyền sử dụng các dịch vụ này cho từng người dùng (hiểu rộng ra là
người dùng, tiến trình hoặc bất kì thành phần chủ động nào trong hệ thống). Sau đây
là hai ví dụ minh hoạ cụ thể cho việc gán quyền SLA.
Trong ví dụ như hình 2.1 về phân quyền, người dùng Alice, Bob và nhóm
Mapreduce được phép thực thi các hàm map-reduce .
Hình 2. 1: Phân quyền mức dịch vụ SLA
Redis: Redis là hệ thống lưu trữ Key-Value trên bộ nhớ chính (in-memory keyvalue
storage). Cơ chế bảo mật của Redis rất thô sơ, chỉ cho phép xác thực người dùng [10], và
không có cơ chế điều khiển truy xuất mịn hơn (như SLA của Hadoop). Ngoài ra, Redis
khuyến khích ta mã hoá các dữ liệu nhạy cảm trước khi lưu trữ để tăng cường tính bảo mật.
Luận văn Thạc Sĩ
6
HV: Hà Xuân Sơn – 1570226
2.2.2 Mô hình Document Store
Trong mô hình này, khái niệm document là để chỉ một nội dung có cấu trúc, bán cấu trúc
hoặc không có cấu trúc. Ví dụ của document có thể rất đa dạng, như JSON, BSON, XML,
YAML hay phức tạp hơn là các file Word, Excel, PDF,… Ta có thể xem mô hình
Document Store là một bản cải tiến của mô hình Key-Value. Khi các bộ Key-Value có
thêm thuộc tính ngữ nghĩa hoặc siêu dữ liệu đến một mức độ nhất định, ta có thể gom nhóm
các bộ key-value thành một document.
Việc gom nhóm đó ta có thể thực hiện theo 4 phương thức chính sau đây.
• Gom nhóm thành Collections, tức là ta gom nhóm một cách chủ động, người dùng
hoặc chương trình trong quá trình chạy sẽ gom nhóm trực tiếp các dữ liệu liên quan.
• Gom nhóm theo Tags, các nội dung sẽ được gán các tags, sau đó các dữ liệu sẽ
gom nhóm thành document theo các tags.
• Gom nhóm theo các siêu dữ liệu vô hình (Non-visible Metadata).
• Gom nhóm thành cấu trúc phân cấp (Directory Hierachies).
Mô hình Document Store thích hợp với các hệ thống lưu trữ Big Data phần nào coi trọng
tính ngữ nghĩa của dữ liệu (khác với mô hình Key-Value, đơn thuần chỉ là lưu trữ dữ liệu).
Ví dụ, mô hình Key-Value lưu trữ các log file (web/game/application logs,…) còn mô hình
Document Store có thể ứng dụng trong lưu trữ các status của một mạng xã hội, tweet,
comments,…
Do đặc tính có thêm ngữ nghĩa của document trong Document Store, cơ chế bảo mật của
mô hình này được nâng cao hơn, uyển chuyển và mịn hơn so với mô hình Key-Value.
Ngoài các cơ chế bảo mật cơ bản như xác thực người dùng, mã hoá dữ liệu, ta có thể áp
dụng các cơ chế điều khiển truy xuất cơ bản cho mô hình Document Store (như RBAC),
hoặc cung cấp cơ chế cho phép người lập trình thực hiện điều khiển truy xuất tuỳ chỉnh
trên dữ liệu lưu trữ [3,4,13,14,15]. Tuỳ theo công nghệ hiện thực mà mức độ nâng cao này
cũng khác nhau. Ta xem xét hai ví dụ về công nghệ sau đây để tham khảo rõ hơn về vấn
đề này.
MongoDB : MongoDB lưu trữ một collection dưới định dạng BSON, mỗi một collection
được xem như một “database” và người lập trình/ quản trị viên có thể cài đặt điều khiển
truy xuất ở mức độ database trong hệ thống. Mô hình điều khiển truy xuất được áp dụng
trong MongoDB là RBAC. Mỗi người dùng (tiến trình, thành phần chủ động) sẽ được gán
vào một role. Trong MongoDB, có 3 nhóm role [11]: Read (chỉ đọc), ReadWrite (đọc và
ghi) và Admin (quản trị). Mỗi role cung cấp cho người dùng một danh sách các quyền truy
Luận văn Thạc Sĩ
7
HV: Hà Xuân Sơn – 1570226
- Xem thêm -