1. Trang chủ
  2. » Giáo Dục - Đào Tạ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​

84 14 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 84
Dung lượng 3,08 MB

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

Nội dung

Các tác giả trong bài báo [15] đã đưa ra mộtchí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ứacác lớp thực thể RBAC, các association giữa chúng được định ngh

Trang 2

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

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

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

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ố trongbấ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 thamkhả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 đư ợccả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ôngtin, 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ìnhchỉ 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ữngngườ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ệnluận văn

Học viên

Nguyễn Đức Hiếu

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ụ

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

Object Constraint Language

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

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

Ngôn ngữ ràng buộc đối tượngNgôn ngữ lập trình mệnh lệnh đơn giản dựa trên OCL

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

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

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

Ký hiệu và mô hình hoá quy 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ểmsoá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ốngngà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ậnhà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 anninh 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ộtquy 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ộtkhung công việc để xác đ ịnh các chính sách an ninh trong đó hành vi h ệ thống đượcxá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ữuhạ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ấtquá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 đư ợcchứng minh hình thức với sự trợ giúp của một bộ chứng minh đ ịnh lý (theoremprover) 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ộtPetri-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ộtchí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ứacá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ìnhkế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ộtsiê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 đ ộngUML, Petri nets … đều có một số hạn chế nhất định, chẳng hạn như khó thêm vào cácchi 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á quytrình nghiệp vụ BPMN ra đ ời Tiêu chuẩn BPMN hỗ trợ cả việc thiết kế quy trìnhnghiệ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 ềuphố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ôitrường thực thi quy trình nghiệp vụ BPMN chủ yếu chỉ hỗ trợ kiểm tra các quy tắcnghiệ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ínhsá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 thikhô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ácquy tắc xung đột nhau do sai sót trong thiết kế hoặc được đặc tả không đúng Điều nàydẫ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ínhsá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ủaquy 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 nhaucủa quy trình nghiệp vụ BPMN đư ợc xác đ ịnh như thế nào? Làm thế nào đ ể kiểmchứ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ínhsá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 thitheo mô hình BPMN Trong đó, chính sách truy cập RBAC được đặc tả dựa trên mộtsiê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 truycậ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ệcquả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ầunghiệ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ìnhnghiệ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ìnhnghiệ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ìnhnghiệp vụ BPMN Công việc đ ặc tả và kiểm chứng chính sách truy cập RBAC dựatrê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 anninh 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ậnhướ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ươngphá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ìnhnghiệ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ữahai 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ánthự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

luận

văn,

phần kết luậnhạn

trình bàychế

tổng quanvà

về các kết hướng

quả đạt đư ợcphát

trongtriển

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ìnhmetamodel 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-DrivenSoftware Development) là nâng cao năng suất và chất lượng phát triển phần mềm bằngcách nâng cao mức độ trừu tượng Có 4 loại thay đổi chính ảnh hưởng đến vòng đờicủ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ảngphá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áttriể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ốnglạ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ậtmetamodeling ra đời [21]

Metamodeling mở rộng và bổ sung cho các công nghệ mô hình hoá và hướng đốitượ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ừutượ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ăngkhai 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ântích, kiểm chứng …

Một trong những công nghệ metamodeling cơ bản theo tiêu chuẩn OMG (ObjectManagement Group) là kiến trúc phân cấp 4 tầng truyền thống, dựa trên ý tưởng phânloạ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]:

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ácthể 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)

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

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ẳnghạn như biểu đồ lớp UML

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ấtUML, 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

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ứcshift 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 baogồ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ậpdự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ảntrong 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]

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 baohàm trong mô hình tham chiếu RBAC này

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 duynhấ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ủawebsite 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

OPERATIONS OBJECTS

ReadSearch

CommentWrite

Read

Trang 23

SearchReadComment

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ậpcá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ò

Trang 24

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ònVisitor 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ảntrong 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ềulĩ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 chohai 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 25

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}

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êncá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ếthợp của các quyền cấp cho người dùng

Trang 26

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]

luồng công việc

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

Hỗ trợKhông hỗ trợ

Không hỗ trợ

Hiện tạikhông hỗ trợKhông hỗ trợ

