# Role-Based Access Control Model for Inter-System Cross-Domain in Multi-Domain Environment
## 3 Proposed Model
### Formal Definition of Model Sets  
_Ud_ (Users).Set up a user set for each domain and the elements are composed of _user_, _user_ is a subject in access control, which can be authorized specific roles and activate sessions, usually a person, device, or process, etc. A _user_ is two-tuples formed as _<category_, _domain_>, where _category_ includes platform administrators, domain administrators and ordinary users; _domain_ is used to identify the  
Figure 2: RBAC-IC sketch map. domain of domain administrators and ordinary users; _domain_ of platform administrators is empty. Formally:  
\[U_{d}=\{\textit{user}_{1},\textit{user}_{2},\ldots,\textit{user}_{n}\}\;(d=1,2, \ldots,m) \tag{1}\]  
is the set of all user in domain \(d\); \(m\) is the number of domains in the platform; \(n\) is the number of users in domain \(d\). _P (Permissions)._ A permission set is set for the entire platform, and the elements are composed of _permission_, _permission_ is the authorization of the subject to perform some operation on the object. The _permission_ is triple-tuples formed as _<category_, _operation_, _system>_, where _category_ identifies the type of object manipulated by the permission, _operation_ is a way of operating a _category_, such as read, write or executable; _system_ indicates that the _permission_ is valid in the _system_. Formally:  
\[P=\{\textit{permission}_{1},\textit{permission}_{2},\ldots,\textit{permission} _{n}\} \tag{2}\]  
is the set of all permission in the platform; \(n\) is the number of permissions in the platform. _Od (Objects)._ Set up an object set for each domain and the elements are composed of _object_. The _object_ is the object (resources) in the system and be manipulated by users, which usually exist in the form of files, data, etc. An _object_ is triple-tuples formed as _<category_, _domain_, _system>_, where _category_ identifies the type of object; _domain_ and _system_ indicate that the _object_ is stored in the _system_ of the _domain_. Formally:  
\[O_{d}=\{\textit{object}_{1},\textit{object}_{2},\ldots,\textit{object}_{n}\}\;(d =1,2,\ldots,m) \tag{3}\]  
is the set of all object in domain \(d\); \(m\) is the number of domains in the platform; \(n\) is the number of objects in domain \(d\). _AR (Abstract_Roles)._ An abstract set is set for the entire platform and the elements are composed of _abstract_role_. The _abstract_role_ is abstraction of a set of responsibilities within a system of the platform. It cannot be authorized to users, nor can abstract roles be assigned permissions. An _abstract_role_ is triple-tuples formed as _<system_, _primary_role_, _constraint>_, where _system_ indicates that the _abstract_role_ is valid in the _system_; _primary_role_ is the set of abstract roles which it inherits; _constraint_ is the constraint set of the abstract role. Formally:  
\[AR=\{\textit{abstract\_role}_{1},\textit{abstract\_role}_{2},\ldots,\textit{ abstract\_role}_{n}\} \tag{4}\]  
is the set of all abstract role in the platform; \(n\) is the number of abstract roles in the platform. _SRd (Specific_Roles)._ Set up a specific role set for each domain and the elements are composed of _specific_role_. The _specific_role_ is assigned a set of permissions according to the responsibilities of the associated abstract role and the personalized requirements of the domain, and authorized the users to complete a certain business. A _specific_role_ is five-tuples formed as _<abstract_role_, _permissions_, _domain_, _system_, _valid_time>_, where _abstract_role_ is the abstract role associated with the specific role, _permissions_ are a group of permission assigned to the specific role, _domain_ and _system_ indicate that the _specific_role_ is valid in the _system_ of the _domain_, and _valid_time_ is the valid time of the specific role, which is generally set when users apply for cross-domain access. When _valid_time_\(\rightarrow\)\(+\infty\), it means that the specific role is permanently valid.