속성기반 접근제어라고도 하고, 정책기반 접근제어라고도 한다. 자원과 유저의 속성에 기반하여 접근 제어를 정의하는 방식이다.
RBAC과의 차이점은, environment condition까지 고려하게 되었다는 점이다. 즉, subject, object, environment를 모두 고려하여 접근 제어 규칙을 만드는 방식이다. 그래서 이를 'fine-grained access control'이라고 부른다. DAC, MAC, RBAC의 범위를 포괄하고 있기 때문에, ABAC을 활용하여 이들을 구현할 수 있다.
Attribute
- Characteristics that define specific aspects of the subject, object, environment conditions, and/or requested operations that are predefined and preassigned by an authority
- Subject attribute: 시스템에서 정보를 다루는 주체의 속성.
- e.g., identifier, name, organization, job title, role, etc.
- Object attribute: 정보를 담고 있는 객체의 속성. 이는 주로 metadata에서 읽을 수 있다.
- e.g., title, subject, date, author, etc.
- Environment attribute: 정보 접근이 일어나는 operational, technical, situational 문맥.
- e.g., current date and time, current virus activities, network's security level(internet vs. intranet), etc.
- ABAC에서 처음 고려되기 시작한 속성이다.
ACL (Access Control List) Trust Chain
- NIST SP 800-162라는 연구에서 DAC과 ABAC의 ACL Trust Chain을 비교한다.
- 먼저 DAC, MAC, RBAC의 ACL trust chain을 살펴보자. 이때 ACL에서 root of trust는 object의 소유자이다. 즉, 소유자가 어떤 유저를 ACL에 추가한다는 것은, 그 유저에게 접근 권한을 부여한다는 뜻이다.
- 그에 반해 ABAC의 trust chain에서는, subject, object, environment의 속성을 모두 고려해야 하기 때문에 object의 소유자가 모든 것을 제어할 수 없다.
- subject attribute authorities, policy developers, credential issuers 등에 대한 control을 object owner가 가지고 있지 않다.
ABAC policy model
- policy: a set of rules and relationships that govern allowable behavior within an organization, base on subject, object, and environmental conditions.
- privilege: represents the authorized behavior of a subject
- ABAC의 핵심이라고 할 수 있는 attribute는 다음과 같이 정의된다:
즉, 어떤 attribute는 subject, object, environment이 가질 수 있는 모든 속성의 부분집합이다.
그리고 policy rule은 ATTR(s), ATTR(o), ATTR(e)의 boolean function이다.
이런식으로 rule을 표현하고 적용할 수 있다.
'Information System Security' 카테고리의 다른 글
6-3. Role-Based Access Control (RBAC) (0) | 2024.10.24 |
---|---|
6-2. Discretionary Access Control (DAC) (0) | 2024.10.23 |
6-1. Access Control - basics (0) | 2024.10.23 |
5. Authentication (1) (0) | 2024.10.19 |
댓글