Distributed Security CSE 5810 Prof. Steven A. Demurjian, Sr. Computer Science & Engineering Department The University of Connecticut 371 Fairfield Road, Box U-1155 Storrs, CT 06269-1155 steve@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818 DistribSecurity-1 A Security Model/Enforcement Framework with Assurance for a Distributed Environment CSE5810 C. Phillips, S. Demurjian, and T.C. Ting Computer Science & Engineering Department The University of Connecticut Storrs, Connecticut 06269-3155 Charles.Phillips@usma.edu {steve,ting}@engr.uconn.edu http://www.engr.uconn.edu/~steve (860) 486 - 4818 DSEC--2 Motivation CSE5810 Premise: Artifacts - set of Database COTS DB, Legacy, COTS, GOTS, Each w/ API Legacy Legacy Premise: Users Client New and Existing Java Client Utilize Artifact APIs GOTS Distributed Application, DA NETWORK Artifacts + Users Can we Control User GOTS Access to Artifact APIs Client (Methods) by … Legacy Role (who) Database Classification (MAC) Time (when) Database COTS Client Data (what) Client DSEC--3 Motivation API Access Based on Role/Classification Can we Control Access Based on Role? CSE5810 Can we Control Access to Based on Classification? (high T > S > C > U low) Java Client User A Role X Authorize C1, C2 C3, C5 L1, L2 C: COTS API: Methods C1 C2 C3 C4 C5 Java Client User A Role X Authorize Secret (S) C: COTS API: Methods T: C1 S: C2 S: C3 T: C4 C: C5 Java Client User B Role Y Authorize C1, C4 L2, L3 L: Legacy API: Methods L1 L2 L3 Java Client User B Role Y Authorize Confidential (C) L: Legacy API: Methods T: L1 C: L2 U: L3 DSEC--4 Motivation API Access Based on Time/Value Can we Control Access Based on Time? Can we Control Access Based on Data Values? CSE5810 Java Client User A Role X Authorize C1: TI a C4: TI b L1: TI c C: COTS API: Methods C1 C2 C3 C4 C5 Java Client User A Role X Authorize X.C1 (a < 30) X.C4 (d > 40) X.L1 (f = 10) C: COTS API: Methods C1 (a) C2 (b) C3 (c) C4 (d) C5 (e) Java Client User B Role Y Authorize C2: TI d L1: TI e L: Legacy API: Methods L1 L2 L3 Java Client User B Role Y Authorize Y.C2 (0<b<99) Y. L1 (f = 100) L: Legacy API: Methods L1 (f) L2 (g) L3 (h) DSEC--5 Overview of Remainder of Talk CSE5810 Problem Statement Research Goals and Objectives Relevance/Importance of Research Distributed Environment Assumptions Unified Security Model for RBAC/MAC Security Enforcement Framework Security Assurance Design Time and Run Time Checks Role Delegation Extensions and Capabilities Analysis vs. SSE-CMM and Evaluation vs. DCP Concluding Remarks DSEC--6 Problem Statement - Research Foci CSE5810 Security Administrative and Management Tools Unified RBAC/MAC Security Model Security Policy Definition Design Time Security Assurance RBAC/MAC Enforcement Framework Run Time Security Assurance Analyses of RBAC/MAC Model/Framework Against SSE-CMM Evaluation of RBAC/MAC Model Using DCP DSEC--7 Research Goals and Objectives CSE5810 Security Model that Unifies RBAC/MAC with Constraints Based on Method Signature (How), Time (When), and Security Clearances and Classifications Security Policy and Enforcement Assurance Design Time (During Security Policy Definition) Security Assurance Run Time (Executing Application) Security Enforcement RBAC/MAC Model for a Distributed Setting Leverage Middleware Capabilities Flexible, Portable, Platform Independent Security with Minimal/Controlled Impact DSEC--8 Research Goals and Objectives CSE5810 Method-Level Approach Constraints using: Role, MAC, Time, and Data Customized Access to APIs of Artifacts Contrast with Object Level Approach Assessment: Security Model/Enforcement Analysis Versus CMU’s Security Engineering Capability Maturity Model (SSE-CMM) Evaluation of Utility of Approach for Supporting Dynamic Coalition Problem Prototype Administrative and Management Tools - Assurance Security Resources/Middleware - Enforcement DSEC--9 Relevance/Importance of Research CSE5810 Shrinking Military More Reliant on the Civilian Sector for Operational Support and Internet Usage Legacy Software Systems COTS and GOTS Shared Databases Flexible Security Policy Realization and Enforcement in Support of Coalition Warfare Classified and Non-Classified Information Rapid Deployment and Easy to Use Platform Independence Growing Need for Multi-level Security Solutions Currently Government Systems Avoid MAC Difficult to Realize and Manage DSEC--10 Distributed Environment Assumptions CSE5810 Assume Presence of Middleware (JINI, CORBA): Provides Bridge Between Software Artifacts Allows Software Artifacts to Register/Publish their APIs for use by Clients/Other Resources Lookup Service: Middleware that Provides Means for Software Artifacts (Resource) and Clients to Interact A Resource is a Software Artifact Accessible via API (e.g., C++, Java, etc.) Consisting of Services A Service is a Logical Grouping of Public Methods that are Registered with Lookup Service A Method has a Signature Consisting of a Possible Null Return Type and Zero or More Parameters DSEC--11 Global Command and Control System (GCCS) Resource/Service/Methods GCCS Resource with Two Services CSE5810 Joint Service with Methods: Weather (Token); VideoTeleconference (Token, fromOrg, toOrg); JointOperationsPlannning (Token, CrisisNum);JOPES CrisisPicture (Token, CrisisNum, Grid1, Grid2); TransportationFlow (Token); LogisticsPlanningTool (Token, CrisisNum); DefenseMessageSystem (Token); NATOMessageSystem (Token); Component Service with Methods: ArmyBattleCommandSys (Token, CrisisNum); AirForceBattleManagementSys (Token, CrisisNum); MarineCombatOpnsSys (Token, CrisisNum); NavyCommandSystem (Token, CrisisNum); a.k.a METOC TLCF COP JFAST LOGSAFE DMS CRONOS ABCS TBMCS TCO JMCIS DSEC--12 Security Enforcement Framework Software Architecture Database Client CSE5810 COTS Client Wrapped Resource for Database Application Wrapped Resource for COTS Application Lookup Service Java Client General Resource Wrapped Resource for Legacy Application Software Agent Legacy Client Lookup Service Security Policy Client (SPC) Security Authorization Client (SAC) Security Delegation Client (SDC) Unified Security Resource (USR) Security Policy Services Security Authorization Services Security Registration Services Security Analysis and Tracking (SAT) DSEC--13 Security Enforcement Framework CSE5810 Unified Security Resource Services to: Manage URs and Privileges Authorize URs to Us Identify Users and Track Security Behavior Associated Administrative/Management Tools Security Policy Client to Grant/Revoke Privileges (TCs, methods, SCs)/set CLS/CLR Security Authorization Client to Assign CLRs and Authorize URs to End Users Security Analysis Tool (SAT) to Track all Client Activity (Logons/Method Invocations) DSEC--14 Unified Security Model Definitions Lifetimes Concept CSE5810 Definition 1: A lifetime, LT, is a Discrete Time Interval [LT.st, LT.et] with LT.et > LT.st LT.st (start time) or LT.et (end time) is a tuple (day, month, year, hour, minute, second) where x y means x.LT.st y.LT.st and x.LT.et y.LT.et X Y is equivalent to Y X Let ST max{ X .st , Y .st} and ET min{ X .et , Y .et} if ET ST Ø X Y [ ST , ET ] if ET ST (1.1) (1.2) LT = [ct, ] means current time (ct) onward DSEC--15 Concept of Containment of Lifetimes CSE5810 DSEC--16 Usage of Lifetimes CSE5810 Lifetimes are Important Concepts since they Delineate “When” an Action or Usage Can Occur For Example: “When” is a User Role Authorized to invoke a Method? “When” is a User Authorized to a User Role? “When” Does a Resource Allow its Services Available in the Distributed Environment? Overall - LTs Control the Time Constrained Behavior for Security DSEC--17 Examples of Lifetimes CSE5810 DSEC--18 Related Work: Lifetimes CSE5810 Leasing [Wald99] Temporal Constraints [Bert96, Bert01, Ahn00] DBMS Constraints [Bark01, Nota95] User Constraints [Sand98, Zurk96] Similarities and Differences: Extend Leasing Concept from Resources, Services, and Methods to LTs of URs/ Users Temporal Constraints used on Objects and Work Flow are applied to Resources, URs, and Users Which Allows for Less Code Modification and Dynamic Changes LTs in Conjunction with Method Time Constraints Improve Granularity and Provide Increased Flexibility for Security Policy DSEC--19 Unified Security Model Definitions MAC Concept CSE5810 Definition 2: Relevant MAC Concepts are: A sensitivity level, SLEVEL, SLEVEL = {U,C,S,T} unclassified (U) - no impact; confidential (C) causes some damage; secret (S), causes serious damage; top secret (T) causes exceptionally grave damage SLEVELs form a hierarchy: U < C < S < T Clearance (CLR) is SLEVEL given to users Classification (CLS) is the SLEVEL given to entities (roles, objects, methods, etc.) Note: We Utilize 4 Levels of Sensitivity Approach Will Work for n Levels DSEC--20 Unified Security Model Definitions Distributed Application CSE5810 Definition 3: A Distributed Application, DAPPL, is Composed of a Set of Software/system Resources (e.g., a Legacy, COTS, DB, Etc.), Each Composed of a Set of Services, Which in Turn Are Each Composed of a Set of Methods, Namely: R {Ri | i 1 m} Si {Sij | j 1 ni } M ij {M ijk | k 1 qij } Ri .S ij .M ijk Uniquely Identifies Each Method DSEC--21 Unified Security Model Definitions Methods CSE5810 Every Method of Service of Resource Ri .S ij .M ijk Must be Registered from a Security Perspective Registration of Signature and Security Information Lifetime of Method (When Available for Use) Classification of Method (Level of Use) Definition 4: Every method is registered as: M ijk [M Name ijk ,M LT ijk ,M CLS ijk ,M Params ijk ] Default CLS is U Default LT = [ct, ] Resource by Registering Sets CLS and LT DSEC--22 Unified Security Model Definitions Services Definition 5: Every service is registered as: Sij [S CSE5810 Name ij LT ij ,S ,S CLS ij ] where S LT .st ij S LT .et ij max{ M CLS ij min{ M S min{ M LT .st ijk LT .et ijk CLS ijk | k 1...qij } | k 1...qij } | k 1qij } Note that LT and CLS are Inferred from LT and CLS of Methods that Comprise Service DSEC--23 Unified Security Model Definitions Resource Definition 6: Every resource is registered as: Ri [ RiName , RiLT , RiCLS ] CSE5810 where RiLT .st min{ SijLT .st | j 1...ni } LT .et i max{ S | j 1...ni } CLS i min{ S | j 1ni } R R LT .et ij CLS ij Note that LT and CLS are Inferred from LT and CLS of Services that Comprise Resource DSEC--24 Clearances/Classifications Example CSE5810 (C) GCCS Resource C= min {Service CLSs} (S) Joint Service with Methods S = min{Method CLSs} (S)Weather (Token); (S)VideoTeleconference (Token, fromOrg, toOrg); (S)JointOperationsPlannning (Token, CrisisNum); (S)CrisisPicture (Token, CrisisNum, Grid1, Grid2); (S)TransportationFlow (Token); (S)LogisticsPlanningTool (Token, CrisisNum); (S)DefenseMessageSystem (Token); (T)NATOMessageSystem (Token); a.k.a METOC TLCF JOPES COP JFAST LOGSAFE DMS CRONOS (C) Component Service with Methods: C = min{Method CLSs} (S)ArmyBattleCommandSys (Token, CrisisNum); ABCS (S)AirForceBattleManagementSys (Token, CrisisNum); TBMCS (S)MarineCombatOpnsSys (Token, CrisisNum); TCO (C)NavyCommandSystem (Token, CrisisNum); JMCIS Note: Access Classification Precedes Each Entry. DSEC--25 Related Work: Clearances/Classifications CSE5810 Lattice Based Access Control [Sand93] MAC and RBAC [Nyan95, Osbo97, Osbo00] DAC with Roles [Sand98] Orange Book [DoD96] MAC with Objects [Thur89] Similarities and Differences Our Approach Opposite in that we Take Minimum and Standard would Take Maximum Our Security Approach is at the Method Level Our Approach is Dynamic in That CLRs and CLSs Can Be Changed During Runtime MAC Check at Invocation Eliminates Need for Object Access or Change DSEC--26 Unified Security Model Definitions User Roles and UR List CSE5810 Definition 7: A user role, UR, representing a set of responsibilities for an application, is defined as: UR [UR Name ,UR LT ,URCLS ] Notes LT and CLS is Set by Security Officer Defaults are [ct, ] and U Respectively Examples: Commander /Joint Planner - Crisis 1 [CDR_CR1, URLT, T] [JPlannerCR1, [01dec00, 01jun01], S] Definition 8: A user-role list, , URL is the set of r unique roles that have been defined for DAPPL. DSEC--27 Unified Security Model Definitions Users and User List CSE5810 Definition 9: A user, U, who will be accessing the DAPPL via a client application, is defined as: U [U UserId ,U LT ,U CLR ] Notes LT and CLS is Set by Security Officer Defaults are [ct, ] and U Respectively Example Users: General DoBest: [DoBest, 1 year, T] Colonel DoGood: [DoGood, 6 mo., S] Definition 10: A user list, UL is the set of u users that have been defined for DAPPL. DSEC--28 Examples: Users, User-Roles, and URA Users: U [U UserId , U LT , U CLR ] CSE5810 (T)General DoBest: [DoBest, [ct, ], T] (T)Colonel DoGood: [DoGood, [01dec00,01jun01], T] (S)Major DoRight: [DoRight, [01dec00,01jan01], S] (T)Major CanDoRight: [CanDoRight,[01jan01,01feb01, T] UserUser-Roles: UR [UR Name , UR LT , URCLS ] [CDR_CR1, [01dec00, ], T] [JPlannerCR1, [01dec00, 01jun01], S] [JPlannerCR2, [01jul01, 01sep01], C] [ArmyLogCR1, [10dec00, 01mar01], S] [ArmyLogCR2, [01jul01, 01aug01], C] User Role Authorizations: URA [UR, M , TC, SC] [ct, ],true] [JPlannerCR1, CrisisPicture, [JPlannerCR1, ArmyBattleCommandSys, [10dec00,16feb01], true] [ArmyLogCR1, CrisisPicture, [10dec00,16feb01], Grid1 NA20 AND Grid2 NC40], [ArmyLogCR1, LogPlanningTool, [10dec00,16feb01],CrisisNum=CR1] DSEC--29 Related Work: RBAC Benefits of RBAC CSE5810 Main Approaches Flexible, Ease of Use, Policy Realization [Bert97, Demu95, Ferr92, Nyan93, Sand96, Ting87] UConn - [Demu94…01, Hu94, Ting87] GMU -RBAC96 - [Ahn99…, Osbo96…, Sand96...] NIST - [Bark97, Ferr99…, Gavr98, Jeag97…] Similarities and Differences: Our Approach Does Not Rely on a Role Hierarchy Administrative Duties are Separated for Ease of Use and Least Privilege Our Approach Can Realize Multiple Policies Simultaneously on Multiple Federated Resources DSEC--30 Unified Security Model Definitions Signature Constraint CSE5810 Definition 11: A Signature Constraint, SC, Boolean Expression Defined on the Signature of Method, Mijk of Service Sij of resource Ri that Limits the Allowable Values on the Parameters Boolean Expression is: (return-type constraint) and (parameters constraint) where either/both could be null Parameters Constraint uses AND, OR, NOT Example: CrisisPicture (Token, CrisisNum, Grid1, Grid2); SC: Grid1 < NA20 and Grid2 < NC40 DSEC--31 Unified Security Model Definitions Time Constraint CSE5810 Definition 12: A time constraint, TC, is a lifetime that represents when a method can be assigned to a user role (or invoked by a user) or when a user is allowed to play a role. A TC has the default of [ct, ]. TC utilized at design and run time to: user role and method LTs constraining when the method can be assigned user role, method, and user LTs constraining when the method can be invoked user role and user LT constraining when the user can be authorized to the role Example: ArmyBattleCommandSys (Token, CrisisNum); TC = [10dec00, 16feb01] DSEC--32 Related Work: Signature and Time Constraints CSE5810 Temporal Constraints [Ahn00, Bert96, Bert01] User Constraints [Sand98, Zurk96] Similarities and Differences: Temporal Constraints used on Objects for Work Flow are applied to Methods as Time Constraints to Create an Operational Time Window for Valid Invocations Time Constraints are Role Dependent so Same Method in a Different Role, Can Have a Different Time Constraint Lifetimes in Conjunction with Separate, Method Time Constraints Improve Granularity and Provide Increased Flexibility for Security Policy Use of Flexible, Run-Time, Signature Constraints is Unique for Role Based Access Control, but Similar to Other Programming Parameter/Argument Techniques DSEC--33 Unified Security Model Definitions Mandatory Access Control Constraint CSE5810 Definition 13: A mandatory access control constraint, MACC, is the domination of the SLEVEL of one entity over another entity: CLS of Role Dominate () CLS of Resource, Service, or Method CLR of User Dominate () CLS of Role Example MACC: Design Time CLS of Role vs. CLS of Resource, Service, or Method Check for CLR of User vs. CLS of Role Run Time: CLR of User vs. CLS of Resource, Service, or Method DSEC--34 Unified Security Model Definitions User Role Authorizations CSE5810 Definition 14: A user-role authorization, URA, signifies a UR authorized to invoke a method under optional TC and/or SC, and is defined as: URA [UR, M , TC , SC ] where UR is as given in Definition 7 M is as given in Definition 4 TC is as given in Definition 12 and is an LT that represents when the method is available to UR for invocation with default [ct, ] SC is empty (true) or as given in Definition 11 and represents values that invocation can occur DSEC--35 Unified Security Model Definitions User Role Authorizations CSE5810 Definition 15a: UR authorization matrix, URAM, is a r q matrix indexed by roles and methods: 1 URi is authorized to invoke M j URAM (URi , M j ) 0 otherwise Notes: Initially, URAM, contains all 0 entries When equal to 1 for some URA [ A, M , TC , SC ] authorization is a Valid URA (VURA) At Design, UR CLS must dominate M CLS and there must be Overlap of LT/TC DSEC--36 Example Users, User Roles, and URAs Users: CSE5810 U [U UserId , U LT , U CLR ] (T)General DoBest: [DoBest, [ct, ∞], T] (T)Colonel DoGood: [DoGood, [01dec00,01jun01], T] (S)Major DoRight: [DoRight, [01dec00,01jan01], S] ], T] (T)Major CanDoRight: [CanDoRight,[01jan01,01feb01, User-Roles: UR [UR Name , UR LT , URCLS ] [CDR_CR1, [01dec00,01dec01], T] [JPlannerCR1, [01dec00, 01jun01], S] [JPlannerCR2, [01jul01, 01sep01], C] [ArmyLogCR1, [10dec00, 01mar01], S] [ArmyLogCR2, [01jul01, 01aug01], C] User Role Authorizations: URA [UR, M , TC, SC] [JPlannerCR1, CrisisPicture, [ct, ∞],true] [JPlannerCR1, ArmyBattleCommandSys, [10dec00,16feb01], true] [ArmyLogCR1, CrisisPicture, [10dec00,16feb01], Grid1 NA20 AND Grid2 NC40], [ArmyLogCR1, LogPlanningTool, [10dec00,16feb01],CrisisNum=CR1] DSEC--37 Unified Security Model Definitions Remaining Definitions CSE5810 Definition 15b: A valid user-role authorization list, VURAL {VURAi i 1v} where v r q is the set of all VURAs with URAM(UR,M) = 1. Definition 16: A user authorization, UA, is a user authorized to play a role: UA [U ,UR, TC ] where U is as given in Definition 9 UR is as given in Definition 7 TC is as given in Definition 12 and represents the LT of authorization DSEC--38 Unified Security Model Definitions Remaining Definitions CSE5810 Definition 17a: User authorization matrix, UAM: 1 U j is authorized to URi UAM (URi ,U j ) 0 otherwise Notes: Initially, UAM, contains all 0 entries When equal to 1 for some Authorization is a Valid UA (VUA) At Design Time, a U’s CLR must dominate a Role’s CLS with overlap of TC and LT DSEC--39 Example UAM and URAM Matrices User Authorization Matrix (UAM) 1 = authorized, 0 = not CSE5810 User\User-Role DoBest DoGood DoRight CanDoRight ArmyLogCR1 ArmyLogCR2 JPlannerCR1 JPlannerCR2 CDR_CR1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 User-Role Authorization Matrix (URAM): 1 = UR authorized to invoke Method, 0 = otherwise Method\User-Role ArmyLogCR1 ArmyBattleCommamdSys 1 CrisisPicture 1 MarineCombatOpnsSys 0 LogPlanningTool 1 ArmyLogCR2 1 1 0 1 JPlannerCR1 1 1 1 0 JPlannerCR2 1 1 1 0 CDR_CR1 1 1 1 1 DSEC--40 Unified Security Model Definitions Remaining Definitions Definition 17b: A valid user authorization list, VUAL {VUAi | i 1 w} CSE5810 where w r u is the set of all VUAs with UAM(UR,U) = 1 Definition 18: A client, C, is authorized user U, uniquely identified via a client token C = [U, UR, IP-Address, Client-Creation-Time] where Creation Time is Clock at Creation DSEC--41 Security Enforcement Framework Software Architecture Database Client CSE5810 COTS Client Lookup Service Wrapped Resource for Database Application Wrapped Resource for COTS Application Java Client General Resource Wrapped Resource for Legacy Application Software Agent Legacy Client Security Policy Client (SPC) Lookup Service Security Authorization Client (SAC) Global Clock Resource (GCR) Unified Security Resource (USR) Security Policy Services Security Security Authorization Registration Services Services Security Analysis and Tracking (SAT) DSEC--42 Security Enforcement Framework CSE5810 Unified Security Resource Services to: Manage URs and Privileges Authorize URs to Us Identify Users and Track Security Behavior Associated Administrative/Management Tools Security Policy Client to Grant/Revoke Privileges (TCs, methods, SCs)/set CLS/CLR Security Authorization Client to Assign CLRs and Authorize URs to End Users Security Analysis Tool (SAT) to Track all Client Activity (Logons/Method Invocations) DSEC--43 Security Enforcement Framework Security Prototype (JINI and CORBA) CSE5810 Java GUI PDB Client Patient DB Resource (PDB) Security Policy Client Common Resource (Global Clock) CORBA Lookup Service USR All Services JINI Lookup Service Java GUI UDB Client University DB Resource (UDB) Security Authorization Client DSEC--44 Security Enforcement Framework USR Services Security Policy Services Register Service Query Privileges Service CSE5810 User Role Service Constraint Service Grant-Revoke Service Grant_Resource(UR_Id, R_Id); Grant_Service(UR_Id, R_Id, S_Id); Grant_Method(UR_Id, R_Id, S_Id, M_Id); Grant_SC(UR_Id, R_Id, S_Id, M_Id, SC); Grant_TC(UR_Id, R_Id, S_Id, M_Id, TC); Revoke_Resource(UR_Id, R_Id); Revoke _Service(UR_Id, R_Id, S_Id); Revoke _Method(UR_Id, R_Id, S_Id, M_Id); Revoke _SC(UR_Id, R_Id, S_Id, M_Id, SC); Revoke _TC(UR_Id, R_Id, S_Id, M_Id, TC); Security Authorization Services Authorize Role Service Client Profile Service Security Registration Services Register Client Service Security Tracking and Analysis Services DSEC--45 Security Enforcement Framework Security Policy Services Register Service Register_Resource(R_Id); Register_Service(R_Id, S_Id); CSE5810 Register_Method(R_Id, S_Id, M_Id); Register_Signature(R_Id, S_Id, M_Id, Signat); UnRegister_Resource(R_Id); UnRegister_Service(R_Id, S_Id); UnRegister_Method(R_Id, S_Id, M_Id); Unregister_Token(Token) Query Privileges Service Query_AvailResource(); Query_AvailMethod(R_Id); Query_Method(Token, R_Id, S_Id, M_Id); Check_Privileges(Token, R_Id, S_Id, M_Id, ParamValueList); User Role Service Create_New_Role(UR_Name, UR_Disc, UR_Id); Delete_Role(UR_Id); DSEC--46 Security Enforcement Framework Security Policy Services Constraint Service DefineTC(R_Id, DefineSC(R_Id, CSE5810 CheckTC(Token, CheckSC(Token, S_Id, S_Id, R_Id, R_Id, M_Id, M_Id, S_Id, S_Id, SC); SC); M_ID); M_ID, ParamValueList); Grant-Revoke Service Grant_Resource(UR_Id, R_Id); Grant_Service(UR_Id, R_Id, S_Id); Grant_Method(UR_Id, R_Id, S_Id, M_Id); Grant_SC(UR_Id, R_Id, S_Id, M_Id, SC); Grant_TC(UR_Id, R_Id, S_Id, M_Id, TC); Revoke_Resource(UR_Id, R_Id); Revoke_Service(UR_Id, R_Id, S_Id); Revoke_Method(UR_Id, R_Id, S_Id, M_Id); Revoke_SC(UR_Id, R_Id, S_Id, M_Id, SC); Revoke_TC(UR_Id, R_Id, S_Id, M_Id, TC); DSEC--47 Security Authorization and Registration Services Authorize Role Service CSE5810 Grant_Role(UR_Id, User_Id); Revoke_Role(UR_Id, User_Id); Client Profile Service Verify_UR(User_Id, UR_Id); Erase_Client(User_Id); Find_Client(User_Id); Find_All_Clients(); SECURITY AUTHORIZATION SERVICES Register Client Service Create_Token(User_Id, UR_Id, Token); Register_Client(User_Id, IP_Addr, UR_Id); UnRegister_Client(User_Id, IP_Addr, UR_Id); IsClient_Registered(Token); Find_Client(User_Id, IP_Addr); Security Tracking and Analysis Services SECURITY REGISTRATION SERVICES Tracking Service: Logfile(Log String) Analysis Service: Analyze (Java Class File) DSEC--48 Security Enforcement Framework Client, Resource, Service Invocations CSE5810 GCCS Client 1 Register_Client(DoRight,100.150.200.250, ArmyLogCR1) 4 Return Security Registration Result,Create_Token(DoRight,ArmyLogCR1,Token) Services 2 Verify_UR(DoRight,ArmyLogCR1) 5. Discover/Lookup(GCCS,Joint,CrisisPicture) Returns Proxy to Course Client 6 CrisisPicture(Token,CR1, NA20, NC40) 11 Return Result,CrisisPicture(…) Lookup Service 7 IsClient_Registered(Token) 9 Check_Privileges(Token, GCCS, Joint, CrisisPicture, [NA20,NC40]) GCCS Resource 8 Return Result of IsClient_Registered(…) 3 Client OK? USR Security Authorization Services Security Policy Services 10 Return Result of Check_Privileges(…) DSEC--49 Security Prototype Global Clock Server/Client Logon CSE5810 DSEC--50 The Security Policy Client CSE5810 Manages Privileges for Roles and Resources For Roles: Define/Delete Roles including LTs and CLSs Grant/Revoke Privileges in Terms of Methods Grant Methods to Roles Limit Grant based on Time Constraint Limit Grant based on Signature Constraint For Resources: Register Resource, its Services, their Methods Establish LTs and CLSs Resources can Also Register themselves Programmatically via the USR Services DSEC--51 Security Policy Client Registering a Resource CSE5810 DSEC--52 Security Policy Client Registering a Service CSE5810 DSEC--53 Security Policy Client Registering Methods for Resource CSE5810 DSEC--54 Security Policy Client Registering Methods for Resource CSE5810 DSEC--55 Security Policy Client Adding Methods to Service CSE5810 DSEC--56 Security Policy Client Adding Methods to Service CSE5810 DSEC--57 Security Policy Client Confirmation of Registered Methods CSE5810 DSEC--58 Security Policy Client Tracking Defined Resources CSE5810 DSEC--59 Security Policy Client Creating User Role CSE5810 DSEC--60 Security Policy Client Creating User Role CSE5810 DSEC--61 Security Policy Client Granting Resource to UR CSE5810 DSEC--62 Security Policy Client Granting Service to UR CSE5810 DSEC--63 Security Policy Client Granting Method to UR CSE5810 DSEC--64 Security Policy Client Confirmation of Method to Role CSE5810 DSEC--65 Security Policy Client Reviewing Access of Resources to Roles CSE5810 DSEC--66 Security Policy Client Defining a Signature Constraint CSE5810 DSEC--67 Security Policy Client Defining a Signature Constraint CSE5810 DSEC--68 The Security Authorization Client CSE5810 Intended for Authorization Capabilities Main Objectives Define New User with CLR and LT Authorize URs to End Users Define Clients Authorization of Roles to Users Must Satisfy User.CLR Dominates Role.CLS Overlap of LTs w.r.t. Current Time DSEC--69 Security Authorization Client Creating a User CSE5810 DSEC--70 Security Authorization Client Granting Roles to User CSE5810 DSEC--71 Security Prototype Tracking Logins and Actions CSE5810 DSEC--72 Security Prototype Tracking Methods of Resources CSE5810 DSEC--73 Security Assurance CSE5810 Security Assurance Represents a Confidence Level of the Security Capabilities to Insure Sensitive Information is Protected From Access and Misuse Assurance is Needed at: Design Time (DT) - as Security Policy is Defined Using our Security Model Run Time (RT) - via Enforcement as Users/Clients Access Resources in Secure Manner Security Assurance is Enumerated and Defined to: Insure Policy Consistency (A & M Tools) Check Conditions as Users Access Resources DSEC--74 Assurance Guarantees CSE5810 Available Time : Maximum Amount of Time Derived from the Intersections of LTs and TCs Simple Security Property: A Subject Can Read at the Same or Lower Level. (Read Down/No Read Up) Simple Integrity Property: A Subject Can Write to the Same or Lower Level Safety: No Bad Things Can Happen During Execution Liveness: All Good Things Can Happen DSEC--75 Available Time CSE5810 Available Time Represents “When” Construct is Available for Usage Comparison of Lifetimes Including Role Method Current Time Sets a Limit on When an Action can Occur DSEC--76 The Compare Function for Two LTs CSE5810 DSEC--77 Time-Based Guarantees CSE5810 DSEC--78 Lemma 1 Conceptually CSE5810 DSEC--79 Time-Based Guarantees CSE5810 DSEC--80 Lemma 2 Conceptually CSE5810 DSEC--81 Time-Based Guarantees CSE5810 DSEC--82 Lemma 3 Conceptually CSE5810 DSEC--83 MAC-Based Guarantees CSE5810 Verify the Behavior of Method Invocation Differentiate Between Method Types Read-Only Method Do not Change the State of an Object Satisfies Simple Security (Read up/No Read Down) Read-Write method May Change the State of an Object Satisfies Simple Security (Read up/No Read Down) and Simple Integrity (Write Down/No Write Up) Assume: Values are Not Returned Through Method Parameters (only Value Parameters) DSEC--84 MAC-Based Guarantees CSE5810 DSEC--85 MAC-Based Guarantees CSE5810 DSEC--86 MAC-Based Guarantees CSE5810 DSEC--87 MAC-Based Guarantees CSE5810 DSEC--88 MAC-Based Guarantees CSE5810 DSEC--89 Safety and Liveness Guarantees Safety: Nothing bad happens during execution Liveness: All good things can happen during execution GOAL: Maximize Safety and Liveness Disconnecting from a network increases Safety, but decreases Liveness Allowing unlimited access increases Liveness, but decreases Safety CSE5810 DSEC--90 Security Assurance Rules CSE5810 A Security Assurance Rule Must hold True for the Security Policy DT: Privilege Definition/Modification RT: As Users Perform Actions Categories of Checks are: MACC Domination Lifetime Time Constraint Signature Constraint Authorization and Authentication DSEC--91 Security Assurance - Design Time Rule I: Authorizing Method to UR Create a VURA and if the Creation is Successful, then the entry of URAM = 1. For Authorization to Occur CLS of A must Dominate CLS of M LTs of A, M, and TC must Overlap (reset as TC), and reset TC has an end time after ct CSE5810 DSEC--92 Security Assurance - Design Time Rule I Conceptually CSE5810 LTs and TCs must be Contrasted A.LT M.LT TC ct TC M.LT A.LT DSEC--93 Security Assurance - Design Time Rule II: Authorizing UR to User Create a VUA and if the Creation is Successful, the Entries of UAM and UDAM are set to 1 For Authorization to Occur CLR of X must Dominate CLS of A LTs of A, X, and TC must Overlap (reset as TC), and reset TC has an end time after ct CSE5810 DSEC--94 Security Assurance - Design Time Rule II Conceptually CSE5810 LTs and TCs Again Constrained TC X.LT A.LT ct TC X.LT A.LT DSEC--95 Security Assurance - Runtime Rule III: Authorizing UR to User Runtime Authorization (of user to role). For Authorization to Occur at Runtime Rule II must be rechecked (since privileges can dynamically change). Recheck involves the Overlap of the LTs of X, A, and TC with Respect to Current Time. CSE5810 DSEC--96 Security Assurance - Runtime Rule III Conceptually CSE5810 What is the Time Issue in This Case? Must Compare Against Rule II Must Also Look at TC vs. ct TC.et After ct TC.st Before ct ct TC ct TC DSEC--97 Security Assurance - Runtime Rule IV: Invoking a Method CSE5810 N(Name), P(Params), APV(Actual Param Values) SCOracle is a Constraint Checker that Compares Parameter Values of M’s Invocation against SC returns true if M.parametervalues satisfy SC returns false otherwise. DSEC--98 Security Assurance - Runtime Rule IV Conceptually CSE5810 Same issues as Rule III (Rule I and TC vs. ct) Additionally, There is a Constraint Checker Defn: CrisisPicture (Token, CrisisNum, Grid1, Grid2); SC: Grid1 < NA20 and Grid2 < NC40 Call: CrisisPicture (123, 111, NA18, NC45); Compare Call Against SC to Determine if Can Invoke DSEC--99 Safety and Liveness Theorems CSE5810 DSEC--100 Safety and Liveness Theorems CSE5810 DSEC--101 Safety and Liveness Theorems CSE5810 DSEC--102 Safety and Liveness Theorems CSE5810 DSEC--103 Related Work Security Assurance CSE5810 Motivation and Need within DoD [C4I99, DARP00, DoD88, Tete99] Abstract Study of Assurance [Alfo01, Garv98,McCu91, Maco01] Role Administration Participates in Assurance Separation of Duty [Ahn99, Both01,Garv98, Glig98, Nyan93, Osob00, Simo97] Mutual Exclusion [Bert97, Kand01, Khun97] Role Hierarchies [Demu95, Ferr97, Hu95, Jans98, Moff99, Sand96, Spoo89 ] Administration Mechanisms [Awis97, Murl01, Nyan94, Sand99] DSEC--104 What is Role Delegation? CSE5810 Role Delegation is a User-to-User Relationship that Allows One User to Transfer Responsibility for a Particular Role to Another Individual Two Major Types of Delegation Administratively-directed Delegation has an Administrative Infrastructure Outside the Direct Control of a User Mediates Delegation User-directed Delegation has an User (Playing a Role) Determining If and When to Delegate a Role to Another User In Both, Security Administrators Still Oversee Who Can Do What When w.r.t. Delegation Work of M. Liebrand (Rensselaer at Hartford) DSEC--105 Why is Role Delegation Important? CSE5810 Many Different Scenarios Under Which Privileges May Want to be Passed to Other Individuals Large organizations often require delegation to meet demands on individuals in specific roles for certain periods of time True in Many Different Sectors Financial Services Engineering Academic Setting Key Issues: Who Controls Delegation to Whom? How are Delegation Requirements Enforced? DSEC--106 What Can be Delegated? CSE5810 Authority to Do the Task, Carries the Least Responsibility Necessary to Execute the Task, but Does Mean the Delegated User Can Execute the Delegated Task or Role. Responsibility to Do a Task Implies Accountability and a Vested Interest that a Task or Role Can Be Executed Properly. Duty to Perform a Task Implies that the Delegated User is Obligated to Execute the Given Task. Our Focus: Delegate Authority Only DSEC--107 Our Focus for Delegation CSE5810 Extensions to the Unified Security Model Identify Roles that are Delegatable Distinguish: Original and Delegated Users Delegation Authority and Delegated Role Detailed Example to Illustrate Concepts Analysis of Role Delegation Capabilities Investigation of SPC, SAC, and SDC in Support of Delegation Security Assurance for Delegation DSEC--108 Role Delegation Extensions CSE5810 Definition 19: A delegatable UR, DUR, is a UR that is eligible for delegation. Definition 20: The delegatable UR vector, DURV, is defined for all r as: 1 URi is a DUR DURV (URi ) 0 URi is not a DUR Delegatable URs (from Slide 33) [CDR_CR1, [01dec00,01dec01], T] [JPlannerCR1, [01dec00, 01jun01], S] [JPlannerCR2, [01jul01, 01sep01], C] DURV(A) = 1 for A = CDR_CR1, JPlannerCR1 and JPlannerCR2 DURV(A) = 0 for A = ArmyLogCR1 and ArmyLogCR2 DSEC--109 Role Delegation Extensions CSE5810 Definition 21: An original user, OU UL, is authorized to the UR such that there exists a VUA for the OU/UR, i.e., UAM(UR,OU) = 1 OU: Authorized to the UR via Regular Process Implies Not Eligible for Delegation Definition 22: A delegated user, DU UL, is a user eligible to be delegated a UR by an OU or a DU (there is not a VUA i.e., UAM(UR,DU) 1). DU of a UR cannot be an OU for same UR DSEC--110 Examples of OUs DUs CSE5810 ArmyLogCR1 DoRight ArmyLogCR2 CanDoRight JPlannerCR1 DoGood JPlannerCR2 DoGood CRC_CR1 CDR_CR1 ArmyLogCR1 DoBest, DoGood, CanDoRight ArmyLogCR2 DoBest, DoGood, DoRight JPlannerCR1/JPlannerCR2 DoBest, DoRight, CanDoRight CRC_CR1 DoGood, DoRight, CanDoRight DSEC--111 Role Delegation Extensions CSE5810 Definition 23: User delegation/authorization matrix, UDAM: 2 U j is a DU of URi UDAM (URi ,U j ) 1 U j is an OU of URi 0 U is not authorized to UR j i Represents who is a DU, OU, or Neither UDAM Entries are Initially All Set to False Set to 1 Whenever a User is an OU Set to 2 Whenever a User is an DU Recall Rule II Set UDAM = 1 DSEC--112 Delegation and Pass on Delegation Authorities CSE5810 When Establishing Privileges (by the Security Officer) there must be the Ability to Define: Delegation Authority (DA) Recall:Security Officer can Delegate a Role to User DA Means that the Security Officer Can Delegate the Authority to Delegate to another User Role Can be Delegated by one User to Another However, Delegation Authority Cannot Pass-on Delegation Authority (PODA) PODA Augments DA to Allow the Delegation Authority to Also be Delegated as Part of the Delegation of a Role to a User DSEC--113 Role Delegation Extensions CSE5810 Definition 24: Delegation authority, DA, is given to the OU to allow delegation of a DUR. Definition 25: Pass-on delegation authority, PODA, allows an OU (DU) to pass on DA for a DUR to another user (OU or DU). Definition 26: Delegation authority matrix, DAM: 2 U j has DA and PODA for URi DAM (URi ,U j ) 1 U j has only DA for URi 0 U has neither DA nor PODA for UR j i DU has Neither DA Nor PODA DU has Just DA DU has Both DA and PODA DSEC--114 Example of DA and PODA Delegation Authority Matrix (DAM): 2 = has DA and PODA, 1 = has DA, 0 = neither CSE5810 User\User-Role ArmyLogCR1 ArmyLogCR2 JPlannerCR1 JPlannerCR2 CDR_CR1 DoBest 0 0 0 0 2 DoGood 0 0 1 1 0 DoRight 0 0 0 0 0 CanDoRight 0 0 0 0 0 JPlanner1: DoGood has DA JPlanner2: DoGood has DA CDR_CR1: DoBest has both DA and PODA All Other Entries have Neither DA Nor PODA DSEC--115 Recall UAM and URAM Matrices User Authorization Matrix (UAM) 1 = authorized, 0 = not CSE5810 User\User-Role DoBest DoGood DoRight CanDoRight ArmyLogCR1 ArmyLogCR2 JPlannerCR1 JPlannerCR2 CDR_CR1 0 0 0 0 1 0 0 1 1 0 1 0 0 0 0 0 1 0 0 0 User-Role Authorization Matrix (URAM): 1 = UR authorized to invoke Method, 0 = otherwise Method\User-Role ArmyLogCR1 ArmyBattleCommamdSys 1 CrisisPicture 1 MarineCombatOpnsSys 0 LogPlanningTool 1 ArmyLogCR2 1 1 0 1 JPlannerCR1 1 1 1 0 JPlannerCR2 1 1 1 0 CDR_CR1 1 1 1 1 DSEC--116 Augment with DAM and UDAM Matrices CSE5810 User Delegation/Authorization Matrix (UDAM): 2 = U is a DU, 1 = U is a OU, and 0 = not authorized User\User-Role ArmyLogCR1 ArmyLogCR2 JPlannerCR1 JPlannerCR2 CDR_CR1 DoBest 0 0 0 0 1 DoGood 0 0 1 1 0 DoRight 1 0 0 0 0 CanDoRight 0 1 0 0 0 Delegation Authority Matrix (DAM): 2 = has DA and PODA, 1 = has DA, 0 = neither User\User-Role ArmyLogCR1 ArmyLogCR2 JPlannerCR1 JPlannerCR2 CDR_CR1 DoBest 0 0 0 0 2 DoGood 0 0 1 1 0 DoRight 0 0 0 0 0 CanDoRight 0 0 0 0 0 DSEC--117 Example - Role Delegation CSE5810 General DoBest Delegates his Role to Colonel DoGood with DA, where DoBest, CDR_CR1, and DoGood defined as: OU: [DoBest, [ct, ], T] UR: [CDR_CR1, [01dec00, 01dec01], T] UA: [DoBest, CDR_CR1, [01dec00, 01dec01]] DA: Yes PODA: Yes After Delegation: DU: [DoGood, [01dec00, 01jun01], T] UA: [DoGood, CDR_CR1, [01dec00, 01jun01]] DSEC--118 Example - Role Delegation CSE5810 Now, Colonel DoGood wishes to re-delegate CDR_CR1 to Major CanDoRight, which can be defined as: DU: [DoGood, [01dec00, 01jun01], T] UR: [CDR_CR1, [01dec00, 01dec01], T] UA: [DoGood, CDR_CR1, [01dec00, 01jun01]] DA: Yes PODA: No After Delegation: DU: [CanDoRight, [01jan01, 01feb01], T] UA: [CanDoRight, CDR_CR1, [01dec00, 01jun01]] DSEC--119 Related Work: Role Delegation CSE5810 Role Administration [Awis97] Delegation with RBAC [Bark00, Na00] Delegation Principals [Zhang01] Similarities and Differences In Our Approach, OU Maintains Control of Delegation DU Cannot Give Delegation Authority Our Approach is Dynamic, in that, Delegations have LTs Changeable During Runtime Our Delegation Incorporates MACC We extend Zhang’s Definitions to Include Delegation Authority, Revocation Authority, Delegated Role, and Delegatable Role DSEC--120 Enforcement Framework and Role Delegation Revocation Rules CSE5810 User-to-User Delegation Authority Rule A User (OU or DU) Who is a Current Member of a Delegatable Role (DUR), Can Delegate that User Role to Any User that Meets the Prerequisite Conditions of the Role: DU Receiving the Role is Not a Member of the Role; OU or DU is Identified As Having Delegation Authority for the Role; DU Meets the Mandatory Access Control Constraints (MACC). DSEC--121 Enforcement Framework and Role Delegation Revocation Rules CSE5810 Delegation Revocation Authorization Rule: An Original User Can Revoke Any Delegated User From a User Role in Which the OU Executed the Delegation. This is a Stricter Interpretation than [Zhan01], Which Allows Any OU of a Role Revocation Authority Over a DU in the Delegation Path. In Addition, a Security Administrator Can Revoke Any Delegation. Cascading Revocation Rule: Whenever an OU or DU in the delegation path is revoked, all DUs in the path are revoked. DSEC--122 Analysis of Role Delegation CSE5810 Analysis of Role Delegation Against Set of Common Criteria Monotonicity Permanence Totality Administration Levels of Delegation Multiple Delegation Agreements Cascading Revocation Grant-dependency Revocation We’ll Define and Discuss Each DSEC--123 Analysis of Role Delegation Monotonicity CSE5810 Definition: Monotonicity Refers to the State of Control the OU Possesses After Role Delegation Monotonic Delegation Means That the OU Maintains Control of the Delegated Role Non-monotonic Means That the OU Passes the Control of the Role to DU Our Approach Utilizes Monotonic Delegation Since We Believe for Assurance it is Critical to Exercise a Level of Control W.R.T. Delegation DSEC--124 Analysis of Role Delegation Permanence CSE5810 Definition: Permanence Refers to Delegation in Terms of Time Duration Permanent Delegation is When a DU Permanently Replaces the OU Temporary Delegation Has an Associated Time Limit With Each Role Our Approach Utilizes Temporary Delegation Since Temporal Constraints (LTs/TC) Are an Important Part of Our Unified Security Model DSEC--125 Analysis of Role Delegation Totality CSE5810 Definition: Totality Refers to How Completely the Permissions Assigned to the Role Are Delegated Partial Delegation Refers to the Delegation of a Subset of the Permissions of the Role Total Delegation Refers to the Situation All of the Permissions of the Role Are Delegated Our Approach Utilizes Total Delegation Since we Believe Partial Delegation Defeats Purpose of Urs and Assignment Methods to UR under TCs/SCs Partial Delegation is Achievable by Defining Special Roles that are Delegatable DSEC--126 Analysis of Role Delegation Administration CSE5810 Definition: Administration Refers to how Delegation will be Administered User Directed is when the User Controls all Aspects of Delegation Administrator-Directed (Third party, Agentdirected) is when Control is with the Security Officer Our Approach Utilizes a Combination of Both Allowing the Security Officer to Establish DA/PODA and the User to Determine to “Whom” the Delegation will Occur DSEC--127 Analysis of Role Delegation Levels of Delegation CSE5810 Definition: Levels of Delegation Refers to the Ability of DU to Further Delegate a Role (PODA) and the Number of Vertical Levels the Delegated Role Can Be Delegated Boolean Control – Roles Can Be Re-delegated Until a Delegating User Says No Integer Control –Roles can be Re-delegated until Fixed Number of Re-delegations Occur Our Approach Utilizes Modified Boolean Control via the DA/PODA If PODA not Given - Delegation Stops Prototype has Limit of either 2 or 3 Levels DSEC--128 Analysis of Role Delegation Multiple Delegations CSE5810 Definition: Multiple Delegations Refers to the Number of Delegated Users (DU) (Horizontally) to Whom a Delegatable User Role (DUR) Can Be Delegated to at Any Given Time Our Approach Includes Unlimited Delegations in Our Security Model Since We Want to Maintain the User’s Flexibility A Limit on the Number of DUs to a Role is Subjective. Subjective Limits Are Not Often Enforced; There Are No Hard Bases for Them DSEC--129 Analysis of Role Delegation Agreements CSE5810 Definition: Agreements Refer to the Delegation Protocol of the OU to the DU Bilateral Agreements: the DU Needs to Accept the Delegated Role Unilateral Agreements: the OU Delegates the UR Permissions and the DUs Are Not Required to Accept or Even Acknowledge the Delegation Our Approach Utilizes Unilateral Agreements DSEC--130 Analysis of Role Delegation Cascading Revocation CSE5810 Definition: Cascading Revocation Refers to the Indirect Revocation of All DUs When the OU Revokes Delegation or Administration Revokes the OU’s Delegated Role Non-cascading Revocation Could Be Useful in the Event a Middle Manager User Is Fired Without Replacement and Subordinates Need to Execute the Vacated Roles Our Approach Utilizes Cascading Revocation and will Handle Non-Cascading Case via Security Administrative Tools (Changing Privileges) DSEC--131 Analysis of Role Delegation Grant Dependency Revocation CSE5810 Definition: Grant-Dependency Revocation Refers to Who Has Authority to Revoke a DU Grant-Dependent Revocation Only Allow the OU to Revoke the Delegated Role Grant-Independent Revocation Allows Any Original Member of the DUR to Revoke a Delegated Role Our Approach Utilizes a Limited Form of Grantindependent Revocation Where Only the DU and the Security Administrator Can Revoke a DUR DSEC--132 Role Delegation Process Security Management Tools CSE5810 Examine the Process of Delegation Utilize the Military Application Explore Security Policy Client Security Authorization Client Security Delegation Client SDC is a New Administrative Tool Utilized by Both Security Officer and the End User Focus on their role in Delegation Administration Screen Bit Maps are Ordered to Illustrate a Process DSEC--133 Security Policy Client Registration of Resources CSE5810 DSEC--134 Security Policy Client Creation of Administration Role CSE5810 DSEC--135 Security Authorization Client Granting of Role(s) to User(s) CSE5810 DSEC--136 Security Policy Client Cdr. Crisis 1 Role/Conflicting Role List CSE5810 DSEC--137 Security Policy Client Granting of Resource(s) to Role(s) CSE5810 DSEC--138 Security Policy Client Granting of Service (s) to Role(s) CSE5810 DSEC--139 Security Policy Client Granting of Methods(s) to Role(s) CSE5810 DSEC--140 Security Policy Client Query Privileges CSE5810 DSEC--141 Security Authorization Client Create a User CSE5810 DSEC--142 Security Authorization Client Create a User CSE5810 DSEC--143 Security Authorization Client Granting a Role CSE5810 DSEC--144 Security Authorization Client Granting a Role with DA/PODA CSE5810 DSEC--145 Security Authorization Client Granting a Role with DA/PODA CSE5810 DSEC--146 Security Authorization Client Query Privileges CSE5810 DSEC--147 Security Authorization Client Query Privileges - Results CSE5810 DSEC--148 The Security Delegation Client CSE5810 DSEC--149 Security Delegation Client Log on to the Security Delegation Client CSE5810 DSEC--150 Security Delegation Client Attempt to Perform a Delegation CSE5810 DSEC--151 Security Delegation Client Attempt to Perform a Delegation CSE5810 DSEC--152 Security Delegation Client Query a User’s Role CSE5810 DSEC--153 Security Delegation Client Revocation of Delegation CSE5810 DSEC--154 Security Delegation Client Revocation of Delegation CSE5810 DSEC--155 Security Delegation Client Denying Log in if UR not Available CSE5810 DSEC--156 Security Delegation Client Denying Delegation if MAC Violated CSE5810 DSEC--157 Security Delegation Client Denying Delegation if TC Violated CSE5810 DSEC--158 Security Delegation Client Denying Delegation if no Delegatable Roles CSE5810 DSEC--159 Security Delegation Client Pass on Delegation Restriction CSE5810 DSEC--160 Security Delegation Client Example CSE5810 Dobest delegate a role to dogood without pass-on-delegation, when dogood delegated this role to doright, he can’t delegate it with pass-on-delegation DSEC--161 Security Delegation Client Delegation Matrix within SDC CSE5810 Dobest(T): ArmyLogCR1(c) When Original user revoke This role, the role matrix is revoked within SDC Chip(T): ArmyLogCR1(c) Dogood(S): ArmyLogCR1 ( C) Doright(c ): ArmyLogCR1 ( C) DSEC--162 Security Delegation Client Example CSE5810 Dobest delegate a role to dogood Dogood delegate this role to other users DSEC--163 Security Delegation Client Example CSE5810 Dobest revokes the role delegated to dogood The role delegated by dogood are erased at the same time. DSEC--164 Design Time Security Assurance for Delegation CSE5810 Design Time Checks – Policy Realization MACC Domination CLR Dominates CLS Role Delegation DU Not Already a Role Member User to User Delegation Authority Must Check User Delegation Authority Matrix DU Meets MACC Requirements Lifetime Consistency DU’s LT Must be Within OU’s LT Modified Boolean Delegation OU can Delegate and Pass on Delegation Authority DU cannot Pass On Delegation Authority These are Checks in SPC, SAC, and SDC DSEC--165 Run Time Security Assurance for Delegation CSE5810 Executed While Running Distributed Application MACC Domination Role Delegation User to User Delegation Authority Lifetime Consistency Modified Boolean Delegation (additional checks) Delegation Revocation Authorization Rule OU/DU Can Revoke Any Initiated Delegation Cascading Revocation Rule Whenever OU is Revoked, OU’s Delegations are revoked, Including Passed On Delegations These are Checks by the Enforcement Framework as supported with USR DSEC--166 Security Assurance - Design time Rule V: Assigning Delegation Authority CSE5810 UDAM(A, X) =1 implies that UAM(A, X) = 1 by Rule II. Rules V establishes DA for user X to role A in the case where X is an OU. DSEC--167 Theorem V CSE5810 DSEC--168 Security Assurance - Design time Rule VI: DA and PODA User must have DA in order to have PODA e.g., a User cannot have PODA without DA UDAM(A, X) =1 implies that UAM(A, X) = 1 by Rule II. Rule VI establishes, respectively, DA/PODA for user X to role A in the case where X is an OU. CSE5810 DSEC--169 Security Assurance - Design time Rule VII: Delegation of UR The delegation sets UAM and UDAM for the DU and DR. Y is a DU of A, and X satisfies Rules V or VI Y to be authorized to A, hence UAM(A, Y) = 1 CSE5810 DSEC--170 Security Assurance - Design time Rule VIII: Delegation of DA/PODA Passing on of DA or DA/PODA from a user (either OU or DU) to another DU Rule VIII establishes, respectively, DA or DA/PODA for user Y a DU of role A, and assumes Rule VII is satisfied. CSE5810 DSEC--171 Theorem VI, VII, and VIII CSE5810 DSEC--172 Assessment of RBAC/MAC Model/Framework CSE5810 Intent is to Assess the Capabilities of RBAC/MAC Model and Security Framework Analysis vs. SSE-CMM SSE-CMM: Standard Security Model Compare/Contrast Model/Framework (including Assurance) Against SSE-CMM Use SSE-CMM as a Benchmark to Evaluate the Degree We Meet ISO Requirements Evaluation vs. Dynamic Coalitions (DCs) Represent via the RBAC/MAC Model Security Features/Requirements of DCs Can RBAC/MAC Model Represent DCs? What Features are Good? Need to be Added? DSEC--173 Analysis vs. SSE-CMM What is SSE-CMM? CSE5810 An ISO Standard Model For Capturing the Essential Characteristics of an Organization’s Security Engineering Process The Model is a Standard for Security Engineering Practices Covering: Life Cycle Management of All Activities Management, Organizational, and Engineering Activities Concurrent Interactions (Software, Hardware, Humans, Organizations) Certification, Accreditation, and Evaluation DSEC--174 Analysis vs. SSE-CMM Why was SSE-CMM Developed? CSE5810 Objective: Advance Security Engineering As a Defined, Mature, and Measurable Discipline Project Goal: Develop a Mechanism to Enable: Selection of Appropriately Qualified Security Engineering Providers Focused Investments in Security Engineering Practices Capability-based Assurance DSEC--175 Analysis vs. SSE-CMM SSE-CMM Engineering Process Areas CSE5810 Administer Security Controls Assess Impact Assess Security Risk Assess Threat Assess Vulnerability Build Assurance Argument Coordinate Security Monitor Security Posture Provide Security Input Specify Security Needs Verify and Validate Security DSEC--176 Analysis vs. SSE-CMM SSE-CMM Model Architecture Domain Organization CSE5810Project Security Engineering Process Areas Process Areas Base Practice 01: Establish Responsibilities and Accountability for Security Controls Base Practice 02: Manage the Configuration of Security System Controls Process Domain Areas Process Areas Base Base Practices Practices 10/24/96 Compare and Contrast RBAC/MAC Model and Framework w/Standard SSE-CMM: 11 Process Areas/61 Base Practices PA01: Administer Security Controls • •• Base Base Practices Practices Work in Progress DSEC--177 Evaluation vs. DCP What is DCP? Dynamic Coalition NGO/ PVO CSE5810 Air Force Navy Joint Command System Battle Management System U.N. GCCS NATO U.S.A Army Battle Command System Army Army C2 AFATDS FADD ASAS ABCS CSSCS GCCS-A MCS Combat Operations System Marine Corps U.S. Global C2 Systems Dynamic Coalition Problem (DCP) are Inherent Security, Resource, and/or Information Sharing Risks that Occur as a Result of the Coalition being Formed Quickly Other DSEC--178 Evaluation vs. DCP Suitability of Our Approach for DCP Detailed Evaluation of DCP w.r.t. Security Model CSE5810 Utility of Multiple Roles for Users Relevance of Data Value Constraints and Time Limitations on Users Examination of API Level Control of Resources Importance of Multi-level Secure Capabilities Security Assurance at Design/Run Times Extrapolating from GCCS to DCP Evolve from GCCS to DCP What are the Issues and Problems to Solve? Status: Work in Progress at this Time DSEC--179 Summary: Research Innovations CSE5810 Unification of Mandatory Access Control (MAC) and Role-based Access Control (RBAC) Features Realization of MAC: Bell and LaPadula Model Highly Flexible RBAC Capabilities Security Policy Realization Change Policy on the fly Broad Use of Constraints: Fine-Grained Security User Constraints and Role Constraints Time Constraints and Signature Constraints Security Assurance at Design and Run Times DT Checks as Security Policy is Defined RT Checks for Invocation/Delegation DSEC--180 Summary: Additional Contributions Working Prototype that can Administer Multiple Security Policies Against Multiple Resources in a Distributed Environment Supporting JINI/CORBA A Well Defined Security Model which Supports Security Policy Definition via Administrative and Management Tools with Security Assurance: Security Policy Client (SPC) Security Authorization Client (SAC) Security Analysis Tool (SAT) Security Delegation Client (SDC) CSE5810 DSEC--181 Summary: Remaining Research CSE5810 Security Model that Unifies RBAC/MAC Finer Grained MAC Classification Levels on a Method’s Signature Investigate Time-Constrained Classification User Constraints Role Deconfliction Security Policy and Enforcement Assurance Detailing all Design and Run Time Checks Defining Security Assurance for Fine Grained MAC and User Constraints Completion of Analysis/Evaluation: Model/Framework vs. CMU Security Model Evaluation of Utility in Support of DCP DSEC--182 Summary: Publications to Date Initial Security Model CSE5810 S. Demurjian, T. C. Ting, P. Barr, C. Phillips, “RoleBased Security in a Distributed Resource Environment”, Proc. of 14th IFIP WG 11.3 Working Conf. on Database Security, August 2000. S. Demurjian, T.C. Ting, C. Phillips, et al., “A User Role-Based Security Model for a Distributed Environment”, in Research Advances in Database and Information Systems Security, J. Therrien (ed.), Kluwer, 2001. Enhanced Security Model C. Phillips, S. Demurjian, T.C. Ting, “Security Engineering for Roles and Resources in a Distributed Environment", Proc. of the 3rd Annual Information Systems Security Engineering Conf., March 2002. DSEC--183 Summary: Publications to Date Relevance of Work for DCP CSE5810 MAC Model Extensions and Security Assurance C. Phillips, T.C. Ting, S. Demurjian, “Information Sharing in Dynamic Coalitions”, Proc. of the 7th ACM SACMAT 2002, June 2002. C. Phillips, S. Demurjian, T.C. Ting, “Towards Information Assurance for Dynamic Coalitions”, Proc. of the 3rd IEEE Info. Assurance Workshop, June 2002. C. Phillips, S. Demurjian, T.C. Ting, “Security Assurance for an RBAC/MAC Security Model and Enforcement Framework”, CSE Technical Report. Role Delegation Extensions with Assurance M. Liebrand, H. Ellis, C. Phillips, S. Demurjian, and T.C. Ting, “Role Delegation for a Distributed, Unified RBAC/MAC”, Proc. 16th IFIP WG 11.3 Conf. on Data and Application Security, July 2002. DSEC--184