일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Unity #Indie Game
- Security
- pdlc
- 메카님
- dtft
- frequency-domain spectrum analysis
- polymorphism
- convolution
- DSP
- stride
- STCF
- Race condition
- 게임개발
- MLFQ
- DP
- 유스케이스
- sampling theory
- 유니티
- RBAC
- Frequency Response
- 운영체제
- link layer
- SNR
- linear difference equation
- 배경 그림
- MAC
- dirty cow
- AINCAA
- 게임 개발
- ret2libc
- Today
- Total
다양한 기록
인증과 인가 본문
사용자가 정보 자원에 접근하기 위해서는..
> 1단계, 식별(Identifiaction) .. 인증 받으려고 하는 사람이 누구인가?
- 주체가 본인임을 주장, ID등을 이용해서 본인의 신원을 주장
> 2단계, 인증(Authentication) .. 인증 받으려는 사람이 진짜 그 사람인가?
- 주체가 자신이 주장한 신원임을 증명(개체 인증), 어떠한 자원을 사용하려는 주체의 신원을 식별
> 3단계, 인가(Authorization) .. 이 자원을 사용할 수 있는 사람인가?
- 인증을 획득한 주체가 자원에 접근하여 원하는 작업을 할 수 있는 권한이 있는지 확인
인증(Authentication)
- 개체인증, 메시지 인증
메시지 인증은 암호학적 해시 함수, 대칭키로 특정 데이터의 무결성 보장을 위해 사용
개체 인증은?
- 개체의 신원을 증명하기 위한 일련의 과정, 일반적이나 사람이나 기기
- 주장자(Claimant) : 자신의 신원을 증명하고자 하는 주체
- 검증자(Verifier) : 요구자의 신원을 증명하기 위해 노력하는 개체
개체 인증에 사용되는 속성
1. 알고 있는 것(something known, 인식 기반)
- 주장자만 알고 있는 비밀
2. 소유하고 있는 것(something possessed, 소유 기반)
- 주장자의 신원을 증명할 수 있는 어떤 대상
3. 태생적으로 가지고 있는 것(something inherent, 신체 특징 기반)
- 주장자의 타고난 특성
알고 있는 것(something known, 인식 기반)
패스워드 기반 인증: 가장 오랫동안 사용한 개체 인증 방법
- 고정된 패스워드
- 해쉬된 패스워드
- 솔트 사용 패스워드
고정된 패스워드
- 서버의 테이블에 패스워드를 그대로 저장해 비교 .. 테이블 외부 유출 시 모든 사용자의 패스워드 노출
해쉬된 패스워드
- 서버의 테이블이 노출되어도 해쉬 값의 역상을 알아야 공격 가능
- 전수조사 공격과 사전 공격에 취약할 수 있음
* SHA-3 입력값을 미리 전수조사 테이블 만들기도 가능
솔트 사용 패스워드
- 해쉬의 입력값을 증가시켜 전수조사를 어렵게 만듦
소유하고 있는 것(something possessed, 소유 기반)
- 패스포트, 운전면허증, 신분증, 신용카드, 스마트카드 등
태생적으로 가지고 있는 것(something inherent, 신체 특징 기반)
- FIDO(Fast Identoty Online): 현재의 아이디, 비밀번호 방식 대신 지문 인식, 홍채 인식 혹은 얼굴 인증 등의 다양한 생체 인식 기반의 개체 인증 시스템
인가
- 주체가 하고자 하는 작업이 해당 주체에게 허가된 작업인지 확인, 권한 부여, 접근 제어
- 일반적으로 인증을 거친 후 인증된 사용자에 대한 특정 권한을 부여(ex. ACL)
접근제어의 요소
- 주체(Subject): 사용자, 프로세스
- 객체(Object): 파일(레코드, 필드), 데이터베이스(테이블, 뷰), 프로그램
- 접근(Access): read, write, update, delete, excute ..
- 접근 제어(Access Control): 주체가 객체에 접근을 요구했을 때 이 요구를 수락할지 거절할지 결정하는 행위
접근 통제 기술 | 설명 |
접근 제어 리스트 (ACL, Access Control List) | 사용자 또는 자원 중심의 접근 통제 목록을 작성하여 접근 제어 시 목록을 비교하여 접근 통제 |
접근 제어 표(ACM, Access Control Matrix) | 자원 중심의 접근 통제 표를 작성하여 접근 제어 시 표와 비교하여 접근 통제 |
강제적 접근 제어 (MAC, Mandatory Access Control) | 사용자와 자원에 적절한 보안등급(레이블)을 부여하여 접근 제어 시 등급을 비교하여 접근 통제 |
역할 기반 접근 제어 (RBAC, Role Base Access Control) | 사용자에게 역할을 부여하고 각 역할 별로 권한을 부여하여 접근 통제 |
접근 제어 리스트 (ACL, Access Control List)
Alice | 급여정보 [R, W] |
주소정보 [R] |
|
Bob | 급여정보 [R] |
인사기록 [R, W] |
주소정보 [R] |
Eve | 인사기록 [R, ] |
주소정보 [R, W] |
접근 제어 표(ACM, Access Control Matrix)
급여 정보 | 인사기록 | 주소정보 | |
Alice | R, W | R | |
Bob | R | R, W | R |
Eve | R, W |
* ACL이나 ACM은 주체나 객체의 수가 너무 많으면 접근 제어 정보를 관리하기 매우 힘들어짐
ACM(ACL)을 이용한 접근 제어의 예
- 일반적으로 서버급 OS에서는 접근제어 리스트 사용
- 접근제어 리스트의 약점을 보완하기 위해 그룹 개념을 추가
- 비슷한 성격의 사용자들을 하나로 묶어서 그룹으로 지정하고, 개발 사용자에게 권한을 부여하는 대신 그룹에 권한 지정
강제적 접근 제어 (MAC, Mandatory Access Control)
- 주체와 객체에 적절한 보안 등급(레이블)을 부여하고 접근 제어 시 이 등급을 비교
- 주로 군사 환경과 같은 엄격한 보안이 요구되는 분야에 적합
- 보안 레이블: 컴퓨터 안에 존재하는 개체들이 얼마나 보안상 중요한가를 나타내는 속성
ex: Top Secret / Secret / Confidential / Unclassified
ex: Restricted / Proprietary / Sensitive / Public
BLP(Bell-LaPadula) 규칙 : No read up / No write down
자기보다 높은 수준의 레이블을 가지는 개체를 읽지 못하고, 낮은 수준의 레이블을 가지는 개체에 쓰지 못함
- 높은 보안 수준을 가지는 정보가 낮은 보안 수준을 지닌 곳으로 전이되지 않도록 하기 위험
역할 기반 접근 제어 (RBAC, Role Base Access Control)
- 기업 환경으로부터 아이디어가 만들어짐
- 사용자가 어떤 역할을 수행하고 있는지에 따라 권한이 정해짐
'정보보호이론' 카테고리의 다른 글
기타 정보보호 이슈 (0) | 2024.12.17 |
---|---|
키 관리 (0) | 2024.12.16 |
공개키 암호 (0) | 2024.12.15 |
해시 함수, 공격, 응용, MAC (0) | 2024.10.28 |
블록 암호 - 운용모드 (0) | 2024.10.28 |