Blog article

Blog article

  • Vy

Google ChromeのU2F API廃止

Googleより、 セキュリティーキーを操作するためのChromeのUniversal 2nd Factor (U2F) APIを廃止されました。2022年2月にリリースしたChrome 98ではデフォルトで無効になっています。

Deprecations and removals in Chrome 95 - Chrome Developers

影響を受けるサイトは、Web Authentication (WebAuthn) APIに移行する必要があります。U2F APIでサポートしているUSBセキュリティーキーは、WebAuthn APIでもサポートされています。U2Fセキュリティーキー自体は廃止されておらず、引き続き使用可能です。



モチベーション

U2Fは、GoogleとYubicoによって発明され、Chrome独自のセキュリティーキーAPIです。これにより、サイトはフィッシングに耐性のある2要素認証システム構築ためのUSBセキュリティーキーに公開鍵クレデンシャルを登録・チャレンジすることができます。

しかし、U2FはオープンなWeb標準になることはなく、WebAuthn APIに組み込まれました(Chrome 67以降)。ChromeはBlinkでFIDO U2F JavaScript APIを直接にサポートすることはありませんでしたが、同等のchrome.runtime.sendMessage APIを公開するcryptotokenと呼ばれるコンポーネント拡張機能を出荷しました。U2FとCryptotokenはメンテナンスモードになっており、2年前にサイトをWebAuthnに移行することをお勧めしました。


U2F APIはいくつかの問題があります。

  • Cryptotokenリクエストは、ウェブサイトが特別なタイプのUSBデバイスと対話していることを示す許可プロンプトやUIをトリガーしません。代わりに、要求されたセキュリティーキー操作のUIを処理するためにウェブサイトに依存しています。これは、安全なUXの観点からは理想的ではないと考えています。WebAuthnは、すべてのリクエストに対してOSによって提供されるタブモーダルダイアログまたはUIのいずれかを表示します。

  • クロスオリジンiframeに埋め込まれている場合、サイトは無条件にU2Fクレデンシャルをクエリできます。 WebAuthnは、機能ポリシーでこの動作を保護します。

  • Cryptotokenはコンポーネントの拡張機能であり、任意のURLから外部に接続できるため、chrome.runtime APIを無条件にウェブ全体に効果的に公開します。 cryptotokenを削除すると、拡張機能によって接続可能として明示的にリストされていないウェブサイトでこれらのAPIを使用できなくなります。

  • WebAuthnはU2Fを包含しており、古いAPIの新しい使用を奨励したくありません。


非推奨と削除のタイムライン

Chrome 95 (2021年11月):

Chrome U2F APIを実装したサービスのユーザーは、使用しているサービスがChromeで非推奨になっているU2F APIを使用しているという警告を受け取り始めました。



Chrome 98(2022年2月):

U2F APIはデフォルトで無効になっています。

この時点でU2Fを使用できるのは、非推奨トライアル(Origin Trials (chrome.com))に登録されているサイト、またはU2fSecurityKeyApiEnabledポリシー(Chrome Enterprise のポリシーリストと管理 | ドキュメント)を有効にしている企業のみです。


Chrome 104(2022年8月):

U2F APIは完全に削除されます。上記のU2fSecurityKeyApiEnabledポリシーも削除されます。


WebAuthn APIに移行

WebAuthn APIは、U2Fクレデンシャルと下位互換性があります。 移行するには、ユーザーが既存のU2Fクレデンシャルを引き続き使用できるようにするために、サービス所有者が実行する必要のあるいくつかの手順があります。

クライアント側での主な変更は、U2F APIの登録メソッドをWebAuthn API navigator.credentials.create()メソッドに変更し、U2F APIの署名メソッドをWebAuthn API navigator.credentials.get()メソッドに変更することです。

そして、元々U2F APIを介して登録された既存のセキュリティキークレデンシャルにチャレンジするために、WebAuthnのappidという拡張機能を使用します。



※注意:WebAuthn APIを介してU2Fセキュリティーキーに登録された新しいクレデンシャルは、U2F JavaScript APIとの下位互換性がありません。


最後に

ソフト技研では、U2Fを実装せずに、FIDO2に進めて、YubiOn FIDO2サーバーサービスとYubiOn FIDO Windows Logon(SOLUTION | YubiOn)を提供していますが、YubiKeyやIdemKeyなどのFIDOデバイス販売として、セキュリティプロトコルの更新について、お客様に最新情報を提供したいと考えています。

FIDO2/WebAuthnは2018年4月に発表されましたが、現在U2Fのみサポートしているサービスがまだ多いので、Google ChromeのU2F API廃棄は、FIDO2の進化にとって、重要な段階ではないかと考えています。