기획자를 위한 OAuth

  • 12,631 views
Uploaded on

KTH 화성에서온 개발자, 금성에서온 기획자 시리즈 …

KTH 화성에서온 개발자, 금성에서온 기획자 시리즈
기획자를 위한 쉬운 OAuth 소개

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
12,631
On Slideshare
0
From Embeds
0
Number of Embeds
15

Actions

Shares
Downloads
207
Comments
3
Likes
42

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 기획자를 위한 OAuth,모바일 세상의 딱풀 박민우PD 기술전략팀 2012/07/18
  • 2. 수많은 서비스들..수많은 패스워드 2
  • 3. Password 패스워드! 비번PW
  • 4. ① 서비스별 다른 패스워드 사용 ② 패스워드는 2주마다 꼭 교체 ③ 패스워드는 - 8글자 이상 - 개인정보 관련 키워드 X - 특수문자사용스마트한 김모씨 4
  • 5. 한 곳에서 ID/PW 관리/인증OpenID authentication(인증)
  • 6. 2006년 11월 어느날.. 저것 만으로는 우리 API 제어에 적합하지 않은데..나, 트위터..우리는 인증 (Authentication)뿐만 아니라API 사용 권한 부여(Authorization) 할 수 있는방법도 필요해! Oauth = Authentication + Authorization
  • 7. OAuth란?1. 아임인에 트위터 비번저장 없이 발도장 트윗 날리기2. 트위터앱에 트위터 비번저장 없이 트위터 쓰기 3초
  • 8. 사랑의 (API) 트라이앵글 consumer 어떤앱 트위터 APIuser service provider
  • 9. An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications. - oauth.netHOW?!“인증 토큰” • 서비스에 패스워드 전달없이 인증 • 필요한 기능만 부여 할 수 있음 • 언제나 다시 권한 취소 가능 • 패스워드 변경시에도 유효
  • 10. 인증 토큰? 토큰?필요한 기능만 제한적으로 부여 할 수 있음
  • 11. OAuthAPI를 사용하는 서비스(consumer)에 비밀번호를 저장하지 않고인증 토큰을 저장해 놓고 인증토큰(Access Token)으로 API 사용인증 토큰 (Access Token) 토큰 (Token) 토큰 (Token) 토큰 (Token)..
  • 12. 발렛파킹! 나, 벤츠..인증 토큰 1시간만 유효함 1km만 주행가능 트렁크는 열 수 없음
  • 13. API 사용자 오~ 새로운 트위터 앱이 나왔군 써볼까? 이 듣보잡 앱에 내 트위터 비밀번호를 저장하라고?
  • 14. API 서비스 제공자 이제 API를 완성했으니 우리 서비스가 널리 퍼질 수 있겠지? 우리 서비스 ID/PW 가 듣보잡 앱에 저장되어야 하는건가?!
  • 15. How does it work?
  • 16. consumer 어떤앱 ① Consumer가 Service Provider에 등록한다 트위터 ②user User가 service provider Service Provider에 로그인한다
  • 17. 조금 더 자세히.. consumer 어떤앱 ① Consumer가 Service Provider에 등록하고 Consumer key를 받아서 저장 트위터 ② user User가 service provider Service Provider에 로그인하고 인증토큰(Access Token)을 Consumer에 저장한다
  • 18. 참고로.. Consumer key = API key 라고 불리기도.. .
  • 19. Consumer가 Service provider에 등록하기
  • 20. Consumer가 Service provider에 등록완료
  • 21. USER 로그인 consumer 어떤앱 ① ② 트위터로 로그인 사용자를 하겠어요- 트위터 로그인 화면으로.. ④ Consumer에 인증토큰 전달 트위터 ③ user 트위터 로그인 service provider
  • 22. 앱 사용시 consumer 어떤앱 트위터로 발도장 인증 토큰으로 공유! 트위터 API 사용 트위터 user service provider
  • 23. Oauth 프로세스
  • 24. 사용자의 관점
  • 25. 트위터 주소창으로 이동 로긴 안되있음 권한을 요청하는부여할 앱 정보권한정보 로그인 창
  • 26. 현재 로긴된 트위터 사용자로그인 되어있는 경우
  • 27. 권한 취소https://twitter.com/settings/applications
  • 28. 나 개발자.. 이걸 어느 세월에 다 구현하나요? 왠만한 언어용으로 라이브러리 제공!
  • 29. Oauth 시나리오 1 이런.. 트위터 로그인 해놓은 내 핸드폰 분실했네! 트위터/페이스북 설정에서 해당 앱의 접근 권한 취소 (revoke) (트위터 비밀번호를 바꿀 필요 없음)
  • 30. Oauth 시나리오 2 트위터 비밀번호 노출되었어요! 비밀번호 변경하면, 모든 앱들 다시 인증? 비밀번호 바꿔도 API사용 서비스(consumer)에 저장된 인증토큰은 그대로 유효 서비스 사용 지장 없음
  • 31. Oauth 시나리오 3 트위터 로그인을 해놓은 Path 가 해킹당해서 모든 토큰이 해커에게 노출 되었다면? 트위터가 Path를 인증 거부한다. Path에 저장된 모든 트위터 토큰 인증 거부됨
  • 32. 아임인 핫스팟에서 바로 아임인 저장하기 (consumer) 아임리얼맛집 모바일 앱 사용 Oauth를 통한 API접근 유저 (service provider) 아임인
  • 33. 푸딩카메라에서 바로 푸딩투 저장하기 (consumer) 푸딩카메라 Oauth를 통한 모바일 앱 사용 API접근 유저 현재는 푸딩 카메라에서 (service provider) 푸딩투 푸딩투 앱을 호출 방식
  • 34. 결국은 다 같은 OAuth1.트위터 앱이 트위터 Oauth 사용2.어떤 앱이 컨텐츠를 트위터로 내보내기 위해 Oauth 사용3.자신의 서비스를 트위터 아이디로 가입하게 open
  • 35. Oauth 의 버젼들 보안 문제가 있는 버전. 1.0 절대로 사용하면 안됨 (아마 spec을 찾을 수도 없겠지만..) 안정적이고 사용해도 됨 1.0a Http상에서도 동작하도록 복잡한 암호화를 함 Https가 아닌 환경에서도 동작하나.. 복잡하다 IEFT에 의해서 계속 표준화 진행중 3가지 인증방법 제공 2.0 - bearer token 방식은 안정적이며 구현이 간단. SSL 필요 - 다른 2가지는 계속 수정 중 (MAC token, SAML)
  • 36. Oauth는 API 확산을 위해 필수API 서비스 프로바이더는모바일과 웹앱을 위해 Oauth 제공 1.0a 2.0(대표적인)OAuth서비스프로바이더
  • 37. 어떤 Oauth 버전을 사용해야 하나요? Oauth 2.0의 bearer token 방식을 쓰세요 (Facebook 도 쓴답니다) YesAPI가 https를사용하나요? No Oauth 1.0a를 쓰세요 (Twitter 방식)
  • 38. Oauth 는 만병통치약인가?
  • 39. Oauth가 적절하지 않은 경우1.사람이 개입되지 않는 서비스 서버-서버 간 통신 유저가 개입되지 않는 APIOauth : 3-legged 2-legged 에 사용불가 Client Serveruser Server (service provider) Client (consumer)
  • 40. Oauth가 적절하지 않은 경우2. 상업적인 수준의 보안을 요구할때 1억원을 이체할때 집을 계약할 때
  • 41. Inspired by“OAuth:The Big Picture” -apigeehttp://youtu.be/M42ouAgPCQI