PGPワード リスト(「Pretty Good Privacyワード リスト」、以下に説明する理由からバイオメトリック ワード リストとも呼ばれる) は、音声チャネルを介してデータバイトを明瞭かつ明確に伝達するためのワードリストです。このリストは、より長いワード リストが使用される点を除けば、 NATO フォネティック アルファベットと目的が似ています。各ワードは、256 の異なる数値バイト値の 1 つに対応します。
歴史と構造
PGP 単語リストは、計算言語学者のPatrick JuolaとPGPの作者であるPhilip Zimmermannによって 1995 年に設計されました。[1] [2] 単語は音韻上の特徴に基づいて慎重に選択され、遺伝的アルゴリズムを使用して音素空間で最適な分離を持つ単語のリストが選択されました。候補となる単語リストは、検索の原材料としてGrady WardのMoby Pronunciatorリストからランダムに抽出され、遺伝的アルゴリズムによって順次改良されました。自動化された検索は、当時としては特に高速なマシン であったDEC Alphaで約 40 時間で最適化されたソリューションに収束しました。
Zimmermann–Juola リストは、もともとはセキュア VoIP アプリケーションであるPGPfoneで使用するために設計され、2 者が短い認証文字列を口頭で比較して中間者攻撃(MiTM) を検出できるようにしました。このリストはバイオメトリック単語リストと呼ばれていました。これは、2 人のユーザーが音声チャネルを介して単語を読み、比較する際に互いの異なる声を認識することに依存し、話者の ID と単語を結び付けて MiTM 攻撃から保護するのに役立つためです。このリストは、ID のバイオメトリック結び付けが必要ない他の多くの状況で使用できるため、バイオメトリック単語リストと呼ぶのは正確ではない可能性があります。後に、このリストはPGPで音声チャネルを介して PGP公開鍵の 指紋を比較および検証するために使用されました。これは、PGP アプリケーションでは「バイオメトリック」表現として知られています。このリストが PGP に適用されたとき、単語リストはJon Callasの貢献によりさらに改良されました。最近では、 ZfoneやPGPfone の後継である ZRTPプロトコルでも使用されています。
このリストは実際には 2 つのリストで構成されており、各リストには音声的に異なる 256 個の単語が含まれており、各単語は 0 から 255 までの異なるバイト値を表します。2 つのリストが使用されるのは、人間の単語の長いランダムなシーケンスを声に出して読むと、通常、1) 連続する 2 つの単語の入れ替え、2) 重複した単語、または 3) 省略された単語の 3 種類のエラーが発生するリスクがあるためです。3 種類のエラーをすべて検出するために、バイト シーケンス内の偶数オフセット バイトと奇数オフセット バイトに対して 2 つのリストを交互に使用します。各バイト値は、バイト シーケンスの先頭からのオフセットが偶数か奇数かによって、実際には 2 つの異なる単語で表されます。2 つのリストは音節の数で簡単に区別できます。偶数リストには 2 音節の単語があり、奇数リストには 3 音節の単語があります。2 つのリストの最大単語長は、それぞれ 9 文字と 11 文字です。2 つのリストを使用するスキームの使用は、Zhahai Stewart によって提案されました。
単語リスト
以下はPGPfoneの取扱説明書に記載されている2つの単語リストです。[3]
例
バイト文字列の各バイトは、1 つの単語としてエンコードされます。バイトのシーケンスは、ネットワーク バイト順序で、左から右にレンダリングされます。たとえば、左端 (つまり、バイト 0) は「偶数」と見なされ、PGP 偶数ワード テーブルを使用してエンコードされます。右の次のバイト (つまり、バイト 1) は「奇数」と見なされ、PGP 奇数ワード テーブルを使用してエンコードされます。このプロセスは、すべてのバイトがエンコードされるまで繰り返されます。したがって、「E582」は「topmost Istanbul」を生成し、「82E5」は「miser travesty」を生成します。
PGP公開鍵の指紋は16進数で次のよう に表示されます。
E58294F2E9A227486E8B061B31CC528FD7FA3F19
PGP Words(「生体認証」指紋)では次のように表示されます。
topmost IstanbulPluto vagabondtreadmill Pacificbrackish dictatorgoldfish Medusaafflict bravadochatter revolverDupont midsummerstopwatch whimsicalcowbell bottomless
バイト文字列内のバイトの順序は、エンディアンに依存します。
データのその他の単語リスト
音声チャネルを介してデータを明確かつ明確に伝えるための単語リストは他にもいくつかあります。
- NATO音声アルファベットは個々の文字と数字を個々の単語にマッピングします
- S /KEYシステムは、64 ビットの数字を、公開されている 2048 語の辞書から、それぞれ 1 ~ 4 文字の 6 つの短い単語にマッピングします。RFC 1760 および RFC 2289 でも同じ辞書が使用されています。
- Dicewareシステムは、 5 つの 6 進数のランダムな数字 (約 13 ビットのエントロピー) を、7,776 個の異なる単語の辞書の単語にマッピングします。
- 電子フロンティア財団は、同じ概念に基づいて改良された単語リストを公開している[4]
- FIPS 181:自動パスワード ジェネレーターは、ランダムな数字をある程度発音可能な「単語」に変換します。
- ニーモニックエンコーディングは、32ビットのデータを1626語の語彙から3語に変換します。[5]
- what3words は地理座標を 3 つの辞書単語にエンコードします。
- BIP39 標準では、固定サイズの暗号鍵 (128 ビットまたは 256 ビット、通常は暗号通貨ウォレットの暗号化されていないマスター キー) を、シード フレーズと呼ばれる読み取り可能な単語の短いシーケンスにエンコードして、オフラインで鍵を保存することが許可されています。これは、ビットコインやモネロなどの暗号通貨で使用されています。
- PGPワードリストと同様に、バイトワード標準は各バイトをワードにマッピングします。リストは2つではなく1つだけです。ワードは4文字で統一されており、最初と最後の文字で一意に識別できます。
参考文献
- この記事には、PGP Corporation が著作権を所有し、GNU Free Documentation License に基づいてライセンスされている資料が含まれています。(Jon Callas、CTO、CSO PGP Corporation、2007 年 1 月 4 日)
- ^ Juola, Patrick; Zimmermann, Philip (1996). 「全単語の音声距離と PGPfone アルファベット」(PDF) .第 4 回国際音声言語処理会議の議事録。ICSLP '96。第 1 巻。pp. 98–101。doi : 10.1109/ ICSLP.1996.607046。ISBN 0-7803-3555-4.S2CID 10385500 。
- ^ Juola, Patrick (1996). 「孤立語混同指標と PGPfone アルファベット」。Proceedings of New Methods in Language Processing 2。トルコ、アンカラ:オックスフォード大学、実験心理学部。arXiv : cmp-lg/9608021。Bibcode :1996cmp.lg....8021J。
- ^ “アーカイブコピー”. web.mit.edu . 2010年3月26日時点のオリジナルよりアーカイブ。 2022年1月12日閲覧。
{{cite web}}: CS1 maint: アーカイブされたコピーをタイトルとして (リンク) - ^ 「EFF のランダムパスフレーズ用新ワードリスト」2016 年 7 月 19 日。
- ^ ニーモニックエンコーディング 2008-03-02にWayback Machineでアーカイブされ、コードが更新されました
