역할 기반 액세스 제어
Role-based access control컴퓨터 시스템 보안에서 Role-Based Access Control([1][2]RBAC; 롤 기반 접근컨트롤) 또는 Role-Based[3] Security는 권한이 있는 사용자에 대한 시스템 접근을 제한하는 접근법입니다.이는 필수 접근통제(MAC) 또는 임의 접근통제(DAC)를 구현하기 위한 접근법입니다.
Role-Based Access Control(RBAC; 롤베이스 액세스컨트롤)은 역할과 특권을 중심으로 정의된 정책 중립 접근컨트롤 메커니즘입니다역할-권한, 사용자-역할 및 역할-역할 관계 등의 RBAC 컴포넌트를 통해 사용자 할당을 쉽게 수행할 수 있습니다.NIST의 연구에 따르면 RBAC는 상업 [4]및 정부 조직의 많은 요구를 충족시키는 것으로 나타났습니다.RBAC는 수백 명의 사용자와 수천 개의 권한을 가진 대규모 조직에서 보안 관리를 용이하게 하기 위해 사용할 수 있습니다.RBAC는 MAC 및 DAC 액세스컨트롤 프레임워크와는 다르지만 이들 정책을 쉽게 적용할 수 있습니다.
설계.
조직 내에서 다양한 직무 기능에 대한 역할이 생성됩니다.특정 작업을 수행하기 위한 사용 권한은 특정 역할에 할당됩니다.구성원 또는 직원(또는 다른 시스템 사용자)에게 특정 역할이 할당되며 이러한 역할을 통해 특정 시스템 기능을 수행하는 데 필요한 권한을 얻습니다.사용자에게는 직접 권한이 할당되지 않고 역할(또는 역할)을 통해서만 권한이 할당되기 때문에 개별 사용자 권한 관리는 사용자 계정에 적절한 역할을 할당하기만 하면 됩니다.이것에 의해, 유저의 추가나 유저의 부문 변경등의 일반적인 조작이 심플해집니다.
역할 기반 접근컨트롤 간섭은 보안 어플리케이션에서 비교적 새로운 문제입니다.다이나믹 액세스레벨을 가진 여러 사용자 계정이 암호화 키를 불안정하게 하여 외부 사용자가 부정 액세스의 취약성을 악용할 수 있습니다.동적 가상화 환경 내의 키 공유 애플리케이션은 이 [5]문제를 해결하는 데 어느 정도 성공했습니다.
RBAC에는 다음 3가지 주요 규칙이 정의되어 있습니다.
- 역할 할당: 서브젝트는 서브젝트가 역할을 선택했거나 할당된 경우에만 권한을 행사할 수 있습니다.
- 역할 권한 부여:주제의 활성 역할은 주체에 대해 인증되어야 합니다.위의 규칙 1에서는 이 규칙에 따라 사용자는 자신이 인가받은 역할만 맡을 수 있습니다.
- 권한 인증:서브젝트는 서브젝트의 활성 역할에 대해 권한이 부여된 경우에만 권한을 행사할 수 있습니다.규칙 1과 규칙2에서는 이 규칙에 따라 사용자는 자신이 인가받은 권한만 행사할 수 있습니다.
추가 제약 조건을 적용할 수도 있으며, 상위 수준의 역할이 하위 역할에서 소유하는 권한을 포함하는 계층에서 역할을 결합할 수 있습니다.
역할 계층 및 제약의 개념을 사용하여 RBAC를 제어하여 Ratitude-Based Access Control(LBAC; 격자 기반 접근컨트롤)을 작성하거나 시뮬레이트할 수 있습니다.따라서 RBAC는 LBAC의 슈퍼셋으로 간주할 수 있습니다.
RBAC 모델을 정의할 때는, 다음의 표기법이 도움이 됩니다.
- S = Subject = 사람 또는 자동 에이전트
- R = 역할 = 권한 수준을 정의하는 직무 또는 직함
- P = 권한 = 리소스에 대한 액세스 모드 승인
- SE = 세션 = S, R 및/또는 P를 포함하는 매핑
- SA = 제목 할당
- PA = 권한 할당
- RH = 부분적으로 순서가 지정된 역할 계층입니다.RH 는 다음과 같이 쓸 수도 있습니다(표기: x y y 는 x 가 y 의 권한을 계승하는 것을 의미합니다).
- 서브젝트는 여러 역할을 가질 수 있습니다.
- 역할에는 여러 개의 주체가 있을 수 있습니다.
- 역할에는 여러 가지 사용 권한이 있을 수 있습니다.
- 권한은 여러 역할에 할당할 수 있습니다.
- 작업은 여러 권한에 할당할 수 있습니다.
- 권한은 여러 작업에 할당할 수 있습니다.
제약조건은 상대 역할로부터 권한을 상속받을 수 있는 제한적인 규칙을 설정하므로 적절한 직무 분리에 사용할 수 있습니다.예를 들어, 로그인 계정 생성과 계정 생성을 모두 동일한 사용자에게 허용해서는 안 됩니다.
따라서 집합 이론 표기법을 사용하면 다음과 같이 됩니다.
- AP ×(\ PA P R이며 역할 할당 관계에 대한 다수의 권한입니다.
- AS ×(\ SA R이며 역할 할당 관계에 따라 달라집니다.
서브젝트는 다른 역할과 동시에 여러 세션을 가질 수 있습니다.
표준화된 수준
NIST/ANSI/INCITS RBAC 표준(2004)은 다음과 같은 [6]세 가지 수준의 RBAC를 인정하고 있습니다.
- 코어 RBAC
- 계층형 RBAC: 역할 간의 상속 지원을 추가합니다.
- 업무 분리를 추가하는 구속 RBAC
다른 모델과의 관계
RBAC는 유연한 접근컨트롤 테크놀로지이며, 그 유연성을 통해 DAC 또는 [8]MAC를 구현할[7] 수 있습니다.그룹을 포함한 DAC(예를 들어 POSIX 파일시스템에 실장되어 있는 등)는 [9]RBAC를 에뮬레이트할 수 있습니다.롤 그래프가 부분적으로 순서가 지정된 [10]세트가 아닌 트리로 제한되어 있는 경우, MAC 는 RBAC 를 시뮬레이트 할 수 있습니다.
RBAC가 개발되기 전에는 Bell-LaPadula(BLP) 모델은 MAC와 동의어였고 파일 시스템 권한은 DAC와 동의어였습니다.이들 모델은 액세스 제어에 대해 알려진 유일한 모델로 간주되었습니다.모델이 BLP가 아닌 경우 DAC 모델로 간주되며 그 반대도 마찬가지입니다.1990년대 후반의 연구에 따르면 RBAC는 어느 [11][12]범주에도 속하지 않는다.Context-Based Access Control(CBAC; 컨텍스트 기반 액세스컨트롤)과는 달리 RBAC는 메시지콘텍스트(접속원 등)를 조사하지 않습니다.또한 RBAC는 역할의 [13]폭발적 증가를 초래한다는 비판도 받고 있습니다.이는 RBAC가 역할로서 제공할 수 있는 것보다 더 세밀한 액세스 제어가 필요한 대규모 엔터프라이즈 시스템의 문제입니다.CBAC와 마찬가지로 Entity-Relationship-Based Access Control(ERBAC; 엔티티 관계 기반 접근컨트롤)은 확장 역할 기반 접근컨트롤[15] 등 변경된 RBAC [14]시스템에도 동일한 약어가 사용되지만 [16]실행 대상과의 관련성을 고려하여 데이터 인스턴스를 보호할 수 있습니다.
ACL과의 비교
Access Control List(ACL; 접근컨트롤 리스트)는 기존의 임의의 접근컨트롤 시스템에서 저레벨의 데이터 오브젝트에 영향을 주기 위해 사용됩니다.RBAC 는, 복수의 엔티티간의 직접 관계를 변경하는 조작에 권한을 할당하는 점에서 ACL 와 다릅니다(아래의 ACLg 를 참조).예를 들어 ACL은 특정 시스템파일에 대한 쓰기 액세스를 허용 또는 거부하기 위해 사용할 수 있지만 파일 변경 방법을 지시하지는 않습니다.RBAC 기반 시스템에서는 재무 애플리케이션에서 '신용 계정' 거래를 만들거나 의료 애플리케이션에서 '혈당치 검사' 기록을 작성하는 작업이 될 수 있다.따라서 역할은 대규모 활동 내의 일련의 작업입니다.RBAC는 특히 업무분리(SoD) 요건에 적합하다는 것이 입증되었습니다.이 요건은 중요한 업무의 인가에 2명 이상이 관여해야 합니다.RBAC에서 SoD의 안전성을 위한 필요충분조건이 분석되었다.SoD의 기본 원칙은 어떤 개인도 이중 특권을 통해 보안 침해를 일으킬 수 없다는 것입니다.더 나아가, 그 어떤 사람도 동시에 맡고 있는 [17][18]다른 역할에 대해 감사, 통제 또는 검토 권한을 행사하는 역할을 할 수 없습니다.
한편, 「최소 RBAC 모델」인 RBACm은, ACL 메카니즘인 ACLg 와 비교할 수 있습니다.ACL 의 엔트리로서 허가되는 것은 그룹뿐입니다.Barkley(1997)[19]는 RBACm과 ACLg가 동등하다는 것을 보여주었다.
CakePHP 프레임워크의 ACL과 같은 최신 SQL 구현에서는 ACL이 그룹 계층에서 그룹 및 상속도 관리합니다.이러한 관점에서 특정 "현대 ACL" 구현은 특정 "현대 RBAC" 구현과 비교할 수 있으며, 이는 "오래된 (파일 시스템) 구현"보다 우수합니다.
데이터 교환 및 "고수준 비교"를 위해 ACL 데이터를 XACML로 변환할 수 있습니다.
속성 기반 액세스 제어
Attribute-based access control(ABAC; 속성 기반 접근컨트롤)은 RBAC에서 발전하여 역할 및 그룹 외에 추가 속성을 고려하는 모델입니다.ABAC 에서는, 다음의 어트리뷰트를 사용할 수 있습니다.
- 사용자(예: 시민권, 허가증,
- 자원(예: 분류, 부서, 소유자)
- 액션, 그리고
- 컨텍스트(예: 시간, 장소, IP)
ABAC는 정적 권한이 아닌 정책을 사용하여 허용되는 항목 또는 허용되지 않는 항목을 정의한다는 점에서 정책 기반입니다.
사용방법 및 가용성
단일 시스템 또는 애플리케이션 내에서 사용자 권한(컴퓨터 권한)을 관리하기 위해 RBAC를 사용하는 것은 베스트 프랙티스로 널리 받아들여지고 있습니다.Research Triangle Institute가 NIST를 위해 준비한 2010년 보고서는 RBAC의 기업 경제적 가치와 직원 다운타임 감소, 효율적인 프로비저닝 및 효율적인 액세스 제어 정책 [20]관리를 통한 직원 1인당 예상 이익을 분석했습니다.
수십 또는 수백 개의 시스템과 애플리케이션에 걸친 이종 IT 인프라스트럭처와 요건을 가진 조직에서는 RBAC를 사용하여 충분한 역할을 관리하고 적절한 역할 멤버쉽을 할당하는 것이 역할과 권한 [21]할당을 계층적으로 작성하지 않으면 매우 복잡해집니다.최신 시스템은 이전 NIST RBAC 모델을[22] 확장하여 전사적 배포에 대한 RBAC의 한계를 해결합니다.NIST 모델은 ANSI/INCITS 359-2004로 INCITS에 의해 표준으로 채택되었다.NIST 모델에 대한 일부 설계 선택에 대한 논의도 발표되었다.[23]
「 」를 참조해 주세요.
레퍼런스
- ^ Ferraiolo, D.F. & Kuhn, D.R. (October 1992). "Role-Based Access Control" (PDF). 15th National Computer Security Conference: 554–563.
- ^ Sandhu, R., Coyne, E.J., Feinstein, H.L. and Youman, C.E. (August 1996). "Role-Based Access Control Models" (PDF). IEEE Computer. 29 (2): 38–47. CiteSeerX 10.1.1.50.7649. doi:10.1109/2.485845.
{{cite journal}}
: CS1 maint: 여러 이름: 작성자 목록(링크) - ^ ABREU, VILMAR; Santin, Altair O.; VIEGAS, EDUARDO K.; STIHLER, MAICON (2017). A multi-domain role activation model (PDF). ICC 2017 2017 IEEE International Conference on Communications. IEEE Press. pp. 1–6. doi:10.1109/ICC.2017.7997247. ISBN 978-1-4673-8999-0. S2CID 6185138.
- ^ Gilbert MD, Lynch N, Ferraiolo FD (1995). "An examination of federal and commercial access control policy needs". National Computer Security Conference, 1993 (16th) Proceedings: Information Systems Security: User Choices. DIANE Publishing. p. 107. ISBN 9780788119248.
- ^ Marikkannu, P (2011). "Fault-tolerant adaptive mobile agent system using dynamic role based access control". International Journal of Computer Applications. 20 (2): 1–6. Bibcode:2011IJCA...20b...1M. doi:10.5120/2409-3208.
- ^ Alberto Belussi; Barbara Catania; Eliseo Clementini; Elena Ferrari (2007). Spatial Data on the Web: Modeling and Management. Springer. p. 194. ISBN 978-3-540-69878-4.
- ^ Ravi Sandhu; Qamar Munawer (October 1998). "How to do discretionary access control using roles". 3rd ACM Workshop on Role-Based Access Control: 47–54.
- ^ Sylvia Osborn; Ravi Sandhu & Qamar Munawer (2000). "Configuring role-based access control to enforce mandatory and discretionary access control policies". ACM Transactions on Information and System Security: 85–106.
- ^ Brucker, Achim D.; Wolff, Burkhart (2005). "A Verification Approach for Applied System Security". International Journal on Software Tools for Technology (STTT). 7 (3): 233–247. doi:10.1007/s10009-004-0176-3. hdl:20.500.11850/52625. S2CID 6427232.
- ^ D.R. Kuhn (1998). "Role Based Access Control on MLS Systems Without Kernel Changes". Proceedings of the third ACM workshop on Role-based access control - RBAC '98 (PDF). Third ACM Workshop on Role Based Access Control. pp. 25–32. CiteSeerX 10.1.1.55.4755. doi:10.1145/286884.286890. ISBN 978-1-58113-113-0. S2CID 1711956.
- ^ Editor, CSRC Content (2016-11-21). "Role Based Access Control – FAQs". csrc.nist.gov. Retrieved 15 August 2018.
{{cite web}}
:last=
범용명(도움말)이 있습니다. - ^ (NIST), Author: David Ferraiolo; (NIST), Author: Richard Kuhn (1992-10-13). "Role-Based Access Controls" (PDF). csrc.nist.gov: 554–563. Retrieved 15 August 2018.
{{cite journal}}
:first1=
범용명(도움말)이 있습니다. - ^ A. A. Elliott & G. S. Knight (2010). "Role Explosion: Acknowledging the Problem" (PDF). Proceedings of the 2010 International Conference on Software Engineering Research & Practice.
- ^ "ERBAC – Enterprise Role-Based Access Control (computing) – AcronymFinder". www.acronymfinder.com. Retrieved 15 August 2018.
- ^ "Dr. Bhavani Thuraisingham and Srinivasan Iyer (PPT)". Retrieved 15 August 2018.
- ^ Korhonen, Kalle. "tapestry-security-jpa". www.tynamo.org. Retrieved 15 August 2018.
- ^ D.R. Kuhn (1997). "Mutual Exclusion of Roles as a Means of Implementing Separation of Duty in Role-Based Access Control Systems" (PDF). 2nd ACM Workshop Role-Based Access Control: 23–30. doi:10.1145/266741.266749. ISBN 0897919858. S2CID 482687.
- ^ Ninghui Li, Ziad Bizri, and Mahesh V. Tripunitara . Tripunitara (2004). "On mutually exclusive roles and separation-of-duty" (PDF). 11th ACM Conference on Computer and Communications Security. CCS '04: 42–51. CiteSeerX 10.1.1.159.2556. doi:10.1145/1030083.1030091. ISBN 978-1581139617. S2CID 798546.
{{cite journal}}
: CS1 maint: 여러 이름: 작성자 목록(링크) - ^ J. Barkley(1997) "간단한 역할 기반 접근 제어 모델과 접근 제어 목록 비교", "역할 기반 접근 제어에 관한 제2차 ACM 워크숍 진행" (127-132페이지)
- ^ A.C. O'Connor & R.J. Loomis (March 2002). Economic Analysis of Role-Based Access Control (PDF). Research Triangle Institute. p. 145.
- ^ Systems, Hitachi ID. "Beyond Roles: A Practical Approach to Enterprise IAM". www.idsynch.com. Retrieved 15 August 2018.
- ^ Sandhu, R., Ferraiolo, D.F. and Kuhn, D.R. (July 2000). "The NIST Model for Role-Based Access Control: Toward a Unified Standard" (PDF). 5th ACM Workshop Role-Based Access Control: 47–63. doi:10.1145/344287.344301. S2CID 14539795.
{{cite journal}}
: CS1 maint: 여러 이름: 작성자 목록(링크) - ^ Ferraiolo, D.F., Kuhn, D.R., and Sandhu, R. (Nov–Dec 2007). "RBAC Standard Rationale: comments on a Critique of the ANSI Standard on Role-Based Access Control" (PDF). IEEE Security & Privacy. 5 (6): 51–53. doi:10.1109/MSP.2007.173. S2CID 28140142. Archived from the original (PDF) on 2008-09-17.
{{cite journal}}
: CS1 maint: 여러 이름: 작성자 목록(링크)
추가 정보
- David F. Ferraiolo; D. Richard Kuhn; Ramaswamy Chandramouli (2007). Role-based Access Control (2nd ed.). Artech House. ISBN 978-1-59693-113-8.