(57)【特許請求の範囲】
【請求項１】
（ａ）  プロセッサと、
（ｂ）  前記プロセッサで実行可能なコードを記憶した記憶媒体であって、セキュア・ユーザ・データが記憶可能に構成された記憶媒体と、
を備えるデータ記憶デバイスであって、
前記コードは、
（Ａ）ホスト・デバイスが前記データ記憶デバイスとの最初の通信を確立する際に、前記ホスト・デバイス上で実行するためのホストプログラムへのアクセスを可能にし、
前記ホストプログラムは、ホスト認証データを前記データ記憶デバイスへ送信するためのプログラムであり、
（Ｂ）前記データ記憶デバイスとの最初の通信を確立するのに先立って、前記ホスト・デバイスが、信頼ホスト・デバイスであるか否かを判定し、
前記信頼ホスト・デバイスは、前記データ記憶デバイスへの有効なセキュア・ユーザ・データアクセス情報と関連付けられたホスト・デバイスであり、前記判定は、前記ホスト・デバイスから受け取った前記ホスト認証データに基づいて行われ、
（Ｃ）前記ホスト・デバイスが前記信頼ホスト・デバイスと判定された場合には、前記ホスト・デバイスに前記記憶デバイスの前記セキュア・ユーザ・データへのアクセスを許可し、
（Ｄ）前記ホスト・デバイスが前記信頼ホスト・デバイスではない、と判定された場合には、前記コードが、前記セキュア・ユーザ・データにアクセスするためのユーザ・パスワード入力を受け取ってそれが正しいか否かを判定するように構成されていることを特徴とするデータ記憶デバイス。
【請求項２】
前記記憶媒体が、ユーザ・パスワードの記憶表現を含み、前記コードが、前記プロセッサで前記記憶表現を前記ユーザ・パスワードの表現に比較するように実行されるコードを含み、前記表現が同一である場合に前記セキュア・ユーザ・データへの前記アクセスを許可する、請求項１に記載のデータ記憶デバイス。
【請求項３】
前記有効なセキュア・ユーザ・データのアクセス情報は、信頼ホスト・リストを含み、
前記ホスト認証データは、ホストＩＤを含み、
前記コードが、前記プロセッサで前記ホスト・デバイスのホストＩＤを前記信頼ホスト・リストに比較するように実行されるコードを含み、前記信頼ホスト・リストが前記ホストＩＤの表現を含む場合に前記ホスト・デバイスを信頼ホスト・デバイスであるとみなす、請求項１または２に記載のデータ記憶デバイス。
【請求項４】
前記コードが、前記プロセッサで前記ホスト・デバイスが信頼ホスト・デバイスであるかどうかを判定するために、前記ホスト・デバイス上のクッキー・ファイルに問い合わせるように構成されている、請求項１に記載のデータ記憶デバイス。
【請求項５】
前記コードが、前記プロセッサで前記クッキー・ファイルを作成することに参加するように実行されるコードを含む、請求項４に記載のデータ記憶デバイス。
【請求項６】
（ｃ）前記ホスト・デバイスのホストＩＤを暗号化するように作動するクリプトプロセッサを含むため、前記クッキー・ファイルが前記暗号化ホストＩＤを含む、請求項５に記載のデータ記憶デバイス。
【請求項７】
（ｃ）前記クッキー・ファイルのレコードを解読するためのクリプトプロセッサを含むため、前記解読レコードの一つが前記ホスト・デバイスのホストＩＤと同一である場合に前記ホスト・デバイスを信頼ホストであるとみなす、請求項５または６に記載のデータ記憶デバイス。
【請求項８】
前記記憶媒体が、前記ホスト・デバイスが無条件でアクセスを得るユーザ・データ領域を含む、請求項１から請求項７のいずれかに記載のデータ記憶デバイス。
【請求項９】
（ｉｖ）前記セキュア・ユーザ・データを暗号化及び暗号解読するためのクリア・キーの表現を前記データ記憶媒体に記憶している、請求項１から８のいずれかに記載のデータ記憶デバイス。
【請求項１０】
前記コードは、前記プロセッサにより実行されるコードを含み、
（Ｅ）信頼不可ホスト・デバイスを信頼ホスト・デバイスに変換する、請求項１から９のいずれかに記載のデータ記憶デバイス。
【請求項１１】
前記コードは、前記プロセッサにより実行されるコードを含み、
（Ｅ）複数の信頼ホスト・デバイスの一つを信頼不可ホスト・デバイスに変換する、請求項１から９のいずれかに記載のデータ記憶デバイス。
【請求項１２】
前記コードは、前記プロセッサにより実行されるコードを含み、
（Ｅ）複数の信頼ホスト・デバイスのすべてを、同時に信頼不可ホスト・デバイスに変換する、請求項１から９のいずれかに記載のデータ記憶デバイス。
【請求項１３】
前記セキュア・ユーザ・データは、前記データ記憶デバイスが最初の通信を確立する前から、予め前記データ記憶デバイスのみにあることを特徴とする請求項１から１２のいずれかに記載のデータ記憶デバイス。
【請求項１４】
ホスト・デバイスと一緒にデータ記憶デバイスを用いる方法であって、
前記データ記憶デバイスが前記ホスト・デバイスに対し前記ホスト・デバイスとの最初の通信で前記データ記憶デバイス上のホストプログラムにアクセスすることを許可するステップと、
前記ホストプログラムは、ホスト認証データを前記データ記憶デバイスへ送信するためのプログラムであり、
前記データ記憶デバイスによって、前記ホスト・デバイスが、前記データ記憶デバイスへの有効なセキュア・ユーザ・データアクセス情報と関連付けられたホスト・デバイスである、信頼ホスト・デバイスであるか否かを判定するステップと、
前記判定は、前記ホスト・デバイスから受け取った前記ホスト認証データに基づいて行われ、
前記ホスト・デバイスが前記信頼ホスト・デバイスと判定された場合には、前記データ記憶デバイスが前記ホスト・デバイスに前記データ記憶デバイス上の前記セキュア・ユーザ・データへのアクセスを許可するステップと、
前記ホスト・デバイスが前記信頼ホスト・デバイスではない、と判定された場合には、前記データ記憶デバイスは前記セキュア・ユーザ・データへのアクセスを禁止し、そして、前記データ記憶デバイスに格納されたコードがユーザ・パスワード入力を受け取ってそれが正しいか否かを判定するステップと、
を有する方法。
【請求項１５】
前記ユーザ・パスワードが有効なユーザ・パスワードである場合、前記データ記憶デバイスが前記ホスト・デバイスに前記セキュア・ユーザ・データへのアクセスを許可するステップを有する、請求項１４に記載の方法。
【請求項１６】
前記ホスト・デバイスが前記信頼ホスト・デバイスではない、と判定された場合であって、前記ユーザ・パスワードが有効なユーザ・パスワードである場合には、前記データ記憶デバイスが取り付けられた前記ホスト・デバイスが信頼ホスト・デバイスとして指定されるステップをさらに有する、請求項１５に記載の方法。
【請求項１７】
さらに、前記データ記憶デバイスが取り付けられた前記ホスト・デバイスが、信頼ホスト・デバイスである場合に、前記データ記憶デバイスが取り付けられた前記ホスト・デバイスを信頼不可ホスト・デバイスとして指定することを可能にするステップを有する、請求項１４に記載の方法。
【請求項１８】
さらに、前記ホスト・デバイスのすべてを同時に信頼不可にするステップを有する、請求項１４に記載の方法。
【請求項１９】
セキュア・ユーザ・データ領域とプロセッサが実行可能な複数のプログラムコードとを有した記憶媒体と、
ホストに取り付けられたことを検出して応答するように構成されたプロセッサと、
を備えるデータ記憶デバイスであって、
前記データ記憶デバイスが前記ホストに取り付けられ応答する際に、前記プロセッサは前記プログラムコードを用いて、
前記ホストが信頼ホストであるか否かを前記ホストから受け取ったデータのみに基づいて判定し、
前記ホストから受け取ったデータは少なくとも第一の部分のデータと第二の部分のデータとから構成され、前記データ記憶デバイスが前記ホストに取り付けられる前から予め前記ホストに記憶されているデータであり、前記判定は少なくとも前記第一の部分のデータと前記第二の部分のデータとを比較することにより行われ、
前記ホストが信頼ホストと判定された場合には、前記記憶媒体の前記セキュア・ユーザ・データ領域に前記ホストのアクセスを自動的に許可し、
前記ホストが信頼ホストではないと判定された場合には、有効なユーザ・パスワードを受け付けるまでは、前記記憶媒体の前記セキュア・ユーザ・データ領域へのアクセスを禁止する、
ことを特徴とするデータ記憶デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポータブル記憶デバイスに関し、特に、セキュア（安全な）ポータブル記憶デバイスに関する。
【背景技術】
【０００２】
フロッピー（登録商標）ディスク、光学式ディスク、フラッシュメモリ・ディスク及びデジタル・テープ等の、ポータブル記憶デバイスは、例えば、一つのコンピュータからもう一つへファイルをコピーする、ファイルのバックアップ・コピーを携帯する、あるいはオフィスＰＣ、ホームＰＣ及びラップトップ・コンピュータのハードディスク間でワーク・スペースを同期させるなど、ユーザーの種々の用途に役立つ。
【０００３】
ポータブル・デバイスは、遺失したり、あるいは盗難にあったりするため、所有者は、仕事の、あるいは私的なファイルから、機密性の高い情報が他者に読み取られるという危険がある。したがって、ユーザーのパスワードあるいは生体情報によって、ポータブル記憶デバイスに記憶している情報を保護することが望ましい。明白な方法は、ポータブル記憶デバイスへファイルをコピーする前にソース・コンピュータ上でファイルを暗号化し、それから暗号化したバージョンをターゲット・コンピュータで引き出して、そしてファイルを解読してから使用することである。これは、両端末で手動で行う必要があり、また両端末に同じセキュリティ・ソフトウェアがなければならず、不便であり、しばしば非実用的である。
【０００４】
若干の最近のポータブル記憶デバイスは、オンボード・プロセッサを含み、それによってデバイス内にセキュリティ機能を組み込むことが可能である。例えば、イスラエル、クファー・サバ（Kfar Saba）のＭシステムズ・フラッシュディスク・パイオニア社が生産した、市販のポータブル・フラッシュディスク、ディスク・オン・キー（DiskOnKey）（登録商標）は、 キーセイフ（KeySafe）と呼ぶロック・ユーティリティを持ち、記憶デバイス内にセキュア・パーティションを提供する。そのセキュア・パーティションへのアクセス、そしてそこからのファイルの読み取りの両方には、ユーザーのパスワードが要求される。これは、ファイルが、セキュア・パーティションに書き込まれるときにユニットのオンボード・プロセッサによってオン・ザ・フライで暗号化され、そしてセキュア・パーティションから読み取られるときにオン・ザ・フライで解読されるためである。キーセイフのセキュリティ・メカニズムは、同時係属の米国特許出願第１０／３０４，７７２号、表題「ポータブル記憶デバイス上のデータを保護するための装置及び方法」内に説明されている。その内容は、ここに完全に記載したかのように、すべての目的に対して参照により本文に組み込まれる。
【０００５】
典型的なシナリオでは、ユーザーは、コンピュータに、彼あるいは彼女のポータブル記憶デバイスを設置し、パスワードをキーインする（あるいは例えば、指紋読み取り機を介して生体認証を行う）ことによって、ポータブル記憶デバイスをアンロックし、それから一つデバイスからもう一つへファイルをコピーする。ファイルのコピーは、手作業で、あるいは、マイクロソフト・ウィンドウズ（登録商標）・オペレーティング・システムの一部であるブリーフケース・フォルダー同期化ユーティリティ等の、バックアップあるいは同期化ユーティリティを用いて行うことができる。
【０００６】
ポータブル記憶デバイスをマウントする毎にパスワードあるいは生体情報を入力することは、不便である。この不都合からユーザーは、しばしば、セキュリティを断念して、すべてのファイルをクリア（明確な）状態で携行し、損失あるいは盗難の危険を大目に見ている。セキュリティと便利さとの間のこの対立は、現行の、安全確保が可能なポータブル記憶デバイスの欠点である。
【０００７】
したがって、データが安全に記憶でき、それを上記の欠点を克服するような方法で引き出せるようなポータブル記憶デバイスの必要性が広く認識され、そのようなものを得ることは大いに有利なことである。
【０００８】
定義
「ポータブル記憶デバイス」は、ホスト・デバイスに常に結合されるものではなく、ユーザーが、記憶デバイスを使用していた第一のホスト・デバイスから取り外して、もう一つのホスト・デバイスにマウントすることが可能な記憶デバイスを意味する。「セキュア記憶デバイス」は、資格証明をデバイスに提示しない限り、そのデバイス内に記憶したデータへのアクセスを排除する記憶デバイスを意味する。アクセス排除は、保護データへのアクセスを不能にする論理的な、あるいはハードウェア的な手段を用いることに、そして／あるいはアクセスする者に役に立たないよう、データの暗号化を維持することに基づいて行なうことができる。資格証明は、ユーザーのパスワードあるいは生体情報であってもよく、あるいは自分のデータにアクセスするためにユーザーが権限を与えたエンティティーが提供するキーまたは認証プロシージャーであってもよい。オプションとして、セキュア記憶デバイスは、上記のディスク・オン・キー製品のように、アクセス及びエンクリプションを管理する自立したプロセッサ及びソフトウェアを含む。しかしながら、セキュア・デバイスは、また、このような自立したプロセッサを持たず、ホスト・コンピュータによるエンクリプションに依存することもできる。本発明のデータ記憶デバイスは、安全で、しかもポータブルであることが好ましい。
【０００９】
「コンピュータ」あるいは択一的に「ホスト」は、セキュア・ポータブル記憶デバイスに接続可能な、コンピュータ化したデバイスを意味する。コンピュータあるいはホストの例は、デスクトップあるいはラップトップ・コンピュータ、ハンドヘルド・コンピュータ、移動通信装置、そしてファイルを記憶する他の、コンピュータ化したデバイスを含む。本文で用いる用語「ホスト」あるいは「コンピュータ」は、ログイン・プロシージャーでアクセスする物理的なコンピュータの論理パーティションに言及する。したがって、本文では、同じ物理的コンピュータの二つの論理パーティションは、二つの論理パーティションへのアクセスが、異なるユーザー名及びパスワードを用いて行われる場合、二つの異なる「ホスト」あるいは「コンピュータ」であると見なす。本文で用いる用語「ホスト」あるいは「コンピュータ」は、また、複数のコンピュータのネットワークの一部であり、そのアイデンティティーがログイン・プロシージャーで判定されるコンピュータに言及する。したがって、本文では、同じネットワークの二つの、物理的に異なるコンピュータは、もし同じユーザー名及びパスワードを用いて両コンピュータへのアクセスが得られるのなら、同じ「ホスト」あるいは「コンピュータ」であると見なす。「信頼」ホストは、ユーザーからのパスワードの入力を要求せずに、データ記憶デバイスがホストにマウントされたときはいつでも保護データへの自動アクセスが許されているホストである。これは、保護データへアクセスするのにユーザーにパスワードの入力を要求する、上記参照の米国１０／３０４，７７２の従来の技術とは対照的である。「信頼不可」ホストは、信頼できないホストである。
【００１０】
本文の用語「パスワード」は、ユーザーがホストへキーインするパスワードと、そして（あるいは択一的に）、適当な読取り機で読み取ったときにユニークにユーザーを識別する生体情報とを含むと理解すべきである。
【００１１】
「マウント」は、セキュア・ポータブル記憶デバイスをコンピュータに接続し、論理的なハンドシェイキングを完了し、コンピュータがセキュア・ポータブル記憶デバイスとデータ交換が可能になる処理を意味する。マウントには、物理的な接続、例えばＵＳＢ（ユニバーサル・シリアル・バス）を用いることもできるし、または無線、例えばブルーツース・リンクあるいは移動通信リンクを用いてもよい。
【００１２】
「アクセス」は、コンピュータあるいはホストが記憶デバイス上のデータ、あるいは記憶デバイス上に記憶すべきデータに対して行う典型的な処理を意味し、限定せずに、データの読み取り、書き込み、そして消去を含む。
【００１３】
以下の説明は、ホストＩＤ、パスワード及びクリア・キーの「表現」に言及する。ホストＩＤ、パスワードあるいはキーの「表現」は、オリジナルのホストＩＤ、パスワードあるいはキーがユニークに識別されることを可能にするホストＩＤ、パスワードあるいはキーの変換である。典型的に、ホストＩＤの変換は、ホストＩＤのハッシュあるいはエンクリプションであり、パスワードの変換はパスワードのハッシュであり、そしてキーの変換はキーのエンクリプションである。しかし、用語「表現」の範囲は、またアイデンティティー変換をも含むため、ホストＩＤ、パスワードあるいはキーは、それ自体の表現であると考える。
【発明の開示】
【課題を解決するための手段】
【００１４】
本発明の目的は、信頼コンピュータの存在下で、セキュア・ポータブル記憶デバイスのアンロック・プロシージャーを自動化することによって、セキュリティと便利さとの対立を解消することである。
【００１５】
本発明のもう一つの目的は、信頼不可コンピュータの存在下で、従来のアンロックのオプションを維持することである。
【００１６】
本発明によれば、次のものを含むデータ記憶デバイスが提供される。（ａ）セキュア・データを記憶するためのセキュア・データ領域を含む記憶メディア。そして（ｂ）ホスト・デバイスが信頼ホスト・デバイスである場合、データ記憶デバイスをマウントしたホスト・デバイスによるセキュア・データへのアクセスを許可するメカニズム。
【００１７】
本発明によれば、複数のホスト・デバイスの少なくとも一つを、セキュア・データを記憶するためのセキュア・データ領域を持つデータ記憶デバイスに、データ記憶デバイスの信頼ホスト・デバイスとして関連づけるための方法が提供される。この方法は、次のステップを含む。（ａ）ホスト・デバイスの各々に各自のホストＩＤを提供するステップ。そして（ｂ）データ記憶デバイスに関連づけるべき少なくとも一つのホスト・デバイスの各々に対して、データ記憶デバイス内の信頼ホスト・リスト内に各自のホストＩＤを記憶するステップ。
【００１８】
本発明によれば、複数のホスト・デバイスの少なくとも一つを、セキュア・データを記憶するためのセキュア・データ領域を持つデータ記憶デバイスに、データ記憶デバイスの信頼ホスト・デバイスとして関連づけるための方法が提供される。この方法は、次のステップを含む。（ａ）ホスト・デバイスの各々に各自のホストＩＤを提供するステップ。（ｂ）データ記憶デバイスに信頼キーを提供するステップ。そして（ｃ）データ記憶デバイスに関連づけるべき少なくとも一つのホスト・デバイスの各々に対して、（i）信頼キーを用いて、各ホスト・デバイスのホストＩＤを暗号化することによって、各ホスト・デバイスのホストＩＤのアクセス許可暗号化表現を提供し、そして（ii）各ホスト・デバイスの暗号化ホストＩＤのアクセス許可暗号化表現を各ホスト・デバイス内に記憶するステップ。
【００１９】
本発明によれば、複数のホスト・デバイスの少なくとも一つを、セキュア・データを記憶するためのセキュア・データ領域を持つデータ記憶デバイスに、データ記憶デバイスの信頼ホスト・デバイスとして関連づけるための方法が提供される。この方法は、次のステップを含む。（ａ）データ記憶デバイスに記憶パスワードの表現を提供するステップ。そして（ｂ）データ記憶デバイスに関連づけるべき少なくとも一つのホスト・デバイスの各々に対して、（i）パスワード・リストを提供し、そして（ii）パスワード・リスト内に記憶パスワードを含めるステップ。
【００２０】
本発明によれば、次のステップを含む、複数のホスト・デバイスと一緒にデータ記憶デバイスを用いるための方法が提供される。（ａ）ホスト・デバイスの少なくとも一つを、データ記憶デバイスに対する信頼ホスト・デバイスとして指名するステップ。（ｂ）ホスト・デバイスの一つにデータ記憶デバイスをマウントするステップ。そして（ｃ）データ記憶デバイスをマウントした一つのホスト・デバイスが信頼ホスト・デバイスである場合、データ記憶デバイスをマウントした一つのホスト・デバイスによる、データ記憶デバイス内のセキュア・データ領域へのアクセスを許可するステップ。
【００２１】
本発明によるデータ記憶デバイスの異なる実施例は、ホストが信頼ホストであるかどうかを判定するための異なるメカニズムを持ち、信頼ホストであれば、データ記憶デバイスのセキュア・データ領域へアクセスする権利を自動的に得る。
【００２２】
本発明によるデータ記憶デバイスの一つの実施例においては、記憶メディアは、セキュア・データ領域に加えて、信頼ホスト・リストを含む。そしてメカニズムは、ホスト・デバイスのホストＩＤを信頼ホスト・リストに比較する。もし信頼ホスト・リストがホストＩＤの表現（例えば、ハッシュ）を含むならば、ホスト・デバイスは、信頼ホスト・デバイスであるとみなされる。
【００２３】
本発明によるデータ記憶デバイスのもう一つの実施例においては、メカニズムは、ホスト・デバイスが信頼ホスト・デバイスであるかどうかを判定するために、ホスト・デバイス上のクッキー・ファイルに尋問する。この文脈における、クッキー・ファイルを「尋問する」は、ホスト・デバイス内におけるクッキー・ファイルの存在を検証することを含む。メカニズムは、また、クッキー・ファイルを作成することに参加することが好ましい。メカニズムは、クッキー・ファイルの作成中にホスト・デバイスのホストＩＤを暗号化するクリプトプロセッサを含むことがより好ましい。そして、暗号化ホストＩＤをクッキー・ファイル内に含ませる。択一的に、クリプトプロセッサの一つの機能が、クッキー・ファイルのレコードを暗号解読することであることが好ましい。解読レコードの一つが、ホスト・デバイスのホストＩＤに実質的に同じである場合、ホスト・デバイスは、信頼ホスト・デバイスであるとみなされる。
【００２４】
本発明のさらにもう一つの実施例では、メカニズムは、記憶パスワードの表現とセキュリティ・アプリケーションとを含む。このアプリケーションは、ホスト・デバイスによって実行されると、ホスト・デバイスが、記憶パスワードの表現を、ホスト・デバイス内に記憶されているパスワード・リストに比較することを可能にする。もしパスワード・リストが記憶パスワードの表現を含むならば、ホスト・デバイスは、信頼ホスト・デバイスであるとみなされる。セキュリティ・アプリケーションは、信頼不可ホスト・デバイスが、そのパスワード・リスト内に記憶パスワードの表現を入力することによって、それ自体を信頼ホスト・デバイスに変換するためにセキュリティ・アプリケーションを用いることができることが好ましい。メカニズムは、また、ホストが、パスワード・リスト内の記憶パスワードの表現を検索するために用いる記憶ＩＤの表現を含むことが好ましい。
【００２５】
本発明によるデータ記憶デバイスのいくつかの変形は、信頼ホストのみが、セキュア・データ記憶領域へのアクセスを得ることを許可する。しかしながら、記憶メディアは、また、ユーザー・パスワードの記憶表現（例えば、ハッシュ）を含むことが好ましい。メカニズムは、パスワードの記憶表現を、主張ユーザー・パスワードの表現に比較する。もし二つの表現が実質的に同じであるならば、ホスト・デバイスは、信頼ホスト・デバイスでなくとも、（このセッションのみに限って）データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。
【００２６】
オプションとして、すべての実施例において、記憶メディアは、また、ホスト・デバイスが無条件のアクセスを得るクリア・データ領域を含む。
【００２７】
すべての実施例は、セキュア・データを暗号化及び暗号解読するためのクリア・キーの表現を含むことが好ましい。第一の実施例においては、クリア・キーの表現（暗号化表現が最も好ましい）が、記憶メディア内に記憶される。第二の実施例においては、クリア・キーの表現は、クリア・キーそれ自体であり、クリプトプロセッサ内に記憶されて、クリプトプロセッサによって保護されることが好ましい。第三の実施例においては、クリア・キーは、記憶パスワードそれ自体、あるいは記憶パスワードによって暗号化したランダムなクリア・キーであることが好ましい。
【００２８】
すべての実施例は、信頼不可ホスト・デバイスを信頼ホスト・デバイスに変換するためのメカニズムを含むことが好ましい。すべての実施例は、複数の信頼ホスト・デバイスの一つを信頼不可ホスト・デバイスに変換するためのメカニズムを含むことが好ましい。すべての実施例は、複数の信頼ホスト・デバイスのすべてを実質的に同時に信頼不可ホスト・デバイスに変換するためのメカニズムを含むことが好ましい。
【００２９】
複数のホスト・デバイスの一つ以上をデータ記憶デバイスに関連づけるための第一の方法においては、データ記憶デバイスに関連づけるべきホスト・デバイスのホストＩＤが、データ記憶デバイス内の信頼ホスト・リスト内に記憶される。ホスト・デバイスの一つにデータ記憶デバイスをマウントしたとき、そのホスト・デバイスのホストＩＤが信頼ホスト・リスト内に含まれている場合、そのホスト・デバイスは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。ユーザー・パスワードの表現は、データ記憶デバイス内に記憶されることが好ましい。もし、データ記憶デバイスをマウントしたホスト・デバイスのホストＩＤが、信頼ホスト・リスト内に存在しないならば、ユーザーは、そのホスト・デバイス内に主張ユーザー・パスワードを入力する。もしユーザー・パスワードの記憶表現が主張ユーザー・パスワードの対応する表現と実質的に同じであるならば、そのホスト・デバイスは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。
【００３０】
データ記憶デバイスとのどのホスト・デバイスの関連も、変更可能な関連であることが好ましい。データ記憶デバイスからホスト・デバイスを無関係にする所望の方法は、信頼ホスト・リストからホスト・デバイスのホストＩＤを削除することである。
【００３１】
複数のホスト・デバイスの一つ以上をデータ記憶デバイスに関連づけるための第二の方法においては、データ記憶デバイスは信頼キーを備えている。信頼キーは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可されるべき各ホスト・デバイスのホストＩＤを暗号化するために用いられ、その結果である暗号化ホストＩＤは、対応するホスト・デバイス内に記憶される。この暗号化ホストＩＤは、本文中、ホストＩＤの「アクセス許可暗号化表現」として言及する。
【００３２】
データ記憶デバイスとの、どのホスト・デバイスの関連も、変更可能な関連であることが好ましい。データ記憶デバイスから一つのホスト・デバイスを無関係にするには、ホストＩＤの対応するアクセス許可暗号化表現を、ホスト・デバイスから削除する。データ記憶デバイスから実質的に同時にすべてのホスト・デバイスを無関係にするには、信頼キーを変更する。この文脈における、信頼キーを「変更する」ことは、信頼キーを削除することを含む。
【００３３】
オプションとして、データ記憶デバイスのセキュア・データ領域へのアクセスが許可されるべきすべてのホスト・デバイスを含み、複数のホスト・デバイスのいくつか、あるいはすべてが、各自のクッキー・ファイルを備える。各クッキー・ファイルは、そのホスト・デバイスのホストＩＤの暗号化表現のリストを記憶する。データ記憶デバイスのセキュア・データ領域へのアクセスが許可されるべきホスト・デバイスのケースでは、リストは、そのホスト・デバイスのホストＩＤのアクセス許可暗号化表現を含む。ホスト・デバイスの一つにデータ記憶デバイスをマウントしたとき、ホスト・デバイスのホストＩＤは、信頼キーを用いて暗号化される。その結果である暗号化ホストＩＤは、本文中、ホストＩＤの「尋問暗号化表現」として言及する。ホスト・デバイスがクッキー・ファイルを含み、且つ、クッキー・ファイル内の暗号化ホストＩＤのリストが、ホストＩＤの尋問暗号化表現を含む場合、ホスト・デバイスは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。暗号化ホストＩＤのリストがホストＩＤの尋問暗号化表現を含まなくても、あるいはホスト・デバイスがクッキー・ファイルを全く持っていなくても、アクセスを許可するために、ユーザー・パスワードの表現が、データ記憶デバイス内に記憶されることがより好ましい。ユーザーは、ホスト・デバイス内で主張ユーザー・パスワードを入力する。もしデータ記憶デバイス内に記憶されているユーザー・パスワードの表現が、主張ユーザー・パスワードの対応する表現と実質的に同じであるならば、ホスト・デバイスは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。
【００３４】
第一の、そして第二の方法の両方において、クリア・キーの表現（例えば、暗号化表現）は、データ記憶デバイス内に記憶され、セキュア・データへのアクセスが許可されたホスト・デバイスがアクセスする、それらのセキュア・データを暗号化及び暗号解読するために用いられることが好ましい。
【００３５】
複数のホスト・デバイスの一つ以上をデータ記憶デバイスに関連づけるための第三の方法においては、データ記憶デバイスは、記憶パスワードの表現を備える。記憶パスワードは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可されるべき各ホスト・デバイスのパスワード・リストに含まれる。ホスト・デバイスのパスワード・リスト内へ記憶パスワードが入力されるためには、記憶パスワードの表現が、ホスト・デバイスへ入力されるユーザー・パスワードの対応する表現と実質的に同じでなければならないことが好ましい。
【００３６】
データ記憶デバイスとの、どのホスト・デバイスの関連も、変更可能な関連であることが好ましい。データ記憶デバイスからすべてのホスト・デバイスを無関係にするには、記憶パスワードを変更する。この文脈における、記憶パスワードを「変更する」ことは、記憶パスワードを削除することを含む。
【００３７】
データ記憶デバイスをホスト・デバイスの一つにマウントしたとき、もしホスト・デバイスが、記憶パスワードを含むパスワード・リストを含むならば、そのホスト・デバイスは、データ記憶デバイスのセキュア・データ領域へのアクセスが許可される。
【００３８】
より一般的には、本発明の範囲は、セキュア・データ記憶領域を持つデータ記憶デバイスを、複数のホスト・デバイスと一緒に用いるための方法を含む。ホスト・デバイスの一つ以上が、データ記憶デバイスに対する信頼ホスト・デバイスとして指名される。データ記憶デバイスをホスト・デバイスの一つにマウントしたとき、もしそのホスト・デバイスが信頼ホスト・デバイスであるならば、そのホスト・デバイスは、セキュア・データ領域へのアクセスが許可される。もしそのホスト・デバイスが信頼されていないものであれば、ユーザーは、主張ユーザー・パスワードを入力してもよい。この場合、データ記憶デバイスをマウントしたホスト・デバイスによるセキュア・データ領域へのアクセスは、主張ユーザー・パスワードが有効なユーザー・パスワードであることに依存する。
【００３９】
データ記憶デバイスが信頼ホスト・デバイス上にマウントされている間に、ホスト・デバイスの信頼ホスト・デバイスとしての指定をキャンセルしてもよい。そうすることによって、ホスト・デバイスを信頼不可ホスト・デバイスと指定することができる。さらに、データ記憶デバイスをどのホスト・デバイス上にもマウントすることなく、すべてのホスト・デバイスを実質的に同時に信頼不可に設定してもよい。例えば、ホスト・デバイスを可逆的にデータ記憶デバイスに関連づけるための第二の方法においては、データ記憶デバイスの信頼キーを変更することで、すべてのホスト・デバイスが信頼不可になる。
【発明を実施するための最良の形態】
【００４０】
本発明は、選択ホスト・デバイスにのみ、セキュア・データ領域へのアクセスを制限することが可能なポータブル記憶デバイスに関する。
【００４１】
本発明による記憶デバイスの原理及びオペレーションについては、図面とその説明からより良く理解することができる。
【００４２】
さて、図１を参照する。本発明による第一の好適実施例であるシステム１００は、通信リンク１２０を介してポータブル記憶デバイス１１０に接続可能なホスト・デバイス１０１を含む。ホスト・デバイス１０１は、パーソナル・コンピュータ、ハンドヘルド・コンピュータ、移動通信装置などであり、ホスト・デバイス１０１は、中央処理装置（ＣＰＵ）１０２、キーボード及びスクリーン等のユーザー・インタフェース１０４、ハードディスク等の記憶デバイス１０３、そしてポータブル記憶デバイス１１０等の外部デバイスと通信するための、ＵＳＢ、ブルーツース（Bluetooth）あるいは可動的なリンク等の通信ポート１０５を含む。ホストＩＤレジスタ１０６は、ホスト・デバイス１０１の、ユニークな英数字あるいは２進数のアイデンティフィケーションを含み、記憶デバイス１０３あるいはＣＰＵ１０２の一部を形成することが好ましい。注意すべきことは、コンピュータの、あるいはそれらの構成要素のユニークなＩＤは、本技術分野でよく知られていることである。ＣＰＵ、ハードディスク、そして他の固定周辺機器は、ユニークなシリアル・ナンバーを持ち、そのようなシリアル・ナンバーは、個別に、あるいは組み合わせで、ＣＰＵ１０２がアクセス可能なユニークなＩＤを形成する。ポータブル記憶デバイス１１０は、リンク１２０を介してホスト・デバイス１０１に接続可能であり、データを記憶する記憶メディア１１３として、フラッシュメモリ・ディスクあるいは磁気ハードディスクを用いることが好ましい。マイクロプロセッサ１１１は、揮発性メモリ１１４と協調して、記憶メディア１１３上への読み書きオペレーションを管理及び制御するアプリケーションを実行する。そのような読み書きオペレーションは、各々、ホスト・デバイス１０１へ送るべきデータを引き出す、そしてホスト・デバイス１０１から受け取ったデータを記憶するという環境で行われる。
【００４３】
図２は、ポータブル記憶デバイス１１０の記憶メディア１１３の内容の詳細図である。本発明においてオプションであるクリア・ユーザー・データ領域１２１は、アクセスにユーザー・パスワードを必要としないユーザー・データを記憶する。セキュア・ユーザー・データ領域１２２は、検索に対して、ユーザー・パスワード、あるいは他のユーザーが承認した資格証明を必要とするユーザー・データを記憶する。記憶領域１２８は、ホスト・デバイス１０１のＣＰＵ１０２上で実行するプログラムのコンピュータ・コードを収容し、記憶領域１２９は、ポータブル記憶デバイス１１２のマイクロプロセッサ１１１上で実行するためのコンピュータ・コードを収容する。システム領域１２３は、マイクロプロセッサ１１１に対してのみ、セキュリティ関連のパラメータを管理するためにアクセスが可能である。レジスタ１２４は、ユーザーのパスワード、または彼あるいは彼女の生体情報のハッシュを含む。レジスタ１２５は、以下に「クリア・キー」として言及し、セキュア・ユーザー・データ領域１２２の内容を暗号化するのに用いる、ランダムに選択したキーの暗号化バージョンのリストを含む。レジスタ１２５の内容は、以下に、図２Ｂを参照してより詳細に説明する。信頼ホスト・リスト１２７は、ユーザーが信頼すると指名したホスト・コンピュータのユニークなＩＤの表現を含む。
【００４４】
図２Ａは、信頼ホスト・リスト１２７の内容の一例を示す。この模範的なリストは、二つのコンピュータのユニークなＩＤのハッシュを含む。二つのコンピュータの一方は、有効期限として２９９９年１２月３１日が割り当てられて、常時信頼すると設定されているが、他方のコンピュータは、ユーザーが、より短い信頼期間を割り当てている。ホストのユニークなＩＤではなくハッシュを用いる理由は、アタッカーが、ポータブル記憶デバイス１１０を分解し、外部の読取り機を用いてレジスタ１２４からユニークなＩＤを引き出し、それからこのユニークなＩＤを用いて、ポータブル記憶デバイスをホストにインタフェース接続するときに信頼コンピュータの環境を欺くことによって、ポータブル記憶デバイス１１０からユーザーＩＤを引き出すということを阻止するためである。
【００４５】
図２Ｂは、レジスタ１２５の内容の一例を示す。これは、セキュア・ユーザー領域１２２の内容を暗号化するのに用いるクリア・キーの暗号化バージョンのリストを含む。クリア・ユーザー・キーは、記憶メディア１１３を初期化あるいはフォーマットしたときに一度ランダムに生成され、その後、セキュア領域１２２に対する書き込み及び読み取りオペレーションに関連するすべてのオン・ザ・フライ・エンクリプション及びディクリプション・オペレーションに用いられる。模範的なオン・ザ・フライ・エンクリプション及びディクリプションは、先に参照した米国特許出願第１０／３０４，７７２号に説明されている。アタッカーがクリア・キーを読み取ることによってセキュア領域１２２の内容を読み取ることが可能になるのを阻止するために、クリア・キーは、レジスタ１２５内では暗号化された状態にある。クリア・キーを暗号化するために用いる暗号化キーは、このキーへのアクセス方法に応じて変化する。図２Ｂの模範的なリストでは、リスト内の第一の行が、ユーザーのクリア・パスワードの下で暗号化したクリア・キーの暗号化バージョンを含む。セキュア領域１２２へのアクセス方法が、下記に説明するような、ユーザーのパスワードの手動入力による場合は、入力されたユーザーのパスワードを用いて、図２Ｂの第一の行の一番右の縦列内に示す値からクリア・キーが引き出される。図２Ｂのリスト内の、他の二つの行は、図２Ａに示す信頼ホスト・リスト内に含まれる二つの信頼ホストに関係する。ホストのユニークなＩＤのハッシュによって識別された各信頼ホストに対しては、クリアな状態にあるホストのユニークなＩＤによって暗号化されたクリア・キーの表現がある。したがって、ポータブル記憶デバイス１１２を見つけてレジスタ１２５の内容を読み取る者は、それでも、ユニークなＩＤを読み取るために信頼ホストにアクセスしない限り、クリア・キーを引き出すことはできない。
【００４６】
さて、図３を参照する。これは、上記に説明した本発明による第一の好適実施例のオペレーションを説明するものである。ステップ２００において、ポータブル記憶デバイス１１０をホスト・デバイス１０１上にマウントすると、二つのデバイス間でハンドシェイキングが行われ、ポータブル記憶デバイス１１０がホスト１０１のディスク・ドライブになるため、クリア・ユーザー・データ領域１２１及びホスト・プログラム領域１２８が、ホスト・デバイス１０１のＣＰＵ１０２にアクセス可能となる。ステップ２０１においては、領域１２８からのホスト・ユーティリティー・プログラムが、例えば、ホスト・オペレーティング・システム内に含まれたオートラン・プロシージャーによって自動的に、あるいはユーザーによる手作業で呼び出されて実行される。このユーティリティー・プログラムは、レジスタ１０６からホストのユニークなＩＤを読み取って、ホストのユニークなＩＤを、記憶領域１２９から読み込んでマイクロプロセッサ１１１上で実行されているユーティリティへ送り、ステップ２０２において、引き出したホストＩＤのハッシュが信頼ホスト・リスト１２７内に含まれているか、また期限が切れていないかをチェックする。そのチェックが否定的な場合、自動アクセスは許可されない。そのためステップ２０３において、ユーザーはパスワードを入力することを選択して、ステップ２０４及び２０６を介してセキュア領域１２２にアクセスしてもよい。セキュア領域１２２にアクセスしようとユーザーが入力したパスワードは、本文中、「主張」ユーザー・パスワードとして言及する。しかし、ステップ２０２のチェックが肯定的な場合、ユーザーは、ステップ２０６で、クリア領域１２１及びセキュア領域１２２の両方へのアクセスを自動的に得る。ステップ２０２においてホストが信頼ホスト・リスト１２７に含まれておらず、且つ、ステップ２０４においてユーザーが正確なパスワードを入力しなかった場合は、ステップ２０５において、ユーザーはクリア領域１２１のみへのアクセスを得る。クリア領域１２１がオプションであることをに注意すべきである。したがって、クリア・ユーザー領域１２１が欠如している場合は、全ユーザー領域がセキュア領域１２２である。この場合、ステップ２０５は、空である、すなわち、信頼不可のコンピュータへアクセスして、正確なパスワードをキーインすることができないユーザーは、アクセスを得ることは全くない。
【００４７】
図４は、図３に示すステップ２０４及び２０６のパスワード入力と、それに関連するアクセスをより詳細に説明する。図４のステップは、ＣＰＵ１０２及びマイクロプロセッサ１１１の両方で実行されるユーティリティとの協調によって実行される。プロシージャーはステップ３０１から開始する。これは、図３におけるステップ２０２で自動的なセキュア・アクセスが否定され、ステップ２０３でユーザーが手作業でセキュア領域１２２にアクセスするよう、主張パスワードを入力することを選択した場合に関連している。ステップ３０２において、ユーザー・インタフェース１０４で入力されたパスワードを、リンク１２０を介してマイクロプロセッサ１１１によって受け取る。択一的に、このパスワードは、ユーザーが、生体測定読取り機、例えば指紋読取り機、あるいはポータブル・デバイス１１０内に組み込まれたキーボード（図示せず）を介して、ポータブル・デバイス１１０へ直接入力してもよい。ステップ３０３において、入力パスワードをハッシュし、そのハッシュ値をレジスタ１２４の内容に比較する。クリア・パスワードではなくハッシュ・パスワードを記憶して、そして比較する理由は、ポータブル記憶デバイス１１０を分解し、外部の読取り機を用いて、アタッカーが記憶メディア１１３から直接パスワードを読み取ってしまうことから、パスワードを保護するためである。ステップ３０４において、パスワードの誤りが分かった場合、ステップ３０４ー３１１ー３０２のループが、さらに二度の試行を許可し、失敗に終わった場合には、ステップ３１２においてアクセスを拒否する、すなわちユーザーは、（もし利用可能であるなら）クリア領域１２１のみへのアクセスが許可される。正確なパスワードが入力された場合、次にステップ３０６において、ユーザーは、この現在のホストを将来も信頼することを望むかどうか選択するよう、ユーザー・インタフェース１０４上のメッセージで促される。ステップ３０７においてユーザーが肯定的に決定した場合、ステップ３０８において、ホストＩＤのハッシュは、ユーザーが選択したオプションの有効期限と共に、図２及び図２Ａの信頼ホスト・リスト１２７へ付加する。加えて、セキュア領域１２２を暗号化するのに用いるクリア・キーは、ユーザーのパスワードを用いて、図２Ｂのリスト１２５の第一の行から引き出し、それからホストのユニークなＩＤを用いて暗号化し、そして、ホストＩＤのハッシュと共に図２Ｂのリスト１２５へ、もう一つの行として付加する。いずれにしても、ステップ３０４で入力パスワードが有効であると分かった場合、ユーザーは、ステップ３０９においてセキュア領域１２２へのアクセスを得るため、下記に図６を参照にしてより詳細に説明するように、ステップ３１０においてセキュア領域１２２からファイルを読み取る、またセキュア領域へファイルを書き込むことが可能になる。プロシージャーは、読み書きオペレーションの完了後、ステップ３１１で終了する。
【００４８】
図５は、図３に示すステップ２０６を拡張させた図である。ステップ３５１では、ホストが既に、図３のステップ２０２で信頼できることが分かっている。ステップ３５６において、ユーザーは、セキュア領域１２２への将来のアクセス試行において手動でのパスワード入力が必要となるよう、このホストを信頼ホスト・リスト１２７から排除するのかどうかを決定するためのオプションを、ユーザー・インタフェース１０４を介して提供される。ステップ３５７において、ユーザーが、信頼ホスト・リスト１２７からホストを取り除くように選択した場合、ステップ３５８で、ホストのユニークなＩＤをリスト１２７から取り除き、また、リスト１２５におけるこのホストに対応する行を同様に取り除く。ステップ３５９から３６１においては、ユーザーは、図４のステップ３０９から３１１に同様に、セキュア領域上での読み書きオペレーションを継続する。
【００４９】
図６は、図４及び図５のステップ３１０及び３６０で各々言及した、セキュア領域１２２からの、そしてセキュア領域１２２への読み書きオペレーションを詳細に説明する。ステップ３７１においては、セキュア領域へのアクセスが許可されている。すなわち、マイクロプロセッサ１１１は、ＣＰＵ１０２がセキュア領域１２２に対して読み取り及び書き込みを行うことを許可している。しかし、セキュア領域１２２内のデータが暗号化されているのに対して、ホスト・デバイス１０１内のデータは、有効であるためにはクリアである必要がある。関連するエンクリプション及びディクリプションのために、ステップ３７２において、マイクロプロセッサ１１１は、図２及び図２Ａのリスト１２５からクリア・キーを引き出す。これは、図３のステップ２０４の肯定的な結果を介してユーザーのパスワードを用いて、あるいは図２のステップ２０２の肯定的な結果を介して信頼ホスト・リスト１２７内にホストを見つけたことを介してアクセスが許可されたのかどうかを識別することによって行う。したがって、図２Ｂに示すリスト１２５の適当な行を識別し、ユーザーの入力パスワードあるいはホストのユニークなＩＤを用いて、パスワードあるいは信頼ホストに対応する暗号化キーからクリア・キーを解読する。ステップ３７３において、ホストは、セキュア領域１２２へのアクセスが、読み取りなのか、あるいは書き込みなのかを決定する。
【００５０】
ステップ３８１において、書き込みオペレーションは、マイクロプロセッサ１１１が、リンク１２０を介してＣＰＵ１０２からクリア・データを受け取ることで開始する。ステップ３８２において、マイクロプロセッサ１１１は、ステップ３７２で得たクリア・キーを用いて、受け取ったデータを暗号化する。ステップ３８３において、マイクロプロセッサ１１１は、レジスタ１２６からのアクセス・ポインタを用いてセキュア領域１２２にアクセスする。なぜなら、この処理は、既に、図３のステップ２０６に進む図３のステップ２０２あるいはステップ２０４の肯定的な結果から検証済みであるため、このようなアクセスが許可される。ステップ３８４において、ステップ３８２で暗号化したデータを、セキュア領域１２２へ書き込み、そしてステップ３８５において、プロシージャーが終了し、制御はホスト・デバイス１０１に返される。
【００５１】
ステップ３７３においてホスト・デバイス１０１が読み取りオペレーションを行うように選択した場合は、ステップ３９１で、マイクロプロセッサ１１１は、図２に示すレジスタ１２６からの適当なポインタを用いるセキュア領域へのアクセスを許可する。ステップ３９２において、マイクロプロセッサ１１１はセキュア領域１２２から暗号化データを読み取り、ステップ３９３において、ステップ３７２で引き出したクリア・キーを用いて、ステップ３９４でホストへデータを送る準備としてこのデータを解読する。そしてステップ３９５において、ホストへ制御を返す。
【００５２】
本発明による第二の好適実施例では、記憶メディア１１３内に維持する信頼ホスト・リスト１２７を、ホスト記憶装置１０３内の記憶メディア１１３がインストールするクッキー・ファイルで置換する（図１参照）。
【００５３】
さて、本発明による第二の好適実施例を示す図７、図７Ａ及び図８を参照する。このシステム１００Ａは、ポータブル記憶デバイス１１０Ａにリンク１２０を介して接続可能なホスト・デバイス１０１Ａを含む。図８に示すように、ホスト・デバイス１０１Ａは、そのホスト記憶１０３Ａが、ホスト記憶装置１０３内に含むデータに類似したデータ４０１に加えて、クッキー・ファイル４００をも含むこと、そしてホストＩＤレジスタ１０６が本実施例に必要でないことを除き、図１のホスト・デバイス１０１に類似している。ポータブル記憶デバイス１１０Ａは記憶メディア１１３Ａを含む。このメディアは、記憶メディア１１３に比べ、暗号化キー・リスト１２５内にユーザー・パスワード（図２Ｂ）に関する第一のレコードのみを必要とする。クリプトプロセッサ１１１Ａが、デバイス１１０Ａへ付加され、マイクロプロセッサ１１１内に、あるいはマイクロプロセッサ１１１の隣に、記憶のために、またオプションとして、キー及びパスワードを記憶する等の、重要なセキュリティ・データを処理する、そして下記の耐タンパー性環境での種々の暗号オペレーションのためにキー及びパスワードにアクセスするために組み込まれている。このような耐タンパー性クリプトプロセッサは、例えば、スマートな支払いカード、携帯電話等に用いるＳＩＭカード等の中に組み込まれた集積回路に関連して、本技術分野で知られている。耐タンパー性クリプトプロセッサ１１１Ａは、マイクロプロセッサ１１１及び記憶メディア１１３に付加されることが好ましい。これは、アタッカーが、ポータブル記憶デバイス１１０Ａから記憶メディア１１３Ａを取り外し、記憶メディア１１３Ａを外部の読取り機に取り付けて、記憶メディア１１３Ａの内容を読み取るという危険を回避するためである。クリプトプロセッサ１１１Ａは、各々のレジスタ内に記憶された二つの重要なキー、暗号クリア・キー３９７及び信頼キー３９８を、このような攻撃が実行不可能、あるいは少なくとも興味を引かない程度に保護することが期待される。オプションとしてプロセッサ３９９をクリプトプロセッサ１１１Ａ内に含む。これは、乱数の生成、パブリック及びプライベート・キーの生成、エンクリプション及びディクリプション等の、暗号関連の計算を内部で安全に実行するためである。クッキー・ファイル４００は、ポータブル記憶デバイス１１０Ａに対してホスト・デバイス１０１Ａを信頼デバイスとして識別するために、ポータブル記憶デバイス１１０Ａがホスト記憶デバイス１０３Ａ内に書き込む。注目すべきことは、本文における用語「クッキー・ファイル」は、将来的にポータブル記憶デバイス１１０Ａによるホスト・デバイス１０１Ａの認識が可能なように、ホスト記憶装置１０３Ａ上にポータブル記憶デバイス１１０Ａが書き込むファイルに関する。
【００５４】
さて、クッキー・ファイル４００に関する基本的な構造及びオペレーションを示す、図９Ａから図９Ｃを参照する。クッキー・ファイル４００は、複数のポータブル記憶デバイス１１０Ａ、そして潜在的にポータブル記憶デバイス１１０Ａがアクセス可能な、あるいは信頼可能なホスト・デバイスのセットからなるシステムを通じて、受容可能なファイル名４０４を含む。ファイル名４０４は、ホスト・デバイス１０１Ａ上にマウントされたポータブル記憶デバイス１１０Ａが、クッキー・ファイル４００を識別するために用いる。クッキー・ファイル４００は、さらに、ホスト・デバイス１０１Ａのセキュア・データ領域１２２へのアクセスを許可する各ポータブル記憶デバイス１１０Ａに対するレコード４０２、４０３等を含む。これは、同じホスト１０１Ａが、一つ以上のポータブル記憶デバイス１１０Ａに信頼可能と定義できるようにするためである。図９Ａは二つのそのようなレコード４０２及び４０３を示すが、本発明による第二の好適実施例の一般的なケースにおいては、レコード数は幾つでもよい。レコード４０２は、特定なホスト・デバイス１０１Ａに関連し、各ポータブル記憶デバイス１１０Ａのクリプトプロセッサ１１１Ａの信頼キー３９８によって暗号化した、ホストのユニークなＩＤ１０６の表現を含む。同様にレコード４０３は、もう一つのポータブル記憶デバイス１１０Ａの信頼キー３９８によって暗号化した、特定なホスト・デバイス１０１Ａの同じユニークなＩＤ１０６を含む。
【００５５】
ポータブル記憶デバイス１１０Ａを信頼不可のホスト・デバイス１０１Ａ上にマウントし、ユーザーがこのホスト・デバイスを信頼すると選択した場合、記憶装置１０３Ａ内へ適当なクッキー４００を書き込むために、ステップ４１０において図９Ｂのプロシージャーが開始する。ステップ４１１において、クリプトプロセッサ１１１Ａのプロセッサ３９９は、クリプトプロセッサ１１１Ａ内のレジスタから信頼キー３９８を引き出す。ステップ４１２において、ホストのユニークなＩＤ１０６がホスト・デバイス１０１Ａのレジスタから引き出され、プロセッサ３９９がそれを受け取る。ステップ４１３において、プロセッサ３９９は信頼キー３９８を用いてホストＩＤ１０６を暗号化し、暗号化ホストＩＤ１０６をホスト１０１Ａへ送る。ステップ４１４において、ホスト記憶装置１０３Ａ内におけるクッキー・ファイル４００の存在を判定し（例えば、もう一つのポータブル記憶デバイス１１０Ａが既にこのようなファイルをインストールしてしまった結果として、ホスト・デバイス１０１Ａが既にクッキー・ファイル４００を持っている可能性がある）、もしなければ、そのようなファイルをインストールする。ステップ４１５において、暗号化ホストＩＤ１０６をクッキー・ファイル４００に付加し、このポータブル記憶デバイス１１０Ａがこのホスト１０１Ａを信頼すると設定する。このプロシージャーは、ステップ４１６で終了するが、デバイスは切り離してもよいし、あるいは他のオペレーションを続けてもよい。
【００５６】
ステップ４２０において、ポータブル・デバイス１１０Ａを未知のホスト・デバイス１０１Ａ上にマウントした場合は、図９Ｃのプロシージャーが、このホスト１０１Ａが信頼できるかどうかを判定するために、有効なクッキー・レコードを探す。ステップ４２１において、プロセッサ３９９はそのレジスタから信頼キー３９９を引き出す。ステップ４２２において、プロセッサ３９９はリンク１２０を介してレジスタからホストＩＤ１０６を受け取る。ステップ４２３において、プロセッサ３９９は、リンク１２０を介してホスト１０１Ａからクッキー・ファイル４００を受け取る。もしそのようなファイルが利用できない場合、プロシージャーは「ノー」で決着し（すなわち、デバイスは信頼不可である）、そしてステップ４２６で完結する。ステップ４２４において、ステップ４２１で引き出した信頼キー３９９を用いて、クッキー・ファイル４００のすべてのレコードを解読しようと試みる。ステップ４２５において、解読が成功したレコードを、ステップ４２２で受け取ったホストＩＤ１０６と比較し、一致するものがある場合、プロシージャーは、「イエス」で決着する、すなわちデバイス１０１Ａは信頼できる。さもなければ、結論は「ノー」（信頼不可）である。このプロシージャーはステップ４２６で完結する。
【００５７】
図１０から図１２は、目的及びステップにおいて、図３から図５を参照して説明したプロシージャーに類似したプロシージャーを表している。図１０から図１２と図３から図５と間の相違は、図１０から図１２では、ポータブル記憶デバイスに維持した信頼ホストのリストによってではなく、ポータブル記憶デバイスがホスト１０１Ａに書き込んだクッキー・ファイル４００を介して信頼ホスト１０１Ａを識別することである。
【００５８】
図１０に示すプロシージャーのステップは、ステップ２０３Ａがステップ２０３を置換すること以外、図３のものと全く同じである。ステップ２０３Ａにおいて、ホスト１０１Ａ内における有効なクッキー・ファイルの存在を、図９Ｃのプロシージャーを介して確認し、「イエス」あるいは「ノー」で決着して、それに応じて継続する。
【００５９】
図１１に示すプロシージャーのステップは、ステップ３０８Ａがステップ３０８を置換すること以外、図４に示すステップと全く同じであり、図９Ｂのプロシージャーを介してホスト記憶装置１０３Ａにクッキー・レコードを付加することによって、ホスト・デバイス１０１Ａを信頼可能に設定する。
【００６０】
図１２に示すプロシージャーのステップは、ステップ３５８Ａがステップ３５８を置換すること以外、図５に示すステップと全く同じであり、信頼キー３９８でホストＩＤ１０６を暗号化することによって得たクッキー・レコードを、クッキー・ファイル４００から取り除くことによって、前回信頼したホスト・デバイス１０１Ａを信頼不可に設定する。
【００６１】
図７Ａに示すクリプトプロセッサ１１１Ａが含むクリア・キー３９７は、記憶メディア１１３Ａ上に記憶されたセキュア・ファイルに関するオン・ザ・フライ・エンクリプション及びディクリプションのために用いる。信頼キー３９８とクリア・キー３９７の区別は、下記に図１８を参照して説明する信頼リセット・プロシージャーのためである。
【００６２】
図１３は、本発明による第三の好適実施例を示す。図１３の好適実施例は、上記に説明した第二の好適実施例を変化させたものである。ホスト記憶デバイス１０３Ｃは、複数のユーザー・ログイン領域を含み、それらの二つ（５０２Ａ及び５０２Ｂ）が示されている。このやり方は本技術では一般的であり、複数のユーザーが単一のコンピュータを共有し、各ユーザーが、各々、ログインユーザ名とログイン・パスワードを持つ。ユーザーがログインすると、彼あるいは彼女は、共通のオペレーティング・システム及びプログラム・ファイルを含む共通領域５０２、そして例えば、彼あるいは彼女のデータ・ファイル５０１Ａとクッキー・ファイル５００Ａを含むユーザー領域５０２Ａ等の、彼あるいは彼女のプライベート・ユーザー領域へのアクセスを得る。このため、上記において図８から図１２に関して説明したクッキー・ファイル４００の作成及び検証へのすべての参照は、ここではクッキー・ファイル５００Ａに関わる。したがって、ホスト記憶デバイス１０３Ｃを持つ同じコンピュータは、もし特定なユーザーがログインするなら、特定なポータブル記憶デバイス１１０Ａによって信頼ホストと認知されるが、別のユーザーがログインするならば信頼不可となる。
【００６３】
本発明による第四の好適実施例は、第三の好適実施例のケースをホスト・サーバー・シナリオへ拡張するもので、ユーザー領域のすべてあるいは一部が、中央サーバー上に設けられる。多くのオフィスに共通なこのようなシナリオでは、ユーザーがネットワークへログインし、サーバーに接続されているコンピュータの、彼あるいは彼女のユーザー領域へアクセスすることができる。したがって、「信頼ホスト」は、ネットワークに接続されたどのコンピュータでもよく、ログインして、適当なクッキー・ファイル５００を含むユーザー領域へのアクセスを得ることができる。
【００６４】
ホストをポータブル記憶デバイスに結び付けるここに示す二つの基本的な方法、すなわち第一の実施例の信頼ホスト・リスト及び第二の実施例のクッキー・ファイルについては、第三の、そして第四の実施例の文脈で、単一の物理的なホスト・コンピュータ（第三の実施例）あるいはネットワーク（第四の実施例）の個々の論理パーティションに対してユニークなＩＤを定義するのが根本的に困難であるため、後者が好ましい。
【００６５】
本発明による第五の好適実施例は、上記に説明した第一の、そして第二あるいは第三の好適実施例を結合したものである。したがって、ポータブル記憶デバイスに維持した信頼ホストのリスト内に信頼ホストのＩＤを含むこと、そしてポータブル記憶デバイスがホスト・デバイスの記憶メディアへクッキー・ファイルを書き込むことの両方によって、ポータブル記憶デバイスは信頼ホストを識別する。
【００６６】
本発明による第六の好適実施例は、ポータブル記憶デバイス上に、自立したマイクロプロセッサが存在しない、あるいは択一的に、そのようなマイクロプロセッサが存在しても、それがポータブル記憶デバイスのセキュア・データ領域へのアクセス制御に関わることがないケースに関する。図１４は、ホスト・デバイス１０１Ｂがホスト記憶装置１０３Ｂ内にパスワード・ファイル１０３Ｆを含む、本発明によるシステム１００Ｂを示す。図１５は、ポータブル記憶デバイス１１０Ｂの記憶メディア１１３Ｂをより詳細に示す。デバイス内の記憶メディア１１３Ｂは、セキュア・ユーザー・データ領域１２２Ｂ内にセキュアのユーザー・データを、またオプションとして、クリア・ユーザー・データ領域１２１Ｂ内にクリア・ユーザー・データ、ホスト・プログラム領域１２８Ｂ内にホスト・プログラム、そしてレジスタ１１３Ｄ内にユニークな記憶ＩＤを含んで図示されている。レジスタ１１３Ｄ内の記憶ＩＤは、ポータブル記憶デバイス１１３Ｂを識別するために用いる。そのようなデバイスが一つ以上、同じホスト・デバイス１０１Ｂ上にマウントされる可能性があるからである。パスワード・レジスタ１１３Ｐは、パスワード、あるいはパスワードのハッシュを含むことが好ましい。この入力は、ホスト・プログラム領域１２８Ｂ内に含まれたセキュリティ・アプリケーションに対して、セキュア・ユーザー領域１２２Ｂ内の記憶データへのアクセスを許可するための条件である。
【００６７】
パスワード・ファイル１０３Ｆ（図１６）は、下記の図１７Ａに示すプロシージャーを介して、ポータブル記憶デバイス１１０Ｂの所有者がホスト・デバイス１０１Ｂを信頼すると選択したポータブル記憶デバイスのパスワードの表を含む。パスワード・ファイル１０３Ｆは、各々が信頼ポータブル記憶デバイス１１０ＢをそのＩＤによって識別し、そのパスワードあるいは生体情報に合致させて、記憶メディア１１３Ｂ（図１５）のセキュア領域１２２Ｂをアンロックするのに有用な、ゼロ以上のレコードを含んでもよい。
【００６８】
さて図１７Ａを参照して、ポータブル記憶デバイス１１０Ｂによってホスト・デバイス１０１Ｂを信頼可に設定するプロシージャーを説明する。ステップ６０１において、まだ信頼不可であるホスト・デバイス１０１Ｂ上に、ポータブル記憶デバイス１１０Ｂをマウントする。ステップ６０２において、ＣＰＵ１０２上で実行できるよう、ホスト・プログラム記憶領域１２８Ｂから、ポータブル記憶デバイス１１０Ｂに関するセキュリティ機能を遂行するセキュリティ・アプリケーションをロードする。セキュリティ・アプリケーションは、領域１２２Ｂ内に記憶されたセキュア・データに対するすべてのエンクリプション及びディクリプション・タスクを実行する。ステップ６０３において、ユーザーは、ユーザー・インタフェース１０４を介してパスワードを入力する。このパスワードは、レジスタ１１３Ｐの内容に（直接的に、あるいはハッシュ・バージョンを比べることによって）比較される。この入力の成功は、下記のプロシージャーの残りの部分に対する条件である。ステップ６０４において、ユーザーは、ユーザー・インタフェース１０４を介して、将来的にホストを信頼する設定を選択する。その結果、ステップ６０５において、ポータブル・デバイス１１３Ｂのレジスタ１１３Ｄ内の記憶ＩＤと共にパスワードを、パスワード・ファイル１０３Ｆ（図１６）のもう一つのレコードとして付加する。ステップ６０６において、オン・ザ・フライ・ディクリプション及びエンクリプションで読み書きオペレーションを、各々、セキュア・ユーザー領域１２２Ｂ上に、ホスト・プログラム記憶領域１２８Ｂからロードしたセキュリティ・プログラムの下で、記憶メディア１１３Ｂ内に記憶されているクリア・キーを用いて、ＣＰＵ１０２によって行う。クリア・キーは、レジスタ１１３Ｐ内のパスワードであってもよい。あるいは択一的に、レジスタ１１３Ｐ内に記憶されているパスワードを用いて暗号化したランダムなクリア・キーでもよい。ステップ６０７において、記憶デバイス１１０Ｂは、ホスト１０１Ｂからディスマウントする。
【００６９】
図１７Ｂは、ホスト・デバイス１０１Ｂと協力するポータブル記憶デバイス１１０Ｂのプロシージャーを説明する。ステップ６１１において、ホスト１０１Ｂ上に記憶デバイス１１０Ｂをマウントする。ステップ６１２において、ＣＰＵ１０２上で実行するために、ポータブル記憶デバイス１１０Ｂのホスト・プログラム記憶領域１２８Ｂからセキュリティ・アプリケーションをロードする。ステップ６１３において、セキュリティ・アプリケーションは、ホスト記憶装置１０３Ｂからパスワード・ファイル１０３Ｆを読み取って、レジスタ１１３ＤのホストＩＤを含むパスワード・ファイル１０３Ｆのレコードを探す。そのようなレコードが見つかった場合、このことは、このホスト・デバイス１０１Ｂが以前に、図１７Ａに示すプロシージャーを用いて信頼に設定されたことを示すのだが、このホスト・デバイス１０１Ｂは、セキュア・ユーザー・データ領域１２２Ｂへのアクセスが許可される。このホストＩＤにマッチするパスワードは、その後、セキュア・ユーザー・データ領域１２２Ｂに対する読み取り及び書き込みオペレーションに関連する、ステップ６１６におけるすべてのオン・ザ・フライ・ディクリプション及びエンクリプション・タスクに用いる。択一的に、レジスタ１１３Ｐ内に記憶したパスワードを用いて暗号化したランダムなクリア・キーは、ステップ６１６におけるすべてのオン・ザ・フライ・ディクリプション及びエンクリプション・タスクに用いる。ステップ６１７において、ホスト・デバイス１０１Ｂから記憶デバイス１１０Ｂをディスマウントする。図１７Ｂのプロシージャーは、オプションとして、パスワード・ファイル１０３Ｆから、ポータブル・デバイスのパスワードを含む各レコードを取り除くことによって、将来的に信頼ホストを信頼不可に選択するステップ（図示せず）を含む。
【００７０】
この第六の好適実施例は、他の好適実施例のように、二つのデバイスを接続するセッション中に、ユーザーが信頼ホスト・デバイスを将来的に信頼不可にすることを許可する。次のプロシージャーは、どの好適実施例のポータブル記憶デバイスによっても、すべての信頼ホストを信頼不可に同時に設定するために用いる。この場合、ポータブル記憶デバイスの以後すべてのマウントに対して、パスワード入力が必要となる。ただし、選択デバイスを信頼に設定するオプションがあるため、ユーザーの新しい選択に基づいてパスワードなしにもできる。
【００７１】
さて、図１８を参照する。ステップで６５０において、ホスト・デバイス１０１、１０１Ａあるいは１０１Ｂ上にポータブル記憶デバイス１１０、１１０Ａあるいは１１０Ｂをマウントし、正確なパスワードを入力する。あるいはホストが信頼できることを見いだす。ステップ６５１において、ユーザーは、彼のポータブル記憶デバイスの信頼機能をリセットすることを選択する、すなわち、すべての現在の信頼ホストを信頼不可に設定する。ステップ６５２において、もしポータブル記憶デバイス１１０（図２及び図２Ａ）上で信頼ホスト・リスト１２７が用いられたことがあるなら、信頼ホスト・リスト１２７及びレジスタ１２５（図２Ｂ）は、レジスタ１２５の第一のレコードを除き、消去される。ステップ６５３において、もし信頼ホスト１０１Ａ上にクッキー・ファイルがインストールされているなら、図７Ａに示す信頼キー３９８を変更することによって、すべてのこのようなクッキー・ファイルを、ポータブル記憶デバイス１１０Ａに識別不能にする。ステップ６５４において、もしパスワードのコピーがホスト１０１Ｂのパスワード・ファイル１０３Ｆ内に残っているなら、ユーザーが彼あるいは彼女のパスワードを変更するよう促すことによって、ホスト１０１Ｂを識別不能にする。ステップ６５５において、ホスト・デバイス１０１、１０１Ａあるいは１０１Ｂから、ポータブル記憶デバイス１１０、１１０Ａあるいは１１０Ｂを、各々ディスマウントする。図４、図９Ｂあるいは図１７Ａのプロシージャーが実行されるまでは、前回信頼したデバイスを認識することはない。
【００７２】
本発明は、限られた実施例で説明したが、多くの変更及び改良、そして他の用途が可能であることは明らかである。
【図面の簡単な説明】
【００７３】
本発明を、次の添付図面を参照しながら実施例によって説明する。
【図１】本発明による第一の好適実施例の概略ブロック図である。
【図２】本発明による第一の好適実施例内の記憶メディアの概略ブロック図である。
【図２Ａ】本発明による第一の好適実施例の一部を形成する信頼ホスト・リストの概略図である。
【図２Ｂ】本発明による第一の好適実施例の一部を形成する暗号化キー・リストの概略図である。
【図３】本発明による第一の好適実施例のオペレーションを説明するフローチャートである。
【図４】本発明による第一の好適実施例の一部を形成する、手動のセキュア領域アクセス・プロシージャーのフローチャートである。
【図５】本発明による第一の好適実施例の一部を形成する、自動のセキュア領域アクセス・プロシージャーのフローチャートである。
【図６】本発明による第一の好適実施例の一部を形成する、オン・ザ・フライ・エンクリプション／ディクリプション・プロシージャーのフローチャートである。
【図７】本発明による第二の好適実施例の概略ブロック図である。
【図７Ａ】第二の好適実施例が含むクリプトプロセッサの概略ブロック図である。
【図８】本発明による第二の好適実施例の一部を形成するホスト記憶デバイスの概略ブロック図である。
【図９Ａ】本発明による第二の好適実施例が含むクッキー・ファイルの概略ブロック図である。
【図９Ｂ】図９Ａに示すクッキー・ファイルの書き込みを説明するフローチャートである。
【図９Ｃ】図９Ａに示すクッキー・ファイルの検証を説明するフローチャートである。
【図１０】本発明による第二の好適実施例の記憶装置マウント・プロシージャーを説明するフローチャートである。
【図１１】本発明による第二の好適実施例に従う手動セキュア領域アクセス・プロシージャーを説明するフローチャートである。
【図１２】本発明による第二の好適実施例に従う自動セキュア領域アクセス・プロシージャーを説明するフローチャートである。
【図１３】本発明によるもう一つの好適実施例のホスト記憶デバイスのブロック図である。
【図１４】本発明によるシステムの、さらにもう一つの好適実施例のブロック図である。
【図１５】図１４に示すシステムが含む記憶メディアのブロック図である。
【図１６】図１４に示すシステムが含む、パスワード・ファイルの内容を説明する表である。
【図１７Ａ】図１４に示す実施例の、二つのオペレーション・モードを説明するフローチャートである。
【図１７Ｂ】図１４に示す実施例の、二つのオペレーション・モードを説明するフローチャートである。
【図１８】本発明による信頼リセット・プロシージャーを説明するフローチャートである。
【図１】
0004728120.tif 000002
【図２】
0004728120.tif 000003
【図２Ａ】
0004728120.tif 000004
【図２Ｂ】
0004728120.tif 000005
【図３】
0004728120.tif 000006
【図４】
0004728120.tif 000007
【図５】
0004728120.tif 000008
【図６】
0004728120.tif 000009
【図７】
0004728120.tif 000010
【図７Ａ】
0004728120.tif 000011
【図８】
0004728120.tif 000012
【図９Ａ】
0004728120.tif 000013
【図９Ｂ】
0004728120.tif 000014
【図９Ｃ】
0004728120.tif 000015
【図１０】
0004728120.tif 000016
【図１１】
0004728120.tif 000017
【図１２】
0004728120.tif 000018
【図１３】
0004728120.tif 000019
【図１４】
0004728120.tif 000020
【図１５】
0004728120.tif 000021
【図１６】
0004728120.tif 000022
【図１７Ａ】
0004728120.tif 000023
【図１７Ｂ】
0004728120.tif 000024
【図１８】
0004728120.tif 000025