Chức năng Quản lý bảo mật ứng dụng

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu các mẫu thiết kế và ứng dụng để xây dựng hệ thống quản lý thông tin tổng thể cho doanh nghiệp (Trang 54 - 70)

4. Tóm tắt cấu trúc của luận văn

3.1. Phân hệ chắnh: Các lớp cơ sở, quản lý bảo mật, báo cáo

3.1.4.2. Chức năng Quản lý bảo mật ứng dụng

3.1.4.2.1 đặc tả phần bảo mật hệ thống bằng ca sử dụng

Dựa vào các yêu cầu trên cho chức năng ựăng nhập hệ thống, ta có thể mô tả khái quát quá trình ựăng nhập hệ thống của người dùng như sau:

Ờ Người dùng nhập tên và mật khẩu và xác nhận ựăng nhập.

Ờ Hệ thống chứng thực người dùng xác thực và kiểm tra tài khoản tồn tại trên hệ thống.

Ờ Nếu người dùng này có quyền hoạt ựộng trên hệ thống, hệ thống sẽ lấy thông tin của người dùng và các quyền truy nhập ựể tạo Session cho phiên truy nhập

Ờ Kiểm tra và xoá bỏ Session truy nhập hệ thống của người dùng khi người dùng logout ra khỏi hệ thống.

Hình 3.6. Quá trình ựăng nhập hệ thống.

Mô hình tổng thể các ca sử dụng liên quan ựến bảo mật ựược thể hiện như sau:

Phân tắch chi tiết các ca sử dụng như đăng nhập hệ thống, đổi mật khẩu, Quản lý Nhóm quyền, Phân quyền người dùng ta có ựược mô tả chi tiết của của các ca sử dụng này như sau:

a. Ca sử dụng đăng nhập hệ thống

Tiền ựiều kiện: Tác nhân phải có tài khoản người dùng trên hệ thống. Hệ thống

ựược cài ựặt thành công trên máy trạm.

Tác nhân: Giám ựốc, Lãnh ựạo phòng, Nhân viên, Quản trị hệ thống, Hệ thống

chứng thực người dùng và người sử dụng nói chung.

Mục tiêu: Cho phép tác nhân ựăng nhập hệ thống nhờ ựịnh danh, mật khẩu.

Luồng sự kiện:

Hành ựộng tác nhân Phản ứng của hệ thống Dữ liệu liên quan 1. Tác nhân chạy

chương trình từ máy của họ.

2. Hiện Màn hình chắnh Mẫu biểu chắnh

3. Chọn chức năng ựăng nhập.

4. Hiển thị mẫu biểu ựăng nhập. Mẫu biểu ựăng nhập

5. Nhập ựịnh danh, mật khẩu

6. Kiểm tra, xác thực tài khoản hợp lệ. Hiện thông báo phản hồi về kết quả ựăng nhập. Hiện thực ựơn mà người dùng có quyền thao tác. + Bảng Người Dùng + Bảng Phân Quyền + Bảng Nhóm Quyền + Bảng Menu Ngoại lệ:

Ờ Bước 6: Nếu không nhập ựầy ựủ ựịnh danh và mật khẩu, hệ thống hiện thông báo yêu cầu nhập thông tin còn thiếu và chuyển con trỏ vào mục thông tin còn thiếu. Sau khi kiểm tra, nếu ựịnh ựanh và mật khẩu không hợp lệ hệ thống sẽ thông báo ỘTài khoản ựăng nhập không hợp lệỢ và hiện form ựăng nhập ựể tác nhân nhập lại thông tin. Nếu sau ba lần ựăng nhập vẫn không hợp lệ, hệ thống không cho tác truy cập với tên ựăng nhập này.

b. Ca sử dụng đổi mật khẩu

Tiền ựiều kiện: Tác nhân ựã ựăng nhập hệ thống thành công.

Tác nhân: Giám ựốc, Lãnh ựạo phòng, Nhân viên, Quản trị hệ thống và người sử

dụng nói chung.

