以下、本発明を実施するための形態(実施形態)について添付図面を参照して詳細に説明する。
〔実施形態1〕
本発明の実施形態1について説明する。図1(a)は本実施形態のクライアントの構成例を示すブロック図であり、図1(b)は本実施形態のサーバの構成例を示すブロック図である。本実施形態では、クライアント及びサーバの例をPC(Personal Computer)として説明するが、PCに限定されず、その他の情報処理装置であってもよい。
本実施形態のクライアントであるPC1について説明する。PC1は、例として、ある企業の社員(ユーザ)により使用され、社外に持ち出された、会社所有のモバイル型PCであるとする。
PC1は、図1(a)に示すように、操作手段11、表示手段12、記憶手段13、生成手段14、認証手段15、ポリシ変更手段16を備える。
操作手段11は、PC1に対してユーザが指示や選択などを行うときに操作を行う手段である。操作手段11を実現するハードウェアとしては、マウスやキーボード等が挙げられる。
表示手段12は、ユーザに対して各種情報を画面に表示する手段である。表示手段12は、ユーザの指示を受け、記憶手段13に記憶されている認証用の画面や、生成手段14で生成されたチャレンジコードを表示する。表示手段12を実現するハードウェアとしては、ビデオカード及びディスプレイ等が挙げられる。
記憶手段13は、各種情報を記憶しておく手段である。記憶手段13は、生成される臨時認証用情報の元となるシード(第1の文字列)と、その臨時認証用情報の使用条件が定義されたポリシとを対応付けた組を複数記憶する。以下、臨時認証用情報の例をパスワード(以下臨時パスという)として説明する。シードは、複数の文字からなる文字列である。ポリシに定義される臨時パスの使用条件は、生成される臨時パスの使用を制限するための条件であり、例えば臨時パスを使用できる時間及び回数の少なくとも一方を含む。なお、シードをどのような文字列にするか、ポリシをどのような定義とするか、どのシードにどのポリシが対応付けられるかは、例えば管理者により予め用意されて記憶手段13に設定される。記憶手段13を実現するハードウェアとしては、フラッシュメモリやハードディスク等が挙げられる。
生成手段14は、上記シードと、自らが生成したチャレンジコード(第2の文字列)とを基にして、臨時パスを生成する手段である。生成手段14は、生成した臨時パスを、記憶手段13に格納するか又は生成手段14自身で記憶しておく。チャレンジコードは複数の文字からなる文字列であり、生成手段14は乱数を発生させてチャレンジコードを生成する。生成手段14を実現するハードウェアとしては、CPU(Central Processing Unit)及びメモリ(RAM(Random Access Memory)、ROM(Read Only Memory))等が挙げられる。
認証手段15は、ユーザにより入力された臨時パスと、生成手段14で生成された臨時パスとを照合し、ユーザがPC1の正規の利用者であるか否かを認証する手段である。認証手段15は、ユーザにより入力された臨時パスと、生成手段14で生成された臨時パスとが一致する場合に、認証成功(ユーザがPC1の正規の利用者である)と判断する。認証手段15を実現するハードウェアとしては、CPU及びメモリ(RAM、ROM)等が挙げられる。
ポリシ変更手段16は、認証手段15にて認証成功の場合、適用するポリシを、ユーザにより入力された臨時パスの元となったシードに対応付けられているポリシを基に、臨時パスの使用条件がより限定されるポリシに変更する手段である。ポリシ変更手段16を実現するハードウェアとしては、CPU及びメモリ(RAM、ROM)等が挙げられる。
次に、本実施形態のサーバであるPC2について説明する。PC2は、例として、上記企業の社員(管理者)により管理・使用され、社内に設置された、会社所有のデスクトップ型PCであるとする。
PC2は、図1(b)に示すように、操作手段21、表示手段22、記憶手段23、生成手段24を備える。
操作手段21は、PC2に対して管理者が指示や選択などを行うときに操作を行う手段である。操作手段21を実現するハードウェアとしては、マウスやキーボード等が挙げられる。
表示手段22は、管理者に対して各種情報を画面に表示する手段である。表示手段22は、ユーザの指示を受け、記憶手段23に記憶されているシードとポリシの組や、生成手段24で生成された臨時パスを表示する。表示手段22を実現するハードウェアとしては、ビデオカード及びディスプレイ等が挙げられる。
記憶手段23は、各種情報を記憶しておく手段である。記憶手段23は、PC1の記憶手段13と同様に、生成される臨時パスの元となるシードと、その臨時パスの使用条件が定義されたポリシとを対応付けた組を複数記憶する。すなわち、記憶手段13と記憶手段23は、同一の内容を記憶することになる。ただし、記憶手段23では、PC1に設定・記憶されているシードがどれであるのかを管理者が識別・把握するために、上記シードとポリシの組毎に、さらにPC1のID(識別情報の一例)が対応付けられる。なお、どの組にどのPC1のIDが対応付けられるかは、例えば管理者により予め用意されて記憶手段13に設定される。記憶手段13を実現するハードウェアとしては、フラッシュメモリやハードディスク等が挙げられる。
生成手段24は、PC1の生成手段14と同様に、上記シードと、予め用意(ユーザから通知)されたチャレンジコードとを基にして、臨時パスを生成する手段である。すなわち、生成手段14と生成手段24は、同一の臨時パスを生成することになる。生成手段24は、生成した臨時パスを、記憶手段23に格納するか又は生成手段24自身で記憶しておく。このとき、生成した臨時パス毎に、その臨時パスの元となったシードと組になっているポリシが対応付けられるようにしてもよい。これにより、管理者は、どの臨時パスにどのポリシが対応付けられているかを識別・把握することができ、ユーザに臨時パスを伝達するときに便利である。生成手段14を実現するハードウェアとしては、CPU及びメモリ(RAM、ROM)等が挙げられる。
以上のように構成されたPC1とPC2の動作例について説明する。まず、認証前の準備段階として、管理者の操作によりPC1及びPC2において図2に示すフローが実行される。
管理者は、PC2において操作手段21と表示手段22を用いて、シードとポリシの組を複数作成し、作成したシードとポリシの組をPC2の記憶手段23に複数記憶させる(S1)。このとき記憶手段23に記憶されるシードとポリシの組の例を図4(a)に示す。図4(a)に示すように、シードAとポリシA、シードBとポリシB、シードCとポリシC、シードDとポリシD、シードEとポリシEがそれぞれ対応付けられて組となっており、全部で5つの組が記憶される。シードA、B、C、D、Eは、それぞれが互いに異なる文字列である。また、ポリシA、B、C、D、Eも、それぞれが異なる内容である。
シードA、B、C、D、Eは、チャレンジコードとともに、生成される臨時パスの元となる文字列である。以下の説明では、例えば、シードAを元に生成された臨時パスを「臨時パスA」と呼ぶことにする。シードB〜Eについても同様に呼ぶ。臨時パスA、B、C、D、Eは、それぞれが互いに異なる文字列となる。そして、本実施形態では、臨時パスAは、ユーザが使用できる回数(使用可能回数)が残り5回以下の臨時パスであるとする。また、臨時パスBは、使用可能回数が残り4回以下の臨時パスであるとする。また、臨時パスCは、使用可能回数が残り3回以下の臨時パスであるとする。また、臨時パスDは、使用可能回数が残り2回以下の臨時パスであるとする。また、臨時パスEは、使用可能回数が残り1回の臨時パスであるとする。
ここで、ポリシの内容についてポリシAを例に説明する。図4(a)に示すように、ポリシAでは「シードAを元にした臨時パスAが入力されたら、次の認証では使用可能回数が4回以下に該当する臨時パスが使用可能となる」と定義されている。この定義は、「シードAを元に生成された臨時パスAをユーザが入力した場合、次の認証を行うときにユーザが使用できる臨時パスは、使用可能回数が残り4回以下に該当する臨時パスとなる」ことを意味する。よって、臨時パスA(使用可能回数が残り5回以下の臨時パス)が入力された場合、次に入力できる臨時パスは、シードB〜Eを元に生成された臨時パスB〜E(使用可能回数が残り4回以下に該当する臨時パス)となる。つまり、ポリシAにおける「残り4回以下に該当する臨時パス」とは、残り4回以下の臨時パスBだけを指すのではなく、「残り4回以下」という条件を満たしている回数(3回、2回、1回)の臨時パスC、D、Eも含む。説明は省略するが、ポリシB〜EもポリシAと同様の定義・意味である。
管理者は、PC2の記憶手段23に記憶させたシードとポリシの組のうち所望の組を選択し、選択した組をPC1の記憶手段13に記憶させる(S2)。この動作は、管理者自身がPC1を直接操作することで行われてもよいし、あるいは、管理者が、所望の組をPC2からPC1へ有線又は無線を介して送信することで行われてもよい。ここでは例として、PC1の記憶手段13には、PC2の記憶手段23と同じ組、すなわち図4(a)に示す5つのシードとポリシの組が記憶されるとする。
管理者は、何らかの手段でPC1のID(識別情報の一例)を取得し、取得したPC1のIDと、PC1の記憶手段13に記憶させたシードとポリシの組とを対応付け、PC2の記憶手段23に記憶させる(S3)。ここでは、記憶手段13と記憶手段23に記憶されたシードとポリシの組は同一であるので、記憶手段23には、図4(a)に示す5つの組に対して、PC1のIDが対応付けられる。
なお、本実施形態では、PC2において、PC1だけにシードとポリシの組を記憶させる例について説明したが、PC1以外のPC(複数でもよい)にもシードとポリシの組を記憶させてもよい。よって、PC2は、複数のPCにシードとポリシの組を記憶させ、それらの組をPC2自身でも記憶し、各PCのIDと対応付けて管理することができる。
このように図2に示す準備段階が終わった後で、図3に示すフローが可能となる。図3の動作は、例として、ユーザが会社所有のPC1を社外へ持ち出して使用しようとしたが、PC1自体を使用可能な状態にするためのパスワード(OSへログインするためのパスワード)を忘れてしまい、社内の管理者にその旨を連絡して臨時パスを発行してもらう場合とする。また、例として、管理者が互いに異なる複数の臨時パスをユーザに伝えることで、ユーザがそれらを1回ずつ使用でき、結果として臨時パスを複数回使用できるようになる場合とする。また、例として、ユーザはPC1の他に携帯電話を所持しており、管理者はPC2の他に携帯電話を所持しているとする。
ユーザは、PC1の電源を投入する。これにより、PC1の表示手段12は、認証用の画面(パスワード入力画面)を表示する。ユーザは、その認証用の画面上で所定の操作を行うことで、PC1にチャレンジコードの生成を指示する。この指示を受けると、生成手段14は、乱数を発生させ、複数の文字列からなるチャレンジコードを生成する(S11)。ここでは、1つのチャレンジコードが生成される。表示手段12は、そのチャレンジコードを表示する。
ユーザは、携帯電話を用いて、管理者に対し、臨時パスの発行を要求するとともに、表示手段12に表示されたチャレンジコードと、例えばPC1の表面上に記載されているPC1のIDとを伝達する(S12)。この要求と伝達は、携帯電話における音声通話とメールのどちらで行われてもよい。
管理者は、携帯電話にて、ユーザから、臨時パスの発行の要求を受けるとともに、チャレンジコードとPC1のIDとを入手する(S13)。
ここで、管理者は、PC2において、PC1のIDを検索キーとして入力し、記憶手段24の中から、PC1のIDに対応付けられて記憶されているシードとポリシの組を検索する。図3で説明したように、記憶手段23には予め、PC1のIDと、シードとポリシの組とが対応付けられている。検索されたシードとポリシの組は、表示手段22に表示される。ここでは、図4(a)に示す5つのシードとポリシの組が表示されることになる。これにより、PC1に記憶されているシードとポリシが特定され、管理者は、PC1にどのようなシードとポリシが記憶されているのかを認識できる。その後、管理者からの入力及び指示を受け、生成手段24は、特定されたシードとチャレンジコードを基に臨時パスを生成する(S14)。ここでは、シードAとチャレンジコードを基に生成された臨時パスA、シードBとチャレンジコードを基に生成された臨時パスB、シードCとチャレンジコードを基に生成された臨時パスC、シードDとチャレンジコードを基に生成された臨時パスD、シードEとチャレンジコードを基に生成された臨時パスEの5つの臨時パスが生成される。生成された5つの臨時パスは、記憶手段23又は生成手段24に記憶され、表示手段22に表示される。このとき、5つの臨時パス毎に、元になったシードとそのシードと同組のポリシとが対応付けられて、記憶、表示されてもよい。
一方、PC1では、S11におけるチャレンジコードの生成後、生成手段14が、記憶手段13に記憶されているシードと、自らが生成したチャレンジコードとを基に、臨時パスを生成する(S15)。図3で説明したように、記憶手段13には、図4(a)に示す5つのシードとポリシの組が記憶されているので、これら5つのシードA〜Eが生成に使用される。すなわち、生成手段14においても、PC2の生成手段24と同様に、シードAとチャレンジコードを基に生成された臨時パスA、シードBとチャレンジコードを基に生成された臨時パスB、シードCとチャレンジコードを基に生成された臨時パスC、シードDとチャレンジコードを基に生成された臨時パスD、シードEとチャレンジコードを基に生成された臨時パスEの5つの臨時パスが生成される。これら5つの臨時パスは、認証のときに正解となるパスワード(正解パス)の集合である。生成された5つの臨時パスは、正解パスの集合として、記憶手段13又は生成手段14に記憶される。このとき、5つの臨時パス毎に、元になったシードとそのシードと同組のポリシとが対応付けられて、記憶されてもよい。
このようにして、PC1とPC2では、5つの臨時パスA〜Eが保持されることになる。このときの状態を初期状態と呼ぶことにする。初期状態では、適用されるポリシは特に何も制限されていない状態であり、図4(b)に示すように、臨時パスA〜Eの5つ全てが使用可能となる。すなわち、初期状態は、PC1において臨時パスが複数回使える状態となっているので、セキュリティが脆弱である。
管理者は、表示手段22に表示された5つの臨時パス及びポリシを見て、ユーザとPC1の状況や問題を考慮し、5つの臨時パスの中から所望のものを選択し、選択した臨時パスとその使用順を、携帯電話を用いてユーザに伝達する(S16)。この伝達は、携帯電話における音声通話とメールのどちらで行われてもよい。ここでは例として、5つの臨時パスA〜EのうちC、D、Eの3つが選択され、使用してよい臨時パスはC、D、Eの3つであることと、使用順はC→D→Eの順であることがユーザに伝達されたとする。
ユーザは、携帯電話にて、臨時パスC、D、Eとその使用順を入手する(S17)。なお、この時点において、臨時パスA、Bはユーザに伝達されていないが、正解パスのままであり、認証には有効である。
そして、ユーザは、PC1の表示手段12に表示される認証用の画面において、所定の入力欄に臨時パスCを入力し、認証実行の指示をする(S18)。
認証手段15は、ユーザにより入力された臨時パスCが、生成手段14により生成された臨時パス(正解パス)の中にあるかどうかを判断し、ある場合は認証成功、ない場合は認証失敗とする(S19)。ここでは、S15で生成手段14により生成された正解パスは、A、B、C、D、Eの5つであるので、入力された臨時パスCが存在する。よって、認証成功となる(S19/YES)。
認証が成功すると、ポリシ変更手段16は、入力された臨時パスの元となったシードと、そのシードと同組のポリシとを特定し、特定したポリシを基に、適用するポリシを変更する(S20)。ここでは、ポリシ変更手段16は、入力された臨時パスCを基に、シードCとポリシCとを特定する。そして、臨時パスCの使用前に適用されるポリシは特に何も制限されていない状態であったが、ポリシ変更手段16により、特定されたポリシCに変更される。このポリシCは、図4(a)に示すように「シードCを元にした臨時パスCが入力されたら、次の認証では使用可能回数が2回以下に該当する臨時パスが使用可能となる」と定義されている。この定義は、「シードCを元に生成された臨時パスCをユーザが入力した場合、次の認証を行うときにユーザが使用できる臨時パスは、使用可能回数が残り2回以下に該当する臨時パスD、Eとなる」という意味である。すなわち、ポリシCは、シードA、シードB、シードCに対応する臨時パスA、臨時パスB、臨時パスCを使用禁止することによって、実現される。つまり、適用されるポリシが特に何も制限されていない状態からCに変更されることで、次回の認証では、臨時パスの使用条件がより限定されることになる。
ポリシ変更手段16によりポリシ変更が行われると、生成手段14は、正解パス変更手段として機能し、変更されたポリシに応じて、記憶手段13又は生成手段14に記憶されている正解パスの集合を変化させる。ここでは、生成手段15は、変更されたポリシCに基づいて、初期状態のときに正解パスであった臨時パスA〜Eの集合からA、B、Cを削除し、臨時パスD、Eだけを新たな正解パスの集合とする。よって、図4(b)に示すように、臨時パスCの使用後は、ユーザが使用できる臨時パスはDとEの2つになり、ユーザが元々知らない臨時パスA、Bとユーザが一度使用した臨時パスCは使用できなくなる。
従って、本実施形態によれば、臨時パスが複数回使用できる状態にある場合、所定の臨時パスの使用後に、その他の臨時パスを使用できなくすることで、セキュリティを向上させることができる。
ポリシの変更後は、PC1においてログインが許可される(S21)。
臨時パスCを使用してのログイン後、ユーザは、臨時パスを使う必要がないように固定パスの再設定を行うのが一般的である。しかし、固定パスの再設定を行う前に、ユーザがPC1の電源を落とすなどしてログアウトしてしまい、再度の認証が必要となる場合がある。そのような場合、本実施形態では、ユーザは、再度管理者に連絡をとることなく、先に伝達されていた臨時パスD、Eを使用して認証を行うことができる。そして、管理者は、そのような可能性を鑑み、臨機応変にユーザの特性や状況に応じたポリシを設定することができる。
ユーザは、次の使用順は臨時パスDであると伝えられているので、PC1の表示手段12に表示された認証用の画面に臨時パスDを入力する(S18)。認証手段15は、入力された臨時パスDが、正解パスの集合である臨時パスD、Eの中にあるので、認証成功とする(S19)。
認証が成功すると、ポリシ変更手段16は、入力された臨時パスDを基に、シードDとポリシDとを特定する。ここでは、臨時パスDの使用前に適用されるポリシはポリシCであったが、ポリシ変更手段16により、特定されたポリシDに変更される。このポリシDは、図4(a)に示すように「シードDを元にした臨時パスDが入力されたら、次の認証では使用可能回数が1回に該当する臨時パスが使用可能となる」と定義されている。この定義は、「シードDを元に生成された臨時パスDをユーザが入力した場合、次の認証を行うときにユーザが使用できる臨時パスは、使用可能回数が残り1回に該当する臨時パスEとなる」という意味である。つまり、適用されるポリシがCからDに変更されることで、次回の認証では、臨時パスの使用条件がより限定されることになる。
また、ポリシ変更が行われたので、生成手段14は、変更されたポリシDに基づいて、臨時パスDの使用前のときに正解パスであった臨時パスD、Eの集合からDを削除し、臨時パスEだけを新たな正解パスとする。よって、図4(b)に示すように、臨時パスDの使用後は、ユーザが使用できる臨時パスはEの1つだけになり、臨時パスA〜Dは使用できなくなる。
臨時パスDを使用してのログイン後、何らかの理由により、固定パスの再設定を行う前に再度の認証が必要となった場合には、ユーザは、臨時パスEを使用して認証を行うことができる。その場合、これまでの説明と同様にして、臨時パスEを用いてのパス入力(S18)、認証(S19)、ポリシ変更(S20)が行われる。
S20のポリシ変更の際、ポリシ変更手段16は、臨時パスEの使用前に適用されていたポリシDから、特定したポリシEに変更する。このポリシEは、図4(a)に示すように「シードEを元にした臨時パスEが入力されたら、いずれの臨時パスも使用不可能となる」と定義されている。この定義は、「シードEを元に生成された臨時パスEをユーザが入力した場合、どの臨時パスも使用できなくなり、次の認証はない」という意味である。つまり、適用されるポリシがDからEに変更されることで、次回の認証では、臨時パスの使用条件がさらに限定される。
また、ポリシ変更が行われたので、生成手段14は、変更されたポリシEに基づいて、臨時パスEの使用前のときに正解パスであった臨時パスEを削除する。これにより、正解パスはなくなる。よって、図4(b)に示すように、臨時パスEの使用後は、ユーザが使用できる臨時パスは1つもなくなる。すなわち、次の認証は、現在生成されている臨時パスでは不可能となる。
なお、上記図3の説明において、ユーザが使用順を守らずに、例えば臨時パスEを最初に使用してログインした場合、上述したように、ポリシ変更手段16により、臨時パスEの使用前に適用されていたポリシA〜Eの全部から、特定されたポリシEに変更される。つまり、次回の認証に適用されるポリシがA〜Eの全部からEに変更されることで、臨時パスの使用条件がより限定される。そして、ポリシの変更により正解パスもなくなる。よって、図4(b)に示すように、臨時パスEの使用後は、ユーザが知らない臨時パスA、Bだけでなく、未使用の臨時パスC、Dも使用できなくなる。すなわち、次の認証は、現在生成されている臨時パスでは不可能となる。
〔実施形態2〕
本発明の実施形態2について説明する。上記実施形態1では、臨時パスを複数回使用できる場合の例として、互いに異なる複数の臨時パスがユーザに伝達され、ユーザはそれらを1回ずつ使用できるようにする場合について説明した。本実施形態では、臨時パスを複数回使用できる場合の別の例として、単一のパスがユーザに伝達され、ユーザはその臨時パスを制限時間内に複数回使用できるようにする場合について説明する。
本実施形態におけるPC1とPC2の動作は、上記実施形態1の図2、図3と同様である。すなわち、まず管理者により、PC1(記憶手段13)とPC2(記憶手段23)において、シードとポリシの組が複数記憶される。ここでは、PC1とPC2に記憶される組は同一であるとする。ただし、PC2では、PC1のIDを、PC1に記憶させたシードとポリシの組に対応付けて記憶される。PC1とPC2に記憶されたシードとポリシの組の例を図5(a)に示す。図5(a)に示すように、シードVとポリシV、シードWとポリシW、シードXとポリシX、シードYとポリシY、シードZとポリシZがそれぞれ対応付けられて組となっており、全部で5つの組が記憶されている。シードV、W、X、Y、Zは、それぞれが互いに異なる文字列である。また、ポリシV、W、X、Y、Zも、それぞれが異なる内容である。
シードV、W、X、Y、Zは、チャレンジコードとともに、生成される臨時パスの元となる文字列である。以下の説明では、例えば、シードVを元に生成された臨時パスを「臨時パスV」と呼ぶことにする。シードW〜Zについても同様に呼ぶ。臨時パスV、W、X、Y、Zは、それぞれが互いに異なる文字列となる。そして、本実施形態では、臨時パスVは、ユーザが使用できる時間(使用可能時間)が1時間であり、かつ、ユーザが使用できる回数(使用可能回数)が残り5回の臨時パスであるとする。また、臨時パスWは、使用可能時間が1時間であり、かつ、使用可能回数が残り4回の臨時パスであるとする。また、臨時パスXは、使用可能時間が1時間であり、かつ、使用可能回数が残り3回の臨時パスであるとする。また、臨時パスYは、使用可能時間が1時間であり、かつ、使用可能回数が残り2回臨時パスであるとする。また、臨時パスZは、使用可能時間が1時間であり、かつ、使用可能回数が1回の臨時パスであるとする。
ここで、ポリシの内容についてポリシVを例に説明する。ポリシVでは「シードVを元にした臨時パスVが1時間以内に入力されたら、同じ臨時パスVを1時間以内に残り4回使用可能となる」と定義されている。この定義は、「1時間以内において、臨時パスVをユーザが入力した場合、ユーザは臨時パスVのみを残り4回使用できる」ことを意味する。説明は省略するが、ポリシW〜ZもポリシVと同様の定義・意味である。
その後、ユーザと管理者との間では、図3のS11〜S15と同様の動作が行われる(説明は省略)。すなわち、PC1とPC2において、シードVとチャレンジコードを基に生成された臨時パスV、シードWとチャレンジコードを基に生成された臨時パスW、シードXとチャレンジコードを基に生成された臨時パスX、シードYとチャレンジコードを基に生成された臨時パスY、シードZとチャレンジコードを基に生成された臨時パスZの5つの臨時パスが生成される。PC1において、5つの臨時パスV、W、X、Y、Zは、正解パスの集合として、記憶手段13又は生成手段14に記憶される。なお、PC1では、図示しないタイマ手段(例えばCPU、RAMで実現)によって、5つの臨時パスが生成された時点からの時間を計測する。
このようにして、PC1とPC2では、5つの臨時パスV〜Zが保持されることになる。このときの状態を初期状態と呼ぶことにする。初期状態では、適用されるポリシは特に何も制限されていない状態であり、図5(b)に示すように、臨時パスV〜Zの5つ全てが使用可能となる。すなわち、初期状態は、PC1において臨時パスが複数回使える状態となっているので、セキュリティが脆弱である。
管理者は、ユーザとPC1の状況や問題を考慮し、5つの臨時パスの中から所望のものを1つ選択し、選択した臨時パスを、携帯電話を用いてユーザに伝達する(S16)。ここでは、臨時パスYが選択され、使用してよい臨時パスがYであることと、その使用条件は1時間以内で2回であることが、ユーザに伝達されたとする。
ユーザは、携帯電話にて、臨時パスYを入手する(S17)。なお、この時点において、臨時パスV、W、Xはユーザに伝達されていないが、正解パスのままであり、認証には有効である。
そして、ユーザは、PC1の表示手段12に表示される認証用の画面において、所定の入力欄に臨時パスYを入力し、認証実行の指示をする(S18)。
認証手段15は、タイマ手段による計測が1時間以内であれば、ユーザにより入力された臨時パスYが、生成手段14により生成された臨時パス(正解パス)の集合の中にあるかどうかを判断し、ある場合は認証成功、ない場合は認証失敗とする(S19)。ここでは、S15で生成手段14により生成された正解パスは、V、W、X、Y、Zの5つであるので、入力された臨時パスYが存在する。よって、認証成功となる(S19/YES)。このとき、PC1では、図示しないカウント手段(例えばCPU、RAMで実現)により、臨時パスYの使用回数を1としてカウントし、記憶する。
認証が成功すると、ポリシ変更手段16は、入力された臨時パスYの元となったシードYと、そのシードYと同組のポリシYとを特定し、特定したポリシYを基に次回の認証に適用するポリシを変更する(S20)。ここでは、臨時パスYの使用前に適用されるポリシは特に何も制限されていない状態であったが、ポリシ変更手段16により、特定されたポリシYに変更される。このポリシYは、図5(a)に示すように「シードYを元にした臨時パスYが1時間以内に入力されたら、同じ臨時パスYを1時間以内に残り1回使用可能となる」と定義されている。この定義は、「1時間以内において、臨時パスYをユーザが入力した場合、ユーザは臨時パスYのみを残り1回使用できる」という意味である。すなわち、ポリシYは、シードV、シードW、シードX、シードZに対応する臨時パスV、臨時パスW、臨時パスX、臨時パスZを使用禁止することによって、実現される。つまり、適用されるポリシがポリシYに変更されることで、これまでの特に何も制限されていない状態よりも、臨時パスの使用条件がより限定されることになる。
ポリシ変更手段16によりポリシ変更が行われると、生成手段14(又は図示しない正解パス変更手段)は、変更されたポリシに応じて、記憶手段13又は生成手段14に記憶されている正解パスの集合を変化させる。ここでは、生成手段14は、変更されたポリシYに基づいて、初期状態のときに正解パスであった臨時パスV〜Zの集合の中からV、W、X、Zを削除し、臨時パスYだけを正解パスとする。よって、図5(b)に示すように、臨時パスYの1回目の使用後は、ユーザが使用できる臨時パスはYの1つだけになるとともにその使用回数は1回だけとなり、次回の認証では、ユーザが元々知らない臨時パスV、W、X、Zは使用できなくなる。
従って、本実施形態によれば、臨時パスが複数回使用できる状態にある場合、所定の臨時パスの使用後に、その他の臨時パスを使用できなくすることで、セキュリティを向上させることができる。
ポリシの変更後はPC1においてログインが許可される(S21)。
臨時パスYを使用してのログイン後、何らかの理由により、固定パスの再設定を行う前に再度の認証が必要となった場合、本実施形態では、ユーザは、再度管理者に連絡をとることなく、1時間以内であれば再度臨時パスYを使用して認証を行うことができる。そして、管理者は、そのような可能性を鑑み、臨機応変にユーザの特性や状況に応じたポリシを設定することができる。
ユーザは、再度、PC1の表示手段12に表示された認証用の画面に臨時パスYを入力する(S18)。認証手段15は、タイマ手段による計測が1時間以内であることを認識した後、入力された臨時パスYが正解パスYに該当すると判断し、認証成功とする(S19)。このとき、カウント手段は、臨時パスYの使用回数を2としてカウントし、記憶する。
認証が成功すると、ポリシ変更手段16は、入力された臨時パスYを基にポリシYを特定する。ここで、ポリシ変更手段16は、ポリシYの特定が2回目であること(既にポリシYが適用中であること)を認識し、カウント手段のカウント数を基に、現在適用中のポリシYの内容を変更するかどうかを判断する。ここでは、カウント数は2となっているので、現在適用中のポリシYで定義されている臨時パスの使用条件「シードYを元にした臨時パスYが1時間以内に入力されたら、同じ臨時パスYを1時間以内に残り1回使用可能となる」は満たされたことになる。よって、ポリシ変更手段16は、現在適用中のポリシYの内容を「いずれの使用パスも使用不可能となり、次の認証はない」(ポリシZの後半部分と同じ)に変更する。つまり、変更後のポリシYが適用されるようになることで、臨時パスの使用条件がさらに限定されることになる。
また、ポリシ変更が行われたので、生成手段14は、さらに変更されたポリシYに基づいて、臨時パスYの2回目の使用前(1回目の使用後)のときには正解パスであった臨時パスYを削除する。これにより、正解パスはなくなる。よって、図5(b)に示すように、臨時パスYの2回目の使用後は、ユーザが使用できる臨時パスはなくなる。すなわち、次の認証は、現在生成されている臨時パスでは不可能となる。
〔実施形態3〕
本発明の実施形態3について説明する。上述した実施形態1及び2では、PC1とPC2においてシードとポリシとを対応付けた組を予め記憶しておき、そのシードとチャレンジコードを基に臨時パスを生成する例について説明したが、本実施形態では、シード及びチャレンジコードを使用しない例について説明する。
図6(a)に本実施形態のクライアントの構成例を示し、図1(b)に本実施形態のサーバの構成例を示す。実施形態1で説明した図1(a)及び(b)に示す構成と比較すると、本実施形態のクライアント及びサーバでは生成手段14及び24を備えない構成となっている。生成手段以外は、図1(a)及び(b)に示す構成と同様であるので、説明を省略する。
以上のように構成されたPC1とPC2の動作例について説明する。まず、認証前の準備段階として、管理者の操作によりPC1及びPC2において図1(c)に示すフローが実行される。
管理者は、PC2において操作手段21と表示手段22を用いて、臨時パスとポリシの組を複数作成し、作成した臨時パスとポリシの組をPC2の記憶手段23に複数記憶させる(S31)。臨時パスとポリシの組の例としては、臨時パスAとポリシA、臨時パスBとポリシB、臨時パスCとポリシC、臨時パスDとポリシD、臨時パスEとポリシEがそれぞれ対応付けられて組となっており、全部で5つの組が記憶される。なお、これら5つの組は、図4(a)に示す5つの組において、「シード」が「臨時パス」に置き換えられたものと同様になる。臨時パスA、B、C、D、Eは、それぞれが互いに異なる文字列である。本実施形態では、管理者が、任意の方法により各臨時パスA〜Eの文字列を選択・決定するものとする。また、ポリシA、B、C、D、Eも、それぞれが異なる内容である。
本実施形態では、臨時パスAは、ユーザが使用できる回数(使用可能回数)が残り5回以下の臨時パスであるとする。また、臨時パスBは、使用可能回数が残り4回以下の臨時パスであるとする。また、臨時パスCは、使用可能回数が残り3回以下の臨時パスであるとする。また、臨時パスDは、使用可能回数が残り2回以下の臨時パスであるとする。また、臨時パスEは、使用可能回数が残り1回の臨時パスであるとする。
ここで、ポリシの内容についてポリシAを例に説明する。図4(a)に示すように、ポリシAでは「臨時パスAが入力されたら、次の認証では使用可能回数が4回以下に該当する臨時パスが使用可能となる」と定義されている。この定義は、「臨時パスAをユーザが入力した場合、次の認証を行うときにユーザが使用できる臨時パスは、使用可能回数が残り4回以下に該当する臨時パスとなる」ことを意味する。よって、臨時パスA(使用可能回数が残り5回以下の臨時パス)が入力された場合、次に入力できる臨時パスは、臨時パスB〜E(使用可能回数が残り4回以下に該当する臨時パス)となる。つまり、ポリシAにおける「残り4回以下に該当する臨時パス」とは、残り4回以下の臨時パスBだけを指すのではなく、「残り4回以下」という条件を満たしている回数(3回、2回、1回)の臨時パスC、D、Eも含む。説明は省略するが、ポリシB〜EもポリシAと同様の定義・意味である。
管理者は、PC2の記憶手段23に記憶させた臨時パスとポリシの組のうち所望の組を選択し、選択した組をPC1の記憶手段13に記憶させる(S32)。この動作は、管理者自身がPC1を直接操作することで行われてもよいし、あるいは、管理者が、所望の組をPC2からPC1へ有線又は無線を介して送信することで行われてもよい。ここでは例として、PC1の記憶手段13には、PC2の記憶手段23と同じ組、すなわちA〜Eの5つの臨時パスとポリシの組が記憶されるとする。これら5つの臨時パスは、認証のときに正解となるパスワード(正解パス)の集合である。
管理者は、何らかの手段でPC1のID(識別情報の一例)を取得し、取得したPC1のIDと、PC1の記憶手段13に記憶させた臨時パスとポリシの組とを対応付け、PC2の記憶手段23に記憶させる(S33)。ここでは、記憶手段13と記憶手段23に記憶された臨時パスとポリシの組は同一であるので、記憶手段23には、A〜Eの5つの組に対して、PC1のIDが対応付けられる。
なお、本実施形態では、PC2において、PC1だけに臨時パスとポリシの組を記憶させる例について説明したが、PC1以外のPC(複数でもよい)にも臨時パスとポリシの組を記憶させてもよい。よって、PC2は、複数のPCに臨時パスとポリシの組を記憶させ、それらの組をPC2自身でも記憶し、各PCのIDと対応付けて管理することができる。
このように図6(c)に示す準備段階が終わった後で、図7に示すフローが可能となる。図7の動作は、上記実施形態1、2における図3の説明の例と同じシチュエーションとする。
ユーザは、携帯電話を用いて、管理者に対し、臨時パスの発行を要求するとともに、例えばPC1の表面上に記載されているPC1のIDを伝達する(S41)。この要求と伝達は、携帯電話における音声通話とメールのどちらで行われてもよい。
管理者は、携帯電話にて、ユーザから、臨時パスの発行の要求を受けるとともに、PC1のIDを入手する(S42)。
ここで、管理者は、PC2において、PC1のIDを検索キーとして入力し、記憶手段24の中から、PC1のIDに対応付けられて記憶されている臨時パスとポリシの組を検索する。図1(c)で説明したように、記憶手段23には予め、PC1のIDと、シードとポリシの組とが対応付けられている。検索された臨時パスとポリシの組は、表示手段22に表示される。ここでは、A〜Eの5つの臨時パスとポリシの組が表示されることになる。これにより、PC1に記憶されている臨時パスとポリシが特定され、管理者は、PC1にどのような臨時パスとポリシが記憶されているのかを認識できる(S43)。
ここで、PC1とPC2では5つの臨時パスA〜Eが保持されているが、このときの状態を初期状態と呼ぶことにする。初期状態では、適用されるポリシは特に何も制限されていない状態であり、臨時パスA〜Eの5つ全てが使用可能となる。すなわち、初期状態は、PC1において臨時パスが複数回使える状態となっているので、セキュリティが脆弱である。
管理者は、表示手段22に表示された5つの臨時パス及びポリシを見て、ユーザとPC1の状況や問題を考慮し、5つの臨時パスの中から所望のものを選択し、選択した臨時パスとその使用順を、携帯電話を用いてユーザに伝達する(S44)。この伝達は、携帯電話における音声通話とメールのどちらで行われてもよい。ここでは例として、5つの臨時パスA〜EのうちC、D、Eの3つが選択され、使用してよい臨時パスはC、D、Eの3つであることと、使用順はC→D→Eの順であることがユーザに伝達されたとする。
ユーザは、携帯電話にて、臨時パスC、D、Eとその使用順を入手する(S45)。なお、この時点において、臨時パスA、Bはユーザに伝達されていないが、正解パスのままであり、認証には有効である。
そして、ユーザがPC1の電源を投入すると、PC1の表示手段12には認証用の画面(パスワード入力画面)が表示される。ユーザは、その認証用の画面において、所定の入力欄に臨時パスCを入力し、認証実行の指示をする(S46)。
認証手段15は、ユーザにより入力された臨時パスCが、記憶手段13に予め記憶された臨時パス(正解パス)の中にあるかどうかを判断し、ある場合は認証成功、ない場合は認証失敗とする(S47)。ここでは、図6(c)のS32にて記憶手段13に記憶された正解パスは、A、B、C、D、Eの5つであるので、入力された臨時パスCが存在する。よって、認証成功となる(S47/YES)。
認証が成功すると、ポリシ変更手段16は、入力された臨時パスを基に、その臨時パスと同組のポリシとを特定し、特定したポリシを基に次回の認証に適用するポリシを変更する(S48)。ここでは、ポリシ変更手段16は、入力された臨時パスCを基に、ポリシCを特定する。そして、臨時パスCの使用前に適用されるポリシは特に何も制限されていない状態であったが、ポリシ変更手段16により、特定されたポリシCに変更される。このポリシCは、図4(a)に示す定義内容となっており、その定義は「臨時パスCが入力されたら、次の認証では使用可能回数が2回以下に該当する臨時パスが使用可能となる」と定義されている。この定義は、「臨時パスCをユーザが入力した場合、次の認証を行うときにユーザが使用できる臨時パスは、使用可能回数が残り2回以下に該当する臨時パスD、Eとなる」という意味である。すなわち、ポリシCは、臨時パスA、臨時パスB、臨時パスCを使用禁止することによって、実現される。つまり、適用されるポリシが特に何も制限されていない状態からCに変更されることで、次回の認証では、臨時パスの使用条件がより限定されることになる。
ポリシ変更手段16によりポリシ変更が行われると、図示しない正解パス変更手段(例えばCPU、ROM、RAMで実現)は、変更されたポリシに応じて、記憶手段13に記憶されている正解パスの集合を変化させる。ここでは、正解パス変更手段は、変更されたポリシCに基づいて、初期状態のときに正解パスであった臨時パスA〜Eの集合からA、B、Cを削除し、臨時パスD、Eだけを新たな正解パスの集合とする。よって、図4(b)に示すように、臨時パスCの使用後は、ユーザが使用できる臨時パスはDとEの2つになり、ユーザが元々知らない臨時パスA、Bとユーザが一度使用した臨時パスCは使用できなくなる。
従って、本実施形態によれば、臨時パスが複数回使用できる状態にある場合、所定の臨時パスの使用後に、その他の臨時パスを使用できなくすることで、セキュリティを向上させることができる。
ポリシの変更後は、PC1においてログインが許可される(S49)。
臨時パスCを使用してのログイン後、何らかの理由により、固定パスの再設定を行う前に再度の認証が必要となった場合は、ユーザは、臨時パスD、Eを使用して認証を行うことができる。その場合、これまでの説明と同様にして、パス入力、認証、ポリシ変更が行われる。これらの動作については、S46〜S48と同様であるので、説明を省略する。
なお、上記図7の説明は、臨時パスを複数回使用できる場合の例として、実施形態1と同様に、互いに異なる複数の臨時パスがユーザに伝達され、ユーザはそれらを1回ずつ使用できるようにする場合について説明したが、本実施形態の図7の動作は、実施形態2で説明した、単一のパスがユーザに伝達され、ユーザはその臨時パスを制限時間内に複数回使用できるようにする場合についても適用できる。
〔実施形態4〕
本発明の実施形態4について説明する。上述した実施形態1〜3では、シード又は臨時パスのいずれかに対して、臨時パスの使用条件が定義されたポリシを対応付けて記憶する例について説明したが、ポリシの定義は臨時パスの使用条件だけに限られない。例えば、ポリシは、臨時パスの使用条件の代わりに、クライアントであるPC1の所定の機能の使用条件が定義されていてもよい。この場合のポリシは、例えば「ネットワーク機能を使用不可とする」という定義となる。あるいは、ポリシは、臨時パスの使用条件に加えて、クライアントであるPC1の所定の機能の使用条件が定義されてもよい。この場合のポリシは、例えば「臨時パスAが入力されたら、次の認証では使用可能回数が4回以下に該当する臨時パスが使用可能となる。ただし、ネットワーク機能を使用不可とする」という定義となる。以上のように、ポリシの定義は、臨時パスの使用条件(使用できる回数や時間)とクライアントの機能の使用条件(使用できる機能の種類や範囲)を任意に組み合わせることができる。この意味で、本発明の実施形態で用いられるポリシは、臨時パスによる認証後にシステム(クライアント)を使用する際のシステムの使用条件が定義されたものといえる。よって、本実施形態によれば、臨時パスについてのセキュリティだけでなく、クライアントのセキュリティも向上させることができる。
〔実施形態5〕
本発明の実施形態5について説明する。上述した実施形態1〜4において、ポリシ変更が行われた後の所定のタイミングで、変更されたポリシを初期状態のときに戻すことが望ましい。そのための手段として、PC1にリセット手段(CPU等で実現)を備えるようにしてもよい。例えば、ユーザ又は管理者は、臨時パスでのログイン後に固定パスの再設定が済んだら、PC1に臨時パスのリセット指示を出す。この指示を受けると、リセット手段は、記憶手段13(又は生成手段14)に記憶されている正解パスの集合を削除し、記憶手段13に記憶されている全てのポリシを、最初に記憶手段13に記憶されたときの内容に戻す。これにより、次の新たな臨時パスの使用に備える準備ができる。
以上、本発明の各実施形態について説明したが、上記実施形態の説明に限定されるものではなく、その要旨を逸脱しない範囲において種々の変形が可能である。
例えば、上述した実施形態における動作は、ハードウェア、または、ソフトウェア、あるいは、両者の複合構成によって実行することも可能である。
ソフトウェアによる処理を実行する場合には、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれているコンピュータ内のメモリにインストールして実行させてもよい。あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させてもよい。
例えば、プログラムは、記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことが可能である。あるいは、プログラムは、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的、あるいは、永続的に格納(記録)しておくことが可能である。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することが可能である。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送してもよい。または、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送してもよい。コンピュータでは、転送されてきたプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることが可能である。
また、上記実施形態で説明した処理動作に従って時系列的に実行されるのみならず、処理を実行する装置の処理能力、あるいは、必要に応じて並列的にあるいは個別に実行するように構築することも可能である。