(57)【要約】  メッセージ完全性検査を実行するための方法が開示される。本方法では、プロセッサは、ストレージデバイスからのメッセージを読み取る。メッセージは、複数の第1のレベルセクションを備える。プロセッサは、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定する。各第2のレベルセクションは、固定数の第1のレベルセクションを備える。暗号化エンジンは、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算し、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算する。プロセッサは、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較する。プロセッサは、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供する。
2018514854.tif 000002
【特許請求の範囲】
【請求項１】
メッセージ完全性検査を実行するための方法であって、
プロセッサによって、ストレージデバイスからのメッセージを読み取るステップであって、前記メッセージが複数の第1のレベルセクションを備える、ステップと、
前記プロセッサによって、前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するステップであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、ステップと、
暗号化エンジンによって、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するステップと、
前記暗号化エンジンによって、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算するステップと、
前記プロセッサによって、前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するステップと、
前記プロセッサによって、各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するステップと
を備える、方法。
【請求項２】
前記暗号化エンジンがハードウェア暗号化エンジンである、請求項1に記載の方法。
【請求項３】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項1に記載の方法。
【請求項４】
前記メッセージがファイルを備える、請求項1に記載の方法。
【請求項５】
ストレージデバイスからのメッセージを読み取るための手段であって、前記メッセージが複数の第1のレベルセクションを備える、手段と、
前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するための手段であって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、手段と、
それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するための手段と、
それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算するための手段と、
前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するための手段と、
各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するための手段と
を備える、装置。
【請求項６】
ハッシュ値を計算するための手段が、ハードウェア暗号化エンジンを備える、請求項5に記載の装置。
【請求項７】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項5に記載の装置。
【請求項８】
前記メッセージがファイルを備える、請求項5に記載の装置。
【請求項９】
複数の第1のレベルセクションを備えるメッセージを記憶するように構成されるメモリと、
1つのレベルセクションのハッシュ値を計算するように構成される暗号化エンジンと、
プロセッサであって、
前記複数の第1のレベルセクションから1つまたは複数の第3のレベルセクションを決定することであって、各第3のレベルセクションが第1の固定数の第1のレベルセクションを備える、決定することと、
1つまたは複数の第2のレベルセクションが第3のレベルセクションに含まれない第1のレベルセクションから形成される場合があるかどうかを決定することであって、各第2のレベルセクションが第2の固定数の第1のレベルセクションを備え、前記第1の固定数が前記第2の固定数の整数倍である、決定することと、
各第3のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
各第2のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
第2のレベルセクションまたは第3のレベルセクションに含まれない、各第1のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供することと
を行うように構成されるプロセッサと
を備える、装置。
【請求項１０】
各第3のレベルセクションが256個の第1のレベルセクションを備え、各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項9に記載の装置。
【請求項１１】
ハッシュ値を計算するための手段が、ハードウェア暗号化エンジンを備える、請求項9に記載の装置。
【請求項１２】
前記メッセージがファイルを備える、請求項9に記載の装置。
【請求項１３】
コンピュータに、ストレージデバイスからのメッセージを読み取らせるためのコードであって、前記メッセージが複数の第1のレベルセクションを備える、コードと、
コンピュータに、前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定させるためのコードであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、コードと、
前記コンピュータに、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算させるためのコードと、
前記コンピュータに、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算させるためのコードと、
前記コンピュータに、前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較させるためのコードと、
前記コンピュータに、各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供させるためのコードと
を備える、コンピュータ可読記録媒体。
【請求項１４】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項13に記載のコンピュータ可読記録媒体。
【請求項１５】
前記メッセージがファイルを備える、請求項13に記載のコンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、内容全体が参照により本明細書に組み込まれる、2015年4月2日に米国特許商標庁に出願された、米国非仮特許出願第14/677,602号の優先権および利益を主張する。
【０００２】
本発明は、一般に、小セクタのファイルシステムにおいてメッセージ完全性検査を実行することに関する。
【背景技術】
【０００３】
ストレージデバイスの記憶能力が増大するにつれて、ストレージデバイス全体のハッシュ値を計算することに基づく完全性検査のための実行時間も増大する。その結果、目標ファイルにアクセスするとき、その隣接する領域にアクセスすることによる不要な遅延を回避するために、完全性検査が目標ファイルにのみ適用されるのが好ましい。ファイルの典型的な完全性検査は、ハッシュチェーンに基づいてインライン完全性検査を使用する場合がある。インライン完全性検査では、ストレージデバイスの各セクタまたはブロック(通常、4KB)に関して、最初にハッシュ値が計算される場合があり、これらのハッシュ値は、チェーン(または、ツリー構造)で記憶される場合がある。次いで、全体的なハッシュ値を計算するために、ハッシュ値のチェーン(または、ツリー)全体がハッシュ化される。ファイルのインライン完全性検査を実行する前に、全体的なハッシュ値を以前記憶されたハッシュ値とマッチングすることによって、すべてのセクタのハッシュが最初に検証される。
【０００４】
ファイルへの次のアクセスの後、影響を受けるセクタ、すなわちアクセスされるファイルを記憶するセクタにおいてのみ、完全性検査が実行される必要がある。このことにより、小セクタ、たとえば4KBセクタの効率問題が生じ、その理由は、SHA-1およびSHA-256などの大部分のハッシュアルゴリズムが、ロングメッセージに対して高速であるが、初期化および完了に関するオーバーヘッドのコストがかかるからである。たとえば、ハードウェアベースのSHA-256暗号化エンジン用のドライバは、通常、init()、update()、およびfinal()と呼ぶ3つの関数を有する。ショートメッセージでは、ドライバと暗号化エンジンとの間の通信オーバーヘッドは、ハードウェアハッシュ演算よりも長い時間がかかる。したがって、アルゴリズム設定および最終的な処理による大きい遅延は、小セクタをハッシュ化する際に生じる場合がある。このように、ハッシュチェーンベースの完全性検査は、小セクタのファイルシステムを使用したストレージデバイスには効率的でない場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、小セクタを使用したファイルシステムにおいてメッセージ完全性検査を効率的に実行するための技法が求められる。
【課題を解決するための手段】
【０００６】
本発明の一態様は、メッセージ完全性検査を実行するための方法に存在してもよい。本方法では、プロセッサは、ストレージデバイスからのメッセージを読み取る。メッセージは、複数の第1のレベルセクションを備える。プロセッサは、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定する。各第2のレベルセクションは、固定数の第1のレベルセクションを備える。暗号化エンジンは、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算し、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算する。プロセッサは、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較する。プロセッサは、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供する。
【０００７】
本発明のより詳細な態様では、暗号化エンジンは、ハードウェア暗号化エンジンであってもよい。各第2のレベルセクションは、8つの第1のレベルセクションを備えてもよい。メッセージは、ファイルを備えてもよい。
【０００８】
本発明の別の態様は、ストレージデバイスからのメッセージを読み取るための手段であって、このメッセージが複数の第1のレベルセクションを備える、手段と、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するための手段であって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、手段と、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するための手段と、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算するための手段と、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するための手段と、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するための手段とを備える、装置に存在してもよい。
【０００９】
本発明の別の態様は、複数の第1のレベルセクションを備えるメッセージを記憶するように構成されるメモリと、1つのレベルセクションのハッシュ値を計算するように構成される暗号化エンジンと、複数の第1のレベルセクションから1つまたは複数の第3のレベルセクションを決定することであって、各第3のレベルセクションが第1の固定数の第1のレベルセクションを備える、決定することと、1つまたは複数の第2のレベルセクションが第3のレベルセクションに含まれない第1のレベルセクションから形成される場合があるかどうかを決定することであって、各第2のレベルセクションが第2の固定数の第1のレベルセクションを備え、第1の固定数が第2の固定数の整数倍である、決定することと、各第3のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、各第2のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、第2のレベルセクションまたは第3のレベルセクションに含まれない、各第1のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供することとを行うように構成されるプロセッサとを備える、装置に存在してもよい。
【００１０】
本発明のより詳細な態様では、各第3のレベルセクションは256個の第1のレベルセクションを備えてもよく、各第2のレベルセクションは8つの第1のレベルセクションを備えてもよい。
【００１１】
本発明の別の態様は、コンピュータに、ストレージデバイスからのメッセージを読み取らせるためのコードであって、このメッセージが複数の第1のレベルセクションを備える、コードと、コンピュータに、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定させるためのコードであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、コードと、コンピュータに、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算させるためのコードと、コンピュータに、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算させるためのコードと、コンピュータに、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較させるためのコードと、コンピュータに、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供させるためのコードとを備える、コンピュータ可読媒体に存在してもよい。
【図面の簡単な説明】
【００１２】
【図１】本発明による、メッセージ完全性検査を実行するための方法の流れ図である。
【図２】本発明の態様を実装するためのコンピュータの一例を示すブロック図である。
【図３】ストレージデバイスのセクション、ならびに第1および第2のレベルにわたって計算されたハッシュ値の概略図である。
【図４】ファイルを記憶するストレージデバイスのセクションの概略図である。
【図５】ファイルを記憶するストレージデバイスのセクション、ならびに記憶されたハッシュ値との比較のために第1および第2のレベルにわたって計算されたハッシュ値の概略図である。
【図６】第1、第2、および第3のレベルに関するストレージデバイスのセクションの概略図である。
【図７】ワイヤレス通信システムの一例のブロック図である。
【発明を実施するための形態】
【００１３】
「例示的」という語は、本明細書では、例、実例、または例証としての役割を果たすことを意味するために使用される。「例示的」として本明細書で説明するいかなる実施形態も、他の実施形態よりも好ましいか、または有利であると必ずしも解釈されるべきでない。
【００１４】
図1〜図5を参照すると、本発明の一態様は、メッセージ完全性検査を実行するための方法100に存在してもよい。本方法では、プロセッサ220は、ストレージデバイス230からのメッセージ(たとえば、ファイル)を読み取る(ステップ110)。このメッセージは、複数の第1のレベルセクション(S(M)からS(M+i))を備えるが、Mは第1のレベルセクションのインデックスであり、iはメッセージ長のインデックスである。プロセッサは、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクション(2ndL(N)から2ndL(N+j))を決定する(ステップ120)が、Nは第2のレベルセクションのインデックスであり、jは長さのインデックスである。各第2のレベルセクションは、固定数の第1のレベルセクションを備える。暗号化エンジン240は、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値HL2を計算し(ステップ130)、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値HL1を計算する(ステップ140)。プロセッサは、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較する(ステップ150)。プロセッサは、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供する(ステップ160)。
【００１５】
代替的に、完全性検査は、最後のハッシュチェーンの完全性を検査することのみによってハッシュごとの検証をスキップしてもよい。ハッシュチェーンが検証された後、所与のレベルセクションへの次のランダムアクセスは、最初に検証された対応するハッシュ値に関してのみ完全性検査を実行してもよい。
【００１６】
本発明のより詳細な態様では、ストレージデバイス230は、フラッシュメモリまたはディスクドライブを備えてもよい。暗号化エンジン240は、ハードウェア暗号化エンジン、または暗号化APIを有するソフトウェア実装形態であってもよい。各第2のレベルセクション2ndL(N)は、8つの第1のレベルセクションS(M)を備えてもよい。メッセージは、ファイルを備えてもよい。
【００１７】
本発明の利点は、同じストレージデバイス230に関して様々なセクション長を有する複数のレベルのハッシュチェーンの使用を含む場合がある。図3に示すように、第1のレベルは、対応する第1のレベルのハッシュ値HL1(K)を生成するために各セクションをハッシュ化することを伴う場合があるが、Kはそれぞれのセクションインデックスに対応するインデックスである。各第1のレベルセクションは、ディスクセクタまたはデータブロックであってもよい。第2のレベルは、複数の連続する第1のレベルセクションをハッシュ化することを伴う場合がある。説明の目的で、図3は、各第2のレベルセクションが4つの第1のレベルセクションとつながることを示す。しかしながら、各第2のレベルセクションは、8つの第1のレベルセクション、16個の第1のレベルセクションなどとつながってもよい。i個の隣接する第1のレベルセクションのファイルの完全性を検証する場合、ファイルを効率的に区分する第1のレベルのハッシュ値と第2のレベルのハッシュ値との組合せを見つけるために第1および第2のレベルセクションが選択され、その結果、その組合せは、既存のハッシュチェーンを用いて検証を実行するのに必要な最小の数のハッシュ関数呼出しによってカバーされる。ハッシュ関数呼出しは、SHA-1およびSHA-256であってもよい。
【００１８】
したがって、インライン完全性検査は、適応可能なセクション長に基づいてハッシュチェーンを使用して実行されてもよい。様々な隣接するセクタのセクション長に関するハッシュに基づく複数のレベルのハッシュチェーンは、小セクタを使用したファイルシステムの効率性を提供する。
【００１９】
図4は、2つの記憶されたファイルの例を示す。ファイルAは第1のレベルセクションS1〜S5に記憶され、ファイルBは第1のレベルセクションS8〜S13に記憶される。ファイルAの完全性を検証するために、図5に示すように、第2のレベルセクション1(2ndL(1))に関するハッシュ(H(S1||S2||S3||S4))が計算され、第1のレベルセクションS5に関するハッシュ(H(S5))が計算される。計算済ハッシュ値は、それぞれの記憶されたハッシュ値HL2(1)およびHL1(5)と比較される。このように、ファイルAの完全性を検査するのに、(5つではなく)2つのハッシュ関数呼出ししか必要とされず、大幅な時間効率性をもたらす。ファイルBの完全性を検証するために、第2のレベルセクション3(2ndL(3))に関するハッシュ(H(S9||S10||S11||S12))が計算され、第1のレベルセクションS8およびS13に関するハッシュ(H(S8)およびH(S13))が計算される。計算済ハッシュ値は、それぞれの記憶されたハッシュ値HL2(3)、HL1(8)、およびHL1(13)と比較される。このように、ファイルBの完全性を検査するのに、(6つではなく)3つのハッシュ関数呼出ししか必要とされず、同じく大幅な時間効率性をもたらす。また、各レベルのハッシュ関数入力は、下位レベルのハッシュからではなく、元のメッセージからの直接のものである。
【００２０】
本発明の別の態様は、ストレージデバイス230からのメッセージを読み取るための手段(たとえば、プロセッサ220)であって、このメッセージが複数の第1のレベルセクションを備える、手段と、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するための手段(たとえば、プロセッサ220)であって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、手段と、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するための手段(たとえば、暗号化エンジン240)と、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算するための手段(たとえば、暗号化エンジン240)と、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するための手段(たとえば、プロセッサ220)と、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するための手段(たとえば、プロセッサ220)とを備える、装置に存在してもよい。
【００２１】
本発明の別の態様は、複数の第1のレベルセクションを備えるメッセージを記憶するように構成されるメモリ230と、1つのレベルセクションのハッシュ値を計算するように構成される暗号化エンジン240と、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定することであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、決定することと、各第2のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、第2のレベルセクションに含まれない、各第1のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供することとを行うように構成されるプロセッサ220とを備える、装置200に存在してもよい。
【００２２】
本発明の別の態様は、コンピュータ210に、記憶されたメッセージを読み取らせるためのコードであって、このメッセージが複数の第1のレベルセクションを備える、コードと、コンピュータ210に、複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定させるためのコードであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、コードと、コンピュータ210に、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算させるためのコードと、コンピュータ210に、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションのハッシュ値を計算させるためのコードと、コンピュータ210に、それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較させるためのコードと、コンピュータ210に、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供させるためのコードとを備える、コンピュータ可読媒体230に存在してもよい。
【００２３】
図6に示すように、さらなるレベルが使用されてもよい。たとえば、第3のレベルは、16個の第1のレベルセクションをハッシュ化することを伴う場合がある。このように、S15〜S36にわたる22個の第1のレベルセクションに記憶されたファイルを検証するために、S17〜S32にわたる1つの第3のレベルのハッシュと、S33からS36にわたる1つの第2のレベルのハッシュと、S15およびS16に関する2つの第1のレベルのハッシュとが実行される必要がある。このように、22個の関数呼出し/ハッシュ演算ではなく、合計4個の関数呼出し/ハッシュ演算が実行される必要がある。第2および第3のレベルセクション内の第1のレベルセクションの数の他の構成が使用されてもよい。
【００２４】
本発明の別の態様は、複数の第1のレベルセクションを備えるメッセージを記憶するように構成されるメモリ230と、1つのレベルセクションのハッシュ値を計算するように構成される暗号化エンジン240と、複数の第1のレベルセクションから1つまたは複数の第3のレベルセクションを決定することであって、各第3のレベルセクションが第1の固定数の第1のレベルセクションを備える、決定することと、1つまたは複数の第2のレベルセクションが第3のレベルセクションに含まれない第1のレベルセクションから形成される場合があるかどうかを決定することであって、各第2のレベルセクションが第2の固定数の第1のレベルセクションを備え、第1の固定数が第2の固定数の整数倍である、決定することと、各第3のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、各第2のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、第2のレベルセクションまたは第3のレベルセクションに含まれない、各第1のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、各それぞれの計算済ハッシュ値が対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供することとを行うように構成されるプロセッサ220とを備える、装置200に存在してもよい。
【００２５】
本発明のより詳細な態様では、各第3のレベルセクションは256個の第1のレベルセクションを備えてもよく、各第2のレベルセクションは8つの第1のレベルセクションを備えてもよい。
【００２６】
装置200(または、ステーション)は、プロセッサ220、メモリ230(および/またはディスクドライブ)、暗号化エンジン240、ディスプレイ250、ならびにキーパッドまたはキーボード260を含む、コンピュータ210であってもよい。コンピュータはまた、マイクロフォン、スピーカー、カメラなどを含んでもよい。さらに、このデバイスは、インターネットなどのネットワーク270を介して他のデバイスおよび/またはサーバーと通信するためのUSB、イーサネット(登録商標)、および同様のインターフェースを含む場合もある。
【００２７】
図7を参照すると、ワイヤレスリモート局(RS)702(ユーザ機器UEおよび/または装置200)は、ワイヤレス通信システム700の1つまたは複数の基地局(BS)704と通信してもよい。さらに、RSは、ワイヤレスピアデバイスとペアになってもよい。ワイヤレス通信システム700は、1つまたは複数の基地局コントローラ(BSC)706およびコアネットワーク708をさらに含んでもよい。コアネットワークは、適切なバックホールを介して、インターネット710および公衆交換電話網(PSTN)712に接続されてもよい。典型的なワイヤレス移動局は、ハンドヘルド電話またはラップトップコンピュータを含んでもよい。ワイヤレス通信システム700は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、空間分割多元接続(SDMA)、偏波分割多元接続(PDMA)、または当技術分野で知られている他の変調技法などのいくつかの多元接続技法のうちのいずれか1つを採用してもよい。
【００２８】
情報および信号が様々な異なる技術および技法のいずれかを使用して表される場合があることを、当業者は理解されよう。たとえば、上の説明全体を通して言及されることがあるデータ、命令、指令、情報、信号、ビット、シンボルおよびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光学場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００２９】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装される場合があることを、当業者はさらに諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明してきた。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、特定の用途および全体的なシステムに課される設計制約によって決まる。当業者は説明した機能を特定の用途ごとに様々な方法で実装してもよいが、そのような実装決定は本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００３０】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途用集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または本明細書で説明した機能を果たすように設計されたこれらの任意の組合せを用いて実装されるか、または実行される場合がある。汎用プロセッサは、マイクロプロセッサであってもよいが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであってもよい。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装されてもよい。
【００３１】
本明細書で開示する実施形態に関して説明した方法またはアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら2つの組合せにおいて具現化されてもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形式の記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、また記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体は、プロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICは、ユーザ端末内に存在してもよい。代替として、プロセッサおよび記憶媒体は、個別の構成要素としてユーザ端末内に存在してもよい。
【００３２】
1つまたは複数の例示的な実施形態では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装される場合がある。コンピュータプログラム製品としてソフトウェア内に実装された場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶される場合がある。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にするコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスすることができる任意の利用可能な媒体であってもよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、または命令もしくはデータ構造の形態の所望のプログラムコードを記憶するために使用することができ、かつコンピュータによってアクセスすることができる、任意の他の媒体を備えることができる。本明細書で使用される場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生するが、ディスク(disc)は、レーザを用いて光学的にデータを再生する。上記の組合せはまた、コンピュータ可読媒体の範囲内に同じく含まれるものとする。コンピュータ可読媒体は、一時的な伝搬信号を含まないように非一時的であってもよい。
【００３３】
開示した実施形態の先の説明は、当業者が本発明を作成または使用することができるように提供される。これらの実施形態に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書において規定される一般原理は、本発明の趣旨または範囲から逸脱することなく他の実施形態に適用される場合がある。したがって、本発明は、本明細書で示した実施形態に限定されるものではなく、本明細書で開示した原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００３４】
200  装置
210  コンピュータ
220  プロセッサ
230  ストレージデバイス、メモリ、コンピュータ可読媒体
240  暗号化エンジン
250  ディスプレイ
260  キーパッドまたはキーボード
270  ネットワーク
700  ワイヤレス通信システム
702  ワイヤレスリモート局
704  基地局
706  基地局コントローラ
708  コアネットワーク
710  インターネット
712  公衆交換電話網
HL1  第1のレベルセクションのハッシュ値
HL2  第2のレベルセクションのハッシュ値
S(M)  第1のレベルセクション
2ndL(N)  第2のレベルセクション
【図１】
2018514854.tif 000003
【図２】
2018514854.tif 000004
【図３】
2018514854.tif 000005
【図４】
2018514854.tif 000006
【図５】
2018514854.tif 000007
【図６】
2018514854.tif 000008
【図７】
2018514854.tif 000009
【手続補正書】
【提出日】平成29年10月3日(2017.10.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メッセージ完全性検査を実行するための方法であって、
プロセッサによって、ストレージデバイスからのメッセージを読み取るステップであって、前記メッセージが複数の均一なサイズの第1のレベルセクションを備える、ステップと、
前記プロセッサによって、前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するステップであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、ステップと、
暗号化エンジンによって、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するステップと、
前記暗号化エンジンによって、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションだけのハッシュ値を計算するステップと、
前記プロセッサによって、前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するステップと、
前記プロセッサによって、各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するステップと
を備える、方法。
【請求項２】
前記暗号化エンジンがハードウェア暗号化エンジンである、請求項1に記載の方法。
【請求項３】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項1に記載の方法。
【請求項４】
前記メッセージがファイルを備える、請求項1に記載の方法。
【請求項５】
各第1のレベルセクションが少なくとも4キロバイトを備える、請求項1に記載の方法。
【請求項６】
ストレージデバイスからのメッセージを読み取るための手段であって、前記メッセージが複数の均一なサイズの第1のレベルセクションを備える、手段と、
前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定するための手段であって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、手段と、
それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算するための手段と、
それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションだけのハッシュ値を計算するための手段と、
前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較するための手段と、
各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供するための手段と
を備える、装置。
【請求項７】
ハッシュ値を計算するための手段が、ハードウェア暗号化エンジンを備える、請求項6に記載の装置。
【請求項８】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項6に記載の装置。
【請求項９】
前記メッセージがファイルを備える、請求項6に記載の装置。
【請求項１０】
各第1のレベルセクションが少なくとも4キロバイトを備える、請求項6に記載の装置。
【請求項１１】
複数の均一なサイズの第1のレベルセクションを備えるメッセージを記憶するように構成されるメモリと、
1つのレベルセクションのハッシュ値を前記メッセージから直接計算するように構成される暗号化エンジンと、
プロセッサであって、
前記複数の第1のレベルセクションから1つまたは複数の第3のレベルセクションを決定することであって、各第3のレベルセクションが第1の固定数の第1のレベルセクションを備える、決定することと、
1つまたは複数の第2のレベルセクションが第3のレベルセクションに含まれない第1のレベルセクションから形成される場合があるかどうかを決定することであって、各第2のレベルセクションが第2の固定数の第1のレベルセクションを備え、前記第1の固定数が前記第2の固定数の整数倍である、決定することと、
各第3のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
各第2のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
第2のレベルセクションまたは第3のレベルセクションに含まれない、各第1のレベルセクションに関して計算された各それぞれの計算済ハッシュ値を対応する記憶されたハッシュ値と比較することと、
各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供することと
を行うように構成されるプロセッサと
を備える、装置。
【請求項１２】
各第3のレベルセクションが256個の第1のレベルセクションを備え、各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項11に記載の装置。
【請求項１３】
ハッシュ値を計算するための手段が、ハードウェア暗号化エンジンを備える、請求項11に記載の装置。
【請求項１４】
前記メッセージがファイルを備える、請求項11に記載の装置。
【請求項１５】
コンピュータに、ストレージデバイスからのメッセージを読み取らせるためのコードであって、前記メッセージが複数の均一なサイズの第1のレベルセクションを備える、コードと、
コンピュータに、前記複数の第1のレベルセクションから1つまたは複数の第2のレベルセクションを決定させるためのコードであって、各第2のレベルセクションが固定数の第1のレベルセクションを備える、コードと、
前記コンピュータに、それぞれの計算済ハッシュ値を生成するために各第2のレベルセクションのハッシュ値を計算させるためのコードと、
前記コンピュータに、それぞれの計算済ハッシュ値を生成するために第2のレベルセクションに含まれない各第1のレベルセクションだけのハッシュ値を計算させるためのコードと、
前記コンピュータに、前記それぞれの計算済ハッシュ値の各々を対応する記憶されたハッシュ値と比較させるためのコードと、
前記コンピュータに、各それぞれの計算済ハッシュ値が前記対応する記憶されたハッシュ値に等しい場合、完全性検査指示を提供させるためのコードと
を備える、コンピュータ可読記録媒体。
【請求項１６】
各第2のレベルセクションが8つの第1のレベルセクションを備える、請求項15に記載のコンピュータ可読記録媒体。
【請求項１７】
前記メッセージがファイルを備える、請求項15に記載のコンピュータ可読記録媒体。
【請求項１８】
各第1のレベルセクションが少なくとも4キロバイトを備える、請求項15に記載のコンピュータ可読記録媒体。
【国際調査報告】
2018514854.tif 000010