Mục tiêu: Cho phép tác nhân ựổi mật khẩu của tài khoản ựăng nhập hệ thống.

Luồng sự kiện:

Hành ựộng tác nhân Phản ứng của hệ thống Dữ liệu liên quan 1. Chọn chức năng

ựổi mật khẩu

2. Hiện form ựổi mật khẩu

3. Nhập tên ựịnh danh, mật khẩu cũ, mật khẩu mới và chọn Ghi lại.

4. Kiểm tra thông tin và ghi lại mật khẩu mới. Hiện thông báo phản hồi về kết quả ựổi mật khẩu.

+ Bảng Người Dùng

Ngoại lệ:

Ờ Bước 4: Nếu thông tin không hợp lệ (Không nhập ựịnh danh hoặc mật khẩu, sai mật khẩu cũ, không nhập mật khẩu mới, giá trị mật khẩu mới và giá trị xác nhận lại mật khẩu mới không trùng nhau) hệ thống hiện thông báo không ựổi ựược mật khẩu.

Hậu ựiệu kiện: Mật khẩu của người dùng ựã thay ựổi.

c. Ca sử dụng Quản lý và cập nhật nhóm quyền

Tiền ựiều kiện: Quản trị hệ thống ựăng nhập hệ thống thành công.

Tác nhân: Quản trị hệ thống

Mục tiêu: Cho phép tác nhân cập nhật thông tin danh mục nhóm quyền.

Luồng sự kiện:

Hành ựộng tác nhân Phản ứng của hệ thống Dữ liệu liên quan 1. Chọn chức năng cập nhật danh mục nhóm quyền. 2. Hiển thị danh sách các nhóm quyền. +Bảng Nhóm quyền

quyền. quyền ựã chọn.

5. Chỉnh sửa thông tin và chọn Ghi lại

6. Kiểm tra thông tin và ghi lại. Hiện thông báo phản hồi. Hiển thị lại danh sách nhóm quyền.

+ Bảng Nhóm quyền

7. Chọn Thêm mới 8. Hiển thị form cập nhật nhóm quyền.

+ Bảng Nhóm quyền

9. Nhập các thông tin yêu cầu và chọn Ghi lại.

10. Kiểm tra tắnh hợp lệ của các thông tin. Hiển thị thông báo phản hồi. Hiển thị lại danh sách nhóm quyền.

+ Bảng Nhóm quyền

11. Chọn một nhóm quyền và chọn Xoá.

12. Hiển thị thông báo xác nhận có chắc chắn xoá không?

13. đồng ý xoá 14. Xoá nhóm quyền ựã chọn. Hiển thị thông báo phản hồi. Hiển thị lại danh sách nhóm quyền.

+ Bảng Nhóm quyền

15. Chọn Kết thúc. 16. đóng form cập nhật nhóm quyền và trở về trang chắnh. Ngoại lệ:

Ờ Bước 6,10: Nếu các thông tin không hợp lệ thì hệ thống sẽ thông báo và yêu cầu nhập lại.

Ờ Bước 13: Nếu không ựồng ý xoá thì hệ thống quay lại form hiển thị danh sách các nhóm quyền.

Ờ Bước 14: Nếu không xoá ựược hệ thống sẽ thông báo.

Hậu ựiệu kiện: Thông tin về nhóm quyền ựược cập nhật trong cơ sở dữ liệu.

d. Ca sử dụng Phân quyền người sử dụng

Mục tiêu: Cho phép tác nhân cập nhật thông tin phân quyền người dùng. Luồng sự kiện:

Hành ựộng tác nhân Phản ứng của hệ thống Dữ liệu liên quan 1. Chọn chức năng

Phân quyền.

2. Hiển thị màn hình chọn phòng ban, nhân viên.

+ Bảng Phòng ban + Bảng Nhân viên 3. Chọn phòng ban có

người dùng cần phân quyền.

4. Hiển thị danh sách các nhân viên thuộc phòng ban ựã chọn.

+ Bảng Nhân viên

