2019년 3월 11일
OAuth 2.0
I. 3rd Party 범용 인증 표준, OAuth 2.0의 개요
가. OAuth 2.0의 개념
- 외부 서비스(3rd Party)에서 Access Token 기반 제한된 자원 접근 및 인증을 위한 범용 인증 표준
나. OAuth 1.0a 대비 개선점
개선점 | 내용 |
---|---|
간단한 개발/문서화 | – 토큰 인증 방식, – 직관적 문서화 |
많은 인증방법 | – 시나리오 별 다양한 인증 방식 |
대형 서비스 확장성 | – 인증서버 분리와 다중화 |
II. OAuth 2.0 인증 절차 및 구성요소
가. OAuth 2.0 인증 절차
- 권한 획득 후 access token 기반 자원 제한적 접근
나. OAuth 2.0 구성요소
구성요소 | 역할 | 설명 |
---|---|---|
resource owner | 최종사용자 | – 자원 접근 권한 부여 개체 |
resource server | API 서버 | – 보호자원 호스팅, 서비스API 제공 |
client | 3rd party App | – access token으로 인증 가능 App |
authorization server | 인증 서버 | – access token 발급(권한 부여) |
access token | 자원 접근 권한 | – ID/PW 대체, 만료시간 |
III. OAuth 2.0 보안 취약점 및 보완 방안
취약점 | 보완 방안 |
---|---|
– CSRF token누락 시 계정 탈취 – redirect_uri 검증 미흡 시 계정 탈취 | – 인증 관련 모든 구간 SSL/TLS 적용 – API 호출 시 Access List 적용 – Redirect URI 검증 – scope 활용 필요 권한만 제공 |