Note
このドキュメントは2026-02-27 02:40にPLaMo Translation Modelを使用して自動翻訳されました。
FEP-7502: 認証済みアクターへの可視性制限
概要
一部のサーバーでは、ActivityPubを介したすべてのリクエストに対して認証を要求しています。これには、as:Public宛ての公開オブジェクトに対するGETリクエストも含まれます。これは「as:Public宛てのものは認証なしで利用可能であるべき」という要件に違反するものです。本FEPでは、このようなケースにおいて代替的なアドレス指定方式を提案します。これにより、対象オブジェクトが完全にパブリックではないことを示しつつも、その他の点では任意のアクターがアクセス可能であることを明示できます。
先行技術
(このセクションは規範的ではありません)
ActivityPubの課題339では「as:Public」の問題点について議論され、新たな配信/アドレス指定先として「as:Authenticated」が提案されましたが、この提案は採用されませんでした。両者の違いは以下の通りです:
パブリック : 認証なしで誰でも利用可能
認証済み : 認証後に任意のアクターが利用可能
本アプローチに関する主な懸念事項は以下の通りです:
- ポスト配信時のユースケースに関連する疑似コレクション(as:Publicを含む)のアドレス指定について、意味的な明確性が不足していること
- 偽装アクターを簡単に作成できるため、不正利用防止用途では効果が限定的であること
- 認証済みアクセスによる追跡可能性が生じる可能性がある点
特に「意味的明確性」に関する懸念は未解決のままです。本FEPでは、完全にパブリックなオブジェクトを示すためにas:Publicを別の仕組みで置き換えることは対象外としています。ただし、このメカニズムは以下の異なる要件を満たす上で有用です:
- オブジェクトが完全に「パブリック」であるかのように偽装するのではなく、認証なしアクセスを禁止する意図を明確に示すこと
- ブロック機能を適用する必要がある場合、フェッチに一定の障壁を設けることで、最小限の追跡可能性を実現すること
WACでは「エージェント」(http://xmlns.com/foaf/0.1/Agent)と「認証済みエージェント」(http://www.w3.org/ns/auth/acl#AuthenticatedAgent)の区別が設けられています。本FEPではこの後者に対するアドレス指定方式を提案します。
提案内容
コレクションやオブジェクトに加え、アクティビティは特別な「認証済み」コレクションに対しても追加的にアドレス指定可能です。識別子としてhttp://www.w3.org/ns/auth/acl#AuthenticatedAgentを使用します。
この特殊URI宛てに送信されたアクティビティは、すべてのアクターが認証付きでアクセス可能となります。実装側は「認証済み」専用コレクションへの配信を行ってはなりません。このコレクションは実際にアクティビティを受け取る機能を備えていないためです。
アクティビティは「パブリック」と「認証済み」の両方を同時に指定すべきではありません。このような場合、「認証済み」への指定は効果を持たず、「パブリック」にも同時指定されていることになります。
概要
- ActivityPubクライアントは、「authenticated agents」(認証済みエージェント)という特殊識別子を
to、cc、またはaudienceフィールドに含むアクティビティを作成することができます - 「認証済みエージェント」宛てのこのようなアクティビティを受信したActivityPubサーバーは、当該アクティビティが永続化される場合、アクターに対する何らかの認証方法を適用する必要があります(本FEPでは特定の方式は要求しませんが、実際にはHTTP Signatures Cavageドラフトを使用し、そのドメインで動作するサービスを代表するドメイン全体の内部フェッチエージェントによってGETリクエストに署名する方法が、多くの実用的なケースにおいて十分です)
- 「インスタンス」として機能する「Federated ActivityPubサーバー」が「認証済みエージェント」宛てのこのようなアクティビティを受信した場合、ログアウト状態のユーザーに当該アクティビティの表現を提供してはなりません
実装要件
Pixelfedは「signed fetch」(署名付きフェッチ)が有効な場合に本FEPを実装する予定です。これにより、署名付きでフェッチした結果得られるデータに「as:Public」が含まれないようにします。
定義用語
認証済み
- URI
http://www.w3.org/ns/auth/acl#AuthenticatedAgent- ラベル
- 認証されたユーザー全員
- サブクラスオブ
- エージェント
- 定義元
- 基本アクセス制御オントロジー
参考文献
- ActivityPub Christine Lemmer Webber, Jessica Tallon, ActivityPub, 2018
- 339 kaniini, as:Authenticated提案, 2019
- WAC Sarven Capadisli, Tim Berners-Lee, Henry Story, Web Access Control, 2023
著作権
CC0 1.0 Universal(パブリックドメイン献呈)
法律で許容される範囲内において、本Fediverse Enhancement Proposalの著者らはこの著作物に関するすべての著作権および関連する権利を放棄しています。