접근통제 기술 개요
한국정보보호센터 / 시스템기술팀 / 김기현
접근통제의 목적은 컴퓨팅 자원, 통신 자원 및 정보자원 등에 대하여 허가되지 않은 접근을 방어하는 것이다. 허가되지 않은 접근이란 불법적인 자원의 사용, 노출, 수정, 파괴와 불법적인 커맨드의 발행을 포함하고 있다. 즉, 접근통제는 각 자원에 대한 기밀성, 무결성, 가용성 및 합법적인 이용과 같은 정보보호 서비스에 직접적으로 기여하게 되며 이러한 서비스들의 권한 부여를 위한 수단이 된다.
대부분 컴퓨터 시스템의 사용자는 시스템을 사용하기 위하여 식별과 인증이라고 하는 검사과정을 통하여 시작된다.
식별과 인증은 각 시스템 자원을 보호하기 위한 외부의 1차적인 보호 계층이다.
접근통제 결정은 요청자의 신분이 완전히 인증되기 전까지는 수행될 수 없다. 인증의 강도는 접근통제의 개별적인 정책에 의존적인 부분일 수 있다. 즉, 인증의 강도에 따라 자원 접근대상 및 접근모드를 제한하는 정책 시행이 가능하므로 고유의 접근통제 정책을 위배하지 않는 조화된 보안정책 추진전략이 필요하다.
인증이 성공하면 각 시스템 지원에 대한 사용자의 요청을 보안 정책이 적용된 접근통제 절차에 따라서 허용여부를 인가 받는다. 접근통제 시스템의 분석은 기능적으로 3가지 요소적 측면으로 구분하여 관찰할 수 있다.
- 시스템 자원에 접근하는 사용자의 접근 모드 및 모든 접근제한 조건 등을 정의하는 접근통제 정책
- 시도된 접근 요청을 정의된 규칙에 대응시켜 검사함으로써 불법적 접근을 방어하는 접근통제 메커니즘
- 시스템의 보안요구를 나타내는 요구명세로부터 출발하여 정확하고 간결한 기능적 모델을 표현하는 접근통제 관련 보안모델
개방형 정보통신망에서 접근통제는 실제의 어떤 개방 시스템에 있는 물리적 실체, OSI계층의 특정한 실체, 파일과 같은 논리적 실체, 그리고 일반적 사용자와 같은 다양한 형태의 실체
들과 연관된다.
접근통제를 위한 일반적 모델에서 능동적인 실체의 집합을 개시자(initiator) 또는 주체(subject)라고 하며, 수동적 자원의 집합을 타겟(target) 또는 객체(object)라고 부른다. 그러나, 본 연구에서는 주체/객체 용어가 현대의 컴퓨터와 통신 분야에서 널리 사용되고 있는 개념과 혼동될 수 있으므로 개시자/타겟으로 통일하여 사용한다. 그러나, 특정 논문 등의 참고 문헌에서
주체 및 객체로 사용한 내용을 인용할 경우는 주체/객체로 일부 사용한다.
접근통제의 결정은 어떤 개시자가 어떤 타겟에 대하여 어떤 목적을 갖고, 어떤 조건하에서 접근할 수 있는지를 다루는 문제이다. 즉, 이러한 결정은 접근통제정책에 반영이 되고, 접근 요청은 접근 정책을 시행하는 접근통제 메커니즘을 통하여 시행된다.
접근통제정책은 다음과 같이 다양한 형태로 서술될 수 있다.
- 권한부여의 과정에서 어떤 정책은 기관의 부서별로 모든 결정이 제어되거나, 또는 특정 타겟에 대하여 개인별 권한부여가 서술될 수 있다.
- 사용자 및 타겟들이 공통의 처리를 위하여 함께 그룹을 형성하여 서술될 수 있다.
- 어떤 정책이 시스템 요소에 의하여 강제적으로 시행될 수 있는 일반적 규칙들로 서술될 수 있다.
미 국방성에서 기밀 분류된 방법으로부터 유래하는 접근통제 정책은 MAC(Mandatory Access Control)과 DAC(Discretionary Access Control)으로 널리 알려져 있다.
MAC정책은 자동적으로 시행되는 어떤 규칙에 기반하고 있다.
그러한 규칙을 실제로 시행하기 위하여 사용자와 타겟에 대해서 광범위한 그룹 형성이 요구된다.
DAC 정책은 특별한 사용자별로 정보에 대한 접근을 제공하고 추가적 접근통제를 그 사용자에게 일임한다.
OSI 보안 구조에서는 MAC/DAC 용어를 사용하지 않고 신분-기반(identity-based)과 규칙-기반(rule-based) 정책으로 구분하고 있다.
실제적인 목적에 있어서 신분-기반과 규칙-기반 정책은 각각 DAC 및 MAC 정책과 동일하다.
신분-기반 정책은 개인-기반(Individual-Based Policy: IBP)과 그룹-기반(Group-Based Policy: GBP) 정책을 포함한다.
한편, 규칙-기반 정책은 다중-단계(Multi-Level Policy: MLP)와 부서-기반(Compartment-Based Policy: CBP)정책을 포함한다.
이외에 직무-기반(role-based) 정책은 신분-기반과 규칙-기반 정책의 양쪽 특성을 갖고 있다. 또한, 이러한 정책들은 서로 연합될 수 있으며, 임계값 의존 제어(Value-Dependent Control: VDC), 다중 사용자 제어(Multi-User Control: MUC) 및 배경-기반 제어(Context-Based Control: CBC) 등의 추가적 수단을 사용하여 제한 될 수 있다.
===============================================
접근통제 메커니즘은
접근 행렬의 열을 표현하는 ACL(Access Control List),
접근 행렬의 행을 표현하는 CL(Capability List),
제어 대상에 레이블을 붙이는 SL(Security Label)을 기본적으
로 생각할 수 있다.
그리고 이러한 3 가지 정보를 종합적으로 생각하는 통합정보 메커니즘, 각 파일에 접근통제를 위한 비트들을 부가하여 제어하는 Protection Bit(PB), 파일의 접근권한을 검증하기위한 패스워드 등의 기법이 있다.
접근통제 보안모델을 접근행렬을 이용한 HRU 접근행렬 모델, 엄격한 기밀성 통제를 위한 BLP 보안모델, 무결성 정책을 지원하는 Biba 보안모델, 그리고 실행할 수 있는 프로그램에 의하여 통제하는 Clark-Wilson 모델 등이 있다.
분산 정보통신 네트워크의 컴퓨팅 자원, 통신자원 및 정보자원의 접근통제 서비스에 대한 각 정책과 주요 메커니즘의 전체적인 개념적 분류를 요약하면 다음 그림과 같다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
1. 접근통제 정책
시스템의 보안정책은 접근통제 시스템의 설계 및 관리를 다루기 위한 상위 지침들이다. 일반적으로, 대상 시스템 자원들을 보호하기 위해서 조직이 희망하는 기본적인 원칙들의 표현이다.
즉, 정책은 어떤 주체(who)가 언제(when), 어떤 위치에서(where), 어떤 객체(what)에 대하여, 어떠한 행위(how)를 하도록 허용(또는 거부)할 것인지 접근통제의 원칙을 정의한다.
접근할 수 있는 범위를 제한하는 접근통제 원칙은 다음의 2가지 기본정책으로 구분할 수 있다.
- 최소권한정책(Minimum Privilege Policy)
이 정책은 "need-to-know" 정책이라고 부르며, 시스템 주체들은 그들의 활동을 위하여 필요한 최소분량의 정보를 사용해야 한다. 이것은 객체접근에 대하여 강력한 통제를 부여하는 효과가 있으며, 때때로 정당한 주체에게 소용없는 초과적 제한을 부과하는 단점이 있을 수 있다.
- 최대권한정책(Maximum Privilege Policy)
이 정책은 데이터 공유의 장점을 증대시키기 위하여 적용하는 최대 가용성 원리에 기반 한다. 즉, 사용자와 데이터 교환의 신뢰성 때문에 특별한 보호가 필요하지 않은 환경에 효과적으로 적용할 수 있다.
가. 신분-기반 정책
TCSEC(Trusted Computer System Evaluation Criteria)에서는 신분-기반 접근통제정책과 동일한 개념을 DAC으로 정의하고 있다. 즉, 주체나 또는 그들이 속해 있는 그룹들의 신분에 근거하여 객체에 대한 접근을 제한하는 방법을 DAC이라고 정의한다.
접근통제는 임의적이므로 어떠한 접근 허가를 넘겨줄 수 있다(MAC에 의하여 제한되지 않을 때). 또한, DAC은 자주 "need-to-know"을 시행하고, 접근통제가 권한을 가지고 있는 개인에 의하여 변경될 수 있다는 의미에서 자유재량권을 갖고 있다.
DAC정책은 각 주체에 대하여 시스템 객체들에 부여된 권한을 명시하는 권한부여 규칙을 요구한다. 접근 요청은 DAC 메커니즘에 의하여 검사되고 권한부여 규칙이 존재하고 해당접근이 검증되는 주체에게만 허가된다. 다음 그림은 DAC정책의 개념적 구조를 나타내고 있다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
< DAC 접근통제 >
DAC정책은 접근을 요청하는 사용자의 식별에 기초하며, 어떤 객체에 대하여 사용자가 접근권한을 추가 및 철회할 수 있다는 의미에서 임의적이다. 이것은 소유권을 통한 행정관리적 제어가 분산됨을 의미한다. 그러나, DAC은 중앙집중관리를 위해서도 적합하며, 이 경우에 권한부여는 시스템 관리자에 의하여 관리될 것이다. DAC 정책은 권한부여자 또는 다른 책임 있는 사람으로부터 권한 전파에 따르는 통제의 상실을 피하기 위하여 보다 복잡한 권한부여 메커니즘을 필요로 한다. 전파된 권한의 철회는 더 큰 문제이며, 각 철회된 권한에 대하여 시스템이 식별할 수 있어야 한다.
DAC이 갖는 일반적인 속성을 살펴보면 다음의 3가지로 요약할 수 있다.
- DAC 정책은 허가된 주체(즉, 객체의 소유자)에 의하여 변경 가능한 하나의 주체와 객체간의 관계를 정의한다.
- 한 주체가 어느 한 객체를 읽고 그 내용을 다른 어느 한 객체로 복사하는 경우에 처음의 객체에 내포된 접근통제정보가 복사된 객체로 전파(propagate)되지 않는다.
- DAC정책은 모든 주체 및 객체들간에 일정하지 않고 하나의 주체/객체 단위로 접근 제한을 설정할 수 있다. 즉, 비록 DAC이 어느 한 주체로 하여금 특정 비밀등급의 한 객체를 접근하지 못하게 할지라도, 그 주체는 다른 주체가 그러한 비밀등급을 갖는 다른 객체들을 접근하는 것을 방지할 수 없다.
DAC 정책에서 내재적으로 상속되어지는 결점은
첫째, DAC 속성상 통제는 주체의 신분에 전적으로 근거를 두고 있으며, 메커니즘은 데이터의 의미(semantics)에 대한 아무런 지식도 갖고 있지 않으며, 이에 근거하여 결정할 것도 없
다.
둘째, 이와 같이 주체의 신분이 매우 중요하므로 만약, 다른 사람의 신분을 사용하여 행위가 이루어진다면 DAC은 파괴될 수 있다.
셋째, 트로이 목마에 대하여 취약하다.
신분-기반 정책은 다음과 같이 각 개인 및 그룹들로 나누어 표현될 수 있다.
(1) IBP(Individual-Based Policy)
IBP는 신분-기반 정책 형태의 하나로써 어떤 사용자가 어떤 행동을 할 수 있는지 각 타겟별로 목록을 표현한다. 이것은 하나의 타겟에 대하여 접근 행렬의 열을 나타내는 것과 같다. IBP 정의문은 항상 디폴트 정책을 기본으로 서술된다. 즉,
- 타겟 x에 대하여 사용자 a에게 읽기 권한을 허가한다.
이라는 정의에서 a를 제외한 모든 사용자와 읽기를 제외한 모든 권한들은 허가되지 않음을 디폴트로 하고 있다. 이것을 "최소 권한의 원칙(principle of least privilege)" 이라고 하며, 우연한 사고나 오류들로부터 손상을 제한하는 효과가 있다.
(2) GBP(Group-Based Policy)
신분-기반 정책의 다른 경우로써 GBP는 다수의 사용자가 하나의 타겟에 대하여 동일한 허가를 부여받는 방식이다. 이것은 하나의 팀 또는 부서에 속한 모든 인원에게 동일한 허가를 부여할 때 편리하다.
예를 들면, 사용자 c1과 c2를 하나의 그룹으로 형성하고 공통의 식별자를 부여할 수 있다.
- 사용자 그룹 c는 사용자 c1과 c2를 포함한다.
- 타겟 x에 대하여 사용자 a에게 read, write 권한을 부여하고, 사용자 그룹 c에게는 read 권한을 부여한다.
이러한 정책의 첫번째 문장은 다른 타겟 z 에 대하여 재사용 될 수 있다. 그리고, 두 번째 접근 허가 문장을 바꾸지 않고 그룹의 멤버를 변경할 수 있는 장점이 있다. 즉, IBP에서처럼 개별적으로 허가를 표현하는 대신에 그룹으로 묶어서 표현함으로 보다 쉽고, 효율적인 정책표현이 가능하다.
나. 규칙-기반 정책
TCSEC에서 규칙-기반 접근통제정책과 동일한 개념을 MAC으로 정의하고 있다. 즉, 객체에 포함된 정보의 비밀성(레이블로 표현된 허용등급)과 이러한 비밀성의 접근 정보에 대하여
주체가 갖는 권한(즉, 접근허가(clearance))에 근거하여 객체에 대한 접근을 제한하는 방법을 MAC이라고 한다.
접근통제를 위한 MAC정책은 분류된 시스템 데이터와 각 등급의 사용자간에 강력한 보호를 위하여 요구되는 많은 정보들을 적용한다.
MAC은 또한 하위 비밀등급의 객체로 정보의 흐름을 방어하기 때문에 흐름-제어 (flow-control) 정책으로 정의될 수 있다. 데이터에 대한 접근은 주체와 객체가 갖는 보안등급의 정의를 통한 강제적인 정책에 의하여 결정된다.
객체 보안 등급의 2가지 주요특성을 포함하고 있는 정보를 반영한 허용등급(classification level)과 객체 정보가 언급하는 응용분야의 범주(category)로 구성된다.
허용등급의 예는 다음과 같다.
- 0 = Unclassified
1 = Confidential
2 = Secret
3 = Top secret
범주는 조직의 시스템 영역 또는 부서를 반영하는 경향이 있다. 즉, 군사적 환경에서 다음과 같은 영역이 있을 수 있다.
- Nuclear - Nato - Intelligence
- Production - Personnel - Engineering - Administration
m개 시스템 영역에 대하여 연합적 관계에 의하여 가능한 범주는 2m개 이다.
부분집합의 관계는 보안등급(Security Class : SC)으로 정의된다.
- SC = (A,C) ; A: 허용등급, C: 범주
이 관계는 주어진 2개의 보안등급 SC = (A,C)와 SC' = (A',C')
을 다음과 같이 나타낼 수 있다.
- SC ≤ SC'
이것은 A≤A' 이고 C≤C'일 때를 의미한다.
예를 들면,
- (2, Nuclear) ≤ (3,(Nuclear,Nato))
- (2,(Nuclear,Nato)) ≤ (3,Nato)
는 검증되지 않는다.
각 주체와 객체는 객체의 허용등급을 나타내는 기밀수준과 범주의 집합으로 구성된 보안등급을 할당한다. 이 2개의 요소는 시스템에서 주체 및 객체 자신의 역할과 대응되는 것이다. 주체의 등급은 그 주체에 할당될 수 있는 신뢰의 정도를 나타내고 객체의 등급은 정보의 부당한 사용에 의한 손상정도를 고려한 객체에 포함된 정보의 기밀성을 반영한 것이다.
공리의 집합은 보안 평가지침에 따라 객체를 접근하려는 주체를 허용하기 위하여 주체와 객체 사이에 검증될 관계를 결정한다. 이러한 관계는 접근 모드에 의존한다. 접근권한 전송과 관련하여 할당된 권한은 변경될 수 없고 권한을 갖는 관리자에 의해서만 수정이 허용된다. 이것은 접근통제 시스템상의 모든 권한 통제가 권한을 갖는 보안관리자에 의해서만 유지됨을 의미한다. 아래 그림은 MAC 정책을 통한 접근통제의 개념적 구조를 나타낸다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
< MAC 접근통제 >
주체/객체 MAC 관계에서 존재하여야 할 접근 조건은 다음과 같다:
- 한 주체는 하나의 객체를 오직 다음의 경우에 판독(read)할 수 있다.
- 주체의 비밀 등급에서의 계층적 분류(hierarchical classification)들이 객체의
비밀등급에서의 계층적 분류보다 크거나 같고,
- 주체의 비밀등급에서의 비계층적 범주(non-hierarchical categories)들이 객체의
비밀등급에서의 모든 비계층적 범주들을 포함하는 경우,
- 한 주체는 하나의 객체를 오직 다음의 경우에 쓸(write) 수 있다.
- 주체의 비밀 등급에서의 계층적 분류가 객체의 비밀 등급에서의 계층적 분류보다
작거나 같고,
- 주체의 비밀 등급에서의 비계층적 범주들이 객체의 비밀 등급에서의 비계층적
범주들에게로 포함되는 경우이다.
MAC 정책은 DAC 정책에 비하여 일반적으로 다음과 같은 특성을 갖는다.
첫째, MAC정책은 객체의 소유자가 변경할 수 없는 주체들과 객체들간의 접근통제관계를 정의한다.
둘째, 한 주체가 한 객체를 읽고 그 내용을 다른 객체에게 복사하는 경우에 원래의 객체에 내포된 MAC 제약사항이 복사된 객체에 전파(propagate)된다.
세째, MAC 정책은 모든 주체 및 객체에 대하여 일정하며, 어느 하나의 주체/객체 단위로 접근 제한을 설정 할 수 없다.
즉, MAC이 어느 한 객체를 접근하지 못하면, 이때에 그 주체는 그러한 특정의 비밀 등급을 갖는 모든 객체들을 접근하는 것이 금지될 것이다.
규칙-기반 정책은 다음과 같이 사용자 및 타겟별로 부여된 기밀 분류에 따른 정책과 조직내의 각 부서별로 구분된 기밀 허가에 따르는 정책으로 표현될 수 있다.
(1) MLP(Multi-Level Policy)
MLP는 정부의 기밀 분류된 환경에서 사용될 수 있다.
이 정책은 자동화된 강제적 시행정책을 따르는 방식으로서 일반적으로 허가되지 않은 노출로부터 정보를 보호하기 위하여 사용된다.
MLP는 아래 그림에서 보는 바와 같이 각 타겟별로 지정된 허용등급(classification)을 할당하여 운영한다. 각 사용자는 접근허가(clearance)를 부여받고 타겟에 대한 접근을 제한 받는다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
<허용등급의 예>
이러한 형태의 정책과 연관된 규칙의 정의는 미 국방성의 컴퓨터 보안 평가 지표에서 사용되고 있으며 BLP(Bell andLaPadula) 수학적 모델로 표현이 가능하다.
이 모델은 dominance relation이라고 알려진 사용자와 타겟 사이의 정규 보안 수준사이의 관계를 정의한다. 그리고, 명시 규칙은 read-only와 write-only 접근을 허가
하기 위하여 정의된다.
read-only접근에 대한 규칙은 SSC(Simple Security condition)으로 알려져 있으며 비교적 분명하다. 이것은 어떤 수준의 접근허가를 갖는 사용자가 같거나 또는 하위수준의 허용등급을 갖는 정보만을 읽을 수 있도록 한다.
write-only접근에 대한 규칙은 *-Property로 알려져 있으며, 어떤 수준의 접근수준을 갖고있는 사용자가 같거나 또는 상위수준의 허용등급을 갖는 타겟에 정보를 기록할 수 있도록 한다. 이 규칙은 권한없이 정보를 기밀 분류 지정에서 삭제하는 것을 방지하고, 트로이 목마공격을 방어하기 위한 것이다. 또한, 정보가 여러개의 타겟으로부터
연결될 경우에, 결과적으로 최고 상위의 기밀 수준이 적용되도록 반영한다.
(2) CBP(Compartment-Based Policy)
CBP에서는 일련의 타겟 집합이 다른 타겟들과 분리된 이름의 부서(compartment) 또는 범주(category)를 갖고 연결된다.
사용자는 그 부서에 있는 타겟을 접근할 수 있도록 부서에 대하여 명백히 구분된 접근허가를 보유해야 할 필요가 있다.
예를 들면, 회사에서 구분된 부서는 계약부 및 인사부 등이 있을 수 있다. 이러한 경우 계약부에 대한 접근허가가 인사부 내에서 동일한 수준의 접근허가를 의미하는 것은 아니다. 더우기 한 부서에서의 접근들은 특정의 규칙에 적용을 받아야 한다.
예를 들면, 하나의 특정한 부서 내에서 접근수준을 갖는 두 명의 사용자는 정보를 검색할 수 있도록 하기 위하여 연결된 요청을 나타낼 필요가 있을 수 있다.
다. 직무-기반 정책
직무-기반 정책은 현대의 상업용 환경에서 특히 가치가 있는 다른 형태의 정책이다. 이것은 GBP의 한가지 변형으로 생각할 수 있으며, 접근통제정책을 정형화하는 구문 의미적 측면에서 직무(role)가 그룹에 대응된다. 즉, 정보에 대한 사용자의 접근은 개별적인 신분이 아니라 조직내에서 개인의 직무(또는 직책)에 따라서 결정된다. 예를 들면, 은행의 경우에 사용자의 역할을 직무별로 출납계, 지점장, 고객, 시스템 관리자 및 감사 등으로 분류하고, 이들에 대한 접근통제정책을 다음과 같이 각각 정의할 수 있다.
- 출납계는 예금을 처리하기 위하여 고객의 계정 기록을 수정하고, 출금은 지정된 금액 범위까지만 허용하며, 모든 계정기록에 대한 조회를 할 수 있도록 권한을 부여한다.
- 지점장은 예금 및 출금 거래를 하는 고객의 계정기록을 금액의 한도없이 허용하고, 모든 계정기록의 조회와 계정의 개설 및 폐지를 할 수 있도록 권한을 부여한다.
- 고객은 자신의 계정에 관해서만 계정 조회를 할 수 있도록 권한을 부여한다.
- 시스템 관리자는 시스템의 운영과 시스템 기록에 대한 조회만을 할 수 있으며, 고객의 계정 정보는 읽거나 수정할 수 없도록 한다.
- 감사는 시스템에 있는 어느 데이터든지 읽을 수는 있지만 아무것도 수정할 수 없는 권한을 부여한다.
이러한 형태의 정책 서술문은 비기술적인 조직의 정책 입안자들이 쉽게 이해 할 수 있다는 의미에서 중요한 가치가 있다. 또한, 접근통제를 구현하기가 용이한 접근 행렬, 또는 GBP에 쉽게 대응시킬 수 있는 장점이 있다. 그리고, 이 정책은 보안 영역을 횡단하여 자동으로 시행될 수 있는 MAC의 한가지 형태로 생각하는 것이 가능하다. GBP와 직무-기반 정책에서 하나의 개별적 사용자는 한개 이상의 그룹 또는 직무에 종속될 수 있다. 그러나, 은행의 예에서 지점장과 감사의 역할 양쪽 모두를 갖지 못하도록 금지하는 제한을 적용할 수 있다.
DAC은 오늘날의 컴퓨터 시스템에서 구현된 접근통제 메커니즘의 가장 일반적인 형태이다. 이러한 종류의 보안은 개별적인
사용자, 또는 그 사용자의 프로그램이 다른 사용자들의 접근을 허용할 수 있도록 자신의 제어하에 정보를 갖고 있어야 한다.
DAC정책은 사용자의 접근통제결정을 구현하는 방법 측면에서 MAC정책과 다르다. MAC 정책은 사용자의 신뢰 수준을 나타
내는 접근허가와 정보의 허용등급 사이의 비교에 의하여 결정된다.
DAC이 사용자의 결정을 나타내는데 반하여 MAC은 보안 관리자에 의하여 컴퓨터 시스템에 대하여 표현된 상위 접근통제정책을 구현하는 것이다. MAC에서 보안 관리자는 일반적으로 시
스템과 디폴트 인수들을 지정하는 권한을 갖는다.
MAC에서 사용자의 신뢰 수준은 컴퓨터 조직 외부의 기관에 의하여 설정되고 공식적 채널을 통하여 보안 관리자에게 전달된다. 마찬가지로 정보의 기밀수준은 분류기관에 의하여 결정되어 보안 관리자에게 전달된다. 이러한 MAC과는 다르게 DAC에서는 명목상으로 하나의 개인에게 결정과 적용의 권한이 주어져 있다. 즉, MAC은 책임이 분리되어 있으나 DAC은 그렇지 않다. DAC정책은 주체와 객체 사이의 관계 정의를 승인된 주체가 결정하고 자신의 결정을 컴퓨터상에 구현한다.
DAC은 MAC에 대한 대체물이 아니다. 즉, 정보가 보호되어야 하는 어떤 환경에서 DAC은 MAC정책에 의하여 전체적 보안정책이 수행되는 가운데 일부 단편에 대한 보안정책을 지원하도록 할 수 있다.
라. 접근통제 조건
접근통제정책에 적용할 수 있는 몇가지 조건들로써 어떤 임계값, 사용자간의 동의, 그리고, 사용자의 특정 위치 및 사용되는 시간 등을 지정 할 수 있다. 해당되는 정책은 이러한 별도의 예상되는 데이터 환경을 조건으로 제어를 시행 할 수도 있을 것이다.
(1) VDC(Value-Dependent Control)
타겟에 저장된 데이터의 값에 상관없이 대부분의 정책들이 고정된 접근통제허가를 갖는 것을 가정하고 있다. 그러나, 타겟의 기밀성이 현재 저장된 값에 따라서 다양할 수 있다. 예를 들면, 어떤 임계값을 초과하는 계약에 관한 정보는 일반적 계약보다 높은 기밀 수준을 갖고 보호할 필요가 있다.
(2)MUC(Multi-User Control)
지정된 타겟에 대하여 다수의 사용자가 연합하여 요청할 경우의 접근통제정책을 지원하는 수단이 있어야 한다. 즉, 명시된 두 개인이 동의할 것을 요구하는 경우, 두 개의 역할에 대응한 개인들이 동의 할 경우, 그리고 하나의 그룹에서 특별히 명시된 몇 명의 멤버들(다수결)에 의하여 접근통제를 수행할 필요가 있을 수 있다.
(3) CBC(Context-Based Control)
이 제어방법은 다음과 같은 외부적인 요소에 의존하여 타겟의 접근을 제어하는 정책에 이용될 수 있다.
- 하루의 특정시간
- 사용자의 현재 위치
- 개시자와 타겟사이의 통신 경로
- 개시자의 신분을 확인하는데 사용된 인증 수준
이러한 제어들은 신분-기반 또는 규칙-기반 정책들에 첨가될 수 있다. 이 제어들의 목적은 접근통제메커니즘, 인증 메커니즘, 또는 물리적 보안 대책에 대하여 가능한 어떤 취약점을 보완하는 것이다.
예를 들면, 특정 타겟에 대한 접근 및 지정된 근무 시간, 또는 지정된 터미널 이외의 위치에서 접근할 수 없도록 제한하는 것이다. c) 형태의 제어는 네트워크의 특정한 부분에 대한 침투를 방어하기 위하여 지정할 수 있으며, d)는 개시자의 신분을 특별히 인증하고자 할 때 이용될 수 있다. 예를 들면, 어떤 타겟을 접근 할 경우 패스워드에 의한 인증이 적절하다고 생각할 수 있지만, 보다 기밀의 타겟에 대한 접근은 암호학적인 강한 인증 메커니즘을 사용하여 제어할 필요가 있다.
2. 접근통제 메커니즘
접근통제 시스템은 보안규칙과 정책의 구현 기능을 갖는 보안 메커니즘에 의존한다. 보안 메커니즘은 부당한 접근의 예방(접근통제 메커니즘)과 부당한 접근의 탐지(감사와 침입탐지 메커니즘)에 관련이 있다.
우수한 예방과 탐지는 강력한 인증 메커니즘을 요구한다. 사용자 신분의 인증은 어떤 동작에 대한 사용자 권한을 통제하기 위하여 정당한 사용자를 검증하는 기초가 된다. 접근 통제 메
커니즘은 예방이 선호될 때 보다 기본적인 수단이며, 선택적으로 탐지가 부당한 접근의 탐색을 위하여 보완적으로 강구된다.
보안 메커니즘은 하드웨어 또는 소프트웨어로 행정관리 절차에 따라 구현될 수 있으며, 정책과 메커니즘은 다음과 같은 측면에서 분리하여 생각할 수 있다.
- 구현 메커니즘의 접근 규칙을 독립적으로 분석할 필요가 있다. 이러한 원칙은 설계자가 보안 요구사항의 정확성 검증에 집중할 수 있도록 한다. 그러나, 이것은 정책의 보안 요구사항이 구현 메커니즘에서 누락되지 않도록 보안정책의 일관성 있는 준수를 보장할 수 있는 체계이어야 한다.
- 동일한 보안정책에 대하여 다른 접근통제 정책 또는 다른 구현메커니즘들을 비교분석 할 필요가 있다. 하나의 보안정책은 다양한 형태의 구현메커니즘으로 수행될 수 있을 것이다.
- 다른 정책을 수용할 수 있는 메커니즘을 설계할 수 있어야 한다. 이것은 응용환경에 따라 보안 정책이 변경될 때 구현 메커니즘에 밀접한 영향을 미치기 때문이다. 구현 메커니즘은 변경된 정책을 반영 할 수 있어야 할 것이다.
설계된 정책의 각 요구사항을 준수하는 메커니즘의 성취는 대단히 어려운 문제이다 사실상 보안정책의 부정확한 구현메커니즘은 다음과 같은 유형의 시스템 오류를 발생하는 부당한 규칙을 수행할 수 있다.
- 합법적인 접근의 부인
- 불법적인 접근의 허가
가. ACL(Access Control List)
ACL은 어떤 사용자들이 타겟에서 어떤 행위를 할 수 있는지 나타낸다. ACL의 유지와 접근통제의 시행은 본질적으로 타겟의 시스템 책임이다. ACL은 관련된 객체에 대하여 접근 행렬에서 열의 내용을 반영한다. 그러므로, IBP, GBP 및 직무-기반 정책을 포함한 신분-기반 접근통제정책은 ACL을 사용하여 직접적인 방법으로 실현될 수 있다. 또한, 기본적 ACL 개념은 특정의 선택된 사용자 엔트리에 대해서 접근통제조건을 추가하여 수행하는 것과 같은 여러 가지 방법으로 확장 이용될 수 있다. 아래 표는 ACL의 예를 나타내고 있다.
※ 1 : read, 2 : write, 3 : execute
ACL 메커니즘은 구분될 필요가 있는 사용자(개인, 그룹, 또는 직무)가 비교적 소수 일 때와 그러한 사용자의 분포가 안정적일 때 가장 적합하다. ACL의 관리는 대상이 되는 사용자가 너무 많고 자주 변경될 때 어려운 문제가 될 수 있다. 다른 메커니즘과는 달리 ACL은 타겟 단편들이 넓은 영역인 경우에 적합하다. 또한, 타겟의 소유자 또는 관리자가 앞서서 부여된 허가를 사용하기 쉽게 하는 장점이 있다. ACL 메커니즘은 FTAM(File Transfer, Access, and Management)과 디렉토리 응용분야에서 일반적으로 사용된다.
ACL의 기본적 특징을 요약하면 다음과 같다.
- 이 메커니즘의 접근통제는 타겟-기반 ACI(Access Control Infor- mation)로써 개시자 및 동작의 수식어 목록, 그리고 개시자-기반 ACI로서 개인, 그룹, 또는 직무 식별자 등의 정보를 이용하여 관리된다.
- 개시자 또는 개시자의 그룹이 소수일 때 편리하다.
- 타겟 또는 타겟의 그룹에 접근을 할 때 편리하다.
- 접근통제관리가 개시자를 기본으로 하는 것 보다 타겟 단위로 수행될 때 편리하다.
- 어떤 개시자가 다른 개시자에 접근 권한을 부여하거나 제거시키는 성질을 유지하기 쉽다.
- 접근 권한의 취소가 쉽다.
- 하나의 타겟에 모든 사용자가 대응되므로 목록이 길어지면 유지 및 탐색 오버헤드가 크다.
- 특정 개시자에 대한 타겟들의 지역성이 없으므로 다수의 타겟을 찾는데 시간이 많이 걸리고, 비효율적이다.
- 개인 또는 그룹의 개시자 모집단이 자주 변경 될 때는 불편하지만 타겟의 모집단이 유동적인 경우는 편리한 점이 있다.
나. CL(Capability List)
CL은 일찍이 컴퓨터 접근통제 개념으로 소개되었다. capability는 명시된 타겟을 규정된 방법으로 접근하도록 권한을 부여받은 개시자가 소유할 수 있는 하나의 티켓으로 볼 수있다. capability는 한 사용자에서 다른 사용자로 전달될 수 있고, 변경될 수 없으며, 또한 권한없이 복제될 수 없는 특성을 갖고 있다.
CL은 사용자에 대하여 저장된 접근 허가 목록에 근거하여 개시자의 환경에서 생성된다. 접근 행렬의 항목에서 CL의 생성은 관련된 사용자에 대하여 접근 행렬의 행에 있는 지식을 사용한다. 아래 표는 CL의 예를 나타내고 있다.
※ 1 : read, 2 : write, 3 : execute
CL은 밀결합 시스템에서 보다 네트워크 환경에서 적용성이 적다. 네트워크는 보통 다중 보안 영역을 포함하고 있으며, 타겟을 포함하고 있는 보안 영역은 그 타겟에 관련된 접근통제결정에 발언권을 요구한다. 그러나, CL 메커니즘은 비교적 타겟이 적을 경우에 적합하며 개시자와 가까운 곳에서 접근통제결정이 일어날 때 편리하다. CL 메커니즘의 구현은 시스템 사이에 CL을 전달하는 안전한 수단에 의존적이다. CL의 단점은 타겟의 소유자 또는 관리자가 먼저 승인된 허가를 취소하기가 쉽지 않다는 점이다.
CL의 기본적인 특징은 다음과 같다.
- 접근통제는 어떤 타겟에 대하여 허용된 동작들의 집합을 정의하는 개시자-기반 ACI(capability)를 갖고 관리된다.
- 타겟의 수효가 적을 때 편리하다.
- 접근 관리가 개시자 측면에서 수행될 때 편리하다.
- 소수의 타겟을 접근하는 사용자 또는 그룹이 다수일 때, 그리고 그 타겟과 사용자들이 다른 영역에 있을 때 편리하다.
- 하나의 개시자가 접근할 수 있는 다수의 타겟을 쉽게 찾을 수 있다.
- 보안이 부분적으로 깨질 때 그 영향을 최소화 시킬 수 있다.
- 주어진 객체를 접근할 수 있는 사용자들을 파악하는데 시간이 많이 걸리고 비효율적이다.
- 개시자에게 일단 승인된 capability를 개별적으로 식별해야 하므로 하나의 타겟에 대한 접근을 취소하는 것이 불편하다. 그러나, 개시자의 보안 영역 권한을 이용하여 개시자의 접근 권한을 취소하는 것은 편리하다.
다. SL(Security Label)
일반적으로 사용되는 용어로서 보안 레이블은 통신되거나 또는 저장되어 있는 데이터 항목, 물리적인 자원 및 사용자와 같은 객체에 부여된 보안 속성 정보의 집합이다. 접근통제의 배경에서 보안 레이블은 사용자, 타겟, 접근 요청 또는 전송중인 접근통제정보에 부여된다.
접근통제 메커니즘으로서 보안 레이블의 가장 일반적 사용은 다중-수준 접근통제정책을 지원하는 것이다. 개시자의 환경에서 개시자의 비밀수준을 식별하는 레이블이 모든 접근요청에 부여된다. 이 레이블은 신뢰된 프로세스에 의하여 생성 및 부여되어야 한다. 모든 타겟은 또한 자신에게 부여된 비밀 수준을 나타내는 레이블을 갖고 있다. 접근 요청을 처리할 때 타겟 환경은 타겟에 있는 레이블과 요청에서 받은 레이블을 비교하고 접근을 승인할 것인지, 또는 부인할 것인지 결정하기 위하여 정책규칙을 적용한다.
레이블은 전형적으로 제시된 것보다는 복잡하며 접근통제결정을 만들기 위하여 추가적인 속성들을 포함하고 있다. 예를 들면, 이러한 속성들은 처리 및 분배경고, 부서 식별자, 시간제한, 또는 개시자 식별 정보를 포함할 수 있다. 레이블은 또한 보안
정책/권한 식별과 확인 및 감사를 위하여 사용할 참조 식별자를 포함한다.
보안 정책/기관 식별은 특히 중요한데, 이것은 모든 다른 항목들의 의미가 보안정책에 의존적이기 때문이다. 하나의 보안 영역에서 생성된 레이블은 다른 영역에서는 중요하지 않을 수도 있다. 예를 들면, 동일한 형식의 레이블이 두 개의 다른 기관에 의하여 다중 수준 정책을 갖고 생성된다고 하자. 첫번째 기관에서 기밀(confidential)로 분류된 정보가 다른 기관에서 기밀 레이블을 갖는 사람에게 반드시 개방될 필요가 있는 것은 아니다. 그러나, 만일 두 기관이 적절한 보안정책 관계(하나의 공통 집단 회원일 경우)를 갖는다면 몇 가지 접근허가/허용등급은 양쪽 영역에서 의미가 있게 할 수 있다. 레이블-기반 접근통제 메커니즘은 MHS (Message Handling System)에서 사용될 수 있다.
보안 레이블의 기본적 특징을 요약하면 다음과 같다.
- 이 기법의 접근통제는 시스템 사이에서 전달되는 개시자와 타겟, 그리고 데이터에 할당 될 수 있는 보안 레이블을 사용한다.
- 다수의 타겟을 다수의 개시자들이 접근하고 있을 때, 또는 접근통제의 일부분만이 요구될 때 가장 편리하다.
- 주어진 어떤 정책 제한이 하나의 보안 영역 안에서 데이터의 흐름을 제어하기 위하여 사용될 수 있다. 또한, 보안 레이블이 영역 사이의 접근통제를 제공하는데 편리하다.
- 허용된 동작이 개시자-기반 또는 타겟-기반 ACI에 명확히 포함되지 않을 때 보안 정책의 부분으로서 정의하기 편리하다.
라. 통합 정보 메커니즘
ACL, CL 및 SL 세가지 형태의 메커니즘은 역사적으로 접근통제 정책을 구현하는 별도의 방법으로 고려되어 왔다. 그러나, 현대의 네트워크 접근통제 메커니즘들은 세가지 형태중의 한
가지로 실현되지 않고 적어도 두 가지의 복합된 특성으로 실현되는 추세이다.
ECMA(European Computer Manufacturers Association)에 의하여 제청되고 나중에 ISO/IEC 10181-3에서 인정된 새로운 관점이 있다. 즉, 3가지 형태의 메커니즘과 그들의 변형을 분리하여 인식할 수 없는 하나의 연속체로 생각하는 통합적 정보에 의한 접근통제 메커니즘 관점이다.
접근통제결정은 IBI(Initiator-Bound Information)과 TBI(Target-Bound Information)과 같은 다양한 형태의 접근통제정보에 기반하고 있다. IBI는 직접 개시자에 연관되어 있고, 그것의 출처는 개시자의 영역이다. TBI는 타겟에 직접 연관되어 있고, 그것의 출처는 타겟의 영역이다.
아래 그림은 ACL, 보안 레이블 및 capability메커니즘에서 사용되는 ACI가 어떻게 IBI와 TBI에 대응하는지 나타내고 있다.
ACL에 대하여 단지 요구되는 IBI는 개시자의 신분에 대한 지식이고, 반면에 개시자의 신분과 동작 허가를 기술하고 있는 TBI가 있다. 역으로, capability에 대해서는 타겟 신분과 허가에 관한IBI가 capability를 생성하는데 사용되고, 반면에 요구되는 TBI는 타겟의 신분에 관한 지식뿐이다. 보안 레이블 메커니즘은 IBI 와 TBI로서 각각 접근허가와 허용등급으로 불리는 레이블-기반 구조를 이용한다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
ACL에서 개시자의 이름이 TBI로서 사용하기 위하여 타겟에 유지된다면, 개시자의 모집단이 동적인 시스템에 대해서 TBI의 관리는 대단히 어렵다. 거꾸로, CL에서 타겟 이름이 IBI로서 유지된다면, 타겟의 모집단이 동적인 시스템에 대해서 IBI의 관리는 마찬가지로 어려운 문제이다.
관리적 측면은 분명히 정책 표현에 반영되어야 하며, 어떤 하나의 메커니즘에 근거한 일괄적인 정의는 부적절하다, 따라서, 실제적인 시스템은 각각의 환경에 가장 적합한 여러 가지의 접근통제 메커니즘들을 통합적으로 고려해야 할 것이다.
2.5 Protection Bits
ACL방식의 한가지 수정된 형태로써 각 객체에 대하여 접근허가를 나타내는 비트들을 사용한다. ACL에서처럼 모든 사용자와 허용된 모드들의 완전한 리스트를 제공하지 않고 명시된 사용자의 종류에 따라서 허가를 나타내는 보호 비트들이 각 파일에 부가된다.
아래 그림은 Owner/Group/World 구조를 Read/Write/Execute/Delete /List 접근모드에 대하여 시스템 상에 구현하기 위하여 보호 비트들이 어떻게 사용되는지 나타내고 있다.
※ 원본 사이트가 없어졌습니다. 그림이 없습니다.
각 객체에 부가되어 있는 긴 리스트 대신에 보호 비트들은 단지 15비트 메모리를 사용한다. 15개의 비트들은 5개씩 3세트로 나누어진다. 이 5비트의 첫번째 세트는 이 파일의 소유자에게 주어진 이 객체에 대한 허가를 나타낸다. 두 번째 세트는 파일의 소유자와 동일한 그룹의 사용자들에게 주어진 접근허가를 묘사하기 위하여 사용된다. 3가지 세트의 각 첫번째 비트는 read 접근모드허가를 위해 사용된다. 만일 비트가 1로 세트되면 read 접근이 허가되고 0으로 세트되면 부인된다.
보호 비트들의 사용에 대한 가장 일반적인 예는 UNIX 환경에서 볼 수 있다. 일반적 UNIX 시스템은 read/write/execute 3가지 접근모드를 갖는 파일접근에 대하여 Owner/Group/World 전략을 채택하고 있다. 이러한 메커니즘은 특정주체가 접근할 수 있는 모든 객체들을 리스트 하기가 어려운 단점을 갖는다.
2.6 패스워드-기반 메커니즘
패스워드-기반 접근통제메커니즘은 현대의 안전한 네트워크에 적합하지는 않지만 기능상으로 간단한 제어 구조이기 때문에 유용하게 이용되고 있다. 패스워드는 원리 측면에서 타겟에
대하여 티켓을 부여하는 CL과 유사하다. 특정 타겟에 대한 접근 시도는 사용자가 그 타겟과 연결된 접근 형태를 나타내는 패스워드를 제시함으로서 시행된다. 이러한 메커니즘은 패스
워드를 비밀로 유지하고 관리하는데 심각한 문제가 있으며 특히 그룹이 공유할 경우는 더욱 어려움이 있다.
따라서, 패스워드는 인증 목적을 위하여 가치 있게 이용되고 있지만 접근통제 목적을 위해서는 권장할만하지 않다.