1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

79 13 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 5,07 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 t

Trang 1

NGUYỄN ĐỨC HIẾU

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

Hà Nội, 2019NGHIÊ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

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

NGUYỄN ĐỨC HIẾU

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

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

Trang 3

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

Trang 4

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 quá 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

Trang 5

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 hoá quy trình nghiệp vụ 26

Trang 6

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

3.4 Đặ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 toá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 hoá 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

Trang 7

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

UML

nhất

Programming Language

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

vai trò

trình nghiệp vụ

Trang 8

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

Trang 9

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

Trang 10

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 tuân thủ chính sách RBAC 63

Hình 4.18: TestCase2 kiểm chứng tính tuân thủ chính sách RBAC 64

Trang 11

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 quá 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 toà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 Ngoà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]

Trang 12

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 hoá 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 hoá 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 soá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 tuân 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 Ngoài ra, một số vấn đề có thể xuất hiện trong quá 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?

Trang 13

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 quá 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 quá trình thực thi quy trình nghiệp vụ theo mô hình BPMN

Trang 14

Ngoà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 toá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

Trang 15

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 hoá 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 hoá 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:

Trang 16

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.)

Trang 17

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 hoá 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)

Trang 18

• Đặ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ợ

Trang 19

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

Trang 20

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ả yê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]

Trang 21

• 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

Comment

Write

article3 Search

Read

Trang 22

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:

Trang 23

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:

Trang 24

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

Trang 25

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]

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

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

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

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

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

Kiểm chứng / Thẩm

Thẩm định với USE

Kiểm chứng hình thức với Isabelle

Hiện tại 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

Trang 26

Mô hình điều khiển truy cập dựa trên vai trò RBAC có một số hạn chế sau đây:

• Không phù hợp với các ứng dụng không xác định được các tài nguyên cần được bảo vệ

• Các chính sách RBAC thường trở nên phức tạp trong các tổ chức có quy mô lớn

2.3 Mô hình quy trình nghiệp vụ

Trong phần này, luận văn trình bày tổng quan về quản lý quy trình nghiệp vụ BPM và tiêu chuẩn mô hình hoá quy trình nghiệp vụ BPMN 2.0

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

Một quy trình nghiệp vụ là một hoạt động hoặc một tập các hoạt động để hoàn thành một mục tiêu cụ thể của tổ chức Quản lý quy trình nghiệp vụ BPM là một cách tiếp cận có hệ thống để làm cho luồng công việc của một tổ chức hiệu quả hơn, có khả năng thích ứng tốt hơn với môi trường luôn thay đổi (Rouse 2011, Jeston and Nelis

2006)

Quy trình xử lý đơn hàng, quy trình thanh toán, quy trình đảm bảo chất lượng, quy trình quản lý rủi ro, quy trình lắp ráp sản phẩm, quy trình bàn giao sản phẩm … là các ví dụ về quy trình nghiệp vụ

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 có tầm quan trọng không kém Dưới đây là một số định nghĩa khác về thuật ngữ BPM (Business Process Management):

BPM là tập các nguyên lý, phương pháp và công cụ để phân tích, thiết kế, thực thi và giám sát các quy trình nghiệp vụ (Marlon Dumas 2014)

BPM là một cách tiếp cận có hệ thống hướng đến việc nắm bắt, thiết kế, thực thi, lập tài liệu, giám sát và kiểm soát các quy trình tự động cũng như không tự động nhằm đáp ứng các mục tiêu phù hợp với chiến lược kinh doanh, hoạt động của một công ty, một tổ chức 1

Scheer (2006) trong cuốn sách của mình đã phân biệt 2 loại BPM sau: BPM kinh doanh và BPM công nghệ Dưới góc nhìn của Scheer, việc thực hiện BPM kinh

doanh giống như triết lý quản lý trong doanh nghiệp; nó xem xét các khía cạnh như chi

1 European Association of Business Process Management (EABPM), http://www.eabpm.org/

Trang 27

