JP2014068289A - 記憶装置、アクセスパターンの秘匿方法およびプログラム - Google Patents

記憶装置、アクセスパターンの秘匿方法およびプログラム Download PDF

Info

Publication number
JP2014068289A
JP2014068289A JP2012213514A JP2012213514A JP2014068289A JP 2014068289 A JP2014068289 A JP 2014068289A JP 2012213514 A JP2012213514 A JP 2012213514A JP 2012213514 A JP2012213514 A JP 2012213514A JP 2014068289 A JP2014068289 A JP 2014068289A
Authority
JP
Japan
Prior art keywords
data
access area
area
access
history
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.)
Granted
Application number
JP2012213514A
Other languages
English (en)
Other versions
JP5801273B2 (ja
Inventor
Aritaka Nakano
有登 仲野
Shinsaku Kiyomoto
晋作 清本
Masaru Miyake
優 三宅
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 JP2012213514A priority Critical patent/JP5801273B2/ja
Publication of JP2014068289A publication Critical patent/JP2014068289A/ja
Application granted granted Critical
Publication of JP5801273B2 publication Critical patent/JP5801273B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】組み込みシステムなどでも実行が可能かつ専用ハードウェアが不要で、アクセスパターンを秘匿し、履歴情報を攻撃者から秘匿化する。
【解決手段】メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データ記憶領域を備えた記憶装置で、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択しアクセス領域に移動し、1つのデータにアクセスが生じた時に、アクセス領域と非アクセス領域との間でデータ交換を行うと共に、アクセス領域内の他のデータについてもアクセスを行う。アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、アクセス領域にあった任意のデータを履歴領域に移動する。そしてアクセス領域内の必要なデータを書き出す。
【選択図】図2

Description

本発明は、現実的なオーバーヘッドでアクセスパターンを秘匿するとともに、履歴情報を攻撃者から秘匿化する記憶装置、アクセスパターンの秘匿方法およびプログラムに関する。
近年、暗号に対するサイドチャネル攻撃と呼ばれる攻撃が大きな問題となっている。ソフトウェアに対するサイドチャネル攻撃としては、メモリアクセスを解析し秘密情報を復元する攻撃がある。こうした攻撃に対応して、メモリアクセスを攻撃者から保護するためにOblivious RAMが注目を集めている(例えば、非特許文献1および非特許文献2参照。)。
Oded Goldreich and Rafail Ostrovsky,"Software protection and simulation on oblivious RAMS,"J.ACM,43(3):431−473,1996. X.Zhuang et al."Hardware Assisted Control Flow Obfuscation for Embedded Processors",CASE 2004,2004.
ところが、非特許文献1などで検討されているOblivious RAMによるメモリの保護は、オーバーヘッドが大きく、実用化が困難であるという問題がある。そこで、非特許文献2では、ハードウェアの支援によるメモリ保護手法が提案されているが、この方法では、データに対するアクセス頻度や順序などの情報を攻撃者が入手できるという問題がある。また、専用のハードウェアが必要であるという制約がある。また、従来の方法では、攻撃者から記憶装置が保持している履歴情報を保護することが困難であるため、履歴情報を利用した攻撃を防止できないという問題があった。
そこで、本発明は、上述の課題に鑑みてなされたものであり、組み込みシステムなどでも実行が可能であり、かつ専用ハードウェアが不要であって、アクセスパターンを秘匿するとともに、履歴情報を攻撃者から秘匿化することができる記憶装置、アクセスパターンの秘匿方法およびプログラムを提供することを目的とする。
本発明は、上記の課題を解決するために、以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
(1)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段(例えば、図1の並べ替え部110に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段(例えば、図1の移動部120に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段(例えば、図1の制御部130に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段(例えば、図1の書き出し部140に相当)と、前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、備え、前記制御手段は、アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置を提案している。
この発明によれば、並び替え手段は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動手段は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。制御手段は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。書き出し手段は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。そして、保存手段は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存し、制御手段は、アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(2)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段(例えば、図3の並べ替え部110に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段(例えば、図3の移動部120に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段(例えば、図3の制御部131に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段(例えば、図3の書き出し部140に相当)と、前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、備え、前記制御手段は、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置を提案している。
この発明によれば、並び替え手段は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動手段は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。制御手段は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。書き出し手段は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。そして、保存手段は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存し、制御手段は、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(3)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段(例えば、図5の並べ替え部110に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段(例えば、図5の移動部120に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段(例えば、図5の制御部132に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段(例えば、図5の書き出し部140に相当)と、前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、備え、前記制御手段は、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置を提案している。
この発明によれば、並び替え手段は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動手段は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。制御手段は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。書き出し手段は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。そして、保存手段は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存し、制御手段は、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、非アクセス領域からランダムに選択したデータとアクセスするデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(4)本発明は、(1)から(3)の記憶装置について、前記制御手段が、すでに、前記履歴領域がデータで満たされた状態で、前記上書き保存することを特徴とする記憶装置を提案している。
この発明によれば、制御手段が、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
(5)本発明は、(1)から(4)の記憶装置について、前記アクセス領域が耐タンパ性を有することを特徴とする記憶装置を提案している。
この発明によれば、アクセス領域が耐タンパ性を有する。この場合、アクセス領域内のすべてのデータにアクセスする必要がなくなるため、さらに、オーバーヘッドを削減できる。また、記憶装置として、SIMカード等を用いることができる。
(6)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図2のステップS100に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図2のステップS200に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図2のステップS300に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図2のステップS400に相当)と、を備えたことを特徴とするアクセスパターンの秘匿方法を提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(7)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図4のステップS110に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図4のステップS210に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図4のステップS310に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図4のステップS410に相当)と、を備えたことを特徴とするアクセスパターンの秘匿方法を提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(8)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図6のステップS120に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図6のステップS220に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図6のステップS320に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図6のステップS420に相当)と、を備えたことを特徴とするアクセスパターンの秘匿方法を提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、非アクセス領域からランダムに選択したデータとアクセスするデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(9)本発明は、(6)から(8)のアクセスパターンの秘匿方法について、すでに、前記履歴領域がデータで満たされた状態で、前記第3のステップにおける上書き保存をすることを特徴とするアクセスパターンの秘匿方法を提案している。
この発明によれば、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
(10)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図2のステップS100に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図2のステップS200に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図2のステップS300に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図2のステップS400に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(11)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図4のステップS110に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図4のステップS210に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図4のステップS310に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図4のステップS410に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(12)本発明は、メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップ(例えば、図6のステップS120に相当)と、前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップ(例えば、図6のステップS220に相当)と、1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップ(例えば、図6のステップS320に相当)と、アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップ(例えば、図6のステップS420に相当)と、をコンピュータに実行させるためのプログラムを提案している。
この発明によれば、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させ、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。したがって、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、非アクセス領域からランダムに選択したデータとアクセスするデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
(13)本発明は、(10)から(13)のプログラムについて、すでに、前記履歴領域がデータで満たされた状態で、前記第3のステップにおける上書き保存をすることを特徴とするプログラムを提案している。
この発明によれば、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
本発明によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができるという効果がある。また、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うことから、データのアクセスパターンを秘匿することができるという効果がある。さらに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うため、さらに、データのアクセスパターンを秘匿することができるという効果がある。
また、本発明によれば、保存しておく履歴情報をランダムに選択することで、攻撃者が履歴を推測することが困難になる。その結果として、あるデータに対するアクセスが、履歴領域に含まれているからアクセスしているのか、プログラムが必要とするデータであるからアクセスしているのか、ランダムに選択されたデータであるのか、が識別困難になり、攻撃者からアクセスパターンを秘匿することが可能となるという効果である。
本発明の第1の実施形態に係る記憶装置の構成を示す図である。 本発明の第1の実施形態に係る記憶装置の処理を示す図である。 本発明の第2の実施形態に係る記憶装置の構成を示す図である。 本発明の第2の実施形態に係る記憶装置の処理を示す図である。 本発明の第3の実施形態に係る記憶装置の構成を示す図である。 本発明の第3の実施形態に係る記憶装置の処理を示す図である。 本発明の実施例に係るアクセス時の記憶領域内のデータの遷移を示す図である。 本発明の実施例に係る記憶装置の処理を示す図である。 本発明の実施例に係る記憶装置の処理を示す図である。
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
<第1の実施形態>
図1から図2を用いて、本発明の実施形態について説明する。
<記憶装置の構成>
本実施形態に係る記憶装置は、図1に示すように、並べ替え部110と、移動部120と、制御部130と、書き出し部140と、保存部150と、記憶領域200とから構成されている。なお、本発明の記憶装置は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。
記憶領域200は、メモリをデータのアクセス領域と非アクセス領域と履歴領域とに分割されている。なお、アクセス領域、非アクセス領域、履歴領域は、DRAM、SRAM等の書き換え可能なメモリで構成される。また、アクセス領域を耐タンパ性を備えたDRAM、SRAM等の書き換え可能なメモリで構成してもよい。並べ替え部110は、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替える。移動部120は、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる。
制御部130は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。
なお、制御部130は、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
書き出し部140は、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す。保存部150は、アクセス領域から非アクセス領域に移動したデータを履歴領域に履歴データとして保存する。
<記憶装置の処理>
図2を用いて、本実施形態に係る記憶装置の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS200)。
次に、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に存在せず、非アクセス領域に存在し、履歴領域に保存されたデータがある場合に、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する(ステップS300)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS400)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、アクセスを行うデータと履歴領域に保存された任意のデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
<第2の実施形態>
図3から図4を用いて、本発明の実施形態について説明する。
<記憶装置の構成>
本実施形態に係る記憶装置は、図3に示すように、並べ替え部110と、移動部120と、制御部131と、書き出し部140と、保存部150と、記憶領域200とから構成されている。なお、本発明の記憶装置は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
制御部131は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。
なお、制御部131は、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
<記憶装置の処理>
図4を用いて、本実施形態に係る記憶装置の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS110)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS210)。
次に、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを履歴領域に移動して、ランダムに選択された履歴領域内のデータに代えて、上書き保存する(ステップS310)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS410)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、履歴領域に保存されていないデータを選択し、アクセスを行うデータと選択したデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
<第3の実施形態>
図5から図6を用いて、本発明の実施形態について説明する。
<記憶装置の構成>
本実施形態に係る記憶装置は、図5に示すように、並べ替え部110と、移動部120と、制御部132と、書き出し部140と、保存部150と、記憶領域200とから構成されている。なお、本発明の記憶装置は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
制御部132は、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行う。
例えば、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する。
なお、制御部132は、すでに、履歴領域がデータで満たされた状態で、上書き保存する。したがって、従来のように、保存されたタイミングが古い順番に上書きをするのではなく、ランダムに上書きを実行するため、有効に、履歴情報を攻撃者から秘匿化することができる。
<記憶装置の処理>
図6を用いて、本実施形態に係る記憶装置の処理について説明する。
まず、初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替え(ステップS120)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS220)。
次に、1つのデータにアクセスが生じたときに、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセス領域内の他のデータについてもアクセスを行って、アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータがアクセス領域に保存されている場合に、非アクセス領域と履歴領域からランダムに選択したデータをアクセス領域に移動し、移動したデータサイズに応じて、アクセス領域にあった任意のデータを非アクセス領域に移動し、ランダムに選択された履歴領域内のデータに代えて、上書き保存する(ステップS320)。
そして、アクセスすべきデータへのアクセス処理が終了したときに、アクセス領域内の必要なデータを書き出す(ステップS420)。
以上、説明したように、本実施形態によれば、非アクセス領域内のデータの並べ替えを1度しか行わないため、所定のタイミングで、何度もデータの並べ替えを行うOblivious RAMのように、オーバーヘッドが大きくなることを防止することができる。また、非アクセス領域からランダムに選択したデータとアクセスするデータとをアクセス領域に移動して、所望のデータへのアクセスを行うとともに、ランダムに選択された履歴領域内のデータに代えて、上書き保存することから、有効に、履歴情報を攻撃者から秘匿化することができる。
<実施例>
図7から図9を用いて、本発明の実施例について説明する。
図7は、1、2、・・・、9、A、B、・・・、Fをメモリに保存されているデータとしたときに、プログラムが、5→D→8→5→Aの順にデータにアクセスする場合のメモリの遷移を示したものである。以下、この処理を例示として、説明する。なお、図7の例にかかわらず、非アクセス領域をさらに複数に分割してもよい。
まず、初期状態において、1度だけ、非アクセス領域内のデータをランダムに並び替え(ステップS1100)、非アクセス領域内のデータをアクセス領域のメモリサイズに応じて選択して、アクセス領域に移動させる(ステップS1200)。
そして、まず、5にアクセスする場合には、5はアクセス領域に含まれないため、5ともう一つランダムに選択されたデータ(図7では、2)をアクセス領域に移動し、例えば、これにより、アクセス領域から移動する4とBとを履歴領域に保存して、5にアクセスする。このとき、アクセス領域内の他のデータ(図7では、2、3、8)に対してもアクセスを行う(ステップS1300)。
次に、Dにアクセスする場合には、Dはアクセス領域に含まれないため、Dをアクセス領域に移動し、もう一つのデータは、履歴領域から選択する(例えば、図7では、B)。これにより、アクセス領域から移動する5と8とを履歴領域に保存して、Dにアクセスする。このとき、アクセス領域内の他のデータ(図7では、3、B、2)に対してもアクセスを行う(ステップS1400)。
さらに、8にアクセスする場合には、8は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図7では、A)、アクセス領域に移動する。これにより、アクセス領域から移動する3とBとを履歴領域に保存して、8にアクセスする。このとき、アクセス領域内の他のデータ(図7では、A、D、2)に対してもアクセスを行う(ステップS1500)。
さらに、5にアクセスする場合、5は履歴領域に含まれているため、もう一つのデータは履歴領域に含まれないデータをランダムに選択し(図7では、6)、アクセス領域に移動する。これにより、アクセス領域から移動する2と8とを履歴領域に保存して、5にアクセスする。このとき、4と5とがランダムに選択され、2とBとで上書きされる。また、アクセス領域内の他のデータ(図7では、A、D、6)に対してもアクセスを行う(ステップS1600)。
最後に、Aにアクセスする場合、Aはアクセス領域に含まれているため、アクセス領域に含まれないランダムに選択したデータと履歴領域に保存されているデータとを(図7では、3、F)、アクセス領域に移動する。これにより、アクセス領域から移動する6とDとが非アクセス領域に書き出される。このとき、履歴領域に保存されている8とBとが6とDとによって上書きされ、Aにアクセスする。また、アクセス領域内の他のデータ(図7では、5、F、3)に対してもアクセスを行う(ステップS1700)。
そして、すべての処理が完了するとアクセス領域内の必要なデータを書き出して、終了する(ステップS1800)。
したがって、本実施例によれば、履歴を保存し、その中に含まれるデータに対して毎回アクセスすることで、あるデータに対して複数回アクセスした場合の安全性を確保することが可能となり、現実的なオーバーヘッドでアクセスパターンを秘匿することが可能となる。また、保存しておく履歴情報をランダムに選択することで、攻撃者が履歴を推測することが困難になる。その結果として、あるデータに対するアクセスが、履歴領域に含まれているからアクセスしているのか、プログラムが必要とするデータであるからアクセスしているのか、ランダムに選択されたデータであるのか、が識別困難になり、攻撃者からアクセスパターンを秘匿することが可能となる。
なお、記憶装置の処理をコンピュータシステムが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムを記憶装置に読み込ませ、実行することによって本発明の記憶装置を実現することができる。ここでいうコンピュータシステムとは、OSや周辺装置等のハードウェアを含む。
また、「コンピュータシステム」は、WWW(World Wide Web)システムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
110;並べ替え部
120;移動部
130;制御部
131;制御部
132;制御部
140;書き出し部
150;保存部
200;記憶領域

