بعض محتويات هذا التطبيق غير متوفرة في الوقت الحالي.
إذا استمرت هذه الحالة ، يرجى الاتصال بنا علىتعليق وإتصال
1. (WO2018052090) TRANSMISSION AND RECEPTION SYSTEM, TRANSMISSION DEVICE, RECEPTION DEVICE, METHOD, AND COMPUTER PROGRAM
Document

明 細 書

発明の名称 送受信システム、送信装置、受信装置、方法、コンピュータプログラム

技術分野

0001  

背景技術

0002   0003   0004  

発明の概要

発明が解決しようとする課題

0005   0006  

課題を解決するための手段

0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027  

図面の簡単な説明

0028  

発明を実施するための形態

0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16  

図面

1   2   3   4   5   6  

明 細 書

発明の名称 : 送受信システム、送信装置、受信装置、方法、コンピュータプログラム

技術分野

[0001]
 本発明は、通信技術、より詳細には認証技術に関する。

背景技術

[0002]
 例えば、インターネット上でインターネット上に存在する店舗への支払いを行う、インターネットバンキングで自らの口座の残高を見たり第三者への送金を行う等という場合には、それらを行うユーザは自らの端末(クライアント)と上記店舗等のサーバとの間でインターネットを介して通信を行う。かかる通信ではもちろん、第三者のなりすましを排除することが必要である。
 そのために認証技術が用いられている。
[0003]
 インターネットバンキングを用いる場合におけるユーザの認証は、例えば以下のようにして実行される。
 ユーザがインターネットバンキングのサービスを利用する場合には、ユーザは、ユーザが操作する端末であるユーザ端末から、ユーザを特定する、或いはユーザ端末を特定する情報である識別情報を、インターネットを介して、銀行が設置し銀行の管理下にあるサーバへと送信する。必ずしもこの限りではないが、この識別情報は、銀行側が設定したユーザIDと、ユーザ側が設定したパスワードとの組合せになっている。ユーザ端末からサーバに送られた識別情報におけるユーザIDとパスワードの組合せが、サーバの記録媒体に記録された通りの適切なものであれば、サーバは、インターネットバンキングを利用しようとして識別情報を送ってきたそのユーザ或いはユーザ端末は正当なものであると認証する。
 もっとも、上述したような認証技術は、インターネットバンキングを目的とするものに限らず、広く普及しているが、インターネットバンキング等のより認証の精度を上げるべき分野では最早古典的な技術になりつつある。固定のユーザIDと固定のパスワードの組合せでは、悪意のある第三者にそれらを盗まれることがあり得るからである。
 そのようなリスクを低減するために、銀行はユーザに、定期的にパスワードを変更することを促し、或いは定期的にパスワードを変更しないユーザにはインターネットバンキングのサービスを利用できないようにする、などの対策を行っている。しかしながら、数ヶ月に一度程度のパスワードの変更では最早、悪意のある第三者によるなりすましを排除することは難しい。
[0004]
 そのような点を考慮して、近年大いに普及してきているのがワンタイムパスワードを用いた認証技術である。
 ワンタイムパスワードは、一時的に発生させて用いられる、期限付きのパスワードである。ワンタイムパスワードは、ユーザが発生させる。ワンタイムパスワードを発生させる際にユーザが用いるのはトークンである。いずれにせよ銀行が各ユーザに配布するものであるが、トークンは、実体のある物理トークンと、ユーザが所有するスマートフォンその他の端末にインストールしてその端末を物理トークンと同様に機能させるものであるソフトウエアトークンとに大別される。もっとも、トークンは、ユーザが操作することにより、一時的に(例えば、生成されてから1分間だけ)有効となるワンタイムパスワードを生成する。もちろん各ユーザに配布されたトークンが生成するワンタイムパスワードは、それぞれ異なる。
 ユーザは、ユーザIDとワンタイムパスワードとを含む識別情報を、インターネットを介してユーザ端末からサーバへと送信する。
 他方、サーバは、各ユーザに配布したトークンで生成されるワンタイムパスワードと同じワンタイムパスワードを生成する機能を有している。サーバは、ユーザ端末から送られてきた識別情報に含まれていたユーザIDで特定されるユーザに配布したトークンで生成されるのと同じワンタイムパスワードを生成することができるので、サーバで生成したワンタイムパスワードが、ユーザ端末から送られてきたワンタイムパスワードと同じかどうかの判定を行い、両者が一致した場合には、そのワンタイムパスワードを送ってきたユーザ端末乃至ユーザが正当である、との認証を行う。

発明の概要

発明が解決しようとする課題

[0005]
 かかるワンタイムパスワードを用いた認証はそれなりの効果をあげているが、それでもなお、悪意のある第三者によるなりすましの事例は後を絶たない。警察庁が開示する平成27年中のインターネットバンキングにおける不正送金の金額は30億円を超えており、これが現に警察庁に把握されているもののみを対象とするデータであり、更に日本国内のみのデータであることまで考慮すれば、世界に視野を広げた場合における被害額が莫大であることは想像に難くない。
 そのようなことが生じることの理由の1つとして、固定のユーザIDとパスワードをユーザ端末からサーバへ送信する古典的な技術の場合と同様に、ワンタイムパスワードを用いる技術においても、ユーザがトークンで生成したワンタイムパスワードが、ユーザがインターネットバンキングのサービスを利用する度に、ユーザ端末からサーバへ、ユーザIDとともに、例えば同じ経路で送られるということを挙げることができる。
 トークンでワンタイムパスワードを生成する際に使用されるアルゴリズムは、第三者から簡単には看破できないように複雑なものとされている。しかしながら、インターネットを飛び交うユーザIDを悪意のある第三者がある程度の数入手することができたのであれば、それらからアルゴリズムを看破することは少なくとも不可能ではないし、実際にそのようなことが行われていると考えられる。
 そして、インターネットを挟んでのかかる認証の問題は、インターネットバンキング以外の分野においても当然に問題になっている。
[0006]
 本願発明は、一般的なワンタイムパスワードを用いた技術よりも更に安全性の高い認証技術を提供することを課題とする。

課題を解決するための手段

[0007]
 かかる課題を解決するために本願発明者は研究を重ねた。その結果、上述の問題は、ワンタイムパスワードをインターネットを介して送信しなければ生じないという極めて簡単でしかも本質的なことに気がついた。
 本願発明は、そのような知見に基づくものである。
[0008]
 上述の課題を解決するための本願発明は、以下のようなものである。
 本願発明は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置と、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている受信装置と、を備えてなる送受信システムである。
 そして、受信装置における前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
[0009]
 この送受信システムは、ネットワーク(典型的にはインターネット)を介して互いに通信可能な送信装置と、受信装置とを含んで構成される。これら送信装置と受信装置のうち認証の処理を行うのが受信装置であり、送信装置はその正当性の認証を送信装置にしてもらうものである。その意味では、送信装置は、従来技術でいえばユーザ端末に相当し、受信装置は、従来技術でいえばサーバに相当する。なお、本願における送信装置は送信だけでなく受信をも行ってよく、本願における受信装置は受信だけでなく送信をも行ってよい。本願における送信装置は、認証のための一部解を他方の装置に送信する側の装置、本願における受信装置は、認証のための一部解を他方の装置から受信する側の装置、という意味である。
 送信装置は、上述したように、解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段と、第1解記録手段に記録された初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段とを備えている。初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解とは、典型的には初期解依存性のある擬似乱数である。送信装置が備える第1解記録手段と、第1解生成手段とは、それらの組合せにより連続して解を生成するものである。つまり、これらは従来技術におけるトークン、より詳細にはソフトウエアトークンに相当するものであるといえる。他方、送信装置は、第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段を備えており、また、第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段を備えている。
 受信装置は、送信装置の第1解記録手段に記録された初期解と同一の初期解を記録する第2解記録手段と、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段とを備えている。従来技術におけるサーバは、ユーザが持つトークンで発生させられるのと同じワンタイムパスワードを生成できるようになっている。受信装置における第2解記録手段と、第2解生成手段とを組合せたものは、従来技術のサーバにおけるワンタイムパスワードを生成する手段と同様のものである。送信装置で発生されるのと同じ解を受信装置でも発生できるようにするために、受信装置における第2解記録手段には、少なくともその初期状態(一般に、最初の解が生成される前)においては、送信装置における第1解記録手段に少なくともその初期状態(一般に、最初の解が生成される前)で記録されていたのと同じ初期解が記録されており、また、受信装置における第2解生成手段は、同じ初期解を用い、解を作る場合の条件(本願でいうこの「条件」は、当然に、発生される解に影響を与える対象についての「条件」のみを意味する。)が同じ場合、第1解生成手段で生成されるものと同じ解を生成することが可能なものとなっている。そのような技術は、従来から用いられているワンタイムパスワードの発生方法にて既に公知、或いは周知であり、それを第1解生成手段と第2解生成手段とに流用することが可能である。
 例えば、第1解生成手段、第2解生成手段はともに、同じアルゴリズムにより新しい解を生成するようなものとなっていてもよい。より具体的には、第1解生成手段、第2解生成手段で新しい解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。また、第1解生成手段、第2解生成手段はともに、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。解は、文字、数字、記号の少なくとも1つの羅列とすることができ、また、各解に含まれる、文字、数字、記号の少なくとも1つの数はすべて同じとすることができ、そうするのが一般的である。
 受信装置は、また、第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段と、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段と、を備えている。
 本願発明では、送信装置から受信装置へ、ネットワークを介して送信されるのは、従来技術におけるワンタイムパスワードに相当する解ではなく、解の一部である一部解のみである。例えば、送信装置と受信装置とで生成される解が、ともに15桁であったとする。そして、15桁の解から、最初の6桁を取出したもの、奇数桁目のみを取出したもの、2~9桁目を取出したもの、或いは英数字混じりの解から数字のみを取出したものを、一部解とすることができる。本願発明はそのような、解の一部である一部解を解に代えて、送信装置から受信装置に送り、受信装置で行われる認証に用いることとしている。
 受信装置における第2解生成手段は、受信手段が送信装置から送信された一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ第2一部解生成手段は、第2解生成手段により生成されたその少なくとも1つの解から一部解を取出すようになっている。そして、受信装置の認証手段は、第2一部解生成手段が生成した一部解の1つが、送信装置から送信された一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている。
 つまり、受信装置における第2解生成手段は、送信装置から一部解を受取り、その一部解を送ってきた送信装置の認証が必要となった場合に、送信装置の第1解生成手段がその解を生成したのと同じ方法で解を生成する。そして、生成した解から一部解を生成し、その一部解が送信装置から送られてきた一部解と同じであれば、その送信装置は正当なものであると判定する(認証する)のである。
