본문 바로가기

IT for researcher/Security

A Role-based XACML Administration and Delegation Profile and Its Enforcement Architecture



Min Xu and Duminda Wijesekera

2009. 11 conference


OASIS의 XACML v3.0의 관리와 위임 프로파일에 XACML-ARBAC와 합쳐서 롤 기반 위임을 추가한다.


정책 관리 - 개별적으로 생성하고 변경할 수 있는 정책들의 유형을 제어한다.
동적 위임 - 몇몇 사용자들에게 선택적 능력을 위임하기 위하여 제한된 기간의 정책들을 생성하는 것을 허락한다.

위임 모델은 임의의 접근제어 모델이다. (DAC)
퍼미션의 소유자가 특정 사용자에게 이것을 위임하도록 허락받는다. - 퍼미션이 같은 일에 대하여 여러 사용자들에게 위임될 필요가 있다면 이는 확장할 수 없다. 그/그녀에게 할당된 퍼미션의 부분 집합을 위임하는 지원이 부족하다.

다른 측면에서, 이 프로파일은 강화 매커니즘을 가지고 있지 않다. 관리 또는 위임 오퍼레이션을 강화하는 것은 접근 컨트롤러가 사용자의 접근 요청에 대한 평가를 시도하는 동안 읽고/쓰는 충돌을 낳는 관련 정책들을 갱신할 것이다. 또한 관리자 또는 위임자가 사용자에게 허락된 퍼미션 취소를 시도할 때 동일한 사용자는 리소스를 접근한느 퍼미션을 여전히 수행할 것이다. 이는 시스템의 안전성을 위반하는 것이다. 결론적으로, 위임 프레임워크를 확장하여 롤 기반 위임--

이 논문에서 제안한 방식에 적용~
[19] M. Xu, D. Wijesekera, X. Zhang, and D. Corray. Towards session-ware RBAC administration and enforcement with XACML. In to appear in the IEEE International Symposium on Policies for Distributed Systems and Networks (POLICY), 2009.

우리는 접근 요청을 다음과 같이 세가지 분류로 나눈다.
  • 통상적인 사용자 접근 요청: 사용자는 리소스에 접근 퍼미션을 요청한다. 이는 접근 제어 시스템에서 만들어지는 가장 일반적인 접근 유형이다.
  • 관리 요청: 관리자가 관리 요청을 한다. (사용자의 권한 변경과 같은)
  • 위임 요청: 위임자가 (사용자 또는 관리자) 사용자의 퍼미션을 다른사람에게 위임하는 것을 요청한다.

처음 두개는 [19]에 명시되어 있다. 우리는 롤 기반 관리와 위임 모델을 제안한다.
위임자는 위임 퍼미션집합을 가지고 허락된 위임가능한 롤에 할당된다.
우리의 위임 퍼미션들은 리소스들을 접근하기 위한 퍼미션들과 다르다.

위임 퍼미션은 준 관리적이다. (위임된 롤를 생성 삭제, 위임된 롤에 퍼미션 허가/취소, 위임된 롤에 사용자 할당/제거)

다중 단계 위임을 제공하기 위하여 (예. 위임 퍼미션을 위임할 수 있는) 위임할 수 있는 롤이 또한 다른 위임가능한 롤을 생성할 수 있다. 이러한 롤 기반 접근 방법은 확장가능하다, 왜냐하면 동일한 퍼미션 집합에 위임되기 원하는 많은 사용자들에게 위임된 퍼미션들을 이용하기 때문이다. 필요한 경우 그/그녀에게 할당된 퍼미션의 부분집합을 위임하고 위임된 퍼미션을 변경하는 것이 허락되기 떄문에 융통성 있다.


1. 우리는 ARBAC 모델에 위임 모델을 통합한다. (위임가능한 롤과 위임된 롤을 추가한다.)