Claims (13)

  1. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段と、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段と、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段と、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段と、
    前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、
    備え、
    前記制御手段は、
    アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置。
  2. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段と、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段と、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段と、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段と、
    前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、
    備え、
    前記制御手段は、
    アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置。
  3. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える並び替え手段と、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる移動手段と、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行う制御手段と、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す書き出し手段と、
    前記アクセス領域から前記非アクセス領域に移動したデータを履歴領域に履歴データとして保存する保存手段と、
    備え、
    アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存することを特徴とする記憶装置。
  4. 前記制御手段が、すでに、前記履歴領域がデータで満たされた状態で、前記上書き保存することを特徴とする請求項1から請求項3のいずれかに記載の記憶装置。
  5. 前記アクセス領域が耐タンパ性を有することを特徴とする請求項1から請求項4に記載の記憶装置。
  6. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とするアクセスパターンの秘匿方法。
  7. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とするアクセスパターンの秘匿方法。
  8. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法であって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    を備えたことを特徴とするアクセスパターンの秘匿方法。
  9. すでに、前記履歴領域がデータで満たされた状態で、前記第3のステップにおける上書き保存をすることを特徴とする請求項6から請求項8のいずれかに記載のアクセスパターンの秘匿方法。
  10. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    をコンピュータに実行させるためのプログラム。
  11. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記履歴領域に保存されている場合に、前記履歴領域に保存されていないデータを選択し、前記アクセスを行うデータと前記選択したデータとを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    をコンピュータに実行させるためのプログラム。
  12. メモリをデータのアクセス領域と非アクセス領域とに分割され、履歴データを記憶する記憶領域を備えた記憶装置におけるアクセスパターンの秘匿方法をコンピュータに実行させるためのプログラムであって、
    初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
    前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
    1つのデータにアクセスが生じたときに、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と前記履歴領域からランダムに選択したデータを前記アクセス領域に移動し、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、ランダムに選択された前記履歴領域内のデータに代えて、上書き保存する第3のステップと、
    アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
    をコンピュータに実行させるためのプログラム。
  13. すでに、前記履歴領域がデータで満たされた状態で、前記第3のステップにおける上書き保存をすることを特徴とする請求項10から請求項12のいずれかに記載のプログラム。
