컴퓨터 접근 제어
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
- 1. 개요
- 2. 소프트웨어 개체
- 3. 서비스
- 4. 접근 통제 모델
- 5. 호스트 기반 접근 통제 (Host-Based Access Control, HBAC)
- 6. 한국 사회와 접근 통제
- 참조
1. 개요
컴퓨터 접근 제어는 시스템 자원에 대한 접근을 관리하고 제한하는 방법으로, 소프트웨어 개체, 서비스, 다양한 접근 제어 모델 등을 포함한다. 접근 제어 모델은 주체와 객체의 개념을 기반으로 하며, 역량 기반 보안과 접근 제어 목록(ACL) 기반 모델로 나뉜다. 접근 제어 시스템은 인가, 신원 확인 및 인증, 접근 승인, 책임 추적성 등의 서비스를 제공하며, 임의적 접근 제어(DAC), 강제적 접근 제어(MAC), 역할 기반 접근 제어(RBAC), 속성 기반 접근 제어(ABAC) 등 다양한 모델이 존재한다. 이러한 모델들은 파일 및 데이터 소유권, 접근 권한, 민감도 레이블, 역할 할당 등과 같은 다양한 요소들을 통해 자원 접근을 통제하며, 비상시 접근 통제(Break-Glass)를 통해 예외 상황에 대처하기도 한다.
더 읽어볼만한 페이지
컴퓨터 접근 제어 | |
---|---|
개요 | |
유형 | 접근 제어 방법 |
목적 | 컴퓨터 시스템 및 네트워크에 대한 무단 접근 제한 |
관련 | 정보 보안 컴퓨터 보안 데이터 보안 |
접근 제어 방법 | |
종류 | 임의 접근 통제 (DAC) 강제 접근 통제 (MAC) 역할 기반 접근 통제 (RBAC) 속성 기반 접근 통제 (ABAC) |
기술 | 인증 권한 부여 접근 감사 |
보안 메커니즘 | |
예시 | 방화벽 침입 탐지 시스템 데이터 암호화 생체 인식 보안 토큰 |
접근 통제 모델 | |
설명 | 접근 통제 정책을 구현하기 위한 프레임워크 제공 |
예시 | Bell-LaPadula 모델 Biba 모델 Clark-Wilson 모델 |
구현 | |
운영 체제 | 리눅스 윈도우 macOS |
데이터베이스 | MySQL Oracle PostgreSQL |
네트워크 장비 | 라우터 스위치 |
표준 및 규정 | |
관련 표준 | ISO 27001 HIPAA PCI DSS |
기타 | |
중요성 | 조직의 정보 자산 보호 및 규정 준수 보장 |
2. 소프트웨어 개체
어떠한 접근 통제 모델에서든, 시스템에서 작업을 수행할 수 있는 개체는 ''주체''라고 하며, 접근을 통제해야 할 수 있는 자원을 나타내는 개체는 ''객체''라고 한다 (접근 통제 행렬 참조). 주체와 객체는 인간 사용자가 아닌 소프트웨어 개체로 간주해야 한다. 모든 인간 사용자는 자신이 제어하는 소프트웨어 개체를 통해서만 시스템에 영향을 미칠 수 있다.
일부 시스템에서는 주체를 ''사용자 ID''와 동일시하여 사용자가 시작한 모든 프로세스가 기본적으로 동일한 권한을 갖도록 하지만, 이러한 수준의 통제는 최소 권한의 원칙을 충족하기에 충분히 세분화되지 않으며, 그러한 시스템에서 멀웨어가 만연하는 원인이 된다고 주장할 수 있다 (컴퓨터 보안 참조).
객체 역량 모델과 같은 일부 모델에서는 모든 소프트웨어 개체가 주체와 객체 역할을 모두 수행할 수 있다.
접근 통제 모델은 역량 기반 보안과 접근 제어 목록(ACL)에 기반한 두 가지 종류 중 하나에 속하는 경향이 있다.
- 역량 기반 모델에서는 객체에 대한 위조 불가능한 참조 또는 ''역량''을 소유하면 해당 객체에 대한 접근 권한이 부여된다 (집 열쇠를 소유하면 집에 접근할 수 있는 것과 유사). 접근 권한은 안전한 채널을 통해 해당 역량을 다른 당사자에게 전송함으로써 전달된다.
- ACL 기반 모델에서는 객체 또는 객체 그룹에 대한 주체의 접근 권한[1]은 해당 객체와 관련된 목록에 해당 주체의 신원이 나타나는지에 따라 달라진다 (개인 파티의 보디가드가 이름이 게스트 목록에 있는지 확인하기 위해 신분증을 확인하는 것과 유사). 접근 권한은 목록을 편집하여 전달된다. (다양한 ACL 시스템은 누가, 무엇을 책임지고, 어떻게 목록을 편집하는지에 대해 다양한 규칙을 가지고 있다.)
역량 기반 및 ACL 기반 모델 모두 주체 ''그룹''의 모든 구성원에게 접근 권한을 부여하는 메커니즘을 가지고 있다 (종종 그룹 자체는 주체로 모델링된다).
2. 1. 주체와 객체의 관계
어떠한 접근 통제 모델에서든, 시스템에서 작업을 수행할 수 있는 개체는 ''주체''라고 하며, 접근을 통제해야 할 수 있는 자원을 나타내는 개체는 ''객체''라고 한다 (접근 통제 행렬 참조). 주체와 객체는 인간 사용자가 아닌 소프트웨어 개체로 간주해야 한다. 모든 인간 사용자는 자신이 제어하는 소프트웨어 개체를 통해서만 시스템에 영향을 미칠 수 있다.일부 시스템에서는 주체를 ''사용자 ID''와 동일시하여 사용자가 시작한 모든 프로세스가 기본적으로 동일한 권한을 갖도록 하지만, 이러한 수준의 통제는 최소 권한의 원칙을 충족하기에 충분히 세분화되지 않으며, 그러한 시스템에서 멀웨어가 만연하는 원인이 된다고 주장할 수 있다 (컴퓨터 보안 참조).
객체 역량 모델과 같은 일부 모델에서는 모든 소프트웨어 개체가 주체와 객체 역할을 모두 수행할 수 있다.
접근 통제 모델은 역량 기반 보안과 접근 제어 목록(ACL)에 기반한 두 가지 종류 중 하나에 속하는 경향이 있다.
- 역량 기반 모델에서는 객체에 대한 위조 불가능한 참조 또는 ''역량''을 소유하면 해당 객체에 대한 접근 권한이 부여된다 (집 열쇠를 소유하면 집에 접근할 수 있는 것과 유사). 접근 권한은 안전한 채널을 통해 해당 역량을 다른 당사자에게 전송함으로써 전달된다.
- ACL 기반 모델에서는 객체 또는 객체 그룹에 대한 주체의 접근 권한[1]은 해당 객체와 관련된 목록에 해당 주체의 신원이 나타나는지에 따라 달라진다 (개인 파티의 보디가드가 이름이 게스트 목록에 있는지 확인하기 위해 신분증을 확인하는 것과 유사). 접근 권한은 목록을 편집하여 전달된다. (다양한 ACL 시스템은 누가, 무엇을 책임지고, 어떻게 목록을 편집하는지에 대해 다양한 규칙을 가지고 있다.)
역량 기반 및 ACL 기반 모델 모두 주체 ''그룹''의 모든 구성원에게 접근 권한을 부여하는 메커니즘을 가지고 있다 (종종 그룹 자체는 주체로 모델링된다).
2. 2. 최소 권한의 원칙
3. 서비스
접근 제어 시스템은 다음의 필수적인 서비스를 제공한다: ''인가'', ''신원 확인 및 인증''(I&A), ''접근 승인'', 그리고 ''책무성''. 다음은 각 서비스에 대한 설명이다:
- 인가: 주체가 무엇을 할 수 있는지를 명시한다.
- 신원 확인 및 인증: 합법적인 주체만 시스템에 로그인할 수 있도록 보장한다.
- 접근 승인: 인가 정책에 따라 사용자가 접근 권한이 있는 자원에 연결되어 운영 중에 접근을 허가한다.
- 책무성: 주체(또는 사용자와 관련된 모든 주체)가 수행한 작업을 식별한다.
==== 인가 ====
인가는 주체에 대한 접근 권한을 정의하는 행위를 포함한다. 인가 정책은 주체가 시스템 내에서 실행할 수 있는 작업을 명시한다.
대부분의 최신 운영 체제는 인가 정책을 세 가지 기본 유형의 접근 권한의 변형 또는 확장인 권한의 공식 집합으로 구현한다.
- 읽기(R): 주체는 파일 내용을 읽거나 디렉토리 내용을 나열할 수 있다.
- 쓰기(W): 주체는 추가, 업데이트, 삭제, 이름 변경 등의 작업을 통해 파일 또는 디렉토리의 내용을 변경할 수 있다.
- 실행(X): 파일이 프로그램인 경우 주체는 프로그램을 실행할 수 있다. 유닉스 스타일 시스템에서 "실행" 권한은 디렉토리에 부여될 때 "디렉토리 탐색" 권한으로도 사용된다.
이러한 권한은 임의적 접근 제어(DAC) 및 강제적 접근 제어(MAC)를 기반으로 하는 시스템에서 다르게 구현된다.
==== 신원 확인 및 인증 ====
신원 확인 및 인증(I&A)은 신원이 신원 주장 또는 신원 주장을 하는 개체에 연결되어 있는지 확인하는 과정이다. I&A 프로세스는 일반적으로 신원 증명이라고 하는 신원의 초기 유효성 검사가 있었다고 가정한다. 정부에서 발급한 신분증을 사용한 직접 유효성 검사부터 청구자가 익명을 유지할 수 있지만 시스템에 반환되는 경우 시스템에 알려진 익명 방법까지 다양한 신원 증명 방법이 있다. 신원 증명 및 유효성 검사에 사용되는 방법은 시스템 내에서 신원의 의도된 사용에 상응하는 보증 수준을 제공해야 한다. 그 후, 엔터티는 유효성 검사를 위한 수단으로 인증자와 함께 신원을 주장한다. 식별자에 대한 유일한 요구 사항은 해당 보안 도메인 내에서 고유해야 한다는 것이다.
인증자는 일반적으로 다음 네 가지 요소 중 하나 이상을 기반으로 한다.
- '''당신이 아는 것''' 예를 들어 비밀번호나 개인 식별 번호(PIN)와 같다. 이는 계정 소유자만 계정에 액세스하는 데 필요한 비밀번호 또는 PIN을 알고 있다고 가정한다.
- '''당신이 가진 것''' 예를 들어 스마트 카드 또는 보안 토큰과 같다. 이는 계정 소유자만 계정을 잠금 해제하는 데 필요한 스마트 카드 또는 토큰을 가지고 있다고 가정한다.
- '''당신이 누구인지''' 예를 들어 지문, 음성, 망막 또는 홍채 특성과 같다.
- '''당신이 어디에 있는지''' 예를 들어 회사 방화벽 내부 또는 외부, 또는 개인 GPS 장치에 대한 로그인 위치의 근접성과 같다.
==== 접근 승인 ====
접근 승인은 실제로 작업 중에 접근을 허가하거나 거부하는 기능이다. 접근 승인 과정에서 시스템은 권한 정책의 공식적인 표현과 접근 요청을 비교하여 요청을 허가할지 거부할지를 결정한다. 또한, 접근 평가는 온라인/실시간으로 수행될 수 있다.
==== 책임 추적성 ====
책임 추적성(Accountability)은 감사 추적(audit trails)과 로그(logs)와 같은 시스템 구성 요소를 사용하여 주체를 해당 작업과 연결하는 것이다. 기록된 정보는 주체를 제어하는 사용자에 매핑할 수 있을 정도로 충분해야 한다. 감사 추적 및 로그는 다음의 경우에 중요하다.
- 보안 위반 감지
- 보안 사고 재현
로그를 정기적으로 검토하는 사람이 없고 안전하고 일관된 방식으로 유지 관리되지 않는 경우 증거로 인정되지 않을 수 있다.
많은 시스템은 '클리핑 레벨'(clipping levels)이라고 하는 특정 사전 정의된 기준 또는 임계값을 기반으로 자동 보고서를 생성할 수 있다. 예를 들어, 클리핑 레벨은 다음의 경우에 대한 보고서를 생성하도록 설정할 수 있다.
- 특정 기간 동안 3회 이상의 로그인 시도 실패
- 사용 불가능한 사용자 계정 사용 시도
이러한 보고서는 시스템 관리자 또는 보안 관리자가 침입 시도를 보다 쉽게 식별하는 데 도움이 된다.
클리핑 레벨의 정의:[4] 디스크가 자성 특성을 유지하고 내용을 보존하는 능력. 고품질 수준 범위는 65~70%이고 저품질은 55% 미만이다.
3. 1. 인가 (Authorization)
인가는 주체에 대한 접근 권한을 정의하는 행위를 포함한다. 인가 정책은 주체가 시스템 내에서 실행할 수 있는 작업을 명시한다.대부분의 최신 운영 체제는 인가 정책을 세 가지 기본 유형의 접근 권한의 변형 또는 확장인 권한의 공식 집합으로 구현한다.
- 읽기(R): 주체는 파일 내용을 읽거나 디렉토리 내용을 나열할 수 있다.
- 쓰기(W): 주체는 추가, 업데이트, 삭제, 이름 변경 등의 작업을 통해 파일 또는 디렉토리의 내용을 변경할 수 있다.
- 실행(X): 파일이 프로그램인 경우 주체는 프로그램을 실행할 수 있다. 유닉스 스타일 시스템에서 "실행" 권한은 디렉토리에 부여될 때 "디렉토리 탐색" 권한으로도 사용된다.
이러한 권한은 임의적 접근 제어(DAC) 및 강제적 접근 제어(MAC)를 기반으로 하는 시스템에서 다르게 구현된다.
3. 2. 신원 확인 및 인증 (Identification and Authentication)
신원 확인 및 인증(I&A)은 신원이 신원 주장 또는 신원 주장을 하는 개체에 연결되어 있는지 확인하는 과정이다. I&A 프로세스는 일반적으로 신원 증명이라고 하는 신원의 초기 유효성 검사가 있었다고 가정한다. 정부에서 발급한 신분증을 사용한 직접 유효성 검사부터 청구자가 익명을 유지할 수 있지만 시스템에 반환되는 경우 시스템에 알려진 익명 방법까지 다양한 신원 증명 방법이 있다. 신원 증명 및 유효성 검사에 사용되는 방법은 시스템 내에서 신원의 의도된 사용에 상응하는 보증 수준을 제공해야 한다. 그 후, 엔터티는 유효성 검사를 위한 수단으로 인증자와 함께 신원을 주장한다. 식별자에 대한 유일한 요구 사항은 해당 보안 도메인 내에서 고유해야 한다는 것이다.
인증자는 일반적으로 다음 네 가지 요소 중 하나 이상을 기반으로 한다.
- '''당신이 아는 것''' 예를 들어 비밀번호나 개인 식별 번호(PIN)와 같다. 이는 계정 소유자만 계정에 액세스하는 데 필요한 비밀번호 또는 PIN을 알고 있다고 가정한다.
- '''당신이 가진 것''' 예를 들어 스마트 카드 또는 보안 토큰과 같다. 이는 계정 소유자만 계정을 잠금 해제하는 데 필요한 스마트 카드 또는 토큰을 가지고 있다고 가정한다.
- '''당신이 누구인지''' 예를 들어 지문, 음성, 망막 또는 홍채 특성과 같다.
- '''당신이 어디에 있는지''' 예를 들어 회사 방화벽 내부 또는 외부, 또는 개인 GPS 장치에 대한 로그인 위치의 근접성과 같다.
3. 2. 1. 인증 수단
신원 확인 및 인증(I&A)은 신원이 신원 주장 또는 신원 주장을 하는 개체에 연결되어 있는지 확인하는 과정이다. I&A 프로세스는 일반적으로 신원 증명이라고 하는 신원의 초기 유효성 검사가 있었다고 가정한다. 정부에서 발급한 신분증을 사용한 직접 유효성 검사부터 청구자가 익명을 유지할 수 있지만 시스템에 반환되는 경우 시스템에 알려진 익명 방법까지 다양한 신원 증명 방법이 있다. 신원 증명 및 유효성 검사에 사용되는 방법은 시스템 내에서 신원의 의도된 사용에 상응하는 보증 수준을 제공해야 한다. 그 후, 엔터티는 유효성 검사를 위한 수단으로 인증자와 함께 신원을 주장한다. 식별자에 대한 유일한 요구 사항은 해당 보안 도메인 내에서 고유해야 한다는 것이다.인증자는 일반적으로 다음 네 가지 요소 중 하나 이상을 기반으로 한다.
- '''당신이 아는 것''' 예를 들어 비밀번호나 개인 식별 번호(PIN)와 같다. 이는 계정 소유자만 계정에 액세스하는 데 필요한 비밀번호 또는 PIN을 알고 있다고 가정한다.
- '''당신이 가진 것''' 예를 들어 스마트 카드 또는 보안 토큰과 같다. 이는 계정 소유자만 계정을 잠금 해제하는 데 필요한 스마트 카드 또는 토큰을 가지고 있다고 가정한다.
- '''당신이 누구인지''' 예를 들어 지문, 음성, 망막 또는 홍채 특성과 같다.
- '''당신이 어디에 있는지''' 예를 들어 회사 방화벽 내부 또는 외부, 또는 개인 GPS 장치에 대한 로그인 위치의 근접성과 같다.
3. 3. 접근 승인 (Access Approval)
접근 승인은 실제로 작업 중에 접근을 허가하거나 거부하는 기능이다. 접근 승인 과정에서 시스템은 권한 정책의 공식적인 표현과 접근 요청을 비교하여 요청을 허가할지 거부할지를 결정한다. 또한, 접근 평가는 온라인/실시간으로 수행될 수 있다.3. 4. 책임 추적성 (Accountability)
책임 추적성(Accountability)은 감사 추적(audit trails)과 로그(logs)와 같은 시스템 구성 요소를 사용하여 주체를 해당 작업과 연결하는 것이다. 기록된 정보는 주체를 제어하는 사용자에 매핑할 수 있을 정도로 충분해야 한다. 감사 추적 및 로그는 다음의 경우에 중요하다.- 보안 위반 감지
- 보안 사고 재현
로그를 정기적으로 검토하는 사람이 없고 안전하고 일관된 방식으로 유지 관리되지 않는 경우 증거로 인정되지 않을 수 있다.
많은 시스템은 '클리핑 레벨'(clipping levels)이라고 하는 특정 사전 정의된 기준 또는 임계값을 기반으로 자동 보고서를 생성할 수 있다. 예를 들어, 클리핑 레벨은 다음의 경우에 대한 보고서를 생성하도록 설정할 수 있다.
- 특정 기간 동안 3회 이상의 로그인 시도 실패
- 사용 불가능한 사용자 계정 사용 시도
이러한 보고서는 시스템 관리자 또는 보안 관리자가 침입 시도를 보다 쉽게 식별하는 데 도움이 된다.
클리핑 레벨의 정의:[4] 디스크가 자성 특성을 유지하고 내용을 보존하는 능력. 고품질 수준 범위는 65~70%이고 저품질은 55% 미만이다.
3. 4. 1. 감사 추적 및 로그
책임 추적성(Accountability)은 감사 추적(audit trails)과 로그(logs)와 같은 시스템 구성 요소를 사용하여 주체를 해당 작업과 연결하는 것이다. 기록된 정보는 주체를 제어하는 사용자에 매핑할 수 있을 정도로 충분해야 한다. 감사 추적 및 로그는 다음의 경우에 중요하다.- 보안 위반 감지
- 보안 사고 재현
로그를 정기적으로 검토하는 사람이 없고 안전하고 일관된 방식으로 유지 관리되지 않는 경우 증거로 인정되지 않을 수 있다.
많은 시스템은 '클리핑 레벨'(clipping levels)이라고 하는 특정 사전 정의된 기준 또는 임계값을 기반으로 자동 보고서를 생성할 수 있다. 예를 들어, 클리핑 레벨은 다음의 경우에 대한 보고서를 생성하도록 설정할 수 있다.
- 특정 기간 동안 3회 이상의 로그인 시도 실패
- 사용 불가능한 사용자 계정 사용 시도
이러한 보고서는 시스템 관리자 또는 보안 관리자가 침입 시도를 보다 쉽게 식별하는 데 도움이 된다.
클리핑 레벨의 정의:[4] 디스크가 자성 특성을 유지하고 내용을 보존하는 능력. 고품질 수준 범위는 65~70%이고 저품질은 55% 미만이다.
4. 접근 통제 모델
접근 제어 모델은 때때로 임의적 또는 비임의적으로 분류된다. 가장 널리 알려진 세 가지 모델은 임의적 접근 제어(DAC), 강제 접근 제어(MAC), 역할 기반 접근 제어(RBAC)이다. MAC는 비임의적이다.
임의적 접근 제어(DAC)는 객체의 소유자가 정책을 결정하며, 소유자는 객체에 접근할 수 있는 사람과 그들이 갖는 권한을 결정한다. DAC에서 중요한 두 가지 개념은 파일 및 데이터 소유권과 접근 권한 및 권한이다. 시스템의 모든 객체는 소유자를 가지며, 대부분의 DAC 시스템에서 각 객체의 초기 소유자는 객체를 생성한 주체이다. 객체에 대한 접근 정책은 소유자가 결정한다. 접근 권한 및 권한은 소유자가 특정 자원에 대해 다른 주체에게 할당할 수 있는 제어 권한이다. 접근 제어는 ACL 기반 또는 역량 기반 접근 제어 시스템에서 임의적으로 적용될 수 있다.
강제 접근 통제(MAC)는 특정 사용자가 리소스에 접근할 수 있도록 허용하는 규칙이 존재하는 경우에만 리소스 접근을 허용한다. 관리하기는 어렵지만, 고도로 민감한 정보를 보호하는 데 사용될 때는 일반적으로 사용이 정당화된다. 예를 들어, 특정 정부 및 군사 정보가 해당된다. 이 방법을 "강제적"으로 만드는 것은 규칙 또는 민감도 레이블의 사용이다. 민감도 레이블은 이러한 시스템에서 주체와 객체에 할당되어야 한다. 주체의 민감도 레이블은 신뢰 수준을, 객체의 민감도 레이블은 접근에 필요한 신뢰 수준을 지정한다. 객체에 접근하기 위해서는 주체는 요청된 객체와 같거나 더 높은 민감도 수준을 가져야 한다. 데이터 가져오기 및 내보내기는 이러한 시스템의 중요한 기능이며, 민감한 정보가 항상 적절하게 보호되도록 민감도 레이블이 적절하게 유지되고 구현되어야 한다.
규칙 기반 접근 통제(또는 레이블 기반) 접근 통제는 요청된 객체에 대한 접근에 대한 특정 조건을 추가로 정의한다. 강제 접근 통제 시스템은 객체의 민감도 레이블과 주체의 민감도 레이블을 비교하여 접근 허용 여부를 결정한다. 격자 기반 접근 통제는 여러 객체 및/또는 주체와 관련된 복잡한 접근 통제 결정을 위해 사용될 수 있다. 격자 모델은 주체와 객체와 같은 두 요소 쌍에 대한 가장 큰 하한 및 가장 작은 상한 값을 정의하는 수학적 구조이다. MAC를 구현하는 시스템은 거의 없으며, XTS-400과 SELinux가 그 예이다.
역할 기반 접근 제어(RBAC)는 소유자가 아닌 시스템에 의해 결정되는 접근 정책이다. RBAC는 상업용 애플리케이션과 다단계 보안 요구 사항이 존재할 수 있는 군사 시스템에서도 사용된다. RBAC는 사용자가 자신의 리소스에 대한 접근을 제어할 수 있는 DAC와 달리, 시스템 수준에서 제어된다는 점에서 비재량적이다. RBAC는 권한이 처리되는 방식에서 주로 MAC과 구별될 수 있다. MAC은 사용자의 허가 수준과 추가적인 레이블에 따라 읽기 및 쓰기 권한을 제어한다. RBAC는 전자 상거래 거래와 같은 복잡한 작업을 포함하거나 읽기 또는 쓰기와 같이 간단할 수 있는 권한 모음을 제어한다. RBAC의 역할은 권한 집합으로 볼 수 있다. RBAC에 대해 세 가지 주요 규칙(역할 할당, 역할 권한 부여, 트랜잭션 권한 부여)이 정의되어 있다. 주체는 적절한 역할을 선택했거나 할당받은 경우에만 트랜잭션을 실행할 수 있다(역할 할당). 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다(역할 권한 부여). 주체는 해당 트랜잭션이 주체의 활성 역할에 대해 권한이 부여된 경우에만 트랜잭션을 실행할 수 있다(트랜잭션 권한 부여). 추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 레벨 역할이 하위 레벨 하위 역할이 소유한 권한을 포함하는 계층 구조로 결합될 수 있다. 대부분의 IT 공급업체는 하나 이상의 제품에서 RBAC를 제공한다.
속성 기반 접근 제어(ABAC)에서[5][6] 접근 권한은 인증 후 사용자와 관련된 주체의 권한에 따라 부여되는 것이 아니라, 주체, 객체, 요청된 작업 및 환경 조건의 속성을 정책, 규칙 또는 주어진 속성 집합에 대한 허용 가능한 작업을 설명하는 관계에 따라 부여된다.[7] 사용자는 접근 제어 엔진에 대해 자신의 속성에 대한 주장을 증명해야 한다. 속성 기반 접근 제어 정책은 객체에 대한 접근 권한을 부여하기 위해 충족되어야 하는 주장을 지정한다. 예를 들어 주장은 "18세 이상"일 수 있다. 인증 및 식별이 엄격하게 요구되지 않는 경우 사용자는 익명일 수 있다. 그러나 주장을 익명으로 증명할 수 있는 수단이 필요하다. 이는 예를 들어 익명 자격 증명을 사용하여 달성할 수 있다. XACML(확장 가능한 접근 제어 마크업 언어)은 속성 기반 접근 제어를 위한 표준이며, XACML 3.0은 2013년 1월에 표준화되었다.[8]
전통적으로 접근 제어의 목적은 접근을 제한하는 것이므로 대부분의 접근 제어 모델은 "기본 거부 원칙"을 따른다.[9] 즉, 특정 접근 요청이 명시적으로 허용되지 않으면 거부된다. 특정 상황에서, 인간은 달성할 수 있는 잠재적 이점이 이 위험보다 클 경우 접근 제어 정책 위반과 관련된 위험을 감수하려 한다. 이러한 필요성은 환자 기록에 대한 접근 거부가 환자의 죽음을 초래할 수 있는 의료 분야에서 특히 두드러진다.[9] 비상시 접근 통제, 즉 브레이크 글래스(Break-Glass, 깨뜨리기)는 사용자가 접근 제어 결정을 재정의하도록 허용하여 이러한 문제를 완화하려 한다.[9] 브레이크 글래스는 접근 제어 방식으로 구현되거나,[9] 일반적인 방식(즉, 기본 접근 제어 모델과 독립적)으로 구현될 수 있다.[10]
4. 1. 임의적 접근 통제 (Discretionary Access Control, DAC)
임의 접근 제어(DAC)는 객체의 소유자가 결정하는 정책이다. 소유자는 객체에 접근할 수 있는 사람과 그들이 갖는 권한을 결정한다.임의 접근 제어에서 중요한 두 가지 개념은 다음과 같다.
- 파일 및 데이터 소유권: 시스템의 모든 객체는 ''소유자''를 갖는다. 대부분의 임의 접근 제어 시스템에서 각 객체의 초기 소유자는 객체를 생성한 주체이다. 객체에 대한 접근 정책은 소유자에 의해 결정된다.
- 접근 권한 및 권한: 이는 소유자가 특정 자원에 대해 다른 주체에게 할당할 수 있는 제어 권한이다.
접근 제어는 ACL 기반 또는 역량 기반 접근 제어 시스템에서 임의적으로 적용될 수 있다. (역량 기반 시스템에서는 일반적으로 '소유자'라는 명시적인 개념이 없지만, 객체 생성자는 객체의 접근 정책에 대해 유사한 수준의 제어를 갖는다.)
4. 1. 1. 파일 및 데이터 소유권
임의 접근 제어(DAC)는 객체의 소유자가 결정하는 정책이다. 소유자는 객체에 접근할 수 있는 사람과 그들이 갖는 권한을 결정한다.임의 접근 제어에서 중요한 두 가지 개념은 다음과 같다.
- 파일 및 데이터 소유권: 시스템의 모든 객체는 ''소유자''를 갖는다. 대부분의 임의 접근 제어 시스템에서 각 객체의 초기 소유자는 객체를 생성한 주체이다. 객체에 대한 접근 정책은 소유자에 의해 결정된다.
- 접근 권한 및 권한: 이는 소유자가 특정 자원에 대해 다른 주체에게 할당할 수 있는 제어 권한이다.
접근 제어는 ACL 기반 또는 역량 기반 접근 제어 시스템에서 임의적으로 적용될 수 있다. (역량 기반 시스템에서는 일반적으로 '소유자'라는 명시적인 개념이 없지만, 객체 생성자는 객체의 접근 정책에 대해 유사한 수준의 제어를 갖는다.)
4. 1. 2. 접근 권한 및 권한
임의 접근 제어 (DAC)는 객체의 소유자가 결정하는 정책이다. 소유자는 객체에 접근할 수 있는 사람과 그들이 갖는 권한을 결정한다.DAC에서 중요한 두 가지 개념은 다음과 같다.
- 파일 및 데이터 소유권: 시스템의 모든 객체는 ''소유자''를 갖는다. 대부분의 DAC 시스템에서 각 객체의 초기 소유자는 객체를 생성한 주체이다. 객체에 대한 접근 정책은 소유자에 의해 결정된다.
- 접근 권한 및 권한: 이는 소유자가 특정 자원에 대해 다른 주체에게 할당할 수 있는 제어 권한이다.
접근 제어는 ACL 기반 또는 역량 기반 접근 제어 시스템에서 임의적으로 적용될 수 있다. (역량 기반 시스템에서는 일반적으로 '소유자'라는 명시적인 개념이 없지만, 객체 생성자는 객체의 접근 정책에 대해 유사한 수준의 제어를 갖는다.)
4. 2. 강제적 접근 통제 (Mandatory Access Control, MAC)
강제 접근 통제는 특정 사용자가 리소스에 접근할 수 있도록 허용하는 규칙이 존재하는 경우에만 리소스 접근을 허용하는 것을 의미한다. 관리하기는 어렵지만, 고도로 민감한 정보를 보호하는 데 사용될 때는 일반적으로 사용이 정당화된다. 예를 들어, 특정 정부 및 군사 정보가 해당된다. 정보가 계층적 접근 통제를 사용하여 보호되거나 민감도 레이블을 구현할 수 있다면 (필요한 것보다) 관리가 종종 단순화된다. 이 방법을 "강제적"으로 만드는 것은 규칙 또는 민감도 레이블의 사용이다.- 민감도 레이블: 이러한 시스템에서 주체와 객체는 레이블이 할당되어야 한다. 주체의 민감도 레이블은 신뢰 수준을 지정한다. 객체의 민감도 레이블은 접근에 필요한 신뢰 수준을 지정한다. 주어진 객체에 접근하기 위해서는 주체는 요청된 객체와 같거나 더 높은 민감도 수준을 가져야 한다.
- 데이터 가져오기 및 내보내기: 다른 시스템으로부터의 정보 가져오기 및 다른 시스템(프린터 포함)으로의 내보내기를 제어하는 것은 이러한 시스템의 중요한 기능이며, 민감한 정보가 항상 적절하게 보호되도록 민감도 레이블이 적절하게 유지되고 구현되어야 한다.
강제 접근 통제를 적용하는 데 일반적으로 두 가지 방법이 사용된다.
- 규칙 기반 접근 통제 (또는 레이블 기반) 접근 통제: 이러한 유형의 제어는 요청된 객체에 대한 접근에 대한 특정 조건을 추가로 정의한다. 강제 접근 통제 시스템은 다음을 일치시켜 접근을 허용할지 거부할지를 결정하기 위해 간단한 형태의 규칙 기반 접근 통제를 구현한다.
- 객체의 민감도 레이블
- 주체의 민감도 레이블
- 격자 기반 접근 통제: 여러 객체 및/또는 주체와 관련된 복잡한 접근 통제 결정을 위해 사용할 수 있다. 격자 모델은 주체와 객체와 같은 두 요소 쌍에 대한 가장 큰 하한 및 가장 작은 상한 값을 정의하는 수학적 구조이다.
MAC를 구현하는 시스템은 거의 없으며, XTS-400과 SELinux가 그 예이다.
4. 2. 1. 민감도 레이블
강제 접근 통제는 특정 사용자가 리소스에 접근할 수 있도록 허용하는 규칙이 존재하는 경우에만 리소스 접근을 허용하는 것을 의미한다. 관리하기는 어렵지만, 고도로 민감한 정보를 보호하는 데 사용될 때는 일반적으로 사용이 정당화된다. 예를 들어, 특정 정부 및 군사 정보가 해당된다. 정보가 계층적 접근 통제를 사용하여 보호되거나 민감도 레이블을 구현할 수 있다면 (필요한 것보다) 관리가 종종 단순화된다. 이 방법을 "강제적"으로 만드는 것은 규칙 또는 민감도 레이블의 사용이다.- 민감도 레이블: 이러한 시스템에서 주체와 객체는 레이블이 할당되어야 한다. 주체의 민감도 레이블은 신뢰 수준을 지정한다. 객체의 민감도 레이블은 접근에 필요한 신뢰 수준을 지정한다. 주어진 객체에 접근하기 위해서는 주체는 요청된 객체와 같거나 더 높은 민감도 수준을 가져야 한다.
- 데이터 가져오기 및 내보내기: 다른 시스템으로부터의 정보 가져오기 및 다른 시스템(프린터 포함)으로의 내보내기를 제어하는 것은 이러한 시스템의 중요한 기능이며, 민감한 정보가 항상 적절하게 보호되도록 민감도 레이블이 적절하게 유지되고 구현되어야 한다.
4. 2. 2. 규칙 기반 접근 통제
규칙 기반 접근 통제(또는 레이블 기반) 접근 통제는 요청된 객체에 대한 접근에 대한 특정 조건을 추가로 정의하는 방식이다. 강제 접근 통제 시스템은 다음을 비교하여 접근 허용 여부를 결정한다.- 객체의 민감도 레이블
- 주체의 민감도 레이블
격자 기반 접근 통제는 여러 객체 및/또는 주체와 관련된 복잡한 접근 통제 결정을 위해 사용될 수 있다.
4. 2. 3. 격자 기반 접근 통제
규칙 기반 접근 통제(또는 레이블 기반) 접근 통제는 복잡한 접근 통제 결정을 위해 사용될 수 있다. 격자 모델은 주체와 객체와 같은 두 요소 쌍에 대한 가장 큰 하한 및 가장 작은 상한 값을 정의하는 수학적 구조이다. 격자 기반 접근 통제는 여러 객체 및/또는 주체와 관련된 복잡한 접근 통제 결정을 위해 사용될 수 있다.4. 3. 역할 기반 접근 통제 (Role-Based Access Control, RBAC)
역할 기반 접근 제어(RBAC)는 소유자가 아닌 시스템에 의해 결정되는 접근 정책이다. RBAC는 상업용 애플리케이션과 다단계 보안 요구 사항이 존재할 수 있는 군사 시스템에서도 사용된다. RBAC는 DAC와 달리 DAC는 사용자가 자신의 리소스에 대한 접근을 제어할 수 있는 반면, RBAC에서는 접근이 사용자의 제어 범위를 벗어난 시스템 수준에서 제어된다는 점에서 차이가 있다. RBAC는 비재량적이지만, 권한이 처리되는 방식에서 주로 MAC과 구별될 수 있다. MAC은 사용자의 허가 수준과 추가적인 레이블에 따라 읽기 및 쓰기 권한을 제어한다. RBAC는 전자 상거래 거래와 같은 복잡한 작업을 포함하거나 읽기 또는 쓰기와 같이 간단할 수 있는 권한 모음을 제어한다. RBAC의 역할은 권한 집합으로 볼 수 있다.RBAC에 대해 세 가지 주요 규칙이 정의되어 있다.
# '''역할 할당''': 주체는 적절한 역할을 선택했거나 할당받은 경우에만 트랜잭션을 실행할 수 있다.
# '''역할 권한 부여''': 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다. 위의 규칙 1과 함께 이 규칙은 사용자가 권한이 부여된 역할만 수행할 수 있도록 보장한다.
# '''트랜잭션 권한 부여''': 주체는 해당 트랜잭션이 주체의 활성 역할에 대해 권한이 부여된 경우에만 트랜잭션을 실행할 수 있다. 규칙 1 및 2와 함께 이 규칙은 사용자가 권한이 부여된 트랜잭션만 실행할 수 있도록 보장한다.
추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 레벨 역할이 하위 레벨 하위 역할이 소유한 권한을 포함하는 계층 구조로 결합될 수 있다.
대부분의 IT 공급업체는 하나 이상의 제품에서 RBAC를 제공한다.
4. 3. 1. 역할 할당
역할 기반 접근 제어(RBAC)에서 역할 할당에 대한 세 가지 주요 규칙은 다음과 같다.# '''역할 할당''': 주체는 적절한 역할을 선택했거나 할당받은 경우에만 트랜잭션을 실행할 수 있다.
# '''역할 권한 부여''': 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다. 이 규칙은 사용자가 권한이 부여된 역할만 수행할 수 있도록 보장한다.
# '''트랜잭션 권한 부여''': 주체는 해당 트랜잭션이 주체의 활성 역할에 대해 권한이 부여된 경우에만 트랜잭션을 실행할 수 있다. 이 규칙은 사용자가 권한이 부여된 트랜잭션만 실행할 수 있도록 보장한다.
추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 레벨 역할이 하위 레벨 하위 역할이 소유한 권한을 포함하는 계층 구조로 결합될 수 있다.
4. 3. 2. 역할 권한 부여
역할 기반 접근 제어(RBAC)는 소유자가 아닌 시스템에 의해 접근 정책이 결정된다. RBAC는 상업용 애플리케이션과 다단계 보안 요구 사항이 있는 군사 시스템에서 사용된다. RBAC는 DAC와 달리 DAC는 사용자가 자신의 리소스에 대한 접근을 제어할 수 있지만, RBAC에서는 접근이 사용자의 제어 범위를 벗어난 시스템 수준에서 제어된다는 점에서 차이가 있다. RBAC는 비재량적이지만, 권한 처리 방식에서 주로 MAC과 구별된다. MAC은 사용자의 허가 수준과 추가적인 레이블에 따라 읽기 및 쓰기 권한을 제어한다. RBAC는 전자 상거래 거래와 같은 복잡한 작업이나 읽기 또는 쓰기와 같이 간단할 수 있는 권한 모음을 제어한다. RBAC의 역할은 권한 집합으로 볼 수 있다.RBAC에는 세 가지 주요 규칙이 정의되어 있다.
# 역할 할당: 주체는 적절한 역할을 선택했거나 할당받은 경우에만 트랜잭션을 실행할 수 있다.
# 역할 권한 부여: 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다. 위의 규칙 1과 함께 이 규칙은 사용자가 권한이 부여된 역할만 수행할 수 있도록 보장한다.
# 트랜잭션 권한 부여: 주체는 해당 트랜잭션이 주체의 활성 역할에 대해 권한이 부여된 경우에만 트랜잭션을 실행할 수 있다. 규칙 1 및 2와 함께 이 규칙은 사용자가 권한이 부여된 트랜잭션만 실행할 수 있도록 보장한다.
추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 레벨 역할이 하위 레벨 하위 역할이 소유한 권한을 포함하는 계층 구조로 결합될 수 있다.
대부분의 IT 공급업체는 하나 이상의 제품에서 RBAC를 제공한다.
4. 3. 3. 트랜잭션 권한 부여
역할 기반 접근 제어(RBAC)는 소유자가 아닌 시스템에 의해 결정되는 접근 정책이다. RBAC는 상업용 애플리케이션과 다단계 보안 요구 사항이 존재할 수 있는 군사 시스템에서도 사용된다. RBAC는 DAC와 달리 DAC는 사용자가 자신의 리소스에 대한 접근을 제어할 수 있는 반면, RBAC에서는 접근이 사용자의 제어 범위를 벗어난 시스템 수준에서 제어된다는 점에서 차이가 있다. RBAC는 비재량적이지만, 권한이 처리되는 방식에서 주로 MAC과 구별될 수 있다. MAC은 사용자의 허가 수준과 추가적인 레이블에 따라 읽기 및 쓰기 권한을 제어한다. RBAC는 전자 상거래 거래와 같은 복잡한 작업을 포함하거나 읽기 또는 쓰기와 같이 간단할 수 있는 권한 모음을 제어한다. RBAC의 역할은 권한 집합으로 볼 수 있다.RBAC에 대해 세 가지 주요 규칙이 정의되어 있다.
# 역할 할당: 주체는 적절한 역할을 선택했거나 할당받은 경우에만 트랜잭션을 실행할 수 있다.
# 역할 권한 부여: 주체의 활성 역할은 해당 주체에 대해 권한이 부여되어야 한다. 위의 규칙 1과 함께 이 규칙은 사용자가 권한이 부여된 역할만 수행할 수 있도록 보장한다.
# 트랜잭션 권한 부여: 주체는 해당 트랜잭션이 주체의 활성 역할에 대해 권한이 부여된 경우에만 트랜잭션을 실행할 수 있다. 규칙 1 및 2와 함께 이 규칙은 사용자가 권한이 부여된 트랜잭션만 실행할 수 있도록 보장한다.
추가적인 제약 조건도 적용될 수 있으며, 역할은 상위 레벨 역할이 하위 레벨 하위 역할이 소유한 권한을 포함하는 계층 구조로 결합될 수 있다.
대부분의 IT 공급업체는 하나 이상의 제품에서 RBAC를 제공한다.
4. 4. 속성 기반 접근 통제 (Attribute-Based Access Control, ABAC)
속성 기반 접근 제어(ABAC)에서[5][6] 접근 권한은 인증 후 사용자와 관련된 주체의 권한에 따라 부여되는 것이 아니라, 주체, 객체, 요청된 작업 및 환경 조건의 속성을 정책, 규칙 또는 주어진 속성 집합에 대한 허용 가능한 작업을 설명하는 관계에 따라 부여된다.[7] 사용자는 접근 제어 엔진에 대해 자신의 속성에 대한 소위 주장을 증명해야 한다. 속성 기반 접근 제어 정책은 객체에 대한 접근 권한을 부여하기 위해 충족되어야 하는 주장을 지정한다. 예를 들어 주장은 "18세 이상"일 수 있다. 이 주장을 증명할 수 있는 모든 사용자에게 접근 권한이 부여된다. 인증 및 식별이 엄격하게 요구되지 않는 경우 사용자는 익명일 수 있다. 그러나 주장을 익명으로 증명할 수 있는 수단이 필요하다. 이는 예를 들어 익명 자격 증명을 사용하여 달성할 수 있다. XACML(확장 가능한 접근 제어 마크업 언어)은 속성 기반 접근 제어를 위한 표준이다. XACML 3.0은 2013년 1월에 표준화되었다.[8]4. 4. 1. XACML
속성 기반 접근 제어(ABAC)에서[5][6] 접근 권한은 인증 후 사용자와 관련된 주체의 권한에 따라 부여되는 것이 아니라, 주체, 객체, 요청된 작업 및 환경 조건의 속성을 정책, 규칙 또는 주어진 속성 집합에 대한 허용 가능한 작업을 설명하는 관계에 따라 부여된다.[7] 사용자는 접근 제어 엔진에 대해 자신의 속성에 대한 소위 주장을 증명해야 한다. 속성 기반 접근 제어 정책은 객체에 대한 접근 권한을 부여하기 위해 충족되어야 하는 주장을 지정한다. 예를 들어 주장은 "18세 이상"일 수 있다. 이 주장을 증명할 수 있는 모든 사용자에게 접근 권한이 부여된다. 인증 및 식별이 엄격하게 요구되지 않는 경우 사용자는 익명일 수 있다. 그러나 주장을 익명으로 증명할 수 있는 수단이 필요하다. 이는 예를 들어 익명 자격 증명을 사용하여 달성할 수 있다. XACML(확장 가능한 접근 제어 마크업 언어)은 속성 기반 접근 제어를 위한 표준이다. XACML 3.0은 2013년 1월에 표준화되었다.[8]4. 5. 비상시 접근 통제 (Break-Glass Access Control)
전통적으로 접근 제어의 목적은 접근을 제한하는 것이므로 대부분의 접근 제어 모델은 "기본 거부 원칙"을 따른다.[9] 즉, 특정 접근 요청이 명시적으로 허용되지 않으면 거부된다. 이러한 동작은 시스템의 정규 작동과 충돌할 수 있다. 특정 상황에서, 인간은 달성할 수 있는 잠재적 이점이 이 위험보다 클 경우 접근 제어 정책 위반과 관련된 위험을 감수하려 한다. 이러한 필요성은 환자 기록에 대한 접근 거부가 환자의 죽음을 초래할 수 있는 의료 분야에서 특히 두드러진다.[9] 비상시 접근 통제, 즉 브레이크 글래스(Break-Glass, 깨뜨리기)는 사용자가 접근 제어 결정을 재정의하도록 허용하여 이러한 문제를 완화하려 한다.[9] 브레이크 글래스는 접근 제어 방식으로 구현되거나,[9] 일반적인 방식(즉, 기본 접근 제어 모델과 독립적)으로 구현될 수 있다.[10]5. 호스트 기반 접근 통제 (Host-Based Access Control, HBAC)
HBAC는 "호스트 기반 접근 제어(host-based access control)"의 약자이다.
6. 한국 사회와 접근 통제
6. 1. 개인정보보호
6. 2. 기업 보안
6. 3. 국가 안보
6. 4. 더불어민주당의 입장
참조
[1]
서적
ABCs of IBM Z/OS System Programming Volume 6
https://books.google[...]
IBM Corporation
2014-08-12
[2]
서적
Computer Security
Wiley Publishing
2011
[3]
간행물
A UCONabc Resilient Authorization Evaluation for Cloud Computing
2014-02
[4]
간행물
Definition of: clipping level
https://www.pcmag.co[...]
2017-08-26
[5]
논문
A unified attribute-based access control model covering dac, mac and rbac
Springer Berlin Heidelberg
2012
[6]
간행물
Guide to Attribute Based Access Control (ABAC) Definition and Considerations
http://csrc.nist.gov[...]
[7]
간행물
Guide to Attribute Based Access Control (ABAC) Definition and Considerations (Draft)
https://citeseerx.is[...]
2013
[8]
문서
eXtensible Access Control Markup Language
https://lists.oasis-[...]
XACML
[9]
학술회의
How to Securely Break into RBAC: The BTG-RBAC Model
IEEE
[10]
학술회의
Extending Access Control Models with Break-glass.
http://www.brucker.c[...]
ACM Press
[11]
웹사이트
Identity Management Guide: Managing Identity and Authorization Policies for Linux-Based Infrastructures
https://access.redha[...]
Red Hat
2014-01-06
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com