[0010]
 ここで、送信装置の認証のために第2解生成手段が生成する解の数は、1つの場合もあるし、複数の場合もある。
 第1解生成手段、第2解生成手段はともに、初期解を、その時点の時刻を変数として含む数式に代入することによって生成されるようなものになっていてもよい。これは、送信装置の第1解生成手段と受信装置の第2解生成手段とで採用されている解の生成方法が、ワンタイムパスワードの生成方法として知られているいわゆる時間同期を採用している場合に相当する。この場合には、第1解生成手段が生成する解と、第2解生成手段が生成する解とは同じものになるはずである。したがって、第2解生成手段が生成する解は、1つとし、その1つだけ生成された解から生成された1つの一部解と送信装置から受信装置へと送られてきた一部解とを比較して、上述の認証を行えばよい。
 他方、第1解生成手段、第2解生成手段で新しい解を生成するための手法は、例えば、過去の解を所定の数式に代入することで新しい解を得て、次にその解を同じ数式に代入することで新しい解を得る、というようなものとすることができる。これは、送信装置の第1解生成手段と受信装置の第2解生成手段とで採用されている解の生成方法が、ワンタイムパスワードの生成方法として知られているいわゆるイベント同期を採用している場合に相当する。イベント同期が採用される場合、第1解生成手段で生成される解と、第2解生成手段で生成される解は、同じ順番で生成されたもの同士を比較すると同じになるようになっている。例えば、第1解生成手段で過去に3回解を生成したのであれば、過去に生成した解の数「3」をカウントして記録しておき、第1解生成手段で初期解に基いてその「3」という数に+1した回数、つまり4回解を生成し、その4つ目の解から生成した一部解を受信装置に送るようにすることができる。第1解生成手段が上記のようにして4番目の解を生成する場合、受信装置の第2解生成手段にも過去に生成した解の数である「3」が記録されていてもよい。この場合、受信装置の第2解生成手段は、第1解生成手段と同じように、4番目の解を生成する。そして、受信装置の第2一部解生成手段は、第2解生成手段が生成したその解から一部解を生成する。この一部解と、送信装置から送られてきた一部解とを比較すれば、なりすましがないことが条件となるが、両者は一致するはずである。これをイベント同期の第1方法と呼ぶこととする。
 イベント同期を採用する際に、上述のように、過去に生成した解の数を記録しておかないという方法もある。例えば、解をXとして、X n+1=f(X )という関数により、次の解を生成するというアルゴリズムが、第1解生成手段と第2解生成手段とで採用されているとする。この場合、第1解生成手段と、第2解生成手段はともに、直前に作った解を保持しておき、その前に生成した解をすべて削除した状態に保たれるようにすることができる。このとき、第1解生成手段と、第2解生成手段は、4番目の解を生成するのであれば、保持していた3番目の解であるX をX n+1=f(X )の式にX =f(X )のように代入することにより、4番目の解を生成することができる。この場合においても、受信装置で生成された一部解と、送信装置で生成された一部解とは、一致するはずである。なお、過去の複数の解を用いて、例えば、X n+1=f(X )+f(X n-1)の如き数式を用いるのであれば、第1解生成手段と第2解生成手段が保持すべき解は、その直前に使われた2つの解となる。このように第1解生成手段と第2解生成手段に保持されるべき解は、必ずしも1つとは限らない。これをイベント同期の第2方法と呼ぶこととする。
 イベント同期を採用する際、更に異なる方法を採用しうる。例えば、上述の関数を用いて次の解を生成するというアルゴリズムが、第1解生成手段と第2解生成手段とで採用されているとする。この場合、第1解生成手段で生成された解から作られた一部解が、受信装置以外の他の装置での認証にも用いられるようになっているとする。そのような場合であって、例えば、過去に、第1解生成手段で3番目に生成された解から作られた一部解と、第2解生成手段で3番目に生成された解とを用いて、受信装置で認証が行われ、且つその後第1解生成手段で4番目と5番目に作られた解が、受信装置以外の他の装置で認証を行う際に使用されたとする。このような場合においては、イベント同期の第1方法を用いても、イベント同期の第2方法を用いても、認証を行うことができない。なぜなら、イベント同期の第1方法によれば、第1解生成手段と第2解生成手段に記録された過去に生成された解の数が異なるから、第1解生成手段と第2解生成手段とで生成される解が異なるものとなり、いきおい第1解生成手段と第2解生成手段とでそれぞれ生成された解からそれぞれ生成される一部解が異なるものとなってしまうからである。同様にイベント同期の第2方法によっても、第1解生成手段と第2解生成手段とで保持されている解が異なるものであるから、第1解生成手段と第2解生成手段とで生成される解が異なるものとなり、いきおい第1解生成手段と第2解生成手段とでそれぞれ生成された解からそれぞれ生成される一部解が異なるものとなる。このような場合には、第2解生成手段に複数の解を生成させればよい。例えば、第2解生成手段が、過去に3つの解を生成していたとすれば、イベント同期の第1の方法、第2の方法のいずれによるにせよ、第2解生成手段は4番目以降の解を生成することが可能である。例えば、第2解生成手段が10個の解を生成するようになっているとする。そして、第2一部解生成手段は、この10個の解からそれぞれ一部解を生成する。この場合、第2解生成手段が生成した6番目の解が、第1解生成手段が生成した解(6番目の解)と一致することになるから、受信装置で生成された6番目の一部解が、送信装置から送られてくる一部解と一致することになる。認証手段は、受信装置で作られた複数の一部解のうちの1つが送信装置から送られてきた一部解と一致するのであれば、その一部解を送ってきた送信装置が正当なものであると認証する。このように、複数の解を受信装置の第2解生成手段で生成することにすれば、第1解生成手段と第2解生成手段とで生成される解が異なるものとなっていたとしても(イベント同期で同期を取るためのポイントとなる解の生成された順番にずれが生じていたとしても)、認証を行うことが可能となる。もっともこの方法を採用するのであれば、受信装置で生成される解の個数の上限は例えば1000、10000といったオーダーにすべきと思われる。したがって、このような認証方法、仮にイベント同期の第3方法とこれを呼ぶのであれば、イベント同期の第3方法を採用するのであれば、そのような大量の解が作られたとしても解による認証にそれなりの精度が与えられる程度に、解の桁数を増やしておくことが必要となろう。また、上述の説明では、多数の解を第2解生成手段で生成し、次いで第2解生成手段で生成した多数の解から第2一部解生成手段で多数の一部解を生成し、次いでその多数の一部解と送信装置から送られてきた一部解とを比較して前者のうちの1つが後者と一致したなら認証を行うとした。しかし、これに代えて、第2解生成手段で1つ目の解(上述の説明であれば4番目の解)を生成したら第2解生成手段で2つ目の解を生成する前に、その解から第2一部解生成手段で一部解を生成して、その一部解と送信装置から送られてきた一部解とを比較し、両者が一致しなければ以上の処理を繰り返し、両者が一致したところで認証手段で認証を行い、最終的に第2解生成手段で生成した解のすべてから生成した一部解のすべてが送信装置から送られてきた解と一致しなかったのであれば認証を行わない、といった処理の順番の変更を行うことも可能である。このようなバッチ処理的な処理を採用するのであれば、認証手段で認証が行われたら第2解生成手段が解の生成を中止するようにすることもできる。
[0011]
 いずれにせよ、以上の如き本願発明の送受信システムによれば、送信装置から受信装置へと送られるのは、解そのものでなくその一部なのであるから、第三者にその生成の方法を知得される可能性が低く、認証の安全性が高い。
[0012]
 上述のように、本願の送受信システムは、送信装置と受信装置との組合せで構成される。認証を行うときには、送信装置と受信装置とは一対の関係になるが、送受信システムに含まれる送信装置と受信装置とは必ずしも1つずつである必要はない。むしろ、この送受信システムがインターネットバンキング等に応用されるのであれば、受信装置は1つであり、送信装置は複数というより多数とされる場合が多いであろう。
 前記送信装置は複数である場合、前記送信装置を用いるユーザには各ユーザを他のユーザから識別するための識別情報が割振られているとともに、前記送信装置から前記受信装置に前記一部解が送られる場合には、前記識別情報が前記受信装置に送られるようになっていてもよい。例えば、識別情報はユーザにより、送信装置が有する入力装置によって送信装置に入力され、入力された識別情報が送信装置から受信装置に送られるようにすることができる。その場合、前記第2解記録手段には前記送信装置のそれぞれに割振られた識別情報のそれぞれと紐付けて、当該識別情報が割振られた前記送信装置の前記第1解記録手段に記録されたものと同じ前記初期解が少なくとも初期状態では記録されていてもよい。それにより、前記受信手段が前記送信装置から送信された前記一部解を受取った場合において前記第2解生成手段が新たな解を生成する場合、前記第2解生成手段は、前記第2解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第2解記録手段に記録されていた初期解に基いて解を生成するようになっていてもよい。
 複数の送信装置がある場合、各送信装置で解が生成される。解は必要に応じて各送信装置で複数生成される場合がある。もちろん、複数の送信装置でそれぞれ生成される解の列は異なるものとされる。したがって、ある送信装置から一部解が送られてきた場合には受信装置は、その一部解がどのユーザから送られてきたのか、言い換えればこれからどのユーザのために解を生成しなければならないのか、ということを把握しなければならない。上述のように送信装置から受信装置に一部解に加えて識別情報が送られてくるようにすれば、受信装置はその一部解がどのユーザから送られてきたのか、或いはこれからどのユーザのために解を生成しなければならないのか、ということを把握することができる。受信装置の第2解生成手段は、第2解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第2解記録手段に記録されていた初期解に基いて解を生成する。
 なお、一部解と識別情報は、送信装置から受信装置に同時に送られる必要はなく、それらが互いに紐付けられていることが明らかなのであれば、それらが互いに前後して送られても構わない。
[0013]
 本願の送受信システムは、更に、送信装置と受信装置との間で、インターネットその他のネットワークを介して暗号化通信を行うものとなっていてもよい。
 その場合、前記送信装置は、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段を備えているとともに、前記第1暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっていてもよい。この場合、前記受信装置は、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段を備えているとともに、前記第2暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解(或いは、同期された解)を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっていてもよい。
 この場合、前記送信装置と、前記受信装置とは、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
 この送受信システムは、上述のように、送受信システムに含まれる送信装置と受信装置との双方で同じものを(同期した状態で)生成可能な解に基いて生成されるものであり、送信装置から受信装置へ送信される一部解を用いて、認証を行う。
 それだけでも、この送受信システムは優れたものであると言えるが、この送受信システムに暗号化通信を行わせることで、この送受信システムは更に優れたものとなる。この送受信システムでは、上述のように、送信装置と受信装置で同じ解を生成することができる。それにより、暗号化通信の分野で長年懸案とされてきた鍵の配送問題を解決することができることに本願発明者は気付いたのである。
 暗号化通信の分野では、送信者と受信者が同じ鍵を持つ(つまり、共通鍵方式の通信を行う。)というのが基本であり、同じ鍵をどうやって共有するのかという点が古くから問題となっている。これが、上述した鍵の配送問題である。暗号化通信には他にも秘密鍵方式が存在するが、その処理の重さから、秘密鍵方式は、例えばSSL通信がそうであるように事実上、送信者と受信者が同じ共通鍵を持ち合うためにしか使用できない。
 これに対し、本願の送受信システムでは、そもそも、送信装置と受信装置は、同期した状態で同じ解を発生させることができるのである。その解を例えば、送信装置と受信装置が暗号化と復号化を行うための鍵として用いることにより、鍵の配送問題を解決することができる。しかも、この場合に用いられる解は、認証が行われた後に、第1解生成手段、第2解生成手段でそれぞれ生成されたものである。つまり、この送受信システムでは、送信装置と受信装置の中でそれぞれ生成され、ネットワークを介して送受信されない解を暗号化と復号化に用いることが可能である。かかる暗号化通信が安全なのは明らかである。
 なお、本願の送受信システムにおける第1暗号化復号化手段と、第2暗号化復号化手段とが、暗号化と復号化とを行うに際してどのように解を用いるかは自由である。上述の如く鍵として解を用いることができるし、また、解に基いてアルゴリズムを変化させることも可能である。
 いわゆる時間同期により第1回生成手段と、第2解生成手段が、認証が行われた後に同じ解を生成できるようにするには、認証に使われた解(正確には、認証に使われた一部解の元となった解)が生成された時刻からどのくらい後或いは前の時刻を指定した場合に発生した解を「認証が行われた後の解として共通して用いる」という取極めが、送信側装置或いは第1解生成手段と、受信側装置或いは第2解生成手段との間に存在すればよい。例えば、認証が行われたときに使用された解が生成されたときの時刻から5分後に相当する時刻に生成される解を、暗号化と復号化の少なくとも一方に使用する解とする、という取極めを送信側装置或いは第1解生成手段と、受信側装置或いは第2解生成手段との間で予め行っていれば、認証後であれば5分が経過していなくても、第1解生成手段と第2解生成手段とが同じ解を生成することが可能である。
 これに対して、いわゆるイベント同期が採用されているのであれば、認証に用いられた解(正確には、認証に使われた一部解の元となった解)の次に第1解生成手段と、第2解生成手段とで発生する解は同じものとなるのであるから、時間同期のときの如き取極めは特に必要ない。
[0014]
 本願発明者は、以上の如き送受信システムの送信装置をも、本願発明の一態様として提案する。その効果は、上述の送受信システムの効果に等しい。
 その場合の送信装置の一例は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えており、受信装置との組合せにより送受信システムを構成する送信装置である。
 その場合の前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
[0015]
 本願発明者は、以上の如き送受信システムの受信装置をも、本願発明の一態様として提案する。その効果は、上述の送受信システムの効果に等しい。
 その場合の受信装置の一例は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置である。
 そして、この受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
[0016]
 本願発明は、送信装置で実行される方法と捉えることもできる。かかる方法の効果は、送信装置の効果と同じである。
 その方法は例えば、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法である。
 そしてこの方法は、前記コンピュータが実行する、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、生成された前記一部解をネットワークを介して送信する過程、を含んでいる。
 また、この方法で用いられる前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
[0017]
 本願発明は、受信装置で実行される方法と捉えることもできる。かかる方法の効果は、受信装置の効果と同じである。
 その方法は例えば、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法である。
 そしてこの方法は、前記コンピュータが実行する、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、を含んでいる。また、この方法を実行する前記コンピュータは、新たな解を生成する前記過程を、前記送信装置から送信された前記一部解を前記受信装置が受取った場合に、少なくとも1つの解を生成するものとして実行し、一部解を生成する前記過程を、生成されたその少なくとも1つの解から前記一部解を取出すものとして実行し、生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する。
[0018]
 本願発明者は、以上の如き送受信システムの送信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
 その場合のコンピュータプログラムの一例は、コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムである。
 そして、このコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、として機能させるためのものである。
 その場合の前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、を備えている。そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている。
