- Access Control Policy
구분 | MAC | DAC | RBAC |
---|---|---|---|
보안 주체 | 시스템 | 소유자 | 역할 |
통제 주체 | 보안 레이블 | 권한 위임 | 참조 모니터 |
사용자 통제 | 단순 | 복잡 | 유연 |
적용 대상 | 군대 | 기업 | 대기업 |
임의적 접근통제
- DAC, Discretionary Access Control
- 개인 기반 정책과 그룹기반 정책을 포함한다.
- 객체에 접근하고자 하는 주체(또는 주체가 속한 그룹)의 접근 권한에 따라 접근 통제를 적용한다.
- 특정 접근 허가를 가진 주체는 임의의 다른 주체에게 자신의 접근 권한을 넘겨줄 수 있다.
- TCSEC에서는 신분-기반 접근 통제 정책으로 DAC를 분류한다. Orange Book C등급
DAC 예시
- DAC의 대표적인 구현 예로 ACL(Access Control List)가 있다.
- 방화벽 정책이나 TCP Wrapper 등 리눅스의 네트워크 서비스의 접근제어가 대부분 DAC를 따른다.
- "이 자원은 누구누구가 접근 가능하다." 또는 "누구누구는 이 자원에 접근 가능하다." 라는 식의 정의
강제적 접근통제
- MAC, Mandatory Access Control
- 보안 등급, 규칙 기반, 관리 기반의 접근 통제 방식이다.
- 모든 주체 및 객체에 대하에 일정하며 어느 하나의 주체나 객체 단위로 접근 제한을 설정할 수 없다.
- 주체의 레이블과 주체가 접근하고자 하는 객체의 보안 레이블을 비교하여 보안 정책에 합당한 접근 통제 규칙에 의한 통제 방법이다.
- TCSEC에서는 규칙-기반 접근 통제 정책으로 MAC를 분류한다. Orange Book B등급
MAC 예시
- 보안 등급에 따른 일차원적인 접근권한 차등화가 대표적인 MAC의 구현 예이다.
- 예를 들면 다음/네이버 카페에서 등급에 따라서 접근 가능한 게시판이 정해지는 예이다.
- 그누보드나 제로보드의 레벨 제도 또한 MAC에 해당한다.
역할기반 접근 통제
- RBAC, Role Based Access Control
- DAC와 MAC의 단점을 보완한 방식이다.
- 권한을 사용지가 아닌 그룹에 부여하고, 그룹이 수행하여야 할 역할을 정의한다.
- 초기 관리의 오버헤드를 줄이고, 직무를 기반으로 하는 접근 통제 모델이다.
- 각 주체에 허용된 접근 수준(Clearance)과 객체에 부여된 허용등급(Classification)에 근거 하여 접근 통제를 운영한다.
- 접근 수준과 등급에 대한 정의는 관리자에 의해 설정 및 변경이 가능하다.
- 비 임의적 접근통제 모델(Non-Discretionary) 또는 임무 기반(Task-Based) 접근통제 모델로 불리기도 한다.
RBAC 예시
- 최근의 업무 시스템들은 대부분 RBAC이다. 인사담당자, 총무담당자 등과 같이 권한 그룹을 통해 접근을 제어한다.
- 리눅스의 그룹 퍼미션 또한 RBAC라고 할 수 있다.