SlideShare una empresa de Scribd logo
1 de 58
User Managed Access



       @ritou
     2012/06/22
    #idcon Vol.13
参考URL
• kantara INITIATIVE UMA WG
  – http://kantarainitiative.org/confluence/display/u
    ma/Home
• 情報セキュリティ技術動向調査(2010 年上
  期) by @tkudos
  – http://www.ipa.go.jp/security/fy22/reports/tech1
    -tg/a_05.html
Agenda
• OAuth & UMA
Roles
•   Resource owner
•   Resource server
•   Client
•   Authorization server
Roles
•   Resource owner : イトウ氏
•   Resource server : mixi
•   Client : openidconnect.info
•   Authorization server : mixi
Roles
•   Resource owner : イトウ氏
•   Resource server : mixi
•   Client : openidconnect.info
•   Authorization server : mixi
これらは一意に紐づいている
分散する認可管理
• User


• Resource Server
  /AuthZ Server


• Client        Web   Mobile   ...
                App    App
Client & Resource Owner
• ClientはResource Ownerの代わりにリ
  ソースアクセスを行う
Client & Resource Owner
• ClientはResource Ownerの代わりにリ
  ソースアクセスを行う

自分が所有するデータにアクセスさせ
るためのしくみ
Client & Resource Owner
• ClientはResource Ownerの代わりにリ
  ソースアクセスを行う

自分が所有するデータにアクセスさせ
るためのしくみ
第3者に共有するしくみではない
(Clientが共有する機能を持つかも)
OAuth
• Resource ServerとAuthorization Serverの
  組み合わせが一意に決められる
  – 認可の管理が各AutnZ Serverに分散
• Clientがアクセスできるのは自らのリソー
  スのみ
UMA
• Resource ServerとAuthorization Serverを
  分離
  – 好みのAuthorization Serverを利用可能
• 第3者へのリソース共有も可能
  – person-to-self
  – person-to-person
  – person-to-organization
• ポリシーはユーザーが決定
Agenda
• OAuth & UMA
• UMA Flow
Roles
• Resource owner → Authorizing User
• Resource server → Host
• Client → Requester
• Authorization server
  → Authorization Manager(AM)
• Requesting Party
    – リソースアクセスするユーザーや組織
ここに
 画像を
保存してる

         画像を
         共有
        したい!
Flow
1. Protecting a Resource
2. Getting Authorization
3. Accessing a Resource
1. Protecting a Resource
• Hostが持つリソースの認可管理を行う
  AMを設定
Resource
     Owner


          AuthZ Server
Client




この3者間でOAuthの処理が行われる
Authorization Userはリソースを管理し
てもらうAMを選択/指定
HostがAMと連携していない場合は
Discovery + Dynamic Registration
AM上でAuthorization UserはHostのリ
ソースをAMで保護することに同意する
(AM:このHostのリソースを管理します
よ?)
HostはAMからリソース保護用のアクセ
ストークンを取得
(Protection API Token)
Hostはリソースを登録
(Resource Set Registration API)
HostはAMからポリシー設定用URLを取
得
AMにリダイレクトされたAuthorizing
Userはポリシーを設定する
1. Protecting a Resource
1. HostはAMからリソース登録のためのトーク
   ンを取得する(Protection API Token)
2. HostはリソースセットをAMに登録
3. Authorizing Userはポリシーを設定
2. Getting Authorization
RequesterはHost上のリソースにアクセス
するための認可を得る
Resource
 Server    AuthZ Server




       Client
Authorizing Userは
Requesting Partyに
リソースのURLを通知
Requesterはリソース
にアクセス
HostはRequesterがアクセスに必要な
permissionを得るためのTicketを要求




 resource_set_id,
      scope
AMはTicketを返す




     ticket
HostはRequesterにAMのURIを返し、必要な
permissionを得るように促す




    AM_URI
permission_ticket
ここで一旦、AM, Requester, Requesting Partyに
よるOAuthの処理が入る

                  AuthZ Server




         Client
RequesterはRequesting Partyに対し許可を求める
• AMと連携してClaimsを渡す
• Permissionの有無を問い合わせる
AMはRequesting Partyが同意したことを示すトーク
ンを渡す(authorization API Token)




             AAT
Resource
 Server    AuthZ Server




       Client
RequesterはAATを用いて, Hostが持つResourceにア
クセスするために必要なTokenを要求




              AAT
AMはPermissionのついていないRPTを返す




            RPT
RequesterはAMに”RPTへのPermission追加”を要求




             RPT,
            ticket
AMはPermissionがセットされたRPTを返す




             RPT
2. Getting Authorization
• Requester-AM-Requesting Party間の
  Authorization取得
• Host-AM-Requester間のPermission付与
3. Accessing a Resource
RequesterはRPTを用いてHostにアクセス
する
RequesterはRPTを用いてHost上にあるリ
ソースにアクセス




  RPT
HostはAMにRPTを送り, Statusを要求




      RPT
AMはRPTのStatusを返す




     status
RPTが有効だったときにHostはリソース
を返す




Protected
Resource
3. Accessing a Resource
• HostはAMにRPTを送信してStatusを
  チェックする
• RPTが有効ならばリソースを返す
Agenda
• OAuth & UMA
• UMA Flow
• UMA × OpenID Connect
Claims-based Access Control
• Requesting Partyの属性情報によるアク
  セスコントロール
 – 企業
 – クレジットスコア
 – 年齢
 – Email アドレス
