170 likes | 425 Views
Chapter 8 Authorization. Access control matrix Multilevel Security Multilateral security Covert channel Inference control CAPTCHA Firewalls IDS. 접근 제어의 기본 개념. 접근 제어는 보호 받아야 할 시스템의 데이터와 자원에 대해서 행해지는 동작을 규제한다 . 목적 은 데이터와 자원에 손상을 입히는 동작을 규제하기 위해서 주체가 실행하는 동작을 제어하는 것이다 .
E N D
Chapter 8Authorization Access control matrix Multilevel Security Multilateral security Covert channel Inference control CAPTCHA Firewalls IDS
접근 제어의 기본 개념 • 접근 제어는 보호 받아야 할 시스템의 데이터와 자원에 대해서 행해지는 동작을 규제한다. • 목적은 데이터와 자원에 손상을 입히는 동작을 규제하기 위해서 주체가 실행하는 동작을 제어하는 것이다. • operating system와database management system (DBMS)의 일부로서 접근 제어의 문제를 생각해 보자. Chapter 8 Authorization
접근 요청 접근 제어의 기본 개념 • 동작을 수행하는 주체(subject)와 수동적인 객체(object)가 있다. • reference monitor는 접근을 허락하거나 거부한다. 객체 주체 Reference monitor Chapter 8 Authorization
객체 주체 접근 요청 Reference monitor 접근 제어 정책 Access Permissions 접근 제어의 기본 개념 Chapter 8 Authorization
접근 제어 행렬(Access Control Matrix) Chapter 8 Authorization
Lampson’s Access Control Matrix • 주체(사용자)는 열에 표시한다. • 객체(자원)는 행에 표시한다. Chapter 8 Authorization
어떻게 행렬을 관리하는가? • 접근 제어 행렬은 모든 관련된 정보를 갖고 있다. • 하지만 어떻게 커다란 행렬을 관리할 것인가? • 수천명의 사용자와 수천개의 자원들 • 그러면 행렬은 수백만개의 원소를 갖는다. • 특정 자원에 접근하기 전에 이 행렬을 조사하여야 한다: 비효율적 • 효율적인 사용을 위해서, 행렬을 관리할 수 있는 부분으로 나눈다; • 두가지 방법: 행(column)으로 혹은 열(row)로 Chapter 8 Authorization
Access Control Lists (ACLs) • ACL: 행(column)으로 보관 • 예: insurance data에 대한 ACL • ACL(insurance data) = {(Bob,---), (Alice,rw), (Sam,rw), (Acc prog, rw)} Chapter 8 Authorization
권한 목록(Capabilities or C-Lists) • 열(row)로 보관 • 예: Alice에 대한 C-List • C-list(Alice)= {(OS,rw), (Acct prog,rw), (Acct data,r), (Insur data,rw), (payroll data, rw)} Chapter 8 Authorization
ACLs vsCapabilities • 주요 차이점은 화살표의 방향이 반대라는 점이다! • ACL의 경우 여전히 사용자를 파일과 연관을 시키는 것이 필요하다. file1 Alice Alice file1 file2 Bob Bob file2 file3 file3 Fred Fred Capability Access Control List Chapter 8 Authorization
권한 위임 혼돈- 1/4 • 두 개의 자원과 한 명의 사용자 • 자원: 컴파일러와 청구서 파일 (BILL) • 사용자: Alice • 컴파일러는 청구서 파일에 쓸 수 있다. • Alice는 수정할 파일 이름을 컴파일러에게 넘겨줄 수 있다. • Alice는 청구서 파일에 쓸 수 없다. Access control matrix Compiler BILL Alice Compiler Chapter 8 Authorization
권한 위임 혼돈- 2/4 • 컴파일러는 Alice의 대리인으로 동작한다. • 컴파일러는 혼란스럽다. • Alice는 청구서 파일에 쓰는 것이 허락되지 않았다. • 컴파일러는 자신의 권한과 Alice의 권한을 혼동하게 된다. 수정 파일 이름 BILL “BILL” Compiler Alice BILL Chapter 8 Authorization
권한 위임 혼돈- 3/4 • Alice을 대신해서 컴파일러가 행동을 할 때 자신의 권한에 따라서 행동을 하게 된다. • 하지만 그 행동은 Alice의 권한에 따라야 한다. • 권한(authority)와 그것이 사용되는 목적 사이에 구분이 있다. • ACL은 이 문제를 피하는 것이 힘들다. • ACLs는 권한이 위임되는 것을 표시하기 힘들다. • ACL(insurance data) = {(Bob,---), (Alice,rw), (Sam,rw), (Acc prog, rw)} Chapter 8 Authorization
권한 위임 혼돈- 4/4 • Capabilities는 이 문제를 쉽게 피할 수 있다. • 권한과 그것이 의도하는 목적 간의 연관성을 유지해야 한다. • Capabilities는 권한이 위임되는 것을 나타내기 쉽다. • C-list(Alice)= {(OS,rw), (Acct prog,rw), (Acct data,r), (Insur data,rw), (payroll data, rw)} Chapter 8 Authorization
ACLs vs Capabilities • ACLs • 사용자들이 그들 자신의 파일들을 관리하는데 좋다. • 데이터 중심의 보호 • 자원에 대한 권리를 변경하기가 쉽다. • Capabilities • 위임(delegation)이 쉽다. • 사용자를 쉽게 추가/삭제할 수 있다. • 대리 혼돈(confused deputy)을 피하는 것이 쉽다. • 구현하기가 더 힘들다. • 학계에서는 Capabilities를 선호한다. Chapter 8 Authorization