토픽 52 / 210·인증 및 접근제어
DAC (Discretionary Access Control, 임의적 접근제어)
DAC (Discretionary Access Control, 임의적 접근제어)
자원의 소유자가 자신의 재량(Discretion)으로 다른 사용자에게 접근 권한을 부여하거나 회수하는 접근제어 방식
목적: 소유자 중심의 유연한 자원 공유 및 접근 관리
특징: 소유자 재량 권한 부여, 유연성 높음, 분산적 관리, 신원(Identity) 기반
구현 방식
- •ACL(Access Control List): 객체에 (사용자, 권한) 목록 부착 (예: 파일에 "user1:rwx, group:r-x" 설정)
- •Capability List: 주체에 (객체, 권한) 목록 부착 (예: 사용자가 보유한 티켓/토큰)
- •ACM(Access Control Matrix): 주체×객체 행렬, 이론적 모델, 실제로는 ACL/CL로 구현
Unix 파일 권한: rwx(소유자)/rwx(그룹)/rwx(기타), chmod/chown으로 관리, 9비트+SUID/SGID/Sticky
장점: 유연성 높음, 구현 간단, 사용자 자율성, 일반 환경에 적합
단점: 트로이목마 취약(프로그램이 소유자 권한으로 타인에게 정보 유출 가능), 중앙 통제 어려움, 대규모 관리 복잡, 정보 흐름 통제 불가
적용사례: Unix/Linux 파일 시스템, Windows NTFS ACL, 일반 운영체제, 데이터베이스 GRANT/REVOKE
비교: DAC(소유자재량/유연/트로이목마취약) vs MAC(중앙강제/엄격/트로이목마방어) vs RBAC(역할매개/관리용이)
연관: MAC, RBAC, ACL, 접근제어, 접근제어 모델