JP2012213514A 2012-09-27 2012-09-27 記憶装置、アクセスパターンの秘匿方法およびプログラム Active JP5801273B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012213514A JP5801273B2 (ja) 2012-09-27 2012-09-27 記憶装置、アクセスパターンの秘匿方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012213514A JP5801273B2 (ja) 2012-09-27 2012-09-27 記憶装置、アクセスパターンの秘匿方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2014068289A true JP2014068289A (ja) 2014-04-17
JP5801273B2 JP5801273B2 (ja) 2015-10-28

Family

ID=50744262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012213514A Active JP5801273B2 (ja) 2012-09-27 2012-09-27 記憶装置、アクセスパターンの秘匿方法およびプログラム

Country Status (1)

Country Link
JP (1) JP5801273B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011452A (ja) * 2013-06-27 2015-01-19 Kddi株式会社 記憶装置
JP2016042351A (ja) * 2014-08-13 2016-03-31 ザ・ボーイング・カンパニーTheBoeing Company コンピューティングシステムにおける動的なメモリアドレス再マッピング
JP2017010209A (ja) * 2015-06-19 2017-01-12 Kddi株式会社 記憶装置、データ保護方法及びデータ保護プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5990115B2 (ja) * 2013-03-01 2016-09-07 株式会社Kddi研究所 記憶装置、アクセスパターンの秘匿方法およびプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251483A (ja) * 2006-03-15 2007-09-27 Kawasaki Microelectronics Kk 暗号化装置
WO2012145916A1 (zh) * 2011-04-29 2012-11-01 北京中天安泰信息科技有限公司 数据安全存储方法及装置
JP2013156798A (ja) * 2012-01-30 2013-08-15 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP2013246678A (ja) * 2012-05-28 2013-12-09 Kddi Corp 記憶装置、記憶媒体、アクセスパターンの秘匿方法およびプログラム
JP2014067331A (ja) * 2012-09-27 2014-04-17 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251483A (ja) * 2006-03-15 2007-09-27 Kawasaki Microelectronics Kk 暗号化装置
WO2012145916A1 (zh) * 2011-04-29 2012-11-01 北京中天安泰信息科技有限公司 数据安全存储方法及装置
JP2013156798A (ja) * 2012-01-30 2013-08-15 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP2013246678A (ja) * 2012-05-28 2013-12-09 Kddi Corp 記憶装置、記憶媒体、アクセスパターンの秘匿方法およびプログラム
JP2014067331A (ja) * 2012-09-27 2014-04-17 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YUTO NAKANO, CARLOS CID, SHINSAKU KIYOMOTO, AND YUTAKA MIYAKE: ""Memory Access Pattern Protection for Resource-constrained Devices"", CARDIS 2012, vol. Implementations for Constrainted Devices, JPN6015029432, 29 November 2012 (2012-11-29), ISSN: 0003120404 *
仲野 有登、清本 晋作、三宅 優: ""メモリに対するアクセスパターン秘匿手法の実装評価"", 2014年 暗号と情報セキュリティシンポジウム SCIS2014 [CD−ROM], vol. 3C1−2, JPN6015029433, 21 January 2014 (2014-01-21), JP, pages 1 - 7, ISSN: 0003120405 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015011452A (ja) * 2013-06-27 2015-01-19 Kddi株式会社 記憶装置
JP2016042351A (ja) * 2014-08-13 2016-03-31 ザ・ボーイング・カンパニーTheBoeing Company コンピューティングシステムにおける動的なメモリアドレス再マッピング
JP2017010209A (ja) * 2015-06-19 2017-01-12 Kddi株式会社 記憶装置、データ保護方法及びデータ保護プログラム

