HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Bùi Văn Tâm
NGHIÊN CỨU KIỂM SOÁT TRUY CẬP DỰA TRÊN PHÂN VAI
VÀ
ỨNG DỤNG
Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15
TÓM TẮT LUẬN VĂN THẠC SĨ
HÀ NỘI - 2012
2
Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
Người hướng dẫn khoa học: PGS.TS Nguyễn Linh Giang
Phản biện 1: TS Nguyễn Phương Thái
Phản biện 2: PGS. TS Đặng Văn Chuyết
Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công
nghệ Bưu chính Viễn thông
Vào lúc: 11 giờ 10, ngày 20 tháng .01 năm 2013.
Có th
ể tìm hiểu luận văn tại:
- Thư viện của Học viện Công nghệ Bưu chính Viễn thông
3
I. MỞ ĐẦU
1. Lý do chọn đề tài
Ngày nay, với sự phát triển không ngừng, vượt bậc của khoa học máy tính nói riêng và
công ngh
ệ thông tin nói chung đặc biệt là hệ thống mạng toàn cầu, các dịch vụ truy cập tài
nguy
ện, quản trị từ xa dễ dàng và phong phú được sử dụng một cách nhanh chóng và tin
c
tạp được giới thiệu bởi hai bên vai trò độc quyền hoặc phân cấp vai trò được xử lý bởi các
phần mềm RBAC, an ninh quản lý dễ dàng hơn.
2. Mục đích nghiên cứu
Truy cập là khả năng làm một cái gì đó với một nguồn tài nguyên máy tính (ví dụ, sử
dụng, thay đổi, hoặc xem). Kiểm soát truy cập là phương tiện có khả năng được rõ ràng
4
cho phép hoặc hạn chế một cách nào đó (thường là thông qua điều khiển vật lý và dựa trên
h
ệ thống). Kiểm soát truy cập dựa trên máy tính có thể quy định không chỉ những người
hoặc những quá trình có thể có quyền truy cập vào tài nguyên hệ thống cụ thể, mà còn truy
c
ập được phép. Những điều khiển này có thể được thực hiện trong hệ thống máy tính hoặc
trong các thiết bị bên ngoài.
V
ới kiểm soát truy cập dựa trên vai trò, quyết định truy cập dựa trên vai trò mà người
dùng cá nhân như là một phần của một tổ chức. Người dùng có vai trò được giao (chẳng
hạn như y tá, bác sĩ, nhân viên giao dịch, quản lý). Quá trình xác định vai trò cần phải được
dựa trên một phân tích toàn diện của một tổ chức hoạt động như thế nào và nên bao gồm
đầu v
ào từ một phổ rộng của người sử dụng trong một tổ chức.
Quyền truy cập được nhóm lại theo tên vai trò, và việc sử dụng các nguồn lực bị hạn
chế cho các cá nhân có thẩm quyền đảm nhận vai trò liên quan. Ví dụ, trong một hệ thống
bệnh viện về vai trò của bác sĩ có thể bao gồm các hoạt động để thực hiện chẩn đoán, kê
toa thu
ốc, và phòng thí nghiệm để kiểm tra và vai trò của nhà nghiên cứu có thể được giới
hạn để thu thập những thông tin lâm sàng cho các nghiên cứu.
Kiểm soát truy cập dựa trên vai trò (RBAC) là một tính năng bảo mật cho người dùng
truy c
ập kiểm soát với nhiệm vụ mà thông thường sẽ được hạn chế quyền đến thư mục
gốc. Bằng cách áp dụng các thuộc tính bảo mật cho các quy trình và cho người dùng,
Control. Áp dụng Access Control vào trong cuộc sống rất nhiều, và cũng có rất
nhiều mô hình dựng nên cho Access Control này.
Xem xét m
ột số ví dụ về Access Control, khóa cửa là một cách thức áp dụng
Access Control vì chỉ có người có chìa khóa (Subject) mới có thể mở khóa và sử
dụng phòng (Object). Ở ví dụ này, người là chủ thể, khóa và chìa khóa là
phương thức áp dụng, còn phòng là đối tượng.
Việc xác định chủ thể (Subject) thường được biết đến với cái tên là Identify,
có nhi
ều cách để định danh, nhận diện, giữa các chương trình với nhau có thể sử
dụng các PID (Process ID), cũng có thể dựa trên Username, hoặc một Biometric
như giọng nói, vân tay …
Việc này không khó, và dĩ nhiên để đảm bảo chính
xác là người đó th
ì cần phải kiểm chứng thông qua một vài điều bí mật mà chỉ
có người đó mới biết, chẳng
hạn như Password, PIN, Token, hoặc là Biometric
(Fingerprint), và l
ần này sẽ dùng những thông tin đó cùng với thuật toán, cách
thức xử lý để đối chiếu thông tin và ‘thẩm định’ có đúng người đó hay không.
Quá trình này được gọi là Authentication, tức là chứng thực; chứng thực có thể
chỉ sử dụng một lần hoặc nhiều lần tùy thuộc chính sách và cũng có thể có nhiều
phương pháp, cách thức khác nhau.
6
Nói chung là có rất nhiều thủ thuật, từ việc trực tiếp sử dụng kỹ thuật hoặc
không cần đế kỹ thuật như Social Engineering là cách thức không cần nhiều đến
kỹ thuật, hoặc là khống chế người thân của ai đó để có được thông tin mình cần
(nghe có vẻ bạo lực quá) hoặc là cài key-logger cho nó nhẹ nhàng và liên quan
t
ới kỹ thuật một tí.
1.3. Chính sách bảo mật hiện nay tại các tổ chức, cơ quan
Trong môi trường kinh tế, chính trị, và xã hội ngày nay, giải quyết vấn đề an
ninh đang trở th
ành một điều cần thiết cốt lõi cho hầu hết, nếu không phải tất cả,
các tổ chức khách hàng đang đòi hỏi nó như là mối quan tâm về sự riêng tư và
sự gia tăng hành vi trộm cắp danh tính. Đối tác kinh doanh, nhà cung cấp, và các
nhà cung c
ấp đang đòi hỏi từ những người khác, đặc biệt là khi cung cấp lẫn
nhau mạng và truy cập thông tin. Gián điệp thông qua việc sử dụng mạng để đạt
được cạnh tranh trí tuệ v
à tống tiền các tổ chức đang trở nên phổ biến hơn. Quốc
gia và các quy định quốc tế đang k
êu gọi các tổ chức (và các nhà lãnh đạo của
họ) để chứng minh việc chăm sóc do liên quan đến an ninh.
CHƯƠNG 2. KIỂM SOÁT TRUY CẬP DỰA TRÊN PHÂN
VAI - RBAC
2.1. Giới thiệu tổng quan, khái niệm RBAC
2.1.1. Vai trò và các khái niệm liên quan
Vai trò là một bộ sưu tập các quyền nhất định, nhiệm vụ và vị trí mô tả tình
tr
ạng trong tổ chức, các nhà phát triển tạo ra các vai trò theo các chức năng công
vi
ệc được thực hiện trong công ty hay tổ chức, cấp các quyền cho các vai trò này và
sau cùng là gán nh
ững người sử dụng vào các vai trò này dựa trên cơ sở trách nhiệm
và năng lực của công việc đặc thù đó.
Một vai trò có thể trình bày một nhiệm vụ cụ thể như là một vai trò bác sĩ hay
vai trò một nhà điều hành kinh doanh. Một vai trò bao gồm quyền và trách nhiệm
trong đó quyền v
à trách nhiệm được phân biệt rất rõ ràng. Một người có thể có
MAC (Mandatory Access Control)
DAC (Discretionary access control) .
RBAC (Role-Based Access Control)
2.3. Các tiêu chuẩn về RBAC do NIST đề xuất.
Tiêu chuẩn này mô tả các tính năng RBAC đã được chấp nhận trong thị
trường thương mại. Nó bao gồm một mô h
ình tham chiếu và các chi tiết kỹ thuật
đặc tả
chức năng cho RBAC được xác định trong mô hình tham chiếu.
Tiêu chuẩn này bao gồm hai phần chính - mô hình tham chiếu RBAC và hệ
thống RBAC với đặc tả chức năng quản trị.
9
Mô hình tham chiếu RBAC định nghĩa tập hợp các yếu tố cơ bản RBAC (tức
là, users, roles, permissions, operations, and objects) và các loại quan hệ, các chức
năng được bao gồm trong ti
êu chuẩn này. Mô hình tham chiếu RBAC phục vụ hai
mục đích. Đầu tiên, mô hình tham chiếu xác định phạm vi của tính năng RBAC
được bao gồm trong
tiêu chuẩn. Xác định các thiết lập tối thiểu các tính năng bao
gồm trong tất cả các hệ thống RBAC, các khía cạnh của hệ thống phân cấp vai trò,
các khía c
ạnh của mối quan hệ ràng buộc tĩnh, và các khía cạnh của mối quan hệ
ràng buộc năng động. Thứ hai, mô hình tham chiếu cung cấp một ngôn ngữ chính
xác và nhất quán, trong điều khoản của bộ phần tử và các chức năng để sử dụng
trong việc xác định các đặc tả chức năng.
2.3.1. Core RBAC (RBAC 0)
Hình 2. Mô hình tổng quát Core RBAC
10
2.3.2. Role hierarchy
Hình 3. Mô hình tổng quát Role hierarchy (RBAC 1)
thông qua vai trò của họ (hoặc các vai trò), việc quản lý quyền hạn của người dùng
tr
ở thành một việc khá đơn giản, và người ta chỉ cần chỉ định những vai trò thích
h
ợp cho người dùng mà thôi. Việc chỉ định vai trò này đơn giản hóa những công
vi
ệc thông thường như việc cho thêm một người dùng vào trong hệ thống, hay đổi
phòng công tác (department) của người dùng.
Hình 8. Điểm khác biệt giữa RBAC và các mô hình truyền thống
12
CHƯƠNG 3. MÔ HÌNH RBAC TRONG HỆ THỐNG
INTRANET CỦA CÁC TỔ CHỨC, DOANH
NGHI
ỆP
3.1. Công nghệ RBAC và XML
3.1.1. Giới thiệu
Extensible Markup Language (XML) [8] có nguồn gốc như là một tài liệu
ngôn ngữ đánh dấu, nhưng các công cụ và tiêu chuẩn API xác định xung quanh
nó đ
ã tăng cường rất nhiều tiềm năng cho các ứng dụng khác. Như một ngôn
ng
ữ đánh dấu tài liệu, XML có thể được phân biệt với HTML (ngôn ngữ đánh
dấu được sử dụng rộng rãi nhất cho các ứng dụng web) trong các thiết lập tùy
bi
ến các thẻ cung cấp (có thể truyền đạt ngữ nghĩa của dữ liệu đại diện) so với
các từ khóa cố định thiết lập của HTML. Do đó một tài liệu XML có thể cung
cấp một đại diện hợp lý của nội dung dữ liệu của nó. Tổ chức hợp lý của bản
thân các thẻ, được sử dụng trong một tài liệu XML, được cung cấp trong một tài
li
ệu riêng biệt được gọi là Document Type Definition hoặc DTD.
quan hệ được chỉ định nhưng được phân phối trên một số bảng hệ thống DBMS
mà không thể trực tiếp cập nhật.
3.2. Tích hợp RBAC với cơ sở hạ tầng IT
Phần này thảo luận về các khái niệm và nguyên mẫu nghiên cứu có liên quan
đã được phát triển để tích hợp các khái niệm mô hình RBAC vào doanh nghiệp
hiện có cơ sở hạ tầng CNTT. Sự lựa chọn của chúng ta về công nghệ dưới sự
quản lý của doanh nghiệp cơ sở hạ tầng CNTT được thúc đẩy bởi sự thành công
đã đạt được cho đến nay trong hội nhập RBAC vào các khối xây dựng của các
công nghệ này. Các công nghệ đã xem xét bao gồm WFMSs, các ứng dụng web,
hệ điều hành UNIX, hệ thống tập tin phân phối hoặc hệ thống tập tin mạng
(NFSs), Java, và hệ thống cơ sở dữ liệu liên (FDBS)
Do điều kiện có hạn của luận văn, xin trình bày về RBAC trong Workflow
Manager Systen để minh họa việc ứng dụng RBAC với cơ sở hạ tầng trong các
doanh nghiệp hiện nay
WFMSs (Workflow Management System) là những hệ thống quản lý được
sử dụng để hỗ trợ (phối hợp và xử lý) các quy trình quản lý, phân công nhiệm
vụ, công việc trong lĩnh vực ứng dụng khác nhau như: giáo dục, tài chính, ngân
hàng, y t
ế, viễn thông, và sản xuất.
14
WFMSs bao gồm một tập hợp các hoạt động được thực hiện theo một thứ tự
được xác định trước.Như vậy, k
iểm soát truy cập trở thành một phần không thể
thiếu trong việc ban hành một quy trình làm việc. Mỗi hoạt động đòi hỏi các
hoạt động đặc quyền truy cập mà được giới hạn người dùng được ủy quyền
những người tham gia vào các hoạt động đó. Hơn nữa, các hoạt động đặc quyền
được phép cho người sử dụng có thể thay đổi như một quy tr
ình làm việc được
xử lý Yêu cầu như vậy để quản lý truy cập như các tiến bộ công việc cho thấy
việc sử dụng cơ chế kiểm soát truy cập RBAC cũng có thể được sử dụng như
máy tính. Ở đây, thuật ngữ người sử dụng cũng đề cập đến một quá trình
máy tính mà có th
ể hoặc có thể không đại diện cho một người.
3.2.2. Về WFMSs
Activity - Hoạt động: mô tả một phần công việc hình thành bước đi hợp lý
trong một quá trình. Một hoạt động thường là đơn vị nhỏ nhất của công việc
được l
ên kế hoạch bởi một quy trình công việc trong quá trình ban hành.
AND-Split: Một điểm trong quy trình làm việc, nơi kiểm soát chia tách một
chủ đề duy nhất thành hai hoặc nhiều hoạt động song song.
AND-Join: Một điểm trong quy trình làm việc, hai hoặc nhiều hơn các hoạt
động thực hiện song song hội tụ duy nhất v
ào một kiểm soát chủ đề chung.
Buisiness Process: Một tập hợp của một hay nhiều thủ tục liên kết, hoạt động
chung nhận ra một mục tiêu kinh doanh, mục tiêu chính sách, thường là
trong b
ối cảnh của một cơ cấu tổ chức xác định vai trò, chức năng và các mối
quan hệ
Invoked Application: Một ứng dụng gọi là một ứng dụng công việc được gọi
bởi hệ thống quản lý công việc để tự động hóa một hoạt động, toàn bộ hoặc
một phần, hoặc để hỗ trợ một người tham gia công việc trong thiết kê một
mục công việc
Parallel Routing: Một phân đoạn của một trường hợp quá trình được ban
hành bởi một hệ thống quản lý công việc, trong đó hai hoặc nhiều trường hợp
hoạt động được thực hiện song song trong quy trình làm việc, tạo ra nhiều đề
kiểm soát
16
Process Definition: Sự hiện diện của một quá trình kinh doanh trong một
hình thức hỗ trợ thao tác tự động, chẳng hạn như mô hình, hoặc ban hành bởi
một hệ thống quản lý công việc. Định nghĩa quá trình bao gồm một mạng
số triển khai của RBAC làm cho việc sử dụng của khái niệm này bằng cách trình
bày vai trò nh
ư là một sự lựa chọn menu cho người sử dụng
Vai trò có thể được sử dụng theo cách khác. Bởi vì một vai trò là phương
tiện mà truy cập vào một nguồn tài nguyên có thể được thi hành, chuyển nhượng
một sự cho phép để thực hiện một hoạt động và loại bỏ các chuyển nhượng như
vậy có thể được sử dụng như là một phương tiện để một chuỗi tập hợp các hoạt
động.
Trình tự của các hoạt động là hành vi cơ bản cần thiết để hỗ trợ công việc.
Như vậy, một cơ chế RBAC có thể được sử dụng như một phương tiện để thực
hiện công việc.
3.3. Trung tâm quản lý bảo mật sử dụng RBAC
Nhiều tổ chức vẫn còn phụ thuộc vào từng cá nhân, dựa trên sử dụng cơ chế
quản lý danh tính được xây dựng vào hệ thống điều hành và các ứng dụng phần
mềm riêng. Tuy nhiên, khi số lượng người sử dụng và gia tăng các ứng dụng, hỗ
trợ một hệ thống như vậy trở nên tốn thời gian, khó sử dụng và tốn kém. Người
dùng nhanh chóng trở thành thất vọng bởi sự cần thiết phải nhớ nhiều mật khẩu.
Điều cần thiết l
à một thấp bảo trì hệ thống mà tự động hóa quản lý thường xuyên
và ki
ểm soát truy cập trên mạng để rằng bảo mật dữ liệu được đảm bảo. Một lựa
chọn là kiểm soát truy cập dựa trên vai trò (RBAC). Trong khi RBAC có thể
được thử thách để thiết kế v
à thực hiện, nó có thể được thiết kế theo mô hình
kinh doanh c
ủa công ty và chấp nhận rủi ro an ninh. Sau khi thực hiện, quy mô
cho sự tăng trưởng và đòi hỏi bảo trì tối thiểu, mà đi một chặng đường dài
hướng tới việc ngăn chặn làn sóng các chi phí CNTT.: an ninh, kinh doanh, giá
tr
ị cao chi phí bảo dưỡng thấp và hiệu quả tăng lên là một trong những lợi ích
hàng. Nh
ập nhân viên mới trở nên nhanh hơn và dễ dàng hơn, cũng như "khoá
cứng" của các tài khoản khi nhân viên ra khỏi nơi làm việc. Và nhân viên thường
tìm thấy rằng việc xây dựng trong tự động hóa quá trình của hệ thống RBAC
làm tăng hiệu quả và năng suất của họ bằ
ng cách loại bỏ hầu hết tính dự phòng
và các công vi
ệc hành chính mindless cần thiết theo yêu cầu của các hệ thống an
ninh trước đây "bị bưng bít"
19
CHƯƠNG 4. ỨNG DỤNG RBAC TẠI TRƯỜNG CAO ĐẲNG
NGHỀ GTVT TW 2
Trong chương này sẽ tập trung vào việc thiết kế một ứng dụng minh họa việc
triển khai mô hình RBAC vào cài đặt thực tế để quản lý và điều khiển truy cập. Ứng
dụng này sẽ tập trung vào việc mô tả và cài đặt những chức năng cơ bản nhất mà
m
ột hệ thống RBAC phải có. Các chức năng này bao gồm : chức năng quản lý các
vai trò, quản lý người sử dụng, quản lý các đối tượng và quyền thực thi trên các đối
tượng n
ày, quản lý các đặc quyền của các vai trò.
Trong h
ệ thống mạng tại trường Cao Đẳng Nghề GTVT TW II, với mô hình
qu
ản lý mạng - Domain sử dụng Windows Server 2008, công cụ Active Directory
đem tới các phương tiện quản lý thông tin nhận dạng và các mối quan hệ cấu thành
nên h
ệ thống mạng trong một tổ chức. Active Directory cung cấp những tính năng
sẵn có cần thiết để cấu hình và quản trị hệ thống, người dùng và các thiết lập ứng
dụng một cách tập trung. Với Active Directory, ta có thể đơn giản hóa việc quản lý
người d
Bước 1: Xác định và sử dụng mô hình các kịch bản
Bước 2: Rút ra được quyền truy cập theo các kịch bản
Bước 3: Xác định hạn chế
Bước 4: Tinh chỉnh kịch bản
Bước 5: Xác định nhiệm vụ và hồ sơ công việc
Bước 6: Xác định sơ bộ vai trò hệ thống phân cấp
Bước 7: Xác định mô hình RBAC
4.1.2. Ứng dụng trên Web services
4.2. Xây dựng mô hình RBAC tại trường Cao đẳng nghề GTVT TW 2
4.2.1.
Ứng dụng với Active Directory
Kịch bản quản trị vai trò: Di chuyển sinh viên vào một vai trò hạn chế
4.2.2. Ứng dụng trên Web services
4.2.2.1. Cài đặt và thử nghiệm
Các chức năng chính của chương trình
Quản lý các vai trò và người sử dụng
Chức năng quản lý các đặc quyền
Chức năng quản lý các miền đối tượng
4.2.2.2. Kiểm thử
4.2.2.3. Kết quả đạt được khi hoàn thành chương trình
4.2.2.4. Nh
ững hạn chế của chương trình
4.2.2.5.
Hướng phát triển chương trình trong tương lai
21
KẾT LUẬN VÀ KIẾN NGHỊ
Điều khiển truy cập (access control) là một khái niệm không hề mới mẻ, nó là
khái ni
ệm được hình thành từ thuở sơ khai của ngành công nghiệp máy tính. Tuy
nhiên đây vẫn l
ền hệ điều hành nguồn mở Ubuntu sử dụng Apache webserver và
cơ sở dữ liệu MySql.
22
Tuy nhiên do hạn chế về mặt thời gian nghiên cứu, luận văn khó tránh khỏi
những khiếm khuyết kể cả về mặt lý thuyết lẫn việc phân tích và thiết kế công cụ hỗ
trợ. Những mặt hạn chế này bao gồm:
1. Mới chỉ tìm hiểu ở mức độ cơ bản về họ các mô hình RBAC
2. Trong quá trình phân tích, thi
ết kế và cài đặt công cụ hỗ trợ, chưa đặc tả
được các chức năng quản trị cao cấp của RBAC như: sự kế thừa các vai
trò, sự xung đột về lợi ích của người sử dụng khi họ ở trong hai vai trò
đối lập nhau, các ràng buộc SSD, DSD, và các phiên làm việc.
Trong tương
lai, tôi sẽ tiếp tục mở rộng đề tài này theo hướng nghiên cứu
chuyên sâu hơn về họ các mô h
ình RBAC, các xung đột quyền hạn. Phân tích, thiết
kế và cài đặt thêm các chức năng cao cấp của RBAC vào công cụ hỗ trợ cũng như
cách tích hợp mô hình điều khiển truy cập RBAC trong một hệ thống thông tin hiện
đại.