Recommended
PPTX
PDF
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
PDF
[H3 2012] OAuth2 - API 인증을위한 만능 도구상자
PDF
PDF
PPTX
PDF
[Hello world 오픈 세미나]oauth
PDF
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
PDF
AWS Lambda와 API Gateway를 통한 Serverless Architecture 특집 (윤석찬)
PDF
AWSKRUG - AWS 한국 사용자 모임 소개(2017)
PDF
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
PDF
[GDG DevFest Korea 2013] OSCON 발표기
PDF
PDF
원격근무 개발자의 자기관리 - 우리는 모두 원격근무자다!
PDF
PDF
PDF
PyCon KR 2017 orientation
PDF
PDF
An overview of open source in east asia
PDF
PDF
PDF
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
PPTX
우리 FISA 1차 기술 세미나 발표자료 : OAuth2.0과 JWT의 이해
PDF
PPTX
PDF
PDF
PPTX
OAuth - GDG Korea Women 2014 첫 스터디
PDF
PDF
More Related Content
PPTX
PDF
안드로이드 OAuth 1.0a, 2.0 구현 - Naver, Google API
PDF
[H3 2012] OAuth2 - API 인증을위한 만능 도구상자
PDF
PDF
PPTX
PDF
[Hello world 오픈 세미나]oauth
PDF
Flask, Redis, Retrofit을 이용한 Android 로그인 서비스 구현하기
Viewers also liked
PDF
AWS Lambda와 API Gateway를 통한 Serverless Architecture 특집 (윤석찬)
PDF
AWSKRUG - AWS 한국 사용자 모임 소개(2017)
PDF
판교 개발자 데이 – Aws가 제안하는 서버리스 아키텍처 – 김필중
PDF
[GDG DevFest Korea 2013] OSCON 발표기
PDF
PDF
원격근무 개발자의 자기관리 - 우리는 모두 원격근무자다!
PDF
PDF
PDF
PyCon KR 2017 orientation
PDF
PDF
An overview of open source in east asia
PDF
PDF
Similar to OAuth2 - API 인증을 위한 만능도구상자
PDF
KTH_Detail day_화성에서 온 개발자 금성에서 온 기획자 시리즈_7차(2)_Oauth_박민우_20120718
PPTX
우리 FISA 1차 기술 세미나 발표자료 : OAuth2.0과 JWT의 이해
PDF
PPTX
PDF
PDF
PPTX
OAuth - GDG Korea Women 2014 첫 스터디
PDF
PDF
PDF
[네이버오픈소스세미나] Next Generation Spring Security OAuth2.0 - 이명현
PPTX
PPTX
PPTX
PPT
PDF
PDF
PDF
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
PPTX
PDF
PDF
OAuth2 - API 인증을 위한 만능도구상자 1. 2. 모바일 / 클라우드 / 정보인권
박민우 C / PHP / Javascript
Python
2
3. 4. 7. 1. 오어쓰가 누구야?
2. OAuth 써봤어요!
3. OAuth 1.0은 알아요~
OAuth 2.0을 알고싶어요!
4. 난~ 알아요!
7
8. 9. 이번 발표 비율
OAuth 1.0 OAuth 2.0 Other
Easy 35% 50% 15%
0% 25% 50% 75% 100%
9
10. 11. 12. 13. 14. 15. 16. 17. 18. Why OAuth?
이제는 -
1. 비밀번호를 신뢰못하는 앱에 저장하기 싫다.
2. 원하는 권한만 주고 싶다
3. 원할 때 권한을 회수하고 싶다.
4. 페이스북/트위터 아이디로 다른서비스에
로그인 하고싶다.
기존의 ID / Password 인증으론
부족해 !
18
19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. OAuth 1.0
HOW?
“인증 토큰”
(Access Token)
API를 사용하는 서비스(consumer)에
비밀번호를 저장하지 않고
인증 토큰을 저장,인증토큰(Access Token)으로
API 사용
27
32. OAuth 1.0
“인증 토큰”
(Access Token)
서비스에 패스워드 전달없이 인증
필요한 기능만 부여 할 수 있음
언제나 다시 권한 취소 가능
패스워드 변경시에도 유효
28
33. 34. 35. 36. 37. 38. 39. OAuth 1.0
(사용자가) 처음 트위터 연동하기
consumer
①
트위터 지름신 ② 사용자를
로그인 요청 트위터 로그인 화면으로..
④ 인증토큰
전달
service
③ 트위터
user 로그인
provider
40. 트위터로 포워딩 됨
지름신
지름신
by 다만들어
damandla.kr
wishlist app for web
접근할 앱 정보
요청하는 권한
지름신
by 다만어
damandla.kr
wishlist app for web
36
41. 42. 43. OAuth 1.0
OAuth 1.0은 불편해요..
3-legged only 2-legged
Server
user
Client (service provider)
(consumer)
Signature 생성
HMAC-SHA1
(include_entities=trueoauth_consumer_key=xvz1evFS4wEEPTGEFPHBogoauth_nonce=kYjzV
BB8Y0ZFabxSWbWovY3uYSQ2pTgmZeNu2VS4cgoauth_signature_method=HMAC-
SHA1oauth_timestamp=1318622958oauth_token=370773112-
GmHxMAgYyLbNEtIKZeRNFsMKPR9EyMZeS9weJAEboauth_version=1.0status=Hello
%20Ladies%20%2B%20Gentlemen%2C%20a%20signed%20OAuth%20request%21 ) 39
44. 45. OAuth 2.0
OAuth versions
No
1.0 보안 문제가 있는 버전.
절대로 사용하면 안됨
OK
1.0a 안정적이고 사용해도 됨
(RFC 5849) 자체 암호화 기능
(HTTPS 불필요)
2.0 Good
(RFC 6749 기본 스펙 표준화 완료
RFC 6750) 추가 스펙 표준화 진행 중 41
46. OAuth 2.0
OAuth 2.0
OAuth 1.0
Authorization
Protocol
Framework
호환 안됨 / 용어부터 완전 다름
42
47. 48. OAuth 2.0
용어
1.0 2.0
사용자 User Resource Owner
클라이언트 Consumer Client
API서버 Resource Server
Service Provider
인증서버 Authorization Server
44
49. 50. OAuth 2.0
주요 서비스의 OAuth 2.0 구현 버전
바뀐점
HTTP 헤더 :
OAuth - Bearer
파라메터 이름:
oauth_token - access_token
46
51. OAuth 2.0
OAuth 2.0의 장점
확장성 : API서버와 인증서버의 분리
간단해 짐 : signature - HTTPS
다양한 시나리오 : 다양한 토큰 지원
다양한 grant type 지원
47
52. 53. 54. OAuth 2.0
Client types
(기준: client 인증서를 안전하게 보관할 수 있는가)
Confidential
Public Client
Client
client 인증서 보관 client 인증서 없음
안전하게 client 인증서를 resource owner가
보관할 수 있는 기기 소유한 기기
ex) 서버 등 ex) 핸드폰, JS기반 app 등
50
55. OAuth 2.0
다양한 인증 방식 (Grant type)
3-legged 2-legged
Public Password Credentials
Implicit Grant
Client Grant
Confidential Authorization Client Credentials
Client Code Grant Grant
51
56. 57. 58. OAuth 2.0
다양한 토큰 방식
Bearer token (표준)
GET /wishlist/expensive
Authorization: Bearer xx...
GET /wishlist/expensive?access_token=xx..
MAC token
JSON-web token
SAML2
54
59. 60. OAuth 2.0
OAuth libraries
1. 연동하기
각 서비스의 SDK
2.SDK가 없는 서비스 연동하기
OAuth library http://oauth.net/code/
3.OAuth 서비스 제공하기
OAuth library http://oauth.net/code/
56
61. 62. OAuth 2.0
그가 제시한 이유
1.토큰 암호화 안함
2.refresh 하는 과정에서의 token 관리 문제
3.너무 많은 권한 부여방식
모든 방식이 OAuth 2.0이다?
58
63. OAuth 2.0
그에 대한 반론
1.토큰 암호화 안함
HTTPS 는 충분히 안전
2.refresh 하는 과정에서의 token 관리 문제
여러가지 대안 존재
3.너무 많은 권한 부여방식
안전한 grant type사용 / extension사용 제한
59
64. OAuth 2.0
OAuth 2.0은 안전하다
1.표준 spec을 사용하세요
2.HTTPS는 기본입니다
3.De facto 표준 (Google FB)
60
65. 66. 저는 HTTPS 를 지원할 수 없어요
어떻게 하지요?
OAuth 1.0a 를 사용하세요!
자체 암호화 기능이 있답니다
62
Editor's Notes #2 \n #3 \n #4 \n #5 \n #6 \n #7 \n #8 \n #9 \n #10 \n #11 \n #12 \n #13 \n #14 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n #15 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n #16 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n #17 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n #18 난 알아요 부분에서 노래가 나오도록\n난 알아요! -> 문은 저쪽에 2개가 준비되어 있습니다.\n저는 중간에 나간다고 상처 받지 않아요-\n\n #19 \n #20 \n #21 시계보다 더 나은 이미지 없을까?\n #22 시계보다 더 나은 이미지 없을까?\n #23 \n #24 \n #25 \n #26 \n #27 \n #28 \n #29 \n #30 \n #31 \n #32 \n #33 \n #34 \n #35 \n #36 \n #37 \n #38 \n #39 \n #40 \n #41 \n #42 \n #43 \n #44 \n #45 개발자에게 이메일로 공지!\n #46 이제 토큰 발생 개수 제한 (3-legged 라서)\n-> 개발자 인증!\n #47 \n #48 \n #49 \n #50 \n #51 \n #52 \n #53 \n #54 \n #55 \n #56 \n #57 \n #58 \n #59 개발자는 트위터 개발자 페이지에서 등록해서 컨슈머 키를 받습니다.\n\n #60 key/pass 부분을 위에 크게 확대!\n #61 \n #62 \n #63 지름신 앱 define을 웹앱으로 재설정\n\n #64 \n #65 \n #66 \n #67 \n #68 \n #69 umbrella term\nRFC 1.0은 당연히 OAuth 1.0a\n #70 http://tools.ietf.org/wg/oauth/\n #71 \n #72 호환안됨\n\n\n #73 옛날 라이브러리 괜찮아~!\n #74 \n #75 \n #76 여러 rest client\n #77 \n #78 \n #79 \n #80 \n #81 \n #82 \n #83 \n #84 이 내용은 간결하게 정리\n #85 \n #86 \n #87 \n #88 \n #89 \n #90 \n #91 인증토큰 방식은 어울리지 않음\n #92 인증토큰 방식은 어울리지 않음\n #93 \n #94 \n #95 \n #96 \n #97 \n