Professional Documents
Culture Documents
Gustaf Neumann
gustaf.neumann@wu-wien.ac.at
ABSTRACT
! "#
$&%
'($
'" *)+-,/.10234( 65879: ";
(<""
)="6
'(>"
"*)+?* @%A
B
"C#5<DFE*
? '*EGH
:)
"/
I(?'
'* "#
C( J
K
'L%GJ
!%
//L" 651MN/E 9 "#
!O%(
BGJ( (4
%P<%>I6
QL R5TSE
B
"CU" (%
"
'
V
(
WH
E
%#
V
O 6
('4L)+O
%("$
B6
(*)X"
' !
LY
ZB"%GJ%
651[\(#
W/%( "E
GJL%( #%>%?(K
4579!L" #%>
@
? %?(
#
B6L
% 'E(%#
C"?)+ "E
WK'
J
%I$
V
!9'4(
')F
%
6
V
9GJL%( !#
F)
"(
(6
/@
"B6
()="
' ?
">'E6
(";4
('I)
46
=,/.102
%IGJL%
657#*%#
??'B
%I6
"
"
]
" FVWK
(W
'O@= "#
$^%(J
9'(('
" _
H"
E%
652#E@
W::
C"%E"@
'
=)+4E*"
E%WJ#
9(
BG V#
V(WJ6L
%E 9(
%%(
#
('
(' 65
*]LB
" ?*'B
%<VWU
(W(':* "#
(4$^%(
_'(('J" 9
KO"
O E%
65
1.1
Motivation
,/.10?2U
B( O
=W4E
_
B
"*(*VB@*
"
%K
%E @W59I
W*"?,/.102<
%KEV(
"
( =%
`a ba c*d eXfg hijLk;lNmnBopqnBlRlRk;pqnXo6r&sutFvwRx4y zv{uv|R}~Cvy4}y |4~u
yy}}y|/{_v}4R4~CJv}4R4 yv~C`a ba Od eBfg h@ijLk;lmnBopqnBlRlRk
pqnBoRr&s9|4v{uv|6}!y
v6vR\C
}&#zv4z6v~~{uR4v ~B`a a
d 1lRk;jChpqnXoOe#&hlRYrs1Cvx4zy}^|L91z}v}y |9L!v~~|R}z~
(WY)+";4L
VE
""%:9(:
General Terms
H'
'" R_"
CPV-(GJ
GJL%@"C
"
(
W
(
)@J" 4%
'K"C
LE Y+5 'B5F
!C5
" !)X(/'
('O9
"( !)+"E %9GJ%(
'
)9
""O( 6
"O)9
,9.0?2<GJ%+ *
5
.1)+I
""I,9.0?2UGJL%+=("C-(
E
_)!
Cvx4zy}&R6`v~y|X6|4v{uv|R};6x4{u|L}z~
-
H'(('
"
L
( KG?E 6
Q-
"53u)+E$
#
WGH
LW LU
B
" N)+-
'
'
1. INTRODUCTION
,#4(?'
'*)+/($&V#
%
"" "@4=,9.0?29
GJ
W%>%*N
N
%*L"V#
( 4!
WI
= GH
#
C
)B99
9"; 651MN9E u
G
u
W GH
("9
9'
$
'H
B
"CY#
=
9](V
_E'YJV
("
V(O(
%
ZBL/Q
% /)\'B
( 65F0u:(GJB6
9LE
GJL
)+?" u( * EB/"C#
'?GH
#
'GJJ
"((
::4#
'B
(48)u"C#
' *#
""E9(
8
)+GH
(4* WL @G
(G
@:
B "E
WJ
$
L9GJL%(
%Y>#
(
W(_"";@,/.102<GJL%5
,(O'(;('( /
K "
E
GJ; /'(('
" R5*S!E*
B
"-
_V#
%--""_)! "#
9("CO
4QL9
%O9(%
W
(
"
V
F
Y+ )+O
C'
$
'B5"
( !GJL%9E 6
'9)X W GJ u
%)
"(
C@
O"GJG?E
"
GJ'J'
9
/@_"4GGE$
"
(-VB-'
*
%-$&"
"
6
Q(% 65
79)+* "#
K
C*6
"
"
G
C @
K
(
6T)+?
" (%6
C@
) 'uEGH
)
"(
'(('X5
1.2
Scenarios: An Overview
,LE
GJ@ #'(('J
L%
ZBL
#)+E"
#
E
G
%IE#
W+$&)+E"
#
FLE(GJ@ R5
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
SACMAT02, June 3-4, 2002, Monterey, California, USA.
Copyright 2002 ACM 1-58113-496-7/02/0006 ... 5.00.
JLE
(
W$^;E
GJL %$
>%GH
% (
Q/GH
L6
#
V
(
WB6
V(
W(B;R
V(
$
WHB)+GH
"57#:"
E%
"
%N'X
()+E";$
#
LE(GJ !/'46
"
'( )XE
GJL
GJL%(
C_%
'E
%
^
E(4$
L% * "#
#
%
"?%W#
GJ("?EL
G? E"$
"
EE
GJL #4K
\VE
#" #
517=E
(%
)(6
"
' )+O
"GJBL R5[4
^""CQ:"%
u
( Y -)!@ "
(Y 69
J[
'E"4E(%VB9% "(VB%VLWI
J6= "#
B5179/";4$
44 9"
( 4%("9 WL GE 6
'(
O)+4G4)9
"(
%K9 E" R5/"#
B"
(
Wu
E(%O9GJ%4 W GJ 1)+4GT
#E 1B$
B%('I""
%< "#
I< 6= ?6*0\7
L6
" _=
8
OV
Q: u"C"Q:
)F"E GJu
$
%Y=
%6
/"6
(<
GJE4)1GJW*)+G6
B"
%K
OO"GJG?E
"
(K9(K%KE 65
4 ^44 _7= G%
"
EJ
%%
4(E
#+ 6I(G4%6
<
%V(%''B
VB$
E(GJ GJ%
I
%Y WL @G
"
"$
E579)+U;W)
"(
6
@PP";4GGE
"
@
)E
GJL J'
=
(GJ
GJL6
'
$
R5OJ(\
_J%)
"Y 6
%#
%-)+_
E($
@%8GJ%( R5@ *%(ZBJ%
'6
GWB "
8V
E %K(
GJ 9W*
O)# W G%(G65
'46
"
( #% "(VB
V(=
"E#
1
"@
K
%
""E65179LE !""
% "#
!GH
@W:
%
"F WL G
L#
CF
C";
(
#
C
u?q%("
WL
V
u_E 65
0)+u
u u(%E"(- "#
6GH
%
)B=
F
\ E"E%H
\)(
9 651H"
H!9'(
6L
4)9Y "#
(4$^%(
Y'
('U
B
"C#5
"
AJ @*%(ZB?GJ%
=
"A
VE(
%(
?"E ?)\?" J
%I% "(VB
(
C@
R5
3"
NY'
<
*%6
(%" J% "
VB)+
%
"E ]B(" 'B
C(%<)+G
-
"
@
2.
THE
SCENARIO-DRIVEN
ENGINEERING APPROACH
ROLE-
9(
A
";
(H"
V A
:
#
/
=
'L% E"!)+!%
)BGJ(
9
"
%
H
#
("E
F%F_
"CH
!%>%H+E 6
ATM
Customer
)+GJ
'*
F "#
uGE \9:
C(GJ
\#
=%%
J"GJ(OW
'(O @K)#
9 "
(B5
Work Profile
Task_1
Take card
Task_2
Task_n
......
Scenario_x
...
Scenario_y
Scenario_z
9^#IBu<#I/N^#ILL#^
Step_1
...
Step_2
Step_n
Perm_1
GJ _'
('VB)+F4
"V # _E "
I
B
"U(4
4%N
O
="
6
(W )+J
""6
"J
%*%
GJ(#
*)
...
Perm_n
Perm_2
Perm_x
Perm_v
...
Perm_w
=^#6
L _(N "#
*
%-
_G?E
()
C";%P
("
V(
(WI(
O>
%Y4) WL G /'(('X5
"#
="
YV_% "(VB%Y
YGI
W%(ZBO
W 65=2#GJ$
J<\ ^U
O6 #^L
GJ
W3W
8 B"
>%=
+ @E"@E%#*]N% "($
(4 O %*%(ZBWLB )% '6 GJ 65 'B5RGJ 6 ' E"
65/79 6
QL
C:
'B
(H"GV(%H)+GQK4>( R5
GJ
"#
*)+/9
@%6
@O
#)\GJWY)+4G
E$
4
X "GJ
O
(6
Q !#
_
"
C(WLB/)XGJ$
W4J+E ('6
1"
)+4GI5=
"u
" "
(
GH
%*
(GH
"C(J+0\7I%("%
GJ 6
'4 LE"
_(
Q%-<
_)!BGJ(
_
u
_B (V(Y%
@
BGJ(
)+:
("E
QN>(%
"@
WN)G
_ E"_)+=O%>
(K)=
/(
GJ(#
W*
$&
6
"W5
)+Y]
GJ
53_
"WBH4)O% "(@
GJ#
( Y%
ZB$
B"
(W+%
"@%:(K[
'EJ
"(
W*%
'6
GH
1
Identify and model
(new) usage scenarios
3
Derive permissions
from scenarios
4
Identify constraints
[change case]
7
Define RBAC Model
Derive preliminary
role-hierarchy
Define tasks
and work profiles
Permission Catalog
Scenario Model
derived from
...
used for
definition
.
.
.
...
refer to
RBAC Model
Constraint Catalog
created in
accordance with
refer to
.
.
.
max_cardinality(perm_n) = 4
created in
accordance with
Task Definitions
Work Profiles
Task_1 = Scenario-sequence{S1,S7,S4}
Task_2 = Scenario S3
.
.
.
consist of
Task_n = Scenario-sequence{S21,S14}
-
9#6
; 6 ^#J
(e
#I< #L^J
4*
(6%PB)+GH5A
T
a#
%6
( _""
'%(ZB" _)FEuQ:>
%,9.0?2( Ru
%848:"; )u%(('
,/.102<
$^(6
"CLW)+G@ OQ*>( R5
79K""
(
4 e
used for
definition
.
.
.
3.2
#I6^ 6L#^#L6#<#64
7=FG%4
L
( 1%
"%O
O[
'EF
(
%Wu
%
$
(W*
(Q (4VBK_GJ%(
H
= "#
H
%)+K6
Q 6
%Q<>( 6J
B"
>"YBGJ(
E %
#5PJ66
"
V
(
W<
(QL
W G
6
'%
GJJ($&
6
"
65JMN
E
?)
IZB"
"#
'?GH
#
'4Gu#
V( _@
%>($&
6
"( K
6
"
6
"
#
)
"
(
6
OO"GJ
V(
W)#GJ%(
%
$
($&
JBGJ(
-
%8" 6
L )+G
)#
VB?
'%J_6
Q u
%JQ?>( u
%JGH
@W?>#
(
W? E(
+E
$&( +6
(
(W15
<
KEB%#
%<,/.102GJ%5=4GO]
GJ
9)+= E"Y6
"
(
W
GH
W%E%
"( I
@Q>
%>(
65
79
I
GJ6
%
Z";KVQ>( H
%
,/.102( =("C3
6
'%8(8
"$^(6
"C
%LE W_GJ(
GJ(=%E%#
"
6579)+Q$
>
"
<VB*
%
:
(
GJ(#
CWN 6
'*4)?,/.102( R5
RQ>(
! ('(>"
\ 6O
% \
%>(
K)9
/""@,/.102<GJL%5
F
F
GB6
FOGJ@
J
F9
"
(/)B
F
$
] .@
l
4@
)+E
(W?
\
\VW?)
F@O]LB
%J@
GJ=" EGJ$
'H-"
E
B (V
Y@6
" R5I[EGJ#"%('
B (V(6
"
C@
E(%* E
!
N
*EGH
#
'
CV(
GJE)()+GH
(B
%* J"((WJ ("
'?
;
6
" <VBH"
%%P
K'
P
@E
(PE
%PV8
$
GJ
GJB
V
5=79)+?()+GH
(H*VB?"%%
#
=VBu"
)+E
(W ("%
C%G?E VBu'B
%
9O
W
9("C*)
"(
6
@ /E )@/
)+GH
*(*
%
$
GJ"C#
' (E#
65
6#
"(A
%GH
$
'GJ!)6
"/
)+GH
(4
O
69>
%*)X
"N
%
_WY"GJ
]K6
Q+ )+
6
":(\=("CI
VB$
'Y( J%
"(W< E%VLW<Y "
($&%
L" R5
":
"86
Q%>(
8
-
L"
%8"
W9
@8
"
( 9#
=%KVB_B)+GJ%Y)E(>(
/ "
>"_'X
+5 'X5B
/VE
=)+E"
#1u" %(':,/.10?2
u"
4.
? "(<% "(VB*%
ZY
"
L
( ?)=@
VBO;E
B%K=
KO]
"9EG?VB9)#GJ
9
?
$&'(('/L" 1(OGJF%6
5_
"
"
L
Wu%>
E%Y"
%6
(
-
%(>%T
%GJL%(%#5T0=K>
<(%
>%E 6
'< "#
<% "
V%9(
-
"5
GJ
H]1
G( Y)O E" % "
( Y)+
(
%(ZB9%GH
/"E
%KVB
^! :] G
G
Object
E(\
@
! E%L\>( O(H
!E
(W?
)+GH
WL $
G
OV#
Q('
"
@
1
Subject
Invoke operation 1
(6
)+4GI
K W GH5
Perform operation 1
Identify sensible
system usages
make scenario
step sequence
explicit
9^#
9B6
Assign name
(identifier)
BL#6:4L#6
1 Y
GJ)1uV#
" @ O
)+("(E%;%
*GH
WJ%
ZB$
(
#4#6^< #L^#<
6#64L
Perform operation 2
^
B
%-"E GJ_"% Y
^"C"QI"%(
( X@5
"PBG
(P
*'
%P]
C"@
W
"(@*B;G
("
6
('B5
+W
"
(
W1
9(
Q 9J 6
"#
+ "(5
GJ(
Y"
PVBH%(ZB@
%(
V 6
"
%PV#
("
BGJ(
J+ K
5 5GJ
uI%
Z(4( u)
'6
E
(W50V 6
"JBGJ(
H+
(Q4
G
G
79
9(H
E
LE9#
GJ9(%
)+W9 "
(Y
%J)
"(
C@
4.3
7=K(%L
>"
(8)"4 6
L ( :)KGJ J%()$
>"E
4)9Y
$^'(
'-" R5H7=Y>
7=OGJ
(K%
Y EV$&" 9( 9%("%K(K[('4$
:%>9
"WLB ?)" 6
( E
%VBGJ%(%5
6?*GH
WP
HGJL%QL
% )
]"E
P
L
J+5 'B5
Fetch current
scenario model
GJL_" B%
'" 6
( 65
=
GI
W
,/.102 ("_
+W6
V(_@)+";_ _" @6
C( 65
Identify associated
access operation
Store
{operation, object}
pair
=^#
J
@
'-%;>%Y
" @R
(WB K(%L
$
1
uL6<
>"
)-
C";E
F" 6
( "
VB'
#5 "-
6= EV$&" \
\%%)+F;4W"4 6
L\WB65 'B5
1
# P
)+O@(%L
>"
(N)! 6
@
"
(WIGEE#
\]L"
E
BGJ
$
DFE
':BGJ(
%
W-
'( "#
:( ?$
%
#
(W:";4 6
L *
%H 4#5/[\('EIO 6= *
H]1
G(
D" @R
( 65))
6
"uJ,/.102NG%B
(%#597(%
)+WKG
( u?6
Q
"H "#
*
VB/VE
(%* E
%"6
(ND<" 6
( _
%*"
%
#
(
( R
%-"C"CQ:9
"-B6
U
EV +"*+5 'B5\
E RF% _
GJ(
= EV$&" =#
=VBu]"E%Y)+_(%(>"
@
_
6
9(%L
>"
(: EV$&L" /GI
WE:(:#
6
(VE
GJ(
"
6
('B5-[
'E<J
K
'
"
L
L
"?)G
9
K
EGJE # EV$^L" 65
+"J%
"%VW
C3
"J WG?VBFKV +"J
J 9
'L#
%< (%5:7=N
C9 VB; EV +":
%
B(
"WI
% GJ
G W%#
G!=
-
'B
$
(4H#
_ B"
>"E
_#
u%-VB)"%H
8
C%%
@
H
%%>%
G?EE#
F]"
E
J:OBGJ( $
R5
E#
GH
@WH""E=%>
$
J)F
-
%%
@
#
V @6
"6BBGJ(
J
FFB (V
9
Fetch permission
catalog
E%
%#(u
_@H (V(@Y("
uV(G)+G
Define SSD
constraint
9#6
4# 6
I+5 'B5"E GJ 6 E
%N(WIVBH
V
<
(WIJ"$
(1
# # ^U
#64
(W)+" 6
L
%@
>"
#
"E(W
'
*=VE
(%U,/.102G%/W
%@
)+W
" @6
C( )+G
]LB
" 65=EV EL
W
((
" @6
C(GJ%=
J>%'J=
%GI
C(] R
5 'B5L "Q$&VQ 9)+
"Q
%KV%K@6
C%(' WL GI5
7=
%
"
)+" 6
(%>
(E
%#6=$
6LVB*
/
E#
(K__'B
(K@
E =*
$
WL%:
)+GH
K WL G#
u"
(WY%>%
"" /"$
=B(
"W
%3
%%
"
% "E(W< J"=-
I
V
Y
E'4(W%>OO "E(W*E
GJL 65)+E#
W
1
U
U
'I'B
@
@: "E
W J"*B
(U
)+A
^
%(
%GJ
( 6
65
66
%GJ
( 6
OE E#
(WH
@'L%NQ6=
%'J)J"C
$
"
1
E /)"GJE/ W G
0#]1
GJ
"
V(GJ$&%B%"
651MU
#GH
@W
VBF
ZB
F9]"Eu
#"6
"" ('1('6
;4
@ - 4
K)##
("E
9 E" 65
I
5 GI51@8#5 GH5)+?
"5
H E"C8
_
E#
I
u (V
?%>:
_ B;"
"$
6
H#
("E
u(:
%HuIBGJ(
I
'6
5
GJ(
Y"
VB-
YV#
C ("-VE(
%
'V
L"CQL Y9
(
u@
F(
6"
\4)BGJ(
u
%I
9)+=GJ
"GJ
]YL
( 65!0 J
uE
)EG?V:"4GGJ%I@*%$
>H" 6
( P@I
6 *B (V(H
5A7=
GJ
#
F9 E
%J> \WO%>9" 6
L !J9BG
$
J
#
C%J
W? B"
)+W?"4 6
L FJ9
9(4
)B
" %('*" 6
"
VB?
V
WK%>%HI
BGJ(
N
5[G
EO]LB
" @(
@J"$
6
GH
#
'GJ
U'6
/ (":" 6
( *]LB$
(
WJ6
u"GJ(]
WJ)1@J
WH
'%
+
('
"
%KK_
GJ
G6
(4K(5
4.4
@<
"#
PGJL%#
IO
C IVE(
H(3
8+ 8"(B5(O
%
%P)E>%#5
"KY"
%
('E( - @
?
"
L
( J
(
EV$&L" 6
"E
WVE
/
L
%
Y_
('H
%K%>
(K)'X
(
K=
%_ "E(W
Fetch current
scenario model
B(
"
=)+
(_
)+GH
#579LE =WN
uGJ @
W
_""="6
"= =)+4=@_(%L
>"
(K) "E(W
B(
"
9(K'6
1
%K)+9" 6
@ 9
K B"
>"5
0?
GJ4
?
E*
@
?)+G
E]LB
" (
Define concretized-scenario
(if necessary)
(V(?*
%()+WK" @R
( I
%
(%E
BGJ(
IU<
%L
>"
(4)" @6
C( I)+I
+9("C
^"6
( ?GJ
R@579
I)+/#
( 4)+(%
:OO#
%: GJ" 6
@ /GH
W
WV (V(W%$
Store new
scenario model
>%--BGJ
-(4/
%-u-
/
%
("K 6
\K#
%"6
WLB J)/" 6
(
GH
@WVO%>%KKVK
+)+9GJ
%K( R@5
9#6
G?EE
B]"
E
uBGJ(
=G?E =VB
'%
6
GJJ
H+OE 657=)H
?
J@K9
"N E"P
$
GJ(
<
K
'%<GE K
E@GH
"
(
WN
?*
6
$
(4*)%E
" 6
L#
O
6
"%*?( BG
(
E'=" 6
\%>%=BGJ(
I
%
N
57=J" E";J)@
_
O@
_KE OG?E
BGJ( (4 65*u( ? *I( K
*
W-GEE#
]"(E (?
"?
"I)G9 J
uBGJ(
:#
C/( GE$
#
C(*
%%
(4#
+
GJ(
6 "#
=%>%579
%#
E#
]"
E
OI
9
9OGJ
(K)#O9
5
K
"E
*I( 9("C<B IGEE#
]L"
E
0
%9)+G#
CF(FGH
W:
( OVB9
V(/@%>/O
G?EE#
#]L"
E
?@*/#
R
GJE /"
IB$
%R @9('GJWJ)+4G
WA
'(B6
3GH
@WAVEV +"
#
V
VEH(
Y"E6#9(
LV#
QL
'U
"
$
"G?V(#
+ LE
C
C
("
#
:650u
@
$
#587= : "
( N
:8'4EB%
%
Y"G$
GJW B5
4
^9(%R @
"GV
%:*
QL R5!79 ?6
Q
?:E %:*%>
Q*>
q O[('E*
[
Identify junior-roles
Identify (potential)
redundant roles
Define Inheritance
relations
Remove redundant
permissions
*
"
("
-)! "#
_9("C-"
-VB"G$
&4
V
%<@I)G
"GJ
;]-B6
#579" $
')
%#
GH
'/!
-
*( E6
"/"GJ#
WI+(
Q
"
u
C"";
%6BGH
@W)+!( 6
"9"
F)X@9 "#
( R
'
/A%
GI
'4O4L6LE / EWY)/
uG
#^L6
5
4
X "
?)GJ6
Q 657=$
)+u
"QJ>
+4V*% "(@
)+
="6
9#6
"
_]B6L"
O"
%K" 9
@WGJL65
B
(K9
@(KO'B
(4YE%9"
%6
#5
% 1
Y6 ^
? #6
6
6RV)+49/>#
\,9.0?2H4($&
6
"W"
VB9%$
E
+E
$&( -+
[
'EY5\K
"(
WO
LQY)+/( /9 OBGJ( $
/
\
C EV #)BGJ
/
('4%?
Associate scenario
with tasks
Associate task
with work profiles
K
^
>%69
(GJ
#
W($&
6
"W#
FOV9VE(
%#5179$
)+:K]L 8( :(%
>"
(8)
9^6I B
#6^^#
#
6 #^L
7=9%>
@
J" !)+F6
Q u
%JQ?>( F
FVW)
GJO"GJ
]#
:" B%
' EV$&" /%
"%
[
'E<N E''4; 65N(Q4Y" 6
@ RY "
>"
)+96
Q
%KQ*>(
OE E#
C(
W*W%
ZBL99(
H "CH(
(
## P
\( %>%N
+E($&
)+4"4 B%
'
+E
$&( R5
MP
>
%#
%>%:
F
G
#
W(
6
"W5
%
Y'B
(
I
%)%( Y()GH
@
WL @GJ R5
5
79LE =
Y@uGH
+4(W*)1"
=(=( =
(6
V(_%>_@G
'9(*%GH
*] q5 'B5B
= 6
J
@4WB
+E%'
)+GH
-#
OVB-'B
C@%-YVE(
%P
> _
N)!
,/.10284($&
6
"W5[('EI?%
"; OJ" B%
'
EV$^L" 6579NQU>(
%NBG
("
6
$
6
"W5u[_
"-Q:>
> _"
I
O4(=
R
GJ*
GJ(
_
GJI+5 'B5[L$CS "F.=
"Q$S J"
,(CB5
"=Q?>
\"
\)6
Q \9
"I
'B
" ( =)# "#
6LO"
K%(;"
W*
%@
)+WN
BGJ(
#
J%NVB
'%P
*#
"E
J(5A,#GJG?VB
#
/Y
(
%W%
%:BGJ(
/#
%%:
B)+G@_ "#
9(
(4E 9 + "(4KB5(5
#
u#
@4u@6
)+GJ%
XQJ>( =(
#
OB OBGJ(
OJ
%()+WHBL
(WH%E%#
6579#
GJ
J
K(QL
'N)+J( J9
"B
]1
"(WPN 6
GJNBG
(
K-KGJNK
GJ
( *)
;57= :( -
(
%
+BG
( )
9#6
66#%
%VEGH
Q%)
C@L
?5HMN%
#^L6
F
"9(FGH
@W? GJ(GJ FVB9 (V
9_
@9O
6
%>
( I
@E'W
#
O #4 #
6
8(
GJ(
W($&
6
"W
'L% E"E%$
" 9("C
E
%)+T
A E4VLW
)+O
L
B (V
(W
#
_
"GJGJ
GH5Y0
E
$^4(/)! E"*
!
0 WEGH @W
? #6 #
"%#H@3%;(
()
EGH
"
(
W5[
'EF 9 " B%
'
'(G
? E%"%5 %(W+ GJ
$
E@GH
"
(
W1%>
+E
$&(O)#O65
+E($&
/()
/GJ
C
u
1 EV /)
J "
J
$&
5?79E OJ%KO%>J GI
$
O[$CS J"O
9B9O( /[$CS J"
%.=
"Q$
"
(W?
@
65
"==Q?>
F?
(
%W
"
%O
Y
""%#
"!=
OF"4 6
L1"
6
'q F[
'E
)@" 6
_"
6
('XF
(\
)+GH
-#
_
O%%N@
%>
/
J
@
V
* "E(WY'( 65
%
)/Y(
GJ(#
CW<($&
6
"W5N0u % "(VB%
-)+
H(6
C"
VW%>('A
K(H9
)/
u%
"%
"W"(
"'6
D0O5[G
E
]
"=($&
6
"C( \"
V=% "
VB%:
%E#
W
W
+E($&
E'D0?
":I E"E N
:)+8](V
E'4@u%("
%(6
C"
65)%Eu GJ
" @6
C( Y-
$&(6
"W8#
C YVB-(@-)+G
)Y
5.
"
($&%
:
'
'" 65!7=> /"
O
V$&V#
%
)+GH
( WL @G)+!@9GH
#
'4GF4)B @E$
%J
%8
(EG#";4GGE
@
69(
? "%HO
J
O B$
"
(
%3GJ%
"
)+GH
(43 W G)+-GH
#
'GJ
7=U(
GJ(
W($&
6
"WUGJ
"
C('
%A"4 6
L:"
6
'8
I(E:)+:,/.102
GJL%=%>
( EV$&" R5N[('E<%(" JY%
)"4 B%
'
"@
(
65(
Q<%(
()
(
GJ(
W_
$&(6
C"W( # EV$&L" #G?E #VB!"$
%E"%IVWY "E
WK'
J
%I"
I
WYVBK
%
%
9)+E
(W
EGH
%#VW
/ )+O
OL45
0=> J
(#( 9
"I?(E (WKGI
Q%
$
C(
WO%E%#
/
L
%#579 "E(W'
%"(%
'19(O%GH
O]LB 19
"O
u
"E#
(Wu%E$
%#
%H"
-VG6%H)GG%\
%H9("CH
%
WGJB6
W#
:: 6
GJ
""
'@ -
%8G?E
)+OVBOQ=
KOGJL%5
%KL"
')
"@("_#
C@
;"4% 6579_
%Y"
E%WO
VQ4;R
'O
)+G)+/O"
V6
C@
%
$
GJ9
%]L"C#
')
' E" /
GJ'!EB
1
E
(
653,#
"
%8%
GJH
"
(
)+(
)+G
%$
9("C
J)+E%%=
K79$&'6
G
)K!EB
"GJGJ(
#5179 /"
/ E%
!6(%%*E !9
@*
'
>"
'@
VBE? "
($&%
I
?'
'*L" R
("
V(
(W
%KB (V(O
(GJ
C@
R5
0J]B"@%-+@E'J
GJB
CL6B>%('( !#
F9"E(%
#
%(W?
"CI
!"GJ
= "#
C(O"6
'=4)\
! WL @GH51$
R
Gu
% )O+ )+O
'?)1$&(
W GJ =
J"GJ
;Y@ "
Y";66
'4)99
W Gq
"
E%
'NLE
GJ@ R% ('"GJB 6"5
H
WA(GJB
V
A+ 5 'B5
*5
6_)+G
Fetch current
role-hierarchies and
constraint catalog
"
($&%
('
':L" = "E
W-;$
'
/(6
"99(:%GH
(:]LB /(
% 9JGJ(
'$
Remove redundant
roles
Merge different
role-hierarchies
E( 6596u%>
@
Y)
9"";;*,9.0?2GJL%B
L" 99(
uLE'O #
)# "
1
GJL R5F4W*4'B
$
(#
9%( (" "E
WJB
("WJ
( 6
(%@
B"
>"u%
%%E
)u" %(''B
(5
!
- (1
9#6I
T-
"#
#64
4 %
< #L # ##
L
9
B((8(GJ::" 6
J"
6
'"L6
W" 6
!*(%((%E#
BG
( _+ "
B5
5
6
)+VBIBGJ(
%I
J
%I?%H*]L$
%
"E %-
U"
-B5
%(>"
-)!" 6
L _
("
(W?G%
"C4) =WB 65.)+?
(%E
$
%K)+%V#
"Q)+G%GI
K] R5
B(
" 9%
Z" 6
#"
'
P G
^VB
0 )+%>
(4)9G
(" 6
(
A
E
%_VBFGJL%
%#5MN\>
(
W"C FF 6
'L)+
%_O
W
)J
$&'
('KL" Y@6"@
B5
@G?E O>
%"
%9
"W )/" 6
@ E
%VBGJ%(%+5 'B5
)+GH
(4
CV(510 F% "
VB%
\#
B\VBI
(GJ$&%B%"
6"
%(
(
( "5
50u)+O
% )+
"
%
"O
%(GJB6
O
"((
@
O
J
=
6
B#
)
O'(('JL" q "(KB5
J
%"(4YX5(5
"=
4
)#
#"4G(]_ W G(K
'(($&
6
"W
?E %
(EI%
*N
"" ?
'L ?
W65N,"Q(
6
-)+P#
H-
@E
@
#
,9.0?2GJL%
"GJ
_ 6
GI
C(
6
"C( _9(U
6]L
GH
(W:
"
WO
%u"+VE ( 6)+E"
R
C%#
#
#
9
%K
+ GI
EGV#)
%#
( #($
'
'
) E
%?)+#@uVE ( #$
6
"( u"4
(')F
WKu
65/$
u
;$&
6
"C(
(# E
@%H*G6?%E%#
";
)+G
')_
$&GJ
'GJ *9
"PVE
(% EB
,/.102=GJL%U
5
V#
%
W*
6
"@
"
("
#5
#
W ?VB<4( K
C%<BG
( ?I%
L
%*
$
7=W(%E"
%%
$
BGJ(
U
'GJL_
Y GH
(
%NV_GH
#
'4
V(
=("CN
uGJL%
%(
'(('"
%
O
'%KJ
65#0u 9GJL
%K
"(:B5(
J
B
"
O6
QK
_ B"(>"?
"?)\Q<
+V 65
%-GJL%
')_
V @R
"
%-V#
"BGJ(
65u0
@E'
E
%HB)+G
)\6
QL R5_
"I6
QYE @
_ B"(>"? I9(
G?E
6
E G%
('-
%
('GJ/)/
V 6
"
%:V#
("
G(
"
( )F E"C
_ ;5=MN?)+4? E'' *GJL%
KQL @
VBNQ
% )GJ
VEO
'(WU
V 6
"$
0(
u"GJB %-)!uGJ
GJ(
9J( RL
)#
V
5
?
$&GJ
K
'GJ
WO
B
"?% 69$
6. RELATED WORK
VBHE %P(%L
)+W3,/.102
65AP "H E''
3"
("%
ZBLE A
"(
(
%T% "(VBPG
V#4V +"#
65I79 <
"((
GI
WVB"
E %
P%>"
%(%#
C@
65
"
%
$
D!E
("
"
%(%#
C@
8
%
%#LOGH
(
'J
_E
B%Y9
@KOGJ(
GH
B (V
_ =)#GJ
( R5K_]= Y" 6
( ?
7.
%>(
<)
"",9.0?2GJL%O
%<(% K
%#
$
%>%YVB)+O
$&(6
C"
9"
KVB_VE(
%#5
[#
%I
%
#
@
/%>%:KBGJ(
65;
/
B
"
J
9QL
O E'4' _K%GJ(
J('
V
(WI)F E
('GJL%( _E'- 6
(')+O
%
%H)+G"%
@
uGJ%
%H)+
_E "
5/7=W
3
'U
%%>
(4 )Q<>
I
KL%E"%#5N79
9(
%%(
#
"E(WE
G 6579 I "E
W$
)_,/.102YGJL%L=
"?" ( @ #)G
( R( R
4
'Y
-
%%(
#
"GJGJ;!GH
Q%*=
@*/QW%
$&(6
"C
%K" @6
C( 65
^ "E$
W +5 'B5C
OF$1B @"%(
O (65X79FBGJ(
\ B"
>"O
"9+
% "L
C??VB%GJ
%?)+G3
#
CY
%:
_#
";E
%/*
"
u%>%
6#% "
V9K
%?" 6
( /
";
%#
% 9
=%
1=
K_%>
@
K)#
$^(6
"C
65
WN ('4( )9
#
"E
"#
B5S!"
-
!
-
%-
%EJ u
N
B
"C@]
!"6
"#
B
! EV +"
()
!E 6
'4 "#
B517== "#
u
/
%%%
,/.102GJ%5Y
@W-%I? K
(
'
'" !!)+6
GJQ1
%%)+/!%
%+
)#"; 6
W1O "#
J
'%KO/G
9(OF%>
(OL" 14)L" 6
(
%O
$&(6
"C
'B
%
L,9.0?2NGJ%57=u%
()
9 "#
#
,#"CQL
9
5 E'' u
!L" $&(%H
B
"CJ)+\(
O OZB"65
'
'Y
%#
O
%W6
_
(
"
V
(
W
GJ
"" \
'
@W46509> =VE
L" \)"$
" u(I
("
*]%IEQL6=
%'
)
'4(
'
%u)+E(GJ6@" %>
$
"
%
%#
/
(%L
>%?)G3@ " % "
#579( ?
"
E% =u%@"
Y)1'B
_"E
" %>(
#5K[?
6
"( "#
$&%
$
FE
Role
Engineering
,
$.=
%K0"" 2JL%
%,)+"
Access Control
Policy Definition
Implement
RBAC Model
&
G.
L[VE# WN5
"
9#6I
G(GJ
C@
K9(
J2B6
O@6
C65
Technology
Selection
HE
*^I##L6^#4 L
B
"C
( ?% J"E(?@I%" W G
T
,
$.=
%K0"" 25
L
("BGJ(
c
-,
:+
KJ
\ L
.I/2/1/.@&C4^+L4
/! +C+ )6L. M/N9
T
QP S R P
4 4
1B5
-,
E
GJL 96
"
V
(W*V(GH5L
F +&
%
("
V
(W5
[EGJ9[
'EO E'' F#
F
='(
'O
F)
C+^
0%%( $&MN
W5
G(GJ
C@
-)_
"" _"( R5u7=)+4(
$
(4 J)uK
K'
'N" -
%8( "L]J%
\ 4
4 4 4
!4 4 ! 4&4 15
'O">'E6
J>
!F "( R517=)+9/)+EF>
:+
GJ%)#
5L
%%
#
BGJ(
1%O9VB\%>%O)+1F" B%$
%?
VB6
!
'
('L" #]L%?
#"GJ$
&
44&+4u4
LBL0uE'E B5
4C4^4I4 R&
" E ('N2== "( u
L#
#V$^ )+E"
6
1
/!
FT
"W"(?GJ%#)+J+
$^V#
C %#
"" u"@
65=! B"
WY
! +& ! +C+
L4C4 X@15
295
6145L[\
(Q11
% J5 O5Lu'EW#5
&+
GH
'O)F
H
V 6
"6\
"" F"B
("WH
""
,/.102GJ%
%8K
G
(
8=
3
* B"(>"
UJ
FE
V
'( :
"Y
,/.102P L
"#
E(%<I(GJ
GJLK
_
" ?)?
"6
"" ?"
B(
"WN+5 'B5L #
6
K)#%E( R
K
GB6
= EV +"65
1
QW:E
GJL _'(
'Y" R"
FE
6L
%YE 6" 'E
%#
"Y) "E
W<'( 6Q
6
"Q:)F"C#
'
'GJL%( *
%HGJ(%H "E(W:'
VBE!E)+E!6
Q 65MN
C/"E
W%
'? E"C-
L4)+9O EB9)# "E
W*'( 65
)(
* I (
+ -, .0/1/2/
43 5.
7638. 9
:+ -,
; @c
Ic < ] =
/ >
; & A@@ @
< ?>
+ ?,
; @c
C
+ -, BDC
#
-I
6 1T 9
+ ?, T ; [
@c
8.
REFERENCES
5.1L"C#L54
"V #1
%451,#EG?V#
E'5'&
4
:4+
4 \J!+4 50%%
$^MN (WX5
L5(H529
(5L[
O
9)+9 "#
$&V#
%K% ('4#5
\ 4
=4 /
4 4I R&
+
u_5(L52#W51,#
O'
('B5L
L+ @&C4&+44
15
\ 4
4 4 F4 4 4&4 5
4
L5(H529
(+%#5(5
4C+ 4 u
! ++4+
4
4
L4 J+H 6&
645
u X 51CKMP
(W
X5F (
%,/51
%E#5L7#6O
% 903J.
%
0B
"KH,(O!'
('B5L
F 4
4&4 5
4 4 F4 4
4
X5F (
%,/51
%E#5L!'
'J)
,
GJ(
K0
'GJ 65L
=4 1L X&OC+
D!"G?VBB5
\ 4
X 4&+4
4
F4
4
\ 4
4^4 45
4 4
a XW V
)644+&+49
4@
Q&
Y@
51CKMP(
W
KJ
J
T
@ R5
&
/D[
G(GJ
C@
K)9
[
]L
V
*,/.0?2#$6L
"O(
+
SV +"$CS(%"
('J=
'E#
C'5L
79)+NGH
WU
GJL :)?NL" K"
KVBP
E@$
EOB
L
4 ^O
4 645
)F
'
'%B% _
'
>"
@
W:HEGH
H)
" R5
)9L
TL EB?
"
C(
WN
V( ("N
J@"
#
+C+
<VI)+E*( @
'B
%U%
'
Y"GJ
:
()$
G 65 -9
\>
Y@
4 @4
4+4^4_C+
uM5 u5 W5
& K 44 4O 4
^44^+4 5C4KMU
9
?,
@ \ u 4
X&O4
LuG?VBB5
&
&+
E
GJL 96
"
V
(WL5
.0/1/2/ &
44&+4uL
4 ! +C+ 1@14
E#
WNCB5
UJ
J51,L"CQL
5"C(GJ)
%,/5LMN
%
'65
X" $&
L%
B
"K)+9
$^>%
'J@
GJ(GJ9($&V#
%K "E
W
%GJ(
6
K(
+
@c
FE
-,
T
\ 4
4 4 F4 4 4^4 X5
4
295,
%#O51
%,/5 O
5L!]LB
"O=
-,
.0/1/2/.
#
/
) 6M/N9
\ 4
^4&+44 R 4+4
45
! +& ! +C+
,/5
5
%E#L_5(L52#W 5 =5L[( (#1
%295 _5
UJ
]FEGH
#5,
$&V#
%
"" /"L1G%
65 .0/2/1/
#
%$
GJ# '5
:+
KJ
!'
'B0E(%%7#E654
#
.^C4&+44 R
/! +C+ )6 M/N9
?,
_^ `.I/2/1/
/ 4
4+4 ! +@&
L0E'4E B5