OpenID Connect Integration
• RP : AM
• OP : Requester or others
• User : Requesting Party
OpenID Connect Integration
1.   AliceはAM上でbob@email.comに写真を
     共有するというポリシーを設定
2.   AliceはBobに画像URLを連絡
3.   Bobがクライアントを用いてURLにアクセス
     →AMへ
4.   AMはBobにOpenID ConnectのRPとして
     Emailを要求
5.   Emailがマッチしたら画像を共有
OpenID Connect Integration
1. AliceはAM上でbob@email.comに写真を
   共有するというポリシーを設定
2. AliceはBobに画像URLを連絡
3. Bobがクライアントを用いてURLにアクセス
   →AMへ
4. AMはBobにOpenID ConnectのRPとして
   Emailを要求
5. Emailがマッチしたら画像を共有
信頼できる属性情報流通のしくみが必要
UMA × SITF?
• SITF = Student Identity Trust Framework
• “信頼できる”学生ですよフラグ+αを流通
  させるしくみ
• UMA×SITFで資料を○○大学の学生の
  みに共有が可能
2012Q2
• Interopのサポート
• 新しいユースケースの収集
• Trust Model Documentの精査
   –http://docs.kantarainitiative.org/uma/
    draft-uma-trust.html
蛇足:僕はこう思ったッス
• OAuthのResource Server/Authorization Server
  分離の部分という点は可能性を感じる
  – コンテンツが強いところは認可管理のコストを抑
    えられる
  – スタートアップが安全にリソースアクセスを提供
  – グループ企業内のAPI連携など
• 誰か一緒に実装してみませんか?
続きはブログか何かで!
• Blog : http://d.hatena.ne.jp/ritou
  – デマはよくない!

Más contenido relacionado

Similar a UserManagedAccess_idcon13

The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
Ryo Ito
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
Hiroki Itoh
 

Similar a UserManagedAccess_idcon13 (10)

Microservices /w Spring Security OAuth
Microservices /w Spring Security OAuthMicroservices /w Spring Security OAuth
Microservices /w Spring Security OAuth
 
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューションOAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
 
0905xx Hybrid Memo
0905xx Hybrid Memo0905xx Hybrid Memo
0905xx Hybrid Memo
 
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
 
ログ管理のベストプラクティス
ログ管理のベストプラクティスログ管理のベストプラクティス
ログ管理のベストプラクティス
 
The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9The Latest Specs of OpenID Connect at #idcon 9
The Latest Specs of OpenID Connect at #idcon 9
 
100121 Scis2010 Itoh
100121 Scis2010 Itoh100121 Scis2010 Itoh
100121 Scis2010 Itoh
 
FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理FIWARE の ID 管理、アクセス制御、API 管理
FIWARE の ID 管理、アクセス制御、API 管理
 
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのためにFAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
 
Financial-grade API Hands-on with Authlete
Financial-grade API Hands-on with AuthleteFinancial-grade API Hands-on with Authlete
Financial-grade API Hands-on with Authlete
 

Más de Ryo Ito

OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixi
Ryo Ito
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
Ryo Ito
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
Ryo Ito
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNS
Ryo Ito
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
Ryo Ito
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
Ryo Ito
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7
Ryo Ito
 

Más de Ryo Ito (20)

安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1安全な"○○でログイン"の作り方 @ NDS in Niigata #1
安全な"○○でログイン"の作り方 @ NDS in Niigata #1
 
idcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirectidcon mini vol3 CovertRedirect
idcon mini vol3 CovertRedirect
 
OpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixiOpenID-TechNight-11-LT-mixi
OpenID-TechNight-11-LT-mixi
 
Idcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF ProtectionIdcon 17th ritou OAuth 2.0 CSRF Protection
Idcon 17th ritou OAuth 2.0 CSRF Protection
 
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID ConnectYAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
 
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来いなんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
 
#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth#idcon 15th ritou 2factor auth
#idcon 15th ritou 2factor auth
 
Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1Open id connect claims idcon mini vol1
Open id connect claims idcon mini vol1
 
OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1OID to OIDC idcon mini vol1
OID to OIDC idcon mini vol1
 
Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1Account Chooser idcon mini Vol.1
Account Chooser idcon mini Vol.1
 
BackplaneProtocol超入門
BackplaneProtocol超入門BackplaneProtocol超入門
BackplaneProtocol超入門
 
WebIntents × SNS
WebIntents × SNSWebIntents × SNS
WebIntents × SNS
 
Idcon11 implicit demo
Idcon11 implicit demoIdcon11 implicit demo
Idcon11 implicit demo
 
OpenID_Connect_Spec_Demo
OpenID_Connect_Spec_DemoOpenID_Connect_Spec_Demo
OpenID_Connect_Spec_Demo
 
OAuth 2.0 MAC Authentication
OAuth 2.0 MAC AuthenticationOAuth 2.0 MAC Authentication
OAuth 2.0 MAC Authentication
 
OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj OAuth 2.0 Dance School #swj
OAuth 2.0 Dance School #swj
 
Ritou idcon7
Ritou idcon7Ritou idcon7
Ritou idcon7
 
Summary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memoSummary of OAuth 2.0 draft 8 memo
Summary of OAuth 2.0 draft 8 memo
 
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
 
Anonymous OAuth Test
Anonymous OAuth TestAnonymous OAuth Test
Anonymous OAuth Test
 

Último

Último (10)

論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

UserManagedAccess_idcon13