要約

  • RFC 972は、採用を選ぶARPANETのホスト向けに、八文字で発音しやすい候補を六つ返すサービスを記した。利用者は一つ選び、別の組を求めることもできる。
  • 候補の重複を抑える鍵は初期シードにあった。文書はアクセスのたびに更新するシステム共通の種を望み、時刻だけを種にする方法を退けた。TCPとUDPはともにポート129を使う。

パスワード売り場に六つの品が並ぶ。どれも八文字で、口に出せそうな響きだ。気に入らなければ、もう一皿。F. Wanchoが1986年1月に書いたPassword Generator Protocolは、そんな気前のよい仕組みを提案した。ただし献立の豊かさは、裏で材料を使い回していないことが条件になる。

出発点は管理者の悩みだった。人が考えたログイン用の語は推測されやすい。一方、無作為に作った文字列は発音できず覚えにくいことがある。辞書を照合するサイトも、乱数に頼るサイトもあったが、短い周期の擬似乱数生成器なら似た材料を再び出しかねない。Wanchoによれば、関連するアルゴリズムは少数のサイトで数年間使われていた。ここで示されたネットワークサービスは、導入を選ぶホストのための標準案であり、その少数の使用歴が全ネットワークの実績に化けるわけではない。

出力の形は明快だ。八文字の「語」を六つ、CRLFで区切って返す。多段のアルゴリズムがほどよい発音のしやすさを狙い、管理者が調べられるFORTRAN-77の実装も挙げられた。利用者ができるのは、その候補から一つ選ぶか、次の六つを頼むこと。記憶しやすさを人に残し、候補をひねり出す仕事をサービスに預けた。

預かった側には帳簿が要る。文書は生成語の一意性が初期シードの乱雑さに強く左右されると明記する。時刻だけから種を取るのは不可。望ましいのはシステム全体で一つの種を持ち、アクセスのたびに更新し、32ビットを超える値として保存することだった。耳に心地よい六つの語を眺めても、その帳簿が進んだかどうかは分からない。

通信は驚くほど短い。TCPのポート129では接続後に六つの語を送り、サーバーが切断する。会話はしない。UDPの同じポートでは受けたデータグラムに六語入りのデータグラムで返す。文書は複数サイトによる提供も考え、サイトを無作為に選び、使えなければ代替へ回す道を示した。店が増えれば、どの店の種を使ったのかという運用上の選択も増える。

RFC Editorの記録が示す刊行日は1986年1月。原文は導入数も各現場の種の品質も数えていない。その二頁が鮮やかに示すのは役割の配置だ。利用者は覚える語を選ぶ。生成器は候補を並べる。運用者は次の候補を生む状態を守る。六択の投票箱は、開く前に中身の作られ方が決まっていた。