[0019]
 本願発明者は、以上の如き送受信システムの受信装置として、コンピュータ、例えば汎用のコンピュータを機能させるためのコンピュータプログラムも、本願発明の一態様として提案する。
 その場合のコンピュータプログラムの一例は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムである。
 そしてこのコンピュータプログラムは、前記コンピュータを、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、認証手段、として機能させるためのものである。そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記認証手段は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている。
[0020]
 以上で説明した発明はすべて、受信装置から送信装置へ送信した解を用いて受信装置で送信装置の認証を行うものであった。他方、かかる認証を省略して、同じ条件下で生成されたものが常に同じものとなる新たな解を生成することができる第1解生成手段と第2解生成手段とをそれぞれ有する受信装置と、送信装置との間で、暗号化通信を実行するための技術として本願発明を捉えることも可能である。そのような発明は、本願発明における課題を解決しないものとなるが、他方、鍵の配送問題を解決したものであり、且つ送信装置と受信装置とが共通の鍵を持つ、或いは共通のアルゴリズムを使えるようにする等、一方の装置で暗号化と復号化の少なくとも一方を、他方の装置で暗号化と復号化の少なくとも一方を一方の装置に対応して行えるようにするために(本願でいえば、同じ条件を受信装置と送信装置で共有するために)解を用いる場合において、両者の間で、一部解だけをやり取りすればよく、解自体をやり取りしなくて済むようになる。
 このような暗号化通信は、極めて安全性が高い。
[0021]
 そのような暗号化通信に特化した送受信システムは、例えば、以下のようなものである。もっとも、以下の暗号化通信においても、上述の如き解を用いた認証に代えて、暗号化通信を行うに先立って、例えば公知の方法で受信装置が送信装置の認証を行えるようになっていてももちろん構わない。
 送受信システムは、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、を備えている送信装置と、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、を備えている受信装置と、を備えてなる送受信システムである。
 そして、前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
 また、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0022]
 暗号化通信に特化した上述の送受信システムにおける送信装置をも、本願発明者は本願発明の一態様として提案する。
 一例となる送信装置は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、を備えており、受信装置との組合せにより送受信システムを構成する送信装置である。
 そして、前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、を備えている。
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
 また、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0023]
 暗号化通信に特化した上述の送受信システムにおける受信装置をも、本願発明者は本願発明の一態様として提案する。
 一例となる受信装置は、文字、数字、記号の少なくとも1つを所定数羅列した 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置である。
 そして、受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、を備えている。
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている。
 また、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0024]
 暗号化通信に特化した上述の送受信システムの送信装置において実行される方法をも、本願発明者は本願発明の一態様として提案する。
 一例となるその方法は、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法である。
 その方法は、前記コンピュータが実行する、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、生成された前記一部解をネットワークを介して送信する過程、を含んでいる。
 また、前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、を備えている。
 上記方法は、前記コンピュータが更に実行する、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成する過程、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、を含んでいる。
 また、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0025]
 暗号化通信に特化した上述の送受信システムの受信装置において実行される方法をも、本願発明者は本願発明の一態様として提案する。
 一例となるその方法は、文字、数字、記号の少なくとも1つを所定数羅列した 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、を備えており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法である。
 その方法は、前記コンピュータが実行する、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを含むものを少なくとも1つ生成する過程、生成された少なくとも1つの前記解からその一部である一部解を、所定の規則に従って取出す過程、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する過程、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成する過程、新たに生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、を含んでいる。
 また、前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記送信装置と、前記受信装置とは、前記受信装置の前記コンピュータが生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記コンピュータで判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0026]
 暗号化通信に特化した上述の送受信システムの送信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明者は本願発明の一態様として提案する。
 一例となるそのコンピュータプログラムは、コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムである。
 そして、そのコンピュータプログラムは、前記コンピュータを、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、として機能させるためのものである。
 そして、前記受信装置は、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、を備えている。
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。
[0027]
 暗号化通信に特化した上述の送受信システムの受信装置として、例えば汎用のコンピュータを機能させるためのコンピュータプログラムをも、本願発明者は本願発明の一態様として提案する。
 一例となるそのコンピュータプログラムは、文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムである。
 そして、コンピュータプログラムは、前記コンピュータを、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、として機能させるためのものである。
 また、前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、の少なくとも一方を行うようになっている。

図面の簡単な説明

[0028]
[図1] 一実施形態による通信システムの全体構成を示す図。
[図2] 図1に示した通信システムに含まれるクライアントの外観を示す図。
[図3] 図1に示した通信システムに含まれるクライアントのハードウェア構成を示す図。
[図4] 図1に示した通信システムに含まれるクライアントの内部に生成される機能ブロックを示すブロック図。
[図5] 図1に示した通信システムに含まれるサーバの内部に生成される機能ブロックを示すブロック図。
[図6] 図1に示した通信システムで通信が行われるときに実行される処理の流れを示す図。

発明を実施するための形態

[0029]
 以下、本発明の好ましい一実施形態について説明する。
[0030]
 図1に、本願発明の送受信システムの好ましい一実施形態としての通信システムの全体構成を概略で示す。
 通信システムは、複数のクライアント100-1~100-N(以後、単に、「クライアント100」と記載する場合もある。)、及びサーバ200を含んで構成されている。これらはすべて、ネットワーク400に接続可能とされている。
 ネットワーク400は、これには限られないが、この実施形態ではインターネットである。
 この実施形態におけるクライアント100は、本願でいう送信装置に相当するものである。また、この実施形態におけるサーバ200は本願でいう受信装置に相当する。もっとも本願における受信装置と送信装置に相当するサーバ200とクライアント100とは、いわゆるサーバとクライアントの関係である必要はなく、2つの互いに対等な通信装置であっても構わない。
 これには限られないが、この実施形態における通信システムはインターネットバンキングシステム(の一部)であって、サーバ200は銀行が管理するものとされ、クライアント100-1~100-Nはインターネットバンキングを利用する各ユーザが所有するものとされる。
[0031]
 クライアント100は、コンピュータを含んでいる。より詳細には、この実施形態におけるクライアント100は、汎用のコンピュータにより構成されている。
[0032]
 次に、クライアント100の構成を説明する。各クライアント100-1~100-Nの構成は、本願発明との関連でいえば同じである。
 クライアント100は、携帯電話、スマートフォン、タブレット、ノート型パソコン、デスクトップ型パソコン等である。それらはすべて、ネットワーク400を介しての通信が可能なものであり、また後述するコンピュータプログラムをインストールすることによって後述する機能ブロックをその内部に生成し、そして後述する処理を実行できるものであることが求められ、それが可能であるのであればそれ以外の仕様は特に問わない。
 例えば、クライアント100がスマートフォンかタブレットなのであれば、スマートフォンとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPhoneで良いし、タブレットとしてのクライアント100は例えば、Apple Japan合同会社が製造、販売を行うiPadでよい。以下、これには限られないが、クライアント100がスマートフォンであることとして話を進める。
[0033]
 クライアント100の外観の一例を図2に示す。
 クライアント100は、ディスプレイ101を備えている。ディスプレイ101は、静止画又は動画を表示するためのものであり、公知、或いは周知のものを用いることができる。ディスプレイ101は例えば、液晶ディスプレイである。クライアント100は、また入力装置102を備えている。入力装置102は、ユーザが所望の入力をクライアント100に対して行うためのものである。入力装置102は、公知或いは周知のものを用いることができる。この実施形態におけるクライアント100の入力装置102はボタン式のものとなっているが、これには限られず、テンキー、キーボード、トラックボール、マウスなどを用いることも可能である。特に、クライアント100がノート型パソコン、デスクトップ型パソコンである場合には、入力装置102はキーボードや、マウス等になるであろう。また、ディスプレイ101がタッチパネルである場合、ディスプレイ101は入力装置102の機能を兼ねることになり、この実施形態ではそうされている。
[0034]
 クライアント100のハードウェア構成を、図3に示す。
 ハードウェアには、CPU(central processing unit)111、ROM(read only memory)112、RAM(random access memory)113、インターフェイス114が含まれており、これらはバス116によって相互に接続されている。
 CPU111は、演算を行う演算装置である。CPU111は、例えば、ROM112、或いはRAM113に記録されたコンピュータプログラムを実行することにより、後述する処理を実行する。図示をしていないが、ハードウェアはHDD(hard disk drive)その他の大容量記録装置を備えていてもよく、コンピュータプログラムは大容量記録装置に記録されていても構わない。
 ここでいうコンピュータプログラムには、本願発明のクライアントとしてこのクライアント100を機能させるためのコンピュータプログラムが少なくとも含まれる。このコンピュータプログラムは、クライアント100にプリインストールされていたものであっても良いし、事後的にインストールされたものであっても良い。このコンピュータプログラムのクライアント100へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。
 ROM112は、CPU111が後述する処理を実行するために必要なコンピュータプログラムやデータを記録している。ROM112に記録されたコンピュータプログラムとしては、これに限られず、クライアント100がスマートフォンであれば、クライアントをスマートフォンとして機能させるために必要な、例えば、通話や電子メールを実行するためのコンピュータプログラムやデータが記録されている。クライアント100は、また、ネットワーク400を介して受取ったデータに基づいて、ホームページを閲覧することも可能とされており、それを可能とするための公知のwebブラウザを実装している。
 RAM113は、CPU111が処理を行うために必要なワーク領域を提供する。場合によっては、上述のコンピュータプログラムやデータが記録されていてもよい。
 インターフェイス114は、バス116で接続されたCPU111やRAM113等と外部との間でデータのやり取りを行うものである。インターフェイス114には、上述のディスプレイ101と、入力装置102とが接続されている。入力装置102から入力された操作内容は、インターフェイス114からバス116に入力されるようになっている。また、周知のようにディスプレイ101に画像を表示するための画像データは、インターフェイス114から、ディスプレイ101に出力されるようになっている。インターフェイス114は、また、インターネットであるネットワーク400を介して外部と通信を行うための公知の手段である送受信機構(図示を省略)に接続されており、それにより、クライアント100は、ネットワーク400を介してデータを送信することと、ネットワーク400を介してデータを受信することとが可能になっている。かかるネットワーク400を介してのデータの送受信は、有線で行われる場合もあるが無線で行われる場合もある。例えば、クライアント100がスマートフォンである場合には、かかる通信は無線で行われるのが通常であろう。それが可能な限り、送受信機構の構成は、公知或いは周知のものとすることができる。送受信機構がネットワーク400から受取ったデータは、インターフェイス114により受取られるようになっており、インターフェイス114から送受信機構にわたされたデータは、送受信機構によって、ネットワーク400を介して外部、例えば、サーバ200に送られるようになっている。
[0035]
 CPU111がコンピュータプログラムを実行することにより、クライアント100内部には、図4で示されたような機能ブロックが生成される。なお、以下の機能ブロックは、クライアント100を本願発明のクライアントとして機能させるための上述のコンピュータプログラム単体の機能により生成されていても良いが、上述のコンピュータプログラムと、クライアント100にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。
 クライアント100内には、本願発明の機能との関係で、入力部121、主制御部122、第1解生成部123、第1解記録部124、第1一部解生成部125、第1暗号化復号化部126、出力部127が生成される。
[0036]
 入力部121は、インターフェイス114からの入力を受取るものである。
 インターフェイス114からの入力には、例えば、後述する識別情報(ユーザID)や、インターネットバンキングで決済等を行うための情報であるバンキング情報等がある。識別情報は、各ユーザを他のユーザから識別するための各ユーザにユニークな情報であって、一般にユーザID等と称されるものである。これらはいずれも入力装置102から入力され、インターフェイス114を介して入力部121に入力される。
 入力部121は、ユーザIDのデータを受取った場合にはそれを主制御部122に送るようになっており、バンキング情報を受取った場合にはそれを第1暗号化復号化部126に送るようになっている。
 入力部121は、また、サーバ200から送られてきて送受信機構で受取られた認証データを、インターフェイス114を介して受取る場合がある。認証データを受取った場合、入力部121は主制御部122に送るようになっている。
 入力部121は、また、サーバ200から送られてきて送受信機構で受取られた暗号化データを、インターフェイス114を介して受取る場合がある。入力部121は、受取った暗号化データを第1暗号化復号化部126に送るようになっている。
[0037]
 主制御部122は、クライアント100内に生成された各機能ブロック全体の制御を行うものである。
 主制御部122は、入力部121からユーザIDのデータを受取る場合がある。ユーザIDのデータを受取った場合、主制御部122はそれを出力部127に送るとともに、第1解生成部123に解を生成せよとの指示を送るようになっている。
 主制御部122は、認証データを受取る場合がある。認証データを受取った場合、主制御部122は、暗号化と復号化を行って良いとの許可についてのデータを第1暗号化復号化部126へと送るようになっている。
