(57)【要約】【課題】安全なリムーバブル大容量記憶装置を提供すること。【解決手段】大容量記憶装置はコントローラ及びメモリ記憶領域を含む。メモリ記憶領域の安全な部分は、永久的にライトプロテクトされる。オペレーティングシステムにより提供される例えばＡＰＩのようなプログラムは、永久的にライトプロテクトされた部分に対する書込みを禁止される。コントローラは、セキュリティコマンドを使用して永久的にライトプロテクトされた部分に書込みを行うことを許可する。メモリ記憶領域の安全な部分は、オペレーティングシステムにとって不可視であるが、セキュアライブラリを利用してアクセスすることが可能な隠された部分である。【選択図】図５
2014071887.tif 000002
【特許請求の範囲】
【請求項１】
リムーバブル大容量記憶装置のメモリ記憶領域をアクセスする方法であって、
前記リムーバブル固体大容量記憶装置の前記メモリ記憶領域のライトプロテクトされた部分に対する書込み処理を実施するためのアクセスコマンドを受信するステップであって、前記アクセスコマンドが、前記リムーバブル大容量記憶装置が着脱可能に接続される相手方のコンピュータのオペレーティングシステムにより提供されるプログラムからのものである、アクセスコマンドを受信するステップと、
前記アクセスコマンドの前記書込み処理による前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みを防止することによって、前記メモリ記憶領域の前記ライトプロテクトされた部分のライトプロテクトされた状態を強制するステップと、
前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込み処理を実施するためのセキュリティコマンドを受信するステップであって、前記セキュリティコマンドが、前記オペレティングシステムにより提供される前記プログラムからのものではない、セキュリティコマンドを受信するステップと、
前記セキュリティコマンドを前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みのための正規のコマンドとして認識するステップと、
前記セキュリティコマンドを前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みのための正規のコマンドとして認識することに応答し、前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記セキュリティコマンドに従って、前記メモリ記憶領域の前記ライトプロテクトされた部分に対する書込みを実施するステップと
からなる方法。
【請求項２】
前記方法は、ユニバーサル・シリアル・バス（ＵＳＢ）コントローラにより実施され、前記リムーバブル大容量記憶装置は、ＵＳＢメモリデバイスである、請求項１に記載の方法。
【請求項３】
前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶されたセキュリティプログラムを更新するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記セキュリティプログラムは、アンチウイルスプログラムを含み、前記セキュリティコマンドは、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶された前記セキュリティプログラムのパターンファイルを更新する、請求項３に記載の方法。
【請求項５】
前記セキュリティコマンドは、前記アンチウイルスプログラムの動作をサポートするアプリケーションプログラムにとってのみ利用可能である、請求項４に記載の方法。
【請求項６】
前記セキュリティコマンドは、前記オペレーティングシステムにとって利用可能でないセキュアライブラリのアプリケーション・プログラミング・インタフェース（ＡＰＩ）を利用して発行される、請求項１に記載の方法。
【請求項７】
前記オペレーティングプログラムにより提供される前記プログラムは、前記オペレーティングシステムのＡＰＩを含む、請求項１に記載の方法。
【請求項８】
リムーバブル大容量記憶装置であって、
コンピュータのＵＳＢポートに着脱可能に接続されるユニバーサル・シリアル・バス（ＵＳＢ）コネクタと、
記憶メモリ領域と、
前記ＵＳＢコネクタを介して前記コンピュータからコマンドを受信し、前記コマンドが、オペレーティングシステムにより提供されたプログラムからの、前記記憶メモリ領域をアクセスするためのものであった場合、前記コマンドが、前記記憶メモリ領域の安全な部分に対して書き込みを行うことを防止し、前記コマンドが、前記オペレーティングシステムとって利用可能でないセキュアライブラリのセキュリティコマンドであると認識することに応答し、前記コマンドが、前記記憶メモリ領域の前記安全な部分に対して書込みを行うことを許可する、ＵＳＢコントローラと
を含む、リムーバブル大容量記憶装置。
【請求項９】
前記ＵＳＢコントローラは、前記メモリ記憶領域がライトプロクテクとされた状態にあるときであっても、前記セキュリティコマンドが、前記メモリ記憶領域の前記安全な部分に対して書込みを行うことを許可する、請求項８に記載のリムーバブル大容量記憶装置。
【請求項１０】
前記メモリ記憶領域の前記安全な部分は、前記オペレーティングシステムにとって見ることが出来ない隠された部分である、請求項８に記載のリムーバブル大容量記憶装置。
【請求項１１】
前記セキュアライブラリは、前記メモリ記憶領域に記憶されたコンピュータセキュリティプログラムと協働するアプリケーションプログラムにとってのみ使用可能である、請求項８に記載のリムーバブル大容量記憶装置。
【請求項１２】
前記コンピュータセキュリティプログラムは、アンチウイルスプログラムを含む、請求項１１に記載のリムーバブル大容量記憶装置。
【請求項１３】
前記メモリ記憶領域の前記安全な部分は、永久的にライトプロテクトされた状態にある永久的にライトプロテクトされた部分である、請求項８に記載のリムーバブル大容量記憶装置。
【請求項１４】
リムーバブル大容量記憶装置のメモリ記憶領域をアクセスする方法であって、
リムーバブル・ユニバーサル・シリアル・バス（ＵＳＢ）メモリデバイスのメモリ記憶領域のライトプロテクトされた部分に記憶されたコンピュータセキュリティプログラムのための更新を受信するステップと、
前記メモリ記憶領域の前記ライトプロテクトされた部分に対して書込みを行うためのセキュリティコマンドを前記ＵＳＢメモリデバイスのＵＳＢコントローラへ送信することにより、前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記コンピュータセキュリティプログラムを更新するステップと、
前記メモリ記憶領域の前記ライトプロテクトされた部分をライトプロテクトされた状態に維持しながら、前記更新に従って、前記メモリ記憶領域の前記ライトプロテクトされた部分における前記コンピュータセキュリティプログラムを更新するステップと
を含む方法。
【請求項１５】
権限を有しないプログラムが前記コンピュータセキュリティプログラムを改ざんすることを防止するために、前記メモリ記憶領域の前記ライトプロテクトされた部分は、永久的にライトプロテクトされた状態である、請求項１４に記載の方法。
【請求項１６】
前記コンピュータセキュリティプログラムは、前記メモリ記憶領域の前記ライトプロテクトされた部分に記憶されたアンチウイルスプログラムを含む、請求項１４に記載の方法。
【請求項１７】
前記更新は、前記アンチウイルスプログラムのパターンファイルに対する更新を含む、請求項１６に記載の方法。
【請求項１８】
前記更新は、前記アンチウイルスプログラムのスキャンエンジンに対する更新を含む、請求項１６に記載の方法。
【請求項１９】
前記更新は、インターネットを介してサーバコンピュータから受信される、請求項１４に記載の方法。
【請求項２０】
前記セキュリティコマンドを前記ＵＳＢメモリデバイスの前記ＵＳＢコントローラへ送信するステップは、前記セキュリティコマンドを発行するアプリケーション・プログラミング・インタフェース（ＡＰＩ）を使用することを含む、請求項１４に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
１．発明の分野
本発明は、概して、コンピュータ・セキュリティに関し、とりわけ、限定はしないが、リムーバブル大容量記憶装置の安全を確保する方法、及び方法に関する。
【背景技術】
【０００２】
２．背景技術の説明
リムーバブル大容量記憶装置は、携帯可能であり、ユーザが、大量のデータを常に個人的に持ち運ぶことを可能にする。そして、それらの装置は、着脱可能であるため、特定のコンピュータに縛られることなく、あるコンピュータから別のコンピュータへと移動させることができる。人気があるリムーバブル大容量記憶装置は、ＵＳＢインタフェース（例えば、ＵＳＢポート）を介してアクセス可能なユニバーサル・シリアル・バス（ＵＳＢ）メモリデバイスである。
【０００３】
ＵＳＢメモリデバイスは、ＵＳＢメモリデバイスに記憶されたデータの消去や、ＵＳＢメモリへの書き込みを防止するために、ライトプロテクトが施される場合がある。ライトプロテクトは、書き込みを許可するために無効化される場合もあるが、それによって、記憶されたデータの完全性は妥協される場合がある。また、ライトプロテクトは、オペレーティング・システムによって、汎用アクセスコントロールのために使用される場合があり、かかる汎用アクセスコントロールは、ＵＳＢメモリデバイスへの書き込みを伴う正規の動作を妨げることがある。さらに、２以上のプログラムがＵＳＢメモリデバイスへのアクセスを試みた場合、ＵＳＢメモリデバイスは、スループット問題を蒙る場合がある。
【発明の概要】
【０００４】
概要
一実施形態において、リムーバブル大容量記憶装置は、コントローラ、及びメモリ記憶領域を含む。メモリ記憶領域の安全な部分は、永久的にライトプロテクトされた部分である場合がある。メモリ記憶領域にアクセスするための、例えばアプリケーション・プログラミング・インタフェース（ＡＰＩ）のような、オペレーティングシステムにより提供される種々のプログラムが、永久的にライトプロテクトされた部分のライトプロテクトを無効化することはできず、それらが永久的にライトプロテクトされた部分への書き込みをすることは、禁止されている。コントローラは、セキュア・ライブラリのセキュリティ・コマンドに対しては、ライトプロテクトを強制せず、セキュリティコマンドを使用して永久的にライトプロテクトされた部分へ書き込みをすることを許可している。セキュリティコマンドは、セキュア・ライブラリのＡＰＩによって発行される場合がある。メモリ記憶領域の安全な部分は、オペレーティングシステムにとって見ることが出来ない隠された部分である場合もあるが、セキュア・ライブラリを利用してその安全な部分にアクセスすることができる。
【０００５】
本発明のこれらの特徴及び他の特徴は、添付の図面及び特許請求の範囲を含む本開示の全体を読むことにより、当業者には直ちに明らかになるであろう。
【図面の簡単な説明】
【０００６】
【図１】本発明の一実施形態によるコンピュータを示す概略図である。
【図２】本発明の一実施形態によるユニバーサル・シリアル・バス（ＵＳＢ）メモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。
【図３】本発明の他の実施形態によるＵＳＢメモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。
【図４】本発明のさらに別の実施形態によるＵＳＢメモリデバイスのメモリ記憶領域の例示的パーティションレイアウトを概略的に示す図である。
【図５】本発明の一実施形態によるＵＳＢメモリデバイスのメモリ記憶領域をアクセスする方法を概略的に示すフロー図である。
【図６】本発明の他の実施形態によるＵＳＢメモリデバイスのメモリ記憶領域をアクセスする方法を概略的に示すフロー図である。
【０００７】
異なる図面における同じ参照符号の使用は、同一又は類似のコンポーネントを示している。
【発明を実施するための形態】
【０００８】
詳細な説明
本開示では、本発明の種々の実施形態を完全に理解してもらうために、装置、コンポーネント、及び方法の種々の例のような、多数の詳細情報を提供する。しかしながら、当業者は、それらの詳細情報のうちの１以上が無くても、本発明を実施することが可能であることを理解するであろう。その他、本発明の態様が不明確になることを避けるために、周知の詳細については、図示又は説明されない。
【０００９】
ここで、図１を参照すると、本発明の一実施形態によるコンピュータ１００の概略図が示されている。コンピュータ１００は、特定目的のニーズに合致するように、もっと少数のコンポーネント、又はもっと多数のコンポーネントを有する場合もある。コンピュータ１００は、プロセッサ１０１を含む場合がある。コンピュータ１００は、自身の種々のコンポーネントを結合する１以上のバス１０３を有する場合がある。コンピュータ１００は、１以上のユーザ入力デバイス１０２（例えば、キーボード、マウス）、１以上の従来の回転ディスクデータ記憶装置（例えば、ハードディスク、光ディスク）、ディスプレイモニター１０４（例えば、液晶ディスプレイ、フラットパネルモニター、陰極線管）、コンピュータ・ネットワーク・インタフェース１０５（例えば、ネットワークアダプタ、モデム）、及びメインメモリ１０８（例えば、ランダムアクセスメモリ）を含む場合がある。コンピュータ・ネットワーク・インタフェース１０５は、コンピュータ・ネットワーク１０９に結合される場合がある。コンピュータ・ネットワーク１０９は、この例ではインターネットを含む。
【００１０】
図１の例において、コンピュータ１００は、ユニバーサル・シリアル・バス（ＵＳＢ）ポート１２４を含む。ＵＳＢメモリデバイス１２０の形をしたリムーバブル固体大容量記憶装置は、コンピュータ１００のプロセッサ１０１又は他のコンポーネントによるアクセスのために、ＵＳＢポート１２４に接続される。ＵＳＢメモリデバイス１２０は、回転ディスクや、他の可動記憶装置を有しない点で、「固体」デバイスである。なお、本発明の他の実施形態では、他のタイプのリムーバブル大容量記憶装置（例えば、ディスクを利用したもの）が使用される場合もある。一実施形態において、ＵＳＢメモリデバイス１２０は、フラッシュメモリを含むメモリ記憶領域を備えたＵＳＢフラッシュドライブを含む。ＵＳＢコントローラ１２１は、コンピュータのプロセッサ１０１又は他のコンポーネントとのインタフェースとして機能する電気回路、及びメモリ記憶領域１２２へのアクセスを制御するための電気回路を含む。ＵＳＢメモリデバイス１２０は、コンピュータ１００に対して容易に結合又は分離することが可能である点でリムーバブルである。ＵＳＢメモリデバイス１２０をコンピュータ１００に結合するためには、ＵＳＢメモリデバイス１２０のコネクタ１２６を、ＵＳＢポート１２４のコネクタ１２５に押し込む。ＵＳＢメモリデバイス１２０をコンピュータ１００から分離するためには、ＵＳＢポート１２４からＵＳＢメモリデバイス１２０を引き抜く。ＵＳＢコントローラ１２１は、ＵＳＢコネクタ１２６を通してコンピュータ１００から種々のコマンドを受信する。
【００１１】
コンピュータ１００は、コンピュータ読取り可能なプログラムコードを用いてプログラムされるような特定のマシンである。図１の例において、そのようなプログラムコードは、メインメモリ１０８に一時的に記憶され、プロセッサ１０１により実行されるオペレーティングシステム１１２（例えば、マイクロソフトＷｉｎｄｏｗｓ（登録商標）オペレーティングシステム）、及びアプリケーションプログラム１１３を含む。アプリケーションプログラム１１３は、セキュアＵＳＢライブラリ１１４を含む場合がある。セキュアＵＳＢライブラリ１１４は、メモリ記憶領域１２２のアクセスに通常使用されるオペレーティングシステム１１２のＡＰＩ又は他のプログラムを使用することなくメモリ記憶領域１２２に対する読み出し又は書き込みを行うために、ＵＳＢコントローラ１２１と通信するアプリケーション・プログラミング・インタフェース（ＡＰＩ）、関数、又は手順を含む場合がある。一実施形態において、アプリケーションプログラム１１３は、ＵＳＢメモリデバイス１２０に記憶されたアンチウイルスプログラム（例えば、アンチウイルスプログラム２５２、図６参照）、又は他のコンピュータセキュリティプログラム（例えば、アンチスパイウェア等）と協働するアプリケーションプログラムを含む。例えば、アプリケーションプログラム１１３は、アンチウイルスプログラムのスキャンエンジン又はスキャンパターンファイルの更新を行うように構成される場合がある。コンピュータ１００のオペレーティングシステム１１２、アプリケーションプログラム１１３、及び他のソフトウェアコンポーネントは、データ記憶装置１０６からメインメモリ１０８へロードされる場合がある。
【００１２】
図２は、本発明の一実施形態によるＵＳＢメモリデバイス１２０のメモリ記憶領域１２２の例示的パーティションレイアウトを概略的に示している。図２の例において、メモリ記憶領域１２２は、３つの論理ドライブ、すなわち、論理ドライブ０、論理ドライブ１、及び論理ドライブ２に分割されている。論理ドライブ０は、メモリ記憶領域１２２のライトプロテクト可能な部分１３１を含み、論理ドライブ１は、メモリ記憶領域１２２の永久的にライトプロテクトされた部分１３２を含み、論理ドライブ３は、メモリ記憶領域１２２の隠された部分１３３を含む。論理ドライブ０及び１はそれぞれ、オペレーティングシステム１１２のファイルシステムを含み、従って、オペレーティングシステム１１２にとって可視である。論理ドライブ２、及びその中に含まれる隠された部分１３３は、オペレーティングシステム１１２にとって不可視であり、従って、オペレーティングシステム１１２によってアクセスすることはできない。オペレーティングシステム１１２は、隠された部分１３３を認識しない。
【００１３】
ライトプロテクト可能な部分１３１は、オペレーティングシステム１１２によって認識される従来のファイルシステム（例えば、ファイルアロケーションテーブル（ＦＡＴ）ファイルシステム）を有する場合がある。その名前が示すように、ライトプロテクト可能な部分１３１は、メモリ記憶領域１２２のうちの、書き込みを防止するためにライトプロテクトを施すことが可能な部分からなる。ライトプロテクト可能な部分１３１のライトプロテクトは、書き込みを可能にするために無効化される場合もある。ライトプロテクト可能な部分１３１のライトプロテクトは、オペレーティングシステム１１２が適当なコマンドをＵＳＢコントローラ１２１へ送ることによって、無効化又は有効化される場合がある。アプリケーションプログラムは、オペレーティングシステム１１２のＡＰＩを使用して、ライトプロテクト可能な部分１３１のライトプロテクトを制御する場合がある。一実施形態において、ライトプロテクト可能な部分１３１は、コンピュータセキュリティプログラム又はそのコンポーネントによって、一時的なワークスペースとして使用される場合がある。例えば、ライトプロテクト可能な部分１３１は、そこに記憶されたファイルへの書き込みを可能にするために、書き込みを有効化され、その後、それらのファイルへの書き込みを防止するために、ライトプロテクトが施される場合がある。
【００１４】
永久的にライトプロテクトされた部分１３２は、メモリ記憶領域１２２のうちの常にライトプロテクト状態にある部分である。永久的にライトプロテクトされた部分１３２は、オペレーティングシステム１１２によって認識される従来のファイルシステムを有する場合がある。オペレーティングシステム１１２は、永久的にライトプロテクトされた部分１３２に記憶されたファイルを読み出すことが出来るが、オペレーティングシステム１１２は、永久的にライトプロテクトされた部分１３２への書き込みや、当該部分１３２の書き込みを有効化すること（すなわち、ライトプロテクトを無効化すること）は出来ない。ＵＳＢコントローラ１２１は、永久的なライトプロテクトを強制するように構成される場合がある。ＵＳＢコントローラ１２１は、永久的にライトプロテクトされた部分１３２に対する書き込み、又はそのような書き込みの有効化を求めるいかなる要求も、その要求がセキュアＵＳＢライブラリ１１４から（但し、オペレーティングシステム１１２からではない）入手可能なセキュリティコマンドからのものでない限り、遮断する場合がある。
【００１５】
ＵＳＢコントローラ１２１は、ＵＳＢメモリデバイス１２０の製造中は、永久的にライトプロテクトされた部分１３２の永久的なライトプロテクトを強制しない。ＵＳＢメモリデバイス１２０の製造中、従来のファイルシステムは、永久的にライトプロテクトされた部分１３２においてフォーマットされ、コンピュータセキュリティプログラムの種々のファイルが、永久的にライトプロテクトされた部分１３２に記憶される場合がある。ＵＳＢメモリデバイス１２０の製造後、ＵＳＢコントローラ１２１は、権限を有しないプログラムが、永久的にライトプロテクトされた部分１３２に記憶されたファイルに変更を加えること（例えば、書き込みによって）を禁止するために、永久的なライトプロテクトを強制する。以下の記載からより明らかとなるように、セキュアＵＳＢライブラリ１１４により提供される１以上のセキュリティコマンドは、永久的にライトプロテクトされた部分１３２への書き込みに使用される場合がある。
【００１６】
論理ドライブ２の隠された部分１３３は、オペレーティングシステム１１２によって可視ではなく、すなわち、オペレーティングシステム１１２によって認識されない。例えば、オペレーティングシステム１１２は、ファイルアロケーションテーブル（ＦＡＴ）ファイルシステムのような通常のファイルシステムを使用して、隠された部分１３３にアクセスすることは出来ない。メモリ記憶領域１２２は、工場において事前にフォーマットされ、隠された部分１３３が、隠された部分１３３をアクセスするための正規のコマンドとしてＵＳＢコントローラ１２１により認識される所定のセキュリティコマンドを使用しないプログラムにとって不可視となり、そのようなプログラムからアクセスできないものとなるように、事前にフォーマットされる。
【００１７】
一実施形態において、隠された部分１３３にある種々のファイルは、セキュアＵＳＢライブラリ１１４を使用することによってのみアクセスすることが出来る。セキュアＵＳＢライブラリ１１４は、隠された部分１３３に対するデータの読み出し又は書き込みのためにＵＳＢコントローラ１２１によって解釈される１以上のセキュリティコマンドを含む場合がある。権限を有しないプログラムがセキュリティコマンドを利用して隠された部分１３３に記憶されたファイルをアクセスすることを防止するために、セキュリティコマンドは、秘密に、及び専有的状態に維持される場合がある。セキュアＵＳＢライブラリ１１４は、セキュリティコマンドを利用して、権限を有しないプログラムが、隠された部分１３２にアクセスし、ファイルを記憶し、読み出し、又は変更を加えることを可能にするＡＰＩを含む場合がある。隠された部分１３２は、セキュアＵＳＢライブラリ１１４と協働するが、オペレーティングシステムとは協働しないドライバによって管理されるファイルシステム（例えば、ＦＡＴ３２ファイルシステム）を有する場合がある。一実施形態において、セキュアＵＳＢライブラリ１１４及びそのセキュリティコマンドは、権限を有しないプログラム及びオペレーティングシステム１１２に対しては使用不可にされる。例えば、セキュアＵＳＢライブラリ１１４及びそのセキュリティコマンドは、ＵＳＢメモリデバイス１２０に記憶されたコンピュータセキュリティプログラムの動作をサポートするアプリケーションプログラム１１３に対してのみ使用可能にされる場合がある。
【００１８】
一実施形態において、部分１３２及び１３３は、セキュアＵＳＢライブラリからのセキュリティコマンドが、それらの部分への書き込みに使用される点で、メモリ記憶領域１２２の安全な部分である。一実施形態において、ＵＳＢコントローラ１２１は、セキュアＵＳＢライブラリ１１４からのセキュリティコマンドによって書き込み処理が要求された場合、永久的にライトプロテクトされた部分１３２がライトプロテクトされた状態にあるときであっても、永久的にライトプロテクトされた部分１３２への書き込み処理を許可する。例えば、セキュアＵＳＢライブラリ１１４は、永久的にライトプロテクトされた部分１３２にあるファイルに対する書き込み、変更、又は消去を行うためのセキュリティコマンドをＵＳＢコントローラ１２１に対して発行するＡＰＩを含む場合がある。ＵＳＢコントローラ１２１は、そのセキュリティコマンドを受信すると、それに応答し、永久的にライトプロテクトされた部分１３２がライトプロテクトされた状態にあるときであっても、永久的にライトプロテクトされた部分１３２に対する書き込みを許可する。しかしながら、オペレーティングシステム１１２又はそのコンポーネントが従来のアクセスコマンド（セキュリティコマンドではない）を使用して永久的にライトプロテクトされた部分１３２に対する書き込みを試みた場合、ＵＳＢコントローラ１２１は、永久的にライトプロテクトされた部分１３２がライトプロテクトされた状態にある旨を応答し、永久的にライトプロテクトされた部分１３２に対する書き込みの試みを遮断する。
【００１９】
図３は、本発明の他の実施形態によるＵＳＢメモリデバイス１２０のメモリ記憶領域１２２の例示的パーティションレイアウトを概略的に示している。図３の例において、メモリ記憶領域１２２は、２つの論理ドライブ、すなわち、論理ドライブ０、及び論理ドライブ１に分割されている。論理ドライブ０は、メモリ記憶領域１２２のライトプロテクト可能な部分１３１を含み、論理ドライブ１は、メモリ記憶領域１２２の永久的にライトプロテクトされた部分１３４、及び隠された部分１３５を含む。論理ドライブ０のライトプロテクト可能な部分１３１は、図２を参照して上で説明したものと同様である。
【００２０】
図３の例において、永久的にライトプロテクトされた部分１３４は、図２の永久的にライトプロテクトされた部分１３２と実質的に同じである。主な違いは、永久的にライトプロテクトされた部分１３２は、隠された部分１３５と同じ論理ドライブにあるのに対し、図２の永久的にライトプロテクトされた部分１３２と隠された部分１３３は、別個の論理ドライブにある点である。図２の例におけるそれらに対応する要素と同様に、永久的にライトプロテクトされた部分１３４及び隠された部分１３５は、メモリ記憶領域１２２の安全な部分である。
【００２１】
永久的にライトプロテクトされた部分１３４は、オペレーティングシステム１１２のファイルシステムを有する場合があり、オペレーティングシステム１１２によって、ライトプロテクトモード、すなわち、リードオンリーでアクセスすることが可能である。ＵＳＢコントローラ１２１は、対応するセキュリティコマンドを使用することなく行われた永久的にライトプロテクトされた部分１３４に対するいかなる書き込みの試みをも遮断する。オペレーティングシステム１１２はセキュアＵＳＢライブラリ１１４のセキュリティコマンドに対するアクセス権を有しないため、オペレーティングシステム１１２は、永久的にライトプロテクトされた部分１３４に記憶された種々のファイルに対し、読出し処理を実施することしか出来ない。隠された部分１３５は、オペレーティングシステム１１２にとって不可視であり、隠された部分１３５を読み出し、書込み又は他の処理のために、オペレーティングシステム１１２によってアクセスすることは出来ない。図２における対応する要素と同様に、隠された部分１３５は、セキュアＵＳＢライブラリ１１４により提供されるＡＰＩのような、ＵＳＢコントローラ１２１により認識可能な特殊なセキュリティコマンドによってのみアクセス可能である。
【００２２】
なお、図３のパーティションレイアウトにより提供されるものと類似したソリューションは、ライトプロテクトを有しない論理ドライブを１つだけ有する従来のＵＳＢメモリデバイスを使用して実現することも、安全性は低くなるが、可能である。その場合、ＵＳＢメモリデバイスのメモリ記憶領域の第１の部分は、オペレーティングシステムによって使用されるためにフォーマットされ、メモリ記憶領域の第２の部分は、未フォーマットのまま残される。第２の部分は、オペレーティングシステムのファイル入出力処理によってアクセスできない隠された部分として使用され、それによって、オペレーティングシステムのファイルマネージャ（例えば、ＷＩＮＤＯＷＳ（登録商標）ＥＸＰＬＯＲＥＲ）が隠された部分にアクセスすることを防止する。権限を有するアンチウイルスソフトウェアのような権限を有するプログラムは、オペレーティングシステムによりサポートされるセクタアクセスＡＰＩを使用して、隠された部分にアクセスすることが出来る。このソリューションは、ライトプロテクトを使用する他のソリューションほど安全ではないが、それでも、従来のＵＳＢメモリデバイスに比べて高いセキュリティを提供する。
【００２３】
図４は、本発明のさらに別の実施形態によるＵＳＢメモリデバイス１２０のメモリ記憶領域１２２の例示的パーティションレイアウトを概略的に示している。図４の例において、メモリ記憶領域１２２は、２つの論理ドライブ、すなわち、論理ドライブ０、及び論理ドライブ１に分割されている。論理ドライブ０は、メモリ記憶領域１２２のライトプロテククト可能な部分１３１を含み、論理ドライブ１は、メモリ記憶領域１２２の永久的にライトプロテクトされた部分１３６を含む。論理ドライブ０のライトプロテクト可能な部分１３１は、図２を参照して上で説明したものと同様である。図４の例では、メモリ記憶領域１２２は、隠された部分を有しない。
【００２４】
図４の例において、永久的にライトプロテクトされた部分１３６は、図２の永久的にライトプロテクトされた部分１２と同じ態様で動作する。図２の永久的にライトプロテクトされた部分１３２と同様に、永久的にライトプロテクトされた部分１３６は、メモリ記憶領域１２２の安全な部分である。
【００２５】
永久的にライトプロテクトされた部分１３６は、オペレーティングシステム１１２のファイルシステムを有する場合があり、オペレーティングシステム１１２によって、ライトプロテクトモード、すなわち、リードオンリーでアクセスすることが可能である。ＵＳＢコントローラ１２１は、対応するセキュリティコマンドを使用することなく行われた永久的にライトプロテクトされた部分１３６に対するいかなる書込みの試みをも阻止する。オペレーティングシステム１１２はセキュアＵＳＢライブラリ１１４のセキュリティコマンドに対するアクセス権を有しないため、オペレーティングシステム１１２は、永久的にライトプロテクトされた部分１３６に記憶されたファイルに対し、読出し処理を実施することしか出来ない（及び、書込み処理を実施することは出来ない）。
【００２６】
図４の例において、永久的にライトプロテクトされた部分１３６は、単一の大きなファイル１３７を含む。この大きなファイル１３７は、複数のファイルを含むアーカイブファイルであってもよい。例えば、大きなファイル１３７は、ｚｉｐファイルと類似した形で複数のファイルを管理するために使用される場合がある。複数のファイルを管理するための単一の大きなファイル１３７を有することにより、ファイルシステムについての管理コストは低減される。アプリケーションによっては、永久的にライトプロテクトされた部分１３６は、１以上の大きなファイル１３７を有する場合がある。
【００２７】
図５は、本発明の一実施形態によるＵＳＢメモリデバイス１２０のメモリ記憶領域１２２をアクセスする方法を概略的に示している。図５の例において、アプリケーションプログラム１１３は、セキュアＵＳＢライブラリ１１４と共にコンパイルされ、又はセキュアＵＳＢライブラリ１１４へのアクセス権を有している。アプリケーション１１３は、例えば、オペレーティングシステム１１２に付属しているＵＳＢメモリデバイス１２０（矢印２２１参照）をアクセスするためのＡＰＩ又は他のプログラムを使用し、オペレーティングシステム１１２を利用して、メモリ記憶領域１２２の永久的にライトプロテクトされた部分２３０に対して書込み処理の実施を試みる場合がある。この書込み処理は、図２〜図４に開示され上で説明された永久的にライトプロテクトされた部分と同じ永久的にライトプロテクトされた部分２３０にファイルを作成し、又はそこに記憶されたファイルを変更するためのアクセスコマンドの形を有する場合がある。このアクセスコマンドは、オペレーティングシステム１１２によって受信され、オペレーティングシステム１１２は、例えばＵＳＢメモリデバイス１２０（矢印２２２参照）のためのオペレーティングシステム１１２のドライバを利用して、そのアクセスコマンドをＵＳＢコントローラ１２１へ送信する。オペレーティングシステム１１２からのアクセスコマンドは、永久的にライトプロテクトされた部分２３０に対する書込みのための、ＵＳＢコントローラ１２１によって期待されるセキュリティコマンドを含まないため、ＵＳＢコントローラ１２１は、永久的にライトプロテクトされた部分２３０のライトプロテクトされた状態を強制し、永久的にライトプロテクトされた領域２３０に対する書込みを禁止する（バツ印が付された矢印２２３参照。バツ印は、書込み処理が阻止されたことを示している。）。
【００２８】
永久的にライトプロテクトされた部分２３０への書込みを可能にするために、アプリケーションプログラム１１３は、セキュアＵＳＢライブラリ１１４により提供されるセキュリティコマンドを使用する。セキュリティコマンドは、オペレーティングシステム１１２によって提供されるメモリ記憶領域１２２をアクセスするためのプログラムのライブラリの一部ではない。一実施形態において、セキュアＵＳＢライブラリ１１４のみが、セキュリティコマンドを含む。具体例として、アプリケーションプログラム１１３は、セキュリティコマンドを含む、セキュアＵＳＢライブラリ１１４のＡＰＩを発行する場合がある。セキュリティコマンドは、永久的にライトプロテクトされた部分２３０への書込みのために、ＵＳＢコントローラ１２１によって明確に認識される。アプリケーションプログラム１１３は、セキュリティコマンドを発行し、セキュリティコマンドは、ＵＳＢコントローラ１２１により受信される（矢印２３１）。ＵＳＢコントローラ１２１は、セキュリティコマンドを永久的にライトプロテクトされた部分２３０に対する書込みのための正規のコマンドとして認識し、従って、永久的にライトプロテクトされた部分２３０が依然としてライトプロテクトされた状態にあるときであっても、書込み処理を進めることを許可する（矢印２３２参照）。セキュリティコマンドは、オペレーティングシステム１１２によって提供されるメモリ記憶領域１２２をアクセスするためのＡＰＩを使用しないため、セキュリティコマンドは、オペレーティングシステム１１２によってキューイングされることはなく、セキュリティコマンドは、例えばコンピュータセキュリティプログラム動作に悪影響を及ぼすことがあるアクセス妨害手段又はアクセス制御手段を、有利にバイパスすることが出来る。
【００２９】
図５の例において、アプリケーションプログラム１１３は、セキュアＵＳＢライブラリ１１４からのセキュリティコマンドを使用して、永久的にライトプロテクトされた部分２３０に対する書込みを行う。なお、この手順は、メモリ記憶領域１２２の安全な隠された部分をアクセスする場合と類似している。その場合、セキュアＵＳＢライブラリ１１４からのセキュリティコマンドは、隠された部分に対する書込み、又は読出しのためのものである。ＵＳＢコントローラ１２１は、（矢印２３１に示すように）セキュリティコマンドを受信し、（矢印２３２に示すように）セキュリティコマンドに従って、隠された部分に対するアクセス要求、すなわち、読出し要求又は書込み要求を実施する。オペレーティングシステム１１２は、隠された部分を見ることさえ出来ないので、アプリケーションプログラム１１３は、オペレーティングシステム１１２を利用して隠された部分へのアクセスを実施することは出来ない。
【００３０】
図６は、本発明の他の実施形態によるＵＳＢメモリデバイス１２０のメモリ記憶領域１２２をアクセスする方法を概略的に示すフロー図である。図６の例において、ＵＳＢメモリデバイス１２０は、コンピュータ１００のコンピュータウイルスをスキャンするためのコンピュータセキュリティ装置としての働きをする。ＵＳＢメモリデバイス１２０は、アンチウイルスプログラム２５２を含み、アンチウイルスプログラム２５２は、メモリ記憶領域１２２の永久的にライトプロテクトされた部分に記憶されたスキャンエンジン、及びパターンファイルを含む。この永久的なライトプロテクトは、権限を有しないプログラムがスキャンエンジンやパターンファイルに変更を加えることを防止する。アンチウイルスプログラム２５２は、パターンマッチングアルゴリズムを使用して、コンピュータウイルスを検出する場合がある。一実施形態において、スキャンエンジンは、疑わしいファイルの中身をパターンファイルに記憶されたコンピュータウイルス署名と比較する。アンチウイルスサポートサーバコンピュータ２５０は、ＵＳＢメモリデバイス１２０のベンダーによって運用され、新たに発見されたコンピュータウイルスを検出するための更新されたパターンファイル、又は更新されたスキャンエンジンを含むアンチウイルス更新ファイル２５１を定期的に提供する（矢印２６１参照）。コンピュータ１００は、例えばインターネットを介してアンチウイルス更新ファイル２５１を受信する場合がある。
【００３１】
アプリケーションプログラム１１３は、ＵＳＢメモリデバイス１２０のコンピュータセキュリティコンポーネントの更新を行うように構成される場合がある。コンピュータ１００において、アプリケーションプログラム１１３は、メインメモリ１０８において実行され、アンチウイルス更新ファイル２５１の中身を受信する。永久的にライトプロテクトされた部分２３０はライトプロテクトされた状態にあるため、オペレーティングシステム１１２の従来のＡＰＩが、永久的にライトプロテクトされた部分２３０に書込み処理を実施することはない。従って、アプリケーションプログラム１１３は、セキュアＵＳＢライブラリ１１４を使用し、例えばセキュリティコマンドを発行するセキュアＵＳＢライブラリ１１４のＡＰＩを使用して、パターンファイル、スキャンエンジン、又はそれら両方をアンチウイルス更新ファイル２５１からの更新されたバージョンを用いて更新するためのセキュリティコマンドを送信する（矢印２６３参照）。ＵＳＢコントローラ１２１は、そのセキュリティコマンドを受信し、セキュリティコマンドを永久的にライトプロテクトされた部分２３０に書込み処理を実施するための正規のコマンドとして認識し、ライトプロテクトされた部分２３０をライトプロテクトされた状態に維持しながら、セキュリティコマンドに従って、パターンファイル、スキャンエンジン、又はそれら両方を更新する（矢印２６３参照）。理解されるように、それを行うために、オペレーティングシステム１１２のＡＰＩ又は他のプログラムを使用することなく永久的にライトプロテクトされた部分２３０へのアクセスを可能にすることにより、他のプログラムがアンチウイルスプログラム２５２を改ざんすることは有利に防止され、オペレーティングシステム１１２がアンチウイルスプログラム２５２と競合する自分のセキュリティポリシーに従ってＵＳＢメモリ記憶装置１２０へのアクセスをロックしているときであっても、永久的にライトプロテクトされた部分２３０へのアクセスが有利に可能となる。
【００３２】
本発明の種々の具体的実施形態を提供したが、これらの実施形態は、例示のためのものであり、制限のためのものではない。本開示を読むことにより、当業者には、多数の他の実施形態が明らかになるであろう。
【図１】
2014071887.tif 000003
【図２】
2014071887.tif 000004
【図３】
2014071887.tif 000005
【図４】
2014071887.tif 000006
【図５】
2014071887.tif 000007
【図６】
2014071887.tif 000008