ID&IT 2014

40 %
60 %
Information about ID&IT 2014
Technology

Published on September 26, 2014

Author: matake

Source: slideshare.net

OpenID Connect / OAuth / SAML / SCIM 技術解説 一般社団法人 OpenIDファウンデーション・ジャパンエバンジェリスト nov エクスジェン・ネットワークス株式会社 野村 健太郎

目次 ● 最新クラウドサービス利用事例 ● プロトコル四天王 ● SAML 解説 ● OAuth 2.0 解説 ● OpenID Connect 解説 ● SCIM 解説 ● まとめ Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

最新 クラウドサービス 利用事例 (Greeの場合) Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Digital Identity 界の プロトコル四天王 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

本日紹介するプロトコル OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

本日紹介するプロトコル フェデレーション プロトコル OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

本日紹介するプロトコル ID プロビジョニング プロトコル Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

本日紹介するプロトコル コンシューマー系エンタープライズ系 OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

フェデレーションの基本的な仕組み OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

フェデレーションの基本的な仕組み Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP)

フェデレーションの基本的な仕組み 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP)

フェデレーションの基本的な仕組み 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP) 認証情報 属性情報 ● ユーザーは認証サービス(IdP/OPなど)で認証を受ける ● サービス(SP/RP)は、認証サービスが保持しているユーザー の「認証情報」や「属性情報」が欲しい

フェデレーションのパターン(1) 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. サービス (SP/RP) 認証サービス (IdP/OP) 認証情報 属性情報

フェデレーションのパターン(2) 認証サービス (IdP/OP) 認証 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. 認証情報 属性情報 サービス (SP/RP) 認可コード アーティファクト

プロトコルで決められていること ● 認証情報や属性情報の表現形式 ○ JSON ○ XML ● 認証情報や属性情報のやりとりの方法 ○ HTTP ■ メソッド (GET、POSTなど) ■ パラメーター ○ SOAP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML とは ● https://wiki.oasis-open.org/security/FrontPage ● SAML:Security Assertion Markup Lauguage ● 認証情報、属性情報などを XML で表現 ● HTTP/SOAP などでやりとりする ● 実装例 ○ サービス : 学認、Cybozu.com、Google Apps、 Salesforce、Microsoft Azure AD、Dropbox ○ ソフトウェア : OpenAM、Shibboleth、各ベンダの製品 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML 信頼関係の構築 IdP SP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. メタデータ (証明書、URL など)

SAML シーケンス IdP SP Initiate Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML シーケンス IdP SP Initiate SAML 認証リクエスト Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) SAML 認証レスポンス Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML シーケンス IdP SP Initiate SAML 認証リクエスト 認証(ID/PW 送信) SAML 認証レスポンス SP へのログイン完了 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SAML 認証リクエスト/認証レスポンス ● リクエスト (かなり省略) <samlp:AuthnRequest ID="ppndejggibkmmdgignpgloakglfadfldhnphndhg" IssueInstant="2014-09-16T11:19:47Z Version="2.0" <saml:Issuer>https://sp.example.com</saml:Issuer> </samlp:AuthnRequest> ● レスポンス (かなり省略) <samlp:Response デジタル署名情報 <saml:NameID>taro@example.jp</saml:NameID> </samlp:Response> Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