[0038]
 第1解生成部123は、解を生成せよとの指示を受取った場合に解を生成するものである。
 第1解生成部123は、解を生成せよとの指示を、主制御部122から受取る場合もあるが、後述するように第1暗号化復号化部126から受取る場合がある。
 解の生成の仕方については後述するが、この実施形態における解は、文字、数字、記号の少なくとも1つを所定数羅列したものであり、また、初期解に基いて、同じ条件下で生成されたものが常に同じものとなるようにされている。典型的には、解は擬似乱数であり、各解はこの実施形態では、その桁数乃至文字数が常に一定となるようにして生成されるようになっている。
 少なくとも最初の解を生成する場合、第1解生成部123は、第1解記録部124に記録されている初期解のデータ、その他のデータを用いる。第1解生成部123には、少なくとも初期状態即ち、最初の新たな解が第1暗号化復号化部126で生成される前の状態では、初期解のデータが記録されている。初期解のデータは、後に生成される解に影響を与えるものである。初期解のデータは、解のデータと同じ形式、即ち、文字、数字、記号の少なくとも1つを所定数羅列したものであって、その桁数乃至文字数が解と同数であるものである場合もあるし、そうでない場合もあるが、この実施形態ではこれには限られないが、初期解のデータは解のデータと同じ形式とされている。
 第1解生成部123は生成した解を、その解を生成せよとの指示を主制御部122から受取った場合には第1一部解生成部125へ、同様の指示を第1暗号化復号化部126から受取った場合には第1暗号化復号化部126へと送るようになっている。
[0039]
 第1一部解生成部125は、解から一部解を生成するものである。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。
 第1一部解生成部125が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はない。解から一部解を生成する方法は例えば、解が15桁(15文字)で生成されると仮定した場合に、解の最初の6桁を取出す、奇数桁目のみを取出す、2~9桁目を取出す、或いは英数字混じりの解から数字のみを取出す等とすることができる。
 第1一部解生成部125が解から一部解を生成した場合、第1一部解生成部125は、その一部解を出力部127に送るようになっている。
[0040]
 第1暗号化復号化部126は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。
 第1暗号化復号化部126が暗号化、及び復号化の処理を行うのは、主制御部122から、暗号化、復号化を行って良いとの許可があったときのみである。
 暗号化の方法の詳細は後述するが、暗号化を行う場合第1暗号化復号化部126は、第1解生成部123に対して解を生成せよとの指示を送る。第1解生成部123は当該指示に基いて解を生成し、それを第1暗号化復号化部126に送る。その解が第1暗号化復号化部126における暗号化に用いられる。これには限られないが、この実施形態で暗号化されるデータは、入力装置102で生成されたバンキング情報のデータである。入力装置102で生成されたバンキング情報は平文のデータであるが、それが第1暗号化復号化部126で暗号化された結果暗号化データになる。第1暗号化復号化部126で生成された暗号化データは、出力部127に送られるようになっている。
 復号化の方法の詳細は後述するが、復号化を行う場合第1暗号化復号化部126は、第1解生成部123に対して解を生成せよとの指示を送る。第1解生成部123は当該指示に基いて解を生成し、それを第1暗号化復号化部126に送る。その解が第1暗号化復号化部126における復号化に用いられる。これには限られないが、この実施形態で復号化されるデータは、サーバ200から送られてきたバンキング情報のデータ(後述)である。サーバ200から送られてきたバンキング情報は暗号化データの状態となっているが、それが第1暗号化復号化部126で復号化された結果、平文のバンキング情報のデータになる。第1暗号化復号化部126で生成された平文の復号化データは、出力部127に送られるようになっている。
[0041]
 出力部127は、クライアント100内の機能ブロックで生成されたデータをインターフェイス114に出力するものである。
 出力部127には、上述のように主制御部122から識別情報が送られてくる場合がある。他方、出力部127には、主制御部122からの解を生成せよとの指示に基いて第1解生成部123によって生成された解に基いて第1一部解生成部125によって更に生成された一部解が、第1一部解生成部125から送られてくる場合がある。出力部127は、かかる識別情報と、一部解とを、インターフェイス114に出力する。この識別情報と一部解とは、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。かかる識別情報と一部解のサーバ200への送信が行われる場合、識別情報と一部解は、それらが互いに紐付けられていることがサーバ200に把握できるような状態で送信されるのであれば、両者がまとめて、或いは同時に送られる必要は必ずしもないが、この実施形態では両者をまとめて、或いは同時に送信することで、サーバ200においてその識別情報と一部解とが互いに紐付けられたものであると把握できるようになっている。
 出力部127にはまた、第1暗号化復号化部126から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部127は、その暗号化データを、インターフェイス114に出力する。この暗号化データは、インターフェイス114から送受信機構に送られ、送受信機構から、ネットワーク400を介してサーバ200に送られるようになっている。
 出力部127にはまた、第1暗号化復号化部126から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はサーバ200で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部127は、そのバンキング情報のデータを、インターフェイス114に出力する。バンキング情報のデータは、ディスプレイ101に送られ、それを受取ったディスプレイ101がバンキング情報に応じた表示を行うようになっている。
[0042]
 次に、サーバ200の構成について説明する。
 サーバ200は、ハードウェアとして見た場合には、既存の公知又は周知のサーバで構わない。また、そのハードウェア構成も一般的なものでよく、大雑把に言えば、CPU111、ROM112、RAM113、インターフェイス114をバス116で接続するという、クライアント100のハードウェア構成を踏襲することができる。もっとも、サーバ200は通常、HDDその他の大容量記録装置を有するのが一般的であろう。
 サーバ200が備えるCPU、ROM、RAM、インターフェイス、バス、及び大容量記録装置の構成、機能は、クライアント100におけるそれらの構成、機能と変わらない。また、サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様の、サーバ200外の機器とネットワーク400を介しての通信を行うための送受信機構が接続されている。サーバ200が備えるインターフェイスには、クライアント100が備えていたのと同様のディスプレイ、入力装置が接続されていても構わないが、本願とはあまり関係がないのでその説明は省略する。
[0043]
 サーバ200の内部におけるROM、大容量記録装置等に記録されていたコンピュータプログラムを実行することによって、サーバ200の内部には以下に説明するような機能ブロックが生成される。なお、以下の機能ブロックは、サーバ200を本願発明の受信装置として機能させるためのコンピュータプログラム単体の機能により生成されていても良いが、かかるコンピュータプログラムと、サーバ200にインストールされたOSその他のコンピュータプログラムとの協働により生成されても良い。また、上記コンピュータプログラムは、サーバ200にプリインストールされたものでもよいが、出荷後のサーバ200にインストールされたものでもあってもよい。その場合、上記コンピュータプログラムのサーバ200へのインストールは、メモリカード等の所定の記録媒体を介して行なわれても良いし、LAN或いはインターネットなどのネットワークを介して行なわれても構わない。これらの事情は、クライアント100の場合と同様である。
 サーバ200内には、本願発明の機能との関係で、入力部221、主制御部222、第2解生成部223、第2解記録部224、第2一部解生成部225、第2暗号化復号化部226、出力部227、及び認証部228が生成される(図5)。
[0044]
 入力部221は、インターフェイスからの入力を受取るものである。
 インターフェイスからの入力には、例えば、インターネットバンキングでユーザが求めた決済を認めたか等についての情報であるバンキング情報等がある。バンキング情報は、例えばサーバ200外のインターネットバンキングを実行する他の装置から入力され、インターフェイスを介して入力部221に入力される。もっとも、インターネットバンキングを実行するのがサーバ200自体であるのであれば、かかるバンキング情報は、インターフェイスを介さずに、サーバ200内のインターネットバンキングを実行しバンキング情報を生成する図示せぬ機能ブロックから入力部221に入力されることがありうる。
 入力部221は、識別情報及び一部解のデータをインターフェイスから受取る場合がある。識別情報及び一部解のデータはクライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取ったものである。入力部221は、識別情報及び一部解を受取った場合には、それらを主制御部222に送るようになっている。
 同様に、入力部221は、クライアント100からネットワーク400を介して送られてきたものであり、サーバ200がその送受信機構で受取った暗号化データを、インターフェイスを介して受取る場合がある。インターフェイスからかかる暗号化データを受取った場合には、入力部221はそれを第2暗号化復号化部226に送るようになっている。
[0045]
 主制御部222は、サーバ200内に生成された各機能ブロック全体の制御を行うものである。
 主制御部222は、入力部221から一部解と識別情報のデータを受取る場合がある。それらデータを受取った場合、主制御部222は、一部解のデータを認証部228に送るようになっており、且つ識別情報に加えて解を生成せよとの指示を第2解生成部223に送るようになっている。
 また、主制御部222は、後述する認証データを受取る場合がある。かかる認証データを受取った場合には、主制御部222はかかる認証データを認証部228が生成するきっかけとなった一部解データを送信してきたクライアント100から送られてきた暗号化データを復号化してもよいとの許可を、第2暗号化復号化部226に与えるようになっている。
[0046]
 第2解生成部223は、解を生成せよとの指示を受取った場合に解を生成するものである。
 第2解生成部223は、解を生成せよとの指示を、主制御部222から受取る場合もあるが、後述するように第2暗号化復号化部226から受取る場合がある。
 解の生成の仕方については後述するが、第2解生成部223が実行する解の生成は、クライアント100の第1解生成部123が実行する解の生成と同じ方法とされる。
 第2解生成部223も、少なくとも最初の解を生成する場合、第1解生成部123が第1解記録部124に記録されていたのと同じ初期解のデータを用いるのと同じように第2解記録部224に記録されている初期解のデータを用いる。第2解記録部224に記録されている初期解のデータは、基本的に第1解生成部124に記録されているものと同じである。ただし、第2解生成部223は、各クライアント100を操作するユーザを認証するための各クライアント100を操作するユーザ用の異なる解を生成する必要がある。したがって、第2解生成部223には、少なくとも初期状態(どのユーザ用の解をも第2解生成部223が発生していない状態)では、各ユーザ用のユーザの数と同数の初期解のデータが記録されている。この実施形態において、初期解のデータは、各ユーザの識別情報と紐付けられた状態で第2解記録部224に記録されている。第2解記録部224に記録されている、各識別情報に紐付けられた初期解は、その初期解に紐付けられた識別情報で特定されるユーザが使用することが予定されたクライアント100の第1解記録部124に記録される初期解と同じとなるようになっている。
 第2解生成部223は、上述のように主制御部222から、解を生成せよとの指示と、識別情報とを受取る。かかる指示を受取ると、第2解生成部223は、その指示とともに受付けた識別情報と同じ識別情報と紐付けられた初期解のデータを、少なくとも最初の解を生成する場合には、第2解記録部224から読み出すようになっており、そして読み出したその初期解を用いて次の解を用いるようになっている。これにより、第2解生成部223は、各第1解生成部123が生成する解と同じ解を、生成することができるようになっている。
 他方、第2解生成部223は、クライアント100から送られて来た暗号化データを受取った場合においても、上述の場合と同様に、そのクライアント100を操作するユーザ用の解を用いて、そのクライアント100を操作するユーザ用の解を生成する。
 第2解生成部223は生成した解を、その解を生成せよとの指示を主制御部222から受取った場合には第2一部解生成部225へ、同様の指示を第2暗号化復号化部226から受取った場合には第2暗号化復号化部226へと送るようになっている。
[0047]
 第2一部解生成部225は、解から一部解を生成するものである。第2一部解生成部225が解から一部解を生成する方法は、クライアント100の第1一部解生成部125が解から一部解を生成する方法と同じである。
 第2一部解生成部225が解から一部解を生成した場合、第2一部解生成部225は、その一部解を認証部228に送るようになっている。
[0048]
 認証部228は、一部解をサーバ200に送ってきたクライアント100が適正なものか否かについての認証を行うものである。
 認証部228は上述のように、主制御部222から一部解、つまりクライアント100で生成された一部解のデータを受取る。他方、認証部228は第2一部解生成部225から一部解、つまりサーバ200で生成された一部解のデータを受取る。認証部228は、それら2つの一部解を比較し、両者が一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、両者が一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。
 認証が行われた場合には、認証部228は、そのクライアント100について認証が行われたということを示すデータである認証データを生成し、それを主制御部222と出力部227とに送るようになっている。
[0049]
 第2暗号化復号化部226は、暗号化と復号化の処理の少なくとも一方を行うものであり、これには限られないが、この実施形態では暗号化と復号化の処理の双方を行うものとされている。なお、第2暗号化復号化部226は、クライアント100の第1暗号化復号化部126が暗号化のみを行う場合には復号化のみを、第1暗号化復号化部126が復号化のみを行う場合には暗号化のみを行うものとすることができる。
 第2暗号化復号化部226が暗号化、及び復号化の処理を行うのは、主制御部222から、暗号化、復号化を行って良いとの許可があったときのみである。
 第2暗号化復号化部226で実行される暗号化の方法、及び復号化の方法は、クライアント100の第1暗号化復号化部126で実行される暗号化、及び復号化の方法に等しい。
 暗号化の方法の詳細は後述するが、暗号化を行う場合第2暗号化復号化部226は、第2解生成部223に対して解を生成せよとの指示を送る。第2解生成部223は当該指示に基いて解を生成し、それを第2暗号化復号化部226に送る。その解が第2暗号化復号化部226における暗号化に用いられる。これには限られないが、この実施形態で暗号化されるデータは、インターフェイスから入力されたバンキング情報のデータである。バンキング情報は平文のデータであるが、それが第2暗号化復号化部226で暗号化された結果暗号化データになる。第2暗号化復号化部226で生成された暗号化データは、出力部227に送られるようになっている。
 復号化の方法の詳細は後述するが、復号化を行う場合第2暗号化復号化部226は、第2解生成部223に対して解を生成せよとの指示を送る。第2解生成部223は当該指示に基いて解を生成し、それを第2暗号化復号化部226に送る。その解が第2暗号化復号化部226における復号化に用いられる。これには限られないが、この実施形態で復号化されるデータは、クライアント100から送られてきたバンキング情報に基づく暗号化データである。その暗号化データが第2暗号化復号化部226で復号化された結果、平文のバンキング情報のデータになる。第2暗号化復号化部226で生成された平文の復号化データは、出力部227に送られるようになっている。
[0050]
 出力部227は、サーバ200内の機能ブロックで生成されたデータをインターフェイスに出力するものである。
 出力部227には、上述のように認証部228から認証データが送られてくる場合がある。出力部227は、認証データを受取ると、それをインターフェイスに出力する。この認証データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られるようになっている。
 出力部227にはまた、第2暗号化復号化部226から、暗号化データが送られてくる場合がある。暗号化データを受取った場合には、出力部227は、その暗号化データを、インターフェイスに出力する。この暗号化データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られるようになっている。
 出力部227にはまた、第2暗号化復号化部226から、平文のバンキング情報のデータが送られてくる場合がある。このバンキング情報は、元々はクライアント100で生成されたものである。かかるバンキング情報のデータを受取った場合には、出力部227は、そのバンキング情報のデータを、インターフェイスに出力する。バンキング情報のデータは、インターフェイスから、インターネットバンキングについての処理を実行する他の装置に送られる。もっとも、インターネットバンキングについての処理を実行するのがサーバ200内の他の機能ブロックなのであれば、バンキング情報はインターフェイスを経ずにその図示せぬ機能ブロックに送られることになる。
[0051]
 次に、以上で説明した送受信システムの使用方法、及び動作について、図6を参照して説明する。
 インターネットバンキングを利用しようとするユーザは、まず、自らが所有するクライアント100の入力装置102を操作して、ブラウザを立ち上げる。ブラウザの機能は、クライアント100が通常有する公知又は周知のコンピュータプログラムによる。クライアント100のディスプレイ101には、ブラウザが表示される。
 ユーザはブラウザのアドレスバーに、インターネットバンキングを提供するサーバ200のURLを入力する。これにより、ブラウザには、インターネットバンキングのホームページが表示される。
 ここで、ユーザは、識別情報であるユーザIDの入力を行う(S1001)。ユーザIDの入力をユーザに促すように、この状態のインターネットバンキングのホームページには、ユーザIDの入力を促す公知、或いは周知の表示がなされていても構わない。ユーザは入力装置102を操作して識別情報を入力する。入力された識別情報のデータは、インターフェイス114を介して入力部121に送られ、入力部121から主制御部122に送られる。
[0052]
 識別情報を受取ると、主制御部122は、識別情報を出力部127に送るとともに、第1解生成部123に解を生成せよとの指示を送る。かかる指示を受取ると、第1解生成部123は解を生成する(S1002)。
 解の生成の方法はどのようなものでも構わないが、この実施形態では、これには限られないが、従来からのワンタイムパスワードの技術における時間同期の技術を応用したものとされている。以下、解の生成方法の一例について述べる。
[0053]
 この実施形態における第1解生成部123は、初めて解を生成するとき(なお、この実施形態では、初めて解を生成するときに限らず、解を生成する場合にはいつも初期解が用いられる。)、第1解記録部124に記録されている初期解のデータを読み出す。初期解のデータは、例えば、20桁の数字と小文字の英字混じりの文字列であるものとする。かかる初期解は、各クライアント100にユニークなものであり、各クライアント100に対して、サーバ200が、或いはサーバ200の管理者が割り当てたものである。初期解は1つのこともあるが、この実施形態では5つとされる。第1解生成部123は、その5つの初期解のすべてを読み出す。
 第1解生成部123は、それら初期解に対して演算を行うことにより、その時点における解を生成する。まず、演算が可能なように、初期解を数字のみに直す。初期解の中に、英字が含まれている場合には、それを2桁の数字に置き換える。置き換えの対象となる数字は、その英字のアルファベット中の順番である。例えば、「a」なら「01」に、「b」なら「02」に、「z」なら「26」にそれぞれ置き換える。例えば、初期解が「5a6458p6556ff4272149」というものだったとする。この場合、初期解を上述の約束にしたがって数字のみにすると、「501645816655606064272149」となる。数字のみにした場合の桁数は、初期解に含まれていた英字の数に応じて増えることになる。なお、(、)、!、&、:等の記号をも解に含めたいのであれば、「(」に「27」、「)」に「28」、「!」に「29」等の適当な数字の割当てを行うようにすればよい。
 次に、数字に対して演算を行う。この演算の結果求められるのは、解の元となる数字の列である。その数字の列をXとすると、Xは、その時点における西暦の年、月、日、時、分にしたがって以下のようにして求められる。以下の数式におけるX 、X 、X 3、X 4、X はそれぞれ、5つの初期解を数字に直したものである。この実施形態で初期解を5つとしているのは、西暦の年、月、日、時、分という5つの要素にしたがって解を変化させることにしているからである。
 X=X +X +X 3 +X 4 +X
 ここで、P=西暦の年の数字を5で割った余りに1を足したもの、Q=月の数字を5で割った余りに1を足したもの、R=日の数字を5で割った余りに1を足したもの、S=時の数字を5で割った余りに1を足したもの、T=分の数字を5で割った余りに1を足したものである。このようにすることで、そのときの時刻に応じて異なる数列を得ることができる。なお、P~Tのすべてにおいて、1を足す過程を加えているのは、P~Tのすべてがたまたま0になった場合に最終的に得られる解Xが5になるが、そのような簡単な数字が頻出することを避けるためである。
 なお、例えば、以下のような数式を用いれば、用いる初期解は1つで済む。
 X=X +X +X
 上述の演算を行った結果、解の元となる数字の列Xが得られる。次いで、その数字の列の中の任意の2桁の中に01~26という数字が含まれていたら、先ほどの英字から数字への置き換えの約束事とは逆の約束事にしたがい、それらをa~zの英字に置き換える。
 このようにして得られた数字と小文字の英字混じりの文字列は、20桁以上の桁数である。それが20桁以上であるときには、その文字列の例えば前から20文字を抜き出し、それを解とする。上述のようにして得られた数字と小文字の英字混じりの文字列がちょうど20桁の場合には、それをそのまま解とする。また、上述のようにして得られた数字と小文字の英字混じりの文字列が20桁よりも少ない場合には、何らかの決まり事に基いて桁数を増やす。例えば、その文字列の最初の数字又は英字に基いて何らかの数字又は文字を、桁数が20桁に至るまでに、その文字列中に挿入するようにしてもよい。或いは、上述の数式におけるPとTとを入れ替えて演算を行って得られる数字の列に対して数字を英字に置き換える上述の過程を実行することによって新たな数字と小文字の英字混じりの文字列を生成して、それを元の数字と小文字の英字混じりの後に繋げるというような作業を、その桁数が少なくとも20桁になるまで繰り返して、その前から20文字を抜き出して解とする、というような方法も採用しうる。
 いずれにせよ、これにより、その時点の日時に対応した解が生成される。
 第1解生成部123は生成した解を、第1一部解生成部125へ送る。
[0054]
 第1一部解生成部125は、第1解生成部123から解を受取ると、受取った解から一部解を生成する(S1003)。一部解は、解を構成する文字等から、適当な数の文字等を抜き出したものである。
 第1一部解生成部125が解から一部解を生成する方法はどのようなものであってもよいし、また、常に同じである必要はないが、この実施形態ではその方法は常に同じであるものとする。解から一部解を生成する方法は例えば、20文字で構成される解から、英字のみを取出すというものである。それ以外にも20文字で構成される解から、偶数文字目、或いは奇数文字目のみを取出す、前半の10文字、後半の10文字、或いは、3文字目からの10文字等を抜き出す等の方法が、解から一部解を生成する方法としてあり得る。
 いずれにせよ、第1一部解生成部125が解から一部解を生成した場合、第1一部解生成部125は、その一部解を出力部127に送る。
[0055]
 出力部127は、上述のように、主制御部122から識別情報を受取り、また、第1一部解生成部125から一部解を受取る。これらを受取った出力部127は、一部解と識別情報とを、ひとまとめにして同時にサーバ200に送るべく、それらのデータをインターフェイス114に送る。
 それらのデータはインターフェイス114から送受信機構に送られ、通常のインターネットの通信で用いられている技術にしたがって送受信機構でヘッダ等を付された上で、送受信機構からネットワーク400を介してサーバ200に送られる(S1004)。
[0056]
 サーバ200は、その送受信機構で、クライアント100から送られてきた一部解と識別情報とのデータを受取る(S2001)。より詳細には、サーバ200は、その送受信機構で、クライアント100から送られてきた一部解と識別情報とをまとめて同時に受取る。
 それらは、サーバ200のインターフェイスに送られ、インターフェイスから入力部221に送られる。入力部221は、一部解と識別情報のデータをインターフェイスから受取ると、それらを主制御部222に送る。
 主制御部222は、入力部221から一部解と識別情報のデータを受取ると、一部解のデータを認証部228に送り、識別情報と解を生成せよとの指示とを第2解生成部223に送る。
[0057]
 第2解生成部223は、識別情報とともに、解を生成せよとの指示を受取ると解を生成する(S2002)。
 第2解生成部223は、受取ったその識別情報と対応付けられている初期解を第2解記録部224から読み出す。識別情報と対応付けられている初期解は、その識別情報を送ってきたクライアント100の第1解記録部124に記録されていた初期解と同じである。
 第2解生成部223が解を生成する方法は、クライアント100の第1解生成部123で解を生成する方法と同じである。したがって、第2解生成部223が生成する解は、基本的に第1解生成部223が生成する解と同じになる。
 しかしながら、第1解生成部123で解を生成した時刻が、分が変わるまさにそのときであった場合などにおいては、第2解生成部223で生成される解が第1解生成部223で生成される解と異なる場合もあり得る。その場合には、クライアント100が適正なものであったとしても、一部解による認証を行うことがそもそも不可能となるので、これには限られないがこの実施形態における第1解生成部123は、その時点の時刻よりも1分前の時刻に対応した解をも生成するようになっている。これであれば、第1解生成部123で解が生成されてから1分以内に第2解生成部223で解が生成されれば、第2解生成部223で生成された2つの解のうちの片方は、第1解生成部123で生成された解と一致することになる。
 第2解生成部223は、生成した解を、第2一部解生成部225へ送る。
[0058]
 第2一部解生成部225は、2つの解を受取ると、それら2つの解から一部解を生成する(S2003)。第2一部解生成部225が解から一部解を生成する方法は、クライアント100の第1一部解生成部125が解から一部解を生成する方法と同じである。
 第2一部解生成部225が解から一部解を生成した場合、第2一部解生成部225は、その一部解を認証部228に送る。
[0059]
 認証部228は、主制御部222から、クライアント100で生成された一部解を、第2一部解生成部225から、サーバ200で生成された2つの一部解を、それぞれ受取る。
 認証部228は、それら一部解を用いて認証を行う(S2004)。
 認証部228は、クライアント100で生成された一部解を、サーバ200で生成された2つの一部解と比較し、前者が後者のうちの片方と一致した場合には、一部解を送ってきたクライアント100が適正なものであると認証し、前者が後者のいずれとも一致しなかった場合には、一部解を送ってきたクライアント100が適正なものであるとの認証を行わない。
 認証が行われた場合には、認証部228は、そのクライアント100について認証が行われたということを示すデータである認証データを生成し、それを主制御部222と出力部227とに送る。認証が行われなかった場合には、クライアント100とサーバ200との間の通信はそこで終了となる。ユーザは、クライアント100を操作して、再度ユーザIDである識別情報の入力を行う処理に戻る。
 なお、上述のように、第2解生成部223は解を1つだけ作るようになっていても構わない。その場合には、第2一部解生成部225も一つだけ一部解を生成する。この場合には、認証部228は、クライアント100で生成された一部解と、サーバ200で生成された1つの一部解とを比較し、前者と後者が一致した場合に認証を行う。
