JP2010532880A - データセキュリティのためにデータを処理するシステム及び方法 - Google Patents

データセキュリティのためにデータを処理するシステム及び方法 Download PDF

Info

Publication number
JP2010532880A
JP2010532880A JP2010515265A JP2010515265A JP2010532880A JP 2010532880 A JP2010532880 A JP 2010532880A JP 2010515265 A JP2010515265 A JP 2010515265A JP 2010515265 A JP2010515265 A JP 2010515265A JP 2010532880 A JP2010532880 A JP 2010532880A
Authority
JP
Japan
Prior art keywords
file
data
output
input
section
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010515265A
Other languages
English (en)
Inventor
ランドン・カート・ノール
チャールズ・アドレー・レブラン
Original Assignee
エヌサイファー・コーポレーション・リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by エヌサイファー・コーポレーション・リミテッド filed Critical エヌサイファー・コーポレーション・リミテッド
Publication of JP2010532880A publication Critical patent/JP2010532880A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

データセキュリティのためにデータを処理するためのシステム及び方法に関する。データファイルを暗号化する方法は、入力長によって特徴付けられる入力ファイルを提供するステップと、第1出力ファイルと第2出力ファイルとを含む多数のデータファイルを提供するステップとを含む。第1出力は第1出力長によって特徴付けられる。第1出力長は入力長と多数の出力ファイルとに関連付けられる。第1出力ファイルは、ヘッダセクションとデータセクションとを含む。ヘッダセッションは、数に関連付けられた情報を含む。加えて、方法は、入力ファイルの第1ロケーションと第2ロケーションとを決定するステップを含む。第2ロケーションは、既知の長さだけ第1ロケーションの後ろである。

Description

