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

Nghiên cứu và vận dụng kỹ thuật hướng mô hình cho đặc tả và kiểm chứng chính sách bảo mật

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 (5.07 MB, 79 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC HIẾU

NGHIÊN CỨU VÀ VẬN DỤNG KỸ THUẬT HƯỚNG MÔ HÌNH
CHO ĐẶC TẢ VÀ KIỂM CHỨNG CHÍNH SÁCH BẢO MẬT

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội, 2019


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC HIẾU

NGHIÊN CỨU VÀ VẬN DỤNG KỸ THUẬT HƯỚNG MÔ HÌNH
CHO ĐẶC TẢ VÀ KIỂM CHỨNG CHÍNH SÁCH BẢO MẬT
Ngành: Kỹ thuật phần mềm
Chuyên ngành: Kỹ thuật phần mềm
Mã số: 8480103.01

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC

TS. ĐẶNG ĐỨC HẠNH

Hà Nội, 2019




i

LỜI CAM ĐOAN

Tôi là Nguyễn Đức Hiếu, học viên K23, ngành Công nghệ thông tin, chuyên ngành Kỹ
thuật phần mềm. Tôi xin cam đoan cuốn luận văn “Nghiên cứu và vận dụng kỹ thuật
hướng mơ hình cho đặc tả và kiểm chứng chính sách bảo mật” là do tơi nghiên
cứu, tìm hiểu và xây dựng dưới sự hướng dẫn của giảng viên, TS. Đặng Đức Hạnh.
Các kết quả đạt được trong luận văn là trung thực và chưa từng được ai cơng bố trong
bất cứ tài liệu, cơng trình nghiên cứu nào khác. Nội dung trong luận văn có tham khảo
từ nhiều nguồn tài liệu khác nhau và được tôi ghi rõ trong danh mục tài liệu tham
khảo. Tôi xin chịu trách nhiệm về lời cam đoan này.

Học viên

Nguyễn Đức Hiếu


ii

LỜI CẢM ƠN

Luận văn này được thực hiện tại Trường Đại học Công nghệ, Đại học Quốc gia Hà
Nội dưới sự hướng dẫn khoa học của TS. Đặng Đức Hạnh. Em xin được bày tỏ lòng
biết ơn sâu sắc đến Thầy, người đã tận tình hướng dẫn, định hướng khoa học, hỗ trợ và
tạo mọi điều kiện tốt nhất để em hoàn thành cuốn luận văn này. Em cũng xin được
cảm ơn sự hỗ trợ của đề tài nghiên cứu khoa học cấp Đại học Quốc gia Hà Nội, mã số
QG.18.61.

Em xin được bày tỏ lòng biết ơn tới các thầy cô trong Khoa Công nghệ thông
tin, Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội. Các thầy cơ đã nhiệt tình
chỉ dạy, truyền đạt những kiến thức quý báu và giúp đỡ em trong quá trình học tập và
nghiên cứu tại Trường.
Tôi cũng xin được chân thành cảm ơn các nhà khoa học, tác giả các cuốn sách,
bài báo mà tơi đã trích dẫn trong luận văn vì đã cung cấp nguồn tư liệu quý báu và
những kiến thức liên quan trong q trình tơi nghiên cứu và thực hiện luận văn.
Cuối cùng, tôi xin gửi lời cảm ơn đến gia đình, bạn bè và đồng nghiệp, những
người đã hỗ trợ và động viên tôi trong suốt quá trình học tập, nghiên cứu và thực hiện
luận văn.
Học viên

Nguyễn Đức Hiếu


iii

MỤC LỤC

LỜI CAM ĐOAN ..................................................................................................i
LỜI CẢM ƠN ......................................................................................................ii
MỤC LỤC...........................................................................................................iii
DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT ...................................................v
DANH MỤC CÁC BẢNG ...................................................................................vi
DANH MỤC CÁC HÌNH VẼ ..............................................................................vii
Chương 1. MỞ ĐẦU ..........................................................................................1
1.1.

Tính cấp thiết và lý do chọn đề tài .............................................................1


1.2.

Đối tượng và phạm vi nghiên cứu .............................................................3

1.3.

Mục tiêu nghiên cứu ...................................................................................3

1.4.

Cấu trúc luận văn ........................................................................................4

Chương 2. KIẾN THỨC NỀN TẢNG..................................................................5
2.1.

Lược đồ hướng mơ hình ............................................................................5

2.1.1.

Kiến trúc metamodeling ....................................................................................... 5

2.1.2.

Ngơn ngữ ràng buộc đối tượng OCL ................................................................... 7

2.2.

Mơ hình điều khiển truy cập dựa trên vai trò RBAC .................................9

2.2.1.


Tiêu chuẩn RBAC................................................................................................ 9

2.2.2.

Mơ hình RBAC cơ bản ...................................................................................... 10

2.2.3.

Mơ hình RBAC phân cấp ................................................................................... 12

2.2.4.

Mơ hình RBAC ràng buộc .................................................................................. 13

2.3.

Mơ hình quy trình nghiệp vụ.....................................................................16

2.3.1.

Quản lý quy trình nghiệp vụ ............................................................................... 16

2.3.2.

Tiêu chuẩn BPMN ............................................................................................. 18

2.4.

Một số công cụ hỗ trợ...............................................................................19


2.4.1.

Công cụ Activiti ................................................................................................. 20

2.4.2.

Công cụ USE .................................................................................................... 20

2.5.

Tổng kết chương.......................................................................................21

Chương 3. TÍCH HỢP MƠ HÌNH RBAC VÀ MƠ HÌNH BPMN ........................22
3.1.

Giới thiệu ...................................................................................................22

3.2.

Tổng quan về phương pháp .....................................................................24

3.3.

Đặc tả và thực thi quy trình nghiệp vụ.....................................................26

3.3.1.

Mơ hình hố quy trình nghiệp vụ ....................................................................... 26



iv

3.3.2.

3.4.

Triển khai quy trình nghiệp vụ............................................................................ 27

Đặc tả chính sách RBAC...........................................................................28

3.4.1.

Xây dựng RBAC metamodel ............................................................................. 28

3.4.2.

Biểu diễn các quy tắc nghiệp vụ ........................................................................ 30

3.4.3.

Thiết kế chính sách truy cập RBAC ................................................................... 31

3.5.

Kiểm chứng trên môi trường đặc tả OCL ................................................33

3.5.1.

Tạo các script .................................................................................................... 33


3.5.2.

Kiểm tra tính nhất quán của chính sách RBAC .................................................. 35

3.5.3.

Kiểm chứng tính tuân thủ chính sách RBAC ...................................................... 36

3.6.

Tổng kết chương.......................................................................................37

Chương 4. CÀI ĐẶT VÀ THỰC NGHIỆM ........................................................38
4.1.

Giới thiệu ...................................................................................................38

4.2.

Bài tốn thực nghiệm................................................................................38

4.2.1.

Quy trình Nghiệm thu và thanh lý Hợp đồng mời giảng ...................................... 38

4.2.2.

Môi trường thực nghiệm .................................................................................... 39


4.2.3.

Mơ hình hố quy trình nghiệp vụ ....................................................................... 40

4.2.4.

Triển khai quy trình nghiệp vụ............................................................................ 45

4.2.5.

Xây dựng RBAC metamodel ............................................................................. 49

4.2.6.

Biểu diễn các quy tắc nghiệp vụ ........................................................................ 52

4.2.7.

Thiết kế chính sách truy cập RBAC ................................................................... 57

4.2.8.

Tạo các script .................................................................................................... 60

4.2.9.

Kiểm tra tính nhất quán của chính sách RBAC .................................................. 60

4.2.10. Kiểm chứng tính tuân thủ chính sách RBAC...................................................... 60


4.3.

Kết quả thực nghiệm.................................................................................61

4.4.

Tổng kết chương.......................................................................................65

KẾT LUẬN ........................................................................................................66
TÀI LIỆU THAM KHẢO ....................................................................................68


v

DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT

Viết tắt

Tiếng Anh

Tiếng Việt

BPM

Business Process Management

Quản lý quy trình nghiệp vụ

USE


UML-based Specification Environment

Môi trường đặc tả dựa trên
UML

UML

Unified Modeling Language

Ngôn ngữ mô hình hóa thống
nhất

OCL

Object Constraint Language

Ngơn ngữ ràng buộc đối tượng

Simple OCL-based Imperative

Ngơn ngữ lập trình mệnh lệnh
đơn giản dựa trên OCL

SOIL

Programming Language
Role Based Access Control

Điều khiển truy cập dựa trên
vai trò


SoD

Separation of Duty

Tách biệt nhiệm vụ

SSD

Static Separation of Duty

Tách biệt nhiệm vụ tĩnh

DSD

Dynamic Separation of Duty

Tách biệt nhiệm vụ động

Business Process Model and Notation

Ký hiệu và mơ hình hố quy
trình nghiệp vụ

RBAC

BPMN


vi


DANH MỤC CÁC BẢNG

Bảng 2.1: Một số công cụ OCL và các tính năng chúng hỗ trợ [11].............................9
Bảng 2.2: Một ví dụ về các khái niệm RBAC cơ bản của một website Tin Tức ........... 11
Bảng 2.3: Một ví dụ về ràng buộc SSD....................................................................... 14
Bảng 3.1: Cấu hình cơ sở dữ liệu quan hệ activiti ...................................................... 28
Bảng 3.2: Một số bất biến OCL cho RBAC metamodel .............................................. 29
Bảng 3.3: Một số ví dụ biểu diễn các quy tắc nghiệp vụ dưới dạng các bất biến OCL 30
Bảng 3.4: Một ví dụ về hai ràng buộc xung đột nhau ................................................. 32
Bảng 4.1: Đặc tả USE của RBAC metamodel............................................................. 49
Bảng 4.2: Mô tả các quy tắc nghiệp vụ bằng ngôn ngữ tự nhiên ................................ 53
Bảng 4.3: Đặc tả các quy tắc nghiệp vụ dưới dạng các bất biến OCL ........................ 54
Bảng 4.4: Bổ sung các mô tả UML vào đặc tả USE của RBAC metamodel ................ 58


vii

DANH MỤC CÁC HÌNH VẼ

Hình 2.1: Kiến trúc metamodeling 4 tầng theo tiêu chuẩn OMG . ................................6
Hình 2.2: Dạng tóm lược của siêu mơ hình UML . .......................................................7
Hình 2.3: Một ví dụ về biểu đồ lớp UML . ....................................................................8
Hình 2.4: RBAC cơ bản . ........................................................................................... 10
Hình 2.5: RBAC phân cấp . ........................................................................................ 12
Hình 2.6: SSD trong mơ hình RBAC phân cấp . ......................................................... 13
Hình 2.7: DSD trong mơ hình RBAC phân cấp . ........................................................ 14
Hình 2.8: Vịng đời quản lý quy trình nghiệp vụ . ....................................................... 17
Hình 2.9: Metamodel của biểu đồ quy trình nghiệp vụ . ............................................. 19
Hình 2.10: Các mơ đun của Activiti . ......................................................................... 20

Hình 2.11: Khung nhìn chung về cách tiếp cận USE . ................................................ 21
Hình 3.1: Tổng quan về phương pháp. ....................................................................... 24
Hình 3.2: Cài đặt Activiti Designer trên gói Eclipse Kepler. ...................................... 27
Hình 3.3: Một RBAC metamodel điển hình . .............................................................. 29
Hình 3.4: Tổng quan về cách tiếp cận thẩm định chính sách RBAC trên USE. ........... 32
Hình 3.5: Tổng quan về cách tiếp cận tạo các script. ................................................. 35
Hình 4.1: Khởi tạo StartEvent. ................................................................................... 40
Hình 4.2: Khởi tạo UserTask "Head of Department check"........................................ 41
Hình 4.3: Cấu hình người dùng được ủy quyền thực thi UserTask "Head of
Department check"..................................................................................................... 42
Hình 4.4: Cấu hình luồng nghiệp vụ chuyển tới UserTask “Assistant of Academic
Affairs Office review”. ............................................................................................... 42
Hình 4.5: Cấu hình ScriptTask "Notification1". ......................................................... 43
Hình 4.6: Khởi tạo Id và Name cho SequenceFlow. ................................................... 43
Hình 4.7: Thêm mới thuộc tính reviewResult vào Form của UserTask "Assistant of
Academic Affairs Office review". ............................................................................... 44
Hình 4.8: Mơ hình quy trình nghiệp vụ Nghiệm thu và thanh lý Hợp đồng mời giảng.
.................................................................................................................................. 44


viii

Hình 4.9: Màn hình đăng nhập Activiti Explorer. ...................................................... 45
Hình 4.10: Tải tập tin bpmn lên Activiti Explorer. ..................................................... 47
Hình 4.11: Form nhập thông tin Hợp đồng mời giảng của Giáo vụ Khoa. ................. 48
Hình 4.12: Màn hình thực thi tác vụ "Head of Department check". ............................ 48
Hình 4.13: Biểu đồ lớp của RBAC metamodel trong USE. ......................................... 52
Hình 4.14: Chính sách cơ bản của quy trình nghiệp vụ. ............................................. 59
Hình 4.15: Biểu đồ lớp UML của đặc tả chính sách RBAC được thiết kế. .................. 61
Hình 4.16: Kết quả kiểm tra tính nhất quán của chính sách RBAC. ........................... 62

Hình 4.17: TestCase1 kiểm chứng tính tn thủ chính sách RBAC. ............................ 63
Hình 4.18: TestCase2 kiểm chứng tính tn thủ chính sách RBAC. ............................ 64


Chương 1. MỞ ĐẦU

1.1.

Tính cấp thiết và lý do chọn đề tài

Chính sách an ninh là thành phần quan trọng cấu thành nên hạ tầng cốt lõi bảo vệ các
hệ thống thơng tin ngày nay. Một chính sách an ninh là một tập hợp các quy tắc kiểm
soát và điều chỉnh ngữ cảnh các hành động có thể được thực hiện bên trong một hệ
thống thơng qua các vai trị cụ thể, nó chi phối những sự lựa chọn trong hành vi hệ
thống. Nhìn chung, một chính sách an ninh có thể được đặc tả bằng một ngơn ngữ tự
nhiên [16].
Các chính sách an ninh được sử dụng ngày càng nhiều như một phương tiện để
quản lý các dịch vụ mạng và các hệ thống bảo mật. Đặc tả và kiểm chứng chính sách
an ninh là hai bước cơ bản trong việc phát triển một hệ thống an toàn. Các hệ thống
ngày nay chủ yếu được đảm bảo an toàn bởi các cơ chế bảo vệ trong quá trình vận
hành hơn là xem xét các vấn đề có thể xuất hiện trong q trình thiết kế chính sách an
ninh. Các yêu cầu an ninh bị thiếu hoặc xung đột nhau do sai sót trong thiết kế hoặc
được thực hiện khơng đúng là nguyên nhân chính gây ra các sự cố an ninh. Bất cứ một
quy tắc nào trong chính sách an ninh bị vi phạm đều có thể ảnh hưởng tới an ninh tồn
hệ thống. Do đó, đặc tả và kiểm chứng các chính sách an ninh đóng một vai trị vơ
cùng quan trọng và khơng thể thiếu trước khi các chính sách an ninh được triển khai để
giảm thiểu những thiệt hại về tài chính và tài nguyên hệ thống.
Hiện nay có nhiều phương pháp cũng như cách tiếp cận để giải quyết bài toán
đặc tả và kiểm chứng chính sách an ninh. Ở bài báo [16], các tác giả đề xuất một
khung công việc để xác định các chính sách an ninh trong đó hành vi hệ thống được

xác định bằng cách sử dụng một kỹ thuật mô tả hình thức dựa trên máy trạng thái hữu
hạn mở rộng EFSM. Trong bài báo [20], các tác giả đề xuất một cách tiếp cận hướng
mơ hình trong đó chính sách an ninh được xác định dựa trên một siêu mơ hình
(metamodel) an ninh chung, mơ hình này có thể được sử dụng để kiểm tra tính nhất
quán của chính sách an ninh. Các tác giả trong bài báo [9] đặc tả các ràng buộc uỷ
quyền phi thời gian (non-temporal) và các ràng buộc uỷ quyền dựa trên lịch sử
(history-based) trong OCL và LTL, trong đó các chính sách truy cập RBAC được
chứng minh hình thức với sự trợ giúp của một bộ chứng minh định lý (theorem
prover). Các tác giả trong bài báo [17] đề xuất một khung công việc dựa trên một
Petri-Net để kiểm chứng tính đúng đắn của các chính sách truy cập RBAC hướng sự
kiện. Ngồi ra, chính sách an ninh có thể được đặc tả và kiểm chứng bằng cách sử
dụng các phương pháp hình thức như model checking, dựa trên đồ thị [19].


2

Theo cách tiếp cận hướng mơ hình, đặc tả chính sách truy cập dựa trên ngôn ngữ
ràng buộc đối tượng OCL và các biểu đồ UML được xem như giải pháp phổ biến nhất.
Trong đó, mơ hình an ninh RBAC đã và đang được sử dụng phổ biến cho việc thiết kế
và phân tích các chính sách truy cập. Các tác giả trong bài báo [15] đã đưa ra một
chính sách truy cập RBAC đơn giản được biểu diễn dưới dạng một đặc tả USE chứa
các lớp thực thể RBAC, các association giữa chúng được định nghĩa dưới dạng các mô
tả UML và các ràng buộc uỷ quyền chuyên biệt miền được định nghĩa trong OCL.
Ngoài ra, các tác giả trong bài báo [10] đã trình bày một phương pháp hướng mơ hình
kết hợp UML với OCL để thiết kế và phân tích các chính sách truy cập dựa trên một
siêu mơ hình RBAC.
Các tiêu chuẩn mơ hình hố quy trình nghiệp vụ như EPC, biểu đồ hoạt động
UML, Petri nets … đều có một số hạn chế nhất định, chẳng hạn như khó thêm vào các
chi tiết kỹ thuật cho quy trình nghiệp vụ hoặc khơng hỗ trợ các tính năng của ngơn ngữ
lập trình. Để khắc phục những hạn chế này, tiêu chuẩn Ký hiệu và mơ hình hố quy

trình nghiệp vụ BPMN ra đời. Tiêu chuẩn BPMN hỗ trợ cả việc thiết kế quy trình
nghiệp vụ cũng như hỗ trợ các tính năng của ngơn ngữ lập trình [6,12].
Các quy tắc nghiệp vụ trong chính sách truy cập đóng vai trị kiểm sốt và điều
phối các hoạt động trong quy trình nghiệp vụ BPMN, chúng giúp các quy trình nghiệp
vụ BPMN đáp ứng đầy đủ và chính xác các yêu cầu nghiệp vụ, an ninh mà tổ chức đề
ra. Trong quá trình thực thi quy trình nghiệp vụ BPMN trên một môi trường thực thi,
một số quy tắc nghiệp vụ trong chính sách truy cập có thể khơng được kiểm tra do mơi
trường thực thi quy trình nghiệp vụ BPMN chủ yếu chỉ hỗ trợ kiểm tra các quy tắc
nghiệp vụ được xác định cho các luồng (connecting objects) theo sau các điểm quyết
định (decision gateways) trong mơ hình BPMN. Điều này dẫn đến tính tn thủ chính
sách truy cập cho các thể hiện khác nhau của quy trình nghiệp vụ BPMN đang thực thi
khơng được đảm bảo. Ngồi ra, một số vấn đề có thể xuất hiện trong q trình thiết kế
chính sách truy cập cho quy trình nghiệp vụ, chẳng hạn như thiếu các quy tắc hoặc các
quy tắc xung đột nhau do sai sót trong thiết kế hoặc được đặc tả không đúng. Điều này
dẫn đến tính nhất quán của chính sách truy cập khơng được đảm bảo.
Hiện nay chưa có một phương pháp tiếp cận nào hỗ trợ đầy đủ việc đặc tả chính
sách truy cập RBAC, kiểm tra tính nhất quán của đặc tả chính sách truy cập RBAC và
kiểm chứng tính tuân thủ chính sách truy cập RBAC cho các thể hiện khác nhau của
quy trình nghiệp vụ BPMN đang được thực thi. Vấn đề đặt ra ở đây là làm thế nào để
kiểm tra tính nhất quán của đặc tả chính sách truy cập RBAC? Các thể hiện khác nhau
của quy trình nghiệp vụ BPMN được xác định như thế nào? Làm thế nào để kiểm
chứng tính tuân thủ chính sách truy cập RBAC cho chúng?


3

Luận văn đưa ra một cách tiếp cận hướng mô hình để đặc tả và kiểm chứng chính
sách truy cập RBAC cho các thể hiện khác nhau của quy trình nghiệp vụ đang thực thi
theo mơ hình BPMN. Trong đó, chính sách truy cập RBAC được đặc tả dựa trên một
siêu mơ hình (metamodel), siêu mơ hình này được xây dựng dựa trên UML và OCL.

Việc kiểm chứng chính sách truy cập RBAC được thực hiện trên một môi trường đặc
tả OCL. Cơng cụ hỗ trợ dựa trên sự tích hợp giữa hai phần mềm mã nguồn mở Activiti
và USE.
Xuất phát từ những lý do trên, tôi đã lựa chọn đề tài “Nghiên cứu và vận dụng kỹ
thuật hướng mô hình cho đặc tả và kiểm chứng chính sách bảo mật”.

1.2.

Đối tượng và phạm vi nghiên cứu

Mơ hình điều khiển truy cập dựa trên vai trò RBAC ngày càng được sử dụng phổ biến
và đang dần thay thế mơ hình điều khiển truy cập bắt buộc và mơ hình điều khiển truy
cập tuỳ ý truyền thống. Mơ hình RBAC này luôn cần các cơ chế kiểm chứng và thẩm
định để đảm bảo tính nhất quán và tính đúng đắn của chính sách truy cập RBAC [15].
Quy trình nghiệp vụ có vai trò rất quan trọng đối với bất cứ tổ chức nào, việc
quản lý quy trình nghiệp vụ cũng quan trọng không kém. Trong thực tiễn, các yêu cầu
nghiệp vụ thường xuyên thay đổi nên việc cập nhật, quản lý và nắm rõ quy trình
nghiệp vụ sẽ trở nên khó khăn nếu khơng có một khung cơng việc quản lý quy trình
nghiệp vụ BPM. Trong phạm vi luận văn, hướng tiếp cận của BPM tập trung vào các
mơ hình BPMN.
Phạm vi nghiên cứu trong luận văn là chính sách truy cập RBAC, quy trình
nghiệp vụ BPMN. Cơng việc đặc tả và kiểm chứng chính sách truy cập RBAC dựa
trên cách tiếp cận hướng mơ hình để xây dựng và kiểm tra một phần của chính sách an
ninh trong q trình thực thi quy trình nghiệp vụ theo mơ hình BPMN. Đây là cơ sở
khoa học và thực tiễn của đề tài “Nghiên cứu và vận dụng kỹ thuật hướng mô hình cho
đặc tả và kiểm chứng chính sách bảo mật”.

1.3.

Mục tiêu nghiên cứu


Luận văn nghiên cứu, tìm hiểu tổng quan về mơ hình an ninh RBAC theo cách tiếp cận
hướng mơ hình kết hợp UML với OCL. Luận văn cũng tìm hiểu tổng quan phương
pháp đặc tả, biểu diễn, giám sát và thực thi quy trình nghiệp vụ BPMN.
Mục tiêu chính của luận văn là nghiên cứu đưa ra cách tiếp cận hướng mơ hình
để đặc tả và kiểm chứng chính sách truy cập RBAC trong q trình thực thi quy trình
nghiệp vụ theo mơ hình BPMN.


4

Ngồi ra, luận văn nghiên cứu xây dựng cơng cụ hỗ trợ dựa trên sự tích hợp giữa
hai phần mềm mã nguồn mở Activiti và USE. Cuối cùng, luận văn đưa ra một bài tốn
thực nghiệm là một quy trình nghiệp vụ thực tế đang diễn ra tại Học viện Kỹ thuật mật
mã nhằm vận dụng các kết quả đạt được trong luận văn. Qua đó, chứng minh tính hữu
ích và khả năng áp dụng các kết quả đạt được trong luận văn vào thực tiễn.

1.4.

Cấu trúc luận văn

Về bố cục, luận văn được cấu trúc thành 4 chương như sau:
Chương 1 trình bày tính cấp thiết và lý do lựa chọn đề tài, đối tượng và phạm vi
nghiên cứu trong luận văn, mục tiêu nghiên cứu và cấu trúc của luận văn.
Chương 2 trình bày cơ sở lý thuyết và một số công cụ hỗ trợ được sử dụng trong
luận văn.
Chương 3 trình bày chi tiết cách tiếp cận hướng mơ hình luận văn đưa ra.
Chương 4 trình bày một bài toán thực nghiệm cụ thể để vận dụng các kết quả đạt
được trong luận văn.
Cuối cùng là phần kết luận trình bày tổng quan về các kết quả đạt được trong

luận
văn,
hạn
chế

hướng
phát
triển.


Chương 2. KIẾN THỨC NỀN TẢNG

Chương này trình bày cơ sở lý thuyết và các công cụ hỗ trợ được sử dụng trong luận
văn bao gồm kiến trúc metamodeling, ngôn ngữ ràng buộc đối tượng OCL, mơ hình
điều khiển truy cập dựa trên vai trị RBAC, quản lý quy trình nghiệp vụ, tiêu chuẩn
BPMN và hai phần mềm mã nguồn mở Activiti và USE.

2.1.

Lược đồ hướng mơ hình

Trong phần này, luận văn trình bày tổng quan về kiến trúc metamodeling, siêu mơ
hình metamodel và ngơn ngữ ràng buộc đối tượng OCL.
2.1.1. Kiến trúc metamodeling
Động lực cơ bản của phát triển phần mềm hướng mơ hình MDSD (Model-Driven
Software Development) là nâng cao năng suất và chất lượng phát triển phần mềm bằng
cách nâng cao mức độ trừu tượng. Có 4 loại thay đổi chính ảnh hưởng đến vịng đời
của các chế tác phần mềm bao gồm: Thay đổi nền tảng triển khai; thay đổi nền tảng
phát triển; thay đổi yêu cầu; thay đổi nhân sự. Thông qua việc chuyển trọng tâm phát
triển từ mã nguồn sang các mơ hình có mức độ trừu tượng chống lại các thay đổi được

đề cập ở trên, có thể cải thiện đáng kể vịng đời của các chế tác phần mềm. Để chống
lại các thay đổi đe doạ đến vòng đời của các chế tác phần mềm, các kỹ thuật
metamodeling ra đời [21].
Metamodeling mở rộng và bổ sung cho các cơng nghệ mơ hình hố và hướng đối
tượng hiện có, chẳng hạn như metamodeling trực tiếp hỗ trợ đặc tả của ngơn ngữ mơ
hình hố UML. Việc sử dụng metamodeling trong thiết kế hệ thống cho phép trừu
tượng hoá các khái niệm của một số miền ứng dụng khác nhau, nó cung cấp khả năng
khai thác siêu dữ liệu (metadata) phục vụ cho các tác vụ thiết kế hệ thống như phân
tích, kiểm chứng …
Một trong những công nghệ metamodeling cơ bản theo tiêu chuẩn OMG (Object
Management Group) là kiến trúc phân cấp 4 tầng truyền thống, dựa trên ý tưởng phân
loại. Các tầng trong kiến trúc metamodeling được xác định bởi các mối quan hệ “thể
hiện của” (instance-of) giữa chúng. Hình 2.1 dưới đây thể hiện kiến trúc metamodeling
4 tầng theo tiêu chuẩn OMG:


6

Hình 2.1: Kiến trúc metamodeling 4 tầng theo tiêu chuẩn OMG [4].

Các tầng trong kiến trúc metamodeling được mô tả như sau [4]:
• Tầng M3 (Meta-metamodel): Tầng này xác định các khái niệm, các thuộc tính
và mối quan hệ giữa các phần tử ở tầng M2, trong khi các phần tử ở tầng M2
chính là các thể hiện của các phần tử ở tầng M3. Trong tầng này, OMG đã chỉ
định một ngôn ngữ, một tiêu chuẩn được sử dụng để mô tả tất cả các phần tử ở
tầng M2 được gọi là MOF (Meta-Object Facility).
• Tầng M2 (Metamodel): Tầng này xác định các phần tử hợp lệ trong mô hình cụ
thể ở tầng M1, trong khi các phần tử ở tầng M1 chính là các thể hiện của các
phần tử ở tầng M2, chẳng hạn như UML.
• Tầng M1 (Model): Tầng này xác định các phân loại cho các phần tử ở tầng M0,

trong khi các phần tử ở tầng M0 chính là các thể hiện của các phần tử ở tầng
M1, chẳng hạn như biểu đồ lớp UML.
• Tầng M0: Các phần tử trong thế giới thực.
Thuật ngữ metamodel (tầng M2) có nhiều cách định nghĩa khác nhau:
• Một mơ hình khái niệm, nó xác định các khái niệm, các mối quan hệ và ngữ
nghĩa. Metamodel cho phép tạo ra các mơ hình cụ thể. (Nenad Stefanovic, and
Bozidar Radenkovic. An Integrated Approach to Supply Chain Simulation.
2018)
• Một mơ hình được sử dụng để mơ tả cấu trúc và các thành phần của mơ hình
khác. (Ritu Sharma, and Manu Sood. Mitigating Technology Obsolescence in
Cloud Software Services: A Model-Driven Approach. 2014.)


7

Hình 2.2 dưới đây thể hiện dạng tóm lược của siêu mơ hình UML:

Hình 2.2: Dạng tóm lược của siêu mơ hình UML [3].

2.1.2. Ngơn ngữ ràng buộc đối tượng OCL
Ngôn ngữ ràng buộc đối tượng OCL (Object Constraint Language) là ngơn ngữ đặc tả
hình thức để định nghĩa các ràng buộc và truy vấn các mơ hình UML, nó có ngữ nghĩa
chính xác và là một phần của tiêu chuẩn UML.
OCL ra đời để khắc phục những hạn chế của ngơn ngữ mơ hình hố thống nhất
UML, chẳng hạn như chỉ định chính xác các khía cạnh chi tiết của một thiết kế hệ
thống. OCL có thể được sử dụng cho một số mục đích sau đây:
• Kiểm chứng mơ hình: Ta có thể sử dụng các ràng buộc OCL để kiểm tra tính
đúng đắn của các siêu mơ hình UML dưới sự trợ giúp của các cơng cụ OCL.
Chẳng hạn, một siêu mơ hình UML có ràng buộc là tất cả các association phải
có tên khác nhau. Ràng buộc này được chuyển thành ràng buộc OCL như sau:

context Classifier inv singleIdentity:
self.allConnections()->forAll(a1,a2|a1.name=a2.name implies a1=a2)


8

• Đặc tả các quy tắc nghiệp vụ/các ràng buộc: Cho một biểu đồ lớp UML như
Hình 2.3 dưới đây:

Hình 2.3: Một ví dụ về biểu đồ lớp UML [7].

Trong Hình 2.3, ta có thể sử dụng OCL để đặc tả ràng buộc giữa hai thuộc tính
start và end của lớp Meeting như sau:
context Meeting inv: self.end > self.start
• Đánh giá các quy tắc nghiệp vụ/các ràng buộc: Ràng buộc giữa hai thuộc
tính start và end của lớp Meeting ở trên có thể được tự động kiểm tra trên một
số cơng cụ OCL, chẳng hạn như USE (mục 2.4.2).
• Mở rộng UML, thêm ngữ nghĩa chính xác cho các mơ hình trực quan
UML: Nhiều chi tiết quan trọng trong thiết kế hệ thống không thể được định
nghĩa bằng cách sử dụng những ký hiệu của biểu đồ lớp UML, một số khía
cạnh nghiệp vụ biểu đồ lớp UML khơng hỗ trợ.


9

Chẳng hạn, ta có thể sử dụng OCL để mơ tả khả năng áp dụng của phương thức
shift của lớp Meeting trong Hình 2.3 bằng cách khai báo thêm ràng buộc
precondition/postcondition như sau:
context Meeting::shift(d:Integer)
pre: self.isConfirmed = false and d > 0

context Meeting::shift(d:Integer)
post: start = start@pre+d and end = end@pre+d

Mô tả ngơn ngữ ràng buộc đối tượng OCL được trình bày chi tiết trong [8,11].
Bảng 2.1 dưới đây liệt kê một số cơng cụ OCL và các tính năng chúng hỗ trợ:
Bảng 2.1: Một số cơng cụ OCL và các tính năng chúng hỗ trợ [11]

2.2.

Mơ hình điều khiển truy cập dựa trên vai trị RBAC

Trong phần này, luận văn trình bày tổng quan về các mơ hình tham chiếu RBAC bao
gồm mơ hình RBAC cơ bản, mơ hình RBAC phân cấp, mơ hình RBAC ràng buộc và
giới thiệu sơ lược các tính năng của một số ngơn ngữ đặc tả RBAC.
2.2.1. Tiêu chuẩn RBAC
Điều khiển truy cập là khả năng cho phép hoặc hạn chế người dùng thực hiện thao tác
nhất định trên tài nguyên. Điều khiển truy cập bao gồm 3 bước cơ bản: Định danh, xác
thực và uỷ quyền. Có một số loại điều khiển truy cập như điều khiển truy cập tùy ý,
điều khiển truy cập bắt buộc, điều khiển truy cập dựa trên luật và điều khiển truy cập
dựa trên vai trò RBAC (Role Based Access Control ). Trong đó RBAC là một tiêu


10

chuẩn được chấp nhận rộng rãi và đang dần thay thế cho điều khiển truy cập bắt buộc
và điều khiển truy cập tùy ý truyền thống [1]. Dưới đây là một số nguyên tắc cơ bản
trong tiêu chuẩn RBAC:
• Quyết định cấp quyền truy cập tới một đối tượng cho một người dùng được dựa
trên vai trị người dùng đó được gán.
• Các vai trị được xác định dựa trên các chức năng cơng việc.

• Các quyền hạn được xác định dựa trên trách nhiệm và thẩm quyền công việc
trong một chức năng cơng việc.
• Các thao tác trên một đối tượng được gọi tới dựa trên các quyền hạn.
Tiêu chuẩn RBAC gồm 2 phần chính: Các mơ hình tham chiếu RBAC và đặc tả
u cầu [1].
• Mơ hình tham chiếu RBAC xác định tập các phần tử RBAC cơ bản (chẳng hạn
như người dùng, vai trò, quyền hạn, thao tác và đối tượng) và các mối quan hệ
được bao hàm trong mơ hình tham chiếu RBAC này.
• Đặc tả yêu cầu xác định các tính năng cần thiết cho một hệ thống RBAC.
Trong đó, các mơ hình tham chiếu RBAC được xác định bởi 4 thành phần mơ
hình: RBAC cơ bản, RBAC phân cấp, các mối quan hệ tách biệt nhiệm vụ tĩnh SSD
(Static Separation of Duty) và các mối quan hệ tách biệt nhiệm vụ động DSD
(Dynamic Separation of Duty).
2.2.2. Mơ hình RBAC cơ bản
Mơ hình RBAC cơ bản được thể hiện như Hình 2.4 dưới đây:

Hình 2.4: RBAC cơ bản [1].


11

• USERS: Khái niệm về USERS ở đây cần được hiểu theo nghĩa rộng, nó có thể
là máy tính, tác nhân hoặc một hệ thống khác ...
• ROLES: Một chức năng công việc trong một tổ chức kèm theo một định nghĩa
rõ ràng về trách nhiệm và thẩm quyền của nó.
• OPERATIONS: Một sự thực thi một chức năng xác định trong chương trình
được gọi tới bởi một người dùng.
• OBJECTS: Một thực thể chứa hoặc nhận thông tin hoặc các tài nguyên hệ
thống.
• User Assignment (UA): Một người dùng có thể được gán một hoặc nhiều vai

trị, một vai trị có thể được gán cho một hoặc nhiều người dùng.
• PERMISSIONS: Sự cấp quyền thực hiện một thao tác trên một tài nguyên
được bảo vệ.
• Permission Assignment (PA): Một permission có thể được gán cho một hoặc
nhiều vai trị, một vai trị có thể được gán một hoặc nhiều permission.
• SESSIONS: Mỗi phiên là một ánh xạ giữa một người dùng và một vai trò được
gán tương ứng.
Ta lấy một website Tin Tức làm ví dụ với giả định các bài viết là tài nguyên duy
nhất trên website này. Bảng 2.2 dưới đây minh hoạ các khái niệm RBAC cơ bản của
website Tin Tức này:

Bảng 2.2: Một ví dụ về các khái niệm RBAC cơ bản của một website Tin Tức

USERS

ROLES

User1

Visitor

SESSIONS

User1.article1.session

PERMISSIONS
OPERATIONS

Search
Read


OBJECTS

article1

Search
User2

User

User2.article2.session

Read

article2

Comment
Write
User3

Writer

User3.article3.session

Search
Read

article3



12

Comment
Write
Publish
Edit
User4

Administrator User4.article4.session

Delete

article4

Search
Read
Comment

Trong bảng trên, tập các người dùng User1, User2, User3, User4 được gán tương
ứng các vai trò Visitor, User, Writer, Administrator thông qua mối quan hệ UA. Tập
các permission tương ứng được gán cho các vai trò Visitor, User, Writer,
Administrator thơng qua mối quan hệ PA.
2.2.3. Mơ hình RBAC phân cấp
Mơ hình RBAC phân cấp được thể hiện như Hình 2.5 dưới đây:

Hình 2.5: RBAC phân cấp [1].

Mơ hình RBAC phân cấp bổ sung thêm khái niệm phân cấp vai trị Role
Hierarchy (RH) vào mơ hình RBAC cơ sở. Khái niệm RH xác định mối quan hệ kế
thừa giữa các vai trị, trong đó vai trị cấp cao hơn có tất cả các permission của vai trị



13

cấp thấp hơn. Có 2 loại phân cấp vai trị RH là General RH và Limited RH, trong đó
General RH hỗ trợ đa kế thừa.
Các vai trò Visitor, User, Writer, Administrator trong Bảng 2.2 có mối quan hệ
kế thừa lẫn nhau (loại General RH), trong đó Administrator là vai trị cấp cao nhất còn
Visitor là vai trò cấp thấp nhất.
2.2.4. Mơ hình RBAC ràng buộc
Mơ hình RBAC ràng buộc bổ sung thêm mối quan hệ tách biệt nhiệm vụ SoD
(Separation of Duty) vào mơ hình RBAC phân cấp. SoD là một nguyên tắc cơ bản
trong các hệ thống an ninh, nó đã được thừa nhận và ứng dụng rộng rãi trong rất nhiều
lĩnh vực. SoD được xem xét như một yêu cầu “Các hoạt động phải được phân chia cho
hai hoặc nhiều người dùng để khơng ai có thể gây hại đến an ninh” [15]. Mối quan hệ
SoD có 2 loại là tách biệt nhiệm vụ tĩnh SSD (Static Separation of Duty) và tách biệt
nhiệm vụ động DSD (Dynamic Separation of Duty).
Các mối quan hệ SSD đặt các ràng buộc vào trong việc gán các vai trò cho các
người dùng, tư cách thành viên trong một vai trị có thể ngăn người dùng đó trở thành
thành viên của một hoặc nhiều vai trò khác khi các luật SSD được thực thi. Hình 2.6
dưới đây thể hiện mối quan hệ SSD được thêm vào mơ hình RBAC phân cấp:

Hình 2.6: SSD trong mơ hình RBAC phân cấp [1].

Trong Bảng 2.2, người dùng User3 với vai trị Writer sẽ khơng thể có vai trò
Administrator khi luật SSD được viết bằng OCL dưới đây được thực thi:


14


Bảng 2.3: Một ví dụ về ràng buộc SSD

context User
inv SSDforWA:
let
Writer:Role=Role.allInstances->any(name='Writer'),
Administrator:Role=Role.allInstances->any(name='Administrator'),
CR:Set(Role)=Set{Writer, Administrator}
in
self.role_->intersection(CR)->size() < CR->size()

Các mối quan hệ DSD giống các mối quan hệ SSD ở chỗ chúng đều hạn chế khả
năng cấp quyền cho người dùng. Tuy nhiên, các mối quan hệ DSD khác với các mối
quan hệ SSD ở ngữ cảnh áp đặt những hạn chế cấp quyền cho người dùng. Các luật
DSD hạn chế khả năng cấp quyền cho người dùng bằng cách đặt các ràng buộc lên
các vai trị được kích hoạt trong các phiên người dùng. Hình 2.7 dưới đây thể hiện
mối quan hệ DSD được thêm vào mơ hình RBAC phân cấp:

Hình 2.7: DSD trong mơ hình RBAC phân cấp [1].

Các mối quan hệ DSD cho phép người dùng phát hiện ra hai hoặc nhiều vai trò
xung đột với nhau. Các luật DSD ngăn chặn vi phạm bằng cách đặt các ràng buộc lên
các vai trị có thể được kích hoạt trong bất cứ phiên người dùng nào, nó hạn chế sự kết
hợp của các quyền cấp cho người dùng.


15

Hiện nay có khá nhiều ngơn ngữ đặc tả RBAC như LTL, UML/OCL, TOCL,
RCL 2000 … Bảng 2.4 dưới đây thể hiện các tính năng của một số ngơn ngữ đặc tả

RBAC:
Bảng 2.4: Các tính năng của một số ngơn ngữ đặc tả RBAC [9]

RCL 2000

UML/OCL

LTL

TOCL

Các ràng buộc SSD

Hỗ trợ

Hỗ trợ

Hỗ trợ

Hỗ trợ

DSD đơn giản

Hỗ trợ

Hỗ trợ

Hỗ trợ

Hỗ trợ


Không hỗ trợ

Không hỗ trợ

Hỗ trợ

Hỗ trợ

Các ràng buộc
luồng công việc

Không hỗ trợ

Không hỗ trợ

Hỗ trợ

Hỗ trợ

Điều kiện tiên quyết
roles/permissions

Hỗ trợ

Hỗ trợ

Hỗ trợ

Hỗ trợ


Các ràng buộc ngữ
cảnh liên quan đến
vị trí

Khơng hỗ trợ

Hỗ trợ

Hỗ trợ

Hỗ trợ

Các ràng buộc ngữ
cảnh liên quan đến
thời gian

Không hỗ trợ

Hiện tại
không hỗ trợ

Hiện tại
Hiện tại
không hỗ trợ không hỗ trợ

Hỗ trợ

Hiện tại
Hiện tại

không hỗ trợ không hỗ trợ

Thẩm định
với USE

Kiểm chứng
Hiện tại
hình thức
khơng hỗ trợ
với Isabelle

Các ràng buộc SoD
dựa trên lịch sử

Công cụ uỷ quyền
Kiểm chứng / Thẩm
định

Hiện tại
khơng hỗ trợ
Khơng hỗ trợ

Mơ hình điều khiển truy cập dựa trên vai trị RBAC có một số lợi ích sau đây:
• Tính khả dụng cao, hầu hết các ứng dụng trong thực tiễn đều có thể sử dụng mơ
hình điều khiển truy cập dựa trên vai trị RBAC.
• Đơn giản, hiệu quả trong việc quản lý cấp quyền truy cập cho người dùng,
nhóm người dùng.
• Mơ hình RBAC phân cấp ngăn chặn sự gia tăng các vai trò, tăng khả năng tái
sử dụng.



×