본문 바로가기

CS 기술 면접 준비

인증 (Authentication) VS 인가 (Authorization) / 특징, 차이점

인증 (Authentication)

✍️ 사용자가 주장하는 신원을 확인하는 과정

  • 사용자가 누구인지 확인하는 단계로, 일반적으로 사용자 이름과 비밀번호를 통해 이루어진다.
  • 디지털 서비스에 액세스하려는 주체가 인증에 사용된 기술을 제어하고 있음을 확인한다.
  • 성공적인 인증은 오늘 서비스에 액세스하는 주체가 이전에 서비스에 액세스한 주체와 동일하다는 합리적인 위험 기반 보증을 제공한다.

 

특징

  1. 신원 확인 
    • 사용자가 누구인지 확인하는 작업이다.
  2. 정보 제공
    • 사용자가 자신의 정보를 제공하여 확인을 받는다.
  3. 예시 
    • 비밀번호 입력, 생체 인식, OTP(일회용 비밀번호) 입력 등
  4. 주요 목적 
    • 시스템이나 자원에 접근하기 전에 사용자가 정당한 접근 권한이 있는지를 확인하는 것이다.

 


인가 (Authorization)

✍️ 사용자가 특정 자원이나 기능에 접근할 수 있는 권한을 부여하는 과정

  • 인증이 완료된 후 사용자가 어떤 행동을 할 수 있는지를 결정한다.
  • 요청된 작업이나 서비스가 특정 엔터티에 대해 승인되었는지 확인하는 프로세스"로 정의할 수 있다.
  • 권한 부여는 엔터티의 신원을 확인하는 프로세스인 인증과는 다르다.
    • 소프트웨어 솔루션을 설계하고 개발할 때 이러한 구분을 염두에 두는 것이 중요하다.

 

특징

  1. 권한 부여
    • 사용자가 특정 자원에 접근할 수 있는 권한을 결정한다.
  2. 자원 기반
    • 사용자가 어떤 자원에 접근할 수 있는지를 정의한다.
  3. 예시
    • 특정 파일에 대한 읽기/쓰기 권한, 특정 기능 사용 여부 등
  4. 주요 목적
    • 인증된 사용자가 어떤 자원이나 기능을 사용할 수 있는지를 관리하는 것이다.

 


정리 📌

차이점

특징 인증 (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

 

728x90
SMALL

'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