phí, thời gian, số lượng và tài nguyên khi thực hiện các quy trình kinh doanh BPM kinh doanh nhằm mục đích cải tiến và tối ưu hoá quy trình Trong khi đó, mục đích của BPM công nghệ là tự động hoá các quy trình nghiệp vụ một cách hiệu quả và linh hoạt nhất có thể Việc tự động hoá một quy trình nghiệp vụ trong BPM công nghệ nhằm cung cấp một ứng dụng phù hợp với quy trình nghiệp vụ được xác định, trong đó các mô hình quy trình nghiệp vụ và các mô tả quy trình được sử dụng để hướng dẫn việc thực hiện các hoạt động nghiệp vụ trong quy trình [21]

Hình 2.8 dưới đây thể hiện vòng đời quản lý quy trình nghiệp vụ:

Hình 2.8: Vòng đời quản lý quy trình nghiệp vụ [6]

Các pha trong vòng đời quản lý quy trình nghiệp vụ được mô tả như sau [6]:

• Pha Design: Chịu trách nhiệm cho việc nhận biết và thiết kế một quy trình

nghiệp vụ Pha này tập trung vào việc xác định các hoạt động, phân tích những thay đổi có thể xảy ra trong tổ chức, định nghĩa các thỏa thuận mức dịch vụ và xác định các chi tiết của quy trình như các actor, các thông báo Mục đích chính của pha này là đảm bảo một thiết kế lý thuyết chính xác và hiệu quả được chuẩn bị

• Pha Modeling: Quy trình nghiệp vụ được thẩm định và quy định đầy đủ Trong

pha này, mô hình quy trình nghiệp vụ lý thuyết được thiết kế bằng cách sử dụng các phần tử mô hình hóa của tiêu chuẩn BPMN Pha này chủ yếu thuộc trách nhiệm của các nhà phân tích và tích hợp hệ thống

• Pha Execution: Một khi thiết kế lý thuyết được chuyển đổi thành một mô hình,

nó có thể được cài đặt trong ứng dụng để tự động hóa việc thực thi của quy trình Trong pha này, các dịch vụ được xác định để tự động hóa quy trình nghiệp vụ Các ngôn ngữ được sử dụng để tạo ra các dịch vụ này là WSBPEL

Trang 28

và BPMN 2.0 Pha này thuộc trách nhiệm của các nhà phát triển quy trình nghiệp vụ

• Pha Monitoring: Theo dõi các quy trình riêng lẻ, giám sát hiệu năng của từng

quy trình để có được thông tin thống kê và đồng thời duy trì được các trạng thái của quy trình Trong pha giám sát, các vấn đề bên trong một quy trình nghiệp

vụ có thể được xác định, ta cần thực hiện các biện pháp khắc phục nhằm cải tiến nó

• Pha Optimization: Trong pha tối ưu hóa, thông tin về hiệu năng của quy trình

được lấy từ pha giám sát và các cải tiến bên trong quy trình cũng như các thay đổi về yêu cầu nghiệp vụ được xác định Một khi pha tối ưu hóa được hoàn thành, vòng đời quản lý quy trình nghiệp vụ được hoàn tất

2.3.2 Tiêu chuẩn BPMN

Có nhiều tiêu chuẩn khác nhau để mô hình hoá quy trình nghiệp vụ như EPC, biểu đồ hoạt động UML, Petri nets … Tuy nhiên, phần lớn trong số chúng đều có hạn chế nhất định, không hỗ trợ các tính năng của ngôn ngữ lập trình Khi thiết kế một quy trình nghiệp vụ, việc thêm các chi tiết kỹ thuật nhất định vào quy trình nghiệp vụ là rất khó khăn nếu dựa trên những tiêu chuẩn trên Để giải quyết vấn đề này, tiêu chuẩn Ký hiệu

và mô hình hoá quy trình nghiệp vụ BPMN ra đời Tiêu chuẩn này 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] Hình 2.9 dưới đây biểu diễn các thành phần chính của một biểu đồ quy trình nghiệp vụ bao gồm Flow Object, Connecting Element, Swimlane và Artifact dưới dạng một siêu mô hình:

Trang 29

Hình 2.9: Metamodel của biểu đồ quy trình nghiệp vụ [2]

Trong đó:

• Flow Object: Các phần tử đồ họa chính được sử dụng để xác định hành vi của

một quy trình nghiệp vụ Nó bao gồm Events, Activities và Gateways

