File Protection
File에 대한 부적절한 접근 방지
- 다중 사용자 시스템에서 더욱 필요
접근 제어가 필요한 연산들
- Read (R)
- Write (W)
- Execute (X)
- Append (A)
File Protection Mechanism
파일 보호 기법은 system size 및 응용 분야에 따라 다를 수 있음
1. Password 기법
ㆍ각 file들에 PW 부여
ㆍ비현실적
→ 사용자들이 파일 각각에 대한 PW를 기억해야 함
→ 접근 권한 별로 서로 다른 PW를 부여해야 함
2. Access Matrix 기법
ㆍ범위(domain)와 개체(object)사이의 접근 권한을 명시
(domain : 사용자, 개체 : 파일 이라고 생각할 수 있다.)
ㆍObject : 접근 대상 (file, device 등 HW/SW objects)
ㆍDomain (protection domain)
→ 접근 권한의 집합
→ 같은 권한을 가지는 그룹 (사용자, 프로세스)
ㆍAccess right
→ <object-name, rights-set>
Implementation of Access Matrix
Global Table
ㆍ시스템 전체 file들에 대한 권한을 table로 유지
ㆍ<domain-name, object-name, right-set>
ㆍ단점 : Large table size
Access List
- Access matrix의 열(column)을 list로 표현 : 각 object에 대한 접근 권한을 나열
- Object 생성 시, 각 domain에 대한 권한 부여
- Object 접근 시, 권한을 검사
- 실제 OS에서 많이 사용 됨
- 단점 : 파일에 접근할 때 마다, 접근 권한을 검사함
Capability List
- Access matrix의 행(row)을 list로 표현 : 각 domain에 대한 저근 권한 나열
- Capabilirt를 가지는 것이, 권한을 가진다는 것을 의미
ㆍ프로세스가 권한을 제시, 시스템이 검증 승인
- 시스템이 capability list 자체를 보호해야한다.
ㆍKernel안에 저장
Lock-key Mechanism
- Access list와 Capability list를 혼합한 개념
- object는 lock을, domain은 key를 가짐 : Lock / Key : unique bit patterns
- Domain 내 프로세스가 object의 lock 짝이 맞아야 함
- 시스템은 key list를 관리해야 함
Comparison of Implementations
- Global table
ㆍSimple, but can be large
- Access list
ㆍObject 별 권한 관리가 용이함
ㆍ모든 접근마다 권한을 검사해야 함 : Object에 많이 접근하는 경우 느려진다.
- Capability list
ㆍList 내, object 들 (localized Info)에 대한 접근에 유리
ㆍObject 별 권한 관리 (권한 취소 등)가 어려움
많은 OS가 Access list와 Capability list 개념을 함께 사용
ㆍObject 에 대한 첫 접근 → access list 탐색
→ 접근 허용 시, Capability 생성 후, 해당 프로세스에게 전달
→ 이후 접근 시에는 권한 검사 불필요
ㆍ마지막 접근 후, Capability 삭제
댓글