자격증/정보보안기사, 산업기사

접근제어, 접근통제 모델 (MAC, DAC, RBAC)

Standard Eom 2023. 6. 8. 22:44

접근통제방식인 MAC(Mandatory Access Control), DAC(Discretionary Access Control), RBAC(Role-Based Access Control)의 개념, 권한 부여, 접근, 정책, 장단점, 대표모델 등에 대한 정보이다.


강제적 접근제어(MAC, Mandatory Access Control)

MAC은 시스템 관리자가 정책에 따라 사용자에게 접근 권한을 부여하는 것을 의미한다. MAC은 보안 수준을 강제적으로 적용하여 사용자의 권한을 제한하고, 데이터와 시스템의 보안을 강화한다.

  • 권한 부여: 관리자가 보안 정책에 따라 주체에 대한 접근 권한을 부여한다.
  • 접근: 주체는 정해진 보안 규칙에 따라 객체에 접근할 수 있다.
  • 정책: 접근 권한은 보안 등급, 라벨, 선언적 규칙 등을 기반으로 관리된다.
  • 장점: 정보의 기밀성과 무결성을 강화하며, 정교한 보안 규칙을 적용할 수 있다. 시스템 관리자에 의한 권한 남용을 방지할 수 있다.
  • 단점: 구현과 관리가 복잡하며, 접근 권한 변경에 있어서 관리자의 개입이 필요한다. 유연성과 사용자들 간의 협력을 제한할 수 있다.
  • 적용사례: 방화벽

대표적인 MAC 모델로는 다음과 같은 것들이 있다.

  • 벨라파듈라 Bell-LaPadula (BLP) 모델: 기밀성을 중요시하는 시스템에서 사용되며, 정보의 불법적인 노출을 방지한다. BLP 모델은 "no read up, no write down" 원칙에 따라, 높은 보안 등급의 객체에서 낮은 보안 등급의 객체로의 읽기와 쓰기를 금지한다.
  • 비바 Biba 모델: 무결성을 중요시하는 시스템에서 사용되며, 데이터의 변조를 방지한다. Biba 모델은 "no write up, no read down" 원칙에 따라, 낮은 무결성 수준의 객체에서 높은 무결성 수준의 객체로의 쓰기와 읽기를 금지한다.
  • 클락-윌슨Clark-Wilson 모델: 무결성을 중요시하는 비즈니스 환경에서 사용되며, 데이터 일관성과 무결성을 보장한다. Clark-Wilson 모델은 인증된 변환과 업무 규칙에 의해 제어되며, 데이터의 변조와 비인가된 업무 수행을 방지한다.

이러한 MAC 모델들은 보안 요구사항과 환경에 따라 선택되어 적용되며, 접근 권한을 강제로 제어함으로써 보안 위협으로부터 시스템을 보호하는 역할을 수행한다.


임의적 접근제어(DAC, Discretionary Access Control)

DAC은 사용자가 자유롭게 객체에 대한 접근 권한을 관리할 수 있는 방식입니다. DAC은 객체의 소유자에 의해 접근 권한이 결정되며, 소유자는 해당 객체에 대한 접근 권한을 다른 사용자에게 부여하거나 제한할 수 있다.

  • 권한 부여: 개별 사용자가 자신의 데이터에 대해 권한을 부여한다.
  • 접근: 권한을 가진 사용자만 해당 데이터에 접근할 수 있다.
  • 정ㅈ책: 주체가 자유롭게 권한을 부여하고 관리한다.
  • 장점: 유연성이 높으며, 사용자는 자신의 데이터에 대한 권한을 관리할 수 있다. 협업과 공유에 용이한다.
  • 단점: 보안 취약점이 존재할 수 있으며, 사용자의 실수나 부주의로 인해 데이터 누출의 위험이 있다. 권한 부여의 복잡성과 중앙 집중적인 보안 관리가 어렵습니다.
  • 적용사례: ACL