• Connecting Element: Có 3 cách để liên kết các Flow Object lại với nhau bao

gồm Sequence Flow, Message Flow và Association

• Swimlane: Có 2 cách để nhóm các phần tử mô hình hóa thông qua làn bơi là

Pool và Lane

• Artifact: Được sử dụng để cung cấp thêm thông tin cho quy trình nghiệp vụ

Nó bao gồm Group, Text Annotation và Data Object

Các phần tử BPMN 2.0 được mô tả chi tiết trong [12]

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

Activiti là một trong những khung công việc BPM tốt nhất hiện nay, một chuẩn thực thi các quy trình nghiệp vụ, một nền tảng để thiết kế và triển khai các quy trình nghiệp

vụ một cách nhanh chóng Trong khi USE là công cụ OCL duy nhất cho phép giám sát

sự tương tác giữa các bất biến OCL, một công cụ hỗ trợ việc thẩm định các mô tả UML và OCL [6,10] Trong phần này, luận văn trình bày tổng quan về hai phần mềm

mã nguồn mở Activiti và USE

Trang 30

Hình 2.10: Các mô đun của Activiti [6].

2.4.1 Công cụ Activiti

Activiti là một phần mềm mã nguồn mở, viết bằng Java và được phân phối theo giấy phép của Apache V2 Nó là một giải pháp tốt để mô hình hoá, tự động hoá và tối ưu hoá các quy trình nghiệp vụ Hình 2.10 dưới đây thể hiện các mô đun của Activiti:

Trong đó:

• 3 thành phần Activiti Modeler, Activiti Designer và Activiti Kickstart là 3 thành phần trong pha mô hình hóa được sử dụng để thiết kế quy trình nghiệp

vụ

• Activiti Modeler là một công cụ được sử dụng để thiết kế quy trình nghiệp vụ

dựa trên nền tảng web, nó có thể được sử dụng như là một phần của ứng dụng web Activiti Explorer và nó hỗ trợ tất cả các phần tử mô hình hoá của tiêu chuẩn BPMN

• Activiti Designer là một công cụ được sử dụng để thiết kế workflow trên

Eclipse của Activiti, nó có thể được sử dụng để thêm vào các chi tiết kỹ thuật cho quy trình nghiệp vụ, đây là điểm khác biệt so với Activiti Modeler

• Activiti Engine có thể được tích hợp với ứng dụng của ta, nó là một thành phần

tại Runtime

• 2 thành phần Activiti Explorer và Activiti Rest là 2 thành phần trong pha quản

lý được sử dụng để xử lý và thực thi quy trình nghiệp vụ

Trang 31

chính của USE là kiểm tra các tiêu chí để đánh giá chất lượng phần mềm (chẳng hạn kiểm tra tính đúng đắn của các mô tả UML ở mức thiết kế độc lập với cài đặt) [5,15]

Đặc tả USE chứa một mô tả dạng văn bản của một mô hình bằng cách sử dụng các đặc trưng trong biểu đồ lớp UML (các lớp, các association …) Các biểu thức

trong đặc tả USE được viết bằng ngôn ngữ ràng buộc đối tượng OCL, chúng có thể được sử dụng để chỉ định các ràng buộc toàn vẹn thêm vào mô hình [5]

Các trạng thái hệ thống (các snapshot của một hệ thống đang được thực thi) có thể được tạo ra và với mỗi snapshot, các ràng buộc OCL sẽ được tự động kiểm tra Thông tin về một trạng thái hệ thống được cung cấp thông qua các khung nhìn đồ họa Các biểu thức OCL có thể được thêm vào đặc tả USE để đánh giá về trạng thái hệ thống [5]

Hình 2.11 dưới đây thể hiện khung nhìn chung về cách tiếp cận USE:

Hình 2.11: Khung nhìn chung về cách tiếp cận USE [5]

Ngôn ngữ đặc tả USE dựa trên UML và OCL Từ phiên bản 3.0 trở đi, ngôn ngữ dòng lệnh cũ của USE được thay thế bằng một ngôn ngữ lập trình đầy đủ SOIL, một ngôn ngữ lập trình mệnh lệnh dựa trên OCL đơn giản (Simple OCL-based Imperative Programming Language) Mô tả chi tiết về ngôn ngữ lập trình SOIL có trong [18]

