접근제어목록 (Access Control List)
쉽게 풀면
접근제어목록은 아파트 출입 명부와 비슷합니다. "1층 관리인은 모든 층 출입 가능, 302호 주민은 302호와 공용시설만 출입 가능"처럼 각 사람마다 어디까지 들어갈 수 있는지를 정해 놓은 목록입니다. 컴퓨터 시스템에서는 이 명단을 파일이나 네트워크 장비에 적용하여 누가 무엇을 할 수 있는지를 세밀하게 통제합니다.
라우터나 방화벽에서도 특정 IP 주소의 트래픽을 허용하거나 차단하는 규칙으로 널리 쓰입니다. 접근제어목록은 특정 자원에 대해 어떤 사용자나 시스템이 어떤 권한으로 접근할 수 있는지를 자원마다 목록 형태로 정리해둔 접근 통제 방식입니다.
왜 중요한가
접근제어목록은 불필요한 권한 부여를 막아 정보 유출과 시스템 오남용을 예방하는 기본적인 보안 수단입니다. 정보보안학에서는 대규모 시스템에서 접근제어목록을 효율적으로 관리하고, 세분화된 권한 모델과 결합하여 최소권한 원칙을 실현하는 방법이 연구됩니다. 접근제어목록은 파일시스템과 네트워크 장비 등 다양한 시스템에서 가장 기본적으로 채택되는 접근 통제 방식으로, 누가 무엇에 접근했는지를 자원 중심으로 명확히 추적할 수 있게 해줍니다.
핵심 정리
- 접근제어목록(ACL)은 자원(파일·장치·네트워크 인터페이스)마다 ‘누가 무엇을 할 수 있는가’를 항목(주체, 권한, 허용/거부)의 목록으로 붙여 두는 방식입니다. 자원 쪽에서 보면 열이 하나의 ACL이 됩니다(Lampson, 1971).
- 접근제어 행렬(주체 × 객체 × 권한)을 열 단위로 저장하면 ACL, 행 단위로 저장하면 능력목록(capability list)입니다. ACL은 ‘이 자원에 접근 가능한 주체’를 보기 쉽고, 능력목록은 ‘이 주체가 할 수 있는 일’을 보기 쉽습니다.
- 파일시스템에서는 소유자·그룹·기타 같은 기본 권한 비트를 넘어서 주체별 항목을 붙이는 확장 ACL로 쓰입니다.
- 라우터·방화벽의 ACL은 규칙을 위에서부터 차례로 검사해 처음 일치하는 규칙을 적용하고, 어느 규칙에도 일치하지 않으면 거부하는 것이 일반적인 설계입니다. 그래서 규칙의 순서가 결과를 바꿉니다.
- 관련 설계 원칙은 최소 권한과 기본 거부(fail-safe default)입니다(Saltzer & Schroeder, 1975).
예시로 보기
가상의 예 어느 네트워크 ACL의 규칙이 아래 순서로 쓰여 있다고 합시다(위에서부터 처음 일치하는 규칙 적용).
| 번호 | 규칙 |
|---|---|
| 1 | 10.0.1.0/24 → 웹서버, 포트 443: 허용 |
| 2 | 10.0.0.0/16 → 웹서버, 모든 포트: 거부 |
| 3 | 그 외: 거부(암묵적) |
10.0.1.7이 웹서버 443으로 접속하면 1번에 먼저 일치해 허용됩니다. 10.0.2.9가 같은 접속을 하면 1번에 해당하지 않고 2번에 일치해 거부됩니다. 만약 1번과 2번의 순서를 바꾸면 10.0.1.7도 거부되어 의도와 정반대가 됩니다. 이처럼 ACL은 개별 규칙만이 아니라 배열 전체를 읽어야 합니다. 규칙이 늘면 충돌·가려진 규칙(shadowing)이 생기기 쉬워 주기적 점검이 필요합니다.
자주 하는 오해
| 오해 | 바로잡기 |
|---|---|
| ACL은 네트워크 장비에만 있다. | 운영체제 파일 권한, 클라우드 객체 저장소, 데이터베이스 등 넓게 쓰이는 모델입니다. |
| ACL과 역할기반 접근통제(RBAC)는 같은 것이다. | ACL은 자원에 붙는 허가 목록이고, RBAC은 권한을 ‘역할’에 주고 사용자를 역할에 묶는 방식입니다. 서로 배타적이지 않아 함께 쓰이기도 합니다(Sandhu et al., 1996). |
| 허용 규칙만 있으면 안전하다. | 기본 거부가 보장되지 않거나 규칙 순서가 잘못되면 의도치 않은 허용이 생깁니다. |
| ACL이 있으면 방화벽이 필요 없다. | 단순 패킷 필터링인 ACL과 상태 추적·검사를 하는 방화벽은 기능 범위가 다릅니다. |
논문에서는 이렇게 쓰입니다
실제 논문에서
이 용어를 직접 쓴 국내 논문 문장을 아직 수집하지 못했습니다. 수집되는 대로 출처와 함께 싣겠습니다.
예시 문장
아래는 용어의 쓰임을 보여 주려고 만든 예시로, 실제 논문에서 가져온 문장이 아닙니다.
클라우드 저장소에서 파일마다 다른 접근 권한을 부여하는 방법을 다루었다는 의미입니다.
네트워크 장비에서 접근제어목록을 이용해 허용되지 않은 트래픽을 걸러낸다는 뜻입니다.
조금 더 깊게 보면
접근제어목록은 자원 중심으로 권한을 관리하는 대표적인 방식이며, 사용자 중심으로 권한을 관리하는 능력 기반 접근제어(capability-based)와 비교되기도 합니다. 대규모 조직에서는 사용자마다 규칙을 일일이 지정하기보다 역할기반 접근제어와 결합해 관리 부담을 줄이는 경우가 많습니다.
사용자 수가 많아질수록 자원마다 개별적으로 권한을 관리해야 하는 접근제어목록은 관리 부담이 급격히 커지는데, 이 문제를 완화하기 위해 사용자를 역할 단위로 묶어 권한을 부여하는 역할기반접근통제가 대안으로 활용됩니다.
주의할 점
규칙이 많아질수록 관리가 복잡해지고 충돌이나 누락이 발생하기 쉬우므로, 정기적인 점검과 최소권한 원칙에 따른 정리가 필요합니다.
헷갈리기 쉬운 용어
접근 통제의 대표적인 저장·관리 방식입니다.
| 용어 | 권한을 붙이는 대상 | 잘 보이는 질문 |
|---|---|---|
| 접근제어목록(ACL) | 자원 | 이 자원에 누가 접근할 수 있나 |
| 능력목록(capability) | 주체(사용자·프로세스) | 이 주체가 무엇을 할 수 있나 |
| 역할기반 접근통제 | 역할(사용자는 역할에 소속) | 이 역할은 어떤 권한을 갖나 |
| 방화벽 | 네트워크 경계의 트래픽 | 어떤 흐름을 통과시킬까(ACL은 그 규칙의 한 형태) |
참고 문헌
- Lampson, B. W. (1971). Protection. Proceedings of the 5th Princeton Conference on Information Sciences and Systems.
- Saltzer, J. H., & Schroeder, M. D. (1975). The protection of information in computer systems. Proceedings of the IEEE, 63(9), 1278–1308.
- Sandhu, R. S., Coyne, E. J., Feinstein, H. L., & Youman, C. E. (1996). Role-based access control models. Computer, 29(2), 38–47.
- Ferraiolo, D. F., & Kuhn, D. R. (1992). Role-based access controls. Proceedings of the 15th National Computer Security Conference.
표의 기준값은 위 문헌에 근거한 관례이며, 분야·학술지마다 다른 기준을 쓸 수 있습니다.