一般に、本発明はデータセキュリティ及びストレージに関し、かつ、特に2つ以上の暗号化された出力データファイルとして、入力データファイルを格納するための方法に関する。
情報技術の到来で、ますます多くの情報が電子的に格納されている。電子的に格納された情報を保護するために、様々な従来技術が開発されてきた。ハードウェアストレージ機器(即ち、ハードディスク、テープ、コンパクトディスクなど)を保護すること以外に、データバックアップ及びアーカイブは、格納された情報を保護するための一般的かつ信頼できる方法である。
一般に、データバックアップは、データのコピーを作り、かつ、これらのコピーを格納することを指す。オリジナルのデータを失うか、又は無効にしたとき、オリジナルのデータからの情報はこれらのコピーから回復される。さらにデータの安全を確実にするために、ストレージデバイス内に格納されるデータは、最初に暗号化され、次いで、暗号化されたデータは異なったストレージデバイス(即ち、異なったハードドライブ)に格納される。過去に、様々な従来技術が、データ暗号化及びストレージを実行するために開発されてきた。残念ながら、多くの場合、これらの従来技術は不十分である。
データを暗号化及び格納するための従来技術は、情報技術における最近の進展の観点から不十分である(ファイルサイズがますます大きくなる)。特に、多くの場合、従来技術を用いて、大きなデータファイルを暗号化及び格納するのは、遅過ぎて、かつ、効率が悪い。
様々な従来技術によると、データファイルをセキュアに格納するプロセスは、入力データファイルを読み取るステップと、入力データファイルを暗号化するステップと、最終的に、出力ファイルとして暗号化された入力データファイルを格納するステップとを含んでいる。通常、全プロセスは、1つのスレッドによって順番に実行される。例えば、同じスレッドが全体の入力データファイルを読み取る。その結果、プロセスの速度は、スレッドが入力ファイルを読み取る速度によって制限されている。本質的には、全プロセスは最も遅いステップより速いはずがない(この場合、通常、ファイルを読み取るステップである)。入力データファイルのサイズが小さいとき、プロセスの速度は通常許容可能である。しかしながら、入力データファイルサイズが大きいとき(例えば、1ギガバイト以上)、多くの場合、プロセスの速度は多くのアプリケーションに対してあまりに低速である。
したがって、データを暗号化及び格納するためのシステム及び方法を改善することが望まれている。
本発明の態様は、2つ以上の暗号化された出力データファイルとして(後で、復号化及び再結合されて、入力データファイルと同一のファイルを形成することができる)、入力データファイルを格納するための方法及びシステムを提供する。特に、本発明の態様は、単一の入力データファイルが複数のスレッドによって並列に処理され、かつ、複数の暗号化された出力ファイルが異なるロケーションに格納されることを可能にする。とりわけ、本発明の態様は、従来技術に比べて、暗号化されたデータを格納するためのより効率的な方法を提供する。ほんの一例として、本発明は、大規模なファイルに対して、セキュアなバックアップソリューションを提供するのに使用されるが、本発明はより幅広い範囲の適応性を有することが認識される。
1態様によれば、本発明はデータファイルを暗号化するための方法を提供する。方法は、入力長によって特徴付けられる、入力ファイルを提供するステップを具備している。また、方法は、第1出力ファイルと第2出力ファイルとを含む、多数の出力ファイルを提供するステップを具備している。前記第1出力は、第1出力長によって特徴付けられる。前記第1出力長は、前記入力長と、前記多数の出力ファイルとに関連付けられている。前記第1出力ファイルは、ヘッダセクションとデータセクションとを含んでいる。代表的な態様では、前記ヘッダセクションは、前記数に関連付けられた情報を含んでいる。加えて、方法は、前記入力ファイルの第1ロケーションと第2ロケーションとを決定するステップを具備している。前記第2ロケーションは、既知の長さで前記第1ロケーションより後ろである。また、方法は、前記既知の長さのために、第1スレッドによって、前記第1ロケーションで、前記入力ファイルを読み取るステップから、第1セグメントを得るステップを具備している。さらに、方法は、第2スレッドによって、前記第2ロケーションで、前記入力ファイルを読み取るステップから、第2データセグメントを得るステップを具備している。その上、方法は、前記第1データセグメントを暗号化するステップを具備している。さらに、方法は、前記第1出力ファイルの前記データセクションで、前記暗号化された第1データセグメントを格納するステップを具備している。
別の態様によれば、本発明は、データファイルを暗号化するための方法を提供する。方法は、入力長を有する入力ファイルを提供するステップを具備している。また、方法は、多数の出力ファイルを提供する方法を具備している。前記出力ファイルは、第1出力ファイルと第2出力ファイルとを含んでいる。前記第1出力ファイルは、前記入力長と、前記多数の出力ファイルとに関連付けられた、第1出力長によって特徴付けられる。前記第1出力ファイルは、第1ブロックと第2ブロックとを含む、第1複数のブロックを含んでいる。前記第1ブロックと前記第2ブロックとは、同じブロックサイズによって特徴付けられる。前記第1複数のブロックのそれぞれは、ヘッダセクションとデータセクションとを含んでいる。前記ヘッダセクションは、前記数を伴う情報を含んでいる。さらに、方法は、前記入力ファイルの第1ロケーションと第2ロケーションとを決定するステップを具備している。前記第2ロケーションは、既知の長さで前記第1ロケーションより後ろである。また、方法は、前記既知の長さのために、第1スレッドによって、前記第1ロケーションで、前記入力ファイルを読み取るステップから、第1データセグメントを得るステップを具備している。加えて、方法は、第2スレッドによって、前記第2ロケーションで、前記入力ファイルを読み取るステップから、第2データセグメントを得るステップを具備している。その上、方法は、前記第1データセグメントを暗号化するステップを具備している。さらに、方法は、前記第1ブロックで、前記暗号化された第1データセグメントを格納するステップを具備している。
さらに別の態様によれば、本発明は、データを復号化するための方法を提供する。方法は、複数の入力データファイルを特定するステップを具備している。前記複数の入力データファイルは、第1入力データファイルと第2データファイルとを含んでいる。入力データファイルのそれぞれは、出力データファイルに関連付けられている。また、方法は、前記第1データファイルを処理するステップを具備している。さらに、方法は、前記第1入力データファイルから、前記出力データファイルに関連付けられた情報を得るステップを具備している。とりわけ、前記情報はブロックサイズを含んでいる。加えて、方法は、前記第1入力データファイルで、2つの隣接したブロックを決定するステップを具備している。前記2つの隣接したブロックは、第1ブロックと第2ブロックとを含んでいる。加えて、方法は、前記第2入力データファイルで、2つの隣接したブロックを決定するステップを具備している。前記2つの隣接したブロックは、第3ブロックを含んでいる。また、方法は、前記第1ブロックを復号化することによって、第1データセグメントを得るステップを具備している。さらに、方法は、前記第3ブロックを復号化することによって、第2データセグメントを得るステップを具備している。また、方法は、前記出力データファイルの連続した部分に、前記第1データセグメントと第2データセグメントとを格納するステップを具備している。
さらに別の態様によれば、本発明はデータを格納するためのシステムを提供する。システムは、入力ファイルを格納するように構成された第1ストレージデバイスを備えている。前記入力ファイルは、第1セクションと第2セクションとを含んでいる。また、システムは、複数のデータファイルを格納するように構成された第2ストレージデバイスを備えている。前記複数のデータファイルは、第1出力ファイルと第2出力ファイルとを含んでいる。前記第1出力ファイルと前記第2出力ファイルとは、同じ長さを有する。加えて、システムは、前記第1ストレージデバイスにアクセスするように構成された、第1アクセスコンポーネントを備えている。また、システムは、前記第1ストレージデバイスにアクセスするように構成された、第2アクセスコンポーネントを備えている。さらに、システムは、第1スレッドと第2スレッドとを設けるように構成された、プロセッサコンポーネントを備えている。前記第1アクセスコンポーネントは、前記第1セクションから、データを読み取る。前記第1スレッドは、前記第1セクションを暗号化することによって、第1出力データを生成する。前記第2アクセスコンポーネントは、前記第2セクションから、データを読み取る。前記第2スレッドは、前記第2セクションを暗号化することによって、第2出力データを生成する。前記第2ストレージデバイスは、前記第1出力ファイルで前記第1出力データを、及び、前記第2出力ファイルで前記第2出力データを格納する。
本発明が従来技術に様々な利点を提供することが理解される。特に、オペレーションが並列に実行されるので、従来技術と比べて、本発明の態様に従って動作するスレッディングは、より迅速なデータ・アクセス及び暗号化を可能にする。さらに具体的には、本発明の態様は、大きなファイル(例えば、10GBより大きなファイルのバイナリバックアップ)の暗号化に特に適している。様々な態様によれば、暗号化オペレーションの間、ファイルが別々の暗号化されたファイルに分解されるので、システム管理者が、追加的なセキュリティのために、複数の別のロケーションに暗号化されたファイルを格納することができる。他の利点も存在する。
本発明の様々な追加的目的、特徴、及び利点は、以下の詳述な説明及び添付図面に関連して、より完全に理解することができる。
本発明の実施例を実施するのに利用されるコンピュータシステムを図示した略図である。 本発明の実施例による暗号化オペレーションを図示した略図である。 本発明の実施例によるストリップファイルのファイルフォーマットを図示した略図である。 本発明の実施例による復号化オペレーションを図示した略図である。 本発明の実施例による暗号化プロセスを図示した簡易なフローチャートである。 本発明の実施例による復号化プロセスを図示した簡易なフローチャートである。
本発明の様々な実施例は効率的にデータを暗号化及び格納するための方法を提供する。特に、本発明のある実施例は、異なったスレッドによって入力データファイルの並列処理を可能にする(実質的に処理速度全体を改良する)。
本発明の実施例は各種タイプのシステムによって実装してもよい。例えば、本発明の特定の実施例はコンピュータ・ワークステーションで実装される。別の例として、本発明の実施例はコンピュータサーバで実装される。本発明の実施例を他のタイプのシステムによって実装してもよいことが理解される(例えば、パーソナルコンピュータなど)。図1は、本発明の実施例を実装するのに利用されるコンピュータシステムを図示した略図である。この図は単に例であり、特許請求の範囲を過度に制限してはならない。当業者の1人は多くのバリエーション、代替例、及び変形例を認識する。
図1に示されたように、ワークステーションシステム100は、ディスプレイ101と、ケース102と、キーボード103と、マウス104と、ハードドライブ107のクラスタとを備えている。例として、ワークステーションシステムは、ケース102の中に入れられる1又は複数の中央演算処理装置(CPU)105と、ランダムアクセスメモリー(RAM)106とを含んでいる。特定の実施例によると、ワークステーションシステム100は、並列で動作することができる2つ以上のCPUを含んでいる。別の実施例によると、ワークステーションシステム100は、マルチタスキング、及び/又は、インターリービングが可能な単一のCPUを含んでいる。
ハードドライブ107のクラスタは、データを格納及びバックアップするのに使用される。例えば、ハードドライブ107のクラスタは、RAID(redundant array of independent disks)(データが複数のディスクにわたる冗長ストリップ108及び109内に格納される)として配置される。別の例として、ハードドライブ107のクラスタは、ハードドライブ(ワークステーションシステム100のCPUに対して相互に独立し、かつ、アクセス可能である)を含んでいる。図示されているように、ハードドライブ107は、ドライブ110、ドライブ111、及びドライブ112を含み、各ドライブが独立して情報を格納することができる。特定の実施例では、ソースファイルはドライブ107で暗号化され、かつ、システム100はインターフェースを通して接続される。アプリケーションによって、インターフェースは、SCSI、SATA、ファイバーチャネル、USB、IDEなどである。
代替の実施例では、コンピュータシステム100は、単一のハードドライブ(同時にハードドライブの異なった部分で読み取りオペレーションを実行することができ、その結果、複数のアクセスを可能にする)を利用する。
図2は、本発明の実施例に従って、暗号化オペレーション200を図示した略図である。この例では、入力ファイル210が暗号化され、かつ、暗号化されたファイルは別々のファイル201、202、203、及び204として格納される。上記したように、本発明の実施例は非常にフレキシブルであり、したがって、種々のアプリケーションを有するが、それらは大きなファイルを暗号化及び格納するのに非常に適していることを理解しなければならない。例えば、1ギガバイトより大きな入力ファイルを暗号化及び格納するプロセスで、本発明の様々な実施例は、並列データ処理の可能性のため、従来技術より効率的である。
ストライピング(striping)オペレーションが実行されるので、ファイル201、202、203、及び204をストリップファイル(strip file)と呼ぶことができる。特定の実施例によると、各ストリップファイルは別々のスレッドによって処理される。特定のアプリケーションによって、ストリップファイル(又は、ストリップ幅(strip width)と呼ばれる)の数は変化する。例えば、ハードウェア(多数のストリップファイル(例えば、5つ以上)を可能にする)が生成される。特定の実施例では、ストリップ幅は、様々な要素に基づきコンピュータで自動的に決定される(例えば、利用可能なスレッドの数、利用可能なプロセッサの数、利用可能なストレージデバイスの数など)。ある実施例では、ストリップ幅はユーザによって指定される。例えば、ユーザは、簡単なファイル管理のために、少数のストリップファイルを選択してもよい。別の例として、ユーザは、より良いセキュリティ、及び/又は、より良いパフォーマンスのために、多数のストリップファイルを選択してもよい。
ストリップファイルのサイズは等しい。例えば、図2に示すように、ストリップファイルのそれぞれは、同じサイズによって特徴付けられ、一般に、入力ファイル210の四分の一より少し大きい(即ち、ヘッダセクションなどを計上するため)。代表的なストリップファイルの詳細な説明を以下で行う。
本発明の実施例がスレッディングスキームを提供することを理解しなければならない。一度に大きなデータを読み取るステップが多くの場合に減速を引き起こすので、本発明の実施例はスキーム(各スレッドが、一度に入力ファイル210のデータの小規模なブロックを読み取る)を提供する。図2に示されるように、データ処理の見解から、入力ファイル210は、多数のブロックに分割される。入力ファイル210にアクセスするとき、各スレッドは、ブロックサイズのための長さのために特定のロケーションで、入力ファイル210を読み取る。ほんの一例として、第1スレッドは、入力ファイル210のブロック「1」を読み取り、ブロック「1」に格納されたデータを暗号化し、かつ、暗号化されたデータをストリップファイル201のデータ部内に格納する。同様に、第2スレッドは、入力ファイル210のブロック「2」を読み取り、ブロック「2」に格納されたデータを暗号化し、かつ、暗号化されたデータをストリップファイル202のデータ部内に格納するなど。
アプリケーションによって、各種タイプの暗号化方法を使用してもよい。好ましい実施例では、暗号ブロック連鎖(CBC)が使用される。例えば、暗号化される前に、それぞれのブロックのデータは、前の暗号ブロック(データストリングによって通常初期化される第1ブロックを除いた)で排他的論理和をとられる。特に、それぞれの暗号化されたデータは、そのポイントまでのすべての前のデータブロックに依存している。通常、CBC暗号化は並列な暗号化及び復号化を可能にする。
本発明が、他のタイプの暗号化の方法に関連して実行されることを理解しなければならない。様々な実施例では、他のタイプの暗号化方法が使用される(例えば、電子符号表、初期化ベクトル、暗号フィードバック、出力フィードバックなど)。
ここで、図2に戻る。図示されているように、各ストリップファイルによって格納された暗号化されたデータブロックは、不連続である。例えば、ストリップファイル201は、暗号化されたデータブロック「1」及び「5」(連続データブロックではない)を連続して格納する。
スレッディングから所望の効率を達成することができるように、それぞれのスレッドは、入力ファイル210の適切なデータブロックを処理するように構成されている。好ましい実施例は、正しいオフセットロケーション(各スレッドが入力ファイル210の「n番目」のブロックを読み取る)を決定するのに以下の式を使用する。
オフセット=[(ストリップ_カウント*ブロック_サイズ)*n]+(スレッド_数*ブロック_サイズ) (式1)
ここで、「ストリップカウント」は、書き込まれているストリップファイルの数であり、
「n」は、0〜[(ファイル内の総ブロック/ストリップカウント)-l]の整数であり、
「スレッド番号」は、1〜ストリップカウント(包括的な)の整数であり(通常、ストリップファイルあたり1スレッド)、かつ、
「ブロックサイズ」は、量データ(各スレッドが単一の読み取りオペレーションで入力ファイルから読み取る)、及び、量データ(各スレッドが単一の書き込みオペレーションでストリップファイルに書き込む)である。
入力ファイル210のブロックを読み取るステップ、読み取られたブロックを暗号化するステップ、及び、最終的に、暗号化されたブロックを各ストリップファイル内に格納するステップのプロセスは、入力ファイル210全体が暗号化及び格納されるまで継続される。
図3は、本発明の実施例に従って、ストリップファイル300のファイルフォーマットを図示した略図である。この実施例では、ストリップファイル300は、以下のセクションを含んでいる。
1. ヘッダセクション301
2. ノンス(nonce)セクション302
3. データセクション303
4. パディングセクション304
5. データ長セクション305
6. MACセクション306
7. XORのノンスセクション307
ストリップファイル300のファイルフォーマットが単に特定の例を提供することを理解しなければならない。ストリップファイルは、特定の実施例に基づき、他のセクション又はフィールドを含むようにフォーマットしてもよい。例えば、本発明の実施例によるストリップファイルは、UNIX(登録商標)オペレーティングシステムに従ってフォーマットされ、かつ、図3に図示されたものと異なったデータセクションを有する。例えば、特定のデータ・フィールドを加えるか、又は取り除いてもよく、したがって、ストリップファイルはUNIX(登録商標)フォーマットに一致する。
ヘッダセクション301はファイルを特定するための情報を含んでいる。例えば、以下の表1は、本発明のある実施例に従って、代表的なヘッダセクションを図示している。
Figure 2010532880
アプリケーションによって、ヘッダセクション301の種々のフィールドを、追加、除去、及び/又は、再配置してもよい。例えば、また、ヘッダセクション301は、パディングフィールド(ヘッダセクションの終わりまで0で埋められた)を有して、ヘッダブロックがデータブロック及び他のブロックと同じサイズであることを確実にしてもよい。
ノンスセクション302はノンス数、及び/又は、ベクトルを含んでいる。1実施例によると、ノンスセクション302は、ランダムに生成されたノンスベクトル(CBC暗号化に使用される初期化ベクトルとして使用される)を含んでいる。一般に、ノンスベクトルは、各ストリップファイルに対して異なっている。本発明の様々な実施例におけるランダムノンスベクトルの利用は、セキュリティ違反のリスクを実質的に減少させる。好ましい実施例では、ランダムノンスベクトルは、タイムスタンプを使用することによって生成される。アプリケーションによって、ノンスセクション302に格納されたノンス数は、多様な長さを有してもよく、かつ、多様な方法で生成することができる。
データセクション303は、暗号化されたデータのブロックを含んでいる。上記したように、スレッディング及び暗号化方法によって、データセクション303に格納されたコンテンツデータブロックは変化する。暗号化されたデータブロックは、以下の関数によって表してもよい。
E{(ノンス、ペイロード、パッド、長さ、ノンス、
Figure 2010532880
数)、鍵} (式2)
パディングセクション304は、ストリップファイルが長さにおいて等しくなるのを確実にするために設けられる。各暗号化されたデータブロックが長さにおいて等しいので、時々、最後のブロックをパディングデータで埋める必要がある。例えば、ストリップファイルのための総データが複数の5バイトよりも1バイト多い場合、5つの5バイトのブロックが、入力ファイルを格納するのに使用され、かつ、最後のブロックは、1バイトのデータと4バイトのパディングとを含んでいる。通常、パディングは、残りのスペースに0を埋めるステップを具備するが、他の値又はコンテンツをパディングに使用してもよいことを理解しなければならない。
データ長セクション305は、パディングを含まない、データセクション303に格納された有効データ長に関連付けられた情報を格納する。例えば、データ長セクション305は、データセクション303に格納される暗号化されたデータのバイトの数を含んでいる。別の例では、データ長セクション305自体は、多数のパディングのバイトを含んでいる。
MACセクション306はファイルを認証するための情報を格納する。特定の実施例では、MACセクション306は、キー-ハッシュメッセージ認証コード(HMAC)を含んでいる。例えば、HMACは、MACセクション306に格納され、かつ、秘密鍵を使用することによって決定される。アプリケーションによって、HMACは、格納されたデータのデータ完全性、及び/又は、信憑性を検証するステップに使用してもよい。特定の実施例では、HMACは、以下の関数を使用することで指定される。
HMAC{E(ヘッダ、ノンス、ペイロード、パッド、長さ、ノンス、
Figure 2010532880
数)、鍵} (式3)
XORノンスセクション307は、特別な数(special number)(データの暗号化及び復号化に使用される)を含んでいる。例えば、512ビット(又は、64バイト)の乱数は、既知の値で、排他的論理和をとられる。乱数はノンスセクション302に格納された乱数と同じである。特別な数は、検証目的のために、以下の式を使用することで計算される。
特別_数=ノンス
Figure 2010532880
(ノンス
Figure 2010532880
特別_数) (式4)
上記したように、アプリケーションによって、ストリップファイルは、特定のアプリケーションに合う異なったフィールドを有してもよい。例えば、異なったタイプの暗号化又はストライピング方法が実施される場合、異なったタイプのフィールドを使用してもよい。
様々な実施例によると、ストリップファイルは別々に格納される。例えば、同じファイルによって生じるストリップファイルは、異なったストレージデバイスで格納される。
必要であれば、暗号化されたストリップファイルは、復号化及び再結合される。
図4は、本発明の実施例に従って、復号化オペレーションを図示した略図である。この実施例では、4つのストリップファイル410、420、430、及び440は、復号化され、かつ、出力ファイル400に結合される。別々のストリップファイルが追加的なセキュリティ手段を提供することを理解しなければならない(復号化されたデータの重要なセグメントを得ることができる前に、未認証のエンティティがすべてのストリップファイルを必要とするので)。例えば、単一のストリップファイルを復号化することによって、復号化されたデータの代表的なブロックだけが得られる。
図4に示されているように、それぞれのストリップファイルは、オリジナルファイルに対して、不連続なデータのブロックを含んでいる(ストリップファイルが、上で説明されたように、複数のスレッドによって生成されるので)。例として、ストリップファイル410は、暗号化されたデータブロック411と412を含み、ストリップファイル420は、暗号化されたデータブロック421と422を含み、ストリップファイル430は、暗号化されたデータブロック431と431を含み、かつ、ストリップファイル440は、暗号化されたデータブロック441と442を含んでいる。代表的な復号化プロセスの間、データブロック411、421、431、及び441は、4つのスレッドによって復号化され、次いで、出力ファイル400のデータセグメント401、402、403、及び404として格納される。例えば、データブロック411、421、431、及び441は、4つの異なったストリップファイルにそれぞれ格納されるが、データセグメント401、402、403、及び404は、出力ファイル400の連続データセグメントである。例として、データ復号化と出力ファイル構築は、図1のワークステーションシステム100によって実行される。
特定のアプリケーションによって、本発明の様々な実施例による暗号化及び復号化プロセスは異なった方法で実装してもよい。例として、図5は、本発明の実施例に従って暗号化プロセス500を図示した簡易なフローチャートである。この図が単に例であり、かつ、フローチャートにおける様々なステップを、追加、削除、再配置、置換え、反復、オーバーラップ、及び/又は、部分的にオーバーラップしてもよい。
ステップ501では、暗号化される入力ファイルが提供される。例として、入力ファイルはハードドライブによって格納される。通常、入力ファイルは、サイズが大きく、かつ、機密情報を含んでいる(効率的なデータ暗号化が望まれている)。
ステップ502では、暗号化オペレーションのための様々なパラメータが決定される。アプリケーションによって、これらのパラメータは、出力ストリップファイルの数、ブロックサイズ、暗号化方法などを含んでもよい。ある実施例によると、これらのパラメータは、様々な要素(例えば、入力ファイルのサイズ、システムの処理能力など)に基づいて自動的に決定される。様々な代替の実施例によると、これらのパラメータはユーザによって提供される。
ステップ503では、ストリップファイルが準備される。特定のアプリケーションによって、ストリップファイルは様々なフォーマットに従ってもよい。例えば、ストリップファイルは、図4に図示されたようなフォーマットを有してもよい。
ステップ504では、スレッドがデータを暗号化するために割り当てられる。ある実施例によると、スレッドの数はストリップ幅と等しい。例えば、4のストリップ幅に対して(即ち、生成される4つの出力ストリップファイル)、4つのスレッドが設けられる。アプリケーションによって、スレッドの数はより少ないか、又は、より多くてもよい。
ステップ505では、入力ファイルがアクセスされる。様々な実施例によると、入力ファイルは、異なったセグメントで並列に、複数のスレッドによってアクセスされる(各スレッドが所定のロケーションでデータのブロックを読み取る)。例えば、第1スレッドは、第1ロケーションで、入力ファイルから、データのブロックを読み取り、かつ、第2スレッドは、第2ロケーションで、別のデータのブロックを読み取るなど。特定の実施例では、入力ファイルは、複数のアクセスを提供するハードディスクに格納される。例として、ストリップサイズの関数としてのオフセットロケーションは、上記した式1を使用することで決定してもよい。
ステップ506では、データブロックが暗号化される。特定の実施例では、ステップ505でアクセスされた各データブロックは、指定されたスレッドによって暗号化される。アプリケーションによって、様々なエンコーディングスキーム10を用いてもよい。例えば、CBC方法は、データを暗号化するのに使用してもよい。
ステップ507では、暗号化されたデータは、ストリップファイルの中に格納される。ある実施例では、ストリップファイルは、異なった物理的エンティティ(例えば、ハードディスク)に格納される。一部の実施例では、ストリップファイルは、同じ物理的エンティティに格納される。ほんの一例として、暗号化されたデータブロックは、ストリップファイルのデータセクションの中に格納される。
分岐ステップ508では、入力ファイルが最初から最後まで読み取られたか否かが決定される。全体の入力ファイルが暗号化及び格納された場合、プロセスはステップ509に進む。他方では、入力ファイルがまだ暗号化及び格納されるデータをまだ含んでいる場合、プロセスは、ステップ505に戻って、データブロックを暗号化及び格納する。
ステップ509では、暗号化されたデータのファイルHMACが、ストリップファイルに付加される。例えば、ファイルHMACは、特定の暗号化鍵、及び/又は、方法に関連付けられた情報を含んでいる。ある実施例では、ファイルHMACは他の関連情報を含んでいる。
ステップ510では、暗号化及びストレージのためのプロセスが終了する。様々な実施例によると、ストリップファイルはそれに従って処理される。例えば、パディングを、ストリップファイルのサイズを均一にするために、ストリップファイルのデータセクションの終わりに加えてもよい。さらに、ストリップファイルを、ある所定のファイルフォーマット(例えば、図4に示されたファイルフォーマット)に一致するようにさらに処理してもよい。
入力ファイルと同一のファイルを作成するために、後で、ストリップファイルを復号化及び再結合することができる。
図6は、本発明の実施例に従って復号化プロセス600を図示した簡易フローチャートである。この図が単に例であり、かつ、フローチャートにおける様々なステップは、追加、削除、再配置、置換え、反復、オーバーラップ、及び/又は、部分的にオーバーラップしてもよい。
ステップ601では、復号化に必要であるストリップファイルが決定される。上記したように、入力ファイルに関連付けられたストリップファイルが復号化のために選択される。例えば、ストリップファイルは、これらのストリップファイルのヘッダに格納された情報に基づいて収集される。ある実施例によると、1セットのストリップファイルに関連付けられた情報は別々のファイルに格納される。
ステップ602では、様々なパラメータが、ストリップファイルから収集される。1実施例によると、パラメータ(例えば、ストリップ幅、ブロックサイズ、暗号化ベクトルなど)は、ストリップファイルの様々なセクションから抽出される。例えば、パラメータは、ストリップファイルのヘッダセクションから抽出される。
ステップ603では、ストリップファイルを復号化するためのプロセスが決定される。1実施例では、多数のスレッドを、ストリップファイルを復号化するために割り当ててもよい。別の実施例では、復号化プロセスの詳細は、ストリップファイルから収集された様々なパラメータ(例えば、スレッドの数、ブロックサイズ、復号鍵など)に基づいてもよい。
ステップ604では、ストリップファイルがアクセスされる。様々な実施例によると、それぞれのストリップファイルは、指定されたスレッドによって読み取られる。例えば、各スレッドは、並列でストリップファイルからデータの特定のブロックを読み取る。
ステップ605では、暗号化されたデータのブロックが復号化される。好ましい実施例では、それぞれのブロックの暗号化されたデータは、指定されたスレッドによって復号化される。
ステップ606では、復号化されたブロックのデータが出力ファイルに書き込まれる。例として、データ書き込みプロセスは、高速オペレーションのために、並列で、指定されたスレッドによって実行される。
分岐ステップ607では、復号化プロセスが完了であるか否かが決定される。例えば、いったんスレッドがストリップファイルからファイルの終り、及び/又は、パディングを読み取れば、復号化プロセスは完了であることが決定される。別の例として、いったん所定数のブロックが復号化すれば、復号化プロセスは完了であると考えられる。復号化プロセスが完了であることが決定された場合、プロセスはステップ608に進む。他方では、復号化プロセスが完了でないと決定された場合、プロセスはステップ604に戻る。
ステップ608では、復号化プロセスが完了する。特定のアプリケーションによって、様々な手段を、プロセスを終了させるために実施してもよい。例えば、プロセスを終了させるために、各ストリップファイルを閉じてもよい。
上で説明されたように、暗号化プロセスと復号化プロセスは、柔軟に異なったタイプのハードウェアシステムに関連して実装されて、幅広いアプリケーションを有することを理解しなければならない。
本発明の特定の実施例が説明されたが、説明された実施例に同等な他の実施例が存在することが当業者には理解される。従って、本発明が、特定の図示された実施例で制限されるのではなく、添付の特許請求の範囲だけで制限されることを理解しなければならない。
100 ワークステーションシステム
101 ディスプレイ
102 ケース
103 キーボード
104 マウス
105 中央演算処理装置(CPU)
106 ランダムアクセスメモリー(RAM)
107 ハードドライブ
108,109 冗長ストリップ
110,111,112 ドライブ

