要約
- 1994年12月のRFC 1751は、128ビットの暗号鍵を人が読める形に表す提案だった。S/Keyの2048語からなる固定英語辞書を使い、64ビットずつ六語へ変換して計十二語にする。
- 同じ辞書を各実装が使うことで、言葉から同じ鍵を復元できる。RFCは人が覚えやすい文を自作して鍵にすると、推測しやすい候補を作ることになると警告した。
鍵穴より難しいのは入力欄だった
コンピューターは128ビットを正確に比較する。運用者はその値を読み、書き写し、時には電話で伝える。RFC 1751の出発点はこの人間側の仕事だ。SNMPv2のセキュリティ仕様には長い秘密鍵を用いる認証の文脈があった。McDonaldは暗号の中身より、鍵を扱う手元の作業を見た。桁の列を確実に渡すには、どんな形がよいか。
手本になったS/Keyは、64ビットの値を六つの短い英単語で示していた。語彙は2048語、各語は一文字から四文字。六語の選択には66ビット分の余地があり、64ビットの値に加えて検査用の余白を持てる。空白で切られた単語なら、人は一つずつ見直せる。プログラムは反対向きに処理して元の値を取り出せる。
McDonaldの提案はこの方法を二度使う。key2engが128ビット鍵の前半と後半をそれぞれ六語にし、eng2keyが十二語から両半分を戻す。RFCの例は「RASH BUSH MILK LOOK BAD BRIM」で始まる。意味の通る文としては落第だが、そこがよい。語の並びは鍵が決める。人が気の利いた標語を作ってから鍵を決める仕組みではない。
一つの英語辞書に揃える理由も明記されている。言語ごとに別の語彙を使えば、同じビット列を示す言葉が実装ごとに変わり、互いに読み戻せなくなる。既存の辞書はISO-646の不変部分の文字でできており、利用しているアプリケーションもあった。日本語話者の運用者にも英単語を渡す設計だった。現地語の親しみやすさより、機械同士が同じ表を引けることを優先したのである。
人が逆向きに考えたとき、問題が起こる。先に十分読みにくい鍵を選び、あとで十二語として表示するなら、単語は運搬用の形にすぎない。先に覚えやすい文を選んで、それを鍵として読み込ませるなら、秘密の候補は人間が好む表現に寄る。RFCは文章のような語列への辞書攻撃を警戒した。見た目が同じ十二語でも、どこから来たかで秘密の性質が変わる。
文書には変換の参照コードと全語彙が付いていた。鍵を人が読みやすくしても、二台の機械で違う値に戻ってしまえば現場は困る。公開された表と両方向の手順により、同じ128ビットが同じ十二語になり、その十二語が同じ128ビットへ戻ることを確かめられる。人間向けの工夫を、機械的に検査できる取り決めにしたわけだ。
RFC 1751は、十二語を魔法の呪文にしなかった。長い鍵を短い塊として人に渡し、共通辞書でどの実装でも同じ値へ戻す。鍵の選び方はその前の仕事として残る。端末の前に立つ人にはありがたい仕切りであり、選んだ言葉に安心したくなる人には少し厳しい仕切りでもあった。
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加





