검수요청.png검수요청.png

"접근제어"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
잔글 (같이 보기)
1번째 줄: 1번째 줄:
'''접근제어'''(Access Control)는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다.  
+
'''접근제어'''(Access Control)는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다.<ref name="접근제어1"> 〈[https://terms.naver.com/entry.naver?docId=3431851&cid=58437&categoryId=58437 접근 제어]〉, 《네이버 지식백과》 </ref>
  
 
== 개요 ==  
 
== 개요 ==  
접근제어는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다. 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트이다. 운영체제, 데이터베이스, 응용 프로그램 및 네트워크 장비에서 각각 어떻게 접근 제어를 해야 하는지 살펴본다.<ref> 〈[https://terms.naver.com/entry.naver?docId=3431851&cid=58437&categoryId=58437 접근 제어]〉, 《네이버 지식백과》 </ref>
+
접근제어는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다. 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트이다. 운영체제, 데이터베이스, 응용 프로그램 및 네트워크 장비에서 각각 접근 제어된다.<ref name="접근제어1"></ref> 데이터 저장장치에 접근하는 권한을 정의하거나 제한하고, 권한 있는 자 및 프로그램, 기타 시스템만이 시스템 자원정보에 접근할 수 있도록 제한하며, 사용자 요청에 따라 시스템 자원을 지정하는 자원제어기의 기능을 수행한다.<ref name="접근제어2"> 〈[https://terms.naver.com/entry.naver?docId=3432527&cid=58445&categoryId=58445 접근 제어]〉, 《네이버 지식백과》 </ref>
 +
 
 +
==종류==
 +
===강제적 접근제어 방식===
 +
강제적 접근제어 방식(MAC : Mandatory Access Control)은 어떤 주체가 특정 객체에 접근할 때, 양자의 보안 레벨에 기초하여 낮은 수준의 주체가 높은 수준의 객체정보에 접근하는 것을 강제적으로 제한하는 방법이다. 컴퓨터의 모든 자원(중앙처리장치, 메모리, 프린터, 모니터, 저장장치 등)을 객체로 하고, 그 객체를 사용하고자 하는 것을 주체(사용자 및 모든 프로세스)로 설정하여, 각 객체 파일의 비밀 등급과 각 주체의 허가 등급을 부여한다. 이후 주체가 객체를 읽거나 기록하거나 실행시키고자 할 때마다 그 주체가 그 객체에 대한 권한을 가지고 있는지를 확인하는 방식이다.<ref name="접근제어2"></ref>
 +
 
 +
===임의적 접근제어 방식===
 +
임의적 접근제어 방식(DAC : Discretionary Access Control)은 자원의 소유자 혹은 관리자가 보안 관리자의 개입 없이 자율적 판단에 따라 접근 권한을 다른 사용자에게 부여하는 기법을 말한다. 따라서 자원의 보호보다는 자원의 공동 활용이 더 중요시되는 환경에 적합하며, 기업 환경에는 자원의 유출 가능성을 내포하고 있다. DAC은 특별한 사용자나 그들이 소속되어 있는 그룹들의 식별자(ID)에 근거하여 객체에 대한 접근을 제공한다. 접근제어는 객체의 소유자에 의하여 임의적으로 이루어진다. 그러므로 특정 객체에 대한 접근 허가를 가지고 있는 한 주체는 임의의 다른 주체에게 자신의 허가를 넘겨줄 수 있다. 즉 추가적인 접근제어는 그 사용자에게 일임하는 방식이다. 따라서 임의적 접근제어 방식은 하나의 주체 대 객체 단위로 접근 제한을 설정할 수 있고, 이러한 접근 제한은 모든 주체 및 객체들 간에 동일하지 않다. 즉 한 주체가 특정한 비밀 등급의 한 객체에 대한 접근을 허가하지 않는 임의적 접근제어 정책을 수립해도 그 주체가 그러한 비밀 등급을 갖는 다른 객체들에게 접근하는 것은 방지할 수 없다.<ref name="접근제어2"></ref>
 +
 
 +
===역할 기반 접근제어 방식===
 +
역할 기반 접근제어 방식(RBAC : Role Based Access Control)은 역할 기반 접근제어 방식은 접근제어 관리 작업을 단순화하고 기능 기반 접근제어를 직접 제공하기 위해 DAC과 MAC 메커니즘의 대안으로 제안됐다. 역할 기반 접근제어 방식의 핵심 개념은 권한을 역할과 연관시키고, 사용자들이 적절한 역할을 할당받도록 하는 것이다. RBAC은 최소한의 보안 특권을 부여하는 보안 원리에 따라 유지되며, 그것은 어떤 사용자도 그 사람의 일을 수행하는 데 필요한 권한 이상을 가지지 않는다. 또한 한 조직이 슈퍼 유저의 능력들을 분리할 수 있게 해주고, 특정 개인들을 그들의 일의 필요에 따라 할당하기 위한 특별 사용자 계정혹은 역할로 포장할 수 있게 해준다. 따라서 다양한 보안 정책이 가능하다. 계정들은 보안, 네트워킹, 방화벽, 백업, 그리고 시스템 운영과 같은 영역에서 특정 목적의 관리자를 위해 설정될 수 있다. 한 명의 강력한 관리자를 선호하고 사용자들이 그들 자신의 시스템 일부를 고칠 수 있기를 원하는 사이트는 상급 사용자(Advanced User) 역할을 설정할 수 있다. 보안 측면에서 RBAC은 기술만이 아니라 산업에 적용되는 방식이기도 하다. RBAC은 시스템 제어를 재할당하는 수단을 제공하지만, 구현을 결정하는 것은 그 조직이다. RBAC 모델은 2004년에 ANSI 표준으로 등재되었으며, 모델의 설명·기능·스펙까지 표준문서에 정리되어 있어 개발자에게 좋은 가이드가 될 것이다. 표준에서는 RBAC을 세 가지 모델로 구분하고 있다.<ref name="접근제어2">
 +
 
 +
====핵심(Core) RBAC 모델====
 +
====계층적(Hierarchical) RBAC 모델====
 +
====한정된(Constrained) RBAC 모델====
 +
 
 +
===접근제어 기법들 비교===
 +
강제적 접근제어 방식은 사용자와 객체에게 부과된 보안 등급(Security Level)을 기반으로 접근 통제를 수행하며, 임의적 접근제어 방식은 객체에 부여된 허가, 거부 정책에 기반하여 객체에 대한 접근을 통제한다. 상용 환경에서는 정보의 변경 가능성이 불법 사용자에 의한 정보의 접근 가능성인 비밀성보다 더 중요한 관심사가 될 수 있다. 예를 들어 은행 업무에서 예금계좌의 정보변경이 예금계좌와 관련된 정보의 접근보다 더 위협적일 수 있다. 강제적 접근제어 방식은 등급화된 정보 기밀성을 위한 보안에 초점이 맞춰져 있고, 임의적 접근제어 방식은 접근권한이 객체의 소유자(owner)에 의해 임의로 변경될 수 있기 때문에 기업이나 정부 조직과 같이 무결성을 요구하는 상업적 응용의 정보 보안에는 부적절하다. 이러한 이유로 무결성 제어가 필요한 상용 환경에서는 역할 기반 접근제어 방식이 대안으로 주목받고 있다. 역할 기반 접근제어 방식은 필요할 때 강제적 접근제어 방식, 임의적 접근제어 방식과 함께 사용될 수 있는 접근 통제의 독자적인 요소이다. 이것은 세 가지 접근제어 방식에 의해 모두 허가되었을 경우에 허락된다.<ref name="접근제어2"></ref>
 +
 
 +
==인증 vs 인가==
 +
[[인증]]과 [[인가]]를 종종 같은 의미로 사용하는 경우가 많다. 하지만 인증(Authentication)과 인가(Authorization)는 엄연히 다른 개념으로 둘의 차이점을 명확히 알고 있어야 한다. 인증(Authentication)은 사용자가 누구인지 판별하는 것을 말한다. 보통 서비스에 로그인하는 과정이 이에 해당한다. 그 사용자가 서비스에 회원 가입을 한 사용자이며 그 사용자가 누구인지 판별하는 것이다. 인가(Authorization)는 어떤 사용자가 어떤 행위(action)을 수행할 권한을 가지고 있는지를 판별하는 것을 말한다. 예를 들어 네이버 카페 같은 곳에 가입을 하면 회원 등급에 따라 특정 게시판에 글을 읽을 수는 있지만 쓸 수는 없는 경우가 있는데 이러한 경우가 바로 인가(Authorization)에 해당한다. 당연하게도 인가를 수행하기 위해서는 인증이 선행되어야 한다. 먼저 그 사용자가 누구인지 판별이 되어야 그 사용자에 대한 권한을 판별할 수 있기 때문이다.<ref name="Luniverse"> Luniverse, 〈[https://www.luniverse.io/2021/02/26/access-control-models/?lang=ko 접근 제어의 종류와 구현 방법]〉, 《Luniverse》, 2021-02-26 </ref>  
  
  
8번째 줄: 28번째 줄:
  
 
== 참고자료 ==
 
== 참고자료 ==
*〈[https://terms.naver.com/entry.naver?docId=3431851&cid=58437&categoryId=58437 접근 제어]〉, 《네이버 지식백과》
+
* 〈[https://terms.naver.com/entry.naver?docId=3431851&cid=58437&categoryId=58437 접근 제어]〉, 《네이버 지식백과》
 
+
* 〈[https://terms.naver.com/entry.naver?docId=3432527&cid=58445&categoryId=58445 접근 제어]〉, 《네이버 지식백과》
 +
* Luniverse, 〈[https://www.luniverse.io/2021/02/26/access-control-models/?lang=ko 접근 제어의 종류와 구현 방법]〉, 《Luniverse》, 2021-02-26
 
== 같이 보기 ==
 
== 같이 보기 ==
 
* [[접근]]
 
* [[접근]]

2021년 7월 19일 (월) 14:56 판

접근제어(Access Control)는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다.[1]

개요

접근제어는 적절한 권한을 가진 인가지만 특정 시스템이나 정보에 접근할 수 있도록 통제하는 것으로, 시스템의 보안 수준을 갖추기 위한 가장 기본적 수단이다. 시스템 및 네트워크에 대한 접근 제어의 가장 기본적인 수단은 IP와 서비스 포트이다. 운영체제, 데이터베이스, 응용 프로그램 및 네트워크 장비에서 각각 접근 제어된다.[1] 데이터 저장장치에 접근하는 권한을 정의하거나 제한하고, 권한 있는 자 및 프로그램, 기타 시스템만이 시스템 자원정보에 접근할 수 있도록 제한하며, 사용자 요청에 따라 시스템 자원을 지정하는 자원제어기의 기능을 수행한다.[2]

종류

강제적 접근제어 방식

강제적 접근제어 방식(MAC : Mandatory Access Control)은 어떤 주체가 특정 객체에 접근할 때, 양자의 보안 레벨에 기초하여 낮은 수준의 주체가 높은 수준의 객체정보에 접근하는 것을 강제적으로 제한하는 방법이다. 컴퓨터의 모든 자원(중앙처리장치, 메모리, 프린터, 모니터, 저장장치 등)을 객체로 하고, 그 객체를 사용하고자 하는 것을 주체(사용자 및 모든 프로세스)로 설정하여, 각 객체 파일의 비밀 등급과 각 주체의 허가 등급을 부여한다. 이후 주체가 객체를 읽거나 기록하거나 실행시키고자 할 때마다 그 주체가 그 객체에 대한 권한을 가지고 있는지를 확인하는 방식이다.[2]

임의적 접근제어 방식

임의적 접근제어 방식(DAC : Discretionary Access Control)은 자원의 소유자 혹은 관리자가 보안 관리자의 개입 없이 자율적 판단에 따라 접근 권한을 다른 사용자에게 부여하는 기법을 말한다. 따라서 자원의 보호보다는 자원의 공동 활용이 더 중요시되는 환경에 적합하며, 기업 환경에는 자원의 유출 가능성을 내포하고 있다. DAC은 특별한 사용자나 그들이 소속되어 있는 그룹들의 식별자(ID)에 근거하여 객체에 대한 접근을 제공한다. 접근제어는 객체의 소유자에 의하여 임의적으로 이루어진다. 그러므로 특정 객체에 대한 접근 허가를 가지고 있는 한 주체는 임의의 다른 주체에게 자신의 허가를 넘겨줄 수 있다. 즉 추가적인 접근제어는 그 사용자에게 일임하는 방식이다. 따라서 임의적 접근제어 방식은 하나의 주체 대 객체 단위로 접근 제한을 설정할 수 있고, 이러한 접근 제한은 모든 주체 및 객체들 간에 동일하지 않다. 즉 한 주체가 특정한 비밀 등급의 한 객체에 대한 접근을 허가하지 않는 임의적 접근제어 정책을 수립해도 그 주체가 그러한 비밀 등급을 갖는 다른 객체들에게 접근하는 것은 방지할 수 없다.[2]

역할 기반 접근제어 방식

역할 기반 접근제어 방식(RBAC : Role Based Access Control)은 역할 기반 접근제어 방식은 접근제어 관리 작업을 단순화하고 기능 기반 접근제어를 직접 제공하기 위해 DAC과 MAC 메커니즘의 대안으로 제안됐다. 역할 기반 접근제어 방식의 핵심 개념은 권한을 역할과 연관시키고, 사용자들이 적절한 역할을 할당받도록 하는 것이다. RBAC은 최소한의 보안 특권을 부여하는 보안 원리에 따라 유지되며, 그것은 어떤 사용자도 그 사람의 일을 수행하는 데 필요한 권한 이상을 가지지 않는다. 또한 한 조직이 슈퍼 유저의 능력들을 분리할 수 있게 해주고, 특정 개인들을 그들의 일의 필요에 따라 할당하기 위한 특별 사용자 계정혹은 역할로 포장할 수 있게 해준다. 따라서 다양한 보안 정책이 가능하다. 계정들은 보안, 네트워킹, 방화벽, 백업, 그리고 시스템 운영과 같은 영역에서 특정 목적의 관리자를 위해 설정될 수 있다. 한 명의 강력한 관리자를 선호하고 사용자들이 그들 자신의 시스템 일부를 고칠 수 있기를 원하는 사이트는 상급 사용자(Advanced User) 역할을 설정할 수 있다. 보안 측면에서 RBAC은 기술만이 아니라 산업에 적용되는 방식이기도 하다. RBAC은 시스템 제어를 재할당하는 수단을 제공하지만, 구현을 결정하는 것은 그 조직이다. RBAC 모델은 2004년에 ANSI 표준으로 등재되었으며, 모델의 설명·기능·스펙까지 표준문서에 정리되어 있어 개발자에게 좋은 가이드가 될 것이다. 표준에서는 RBAC을 세 가지 모델로 구분하고 있다.인용 오류: <ref> 태그를 닫는 </ref> 태그가 없습니다

인증 vs 인가

인증인가를 종종 같은 의미로 사용하는 경우가 많다. 하지만 인증(Authentication)과 인가(Authorization)는 엄연히 다른 개념으로 둘의 차이점을 명확히 알고 있어야 한다. 인증(Authentication)은 사용자가 누구인지 판별하는 것을 말한다. 보통 서비스에 로그인하는 과정이 이에 해당한다. 그 사용자가 서비스에 회원 가입을 한 사용자이며 그 사용자가 누구인지 판별하는 것이다. 인가(Authorization)는 어떤 사용자가 어떤 행위(action)을 수행할 권한을 가지고 있는지를 판별하는 것을 말한다. 예를 들어 네이버 카페 같은 곳에 가입을 하면 회원 등급에 따라 특정 게시판에 글을 읽을 수는 있지만 쓸 수는 없는 경우가 있는데 이러한 경우가 바로 인가(Authorization)에 해당한다. 당연하게도 인가를 수행하기 위해서는 인증이 선행되어야 한다. 먼저 그 사용자가 누구인지 판별이 되어야 그 사용자에 대한 권한을 판별할 수 있기 때문이다.[3]


각주

  1. 1.0 1.1 접근 제어〉, 《네이버 지식백과》
  2. 2.0 2.1 2.2 접근 제어〉, 《네이버 지식백과》
  3. Luniverse, 〈접근 제어의 종류와 구현 방법〉, 《Luniverse》, 2021-02-26

참고자료

같이 보기


  검수요청.png검수요청.png 이 접근제어 문서는 보안에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.