2024年11月13日水曜日
パスキーのテストサイトがリニューアル
2024年11月3日日曜日
Okta AD/LDAP DelAuthモジュールに関する脆弱性
こんにちは、富士榮です。
Okta社よりAD/LDAP DelAuthモジュールに関する脆弱性が報告されていますね。
https://trust.okta.com/security-advisories/okta-ad-ldap-delegated-authentication-username/
報告されている内容としては、AD/LDAP DelAuthモジュールを使っている環境で、過去にキャッシュログインに成功したことのある場合、ユーザー名が52文字以上だとパスワードなし(キャッシュのみで)ログインが成功してしまう、という話です。
こちら上記のサイトからの引用です。
On October 30, 2024, a vulnerability was internally identified in generating the cache key for AD/LDAP DelAuth. The Bcrypt algorithm was used to generate the cache key where we hash a combined string of userId + username + password. During specific conditions, this could allow users to authenticate by only providing the username with the stored cache key of a previous successful authentication.
Note: A precondition for this vulnerability is that the username must be or exceed 52 characters any time a cache key is generated for the user.
2024年10月30日、AD/LDAP DelAuthのキャッシュキーの生成において、内部的に脆弱性が確認されました。キャッシュキーの生成には Bcrypt アルゴリズムが使用され、userId + username + password を組み合わせた文字列がハッシュ化されます。特定の条件下では、ユーザー名と、過去に認証に成功した際に保存されたキャッシュ・キーだけを提供することで、ユーザーが認証できる可能性があります。
注:この脆弱性の前提条件として、キャッシュ・キーが生成される際には、ユーザー名が52文字以上でなければなりません。
2024年7月27日土曜日
[Auth0/Okta CIC]ログインに使う識別子にメールアドレス・ユーザ名・電話番号を使う
- ユーザプロファイルとしてユーザ名を要求するか
2024年6月27日木曜日
Auth0 Ambassadorプログラム
2024年3月17日日曜日
Auth0の管理画面へのログインにパスキーを使うと少しハマる件
こんにちは、富士榮です。
そういえばAuth0(Okta CIC)の管理画面へのログインにパスキーなどが使えるので使ってみたいと思います。
ちなみにちょっとだけ癖があります。簡単に書くと、
- パスキー追加をメニューから実施する場合はplatform認証器は選べない
- USBキーやOTPなど多要素認証を追加し利用すると「このデバイスでのログインの高速化」を目的としてplatform認証器の登録を促される
- リカバリはリカバリーコードを利用する
- どうやらパスキーとしてはUSBなど外部キーを前提に設計されている
- デバイス登録を目的にplatform認証器登録も使えるが同期される前提はなさそう
という感じです。最初からplatform認証器が登録できればいいのに。ちょっと実装が古いのかな。
さて、始める前に基本的な話を。IDaaSを使ってID基盤を構築するときに忘れてはいけないのはIDaaS自体の認証強化とアクセス制限です。
- 管理者アカウントの分離(共有ユーザの排除)
- 管理権限の適正化
- 認証強化(多要素認証)
- ※API実行ユーザも忘れずに!
ということで追加してみます。WebAuthn with FIDO Security Keysをクリックしてみましょう。(なお、ポップアップがブロックされているとエラーになりますので、許可してください)
2019年6月10日月曜日
Sign In with AppleとのID連携現状のまとめ&Azure AD B2C連携
WWDC'19でSign In with Appleが発表されてから皆Apple IDに夢中※1ですね。まぁ、アプリのレビューガイドラインの問題※2とか色々とありますが、日本人は不思議とiPhoneが大好きなので下手したらGoogleアカウントより普及してるのかもしれません。(パスワードを覚えているかどうかは別でしょうけど)
※1.今日(6/9)時点で私が把握しているSign In with Apple関係の記事
- Okta公式(おそらく一番早かったかも)
- ASP.NET CoreでのID連携方法
- Auth0公式
- Auth0公式の日本語訳(新Auth0 Ambassadorの@iMissYuさんが早速翻訳されました。素晴らしい!)
- OAuth.jp
- https://oauth.jp/blog/2019/06/08/sign-in-with-apple-analysis/
- https://oauth.jp/blog/2019/06/12/sign-in-with-apple-analysis-2/
- IdM実験室(英語版)※手前味噌ですが・・・
※2.問題の概要
「サードパーティログイン採用のアプリはSign In with Appleを使うことを義務付ける」というレビューガイドラインが出たこと。Apple曰く、Relyingパーティに一切の個人情報を提供せずに認証だけを行うことができるためプライバシーに考慮している、という言いっぷりですが、逆にAppleが誰がどのアプリにログインしているかを把握するってこと?という気持ち悪い感じになっています。また、アプリ開発者はSign In with Appleを実装しなきゃダメ、という変な強権発動も流石Apple、という感じです。(個人の感想)
というわけで、今回はAzure AD B2Cとのつなぎ方を解説します。
(先に書いた英語版のblogの日本語訳です)
********************
WWDC'19でアップルが「Sign In with Apple」という機能を公表しました。このポストではこの新しい機能をどうやってAzure AD B2Cで使うかを説明したいと思います。もちろん、この機能をIdentity Experience Framework(カスタムポリシー)を使って構成することもできますが、今回はビルトインポリシーのOpenID Connect IdP連携の機能(Preview)を使って構成します。
最初にどのような動きになるのかビデオに撮ってみました。
前提事項
- アップル開発者アカウント(最低1年のサブスクリプション契約が必要)
- Azure Active Directory B2Cのテナント
- Azure WebApps等のWebホスティングサービス(Metadataのアップロード用)
アップル開発者コンソールでクライアントを構成する
https://developer.okta.com/blog/2019/06/04/what-the-heck-is-sign-in-with-apple
- Sign In with Appleを有効にしてApp Idを登録する
- Service Idを登録する(これがclient_idとして使われます)
- ドメインの所有権を確認する
- redirect_uriを構成する
- Sign In with Appleで利用する鍵を登録する
- 登録した鍵をダウンロードして署名付きJWTを作る(これがclient_secretとして使われます)
Azure AD B2C上のIdentity Providerを構成する
Azure AD B2CのビルトインのOpenID ConnectのIdPを構成する際、metadataには以下の情報を記載する必要があります。
- Issuer
- Authorization Endpoint
- Token Endpoint
- Jwks Endpoint
作成したIdPを利用する様にUser Flow(ポリシー)を構成する
Azure AD B2Cに登録したアプリケーションから作成したポリシーを指定してID連携をすればApple Idでのログインが出来るようになっているはずです。