[0060]
 認証データは、上述のように、出力部227に送られる。出力部227は、認証データを受取ると、それをインターフェイスに出力する。この認証データは、インターフェイスから送受信機構に送られ、送受信機構から、ネットワーク400を介してクライアント100に送られる(S2005)。
 クライアント100は、サーバ200から送られてきた認証データを受取る。より詳細には、クライアント100は、その送受信機構で認証データを受取る(S1005)。
 認証データは、送受信機構からインターフェイス114を経て、入力部121に送られる。入力部121は、認証データを主制御部122へと送る。認証データを受取った主制御部122は、第1暗号化復号化部126に暗号化と、復号化を行って良い、との指示を行う。これにより、クライアント100では、暗号化通信の準備が整った。
[0061]
 他方、認証データは、上述のようにサーバ200の主制御部222にも送られる。主制御部222は、認証データを受取ると、先ほど認証が行われたクライアント100との間で通信を行うために暗号化、及び復号化の処理を行って良いとの許可のデータを第2暗号化復号化部226に送る。これにより、サーバ200でも、暗号化通信の準備が整った。
[0062]
 この状態で、クライアント100とサーバ200との間で暗号化通信が行われる(S1006、2006)。
[0063]
 まず、クライアント100からサーバ200へ暗号化データが送信される場合について説明する。
 なお、クライアント100からサーバ200への暗号化データの送信と、後述するサーバ200からクライアント100への暗号化データの送信とは、その先後を問わない、というよりともに必要に応じて行われるものである。また、後述する第1解生成部123での新たな解の生成と、第2解生成部223での新たな解の生成も、その先後を問わない。クライアント100とサーバ200の双方で行われる新たな解の生成は、独立して実行される。
 ユーザは、クライアント100の入力装置102を操作して、バンキング情報を入力する。バンキング情報は、例えば、残額を照会したいという意思表示、残額を照会したい銀行口座を特定する情報、他の口座に送金を行いたいという意思表示、送金したい金額を特定する情報、送金先の口座を特定する情報等である。これらについてのバンキング情報は、入力装置102の操作によって生成されるが、バンキング情報についてのデータは平文のデータである。
 バンキング情報のデータは、インターフェイス114から入力部121に送られ、更には第1暗号化復号化部126に送られる。バンキング情報のデータは暗号化されるが、そのために解が用いられる。第1暗号化復号化部126は、第1解生成部123に解を生成させるべく、解を生成せよとの指示を第1解生成部123に送る。かかる指示を受取ると、第1解生成部123は新たに解を生成する。
 第1解生成部123がどのようにして解を生成するかは、生成される解がサーバ200の第2解生成部223で生成される解と同期されている限り自由であるが、例えば、この実施形態では、その時点の時刻とは無関係に、認証に用いた先ほど生成した解が生成された時刻の1年後で、1月後で、1日後で、1時間後で、1分後の時刻に対応した解を生成するようになっているものとする。
 先ほど用いた初期解を用い、また、上述した方法を用いて、新たな解を第1解生成部123は生成する。
 新たな解は、第1解生成部123から第1暗号化復号化部126へと送られる。
 第1暗号化復号化部126は、第1解生成部123から新たな解を受取り、それを用いて、バンキング情報のデータを暗号化する。
 この場合の解の用い方は自由である。例えば、クライアント100とサーバ200が共通鍵方式の暗号化通信を行う場合であれば、第1暗号化復号化部126は、その新たな解を共通鍵として用いることができる。つまり、解は、暗号化の鍵として利用可能である。他方、解は、暗号化のアルゴリズムを変化させるために用いることも可能である。解に基いて、複数種類のアルゴリズムの中から1つのアルゴリズムを選択する、といった解の用い方も可能である。
 いずれにせよ、平文のバンキング情報は第1暗号化復号化部126で暗号化され、暗号化データにされる。
 生成された暗号化データは、第1暗号化復号化部126から出力部127へと送られる。
[0064]
 出力部127は、暗号化データをインターフェイス114を介して送受信機構へと送る。暗号化データは、ネットワーク400を介してサーバ200へと送られる。
 サーバ200は、その送受信機構でクライアント100から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部221へと送られる。入力部221は、第2暗号化復号化部226へ暗号化データを送る。
 暗号化データを受取った第2暗号化復号化部226は暗号化データを復号化する。そのために、第2暗号化復号化部226は、第2解生成部223が生成した解を用いる。第2暗号化復号化部226は、第2解生成部223に解を生成させるべく、解を生成せよとの指示を第2解生成部223に送る。かかる指示を受取ると、第2解生成部223は新たに解を生成する。
 第2解生成部223が解を生成する方法は、クライアント100の第1解生成部123が採用している方法と同じである。それにより、第2解生成部223は、第1解生成部123が生成するのと同じ新たな解を生成する。
 新たな解は、第2解生成部223から第2暗号化復号化部226へと送られる。
 第2暗号化復号化部226は、第2解生成部223から新たな解を受取り、それを用いて、暗号化データを復号化する。
 この場合の解の用い方は、クライアント100の第1暗号化復号化部126での解の用いられ方に倣う。例えば、クライアント100とサーバ200が共通鍵方式の暗号化通信の共通鍵として解を用いたのであれば、第2暗号化復号化部226も、その新たな解を共通鍵として用いる。
 いずれにせよ、第2暗号化復号化部226で、暗号化データは復号化され、元の平文のバンキング情報のデータに戻される。
 バンキング情報のデータは、第2暗号化復号化部226から、出力部227に送られ、出力部227からインターフェイスを介して、インターネットバンキングの処理を行う他の装置へと送られ適当に使用される。
[0065]
 次に、サーバ200からクライアント100へ暗号化データが送信される場合について説明する。
 サーバ200には、バンキング情報のデータが入力される。バンキング情報のデータは、インターネットバンキングの処理を実行するサーバ200外の装置で作られサーバ200に入力される。バンキング情報は、例えば、ある口座の残額を示す情報、どの口座に幾ら送金を行ったという情報、過去の口座の取引履歴等についての情報である。これらについてのバンキング情報は、生成された段階では平文のデータである。
 バンキング情報のデータは、インターフェイスから入力部221に送られ、更には第2暗号化復号化部226に送られる。バンキング情報のデータは暗号化されるが、そのために解が用いられる。ここで用いられる解は、先ほどと同じ解で構わない。他方、上述のようにして、先ほどとは異なる条件で更に新しい解を生成することにより、サーバ200からクライアント100へ暗号化データが送信される場合と、クライアント100からサーバ200へ暗号化データが送信される場合とで、双方が共通鍵方式の通信を行う場合であっても、異なる共通鍵を用いて暗号化通信を行えるようになる。なお、この実施形態では、いずれの方向に暗号化データを送信する場合であっても、使用する解は同じであるものとする。
 第2暗号化復号化部226は、第1解生成部123がバンキング情報を暗号化したのと同じ方法で、バンキング情報を暗号化して暗号化データとする。生成された暗号化データは、第2暗号化復号化部226から出力部227へと送られる。
[0066]
 出力部227は、暗号化データをインターフェイスを介して送受信機構へと送る。暗号化データは、ネットワーク400を介してクライアント100へと送られる。
 クライアント100は、その送受信機構でサーバ200から送られてきた暗号化データを受取る。暗号化データは、送受信機構から、インターフェイスを介して入力部121へと送られる。入力部121は、第1暗号化復号化部126へ暗号化データを送る。
 暗号化データを受取った第1暗号化復号化部126は暗号化データを復号化する。そのために、第1暗号化復号化部126は、第1解生成部123が生成した解を用いる。この場合の解は、第1解生成部123で先ほど生成した新たな解と同一でも良いし、サーバ200の第2解生成部223が更に新たな解を生成するようになっており第2暗号化復号化部226がその更に新たな解を使用して暗号化を行うようになっているのであれば、第1解生成部123が更に生成させた、更に新たな解とすることもできる。この実施形態では、第1暗号化復号化部126が復号化に用いる解は、第1解生成部123が生成した、上述の新たな解である。
 第1暗号化復号化部126は、例えば、共通鍵方式で暗号化データを復号化する際の鍵として解を用いて、暗号化データを復号化し、暗号化データを元の平文のバンキング情報のデータに戻す。
 バンキング情報のデータは、第1暗号化復号化部126から、出力部127に送られ、出力部127からインターフェイス114を介して、ディスプレイ101に送られる。ディスプレイ101には、サーバ200から送られてきたバンキング情報に基いて、ユーザの口座の残額、ある口座に幾ら送金されたか、或いはユーザの口座の過去の取引履歴等が表示される。
[0067]
 暗号化通信を行う必要がなくなったら、暗号化通信が終了する。
 なお、この実施形態における通信システムでは、暗号化通信を行うS1006、2006の過程で用いられる解は1つだけ、或いは固定であった。これに代えて、後述する変形例1で共通鍵方式の暗号化通信を行うための共通鍵を、次々と変更していくように、暗号化或いは復号化に用いるための解をクライアント100の第1解生成部123と、サーバ200の第2解生成部223とで、連続的に生成するようにすることも可能である。その場合には、例えば、認証に用いた解の次の新たな解を生成するために、認証に用いられた解が生成された時刻の1年後で、1月後で、1日後で、1時間後で、1分後の時刻に対応した解を生成するという取極めを第1解生成部123と、第2解生成部223との間でしていたのと同様に、その後に生成する解は、順にその1分後、2分後、3分後…の時刻に生成される解である、等の取極めを第1解生成部123と第2解生成部223との間で行っておけばよい。もちろん、両者の間で、もっと複雑な取極めを交わしておくことも可能である。
[0068]
 以下、上述した通信システムの変形例について説明する。
 以下の変形例は基本的に、クライアント100における第1解生成部123とサーバ200における第2解生成部223とで実行される解の生成方法が、上述の実施形態におけるそれらと異なることを除けば、上述の実施形態の場合と変わりはない。
 なお、各変形例における第1解記録部124、及び第2解記録部224には、少なくともその初期状態では初期解が記録されていることは上述の実施形態と変わらないが、後述するように、初期状態でない状態では上述の実施形態の場合と異なり、初期解以外のデータが記録される場合もある。
 また、変形例3では、認証部228が実行する認証の方法が、上述の実施形態の場合と若干異なる。
 以下、各変形例について順に説明する。
[0069]
<変形例1>
 上述の実施形態においては、クライアント100が備える第1解生成部123、及びサーバ200が備える第2解生成部223は、ワンタイムパスワードの発生のさせ方でいえば、時間同期の如き解の同期のさせ方を採用していた。これに対して、変形例1では、ワンタイムパスワードの発生のさせ方でいえば、イベント同期の如き、過去に発生させた解の数に基づき解を同期させる方法を採用している。なお、変形例2以下の各変形例においても、ワンタイムパスワードの発生のさせ方でいえば、イベント同期の如き方法を採用している。
[0070]
 変形例1では、第1解生成部123、及び第2解生成部223で新しい解を生成するための手法は、例えば、ある初期解に対して決められた演算を行うことで解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て、次いでその解に対して再び決められた演算を行うことで次の解を得て…、という処理を繰り返すことで、連続して解を生成するものとすることができる。このような技術は、擬似乱数を生成するための技術として周知である。
 第1解生成部123、及び第2解生成部223が、解を生成するより具体的な方法について説明する。
 解を生成するには、ある初期解(以下の、(a)、(c)のように2つ以上の場合もある)を用い、過去の解を所定の関数に代入することにより、新しい解を順次作るという方法を、解が必要となる度に実行すれば良い。そうすることにより、上記解を連続して生成することができる。この場合の解は、初期解依存性のある擬似乱数となる。
 上述の解を作るのに使われる関数の例として、以下の(a)~(c)を挙げる。以下の(a)~(c)はいずれも、N番目の解であるX を作るための式である。また、P、Q、R、Sは適当な自然数である。
(a)(X )=(X N-1+(X N-2
(b)(X )=(X N-1
(c)(X )=(X N-1(X N-2(X N-3R(X N-4S
 (a)は、過去の解2つを用い、それらをそれぞれP乗とQ乗したものを足し合わせることにより、新しい解を生成する。なお、正確には、過去の解2つを用い、それらをP乗とQ乗したものを足し合わせると通常、桁数が増えるため、実際には得られた値のうちの頭から適当な桁数を抜き出す、末尾から適当な桁数を抜き出す、或いはその値のうちの適当な部分から適当な桁数を抜き出すこと等により、新しい解を生成する。これには限られないが、この実施形態では、解は20桁であるものとする。
 (b)は、過去の解1つを用い、それをP乗したものの桁数を上述のように整理したものを新しい解とするものである。
 (c)は、過去の解4つを用い、それらをそれぞれP乗、Q乗、R乗、S乗したものの積を取り、その後上述したように桁数を整理したものを新しい解とするものである。
 上述の(a)~(c)は解を生成するためのアルゴリズムの一例であり、解を生成する際にアルゴリズムに変化を加える、例えば、上述の(a)~(c)を順番に用いる等の変化を加えることも可能である。
 なお、上述の(a)~(c)の数式を用いる手法は、解が数字のみで構成されている場合に使用可能である。解に、文字、記号を含めたいのであれば、上述の実施形態で説明した、文字、記号に数字を割り振る手法を採用すればよい。
 いずれにせよ、サーバ200にある第2解生成部223は、クライアント100にある第1解生成部123と、上述の如き擬似乱数の発生方法を用いて、発生させる解を互いに同期させられるようにされている。
 これには限られないが、変形例1の第1解生成部123と第2解生成部223とは、上記(a)のアルゴリズムを用いて解を生成することとしている。その場合、新しい解を生成するには、少なくとも初期解が必要となる。
 変形例1における第1解記録部124には、上述の実施形態の場合と同様に、初期解が記録されているが、それに加えて、過去に生成した解の数が記録されている。変形例2における第2解記録部224には、上述の実施形態の場合と同様に、各ユーザの識別情報と対応付けてその識別情報が割当てられたユーザが用いるクライアント100の第1解記録部124に記録されたのと同じ初期解が記録されているが、それに加えて、各識別情報と対応付けて、その識別情報に対応付けられた初期解を用いて過去に生成した解の数が記録されている。
[0071]
 変形例1の第1解生成部123が解を生成する場合を考える。例えば、第1解生成部123は過去に3つの解を生成したとする。そうすると、上述の実施形態におけるS1002の過程で解を生成する場合、第1解生成部123は、第1解記録部124から、初期解と、過去に生成した解の数である3という数字を読み出す。したがって、第1解生成部123は、上述の数式(a)を用いて、初期解((X )、(X -1))から1番目の解(X )を生成し、1番目の解を用いて(より正確には、(X )、(X )を用いて)2番目の解を生成し、それを繰り返して、4番目の解(X )を生成する。そして、第1解生成部123は、第1解記録部124に記録されていた過去に生成した解の数を1増やし「4」とする。これにより、次に第1解生成部123で生成される解は、5番目の解である(X )になる。
 変形例1の第2解生成部223が解を生成する場合であって、第2解生成部223が過去に3つの解を生成したとする。そうすると、上述の実施形態におけるS2002の過程で解を生成する場合、第2解生成部223は、第2解記録部224から、識別情報に紐付けられた初期解と、これも同じ識別情報に紐付けられた過去に生成した解の数である3という数字を読み出す。この後の解の生成の方法は、第1解生成部123における上述の場合と同様であり、結果的に4番目の解(X )を生成する。そして、第2解生成部223は、第2解記録部224に記録されていた過去に生成した解の数を1増やし「4」とする。これにより、次に第2解生成部223で生成される解は、5番目の解である(X )になる。
 以上のようにして、第1解生成部123と第2解生成部223とで、同じ初期解と同じアルゴリズム(数式)を用いることにより、そして更に両者で生成される解の生成された順番を揃えることにより、両者で生成される解を同期させることができるようになる。
 同期された解からクライアント100、及びサーバ200で生成される一部解は、解から一部解を生成する方法がクライアント100の第1一部解生成部125とサーバ200の第2一部解生成部225で共通である限り、当然に同じものとなる。したがって、変形例1においても、特に不正がない限り、上述の実施形態におけるS2004の過程で説明した認証は可能である。
[0072]
 同様に、上述の実施形態における暗号化通信を行う過程(S1006、S2006)においても、クライアント100の第1解生成部123と、サーバ200の第2解生成部223とで、同期した状態で新たな解が生成される。
 この場合、例えば、共通鍵方式の暗号化通信を行う共通鍵として、クライアント100においては、S1002の過程で生成された解の次に生成される解を、サーバ200においては、S2002の過程で生成された解の次に生成される解を、それぞれ共通鍵として用いることが可能である。この場合、共通鍵は、S1006、S2006の過程が実行されている間中、不変であってもよい。
 他方、共通鍵方式の暗号化通信を行うための共通鍵を、次々と変更していくことも可能である。例えば、平文のあるデータを暗号化する場合には通常、データの全体に対して何らかの演算を行うのではなく、通常は、平文のあるデータを所定のビット数毎に切断して小さいデータにしてから、その小さいデータのそれぞれに対して暗号化のための演算を行っていくという手法が用いられる。例えば、その小さいデータを10個暗号化する毎に新しい解を生成して共通鍵を変えるとか、場合によってはその小さいデータを1個暗号化する毎に新しい解を生成して共通鍵を変えるとか、そのような手法を採用しても良い。擬似乱数を連続して生成する変形例1では、そのような手法を採用しやすい。もちろんこのような暗号化を行う場合には、復号化を行う側でも暗号化を行う側と同じ方法で解を発生させ、同じ方法で共通鍵を変更していく。そのようなことを、クライアント100とサーバ200の双方で実行することができる。
 なお、変形例1でも、解は、暗号化と復号化を行う場合における共通鍵として用いる以外の方法で用いられても構わない。例えば、発生された解の内容によって、数式(a)のP、Qの値を変えること等が可能である。
 変形例1ではこのように、上述の実施形態における暗号化通信を行う過程(S1006、S2006)における暗号化と復号化に1つだけ解を使用することも可能であるし、複数の解を使用することも可能である。この技術は、既に説明した実施形態でも以下に説明する変形例でも応用可能である。
[0073]
<変形例2>
 変形例2は、殆ど変形例1と変わらない。
 異なるのは、第1解記録部124と、第2解記録部224に記録されるデータの内容である。
 変形例2でも、変形例1と同様に、発生させる解の順番を揃えることで解を同期させる方法、つまり、ワンタイムパスワードの発生のさせ方でいえばイベント同期の如き方法を採用している。
 変形例2で解を発生させるための数式は、変形例1と同様とすることが可能である。また、変形例2で用いられる解は、変形例1と同様に、数字のみでも良いし、数字に加えて、文字又は記号、或いはその双方が含まれるものであってもよい。
 変形例1では、第1解記録部124、及び第2解記録部224に、過去に生成した解の数を記録しておき、新しい解を生成する場合には、初期解から、求める順番の解が生成されるまで演算を繰り返すことにより解を生成させることとしていた。変形例2ではこれに代えて、第1解記録部124、及び第2解記録部224には、直前に生成された解が記録される。
[0074]
 具体的に説明する。これには限られないが、変形例2でも、数式(a)を用いるものとする。
 変形例2における第1解記録部124には、初期状態では、上述の実施形態の場合と同様に、初期解((X )、(X -1))が記録されている。変形例2における第2解記録部224には、上述の実施形態の場合と同様に、初期状態では、各ユーザの識別情報と対応付けてその識別情報が割当てられたユーザが用いるクライアント100の第1解記録部124に記録されたのと同じ初期解((X )、(X -1))が記録されている。
 変形例2の第1解生成部123が解を生成する場合について説明する。S1002の過程で、第1解生成部123が1つ目の解を生成する場合、数式(a)に、初期解((X )、(X -1))を代入する。そうすることにより、1つ目の解である(X )を求めることができる。1つ目の解を求めたら、第1解生成部123は、第1解記録部124に記録された初期解のうちの古い方である(X -1)を(X )で上書きし、第1解記録部124に記録された初期解のうちの新しい方である(X )を新たに生成した解である(X )で上書きする。
 以降の処理においては、上述の実施形態におけるS1002又はS1006の過程を実行する場合に第1解生成部123が新しい解を生成することが必要となるが、いずれの場合においても、新しい解を生成するために、第1解生成部123は、その直前に生成され、第1解記録部124に記録されている解を用いる。例えば、2番目の解である(X )を生成する場合であれば、第1解記録部124には、(X )と(X )とが記録されているのであるから、それらを第1解記録部124から読みだし、それらを数式(a)に代入することにより、2番目の解(X )を得る。そして、第1解記録部124における(X )と(X )とをそれぞれ、(X )と(X )とでそれぞれ上書きする。同様に、3番目の解(X )を得て、第1解記録部124における(X )と(X )とをそれぞれ、(X )と(X )とでそれぞれ上書きする。一般化すると、第1解生成部123は、N番目の解(X )を(X N-1)と(X N-2)とを用いて求め、第1解記録部124に記録されていた解である(X N-1)と(X N-2)とを、(X )と(X N-1)とでそれぞれ上書きする。新しいそれら2つの解である(X )と(X N-1)とを用いれば、次にN+1番目の解である(X N+1)を生成することができる。
 第2解生成部223での解の生成方法も上述のとおりである。ただし、解の上書きがされるのは、新たな解を作る際のきっかけとなった識別情報と紐付けられていた解、言い換えれば、新たな解が作られたときに使われた過去の解のみである。
 これによっても、第1解生成部123と第2解生成部223とで、同じ初期解と同じアルゴリズム(数式)を用いることにより、そして更に両者で生成される解の生成された順番を揃えることが可能となり、結果として両者で生成される解を同期させることができるようになる。
 同期された解からクライアント100、及びサーバ200で生成される一部解は、解から一部解を生成する方法がクライアント100の第1一部解生成部125とサーバ200の第2一部解生成部225で共通である限り、当然に同じものとなる。したがって、変形例2においても、特に不正がない限り、上述の実施形態におけるS2004の過程で説明した認証は可能である。
[0075]
<変形例3>
 変形例3は、殆ど変形例2と同じである。
 変形例3でも、変形例2と同様に、発生させる解の順番を揃えることで解を同期させる方法、つまり、ワンタイムパスワードの発生のさせ方でいえばイベント同期の如き方法を採用している。
 変形例3で解を発生させるための数式は、変形例2と同様とすることが可能である。また、変形例3で用いられる解は、変形例2と同様に、数字のみでも良いし、数字に加えて、文字又は記号、或いはその双方が含まれるものであってもよい。
 変形例3においても、変形例2の場合と同様、クライアント100の第1解記録部124、及びサーバ200の第2解記録部224には、その直前に生成された解が記録される。また、クライアント100の第1解生成部123、サーバ200の第2解生成部223とも、変形例2の場合と同様、第1解記録部124、又は第2解記録部224に記録された直前の解を用いて、次の解を生成するものとなっている。
[0076]
 認証を行うに際しての第1解生成部123、及び第2解生成部223での解の生成の仕方を説明する。変形例3の場合に特徴的なのは、変形例1、変形例2では常に同期がとれていた第1解生成部123で生成される解と、第2解生成部223で生成される解とが、場合により同期が取れていない状態となることである。例えば、変形例3のクライアント100が、サーバ200以外の他の通信装置との通信を行う際等にも、認証を行うようになっているとする。そうすると、クライアント100では、サーバ200では未だに生成されていない解が、サーバ200に先んじて生成された状態となる。このようなことが予定されている場合にも認証を可能とするのが、変形例3の通信システムによって実行される以下の方法である。
 認証が行われるとき、クライアント100では、上述の実施形態におけるS1002の過程で第1解生成部123が解を生成する。この場合における解の生成の方法は、変形例2の場合と同じである。
 クライアント100の第1一部解生成部125では、実施形態の場合と同様に、この解に基いて一部解が生成される(S1003)。この解は、識別情報とともにサーバ200に送信される(S1004)。
 他方、サーバ200は、識別情報と解を受信する(S2001)と、上述の実施形態の場合と同様に解を生成する(S2002)。このときサーバ200は、解を複数、もっと言うと多数生成するようになっている。変形例3では、クライアント100で生成される解がサーバ200で生成される解よりも先行していることがあり得るからである。サーバ200の第2解生成部223が解を生成する方法自体は変形例2の場合と同様であるが、第2解生成部223は、その時点で第2解記録部224に記録されていた過去に生成された解を用いて、次の解を生成する。そして、そのようにして生成された解を用いて、更に次の解を生成し、そのようにして生成された解を用いて、更に次の解を生成し…、という処理を繰り返すことにより、多数の、例えば数万個の解を生成する。幾つの解を生成するかは、サーバ200の認証部228が後述するような方法で認証を行えるか、またクライアント100で一部解を生成するのに用いられた第1解生成部123で生成された解と同一の解が偶々現れる可能性をどの程度排除したいか、という観点から決定される。とはいえ、仮に解が英数字混じりの20桁であるとすれば、解を数万個生成したとしても、サーバ200で生成した解と、クライアント100で生成された解が、偶然一致する可能性は限りなく0に近い。
 そして、第2解生成部223で生成された多数の解は順次第2一部解生成部225に送られ、その多数の解から順に一部解が生成される(S2003)。
 生成された一部解のデータは順に認証部228に送られる。認証部228には、上述の実施形態の場合と同様に、クライアント100から送られてきた一部解のデータが送られてきている。認証部228は、クライアント100から送られてきた一部解と、第2一部解生成部225から送られてきた多数の一部解とを比較し、第2一部解生成部225から送られてきた多数の一部解の1つがクライアント100から送られてきた一部解と一致した場合には、その一部解を送ってきたクライアント100は正当なものと認証する。他方、第2一部解生成部225から送られてきた多数の一部解のすべてがクライアント100から送られてきた一部解と一致しなかった場合には、その一部解を送ってきたクライアント100は正当なものであるとの認証を行わない。なお、認証部228は、クライアント100から送られてきた解を、第2一部解生成部225から送られてくる多数の解と順次比較し、クライアント100から送られてきた解と、第2一部解生成部225から送られてきたある解とが一致した時点で、一部解を送ってきたクライアント100が正当であるとの認証を行うとともに、以後の処理を省略するようになっていてもよい。
 変形例3における第2解生成部223は、クライアント100から送られてきた解と一致した解についてのデータを認証部228から受取り、その解を、第2解記録部224に書き込む。これにより、サーバ200の第2解生成部223で生成される解は、クライアント100の第1解生成部123で生成される解と、再び同期されることになる。
 その後、クライアント100とサーバ200は暗号化通信を行う(S1006、2006)にあたり、解を生成する。クライアント100の第1解生成部123とサーバ200の第2解生成部223とは解を生成するが、そのときに生成される解は、同期された状態となるから、クライアント100とサーバ200との間で行われる暗号化通信は成立する。
 なお、変形例3でも、変形例1の場合と同様に、暗号化通信を行う過程(S1006、S2006)における暗号化と復号化に多数の解を使用することが可能である。ただし、その場合において余りに多数の解を用いるとすると、第2解生成部223が、S2002の過程で生成すべき解が余りに多数となり、第1解生成部123と、第2解生成部223とで生成される解が偶々一致する可能性が高くなりかねない。そのようなことを避けるには例えば、クライアント100とサーバ200が暗号化通信を行う過程(S1006、S2006)で多数の解を生成しながら暗号化通信が実行され、最終的に暗号化通信が終わった時点で、クライアント100の第1解生成部123とサーバ200の第2解生成部223とが、第1解記録部124と、第2解記録部224に記録されている解のデータを、暗号化通信を行う過程(S1006、S2006)で最初の解が生成される前の状態(認証が終わって、サーバ200の第2解生成部223で生成される解が、クライアント100の第1解生成部123で生成される解と再び同期された状態)にするようにすればよい。
 これは即ち、暗号化通信を行う過程(S1006、S2006)で多数の解が生成されたことを、少なくともクライアント100における第1解生成部123と第1解記録部124、及びサーバ200における第2解生成部223と第2解記録部224において、無かったことにするということである。このようにしておけば、第2解生成部123が、S2002の過程で生成すべき解が余りに多数となり、第1解生成部123と、第2解生成部223とで生成される解が偶々一致するという可能性を抑制することができる。
[0077]
<変形例4>
 変形例4は、以上で説明した実施形態、及び各変形例とその構成、及び実行される処理は殆ど同じであるが、その実、解を用いた認証を行わないという点に着目すれば、以上で説明した実施形態、及び各変形例とその内容は大きく異なるといえる。とりあえず以下の説明は、実施形態の変形として説明する。しかし、変形例4の通信システムは、特に矛盾がない限り、変形例1~3の変形とすることもできる。
 変形例4の通信システムも、ネットワーク400を介して互いに通信可能な、サーバ200と、多数のクライアント100とを含んで構成されている。
 変形例4のクライアント100の構成は実施形態で説明したものと同じとすることができ、変形例4ではこれには限られないがそうされている。クライアント100からは、サーバ200へ、実施形態の場合と同様にクライアント100で生成された一部解がネットワーク400を介して送信されるようになっている。
 他方、サーバ200の構成も、基本的には上述の実施形態で説明したものと同じで良い。ただし、認証部228は、判定部に置き換わる。判定部は、認証部228と同様に、クライアント100から送られてきた一部解を主制御部222から受取るとともに、第2一部解生成部225が生成した少なくとも1つの一部解を第2一部解生成部から受取り、前者と一致するものを後者から見つけ出すものである。認証部228はその結果認証を行ったが、判定部は認証を行わない。
 判定部がクライアント100から送られてきた一部解と同じ、第2一部解生成部225が生成した少なくとも1つの一部解を発見できたのであれば、第1実施形態の場合と同様に、クライアント100とサーバ200との間で、解の、或いは第1解生成手段123と第2解生成手段223との同期が実現できることとなる。
 それが実現できたら、第1実施形態の場合と同様にして、クライアント100とサーバ200との間で暗号化通信(S1006、2006)を行えば良い。
 なお、変形例4では、サーバ200は、クライアント100を、一部解を用いては認証しない。しかしながら、他の方法でサーバ200がクライアント100を認証するのは構わない。例えば、実施形態の場合であれば、クライアント100からサーバ200へとユーザIDである識別情報が送信されたが、識別情報をユーザIDとパスワードとし、それらを用いてサーバ200がクライアント100を認証するようにする、といった公知、或いは周知技術を用いてサーバ200がクライアント100を認証するようにすることができる。

請求の範囲

[請求項1]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えている送信装置と、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 を備えている受信装置と、
 を備えてなる送受信システムであって、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
 送受信システム。
[請求項2]
 前記送信装置は、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段を備えているとともに、
 前記第1暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記受信装置は、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段を備えているとともに、
 前記第2暗号化復号化手段は、前記受信装置で前記認証が行われた後に前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 請求項1記載の送受信システム。
[請求項3]
 前記送信装置は複数であり、前記送信装置を用いるユーザには各ユーザを他のユーザから識別するための識別情報が割振られているとともに、前記送信装置から前記受信装置に前記一部解が送られる場合には、前記識別情報が前記受信装置に送られるようになっているとともに、
 前記第2解記録手段には前記送信装置のそれぞれに割振られた識別情報のそれぞれと紐付けて、当該識別情報が割振られた前記送信装置の前記第1解記録手段に記録されたものと同じ前記初期解が少なくとも初期状態では記録されており、
 前記受信手段が前記送信装置から送信された前記一部解を受取った場合において前記第2解生成手段が新たな解を生成する場合、前記第2解生成手段は、前記第2解記録手段に記録された初期解のうち新たな解を生成するきっかけとなった前記一部解とともに前記送信装置から送られてきた前記識別情報と対応付けられた解と紐付けられた状態で前記第2解記録手段に記録されていた初期解に基いて解を生成するようになっている、
 請求項1記載の送受信システム。
[請求項4]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えており、受信装置との組合せにより送受信システムを構成する送信装置であって、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 を備えており、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
 送信装置。
[請求項5]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えている送信装置との組合せにより送受信システムを構成する、受信装置であって、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 を備えており、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
 受信装置。
[請求項6]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法であって、
 前記コンピュータが実行する、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、
 生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
 生成された前記一部解をネットワークを介して送信する過程、
 を含んでおり、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 を備えており、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
 方法。
[請求項7]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法であって
 前記コンピュータが実行する、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する過程、
 生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、
 を含んでおり、
 前記コンピュータは、
 新たな解を生成する前記過程を、前記送信装置から送信された前記一部解を前記受信装置が受取った場合に、少なくとも1つの解を生成するものとして実行し、
 一部解を生成する前記過程を、生成されたその少なくとも1つの解から前記一部解を取出すものとして実行し、
 生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する、
 方法。
[請求項8]
 コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムであって、
 前記コンピュータを、
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 として機能させるためのものであり、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 を備えており、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記受信装置は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証する認証手段を備えている、
 コンピュータプログラム。
[請求項9]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムであって、
 前記コンピュータを、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 認証手段、
 として機能させるためのものであり、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記認証手段は、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致した場合に、その一部解を送って来た前記送信装置を正当なものであると認証するようになっている、
 コンピュータプログラム。
[請求項10]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 を備えている送信装置と、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 を備えている受信装置と、
 を備えてなる送受信システムであって、
 前記第2解生成手段は、前記受信手段が前記送信装置から送信された前記一部解を受取った場合に少なくとも1つの解を生成するようになっており、且つ前記第2一部解生成手段は、前記第2解生成手段により生成されたその少なくとも1つの解から前記一部解を取出すようになっているとともに、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 送受信システム。
[請求項11]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 を備えており、受信装置との組合せにより送受信システムを構成する送信装置であって、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 を備えており、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 送信装置。
[請求項12]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 を備えている送信装置との組合せにより送受信システムを構成する、受信装置であって、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 を備えており、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 受信装置。
[請求項13]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 を備えており、受信装置との組合せにより送受信システムを構成する、コンピュータを有する送信装置の前記コンピュータで実行される方法であって、
 前記コンピュータが実行する、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する過程、
 生成された前記解からその一部である一部解を、所定の規則に従って取出す過程、
 生成された前記一部解をネットワークを介して送信する過程、
 を含んでおり、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 を備えており、
 前記コンピュータが更に実行する、
 前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成する過程、
 前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、
 を含み、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 方法。
[請求項14]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 を備えており、前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっている送信装置との組合せにより送受信システムを構成する、前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段を含むコンピュータを有する受信装置の前記コンピュータで実行される方法であって、
 前記コンピュータが実行する、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを含むものを少なくとも1つ生成する過程、
 生成された少なくとも1つの前記解からその一部である一部解を、所定の規則に従って取出す過程、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する過程、
 前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する過程、
 前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成する過程、
 新たに生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとする過程、
 を含んでおり、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記送信装置と、前記受信装置とは、前記受信装置の前記コンピュータが生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記コンピュータで判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 方法。
[請求項15]
 コンピュータを、受信装置との組合せにより送受信システムを構成する送信装置として機能させるためのコンピュータプログラムであって、
 前記コンピュータを、
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 として機能させるためのものであり、
 前記受信装置は、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 を備えており、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 コンピュータプログラム。
[請求項16]
 文字、数字、記号の少なくとも1つを所定数羅列したものである解を生成するために用いられるデータである初期解を少なくとも初期状態で記録する第1解記録手段、
 前記第1解記録手段に記録された前記初期解に基いて、同じ条件下で生成されたものが常に同じものとなる新たな解を生成する第1解生成手段、
 前記第1解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第1一部解生成手段、
 前記第1一部解生成手段で生成された前記一部解をネットワークを介して送信する送信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第1暗号化復号化手段、
 を備えている送信装置との組合せにより送受信システムを構成する、受信装置としてコンピュータを機能させるためのコンピュータプログラムであって、
 前記コンピュータを、
 前記送信装置の前記第1解記録手段に記録された前記初期解と同一の初期解を少なくとも初期状態で記録する第2解記録手段、
 前記第2解記録手段に記録された前記初期解に基いて、同じ初期解を用い、同じ条件下で生成されたものが常に同じものとなる新たな解であって、前記送信装置の前記第1解生成手段で生成されたものと同じものを生成する第2解生成手段、
 前記第2解生成手段で生成された前記解からその一部である一部解を、所定の規則に従って取出す第2一部解生成手段、
 前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致するか否かを判定する判定手段、
 前記送信装置から送信された前記一部解を前記ネットワークを介して受信する受信手段、
 暗号化又は復号化の処理の少なくとも一方を行うことのできる第2暗号化復号化手段、
 として機能させるためのものであり、
 前記第1解生成手段は、前記受信装置に送信された前記一部解を生成するのに用いられた前記解の後に、新たな解を生成するようになっているとともに、
 前記第2解生成手段は、前記送信装置から送信された前記一部解と一致した前記第2解生成手段で生成された前記一部解の後に、前記第1解生成手段で生成されるのと同じ条件下で解を生成するようになっており、
 前記第1暗号化復号化手段は、前記第1解生成手段で生成された解を用いて、送信の対象となる平文のデータを暗号化するか、前記受信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記第2暗号化復号化手段は、前記第2解生成手段で生成された解のうち前記第1暗号化復号化手段で用いられたのと同じ解を用いて、送信の対象となる平文のデータを暗号化するか、前記送信装置から送信されてきた暗号化データを復号化して平文のデータとするようになっており、
 前記送信装置と、前記受信装置とは、前記第2一部解生成手段が生成した前記一部解の1つが、前記送信装置から送信された前記一部解と一致すると前記判定手段で判定された後に、
 前記第1暗号化復号化手段で暗号化された暗号化データを、前記送信装置から前記受信装置に送信して、前記第2暗号化復号化手段で復号化する処理と、
 前記第2暗号化復号化手段で暗号化された暗号化データを、前記受信装置から前記送信装置に送信して、前記第1暗号化復号化手段で復号化する処理と、
 の少なくとも一方を行うようになっている、
 コンピュータプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]