Chrome 108(現在は Beta チャンネル)で Federated Credential Management API(FedCM)がリリースされます。2022 年 11 月末に Chrome Stable でリリースされると、FedCM API はフラグやオリジン トライアル トークンなしで Chrome で動作します。
FedCM は、ウェブ上のフェデレーション ID フローにユースケース固有の抽象化を行うプライバシー サンドボックス API です。FedCM はブラウザを介したダイアログを公開し、ユーザーが ID プロバイダからアカウントを選択してウェブサイトにログインできるようにします。
累積アップデートのページで、最新の API の変更を確認します。
Google は、ID プロバイダ(IdP)、証明書利用者(RP)、ブラウザ ベンダーから寄せられたフィードバックに基づいて、多くの新機能を導入する予定です。Google は ID プロバイダによる FedCM の導入を望んでいますが、FedCM はまだ開発中の API であり、2023 年第 4 四半期まで下位互換性のない変更が予定されています。
下位互換性のない変更をデプロイする際の課題を最小限に抑えるため、ID プロバイダには現在 2 つの推奨事項があります。
- ニュースレターにご登録ください。API の進化に関する最新情報をお届けします。
- API の成熟中は JavaScript SDK 経由で FedCM API を配布し、RP で SDK を自己ホスティングしないようにすることを強くおすすめします。これにより、IdP は API の進化に合わせて変更でき、すべての証明書利用者に再デプロイを依頼する必要がなくなります。
背景
過去 10 年間、ID 連携は、サイトごとのユーザー名とパスワードと比較して、信頼性、使いやすさ(パスワードレスのシングル ログインなど)、セキュリティ(フィッシング攻撃やクレデンシャル スタッフィング攻撃に対する耐性の向上など)の点で、ウェブでの認証の基準を上げるうえで中心的な役割を果たしてきました。
残念ながら、ID 連携が依存しているメカニズム(iframe、リダイレクト、Cookie)は、ウェブ全体でユーザーを追跡するために積極的に悪用されています。ユーザー エージェントは ID 連携とトラッキングを区別できないため、さまざまなタイプの不正行為の軽減により、ID 連携のデプロイがより困難になります。
FedCM は、ウェブ上の ID を改善するための複数のステップからなるプロセスです。その最初のステップでは、サードパーティ Cookie の段階的廃止がフェデレーション ID に及ぼす影響を軽減することに焦点を当てています(次のステップについては以下をご覧ください)。
Chrome は Chrome 101 以降、FedCM の試験運用を行っています。
Google Identity Services チームはオリジン トライアルに参加し、サードパーティ Cookie に依存しない、よりプライバシーと安全性の高いログイン プロセスへの切り替えが、既存のライブラリの下位互換性のある更新を通じて透過的に行えることを実証しました。20 の異なる証明書利用者全体で FedCM を有効にし、オリジン トライアル中に 30 万人以上のユーザーが FedCM にログインしました。詳しくは、サードパーティ Cookie への依存をなくす計画をご覧ください。
Mozilla との共通点が多数見つかっており、設計に関する議論に積極的に参加しており、Firefox での FedCM のプロトタイピングを開始しています。Apple はこの仕様の一般的なサポートを表明しており、FedID CG の議論に参加し始めています。
次のステップ
Google では、FedCM にいくつかの変更を加える作業を進めています。
IdP、RP、ブラウザ ベンダーからの報告など、まだやるべきことがいくつかあります。Google は、これらの問題の解決方法を知っていると考えています。
- クロスオリジン iframe のサポート: IdP はクロスオリジン iframe 内から FedCM を呼び出すことができます。
- パーソナライズされたボタン: IdP は、クロスオリジンの iframe 内からログインボタンに復帰ユーザーの ID を表示できます。
- 指標エンドポイント: IdP にパフォーマンス指標を提供します。
また、Google が評価またはプロトタイピングしている具体的な提案など、現在検討中の未解決の問題もあります。
- CORS: FedCM フェッチの仕様を改善するため、Apple および Mozilla と協議しています。
- Multiple-IdP API: 複数の IdP を FedCM Account Chooser で共存させる方法を検討しています。
- IdP Sign-in Status API: Mozilla はタイミング攻撃の問題を特定しました。この問題を軽減するために、IdP が事前にユーザーのログイン ステータスをブラウザに通知する方法を調査しています。
- IdP API へのログイン: さまざまなシナリオに対応するため、ユーザーが IdP にログインしていないときに、RP から移動することなくログインするための UI がブラウザに表示されます。
最後に、Mozilla、Apple、TAG のレビュー担当者からのフィードバックに基づき、まだ実施すべきことと考えられます。Google では、以下の未解決の問題に対する最適なソリューションの評価に取り組んでいます。
- ユーザーの理解度とインテントの一致率の向上: Mozilla が指摘しているように、Google は引き続き、さまざまな UX 形式やサーフェス領域、トリガー条件を検討していきます。
- ID 属性と選択的開示: TAG の審査担当者が述べたように、Google では、メールアドレス、年齢層、電話番号などの ID 属性を選択的に共有するメカニズムを提供したいと考えています。
- プライバシー特性の向上: Mozilla がこちらで提案しているように、Google は IdP ブラインドネスや有向 ID など、より優れたプライバシー保証を提供するメカニズムを引き続き検討しています。
- WebAuthn との関係: Apple が推奨しているように、Google はパスキーの進歩を目の当たりにして、FedCM、Passwords、WebAuthn、WebOTP の間で一貫性がありまとまりのあるエクスペリエンスを提供する取り組みを非常に楽しみにしています。
- ログイン ステータス: Apple が Privacy CG の Login Status API で提案しているように、Google はユーザーのログイン ステータスは、ブラウザが十分な情報に基づいて判断を下すのに役立つ有益な情報であるという直感を共有しており、そこから生まれる機会を楽しみにしています。
- 企業と教育機関: FedID CG で明らかなように、フロントチャネル ログアウト(IdP が RP にシグナルを送信してログアウトする機能)や SAML のサポートなど、FedCM で適切に処理されない多くのユースケースが残っています。
- mDL、VC などとの関係: Mobile Document Request API などを使用して、FedCM 内での位置付けを理解するよう引き続き取り組みます。
関連情報
- FedCM のデモを試す。
- FedCM の実装を検討している IdP の方は、デベロッパー ガイドをご覧ください。RP の場合は、FedCM を実装する予定があるかどうか IdP に問い合わせます。
- FedCM API の更新を確認します。
- 機能のリクエスト、フィードバック、問題がある場合は、GitHub の FedCM 公開リポジトリに提出してください。