2.5 Tổng kết chương

Chương này đã trình bày một bức tranh tổng thể về kiến thức nền tảng được sử dụng trong luận văn bao gồm kiến trúc metamodeling, siêu mô hình metamodel, ngôn ngữ ràng buộc đối tượng OCL, tiêu chuẩn RBAC và quản lý quy trình nghiệp vụ Tiêu chuẩn RBAC bao gồm các mô hình tham chiếu RBAC và hai khái niệm quan trọng là tách biệt nhiệm vụ tĩnh SSD và tách biệt nhiệm vụ động DSD Ngoài ra, chương này cũng giới thiệu về tiêu chuẩn Ký hiệu và mô hình hoá quy trình nghiệp vụ BPMN, công cụ hỗ trợ Activiti và khung nhìn chung về cách tiếp cận USE

Trang 32

Chương này tập trung đư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 quá trình thực thi quy trình nghiệp vụ theo mô hình BPMN Quy trình BPMN được đặc tả và thực thi trên một khung công việc BPM Chính sách truy cập RBAC được đặc tả dựa trên một metamodel, metamodel này được xây dựng dựa trên UML và OCL để biểu diễn mô hình an ninh RBAC Các trạng thái thực thi nghiệp vụ được chuyển về môi trường đặc tả OCL để kiểm chứng Việc kiểm chứng chính sách truy cập RBAC bao gồm hai tác vụ chính, kiểm tra tính nhất quán của đặc tả chính sách RBAC và kiểm chứng tính tuân thủ chính sách RBAC cho các thể hiện khác nhau của quy trình BPMN đang được thực thi Công cụ hỗ trợ được xây dựng dựa trên sự tích hợp giữa Activiti và USE

3.1 Giới thiệu

Các quy trình nghiệp vụ có thể được phân tích và thiết kế ở các mức độ trừu tượng khác nhau Theo quan điểm này, ta thường phân biệt các mô hình quy trình nghiệp vụ dành riêng cho việc phân tích, cải tiến nghiệp vụ và các mô hình dành cho việc tự động hoá Ở mức tự động hoá, trọng tâm là làm thế nào các quy trình nghiệp vụ có thể thực thi được Điều này đòi hỏi phải cung cấp các đặc tả chi tiết về các mô hình dữ liệu, các chính sách phân bổ công việc, các giao diện người dùng (Decker và các cộng

sự, 2010)

Thiết kế một mô hình quy trình nghiệp vụ có thể thực thi được là bước đầu tiên

để tự động hoá một quy trình nghiệp vụ, mô hình quy trình này có thể được tạo ra bằng cách sử dụng các ký hiệu mô hình hoá BPMN như user tasks, mail tasks, sequence flows, gateways … Sau đó, luồng công việc trong mô hình quy trình này có thể được thực hiện trên một môi trường thực thi quy trình BPMN để tạo ra các thể hiện của quy trình này BPMN engine sẽ đánh giá điều kiện rẽ nhánh giữa các luồng nghiệp vụ tại từng gateway, gửi các tin nhắn hoặc các email, gọi ra các dịch vụ web, gán các tác vụ cho người dùng hoặc nhóm người dùng cụ thể Các hành động này được thực hiện trên một môi trường thực thi quy trình BPMN được cung cấp bởi một khung công việc BPM [21]

Trong chính sách truy cập của quy trình nghiệp vụ BPMN, các quy tắc nghiệp vụ đóng vai trò kiểm soá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

Các quy trình nghiệp vụ BPMN được thực hiện trên một môi trường thực thi được cung cấp bởi một khung công việc BPM Môi trường thực thi quy trình nghiệp

Trang 33

vụ BPMN thường chỉ hỗ trợ kiểm tra một số quy tắc nghiệp vụ nhất định, chủ yếu là các quy tắc nghiệp vụ được xác định cho các luồng (connecting elements) theo sau các điểm quyết định (decision gateways) trong mô hình BPMN Nó không đảm bảo kiểm tra được tất cả các quy tắc nghiệp vụ trong chính sách truy cập Các vấn đề bên trong quy trình nghiệp vụ BPMN nếu được phát hiện cũng chỉ liên quan đến các sai sót trong thiết kế, đặc tả mô hình BPMN mà không phải các vấn đề liên quan đến việc vi phạm chính sách an ninh

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 [9,10,15,17] Mô hình an ninh 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 đặc tả chính sách truy cập RBAC