대표적인 DAC 모델로는 다음과 같은 것들이 있다.

  • Unix/Linux Permission 모델: Unix/Linux 운영체제에서 사용되는 DAC 모델입니다. 파일과 디렉토리에 대한 접근 권한은 소유자, 그룹, 기타 사용자로 구분되며, 읽기(read), 쓰기(write), 실행(execute) 등의 권한이 부여된다.
  • Access Control List (ACL) 모델: 객체에 대한 접근 권한을 명시적으로 정의하는 방식입니다. 각 객체마다 접근 권한을 설정하는 ACL 목록이 유지되며, 사용자 또는 그룹에 대한 권한을 할당할 수 있다.
  • Capability 모델: 사용자가 객체에 대한 권한을 가지고 있는 "능력"을 갖고 있는 방식입니다. 사용자는 객체에 대한 권한을 갖는 "능력"을 소유하며, 해당 능력을 가진 사용자만이 해당 객체에 접근할 수 있다.

DAC 모델은 소유자에게 넓은 권한 부여와 유연성을 제공하여 사용자에게 자유로운 접근 제어를 가능하게 한다. 그러나 사용자의 판단에 따라 권한이 부여되기 때문에 보안 위험을 초래할 수 있다. 따라서 신뢰할 수 있는 사용자와 적절한 권한 관리가 중요한다.


역할기반 접근제어(RBAC, Role-Based Access Control)

RBAC은 사용자의 역할(Role)을 기반으로 접근 권한을 관리하는 방식입니다. RBAC은 사용자의 역할을 정의하고, 각 역할에 필요한 권한을 할당함으로써 접근을 제어한다.

  • 권한 부여: 사용자는 역할(Role)을 할당받고, 해당 역할에 따른 권한이 부여된다.
  • 접근: 사용자는 자신의 역할에 따라 권한을 통해 객체에 접근할 수 있다.
  • 정책: 역할과 권한의 관계를 정의하고 관리한다.
  • 장점: 유연성과 관리 용이성이 높으며, 역할 기반으로 권한을 부여하므로 복잡한 권한 관리를 단순화할 수 있다.
  • 단점: 규모가 커질수록 역할 관리가 복잡해질 수 있으며, 사용자의 역할 변경에 따른 권한 조정이 필요한다. 초기 설정이 복잡할 수 있다.
  • 각각의 접근 제어 모델은 특정한 상황과 요구사항에 맞게 선택되고 적용되어야 한다. 보안 요구사항과 관리의 용이성, 유연성 등을 고려하여 적절한 모델을 선택하시기 바랍니다.
  • 적용사례: HIPAA

대표적인 RBAC 모델로는 다음과 같은 것들이 있습니다:

  • NIST RBAC 모델: 미국 국립표준기술연구소(National Institute of Standards and Technology, NIST)에서 정의한 RBAC 모델로, 사용자, 역할, 권한, 규칙을 포함하는 개체들 간의 관계를 기반으로 접근 제어를 수행한다. 사용자는 하나 이상의 역할을 할당받고, 각 역할에는 허가된 작업에 대한 권한이 할당된다.
  • ABAC (Attribute-Based Access Control) 모델: RBAC의 확장된 형태로, 사용자의 속성(Attribute)을 기반으로 접근 제어를 수행한다. 사용자의 특성과 상황에 따라 접근 권한을 동적으로 조정할 수 있다. 예를 들어, 나이, 위치, 직위 등의 속성을 기반으로 접근 권한을 결정할 수 있다.
  • Hierarchical RBAC 모델: 역할 간의 계층 구조를 가지며, 상위 역할에 할당된 권한은 하위 역할에도 상속된다. 이를 통해 역할의 상속성을 이용하여 접근 권한을 효율적으로 관리할 수 있다.

RBAC은 역할 기반의 접근 제어 모델로, 사용자의 역할에 따라 일관된 권한을 부여하여 접근을 제어한다. 이를 통해 권한 부여의 효율성과 관리의 용이성을 제공한다. 또한 역할 기반의 접근 제어는 업무의 변화나 조직의 구조 변화에 대응하기 쉽고, 보안 관리를 향상시킬 수 있는 장점이 있다.