(57)【要約】【課題】ハードウェア鍵を介するストレージデバイスのデータ暗号化およびデータアクセスのシステムおよび方法を提供すること。【解決手段】一実施形態は、ストレージデバイスに格納されたデータにアクセスするためにホストからストレージデバイスに送信される要求をインターセプトするハードウェア鍵を含み、ここで、ストレージデバイスに格納されたデータは、第一の暗号化鍵を使用して暗号化されており、ハードウェア鍵は、ホストのポートに差し込まれるように構成され、ストレージデバイスからの暗号化されたデータを暗号解読するために第一の暗号化鍵を含むコントローラを備える。ハードウェア鍵は、暗号化されたデータにアクセスするために、要求を解釈し、ストレージデバイスにコマンドを発行する。ハードウェア鍵は、ストレージデバイスからの暗号化されたデータを暗号解読するために、第一の暗号化鍵を提供する。【選択図】  図１
2008187718.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェア鍵が、ストレージデバイスに格納されたデータにアクセスするためにホストから送られる要求を受け取ることであって、前記ストレージデバイスに格納されたデータは、第一の暗号化鍵を使用して暗号化され、前記ハードウェア鍵は、前記ホストのポートに差し込まれるように構成され、前記ハードウェア鍵は、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を含むコントローラを備えることと、
前記ハードウェア鍵が、前記暗号化されたデータにアクセスするために、前記要求を解釈し、前記ストレージデバイスにコマンドを発行することと、
前記ハードウェア鍵が、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を提供することと
を備えることを特徴とする方法。
【請求項２】
前記ハードウェア鍵が、前記ストレージデバイスからの暗号化されたデータを含む応答を、前記ストレージデバイスから受け取ることと、
前記ハードウェア鍵が、前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を使用することと
をさらに備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記ハードウェア鍵は、ＵＳＢ鍵を備えることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記ストレージデバイスは、前記ホストのストージデバイス周辺装置であることを特徴とする請求項１、２、または３に記載の方法。
【請求項５】
前記ストレージデバイスは、ディスクドライブであることを特徴とする請求項１、２、または３に記載の方法。
【請求項６】
前記ホストは、モバイルコンピューティングデバイスであることを特徴とする請求項１、２、３、４、または５に記載の方法。
【請求項７】
前記第一の暗号化鍵にアクセスすることは、前記第一の暗号化鍵を暗号解読するために第二の暗号化鍵にアクセスすることを備えることを特徴とする請求項１から６のいずれかに記載の方法。
【請求項８】
命令が実行されると、
ハードウェア鍵が、ストレージデバイスに格納されたデータにアクセスするためにホストから送られる要求を受け取ることであって、前記ストレージデバイスに格納されたデータは、第一の暗号化鍵を使用して暗号化され、前記ハードウェア鍵は、前記ホストのポートに差し込まれるように構成され、前記ハードウェア鍵は、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を含むコントローラを備えることと、
前記ハードウェア鍵が、前記暗号化されたデータにアクセスするために、前記要求を解釈し、前記ストレージデバイスにコマンドを発行することと、
前記ハードウェア鍵が、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を提供することと
を備える方法を実施する前記命令のセットが格納されていることを特徴とするマシン読取可能媒体。
【請求項９】
前記ハードウェア鍵が、前記ストレージデバイスからの暗号化されたデータを含む応答を、前記ストレージデバイスから受け取ることと、
前記ハードウェア鍵が、前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を使用することと
をさらに備えることを特徴とする請求項８に記載のマシン読取可能媒体。
【請求項１０】
前記ハードウェア鍵は、ＵＳＢ鍵を備えることを特徴とする請求項８に記載のマシン読取可能媒体。
【請求項１１】
前記ストレージデバイスは、前記ホストのストレージデバイス周辺装置であることを特徴とする請求項８に記載のマシン読取可能媒体。
【請求項１２】
前記ストレージデバイスは、ディスクドライブであることを特徴とする請求項１１に記載のマシン読取可能媒体。
【請求項１３】
前記ホストは、モバイルコンピューティングデバイスであることを特徴とする請求項８に記載のマシン読取可能媒体。
【請求項１４】
前記第一の暗号化鍵にアクセスすることは、前記第一の暗号化鍵を暗号解読するために第二の暗号化鍵にアクセスすることを備えることを特徴とする請求項１３に記載のマシン読取可能媒体。
【請求項１５】
ホストと、
ストレージデバイスと、
前記ストレージデバイスに格納されたデータにアクセスするために前記ホストから送られる要求を受け取るハードウェア鍵であって、前記ストレージデバイスに格納されたデータは、第一の暗号化鍵を使用して暗号化され、前記ハードウェア鍵は、前記ホストのポートに差し込まれるように構成され、前記ハードウェア鍵は、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を含むコントローラを備えることと、
前記ハードウェア鍵が、前記暗号化されたデータにアクセスするために、前記要求を解釈し、前記ストレージデバイスにコマンドを発行するための手段と、
前記ハードウェア鍵が、前記ストレージデバイスからの前記暗号化されたデータを暗号解読するために前記第一の暗号化鍵を提供するための手段と
を備えることを特徴とするシステム。
【請求項１６】
前記ハードウェア鍵が、前記ストレージデバイスからの暗号化されたデータを含む応答を、前記ストレージデバイスから受け取るための手段と、前記暗号化されたデータを暗号解読するのに前記第一の暗号化鍵を使用するための手段と
をさらに備えることを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記ハードウェア鍵は、ＵＳＢ鍵を備えることを特徴とする請求項１５または１６に記載のシステム。
【請求項１８】
前記ストレージデバイスは、前記ホストのストレージデバイス周辺装置であることを特徴とする請求項１５、１６、または１７に記載のシステム。
【請求項１９】
前記ストレージデバイスは、ディスクドライブであることを特徴とする請求項１５、１６、１７、または１８に記載のシステム。
【請求項２０】
前記ホストは、モバイルコンピューティングデバイスであることを特徴とする請求項１５、１６、１７、１８、または１９に記載のシステム。
【請求項２１】
コントローラと、暗号化解除モジュールと、ホストシステムおよびストレージデバイスとインターフェースする少なくとも１つのインターフェースとを備えるハードウェア鍵であって、
ストレージデバイスに格納されたデータにアクセスするための前記ホストシステムからの要求を受け取り、
前記要求に応答して、前記ストレージデバイス上の暗号化されたデータにアクセスするために前記ストレージデバイスにコマンドを発行し、
前記暗号化されたデータを暗号化解除するために暗号化解除鍵を提供する
ように動作可能であることを特徴とするハードウェア鍵。
【請求項２２】
前記暗号化解除鍵は、前記ハードウェア鍵に格納されることを特徴とする請求項２１に記載のハードウェア鍵。
【請求項２３】
前記ハードウェア鍵は、ユーザが提供したパスワードが所定のパスワードと一致すると、前記暗号化解除鍵を提供するように操作可能であることを特徴とする請求項２１または２２に記載のハードウェア鍵。
【請求項２４】
前記暗号化解除鍵の暗号化されたバージョンを暗号化解除することによって前記暗号化解除鍵を提供するように動作可能であることを特徴とする請求項２３に記載のハードウェア鍵。
【請求項２５】
前記ホストシステムによって生成された暗号化鍵を格納するように動作可能であることを特徴とする請求項２１から２４のいずれかに記載のハードウェア鍵。
【請求項２６】
適切なシステムで実行すると、請求項１から７のいずれか１つに記載の方法を実装することを特徴とするコンピュータプログラム。
【請求項２７】
ストレージデバイスに対するアクセスの要求を受け取ることと、
前記要求を受け取ることに応答して、ユーザにパスワードを提供するように促すことと、
前記パスワードの前記提供に応答して、前記パスワードのマスクされたバージョンを作成することと、
請求項２１から２５のいずれか１つに記載のハードウェア鍵に、前記パスワードの前記マスクされたバージョンを格納することと、
暗号化鍵を作成し、前記暗号化鍵を前記パスワードに関連付けることと、
前記暗号化鍵でデータを暗号化することと、
前記暗号化されたデータを前記ストレージデバイスに格納することと
を備えることを特徴とする方法。
【請求項２８】
前記パスワードから前記暗号化鍵を生成することを備えることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記暗号化鍵のマスクされたバージョンを作成することを備えることを特徴とする請求項２７または２８に記載の方法。
【請求項３０】
前記暗号化鍵または前記暗号化鍵の前記マスクされたバージョンを、前記ハードウェア鍵に格納することを備えることを特徴とする請求項２７、２８、または２９に記載の方法。
【請求項３１】
ストレージデバイスに対するアクセスの要求を受け取るための手段と、
前記要求を受け取ることに応答して、パスワードを提供するようにユーザに促すための手段と、
前記パスワードの前記提供に応答して、前記パスワードのマスクされたバージョンを作成する手段と、
請求項２１から２５のいずれか１つに記載のハードウェア鍵と、
前記ハードウェア鍵に前記パスワードの前記マスクされたバージョンを格納する手段と、暗号化鍵を作成し、前記暗号化鍵を前記パスワードに関連付けるための手段と、
前記暗号化鍵でデータを暗号化するための手段と、
前記暗号化されたデータを前記ストレージデバイスに格納するための手段と
を備えることを特徴とするシステム。
【請求項３２】
適切なシステムで実行すると、請求項２７から３０のいずれか１つに記載の方法を実装することを特徴とするコンピュータプログラム。
【請求項３３】
請求項３２に記載のコンピュータプログラムを担持することを特徴とするキャリア。
【請求項３４】
マシン読取可能媒体であることを特徴とする請求項３３に記載のキャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、全般的にはハードウェア鍵を介したストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスの方法およびシステムに関する。
【背景技術】
【０００２】
ポータブル電子デバイスの使用の増加に伴って、個人のプライバシおよび機密保持は、電子デバイスの不正アクセスにおいて危険にさらされる可能性があるので、ストレージデバイスに格納されたデータのセキュリティは、不可欠なものとなっている。パスワード（例えば、オペレーティングシステムのログオンパスワード、ＢＩＯＳパスワードなど）は、権限を与えられていないユーザがホストデバイス（例えば、ラップトップコンピュータ）にログオンすることを防いできたが、ストレージデバイスの内容は、ホストシステムからデバイスを取り外す際に、危険にさらされる可能性がある。例えば、データハッカーは、ストレージデバイスを物理的に取り外し、そのストレージデバイスを、そのデータハッカーがアクセス権限を有する別のホストデバイスに移すことができる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、ホストシステムのオペレーティングシステムがアクティブでない場合、例えば、データがストレージデバイスから直接に読み取られる場合であって、ホストシステムがストレージデバイスからのデータにアクセスするために、アクセスの要求が、アクセスされることとなるストレージデバイス上のデータの暗号化解除の前に許可される場合に、ストレージデバイス上のデータを保護するのに使用されることとなるストレージデバイスに格納されたデータを暗号化するセキュリティ技法が必要である。
【０００４】
さらに、ストレージデバイス上のデータを暗号化する暗号化鍵が格納される位置は、暗号化されたストレージデバイスのセキュリティに影響する。暗号化鍵が、ホストシステム内のストレージデバイスに格納されると、暗号化鍵のセキュリティは、ホストシステムが紛失または盗まれると危険にさらされる可能性がある。例えば、ストレージデバイス上のデータが、直接に読み取られ、格納された暗号化鍵の位置が、ハッカーによって知られる場合である。したがって、データセキュリティは、システムに存在する暗号化鍵に起因して危険にさらされる可能性がある。
【課題を解決するための手段】
【０００５】
ハードウェア鍵を介したストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスのシステムおよび方法を、本明細書で説明する。本発明のいくつかの実施形態を、このセクションで要約する。
【０００６】
一実施形態は、ストレージデバイスに格納されたデータにアクセスするためにホストからストレージデバイスに送信される要求をインターセプトするハードウェア鍵を含み、ここで、ストレージデバイスに格納されたデータは、第一の暗号化鍵を使用して暗号化され、ハードウェア鍵は、ホストのポートに差し込まれるように構成され、ハードウェア鍵は、ストレージデバイスからの暗号化されたデータを暗号解読するために第一の暗号化鍵を含むコントローラを備える。ハードウェア鍵は、暗号化されたデータにアクセスするために、要求を解釈し、ストレージデバイスにコマンドを発行する。ハードウェア鍵は、ストレージデバイスからの暗号化されたデータを暗号解読するために暗号化鍵を提供する。一実施形態は、ストレージデバイスからの暗号化されたデータを含むストレージデバイスからの応答をインターセプトするハードウェア鍵と、暗号化されたデータを暗号解読するために第一の暗号化鍵を使用するハードウェア鍵とをさらに含む。さらに、一実施形態において、ハードウェア鍵は、ＵＳＢ鍵を備える。
【０００７】
本開示は、方法、および、これらの方法を実施する処理システムと、処理システムで実行されるときにシステムにこれらの方法を実施させるコンピュータ読取可能媒体とを含むこれらの方法を実施する装置を含む。
【０００８】
本発明の他の特徴は、添付図面および以下の詳細な説明から明らかになるであろう。
【０００９】
本開示は、添付図面の図において、限定ではなく例として表され、添付図面の図においては、同様の参照符号は、同様の要素を示す。
【発明を実施するための最良の形態】
【００１０】
次の説明および図面は、例示であって、限定として解釈されてはならない。多くの特定の詳細は、本開示の完全な理解を提供するために説明する。しかし、ある種の場合には、周知のまたは従来の詳細は、説明を混乱させるのを避けるために説明しない。本開示において一実施形態、または実施形態についての言及は、同一の実施形態についての言及とすることができるが、必ずしもそうではなく、そのような言及は、少なくとも１つを意味する。
【００１１】
本明細書において、「一実施形態」または「実施形態」についての言及は、その実施形態に関連して説明される特定の特徴、構造、または特性が、本開示の少なくとも１つの実施形態に含まれることを意味する。本明細書内のさまざまな箇所における「一実施形態において」というフレーズの出現は、必ずしもすべてが同一の実施形態について言及するものではなく、他の実施形態と相互に排他的な、別々のまたは代替の実施形態でもない。さらに、さまざまな特徴を説明するが、これらの特徴は、いくつかの実施形態によっては示すことができるが、他の実施形態によっては示すことができない場合がある。同様に、さまざまな要件を説明するが、これらの要件は、いくつかの実施形態に対する要件とすることができるが、他の実施形態に対する要件とすることができない場合がある。
【００１２】
本開示の実施形態は、ハードウェア鍵を介したストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスの方法およびシステムを含む。
【００１３】
ハードウェアモジュールを介するストレージデバイスのデータ暗号化は、ストレージデバイス上のデータの暗号化を通じてプライバシおよび機密保持を保証するための安全な方法を提供する。ディスクドライブなどのストレージデバイス上の既存のデータは、そのディスクドライブに格納されたデータの暗号化手順を通じて保護することができる。データ暗号化は、ホストシステムを介してストレージデバイスに論理的に結合されたハードウェア鍵によって実施することができる。暗号化されたストレージデバイスに対するアクセスは、ハードウェア鍵を、暗号化されたストレージデバイスを有するホストに物理的に接続することを介して得ることができる。
【００１４】
例えば、一実施形態において、暗号化鍵は、ホストシステムから取り外し可能であるハードウェア鍵などのハードウェアデバイスに格納される。暗号化鍵は、メモリ、不揮発性メモリ、フラッシュ、またはハードウェア鍵の離散ロジック内に格納することができる。一実施形態において、暗号化鍵は、ハードウェア鍵を紛失した場合に暗号化鍵の機密保持が危険にさらされないように、マスクされた形式でハードウェア鍵に格納される。さらに、転送がインターセプトされる場合に暗号化鍵の機密保持が危険にさらされるのを防ぐために、暗号化鍵は、マスクされた形式（例えば、暗号化された形式、マスクされた形式、秘密鍵／公開鍵ローリング交換など）で、デバイスからデバイスに転送される。
【００１５】
暗号化鍵は、多数の形式の１つでマスクする（隠す）ことができる。例えば、暗号化鍵を、ハードウェア鍵に格納すると、ユーザが設定したパスワードによって決定される秘密鍵を用いて暗号化することができる。したがって、暗号化鍵は、ユーザが正しいパスワードを供給することなどの要求の検証において、アンマスクされる。正しいパスワードは、秘密鍵に対するアクセスを提供することができ、または、暗号化鍵をマスクするのに使用した秘密鍵自体である。
【００１６】
さらに、暗号化鍵は、所定のアルゴリズムに基づいてハッシュ化することができる。所定のアルゴリズムは、所定のパスワードを用いる暗号化鍵の演算（例えば、ブール演算、算術演算など）とすることができる。したがって、暗号化鍵のハッシュ化されていないバージョンにアクセスするために、ユーザによって、所定のパスワードが供給されることとなる。一実施形態において、所定のパスワードは、ハッシュ化されていないバージョンにアクセスするために、所定のアルゴリズムを暗号化鍵に対して実施することを可能にする。
【００１７】
ハードウェア鍵は、システム上のポート（例えば、パラレルポート、シリアルポート、ＵＳＢポート、またはＦｉｒｅＷｉｒｅポート）に差し込まれるデバイスの１つとすることができる。別の実施形態において、鍵は、別のデバイスへのパススルーとしても働く。ユーザが、ログオフしてシステムを保護することを望む場合、ハードウェア鍵を、ホストシステムから物理的に切り離すことができる。ハードウェア鍵がホストシステムに結合されない限り、アクセスは、再び得ることができない。したがって、ハードウェア鍵に存在する暗号化鍵は、システム自体には格納されない。一実施形態において、所定のパスワードが供給され、暗号化鍵を格納したハードウェア鍵が、ホストシステム、および読み取られることとなるストレージデバイスに結合されると、ハードウェア鍵上の暗号化鍵は、アクセス可能となる。
【００１８】
一実施形態において、ハードウェア鍵がストレージデバイスに論理的に結合されると、ユーザが所定のパスワードと一致するパスワードを入力する必要なしに、ハードウェア鍵は、ストレージデバイスを暗号化解除するための暗号化鍵を供給する。
【００１９】
一実施形態において、方法は、ハードウェア鍵がストレージデバイスに格納されたデータにアクセスするためにホストからストレージデバイスに送信される要求をインターセプトすることを含む。ストレージデバイスに格納されたデータは、少なくとも１つの暗号化鍵を用いて暗号化されており、ハードウェア鍵は、ホストのポートに差し込まれるように構成される。ハードウェア鍵は、コントローラと、ストレージデバイスからの暗号化されたデータを暗号解読するための暗号化鍵を有するメモリとを備える。
【００２０】
例えば、ハードウェア鍵は、ホストシステムの１つまたは複数のポート（例えば、パラレル、シリアル、ＵＳＢ、ＦｉｒｅＷｉｒｅなど）に差し込むことができ、ホストシステムの１つまたは複数のストレージデバイスと通信することができるデバイスとすることができる。ハードウェア鍵は、任意の形式のストレージデバイスおよび／またはメモリデバイスとすることができる。一実施形態において、ハードウェア鍵がホストシステムに接続されていないときは、ホストシステムのストレージデバイスにアクセスすることができない。
【００２１】
ハードウェア鍵は、ストレージデバイスを保護するのに使用される１つまたは複数の暗号化鍵を格納することができる。一実施形態において、１つまたは複数のストレージデバイスは、１つまたは複数の暗号化鍵を用いて保護されており、格納された暗号化鍵は、ホストシステムとの接続性が確立されると、ホストシステムによってアクセス可能である。例えば、コントローラは、暗号化鍵、およびその暗号化鍵を用いて保護されたストレージデバイスを管理する。一実施形態において、暗号化鍵は、コントローラまたはメモリ内のルックアップテーブル内で、その暗号化鍵で暗号化された各ストレージデバイスと突き合わされる。他の管理技法も使用することができる。
【００２２】
一実施形態によると、ストレージデバイスを保護するコマンドが受け取られると、パスワードセットアッププロセスが開始される。初期セットアッププロセスは、ユーザが、ストレージデバイス上のデータにアクセスする（例えば、暗号化し、暗号解読し、削除し、バックアップをとるなど）ための１つまたは複数のパスワードをセットアップすることを可能にする。一実施形態によると、異なるアクセスレベル（例えば、読み取る／書き込む／消去する特権）は、システムの異なるユーザに設定することができる。例えば、システム管理者には、ストレージデバイスから、データを暗号化し、データを暗号解読する権限を与えることができる。システム管理者は、異なる暗号化鍵で再暗号化を開始する特権を所有することもできる。権限を与えられたユーザは、暗号化されたドライブからデータを読み取る（または暗号解読する）特権を所有することができる。
【００２３】
初期セットアッププロセスが完了し、所定のパスワードが供給されると、一実施形態によれば、ストレージデバイスに書き込まれることとなる新しいデータは、そのストレージデータへの格納の前に暗号化することができる。さらに、ユーザが、使用済みのディスクドライブを暗号化することを望む場合、ディスクドライブに既に格納されているデータを、暗号化されることとなる第二のストレージ位置（例えば、同一ディスクドライブ上の別のストレージ位置、別のストレージデバイス、システムメモリ、メモリデバイスなど）に移動させ、その後、元のストレージ位置に戻すことができる。
【００２４】
一実施形態によると、保護されたストレージデバイス上の暗号化されたデータに対するアクセスは、所定のパスワードと一致するパスワードを供給することを介して得られる。所定のパスワードを供給することを通じて、保護されたストレージデバイス上のデータを暗号化するのに使用される暗号化鍵に、アクセスすることができ、暗号化されたデータを暗号解読することができる。一実施形態において、暗号化鍵、または暗号化鍵のマスクされたバージョンは、ホストシステムにおける１つまたは複数のストレージデバイス上の所定の位置に格納され、ここで、このストレージデバイス上の所定の位置は、オペレーティングシステムに対するログオンの前のブート中にアクセス可能である。
【００２５】
ストレージデバイスに対するアクセスの要求は、ストレージデバイスにインストールされたホストオペレーティングシステムにログオンするためのシステムのブート中に、ユーザが生成することができる。この要求は、ストレージデバイスの補助的なパーティションにインストールされた第二のオペレーティングシステムを稼動させるために、ユーザが生成することもできる。特定のファイルまたはフォルダにアクセスする試行は、ストレージデバイスに格納された暗号化されたデータに対するアクセスのために、要求をトリガすることもできる。さらに、システムまたはオペレーティングシステムがスリープモード、節電モード、またはタイムアウトを終了すると、要求を、自動または手動で生成することができる。一般に、要求は、システムのブート中またはシステムのリスタート中に自動的に生成される。
【００２６】
一実施形態において、ホストシステム上の各ファイルは、異なる暗号化鍵を有する。いくつかの実施形態において、各フォルダは、異なる暗号化鍵を有する。別の実施形態において、ストレージデバイスに存在するすべてのデータは、１つの暗号化鍵で暗号化される。ファイル固有暗号化鍵、フォルダ固有暗号化鍵、および／またはパーティション固有暗号化鍵の組合せは、ストレージデバイス上またはホストシステムの複数のストレージデバイス上で実装することができる。ファイル、フォルダ、パーティション、および／またはストレージデバイスに対する暗号化鍵の割り振りは、自動的またはユーザ指定とすることができる。
【００２７】
さらに、データ暗号化に使用される暗号化鍵は、ユーザ要求時にまたは自動トリガの際に変更することができる。異なる暗号化鍵を適用する前に、暗号化されたデータは、異なる暗号化鍵で同一データを再び暗号化する前に元の鍵で暗号化解除することができる。例えば、自動トリガは、いくつかの失敗したログオン試行の後に成功した試行のようにイベントベースとすることができる。自動トリガは、暗号化鍵が所定の時間にわたって使用された時など、時間ベースとすることもできる。
【００２８】
一実施形態において、この方法は、ハードウェア鍵が、暗号化されたデータにアクセスするために、要求を解釈し、ストレージデバイスにコマンドを発行することを含む。
【００２９】
例えば、ハードウェア鍵が、ストレージデバイスにデータを書き込むためのコマンドを受け取ると、ユーザにパスワードの入力を促すことなく、データを暗号化し、書き込むことができる。一実施形態においては、ハードウェア鍵コントローラは、ストレージデバイスに対するアクセスを許可するために、異なるユーザに関する異なるデータアクセス特権（例えば、読み取り、書き込み、消去など）を管理する。ハードウェア鍵が、ストレージデバイスからデータを読み取るためのコマンドを受け取ると、パスワードプロンプトを生成することができる。正しいパスワードが供給されると、要求データは、ストレージデバイスから読み取られ、暗号解読（例えば、暗号化解除）される。同様に、ストレージデバイス上のデータを消去する要求が受け取られると、ユーザにパスワードを要求することができる。
【００３０】
一実施形態において、この方法は、ハードウェア鍵が、ストレージデバイスから読み取られた暗号化されたデータを暗号解読するために第一の暗号化鍵を提供することを含む。
【００３１】
例えば、ハードウェア鍵は、メモリ内に１つまたは複数の暗号化鍵を格納することができる。この１つまたは複数の暗号化鍵は、その中にあるデータがその暗号化鍵を用いて暗号化される、ストレージデバイス、ファイル、またはフォルダに対応する。一実施形態において、暗号化鍵の管理は、ハードウェア鍵に存在するコントローラにより容易になる。ハードウェア鍵内のコントローラは、１つまたは複数のホストシステムのいくつかのストレージデバイスで使用される複数の暗号化鍵を管理することもできる。したがって、ハードウェア鍵は、１つまたは複数のホストシステムのストレージデバイスに対するアクセスを提供することができる。
【００３２】
一実施形態において、ホストシステムおよびホストシステムのストレージデバイスに対するハードウェア鍵の接続性は、その暗号化鍵がハードウェア鍵によって提供されるストレージデバイスに対するアクセスを可能にする。例えば、ストレージデバイス上の暗号化されたデータは、ハードウェア鍵がホストシステムのポートに差し込まれるとき、アクセス可能である。一実施形態によると、データに対するアクセスの要求が、ハードウェア鍵によって受け取られると、ハードウェア鍵上の暗号化鍵は、自動的にアクセスされ、その要求を生成したホストシステムに送り返されることとなるデータの暗号解読に使用される。
【００３３】
一実施形態において、所定のパスワードは、保護されたデータを暗号化解除するためにハードウェア鍵上の第一の暗号化鍵にアクセスできる前に、ユーザによって供給される。例えば、ハードウェア鍵が、ストレージデバイスからデータを読み取るための要求を受け取ると、パスワードを求める要求が、ホストシステム上でユーザに対して生成される。所定のパスワードと一致するパスワードが受け取られると、ハードウェア鍵上の暗号化鍵にアクセスすることができる。一実施形態において、暗号化鍵にアクセスすることは、暗号化鍵を暗号解読するために第二の暗号化鍵にアクセスすることを備える。例えば、正しいパスワードがユーザから受け取られると、暗号化鍵自体を暗号化解除するためにそのパスワードを使用することができる。したがって、暗号化鍵は、ハードウェア鍵上で隠された形式で格納され、追加的なセキュリティを提供する。
【００３４】
一実施形態において、この方法は、要求を受け取ることに応答して、パスワードを提供するようにユーザに促すことと、所定のパスワードと一致するパスワードを受け取ることに応答して、ストレージデバイスに格納された要求データを暗号解読するために暗号化鍵にアクセスすることを含む。例えば、ホストシステムが、スリープモードを終了すると、ユーザがそのホストシステムをさらに使用する前に、正しいパスワードを供給するようにユーザに促すことができる。
【００３５】
ユーザが供給したパスワードは、システムログオンの前にアクセス可能な所定のパスワードと比較される。一実施形態において、所定のパスワードは、アクセスされることとなるストレージデバイス上の所定の位置に格納される。例えば、所定のパスワードは、ブート可能なストレージデバイスのマスタブートレコードに格納することができる。一実施形態において、あるストレージデバイスに対する所定のパスワードは、別のストレージデバイスに格納することができる。例えば、複数のストレージデバイスを有するシステムにおいて、着信側のストレージデバイスに対する所定のパスワードは、マスタストレージデバイスに格納することができる。
【００３６】
一実施形態によると、正しいパスワードは、ストレージデバイス上のデータを暗号化するのに使用される１つまたは複数の暗号化鍵に対するアクセスを可能にする。代替的には、あるパスワードが、オペレーティングシステムへのシステムブートを容易にし、その一方で、ユーザがシステムにログインすると、追加のパスワードにより、異なるパーティション、ファイル、またはフォルダに対するアクセスが可能となる。一実施形態において、正しいパスワードは、要求データを暗号解読するため暗号化鍵に関連付けられる。代替的には、正しいパスワードは、暗号化鍵のマスクされたバージョン（例えば、ハッシュ化されたバージョン）に関連付けられ、正しいパスワードを、暗号化鍵のマスクされたバージョンをアンマスクするのに使用することができる。一実施形態において、正しいパスワードを使用して、暗号化鍵のマスクされたバージョンをアンマスクするための追加の鍵を識別する。
【００３７】
ストレージデバイスに格納された要求データは、任意の適切な暗号化アルゴリズムで暗号化することができる。例えば、使用することができる暗号化アルゴリズムは、ＲＳＡ、ＤＥＳ／３ＤＥＳ（Data Encryption Standard）、Ｂｌｏｗｆｉｓｈ、ＩＤＥＡ（International Data Encryption Algorithm）、ＳＥＡＬ（Software-optimized Encryption Algorithm）、ＡＥＳ（RC4、Advanced Encryption Standard）などを含むが、これらに限定はされない。
【００３８】
図１は、一実施形態による、インターセプタデバイス１０４またはハードウェア鍵１１０を通じてホストシステム１０６と通信するストレージデバイス１０２または１１２の例を図示する。
【００３９】
ストレージデバイス１０２は、ホストシステム１０６の周辺装置である、ハードディスクドライブ、パラレルポート（ＰＡＴＡ）を有するハードディスクドライブ、シリアルＡＴアタッチメントポート（ＳＡＴＡ）を有するハードディスクドライブ、ＳＣＳＩドライブ、光学ドライブ、磁気ドライブ、外部ストレージデバイス、フラッシュデバイスなどの半導体ストレージ、または光磁気ストレージデバイスの少なくとも１つである。インターセプタモジュール１０４は、処理ユニット、および暗号化のためのソフトウェアモジュールを含むことができる。インターセプタモジュール１０４は、ストレージデバイス１０２をホストシステム１０６に結合する。
【００４０】
ハードウェア鍵１１０は、システム上のポート（例えば、パラレルポート、シリアルポート、ＵＳＢポート、またはＦｉｒｅＷｉｒｅポート）に差し込まれるデバイスとすることができる。一実施形態において、ハードウェア鍵１１０は、ホストシステムが動作している間にホストシステムに差し込み、引き抜くことができるメモリデバイスである。例えば、ハードウェア鍵は、プラグアンドプレイ（ホットスワッピング）をサポートするデバイスとすることができる。さらに、ハードウェア鍵１１０は、暗号化処理および暗号化解除処理を実行することができて必要なソフトウェアコードを格納できる任意のタイプのメモリストレージデバイスとすることができる。一実施形態において、ハードウェア鍵は、コントローラと、暗号化モジュール、オペレーティングシステム、および／またはハードウェアドライバを有する処理ユニットとを含む。
【００４１】
暗号化モジュールは、任意の数のストレージデバイスを保護するのに使用される１つまたは複数の暗号化鍵を格納するメモリを含むことができる。一実施形態において、暗号化モジュールは、暗号化鍵を格納しない。さらに言うと、暗号化鍵は、データ暗号化解除のために別のデバイスからハードウェア鍵１１０に送信される。一実施形態において、ハードウェア鍵１１０は、ホストシステム１０６を通じてストレージデバイス１０２に結合される。ハードウェア鍵１１０は、ホストシステム１０６を通過せずにストレージデバイス１１２または１０２と通信することもできる。
【００４２】
一実施形態において、ハードウェア鍵１１０は、ホストシステムのＵＳＢポートに差し込むことができるＵＳＢ鍵である。例えば、ＵＳＢ鍵は、リムーバブルでリライタブルなフラッシュドライブとすることができる。ハードウェア鍵１１０内のコントローラは、一実施形態によると、ＵＳＢコントローラである。
【００４３】
ホストシステム１０６は、ストレージデバイス１０２をサポートする任意のタイプのシステムとすることができる。例えば、ホストシステムは、デスクトップコンピュータや、ノートブック機、ラップトップコンピュータ、ハンドヘルドコンピュータ、携帯電話機、スマートホン、ＰＤＡなどのモバイルコンピューティングデバイスを含むことができるが、これらに限定はされない。一実施形態において、ホストシステム１０６および／またはインターセプタモジュール１０４を、ネットワーク１０８に結合することができる。一実施形態において、外部ストレージデバイス１１２を接続することができる。他の実施形態においては、暗号化されたデータを、ホストシステムのオペレーティングシステムに組み込まれたドライバを使用してチップセットを通じてリダイレクトし、インターセプタ１０４の利用を伴ってまたは伴わずに内部ストレージデバイス（例えば、ストレージデバイス１０２）にリダイレクトすることができる。
【００４４】
図２は、一実施形態による、インターセプタモジュール１０４、またはホストシステム１０６のポート２０８を通じてホストシステム１０６に論理接続されるハードウェア鍵１１０を介して、ストレージデバイス１０２と通信するホストシステム１０６の例示的な図を図示する。
【００４５】
一実施形態において、ホストシステム１０６は、処理ユニット２０２、チップセット２０４、メモリ２０６、ポート２０８、および多数のＩ／Ｏデバイスを含み、このＩ／Ｏデバイスは、キーボード、ポインティングデバイス、サウンドシステム、および／またはビデオシステムなどを含むことができる。ポート２０８は、シリアルポート（例えば、ＲＳ−２３２）、パラレルポート、イーサネット（登録商標）ポート、ＦｉｒｅＷｉｒｅ、および／またはＵＳＢポートの少なくとも１つとすることができる。さらに、ポート２０８は、物理シリアルポートのエミュレーションである仮想シリアルポートなどの仮想ポートとすることができる。
【００４６】
図示したホストシステム１０６は、例示的な概要であり、したがって、本開示の趣旨から逸脱することなく、このシステムの多くの変形形態および修正形態とすることができる。例えば、メモリは、当技術分野で「ノース」ブリッジとして知られているものに配置することができ、ビデオシステムが、それ自体の別々のノースブリッジアクセスを有することができ、Ｉ／Ｏを、「サウス」ブリッジを介して接続することができる。
【００４７】
一実施形態において、インターセプタモジュール１０４は、チップセット２０４を介してホストシステム１０６に結合される。インターセプタモジュール１０４とストレージデバイス１０２を、シリアルＡＴＡ（ＳＡＴＡ）、パラレルＡＴＡ（ＰＡＴＡ）インターフェース、ＦｉｒｅＷｉｒｅ、ＳＣＳＩ、またはＵＳＢなどのインターフェースの１つを介して結合することができる。ストレージデバイス１０２とのインターセプタモジュール１０４のインターフェースは、異なるストレージデバイスの仕様に応じて異なるデータ転送速度をサポートする。例えば、ＳＡＴＡインターフェースは、１．５ギガビット／秒、３ギガビット／秒、および６ギガビット／秒のデータ速度をサポートする。ＦｉｒｅＷｉｒｅ  ８００バスおよびＦｉｒｅＷｉｒｅ  ４００バスも、異なるデータ転送レートを有する。
【００４８】
図３Ａは、一実施形態による、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスのためのパスワードをセットアップするプロセスを図示するフローチャート３００Ａである。
【００４９】
プロセス３０２では、ストレージデバイスにアクセスするための最初の要求を受け取る。例えば、ユーザが、新たに購入したラップトップ機（例えば、ホストシステム）に対するログオンを試みると、そのユーザは、新たに購入したラップトップ機のストレージデバイスにアクセスするための最初の要求を生成する。さらに、ユーザが、新たにインストールした未使用のストレージデバイスの使用を試みると、そのストレージデバイスにアクセスするための最初の要求が、そのユーザによって生成される。一実施形態において、ユーザが、ストレージデバイスのデータ暗号化機能を有するシステムにインストールされた、格納されたデータを有するストレージデバイス上の既存のデータを保護することを試みると、使用済みのストレージデバイスにアクセスする最初の要求も生成される。この要求は、ホストシステムまたはホストシステムに結合されたハードウェア鍵にインストールされたソフトウェアに基づいて検出することができる。
【００５０】
プロセス３０４では、図６の例示のスクリーンショットに示すように、ユーザに、１つまたは複数のパスワードおよびパスワードヒントをセットアップするように促す。一実施形態において暗号化鍵は、ハードウェア鍵に格納されるため、ハードウェア鍵（例えば、ＵＳＢ鍵）を、パスワードのセットアップ中にホストシステムに結合する（例えば、ＵＳＢポートに差し込む）ことができる。一実施形態において、１つまたは複数のパスワードが、ホストシステムの１つまたは複数のストレージデバイス上のデータを暗号化するための１つまたは複数の暗号化鍵を生成するのに使用される。一実施形態において、暗号化鍵は、あらかじめ定められ、１つまたは複数のパスワードが要求に応答してユーザによってセットアップされると、それらのパスワードに関連付けられる。さらに、所定の暗号化鍵を、ユーザによって設定された１つまたは複数のパスワードに基づいてさらにマスクする（例えば、暗号化する、またはハッシュ化する）ことができる。一実施形態によると、図９の例示のスクリーンショットに示すように、パスワードヒントは、誤ったパスワードで失敗したログオン試行の際に、ユーザに供給される。
【００５１】
プロセス３０６では、パスワードおよびパスワードヒントのハッシュ化されたバージョンを作成する。パスワードおよびパスワードヒントのハッシュ化された（または他の形でマスクされた）バージョンは、パスワードおよびパスワードヒントを保護するために作成することができる。例えば、データが、ストレージデバイスまたはハードウェア鍵から直接読み取られると、パスワードは、隠された形式で表示されるであろう。さまざまなハッシュ化アルゴリズムを使用することができる。一実施形態によると、暗号化アルゴリズムは、パスワードをマスクするために使用することができる。
【００５２】
プロセス３０８では、パスワードおよび／またはパスワードヒントのハッシュ化された（または任意のアルゴリズムを介して隠された）バージョンは、ストレージデバイスまたはハードウェア鍵の所定の位置に格納される。一実施形態によると、パスワードおよび／またはパスワードヒントのハッシュ化されたバージョンは、ホストのオペレーティングシステムからアクセス不能なストレージデバイスまたはハードウェア鍵のセクタに格納される。したがって、暗号化されたデータのアクセスを、最初に正しいパスワードを供給することなくオペレーティングシステムによってバイパスすることはできない。一実施形態において、パスワードおよび／またはパスワードヒントのハッシュ化されたバージョンは、同一のホストシステム内の別のストレージデバイスに格納される。例えば、着信側のデバイスに対するパスワードは、マスタデバイスに格納することができる。
【００５３】
プロセス３１０では、ストレージデバイスに格納されたデータを暗号化する暗号化鍵は、パスワードに基づいて決定され、その暗号化鍵は、将来のアクセスのためにパスワードに関連付けられる。一実施形態において、暗号化鍵は、パスワードから生成され、ハードウェア鍵に格納される。一実施形態において、暗号化鍵は、あらかじめ定められ、この暗号化鍵は、パスワードの操作に基づいてさらに隠す（例えば、ハッシュ化する、または暗号化する）ことができ、したがって、追加的なセキュリティのレイヤを作成することができる。一実施形態において、パスワードは、暗号化鍵を暗号化するための秘密鍵である。それゆえ、パスワードが危険にさらされる場合、その特定のアルゴリズムは、ハッカーに知られていないので、暗号化鍵は保護されたままである。
【００５４】
操作３１２では、ストレージデバイス上のデータは、暗号化鍵で暗号化される。例えば、図７の例示のスクリーンショットに示すように、保護されることになるソースドライブは、ウィンドウ７０２に示す「Source Drive（ソースドライブ）：」のリストの下で選択することができる。一実施形態において、「Source Drive」からデータを移行する「Destination Drive（宛先ドライブ）」（例えば、図７の「Destination Drive」ウィンドウ７０４から）を、選択することができる。データは、ソースドライブから移行し、宛先ドライブで暗号化することができる。暗号化されたデータは、ソースドライブに戻すことができるか、または宛先ドライブに格納することができる。一実施形態において、宛先ドライブを選択する必要がない。例えば、ソースドライブ上の暗号化されることとなるデータは、暗号化されることとなるソースドライブの第二のストレージ位置に移行される。同様に、暗号化されたデータは、元のストレージ位置に戻されるか、またはソースドライブ上の第二のストレージ位置に格納されるかのいずれかである。
【００５５】
一実施形態において、ホストシステムが、ストレージデバイスにデータを書き込む要求を生成すると、そのデータは、ストレージデバイスへの移行の前に、暗号化鍵で暗号化される。さらに、そのデータは、暗号化の前にストレージデバイスに書き込み、その後、自動トリガまたは手動トリガに基づいて後から暗号化することができる。例えば、所定の時間間隔で書き込まれるデータを、暗号化することができる。同様に、所定の量の書き込みデータ（例えば、５ｋＢ）を、同時に暗号化することができる。
【００５６】
図３Ｂは、一実施形態による、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスの権限を与えるプロセスを図示するフローチャート３００Ｂである。
【００５７】
プロセス３２２では、ストレージデバイスに対するアクセスの要求が、受け取られる。例えば、この要求を、セッションの開始の際に受け取ることができる。このセッションを、システムのパワーアップ、タイムアウトの完了、またはリスタートの少なくとも１つに応答して開始することができる。ハードウェア鍵がホストシステムのポートに差し込まれている間に、このセッションを、スリープモードまたは節電モードの終了後にもトリガすることができる。ストレージデバイスに対するアクセスの要求は、対応するハードウェア鍵をホストシステムのポートに差し込むことによって開始することもできる。
【００５８】
一実施形態において、ストレージデバイスの特定のパーティション、フォルダ、またはファイルがアクセスされると、この要求が、生成される。さらに、ストレージデバイスの異なるパーティションに存在する異なるオペレーティングシステムがアクセスされるときにも、要求を生成することができる。
【００５９】
プロセス３２４では、図８Ｂの例示のスクリーンショットに示すように、ユーザに、パスワードの入力を促す。パスワードは、ストレージデバイス上のデータに対するアクセスの権限を与えるのに使用する。例えば、パスワードは、ハードウェア鍵に格納された１つまたは複数の暗号化鍵を暗号化解除するのに使用される秘密鍵とすることができる。さらに、前述したように、パスワードは、暗号化鍵自体をアンマスクする（例えば、ハッシュ解除する）か、または暗号化鍵を暗号解読するための他の操作を実行するのに使用することができる。一実施形態によると、複数のパスワードを、１つのストレージデバイス上の異なるファイル、フォルダ、オペレーティングシステム、またはパーティションに対して使用することができる。
【００６０】
プロセス３２６では、ユーザが提供したパスワードのハッシュ化されたバージョンは、所定のアルゴリズムに基づいて計算される。一実施形態によると、暗号化アルゴリズムを、使用することができる。プロセス３２８では、ストレージデバイスまたはハードウェア鍵上の所定の位置に格納された所定のパスワードのハッシュ化されたバージョンが、識別される。プロセス３３０では、所定のパスワードの、ハッシュ化されたバージョンまたは別の方法で隠したバージョンを、ユーザが提供したパスワードの、ハッシュ化されたバージョンまたは別の方法で隠したバージョンと比較する。プロセス３３２において、一致すると判定されると、暗号化鍵に対するアクセスが可能となる。プロセス３３４では、ホストシステムのユーザによってアクセスされることとなるストレージデバイスから要求されたデータが、暗号化解除される。
【００６１】
図３Ｃは、一実施形態による、紛失または盗まれたポータブルデバイスを識別するためのプロセスを図示するフローチャート３００Ｃである。
【００６２】
プロセス３３０では、所定のパスワードのハッシュ化されたバージョンを、ユーザが提供したパスワードのハッシュ化されたバージョン（または別の方法で隠したバージョン）と比較する。随意にチャレンジ／レスポンス法を選択することにより、データの非再現性が保証される。不一致であると識別されると、所定のパスワードと提供されたパスワードとの間で生じた不一致の回数が判定される。その回数が所定のしきい値を超えていない場合は、操作３４２において、ユーザに、再びパスワードおよび／またはパスワードヒントの入力を促す。例えば、図８Ｃの例示のスクリーンショット８００Ｃに示すように、無効なキーが入力され、ユーザは、再試行するか終了するためのオプションを有する。
【００６３】
回数が、所定のしきい値を超えていると、プロセス３４４において、システムがネットワークに接続されている場合には、ホストシステムのＩＰアドレスが、ネットワークサーバに報告される。一実施形態において、ＭＡＣアドレス、ユーザ名、ワークグループ名など、ホストシステムの一意な識別子を、ブロードキャストし、ＩＰアドレスに関連付けることもできる。電子デバイスを紛失した個人に、自己のデバイスにアクセスする試行があったかどうかを知らせるために、ホストシステムの識別子およびＩＰアドレスを、ウェブサイトで公表することができる。そのような場合には、公表されるＩＰアドレスは、それらの個人に、紛失したデバイスの所在に関する手がかりを与えることができる。
【００６４】
一実施形態において、ホストシステムが、失敗したログオン試行時にネットワークに接続されていない場合は、失敗した試行のインジケータを保存し、次回システムがネットワークに接続されているときにブロードキャストすることができる。ＩＰアドレスをウェブサイトに報告することに加え、失敗したログオン試行の場合は、ユーザが指定した電子メールアドレスに、通知を送信することができる。この電子メールは、失敗したログオン試行の回数、ログオンを試行するのに使用されたパスワード、システムの状況、現在使用可能な場合にはシステムのＩＰアドレスなどの情報を報告することができる。一実施形態において、アクセスの要求がいずれも失敗すると、電子メール通知を送信することができる。例えば、特定のファイルまたはフォルダに対してアクセスする試行の失敗が発生すると、電子メールを、ユーザが指定した電子メールアドレスに送信することができる。
【００６５】
図４Ａは、一実施形態による、図３Ｂに示すプロセスの例を説明する図であって、ストレージデバイス、ハードウェア鍵、およびホストシステムの間の、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスのパスワード権限に関する対話を図示する。
【００６６】
プロセス４０２では、ユーザは、セッションの最初のアクセスを開始し、ホストシステムは、ハードウェア鍵に要求を送信する。ハードウェア鍵は、この要求を、このセッションの最初の要求として識別する。一実施形態によると、セッションは、パワーアップ、タイムアウト、リスタート、または前のセッションを終了するための他のトリガの後に、またはハードウェア鍵がホストシステムに最初に差し込まれるときに始まるように要求される場合がある。プロセス４０４では、ハードウェア鍵は、例えばハードウェア鍵自体の上またはストレージデバイス上などの、所定の位置から、鍵の暗号化されたバージョンを取り出す。
【００６７】
プロセス４０８では、ドライバのロードが、例えばＵＳＢプラグアンドプレイ機能を使用して、ホストシステム上で開始される。プロセス４１０では、ハードウェア鍵は、ユーザにパスワードの入力を促すために、ホストシステムに対する要求を生成する。プロセス４１２では、ユーザに、パスワードの入力を促す。ユーザがパスワードを入力した後、プロセス４１４において、システムは、パスワードが期待値と一致するか否かを判定する。暗号化鍵を、暗号化鍵を隠すための暗号化アルゴリズム（例えば、ＤＥＳ／３ＤＥＳ、ＢｌｏｗＦｉｓｈ、ＡＥＳ、または他の適切な暗号化方法）または他の方法を使用して暗号化することもできる。パスワードが一致する場合は、暗号化鍵はアンロックされ、この鍵は、その後、ＡＥＳまたは他の適切なプロトコルなどの暗号化アルゴリズムを使用してデータを暗号解読するか暗号化するのに使用される。プロセス４２０において、このプロセスは、図４Ｂのプロセスに続く。
【００６８】
一実施形態において、パスワードが一致しない場合は、このプロセスは、プロセス４１０に戻るようにループし、ユーザに再度パスワードの入力を促す。パスワードの照合に失敗した試行が所定回数になると、ホストシステムは、（例えば、タイムアウトまたはシステムリブートによって）セッションを終了させることができる。一実施形態においては、パスワードを記憶するのを助けるため、またはアンロックを無効にできるようにするために、ヒントまたはヒントの質問を、ユーザに提示する。一実施形態においては、マスタ暗号化鍵は、使用可能であり、暗号化されたドライブにアクセスするためにマスタパスワードでアクセスされる。
【００６９】
図４Ｂは、一実施形態による、図３Ｂに示したプロセスの例をさらに説明する図４００Ｂであって、ストレージデバイス、ハードウェア鍵、およびホストシステムの間の、ストレージデバイスのデータアクセスに関する対話を図示する。
【００７０】
プロセス４５２では、ホストシステムが、コマンド「Get Data（データ取得）」を発行する。プロセス４５４では、「Get Data」コマンドが、ハードウェア鍵によって受け取られ、識別される。プロセス４５６では、コマンド「Get Data」が、ハードウェア鍵によって解釈される。プロセス４５８では、コマンド「Get Data」が、ストレージデバイスに送信される。
【００７１】
プロセス４６０では、ストレージデバイスが、コマンドを受け取り、解釈する。プロセス４６２では、コマンド「Get Data」に応答して、要求データが取り出される。プロセス４６４では、要求データを有する応答が、ホストに送り返される。プロセス４６６では、取り出されたデータは、適切なアルゴリズム（例えば、ＤＥＳ／３ＤＥＳ、Ｂｌｏｗｆｉｓｈ、ＡＥＳなどの暗号化アルゴリズム）を用いた暗号化解除を通じて、暗号解読される。使用されるアルゴリズムに応じて、暗号化鍵は、取り出されたデータを暗号解読するために必要となる場合があり、その暗号化鍵は、図４のプロセスによって取り出された鍵とすることができる。
【００７２】
いくつかの場合においては、暗号化鍵を、シミュレートされたコマンド（図示せず）を送信することによってホストコンピュータから伝送することができ、そのシミュレートされたコマンドは、ハードディスクドライブによって解釈不可能なパラメータを含むが、ハードウェア鍵によってインターセプトされ、それに従って例えば鍵の受け取り用のコマンドとして解釈される。一実施形態において、暗号化鍵は、暗号化された形式で伝送される。
【００７３】
プロセス４６８では、ストレージデバイスから取り出された要求データの暗号化解除されたバージョンが、ホストシステムに送信される。プロセス４７０では、ストレージデバイスからの要求データの暗号化解除されたバージョンを、取得する。一実施形態において、自動バックアップソフトウェアは、暗号化機能（例えば、ＡＥＳ）を通じて、ストレージデバイス上のデータのバックアップを作成することができる。例えば、ストレージデバイスのストレージ位置において暗号化されていないデータは、暗号化されることとなる第二のストレージ位置に一時的に移行し、その後、元のストレージ位置に戻すことができる。一実施形態において、第二のストレージ位置は、同一ストレージデバイス上の異なるストレージ位置である。一実施形態において、第二のストレージ位置は、異なるストレージデバイスである。一実施形態において、暗号化されていないデータを消去することにより、元の（例えば、暗号化されていない）データを複数のランダムな上書きで除去して、ストレージデバイス上のデータを暗号化することができる。
【００７４】
図５は、一実施形態による、処理ユニット５０２およびコントローラ５０４を有するハードウェア鍵１１０の概略図である。
【００７５】
一実施形態において、ハードウェア鍵は、ＵＳＢアダプタであり、コントローラ５０４は、ＵＳＢコントローラである。処理ユニット５０２は、暗号化モジュール、オペレーティングシステム、および／またはストレージデバイスドライバなどのさまざまなソフトウェアインスタンスを含むことができる。
【００７６】
暗号化モジュールは、ストレージデバイスに格納されたデータを保護し、暗号解読するための１つまたは複数の暗号化アルゴリズムを実行するコードを含む。一実施形態において、異なる暗号化アルゴリズムは、異なるストレージデバイスに使用することができ、コントローラは、関連ある暗号化アルゴリズムを、その暗号化アルゴリズムで暗号化されたストレージデバイスに関連付けることができる。
【００７７】
一実施形態において、ハードウェア鍵１１０は、１つまたは複数のストレージデバイスを保護するために１つまたは複数の暗号化アルゴリズムで使用された、１つまたは複数の暗号化鍵を格納するメモリ（例えば、不揮発性、フラッシュ、または離散ロジックなど）を備える。代替的には、暗号化鍵は、ハードウェア鍵１１０の暗号化／暗号化解除のプロセス中に、代替デバイスによって、ハードウェア鍵１１０に供給される。例えば、１つまたは複数の暗号化鍵は、権限が与えられるとハードウェア鍵１１０に送信することができる。一実施形態によると、権限は、多数の形式の１つをとることができ、例えば、ホストシステムのユーザアイデンティティを識別するパスワード権限とすることができる。
【００７８】
図６は、一実施形態による、パスワードを作成またはパスワードを変更するためのインターフェースを示すスクリーンショット６００を図示する。
【００７９】
スクリーンショット６００は、パスワード保守に使用されることとなるセキュリティアクセス画面を示す。一実施形態において、セキュリティアクセス画面は、ストレージデバイスへのアクセス、オペレーティングシステムへのログオン、またはストレージデバイス上のデータへのアクセスの前のパスワード認証を無効にするチェックボックス「Disable Password Security（パスワードセキュリティを無効にする）」を含む。例えば、「Disable Password Security」ボックスが選択されると、ログオンの前またはホストシステムのセットアップの前に、パスワードフィールドおよびヒントフィールドに記入する必要がない。この場合、ストレージデバイスに格納したデータは、暗号化されないものとすることができる。あるいは、ストレージデバイスに格納したデータは、暗号化することができるが、暗号化鍵は、データアクセスの前にパスワードを供給せずに暗号化解除に使用可能である。
【００８０】
一実施形態において、新しいパスワードは、ストレージデバイスを保護するために、「New Password（新規パスワード）」フィールドおよび「Confirm New Password（新規パスワードの確認）」フィールドに所望のパスワードを入力することによって、セットアップされる。「Current Password（現在のパスワード）」フィールドは、この場合は空白のままにすることができる。一実施形態において、既存のパスワードは、「Current Password」フィールドに正しいパスワードを供給し、所望のパスワードを「New Password」フィールドおよび「Confirm New Password」フィールドに入力することを介して、変更される。
【００８１】
「Hint（ヒント）」フィールドは、ユーザだけが答えを知っている質問を入力するために使用することができる。この質問は、ユーザがパスワードを忘れたとき、例えば、間違ったパスワードが所定回数入力された後に、尋ねることができる。「Hint」フィールドは、ユーザにパスワードを思い出させるために、「the password is related to Aunt Dolly‘s birthday（パスワードはドリーおばさんの誕生日に関係する）」などのパスワードヒントを入力するためにも使用することができる。一実施形態において、ユーザは、自分がパスワードを忘れたことを知らせ、所定回数だけ間違ったパスワードを提供する前にパスワードヒントを見ることを要求することができる。
【００８２】
図７は、一実施形態による、ストレージデバイスを保護するインターフェースを示すスクリーンショット７００を図示する。
【００８３】
スクリーンショット７００は、ストレージデバイス上のデータのデータ暗号化を通じてストレージデバイスを保護する例を示す。一実施形態において、ソースドライブ（例えば、データ暗号化を介して保護されることとなるストレージ）は、サブウィンドウ７０２の下にリストされるストレージデバイスのリストから選択され、宛先ドライブは、サブウィンドウ７０４の下にリストされるストレージデバイスのリストから選択される。例えば、ソースドライブは、保護されることとなるデータを有するストレージデバイスである。ソースドライブ上のデータは、暗号化することができ、格納されることとなる宛先ドライブに移行することができる。一実施形態において、ソースドライブ上のデータは、暗号化されてソースドライブから消去されることとなる宛先ドライブに、移行することができる。その後、暗号化されたデータは、格納されることとなるソースドライブに戻すことができる。
【００８４】
一実施形態において、１つのストレージデバイス（例えば、ソースドライブ）が、プロセスに使用される。例えば、ソースドライブ上の暗号化されることとなるデータは、暗号化されることとなる別のストレージ位置に移行される。一実施形態によると、保護されていないデータは、元のストレージ位置で消去され、他のストレージ位置に格納された暗号化されたデータは、格納されることとなる元のストレージ位置に戻すことができる。
【００８５】
図８Ａは、一実施形態による、保護されたストレージデバイスにアクセスするためのログイン画面を示すインターフェースを示すスクリーンショット８００Ａを図示する。
【００８６】
スクリーンショット８００Ａは、ストレージデバイス上のデータにアクセスするための認証に関する２段階のセキュリティアクセスの例を示す。一実施形態において、ストレージデバイスに対するアクセスが許可されうる前に、所定のパスワードが、「Password（パスワード）」フィールドに入力されることとなる。一実施形態において、ストレージデバイスに対するアクセスが許可される前に、ビットマップウィンドウに示されるテキストが、正しいパスワードに加えて、「Bitmap Window（ビットマップウィンドウ）」フィールドに入力されることとなる。「Password」フィールドに記入されると、「Login（ログイン）」アイコンをクリックして、アクセスを確認することができ、成功が確認されると、アクセスが許可される。
【００８７】
図８Ｂは、一実施形態による、パスワードプロンプトを有するログイン画面を示すインターフェースを示すスクリーンショット８００Ｂを図示する。
【００８８】
一実施形態によると、所定のパスワードが、フィールド「Please Enter Password（パスワードを入力してください）」に入力され、システムにアクセスする（例えば、１つまたは複数のオペレーティングシステムにログオンし、かつ／あるいは１つまたは複数のストレージデバイスにアクセスする）ことになる。
【００８９】
図８Ｃは、一実施形態による、図８Ｂで入力された無効なパスワードに起因する不成功のログオンを示すスクリーンショット８００Ｃを図示する。
【００９０】
不成功のログオンの際に、一実施形態によると、ユーザは、終了するか再度試みるためのオプションを有する。ユーザが無効なパスワードを提供できる所定の回数を設けることができる。所定の回数に達すると、システムは、終了するか、または図９の実施形態に示すように、ユーザにパスワードヒントを提供することができる。
【００９１】
図９は、一実施形態による、パスワードヒントを表示する画面を示すインターフェースを示すスクリーンショットを図示する。
【００９２】
スクリーンショット９００は、ユーザにパスワードヒントを示すプロンプトの例を図示する。このパスワードヒントのプロンプトは、ユーザがパスワードを忘れた場合に、ユーザが要求することができる。一実施形態においては、パスワードヒントのプロンプトは、所定の回数の間違ったパスワードの提供が発生すると、トリガされる。例えば、ユーザが、間違ったパスワードの３つの値を提供すると、システムは、パスワードのセットアップ中に指定されたパスワードヒントを供給することができる。
【００９３】
図１０は、本明細書で述べる任意の１つまたは複数の方法論をマシンに実施させる命令のセットを実行できる、コンピュータシステム１０００の例示的な形式でのマシンの図表示を示す。代替実施形態では、このマシンは、スタンドアローンのデバイスとして動作し、または他のマシンと接続する（例えば、ネットワーク化する）ことができる。ネットワーク化された配置では、マシンは、クライアント−サーバネットワーク環境においてサーバまたはクライアントマシンの容量で動作することができ、または、ピアツーピア（または分散）ネットワーク環境においてピアマシンとして動作することができる。マシンは、サーバコンピュータ、クライアントコンピュータ、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、携帯情報端末（ＰＤＡ）、携帯電話、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、ネットワークブリッジ、またはそのマシンによって行われるアクションを特定する命令のセット（シーケンシャルまたは他の形の）を実行することができる任意のマシンとすることができる。
【００９４】
マシン読取可能媒体１０２２は、例示的実施形態に、単一の媒体として示されているが、用語「マシン読取可能媒体」は、命令の１つまたは複数のセットを格納する単一の媒体または複数の媒体（例えば、集中データベースまたは分散データベース、および／または関連するキャッシュおよびサーバ）を含むと解釈されなければならない。用語「マシン読取可能媒体」は、マシンによる実行、または本発明の任意の１つまたは複数の方法論をマシンに実施させるための命令のセットを格納し、エンコードし、または担持することができる任意の媒体を含むものとしても解釈されなければならない。一般に、本開示の実施形態を実装するために実行されるルーチンは、オペレーティングシステムまたは特定のアプリケーションの一部、コンポーネント、プログラム、オブジェクト、モジュール、または「コンピュータプログラム」呼ばれる命令のシーケンスとして実装することができる。コンピュータプログラムは、典型的には、さまざまな時にコンピュータ内のさまざまなメモリおよびストレージデバイス内に１つまたは複数の命令セットを含み、この１つまたは複数の命令セットは、コンピュータ内の１つまたは複数のプロセッサによって読み取られ、実行されると、そのコンピュータに、動作を実施させ、本開示のさまざまな態様を伴う要素を実行させる。
【００９５】
さらに、実施形態を、十分に機能するコンピュータおよびコンピュータシステムの文脈で説明してきたが、当業者は、さまざまな実施形態をさまざまな形式のプログラム製品として流通させることができること、および、本開示が、実際に流通をもたらすために使用されるマシンまたはコンピュータ読取可能媒体の特定のタイプに関わりなく同等に適用されることを認識するであろう。コンピュータ読取可能媒体の例は、揮発性および不揮発性のメモリデバイス、フロッピおよび他のリムーバブルディスク、ハードディスクドライブ、光ディスク（例えば、CD ROM、DVDなど）などの記録可能型媒体、および、デジタルおよびアナログ通信リンクなどの伝送型媒体を含むが、これらに限定はされない。
【００９６】
実施形態を、特定の例示的実施形態に関して説明してきたが、これらの実施形態に対してさまざまな修正および変更を行うことができることは、明らかである。したがって、本明細書および図面は、制限的な意味ではなく例示的な意味で考えられなければならない。前述の明細書は、特定の例示的実施形態に関する説明を提供する。これに対して、添付の特許請求の範囲に示されたより広義の趣旨および範囲から逸脱せずに、さまざまな変更を行うことができることは、明らかである。したがって、本明細書および図面は、制限的な意味ではなく例示的な意味で考えられなければならない。
【図面の簡単な説明】
【００９７】
【図１】一実施形態にかかる、インターセプタモジュールまたはハードウェア鍵を通じてホストシステムと通信するストレージデバイスの例を示す図である。
【図２】一実施形態にかかる、インターセプタモジュール、またはホストシステムのポートを通じてホストシステムに論理接続されるハードウェア鍵を介して、ストレージデバイスと通信するホストシステムの例示的な図である。
【図３Ａ】一実施形態にかかる、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスのためのパスワードをセットアップするプロセスを示すフローチャートである。
【図３Ｂ】一実施形態にかかる、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスの権限を与えるプロセスを示すフローチャートである。
【図３Ｃ】一実施形態にかかる、紛失または盗まれたポータブルデバイスを識別するプロセスを示すフローチャートである。
【図４Ａ】一実施形態にかかる、図３Ｂに示したプロセスの例を説明する図であって、ストレージデバイス、ハードウェア鍵、およびホストシステムの間の、ストレージデバイスのデータ暗号化およびストレージデバイスのデータアクセスのパスワード権限に関する対話を示す図である。
【図４Ｂ】一実施形態にかかる、図３Ｂに示したプロセスの例をさらに説明する図であって、ストレージデバイス、ハードウェア鍵、およびホストシステムの間の、ストレージデバイスのデータアクセスに関する対話を示す図である。
【図５】一実施形態にかかる、処理ユニットおよびコントローラを有するハードウェア鍵を示す図である。
【図６】一実施形態にかかる、パスワードを作成またはパスワードを変更するためのインターフェースを示すスクリーンショットである。
【図７】一実施形態にかかる、ストレージデバイスを保護するためのインターフェースを示すスクリーンショットである。
【図８Ａ】一実施形態にかかる、保護されたストレージデバイスにアクセスするためのログイン画面を示すインターフェースを示すスクリーンショットである。
【図８Ｂ】一実施形態にかかる、パスワードプロンプトを有するログイン画面を示すインターフェースを示すスクリーンショットである。
【図８Ｃ】一実施形態にかかる、図８Ｂで入力された無効なパスワードに起因する不成功のログオンを示すスクリーンショットである。
【図９】一実施形態にかかる、パスワードヒントを表示するための画面を示すインターフェースを示すスクリーンショットである。
【図１０】一実施形態にかかる、命令のセットに関するソースを有するブロック図を示す図である。
【図１】
2008187718.tif 000003
【図２】
2008187718.tif 000004
【図３Ａ】
2008187718.tif 000005
【図３Ｂ】
2008187718.tif 000006
【図３Ｃ】
2008187718.tif 000007
【図４Ａ】
2008187718.tif 000008
【図４Ｂ】
2008187718.tif 000009
【図５】
2008187718.tif 000010
【図６】
2008187718.tif 000011
【図７】
2008187718.tif 000012
【図８Ａ】
2008187718.tif 000013
【図８Ｂ】
2008187718.tif 000014
【図８Ｃ】
2008187718.tif 000015
【図９】
2008187718.tif 000016
【図１０】
2008187718.tif 000017
【外国語明細書】
2008187718000001.pdf