Title: ??RBAC??????
1?????????????????
- ? ? ? ? ?
- ? ? ? ? ? ?
- ? ???????
- ? ? ??? ??
- 2003.6.
2??????
- ??RBAC??????
- ??????RBAC????
- RBAC???????
- ????????????
- RBAC???????
- ???????????
- ?????
3????
- RBAC????
- ??RBAC??????
- RBAC???????
- RBAC???????
- ??
4????
- RBAC????
- ?????????
- RBAC????RBAC96?ARBAC97
- ??RBAC??????
- RBAC???????
- RBAC???????
- ??
5????
- ??
- ?????????????
- ???????,???,Web?????
- ??
- ????????????????
- ?????????????
- ????
- ??????????(DAC),??????(MAC)
- ????????????(RBAC)
6?????????
- ??
- ???????????,????????
- Web??????????????
- ????
- ??????????
- ?????????????????????
- ??RBAC??????????
- ????
- RBAC96RBAC???? Sandhu et al. 1996
- ARBAC97RBAC???? Sandhu et al. 1997
7RBAC????RBAC96 (1)
- ???RBAC????
- RBAC0 ??RBAC????
- RBAC1 ??RBAC0,????????(RH)
- RBAC2 ??RBAC0,????(Constraints)
- RBAC3 ????????,???????
8RBAC????RBAC96 (2)
9RBAC????ARBAC97 (1)
- ????
- ?RBAC???????????????
- ???????????
- ????????????
- ARBAC97?????????
- URA97 ????????
- PRA97 ????????
- RRA97 ????????
10RBAC????ARBAC97 (2)
11????
- RBAC????
- ??RBAC??????
- ??RBAC??MDRBAC
- ??RBAC????MDARBAC
- ??RBAC????????
- RBAC???????
- RBAC???????
- ??
12??RBAC?????
- ???
- ?????????????
- ?????????????
- ????
- ??????????? ??,??????
- ???????????????????
13??RBAC??MDRBAC (1)
- ??RBAC96???????
- ????????RBAC96??
14??RBAC??MDRBAC (2)
- MDRBAC0
- ?????U(???),P(???),S(???)
- d ????????? ,???????,??????????,d
?????? - ??? R ???????????,?
- ,?????????????
- ,?????????????
- ,???????????
- ,???????????,?
15??RBAC??MDRBAC (3)
- MDRBAC1
- U, P, S, VRi , R, UA, PA, user?MDRBAC0
- ???VRi????????,??
- ?????? ?R??????,?? ,?
- ?????? ?R??????,??
- ?R??????,?? ? ????
- ,? ,??? ,? ?
- ??????????
- ?????
??ERH??ERHC??,?RH?????
16??RBAC??MDRBAC (4)
- MDRBAC2
- MDRBAC0??????
- ??????,????MDRBAC0??????????
- ???MDRBAC2????????
- ????????????
- ??????????????????
- ???????????????
17??RBAC??MDRBAC (5)
18??RBAC????MDARBAC (1)
- ????
- DSO???????
- SSO???DSO??
- ??????????ARBAC97??
- ????
- MDURA
- MDPRA
- MDRRA
19??RBAC????MDARBAC (2)
- MDURA
- ??URA97??
- ?DSO????????????????
- ??????????????????
- MDPRA
- ??PRA97??
- MDURA?????
- ?????????PA??
20??RBAC????MDARBAC (3)
- MDRRA
- ??RRA97??
- ??????????????
- ????????
- ????????????VRHi
- ???????????????
- ????????????????
- ????????
- ????????????ERH
- ?????????????
21??RBAC????? (1)
- ??
- ???????????????????
- ?????????RRA???
- ????
- ?????????????
- ????
- RRA???
- ????1,????2,????
- ????
22??RBAC????? (2)
- ??????
- ???????????????
- ???????
- ???????RRA?
???? ???? ??????
??? company company
??? filiale company/1filiale
???? ???? ??????
?? manager manager
???? developer manager/2developer
???? salesman manager/2salesman
???? employee manager/2developer/2employee
manager/2salesman manager/2developer/2employee gt
RRA
23??RBAC????? (3)
- ????
- ?????????????????????
- ??????????
?? ????
????? company/1manager
????? company/1filiale/1manager
????? company/1manager/2developer
????? company/1filiale/1manager/2developer
????? company/1manager/2salesman
????? company/1filiale/1manager/2salesman
????? company/1manager/2developer/2employee
????? company/1filiale/1manager/2developer/2employee
24??RBAC????? (4)
25??RBAC????? (5)
- WebDaemon???TCL??????
- ??????,????????????
- ??3??????,???????
- ????,????,????
- 8600?????260??????
- 90????????????????
- ??????,??????????
26??RBAC?????
- ?????RBAC96?ARBAC97??
- ?????RBAC??????1?????
- ??????,????,??????
- ?????????????????
- ???????????????????RBAC??
- ???????????????
27????
- RBAC????
- ??RBAC??????
- RBAC???????
- RBAC?????
- RBAC?????
- RBAC????????
- RBAC???????
- ??
28RBAC???????
- ??
- ????????????????
- ???????????????
29RBAC?????
- ?????????????
- ??????????
- ??????
30RBAC????? (1)
31RBAC????? (2)
- ?RBAC??????????
- ?????????
- ???????????????
- ??????????
- ????????
- ??????
- ??????
- ????????
32RBAC????? (3)
- ????????
- ???RBAC?????
- ??????????
- ??????
- ????
- ????
- ??????
- ??????
- ????
- ????????
33RBAC????? (4)
- ??????
- ??????????????????????????????
- (u, r1)?UA,r1 r2,???(u, r2)
- ?????????????????
- ????????????
- ????
- ??????
- ????
- ????????
34RBAC????? (5)
- ??????
- ??????????????????????????????
- (r2, p)?PA,r1 r2,???(r1, p)
- ?????????????????
- ????????????
- ????
- ??????
- ????
- ????????
35RBAC????? (6)
- ????????
- ???????????????????????????????
- r1 r2,?r2 r3,???r1 r3
- ???????????????????
- ????????????
- ????
- ????????
36RBAC???????
- ??????????????????
- ?????????????????
- ???????
- ???????????????
- ????
- ???????????,????????
37RBAC???????? (1)
- ????????
- ??????????????
- ????????????????
- ????2530
???? ???? ????
f_userid ??ID varchar
f_roleid ??ID varchar
f_iscached ???????(Y/N) char
???? ???? ????
f_userid ??ID varchar
f_roleid ??ID varchar
f_directroleid ???f_userid??????? varchar
38RBAC???????? (2)
- ??LDAP???
- ???????????????
- ???????LDAP???????,?????
- ????20??
39????
- RBAC?????????
- ??RBAC??????
- RBAC???????
- RBAC???????
- RBAC??????
- RBAC??????
- RBAC??????
- ??
40RBAC???????
- ??
- RBAC??????,????
- ??????????,????
- ??
- ????????
- ????????????????????
- ????????
- ?????????????
41RBAC?????? (1)
- ????????
- ??????????????
- RBAC??????
- ???????(??ARBAC97??)
42RBAC?????? (2)
- ???
- ???????User,Role,Permission
- ??????????????
- ?????????????
- ????????????
- ??????????Role?
- ???????????????
43RBAC?????? (3)
- ??????
- ?????,?????????
- ??????,?????????????
- ????????,????????
- ??????? (?45???)
- ????????
- ??????
- ???????
- ????
- ??????
44RBAC?????? (4)
- ???????
- ?????????,????????
- ????????,??????
- ?????????????????
- ??????? (?29???)
- ????
- ????
- ????
- ????
45RBAC?????? (5)
- ???????
- AddInheritance(role1, role2, bNeedCheck)
- ????????,??bNeedCheck??????????
- DeleteRole(role)
- ????,?????????????????????,????????????
- CheckUserPermission(user, perm)
- ????????,????????????????
- ?????????????
46RBAC?????? (1)
- ???RBAC???????,??
- ??RBAC??
- RBAC?????
- ????
- ????????????????
- ?????????????????
47RBAC?????? (2)
- ????RBAC??
- ???????VirtualRole,?????????????????
- ????????????????
- ??????????????????????,????????????????
48RBAC?????? (3)
- ??RBAC?????
- ????????????????????
- ??????????????????????????
- ??????????????
- ??????????????
49RBAC??????
- ????????
- ??SQL??????????
- ??????????????????
- ??LDAP???
- ????LDAP?????
- ????????????????????????
- ??????????,?WebDaemon???????????????
50????
- RBAC????
- ??RBAC??????
- RBAC???????
- RBAC???????
- ??
51??
- ??RBAC??
- RBAC??????????
- RBAC?????
- ???????????????
- RBAC?????
- ?????RBAC?????,??????
- ?????Web??????WebDaemon?????????
52? ? ? ?!
53????
54?????????
- ??????(DAC) Lampson 1971
- ???????????,???????
- ????????????????????
- ????,????????
- ??????(MAC) Bell Lapadula 1975
- ??????,????????????
- ??/?????????,??/?????????
- ????,??????,???????
- ????
- ?????????,??????
55??????(DAC)
- ????
- ???????????,?????????
- ??????????????????????
- ???DAC??
- Grantee????????????
- Strict DAC grantee??????
- Liberal DAC grantee??????
- ???????????
- ??????????(revocation)?
- ?????
- ?????????
- ???????????
56??????(MAC)
- ??????(security labels)
- ??(subject)security clearance
- ??(object)security classification
- ??????????????,?????
- ????(s???,o???,??????)
- Simple security property s??o -gt?(s)gt?(o)
- Liberal -property s??o -gt?(s)lt?(o)
- Strict -property s??o -gt?(s)?(o)
- ?????
- ????????,?????????
- ????,????
57RBAC???????? (1)
- ??(U) ???????????
- ??(P) ??????????????????
- ??(R) ??????????????????
- ????(UA) ?????????????
- ????(PA) ?????????????
- ??(S) ???????????????,?????????
58RBAC???????? (2)
- ??????(RH) ???????????
-
- ????????????,????????????????
- ??(Constraints) ??????????,??????
- ???????????,????
- ???????????????/??????
59RBAC??????????
- ??? RBAC??????DAC?MAC
- ??????
- ??????,??????
- ????????????
- ?RBAC????????????
- ????
- ??????(RBDM)
- ??RBAC??(TRBAC)
- ???RBAC??(DRBAC)
60RBAC??????????
- RBAC????
- ????????,Java,CORBA?
- Web?RBAC??? Park Sandhu 2000
- ????user-pull/server-pull
- ????????cookies,CA,LDAP
- RBAC????
- ?????,???,?????
- RBAC??
- ???Oracle,Sybase?
- ????Windows,Solaris?
- WebGetAccess,Tivoli,WebDaemon?
61RBAC?????????
- ?WebDaemon???????
- ??TCL???????????????
- ???????
- ????????LDAP??????
- ????????????????
- LDAP???????????
- ???????????
- ????
62RBAC?????????
- ???? P_AddUser(user)
- ???? P_DeleteUser(user)
- ???? P_AddResource(res)
- ???? P_DeleteResource(res)
- ???? P_AddRole(role)
- ???? P_DeleteRole(role)
- ???????? P_AddInheritance(role1, role2)
- ???????? P_DeleteInheritance(role1, role2)
- ?????????? P_AddRelationUserRole(user, role)
- ??????????P_DeleteRelationUserRole(user, role)
- ??????????P_AddRelationRoleResource(role, res)
- ??????????P_DeleteRelationRoleResource(role, res)
63RBAC??????????
- ????AddUser(user)
- ???? AddPermission(perm)
- ???? AddRole(role)
- ????????1 AddInheritance(prole, crole,
bNeedCheck) - ????????2 AddInheritance(prole, crole)
- ?????????? AddRelationUserRole(user, role)
- ?????????? AddRelationRolePermission(role, perm)
- ???? DeleteUser(user)
- ???? DeletePermission(perm)
- ???? DeleteRole(role)
- ???????? DeleteInheritance(role1, role2)
- ?????????? DeleteRelationUserRole(user, role)
- ?????????? DeleteRelationRolePermission(role,
perm)