5. Chọn nhân viên cần phân quyền.

6. Hiển thị danh sách các nhóm quyền mà người dùng ựã ựược cấp và chưa cấp. + Bảng Phân quyền + Bảng Nhóm quyền 7. Chọn các nhóm quyền cần cấp, bỏ chọn các nhóm quyền không cấp và Chọn Cập nhật phân quyền.

8. Hiển thị thông báo xác nhận có chắc chắn cập nhật lại quyền của người dùng không ?

9. đồng ý cấp lại quyền.

10. Kiểm tra thông tin và ghi lại. Hiện thông báo phản hồi. Hiển thị lại danh sách nhóm quyền của người dùng ựã chọn. + Bảng Nhân viên + Bảng Phân quyền 11. Chọn Kết thúc. 12. đóng form cập nhật phân quyền và trở về trang chắnh. Ngoại lệ:

Ờ Bước 9: Nếu không ựồng ý cấp lại quyền thì hệ thống quay lại form hiển thị danh sách các nhóm quyền của người dùng.

Ờ Bước 10: Nếu các thông tin không hợp lệ thì hệ thống sẽ thông báo và yêu cầu nhập lại. Nếu không cập nhật ựược thông tin hệ thống sẽ thông báo.

Ờ Bước 11: Nếu muốn thay ựổi thông tin phân quyền cho nhân viên khác quay lại bước 5.

Hậu ựiệu kiện: Thông tin phân quyền người dùng ựược cập nhật trong cơ sở dữ liệu.

3.1.4.2.2 Phân tắch các ca sử dụng của phần bảo mật hệ thống a. Ca sử dụng đăng nhập hệ thống

+ Các lớp tham gia vào ca sử dụng:

Ờ Lớp giao diện: LoginForm

Ờ Lớp ựiều khiển: LoginController

Ờ Lớp thực thể: User

+ Biểu ựồ liên giữa các lớp khái niệm:

+ Biểu ựồ cộng tác giữa các lớp khái niệm:

Hình 3.9. Biểu ựồ cộng tác ca sử dụng đăng nhập.

b. Ca sử dụng đổi mật khẩu

+ Các lớp tham gia vào ca sử dụng:

Ờ Lớp giao diện: ChangePassword, LoginForm

Ờ Lớp ựiều khiển: LoginController

Ờ Lớp thực thể: User

+ Biểu ựồ liên kết giữa các lớp khái niệm:

+ Biểu ựồ cộng tác giữa các lớp khái niệm:

Hình 3.11. Biểu ựồ cộng tác ca sử dụng đổi mật khẩu.

c. Ca sử dụng Cập nhật nhóm quyền + Các lớp tham gia vào ca sử dụng:

Ờ Lớp giao diện: RoleManagement

Ờ Lớp ựiều khiển: RoleController, UserRoleController.

Ờ Lớp thực thể: RoleVO, UserRoleVO + Biểu ựồ liên kết giữa các lớp khái niệm:

+ Biểu ựồ cộng tác giữa các lớp khái niệm:

Hình 3.13. Biểu ựồ cộng tác ca sử dụng Cập nhật nhóm quyền.

d. Ca sử dụng Phân quyền người sử dụng + Các lớp tham gia vào ca sử dụng:

Ờ Lớp giao diện: RoleMenu

Ờ Lớp ựiều khiển: RoleMenuController

Ờ Lớp thực thể: RoleMenuVO

+ Biểu ựồ liên kết giữa các lớp khái niệm:

+ Biểu ựồ cộng tác giữa các lớp khái niệm:

Hình 3.15. Biểu ựồ cộng tác ca sử dụng Phân quyền.

3.1.4.2.3 Thiết kế các lớp bảo mật ứng dụng

Phần bảo mật cho ứng dụng có chức năng ựảm bảo tắnh toàn vẹn về mặt dữ liệu cho ứng dựng, tránh mọi sự truy cập trái phép thông qua ứng dựng vào các chức năng mà không ựược cấp quyền sử dụng. đồng thời nó cũng ựảm nhận chức năng kiểm toán (Audit) các truy cập của người dùng vào từng Phân hệ, từng bản ghi của hệ thống.

