(57)【要約】【課題】中間者攻撃を防ぐ技術を提案する。【解決手段】インターネットバンキングシステムは、ネットワークを介して通信可能なユーザ端末と決済装置からなる。ユーザ端末は、決済装置に実行される指示についての指示データを含む元データを生成し（Ｓ８０２）、それを暗号化して暗号化指示データ（Ｓ８０３）とした上で、決済装置に送る（Ｓ８０５、９０１）。決済装置は暗号化指示データを復号化して元データに戻し（Ｓ９０２）、元データに含まれる指示データで特定される動作を実行する（Ｓ９０４）。【選択図】図９
2019004353.tif 000002
【特許請求の範囲】
【請求項１】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置であり、
前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
実行装置。
【請求項２】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置であり、
前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
実行装置。
【請求項３】
前記受取手段は、前記暗号化指示データを、ネットワークを介して前記指示装置から受取るようになっている、
請求項１又は２記載の実行装置。
【請求項４】
前記指示装置は、
初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、
前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、
を備えており、
前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっているとともに、
前記実行装置は、
前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、
前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、
を備えており、
前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、復号化する際に異なる鍵で復号化するようになっている、
請求項１に記載の実行装置。
【請求項５】
前記指示装置は、
初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、
前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、
を備えており、
前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっているとともに、
前記実行装置は、
前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、
前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、
を備えており、
前記実行装置暗号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、暗号化する際に異なる鍵で暗号化するようになっている、
請求項２に記載の実行装置。
【請求項６】
前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、
前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、
前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっている、
請求項４又は５記載の実行装置。
【請求項７】
前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっている、
請求項４又は５記載の実行装置。
【請求項８】
前記指示データは、前記予定動作のそれぞれと紐付けられた符号である、
請求項２記載の実行装置。
【請求項９】
前記指示装置は、ユーザが用いる端末装置であるとともに、前記指示データは、当該ユーザの口座から他の口座への送金の指示であり、
前記実行装置は、前記ユーザの口座から他の口座への送金を指示することのできる、インターネットバンキングサーバである、
請求項１又は２記載の実行装置。
【請求項１０】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置にて実行される方法であって、
前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記実行装置が実行する、
前記暗号化指示データを受取る受取過程と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、
前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
を含む、
方法。
【請求項１１】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置にて実行される方法であって、
前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記実行装置が実行する、
前記暗号化指示データを受取る受取過程と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、
前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの１つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
を含む、
方法。
【請求項１２】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記コンピュータに、
前記暗号化指示データを受取る受取過程と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、
前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
を実行させるためのコンピュータプログラム。
【請求項１３】
動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっており、
前記コンピュータに、
前記暗号化指示データを受取る受取過程と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、
前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの１つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、
を実行させるためのコンピュータプログラム。
【請求項１４】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置であり、
前記指示装置は、
前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、
前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、
を備えており、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
指示装置。
【請求項１５】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置であり、
前記指示装置は、
前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、
前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、
を備えており、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
指示装置。
【請求項１６】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置にて実行される方法であって、
前記指示装置が実行する、
前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
を含んでおり、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
方法。
【請求項１７】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置にて実行される方法であり、
前記指示装置が実行する、
前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
を含んでおり、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
方法。
【請求項１８】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置、として所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
を実行させるためのコンピュータプログラムであり、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、
前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
コンピュータプログラム。
【請求項１９】
動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置として、所定のコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータに、
前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、
前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、
を実行させるためのコンピュータプログラムであり、
前記実行装置は、
前記暗号化指示データを受取る受取手段と、
前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、
前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、
を有する、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばインターネットバンキングに応用することができる、認証技術に関する。
【背景技術】
【０００２】
認証技術が、例えば、電子錠前に応用されており、また、電子錠前は様々な対象、例えば、自動車の鍵に応用されている。
自動車に用いられている電子錠前は、次のようなものである。
自動車用の電子錠前は、自動車側に設けられた錠装置と、ユーザが保持する鍵装置とからなる。鍵装置は、一般的な錠前における鍵に相当する鍵データを生成することが可能となっている。また、鍵装置は、その鍵データを錠装置に例えば無線で送信することができるようになっている。錠装置は鍵装置から鍵データを受取り、鍵データが真正なものであるか判定する。かかる判定は「認証」の処理であると把握することも可能であるが、いずれにせよ鍵データが真正なものであると判定されたのであれば、錠装置は、自動車の扉の錠を解錠する。
電子錠前が登場した頃は、鍵装置が生成する（或いは、鍵装置に保存された）鍵データは１種類のみであった。したがって、そのような電子錠前においては、常に同一の鍵データが鍵装置から錠装置に引渡され、その鍵データの真正性の判定（例えば、鍵装置から錠装置に提供された鍵データと、錠装置が当初から持っていた鍵データとが一致した場合には、鍵装置から錠装置に提供された鍵データが真正なものであると判定する。）によって自動車の扉の錠の解錠がなされていた。もちろん、鍵データが常に同一であれば、悪意の第三者が鍵データを知得すること、及び鍵データを送信することのできる鍵装置を複製することが容易であるから、そのような複製された鍵装置を使用して不正に自動車の扉の錠が解錠されることによる自動車の盗難の問題が生じていた。
【０００３】
そのような問題を防止するため、鍵装置の中に多数の鍵データを予め保存しておき、多数の鍵データの中の一つを自動車の扉の錠の解錠が必要となる度に鍵装置から錠装置へと送信する技術が後に開発されたが、それなりに多数であるとはいえ鍵装置に予め記録された鍵データの数が有限である以上、鍵装置に記録された鍵データのすべてを悪意の第三者に盗まれた場合にはやはり、自動車の盗難の問題が生じた。
更には、鍵装置に鍵データを保存しておくということを行わず、鍵装置の中に、異なる鍵データを次々と生成する鍵データ生成装置を内蔵させておくとともに、自動車の扉の錠の解錠が必要となる度に、鍵データ生成装置で新たに生成した鍵データを、鍵装置から錠装置に送信するという技術も既に実用化されている。
この場合の鍵データは、それが鍵装置の中で発生させられてから例えばしばらくの間しか使用できないワンタイムパスワードの如きものである。このような鍵データを用いる場合には、仮に悪意の第三者にそれを盗難されたとしても、その鍵データはすぐに有効でなくなるので、盗難された鍵データを利用して悪意の第三者が自動車を盗難できる可能性は殆ど無い。少なくとも従来はそう信じられていた。特に、このような鍵データを用いる場合には、鍵装置に上述した如き鍵データ生成装置を内蔵させるとともに、錠装置側にも、鍵装置に内蔵された鍵データ生成装置で生成されるのと同じ鍵データを次々に生成することのできる上述のものとは異なる鍵データ生成装置を設けることが必要となるが、鍵装置と、錠装置とにそれぞれ含まれた鍵データ生成装置で鍵データを生成するために用いられる方法を複雑化することにより、悪意のある第三者が次に使用される鍵データを事実上知得することができなくなるから、これにより、不正な鍵データによって自動車の扉の錠が解錠されることによる自動車の盗難は理論上発生しないはず、と信じられていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、上述のワンタイムパスワードの如き鍵データを用いることとしても、不正に自動車の扉の錠が解錠され、自動車を盗難されるという事態が生じている。それは、以下のように極めて簡単な方法によって行われている。
例えば、自動車から離れた場所に鍵装置が存在するとする。悪意の第三者は、その鍵装置を操作すること等によって、それに内蔵された鍵データ生成装置に鍵データを生成させ、例えば電波に乗って鍵装置から発信された鍵データをそのまま入手する。
そして、その鍵データの乗った電波を適当な装置を用いて、目的となる自動車の傍で発信する。そうすると、その電波を受信することにより鍵データを受け取った自動車に搭載の錠装置は、その鍵データを真正なものと判定して、自動車の扉に設けられた錠を解錠してしまう。これにより自動車が盗難されるのである。
この自動車の窃盗方法の特徴的なことは、悪意ある第三者は、正規の鍵装置で正規に作られた鍵データを丸々盗むことにより、鍵データの内容をまったく知らなくとも自動車を盗むことができる、という点である。つまり、この窃盗方法を実行する悪意の第三者は、鍵データの内容も知る必要がないし、鍵データがどのように生成されるのかということも知る必要がない。そればかりか、鍵装置から錠装置に引渡される鍵データが仮に暗号化されていたとしても、そしてその暗号化に用いる処理が高度であり悪意の第三者がそれを復号化できなかったとしても、悪意の第三者が自動車を窃盗できるという結論には影響がない。
【０００５】
このような、正規の装置で正規に作られた正規の認証用のデータを丸々盗むことにより悪事を働く方法を一般に中間者攻撃（man in the middle attack : MITM）という。
中間者攻撃は、認証におけるなりすましを可能とするための手法であり、一般に、認証する側、及び認証される側で実行される処理、例えば、上述した鍵データを生成する際の処理をどれだけ複雑にしても、また、認証される側から認証する側に認証のために渡されるデータをどれだけ高度に暗号化しても防ぐことができない、という極めて厄介な性質を持つ。
もちろん、中間者攻撃は、自動車の電子錠前に固有の問題ではない。例えば、近年のビルディングにおいては、ＩＣチップが埋め込まれた入館証を用いたセキュリティチェックをその入口で行うのが一般的になっている。典型的な例では、このような用途に用いられるセキュリティゲートシステムは、各ユーザが持つＩＣチップを内臓の入館証と、ビルディングの入口に通常配される、入館証のＩＣチップを読取るカードリーダを備えた認証装置、及びカードリーダで読取ったデータが真正なものであったときに認証装置により開かれるゲートと、からなる。このようなセキュリティチェックの仕組みでは、真正な入館証がカードリーダにかざされ、入館証のＩＣチップからカードリーダに渡された認証用のデータが真正なものであると認証装置が判定したらゲートが開いて入館証の所有者がゲートを通過することができるようになる。しかしながら、入館証が例えば盗難により悪意の第三者の手に渡った場合においては、ＩＣチップに記録された、或いはＩＣチップ内で発生させられる認証用のデータにどれほど工夫を凝らしても、カードリーダを備えた認証装置にどれほど工夫を凝らしても、また、入館証のＩＣチップから認証装置のカードリーダに認証用のデータを送る際にどれほど高度な暗号技術を用いても、悪意の第三者はゲートを通過することができる。
【０００６】
また、インターネットバンキングでも、同様の問題が生じている。インターネットバンキングのシステムは、多数のユーザがそれぞれ用いるユーザ装置と、銀行等が管理等するものであり、ユーザ装置とインターネット等のネットワークを介して通信可能なサーバ装置とから構成される。
インターネットバンキングの場合も、中間者は、ユーザ装置と、サーバ装置との間に入り込む。この場合、中間者はユーザ装置にはサーバ装置として、サーバ装置にはユーザ装置としてそれぞれ振る舞う。典型的な例では、中間者は以下のようにして、悪事を働く。
例えば、ユーザ装置と、サーバ装置とが、共通鍵方式での暗号化通信を行おうとしているとする。ユーザ装置、共通鍵方式での暗号化通信により、サーバ装置に、例えば、そのユーザ装置を所有するユーザの口座であって、サーバ装置が管理するものから、ユーザの指定する第三者への支払をサーバ装置に促す指示データが暗号化して送る。そして、その暗号化された指示データをサーバ装置は受取り、それを復号化してから、平文に戻った指示データの内容を把握し、指示データで指示された処理を実行する。この場合、ユーザ装置と、サーバ装置とは、ユーザ装置がサーバ装置に指示を行う前に、同一の共通鍵を共に持った状態とならないと共通鍵方式での通信ができない。そのため、共通鍵方式での暗号化通信に先立って、公開鍵方式での暗号化通信が、ユーザ装置とサーバ装置との間で実行される。
正常にその処理が行われる場合、ユーザ装置はまず、自らが持つ認証情報と公開鍵とをサーバ装置に送る。サーバ装置は、認証情報とその公開鍵を受取り、認証情報でそのユーザを認証するとともに、そのユーザ装置との間で後に用いる共通鍵をユーザから受取った公開鍵で暗号化してユーザ装置に返送する。ユーザ装置は、ユーザ装置の公開鍵と対になるユーザ装置が持つ秘密鍵を用いてサーバ装置から受取った共通鍵を復号化する。それにより、ユーザ装置とサーバ装置とは、同一の共通鍵を持った状態となる。
中間者は、上述の場合に、ユーザ装置がサーバ装置に送った、認証情報、及びユーザ装置の公開鍵を、サーバ装置になりすまして受取る。そして、中間者は、サーバ装置に対して、ユーザ装置になりすまして、ユーザから窃取した認証情報と、ユーザ装置から送られてきた公開鍵の代わりの自らの公開鍵とを送信する。サーバ装置は、中間者から送られてきた認証情報と、公開鍵とを受取る。そして、サーバ装置は、認証情報を用いて認証の処理を行う。認証情報は、元々ユーザ装置から送られてきた正規のものであるから、認証情報を用いた認証では、サーバ装置は、中間者がユーザ装置になりすましていることを見抜けない。そしてサーバ装置は、自らが持つ共通鍵を、ユーザ装置の公開鍵ではなく、中間者から受取った中間者の公開鍵で暗号化して中間者へと送る。中間者は、中間者の公開鍵と対になる中間者が持つ秘密鍵を用いてサーバ装置から受取った共通鍵を復号化する。それにより、中間者とサーバ装置とは、同一の共通鍵を持った状態となる。この状態でも、サーバ装置は中間者をユーザ装置であると誤認している。
他方、中間者は、自らが持つ適当な共通鍵を、ユーザ装置から受取ったユーザ装置の公開鍵で暗号化してユーザ装置に対して送信する。それを受取ったユーザ装置は、自らが持つ秘密鍵で中間者から受取った共通鍵を復号化する。それにより、中間者とユーザ装置とは、同一の共通鍵を持った状態となる。この状態で、ユーザ装置は中間者をサーバ装置であると誤認している。
以後、中間者は、サーバ装置との間ではサーバ装置と共有した共通鍵を用いて暗号化通信を行うことが可能となり、ユーザ装置との間でもユーザ装置と共有した共通鍵を用いて暗号化通信を行うことが可能となる。中間者は、ユーザ装置になりすまして、上述した指示データをサーバ装置に対して送信することが可能となる。その場合、中間者は、指示データの送信を中間者に依頼する等して、ユーザ装置から何らかの指示データを受取る場合もある。中間者は、ユーザ装置から上述した如き第三者への送金に関する指示データを受取ったら、そのうちの送金先のデータを書換える。そして、送金先のデータを書換えたら、その指示データをサーバ装置に対して送信する。サーバ装置は、中間者の送ってきた改竄された指示データによる指示にしたがって、ユーザ装置を所有するユーザが意図しない第三者に対してユーザの口座から送金を行う。この場合、ユーザ装置と中間者との間の通信も、中間者とサーバ装置との間の通信もともに、共通鍵によって暗号化されているが、ユーザ装置との間で同一の共通鍵を持ち、また、サーバ装置との間で同一の共通鍵を持っている中間者にとっては、どちらの通信も暗号化されていないと同じである。
このようにして、中間者は、ユーザ装置の所有者であるユーザにも、サーバ装置の管理者等にも気づかれないまま、まんまと金をせしめるのである。このようにして窃取されている金額は、日本だけでも年間数十億円規模であると言われているが、公表されている金額は氷山の一角であるとも言われている。
【０００７】
実際のところ、中間者攻撃に対応する術は無い。セキュリティの専門家の間でも、中間者攻撃は防ぐことができない攻撃であるとして、無視をする、或いはその可能性について口を閉ざすというのが暗黙の了解となっている。
【０００８】
本願発明は、ある特定の場合についてではあるが、中間者攻撃を防御することのできる技術を提供することをその課題とする。
【課題を解決するための手段】
【０００９】
かかる課題を解決する発明について説明する前に、本願発明者がした考察について説明する。
なお、以下の説明において、データを渡して何らかの処理の実行を要求する側の装置を指示装置、データを受取りそのデータの受取をきっかけに何らかの処理を実行する装置を実行装置、と称することにする。背景技術等で説明した例でいえば、電子錠前の場合であれば、鍵装置が指示装置に、錠装置が実行装置にそれぞれ相当し、セキュリティゲートシステムの場合であれば、入館証が指示装置に、認証装置が実行装置にそれぞれ相当し、インターネットバンキングのシステムの場合であれば、ユーザ装置が指示装置に、サーバ装置が実行装置にそれぞれ相当する。
本願発明者の考察によれば、実行装置は、１種類の動作しか行わないものと複数種類の動作を行うものに分けて考えるべきである。そして、実行装置が１種類の動作しか行わないものである場合は特に、中間者攻撃を防ぐことは殆ど不可能である。
１種類の動作というのは例えば、実行装置が指示装置からの指示によって行う動作が、「認証により真正と認める」、「錠を解錠する」といったものであり、複数種類のなかから１種類の動作を選択するようなものではない動作である。
例えば、インターネットバンキングにおいて、ユーザが、自らの銀行口座から、他人の銀行口座に、支払いを行う場合を考える。この場合、ユーザは、自らのユーザ端末（例えば、スマートフォンであり、これは本願発明でいう指示装置に相当する。）によって、決済を行う銀行サーバ（これは本願発明でいう実行装置に相当する。）に対して指示を送る。この場合、銀行サーバの行う処理はもちろん１通りではない。もっといえば、ユーザ端末からの指示によって銀行サーバが行う処理は、上述の如き支払いに限らず、残高の照会や、明細履歴の照会等があるから、銀行サーバが行う処理はより多岐にわたる。話を戻す。支払いのために銀行サーバの行う処理は、少なくとも支払元、支払先、及び支払額について、様々なバリエーションがある。つまり、この場合には、支払を依頼するユーザ或いは支払元となるそのユーザの銀行口座が既に特定されていると仮定しても、ユーザ端末から銀行へと送られる指示には、少なくとも支払先を特定する情報と、支払金額を特定する情報が含まれる。これら２つの情報によって銀行サーバが行う処理が変化するのであるから、この例では、実行装置の一例たる銀行サーバが行う動作は１種類には限られない。
ところで、本願発明者の考えによれば、このような処理においては、中間者攻撃を防ぐことが場合によっては可能となる。それは、上記指示についての指示データが完全に（破ることが不可能に）暗号化されている場合である。悪意の第三者がインターネット上を送信される上記指示のデータを盗み取り悪用しようとする場合には、少なくとも、上記指示に含まれる支払先を特定する情報を自分に都合の良い支払先に書換える必要があり、上記指示に含まれる支払額の金額をも自分に都合の良い金額に書換えられればより好ましい。発明が解決しようとする課題で述べたインターネットバンキングのシステムの例では、中間者がまず、ユーザ装置と、サーバ装置との双方と、それぞれ同一の共通鍵を持つことに成功していたからこのようなデータの書換えが可能であった。
しかしながら、悪意ある第三者が、上記指示に含まれる支払先を特定する情報を自分に都合の良い支払先に書換えてから、ユーザ端末と銀行サーバとの間で使用されている暗号手法にのっとって暗号化することは、その暗号化が完全なのであれば、不可能である。このように、実行装置で実行される動作にバリエーションが存在する場合には、中間者攻撃を排除できる可能性がある。言葉を変えれば、実行装置で実行される動作にバリエーションが存在し、指示装置が実行装置に動作を行わせるための指示の中に、動作のバリエーションの中から実行装置が実行すべき動作を特定するための情報が含まれている場合には、悪意の第三者がその指示についてのデータを盗んでそれを実行装置にそのまま渡しただけでは、悪意の第三者が望む動作を実行装置に行わせることができないことがあり得ると考えられる。上述したように、中間者攻撃は盗んだ情報をそのまま用いるものであるから防御が難しいのであって、盗んだ情報をそのまま用いることができない、実行装置で実行される動作にバリエーションが存在するような場合には、まだ防げる可能性があるのである。
他方、指示装置の指示により実行装置が実行する動作が１種類のみの場合には、指示装置から実行装置に渡されるデータに何か含まれていたとしても、そのデータを悪意の第三者に盗まれ、且つそのデータを悪意の第三者が実行装置に引き渡した場合に実行装置が実行する動作は必ず、予定されていた１種類の動作となる。データの書換えが不要なこのような場合には、一般的に、中間者攻撃を防御する術はない。
【００１０】
本願発明は以上のような考察に基づいたものであり、特には実行装置において実行される処理にバリエーションが存在するような場合についての中間者攻撃を防ぐものである。説明の便宜上、本願発明を第１発明と第２発明とに分ける。
【００１１】
第１発明による本願発明は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置である。
そして、かかる実行装置と組合せて用いられる前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
他方、前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
かかる第１発明による実行装置は、指示データを受取り、その指示データにしたがった指示を実行する。指示データによって実行される動作は複数種類でありバリエーションが存在する。この実行装置に渡される指示データは、より正確には指示データを少なくとも含む元データは、暗号化して暗号化指示データとされた状態で実行装置に渡されるようになっている。実行装置は、暗号化指示データを復号化する。本願発明の実行装置では、かかる復号化を行えたか否かにより事実上の認証を行うようになっている。つまり、真正な指示装置が渡してきた真正な暗号化指示データでなければ実行装置の実行装置復号化手段は、それを復号化することができないはずである。つまり、暗号化指示データを実行装置復号化手段が復号化できれば、それを渡してきた指示装置は真正なものであると認証し、それを復号化できなければ、それを渡してきた指示装置は真正なものであると認証しないことになる。この実行装置は、暗号化指示データの復号化により暗号化指示データを渡してきた指示装置が真正なものであると認証した場合に、その復号化された元データに含まれている指示データによって特定される動作を実行する。
上述のように、暗号化指示データが完全に暗号化されていれば、指示データ（暗号化指示データ）によって特定される実行装置が実行する動作は、中間者に書換えられない。仮に中間者が、指示装置が実行装置に渡そうとしている暗号化指示データを窃取して、指示装置になりすましてそれを実行装置に渡したとしても、暗号化指示データが書換えられていないのであれば、実行装置が実行する動作は指示装置が実行装置に動作させようと予定していた動作のままである。したがって、本願発明の実行装置によれば、中間者攻撃を防ぐ、或いは中間者攻撃がなされた場合であってもそれを無害化することができる。
本願第１発明で、中間者攻撃を少なくとも無害化できる理由は、もう１つある。例えば、発明が解決しようとする課題で例示したインターネットバンキングのシステムの場合のように、従来は、実行装置が指示装置の認証を先に行い、かかる認証を行った後に、実行装置は、指示装置から受取った指示データに基づく動作を実行する、という２段階の処理がなされていた。この場合だと、認証の処理で実行装置を騙すことができた中間者は、自分に都合の良い指示データを実行装置に渡すことが可能となる。他方、指示データを暗号化したデータを用いて認証をも行うようにすることにより、つまり上述の認証データの受渡しによる認証と、指示データの受渡しによる指示という２段階の処理を１段階にすることにより、中間者攻撃を行う機会を事実上無くすことが可能となる。これにより、本願発明によれば、中間者攻撃を少なくとも無害化できるようになる。
なお、中間者攻撃を避けるためには、指示装置の指示装置暗号化手段と実行装置の実行装置復号化手段で用いられる暗号化と復号化のための手法は共通鍵を用いた共通鍵暗号方式を採用するのが好ましい。
また、上述したように、本願第１発明における実行装置では、暗号化指示データを復号化することができたことにより事実上、暗号化指示データを渡してきた指示装置が真正なものであるということについての認証を行うこととしていたが、他の認証をも実行装置で行うようにすることも可能である。その場合には、例えば、指示装置は、暗号化指示データの元となる元データに適当な認証データを含め、指示データと認証データとを含んだ元データを指示装置暗号化手段で暗号化して暗号化指示データとし、それを実行装置に渡すようになっていても良い。この場合、実行装置は、受取手段で暗号化指示データを受取り、実行装置復号化手段でそれを復号化し、それを復号化できたという事実で事実上の認証を行うのに加えて、元データに含まれる認証データによって認証を行う手段である認証手段で認証を行い（例えば、実行装置が保持していた認証データとの一致を見て認証を行い）、実行装置復号化手段で復号化を行えたことと、認証データによる認証を行えたことという２つの条件がともに充足されていた場合に、実行手段が指示データにより特定される動作を実行するようになっていても良い。
【００１２】
第１発明における実行装置は、以下のようなものとすることができる。
その場合の前記指示装置は、初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、を備えており、前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっている。
かかる指示装置と組合せて使用される前記実行装置は、前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、を備えており、前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、復号化する際に異なる鍵で復号化するようになっている。
この場合、指示装置と、実行装置とは、少なくとも指示装置から実行装置へと指示がなされるたびに生成される共通する解を用いて、共通する鍵を生成し、その共通する鍵を用いて共通鍵暗号方式での通信を行う。これは、上述した完全な暗号化の一例であり、これによれば、第三者は次々に変わる鍵を盗まない限り暗号化指示データの改竄を行えないのであるから、中間者攻撃が成功する余地は殆ど無くなる。
なお、この場合、前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっていてもよい。これは言い換えれば、鍵生成手段を省略しても良い、ということである。
指示装置解生成手段と、実行装置解生成手段とは、離れた場所で同じ解を生成することができるようになっている。これは、従来から用いられているワンタイムパスワードの仕組みを流用することで実現することができる。この事情は、第２発明の場合でも同様である。
例えば、指示装置解生成手段と、実行装置解生成手段は、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これにより、離れた場所にある２つの独立した装置における指示装置解生成手段と、実行装置解生成手段は、同期した解を生成できることになる。これは、インターネットバンキング等の分野で広く実用化されているトークン等で既に実用化されている時間同期と称される同期の方法に程近いものである。
他方、指示装置解生成手段と、実行装置解生成手段で解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、上述の如きトークン等で既に実用化されているイベント同期と称される同期の方法に程近いものである。イベント同期が採用される場合、指示装置解生成手段と、実行装置解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、指示装置解生成手段と、実行装置解生成手段は、解をＸとして、Ｘｎ＋１＝ｆ（Ｘｎ）という関数により、次の解を生成するというアルゴリズムにより解を生成するようなものとなっていてもよい。この場合、指示装置解生成手段と、実行装置解生成手段は、直前に作った解を保持しておき、その前に生成した解をすべて削除するようになっていてもよい。つまり、次の解を生成するために必要な解のみを指示装置解生成手段と、実行装置解生成手段が保持するようにすることが可能である。この場合、指示装置解生成手段と、実行装置解生成手段は、例えば、４番目の解を生成するのであれば、保持していた３番目の解であるＸ３をＸｎ＋１＝ｆ（Ｘｎ）の式にＸ４＝ｆ（Ｘ３）のように代入することにより、４番目の解を生成する。なお、過去の複数の解を用いて、例えば、Ｘｎ＋１＝ｆ（Ｘｎ）＋ｆ（Ｘｎ−１）の如き数式を用いるのであれば、指示装置解生成手段と、実行装置解生成手段が保持すべき解は、その直前に使われた２つの解となる。このように新しい解を生成するために指示装置解生成手段と、実行装置解生成手段で使用される解は、必ずしも１つとは限らない。そして、この場合における初期解は、２つとなる。このように初期解は必ずしも１つとは限らず、複数である場合がある。
前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっていてもよい。これにより、実行装置は複数の指示装置との間で、上述した如き共通鍵としての共通する鍵を、指示の度に交換しながらの暗号化通信を行えることになる。
【００１３】
第２発明による本願発明は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置である。
そして、かかる実行装置と組合せて用いられる前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
他方、前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
かかる第２発明による実行装置は、基本的な部分は第１発明における実行装置と同じである。
第２発明による実行装置が第１発明による実行装置と異なる点は、第２発明による実行装置は、複数の動作である予定動作の中から選択された動作を行うようになっているという点である。第１発明の実行装置も、複数の動作である予定動作の中から選択された動作を行うようになっていても良いが、第２発明の実行装置はそのようなものに限定されている。つまり、第１発明の場合においては、動作の種類の数、或いはバリエーションには特に制限がないが、第２発明の場合には、予め５種類とか、１０種類とかに予定動作が決められており（当然に、その５種類とか、１０種類とかの予定動作は、指示装置と実行装置とで共有されている。）、その予め決められている予定動作の中から選択された動作を実行装置が実行するようになっている。そのため、この実行装置も暗号化指示データを指示装置から受取るようになっているが、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化したものである。
第２発明における実行装置は、指示装置から受取った暗号化指示データを復号化しない。したがって、第２発明における実行装置は、第１発明における実行装置が持っていた実行装置復号化手段を有さず、その代わりに実行装置暗号化手段を備えている。実行装置暗号化手段は、指示装置の指示装置暗号化手段で行われる暗号化の処理と同じ暗号化の処理を行えるようになっている。実行装置暗号化手段で暗号化されるのは、すべての指示のパターンについての元データである。上述した通り、第２発明における実行装置で実行される動作の数、種類は有限である。したがって、指示のパターンの数も指示を行うための元データの数、種類も有限である。上述のように予定動作は、指示装置と実行装置とで共有されている。したがって、実行装置暗号化手段ですべての指示のパターンにそれぞれ対応した元データのすべてを順次暗号化して暗号化指示データにしていけば、その中の１つは、指示装置から受取った暗号化指示データに改竄がない限り、指示装置から受取った暗号化指示データと一致するはずである。第２発明による実行手段は、実行装置暗号化手段によって生成された複数の暗号化指示データのうちの１つが、受取手段で受取られた暗号化指示データと一致した場合に、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する。
第２発明の場合においては、指示装置から渡されてきた暗号化指示データと同じ暗号化指示データを実行装置で生成できたか否かにより事実上の認証を行うようになっている。つまり、真正な指示装置が渡してきた真正な暗号化指示データでなければ、実行装置の実行装置暗号化手段は、それと同じ暗号化指示データを生成することができないはずである。つまり、指示装置から渡された暗号化指示データと同じ暗号化指示データを実行装置暗号化手段が生成できれば、暗号化指示データを渡してきた指示装置は真正なものであると認証することができるし、そうでなければ、それを渡してきた指示装置は真正なものであると認証しないことになる。
上述のように、第２発明の場合でも、暗号化指示データが完全に暗号化されていれば、指示データ（暗号化指示データ）によって特定される実行装置が実行する動作は、中間者に書換えられない。これに加えて、第２発明でも、認証データの受渡しによる認証と、指示データの受渡しによる指示という２段階の処理を１段階にすることで、中間者攻撃を防ぐ、或いは中間者攻撃がなされた場合であってもそれを無害化することができる。
第２発明の場合でも、中間者攻撃を避けるためには、指示装置の指示装置暗号化手段と実行装置の実行装置暗号化手段で用いられる暗号化のための手法は共通鍵を用いた共通鍵暗号方式を採用するのが好ましい。
なお、第２発明における「暗号化」という文言は、第三者がそのデータを見ても特別な知識なしでは読めない（理解できない）ようにそのデータを変換することを言い、第１発明の場合の如き復号化できる変換のみでなく、ハッシュ値をとる場合のように、不可逆に変換する場合をも含む。例えば、指示装置から実行装置に渡される暗号化指示データは、指示装置の指示装置暗号化手段で元データを復号可能に暗号化したデータから、例えば、前半分を抜き出した、後半分を抜き出した、偶数文字目、或いは３の倍数文字目を抜き出した、英字数字記号混じりの文字列から数字のみを抜き出したもの等であっても良い。この場合おいても、実行装置の実行装置暗号化手段が行う暗号化の処理は、元データに対して上記と同一の処理を行うものとなる。
第２発明の実行装置における実行装置暗号化手段は、上述のように、「すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる」ようになっている。また、第２発明の実行装置の実行手段は、上述のように「実行装置暗号化手段によって生成された複数の暗号化指示データのうちの１つが、受取手段で受取られた暗号化指示データと一致した場合に、動作として、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する」ようになっている。つまり、第２発明の実行装置では、複数の暗号化指示データを生成するという処理（ここでは第１処理と称する。）と、実行装置で生成した暗号化指示データを指示装置から渡された暗号化指示データと比較して、実行装置で生成した暗号化指示データの中から指示装置から渡された暗号化指示データと同一のものを探す処理（ここでは第２処理と称する。）と、実行手段が動作を行う処理（ここでは第３処理と称する。）とが実行される。ここで、第２処理は、第１処理がすべて終わってから実行されても構わない。この場合には第１処理において、すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、「指示パターンの数と同数の」暗号化指示データが生成されることになる。他方、第２処理は、第１処理が終了する前に、つまり、「指示パターンの数と同数の」暗号化指示データの生成が終了する前に、例えば、実行装置暗号化手段で暗号化指示データが生成される度に、実行されても構わない。第２処理を、第１処理が終了する前に実行する場合には、第１処理が終了する前に第２処理が終了する、つまり、実行装置で生成した暗号化指示データの中から指示装置から渡された暗号化指示データと同一のものが発見されることになる。この場合には、第３処理を実行するとともに、第１処理を途中で打ち切ることが可能である。この場合には、「指示パターンの数よりも少ない数の」暗号化指示データが生成されることになる。つまり、上述の第１処理と第２処理とは、指示装置から送られてきた暗号化指示データと一致するものを見つけるために、指示装置から送られてきた暗号化指示データと、実行装置で生成される複数の暗号化指示データとを総当りで比較することが原則であるが、かかる総当たりはそのすべてについて行われる必要はない。「すべての指示のパターンについて指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる」と、「実行装置暗号化手段によって生成された複数の暗号化指示データのうちの１つが、受取手段で受取られた暗号化指示データと一致した場合に、動作として、当該暗号化指示データの元となった元データに含まれる指示データによって特定された動作を実行する」という記載は、上述に例示した場合のすべてを含む意味である。
また、上述したように、第２発明における実行装置では、指示装置から渡された暗号化指示データと同じ暗号化指示データを実行装置暗号化手段が生成できたことにより事実上、暗号化指示データを渡してきた指示装置が真正なものであるということについての認証を行うこととしていたが、他の認証をも実行装置で行うようにすることも可能である。その場合には、例えば、指示装置は、暗号化指示データの元となる元データに適当な認証データを含め、指示データと認証データとを含んだ元データを指示装置暗号化手段で暗号化して暗号化指示データとし、それを実行装置に渡すようになっていても良い。
前記指示データは、前記予定動作のそれぞれと紐付けられた符号であってもよい。そうすることで、中間者は、予定動作と符号との紐付け方、或いは両者の対応関係を知ることが通常できないから、自分が望む動作を実行装置にさせるのがより殆ど不可能となる。
【００１４】
第２発明における実行装置は、以下のようなものとすることができる。
その場合の前記指示装置は、初期解に基づいて、文字、数字、記号の少なくとも１つを所定数羅列したものである解であり、同じ条件下で生成されたものが常に同じものとなるものを連続して生成することができる指示装置解生成手段と、前記暗号化指示データを前記実行装置に渡す度に前記指示装置解生成手段で生成された前記解に基いて、鍵を生成する指示装置鍵生成手段と、を備えており、前記指示装置暗号化手段は、前記指示装置鍵生成手段で生成された鍵を用いて、前記元データを暗号化する度に異なる鍵で暗号化するようになっている。
かかる指示装置と組合せて使用される前記実行装置は、前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置解生成手段で生成される前記解と同じ、前記指示装置の前記指示装置解生成手段で生成されるものと同期された前記解を生成することができる実行装置解生成手段と、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記指示装置鍵生成手段で生成されるのと同じ鍵を生成する実行装置鍵生成手段と、を備えており、前記実行装置復号化手段は、前記実行装置鍵生成手段で生成された鍵を用いて、前記元データを、暗号化する際に異なる鍵で暗号化するようになっている。
この場合、指示装置と、実行装置とは、少なくとも指示装置から実行装置へと指示がなされるたびに生成される共通する解を用いて、共通する鍵を生成し、その共通する鍵を用いて、それらの指示装置暗号化手段と、実行装置暗号化手段とで、元データを暗号化する。これは、上述した完全な暗号化の一例であり、これによれば、第三者は次々に変わる鍵を盗まない限り暗号化指示データの改竄を行えないのであるから、中間者攻撃が成功する余地は殆ど無くなる。
なお、この場合、前記実行装置鍵生成手段は、前記実行装置解生成手段で生成された解をそのまま前記鍵にするようになっていてもよい。これは言い換えれば、鍵生成手段を省略しても良い、ということである。
第２発明の場合においても、第１発明の場合と同様に、指示装置を複数とすることができる。より具体的には、前記指示装置は複数であり、前記指示装置における前記初期解は、前記指示装置のそれぞれにおいて異なるものとされており、前記実行装置解生成手段は、前記指示装置のそれぞれにおいて異なる前記指示装置における前記初期解と同一の前記初期解に基づいて、前記指示装置のそれぞれが持つ前記指示装置解生成手段で生成される前記解と同じ、前記指示装置のそれぞれの前記指示装置解生成手段で生成されるものと同期された前記解を生成することができるようになっており、前記実行装置鍵生成手段は、前記暗号化指示データを前記受取手段で前記指示装置から受取る度に、前記実行装置解生成手段で生成された前記解に基いて、前記暗号化指示データを送ってきた前記指示装置の前記指示装置鍵生成手段で生成されるのと同じ鍵を生成するようになっていてもよい。これにより、実行装置は複数の指示装置との間で、上述した如き共通鍵としての共通する鍵を、指示の度に交換しながらの暗号化通信を行えることになる。
【００１５】
第１発明の場合、第２発明の場合のいずれの場合であっても、実行装置は以下のようなものとすることができる。
実行装置の受取手段は、指示装置から暗号化指示データを受取るようになっている。例えば、背景技術で述べた電子錠前システムに本願第１発明、第２発明を応用するのであれば、受取手段はインターネット等のネットワークを介さない無線の通信により指示装置から暗号化データを受取る。これに対して、実行装置の前記受取手段は、前記暗号化指示データを、インターネットその他のネットワークを介して前記指示装置から受取るようになっていても良い。本願第１発明、第２発明をインターネットバンキングのシステムに応用するのであれば、受取手段はこのようなものとなるであろう。
また、前記指示装置は、ユーザが用いる端末装置であるとともに、前記指示データは、当該ユーザの口座から他の口座への送金の指示であり、前記実行装置は、前記ユーザの口座から他の口座への送金を指示することのできる、インターネットバンキングサーバであってもよい。もちろん、第１発明と第２発明とには様々な応用分野があり、指示データによる指示の内容も上述の限りではないが、第１発明と第２発明とは、インターネットバンキングのシステムに応用することができる。
【００１６】
本願発明者は、第１発明の実行装置で実行される方法をも第１発明の一態様として提案する。その効果は、第１発明による実行装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置にて実行される方法である。
前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、その方法は、前記実行装置が実行する、前記暗号化指示データを受取る受取過程と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を含む。
本願発明者は、第１発明の実行装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、第１発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、そのコンピュータプログラムは、前記コンピュータに、前記暗号化指示データを受取る受取過程と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化過程と、前記実行装置復号化過程によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化過程で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を実行させるためのコンピュータプログラムである。
【００１７】
本願発明者は、第２発明の実行装置で実行される方法をも第２発明の一態様として提案する。その効果は、第２発明による実行装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置にて実行される方法である。
前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、その方法は、前記実行装置が実行する、前記暗号化指示データを受取る受取過程と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの１つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を含む。
本願発明者は、第２発明の実行装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、第２発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置である指示装置と組合せて用いられるものであり、前記指示装置から指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段を備え、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなすようになっている。
そして、そのコンピュータプログラムは、前記コンピュータに、前記暗号化指示データを受取る受取過程と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化過程と、前記実行装置暗号化過程によって生成された複数の前記暗号化指示データのうちの１つが、前記受取過程で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行過程と、を実行させるためのコンピュータプログラムである。
【００１８】
本願発明者は、第１発明による実行装置と組合せて用いられる指示装置をも本願発明の一態様として提案する。第１発明による指示装置による効果は、第１発明による実行装置による効果と同じである。
一例となる指示装置は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置である。前記指示装置は、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、を備えている指示装置である。
かかる第１発明の指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第１発明の指示装置で実行される方法をも第１発明の一態様として提案する。その効果は、第１発明による指示装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置にて実行される方法である。
そして、その方法は、前記指示装置が実行する、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を含む。
かかる第１発明による方法を実行する指示装置と組合せて用いられる  前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第１発明の指示装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに動作を行う実行装置と組合せて用いられる指示装置、として所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータに、前記実行装置が行いうる動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を実行させるためのコンピュータプログラムである。
そして、かかる第１発明によるコンピュータプログラムによってコンピュータを機能させることにより実現される指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記暗号化指示データを復号化して前記元データに戻す実行装置復号化手段と、前記実行装置復号化手段によって前記暗号化指示データを前記元データに戻せた場合に、前記動作として、前記実行装置復号化手段で復号化された前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
【００１９】
本願発明者は、第２発明による実行装置と組合せて用いられる指示装置をも本願発明の一態様として提案する。第２発明による指示装置による効果は、第２発明による実行装置による効果と同じである。
一例となる指示装置は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置である。前記指示装置は、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化手段と、前記指示装置暗号化手段で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し手段と、を備えている指示装置である。
かかる第２発明の指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化手段が暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第２発明の指示装置で実行される方法をも第２発明の一態様として提案する。その効果は、第２発明による指示装置による効果と等しい。それは例えば、以下のようなものである。
その方法は、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置にて実行される方法である。
そして、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を含む。
かかる第２発明による方法を実行する指示装置と組合せて用いられる  前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
本願発明者は、第２発明の指示装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明の一態様として提案する。それは例えば、以下のようなものである。
そのコンピュータプログラムは、動作を行うきっかけとなる指示を送ることのできる装置であり、それから指示を受けたときに、予め定められている複数の動作である予定動作の中から選択された動作を行う実行装置と組合せて用いられる指示装置として、所定のコンピュータを機能させるためのコンピュータプログラムである。
そのコンピュータプログラムは、前記コンピュータに、前記実行装置が行いうる前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを暗号化して暗号化指示データを生成する指示装置暗号化過程と、前記指示装置暗号化過程で暗号化された前記暗号化指示データを前記実行装置に渡すことにより前記指示をなす受渡し過程と、を実行させるためのコンピュータプログラムである。
そして、かかる第２発明によるコンピュータプログラムによってコンピュータを機能させることにより実現される指示装置と組合せて用いられる前記実行装置は、前記暗号化指示データを受取る受取手段と、前記予定動作の中から１つの動作を特定するための指示に関する指示データを含む元データを、すべての指示のパターンについて前記指示装置暗号化過程で暗号化をしたときと同じ方法で暗号化することにより、複数の暗号化指示データを生成することができる実行装置暗号化手段と、前記実行装置暗号化手段によって生成された複数の前記暗号化指示データのうちの１つが、前記受取手段で受取られた前記暗号化指示データと一致した場合に、前記動作として、当該暗号化指示データの元となった前記元データに含まれる前記指示データによって特定された動作を実行する実行手段と、を有する。
【図面の簡単な説明】
【００２０】
【図１】第１実施形態によるインターネットバンキングシステムの全体構成を概略的に示す図。
【図２】図１に示したインターネットバンキングシステムにおけるユーザ端末の外観を示す斜視図。
【図３】図１に示したインターネットバンキングシステムにおけるユーザ端末のハードウェア構成を示す図。
【図４】図１に示したインターネットバンキングシステムにおけるユーザ端末の内部に生成される機能ブロックを示すブロック図。
【図５】図１に示したインターネットバンキングシステムにおけるユーザ端末の第１記録部内に記録されるデータの一例を概念的に示す図。
【図６】図１に示したインターネットバンキングシステムにおける決済装置のハードウェア構成を示す図。
【図７】図１に示したインターネットバンキングシステムにおける決済装置の内部に生成される機能ブロックを示すブロック図。
【図８】図１に示したインターネットバンキングシステムにおける決済装置の第２記録部内に記録されるデータの一例を概念的に示す図。
【図９】図１に示したインターネットバンキングシステムで実行される処理の流れを示す図。
【図１０】図２に示したユーザ端末のディスプレイに表示される画像の一例を示す図。
【図１１】変形例１によるユーザ端末の内部に生成される機能ブロックを示すブロック図。
【図１２】変形例１による決済装置の内部に生成される機能ブロックを示すブロック図。
【図１３】第２実施形態による決済装置の内部に生成される機能ブロックを示すブロック図。
【図１４】第２実施形態におけるインターネットバンキングシステムで実行される処理の流れを示す図。
【図１５】図２に示したユーザ端末のディスプレイに表示される画像の他の例を示す図。
【発明を実施するための形態】
【００２１】
以下、本発明の第１、第２実施形態、及びそれらの変形例について説明する。各実施形態、変形例の説明で同じ対象には同一の符号を付すものとし、重複する説明は場合により省略するものとする。また、特に矛盾なき場合、各実施形態及び変形例は、他の実施形態及び変形例とも組合せることができる。
【００２２】
≪第１実施形態≫
図１に、第１実施形態によるインターネットバンキングシステムの全体構成を概略で示す。
インターネットバンキングシステムは、複数のユーザ端末１００−１〜１００−Ｎ（以後、単に、「ユーザ端末１００」と記載する場合もある。）、決済装置２００を含んで構成されている。これらはすべて、ネットワーク４００に接続可能とされている。
ネットワーク４００は、これには限られないが、この実施形態ではインターネットである。
ユーザ端末１００は、広く言えば本願発明の指示装置の一例であり、より詳細には、本願発明におけるインターネットバンキングシステムにおける端末装置の一例である。決済装置２００は、広く言えば、本願発明の実行装置の一例であり、より詳細には、本願発明におけるインターネットバンキングシステムにおけるインターネットバンキングサーバの一例にそれぞれ相当する。
後述するように、よく知られているインターネットバンキングシステムの場合と同様に、ユーザは自らのユーザ端末１００を用いて、ネットワーク４００を介して決済装置２００にアクセスすることにより、自らの口座から他人の口座へ送金を行ったり、自らの口座の残高や、自らの入出金記録を見たりすることができる。
【００２３】
通常、ユーザ端末１００は各ユーザの所有物である。ユーザ端末１００は、コンピュータを含んでいる。ユーザ端末１００は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。これらはいずれも汎用のもので良い。スマートフォンは例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰｈｏｎｅである。タブレットの例はＡｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰａｄである。以下、これには限られないが、ユーザ端末がスマートフォンであることとして話を進める。
ユーザ端末１００は少なくとも、決済装置２００に対してデータの送信をすることが可能であることが必要であるが、決済装置２００からのデータの受信をもできるものであっても良い。この実施形態におけるユーザ端末１００はスマートフォンであるから、当然に、相手方が決済装置２００であるか否かに関わらず、ネットワーク４００を介してのデータの受信と送信の双方が可能である。
【００２４】
次に、ユーザ端末１００の構成を説明する。各ユーザ端末１００−１〜１００−Ｎの構成は、本願発明との関連でいえば同じである。
【００２５】
ユーザ端末１００の外観の一例を図２に示す。
ユーザ端末１００は、ディスプレイ１０１を備えている。ディスプレイ１０１は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ１０１は例えば、液晶ディスプレイである。ユーザ端末１００は、また入力装置１０２を備えている。入力装置１０２は、ユーザが所望の入力をユーザ端末１００に対して行うためのものである。入力装置１０２は、公知或いは周知のものを用いることができる。この実施形態におけるユーザ端末１００の入力装置１０２はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。また、ディスプレイ１０１がタッチパネルである場合、ディスプレイ１０１は入力装置１０２の機能を兼ねることになり、この実施形態ではそうされている。
入力装置１０２から入力されるデータは、いずれもその詳細を追って説明するが、例えば、支払情報、残高閲覧情報、入出金記録閲覧情報、選択情報、ユーザＩＤ、開始情報である。
【００２６】
ユーザ端末１００のハードウェア構成を、図３に示す。
ハードウェアには、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read only memory）１１２、ＲＡＭ（random access memory）１１３、インターフェイス１１４が含まれており、これらはバス１１６によって相互に接続されている。
ＣＰＵ１１１は、演算を行う演算装置である。ＣＰＵ１１１は、例えば、ＲＯＭ１１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明の端末装置（指示装置）としてこのユーザ端末１００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、ユーザ端末１００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのユーザ端末１００へのインストールは、メモリカード等の図示を省略の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ１１２は、ＣＰＵ１１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ１１２に記録されたコンピュータプログラムは、これに限られず、ユーザ端末１００がスマートフォンであれば、ユーザ端末１００をスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。ユーザ端末１００は、また、ネットワーク４００を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のｗｅｂブラウザを実装している。
ＲＡＭ１１３は、ＣＰＵ１１１が処理を行うために必要なワーク領域を提供する。
インターフェイス１１４は、バス１１６で接続されたＣＰＵ１１１やＲＡＭ１１３等と外部との間でデータのやり取りを行うものである。インターフェイス１１４には、上述のディスプレイ１０１と、入力装置１０２とが接続されている。入力装置１０２から入力された操作内容は、インターフェイス１１４からバス１１６に入力されるようになっているとともに、後述する画像データは、インターフェイス１１４から、ディスプレイ１０１に出力されるようになっている。インターフェイス１１４は、また、図示を省略する送受信部に接続されている。  
送受信部は、インターネットであるネットワーク４００を介してのデータの送受信を行うものである。かかる通信は、有線で行われる場合もあるが、ユーザ端末１００がスマートフォンである場合には、かかる通信は通常無線で行われる。それが可能な限り、送受信部の構成は、公知或いは周知のものとすることができる。送受信部がネットワーク４００から受取ったデータは、インターフェイス１１４により受取られるようになっており、インターフェイス１１４から送受信部に渡されたデータ（例えば後述する暗号化指示データ）は、送受信部によって、ネットワーク４００を介して外部、例えば、決済装置２００に送られるようになっている。
【００２７】
ＣＰＵ１１１がコンピュータプログラムを実行することにより、ユーザ端末１００内部には、図４で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、ユーザ端末１００を本願発明の端末装置（指示装置）として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、ユーザ端末１００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
ユーザ端末１００内には、本願発明の機能との関係で、以下のような制御部１２０が生成される。制御部１２０には、主制御部１２１、データ入出力部１２２、第１記録部１２３、暗号化部１２４が存在する。
【００２８】
制御部１２０は、以下に説明するような情報処理を実行する。
主制御部１２１は、制御部１２０内の全体的な制御を行う。例えば、主制御部１２１は、追って詳述するデータ入出力部１２２から受取った後述する開始データに基づいて、後述する処理を実行するべく他の機能ブロックを制御する。
例えば、また、主制御部１２１は、開始データを受付けたことを契機に、第１記録部１２３から、後述するユーザＩＤを読み出すようになっている。
主制御部１２１は、支払情報、残高閲覧情報、入出金記録閲覧情報を受取った場合には、それらにユーザＩＤのデータを付して暗号化部１２４に送るようになっている。ユーザＩＤの付された支払情報、残高閲覧情報、入出金記録閲覧情報は、本願発明の元データの一例となる。
また、主制御部１２１は、選択情報を受け取る場合がある。選択情報は、後述する符号の１つを選択する情報である。選択情報を受付けた場合、主制御部１２１はそれによって選択された符号を、第１記録部１２３から読み出すようになっている。主制御部１２１は、ユーザＩＤが付された符号のデータを暗号化部１２４に送るようになっている。ユーザＩＤが付された符号のデータは、本願発明の元データの一例となる。
また、主制御部１２１は、暗号化部１２４から後述する暗号化指示データを受取る場合がある。それを受取った場合にはそれに平文のユーザＩＤを付してから、ユーザＩＤの付された暗号化指示データをデータ入出力部１２２に送るようになっている。
【００２９】
データ入出力部１２２は、制御部１２０へのデータの入出力を行うものである。
具体的には、データ入出力部１２２は、インターフェイス１１４を介して、上述の入力装置１０２から入力された、開始情報、支払情報等を受付けるようになっている。それら入力装置１０２からのデータを受付けた場合には、データ入出力部１２２は、開始データを主制御部１２１に送るようになっている。
また、データ入出力部１２２には、主制御部１２１からユーザＩＤの付された暗号化指示データが送られてくることがある。これを受取ったデータ入出力部１２２は、それを、インターフェイス１１４に送るようになっている。ユーザＩＤの付された暗号化指示データは、送受信部から、ネットワーク４００を介して決済装置２００へと送られるようになっている。
【００３０】
第１記録部１２３は、データを記録するものである。第１記録部１２３には、上述したように、主制御部１２１によってユーザＩＤが記録される。また、第１記録部１２３には、後述するような符号と、複数の予定動作とが互いに対応付けて記録されている。符号は互いにユニークな、有限個の識別子である。予定動作は、互いに異なり、それらのいずれもが実行装置で実行され得る動作である。第１記録部１２３に記録された符号と予定動作とは、例えば、図５に示されたようなものとなっている。これには限られないが、この例では、符号は、１〜４の４つである。そして、符号１には、「Ａ口座へ１００万円を送金」、符号２には、「Ａ口座へ１０万円を送金」、符号３には、「Ｂ口座へ１００万円を送金」、符号３には、「Ｂ口座へ１０万円を送金」という予定動作がそれぞれ紐付けられている。各ユーザ端末１００において第１記録部１２３に記録されているこれら符号と、予定動作とは、それらの対応関係も含めて、後述するようにして、決済装置２００と共有されている。なお、各ユーザ端末１００と、決済装置２００との上記情報の共有は、ネットワーク４００を介しての両者間の通信により行っても良いし、例えばユーザが銀行に出向いて所定の用紙を銀行に提出することにより行っても良いし、その実現方法には特に制限はない。
また、第１記録部１２３には、上述のようにユーザＩＤが記録されている。ユーザＩＤは、各ユーザ毎に、或いは各ユーザが使用するユーザ端末１００毎にユニークな識別子であり、各ユーザを識別するためのものである。ユーザＩＤを用いることにより、決済装置２００は各ユーザを区別することができるようになっている。
これには限られないが、第１記録部１２３は、ハードウェアとして捉えた場合、ＲＡＭ１１３の一部により構成されている。
また、第１記録部１２３に記録されているユーザＩＤ等は、後述するようなタイミングで主制御部１２１により読み出される。
【００３１】
暗号化部１２４は、主制御部１２１から元データを受取る場合があり、元データを受取った場合に、それを暗号化して、暗号化指示データを生成するものである。元データの内容となるのは、上述した支払情報等、符号、ユーザＩＤ等であるが、元データの詳細については後述する。
暗号化部１２４が行う暗号化は、各ユーザ端末１００毎に異なるものであっても良いし、そうでなくとも良い。これには限られないがこの実施形態では、各ユーザ端末１００における暗号化部１２４で行われる暗号化の手法は異なるものとされているとする。より具体的には、この実施形態では、各ユーザ端末１００における暗号化部１２４で行われる暗号化は、同じアルゴリズムを用いるものの、鍵が異なるものとする。ただし、各ユーザ端末１００の暗号化部１２４で行われる暗号化は、それには限られないが、常に同一のアルゴリズムと、常に同一の鍵を用いた、常に同一の手法によるものとする。
暗号化部１２４は、生成した暗号化指示データを主制御部１２１に送るようになっている。
【００３２】
次に、決済装置２００について説明する。
決済装置２００は一般的なコンピュータであり、この実施形態ではより詳細には一般的なサーバ装置である。ハードウェア構成としては、従来のインターネットバンキングシステムにおける決済装置、或いはインターネットバンキングのシステムで用いられている、銀行等によって管理等されているサーバと同等のもので良い。
【００３３】
決済装置２００のハードウェア構成を、図５に示す。
ハードウェアには、ＣＰＵ２１１、ＲＯＭ２１２、ＲＡＭ２１３、インターフェイス２１４、この実施形態ではＨＤＤ（hard disk drive）２１５である大容量記録媒体が含まれており、これらはバス２１６によって相互に接続されている。
【００３４】
ＣＰＵ２１１は、演算を行う演算装置である。ＣＰＵ２１１は、例えば、ＲＯＭ２１２に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。なお、ここでいうコンピュータプログラムには、本願発明のインターネットバンキングサーバ（実行装置）としてこの決済装置２００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、決済装置２００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムの決済装置２００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、インターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ２１２は、ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ２１２に記録されたコンピュータプログラムは、これに限られず、他の必要なコンピュータプログラムが記録されていても良い。
ＲＡＭ２１３は、ＣＰＵ２１１が処理を行うために必要なワーク領域を提供する。
インターフェイス２１４は、バス２１６で接続されたＣＰＵ２１１やＲＡＭ２１３等と外部との間でデータのやり取りを行うものである。インターフェイス２１４は、少なくとも送受信部に接続されている。送受信部がネットワーク４００から受取ったデータは、インターフェイス２１４により受取られるようになっており、インターフェイス２１４から送受信部にわたされたデータは、送受信部によって、ネットワーク４００を介して外部、例えば、ユーザ端末１００に送られるようになっている。
ＨＤＤ２１５は上述のように大容量記録媒体であり、データを記録する。ＣＰＵ２１１が後述する処理を実行するために必要なコンピュータプログラムやデータの少なくとも一部は、ＲＯＭ２１２でなくＨＤＤ２１５に記録されていてもよいし、その大部分がＨＤＤ２１５に記録されている方が実際的であろう。
【００３５】
ＣＰＵ２１１がコンピュータプログラムを実行することにより、決済装置２００内部には、図７で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、決済装置２００を本願発明のインターネットバンキングサーバ（実行装置）として機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、決済装置２００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
決済装置２００内には、本願発明の機能との関係で、以下のような制御部２２０が生成される。制御部２２０内には、データ入出力部２２１、主制御部２２２、復号化部２２３、判定部２２４、第２記録部２２５が生成される。
【００３６】
データ入出力部２２１は、制御部２２０へのデータの入出力を行うものである。具体的には、データ入出力部２２１は、主制御部２２２から後述するデータを受付けるようになっている。
例えば、データ入出力部２２１は、主制御部２２２から後述する結果データ、及び実行データを受付けるようになっている。受取られた結果データは、データ入出力部２２１から、送受信部に送られ、ネットワーク４００を介してユーザ端末１００に送られるようになっている。実行データは、後述する図外の実行部に送られるようになっている。
データ入出力部２２１は、また、ネットワーク４００を介してユーザ端末１００から送受信部が受取ったデータを送受信部から受取り、受取ったそのデータを主制御部２２２に送るようになっている。例えば、データ入出力部２２１は、送受信部からユーザＩＤの付された暗号化指示データを受取る場合があり、それを受取ったデータ入出力部２２１はそれを主制御部２２２に送るようになっている。
【００３７】
主制御部２２２は、制御部２２０内の全体的な制御を行う。
例えば、主制御部２２２には、データ入出力部２２１からユーザＩＤの付された暗号化指示データが入力される場合がある。それを受取った主制御部２２２は、ユーザＩＤの付された暗号化指示データを復号化部２２３へと送るようになっている。
また、主制御部２２２は、上述した判定部２２４から後述する判定データを受取る場合がある。判定データには、指示データ又は符号が付されている場合がある。判定データは後述のように２種類存在するが、後述する肯定的な判定データには指示データ又は符号が付されている。肯定的な判定データを、受取った場合であって判定データに付されていたのが指示データである場合には、主制御部２２２は、指示データで特定される動作を実行させるための実行データを生成するようになっている。肯定的な判定データを、受取った場合であって判定データに付されていたのが符号のデータである場合には、主制御部２２２は、後述するようにして第２記録部２２５に記録されている予定動作についてのデータを、ユーザＩＤ及び符号データに基いて読み出して、その予定動作についてのデータで特定される動作を実行させるための実行データを生成するようになっている。いずれの場合であっても、主制御部２２２は、生成した実行データを、データ入力部２２１に送るようになっている。
また、主制御部２２２は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成し、それをデータ入出力部２２１に送るようになっている。
【００３８】
復号化部２２３は、主制御部２２２からユーザＩＤの付された暗号化指示データを受取った場合に暗号化指示データを復号化する機能を有している。復号化部２２３には、多数のユーザ端末１００からの暗号化指示データが送られてくる。多数のユーザ端末１００から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、上述したように暗号化に用いられた鍵が異なる。それを復号化するために、復号化部２２３は、すべてのユーザ端末１００の第１記録部１２３に記録されたユーザＩＤと、それらユーザＩＤが付されたユーザ端末１００において暗号化部１２４で用いられる鍵とを互いに紐付けた状態で記録している。復号化部２２３がどのようにして暗号化指示データを復号化するかについては後述するが、復号化部２２３が復号化を行う場合には、互いに紐付けたユーザＩＤと、鍵のデータが利用される。
復号化部２２３が暗号化指示データを復号化すると暗号化指示データは、元データに戻る。上述したように、元データは、暗号化指示データに付されていたユーザＩＤとともに判定部２２４へと送られるようになっている。
【００３９】
判定部２２４は、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正なものか否か、つまり暗号化指示データを送ってきたユーザが真正なユーザか否かについての判定を行うものである。この判定を認証判定と称することにする。
判定部２２４には上述のように、復号化部２２３から、暗号化指示データを復号化して得られた元データと、暗号化指示データに付されて復号化部２２３に送られてきて、復号化部２２３から転送されてきたユーザＩＤとが送られてくる。それらデータを用いて、復号化部２２３は認証判定を行う。
判定部２２４が実行する認証判定の詳細については後述することとするが、判定部２２４は、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正であるという肯定的な判定か、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正でないという否定的な判定のいずれかを行う。その結果に基いて、判定部２２４は肯定的な、或いは否定的な判定データを生成し、いずれにせよ生成した判定データを主制御部２２２に送るようになっている。なお、主制御部２２２に送られる判定データには、それが肯定的なものである場合には、指示データ又は符号のデータが付されることになる。
【００４０】
第２記録部２２５は、各ユーザ端末１００に記録されていた、互いに紐付けられていた符号と予定動作とを、その符号と予定動作とが記録されているユーザ端末１００のユーザＩＤと更に紐付けて、すべてのユーザ端末１００の分について記録している。
第２記録部２２５に記録されたデータは、例えば、図８に示したようなものである。要するに、第２記録部２２５には、第１記録部１２３に記録された符号と予定動作とがそっくりそのまま、それが記録された第１記録部１２３を持つユーザ端末１００に割り当てられたユーザＩＤと紐付けて記録されているのである。この実施形態では、これには限られないが、ユーザＩＤは、１から始まる整数の通し番号であることとしている。図８にはユーザＩＤ：４までの４人のユーザ分の符号と予定動作とが示されているが、通常はユーザの数はもっと多い。図８ではユーザＩＤ：５以降のユーザ分の符号と予定動作とは、記載を省略している。また、ユーザＩＤ：３のユーザについては、符号と予定動作との記録が無いが、それは当該ユーザのユーザ端末１００の第１記録部１２３にも、符号と予定動作との記録が無いことを示している。このように、ユーザ端末１００においては、第１記録部１２３における符号と予定動作との記録が省略される場合がある。
【００４１】
次に以上のようなインターネットバンキングシステムの使用方法、及び動作について図９を参照しながら説明する。
【００４２】
まず、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行う。
ユーザＩＤは、各ユーザ端末１００を識別するための、各ユーザ端末１００においてユニークなＩＤであり、一般的には英字、数字、記号の羅列である。多数のユーザＩＤが重複しないようにするために、各ユーザ端末１００に対するユーザＩＤを決済装置２００が発行するようにしてもよい。或いは、ユーザ端末１００のハードウェアに出荷時から埋め込まれている個体識別番号をユーザＩＤとして利用することもできる。
各ユーザ端末１００の管理者は、その入力装置１０２を操作することにより当該ユーザ端末１００についてのユーザＩＤの入力を行う。なお、個体識別番号をユーザＩＤとして用いる場合には、かかる入力は不要である。ユーザＩＤのデータは、入力装置１０２から、インターフェイス１１４に送られ、インターフェイス１１４から制御部１２０に送られる。制御部１２０のデータ入出力部１２２はこれを受取り、主制御部１２１に送る。主制御部１２１は、それを保持する、或いは主制御部１２１内に記録する。
他方、主制御部１２１は、ユーザＩＤのデータをデータ入出力部１２２へと送る。ユーザＩＤのデータは、そこから送受信部へと送られ、ネットワーク４００を介して決済装置２００へと送られる。
決済装置２００は、その送受信部でユーザＩＤのデータを受取る。ユーザＩＤのデータは、送受信部からインターフェイス２１４に送られ、インターフェイス２１４から制御部２２０に送られる。制御部２２０のデータ入出力部２２１はこれを受取り、主制御部２２２に送る。主制御部２２２は、それを保持する、或いは主制御部２２２内に記録する。この処理をすべてのユーザ端末１００が行うことにより、主制御部２２２は、すべてのユーザ端末１００についてのユーザＩＤのリストを持つことになる。
他方、各ユーザ端末１００の第１記録部１２３には、図５に示した如き、互いに紐付けられた状態の符号と予定動作のデータが記録される。また、決済装置２００の第２記録部２２５には、図８に示した如き、各ユーザ端末１００に記録された互いに紐付けられた状態の符号と予定動作のデータが、それら符号と予定動作が記録された第１記録部１２３を持つユーザ端末１００のユーザＩＤと紐付けた状態で記録されることになる。
【００４３】
インターネットバンキングシステムを利用するユーザは、自らが持つユーザ端末１００の入力装置１０２を操作して開始情報を生成する（Ｓ８０１）。開始情報は、例えば、ユーザ端末１００のディスプレイ１０１に表示されたトップ画面に含まれているインターネットバンキングシステムのソフトウェアを起動させるためのアイコンをユーザがタッチすることによって生成される。
開始情報は、入力装置１０２からインターフェイス１１４を介して、制御部１２０中にあるデータ入出力部１２２に送られる。データ入出力部１２２は、開始情報を主制御部１２１へと送る。
主制御部１２１は、開始情報を受け取ると、第１記録部１２３からユーザＩＤのデータを読み出し、それを保持する。なお、ユーザＩＤのデータの第１記録部１２３からの読み出しは、後述する元データの生成までの適当なタイミングで行われれば良い。
次いで、ディスプレイ１０１に、ユーザに、入力を促す画像が表示される。かかる画像の表示は、主制御部１２１が行う。主制御部１２１は、ディスプレイ１０１に表示されるべき画像についての画像データを生成し、それをデータ入出力部１２２へと送る。かかる画像データが、データ入出力部１２２から、インターフェイス１１４を経てディスプレイ１０１に送られることによって、ディスプレイ１０１には、ユーザに入力を促す画像が表示される。
ここでユーザが入力を行うのは、支払情報、残高閲覧情報、入出金記録閲覧情報、選択情報のいずれかである。これらのうち、支払情報、残高閲覧情報、入出金記録閲覧情報と、選択情報とは、その入力の仕方が異なる。支払情報、残高閲覧情報、入出金記録閲覧情報は、ユーザがその内容を直接入力する（かかる入力形式を、便宜上、「直接入力」と呼ぶこととする。）。他方、選択情報は第１記録部１２３に記録されていた予定動作の中からユーザが選択する（かかる入力形式を、便宜上、「選択入力」と呼ぶこととする。）。ディスプレイ１０１に表示される上述のユーザに入力を促す画像は、例えば、ユーザに直接入力と選択入力のいずれかを選択させるものとなる。
ユーザは、支払情報、残高閲覧情報、入出金記録閲覧情報の入力を選択するのであれば、直接入力を選択すれば良いし、選択情報の入力を希望するなら、選択入力を選択すれば良い。かかる選択は、入力装置１０２の操作によって行われる。上述の場合と同様、かかる選択を行うための操作内容は、インターフェイス１１４からデータ入出力部１２２を経て主制御部１２１へと送られる。
【００４４】
例えば、直接入力が選択されたこととする。直接入力が選択された場合、今度は主制御部１２１は、支払情報、残高閲覧情報、入出金記録閲覧情報のうちのどれの入力を希望させるかをユーザに選択させるための、かかる選択をユーザに促す画像をディスプレイ１０１に表示させる。ディスプレイ１０１に表示される画像の制御は、ユーザに入力を促す画像がディスプレイ１０１に表示されたときと同様に、主制御部１２１が画像データを生成することにより行う。
例えば、支払情報を入力することがユーザにより選択されたとする。支払情報は、ユーザが自分の口座から他の口座へと支払いを行うための指示を決済装置２００に行うための情報であり、送金先の口座を特定する情報（銀行名、支店名、及び口座番号と、その口座の名義人）と、送金金額を特定する情報と、を含む。この場合、ディスプレイ１０１に表示される画像は、例えば、図１０に示すようなものとなるであろう。図１０に示された、銀行名、支店名、口座番号、名義人、及び送金金額という文字の下の枠内に、ユーザがそれぞれ該当する内容を記載することにより、支払情報の入力が行われることになる。例えば、残高閲覧情報を入力することがユーザにより選択されたとする。残高閲覧情報は、ユーザが自分の口座の現時点における残高の閲覧を要求する指示を決済装置２００に行うための情報である。この場合には、残高閲覧情報の入力をユーザが選択した時点で残高閲覧情報が生成されることになる。例えば、入出金記録閲覧情報を入力することがユーザにより選択されたとする。入出金記録閲覧情報は、ユーザが自分の口座についての入出金記録の閲覧を要求する指示を決済装置２００に行うための情報であり、自分が閲覧を望む入出金記録の期間（例えば、始期と終期）を特定する情報を含む。この場合には、閲覧を望む入出金記録の期間を特定する入力をユーザが行うことにより、入出金記録閲覧情報の入力がなされることになる。これら支払情報、残高閲覧情報、入出金記録閲覧情報は、本願発明における指示データの一例である。
例えば、支払情報の入力がユーザによって行われると、その入力内容は、入力装置１０２から、インターフェイス１１４、データ入出力部１２２を経て、主制御部１２１へと送られる。主制御部１２１は、これにユーザＩＤのデータを付す。このようにして、支払情報にユーザＩＤが付されたデータが、元データとなる。なお、残高閲覧情報、又は入出金記録閲覧情報が主制御部１２１に入力された場合においても、主制御部１２１は、入力された残高閲覧情報、又は入出金記録閲覧情報にユーザＩＤのデータを付す。これらの場合には、残高閲覧情報にユーザＩＤの付されたデータ、又は入出金記録閲覧情報にユーザＩＤの付されたデータが、元データとなる。
【００４５】
ユーザによって、選択入力が選択されたとする。そうすると、ディスプレイ１０１には、第１記録部１２３に記録された符号及び予定動作のすべてが、例えば、図５に示された内容が第１記録部１２３に記録されているのであれば、符号とそれに紐付けられた予定動作４組すべての表示がなされる。かかる表示を行う場合、主制御部１２１は、符号及び予定動作のデータを第１記録部１２３から読み出し、それに基いてディスプレイ１０１に表示する画像についての画像データを生成する。かかる画像データを、主制御部１２１が、データ入出力部１２２、インターフェイス１１４を介してディスプレイ１０１に送ることにより、ディスプレイ１０１に図５に示されたが如き、符号及び予定動作が表示されることになる。
ユーザは、表示された予定動作の内容を確認した上で、対になっている符号及び予定動作のうちの１つ、或いは符号を選択する。かかる選択は、ユーザが入力装置１０２を操作することによって行う。入力装置１０２からのデータは、上述のごとく主制御部１２１に送られる。主制御部１２１は、そのデータにより選択された符号を第１記録部１２３から読み出す。例えば、「符号１」が選択されたとする。主制御部１２１は、その「符号１」或いは「１」というデータに対して、ユーザＩＤのデータを付す。このようにして、符号にユーザＩＤが付されたデータが、この場合の元データとなる。なお、符号１或いは１というデータに代えて、或いはそれに加えて、符号１という符号で特定される動作内容そのものも元データに含めることも可能である。
いずれにせよ、主制御部１２１は元データを生成する（Ｓ８０２）。主制御部１２１は、生成した元データを、暗号化部１２４へと送る。
【００４６】
暗号化部１２４は、主制御部１２１から元データを受け取ると、それを暗号化して、暗号化指示データにする（Ｓ８０３）。
この実施形態では、暗号化部１２４が行う暗号化は、各ユーザ端末１００毎に異なるものとなっている。これには限られないが、この実施形態では、各ユーザ端末１００における暗号化部１２４で行われる暗号化は、同じアルゴリズムを用いるものの、鍵が異なる。暗号化部１２４は、そのユーザ端末１００で用いられる暗号化の過程で用いられるアルゴリズムと鍵とを保持している。そのアルゴリズムと鍵とを用いて、暗号化部１２４は、元データを暗号化する。それにより生成されるのが、暗号化指示データである。
暗号化部１２４は、生成した暗号化指示データを主制御部１２１に送る。
【００４７】
主制御部１２１は、暗号化部１２４から暗号化指示データを受取る。暗号化指示データを受け取ったら、主制御部１２１は、それに平文のユーザＩＤを付す（Ｓ８０４）。ユーザＩＤの付された暗号化指示データは、主制御部１２１からデータ入出力部１２２に送られる。
ユーザＩＤの付された暗号化指示データは、インターフェイス１１４、送受信部、更にはネットワーク４００を介して決済装置２００に送られる（Ｓ８０５）。
【００４８】
決済装置２００は、その送受信部でユーザＩＤの付された暗号化指示データを受け取る（Ｓ９０１）。
ユーザＩＤの付された暗号化指示データは、インターフェイス２１４を介して、制御部２２０のデータ入出力部２２１に送られる。データ入出力部２２１は、ユーザＩＤの付された暗号化指示データを主制御部２２２に送る。
主制御部２２２は、ユーザＩＤの付された暗号化指示データを受け取ると、自らが持つ、すべてのユーザ端末１００についてのユーザＩＤのリストに含まれているユーザＩＤのうちの１つと、暗号化指示データに付されたユーザＩＤとが一致するか否かを判定する。これも後述する認証判定の一部と考えることもできるが、仮に暗号化指示データに付されていたユーザＩＤが、リストに含まれているユーザＩＤのいずれとも一致しなかった場合には、かかるユーザＩＤが付された暗号化指示データを送ってきたユーザ端末１００が真正なものでないとして、主制御部２２２は以後の処理を中止する。他方、主制御部２２２は、暗号化指示データに付されていたユーザＩＤが、リストに含まれているユーザＩＤのいずれかと一致した場合には、ユーザＩＤの付された暗号化指示データをそのまま復号化部２２３に送る。
【００４９】
復号化部２２３は、主制御部２２２からユーザＩＤの付された暗号化指示データを受取った場合に、暗号化指示データを復号化する（Ｓ９０２）。
復号化部２２３には、多数のユーザ端末１００からの暗号化指示データが送られてくる。多数のユーザ端末１００から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、暗号化に用いられた鍵が異なる。復号化部２２３は、復号化に必要なアルゴリズム（これは、この実施形態では１つである。）を保存している。他方、復号化部２２３は、暗号化指示データを復号化するために用いる鍵を特定しなければならない。復号化部２２３には上述のように、すべてのユーザ端末１００の第１記録部１２３に記録されたユーザＩＤと、それらユーザＩＤが付されたユーザ端末１００において暗号化部１２４で用いられる鍵とが互いに紐付けられた状態で記録されている。復号化部２２３は、暗号化指示データとともに主制御部２２２から送られてきたユーザＩＤと同じ復号化部２２３に記録されていたユーザＩＤと紐付けられていた鍵を、その暗号化指示データを復号化するための鍵であると特定する。
そして、復号化部２２３は、暗号化指示データを、上述のアルゴリズムと、上述の如くユーザＩＤを用いて特定された鍵とを用いて復号化する。その結果得られるのが元データである。復号化部２２３は、暗号化指示データを送って来たユーザ端末１００における暗号化部１２４と同一の鍵を用いるので、ユーザ端末１００と決済装置２００との間で行われる暗号化通信は、共通鍵暗号方式の通信と捉えることが可能である。
元データは、暗号化指示データに付されていたユーザＩＤとともに判定部２２４へと送られる。
なお、復号化部２２３で暗号化指示データを復号化できなかった場合には、復号化部２２３は、その旨を判定部２２４に通知する。
【００５０】
判定部２２４は、暗号化指示データに付されていたユーザＩＤとともに、元データを復号化部２２３から受け取る。それらデータを用いて、判定部２２４は、認証判定を行う（Ｓ９０３）。
この実施形態では、元データに含まれているユーザＩＤと、元データに付されて復号化部２２３から送られてきたユーザＩＤとが一致するか否かを判定する。これにより、両ユーザＩＤが一致した場合には、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正であるという肯定的な判定を判定部２２４はなす。上述したように、元データにはユーザＩＤが含まれている。元データはその後暗号化されて暗号化指示データになるが、その暗号化指示データには元データに含まれていたユーザＩＤが暗号化した状態で含まれている。ユーザ端末１００から送られてきた暗号化指示データを復号化して得られた元データに含まれているユーザＩＤが、そもそも平文の状態で暗号化指示データに付されてユーザ端末１００から決済装置２００に送られてきて、送受信部、インターフェイス２１４、データ入出力部２２１、主制御部２２２、復号化部２２３を経て判定部２２４に送られてきたユーザＩＤと一致すれば、暗号化指示データには改竄等の不正が行われていないと推定することができる。このような原理により、判定部２２４は、両ユーザＩＤが一致した場合には、肯定的な判定をなすのである。他方、両ユーザＩＤが一致しなかった場合には、判定部２２４は、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正でないという否定的な判定をなす。なお、判定部２２４は、復号化部２２３から、暗号化指示データを復号化できなかったとの通知を得た場合においても、否定的な判定をなす。
以上の判定の結果、判定部２２４は、肯定的な判定データ、或いは否定的な判定データを生成する。
判定データが肯定的な場合であっても、否定的な場合であっても、判定部２２４は、ユーザ端末１００から暗号化指示データに付されてきたユーザＩＤを付して、判定データを主制御部２２２に送る。また、判定データが肯定的な場合には、元データの中に含まれていた、本願発明における指示データの例となる、支払情報、残高閲覧情報、或いは入出金記録閲覧情報、又は符号を、主制御部２２２に送る。
もっとも、暗号化指示データを復号化部２２３で復号化できたという事実自体によっても、暗号化指示データに改竄がなかった、或いはユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正であるという証明ができているとみなすことも可能である。もしそのような取扱をするのであれば、判定部２２４及び判定部２２４で行われた認証判定の処理を省略することも可能である。その場合には、復号化部２２３は、判定部２２４に送る上述のデータを主制御部２２２に送るようにすれば良い。
【００５１】
主制御部２２２には、上述のように、判定データがその他のデータとともに送られてくる。
判定データが肯定的なものであったとする。肯定的な判定データには、ユーザＩＤに加えて、支払情報、残高閲覧情報、或いは入出金記録閲覧情報である指示データか、又は符号が付されている。これらに基いて、主制御部２２２は、図外の実行部に、指示データ等によって特定される動作を実行させる（Ｓ９０４）。
肯定的な判定データに付されていたのが指示データである場合には、主制御部２２２は、その指示データによって特定される動作を図外の実行部に実行させるためのデータを生成し、データ入出力部２２１を介して実行部に送る。実行部は、決済装置２００外の装置内に存在しても良いが、各ユーザの銀行口座の管理一般を行う機能を有している。受取ったデータに基いて、実行部は、例えば指示データが支払情報であった場合にはユーザが指定した口座へ、ユーザが指定した金額の送金を行い、指示データが残高閲覧情報であった場合には、ユーザ端末１００へ、ユーザ端末１００のディスプレイ１０１にその時点のユーザの口座の残高を表示させるに必要なデータを送信し、指示データが入出金記録閲覧情報である場合には、ユーザ端末１００へ、ユーザ端末１００のディスプレイ１０１に、ユーザが指定した期間におけるそのユーザの口座の入出金記録を表示させるに必要なデータを送信する。このとき、どのユーザのためにかかる処理を行うかは、肯定的な判定データに付されていたユーザＩＤによって決定される。
他方、肯定的な判定データに付されていたのがユーザＩＤと符号とである場合には、主制御部２２２は、第２記録部２２５からそのユーザＩＤで特定される予定動作についてのデータのうち、その符号と紐付けられたものを読み出す。これにより、予定動作のデータを得た主制御部２２２は、指示データを判定部２２４から得た上述の場合と同様に、その予定動作のデータによって特定される動作を図外の実行部に実行させるためのデータを生成し、データ入出力部２２１を介して実行部に送る。そのデータを受取った実行部は、そのデータにより特定される動作を実行する。
主制御部２２２は、判定データが否定的なものであれば、上述の如き動作を実行しない。
また、主制御部２２２は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成する（Ｓ９０５）。主制御部２２２は、結果データをデータ入出力部２２１に送る。結果データは、ユーザの指示が決済装置２００で実行されたか否かを示すものである。結果データは、肯定的な場合と否定的な場合があり、それが肯定的であるか否定的であるかは、判定データが肯定的か否定的かに倣う。
主制御部２２２は、生成した結果データを、判定データに付されていたユーザＩＤとともに、データ入出力部２２１、インターフェイス２１４を介して送受信部へと送る。送受信部は、ユーザＩＤで特定されるユーザ端末１００へと、ネットワーク４００を介して結果データを送る（Ｓ９０６）。
【００５２】
ユーザ端末１００は、結果データをその送受信部で受け取る（Ｓ８０６）。
送受信部で受付けられた結果データは、インターフェイス１１４、データ入出力部１２２を介して主制御部１２１へと送られる。
これを受付けた主制御部１２１は、ユーザの指示した動作が決済装置２００で実行されたか否かを示す画像を結果データに基いて生成し、その画像データを上述の場合と同様にしてディスプレイ１０１に送ることによって、その画像データに基づく画像をディスプレイ１０１に表示させる。その画像を見ることによってユーザは、自分の指示した動作が決済装置２００で実行されたか否かを知ることができる。
また、決済装置２００からユーザ端末１００には上述のように、ユーザ端末１００のディスプレイ１０１にその時点のユーザの口座の残高を表示させるに必要なデータや、ユーザが指定した期間におけるそのユーザの口座の入出金記録を表示させるに必要なデータが送られてくる場合がある。かかるデータも主制御部２２２に送られ、これらデータを受取った主制御部２２２はそれらデータに基づく適当な画像をディスプレイ１０１に表示させる。
【００５３】
なお、以上で説明したインターネットバンキングシステムにおいては、上述した直接入力によるデータと、選択入力によるデータとの双方を取り扱えるようになっていたが、ユーザ端末１００と決済装置２００とは、それらの一方のみを扱えるように構成されていても構わない。
【００５４】
＜変形例１＞
変形例１によるインターネットバンキングシステムは、第１実施形態によるインターネットバンキングシステムと殆ど同じである。ユーザ端末１００と、決済装置２００との構成、及びそこで実行される処理は、後述する部分を除いて、第１実施形態におけるそれらと変わるところがない。
第１実施形態のインターネットバンキングシステムでは、複数のユーザ端末１００のそれぞれの暗号化部１２４で実行される元データを暗号化する場合における暗号化の手法はいずれも、常に、同一のアルゴリズムと同一の鍵を用いた同一のものであった。加えて、決済装置２００の復号化部２２３において実行される復号化の手法も、同一のユーザ端末１００から送られてきた暗号化指示データに関して言えば、常に、同一のアルゴリズムと同一の鍵を用いた同一のものであった。
変形例１では、複数のユーザ端末１００のそれぞれの暗号化部１２４で実行される暗号化の手法はいずれも、その暗号化の手法が、元データを暗号化して暗号化指示データを生成する度に異なるものとされる。各暗号化部１２４で暗号化の手法を変化させるには、アルゴリズムを変化させることも可能であるが、変形例１では、暗号化を行う度に鍵を変化させることとする。他方、変形例１では、決済装置２００の復号化部２２３において実行される復号化の手法も、同一のユーザ端末１００から送られてきた暗号化指示データの復号化に着目した場合において、復号化がなされる度に変化させられることになる。
かかる仕組みを実現させるには、あるユーザ端末１００の暗号化部１２４と、決済装置２００の復号化部２２３とに着目した場合に、いわば同期した状態で、鍵を変化させて行くことが必要である。変形例１のユーザ端末１００と、決済装置２００とは、暗号化部１２４と復号化部２２３との間で、同期した状態で変化していく鍵を用いて暗号化又は復号化の処理を実行するための仕組みを備えている。
以下、その仕組について説明する。
【００５５】
変形例１のユーザ端末１００でも、第１実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部１２０が生成される。図１１に示したように、変形例１における制御部１２０内に生成される機能ブロックは第１実施形態の場合と略同じであり、同一の機能ブロックが担う機能は暗号化部１２４を除けば、第１実施形態の場合と同じである。変形例１における制御部１２０内に生成される機能ブロックには、第１実施形態の場合には存在しなかった、鍵生成部１２５と鍵データ記録部１２６とが含まれており、その点でのみ第１実施形態と異なる。
鍵生成部１２５は暗号化に使用される鍵を生成するものであり、鍵を暗号化部１２４に提供するものとなっている。また、鍵データ記録部１２６は、鍵生成部１２５が鍵を生成するために使用されるデータを記録するものである。
鍵生成部１２５における鍵の生成の方法、及び鍵を暗号化部１２４に提供するタイミングについて説明する。
【００５６】
鍵生成部１２５が暗号化部１２４に鍵を供給するタイミングは、暗号化部１２４が暗号化の処理を行うタイミングである。上述したように、暗号化部１２４には、元データが送られてくる。このタイミングで、暗号化部１２４は、鍵生成部１２５に対して鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部１２５は鍵を生成し、生成した鍵のデータを暗号化部１２４に送る。暗号化部１２４は、不変のアルゴリズムと、提供された鍵とを用いて、元データを暗号化することにより、第１実施形態の場合と同様に、暗号化指示データを得る。
【００５７】
鍵生成部１２５は、例えば鍵を以下のようにして生成する。鍵は、以下の説明における「解」として生成され、英字、数字、記号の少なくとも１つの羅列として生成される。解は例えば、ある条件下では常に同じものが生成される、初期値依存性のある擬似乱数列のようなものとすることができる。ある初期値から連続してワンタイムパスワードを生成するという、公知、周知のワンタイムパスワードの発生方法が、その一例となる。
この実施形態では、解を生成するために、ある初期値（２つ以上の場合もある）を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を解が必要となる度に実行する。そうすることにより、上記「値」である解を連続して生成することができる。このような解は、初期値依存性のある擬似乱数となる。
上述の「解」を作るのに使われる関数の例として、以下の（ａ）〜（ｃ）を挙げる。以下の（ａ）〜（ｃ）はいずれも、Ｎ番目の「解」であるＸＮを作るための式である。また、Ｐ、Ｑ、Ｒ、Ｓは自然数である。
（ａ）（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
（ｂ）（ＸＮ）＝（ＸＮ−１）Ｐ
（ｃ）（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ-3）R（ＸＮ−4）S
（ａ）は、過去の「解」２つを用い、それらをそれぞれＰ乗とＱ乗したものを足し合わせることにより、新しい「解」を生成する。なお、正確には、過去の「値」２つを用い、それらをＰ乗とＱ乗したものを足し合わせると、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい「解」を生成する。
（ｂ）は、過去の「解」１つを用い、それをＰ乗したものの桁数を上述のように整理したものを新しい「解」とするものである。
（ｃ）は、過去の「解」４つを用い、それらをそれぞれＰ乗、Ｑ乗、Ｒ乗、Ｓ乗したものの積を取り、その後上述したように桁数を整理したものを新しい「解」とするものである。
上述の（ａ）〜（ｃ）は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の（ａ）〜（ｃ）を順番に用いる等の変化を加えることも可能である。
このような手法で解を生成することとすれば、ある初期値に基いて１番目に生成される解は常に同じであり、２番目に生成される解も常に同じであり、同様にＮ番目に生成される解も常に同じである。これが初期値依存性ということである。
鍵データ記録部１２６には当初１つ目の解を生成するのに必要な初期値としての解、例えば、上記式（ａ）が用いられるのであれば、（Ｘ０）と（Ｘ−１）が、上記式（ｂ）が用いられるのであれば、（Ｘ０）が、上記式（ｃ）が用いられるのであれば、（Ｘ０）、（Ｘ−１）、（Ｘ−２）、（Ｘ-3）、が、それぞれ記録されている。なお、初期値とは、各ユーザ端末１００毎にユニークである。
鍵生成部１２５は、１つ目の解を生成する場合には、その初期値を鍵データ記録部１２６から読み出し、１つ目の解である（Ｘ１）を生成する。それとともに、鍵生成部１２５は、生成した解を、鍵データ記録部１２６に送り、上記初期値を＋１ずつ繰り上げる。つまり、鍵データ記録部１２６には、１番目の解が鍵生成部１２５で作られた後の状態では、上記式（ａ）が用いられるのであれば、（Ｘ１）と（Ｘ０）が、上記式（ｂ）が用いられるのであれば、（Ｘ１）が、上記式（ｃ）が用いられるのであれば、（Ｘ１）、（Ｘ０）、（Ｘ−１）、（Ｘ−２）が、それぞれ記録されることになる。
式（ａ）〜（ｃ）のいずれを用いる場合であっても、２つ目の解である（Ｘ２）を作るときは、１番目の解が生成された後の鍵データ記録部１２６に記録された上記解を用いれば良い。そうすれば、同じ順番で作られた解（ＸＮ）は常に同じものとなる。
【００５８】
上述のように生成された解が、鍵生成部１２５から暗号化部１２４に提供される。その解を鍵として用いることにより暗号化部１２４は、元データを暗号化して、暗号化指示データを生成する。これにより、暗号化部１２４は、元データを暗号化する度に異なる鍵を用いて、暗号化の処理を実行することができることになる。
ユーザ端末１００における他の処理はすべて第１実施形態と同一でよく、変形例１ではそうなっている。
【００５９】
変形例１の決済装置２００には、第１実施形態で説明したのと同様に、コンピュータプログラムが実行されることによりその内部に機能ブロックである制御部２２０が生成される。図１２に示したように、変形例１における制御部２２０内に生成される機能ブロックは第１実施形態の場合と略同じであり、同一の機能ブロックが担う機能は復号化部２２３を除けば、第１実施形態の場合と同じである。変形例１における制御部２２０内に生成される機能ブロックには、第１実施形態の場合には存在しなかった、鍵生成部２２６と鍵データ記録部２２７とが含まれており、その点でのみ第１実施形態と異なる。
鍵生成部２２６は復号化に使用される鍵を生成するものであり、鍵を復号化部２２３に提供するものとなっている。また、鍵データ記録部２２７は、鍵生成部２２６が鍵を生成するために使用されるデータを記録するものである。
鍵生成部２２６における鍵の生成の方法、及び鍵を復号化部２２３に提供するタイミングについて説明する。
【００６０】
鍵生成部２２６が復号化部２２３に鍵を供給するタイミングは、復号化部２２３が復号化の処理を行うタイミングである。上述したように、復号化部２２３には、ユーザＩＤの付された暗号化指示データが送られてくる。このタイミングで、復号化部２２３は、鍵生成部２２６に対して鍵を生成することを依頼するためのデータを送信する。それを受取ると、鍵生成部２２６は鍵を生成し、生成した鍵のデータを復号化部２２３に送る。復号化部２２３は、不変のアルゴリズムと、提供された鍵とを用いて、暗号化指示データを復号化することにより、第１実施形態の場合と同様に、元データを得る。
【００６１】
鍵生成部２２６が鍵を生成する方法は、ユーザ端末１００における鍵生成部１２５が鍵を生成する方法と同じである。それを可能とするために、決済装置２００の鍵データ記録部２２７には、ユーザ端末１００における鍵データ記録部１２６に記録されていたのと同一のデータが記録されている。
もっとも、ユーザ端末１００の鍵生成部１２５はそのユーザ端末１００で用いる鍵のみを生成すれば良かったが、決済装置２００は、各ユーザ端末１００の鍵生成部１２５で生成される鍵と同じ鍵を、各ユーザ端末１００の鍵生成部１２５で生成される鍵と同期して生成できねばならない。
そのため、決済装置２００における鍵データ記録部２２７には、当初、各ユーザ端末１００における鍵データ記録部１２６に当初記録されていた上述の初期値と同じ初期値が記録されている。それら初期値は、どの初期値がどのユーザ端末１００についての初期値かを鍵生成部２２６が把握できるように、初期値毎にユーザＩＤと紐付けて、鍵データ記録部２２７に記録されている。
鍵生成部２２６が、復号化部２２３から、鍵生成部２２６に対して鍵を生成することを依頼するためのデータを受け取るとき、そのデータには、これから復号化しようとしていた暗号化指示データに付されていたユーザＩＤが付されている。鍵生成部２２６はそのユーザＩＤに付されていた初期値（或いはその時点で鍵データ記録部２２７に記録されている最新の解であって、次の解を生成するために必要なもの）を読み出す。その読み出した初期値又は解を用いて、鍵生成部２２６は、ユーザ端末１００の鍵生成部１２５で生成されたのと同じ方法で新たな解を生成する。その解（鍵）は、今から復号化部２２３が復号化しようとしている暗号化指示データを生成する際に、ユーザ端末１００での暗号化部１２４で使用された解（鍵）と同じものとなる。
鍵生成部２２６は、解を生成する度に、読み出された初期値又は解を、上述のように、＋１して更新する。
上述のように生成された解が、鍵生成部２２６から復号化部２２３に提供される。その解を鍵として用いることにより復号化部２２３は、暗号化指示データを復号化する度に、その暗号化指示データを決済装置２００に送ってきたユーザ端末１００の暗号化部１２４で使用されたのと同じ、変化する鍵を用いることができることになる。
決済装置２００における他の処理はすべて第１実施形態と同一でよく、変形例１ではそうなっている。
【００６２】
＜変形例２＞
変形例２におけるインターネットバンキングシステムは、基本的に第１実施形態におけるそれと同じである。
異なる点のみを説明するが、異なるのは以下の点である。
第１実施形態では、Ｓ８０５、Ｓ９０１の処理において、ユーザ端末１００から決済装置２００に対して、ユーザＩＤの付された暗号化指示データが、インターネットであるネットワーク４００によって提供されることとなっていた。変形例１では、ユーザＩＤの付された暗号化指示データを決済装置２００に提供する方法がそれと異なる。
【００６３】
変形例２おいては、ユーザ端末１００の中に生成される機能ブロックは第１実施形態の場合と同一である。ただし、その主制御部１２１とデータ入出力部１２２の機能が、第１実施形態の場合と僅かに異なる。
第１実施形態では、Ｓ８０４において、ユーザＩＤの付された暗号化指示データが主制御部１２１で生成された。第１実施形態では、主制御部１２１は、それをデータ入出力部１２２に送り、ネットワーク４００を介して決済装置２００に送信することとしていたが、変形例２の主制御部１２１は、ユーザＩＤの付された暗号化指示データを生成した後、それとは異なる処理を行う。
この場合、主制御部１２１は、ユーザＩＤの付された暗号化指示データを特定することのできる画像である暗号化画像についてのデータである暗号化画像データを生成する。暗号化画像は、所定の規則に従って暗号化画像から暗号化指示データを特定することができる画像であればどのようなものでもよく、例えば、二次元バーコードとすることができる。主制御部１２１は、かかる暗号化画像データを、データ入出力部１２２、インターフェイスを介してディスプレイ１０１に送る。ディスプレイ１０１には、例えば、図１５に示したようにして、暗号化画像１０１Ｘが表示される。
【００６４】
変形例２では、この暗号化画像１０１Ｘを用いて、ユーザＩＤの付された暗号化指示データを決済装置２００に引き渡す。
例えば、決済装置２００は、銀行、販売店、飲食店等に置かれた読み取り装置とインターネット、或いは専用線を介して通信可能となっている。読み取り装置は、スマートフォンのディスプレイ１０１に表示された暗号化画像１０１Ｘを読取ることができるものであり、例えばカメラ、或いはバーコードリーダーである。画像を介して読み取り装置で読取られたデータは、インターネット、或いは専用線を介して決済装置２００に送られる。決済装置２００に送られるデータは、暗号化画像１０１Ｘそのものについての画像データであってもよく、読取り装置が、暗号化画像１０１Ｘから、ユーザＩＤの付された暗号化指示データを抽出する、或いは再構築する機能を有しているのであれば、ユーザＩＤの付された暗号化指示データであってもよい。
それらいずれの場合でも、決済装置２００は、その送受信部やインターフェイス２１４でそれらデータを受け取る。それらデータは、データ入出力部２２１を介して主制御部２２２に送られる。
仮に、決済装置２００に送られるデータが、ユーザＩＤの付された暗号化指示データである場合には、それ以降の処理は第１実施形態の場合と同じである。
また、決済装置２００に送られるデータが、上述の如き画像データである場合には、決済装置２００の主制御部２２２は、その画像データによって特定される暗号化画像１０１Ｘから、ユーザＩＤの付された暗号化指示データを抽出する、或いは再構築する。それ以降の処理は第１実施形態の場合と同じである。
【００６５】
このように、ユーザ端末１００から決済装置２００には、暗号化指示データそのものが送られる必要は必ずしもなく、それを例えば、二次元バーコード、一次元バーコード等の識別子に変換して、データの送信を伴わずに、決済装置２００に引き渡すことができる。
【００６６】
≪第２実施形態≫
第２実施形態で説明するのもインターネットバンキングシステムである。
第２実施形態におけるインターネットバンキングシステムも、第１実施形態の場合と同様に、多数のユーザ端末１００と、決済装置２００とをネットワーク４００経由で接続して構成される。そして、第２実施形態におけるユーザ端末１００の構成と、決済装置２００の構成は、概ね第１実施形態におけるユーザ端末１００と、決済装置２００の構成と概ね同じである。
例えば、ハードウェア構成に関して言えば、ユーザ端末１００、決済装置２００とも、第１実施形態と第２実施形態とで変わりはない。
【００６７】
端的に言うと、第１実施形態におけるインターネットバンキングシステムと第２実施形態におけるインターネットバンキングシステムにおける相違は、第１実施形態では、上述した直接入力によるデータと、選択入力によるデータとの双方を取り扱えるようになっていたが、第２実施形態におけるユーザ端末１００と決済装置２００とは、選択入力によるデータしか扱わない、という点である。
また、第１実施形態における決済装置２００は、ユーザ端末１００から送られてきた暗号化指示データをその復号化部２２３で復号化するようになっていたが、第２実施形態における決済装置２００は、ユーザ端末１００から送られてきた暗号化指示データを復号化しない。
第１実施形態におけるインターネットバンキングシステムと、第２実施形態におけるインターネットバンキングシステムとの間には、かかる相違点に基づく、構成、及び動作についての相違が存在する。
以下、両者の間の相違点に着目して説明を行う。
【００６８】
第２実施形態においても、第１実施形態の場合と同様に、コンピュータプログラムが実行されることにより、ユーザ端末１００の中に機能ブロックが生成される。第２実施形態においてユーザ端末１００の中に生成される機能ブロックは第１実施形態の場合と同一である。
ただし、第１実施形態におけるユーザ端末１００における第１記録部１２３には、上述のように符号及び予定動作が互いに対応付けた状態で記録されているのが基本であるものの、場合によっては符号及び予定動作が記録されていないこともあったが、この実施形態では、すべてのユーザ端末１００における第１記録部１２３のそれぞれに、符号及び予定動作の複数の組が、互いに対応付けた状態で記録されている。また、後述するように、ユーザ端末１００で生成される元データは、上述した選択入力により生成されるもののみである。
【００６９】
他方、第２実施形態においても、第１実施形態の場合と同様に、コンピュータプログラムが実行されることにより、決済装置２００の中に機能ブロックが生成される。図１３に示したように、第２実施形態において決済装置２００の中に生成される機能ブロックは、基本的に第１実施形態の場合と同一である。第１実施形態と第２実施形態とで異なるのは、第１実施形態では存在していた復号化部２２３が存在しないことと、その代わりに第１実施形態では存在していなかった暗号化部２２８が存在すること、である。
暗号化部２２８は、元データを暗号化する機能を有している。暗号化部２２８は、元データを主制御部２２２から提供されるようになっている。主制御部２２２から提供される元データは通常複数であり、暗号化部２２８は例えば、複数提供された元データのすべてを暗号化するようになっている。それを可能とするために、第２実施形態における主制御部２２２は、暗号化部２２８に提供する元データを生成する機能を有している。主制御部２２２は、後述するようにして、ユーザＩＤと、第２記録部２２５に記録されている符号とを用いて元データを生成するようになっている。主制御部２２２で実行される具体的な元データの生成方法については後述することにする。
暗号化部２２８は元データを暗号化することによって、暗号化指示データを得る。暗号化部２２８で生成された暗号化指示データを暗号化部２２８は、判定部２２４に送るようになっている。
なお、判定部２２４は、暗号化部２２８から送られてきた上述の暗号化指示データに加えて、主制御部２２２から送られてきた決済装置２００がユーザ端末１００から受け取った暗号化指示データをも受け取るようになっている。判定部２２４は、これら２種類の暗号化指示データを用いて認証判定を行う。判定部２２４が認証判定を行うこと自体は第１実施形態及び第２実施形態で変わりはないが、認証判定の方法が、両実施形態で異なるのである。
【００７０】
次に以上のようなインターネットバンキングシステムの使用方法、及び動作について図１４を参照しながら説明する。
【００７１】
第２実施形態のインターネットバンキングシステムにおいても第１実施形態の場合と同様に、かかるシステムを使用するための準備として、各ユーザ端末１００において、ユーザＩＤの設定を行う。決済装置２００の主制御部２２２が、すべてのユーザ端末１００についてのユーザＩＤのリストを持つことになるのも第１実施形態と同様である。
また、各ユーザ端末１００の第１記録部１２３には、図５に示した如き、互いに紐付けられた状態の符号と予定動作のデータが記録される。決済装置２００の第２記録部２２５には、図８に示した如き、各ユーザ端末１００に記録された互いに紐付けられた状態の符号と予定動作のデータが、それら符号と予定動作が記録された第１記録部１２３を持つユーザ端末１００のユーザＩＤと紐付けた状態で記録される。これにて、インターネットバンキングシステムの使用の準備が終わる。
【００７２】
インターネットバンキングシステムを利用するユーザは、自らが持つユーザ端末１００の入力装置１０２を操作して開始情報を生成する（Ｓ８０１）。これは第１実施形態と同じである。第１実施形態では、ユーザに入力を促す画像として、ディスプレイ１０１に、直接入力と選択入力のいずれかの選択をユーザに促す画像がまず表示された。しかしながら、第２実施形態では上述したように選択入力しかそもそも行えないから、ディスプレイ１０１に表示される画像は、第１実施形態でいえば、選択入力を行うことをユーザが選択した後の画像となる。つまり、ディスプレイ１０１には、第１記録部１２３に記録された符号及び予定動作のすべてが表示される。
第１実施形態の場合と同様に、ユーザは、表示された予定動作の内容を確認した上で、対になっている符号及び予定動作のうちの１つ、或いは符号を選択する。例えば、「符号１」が選択されたとする。主制御部１２１は、その「符号１」或いは「１」というデータに対して、ユーザＩＤのデータを付す。このようにして、符号にユーザＩＤが付されたデータが、この場合の元データとなる。
このように、第２実施形態における元データの生成は、選択入力しか行えないことを除き、第１実施形態の場合のＳ８０２の処理と変わらない。
生成された元データを、主制御部１２１は暗号化部１２４へと送る。
【００７３】
暗号化部１２４は、主制御部１２１から元データを受け取ると、それを暗号化して、暗号化指示データにする（Ｓ８０３）。この処理は、第１実施形態と変わらない。変形例１で説明したようにして、暗号化の手法を変化させることも可能ではあるが、第２実施形態でも第１実施形態の場合と同様に、暗号化部１２４が行う暗号化は、各ユーザ端末１００毎に異なるけれども、各ユーザ端末１００毎に見た場合には常に同一であるものとする。
暗号化部１２４は、生成した暗号化指示データを主制御部１２１に送る。
【００７４】
主制御部１２１は、暗号化部１２４から暗号化指示データを受取る。暗号化指示データを受け取ったら、主制御部１２１は、それに平文のユーザＩＤを付す（Ｓ８０４）。ユーザＩＤの付された暗号化指示データは、主制御部１２１からデータ入出力部１２２に送られる。
【００７５】
ユーザＩＤの付された暗号化指示データは、インターフェイス１１４、送受信部、更にはネットワーク４００を介して決済装置２００に送られる（Ｓ８０５）。また、決済装置２００は、その送受信部でユーザＩＤの付された暗号化指示データを受け取る（Ｓ９０１）。この過程は、第１実施形態と同じである。
【００７６】
ユーザＩＤの付された暗号化指示データは、インターフェイス２１４を介して、制御部２２０のデータ入出力部２２１に送られる。データ入出力部２２１は、ユーザＩＤの付された暗号化指示データを主制御部２２２に送る。
主制御部２２２は、ユーザＩＤの付された暗号化指示データを受け取ると、自らが持つ、すべてのユーザ端末１００についてのユーザＩＤのリストに含まれているユーザＩＤのうちの１つと、暗号化指示データに付されたユーザＩＤとが一致するか否かを判定する。これも後述する認証判定の一部と考えることもできるが、仮に暗号化指示データに付されていたユーザＩＤが、リストに含まれているユーザＩＤのいずれとも一致しなかった場合には、かかるユーザＩＤが付された暗号化指示データを送ってきたユーザ端末１００が真正なものでないとして、主制御部２２２は以後の処理を中止する。
他方、主制御部２２２は、暗号化指示データに付されていたユーザＩＤが、リストに含まれているユーザＩＤのいずれかと一致した場合には、ユーザＩＤの付された暗号化指示データをそのまま判定部２２４に送る。第１実施形態では、主制御部２２２からの、かかるユーザ端末１００から送られて来た暗号化指示データの送り先は復号化部２２３であった。ユーザ端末１００から送られて来た暗号化指示データの送り先が第１実施形態と第２実施形態とで異なる。
【００７７】
他方、主制御部２２２は、元データを生成して、暗号化部２２８に送る。主制御部２２２における元データの生成方法は、以下のようなものである。
主制御部２２２は、ユーザＩＤとともに暗号化指示データを送ってきたユーザ端末１００における主制御部１２１と同じ方法で元データを生成する。ユーザ端末１００の主制御部１２１では、１回の指示を決済装置２００に行うにあたって１つの元データが生成されるが、主制御部２２２は１回の指示についての暗号化指示データをユーザ端末１００から受取ると、原則として複数個の元データを生成する。
主制御部２２２は、ユーザ端末１００から暗号化指示データとともに送られてきたユーザＩＤと同じユーザＩＤに紐付けられていた、第２記録部２２５に記録されていた符号及びそれに紐付けられていた予定動作のうち、元データを生成するためにユーザ端末１００の主制御部１２１で使用されたものと同じもの（符号のみ、或いは符号と予定動作）を用いて、元データを生成する。例えば、図８に例示された例でいえば、主制御部２２２が暗号化指示データとともにユーザ端末１００から受取ったユーザＩＤが４であったとした場合、主制御部２２２は、「符号１（又は「１」）」、「符号２（又は「２」）」、「符号３（又は「３」）」「符号４（又は「４」）」のそれぞれに、ユーザＩＤである「４」を付したものを、元データとして生成する、又は生成することがある。「生成する、又は生成することがある。」という文言の意義については後述する。
要するに、主制御部２２２は、暗号化指示データを送ってきたユーザ端末１００の主制御部１２１が、第１記録部１２３に記録されていたデータを使って生成しうる元データのすべてを、第２記録部２２５に記録されていたデータを使って生成する、又は生成することがあるのである。
この実施形態では、とりあえず、主制御部２２２は、暗号化指示データを送ってきたユーザ端末１００の主制御部１２１が、第１記録部１２３に記録されていたデータを使って生成しうる元データのすべてをまず生成し、それら元データのすべてを暗号化部２２８に送るものとする。ユーザＩＤが４の場合であれば、上述のように、主制御部２２２で４つの元データが生成され、それらがユーザＩＤとともに暗号化部２２８に送られる。
【００７８】
暗号化部２２８は、主制御部２２２からユーザＩＤとともに元データを受取った場合に、元データを暗号化する（Ｓ９０７）。
暗号化部２２８には、多数のユーザ端末１００からの暗号化指示データが送られてくる。暗号化部２２８は、その暗号化指示データを送ってきたユーザ端末１００における暗号化部１２４で行われた暗号化の手法と同じ方法で、主制御部２２２から送られて来た元データを暗号化する。多数のユーザ端末１００から送られてくる暗号化指示データは、それを暗号化する際に用いられたアルゴリズムは同じであるが、暗号化に用いられた鍵が異なるから、暗号化部２２８は、主制御部２２２から送られてきた元データを暗号化するに当たり、各ユーザ端末１００で暗号化を行うために使用された鍵を把握する必要がある。かかる鍵の把握は、第１実施形態の復号化部２２３において、復号化に用いる鍵を把握する場合と同様に、主制御部２２２から送られてきたユーザＩＤによって行うことができる。暗号化部２２８は、暗号化に必要なアルゴリズムに加え、すべてのユーザ端末１００の第１記録部１２３に記録されたユーザＩＤと、それらユーザＩＤが付されたユーザ端末１００において暗号化部１２４で用いられる鍵とが互いに紐付けられた状態で記録されている。暗号化部２２８は、元データとともに主制御部２２２から送られてきたユーザＩＤと同じ暗号化部２２８に記録されていたユーザＩＤと紐付けられていた鍵を、その元データを暗号化するための鍵として特定する。
そして、暗号化部２２８は、主制御部２２２から受取った元データを、上述のアルゴリズムと、上述の如くユーザＩＤを用いて特定された鍵とを用いて暗号化する。その結果得られるのが暗号化指示データである。暗号化部２２８は、主制御部２２２から複数の元データを受け取っている場合があるが、この実施形態における暗号化部２２８は、複数の元データを受け取った場合には、複数の元データをすべて暗号化するようになっている。上述の例の場合であれば、４つの元データを受取った暗号化部２２８は、それらをそれぞれ暗号化して４つの暗号化指示データを生成する。
生成された複数の暗号化指示データは、それら暗号化指示データを生成する元となった元データと互いに紐付けられた状態で、暗号化部２２８から判定部２２４へと送られる。
【００７９】
判定部２２４は、既に簡単に述べたように、暗号化部２２８から送られてきた上述の暗号化指示データと、主制御部２２２から送られてきた、決済装置２００がユーザ端末１００から受け取った暗号化指示データとを用いて認証判定を行う（Ｓ９０３）。
第２実施形態における判定部２２４は、暗号化部２２８からまとめて受取った複数の暗号化指示データの１つと、主制御部２２２から送られてきた暗号化指示データとが一致するか否かの判定を行う。前者のうちの１つと後者とが一致したのであれば、判定部２２４は、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正であるという肯定的な判定をなす。
上述したように、暗号化部２２８で生成される暗号化指示データは、ユーザ端末１００の主制御部１２１で生成され得るすべての元データのそれぞれと等しい、主制御部２２２で生成された複数の元データに基いて生成されたものであるから、暗号化部２２８で生成された暗号化指示データのうちの１つは、改竄等の不正がない限り、ユーザ端末１００から送られてきた暗号化指示データと一致するはずである。このような原理により、暗号化部２２８からまとめて受取った複数の暗号化指示データの１つと、主制御部２２２から送られてきた暗号化指示データとが一致した場合に、判定部２２４は肯定的な判定をなすのである。
他方、暗号化部２２８からまとめて受取った複数の暗号化データのすべてが、主制御部２２２から送られてきた暗号化指示データと一致しなかった場合には、判定部２２４は、ユーザ端末１００から決済装置２００に送られてきた暗号化指示データが真正でないという否定的な判定をなす。
以上の判定の結果、判定部２２４は、肯定的な判定データ、或いは否定的な判定データを生成する。
判定データが肯定的な場合であっても、否定的な場合であっても、判定部２２４は、主制御部２２２から送られてきたユーザＩＤを付して、判定データを主制御部２２２に送る。また、判定データが肯定的な場合には、判定部２２４は、主制御部２２２から送られてきた暗号化指示データと一致した、暗号化部２２８から送られてきた指示データと紐付けられた状態で暗号化部２２８から送られてきた元データに含まれていた符号についてのデータを、判定データに付して主制御部２２２に送る。
【００８０】
主制御部２２２には、上述のように、判定データが送られてくる。
判定データが肯定的なものであったとする。肯定的な判定データには、ユーザＩＤに加えて、符号が付されている。かかるユーザＩＤ、及び符号に基いて、主制御部２２２は、図外の実行部に、指示データ等によって特定される動作を実行させる（Ｓ９０４）。かかる処理は、肯定的な判定データに付されていたのがユーザＩＤと符号とである場合において第１実施形態で実行された処理に同じである。
他方、主制御部２２２は、判定データが否定的なものであれば、上述の如き動作を実行しない。
【００８１】
また、主制御部２２２は、判定データが肯定的であるか否定的であるかを問わず、結果データを生成する（Ｓ９０５）。生成された結果データは、ユーザ端末１００へと、ネットワーク４００を介して送られる（Ｓ９０６）。ユーザ端末１００は、結果データを受け取る（Ｓ８０６）。これらの処理、及びユーザ端末１００で行われる以降の処理は、第１実施形態と同様である。
【００８２】
なお、第２実施形態における上述の説明において、判定部２２４は、暗号化部２２８からまとめて送られてきた複数の暗号化指示データと、主制御部２２２から送られてきた１つの暗号化指示データとを比較して、前者のうちの１つと後者とが一致するか否かによって判定を行うこととしていた。ユーザ端末１００から送られてきた暗号化指示データに対して、決済装置２００で生成したユーザ端末１００で生成しうるすべての暗号化指示データを、いわゆる総当りで比較することを前提とした手法である。言い換えれば、かかる手法は、決済装置２００で生成される複数の暗号化指示データがすべて出揃うのを待ってから、判定部２２４で認証判定を行うというバッチ処理的な手法であるともいえる。
もちろん、総当りを行えば、ユーザ端末１００から送られてきた暗号化指示データに改竄等の不正がない限り、暗号化部２２８からまとめて送られてきた複数の暗号化指示データのうちの１つと、主制御部２２２から送られてきた暗号化指示データとは一致するはずである。
しかしながら、総当りを行うまでもなく、例えば、暗号化部２２８で生成された１つ目の暗号化指示データが判定部２２４に送られて来て、判定部２２４でその暗号化指示データと主制御部２２２から送られてきた暗号化指示データとが一致してしまったのであれば、主制御部２２２から送られて来た暗号化指示データと一致するはずのない、その後に暗号化部２２８から送られてくる暗号化指示データと、主制御部２２２から送られてきた暗号化指示データとを比較する利益は無い。したがって、判定部２２４で行われる認証判定の処理は、暗号化部２２８から送られて来る暗号化指示データと、主制御部２２２から送られてきた暗号化指示データとを、一対一で、いわゆるリアルタイム処理の形式で比較しても構わない。
その場合、暗号化部２２８は、主制御部２２２から受取った元データを１つ暗号化して暗号化指示データとする度に、判定部２２４に送るようにすれば良い。そして、判定部２２４は、１つ暗号化部２２８から暗号化指示データを受取る度に、それを主制御部２２２から受け取っていた暗号化指示データと比較して、両者が一致するか否かにより判定データをその都度生成すれば良い。もちろん、両者が一致した場合に生成される判定データは肯定的な判定データとなり、両者が一致しない場合に生成される判定データは否定的な判定データとなる。
判定部２２４が、上述のように、リアルタイム処理的な処理として認証判定を実行する場合には、上述したように、暗号化部２２８は、暗号化指示データを１つ生成する度に、それを判定部２２４に送る。このような処理を暗号化部２２８が行うのであれば、暗号化部２２８は主制御部２２２が生成しうる複数の元データのすべてを主制御部２２２から受け取ってから、元データの暗号化を開始する必要はない。言い換えれば、既に説明した暗号化部２２８は、主制御部２２２から複数の元データのすべてを受け取ってから、バッチ処理的に、元データを暗号化する処理を行うようになっていたが、暗号化部２２８は、主制御部２２２から元データを１つ受取るたびに、元データの暗号化を行うようになっていても構わない。上述の説明では、主制御部２２２は、ユーザ端末１００で生成され得るすべての元データを生成してからそれを暗号化部２２８に送るようになっていたが、暗号化部２２８がリアルタイム処理的に元データの暗号化の処理を実行するのであれば、主制御部２２２は、元データを１つ作る度に暗号化部２２８にそれを送るようになっていればよい。
判定部２２４は、主制御部２２２から送られてきた暗号化指示データと、暗号化部２２８から１つずつ送られて来た暗号化指示データとが一致した時点で、肯定的な判定データを生成してそれを主制御部２２２に送る。主制御部２２２はそれを受取った時点で、元データの生成を中止すれば良い。また、肯定的な判定データを受取った主制御部２２２は、暗号化部２２８に以後の元データの暗号化の処理を中止させ、判定部２２４に以後の認証判定を中止させるようにすることができる。
【００８３】
なお、第２実施形態におけるユーザ端末１００で生成される暗号化指示データは、決済装置２００で復号化されることはない。
したがって、ユーザ端末１００の暗号化部１２３で行われる暗号化の手法と、それと同じ手法の暗号化の手法である決済装置２００の暗号化部２２８で行われる暗号化の手法とは、復号化を行えないような暗号化の手法であっても良い。
例えば、暗号化部１２３、及び暗号化部２２８で行われる暗号化の手法は、不可逆な変換である、元データについてのハッシュ値をとる処理とすることが可能である。また、暗号化部１２３、及び暗号化部２２８で行われる暗号化の手法は、元データを復号可能に暗号化したデータから、例えば、前半分を抜き出した、後半分を抜き出した、偶数文字目、或いは３の倍数文字目を抜き出した、或いは、英字数字記号混じりの文字列から数字のみを抜き出したもの等であっても良い。もっとも、このように、データ量を減らすばあいには、データ量の欠損に起因した誤判定が、判定部２２４における認証判定で生じないように留意する必要がある。例えば、前半分を抜きだしたデータ列を十分に長くすることで、確率的に誤判定が生じないようにすべきである。
【符号の説明】
【００８４】
１００  ユーザ端末
１２０  制御部
１２１  主制御部
１２２  データ入出力部
１２３  第１記録部
１２４  暗号化部
２００  決済装置
２２０  制御部
２２１  データ入出力部
２２２  主制御部
２２３  復号化部
２２４  判定部
２２５  第２記録部
【図１】
2019004353.tif 000003
【図２】
2019004353.tif 000004
【図３】
2019004353.tif 000005
【図４】
2019004353.tif 000006
【図５】
2019004353.tif 000007
【図６】
2019004353.tif 000008
【図７】
2019004353.tif 000009
【図８】
2019004353.tif 000010
【図９】
2019004353.tif 000011
【図１０】
2019004353.tif 000012
【図１１】
2019004353.tif 000013
【図１２】
2019004353.tif 000014
【図１３】
2019004353.tif 000015
【図１４】
2019004353.tif 000016
【図１５】
2019004353.tif 000017