More Related Content
PDF
なぜOpenID Connectが必要となったのか、その歴史的背景 PDF
PDF
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~ PDF
PDF
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws PDF
PDF
PDF
What's hot
PPTX
PDF
OpenID ConnectとSCIMの標準化動向 PDF
OAuth認証再考からのOpenID Connect #devlove PDF
OAuth Security Workshop 2017 #osw17 PDF
#jics2014 そろそろ「社員IDでログインできます」始めてみませんか? サービス・プロバイダーの立場から考える「エンタープライズ・アイデンテ... PDF
OCHaCafe#5 - 避けては通れない!認証・認可 PDF
OpenID TechNight Vol. 11 - Call to Action PDF
エンタープライズITでのOpenID Connect利用ガイドライン PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api PDF
PDF
エンタープライズIT環境での OpenID Connect / SCIM の具体的実装方法 idit2014 PPTX
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン PDF
OpenID Connect - Nat Sakimura at OpenID TechNight #7 PPTX
『OpenID ConnectとSCIMのエンタープライズ実装ガイドライン』解説 PPTX
Oidc how it solves your problems PDF
OpenID ConnectとAndroidアプリのログインサイクル PDF
アイデンティティ (ID) 技術の最新動向とこれから PDF
ID & IT 2013 - OpenID Connect Hands-on PDF
JWT Translation #technight PDF
Similar to アイデンティティ2.0とOAuth/OpenID Connect
PDF
PDF
PDF
Cloud Identity Summit 2012 TOI PDF
FAPI Security について聞いてきた話(2017/08/18 社内勉強会) PPTX
FAPI and beyond - よりよいセキュリティのために PPT
PDF
PPT
PDF
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション PPTX
既存RailsアプリをSSO化して、本番環境で活用した話【WESEEK Tech Conf #12】 PDF
PDF
091009 Identity Conference #6 ritou PDF
安全な"○○でログイン"の作り方 @ NDS in Niigata #1 PPTX
PDF
利用者本位のAPI提供に向けたアイデンティティ (ID) 標準仕様の動向 PDF
FAPI and Beyond: From an specification author's point of view #fapisum - Japa... PDF
IETF94 M2M Authentication関連報告 PDF
PDF
PDF
なんとなくOAuth怖いって思ってるやつちょっと来い More from Shinichi Tomita
PPTX
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合) PDF
SalesforceからAWSへの接続 using OIDC/SAML PDF
Developing SLDS Apps with React.js PDF
Spring'15 Update - Named Credential & Long Running Callout PDF
スマートデバイス×HTML5で
企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~ PDF
Summer'14 Update - What's new in Force.com Canvas - PDF
PDF
PDF
モバイルBaaSの概観と最新動向 (2013/6/7) PDF
(M)BaaS and Enterprise Mobile Applications PDF
モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用 PDF
PDF
Cloud-to-Intranet messaging by Force.com Streaming API PDF
Sales Force Episode VI ~ Return of Ajax Toolkit ~ PDF
PDF
PDF
PDF
Streaming API で実現する クラウド ⇔ イントラ連携 PDF
Phantomjs Screenshot Server on Heroku PDF
Collecting Photo Stream in Node.js on Heroku アイデンティティ2.0とOAuth/OpenID Connect
- 1.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
アイデンティティ2.0と
OAuth/OpenID Connect
Mashmatrix, Inc.
www.mashmatrix.com
!
Shinichi Tomita
stomita@mashmatrix.com
- 2.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
この資料は、株式会社ウフル (http://uhuru.co.jp/) の
社内セミナーにて使用した資料です。ウフル様のご好意
により、公開の許諾を得ましたので、公開いたします。
!
- 3.
- 4.
- 5.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
Weblog(ブログ)の隆盛
• 2000年代前半、ブログによって誰でもカジュアルにWeb
へコンテンツ発信が可能に
• MovableTypeなどのソフトウェア、RSSなどの発展
• 発生した問題
• ブログのコメント記入にスパムが多くなった。
• スパム回避のために、コメントする人の出自を明らかにしたい
• でも数あるブログサイトにコメントする人全員のログインアカ
ウントを作る?無理無理。
- 6.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
解決策とOpenIDの誕生
• もうみんなWebのどこかに自分のサイト(ブログ)を
持ってるよね?
• コメント主にはそのサイトの持ち主が自分であることを証
明してもらったらいいんじゃない?
• Webのような分散した環境でも自分のアイデンティティ
を伝達できる仕組み(プロトコル)をつくろう!
• 2005年頃、Six ApartのメンバーがOpenID 1.0を提唱
- 7.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OpenIDの特徴
• World Wide Web、分散環境が大前提
• 誰でも自分のサイトでアイデンティティを主張できる
• どのサイトでも自分のアイデンティティを利用できる
• 最初から「シングルサインオン」を求めたわけではない
• コメントするユーザの所有するWebサイトを識別することが最初の動機
• ユーザのアイデンティティはインターネット上にURLでアクセス可能であ
る、という想定
• OpenID 2.0でシングルサインオン用途にも利用できるように拡張
• サイトを事前に登録したりする必要はない
• 動的なディスカバリが仕様に含まれる
- 8.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
参考:User-Centric Identity
• サイト中心のアイデンティティ(Identity 1.0)
• ユーザのアイデンティティはサイトが管理する
• アイデンティティのサイロ(Silo)/壁に閉ざされた庭(Walled
Garden)
• ユーザ中心のアイデンティティ(Identity 2.0)
• 利用者本人がアイデンティティ情報をコントロールする
- 9.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
Identity 2.0
• 高速プレゼンテーションスタイルで有名
• https://www.youtube.com/watch?
v=RrpajcAgR1E
• ActiveState、SXIP創業者
• Chuck Mort(現SFDC Identity PM)は
元SXIPに在籍していたことも
• SXIPのクローズ後、Microsoftを経て、現在
フリー?
Dick Hardt
- 10.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
マッシュアップとOAuth
• WebサービスAPIを利用した「マッシュアップ」の流行
• パブリックなリソースだけでなく、アクセス保護されたリソースも扱いたい
• 代理アクセスの必要性・権限の委譲
• OAuth1.0: Webアプリの認可のためのプロトコルを標準化
• Flickrなどで利用されていた権限委譲の仕組みがヒント
• スコープによって委譲する権限を指定可能
• 例:読み込みのみ/書き込み可/プロフィール情報のみ/コンタクト情報も可、など
• 現在もTwitterのAPIはOAuth1.0aで提供されている
• なお1.0にはプロトコルに脆弱性が見つかっているため、現在は改訂版の1.0aを使う
べき
- 11.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
Facebook Connect
• Facebookの独自仕様で展開されたAPI接続の仕組み
• Webサイトから簡単にFacebookのサービスに接続するた
めのウィジット・ボタンを用意
• サーバサイドいらず、Webサイトにファイルを置くだけで導入
できる簡単さ
• JavaScript SDKもあり、複雑なアプリの構築も可能
• Facebookの爆発的な普及により、多数のサイトで使われ
るように
- 12.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OAuth 2.0
• OAuth 1.0の反省
• セキュリティ維持のため複雑になってしまったプロトコル
• 電子署名の扱いに苦労する開発者
• OAuth 2.0
• Facebook Connectを参考にして、Dick HardtらがOAuth WRAPを提
唱 OAuth 2.0へ進化
• 署名のような面倒な手間を省き、セキュリティはSSLで保証する
• Facebookも後にOAuth2.0に合わせてAPIを変更
• Secret情報を持つことが難しいJavaScriptやスマホアプリからも利用
できるImplicit Grant Flowも
- 13.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OAuth 2.0
(Authorization Code Flow)
http://www.atmarkit.co.jp/ait/articles/1209/10/news105.html
- 14.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OAuth 2.0
(Implicit Grant Flow)
http://www.atmarkit.co.jp/ait/articles/1209/10/news105.html
- 15.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
ソーシャルログイン?
• 「既に外部のソーシャルサービスに保有しているアイデン
ティティを利用して、ユーザが(サイト|アプリ)にログ
インできる機能」に対する俗称
• 「アイデンティティ連携(Identity Federation)」という語が一
般開発者には直感的でなかったことも原因か
• 実際はOAuthなどでソーシャルAPIへのアクセス権限を取得
ユーザの識別情報を取得して「ログイン」
- 16.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OAuthによる
「ソーシャルログイン」の課題
1. 標準化されていない
• ユーザ情報はサービス独自のAPIを利用して取ってくる
• 接続するサービスごとにクライアントの開発が必須
2.『認可』を『認証』に利用
• APIに対するアクセスの認可を与えられたとしても、そのAPIから得たユーザ情報をユー
ザの認証に利用してほんとにいいのか?
3. API権限を悪用したスパム
• そもそもログインしたいだけなのに、なぜアクセス権限が必要なの?
4.(原理主義的には)ユーザー・セントリックでない
• 外部のアイデンティティを選択できるという意味ではユーザー・セントリックだが、
ユーザが任意のアイデンティティを持ち運べるわけではない
- 17.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OpenID Connect
• 広く普及したOAuth2.0をベースにした、分散環境でユー
ザのシングルサインオンを実現するためのプロトコル
• 売り文句:
• OAuth2を使った認証よりも標準化されており安心
• SAMLより簡単なので実装は容易
- 18.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
OpenID Connect の特徴
• アイデンティティ情報を取得するためのスコープ openid を定義
• UserInfo Endpoint というユーザ情報を取得するAPIのスキー
マを定義し、インターフェースを統一
• 従来のaccess_tokenの他に id_token というトークンを定義
• ユーザのアイデンティティを証明する(アサーション)トークン
• JWT(JSON Web Token)を利用し、電子署名で改ざんを防止
• UserInfo EndpointがFirewall内にある場合や、複数アプリをまたがって
トークンが伝達される場合などに活用可能
• OpenID 2.0と同様に動的にサイト間の連携を行う仕組みもあり
(関連仕様)
- 19.
- 20.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
まとめ
• 企業システムを中心としたシングルサインオンの発展とは別
に、コンシューマWebにおける要求からOpenIDおよび
OAuthが生まれた
• OAuthは、成功したFacebook Connectを参考に、より簡潔
さを重視したOAuth2.0へと発展した
• Facebook/Twitterの台頭により、外部アイデンティティを利
用したログインという体験は一般化したが、一方でさまざま
な問題を孕んだ
• OpenID Connect による標準化で連携はもっと楽になるかも
- 21.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
演習(OpenID Connect)
• OpenID Connect を利用して、SalesforceをGoogleアカウ
ントでログインできるようにする
• 参考URL:
• http://blog.flect.co.jp/salesforce/2014/06/openid-connect-affa.html
• <発展演習>:上記の連携で取得したTokenを利用して、Apex
からGoogleのAPIを叩いてみる
• 参考URL:
• http://www.tquila.com/blog/2014/02/13/accessing-google-apis-
apex-minimal-effort