Tài liệu Khóa luận Nghiên cứu đặc tả uml security: ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NG N Đ T R T
KHOÁ LUẬN TỐT NGHIỆ ĐẠI HỌC HỆ CHÍNH QUY
Ngành: thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NG N Đ T R T
KHOÁ LUẬN TỐT NGHIỆ ĐẠI HỌC HỆ CHÍNH QUY
Ngành: thông tin
Cán bộ ướng dẫ T T ư N T ậ
NỘ -2010
ờ
C
C 5 a C
thông tin ,
Sinh viên
P
p
(MDS) nh mô hình thi t k h th ng cùng v i các yêu c u an ninh c
các công c t ng t o ra các ki n trúc ki m soát truy c p.
t
-
.
................................................................................................. 1
2 ................................................................................. 5
2.1. ..................................................................................................... 5
2.2. ....................................................................... 5
2.3. Model Driven Architecture ........................................................................
73 trang |
Chia sẻ: haohao | Lượt xem: 1124 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Khóa luận Nghiên cứu đặc tả uml security, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NG N Đ T R T
KHOÁ LUẬN TỐT NGHIỆ ĐẠI HỌC HỆ CHÍNH QUY
Ngành: thông tin
HÀ NỘI - 2010
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NG N Đ T R T
KHOÁ LUẬN TỐT NGHIỆ ĐẠI HỌC HỆ CHÍNH QUY
Ngành: thông tin
Cán bộ ướng dẫ T T ư N T ậ
NỘ -2010
ờ
C
C 5 a C
thông tin ,
Sinh viên
P
p
(MDS) nh mô hình thi t k h th ng cùng v i các yêu c u an ninh c
các công c t ng t o ra các ki n trúc ki m soát truy c p.
t
-
.
................................................................................................. 1
2 ................................................................................. 5
2.1. ..................................................................................................... 5
2.2. ....................................................................... 5
2.3. Model Driven Architecture ........................................................................... 8
2.4. Role-Based Access Control .......................................................................... 9
2.5. ................................................................................. 10
2.5.1. Enterprise JavaBeans ............................................................................. 10
2.5.2. Enterprise Services for .Net .................................................................. 12
3 : ...................... 13
3.1. ..................................................................................... 14
3.2. ............................................................................................ 16
4 .................. 20
4.1. ........................................................................................ 21
4.1.1. ........................................... 21
4.1.2. .............................................. 26
4.2. .................................................................................................. 29
4.3. ........................................................................................ 30
4.3.1. ........................................... 30
4.3.2. ............................................... 31
4.3.3. .................................................. 32
4.4. ............................................................................................ 33
4.4.1. .............................................................................................. 33
4.4.2. ........................................................................................... 33
4.4.3. ................................................................................... 34
4.4.4. ..................................................................................... 35
4.5. ....................................................................................... 37
4.5.1. .......................................................................................... 37
4.5.2. : .................................................................................. 37
4.5.3. : .................................................................................... 38
4.6. ......................................................................................... 38
4.6.1. .................................................................................. 38
4.6.2. ................................................................................... 39
4.6.3. ............................................. 40
4.6.4. ......................................... 41
4.6.5. ................................................... 42
4.6.6. .................................................................................................... 45
4.6.7. Test ........................................................................................................ 56
4.7. ....................................................................................................... 62
...................................................................................................................... 63
........................................................................................................ 64
..................................................................................................... 65
Vi t
tắt
Vi Gi ĩ
UML Unifiel Modeling Language Ngôn ng
MDA Model Driven Architecture
MDS Model Driven Security
RBAC Role-Based Access Control
EJB Enterprise JavaBeans M
trong Java
OCL Object constraint language
MOF Meta-Object Facilty
1
ư 1 G ớ
Xây
.
Xâ . Tuy nhiên, v
t
ph
-hoc
ôi ắ
ắ
-
.
H 3 :
-
-
-
2
: (Model Driven Architecture)
(Model driven security - MDS).
.
2 3
(access control)
nh
công khai
dialect),
.
truy nh
3
2:
Ta cho
-
2
dialects( ph )
ki
se
JavaBeans (EJB) .NET
cho
ĩ
4
t
Th hai, b ng cách tích
h p an ninh và các mô hình thi t k h th
― ‖ ch xu t hi n tùy ch i s d ng phù h p v i các chính
sách b o m c hóa.
ĩ c
5
ư 2
:
Unifiled Modeling Language (ngôn
-
2.1. Đ
C
:
-
-
-
2.2. N
UML h tr các mô t v c u trúc và hành vi c a các h th ng s
d ng các lo i mô hình ph n t khác nhau và các lo i bi
6
Các khía c nh c u trúc c a h th c b ng cách s d ng các l p
Các hành vi c a m t l p có th
ắ
3:
3 này cho th y c u trúc c a
ng d ng l p 3 : M t
cu c h p có các thu ngày bắ u (start: date) và th i gian d ki n
(duration: time). Ch s h i tham gia, và v trí c a cu c h c nh b ng
cách s d : :
:
Các hình ch nh i di
i di n cho quá trình chuy i. Quá trình chuy i có th
c dán nhãn v i tên c a các s ki n gây lên và tên c ng (
c hi n trong quá trình chuy
7
4 Trong ListMeetings, m i
s d ng có th duy t các cu c h p theo l ch trình và có th ắ
4:
p m t ngôn ng c t
-
3 :
Context Meeting inv:
seft.participants-> includes(seft.owner)
8
―seft‖
u ― ‖
―->‖
ĩ
Stereotypes
tagged values
ĩ
2.3. Model Driven Architecture
xu p
c nh và phát tri n nh ng ng d
ĩ
ngôn ng mô hình hóa có kh th c hóa ĩ
c kh e), các khía c nh h th ng (ch ng h o m t), ho c các công ngh
c th có ba l a ch n
thay th nh ngôn ng ĩ
stereotypes and
tagged values -
ng
. 3
ĩ
9
ĩ
n a, các giao di n cho truy v n và thao tác các siêu d
li u gi th c a các ngôn ng c quy
nh b ng cách s d ng m t c u hình UML.
p nh ng l i th xây d ng các công c
MDA
b ng cách tách bi t các cú pháp tr ng c a ngôn ng mô hình hóa t
cú pháp c th c a trên UML, ta có th m t cách súc
tích, c ti p s d xây d ng mô hình.
2.4. Role-Based Access Control
:
AC Users x Permissions
p (u, p) ∈ AC.
Role-Based Access Control (RBAC)
2 :
user assignment - Permissions
assignment -PA):
UA ⊆ Users × Roles, PA ⊆ Roles × Permissions
M i quan h ki m soát truy c h c a các m i
quan h :
= ◦
10
―◦‖
:
AC = {(u, p) ∈ Users × Permissions|∃ role ∈ Roles. (u, role) ∈ UA ∧ (role, p) ∈ PA}
―≥‖
ĩ
= ◦ ≥ ◦
―≥‖
ĩ
ĩ
Vi t h th ng c p b c, gi ng
phân chia các m i quan h ĩ
n hóa vi c qu n lý ki m
soát truy c p khi cung c p m t thu n ti n và tr c quan tr ng
có th g ng v u t ch c th c t c a công ty.
2.5. ậ
hai Enterprise Services for
.NET
2.5.1. Enterprise JavaBeans
.
11
Thông tin c n khai là nh ng tài li
3 :
M t thành ph n th c th có
th n b n giao di n, có th c phân lo i theo hai chi u.
n
ĩ
u khi n truy c p c c d
cung c p m cho kha m soát truy c p, các chính sách ki m soát truy c p
c c tri t thành ph n EJB. Các h th ng b o m t
con c a máy ch ng d u trách nhi m th c thi chính sách này thay m t cho
các thành ph ĩ
:
Supervisor
Meeting
Remote
cancel
ĩ
method-permission l role-name
12
method.
(ejb-name) method-intf method-
name method-params).
2.5.2. Enterprise Services for .Net
Microsoft Enterprise Services for .NET h tr s phát tri n c a các thành ph n phía
máy ch d a trên n n t ng .NET. B ng cách cung c p các d ch v
qu i, và
The Enterprise Services
Supervisor
:
[SecurityRole("Supervisor")]
public void cancel(){...}
13
ư 3 ộ
SecureUML
5
3 :
-
-
-
.
5:
RBAC
Information flow
14
3.1. C ư
6 ng c
supertype Subject chung.
6: SecureUML metamodel
ĩ
:
i di n cho m t th c th h th ng, gi t
i ho c m t Group là m t t p h
SubjectGroup
15
SubjectAssignment.
Permission
ActionAssignment
PermissionAssignment
ắ
RoleHierarchy
AuthorizationConstraint là m t v ng ắn li n v i m
(permisssion)
Tài nguyên (resource) là l c a t t c các y u t mô hình trong các ngôn ng
th
i ngu n tài
nguyên cung c p m t ho c nhi
ResourceAction
(aciton subtypes) : AtomicAction và CompositeAction.
ng c p th p có th c tr c ti p ánh x t ng c a
n n t ng m c l
i tác tr c ti p
trên n n t ng m c tiêu. c sắp x ctionHierarchy và
c s d ng c a nhóm.
ĩ
n u này mang l i m ng ĩ nh các
ng c ― ‖
16
ắ
atomicactions.
i tài nguyên c th , nh ng c a , và h
th ng c p b t ph n c a m
SecureUML.
3.2.
p p
: cureUML
UML metamodel type and stereotype SecureUML metamodel type
Class «User» User
Class «Group» Group
Dependency «SubjectGroup» Dependency
SubjectGroup «SubjectAssignment» SubjectAssignment
Class «Role» Role
Generalization between
classes with stereotype
«Role» RoleHierarchy
AssociationClass «Permission» Permission, PermissionAssignment,
ActionAssignment,
AuthorizationConstraint, and
ConstraintAssignment
17
B ng 1 tóm tắt c a các ánh x gi a các y u t c a metamodel SecureUML và UML.
ĩ
Bây gi chúng ta minh h a cú pháp c th ng t i ví d
hình 7 o m t: ch có ch s h u c a m t cu c h p có
th i d li u cu c h p và h y b ho c xóa các cu c h p .
> và m i quan h th a k gi nh b ng cách s d ng m t
m i quan h t ng quát UML.
7: eUML
V
ĩ
ĩ ĩ
ĩ >>
>>
18
7
c
stereotype >
(Permissi
>>
ắ
Nh t s cho phép có th ch ng
trên tài nguyên g c ho i nguyên con c
c
― ‖
i
19
u này
a trong mô hình và không nh
ắ ― ‖
ĩ
thu
(update) >> tên ―Meeting‖
i
Hai thu nh s c p nh t (bao g m h y b ) và
xóa m t cu c h p.
n:
caller.name = self.owner.name
ĩ
20
ư 4.
:
- admin :
+
- (CourseManager):
+ X
.
+ X t, xo
ra.
- :
.
21
4.1.
4.1.1. ư
Hình 8: c use case cho admin và gi ng viên
- :
:
Hình 9: Usecase qu n lý i dùng
22
:
:
Tên ca s d ng:
M :
:
:
2:
3:
A1: Ad
:
2: 2
:
Tên ca s d ng:
M :
:
:
2:
:
3:
:
:
2:
23
:
Tên ca s d ng:
M :
:
:
2:
:
3:
4:
5:
:
:
:
2:
2:
:
2: 4
:
Tên ca s d ng:
M :
:
2:
:
3:
4:
24
:
:
2: ng
-
:
Hình 10: Use case qu n lý khóa h c
- :
:
Tên ca s d ng:
M :
:
:
2:
3:
A1: Admin
:
: c
25
2: 2
:
Tên ca s d ng:
M :
:
:
2:
:
3:
:
1:
A1: K
2:
2:
:
2: :
Useca :
Tên ca s d ng:
M :
:
:
2:
:
3:
26
:
4:
5:
C1:
:
:
2:
2:
B1: anager nh
2: :
3:
C1:
2: 4
:
Tên ca s d ng:
M :
:
2:
:
3:
4:
:
:
2:
4.1.2. ư case cho ườ
- :
27
Hình : c Use cas i dùng chung
-
:
Tên ca s d ng:
M :
:
:
:
2:
3:
:
:
2:
28
:
Tên ca s d ng:
M :
:
:
:
2: vi
3:
:
A1:
A2:
:
Tên ca s d ng:
M :
:
:
A1:
29
2:
:
:
A1:
A2:
4.2. ớ
:
- :
- :
-
Hình 12: Bi u l p
30
4.3.
4.3.1. ườ
3:
Trong tr ng m i s d ng có th duy
và có th ắ
trong List
User
User
31
4.3.2.
Hình 14: Bi u tr ng thái cho qu n lý khóa h c
Trong tr ng , m i s d ng có th duy
th ắ
EditCourse
CreateCourse
Course
.
32
4.3.3.
5:
Trong tr ng m i s d ng có th và có th ắ
Post
Post
33
4.4.
4.4.1. Đ ậ
6:
4.4.2. user
- :
7:
34
-
8: thông tin
4.4.3.
-
9:
35
-
2 : thông tin
4.4.4. t
- :
2 :
-
36
22:
37
4.5. ộ
4.5.1.
23:
4.5.2.
24:
38
4.5.3.
25:
4.6. T ậ
4.6.1.
3 :
- :
- :
- :
:
39
26:
4.6.2.
3
- :
- Course :
- SinhVien:
ĩ
27:
40
4.6.3. ư
- :
28: chung
-
29:
-
3 :
-
41
3 :
4.6.4. ộ
- :
+) Xem thông tin user: ViewUser
:
:
:
-
+) Xem thông tin : ViewCourse
: CreateCourse
: DeleteCourse
: Course
:
- :
:
: DeletePost
:
:
42
4.6.5. T er
- Per
32:
- Permission cho Admin:
43
33:
: (Caller)
44
- Permission cho CourseManager:
34:
:
:
- Premission cho SinhVien
35:
45
4.6.6.
CourseManager
public class CourseController : Controller
{
public ActionResult Create()
{
if (HttpContext.User.Identity.Name.Equals(""))
return View("DenyCreateCousre");
else{
int roleID =
repo.GetUser(HttpContext.User.Identity.Name).RoleID;
if (repo.GetRole(roleID).CreateCourse==0)
return View("DenyCreateCousre");
else
return View();
}
}
}
36:
46
5 : 2 7 9
3 3 CourseManager 2
37:
38:
39:
47
4 :
:
public ActionResult Edit(int id)
{
if(isOwnerCourse(id))
return View(repo.GetCourse(id));
else return View("DenyEditCourse");
}
4 :
48
42:
43:
nh 44:
:
k
:
49
public class AccountController : Controller
{
public ActionResult Create()
{
if (HttpContext.User.Identity.Name.Equals(""))
return View("DenyUser");
else
{
int roleID = repo.GetUser(HttpContext.User.Identity.Name).RoleID;
if (repo.GetRole(roleID).CreateUser == 0)
return View("DenyUser");
else
return View();
}
}
45:
46:
50
47:
:
public ActionResult Edit(string UserID)
{
if (!HttpContext.User.Identity.Name.Equals(""))
{
int roleID = repo.GetUser(HttpContext.User.Identity.Name).RoleID;
if (repo.GetRole(roleID).isEditUser())
return View(repo.GetUser(UserID));
else return View("DenyEditUser");
}
else
return View("DenyEditUser");
}
48:
49:
51
50:
CourseManager
:
public ActionResult createPost(int id){
if (isPost(id))
{
return View();
}
else{
TempData["Deny"] = ;
return RedirectToAction("Details/" + id);
}
}
52
51:
52:
53:
không tham gia
53
public ActionResult EditPost(int id)
{
if(isEditPost(id)) return View(repo.GetPost(id));
else{
TempData["Deny"] = ;
return RedirectToAction("Details/" + repo.GetPost(id).CourseID);
}
}
54:
55:
54
56:
57:
55
58:
?
public ActionResult Join(int id)
{
if (!User.Identity.Name.Equals("")&&
repo.GetRole(repo.GetUser(User.Identity.Name).RoleID).JoinCourse==1)
{
user currentUser = repo.GetUser(User.Identity.Name);
repo.JoinCourse(currentUser.IDD, id);
return RedirectToAction("Details/" + id);
}
else return View("DenyJoin");
}
59:
56
4.6.7. Test
viên
:
CourseManager
viên
:
thông tin
:
57
viên
H :
CourseManager
:
viên
:
CourseManager
:
viên
:
:
58
CourseManager
a admin
:
viên
:
n
CourseManager
Course
:
:
59
ng
:
S
:
CourseManag
60
:
Admin
:
:
CourseManager
61
:
Admin
:
62
4.7. ậ
tôi
63
ậ
n
–
MDS
:
ĩ
ĩ
ĩ c
,
tôi
secureUML
64
ướ
,
?
ắ
ban
65
T
[1] David Akehurs fi
transformations in a metamodel. In UML 2002 — fi
Language. Model Engineering, Languages, Concepts, and Tools. 5th International
Conference, Dresden, Germany, September/October 2002, Proceedings, volume
2460 of LNCS, pages 243–258. Springer Verlag, 2002.
[2] Gail-Joon Ahn and Ravi S. Sandhu. The RSL99 language for role-based
separation of duty constraints. In Proceedings of the 4th ACM Workshop on Role-
based Access Control, pages 43–54. ACM Press, 1999.
[3] Gail-Joon Ahn and Ravi S. Sandhu. Role-based authorization constraints
fi -tion. ACM Transactions on Information and System Security, 3(4):207226,
November 2000.
[4] Gail-Joon Ahn and Michael Eonsuk Shin. UML-based representation of role-
based access control. In 9th IEEE International Workshop on Enabling
Technologies: Infrastructure for Collaborative Enterprises (WETICE 2000), pages
195–200. IEEE Computer Society, June 2000.
[5] Gail-Joon Ahn and Michael Eonsuk Shin. Role-based authorization constraints
fi I I I W
on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE
2001), pages 157–162. IEEE Computer Society, June 2001.
[6] Derek Beyer. C# COM+ Programming. John Wiley & Sons, book and cd-rom
(october 15, 2001) edition, 2001.
[7] Bernhard Beckert, Uwe Keller, and Peter H. Schmitt. Translating the Object
fi -order predicate logic. In Serve Autexier and Heiko
fi W : I Y’ 2
volume 02-07 of DIKU technical reports, pages 113–123, 2002.
[9] D. Brewer and M. Nash. The chinese wall security policy. In Proceedings of the
1989 IEEE Symposium on Security and Privacy, pages 206–214. IEEE Computer
Society Press, May 1989.
66
[10] Fang Chen and Ravi S. Sandhu. Constraints for role-based access control. In
Proceedings of the 1st ACM Workshop on Role-based Access Control, pages 39–46.
ACM Press, 1996.
[11] Joseph A. Goguen and Jos´e Meseguer. Order-sorted algebra I: equational
deduction for multiple inheritance, overloading, exceptions and partial operations.
Theoretical Computer Science, 105(2):217–273, November 1992.
[12] Richard Hubert. Convergent Architecture: Building Model Driven J2EE
Systems with UML. John Wiley & Sons, 2001.
[13] 2 ’ &
2001.
[14] Torsten Lodderstedt, David Basin, and Jürgen Doser, SecureUML: A UML-
Based Modeling Language for Model-Driven Security. Institute for Computer
Science, University of Freiburg, Germany
[15] Richard Monson- 3 ’ &
Associates, 2001.
[16] fi W , and John M. Boone.
Integrity in automated information systems. Technical Report 79-91, National
Computer Security Center, September 1991.
[17] Object Management Group. Meta-Object Facility (MOF ), version 1.4,
2002.
[18] I fi
Language Reference Manual. Addison-Wesley, 1998.
[19] M. von der Beeck. A comparison of statechart variants. In Hans Langmaack,
Willem Paul de Roever, and Jan Vytopil, editors, Formal Techniques in Real-
Time and Fault-Tolerant Systems, volume 863 of LNCS, pages 128–148. Springer
Verlag, 1994.
Các file đính kèm theo tài liệu này:
- LUẬN VĂN-NGHIÊN CỨU ĐẶC TẢ UML SECURITY.pdf