Also Published As

Publication number Publication date
JP5801273B2 (ja) 2015-10-28

Similar Documents

Publication Publication Date Title
JP5882134B2 (ja) 記憶装置、記憶媒体、アクセスパターンの秘匿方法およびプログラム
CN103645863B (zh) 共享内存的数据读取方法和系统、写入方法和系统
Lee et al. Stealing webpages rendered on your browser by exploiting GPU vulnerabilities
JP5801273B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP2014503921A (ja) データ保持サブシステム及び保護方法
CN103294961A (zh) 一种文件加/解密方法以及文件加/解密装置
EP2979217B1 (en) Obfuscating access to a data store by a software application
JP2016042351A (ja) コンピューティングシステムにおける動的なメモリアドレス再マッピング
US20130166922A1 (en) Method and system for frame buffer protection
JP2011509456A (ja) ポータブルメモリデバイスを使用して保護されたメディアを配信する方法
JP5865222B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
CN109753347B (zh) 一种实现驱动的系统及方法
CN102238001A (zh) 一种提高数据安全性的方法和装置
CN105260139B (zh) 一种磁盘管理方法以及系统
JP2013156798A (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
US20100306497A1 (en) Computer implemented masked representation of data tables
CN109791589A (zh) 一种计算机内存数据加/解密的方法及装置
CN109643344A (zh) 用于共享安全性元数据存储器空间的方法和装置
CN105335674B (zh) 密码防盗方法和装置
JP6077421B2 (ja) 記憶装置、記憶システムおよびプログラム
CN103699434B (zh) 一种适用于多应用之间安全访问的mpu及其多应用之间安全访问的方法
CN110298175A (zh) 一种dll文件的处理方法及相关装置
CN109657493A (zh) 一种信息处理方法和装置
JP5990115B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
JP6957311B2 (ja) 情報漏洩防止装置、及び情報漏洩防止プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150715

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150826

R150 Certificate of patent or registration of utility model

Ref document number: 5801273

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150