OAuth는 OpenAPI로 개발된 표준 인증 방식으로, 각종 애플리케이션에서 사용자 인증을 거칠때 활용될 수 있다.
목차[숨기기] |
[편집]개요
OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디과 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다.
기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등이 있다.
OAuth는 이렇게 제각각인 인증방식을 표준화한 인증방식이다. OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 된다.
[편집]역사
2006년 11월 브래인 쿡은 트위터에 OpenID를 탑재하는 작업을 하고 있었다. 같은 시기, 소셜 북마크 사이트인 Ma.gnolia는, 회원이 OpenID를 사용하여 대시보드 위젯으로 서비스에 접속할 수 있는 인증 방법을 필요로 하고 있었다. 이에 쿡, 크리스 메시나, 래리 하프(Ma.gnolia)는 데이비드 리코던(당시 베리사인)과 만나 OpenID를 활용해 트위터나 Ma.gnolia의 API로 인증을 위임하는 방법을 논의했다. 그 결과, API 접근 위임에 대한 공개 표준이 아직 존재하지 않는다는 결론에 이르렀다.
OAuth의 인터넷 커뮤니티는 2007년 4월에 탄생하여, 소수 인원으로 새로운 공개 프로토콜의 초안을 썼다. OAuth 프로젝트를 알게 된 구글의 드위트 클린턴은 지원을 표명했다. 2007년 7월, 팀은 사양 초안을 완성시켰다. 에런 해머래해브가 가세하여 많은 협력자들의 조정을 실시하여, 보다 정식적인 사양을 작성해나갔다. 2007년 10월 3일, OAuth 코어 1.0의 최종 초안이 발표되었다.
2008년 11월, 미네아폴리스에서 열린 제73회의 IETF 회합에서 OAuth의 비공식 회합도 열려 새로운 표준화를 향해 IETF에 OAuth 프로토콜을 제안할지를 논의했다. 회합은 성황을 이루었고 IETF에서 정식으로 OAuth 작업모임을 발족시키는 일에 폭넓은 지지를 얻을 수 있었다.
[편집]용어
OAuth에 관련된 용어들을 간략히 설명한다.
- 사용자(user): 서비스 공급자와 소비자를 사용하는 계정을 가지고 있는 개인
- 소비자(consumer): Open API를 이용하여 개발된 OAuth를 사용하여 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
- 서비스 공급자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
- 소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
- 요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
- 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.
[편집]인증방식
OAuth인증은 소비자와 서비스 공급자 사이에서 일어나는데 이 인증 과정은 다음과 같다.[1]
- 소비자가 서비스제공자에게 요청토큰을 요청한다.
- 서비스제공자가 소비자에게 요청토큰을 발급해준다.
- 소비자가 사용자를 서비스제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.
- 서비스제공자가 사용자를 소비자로 이동시킨다.
- 소비자가 접근토큰을 요청한다.
- 서비스제공자가 접근토큰을 발급한다.
- 발급된 접근토큰을 이용하여 소비자에서 사용자 정보에 접근한다.
[편집]주석
[편집]같이 보기
[편집]바깥 고리
===================================================================================
OAuth (오오스 [1] )은 브레인 쿡 과 크리스 메시나 시작한 개방형 프로토콜이며, 데스크톱, 모바일 Web 애플 리케이션과 같은 보안 API 인증(authorization)의 표준 방법을 제공한다.
목차[ 숨기기 ] |
배경 [ 편집 ]
매시 업 에 따르면 Web 서비스 제휴가 증가하고 디지털 ID 공유가 문제가되었다. OpenID 와 같은 연합 아이덴티티 가 해결책으로 등장했지만, 이것은 ID 소유자의 인증 수단이며,이를 통해 자원에 액세스할 수 있는지하는 허가 는 다루고 있지 않다. 있는 Web 서비스 A 사용자의 개인 정보가있을 때, 그 Web 서비스 A와 다른 Web 서비스 B가 연계하여 Web 서비스 A의 개인 정보를 Web 서비스 B가 자유롭게 접근할 수있는 상황은 바람직하지 않다. 따라서 Web 서비스 API에 대한 액세스를 허용하는 수단이 필요했다.
역사 [ 편집 ]
2006 년 11 월, 브레인 쿡 Twitter 에서 OpenID 구현을하고 있었다. 같은 무렵, 소셜 북마크 사이트 Ma.gnolia는 회원이 OpenID를 사용하여 Dashboard 위젯 서비스에 액세스하는 것을 허용하는 방법을 필요로하고 있었다. 그래서 쿡과 크리스 메시나, Ma.gnolia 래리 하프는 데이비드 리코돈 (당시 베리사인 )와 만나, OpenID를 사용하여 Twitter 나 Ma.gnolia의 API 인증 위임하는 방법을 논의했다. 그 결과 API 액세스 위임에 대한 개방형 표준 은 아직 존재하지 않는다는 결론에 도달했다.
OAuth의 인터넷 커뮤니티 는 2007 년 4 월에 탄생한 소수 인원으로 새로운 오픈 프로토콜의 초안을 썼다. OAuth 프로젝트 것을 알았 Google 의 데위토 클린턴은 지원을 표명했다. 2007 년 7 월 팀 사양의 초안을 완성시켰다. Eran Hammer-Lahav가 더해져 많은 협력자의 조정 더 공식적인 사양을 만들어 갔다.2007 년 10 월 3 일 , OAuth Core 1.0의 최종 초안이 발표되었다.
2008 년 11 월 미니 애폴리스 에서 열린 제 73 회 IETF 회의에서 OAuth 비공식 회의도 열려 새로운 표준을 위해 IETF에 OAuth 프로토콜을 제안할지 여부를 논의했다. 회의는 성황으로, IETF에서 정식으로 OAUTH 워킹 그룹을 시작하게 폭넓은지지를 얻었다.
보안 [ 편집 ]
2009 년 4 월 23 일 , OAuth 보안 문제가 있음이 밝혀졌다. 이것은 OAuth Core 1.0 Section 6에 OAuth 인증 흐름 (3-legged OAuth)에 영향을 [2] . 앞으로이 문제를 해결 사양이 공개 예정이다.
OAuth 2.0 [ 편집 ]
OAuth 2.0은 차세대 OAuth 프로토콜이며, OAuth 1.0과 하위 호환성을 가지지 않는다. OAuth 2.0은 클라이언트가되는 응용 프로그램 개발자들에게 웹 애플 리케이션, 데스크톱 응용 프로그램, 스마트폰, 거실 장치의 특정 인증 절차에 대한 간단한 액세스를 제공한다. 이 기획은 개발 도상국이다. [3] Eran Hammer-Lahav 에 따르면 IETF OAuth 작업 그룹은 2010 년 말경까지 범위에서 체결을 기대하고있다. [4]
facebook 의 새로운 Graph API 는 OAuth 2.0 만 지원, 진성의 표준으로 최대의 구현이다. [5] 2011 년 현재 Google [6] 와 마이크로 소프트 는 [7] OAuth 2.0의 실험적인 API를 제공하고있다.
각주 [ 편집 ]
- ^ For immediate release : OAuth Core 1.0 Specification released at Internet Identity Workshop 공식 블로그에 "OAuth (pronounced"Oh-Auth ")"의 기재있어
- ^ Oauth ( 2009 년 4 월 23 일 ) " OAuth Security Advisory : 2009.1 " 2009 년 4 월 23 일 보기.
- ^ " The OAuth 2.0 Authorization Protocol "( 2011 년 2 월 16 일 ) 2011 년 11 월 28 일 보기.
- ^ Eran Hammer-Lavah ( 2010 년 5 월 15 일 ) " Introducing OAuth 2.0 " 2011 년 3 월 14 일 보기.
- ^ " Authentication - Facebook Developers " developers.facebook.com . 2011 년 11 월 28 일 보기.
- ^ " Making auth easier : OAuth 2.0 for Google APIs " googlecode.blogspot.com ( 2011 년 3 월 14 일 ) 2011 년 11 월 28 일 보기.
- ^ Dare Obasanjo ( 2011 년 5 월 4 일 ) " Announcing Support for OAuth 2.0 " windowsteamblog.com . 2011 년 11 월 28 일 보기.
관련 항목 [ 편집 ]
외부 링크 [ 편집 ]
- OAuth.net
- OAuth Google 그룹
- beginner 's Guide to OAuth on Hueniverse
- Google OAuth & Federated Login Research
- Yahoo! OAuth Quick Start Guide
- API 액세스 권한을 위양되는 프로토콜 OAuth를 알 작품島立나무 @ IT, 2008 년 1 월 21 일
출처 - wikipedia
'Security > OAuth' 카테고리의 다른 글
OAuth 2.0 구현 (2) | 2014.01.01 |
---|---|
OAuth 2.0 이해 (0) | 2013.12.29 |
OAuth 1.0a 이해 (0) | 2013.12.29 |