以下、本実施の形態について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態の情報処理装置の一例を説明するための図である。情報処理装置1は、利用者によって操作される装置である。情報処理装置1は、利用者認証により正規の利用者を認証(判別ともいう)することで、正規の利用者以外の利用を制限している。情報処理装置1は、記憶部2と、処理部3と、を備える。
記憶部2は、例えば情報処理装置1が有するHDD(Hard Disk Drive)やフラッシュメモリ等の不揮発性記憶装置や、RAM(Random Access Memory)等の揮発性記憶装置により実現される。
処理部3は、例えば情報処理装置1が有するCPU(Central Processing Unit)等のプロセッサにより実現される。なお、処理部3は、GPU(Graphics Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、PLD(Programmable Logic Device)等を含み得る。ここでいう「プロセッサ」には、複数のプロセッサの集合(マルチプロセッサ)も含まれ得る。
処理部3は、利用者から認証用パスワード4を取得(P1a、P1b)して照合用パスワード5との照合により利用者の利用者認証を実行する(P3a、P3b)。認証用パスワード4及び照合用パスワード5は、パスワード生成プログラムを用いて生成される。パスワード生成プログラムは、生成を要求された日時に基づいて利用者のパスワードを生成するプログラムであって、生成するパスワードを所定日時間隔(所定のパスワード変更間隔ともいう)で変化させるプログラムである。
すなわち、パスワード生成プログラムは、同一日時間隔内においては、同じパスワードを利用者のパスワードとして生成するプログラムである。パスワード生成プログラムは、例えば、TOTP(Time-based One-Time Password)アルゴリズムを用いたパスワード生成プログラム(時刻同期型ワンタイムパスワードを生成するパスワード生成プログラムともいう)である。
情報処理装置1は、このようなパスワード生成プログラムを用いて生成された認証用パスワード4と照合用パスワード5とを照合することにより利用者認証を実行するため、認証用パスワード4を利用者に発行する発行装置と通信可能である必要がない。すなわち、情報処理装置1は、利用者に発行した認証用パスワード4を発行装置から取得しておかなくとも、利用者認証時にパスワード生成プログラムを用いて照合用パスワード5を生成すればよいので、オフライン環境等でも利用者認証を実現できる。
処理部3は、利用者認証を実行するとき、利用者認証に利用可能な照合用パスワード5が記憶部2に記憶されていない場合にはパスワード生成プログラムを用いて利用者認証を実行する日時に基づいた照合用パスワード5を生成(P2a)して利用者認証を実行する(P3a)。
処理部3は、パスワード生成プログラムを用いて利用者認証を実行する日時に基づいた照合用パスワード5を生成して実行した利用者認証が成功した場合には照合用パスワード5を所定期間の間における利用者認証に利用可能に記憶部2に記憶させる(P4)。これにより、処理部3は、パスワード生成プログラムにおけるパスワード変更タイミングに関わらず(認証用パスワード4を発行した日時と同一日時間隔内であるか否かに関わらずともいう)、所定期間(任意の期間ともいう)の利用可能期間を確保する。
処理部3は、利用者認証を実行するとき、利用者認証に利用可能な(利用可能期間内であるともいう)照合用パスワード5が記憶部2に記憶されている場合には記憶部2から照合用パスワード5を取得(P2b)して利用者認証を実行する(P3b)。
これによれば、情報処理装置1は、照合用パスワード5を生成して実行する利用者認証が成功した場合、記憶部2に記憶させ、所定期間内においては記憶している照合用パスワード5を用いて利用者認証を行うこととなる。したがって、照合用パスワード5を生成して実行する利用者認証が成功した場合、利用者は、所定期間内においては同一日時間隔内であるか否かに関わらず、以前利用者認証に成功した認証用パスワード4により、正規の利用者として認証を受けることができる。
ここで利用者が認証用パスワード4としてt1からt2間において発行された「Pass#1」を利用して情報処理装置1で利用者認証する場合の例を用いて具体的な処理の流れについて説明する。なお、ここでは、パスワード生成プログラムは、t1からt2間においては「Pass#1」を生成し、t2からt3間においては「Pass#2」を生成し、t3からt4間においては「Pass#3」を生成し、t4からt5間においては「Pass#4」を生成するものとする。また、記憶部2には当初(具体的には、t1)利用可能な照合用パスワード5が記憶されていないものとする。
まず、利用者が情報処理装置1を利用しようと考え、t1a(すなわち、認証用パスワード4が発行された日時と同一日時間隔内)において「Pass#1」を入力し、利用者認証の実行を情報処理装置1に要求した場合について説明する。
このとき記憶部2は、照合用パスワード5を記憶していないので、処理部3は、パスワード生成プログラムを用いて利用者認証を実行する日時に基づいた照合用パスワード5を取得する。具体的には、t1aにおいてパスワード生成プログラムは、「Pass#1」を生成するので、処理部3は、入力された認証用パスワード4(具体的には、「Pass#1」)と同じ「Pass#1」を照合用パスワード5として取得することとなる。そして、処理部3は、認証用パスワード4(具体的には、「Pass#1」)と生成した照合用パスワード5(具体的には、「Pass#1」)とを照合する。その結果、処理部3は、認証用パスワード4(具体的には、「Pass#1」)と照合用パスワード5(具体的には、「Pass#1」)とが一致するので正規の利用者であると判別し、利用者認証が成功となる(すなわち、認証成功という認証結果を得る)。その後、処理部3は、利用者認証に用いた利用者認証を実行する日時(具体的には、t1a)に基づいた照合用パスワード5(具体的には、「Pass#1」)を記憶部2に所定期間(具体的には、t1aからt3a迄)の間の利用者認証に利用可能に記憶させる。
次に、利用者が、再度、情報処理装置1を利用しようと考え、t2a(すなわち、所定期間内)において「Pass#1」を入力し、利用者認証の実行を情報処理装置1に要求した場合について説明する。
このとき記憶部2は、利用者認証に利用可能な照合用パスワード5として「Pass#1」を記憶しているので、処理部3は、記憶部2から照合用パスワード5(「Pass#1」)を取得する。そして処理部3は、認証用パスワード4(具体的には、「Pass#1」)と取得した照合用パスワード5(「Pass#1」)とを照合する。処理部3は、認証用パスワード4(具体的には、「Pass#1」)と取得した照合用パスワード5(具体的には、「Pass#1」)とが一致するので正規の利用者であると判別し、利用者認証が成功となる。
次に、利用者が、再度、情報処理装置1を利用しようと考え、t4a(すなわち、認証用パスワード4が発行された日時と同一日時間隔内でなく、かつ、所定期間経過後)において「Pass#1」を入力し、利用者認証の実行を情報処理装置1に要求した場合について説明する。
このとき記憶部2は、照合用パスワード5を記憶していないので、処理部3は、パスワード生成プログラムを用いて利用者認証を実行する日時に基づいた照合用パスワード5を取得する。具体的には、t4aにおいてパスワード生成プログラムは、「Pass#4」を生成するので、処理部3は、認証用パスワード4(具体的には、「Pass#1」)と異なる「Pass#4」を照合用パスワード5として取得することとなる。そして、処理部3は、認証用パスワード4(具体的には、「Pass#1」)と生成した照合用パスワード5(具体的には、「Pass#4」)とを照合する。処理部3は、認証用パスワード4(具体的には、「Pass#1」)と照合用パスワード5(具体的には、「Pass#4」)とが一致しないので正規の利用者でないと判別し、利用者認証が失敗となる(すなわち、認証失敗という認証結果を得る)。
以上が第1の実施形態の情報処理装置1である。これによれば情報処理装置1は、照合用パスワード5を生成して実行する利用者認証が成功した場合、パスワード変更タイミングに関わらず(同一日時間隔内であるか否かに関わらずともいう)、所定期間の利用可能期間を確保できる。このようにパスワード変更タイミングに関わらず、所定期間の利用可能期間を確保することで、情報処理装置1は、利用者が認証用パスワード4の発行を受ける頻度をコントロールできる。
例えば、ICカード等を紛失したときの代替認証として上記利用者認証を利用することが考えられる。この場合には利用者は、ICカードの再発行迄の間は上記利用者認証を利用し続けることとなる。このような場合において、例えば、所定期間をICカードの再発行に要する期間に基づいて予め適切に設定しておけば、情報処理装置1は、ICカードの再発行迄の間において認証用パスワード4の再発行を何度も受け直す必要をなくすことができる。これにより情報処理装置1は、利用者認証の利便性を高くすることができる。特に、利用者が管理者に依頼して認証用パスワード4を発行装置から発行している場合においては、頻繁に管理者に依頼する必要をなくすことができるので、情報処理装置1は、管理者の負担も軽減することができる。
また、情報処理装置1は、認証用パスワード4の発行を受けた日時と同一日時間隔内でなく、なおかつ認証用パスワード4による初回の利用者認証に成功してから所定期間経過後においては、認証用パスワード4では、正規の利用者として認証しないこととなる。すなわち、情報処理装置1は、一定の期間経過後に、再度、認証用パスワード4の発行を受けなければ利用できなくできるので(正規の利用者として認証しなくなるので)、セキュリティ強度を担保できる。
[第2の実施形態]
次により具体的な実施形態として情報処理システムについて説明する。図2は、第2の実施形態の情報処理システムの全体概要例を示す図である。
情報処理システム10は、利用者認証によって正規の利用者を判別し、正規の利用者にのみ端末を操作可能とすることで端末の不正使用を防止するシステムである。情報処理システム10は、企業等に導入されている。情報処理システム10は、2つの認証方法(具体的には、第1の認証方法(主認証方法ともいう)と、第1の認証方法の代替認証方法として設けられた第2の認証方法(従認証方法ともいう)とにより利用者認証を実行可能なシステムである。すなわち、情報処理システム10は、第1の認証方法により利用者認証を行えない状況である場合でも、第1の認証方法に替えて第2の認証方法により利用者認証を実行可能なシステムである。
第1の認証方法は、例えば、予め記憶させた生体情報と、利用者から取得した生体情報とを照合することで利用者認証を行う方法や、予め記憶させた認証情報と、ICカードから取得した認証情報とを照合することで利用者認証を行う方法等である。以下、第1の認証方法は、ICカードを用いた利用者認証であるものとする。
第2の認証方法は、TOTPアルゴリズムを用いたパスワード生成プログラム(時刻同期型ワンタイムパスワードを生成するパスワード生成プログラムともいう)を用いた利用者認証(期限付きのパスワードを用いた利用者認証ともいう)を行う方法である。情報処理システム10では、例えば、利用者がICカードを紛失した場合に、ICカードを用いた利用者認証に替えて期限付きのパスワードを用いた利用者認証が用いられることとなる。
情報処理システム10は、管理端末100と、利用者端末200−1〜200−nとを備える。なお、以下では、利用者端末200−1〜200−nのうちの任意の利用者端末を指すときは利用者端末200を用いることとする。管理端末100は、ネットワーク(無線ネットワークを含む)50を介して利用者端末200と接続する。なお、以下では、情報処理システム10は、企業等において導入されたシステムであるものとして説明する。
管理端末100は、情報処理システム10を統括的に管理する端末である。管理端末100は、情報処理システム10を管理する管理者によって操作される。管理端末100は、例えば、社内等の厳重な防犯対策やセキュリティ対策が施された環境下に設けられている。また、管理端末100は、情報処理システム10において利用者端末200−1〜200−nを利用する利用者の利用者認証に必要な各種情報を保持しており、各利用者端末200に必要に応じて配布する。
利用者端末200は、利用者(具体的には企業の従業員)が操作を行う端末である。利用者端末200は、例えば、社外(すなわち、社内ネットワークと接続不可能な環境)に持ち出して利用され得る可搬型の装置である。したがって、利用者端末200は、社外(すなわち、社内ネットワークと接続不可能な環境)でも利用者認証が可能に、利用者端末200を利用する利用者の利用者認証に必要な各種情報を管理端末100から事前に取得して保持している。
利用者端末200は、例えば、ノート型PCである。なお、利用者端末200は、例えば、スマートフォンやタブレット型PC等であってもよい。利用者端末200は、第1の実施形態の情報処理装置1の一実施態様である。
なお、ICカードを用いた利用者認証は、既知の技術によって実現できるため、以下では、ICカードを用いた利用者認証についての説明は適宜省略する。
次に利用者端末200のハードウェア構成について説明する。図3は、第2の実施形態の利用者端末のハードウェア構成の一例を示す図である。
利用者端末200は、プロセッサ201によって装置全体が制御されている。プロセッサ201には、バス207を介してメモリ202と複数の周辺機器が接続されている。プロセッサ201は、マルチプロセッサであってもよい。
プロセッサ201は、例えばCPU、MPU、またはDSPである。プロセッサ201の機能の少なくとも一部を、ASIC、FPGA、PLD等の電子回路で実現してもよい。プロセッサ201は、第1の実施形態の処理部3の一実施態様である。
メモリ202は、利用者端末200の主記憶装置として使用される。メモリ202には、プロセッサ201に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ202には、プロセッサ201による処理に必要な各種データが格納される。メモリ202としては、RAM等の揮発性の半導体記憶装置が使用される。メモリ202は、第1の実施形態の記憶部2の一実施態様である。
バス207に接続されている周辺機器としては、HDD203、グラフィック処理装置204、入力インタフェース205及びネットワークインタフェース206がある。
HDD203は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。HDD203は、利用者端末200の補助記憶装置として使用される。HDD203には、OSのプログラム、アプリケーションプログラム、及び各種データ(例えば、利用者端末200を利用する利用者の利用者認証に必要な各種情報)が格納される。なお補助記憶装置としては、フラッシュメモリ等の不揮発性の半導体記憶装置を使用することもできる。HDD203は、第1の実施形態の記憶部2の一実施態様である。
グラフィック処理装置204には、モニタ204aが接続されている。グラフィック処理装置204は、プロセッサ201からの命令に従って、画像をモニタ204aの画面に表示させる。モニタ204aとしては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置等がある。
入力インタフェース205には、キーボード205aとマウス205bとICカードリーダライタ205cが接続されている。入力インタフェース205は、キーボード205aやマウス205bやICカードリーダライタ205cから送られてくる信号をプロセッサ201に送信する。
なお、マウス205bは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。ICカードリーダライタ205cは、ICカード205dに記憶されたデータ(具体的には、認証情報)を読み取る装置である。
ネットワークインタフェース206は、ネットワークに接続されている。ネットワークインタフェース206は、ネットワークを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本発明の処理機能を実現することができる。なお、管理端末100も、図3に示した利用者端末200と同様のハードウェアにより実現することができる。また、第1の実施形態の情報処理装置1も、図3に示した利用者端末200と同様のハードウェアにより実現することができる。
利用者端末200は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。利用者端末200に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
例えば、利用者端末200に実行させるプログラムをHDD203に格納しておくことができる。プロセッサ201は、HDD203内のプログラムの少なくとも一部をメモリ202にロードし、プログラムを実行する。また利用者端末200に実行させるプログラムを、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体(利用者端末200でデータの読み取り可能な可搬型記録媒体ともいう)に記録しておくこともできる。
可搬型記録媒体に格納されたプログラムは、例えばプロセッサ201からの制御により、HDD203にインストールされた後、実行可能となる。またプロセッサ201が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
次に情報処理システム10の管理端末100及び利用者端末200が備える機能について説明する。図4は、第2の実施形態の管理端末及び利用者端末の機能構成の一例を示す図である。
まず利用者端末200が有する機能について説明する。利用者端末200は、認証処理部210と、代替認証処理部220と、記憶部230と、を備える。
認証処理部210は、ICカードを用いた利用者認証に関する各種処理を実行する。具体的には、認証処理部210は、ICカード205dから取得した利用者の認証情報と、予め記憶しておいた利用者の認証情報とを照合することによって利用者認証を行う。
代替認証処理部220は、期限付きパスワードを用いた利用者認証(期限付きパスワード認証ともいう)に関する各種処理を実行する。具体的には、代替認証処理部220は、利用者から取得した利用者の認証用パスワードと、照合用パスワードとを照合することによって利用者認証を行う。
記憶部230は、利用者端末200におけるICカードを用いた利用者認証及び期限付きパスワードを用いた利用者認証の実行に必要な各種情報を記憶する。記憶部230は、認証情報テーブル231と、端末識別情報232と、利用者情報テーブル233と、パスワード生成プログラム234と、照合用パスワードテーブル235と、有効期間設定ファイル236と、を有する。
認証情報テーブル231は、利用者端末200を利用する利用者のICカードを用いた利用者認証に用いられる認証情報が格納されたテーブルである。すなわち、認証処理部210は、ICカード205dから取得した利用者の認証情報と、認証情報テーブル231に格納された利用者の認証情報とを照合することによって利用者認証を行う。
認証情報テーブル231は、管理端末100から配布される情報であり、管理端末100の認証情報テーブル121に格納された情報のうちの利用者端末200を利用する利用者についての情報で構成されたテーブルである。
端末識別情報232は、利用者端末200を識別可能な識別情報である。端末識別情報232は、期限付きパスワードを用いた利用者認証に用いられる。より具体的には、端末識別情報232は、期限付きパスワードを用いた利用者認証に利用するパスワード(照合用パスワード及び認証用パスワード)を生成する際に用いられる。また、端末識別情報232は、管理端末100が各種情報を送信するときに利用者端末200を識別するのに用いられる。例えば、端末識別情報232は、管理端末100によって一意に割り当てられたものであってもよいし、MACアドレスのように機器固有の情報であってもよい。
利用者情報テーブル233は、利用者端末200を利用する利用者に関する情報が格納されたテーブルである。利用者情報テーブル233には、利用者端末200を利用する利用者を識別可能な利用者識別情報(UserIDともいう)が格納されている。利用者情報テーブル233は、利用者が期限付きパスワードを用いた利用者認証の実行対象であるか否かを判定する際、及び期限付きパスワードを用いた利用者認証に利用するパスワードを生成する際に用いられる。
利用者情報テーブル233は、管理端末100から配布される情報であり、管理端末100の利用者情報テーブル233に格納された情報のうちの利用者端末200を利用する利用者についての情報で構成されたテーブルである。
パスワード生成プログラム234は、TOTPアルゴリズムを用いたパスワード生成プログラムである。パスワード生成プログラム234は、代替認証処理部220が期限付きパスワードを用いた利用者認証における照合用パスワードを取得するのに用いられる。パスワード生成プログラム234は、端末識別情報と利用識別情報とに基づく認証コード(シードコードともいう)と、日時とに基づいて、利用者端末200における利用者の照合用パスワードを生成する。
認証コードは、端末識別情報と利用識別情報とに基づいて生成されるコードであり、利用者端末200の各利用者に一意に割り当てられるコードである。すなわち、認証コードは、端末識別情報(すなわち、利用者端末200)が異なる場合には同じ利用識別情報(すなわち、利用者)であっても異なるコードとなる。また、認証コードは、同じ端末識別情報(すなわち、利用者端末200)であっても利用識別情報(すなわち、利用者)が異なる場合には異なるコードとなる。例えば、認証コードは、所定のアルゴリズムに基づいて(例えば、管理端末100から事前に配布される認証コード生成プログラム(不図示)を用いて)代替認証処理部220によって生成される。
パスワード生成プログラム234は、管理端末100から配布されるプログラムであり、管理端末100のパスワード生成プログラム124の複製(すなわち、パスワード生成プログラム124と同じプログラム)である。すなわち、利用者端末200のパスワード生成プログラム234と管理端末100のパスワード生成プログラム124とは、認証コードが同じであれば同一日時間隔内においては、同じパスワードを生成することとなる。
照合用パスワードテーブル235は、利用者認証時にパスワード生成プログラム234を用いて照合用パスワードを生成して実行した期限付きパスワードを用いた利用者認証のうち認証結果が成功となった照合用パスワードに関する情報が格納されたテーブルである。照合用パスワードテーブル235には、代替認証処理部220がパスワード生成プログラム234を用いて照合用パスワードを生成して実行した利用者認証が成功した場合に、利用者認証に用いた照合用パスワードに関する情報が格納される。
照合用パスワードテーブル235は、パスワード生成プログラム234を用いて生成された利用者の照合用パスワードを所定期間の間(有効期間の間ともいう)、再度の利用者認証に利用可能に格納する。すなわち、照合用パスワードテーブル235は、代替認証処理部220が期限付きパスワードを用いた利用者認証における照合用パスワードを取得するのに用いられる。
つまり代替認証処理部220は、パスワード生成プログラム234を用いて利用者認証の日時に基づいて生成した照合用パスワードまたは照合用パスワードテーブル235に格納された有効期間内の照合用パスワードを用いて利用者認証を行うこととなる。
有効期間設定ファイル236は、利用者端末200を利用する利用者の照合用パスワード(具体的には照合用パスワードテーブル235に格納された照合用パスワード)に対して設定される有効期間が格納されたファイルである。有効期間設定ファイル236は、代替認証処理部220が照合用パスワードテーブル235に格納された照合用パスワードが有効期間内(すなわち、所定期間以内の利用者認証に成功した照合用パスワード)であるか否かを判断するのに用いられる。
有効期間設定ファイル236は、管理端末100から配布される情報であり、管理端末100の有効期間設定ファイル125に格納された情報のうちの利用者端末200で利用される情報で構成されたファイルである。
次に管理端末100が有する機能について説明する。管理端末100は、パスワード発行処理部110と、記憶部120と、を備える。
パスワード発行処理部110は、期限付きパスワードを用いた利用者認証に利用する認証用パスワードの発行に関する処理を行う。具体的には、パスワード発行処理部110は、利用者認証を行う利用者端末200の端末識別情報232と利用者の利用者識別情報に基づく認証コードを取得し、パスワード生成プログラム124を用いて利用者の認証用パスワードを発行する。
記憶部120は、利用者端末200−1〜200−nにおけるICカードを用いた利用者認証及び期限付きパスワードを用いた利用者認証の実行に必要な各種情報を記憶する。記憶部120は、認証情報テーブル121と、端末情報テーブル122と、利用者情報テーブル123と、パスワード生成プログラム124と、有効期間設定ファイル125と、を有する。
認証情報テーブル121は、利用者端末200−1〜200−nを利用する利用者(情報処理システム10の全ての利用者ともいう)のICカードを用いた利用者認証に用いられる認証情報が格納されたテーブルである。認証情報テーブル121は、所定のタイミング(例えば、変更が生じた場合等)で利用者端末200に対して配布される。具体的には、管理端末100は、認証情報テーブル121に格納された情報のうちの利用者端末200を利用する利用者についての情報だけで構成されたテーブルを利用者端末200に配布する。なお、管理端末100は、情報処理システム10の全ての利用者についての情報で構成されたテーブルが配布されるように構成してもよい。
端末情報テーブル122は、利用者端末200−1〜200−nに関する情報が格納されたテーブルである。端末情報テーブル122には、例えば、利用者端末200−1〜200−nそれぞれの端末識別情報、利用者端末200−1〜200−nそれぞれを利用する利用者についての利用者識別情報等が格納される。端末情報テーブル122は、管理端末100が各種情報を利用者端末200に送信するのに用いられる。
利用者情報テーブル123は、利用者端末200−1〜200−nを利用する利用者(情報処理システム10の全ての利用者ともいう)に関する情報が格納されたテーブルである。利用者情報テーブル123には、利用者端末200−1〜200−nを利用する利用者の利用者識別情報が格納されている。利用者情報テーブル123は、所定のタイミング(例えば、変更が生じた場合等)で利用者端末200に対して配布される。具体的には、管理端末100は、利用者情報テーブル123に格納された情報のうちの利用者端末200を利用する利用者についての情報だけで構成されたテーブルを利用者端末200に配布する。なお、管理端末100は、情報処理システム10の全ての利用者についての情報で構成されたテーブルが配布されるように構成してもよい。
パスワード生成プログラム124は、TOTPアルゴリズムを用いたパスワード生成プログラムである。パスワード生成プログラム124は、パスワード発行処理部110が期限付きパスワードを用いた利用者認証における認証用パスワードを発行するのに用いられる。パスワード生成プログラム124は、利用者認証を行う利用者端末200の端末識別情報と利用者の利用識別情報に基づく認証コードと、日時とに基づいて、利用者端末200における利用者の認証用パスワードを生成する。パスワード生成プログラム124は、所定のタイミング(例えば、変更が生じた場合等)で利用者端末200に対して配布される。
有効期間設定ファイル125は、利用者端末200−1〜200−nを利用する利用者の照合用パスワードに対して設定される有効期間が格納されたファイルである。有効期間設定ファイル125は、所定のタイミング(例えば、変更が生じた場合等)で利用者端末200に対して配布される。具体的には、管理端末100は、有効期間設定ファイル125に格納された情報のうちの利用者端末200を利用する利用者についての情報だけで構成されたファイルを利用者端末200に配布する。なお、管理端末100は、情報処理システム10の全ての利用者についての情報で構成されファイルが配布されるように構成してもよい。
次にパスワード生成プログラム124,234について説明する。図5は、第2の実施形態のパスワード生成プログラムを説明するための図である。なお。管理端末100のパスワード生成プログラム124と、利用者端末200のパスワード生成プログラム234は、同じプログラムであるため、代表してパスワード生成プログラム234を用いて説明する。
パスワード生成プログラム234は、利用者認証を行う利用者端末200の端末識別情報と利用者の利用者識別情報に基づく認証コード300と、日時と、に基づいてパスワードを生成するプログラムであって、生成するパスワードを所定日時間隔で変化させるプログラムである。
すなわち、パスワード生成プログラム234は、同一日時間隔内であり、なおかつ利用者認証を行う利用者端末200が同じ場合であっても利用者が異なる場合には異なるパスワードを生成する。また、パスワード生成プログラム234は、同一日時間隔内であり、利用者が同じ場合であっても利用者認証を行う利用者端末200が異なる場合には異なるパスワードを生成する。また、利用者認証を行う利用者端末200が同じであり利用者が同じであっても、同一日時間隔内でない場合には異なるパスワードを生成する。一方で、パスワード生成プログラム234は、異なる装置において実行される場合であっても、同一日時間隔内であり、利用者認証を行う利用者端末200が同じであり、利用者が同じである場合には、同じパスワードを生成する。このようなパスワード生成プログラムによれば、利用者端末200は、例えば、異なる利用者端末200でも同じパスワードを発行するようなパスワード生成プログラムを用いる場合よりもセキュリティ強度を高めることができる。
例えば、パスワード生成プログラム234は、認証コード300に基づいてt1からt2の間においては、「Pass#1」をパスワードとして生成し、t2からt3の間においては「Pass#2」をパスワードとして生成し、t3からt4の間においては「Pass#3」をパスワードとして生成し、t4からt5の間においては「Pass#4」をパスワードとして生成し、t5からt6の間においては「Pass#5」をパスワードとして生成する。このときパスワード生成プログラム124は、同様にして認証コード300に基づいてt1からt2の間においては、「Pass#1」をパスワードとして生成し、t2からt3の間においては「Pass#2」をパスワードとして生成し、t3からt4の間においては「Pass#3」をパスワードとして生成し、t4からt5の間においては「Pass#4」をパスワードとして生成し、t5からt6の間においては「Pass#5」をパスワードとして生成する。
次に照合用パスワードテーブル235について説明する。図6は、第2の実施形態の照合用パスワードテーブルを説明するための図である。
照合用パスワードテーブル235は、パスワード生成プログラム234を用いて照合用パスワードを生成して実行した期限付きパスワードを用いた利用者認証のうち認証結果が成功となった照合用パスワードに関する情報が格納されたテーブルである。照合用パスワードテーブル235には、照合用パスワード毎のレコードが登録されている。
照合用パスワードテーブル235は、UserIDの項目と、照合用パスワードの項目と、照合日時の項目とを含む。UserIDの項目は、利用者の利用者識別情報が登録(格納ともいう)される項目である。照合用パスワードの項目は、照合用パスワードが登録される項目である。照合用パスワードの項目には、パスワード生成プログラム234を用いて照合用パスワードを生成して実行した期限付きパスワードを用いた利用者認証のうち認証結果が成功となった照合用パスワードが登録される。照合日時の項目は、照合した日時、すなわち、利用者認証が成功した日時が登録される項目である。
次に有効期間設定ファイル236について説明する。図7は、第2の実施形態の有効期間設定ファイルを説明するための図である。
有効期間設定ファイル236は、利用者端末200を利用する利用者の照合用パスワードテーブル235に格納された照合用パスワードに対して設定される有効期間が格納されたファイルである。有効期間設定ファイル236には、利用者毎のレコードが登録されている。
有効期間設定ファイル236は、UserIDの項目と、有効期間の項目とを含む。UserIDの項目は、利用者の利用者識別情報が登録される項目である。有効期間の項目は、利用者の照合用パスワードテーブル235に格納された照合用パスワードに対して設定される有効期間が登録される項目である。
なおここでは、照合用パスワードテーブル235に格納された照合用パスワードの有効期間を利用者毎に設定するとして説明したがこれに限らない。例えば、情報処理システム10は、有効期間を利用者の属性(例えば、階級、所属部署等)毎に設定するようにしてもよい。
次に期限付きパスワードを用いた利用者認証(期限付きパスワード認証ともいう)の流れについて説明する。図8は、第2の実施形態の期限付きパスワードを用いた利用者認証を説明するための図である。なお、ここでは、利用者が認証用パスワードの新たに発行を受けて行う場合の流れについて説明する。
[ステップS1]代替認証処理部220は、利用者からの期限付きパスワード認証の依頼を受け付ける。代替認証処理部220は、利用者から利用者識別情報を受け付けるとともに期限付きパスワード認証の依頼を受け付ける。なお、代替認証処理部220は、利用者情報テーブル233を参照し、利用者識別情報から特定される利用者が登録されているか否かを判定し、登録されていない場合には期限付きパスワード認証を終了し、登録されている場合にステップS2に進む。
[ステップS2]代替認証処理部220は、期限付きパスワード認証の依頼時に受け付けた利用者識別情報と、端末識別情報232とに基づいて認証コードを生成する。
[ステップS3]代替認証処理部220は、認証用パスワード入力画面を表示して利用者による認証用パスワードの入力を待ち受ける。認証用パスワード入力画面は、認証コードを通知するとともに認証用パスワードの入力を受け付ける画面である。認証用パスワード入力画面については後で図9を用いて説明する。
[ステップS4]代替認証処理部220は、認証用パスワード入力画面を介して利用者に認証コードを取得させる。
[ステップS5]利用者は、管理端末100の管理者に対して認証コードを通知して、認証コードに基づいた認証用パスワードの発行を依頼する。
[ステップS6]パスワード発行処理部110は、管理者からの認証用パスワードの発行の依頼を受け付ける。
[ステップS7]パスワード発行処理部110は、認証用パスワード発行画面を表示して認証コードの入力を待ち受ける。認証用パスワード発行画面は、認証コードの入力を受け付け、受け付けた認証コードに基づいて認証用パスワードを発行する画面である。認証用パスワード発行画面については後で図10を用いて説明する。
[ステップS8]パスワード発行処理部110は、認証用パスワード発行画面を介して管理者から認証コードを取得する。
[ステップS9]パスワード発行処理部110は、現在の日時を取得して、取得した認証コードと、現在の日時とに基づいてパスワード生成プログラム124により、現在の日時における利用者端末200における利用者の認証用パスワードを生成する。
[ステップS10]パスワード発行処理部110は、認証用パスワード発行画面に生成した認証用パスワードを表示する。
[ステップS11]パスワード発行処理部110は、認証用パスワード発行画面を介して管理者に認証用パスワードを取得させる。
[ステップS12]管理者は、利用者に認証用パスワードを通知する。
[ステップS13]代替認証処理部220は、認証用パスワード入力画面を介して利用者から認証用パスワードを取得する。
[ステップS14]代替認証処理部220は、利用者認証処理を行う。利用者認証処理は、認証用パスワードと照合用パスワードとを照合して、正規の利用者であるか否かを認証(判定ともいう)する処理である。利用者認証処理については、後で図12を用いて説明する。
[ステップS15]代替認証処理部220は、利用者認証処理の認証結果を表示する結果画面を表示して、期限付きパスワード認証を終了する。代替認証処理部220は、認証成功という認証結果を得た場合には、認証用パスワードの有効期間を併せて利用者に通知する。
代替認証処理部220は、照合用パスワードテーブル235と、有効期間設定ファイル236とを参照して利用者認証処理において利用した照合用パスワードの残存有効期間を特定する。そして、代替認証処理部220は、特定した照合用パスワードの残存有効期間を、認証用パスワードの有効期間として通知する。結果画面については後で図11を用いて説明する。このように代替認証処理部220は、認証用パスワードの残存有効期間を利用者に通知することにより、再度取得しなければならないタイミングを把握可能にできる。これにより、利用者端末200は、不必要に認証用パスワードの発行を依頼することを抑止でき、利用者の利便性を向上できる。
以上が、利用者が認証用パスワードの新たな発行を受けて期限付きパスワードを用いた利用者認証を行う場合の流れである。なお、既に認証用パスワードを利用者が有している場合には、ステップS3の後にステップS13が行われることとなる。
なお、利用者が管理者に認証用パスワードの発行の依頼を行うとして説明したがこれに限らない。例えば、管理端末100に対して利用者が直接依頼(例えば、予め登録している利用者のスマートフォンなどを介して依頼)を行えるように構成することもできる。
次に認証用パスワード入力画面について図9を用いて説明する。図9は、第2の実施形態の認証用パスワード入力画面の一例を示す図である。認証用パスワード入力画面310は、図8のステップS3で表示される画面である。
認証用パスワード入力画面310は、パスワードを入力する入力欄と、入力が完了した場合に押下するOKボタンと、キャンセルする場合に押下するキャンセルボタンを表示内容に含む。また、認証用パスワード入力画面310は、「管理者から発行された期限付きパスワードを入力してください。」を表示し、認証用パスワード入力画面310が期限付きパスワードを入力する画面であることを利用者に案内している。
また、認証用パスワード入力画面310は、「期限付きパスワードが発行されていない場合は認証コードを管理者に連絡し、期限付きパスワードを発行してもらってください。あなたの認証コードは「w8fX2YC9」です。」を表示している。これにより認証用パスワード入力画面310は、利用者の認証コードが「w8fX2YC9」であり、管理者に連絡することにより期限付きパスワード(すなわち、認証用パスワード)を発行してもらえることを案内している。
次に認証用パスワード発行画面について図10を用いて説明する。図10は、第2の実施形態の認証用パスワード発行画面の一例を示す図である。認証用パスワード発行画面320は、図8のステップS7で表示される画面である。
認証用パスワード発行画面320は、認証コードを入力する入力欄と、認証コードの入力が完了した場合に押下する発行ボタンと、発行された期限付きパスワードが表示される表示欄と、キャンセルする場合に押下するキャンセルボタンを表示内容に含む。
また、認証用パスワード発行画面320は、「利用者から通知された認証コードを入力して「発行」を押下してください。」を表示し、認証用パスワード発行画面320が認証コードを入力する画面であることを利用者に案内している。
次に結果画面について図11を用いて説明する。図11は、第2の実施形態の結果画面の一例を示す図である。なお、ここでは認証成功という認証結果を得た場合の結果画面について説明する。結果画面330は、図8のステップS14における利用者認証処理において認証成功という認証結果を得た場合に図8のステップS15で表示される画面である。
結果画面330は、認証結果を利用者が確認後に押下するOKボタンを表示内容に含む。また、結果画面330は、「認証に成功しました。このパスワードはあと7日間有効です。」を表示し、利用者認証に成功したこと及び認証用パスワードが7日間は利用可能であることを利用者に案内している。
次に利用者認証処理について図12を用いて説明する。図12は、第2の実施形態の利用者認証処理の一例を示すフローチャートである。利用者認証処理は、図8のステップS14において行われる処理である。
[ステップS21]代替認証処理部220は、利用者端末200の現在の日時を取得する。
[ステップS22]代替認証処理部220は、利用者識別情報と、照合用パスワードテーブル235と、有効期間設定ファイル236とに基づいて照合用パスワードテーブル235に利用可能な照合用パスワードが格納されているか否かを判定する。代替認証処理部220は、照合用パスワードテーブル235に格納された利用者の照合用パスワードを特定し、有効期間設定ファイル236を参照して特定した照合用パスワードが利用可能であるか否かを判定する。
[ステップS23]代替認証処理部220は、照合用パスワードテーブル235に利用可能な照合用パスワードが有ると判定した場合にステップS24に進み、利用可能な照合用パスワードが無いと判定した場合にステップS26に進む。
[ステップS24]代替認証処理部220は、図8のステップS13で取得した認証用パスワードと、照合用パスワードテーブル235に格納された利用可能な照合用パスワードとを照合する。
[ステップS25]代替認証処理部220は、認証が成功したと判定した場合に利用者認証処理の認証結果として認証成功を得て利用者認証処理を終了し、認証が失敗したと判定した場合にステップS26に進む。代替認証処理部220は、照合の結果、図8のステップS13で取得した認証用パスワードと、照合用パスワードテーブル235に格納された利用可能な照合用パスワードとが一致した場合に認証が成功したと判定し、一致しなかった場合に認証が失敗したと判定する。
[ステップS26]代替認証処理部220は、認証コードと、現在の日時とに基づいてパスワード生成プログラム234により照合用パスワードを生成する。
[ステップS27]代替認証処理部220は、図8のステップS13で取得した認証用パスワードと、パスワード生成プログラム234により新たに生成した照合用パスワードとを照合する。
[ステップS28]代替認証処理部220は、認証が成功したと判定した場合に利用者認証処理の認証結果として認証成功を得てステップS29に進み、利用者認証処理の認証結果として認証失敗を得て利用者認証処理を終了する。代替認証処理部220は、照合の結果、図8のステップS13で取得した認証用パスワードと、パスワード生成プログラム234により新たに生成した照合用パスワードとが一致した場合に認証が成功したと判定し、一致しなかった場合に認証が失敗したと判定する。
[ステップS29]代替認証処理部220は、照合用パスワードテーブル235を更新する。代替認証処理部220は、利用者識別情報と、パスワード生成プログラム234により新たに生成した照合用パスワードと、照合日時とを照合用パスワードテーブル235に格納し利用者認証処理を終了する。
次に具体例を用いて利用者認証処理の流れについて説明する。図13は、第2の実施形態の利用者認証処理を説明するための図である。
まず、同じ認証用パスワード(具体的には、「Pass#1」)を利用して期限付きパスワード認証における利用者認証処理を行う場合の例を用いて具体的な処理の流れについて説明する。
なお、利用者の認証コードを用いた場合、パスワード生成プログラム124,234は、t1からt2間においては「Pass#1」を生成し、t2からt3間においては「Pass#2」を生成し、t3からt4間においては「Pass#3」を生成し、t4からt5間においては「Pass#4」を生成するものとする。また、照合用パスワードテーブル235には当初(具体的には、t1)利用可能な照合用パスワードが記憶(登録ともいう)されていないものとする。
まず、利用者が利用者端末200を利用しようと考え、t1a(すなわち、認証用パスワードが発行された日時と同一日時間隔内)において「Pass#1」を入力し、期限付きパスワード認証における利用者認証処理の実行を要求した場合について説明する。
このとき照合用パスワードテーブル235は、利用可能な照合用パスワードを記憶していないので、代替認証処理部220は、パスワード生成プログラム234を用いて、利用者認証処理を実行する日時に基づいた照合用パスワードを取得する。具体的には、t1aにおいてパスワード生成プログラム234は、「Pass#1」を生成するので、代替認証処理部220は、「Pass#1」を照合用パスワードとして取得する。
そして、代替認証処理部220、認証用パスワード(具体的には、「Pass#1」)と取得した照合用パスワード(具体的には、「Pass#1」)とを照合する。その結果、代替認証処理部220は、認証用パスワードと照合用パスワードとが一致するので正規の利用者であると判別し、認証が成功となる(すなわち、利用者認証処理の認証結果として認証成功を得る)。
その後、代替認証処理部220は、当該利用者認証処理に用いた利用者認証処理を実行する日時に基づいた照合用パスワードを照合用パスワードテーブル235に有効期間(ここでは、t1aからt3a迄)の間の利用者認証処理に利用可能に格納する。
次に、利用者が、再度、利用者端末200を利用しようと考え、t2a(すなわち、有効期間内)において「Pass#1」を入力し、期限付きパスワード認証における利用者認証処理の実行を要求した場合について説明する。
このとき照合用パスワードテーブル235は、利用者認証処理に利用可能な照合用パスワードとして「Pass#1」を記憶しているので、代替認証処理部220は、照合用パスワードテーブル235から照合用パスワード(「Pass#1」)を取得する。
そして代替認証処理部220は、認証用パスワード(具体的には、「Pass#1」)と取得した照合用パスワード(「Pass#1」)とを照合する。代替認証処理部220は、認証用パスワードと取得した照合用パスワードとが一致するので正規の利用者であると判別し、認証が成功となる(すなわち、利用者認証処理の認証結果として認証成功を得る)。
その後、有効期間が経過すると(具体的にはt3a以降)、代替認証処理部220が「Pass#1」を照合用パスワードとして取得できなくなるので、利用者は、認証用パスワード(「Pass#1」)では正規の利用者であると判別されなくなる。すなわち、利用者は、再度認証用パスワードを発行してもらわなければ、正規の利用者として認証を受けることができなくなる。
次に、異なる認証用パスワード(具体的には、「Pass#1」、「Pass#2」)を利用して期限付きパスワード認証における利用者認証処理を行う場合の例を用いて具体的な処理の流れについて説明する。
なお、利用者の認証コードを用いた場合、パスワード生成プログラム124,234は、t1からt2間においては「Pass#1」を生成し、t2からt3間においては「Pass#2」を生成し、t3からt4間においては「Pass#3」を生成し、t4からt5間においては「Pass#4」を生成するものとする。また、照合用パスワードテーブル235には当初(具体的には、t1)利用可能な照合用パスワードが記憶(登録ともいう)されていないものとする。
まず、利用者が利用者端末200を利用しようと考え、t1a(すなわち、認証用パスワードが発行された日時と同一日時間隔内)において「Pass#1」を入力し、期限付きパスワード認証における利用者認証処理の実行を要求した場合について説明する。
このとき照合用パスワードテーブル235は、利用可能な照合用パスワードを記憶していないので、代替認証処理部220は、パスワード生成プログラム234を用いて、利用者認証処理を実行する日時に基づいた照合用パスワードを取得する。具体的には、t1aにおいてパスワード生成プログラム234は、「Pass#1」を生成するので、代替認証処理部220は、「Pass#1」を照合用パスワードとして取得する。
そして、代替認証処理部220は、認証用パスワード(具体的には、「Pass#1」)と取得した照合用パスワード(具体的には、「Pass#1」)とを照合する。その結果、代替認証処理部220は、認証用パスワードと照合用パスワードとが一致するので正規の利用者であると判別し、認証が成功となる(すなわち、利用者認証処理の認証結果として認証成功を得る)。
その後、代替認証処理部220は、当該利用者認証処理に用いた利用者認証処理を実行する日時に基づいた照合用パスワードを照合用パスワードテーブル235に有効期間(ここでは、t1aからt3a迄)の間の利用者認証処理に利用可能に登録する。
次に、利用者が、再度、利用者端末200を利用しようと考え、t2a(すなわち、有効期間内)において異なる照合用パスワード(具体的には「Pass#2」)を入力し、期限付きパスワード認証における利用者認証処理の実行を要求した場合について説明する。
このとき照合用パスワードテーブル235は、利用者認証処理に利用可能な照合用パスワードとして「Pass#1」を記憶しているので、代替認証処理部220は、照合用パスワードテーブル235から照合用パスワード(「Pass#1」)を取得する。
そして代替認証処理部220は、認証用パスワード(具体的には、「Pass#2」)と取得した照合用パスワード(「Pass#1」)とを照合する。代替認証処理部220は、認証用パスワードと取得した照合用パスワードとが一致しないので認証が失敗となる。代替認証処理部220は、次にパスワード生成プログラム234を用いて、利用者認証処理を実行する日時に基づいた照合用パスワードを取得する。具体的には、t2aにおいてパスワード生成プログラム234は、「Pass#2」を生成するので、代替認証処理部220は、「Pass#2」を照合用パスワードとして取得する。
そして、代替認証処理部220、認証用パスワード(具体的には、「Pass#2」)と取得した照合用パスワード(具体的には、「Pass#2」)とを照合する。その結果、代替認証処理部220は、認証用パスワードと照合用パスワードとが一致するので正規の利用者であると判別し、認証が成功となる(すなわち、利用者認証処理の認証結果として認証成功を得る)。
その後、代替認証処理部220は、当該利用者認証処理に用いた利用者認証処理を実行する日時に基づいた照合用パスワードを照合用パスワードテーブル235に有効期間(ここでは、t2aからt4a迄)の間の利用者認証処理に利用可能に登録する。なお、この場合に、先に登録されている「Pass#1」についてはt2a以降の利用者認証処理で利用不可能にしてもよいし、利用可能なままにしてもよい。
そして、t3a以降になると、代替認証処理部220が「Pass#1」を照合用パスワードとして取得できなくなるので、利用者は、認証用パスワード(「Pass#1」)では正規の利用者であると判別されなくなる。また、t4a以降になると、代替認証処理部220が「Pass#2」を照合用パスワードとして取得できなくなるので、利用者は、認証用パスワード(「Pass#2」)では正規の利用者であると判別されなくなる。すなわち、利用者は、再度認証用パスワードを発行してもらわなければ、正規の利用者として認証を受けることができなくなる。
以上が第2の実施形態の情報処理システム10である。これによれば利用者端末200は、照合用パスワードを生成して実行する期限付きパスワード認証の利用者認証が成功した場合、パスワード変更タイミングに関わらず(同一日時間隔内であるか否かに関わらずともいう)、予め利用者毎に設定した有効期間の利用可能期間を確保できる。このようにパスワード変更タイミングに関わらず、有効期間の利用可能期間を確保することで、利用者端末200は、利用者が認証用パスワードの発行を受ける頻度をコントロールできる。
また、利用者端末200は、認証用パスワードの発行を受けた日時と同一日時間隔内ではなく、なおかつ認証用パスワードによる初回の利用者認証に成功してから有効期間経過後においては、認証用パスワードでは、正規の利用者として認証しないこととなる。すなわち、利用者端末200は、一定の期間経過後には、再度、認証用パスワードの発行を受けなければ利用できなくできるので(正規の利用者として認証しなくなるので)、セキュリティ強度を担保できる。
なお、有効期間設定ファイル236において利用者毎に設定する有効期間は、パスワード生成プログラムのパスワード変更間隔よりも長い期間であるとよい。有効期間をパスワード変更間隔より長くすることで、有効期間経過後においては確実に同一日時間隔外となり、有効期間が経過した認証用パスワードがパスワード生成プログラムによって再度生成され、正規の利用者として認証されることを防止できる。これにより、利用者端末200は、認証用パスワードの初回の利用から利用可能な期間を均一にすることができる(すなわち、予め利用者毎に設定した有効期間だけとすることができる)。
上記で説明した本発明の利用者端末200および管理端末100の処理機能は、コンピュータによって実現することができる。この場合、利用者端末200および管理端末100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ等がある。光ディスクには、CD(Compact Disc)−ROM(Read Only Memory)/RW(ReWritable)等がある。光磁気記録媒体には、MO(Magneto Optical disk)等がある。
プログラムを流通させる場合、例えば、そのプログラムが記録されたCD−ROM等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLD等の電子回路で実現することもできる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。