(57)【特許請求の範囲】
【請求項１】
耐タンパ性を有する送信側情報処理デバイスを備える送信側通信端末から送信される対象情報を、耐タンパ性を有する情報処理デバイスを備える受信側通信端末が受信して検証する情報検証方法において、
前記送信側情報処理デバイスにおいて、
鍵情報を生成する鍵情報生成ステップと、
前記送信側通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成ステップと、
前記送信側通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化ステップと、
前記デバイス側暗号化ステップにおいて暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成ステップと、
前記第１の生成ステップにおいて生成された第１のダイジェスト情報、前記第２の生成ステップにおいて生成された第２のダイジェスト情報、および前記鍵情報生成ステップにより生成された鍵情報に基づいて認証情報を生成する認証情報生成ステップと、
前記認証情報生成ステップにより生成された認証情報および鍵情報を前記送信側通信端末に出力するデバイス側出力ステップと、
暗号化通信経路を確立して前記鍵情報を前記受信側情報処理デバイスに送信する暗号化送信ステップと、
を備え、
前記送信側通信端末において、
前記送信側情報処理デバイスから出力された鍵情報および認証情報を入力する入力ステップと、
前記入力ステップにより入力された鍵情報を用いて対象情報を暗号化する端末側暗号化ステップと、
前記端末側暗号化ステップにより暗号化された暗号化対象情報および前記入力ステップにより入力された認証情報を、前記受信側通信端末に送信する送信ステップと、
を備え、
前記受信側通信端末において、
前記送信ステップにおいて送信された認証情報および暗号化対象情報を受信する受信ステップと、
前記受信ステップにおいて受信された暗号化対象情報に基づいて第３のダイジェスト情報を生成する第３の生成ステップと、
前記受信ステップにおいて受信された鍵情報および認証情報、ならびに前記対象情報に応じて定められ予め格納されている検証情報、ならびに前記第３の生成ステップにおいて生成された第３のダイジェスト情報を前記受信側情報処理デバイスに出力する端末側出力ステップと、
を備え、
前記受信側情報処理デバイスにおいて、
前記暗号化送信ステップにより暗号化通信経路を介して送信された鍵情報を受信する暗号化受信ステップと、
前記端末側出力ステップにより出力された前記検証情報、前記第３のダイジェスト情報、および前記認証情報、ならびに前記暗号化受信ステップにより受信された鍵情報に基づいて認証情報の検証を行う検証ステップと、
を備え、
前記検証ステップは、前記検証情報と前記認証情報に含まれている第１のダイジェスト情報との一致を検証し、前記第３のダイジェスト情報と前記認証情報に含まれている前記第２のダイジェスト情報との一致を検証し、前記認証情報に含まれている鍵情報と前記暗号化受信ステップにおいて受信された鍵情報との一致を検証することを特徴とする情報検証方法。
【請求項２】
前記受信側情報処理デバイスは、
前記検証ステップにおいて検証された検証結果にしたがって鍵情報を前記受信側通信端末に出力する受信デバイス側出力ステップをさらに備え、
前記受信側通信端末は、前記受信デバイス側出力ステップにより出力された鍵情報に基づいて前記受信ステップにより受信された暗号化対象情報を復号することを特徴とする請求項１に記載の情報検証方法。
【請求項３】
前記検証ステップは、
前記受信側通信端末から前記送信側端末に対して送信される、前記対象情報と交換される交換情報の送信側検証結果を、前記送信側端末から受信し、前記送信側検証結果および前記検証結果の検証を行い、
前記受信デバイス側出力ステップは、
前記検証ステップにおける検証結果および前記送信検証結果に従って前記鍵情報を前記受信側通信端末に出力することを特徴とする請求項２に記載の情報検証方法。
【請求項４】
前記送信側通信端末において、
前記入力ステップにより入力された認証情報および鍵情報を格納する格納ステップをさらに備えることを特徴とする請求項１から３のいずれか１項に記載の情報検証方法。
【請求項５】
送信側通信端末において、
対象情報の送信処理を行うに先立って、前記認証情報および鍵情報が予め格納されているか否かを判断する判断ステップをさらに備え、
前記判断ステップにおいて認証情報および鍵情報が格納されていると判断されると、前記送信側情報処理デバイスにおける処理を行うことなく、前記送信側通信端末は、前記暗号化ステップ、前記送信ステップ、前記暗号化送信ステップを実行することを特徴とする請求項４に記載の情報検証方法。
【請求項６】
前記第１の生成ステップは、
前記対象情報のハッシュ値を算出することで、第１のダイジェスト情報を生成し、
前記第２の生成ステップは、
前記暗号化対象情報のハッシュ値を算出することで、第２のダイジェスト情報を生成し、
前記第３の生成ステップは、
前記受信ステップにおいて受信された暗号化対象情報のハッシュ値を算出することで、第３のダイジェスト情報を生成する
ことを特徴とする請求項１から５のいずれか１項に記載の情報検証方法。
【請求項７】
前記送信側情報処理デバイスおよび前記受信側情報処理デバイスは、前記鍵情報とは異なる第２の鍵情報を保持しておき、
前記送信側情報処理デバイスにおける前記認証情報生成ステップは、
前記第１の生成ステップおよび前記第２の生成ステップにおいて生成された第１のダイジェスト情報および第２のダイジェスト情報ならびに前記鍵情報生成ステップにより生成された鍵情報、および保持されている前記第２の鍵情報に基づいて認証情報を生成し、
前記受信側情報処理デバイスにおける前記検証ステップは、前記認証情報に含まれている第２の鍵情報と、前記受信側情報処理デバイスに保持されている第２の鍵情報とが一致しているか否かをさらに検証することを特徴とする請求項１から６のいずれか１項に記載の情報検証方法。
【請求項８】
前記送信側情報処理デバイスは、公開鍵暗号における秘密鍵である署名鍵を保持し、
前記受信側情報処理デバイスは、前記秘密鍵に対応する公開鍵である検証鍵を保持し、
前記送信側情報処理デバイスにおける前記認証情報生成ステップは、前記署名鍵による電子署名を行うことにより認証情報を生成し、
前記受信側情報処理デバイスにおける前記検証ステップは、前記検証鍵を用いて検証を行うことを特徴とする請求項１から６のいずれか１項に記載の情報検証方法。
【請求項９】
耐タンパ性を有する情報処理デバイスと接続する通信端末において、
対象情報に対応して予め定められた検証情報を予め記憶する記憶手段と、
送信対象となる対象情報のダイジェスト情報と、前記対象情報を暗号化して得られた暗号化対象情報のダイジェスト情報と、暗号化するための鍵情報とにより生成された認証情報および暗号化対象情報を受信する受信手段と、
前記受信手段により受信された暗号化対象情報のダイジェスト情報を生成するダイジェスト生成手段と、
前記受信手段により受信された認証情報、前記ダイジェスト生成手段により生成されたダイジェスト情報、および前記記憶手段に記憶されている検証情報を前記情報処理デバイスに出力する出力手段と、
前記出力手段により出力された認証情報、ダイジェスト情報、および検証情報に対する検証結果を前記情報処理デバイスから入力する入力手段と、
を備える通信端末。
【請求項１０】
請求項９に記載の通信端末と接続する情報処理デバイスにおいて、
前記通信端末の通信相手が備える送信側情報処理デバイスから暗号化通信経路を介して送信された鍵情報を受信する暗号化受信手段と、
前記検証情報、前記ダイジェスト情報、および前記認証情報、ならびに前記暗号化受信手段により受信された鍵情報に基づいて、前記認証情報の検証を行う検証手段と、
前記検証手段により認証情報が正当であると判断されると、前記暗号化受信手段により受信された鍵情報を前記通信端末に出力する出力手段と、
を備える情報処理デバイス。
【請求項１１】
請求項９に記載の通信端末に対して対象情報を送信するとともに、耐タンパ性を有する情報処理デバイスと接続する送信側の通信端末において、
前記情報処理デバイスから出力された鍵情報ならびに前記情報処理デバイスにおいて対象情報のダイジェスト情報、暗号化された対象情報のダイジェスト情報および鍵情報に基づいて生成された認証情報を入力する入力手段と、
前記入力手段により入力された鍵情報を用いて対象情報を暗号化する暗号化手段と、
前記暗号化手段により暗号化された暗号化対象情報および前記入力手段により入力された認証情報を、送信あて先に送信する送信手段と、
を備える通信端末。
【請求項１２】
請求項１１に記載の通信端末に接続される情報処理デバイスにおいて、
鍵情報を生成する鍵情報生成手段と、
前記通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成手段と、
前記通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化手段と、
前記デバイス側暗号化手段において暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成手段と、
前記第１の生成手段において生成された第１のダイジェスト情報、前記第２の生成手段において生成された第２のダイジェスト情報、および前記鍵情報生成手段により生成された鍵情報に基づいて認証情報を生成する認証情報生成手段と、
前記認証情報生成手段により生成された認証情報および鍵情報を前記通信端末に出力するデバイス側出力手段と、
暗号化通信経路を確立して前記鍵情報を、前記通信端末の通信あて先である受信側の情報処理デバイスに送信する暗号化送信手段と、
を備える情報処理デバイス。
【請求項１３】
耐タンパ性を有する送信側情報処理デバイスを備える送信側通信端末から送信される対象情報を、耐タンパ性を有する情報処理デバイスを備える受信側通信端末において受信して検証する情報検証システムにおいて、
前記送信側情報処理デバイスにおいて、
鍵情報を生成する鍵情報生成手段と、
前記送信側通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成手段と、
前記送信側通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化手段と、
前記デバイス側暗号化手段において暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成手段と、
前記第１の生成手段において生成された第１のダイジェスト情報、前記第２の生成手段において生成された第２のダイジェスト情報および前記鍵情報生成手段により生成された鍵情報に基づいて認証情報を生成する認証情報生成手段と、
前記認証情報生成手段により生成された認証情報および鍵情報を前記送信側通信端末に出力するデバイス側出力手段と、
暗号化通信経路を確立して前記鍵情報を前記受信側情報処理デバイスに送信する暗号化送信手段と、
を備え、
前記送信側通信端末において、
前記送信側情報処理デバイスから出力された鍵情報および認証情報を入力する手段と、
前記入力手段により入力された鍵情報を用いて対象情報を暗号化する端末側暗号化手段と、
前記端末側暗号化手段により暗号化された暗号化対象情報および前記入力手段により入力された認証情報を、前記受信側通信端末に送信する送信手段と、
を備え、
前記受信側通信端末において、
前記送信手段において送信された認証情報および暗号化対象情報を受信する受信手段と、
前記受信手段において受信された暗号化対象情報に基づいて第３のダイジェスト情報を生成する第３の生成手段と、
前記受信手段において受信された鍵情報および認証情報、ならびに前記対象情報に応じて定められ、予め格納されている検証情報、ならびに前記第３の生成手段において生成された第３のダイジェスト情報を前記受信側情報処理デバイスに出力する端末側出力手段と、
を備え、
前記受信側情報処理デバイスにおいて、
前記暗号化送信手段により暗号化通信経路を介して送信された鍵情報を受信する暗号化受信手段と、
前記端末側出力手段により出力された前記検証情報、前記第３のダイジェスト情報、および前記認証情報、ならびに前記暗号化受信手段により受信された鍵情報に基づいて、認証情報の検証を行う検証手段と、
を備え、
前記検証手段は、前記検証情報と前記認証情報に含まれている第１のダイジェスト情報との一致を検証し、前記第３のダイジェスト情報と前記認証情報に含まれている前記第２のダイジェスト情報との一致を検証し、前記認証情報に含まれている鍵情報と前記暗号化受信手段において受信された鍵情報との一致を検証することを特徴とする情報検証システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、耐タンパ装置を用いた情報検証方法、情報検証装置および情報検証システムに関する。
【背景技術】
【０００２】
電子商取引を安心して利用可能とするためには、取引の公平性を保証することが重要である。たとえば映像データや音楽データなどのコンテンツ情報を購入する際、購入対象となるコンテンツ情報と支払い情報とが、相互に不可分に交換されることを保証する必要がある。二者以上の間で電子情報が相互に不可分に交換されるとき、これを公平な交換（fair exchange）と呼ぶ。
【０００３】
公平な交換を実現する技術として、ＩＣカードなどの信頼できる利用者デバイス（以下、ＰＴＤ：Personal Trusted Deviceと表記する) 上で実行されるプログラムである信頼できるプロセスを用い、公平な交換が信頼できるプロセス間における非ブロック原子コミットメント（ＮＢＡＣ：Non-Blocking Atomic Commitment）と呼ばれる問題に帰着可能であることに基づく方法が提案されている。ＮＢＡＣとは、賛成／反対を初期値として持つ複数のプロセスが、交渉を介して完了（commit）／中止（abort）のいずれかを有限時間内に共通の合意として得ることを意味する（例えば、非特許文献１参照）。
【０００４】
非特許文献１の方法によれば、ＮＢＡＣを用いた公平な交換は以下の手順で実施される (参考：非特許文献１、Fig．3（p．9）)。以下、ＰＴＤ上で実行される信頼できるプロセスをＴ、ＰＴＤと接続された通常の装置（ＵＩＭスロットを備えた携帯電話やＩＣカードリーダライタを備えたＰＣなど。以下、ホストと称する）上で実行される通常のプロセスをＵとする。Ｕは、開始時に、交換の対象となる（相手に渡す）情報ｉと、交換により相手から受けとる情報に対応する検証情報ｄを保持しているものとする。相手から受けとるべき情報をｉ_ｅとしたとき、典型的には、ｄはｉ_ｅの安全なハッシュ値(Ｈ（）をＳＨＡ−１などの安全なハッシュ関数としてｄ＝Ｈ（ｉ_ｅ）)などとして構成される。また、交換する双方のＴは、互いに安全な通信路を介して情報を授受可能なものとする。
１．ＵはＴに情報ｉと検証情報ｄを渡す。
２．Ｔは安全な通信路を介して相手に情報ｉを渡す。
３．Ｔは相手から情報ｉ_ｅを受信する。
４．Ｔは検証情報ｄに対応する情報ｉ_ｅを受信したなら（e.g.ｄ＝Ｈ（ｉ_ｅ）であるなら）ＮＢＡＣの入力値として「賛成」を決定する。もし受信した情報が検証情報ｄに対応しない、もしくは定められた時間内に相手から情報を受信できなかったならば、「反対」を決定する。
５．Ｔは上記の入力値を用いてＮＢＡＣを実行する。
６．ＮＢＡＣの結果が「完了」であるならＴはＵに情報ｉ_ｅを出力して終了する。「中止」であるならＴはＵにその旨を通知して終了する（ｉ_ｅはＵに与えない)。
【０００５】
また、特許文献１は、ＩＣカード等の利用者（ＰＴＤに相当する)間で有限時間内に一貫した合意、すなわちＮＢＡＣを楽観的に得ることができる合意情報取得方法および利用者装置を提供する。なお、ここで楽観的とは、通常時には当事者間のみの相互通信で処理を実行し、処理中に（相手が途中で音信不通になるなど）異常が発生して相互通信のみでは合意が達成できなくなった際にのみ（信頼できる）第三者装置を用いて一貫性を持つ合意を得ることを意味する。
【０００６】
これにより、上記の交換手順で用いられるＮＢＡＣをＰＴＤ上で効率的に実現することができる。
【非特許文献１】ギルダス・アヴォワンヌ(Gildas Avoine)、外５名、”Reducing Fair Exchange to Atomic Commit”、テクニカルレポートＩＣ、２００４年１１月（TechnicalReport IC/2004/11）、［２００７年６月１９日検索］、インターネット＜URL：1184820810423_0.pdf＞
【特許文献１】特開２００７−１２２１６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
交換する情報のデータ量が少ない場合、上記の非特許文献１の方法に大きな問題はない。しかし、上記の方法によれば、交換対象であるｉ(もしくはｉ_ｅ)が音楽コンテンツ・動画コンテンツなどの大容量データであるとき、実際には交換に多大な時間を要する。すなわち、ＰＴＤの実現手段として一般的なＩＣカードの入出力性能の観点から以下の点がボトルネックとなる。
手順１における、Ｔへのｉの入力。
手順２における、Ｔからの（暗号化通信路を介した)ｉの送信。
手順３における、Ｔへの(暗号化通信路を介した)ｉ_ｅの受信。
手順６における、Ｔからのｉ_ｅの出力。
【０００８】
それぞれの手順においては、交換対象のデータ量に比例した通信時間を要する。すなわち、交換対象の情報量をｎとすると、ＰＴＤが入出力しなければならない入出力通信量は約４ｎとなり、これをＰＴＤのＩ／Ｏ速度で除しただけの時間を（交換対象１つあたりに）必要とする。具体的には、ＰＴＤとしてハイエンドのＩＣカードを用いると想定し、そのＩ／Ｏ速度を４００Ｋｂｐｓとすると、ＰＴＤは１秒間に約４０ＫＢ程度の情報を入出力できる。たとえば交換対象のデータサイズが１ＭＢとすると、約４ＭＢの入出力通信量が必要となり、約１００秒程度の時間を要することになる。これは、特に動画などの大容量コンテンツの交換への適用を考慮した場合に実用的な数字とは言い難い。
【０００９】
これを改善するためには、安全性を損なわない範囲でＰＴＤと（信用できない利用者デバイスである）、そのホストとの機能分担をＰＴＤの入出力通信量最適化の観点から見直すことが必要となる。
【００１０】
これは、一見すると、ＰＴＤ間で直接に（暗号化通信路を介して）交換対象を授受することはせず、暗号化鍵の授受のみを行うよう変更を加えることにより達成されるように思われる。すなわち、ＰＴＤ間で交換対象を授受するかわりに、ホスト間で（ＰＴＤが生成する）鍵を用いて暗号化した交換対象を授受し、かつ、ＰＴＤ間ではその暗号化鍵のみを授受する。また、ＮＢＡＣの結果が完了であったとき、ＰＴＤは（相手のＰＴＤから受けとった）暗号化鍵を開示する．これにより、ＰＴＤのＩ／Ｏ通信量は、交換対象のデータ量によらず一定（鍵長等の暗号化パラメータのみに依存）となることが期待される。
【００１１】
しかし、この方針をそのまま実装しようとすると安全性が損なわれる。具体的には、相手から受け取る交換対象の正しさをＮＢＡＣの実行前に検証することができないため、交換相手の不正により、受け取るべき情報ではなく無意味なデータを入手させられるリスクが発生する。たとえば「ある映像コンテンツの対価として電子マネーを支払う」という交換を実行したつもりが、何の意味も持たない「ごみデータ」に対して支払いを行うことになる危険がある。この問題を解決するためには、ＮＢＡＣの実行前に「利用者に情報を漏らすことなく」交換対象の正しさを検証する手段を提供し、検証結果に基づいてＮＢＡＣを実行することが必要となる。
【００１２】
本発明は、上記に鑑みなされたもので、ＰＴＤとホストから構成される利用者装置間で情報を送受する際に、データの入出力量を軽減して円滑な情報の送受を可能とするとともに、データの検証を可能とする情報検証方法、情報検証装置、および情報検証システムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上述の課題を解決するために、本発明の情報検証方法は、耐タンパ性を有する送信側情報処理デバイスを備える送信側通信端末から送信される対象情報を、耐タンパ性を有する情報処理デバイスを備える受信側通信端末が受信して検証する情報検証方法において、前記送信側情報処理デバイスにおいて、鍵情報を生成する鍵情報生成ステップと、前記送信側通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成ステップと、前記送信側通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化ステップと、前記デバイス側暗号化ステップにおいて暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成ステップと、前記第１の生成ステップにおいて生成された第１のダイジェスト情報、前記第２の生成ステップにおいて生成された第２のダイジェスト情報、および前記鍵情報生成ステップにより生成された鍵情報に基づいて認証情報を生成する認証情報生成ステップと、前記認証情報生成ステップにより生成された認証情報および鍵情報を前記送信側通信端末に出力するデバイス側出力ステップと、暗号化通信経路を確立して前記鍵情報を前記受信側情報処理デバイスに送信する暗号化送信ステップと、を備え、前記送信側通信端末において、前記送信側情報処理デバイスから出力された鍵情報および認証情報を入力する入力ステップと、前記入力ステップにより入力された鍵情報を用いて対象情報を暗号化する端末側暗号化ステップと、前記端末側暗号化ステップにより暗号化された暗号化対象情報および前記入力ステップにより入力された認証情報を、前記受信側通信端末に送信する送信ステップと、を備え、前記受信側通信端末において、前記送信ステップにおいて送信された認証情報および暗号化対象情報を受信する受信ステップと、前記受信ステップにおいて受信された暗号化対象情報に基づいて第３のダイジェスト情報を生成する第３の生成ステップと、前記受信ステップにおいて受信された鍵情報および認証情報、ならびに前記対象情報に応じて定められ予め格納されている検証情報、ならびに前記第３の生成ステップにおいて生成された第３のダイジェスト情報を前記受信側情報処理デバイスに出力する端末側出力ステップと、を備え、前記受信側情報処理デバイスにおいて、前記暗号化送信ステップにより暗号化通信経路を介して送信された鍵情報を受信する暗号化受信ステップと、前記端末側出力ステップにより出力された前記検証情報、前記第３のダイジェスト情報、および前記認証情報、ならびに前記暗号化受信ステップにより受信された鍵情報に基づいて認証情報の検証を行う検証ステップと、を備え、前記検証ステップは、前記検証情報と前記認証情報に含まれている第１のダイジェスト情報との一致を検証し、前記第３のダイジェスト情報と前記認証情報に含まれている前記第２のダイジェスト情報との一致を検証し、前記認証情報に含まれている鍵情報と前記暗号化受信ステップにおいて受信された鍵情報との一致を検証する構成を備えている。
【００１４】
この発明によれば、送信側通信端末および送信側情報処理デバイスにおいて、第１のダイジェスト情報、第２のダイジェスト情報および鍵情報に基づいて認証情報を生成し、この認証情報および暗号化対象情報を受信側通信端末に送信し、受信側通信端末および受信側情報処理デバイスにおいて、対象情報に対応する検証情報を予め記憶しておくとともに、暗号化対象情報に基づいて第３のダイジェスト情報を生成し、当該検証情報と第１のダイジェスト情報、第２のダイジェスト情報と第３のダイジェスト情報、および認証情報に含まれている鍵情報と暗号化通信経路を介して得た鍵情報、の一致を判断することで、対象情報の検証を行うことができる。さらに、受信側通信端末と受信側情報処理デバイスとの間で対象情報または暗号化対象情報などの大容量の情報の入出力を行なうことなく、対象情報の検証を実現することができ、検証時間を軽減するとともに検証処理の負荷を軽減することができる。
【００１５】
また、本発明の情報検証方法において、前記受信側情報処理デバイスは、前記検証ステップにおいて検証された検証結果にしたがって鍵情報を前記受信側通信端末に出力する受信デバイス側出力ステップをさらに備え、前記受信側通信端末は、前記受信デバイス側出力ステップにより出力された鍵情報に基づいて前記受信ステップにより受信された暗号化対象情報を復号することが好ましい。
【００１６】
この発明によれば、鍵情報に基づいて受信された暗号化対象情報を復号することができ、検証処理でＯＫの結果を得た場合には、対象情報を得ることができる。
【００１７】
また、本発明の情報検証方法において、前記検証ステップは、前記受信側通信端末から前記送信側端末に対して送信される、前記対象情報と交換される交換情報の送信側検証結果を、前記送信側端末から受信し、前記送信側検証結果および前記検証結果の検証を行い、前記受信デバイス側出力ステップは、前記検証ステップにおける検証結果および前記送信検証結果に従って前記鍵情報を前記受信側通信端末に出力することが好ましい。
【００１８】
この発明によれば、送信側通信端末、送信側情報処理デバイスに対して送信された交換情報の検証が行われ、その検証結果がＯＫである場合に、受信側情報処理デバイスから受信側通信端末に鍵情報が送信され、信頼性が向上した情報の交換処理を行うことができる。すなわち、対象情報としてコンテンツデータ、交換情報として電子マネーである場合、送信側、受信側双方において、検証結果がＯＫである場合にのみ、鍵情報を出力するようにすることで公平性を保った交換処理を行うことができる。
【００１９】
また、本発明の情報検証方法は、前記送信側通信端末において、前記入力ステップにより入力された認証情報および鍵情報を格納する格納ステップをさらに備えることが好ましい。
【００２０】
また、本発明の情報検証方法は、送信側通信端末において、対象情報の送信処理を行うに先立って、前記認証情報および鍵情報が予め格納されているか否かを判断する判断ステップをさらに備え、前記判断ステップにおいて認証情報および鍵情報が格納されていると判断されると、前記送信側情報処理デバイスにおける処理を行うことなく、前記送信側通信端末は、前記暗号化ステップ、前記送信ステップ、前記暗号化送信ステップを実行することが好ましい。
【００２１】
この発明によれば、認証情報および鍵情報が格納されていると判断されると、送信側情報処理デバイスにおける処理を行うことなく、送信側情報送信端末は、暗号化ステップ、送信ステップ、暗号化送信ステップを行うことができ、認証情報および鍵情報の生成、取得処理を省略することができ、処理を軽減することができる。
【００２２】
また、本発明の情報検証方法において、前記第１の生成ステップは、前記対象情報のハッシュ値を算出することで、第１のダイジェスト情報を生成し、前記第２の生成ステップは、前記暗号化対象情報のハッシュ値を算出することで、第２のダイジェスト情報を生成し、前記第３の生成ステップは、前記受信ステップにおいて受信された暗号化対象情報のハッシュ値を算出することで、第３のダイジェスト情報を生成することが好ましい。
【００２３】
この発明によれば、各ダイジェスト情報として、対象情報、暗号化対象情報のハッシュ値を用いることができ、認証情報に用いられる情報の信頼性を向上させることができる。
【００２４】
また、本発明の情報検証方法において、前記送信側情報処理デバイスおよび前記受信側情報処理デバイスは、前記鍵情報とは異なる第２の鍵情報を保持しておき、前記送信側情報処理デバイスにおける前記認証情報生成ステップは、前記第１の生成ステップおよび前記第２の生成ステップにおいて生成された第１のダイジェスト情報および第２のダイジェスト情報ならびに前記鍵情報生成ステップにより生成された鍵情報、および保持されている前記第２の鍵情報に基づいて認証情報を生成し、前記受信側情報処理デバイスにおける前記検証ステップは、前記認証情報に含まれている第２の鍵情報と、前記受信側情報処理デバイスに保持されている第２の鍵情報とが一致しているか否かをさらに検証することが好ましい。
【００２５】
この発明によれば、第１のダイジェスト情報および第２のダイジェスト情報ならびに鍵情報、および保持されている第２の鍵情報に基づいて認証情報を生成し、認証情報に含まれている第２の鍵情報と、受信側情報処理デバイスに保持されている第２の鍵情報とが一致しているか否かをさらに検証することで、対象情報の検証を行うことができ、より高いレベルでの検証を行うことができる。
【００２６】
また、本発明の情報検証方法において、前記送信側情報処理デバイスは、公開鍵暗号における秘密鍵である署名鍵を保持し、前記受信側情報処理デバイスは、前記秘密鍵に対応する公開鍵である検証鍵を保持し、前記送信側情報処理デバイスにおける前記認証情報生成ステップは、前記署名鍵による電子署名を行うことにより認証情報を生成し、前記受信側情報処理デバイスにおける前記検証ステップは、前記検証鍵を用いて検証を行うことが好ましい。
【００２７】
この発明によれば、署名鍵による電子署名を行うことにより認証情報を生成し、検証鍵を用いて検証を行うことで、簡易な処理でかつ高いレベルでの検証を行うことができる。
【００２８】
ところで、本発明は、上記のように情報検証方法の発明として記述できる他に、以下のように、通信端末、情報処理デバイスおよび情報検証システムの発明としても記述することができる。これらはカテゴリーが異なるだけで、実質的に同一の発明であり、同様の作用・効果を奏する。
【００２９】
すなわち、本発明の通信端末は、耐タンパ性を有する情報処理デバイスと接続する通信端末において、対象情報に対応して予め定められた検証情報を予め記憶する記憶手段と、送信対象となる対象情報のダイジェスト情報と、前記対象情報を暗号化して得られた暗号化対象情報のダイジェスト情報と、暗号化するための鍵情報とにより生成された認証情報および暗号化対象情報を受信する受信手段と、前記受信手段により受信された暗号化対象情報のダイジェスト情報を生成するダイジェスト生成手段と、前記受信手段により受信された認証情報、前記ダイジェスト生成手段により生成されたダイジェスト情報、および前記記憶手段に記憶されている検証情報を前記情報処理デバイスに出力する出力手段と、前記出力手段により出力された認証情報、ダイジェスト情報、および検証情報に対する検証結果を前記情報処理デバイスから入力する入力手段と、を備えている。
【００３０】
また、本発明の情報処理デバイスは、上記通信端末と接続する情報処理デバイスにおいて、前記通信端末の通信相手が備える送信側情報処理デバイスから暗号化通信経路を介して送信された鍵情報を受信する暗号化受信手段と、前記検証情報、前記ダイジェスト情報、および前記認証情報、ならびに前記暗号化受信手段により受信された鍵情報に基づいて、前記認証情報の検証を行う検証手段と、前記検証手段により認証情報が正当であると判断されると、前記暗号化受信手段により受信された鍵情報を前記通信端末に出力する出力手段と、を備えている。
また、本発明の送信側の通信端末は、上記通信端末に対して対象情報を送信するとともに、耐タンパ性を有する情報処理デバイスと接続する送信側の通信端末において、前記情報処理デバイスから出力された鍵情報ならびに前記情報処理デバイスにおいて対象情報のダイジェスト情報、暗号化された対象情報のダイジェスト情報および鍵情報に基づいて生成された認証情報を入力する入力手段と、前記入力手段により入力された鍵情報を用いて対象情報を暗号化する暗号化手段と、前記暗号化手段により暗号化された暗号化対象情報および前記入力手段により入力された認証情報を、送信あて先に送信する送信手段と、を備えている。
また、本発明の送信側の通信端末に接続される情報処理デバイスは、鍵情報を生成する鍵情報生成手段と、前記通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成手段と、前記通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化手段と、前記デバイス側暗号化手段において暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成手段と、前記第１の生成手段において生成された第１のダイジェスト情報、前記第２の生成手段において生成された第２のダイジェスト情報、および前記鍵情報生成手段により生成された鍵情報に基づいて認証情報を生成する認証情報生成手段と、前記認証情報生成手段により生成された認証情報および鍵情報を前記通信端末に出力するデバイス側出力手段と、暗号化通信経路を確立して前記鍵情報を、前記通信端末の通信あて先である受信側の情報処理デバイスに送信する暗号化送信手段と、を備えている。
【００３１】
また、本発明の情報検証システムは、耐タンパ性を有する送信側情報処理デバイスを備える送信側通信端末から送信される対象情報を、耐タンパ性を有する情報処理デバイスを備える受信側通信端末において受信して検証する情報検証システムにおいて、前記送信側情報処理デバイスにおいて、鍵情報を生成する鍵情報生成手段と、前記送信側通信端末から入力される送信対象となる対象情報の第１のダイジェスト情報を生成する第１の生成手段と、前記送信側通信端末から入力される送信対象となる対象情報を暗号化するデバイス側暗号化手段と、前記デバイス側暗号化手段において暗号化された暗号化対象情報の第２のダイジェスト情報を生成する第２の生成手段と、前記第１の生成手段において生成された第１のダイジェスト情報、前記第２の生成手段において生成された第２のダイジェスト情報および前記鍵情報生成手段により生成された鍵情報に基づいて認証情報を生成する認証情報生成手段と、前記認証情報生成手段により生成された認証情報および鍵情報を前記送信側通信端末に出力するデバイス側出力手段と、暗号化通信経路を確立して前記鍵情報を前記受信側情報処理デバイスに送信する暗号化送信手段と、を備え、前記送信側通信端末において、前記送信側情報処理デバイスから出力された鍵情報および認証情報を入力する手段と、前記入力手段により入力された鍵情報を用いて対象情報を暗号化する端末側暗号化手段と、前記端末側暗号化手段により暗号化された暗号化対象情報および前記入力手段により入力された認証情報を、前記受信側通信端末に送信する送信手段と、を備え、前記受信側通信端末において、前記送信手段において送信された認証情報および暗号化対象情報を受信する受信手段と、前記受信手段において受信された暗号化対象情報に基づいて第３のダイジェスト情報を生成する第３の生成手段と、前記受信手段において受信された鍵情報および認証情報、ならびに前記対象情報に応じて定められ、予め格納されている検証情報、ならびに前記第３の生成手段において生成された第３のダイジェスト情報を前記受信側情報処理デバイスに出力する端末側出力手段と、を備え、前記受信側情報処理デバイスにおいて、前記暗号化送信手段により暗号化通信経路を介して送信された鍵情報を受信する暗号化受信手段と、前記端末側出力手段により出力された前記検証情報、前記第３のダイジェスト情報、および前記認証情報、ならびに前記暗号化受信手段により受信された鍵情報に基づいて、認証情報の検証を行う検証手段と、を備え、前記検証手段は、前記検証情報と前記認証情報に含まれている第１のダイジェスト情報との一致を検証し、前記第３のダイジェスト情報と前記認証情報に含まれている前記第２のダイジェスト情報との一致を検証し、前記認証情報に含まれている鍵情報と前記暗号化受信手段において受信された鍵情報との一致を検証するよう構成されている。
【発明の効果】
【００３２】
本発明によれば、対象情報の検証を行うことができるとともに、受信側通信端末と受信側情報処理デバイスとの間で対象情報または暗号化対象情報などの大容量の情報の入出力を行なうことなく、対象情報の検証を実現することができ、検証時間を軽減するとともに検証処理の負荷を軽減することができる。
【発明を実施するための最良の形態】
【００３３】
本発明は、一実施形態のために示された添付図面を参照して以下の詳細な記述を考慮することによって容易に理解することができる。引き続いて、添付図面を参照しながら本発明の実施形態を説明する。可能な場合には、同一の部分には同一の符号を付して、重複する説明を省略する。
【００３４】
図１は、本実施形態の情報検証システムにおける送信側の通信端末１００ａおよびＩＣカード２００ａの構成を示すブロック図である。図１に示すように、通信端末１００ａは、通信端末１００ｂと通信接続することができる。また、通信端末１００ａ、１００ｂは、それぞれＩＣカード２００ａ、２００ｂと接続するものである。ここで、ＩＣカード２００ａおよび２００ｂは、耐タンパ性を有する電子計算機であり、接触ないし非接触の端子を用いてそれぞれ通信端末１００ａおよび１００ｂに接続されている。また、通信端末１００ａおよび１００ｂとは、有線ないし無線通信手段を用いて互いに情報を送受信することができる。
【００３５】
また、ＩＣカード２００ａとＩＣカード２００ｂとの間の通信路は，それらＩＣカード２００ａおよびＩＣカード２００ｂが共有する秘密鍵で暗号化されていることが好適である。この秘密鍵は、ＩＣカード２００ａ、２００ｂにおいて、あらかじめ備えさせても良いし、本実施形態における検証方法の実施に先立って、鍵交換プロトコルを実行することにより共有することも好適である。
【００３６】
なお、ＩＣカード２００ａおよび２００ｂは、耐タンパ性を有する情報処理デバイスであることが必須であり、ＩＣカードのほかに携帯電話に用いられるＳＩＭ／ＵＩＭチップなどを用いることが可能である。また、これらのデバイスが物理的に耐タンパ性を備えない場合でも本発明は実施可能であるが、その場合は、ソフトウェア的にもしくは運用によりデバイス上の各処理の処理ロジックが改変されたり、また各処理で用いられる内部データが漏洩しないように対処することが望ましい。この対処が不十分な場合、なんらかの攻撃により検証の失敗もしくは情報の漏洩が発生する可能性があるためである。
【００３７】
つぎに、図１に基づいて、通信端末１００ａおよびＩＣカード２００ａの構成について説明する。通信端末１００ａは、対象情報入力部１０１、出力部１０２、入力部１０３、格納部１０４、判断部１０５、暗号化部１０６、送信部１０７を含んで構成されている。また、ＩＣカード２００ａは、入力部２０１、第１ダイジェスト生成部２０２、暗号化部２０３、第２ダイジェスト生成部２０４、鍵情報生成部２０５、認証情報生成部２０６、出力部２０７を含んで構成されている。
【００３８】
まず、通信端末１００ａの各構成について説明する。対象情報入力部１０１は、通信端末１００ｂに送信する対象となる対象情報であって、通信端末１００ｂから送信される情報との交換対象となる対象情報ｍを入力する部分であり、例えば音楽データ、映像データなどを入力する部分である。対象情報入力部１０１に入力された対象情報ｍは、出力部１０２、暗号化部１０６、判断部１０５にそれぞれ出力される。
これら通信端末１００ａおよびＩＣカード２００ａは、例えば、図９に示されるハードウェアにより構成される。
図９は、通信端末１００ａおよびＩＣカード２００ａのハードウェア構成図である。通信端末１００ａおよびＩＣカード２００ａは、物理的には、図９に示すように、ＣＰＵ１１、主記憶装置であるＲＡＭ１２及びＲＯＭ１３、ハードディスク等の補助記憶装置１５、入力デバイスであるキーボード及びマウス等の入力装置１６、ディスプレイ等の出力装置１７、ネットワークカード等のデータ送受信デバイスである通信モジュール１４、ＵＳＩＭなどのＩＣカード１８などを含むコンピュータシステムとして構成されている。図１および図２において説明する各機能は、図９に示すＣＰＵ１１、ＲＡＭ１２等のハードウェア上に所定のコンピュータソフトウェアを読み込ませることにより、ＣＰＵ１１の制御のもとで通信モジュール１４、入力装置１６、出力装置１７を動作させるとともに、ＲＡＭ１２や補助記憶装置１５におけるデータの読み出し及び書き込みを行うことで実現される。ＩＣカード１８についても同様にＣＰＵ１９、ＲＡＭ２０、ＲＯＭ２１を備え、ＣＰＵ１８の制御のもと処理が実行される。以下、図１および図２に示す機能ブロックに基づいて、各機能を説明する。
【００３９】
出力部１０２は、ＩＣカード２００ａに対象情報ｍはＩＣカード２００ａに出力する部分である。
【００４０】
入力部１０３は、ＩＣカード２００ｂから出力された認証情報ｓおよび鍵情報ｒを入力する部分である。入力部１０３により入力された認証情報ｓおよび鍵情報ｒは、格納部１０４に格納され、また暗号化部１０６および送信部１０７に出力される。
【００４１】
格納部１０４は、入力部１０３から入力された認証情報ｓおよび鍵情報ｒを対象情報ｍに対応付けて格納する部分である。
【００４２】
判断部１０５は、対象情報入力部１０１から対象情報ｍが入力されると、その入力された対象情報ｍに対応する認証情報ｓおよび鍵情報ｒが格納部１０４に格納されているか否かを判断する部分である。認証情報ｓおよび鍵情報ｒが対象情報ｍに対応付けて格納部１０４に格納されていると判断すると、対象情報入力部１０１から入力された対象情報ｍは出力部１０２に出力されることがないよう制御するとともに、通信端末１００ｂに暗号化対象情報ｃならびに格納部１０４に格納されている鍵情報ｒおよび認証情報ｓが送信されるように、暗号化部１０６、送信部１０７を制御する。
【００４３】
暗号化部１０６は、入力部１０３から入力された鍵情報ｒを用いて、対象情報入力部１０１から入力された対象情報ｍを暗号化して、暗号化対象情報ｃを生成する部分である。この暗号化部１０６は、例えばＡＥＳ（Advanced Encryption Standard）などを用いた暗号化処理を行うことができる。
【００４４】
送信部１０７は、暗号化部１０６で暗号化した暗号化対象情報ｃおよび認証情報ｓを通信端末１００ｂに送信する部分である。
【００４５】
つぎに、ＩＣカード２００ａの各構成について説明する。入力部２０１は、通信端末１００ａから対象情報ｍを入力する部分である。
【００４６】
第１ダイジェスト生成部２０２は、入力部２０１により入力された対象情報ｍから第１ダイジェスト情報ｄｍを生成する部分である。具体的には、第１ダイジェスト生成部２０２は、対象情報ｍのハッシュ値を計算し、そのハッシュ値を第１ダイジェスト情報ｄｍとする。例えば、ＳＨＡ−１／２５６／５１２などの一方向性および衝突困難性を備える安全なハッシュ関数を用いることが好適である。なお、本実施形態においては、例えば対象情報ｍのハッシュ値は、Ｈ（ｍ）と表記する。
【００４７】
暗号化部２０３は、入力部２０１から入力された対象情報ｍを暗号化して、暗号化対象情報ｃを生成する部分である。上述したとおり、例えば暗号化方法としてＡＥＳが考えられる。
【００４８】
第２ダイジェスト生成部２０４は、暗号化部２０３により暗号化されて得られた暗号化対象情報ｃに基づいて第２ダイジェスト情報ｄｅを生成する部分であり、例えば、暗号化対象情報ｃのハッシュ値を計算して、そのハッシュ値を第２ダイジェスト情報ｄｅとする部分である。上述のとおり、例えば、ＳＨＡ−１／２５６／５１２などの一方向性および衝突困難性を備える安全なハッシュ関数を用いることが好適である。
【００４９】
鍵情報生成部２０５は、乱数発生器を含み、この乱数発生器から生成した乱数に基づいて鍵情報ｒを生成する部分である。
【００５０】
認証情報生成部２０６は、第１ダイジェスト情報ｄｍ、第２ダイジェスト情報ｄｅ、鍵情報ｒに基づいて認証情報ｓを生成する部分である。この認証情報ｓは、ｓｉｇ（ｄｍ｜ｄｅ｜ｒ）で表現することができるものであって、検証関数にこの認証情報ｓを入力することによって、検証する側では情報の検証を行うことを可能とするものである。例えば、検証関数ｖｅｒ（ｘ、ｓｉｇ（ｘ））＝ＯＫ、検証関数ｖｅｒ（ｘ、ｓｉｇ（ｙ））＝ＮＧ（ｓｉｇ（ｙ）はｓｉｇ（ｘ）でなければ何でもよい）となるような関係を有する情報が認証情報であって、例えばＭＡＣ（Message Authentication Code）または電子署名が有する性質である。例えば、ハッシュ関数を用いたＨＭＡＣ（Keyed-Hashing for MAC）、ＤＳＡ（Digital SignatureAlgorithm）／ＥＣＤＳＡ（EllipticCurve Digital Signature Algorithm）などの電子署名方式を用いることができる。
【００５１】
ＨＭＡＣを用いる場合には、第２の鍵情報ｒ２を通信端末１００ａおよび１００ｂをそれぞれ記憶しておき、通信端末１００ａの認証情報生成部２０６は、第２の鍵情報を用いた認証情報ｓを生成するようにしてもよい。すなわち、認証情報生成部２０６は、認証情報ｓｉｇ（ｄｍ｜ｄｅ｜ｒ｜ｒ２）を生成する。この認証情報を受信する通信端末１００ｂにおいては、予め第２の鍵情報ｒ２を記憶しているため、この認証情報の検証を行うことができる。
【００５２】
出力部２０７は、認証情報生成部２０６により生成された認証情報ｓおよび鍵情報生成部２０５により生成された鍵情報ｒを通信端末１００ａに出力する部分である。
【００５３】
暗号化通信部２０８は、鍵情報生成部２０５により生成された鍵情報をＩＣカード２００ｂに、暗号化経路を確立して送信する部分である。例えば、暗号化通信部２０８で暗号化した暗号化鍵情報を通信端末１００ａおよび１００ｂを介してＩＣカード２００ｂに送信し、ＩＣカード２００ｂでは暗号化鍵情報を復号して鍵情報を安全（第三者などに改竄されること無く）に送信することができるようにするものである。なお、この暗号化通信部２０８により確立される暗号化経路は論理的に確立される経路であり、物理的にＩＣカード間で確立された通信路ではある必要はない。
【００５４】
つぎに、このような通信端末１００ａおよびＩＣカード２００ａにおいて処理され生成された暗号化対象情報ｃおよび認証情報ｓを受信する通信端末１００ｂおよび２００ｂについて説明する。
【００５５】
図２は、通信端末１００ｂおよびＩＣカード２００ｂの構成を示すブロック図である。まず通信端末１００ｂについて説明する。通信端末１００ｂは、受信部１１１、第３ダイジェスト生成部１１２、出力部１１３、検証情報格納部１１４、入力部１１５、および復号部１１６を含んで構成されている。なお、これら通信端末１００ｂおよびＩＣカード２００ｂは、通信端末１００ａおよびＩＣカード２００ａと同様に図９に示されるハードウェアにより構成される。以下、各機能について説明する。
【００５６】
受信部１１１は、通信端末１００ａから送信された暗号化対象情報ｃおよび認証情報ｓを受信する部分である。
【００５７】
第３ダイジェスト生成部１１２は、受信部１１１で受信された暗号化対象情報cの第３ダイジェスト情報ｄｃを生成する部分であり、例えば、暗号化対象情報ｃのハッシュ値を計算して、そのハッシュ値を第３ダイジェスト情報ｄｃとする部分である。上述のとおり、例えば、ＳＨＡ−１／２５６／５１２などの一方向性および衝突困難性を備える安全なハッシュ関数を用いることが好適である。
【００５８】
出力部１１３は、受信部１１１で受信された認証情報ｓ、第３ダイジェスト生成部１１２により生成された第３ダイジェスト情報ｄｃ、検証情報格納部１１４に格納されている検証情報ｄをＩＣカード２００ｂに送信する部分である。
【００５９】
検証情報格納部１１４は、検証情報ｄを格納する部分である。この検証情報ｄは、対象情報ｍに対応するように予め通信端末１００ａのユーザにより生成され、ｗｅｂ等において公開されている情報であって、通信端末１００ｂのユーザによりｗｅｂから取得され、登録された情報である。通信端末１００ｂのユーザは、通信端末１００ａからコンテンツデータである対象情報ｍを取得しようとした場合に、予め対象情報ｍに対応する検証情報ｄを取得しておくことにより、後述する検証を実現することができる。
【００６０】
入力部１１５は、ＩＣカード２００ｂから出力された鍵情報を入力する部分である。
【００６１】
復号部１１６は、受信部１１１により受信された暗号化対象情報ｃを入力部１１５により入力された鍵情報を用いて復号する部分である。復号した対象情報ｍは、データ格納部に格納され、または再生部（図示せず）に出力され、再生部において再生処理が行われる。例えば、音楽データであれば、スピーカから音楽が出力され、映像データであれば、ディスプレイにおいて映像が表示される。
【００６２】
つぎに、ＩＣカード２００ｂについて説明する。ＩＣカード２００ｂは、暗号化通信部２１１、格納部２１２、入力部２１３、検証部２１４、および出力部２１５を含んで構成されている。
【００６３】
暗号化通信部２１１は、ＩＣカード２００ａにおける暗号化通信部２０８との間で暗号化通信路を確立し、ＩＣカード２００ａから送信される鍵情報ｒを受信する部分である。
【００６４】
格納部２１２は、暗号化通信部２１１により受信した鍵情報ｒ１を格納する部分である。なお、説明の便宜上、鍵情報ｒ１と称しているが、これはＩＣカード２００ａから送信される鍵情報ｒである。
【００６５】
入力部２１３は、出力部１１３により出力された認証情報ｓ、第３ダイジェスト情報ｄｃ、検証情報ｄを入力する部分である。
【００６６】
検証部２１４は、入力部２１３により入力された認証情報ｓ、第３ダイジェスト情報ｄｃ、検証情報ｄ、および鍵情報ｒ１に基づいて検証処理を行う部分である。具体的には、検証部２１４は、検証関数ｖｅｒ（ｄ｜ｄｃ｜ｒ１、ｓｉｇ（ｄｍ、ｄｅ、ｒ））を演算し、ＯＫが算出されるか、ＮＧが算出されるかを検出する。つまり、検証情報ｄと第１ダイジェスト情報ｄｍとが一致しているか否かを判断し、第３ダイジェスト情報ｄｃと第２ダイジェスト情報ｄｅとが一致しているか否かを判断し、鍵情報ｒ１と鍵情報ｒとが一致しているか否かを判断し、全てが一致していると判断する場合には、ＯＫが算出されることになる。
【００６７】
例えば、通信端末１００ａにおいて、対象情報ｍの不正処理を行った場合、その不正な暗号化対象情報ｃ１（これは暗号化対象情報ｃではない）を通信端末１００ｂに送信した場合、検証部２１４においては、第３ダイジェスト情報ｄｃ１と第２ダイジェスト情報ｄｅとが不一致となるため、ＮＧが算出されることになる。
【００６８】
また、通信端末１００ａにおいて、第２の鍵情報を用いた認証情報ｓ：ｓｉｇ（ｄ｜ｄｃ｜ｒ｜ｒ２）を生成した場合には、通信端末１００ｂの検証部２１４は、認証情報ｓに含まれている第２の鍵情報ｒ２に対しては、予め通信端末１００ｂに記憶されている第２の鍵情報ｒ２を用いて検証処理を行うことができる。なお、この第２の鍵情報ｒ２は、例えば検証情報格納部１１４に格納させてもよいし、図示しない格納部に格納させてもよい。
【００６９】
出力部２１５は、検証部２１４においてＯＫが算出された場合には、通信端末１００ｂに対して格納部２１２に格納されている鍵情報ｒ１（鍵情報ｒと同じもの）を出力する部分である。なお、検証部２１４においてＮＧが算出された場合には、ＮＧである旨が通信端末１００ｂに出力される。
【００７０】
なお、検証部２１４において、合意手段を備えるようにすることにより、情報の公平な交換を実施することができる。例えば、合意手段とは、「賛成」もしくは「反対」の二値のいずれかの入力を受け、通信端末１００ａおよびＩＣカード２００ａなどの交換の相手が備えるもう一つの合意手段と協調し、「完了」もしくは「中止」の二値のいずれかを出力する手段である。ここで合意手段は、いずれの入力も賛成で、かつ合意の過程で異常が発生しなかった場合は完了を出力し、それ以外の場合は中止を出力する。また、２つの合意手段の出力は一致する（たとえば、合意手段から完了が出力されたなら交換相手の合意手段も完了を出力する）ものとする。
【００７１】
この場合、通信端末１００ａおよびＩＣカード２００ａは、通信端末１００ｂおよびＩＣカード２００ｂと同等の機能構成を備えている。すなわち、通信端末１００ａと通信端末１００ｂ、ＩＣカード２００ａとＩＣカード２００ｂはそれぞれ同じ機能を有する必要がある。すなわち、通信端末１００ａは、通信端末１００ｂの各機能を有し、ＩＣカード２００ａは、ＩＣカード２００ｂの各機能を有する必要がある。また、逆に通信端末１００ｂは、通信端末１００ａの各機能を有し、ＩＣカード２００ｂは、ＩＣカード２００ａの各機能を有する必要がある。
そして、ＩＣカード２００ｂにおける検証部２１４は、ＩＣカード２００ａに備えられている検証部（上述検証部２１４と同等のもの）におけるＯＫ／ＮＧを示す情報を受け取ることにより、両方の検証部においてＯＫが出力された場合にのみ、出力部２１５にＯＫの旨および格納部２１２に格納されている鍵情報ｒ１を出力するように出力部２１５を制御する。このような合意手段として、特許文献１（特開２００７−１２２１６５号公報）に記載の合意情報取得方法および利用者装置を用いることができる。これら処理は、ＩＣカード２００ｂ側からみた観点で説明したが、ＩＣカード２００ａにおいても同様の処理がなされる。
【００７２】
上述した通信端末１００ａおよび１００ｂにおいては、署名鍵および検証鍵を用いた検証を行うようにしてもよい。すなわち、認証情報生成部２０６は、公開鍵暗号における秘密鍵である署名鍵ｓｋを保持し、検証部２１４は、秘密鍵における公開鍵である検証鍵ｐｋを保持しておく。そして、認証情報生成部２０６は、認証情報ｓに対して署名鍵ｓｋを用いて電子署名処理を実行する。通信端末１００ｂの検証部２１４は、電子署名が施された認証情報ｓに対して検証鍵ｐｋを用いて検証可能な電子署名であるか否かを判断する。このように認証情報に対して秘密鍵を用いて電子署名を行うことにより、検証処理に対する信頼性を向上させることができる。
【００７３】
つぎに、上述の通信端末１００ａおよびＩＣカード２００ａの処理について説明する。図３は、本実施形態における通信端末１００ａおよびＩＣカード２００ａの処理を示すフローチャートである。
【００７４】
通信端末１００ａが通信端末１００ｂに送信しようとする対象情報ｍがＩＣカード２００ａに送信される。例えば通信端末１００ａのユーザによる操作により送信操作または対象情報ｍの入力が行われると、通信端末１００ａからＩＣカード２００ａに対象情報ｍが出力部１０２から入力部２０１に出力される（Ｓ１０１）。ＩＣカード２００ａにおいては、入力部２０１により対象情報ｍが入力されると、鍵情報ｒが鍵情報生成部２０５により生成される（Ｓ１０２）。
【００７５】
そして、第１ダイジェスト情報ｄｍが第１ダイジェスト生成部２０２により生成される（Ｓ１０３）。また、対象情報ｍと鍵情報ｒとを用いて暗号化対象情報ｃが暗号化部２０３により生成される（Ｓ１０４）。暗号化対象情報ｃから第２ダイジェスト情報ｄｅが第２ダイジェスト生成部２０４により生成される（Ｓ１０５）。そして、これら第１ダイジェスト情報ｄｍ、第２ダイジェスト情報ｄｅ、および鍵情報ｒを用いて認証情報ｓ：ｓｉｇ（ｄｍ｜ｄｅ｜ｒ）が認証情報生成部２０６により生成され（Ｓ１０６）、出力部２０７から認証情報ｓおよび鍵情報ｒが通信端末１００ａに送信される（Ｓ１０７）。
【００７６】
通信端末１００ａにおいて、認証情報ｓおよび鍵情報ｒが入力部１０３により入力されると（Ｓ１０８）、対象情報入力部１０１から入力された対象情報ｍは入力部１０３により入力された鍵情報ｒを用いて暗号化され、暗号化対象情報ｃが暗号化部１０６により生成される（Ｓ１０９）。そして、生成された暗号化対象情報ｃおよび入力部１０３により入力された認証情報ｓは、送信部１０７により通信端末１００ｂに送信される（Ｓ１１１）。
【００７７】
また、これら処理とは別に、ＩＣカード２００ａとＩＣカード２００ｂとにおいて、暗号化通信路が確立され（Ｓ１１３）、ＩＣカード２００ａの暗号化通信部２０８により鍵情報ｒが、通信端末１００ａおよび１００ｂを介して、ＩＣカード２００ｂに送信される（Ｓ１１４）。ＩＣカード２００ｂにおいては、鍵情報ｒ１として格納部２１２に格納される。
【００７８】
このように通信端末１００ａおよびＩＣカード２００ａにおいて、認証情報ｓおよび鍵情報ｒが生成され、対象情報ｍの受け取り側である通信端末１００ｂおよびＩＣカード２００ｂに送信される。
【００７９】
つぎに、通信端末１００ｂおよびＩＣカード２００ｂの処理について説明する。図４は、通信端末１００ｂおよびＩＣカード２００ｂの処理を示すフローチャートである。通信端末１００ｂにおいて、受信部１１１により暗号化対象情報ｃおよび認証情報ｓが受信されると、暗号化対象情報ｃは第３ダイジェスト生成部１１２に入力され、第３ダイジェスト生成部１１２により、第３ダイジェスト情報ｄｃが生成される（Ｓ２０１）。そして、出力部１１３により、第３ダイジェスト情報ｄｃ、検証情報格納部１１４に格納されている検証情報ｄ、および受信部１１１により受信された認証情報ｓがＩＣカード２００ｂに出力される（Ｓ２０２）。
【００８０】
ＩＣカード２００ｂにおいては、通信端末１００ｂから送信された第３ダイジェスト情報ｄｃ、検証情報ｄ、および認証情報ｓが入力されると（Ｓ２０３）、認証情報ｓの検証処理が行われる（Ｓ２０４）。すなわち、入力された第３ダイジェスト情報ｄｃと認証情報ｓに含まれている第２ダイジェスト情報ｄｅとが一致するか否か、検証情報ｄと認証情報ｓに含まれている第１ダイジェスト情報ｄｍとが一致するか否か、格納部２１２に格納されている鍵情報ｒ１と認証情報ｓに含まれている鍵情報ｒとが一致するか否か、がそれぞれ検証される。
【００８１】
検証の結果、それぞれ一致すると判断されると、出力部２１５により検証がＯＫである旨および鍵情報ｒが通信端末１００ｂに対して出力される（Ｓ２０５）。なお、この検証処理（Ｓ２０４）の前または後に、通信相手である通信端末１００ａおよびＩＣカード２００ａにおいて検証がＯＫである旨の通知を受けったときでかつ、検証部２１４において検証ＯＫであるときのみ、検証がＯＫの旨および鍵情報ｒが通信端末１００ｂに出力されるようにしてもよい。
【００８２】
通信端末１００ｂにおいては、検証ＯＫの旨および鍵情報ｒが入力部１１５により入力され、復号部１１６により、入力部１１５により入力された鍵情報ｒを用いて、先に受信部１１１により受信された暗号化対象情報ｃが復号される（Ｓ２０６）。復号されて得られた対象情報ｍは格納され、または必要に応じて再生処理がなされる。
【００８３】
つぎに、Ｓ２０４における検証処理についてさらに説明する。図５は、ＩＣカード２００ｂにおける検証処理の動作を示すフローチャートである。図５に示すとおり、検証部２１４により検証ＯＫであるか否かが判断される（Ｓ３０１：ＹＥＳ）。ここで、検証ＯＫであると判断されると、鍵情報ｒおよびＯＫの旨が通信端末１００ｂに送信される（Ｓ３０２）。検証ＮＧであると判断されると（Ｓ３０１：ＮＯ）、中止の旨が通信端末１００ｂに送信される（Ｓ３０３）。通信端末１００ｂでは、検証ＯＫの旨が送信されると、上述のとおり復号処理が行われる。検証ＮＧの旨が送信されると、復号処理が行われること無く、通信端末１００ｂのユーザに対して検証ＮＧの旨のメッセージが出力される。
【００８４】
このようにＩＣカード２００ｂに暗号化対象情報ｃが入力されることが無いため、通信端末１００ｂとＩＣカード２００ｂとの間でのデータの入出力量を低減することができるとともに、暗号化対象情報の検証処理の信頼度を向上させることができる。
【００８５】
以上の処理における概念処理について説明する。図６および図７は、通信端末１００ａ、ＩＣカード２００ａ、通信端末１００ｂおよびＩＣカード２００ｂにおける処理の概念図である。
【００８６】
図６に示すように、通信端末１００ａには対象情報ｍが保持されており、ＩＣカード２００ａに対して対象情報ｍは出力される。ＩＣカード２００ａにおいては、鍵情報生成部２０５（乱数発生器）に基づいて鍵情報ｒが生成され、対象情報ｍの第１ダイジェスト情報ｄｍ（：ｄ（ｍ））が生成され、また、暗号化対象情報ｃの第２ダイジェスト情報ｄｃ（：ｄ（ｃ）＝ｄ（Ｅｒ（ｍ）））が生成され、認証情報ｓ（：ｓｉｇ（ｄｍ｜ｄｃ｜ｒ））が生成される。なお、Ｅｒは暗号化処理を示し、ｄはダイジェスト情報の生成を示す。ＩＣカード２００ａにおいてこれら情報が生成されると、認証情報ｓおよび鍵情報ｒが通信端末１００ａに出力される。
【００８７】
つぎに、図７に示すとおり、通信端末１００ａには、対象情報ｍ、鍵情報ｒ、認証情報ｓが保持されており、通信端末１００ａから暗号化対象情報ｃおよび認証情報ｓが、通信端末１００ｂに送信される。また、ＩＣカード２００ａとＩＣカード２００ｂとの間には暗号化通信路が確立されており、この暗号化通信路を通って、鍵情報ｒが送信される。
【００８８】
通信端末１００ｂでは、予め検証情報ｄが保持されており、受信された暗号化対象情報ｃにダイジェスト情報である第３ダイジェスト情報ｄｃが生成され、ＩＣカード２００ｂに検証情報ｄ、第３ダイジェスト情報ｄｃ、認証情報ｓが出力される。ＩＣカード２００ｂでは、検証関数ｖｅｒ（ｄｍ｜ｄｃ｜ｒ、ｓ）が演算され、検証処理が行われ、その検証結果（ＯＫ／ＮＧ）が通信端末１００ｂに出力される。
【００８９】
以上の処理により、通信端末１００ｂからＩＣカード２００ｂには、暗号化対象情報ｃの送受信が行われることなく、通信端末１００ｂとＩＣカード２００ｂとの間の入出力の処理負荷を軽減することができる。
【００９０】
つぎに、格納部１０４に認証情報ｓおよび鍵情報ｒが格納されているか否かを判断部１０５が判断することにより、認証情報ｓおよび鍵情報ｒの生成処理を省略するときの処理について説明する。なお、この処理を行わない場合には、格納部１０４および判断部１０５は本実施形態においては必須の構成とならない。図８は、格納部１０４に認証情報ｓおよび鍵情報ｒが格納されているか否かを判断部１０５が判断するときの通信端末１００ａの処理を示すフローチャートである。
【００９１】
まず、通信端末１００ａにおいてユーザが対象情報ｍを送信しようと操作を行うと、判断部１０５により格納部１０４に、当該対象情報ｍに対応する認証情報ｓおよび鍵情報ｒが格納されているか否かが判断される（Ｓ４０１）。ここで、格納されていると判断されると、暗号化部１０６により格納部１０４から鍵情報ｒが取り出され、暗号化対象情報ｃが暗号化部１０６により生成される（Ｓ４０２）。そして、送信部１０７により暗号化対象情報ｃおよび認証情報ｓが送信される（Ｓ４０６）。
【００９２】
また、対象情報ｍに対応する認証情報ｓおよび鍵情報ｒが格納されていないと判断されると、対象情報ｍはＩＣカード２００ａに送信される（Ｓ４０３）。そして、ＩＣカード２００ａにおいて、認証情報ｓおよび鍵情報ｒの生成処理が行われ（図３のＳ１０２〜Ｓ１０７）、ＩＣカード２００ａから認証情報ｓおよび鍵情報ｒが、入力部１０３により入力される（Ｓ４０４）。ここで、入力された認証情報ｓおよび鍵情報ｒは、格納部１０４に対象情報ｍと対応付けて記憶することが好ましい。格納部１０４に格納することで、後で、再度対象情報ｍを送信しようとした場合に、格納部１０４から認証情報ｓおよび鍵情報ｒを読み出すだけでよく、認証情報ｓおよび鍵情報ｒの生成処理の負荷を軽減することができる。
【００９３】
つぎに、本実施形態の情報検証システムを構成する通信端末１００ａ、１００ｂ、ＩＣカード２００ａ、２００ｂの作用効果について説明する。
【００９４】
耐タンパ性を有するＩＣカード２００ａを備える通信端末１００ａから送信される対象情報ｍを、耐タンパ性を有するＩＣカード２００ｂを備える通信端末１００ｂが受信して検証する情報検証システムにおいて、以下の処理が行われる。すなわち、ＩＣカード２００ａにおいて、鍵情報生成部２０５が鍵情報ｒを生成し、第１ダイジェスト生成部２０２および第２ダイジェスト生成部２０４は、対象情報ｍの第１ダイジェスト情報および暗号化対象情報ｃの第２ダイジェスト情報を生成する。
【００９５】
そして、第１ダイジェスト情報ｄｍ、第２ダイジェスト情報ｄｅ、鍵情報ｒから認証情報ｓを認証情報生成部２０６が生成する。出力部２０７は、ここで生成された認証情報ｓおよび鍵情報ｒを通信端末１００ａに出力する。一方、暗号化通信部２０８は、暗号化通信経路を確立して鍵情報ｒをＩＣカード２００ｂに送信する。
【００９６】
また、通信端末１００ａにおいて、ＩＣカード２００ａから入力された鍵情報ｒおよび認証情報ｓを入力部１０３が入力し、暗号化部１０６は入力された鍵情報ｒを用いて対象情報ｍを暗号化する。そして、送信部１０７は、暗号化された暗号化対象情報ｃおよび入力された認証情報ｓを、通信端末１００ｂに送信する。
【００９７】
通信端末１００ｂにおいては、受信部１１１は、通信端末１００ａから送信された認証情報ｓおよび暗号化対象情報ｃを受信する。受信された暗号化対象情報ｃに基づいて、第３ダイジェスト生成部１１２は、第３ダイジェスト情報ｄｃを生成する。受信部１１１において受信された鍵情報ｒおよび認証情報ｓ、ならびに対象情報ｍに応じて定められ、予め格納されている検証情報ｄ、生成された第３ダイジェスト情報ｄｃを、出力部１１３はＩＣカード２００ｂに出力する。
【００９８】
ＩＣカード２００ｂにおいて、暗号化通信部２１１は、ＩＣカード２００ａから暗号化通信経路を介して送信された鍵情報ｒを受信し、格納部２１２に格納する。また、検証情報ｄ、第３ダイジェスト情報ｄｃ、および認証情報ｓ、ならびに格納部２１２に格納されている鍵情報ｒ１（鍵情報ｒ）に基づいて、検証部２１４は対象情報ｍの検証、すなわち、対象情報ｍが、予め記憶されている検証情報ｄに対応するものであるか否かの検証を行う。ここで検証部２１４は、検証情報ｄと認証情報ｓに含まれている第１ダイジェスト情報ｄｍとの一致を検証し、第３ダイジェスト情報ｄｃと認証情報に含まれている第２ダイジェスト情報ｄｅとの一致を検証し、認証情報ｓに含まれている鍵情報ｒと格納部２１２に格納されている鍵情報ｒ１との一致を検証する。これにより、検証部２１４は、対象情報ｍが正当なものであるか否かを判断することができる。
【００９９】
これにより、対象情報ｍの検証を行うことができるとともに、通信端末１００ｂとＩＣカード２００ｂとの間で対象情報ｍまたは暗号化対象情報ｃなどの大容量の情報の入出力を行なうことなく、対象情報ｍの検証を実現することができ、検証時間を軽減するとともに検証処理の負荷を軽減することができる。
【０１００】
また、ＩＣカード２００ｂの出力部２１５において、検証部２１４において検証結果がＯＫである場合には、その旨および鍵情報ｒを通信端末１００ｂに出力し、通信端末１００ｂでは鍵情報ｒを用いた復号処理を行って対象情報ｍを取得することができる。これにより、検証結果がＯＫである場合に、対象情報ｍを取得することができる。
【０１０１】
また、検証部２１４において、対象情報ｍと交換される交換情報の通信端末１００ａまたはＩＣカード２００ａにおける検証結果を受信し、その検証結果および検証部２１４における検証結果にしたがって鍵情報ｒを通信端末１００ｂに出力することができる。これにより、信頼性が向上した情報の交換処理を行うことができ、公平性を保った交換処理を行うことができる。
【０１０２】
また、格納部１０４にＩＣカード２００ａから入力された認証情報ｓおよび鍵情報ｒを格納しておき、判断部１０５において、認証情報ｓおよび鍵情報ｒが格納されていると判断されると、ＩＣカード２００ａにおける処理を行うことなく、通信端末１００ｂは、暗号化処理、送信処理、暗号化送信処理を行うことができ、認証情報ｓおよび鍵情報ｒの生成、取得処理を省略することができ、処理を軽減することができる。
【０１０３】
また、第１ダイジェスト生成部２０２、第２ダイジェスト生成部２０４、第３ダイジェスト生成部１１２において生成される各ダイジェスト情報は、対象情報ｍ、暗号化対象情報ｃのハッシュ値を用いることができ、認証情報ｓなどに用いられる情報の信頼性を向上させることができる。
【０１０４】
また、認証情報生成部２０６は、第１ダイジェスト情報ｄｍおよび第２ダイジェスト情報ｄｅならびに鍵情報ｒ、および保持されている第２の鍵情報ｒ２に基づいて認証情報ｓを生成し、検証部２１４は、認証情報ｓに含まれている第２の鍵情報ｒ２と、ＩＣカード２００ｂに保持されている第２の鍵情報ｒ２とが一致しているか否かをさらに検証することで、対象情報ｍの検証を行うことができ、より高いレベルでの検証を行うことができる。
【０１０５】
また、認証情報生成部２０６は、署名鍵ｓｋによる電子署名を行うことにより認証情報ｓを生成し、検証部２１４は、検証鍵ｐｋを用いて検証を行うことで、簡易な処理でかつ高いレベルでの検証を行うことができる。
【図面の簡単な説明】
【０１０６】
【図１】本実施形態の情報検証システムにおける送信側の通信端末１００ａおよびＩＣカード２００ａの構成を示すブロック図である。
【図２】通信端末１００ｂおよびＩＣカード２００ｂの構成を示すブロック図である。
【図３】本実施形態における通信端末１００ａおよびＩＣカード２００ａの処理を示すフローチャートである。
【図４】通信端末１００ｂおよびＩＣカード２００ｂの処理を示すフローチャートである。
【図５】ＩＣカード２００ｂにおける検証処理の動作を示すフローチャートである。
【図６】通信端末１００ａおよびＩＣカード２００ａにおける処理の概念図である。
【図７】通信端末１００ｂおよびＩＣカード２００ｂにおける処理の概念図である。
【図８】認証情報ｓおよび鍵情報ｒが予め記憶されているときの通信端末１００ａの処理を示すフローチャートである。
【図９】本実施形態の通信端末１００ａおよびＩＣカード２００ａのハードウェア構成図である。
【符号の説明】
【０１０７】
１００ａ…通信端末、１００ｂ…通信端末、１０１…対象情報入力部、１０２…出力部、１０３…入力部、１０４…格納部、１０５…判断部、１０６…暗号化部、１０７…送信部、１１１…受信部、１１２…ダイジェスト生成部、１１３…出力部、１１４…検証情報格納部、１１５…入力部、１１６…復号部、２００ａ…ＩＣカード、２００ｂ…ＩＣカード、２０１…入力部、２０２…第１ダイジェスト生成部、２０３…暗号化部、２０４…第２ダイジェスト生成部、２０５…鍵情報生成部、２０６…認証情報生成部、２０７…出力部、２０８…暗号化通信部、２１１…暗号化通信部、２１２…格納部、２１３…入力部、２１４…検証部、２１５…出力部。
【図１】
0005057270.tif 000002
【図２】
0005057270.tif 000003
【図３】
0005057270.tif 000004
【図４】
0005057270.tif 000005
【図５】
0005057270.tif 000006
【図６】
0005057270.tif 000007
【図７】
0005057270.tif 000008
【図８】
0005057270.tif 000009
【図９】
0005057270.tif 000010