JP6144126B2 - Storage device - Google Patents
Storage device Download PDFInfo
- Publication number
- JP6144126B2 JP6144126B2 JP2013135244A JP2013135244A JP6144126B2 JP 6144126 B2 JP6144126 B2 JP 6144126B2 JP 2013135244 A JP2013135244 A JP 2013135244A JP 2013135244 A JP2013135244 A JP 2013135244A JP 6144126 B2 JP6144126 B2 JP 6144126B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- access area
- access
- area
- accessed
- 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.)
- Active
Links
Images
Description
本発明は、アクセスパターンの保護に適した記憶装置に関する。 The present invention relates to a storage device suitable for access pattern protection.
近年、暗号に対するサイドチャネル攻撃と呼ばれる攻撃が大きな問題となっている。ソフトウェアに対するサイドチャネル攻撃としては、メモリアクセスを解析し秘密情報を復元する攻撃がある。こうした攻撃に対応して、メモリアクセスを攻撃者から保護するためにOblivious RAMが注目を集めている(例えば、非特許文献1および非特許文献2参照。)。
In recent years, attacks called side channel attacks against cryptography have become a major problem. As a side channel attack against software, there is an attack that analyzes memory access and restores secret information. In response to such an attack, Obvious RAM has attracted attention in order to protect memory access from attackers (see, for example, Non-Patent
ところが、非特許文献1などで検討されているOblivious RAMによるメモリの保護は、安全な暗号方式によってデータは保護されているとの前提のもとに、アクセスのパターンを保護することでメモリへのアクセスを保護している。ORAMによってデータにアクセスを行う場合、それがデータの変化を伴わない読み出し処理であっても、読み出し処理であったという事実を保護するためにデータをメモリに戻す際にデータが別の値に変化している必要がある。これを実現する最もシンプルな方法は、データごとに異なる鍵を用意し、アクセスのたびに鍵の更新と新しい鍵での再暗号化を行う方式である。しかし、この方式では、データの分だけ鍵を用意し、それを安全に保管しておく必要があるため、現実的ではない。
However, the protection of the memory by the Obvious RAM studied in Non-Patent
そこで、本発明は、上述の課題に鑑みてなされたものであり、アクセスパターンの保護に適した記憶装置を提供することを目的とする。 Therefore, the present invention has been made in view of the above-described problems, and an object thereof is to provide a storage device suitable for access pattern protection.
本発明は、上記の課題を解決するために、以下の事項を提案している。 The present invention proposes the following matters in order to solve the above problems.
(1)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全なキャッシュに移動させるデータ移動手段と、前記暗号化データを安全なキャッシュに移動させた後に、データを復号する復号手段と、該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、前記データxを用いた処理が完了し、データをメインメモリに移動させる際に、前記データxに前記シーケンス番号を付加した情報に対して、暗号化した情報E(x)´を生成する暗号化手段と、該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、を備えたことを特徴とする記憶装置を提案している。 (1) The present invention is a storage device having a storage area for storing history data by dividing the memory into a data access area and a non-access area, and the encrypted data E stored in the access area When accessing (x), a data moving means for moving the encrypted data to a secure cache using an arbitrary access pattern protection method, and moving the encrypted data to a secure cache And a storage means for storing the decryption means for decrypting the data, a sequence number that records how many times the decrypted data x and the data x are accessed, and a process using the data x. When the data is moved to the main memory, the encrypted information E (x) ′ is generated for the information in which the sequence number is added to the data x. And Goka means, proposes a storage apparatus characterized by comprising: a storage means for storing encrypted information E a (x) 'based on the access region, the by dark Goka means.
(2)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全なキャッシュに移動させるデータ移動手段と、前記暗号化データを安全なキャッシュに移動させた後に、データを復号する復号手段と、該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、前記データxを用いた処理が完了し、データをメインメモリに移動させる際に、前記データxと前記シーケンス番号との演算を行った情報に対して、暗号化した情報E(x)´を生成する暗号化手段と、該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、を備えたことを特徴とする記憶装置を提案している。 (2) The present invention is a storage device having a storage area for storing history data by dividing the memory into a data access area and a non-access area, and the encrypted data E stored in the access area When accessing (x), a data moving means for moving the encrypted data to a secure cache using an arbitrary access pattern protection method, and moving the encrypted data to a secure cache And a storage means for storing the decryption means for decrypting the data, a sequence number that records how many times the decrypted data x and the data x are accessed, and a process using the data x. When the data is moved to the main memory, the encrypted information E (x) ′ is generated for the information obtained by calculating the data x and the sequence number. Encryption means for, proposes a storage apparatus characterized by comprising: a storage means for storing encrypted information E a (x) 'based on the access region, the by dark Goka means.
(3)本発明は、(1)または(2)の記憶装置について、前記暗号化手段が、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成することを特徴とする記憶装置を提案している。 (3) The present invention encrypts the storage device of (1) or (2) using the same key as the key used when the encryption unit generates the encrypted data E (x). A storage device characterized by generating the information E (x) ′ is proposed.
(4)本発明は、(1)から(3)のいずれかの記憶装置について、前記暗号化手段が、少なくとも、CPUのワードサイズに相当する暗号化する情報と前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵とを入力する入力手段と、複数の非線形関数器と、前記暗号化する情報を攪拌する攪拌手段と、を備えたことを特徴とする記憶装置を提案している。 (4) According to the present invention, in the storage device according to any one of (1) to (3), the encryption unit encrypts information corresponding to at least the word size of the CPU and the encrypted data E (x) A storage device comprising: input means for inputting the same key as the key used when generating the information; a plurality of nonlinear function units; and stirring means for stirring the information to be encrypted. is suggesting.
(5)本発明は、(4)の記憶装置について、暗号化情報を出力する出力手段を備え、前記攪拌手段が、偏りなく攪拌されるように、前記入力手段の出力部および前記出力手段の入力部に設けられた排他的論理和演算器であり、前記出力手段が該攪拌された情報と前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵とを入力して暗号化情報を出力することを特徴とする記憶装置を提案している。 (5) The present invention provides the storage device of (4) with output means for outputting encrypted information, and the output means of the input means and the output means of the output means so that the stirring means can be stirred evenly. An exclusive OR calculator provided in an input unit, wherein the output means inputs the agitated information and the same key as the key used when generating the encrypted data E (x) A storage device that outputs encrypted information has been proposed.
(6)本発明は、(4)の記憶装置について、前記攪拌手段が、ShiftRowであって、攪拌後の情報をMixColumnで処理して、暗号化情報を出力することを特徴とする記憶装置を提案している。 (6) According to the present invention, there is provided the storage device according to (4), wherein the stirring means is ShiftRow, and the information after stirring is processed by MixColumn and encrypted information is output. is suggesting.
(7)本発明は、(1)から(6)のいずれかの記憶装置について、前記アクセスパターンの保護方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。 (7) In the storage device according to any one of (1) to (6), the access pattern protection method randomly rearranges data in the non-access area only once in an initial state. A first step, a second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area; and when one data is accessed, When two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed, and the data is accessed between the access area and the non-access area. And the data to be accessed does not exist in the access area and the history area, exists in the non-access area, and the history area If there is stored data, select the data to be accessed and any data stored in the history area as the two data, move to the access area, and according to the moved data size The third step of moving arbitrary data in the access area to the history area and storing it, and when the access process to the data to be accessed is completed, the necessary data in the access area is And a fourth step of writing out the storage device.
(8)本発明は、(1)から(6)のいずれかの記憶装置について、前記アクセスパターンの保護方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。 (8) In the storage device according to any one of (1) to (6), the access pattern protection method randomly rearranges data in the non-access area only once in an initial state. A first step, a second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area; and when one data is accessed, When two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed, and the data is accessed between the access area and the non-access area. When data to be accessed is stored in the history area, data that is not stored in the history area is randomly selected. Then, the data to be accessed and the randomly selected data are set as the two data, moved to the access area, and the arbitrary data in the access area is transferred to the history according to the moved data size. A third step of moving to and saving the area, and a fourth step of writing out the necessary data in the access area when the access process to the data to be accessed is completed. A storage device is proposed.
(9)本発明は、(1)から(6)のいずれかの記憶装置について、前記アクセスパターンの保護方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。 (9) In the storage device according to any one of (1) to (6), the access pattern protection method randomly rearranges data in the non-access area only once in the initial state. A first step, a second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area; and when one data is accessed, When two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed, and the data is accessed between the access area and the non-access area. When data to be accessed is stored in the access area, random access is made from the non-access area and the history area. The selected data is set as the two data, moved to the access area, and according to the moved data size, any data in the access area is moved to the non-access area, and these data are transferred to the history. A storage device comprising: a third step of storing data in an area; and a fourth step of writing out necessary data in the access area when an access process to the data to be accessed is completed Has proposed.
本発明によれば、アクセスをするデータを安全な領域で復号し、メモリに移動させる際に、データとシーケンス番号を結合したもの、もしくは、データとシーケンス番号とを演算したものを暗号化して格納する。したがって、シーケンス番号はアクセスの度に変化するため、データが変化しない場合でも暗号化されたデータは変化し、アクセスの種類を秘匿することができるという効果がある。 According to the present invention, when data to be accessed is decrypted in a safe area and moved to the memory, the data and sequence number combined or the data and sequence number calculated is encrypted and stored. To do. Therefore, since the sequence number changes at every access, the encrypted data changes even when the data does not change, and the access type can be concealed.
また、本発明によれば、上記暗号化の際に、常に、同じ鍵を用いるため、使用メモリ量の増加を抑制することができるという効果がある。特に、本発明は、アクセスパターンの保護を目的とする手法において用いるとより効果がある。 In addition, according to the present invention, since the same key is always used for the encryption, an increase in the amount of used memory can be suppressed. In particular, the present invention is more effective when used in a method aimed at protecting access patterns.
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Note that the constituent elements in the present embodiment can be appropriately replaced with existing constituent elements and the like, and various variations including combinations with other existing constituent elements are possible. Therefore, the description of the present embodiment does not limit the contents of the invention described in the claims.
<記憶装置の構成>
図1から図6を用いて、本発明の記憶装置の構成について説明する。
本発明の記憶装置は、図1に示すように、アクセスパターン保護部100と、記憶領域200と、データ移動部10と、キャッシュ部20と、復号化部30と、保管部40と、暗号化部50とから構成されている。なお、アクセスパターン保護部100の詳細については、後述する。
<Configuration of storage device>
The configuration of the storage device of the present invention will be described with reference to FIGS.
As shown in FIG. 1, the storage device of the present invention includes an access
記憶領域200は、メモリをデータのアクセス領域と非アクセス領域と履歴領域とに分割されている。なお、アクセス領域、非アクセス領域、履歴領域は、DRAM、SRAM等の書き換え可能なメモリで構成される。また、アクセス領域を耐タンパ性を備えたDRAM、SRAM等の書き換え可能なメモリで構成してもよい。なお、本発明の記憶装置は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。
In the
データ移動部10は、記憶領域200内のアクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、暗号化データを安全なキャッシュ部20(例えば、レジスタ)に移動させる。なお、アクセスパターンの保護方法については、その例を後述する。
When accessing the encrypted data E (x) stored in the access area in the
復号化部30は、暗号化データを安全なキャッシュ部20に移動させた後に、データを復号する。保管部40は、復号したデータxとデータxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する。なお、暗号化処理を行う前には、すべてのシーケンス番号を保管するが、暗号化処理後は、後述する暗号化方法のうち、データxとシーケンス番号とを演算した情報に対して、暗号化した場合にのみ、シーケンス番号を保管する。
The
暗号化部50は、データxを用いた処理が完了し、データをメインメモリに移動させる際に、データxにシーケンス番号を付加した情報あるいはデータxとシーケンス番号とを演算した情報に対して、暗号化した情報E(x)´を生成する。なお、暗号化に用いる鍵は、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いることが好ましい。
When the processing using the data x is completed and the data is moved to the main memory, the
つまり、図2に示すように、データE(x)に対して、アクセスする場合には、このデータをまず、安全な領域であるキャッシュ部20に移動し、ここで、復号化してデータxを取り出す。データxに対して処理が終了すると、暗号化部50において、図3に例示するように、データxにシーケンス番号cを付加した情報あるいはデータxとシーケンス番号cとを演算した情報に対して、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成し、これをメモリに戻す。なお、データE(x)の暗号化も上述の情報E(x)´の暗号化と同様の手法で行われる。したがって、アクセスデータに対する処理の前後において、異なった情報がメモリに戻されるため、例えば、不正な攻撃者にアクセスパターンが漏洩することを防止することができる。なお、暗号化部50については、その詳細を後述する。
That is, as shown in FIG. 2, when accessing the data E (x), the data is first moved to the
<暗号化部の構成>
図4および図5は、本発明の暗号化部50内部の構成の一例を示している。なお、図4および図5は、1ラウンド(ラウンド関数)を示した図であり、実際には、ラウンド関数を繰り返し適用してデータを暗号化を行う。ここで、各ラウンドで入力される鍵はラウンド鍵と呼ばれ、ラウンドごとに異なる鍵が使用され、元となる鍵に対して演算を行なってラウンド鍵を生成する。
本発明の暗号方式では、プログラムの実行中のみデータを保護出来れば良いため、従来よりも低い安全性の暗号方式でも十分であり、オーバーヘッドを小さく抑えるために各種パラメータをより高速化に適した設定にすることが望ましい。また、現在主流のブロック暗号は128ビットであり、128ビットを最小の処理単位としている。しかし、CPUのワードサイズは64ビットが主流であり、これに合わせたほうがより効率的である。
<Configuration of encryption unit>
4 and 5 show an example of the internal configuration of the
In the encryption method of the present invention, it is only necessary to protect the data only during the execution of the program. Therefore, a lower-security encryption method is sufficient, and various parameters are set to be suitable for higher speed in order to keep overhead small. It is desirable to make it. The mainstream block cipher currently has 128 bits, and 128 bits is the minimum processing unit. However, the main word size of the CPU is 64 bits, and it is more efficient to match this.
図4に示す暗号化部50は、入力部51と、排他的論理和演算器(XOR)52a、52bと、非線形関数(S−Box)53a〜53hと、Mix Column54a、54bと、出力部55とから構成されている。ここで、入力データは、前述のデータxにシーケンス番号cを付加した情報あるいはデータxとシーケンス番号cとを演算した情報であり、これらが64bit単位のデータになっている。また、各ラウンドで用いられる鍵は、入力データ長と同様の64bitのラウンド鍵であり、これは、ラウンドごとに、異なる鍵が用いられる。
The
図4のうち、2つの排他的論理和演算器(XOR)52a、52bは、データ攪拌を行っている。図4の例では、2つの排他的論理和演算器(XOR)52a、52bを用いることにより、偏りのないデータ攪拌を実現している。 In FIG. 4, two exclusive OR calculators (XOR) 52a and 52b perform data mixing. In the example of FIG. 4, the data agitation without bias is realized by using two exclusive OR calculators (XOR) 52a and 52b.
図5に示す暗号化部50は、入力部56と、非線形関数群(S−Box)57と、Shift Row58と、Mix Column59とから構成されている。ここで、入力データは、前述のデータxにシーケンス番号cを付加した情報あるいはデータxとシーケンス番号cとを演算した情報であり、これらが64bit単位のデータになっている。また、各ラウンドで用いられる鍵は、入力データ長と同様の64bitのラウンド鍵であり、これは、ラウンドごとに、異なる鍵が用いられる。
The
図5のうち、Shift Row58は、データ攪拌を行っている。図5の例では、Shift Row58を用いることにより、図6に示すようなデータの攪拌を実現している。
In FIG. 5,
<第1の実施形態>
図7から図8を用いて、本発明の実施形態について説明する。
<First Embodiment>
The embodiment of the present invention will be described with reference to FIGS.
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部100は、図7に示すように、並べ替え部110と、移動部120と、制御部130と、書き出し部140と、保存部150と、記憶領域200とから構成されている。
<Configuration of access pattern protection unit>
As shown in FIG. 7, the access
並べ替え部110は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動部120は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。
The
制御部130は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
When access to one piece of data occurs, the
例えば、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する。 For example, if the data to be accessed does not exist in the access area and the history area, exists in the non-access area, and there is data stored in the history area, the data to be accessed and any data stored in the history area Are selected as two data, moved to the access area, and according to the moved data size, arbitrary data in the access area is moved to the history area and stored.
なお、制御部130は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、有効に、アクセスパターンを保護することができる。
Note that the
書き出し部140は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。保存部150は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存する。
The
<アクセスパターン保護部の処理>
図8を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
<Processing of access pattern protection unit>
The process of the access pattern protection unit according to this embodiment will be described with reference to FIG.
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS200)。 First, in the initial state, the data in the non-access area is randomly rearranged only once (step S100), and the data in the non-access area is selected according to the memory size of the access area and moved to the access area. (Step S200).
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する(ステップS300)。 Next, when one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. When data is exchanged between the access area and the non-access area, the data to be accessed does not exist in the access area and the history area, exists in the non-access area, and there is data stored in the history area. Next, the data to be accessed and the arbitrary data stored in the history area are selected as two data, moved to the access area, and the arbitrary data in the access area is selected according to the moved data size. Move to the history area and save (step S300).
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS400)。 When the access process to the data to be accessed is completed, necessary data in the access area is written (step S400).
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。 As described above, according to the present embodiment, since the data in the non-access area is rearranged only once, like an Obvious RAM that rearranges the data many times at a predetermined timing. It is possible to prevent the overhead from becoming large. In addition, when the data to be accessed does not exist in the access area and the history area but exists in the non-access area and there is data stored in the history area, the data to be accessed and any data stored in the history area Is selected as two data, moved to the access area, and according to the moved data size, any data that was in the access area is moved and stored in the history area, effectively Can be protected.
<第2の実施形態>
図9から図10を用いて、本発明の実施形態について説明する。
<Second Embodiment>
The embodiment of the present invention will be described with reference to FIGS.
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部は、図9に示すように、並べ替え部110と、移動部120と、制御部131と、書き出し部140と、保存部150と、記憶領域200とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
<Configuration of access pattern protection unit>
As shown in FIG. 9, the access pattern protection unit according to this embodiment includes a
制御部131は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
When access to one piece of data occurs, the
例えば、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する。 For example, when the data to be accessed is stored in the history area, the data not stored in the history area is selected at random, the data to be accessed and the randomly selected data are set as two data, and the access area In accordance with the moved data size, arbitrary data in the access area is moved to the history area and stored.
なお、制御部131は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、ランダムなデータの付加を不要とすることができる。
Note that the
<記憶装置の処理>
図10を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
<Storage device processing>
The processing of the access pattern protection unit according to this embodiment will be described with reference to FIG.
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS110)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS210)。 First, in the initial state, the data in the non-access area is randomly rearranged only once (step S110), and the data in the non-access area is selected according to the memory size of the access area and moved to the access area. (Step S210).
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する(ステップS310)。 Next, when one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. In addition, data is exchanged between the access area and the non-access area, and when the data to be accessed is stored in the history area, the data not stored in the history area is randomly selected and accessed. The data and the randomly selected data are set as two data, moved to the access area, and according to the moved data size, arbitrary data in the access area is moved to the history area and stored (step S310). .
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS410)。 When the access process to the data to be accessed is completed, necessary data in the access area is written (step S410).
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。 As described above, according to the present embodiment, since the data in the non-access area is rearranged only once, like an Obvious RAM that rearranges the data many times at a predetermined timing. It is possible to prevent the overhead from becoming large. In addition, when the data to be accessed is stored in the history area, the data not stored in the history area is selected at random, the data to be accessed and the randomly selected data are set as two data, and the access area Since the arbitrary data in the access area is moved and stored in the history area according to the moved data size, the access pattern can be effectively protected.
<第3の実施形態>
図11から図12を用いて、本発明の実施形態について説明する。
<Third Embodiment>
The embodiment of the present invention will be described with reference to FIGS.
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部は、図11に示すように、並べ替え部110と、移動部120と、制御部132と、書き出し部140と、保存部150と、記憶領域200とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
<Configuration of access pattern protection unit>
As shown in FIG. 11, the access pattern protection unit according to the present embodiment includes a
制御部132は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
When access to one piece of data occurs, the
例えば、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域とからランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、これらのデータを履歴領域に保存する。 For example, when the data to be accessed is stored in the access area, the data selected at random from the non-access area and the history area are set as two data, moved to the access area, and according to the moved data size Any data in the access area is moved to the non-access area, and these data are stored in the history area.
なお、制御部132は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、ランダムなデータの付加を不要とすることができる。
Note that the
<アクセスパターン保護部の処理>
図12を用いて、本実施形態に係る記憶装置の処理について説明する。
<Processing of access pattern protection unit>
Processing of the storage device according to this embodiment will be described with reference to FIG.
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS120)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS220)。 First, in the initial state, the data in the non-access area is randomly rearranged only once (step S120), and the data in the non-access area is selected according to the memory size of the access area and moved to the access area. (Step S220).
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域とからランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、これらのデータを履歴領域に保存する(ステップS320)。 Next, when one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. When data is exchanged between the access area and the non-access area, and the data to be accessed is stored in the access area, two pieces of data randomly selected from the non-access area and the history area are stored. In accordance with the moved data size, arbitrary data in the access area is moved to the non-access area, and these data are stored in the history area (step S320).
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS420)。 When the access process to the data to be accessed is completed, necessary data in the access area is written (step S420).
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。 As described above, according to the present embodiment, since the data in the non-access area is rearranged only once, like an Obvious RAM that rearranges the data many times at a predetermined timing. It is possible to prevent the overhead from becoming large. In addition, when the data to be accessed is stored in the access area, the data randomly selected from the non-access area and the history area is set as two data, moved to the access area, and according to the moved data size, Since arbitrary data in the access area is moved and stored in the history area, the access pattern can be effectively protected.
<実施例>
図13から図15を用いて、本発明の実施例について説明する。
<Example>
Embodiments of the present invention will be described with reference to FIGS.
図13は、1、2、・・・、9、A、B、・・・、Fをメモリに保存されているデータとしたときに、プログラムが、5→D→8→5→Aの順にデータにアクセスする場合のメモリの遷移を示したものである。以下、図14、図15を用いて、この処理を例示とし、説明する。なお、図13の例にかかわらず、非アクセス領域をさらに複数に分割してもよい。 FIG. 13 shows the program in the order of 5 → D → 8 → 5 → A when 1, 2,..., 9, A, B,. The memory transition when accessing data is shown. Hereinafter, this processing will be described as an example with reference to FIGS. 14 and 15. Note that, regardless of the example of FIG. 13, the non-access area may be further divided into a plurality.
まず、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え(ステップS1100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS1200)。 First, in the initial state, the data in the non-access area is randomly rearranged only once (step S1100), and the data in the non-access area is selected according to the memory size of the access area and moved to the access area. (Step S1200).
そして、まず、5にアクセスする場合には、5はアクセス領域に含まれないため、5ともう一つランダムに選択されたデータ(図13では、2)をアクセス領域に移動し、例えば、これにより、アクセス領域から移動する4とBとを履歴領域に保存して、5にアクセスする。このとき、アクセス領域内の他のデータ(図13では、2、3、8)に対してもアクセスを行う(ステップS1300)。 First, when accessing 5, since 5 is not included in the access area, 5 and another randomly selected data (2 in FIG. 13) are moved to the access area. Thus, 4 and B moving from the access area are stored in the history area and 5 is accessed. At this time, access is also made to other data (2, 3, 8 in FIG. 13) in the access area (step S1300).
次に、Dにアクセスする場合には、Dはアクセス領域に含まれないため、Dをアクセス領域に移動し、もう一つのデータは、履歴領域から選択する(例えば、図13では、B)。これにより、アクセス領域から移動する5と8とを履歴領域に保存して、Dにアクセスする。このとき、アクセス領域内の他のデータ(図13では、3、B、2)に対してもアクセスを行う(ステップS1400)。 Next, when accessing D, since D is not included in the access area, D is moved to the access area, and another data is selected from the history area (for example, B in FIG. 13). Thereby, 5 and 8 moved from the access area are stored in the history area, and D is accessed. At this time, access is also made to other data in the access area (3, B, 2 in FIG. 13) (step S1400).
さらに、8にアクセスする場合には、8は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図13では、A)、アクセス領域に移動する。これにより、アクセス領域から移動する3とBとを履歴領域に保存して、8にアクセスする。このとき、アクセス領域内の他のデータ(図13では、A、D、2)に対してもアクセスを行う(ステップS1500)。 Further, when accessing 8, since 8 is included in the history area, another data is randomly selected that is not included in the history area (A in FIG. 13) and moved to the access area. To do. As a result, 3 and B moving from the access area are stored in the history area, and 8 is accessed. At this time, another data in the access area (A, D, 2 in FIG. 13) is also accessed (step S1500).
さらに、5にアクセスする場合、5は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図13では、6)、アクセス領域に移動する。これにより、アクセス領域から移動する2と8とを履歴領域に保存して、5にアクセスする。また、アクセス領域内の他のデータ(図13では、A、D、6)に対してもアクセスを行う(ステップS1600)。 Furthermore, when accessing 5, since 5 is included in the history area, data other than the history area is randomly selected as another data (6 in FIG. 13) and moved to the access area. Thus, 2 and 8 moving from the access area are stored in the history area and 5 is accessed. Access is also made to other data in the access area (A, D, 6 in FIG. 13) (step S1600).
最後に、Aにアクセスする場合、Aはアクセス領域に含まれているため、アクセス領域に含まれないランダムに選択したデータと履歴領域に保存されているデータとを(図13では、3、F)、アクセス領域に移動する。これにより、アクセス領域から移動する6とDとが非アクセス領域に書き出され、Aにアクセスする。また、アクセス領域内の他のデータ(図13では、5、F、3)に対してもアクセスを行う(ステップS1700)。 Finally, when accessing A, since A is included in the access area, randomly selected data not included in the access area and data stored in the history area (in FIG. 13, 3, F ) Move to the access area. As a result, 6 and D moving from the access area are written to the non-access area and A is accessed. Access is also made to other data in the access area (5, F, 3 in FIG. 13) (step S1700).
そして、すべての処理が完了するとアクセス領域内の必要なデータを書き出して、終了する(ステップS1800)。 When all the processes are completed, necessary data in the access area is written and the process ends (step S1800).
したがって、本実施例によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができるという効果がある。また、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うことから、データのアクセスパターンを保護することができるという効果がある。さらに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うため、さらに、データのアクセスパターンを保護することができる。また、プログラムによってアクセスされるデータに対して、ランダムに選択したデータを取り込むことによって、安全性を保ちつつ、アクセスパターンの保護において、必要な保存領域を削減することができる。 Therefore, according to the present embodiment, since the data in the non-access area is rearranged only once, the overhead becomes large like an Obvious RAM that rearranges the data many times at a predetermined timing. There is an effect that can be prevented. Further, when one data is accessed, data is exchanged between the access area and the non-access area, so that the data access pattern can be protected. Furthermore, since other data in the access area is also accessed and data is exchanged between the access area and the non-access area, the data access pattern can be further protected. Further, by fetching randomly selected data with respect to data accessed by the program, it is possible to reduce the necessary storage area in protecting the access pattern while maintaining safety.
なお、記憶装置の処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを記憶装置に読み込ませ、実行することによって本発明の記憶装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。 Note that the storage device of the present invention can be realized by recording the processing of the storage device on a recording medium readable by the computer system, reading the program recorded on the recording medium into the storage device, and executing the program. The computer system here includes an OS and hardware such as peripheral devices.
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。 Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW (World Wide Web) system is used. The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。 The embodiments of the present invention have been described in detail with reference to the drawings. However, the specific configuration is not limited to the embodiments, and includes designs and the like that do not depart from the gist of the present invention.
10;データ移動部
20;キャッシュ部
30;復号化部
40;保管部
50;暗号化部
100;アクセスパターン保護部
110;並べ替え部
120;移動部
130;制御部
131;制御部
132;制御部
140;書き出し部
150;保存部
200;記憶領域
DESCRIPTION OF
Claims (9)
前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全なキャッシュに移動させるデータ移動手段と、
前記暗号化データを安全なキャッシュに移動させた後に、データを復号する復号手段と、
該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、
前記データxを用いた処理が完了し、データをメインメモリに移動させる際に、前記データxに前記シーケンス番号を付加した情報に対して、暗号化した情報E(x)´を生成する暗号化手段と、
該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、
を備えたことを特徴とする記憶装置。 A memory device comprising a storage area for storing history data, dividing the memory into a data access area and a non-access area,
A data moving means for moving the encrypted data to a secure cache using an arbitrary access pattern protection method when accessing the encrypted data E (x) stored in the access area; ,
Decryption means for decrypting the data after moving the encrypted data to a secure cache;
Storage means for storing the decrypted data x and a sequence number recording how many times the data x has been accessed;
Encryption that generates encrypted information E (x) ′ for information in which the sequence number is added to the data x when the processing using the data x is completed and the data is moved to the main memory Means,
Storage means for storing information E (x) ′ encrypted by the encryption means in the original access area;
A storage device comprising:
前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全なキャッシュに移動させるデータ移動手段と、
前記暗号化データを安全なキャッシュに移動させた後に、データを復号する復号手段と、
該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、
前記データxを用いた処理が完了し、データをメインメモリに移動させる際に、前記データxと前記シーケンス番号との演算を行った情報に対して、暗号化した情報E(x)´を生成する暗号化手段と、
該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、
を備えたことを特徴とする記憶装置。 A memory device comprising a storage area for storing history data, dividing the memory into a data access area and a non-access area,
A data moving means for moving the encrypted data to a secure cache using an arbitrary access pattern protection method when accessing the encrypted data E (x) stored in the access area; ,
Decryption means for decrypting the data after moving the encrypted data to a secure cache;
Storage means for storing the decrypted data x and a sequence number recording how many times the data x has been accessed;
When the processing using the data x is completed and the data is moved to the main memory, encrypted information E (x) ′ is generated for the information obtained by calculating the data x and the sequence number Encryption means to
Storage means for storing information E (x) ′ encrypted by the encryption means in the original access area;
A storage device comprising:
CPUのワードサイズに相当する暗号化する情報と前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵とを入力する入力手段と、
複数の非線形関数器と、
前記暗号化する情報を攪拌する攪拌手段と、
を備えたことを特徴とする請求項1から請求項3のいずれかに記載の記憶装置。 The encryption means is at least
Input means for inputting the information to be encrypted corresponding to the word size of the CPU and the same key as that used when the encrypted data E (x) was generated;
Multiple nonlinear function units;
Stirring means for stirring the information to be encrypted;
The storage device according to any one of claims 1 to 3, further comprising:
前記攪拌手段が、偏りなく攪拌されるように、前記入力手段の出力部および前記出力手段の入力部に設けられた排他的論理和演算器であり、前記出力手段が該攪拌された情報と前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵とを入力して暗号化情報を出力することを特徴とする請求項4に記載の記憶装置。 An output means for outputting the encrypted information;
An exclusive OR calculator provided in the output unit of the input unit and the input unit of the output unit so that the stirring unit is stirred without bias, and the output unit includes the stirred information and the 5. The storage device according to claim 4, wherein the encryption information is output by inputting the same key used when generating the encrypted data E (x).
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項6のいずれかに記載の記憶装置。 The access pattern protection method comprises:
A first step of randomly rearranging data in the non-access area only once in an initial state;
A second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area;
When one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. The data exchanged between the access area and the non-access area, and the data to be accessed does not exist in the access area and the history area, exists in the non-access area, and is stored in the history area If there is a data, the data to be accessed and the arbitrary data stored in the history area are selected as the two data, moved to the access area, and the access is performed according to the moved data size. A third step of moving and saving arbitrary data in the area to the history area;
A fourth step of writing necessary data in the access area when the access process to the data to be accessed is completed;
The storage device according to any one of claims 1 to 6, further comprising:
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項6のいずれかに記載の記憶装置。 The access pattern protection method comprises:
A first step of randomly rearranging data in the non-access area only once in an initial state;
A second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area;
When one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. The data is exchanged between the access area and the non-access area, and when the data to be accessed is stored in the history area, the data not stored in the history area is selected at random, and the access is performed. The data to be performed and the randomly selected data are the two data, moved to the access area, and according to the moved data size, arbitrary data in the access area is moved to the history area. And a third step of saving
A fourth step of writing necessary data in the access area when the access process to the data to be accessed is completed;
The storage device according to any one of claims 1 to 6, further comprising:
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項6のいずれかに記載の記憶装置。 The access pattern protection method comprises:
A first step of randomly rearranging data in the non-access area only once in an initial state;
A second step of selecting data in the non-access area according to the memory size of the access area and moving the data to the access area;
When one data is accessed, when two data are selected and data is exchanged between the access area and the non-access area, other data in the access area is also accessed. And exchanging data between the access area and the non-access area, and when the data to be accessed is stored in the access area, randomly selected data from the non-access area and the history area Two data are moved to the access area, and according to the moved data size, arbitrary data in the access area is moved to the non-access area, and these data are stored in the history area. 3 steps,
A fourth step of writing necessary data in the access area when the access process to the data to be accessed is completed;
The storage device according to any one of claims 1 to 6, further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013135244A JP6144126B2 (en) | 2013-06-27 | 2013-06-27 | Storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013135244A JP6144126B2 (en) | 2013-06-27 | 2013-06-27 | Storage device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015011452A JP2015011452A (en) | 2015-01-19 |
JP6144126B2 true JP6144126B2 (en) | 2017-06-07 |
Family
ID=52304580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013135244A Active JP6144126B2 (en) | 2013-06-27 | 2013-06-27 | Storage device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6144126B2 (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5882134B2 (en) * | 2012-05-28 | 2016-03-09 | Kddi株式会社 | Storage device, storage medium, access pattern concealment method and program |
JP5801273B2 (en) * | 2012-09-27 | 2015-10-28 | Kddi株式会社 | Storage device, access pattern concealment method and program |
-
2013
- 2013-06-27 JP JP2013135244A patent/JP6144126B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015011452A (en) | 2015-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
JP4551802B2 (en) | Processor, memory, computer system, and data transfer method | |
EP2619705B1 (en) | A tweakable encryption mode for memory encryption with protection against replay attacks | |
US9515818B2 (en) | Multi-block cryptographic operation | |
CN103294961A (en) | Method and device for file encrypting/decrypting | |
US20070237324A1 (en) | Cryptographic processing | |
JP4758904B2 (en) | Confidential information processing method | |
CN108494546A (en) | A kind of whitepack encryption method, device and storage medium | |
US20150349951A1 (en) | Protecting Cryptographic Operations Using Conjugacy Class Functions | |
CN106209346B (en) | White-box cryptography interleaving lookup table | |
JP5801273B2 (en) | Storage device, access pattern concealment method and program | |
JP6144126B2 (en) | Storage device | |
JP6077405B2 (en) | Storage device | |
JP5865222B2 (en) | Storage device, access pattern concealment method and program | |
KR20060110383A (en) | Multi-mode ciphering apparatus for network security processor | |
JP6077421B2 (en) | Storage device, storage system, and program | |
JP6106050B2 (en) | Storage device, storage system, storage method and program | |
US20210143978A1 (en) | Method to secure a software code performing accesses to look-up tables | |
US20200162113A1 (en) | Encryption device and decryption device, and operation method thereof | |
JP2013152382A (en) | Storage device, preservation method of data, and program | |
JP5908376B2 (en) | Secret key generation apparatus, secret key generation method and program | |
US20240064002A1 (en) | Method for securing an execution of a cryptographic process | |
JP5990115B2 (en) | Storage device, access pattern concealment method and program | |
Onik et al. | Design and Development of a Straight forward Approach to Enable Offline DRM for Android Devices | |
Amola et al. | Android Security: Security using Encryption (AES) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160202 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170418 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170510 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6144126 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |