(57)【要約】【課題】クライアント端末に依存せず、また個々のサーバごとで異なる認証方式を採用している場合でも対応可能な認証システムを提供する。【解決手段】ネットワークを利用したサービスを提供するサーバとユーザのＩＣカードとクライアント端末を備え、サーバとＩＣカード間でのデータのやり取りをクライアント端末を介して行い、ＩＣカード所有者であるユーザの認証をサーバにおいて行う認証システムであり、ＩＣカード５は、処理装置５１と記憶装置５２を備え、サーバが特定のユーザを認証するためにユーザ側に必要とする機能として、記憶装置５２のアプリケーションプログラム格納部５２１に暗号化処理プログラム５２１１を搭載する。サーバは、ＩＣカードにおいて暗号化処理されたユーザの認証データを受信し、これを復号し、復号した認証データを用いてユーザの認証を行う。【選択図】　　　　　　　　図４
2004118377.tif 000002
【特許請求の範囲】
【請求項１】
ユーザに関するユーザ認証データを記録したセキュリティデバイスと、ユーザにサービスを提供するサーバと、該セキュリティデバイスとデータのやり取りを行い、該サーバとネットワークを介して接続されるセキュリティデバイス利用端末を備える認証システムにおいて、
前記セキュリティデバイスは、前記サーバがユーザを認証するためにユーザ側に必要とする機能を搭載することを特徴とする認証システム。
【請求項２】
請求項１記載の認証システムにおいて、
前記機能は、前記ユーザ認証データを前記サーバが認証対象とするデータ形式に変換するために必要な機能であることを特徴とする認証システム。
【請求項３】
請求項１または請求項２記載の認証システムにおいて、
前記セキュリティデバイスは、前記機能が該セキュリティデバイスに存在しない場合に、前記セキュリティデバイス利用端末を介して、該機能を前記サーバからダウンロードして搭載することを特徴とする認証システム。
【請求項４】
請求項１または請求項２記載の認証システムにおいて、
前記機能は、データの暗号化処理機能であることを特徴とする認証システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はネットワークを通じて認証を行うシステムに関する。特にユーザ側で認証に必要な機能をセキュリティデバイスに持たせる個人認証システムに関する。
【０００２】
【従来の技術】
ネットワークを利用してサービスを提供するサーバは特定のユーザに特定のサービスを提供したり、ユーザ管理を行ったりしている。そのため、ユーザはサーバのサービスを利用するときに本人であることを証明する。これが認証である。現在はサーバ側がユーザに固有の認証用ＩＤとパスワードを発行して、ユーザがサービスを利用する際にそれらの認証用ＩＤとパスワード（以下、認証用ＩＤとパスワードをＩＤ・パスワードという）を入力することで本人であることを確認する認証方式が主流である。
さらに近年、ＩＣカードなどのセキュリティデバイスにＩＤ・パスワードを格納して、ユーザはそのカードの管理をするＩＣカード認証方式も開発されている。ＩＣカードのようなセキュリティデバイスは不正な手段で内部の認証情報（この場合、ＩＤ・パスワード）を読み出すことは不可能であるため、セキュリティが高くなっている。
ネットワークはオープンに開かれているため、セキュリティに関する問題が多数存在する。その脅威の一つに、ユーザ本人のＩＤ・パスワードを第３者が盗み出し、この第３者がユーザ本人になりすましてサーバからサービスを受ける「なりすまし」がある。この脅威を防ぐために、数学的に解読を難解にした公開鍵暗号方式を用いた防御策がある。
公開鍵暗号方式は秘密鍵と公開鍵がペアになっており、秘密鍵で暗号化したものは公開鍵で、公開鍵で暗号化したものは秘密鍵でのみ復号できる。この秘密鍵と公開鍵のペアを公開鍵ペアあるいは秘密鍵ペアという。
この公開鍵方式を利用することで「なりすまし」を防ぐことができる。さらにセキュリティを高めるために公開鍵がユーザ本人のものであることを証明した電子証明書を発行する認証局を導入する。
これらの公開鍵ペアや電子証明書を格納する手段として耐タンパー性のあるセキュリティデバイスを使うことは非常に有用である。
このセキュリティデバイスの利点を活かしたシステムに特開２００１−３０６５１９号公報がある。このシステムはネットワーク上に仲介サーバをたてることで、クライアント端末に依存しない認証システムを構築できると記述されている。
【０００３】
【発明が解決しようとする課題】
セキュリティデバイスを使用しない上記ＩＤ・パスワード方式ではセキュリティを高めるためにパスワードを頻繁にかつ覚えにくいパスワードを選択する必要がある。
そのため、管理に手間がかかり、たいていのユーザは覚えやすい簡単なパスワードを使うか、難しいパスワードを設定してもそのパスワードを第３者に見られる可能性のある場所にメモしている場合もある。
そのため、パスワードが悪意のある第３者に看破されやすく、セキュリティ上の大きな問題となっている。
また、上記公報のシステムでは、ネットワーク上のサーバと認証を行う際にはクライアント側にも認証用に何らかの機能が必要となるケースの場合、ユーザ認証は特定のクライアント端末でのみでしか利用できなくなり、セキュリティデバイスの携帯性が損なわれてしまっている。
そのため、本発明ではクライアント端末に依存せず、また個々のサーバごとで異なる認証方式を採用している場合でも対応可能な認証システムを提供することを目的とする。
【０００４】
【課題を解決するための手段】
上記目的を達成するため、本発明は、処理装置と記憶装置を有し記憶装置内に特定ユーザに関するユーザ認証データを記録したセキュリティデバイスと、特定ユーザにさまざまなサービスを提供するサーバと、該セキュリティデバイスとデータをやり取りが可能で、該サーバとネットワークを介して接続可能なセキュリティデバイス利用端末を備える認証システムにおいて、前記セキュリティデバイスが、前記サーバが特定ユーザを認証するためにユーザ側に必要とする機能を搭載するようにしている。。
また、前記機能は、前記ユーザ認証データを前記サーバが認証対象とするデータ形式に変換するために必要な機能としている。
【０００５】
【発明の実施の形態】
以下、本発明の実施の形態を詳細に説明する。
図１は、本発明の実施形態の一つであるセキュリティデバイスを用いた認証システムのブロック図である。
ここではセキュリティデバイスとしてＩＣカードを例とする。
何らかのサービスを提供するサーバ１はネットワーク２を通じてＩＣカード利用端末３と接続が可能である。
ＩＣカード利用端末３は、外付け・内蔵を問わずＩＣカードリーダライタ４と接続している。
ユーザが持つＩＣカード５は、ＩＣカードリーダライタ４を介して、ＩＣカード利用端末３とデータのやり取りをすることができる。
【０００６】
図２は、サーバ１の構成を表すブロック図である。
ユーザを認証してそのユーザに特定のサービスを提供するサーバ１は、処理装置１１、記憶装置１２、ＩＣカード利用端末３とネットワーク２を介してデータ通信を行うための外部インタフェース１３を有する。
記憶装置１２には本実施形態の認証手順で用いる乱数発生アプリケーション１２１１と暗号化された情報を復号するためのアプリケーション１２１２とが格納されているアプリケーションプログラム格納部１２１と、サービスを提供するユーザの情報、例えばユーザの公開鍵とその電子証明書、ユーザ認証データであるユーザのＩＤ・パスワードなど、を収めたユーザ情報登録データベース１２２１と、信頼性のある第３者機関から発行された電子証明書付きのサーバ公開鍵１２２３と秘密鍵１２２２、電子証明書１２２４を有するアプリケーションデータ格納部１２２と、ＯＳとして機能する制御プログラム１２３をもつ。
【０００７】
図３では図１に示したＩＣカード利用端末３の構造を示す。
本実施形態のＩＣカード利用端末３は、マイクロプロセッサのような処理装置３１と、記憶装置３２とネットワーク２およびＩＣカード４と接続する外部インタフェース３３から構成される。
記憶装置３２はＯＳとして機能する制御プログラム３２１が格納されている。
本発明のシステムにおけるネットワーク利用端末３は、単純なデータ送信用であるので構造がシンプルなものとなっている。
【０００８】
図４では図１に示したＩＣカード５の構造を示す。
本実施形態のＩＣカード５は、マイクロプロセッサのような処理装置５１と、ＥＥＰＲＯＭ、フラッシュメモリなどの記憶装置５２と、図１に示したＩＣカードリーダライタ４のような機器との間でデータ転送などを行うためのインタフェース部５３をもつ。
記憶装置５２には、サーバ１が行う認証に必要な機能を格納するアプリケーション格納部５２１と、種々のデータが格納されるアプリケーションデータ部５２２と、ＯＳのような制御プログラム５２３を持つ。
本実施例では、アプリケーション格納部５２１には、サーバに送信する認証情報（この場合、ＩＤ・パスワード）を暗号化するためのアプリケーション５２１１が格納されており、アプリケーションデータ部５２２には、複数サーバにも対応するために個々のサーバから発行されたユーザ情報、例えばサーバの公開鍵、サーバの発行したユーザ認証データであるユーザのＩＤ・パスワードなど、を記録したユーザ情報ＤＢ５２２１と、信頼性のある第３者機関から発行された電子証明書付きのユーザの公開鍵５２２３と秘密鍵５２２２、電子証明書５２２４が格納されている。
なお、サーバ１が行う認証に必要な機能としては、上記の認証情報を暗号化するためのアプリケーションの他に、例えば、認証情報を複数回繰り返しサーバに送信するためのアプリケーションなどがある。
【０００９】
図５から図７までは本発明における実施形態である認証システムの動作手順を示したものである。
図５は、サーバ１のサービスを受ける前に行う登録作業を示したものである。サーバ１の提供するサービスを利用したいユーザは、信頼できる第３者機関である認証局に登録申請を行う（ステップ７０１）。
認証局はユーザの登録内容を厳密に審査して、誤りや不適格な部分がなければ、その証としてユーザに固有の秘密鍵ペアを添付した電子証明書を発行する（ステップ７０２）。
発行された秘密鍵ペアや電子証明書はＩＣカード５内に保持する。
同時にサーバ１側でも認証局に自分のサイトの情報を登録して（ステップ７０３）、認証局がサーバ１の登録内容を審査して、適切ならばサーバ１固有の秘密鍵ペアを添付した電子証明書を発行する（ステップ７０４）。
発行された秘密鍵ペアや電子証明書は記憶装置１２内に保持する。
次にユーザは認証を必要とするサービスを提供するサーバ１に対して、ユーザ登録をする（ステップ７０５）。登録するものはユーザの電子証明書やユーザの公開鍵などである。
サーバ１はユーザの登録内容である、電子証明書や公開鍵などを確認してサービスを提供してもよいと判断すれば、ユーザ固有の認証用のＩＤ・パスワードを発行して、サーバ１の公開鍵とともにユーザに送付する（ステップ７０６）。
ユーザは発行された情報を全てＩＣカード５に保持する。
【００１０】
図６は、本発明においてＩＣカード５とＩＣカード利用端末３とサーバ１の認証動作を示したシーケンス図である。
ユーザ登録の終了したユーザは、ＩＣカード５を装着したＩＣカード利用端末３を利用し、サーバ１へサービス開始要求を出す（ステップ８０１）。
なお、正確にはＩＣカード利用端末３を通して送信されるが、ＩＣカード利用端末３は単に送られてきたデータをそのままＩＣカード５とサーバ１の双方に送るだけなので、以後特に記述しない。
サーバ１は、ユーザを認証する準備をはじめ、ＩＣカード５へ認証開始の応答を返す（ステップ８０２）。このとき、サーバ１はこの応答に、サーバ１が行う認証に必要な機能（例えば、サーバ１用の暗号化処理プログラムなど）を指定し、指定した機能をＩＣカード５が有しているかの質問を含める。
なお、正確にはＩＣカード利用端末３を通して送信されるが、ＩＣカード利用端末３は単に送られてきたデータをそのままＩＣカード５とサーバ１の双方に送るだけなので、以後ＩＣカード利用端末３を介することについては特に記述しない。
ＩＣカード５は、サーバ１からの応答に応じて、サーバ１が行う認証に必要な機能があるか判別して（ステップ８０３）、なければサーバ１より必要な機能を入手する。詳細は後述する。
あれば、認証開始の準備が整ったことをサーバ１に通知する（ステップ８０４）。
通知を受けたサーバ１は認証に必要な乱数を発生させる（ステップ８０５）。
続いて発生させた乱数をＩＣカード５に送信する（ステップ８０６）。
【００１１】
ＩＣカード５はユーザ情報ＤＢに持っているユーザ固有の認証用のＩＤ・パスワードと送信された乱数を、ユーザの秘密鍵を用いて暗号化処理を施す（ステップ８０７）。
さらに、サーバ１の公開鍵を用いて暗号化処理を施す（ステップ８０８）。
ＩＣカード５はその暗号化情報にユーザＩＤを添付してサーバ１に送信する（ステップ８０９）。
サーバ１は自身の秘密鍵を用いてステップ８０８の暗号化情報を復号する。
そして、添付されたユーザＩＤから必要なユーザの公開鍵をユーザ登録情報ＤＢ１２２１から取り出し、ステップ８０７で暗号化された暗号化情報を復号する（ステップ８１０）。
サーバ１は復号化された情報から、乱数を抽出して自身が送信した乱数と合っているか検証する。
さらに同じ情報からＩＤ・パスワードも抽出し、このＩＤ・パスワードとユーザ登録情報ＤＢ１２２１から取り出したＩＤ・パスワードとを比較し、ユーザの認証を行う（ステップ８１１）。
最後にユーザの認証が完了したことをＩＣカード利用端末に通知する（ステップ８１２）。
これにより、ユーザはサービスをサーバ１から受けることができる（ステップ８１３）。
【００１２】
図７は、認証に必要な機能を得るためにＩＣカード５とサーバ１により行われる動作を示すシーケンス図である。
本実施形態ではＩＣカード５に格納されていなければならない機能である暗号化処理アプリケーションがない場合を考慮して、図７のようにサーバ１から必要な機能をダウンロードする。
ＩＣカード５は、ＩＣカード利用端末３を介してサーバ１に暗号化処理に必要な機能のダウンロード要求を出す（ステップ９０１）。
サーバ１はこの要求を受けて、その機能のダウンロードに要する時間やサイズなどの機能に関する情報をＩＣカード５に通知する（ステップ９０２）。
ＩＣカード５は受け取った情報から、機能のダウンロードが可能かどうかを判断して可能ならば、サーバ１に機能受け入れ可能通知をしてダウンロード開始要求を行う（ステップ９０３）。
サーバ１は機能のダウンロードを開始する（ステップ９０４）。
機能のダウンロードが無事に終了すると、ＩＣカード５はその完了通知をサーバ１に送信する（ステップ９０５）。
【００１３】
【発明の効果】
以上述べたように、本発明ではＩＣカードに認証で用いる処理アプリケーションなどの機能やデータを持つことで、特定のＩＣカード利用端末に依存せずに個々のサーバのサービスを受けることが可能となる。
また、認証で用いる処理アプリケーションなどの機能がＩＣカード内に無い場合もサーバからダウンロードすることにより、ＩＣカードの汎用性が向上する。
【図面の簡単な説明】
【図１】本発明が対象とするシステムの基本的な構成を示した図である。
【図２】サーバの構成を示す図である。
【図３】ＩＣカード利用端末の構成を示す図である。
【図４】ＩＣカードの構成を示す図である。
【図５】本発明の実施形態例における事前登録の手順を示した図である。
【図６】本発明の実施形態例における認証接続手順を示したシーケンス図である。
【図７】本発明の実施形態例における認証のために必要な機能のダウンロード手順を示した図である。
【符号の説明】
１　　サーバ
２　　ネットワーク
３　　ＩＣカード利用端末
４　　ＩＣカードリーダライタ
５　　ＩＣカード
１１、３１、５１　　処理装置
１２、３２、５２　　記憶装置
１３、３３　　外部インタフェース部
５３　　インタフェース部
１２１、５２１　　アプリケーションプログラム格納部
１２２、５２２　　アプリケーションデータ格納部
１２１１　　乱数発生処理
１２１２　　復号化処理
１２２１　　ユーザ情報登録ＤＢ
１２２２　　サーバの秘密鍵
１２２３　　サーバの公開鍵
１２２４　　電子証明書
５２１１　　暗号化処理
５２２１　　ユーザ情報ＤＢ
５２２２　　ユーザの秘密鍵
５２２３　　ユーザの公開鍵
５２２４　　電子証明書
【図１】
2004118377.tif 000003
【図２】
2004118377.tif 000004
【図３】
2004118377.tif 000005
【図４】
2004118377.tif 000006
【図５】
2004118377.tif 000007
【図６】
2004118377.tif 000008
【図７】
2004118377.tif 000009