(57)【要約】【課題】  端末から繰り返し認証を行なって盗聴されたとしても、その盗聴内容から認証情報が解読されないで安全性が高く、かつ利用者の煩雑さをなくして利便性を維持した装置を得る。【解決手段】  利用者側からのパスワードの入力情報に基づいて認証情報保持物と認証情報を交信して、この交信結果において認証が得られると、上記利用者側に送信する識別情報を生成する識別情報生成部２１と、上記識別情報生成部が生成した上記識別情報を保存する識別情報保存部２２とを備えて、上記利用者側から２回目以降は、上記識別情報に基づいて上記認証情報保持物と交信して、この識別情報に基づいて認証を行うようにした。【選択図】        図１
2006011673.tif 000002
【特許請求の範囲】
【請求項１】
利用者側からのパスワードの入力情報に基づいて認証情報保持物と認証情報を交信して、該交信結果において認証が得られると、上記利用者側に送信する識別情報を生成する識別情報生成部と、
上記識別情報生成部が生成した上記識別情報を保存する識別情報保存部とを備えて、
上記利用者側から２回目以降は、上記識別情報に基づいて上記認証情報保持物と交信して、該識別情報に基づいて認証を行うことを特徴とする認証装置。
【請求項２】
生体情報を検出する生体情報検出部を備えて、パスワードに代えて該生体情報検出部が検出する情報に基づいて認証情報を交信することを特徴とする請求項１記載の認証装置。
【請求項３】
識別情報生成部は、利用者側と交信の度に識別情報を更新して送信し、認証情報保存部は該更新後の識別情報を保存することを特徴とする請求項１記載の認証装置。
【請求項４】
認証情報保持物と交信する認証装置に要求して、該認証情報保持物の読み取りまたは書き込みを要求する利用者側の端末において、
上記認証装置から上記認証情報保持物の認証のためにパスワードを送信して得られる識別情報を保持し、次回以降の認証要求には該保持する識別情報をパスワードに代えて送信することを特徴とする利用者端末。
【請求項５】
利用者側からのパスワードの入力情報に基づいて認証情報保持物と認証情報を交信して、該交信結果により認証を行う方法において、
上記パスワードの入力により認証情報保持物の認証が得られると、上記利用者側に送信する識別情報を生成する識別情報生成ステップと、
上記識別情報生成ステップで生成した上記識別情報を保存するステップと、
上記識別情報生成ステップで生成した上記識別情報を上記利用者側に送信するステップと、
上記利用者側から２回目以降は、上記識別情報を受信し、該受信した識別情報と上記保存している識別情報とに基づいて上記認証情報保持物と交信して、認証を行うステップ、とを備えたことを特徴とする認証方法。
【請求項６】
生体情報を検出する生体情報検出ステップを備えて、
パスワードに代えて該生体情報検出ステップが検出する情報に基づいて認証を行うことを特徴とする請求項５記載の認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スマートカードその他のハードウェアトークンを用いて行う認証システムに関するものである。
【背景技術】
【０００２】
ハードウェアトークンの一つであるスマートカードを用いて認証を行うためには、外から認証情報をスマートカードに送信し、内部の機能を利用して秘密情報と照合することによって、認証を行っている。
このとき、処理の過程で何回か認証情報を送信することになるので、繰り返し送信の情報を盗聴されて認証情報を不正使用されるという危険がある。この危険に対抗するために、例えば、特許文献１に記載の内容によれば、認証情報を暗号化して送信する方式をとることによって、盗聴された情報から認証情報が露呈する危険性を低減することが提案されている。
【０００３】
スマートカードを複数のプログラムが同時に使用する場合には、それぞれのプログラムが、スマートカードに対して、ログインしているかログアウトしているかという認証状態を個別に持っており、独自に認証を行なっている。スマートカードの標準規格であるＩＳＯ−７８１６−４  Ｉｎｆｏｒｍａｔｉｏｎ  ｔｅｃｈｎｏｌｏｇｙ−Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ  ｃａｒｄｓ−Ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｅ（ｓ）  ｃａｒｄｓ  ｗｉｔｈ  ｃｏｎｔａｃｔｓ−Ｉｎｔｅｒｉｎｄｕｓｔｒｙ  ｃｏｍｍａｎｄ  ｆｏｒ  ｉｎｔｅｒｃｈａｎｇｅでは、１つのスマートカードに対して、最大４の認証状態しか保持できないため、認証状態保持数を超える数のプログラムからスマートカードを使用する場合には、内部的にいったんスマートカードからログアウトを行なう。一度ログアウトしたプログラムが再びスマートカードを使用する際には、再度ログインを行ない、認証情報をスマートカードへ送信する。
【特許文献１】特開２０００−２４２７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のハードウェアトークンを用いた認証方式は上記のように構成されており、認証情報を暗号化して送信していたとしても、その送信データ中には認証情報が含まれているため、何度も送信を行なう場合には、暗号解読の機会を増やすことになり、盗聴の危険性が増大するという課題がある。
また、プログラムにとっては、暗号化された認証情報を送信するためには、利用者に対して認証情報の入力を促すか、認証情報を内部で保存している必要がある。前者の場合、利用者はログインしたままであるのにもかかわらず、その度に認証情報を再入力しなければならず煩雑である。後者の場合、秘密情報が利用者端末に保存されているので、情報漏洩の危険性が増大するという課題もある。
【０００５】
本発明は、上記の課題を解決するためになされたもので、端末から繰り返し認証を行なって盗聴されたとしても、その盗聴内容から認証情報が解読されないで安全性が高く、かつ利用者の煩雑さをなくして利便性を維持した装置、システムを得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る認証装置は、利用者側からのパスワードの入力情報に基づいて認証情報保持物と認証情報を交信して、この交信結果において認証が得られると、上記利用者側に送信する識別情報を生成する識別情報生成部と、
上記識別情報生成部が生成した上記識別情報を保存する識別情報保存部とを備えて、
上記利用者側から２回目以降は、上記識別情報に基づいて上記認証情報保持物と交信して、この識別情報に基づいて認証を行うようにした。
【発明の効果】
【０００７】
この発明によれば、認証装置は、識別情報生成部と識別情報保存部とを備えたので、利用者側から処理の度にパスワードを得る必要がなくて秘密情報が漏れにくく、外部からの盗聴に強いと同時に、利用者は何度もパスワードを入力せずに済んで、利便性が向上する効果もある。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
外部からの盗聴に強いスマートカード  リーダ・ライタと、利用者端末によるシステムを図によって説明する。
図１は、本発明の実施の形態１における認証システムの構成を示すブロック図である。この認証システムは、耐タンパー性が有る認証情報保持物を認証する認証装置としてのスマートカード  リーダ・ライタ２０と、これと通信を行う利用者端末１０を主要な構成要素としている。そしてスマートカード  リーダ・ライタ２０は、利用者端末１０から送信された認証情報を認証情報保持物であるスマートカードへ送信し、スマートカードで認証された場合に、認証情報と無関係であるランダムな値を持つ識別情報を生成し、認証情報と共に保存し、以降はこの識別情報を使用することを特徴とし、以降に利用者端末から送信された識別情報をキーとして保存された識別情報を検索して、一致するものがある場合に、対応して保存されている認証情報をスマートカードへ送信する。
【０００９】
利用者端末１０の構成を説明する。
利用者端末１０は内部に演算処理を行い、アプリケーションプログラムを実行するプロセッサ（ＣＰＵ）１４と、識別情報等を記憶するメモリ１５と、スマートカード  リーダ・ライタ２０と通信を行う通信部１６と、処理結果等を出力する表示部１７と、マウスやキーボードのパスワード等を入力する入力部１８と、アプリケーションプログラム１１を備えている。アプリケーションプログラム１１には、パスワード入力部１８から入力されたパスワードを取得する機能、スマートカード  リーダ・ライタ２０へさまざまなコマンドを送出し、結果を取得する機能が記述されている。
【００１０】
スマートカード  リーダ・ライタ２０は、内部にプロセッサ（ＣＰＵ）２４と、処理結果を記憶するメモリ２５と、利用者端末１０と通信を行う通信部２６と、処理結果を出力する出力部２７と、スマートカードの情報を読み取り／書き込みの接続部となるカード・インタフェース（Ｉ／Ｆ）２８と、後に詳述する、識別情報を生成する識別情報生成部２１と、同じく認証情報保存部２２とを備える。
スマートカード３０内には、誰でもアクセスできるファイルである公開ファイル３１と、認証が成功しているチャネルからのみアクセスを許す秘密ファイル３２とが存在している。秘密ファイル３２にアクセスするためには、秘密ファイル３２に対応する認証ファイル３３があって、先ずこの認証ファイル３３に対する認証ができなければばならない。認証ができた場合には、スマートカード３０に保存されている秘密ファイルの読み書き及び秘密ファイルのデータを秘密鍵として公開鍵暗号の演算などを行なうことができる。
【００１１】
上記構成による認証システムの動作を、図２のシーケンス図と、図３のフローチャートを用いて説明する。
先ず利用者は、初めてスマートカード３０内の秘密ファイル３２のデータを読み書きする際には、図３の利用者端末におけるフローの「スタート」として、利用者端末１０の入力部１８からパスワードを入力する。ＣＰＵ１４はアプリケーションプログラム１１に従って、Ｓ１１１で秘密ファイル３２に対応する認証ファイル３３の番号を、例えば予め決められたシーケンスに基づきメモリ１５から得る。そしてＳ１１２で、上記パスワードと認証ファイル番号をコマンドに載せて通信部１６からスマートカード  リーダ・ライタ２０へ送出する。
【００１２】
スマートカード  リーダ・ライタ２０は、Ｓ２０１で利用者端末１０からコマンドに載せて受け取ったパスワードに対応して、初回情報であればＳ２０６のステップに進み、受信したパスワードと認証ファイル番号をスマートカードＩ／Ｆ２８を通じてスマートカード３０へ送信する。
スマートカード３０はＳ３０２でデータ受信を監視して、データがあればＳ３０５で受信した認証ファイル番号から認証ファイルを取得する。Ｓ３０６で受信したパスワードと認証ファイル番号を照合し、一致するとＳ３０８で一致を、一致しないとＳ３０９で不一致を、それぞれスマートカード  リーダ・ライタ２０に返す。
【００１３】
スマートカード  リーダ・ライタ２０はＳ２０７でこれらを受信し、Ｓ２０８で認証ファイル３３が認証できた場合には、Ｓ２０９において識別情報生成部２１で識別情報４１を生成し、Ｓ２１０でパスワード４３と共に認証情報保存部２２に保存する。
認証情報保存部２２では、図４に例を示すように、識別情報４１とパスワード４３と残存有効期間４４を記録する。例えば、パスワードとしてＰ＝“ｈｏｇｅｈｏｇｅ”、認証ファイル番号としてＡＦ＝０００１をそれぞれ指定して認証が成功した場合に、識別情報生成部２１では疑似乱数を用いて識別情報４１としてＩＩ＝１２３４を生成する。ここで識別情報４１を生成するために疑似乱数を用いているが、もちろんスマートカード  リーダ・ライタ２０のハードウェアが持つ乱数源を利用する真性乱数を用いてもよい。また、必ずしも識別情報４１として乱数を用いる必要はないが、攻撃者に、ある識別情報を盗聴された場合に、他の識別情報が推測されないためにはそれぞれの識別情報間に関連性のない値、すなわち乱数を使用することが望ましい。
【００１４】
認証情報保存部２２では、上記識別情報４１、認証ファイル番号４２、パスワード４３、そして認証情報が破棄されるまでの期間を示す残存有効期間４４を記録する。更にＳ２１１及びＳ２１２で生成された識別情報４１のＩＩ及び認証結果を利用者端末１０に向けて送出する。
Ｓ１１３で識別情報を受信した利用者端末１０は、Ｓ１１４でそれが正しい認証であることを示す認証結果であれば、Ｓ１１５で受け取った識別情報ＩＩをメモリ１５に任意の必要な期間だけ保存し、Ｓ１１６で他の必要な処理を行う。
【００１５】
なおスマートカード  リーダ・ライタ２０より送出されるパスワードをアプリケーションプログラム１１とスマートカード  リーダ・ライタ２０との間で共有される鍵及び共通鍵暗号を使用して暗号化を行なってもよく、公開鍵暗号や一方向性関数を用いたハッシュ処理などを使用してデータの変換を行なってもよい。また、アプリケーションプログラム１１とスマートカード  リーダ・ライタ２０の間の通信全体を暗号化してもよい。
Ｓ３０７においてスマートカード３０での認証ファイル３３の認証に失敗した場合には、Ｓ３０９で失敗通知などの必要処理を行って終える。
これはスマートカード  リーダ・ライタ２０におけるＳ２０８での認証失敗の場合も同様であり、Ｓ２１３で失敗通知などの必要処理を行って終える。
【００１６】
アプリケーションプログラム１１がＳ１１６において処理の続きがあり、スマートカード３０内の秘密ファイル３２の読み書きを２度目以降に行なう場合は、以下のように動作する。
この場合、従来のように利用者にパスワードを入力させるのではなく、利用者端末１０はアプリケーションプログラム１１がメモリ１５上に保存しているスマートカード  リーダ・ライタ２０から受け取った識別情報４１をＳ１０２で読出し、その情報と認証ファイル３３の番号をＳ１０３でスマートカード  リーダ・ライタ２０へ送出する。
スマートカード  リーダ・ライタ２０はＳ２０３で、利用者端末１０から受け取った識別情報がパスワードではないのでＳ２０３でＮｏとなって、Ｓ２０４で認証情報保存部２２中に保存されている識別情報４１を調べてパスワードを取得する。そしてその認証情報と対で保存されているパスワード４３と認証ファイル３３の番号をスマートカード３０へＳ２０６で送信し、認証結果が正しければ、利用者端末１０のアプリケーションプログラム１１へ伝える。なおその際、残存有効期間の値を１つ減らし、結果が０になった場合はその認証情報を破棄する。
なお認証情報を破棄するための条件として、認証情報が登録されてから一定時間以上を経過する、認証情報が最後に使用されてから一定時間以上を経過する、などを用いてもよい。また認証情報を破棄するための条件を設けないこともできる。
こうしてＳ１１６で利用者端末１０において処理が終わるまで上記動作が繰返される。
【００１７】
なお、認証情報保存部２２に図４に示される認証情報が保存されていても、利用者端末１０から再度パスワードを入力して認証要求を行なったＳ１０１’の場合は、初めて秘密ファイル３２を読み書きする場合と同じ処理を行なう。更にその認証が成功した場合には、既に保存されている識別情報とは異なる識別情報を生成し、異なるエントリーに保存し、その異なる識別情報を利用者端末１０のアプリケーションプログラム１１に対してＳ１１３’として返す。
スマートカード  リーダ・ライタ２０は耐タンパー性を持つ。具体的には、認証情報保存部２２中に保存されている認証情報は、スマートカード  リーダ・ライタ２０への電源供給が停止した場合や、スマートカード３０を分解しようとした場合には、情報が破棄されて消去される。
【００１８】
このように、アプリケーションプログラム１１がスマートカード３０内の秘密ファイル３２の読み書きを２度目以降に行なう場合には、パスワードの代わりにパスワードとは無関係な識別情報４１が利用者端末１０とスマートカード  リーダ・ライタ２０の間でやり取りされるため、これらの情報が外部から盗聴されてもパスワードが露呈することはない。また、２度目以降の読み書きでも実際にはスマートカード  リーダ・ライタ２０とスマートカード３０間で認証が行なわれているが、利用者端末１０の利用者が毎回パスワードを入力する必要はなく、利便性が向上する。
【００１９】
実施の形態２．
パスワードに代えて、個人によって異なる生体情報を入力とするシステムとすることもできる。こうすることにより、利用者の利便性は更に向上する。
本発明の実施の形態２における認証システムの構成を図５に示す。実施の形態１においては、スマートカード３０内の認証ファイル３３を初めて読み書きする際にパスワードを用いて認証を行うようにした。これに対して本実施の形態では、スマートカード  リーダ・ライタ２０上の、生体情報の一種である指紋を検出する生体情報検出部としての指紋センサー２３から指紋情報を入力して認証を行なう。スマートカード３０内には認証ファイル３３に対応する指紋ファイル３４が存在する。そして入力された指紋情報と指紋ファイル３４内のデータを比較した結果、一致していると判断した場合には認証ファイル３３を認証状態へと変化させる。
【００２０】
その他の構成は変わらないため、以下、実施の形態１と異なる部分に注目して動作を説明する。
利用者端末１０上のアプリケーションプログラム１１が、初めてスマートカード３０内の秘密ファイル３２を読み書きする場合、秘密ファイル３２に対応する番号を指定して、スマートカード  リーダ・ライタ２０に指紋センサー２３から入力を行なうためのコマンドを送出する。スマートカード  リーダ・ライタ２０は、指紋センサー２３から指紋を読み取り、秘密ファイル３２に対応する番号と共にスマートカード３０と交信する。
スマートカード３０は、受け取った指紋情報を指紋ファイル３４に登録されている指紋情報と比較することにより照合し、照合が成功した場合には認証ファイル３３を認証状態へと変化させ、認証成功結果をスマートカード  リーダ・ライタ２０へと返す。スマートカード  リーダ・ライタ２０は、識別情報生成部２１で識別情報を生成し、識別情報と指紋情報を認証情報保存部２２に保存して、利用者端末１０上のアプリケーションプログラム１１へ認証結果を返す。
【００２１】
上記説明において、指紋センサー２３を用いて指紋情報を認証情報として使用する場合を説明したが、異なるセンサーを用いることによって、虹彩、声紋など任意の生体情報を利用してもよい。
また実施の形態１と同様、秘密ファイル３２に対して繰り返し読み書きを行なう場合にも、その度ごとに指紋情報を入力することなくスマートカード３０に対する認証を行なうことができる。
【００２２】
実施の形態３．
実施の形態１においては、識別情報４１が認証ファイル番号４２に対して固定である例を説明した。その場合は利用者端末１０において、Ｓ１１６で処理が複数回続く場合に、同一の識別情報４１が複数回やり取りされることになる。
本実施の形態では、この識別情報４１をシステムとしてやり取り毎に順次変更するようにする。具体的に云うと、最も簡単には識別情報を第３回目には数字を１つ増やした値とする。対応してスマートカード  リーダ・ライタ２０も認証情報保存部２２が保存する識別情報４１も、対応して数字を１つ増やした値を保存する。こうすると、次に利用者端末１０からの１つ数字が増えた識別情報を受けてＳ２０４でパスワードを取得する際に、識別情報が期待値と一致する。
または、識別情報を利用者端末１０へ通知する際に、次の交信時に利用する識別情報４１を必ず付加して通知し、同時に保存値を通知した値に更新するようにしてもよい。こうすれば識別情報自体が毎回更新時に変り、更に盗聴が困難になる効果がある。
また上記実施の形態１と２では、利用者端末１０とスマートカード  リーダ・ライタ２０は、それぞれハードウェア装置であるとして説明したが、汎用の計算機を使用して、図３の動作機能ステップを組込んだものとしてもよい。
【図面の簡単な説明】
【００２３】
【図１】この発明の実施の形態１における認証システムの構成を示すブロック図である。
【図２】実施の形態１における利用者端末とスマートカード  リーダ・ライタ間の信号シーケンスを示す図である。
【図３】実施の形態１における利用者端末とスマートカード  リーダ・ライタが行う動作を示すフロー図である。
【図４】実施の形態１における認証情報保存部が保存する認証情報の例を示す図である。
【図５】この発明の実施の形態２における認証システムの構成を示すブロック図である。
【符号の説明】
【００２４】
１０  利用者端末、１１  アプリケーションプログラム、１４  ＣＰＵ、１５  メモリ、１６  通信部、１７  表示部、１８  （パスワード）入力部、２０  スマートカード  リーダ・ライタ、２１  識別情報生成部、２２  認証情報保存部、２３  指紋センサー、２４  ＣＰＵ、２５  メモリ、２６  通信部、２７  出力部、２８  カードＩ／Ｆ、３０  スマートカード、３１  公開ファイル、３２  秘密ファイル、３３  認証ファイル、３４  指紋ファイル、Ｓ１０１  パスワードと認証番号送信ステップ、Ｓ１０３  識別情報受信と必要処理実行ステップ、Ｓ１０５  識別情報と認証番号送信ステップ、Ｓ２０２  スマートカードと交信し認証ファイルと照合するステップ、Ｓ２０４  識別情報の生成・保存・送信ステップ。
【図１】
2006011673.tif 000003
【図２】
2006011673.tif 000004
【図３】
2006011673.tif 000005
【図４】
2006011673.tif 000006
【図５】
2006011673.tif 000007