Claims (34)

  1. データファイルを暗号化するための方法であって、
    前記方法は、
    入力ファイルを提供するステップであって、前記入力ファイルは、入力長によって特徴付けられるステップと、
    多数の出力ファイルを提供するステップであって、前記出力ファイルは、第1出力ファイルと第2出力ファイルとを含み、前記第1出力ファイルは、第1出力長によって特徴付けられ、前記第1出力長は、前記入力長と、前記多数の出力ファイルとに関連付けられ、前記第1出力ファイルは、ヘッダセクションとデータセクションとを含み、前記ヘッダセクションは、前記数に関連付けられた情報を含むステップと、
    前記入力ファイルの第1ロケーションと第2ロケーションとを決定するステップであって、前記第2ロケーションは、既知の長さで前記第1ロケーションからオフセットされるステップと、
    前記既知の長さのために、第1スレッドによって、前記第1ロケーションで、前記入力ファイルを読み取るステップから、第1セグメントを得るステップと、
    第2スレッドによって、前記第2ロケーションで、前記入力ファイルを読み取るステップから、第2データセグメントを得るステップと、
    前記第1データセグメントを暗号化するステップと、
    前記第1出力ファイルの前記データセクションで、前記暗号化された第1データセグメントを格納するステップと
    を具備することを特徴とする方法。
  2. 前記第1出力ファイルの前記データセクションの終わりに、パディングセクションを設けるステップをさらに具備することを特徴とする請求項1に記載の方法。
  3. 前記第1出力ファイルはパディングセクションを含むことを特徴とする請求項1に記載の方法。
  4. 前記第2データセグメントを暗号化するステップと、
    前記第2出力ファイルで、前記暗号化された第2データセグメントを格納するステップと
    をさらに具備することを特徴とする請求項1に記載の方法。
  5. 前記多数の出力ファイルは、ユーザ入力によって決定されることを特徴とする請求項1に記載の方法。
  6. 前記多数の出力ファイルは、多数の利用可能なプロセッサに関連付けられることを特徴とする請求項1に記載の方法。
  7. 前記多数の出力ファイルは、多数の使用に適したスレッドに関連付けられることを特徴とする請求項1に記載の方法。
  8. 前記多数の出力ファイルは、多数の利用可能なストレージデバイスに関連付けられることを特徴とする請求項1に記載の方法。
  9. 前記入力ファイルは、第1ストレージデバイス内に格納され、かつ、
    前記第1出力ファイルは、第2ストレージデバイス内に格納されることを特徴とする請求項1に記載の方法。
  10. 前記第1データセグメントを前記暗号化するステップは、ブロック暗号モードの下で動作することを特徴とする請求項1に記載の方法。
  11. 前記第1データセグメントを前記暗号化するステップは、暗号ブロック連鎖(CBC)を含むことを特徴とする請求項1に記載の方法。
  12. 前記第1出力ファイルは、第1ストレージデバイス内に格納され、かつ、
    前記第2出力ファイルは、第2ストレージデバイス内に格納されることを特徴とする請求項1に記載の方法。
  13. 前記第1出力ファイルは、メッセージ認証コードを格納するためのセクションをさらに含むことを特徴とする請求項1に記載の方法。
  14. 前記ヘッダセクションは、前記第1出力長に関連付けられた情報を含むことを特徴とする請求項1に記載の方法。
  15. 前記ヘッダセクションは、バージョン番号を含むことを特徴とする請求項1に記載の方法。
  16. 前記第1出力ファイルは、前記第1出力ファイルに関連付けられる識別子を格納するためのセクションをさらに含むことを特徴とする請求項1に記載の方法。
  17. 前記第1出力ファイルは、パディングセクションをさらに含むことを特徴とする請求項1に記載の方法。
  18. 前記第1出力ファイルは、前記第1データセグメントを前記暗号化するステップに関連付けられるメッセージ認証コードを格納するためのセクションをさらに含むことを特徴とする請求項1に記載の方法。
  19. 前記第1出力ファイルは、ノンスセクションをさらに含むことを特徴とする請求項1に記載の方法。
  20. 前記第1出力ファイルと前記第2出力ファイルとは、等しいファイル長によって特徴付けられることを特徴とする請求項1に記載の方法。
  21. 前記第1データセグメントと前記第2データセグメントとは、等しいファイル長によって特徴付けられることを特徴とする請求項1に記載の方法。
  22. データファイルを暗号化するための方法であって、
    前記方法は、
    入力ファイルを提供するステップであって、前記入力ファイルは、入力長によって特徴付けられるステップと、
    多数の出力ファイルを提供するステップであって、前記出力ファイルは、第1出力ファイルと第2出力ファイルとを含み、前記第1出力ファイルは、第1出力長によって特徴付けられ、前記第1出力長は、前記入力長と、前記多数の出力ファイルとに関連付けられ、前記第1出力ファイルは、第1複数のブロックを含み、前記第1複数のブロックは、第1ブロックと第2ブロックとを含み、前記第1ブロックと前記第2ブロックとは、同じブロックサイズによって特徴付けられ、前記第1複数のブロックのそれぞれは、ヘッダセクションとデータセクションとを含み、前記ヘッダセクションは、前記数を伴う情報を含むステップと、
    前記入力ファイルの第1ロケーションと第2ロケーションとを決定するステップであって、前記第2ロケーションは、既知の長さで前記第1ロケーションからオフセットされるステップと、
    前記既知の長さのために、第1スレッドによって、前記第1ロケーションで、前記入力ファイルを読み取るステップから、第1データセグメントを得るステップと、
    第2スレッドによって、前記第2ロケーションで、前記入力ファイルを読み取るステップから、第2データセグメントを得るステップと、
    前記第1データセグメントを暗号化するステップと、
    前記第1ブロックで、前記暗号化された第1データセグメントを格納するステップと
    を具備することを特徴とする方法。
  23. 第3ロケーションを決定するステップと、
    前記既知の長さのために、前記第1スレッドによって、前記第3ロケーションで、前記入力ファイルを読み取るステップから、第3データセグメントを得るステップと、
    前記第3データセグメントを暗号化するステップと、
    前記暗号化された第3データセグメントを格納するステップと
    をさらに具備し、
    前記第3ロケーションは、前記第2ロケーションからオフセットされることを特徴とする請求項22に記載の方法。
  24. データを復号化するための方法であって、
    複数の入力データファイルを特定するステップであって、前記複数の入力データファイルは、第1入力データファイルと第2入力データファイルとを含み、入力データファイルのそれぞれは、出力データファイルに関連付けられるステップと、
    前記第1入力データファイルを処理するステップと、
    前記第1入力データファイルから、前記出力データファイルに関連付けられた情報を得るステップであって、前記情報は、ブロックサイズを含むステップと、
    前記第1入力データファイルで、2つの隣接したブロックを決定するステップであって、前記2つの隣接したブロックは、第1ブロックと第2ブロックとを含むステップと、
    前記第2入力データファイルで、2つの隣接したブロックを決定するステップであって、前記2つの隣接したブロックは、第3ブロックを含むステップと、
    前記第1ブロックを復号化することによって、第1データセグメントを得るステップと、
    前記第3ブロックを復号化することによって、第2データセグメントを得るステップと、
    前記出力データファイルの連続した部分に、前記第1データセグメントと第2データセグメントとを格納するステップと
    を具備することを特徴とする方法。
  25. 前記複数のデータファイルは、同じ長さによって特徴付けられることを特徴とする請求項24に記載の方法。
  26. 前記複数のデータファイルは、異なるストレージデバイスによって格納されることを特徴とする請求項24に記載の方法。
  27. 前記第1ブロックを復号化するための鍵を得るステップをさらに具備することを特徴とする請求項24に記載の方法。
  28. 前記方法は、前記第2ブロックを復号化することによって、第3データセグメントを得るステップをさらに具備することを特徴とする請求項24に記載の方法。
  29. データを格納するためのシステムであって、
    入力ファイルを格納するように構成された、第1ストレージデバイスであって、前記入力ファイルは、第1セクションと第2セクションとを含む第1ストレージデバイスと、
    複数のデータファイルを格納するように構成された、第2ストレージデバイスであって、前記複数のデータファイルは、第1出力ファイルと第2出力ファイルとを含み、前記第1出力ファイルと前記第2出力ファイルとは、等しい長さを有する第2ストレージデバイスと、
    前記第1ストレージデバイスにアクセスするように構成された、第1アクセスコンポーネントと、
    前記第1ストレージデバイスにアクセスするように構成された、第2アクセスコンポーネントと、
    第1スレッドと第2スレッドとを設けるように構成された、プロセッサコンポーネントと、
    を備え、
    前記第1アクセスコンポーネントは、前記第1セクションから、データを読み取り、
    前記第1スレッドは、前記第1セクションを暗号化することによって、第1出力データを生成し、
    前記第2アクセスコンポーネントは、前記第2セクションから、データを読み取り、
    前記第2スレッドは、前記第2セクションを暗号化することによって、第2出力データを生成し、
    前記第2ストレージデバイスは、前記第1出力ファイルで前記第1出力データを、及び、前記第2出力ファイルで前記第2出力データを格納することを特徴とするシステム。
  30. 前記第1アクセスコンポーネントと前記第1ストレージデバイスとは、インターフェースによって接続され、
    前記インターフェースは、IDEインターフェース、SCSIインターフェース、SATAインターフェース、USBインターフェース、又は、ファイバーチャネルであることを特徴とする請求項29に記載のシステム。
  31. 前記プロセッサコンポーネントは、プロセッサユニットからなり、
    前記プロセッサユニットは、スレッディング可能であることを特徴とする請求項29に記載のシステム。
  32. 前記プロセッサコンポーネントは、複数のプロセッサを備え、
    前記複数のプロセッサは、並列に動作するように構成されたことを特徴とする請求項29に記載のシステム。
  33. 前記第2ストレージデバイスは、第1ハードドライブと第2ハードドライブとを備え、
    前記第1出力ファイルは、前記第1ハードドライブで格納され、
    前記第2出力ファイルは、前記第2ハードドライブで格納されることを特徴とする請求項29に記載のシステム。
  34. 前記第1スレッドと前記第2スレッドとは並列に動作することを特徴とする請求項29に記載のシステム。
