728x90
반응형
SMALL
인증(Authentication)과 인가(Authorization)의 차이점
인증과 인가는 모두 보안 시스템에서 중요한 개념으로, 사용자가 누구인지 확인하고 그들이 특정 자원에 접근할 수 있는 권한을 가졌는지 판단하는 과정입니다. 둘은 혼동하기 쉽지만, 역할과 목적이 완전히 다릅니다.
1. 인증 (Authentication)
정의
- 인증은 사용자가 "누구인지 확인하는 과정"입니다.
- 시스템은 사용자가 자신이 주장하는 본인인지 확인하기 위해 비밀번호, 인증 코드, 생체 정보 등을 요구합니다.
목표
- 신원 확인: 사용자가 시스템에 접근하기 전에 신원을 증명.
- 웹사이트 로그인 시, 이메일과 비밀번호 입력.
- 지문, 얼굴 인식 등 생체 인증.
방식
- 무엇을 알고 있는가? (What you know) 비밀번호, PIN 코드와 같은 지식 기반 인증.
- 무엇을 가지고 있는가? (What you have) OTP(일회용 비밀번호), 인증 토큰 등 소유 기반 인증.
- 무엇인가? (What you are) 지문, 얼굴 인식, 홍채 스캔 등 생체 기반 인증.
실제 사례
- 사용자가 이메일과 비밀번호로 로그인.
- 지문 인식을 통해 스마트폰 잠금 해제.
용어 정리
용어 | 설명 |
---|---|
OTP (One-Time Password) | 한 번만 사용할 수 있는 임시 비밀번호. 모바일 앱이나 이메일로 제공됨. |
생체 인증 (Biometric Authentication) | 지문, 얼굴, 홍채와 같은 신체적 특징을 사용해 사용자를 확인하는 방법. |
2FA (Two-Factor Authentication) | 두 가지 인증 요소를 사용하는 방법. 예: 비밀번호 + OTP. |
2. 인가 (Authorization)
정의
- 인가는 사용자가 특정 "권한이 있는 작업이나 자원에 접근할 수 있는지 확인하는 과정"입니다.
- 인증이 완료된 사용자에 대해 "무엇을 할 수 있는지" 결정합니다.
목표
- 접근 권한 관리: 사용자가 시스템에서 허용된 작업만 수행하도록 제한.
- 일반 사용자는 특정 페이지에 접근할 수 없지만, 관리자는 접근 가능.
- 사용자 계정에는 읽기 전용 권한이 있지만, 관리자 계정은 쓰기 권한도 있음.
방식
- 역할 기반 접근 제어 (RBAC: Role-Based Access Control)
- 사용자의 역할에 따라 접근 권한을 설정.
- 예: "일반 사용자", "관리자", "슈퍼 관리자".
- 규칙 기반 접근 제어 (ABAC: Attribute-Based Access Control)
- 사용자 속성과 요청 조건에 따라 접근 결정.
- 예: "평일 오전 9시~오후 6시만 접근 허용".
- 리소스 기반 제어
- 특정 리소스에 대해 사용자의 권한을 설정.
- 예: 파일 읽기, 쓰기, 삭제 권한.
실제 사례
- 인증 후, 사용자가 "읽기" 권한만 있는 경우 파일 수정 불가.
- 관리자만 특정 데이터베이스 항목 삭제 가능.
용어 정리
용어 | 설명 |
---|---|
RBAC (Role-Based Access Control) | 역할 기반으로 권한을 관리하는 방식. 예: "관리자"는 모든 권한을 가짐, "사용자"는 제한된 권한만 가짐. |
ABAC (Attribute-Based Access Control) | 사용자 속성과 조건에 따라 권한을 관리하는 방식. 예: 특정 시간에만 작업 허용. |
리소스 (Resource) | 시스템이 관리하는 데이터나 파일, 서비스 등을 의미. 예: 데이터베이스, 파일, API. |
3. 인증과 인가의 차이
특성 | 인증 (Authentication) | 인가 (Authorization) |
---|---|---|
질문 | "당신은 누구입니까?" | "당신이 이것을 할 수 있습니까?" |
목적 | 사용자의 신원을 확인 | 사용자가 특정 작업이나 자원에 접근 가능한지 결정 |
순서 | 인증이 먼저 수행됨 | 인증 후에 수행됨 |
기술 | 비밀번호, OTP, 생체 인증 등 | RBAC, ABAC, 권한 목록 관리 |
예시 | 웹사이트 로그인, 지문 인식 | 관리자는 파일 삭제 가능, 일반 사용자는 읽기만 가능 |
결과 | "이 사용자는 Alice입니다." | "Alice는 이 파일에 접근할 수 없습니다." |
4. 요약
인증 (Authentication) : "당신이 누구인지 확인".
- 비밀번호, OTP, 생체 인증 등으로 신원 확인.
인가 (Authorization) : "당신이 무엇을 할 수 있는지 결정".
- 역할, 속성, 리소스 기반으로 접근 권한 관리.
반응형
SMALL
'보안' 카테고리의 다른 글
로드 밸런싱의 필요성 : 쉬운설명 (0) | 2024.12.10 |
---|---|
JWT (JSON Web Token)의 사용과 보안 고려 사항 (2) | 2024.12.10 |
XSS(Cross-Site Scripting)와 CSRF(Cross-Site Request Forgery)의 차이점과 방어 방법 (1) | 2024.12.08 |
SSL/TLS의 역할과 동작 방식 (0) | 2024.12.08 |
대칭키와 비대칭키 암호화의 차이점 (0) | 2024.12.08 |