定義
アクター結果の証拠基盤は、その背後にある証拠の種類を示します。Proof of Actor は 4 つの値を使います:
- verified: 暗号学的、または他の方法で検証可能な申告が成功した。
- declared: アクターまたはアプリケーションがそう述べた。
- inferred: 行動上または文脈上のシグナルから結論を導いた。
- unknown: 判定に十分な証拠がなかった。
すべての結果には、分類(Human, Human + AI, Agent, Unknown。(/blog/human-ai-assisted-or-agent-taxonomy-for-app-traffic) のアプリケーショントラフィック分類法で説明)と基盤の両方が含まれます。「Agent, verified」と「Agent, inferred」は異なる結果であり、別々に扱う必要があります。
なぜ基盤が重要なのか
基盤がなければ、分類がどれだけの重みを持てるかが見えません。署名付きリクエストに対して「Agent」と表示されるダッシュボードと、リクエストのタイミングからの推測に対して「Agent」と表示されるダッシュボードが同じポリシー適用を促してしまうと、チームは両者を同列に扱いがちです。特にセキュリティ感度の高いアプリケーションでは、推定が暗号学的検証のように見えてはなりません。
分類と基盤を分けることで、ポリシーを証拠の強さに合わせられます:
- 読み取り専用の route では、どの Agent 結果も許可できるかもしれません。
- より影響の大きい route では、verified な agent だけを既知のオペレーターとして扱い、それ以外の全員により強い認証情報を求めることがあります。
4 つの値の詳細
Verified
何かが確認され、合格しました。最も明確な例は、アクターの運用者が公開した鍵に対して検証される HTTP message signature(RFC 9421)です。verified な証拠は、その具体的な確認に合格したことだけを示します。有効な署名は、どの鍵がリクエストに署名したかを示しますが、そのアクションが authorized であることまでは示しません。
Declared
誰かがそう述べました。自分を agent と名乗るクライアント、MCP client の名前、または自社アプリケーション内での AI 支援の開示は、declared です。これは有用で、多くの場合は正確ですが、ときに誤っていることもあります。User-agent spoofing は誤った申告の典型例です。User-Agent ヘッダー は設計上、自己申告です。
Inferred
システムがシグナルから判断しました。ブラウザセッション内の相互作用パターン、リクエストのタイミング、欠落したブラウザ文脈、プロトコルの詳細などです。推定は誤ることがあるため、常に推定としてラベル付けされ、特に人に関わる重大な判断をそれだけに依存させてはいけません。
Unknown
証拠が判定を支えませんでした。これは Unknown classification と対応し、ポリシーでは明示的なフォールバックに割り当てるべきです。AI トラフィックを分類する際に Unknown が有効な結果である理由についての投稿 で、その理由を説明しています。
基盤と confidence score の違い
多くのシステムは、証拠を 1 つの数値に圧縮します。しかし score では、それが暗号学的確認に由来するのか、ヒューリスティックに由来するのかが分かりません。また、調整されていない percentage は、存在しない精度を示唆します。名前付きの少数の基盤のほうが、推論しやすく、監査しやすく、誤用もしにくくなります。
よくある誤解
「Declared は信用できないということだ。」 Declared はしばしば正確であり、AI 支援の開示のように、ある種の問いに対してはそれが唯一の利用可能な証拠です。単に検証として扱うべきではない、というだけです。
「Verified は安全ということだ。」 Verification は署名者の身元に関するものであり、意図や権限に関するものではありません。
Proof of Actor における証拠基盤
すべての Proof of Actor の結果には、その基盤と、人が読める証拠の要約が表示されます。ポリシーはアプリケーション内で実行され、class と basis を組み合わせて利用できます。Detection & Limitations を見るか、early access に申し込む ことができます。
参照
- RFC 9421: HTTP Message Signatures: verified な証拠の最も明確なソース
- RFC 9110: HTTP Semantics, User-Agent: 自己申告された declared な識別子