Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CIBA詳細とCIBAで実現する社会を考えてみたかった / OpenID TechNight Vol.16 LT
Search
Ayokura
February 25, 2019
Technology
1
2.1k
CIBA詳細とCIBAで実現する社会を考えてみたかった / OpenID TechNight Vol.16 LT
2019/2/25 の OpenID TechNight Vol.16 で話したLTの発表資料です。
CIBAを既にある程度把握している人向け、と思います。
Ayokura
February 25, 2019
Tweet
Share
More Decks by Ayokura
See All by Ayokura
デジタルアイデンティティの技術を学ぼう!~認証認可にまつわる標準仕様文書を読んでみよう~ / OpenID Summit Tokyo 2024
ayokura
0
510
WWDC 2020 参加報告 ~ Sign in with Apple & WebAuthn まわりを中心に #openid #technight / openid-technight-17-wwdc20
ayokura
0
1.1k
公開情報から読むCloud-assisted BLE(caBLE)をつかったWebAuthn
ayokura
2
5.1k
Other Decks in Technology
See All in Technology
オーナーシップを持つ領域を明確にする
konifar
13
3k
ServiceNow Knowledge Learning Rise up
manarobot
0
190
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
7
1.2k
Hands-on Gemini, the Google DeepMind LLM
meteatamel
1
110
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
860
生産性向上チームの紹介
cybozuinsideout
PRO
1
840
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
160
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.4k
本当のAWS基礎
toru_kubota
0
380
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
12
2.3k
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
170
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
320
23k
Practical Orchestrator
shlominoach
181
9.7k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
1
3.4k
Rails Girls Zürich Keynote
gr2m
91
13k
Designing Experiences People Love
moore
136
23k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Pencils Down: Stop Designing & Start Developing
hursman
117
11k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
220
21k
What's in a price? How to price your products and services
michaelherold
237
11k
No one is an island. Learnings from fostering a developers community.
thoeni
15
2.1k
Transcript
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
CIBA詳細とCIBAで実現する社会 を考えてみたかった 2019/2/25 OpenID TechNight #16 LT 株式会社レピダム 名古屋 謙彦 (あよくら @ayokura)
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
自己紹介 株式会社レピダムで社員2年目です。 (学生時代のお仕事も含めると9年目です) コード書いたり、システム管理をするエンジニアです サーバーやネットワークのおせわをするのは癒し クリスチャンです @ayokura でtwitterなどやっています ID関係は、学生時代からの趣味です 今は仕事にも役立っています(+KYC WGにいます) 簡単に安全な世の中が来てほしいです インターネット経由とか対面とか電話越しとか気にせずに サービスが受けられる時代がこないかな、と思ってます 2
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
セキュリティやネットワーク技術の研究開発を強みとし、 課題解決やビジネス実現を通じて顧客の事業成長の加速に 貢献する 株式会社レピダム 3 開発力 専門性 HUB力 事業ニーズ ・事業会社 ・自治体 ・新規ビジネス エッジの効いた技術で顧客のビジネスを加速 技術シーズ ・企業研究所 ・標準化団体 ・大学 事業ニーズを次世代の技術開発へ
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
CIBAとは Client Initiated Backchannel Authenticaton 最近Implementer’s Draftになりました https://openid.net/2019/02/04/implementers-draft- of-openid-connect-client-initiated-backchannel- authentication-ciba-core-approved/ Total votes: 58 (out of 270 members = 21% > 20% quorum requirement) ……これ20%下回ったらどうなってたんだろう……。 その他、直前のLTをご参照ください m(_ _ )m https://openid.net/developers/specs/ からリンクさ れているのは2017年のものという罠に注意です……。 4
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
Agenda OAuth 2.0 Device FlowとCIBAを比べてみて OAuth 2.0 Device Flow CIBAと違うところ その他CIBAの仕様で気になったところ OPが認証したいユーザーを識別する方法 User Code Privacy Considerations 願望 5
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow draft-ietf-oauth-device-flow まだRFCになってない拡張 Googleが「Youtube on TV」で使っているはず ゲーム機とかテレビとかの、キーボード入力が難しかったり、 Webブラウザがないような環境で使います 6
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow 7
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow 8
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow 9
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow 10
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow~CIBAと違うところ ユーザーとデバイスの紐づけの情報を送る側が違う Device Flowでは、デバイスの一時的な識別子(verification code)を、ユーザーがAuthorization Serverに入力 ユーザーのセッションとverification codeが紐づけられて認可画 面がでる 紐づけに使う情報を送るのはユーザー CIBAでは、RPが認証を始める時点でユーザーを識別できる情報 (ヒント)をOPに送信する エンドユーザーの認証デバイス(Authentication Device)には OPからプッシュ通知などで認証するかが飛ぶ 紐づけに使う情報を送るのはRP 11
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OAuth 2.0 Device Flow~CIBAと違うところ この観点でまとめてる人あんまいない、やったーと思ってい たのですが…… @ritou さんのブログにまとまってました https://ritou.hatenablog.com/entry/2018/12/29/224 452 12
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
Agenda OAuth 2.0 Device FlowとCIBAを比べてみて OAuth 2.0 Device Flow CIBAと違うところ その他CIBAの仕様で気になったところ OPが認証したいユーザーを識別する方法 User Code Privacy Considerations 願望 13
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
OPが認証したいユーザーを識別する方法 RPがAuthentication Request時にユーザーを識別する ためのヒントを送る 3種類のヒント id_token_hint 過去に発行されたID Tokenをヒントにする login_hint_token トークンとしてヒント情報を送る(JWT形式?) login_hint 上のいずれでもないケース。たぶん文字列で送るはず どれか一つが必須、二つ以上あってはならない 14
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
User Code エンドユーザーとOPのみが知る秘密のコード 仕様上はOPTIONAL Authentication Requestを受けたOPが、ユーザーのAD に認証要求を送るか判断するのに使う なぜ必要? ヒントにメールアドレスを使っている場合などで、本人以外が認証 要求を送れる ⇒寝ているときなどに唐突にデバイス通知で起こされるかも この辺の問題は他のパスワードレスな認証の手段でもあるはず 本人以外が認証要求を送るのが難しければ不要、のはず 15
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
15. Privacy Considerations 認証時ヒントとしてユーザーを識別できる情報をRPに渡す 電話番号・メールアドレスといった、静的かつグローバルな 識別子を利用する場合、プライバシー的によろしくない。 対応策としては過去のID Tokenをヒントとして使ったり、 ADからCDに転送された使い捨てユーザーIDを使ったり、 Discovery Serviceを使うみたいなのがあるらしい。 ADからCDに転送された使い捨てユーザーID 認証アプリ側に一度だけ使えるユーザーIDを表示してそれを打ち 込んでもらう または、QRコードしておいてスキャンしてもらう ⇒プライバシー要素でなくても、QRコード使う形は便利そう…… 16
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
Agenda OAuth 2.0 Device FlowとCIBAを比べてみて OAuth 2.0 Device Flow CIBAと違うところ その他CIBAの仕様で気になったところ OPが認証したいユーザーを識別する方法 User Code Privacy Considerations 願望 17
https://lepidum.co.jp/ Copyright © 2004-2019 Lepidum Co. Ltd. All rights reserved.
願望~こんなところで使えたら楽しい 既存の認証がなかったソリューションへの認証追加 バーコードを使うようなポイントカード・図書館カードの拡張 ポイント利用時や、本の予約時など、より精密に認証が必要な時に利用する と幸せなのでは 同様にしてFelica IDm等をIDとして使って認証は別に追加など できるかも とはいえその手のケースでは手間を省くのが目的なので難しいかも 既存の物理トークンを用いた仕組みへの二要素追加 クレジットカードのオーソリ等で、オーソリ通らない場合に電話がか かってくるのではなく、通知が飛んで来て処理できる 一定額超えたら手動で承認 18