JP2010515265A 2007-07-06 2008-07-02 データセキュリティのためにデータを処理するシステム及び方法 Pending JP2010532880A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/774,521 US20090013016A1 (en) 2007-07-06 2007-07-06 System and method for processing data for data security
PCT/US2008/069096 WO2009009400A2 (en) 2007-07-06 2008-07-02 System and method for processing data for data security

Publications (1)

Publication Number Publication Date
JP2010532880A true JP2010532880A (ja) 2010-10-14

Family

ID=40222279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010515265A Pending JP2010532880A (ja) 2007-07-06 2008-07-02 データセキュリティのためにデータを処理するシステム及び方法

Country Status (6)

Country Link
US (1) US20090013016A1 (ja)
EP (1) EP2165263A2 (ja)
JP (1) JP2010532880A (ja)
AU (1) AU2008275360A1 (ja)
CA (1) CA2692661A1 (ja)
WO (1) WO2009009400A2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9069471B2 (en) * 2011-09-30 2015-06-30 Hitachi, Ltd. Passing hint of page allocation of thin provisioning with multiple virtual volumes fit to parallel data access
US9203811B2 (en) * 2012-10-09 2015-12-01 Futurewei Technologies, Inc. Authenticated encryption support in ISO/IEC 23009-4
WO2019080112A1 (zh) * 2017-10-27 2019-05-02 福建联迪商用设备有限公司 一种基于 Ukey 的软件解密的方法及终端
US10768856B1 (en) * 2018-03-12 2020-09-08 Amazon Technologies, Inc. Memory access for multiple circuit components
GB201807612D0 (en) * 2018-05-10 2018-06-27 Rolls Royce Plc Structured file encryption process
US11947685B2 (en) * 2022-05-03 2024-04-02 William David SCHWADERER Aligned high performance data encryption method
CN114995771B (zh) * 2022-08-02 2022-12-13 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6070198A (en) * 1995-10-19 2000-05-30 Hewlett-Packard Company Encryption with a streams-based protocol stack
US7391865B2 (en) * 1999-09-20 2008-06-24 Security First Corporation Secure data parser method and system
US6732230B1 (en) * 1999-10-20 2004-05-04 Lsi Logic Corporation Method of automatically migrating information from a source to an assemblage of structured data carriers and associated system and assemblage of data carriers
US6636966B1 (en) * 2000-04-03 2003-10-21 Dphi Acquisitions, Inc. Digital rights management within an embedded storage device
KR100359423B1 (en) * 2002-01-04 2002-11-07 Ncerti Co Ltd Very high speed high capacity backup system and backup method thereof
KR100987777B1 (ko) * 2004-02-05 2010-10-13 삼성전자주식회사 에러의 전파를 방지하고 병렬 처리가 가능한 디코딩 방법및 그 디코딩 장치
US20060218413A1 (en) * 2005-03-22 2006-09-28 International Business Machines Corporation Method of introducing physical device security for digitally encoded data
JP4893040B2 (ja) * 2006-03-17 2012-03-07 ソニー株式会社 暗号化データ記録装置
JP2007288299A (ja) * 2006-04-13 2007-11-01 Hitachi Ltd 配信システム、情報処理装置、配信方法及びプログラム
JP2008052360A (ja) * 2006-08-22 2008-03-06 Fujitsu Ltd ストレージ装置およびライト実行プログラム
JP4347351B2 (ja) * 2007-02-15 2009-10-21 富士通株式会社 データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ中継装置
JP2009151401A (ja) * 2007-12-19 2009-07-09 Hitachi Ltd 暗号機能を有するストレージ装置におけるボリューム管理方法