Trong quá trình thực thi quy trình nghiệp vụ BPMN trên một khung công việc BPM, 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 Điều này dẫn đến tính tuân 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 Ngoài ra, một số vấn đề có thể xuất hiện trong quá trình thiết kế chính sách truy cập, 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 Các vấn đề này dẫn đến tính nhất quán của đặc tả chính sách truy cập không được đảm bảo

Tuy nhiên, hiện nay chưa có một phương pháp hoặc cách 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?

Nội dung chính của chương này tập trung đư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 quá trình thực thi quy trình nghiệp vụ theo mô hình BPMN Chi tiết về cách tiếp cận sẽ được trình bày trong các phần tiếp theo của chương này

Trang 34

3.2 Tổng quan về phương pháp

Để giải quyết các vấn đề đặt ra trong phần trên, luận văn đưa ra cách tiếp cận hướng

mô hình cho phép đặc tả và kiểm chứng chính sách truy cập RBAC trong quá trình thực thi quy trình nghiệp vụ theo mô hình BPMN như minh hoạ trong Hình 3.1 dưới đây:

Hình 3.1: Tổng quan về phương pháp

Luận văn xây dựng một khung công việc theo 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 Khung công việc này cho phép nhà phát triển đặc tả, thực thi quy trình nghiệp vụ và thiết kế chính sách truy cập RBAC tương ứng dựa trên tài liệu yêu cầu nghiệp vụ chứa các mô tả về quy trình nghiệp vụ

và các yêu cầu an ninh Đầu ra của khung công việc này là kết quả kiểm tra tính nhất quán của đặc tả chính sách RBAC và kiểm chứng tính tuân thủ chính sách RBAC cho

Trang 35

các thể hiện khác nhau của quy trình nghiệp vụ đang được thực thi Khung công việc này gồm có ba phần

• Phần 1 (tác vụ 1-2): Từ tài liệu yêu cầu nghiệp vụ, nhà phát triển có thể mô

hình hoá quy trình nghiệp vụ (tác vụ 1) dựa trên một mô đun đặc tả để biểu diễn quy trình nghiệp vụ theo tiêu chuẩn BPMN Đầu ra của tác vụ này là một mô hình BPMN chứa tất cả các mô tả về quy trình nghiệp vụ, mô hình BPMN này

sẽ là đầu vào để triển khai quy trình nghiệp vụ (tác vụ 2) dựa trên một mô đun giám sát thực thi để tạo ra các thể hiện khác nhau của quy trình nghiệp vụ BPMN đang được thực thi Các thể hiện khác nhau của quy trình nghiệp vụ BPMN sẽ được lưu trữ trong một cơ sở dữ liệu quan hệ

• Phần 2 (tác vụ 3-4-5): Một metamodel sẽ được xây dựng dựa trên UML để

biểu diễn mô hình an ninh RBAC, RBAC metamodel này được xây dựng ở mức chính sách và mức người dùng truy cập (tác vụ 3) Đầu ra của tác vụ này là một đặc tả chứa các mô tả UML dạng văn bản của RBAC metamodel này Sau đó,

từ các yêu cầu an ninh nghiệp vụ diễn đạt bằng ngôn ngữ tự nhiên sẽ được chuyển thành các quy tắc nghiệp vụ được đặc tả dựa trên các ngôn ngữ đặc tả RBAC (tác vụ 4) Đặc tả RBAC metamodel và đặc tả các quy tắc nghiệp vụ được tạo ra ở tác vụ 3 và tác vụ 4 sẽ là đầu vào để thiết kế chính sách truy cập RBAC (tác vụ 5) Trong quá trình thiết kế chính sách truy cập RBAC, ta có thể phát hiện ra các quy tắc nghiệp vụ xung đột nhau hoặc bị thiếu dựa trên các công cụ thẩm định chính sách Điều này dẫn đến việc chính sách truy cập RBAC phải được thiết kế lại

