정의 — 인증 다음에 오는 질문
로그인(인증, authentication)은 “너는 누구인가”를 확인하는 절차다. 접근통제(access control)는 그 다음 질문, 즉 “확인된 네가 이 자원에 무엇을 할 수 있는가”를 다룬다. 주체(subject, 사용자·프로세스)가 객체(object, 파일·DB·장치)에 접근하는 것을 정해진 규칙으로 허용하거나 거부하는 일이며, 정보보안 3요소 중 기밀성과 무결성을 지키는 핵심 수단이다.
누가 그 규칙을 정하느냐에 따라 세 모델로 갈린다.
DAC — 소유자가 재량으로 정한다
임의 접근통제(Discretionary Access Control). 객체의 소유자가 누구에게 어떤 권한을 줄지 자기 재량(임의)으로 결정한다.
- 구현: 접근통제 목록(ACL) — 객체마다 “누가 무엇을 할 수 있나”를 붙여둔다.
- 예: 유닉스 파일 권한(
rwxr-xr--), 구글 문서의 “공유” 설정. 파일 주인이 마음대로 읽기·쓰기 권한을 나눠준다. - 장점: 유연하고 구현이 쉽다. 단점: 소유자 실수나 악의로 권한이 퍼질 수 있고, 트로이 목마가 소유자 권한으로 실행되면 통제가 무력화된다.
MAC — 시스템이 등급으로 강제한다
강제 접근통제(Mandatory Access Control). 개인의 재량이 아니라 시스템(관리자)이 정한 보안 등급으로 접근을 강제한다. 주체에게는 인가 등급(clearance), 객체에게는 비밀 등급(classification) 라벨을 붙이고, 등급 비교 규칙에 따라 접근이 자동 결정된다. 군·정부처럼 기밀 등급(일반–대외비–비밀–극비)이 있는 조직이 전형적인 사용처다.
시험에 자주 나오는 두 수학적 모델:
- BLP(Bell-LaPadula) — 기밀성 모델. “비밀이 아래로 새지 않게”: 자기보다 높은 등급을 읽을 수 없고(No Read Up), 자기보다 낮은 등급에 쓸 수 없다(No Write Down).
- Biba — 무결성 모델. BLP와 방향이 반대: 낮은 등급을 읽을 수 없고(No Read Down), 높은 등급에 쓸 수 없다(No Write Up). “오염된 정보가 위로 올라가지 않게”.
RBAC — 역할에 권한을 묶는다
역할 기반 접근통제(Role-Based Access Control). 사용자에게 직접 권한을 주지 않고, 역할(role)에 권한을 묶은 뒤 사용자에게 역할을 부여한다.
- 예: 병원 시스템에서 “의사” 역할에 처방 권한, “간호사” 역할에 투약 기록 권한을 묶어두고, 사람에게는 역할만 준다.
- 장점: 인사이동에 강하다 — 담당자가 바뀌면 권한 수십 개를 옮기는 대신 역할 하나만 재부여하면 된다. 최소 권한 원칙을 조직 단위로 관리하기 좋다. 기업 환경의 사실상 표준.
세 모델 비교
| 구분 | DAC | MAC | RBAC |
|---|---|---|---|
| 권한 결정자 | 객체 소유자 | 시스템(보안 등급) | 관리자(역할 설계) |
| 기준 | 신분(identity) | 등급 라벨 | 역할(role) |
| 유연성 | 높음 | 낮음(엄격) | 중간 |
| 대표 예 | 유닉스 파일 권한 | 군사·정부 기밀 체계 | 기업 인사 시스템 |
시험에 자주 나오는 포인트
- 설명 → 모델 매칭이 가장 빈출이다. “소유자가 임의로” = DAC, “보안 등급으로 강제” = MAC, “역할에 권한 부여” = RBAC. 각 모델의 영문 약자 풀네임도 함께 외운다.
- BLP와 Biba의 방향: BLP는 기밀성(No Read Up / No Write Down), Biba는 무결성(No Read Down / No Write Up). 둘을 뒤집어 내는 함정이 단골이다. “BLP = 비밀 유지, Biba = 오염 방지”로 기억하면 방향이 헷갈리지 않는다.
- ACL은 DAC의 구현 수단이라는 연결, MAC의 라벨 용어(주체 인가 등급 vs 객체 비밀 등급).
- 최소 권한 원칙(least privilege): 업무에 필요한 최소한만 부여 — 접근통제 전반의 기본 원칙으로 지문에 자주 등장한다.
이 글에 대한 의견은 아래 댓글로 남겨주세요 (GitHub 계정 필요). 로그인 없이 남기고 싶다면