z Domain Permission: dp(s,o)={(o,p)|p ∈ DTM
(SDom(s), OT(o)).
z Role Permission: rp(s,o)={(o,p)|(o,p) ∈ Rolecap
(SR(s))}.
A subject’s Final Permissions on an object is deter-
mined as: fp(s,o)= rp(s,o)∪(mp(s,o)∩tp(s,o)).
3 ENFORCE MULTIPLE
MODELS
3.1 Enforcing Multilevel Security
Model
The way configuring MMVSF to enforce BLP
model is described as following:
(1) I={only_I}, there is only one integrity label in
system. |R|=|SL|, number of roles in the system
is the same as the number of the security labels.
Each role corresponds to one security label.
(2) D={gen_d}, T={gen_t}, only one domain and
type in system. RD={(r, gen_d)|r∈R}, all roles’
authorized domain is gen_d. all objects’ type is
gen_t: OT={(o, gen_t)| o∈O}.
(3) DTM={(d, t, p)|d ∈ D, t∈ T, p ∈ OM}, domain
gen_d have all Domain Permissions to type
gen_t.
(4) Rolecap(r:R)=Φ, each role has no Role Permis-
sions.
We can use the similar way to enforce Biba model.
3.2 Enforcing DTE
(1) R={gen_r}, one role in system. UA={(u,
gen_r)|u∈U}, gen_r is assigned to every user.
(2) RD={(gen_r, d)|d∈D}, all domains in system are
authorized to the role gen_r.
(3) SL={only_sl)}, only one security label in system.
RL={(r,only_sl)|r∈R}. MLS_rule(only_sl, only_
sl)=M, subjects’ MLS Permissions contain all
permitted modes in the set M.
(4) Rolecap(r:R)=Φ.
3.3 Enforcing RBAC
(1) D={gen_d}, T={gen_t}, one domain and one
type in system. RD={(r, gen_d)| r∈R}, gen_d is
authorized to every role and all objects’ type is
gen_t, OT={(o, generic_t)| o∈O}.
(2) DTM(gen_d,gen_t)=Φ, subjects in domain
gen_d have no Domain Permissions to all ob-
jects in type gen_t.
(3) SL={only_sl)}, only one security label in system.
RL={(r,only_sl)|r∈R}. MLS_rule(only_sl, only_
sl)= Φ.
3.4 Enforcing Multi-model Views
Assume all users in system can be divided into three
groups: Grpa, Grpb and Grpc. Now we hope that
the model enforced on users in Grpa is MLS, on
Grpb is RBAC and on Grpc is DTE. The configura-
tion that enforces this multi-model views in one
system is given below.
(1) U=Grpa∪Grpb∪Grpc, three disjointed subsets.
(2) R=mls_rs∪rbac_rs∪{dte_r}. mts_rs is the roles
set corresponding to MLS model. rbac_rs cor-
responding to RBAC and dte_r to DTE.
(3) D= {mls_d}∪{rbac_d}∪dte_ds.
(4) (u,r) ∈UA ∈ (u,r’)
UA, where u∈ Grpa, r∈
mls_rs, r’
mls_rs, roles in mls_rs are only per-
mitted to be assigned to users in Grpa. (u, r) ∈
UA∈ (u,r’)
UA, where u∈Grpb, r∈ rbac_rs,
r’
rbac_rs, roles in rbac_rs can only be as-
signed to users in Grpb. In the same way, (u,
dte_r) ∈ UA ∈ (u, r)
UA, where u∈Grpc, r≠
dte_r.
(5) |mls_rs|=|SL|, number of roles in set mls_rs is the
same as number of security labels in system.
Each role in mls_rs corresponds to one security
label. MLS_rule(Ssl(r),tsl)=Φ, r∈ rbac_rs, tsl∈
SL, roles in rbac_rs have no MLS Permissions.
MLS_rule(Ssl(dte_r),tsl)=M, tsl∈SL, role dte_r’s
has all of possible MLS permissions.
(6) (r,mls_d) ∈ RD ∈ (r,d)
∉
RD, where r∈mls_rs,
d ≠mls_d, roles in mls_rs are only authorized
domain mls_d. (dte_r,d) ∈ RD ∈ (r’,d)
RD,
r’≠dte_r, d∈dte_ds, all domains in dte_ds are
authorized to role dte_r. Simliarly, (r,rbac_d) ∈
RD∈ (r,d)
RD, where r∈rbac_rs, d≠rbac_d,
roles in rbac_rs are only authorized domain
rbac_d.
(7) (mls_d,t,m) ∈DTM, t∈T, m∈M. DDI(mls_d, d)=
Φ, d∈D, subjects in domain mls_d can not trans-
fer to any other domains. Similarly, (rbac_d,
t,m)
DTM, t∈T, m∈M. DDI(rbac_d,d)=Φ, d∈D.
(8) Rolecap(r)=Φ, r∈mls_rs∪{dte_r}. dte_r and all
roles in mls_rs have no Role Permissions.
SECRYPT 2007 - International Conference on Security and Cryptography
100