TacoRingo 2023. 10. 19. 10:22

<OAuth2 시스템의 네가지 주요 역할>

사용자 - Use case를 실행하려는 사람

 

Client - resource server에게 요청 및 응답 받음

 

Authorization Server - 사용자와 클라이언트 세부 정보를 관리하고 인증하도록 허용하며 

                                    권한 부여 수단으로 사용할 토큰을 제공

 

Resource Server - Authorization Server에게 Access Token을 부여 받은 Client가 요청을 하여

특정 Use case를 실행하거나 resource에 액세스 권한을 부여

 

 

 

OpenID Connect 

: OAuth2를 사용 할 때 일부 제약을 적용하여 OAuth2 클라이언트를 구현하는 프로토콜이다.

Grant Type

: 클라이언트가 토큰을 얻는 과정이다.

 

password grant type과 implicit grant type은 권장하지 않고

현재 가장 많이 사용되는 GrantType은 "authorization code grant type"이다.

 

Authorized redirect URIs

: client에 권한 부여 과정에서 Authorized code를 전달하는 통로다.

client <ㅡ> Resource Server 유효성 검사에서   

 

 

<OAuth2 취약점>

1. Client에서 CSRF 사용 - 사용자가 로그인한 상태에서, 애플리케이션이 CSRF를 적용하지 않으면 CSRF가 발생한다.

2. 자격증명을 보관하거나 보호하지 않은 상태에서 저장하거나 전송하면 공격자가 자격증명을 도용하여 사용 할 수 있다.

3. 토큰은 네트워크를 통해 보내며 때로는 누가 가로채서 재사용될 수 있다.