• Phần 3 (tác vụ 6-7-8): Đầu vào cho phần này là các thể hiện khác nhau của quy

trình nghiệp vụ BPMN đang được thực thi (đầu ra của phần 1) và đặc tả chính sách truy cập RBAC (đầu ra của phần 2) Tác vụ đầu tiên trong phần này là tạo các scripts chứa các tập lệnh điều khiển các trạng thái khác nhau của quy trình nghiệp vụ BPMN đang được thực thi dựa trên cấu trúc chính sách truy cập RBAC (tác vụ 6) Các trạng thái này được xác định dựa trên việc lấy trạng thái hiện thời của cơ sở dữ liệu quan hệ chứa các thể hiện khác nhau của quy trình nghiệp vụ BPMN đang được thực thi Đầu ra của tác vụ 6 là các trạng thái khác nhau của quy trình nghiệp vụ BPMN đang được thực thi (các snapshot) Các snapshot này đóng vai trò như các ca kiểm thử được sử dụng để kiểm tra tính nhất quán của đặc tả chính sách RBAC (tác vụ 7) và kiểm chứng tính tuân thủ chính sách RBAC cho các thể hiện khác nhau của quy trình nghiệp vụ BPMN đang được thực thi (tác vụ 8) dưới sự trợ giúp của các công cụ hỗ trợ

Nội dung các bước thực hiện trong phương pháp sẽ được trình bày chi tiết trong các phần tiếp theo của chương này

Trang 36

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

Trong phần này, luận văn trình bày cách thức mô hình hoá, đặc tả và triển khai quy trình nghiệp vụ theo mô hình BPMN

3.3.1 Mô hình hoá quy trình nghiệp vụ

Từ tài liệu yêu cầu nghiệp vụ, nhà phát triển có thể mô hình hoá quy trình nghiệp vụ dựa trên một mô đun đặc tả để biểu diễn quy trình nghiệp vụ theo tiêu chuẩn BPMN

Mô đun đặc tả này được cung cấp bởi một khung công việc BPM Đầu ra của tác vụ này là một mô hình BPMN chứa tất cả các mô tả về quy trình nghiệp vụ

Đối với các nhà phát triển quy trình nghiệp vụ, việc mô hình hoá quy trình nghiệp vụ cần dựa trên một khung công việc BPM Luận văn lựa chọn BPM Activiti, một trong những khung công việc BPM tốt nhất hiện nay, một chuẩn thực thi các quy trình nghiệp vụ, một nền tảng để thiết kế và triển khai các quy trình nghiệp vụ một cách nhanh chóng [6]

Mô hình quy trình nghiệp vụ BPMN được thiết kế trên Activiti Modeler hoặc Activiti Designer (một plug-in được cài đặt trên Eclipse) của Activiti Hai mô đun này đều có thể được sử dụng để mô hình hoá quy trình nghiệp vụ và chúng hỗ trợ tất cả các phần tử mô hình hoá theo tiêu chuẩn BPMN 2.0 Tuy nhiên, Activiti Designer có thể được sử dụng để thêm các chi tiết kỹ thuật vào quy trình nghiệp vụ, đây là điểm khác biệt so với Activiti Modeler Activiti Designer được cài đặt trên Eclipse như Hình 3.2 dưới đây:

Trang 37

Hình 3.2: Cài đặt Activiti Designer trên gói Eclipse Kepler

Đối với Activiti phiên bản 5.x ta nên sử dụng 2 gói Eclipse Kepler và Eclipse Indigo (gói Eclipse Helios không được hỗ trợ)

Giao diện mô hình hoá quy trình nghiệp vụ BPMN của Activiti Designer trên Eclipse bao gồm Editor, Palette và Properties Kéo thả các thành phần trong Palette để khai báo các phần tử như StartEvent, SequenceFlow, UserTask, MailTask, Gateway, EndEvent … của mô hình BPMN và khởi tạo các thuộc tính General, Main config và Form trong Properties cho từng phần tử của mô hình BPMN này Việc mô hình hoá quy trình nghiệp vụ BPMN trên Activiti Designer sẽ được trình bày chi tiết trong Chương 4

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

