シングルサインオンの歴史とSAMLへの道のり
Upcoming SlideShare
Loading in...5
×
 

シングルサインオンの歴史とSAMLへの道のり

on

  • 2,800 views

 

Statistics

Views

Total Views
2,800
Views on SlideShare
2,571
Embed Views
229

Actions

Likes
30
Downloads
36
Comments
0

6 Embeds 229

https://twitter.com 199
http://www.slideee.com 16
https://cybozulive.com 7
http://s.deeeki.com 5
http://www.linkedin.com 1
http://slideshare-download.seesaa.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

シングルサインオンの歴史とSAMLへの道のり Presentation Transcript

  • 1. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオンの歴史と SAMLへの道のり Mashmatrix, Inc. www.mashmatrix.com ! Shinichi Tomita stomita@mashmatrix.com
  • 2. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. この資料は、株式会社ウフル (http://uhuru.co.jp/) の 社内セミナーにて使用した資料です。ウフル様のご好意 により、公開の許諾を得ましたので、公開いたします。 !
  • 3. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 自己紹介 • 冨田 慎一 Shinichi Tomita (@stomita) • 株式会社マッシュマトリックス 代表取締役社長 • Ex-salesforce.com • Ex-OracleJapan • 主業務:自社パッケージ製品の開発販売、クラウドサービスの テクノロジーリサーチおよびコンサルティング • デジタルアイデンティティ愛好家 • JavaScript エンジニア • 調査対象テクノロジー領域:Node.js, Force.com, Heroku, Sencha Ext JS などなど
  • 4. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 本日の主題 シングルサインオン
  • 5. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオン(SSO) 1度のユーザ認証で複数のシステムを利用可能にするシステ ムあるいはその仕組みのこと
  • 6. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. そもそも話 ユーザの認証って、どうやってるの?
  • 7. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 基本中の基本:
 クライアント/サーバ アーキテクチャ サーバ リクエスト レスポンス クライアント
  • 8. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. ユーザエージェント (ユーザエージェント) サーバユーザ リクエスト レスポンス クライアント ?
  • 9. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クレデンシャル 
 (Credential/資格証明) (ユーザエージェント) サーバユーザ リクエスト レスポンス 検証 クライアント クレデンシャル
 (資格証明) !
  • 10. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クレデンシャルの例 • パスワード • 簡易・簡便ゆえに、ゴールデンスタンダードとして君臨。種々の問題の元凶にも • 「本人しか知りえない知識を提示」できることで認証する • クライアント証明書(ICカード内に保管) • 「本人しか持っていない所有物を提示」できることで認証する • セッションID • 他の方式(パスワードなど)で認証を受けた後、資格証明の検証を簡略化するための工 夫 • セッションIDの値は他の人に知られてはいけない。簡単に推測できてはいけない • セッションIDに紐付いているユーザが現在アクセスしているものとみなす
  • 11. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. そもそも話:その2 シングルサインオンして
 何かメリットあるの?
  • 12. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. ユーザ側のメリット • 複数パスワードを覚えないで済む • 単一パスワードの使い回しはご法度 • ログインする手間をかけることなく、複数のシステムをシー ムレスに行き来できる • 代理人となるサービスを利用して、作業を効率化できる
  • 13. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. システム開発側のメリット • 信頼できる強固なシステムに、ユーザの認証を任せること ができる • パスワードを安全にDBに保管していますか?ハッシュ化、ソルトなどについて知っ ていますか? • 攻撃者が用いる攻撃手法について、オンライン・オフラインの双方にわたって、 熟知していますか? • パスワードでは不十分なとき、多要素認証のシステムを最初から作れますか? すべてのアプリケーションに上記を求めるのは、酷である
  • 14. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. よくある疑問 “認証機能を一箇所に集 めてしまって、もしそこ のパスワードが漏れちゃっ たら、だめなんじゃない の?” https://www.flickr.com/photos/sylvain_masson/4195880838
  • 15. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 逆に考える • 守るべき点がただひとつに絞られる、と考える • ほとんどのユーザはシステムごとに複数のパスワードを使いわ けていない(共通パスワードを使いまわして利用)という現状 • すべてのサーバでユーザ認証機能をもつ
 最もセキュリティ的に弱いサーバに引きずられる(Weakest Link) • 中小企業の場合は、認証サーバにクラウドを活用す るのも1つの策
  • 16. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービス連携とSSO (ユーザエージェント) サーバAユーザ リクエスト レスポンス クライアント サーバB サーバC サーバD
  • 17. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービス連携とSSO (ユーザエージェント) サービスAユーザ リクエスト レスポンス クライアント サービスB サービスC サービスD
  • 18. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. サービスの時代 =「代理人」の時代 あなたの「代理人(エージェン ト)」となるシステムが、あな たの代わりにシステムに対して 作業を行う https://www.flickr.com/photos/thebaffled/6855905810
  • 19. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 代理人にパスワードを渡す? • アクセスされるシステムから見たら、どちらも「本人」に 見える • 監査ができない • 段階的な権限の委譲することが不可能
 (ALL or NOTHING) 代理人へは「認可」を渡すのが基本
  • 20. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 「認証」と「認可」 • 認証(Authentication)と認可(Authorization) • 認証:「あなたは〇〇さんですね」 • 認可:「あなたは△△してもいいですよ」 • ユーザには、どちらもシングルサインオンのエクスペリエ ンスとして認識されることが多い
  • 21. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 「認可」の形式いろいろ • (署名なし)トークン形式 • 認可情報に紐付けられた割符のようなもの • トークンを持っていればアクセス許可されている、とみなす • アサーション形式 • 認可情報を文書として記述し、発行者の署名つきで渡す • 電子署名されているので、認可情報は改ざんできない
  • 22. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. UXからの分類 • ポータル型 • ポータルサービスへのログインで複数サービスの情報にアクセスする • 実際にはポータルサーバへのログイン(認証)と、ポータルサーバが代理人と なり各サービスへのアクセスするための許可(認可)が組み合わさっている • 独立連携型 • それぞれのサービスが独立しユーザにサービスを提供するが、いずれ かを認証サーバとして、ユーザのログインを統一している • ディープリンクによる連携など
 (例:Google Apps Calendarをクリック Salesforce Contactへ追加) • 一方から他方への代理アクセスを許す場合も多い
  • 23. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. まとめ • シングルサインオンとは、一度のユーザ認証で複数のシステムを利用 可能にするもの • シングルサインオンのメリット • ユーザが複数パスワードを管理しなくて済む • アプリで認証システムを作らなくてもよい • セキュリティ投資を一点に集中できる • サービス連携の可能性が生まれる • ユーザ認証は、ユーザの資格証明(Credential)を検証することで行う • サービス連携が必要な場合は、代理人に対して「認可」をあたえる
  • 24. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. シングルサインオンの歴史
  • 25. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. クライアント・サーバの時代 • Kerberos(ケルベロス) • MITにより開発された認証プロトコル • 共通 の仕組みを利用した認証プロトコ ルを規定し、分散環境でのユーザ認証を 実現 • Active Directory環境におけるWindows ログインには、Kerberosが用いられて いる • 最近Hadoop界隈でも使われてたりなど、 まだまだ現役 https://www.flickr.com/photos/pheezy/58429180
  • 26. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. WWW/ブラウザの時代 • サービスのすべてはWebで提供されるように • ログイン Cookie発行 • Firewallの普及、HTTPポートのみが生き残る • Cookieは単一ホスト(ドメイン)にのみ有 効 • シングルサインオンは、Cookieと密接に結びつい たものに • HTTP + Cookie上でシングルサインオンを実 現する必要性 https://www.flickr.com/photos/johnkay/3182986643
  • 27. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. .NET Passport • マイクロソフトが提唱した、インターネットでのシングル サインオンを実現するための仕組み • 中央集権的 • シングルサインオンのみならず、課金サービスなどの提供 にも意欲的だったが、あまり普及せず
  • 28. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. Liberty Alliance • WWWの普及を踏まえ、インターネット規模でのシングルサイ ンオン+Webサービス連携を実現するプロトコルを定めるため に生まれたプロジェクト • Sun Microsystemsなどが中心となり、
 .NET Passportに対抗、分散型、非中央集権を目指す • Circle of Trustの概念
  • 29. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAML • 「アサーション」を記述するためのXMLベースの仕様 • アサーションは認証・認可・属性の交換に利用できる • メッセージ内容をXML-Signatureを利用して署名することによって実 現 • バージョン番号に注意 • 1.0時代はシングルサインオンのプロファイルとマークアップ、スキー マ仕様 • そののちLiberty Allianceの成果(ID-FF)と合流し、シングルサイン オンフローに加えメタデータなどを標準化、SAML2.0となる • 現在はSAMLといえばほぼSAML2.0を指す
  • 30. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる
 シングルサインオンの基本 • IdP=アイデンティティプロバイダ
 ( 認証サーバ) • SP=サービスプロバイダ
 ( 連携するWebアプリケーション)
  • 31. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ 1. リクエスト 2. SAMLリクエストを付与して
 IdPへリダイレクト SP IdP
  • 32. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ SP IdP 2.ユーザのログイン処理 3. SPへの連携に対するユーザへの 同意画面画面の提示
  • 33. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLによる シングルサインオン:基本フロー ユーザエージェントユーザ SP IdP 6. レスポンス 4. SAMLアサーションを付与して
 SPへリダイレクト 5. 検証
  • 34. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLのなにがよかったの? • シングルサインオンのプロトコルが標準仕様として策定され た • それまで:特定製品のプロプライエタリなプロトコルが主流 • 企業内ネットワークだけではなく、インターネットサービス に利用できる • ASP連携も重視 後のクラウドサービスでの採用につながる • メタデータの標準化 • 設定ファイルの交換だけで、シングルサインオンサーバとの接続 定義を設定可能
  • 35. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLを使うには • OpenAM • アイデンティティ・アクセス管理のオープンソースソフトウェア • Sun(現Oracle)が開発していたOpenSSOをForkしたうえで、 ForgeRock社が提供 • 事実上の標準に近い。多数のWebサービスが内部で採用している • Salesforce Identity Connectもこちらを利用しているとのこと http://forgerock.com/news-articles/forgerock-announces-new-oem-agreement-to-deliver- salesforce-identity-connect/ • Microsoft Active Directory Federation Service
  • 36. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. SAMLをサポートするクラウド • Google Apps:SPの機能を提供 • Salesforce:IdP、SPの機能を提供 • Windows Azure Active Directory: IdP • Microsoft Office 365: SPの機能を提供 • Amazon Web Services:SPの機能を提供。 • Amazon STSを経由してサービス連携も可能(S3, DynamoDBなど) • Cybozu.com:SP • PingOne : Ping Identity社。IdPの機能を提供 • OneLogin: OneLogin 社。IdPの機能を提供
  • 37. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. まとめ • クライアント/サーバ時代からシングルサインオンは必要と されており、それを実現する技術としてKerberosがあった。 今でも広く利用されている。 • WWW時代には、HTTPでCookieを使ってユーザ認証する のが主流となったため、ブラウザ&HTTP上で利用できるシ ングルサインオンプロトコルを提唱する企業が多く現れた • Liberty Allianceは、Webで利用できるシングルサインオン のプロトコルの標準化を実現し、SAML2.0の仕様へと結実 した
  • 38. ©Copyright 2014 Mashmatrix, Inc. All rights reserved. 補遺:演習的なものへのリンク • PingOneをIdPとして、SalesforceにSAMLでシングルサインオンできるように設定 する • https://www.pingidentity.com/support/solutions/index.cfm/PingOne-Configuring- Salesforce-com-to-use-the-Federated-ID-for-SSO • Window Azure Active Direcotry をIdPとして、Salesforceにシングルサインオンで きるように設定する • http://msdn.microsoft.com/library/azure/dn308593.aspx • SalesforceをIdPとして、Google Appsにシングルサインオンできるように設定する • https://developer.salesforce.com/page/Configuring-SAML-SSO-to-GoogleApps • SalesforceをIdPとしてAmazon AWS Consoleにシングルサインオンできるように 設定する • https://developer.salesforce.com/page/Configuring-SAML-SSO-to-AWS