Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】The State of Security Protocols in Agent 2 Agent(A2A) Systems.

2025年10月05日に「Dev.to」が公開したITニュース「The State of Security Protocols in Agent 2 Agent(A2A) Systems.」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

AIエージェント同士が安全に連携するため、GoogleのA2Aプロトコルが重要だ。これはAgentCardでエージェントを識別し、認証・タスク交換を行う。MAESTROで脅威を分析、ゼロトラストやSAGAでアクセス制御を強化し、安全なシステムを構築する。

ITニュース解説

近年、AI技術の発展により、複数のAIエージェントが連携して自律的にタスクを処理する「エージェント2エージェント(A2A)システム」が登場している。これらのシステムでは、AIエージェントが人間の介入を最小限に抑えながら、環境を認識し、意思決定し、行動を実行する。特に、組織、地理、信頼の境界を越えてエージェントが相互に作用し、複雑なワークフローを構成する場面が増えており、その中での安全で標準化された相互運用性が極めて重要となる。信頼できるプロトコルがない場合、エージェント間のやり取りはバラバラになり、重複が生じ、なりすまし、データ流出、不正な権限昇格といった深刻なセキュリティ脆弱性に晒されるリスクがある。

現代のA2Aシステムのセキュリティの基盤は、構造化された通信とID認識を重視するプロトコルに置かれている。その代表的なものがGoogleのAgent-to-Agent(A2A)仕様であり、これは構成可能性と信頼性を重視した、宣言的かつID認識型(ID aware)のフレームワークを提供する。

このA2Aプロトコルでは、自律型エージェントが「AgentCard」という標準化された情報を使って互いを認識する。AgentCardは、エージェントの識別情報、連絡先、役割、機能、能力、必要な認証方法などを含む機械が読み取り可能なJSON形式の「名刺」のようなものである。クライアントエージェントはリモートエージェントのAgentCardをHTTPS経由で取得し、その能力や認証要件を把握する。次に、AgentCardで指定された方法で認証を行い、タスクをJSON-RPCリクエストとしてHTTPS経由で送信する。タスクは同期的に送信されることもあれば、Server-Sent Events(SSE)を使ってストリーミング形式で更新情報が送られることもある。リモートエージェントはタスクを処理し、結果をタスクオブジェクトとして返すか、ストリーミングで更新情報を送信する。このプロトコルは、HTTPS、JSON-RPC、SSEといった既存のWeb標準に基づいており、互換性を保ちつつセキュリティを最優先に設計されている。

エージェント型AIの自律的な性質は、特別なセキュリティ分析を必要とする。そのためにMAESTRO(Multi-Agent Environment, Security, Threat, Risk, and Outcome)フレームワークが活用される。MAESTROは、A2Aシステムのような複雑なシステムに特化した、構造的、詳細かつ予防的な分析方法を提供する。このフレームワークは、基盤モデル(Layer 1)からエージェントエコシステム(Layer 7)まで、7つのレイヤーにわたってセキュリティを考慮する必要があることを示している。

MAESTROを通じて特定される主要なA2A多エージェントシステムの脅威には、Agent Card Spoofing、Poisoned AgentCard、A2A Task Replay、Cross-Agent Task Escalationなどがある。 Agent Card Spoofingは、攻撃者が偽造したAgent Cardを悪意のあるドメインに公開し、タスクの乗っ取りやデータ流出を引き起こす脅威である。これにはデジタル署名や安全な名前解決が対策となる。 Poisoned AgentCardは、AgentCardの記述フィールドなどにプロンプトインジェクション技術が埋め込まれ、カードを処理する別のエージェントに隠された命令を実行させる脅威である。入力のサニタイズやスキーマチェックが有効な対策となる。 A2A Task Replayは、攻撃者が有効なタスク送信リクエストを傍受し、それを再実行することで、重複したアクションや不正なアクションを引き起こす脅威である。ノンス(一度だけ使用される値)の使用、タイムスタンプ検証、べき等性(同じ操作を複数回実行しても結果が変わらない性質)の確保が対策となる。 Cross-Agent Task Escalationは、悪意のあるエージェントが偽造された認証情報でタスクを送信し、信頼境界を破って権限を昇格しようとする脅威である。厳格な認証と最小権限の原則の適用が対策となる。これらの脅威は、従来のソフトウェア開発で知られている偽装やSQLインジェクション、CSRFといった脅威と共通の考え方を持つものである。

