Skip to content

Instantly share code, notes, and snippets.

@winebarrel
Last active October 24, 2026 03:10
Show Gist options
  • Select an option

  • Save winebarrel/805ae6b74fbeb72c645bd4db7ea40545 to your computer and use it in GitHub Desktop.

Select an option

Save winebarrel/805ae6b74fbeb72c645bd4db7ea40545 to your computer and use it in GitHub Desktop.
RFC 893

RFC 893: 軒下仁義プロトコル (NGP: Nokishita Giri Protocol)

Status: Historic

Category: Informational

1. Abstract

本書は、分散型渡世人ネットワークにおいて、旅の渡世人(Client)が縄張りを持つ一家(Server)に対し一宿一飯のリソース割当を要求する際の認証プロトコルを規定する。

2. Terminology

  • Client: 旅人(たびにん)。リソース要求側。
  • Server: 貸元一家。リソース提供側。応対は代貸等が行う。
  • CA (Credential Authority): Client の親分。証明書発行元に相当。
  • 軒下三寸: 接続確立前に Client が占有を許される最小限のバッファ領域。

3. Protocol Overview

Client                          Server
  |--- SYN: お控えなすって ------->|
  |<-- SYN-ACK: お控えなさんせ ---|
  |--- AUTH: 生国/CA/自名乗り --->|
  |<-- VERIFY: 型・所作の検証 ----|
  |<-- ACK: お世話になります -----|
  |= SESSION: 一宿一飯 ==|

4. Handshake

4.1. Client は Server の敷地境界を越えてはならない (MUST NOT)。軒下三寸に留まらなければならない (MUST)。

4.2. Client は「お控えなすって」を送信し、Server の応答を待つ。応答前に次フェーズへ進んではならない (MUST NOT)。

4.3. Server は「お控えなさんせ」で応答するべきである (SHOULD)。無応答はタイムアウトとして扱い、Client は再送してもよい (MAY)。

5. Authentication Payload

Client は以下のフィールドを規定の順序・型で送信しなければならない (MUST):

  1. origin — 生国(例: 「生国と発しまするは...」)
  2. ca_chain — 渡世上の親分・一家名(信頼チェーン)
  3. client_id — 自身の名乗り(姓名・通り名)

フィールド順序の誤り、口上の型崩れは認証失敗として扱われる。型の正確な実行自体が共有秘密の知識証明を構成する。

6. Error Handling

  • 401 型不正: 口上が拙い場合、Server は接続を拒否してよい (MAY)。
  • 403 敵対CA: ca_chain が Server と敵対関係にある場合、接続は拒否される。物理層での制裁が発生しうる。
  • 503 客止め: 一家の都合によるリソース枯渇。Client は他の Server を探索する。

7. Security Considerations

本プロトコルの安全性は、口上の型という共有秘密が堅気(非参加ノード)に流出しないことに依存する。任侠映画・講談による仕様の一般公開後、なりすまし耐性は著しく低下した。また信頼モデルは中央機関を持たない Web of Trust であり、CA(親分)の失脚はチェーン全体の失効を意味する。

8. IANA Considerations

本プロトコルにポート番号は割り当てられない。物理層は軒下のみを使用する。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment