事務局メンバーによる、OpenID関連のあれやこれや
FAPIは導入が広がり、実装が成熟してきました。そして今、継続メンテナンスが初期の実装と同様に重要となっています。特に管理が難しい課題の一つが、TLS暗号スイートの扱いです。
FAPIは、広く普及しているインターネット標準仕様を前提としています。これまでこの設計方針は有効でしたが、同時にこれは、前提とした標準仕様のライフサイクルに伴う変化の影響を受けることを意味します。暗号スイートは不変ではなく、研究者や標準化団体によって、新たに追加されたり、分類が見直されたり、非推奨とされたりするためです。
この記事では、FAPIワーキンググループが、この課題にIANA(Internet Assigned Numbers Authority)レジストリへの準拠によってどう対応しようとしているかを説明します。FAPI仕様と適合性テストの今後の変更点を解説し、実装コミュニティがTLS 1.3へ移行すべき理由を述べます。
インターネットコミュニティは、以下の複数の仕組みを組み合わせてTLS暗号スイートを管理しています:
IANAレジストリでは、各暗号スイートのエントリに以下の情報が関連付けられています:
これは意図的な設計です。標準化団体は、安全で有用と判断されれば新たな暗号スイートを導入しますが、より優れた代替手段が登場したり脆弱性が発見されたりすれば、既存のものを非推奨とします。このモデルゆえに、静的に「許可リスト」を定めても、それはいずれ時代遅れになってしまうのです。
FAPI 2.0セキュリティプロファイルは、TLSのセキュリティ要件を、現在RFC 9325として公開されているBCP 195に委ねています。これは仕様策定時点では適切な判断でした。しかし、RFC 9325自体がその適用範囲を明示的に限定している点に注意が必要です。
重要なのは、RFC 8446がこれらのアルゴリズムを、TLSのバージョンに関わらず、「現代的で安全な構成」として扱っていることです。
最近の一件が、暗号スイートを静的に規定することの難しさを露呈しました。
あるFAPI 2.0準拠の実装が、TLS 1.2接続でサーバーがTLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256という暗号スイートを提示したために、適合性テストに失敗したのです。その理由は、FAPI 2.0適合性テストがTLS 1.2に対してBCP 195(RFC 9325)を厳格に解釈し、上記の限られたAES-GCMスイートしか許可していなかったのです。
しかし、ChaCha20-Poly1305は強力な現代的暗号であり、RFC 8446 セクション9.1で定義されている通り、TLS 1.3では実装が必須の暗号スイートです。また、AESのハードウェアアクセラレーションを持たないプラットフォームでのパフォーマンス向上を目的に設計されています。
この事例は、RFC 9325のTLS 1.2用リストを厳密に適用することが、IETFのより広範な意図(強力な現代的暗号を推奨する)と矛盾する場合があることを示しました。実際には、適合性テストの要求と、現実世界での暗号技術のベストプラクティスとの間に齟齬が生じる結果となったのです。
この問題を受け、FAPIワーキンググループは、TLS暗号管理に対するより明確で持続可能なアプローチを公式に定めようとしています。
IANAが新たな推奨暗号スイートを登録した場合:
暗号スイートが非推奨とされたり、推奨ステータスから外されたりした場合、その移行は予測可能な段階的アプローチに従います:
具体的なタイムラインは別途公表されますが、その意図は、FAPIやBCPガイダンスで既に想定されている12か月の期間と整合する、明確で混乱の少ない移行の機会を提供することにあります。
前述のライフサイクルガイダンスはTLS 1.2と1.3の両方に適用されますが、戦略的な方向性は明白です。実装コミュニティはTLS 1.3の導入を最優先すべきです。
IETFは、プロトコルに関する見解を明確に転換し、TLS 1.3を必須とし、TLS 1.2はオプションサポートに移行する方針を示しています。
この立場は、近く更新予定のRFC 9325に反映され、正式な変更となります。以下は、RFC化が目前(AUTH48段階終了済み)のドラフト draft-ietf-uta-require-tls13-12 のセクション5からの抜粋です:
...この文書は、[RFC9325]のセクション3.1.1に記載された推奨事項に対し、以下の2点を変更する:
FAPIの実装環境においても、これは進むべき道筋を明確に示すものです。可能な限りTLS 1.3を有効化し、優先して使用すべきです。 TLS 1.2は、運用上やむを得ない場合にのみ維持してください。
近日中に、正誤表の草案やテストスイートの変更を含む詳細を共有する予定です。計画されている更新は以下の通りです。
これらの更新には、前述のIANAレジストリ準拠アプローチが盛り込まれます。
すべてのFAPI関係者には、以下のステップを実施されることをお勧めします。
FAPIは、オープンバンキングおよびオープンファイナンス分野におけるセキュリティのグローバル標準として主導的立場にあり、安全で相互運用可能なデータ共有を実現するため多くの国で採用されています。この規模で相互運用性と高いセキュリティを維持するには、関係者間の調整、透明性、そして予測可能性が不可欠です。
FAPIワーキンググループは、強力で現代的(モダン)な実装が不利益を被ることなく、かつ高いセキュリティ水準を維持できるようにすることを目指しています。FAPIをIANAレジストリにより密接に連携させ、TLS 1.3への移行を推進する今回のアプローチは、エコシステムの長期的な健全な発展を最もよく支えるものと考えています。