Như vậy việc thiết kế tắnh năng bảo mật của hệ thống phải ựảm bảo ựược các yêu cầu sau:

Ờ Cung cấp một cơ chế ựể xác thực (Authentication) cho người sử dụng hệ thống. Chỉ những người dùng nào qua ựược việc xác thực mới ựược ựăng nhập vào hệ thống tức là mới thể sử dụng ựược hệ thống.

Ờ Cung cấp cơ chế cấp phép (Authorization) cho người sử dụng hệ thống. Chỉ những người dùng nào ựược phân quyền sử dụng một chức năng nào ựó của hệ thống thì mới có thể ựược sử dụng nó. Họ sẽ không ựược truy cập ựến bất kì chức năng nào khác ngoài các chức năng mà họ ựược phép.

Ờ Quản lý việc cấp phép cho người dùng theo từng vai trò hay nhóm quyền (role) chứ không theo từng cá nhân riêng lẻ.

Ờ Cung cấp cơ chế ựể lưu vết thông tin hỗ trợ cho việc kiểm toán các truy cập.

Ờ Cung cấp cơ chế ựể lưu trữ thông tin về người dùng ựang truy cập hệ thống ựể chia sẻ thông tin về người dùng ựăng nhập này giữa các Phân hệ ựồng thời hỗ trợ việc bản ựịa hóa giao diện của ứng dụng.

Các yêu cầu trên của tắnh năng bảo mật hệ thống ựều có thể ựáp ứng ựược nếu ta sử dụng các mẫu thiết kế chuẩn về bảo mật ựược ựề cập trong [18]. Cụ thể các mẫu ựược áp dụng ựó là:

Ờ Single Access Point: Mẫu này yêu cầu với mỗi một ứng dụng chỉ cung cấp một

ựiểm truy cập hay ựăng nhập duy nhất vào ứng dụng (ở ựây chắnh là màn hình ựăng nhập vào hệ thống).

Ờ Check Point: Là mẫu ựể chỉ ra các bước thực hiện việc xác thực và cấp phép

cho người dùng (theo chắnh sách bảo mật của từng doanh nghiệp). Nó chỉ ra các tiêu chi ựể xác ựịnh khi nào thì việc xác thực ựược coi là thành công, liệu ựây có phải là việc tấn công dò tìm mật khẩu của tin tặc hay không, Ầ Mẫu

Check Point có thể kết hợp với mẫu Strategy ựể ựưa ra các hình thức xác thực,

cấp phép khác nhau.

Ờ Roles: Mẫu này ựược dùng ựể ựơn giản hóa việc phân quyền cho người dùng

thông qua việc gộp một nhóm người có cùng chức vụ hoặc ở cùng một phòng ban lại với nhau. điều này ựặc biệt hữu ắch cho các nhà quản trị hệ thống.

Ờ Session: đây là mẫu ựược dùng ựể lưu trữ thông tin về người sử dụng hiện

thời. Mẫu này ựảm bảo thông tin những thông tin quan trọng của người sử dụng hiện thời ựược chia sẻ giữa tất cả các Phân hệ trong toàn hệ thống.

Ờ Full View With Errors: Mẫu này ựược sử dụng ựể ựảm bảo rằng người sử dụng

hệ thống sẽ không thực hệ ựược các thao tác bất hợp pháp ựối với hệ thống thông qua việc hiện thị những chức năng nào mà người sử dụng có thể ựược sử dụng và cảnh báo người dùng nếu như họ truy cập vào những chức năng mà họ không ựược ựược phép sử dụng.

Ờ Limited View: Chỉ hiển thị những chức năng nào mà người dùng ựược phép sử