Mô hình BPMN được tạo ra ở phần trên sẽ là đầu vào để triển khai quy trình nghiệp vụ dựa trên một mô đun giám sát thực thi được cung cấp bởi một khung công việc BPM với mục đích tạo ra các thể hiện khác nhau của quy trình nghiệp vụ BPMN Các thể hiện này sẽ được lưu trữ trong một cơ sở dữ liệu quan hệ

Mô hình BPMN có thể được triển khai trên ứng dụng web Activiti Explorer của Activiti để tiến hành định nghĩa quy trình nghiệp vụ BPMN Sau đó, các thể hiện khác nhau của quy trình nghiệp vụ BPMN sẽ được lưu trữ trong một cơ sở dữ liệu quan hệ activiti trên MySQL, nó được cấu hình trong tập tin db.properties theo đường dẫn Apache Tomcat 9.0.22\webapps\activiti-explorer\WEB-INF\classes\db.properties như Bảng 3.1 dưới đây:

Trang 38

Bảng 3.1: Cấu hình cơ sở dữ liệu quan hệ activiti

Trong phần này, luận văn trình bày cách thức xây dựng một metamodel dựa trên UML

để biểu diễn mô hình an ninh RBAC, cách thức đặc tả các quy tắc nghiệp vụ dựa trên ngôn ngữ đặc tả RBAC và cách thiết kế một chính sách truy cập RBAC hoàn chỉnh

3.4.1 Xây dựng RBAC metamodel

Mô hình điều khiển truy cập dựa trên vai trò RBAC sẽ được xây dựng dưới dạng một metamodel ở mức chính sách và mức người dùng truy cập dựa trên biểu đồ lớp UML

và các ràng buộc uỷ quyền Đầu ra của tác vụ này là đặc tả của một RBAC metamodel Mức chính sách bao gồm các lớp Role, Permission, Operation, Resource và các liên kết association giữa chúng Đây là các khái niệm RBAC cơ bản, trong đó một người dùng phải được gán ít nhất một vai trò, các vai trò cần có một tập các permission cụ thể để có thể thực hiện các hành động trên tài nguyên Ngoài ra, phân cấp vai trò và ràng buộc uỷ quyền là hai khái niệm RBAC nâng cao Một vai trò có thể

có một hoặc nhiều vai trò cấp thấp hơn (junior role), vai trò cấp cao hơn (senior role)

có tất cả các permission của vai trò cấp thấp hơn trong hệ thống phân cấp vai trò Các ràng buộc uỷ quyền là một khía cạnh quan trọng của mô hình RBAC ràng buộc, chúng giúp phát hiện các lỗi và giảm thiểu các vi phạm an ninh trong cấu trúc an ninh của tổ chức, doanh nghiệp [10]

Mức người dùng truy cập bao gồm các lớp Access, Session, User, Snapshot và các liên kết association giữa chúng Mức người dùng truy cập được sử dụng để phân tích chính sách Hình 3.3 dưới đây minh hoạ một RBAC metamodel điển hình được xây dựng ở mức chính sách và mức người dùng truy cập:

Trang 39

Hình 3.3: Một RBAC metamodel điển hình [10]

Trong Hình 3.3, các ràng buộc có thể được chỉ định cho các thuộc tính và các liên kết association Bảng 3.2 dưới đây minh hoạ một số ràng buộc được biểu diễn dưới dạng các bất biến OCL cho siêu mô hình RBAC trong Hình 3.3, chúng độc lập với các ứng dụng cụ thể:

Bảng 3.2: Một số bất biến OCL cho RBAC metamodel

context r:Role inv MaximumNumberOfMembers:

r.maxMembers.isDefined implies r.user->size() <= r.maxMembers

context u:User inv MaximumNumberOfRoles:

u.maxRoles.isDefined implies u.role->size() <= u.maxRoles

context p:Permission inv MaximumNumberOfSessions:

p.maxSessions.isDefined implies

p.role.session->asSet()->size() <= p.maxSessions

RBAC metamodel được xây dựng hỗ trợ việc thiết kế các chính sách truy cập RBAC phải chứa các khái niệm RBAC cơ bản và các khái niệm RBAC nâng cao đã

Ngày đăng: 17/02/2021, 09:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w