説明

暗号化通信システム及び暗号化通信方法

【課題】簡便な手順で秘密鍵の安全な共有を可能にすること。
【解決手段】暗号化通信システム1を構成するホスト装置2及びクライアント装置3は、乱数を生成する乱数生成器21,31と、キーワード情報及び秘密鍵リストを保持する情報記憶部23,25,33,35と、乱数及びキーワード情報を平文情報に変換する情報変換部22,32と、平文情報を秘密鍵リストから選択した秘密鍵によって暗号化する暗号化部24,34と、暗号化情報を送受信するするデータ通信部26,36と、暗号化情報を秘密鍵リストから選択した秘密鍵によって復号して平文情報を生成する復号部27,37と、平文情報を乱数及びキーワード情報に逆変換する情報逆変換部28,38と、キーワード情報が予め保持されたキーワード情報に一致した場合に、共有化された2つの乱数を用いてセッション鍵を生成する鍵生成部29,39とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、暗号化通信システム及び暗号化通信方法に関する。
【背景技術】
【0002】
従来から、情報処理装置間でデータを送受信する際には、通信路上での第三者によるデータの傍受、あるいは受信装置になりすました第三者によるデータの受信及び読み取りを回避するために、装置間の認証及び通信データの暗号化が行われている。例えば、下記特許文献1には、ネットワークプリンタ等で公開鍵暗号方式を用いて第三者に対して印刷データの内容を秘匿する方法が開示されている。このような公開鍵暗号は秘密鍵の共有を必要としない点で利点があるが、鍵生成処理、あるいは暗号化/復号処理の計算量が多くなり、処理負荷が高くなる傾向にある。また、下記特許文献2,3には、暗号化/復号処理の計算量が比較的少ない暗号化方式である共通鍵暗号方式が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−306273号公報
【特許文献2】特開2006−135931号公報
【特許文献3】特開2006−270348号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献2,3に記載された共通鍵暗号化方法では、送信装置及び受信装置間で秘密鍵の共有を必要とするため、その秘密鍵を安全に共有するための処理が複雑化するという問題があった。
【0005】
そこで、本発明は、かかる課題に鑑みて為されたものであり、簡便な手順で秘密鍵の安全な共有を可能にする暗号化通信システム及び暗号化通信方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本発明の暗号化通信システムは、第1の通信装置と第2の通信装置とを備え、第1の通信装置と第2の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信システムであって、第1の通信装置は、第1の乱数を生成する乱数生成手段と、通信相手先の認証用のキーワード情報を保持する情報記憶手段と、第1の乱数及びキーワード情報を、所定の変換規則によって第1の平文情報に変換する情報変換手段と、第1の平文情報を、複数の鍵から選択することによって得られた第1の秘密鍵によって暗号化して、第1の暗号化情報を生成する暗号化手段と、第1の暗号化情報を第2の通信装置に送信し、第2の通信装置から第2の暗号化情報を受信する通信手段と、第2の暗号化情報を複数の鍵から選択した第2の秘密鍵によって復号して、第2の平文情報を生成する復号手段と、第2の平文情報を、所定の変換規則に対応する所定の逆変換規則によって、第2の乱数及びキーワード情報に逆変換する情報逆変換手段と、情報逆変換手段によって得られたキーワード情報が、情報記憶手段によって保持されたキーワード情報に一致した場合に、第1及び第2の乱数を用いて、第2の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有し、第2の通信装置は、第2の乱数を生成する乱数生成手段と、通信相手先の認証用のキーワード情報を保持する情報記憶手段と、第2の乱数及びキーワード情報を、所定の変換規則によって第2の平文情報に変換する情報変換手段と、第2の平文情報を、複数の鍵から選択することによって得られた第2の秘密鍵によって暗号化して、第2の暗号化情報を生成する暗号化手段と、第2の暗号化情報を第1の通信装置に送信し、第1の通信装置から第1の暗号化情報を受信する通信手段と、第1の暗号化情報を複数の鍵から選択した第1の秘密鍵によって復号して、第1の平文情報を生成する復号手段と、第1の平文情報を、所定の変換規則に対応する所定の逆変換規則によって、第1の乱数及びキーワード情報に逆変換する情報逆変換手段と、情報逆変換手段によって得られたキーワード情報が、情報記憶手段によって保持されたキーワード情報に一致した場合に、第1及び第2の乱数を用いて、第1の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有する。
【0007】
或いは、本発明の暗号化通信方法は、第1の通信装置と第2の通信装置との間で共通鍵暗号を用いた暗号化通信を行う暗号化通信方法であって、第1及び第2の通信装置が、それぞれ、第1及び第2の乱数を生成する乱数生成ステップと、第1及び第2の通信装置が、通信相手先の認証用のキーワード情報を保持する情報記憶ステップと、第1の通信装置が、第1の乱数及びキーワード情報を、所定の変換規則によって第1の平文情報に変換する情報変換ステップと、第1の通信装置が、第1の平文情報を、複数の鍵から選択することによって得られた第1の秘密鍵によって暗号化して、第1の暗号化情報を生成する暗号化ステップと、第1の通信装置が、第1の暗号化情報を第2の通信装置に送信する通信ステップと、第2の通信装置が、第1の暗号化情報を複数の鍵から選択した第1の秘密鍵によって復号して、第1の平文情報を生成する復号ステップと、第2の通信装置が、第1の平文情報を、所定の変換規則に対応する所定の逆変換規則によって、第1の乱数及びキーワード情報に逆変換する情報逆変換ステップと、第2の通信装置が、情報逆変換手段によって得られたキーワード情報が、情報記憶手段によって保持されたキーワード情報に一致した場合に、第1及び第2の乱数を用いて、第1の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップと、第2の通信装置が、第2の乱数及びキーワード情報を、所定の変換規則によって第2の平文情報に変換する情報変換ステップと、第2の通信装置が、第2の平文情報を、複数の鍵から選択することによって得られた第2の秘密鍵によって暗号化して、第2の暗号化情報を生成する暗号化ステップと、第2の通信装置が、第2の暗号化情報を第1の通信装置に送信する通信ステップと、第1の通信装置が、第2の暗号化情報を複数の鍵から選択した第2の秘密鍵によって復号して、第2の平文情報を生成する復号ステップと、第1の通信装置が、第2の平文情報を、所定の変換規則に対応する所定の逆変換規則によって、第2の乱数及びキーワード情報に逆変換する情報逆変換ステップと、第1の通信装置が、情報逆変換手段によって得られたキーワード情報が、情報記憶手段によって保持されたキーワード情報に一致した場合に、第1及び第2の乱数を用いて、第2の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップと、を備える。
【0008】
本発明に係る暗号化通信システム、或いは暗号化通信方法によれば、第1の通信装置が、第1の乱数及びキーワード情報を第1の平文情報に変換した後に、第1の平文情報を複数の鍵の中から選択した第1の秘密鍵によって暗号化して第1の暗号化情報を生成し、その第1の暗号化情報を第2の通信装置に送信する。これに対して、第2の通信装置が、第1の暗号化情報を同じ複数の鍵の中から選択した第1の秘密鍵によって復号して第1の平文情報を生成した後に、第1の平文情報を逆変換して第1の乱数及びキーワード情報を取得し、キーワード情報があらかじめ保持しておいたキーワード情報と一致した際に、第1の乱数、及び自ら生成した第2の乱数を用いてセッション鍵を生成する。これにより、キーワード情報による第1の装置の認証と、セッション鍵生成用の第1の乱数の安全な受け渡しとが、キーワードの共有によって同時に可能にされる。また、第2の通信装置が、第2の乱数及びキーワード情報を第2の平文情報に変換した後に、第2の平文情報を複数の鍵の中から選択した第2の秘密鍵によって暗号化して第2の暗号化情報を生成し、その第2の暗号化情報を第1の通信装置に送信する。これに対して、第1の通信装置が、第2の暗号化情報を同じ複数の鍵の中から選択した第2の秘密鍵によって復号して第2の平文情報を生成した後に、第2の平文情報を逆変換して第2の乱数及びキーワード情報を取得し、キーワード情報があらかじめ保持しておいたキーワード情報と一致した際に、第2の乱数、及び自ら生成した第1の乱数を用いてセッション鍵を生成する。これにより、キーワード情報による第2の装置の認証と、セッション鍵生成用の第2の乱数の安全な受け渡しとが、キーワードの共有によって同時に可能にされる。その結果、通信路上の一往復の簡便な手順で、秘密鍵の安全な共有と相互認証とが実現される。
【発明の効果】
【0009】
本発明によれば、簡便な手順で秘密鍵の安全な共有を可能にする暗号化通信システム及び暗号化通信方法を提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の第1実施形態に係る暗号化通信システムの機能構成を示すブロック図である。
【図2】図1の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図3】図1の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図4】図1の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図5】図1の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図6】本発明の第2実施形態に係る暗号化通信システムの機能構成を示すブロック図である。
【図7】図6の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図8】図6の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図9】図6の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【図10】図6の暗号化通信システムのセッション鍵共有処理時の動作を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態に係る暗号化通信システム及び暗号化通信方法について図面を参照しながら説明する。
【0012】
[第1実施形態]
図1に示すように、暗号化通信システム1は、情報通信装置であるホスト装置2及びクライアント装置3を備え、ホスト装置2とクライアント装置3とがLAN(LocalArea Network)やWAN(Wide Area Network)等の通信ネットワークNWを介して互いに暗号化されたデータの送受信、すなわち暗号化通信が可能なように構成されている。このような暗号化通信システム1の例としては、コンピュータ端末とネットワークプリンタによって構成され、コンピュータ端末からネットワークプリンタに対してIDカード印刷用の個人情報、またはIDカード記録用の個人情報を送信するIDカード作成システムが挙げられる。
【0013】
まず、ホスト装置2の各構成要素の機能について詳細に説明する。ホスト装置2は、機能的な構成要素として、乱数生成器(乱数生成手段)21、情報変換部(情報変換手段)22、キーワード情報記憶部(情報記憶手段)23、暗号化部(暗号化手段)24、秘密鍵リスト情報記憶部(情報記憶手段)25、データ通信部(通信手段)26、復号部(復号手段)27、情報逆変換部(情報逆変換手段)28、及び鍵生成部(鍵生成手段)29を備えている。
【0014】
乱数生成器21は、ホスト装置2とクライアント装置3との間での暗号化通信に用いるセッション鍵(秘密鍵)の共有処理時に、第1の乱数rを生成する。乱数生成器21は、生成した乱数rを情報変換部22に渡す。
【0015】
情報変換部22は、乱数rと、キーワード情報記憶部23から読み出したキーワード情報Kとを、所定の変換規則Aを用いて第1の平文情報Pに変換する。このキーワード情報Kは、クライアント装置3との間で互いの通信相手先の認証を行うための情報であり、予めキーワード情報記憶部23に保持されている。ここでいう「所定の変換規則A」としては、例えば、乱数rとキーワード情報Kとをこの順で連結したビット列に変換する規則や、乱数rとキーワード情報Kとを1ビットずつ交互に連結したビット列に変換する規則等が挙げられる。情報変換部22は、変換した第1の平文情報Pを暗号化部24に引き渡す。
【0016】
暗号化部24は、第1の平文情報Pを、秘密鍵リスト情報記憶部25から読み出して選択した第1の秘密鍵を用いて、共通鍵暗号を用いて暗号化することによって、第1の暗号化情報Eを生成する。この秘密鍵リスト情報記憶部25には、クライアント装置3との間で共有された秘密鍵リストLが予め保持されており、秘密鍵リストLには、10〜20個程度の複数の秘密鍵の組合せ(K,K,…,K)(nは自然数)が含まれている。すなわち、暗号化部24は、秘密鍵リストLからランダムに選択した第1の秘密鍵K(1≦x≦n)を用いて第1の平文情報Pを暗号化する。そして、暗号化部24は、暗号化した第1の暗号化情報Eをデータ通信部26に渡す。
【0017】
データ通信部26は、暗号化部24から渡された暗号化情報Eを、クライアント装置3に送信する。また、データ通信部26は、ホスト装置2とクライアント装置3との間でのセッション鍵の共有処理の最中に、クライアント装置3から第2の暗号化情報Eを受信し、受信した暗号化情報Eを復号部27に引き渡す。暗号化部24、データ通信部26、及び復号部27は、ホスト装置2とクライアント装置3との間でのセッション鍵の共有処理の終了後に、生成されたセッション鍵Ksを用いてクライアント装置3との間で共通鍵暗号を用いた暗号化通信を実行する。
【0018】
復号部27は、データ通信部26から渡された第2の暗号化情報Eを、秘密鍵リスト情報記憶部25に保持された秘密鍵リストLから選択した第2の秘密鍵K’(1≦y’≦n)を用いて、共通鍵暗号を用いて復号することによって、第2の平文情報P’を生成する。この復号部27は、第2の平文情報P’の生成を、後述する鍵生成部29による通信相手先であるクライアント装置3の認証が成功するまで、秘密鍵リストL中から第2の秘密鍵K’(1≦y’≦n)を選択し直しながら繰り返し行う。また、復号部27は、生成した第2の平文情報P’を情報逆変換部28に引き渡す。
【0019】
情報逆変換部28は、第2の平文情報P’を、所定の逆変換規則Bを用いて第2の乱数候補r’とキーワード情報K’とに逆変換する。この所定の逆変換規則Bは、後述するクライアント装置3の情報変換部32によって用いられる変換規則Bに対応するものである。例えば、変換規則Bが乱数rとキーワード情報Kとを連結したビット列に変換する規則である場合は、逆変換規則Bは、第2の平文情報P’を構成するビット列を分離して乱数候補r’とキーワード情報K’とに再生するような規則である。また、情報逆変換部28は、逆変換した乱数候補r’とキーワード情報K’とを鍵生成部29に引き渡す。
【0020】
鍵生成部29は、情報逆変換部28によって再生されたキーワード情報K’が、予めキーワード情報記憶部23に保持されたキーワード情報Kに一致するか否かを判定することによって、クライアント装置3を認証する。そして、鍵生成部29は、キーワード情報K’がキーワード情報Kに一致した場合、すなわち、正しい秘密鍵Kで第2の暗号化情報Eが復号され、かつ、クライアント装置3の正当性の認証が成功した場合には、乱数生成器21によって生成された第1の乱数rと、情報逆変換部28によって再生された第2の乱数候補r’とを用いて、クライアント装置3との暗号化通信用のセッション鍵Ksを生成する。例えば、鍵生成部29は、第1の乱数rと第2の乱数候補r’とをXOR演算することによってセッション鍵Ksを生成してもよいし、第1の乱数rと第2の乱数候補r’とを1バイトずつ交互に連結することによってセッション鍵Ksを生成してもよい。また、鍵生成部29は、生成したセッション鍵Ksを暗号化部24及び復号部27に引き渡す。
【0021】
次に、クライアント装置3の各構成要素の機能について詳細に説明する。クライアント装置3は、機能的な構成要素として、乱数生成器(乱数生成手段)31、情報変換部(情報変換手段)32、キーワード情報記憶部(情報記憶手段)33、暗号化部(暗号化手段)34、秘密鍵リスト情報記憶部(情報記憶手段)35、データ通信部(通信手段)36、復号部(復号手段)37、情報逆変換部(情報逆変換手段)38、及び鍵生成部(鍵生成手段)39を備えている。
【0022】
乱数生成器31は、ホスト装置2とクライアント装置3との間での暗号化通信に用いるセッション鍵(秘密鍵)の共有処理時に、第2の乱数rを生成する。乱数生成器31は、生成した乱数rを情報変換部32に渡す。
【0023】
情報変換部32は、乱数rと、キーワード情報記憶部33から読み出したキーワード情報Kとを、所定の変換規則Bを用いて第2の平文情報Pに変換する。このキーワード情報Kは、ホスト装置2のキーワード情報記憶部23に保持された情報と同一の通信相手先認証用の情報であり、予めキーワード情報記憶部33に保持されている。ここでいう「所定の変換規則B」としては、例えば、乱数rとキーワード情報Kとをこの順で連結したビット列に変換する規則や、乱数rとキーワード情報Kとを1ビットずつ交互に連結したビット列に変換する規則等が挙げられる。情報変換部32は、変換した第2の平文情報Pを暗号化部34に引き渡す。
【0024】
暗号化部34は、第2の平文情報Pを、秘密鍵リスト情報記憶部35から読み出して選択した第2の秘密鍵を用いて、ホスト装置2と同一の共通鍵暗号方式を用いて暗号化することによって、第2の暗号化情報Eを生成する。この秘密鍵リスト情報記憶部35には、ホスト装置2との間で共有された秘密鍵リストLが予め保持されており、秘密鍵リストLには、10〜20個程度の複数の秘密鍵の組合せ(K,K,…,K)(nは自然数)が含まれている。すなわち、暗号化部34は、秘密鍵リストLからランダムに選択した第2の秘密鍵K(1≦y≦n)を用いて第2の平文情報Pを暗号化する。そして、暗号化部34は、暗号化した第2の暗号化情報Eをデータ通信部36に渡す。
【0025】
データ通信部36は、暗号化部34から渡された暗号化情報Eを、ホスト装置2に送信する。また、データ通信部36は、ホスト装置2とクライアント装置3との間でのセッション鍵の共有処理の最中に、ホスト装置2から第1の暗号化情報Eを受信し、受信した暗号化情報Eを復号部37に引き渡す。暗号化部34、データ通信部36、及び復号部37は、ホスト装置2とクライアント装置3との間でのセッション鍵の共有処理の終了後に、生成されたセッション鍵Ksを用いてホスト装置2との間で共通鍵暗号を用いた暗号化通信を実行する。
【0026】
復号部37は、データ通信部36から渡された第1の暗号化情報Eを、秘密鍵リスト情報記憶部35に保持された秘密鍵リストLから選択した第1の秘密鍵K’(1≦x’≦n)を用いて、ホスト装置2と同一の共通鍵暗号方式を用いて復号することによって、第1の平文情報P’を生成する。この復号部37は、第1の平文情報P’の生成を、後述する鍵生成部39による通信相手先であるホスト装置2の認証が成功するまで、秘密鍵リストL中から第1の秘密鍵K’(1≦x’≦n)を選択し直しながら繰り返し行う。また、復号部37は、生成した第1の平文情報P’を情報逆変換部38に引き渡す。
【0027】
情報逆変換部38は、第1の平文情報P’を、所定の逆変換規則Aを用いて第1の乱数候補r’とキーワード情報K’とに逆変換する。この所定の逆変換規則Aは、ホスト装置2の情報変換部22によって用いられる変換規則Aに対応するものである。例えば、変換規則Aが乱数rとキーワード情報Kとを連結したビット列に変換する規則である場合は、逆変換規則Aは、第1の平文情報P’を構成するビット列を分離して乱数候補r’とキーワード情報K’とに再生するような規則である。また、情報逆変換部38は、逆変換した乱数候補r’とキーワード情報K’とを鍵生成部39に引き渡す。
【0028】
鍵生成部39は、情報逆変換部38によって再生されたキーワード情報K’が、予めキーワード情報記憶部33に保持されたキーワード情報Kに一致するか否かを判定することによって、ホスト装置2を認証する。そして、鍵生成部39は、キーワード情報K’がキーワード情報Kに一致した場合、すなわち、正しい秘密鍵Kで第1の暗号化情報Eが復号され、かつ、ホスト装置2の正当性の認証が成功した場合には、乱数生成器31によって生成された第2の乱数rと、情報逆変換部38によって再生された第1の乱数候補r’とを用いて、ホスト端末2との暗号化通信用のセッション鍵Ksを生成する。例えば、鍵生成部39は、第1の乱数候補r’と第2の乱数rとをXOR演算することによってセッション鍵Ksを生成してもよいし、第1の乱数候補r’と第2の乱数rとを1バイトずつ交互に連結することによってセッション鍵Ksを生成してもよい。ただし、このセッション鍵Ksの生成アルゴリズムは、ホスト装置2の鍵生成部29の生成アルゴリズムと同一になるように予め組み込まれる。また、鍵生成部39は、生成したセッション鍵Ksを暗号化部34及び復号部37に引き渡す。
【0029】
以下、暗号化通信システム1によるセッション鍵の共有処理時の動作について説明するとともに、本実施形態にかかる暗号化通信方法について詳述する。図2〜5は、暗号化通信システム1におけるセッション鍵共有処理時の動作を示すフローチャートである。ここで、暗号化通信が実行される前には、ホスト装置2とクライアント装置3との間で、秘密鍵リストL及びキーワード情報Kとが、ファームウェアに組み込む、或いは、初期設定時に記憶させるなどの通信手段を用いない方法で予め共有化されている。さらに、ホスト装置2で用いられる変換規則A及び逆変換規則Bと、クライアント装置3で用いられる変換規則B及び逆変換規則Aとが、それぞれ、互いに対応する規則となるように予め設定されている。
【0030】
まず、図2を参照して、暗号化通信の開始を契機に、ホスト装置2の乱数生成器21によって第1の乱数rが生成される(ステップS101)。次に、ホスト装置2の情報変換部22によって、乱数rと、キーワード情報記憶部23から読み出したキーワード情報Kとが、所定の変換規則Aを用いて平文情報Pに変換される(ステップS102)。そして、ホスト装置2の暗号化部24によって秘密鍵リストLからランダムに秘密鍵Kが選択される(ステップS103)。このとき、秘密鍵Kは、乱数生成器21によって発生させた乱数r又は別の乱数を使用したり、時刻情報などの再現性のない情報を使用して選択される。その後、ホスト装置2の暗号化部24によって、秘密鍵Kを用いた共通鍵暗号方式によって、平文情報Pが暗号化情報Eに暗号化される(ステップS104)。そして、ホスト装置2のデータ通信部26によって、クライアント装置3に向けて、暗号化情報Eが送信される(ステップS105)。
【0031】
図3に移って、これに対して、クライアント装置3のデータ通信部36により、ホスト装置2から暗号化情報Eが受信される(ステップS201)。次に、クライアント装置3の復号部37により、秘密鍵リストLから最初の秘密鍵K’が選択される(ステップS202)。そして、復号部37により、最初の秘密鍵K’を用いた共通鍵暗号によって暗号化情報Eが復号され、平文情報P’が生成される(ステップS203)。その後、クライアント装置3の情報逆変換部38により、所定の逆変換規則Aを用いて、平文情報P’が乱数候補r’とキーワード情報K’とに逆変換される(ステップS204)。さらに、クライアント装置3の鍵生成部39により、得られたキーワード情報K’が、キーワード情報記憶部33に保持されているキーワード情報Kに一致するか否かが判定される(ステップS205)。
【0032】
上記の判定の結果、キーワード情報が一致していない場合には(ステップS205;NO)、秘密鍵K’がホスト装置2で用いられた秘密鍵Kと一致しないか、又はホスト装置2が不正な通信相手先であるかのいずれかであると判断される。そして、クライアント装置3の復号部37により、秘密鍵リストLから選択した秘密鍵K’が最後のものであるかが判定される(ステップS206)。判定の結果、秘密鍵K’が最後のものでない場合には(ステップS206;NO)、復号部37により次の秘密鍵K’が選択されて(ステップS207)、ステップS203に処理が戻される。一方、秘密鍵K’が最後のものである場合には(ステップS206;YES)、クライアント装置3によってホスト装置2が不正な通信相手先であると判断されて、受信した暗号化情報Eが破棄された後、データ通信部36によって、ホスト装置2に本来返信されるべき暗号化情報Eと同じデータ長の乱数データが生成されてホスト装置2に返信される(ステップS208)。これにより、悪意のある第三者が通信路をモニタした際の挙動を、正常時と異常時とで同様な状態とすることができる。
【0033】
ステップS205における判定の結果、キーワード情報が一致している場合には(ステップS205;YES)、ホスト装置2が正当な通信相手先であると判断される。図4に移って、その後、鍵生成部39により、乱数候補r’が第1の乱数rとして採用される(ステップS301)。次に、クライアント装置3の乱数生成器31によって第2の乱数rが生成される(ステップS302)。さらに、鍵生成部39により、第1の乱数rと第2の乱数rとを用いて、セッション鍵Ksが生成される(ステップS303)。次に、クライアント装置3の情報変換部32によって、乱数rと、キーワード情報記憶部33から読み出したキーワード情報Kとが、所定の変換規則Bを用いて平文情報Pに変換される(ステップS304)。そして、クライアント装置3の暗号化部34によって秘密鍵リストLからランダムに秘密鍵Kが選択される(ステップS305)。このとき、秘密鍵Kは、乱数生成器31によって発生させた乱数r又は別の乱数を使用したり、時刻情報などの再現性のない情報を使用して選択される。その後、クライアント装置3の暗号化部34によって、秘密鍵Kを用いた共通鍵暗号方式によって、平文情報Pが暗号化情報Eに暗号化される(ステップS306)。そして、クライアント装置3のデータ通信部36によって、ホスト装置2に向けて、暗号化情報Eが送信される(ステップS307)。
【0034】
図5に移って、これに対して、ホスト装置2のデータ通信部26により、クライアント装置3から暗号化情報Eが受信される(ステップS401)。次に、ホスト装置2の復号部27により、秘密鍵リストLから最初の秘密鍵K’が選択される(ステップS402)。そして、復号部27により、最初の秘密鍵K’を用いた共通鍵暗号によって暗号化情報Eが復号され、平文情報P’が生成される(ステップS403)。その後、ホスト装置2の情報逆変換部28により、所定の逆変換規則Bを用いて、平文情報P’が乱数候補r’とキーワード情報K’とに逆変換される(ステップS404)。さらに、ホスト装置2の鍵生成部29により、得られたキーワード情報K’が、キーワード情報記憶部23に保持されているキーワード情報Kに一致するか否かが判定される(ステップS405)。
【0035】
上記の判定の結果、キーワード情報が一致していない場合には(ステップS405;NO)、秘密鍵K’がクライアント装置3で用いられた秘密鍵Kと一致しないか、又はクライアント装置3が不正な通信相手先であるかのいずれかであると判断される。そして、ホスト装置2の復号部27により、秘密鍵リストLから選択した秘密鍵K’が最後のものであるかが判定される(ステップS406)。判定の結果、秘密鍵K’が最後のものでない場合には(ステップS406;NO)、復号部27により次の秘密鍵K’が選択されて(ステップS407)、ステップS403に処理が戻される。一方、秘密鍵K’が最後のものである場合には(ステップS406;YES)、ホスト装置2によってクライアント装置3が不正な通信相手先であると判断されて、暗号化通信が中止される。
【0036】
ステップS405における判定の結果、キーワード情報が一致している場合には(ステップS405;YES)、クライアント装置3が正当な通信相手先であると判断される。その後、鍵生成部29により、乱数候補r’が第2の乱数rとして採用される(ステップS408)。さらに、鍵生成部29により、乱数生成器21によって生成された第1の乱数rと第2の乱数rとを用いて、セッション鍵Ksが生成される(ステップS409)。
【0037】
このようにして生成及び共有化されたセッション鍵Ksは、ホスト装置2とクライアント装置3間での共通鍵暗号方式による以降の暗号化通信において用いられる。このセッション鍵Ksは、図2〜図5に示した鍵交換処理が次に実行されるまで有効となる。
【0038】
以上説明した暗号化通信システム1及び暗号化通信方法によれば、ホスト装置2が、第1の乱数r及びキーワード情報Kを第1の平文情報Pに変換した後に、第1の平文情報Pを秘密鍵リストLから選択した第1の秘密鍵Kによって暗号化して暗号化情報Eを生成し、その暗号化情報Eをクライアント装置3に送信する。これに対して、クライアント装置3が、暗号化情報Eを秘密鍵リストLから選択した第1の秘密鍵K’によって復号して第1の平文情報P’を生成した後に、第1の平文情報P’を逆変換して第1の乱数候補r’及びキーワード情報K’を取得し、キーワード情報K’があらかじめ保持しておいたキーワード情報Kと一致した際に、第1の乱数候補r’、及び自ら生成した第2の乱数rを用いてセッション鍵Ksを生成する。これにより、キーワード情報による通信相手先装置の認証と、セッション鍵生成用の乱数の安全な受け渡しとが、キーワード及び秘密鍵の組合せの共有によって同時に可能にされる。
【0039】
また、クライアント装置3が、第2の乱数r及びキーワード情報Kを第2の平文情報Pに変換した後に、第2の平文情報Pを秘密鍵リストLから選択した第2の秘密鍵Kによって暗号化して暗号化情報Eを生成し、その暗号化情報Eをホスト装置2に送信する。これに対して、ホスト装置2が、暗号化情報Eを秘密鍵リストLから選択した第2の秘密鍵K’によって復号して第2の平文情報P’を生成した後に、第2の平文情報P’を逆変換して第2の乱数候補r’及びキーワード情報K’を取得し、キーワード情報K’があらかじめ保持しておいたキーワード情報Kと一致した際に、第2の乱数候補r’、及び自ら生成した第1の乱数rを用いてセッション鍵Ksを生成する。これにより、キーワード情報による通信相手先の認証と、セッション鍵生成用の第2の乱数の安全な受け渡しとが、キーワード及び秘密鍵の組合せの共有によって同時に可能にされる。
【0040】
その結果、通信路上のホスト装置とクライアント装置間の一往復の簡便な手順で、秘密鍵の安全な共有と相互認証とが実現される。すなわち、悪意のある第三者が通信路上でデータ通信を傍受しても、情報変換/情報逆変換用規則A,A,B,B、キーワード情報K、秘密鍵リストL、及び暗号化/復号手順のすべてを知らなければセッション鍵Ksの生成用の情報を知ることはできない。また、セッション鍵Ksの生成アルゴリズムを知らなければその後の暗号化データを復号することもできない。同様に、第三者が通信相手先を装ってホスト装置2からの通信データを受信したとしても、情報変換/情報逆変換用規則A,A,B,B、キーワード情報K、秘密鍵リストL、及び暗号化/復号手順のすべてを知らなければ、正当な応答データを返信することはできず、通信相手先になりすますことはできない。さらに、第三者がホスト装置2を装ってクライアント装置3に電文を送った場合、正当な電文で無い場合には乱数を生成して応答するため、その第三者は有意な情報を得ることはできない。また、仮に、キーワード情報K、秘密鍵リストLが流出したとしても、情報変換/情報逆変換用規則A,A,B,B、及びセッション鍵Ksの生成アルゴリズムのすべてを知らなければ、セッション鍵Ksを生成して通信データを復号することもできない。
【0041】
[第2実施形態]
次に、本発明の第2実施形態について説明する。図6に示す本発明の第2実施形態である暗号化通信システム101は、秘密鍵リスト情報記憶部25,35の代わりに鍵生成部125,135を備える点と、暗号化部124,134及び復号部127,137の機能とが、第1実施形態にかかる暗号化通信システム1と異なる。以下、暗号化通信システム101の暗号化通信システム1との相違点を中心に説明する。
【0042】
鍵生成部125は、乱数生成器121によって生成された第1の乱数rと、キーワード情報記憶部123から読み出したキーワード情報Kとを参照して、所定の鍵生成規則Aを用いて第1の秘密鍵Kを生成する。この鍵生成規則Aは、キーワード情報Kと乱数rとの組み合わせにより一意に複数のn種類の第1の鍵K(1≦x≦n)を生成可能な計算アルゴリズムである。例えば、キーワード情報Kをk個(kは整数)に分割して、それぞれの分割後データを第1の乱数rに対応した順列で並べ替えて鍵を生成する方法や、キーワード情報Kに含まれるビット列等のデータ列を第1の乱数rに対応してシフトするなどの計算アルゴリズムが挙げられる。すなわち、鍵生成部125は、キーワード情報Kから鍵生成規則Aで生成可能なn種類の鍵K(1≦x≦n)の中から、第1の乱数rに応じた第1の鍵Kを選択する。
【0043】
また、鍵生成部125は、繰り返しインクリメントされるパラメータI(Iは整数)を用いて、キーワード情報Kから所定の鍵生成規則Aを用いて生成可能なn種類の鍵K(1≦y≦n)の中から、パラメータIに応じた第2の鍵K’を選択する。そして、鍵生成部125は、選択した鍵を第2の鍵K’として生成する。
【0044】
ここで、鍵生成部125は、最初に選択した第1の鍵K又は第2の鍵K’が、暗号化部124又は復号部127が必要とする秘密鍵のデータ長と異なる場合には、第1の鍵Kの又は第2の鍵K’のデータ長を適正なデータ長に調整する機能も有してもよい。例えば、鍵生成部125は、鍵生成規則Aを繰り返して生成された鍵を単純に連結する、或いは、鍵生成規則Aで生成された鍵の前、後、又は前後に予め決めたデータ列を付加して調整する等の調整処理を行う。さらに、鍵生成部125は、n種類の鍵K(1≦x≦n)の中から、第1の乱数rとは異なり、新たに乱数生成器121で生成された乱数を用いて第1の鍵Kを選択してもよいし、時刻情報などの再現性の低い情報を基に第1の鍵Kを選択してもよい。
【0045】
暗号化部124は、鍵生成部125によって生成された第1の秘密鍵Kを用いて、第1の平文情報Pを暗号化することによって、第1の暗号化情報Eを生成する。
【0046】
復号部127は、第2の暗号化情報Eを、鍵生成部125によって生成された第2の秘密鍵K’を用いて復号することによって、第2の平文情報P’を生成する。なお、復号部127は、鍵生成部129によるクライアント装置103の認証が成功するまで、パラメータIをインクリメントして選択された第2の秘密鍵K’を繰り返し用いて、第2の平文情報P’を生成する。
【0047】
鍵生成部135は、乱数生成器131によって生成された第2の乱数rと、キーワード情報記憶部133から読み出したキーワード情報Kとを参照して、所定の鍵生成規則Aを用いて第2の秘密鍵Kを生成する。この鍵生成規則Aは、ホスト装置102の鍵生成部125が用いるのと同一の計算アルゴリズムである。すなわち、鍵生成部135は、キーワード情報Kから鍵生成規則Aで生成可能なn種類の鍵K(1≦y≦n)の中から、第2の乱数rに応じた第2の鍵Kを選択する。
【0048】
また、鍵生成部135は、繰り返しインクリメントされるパラメータI(Iは整数)を用いて、キーワード情報Kから所定の鍵生成規則Aを用いて生成可能なn種類の鍵K(1≦x≦n)の中から、パラメータIに応じた第1の鍵K’を選択する。そして、鍵生成部135は、選択した鍵を第1の鍵K’として生成する。
【0049】
ここで、鍵生成部135は、最初に選択した第2の鍵K又は第1の鍵K’が、暗号化部134又は復号部137が必要とする秘密鍵のデータ長と異なる場合には、第2の鍵K又は第1の鍵K’のデータ長を適正なデータ長に調整する機能も有してもよい。例えば、鍵生成部135は、鍵生成規則Aを繰り返して生成された鍵を単純に連結する、或いは、鍵生成規則Aで生成された鍵の前、後、又は前後に予め決めたデータ列を付加して調整する等の調整処理を行う。さらに、鍵生成部135は、n種類の鍵K(1≦y≦n)の中から、第2の乱数rとは異なり、新たに乱数生成器131で生成された乱数を用いて第2の鍵Kを選択してもよいし、時刻情報などの再現性の低い情報を基に第2の鍵Kを選択してもよい。
【0050】
暗号化部134は、鍵生成部135によって生成された第2の秘密鍵Kを用いて、第2の平文情報Pを暗号化することによって、第2の暗号化情報Eを生成する。
【0051】
復号部137は、第1の暗号化情報Eを、鍵生成部135によって生成された第1の秘密鍵K’を用いて復号することによって、第1の平文情報P’を生成する。なお、復号部137は、鍵生成部139によるホスト装置102の認証が成功するまで、パラメータIをインクリメントして選択された第1の秘密鍵K’を繰り返し用いて、第1の平文情報P’を生成する。
【0052】
次に、暗号化通信システム101によるセッション鍵の共有処理時の動作について、暗号化通信システム1との相違点を中心に説明する。図7〜10は、暗号化通信システム101におけるセッション鍵共有処理時の動作を示すフローチャートである。ここで、暗号化通信が実行される前には、ホスト装置102とクライアント装置103との間で、キーワード情報K及び鍵生成規則Aがファームウェアに組み込む、或いは、初期設定時に記憶させるなどの通信手段を用いない方法で予め共有化されている。さらに、ホスト装置102で用いられる変換規則A及び逆変換規則Bと、クライアント装置103で用いられる変換規則B及び逆変換規則Aとが、それぞれ、互いに対応する規則となるように予め設定されている。
【0053】
まず、図7を参照して、暗号化通信システム1と同様にして、暗号化通信の開始を契機に第1の乱数r及び平文情報Pの生成が行われる(ステップS501〜S502)。次に、ホスト装置102の鍵生成部125によって、第1の乱数rとキーワード情報Kとを参照して、所定の鍵生成規則Aを用いて第1の秘密鍵Kが生成される(ステップS503)。その後、暗号化通信システム1と同様にして、暗号化情報Eの生成及び送信が行われる(ステップS504〜S505)。
【0054】
図8に移って、これに対して、クライアント装置103のデータ通信部136により、ホスト装置102から暗号化情報Eが受信される(ステップS601)。そして、クライアント装置103の鍵生成部135により、パラメータIが初期値ゼロに設定される(ステップS602)。次に、鍵生成部135により、パラメータIとキーワード情報Kを参照して、所定の鍵生成規則Aを用いて第1の鍵K’が生成される。(ステップS603)。そして、暗号化通信システム1と同様にして、平文情報P’の生成、平文情報P’から乱数候補r’及びキーワード情報K’への逆変換、及びキーワード情報K’のキーワード情報Kとの一致判定が行われる(ステップS604〜S606)。
【0055】
上記一致判定の結果、キーワード情報が一致していない場合には(ステップS606;NO)、秘密鍵K’がホスト装置102で用いられた秘密鍵Kと一致しないか、又はホスト装置102が不正な通信相手先であるかのいずれかであると判断される。そして、クライアント装置103の鍵生成部135により、パラメータIが鍵生成規則Aにより生成可能な鍵数n−1に達しているか否かが判定される(ステップS607)。判定の結果、パラメータIがn−1に達していない場合には(ステップS607;NO)、鍵生成部135によりパラメータIがインクリメントされて(ステップS608)、ステップS603に処理が戻されてパラメータIに対応する次の秘密鍵K’に関する一致判定が繰り返される。一方、パラメータIがn−1に達している場合には(ステップS607;YES)、暗号化通信システム1と同様にして、クライアント装置103によってホスト装置102が不正な通信相手先であると判断されて、本来返信されるべき暗号化情報Eと同じデータ長の乱数データが生成されてホスト装置102に返信される(ステップS609)。
【0056】
ステップS606における判定の結果、キーワード情報が一致している場合には(ステップS606;YES)、ホスト装置102が正当な通信相手先であると判断される。図9に移って、その後、暗号化通信システム1と同様にして、乱数候補r’が第1の乱数rとして採用された後、第2の乱数rの生成、セッション鍵Ksの生成、及び平文情報Pの生成が実行される(ステップS701〜S704)。そして、クライアント装置103の鍵生成部135によって第2の乱数rとキーワード情報Kとを参照して、所定の鍵生成規則Aを用いて第2の秘密鍵Kが生成される(ステップS705)。その後、暗号化通信システム1と同様にして、秘密鍵Kを用いて平文情報Pが暗号化情報Eに暗号化された後(ステップS706)、ホスト装置2に向けて暗号化情報Eが送信される(ステップS707)。
【0057】
図10に移って、これに対して、ホスト装置102のデータ通信部126により、クライアント装置103から暗号化情報Eが受信される(ステップS801)。そして、ホスト装置102の鍵生成部125により、パラメータIが初期値ゼロに設定される(ステップS802)。次に、鍵生成部125により、パラメータIとキーワード情報Kを参照して、所定の鍵生成規則Aを用いて第2の鍵K’が生成される。(ステップS803)。そして、暗号化通信システム1と同様にして、平文情報P’の生成、平文情報P’から乱数候補r’及びキーワード情報K’への逆変換、及びキーワード情報K’のキーワード情報Kとの一致判定が行われる(ステップS804〜S806)。
【0058】
上記一致判定の結果、キーワード情報が一致していない場合には(ステップS806;NO)、秘密鍵K’がクライアント装置103で用いられた秘密鍵Kと一致しないか、又はクライアント装置103が不正な通信相手先であるかのいずれかであると判断される。そして、ホスト装置102の鍵生成部125により、パラメータIが鍵生成規則Aにより生成可能な鍵数n−1に達しているか否かが判定される(ステップS807)。判定の結果、パラメータIがn−1に達していない場合には(ステップS807;NO)、鍵生成部125によりパラメータIがインクリメントされて(ステップS808)、ステップS803に処理が戻されてパラメータIに対応する次の秘密鍵K’に関する一致判定が繰り返される。一方、パラメータIがn−1に達している場合には(ステップS807;YES)、暗号化通信システム1と同様にして、ホスト装置102によってクライアント装置103が不正な通信相手先であると判断されて、暗号化通信が中止される。
【0059】
ステップS806における判定の結果、キーワード情報が一致している場合には(ステップS806;YES)、クライアント装置103が正当な通信相手先であると判断される。その後、鍵生成部129により、乱数候補r’が第2の乱数rとして採用される(ステップS809)。さらに、鍵生成部129により、乱数生成器121によって生成された第1の乱数rと第2の乱数rとを用いて、セッション鍵Ksが生成される(ステップS810)。
【0060】
以上説明した暗号化通信システム101及びそれを用いた暗号化通信方法によっても、通信路上のホスト装置とクライアント装置間の一往復の簡便な手順で、秘密鍵の安全な共有と相互認証とが実現される。すなわち、悪意のある第三者が通信路上でデータ通信を傍受しても、鍵生成規則A、情報変換/情報逆変換用規則A,A,B,B、キーワード情報K、及び暗号化/復号手順のすべてを知らなければセッション鍵Ksの生成用の情報を知ることはできない。また、セッション鍵Ksの生成アルゴリズムを知らなければその後の暗号化データを復号することもできない。同様に、第三者が通信相手先を装ってホスト装置102からの通信データを受信したとしても、鍵生成規則A、情報変換/情報逆変換用規則A,A,B,B、キーワード情報K、及び暗号化/復号手順のすべてを知らなければ、正当な応答データを返信することはできず、通信相手先になりすますことはできない。さらに、第三者がホスト装置102を装ってクライアント装置103に電文を送った場合、正当な電文で無い場合には乱数を生成して応答するため、その第三者は有意な情報を得ることはできない。また、仮に、キーワード情報Kが流出したとしても、鍵生成規則A、情報変換/情報逆変換用規則A,A,B,B、及びセッション鍵Ksの生成アルゴリズムのすべてを知らなければ、セッション鍵Ksを生成して通信データを復号することもできない。
【0061】
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限られるものではない。例えば、上記実施形態の暗号化通信システム1としては、ホスト装置2及びクライアント装置3を含むIDカード作成システムを想定していたが、本発明は2つの通信装置間で暗号化通信が実行可能な通信システムに広く適用することができる。
【0062】
また、鍵生成部29,39,129,139は、生成したセッション鍵Ksのデータ長が暗号化部24,34,124,134及び復号部27,37,127,137の必要とする秘密鍵のデータ長と異なる場合には、セッション鍵Ksのデータ長を適正なデータ長に調整する機能も有してもよい。例えば、セッション鍵Ksを単純に連結する、或いは、セッション鍵Ksの前、後、又は前後に予め決めたデータ列を付加して調整する等の調整処理が挙げられる。
【符号の説明】
【0063】
1,101…暗号化通信システム、2,102…ホスト装置(通信装置)、3,103…クライアント装置(通信装置)、21,31,121,131…乱数生成器(乱数生成手段)、22,32,122,132…情報変換部(情報変換手段)、23,33,123,133…キーワード情報記憶部(情報記憶手段)、24,34,124,134…暗号化部(暗号化手段)、25,35…秘密鍵リスト情報記憶部(情報記憶手段)、125,135…鍵生成部(鍵生成手段)、26,36,126,136…データ通信部(通信手段)、27,37,127,137…復号部(復号手段)、28,38,128,138…情報逆変換部(情報逆変換手段)、29,39,129,139…鍵生成部(鍵生成手段)。

