OAuth 2.0 요약 설명
출처 : https://tools.ietf.org/html/rfc6749
OAuth 2.0에 대한 흐름과 간단한 설명
Protocol Flow
* Resource Owner : 사람
* Client : 사람이 사용할 web site (사람에게 서비스를 제공하는 서버)
* Resource Server : 서비스를 제공하는 해도되는지 Clinet site에 알려주는 서버
* Authorization Server : 권한을 부여해 주는 서버 token을 발행
* 사람이 Client인 web site에 접근을 시도하니 Client는 사람에게 인증을 요구
* 인증을 요구하기 위해서 Client( 서비스 제공 site)는 클라이언트 ID와 Redirect URI 정보를 이용하여
* Authorization server에게 로그인 페이지 요구
* Authorization Server는 사람에게 로그인 페이지를 보여주고
* 사람은 아이디와 암호를 입력하여 Authorization Server에 전송
* Authorization Server는 입력된 아이디와 암호를 가지고 인증을 하고 인증 성공시
* 리소스 서버에 접근할 수 있는 토큰을 클라이언트에게 전송
* 클라이언트는 토큰을 가지고 리소스 서버에 접근하여 클라이언트가 제공해야 하는 서비스를 확인
* 리소스 서버가 허락한 서비스만을 클라이언트는 사람에게 제공
아래의 이미지는 refreshing an expired Access Token 입니다.
보안 취약점 CSRF, Covert Redirect
* CSFR은 계정 탈취에 많이 사용
- SNS에 연동하는 과정에서 계정이 탈취 당할 수 있음
* Covert Redirect rediret uri를 이용하여 넘어오는 query string (파라미터)를 검증하지 않았을 경우 발생
- 검증시에는 도메인과 함께 모든 파라미터 값을 검증해야 합니다.
좋은 참고 자료가 있어 일부 내용을 가지고 왔음
작성자가 삭제를 요청하시면 바로 삭제 하도록 하겠습니다.
아래의 모든 내용과 이미지 내용 출처 https://meetup.toast.com/posts/105
Covert Redirect 문제점
보안 점검하는 항목
OAuth 2.0 Authorization code grant 취약점 해결방법