컴퓨터 보안 - [Access Control]

윤형·2024년 12월 8일

Security

목록 보기
14/14

Access Control(접근 제어)

허가되지 않은 사용자의 자원 접근을 막는다.
정당한 사용자여도 허가 되지 않은 방식으로 접근하면 막는다.
정당한 사용자가 정당한 방식으로 자원에 접근하도록 한다.

  • subject(주체) : 객체에 접근할 수 있는 존재
  • object(객체) : 접근이 제어되는 자원
  • Access right(접근 권한) : 주체가 객체에 접근하는 방법 기술

Access Control Policy

  • 접근 제어 정책
  • 어떤 상황에서, 누구에게 어떤 종류의 접근이 허용되는지를 결정
  • 권한 DB에 저장되며, 보안 admin이 관리한다.
  • 종류(동시에 사용가능)
    1. DAC(Discretionary access control)
    2. MAC(Mandatory access control)
    3. RBAC(Role-based access control)
    4. ABAC(Attribute-based access control)

DAC

  • 임의 접근 제어
  • 요청자의 신분에 따라 무엇을 할 수 있는지 정의
  • Access Matrix 사용
  • +)인간이 보기 편함
  • -)행렬로 만들어서 메모리 낭비가 있다.

방법 1. ACL(Access Control lists)

  • 링크드 리스트를 이용함
  • 객체를 중심으로 정렬한것임
  • 객체에 대한 권한을 가진 사용자를 파악하기에 용이하다.

방법 2. Capability tickets

  • 주체를 중심으로 정렬함
  • 특정 사용자에 허가된 객체/권한을 정리하기 쉽다.
  • 티켓의 무결성, 기밀성, 인증성 보장

방법 3. authorization table

  • 한 열에 한 주체의 한 권한이 들어감
  • RDB(관계형 데이터베이스)로 구현하기 용이하다.

DAC 장단점 분석

  • 장점: 객체별 세분화된 접근 제어 가능
  • 단점: Access Matrix 사용에 따른 메모리 낭비가 있다.
  • 단점: 주체나 객체별로 제어하기 때문에, 전체 자원의 일관성있는 제어 어렵다.

MAC(Mandatory access control)

  • 군대에서 많이 접했다.
  • 중앙 시스템이 사전에 규칙과 level(보안 등급) 정함
  • 객체와 주체에 보안등급을 부여한다.
  • 높은 수준의 보안시 사용(군대, 의료)
  • 장점: 중앙에서 강력하게 통제 보안성이 높다. 규정과 준법이 용이
  • 단점: 유연성 부족(사용자 불편), 관리 복잡

RBAC(Role-based access control)

  • 각 사용자 대신에 역할에 접근 권한을 할당
  • 상업적으로 회사,기관,조직에서 많이 사용된다.
  • +)전체적으로 일관성있는 제어 정책 가능
  • +)직무분석 용이
  • -)각 주체, 객체별 유연하게 어려움

RBAC0

  • 기본적인 역할 정의
  • 역할에 권한을 직접 할당
  • 사용자는 하나 이상의 역할에 할당 가능

RBAC1

  • 역할간의 계층구조 표현
  • 하위는 상위 접근권한의 부분집합을 받는다.

RBAC2

  • 역할에 권한을 부여하고 제약조건을 할당한다.(제약이 생기면 2임)
  • 할 수 있는 역할의 수에 제약이 있다.
  • 특정 역할이 다른 역할을 상속받을 수 있게 해서 권한을 계층적으로 나눈다.
  • 조건부로 특정 역할을 할 수 있게 한다. (ex: 특정 시간에만 역할 가능)

ABAC(Attribute-based access control)

  • 사용자 속성: 사용자의 역할, 직위, 부서등 다양한 속성을 포함한다.(사용자 나이)
  • 자원 속성: 접근하려는 자원의 특성이나 메타데이터를 포함한다.(연령 제한)
  • 환경적 조건: 접근 요청이 이루어지는 상황이나 맥락을 나타낸다. (프로모션 기간)

ex) 만약 영화 출시일 기준으로 신작을 구분하고(환경적 조건) 사용자는 프리미엄/일반 으로 나뉘고(사용자 속성) 19세 이상만 볼 수 있는 영화가(자원 속성) 프로모션으로 특정 일수만큼만 무료로 풀린다면, => RBAC에서는 각 사용자를 연령과 가격에 따른 권한을 부여해 줘야함(오래 걸림), ABAC에서는 뒤에 규칙만 추가하면 됨(매개변수에 할당하는 개념)

profile
제가 관심있고 공부하고 싶은걸 정리하는 저만의 노트입니다.

0개의 댓글