【特許請求の範囲】
【請求項1】
第1の通信装置と第2の通信装置とを備え、前記第1の通信装置と前記第2の通信装置との間で共通鍵暗号を用いた暗号化通信が可能にされた暗号化通信システムであって、
前記第1の通信装置は、
第1の乱数を生成する乱数生成手段と、
通信相手先の認証用のキーワード情報を保持する情報記憶手段と、
前記第1の乱数及び前記キーワード情報を、所定の変換規則によって第1の平文情報に変換する情報変換手段と、
前記第1の平文情報を、複数の鍵から選択することによって得られた第1の秘密鍵によって暗号化して、第1の暗号化情報を生成する暗号化手段と、
前記第1の暗号化情報を前記第2の通信装置に送信し、前記第2の通信装置から第2の暗号化情報を受信する通信手段と、
前記第2の暗号化情報を前記複数の鍵から選択した第2の秘密鍵によって復号して、第2の平文情報を生成する復号手段と、
前記第2の平文情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第2の乱数及びキーワード情報に逆変換する情報逆変換手段と、
前記情報逆変換手段によって得られた前記キーワード情報が、前記情報記憶手段によって保持された前記キーワード情報に一致した場合に、前記第1及び第2の乱数を用いて、前記第2の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有し、
前記第2の通信装置は、
第2の乱数を生成する乱数生成手段と、
通信相手先の認証用のキーワード情報を保持する情報記憶手段と、
前記第2の乱数及び前記キーワード情報を、所定の変換規則によって第2の平文情報に変換する情報変換手段と、
前記第2の平文情報を、複数の鍵から選択することによって得られた第2の秘密鍵によって暗号化して、第2の暗号化情報を生成する暗号化手段と、
前記第2の暗号化情報を前記第1の通信装置に送信し、前記第1の通信装置から第1の暗号化情報を受信する通信手段と、
前記第1の暗号化情報を前記複数の鍵から選択した第1の秘密鍵によって復号して、第1の平文情報を生成する復号手段と、
前記第1の平文情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第1の乱数及びキーワード情報に逆変換する情報逆変換手段と、
前記情報逆変換手段によって得られた前記キーワード情報が、前記情報記憶手段によって保持された前記キーワード情報に一致した場合に、前記第1及び第2の乱数を用いて、前記第1の通信装置との暗号化通信用のセッション鍵を生成する鍵生成手段と、を有する
ことを特徴とする暗号化通信システム。
【請求項2】
前記第1の通信装置の前記情報記憶手段は、通信相手先の認証用のキーワード情報、及び複数の秘密鍵の組合せを保持し、
前記第1の通信装置の前記暗号化手段は、前記第1の平文情報を、前記複数の秘密鍵の組合せから選択した第1の秘密鍵によって暗号化し、
前記第1の通信装置の前記復号手段は、前記第2の暗号化情報を前記複数の秘密鍵の組合せから選択した第2の秘密鍵によって復号し、
前記第2の通信装置の前記情報記憶手段は、通信相手先の認証用のキーワード情報、及び複数の秘密鍵の組合せを保持し、
前記第2の通信装置の前記暗号化手段は、前記第2の平文情報を、前記複数の秘密鍵の組合せから選択した第2の秘密鍵によって暗号化し、
前記第2の通信装置の前記復号手段は、前記第1の暗号化情報を前記複数の秘密鍵の組合せから選択した第1の秘密鍵によって復号する、
ことを特徴とする請求項1記載の暗号化通信システム。
【請求項3】
前記第1の通信装置は、前記通信相手先の認証用のキーワード情報から所定の鍵生成規則によって生成可能な複数の鍵の中から秘密鍵を選択する鍵生成手段をさらに備え、
前記第1の通信装置の前記暗号化手段は、前記第1の平文情報を、前記鍵生成手段によって選択された第1の秘密鍵によって暗号化し、
前記第1の通信装置の前記復号手段は、前記第2の暗号化情報を前記鍵生成手段によって選択された第2の秘密鍵によって復号し、
前記第2の通信装置は、前記通信相手先の認証用のキーワード情報から前記所定の鍵生成規則によって生成可能な複数の鍵の中から秘密鍵を選択する鍵生成手段をさらに備え、
前記第2の通信装置の前記暗号化手段は、前記第2の平文情報を、前記鍵生成手段によって選択された第2の秘密鍵によって暗号化し、
前記第2の通信装置の前記復号手段は、前記第1の暗号化情報を前記鍵生成手段によって選択された第1の秘密鍵によって復号する、
ことを特徴とする請求項1記載の暗号化通信システム。
【請求項4】
第1の通信装置と第2の通信装置との間で共通鍵暗号を用いた暗号化通信を行う暗号化通信方法であって、
前記第1及び第2の通信装置が、それぞれ、第1及び第2の乱数を生成する乱数生成ステップと、
前記第1及び第2の通信装置が、通信相手先の認証用のキーワード情報を保持する情報記憶ステップと、
前記第1の通信装置が、前記第1の乱数及び前記キーワード情報を、所定の変換規則によって第1の平文情報に変換する情報変換ステップと、
前記第1の通信装置が、前記第1の平文情報を、複数の鍵から選択することによって得られた第1の秘密鍵によって暗号化して、第1の暗号化情報を生成する暗号化ステップと、
前記第1の通信装置が、前記第1の暗号化情報を前記第2の通信装置に送信する通信ステップと、
前記第2の通信装置が、前記第1の暗号化情報を複数の鍵から選択した第1の秘密鍵によって復号して、第1の平文情報を生成する復号ステップと、
前記第2の通信装置が、前記第1の平文情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第1の乱数及びキーワード情報に逆変換する情報逆変換ステップと、
前記第2の通信装置が、前記情報逆変換ステップによって得られた前記キーワード情報が、前記情報記憶ステップによって保持された前記キーワード情報に一致した場合に、前記第1及び第2の乱数を用いて、前記第1の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップと、
前記第2の通信装置が、前記第2の乱数及び前記キーワード情報を、所定の変換規則によって第2の平文情報に変換する情報変換ステップと、
前記第2の通信装置が、前記第2の平文情報を、複数の鍵から選択することによって得られた第2の秘密鍵によって暗号化して、第2の暗号化情報を生成する暗号化ステップと、
前記第2の通信装置が、前記第2の暗号化情報を前記第1の通信装置に送信する通信ステップと、
前記第1の通信装置が、前記第2の暗号化情報を複数の鍵から選択した第2の秘密鍵によって復号して、第2の平文情報を生成する復号ステップと、
前記第1の通信装置が、前記第2の平文情報を、前記所定の変換規則に対応する所定の逆変換規則によって、第2の乱数及びキーワード情報に逆変換する情報逆変換ステップと、
前記第1の通信装置が、前記情報逆変換ステップによって得られた前記キーワード情報が、前記情報記憶ステップによって保持された前記キーワード情報に一致した場合に、前記第1及び第2の乱数を用いて、前記第2の通信装置との暗号化通信用のセッション鍵を生成する鍵生成ステップと、
を備えることを特徴とする暗号化通信方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate