More Related Content
PDF
デバイスの運用で使える AWS IoTサービスの紹介 PPTX
SPAセキュリティ入門~PHP Conference Japan 2021 PDF
20210526 AWS Expert Online マルチアカウント管理の基本 PDF
PDF
20190723 AWS Black Belt Online Seminar AWS CloudHSM PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service PDF
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について What's hot
PDF
マルチテナント化で知っておきたいデータベースのこと PDF
20190226 AWS Black Belt Online Seminar Amazon WorkSpaces PDF
Infrastructure as Code (IaC) 談義 2022 PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern PDF
なぜOpenID Connectが必要となったのか、その歴史的背景 PDF
AWS Black Belt Online Seminar AWS Direct Connect PDF
20180704 AWS Black Belt Online Seminar Amazon Elastic File System (Amazon EFS... PDF
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報 PDF
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK) PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料) PDF
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES) PDF
10分でわかる Cilium と XDP / BPF PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL PDF
AWS Black Belt Online Seminar 2016 AWS CloudFormation PDF
AWSでDockerを扱うためのベストプラクティス PDF
PDF
Building the Game Server both API and Realtime via c# PPTX
PDF
マイクロサービスバックエンドAPIのためのRESTとgRPC PDF
Similar to シングルサインオンの歴史とSAMLへの道のり
PDF
Microsoftの認証システムの歴史と過渡期におけるWAPの活用+Next Generation Credentials PDF
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介 PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について PDF
アイデンティティ2.0とOAuth/OpenID Connect PDF
PPTX
PDF
PDF
PPTX
Cloud で Active Directory を活用するには PPTX
はじめてのBluemixでシングルサインオン ~ 希望編! PPTX
Latest Status of Identity Federation PDF
Clrh55_LT_kamebuchi_public More from Shinichi Tomita
PDF
モバイルHTML5サイトでの写真アップロードの最適化と業務アプリへの適用 PDF
PDF
SalesforceからAWSへの接続 using OIDC/SAML PPTX
SalesforceでのモダンSPA開発(Mashmatrix ”Sheet"の場合) PDF
PDF
PDF
スマートデバイス×HTML5で
企業情報システムはどう変わる? ~最新動向から考えるエンタープライズWebの現在と未来~ PDF
(M)BaaS and Enterprise Mobile Applications PDF
PDF
Sales Force Episode VI ~ Return of Ajax Toolkit ~ PDF
モバイルBaaSの概観と最新動向 (2013/6/7) PDF
PDF
Spring'15 Update - Named Credential & Long Running Callout PDF
Collecting Photo Stream in Node.js on Heroku PDF
Summer'14 Update - What's new in Force.com Canvas - PDF
PDF
Streaming API で実現する クラウド ⇔ イントラ連携 PDF
Developing SLDS Apps with React.js PDF
Cloud-to-Intranet messaging by Force.com Streaming API PDF
Phantomjs Screenshot Server on Heroku シングルサインオンの歴史とSAMLへの道のり
- 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.
- 5.
- 6.
- 7.
- 8.
- 9.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
クレデンシャル
(Credential/資格証明)
(ユーザエージェント)
サーバユーザ
リクエスト
レスポンス
検証
クライアント
クレデンシャル
(資格証明)
!
- 10.
©Copyright 2014 Mashmatrix,Inc. All rights reserved.
クレデンシャルの例
• パスワード
• 簡易・簡便ゆえに、ゴールデンスタンダードとして君臨。種々の問題の元凶にも
• 「本人しか知りえない知識を提示」できることで認証する
• クライアント証明書(ICカード内に保管)
• 「本人しか持っていない所有物を提示」できることで認証する
• セッションID
• 他の方式(パスワードなど)で認証を受けた後、資格証明の検証を簡略化するための工
夫
• セッションIDの値は他の人に知られてはいけない。簡単に推測できてはいけない
• セッションIDに紐付いているユーザが現在アクセスしているものとみなす
- 11.
- 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.
- 17.
- 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.
- 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.
- 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