Khóa luận Nghiên cứu đặc tả uml security

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

pdf73 trang | Chia sẻ: haohao | Lượt xem: 1124 | Lượt tải: 0download
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:

  • pdfLUẬN VĂN-NGHIÊN CỨU ĐẶC TẢ UML SECURITY.pdf