JP6077421B2 - 記憶装置、記憶システムおよびプログラム - Google Patents

記憶装置、記憶システムおよびプログラム Download PDF

Info

Publication number
JP6077421B2
JP6077421B2 JP2013171540A JP2013171540A JP6077421B2 JP 6077421 B2 JP6077421 B2 JP 6077421B2 JP 2013171540 A JP2013171540 A JP 2013171540A JP 2013171540 A JP2013171540 A JP 2013171540A JP 6077421 B2 JP6077421 B2 JP 6077421B2
Authority
JP
Japan
Prior art keywords
data
access area
area
access
encrypted
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
Application number
JP2013171540A
Other languages
English (en)
Other versions
JP2015040957A (ja
Inventor
有登 仲野
有登 仲野
清本 晋作
晋作 清本
三宅 優
優 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI Corp
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 KDDI Corp filed Critical KDDI Corp
Priority to JP2013171540A priority Critical patent/JP6077421B2/ja
Publication of JP2015040957A publication Critical patent/JP2015040957A/ja
Application granted granted Critical
Publication of JP6077421B2 publication Critical patent/JP6077421B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アクセスパターンの保護に適した記憶装置、記憶システムおよびプログラムに関する。
近年、暗号に対するサイドチャネル攻撃と呼ばれる攻撃が大きな問題となっている。ソフトウェアに対するサイドチャネル攻撃としては、メモリアクセスを解析し秘密情報を復元する攻撃がある。こうした攻撃に対応して、メモリアクセスを攻撃者から保護するためにOblivious RAMが注目を集めている(例えば、非特許文献1および非特許文献2参照。)。
Oded Goldreich and Rafail Ostrovsky, "Software protection and simulation on oblivious RAMS," J. ACM, 43(3):431−473, 1996. Elaine Shi,T.?H.Hubert Chan,Emil Stefanov, Mingfei Li, "Oblivious RAM with O(logN)3 Worst?Case Cost",Springer,2011.
ところが、非特許文献1などで検討されているOblivious RAM(ORAM)によるメモリの保護は、安全な暗号方式によってデータは保護されているとの前提のもとに、アクセスのパターンを保護することでメモリへのアクセスを保護している。ORAMによってデータにアクセスを行う場合、それがデータの変化を伴わない読み出し処理であっても、読み出し処理であったという事実を秘匿するためにデータをメモリに戻す際にデータが別の値に変化している必要がある。これを実現する最もシンプルな方法は、データごとに異なる鍵を用意し、アクセスのたびに鍵の更新と新しい鍵での再暗号化を行う方式である。しかし、この方式では、データの分だけ鍵を用意し、それを安全に保管しておく必要があるため、現実的ではない。
そこで、本発明は、上述の課題に鑑みてなされたものであり、アクセスパターンの保護に適した記憶装置、記憶システムおよびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
(1)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させるデータ移動手段と、前記暗号化データをアクセス領域に移動させた後に、データを復号する復号手段と、変数値を生成する変数値生成手段と、該復号したデータxと、前記生成した変数値とを保管する保管手段と、前記データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、該暗号化手段により暗号化された情報E(x)´を元の前記非アクセス領域に格納する格納手段と、を備えたことを特徴とする記憶装置を提案している。
(2)本発明は、履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムであって、前記クライアント端末が、前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させるデータ移動手段と、移動したデータを復号する復号手段と、変数値を生成する変数値生成手段と、該復号したデータxと、前記生成した変数値とを保管する保管手段と、前記データxを用いた処理が完了し、データをリモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、該暗号化手段により暗号化された情報E(x)´を前記リモートストレージ記記憶装置の元のアクセス領域に格納する格納手段と、を備えたことを特徴とする記憶システムを提案している。
(3)本発明は、(1)の記憶装置について、前記変数値生成手段が、乱数を発生させて、前記変数値を生成することを特徴とする記憶装置を提案している。
(4)本発明は、(1)の記憶装置について、前記変数値生成手段が、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することを特徴とする記憶装置を提案している。
(5)本発明は、(2)の記憶システムについて、前記変数値生成手段が、乱数を発生させて、前記変数値を生成することを特徴とする記憶システムを提案している。
(6)本発明は、(2)の記憶システムについて、前記変数値生成手段が、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することを特徴とする記憶システムを提案している。
(7)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置における暗号化方法であって、前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させる第1のステップと、前記暗号化データをアクセス領域に移動させた後に、データを復号する第2のステップと、変数値を生成する第3のステップと、該復号したデータxと、前記生成した変数値とを保管する第4のステップと、前記データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、該暗号化された情報E(x)´を元の前記非アクセス領域に格納する第6のステップと、を備えたことを特徴とする暗号化方法を提案している。
(8)本発明は、履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムにおける暗号化方法であって、前記クライアント端末が、前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させる第1のステップと、前記クライアント端末が、移動したデータを復号する第2のステップと、前記クライアント端末が、変数値を生成する第3のステップと、前記クライアント端末が、該復号したデータxと、前記生成した変数値とを保管する第4のステップと、前記クライアント端末が、前記データxを用いた処理が完了し、データを前記リモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、前記クライアント端末が、該暗号化された情報E(x)´を前記リモートストレージに格納する第6のステップと、を備えたことを特徴とする暗号化方法を提案している。
(9)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置における処理をコンピュータに実行させるためのプログラムであって、前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させる第1のステップと、前記暗号化データをアクセス領域に移動させた後に、データを復号する第2のステップと、変数値を生成する第3のステップと、該復号したデータxと、前記生成した変数値と、を保管する第4のステップと、前記データxを用いた処理が完了し、データをアクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、該暗号化された情報E(x)´を元の前記非アクセス領域に格納する第6のステップと、をコンピュータに実行させるためのプログラムを提案している。
(10)本発明は、履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムにおける処理をコンピュータに実行させるためのプログラムであって、前記クライアント端末が、前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させる第1のステップと、前記クライアント端末が、移動したデータを復号する第2のステップと、前記クライアント端末が、変数値を生成する第3のステップと、前記クライアント端末が、該復号したデータxと、前記生成した変数値とを保管する第4のステップと、前記クライアント端末が、前記データxを用いた処理が完了し、データを前記リモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、前記クライアント端末が、該暗号化された情報E(x)´を前記リモートストレージに格納する第6のステップと、をコンピュータに実行させるためのプログラムを提案している。
(11)本発明は、(1)、(3)、(4)の記憶装置について、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、 1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および前記履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。
(12)本発明は、(2)、(5)、(6)の記憶システムについて、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および前記履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶システムを提案している。
(13)本発明は、(1)、(3)、(4)の記憶装置について、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。
(14)本発明は、(2)、(5)、(6)の記憶システムについて、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶システムを提案している。
(15)本発明は、(1)、(3)、(4)の記憶装置について、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶装置を提案している。
(16)本発明は、(2)、(5)、(6)の記憶システムについて、前記アクセスパターンの秘匿方法が、初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記リモートストレージと前記履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、を備えたことを特徴とする記憶システムを提案している。
本発明によれば、アクセスパターン保護向けのデータ暗号化が可能となるという効果がある。また、アクセスパターン保護と組み合わせて利用することにより、リモートストレージに対するアクセスの安全性を高めることができるという効果である。
本発明に係る記憶装置の構成を示す図である。 本発明に係る記憶装置における変数値の保存形式を示す図である。 本発明に係る記憶装置の処理の概略を示す図である。 本発明に係る記憶システムの構成を示す図である。 本発明に係る記憶システムにおけるクライアント端末の構成を示す図である。 本発明に係る記憶システムの処理の概略を示す図である。 本発明の第1の実施形態に係るアクセスパターン保護部の構成を示す図である。 本発明の第1の実施形態に係るアクセスパターン保護部の処理を示す図である。 本発明の第2の実施形態に係る記憶装置におけるアクセスパターン保護部の構成を示す図である。 本発明の第2の実施形態に係る記憶装置におけるアクセスパターン保護部の処理を示す図である。 本発明の第3の実施形態に係る記憶装置におけるアクセスパターン保護部の構成を示す図である。 本発明の第3の実施形態に係る記憶装置におけるアクセスパターン保護部の処理を示す図である。 本発明の実施例に係るアクセス時の記憶領域内のデータの遷移を示す図である。 本発明の実施例に係るアクセスパターン保護部の処理を示す図である。 本発明の実施例に係るアクセスパターン保護部の処理を示す図である。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<記憶装置の構成>
図1から図3を用いて、本発明の記憶装置について説明する。
本発明の記憶装置は、アクセスパターン保護部100と記憶領域200と、データ移動部10と、復号化部30と、変数値生成部40と、保管部50と、暗号化部60と、格納部70とから構成されている。なお、アクセスパターン保護部100の詳細については、後述する。
記憶領域200は、メモリをデータのアクセス領域と非アクセス領域と履歴領域とに分割されている。なお、アクセス領域、非アクセス領域、履歴領域は、DRAM、SRAM等の書き換え可能なメモリで構成される。また、アクセス領域を耐タンパ性を備えたDRAM、SRAM等の書き換え可能なメモリで構成してもよい。なお、本発明の記憶装置は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。
データ移動部10は、非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、暗号化データをアクセス領域に移動させる。復号化部30は、暗号化データを安全な領域に移動させた後に、データを復号する。
変数値生成部40は、変数値を生成する。具体的には、乱数を発生させて、変数値を生成する、あるいは、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することが好ましい。
保管部50は、復号したデータxと、生成した変数値とを図2のように関連付けて保管する。暗号化部60は、データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、データxに変数値を付加した情報に対して、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する。
具体的には、ブロック暗号Eに対して、数1に示すように、入力x、鍵K、変数値Tの3つを入力する。
Figure 0006077421
または、数2に示すように、数3を満たすハッシュ関数を用いて、暗号化をしてもよい。
Figure 0006077421
Figure 0006077421
格納部70は、暗号化された情報E(x)´を元の非アクセス領域に格納する。
<記憶装置の処理>
図3を用いて、記憶装置の処理について説明する。
まず、データ移動部10は、非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、暗号化データをアクセス領域に移動させる(ステップS10)。
復号化部30は、暗号化データをアクセス領域に移動させた後に、データを復号し(ステップS20)、変数値生成部40は、変数値を生成する(ステップS30)。
保管部50は、復号したデータxと、生成した変数値とを保管し(ステップS40)、暗号化部60は、データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、データxに変数値を付加した情報に対して、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する(ステップS50)。そして、格納部70は、暗号化された情報E(x)´を元の非アクセス領域に格納する(ステップS60)。
<記憶システムの構成>
図4から図6を用いて、本発明の記憶システムについて説明する。
本発明の記憶システムは、クライアント端末500とリモートストレージ400とから構成されている。また、クライアント端末500は、アクセスパターン保護部100と記憶領域200と、データ移動部11と、復号化部31と、変数値生成部41と、保管部51と、暗号化部61と、格納部71とから構成されている。
クライアント端末500のデータ移動部11は、アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、暗号化データをリモートストレージ400に移動させる。
復号化部31は、暗号化データを復号する。変数値生成部41は、変数値を生成する。具体的には、乱数を発生させて、変数値を生成する、あるいは、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することが好ましい。
保管部51は、復号したデータxと、生成した変数値とを関連付けて保管する。暗号化部61は、データxを用いた処理が完了したときに、データxに変数値を付加した情報に対して、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する。格納部470は、暗号化された情報E(x)´をリモートストレージ400に格納する。
<記憶システムの処理>
図6を用いて、記憶システムの処理について説明する。
まず、クライント端末500のデータ移動部11は、アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、暗号化データを移動させる(ステップS11)。
復号化部31は、暗号化データを復号し(ステップS21)、変数値生成部41は、変数値を生成する(ステップS31)。
保管部51は、復号したデータxと、生成した変数値とを保管し(ステップS41)、暗号化部61は、データxを用いた処理が完了したときに、データxに変数値を付加した情報に対して、暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する(ステップS51)。そして、格納部70は、暗号化された情報E(x)´をリモートストレージ400に格納する(ステップS61)。
<第1の実施形態>
図7から図8を用いて、本発明の実施形態について説明する。
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部100は、図7に示すように、並べ替え部110と、移動部120と、制御部130と、書き出し部140と、保存部150とから構成されている。なお、クライアント端末とリモートストレージからなるシステムの場合には、非アクセス領域がリモートストレージとなる。
並べ替え部110は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動部120は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。
制御部130は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する。
なお、制御部130は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、有効に、アクセスパターンを保護することができる。
書き出し部140は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。保存部150は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存する。
<アクセスパターン保護部の処理>
図8を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS200)。
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する(ステップS300)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS400)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータがアクセス領域および履歴領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとを2つのデータとして選択して、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。
<第2の実施形態>
図9から図10を用いて、本発明の実施形態について説明する。
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部は、図9に示すように、並べ替え部110と、移動部120と、制御部131と、書き出し部140と、保存部150とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。また、クライアント端末とリモートストレージからなるシステムの場合には、非アクセス領域がリモートストレージとなる。
制御部131は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する。
なお、制御部131は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、ランダムなデータの付加を不要とすることができる。
<アクセスパターン保護部の処理>
図10を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS110)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS210)。
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存する(ステップS310)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS410)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータをランダムに選択し、アクセスを行うデータとランダムに選択したデータとを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。
<第3の実施形態>
図11から図12を用いて、本発明の実施形態について説明する。
<アクセスパターン保護部の構成>
本実施形態に係るアクセスパターン保護部は、図11に示すように、並べ替え部110と、移動部120と、制御部132と、書き出し部140と、保存部150とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。また、クライアント端末とリモートストレージからなるシステムの場合には、非アクセス領域がリモートストレージとなる。
制御部132は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域とからランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、これらのデータを履歴領域に保存する。
なお、制御部132は、他のプロセス、あるいは、他の時刻で使用されるデータを対象としてランダムにデータを選択する。これにより、ランダムなデータの付加を不要とすることができる。
<アクセスパターン保護部の処理>
図12を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS120)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS220)。
次に、1つのデータにアクセスが生じたときに、2つのデータを選択し、アクセス領域と非アクセス領域との間でデータ交換を行う際に、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域とからランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、これらのデータを履歴領域に保存する(ステップS320)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS420)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータを2つのデータとし、アクセス領域に移動して、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して保存することから、有効に、アクセスパターンを保護することができる。
<実施例>
図13から図15を用いて、本発明の実施例について説明する。
図13は、1、2、・・・、9、A、B、・・・、Fをメモリに保存されているデータとしたときに、プログラムが、5→D→8→5→Aの順にデータにアクセスする場合のメモリの遷移を示したものである。以下、図14、図15を用いて、この処理を例示とし、説明する。なお、図13の例にかかわらず、非アクセス領域をさらに複数に分割してもよい。
まず、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え(ステップS1100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS1200)。
そして、まず、5にアクセスする場合には、5はアクセス領域に含まれないため、5ともう一つランダムに選択されたデータ(図13では、2)をアクセス領域に移動し、例えば、これにより、アクセス領域から移動する4とBとを履歴領域に保存して、5にアクセスする。このとき、アクセス領域内の他のデータ(図13では、2、3、8)に対してもアクセスを行う(ステップS1300)。
次に、Dにアクセスする場合には、Dはアクセス領域に含まれないため、Dをアクセス領域に移動し、もう一つのデータは、履歴領域から選択する(例えば、図13では、B)。これにより、アクセス領域から移動する5と8とを履歴領域に保存して、Dにアクセスする。このとき、アクセス領域内の他のデータ(図13では、3、B、2)に対してもアクセスを行う(ステップS1400)。
さらに、8にアクセスする場合には、8は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図13では、A)、アクセス領域に移動する。これにより、アクセス領域から移動する3とBとを履歴領域に保存して、8にアクセスする。このとき、アクセス領域内の他のデータ(図13では、A、D、2)に対してもアクセスを行う(ステップS1500)。
さらに、5にアクセスする場合、5は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図13では、6)、アクセス領域に移動する。これにより、アクセス領域から移動する2と8とを履歴領域に保存して、5にアクセスする。また、アクセス領域内の他のデータ(図13では、A、D、6)に対してもアクセスを行う(ステップS1600)。
最後に、Aにアクセスする場合、Aはアクセス領域に含まれているため、アクセス領域に含まれないランダムに選択したデータと履歴領域に保存されているデータとを(図13では、3、F)、アクセス領域に移動する。これにより、アクセス領域から移動する6とDとが非アクセス領域に書き出され、Aにアクセスする。また、アクセス領域内の他のデータ(図13では、5、F、3)に対してもアクセスを行う(ステップS1700)。
そして、すべての処理が完了するとアクセス領域内の必要なデータを書き出して、終了する(ステップS1800)。
したがって、本実施例によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができるという効果がある。また、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うことから、データのアクセスパターンを保護することができるという効果がある。さらに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うため、さらに、データのアクセスパターンを保護することができる。また、プログラムによってアクセスされるデータに対して、ランダムに選択したデータを取り込むことによって、安全性を保ちつつ、アクセスパターンの保護において、必要な保存領域を削減することができる。
なお、記憶装置および記憶システムの処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを記憶装置および記憶システムに読み込ませ、実行することによって本発明の記憶装置および記憶システムを実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10;データ移動部
11;データ移動部
20;キャッシュ部
30;復号化部
40;変数値生成部
50;保管部
60;暗号化部
70;格納部
100;アクセスパターン保護部
110;並べ替え部
120;移動部
130;制御部
131;制御部
132;制御部
140;書き出し部
150;保存部
200;記憶領域
300;記憶装置
400;リモートストレージ
420;キャッシュ部
430;復号化部
440;変数値生成部
450;保管部
460;暗号化部
470;格納部
500;クライアント端末

