Submit Search
Upload
今更聞けないOAuth2.0
•
97 likes
•
68,984 views
Takahiro Sato
Follow
OAuth2.0まとめ speakerdeck はこちら↓ https://speakerdeck.com/satot/jin-geng-wen-kenaioauth2-dot-0#
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 83
Download now
Download to read offline
Recommended
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
Tatsuo Kudo
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
OpenID Connect Client Initiated Backchannel Authentication Flow (CIBA)のご紹介 ~ ...
OpenID Connect Client Initiated Backchannel Authentication Flow (CIBA)のご紹介 ~ ...
OpenID Foundation Japan
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
Recommended
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
OpenID Connect 入門 〜コンシューマーにおけるID連携のトレンド〜
Masaru Kurahayashi
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
なぜOpenID Connectが必要となったのか、その歴史的背景
なぜOpenID Connectが必要となったのか、その歴史的背景
Tatsuo Kudo
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~
Tatsuo Kudo
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
SAML / OpenID Connect / OAuth / SCIM 技術解説 - ID&IT 2014 #idit2014
Nov Matake
OpenID Connect Client Initiated Backchannel Authentication Flow (CIBA)のご紹介 ~ ...
OpenID Connect Client Initiated Backchannel Authentication Flow (CIBA)のご紹介 ~ ...
OpenID Foundation Japan
Keycloakのステップアップ認証について
Keycloakのステップアップ認証について
Hitachi, Ltd. OSS Solution Center.
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
Naoki Nagazumi
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
Haniyama Wataru
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
Shinichi Tomita
自己主権型IDと分散型ID
自己主権型IDと分散型ID
Naohiro Fujie
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
Hitachi, Ltd. OSS Solution Center.
OpenID Connect入門
OpenID Connect入門
土岐 孝平
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
Naoto Miyachi
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
安全なID連携のハウツー
安全なID連携のハウツー
Masaru Kurahayashi
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
Masaru Kurahayashi
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
Yahoo!デベロッパーネットワーク
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Tatsuo Kudo
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Hiroyuki Wada
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
More Related Content
What's hot
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
Nov Matake
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
Naoki Nagazumi
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Masaru Kurahayashi
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
Haniyama Wataru
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
Shinichi Tomita
自己主権型IDと分散型ID
自己主権型IDと分散型ID
Naohiro Fujie
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
Nov Matake
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
Hitachi, Ltd. OSS Solution Center.
OpenID Connect入門
OpenID Connect入門
土岐 孝平
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
Naoto Miyachi
Keycloak拡張入門
Keycloak拡張入門
Hiroyuki Wada
安全なID連携のハウツー
安全なID連携のハウツー
Masaru Kurahayashi
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
Masaru Kurahayashi
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
Yahoo!デベロッパーネットワーク
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenID Foundation Japan
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Tatsuo Kudo
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Hiroyuki Wada
What's hot
(20)
OAuth認証再考からのOpenID Connect #devlove
OAuth認証再考からのOpenID Connect #devlove
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect -
これからのネイティブアプリにおけるOpenID Connectの活用
これからのネイティブアプリにおけるOpenID Connectの活用
Idcon25 FIDO2 の概要と YubiKey の実装
Idcon25 FIDO2 の概要と YubiKey の実装
シングルサインオンの歴史とSAMLへの道のり
シングルサインオンの歴史とSAMLへの道のり
自己主権型IDと分散型ID
自己主権型IDと分散型ID
Azure ADとIdentity管理
Azure ADとIdentity管理
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
池澤あやかと学ぼう!: はじめてのOAuthとOpenID Connect - JICS 2014
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
OpenID Connect入門
OpenID Connect入門
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
今更聞けない電子認証入門 -OAuth 2.0/OIDCからFIDOまで- <改定2版>
Keycloak拡張入門
Keycloak拡張入門
安全なID連携のハウツー
安全なID連携のハウツー
俺が考えた最強のID連携デザインパターン
俺が考えた最強のID連携デザインパターン
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
OpenID Connectとネイティブアプリを取り巻く仕様と動向 Yahoo! JAPANの取り組み #openid #openid_tokyo
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
OpenIDConnectを活用したgBizID(法人共通認証基盤)の現状と今後の展望 - OpenID Summit 2020
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
KeycloakのDevice Flow、CIBAについて
KeycloakのDevice Flow、CIBAについて
Viewers also liked
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
Nov Matake
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
OAuth認証について
OAuth認証について
Yoshifumi Sato
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
Takashi Yahata
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
Akira Miki
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
Masato Kawamura
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
Tatsuo Kudo
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
Yohei Yamamoto
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
Masaru Kurahayashi
REST 入門
REST 入門
Yohei Yamamoto
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
Nat Sakimura
Office365のIdentity管理
Office365のIdentity管理
Naohiro Fujie
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
心 谷本
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
Tatsuo Kudo
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
一般社団法人シェアリングエコノミー協会
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Amazon Web Services Japan
Viewers also liked
(17)
ID連携概要 - OpenID TechNight vol.13
ID連携概要 - OpenID TechNight vol.13
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
OAuth認証について
OAuth認証について
ID連携のあるとき~、ないとき~ #エンプラ編
ID連携のあるとき~、ないとき~ #エンプラ編
Microserviceなんて最初からやるもんじゃ無かった
Microserviceなんて最初からやるもんじゃ無かった
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
Beginning Java EE 6 勉強会(6) #bje_study
Beginning Java EE 6 勉強会(6) #bje_study
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
WebAPIのこれまでとこれから
WebAPIのこれまでとこれから
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
サバフェス 2016 Yahoo! ID連携のご紹介 〜OpenID Connect入門〜
REST 入門
REST 入門
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
金融 API 時代のセキュリティ: OpenID Financial API (FAPI) WG
Office365のIdentity管理
Office365のIdentity管理
Spring Bootをはじめる時にやるべき10のこと
Spring Bootをはじめる時にやるべき10のこと
エンタープライズITでのOpenID Connect利用ガイドライン
エンタープライズITでのOpenID Connect利用ガイドライン
Uberご紹介(髙橋正巳)
Uberご紹介(髙橋正巳)
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
[AWSマイスターシリーズ] AWS CLI / AWS Tools for Windows PowerShell
Similar to 今更聞けないOAuth2.0
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
Ryo Ito
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
Ryo Ito
TwitterのOAuthってなんぞ?
TwitterのOAuthってなんぞ?
deflis
Idcon11 implicit demo
Idcon11 implicit demo
Ryo Ito
O Auth
O Auth
Taizo Matsuoka
kitproライトニングトーク
kitproライトニングトーク
Taichi Kimura
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
junichi anno
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
junichi anno
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
KentaEndoh
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルー
Naohiro Fujie
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
Preferred Networks
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
Taichi Inaba
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
dstn
Whats wrong oauth_authn
Whats wrong oauth_authn
Nov Matake
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
Nat Sakimura
Anonymous OAuth Test
Anonymous OAuth Test
Ryo Ito
Intern2015 02
Intern2015 02
LINE Corporation
OAuth2基礎知識
OAuth2基礎知識
sokamo1975
Similar to 今更聞けないOAuth2.0
(20)
なんとなくOAuth怖いって思ってるやつちょっと来い
なんとなくOAuth怖いって思ってるやつちょっと来い
Introduction of OAuth 2.0 vol.1
Introduction of OAuth 2.0 vol.1
TwitterのOAuthってなんぞ?
TwitterのOAuthってなんぞ?
Idcon11 implicit demo
Idcon11 implicit demo
O Auth
O Auth
kitproライトニングトーク
kitproライトニングトーク
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
LINEログインの最新アップデートとアプリ連携ウォークスルー
LINEログインの最新アップデートとアプリ連携ウォークスルー
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
ゼロからはじめるサーバーサイド Vol2
ゼロからはじめるサーバーサイド Vol2
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
2014年4月17日 dstnHub発表スライド ライトニングトークス「開発部開発グループ OAuth2.0 認証を実現してみた」
Whats wrong oauth_authn
Whats wrong oauth_authn
FAPI and beyond - よりよいセキュリティのために
FAPI and beyond - よりよいセキュリティのために
Anonymous OAuth Test
Anonymous OAuth Test
Intern2015 02
Intern2015 02
OAuth2基礎知識
OAuth2基礎知識
今更聞けないOAuth2.0
1.
今更聞けない OAuth2.0 presented by
@white_aspara25
2.
自己紹介 • @white_aspara25
• istyle.inc エンジニア(自称) • ここ1年は ハノイ@ベトナム で Bridgeエンジニ アとして働いてました
3.
話す内容 1. OAuth ってなに?
2. OAuth2.0 システム仕様 3. セキュリティ対策
4.
話さない内容 1. OAuth1.0 の仕様
2. XAuth の仕様 3. OpenID Connect
5.
話す内容 1. OAuth ってなに?
2. システム仕様 3. セキュリティ対策
6.
OAuth ? おーす
7.
OAuth って? ※認証ではなく、認可です HTTP
上で 認可 を行うためのプロトコル
8.
OAuth って? ※認証ではなく、認可です HTTP
上で 認可 を行うためのプロトコル
9.
認証 or 認可
?
10.
認証? • 英:AuthenFcaFon 「誰?」 を確認するのが目的 「認証(にんしょう)とは、何かによって、対象の正当性を確認する行為を 指す」
「相手認証とは、ある人が確かに本人であると納得させる事をいう」 by Wikipedia
11.
認可? • 英:AuthorizaFon 「リソースのアクセス権を指定する機能であり、(中略)特にアクセス制 御と関係性が深い」 by
Wikipedia 「何ができる?」 を確認するのが目的
12.
OAuth = 認可 のプロトコルです。
「誰か?」を確認する目的のものではありません。
13.
OAuth = 認可 のプロトコルです。
「誰か?」を確認する目的のものではありません。 = OpenID Connect (今回は説明しません)
14.
OAuth って? ※認証ではなく、認可です HTTP
上で 認可 を行うためのプロトコル
15.
OAuth って? ※認証ではなく、認可です HTTP
上で 何ができる? を確認するためのプロトコル
16.
例 投稿サイトA SNS 投稿 自動投稿 スマホで撮影した愛猫の写真 サイトAに投稿したら、自動でSNSにも投稿したい! として
17.
一番簡単な方法 投稿サイトA SNS ID/PW ログイン 投稿
18.
一番簡単な方法 投稿サイトA SNS ID/PW ログイン 投稿 の ID/PW を保持している
19.
But...
20.
それ、アカンやつや • サイトA はユーザの許可がなくても
SNS の情報が見れてしまう • SNS のパスワードを変更 => サイトAのパスワードも変更が必要 • ID/PW漏洩のリスク etc... 問題大有りです。
21.
OAuth そこで
22.
OAuth を使った方法 投稿サイトA SNS 1. ユーザはSNSにサイトAからの投稿を許可(=認可)
サイトAからの投稿許可
23.
OAuth を使った方法 投稿サイトA SNS 1. ユーザはSNSにサイトAからの投稿を許可(=認可)
2. ユーザの許可を受けてSNSはトークンを発行 サイトAからの投稿許可 トークンを発行
24.
OAuth を使った方法 投稿サイトA SNS 投稿 1. ユーザはSNSにサイトAからの投稿を許可(=認可)
2. ユーザの許可を受けてSNSはトークンを発行 3. 投稿サイトAはトークンを使ってSNSに投稿 サイトAからの投稿許可 投稿 トークンを発行
25.
OAuth を使った方法 投稿サイトA SNS 投稿 1. ユーザはSNSにサイトAからの投稿を許可(=認可)
2. ユーザの許可を受けてSNSはトークンを発行 3. 投稿サイトAはトークンを使ってSNSに投稿 サイトAからの投稿許可 投稿 トークンを発行 No more ID/Password SNS の ID/PW をサイトAは知らなくても良い!
26.
○○ができる を証明するもの トークン = ○○ = ××のサービス上で △△の代わりに 投稿(メッセージ、写真、、) 閲覧(個人情報、友達、、) 注意点
27.
○○ができる を証明するもの トークン = ○○ = ××のサービス上で △△の代わりに 投稿(メッセージ、写真、、) 閲覧(個人情報、友達、、) 注意点 ただのチケット
=本人じゃなくても使える =本人証明にならない
28.
○○ができる を証明するもの トークン = ○○ = ××のサービス上で △△の代わりに 投稿(メッセージ、写真、、) 閲覧(個人情報、友達、、) 注意点 用法用量を守って
正しくお使いください
29.
サイトA まとめると サイトB ○○する 発行 として この一連のフローを仕様に落としたのが OAuth
サイトAを認可 の代わりに 「サイトB」上で ○○ ができる証明書
30.
話す内容 1. OAuth ってなに?
2. OAuth2.0 システム仕様 3. セキュリティ対策
31.
OAuth2.0 • AuthorizaFon Code
Grant • Implicit Grant • Resource Owner Password CredenFals Grant • Client CredenFals Grant 4種類のトークン 発行フロー
32.
OAuth2.0 • AuthorizaFon Code
Grant • Implicit Grant • Resource Owner Password CredenFals Grant • Client CredenFals Grant 4種類のトークン 発行フロー 今回は取り扱いません
33.
AuthorizaFon Code Grant •
認可コードグラント、とも • サーバ間通信のような、トークンを秘密保持できる場合 に使われる • 一般的な web アプリはコレ Implicit Grant • トークンを秘密保持できない場合に。 • スマホアプリや Javascript はコレ。
34.
AuthorizaFon Code Grant
35.
AuthorizaFon Code Grant
処理の流れ Webアプリ
36.
AuthorizaFon Code Grant
処理の流れ 1. ユーザー認可リクエスト 「 が から に投稿したいって 言ってるんだけど」 Webアプリ
37.
AuthorizaFon Code Grant
処理の流れ 「問題ないっす! 認めてやって!」 「 に確認するからちょい待って」 Webアプリ
38.
AuthorizaFon Code Grant
処理の流れ 認可コードの発行&送付 「@ : の確認取れたわ。 発行するから に取りにきて。 トークンの引換券はこれな: 」 認可コード 認可コード
39.
AuthorizaFon Code Grant
処理の流れ 「つ のトークン おくれ。」 認可コード 「 ね。はいよ 」 Webアプリ 2. アクセストークンリクエスト
40.
AuthorizaFon Code Grant
処理の流れ 「つ として を投稿しておくれ」 「OK. したよ 」 Webアプリ
41.
AuthorizaFon Code Grant ポイント
42.
ポイント は と引き換えに を発行 認可コード Webアプリ はリクエストしてきた の認証チェック
43.
ポイント は には渡らない 側で管理 = 秘密保持可 Webアプリ
44.
Implicit Grant
45.
Implicit Grant 処理の流れ ネイティブアプリ
46.
Implicit Grant 処理の流れ ネイティブアプリ 1.
認可要求 「 が から に投稿したいって 言ってるんだけど」
47.
Implicit Grant 処理の流れ ネイティブアプリ 「問題ないっす!
認めてやって!」 「 に確認するからちょい待って」
48.
Implicit Grant 処理の流れ ネイティブアプリ トークンの発行&送付 「@ : の確認取れたわ。 はい、これ使って 。」
49.
Implicit Grant 処理の流れ ネイティブアプリ 「つ として を投稿しておくれ」 「OK.
したよ 」
50.
Implicit Grant ポイント
51.
Implicit Grant 処理の流れ ネイティブアプリ は の確認が取れたらすぐ を発行 の認証をしない分、簡単
52.
Implicit Grant 処理の流れ ネイティブアプリ そのため、redirect
URI の事前登録は必須 = 異なる redirect URI はエラーに
53.
Implicit Grant 処理の流れ ネイティブアプリ は に渡るため、漏れる可能性がある =
秘密保持不可
54.
話す内容 1. OAuth ってなに?
2. OAuth2.0 システム仕様 3. セキュリティ対策
55.
Case1. CSRF
56.
CSRF 1) 攻撃者は通常の手順でSPの認可まで行う 2)
認可後のリダイレクト先の URI を取得し、被害者に アクセスさせる 手法 リスク ・ 第3者の アカウントと連携 =第3者がログイン可能 = アカウントの乗っ取り ・ 第3者のアカウントとしてログインさせられる ー 個人情報やクレカ情報を登録したら、第3者に知られてしまう
57.
CSRF Webアプリ 攻撃者 攻撃者は正規の方法で認可コードの発行まで行い のリダイレクト先のURIを取得
58.
CSRF Webアプリ 攻撃者 攻撃者は、入手した URI に他の人がアクセスするよう仕向ける
(他者のブラウザで実行さえできれば良いので、ブログに貼るなど) 被害者
59.
CSRF Webアプリ 攻撃者 被害者の アカウント から 攻撃者の アカウント
に対する トークン 発行依頼 被害者
60.
CSRF Webアプリ 攻撃者 は 攻撃者の アカウント に対するトークン を発行
⇒ 被害者の アカウント と 攻撃者の アカウント が紐付く 被害者
61.
CSRF Webアプリ 攻撃者 攻撃者は自分の アカウントでログイン 被害者の 上の情報を取得 被害者
62.
対策(Consumer) 「ユーザー認可リクエスト」 「アクセストークンリクエスト」 この2つが同じセッションかをチェック
state パラメータを使う
63.
CSRF 対策 Webアプリ 攻撃者 state
値を含めて「ユーザ認可リクエスト」を投げる 被害者 state は攻撃者のセッションに基づいて state 値を発行
64.
CSRF 対策 Webアプリ 攻撃者 は被害者のセッションに基づく
state 値を発行 被害者 state state 認可リクエスト時の state 値が引き回される state
65.
CSRF 対策 Webアプリ 攻撃者 最初に発行した
state と被害者の state 値と比較 ⇒ 検証に失敗! 被害者 state state state
66.
Case2. redirect URI
の改ざん
67.
redirect URI の改ざん 「ユーザー認可リクエスト」と「アクセストークンリクエスト」で
異なる redirect URI を指定 攻撃者にアクセストークンを抜き取られ、被害者の個人情報に アクセスされる、など 手法 リスク
68.
redirect URI の改ざん 「ユーザー認可リクエスト」と「アクセストークンリクエスト」で
異なる redirect URI を指定 SP に redirect URI の事前登録をしない場合に発生 ※Implicit Grant はSP への redirect URI の事前登録が必須なので、AuthorizaFon Code Grant に限られる 手法 条件
69.
redirect URI の改ざん Webアプリ 攻撃者 攻撃者は予め、正規の を使って
「ユーザ認可リクエスト」 を発行 ( が設定している 「ユーザ認可リクエスト」 の URI を取得)
70.
redirect URI の改ざん Webアプリ 攻撃者
Consumer 被害者 被害者を先ほど入手した URI にアクセスさせる ただし、redirect URI は攻撃者のConsumer のものに差し替える
71.
redirect URI の改ざん Webアプリ 攻撃者
Consumer redirect URI の事前登録がないので チェックをスルー 被害者
72.
redirect URI の改ざん Webアプリ 攻撃者
Consumer redirect URI に指定されたように 攻撃者の Consumer に到達 被害者
73.
redirect URI の改ざん Webアプリ 攻撃者
Consumer 攻撃者は、最初に入手した 正しい redirect URI に差し替えてリクエスト 被害者
74.
redirect URI の改ざん Webアプリ 攻撃者
Consumer 被害者 の本来のリクエストと同じなのでチェックを通過 は攻撃者の Consumer を と誤認し、トークンを発行
75.
redirect URI の改ざん Webアプリ 攻撃者
Consumer 被害者 攻撃者がトークンを取得 SP 上の被害者の情報にアクセスが可能
76.
対策(SP) 1) redirect URI
の事前登録をしておき、登録の あるURIと同じかチェック 2) 「ユーザー認可リクエスト」と 「アクセストークンリクエスト」で redirect URI が一緒かチェック
77.
redirect URI の改ざん
対策 Webアプリ 攻撃者 Consumer 予め登録のある redirect URI ではない ⇒ 検証失敗! 被害者
78.
redirect URI の改ざん
対策 Webアプリ 攻撃者 Consumer 被害者 「ユーザ認可リクエスト」の時と異なる redirect URI が 「アクセストークンリクエスト」で設定されている ⇒ 検証失敗!
79.
他にも・・・
80.
攻撃例 • Consumer のなりすまし
• オープンリダイレクタ • Implicit Grant におけるトークン置き換え などなど・・・(説明は逐次追記します)
81.
まとめ
82.
まとめ • OAuth とは認可のプロトコル
• トークンはあくまで「何ができるか」を証明する もの。「誰か」を証明するものではない • トークンは第三者でも使用可能。漏れないよ うに充分に配慮する • セキュリティ上の配慮する点が多数。 Consumer としても SP としても対策を怠らない こと
83.
参考 • hZp://openid-‐foundaFon-‐japan.github.io/ rfc6749.ja.html •
hZp://www.slideshare.net/charlier-‐shoe/ oauth-‐20-‐29540466 • hZp://www.atmarkit.co.jp/ait/arFcles/1209/10/ news105.html • hZp://www.slideshare.net/ritou/idcon17-‐oauth2-‐ csrfprotecFonritou • hZps://speakerdeck.com/ritou/openid-‐ connectwoyong-‐iteidlian-‐xi-‐woshi-‐zhuang-‐surutokiniqi-‐ wofu-‐kerukoto-‐number-‐yapcasia • hZp://developer.yahoo.co.jp/yconnect/client_app/
Download now