More Related Content
PPTX
NGINXをBFF (Backend for Frontend)として利用した話 PDF
PDF
PPTX
PPTX
PDF
PDF
KeycloakのDevice Flow、CIBAについて PDF
これからのネイティブアプリにおけるOpenID Connectの活用 What's hot
PDF
PPTX
KeycloakでFAPIに対応した高セキュリティなAPIを公開する PDF
PDF
PDF
CircleCIのinfrastructureを支えるTerraformのCI/CDパイプラインの改善 PDF
PDF
OSS+AWSでここまでできるDevSecOps (Security-JAWS第24回) PDF
PDF
今なら間に合う分散型IDとEntra Verified ID PDF
アプリ開発で知っておきたい認証技術 - OAuth 1.0 + OAuth 2.0 + OpenID Connect - PDF
PDF
パスワード氾濫時代のID管理とは? ~最新のOpenIDが目指すユーザー認証の効率的な強化~ PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib... PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48 PDF
PDF
単なるキャッシュじゃないよ!?infinispanの紹介 PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~ PDF
ストリーム処理を支えるキューイングシステムの選び方 PPTX
Similar to Keycloakのステップアップ認証について
PPTX
PPTX
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可 PPTX
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向 PPTX
最近のKeycloakのご紹介 ~クライアントポリシーとFAPI~ PDF
FAPI (Financial-grade API) and CIBA (Client Initiated Backchannel Authenticat... PPTX
PDF
PPTX
Keycloak入門-OpenID ConnectによるAPIセキュリティ PDF
PDF
Authentication and Authorization of The Latest Keycloak PDF
PDF
PDF
KeycloakのCNCF incubating project入りまでのアップストリーム活動の歩み PDF
OAuthのHolder of Key Token PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~ PDF
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料 PDF
FAPI and Beyond: From an specification author's point of view #fapisum - Japa... PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api PPTX
CSS2020 Client Policies on keycloak PDF
OAuth 2.0 MAC Authentication More from Hitachi, Ltd. OSS Solution Center.
PPTX
PDF
Guide of authentication and authorization for cloud native applications with ... PDF
KubeConRecap_nakamura.pdf PPTX
Challenge to Implementing "Scalable" Authorization with Keycloak PPTX
Why Assertion-based Access Token is preferred to Handle-based one? PPTX
Security Considerations for API Gateway Aggregation PPTX
Implementing security and availability requirements for banking API system us... PDF
KubeCon + CloudNativeCon North America セキュリティ周りrecap PPTX
Exploring Best Practices for Implementing Authn and Authz in a Cloud-Native E... PDF
Secure Authorization for Agentic AI in Multi-Domain Environments PDF
Securing AI Agent Infrastructure: AuthN/AuthZ Patterns for MCP and A2A PPTX
Mastering Authorization: Integrating Authentication and Authorization Data in... PPTX
What API Specifications and Tools Help Engineers to Construct a High-Security... PPTX
How Does a Workload Authenticate an API Request?: Implementing Transaction To... PPTX
Hitachi’s Keycloak Journey - Evolution of Business and Community PDF
KubeCon NA 2023 Recap: Challenge to Implementing “Scalable” Authorization wit... PPTX
Securing Model Context Protocol with Keycloak: AuthN/AuthZ for MCP Servers PDF
Exploring Best Practice for Implementing Authn and Authz in a Cloud-Native En... PPTX
CloudNativeSecurityCon North America 2024 Overview PDF
Let’s Join Cloud Native Computing Foundation TAG Security APAC! Recently uploaded
PDF
第21回 Gen AI 勉強会「NotebookLMで60ページ超の スライドを作成してみた」 PDF
アジャイル導入が止まる3つの壁 ─ 文化・他部門・組織プロセスをどう乗り越えるか PDF
20260119_VIoTLT_vol22_kitazaki_v1___.pdf PDF
Starlink Direct-to-Cell (D2C) 技術の概要と将来の展望 PDF
ST2024_PM1_2_Case_study_of_local_newspaper_company.pdf PDF
100年後の知財業界-生成AIスライドアドリブプレゼン イーパテントYouTube配信 PDF
Team Topology Adaptive Organizational Design for Rapid Delivery of Valuable S... PDF
Reiwa 7 IT Strategist Afternoon I Question-1 3C Analysis PDF
FY2025 IT Strategist Afternoon I Question-1 Balanced Scorecard PDF
Reiwa 7 IT Strategist Afternoon I Question-1 Ansoff's Growth Vector Keycloakのステップアップ認証について
- 1.
© Hitachi, Ltd.2022. All rights reserved.
Keycloakの部
~ Keycloakのステップアップ認証について ~
OSSセキュリティ技術の会 第11回勉強会
株式会社 日立製作所
田畑 義之
- 2.
1
© Hitachi, Ltd.2022. All rights reserved.
自己紹介
田畑 義之 (たばた よしゆき)
株式会社 日立製作所 アーキテクチャセンタ
ソフトウェアエンジニア
GitHub: @y-tabata, Qiita: @yo-tabata
• 認証認可やAPI関連分野のソリューション開発&コンサルティング
金融、公共、社会、産業分野における
API管理基盤や認証認可システムの導入支援
• 認証認可・API管理関連のOSSへのコントリビュート
Keycloak (IAMのOSS)
3scale (API管理のOSS)
• 情報発信
Keycloak書籍
ThinkIT/@ITでのWeb記事連載
Apidays/Open Source Summit/CloudNative Daysなど、国内外のイベントでの登壇
- 3.
© Hitachi, Ltd.2022. All rights reserved.
Contents
2
1. 「実践 Keycloak ―OpenID Connect、OAuth 2.0を利用
したモダンアプリケーションのセキュリティー保護」
のご紹介
2. Keycloakのステップアップ認証
- 4.
© Hitachi, Ltd.2022. All rights reserved.
Contents
3
1. 「実践 Keycloak ―OpenID Connect、OAuth 2.0を利用
したモダンアプリケーションのセキュリティー保護」
のご紹介
2. Keycloakのステップアップ認証
- 5.
4
© Hitachi, Ltd.2022. All rights reserved.
• 実践 Keycloak
OpenID Connect、OAuth 2.0を利用したモダンアプリケーションのセキュリティー保護
https://www.amazon.co.jp/dp/4814400098
• KeycloakのプロジェクトリーダーのStianとコアディベロッパーのPedroが書いた「Keycloak -
Identity and Access Management for Modern Applications」の日本語翻訳本。
• 翻訳者は、日本人Keycloakコントリビューター4名。
• NRIの和田さん(この後登場)
• NRIの田村さん
• 日立の乗松さん(メンテナ―)
• 日立の田畑(私)
• ただの翻訳本ではない。
• 原書はKeycloak 12.0.4&WildFlyベースの構成であったが、古いため、
Keycloak 18.0.2&Quarkusベースの構成に刷新。
• クライアントポリシーを使ってFAPIなどのセキュリティープロファイルを適用する方法を
説明した日本語版補章「クライアントポリシーによるセキュリティー保護」を新規追加。
書籍のご紹介 (1/2)
- 6.
5
© Hitachi, Ltd.2022. All rights reserved.
• 実践 Keycloak
OpenID Connect、OAuth 2.0を利用したモダンアプリケーションのセキュリティー保護
https://www.amazon.co.jp/dp/4814400098
• 前回の第10回勉強会でご紹介した「認証と認可 Keycloak入門」との違い
• より実践的な内容になっています。
• 実際のKeycloakの活用方法について、ソースコードからしか知り得なかった
ような情報も織り交ぜながらご紹介しています。
• どうユーザーを認証/ログアウトするか
• どうアプリケーションと統合するか
• どうアプリケーション/ユーザーを認可するか
• どうアプリケーションのセキュリティーを保護するか
• どう本番環境を構築するか
• さまざまな機能を試すことができるコードリポジトリーも公開しています。※こちらもKC18対応
済み。
https://github.com/Keycloak-IAM-4-Modern-Apps-JP/Keycloak-Identity-and-Access-
Management-for-Modern-Applications
書籍のご紹介 (2/2)
- 7.
© Hitachi, Ltd.2022. All rights reserved.
Contents
6
1. 「実践 Keycloak ―OpenID Connect、OAuth 2.0を利用
したモダンアプリケーションのセキュリティー保護」
のご紹介
2. Keycloakのステップアップ認証
- 8.
7
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証とは
• ステップアップ認証とは、必要に応じて追加の認証方法を設定できる機能です。
• Keycloak 18でサポートされた機能で、ページ数の都合上、書籍ではチラッとしか登場しな
いため、ここでご紹介したいと思います。
• 例えば以下のようなシチュエーションで便利です。
• 扱う情報の重要度によって、認証の強度を変えたい。
→ 氏名やメールアドレス参照時はパスワード認証のみとし、
口座残高参照時は生体認証を追加する。
• 不正アクセスによる情報漏えいを軽減したい。
→ いつもとは異なるIPアドレスからのアクセスには、念のためOTP認証を追加する。
• これらをSPI※のカスタマイズなしで設定できるようになりました!
※Keycloak本体のソースコードを改変することなく、さまざまな機能をKeycloakに追加できる仕組み。
- 9.
8
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の設定方法 (1/3)
• Keycloakの設定方法
① ステップアップ認証用の認証フロー定義を作成する
② ACRとLoAのマッピングを作成する
ACR: 認証方法を区別するための識別子。OIDCに定義されている。
LoA: 認証のレベル(Level of Authentication)を表す数値。Keycloak内部で認証のレベル
の上下を比較するために使われる。
※基本的に両方ともレルム単位で設定する。クライアント単位での設定上書きも可能。
- 10.
9
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の設定方法 (2/3)
• Keycloakの設定方法
① ステップアップ認証用の認証フロー定義を作成する
LoAが1の場合、
パスワード認証をする。
LoAが2の場合、
パスワード認証と
OTP認証をする。
- 11.
10
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の設定方法 (3/3)
• Keycloakの設定方法
② ACRとLoAのマッピングを作成する
ACR: silver = LoA: 1
ACR: gold = LoA: 2
- 12.
11
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (1/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
- 13.
12
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (2/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
認可/認証リクエストにacr_valuesを
付けて、認証のレベルを指定できる。
----
GET /auth HTTP/1.1
Host: Keycloak
response_type=code
&client_id=<クライアントID>
&redirect_uri=<リダイレクトURI>
&scope=openid
&acr_values=silver | gold
※claimsパラメータも可。
- 14.
13
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (3/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
- 15.
14
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (4/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
acr_valuesがgoldだった場合
- 16.
15
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (5/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
- 17.
16
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (6/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
IDトークンのacrクレームにsilver | gold
という値が格納される。
これによりクライアント/RPは、
適切なレベルの認証がなされたことを
確認できる。
- 18.
17
© Hitachi, Ltd.2022. All rights reserved.
ステップアップ認証の流れ (7/7)
クライアント/RP
• 例: OAuth 2.0/OIDCの認可コードフローの場合
認可サーバー/OP リソースサーバー
リソースオーナ―/
エンドユーザーの
ブラウザー
認可/認証リクエスト
認可/認証レスポンス
パスワード認証
OTP認証
トークンリクエ
スト
APIリクエスト
アクセストークンのacrクレームに
silver | gold という値が格納される。
これによりリソースサーバーは、
適切なレベルの認証がなされたことを
確認できる。
※Keycloakのアクセストークンは
アサーション型(JWT)。
アクセストークンのacrクレームは
RFC 9068に準拠した形。
- 19.
- 20.
19
© Hitachi, Ltd.2022. All rights reserved.
まとめ
- 新書籍「実践 Keycloak ―OpenID Connect、OAuth 2.0を利用したモダンアプリ
ケーションのセキュリティー保護」をご紹介しました。
https://www.amazon.co.jp/dp/4814400098
- Keycloakを使ったステップアップ認証の方法をデモを交えてご紹介しました。
- 21.
20
© Hitachi, Ltd.2022. All rights reserved.
Trademarks
• OpenID is a trademark or registered trademark of OpenID Foundation in the United States and other
countries.
• GitHub is a trademark or registered trademark of GitHub, Inc. in the United States and other
countries.
• Other brand names and product names used in this material are trademarks, registered trademarks,
or trade names of their respective holders.