Also Published As

Publication number Publication date
AU2008275360A1 (en) 2009-01-15
CA2692661A1 (en) 2009-01-15
WO2009009400A2 (en) 2009-01-15
US20090013016A1 (en) 2009-01-08
EP2165263A2 (en) 2010-03-24
WO2009009400A3 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
KR101577886B1 (ko) 무결성 검사 및 리플레이 공격들에 대한 보호를 이용하는 메모리 암호화를 위한 방법 및 장치
US8341429B2 (en) Data transfer device
US8107621B2 (en) Encrypted file system mechanisms
WO2017148316A1 (zh) 文件加密方法、文件解密方法、电子设备和存储介质
US20050050342A1 (en) Secure storage utility
KR101405720B1 (ko) 암호화 속성을 이용하는 가속 크립토그래피
US20020188856A1 (en) Storage device with cryptographic capabilities
US7793041B2 (en) Method for controlling access to data of a tape data storage medium
JP2010532880A (ja) データセキュリティのためにデータを処理するシステム及び方法
JP2010509690A (ja) 記憶装置のセキュリティを確保する方法とシステム
JP2012090286A (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
CN102165407B (zh) 与独立磁盘冗余阵列相关的操作
JP2010517447A (ja) ファイルサイズを保ちつつのファイル暗号化
Khati et al. Full disk encryption: bridging theory and practice
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP2024500732A (ja) 内部動作を介してキー・パーio対応デバイス中に記憶されたデータの暗号消去
JP2008524969A5 (ja)
Yitbarek et al. Reducing the overhead of authenticated memory encryption using delta encoding and ECC memory
KR100859651B1 (ko) 가변크기 데이터 저장을 위한 데이터구조를 기록한기록매체, 가변크기 데이터 저장방법, 및 가변크기 데이터저장방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한컴퓨터로 읽을 수 있는 기록매체
CN107861892B (zh) 一种实现数据处理的方法及终端
KR20230104877A (ko) 신뢰할 수 없는 환경에서 저장된 데이터 및 메타데이터의 기밀성과 무결성을 보장하는 방법
JP2011123229A (ja) プログラムコード暗号化装置及びプログラム
WO2024094290A1 (en) Apparatus and method for storage protection
Daci et al. Improving data integrity and performance of cryptographic structured log file systems
Kim et al. The design and implementation of flash cryptographic file system based on YAFFS