Status: Historic
Category: Informational
本書は、分散型渡世人ネットワークにおいて、旅の渡世人(Client)が縄張りを持つ一家(Server)に対し一宿一飯のリソース割当を要求する際の認証プロトコルを規定する。
- Client: 旅人(たびにん)。リソース要求側。
- Server: 貸元一家。リソース提供側。応対は代貸等が行う。
- CA (Credential Authority): Client の親分。証明書発行元に相当。
- 軒下三寸: 接続確立前に Client が占有を許される最小限のバッファ領域。
Client Server
|--- SYN: お控えなすって ------->|
|<-- SYN-ACK: お控えなさんせ ---|
|--- AUTH: 生国/CA/自名乗り --->|
|<-- VERIFY: 型・所作の検証 ----|
|<-- ACK: お世話になります -----|
|= SESSION: 一宿一飯 ==|
4.1. Client は Server の敷地境界を越えてはならない (MUST NOT)。軒下三寸に留まらなければならない (MUST)。
4.2. Client は「お控えなすって」を送信し、Server の応答を待つ。応答前に次フェーズへ進んではならない (MUST NOT)。
4.3. Server は「お控えなさんせ」で応答するべきである (SHOULD)。無応答はタイムアウトとして扱い、Client は再送してもよい (MAY)。
Client は以下のフィールドを規定の順序・型で送信しなければならない (MUST):
- origin — 生国(例: 「生国と発しまするは...」)
- ca_chain — 渡世上の親分・一家名(信頼チェーン)
- client_id — 自身の名乗り(姓名・通り名)
フィールド順序の誤り、口上の型崩れは認証失敗として扱われる。型の正確な実行自体が共有秘密の知識証明を構成する。
- 401 型不正: 口上が拙い場合、Server は接続を拒否してよい (MAY)。
- 403 敵対CA: ca_chain が Server と敵対関係にある場合、接続は拒否される。物理層での制裁が発生しうる。
- 503 客止め: 一家の都合によるリソース枯渇。Client は他の Server を探索する。
本プロトコルの安全性は、口上の型という共有秘密が堅気(非参加ノード)に流出しないことに依存する。任侠映画・講談による仕様の一般公開後、なりすまし耐性は著しく低下した。また信頼モデルは中央機関を持たない Web of Trust であり、CA(親分)の失脚はチェーン全体の失効を意味する。
本プロトコルにポート番号は割り当てられない。物理層は軒下のみを使用する。