公開鍵暗号を用いて安全な暗号化通信を実現するためには,公開鍵の認証を正しく行なう 仕組みが必要である.すなわち,悪意のある利用者Mが利用者Aになりすまして,Aの公 開鍵としてMの公開鍵を配布しているような場合を考える.このような場合において,ある 利用者がAさんへのメッセージを暗号化を行なったつもりでもMにしか解読できない(M がメッセージを読むことができる)といった危険性がある.このため公開鍵を使用する前に,
この公開鍵が本当にデータを送信したい対象の利用者のものであるかの正当性を検証(公開 鍵認証)する必要がある.本章では,公開鍵認証に関する技術を紹介し,LSACネットワー クに適用した場合に生じる課題について議論する.
公開鍵を認証する仕組みとして公開鍵基盤(PKI; Public Key Infrastructure)がある.公開 鍵基盤とは,公開鍵を効率的に運用するために定められた規格や仕様の総称である.信頼で きる第三者機関に公開鍵の証明書を発行してもらうことによって公開鍵の認証を行なう.公 開鍵基盤は主に,利用者,認証局,およびリポジトリの3つの要素から構成される.利用者 は,公開鍵基盤を利用する人のことを表す.利用者には,公開鍵基盤を利用して公開鍵を登 録する登録者と,登録されている公開鍵を使用する使用者の2種類存在する.認証局は,証明 書を発行する機関.証明書の管理を行なう.公開鍵の登録の際に,公開鍵の本人の認証をす る.リポジトリは,証明書を保管しているデータベースのことである.認証局が発行した証 明書を保存しておき,公開鍵の利用者が証明書を入手できるようにしている.認証局を利用 して公開鍵を入手するには,認証局の存在しているネットワークへの接続が必要である.現 在ではこのようなネットワークとしてインターネットが利用されている.しかし,本研究で
対象としている環境においては,認証局が存在するネットワークに接続していない場合も想 定するため,公開鍵基盤を利用した公開鍵認証を利用できるとは限らない.
認証局を利用せずに,利用者間の信頼関係を利用することによって公開鍵の認証を実現す る仕組みとして,Web of Trust(信頼の網)がある[33].Web of Trust では,ある利用者Aが 信頼している利用者B の公開鍵を信頼する(1次的な関係),ということに加えて,さらに 利用者Bが信頼している利用者Cの公開鍵も信頼することにしている(2次的な関係).こ のような関係をn次的な関係まで繰り返すことで,より広範な公開鍵の認証を実現している.
Web of Trustを利用する具体的な例としては,PGP[34, 35]がある.PGPでは,利用者が信頼 している他の利用者の公開鍵に対して署名を行なうことによって信頼関係を表現している.
Web of Trustをベースにした公開鍵認証では,事前に利用者間の信頼関係が構築されている
必要がある.本研究で対象とする環境においては,初対面の利用者間での利用も想定してい るため,Web of Trustを利用した公開鍵認証を利用することができない.
認証局を用いない他の認証手法として,(k, n)閾値法を利用する手法がある[36].この手法 はアドホックネットワークにおける認証を想定している.アドホックネットワークでは,ネッ トワークのトポロジーが動的に変化するために,公開鍵基盤を利用した認証が困難である.
このため,認証局の機能を n 個のサーバに分割し,端末はそのうちの k 個のサーバと通信 ができた場合に認証局の機能を利用でき,自身の公開鍵証明書が発行されるというものであ る.この手法を利用するには,ネットワーク上に k個の分割されたサーバの存在が必要であ り,本研究で対象とする身近な端末との一時的なネットワーク下ではその利用が困難である.
証明書を利用しない手法としては,SUCV(Statistically Unique and Cryptographically Verifiable)[37, 38]がある.この手法では公開鍵のハッシュ値を通信における自身の端末の ID とすることで端末のネットワークIDと公開鍵の結びつきを保証している.この手法ではIPv4 のように狭いアドレス空間では,ハッシュにより生成されるアドレスが重複してしまう場合 がある.また,単独で複数の公開鍵と IP アドレスのペアを生成できてしまうという問題点 もある.
認証を行なう端末の所持者同士が近距離にいることを利用し,暗号化したい通信路とは別
の通信路を利用して鍵を受け渡す手法も存在する[39].別の通信路としては,赤外線通信や有 線による接続を想定している.この手法では本来の通信路の他にもう一つ別の通信路を用意 せねばならず,利用可能な環境は限られている.WPS(Wi-Fi Protected Setup)[40]もこの 手法を用いている.WPSでは,ユーザが親機の発行する数桁の数字を子機に入力するPIN コード方式,近距離無線通信のNFCを使って設定情報を送信するNFC方式,USBメモリに 設定情報を記録して子機に転送するUSBメモリ方式などが提案されている.どれも別の通信 路による通信を行なわねばならず,また複数台の認証を行う場合には,各端末ごとに認証を 行なう手間がかかる.
第三者を必要とせず,当事者間で公開鍵を認証する仕組みが提案されている.基本的なア イデアは,公開鍵の指紋(Finger Print)と呼ばれるハッシュ値の一致性を何らかの手段を 用いて確認することである.文献[41]では,当事者が発話する音声を用いて一致性を確認す ることが提案されている.具体的には,指紋の1バイト毎に英単語を割り当て,利用者が発 話し易いように指紋の表現形式を変換している.この変換に用いる英単語のリストのことを Biometric Word Lists と定義している.Biometric Word Lists に含まれる英単語には発音の 違いや,識別のしやすさ,言いやすさなどを基準にして選出された英単語が採用されている.
このBiometric Word Listsは,音声通信を用いて公開鍵の認証を行なう際に用いる英単語の
リストのことである.元々PGPfone(Pretty Good Privacy Phone) [42]での公開鍵の認証のた めに設計,実装された.Biometric Word Listsの一部を表2.1に示し,変換の例を挙げる.公 開鍵の指紋が16進数で以下のように表される場合,
3A3F 259A B93C E300 40D9 DAC0 2B61 B372 A33E 381A
変換の結果は以下のようになる.
cleanup customer bombast newsletter sentence crossover tissue adroitness crackdown supportive surmount recipe briefcase frequency scallion holiness reform cumbersome classic Bradbury
Biometric Word Lists を用いた公開鍵の認証では,インターネット電話などの音声通信上
で口頭による英単語の照合を行なう.しかし,利用者同士が相互に公開鍵の認証を行なう場
表 2.1: バイオメトリックワードリストの一部 Hex 偶数リスト 奇数リスト
: : :
3A cleanup corrosion 3B clockwork councilman 3C cobra crossover 3D commence crucifix 3E concert cumbersome 3F cowbell customer 40 crackdown Dakota
: : :
合には,英単語の照合を双方向に行なう必要があり,利用者への負担が大きくなるという欠 点がある.
ZigBee[43]のAssociation PermitやWiFiのWPS(Wi-Fi Protected Setup)[40]におけるプッ シュボタン方式はごく短い時間において1つの機器のみ認証を許可するという制限を設ける ことで簡単に認証を行なう方法である.これらの方法では悪意のある第3者に常にネットワー クを監視されているような状況は想定していない.
また,既存の手法はどれも二つの端末間の通信を想定しており,複数の端末間で一度に鍵 交換を行なうことは想定してない.このため,複数の端末間で安全な通信を行なうためには,
二者間でそれぞれ安全な通信路を構築する必要がある.
第 3 章
見通し内における一時的な通信
本章では本研究で想定する見通し内における一時的な通信(LSAC: Line of Sight Ad-hoc
Communication)の概要を説明し,LSACにおける通信相手の特定について議論する.