UML/OCL

Hỗ trợ Hỗtrợ

Không hỗ trợKhông hỗ trợ

Hỗ trợ

Hỗ trợ

Hiện tạikhông hỗ trợ

Hỗ trợ

Thẩm địnhvới USE

Hiện tạikhông hỗ trợKiểm chứnghình thứcvới Isabelle

Hiện tạikhông hỗ trợ

Hiện tạikhô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:

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

nhóm người dùng

dụng

Trang 27

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:

bảo vệ

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ệcquả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 28

phí, thời gian, số lượng và tài nguyên khi thực hiện các quy trình kinh doanh BPMkinh doanh nhằm mục đí ch cải tiến và tối ưu hoá quy trình Trong khi đó, m ục đíchcủ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à linhhoạ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ẫnviệ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 chitiế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ảomộ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 Trongpha 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 29

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 quytrì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êucầ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ìnhnghiệ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ìnhnghiệp vụ bao gồm Flow Object, Connecting Element, Swimlane và Artifact dưới dạngmột siêu mô hình:

Trang 30

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ựcthi 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 31

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ấyphé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 ưuhoá 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:

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

Trong đó:

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 webActiviti 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 quytrì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

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

Trang 32

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ộtngôn ngữ lập trình mệnh lệnh dựa trên OCL đơn giản (Simple OCL-based ImperativeProgramming 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ônngữ ràng buộc đối tượng OCL, tiêu chuẩn RBAC và quản lý quy trình nghiệp vụ Tiêuchuẩ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àycũ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 33

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ượngkhá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ự độnghoá Ở 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ựcthi đượ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ằngcách sử dụng các ký hiệu mô hình hoá BPMN như user tasks, mail tasks, sequenceflows, gateways … Sau đó, luồng công việc trong mô hình quy trình này có thể đượcthự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 quytrì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ạitừ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ênmột môi trường thực thi quy trình BPMN được cung cấp bởi một khung công việcBPM [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ầunghiệ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 34

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ểmtra đượ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 trongquy 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 trongthiế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ạmchí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ôncầ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 đắncủ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ệcBPM, 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 quytrì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 quytắ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ínhsá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ácthể 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ìnhnghiệ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ácphần tiếp theo của chương này

Trang 35

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ìnhthự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 RBACtươ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ấtquá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 36

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ìnhnghiệ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 quytrì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ệnkhác nhau của quy trình nghiệp vụ BPMN đang đư ợc thực thi Các thể hiện khác nhaucủ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ínhsá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 ninhnghiệ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ậpRBAC, 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êncá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 RBACphả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 truycậ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áctậ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 đư ợcthự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 đượcxá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ệnkhá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áctrạ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ấtquá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áchRBAC 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 37

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 quytrì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ộttrong 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ìnhnghiệ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áchnhanh chóng [6]

Mô hình quy trình nghiệp vụ BPMN được thiết kế trên Activiti Modeler hoặcActiviti 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ácphầ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ácbiệt so với Activiti Modeler Activiti Designer được cài đặt trên Eclipse như Hình 3.2dưới đây:

Trang 38

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à EclipseIndigo (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ênEclipse 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 trongChươ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 BPMvớ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ủaActiviti để tiến hành định nghĩa quy trình nghiệp vụ BPMN Sau đó, các thể hiện khácnhau 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ẫnApache Tomcat 9.0.22\webapps\activiti-explorer\WEB-INF\classes\db.properties nhưBảng 3.1 dưới đây:

Trang 39

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ênngô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ộtmetamodel ở 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ácliên kết association giữa chúng Đây là các khái ni ệm RBAC cơ bản, trong đó m ộtngườ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ácpermission cụ thể để có thể thực hiện các hành động trên tài nguyên Ngoài ra, phâncấ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ácrà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únggiú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ântích chính sách Hình 3.3 dưới đây minh hoạ một RBAC metamodel đi ển hình đượcxây dựng ở mức chính sách và mức người dùng truy cập:

Trang 40

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ênkết association Bảng 3.2 dưới đây minh ho ạ một số ràng buộc được biểu diễn dướidạ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: 10/02/2021, 13:29

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