Claims (16)

  1. メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、
    前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させるデータ移動手段と、
    前記暗号化データをアクセス領域に移動させた後に、データを復号する復号手段と、変数値を生成する変数値生成手段と、
    該復号したデータxと、前記生成した変数値とを保管する保管手段と、
    前記データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、
    該暗号化手段により暗号化された情報E(x)´を元の前記非アクセス領域に格納する格納手段と、
    を備えたことを特徴とする記憶装置。
  2. 履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムであって、
    前記クライアント端末が、
    前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させるデータ移動手段と、
    移動したデータを復号する復号手段と、変数値を生成する変数値生成手段と、
    該復号したデータxと、前記生成した変数値とを保管する保管手段と、
    前記データxを用いた処理が完了し、データをリモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、
    該暗号化手段により暗号化された情報E(x)´を前記リモートストレージ記記憶装置の元のアクセス領域に格納する格納手段と、
    を備えたことを特徴とする記憶システム。
  3. 前記変数値生成手段が、乱数を発生させて、前記変数値を生成することを特徴とする請求項1に記載の記憶装置。
  4. 前記変数値生成手段が、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することを特徴とする請求項1に記載の記憶装置。
  5. 前記変数値生成手段が、乱数を発生させて、前記変数値を生成することを特徴とする請求項2に記載の記憶システム。
  6. 前記変数値生成手段が、直近に生成した変数値に任意の数値を加算又は減算して変数値を生成することを特徴とする請求項2に記載の記憶システム。
  7. メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置における暗号化方法であって、
    前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させる第1のステップと、
    前記暗号化データをアクセス領域に移動させた後に、データを復号する第2のステップと、
    変数値を生成する第3のステップと、
    該復号したデータxと、前記生成した変数値とを保管する第4のステップと、
    前記データxを用いた処理が完了し、データを非アクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、
    該暗号化された情報E(x)´を元の前記非アクセス領域に格納する第6のステップと、
    を備えたことを特徴とする暗号化方法。
  8. 履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムにおける暗号化方法であって、
    前記クライアント端末が、前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させる第1のステップと、
    前記クライアント端末が、移動したデータを復号する第2のステップと、
    前記クライアント端末が、変数値を生成する第3のステップと、
    前記クライアント端末が、該復号したデータxと、前記生成した変数値とを保管する第4のステップと、
    前記クライアント端末が、前記データxを用いた処理が完了し、データを前記リモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、
    前記クライアント端末が、該暗号化された情報E(x)´を前記リモートストレージに格納する第6のステップと、
    を備えたことを特徴とする暗号化方法。
  9. メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置における処理をコンピュータに実行させるためのプログラムであって、
    前記非アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データをアクセス領域に移動させる第1のステップと、前記暗号化データをアクセス領域に移動させた後に、データを復号する第2のステップと、
    変数値を生成する第3のステップと、
    該復号したデータxと、前記生成した変数値とを保管する第4のステップと、
    前記データxを用いた処理が完了し、データをアクセス領域に移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、
    該暗号化された情報E(x)´を元の前記非アクセス領域に格納する第6のステップと、
    をコンピュータに実行させるためのプログラム。
  10. 履歴データを記憶する記憶領域とデータのアクセス領域とを備えたクライアント端末とリモートストレージとからなる記憶システムにおける処理をコンピュータに実行させるためのプログラムであって、
    前記クライアント端末が、前記リモートストレージに格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの秘匿方法を用いて、前記暗号化データを前記クライアント端末に移動させる第1のステップと、
    前記クライアント端末が、移動したデータを復号する第2のステップと、
    前記クライアント端末が、変数値を生成する第3のステップと、
    前記クライアント端末が、該復号したデータxと、前記生成した変数値とを保管する第4のステップと、
    前記クライアント端末が、前記データxを用いた処理が完了し、データを前記リモートストレージに移動させる際に、前記データxに前記変数値を付加した情報に対して、前記暗号化データE(x)を生成した際に用いた鍵と同一の鍵を用いて暗号化した情報E(x)´を生成する第5のステップと、
    前記クライアント端末が、該暗号化された情報E(x)´を前記リモートストレージに格納する第6のステップと、
    をコンピュータに実行させるためのプログラム。
  11. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および前記履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項1、請求項3、請求項4のいずれかに記載の記憶装置。
  12. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、
    前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および前記履歴領域に存在せず、前記リモートストレージに存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項2、請求項5、請求項6のいずれかに記載の記憶システム。
  13. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項1、請求項3、請求項4のいずれかに記載の記憶装置。
  14. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、
    前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項2、請求項5、請求項6のいずれかに記載の記憶システム。
  15. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項1、請求項3、請求項4のいずれかに記載の記憶装置。
  16. 前記アクセスパターンの秘匿方法が、
    初期状態において、1度だけ、前記リモートストレージ内のデータをランダムに並び替える第1のステップと、
    前記リモートストレージ内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域とリモートストレージとの間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域とリモートストレージとの間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記リモートストレージと前記履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とする請求項2、請求項5、請求項6のいずれかに記載の記憶システム。
