Submit Search
Upload
LINEログインの最新アップデートとアプリ連携ウォークスルー
•
0 likes
•
901 views
Naohiro Fujie
Follow
REV UP 2021でお話したLINEログインの最近のアップデートとPKCE対応に対応したアプリ連携について紹介します
Read less
Read more
Technology
Report
Share
Report
Share
1 of 24
Download now
Download to read offline
Recommended
LINE Login総復習
LINE Login総復習
Naohiro Fujie
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
OpenID Foundation Japan
OpenID Connect入門
OpenID Connect入門
土岐 孝平
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
Ryo Ito
S13_レガシー ID 管理者でも分かる Verifiable Credentials のセッション [Microsoft Japan Digital D...
S13_レガシー ID 管理者でも分かる Verifiable Credentials のセッション [Microsoft Japan Digital D...
日本マイクロソフト株式会社
Recommended
LINE Login総復習
LINE Login総復習
Naohiro Fujie
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
Naohiro Fujie
OAuth 2.0の概要とセキュリティ
OAuth 2.0の概要とセキュリティ
Hiroshi Hayakawa
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
韓国における FIDO/ eKYC /DID の現状と今後の取り組み - OpenID Summit 2020
OpenID Foundation Japan
OpenID Connect入門
OpenID Connect入門
土岐 孝平
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
OpenID Foundation Japan
YAPC::Tokyo 2013 ritou OpenID Connect
YAPC::Tokyo 2013 ritou OpenID Connect
Ryo Ito
S13_レガシー ID 管理者でも分かる Verifiable Credentials のセッション [Microsoft Japan Digital D...
S13_レガシー ID 管理者でも分かる Verifiable Credentials のセッション [Microsoft Japan Digital D...
日本マイクロソフト株式会社
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログイン
Naohiro Fujie
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
Tatsuo Kudo
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
OpenID Foundation Japan
FIDOのキホン
FIDOのキホン
Yahoo!デベロッパーネットワーク
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
Tatsuo Kudo
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要
Naohiro Fujie
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Hitachi, Ltd. OSS Solution Center.
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
Naohiro Fujie
自己主権型IDと分散型ID
自己主権型IDと分散型ID
Naohiro Fujie
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login
Naohiro Fujie
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
marcuschristie
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
More Related Content
What's hot
プロトコルから見るID連携
プロトコルから見るID連携
Naohiro Fujie
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログイン
Naohiro Fujie
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
Naohiro Fujie
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
Tatsuo Kudo
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
OpenID Foundation Japan
FIDOのキホン
FIDOのキホン
Yahoo!デベロッパーネットワーク
Azure ADとIdentity管理
Azure ADとIdentity管理
Naohiro Fujie
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
Takeshi Mikami
今更聞けないOAuth2.0
今更聞けないOAuth2.0
Takahiro Sato
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
Masaru Kurahayashi
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
Naohiro Fujie
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
Tatsuo Kudo
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要
Naohiro Fujie
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Hitachi, Ltd. OSS Solution Center.
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
Yahoo!デベロッパーネットワーク
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
Naohiro Fujie
自己主権型IDと分散型ID
自己主権型IDと分散型ID
Naohiro Fujie
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
Tatsuo Kudo
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login
Naohiro Fujie
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
marcuschristie
What's hot
(20)
プロトコルから見るID連携
プロトコルから見るID連携
ざっくり解説 LINE ログイン
ざっくり解説 LINE ログイン
今なら間に合う分散型IDとEntra Verified ID
今なら間に合う分散型IDとEntra Verified ID
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
PDSを実現するにあたっての技術動向の紹介 (OAuth, OpenID Connect, UMAなど)
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
次世代 IDaaS のポイントは本人確認 NIST と、サプライチェーンセキュリティと、みなしご ID - OpenID Summit 2020
FIDOのキホン
FIDOのキホン
Azure ADとIdentity管理
Azure ADとIdentity管理
OAuth 2.0による認可の流れ
OAuth 2.0による認可の流れ
今更聞けないOAuth2.0
今更聞けないOAuth2.0
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
SSIとDIDで何を解決したいのか?(β版)
SSIとDIDで何を解決したいのか?(β版)
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
いまどきの OAuth / OpenID Connect (OIDC) 一挙おさらい (2020 年 2 月) #authlete
MicrosoftのDID/VC実装概要
MicrosoftのDID/VC実装概要
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
Lightweight Zero-trust Network Implementation and Transition with Keycloak an...
FIDO認証によるパスワードレスログイン実装入門
FIDO認証によるパスワードレスログイン実装入門
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
LIFFとの連携でさらに強力に。こんなに使えるLINEログイン
自己主権型IDと分散型ID
自己主権型IDと分散型ID
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
OAuth / OpenID Connect (OIDC) の最新動向と Authlete のソリューション
祝!公式サポート Auth0 + LINE Login
祝!公式サポート Auth0 + LINE Login
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
Keycloak for Science Gateways - SGCI Technology Sampler Webinar
Similar to LINEログインの最新アップデートとアプリ連携ウォークスルー
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
Tatsuo Kudo
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
Tatsuo Kudo
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
Preferred Networks
Share point における id管理と認証・認可
Share point における id管理と認証・認可
Naohiro Fujie
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
junichi anno
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
Tatsuo Kudo
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
KentaEndoh
Office365のIdentity管理
Office365のIdentity管理
Naohiro Fujie
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
Naohiro Fujie
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
junichi anno
Scale Your Business without Servers
Scale Your Business without Servers
Keisuke Nishitani
AD FS 2 と ACS v2 による Windows azure_step_bystep_v2.2_update1_noanime.pptx.アニメ削除済
AD FS 2 と ACS v2 による Windows azure_step_bystep_v2.2_update1_noanime.pptx.アニメ削除済
junichi anno
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
Tatsuo Kudo
API提供におけるOAuthの役割 #apijp
API提供におけるOAuthの役割 #apijp
Tatsuo Kudo
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
Hitachi, Ltd. OSS Solution Center.
O Auth
O Auth
Taizo Matsuoka
Cloud で Active Directory を活用するには
Cloud で Active Directory を活用するには
junichi anno
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
Naohiro Fujie
Openid technight 20110909_fujie
Openid technight 20110909_fujie
Naohiro Fujie
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Preferred Networks
Similar to LINEログインの最新アップデートとアプリ連携ウォークスルー
(20)
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat...
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
PFI Seminar 2012/02/24
PFI Seminar 2012/02/24
Share point における id管理と認証・認可
Share point における id管理と認証・認可
「Windows Phone アプリ と 認証」のまとめ
「Windows Phone アプリ と 認証」のまとめ
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
React(TypeScript) + Go + Auth0 で実現する管理画面
React(TypeScript) + Go + Auth0 で実現する管理画面
Office365のIdentity管理
Office365のIdentity管理
Azure AD B2CにIdPを色々と繋いでみる
Azure AD B2CにIdPを色々と繋いでみる
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
.NET ラボ~開発者のためのアイデンティティテクノロジーw/ Windows Phone
Scale Your Business without Servers
Scale Your Business without Servers
AD FS 2 と ACS v2 による Windows azure_step_bystep_v2.2_update1_noanime.pptx.アニメ削除済
AD FS 2 と ACS v2 による Windows azure_step_bystep_v2.2_update1_noanime.pptx.アニメ削除済
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
CIBA (Client Initiated Backchannel Authentication) の可能性 #authlete #api #oauth...
API提供におけるOAuthの役割 #apijp
API提供におけるOAuthの役割 #apijp
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
KeycloakでFAPIに対応した高セキュリティなAPIを公開する
O Auth
O Auth
Cloud で Active Directory を活用するには
Cloud で Active Directory を活用するには
OAuth2.0によるWeb APIの保護
OAuth2.0によるWeb APIの保護
Openid technight 20110909_fujie
Openid technight 20110909_fujie
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
Kubernetes Service Account As Multi-Cloud Identity / Cloud Native Security Co...
More from Naohiro Fujie
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
Naohiro Fujie
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0
Naohiro Fujie
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
Naohiro Fujie
Azure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOID
Naohiro Fujie
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with Appleをつないでみた
Naohiro Fujie
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向
Naohiro Fujie
これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向
Naohiro Fujie
教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYC
Naohiro Fujie
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方
Naohiro Fujie
コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用
Naohiro Fujie
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Naohiro Fujie
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Naohiro Fujie
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
Naohiro Fujie
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Naohiro Fujie
アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用
Naohiro Fujie
Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点
Naohiro Fujie
ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実
Naohiro Fujie
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用
Naohiro Fujie
More from Naohiro Fujie
(19)
分散型IDと検証可能なアイデンティティ技術概要
分散型IDと検証可能なアイデンティティ技術概要
Azure AD x LINE x Auth0
Azure AD x LINE x Auth0
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
LINE Payも取り組んでいるKYCってなんだろう?KYCの基本と最近の動向
Azure ADの外部コラボレーションとBYOID
Azure ADの外部コラボレーションとBYOID
IDaaSにSign in with Appleをつないでみた
IDaaSにSign in with Appleをつないでみた
次世代KYCと自己主権型アイデンティティの動向
次世代KYCと自己主権型アイデンティティの動向
これからの KYC と Identity on Blockchain の動向
これからの KYC と Identity on Blockchain の動向
教育機関におけるBYOIDとKYC
教育機関におけるBYOIDとKYC
組織におけるアイデンティティ管理の基本的な考え方
組織におけるアイデンティティ管理の基本的な考え方
コンシューマIDのエンタープライズ領域での活用
コンシューマIDのエンタープライズ領域での活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure AD B2C + LINE 学校や企業における次世代 ID/ メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
Azure ADとLINE連携により実現する学校や企業における次世代ID/メッセージ基盤
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
認証/メッセージング領域へのモバイル/ソーシャルネットワークIDの活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
大学等におけるAzure AD B2Cを使用したSNS認証の活用
アイデンティティ API とデータ統合プラットフォームの活用
アイデンティティ API とデータ統合プラットフォームの活用
Office365のID基盤活用とセキュリティ上の注意点
Office365のID基盤活用とセキュリティ上の注意点
ID管理/認証システム導入の理想と現実
ID管理/認証システム導入の理想と現実
オンライン・アイデンティティの自己コントロールと活用
オンライン・アイデンティティの自己コントロールと活用
LINEログインの最新アップデートとアプリ連携ウォークスルー
1.
LINEログインの最新アップデートと アプリ連携ウォークスルー 2021/10/2 富⼠榮 尚寛 @phr_eidentity
2.
⾃⼰紹介 +役割 + OpenIDファウンデーション・ジャパン代表理事、KYC WGリーダー +
⽶国OpenID Foundation eKYC and Identity Assurance WG, co-chair +書き物など + Blog︓IdM実験室(https://idmlab.eidentity.jp) + 監訳 : クラウド時代の認証基盤 Azure Active Directory 完全解説 + 共著 : クラウド環境におけるアイデンティティ管理ガイドライン +その他活動 + ⽇本ネットワークセキュリティ協会アイデンティティ管理WG + Microsoft MVP for Enterprise Mobility(Jan 2010 -) + LINE API Expert (Feb 2018 -) + Auth0 Ambassador(Sep 2018 -) #linedc_revup_A
3.
Agenda +LINE Login アップデート +Public
Client で LINE Login を安全に使うには +PKCEを中⼼に実装ウォークスルー +おまけ)FIDO2 Server #linedc_revup_A
4.
LINE Login アップデート +こちらを追いかけてみる(とりあえず最近の分) +https://developers.line.biz/ja/news/tags/line-login/ ⽇付
アップデート 内容 2021/9/21 ⾃動ログインを無効にする パラメータの追加 ⾃動ログインと SSO の両⽅が使える環境においては⾃動ログイ ンが優先されるようになったが、disable_auto_login=true を指 定すると明⽰的に SSO のみを利⽤ 2021/7/12 SSO より ⾃動ログインが 優先される ⾃動ログインと SSO の両⽅が使える環境においては⾃動ログイ ンが優先されるようになった 2021/6/15 MID → ユーザIDへの変換 API の提供終了 v1 で使っていた MID を v2 へ移⾏する際の変換時に必要な API の提供が終了 2021/5/12 アサーション署名キーの発 ⾏⼿順の変更 鍵ペアの⽣成を LINE サーバ側ではなくローカルで実⾏するよう に変更 2021/4/9 PKCE 対応 RFC 7636 PKCE に対応。Yahoo! JAPAN アプリからのアクセス が⾃動ログインに対応 #linedc_revup_A
5.
注⽬の⼀つが PKCE 対応 +PKCE(RFC
7636)※ぴくしー +https://datatracker.ietf.org/doc/html/rfc7636 +Proof Key for Code Exchange by OAuth Public Clients +認可コードの横取り攻撃を防ぐための仕組み #linedc_revup_A
6.
OAuth2.0 の基本︓認可コードフロー #linedc_revup_A
7.
OAuth2.0 の基本︓認可コードフロー 認可コードをアクセストークンに交換する 際にクライアント認証を⾏う (通常、client_id/client_secretの利⽤) →認可コードを横取りされるとアクセス トークンの取得ができてしまうため #linedc_revup_A
8.
⼤前提 +Client = アプリケーションの認証を⾏うための情報 (client_id、client_secret)を安全に保存できること +サーバーサイドで動くアプリケーションなら保護できる +クライアントサイドで動くパブリッククライアントの場合は︖ +ネイティブアプリ、SPAなど +特にネイティブアプリだと同⼀カスタムURIスキームの指定で認可 コードを容易に横取り可能 +バックエンドサーバとの組み合わせで回避してきた #linedc_revup_A
9.
OAuth2.0 の基本︓Implicit フロー #linedc_revup_A
10.
OAuth2.0 の基本︓Implicit フロー アクセストークンを直接取得、UA 上で動作するJS等でfragmentから 取り出してクライアントへ送信する #linedc_revup_A
11.
セキュリティ上の問題 +RFC 6749 セキュリティ上の考慮事項 +10.16.
インプリシットフローにおけるリソースオーナーなりすま しのためのアクセストークン不正利⽤ インプリシットフローを利⽤するパブリッククライアントについて, この仕様はアクセストークンがどのクライアントに発⾏されたかを特定する⽅法をクライアント に提供しない. リソースオーナーは攻撃者の悪意のあるクライアントにアクセストークンを許可することにより, 進んでリソースへのアクセスを委任するかもしれない. これは フィッシングまたは何か他の詐欺が原因となるかもしれない. 攻撃者はまた, なんらかのメカニズムでトークンを盗むかもしれない. それから, 攻撃者は正当なパブ リッククライアントへのアクセストークンを提供することでリソースオーナーへのなりすましを試みるかもしれない. インプリシットフロー (response_type=token) では, 攻撃者は認可サーバーからのレスポンスに含まれるトークンを簡単に変更し, 以前攻撃者⾃⾝に発⾏された実 際のアクセストークンに置き換えることができる. アクセストークンを差し込める信⽤できないアプリケーションを作成する攻撃者により, クライアントのユーザーを特定するためにネイティブアプリケーションと通 信しバックチャネルでアクセストークンを受け取っているサーバーは同様の危険性を持つ. リソースオーナーだけがそのリソースに対する有効なアクセストークンを提⽰できると仮定されるいかなるパブリッククライアントも, このタイプの攻撃に対して脆 弱である. このタイプの攻撃は正当なクライアントでリソースオーナーの情報を攻撃者 (悪意のあるクライアント) に公開するかもしれない. これはまた, 合法なクライアントに て攻撃者にもともとアクセストークンもしくは認可コードを与えられたリソースオーナーと同等の資格で活動することを許可する. クライアントへのリソースオーナー認証⽅法はこの仕様の範囲外である. ユーザー認証をクライアント (3rdパーティーサインインサービスなど) に委任する認可プロ セスを使⽤するどんな仕様でも, アクセストークンがその使⽤のために発⾏されたかどうか特定するためのセキュリティメカニズム (オーディエンス制限のあるアク セストークン) の追加なしにインプリシットフローを利⽤してはならない (MUST NOT). #linedc_revup_A
12.
セキュリティ上の問題 +RFC 6749 セキュリティ上の考慮事項 +10.16.
インプリシットフローにおけるリソースオーナーなりすま しのためのアクセストークン不正利⽤ インプリシットフローを利⽤するパブリッククライアントについて, この仕様はアクセストークンがどのクライアントに発⾏されたかを特定する⽅法をクライアント に提供しない. リソースオーナーは攻撃者の悪意のあるクライアントにアクセストークンを許可することにより, 進んでリソースへのアクセスを委任するかもしれない. これは フィッシングまたは何か他の詐欺が原因となるかもしれない. 攻撃者はまた, なんらかのメカニズムでトークンを盗むかもしれない. それから, 攻撃者は正当なパブ リッククライアントへのアクセストークンを提供することでリソースオーナーへのなりすましを試みるかもしれない. インプリシットフロー (response_type=token) では, 攻撃者は認可サーバーからのレスポンスに含まれるトークンを簡単に変更し, 以前攻撃者⾃⾝に発⾏された実 際のアクセストークンに置き換えることができる. アクセストークンを差し込める信⽤できないアプリケーションを作成する攻撃者により, クライアントのユーザーを特定するためにネイティブアプリケーションと通 信しバックチャネルでアクセストークンを受け取っているサーバーは同様の危険性を持つ. リソースオーナーだけがそのリソースに対する有効なアクセストークンを提⽰できると仮定されるいかなるパブリッククライアントも, このタイプの攻撃に対して脆 弱である. このタイプの攻撃は正当なクライアントでリソースオーナーの情報を攻撃者 (悪意のあるクライアント) に公開するかもしれない. これはまた, 合法なクライアントに て攻撃者にもともとアクセストークンもしくは認可コードを与えられたリソースオーナーと同等の資格で活動することを許可する. クライアントへのリソースオーナー認証⽅法はこの仕様の範囲外である. ユーザー認証をクライアント (3rdパーティーサインインサービスなど) に委任する認可プロ セスを使⽤するどんな仕様でも, アクセストークンがその使⽤のために発⾏されたかどうか特定するためのセキュリティメカニズム (オーディエンス制限のあるアク セストークン) の追加なしにインプリシットフローを利⽤してはならない (MUST NOT). 要は、できれば使うな、と #linedc_revup_A
13.
となると +クライアント認証=意図したクライアントに対してのみアク セストークンを発⾏することができる仕組みが必要 +Proof Key for
Code Exchange by OAuth Public Clients +以下のクライアントが⼀致することを証明するための仕組み +認可コードを持ってくるクライアント +認可サーバが元々認可コードを発⾏したクライアント #linedc_revup_A
14.
認可コードフロー+PKCE Code_verifierの ⽣成・保持 Code_challenge/ methodの⽣成、 送信 Code_challenge/ methodの保存と 認可コード発⾏ code_verifierと保持し ておいた code_challengeで検証 認可コードと code_verifierの 送信 #linedc_revup_A
15.
超シンプルな JS App
を作ってみる <button id="startButton">Start OAuth Flow</button> <scritp> document.getElementById("startButton").onclick = function() { // code_verifierの⽣成 var codeVerifier = generateRandomString(64); 参考コード https://github.com/curityio/pkce-javascript-example #linedc_revup_A
16.
code_verifierの⽣成(ランダム⽂字列) function generateRandomString(length) { var
possible = "ABCDEFGHIJ…456789"; for (var i = 0; i < length; i++) { text += possible.charAt(Math.floor(Math.random() * possible.length)); } return text; } 43⽂字〜128⽂字のURL safeな⽂字列 [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~" #linedc_revup_A
17.
code_challengeの⽣成 (method:S256の場合) async function generateCodeChallenge(codeVerifier)
{ var digest = await crypto.subtle.digest("SHA-256", new TextEncoder().encode(codeVerifier)); return btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/=/g, '').replace(/¥+/g, '- ').replace(/¥//g, '_') } code_challenge = BASE64URL- ENCODE(SHA256(ASCII(code_verifier))) #linedc_revup_A
18.
セッションにcode_verifierを保存して 認可サーバへリダイレクト generateCodeChallenge(codeVerifier).then(function(codeChallenge) { window.sessionStorage.setItem("code_verifier", codeVerifier); var redirectUri
= window.location.href.split('?')[0]; var args = new URLSearchParams({ client_idなど, code_challenge_method: "S256", code_challenge: codeChallenge}); window.location = authorizeEndpoint + "/?" + args; #linedc_revup_A
19.
認可コードを受け取り、code_verifier と⼀緒に認可サーバへ送信 xhr.open("POST", tokenEndpoint, true); xhr.send(new
URLSearchParams({ client_id: clientId, code_verifier: window.sessionStorage.getItem("code_verifier"), grant_type: "authorization_code", redirect_uri: location.href.replace(location.search, ʼʼ), code: code })); #linedc_revup_A
20.
id_tokenの受け取り if (xhr.status ==
200) { message = "Hello "+decodeJwt(response.id_token).name; } ※scopeにopenidを指定したので、id_tokenを受け取って名前を表⽰ #linedc_revup_A
21.
動かしてみる Codeはこちら https://github.com/fujie/memo/blob/main/withpkce_pub.html #linedc_revup_A
22.
Yahoo!JAPANアプリでの挙動 PKCEを無効にすると このボタンを押しても 反応しなくなる #linedc_revup_A
23.
おまけ)FIDOサーバー +2021/8/5 ついに公開されました。 +https://github.com/line/line-fido2-server +⾃社サービスに FIDO
を使ったパスワードレス認証を組み込 みたい⼈はぜひ参考にしてみると良いと思います。 +ファーストタッチを blog に書いたのでこちらで。 +https://idmlab.eidentity.jp/2021/08/linefido2oss.html +もっと深く触った結果はまとまり次第書こうかと。 +ちなみにFIDO Japan WG の副座⻑は LINE の市原さん #linedc_revup_A
24.
まとめ +LINE ログイン、⽇々アップデートされてます +安全にアプリ実装をするために必要な仕様にも対応して⾏っ ていますので、キャッチアップしていきましょう +パスワードレスで強度の⾼い認証機構である FIDO
にも LINE は取り組んでいるので⾃社サイトにもどんどん取り込 んでいきましょう #linedc_revup_A
Download now