これらの脆弱性に対処するためには、システム設計の初期段階からセキュリティを深く組み込む堅牢なプロトコルが不可欠である。すべてのシステムレイヤーにガバナンスとセキュリティを埋め込む階層化されたアーキテクチャを開発することが目標となる。

ゼロトラスト・アーキテクチャの原則である「決して信頼せず、常に検証する」は、マルチエージェントシステムにおいても不可欠である。これは、すべてのエージェント、通信、アクションについて、IDと認証を継続的に検証することを要求する。具体的には、各エージェントが一意で暗号学的に検証可能なIDを持つための強力な認証メカニズムの実装、特定のタスクに必要な最小限の権限のみをエージェントに付与する細粒度な認証制御の適用(最小権限の原則)、盗聴やメッセージ改ざんを防ぐためのエンドツーエンドの暗号化通信(TLS/HTTPS)と整合性チェックの組み合わせが挙げられる。

A2Aプロトコルは分散型のIDと相互運用性を促進するが、ポリシー施行メカニズムやエージェント間相互作用の実行時調停が不足しているという指摘もある。SAGA(Security Architecture for Governing Agentic systems)アーキテクチャは、この課題に対処するために開発された。SAGAは、ユーザーがエージェントのライフサイクルを制御し、監視できるようにするプロバイダー媒介型のアプローチを通じて、ガバナンスとセキュリティを強化する。ユーザーは、自身のエージェントに対する許容可能な受信通信を規定するアクセス契約ポリシー(CP)を定義できる。SAGAは、Agent Cardをユーザー指定のアクセス制御ポリシーの下で保護し、A2Aメッセージを独自のセキュアな通信レイヤー内にカプセル化することで、A2Aプロトコルと統合される。SAGAのセキュリティモデルの中核は、暗号学的なアクセストークンの使用にある。これらのトークンは受信エージェントによって生成され、動的に導出される共有鍵を用いて暗号化される。これにより、エージェント間の通信に対する細粒度な制御が可能となり、脆弱性ウィンドウが制限される。この共有鍵の導出は、プロバイダーから取得するワンタイムキー(OTK)に依存する。プロバイダーは最初の要求時にユーザーのコンタクトポリシーを強制する。トークンには有効期限(Texpire)と許可されるリクエスト数の上限(Qmax)が含まれるため、以降の通信では中央のプロバイダーを介さずにトークンを再利用でき、セキュリティとパフォーマンスオーバーヘッドのバランスが取られている。

A2Aサーバーのセキュアな実装には、入力、トークン、認証に対して厳密な検証を行う必要がある。これにより、リプレイ攻撃やトークンの不正使用といった脅威を防ぐ。Agentフレームワークは、Poisoned AgentCardのリスクを軽減するために、すべてのAgentCardコンテンツに対して入力サニタイズなどの制御を適用すべきである。さらに、強力なトークンとタスクの検証が非常に重要となる。

例えば、受信したアクセストークンを検証するサーバー側のロジックでは、以下のチェックが不可欠となる。まず、トークンが共有鍵(SDHK)で正しく復号できるかを確認する。次に、トークンの有効期限(Texpire)が現在時刻より後であるかを確認する。次に、トークンが開始エージェントのIDと一致するかを確認し、異なるエージェントに発行されたトークンではないことを保証する。さらに、トークンの使用割り当て(Qmax)が超過していないかをバックエンドで追跡し、超過していればトークンを無効とする。最後に、リクエストにノンスが含まれている場合、そのノンスが最近再利用されていないかをチェックし、タスクのリプレイ攻撃を防ぐ。これらのチェックがすべてパスした場合にのみ、トークンの使用回数を増やしてリクエストを処理する。

MAESTROのようなセキュリティフレームワークを採用し、ゼロトラスト原則を多層的に適用し、A2AプロトコルにSAGAのような細粒度な制御システムを加えることで、開発者は次世代の自律型エージェントシステムに不可欠な堅牢で信頼性の高いセキュリティプロトコルを構築できる。

関連コンテンツ

関連IT用語