(57)【要約】  端末装置（１０）の第１共通鍵作成部（１０２）は、現在の時間を示す時間情報に基づいて第１共通鍵を作成して保存する。データ暗号化部（１０３）は、第１共通鍵で任意データを暗号化してデータ送信部（１０４）がサーバ（２０）に送信する。サーバ（２０）の第２共通鍵作成部（２０４）は、現在の時間を示す時間情報に基づいて第２共通鍵を作成し、データ復号部（２０５）が第２共通鍵を用いて暗号化された任意データの復号に成功した場合に、第２共通鍵を保存する。
2021038804.tif 000002
【特許請求の範囲】
【請求項１】
第１装置と第２装置とを備えるデータ送受信システムであって、
前記第１装置は、
現在の時間を示す時間情報に基づいて第１共通鍵を作成して前記第１装置内に保存する第１共通鍵作成部と、
前記第１共通鍵を用いて前記第２装置から通知された任意データを暗号化するデータ暗号化部と、
暗号化した前記任意データを前記第２装置に送信するデータ送信部と、を備え、
前記第２装置は、
前記第１装置から暗号化された前記任意データを受信するデータ受信部と、
現在の時間を示す時間情報に基づいて第２共通鍵を作成する第２共通鍵作成部と、
前記第２共通鍵を用いて受信した暗号化された前記任意データを復号するデータ復号部と、を備え、
前記第２共通鍵作成部は、前記データ復号部が前記任意データの復号に成功した場合に、当該復号に用いた前記第２共通鍵を前記第２装置内に保存する、
データ送受信システム。
【請求項２】
前記第２装置は、
前記データ復号部が前記任意データの復号に成功した場合に、前記第１装置と前記第２装置との間で送受信するデータの暗号化及び該暗号化されたデータの復号に用いる可変暗号鍵を、前記第２共通鍵を用いて暗号化する暗号鍵暗号化部と、
暗号化した前記可変暗号鍵を前記第１装置に送信する暗号鍵送信部と、をさらに備え、
前記第１装置は、
前記第１装置から暗号化された前記可変暗号鍵を受信する暗号鍵受信部と、
前記第１共通鍵を用いて暗号化された前記可変暗号鍵を復号する暗号鍵復号部と、をさらに備える、
請求項１に記載のデータ送受信システム。
【請求項３】
前記第１共通鍵作成部は、前記任意データに基づいて加工した時間情報に基づいて前記第１共通鍵を作成し、
前記第２共通鍵作成部は、前記任意データに基づいて加工した時間情報に基づいて前記第２共通鍵を作成する、
請求項１又は２に記載のデータ送受信システム。
【請求項４】
前記第２共通鍵作成部は、前記データ復号部が前記任意データの復号に失敗した場合に、前記第２共通鍵の作成に使用した時間情報が示す時間から所定時間を減算した時間情報に基づいて、前記第２共通鍵を再度作成する、
請求項１から３の何れか１項に記載のデータ送受信システム。
【請求項５】
第１装置と第２装置への共通鍵の配布方法であって、
前記第１装置が、
現在の時間を示す時間情報に基づいて第１共通鍵を作成して前記第１装置内に保存し、
前記第１共通鍵を用いて前記第２装置から通知された任意データを暗号化し、
暗号化した前記任意データを前記第２装置に送信し、
前記第２装置が、
前記第１装置から暗号化された前記任意データを受信し、
現在の時間を示す時間情報に基づいて第２共通鍵を作成し、
前記第２共通鍵を用いて受信した暗号化された前記任意データを復号し、
前記任意データの復号に成功した場合に、当該復号に用いた前記第２共通鍵を前記第２装置内に保存する、
共通鍵の配布方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ送受信システム及び共通鍵の配布方法に関する。
【背景技術】
【０００２】
クライアント−サーバ間、端末間等でデータを送受信する際、共通鍵方式でデータを暗号化することが行われている。この場合、データの送信側と受信側との双方に共通鍵を配布しておく必要がある。共通鍵の配布方法としては、インターネットを介して行う方法が考えられるが、ハッキング等によって共通鍵が外部に漏洩してしまう可能性がある。特許文献１には、鍵管理センタが郵送などによって共通鍵をユーザ側装置のユーザに通知することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２０８４１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の共通鍵の配布方式では、ハッキング等による漏洩の可能性は少ないものの、共通鍵を郵送する手間とコストがかかる。また、特許文献１に記載の共通鍵の配布方式では、ユーザが郵送などで通知された共通鍵をユーザ側装置に入力する作業が必要である。【０００５】
本発明は、上記実情に鑑みてなされたものであり、手間やコストがかからず、セキュリティの高い共通鍵の配布が可能なデータ送受信システム等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明に係るデータ送受信システムは、
第１装置と第２装置とを備えるデータ送受信システムであって、
前記第１装置は、
現在の時間を示す時間情報に基づいて第１共通鍵を作成して前記第１装置内に保存する第１共通鍵作成部と、
前記第１共通鍵を用いて前記第２装置から通知された任意データを暗号化するデータ暗号化部と、
暗号化した前記任意データを前記第２装置に送信するデータ送信部と、を備え、
前記第２装置は、
前記第１装置から暗号化された前記任意データを受信するデータ受信部と、
現在の時間を示す時間情報に基づいて第２共通鍵を作成する第２共通鍵作成部と、
前記第２共通鍵を用いて受信した暗号化された前記任意データを復号するデータ復号部と、を備え、
前記第２共通鍵作成部は、前記データ復号部が前記任意データの復号に成功した場合に、当該復号に用いた前記第２共通鍵を前記第２装置内に保存する。
【発明の効果】
【０００７】
本発明によれば、手間やコストがかからず、セキュリティの高い共通鍵の配布が可能となる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るデータ送受信システムの構成例を示す図
【図２】本発明の実施形態に係る端末装置の構成例を示すブロック図
【図３】本発明の実施形態に係るサーバの構成例を示すブロック図
【図４】本発明の実施形態に係る端末装置とサーバの機能構成を示す図
【図５】本発明の実施形態に係る鍵配布処理を示すフローチャート（その１）
【図６】本発明の実施形態に係る鍵配布処理を示すフローチャート（その２）
【図７】本発明の実施形態に係る処理開始画面の例を示す図
【図８】本発明の実施形態に係る時間情報の変換例を説明する図
【発明を実施するための形態】
【０００９】
（実施形態）
以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、図中、同一または同等の部分には同一の符号を付す。
【００１０】
図１は、本発明の実施形態に係るデータ送受信システム１の全体構成を示す図である。データ送受信システム１は、端末装置１０とサーバ２０とを備える。端末装置１０とサーバ２０とは、インターネット３０を介して接続されている。データ送受信システム１は、端末装置１０とサーバ２０との間で、共通鍵方式で暗号化されたデータの送受信を行うシステムである。共通鍵方式で暗号化されたデータの送受信を行うためには、端末装置１０とサーバ２０との双方で、同一の共通鍵を保存しておく必要がある。端末装置１０は、本発明の第１装置の一例である。サーバ２０は、本発明の第２装置の一例である。
【００１１】
端末装置１０は、例えば、ユーザによって操作されるスマートフォンやタブレット端末やＰＣ（Personal Computer）等である。端末装置１０は、インターネット３０を介して、サーバ２０に接続される。端末装置１０は、図２に示すように、通信部１１と、入力部１２と、表示部１３と、記憶部１４と、制御部１５と、を備える。
【００１２】
通信部１１は、通信インタフェースを備え、制御部１５の制御の下、インターネット３０を介して、サーバ２０とデータ通信を行う。例えば、後述する鍵配布処理において、通信部１１は、暗号化された任意データをサーバ２０に送信する。
【００１３】
入力部１２は、キーボード、マウス、タッチパネル等であり、端末装置１０に様々な情報を入力するために使用される。
【００１４】
表示部１３は、例えば液晶ディスプレイ等であり、制御部１５の制御の下、様々な情報を出力する。例えば、後述する鍵配布処理において、表示部１３には処理開始画面が表示される。
【００１５】
記憶部１４は、例えば、ハードディスクトライブやフラッシュメモリであり、端末装置１０が動作するために必要な各種のデータやプログラムを記憶する。また、後述する鍵配布処理を実行することで、記憶部１４には第１共通鍵と可変暗号鍵とが保存される。
【００１６】
制御部１５は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等（何れも図示せず）を備える。ＣＰＵは、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部１４に記憶されている各種プログラムを適宜実行する。これにより、制御部１５は、端末装置１０の全体を制御する。
【００１７】
続いて、サーバ２０について説明する。サーバ２０は、図３に示すように、通信部２１と、記憶部２２と、制御部２３と、を備える。なお、サーバ２０は、１台のコンピュータから構成されていてもよいし、複数台のコンピュータから構成されていてもよい。
【００１８】
通信部２１は、制御部２３の制御の下、インターネット３０を介して、端末装置１０とデータ通信を行う。通信部２１は、例えば、ＮＩＣ（Network Interface Card）などの通信インタフェースを備える。例えば、後述する鍵配布処理において、通信部２１は、暗号化された任意データを端末装置１０から受信する。
【００１９】
記憶部２２は、ハードディスクドライブなどであり、サーバ２０が動作するために必要な各種のデータを記憶する。例えば、記憶部２２は、各ユーザのユーザＩＤ、パスワード、電話番号、住所等が格納された顧客ＤＢ（データベース）２２１を記憶している。また、後述する鍵配布処理を実行することで、記憶部２２には第２共通鍵と可変暗号鍵とが保存される。
【００２０】
制御部２３は、ＣＰＵ、ＲＯＭ、ＲＡＭ等（何れも図示せず）を備える。ＣＰＵは、ＲＡＭをワークメモリとして用い、ＲＯＭや記憶部２２に記憶されている各種プログラムを適宜実行する。これにより、制御部２３は、サーバ２０の全体を制御する。
【００２１】
続いて、端末装置１０とサーバ２０の機能的な構成について、図４を参照して説明する。
【００２２】
端末装置１０は、機能的な構成として、ログイン部１０１と、第１共通鍵作成部１０２と、データ暗号化部１０３と、データ送信部１０４と、暗号鍵受信部１０５と、暗号鍵復号部１０６と、データ送受信部１０７と、を備える。これらの各部１０１〜１０７は、通信部１１、入力部１２、表示部１３、記憶部１４、及び制御部１５により実現される。
【００２３】
サーバ２０は、機能的な構成として、ユーザ認証部２０１と、任意データ通知部２０２と、データ受信部２０３と、第２共通鍵作成部２０４と、データ復号部２０５と、暗号鍵暗号化部２０６と、暗号鍵送信部２０７と、データ送受信部２０８と、を備える。これらの各部２０１〜２０８は、通信部２１、記憶部２２、及び制御部２３により実現される。
【００２４】
ログイン部１０１は、サーバ２０にログイン要求を送信する。ユーザ認証部２０１は、ログイン要求に含まれるユーザＩＤ、パスワード等に基づいて、ユーザを認証する。また、ログイン部１０１は、任意データ通知部２０２から返信された画面データに基づいて、処理開始画面を表示する。
【００２５】
任意データ通知部２０２は、ランダムな数字を含んだデータである任意データを処理開始画面の画面データに埋め込み、端末装置１０に送信する。
【００２６】
第１共通鍵作成部１０２は、現在の時間を示す時間データを任意データに応じて加工し、加工後の時間データに基づいて第１共通鍵を作成し、記憶部１４に保存する。作成した第１共通鍵は任意データの暗号化と可変暗号鍵の復号とに利用される。
【００２７】
データ暗号化部１０３は、第１共通鍵作成部１０２が作成した第１共通鍵を用いてサーバ２０から受信した任意データを暗号化する。データ送信部１０４は、暗号化された任意データをサーバ２０に送信する。データ受信部２０３は、暗号化された任意データを受信する。
【００２８】
第２共通鍵作成部２０４は、現在の時間を示す時間データを任意データに応じて加工し、加工後の時間データに基づいて第２共通鍵を作成する。作成した第２共通鍵は暗号化された任意データの復号と可変暗号鍵の暗号化とに利用される。また、第２共通鍵作成部２０４は、データ復号部２０５が任意データの復号に成功した場合、当該復号に用いた第２共通鍵を記憶部２２に保存する。
【００２９】
データ復号部２０５は、第２共通鍵を用いて暗号化された任意データを復号する。第２共通鍵作成部２０４が作成した第２共通鍵は、第１共通鍵作成部１０２が作成した第１共通鍵と同一である。そのため、第１共通鍵で暗号化された任意データは、第２共通鍵を用いて復号することができる。
【００３０】
暗号鍵暗号化部２０６は、端末装置１０とサーバ２０との間で送受信するデータの暗号化及び暗号化されたデータの復号に使用する可変暗号鍵を作成し、記憶部２２に保存する。また、暗号鍵暗号化部２０６は、作成した可変暗号鍵を第２共通鍵で暗号化する。
【００３１】
暗号鍵送信部２０７は、暗号化された可変暗号鍵を端末装置１０に送信する。暗号鍵受信部１０５は、暗号化された可変暗号鍵を受信して、記憶部１４に保存する。
【００３２】
暗号鍵受信部１０５は、サーバ２０から暗号化された可変暗号鍵を受信する。暗号鍵復号部１０６は、第１共通鍵を用いて、暗号化された可変暗号鍵を復号し、記憶部１４に保存する。
【００３３】
端末装置１０のデータ送受信部１０７とサーバ２０のデータ送受信部２０８は、端末装置１０とサーバ２０との間で、双方の記憶部１４、２２に保存されている可変暗号鍵を用いたデータの送受信を行う。具体的には、データの送信をする際に、データ送受信部１０７、２０８は、可変暗号鍵を用いて当該データを暗号化してから送信する。また、暗号化されたデータを受信した際に、データ送受信部１０７、２０８は、可変暗号鍵を用いてデータを復号する。
【００３４】
続いて、上述したデータ送受信システム１で実施される鍵配布処理について、図５〜図６のフローチャートを用いて説明する。鍵配布処理は、端末装置１０がサーバ２０に初回にログインする際に実行される。
【００３５】
ユーザは、端末装置１０の入力部１２を操作して、表示部１３に表示されている図示せぬログイン画面に自分のユーザＩＤとパスワードとを入力し、所定の操作を行う。この操作に応答して、端末装置１０のログイン部１０１は、入力されたユーザＩＤとパスワードとを含んだログイン要求を、インターネット３０を介して、サーバ２０に送信する（ステップＳ１０１）。
【００３６】
サーバ２０のユーザ認証部２０１は、ログイン要求を受信すると、ログイン要求に含まれるユーザＩＤとパスワードとの組を含んだレコードが顧客ＤＢ２２１に記憶されていることを確認することで、当該ユーザＩＤが示すユーザを認証する（ステップＳ１０２）。そのようなレコードが記憶されていない場合、ログイン処理はエラーとして終了する。なお、ユーザ認証部２０１は、さらに、当該ユーザの電話番号宛に電話発信し、応答を確認することでユーザを認証してもよい。
【００３７】
ユーザを認証できた後、任意データ通知部２０２は、ランダムな数字を含んだデータである任意データを作成する。そして、任意データ通知部２０２は、作成した任意データを埋め込んだ処理開始画面の画面データを端末装置１０に送信する（ステップＳ１０３）。なお、任意データ通知部２０２は、画面データに埋め込まずに、画面データと任意データとを別個に端末装置１０に送信してもよい。
【００３８】
端末装置１０のログイン部１０１は、受信した画面データに基づいて、図７に示す処理開始画面を表示部１３に表示させる（ステップＳ１０４）。なお、処理開始画面には、画面データに埋め込まれている任意データは表示されない。ユーザは、画面の指示に従い、入力部１２を操作して、処理開始画面の「処理開始」ボタンをクリックする。
【００３９】
当該クリック操作に応じて、第１共通鍵作成部１０２は、任意データを暗号化するための第１共通鍵を作成するための処理を行う。即ち、まず、第１共通鍵作成部１０２は、現在の時間（年、月、日、時、分、秒）を示す時間情報を取得する（ステップＳ１０５）。具体的には、第１共通鍵作成部１０２は、図示せぬ送信局から送信されている標準電波を受信し、当該標準電波を復調、復号することで正確な時間情報を取得すればよい。ここで取得した時刻情報は例えば「２０１９０７０１１３４５２９」のような数字を示すデータであり、この例では「２０１９年７月１日１３時４５分２９秒」を示す。なお、第１共通鍵作成部１０２は、年月日を含まない時刻を示す情報のみを時間情報として取得してもよい。
【００４０】
続いて、第１共通鍵作成部１０２は、サーバ２０から受信した画面データに埋めこまれている任意データに基づいて、取得した時間情報を加工する（ステップＳ１０６）。具体的には、第１共通鍵作成部１０２は、任意データが示す数値の下一桁の値が５未満であれば、当該値を時間情報が示す秒の値に加算する加工を行う。また、第１共通鍵作成部１０２は、任意データが示す数値の下一桁の値が５以上であれば、９から当該値を減算した値を時間情報が示す秒の値から減算する加工を行う。例えば、時間情報「２０１９０７０１１３４５２９」を任意データ「２４６８」に基づいて加工した場合、加工後の時間情報は「２０１９０７０１１３４５２８」となる。なお、上記は一例であり、任意データに基づいてどのように時間情報を加工するかは種々の手法が採用可能である。
【００４１】
続いて、第１共通鍵作成部１０２は、ステップＳ１０６で加工された時間情報の秒の値の下一桁を０に変換する（ステップＳ１０７）。例えば、ステップＳ１０７の処理により、時間情報「２０１９０７０１１３４５２８」は、「２０１９０７０１１３４５２０」に変換される。
【００４２】
続いて、第１共通鍵作成部１０２は、ステップＳ１０７で変換された時間情報から任意データを暗号化するための第１共通鍵を作成し、記憶部１４に保存する（ステップＳ１０８）。具体的には、第１共通鍵作成部１０２は、時間情報をハッシュ化したハッシュ値を第１共通鍵として作成する。なお、ハッシュ化は一例であり、第１共通鍵作成部１０２がどのように時間情報から第１共通鍵を作成するかは種々の手法が採用可能である。
【００４３】
続いて、データ暗号化部１０３は、第１共通鍵作成部１０２が作成した第１共通鍵を用いて任意データを暗号化する（ステップＳ１０９）。なお、ここで暗号化され任意データは、暗号化に用いられた第１共通鍵と同一の共通鍵でなければ復号することができない。
【００４４】
続いて、データ送信部１０４は、データ暗号化部１０３によって暗号化された任意データをサーバ２０に送信する（ステップＳ１１０）。
【００４５】
サーバのデータ受信部２０３は、端末装置１０から暗号化された任意データを受信する（ステップＳ１１１）。
【００４６】
続いて、第２共通鍵作成部２０４は、暗号化された任意データを復号するための第２共通鍵を作成するための処理を行う。即ち、第２共通鍵作成部２０４は、現在の時間情報を取得する（ステップＳ１１２）。そして、第２共通鍵作成部２０４は、取得した時間情報を任意データに基づいて加工する（ステップＳ１１３）。そして、第２共通鍵作成部２０４は、加工された時間情報の秒の下一桁の値を０に変換し（ステップＳ１１４）、変換された時間情報から第２共通鍵を作成する（ステップＳ１１５）。なお、ステップＳ１１２〜Ｓ１１５の処理は、端末装置１０で実行されたステップＳ１０５〜Ｓ１０８での第１共通鍵を作成する処理と実質的に同じ内容の処理である。
【００４７】
続いて、データ復号部２０５は、作成した第２共通鍵を用いて、受信した暗号化された任意データの復号を試みる（図６のステップＳ１１６）。復号に成功するためには、復号に用いる第２共通鍵が、暗号化に用いられた第１共通鍵と同一である必要がある。
【００４８】
ここで、ステップＳ１０５からステップＳ１１２までの処理は比較的高速で実施されるため、ステップＳ１０５で取得した時間情報と、ステップＳ１１２で取得した時間情報との間の時間差はほとんど無い。また、ステップＳ１０７およびＳ１１４で時間情報の秒の下１桁の値は切り捨てられて０に変換される。そのため、ステップＳ１０７での変換後の時刻情報とステップＳ１１４での変換後の時刻情報とは同一である可能性が高い。そして、この場合、ステップＳ１０８において端末装置１０で作成された第１共通鍵とステップＳ１１５においてサーバ２０で作成された第２共通鍵とは同一となり、ステップＳ１１６での復号は成功する（ステップＳ１１７；Ｙｅｓ）。そして、処理はステップＳ１２０に移る。
【００４９】
一方、処理に時間がかかった場合やタイミングによっては、ステップＳ１０７で変換された時刻情報とステップＳ１１４で変換された時刻情報とが比較的大きく異なっている可能性もある。この場合、これらの時刻情報からそれぞれ作成された第１共通鍵と第２共通鍵は異なることになる。そのため、ステップＳ１１６での復号は失敗する（ステップＳ１１７；Ｎｏ）。そのため、第２共通鍵作成部２０４は、時刻情報のズレを補うために、ステップＳ１１２で取得した時間情報が示す秒の値を１０減算する（ステップＳ１１８）。そして、第２共通鍵作成部２０４は、減算後の時間情報を任意データに基づいて加工し（図５、ステップＳ１１３）、秒の下一桁を０に変換する（ステップＳ１１４）。そして、第２共通鍵作成部２０４は、変換後の時間情報から第２共通鍵を再度作成する（ステップＳ１１５）。
【００５０】
そして、第２共通鍵作成部２０４は、再作成した第２共通鍵を用いて暗号化された任意データを復号する処理を再度試みる（図６、ステップＳ１１６）。復号に成功した場合（ステップＳ１１７；Ｙｅｓ）、処理はステップＳ１２０に移る。一方、復号に失敗した場合（ステップＳ１１７；Ｎｏ）、第２共通鍵作成部は、秒の値を２０、３０・・・とさらに大きな値で時刻情報を減算し（ステップＳ１１８）、任意データに基づいて加工し（図５、ステップＳ１１３）、秒の下一桁を０に変換（ステップＳ１１４）した時刻情報から第２共通鍵を再度作成し（ステップＳ１１５）、作成した第２共通鍵を用いて復号する処理（図６、ステップＳ１１６）を繰り返す。なお、第２共通鍵作成部２０４は、所定回数（例えば、３回）繰り返しても復号できなかった場合はエラーとして処理を終了させる。
【００５１】
ここで、第１共通鍵と第２共通鍵を作成するために使用される時間情報の変換の具体例について、図８を用いて説明する。なお、この例では任意データの値は「１２３４」とする。
【００５２】
例えば、ステップＳ１０５で端末装置１０が取得した時間情報が「２０１９０７０１１０２５２５」とする。この時間情報は、ステップＳ１０６で任意データ「１２３４」の下一桁「４」が秒に加算されて「２０１９０７０１１０２５２９」に加工される。そして、加工後の時間情報は、ステップＳ１０７で秒の下一桁が０の「２０１９０７０１１０２５２０」に変換される。そして、ステップＳ１０８でこの時間情報から第１共通鍵が作成される。
【００５３】
一方、その後、ステップ１１２においてサーバ２０側でも時間情報が取得されるが、端末装置１０での時間情報の取得から２秒が経過しており、取得された時間情報は「２０１９０７０１１０２５２７」である。そしてこの時間情報は、ステップＳ１１３で任意データ「１２３４」の下一桁「４」が秒に加算されて「２０１９０７０１１０２５３１」に加工される。そして、加工後の時間情報は、ステップＳ１１４で秒の下一桁が０の「２０１９０７０１１０２５３０」に変換される。そして、ステップＳ１１５でこの時間情報から第２共通鍵が作成される。
【００５４】
従ってこの場合、端末装置１０側で第１共通鍵作成の基となる時間情報「２０１９０７０１１０２５２０」とサーバ２０側で第２共通鍵作成の基となる時間情報「２０１９０７０１１０２５３０」とが異なり、第１共通鍵と第２共通鍵も異なることとなる。そのため、サーバ２０は暗号化された任意データの復号に失敗し（ステップＳ１１７；Ｎｏ）、ステップＳ１１８において、時間のズレを補正するために取得された時間情報は１０秒減算されて「２０１９０７０１１０２５１７」となる。そしてこの時間情報は、ステップＳ１１３で任意データ「１２３４」の下一桁「４」が秒に加算されて「２０１９０７０１１０２５２１」に加工される。そして、加工後の時間情報は、ステップＳ１１４で秒の下一桁が０の「２０１９０７０１１０２５２０」に変換され、ステップＳ１１５でこの時間情報から第２共通鍵が再作成される。再作成後の第２共通鍵は端末装置１０で作成された第１共通鍵と同一となる。そのため、暗号化された任意データの復号に成功する（ステップＳ１１７；Ｙｅｓ）。
【００５５】
図６のフローチャートに戻り、ステップＳ１１９において、暗号鍵暗号化部２０６は、復号に成功した任意データがステップＳ１０３で画面データに埋め込んで端末装置１０に送信した任意データと一致することを確認する。一致しない場合はエラーとして処理を終了する。なお、ステップＳ１１９の処理をスキップして、後述するステップＳ１２０の処理を実行してもよい。
【００５６】
続いて、第２共通鍵作成部２０４は、任意データの復号に成功したことで第１共通鍵と同一であることが確認された第２共通鍵を記憶部２２に保存する（ステップＳ１２０）。これにより、ステップＳ１０８で端末装置１０に保存された第１共通鍵と同一の第２共通鍵がサーバ２０に保存されたこととなる。
【００５７】
続いて、暗号鍵暗号化部２０６は、端末装置１０とサーバ２０との間で送受信するデータの暗号化及び当該暗号化されたデータの復号に使用する可変暗号鍵を取得して記憶部２２に保存する（ステップＳ１２１）。具体的には、暗号鍵暗号化部２０６は、図示せぬ鍵管理サーバに可変暗号鍵を要求することで、鍵管理サーバが発行した共通鍵を取得する。この可変暗号鍵は、例えば乱数等であり、鍵管理サーバが発行するたびに変化する情報である。なお、暗号鍵暗号化部２０６は、鍵管理サーバにアクセスせずに、自身で乱数を発生させてこれを可変暗号鍵としてもよい。
【００５８】
続いて、暗号鍵暗号化部２０６は、取得した可変暗号鍵を、ステップＳ１２１で保存した第２共通鍵で暗号化する（ステップＳ１２２）。そして、暗号鍵送信部２０７は、暗号化した可変暗号鍵を端末装置１０に送信する（ステップＳ１２３）。
【００５９】
端末装置１０の暗号鍵受信部１０５は、サーバ２０から暗号化された可変暗号鍵を受信する（ステップＳ１２４）。続いて、暗号鍵復号部１０６は、第１共通鍵を用いて、暗号化された可変暗号鍵を復号して記憶部２２に保存する（ステップＳ１２５）。これにより、端末装置１０とサーバ２０との双方に可変共通鍵が保存されたこととなる。以上で鍵配布処理は終了する。以降の端末装置１０とサーバ２０との間で送信されるデータは、上述した鍵配布処理によって双方に保存された可変共通鍵によって暗号化され、受信した暗号化されたデータを可変暗号鍵で復号することが可能となる。なお、ステップＳ１２５の処理が終了した後、端末装置１０とサーバ２０とで保存されている共通鍵を消去してもよい。  
【００６０】
このように、本実施形態によれば、端末装置１０とサーバ２０との双方で、時間情報に基づいて共通鍵（第１共通鍵、第２共通鍵）が作成される。そして、端末装置１０は、作成した第１共通鍵で任意データを暗号化してサーバ２０に送信する。サーバ２０は、作成した第２共通鍵で暗号化された任意データを復号する。そして、サーバ２０で任意データの復号に成功した場合、第１共通鍵と第２共通鍵とが同一であること分かり、サーバは第２共通鍵を保存する。即ち、本実施形態では、端末装置１０とサーバ２０とがそれぞれ独自に時間情報に基づいて同一である第１共通鍵と第２共通鍵とを作成して保存するため、インターネット３０等を介して共通鍵を配布する従来の手法に比べて共通鍵が外部に漏洩する可能性は低く、高いセキュリティを保つことができる。また、ユーザは特別な操作をする必要も無いため、郵送等で共通鍵を配布する場合よりも、ユーザの手間や負担を少なくすることができる。
【００６１】
さらに、本実施形態では、その後、サーバ２０で可変暗号鍵を生成して第２共通鍵で暗号化して送信し、端末装置１０は第１共通鍵を用いてこれを復号する。これにより、端末装置１０とサーバ２０とで同一の可変暗号鍵を保存することができ、端末装置１０とサーバ２０との間で、可変暗号鍵を共通鍵として用いた共通鍵方式での暗号化したデータの送受信が可能となる。
【００６２】
また、本実施形態では、端末装置１０とサーバ２０とのそれぞれにおいて日時情報から第１共通鍵と第２共通鍵とを作成する際には、日時情報そのものではなく、任意データに基づいて加工した時間情報に基づいて第１共通鍵と第２共通鍵とが作成される。これにより、第三者による共通鍵の複製をより困難にし、共通鍵の信頼性を向上させることが可能となる。
【００６３】
また、本実施形態では、サーバ２０で第２共通鍵を用いた任意データの復号に失敗した場合、第２共通鍵の作成に使用した時間情報が示す時間から所定時間を減算し、減算後の時間情報に基づいて第２共通鍵を再度作成して任意データを復号する。これにより、端末装置１０とサーバ２０とで取得された時間情報のズレを補正して、同一の第１共通鍵と第２共通鍵を端末装置１０とサーバ２０とに保存することが可能となる。
【００６４】
（変形例）
なお、上述した実施形態は一例であり、本発明は種々の変更及び応用が可能である。例えば、端末装置１０とサーバ２０との間でデータを送受信するデータ送受信システム１について説明したが、端末装置１０間、サーバ２０間等でデータを送受信するシステムであっても本発明は適用可能である。
【００６５】
また、上記実施形態では、鍵配布処理のステップＳ１０４で処理開始画面を表示したが、処理開始画面を必ずしも表示する必要は無い。即ち、サーバ２０は、ステップＳ１０３で任意データのみを端末装置１０に送信する。そして、任意データを受信すると、端末装置１０は、即時に時間情報を取得するステップＳ１０５の処理を開始してもよい。このようにすることで、鍵配布処理全体の処理時間を短縮することが可能となる。
【００６６】
また、実施形態に係る端末装置１０とサーバ２０は、それぞれ、通常のコンピュータシステムにより実現してもよい。例えば、上述の動作を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に格納して配布し、該プログラムをコンピュータにインストールして、上述の処理を実行することによって、端末装置１０、若しくはサーバ２０を構成してもよい。また、上記プログラムをインターネット３０等のネットワーク上の端末装置１０、若しくはサーバ２０が備えるディスク装置に格納しておき、コンピュータにダウンロード等できるようにしてもよい。また、上述の機能を、ＯＳとアプリケーションソフトとの協働により実現してもよい。この場合には、ＯＳ以外の部分を媒体に格納して配布してもよいし、ＯＳ以外の部分をクラウドサーバ等に格納しておき、コンピュータにダウンロード等できるようにしてもよい。
【００６７】
本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施形態は、本発明を説明するためのものであり、本発明の範囲を限定するものではない。つまり、本発明の範囲は、実施の形態ではなく、特許請求の範囲によって示される。そして、特許請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、本発明の範囲内とみなされる。
【符号の説明】
【００６８】
１  データ送受信システム、１０  端末装置、２０  サーバ、３０  インターネット、１１  通信部、１２  入力部、１３  表示部、１４  記憶部、１５  制御部、２１  通信部、２２  記憶部、２２１  顧客ＤＢ、２３  制御部、１０１  ログイン部、１０２  第１共通鍵作成部、１０３  データ暗号化部、１０４  データ送信部、１０５  暗号鍵受信部、１０６  暗号鍵復号部、１０７  データ送受信部、２０１  ユーザ認証部、２０２  任意データ通知部、２０３  データ受信部、２０４  第２共通鍵作成部、２０５  データ復号部、２０６  暗号鍵暗号化部、２０７  暗号鍵送信部、２０８  データ送受信部
【図１】
2021038804.tif 000003
【図２】
2021038804.tif 000004
【図３】
2021038804.tif 000005
【図４】
2021038804.tif 000006
【図５】
2021038804.tif 000007
【図６】
2021038804.tif 000008
【図７】
2021038804.tif 000009
【図８】
2021038804.tif 000010
【国際調査報告】
2021038804.tif 000011
2021038804.tif 000012