Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Standard-based Identity (1)

813 views

Published on

タイトル:
『Standard-based Identity (1)』

概要:
デジタル・アイデンティティの世界は、ここ数年で OpenID Connect、SAML、SCIM、OAuth等の連携のためのプロトコルの標準化が進みました。その結果、我々は複数の組織やサービス間で ID情報を連携して、新しいしくみやサービスを作ることがより容易に行えるようになりました。
本セッションでは、これらのID情報連携プロトコルについて、あらためて基本からわかりやすく解説します。

ID & IT Management Conference 2016 Sep 16, 2016
URL:https://nosurrender.jp/idit2016/program.html#DE02

Published in: Internet
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Standard-based Identity (1)

  1. 1. ID  &  IT  Management  Conference  2016   Standard-‐‑‒based  Identity  (1) 2016/9/16   ヤフー株式会社  倉林林  雅
  2. 2. 倉林林  雅(kura)   ヤフー株式会社  ID連携⿊黒帯  /  エンジニア   OpenID  ファウンデーション・ジャパン
                                    エヴァンジェリスト   ID厨   @kura_̲lab
  3. 3. アジェンダ 1. はじめに   2. ID連携標準技術のトレンドの流流れ   3. 各プロトコル概要   4. 各プロトコルユースケース   5. OpenID  Connectフロー解説   6. まとめ 3
  4. 4. はじめに デジタル・アイデンティティーの業界に携わる
 初⼼心者・⼊入⾨門者を対象にID連携技術のトレンドの 流流れ、プロトコルの概要、その利利⽤用パターンなどの 基礎を解説します   本⽇日のゴール
 「各ID連携技術の概要と基礎知識識を覚える」 4
  5. 5. ID連携標準技術のトレンドの流流れ
  6. 6. 6 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x
  7. 7. 7 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x OASISによって標準化
  8. 8. 8 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x SAMLの最新版
  9. 9. 9 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x OpenID ファウンデーションで標準化
  10. 10. 10 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x OpenIDはDeprecated
  11. 11. 11 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x OpenID ファウンデーションで策定されたのち IETFでInformationalとして公開
  12. 12. 12 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x IETFでStandards TrackとしてRFC化
  13. 13. 13 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x OpenID ファウンデーションで標準化
  14. 14. 14 ID連携標準技術のトレンドの流流れ2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 SAML  2.0 OpenID  1.0 OpenID  2.0 OAuth  1.0 OAuth  2.0 OpenID  Connect 2015 2016 SAML  1.x トレンド エンタープライズ系では主流
  15. 15. 各プロトコル概要
  16. 16. SAML 読み⽅方:サムル、サムエル、サムォー   概要   SAML=Security  Assertion  Markup  Language   認証・認可の技術   使⽤用技術:SOAP・XML 16
  17. 17. OpenID 読み⽅方:オープンアイディー   概要   基本的にOpenIDは認証の技術   (OpenID  AXで属性を取得できます)   使⽤用技術:SOAP・XML 17
  18. 18. 読み⽅方:オーオース   概要   OAuth  1.0・OAuth  2.0は認可の技術   ユーザーのリソースアクセス(Web  API)が⽬目的   使⽤用技術:REST  APIライク・JSON OAuth 18
  19. 19. OpenID  Connect 読み⽅方:オープンアイディーコネクト   概要   OAuth  2.0を拡張したプロトコル   認証・認可の技術   使⽤用技術:REST  APIライク・JSON 19
  20. 20. 各プロトコルユースケース
  21. 21. 各プロトコルユースケース シングルサインオン(SSO)   ある管理理ドメインの認証技術を⽤用いて、
 他の管理理ドメインにも同⼀一のIDでログインする   属性情報連携   あるサービスで管理理されているユーザーの⽒氏名や メールアドレス、権限などを別のサービスへ連携 する 21
  22. 22. シングルサインオン 認証機能をもつSAML、OpenID、
 OpenID  Connectを利利⽤用   OAuthは認可機能であり認証としては利利⽤用不不可   ×  OAuth認証(⽤用語、⽤用法がまちがっている)   OpenIDは2015年年にGoogleは提供を停⽌止してお り、OpenID  Connectを利利⽤用する傾向へ 22
  23. 23. シングルサインオン エンタープライズ系   SAML  2.0をサポートする製品が中⼼心であったが 近年年はOpenID  Connectを含め両⽅方に
 対応している製品が増加   Azure  AD   Google  Apps 23
  24. 24. シングルサインオン コンシューマー系   かつてはOpenID  2.0が⽤用いられていたが、
 近年年の新規サービスではOpenID  Connectが
 ⽤用いられている   Google  Identity  Platform(ポケモンGO)   Yahoo!  ID連携 24
  25. 25. 属性情報連携 認可機能をもつSAML、OAuth、OpenID  Connect を利利⽤用   OpenIDも属性取得のプロファイル(拡張仕様)は あるがシングルサインオンと同様に縮⼩小傾向 25
  26. 26. 属性情報連携 エンタープライズ系   既存のパッケージ製品の多くはSAMLに対応   新規製品では扱いやすいREST  APIやJSONによる 連携のOpenID  Connect(OAuth)が⽤用いられて いくと思われる   ID管理理においてはOpenID  Connectに加えSCIMの 利利⽤用が増加するとおもわれる 26
  27. 27. SCIM 読み⽅方:スキム   概要   System  for  Cross-‐‑‒domain  Identity  Management   クラウドサービスにおけるID管理理の仕様   ユーザー情報の追加、更更新、削除、取得/検索索   使⽤用技術:REST  API・JSON 27
  28. 28. 属性情報連携 コンシューマー系   各社の提供するWeb  APIはOAuth  2.0に対応   認証機能のニーズに応じてOpenID  Connectの対 応がすすむと思われる 28
  29. 29. OpenID  Connectフロー概要
  30. 30. OpenID  Connect   Authorization  Code  Flow
  31. 31. IdPRPEnd-User UserInfo Endpoint Start OpenID Connect 31
  32. 32. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Start OpenID Connect 32
  33. 33. 33 HTTP/1.1 302 Found Location: https://server.example.com/authorize? response_type=code &scope=openid%20profile%20email &client_id=s6BhdRkqt3 &state=af0ifjsldkj &nonce=n-0S6_WzA2Mj &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Authorization Request
  34. 34. 34 HTTP/1.1 302 Found Location: https://server.example.com/authorize? response_type=code &scope=openid%20profile%20email &client_id=s6BhdRkqt3 &state=af0ifjsldkj &nonce=n-0S6_WzA2Mj &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Authorization Request Authorization Code Flowの場合 code を指定
  35. 35. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Start OpenID Connect 35
  36. 36. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Login / Consent Start OpenID Connect 36
  37. 37. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Start OpenID Connect 37
  38. 38. 38 HTTP/1.1 302 Found Location: https://client.example.org/cb? code=SplxlOBeZQQYbYS6WxSbIA &state=af0ifjsldkj Authorization Response
  39. 39. 39 HTTP/1.1 302 Found Location: https://client.example.org/cb? code=SplxlOBeZQQYbYS6WxSbIA &state=af0ifjsldkj Authorization Response Authorization Code Flowの場合、 クエリでパラメーターが返却
  40. 40. 40 HTTP/1.1 302 Found Location: https://client.example.org/cb? code=SplxlOBeZQQYbYS6WxSbIA &state=af0ifjsldkj Authorization Response Authorization Code(認可コード)
 がクエリに付与されて返却される
  41. 41. 41 HTTP/1.1 302 Found Location: https://client.example.org/cb? code=SplxlOBeZQQYbYS6WxSbIA &state=af0ifjsldkj Authorization Response セッションにひも付けておいた State値と比較 値が一致しない場合は処理を中断
  42. 42. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Start OpenID Connect 42
  43. 43. 43 POST /token HTTP/1.1 Host: server.example.com Content-Type: application/x-www-form-urlencoded Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW grant_type=authorization_code
 &code=SplxlOBeZQQYbYS6WxSbIA &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Token Request
  44. 44. 44 POST /token HTTP/1.1 Host: server.example.com Content-Type: application/x-www-form-urlencoded Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW grant_type=authorization_code
 &code=SplxlOBeZQQYbYS6WxSbIA &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Token Request Basic認証 base64_encode(Client_ID . : . Secret);
  45. 45. 45 POST /token HTTP/1.1 Host: server.example.com Content-Type: application/x-www-form-urlencoded Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW grant_type=authorization_code
 &code=SplxlOBeZQQYbYS6WxSbIA &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Token Request 取得したAuthorization Codeを指定
  46. 46. 46 POST /token HTTP/1.1 Host: server.example.com Content-Type: application/x-www-form-urlencoded Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW grant_type=authorization_code
 &code=SplxlOBeZQQYbYS6WxSbIA &redirect_uri=https%3A%2F %2Fclient.example.org%2Fcb Token Request SecretやAuthorization Codeを
 扱うので POST メソッド
  47. 47. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Access Token / Refresh Token / ID Token Start OpenID Connect 47
  48. 48. 48 HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": “eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs- cwhJ3LO-p146waJMzqg" } Token Response
  49. 49. 49 HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": “eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs- cwhJ3LO-p146waJMzqg" } Token Response JSON形式
  50. 50. 50 HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": “eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs- cwhJ3LO-p146waJMzqg" } Token Response Access Tokenと
 Refresh Tokenを取得
  51. 51. 51 HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": “eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs- cwhJ3LO-p146waJMzqg" } Token Response Access Tokenは Bearer形式 Authorization: Bearer <Access Token>
  52. 52. HTTP/1.1 200 OK Content-Type: application/json Cache-Control: no-store Pragma: no-cache { "access_token": "SlAV32hkKG", "token_type": "Bearer", "refresh_token": "8xLOxBtZp8", "expires_in": 3600, "id_token": “eyJhbGciOi6IjFlOWdkazcifQ.eyJewogImlzc6ICJzZCaGRSa3F0MyIsCiA ibm9uY2UiOiODA5NzAKfQ.eyJggW8hZ16IcmD3HP99Obi1PRs- cwhJ3LO-p146waJMzqg" } Token Response ID Token(認証用トークン)を取得 シグネチャとデコードして各パラメーターを検証 52
  53. 53. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Access Token / Refresh Token / ID Token Start OpenID Connect 53
  54. 54. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Access Token / Refresh Token / ID Token Resource Access Resource Start OpenID Connect 54
  55. 55. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Access Token / Refresh Token / ID Token Resource Access Resource Start OpenID Connect 55
  56. 56. GET /userinfo HTTP/1.1 Host: server.example.com Authorization: Bearer SlAV32hkKG…segsef UserInfo Request 56
  57. 57. GET /userinfo HTTP/1.1 Host: server.example.com Authorization: Bearer SlAV32hkKG…segsef UserInfo Request Bearerトークン Authorization: Bearer <Access Token> 57
  58. 58. IdPRPEnd-User Authorization Request (Redirect) UserInfo Endpoint Authorization Code (Redirect) Login / Consent Token Request Access Token / Refresh Token / ID Token Resource Access Resource Start OpenID Connect 58
  59. 59. HTTP/1.1 200 OK Content-Type: application/json { "sub": "248289761001", "name": "Jane Doe", "given_name": "Jane", "family_name": "Doe", "preferred_username": "j.doe", "picture": “http://example.com/janedoe/me.jpg”, "email": "janedoe@example.com" } UserInfo Response 59
  60. 60. HTTP/1.1 200 OK Content-Type: application/json { "sub": "248289761001", "name": "Jane Doe", "given_name": "Jane", "family_name": "Doe", "preferred_username": "j.doe", "picture": “http://example.com/janedoe/me.jpg”, "email": "janedoe@example.com" } UserInfo Response JSON形式 60
  61. 61. HTTP/1.1 200 OK Content-Type: application/json { "sub": "248289761001", "name": "Jane Doe", "given_name": "Jane", "family_name": "Doe", "preferred_username": "j.doe", "picture": “http://example.com/janedoe/me.jpg”, "email": "janedoe@example.com" } UserInfo Response ユーザー識別子(openid) 61
  62. 62. HTTP/1.1 200 OK Content-Type: application/json { "sub": "248289761001", "name": "Jane Doe", "given_name": "Jane", "family_name": "Doe", "preferred_username": "j.doe", "picture": “http://example.com/janedoe/me.jpg”, "email": "janedoe@example.com" } UserInfo Response プロフィール情報(profile) 62
  63. 63. HTTP/1.1 200 OK Content-Type: application/json { "sub": "248289761001", "name": "Jane Doe", "given_name": "Jane", "family_name": "Doe", "preferred_username": "j.doe", "picture": “http://example.com/janedoe/me.jpg”, "email": "janedoe@example.com" } UserInfo Response メールアドレス(email) 63
  64. 64. 定義されている属性 メンバー scope 説明 sub - ユーザー識別子 name profile 氏名 given_name profile 名 family_name profile 姓 middle_name profile ミドルネーム nickname profile ニックネーム preferred_
 username profile 簡略名 メンバー scope 説明 profile profile プロフィール情報 のURL picture profile プロフィール画像 のURL website profile サイトURL email email メールアドレス email_verified email メールアドレスの 検証済みの有無 gender profile 性別 birthdate profile 生年月日 64
  65. 65. 定義されている属性 メンバー scope 説明 zoneinfo profile タイムゾーン locale profile 国コード phone_number phone 電話番号 phone_number_verified phone 電話番号の検証済み
 の有無 address address 住所 updated_at profile 属性情報更新日時 65
  66. 66. まとめ
  67. 67. まとめ 1. ID連携標準技術のトレンドの流流れ   SAML  2.0はエンタープライズ系では主流流   OpenID  Connectは現⾏行行、トレンド   2. 各プロトコル概要   認証と認可は異異なる仕組みである   SOAP・XMLからREST  APIライク・JSONベースの
 プロトコルへ変化 67
  68. 68. まとめ 3. 各プロトコルユースケース   シングルサインオンと属性情報連携のそれぞれの要件にあったプロトコル を選択すること   4. OpenID  Connectフロー解説   基本的なWebの技術で実装されている   Locationヘッダーとブラウザーなどのユーザーエージェントを利利⽤用し たリダイレクト   Authorizationヘッダーによる認証   HTTPS通信など 68
  69. 69. ご清聴ありがとう   ございました 69

×