(57)【要約】【課題】  本人認証装置（以下、トークン）に依存せず、本人認証を要求又は本人認証を利用するアプリケーション（以下、Ａｐ）から独立したものにし、Ａｐ関連データの追加を容易にできる本人認証インフラストラクチャシステムを提供する。【解決手段】  仮想トークンメモリ（VETM）サービスサーバ３が、仮想領域管理情報（ユーザＩＤ、ユーザアクセス鍵又は／及びユーザ暗・復号鍵、Ａｐアクセス鍵又は／及びＡｐ暗・復号鍵、データファイル格納場所の情報）を記憶し、VETM対応Ａｐ６の動作で、VETM対応クライアント５からＡｐＩＤを取得し、トークン１から受け取った本人識別子等より一意に導き出して生成したユーザアクセス鍵又は／及びユーザ暗・復号鍵とＡｐＩＤに基づきファイル格納場所の情報を取得して、Ａｐ暗・復号鍵で復号又は／及びＡｐアクセス鍵でアクセスする本人認証インフラストラクチャシステムである。【選択図】        図１
2005310041.tif 000002
【特許請求の範囲】
【請求項１】
本人認証装置を用いて、本人認証を行い、当該本人認証によって得られる本人のデータアクセスを要求するアプリケーションが動作する本人認証インフラストラクチャシステムであって、
クライアントからアプリケーションの開始要求と当該アプリケーションの識別情報を取得し、接続される本人認証装置を仮想本人認証装置とし、前記仮想本人認証装置に対する拡張記憶領域を設け、前記本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵と前記取得したアプリケーションの識別子で特定される前記拡張記憶領域の格納場所に格納された本人のデータにアクセスして読み込む仮想メモリサービスサーバを備えたことを特徴とする本人認証インフラストラクチャシステム。
【請求項２】
仮想メモリサービスサーバは、本人認証のセキュリティレベルを予め設定され、本人認証を行う仮想本人認証装置ドライバを備えたことを特徴とする請求項１記載の本人認証インフラストラクチャシステム。
【請求項３】
仮想本人認証装置ドライバは、複数の本人認証装置の組み合わせによって本人認証を行うことを特徴とする請求項２記載の本人認証インフラストラクチャシステム。
【請求項４】
拡張記憶領域として仮想本人認証装置メモリデータベースを設けたことを特徴とする請求項１乃至３のいずれか記載の本人認証インフラストラクチャシステム。
【請求項５】
仮想メモリサービスサーバに、サービス開始を要求し、本人認証を要求し、仮想本人認証装置メモリデータベースへのアクセスを要求するクライアントを設けたことを特徴とする請求項４記載の本人認証インフラストラクチャシステム。
【請求項６】
仮想メモリサービスサーバは、複数のアプリケーションの処理を排他制御することを特徴とする請求項１乃至５のいずれか記載の本人認証インフラストラクチャシステム。
【請求項７】
仮想メモリサービスサーバは、本人認証装置の装着状態を監視し、前記本人認証装置が非装着状態となったことを検出すると、読み込まれたデータを消去することを特徴とする請求項項１乃至６のいずれか記載の本人認証インフラストラクチャシステム。
【請求項８】
仮想メモリサービスサーバは、ユーザ識別子と、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵と、使用するアプリケーションの識別子と、当該アプリケーション毎のアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と、拡張記憶領域における関連データの格納場所の情報とを対応付けて記憶する記憶部を備え、
前記拡張記憶領域に格納された関連データは、前記アプリケーション暗・復号鍵で暗号化され、又は／及び前記アプリケーションアクセス鍵でアクセスされて格納されており、
本人認証装置が装着状態となると、前記本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵とクライアントから取得したアプリケーションの識別子とに基づき前記拡張記憶領域における関連データの格納場所の情報を取得し、前記格納場所の情報に従って関連データを読み込み、対応するアプリケーション暗・復号鍵で復号化し、、又は／及び対応するアプリケーションアクセス鍵で当該関連データにアクセスすることを特徴とする請求項１乃至７のいずれか記載の本人認証インフラストラクチャシステム。
【請求項９】
拡張記憶領域に格納された関連データは、対応するアプリケーション暗・復号鍵で暗号化され、又は／及び対応するアプリケーションアクセス鍵でアクセス可能となっており、更に対応するユーザ暗・復号鍵で暗号化され、又は／及びユーザアクセス鍵でアクセス可能に格納されており、
仮想メモリサービスサーバは、拡張記憶領域における関連データにアクセスする際に、関連データを対応するユーザ暗・復号鍵で復号化し、又は／及び対応するユーザアクセス鍵で当該関連データにアクセスし、更に対応するアプリケーション暗・復号鍵で復号化し、又は／及び前記アプリケーションアクセス鍵でアクセスすることを特徴とする請求項８記載の本人認証インフラストラクチャシステム。
【請求項１０】
アプリケーション暗・復号鍵で暗号化され、又は／及びアプリケーションアクセス鍵でアクセス可能とした関連データは、複数のユーザ暗・復号鍵を用いて多重に暗号化されて格納されており、
仮想メモリサービスサーバは、拡張記憶領域における関連データにアクセスする際に、関連データを対応する複数のユーザ暗・復号鍵を用いて多重に復号化し、更に対応するアプリケーション暗・復号鍵で復号化し、又は／及び対応するアプリケーションアクセス鍵でアクセスすることを特徴とする請求項９記載の本人認証インフラストラクチャシステム。
【請求項１１】
アプリケーションの識別子と、アプリケーションアクセス鍵又は／及びアプリケーションの暗・復号鍵と、拡張記憶領域における関連データの格納場所の情報をユーザ暗・復号鍵で暗号化しており、
仮想メモリサービスサーバは、拡張記憶領域における関連データにアクセスする際に、前記アプリケーションの識別子、前記アプリケーションアクセス鍵又は／及びアプリケーションの暗・復号鍵、前記関連データの格納場所の情報をユーザ暗・復号鍵で復号化し、更に復号化された関連データの格納場所の情報に従って読み込み、復号化されたアプリケーション暗・復号鍵で復号化し、又は／及び復号化されたアプリケーションアクセス鍵で当該関連データにアクセスすることを特徴とする請求項７乃至１０のいずれか記載の本人認証インフラストラクチャシステム。
【請求項１２】
拡張記憶領域の格納場所に生体認証のデータを暗号化して格納し、
仮想メモリサービスサーバは、生体認証のデータを読み出して復号し、入力された生体認証のデータと比較して生体認証を行うことを特徴とする請求項１乃至１１いずれか記載の本人認証インフラストラクチャシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、本人認証インフラストラクチャシステムに係り、特にＩＣカード等の本人認証装置（以下「トークン」）の物理記憶領域を効率よく使用して、仮想記憶領域を確保して本人認証を行い、更に仮想記憶領域のセキュリティを確保できる本人認証インフラストラクチャシステムに関する。
【背景技術】
【０００２】
一般的にＩＣカード（欧米ではスマートカード）は、ＩＣチップを埋め込んだプラスチックカードのことで、ＩＣカードは、現在広く利用されている磁気カードに比べより大量のデータを扱うことができること、セキュリティ（安全性）にすぐれることから次世代のカードとして広く注目を集めている。
【０００３】
特に、エレクトリック・パース（電子貨幣、電子マネー）や電子商取引（エレクトリック・コマース）などでは、セキュリティが極めて重要であるため、ＩＣカードの利用が不可欠でさえある。
また、ＩＣカードの応用分野はこれだけに留まらず、例えば、医療分野では診察券や住民カードに病歴、治療記録、保健情報などを記録することによりサービスの向上と事務の合理化をはかるためにＩＣカードの利用が検討されている。
また、ＩＣカードのセキュリティに注目して、企業内部のプライベートセキュリティシステム（ドアセキュリティシステム、ネットワーク上のアクセス管理等）機能を持たせた多機能社員証を導入しようとする企業も少なくない。
更に、住民基本台帳のシステム構築に当たり、住民の基本台帳情報のＩＣカード化等も検討されている。
【０００４】
このように、ＩＣカードの応用範囲は非常に多岐にわたり、カードを必要とするアプリケーションやシステムはすべてＩＣカードを利用することができると言っても過言ではない。
【０００５】
このような状況にあって、ＩＣカードは、ＩＣチップに内蔵されたＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリに情報を記録するが、そのメモリ容量は最も少ないもので２００バイト程度であり、最も大きいものは数十キロ・バイトの容量を備えているカードもある。
【０００６】
上記のように利用分野が広がり、また携帯性に優れている点からも記憶したい情報量が増大する中でメモリの大容量化が望まれている。
また一方で、マイクロプロセッサを内蔵したカード（ＣＰＵカード）では、カード・メモリへのアクセスを全てマイクロプロセッサが管理するため、情報の不正な読み出しや改竄は極めて困難である。ＣＰＵカードを用いれば、１枚のカードで複数のアプリケーション（利用分野）に対応できる点からも、更なるメモリの大容量化が望まれる。
【０００７】
ここで、ＩＣカードにおけるメモリ領域内のデータ構成例について、図６を使って説明する。図６は、ＩＣカードにおけるメモリ領域内のデータ構成例を示す説明図である。
ＩＣカードは、ファイル構成やそのファイルに対するアクセスコントロールについては様々な設定ができるものであり、例えば、ＩＣカードＣＰＵ、マスタファイル（ＭＦ）、複数のデータファイル（ＥＦ：Elementary File）の集合（ＤＦ：Dedicate File）とから基本的に構成される。
ＩＣカードＣＰＵは、ＣＰＵを備え、ＩＣカード内部における処理制御を実行するものである。
【０００８】
ＩＣカードのメモリアクセス制御に関連する従来技術としては、平成１５年（２００３年）１月１７日公開の特開２００３−１６４０３「情報記憶媒体、メモリ領域を備えたＩＣチップ、メモリ領域を備えたＩＣチップを有する情報処理装置、並びに、情報記憶媒体のメモリ管理方法」（出願人：ソニー株式会社、発明者：山形昭彦他）がある。
この従来技術は、ＩＣカードのメモリ領域に階層構造を導入することにより、メモリ領域に割り当てられた各アプリケーションをディレクトリに登録して、ディレクトリ毎にメモリ領域を管理することで、各アプリケーションへのアクセス権を効率的に制御するものである。（特許文献１）
【０００９】
また、別の従来技術としては、平成１５年（２００３年）４月２５日公開の特開２００３−１２２６４６「ＩＣカードおよびＩＣカードのメモリアクセス制御方法」（出願人：日本電信電話株式会社、発明者：吉田壱他）がある。
この従来技術は、ＩＣカードのメモリのデータ書き換え及びガーベジコレクションに際して、処理中の電源が遮断されたときに、メモリ領域の不整合を高速に解消するアクセス制御方法である。（特許文献２）
【００１０】
また、ＩＣカードなどを用いた指紋認証装置におけるメモリアクセス制御に関する従来技術として、平成１５年（２００３年）３月２０日公開の特開２００３−８５１４９「指紋認証装置及び認証システム」（出願人：システムニーズ株式会社、発明者：中山恵介他）がある。
この従来技術は、ＩＣカードなどを用いた指紋認証装置において、ＩＣカード部分のメモリ上のデータをアクセスするためのアクセス鍵を暗号化して保持し、アプリケーションのセキュリティの度合いに応じて認証を行い、暗号化されたアクセス鍵を復号して復号した鍵によりデータへのアクセスを許可して、データを出力する認証システムである。（特許文献３）
【００１１】
【特許文献１】特開２００３−１６４０３号公報（第８−１３頁）
【特許文献２】特開２００３−１２２６４６号公報（第４−５頁）
【特許文献３】特開２００３−８５１４９号公報（第４−９頁、図２）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
一般的なＩＣカード等の本人認証装置（以下、「トークン」という）を用いたシステムは、図７に示すように、ユーザ識別子等の情報を格納したトークン１と、当該トークン１への情報の読み書きの制御を行うコミュニケーションドライバ２ａと、トークン１を用いて本人認証を行い、本人認証によって得られる本人のデータアクセスを要求するアプリケーション（Ａpa，Ａpb，Ａpc）６′と、アプリケーション６′の開始要求等の行うクライアント５′と、クライアント５′からの開始要求等を受けてコミュニケーションドライバ２ａを介してトークン１にアクセスしてアプリケーション６′を動作させるサーバ３′とを備えたものである。
図７は、一般的なトークンを用いた本人認証システムの概略図である。
【００１３】
上記システムでは、各トークン（ａ，ｂ，ｃ）に対応して各々のアプリケーション（Ａpa，Ａpb，Ａpc）が設計・作成されたものとなっており、コミュニケーションドライバ２ａも各トークンに対応したものが各々設けられる。つまり、アプリケーションが各トークンに依存して設計・作成されたものである。
【００１４】
よって、上記システムにおけるアプリケーションのトークンに対する依存性により、アプリケーションで扱えるデータを後からトークン内のメモリに追加するような場合、設計変更が必要となり、場合によってはトークンを回収して作業を行うことにもなり、開発作業及び開発コストが増えるといった問題点があった。
【００１５】
また、トークン内のメモリ容量に余裕がないか、セキュリティ等の問題でユーザ識別子以外の領域への書き込みを禁止している場合には、トークン内のメモリにアプリケーション関連データが格納できず、トークンの利用を拡張できないといった問題点があった。
【００１６】
また、アプリケーションのトークンに対する依存性により、トークンａに対するアプリケーションＡpaを他のトークンｂに適用しようとすると、トークンの種類及び仕様の相違等のために大幅な設計変更が必要となり、開発作業及び開発コストが増大するといった問題点があった。
【００１７】
本発明は上記実情に鑑みて為されたもので、トークンを仮想トークンとして扱い、仮想トークンの記憶領域を拡張する仮想拡張領域を設け、アプリケーションが当該仮想トークンに対して動作させることで、アプリケーションがトークンに依存せず、独立したものにでき、アプリケーション関連データの追加、アプリケーションを種々のトークンに適用させることが容易にできる本人認証インフラストラクチャシステムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明は、本人認証装置を用いて、本人認証を行い、当該本人認証によって得られる本人のデータアクセスを要求するアプリケーションが動作する本人認証インフラストラクチャシステムであって、クライアントからアプリケーションの開始要求と当該アプリケーションの識別情報を取得し、接続される本人認証装置を仮想本人認証装置とし、仮想本人認証装置に対する拡張記憶領域を設け、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵と取得したアプリケーションの識別子で特定される拡張記憶領域の格納場所に格納された本人のデータにアクセスして読み込む仮想メモリサービスサーバを備えたことを特徴とする。
【００１９】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想メモリサービスサーバが、本人認証のセキュリティレベルを予め設定され、本人認証を行う仮想本人認証装置ドライバを備えたことを特徴とする。
【００２０】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想本人認証装置ドライバが、複数の本人認証装置の組み合わせによって本人認証を行うことを特徴とする。
【００２１】
本発明は、上記本人認証インフラストラクチャシステムにおいて、拡張記憶領域として仮想本人認証装置メモリデータベースを設けたことを特徴とする。
【００２２】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想メモリサービスサーバに、サービス開始を要求し、本人認証を要求し、仮想本人認証装置メモリデータベースへのアクセスを要求するクライアントを設けたことを特徴とする。
【００２３】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想メモリサービスサーバが、複数のアプリケーションの処理を排他制御することを特徴とする。
【００２４】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想メモリサービスサーバが、本人認証装置の装着状態を監視し、本人認証装置が非装着状態となったことを検出すると、読み込まれたデータを消去することを特徴とする。
【００２５】
本発明は、上記本人認証インフラストラクチャシステムにおいて、仮想メモリサービスサーバが、ユーザ識別子と、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵と、使用するアプリケーションの識別子と、当該アプリケーション毎のアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と、拡張記憶領域における関連データの格納場所の情報とを対応付けて記憶する記憶部を備え、拡張記憶領域に格納された関連データは、アプリケーション暗・復号鍵で暗号化され、又は／及びアプリケーションアクセス鍵でアクセスされて格納されており、本人認証装置が装着状態となると、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵とクライアントから取得したアプリケーションの識別子とに基づき拡張記憶領域における関連データの格納場所の情報を取得し、格納場所の情報に従って関連データを読み込み、対応するアプリケーション暗・復号鍵で復号化し、又は／及び対応するアプリケーションアクセス鍵で関連データにアクセスすることを特徴とする。
【００２６】
本発明は、上記本人認証インフラストラクチャシステムにおいて、拡張記憶領域の格納場所に生体認証のデータを暗号化して格納し、仮想メモリサービスサーバは、生体認証のデータを読み出して復号し、入力された生体認証のデータと比較して生体認証を行うことを特徴とする。
【発明の効果】
【００２７】
本発明によれば、本人認証装置を用いて、本人認証を行い、当該本人認証によって得られる本人のデータアクセスを要求するアプリケーションが動作する本人認証インフラストラクチャシステムであって、クライアントからアプリケーションの開始要求と当該アプリケーションの識別情報を取得し、接続される本人認証装置を仮想本人認証装置とし、仮想本人認証装置に対する拡張記憶領域を設け、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵と取得したアプリケーションの識別子で特定される拡張記憶領域の格納場所に格納された本人のデータにアクセスして読み込む仮想メモリサービスサーバを備えた本人認証システムとしているので、本人認証を行うと共に、トークンの記憶容量を仮想的に柔軟に拡大し、トークンと拡張記憶領域に格納されたデータとをユーザ毎でアプリケーション別に結び付けることでトークンを仮想トークンとして扱うことができ、アプリケーションが個々のトークンに依存しないで独立性を保持し、アプリケーション毎のファイヤーウォールを形成してセキュリティを確保できる効果がある。
【００２８】
本発明によれば、仮想メモリサービスサーバが、本人認証のセキュリティレベルを予め設定され、本人認証を行う仮想本人認証装置ドライバを備えた上記本人認証インフラストラクチャシステムとしているので、本人認証の独立性を保持できる効果がある。
【００２９】
本発明によれば、仮想本人認証装置ドライバが、複数の本人認証装置の組み合わせによって本人認証を行う上記本人認証インフラストラクチャシステムとしているので、セキュリティレベルを向上させることができる効果がある。
【００３０】
本発明によれば、拡張記憶領域として仮想本人認証装置メモリデータベースを設けた上記本人認証インフラストラクチャシステムとしているので、拡張情報を分散して管理できる効果がある。
【００３１】
本発明によれば、仮想メモリサービスサーバが、複数のアプリケーションの処理を排他制御する上記本人認証インフラストラクチャシステムとしているので、複数のアプリケーションを滞りなく利用できる効果がある。
【００３２】
本発明によれば、仮想メモリサービスサーバが、本人認証装置の装着状態を監視し、本人認証装置が非装着状態となったことを検出すると、読み込まれたデータを消去する上記本人認証インフラストラクチャシステムとしているので、セキュリティを向上させることができる効果がある。
【００３３】
本発明によれば、仮想メモリサービスサーバが、ユーザ識別子と、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵と、使用するアプリケーションの識別子と、当該アプリケーション毎のアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と、拡張記憶領域に格納された関連データは、アプリケーション暗・復号鍵で暗号化され、又は／及びアプリケーションアクセス鍵でアクセスされて格納されており、本人認証装置が装着状態となると、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵とクライアントから取得したアプリケーションの識別子とに基づき拡張記憶領域における関連データの格納場所の情報を取得し、格納場所の情報に従って関連データを読み込み、対応するアプリケーション暗・復号鍵で復号化し、又は／及び対応するアプリケーションアクセス鍵で関連データにアクセスする上記本人認証インフラストラクチャシステムとしているので、暗号化された関連データをアプリケーション鍵で復号化してアプリケーションで利用可能とするため、セキュリティを向上させることができる効果がある。
【００３４】
本発明によれば、拡張記憶領域の格納場所に生体認証のデータを暗号化して格納し、仮想メモリサービスサーバが、生体認証のデータを読み出して復号し、入力された生体認証のデータと比較して生体認証を行う上記本人認証インフラストラクチャシステムとしているので、トークン内に生体認証のデータを格納する領域が設けられていなくても、生体認証を実現できる効果がある。
【００３５】
本発明によれば、現在の、ＩＣカード等のトークンが持っていること（Something You Have）、パスワードを知っていること（Something You Know）による本人認証に加えて、指紋や顔型（Something You are）、サイン（Something You Do）等の生体認証データを仮想領域管理情報として管理する仮想記憶領域に追加することで多要素認証システムを柔軟に、安価に、そして早期に構築できる効果がある。
【発明を実施するための最良の形態】
【００３６】
本発明の実施の形態について図面を参照しながら説明する。
ここで、本人認証装置とは、内部メモリにユーザ識別情報を格納し、本人を認証する機能の一部又は全部を備える装置であり、ＣＰＵを備える装置としてはＩＣカード等、ＣＰＵを備えない装置としてはＵＳＢメモリ等の半導体メモリ等である。以下、本人認証装置を「トークン」という。
【００３７】
本発明の実施の形態に係る本人認証インフラストラクチャシステムは、本人認証装置を用いて本人認証を行い、当該本人認証によって得られる本人のデータアクセスを要求するアプリケーションに対して、接続される種々のトークンを仮想トークンとして扱い、本人認証を行うことができる仮想トークンドライバと、仮想トークンの拡張記憶領域とを設け、仮想トークンメモリサービスサーバが、仮想トークンとその拡張記憶領域とを結び付けるために、トークン内のユーザ識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵とアプリケーションＩＤにより、アプリケーション毎に格納された関連データにアクセス可能とすることで、仮想トークンに対応してアプリケーションを動作させることができ、これにより、アプリケーションがトークンに依存せずに独立性を備えるため、トークン毎にアプリケーションを設計・作成する必要はなく、更にアプリケーション関連データを追加する場合には、作業を容易とし、開発コストを低減できるものである。
【００３８】
また、仮想トークンドライバが、トークンの組み合わせによるセキュリティレベルを決めるようにすれば、セキュリティレベルを向上させることができる。例えば、ＰＩＮ認証を行うトークンと生体認証を行うトークンとを組み合わせることで、より強固なシステムにすることができる。
【００３９】
本発明の実施の形態に係る本人認証インフラストラクチャシステムは、ＩＣカード等のトークン内のメモリに格納されたユーザを特定するための識別子又は識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、生成したユーザアクセス鍵又は／及びユーザ暗・復号鍵とアプリケーションＩＤとに基づきアプリケーションを利用可能とするアクセス鍵（アプリケーションアクセス鍵）又は／及び暗・復号鍵（アプリケーション暗・復号鍵）とファイルの格納場所の情報を取得し、ファイルの格納場所の情報が示す仮想的な領域に格納されたファイルをアプリケーション暗・復号鍵で復号し、又は／及びアプリケーションアクセス鍵で当該ファイルにアクセスして利用可能とするものであり、本人認証を行うと共に、仮想的な領域を確保し、アプリケーションＩＤをインデックスとして用いることでアプリケーション毎のファイヤーウォールを形成してセキュリティを確保できるものである。
【００４０】
ここで、ファイルの格納場所にはアプリケーションが利用するデータ（ファイル）がアプリケーション暗・復号鍵で暗号化されて格納されているか、又は／及びアプリケーションアクセス鍵でアクセス可能に格納されている。
また、アプリケーション暗・復号鍵で暗号化されたデータを更にユーザ暗・復号鍵で暗号化して格納するようにしてもよい。また、そのユーザ暗・復号鍵での暗号化を二重、三重の多重としても構わない。
尚、暗号の方式については特に問わないものであり、公開鍵が望ましいが、共通鍵、その他の方式であってもよい。
【００４１】
また、本発明の実施の形態に係る本人認証インフラストラクチャシステムは、トークンの仮想メモリを提供するサーバが、アプリケーションで利用されるファイルをアプリケーション毎のアクセス鍵（アプリケーションアクセス鍵）でアクセスし、又は／及び暗・復号鍵（アプリケーション暗・復号鍵）で暗号化し、そのファイル格納場所の情報と、アプリケーションＩＤと、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵の情報と、それらの情報にアクセスするためのユーザクセス鍵又は／及びユーザ暗・復号鍵の情報とユーザＩＤを対応付けて記憶し、アプリケーションが当該ファイルにアクセスする際に、トークンに格納されたユーザ識別子等から一意に導き出して生成したユーザアクセス鍵又は／及びユーザ暗・復号鍵とアプリケーションＩＤを用いてファイル格納場所の情報を取得し、更にそのアプリケーションＩＤに対応するアプリケーション暗・復号鍵でファイル格納場所にあるデータを復号し、又は／及びアプリケーションアクセス鍵で当該データにアクセスして、アプリケーションで利用可能とし、利用可能なファイルを更新した際には、アプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵でアクセス可能として、ファイル格納場所に格納するものであり、本人認証を行い、トークンに格納されたユーザ識別子等から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を用い、アプリケーションＩＤをインデックスとして仮想的記憶領域となるファイル格納場所に格納されたデータにアクセス可能としているので、アプリケーション毎のファイヤーウォールを形成してセキュリティを確保できるものである。
【００４２】
まず、本発明の実施の形態に係る本人認証インフラストラクチャシステムの概略について、図１を参照しながら説明する。図１は、本発明の実施の形態に係る本人認証インフラストラクチャシステムの概略図である。
図１に示す本発明の実施の形態に係る本人認証インフラストラクチャシステム（本システム）は、外部記憶装置としてのトークン１と、当該トークン１の入出力を制御するドライバ２と、仮想トークンメモリのサービスを提供する仮想トークンメモリサービスサーバ（Virtual Extended Token Memory Server：ＶＥＴＭサーバ）３と、仮想トークンメモリとなる仮想トークンメモリデータベース（Virtual Extended Token Memory DataBase：ＶＥＴＭデータベース、又は仮想トークンメモリＤＢ）４と、仮想トークンメモリに対応し、ＶＥＴＭサーバ３よりサービスを受ける仮想トークンメモリ対応クライアント（Virtual Extended Token Memory Client：ＶＥＴＭクライアント）５と、ＶＥＴＭクライアント５を介して仮想トークンメモリのサービスにより各種機能を実行する仮想トークンメモリ対応アプリケーション（ＶＥＴＭアプリケーション）６とから基本的に構成されている。
【００４３】
ここで、ＶＥＴＭサーバ３は、仮想トークンメモリのサービスを提供する機能を有するものであり、ＶＥＴＭクライアント５は、ＶＥＴＭサーバ３が提供するサービスを受けることを要求する機能を有するものであり、ＶＥＴＭアプリケーション６は、仮想トークンメモリのサービスによって実現可能となるアプリケーションである。
【００４４】
図１の本システムの各部を具体的に説明する。
トークン１は、ユーザを特定するためのユーザ識別子（ユーザＩＤ）又は電子証明書等を格納した外部記憶装置による本人認証仮想トークンである。例えば、ＣＰＵ（Central Processing Unit）とメモリを備えるトークンとしては、接触型又は非接触型のＩＣカード、又は指紋認証トークン等がある。また、ＣＰＵを備えず、メモリのみのトークンとして、ユーザＩＤ等を記憶できる磁気ディスク、若しくはＵＳＢ（Universal Serial Bus）メモリ、その他の半導体メモリ等がある。
図１では、例えば、トークンａ，ｂ，ｃの３種類のトークンを示したが、本発明の実施の形態では、これらトークンを仮想トークンとして扱うものである。
また、複数のトークンを組み合わせて本人認証に使うことで、セキュリティレベルを向上させることができる。
【００４５】
ドライバ２は、コミュニケーションドライバ２ａと仮想トークンドライバ２ｂとから構成されている。
コミュニケーションドライバ２ａは、トークン１の種類に応じた標準のドライバであり、トークン１への実際のアクセスを制御するドライバである。
【００４６】
仮想トークンドライバ２ｂは、ＶＥＴＭサーバ３との入出力を制御するドライバであり、特にトークン１の本人認証仮想トークンとＶＥＴＭサーバ３との間で本人認証を実現するために用いられる。
尚、仮想トークンドライバ２ｂは、コミュニケーションドライバ２ａに対応して設けられる必要があるが、ＰＩＮ（Personal Identification Number）入力等で本人認証が為されると、トークン１からユーザ識別子等の情報を読み込んで、仮想トークンメモリサーバ３に出力し、トークン１を仮想トークンとして扱うことを可能とする機能を備えている。
【００４７】
仮想トークンメモリサービスサーバ（ＶＥＴＭサーバ）３は、ＶＥＴＭクライアント５にコンポーネント機能を提供し、当該コンポーネント機能を管理するサーバである。
また、ＶＥＴＭサーバ３は、仮想トークンメモリＤＢ４に格納したアプリケーションに関連するデータのデータ（ファイル）格納場所の情報、格納されたデータを復号するアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵、ファイルの格納場所の情報及びアプリケーション鍵へのアクセスするためのユーザアクセス鍵又は／及びユーザ暗・復号鍵を管理している。
つまり、ＶＥＴＭサーバ３には、データが格納される場所の情報と、そのデータをアプリケーションによってアクセス又は／及び暗・復号化するためのアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と、それら情報にアクセスするためのユーザアクセス鍵の情報又は／及びそれら情報を暗・復号化するためのユーザ暗・復号鍵の情報が対応付けられて記憶されている。
【００４８】
ＶＥＴＭサーバ３で実現される各種機能を説明する。
ＶＥＴＭサーバ３で実現される各種機能には、ＶＥＴＭ自動取得機能、同一ＶＥＴＭ接続状態監視機能、ＶＥＴＭ接続状態監視機能、ＶＥＴＭクライアント設定機能、コード認証機能、ログ管理設定機能、ログ出力機能、本人認証機能、ＶＥＴＭデータベース接続機能、ＶＥＴＭデータベースアクセス機能等がある。上記各種機能は、本システムにおける制御手段で各種機能を実現するプログラムが起動されて実現可能となるものである。
【００４９】
ＶＥＴＭ（Virtual Extended Token Memory）自動取得機能は、現在接続されているトークン１の種類及びシステム情報を自動で取得する機能である。
同一ＶＥＴＭ接続状態監視機能は、最初に接続されたトークン１が継続して接続されているかどうかを監視し、その状態を取得する機能である。
ＶＥＴＭ接続状態監視機能は、最初に接続されたトークン１が使用するシステム環境（インタフェース、ポート等）が変更されたかどうかを監視し、その状態を取得する機能である。
【００５０】
ＶＥＴＭクライアント設定機能は、アプリケーションの各機能を有効又は無効に設定する機能である。
コード認証機能は、ＶＥＴＭクライアント５がサービスを要求する際に、クライアントのモジュールの出所が正当であるかどうかをチェックする機能である。
【００５１】
ログ管理設定機能は、ＶＥＴＭクライアント５が要求するサービスの処理結果についてログ出力方法等を設定する機能である。
ログ出力機能は、ＶＥＴＭクライアント５がサービスを要求した場合の処理結果をログとして出力する機能である。
本人認証機能は、トークン１における本人認証の結果を取得する機能であり、結果は、ブール型、判断値、スコア値、更新日を用いる。
【００５２】
ＶＥＴＭデータベース接続機能は、仮想トークンメモリＤＢ（ＶＥＴＭデータベース）４のシステム的なロケーション（ネットワークを含んだドライブ、フォルダ、ＶＥＴＭデータベース名）及びアクセス方式を取得する機能である。
ＶＥＴＭデータベースアクセス機能は、ＶＥＴＭデータベース４にアクセスする機能であり、追加登録、更新、削除、読み込み及びデータベースコピーの各機能に細分化される。
【００５３】
仮想トークンメモリＤＢ４は、トークン１の仮想的メモリを実現するデータ記憶装置であり、トークン１のユーザＩＤ等に応じてアプリケーションに関連するデータが格納されるものである。
この仮想トークンメモリＤＢ４が提供するトークンの仮想記憶領域は、関連データの追加等を容易に行わせることができるものであるから、各トークン１に依存せず、仮想トークンに対応する仮想記憶領域となるものである。
尚、仮想トークンメモリＤＢ４は、分散されていてもよい。
仮想トークンメモリＤＢ４についての詳細は後述する。
【００５４】
仮想トークンメモリ対応クライアント（ＶＥＴＭクライアント）５は、仮想トークンメモリサービスサーバ（ＶＥＴＭサーバ）３にサービスの提供を要求するクライアントである。
ＶＥＴＭクライアント５においてＶＥＴＭサーバ３に対する各種要求は、ＶＥＴＭサービス開始要求、本人認証要求、ＶＥＴＭデータベースアクセス要求、ログ出力要求である。
ＶＥＴＭサービス開始要求は、アプリケーションＩＤをＶＥＴＭサーバ３に送信し、許可されたアプリケーションであればコード認証要求を行い、その結果及びアクセス方式を取得する。
【００５５】
仮想トークンメモリ対応アプリケーション（ＶＥＴＭアプリケーション）６は、トークン１（本人認証装置）を用いて本人認証を行い、当該本人認証によって得られる本人のデータアクセスを要求するアプリケーション（以下、「Ａｐ」と略することもある）であり、ＶＥＴＭサーバ３から提供される仮想トークンメモリサービスを用いて仮想トークンメモリＤＢ４に格納されたアプリケーションに関連するデータへのアクセスにより、実行可能となるアプリケーションのことである。
尚、ＶＥＴＭアプリケーション６は、ＶＥＴＭクライアント５がサービス開始要求を行う際に、アプリケーションＩＤを出力する。
アプリケーションとしては、例えば、自動ログオン、自動ログオフ、自動復号、自動暗号、グループ暗号、グループ復号等がある。これら各アプリケーションは、仮想トークンに対して実行されるものであるから、各トークン１に依存するものではなく、各トークン１に対して独立したアプリケーションである。
【００５６】
次に、本システムにおける動作を説明する。
ＶＥＴＭサーバ３は、仮想トークンメモリ対応アプリケーション６が利用される場合に、ＶＥＴＭクライアント５から利用開始のアクセスがあると、トークン１（例えば、ＩＣカード）の接続状態を監視する。この監視は常時行われており、トークン１が装着されていなければ、装着を促すメッセージがＶＥＴＭクライアント５に出力され、また、装着されたトークン１が抜き出され又は取り出された時には、それを検出し、トークン１から読み込んだユーザＩＤ及びアプリケーション関連のデータ等を直ちに消去して処理を終了するようになっている。
【００５７】
また、ＶＥＴＭサーバ３は、仮想トークンメモリ対応アプリケーション６で利用されるデータの格納先（ファイル格納場所）をＶＥＴＭクライアント５からの指示により特定して、そのファイル格納場所の情報と、アプリケーションＩＤと、そのファイルにアクセスするアプリケーションアクセス鍵又は／及びそのファイルを暗・復号するアプリケーション暗・復号鍵の情報と、更にそれらにアクセスするためのユーザアクセス鍵又は／及びそれらを暗・復号化するユーザ暗・復号鍵の情報と、ユーザＩＤとを対応付けて格納する。
尚、ファイル格納場所の対象は、フィールドであっても、ファイルであっても、フォルダであっても、ドライブであってもよい。
【００５８】
そして、ＶＥＴＭサーバ３は、仮想トークンメモリ対応アプリケーション６で利用されるデータにアクセスするためのユーザアクセス鍵又は／及びユーザ暗・復号鍵を、トークン１に格納されたユーザ識別子等から一意に導き出して生成し、そのユーザアクセス鍵又は／及びユーザ暗・復号鍵を用いてユーザ関連の情報を取得し、更にアプリケーションからＶＥＴＭクライアント５を介して入力されるアプリケーションＩＤをインデックスとして対応するアプリケーションのファイル格納場所の情報を取得し、更にそのアプリケーションＩＤに対応するアプリケーション暗・復号鍵でファイル格納場所にあるデータを復号し、又は／及びアプリケーションアクセス鍵でファイル格納場所にあるデータにアクセスして、仮想トークンメモリ対応アプリケーション６で利用可能とする。
また、ＶＥＴＭサーバ３は、仮想トークンメモリ対応アプリケーション６で利用されて更新されたデータをアプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵でアクセス可能として、ファイル格納場所に格納する。
【００５９】
尚、ユーザアクセス鍵の代わりにユーザ暗・復号鍵を用いる場合は、ファイル格納場所にあるデータがアプリケーション暗・復号鍵で暗号化され、又は／及びアプリケーションアクセス鍵でアクセス可能とされ、更にユーザ暗・復号鍵で暗号化されたデータとなっており、アプリケーションでデータにアクセスする場合には、ファイル格納場所のデータをユーザ暗・復号鍵で復号化し、更にアプリケーション暗・復号鍵で復号化し、又は／及びアプリケーションアクセス鍵でデータにアクセスする。
【００６０】
また、ユーザ暗・復号鍵で、アプリケーションＩＤ、アプリケーション暗・復号鍵、ファイル格納場所の情報を暗号化しておき、アプリケーションでデータにアクセスする場合には、これらアプリケーションＩＤ等の情報をユーザ暗・復号鍵で復号して、更にファイル格納場所のデータをアプリケーション暗・復号鍵で復号し、又は／及びアプリケーションアクセス鍵でデータにアクセスするようにしてもよい。
【００６１】
次に、本発明の実施の形態に係る本人認証インフラストラクチャシステムの基本的な装置構成について、図２を使って説明する。図２は、本発明の実施の形態に係る携帯電話を用いた本人認証インフラストラクチャシステムの構成ブロック図である。
携帯電話を用いた本人認証インフラストラクチャシステムは、携帯電話に小形のＩＣカードのチップが組み込まれる構成を前提として、図２に示すように、ＩＣカード１′と、当該ＩＣカード１′が組み込まれる携帯電話１０と、携帯電話１０とケーブルで接続するコンピュータ（ＰＣ）２０とから基本的に構成されている。
図２では、図１のドライバ２、ＶＥＴＭサーバ３、仮想トークンメモリＤＢ４、ＶＥＴＭクライアント５及びＶＥＴＭアプリケーション６をＰＣ２０で実現している。
【００６２】
図２における各部を具体的に説明する。
ＩＣカード１′は、基本的にはＩＣチップを有するＩＣカードであり、ＩＣチップ内には、外部からの入力信号を解析して処理を実行して結果を外部出力するＣＰＵ（Central Processing Unit）と、ＯＳ（Operating System）やアプリケーションなどを記憶しているＲＯＭ（Read Only Memory）と、作業用のメモリであるＲＡＭ（Random Access Memory）と、ユーザデータを格納している不揮発性メモリ（ＥＥＰＲＯＭ：Electronically Erasable and Programmable Read Only Memory）とを有している。
尚、ＥＥＰＲＯＭの代わりにフラッシュメモリを採用しているチップもある。また、アプリケーションをＥＥＰＲＯＭに格納するケースもある。
ここで、ユーザデータ（ユーザ識別子）として、例えば、電子証明書等に格納された識別子又は識別情報があるが、ユーザを識別するための特定の識別子（システムにおいて唯一の識別子）であってもよい。
【００６３】
携帯電話１０は、制御を行う制御部（ＣＰＵ）と、処理プログラムを格納するＲＯＭと、作業用のメモリであるＲＡＭと、ユーザデータを格納している不揮発性メモリ（ＥＥＰＲＯＭ）と、表示部と、キー等の入力部と、通信を行う通信部と、ＩＣカード１′を装着する装着部とを備えている。
【００６４】
尚、携帯電話１０は、装着部にＩＣカード１′が装着されると、ＩＣカード１′内の不揮発性メモリに格納されたデータ（ここでは、例えば「電子証明書等に格納された識別子」とする）を読み取ることが可能となる。
この電子証明書等に格納された識別子は、携帯電話１０のユーザを認証する「本人識別子」となっており、ＩＣカードの発行元が管理する番号等の識別情報となっている。
【００６５】
ＰＣ２０は、制御を行う制御部（ＣＰＵ）と、処理プログラム及びユーザデータを格納するハードディスク（ＨＤＤ）等の記憶部と、作業用の主メモリであるＲＡＭと、表示部と、キーボード及びマウス等の入力部と、通信を行う通信部と、携帯電話１０を接続する接続部（インタフェース）とを備えている。
【００６６】
上記記憶部は、ＨＤＤ（Hard Disk Drive）を例に説明するが、ＦＤＤ（Floppy（登録商標）Disk Drive）やＭＯ（Magneto Optical disk：光磁気ディスク）、リムーバブルディスク、不揮発性メモリカード等も考えられる。
【００６７】
また、ＰＣ２０に通信部が備えられており、モデムと公衆回線、ＬＡＮ、無線ＬＡＮボードとＬＡＮ、ＷＡＮのネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのネットワークに接続する構成であってもよい。
【００６８】
尚、ＰＣ２０は、携帯電話１０と接続されると、携帯電話１０に装着されたＩＣカード１′内の不揮発性メモリに格納されたデータ（例えば、電子証明書等に格納された識別子）を読み取ることが可能となる。
図２では、ＩＣカード１′のトークンとＰＣ２０の接続を、携帯電話１０を介して有線のケーブルにて接続したが、ＩＣカード１′とＰＣ２０とを無線接続とすることもできる。
【００６９】
ＰＣ２０の制御部は、仮想トークンメモリ対応アプリケーション６を実行する際に、主メモリにプログラム（アプリケーション）ロードして動作させ、記憶部に格納されたデータを利用する場合に、仮想トークンメモリ対応クライアント５の動作として、例えば電子証明書等の発行要求を行うと、仮想トークンメモリサービスサーバ３の動作として、認証用のＩＤ（認証用識別子）とパスワードの入力によりユーザ認証を行い、認証用ＩＤに対して適正なパスワードであればユーザ認証がＯＫとなり、ＩＣカード１′内の電子証明書等に格納された識別子を取得し、そのユーザの識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成する。
尚、ユーザ認証は、パスワード等のＰＩＮを用いたものでもよいが、指紋、声紋、眼の虹彩又は網膜、顔画像、血流等を用いた生体認証であっても構わない。この場合、各生体認証のためのデバイスが携帯電話１０又はＰＣ２０に装備されている必要がある。
【００７０】
次に、ＰＣ２０において実現される仮想トークンメモリサービスサーバ３について図３を用いて説明する。図３は、本発明の実施の形態に係る本人認証システムに係る仮想トークンメモリサービスサーバの概略図である。
仮想トークンメモリサービスサーバ３は、ＰＣ２０におけるハードウェア構成と同様に、制御を行う制御部（ＣＰＵ）と、プログラム等を実行させる主メモリと、データ等を記憶する記憶部とを備えており、その他ネットワークに接続する通信用入出力インタフェース（通信用ＩＯ：Input/Output）等を備えていてもよい。
更に、仮想トークンメモリサービスサーバ３は、仮想トークンメモリＤＢ４に接続するインタフェースを備え、仮想トークンメモリＤＢ４に接続し、仮想トークンメモリサービスサーバ３の制御部は仮想トークンメモリＤＢ４へのアクセスを行うようになっている。
【００７１】
仮想トークンメモリサービスサーバ３の制御部は、ユーザ識別子から一意に導き出して生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵で記憶部内に予め記憶されたユーザアクセス鍵又は／及びユーザ暗・復号鍵と照合（マッチング）を行う。
仮想トークンメモリサービスサーバ３の制御部は、マッチ（一致）するユーザアクセス鍵又は／及びユーザ暗・復号鍵があれば、次にアプリケーションから入力されたアプリケーションＩＤをインデックスとして用いて対応するアプリケーションアクセス鍵又は／アプリケーション暗・復号鍵、ファイル格納場所の仮想領域管理情報を記憶部内から取得し、そのファイル格納場所の仮想領域管理情報が示す仮想トークンメモリＤＢ４の拡張記憶領域にアクセスする。
例えば、ユーザアクセス鍵の場合は、仮想トークンメモリＤＢ４の拡張記憶領域に格納された情報をアプリケーション暗・復号鍵で復号化し、又は／及びアプリケーションアクセス鍵で当該情報にアクセスする。また、ユーザ暗・復号鍵の場合は、仮想トークンメモリＤＢ４の拡張記憶領域に格納された情報をユーザ暗・復号鍵で復号し、更にアプリケーション暗・復号鍵で復号化し、又は／及びアプリケーションアクセス鍵で当該情報にアクセスする。
仮想トークンメモリサービスサーバ３の制御部における具体的処理は、後述する。
【００７２】
仮想トークンメモリサービスサーバ３は、拡張記憶領域に対するユーザ関連の情報としてユーザＩＤとユーザアクセス鍵又は／及びユーザ暗・復号鍵を記憶し、更にユーザアクセス鍵又は／及びユーザ暗・復号鍵に対応してアプリケーションＩＤ、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵、ファイル格納場所の情報を組で複数記憶する。ここで、拡張記憶領域にアクセスするために用いるユーザＩＤ、ユーザアクセス鍵又は／及びユーザ暗・復号鍵、アプリケーションアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵、ファイル格納場所の情報を「仮想領域管理情報」と呼ぶこととする。
【００７３】
尚、図３では、仮想トークンメモリサービスサーバ３は、一人のユーザ（ユーザＩＤ：ｉＤａ）にユーザアクセス鍵（ｕＡａ）又は／及びユーザ暗・復号鍵（ｕＣａ）が対応付けられ、当該ユーザに対して３つのアプリケーションＩＤ（ＡｐｉＤａ，ＡｐｉＤｂ，ＡｐｉＤｃ）が関連付けられ、各アプリケーションＩＤに対してアプリケーションアクセス鍵（ＡｐＡａ，ＡｐＡｂ，ＡｐＡｃ）又は／及びアプリケーション暗・復号鍵（ＡｐＣａ，ＡｐＣｂ，ＡｐＣｃ）が対応付けられ、更にファイル格納場所の情報（Ａ，Ｂ，Ｃ）が対応付けられている。
【００７４】
仮想トークンメモリＤＢ４は、本発明の実施の形態に係る本人認証インフラストラクチャシステムの拡張記憶領域が形成される記憶部となっており、仮想トークンメモリＤＢ４のファイル格納場所で指定されたところが拡張記憶領域となる。
【００７５】
次に、本発明の実施の形態に係る本人認証インフラストラクチャシステムにおける設定動作について説明する。
携帯電話１０に接続するＰＣ２０は、仮想トークンメモリ対応クライアント５の動作として、ＩＣカード１′に対して例えば電子証明書等の発行要求を出力し、求められるＰＩＮ情報を入力して、仮想トークンメモリサービスサーバ３の動作として、本人認証を行い、電子証明書等に格納された識別子を取得し、その識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成する。
【００７６】
ＰＣ２０において実現される仮想トークンメモリサービスサーバ３では、仮想トークンメモリ対応アプリケーション６で利用するデータをアプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵で利用するデータにアクセスして、仮想トークンメモリＤＢ４の特定の領域（ファイル格納場所）に格納する。また、暗号化されたデータを更にユーザ暗・復号鍵で暗号化し、又は／及び暗号化されたデータにユーザアクセス鍵でアクセスするようにしてもよい。そして、仮想トークンメモリサービスサーバ３では、ユーザ毎に、ユーザＩＤ、ユーザアクセス鍵又は／及びユーザ暗・復号鍵、更に当該ユーザに対するアプリケーション毎に、アプリケーションＩＤ、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵、ファイル格納場所の情報を対応付けて記憶する。
【００７７】
次に、本発明の実施の形態に係る本人認証インフラストラクチャシステムの処理動作について図４を参照しながら説明する。図４は、本発明の実施の形態に係る本人認証インフラストラクチャシステムの仮想トークンメモリサービスサーバ３における処理を示したフローチャートである。尚、図４の処理は、制御部で実現されるものとなっている。
まず、ＰＣ２０において、仮想トークンメモリ対応アプリケーション６を動作させる場合に、仮想トークンメモリサービスサーバ３に仮想トークンメモリ対応クライアント５がサービス開始の要求を行い、仮想トークンメモリサービスサーバ３は仮想トークンメモリ対応アプリケーション６からアプリケーションＩＤを取得する。
【００７８】
例えば電子証明書等の発行を要求し、その要求に対して本人認証のため認証用の情報の入力を求め、ＰＩＮ認証又は生体認証によって本人認証を行い、認証ＯＫであると、ＩＣカード１′内の電子証明書等に格納された識別子を取得し、その識別子（ユーザ識別子）から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成する。
【００７９】
ＰＣ２０において、仮想トークンメモリサービスサーバ３は、図４に示すように、ユーザ識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成して（Ｓ１）、当該ユーザアクセス鍵又は／及びユーザ暗・復号鍵に対応するユーザアクセス鍵又は／及びユーザ暗・復号鍵を検索するマッチング処理を行う（Ｓ３）。
【００８０】
マッチング処理Ｓ３の結果、対応するユーザアクセス鍵又は／及びユーザ暗・復号鍵が仮想トークンメモリサービスサーバ３の記憶部にあるか否かを判定し（Ｓ４）、対応するユーザアクセス鍵又は／及びユーザ暗・復号鍵がなければ（Ｎｏの場合）、処理を終了する。
尚、判定処理Ｓ４を設けず、本人認証の際に、当該ユーザに対応するユーザＩＤが記憶部にあるか否かを事前に判定するようにしてもよい。
また、対応するユーザアクセス鍵又は／及びユーザ暗・復号鍵があれば（Ｙｅｓの場合）、記憶部からユーザアクセス鍵又は／及びユーザ暗・復号鍵に対応するユーザ関連の情報を取得し、仮想トークンメモリ対応クライアント５から入力されたアプリケーションＩＤに対応するアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵とファイル格納場所の情報を取得する（Ｓ５）。
【００８１】
そして、仮想トークンメモリサービスサーバ３は、取得したファイル格納場所の情報（仮想トークンメモリＤＢ４のフィールド、ファイル、ディレクトリ、デバイス等）から仮想トークンメモリＤＢ４の拡張記憶領域にアクセスし、格納データを読み出す（Ｓ６）。更に、読み出したデータをアプリケーション暗・復号鍵で復号し（Ｓ７）、復号したデータを主メモリ上に展開する処理を行う（Ｓ８）。尚、アプリケーション暗・復号鍵で復号したデータを更にユーザ暗・復号鍵で復号するようにしてもよい。
【００８２】
処理Ｓ７では、データをアプリケーション暗・復号鍵で復号する場合を説明したが、データをアプリケーションアクセス鍵でアクセスするようにしてもよい。また、データをアプリケーションアクセス鍵でアクセスし、アクセスされたデータをアプリケーション暗・復号鍵で復号してもよい。
【００８３】
次は、仮想トークンメモリサービスサーバ３は、仮想トークンメモリ対応アプリケーション６の動作により、データの参照又は更新等のアプリケーション処理（ＡＰＬ）が実行される（Ｓ９）。アプリケーション処理（ＡＰＬ）が終了すると（Ｙｅｓの場合）、仮想トークンメモリサービスサーバ３は、主メモリからデータを消去する処理を行い（Ｓ１１）、処理を終了する。
尚、アプリケーション処理（ＡＰＬ）において、データの更新があると、当該データは対応するアプリケーション暗・復号鍵により暗号化され、又は／及びアプリケーションアクセス鍵でアクセス可能としてファイル格納場所の情報が示すアドレスに記憶（格納）されることになる。
【００８４】
ここで、仮想トークンメモリサービスサーバ３の処理をもっと具体的に説明する。
仮想トークンメモリサービスサーバ３は、仮想トークンメモリ対応アプリケーション６を利用しようとする仮想トークンメモリ対応クライアント５からサービスの利用開始の要求があり、アプリケーションＩＤを取得すると、本人認証装置（ＩＣカード１′）の接続状態を監視する。この監視は常時行われており、ＩＣカード１′が装着されていなければ、装着を促すメッセージをＰＣ２０の表示部に表示させ、また、装着されたＩＣカード１′が抜き出された時には、それを検出し、ＩＣカード１′から読み込んだ識別子を直ちに消去して処理を終了するようになっている。
具体的な監視処理は、仮想トークンメモリサービスサーバ３が仮想トークンドライバ２ｂに定期的にトークン（本人認証デバイス）の接続状態を問い合わせ、仮想トークンドライバ２ｂからの応答により接続状態を監視している。
【００８５】
また、仮想トークンメモリサービスサーバ３は、仮想トークンメモリ対応アプリケーション６で利用するデータの格納先（ファイル格納場所）を入力部からの指示により特定して、そのファイル格納場所の情報を、対応するユーザＩＤ、ユーザアクセス鍵又は／及びユーザ暗・復号鍵、アプリケーションＩＤ、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と共に格納する。
【００８６】
そして、仮想トークンメモリサービスサーバ３は、仮想トークンメモリ対応アプリケーション６で利用するデータにアクセスするためのユーザアクセス鍵又は／及びユーザ暗・復号鍵を、ＩＣカード１′に格納されたユーザ識別子等から一意に導き出して生成し、そのユーザアクセス鍵又は／及びユーザ暗・復号鍵とアプリケーションＩＤを用いてファイル格納場所の情報を取得し、更にそのアプリケーションＩＤに対応したアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵でファイル格納場所にあるデータを復号し、又は／及び当該データにアプリケーションアクセス鍵でアクセスして、仮想トークンメモリ対応アプリケーション６で利用可能とする。
また、仮想トークンメモリサービスサーバ３は、仮想トークンメモリ対応アプリケーション６で利用されて更新されたデータをアプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵でアクセス可能として、ファイル格納場所に格納する。
【００８７】
上記本システムでは、ＰＣ２０において、仮想トークンメモリサービスサーバ３、仮想トークンメモリＤＢ４、仮想トークンメモリ対応クライアント５及び仮想トークンメモリ対応アプリケーション実現する構成としたが、仮想トークンメモリサービスサーバ３、仮想トークンメモリＤＢ４、仮想トークンメモリ対応クライアント５を個々の装置で実現させることも考えられる。この場合、各装置は、ネットワーク接続となる。
【００８８】
また、上記本システムの内容を携帯電話１０内で実現することも可能である。具体的には、ＰＣ２０での処理を携帯電話１０の制御部で動作するアプリケーションに実行させ、更にＩＣカード１′ではない携帯電話１０の記憶部に仮想トークンメモリＤＢ４の内容を記憶する。
今後、携帯電話１０の高機能化により、携帯電話１０の記憶部（メモリ）の容量も増大し、更に制御部の処理も高速化するであろうから、ＩＣカード１′内の例えば電子証明書等を利用した様々なアプリケーションの利用が可能となる。
【００８９】
次に、本発明の実施の形態に係る一般的なＩＣカードを用いた本人認証インフラストラクチャシステムについて図５を参照しながら説明する。図５は、ＩＣカード内のメモリにデータの書き込みが禁止されているＩＣカードについて、拡張記憶領域を利用可能とする本人認証インフラストラクチャシステムの構成ブロック図である。
【００９０】
図５に示す本人認証インフラストラクチャシステムは、ＩＣカード１′と、当該ＩＣカードのデータを読み取るカードリーダ／ライタ３０と、カードリーダ／ライタ３０が接続する処理装置としてのコンピュータ（ＰＣ）２０とから基本的に構成されている。
【００９１】
図５の本人認証インフラストラクチャシステムが図２の本人認証システムと相違する点は、携帯電話１０の代わりにカードリーダ／ライタ３０が設けられている点である。
また、図５におけるＩＣカード１′として、ＩＣカード型のクレジットカードが考えられ、カードリーダ／ライタ３０があれば、本発明の本人認証装置（トークン）として利用できる。
【００９２】
尚、ＰＣ２０及びカードリーダ／ライタ３０の動作は、基本的には携帯電話１０の動作と同様であり、図２のシステムと図５のシステムとは基本的に同様のものといえる。
その他の構成及び処理動作は図２と図５のシステムでは基本的に同様である。
【００９３】
ここで、ＰＣ２０は、例えば、制御を行う制御部（ＣＰＵ）と、処理プログラム及びユーザデータを格納するハードディスク（ＨＤＤ）等の記憶部と、作業用の主メモリであるＲＡＭと、表示部と、キーボード及びマウス等の入力部と、通信を行う通信部と、カードリーダ／ライタ３０を接続する接続部（インタフェース）とを備えている。
ここで、ＰＣ２０に通信部が、モデムと公衆回線、ＬＡＮ、無線ＬＡＮボードとＬＡＮ、ＷＡＮのネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）などのネットワークに接続する構成であってもよい。
また、図５では、ＩＣカード１′のトークンとＰＣ２０の接続を、カードリーダ／ライタ３０を介して有線のケーブルにて接続したが、ＰＣ２０に無線を用いた非接触のカードリーダ／ライタを設け、ＩＣカード１′とＰＣ２０とを無線接続とすることもできる。
【００９４】
上記記憶部は、ＨＤＤを例に説明するが、ＦＤＤやＭＯ、リムーバブルディスク、不揮発性メモリカード等も考えられる。
【００９５】
尚、ＰＣ２０は、カードリーダ／ライタ３０にＩＣカード１′が挿入されると、ＩＣカード１′内の不揮発性メモリに格納されたデータ（例えば電子証明書等に格納された識別子）を読み取ることが可能となる。
この電子証明書等に格納された識別子は、ＩＣカード１′のユーザを認証する「本人識別子」となっている。よってユーザを特定できる識別子であればよく、必ずしも電子証明書を用いなくともよい。
【００９６】
ＰＣ２０の制御部は、仮想トークンメモリ対応アプリケーション６として動作する場合、主メモリにプログラム（アプリケーション）ロードして動作させ、拡張記憶領域に格納されたデータを利用する場合、仮想トークンメモリ対応クライアント５の動作として、認証用のＩＤ（認証用識別子）とパスワードの入力によりユーザ認証の要求を行い、仮想トークンメモリサービスサーバ３の動作として、認証用ＩＤに対して適正なパスワードであれば、ユーザ認証がＯＫとなり、ＩＣカード１′内の例えば電子証明書等に格納された識別子を取得することになる。
尚、ユーザ認証は、パスワード等のＰＩＮを用いたものでもよいが、指紋、声紋、眼の虹彩又は網膜、顔画像、血流等を用いた生体認証であっても構わない。この場合、各生体認証のためのデバイスがＰＣ２０に装備されている必要がある。
【００９７】
このＰＣ２０は、ユーザ個人のコンピュータで自宅又は仕事場に配置されたものでもよく、また、ＩＣカードで買い物をする店頭に配置されたコンピュータであってもよい。
【００９８】
ＩＣカードリーダ／ライタ３０は、接触型であっても良いし、非接触型であっても良い。
また、ＩＣカードリーダ／ライタ３０とＰＣ２０の接続部が離れている場合には、ＩＣカードリーダ／ライタ３０に専用の入力装置（ＰＩＮパッド）を設けても良い。
【００９９】
図２及び図５の本人認証インフラストラクチャシステムにおいて、仮想トークンメモリＤＢ４の仮想記憶領域に生体認証用データを格納する構成とすれば、後から生体認証用データを追加することが可能であり、本人認証方式の拡張を図ることができる。
【０１００】
また、図２及び図５の本人認証インフラストラクチャシステムにおいて、仮想トークンメモリサービスサーバ３は、処理の途中でカードが抜き取られて読み取り不能となったことを検出すると、主メモリ上に展開されているデータを消去する処理を行うようになっている。これは、主メモリ上のデータが不要に利用されるのを防止するためである。
【０１０１】
図２及び図５の本人認証インフラストラクチャシステムにおいて、ＰＣ２０において、仮想トークンメモリサービスサーバ３、仮想トークンメモリＤＢ４、仮想トークンメモリ対応クライアント５及び仮想トークンメモリ対応アプリケーション６を実現する構成としたが、仮想トークンメモリサービスサーバ３、仮想トークンメモリＤＢ４、仮想トークンメモリ対応クライアント５を個々の装置で実現させることも考えられる。この場合、各装置は、ネットワーク接続となる。また、仮想トークンメモリＤＢ４におけるファイル格納場所を分散して更に別個のデータベースとすることも考えられる。この場合、ファイル格納場所の情報としては、ＵＲＬ（Uniform Resource Locator）で指定されることが考えられる。
【０１０２】
尚、図５の本人認証インフラストラクチャシステムにおいて、ＩＣカードと仮想トークンメモリサービスサーバとの相互認証については、ＩＣクレジットカードの標準仕様となっているＥＭＶ仕様と呼ばれている方法を用いるようにしてもよい。
【０１０３】
本発明の実施の形態に係る本人認証インフラストラクチャシステムによれば、仮想トークンメモリサービスサーバ３においてアプリケーションで使用する情報（データ）を拡張情報として仮想トークンメモリＤＢ４の拡張記憶領域にアプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵でアクセス可能にして格納しておき、ＩＣカード１′等のトークンの利用時に、仮想トークンメモリサービスサーバ３が、ＩＣカード１′等のトークンに格納されたユーザ識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、生成したユーザアクセス鍵又は／及びユーザ暗・復号鍵とアプリケーションＩＤに対応するユーザ毎の仮想領域管理情報（アプリケーション暗・復号鍵又は／及びアプリケーションアクセス鍵と仮想記憶領域の場所［ファイル格納場所］を示す情報）を取得して、当該仮想記憶領域の場所から、暗号化された拡張情報を読み出し、アプリケーション暗・復号鍵で復号し、又は／及びアプリケーションアクセス鍵で拡張情報にアクセスして主メモリに展開して利用できるようにしているので、本人認証を行うと共に、アプリケーションで使用するデータをＩＣカード１′等のトークン内に記憶されたデータであるかのように取り扱うことができ、仮想的に大容量のシステムを構成でき、アプリケーションＩＤ毎にアプリケーション暗・復号鍵によるデータの暗・復号、又は／及びアプリケーションアクセス鍵によってアクセスを行うものであるため、アプリケーション毎のファイヤーオールを形成できる効果がある。
尚、本実施例では、ＩＣカード等のトークンが仮想的な記憶領域を確保できるものであるため、「仮想トークン」と呼ぶことができる。
【０１０４】
また、本発明の実施の形態では、ＩＣカード内にデータを直接格納しなくてもよいために、常時携帯することの多いＩＣカードを紛失しても、当該ＩＣカードから直接重要なデータが盗まれることがなく、安全性を向上できる効果がある。
【０１０５】
また、本発明の実施の形態では、アプリケーションに対応するデータ単位に仮想領域管理情報（ユーザＩＤ、ユーザアクセス鍵又は／及びユーザ暗・復号鍵、アプリケーションＩＤ、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵、ファイル格納場所の情報）を設定し、アプリケーション暗・復号鍵で暗号化し、又は／及びアプリケーションアクセス鍵でアクセス可能としたデータの格納場所を任意に設定し、且つユーザの識別子から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵で当該ユーザ以外はアクセスを限定し、アプリケーションＩＤに対応するアプリケーションのみがファイル格納場所にアクセスするので、本人認証を行い、１つのトークンで複数のアプリケーションが利用でき、且つ別のアプリケーションで用いる拡張情報に関する仮想領域管理情報は完全にマスクされているようなトークンを設計することができ、アプリケーション間のファイヤーオールを形成し、セキュリティを確保できる効果がある。
【０１０６】
更に、このときに実際の拡張情報はＩＣカード１′等のトークンの中には格納されていないため、アプリケーション単位のファイヤーウォールが確立され、個々のデータのセキュリティ性を非常に高めることができる効果がある。
【０１０７】
更に、仮想トークンメモリＤＢ４に格納されている拡張情報は、各々対応付けられたアプリケーション毎のアプリケーションアクセス鍵でアクセス可能とされ、又は／及びアプリケーション暗・復号鍵で暗号化されているため、例えば、拡張情報が単独で取り出されたとしても、アプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵がなければ復号することができず、セキュリティ性は、確保できる効果がある。
【０１０８】
また、本発明の実施の形態では、アプリケーションが利用する拡張情報のみを読み出して復号したり、暗号化して書き込みするため、アプリケーションの実行速度を高速化することができる効果がある。
【０１０９】
また、本発明の実施の形態に係る本人認証インフラストラクチャシステムでは、例えば、アプリケーション側のシステム変更などで取り扱うデータ項目が増大しても、仮想トークンメモリＤＢ４の拡張記憶領域を大きくすれば済むため、従来のようにＩＣカード１′内のファイル設計変更等をする必要が無く、システム変更に対して柔軟に対応でき、当初のファイルの設計を容易にできる効果がある。
【０１１０】
また、仮想トークンメモリＤＢ４の拡張情報の格納場所を変更した場合には、仮想トークンメモリサービスサーバ３で管理する仮想領域管理情報におけるファイルの場所の情報のみを書き換えれば良く、データ変更のみで対応できるため、簡単な方法でシステム変更に対応でき、当初のファイルの設計を容易にできる効果がある。
【産業上の利用可能性】
【０１１１】
本発明は、本人認証を行い、本人認証によって得られる本人のデータアクセスを要求するアプリケーションに対して、本人認証装置の記憶容量を仮想的に柔軟に拡大し、本人認証装置と拡張記憶領域に格納されたデータとをユーザ毎でアプリケーション別に結び付けることで本人認証装置を仮想本人認証装置として扱うことができ、アプリケーションが個々の本人認証装置に依存しないで独立性を保持し、アプリケーション毎のファイヤーウォールを形成してセキュリティを確保できる本人認証インフラストラクチャシステムに好適である。
【図面の簡単な説明】
【０１１２】
【図１】本発明の実施の形態に係る本人認証インフラストラクチャシステムの概略図である。
【図２】本発明の実施の形態に係る携帯電話を用いた本人認証インフラストラクチャシステムの構成ブロック図である。
【図３】本発明の実施の形態に係る本人認証システムに係る仮想トークンメモリサービスサーバの概略図である。
【図４】本発明の実施の形態に係る本人認証システムの仮想トークンメモリサービスサーバ３における処理を示したフローチャートである。
【図５】ＩＣカード内のメモリにデータの書き込みが禁止されているＩＣカードについて、拡張記憶領域を利用可能とする本人認証インフラストラクチャシステムの構成ブロック図である。
【図６】ＩＣカードにおけるメモリ領域内のデータ構成例を示す説明図である。
【図７】一般的なトークンを用いた本人認証インフラストラクチャシステムの概略図である。
【符号の説明】
【０１１３】
１…トークン、  １′…ＩＣカード、  ２…ドライバ、  ２ａ…トークンコミュニケーションドライバ、  ２ｂ…仮想トークンドライバ、  ３…仮想トークンメモリサービスサーバ、  ３′…サーバ、  ４…仮想トークンメモリデータベース、  ５…仮想トークンメモリ対応クライアント、  ５′…クライアント、  ６…仮想トークンメモリ対応アプリケーション、  ６′…アプリケーション、  １０…携帯電話、  ２０…ＰＣ、  ３０…ＩＣカードリーダライタ
【図１】
2005310041.tif 000003
【図２】
2005310041.tif 000004
【図３】
2005310041.tif 000005
【図４】
2005310041.tif 000006
【図５】
2005310041.tif 000007
【図６】
2005310041.tif 000008
【図７】
2005310041.tif 000009
【手続補正書】
【提出日】平成17年5月17日(2005.5.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
仮想メモリサービスサーバは、ユーザ識別子と、本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵と、使用するアプリケーションの識別子と、当該アプリケーション毎のアプリケーションアクセス鍵又は／及びアプリケーション暗・復号鍵と、拡張記憶領域における関連データの格納場所の情報とを対応付けて記憶する記憶部を備え、
前記拡張記憶領域に格納された関連データは、前記アプリケーション暗・復号鍵で暗号化され、又は／及び前記アプリケーションアクセス鍵でアクセスされて格納されており、
本人認証装置が装着状態となると、前記本人認証装置に格納されたユーザ識別情報から一意に導き出したユーザアクセス鍵又は／及びユーザ暗・復号鍵を生成し、当該生成されたユーザアクセス鍵又は／及びユーザ暗・復号鍵とクライアントから取得したアプリケーションの識別子とに基づき前記拡張記憶領域における関連データの格納場所の情報を取得し、前記格納場所の情報に従って関連データを読み込み、対応するアプリケーション暗・復号鍵で復号化し、又は／及び対応するアプリケーションアクセス鍵で当該関連データにアクセスすることを特徴とする請求項１乃至７のいずれか記載の本人認証インフラストラクチャシステム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１２
【補正方法】変更
【補正の内容】
【請求項１２】
拡張記憶領域の格納場所に生体認証のデータを暗号化して格納し、
仮想メモリサービスサーバは、生体認証のデータを読み出して復号し、入力された生体認証のデータと比較して生体認証を行うことを特徴とする請求項１乃至１１のいずれか記載の本人認証インフラストラクチャシステム。