인증 (Authentication)
✍️ 사용자가 주장하는 신원을 확인하는 과정
- 사용자가 누구인지 확인하는 단계로, 일반적으로 사용자 이름과 비밀번호를 통해 이루어진다.
- 디지털 서비스에 액세스하려는 주체가 인증에 사용된 기술을 제어하고 있음을 확인한다.
- 성공적인 인증은 오늘 서비스에 액세스하는 주체가 이전에 서비스에 액세스한 주체와 동일하다는 합리적인 위험 기반 보증을 제공한다.
특징
- 신원 확인
- 사용자가 누구인지 확인하는 작업이다.
- 정보 제공
- 사용자가 자신의 정보를 제공하여 확인을 받는다.
- 예시
- 비밀번호 입력, 생체 인식, OTP(일회용 비밀번호) 입력 등
- 주요 목적
- 시스템이나 자원에 접근하기 전에 사용자가 정당한 접근 권한이 있는지를 확인하는 것이다.
인가 (Authorization)
✍️ 사용자가 특정 자원이나 기능에 접근할 수 있는 권한을 부여하는 과정
- 인증이 완료된 후 사용자가 어떤 행동을 할 수 있는지를 결정한다.
- 요청된 작업이나 서비스가 특정 엔터티에 대해 승인되었는지 확인하는 프로세스"로 정의할 수 있다.
- 권한 부여는 엔터티의 신원을 확인하는 프로세스인 인증과는 다르다.
- 소프트웨어 솔루션을 설계하고 개발할 때 이러한 구분을 염두에 두는 것이 중요하다.
특징
- 권한 부여
- 사용자가 특정 자원에 접근할 수 있는 권한을 결정한다.
- 자원 기반
- 사용자가 어떤 자원에 접근할 수 있는지를 정의한다.
- 예시
- 특정 파일에 대한 읽기/쓰기 권한, 특정 기능 사용 여부 등
- 주요 목적
- 인증된 사용자가 어떤 자원이나 기능을 사용할 수 있는지를 관리하는 것이다.
정리 📌
차이점
특징 | 인증 (Authentication) | 인가 (Authorization) |
정의 | 사용자가 누구인지 확인하는 과정 | 사용자가 어떤 자원에 접근할 수 있는지를 결정하는 과정 |
목적 | 신원 확인 | 권한 부여 |
프로세스 | 사용자 정보 제공 | 접근 권한 확인 |
주요 사용 예시 | 로그인 기능 | 특정 페이지 접근, API 사용 권한 |
인증
✅ 사용자가 "사용자 본인 누구다" 라고 주장할 때, 그것이 진짜인지 확인하는 과정이다.
ex. 로그인할 때 입력하는 사용자의 이름과 비밀번호가 인증이다.
인가
✅ 인증 후 "사용자가 사용할 수 있다" 라고 결정하는 과정이다.
ex. 회사의 특정 파일을 열 수 있는 권한이 있을 때 인가가 이루어진다.
🔖 인증은 사용자의 신원을 확인, 인가는 사용자가 어떤 행동이나 자원에 접근할 수 있는지를 결정하는 것
<참고 사이트>
https://pages.nist.gov/800-63-3/sp800-63-3.html
NIST Special Publication 800-63-3
NIST Special Publication 800-63-3
pages.nist.gov
https://cheatsheetseries.owasp.org/cheatsheets/Authorization_Cheat_Sheet.html
Authorization - OWASP Cheat Sheet Series
Authorization Cheat Sheet Introduction Authorization may be defined as "the process of verifying that a requested action or service is approved for a specific entity" (NIST). Authorization is distinct from authentication which is the process of verifying a
cheatsheetseries.owasp.org
'CS 기술 면접 준비' 카테고리의 다른 글
정규 표현식이란? (1) | 2025.01.22 |
---|---|
유효성 체크(검사)란? (1) | 2025.01.22 |
쿠키 (Cookie)와 세션 (Session) (2) | 2025.01.21 |
Singleton Pattern (2) | 2025.01.21 |
의존성 주입의 방법 (0) | 2025.01.20 |