(57)【要約】【課題】情報が漏えいするリスクを良好に低減する通信システム、通信装置、通信方法、および通信用プログラムを提供する。【解決手段】一方の通信装置１０の送信部１４が、一方の決定部１２によって一方の記憶部１１に記憶されている複数の暗号化用情報から決定された、一の暗号化用情報に基づいて暗号化された共通鍵設定用情報を送信する。また、一方の通信装置１０の一方の共通鍵生成部１５が、当該共通鍵設定用情報に基づいて共通鍵を生成する。そして、他方の通信装置２０の復号部２４が、暗号化された共通鍵設定用情報を復号する。また、他方の通信装置２０の共通鍵生成部２５が、復号された当該共通鍵設定用情報に基づいて共通鍵を生成する。そして、一方の通信装置１０の一方の通信部１６と他方の通信装置２０の他方の通信部２６との間で、共通鍵が用いられて暗号化通信が行われる。【選択図】      図４
2017092584.tif 000002
【特許請求の範囲】
【請求項１】
一方の通信装置と他方の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている一方の記憶手段と、
暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記一方の記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する一方の決定手段と、
前記一方の決定手段の決定結果に応じて、前記一方の記憶手段に記憶されている前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化手段と、
前記暗号化手段によって暗号化された前記共通鍵設定用情報を前記他方の通信装置に送信する送信手段と、
前記共通鍵設定用情報に基づいて前記共通鍵を生成する一方の共通鍵生成手段と、
前記一方の共通鍵生成手段が生成した前記共通鍵を用いて前記他方の通信装置との間で暗号化通信を行う一方の通信手段とを含む前記一方の通信装置、および
前記送信手段によって送信された、暗号化された前記共通鍵設定用情報を受信する受信手段と、
前記一方の記憶手段に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている他方の記憶手段と、
暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記他方の記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する他方の決定手段と、
前記他方の決定手段の決定結果に応じて、前記他方の記憶手段に記憶されている前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号手段と、
前記復号手段によって復号された前記共通鍵設定用情報に基づいて前記共通鍵を生成する他方の共通鍵生成手段と、
前記他方の共通鍵生成手段が生成した前記共通鍵を用いて前記一方の通信装置との間で暗号化通信を行う他方の通信手段とを含む前記他方の通信装置を備えた
ことを特徴とする通信システム。
【請求項２】
前記一方の通信装置は、
前記送信手段が前記共通鍵設定用情報を送信するタイミングを推測するタイミング推測手段と、
前記タイミング推測手段によって推測されたタイミングに応じた値を、前記一方の記憶手段に記憶されている暗号化用情報の数以下の整数で除算する暗号化用除算手段とを含み、
前記一方の決定手段は、前記暗号化用除算手段による除算結果の剰余の値に応じて、前記一方の記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する
請求項１に記載の通信システム。
【請求項３】
前記他方の通信装置は、
暗号化された前記共通鍵設定用情報が送信されたタイミングに応じた値を、前記一方の記憶手段に記憶されている暗号化用情報の数以下の整数で除算する復号用除算手段を含み、
前記他方の決定手段は、前記復号用除算手段による除算結果の剰余の値に応じて、前記他方の記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する
請求項１または請求項２に記載の通信システム。
【請求項４】
前記一方の通信装置および前記他方の通信装置は、設定されている時刻を互いに同期させることが可能な時刻同期手段をそれぞれ含む
請求項１から請求項３のうちいずれかに記載の通信システム。
【請求項５】
通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている記憶手段と、
暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定手段と、
前記決定手段の決定結果に応じて、前記記憶手段に記憶されている前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化手段と、
前記暗号化手段によって暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信手段と、
前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成手段と、
前記共通鍵生成手段が生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信手段とを備えた
ことを特徴とする通信装置。
【請求項６】
暗号化されて通信相手の通信装置の送信手段によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信手段と、
前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている記憶手段と、
暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定手段と、
前記決定手段の決定結果に応じて、前記記憶手段に記憶されている前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号手段と、
前記復号手段によって復号された前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成手段と、
前記共通鍵生成手段が生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信手段とを備えた
ことを特徴とする通信装置。
【請求項７】
通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定ステップと、
前記決定ステップにおける決定結果に応じて、前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化ステップと、
前記暗号化ステップで暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信ステップと、
前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成ステップと、
前記共通鍵生成ステップで生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信ステップとを含む
ことを特徴とする通信方法。
【請求項８】
暗号化されて通信相手の通信装置によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信ステップと、
暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定ステップと、
前記決定ステップにおける決定結果に応じて、前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号ステップと、
前記復号ステップで復号した前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成ステップと、
前記共通鍵生成ステップで生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信ステップとを含む
ことを特徴とする通信方法。
【請求項９】
コンピュータに、
通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定処理と、
前記決定処理における決定結果に応じて、前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化処理と、
前記暗号化処理で暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信処理と、
前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成処理と、
前記共通鍵生成処理で生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させる
ための通信用プログラム。
【請求項１０】
コンピュータに、
暗号化されて通信相手の通信装置によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信処理と、
暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定処理と、
前記決定処理における決定結果に応じて、前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号処理と、
前記復号処理で復号した前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成処理と、
前記共通鍵生成処理で生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させる
ための通信用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化通信を行うための通信システム、通信装置、通信方法、および通信用プログラムに関する。
【背景技術】
【０００２】
サーバとクライアントコンピュータとの間で送受信される情報に秘匿性が求められる場合がある。そのような場合に、当該情報は暗号化されて送受信される。
【０００３】
そして、情報を暗号化して送受信する方法に、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）がある。ＳＳＬでは、公開鍵と秘密鍵とが用いられて情報の送信側と受信側とが共通の共通鍵を取得する。そして、当該共通鍵が用いられて、送信される情報の暗号化、および暗号化されて送信された情報の復号が行われる。
【０００４】
特許文献１には、時刻に基づいて生成した乱数を用いて作成したセッション鍵で、送信される情報の暗号化、および暗号化されて受信された情報の復号を行うシステムが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−６７４１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１に記載されているシステムでは、何らかの理由で一度セッション鍵が漏えいした場合に、その後当該セッション鍵が用いられて暗号化された情報の全てが復号されて、当該情報が漏えいしてしまうおそれがあるという問題がある。
【０００７】
そこで、情報が漏えいするリスクを良好に低減する通信システム、通信装置、通信方法、および通信用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明による通信システムは、一方の通信装置と他方の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている一方の記憶手段と、暗号化された共通鍵設定用情報が送信されるタイミングに基づいて、一方の記憶手段に記憶されている複数の暗号化用情報から共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する一方の決定手段と、一方の決定手段の決定結果に応じて、一方の記憶手段に記憶されている一の暗号化用情報に基づいて、共通鍵設定用情報を暗号化する暗号化手段と、暗号化手段によって暗号化された共通鍵設定用情報を他方の通信装置に送信する送信手段と、共通鍵設定用情報に基づいて共通鍵を生成する一方の共通鍵生成手段と、一方の共通鍵生成手段が生成した共通鍵を用いて他方の通信装置との間で暗号化通信を行う一方の通信手段とを含む一方の通信装置、および送信手段によって送信された、暗号化された共通鍵設定用情報を受信する受信手段と、一方の記憶手段に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている他方の記憶手段と、暗号化された共通鍵設定用情報が送信されたタイミングに基づいて、他方の記憶手段に記憶されている複数の復号用情報から共通鍵設定用情報の復号に用いられる一の復号用情報を決定する他方の決定手段と、他方の決定手段の決定結果に応じて、他方の記憶手段に記憶されている一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する復号手段と、復号手段によって復号された共通鍵設定用情報に基づいて共通鍵を生成する他方の共通鍵生成手段と、他方の共通鍵生成手段が生成した共通鍵を用いて一方の通信装置との間で暗号化通信を行う他方の通信手段とを含む他方の通信装置を備えたことを特徴とする。
【０００９】
本発明による通信装置は、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている記憶手段と、暗号化された共通鍵設定用情報が送信されるタイミングに基づいて、記憶手段に記憶されている複数の暗号化用情報から共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定手段と、決定手段の決定結果に応じて、記憶手段に記憶されている一の暗号化用情報に基づいて、共通鍵設定用情報を暗号化する暗号化手段と、暗号化手段によって暗号化された共通鍵設定用情報を通信相手の通信装置に送信する送信手段と、共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成手段と、共通鍵生成手段が生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信手段とを備えたことを特徴とする。
【００１０】
本発明による他の態様の通信装置は、暗号化されて通信相手の通信装置の送信手段によって送信された、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信手段と、通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている記憶手段と、暗号化された共通鍵設定用情報が送信されたタイミングに基づいて、記憶手段に記憶されている複数の復号用情報から共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定手段と、決定手段の決定結果に応じて、記憶手段に記憶されている一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する復号手段と、復号手段によって復号された共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成手段と、共通鍵生成手段が生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信手段とを備えたことを特徴とする。
【００１１】
本発明による通信方法は、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された共通鍵設定用情報が送信されるタイミングに基づいて、共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定ステップと、決定ステップにおける決定結果に応じて、一の暗号化用情報に基づいて、共通鍵設定用情報を暗号化する暗号化ステップと、暗号化ステップで暗号化された共通鍵設定用情報を通信相手の通信装置に送信する送信ステップと、共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成ステップと、共通鍵生成ステップで生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信ステップとを含むことを特徴とする。
【００１２】
本発明による他の態様の通信方法は、暗号化されて通信相手の通信装置によって送信された、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信ステップと、暗号化された共通鍵設定用情報が送信されたタイミングに基づいて、通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定ステップと、決定ステップにおける決定結果に応じて、一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する復号ステップと、復号ステップで復号した共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成ステップと、共通鍵生成ステップで生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信ステップとを含むことを特徴とする。
【００１３】
本発明による通信用プログラムは、コンピュータに、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された共通鍵設定用情報が送信されるタイミングに基づいて、共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定処理と、決定処理における決定結果に応じて、一の暗号化用情報に基づいて、共通鍵設定用情報を暗号化する暗号化処理と、暗号化処理で暗号化された共通鍵設定用情報を通信相手の通信装置に送信する送信処理と、共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成処理と、共通鍵生成処理で生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させることを特徴とする。
【００１４】
本発明による他の態様の通信用プログラムは、コンピュータに、暗号化されて通信相手の通信装置によって送信された、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信処理と、暗号化された共通鍵設定用情報が送信されたタイミングに基づいて、通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定処理と、決定処理における決定結果に応じて、一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する復号処理と、復号処理で復号した共通鍵設定用情報に基づいて共通鍵を生成する共通鍵生成処理と、共通鍵生成処理で生成した共通鍵を用いて通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、情報が漏えいするリスクを良好に低減することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態の情報送受信システムの構成例を示すブロック図である。
【図２】本発明の第１の実施形態の情報送受信システムにおいて、クライアントコンピュータが、サーバの記憶部に記憶されている第１〜第３のサーバ証明書を取得する動作を示すフローチャートである。
【図３】本発明の第１の実施形態の情報送受信システムにおいて、サーバとクライアントコンピュータとが情報を暗号化して送受信する場合の動作を示すフローチャートである。
【図４】本発明の第２の実施形態の通信システムの構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】
実施形態１．
本発明の第１の実施形態の情報送受信システム１００について、図面を参照して説明する。図１は、本発明の第１の実施形態の情報送受信システム１００の構成例を示すブロック図である。図１に示すように、本発明の第１の実施形態の情報送受信システム１００は、サーバ１１０と、クライアントコンピュータ１２０とを含む。そして、サーバ１１０と、クライアントコンピュータ１２０とは、暗号化された情報を送受信する。なお、クライアントコンピュータ１２０は、例えば、シンクライアント端末である。
【００１８】
図１に示すように、サーバ１１０は、制御部１１１、通信部１１２、および記憶部１１３を含む。
【００１９】
通信部１１２は、例えば、通信回線や、インターネット等の通信ネットワーク等を介して、クライアントコンピュータ１２０等と情報を送受信する。記憶部１１３には、情報が記憶される。本例では、記憶部１１３には、互いに異なる公開鍵を含む第１〜第３のサーバ証明書と、各第１〜第３のサーバ証明書に応じた秘密鍵とが予め記憶されているとする。制御部１１１は、サーバ１１０の各部を制御する。
【００２０】
また、図１に示すように、クライアントコンピュータ１２０は、制御部１２１、通信部１２２、および記憶部１２３を含む。
【００２１】
通信部１２２は、例えば、通信回線や、インターネット等の通信ネットワーク等を介して、サーバ１１０等と情報を送受信する。記憶部１２３は、情報を記憶する。制御部１２１は、クライアントコンピュータ１２０の各部を制御する。
【００２２】
なお、サーバ１１０の制御部１１１およびクライアントコンピュータ１２０の制御部１２１は、例えば、プログラム制御に従って処理を実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）や複数の回路等によって実現される。
【００２３】
次に、本発明の第１の実施形態の情報送受信システム１００の動作について説明する。まず、クライアントコンピュータ１２０が、サーバ１１０の記憶部１１３に記憶されている第１〜第３のサーバ証明書を取得する動作について説明する。図２は、本発明の第１の実施形態の情報送受信システム１００において、クライアントコンピュータ１２０が、サーバ１１０の記憶部１１３に記憶されている第１〜第３のサーバ証明書を取得する動作を示すフローチャートである。図２に示すように、まず、サーバ１１０の制御部１１１と、クライアントコンピュータ１２０の制御部１２１とは、ＮＴＰ（Ｎｅｔｗｏｒｋ  Ｔｉｍｅ  Ｐｒｏｔｏｃｏｌ）に従ってＮＴＰサーバに接続し、ＮＴＰサーバが提供する時刻に、サーバ１１０のＲＴＣ（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）とクライアントコンピュータ１２０のＲＴＣとを同期させる（ステップＳ１０１，Ｓ１０２）。したがって、サーバ１１０のＲＴＣと、クライアントコンピュータ１２０のＲＴＣとは、ＮＴＰサーバを介して互いに同期される。
【００２４】
クライアントコンピュータ１２０の制御部１２１は、通信部１２２を介して、ＨＴＴＰＳ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  Ｓｅｃｕｒｅ）でサーバ１１０との間のセッションを確立するための処理を開始する（ステップＳ１０３）。具体的には、クライアントコンピュータ１２０の制御部１２１は、例えば、通信部１２２を介して、ＳＳＬのプロトコルや、ＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）のプロトコルに従って、サーバ１１０とのセッションを確立するための処理を開始して、サーバ１１０にアクセスする。
【００２５】
サーバ１１０の制御部１１１は、記憶部１１３に記憶されている第１〜第３のサーバ証明書のうち一のサーバ証明書を、通信部１１２を介して、クライアントコンピュータ１２０に送信する（ステップＳ１０４）。本例では、サーバ１１０の制御部１１１は、ステップＳ１０４の処理で、第１のサーバ証明書を、通信部１１２を介して、クライアントコンピュータ１２０に送信するとする。
【００２６】
クライアントコンピュータ１２０の通信部１２２は、ステップＳ１０４の処理でサーバ１１０から送信された第１のサーバ証明書を受信する。そして、クライアントコンピュータ１２０の制御部１２１は、サーバ１１０から送信されて通信部１２２が受信した第１のサーバ証明書の信頼度を確認する（ステップＳ１０５）。なお、クライアントコンピュータ１２０の制御部１２１がステップＳ１０５の処理で行う第１のサーバ証明書の信頼度を確認する処理は、例えば、公知の方法で行われる。具体的には、例えば、当該第１のサーバ証明書にルート認証局の証明書が含まれ、クライアントコンピュータ１２０の記憶部１２３に予めルート認証局の証明書が記憶され、当該第１のサーバ証明書に含まれているルート認証局の証明書に合致する証明書がクライアントコンピュータ１２０の記憶部１２３に記憶されていた場合に、制御部１２１は、ステップＳ１０４の処理で送信された第１のサーバ証明書を信頼できると判断する。
【００２７】
本例では、制御部１２１は、ステップＳ１０５の処理で、ステップＳ１０４の処理で送信された第１のサーバ証明書を信頼できると判断したとする。
【００２８】
クライアントコンピュータ１２０の制御部１２１は、乱数を生成する（ステップＳ１０６）。そして、クライアントコンピュータ１２０の制御部１２１は、第１のサーバ証明書に含まれている公開鍵で、ステップＳ１０６の処理で生成した乱数を暗号化する（ステップＳ１０７）。クライアントコンピュータ１２０の通信部１２２は、ステップＳ１０７の処理で暗号化された乱数を示す乱数情報をサーバ１１０に送信する（ステップＳ１０８）。また、クライアントコンピュータ１２０の制御部１２１は、ステップＳ１０６の処理で生成した乱数に基づいて、共通鍵を生成する（ステップＳ１０９）。なお、クライアントコンピュータ１２０の制御部１２１は、例えば、公知の方法で乱数に基づく共通鍵を生成する。また、乱数情報には、例えば、ステップＳ１０９の処理における共通鍵の生成方法を示す情報が含まれているとする。なお、ステップＳ１０９の処理は、ステップＳ１０８の処理の前に行われてもよい。
【００２９】
サーバ１１０の通信部１１２は、ステップＳ１０８の処理で送信された乱数情報を受信する。そして、サーバ１１０の制御部１１１は、ステップＳ１０４の処理で第１のサーバ証明書を送信したことに応じて、記憶部１１３に記憶されている第１のサーバ証明書に応じた秘密鍵で、通信部１１２が受信した乱数情報を乱数に復号する（ステップＳ１１０）。
【００３０】
そして、サーバ１１０の制御部１１１は、ステップＳ１１０の処理で乱数情報から復号した乱数に基づいて、共通鍵を生成する（ステップＳ１１１）。なお、サーバ１１０の制御部１１１は、例えば、公知の方法で乱数に基づく共通鍵を生成する。また、乱数情報には、例えば、ステップＳ１０９の処理における共通鍵の生成方法を示す情報が含まれ、サーバ１１０の制御部１１１は、当該生成方法で、ステップＳ１１０の処理で乱数情報から復号した乱数に基づいて、共通鍵を生成する。すると、サーバ１１０の制御部１１１は、ステップＳ１１１の処理で、クライアントコンピュータ１２０の制御部１２１がステップＳ１０９の処理で生成した共通鍵と共通な共通鍵を生成することができる。
【００３１】
サーバ１１０の制御部１１１は、ステップＳ１１１の処理で生成した共通鍵で、記憶部１１３に記憶されている第２，第３のサーバ証明書を暗号化する（ステップＳ１１２）。
【００３２】
そして、サーバ１１０の制御部１１１は、ステップＳ１１２の処理で暗号化した第２，第３のサーバ証明書を、通信部１１２を介してクライアントコンピュータ１２０に送信する（ステップＳ１１３）。
【００３３】
クライアントコンピュータ１２０の通信部１２２は、ステップＳ１１３の処理で送信された、暗号化された第２，第３のサーバ証明書を受信する。そして、クライアントコンピュータ１２０の制御部１２１は、通信部１２２が受信した、暗号化された第２，第３のサーバ証明書をステップＳ１０９の処理で生成した共通鍵で第２，第３のサーバ証明書に復号する（ステップＳ１１４）。
【００３４】
以上に述べたステップＳ１０１〜Ｓ１１４の処理で、クライアントコンピュータ１２０は、サーバ１１０の記憶部１１３に記憶されている第１〜第３のサーバ証明書を取得することができる。また、サーバ１１０のＲＴＣとクライアントコンピュータ１２０のＲＴＣとを互いに同期させることができる。
【００３５】
次に、サーバ１１０とクライアントコンピュータ１２０とが情報を暗号化して送受信する場合の動作について説明する。図３は、本発明の第１の実施形態の情報送受信システム１００において、サーバ１１０とクライアントコンピュータ１２０とが情報を暗号化して送受信する場合（つまり、暗号化通信を行う場合）の動作を示すフローチャートである。
【００３６】
本例では、クライアントコンピュータ１２０が、例えば、ＪＷＳ（Ｊａｖａ（登録商標）  Ｗｅｂ  Ｓｔａｒｔ）等のプログラム制御に従ってサーバ１１０にログインして、サーバ１１０とクライアントコンピュータ１２０とが情報を暗号化して互いに送受信するとする。
【００３７】
具体的には、クライアントコンピュータ１２０の制御部１２１は、まず、暗号化通信に用いる共通鍵を生成するための乱数を生成する（ステップＳ２０１）。そして、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０１の処理で生成した乱数を送信する時刻を推定する（より具体的には、例えば、後述するステップＳ２０５の処理で暗号化された乱数が後述するステップＳ２０６の処理で送信される時刻を推定する）推定処理を行う（ステップＳ２０２）。なお、本例では、サーバ１１０のＲＴＣおよびクライアントコンピュータ１２０のＲＴＣによって、所定のタイミング（例えば、１９００年１月１日０時０分０秒（ＵＴＣ（Ｃｏｏｒｄｉｎａｔｅｄ  Ｕｎｉｖｅｒｓａｌ  Ｔｉｍｅ）））からの積算秒数を示す値が示されているとする。
【００３８】
そして、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０２の推定処理で、ステップＳ２０１の処理で生成した乱数が暗号化された乱数情報を送信するタイミングを推定し、推定したタイミングを当該積算秒数で示す値を決定する。ここで、決定された値を送信時刻値という。
【００３９】
クライアントコンピュータ１２０の制御部１２１は、送信時刻値を３で除算する（ステップＳ２０３）。そして、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０３の処理における除算結果の剰余の値に応じて、ステップＳ２０１の処理で生成した乱数を暗号化するためのサーバ証明書を決定する（ステップＳ２０４）。具体的には、例えば、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０３の処理における除算結果の剰余の値が０であった場合に、ステップＳ２０１の処理で生成した乱数を暗号化するために第１のサーバ証明書を用いると決定する。また、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０３の処理における除算結果の剰余の値が１であった場合に、ステップＳ２０１の処理で生成した乱数を暗号化するために第２のサーバ証明書を用いると決定する。クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０３の処理における除算結果の剰余の値が２であった場合に、ステップＳ２０１の処理で生成した乱数を暗号化するために第３のサーバ証明書を用いると決定する。
【００４０】
そして、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０４の処理で用いると決定したサーバ証明書に含まれている公開鍵で、ステップＳ２０１の処理で生成した乱数を暗号化する（ステップＳ２０５）。クライアントコンピュータ１２０の通信部１２２は、ステップＳ２０５の処理で暗号化した乱数を示す情報である乱数情報をサーバ１１０に送信する（ステップＳ２０６）。なお、本例では、クライアントコンピュータ１２０の通信部１２２は、ステップＳ２０２の推定処理で推定されたタイミングで乱数情報をサーバ１１０に送信するとする。また、クライアントコンピュータ１２０の通信部１２２は、ステップＳ２０２の推定処理で推定されたタイミングで乱数情報をサーバ１１０に送信するように構成されていることが望ましい。
【００４１】
また、クライアントコンピュータ１２０の制御部１２１は、ステップＳ２０１の処理で生成した乱数に基づいて、共通鍵を生成する（ステップＳ２０７）。なお、クライアントコンピュータ１２０の制御部１２１は、例えば、公知の方法で乱数に基づく共通鍵を生成する。また、乱数情報には、例えば、ステップＳ２０７の処理における共通鍵の生成方法を示す情報が含まれ、暗号化されていないヘッダ部に、送信時刻を示すタイムスタンプ（例えば、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）タイムスタンプ）が含まれているとする。
【００４２】
サーバ１１０の通信部１１２は、ステップＳ２０６の処理で送信された乱数情報を受信する（ステップＳ２０８）。そして、サーバ１１０の制御部１１１は、受信した乱数情報のヘッダ部に含まれているタイムスタンプに応じて、ステップＳ２０８の処理で受信した乱数情報を復号するための秘密鍵を決定する（ステップＳ２０９）。本例では、当該タイムスタンプによって、所定のタイミング（例えば、１９００年１月１日０時０分０秒（ＵＴＣ））から、乱数情報が送信されたタイミングまでの積算秒数を示す値が示されているとする。したがって、本例では、当該タイムスタンプによって、ステップＳ２０２の推定処理で推定され、決定された送信時刻値が示されているとする。
【００４３】
そして、サーバ１１０の制御部１１１は、ステップＳ２０９の処理で、当該タイムスタンプによって示されている値を３で除算する。そして、サーバ１１０の制御部１１１は、除算結果の剰余の値に応じて、ステップＳ２０８の処理で受信した乱数情報を復号するための秘密鍵を決定する。
【００４４】
具体的には、例えば、サーバ１１０の制御部１１１は、除算結果の剰余の値が０であった場合に、ステップＳ２０８の処理で受信した乱数情報を復号するために第１のサーバ証明書に応じた秘密鍵を用いると決定する。また、サーバ１１０の制御部１１１は、除算結果の剰余の値が１であった場合に、ステップＳ２０８の処理で受信した乱数情報を復号するために第２のサーバ証明書に応じた秘密鍵を用いると決定する。サーバ１１０の制御部１１１は、除算結果の剰余の値が２であった場合に、ステップＳ２０８の処理で受信した乱数情報を復号するために第３のサーバ証明書に応じた秘密鍵を用いると決定する。
【００４５】
そして、サーバ１１０の制御部１１１は、ステップＳ２０９の処理結果に応じて、記憶部１１３に記憶されている第１〜第３のサーバ証明書のいずれかに応じた秘密鍵で、通信部１１２が受信した乱数情報に含まれている、暗号化された乱数を復号する（ステップＳ２１０）。
【００４６】
サーバ１１０の制御部１１１は、ステップＳ２１０の処理で復号された乱数に基づいて、共通鍵を生成する（ステップＳ２１１）。なお、サーバ１１０の制御部１１１は、例えば、乱数情報に含まれている、ステップＳ２０７の処理における共通鍵の生成方法を示す情報に応じて、当該生成方法で、ステップＳ２１１の処理で、ステップＳ２１０の処理で復号された乱数に基づいて、共通鍵を生成する。すると、ステップＳ２１１の処理で、ステップＳ２０７の処理で生成された共通鍵と共通な共通鍵が生成される。
【００４７】
以上に述べたステップＳ２０１〜ステップＳ２１１の処理で、サーバ１１０とクライアントコンピュータ１２０とが、共通の共通鍵を生成することができる。
【００４８】
そして、サーバ１１０とクライアントコンピュータ１２０とは、それぞれ共通鍵を用いて、送受信する情報の暗号化および復号を行い、ユーザＩＤやパスワード等のログイン処理に用いられる情報の送受信や、その後の通信を行う（ステップＳ２１２）。
【００４９】
なお、サーバ１１０とクライアントコンピュータ１２０とによるＲＴＣを互いに同期させるためのステップＳ１０１，Ｓ１０２の処理は、ステップＳ２０２の処理よりも前のタイミングであればいつ行われてもよいが、ステップＳ２０２の処理の直前であることが好ましく、さらに、所定の時間間隔や、管理者の要求に応じたタイミングで適宜行われてもよい。そのような構成によれば、サーバ１１０のＲＴＣとクライアントコンピュータ１２０のＲＴＣとの差異の発生（つまり、送信時刻値を３で除算した結果の剰余の値の差異の発生）を良好に防止することができる。そして、サーバ１１０とクライアントコンピュータ１２０とが、共通の共通鍵を生成することができる。
【００５０】
本発明によれば、サーバ１１０とクライアントコンピュータ１２０とが、共通鍵の生成に用いる乱数が送信されるタイミングに基づいて、複数のサーバ証明書のうち、いずれを使うのかを決定する。そして、クライアントコンピュータ１２０が、決定したサーバ証明書の公開鍵で、共通鍵の生成に用いる乱数を暗号化して、サーバ１１０に送信する。さらに、クライアントコンピュータが、当該乱数に基づいて、共通鍵を生成する。また、サーバ１１０が、決定したサーバ証明書の秘密鍵で、クライアントコンピュータ１２０によって送信された、暗号化された乱数を復号する。そして、サーバ１１０が、復号後の乱数に基づいて、共通鍵を生成する。サーバ１１０とクライアントコンピュータ１２０とは、それぞれ送信する情報を共通鍵で暗号化し、受信した、暗号化された情報を共通鍵で復号する。
【００５１】
したがって、複数のサーバ証明書のうち、いずれか一のサーバ証明書に応じた秘密鍵が漏えいした場合であっても、他のサーバ証明書の公開鍵が用いられて暗号化された乱数が漏えいすることがない。そして、サーバ１１０とクライアントコンピュータ１２０とが、当該乱数に基づいて生成された共通鍵を用いることによって、情報が漏えいするリスクを良好に低減することができる。
【００５２】
なお、本例では、３つのサーバ証明書がサーバ１１０の記憶部１１３に記憶されていることに応じて、ステップＳ２０３，Ｓ２０９の処理で、送信時刻値を３で除算した剰余に基づいて、３つのサーバ証明書のいずれを用いるのかが決定されている。しかし、サーバ１１０の記憶部１１３に２以上のサーバ証明書が記憶されていれば、本発明を適用可能である。
【００５３】
つまり、ステップＳ２０３，Ｓ２０９の処理で、サーバ１１０の記憶部１１３に記憶されているサーバ証明書の数で、送信時刻値を除算し、除算結果の剰余に基づいて、それらサーバ証明書のいずれを用いるのかが決定されればよい。なお、サーバ１１０の記憶部１１３に記憶されているサーバ証明書の数がより多いと、各サーバ証明書が用いられる確率がより低下し、したがって、一のサーバ証明書が漏えいした場合であっても、当該サーバ証明書が用いられる確率がより低下する。したがって、サーバ１１０の記憶部１１３に記憶されているサーバ証明書の数がより多いと、情報が漏えいするリスクを良好により低減することができる。
【００５４】
実施形態２．
次に、本発明の第２の実施形態の通信システムについて、図面を参照して説明する。図４は、本発明の第２の実施形態の通信システムの構成例を示すブロック図である。図４に示すように、本発明の第２の実施形態の通信システムは、一方の通信装置１０と他方の通信装置２０とを含む。
【００５５】
一方の通信装置は、図１に示す本発明の第１の実施形態におけるサーバ１１０に相当する。他方の通信装置は、図１に示す本発明の第１の実施形態におけるクライアントコンピュータ１２０に相当する。
【００５６】
一方の通信装置１０は、一方の記憶部１１、一方の決定部１２、暗号化部１３、送信部１４、一方の共通鍵生成部１５、および一方の通信部１６を含む。
【００５７】
一方の記憶部１１は、図１に示す本発明の第１の実施形態における記憶部１１３に相当する。一方の決定部１２、暗号化部１３、および一方の共通鍵生成部１５は、図１に示す本発明の第１の実施形態における制御部１１１に相当する。送信部１４、および一方の通信部１６は、図１に示す本発明の第１の実施形態における通信部１１２に相当する。
【００５８】
一方の記憶部１１には、一方の通信装置１０と他方の通信装置２０との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている。
【００５９】
一方の決定部１２は、暗号化された共通鍵設定用情報が送信されるタイミングに基づいて、一方の記憶部１１に記憶されている複数の暗号化用情報から共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する。
【００６０】
暗号化部１３は、一方の決定部１２の決定結果に応じて、一方の記憶部１１に記憶されている一の暗号化用情報に基づいて、共通鍵設定用情報を暗号化する。
【００６１】
送信部１４は、暗号化部１３によって暗号化された共通鍵設定用情報を他方の通信装置２０に送信する。
【００６２】
一方の共通鍵生成部１５は、共通鍵設定用情報に基づいて共通鍵を生成する。
【００６３】
一方の通信部１６は、一方の共通鍵生成部１５が生成した共通鍵を用いて他方の通信装置２０との間で暗号化通信を行う。
【００６４】
他方の通信装置２０は、受信部２１、他方の記憶部２２、他方の決定部２３、復号部２４、他方の共通鍵生成部２５、および他方の通信部２６を含む。
【００６５】
受信部２１および他方の通信部２６は、図１に示す本発明の第１の実施形態における通信部１２２に相当する。他方の記憶部２２は、図１に示す本発明の第１の実施形態における記憶部１２３に相当する。他方の決定部２３、復号部２４、および他方の共通鍵生成部２５は、図１に示す本発明の第１の実施形態における制御部１２１に相当する。
【００６６】
受信部２１は、送信部１４によって送信された、暗号化された共通鍵設定用情報を受信する。
【００６７】
他方の記憶部２２には、一方の記憶部１１に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている。
【００６８】
他方の決定部２３は、暗号化された共通鍵設定用情報が送信されたタイミングに基づいて、他方の記憶部２２に記憶されている複数の復号用情報から共通鍵設定用情報の復号に用いられる一の復号用情報を決定する。
【００６９】
復号部２４は、他方の決定部２３の決定結果に応じて、他方の記憶部２２に記憶されている一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する。
【００７０】
他方の共通鍵生成部２５は、復号部２４によって復号された共通鍵設定用情報に基づいて共通鍵を生成する。
【００７１】
他方の通信部２６は、他方の共通鍵生成部２５が生成した共通鍵を用いて一方の通信装置１０との間で暗号化通信を行う。
【００７２】
本実施形態によれば、一方の通信装置１０の送信部１４が、一方の決定部１２によって一方の記憶部１１に記憶されている複数の暗号化用情報から決定された、一の暗号化用情報に基づいて暗号化された共通鍵設定用情報を送信する。また、一方の通信装置１０の一方の共通鍵生成部１５が、当該共通鍵設定用情報に基づいて共通鍵を生成する。そして、他方の通信装置２０の復号部２４が、複数の復号用情報から決定された、一の復号用情報に基づいて、暗号化された共通鍵設定用情報を復号する。また、他方の通信装置２０の共通鍵生成部２５が、復号された当該共通鍵設定用情報に基づいて共通鍵を生成する。そして、一方の通信装置１０の一方の通信部１６と他方の通信装置２０の他方の通信部２６との間で、共通鍵が用いられて暗号化通信が行われる。
【００７３】
したがって、共通鍵設定用情報は、複数の暗号化用情報から決定された一の暗号化用情報に基づいて暗号化されて送信されるので、複数の復号用情報のいずれかが漏えいした場合であっても、その他の暗号化用情報に基づいて暗号化されて送信されていれば、各通信装置と共通な共通鍵が生成されることがない。よって、情報が漏えいするリスクを良好に低減することができる。
【００７４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００７５】
（付記１）一方の通信装置と他方の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている一方の記憶手段と、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記一方の記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する一方の決定手段と、前記一方の決定手段の決定結果に応じて、前記一方の記憶手段に記憶されている前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化手段と、前記暗号化手段によって暗号化された前記共通鍵設定用情報を前記他方の通信装置に送信する送信手段と、前記共通鍵設定用情報に基づいて前記共通鍵を生成する一方の共通鍵生成手段と、前記一方の共通鍵生成手段が生成した前記共通鍵を用いて前記他方の通信装置との間で暗号化通信を行う一方の通信手段とを含む前記一方の通信装置、および前記送信手段によって送信された、暗号化された前記共通鍵設定用情報を受信する受信手段と、前記一方の記憶手段に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている他方の記憶手段と、暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記他方の記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する他方の決定手段と、前記他方の決定手段の決定結果に応じて、前記他方の記憶手段に記憶されている前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号手段と、前記復号手段によって復号された前記共通鍵設定用情報に基づいて前記共通鍵を生成する他方の共通鍵生成手段と、前記他方の共通鍵生成手段が生成した前記共通鍵を用いて前記一方の通信装置との間で暗号化通信を行う他方の通信手段とを含む前記他方の通信装置を備えたことを特徴とする通信システム。
【００７６】
（付記２）前記一方の通信装置は、前記送信手段が前記共通鍵設定用情報を送信するタイミングを推測するタイミング推測手段と、前記タイミング推測手段によって推測されたタイミングに応じた値を、前記一方の記憶手段に記憶されている暗号化用情報の数以下の整数で除算する暗号化用除算手段とを含み、前記一方の決定手段は、前記暗号化用除算手段による除算結果の剰余の値に応じて、前記一方の記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する付記１に記載の通信システム。
【００７７】
（付記３）前記他方の通信装置は、暗号化された前記共通鍵設定用情報が送信されたタイミングに応じた値を、前記一方の記憶手段に記憶されている暗号化用情報の数以下の整数で除算する復号用除算手段を含み、前記他方の決定手段は、前記復号用除算手段による除算結果の剰余の値に応じて、前記他方の記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する付記１または付記２に記載の通信システム。
【００７８】
（付記４）前記一方の通信装置および前記他方の通信装置は、設定されている時刻を互いに同期させることが可能な時刻同期手段をそれぞれ含む付記１から付記３のうちいずれかに記載の通信システム。
【００７９】
（付記５）前記共通鍵設定用情報は、乱数である付記１から付記４のうちいずれかに記載の通信システム。
【００８０】
（付記６）通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための暗号化用情報が複数記憶されている記憶手段と、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定手段と、前記決定手段の決定結果に応じて、前記記憶手段に記憶されている前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化手段と、前記暗号化手段によって暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信手段と、前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成手段と、前記共通鍵生成手段が生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信手段とを備えたことを特徴とする通信装置。
【００８１】
（付記７）前記送信手段が前記共通鍵設定用情報を送信するタイミングを推測するタイミング推測手段と、前記タイミング推測手段によって推測されたタイミングに応じた値を、前記記憶手段に記憶されている暗号化用情報の数以下の整数で除算する除算手段とを含み、前記決定手段は、前記除算手段による除算結果の剰余の値に応じて、前記記憶手段に記憶されている複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する付記６に記載の通信装置。
【００８２】
（付記８）暗号化されて通信相手の通信装置の送信手段によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信手段と、前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報が記憶されている記憶手段と、暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定手段と、前記決定手段の決定結果に応じて、前記記憶手段に記憶されている前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号手段と、前記復号手段によって復号された前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成手段と、前記共通鍵生成手段が生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信手段とを備えたことを特徴とする通信装置。
【００８３】
（付記９）暗号化された前記共通鍵設定用情報が送信されたタイミングに応じた値を、前記通信相手の通信装置に記憶されている暗号化用情報の数以下の整数で除算する除算手段を含み、前記決定手段は、前記除算手段による除算結果の剰余の値に応じて、前記記憶手段に記憶されている複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する付記８に記載の通信装置。
【００８４】
（付記１０）通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定ステップと、前記決定ステップにおける決定結果に応じて、前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化ステップと、前記暗号化ステップで暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信ステップと、前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成ステップと、前記共通鍵生成ステップで生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信ステップとを含むことを特徴とする通信方法。
【００８５】
（付記１１）前記送信ステップで前記共通鍵設定用情報を送信するタイミングを推測するタイミング推測ステップと、前記タイミング推測ステップで推測されたタイミングに応じた値を、前記共通鍵設定用情報を暗号化するための複数の暗号化用情報の数以下の整数で除算する除算ステップとを含み、前記決定ステップで、前記除算ステップにおける除算結果の剰余の値に応じて、前記複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する付記１０に記載の通信方法。
【００８６】
（付記１２）暗号化されて通信相手の通信装置によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信ステップと、暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定ステップと、前記決定ステップにおける決定結果に応じて、前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号ステップと、前記復号ステップで復号した前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成ステップと、前記共通鍵生成ステップで生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信ステップとを含むことを特徴とする通信方法。
【００８７】
（付記１３）暗号化された前記共通鍵設定用情報が送信されたタイミングに応じた値を前記通信相手の通信装置に記憶されている暗号化用情報の数以下の整数で除算する除算ステップを含み、前記決定ステップで、前記除算ステップにおける除算結果の剰余の値に応じて、前記複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する付記１２に記載の通信方法。
【００８８】
（付記１４）コンピュータに、通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を暗号化するための複数の暗号化用情報から、暗号化された前記共通鍵設定用情報が送信されるタイミングに基づいて、前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定する決定処理と、前記決定処理における決定結果に応じて、前記一の暗号化用情報に基づいて、前記共通鍵設定用情報を暗号化する暗号化処理と、前記暗号化処理で暗号化された前記共通鍵設定用情報を前記通信相手の通信装置に送信する送信処理と、前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成処理と、前記共通鍵生成処理で生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させるための通信用プログラム。
【００８９】
（付記１５）コンピュータに、前記送信処理で前記共通鍵設定用情報を送信するタイミングを推測するタイミング推測処理と、前記タイミング推測処理で推測されたタイミングに応じた値を、前記共通鍵設定用情報を暗号化するための暗号化用情報の数以下の整数で除算する除算処理とを実行させ、前記決定処理で、前記除算処理における除算結果の剰余の値に応じて、前記複数の暗号化用情報から前記共通鍵設定用情報の暗号化に用いられる一の暗号化用情報を決定させる付記１４に記載の通信用プログラム。
【００９０】
（付記１６）コンピュータに、暗号化されて通信相手の通信装置によって送信された、前記通信相手の通信装置との間の通信に用いられる共通鍵を生成するための共通鍵設定用情報を受信する受信処理と、暗号化された前記共通鍵設定用情報が送信されたタイミングに基づいて、前記通信相手の通信装置に記憶されている複数の暗号化用情報にそれぞれ対応し、対応する暗号化用情報が用いられて暗号化された情報を復号可能な複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定する決定処理と、前記決定処理における決定結果に応じて、前記一の復号用情報に基づいて、暗号化された前記共通鍵設定用情報を復号する復号処理と、前記復号処理で復号した前記共通鍵設定用情報に基づいて前記共通鍵を生成する共通鍵生成処理と、前記共通鍵生成処理で生成した前記共通鍵を用いて前記通信相手の通信装置との間で暗号化通信を行う通信処理とを実行させるための通信用プログラム。
【００９１】
（付記１７）コンピュータに、暗号化された前記共通鍵設定用情報が送信されたタイミングに応じた値を、前記通信相手の通信装置に記憶されている暗号化用情報の数以下の整数で除算する除算処理を実行させ、前記決定処理で、前記除算処理における除算結果の剰余の値に応じて、前記複数の復号用情報から前記共通鍵設定用情報の復号に用いられる一の復号用情報を決定させる付記１６に記載の通信用プログラム。
【符号の説明】
【００９２】
１０    一方の通信装置
１１    一方の記憶部
１２    一方の決定部
１３    暗号化部
１４    送信部
１５    一方の共通鍵生成部
１６    一方の通信部
２０    他方の通信装置
２１    受信部
２２    他方の記憶部
２３    他方の決定部
２４    復号部
２５    他方の共通鍵生成部
２６    他方の通信部
１００    情報送受信システム
１１０    サーバ
１１１、１２１    制御部
１１２、１２２    通信部
１１３、１２３    記憶部
１２０    クライアントコンピュータ
【図１】
2017092584.tif 000003
【図２】
2017092584.tif 000004
【図３】
2017092584.tif 000005
【図４】
2017092584.tif 000006