実際のリクエスト/レスポンス リクエストレスポンス <samlp:AuthnRequest ID=" ppndejggibkmmdgignpgloakglfadfldhnphndhg" Version="2.0" IssueInstant="2011-04-16T11: 19:47Z" ProtocolBinding="urn:oasis:names:tc: SAML:2.0:bindings:HTTP-POST" ProviderName="samlsp.example.jp" IsPassive="false" AssertionConsumerServiceURL="https://www. samlsp.example.jp/a/g.example.jp/acs"><saml: Issuer>samlsp.example.jp/a/g.example. jp</saml:Issuer><samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names: tc:SAML:1.1:nameid-format:unspecified" /></samlp:AuthnRequest> Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. <samlp:Response ID="s2cc2b844fbfe543063c49b45ec60b6f75948037f1" InResponseTo=" bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" Version="2.0" IssueInstant="2011-04-16T07:22:16Z" Destination="https://www.samlsp.example.jp/a/g.example.jp/acs"><saml:Issuer>http://idp.example.com: 8180/openam</saml:Issuer><samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status: Success"> </samlp:StatusCode></samlp:Status><saml:Assertion ID="s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" IssueInstant="2011-04-16T07:22:16Z" Version="2.0"><saml:Issuer>http://idp.example.com: 8180/openam</saml:Issuer><ds:Signature><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http: //www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3. org/2000/09/xmldsig#rsa-sha1"/><ds:Reference URI="#s2b91a971b66a1864a4e95b0fff617f3ddd47f3098" ><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds: Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><ds: DigestValue>QiBEfNqkRNiCUnMceZa5JoxdeMY=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds: SignatureValue> JMEZqoncBBpvoWoxUqMI79CpADROnDb9sil9q7j9F0j0DXpVtR92hksF7eByMpA+XSOtEv655SDyjz+rnoeoff OgtsiIbOAG+/a0+JUXpN27VXVJV3+WEDyAfwSqAT3a3KzF+7ssGOkEK8Ktpog8Sx60iOW4iNKGz8rcZ8pDq q0= </ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate> MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQ swCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmEx DDAK BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0BAQ EFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of+RkDsaN/igkA vV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNYJs0Vo5+IgjxuEWnjnnV gHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/UQzPKTPTYi9upbFXlrAKMwt Ff2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC/FfwWigmr W0Y0Q== </ds:X509Certificate></ds:X509Data></ds:KeyInfo></ds:Signature><saml:Subject><saml:NameID Format=" urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified" NameQualifier="http://idp.example.com: 8180/openam">taro</saml:NameID><saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm: bearer"><saml:SubjectConfirmationData InResponseTo="bjlljiaibddgppbdpimacgdfeigppjndmcfnddni" NotOnOrAfter="2011-04-16T07:32:16Z" Recipient="https://www.samlsp.example.jp/a/g.example.jp/acs" /></saml:SubjectConfirmation></saml:Subject><saml:Conditions NotBefore="2011-04-16T07:12:16Z" NotOnOrAfter="2011-04-16T07:32:16Z"><saml:AudienceRestriction><saml:Audience>samlsp.example.jp/a/g. example.jp</saml:Audience></saml:AudienceRestriction></saml:Conditions><saml:AuthnStatement AuthnInstant="2011-04-16T07:22:16Z" SessionIndex="s2e924fdac5fe15c4559aab5118be38caed9dc7f01" ><saml:AuthnContext><saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes: PasswordProtectedTransport</saml:AuthnContextClassRef></saml:AuthnContext></saml: AuthnStatement></saml:Assertion></samlp:Response>

OAuth 2.0 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

OpenID Connect Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SCIM Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

(SCIM の説明の前に) LDAPってご存知ですよね? LDAP LDAP サーバー クライアント LDAP Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. LDAP サーバー LDAP サーバー LDIF uid: taro ... LDAP LDAP

SCIM は JSON + HTTP な ID プロビジョニングプロトコル SCIM SCIM サーバー クライアント JSON HTTP { userName : taro ... } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. SCIM サーバー SCIM サーバー HTTP HTTP

SCIM とは ● http://www.simplecloud.info/ ● System for Cross-domain Identity Management ● クラウドサービスにおける ID 管理の仕様 ● ユーザー情報やグループ情報を JSON で表現し、HTTP でリク エスト/レスポンスを送受信 (REST API) ○ 策定中の最新仕様(SCIM 2.0)では XML に関する仕様は 削除された ● 実装例 ○ Salesforce、その他クラウドサービス Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SCIM の JSON スキーマ { "schemas": ["urn:ietf:params:scim:schemas:core:2.0: User"], "userName": "taro@example.jp", "displayName": "NIHON Taro", "nickName": "taro", "meta": { 省略 } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved. }

SCIM で利用する HTTP メソッド 操作HTTPメソッド 追加(生成) POST 更新PUT (replace) PATCH (modify) 削除DELETE 取得/検索GET Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SCIM API の認証・認可 ● SCIM の API にだれでもアクセスできたら困るので、API の利 用を制御するための認証・認可の仕組みが必要 ● しかし、SCIMでは認証・認可に関する仕様は定義されていない ○ HTTP ベースだから、認証・認可も既存の HTTP ベースの 仕様を使ってね、というスタンス ○ 仕様では OAuth 2.0 を推奨と記載されている ● 実サービスでも、認証・認可は OAuth 2.0 で実装されている場 合が多い。そのため、SCIM API を利用する場合は OAuth 2.0 の知識も必要 Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SCIM リクエスト $ curl -H "Authorization: Bearer AccessToken(※)" -H "Content-Type: application/scim+json" -X "POST" -d ‘{ JSON (詳細は省略) } ’ https://scimsv.example.jp/v1/Users ※アクセストークン(AccessToken)は事前に取得しておく Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

SCIM レスポンス HTTP/1.1 201 Created Content-Type: application/scim+json Location: https://scimsv.example.jp/v1/Users/2819c223- 7f76-453a-919d-413861904646 { JSON (詳細は省略) } Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

まとめ Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

各プロトコルの学習のポイント ● 用語を把握する ○ 登場人物(IdP、OP、SP、RP)と役割を覚える ● HTTP の知識重要 ● プログラミング言語 ○ 言語はなんでもいいので、簡単な Web アプリ や HTTP クライアントが作れると捗る ○ Unix/Linux のコマンドでもOK! Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Copyright © 2014 OpenID Foundation Japan. All Rights Reserved.

Add a comment

Related presentations

Presentación que realice en el Evento Nacional de Gobierno Abierto, realizado los ...

In this presentation we will describe our experience developing with a highly dyna...

Presentation to the LITA Forum 7th November 2014 Albuquerque, NM

Un recorrido por los cambios que nos generará el wearabletech en el futuro

Um paralelo entre as novidades & mercado em Wearable Computing e Tecnologias Assis...

Microsoft finally joins the smartwatch and fitness tracker game by introducing the...

Related pages

Elaiza - Is It Right (Germany) 2014 Eurovision Song ...

powered by: http://www.eurovision.tv Elaiza will represent Germany in the 2014 Eurovision Song Contest in Copenhagen with the song Is It Right
Read more

DHBW Lörrach: IT4BusinessDUAL 2014

Am Freitag, den 25. Juli 2014 veranstaltete das Studienzentrum IT-Management & Informatik bereits zum 4. Mal die Fachtagung IT4BusinessDUAL. Die ...
Read more

Quicken 2014: Unable to Sign-In with Intuit ID - Quicken ...

I installed the R9 mondo patch for Quicken 2014 Starter Edition ... Quicken Mac 2015" Step #6 says to Sign in using your Intuit ID? It does not give me ...
Read more

April 2014 - regsvr32 /i kaos.dll – Quick & Dirty Blog ...

Mit dem aktuellen Cumulative Update April 2014 sollte die Lync Version ... AddLanguage Id="fr-fr" /> Read more

CINEC 2014 - Panther

CINEC 2014 [ujicountdown id=”IT IS TIME…” expire=”2014/09/21 10:00″ hide = “true”] FEEL THE PASSION OF MOVEMENT
Read more

Brazil 2014 World Cup Calendar - Android Apps on Google Play

"Brazil 2014 World Cup Calendar" every day play with 32 mini games and free Apps
Read more

What are the steps involved in setting up an eFile account ...

What are the steps involved in setting up an eFile account for a new filer on the 2014 BE-10 survey, and how long does it take
Read more

Übersetzung Bryan Adams - (Everything I Do) I Do It for ...

Die deutsche Übersetzung von (Everything I Do) I Do It for You und andere Bryan Adams Lyrics und Videos findest du kostenlos auf Songtexte.com.
Read more

Time.is - exact time, any time zone

Time.is displays exact, official atomic clock time for any time zone (more than 7 million locations) in 44 languages. Automated access is prohibited.
Read more