JP2013171540A 2013-08-21 2013-08-21 記憶装置、記憶システムおよびプログラム Active JP6077421B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013171540A JP6077421B2 (ja) 2013-08-21 2013-08-21 記憶装置、記憶システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013171540A JP6077421B2 (ja) 2013-08-21 2013-08-21 記憶装置、記憶システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2015040957A JP2015040957A (ja) 2015-03-02
JP6077421B2 true JP6077421B2 (ja) 2017-02-08

Family

ID=52695156

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013171540A Active JP6077421B2 (ja) 2013-08-21 2013-08-21 記憶装置、記憶システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP6077421B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112307149B (zh) * 2020-10-30 2022-11-25 陕西师范大学 一种具有访问模式保护的空间数据范围查询方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
US8189770B2 (en) * 2006-08-10 2012-05-29 Nec Corporation Tweakable block encryption apparatus, method, and program
JP5112555B1 (ja) * 2011-12-02 2013-01-09 株式会社東芝 メモリカード、ストレージメディア、及びコントローラ
JP2013156798A (ja) * 2012-01-30 2013-08-15 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム

Also Published As

Publication number Publication date
JP2015040957A (ja) 2015-03-02

Similar Documents

Publication Publication Date Title
EP2619705B1 (en) A tweakable encryption mode for memory encryption with protection against replay attacks
CN103294961A (zh) 一种文件加/解密方法以及文件加/解密装置
US10027640B2 (en) Secure data re-encryption
US20150242332A1 (en) Self-encrypting flash drive
CN106599629B (zh) 一种安卓应用程序加固方法及装置
JP5882134B2 (ja) 記憶装置、記憶媒体、アクセスパターンの秘匿方法およびプログラム
CN108494546A (zh) 一种白盒加密方法、装置及存储介质
CN106209346B (zh) 白盒密码技术交错查找表
CN100561396C (zh) 修改数字权限对象的方法及其所用的电子设备
CN103246852A (zh) 加密数据的存取方法及装置
CN108390942A (zh) 一种硬件加密的分布式云存储方法与装置
JP5801273B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP6077421B2 (ja) 記憶装置、記憶システムおよびプログラム
JP2013156798A (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP5865222B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP6106050B2 (ja) 記憶装置、記憶システム、記憶方法およびプログラム
CN109657493A (zh) 一种信息处理方法和装置
CN103491384A (zh) 一种视频的加密方法和装置及解密方法和装置
JP6144126B2 (ja) 記憶装置
JP6077405B2 (ja) 記憶装置
JP6181573B2 (ja) データ共有システム、データ共有方法およびプログラム
JP2013152382A (ja) 記憶装置、データの保存方法およびプログラム
JP5908376B2 (ja) 秘密鍵生成装置、秘密鍵生成方法およびプログラム
JP5990115B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP2015041217A (ja) 記憶装置、処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161220

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: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170112

R150 Certificate of patent or registration of utility model

Ref document number: 6077421

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150