위임가능한 롤(delegable role): 필요한 경우, 위임될 수 있는 일반 롤에 허락된 퍼미션의 집합을 위임하기 위하여 퍼미션들의 집합이 허락된다.

2. XACML-Admin 프로파일을 커버하기 위하여 XACML-ARBAC 프로파일을 확장한다. (적절한 문법과 제약을 추가한다.)

3. XACML-ARBAC 강화 아키텍쳐를 확장한다. PAP를 위해 요구되는 추가적인 기능을 명시한다.


2.  Preliminaries

2.1 XACML v3.0 관리와 위임 프로파일

[3]에서 제안된 위임 모델은 정책들을 생성하기 위한 퍼미션들과 위임 체인에서 그들의 혈통을 추적하여 그들의 퍼미션에 대해 생성된 정책들을 설명하기 위한 방법들을 명시한다. 그렇게 하기 위하여 제안된 XACML-Admin 프로파일은 새로운 키워드를 추가한다. (정책 소스를 식별하는 <PolicyIssuer) 엘리먼트), 신뢰된 정책은 유효한 것으로 간주도고 이것의 기원은 PDP에 의해 증명이 요구되지 않는 것으로 추정된다. 이슈어를 가지는 정책들은 위임 체인을 사용하여 설명되는 그들의 권한을 가질 필요가 있다. 만약에 정책 이슈어의 권한이 위임 체인을 통해 신뢰되는 정책으로 역추적 될 수 있다면, 그 정책은 PDP에 의해 사용되고 그렇지 않은 것은 버려진다. 이슈어의 권한은 접근 요청의 상황에 따라 의존한다. 그래서 정책은 요청 상황에 따라서 유효하거나 효력없거나 할 것이다. 두 가지 접근 상황이 있다. 현재 속성들 모드와 역사 속성 모드. 현재 속성 모드에서 위임된 속성이 동적일 때 접근 요청시 속성값이 사용되어야만 한다. 역사 속성 모드에서 위임 속성이 동적일 때, 정책 생성시 속성값이 사용되어야만한다.  유효성 처리의 단계들은 특별한 XACML 요청을 사용하여 수행된다. (관리상의 접근으로 불린다.). 이는 정책 이슈어와 접근 모드에 대한 정보를 담고 있다.


2.2 ARBAC and Session Administration Model
우리는 다음과 같은 표기법을 사용한다.
RBAC = (U, O, A, R, P, <, U2R, R2P)

<: 롤 계층

ARBAC

AO: 관리상 객체들의 집합
AA: 관리상의 액션의 집합
AP: 관리상의 퍼미션의 집합

2.3 Role-based Delegation

우리는 PBDM을 기반으로 ~
PBDM은 위임을 사용할 수 있는 세가지 시나리오를 요약하고 있다.

백업 롤, 권한 분산, 협업

첫번 째와 세번째는 임시적인 위임이 필요한 경우이다. 두번째는 지속적인 위임이 필요한 경우이다. PBDM은 단일 단계뿐만 아니라 다중 단계 위임을 제공한다. 세 가지 롤의 유형이 있다. 일반 롤(RR), 위임가능한 롤(DBR). 위임 롤(DTR), 일반 롤에 할당된 퍼미션들은 다른 롤 또는 사용자에게 위임될 수 없다. 위임 가능 롤은 위임 롤들을 생성하여 다른 롤 또는 사용자에게 위임될 수 있다. 각 위임가능 롤은 하나의 기본 보통롤을 가진다.
1. 사용자-위임 롤 할당 취소
2. 위임 롤로부터 퍼미션 제거
3. 위임 롤 제거
4. 위임가능한 롤로 부터 퍼미션 제거
5. 일반 또는 위임가능한 롤로부터 사용자 제거

3. ADMINISTRATION AND DELEGATION MODEL

XACML-admin 프로파일을 커버하기 위하여 ARBAC 모델에 PBDM 위임 모델을 추가한다.