(57)【要約】【課題】一般的なワンタイムパスワードを用いた技術よりも更に安全性の高い認証技術を提供する。【解決手段】クライアントとサーバはともに、同じ条件下では同じ解を生成する機能を持つ。クライアントは、２０桁の英数字混じりの一つ目の解を作り（Ｓ１００２）、解の一部をある規則により抜き出した一部解を生成し（Ｓ１００３）、一部解をユーザＩＤである識別情報とともにサーバに送る（Ｓ１００４）。サーバはそれらを受信し（Ｓ２００１）、解を生成し（Ｓ２００２）、一部解を生成する（Ｓ２００３）。サーバで生成した一部解がクライアントから送られてきた一部解と一致したら、そのクライアントが正当なものだと認証する。【選択図】図６
2018046521.tif 000002
【特許請求の範囲】
【請求項１】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えている送信装置と、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
を備えている受信装置と、
を備えてなる送受信システムであって、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
送受信システム。
【請求項２】
前記送信装置は、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段を備えているとともに、
前記第１暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記受信装置は、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段を備えているとともに、
前記第２暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
請求項１記載の送受信システム。
【請求項３】
前記送信装置は複数であり、前記送信装置を用いるユーザには各ユーザを他のユーザから識別するための識別情報が割振られているとともに、前記送信装置から前記受信装置に前記一部解が送られる場合には、前記識別情報が前記受信装置に送られるようになっているとともに、
前記第２解記録手段には前記送信装置のそれぞれに割振られた識別情報のそれぞれと紐付けて、当該識別情報が割振られた前記送信装置の前記第１解記録手段に記録されたものと同じ前記初期解が少なくとも初期状態では記録されており、
前記受信手段が前記送信装置から送信された前記一部解を受取った場合において前記第２解生成手段が新たな解を生成する場合、前記第２解生成手段は、前記第２解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第２解記録手段に記録されていた初期解に基いて解を生成するようになっている、
請求項１記載の送受信システム。
【請求項４】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えており、受信装置との組合せにより送受信システムを構成する送信装置であって、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
を備えており、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
送信装置。
【請求項５】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えている送信装置との組合せにより送受信システムを構成する、受信装置であって、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
を備えており、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
受信装置。
【請求項６】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法であって、
前記コンピュータが実行する、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、
生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
生成された前記一部解をネットワークを介して送信する過程、
を含んでおり、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
を備えており、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
方法。
【請求項７】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法であって
前記コンピュータが実行する、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する過程、
生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、
を含んでおり、
前記コンピュータは、
新たな解を生成する前記過程を、前記送信装置から送信された前記一部解を前記受信装置が受取った場合に、少なくとも１つの解を生成するものとして実行し、
一部解を生成する前記過程を、生成されたその少なくとも１つの解から前記一部解を取出すものとして実行し、
生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する、
方法。
【請求項８】
コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
として機能させるためのものであり、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
を備えており、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
コンピュータプログラム。
【請求項９】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータを、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
認証手段、
として機能させるためのものであり、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記認証手段は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている、
コンピュータプログラム。
【請求項１０】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
を備えている送信装置と、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
を備えている受信装置と、
を備えてなる送受信システムであって、
前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
送受信システム。
【請求項１１】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
を備えており、受信装置との組合せにより送受信システムを構成する送信装置であって、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
を備えており、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
送信装置。
【請求項１２】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
を備えている送信装置との組合せにより送受信システムを構成する、受信装置であって、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
を備えており、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
受信装置。
【請求項１３】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法であって、
前記コンピュータが実行する、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、
生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
生成された前記一部解をネットワークを介して送信する過程、
を含んでおり、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
を備えており、
前記コンピュータが更に実行する、
前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成する過程、
前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、
を含み、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
方法。
【請求項１４】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
を備えており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法であって、
前記コンピュータが実行する、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを含むものを少なくとも１つ生成する過程、
生成された少なくとも１つの前記解からその一部である一部解を、所定の規則に従って取出す過程、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、
前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する過程、
前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成する過程、
新たに生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、
を含んでおり、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記送信装置と、前記受信装置とは、前記受信装置の前記コンピュータが生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記コンピュータで判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
方法。
【請求項１５】
コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムであって、
前記コンピュータを、
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
として機能させるためのものであり、
前記受信装置は、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
を備えており、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
コンピュータプログラム。
【請求項１６】
文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、
前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、
前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、
前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、
を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムであって、
前記コンピュータを、
前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、
前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、
前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、
前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、
として機能させるためのものであり、
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、
前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、
の少なくとも一方を行うようになっている、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信技術、より詳細には認証技術に関する。
【背景技術】
【０００２】
例えば、インターネット上でインターネット上に存在する店舗への支払いを行う、インターネットバンキングで自らの口座の残高を見たり第三者への送金を行う等という場合には、それらを行うユーザは自らの端末（クライアント）と上記店舗等のサーバとの間でインターネットを介して通信を行う。かかる通信ではもちろん、第三者のなりすましを排除することが必要である。
そのために認証技術が用いられている。
【０００３】
インターネットバンキングを用いる場合におけるユーザの認証は、例えば以下のようにして実行される。
ユーザがインターネットバンキングのサービスを利用する場合には、ユーザは、ユーザが操作する端末であるユーザ端末から、ユーザを特定する、或いはユーザ端末を特定する情報である識別情報を、インターネットを介して、銀行が設置し銀行の管理下にあるサーバへと送信する。必ずしもこの限りではないが、この識別情報は、銀行側が設定したユーザＩＤと、ユーザ側が設定したパスワードとの組合せになっている。ユーザ端末からサーバに送られた識別情報におけるユーザＩＤとパスワードの組合せが、サーバの記録媒体に記録された通りの適切なものであれば、サーバは、インターネットバンキングを利用しようとして識別情報を送ってきたそのユーザ或いはユーザ端末は正当なものであると認証する。
もっとも、上述したような認証技術は、インターネットバンキングを目的とするものに限らず、広く普及しているが、インターネットバンキング等のより認証の精度を上げるべき分野では最早古典的な技術になりつつある。固定のユーザＩＤと固定のパスワードの組合せでは、悪意のある第三者にそれらを盗まれることがあり得るからである。
そのようなリスクを低減するために、銀行はユーザに、定期的にパスワードを変更することを促し、或いは定期的にパスワードを変更しないユーザにはインターネットバンキングのサービスを利用できないようにする、などの対策を行っている。しかしながら、数ヶ月に一度程度のパスワードの変更では最早、悪意のある第三者によるなりすましを排除することは難しい。
【０００４】
そのような点を考慮して、近年大いに普及してきているのがワンタイムパスワードを用いた認証技術である。
ワンタイムパスワードは、一時的に発生させて用いられる、期限付きのパスワードである。ワンタイムパスワードは、ユーザが発生させる。ワンタイムパスワードを発生させる際にユーザが用いるのはトークンである。いずれにせよ銀行が各ユーザに配布するものであるが、トークンは、実体のある物理トークンと、ユーザが所有するスマートフォンその他の端末にインストールしてその端末を物理トークンと同様に機能させるものであるソフトウエアトークンとに大別される。もっとも、トークンは、ユーザが操作することにより、一時的に（例えば、生成されてから１分間だけ）有効となるワンタイムパスワードを生成する。もちろん各ユーザに配布されたトークンが生成するワンタイムパスワードは、それぞれ異なる。
ユーザは、ユーザＩＤとワンタイムパスワードとを含む識別情報を、インターネットを介してユーザ端末からサーバへと送信する。
他方、サーバは、各ユーザに配布したトークンで生成されるワンタイムパスワードと同じワンタイムパスワードを生成する機能を有している。サーバは、ユーザ端末から送られてきた識別情報に含まれていたユーザＩＤで特定されるユーザに配布したトークンで生成されるのと同じワンタイムパスワードを生成することができるので、サーバで生成したワンタイムパスワードが、ユーザ端末から送られてきたワンタイムパスワードと同じかどうかの判定を行い、両者が一致した場合には、そのワンタイムパスワードを送ってきたユーザ端末乃至ユーザが正当である、との認証を行う。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
かかるワンタイムパスワードを用いた認証はそれなりの効果をあげているが、それでもなお、悪意のある第三者によるなりすましの事例は後を絶たない。警察庁が開示する平成２７年中のインターネットバンキングにおける不正送金の金額は３０億円を超えており、これが現に警察庁に把握されているもののみを対象とするデータであり、更に日本国内のみのデータであることまで考慮すれば、世界に視野を広げた場合における被害額が莫大であることは想像に難くない。
そのようなことが生じることの理由の１つとして、固定のユーザＩＤとパスワードをユーザ端末からサーバへ送信する古典的な技術の場合と同様に、ワンタイムパスワードを用いる技術においても、ユーザがトークンで生成したワンタイムパスワードが、ユーザがインターネットバンキングのサービスを利用する度に、ユーザ端末からサーバへ、ユーザＩＤとともに、例えば同じ経路で送られるということを挙げることができる。
トークンでワンタイムパスワードを生成する際に使用されるアルゴリズムは、第三者から簡単には看破できないように複雑なものとされている。しかしながら、インターネットを飛び交うユーザＩＤを悪意のある第三者がある程度の数入手することができたのであれば、それらからアルゴリズムを看破することは少なくとも不可能ではないし、実際にそのようなことが行われていると考えられる。
そして、インターネットを挟んでのかかる認証の問題は、インターネットバンキング以外の分野においても当然に問題になっている。
【０００６】
本願発明は、一般的なワンタイムパスワードを用いた技術よりも更に安全性の高い認証技術を提供することを課題とする。
【課題を解決するための手段】
【０００７】
かかる課題を解決するために本願発明者は研究を重ねた。その結果、上述の問題は、ワンタイムパスワードをインターネットを介して送信しなければ生じないという極めて簡単でしかも本質的なことに気がついた。
本願発明は、そのような知見に基づくものである。
【０００８】
上述の課題を解決するための本願発明は、以下のようなものである。
本願発明は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置と、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている受信装置と、を備えてなる送受信システムである。
そして、受信装置における前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
【０００９】
この送受信システムは、ネットワーク（典型的にはインターネット）を介して互いに通信可能な送信装置と、受信装置とを含んで構成される。これら送信装置と受信装置のうち認証の処理を行うのが受信装置であり、送信装置はその正当性の認証を送信装置にしてもらうものである。その意味では、送信装置は、従来技術でいえばユーザ端末に相当し、受信装置は、従来技術でいえばサーバに相当する。なお、本願における送信装置は送信だけでなく受信をも行ってよく、本願における受信装置は受信だけでなく送信をも行ってよい。本願における送信装置は、認証のための一部解を他方の装置に送信する側の装置、本願における受信装置は、認証のための一部解を他方の装置から受信する側の装置、という意味である。
送信装置は、上述したように、解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段と、第１解記録手段に記録された初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段とを備えている。初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解とは、典型的には初期解依存性のある擬似乱数である。送信装置が備える第１解記録手段と、第１解生成手段とは、それらの組合せにより連続して解を生成するものである。つまり、これらは従来技術におけるトークン、より詳細にはソフトウエアトークンに相当するものであるといえる。他方、送信装置は、第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段を備えており、また、第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段を備えている。
受信装置は、送信装置の第１解記録手段に記録された初期解と同一の初期解を記録する第２解記録手段と、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段とを備えている。従来技術におけるサーバは、ユーザが持つトークンで発生させられるのと同じワンタイムパスワードを生成できるようになっている。受信装置における第２解記録手段と、第２解生成手段とを組合せたものは、従来技術のサーバにおけるワンタイムパスワードを生成する手段と同様のものである。送信装置で発生されるのと同じ解を受信装置でも発生できるようにするために、受信装置における第２解記録手段には、少なくともその初期状態（一般に、最初の解が生成される前）においては、送信装置における第１解記録手段に少なくともその初期状態（一般に、最初の解が生成される前）で記録されていたのと同じ初期解が記録されており、また、受信装置における第２解生成手段は、同じ初期解を用い、解を作る場合の条件（本願でいうこの「条件」は、当然に、発生される解に影響を与える対象についての「条件」のみを意味する。）が同じ場合、第１解生成手段で生成されるものと同じ解を生成することが可能なものとなっている。そのような技術は、従来から用いられているワンタイムパスワードの発生方法にて既に公知、或いは周知であり、それを第１解生成手段と第２解生成手段とに流用することが可能である。
例えば、第１解生成手段、第２解生成手段はともに、同じアルゴリズムにより新しい解を生成するようなものとなっていてもよい。より具体的には、第１解生成手段、第２解生成手段で新しい解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。また、第１解生成手段、第２解生成手段はともに、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。解は、文字、数字、記号の少なくとも１つの羅列とすることができ、また、各解に含まれる、文字、数字、記号の少なくとも１つの数はすべて同じとすることができ、そうするのが一般的である。
受信装置は、また、第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段と、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段と、を備えている。
本願発明では、送信装置から受信装置へ、ネットワークを介して送信されるのは、従来技術におけるワンタイムパスワードに相当する解ではなく、解の一部である一部解のみである。例えば、送信装置と受信装置とで生成される解が、ともに１５桁であったとする。そして、１５桁の解から、最初の６桁を取出したもの、奇数桁目のみを取出したもの、２〜９桁目を取出したもの、或いは英数字混じりの解から数字のみを取出したものを、一部解とすることができる。本願発明はそのような、解の一部である一部解を解に代えて、送信装置から受信装置に送り、受信装置で行われる認証に用いることとしている。
受信装置における第２解生成手段は、受信手段が送信装置から送信された一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ第２一部解生成手段は、第２解生成手段により生成されたその少なくとも１つの解から一部解を取出すようになっている。そして、受信装置の認証手段は、第２一部解生成手段が生成した一部解の１つが、送信装置から送信された一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている。
つまり、受信装置における第２解生成手段は、送信装置から一部解を受取り、その一部解を送ってきた送信装置の認証が必要となった場合に、送信装置の第１解生成手段がその解を生成したのと同じ方法で解を生成する。そして、生成した解から一部解を生成し、その一部解が送信装置から送られてきた一部解と同じであれば、その送信装置は正当なものであると判定する（認証する）のである。
【００１０】
ここで、送信装置の認証のために第２解生成手段が生成する解の数は、１つの場合もあるし、複数の場合もある。
第１解生成手段、第２解生成手段はともに、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これは、送信装置の第１解生成手段と受信装置の第２解生成手段とで採用されている解の生成方法が、ワンタイムパスワードの生成方法として知られているいわゆる時間同期を採用している場合に相当する。この場合には、第１解生成手段が生成する解と、第２解生成手段が生成する解とは同じものになるはずである。したがって、第２解生成手段が生成する解は、１つとし、その１つだけ生成された解から生成された１つの一部解と送信装置から受信装置へと送られてきた一部解とを比較して、上述の認証を行えばよい。
他方、第１解生成手段、第２解生成手段で新しい解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、送信装置の第１解生成手段と受信装置の第２解生成手段とで採用されている解の生成方法が、ワンタイムパスワードの生成方法として知られているいわゆるイベント同期を採用している場合に相当する。イベント同期が採用される場合、第１解生成手段で生成される解と、第２解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、第１解生成手段で過去に３回解を生成したのであれば、過去に生成した解の数「３」をカウントして記録しておき、第１解生成手段で初期解に基いてその「３」という数に＋１した回数、つまり４回解を生成し、その４つ目の解から生成した一部解を受信装置に送るようにすることができる。第１解生成手段が上記のようにして４番目の解を生成する場合、受信装置の第２解生成手段にも過去に生成した解の数である「３」が記録されていてもよい。この場合、受信装置の第２解生成手段は、第１解生成手段と同じように、４番目の解を生成する。そして、受信装置の第２一部解生成手段は、第２解生成手段が生成したその解から一部解を生成する。この一部解と、送信装置から送られてきた一部解とを比較すれば、なりすましがないことが条件となるが、両者は一致するはずである。これをイベント同期の第１方法と呼ぶこととする。
イベント同期を採用する際に、上述のように、過去に生成した解の数を記録しておかないという方法もある。例えば、解をＸとして、Ｘｎ＋１＝ｆ（Ｘｎ）という関数により、次の解を生成するというアルゴリズムが、第１解生成手段と第２解生成手段とで採用されているとする。この場合、第１解生成手段と、第２解生成手段はともに、直前に作った解を保持しておき、その前に生成した解をすべて削除した状態に保たれるようにすることができる。このとき、第１解生成手段と、第２解生成手段は、４番目の解を生成するのであれば、保持していた３番目の解であるＸ３をＸｎ＋１＝ｆ（Ｘｎ）の式にＸ４＝ｆ（Ｘ３）のように代入することにより、４番目の解を生成することができる。この場合においても、受信装置で生成された一部解と、送信装置で生成された一部解とは、一致するはずである。なお、過去の複数の解を用いて、例えば、Ｘｎ＋１＝ｆ（Ｘｎ）＋ｆ（Ｘｎ−１）の如き数式を用いるのであれば、第１解生成手段と第２解生成手段が保持すべき解は、その直前に使われた２つの解となる。このように第１解生成手段と第２解生成手段に保持されるべき解は、必ずしも１つとは限らない。これをイベント同期の第２方法と呼ぶこととする。
イベント同期を採用する際、更に異なる方法を採用しうる。例えば、上述の関数を用いて次の解を生成するというアルゴリズムが、第１解生成手段と第２解生成手段とで採用されているとする。この場合、第１解生成手段で生成された解から作られた一部解が、受信装置以外の他の装置での認証にも用いられるようになっているとする。そのような場合であって、例えば、過去に、第１解生成手段で３番目に生成された解から作られた一部解と、第２解生成手段で３番目に生成された解とを用いて、受信装置で認証が行われ、且つその後第１解生成手段で４番目と５番目に作られた解が、受信装置以外の他の装置で認証を行う際に使用されたとする。このような場合においては、イベント同期の第１方法を用いても、イベント同期の第２方法を用いても、認証を行うことができない。なぜなら、イベント同期の第１方法によれば、第１解生成手段と第２解生成手段に記録された過去に生成された解の数が異なるから、第１解生成手段と第２解生成手段とで生成される解が異なるものとなり、いきおい第１解生成手段と第２解生成手段とでそれぞれ生成された解からそれぞれ生成される一部解が異なるものとなってしまうからである。同様にイベント同期の第２方法によっても、第１解生成手段と第２解生成手段とで保持されている解が異なるものであるから、第１解生成手段と第２解生成手段とで生成される解が異なるものとなり、いきおい第１解生成手段と第２解生成手段とでそれぞれ生成された解からそれぞれ生成される一部解が異なるものとなる。このような場合には、第２解生成手段に複数の解を生成させればよい。例えば、第２解生成手段が、過去に３つの解を生成していたとすれば、イベント同期の第１の方法、第２の方法のいずれによるにせよ、第２解生成手段は４番目以降の解を生成することが可能である。例えば、第２解生成手段が１０個の解を生成するようになっているとする。そして、第２一部解生成手段は、この１０個の解からそれぞれ一部解を生成する。この場合、第２解生成手段が生成した６番目の解が、第１解生成手段が生成した解（６番目の解）と一致することになるから、受信装置で生成された６番目の一部解が、送信装置から送られてくる一部解と一致することになる。認証手段は、受信装置で作られた複数の一部解のうちの１つが送信装置から送られてきた一部解と一致するのであれば、その一部解を送ってきた送信装置が正当なものであると認証する。このように、複数の解を受信装置の第２解生成手段で生成することにすれば、第１解生成手段と第２解生成手段とで生成される解が異なるものとなっていたとしても（イベント同期で同期を取るためのポイントとなる解の生成された順番にずれが生じていたとしても）、認証を行うことが可能となる。もっともこの方法を採用するのであれば、受信装置で生成される解の個数の上限は例えば１０００、１００００といったオーダーにすべきと思われる。したがって、このような認証方法、仮にイベント同期の第３方法とこれを呼ぶのであれば、イベント同期の第３方法を採用するのであれば、そのような大量の解が作られたとしても解による認証にそれなりの精度が与えられる程度に、解の桁数を増やしておくことが必要となろう。また、上述の説明では、多数の解を第２解生成手段で生成し、次いで第２解生成手段で生成した多数の解から第２一部解生成手段で多数の一部解を生成し、次いでその多数の一部解と送信装置から送られてきた一部解とを比較して前者のうちの１つが後者と一致したなら認証を行うとした。しかし、これに代えて、第２解生成手段で１つ目の解（上述の説明であれば４番目の解）を生成したら第２解生成手段で２つ目の解を生成する前に、その解から第２一部解生成手段で一部解を生成して、その一部解と送信装置から送られてきた一部解とを比較し、両者が一致しなければ以上の処理を繰り返し、両者が一致したところで認証手段で認証を行い、最終的に第２解生成手段で生成した解のすべてから生成した一部解のすべてが送信装置から送られてきた解と一致しなかったのであれば認証を行わない、といった処理の順番の変更を行うことも可能である。このようなバッチ処理的な処理を採用するのであれば、認証手段で認証が行われたら第２解生成手段が解の生成を中止するようにすることもできる。
【００１１】
いずれにせよ、以上の如き本願発明の送受信システムによれば、送信装置から受信装置へと送られるのは、解そのものでなくその一部なのであるから、第三者にその生成の方法を知得される可能性が低く、認証の安全性が高い。
【００１２】
上述のように、本願の送受信システムは、送信装置と受信装置との組合せで構成される。認証を行うときには、送信装置と受信装置とは一対の関係になるが、送受信システムに含まれる送信装置と受信装置とは必ずしも１つずつである必要はない。むしろ、この送受信システムがインターネットバンキング等に応用されるのであれば、受信装置は１つであり、送信装置は複数というより多数とされる場合が多いであろう。
前記送信装置は複数である場合、前記送信装置を用いるユーザには各ユーザを他のユーザから識別するための識別情報が割振られているとともに、前記送信装置から前記受信装置に前記一部解が送られる場合には、前記識別情報が前記受信装置に送られるようになっていてもよい。例えば、識別情報はユーザにより、送信装置が有する入力装置によって送信装置に入力され、入力された識別情報が送信装置から受信装置に送られるようにすることができる。その場合、前記第２解記録手段には前記送信装置のそれぞれに割振られた識別情報のそれぞれと紐付けて、当該識別情報が割振られた前記送信装置の前記第１解記録手段に記録されたものと同じ前記初期解が少なくとも初期状態では記録されていてもよい。それにより、前記受信手段が前記送信装置から送信された前記一部解を受取った場合において前記第２解生成手段が新たな解を生成する場合、前記第２解生成手段は、前記第２解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第２解記録手段に記録されていた初期解に基いて解を生成するようになっていてもよい。
複数の送信装置がある場合、各送信装置で解が生成される。解は必要に応じて各送信装置で複数生成される場合がある。もちろん、複数の送信装置でそれぞれ生成される解の列は異なるものとされる。したがって、ある送信装置から一部解が送られてきた場合には受信装置は、その一部解がどのユーザから送られてきたのか、言い換えればこれからどのユーザのために解を生成しなければならないのか、ということを把握しなければならない。上述のように送信装置から受信装置に一部解に加えて識別情報が送られてくるようにすれば、受信装置はその一部解がどのユーザから送られてきたのか、或いはこれからどのユーザのために解を生成しなければならないのか、ということを把握することができる。受信装置の第２解生成手段は、第２解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第２解記録手段に記録されていた初期解に基いて解を生成する。
なお、一部解と識別情報は、送信装置から受信装置に同時に送られる必要はなく、それらが互いに紐付けられていることが明らかなのであれば、それらが互いに前後して送られても構わない。
【００１３】
本願の送受信システムは、更に、送信装置と受信装置との間で、インターネットその他のネットワークを介して暗号化通信を行うものとなっていてもよい。
その場合、前記送信装置は、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段を備えているとともに、前記第１暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっていてもよい。この場合、前記受信装置は、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段を備えているとともに、前記第２暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解（或いは、同期された解）を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっていてもよい。
この場合、前記送信装置と、前記受信装置とは、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
この送受信システムは、上述のように、送受信システムに含まれる送信装置と受信装置との双方で同じものを（同期した状態で）生成可能な解に基いて生成されるものであり、送信装置から受信装置へ送信される一部解を用いて、認証を行う。
それだけでも、この送受信システムは優れたものであると言えるが、この送受信システムに暗号化通信を行わせることで、この送受信システムは更に優れたものとなる。この送受信システムでは、上述のように、送信装置と受信装置で同じ解を生成することができる。それにより、暗号化通信の分野で長年懸案とされてきた鍵の配送問題を解決することができることに本願発明者は気付いたのである。
暗号化通信の分野では、送信者と受信者が同じ鍵を持つ（つまり、共通鍵方式の通信を行う。）というのが基本であり、同じ鍵をどうやって共有するのかという点が古くから問題となっている。これが、上述した鍵の配送問題である。暗号化通信には他にも秘密鍵方式が存在するが、その処理の重さから、秘密鍵方式は、例えばＳＳＬ通信がそうであるように事実上、送信者と受信者が同じ共通鍵を持ち合うためにしか使用できない。
これに対し、本願の送受信システムでは、そもそも、送信装置と受信装置は、同期した状態で同じ解を発生させることができるのである。その解を例えば、送信装置と受信装置が暗号化と復号化を行うための鍵として用いることにより、鍵の配送問題を解決することができる。しかも、この場合に用いられる解は、認証が行われた後に、第１解生成手段、第２解生成手段でそれぞれ生成されたものである。つまり、この送受信システムでは、送信装置と受信装置の中でそれぞれ生成され、ネットワークを介して送受信されない解を暗号化と復号化に用いることが可能である。かかる暗号化通信が安全なのは明らかである。
なお、本願の送受信システムにおける第１暗号化復号化手段と、第２暗号化復号化手段とが、暗号化と復号化とを行うに際してどのように解を用いるかは自由である。上述の如く鍵として解を用いることができるし、また、解に基いてアルゴリズムを変化させることも可能である。
いわゆる時間同期により第１回生成手段と、第２解生成手段が、認証が行われた後に同じ解を生成できるようにするには、認証に使われた解（正確には、認証に使われた一部解の元となった解）が生成された時刻からどのくらい後或いは前の時刻を指定した場合に発生した解を「認証が行われた後の解として共通して用いる」という取極めが、送信側装置或いは第１解生成手段と、受信側装置或いは第２解生成手段との間に存在すればよい。例えば、認証が行われたときに使用された解が生成されたときの時刻から５分後に相当する時刻に生成される解を、暗号化と復号化の少なくとも一方に使用する解とする、という取極めを送信側装置或いは第１解生成手段と、受信側装置或いは第２解生成手段との間で予め行っていれば、認証後であれば５分が経過していなくても、第１解生成手段と第２解生成手段とが同じ解を生成することが可能である。
これに対して、いわゆるイベント同期が採用されているのであれば、認証に用いられた解（正確には、認証に使われた一部解の元となった解）の次に第１解生成手段と、第２解生成手段とで発生する解は同じものとなるのであるから、時間同期のときの如き取極めは特に必要ない。
【００１４】
本願発明者は、以上の如き送受信システムの送信装置をも、本願発明の一態様として提案する。その効果は、上述の送受信システムの効果に等しい。
その場合の送信装置の一例は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えており、受信装置との組合せにより送受信システムを構成する送信装置である。
その場合の前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
【００１５】
本願発明者は、以上の如き送受信システムの受信装置をも、本願発明の一態様として提案する。その効果は、上述の送受信システムの効果に等しい。
その場合の受信装置の一例は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置である。
そして、この受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
【００１６】
本願発明は、送信装置で実行される方法と捉えることもできる。かかる方法の効果は、送信装置の効果と同じである。
その方法は例えば、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法である。
そしてこの方法は、前記コンピュータが実行する、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、生成された前記一部解をネットワークを介して送信する過程、を含んでいる。
また、この方法で用いられる前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
【００１７】
本願発明は、受信装置で実行される方法と捉えることもできる。かかる方法の効果は、受信装置の効果と同じである。
その方法は例えば、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法である。
そしてこの方法は、前記コンピュータが実行する、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、を含んでいる。また、この方法を実行する前記コンピュータは、新たな解を生成する前記過程を、前記送信装置から送信された前記一部解を前記受信装置が受取った場合に、少なくとも１つの解を生成するものとして実行し、一部解を生成する前記過程を、生成されたその少なくとも１つの解から前記一部解を取出すものとして実行し、生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する。
【００１８】
本願発明者は、以上の如き送受信システムの送信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
その場合のコンピュータプログラムの一例は、コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムである。
そして、このコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、として機能させるためのものである。
その場合の前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
【００１９】
本願発明者は、以上の如き送受信システムの受信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
その場合のコンピュータプログラムの一例は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムである。
そしてこのコンピュータプログラムは、前記コンピュータを、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、認証手段、として機能させるためのものである。そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記認証手段は、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている。
【００２０】
以上で説明した発明はすべて、受信装置から送信装置へ送信した解を用いて受信装置で送信装置の認証を行うものであった。他方、かかる認証を省略して、同じ条件下で生成されたものが常に同じものとなる新たな解を生成することができる第１解生成手段と第２解生成手段とをそれぞれ有する受信装置と、送信装置との間で、暗号化通信を実行するための技術として本願発明を捉えることも可能である。そのような発明は、本願発明における課題を解決しないものとなるが、他方、鍵の配送問題を解決したものであり、且つ送信装置と受信装置とが共通の鍵を持つ、或いは共通のアルゴリズムを使えるようにする等、一方の装置で暗号化と復号化の少なくとも一方を、他方の装置で暗号化と復号化の少なくとも一方を一方の装置に対応して行えるようにするために（本願でいえば、同じ条件を受信装置と送信装置で共有するために）解を用いる場合において、両者の間で、一部解だけをやり取りすればよく、解自体をやり取りしなくて済むようになる。
このような暗号化通信は、極めて安全性が高い。
【００２１】
そのような暗号化通信に特化した送受信システムは、例えば、以下のようなものである。もっとも、以下の暗号化通信においても、上述の如き解を用いた認証に代えて、暗号化通信を行うに先立って、例えば公知の方法で受信装置が送信装置の認証を行えるようになっていてももちろん構わない。
送受信システムは、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、を備えている送信装置と、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、を備えている受信装置と、を備えてなる送受信システムである。
そして、前記第２解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも１つの解を生成するようになっており、且つ前記第２一部解生成手段は、前記第２解生成手段により生成されたその少なくとも１つの解から前記一部解を取出すようになっているとともに、前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
また、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２２】
暗号化通信に特化した上述の送受信システムにおける送信装置をも、本願発明者は本願発明の一態様として提案する。
一例となる送信装置は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、を備えており、受信装置との組合せにより送受信システムを構成する送信装置である。
そして、前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、を備えている。
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
また、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２３】
暗号化通信に特化した上述の送受信システムにおける受信装置をも、本願発明者は本願発明の一態様として提案する。
一例となる受信装置は、文字、数字、記号の少なくとも１つを所定数羅列した  文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置である。
そして、受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、を備えている。
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
また、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２４】
暗号化通信に特化した上述の送受信システムの送信装置において実行される方法をも、本願発明者は本願発明の一態様として提案する。
一例となるその方法は、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法である。
その方法は、前記コンピュータが実行する、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、生成された前記一部解をネットワークを介して送信する過程、を含んでいる。
また、前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、を備えている。
上記方法は、前記コンピュータが更に実行する、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成する過程、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、を含んでいる。
また、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２５】
暗号化通信に特化した上述の送受信システムの受信装置において実行される方法をも、本願発明者は本願発明の一態様として提案する。
一例となるその方法は、文字、数字、記号の少なくとも１つを所定数羅列した  文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法である。
その方法は、前記コンピュータが実行する、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを含むものを少なくとも１つ生成する過程、生成された少なくとも１つの前記解からその一部である一部解を、所定の規則に従って取出す過程、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する過程、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成する過程、新たに生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、を含んでいる。
また、前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記送信装置と、前記受信装置とは、前記受信装置の前記コンピュータが生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記コンピュータで判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２６】
暗号化通信に特化した上述の送受信システムの送信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明者は本願発明の一態様として提案する。
一例となるそのコンピュータプログラムは、コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムである。
そして、そのコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、として機能させるためのものである。
そして、前記受信装置は、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、を備えている。
前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【００２７】
暗号化通信に特化した上述の送受信システムの受信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明者は本願発明の一態様として提案する。
一例となるそのコンピュータプログラムは、文字、数字、記号の少なくとも１つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第１解記録手段、前記第１解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第１解生成手段、前記第１解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第１一部解生成手段、前記第１一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第１暗号化復号化手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムである。
そして、コンピュータプログラムは、前記コンピュータを、前記送信装置の前記第１解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第２解記録手段、前記第２解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第１解生成手段で生成されたものと同じものを生成する第２解生成手段、前記第２解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第２一部解生成手段、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第２暗号化復号化手段、として機能させるためのものである。
また、前記第１解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第２解生成手段は、前記送信装置から送信された前記一部解と一致した前記第２解生成手段で生成された前記一部解の後に、前記第１解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第１暗号化復号化手段は、前記第１解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第２暗号化復号化手段は、前記第２解生成手段で生成された解のうち前記第１暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第２一部解生成手段が生成した前記一部解の１つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第１暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第２暗号化復号化手段で復号化する処理と、前記第２暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第１暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
【図面の簡単な説明】
【００２８】
【図１】一実施形態による通信システムの全体構成を示す図。
【図２】図１に示した通信システムに含まれるクライアントの外観を示す図。
【図３】図１に示した通信システムに含まれるクライアントのハードウェア構成を示す図。
【図４】図１に示した通信システムに含まれるクライアントの内部に生成される機能ブロックを示すブロック図。
【図５】図１に示した通信システムに含まれるサーバの内部に生成される機能ブロックを示すブロック図。
【図６】図１に示した通信システムで通信が行われるときに実行される処理の流れを示す図。
【発明を実施するための形態】
【００２９】
以下、本発明の好ましい一実施形態について説明する。
【００３０】
図１に、本願発明の送受信システムの好ましい一実施形態としての通信システムの全体構成を概略で示す。
通信システムは、複数のクライアント１００−１〜１００−Ｎ（以後、単に、「クライアント１００」と記載する場合もある。）、及びサーバ２００を含んで構成されている。これらはすべて、ネットワーク４００に接続可能とされている。
ネットワーク４００は、これには限られないが、この実施形態ではインターネットである。
この実施形態におけるクライアント１００は、本願でいう送信装置に相当するものである。また、この実施形態におけるサーバ２００は本願でいう受信装置に相当する。もっとも本願における受信装置と送信装置に相当するサーバ２００とクライアント１００とは、いわゆるサーバとクライアントの関係である必要はなく、２つの互いに対等な通信装置であっても構わない。
これには限られないが、この実施形態における通信システムはインターネットバンキングシステム（の一部）であって、サーバ２００は銀行が管理するものとされ、クライアント１００−１〜１００−Ｎはインターネットバンキングを利用する各ユーザが所有するものとされる。
【００３１】
クライアント１００は、コンピュータを含んでいる。より詳細には、この実施形態におけるクライアント１００は、汎用のコンピュータにより構成されている。
【００３２】
次に、クライアント１００の構成を説明する。各クライアント１００−１〜１００−Ｎの構成は、本願発明との関連でいえば同じである。
クライアント１００は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク４００を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
例えば、クライアント１００がスマートフォンかタブレットなのであれば、スマートフォンとしてのクライアント１００は例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰｈｏｎｅで良いし、タブレットとしてのクライアント１００は例えば、Ａｐｐｌｅ  Ｊａｐａｎ合同会社が製造、販売を行うｉＰａｄでよい。以下、これには限られないが、クライアント１００がスマートフォンであることとして話を進める。
【００３３】
クライアント１００の外観の一例を図２に示す。
クライアント１００は、ディスプレイ１０１を備えている。ディスプレイ１０１は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ１０１は例えば、液晶ディスプレイである。クライアント１００は、また入力装置１０２を備えている。入力装置１０２は、ユーザが所望の入力をクライアント１００に対して行うためのものである。入力装置１０２は、公知或いは周知のものを用いることができる。この実施形態におけるクライアント１００の入力装置１０２はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、クライアント１００がノート型パソコン、デスクトップ型パソコンである場合には、入力装置１０２はキーボードや、マウス等になるであろう。また、ディスプレイ１０１がタッチパネルである場合、ディスプレイ１０１は入力装置１０２の機能を兼ねることになり、この実施形態ではそうされている。
【００３４】
クライアント１００のハードウェア構成を、図３に示す。
ハードウェアには、ＣＰＵ（central processing unit）１１１、ＲＯＭ（read only memory）１１２、ＲＡＭ（random access memory）１１３、インターフェイス１１４が含まれており、これらはバス１１６によって相互に接続されている。
ＣＰＵ１１１は、演算を行う演算装置である。ＣＰＵ１１１は、例えば、ＲＯＭ１１２、或いはＲＡＭ１１３に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。図示をしていないが、ハードウェアはＨＤＤ（hard disk drive）その他の大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
ここでいうコンピュータプログラムには、本願発明のクライアントとしてこのクライアント１００を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、クライアント１００にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのクライアント１００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、ＬＡＮ或いはインターネットなどのネットワークを介して行なわれても構わない。
ＲＯＭ１１２は、ＣＰＵ１１１が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ＲＯＭ１１２に記録されたコンピュータプログラムとしては、これに限られず、クライアント１００がスマートフォンであれば、クライアントをスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。クライアント１００は、また、ネットワーク４００を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のｗｅｂブラウザを実装している。
ＲＡＭ１１３は、ＣＰＵ１１１が処理を行うために必要なワーク領域を提供する。場合によっては、上述のコンピュータプログラムやデータが記録されていてもよい。
インターフェイス１１４は、バス１１６で接続されたＣＰＵ１１１やＲＡＭ１１３等と外部との間でデータのやり取りを行うものである。インターフェイス１１４には、上述のディスプレイ１０１と、入力装置１０２とが接続されている。入力装置１０２から入力された操作内容は、インターフェイス１１４からバス１１６に入力されるようになっている。また、周知のようにディスプレイ１０１に画像を表示するための画像データは、インターフェイス１１４から、ディスプレイ１０１に出力されるようになっている。インターフェイス１１４は、また、インターネットであるネットワーク４００を介して外部と通信を行うための公知の手段である送受信機構（図示を省略）に接続されており、それにより、クライアント１００は、ネットワーク４００を介してデータを送信することと、ネットワーク４００を介してデータを受信することとが可能になっている。かかるネットワーク４００を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、クライアント１００がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク４００から受取ったデータは、インターフェイス１１４により受取られるようになっており、インターフェイス１１４から送受信機構にわたされたデータは、送受信機構によって、ネットワーク４００を介して外部、例えば、サーバ２００に送られるようになっている。
【００３５】
ＣＰＵ１１１がコンピュータプログラムを実行することにより、クライアント１００内部には、図４で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、クライアント１００を本願発明のクライアントとして機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、クライアント１００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。
クライアント１００内には、本願発明の機能との関係で、入力部１２１、主制御部１２２、第１解生成部１２３、第１解記録部１２４、第１一部解生成部１２５、第１暗号化復号化部１２６、出力部１２７が生成される。
【００３６】
入力部１２１は、インターフェイス１１４からの入力を受取るものである。
インターフェイス１１４からの入力には、例えば、後述する識別情報（ユーザＩＤ）や、インターネットバンキングで決済等を行うための情報であるバンキング情報等がある。識別情報は、各ユーザを他のユーザから識別するための各ユーザにユニークな情報であって、一般にユーザＩＤ等と称されるものである。これらはいずれも入力装置１０２から入力され、インターフェイス１１４を介して入力部１２１に入力される。
入力部１２１は、ユーザＩＤのデータを受取った場合にはそれを主制御部１２２に送るようになっており、バンキング情報を受取った場合にはそれを第１暗号化復号化部１２６に送るようになっている。
入力部１２１は、また、サーバ２００から送られてきて送受信機構で受取られた認証データを、インターフェイス１１４を介して受取る場合がある。認証データを受取った場合、入力部１２１は主制御部１２２に送るようになっている。
入力部１２１は、また、サーバ２００から送られてきて送受信機構で受取られた暗号化データを、インターフェイス１１４を介して受取る場合がある。入力部１２１は、受取った暗号化データを第１暗号化復号化部１２６に送るようになっている。
【００３７】
主制御部１２２は、クライアント１００内に生成された各機能ブロック全体の制御を行うものである。
主制御部１２２は、入力部１２１からユーザＩＤのデータを受取る場合がある。ユーザＩＤのデータを受取った場合、主制御部１２２はそれを出力部１２７に送るとともに、第１解生成部１２３に解を生成せよとの指示を送るようになっている。
主制御部１２２は、認証データを受取る場合がある。認証データを受取った場合、主制御部１２２は、暗号化と復号化を行って良いとの許可についてのデータを第１暗号化復号化部１２６へと送るようになっている。
【００３８】
第１解生成部１２３は、解を生成せよとの指示を受取った場合に解を生成するものである。
第１解生成部１２３は、解を生成せよとの指示を、主制御部１２２から受取る場合もあるが、後述するように第１暗号化復号化部１２６から受取る場合がある。
解の生成の仕方については後述するが、この実施形態における解は、文字、数字、記号の少なくとも１つを所定数羅列したものであり、また、初期解に基いて、同じ条件下で生成されたものが常に同じものとなるようにされている。典型的には、解は擬似乱数であり、各解はこの実施形態では、その桁数乃至文字数が常に一定となるようにして生成されるようになっている。
少なくとも最初の解を生成する場合、第１解生成部１２３は、第１解記録部１２４に記録されている初期解のデータ、その他のデータを用いる。第１解生成部１２３には、少なくとも初期状態即ち、最初の新たな解が第１暗号化復号化部１２６で生成される前の状態では、初期解のデータが記録されている。初期解のデータは、後に生成される解に影響を与えるものである。初期解のデータは、解のデータと同じ形式、即ち、文字、数字、記号の少なくとも１つを所定数羅列したものであって、その桁数乃至文字数が解と同数であるものである場合もあるし、そうでない場合もあるが、この実施形態ではこれには限られないが、初期解のデータは解のデータと同じ形式とされている。
第１解生成部１２３は生成した解を、その解を生成せよとの指示を主制御部１２２から受取った場合には第１一部解生成部１２５へ、同様の指示を第１暗号化復号化部１２６から受取った場合には第１暗号化復号化部１２６へと送るようになっている。
【００３９】
第１一部解生成部１２５は、解から一部解を生成するものである。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。
第１一部解生成部１２５が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はない。解から一部解を生成する方法は例えば、解が１５桁（１５文字）で生成されると仮定した場合に、解の最初の６桁を取出す、奇数桁目のみを取出す、２〜９桁目を取出す、或いは英数字混じりの解から数字のみを取出す等とすることができる。
第１一部解生成部１２５が解から一部解を生成した場合、第１一部解生成部１２５は、その一部解を出力部１２７に送るようになっている。
【００４０】
第１暗号化復号化部１２６は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。
第１暗号化復号化部１２６が暗号化、及び復号化の処理を行うのは、主制御部１２２から、暗号化、復号化を行って良いとの許可があったときのみである。
暗号化の方法の詳細は後述するが、暗号化を行う場合第１暗号化復号化部１２６は、第１解生成部１２３に対して解を生成せよとの指示を送る。第１解生成部１２３は当該指示に基いて解を生成し、それを第１暗号化復号化部１２６に送る。その解が第１暗号化復号化部１２６における暗号化に用いられる。これには限られないが、この実施形態で暗号化されるデータは、入力装置１０２で生成されたバンキング情報のデータである。入力装置１０２で生成されたバンキング情報は平文のデータであるが、それが第１暗号化復号化部１２６で暗号化された結果暗号化データになる。第１暗号化復号化部１２６で生成された暗号化データは、出力部１２７に送られるようになっている。
復号化の方法の詳細は後述するが、復号化を行う場合第１暗号化復号化部１２６は、第１解生成部１２３に対して解を生成せよとの指示を送る。第１解生成部１２３は当該指示に基いて解を生成し、それを第１暗号化復号化部１２６に送る。その解が第１暗号化復号化部１２６における復号化に用いられる。これには限られないが、この実施形態で復号化されるデータは、サーバ２００から送られてきたバンキング情報のデータ（後述）である。サーバ２００から送られてきたバンキング情報は暗号化データの状態となっているが、それが第１暗号化復号化部１２６で復号化された結果、平文のバンキング情報のデータになる。第１暗号化復号化部１２６で生成された平文の復号化データは、出力部１２７に送られるようになっている。
【００４１】
出力部１２７は、クライアント１００内の機能ブロックで生成されたデータをインターフェイス１１４に出力するものである。
出力部１２７には、上述のように主制御部１２２から識別情報が送られてくる場合がある。他方、出力部１２７には、主制御部１２２からの解を生成せよとの指示に基いて第１解生成部１２３によって生成された解に基いて第１一部解生成部１２５によって更に生成された一部解が、第１一部解生成部１２５から送られてくる場合がある。出力部１２７は、かかる識別情報と、一部解とを、インターフェイス１１４に出力する。この識別情報と一部解とは、インターフェイス１１４から送受信機構に送られ、送受信機構から、ネットワーク４００を介してサーバ２００に送られるようになっている。かかる識別情報と一部解のサーバ２００への送信が行われる場合、識別情報と一部解は、それらが互いに紐付けられていることがサーバ２００に把握できるような状態で送信されるのであれば、両者がまとめて、或いは同時に送られる必要は必ずしもないが、この実施形態では両者をまとめて、或いは同時に送信することで、サーバ２００においてその識別情報と一部解とが互いに紐付けられたものであると把握できるようになっている。
出力部１２７にはまた、第１暗号化復号化部１２６から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部１２７は、その暗号化データを、インターフェイス１１４に出力する。この暗号化データは、インターフェイス１１４から送受信機構に送られ、送受信機構から、ネットワーク４００を介してサーバ２００に送られるようになっている。
出力部１２７にはまた、第１暗号化復号化部１２６から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はサーバ２００で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部１２７は、そのバンキング情報のデータを、インターフェイス１１４に出力する。バンキング情報のデータは、ディスプレイ１０１に送られ、それを受取ったディスプレイ１０１がバンキング情報に応じた表示を行うようになっている。
【００４２】
次に、サーバ２００の構成について説明する。
サーバ２００は、ハードウェアとして見た場合には、既存の公知又は周知のサーバで構わない。また、そのハードウェア構成も一般的なものでよく、大雑把に言えば、ＣＰＵ１１１、ＲＯＭ１１２、ＲＡＭ１１３、インターフェイス１１４をバス１１６で接続するという、クライアント１００のハードウェア構成を踏襲することができる。もっとも、サーバ２００は通常、ＨＤＤその他の大容量記録装置を有するのが一般的であろう。
サーバ２００が備えるＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェイス、バス、及び大容量記録装置の構成、機能は、クライアント１００におけるそれらの構成、機能と変わらない。また、サーバ２００が備えるインターフェイスには、クライアント１００が備えていたのと同様の、サーバ２００外の機器とネットワーク４００を介しての通信を行うための送受信機構が接続されている。サーバ２００が備えるインターフェイスには、クライアント１００が備えていたのと同様のディスプレイ、入力装置が接続されていても構わないが、本願とはあまり関係がないのでその説明は省略する。
【００４３】
サーバ２００の内部におけるＲＯＭ、大容量記録装置等に記録されていたコンピュータプログラムを実行することによって、サーバ２００の内部には以下に説明するような機能ブロックが生成される。なお、以下の機能ブロックは、サーバ２００を本願発明の受信装置として機能させるためのコンピュータプログラム単体の機能により生成されていても良いが、かかるコンピュータプログラムと、サーバ２００にインストールされたＯＳその他のコンピュータプログラムとの協働により生成されても良い。また、上記コンピュータプログラムは、サーバ２００にプリインストールされたものでもよいが、出荷後のサーバ２００にインストールされたものでもあってもよい。その場合、上記コンピュータプログラムのサーバ２００へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、ＬＡＮ或いはインターネットなどのネットワークを介して行なわれても構わない。これらの事情は、クライアント１００の場合と同様である。
サーバ２００内には、本願発明の機能との関係で、入力部２２１、主制御部２２２、第２解生成部２２３、第２解記録部２２４、第２一部解生成部２２５、第２暗号化復号化部２２６、出力部２２７、及び認証部２２８が生成される（図５）。
【００４４】
入力部２２１は、インターフェイスからの入力を受取るものである。
インターフェイスからの入力には、例えば、インターネットバンキングでユーザが求めた決済を認めたか等についての情報であるバンキング情報等がある。バンキング情報は、例えばサーバ２００外のインターネットバンキングを実行する他の装置から入力され、インターフェイスを介して入力部２２１に入力される。もっとも、インターネットバンキングを実行するのがサーバ２００自体であるのであれば、かかるバンキング情報は、インターフェイスを介さずに、サーバ２００内のインターネットバンキングを実行しバンキング情報を生成する図示せぬ機能ブロックから入力部２２１に入力されることがありうる。
入力部２２１は、識別情報及び一部解のデータをインターフェイスから受取る場合がある。識別情報及び一部解のデータはクライアント１００からネットワーク４００を介して送られてきたものであり、サーバ２００がその送受信機構で受取ったものである。入力部２２１は、識別情報及び一部解を受取った場合には、それらを主制御部２２２に送るようになっている。
同様に、入力部２２１は、クライアント１００からネットワーク４００を介して送られてきたものであり、サーバ２００がその送受信機構で受取った暗号化データを、インターフェイスを介して受取る場合がある。インターフェイスからかかる暗号化データを受取った場合には、入力部２２１はそれを第２暗号化復号化部２２６に送るようになっている。
【００４５】
主制御部２２２は、サーバ２００内に生成された各機能ブロック全体の制御を行うものである。
主制御部２２２は、入力部２２１から一部解と識別情報のデータを受取る場合がある。それらデータを受取った場合、主制御部２２２は、一部解のデータを認証部２２８に送るようになっており、且つ識別情報に加えて解を生成せよとの指示を第２解生成部２２３に送るようになっている。
また、主制御部２２２は、後述する認証データを受取る場合がある。かかる認証データを受取った場合には、主制御部２２２はかかる認証データを認証部２２８が生成するきっかけとなった一部解データを送信してきたクライアント１００から送られてきた暗号化データを復号化してもよいとの許可を、第２暗号化復号化部２２６に与えるようになっている。
【００４６】
第２解生成部２２３は、解を生成せよとの指示を受取った場合に解を生成するものである。
第２解生成部２２３は、解を生成せよとの指示を、主制御部２２２から受取る場合もあるが、後述するように第２暗号化復号化部２２６から受取る場合がある。
解の生成の仕方については後述するが、第２解生成部２２３が実行する解の生成は、クライアント１００の第１解生成部１２３が実行する解の生成と同じ方法とされる。
第２解生成部２２３も、少なくとも最初の解を生成する場合、第１解生成部１２３が第１解記録部１２４に記録されていたのと同じ初期解のデータを用いるのと同じように第２解記録部２２４に記録されている初期解のデータを用いる。第２解記録部２２４に記録されている初期解のデータは、基本的に第１解生成部１２４に記録されているものと同じである。ただし、第２解生成部２２３は、各クライアント１００を操作するユーザを認証するための各クライアント１００を操作するユーザ用の異なる解を生成する必要がある。したがって、第２解生成部２２３には、少なくとも初期状態（どのユーザ用の解をも第２解生成部２２３が発生していない状態）では、各ユーザ用のユーザの数と同数の初期解のデータが記録されている。この実施形態において、初期解のデータは、各ユーザの識別情報と紐付けられた状態で第２解記録部２２４に記録されている。第２解記録部２２４に記録されている、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント１００の第１解記録部１２４に記録される初期解と同じとなるようになっている。
第２解生成部２２３は、上述のように主制御部２２２から、解を生成せよとの指示と、識別情報とを受取る。かかる指示を受取ると、第２解生成部２２３は、その指示とともに受付けた識別情報と同じ識別情報と紐付けられた初期解のデータを、少なくとも最初の解を生成する場合には、第２解記録部２２４から読み出すようになっており、そして読み出したその初期解を用いて次の解を用いるようになっている。これにより、第２解生成部２２３は、各第１解生成部１２３が生成する解と同じ解を、生成することができるようになっている。
他方、第２解生成部２２３は、クライアント１００から送られて来た暗号化データを受取った場合においても、上述の場合と同様に、そのクライアント１００を操作するユーザ用の解を用いて、そのクライアント１００を操作するユーザ用の解を生成する。
第２解生成部２２３は生成した解を、その解を生成せよとの指示を主制御部２２２から受取った場合には第２一部解生成部２２５へ、同様の指示を第２暗号化復号化部２２６から受取った場合には第２暗号化復号化部２２６へと送るようになっている。
【００４７】
第２一部解生成部２２５は、解から一部解を生成するものである。第２一部解生成部２２５が解から一部解を生成する方法は、クライアント１００の第１一部解生成部１２５が解から一部解を生成する方法と同じである。
第２一部解生成部２２５が解から一部解を生成した場合、第２一部解生成部２２５は、その一部解を認証部２２８に送るようになっている。
【００４８】
認証部２２８は、一部解をサーバ２００に送ってきたクライアント１００が適正なものか否かについての認証を行うものである。
認証部２２８は上述のように、主制御部２２２から一部解、つまりクライアント１００で生成された一部解のデータを受取る。他方、認証部２２８は第２一部解生成部２２５から一部解、つまりサーバ２００で生成された一部解のデータを受取る。認証部２２８は、それら２つの一部解を比較し、両者が一致した場合には、一部解を送ってきたクライアント１００が適正なものであると認証し、両者が一致しなかった場合には、一部解を送ってきたクライアント１００が適正なものであるとの認証を行わない。
認証が行われた場合には、認証部２２８は、そのクライアント１００について認証が行われたということを示すデータである認証データを生成し、それを主制御部２２２と出力部２２７とに送るようになっている。
【００４９】
第２暗号化復号化部２２６は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。なお、第２暗号化復号化部２２６は、クライアント１００の第１暗号化復号化部１２６が暗号化のみを行う場合には復号化のみを、第１暗号化復号化部１２６が復号化のみを行う場合には暗号化のみを行うものとすることができる。
第２暗号化復号化部２２６が暗号化、及び復号化の処理を行うのは、主制御部２２２から、暗号化、復号化を行って良いとの許可があったときのみである。
第２暗号化復号化部２２６で実行される暗号化の方法、及び復号化の方法は、クライアント１００の第１暗号化復号化部１２６で実行される暗号化、及び復号化の方法に等しい。
暗号化の方法の詳細は後述するが、暗号化を行う場合第２暗号化復号化部２２６は、第２解生成部２２３に対して解を生成せよとの指示を送る。第２解生成部２２３は当該指示に基いて解を生成し、それを第２暗号化復号化部２２６に送る。その解が第２暗号化復号化部２２６における暗号化に用いられる。これには限られないが、この実施形態で暗号化されるデータは、インターフェイスから入力されたバンキング情報のデータである。バンキング情報は平文のデータであるが、それが第２暗号化復号化部２２６で暗号化された結果暗号化データになる。第２暗号化復号化部２２６で生成された暗号化データは、出力部２２７に送られるようになっている。
復号化の方法の詳細は後述するが、復号化を行う場合第２暗号化復号化部２２６は、第２解生成部２２３に対して解を生成せよとの指示を送る。第２解生成部２２３は当該指示に基いて解を生成し、それを第２暗号化復号化部２２６に送る。その解が第２暗号化復号化部２２６における復号化に用いられる。これには限られないが、この実施形態で復号化されるデータは、クライアント１００から送られてきたバンキング情報に基づく暗号化データである。その暗号化データが第２暗号化復号化部２２６で復号化された結果、平文のバンキング情報のデータになる。第２暗号化復号化部２２６で生成された平文の復号化データは、出力部２２７に送られるようになっている。
【００５０】
出力部２２７は、サーバ２００内の機能ブロックで生成されたデータをインターフェイスに出力するものである。
出力部２２７には、上述のように認証部２２８から認証データが送られてくる場合がある。出力部２２７は、認証データを受取ると、それをインターフェイスに出力する。この認証データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク４００を介してクライアント１００に送られるようになっている。
出力部２２７にはまた、第２暗号化復号化部２２６から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部２２７は、その暗号化データを、インターフェイスに出力する。この暗号化データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク４００を介してクライアント１００に送られるようになっている。
出力部２２７にはまた、第２暗号化復号化部２２６から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はクライアント１００で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部２２７は、そのバンキング情報のデータを、インターフェイスに出力する。バンキング情報のデータは、インターフェイスから、インターネットバンキングについての処理を実行する他の装置に送られる。もっとも、インターネットバンキングについての処理を実行するのがサーバ２００内の他の機能ブロックなのであれば、バンキング情報はインターフェイスを経ずにその図示せぬ機能ブロックに送られることになる。
【００５１】
次に、以上で説明した送受信システムの使用方法、及び動作について、図６を参照して説明する。
インターネットバンキングを利用しようとするユーザは、まず、自らが所有するクライアント１００の入力装置１０２を操作して、ブラウザを立ち上げる。ブラウザの機能は、クライアント１００が通常有する公知又は周知のコンピュータプログラムによる。クライアント１００のディスプレイ１０１には、ブラウザが表示される。
ユーザはブラウザのアドレスバーに、インターネットバンキングを提供するサーバ２００のURLを入力する。これにより、ブラウザには、インターネットバンキングのホームページが表示される。
ここで、ユーザは、識別情報であるユーザＩＤの入力を行う（Ｓ１００１）。ユーザＩＤの入力をユーザに促すように、この状態のインターネットバンキングのホームページには、ユーザＩＤの入力を促す公知、或いは周知の表示がなされていても構わない。ユーザは入力装置１０２を操作して識別情報を入力する。入力された識別情報のデータは、インターフェイス１１４を介して入力部１２１に送られ、入力部１２１から主制御部１２２に送られる。
【００５２】
識別情報を受取ると、主制御部１２２は、識別情報を出力部１２７に送るとともに、第１解生成部１２３に解を生成せよとの指示を送る。かかる指示を受取ると、第１解生成部１２３は解を生成する（Ｓ１００２）。
解の生成の方法はどのようなものでも構わないが、この実施形態では、これには限られないが、従来からのワンタイムパスワードの技術における時間同期の技術を応用したものとされている。以下、解の生成方法の一例について述べる。
【００５３】
この実施形態における第１解生成部１２３は、初めて解を生成するとき（なお、この実施形態では、初めて解を生成するときに限らず、解を生成する場合にはいつも初期解が用いられる。）、第１解記録部１２４に記録されている初期解のデータを読み出す。初期解のデータは、例えば、２０桁の数字と小文字の英字混じりの文字列であるものとする。かかる初期解は、各クライアント１００にユニークなものであり、各クライアント１００に対して、サーバ２００が、或いはサーバ２００の管理者が割り当てたものである。初期解は１つのこともあるが、この実施形態では５つとされる。第１解生成部１２３は、その５つの初期解のすべてを読み出す。
第１解生成部１２３は、それら初期解に対して演算を行うことにより、その時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを２桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「ａ」なら「０１」に、「ｂ」なら「０２」に、「ｚ」なら「２６」にそれぞれ置き換える。例えば、初期解が「５ａ６４５８ｐ６５５６ｆｆ４２７２１４９」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「５０１６４５８１６６５５６０６０６４２７２１４９」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、（、）、！、＆、：等の記号をも解に含めたいのであれば、「（」に「２７」、「）」に「２８」、「！」に「２９」等の適当な数字の割当てを行うようにすればよい。
次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。その数字の列をＸとすると、Ｘは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。以下の数式におけるＸ１、Ｘ２、Ｘ3、Ｘ4、Ｘ５はそれぞれ、５つの初期解を数字に直したものである。この実施形態で初期解を５つとしているのは、西暦の年、月、日、時、分という５つの要素にしたがって解を変化させることにしているからである。
Ｘ＝Ｘ１Ｐ＋Ｘ２Ｑ＋Ｘ3Ｒ＋Ｘ4Ｓ＋Ｘ５Ｔ
ここで、Ｐ＝西暦の年の数字を５で割った余りに１を足したもの、Ｑ＝月の数字を５で割った余りに１を足したもの、Ｒ＝日の数字を５で割った余りに１を足したもの、Ｓ＝時の数字を５で割った余りに１を足したもの、Ｔ＝分の数字を５で割った余りに１を足したものである。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、Ｐ〜Ｔのすべてにおいて、１を足す過程を加えているのは、Ｐ〜Ｔのすべてがたまたま０になった場合に最終的に得られる解Ｘが５になるが、そのような簡単な数字が頻出することを避けるためである。
なお、例えば、以下のような数式を用いれば、用いる初期解は１つで済む。
Ｘ＝Ｘ１ＰＸ１Ｑ＋Ｘ１ＲＸ１Ｓ＋Ｘ１Ｔ
上述の演算を行った結果、解の元となる数字の列Ｘが得られる。次いで、その数字の列の中の任意の２桁の中に０１〜２６という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをａ〜ｚの英字に置き換える。
このようにして得られた数字と小文字の英字混じりの文字列は、２０桁以上の桁数である。それが２０桁以上であるときには、その文字列の例えば前から２０文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど２０桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が２０桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が２０桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるＰとＴとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも２０桁になるまで繰り返して、その前から２０文字を抜き出して解とする、というような方法も採用しうる。
いずれにせよ、これにより、その時点の日時に対応した解が生成される。
第１解生成部１２３は生成した解を、第１一部解生成部１２５へ送る。
【００５４】
第１一部解生成部１２５は、第１解生成部１２３から解を受取ると、受取った解から一部解を生成する（Ｓ１００３）。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。
第１一部解生成部１２５が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はないが、この実施形態ではその方法は常に同じであるものとする。解から一部解を生成する方法は例えば、２０文字で構成される解から、英字のみを取出すというものである。それ以外にも２０文字で構成される解から、偶数文字目、或いは奇数文字目のみを取出す、前半の１０文字、後半の１０文字、或いは、３文字目からの１０文字等を抜き出す等の方法が、解から一部解を生成する方法としてあり得る。
いずれにせよ、第１一部解生成部１２５が解から一部解を生成した場合、第１一部解生成部１２５は、その一部解を出力部１２７に送る。
【００５５】
出力部１２７は、上述のように、主制御部１２２から識別情報を受取り、また、第１一部解生成部１２５から一部解を受取る。これらを受取った出力部１２７は、一部解と識別情報とを、ひとまとめにして同時にサーバ２００に送るべく、それらのデータをインターフェイス１１４に送る。
それらのデータはインターフェイス１１４から送受信機構に送られ、通常のインターネットの通信で用いられている技術にしたがって送受信機構でヘッダ等を付された上で、送受信機構からネットワーク４００を介してサーバ２００に送られる（Ｓ１００４）。
【００５６】
サーバ２００は、その送受信機構で、クライアント１００から送られてきた一部解と識別情報とのデータを受取る（Ｓ２００１）。より詳細には、サーバ２００は、その送受信機構で、クライアント１００から送られてきた一部解と識別情報とをまとめて同時に受取る。
それらは、サーバ２００のインターフェイスに送られ、インターフェイスから入力部２２１に送られる。入力部２２１は、一部解と識別情報のデータをインターフェイスから受取ると、それらを主制御部２２２に送る。
主制御部２２２は、入力部２２１から一部解と識別情報のデータを受取ると、一部解のデータを認証部２２８に送り、識別情報と解を生成せよとの指示とを第２解生成部２２３に送る。
【００５７】
第２解生成部２２３は、識別情報とともに、解を生成せよとの指示を受取ると解を生成する（Ｓ２００２）。
第２解生成部２２３は、受取ったその識別情報と対応付けられている初期解を第２解記録部２２４から読み出す。識別情報と対応付けられている初期解は、その識別情報を送ってきたクライアント１００の第１解記録部１２４に記録されていた初期解と同じである。
第２解生成部２２３が解を生成する方法は、クライアント１００の第１解生成部１２３で解を生成する方法と同じである。したがって、第２解生成部２２３が生成する解は、基本的に第１解生成部２２３が生成する解と同じになる。
しかしながら、第１解生成部１２３で解を生成した時刻が、分が変わるまさにそのときであった場合などにおいては、第２解生成部２２３で生成される解が第１解生成部２２３で生成される解と異なる場合もあり得る。その場合には、クライアント１００が適正なものであったとしても、一部解による認証を行うことがそもそも不可能となるので、これには限られないがこの実施形態における第１解生成部１２３は、その時点の時刻よりも１分前の時刻に対応した解をも生成するようになっている。これであれば、第１解生成部１２３で解が生成されてから１分以内に第２解生成部２２３で解が生成されれば、第２解生成部２２３で生成された２つの解のうちの片方は、第１解生成部１２３で生成された解と一致することになる。
第２解生成部２２３は、生成した解を、第２一部解生成部２２５へ送る。
【００５８】
第２一部解生成部２２５は、２つの解を受取ると、それら２つの解から一部解を生成する（Ｓ２００３）。第２一部解生成部２２５が解から一部解を生成する方法は、クライアント１００の第１一部解生成部１２５が解から一部解を生成する方法と同じである。
第２一部解生成部２２５が解から一部解を生成した場合、第２一部解生成部２２５は、その一部解を認証部２２８に送る。
【００５９】
認証部２２８は、主制御部２２２から、クライアント１００で生成された一部解を、第２一部解生成部２２５から、サーバ２００で生成された２つの一部解を、それぞれ受取る。
認証部２２８は、それら一部解を用いて認証を行う（Ｓ２００４）。
認証部２２８は、クライアント１００で生成された一部解を、サーバ２００で生成された２つの一部解と比較し、前者が後者のうちの片方と一致した場合には、一部解を送ってきたクライアント１００が適正なものであると認証し、前者が後者のいずれとも一致しなかった場合には、一部解を送ってきたクライアント１００が適正なものであるとの認証を行わない。
認証が行われた場合には、認証部２２８は、そのクライアント１００について認証が行われたということを示すデータである認証データを生成し、それを主制御部２２２と出力部２２７とに送る。認証が行われなかった場合には、クライアント１００とサーバ２００との間の通信はそこで終了となる。ユーザは、クライアント１００を操作して、再度ユーザＩＤである識別情報の入力を行う処理に戻る。
なお、上述のように、第２解生成部２２３は解を１つだけ作るようになっていても構わない。その場合には、第２一部解生成部２２５も一つだけ一部解を生成する。この場合には、認証部２２８は、クライアント１００で生成された一部解と、サーバ２００で生成された１つの一部解とを比較し、前者と後者が一致した場合に認証を行う。
【００６０】
認証データは、上述のように、出力部２２７に送られる。出力部２２７は、認証データを受取ると、それをインターフェイスに出力する。この認証データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク４００を介してクライアント１００に送られる（Ｓ２００５）。
クライアント１００は、サーバ２００から送られてきた認証データを受取る。より詳細には、クライアント１００は、その送受信機構で認証データを受取る（Ｓ１００５）。
認証データは、送受信機構からインターフェイス１１４を経て、入力部１２１に送られる。入力部１２１は、認証データを主制御部１２２へと送る。認証データを受取った主制御部１２２は、第１暗号化復号化部１２６に暗号化と、復号化を行って良い、との指示を行う。これにより、クライアント１００では、暗号化通信の準備が整った。
【００６１】
他方、認証データは、上述のようにサーバ２００の主制御部２２２にも送られる。主制御部２２２は、認証データを受取ると、先ほど認証が行われたクライアント１００との間で通信を行うために暗号化、及び復号化の処理を行って良いとの許可のデータを第２暗号化復号化部２２６に送る。これにより、サーバ２００でも、暗号化通信の準備が整った。
【００６２】
この状態で、クライアント１００とサーバ２００との間で暗号化通信が行われる（Ｓ１００６、２００６）。
【００６３】
まず、クライアント１００からサーバ２００へ暗号化データが送信される場合について説明する。
なお、クライアント１００からサーバ２００への暗号化データの送信と、後述するサーバ２００からクライアント１００への暗号化データの送信とは、その先後を問わない、というよりともに必要に応じて行われるものである。また、後述する第１解生成部１２３での新たな解の生成と、第２解生成部２２３での新たな解の生成も、その先後を問わない。クライアント１００とサーバ２００の双方で行われる新たな解の生成は、独立して実行される。
ユーザは、クライアント１００の入力装置１０２を操作して、バンキング情報を入力する。バンキング情報は、例えば、残額を照会したいという意思表示、残額を照会したい銀行口座を特定する情報、他の口座に送金を行いたいという意思表示、送金したい金額を特定する情報、送金先の口座を特定する情報等である。これらについてのバンキング情報は、入力装置１０２の操作によって生成されるが、バンキング情報についてのデータは平文のデータである。
バンキング情報のデータは、インターフェイス１１４から入力部１２１に送られ、更には第１暗号化復号化部１２６に送られる。バンキング情報のデータは暗号化されるが、そのために解が用いられる。第１暗号化復号化部１２６は、第１解生成部１２３に解を生成させるべく、解を生成せよとの指示を第１解生成部１２３に送る。かかる指示を受取ると、第１解生成部１２３は新たに解を生成する。
第１解生成部１２３がどのようにして解を生成するかは、生成される解がサーバ２００の第２解生成部２２３で生成される解と同期されている限り自由であるが、例えば、この実施形態では、その時点の時刻とは無関係に、認証に用いた先ほど生成した解が生成された時刻の１年後で、１月後で、１日後で、１時間後で、１分後の時刻に対応した解を生成するようになっているものとする。
先ほど用いた初期解を用い、また、上述した方法を用いて、新たな解を第１解生成部１２３は生成する。
新たな解は、第１解生成部１２３から第１暗号化復号化部１２６へと送られる。
第１暗号化復号化部１２６は、第１解生成部１２３から新たな解を受取り、それを用いて、バンキング情報のデータを暗号化する。
この場合の解の用い方は自由である。例えば、クライアント１００とサーバ２００が共通鍵方式の暗号化通信を行う場合であれば、第１暗号化復号化部１２６は、その新たな解を共通鍵として用いることができる。つまり、解は、暗号化の鍵として利用可能である。他方、解は、暗号化のアルゴリズムを変化させるために用いることも可能である。解に基いて、複数種類のアルゴリズムの中から１つのアルゴリズムを選択する、といった解の用い方も可能である。
いずれにせよ、平文のバンキング情報は第１暗号化復号化部１２６で暗号化され、暗号化データにされる。
生成された暗号化データは、第１暗号化復号化部１２６から出力部１２７へと送られる。
【００６４】
出力部１２７は、暗号化データをインターフェイス１１４を介して送受信機構へと送る。暗号化データは、ネットワーク４００を介してサーバ２００へと送られる。
サーバ２００は、その送受信機構でクライアント１００から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部２２１へと送られる。入力部２２１は、第２暗号化復号化部２２６へ暗号化データを送る。
暗号化データを受取った第２暗号化復号化部２２６は暗号化データを復号化する。そのために、第２暗号化復号化部２２６は、第２解生成部２２３が生成した解を用いる。第２暗号化復号化部２２６は、第２解生成部２２３に解を生成させるべく、解を生成せよとの指示を第２解生成部２２３に送る。かかる指示を受取ると、第２解生成部２２３は新たに解を生成する。
第２解生成部２２３が解を生成する方法は、クライアント１００の第１解生成部１２３が採用している方法と同じである。それにより、第２解生成部２２３は、第１解生成部１２３が生成するのと同じ新たな解を生成する。
新たな解は、第２解生成部２２３から第２暗号化復号化部２２６へと送られる。
第２暗号化復号化部２２６は、第２解生成部２２３から新たな解を受取り、それを用いて、暗号化データを復号化する。
この場合の解の用い方は、クライアント１００の第１暗号化復号化部１２６での解の用いられ方に倣う。例えば、クライアント１００とサーバ２００が共通鍵方式の暗号化通信の共通鍵として解を用いたのであれば、第２暗号化復号化部２２６も、その新たな解を共通鍵として用いる。
いずれにせよ、第２暗号化復号化部２２６で、暗号化データは復号化され、元の平文のバンキング情報のデータに戻される。
バンキング情報のデータは、第２暗号化復号化部２２６から、出力部２２７に送られ、出力部２２７からインターフェイスを介して、インターネットバンキングの処理を行う他の装置へと送られ適当に使用される。
【００６５】
次に、サーバ２００からクライアント１００へ暗号化データが送信される場合について説明する。
サーバ２００には、バンキング情報のデータが入力される。バンキング情報のデータは、インターネットバンキングの処理を実行するサーバ２００外の装置で作られサーバ２００に入力される。バンキング情報は、例えば、ある口座の残額を示す情報、どの口座に幾ら送金を行ったという情報、過去の口座の取引履歴等についての情報である。これらについてのバンキング情報は、生成された段階では平文のデータである。
バンキング情報のデータは、インターフェイスから入力部２２１に送られ、更には第２暗号化復号化部２２６に送られる。バンキング情報のデータは暗号化されるが、そのために解が用いられる。ここで用いられる解は、先ほどと同じ解で構わない。他方、上述のようにして、先ほどとは異なる条件で更に新しい解を生成することにより、サーバ２００からクライアント１００へ暗号化データが送信される場合と、クライアント１００からサーバ２００へ暗号化データが送信される場合とで、双方が共通鍵方式の通信を行う場合であっても、異なる共通鍵を用いて暗号化通信を行えるようになる。なお、この実施形態では、いずれの方向に暗号化データを送信する場合であっても、使用する解は同じであるものとする。
第２暗号化復号化部２２６は、第１解生成部１２３がバンキング情報を暗号化したのと同じ方法で、バンキング情報を暗号化して暗号化データとする。生成された暗号化データは、第２暗号化復号化部２２６から出力部２２７へと送られる。
【００６６】
出力部２２７は、暗号化データをインターフェイスを介して送受信機構へと送る。暗号化データは、ネットワーク４００を介してクライアント１００へと送られる。
クライアント１００は、その送受信機構でサーバ２００から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部１２１へと送られる。入力部１２１は、第１暗号化復号化部１２６へ暗号化データを送る。
暗号化データを受取った第１暗号化復号化部１２６は暗号化データを復号化する。そのために、第１暗号化復号化部１２６は、第１解生成部１２３が生成した解を用いる。この場合の解は、第１解生成部１２３で先ほど生成した新たな解と同一でも良いし、サーバ２００の第２解生成部２２３が更に新たな解を生成するようになっており第２暗号化復号化部２２６がその更に新たな解を使用して暗号化を行うようになっているのであれば、第１解生成部１２３が更に生成させた、更に新たな解とすることもできる。この実施形態では、第１暗号化復号化部１２６が復号化に用いる解は、第１解生成部１２３が生成した、上述の新たな解である。
第１暗号化復号化部１２６は、例えば、共通鍵方式で暗号化データを復号化する際の鍵として解を用いて、暗号化データを復号化し、暗号化データを元の平文のバンキング情報のデータに戻す。
バンキング情報のデータは、第１暗号化復号化部１２６から、出力部１２７に送られ、出力部１２７からインターフェイス１１４を介して、ディスプレイ１０１に送られる。ディスプレイ１０１には、サーバ２００から送られてきたバンキング情報に基いて、ユーザの口座の残額、ある口座に幾ら送金されたか、或いはユーザの口座の過去の取引履歴等が表示される。
【００６７】
暗号化通信を行う必要がなくなったら、暗号化通信が終了する。
なお、この実施形態における通信システムでは、暗号化通信を行うＳ１００６、２００６の過程で用いられる解は１つだけ、或いは固定であった。これに代えて、後述する変形例１で共通鍵方式の暗号化通信を行うための共通鍵を、次々と変更していくように、暗号化或いは復号化に用いるための解をクライアント１００の第１解生成部１２３と、サーバ２００の第２解生成部２２３とで、連続的に生成するようにすることも可能である。その場合には、例えば、認証に用いた解の次の新たな解を生成するために、認証に用いられた解が生成された時刻の１年後で、１月後で、１日後で、１時間後で、１分後の時刻に対応した解を生成するという取極めを第１解生成部１２３と、第２解生成部２２３との間でしていたのと同様に、その後に生成する解は、順にその１分後、２分後、３分後…の時刻に生成される解である、等の取極めを第１解生成部１２３と第２解生成部２２３との間で行っておけばよい。もちろん、両者の間で、もっと複雑な取極めを交わしておくことも可能である。
【００６８】
以下、上述した通信システムの変形例について説明する。
以下の変形例は基本的に、クライアント１００における第１解生成部１２３とサーバ２００における第２解生成部２２３とで実行される解の生成方法が、上述の実施形態におけるそれらと異なることを除けば、上述の実施形態の場合と変わりはない。
なお、各変形例における第１解記録部１２４、及び第２解記録部２２４には、少なくともその初期状態では初期解が記録されていることは上述の実施形態と変わらないが、後述するように、初期状態でない状態では上述の実施形態の場合と異なり、初期解以外のデータが記録される場合もある。
また、変形例３では、認証部２２８が実行する認証の方法が、上述の実施形態の場合と若干異なる。
以下、各変形例について順に説明する。
【００６９】
＜変形例１＞
上述の実施形態においては、クライアント１００が備える第１解生成部１２３、及びサーバ２００が備える第２解生成部２２３は、ワンタイムパスワードの発生のさせ方でいえば、時間同期の如き解の同期のさせ方を採用していた。これに対して、変形例１では、ワンタイムパスワードの発生のさせ方でいえば、イベント同期の如き、過去に発生させた解の数に基づき解を同期させる方法を採用している。なお、変形例２以下の各変形例においても、ワンタイムパスワードの発生のさせ方でいえば、イベント同期の如き方法を採用している。
【００７０】
変形例１では、第１解生成部１２３、及び第２解生成部２２３で新しい解を生成するための手法は、例えば、ある初期解に対して決められた演算を行うことで解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て…、という処理を繰り返すことで、連続して解を生成するものとすることができる。このような技術は、擬似乱数を生成するための技術として周知である。
第１解生成部１２３、及び第２解生成部２２３が、解を生成するより具体的な方法について説明する。
解を生成するには、ある初期解（以下の、（ａ）、（ｃ）のように２つ以上の場合もある）を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を、解が必要となる度に実行すれば良い。そうすることにより、上記解を連続して生成することができる。この場合の解は、初期解依存性のある擬似乱数となる。
上述の解を作るのに使われる関数の例として、以下の（ａ）〜（ｃ）を挙げる。以下の（ａ）〜（ｃ）はいずれも、Ｎ番目の解であるＸＮを作るための式である。また、Ｐ、Ｑ、Ｒ、Ｓは適当な自然数である。
（ａ）（ＸＮ）＝（ＸＮ−１）Ｐ＋（ＸＮ−２）Ｑ
（ｂ）（ＸＮ）＝（ＸＮ−１）Ｐ
（ｃ）（ＸＮ）＝（ＸＮ−１）Ｐ（ＸＮ−２）Ｑ（ＸＮ-3）R（ＸＮ−4）S
（ａ）は、過去の解２つを用い、それらをそれぞれＰ乗とＱ乗したものを足し合わせることにより、新しい解を生成する。なお、正確には、過去の解２つを用い、それらをＰ乗とＱ乗したものを足し合わせると通常、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい解を生成する。これには限られないが、この実施形態では、解は２０桁であるものとする。
（ｂ）は、過去の解１つを用い、それをＰ乗したものの桁数を上述のように整理したものを新しい解とするものである。
（ｃ）は、過去の解４つを用い、それらをそれぞれＰ乗、Ｑ乗、Ｒ乗、Ｓ乗したものの積を取り、その後上述したように桁数を整理したものを新しい解とするものである。
上述の（ａ）〜（ｃ）は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の（ａ）〜（ｃ）を順番に用いる等の変化を加えることも可能である。
なお、上述の（ａ）〜（ｃ）の数式を用いる手法は、解が数字のみで構成されている場合に使用可能である。解に、文字、記号を含めたいのであれば、上述の実施形態で説明した、文字、記号に数字を割り振る手法を採用すればよい。
いずれにせよ、サーバ２００にある第２解生成部２２３は、クライアント１００にある第１解生成部１２３と、上述の如き擬似乱数の発生方法を用いて、発生させる解を互いに同期させられるようにされている。
これには限られないが、変形例１の第１解生成部１２３と第２解生成部２２３とは、上記（ａ）のアルゴリズムを用いて解を生成することとしている。その場合、新しい解を生成するには、少なくとも初期解が必要となる。
変形例１における第１解記録部１２４には、上述の実施形態の場合と同様に、初期解が記録されているが、それに加えて、過去に生成した解の数が記録されている。変形例２における第２解記録部２２４には、上述の実施形態の場合と同様に、各ユーザの識別情報と対応付けてその識別情報が割当てられたユーザが用いるクライアント１００の第１解記録部１２４に記録されたのと同じ初期解が記録されているが、それに加えて、各識別情報と対応付けて、その識別情報に対応付けられた初期解を用いて過去に生成した解の数が記録されている。
【００７１】
変形例１の第１解生成部１２３が解を生成する場合を考える。例えば、第１解生成部１２３は過去に３つの解を生成したとする。そうすると、上述の実施形態におけるＳ１００２の過程で解を生成する場合、第１解生成部１２３は、第１解記録部１２４から、初期解と、過去に生成した解の数である３という数字を読み出す。したがって、第１解生成部１２３は、上述の数式（ａ）を用いて、初期解（（Ｘ０）、（Ｘ−１））から１番目の解（Ｘ１）を生成し、１番目の解を用いて（より正確には、（Ｘ１）、（Ｘ０）を用いて）２番目の解を生成し、それを繰り返して、４番目の解（Ｘ４）を生成する。そして、第１解生成部１２３は、第１解記録部１２４に記録されていた過去に生成した解の数を１増やし「４」とする。これにより、次に第１解生成部１２３で生成される解は、５番目の解である（Ｘ５）になる。
変形例１の第２解生成部２２３が解を生成する場合であって、第２解生成部２２３が過去に３つの解を生成したとする。そうすると、上述の実施形態におけるＳ２００２の過程で解を生成する場合、第２解生成部２２３は、第２解記録部２２４から、識別情報に紐付けられた初期解と、これも同じ識別情報に紐付けられた過去に生成した解の数である３という数字を読み出す。この後の解の生成の方法は、第１解生成部１２３における上述の場合と同様であり、結果的に４番目の解（Ｘ４）を生成する。そして、第２解生成部２２３は、第２解記録部２２４に記録されていた過去に生成した解の数を１増やし「４」とする。これにより、次に第２解生成部２２３で生成される解は、５番目の解である（Ｘ５）になる。
以上のようにして、第１解生成部１２３と第２解生成部２２３とで、同じ初期解と同じアルゴリズム（数式）を用いることにより、そして更に両者で生成される解の生成された順番を揃えることにより、両者で生成される解を同期させることができるようになる。
同期された解からクライアント１００、及びサーバ２００で生成される一部解は、解から一部解を生成する方法がクライアント１００の第１一部解生成部１２５とサーバ２００の第２一部解生成部２２５で共通である限り、当然に同じものとなる。したがって、変形例１においても、特に不正がない限り、上述の実施形態におけるＳ２００４の過程で説明した認証は可能である。
【００７２】
同様に、上述の実施形態における暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）においても、クライアント１００の第１解生成部１２３と、サーバ２００の第２解生成部２２３とで、同期した状態で新たな解が生成される。
この場合、例えば、共通鍵方式の暗号化通信を行う共通鍵として、クライアント１００においては、Ｓ１００２の過程で生成された解の次に生成される解を、サーバ２００においては、Ｓ２００２の過程で生成された解の次に生成される解を、それぞれ共通鍵として用いることが可能である。この場合、共通鍵は、Ｓ１００６、Ｓ２００６の過程が実行されている間中、不変であってもよい。
他方、共通鍵方式の暗号化通信を行うための共通鍵を、次々と変更していくことも可能である。例えば、平文のあるデータを暗号化する場合には通常、データの全体に対して何らかの演算を行うのではなく、通常は、平文のあるデータを所定のビット数毎に切断して小さいデータにしてから、その小さいデータのそれぞれに対して暗号化のための演算を行っていくという手法が用いられる。例えば、その小さいデータを１０個暗号化する毎に新しい解を生成して共通鍵を変えるとか、場合によってはその小さいデータを１個暗号化する毎に新しい解を生成して共通鍵を変えるとか、そのような手法を採用しても良い。擬似乱数を連続して生成する変形例１では、そのような手法を採用しやすい。もちろんこのような暗号化を行う場合には、復号化を行う側でも暗号化を行う側と同じ方法で解を発生させ、同じ方法で共通鍵を変更していく。そのようなことを、クライアント１００とサーバ２００の双方で実行することができる。
なお、変形例１でも、解は、暗号化と復号化を行う場合における共通鍵として用いる以外の方法で用いられても構わない。例えば、発生された解の内容によって、数式（ａ）のＰ、Ｑの値を変えること等が可能である。
変形例１ではこのように、上述の実施形態における暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）における暗号化と復号化に１つだけ解を使用することも可能であるし、複数の解を使用することも可能である。この技術は、既に説明した実施形態でも以下に説明する変形例でも応用可能である。
【００７３】
＜変形例２＞
変形例２は、殆ど変形例１と変わらない。
異なるのは、第１解記録部１２４と、第２解記録部２２４に記録されるデータの内容である。
変形例２でも、変形例１と同様に、発生させる解の順番を揃えることで解を同期させる方法、つまり、ワンタイムパスワードの発生のさせ方でいえばイベント同期の如き方法を採用している。
変形例２で解を発生させるための数式は、変形例１と同様とすることが可能である。また、変形例２で用いられる解は、変形例１と同様に、数字のみでも良いし、数字に加えて、文字又は記号、或いはその双方が含まれるものであってもよい。
変形例１では、第１解記録部１２４、及び第２解記録部２２４に、過去に生成した解の数を記録しておき、新しい解を生成する場合には、初期解から、求める順番の解が生成されるまで演算を繰り返すことにより解を生成させることとしていた。変形例２ではこれに代えて、第１解記録部１２４、及び第２解記録部２２４には、直前に生成された解が記録される。
【００７４】
具体的に説明する。これには限られないが、変形例２でも、数式（ａ）を用いるものとする。
変形例２における第１解記録部１２４には、初期状態では、上述の実施形態の場合と同様に、初期解（（Ｘ０）、（Ｘ−１））が記録されている。変形例２における第２解記録部２２４には、上述の実施形態の場合と同様に、初期状態では、各ユーザの識別情報と対応付けてその識別情報が割当てられたユーザが用いるクライアント１００の第１解記録部１２４に記録されたのと同じ初期解（（Ｘ０）、（Ｘ−１））が記録されている。
変形例２の第１解生成部１２３が解を生成する場合について説明する。Ｓ１００２の過程で、第１解生成部１２３が１つ目の解を生成する場合、数式（ａ）に、初期解（（Ｘ０）、（Ｘ−１））を代入する。そうすることにより、１つ目の解である（Ｘ１）を求めることができる。１つ目の解を求めたら、第１解生成部１２３は、第１解記録部１２４に記録された初期解のうちの古い方である（Ｘ−１）を（Ｘ０）で上書きし、第１解記録部１２４に記録された初期解のうちの新しい方である（Ｘ０）を新たに生成した解である（Ｘ１）で上書きする。
以降の処理においては、上述の実施形態におけるＳ１００２又はＳ１００６の過程を実行する場合に第１解生成部１２３が新しい解を生成することが必要となるが、いずれの場合においても、新しい解を生成するために、第１解生成部１２３は、その直前に生成され、第１解記録部１２４に記録されている解を用いる。例えば、２番目の解である（Ｘ２）を生成する場合であれば、第１解記録部１２４には、（Ｘ０）と（Ｘ１）とが記録されているのであるから、それらを第１解記録部１２４から読みだし、それらを数式（ａ）に代入することにより、２番目の解（Ｘ２）を得る。そして、第１解記録部１２４における（Ｘ０）と（Ｘ１）とをそれぞれ、（Ｘ１）と（Ｘ２）とでそれぞれ上書きする。同様に、３番目の解（Ｘ３）を得て、第１解記録部１２４における（Ｘ１）と（Ｘ２）とをそれぞれ、（Ｘ２）と（Ｘ３）とでそれぞれ上書きする。一般化すると、第１解生成部１２３は、Ｎ番目の解（ＸＮ）を（ＸＮ−１）と（ＸＮ−２）とを用いて求め、第１解記録部１２４に記録されていた解である（ＸＮ−１）と（ＸＮ−２）とを、（ＸＮ）と（ＸＮ−１）とでそれぞれ上書きする。新しいそれら２つの解である（ＸＮ）と（ＸＮ−１）とを用いれば、次にＮ＋１番目の解である（ＸＮ＋１）を生成することができる。
第２解生成部２２３での解の生成方法も上述のとおりである。ただし、解の上書きがされるのは、新たな解を作る際のきっかけとなった識別情報と紐付けられていた解、言い換えれば、新たな解が作られたときに使われた過去の解のみである。
これによっても、第１解生成部１２３と第２解生成部２２３とで、同じ初期解と同じアルゴリズム（数式）を用いることにより、そして更に両者で生成される解の生成された順番を揃えることが可能となり、結果として両者で生成される解を同期させることができるようになる。
同期された解からクライアント１００、及びサーバ２００で生成される一部解は、解から一部解を生成する方法がクライアント１００の第１一部解生成部１２５とサーバ２００の第２一部解生成部２２５で共通である限り、当然に同じものとなる。したがって、変形例２においても、特に不正がない限り、上述の実施形態におけるＳ２００４の過程で説明した認証は可能である。
【００７５】
＜変形例３＞
変形例３は、殆ど変形例２と同じである。
変形例３でも、変形例２と同様に、発生させる解の順番を揃えることで解を同期させる方法、つまり、ワンタイムパスワードの発生のさせ方でいえばイベント同期の如き方法を採用している。
変形例３で解を発生させるための数式は、変形例２と同様とすることが可能である。また、変形例３で用いられる解は、変形例２と同様に、数字のみでも良いし、数字に加えて、文字又は記号、或いはその双方が含まれるものであってもよい。
変形例３においても、変形例２の場合と同様、クライアント１００の第１解記録部１２４、及びサーバ２００の第２解記録部２２４には、その直前に生成された解が記録される。また、クライアント１００の第１解生成部１２３、サーバ２００の第２解生成部２２３とも、変形例２の場合と同様、第１解記録部１２４、又は第２解記録部２２４に記録された直前の解を用いて、次の解を生成するものとなっている。
【００７６】
認証を行うに際しての第１解生成部１２３、及び第２解生成部２２３での解の生成の仕方を説明する。変形例３の場合に特徴的なのは、変形例１、変形例２では常に同期がとれていた第１解生成部１２３で生成される解と、第２解生成部２２３で生成される解とが、場合により同期が取れていない状態となることである。例えば、変形例３のクライアント１００が、サーバ２００以外の他の通信装置との通信を行う際等にも、認証を行うようになっているとする。そうすると、クライアント１００では、サーバ２００では未だに生成されていない解が、サーバ２００に先んじて生成された状態となる。このようなことが予定されている場合にも認証を可能とするのが、変形例３の通信システムによって実行される以下の方法である。
認証が行われるとき、クライアント１００では、上述の実施形態におけるＳ１００２の過程で第１解生成部１２３が解を生成する。この場合における解の生成の方法は、変形例２の場合と同じである。
クライアント１００の第１一部解生成部１２５では、実施形態の場合と同様に、この解に基いて一部解が生成される（Ｓ１００３）。この解は、識別情報とともにサーバ２００に送信される（Ｓ１００４）。
他方、サーバ２００は、識別情報と解を受信する（Ｓ２００１）と、上述の実施形態の場合と同様に解を生成する（Ｓ２００２）。このときサーバ２００は、解を複数、もっと言うと多数生成するようになっている。変形例３では、クライアント１００で生成される解がサーバ２００で生成される解よりも先行していることがあり得るからである。サーバ２００の第２解生成部２２３が解を生成する方法自体は変形例２の場合と同様であるが、第２解生成部２２３は、その時点で第２解記録部２２４に記録されていた過去に生成された解を用いて、次の解を生成する。そして、そのようにして生成された解を用いて、更に次の解を生成し、そのようにして生成された解を用いて、更に次の解を生成し…、という処理を繰り返すことにより、多数の、例えば数万個の解を生成する。幾つの解を生成するかは、サーバ２００の認証部２２８が後述するような方法で認証を行えるか、またクライアント１００で一部解を生成するのに用いられた第１解生成部１２３で生成された解と同一の解が偶々現れる可能性をどの程度排除したいか、という観点から決定される。とはいえ、仮に解が英数字混じりの２０桁であるとすれば、解を数万個生成したとしても、サーバ２００で生成した解と、クライアント１００で生成された解が、偶然一致する可能性は限りなく０に近い。
そして、第２解生成部２２３で生成された多数の解は順次第２一部解生成部２２５に送られ、その多数の解から順に一部解が生成される（Ｓ２００３）。
生成された一部解のデータは順に認証部２２８に送られる。認証部２２８には、上述の実施形態の場合と同様に、クライアント１００から送られてきた一部解のデータが送られてきている。認証部２２８は、クライアント１００から送られてきた一部解と、第２一部解生成部２２５から送られてきた多数の一部解とを比較し、第２一部解生成部２２５から送られてきた多数の一部解の１つがクライアント１００から送られてきた一部解と一致した場合には、その一部解を送ってきたクライアント１００は正当なものと認証する。他方、第２一部解生成部２２５から送られてきた多数の一部解のすべてがクライアント１００から送られてきた一部解と一致しなかった場合には、その一部解を送ってきたクライアント１００は正当なものであるとの認証を行わない。なお、認証部２２８は、クライアント１００から送られてきた解を、第２一部解生成部２２５から送られてくる多数の解と順次比較し、クライアント１００から送られてきた解と、第２一部解生成部２２５から送られてきたある解とが一致した時点で、一部解を送ってきたクライアント１００が正当であるとの認証を行うとともに、以後の処理を省略するようになっていてもよい。
変形例３における第２解生成部２２３は、クライアント１００から送られてきた解と一致した解についてのデータを認証部２２８から受取り、その解を、第２解記録部２２４に書き込む。これにより、サーバ２００の第２解生成部２２３で生成される解は、クライアント１００の第１解生成部１２３で生成される解と、再び同期されることになる。
その後、クライアント１００とサーバ２００は暗号化通信を行う（Ｓ１００６、２００６）にあたり、解を生成する。クライアント１００の第１解生成部１２３とサーバ２００の第２解生成部２２３とは解を生成するが、そのときに生成される解は、同期された状態となるから、クライアント１００とサーバ２００との間で行われる暗号化通信は成立する。
なお、変形例３でも、変形例１の場合と同様に、暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）における暗号化と復号化に多数の解を使用することが可能である。ただし、その場合において余りに多数の解を用いるとすると、第２解生成部２２３が、Ｓ２００２の過程で生成すべき解が余りに多数となり、第１解生成部１２３と、第２解生成部２２３とで生成される解が偶々一致する可能性が高くなりかねない。そのようなことを避けるには例えば、クライアント１００とサーバ２００が暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）で多数の解を生成しながら暗号化通信が実行され、最終的に暗号化通信が終わった時点で、クライアント１００の第１解生成部１２３とサーバ２００の第２解生成部２２３とが、第１解記録部１２４と、第２解記録部２２４に記録されている解のデータを、暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）で最初の解が生成される前の状態（認証が終わって、サーバ２００の第２解生成部２２３で生成される解が、クライアント１００の第１解生成部１２３で生成される解と再び同期された状態）にするようにすればよい。
これは即ち、暗号化通信を行う過程（Ｓ１００６、Ｓ２００６）で多数の解が生成されたことを、少なくともクライアント１００における第１解生成部１２３と第１解記録部１２４、及びサーバ２００における第２解生成部２２３と第２解記録部２２４において、無かったことにするということである。このようにしておけば、第２解生成部１２３が、Ｓ２００２の過程で生成すべき解が余りに多数となり、第１解生成部１２３と、第２解生成部２２３とで生成される解が偶々一致するという可能性を抑制することができる。
【００７７】
＜変形例４＞
変形例４は、以上で説明した実施形態、及び各変形例とその構成、及び実行される処理は殆ど同じであるが、その実、解を用いた認証を行わないという点に着目すれば、以上で説明した実施形態、及び各変形例とその内容は大きく異なるといえる。とりあえず以下の説明は、実施形態の変形として説明する。しかし、変形例４の通信システムは、特に矛盾がない限り、変形例１〜３の変形とすることもできる。
変形例４の通信システムも、ネットワーク４００を介して互いに通信可能な、サーバ２００と、多数のクライアント１００とを含んで構成されている。
変形例４のクライアント１００の構成は実施形態で説明したものと同じとすることができ、変形例４ではこれには限られないがそうされている。クライアント１００からは、サーバ２００へ、実施形態の場合と同様にクライアント１００で生成された一部解がネットワーク４００を介して送信されるようになっている。
他方、サーバ２００の構成も、基本的には上述の実施形態で説明したものと同じで良い。ただし、認証部２２８は、判定部に置き換わる。判定部は、認証部２２８と同様に、クライアント１００から送られてきた一部解を主制御部２２２から受取るとともに、第２一部解生成部２２５が生成した少なくとも１つの一部解を第２一部解生成部から受取り、前者と一致するものを後者から見つけ出すものである。認証部２２８はその結果認証を行ったが、判定部は認証を行わない。
判定部がクライアント１００から送られてきた一部解と同じ、第２一部解生成部２２５が生成した少なくとも１つの一部解を発見できたのであれば、第１実施形態の場合と同様に、クライアント１００とサーバ２００との間で、解の、或いは第１解生成手段１２３と第２解生成手段２２３との同期が実現できることとなる。
それが実現できたら、第１実施形態の場合と同様にして、クライアント１００とサーバ２００との間で暗号化通信（Ｓ１００６、２００６）を行えば良い。
なお、変形例４では、サーバ２００は、クライアント１００を、一部解を用いては認証しない。しかしながら、他の方法でサーバ２００がクライアント１００を認証するのは構わない。例えば、実施形態の場合であれば、クライアント１００からサーバ２００へとユーザＩＤである識別情報が送信されたが、識別情報をユーザＩＤとパスワードとし、それらを用いてサーバ２００がクライアント１００を認証するようにする、といった公知、或いは周知技術を用いてサーバ２００がクライアント１００を認証するようにすることができる。
【符号の説明】
【００７８】
１００  クライアント  
１０１  ディスプレイ
１０２  入力装置
１２１  入力部
１２２  主制御部
１２３  第１解生成部
１２４  第１解記録部
１２５  第１一部解生成部
１２６  第１暗号化復号化部
１２７  出力部
２２１  入力部
２２２  主制御部
２２３  第２解生成部
２２４  第２解記録部
２２５  第２一部解生成部
２２６  第２暗号化復号化部
２２７  出力部
２２８  認証部
【図１】
2018046521.tif 000003
【図２】
2018046521.tif 000004
【図３】
2018046521.tif 000005
【図４】
2018046521.tif 000006
【図５】
2018046521.tif 000007
【図６】
2018046521.tif 000008