dụng. Không hiện thị bất kì chức năng nào mà họ không ựược phép sự dụng. Như vậy bằng với việc việc sử dụng các mẫu thiết kế ở trên cùng với mẫu cơ sở truy cập dữ liệu ựể áp dụng vào phân tắch chức năng quản lý bảo mật hệ thống, ta sẽ có sự thay ựổi về các lớp trong các ca sử dụng ở trên, cụ thể như sau:

a. Ca sử dụng đăng nhập hệ thống

Chưa áp dụng mẫu

Áp dụng mẫu

Hình 3.17. Các lớp thiết kế trong ca sử dụng đăng nhập áp dụng các mẫu thiết kế.

Ngoài ra nếu hệ thống có yêu cầu là người dùng chỉ ựược phép ựăng nhập một lần tại một thời ựiểm hay tại một thời ựiểm, chỉ chấp nhận sự hiện diện của một thể hiện của một người dùng mà thôi, khi ựó áp dụng mẫu Singleton thêm vào cho mẫu bảo

mật Session ựã ựược dùng ở trên.

Singleton là giải pháp thiết kế ựảm bảo chỉ có một thể hiện duy nhất khởi tạo

trong hệ thống, cho phép lớp Session có thể tự kiểm soát thể hiện của nó. Theo giải pháp này, bằng việc ựưa vào lớp Singleton sẽ ựược bổ sung vào một thuộc tắnh tĩnh ựể

lưu thể hiện của lớp Session và một phương thức tắnh ựể người dùng bất cứ lúc nào ựều có thể truy xuất ựến thể hiện duy nhất ựó.

b. Ca sử dụng đổi mật khẩu

Chưa áp dụng mẫu

Hình 3.18. Các lớp thiết kế ca sử dụng đổi mật khẩu chưa áp dụng mẫu

Áp dụng mẫu

Các lớp bảo mật ứng dụng liên quan ựến xử lý, giao tiếp CSDL và ựiều khiển sẽ ựược tổ chức theo kiến trúc chung như ựã mô tả ở phần 3.1.4.1 ở trên còn các lớp ựóng vai trò là giao diện sẽ ựược chứa trong gói gọi là gói giao diện (UI) như hình sau:

Hình 3.20. Kiến trúc các lớp bảo mật ứng dụng.

Các lớp ở trong gói UIAdministration là các form dành cho việc quản lý bảo mật và phân quyền cho ứng dụng, vắ dụ như:

Ờ Login: Giao diện dùng ựể ựăng nhập hệ thống.

Ờ RoleManagement: Giao diện ựể quản lý các nhóm quyền của người dùng trong

hệ thống.

Ờ UserManagement: Dùng ựể quản lý người dùng trong hệ thống. đồng thời nó

cũng là màn hình gán quyền cho người dùng vào các nhóm quyền trong hệ thống.

Ờ MenuManagement: Quản lý các chức năng của hệ thống thông qua các thực

ựơn. Ở mỗi thực ựơn sẽ có một chức năng của chương trình ựược gắn vào, nó có thể là 1 form hãy cũng có thể là một báo cáo. Việc thiết lập các thông số này thường do các nhà phát triển hệ thống thiết lập ban ựầu, và sau ựó nó

ựược dùng cho người quản trị hệ thống ựể thiết lập thêm các shortcut cho các báo cáo của họ hoặc tùy biến các chức năng của hệ thống.

Ờ FormManagement: Quản lý các form trong hệ thống. Nó hỗ trợ cho chức năng

quản lý thực ựơn ở trên.

Ờ RoleMenu: được dùng ựể gán quyền truy cập menu cho các nhóm quyền.

Ờ RoleForm: được dùng ựể gán quyền sử dụng từng chức năng của trên từng

form cho các nhóm quyền.

Ờ Gói COMUtils chứa tất cả các tiện ắch của toàn bộ hệ thống cũng như các lớp

thực hiện việc kiểm soát lỗi.

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Nghiên cứu các mẫu thiết kế và ứng dụng để xây dựng hệ thống quản lý thông tin tổng thể cho doanh nghiệp (Trang 54 - 70)

Tải bản đầy đủ (PDF)

(119 trang)