(57)【要約】【課題】演算量を削減しつつ秘密鍵の安全な共有を可能にすること。【解決手段】ホスト装置２では、乱数r1を複数の鍵の中から選択した鍵Kxによって暗号化して伝文E1を生成するとともに、その鍵Kxのハッシュ値hxをキーワードK0を鍵として用いて暗号化して伝文Ex'を生成する。そして、伝文E1,Ex'を伝文M1に変換して通信相手先のクライアント装置３に送信する一方、クライアント装置３から伝文E2を受信する。さらに、伝文E2を逆変換して伝文E2,Ey'を得て、伝文Ey'をキーワードK0を秘密鍵として用いて復号することにより、鍵Kyのハッシュ値hyを得る。そして、ハッシュ値hyと複数の鍵のハッシュ値hy'の一致を確認することにより鍵Kyを選択し、鍵Kyを用いて伝文E2を復号することにより、乱数r2を得る。さらに、乱数r1,r2を用いて暗号化通信用のセッション鍵Ｋｓを生成する。【選択図】図１
2015162889.tif 000002
【特許請求の範囲】
【請求項１】
通信相手先の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信装置であって、
第１の乱数を生成する乱数生成手段と、
通信相手先の認証用のキーワード情報を保持する情報記憶手段と、
前記第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化手段と、
前記第１の秘密鍵に所定の一方向関数を適用することによって前記第１の秘密鍵の関数値を得る計算手段と、
前記第１の秘密鍵の関数値を、前記キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化手段と、
前記第１の暗号化情報と前記第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換手段と、
前記第１の伝送情報を前記通信相手先の通信装置に送信し、前記通信相手先の通信装置から第２の伝送情報を受信する通信手段と、
前記第２の伝送情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換手段と、
前記第４の暗号化情報を前記キーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号手段と、
前記第２の秘密鍵の関数値と前記複数の鍵の関数値とが一致する鍵を、前記複数の鍵の中から選択する選択手段と、
前記選択手段で選択された鍵を用いて前記第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号手段と、
前記第１及び第２の乱数を用いて、前記通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と
を備える暗号化通信装置。
【請求項２】
第１の通信装置と第２の通信装置とを備え、前記第１の通信装置と前記第２の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信システムであって、
前記第１の通信装置は、
第１の乱数を生成する乱数生成手段と、
通信相手先の認証用のキーワード情報を保持する情報記憶手段と、
前記第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化手段と、
前記第１の秘密鍵に所定の一方向関数を適用することによって前記第１の秘密鍵の関数値を得る計算手段と、
前記第１の秘密鍵の関数値を、前記キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化手段と、
前記第１の暗号化情報と前記第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換手段と、
前記第１の伝送情報を前記第２の通信装置に送信し、前記第２の通信装置から第２の伝送情報を受信する通信手段と、
前記第２の伝送情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換手段と、
前記第４の暗号化情報を前記キーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号手段と、
前記第２の秘密鍵の関数値と前記複数の鍵の関数値とが一致する鍵を、前記複数の鍵の中から選択する選択手段と、
前記選択手段で選択された鍵を用いて前記第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号手段と、
前記第１及び第２の乱数を用いて、前記通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有し、
前記第２の通信装置は、
第２の乱数を生成する乱数生成手段と、
通信相手先の認証用の前記キーワード情報を保持する情報記憶手段と、
前記第２の乱数を、前記複数の鍵から選択することによって得られた第２の秘密鍵によって暗号化して、第３の暗号化情報を生成する第１の暗号化手段と、
前記第２の秘密鍵に前記所定の一方向関数を適用することによって前記第２の秘密鍵の関数値を得る計算手段と、
前記第２の秘密鍵の関数値を、前記キーワード情報を秘密鍵として用いて暗号化して、第４の暗号化情報を生成する第２の暗号化手段と、
前記第３の暗号化情報と前記第４の暗号化情報とを前記所定の変換規則によって第２の伝送情報に変換する情報変換手段と、
前記第２の伝送情報を前記第１の通信装置に送信し、前記第１の通信装置から第１の伝送情報を受信する通信手段と、
前記第１の伝送情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第１の暗号化情報と第２の暗号化情報に逆変換する情報逆変換手段と、
前記第２の暗号化情報を前記キーワード情報を秘密鍵として用いて復号して、第１の秘密鍵の関数値を得る第１の復号手段と、
前記第１の秘密鍵の関数値と前記複数の鍵の関数値とが一致する鍵を、前記複数の鍵の中から選択する選択手段と、
前記選択手段で選択された鍵を用いて前記第１の暗号化情報を復号することによって、第１の乱数を得る第２の復号手段と、
前記第１及び第２の乱数を用いて、前記通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有する
暗号化通信システム。
【請求項３】
通信相手先の通信装置との間で共通鍵暗号を用いた暗号化通信を行う暗号化通信方法であって、
乱数生成手段が、第１の乱数を生成する乱数生成ステップと、
情報記憶手段が、通信相手先の認証用のキーワード情報を保持する情報記憶ステップと、
第１の暗号化手段が、前記第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化ステップと、
計算手段が、前記第１の秘密鍵に所定の一方向関数を適用することによって前記第１の秘密鍵の関数値を得る計算ステップと、
第２の暗号化手段が、前記第１の秘密鍵の関数値を、前記キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化ステップと、
情報変換手段が、前記第１の暗号化情報と前記第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換ステップと、
通信手段が、前記第１の伝送情報を前記通信相手先の通信装置に送信し、前記通信相手先の通信装置から第２の伝送情報を受信する通信ステップと、
情報逆変換手段が、前記第２の伝送情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換ステップと、
第１の復号手段が、前記第４の暗号化情報を前記キーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号ステップと、
選択手段が、前記第２の秘密鍵の関数値と前記複数の鍵の関数値とが一致する鍵を、前記複数の鍵の中から選択する選択ステップと、
第２の復号手段が、前記選択手段で選択された鍵を用いて前記第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号ステップと、
鍵生成手段が、前記第１及び第２の乱数を用いて、前記通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップと
を備える暗号化通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化通信装置、暗号化通信システム、及び暗号化通信方法に関する。
【背景技術】
【０００２】
従来から、情報処理装置間でデータを送受信する際には、通信路上での第三者によるデータの傍受、あるいは受信装置になりすました第三者によるデータの受信及び読み取りを回避するために、装置間の認証及び通信データの暗号化が行われている。例えば、下記特許文献１には、ネットワークプリンタ等で公開鍵暗号方式を用いて第三者に対して印刷データの内容を秘匿する方法が開示されている。このような公開鍵暗号は秘密鍵の共有を必要としない点で利点があるが、鍵生成処理、あるいは暗号化／復号処理の計算量が多くなり、処理負荷が高くなる傾向にある。また、下記特許文献２，３には、暗号化／復号処理の計算量が比較的少ない暗号化方式である共通鍵暗号方式が提案されている。さらに、下記特許文献４には、上記の従来の共通鍵暗号方式を用いた装置よりも簡便な方法を採用した暗号化通信システムが提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３０６２７３号公報
【特許文献２】特開２００６−１３５９３１号公報
【特許文献３】特開２００６−２７０３４８号公報
【特許文献４】特開２０１２−５００７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献２，３に記載された共通鍵暗号化方法では、送信装置及び受信装置間で秘密鍵の共有を必要とするため、その秘密鍵を安全に共有するための処理が複雑化するという問題があった。また、上記特許文献４に記載された共通鍵暗号化方法では、鍵を特定するために総当たりで復号を行うため、計算量が比較的多くなる傾向にあった。
【０００５】
そこで、本発明は、かかる課題に鑑みて為されたものであり、演算量を削減しつつ秘密鍵の安全な共有を可能にする暗号化通信装置、暗号化通信システム、及び暗号化通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の暗号化通信装置は、通信相手先の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信装置であって、第１の乱数を生成する乱数生成手段と、通信相手先の認証用のキーワード情報を保持する情報記憶手段と、第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化手段と、第１の秘密鍵に所定の一方向関数を適用することによって第１の秘密鍵の関数値を得る計算手段と、第１の秘密鍵の関数値を、キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化手段と、第１の暗号化情報と第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換手段と、第１の伝送情報を通信相手先の通信装置に送信し、通信相手先の通信装置から第２の伝送情報を受信する通信手段と、第２の伝送情報を、所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換手段と、第４の暗号化情報をキーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号手段と、第２の秘密鍵の関数値と複数の鍵の関数値とが一致する鍵を、複数の鍵の中から選択する選択手段と、選択手段で選択された鍵を用いて第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号手段と、第１及び第２の乱数を用いて、通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段とを備える。
【０００７】
或いは、本発明の暗号化通信方法は、通信相手先の通信装置との間で共通鍵暗号を用いた暗号化通信を行う暗号化通信方法であって、乱数生成手段が、第１の乱数を生成する乱数生成ステップと、情報記憶手段が、通信相手先の認証用のキーワード情報を保持する情報記憶ステップと、第１の暗号化手段が、第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化ステップと、計算手段が、第１の秘密鍵に所定の一方向関数を適用することによって第１の秘密鍵の関数値を得る計算ステップと、第２の暗号化手段が、第１の秘密鍵の関数値を、キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化ステップと、情報変換手段が、第１の暗号化情報と第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換ステップと、通信手段が、第１の伝送情報を通信相手先の通信装置に送信し、通信相手先の通信装置から第２の伝送情報を受信する通信ステップと、情報逆変換手段が、第２の伝送情報を、所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換ステップと、第１の復号手段が、第４の暗号化情報をキーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号ステップと、選択手段が、第２の秘密鍵の関数値と複数の鍵の関数値とが一致する鍵を、複数の鍵の中から選択する選択ステップと、第２の復号手段が、選択手段で選択された鍵を用いて第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号ステップと、鍵生成手段が、第１及び第２の乱数を用いて、通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップとを備える。
【０００８】
或いは、本発明の暗号化通信システムは、第１の通信装置と第２の通信装置とを備え、第１の通信装置と第２の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信システムであって、第１の通信装置は、第１の乱数を生成する乱数生成手段と、通信相手先の認証用のキーワード情報を保持する情報記憶手段と、第１の乱数を、複数の鍵から選択することによって得られた第１の秘密鍵によって暗号化して、第１の暗号化情報を生成する第１の暗号化手段と、第１の秘密鍵に所定の一方向関数を適用することによって第１の秘密鍵の関数値を得る計算手段と、第１の秘密鍵の関数値を、キーワード情報を秘密鍵として用いて暗号化して、第２の暗号化情報を生成する第２の暗号化手段と、第１の暗号化情報と第２の暗号化情報とを所定の変換規則によって第１の伝送情報に変換する情報変換手段と、第１の伝送情報を第２の通信装置に送信し、第２の通信装置から第２の伝送情報を受信する通信手段と、第２の伝送情報を、所定の変換規則に対応する所定の逆変換規則によって、第３の暗号化情報と第４の暗号化情報に逆変換する情報逆変換手段と、第４の暗号化情報をキーワード情報を秘密鍵として用いて復号して、第２の秘密鍵の関数値を得る第１の復号手段と、第２の秘密鍵の関数値と複数の鍵の関数値とが一致する鍵を、複数の鍵の中から選択する選択手段と、選択手段で選択された鍵を用いて第３の暗号化情報を復号することによって、第２の乱数を得る第２の復号手段と、第１及び第２の乱数を用いて、通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有し、第２の通信装置は、第２の乱数を生成する乱数生成手段と、通信相手先の認証用のキーワード情報を保持する情報記憶手段と、第２の乱数を、複数の鍵から選択することによって得られた第２の秘密鍵によって暗号化して、第３の暗号化情報を生成する第１の暗号化手段と、第２の秘密鍵に所定の一方向関数を適用することによって第２の秘密鍵の関数値を得る計算手段と、第２の秘密鍵の関数値を、キーワード情報を秘密鍵として用いて暗号化して、第４の暗号化情報を生成する第２の暗号化手段と、第３の暗号化情報と第４の暗号化情報とを所定の変換規則によって第２の伝送情報に変換する情報変換手段と、第２の伝送情報を第１の通信装置に送信し、第１の通信装置から第１の伝送情報を受信する通信手段と、第１の伝送情報を、所定の変換規則に対応する所定の逆変換規則によって、第１の暗号化情報と第２の暗号化情報に逆変換する情報逆変換手段と、第２の暗号化情報をキーワード情報を秘密鍵として用いて復号して、第１の秘密鍵の関数値を得る第１の復号手段と、第１の秘密鍵の関数値と複数の鍵の関数値とが一致する鍵を、複数の鍵の中から選択する選択手段と、選択手段で選択された鍵を用いて第１の暗号化情報を復号することによって、第１の乱数を得る第２の復号手段と、第１及び第２の乱数を用いて、通信相手先の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有する。
【０００９】
本発明に係る暗号化通信装置、暗号化通信方法、或いは暗号化通信システムによれば、暗号化通信装置が、第１の乱数を複数の鍵の中から選択した第１の秘密鍵によって暗号化して第１の暗号化情報を生成するとともに、その第１の秘密鍵の関数値を計算し、その第１の秘密鍵の関数値をキーワード情報を秘密鍵として用いて暗号化して第２の暗号化情報を生成する。そして、第１の暗号化情報及び第２の暗号化情報を第１の伝送情報に変換して通信相手先の通信装置に送信する一方、通信相手先の通信装置から第２の伝送情報を受信する。さらに、第２の伝送情報を逆変換して第３の暗号化情報及び第４の暗号化情報を得て、第４の暗号化情報をキーワード情報を秘密鍵として用いて復号することにより、第２の秘密鍵の関数値を得る。そして、第２の秘密鍵の関数値と複数の鍵の関数値の一致を確認することにより、複数の鍵から鍵を選択し、選択した鍵を用いて第３の暗号化情報を復号することにより、第２の乱数を得る。さらに、第１乱数及び得られた第２の乱数を用いて暗号化通信用のセッション鍵を生成する。これにより、通信相手先との異なる暗号鍵により暗号化された一往復の通信により、２つの乱数が暗号化通信装置間で共有可能にされる。特に、第３者が通信を傍受したとしても、認証用のキーワード情報、複数の鍵、第１の伝送情報の変換／逆変換方法、第２の伝送情報の変換／逆変換手法、暗号化／復号方法の全てを知らなければ、セッション鍵生成のために交換される情報を知ることはできず、そのセッション鍵の生成方法を知らなければ通信を傍受することはできない。また、従来の暗号化通信システムのように、交換認証キーワードが通信路上に伝送されることはないし、正しい鍵を特定するために総当たりで復号を行うような演算量の大きい処理は不要である。その結果、演算量を削減しつつ秘密鍵の安全な共有を実現できる。
【発明の効果】
【００１０】
本発明によれば、演算量を削減しつつ秘密鍵の安全な共有を可能にする暗号化装置、暗号化通信システム、及び暗号化通信方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の好適な一実施形態に係る暗号化通信システムの機能構成を示すブロック図である。
【図２】図１の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図３】図１の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図４】図１の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図５】図１の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の一実施形態に係る暗号化通信装置、暗号化通信システム、及び暗号化通信方法について図面を参照しながら説明する。
【００１３】
図１に示すように、暗号化通信システム１は、暗号化通信装置として機能する情報通信装置であるホスト装置２、及びホスト装置２の通信相手先であるクライアント装置３を備え、ホスト装置２とクライアント装置３とがＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）等の通信ネットワークＮＷを介して互いに暗号化されたデータの送受信、すなわち暗号化通信が可能なように構成されている。このような暗号化通信システム１の例としては、コンピュータ端末とネットワークプリンタによって構成され、コンピュータ端末からネットワークプリンタに対してＩＤカード印刷用の個人情報、またはＩＤカード記録用の個人情報を送信するＩＤカード作成システムが挙げられる。この場合、ホスト装置２に相当する発行制御装置は、個人情報を含む発行用データベースを内部或いは外部に持っている。既に記憶された情報を外部から媒体又は通信手段で受け取る、或いは情報を保持するホストシステムと、人物を直接撮影するか、又は申請書等の写真を読み取ることにより顔画像を取得する撮影装置とから構成されていてもよい。クライアント装置３に対応する装置としては、例えば、ＩＤカード発行用プリンタ、ＩＣカード書き込み用装置、或いはその他の情報処理装置等が想定される。
【００１４】
まず、ホスト装置２の各構成要素の機能について詳細に説明する。ホスト装置２は、機能的な構成要素として、乱数生成器（乱数生成手段）１０１、鍵選択部１０２、第１暗号化部（第１の暗号化手段）１０３、ハッシュ値算出部（計算手段）１０４、第２暗号化部（第２の暗号化手段）１０５、情報変換部（情報変換手段）１０６、データ通信部（通信手段）１０７、情報逆変換部（情報逆変換手段）１０８、第１復号部（第１の復号手段）１０９、鍵選択部（選択手段）１１０、第２復号部（第２の復号手段）１１１、鍵生成部（鍵生成手段）１１２、キーワード情報記憶部（情報記憶手段）１１３、及び鍵リスト記憶部１１４を備えている。
【００１５】
乱数生成器１０１は、ホスト装置２とクライアント装置３との間での暗号化通信に用いるセッション鍵（秘密鍵）の共有処理時に、第１の乱数ｒ1を生成する。例えば、乱数生成器１０１は、疑似乱数生成器、又はハードウェア乱数生成器を用いて乱数r1を生成する。乱数生成器１０１は、生成した乱数ｒ1を第１暗号化部１０３及び鍵生成部１１２に渡す。
【００１６】
鍵選択部１０２は、セッション鍵の共有処理時に予め鍵リスト記憶部１１４に記憶された初期交換用秘密鍵リストＬの中から任意の鍵Kxを選択し、第１暗号化部１０３及びハッシュ値算出部１０４に出力する。この初期交換用秘密鍵リストLは、ホスト装置２とクライアント装置３との間で共有されており、数件〜十数件程度の電子鍵を含んでいる。初期交換用秘密鍵リストLは、予めファームウェアに組み込まれるか、或いはホスト装置２の設置時に設定するなど、通信手段を用いない方法で共有される。さらに、初期交換用秘密鍵リストLに含まれる鍵は、後述するハッシュ関数Fを用いてハッシュ値を計算した場合にすべての鍵でハッシュ値が衝突（合致）しないように選択されている必要がある。ここで、鍵選択部１０２は、初期交換用秘密鍵リストＬの中から鍵Kxを選択するために乱数生成器１０１の生成する乱数r1を用いてもよいし、乱数生成器１０１に別の乱数を生成させてその乱数を用いてもよいし、時刻情報などの再現性のない情報を使用してもよい。
【００１７】
第１暗号化部１０３は、乱数生成器１０１から渡された第１の乱数r1を、鍵選択部１０２から出力された鍵Kxを用いて、共通鍵暗号を用いて暗号化することによって、暗号伝文E1（第１の暗号化情報）を生成する。そして、第１暗号化部１０３は生成した暗号伝文E1を情報変換部１０６に出力する。
【００１８】
ハッシュ値算出部１０４は、鍵選択部１０２によって選択された鍵Kxに、予め定められた所定のハッシュ関数（一方向関数）Fを適用することにより、鍵Kxのハッシュ値（関数値）hxを生成する。このハッシュ関数Fは、SHA-1などの暗号学的ハッシュ関数が適用されるほか、計算コストと安全性を勘案してCRCなどのチェックサム又はフィンガープリント用のアルゴリズムをハッシュ関数として適用されてもよい。また、安全性を最大限確保しつつ計算負荷を削減するため、暗号学的ハッシュ関数で予め計算された初期交換用秘密鍵リストＬに含まれる鍵のハッシュ値が、リストとして鍵リスト記憶部１１４に記憶されており、ホスト装置２とクライアント装置３間で共有されていてもよい。このとき、ハッシュ値算出部１０４は、鍵選択部１０２により選択された鍵Kxに応じて、鍵リスト記憶部１１４から鍵Kxのハッシュ値hxを選択して読み出すように動作する。
【００１９】
第２暗号化部１０５は、ハッシュ値算出部１０４から得られたハッシュ値hxを、キーワード情報記憶部１１３に記憶された交換認証用キーワードK0を秘密鍵として用いて、共通鍵暗号を用いて暗号化することによって、鍵情報暗号伝文（第２の暗号化情報）Ex'を生成する。この交換認証用キーワードK0は、クライアント装置３との間で互いの通信相手先の認証を行うための情報でありホスト装置２とクライアント装置３との間で予め共有されており、共通鍵暗号及び復号のための鍵として用いられるために、必要な強度を持つ適切な長さのものが選定される。交換認証用キーワードK0は、予めファームウェアに組み込まれるか、或いはホスト装置２の設置時に設定するなど、通信手段を用いない方法で共有される。
【００２０】
また、第１暗号化部１０３及び第２暗号化部１０５で用いられる暗号化方式は、十分な強度を持つ共通鍵暗号化方式であれば特に種類は問われない。第１暗号化部１０３と第２暗号化部１０５とで同じ暗号化方式を用いてもよいし、異なる暗号化方式を用いてもよい。第１暗号化部１０３及び第２暗号化部１０５で用いられる暗号化方式を実現するプログラムは、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。
【００２１】
情報変換部１０６は、鍵情報暗号伝文Ex'と暗号伝文E1とを、所定の変換規則A1を用いて変換及び接続して送信伝文（第１の伝送情報）M1を得る。ここでいう「所定の変換規則A1」は、可逆的に変換できる規則であればよく、鍵情報暗号伝文Ex'と暗号伝文E1とをこの順で連結したビット列に変換する規則や、鍵情報暗号伝文Ex'と暗号伝文E1とを１ビットずつ交互に連結したビット列に変換する規則等が挙げられる。この変換規則A1、及びこれに対応する逆変換規則A1'は、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。情報変換部１０６は、変換した送信伝文M1をデータ通信部１０７に出力する。
【００２２】
データ通信部１０７は、情報変換部１０６から渡された送信伝文M1を、クライアント装置３に送信する。また、データ通信部１０７は、ホスト装置２とクライアント装置３との間でのセッション鍵の共有処理の最中に、クライアント装置３から送信伝文（第２の伝送情報）M2を受信し、受信した伝文M2を情報逆変換部１０８に引き渡す。
【００２３】
情報逆変換部１０８は、データ通信部１０７から渡された伝文M2を、所定の逆変換規則a1'を用いて逆変換して、鍵情報暗号伝文（第４の暗号化情報）Ey'と暗号伝文（第３の暗号化情報）E2とに分離する。この所定の逆変換規則a1'は、後述するクライアント装置３の情報変換部２０６によって用いられる変換規則a1に対応するものである。例えば、変換規則a1が鍵情報暗号伝文Ey'と暗号伝文E2とを連結したビット列に変換する規則である場合は、逆変換規則a1'は、伝文Mを構成するビット列を分離して鍵情報暗号伝文Ey'と暗号伝文E2とに再生するような規則である。この逆変換規則a1'、及びこれに対応する変換規則a1は、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。また、情報逆変換部１０８は、逆変換した鍵情報暗号伝文Ey'と暗号伝文E2とを、それぞれ、第１復号部１０９及び第２復号部１１１に引き渡す。
【００２４】
第１復号部１０９は、情報逆変換部１０８から渡された鍵情報暗号伝文Ey'を、交換認証用キーワードK0を秘密鍵として用いて、共通鍵暗号を用いて復号することによって、ハッシュ値hyを生成する。また、第１復号部１０９は、生成したハッシュ値hyを鍵選択部１１０に引き渡す。
【００２５】
鍵選択部１１０は、鍵リスト記憶部１１４から初期交換用秘密鍵リストLに含まれるｎ個の鍵を順次読み出してハッシュ関数Fによりハッシュ値hy'を生成する。そして、鍵選択部１１０は、順次生成したハッシュ値hy'と第１復号部１０９から出力されたハッシュ値hyを比較することによって、ハッシュ値hyと一致するハッシュ値hy'を有する鍵Kyを初期交換用秘密鍵リストLの中から選択する。また、鍵選択部１１０は、選び出した鍵Kyを第２復号部１１１に出力する。
【００２６】
第２復号部１１１は、情報逆変換部１０８から渡された暗号伝文E2を、鍵Kyを秘密鍵として用いて、共通鍵暗号を用いて復号することによって、乱数r2を生成する。また、第２復号部１１１は、生成した乱数r2を鍵生成部１１２に引き渡す。
【００２７】
ここで必要な復号処理を行うために、第１復号部１０９は後述するクライアント装置３の第１暗号化部２０３と同じ暗号方式を用い、第２復号部１１１は後述するクライアント装置３の第２暗号化部２０５と同じ暗号方式を用いる。第１復号部１０９及び第２復号部１１１で用いられる復号処理を実現するプログラムは、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。
【００２８】
鍵生成部１１２は、乱数生成器１０１によって生成された第１の乱数r1と、第２復号部１１１によって復号された第２の乱数r2とを用いて、クライアント装置３との暗号化通信用のセッション鍵Ｋｓを生成する。例えば、鍵生成部１１２は、第１の乱数r1と第２の乱数r2とをＸＯＲ演算することによってセッション鍵Ｋｓを生成してもよいし、第１の乱数r1と第２の乱数r2とを１バイトずつ交互に連結することによってセッション鍵Ｋｓを生成してもよい。このセッション鍵Ｋｓの生成方法は、乱数r1,r2から共通鍵暗号に必要な鍵を生成することができる方法であればよく、乱数r1,r2の長さと共通鍵暗号に必要な鍵長との間に相違があった場合には適正な長さの鍵を生成するような方法が採用される。セッション鍵Ｋｓの生成方法は、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。鍵生成部１１２により生成されたセッション鍵Ｋｓは、ホスト装置２とクライアント装置３との間での以降の共通鍵暗号化方式を用いた暗号化通信において用いられる。このセッション鍵Ｋｓは、次回のセッション鍵の共有処理まで有効とされる。
【００２９】
次に、クライアント装置３の各構成要素の機能について詳細に説明する。クライアント装置３は、機能的な構成要素として、乱数生成器（乱数生成手段）２０１、鍵選択部２０２、第１暗号化部（第１の暗号化手段）２０３、ハッシュ値算出部（計算手段）２０４、第２暗号化部（第２の暗号化手段）２０５、情報変換部（情報変換手段）２０６、データ通信部（通信手段）２０７、情報逆変換部（情報逆変換手段）２０８、第１復号部（第１の復号手段）２０９、鍵選択部（選択手段）２１０、第２復号部（第２の復号手段）２１１、鍵生成部（鍵生成手段）２１２、キーワード情報記憶部（情報記憶手段）２１３、及び鍵リスト記憶部２１４を備えている。
【００３０】
乱数生成器２０１は、ホスト装置２とクライアント装置３との間での暗号化通信に用いるセッション鍵（秘密鍵）の共有処理時に、第２の乱数r2を生成する。例えば、乱数生成器２０１は、ホスト装置２と同様な手順で乱数r2を生成する。乱数生成器２０１は、生成した乱数ｒ2を第１暗号化部２０３及び鍵生成部２１２に渡す。
【００３１】
鍵選択部２０２は、セッション鍵の共有処理時に予め鍵リスト記憶部２１４に記憶された初期交換用秘密鍵リストＬの中から任意の鍵Kyを選択し、第１暗号化部２０３及びハッシュ値算出部２０４に出力する。ここで、鍵選択部２０２は、初期交換用秘密鍵リストＬの中から鍵Kyを選択するために乱数生成器２０１の生成する乱数r2を用いてもよいし、乱数生成器２０１に別の乱数を生成させてその乱数を用いてもよいし、時刻情報などの再現性のない情報を使用してもよい。
【００３２】
第１暗号化部２０３は、乱数生成器２０１から渡された第２の乱数r2を、鍵選択部２０２から出力された鍵Kyを用いて、共通鍵暗号を用いて暗号化することによって、暗号伝文E2（第３の暗号化情報）を生成する。そして、第１暗号化部２０３は生成した暗号伝文E2を情報変換部２０６に出力する。
【００３３】
ハッシュ値算出部２０４は、鍵選択部２０２によって選択された鍵Kyに、予め定められた所定のハッシュ関数Fを適用することにより、鍵Kyのハッシュ値hyを生成する。このハッシュ関数Fは、予めホスト装置２との間で共有されている。また、安全性を最大限確保しつつ計算負荷を削減するため、暗号学的ハッシュ関数で予め計算された初期交換用秘密鍵リストＬに含まれる鍵のハッシュ値が、リストとして鍵リスト記憶部２１４に記憶されており、ホスト装置２とクライアント装置３間で共有されていてもよい。このとき、ハッシュ値算出部２０４は、鍵選択部２０２により選択された鍵Kyに応じて、鍵リスト記憶部２１４から鍵Kyのハッシュ値hyを選択して読み出すように動作する。
【００３４】
第２暗号化部２０５は、ハッシュ値算出部２０４から得られたハッシュ値hyを、キーワード情報記憶部２１３に記憶された交換認証用キーワードK0を秘密鍵として用いて、共通鍵暗号を用いて暗号化することによって、鍵情報暗号伝文（第４の暗号化情報）Ey'を生成する。交換認証用キーワードK0は、予めファームウェアに組み込まれるか、或いはクライアント装置３の設置時に設定するなど、通信手段を用いない方法で共有される。
【００３５】
また、第１暗号化部２０３及び第２暗号化部２０５で用いられる暗号化方式は、十分な強度を持つ共通鍵暗号化方式であれば特に種類は問われない。第１暗号化部２０３と第２暗号化部２０５とで同じ暗号化方式を用いてもよいし、異なる暗号化方式を用いてもよい。第１暗号化部２０３及び第２暗号化部２０５で用いられる暗号化方式を実現するプログラムは、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。
【００３６】
情報変換部２０６は、鍵情報暗号伝文Ey'と暗号伝文E2とを、所定の変換規則a1を用いて変換及び接続して送信伝文（第２の伝送情報）M2を得る。ここでいう「所定の変換規則a1」は、可逆的に変換できる規則であればよく、鍵情報暗号伝文Ey'と暗号伝文E2とをこの順で連結したビット列に変換する規則や、鍵情報暗号伝文Ey'と暗号伝文E2とを１ビットずつ交互に連結したビット列に変換する規則等が挙げられる。この変換規則a1、及びこれに対応する逆変換規則a1'は、予めファームウェアに組み込まれる形でクライアント装置３とホスト装置２間で共有される。情報変換部２０６は、変換した送信伝文M2をデータ通信部２０７に出力する。
【００３７】
データ通信部２０７は、情報変換部２０６から渡された送信伝文M2を、ホスト装置２に送信する。また、データ通信部２０７は、ホスト装置２とクライアント装置３との間でのセッション鍵の共有処理の最中に、ホスト装置２から送信伝文M1を受信し、受信した伝文M1を情報逆変換部２０８に引き渡す。
【００３８】
情報逆変換部２０８は、データ通信部２０７から渡された伝文M1を、所定の逆変換規則A1'を用いて逆変換して、鍵情報暗号伝文Ex'と暗号伝文E1とに分離する。この所定の逆変換規則A1'は、ホスト装置２の情報変換部１０６によって用いられる変換規則A1に対応するものである。例えば、変換規則A1が鍵情報暗号伝文Ex'と暗号伝文E1とを連結したビット列に変換する規則である場合は、逆変換規則A1'は、伝文Mを構成するビット列を分離して鍵情報暗号伝文Ex'と暗号伝文E1とに再生するような規則である。この逆変換規則A1'、及びこれに対応する変換規則A1は、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。また、情報逆変換部２０８は、逆変換した鍵情報暗号伝文Ex'と暗号伝文E1とを、それぞれ、第１復号部２０９及び第２復号部２１１に引き渡す。
【００３９】
第１復号部２０９は、情報逆変換部２０８から渡された鍵情報暗号伝文Ex'を、交換認証用キーワードK0を秘密鍵として用いて、共通鍵暗号を用いて復号することによって、ハッシュ値hxを生成する。また、第１復号部２０９は、生成したハッシュ値hxを鍵選択部２１０に引き渡す。
【００４０】
鍵選択部２１０は、鍵リスト記憶部２１４から初期交換用秘密鍵リストLに含まれるｎ個の鍵を順次読み出してハッシュ関数Fによりハッシュ値hx'を生成する。そして、鍵選択部２１０は、順次生成したハッシュ値hx'と第１復号部２０９から出力されたハッシュ値hxを比較することによって、ハッシュ値hxと一致するハッシュ値hx'を有する鍵Kxを初期交換用秘密鍵リストLの中から選択する。また、鍵選択部２１０は、選び出した鍵Kxを第２復号部２１１に出力する。
【００４１】
第２復号部２１１は、情報逆変換部２０８から渡された暗号伝文E1を、鍵Kxを秘密鍵として用いて、共通鍵暗号を用いて復号することによって、乱数r1を生成する。また、第２復号部２１１は、生成した乱数r1を鍵生成部２１２に引き渡す。
【００４２】
ここで必要な復号処理を行うために、第１復号部２０９はホスト装置２の第１暗号化部１０３と同じ暗号方式を用い、第２復号部２１１はホスト装置２の第２暗号化部１０５と同じ暗号方式を用いる。第１復号部２０９及び第２復号部２１１で用いられる復号処理を実現するプログラムは、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。
【００４３】
鍵生成部２１２は、乱数生成器２０１によって生成された第２の乱数r2と、第２復号部２１１によって復号された第１の乱数r1とを用いて、ホスト装置２との暗号化通信用のセッション鍵Ｋｓを生成する。例えば、鍵生成部２１２は、第１の乱数r1と第２の乱数r2とをＸＯＲ演算することによってセッション鍵Ｋｓを生成してもよいし、第１の乱数r1と第２の乱数r2とを１バイトずつ交互に連結することによってセッション鍵Ｋｓを生成してもよい。このセッション鍵Ｋｓの生成方法は、乱数r1,r2から共通鍵暗号に必要な鍵を生成することができる方法であればよく、乱数r1,r2の長さと共通鍵暗号に必要な鍵長との間に相違があった場合には適正な長さの鍵を生成するような方法が採用される。セッション鍵Ｋｓの生成方法は、予めファームウェアに組み込まれる形でホスト装置２とクライアント装置３間で共有される。鍵生成部２１２により生成されたセッション鍵Ｋｓは、ホスト装置２とクライアント装置３との間での以降の共通鍵暗号化方式を用いた暗号化通信において用いられる。このセッション鍵Ｋｓは、次回のセッション鍵の共有処理まで有効とされる。
【００４４】
以下、暗号化通信システム１によるセッション鍵の共有処理時の動作について説明するとともに、本実施形態にかかる暗号化通信方法について詳述する。図２〜５は、暗号化通信システム１におけるセッション鍵共有処理時の動作を示すフローチャートである。
【００４５】
まず、図２を参照して、暗号化通信の開始を契機に、ホスト装置２の乱数生成器１０１によって第１の乱数r1が生成される（ステップＳ１０１）。次に、ホスト装置２の鍵選択部１０２によって、初期交換用秘密鍵リストLから任意の鍵Kxが選択される（ステップＳ１０２）。そして、ホスト装置２のハッシュ値算出部１０４によって、ハッシュ関数Fを用いて鍵Kxのハッシュ値hxが生成される（ステップＳ１０３）。その後、ホスト装置２の第２暗号化部１０５によって、交換認証用キーワードK0を鍵として用いた共通鍵暗号方式によって、ハッシュ値hxを基に鍵情報暗号伝文Ex'が生成される（ステップＳ１０４）。それとともに、ホスト装置２の第１暗号化部１０３により、乱数r1が鍵Kxを用いて暗号化されることによって、暗号伝文E1が取得される（ステップＳ１０５）。さらに、ホスト装置２の情報変換部１０６により、鍵情報暗号伝文Ex'と暗号伝文E1とを所定の変換規則A1で変換することにより、送信伝文M1が生成される（ステップＳ１０６）。そして、ホスト装置２のデータ通信部１０７によって、クライアント装置３に向けて、送信伝文M1が送信される（ステップＳ１０７）。
【００４６】
図３に移って、これに対して、クライアント装置３のデータ通信部２０７により、ホスト装置２から送信伝文M1が受信される（ステップＳ２０１）。次に、クライアント装置３の情報逆変換部２０８により、送信伝文M1を所定の逆変換規則A1'で逆変換することにより、鍵情報暗号伝文Ex'と暗号伝文E1とに分離される（ステップＳ２０２）。さらに、クライアント装置３の第１復号部２０９により、鍵情報暗号伝文Ex'が交換認証用キーワードK0を用いて復号されることにより、鍵Kxのハッシュ値hxが得られる（ステップＳ２０３）。続いて、クライアント装置３の鍵選択部２１０によって、整数パラメータIがI=0に設定される（Ｓ２０４）。次に、鍵選択部２１０によって、初期交換用秘密鍵リストLの中から１つの鍵が選択された後に、ハッシュ関数Fを用いて、選択した鍵のハッシュ値hx'が生成される（ステップＳ２０５）。その後、鍵選択部２１０によって、ハッシュ値hx'がハッシュ値hxに一致しているか否かが判定される（ステップＳ２０６）。判定の結果、ハッシュ値が一致していない場合（ステップＳ２０６；Ｎｏ）、鍵選択部２１０により、整数パラメータIが初期交換用秘密鍵リストLの鍵数nから1を減じた数n-1と一致しているか否かが判定される（ステップＳ２０７）。判定の結果、整数パラメータIが数n-1に一致していない場合（ステップＳ２０７；Ｎｏ）、整数パラメータＩに1が加算（ステップＳ２０８）されてから処理がステップＳ２０５に戻されることにより、初期交換用秘密鍵リストLからの次の鍵の選択、及びハッシュ値の比較が繰り返される。一方、整数パラメータＩが数n-1に一致している場合（ステップＳ２０７；Ｙｅｓ）、すなわち、初期交換用秘密鍵リストLから既に最後の鍵が選択されている場合には、データ通信部２０７により、伝文M1と同じデータ長の乱数が生成されてホスト装置２に返信され（ステップＳ２０９）、セッション鍵の共有処理が異常終了する。すなわち、ホスト装置２から得られた鍵Kxのハッシュ値hxが初期交換用秘密鍵リストLに含まれるいずれの鍵のハッシュ値hx'とも一致しない場合には、通信相手が正しいホスト装置２ではないと判断され、受信伝文が破棄された後に、本来伝文M2として期待される伝文と同じ長さの適当な乱数が生成されて返信される。これは、通信路を観察した際の挙動を正常／異常時で一致させるための動作である。
【００４７】
図４を参照して、上記の判定の結果、鍵選択部２１０によって、ハッシュ値hx'がハッシュ値hxに一致していると判定された場合（ステップＳ２０６；Ｙｅｓ）、クライアント装置３の第２復号部２１１により、ハッシュ値hx'に対応する鍵Kxを用いて、暗号伝文E1が復号されることにより、第１の乱数r1が取得される（ステップＳ３０１）。次に、クライアント装置３の乱数生成器２０１によって第２の乱数r2が生成される（ステップＳ３０２）。さらに、クライアント装置３の鍵選択部２０２によって、初期交換用秘密鍵リストLから任意の鍵Kyが選択される（ステップＳ３０３）。そして、クライアント装置３のハッシュ値算出部２０４によって、ハッシュ関数Fを用いて鍵Kyのハッシュ値hyが生成される（ステップＳ３０４）。その後、クライアント装置３の第２暗号化部２０５によって、交換認証用キーワードK0を鍵として用いた共通鍵暗号方式によって、ハッシュ値hyを基に鍵情報暗号伝文Ey'が生成される（ステップＳ３０５）。それとともに、クライアント装置３の第１暗号化部２０３により、乱数r2が鍵Kyを用いて暗号化されることによって、暗号伝文E2が取得される（ステップＳ３０６）。さらに、クライアント装置３の情報変換部２０６により、鍵情報暗号伝文Ey'と暗号伝文E2とを所定の変換規則a1で変換することにより、送信伝文M2が生成される（ステップＳ３０７）。そして、クライアント装置３のデータ通信部２０７によって、ホスト装置２に向けて、送信伝文M2が送信される（ステップＳ３０８）。最後に、クライアント装置３の鍵生成部２１２により、乱数r1,r2を基にセッション鍵Ｋｓが生成される（ステップＳ３０９）。
【００４８】
図５に移って、これに対して、ホスト装置２のデータ通信部１０７により、クライアント装置３から送信伝文M2が受信される（ステップＳ４０１）。次に、ホスト装置２の情報逆変換部１０８により、送信伝文M2を所定の逆変換規則a1'で逆変換することにより、鍵情報暗号伝文Ey'と暗号伝文E2とに分離される（ステップＳ４０２）。さらに、ホスト装置２の第１復号部１０９により、鍵情報暗号伝文Ey'が交換認証用キーワードK0を用いて復号されることにより、鍵Kyのハッシュ値hyが得られる（ステップＳ４０３）。続いて、ホスト装置２の鍵選択部１１０によって、整数パラメータIがI=0に設定される（ステップＳ４０４）。次に、鍵選択部１１０によって、初期交換用秘密鍵リストLの中から１つの鍵が選択された後に、ハッシュ関数Fを用いて、選択した鍵のハッシュ値hy'が生成される（ステップＳ４０５）。その後、鍵選択部１１０によって、ハッシュ値hy'がハッシュ値hyに一致しているか否かが判定される（ステップＳ４０６）。判定の結果、ハッシュ値が一致していない場合（ステップＳ４０６；Ｎｏ）、鍵選択部１１０により、整数パラメータIが初期交換用秘密鍵リストLの鍵数nから1を減じた数n-1と一致しているか否かが判定される（ステップＳ４０７）。判定の結果、整数パラメータIが数n-1に一致していない場合（ステップＳ４０７；Ｎｏ）、整数パラメータＩに1が加算（ステップＳ４０８）されてから処理がステップＳ４０５に戻されることにより、初期交換用秘密鍵リストLからの次の鍵の選択、及びハッシュ値の比較が繰り返される。一方、整数パラメータＩが数n-1に一致している場合（ステップＳ４０７；Ｙｅｓ）、すなわち、初期交換用秘密鍵リストLから既に最後の鍵が選択されている場合には、セッション鍵の共有処理が異常終了する。すなわち、ホスト装置２が得た鍵Kyのハッシュ値hyが初期交換用秘密鍵リストLに含まれるいずれの鍵のハッシュ値hy'とも一致しない場合には、通信相手が正しいクライアント装置３ではないと判断され、通信が中止される。
【００４９】
上記の判定の結果、ホスト装置２の鍵選択部１１０によって、ハッシュ値hy'がハッシュ値hyに一致していると判定された場合（ステップＳ４０６；Ｙｅｓ）、ホスト装置２の第２復号部１１１により、ハッシュ値hy'に対応する鍵Kyを用いて、暗号化伝文E2が復号されることにより、第２の乱数r2が取得される（ステップＳ４０９）。最後に、ホスト装置２の鍵生成部１１２により、乱数r1,r2を基にセッション鍵Ｋｓが生成される（ステップＳ４１０）。
【００５０】
以上説明した暗号化通信システム１及び暗号化通信方法によれば、通信相手先との異なる暗号鍵により暗号化された一往復の通信により、２つの乱数r1,r2がホスト装置２とクライアント装置３との間で共有可能にされる。特に、第３者が通信を傍受したとしても、認証用のキーワードK0、初期交換用秘密鍵リストLに含まれる複数の鍵、変換規則A1／逆変換規則A1'、変換規則a1／逆変換規則a1'、共通鍵暗号化方式、及びそれに対応する復号方式の全てを知らなければ、セッション鍵Ｋｓの生成のために交換される情報を知ることはできず、そのセッション鍵Ｋｓの生成方法を知らなければ通信を傍受することはできない。また、従来の暗号化通信システムのように、交換認証キーワードが通信路上に伝送されることはないし、正しい鍵を特定するために総当たりで復号を行うような演算量の大きい処理は不要である。その結果、演算量を削減しつつ秘密鍵の安全な共有を実現できる。
【００５１】
また、攻撃者がクライアント装置３を装ってホスト装置２からの通信を受け取った場合も、同様に、変換規則A1／逆変換規則A1'、変換規則a1／逆変換規則a1'、交換認証用キーワードK0、共通鍵暗号化方式、及びそれに対応する復号方式の全てを知らなければ正しい応答を返すことは出来ず、クライアント装置になりすますことはできない。また、攻撃者がホスト装置２を装ってクライアント装置３に伝文を送った場合、正しい情報でない場合には乱数を生成して応答するため、攻撃者は解析に必要な有意な情報を得ることは出来ない。
【００５２】
さらには、仮に交換認証用キーワードK0が流出したとしても、セッション鍵Ｋｓの生成方法、変換規則A1／逆変換規則A1'、及び変換規則a1／逆変換規則a1'の全てを知らなければセッション鍵Ｋｓを得て通信情報を復号することはできない。
【００５３】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限られるものではない。例えば、上記実施形態の暗号化通信システム１としては、ホスト装置２及びクライアント装置３を含むＩＤカード作成システムを想定していたが、本発明は２つの通信装置間で暗号化通信が実行可能な通信システムに広く適用することができる。
【符号の説明】
【００５４】
１…暗号化通信システム、２…ホスト装置、３…クライアント装置、１０１，２０１…乱数生成器、１０２，２０２…鍵選択部、１０３，２０３…第１暗号化部、１０４，２０４…ハッシュ値算出部、１０５，２０５…第２暗号化部、１０６，２０６…情報変換部、１０７，２０７…データ通信部、１０８，２０８…情報逆変換部、１０９，２０９…第１復号部、１１０，２１０…鍵選択部、１１１，２１１…第２復号部、１１２，２１２…鍵生成部、１１３，２１３…キーワード情報記憶部、１１４，２１４…鍵リスト記憶部。
【図１】
2015162889.tif 000003
【図２】
2015162889.tif 000004
【図３】
2015162889.tif 000005
【図４】
2015162889.tif 000006
【図５】
2015162889.tif 000007