(57)【要約】  カスタムインストールや管理者権限を必要とすることなく、コンピューター内でハードウェアセキュリティトークンの安全な暗号機能を実装する、仮想コンピューター環境における使用のための仮想トークン。ハードウェアセキュリティトークンは、仮想環境及び仮想トークンのための自動インストーラーを有する。コンピューターに差し込まれたとき、ハードウェアセキュリティトークンは必要に応じて動的なインストールを自動的に実行し、既にコンピューターにインストールされた標準的なアプリケーションプログラムに、安全な暗号サービスを提供する。セッションが完了して、セキュリティトークンはコンピューターから除去された後は、ユーザーに暗黙的で、いかなるユーザーの注意を引くことなく、及びコンピューターのオペレーティングシステムにいかなる変更もなされることなく、仮想環境はホストコンピューターから効果的にアンインストールされる。
2010537270.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターオペレーティングシステム内の仮想環境において実行されるアプリケーションプログラムにセキュリティサービスを提供するための仮想トークンであって、前記仮想環境は、前記アプリケーションプログラムに供するための、仮想暗号サービスプロバイダー層を有しており、前記仮想トークンは、以下のものを備える。
・前記仮想暗号サービスプロバイダー層へのインターフェース；
・上記インターフェースより受領されるデータをフォーマットするため、及び上記インターフェースへ送られるデータをフォーマットするためのプロトコルフォーマッタ；及び
・前記コンピューターに連動し、上記プロトコルフォーマッタを通して前記セキュリティサービスを提供するように構築されたハードウェアセキュリティトークン。
【請求項２】
請求項１に記載の仮想トークンであって、上記プロトコルフォーマッタが
・マスストレージデバイス；
・ヒューマンインターフェースデバイス；
からなるグループから選択されるデバイスドライバに適合する仮想トークン。
【請求項３】
請求項１に記載の仮想トークであって、前記セキュリティサービスが以下より成るグループから選択される仮想トークン：
・プライバシー；
・アクセスコントロール；
・認証／確認；
・データ保護；
・暗号化／復号化／ハッシュ化；
・デジタル署名作成／照合；
・デジタル証明書作成／照合；
・チャレンジ／レスポンス；
・ユーザーネーム／パスワード／ＰＩＮ（個人識別番号）／アクセスコード表示；
・ワンタイムパスワード発生；
・デリケートなデータストレージ。
【請求項４】
コンピューターオペレーティングシステム内のアプリケーションプログラムにセキュリティサービスを提供するための、セキュリティトークンであって、該セキュリティトークンは、以下の物を備える：
・データを交換するための前記コンピューターに対する双方向のデータインターフェース；
・仮想環境を前記オペレーティングシステムにロードするために構築された仮想環境ローダーであって、上記仮想環境は仮想暗号サービスプロバイダー層を含む仮想環境ローダー；並びに
・上記仮想環境に仮想トークンをインストールするためのインストールスクリプトであって、上記仮想トークンは以下のものを含む：
・前記アプリケーションプログラムと通信を行うための上記仮想暗号サービスプロバイダー層に対するインターフェース；及び
・上記双方向のデータインターフェースから受領されるデータをフォーマットするため、及び上記双方向データインターフェースへ送られるデータをフォーマットするためのプロトコルフォーマッタ。
【請求項５】
請求項４に記載のセキュリティトークンであって、さらにフラッシュメモリを含み、少なくとも仮想環境の上記ローディングの部分が、上記フラッシュメモリからのローディングを通して行われるセキュリティトークン。
【請求項６】
請求項４に記載のセキュリティトークンであって、：
・コンピューターネットワーク上のリソースのＵＲＬ；及び
・上記コンピューターネットワーク上の上記リソースのＩＰアドレス
のうち少なくとも１つをさらに含み、少なくとも仮想環境の上記ローディングの部分が、上記リソースからのダウンロードを通して行われる、セキュリティトークン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピューターセキュリティトークンに関し、そしてより特定的には、ユーザーにとって暗黙的（ｔｒａｎｓｐａｒｅｎｔ）である自己インストールクライアント環境のための仮想トークンに関する。
【背景技術】
【０００２】
ここでは用語「セキュリティトークン」は、デリケートな機密情報を有し、及び保護し、またプライバシー、アクセスコントロール、認証、及びデータ保護を含む（しかし、それらに限定されない）セキュリティ関連サービスを提供する個人用携帯電子デバイスを意味する。用語「ハードウェアセキュリティトークン」は時として、物理的なデバイスとしてセキュリティトークンの実装を強調するために用いられる。用語「アクセス」はここでは、制限された物理的な場所に入るための、又は、制限されたデータ若しくは情報、コンピューター施設、若しくは制限された通信に従事するための入手及び／若しくは変更するための許可を意味する。用語「認証」は、ここでは、同一性（本人であること）の確立及び確認を意味し、セキュリティトークンのユーザーの個人の同一性を含む（しかし、それに限定されない）。セキュリティトークンによって含まれるデリケートな機密情報は、ユーザーネーム、パスワード、口座番号、アクセスコード、デジタル証明書、暗号／復号鍵、セキュリティ方針、及びそれらに類するものを含む（しかし、それらに限定されない）。セキュリティトークンによって含まれるデリケートな機密データの能力は、デジタル署名作成及び確認、チャレンジレスポンス能力、ユーザーネーム及び／若しくはパスワード及び／又は個人識別番号（ＰＩＮ）の提示、ワンタイムパスワード生成、データ認証／確認能力、機密データ保存、並びに暗号化／復号化／ハッシュ化能力を含む（しかし、それらに限定されない）。セキュリティトークン内に含まれるデリケートな機密データ情報は典型的には、スマートカードチップ技術を使用することによって保護されている。適切に構築されたスマートカードは、セキュリティトークンを構成することができる。
【０００３】
セキュリティトークン使用のための原則的な場所の一つは、パーソナルコンピューター内であり、特にはインターネットといった、安全でない公共のネットワークに接続されたパーソナルコンピューターの場合である。パーソナルコンピューター上でのセキュリティトークンの特定の使用として、以下のものを含む（しかし、それらに限定されない）：
・仮想プライベートネットワーク（ＶＰＮ）、公共ネットワーク内の安全な仮想ネットワークへのアクセス；
・公共のネットワークを通しての銀行口座又は他の機密データへのアクセス；及び
・公共のネットワークを介して送られる電子メール又は他の文書の、署名、暗号化、確認、及び／又は復号。
これらすべての場合において、パーソナルコンピューターは、セキュリティトークンに依存して、ある暗号サービスを実行している。暗号化、復号化、ハッシュ化、署名、確認等のためのセキュリティトークンにデータを送ることによって、機密暗号データは、（必ずしも安全ではなく、機密暗号データが機密性を損なったり失ったりしやすい場所である）パーソナルコンピューターに送られる代わりに、安全にセキュリティトークン内で維持される。
【０００４】
しかし、暗号サービスを提供するセキュリティトークンを使用するために、パーソナルコンピューターは、あるデータ処理能力を有する必要があり、その能力は、セキュリティトークンのための「クライアント環境」と一般的に呼ばれる環境において具現化されている。セキュリティトークン又はスマートカードための典型的な先行技術のクライアント環境１００のレイヤー図を図１に示した。
【０００５】
図１は、セキュリティトークン又はスマートカードからの暗号サービス（非制限的な例として以下のものを含む：ユーザーの秘密鍵によるＥメールメッセージのデジタル署名；及びインターネット上で制限されたＷＥＢサイトへのアクセス）を必要とする可能性のある典型的なユーザーアプリケーションプログラム１０１（非制限的な例として以下のものを含む：Ｍｉｃｒｏｓｏｆｔ社の「Ｏｕｔｌｏｏｋ」（登録商標）といったＥメールクライアント；及びＭｏｚｉｌｌａ社の「Ｆｉｒｅｆｏｘ」（登録商標）といったウェブブラウザ）を示す。暗号及び他のセキュリティサービスへのアクセスを得るために、アプリケーションプログラム１０１は暗号サービスプロバイダー（ＣＳＰ）層１０３と通信を行う。ＣＳＰ層１０３は、スマートカードドライバ１０５といった様々な下位レベルのドライバ、ハードウェアトークンドライバ１０９、又はチップスマートカードインターフェースデバイスドライバ（ＣＣＩＤ）１１３と順番に通信を行い、スマートカード１０７、ハードウェアトークン１１１、又は（スマートカードリーダー若しくはＵＳＢセキュリティトークンといった）ＵＳＢスマートカードデバイス１１５といったそれぞれの物理デバイスにアクセスする。典型的な先行技術の追加デバイス接続の非制限的な例としてアプリケーションプログラム１０１は：マスストレージデバイスドライバ１１７を介して（フラッシュメモリユニットといった）物理的リムーバブルマスストレージデバイス１１９；及びヒューマンインターフェースデバイスドライバ１２１を介して、（キーボードといった）ヒューマンインターフェースデバイス１２３にもアクセスすることができる。マスストレージデバイスドライバ１１７及びヒューマンインターフェースデバイスドライバ１２１の両方は典型的に、現代のパーソナルコンピューターオペレーティングシステムにおける標準的なソフトウェアコンポーネントである。
【０００６】
ユーザーがセキュリティトークンのためのクライアントとして自身のパーソナルコンピューターを採用しようと望んだ場合、上記環境は、通常はパーソナルコンピューター上にインストールされており、その結果セキュリティトークンがコンピューターにプラグインされたとき、所望のアプリケーションプログラムはセキュリティトークンへの暗号化されたアクセスを持つ。特に、ＣＳＰ１０３及びスマートカードドライバ１０５、並びに要すればハードウェアトークンドライバ１０９はインストールされなければならない。これは、セキュリティトークンのユーザーによって現在採用されているパーソナルコンピューター操作のためのモードである。しかし、残念ながら、コンピューターにＣＳＰ１０３をインストールすることは、通常特別な管理者権限が必要となる。なぜなら、インストールはコンピューターのオペレーティングシステムに永続的な変更を行うことをまねくからである。
【０００７】
しかし、セキュリティトークンは携帯性を有するため、臨時にクライアントアプリケーションプログラムを支配する、異なるパーソナルコンピューターを用いて、異なる場所において自身のセキュリティトークンを採用することをユーザーが望む機会が頻繁にある。しかし、そのような場合において、ユーザーは新しいホストコンピューター上にクライアント環境をインストールするという問題に直面する。コンピューター上のそのような環境をインストールすることは、時間を消費し、わずらわしい操作であるだけでなく、示したように、ユーザーはインストールメディアを持ち歩くことも必要であり、及びユーザーは管理者権限を有していることが必要である。さらには、ホストコンピューターのオーナー又は管理者は、ユーザーが一時的なアクセスを完了した後、そのクライアント環境がコンピューター上に残ることを望まないかもしれない。従って、ユーザーはクライアント環境をアンインストールしなければならないであろう。しかし、そのような除去にも関わらず、ホストコンピューターのオペレーティングシステムの変更は残る可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、ホストコンピューター上のクライアント環境にユーザーが能動的にインストール及びアンインストールを行う必要がないセキュリティトークン（それは管理者権限を必要とせず、及びオペレーティングシステムの変更を行わない）を有することを、必要とされていることが広く認識されており、またそのようなことは大いに利点があるであろう。この目的は本発明によって満たされる。
【課題を解決するための手段】
【０００９】
本発明は、仮想環境内での使用のための仮想トークンであり、ユーザーがホストコンピューター上のクライアント環境をインストール又はアンインストールを行うことを必要としない。本願発明の実施形態では、ユーザーには暗黙的な形で、ホストコンピューター上の仮想環境内に仮想トークンのインストールを自動的に実行し、管理者権限を必要としないハードウェアセキュリティトークンを含み、そして前記インストールはセッションが完了した時に効果的にアンインストールされ、ハードウェアセキュリティトークンはコンピューターから除去される。
【００１０】
従って、本発明によれば、コンピューターオペレーティングシステム内の仮想環境内で実行されているアプリケーションプログラムにセキュリティサービスを提供するための仮想トークンが提供され、仮想環境はアプリケーションプログラムに供するための仮想暗号サービスプロバイダー層を含み、仮想トークンは：（ａ）仮想暗号サービスプロバイダー層へのインターフェース；（ｂ）プロトコルフォーマッタであって、インターフェースから受領されるデータをフォーマットするためのもの及びインターフェースに送られるデータをフォーマットするためのもの；及び（ｃ）コンピューターに連動し、及びプロトコルフォーマッタを通してセキュリティサービスを提供するために構築されるハードウェアセキュリティトークンを含む。
【００１１】
さらには、本発明によれば、コンピューターオペレーティングシステム内の仮想環境内のアプリケーションプログラムにセキュリティサービスを提供するためのセキュリティトークンも提供され、そのセキュリティトークンは以下のもの含む：（ａ）双方向データのコンピューターに対するインターフェースであって互いにデータ交換するためのもの；（ｂ）仮想環境ローダーであって、オペレーティングシステムに仮想環境をロードするために構築されたものであって、仮想環境は仮想暗号サービスプロバイダー層を含むもの；及び（ｃ）インストールスクリプトであって、仮想環境に仮想トークンをインストールするためのものであり、仮想トークンは以下のものを含む：（ｄ）仮想暗号サービスプロバイダー層に対するインターフェースであって、アプリケーションプログラムと通信をするためのもの；及び（ｅ）プロトコルフォーマッタであて、双方向データインターフェースから受領されるデータのフォーマット及び双方向データインターフェースへ送られるデータのフォーマットをするためのもの。
本願発明はここでは、添付した図面を参照し、実施例のみを介して記述する。
【図面の簡単な説明】
【００１２】
【図１】図１はスマートカード又は安全なハードウェアトークンのための典型的な先行技術クライアント環境の層を示した図である。
【図２】図２は本発明の実施形態に従って、仮想トークンを有する仮想クライアント環境の層を示した図である。
【図３】図３は本発明の実施形態によって採用されるプロトコルフォーマッタのラッピング及びアンラッピングを概念的に図示している。
【図４】図４は本発明の実施形態に従ったセキュリティトークンによってコンピューター内のセキュリティ環境の暗黙的な自己インストールを概念的に図示している。
【実施例】
【００１３】
本願発明の実施形態に従った、ハードウェアセキュリティトークンによって暗黙的に自己インストールされる仮想クライアント環境における仮想トークンの原理及び動作は図面や添付した記述を参照することによって理解されるであろう。
【００１４】
仮想トークン
用語「仮想トークン」は、ここでは、ハードウェアセキュリティトークンによって提供されるであろうアプリケーションプログラムに対して同じセキュリティ関連サービスを提供するコンピューターのための実行可能なソフトウェアを意味する。本発明の実施形態において、仮想トークンはサービスを提供するために外部のハードウェアセキュリティトークンと通信をし、及びそれと連動して稼動する。
【００１５】
図２はホストコンピューターのコンピューターオペレーティングシステム２０１内での仮想クライアント環境２０３のレベルを図示している。本発明の実施形態に従った仮想トークン２０５はインストールされ、（下記でより詳細に示すように）仮想環境２０３内で実行される仮想ＣＳＰ層２０６に対するインターフェース２０７を有する。
【００１６】
アプリケーションプログラム２０４が、コンピューターオペレーティングシステム２０１のために意図されたアプリケーションプログラムの通常のバージョンであり、外部のサービス又はデバイスによって提供されるセキュリティサービスに対するアクセス性に関連して特別に変更されてはいないという点において、アプリケーションプログラム２０４は「標準的」であると考えられる。非制限的な例において、アプリケーションプログラム２０４は、Ｍｉｒｃｏｓｏｆｔ社「Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ」（登録商標）又はＭｏｚｉｌｌａ社の「Ｆｉｒｅｆｏｘ」（登録商標）といった、いかなるカスタマイズされた機能や変更を伴わない標準的なウェブブラウザである。アプリケーションプログラム２０４は、インターフェース２０２を介して、仮想ＣＳＰ層２０６へアクセスする。アプリケーションプログラム２０４の立場からすると、仮想ＣＳＰ層２０６へのアクセスは、以前に示したアプリケーションプログラム１０１がＣＳＰ層１０３へアクセスする（図１）のと全く同じ様式で行われる。しかし、ＣＳＰ層２０６に関して異なる所は、仮想環境２０３においてＣＳＰ層２０６をインストールするのに、管理者権限や他の特別な手配が必要ないことである。オペレーティングシステム２０１が関与する限り、仮想環境２０３は単なる別のアプリケーションプログラムであり、その中のＣＳＰ層２０６は単なる一部に過ぎない。従って、オペレーティングシステム２０１はＣＳＰ層２０６のインストールについて何ら権限の制限を課すことはない。よって、ＣＳＰ層２０６は仮想環境２０３をロードする間に自動的にロードされることができる。
【００１７】
コンピューターのための仮想環境は先行技術において知られており、以下のようなソースを通して入手可能である。Ｃｅｅｄｏ  Ｔｅｃｈｎｏｌｏｇｉｅｓ社、Ｒｏｓｈ−Ｈａａｙｉｎ、イスラエル；ＩｎｓｔａｌｌＦｒｅｅ社、Ｓｔａｍｆｏｒｄ、ＣＴ；ＭｏｋａＦｉｖｅ社、Ｒｅｄｗｏｏｄ  Ｃｉｔｙ、ＣＡ；Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社、Ｓａｎｔａ  Ｃｌａｒａ、ＣＡ（「ＶｉｒｔｕａｌＢｏｘ」）；及び  Ｃｉｔｒｉｘ  Ｓｙｓｔｅｍｓ社、Ｆｔ．Ｌａｕｄｅｒｄａｌｅ  ＦＬ  （「ＸｅｎＤｅｓｋｔｏｐ」）。
【００１８】
仮想トークン２０５は、ラップ（ｗｒａｐ）操作２１１においては、外部へのデータを変換し、アンラップ（ｕｎｗｒａｐ）の操作２２７においては、内部へのデータを変換して、インターフェース２１３を介してプロトコルフォーマッタ２０９と通信をする。このような形で、仮想トークン２０５はオペレーティングシステム２０１のコンパチブルデバイスドライバ２１５を介して外部と通信を行う。本発明の非制限的な実施形態として、プロトコルフォーマッタ２０９はマスストレージデバイスドライバのための外部へのデータをフォーマットし、及びそこからの内部へのデータを受領し、該ドライバは典型的にはユーザーによるインストールを必要としない生来のデバイスドライバとして現代のオペレーティングシステムに含まれる又はプレインストールされているものである。即ち、この非制限的な実施形態において、デバイスドライバ２１５はマスストレージデバイスドライバである。本発明の好ましい実施形態において、デバイスドライバ２１５はそのようなプレインストールされた又は生来のデバイスドライバであり、それらの非制限的な例は、上述したマスストレージデバイスドライバだけでなく、キーボードのためのドライバといったヒューマンインターフェースデバイスドライバも含む。本発明の他の実施形態において、デバイスドライバ２１５はより特別化される。より特別化されたデバイスドライバの非制限的な例として、従来技術として知られている様々なタイプの専用のスマートカードリーダーのためのデバイスドライバを含む。
【００１９】
また、含まれるが、しかし図２に示されていないものとしてコンピューターオペレーティングシステム２０１と外部のユーザーセキュリティトークン２２１の間の物理的データ接続がある。そのような物理的データ接続の例として：ＵＳＢ接続機器といった抜き差しできる接続機器；  近接ＲＦ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、及びそれに類するものといった無線周波数（ＲＦ）データリンク；並びにＩＳＯ７８１６スマートカード接続機器が含まれる（しかしそれらに限られない）。
【００２０】
デバイスドライバ２１５はコンパチブル外部ユーザーセキュリティトークン２２１とのデータ通信を可能にするインターフェース２１７を有している。本発明の好ましい実施形態において、セキュリティトークン２２１は（上記で議論したように）コンピューターのプレインストールされた又は生来のデバイスドライバに適合可能であり、その上にプロトコルフォーマッタ２１９を含む。本発明の非制限的な実施形態において、プロトコルフォーマッタ２１９はマスストレージデバイスやヒューマンインターフェースデバイスに適合させるためにデータをフォーマットする。プロトコルフォーマッタ２１９はインターフェース２１７からセキュリティトークンフォーマットへ、アンラップ操作２２３を通して、データを変換し、セキュリティトークンフォーマットからインターフェースフォーマットへ、ラップ操作２２５を通してデータを変換する。本発明の他の実施形態では、プロトコルフォーマッタ２１９はスマートカードリーダーのインターフェースの一部分として含まれる。
【００２１】
ラッピング及びアンラッピングプロトコルフォーマット
ここで議論するラッピング及びアンラッピング操作が今や、図３を参照することで、簡単に明らかになる。データアイテム３０１は、第１のプロトコルＰ１においてフォーマットされる。データアイテム３０１はプロトコルＰ１に関連した、いかなるデータであってもよく、プロトコルＰ１とともに用いるために定義されることができる。そこには、コマンド；メッセージ；通知；要求；応答；データ引数；及びその他を含むが、それらに限られない。ラッピング操作３０５において、データアイテム３０１は、第２のプロトコルＰ２のフォーマット３０３に取り込まれる。それによってプロトコルＰ２の規格に準拠したデータアイテム３０７が形成され、並びに送信され、受領され、及びＰ２フォーマットのデータに適合するハードウェア及びソフトウェアによって取り扱われることができる。最後に、アンラッピング操作３１１において、元のデータアイテム３０１が抽出され、Ｐ２へのフォーマット３０３は廃棄される。この順番でのプロトコルフォーマッティングは、よく知られた先行技術であり、あるフォーマット（例  Ｐ１）におけるデータを、Ｐ１を認識しないが、代わりにＰ２を介して機能するデバイス及びソフトウェアによって取り扱われることを可能にする。
【００２２】
暗号プロトコルの一般的な場合において、「ラッピング」、暗号化コマンド、要求、応答、パラメータ及びデータは暗号化された入力を、非制限的な例として、マスストレージアクセスコマンド、要求、応答、パラメータ及びデータであることが明らかになるように再フォーマットすることを必要とする。この非制限的な例の特定のインスタンスにおいて、セキュリティトークンの秘密鍵を用いて平文の一部にデジタル署名する暗号化コマンドはラップされ（再フォーマットされ）、マスストレージの特定の場所に平文を書くような「ｗｒｉｔｅ」コマンドで表現される。この場合、マスストレージの特定の場所は、マスストレージデバイス（セキュリティトークン）内に実際に存在するものではなく、（セキュリティトークンのみが有する）ユーザーの秘密鍵を用いて平文にデジタル署名をする、ラップされたコマンドとして、セキュリティトークンがこの場所を解釈することができる。このコマンドは、オペレーティングシステム２０１によって、その状態のままで仮想環境２０３中の仮想トークン２０５から、マスストレージドライバを通してセキュリティトークン２２１へ通過し、それがオペレーティングシステム２０１にとって正規のマスストレージデバイスであるかのように見える。コマンドがセキュリティトークン２０５のプロトコルフォーマッタ２１９（この非制限的な例として、マスストレージデバイスインターフェース）によって受領されたとき、プロトコルフォーマッタ２１９はコマンド中で特定された場所が存在しないことを認識し、正確にそのコマンドをラップされたコマンドだと解釈する。そして、プロトコルフォーマッタ２１９は、対応する暗号コマンドに再フォーマットすることによりそのコマンドをアンラップし、ユーザーセキュリティトークン２２１に平文のデジタル署名をさせる。署名された平文を仮想トークン２０５へ戻すために、プロトコルフォーマッタ２１９は署名された平文をラップして、その後のアンラッピングのためのマスストレージデバイスインターフェースを通して、仮想トークン２０５へデータを戻す。従って、仮想トークン２０５は署名された平文を受領し、それは仮想ＣＳＰ層２０６へ、そしてそこからホストコンピューターの仮想環境２０３中のアプリケーションプログラム２０４へ通される。
【００２３】
仮想トークンの動作
実際には、仮想トークン２０５は以下のように動作する：
アプリケーションプログラム２０４は、セキュリティトークンサービス（その非制限的な例としてデータの暗号化）を必要とするとき、インターフェース２０７を介した仮想ＣＳＰ層２０６を通して、その標準的な方法で仮想トークン２０５からのサービスを要求する。本発明の実施形態では、仮想トークン２０５は、内部への要求を外部ユーザーセキュリティトークン２２１に適合するフォーマットに翻訳し、そして、ラッピング操作２１１におけるプロトコルフォーマッタ２０９を介して翻訳された要求をラップする。
【００２４】
その後、アプリケーションプログラム２０４のラップされ翻訳された要求は、インターフェース２１３を介して、デバイスドライバ２１５へ、そしてそこからインターフェース２１７を介してプロトコルフォーマッタ２１９へ送られる。そしてプロトコルフォーマッタは、アンラッピング操作２２３を介してアプリケーションプログラム２０４からの翻訳された要求をアンラップする。そして、ユーザーセキュリティトークン２２１は翻訳された要求を受領し、要求されたサービスを提供する。上述した非制限的な例において、これはデータを暗号化する要求であり、従ってセキュリティトークン２２１は要求どおりにデータを暗号化する。セキュリティトークン２２１（暗号化されたデータ）からの応答はラッピング操作２２５を介したプロトコルフォーマッタ２１９によって、デバイスドライバ２１５に適合するフォーマットへラップされ、デバイスドライバ２１５は、インターフェース２１７を介してラップされた応答を受領し、インターフェース２１３を介してプロトコルフォーマッタ２０９に対してラップされた応答を行う。その後、プロトコルフォーマッタ２０９は、アンラッピング操作２２７を介してラップされた応答をアンラップし、仮想トークン２０５にその応答を提示し、仮想トークン２０５はアプリケーションプログラム２０４へ応答を送る。
【００２５】
従って、サービスは実際には外部ユーザーセキュリティトークン２２１によって実行されているものの、アプリケーションプログラム２０４は、仮想トークン２０５から必要なサービスを取得する。このような形で、サービスは安全に提供される。データ暗号化の非制限的な例として、例えば暗号鍵はユーザーセキュリティトークン２２１において常に保持され、従って、開示や認証されていない使用から保護される。
【００２６】
暗黙的な自己インストールセキュリティ環境
コンピューター４０９内の（以前に議論し、図２で示した）オペレーティングシステム２０１において、仮想トークン２０５と共に、仮想環境２０３を自動的にインストールするように構築されたハードウェアセキュリティトークン４０１を、図４は概念的に示している。既に記載したように、ユーザーが特別なインストールや他の動作を行う必要がないという点で、インストールはユーザーにとって暗黙的なものである。本発明の実施形態によると、セキュリティトークン４０１をコンピューター４０９にそれらの双方向データインターフェースを介して、単に連動させることによって（非制限的な例において、コンピューター４０９の適切なポートにセキュリティトークン４０１を差し込むことによって）、自動インストールは、更なるユーザーの関与や通知をすることなく開始される。同様に本発明の実施形態において、ユーザーがコンピューター４０９からセキュリティトークン４０１を切り離したとき（非制限的な例として、排出したり引き抜くことによって）、仮想環境２０３並びに、それらの全てのコンポーネント及びコンテンツは、ユーザーに何ら通知や注意を行うことなく、コンピューター４０９から、暗黙的にアンインストールされる。さらに、これらの処理は、オペレーティングシステム２０１のいかなる変更もなされる結果とはならない。
【００２７】
セキュリティトークン４０１は、コンピューター４０９に対するこれらのインターフェースのためのスマートカードチップ４０３、フラッシュメモリ４０５、及びコントローラ４０７を含む。本発明の実施形態によると、セキュリティトークン４０１は、コンピューター４０９に対し、双方向のデータインターフェースを有し、それによってデータはそれらの間を交換されることができる。セキュリティトークン４０１がデバイスドライバ２１５を介して仮想トークン２０５と通信を行うのは、この双方向のデータインターフェース上である。本発明の好ましい、しかし非制限的な実施形態において、（図４に示したように）セキュリティトークン４０１は、この双方向のデータインターフェースのためのＵＳＢ接続機器４０８を有したＵＳＢセキュリティトークンである。本発明の他の実施形態において、他の双方向データインターフェースを特徴としている。
【００２８】
上述したように自動インストールは、セキュリティトークン４０１において保存された実行可能なソフトウェアで、且つコンピューター４０９上で実行される仮想環境ローダー４１１によって、実行される。本発明の実施形態によると、コンピューター４０９に既にロードされた標準的なアプリケーションプログラム４１５は、アプリケーションプログラム２０４として起動される。アプリケーションプログラム２０４は、以前に議論したように、仮想ＣＳＰ層２０６を介して、仮想トークン２０５にインターフェースしている。
【００２９】
本発明のある実施形態においては、仮想環境２０３及びそれらの全てのコンポーネント（仮想トークン２０５を含む）はフラッシュメモリ４０５からコンピューターオペレーティングシステム２０１へロードされる。本発明の別の実施形態では、仮想環境２０３及びそれらの全てのコンポーネント（仮想トークン２０５を含む）が、セキュリティトークン４０１内に含まれるＵＲＬやＩＰアドレス４２５に従ってインターネット４２７のような、コンピューターネットワークを通して、コンピューターオペレーティングシステム２０１へダウンロードされる。そして、ＵＲＬやＩＰアドレスは仮想環境２０３をダウンロードすることができるコンピューターネットワーク上のリソースである。本発明のさらに別の実施形態によると、仮想環境２０３の幾つかの部分がコンピューターネットワークからダウンロードされ、残りの部分はフラッシュメモリ４０５からロードされる。本発明の好ましい実施形態において、全ての仮想環境２０３（仮想ＣＳＰ層２０６を含む）が、コンピューターネットワークからダウンロードされ、仮想トークン２０５のみがフラッシュメモリ４０５からロードされる。
【００３０】
本発明の実施形態によると、仮想環境ローダー４１１は短いインストールスクリプト４１２を有している。ある実施形態において、セキュリティトークン４０１は、ＣＤ−ＲＯＭといったマスストレージデバイスを装う。その結果、コンピューターのＵＳＢポートに差し込まれると、コンピューターにとっては、ＣＤ−ＲＯＭといった、自動再生能力を伴うマスストレージデバイスが現在接続されているかのように見える。自動再生の機能が、コンピューターのオペレーティングシステムによって自動的に起動されたとき、インストールスクリプト４１２は実行される。
【００３１】
異なる既存のコンピューターの構成のためのバリエーション
最適な効果のために、コンピューター４０９の既存の構成を考慮に入れることが好ましい。
【００３２】
本発明の実施形態によると、インストールスクリプト４１２が実行されるとき、スクリプトはコンピューター４０９上に公開鍵基盤（ＰＫＩ）クライアントのミドルウェア（ＣＳＰ及びスマートカードドライバ）が既にインストールされているかどうかを最初にチェックする。もし、その場合には、コンピューター４０９は、暗号サービスプロバイダーとしてのセキュリティトークンへインターフェースするために既に構築されており、そしてセキュリティトークン４０１は、暗号機能を有したスマートカードデバイスとしてＰＫＩクライアントミドルウェアに自身の存在を単純に知らせて、処理はこのポイントで実質的に完了する。後に残るのは全て、セキュリティトークン４０１のために、ユーザーアプリケーションプログラム４１５を起動することである。本発明の実施形態において、アプリケーションプログラム４１５は、インストールスクリプト４１２によって自動的にも起動される。幾つかの場合において、アプリケーションプログラム４１５は、ユーザーの嗜好に応じて構築される必要があってもよい（例えば、インターネットブラウザのためのユーザーの「お気に入り」をロードすること）。
【００３３】
しかし、もし、本発明の別の実施形態において、公開鍵基盤クライアントミドルウェアが存在しない場合には、インストールスクリプト４１２はＣＣＩＤがコンピューター４０９に既にインストールされているかどうかをチェックする。もし、その場合には、コンピューター４０９は（図４でＵＳＢデバイスとして図示された）セキュリティトークン４０１とインターフェースするために既に構築されており、そしてセキュリティトークン４０１は処理を行ってマスストレージデバイスをエミュレートし、自身のＰＫＩ仮想クライアント環境をインストールする。しかし、コンピューター４０９上にＣＣＩＤが存在するため、このインストールは比較的シンプルで、ユーザーアプリケーションプログラム４１５及び仮想ＣＳＰ層２０６を必要とするだけである。仮想ＣＳＰ層２０６は、ＣＣＩＤとインターフェースして、直接セキュリティトークン４０１にアクセスする。
【００３４】
本発明のさらに別の実施形態によると、もしＣＣＩＤがコンピューター４０９上に存在しない場合には、コンピューター４０９は通常スマートカードデバイスとしてのセキュリティトークン４０１にアクセスすることができない。この場合、インストールスクリプト４１２は、前述したように、完全な仮想クライアント環境２０３をインストールする。
【００３５】
限られた数の実施形態に関して発明を記述してきたが、多くのバリエーション、変更、及び発明の他の応用も成すことが可能であると解釈されるであろう。
【図１】
2010537270.tif 000003
【図２】
2010537270.tif 000004
【図３】
2010537270.tif 000005
【図４】
2010537270.tif 000006
【国際調査報告】
2010537270.tif 000007