OAuth

Seo·2020년 4월 19일
0

CS

목록 보기
2/5
post-thumbnail

OpenID Authentication

공식 웹사이트 : https://oauth.net

OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 이 매커니즘은 여러 기업들에 의해 사용되는데, 이를테면 아마존, 구글, 페이스북, 마이크로소프트, 트위터가 있으며 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용한다.

개요

  • OAuth 사용 전에는 인증 표준이 없어 ID/PW 인증방식을 사용하였으나 보안상 취약점이 많았음
  • ID/PW 인증방식 아닌 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인함
    - ex) 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등
  • OAuth는 이렇게 제각각인 인증방식을 표준화한 인증방식
  • OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없어 여러 애플리케이션을 통합하여 사용하는 것이 가능

용어

  • 사용자(user): 서비스 제공자와 소비자를 사용하는 계정을 가지고 있는 개인
  • 소비자(consumer): Open API를 이용하여 개발된 OAuth를 사용하여 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
  • 서비스 제공자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
  • 소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
  • 요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
  • 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.

OAuth 1.0 and OAuth 2.0

OAuth 2.0는 OAuth 1.0의 유저의 인증플로우, 전반적인 목적만 공유하고 OAuth 1.0을 새로 작성한것이다. OAuth의1.0과 OAuth의2.0의 차이는 앱 애플리케이션, 웹 애플리케이션, 데스크탑 애플리케이션등의 인증방식을 강화하고 Consumer에 개발 간소화를 중심으로 개발 되었다.

인증방식

  1. 소비자가 서비스제공자에게 요청토큰을 요청한다.
  2. 서비스제공자가 소비자에게 요청토큰을 발급해준다.
  3. 소비자가 사용자를 서비스제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.
  4. 서비스제공자가 사용자를 소비자로 이동시킨다.
  5. 소비자가 접근토큰을 요청한다.
  6. 서비스제공자가 접근토큰을 발급한다.
  7. 발급된 접근토큰을 이용하여 소비자에서 사용자 정보에 접근한다.

OpenID 란?

공식 웹사이트 : https://openid.net

오픈아이디(OpenID)는 비영리 재단인 OpenID 재단(OpenID Foundation)에서 관리하는 인증 수단이다. 오픈아이디는 분산형 디지털 정체성 시스템으로 모든 사용자들의 온라인 정체성이 URL로 주어지거나(블로그나 홈페이지처럼) 최근의 버전에서는 XRI로 주어지며 이 프로토콜을 지원하는 어떤 서버를 통해서나 인증될 수 있다. 버전 1.1부터 OpenID는 Yadis 서비스 발견 프로토콜을 사용한다.

profile
개발관심자

0개의 댓글