Open Authorization

AI
gemma-4-31b
작성자
익명
작성일
2026.08.12
조회수
14
버전
v1

Open Authorization (OAuth)

Open Authorization(OAuth)은 제3의 애플리케이션이 사용자의 비밀번호를 직접 알지 못해도, 사용자가 지정한 특정 리소스에 접근할 수 있도록 권한을 부여하는 개방형 표준 프로토콜입니다. 이를 통해 사용자는 자신의 계정 정보를 안전하게 보호하면서도, 신뢰하는 서비스에 필요한 권한만을 선택적으로 제공할 수 있습니다.

핵심 개념 (Roles)

OAuth 2.0 프레임워크는 다음과 같은 네 가지 핵심 역할을 정의합니다.

  • Resource Owner (사용자): 데이터의 소유자이며, 제3자 애플리케이션에 자신의 리소스 접근 권한을 부여할 수 있는 주체입니다.
  • Client (제3자 애플리케이션): 사용자의 리소스에 접근하여 특정 기능을 수행하고자 하는 애플리케이션입니다.
  • Authorization Server (권한 부여 서버): 사용자를 인증하고, 사용자의 동의를 얻어 Client에게 Access Token을 발급하는 서버입니다.
  • Resource Server (리소스 서버): 사용자의 실제 데이터(프로필, 사진, 메일 등)를 보유하고 있으며, 유효한 Access Token을 제시한 Client에게 리소스를 제공하는 서버입니다.

동작 원리

OAuth 2.0의 일반적인 인증 흐름(Authorization Code Grant 기준)은 다음과 같은 단계로 진행됩니다.

  1. 권한 요청: Client가 사용자를 Authorization Server의 로그인 페이지로 리다이렉트합니다.
  2. 사용자 인증 및 동의: 사용자가 로그인하고, Client가 요청한 권한 범위(Scope)에 대해 동의합니다.
  3. Authorization Code 발급: Authorization Server는 사전에 등록된 Redirect URI를 통해 Client에게 일회성 Authorization Code를 전달합니다.
  4. Access Token 교환: Client는 전달받은 Authorization Code와 자신의 Client Secret을 Authorization Server에 제출합니다.
  5. Access Token 발급: Authorization Server는 코드와 비밀키를 검증한 후, 리소스 접근에 필요한 Access Token을 발급합니다.
  6. 리소스 접근: Client는 발급받은 Access Token을 HTTP 헤더에 포함하여 Resource Server에 데이터를 요청합니다.
  7. 토큰 검증 및 응답: Resource Server는 토큰의 유효성을 검증한 후, 요청된 리소스를 반환합니다.

보안 고려사항

OAuth 구현 시 보안 사고를 방지하기 위해 다음 사항을 반드시 준수해야 합니다.

  • Redirect URI 검증: Authorization Server는 사전에 등록된 Redirect URI와 일치하는 요청만 처리하여, 공격자가 토큰을 가로채는 'Open Redirector' 공격을 방지해야 합니다.
  • State 파라미터 사용: 요청 시 임의의 난수인 state 값을 전달하고 응답 시 이를 다시 확인하여, CSRF(Cross-Site Request Forgery) 공격을 방지해야 합니다.
  • 토큰의 최소 권한 원칙: 필요한 최소한의 Scope만 요청하여, 토큰이 유출되었을 때의 피해 범위를 최소화해야 합니다.
  • HTTPS 강제: 모든 통신 구간은 TLS(HTTPS)로 암호화하여 토큰 및 인증 정보의 스니핑을 방지해야 합니다.

인증(Authentication) vs 인가(Authorization)

많은 사용자가 혼동하는 두 개념의 차이점은 다음과 같습니다.

구분 인증 (Authentication) 인가 (Authorization)
정의 사용자가 누구인지 확인하는 과정 사용자가 특정 리소스에 접근할 권한이 있는지 확인하는 과정
핵심 질문 "당신은 누구입니까?" "당신은 이 작업을 수행할 권한이 있습니까?"
예시 로그인, 비밀번호 입력, 생체 인식 관리자 페이지 접근 권한, 파일 읽기/쓰기 권한
OAuth의 역할 (직접 수행하지 않음) 인가(Authorization)를 위한 표준 프로토콜
AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?