(57)【要約】本開示の或る態様はファイルシステムの検証およびインストールに関する。ファイルシステムへの不認可の変更による侵害を受ける回路プラットフォームのためのセキュリティ違反を軽減する方法は、ファイルシステムを暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化する工程を含む。ファイルシステムは、オペレーティングシステムのための命令コードまたは他のデータを有し、回路プラットフォームによってまたは回路プラットフォームのために格納される。オペレーティングシステムの起動中に、ファイルシステムに関連付けられた署名を検証することで、オペレーティングシステムの非暗号化バージョンおよび暗号化ファイルにアクセスして使用し得る。署名の検証に応じてファイルシステムは一過性の非永続的記憶回路にインストールされる。このようにオペレーティングシステムは、検証された署名に基づく認可下でＣＰＵ回路を介して命令コードを実行する。
2022502769.tif 000002
【特許請求の範囲】
【請求項１】
ファイルシステムへの不認可の変更による侵害を受ける回路プラットフォームのためのセキュリティ違反を軽減する方法であって、
前記ファイルシステムは、オペレーティングシステムのためのデータを有し、前記回路プラットフォームによる使用のために格納されるものであり、
前記方法は、
前記ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化するステップと、
前記ファイルシステムに関連付けられ、前記暗号署名されたコンポーネントに関連する、署名を検証することによって、前記オペレーティングシステムの起動中に、前記オペレーティングシステムおよび前記暗号化ファイルの非暗号化バージョンにアクセスして使用するステップと、
前記署名を検証することに応じて、前記ファイルシステムを一過性の、非永続的記憶回路にインストールするステップと、
前記オペレーティングシステムが、前記署名が検証されたことに基づいて認可の下にＣＰＵ回路を介して命令コードを実行するステップと
を含む、方法。
【請求項２】
更に、エラー検出アルゴリズムおよび暗号化ハッシュ関数の少なくとも一つを使用して、前記ファイルシステムの整合性チェックを前記一過性の、非永続的記憶回路に実行させるステップを、含む
請求項１に記載の方法。
【請求項３】
前記一過性の、非永続的記憶回路は、前記オペレーティングシステムの後続のブートサイクル中に、不認可の変更をパージする
請求項１に記載の方法。
【請求項４】
前記一過性の、非永続的記憶回路に、前記ファイルシステムのログ構造部分を署名化および暗号化することによって、前記ファイルシステムを、前記暗号署名されたコンポーネントを伴う前記暗号化ファイルに抽象化させるステップを含み、
前記ログ構造部分は、前記回路プラットフォームのフラッシュメモリコンポーネントで使用するように構成および配置されている、
請求項１に記載の方法。
【請求項５】
ランタイムに、前記ファイルシステムの前記暗号署名されたコンポーネントを読み取り検証するバイナリアプリケーションを含むカーネルを、前記一過性の、非永続的な記憶回路にブートさせるステップを
含む、請求項１に記載の方法。
【請求項６】
前記バイナリアプリケーションは、デジタル署名アルゴリズムを実行することにより、前記ファイルシステムの前記暗号署名されたコンポーネントを読み取り検証する、
請求項５に記載の方法。
【請求項７】
前記一過性の、非永続的記憶回路に、前記ファイルシステム内のプロファイルファイルおよび構成ファイルへの変更を監視させるステップを
含む、請求項１に記載の方法。
【請求項８】
前記一過性の、非永続的記憶回路を、前記ファイルシステムの前記ログ構造部分のフラッシュファイルコンポーネントと同期させるステップを
含む、請求項７に記載の方法。
【請求項９】
前記署名を検証することに応じて、前記オペレーティングシステムに、完全に機能するオペレーティングシステムとして稼働するために追加モジュールで前記一過性の、非永続的記憶回路を更新させるステップを
含む、請求項１に記載の方法。
【請求項１０】
ファイルシステムを検証するシステムであって、
前記システムは、
ＣＰＵ回路を含むプロセッサと、および、
前記プロセッサによって実行されると、前記プロセッサに、
データを有するファイルシステムの起動時に、初期モジュールのセットがロードされた一過性の、非永続的記憶回路を起動することと、
前記ファイルシステムの署名を読み取って検証することと、
前記ファイルシステムの前記署名の検証に応答して、前記ファイルシステムのパッケージを前記一過性の、非永続的記憶回路にインストールすることと、
前記ファイルシステムの前記パッケージを暗号化することと、および、
前記ファイルシステムの前記パッケージのインストールに応答して、前記ファイルシステムの構成ファイルおよび実行状態ファイルを復号化してロードすることと
を実行させる命令を含む、メモリ回路と
を備える、システム。
【請求項１１】
前記プロセッサによって実行されると、前記プロセッサに、
楕円曲線デジタル署名アルゴリズムを使用して前記ファイルシステムの前記署名を読み取って検証すること
を実行させる命令を、更に含む、
請求項１０に記載のシステム。
【請求項１２】
前記プロセッサによって実行されると、前記プロセッサに、
ランタイム中に、前記ファイルシステムの前記ロード構成ファイルおよび実行状態ファイルを監視することと、および、
前記ロード構成ファイルまたは実行状態ファイルの変更の特定に応じて、前記暗号化されたファイルシステム上の変更によって更新された一つ以上のファイルを更新することと
を実行させる命令を、更に含む
請求項１０に記載のシステム。
【請求項１３】
前記プロセッサによって実行されると、前記プロセッサに、
前記ファイルシステムの前記パッケージのインストールに応じて、前記一過性の、非永続的記憶回路を更新して、完全に機能するオペレーティングシステムとして実行するために、ロードされた前記初期モジュールと組み合わせる追加モジュールを含めること
を実行させる命令を、更に含む
請求項１０に記載のシステム。
【請求項１４】
前記プロセッサによって実行されると、前記プロセッサに、
プライマリブートローダを使用して前記ファイルシステムを検証して起動することと、および、
前記プライマリブートローダを使用した前記ファイルシステムの検証および起動に応じて、前記一過性の、非永続的記憶回路にアクセスすることと
を行わせる命令を、更に含む
請求項１０に記載のシステム。
【請求項１５】
ファイルシステムへの不認可の変更による侵害を受ける回路プラットフォームのための  セキュリティ違反を軽減する命令を、格納する非一時的コンピュータ可読媒体であって、
前記ファイルシステムは、オペレーティングシステムのためのデータを有し、前記回路プラットフォームによる使用のために格納されており、
前記命令は、ＣＰＵ回路を含むプロセッサによって実行されると、前記プロセッサに、
前記ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化することと、
前記オペレーティングシステムの起動時に、初期モジュールのセットがロードされて前記オペレーティングシステムのカーネルを起動することと、
前記ファイルシステムの署名を読み取って検証することと、
前記ファイルシステムの検証に応じて、前記ファイルシステムのパッケージを一過性の、非永続的記憶回路にインストールすることと、
前記ファイルシステムの前記パッケージのインストールに応じて、前記ファイルシステムの前記パッケージを暗号化することと、及び、
前記ファイルシステムの前記パッケージのインストールに応じて、前記一過性の、非永続的記憶回路を更新して、前記オペレーティングシステムが完全に機能するオペレーティングシステムとして実行できるように追加モジュールを含めることと
を実行させる、
非一時的コンピュータ可読媒体。
【請求項１６】
前記プロセッサに、
プライマリブートローダを使用してカーネルを検証して起動することと、
前記カーネルの検証および起動に応じて、前記一過性の、非永続的記憶回路にアクセスすることと、および、
前記ファイルシステムのパッケージの前記インストールに応じて、前記オペレーティングシステムの構成ファイルおよび実行状態ファイルを復号化してロードすることと
を行わせる、命令を、更に含む、
請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記プロセッサに、
ランタイム中に、前記オペレーティングシステムの構成ファイルおよび実行状態ファイルのロードを監視することと、および、
前記ロード構成または実行状態ファイルの変化の特定に応じて、前記暗号化されたファイルシステムに関する変更による影響を受ける前記ロード構成または実行状態ファイルを更新することと
を行わせる、命令を、更に含む、
請求項１６に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記プロセッサに、
前記一過性の、非永続的記憶回路を使用して暗号化キーを生成することと、および、
前記生成された暗号化キーを使用して前記ファイルシステムを検証することと
を実行させる、命令を、更に含む、
請求項１７に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記プロセッサに、
前記ファイルシステムの前記パッケージのインストールに応じて、前記オペレーティングシステムの構成ファイルおよび実行状態ファイルを復号化してロードすること
を実行させる、命令を、更に含む、
請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記プロセッサに、
前記オペレーティングシステムの構成ファイルおよび実行状態ファイルを監視することと、および、
前記ロード構成ファイルまたは実行状態ファイルの変化の特定に応じて、前記暗号化されたファイルシステムに関する前記変更によって影響を受ける前記ロード構成ファイルまたは実行状態ファイルを更新することと
を実行させる、命令を、更に含む、
請求項１５に記載の非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
様々な実施形態の態様は、ファイルシステムの検証及びインストールに関する。
【背景技術】
【０００２】
プロセッサベースのシステムは、プロセッサベースのシステムに格納されたファームウェアを使用して起動してもよい。ブートアッププロセスは、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）ファームウェアを用いて実装されてもよい。時には、このファームウェアは、新しい機能や、新しいハードウェアおよびソフトウェアコンポーネントを含む他のバリエーションに対応するために更新する必要がある。
【０００３】
様々な例示の実施形態は、ファイルシステムの検証およびインストールに関して、上記で取り上げた問題、または以下の開示から明らかになり得るその他の問題に向けられている。配置されたコンピューティングデバイスの場合、コンピューティングデバイスのファイルシステムが侵害され、システムファイルが破損または変更される可能性があり、権限のない個人によって外部のソフトウェアまたはファームウェアがシステムに加えられる可能性があるという懸念が生じ得る。
【発明の概要】
【０００４】
本明細書に記載の様々な例示の実施形態は、ファイルシステムを暗号化されたコンポーネント及び暗号署名されたコンポーネントに抽象化することによって、そのようなファイルシステムの破損のリスクを軽減するためのシステム、装置、及び方法を含む。ランダムアクセスメモリ（ＲＡＭ）ベースの非永続的ファイルシステムなどの非永続的ファイルシステムを作成することができる。ファイルシステムの起動時には、ファイルシステムのオペレーティングシステム、ソフトウェア、ファームウェアは暗号化されておらず、暗号署名されたコンポーネントに用いられている署名を検証して、そのようなコンポーネントの真正性を検証することができる。検証後、オペレーティングシステム、ソフトウェア、及びファームウェアは、非永続的（例えば、ＲＡＭ）ファイルシステムにインストールされる。従って、本明細書に記載の様々な例示的な実施形態は、ファイルシステム上で稼働するファームウェアが認可されることを保証し、それらの実施形態は、ファイルシステム改ざんのリスクを軽減する。非永続的ベースのファイルシステムは、その一過性かつ非永続的な性質のため、不注意に又は密かに追加されたファイルが次のブートサイクル中にパージされることを保証することができる。
【０００５】
本開示の例示の実施形態によれば、ファイルシステムへの不認可の変更によって侵害を受ける回路プラットフォームのためのセキュリティ違反は、ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化することによって軽減され得る。ファイルシステムには、オペレーティングシステムのための命令コードなどのデータが含まれている。オペレーティングシステムの起動中に、ファイルシステムに関連付けられ、特に、署名が、署名されたコンポーネントに署名するために使用されたという点で、署名されたコンポーネントに相対する（すなわち、関連する）署名を検証することによって、オペレーティングシステムの非暗号化バージョンにアクセスして使用することができる。署名の検証に応じて、ファイルシステムは、一過性の、非永続的記憶回路にインストールされ得る。このように、オペレーティングシステムは、検証された署名を介した（即ち、署名に基づく）認可の下で、ＣＰＵ回路を介して命令コードを実行し得る。言い換えれば、署名の検証は、オペレーティングシステムが命令コードを実行することを認可し得る。
【０００６】
より具体的な例示の実施形態において、ファイルシステムを検証するためのシステムは、ＣＰＵ回路を含むプロセッサを含み、メモリ回路をさらに含む。そのような例示の実施形態では、メモリ回路は、プロセッサによって実行されると、プロセッサに、命令コードまたは他のデータを有するファイルシステムの起動中に、最小限（例えば、完全に機能するオペレーティングシステムに必要な数よりも少ない数）のモジュールがロードされた一過性の、非永続的な記憶回路を起動させる命令を含む。一過性の、非永続的な記憶回路が起動すると、プロセッサは、ファイルシステムの署名を読み取って検証するために、メモリ回路に格納された命令を実行し得る。ファイルシステムの検証（即ち、ファイルシステムの署名の検証）に応じて、プロセッサは、ファイルシステムのパッケージを一過性の、非永続的記憶回路にインストールし、ファイルシステムのパッケージは暗号化される。ファイルシステムのパッケージのインストールに応じて、ファイルシステムの構成ファイルおよび実行状態ファイルが復号化され、ロードされる。
【０００７】
別の具体的な例示の実施形態では、ファイルシステムへの不認可の変更によって侵害を受ける回路プラットフォームのセキュリティ違反は、ＣＰＵ回路を含む、プロセッサによって実行可能な命令を格納する非一時的コンピュータ可読媒体によって軽減され得る。そのような例示の実施形態では、ファイルシステムは、オペレーティングシステムのための命令コードまたは他のデータを含み、回路プラットフォームによってまたは回路プラットフォームに代わって格納される。命令は、プロセッサによって実行されると、プロセッサに、ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化させる。オペレーティングシステムの起動時に、命令は、プロセッサに、最小限のモジュール（例えば、完全に機能するオペレーティングシステムに必要な数よりも少ないモジュール）をロードした状態でオペレーティングシステムのカーネルを起動させ、ファイルシステムの署名を読み取って検証させる。ファイルシステムの検証に応じて、命令は、プロセッサに、ファイルシステムのパッケージを一過性の、非永続的記憶回路にインストールさせ、インストールに応じてファイルシステムのパッケージを暗号化させる。ファイルシステムのパッケージのインストールに応じて、命令は、プロセッサに、完全に機能するオペレーティングシステムとして稼働するための追加のモジュールを含むように、一過性の、非永続的記憶回路を更新させる。
【０００８】
上記の説明は、本開示の各実施形態またはすべての実装を記載することを意図していない。後続の図および発明の詳細な説明も、様々な実施形態を例示するものでもある。
【図面の簡単な説明】
【０００９】
様々な例示の実施形態は、添付の図面に関連する以下の詳細な説明を考慮して、より完全に理解することができる。
【図１】図１は、本開示に係る、ファイルシステムの検証及びインストールのための例示的な方法を示すフローチャートである。
【図２Ａ】図２Ａは、本開示に係る、ファイルシステムの検証及びインストールのための例示的な方法を示すフローチャートの一部である。
【図２Ｂ】図２Ｂは、本開示に係る、ファイルシステムの検証及びインストールのための例示的な方法を示すフローチャートの別の部分である。
【図３】図３は、本開示に係る、ファイルシステムの検証及びインストールのための例示的なシステムを示すブロック図である。
【発明を実施するための形態】
【００１０】
本明細書で説明される様々な実施形態は、修正及び代替形態に変更可能であるが、その態様は図面に例として示されており、詳細に説明されるであろう。しかしながら、本開示を、記載された特定の実施形態に限定することが、意図されるものではないことを理解すべきである。逆に、特許請求の範囲で定義される態様を含む、本開示の範囲内に入るすべての変更、等価物、及び代替物をカバーすることが、意図されている。更に、本開示で使用されている「例」という用語は、説明のためのものであって、限定のためのものではない。
【００１１】
遠隔地から送信されるメディアコンテンツに不認可でアクセスする一つの方法は、ケーブルモデムなど、メディアコンテンツに遠隔でアクセスするのに使用されるデバイスの、ファームウェアやソフトウェアを置換することである。これは、開発用または診断用のバックドアを見つけるか、ファームウェア若しくはソフトウェアイメージを格納する不揮発性メモリチップを置換若しくはリプログラムすることによって、行われる。リモートプロビジョニングでは、マルチシステムオペレータ（ＭＳＯ）からのダウンロードなど、アップデートや他の目的でファームウェアを安全にダウンロードする方法が利用可能であるが、通常、ファームウェアやソフトウェアのインテグリティはインストール後にチェックされない。そのため、ハッカがシステムにインストールされたファームウェアを不認可のコードで置換することが可能であり、それによってハッカは侵害されたシステムの動作を制御することができる。
【００１２】
様々なタイプのメディア配信システムや電力管理システムは、ハッカがシステムにインストールされたファームウェアを不認可のコードで置換するという、この脅威に直面する可能性がある。例えば、ハッカは、インターネットプロトコルテレビ（ＩＰＴＶ）システムからメディアコンテンツにアクセスするために使用されるデバイスのファームウェア若しくはソフトウェアを置換することも可能であり、更に他のタイプのメディア配信システムや電力管理システムも同様である。配置されたコンピューティングデバイスの場合、コンピューティングデバイスのファイルシステムが侵害され、システムファイルが破損したり、その他の方法で変更されたりする可能性があり、また、権限のない個人によって、外部のソフトウェアやファームウェアが追加される可能性もある。このような破損したコード、変更されたコード、若しくは外部のコードは、コンピューティングデバイスの動作を変更したり、その他の方法でコンピューティングデバイスの不適切な動作を引き起こしたり、する可能性がある。したがって、そのような不正アクセスを防止若しくは低減することができる解決策を提供することが望ましい。
【００１３】
本開示の態様は、ファイルシステムの検証およびインストールを含む様々な異なるタイプの装置、システム、および方法に適用できると考えられる。或る実装では、本開示の態様は、権限のない個人によってコンピューティングデバイスのファイルシステムに追加された、破損および／または変更された、異質なソフトウェアおよび／またはファームウェアから、配置されたコンピューティングデバイスへの危害のリスクを軽減するという文脈で用いられると有益であることが示されている。必ずしもそのように限定されるものではないが、例示的な文脈を使用する非限定的な例の以下の説明を通じて、様々な態様を理解することができる。
【００１４】
インターネットなどのネットワーク上で利用できるアプリケーションやサービスが増えていることから、クラウドコンピューティングなどの技術を利用するコンテンツ、アプリケーション、および／またはサービスプロバイダが増えている。クラウドコンピューティングは、一般的に、Ｗｅｂサービスなどのサービスを通じて電子リソースへのアクセスを提供するアプローチであり、それらサービスをサポートするのに用いられるハードウェアおよび／またはソフトウェアは、任意の時点でのサービスのニーズを満たすように動的に拡張可能である。ユーザまたはカスタマは通常、クラウドを介するリソースへのアクセスに対してレンタル、リース、若しくはその他の方法で支払うことになるため、必要なハードウェアおよび／またはソフトウェアを購入および維持する必要はない。
【００１５】
場合によっては、ユーザは特別なハードウェアや、特定のハードウェアリソースへのフルアクセスを、望むことがある。このようなアクセスは、それらのリソースのプロバイダにとってリスクを伴うが、クラウドまたは他の共有環境では、通常、様々な時間にそれらのリソースを共有する他のユーザが存在し、一人のユーザによるリソースの変更は、潜在的に後続のユーザに悪影響を及ぼす可能性があるためである。或るユーザが、悪意のあるコードを注入するためにファームウェアを変更するなど、他のユーザに影響を与えるような不適切な方法でハードウェア構成、ファームウェア、ソフトウェアを変更しないように保証することが有用である。
【００１６】
配置されたプロダクツの場合、プラットフォームが侵害され、システムファイルが破損および／または変更される可能性があり、また、不正な行為者によって異質なソフトウェアおよび／またはファームウェアがシステムに加えられる可能性がある、というセキュリティ上の懸念がある。このようなリスクを軽減するためのソリューションとして、スタティックドライブにインストールされたファイルをスキャンし、インストール後にファイルが変更されていないことを検証する方法がある。不一致が検出された場合、ファームウェアが再インストールされる。また、各ファイルをスキャンしてハッシュ若しくはチェックサムを生成し、そのハッシュ若しくはチェックサムをセキュリティで保護されたハッシュ若しくはチェックサムのファイルとクロスリファレンスする方法もある。これらの方法はいずれも非常に時間がかかり、起動時間が大幅に長くなる可能性がある。更に、このようなソリューションでは、ハッシュのテーブルを安全に管理しなければならず、実装が複雑になり、ファイルのフレキシビリティも最小限に抑えられる。更に、そのようなソリューションでは、オペレーティングシステム内に配置される不正なアドオンファイルを識別することができず、それらアドオンファイルは通常、再起動を超えて持続することとなる。
【００１７】
本開示の様々な実施形態によれば、配置されたデバイス上のファイルシステムは、不認可のファイルシステムの改変から保護され得る。本明細書に記載のように、そのようなリスクを軽減するために、まず、ファイルシステムは、暗号化および暗号署名されたコンポーネントに抽象化され得る。次に、このような例示の実施形態に従って、非永続的ＲＡＭベースのファイルシステムが作成される。起動時には、システムのオペレーティングシステム、ソフトウェア、およびファームウェアの暗号化が解除され、署名が検証される。検証後、オペレーティングシステム、ソフトウェア、ファームウェアは、ＲＡＭファイルシステムにインストールされる。これにより、シングルボード上で稼働するファームウェアが確実に認可され、ファイルシステムが改ざんのリスクが軽減される。また、ＲＡＭベースのファイルシステムでは、誤って追加されるファイルや密かに追加されるファイルは、次のブートサイクルで確実に消去される。
【００１８】
本開示の例は、遠隔して配置されたシステムのように、再起動のたびに元のコードを検証して再インストールすることが有利であるアプリケーションに関して、用いることができる。更に、本開示の例では、ブート時のパフォーマンスの向上に加えて、セキュリティポテンシャルの追加のレイヤを提供する。変更または追加されるファイルは、次のシステムリセット若しくはブートサイクル中に、リフレッシュ（例えば、クリーニング）され、異質なファイルはパージされる。
【００１９】
本開示の実施形態は、起動時に各ファイルを介してスキャンするためのリソースの使用を最小限にし、システムレベルの命令がファイルシステム上で常時暗号化されたままであることを可能にし、（フラッシュをボードから抽出し、外部フラッシュリーダで読み取ることなど）物理的な攻撃ベクトルからシステムを保護する。更に、本開示の実施形態では、ブート時のパフォーマンス向上を実現し、システムリブート時に不正なファイルを自動的にパージする。
【００２０】
したがって、以下の説明では、本明細書に提示の特定の例を説明する様々な具体的詳細が示される。しかしながら、当業者にとっては、以下に示すすべての具体的詳細がなくても、一つ以上の他の実施例および／またはこれらの実施例の変形を、実施することができることが明らかである。他の例では、周知の特徴は詳細には説明していない。本明細書の実施例の説明を分かり難くしないためである。図示を容易にするために、同じ参照数字を異なる図で使用して、同じ要素若しくは同じ要素の追加のインスタンスを参照することができる。また、態様および特徴は、場合によっては、個々の図で説明されることがあるが、組み合わせが明示的に示されていなくても、または組み合わせとして明示的に説明されていなくても、一つの図若しくは実施形態からの特徴は、別の図若しくは実施形態の特徴と組み合わせることができることが理解される。
【００２１】
様々な例示の実施形態に従って、ファイルシステムへの不認可の変更による侵害を受けるコンピューティングデバイスなどの回路プラットフォームに対するセキュリティ違反を軽減する方法は、ファイルシステムを、暗号署名されたコンポーネントによる暗号化ファイルに、抽象化することを、含む。本明細書で説明するように、ファイルシステムは、オペレーティングシステムの命令コード若しくは他のデータを有してもよく、ファイルシステムは、回路プラットフォームが使用するために、回路プラットフォームによって若しくは回路プラットフォームに代わって、保存される。オペレーティングシステムのブート時には、ファイルシステムに関連付けられた署名を検証することにより、署名付きコンポーネントに関連した、暗号化されていないバージョンのオペレーティングシステムにアクセスして使用することができる。署名を検証することに応答して、ファイルシステムは、ＲＡＭベースの記憶回路などの一過性の、非永続的記憶回路にインストールされ得る。したがって、オペレーティングシステムは、検証された署名を介する認可の下で、ＣＰＵ回路を介して命令コードを実行してもよい。
【００２２】
幾つかの例示の実施形態では、一過性の、非永続的記憶回路は、エラー検出アルゴリズムおよび暗号化ハッシュ関数のうちの一つを用いて、ファイルシステムの整合性チェックを実行し得る。例示的かつ非限定的な整合性チェック処理には、例えば、ＣＲＣ３２、ＳＨＡ−１、およびＭＤ５ＳＵＭが含まれる。ＣＲＣ３２は、ＣＲＣ３２アルゴリズムを使用してソースデータとターゲットデータの間の変更を検出するエラー検出機能を指し、若しくは含む。ＣＲＣ３２は、可変長の文字列を、３２ビットのバイナリ列の１６進法の値をテキストで表現した８文字の文字列に変換する機能である。同様に、ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）とは、インプットを受けてメッセージダイジェストと呼ばれる１６０ビット（２０バイト）のハッシュ値（４０桁の１６進数）を生成する暗号化ハッシュ関数のことを指し、若しくは含む。更に、ＭＤ５ＳＵＭとは、１２８ビットのＭＤ５ハッシュを計算及び検証するコンピュータプログラムを指す、若しくは含む。ＭＤ５ハッシュは、ファイルのコンパクトなデジタルフィンガプリントとして機能し、ファイルが変更されると、ＭＤ５ハッシュも変更される。
【００２３】
一過性の、非永続的（例えば、ＲＡＭベースの）記憶回路は、ファイルシステムのログ構造部分など、ファイルシステムの一部分を署名化および暗号化することによって、暗号的に署名されたコンポーネントを伴う暗号化ファイルにファイルシステムを抽象化することができ、その一部分は、回路プラットフォームのフラッシュメモリコンポーネントで使用するように構成および配置される。このようなログ構造の例としては、Ｊｏｕｒｎａｌｉｎｇ  Ｆｌａｓｈ  Ｆｉｌｅ  Ｓｙｓｔｅｍ  ｖｅｒｓｉｏｎ  ２（ＪＦＦＳ２）ファイルシステムブロブがある。本明細書では、ＪＦＦＳ２は、フラッシュメモリデバイスで使用するためのログ構造のファイルシステムを指し、若しくは含む。ファイルシステムが一過性の、非永続的記憶回路に実装されていることに起因して（すなわち、ＲＡＭベースであることに起因して）、ファイルシステムの一実施形態は、不認可の変更によって損なわれる、ファイル、若しくは、コードなどの他のデータが、オペレーティングシステムの後続のブートサイクル中にパージされることを保証する。
【００２４】
様々な例示の実施形態において、一過性の、非永続的記憶回路は、ファームウェアパッケージの署名を読み取って検証するバイナリアプリケーションを含むカーネルを、ランタイムにブートするように構成および配置される。このような実施形態では、バイナリアプリケーションは、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）などの、デジタル署名アルゴリズムを実行することによって、ファームウェアパッケージの署名を読み取って検証する。署名を検証することに応答して、ＣＰＵは、完全に機能するオペレーティングシステムとして実行するために、追加のモジュールで一過性の、非永続的記憶回路を更新する。
【００２５】
ファイルシステムパッケージがインストールされてオペレーティングシステムが起動すると、一過性の、非永続的記憶回路は、ファイルシステムのログ構造部分（例えば、ＪＦＦＳ２ ｂｌｏｂ）を使用して、ファイルシステム内のプロファイルおよび構成ファイルへの変更を監視し得る。このように、一過性の、非永続的記憶回路は、ファイルシステムのログ構造部分のフラッシュファイルコンポーネントに同期するように、構成および配置される。
【００２６】
追加の例示の実施形態は、ファイルシステムを検証するためのシステムに向けられており、システムは、ＣＰＵ回路を伴うプロセッサを含み、システムは、プロセッサによって実行されると、プロセッサに多数の機能を実行させる命令を有するメモリ回路を更に含む。例えば、メモリ回路は、命令コード若しくは他のデータを有するファイルシステムのブート時に、プロセッサに、最小数のモジュールがロードされた一過性の、非永続的（例えば、ＲＡＭベースの）記憶回路をブートさせる命令を含み得る。幾つかの実施形態では、ファイルシステムは、プライマリブートローダを使用して検証および起動され、一過性の、非永続的記憶回路は、プライマリブートローダを使用したファイルシステムの検証および起動に応答してアクセスされる。メモリ回路は、プロセッサに、ファイルシステムの署名を読み取って検証させ、更に、ファイルシステムの検証に応答して、ファイルシステムのパッケージを一過性の、非永続的記憶回路にインストールさせる命令を含み得る。ファイルシステムのパッケージのインストールに応答して、プロセッサは、完全に機能するオペレーティングシステムとして稼働するための追加のモジュールを含むように、一過性の、非永続的記憶回路を更新する。更に、メモリ回路は、プロセッサに、ファイルシステムのパッケージを暗号化させ、ファイルシステムのパッケージのインストールに応答して、ファイルシステムの構成ファイルおよび実行状態ファイルを復号化させロードさせる命令を、含み得る。
【００２７】
幾つかの例示の実施形態では、メモリ回路は、プロセッサによって実行されると、プロセッサに、ランタイム中にファイルシステムのロード構成および実行状態ファイルを監視させる命令を含む。ロード構成若しくは実行状態ファイルにおける変更の識別に応答して、メモリ回路は、暗号化ファイルシステム上の変更されたファイルを更新するようにプロセッサに指示し得る。
【００２８】
図に目を向けると、図１は、本開示に係る、ファイルシステムの検証およびインストールのための例示の方法を示すフローチャートである。図１に示されているように、本方法は、１０１において、ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化することで始まる。本明細書で説明するように、一過性の、非永続的（例えば、ＲＡＭベースの）記憶回路は、１０９にて、（ＪＦＦＳ２ファイルシステムブロブなどの）回路プラットフォームのフラッシュメモリコンポーネントで使用するように構成および配置された、ファイルシステムのログ構造部分を署名化および暗号化することによって、ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化し得る。
【００２９】
１０３において、本方法は、ファイルシステムに関連する、署名されたコンポーネントに関する、署名を検証することを含む。例えば、一過性の、非永続的記憶回路は、ファームウェアパッケージの署名を読み取って検証するためのバイナリアプリケーションを含むカーネルをランタイムにブートし得る。そのような実施形態では、バイナリアプリケーションは、楕円曲線デジタル署名アルゴリズム（ＥＣＤＳＡ）などの、デジタル署名アルゴリズムを実行することによって、ファームウェアパッケージの署名を読み取り、検証する（すなわち、署名されたコンポーネントの署名を検証する）。１０５において、本方法は、ファイルシステムを一過性の、非永続的記憶回路にインストールすることを含み、１０７において、検証された署名を介して認可の下で命令コードが実行される。幾つかの例示の実施形態では、本方法は、１１３において、一過性の、非永続的記憶回路を、ファイルシステムのログ構造部分のフラッシュファイルコンポーネントに同期させることを含む。
【００３０】
図２Ａは、本開示に係る、ファイルシステムの検証およびインストールのための例示の方法を示すフローチャートの一部である。２２０において、本方法は、（ブートローダとも呼ばれる）ブートストラップローダなどによる、ブートストラップ命令の実行を含む。コンピューティングにおいて、ブートストラップローダは、マシンの起動時に実行されるコードの最初の部分を指し、若しくは含み、オペレーティングシステムの残りの部分のロードを担当する。ブートストラップ命令は、読み取り専用メモリ（ＲＯＭ）に格納され得る。（「Ｕｎｉｖｅｒｓａｌ  Ｂｏｏｔ  Ｌｏａｄｅｒ」またはＵ−Ｂｏｏｔとも呼ばれる）Ｄａｓ  Ｕ−Ｂｏｏｔは、デバイスのオペレーティングシステムのカーネルを起動する命令をパッケージ化するための、組み込みデバイスで使用されるオープンソースのプライマリブートローダを指し、幾つかの実施形態では、Ｕ−Ｂｏｏｔが、本明細書に記載のブートローダとして用いられる。しかしながら、代替のブートローダを用いてもよいことは理解されるであろう。従って、本明細書にてＵ−Ｂｏｏｔの使用について言及しているのは、説明のために過ぎない。カーネルは、最小限のモジュールがロードされた状態で起動する。例えば、カーネルにロードされるモジュールは、ファイルシステムの残りの部分を後でインストールするためのパッケージを読み取って処理するのに必要なものだけであってもよい。最小限のモジュールに含まれるモジュールは、例えば、フラッシュドライバや暗号化機能を含み得る。２２２にて、Ｕ−ｂｏｏｔ環境命令が実行される。Ｕ−ｂｏｏｔ環境とは、幾つかの構成パラメータを格納するためのフラッシュストレージ上のＵ−ｂｏｏｔが使用する少量のスペースを指し、若しくはそれを含む。Ｕ−ｂｏｏｔ環境は、ＴＦＴＰクライアント（Ｕ−Ｂｏｏｔの一部）が接続しようとするＴＦＴＰサーバのＩＰアドレスを含む値を含む。
【００３１】
２２４では、一連の命令が実行される。より具体的には、例えば、Ｕ−ｂｏｏｔフラット化イメージツリー（ＦＩＴ）イメージの命令セット（例えば、ブロブ）が実行される。ＦＩＴイメージフォーマットは、デバイスツリーのようなツリー構造として動作し、イメージソースファイル（．ｉｔｓ）とデータファイルのセットがインプットとして使用され、イメージツリーブロブ（．ｉｔｂ）がアウトプットとして生成される。幾つかの実施形態では、Ｕ−ｂｏｏｔ−ＦＩＴイメージブロブは、２２６でのカーネルの実行と、２２８でのＲＡＭＤｉｓｋ  Ｌｅｍｐｅｌ−Ｚｉｖ−Ｍａｒｋｏｖチェーンアルゴリズム（ＬＺＭＡ）圧縮ファイルの実行とを含む。本明細書で用いられるように、ＬＺＭＡは、可逆的データ圧縮を行うために使用されるアルゴリズムを指し、若しくは含む。ＬＺＭＡは、辞書圧縮スキームを使用し、他の圧縮アルゴリズムと同様の解凍速度を維持しつつ、高い圧縮率と可変の圧縮辞書サイズ（最大４ＧＢ）を特徴とする。本明細書に記載の実施形態は、ＲＡＭＤｉｓｋの使用に限定されるものではなく、寧ろ、追加的にまたは代替的に、システムメモリをディスクドライブとして利用する別の技術を使用し得ることが理解されるであろう。同様に、本明細書に記載の実施形態は、ＬＺＭＡ連鎖アルゴリズムに限定されず、寧ろ、ＬＺＭＡアルゴリズム対して、追加的にまたは代替的に、他の圧縮アルゴリズムを使用し得ることが理解されるであろう。
【００３２】
２２４では、様々な整合性チェックプロセスが実行され得る。例えば、ＣＲＣ３２、ＳＨＡ−１、およびＭＤ５ＳＵＭなどである。ＣＲＣ３２は、ソースデータとターゲットデータの間の変化を検出するためにＣＲＣ３２アルゴリズムを使用するエラー検出機能を参照し、または含む。ＣＲＣ３２関数は、可変長の文字列を、３２ビットの２進数の１６進数の値をテキストで表現した８文字の文字列に変換する。ＳＨＡ−１（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ  １）とは、インプットを受けてメッセージダイジェストと呼ばれる１６０ビット（２０バイト）のハッシュ値を生成する暗号化ハッシュ関数を指し、または含み、通常、４０桁の、１６進数で表示される。ＭＤ５ＳＵＭは、ＲＦＣ１３２１に記載の、１２８ビットのＭＤ５ハッシュを計算・検証するコンピュータプログラムを指し、または含む。ＭＤ５ハッシュは、ファイルのコンパクトなデジタルフィンガプリントとして機能し、ファイルに変更を加えるとＭＤ５ハッシュが変化するため、ＭＤ５ＳＵＭはファイルの完全性を検証するために使用される。
【００３３】
２３０では、ＪＦＦＳ２ファイルシステムブロブが実行される。ＪＦＦＳ２ファイルシステムブロブは、フラッシュメモリデバイスで使用するためのログ構造のファイルシステム命令のセットを指し、または含む。２３０では、本明細書で説明するように、ファイルシステムの構成データ２３４だけでなく、オペレーティングシステム、ソフトウェア、ファームウェアを含み得る一つ以上のパッケージ２３２が署名されて暗号化される。例えば、パッケージ２３２は、Ｌａｎｄｉｓ＋Ｇｙｒ  Ｐａｃｋａｇｅｓ  （署名化）（ＬＧＰＳ）または他の署名技術を使用して署名される。署名化および暗号化されたファイルは、図２Ｂに関して説明したように、ファイルモニタと同期化される。
【００３４】
図２Ｂは、本開示に係る、ファイルシステムの検証およびインストールのための例示の方法を示すフローチャートの別の部分である。図２Ａに関して図示および説明したように、署名化されたファイルおよび暗号化されたファイルは、ファイルモニタと同期化される。図２Ｂに図示されるように、本方法は、２３６において、コンピューティングデバイスの電源投入で継続される。２３８では、ブートストラップ命令（例えば、Ｕ−ｂｏｏｔ）が、最小限のモジュールをロードした状態でカーネルを検証し、起動する。２４０では、カーネルが一過性の、非永続的記憶回路（例えば、ＲＡＭＤｉｓｋ）にアクセスする。２４２では、暗号化キーが生成され、２４４では、パッケージ２３２が読み取られて検証される。本明細書で説明するように、このＲＡＭＤｉｓｋの一部であるバイナリアプリケーションは、ファイルシステムパッケージの署名を読み取って検証するためにＥＣＤＳＡを利用し得る。署名が検証されると、ファイルシステムパッケージは、２４６でＲＡＭＤｉｓｋ２５２に一つずつインストールされ、これによりファイルシステムの整合性が保証される。
【００３５】
ファイルシステムパッケージをインストールするプロセスで、カーネルは、２５０において、カーネルが、完全に機能するオペレーティングシステムとして稼働できるように、追加モジュールを含むべく更新される。追加モジュールは、例えば、ネットワークおよび通信モジュール、ならびにオペレーティングシステムを提供するために必要な他のモジュールを、含み得る。インストールされたファイルシステムが起動すると、ファイルシステムは、２４８で、設定ファイルと実行状態ファイルが利用可能であれば、それらを復号化してロードする。アプリケーションが実行されている間、ファイルモニタは、２５４にて、構成ファイルと実行状態ファイルを監視し得る。これらのファイルが変更された場合、ファイルは暗号化されたファイルシステム上で更新され、システムの再起動後も最新の状態を維持し、永続性を保持する。このメカニズムは、再起動サイクルに渡って、変更可能なファイルの永続性を提供し、それによって、標準的なファイルシステムの感触を与え、一方で、ファイルの検証および整合性チェックを提供する。
【００３６】
図３は、本開示に係る、ファイルシステムの検証およびインストールのための例示のシステムを示すブロック図である。本システムは、コンピュータシステム（例えば、一つ以上のクラウドコンピューティングシステム、グリッドコンピューティングシステム、仮想化コンピュータシステム、メインフレームコンピュータ、サーバ、クライアント、ノード、デスクトップ、スマートフォン、携帯電話、タブレット、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）などのモバイルデバイス、組み込みコンピュータ、専用コンピュータ、ＳＯＣ（ｓｙｓｔｅｍ  ｏｎ  ａ  ｃｈｉｐ））を介して、ファイルシステムの検証およびインストールを促進する。例えば、システムは、（プログラムデータおよびプログラム命令を含む）データを受信し、取得し、集約し、処理し、生成し、保存し、取得し、統合し、生成し、格納し、検索し、送信し、削除し、入力し、出力し、および／または同様のことを行い得、プログラム命令を実行し得、コンピュータシステム、ノード、ユーザ、および／または同様のものと通信し得る。様々な実施形態において、システムは、スタンドアロンコンピュータシステム、分散型コンピュータシステム、コンピュータネットワーク（すなわち、トポロジーで編成されたコンピュータシステムのネットワーク）のノード、および／または同様のものを含み得る。システムおよび／または様々なシステム要素（例えば、プロセッサ、システムバス、メモリ、入力／出力デバイス）は、本開示に係るファイルシステムを検証およびインストールするために、任意の数の方法で（すなわち、コンピュータシステム、コンピュータネットワーク、ノード、システム要素、および／または同様のものの、任意の数および構成を使用して）、編成され得ることを理解されたい。
【００３７】
システムは、プログラム命令（例えば、システムプログラム命令）を実行するプロセッサ２０１を含む。プロセッサは、集積回路（ＩＣ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、および／または同様のものを使用して実装され得る。プロセッサは、システムバス２０３を介してシステムメモリ２０５に接続し得る。システムバスは、システムのこれらの要素および／または他の要素を、電気、電子、光学、無線などの通信リンクを介して、相互に接続し得る。様々な実施形態において、システムバスは、一つ以上の制御バス、アドレスバス、データバス、メモリバス、周辺バス、および／または同様のものを含み得る。プロセッサは、プロセッサによって実行されるプログラム命令に従って、システムメモリへのアクセス、読み出し、書き込み、格納、消去、変更などを行い得る。システムメモリは、プロセッサによるデータのアクセス、格納、検索、修正、削除などを容易にすることができる。
【００３８】
様々な実施形態において、インプット／アウトプットデバイス２１０は、システムバスを介して、プロセッサに、および／またはシステムメモリに、および／または互いに接続され得る。幾つかの実施形態では、インプット／アウトプットデバイスは、一つ以上のグラフィックデバイス２１１を含み得る。プロセッサは、プロセッサによって実行されるプログラム命令（例えば、システムプログラム命令）に従って、一つ以上のグラフィックデバイスを利用し得る。グラフィックデバイスは、目立たないもの、外付けのもの、組み込みのもの、ＣＰＵに統合されたもの、および／またはそのようなものであればよい。グラフィックデバイスは、改良された能力、データスループット、色深度などを提供するために、他のグラフィックデバイスと組み合わせて（例えば、並行して）動作し得る。
【００３９】
幾つかの実施形態では、インプット／アウトプットデバイスは、一つ以上のオーディオデバイス２１３を含み得る。プロセッサは、プロセッサによって実行されるプログラム命令（例えば、システムプログラム命令）に従って、一つ以上のオーディオデバイスを利用し得る。或る実施形態では、オーディオデバイスは、オーディオデータ（例えば、システムデータ）を、（例えば、接続されたマイクロフォンを介して）取得する、処理する、（例えば、接続されたスピーカを介して）出力する、および／または、同様の動作を為し得るサウンドカードであってもよい。オーディオデバイスは、目立たないもの、外付けのもの、組み込みのもの、マザーボードに統合されたもの、および／またそのようなものであればよい。オーディオデバイスは、改良された能力、データスループット、オーディオ品質などを提供するために、他のオーディオデバイスと組み合わせて（例えば、並行して）動作し得る。
【００４０】
幾つかの実施形態では、インプット／アウトプットデバイスは、一つ以上のネットワークデバイス２１５を含み得る。プロセッサは、プロセッサによって実行されるプログラム命令（例えば、システムプログラム命令）に従って、一つ以上のネットワークデバイスを利用し得る。或る実装形態では、ネットワークデバイスは、ネットワークデータ（例えば、システムデータ）を、取得する、処理する、出力する、および／または、同様の動作を為し得るネットワークカードであってもよい。ネットワークデバイスは、目立たないもの、外付けのもの、組み込みのもの、マザーボードに統合されたもの、および／またはそのようなものであればよい。ネットワークデバイスは、改良されたデータスループット、冗長性などを提供するために、他のネットワークデバイスと組み合わせて（例えば、並列して）動作し得る。幾つかの実施形態では、インプット／アウトプットデバイスは、一つ以上のストレージデバイス２１９を含み得る。プロセッサは、プロセッサによって実行されるプログラム命令（例えば、システムプログラム命令）に従って、ストレージデバイスに対して、アクセスし、読み取り、書き込み、格納し、消去し、修正し、および／または、同様の動作を行い得る。ストレージデバイスは、プロセッサにより、データ（例えば、システムデータ）に対する、アクセス、格納、検索、修正、削除などを、容易にすることができる。或る実装では、プロセッサは、システムバスを介してストレージデバイスから直接データにアクセスし得る。別の実装では、プロセッサは、データをシステムメモリに転送するようにストレージデバイスに指示し、システムメモリからデータをアクセスすることによって、ストレージデバイスからデータをアクセスし得る。
【００４１】
ストレージデバイス２１９は、目立たないもの、外付けのもの、組み込みのもの、（例えば、マザーボードに、別のストレージデバイスに）統合されたもの、および／または同様のものであればよい。ストレージデバイス２１９は、他のストレージデバイスと組み合わせて動作して、改良された容量、データスループット、データの冗長性、および／または同様のものを、提供し得る。システムメモリ２０５および一つ以上のストレージデバイス２１９を、一緒におよび／または別々に、メモリ２２０（すなわち、物理メモリ）と称することがある。
【００４２】
システムメモリ２２０は、プロセッサが動作可能な（例えば、アクセス可能な）システムデータストア２３０を含む。データストア２３０は、システムを介して（例えば、システムによって）使用され得るデータを含む。このようなデータは、データベース（例えば、データベーステーブルを有するリレーショナルデータベース、オブジェクト指向データベース、グラフデータベース、階層データベース）、フラットファイル（例えば、表形式に整理されたもの）、バイナリファイル（例えば、ＧＩＦファイル、ＭＰＥＧ−４ファイル）、構造化ファイル（例えば、ＨＴＭＬファイル、ＸＭＬファイル）、テキストファイルなどの、一つ以上のデータ形式を用いて編成され得る。データストア２３０は、本明細書で説明するように、プロセッサ２０１によって実行可能な命令を格納する非一時的機械可読媒体を含み、改良された不動産（real-estate）ユーザインタフェースの生成および表示に関連する指定された機能を実行し得る。したがって、それぞれのデータストア２３０ａ〜２３０ｃは、プロセッサ２０１によって実行される際、本開示に係るファイルシステムの検証およびインストールのための提供を行うプログラム命令を含む。
【００４３】
例えば、データストア２３０は、プロセッサ２０１によって実行される際、ファイルシステムへの不認可の変更による侵害を受ける回路プラットフォームのためのセキュリティ違反を緩和するプログラム命令を含み得るのであり、ここでファイルシステムは、オペレーティングシステムのための命令コードまたは他のデータを有し、回路プラットフォームによってまたは回路プラットフォームに代わって記憶される。データストア２３０は、プロセッサ２０１によって実行されると、プロセッサ２０１に、ファイルシステムを、暗号署名されたコンポーネントを伴う暗号化ファイルに抽象化させ、オペレーティングシステムのブート時に、最小数のモジュールがロードされた状態でオペレーティングシステムのカーネルをブートさせる、プログラム命令を含み得る。データストア２３０は、プロセッサ２０１によって実行されると、ファイルシステムの署名を読み取って検証し、ファイルシステムのパッケージを一過性の、非永続的記憶回路にインストールする、プログラム命令を更に含み得る。ファイルシステムのパッケージのインストールに応じて、プロセッサ２０１は、ファイルシステムのパッケージを暗号化し得、ファイルシステムのパッケージのインストールに応じて、プロセッサ２０１は、一過性の、非永続的記憶回路を更新して、完全に機能するオペレーティングシステムとして稼働するための追加モジュールを含み得る。
【００４４】
本明細書で説明するように、データストア２３０は、プロセッサ２０１によって実行されると、プロセッサに、プライマリブートローダを使用してカーネルを検証および起動させ、カーネルの検証および起動に応答して一過性の、非永続的記憶回路にアクセスさせる、プログラム命令を含み得る。ファイルシステムパッケージのインストールに応じて、プロセッサ２０１は、オペレーティングシステムの構成ファイルおよび実行状態ファイルを復号化してロードし得る。ランタイムの間、プロセッサ２０１は、オペレーティングシステムのロード構成および実行状態ファイルを監視し得、ロード構成または実行状態ファイルの変化の特定に応じて、プロセッサ２０１は、暗号化されたファイルシステム上の、変更されたロード構成または実行状態ファイルを更新し得る。
【００４５】
さらに、データストア２３０は、プロセッサ２０１によって実行されると、プロセッサに、一過性の、非永続的記憶回路を使用して暗号化キーを生成させ、生成された暗号化キーを使用してファイルシステムを検証させる、プログラム命令を含み得る。ファイルシステムのパッケージのインストールに応じて、プロセッサ２０１は、本明細書で説明するように、オペレーティングシステムの構成ファイルおよび実行状態ファイルを復号してロードし得る。
【００４６】
当業者は、（特許請求の範囲を含む）本明細書で使用されている様々な用語が、他に示されていない限り、当該技術分野における明白な意味を持つことを認識するであろう。例として、本明細書は、ブロック、モジュール、デバイス、システム、ユニット、コントローラ、および／または他の回路タイプの描写などの用語として、またはそれらを使用して、図示し得る様々な回路または回路によって、請求項に記載の開示を実施するのに有用な態様を、説明および／または図示する（例えば、図２の参照数字２０１、２０３、２０５、２１９、２２０、および２３９は、本明細書に記載のブロックまたはモジュールを示す）。そのような回路または回路は、他の要素とともに使用されて、特定の実施形態がどのようにして、構造、ステップ、機能、動作、アクティビティなどの形態で実施され得るかを例示する。例えば、上述した特定の実施形態では、一つ以上のモジュールは、図２Ａおよび２Ｂに示すアプローチで実施され得るように、これらの動作を実施するために構成および配置された離散論理回路またはプログラマブル論理回路である。特定の実施形態では、このようなプログラマブル回路は、命令のセット（または複数セット）として実行される（および／または、プログラマブル回路がどのように実行されるかを定義するための構成データとして使用される）プログラムを格納およびアクセスするためのメモリ回路を含む、一つ以上のコンピュータ回路であり、また、図１、２Ａおよび２Ｂに関して説明したようなアルゴリズムまたはプロセスは、関連するステップ、機能、動作、アクティビティなどを実行するプログラマブル回路により用いられる。利用例に応じて、命令（および／または構成データ）は、メモリ（回路）に格納され、メモリ（回路）からアクセス可能な（オブジェクトコード、ファームウェアまたはソフトウェアの形態で特徴付けられようと無かろうと）命令を用いて、論理回路に実装するように構成することができる。別の例として、本明細書が「第１の［構造の種類］」、「第２の［構造の種類］」などに言及している場合がある。ここで、［構造の種類］が［回路、回路、及び他］などの用語に置き換えられる可能性があるが、形容詞「第１」および「第２」は、構造の説明を意味するため、または実質的な意味を提供するために使用されているのではなく、そのような形容詞は、そのような同様に命名された構造の一つを、別の同様に命名された構造と区別するために、単に英語の先行詞として使用されている（例えば、「・・・を変換するように構成された第１の回路」は、「・・・を変換するように構成された回路」と解釈される）。
【００４７】
上記の説明および図示に基づいて、当業者は、本明細書で図示および説明した例示の実施形態および利用例に厳密に従うことなく、様々な実施形態に対して様々な修正および変更を行うことができることを、容易に認識するであろう。例えば、図に例示されているような方法は、本明細書の実施形態の一つ以上の態様を保持したまま、様々な順序で実施されるステップを含んでもよいし、より少ないまたはより多くのステップを含んでもよい。例えば、図１、図２Ａ、および図２Ｂに例示されているよりも多いまたは少ないステップが実行されてもよい。別の例として、図１、２Ａ、および２Ｂに例示されるステップは、図示されたものとは異なる順序で実行されてもよい。このような変更は、特許請求の範囲に記載された態様を含む、本開示の様々な態様の真の精神および範囲から逸脱するものではない。
【図１】
2022502769.tif 000003
【図２Ａ】
2022502769.tif 000004
【図２Ｂ】
2022502769.tif 000005
【図３】
2022502769.tif 000006
【国際調査報告】
2022502769.tif 000007
2022502769.tif 000008
2022502769.tif 000009