JP2016045885A - 記憶装置、方法及びプログラム - Google Patents

記憶装置、方法及びプログラム Download PDF

Info

Publication number
JP2016045885A
JP2016045885A JP2014171899A JP2014171899A JP2016045885A JP 2016045885 A JP2016045885 A JP 2016045885A JP 2014171899 A JP2014171899 A JP 2014171899A JP 2014171899 A JP2014171899 A JP 2014171899A JP 2016045885 A JP2016045885 A JP 2016045885A
Authority
JP
Japan
Prior art keywords
data
access area
address
access
stored
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
JP2014171899A
Other languages
English (en)
Other versions
JP6282197B2 (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 JP2014171899A priority Critical patent/JP6282197B2/ja
Publication of JP2016045885A publication Critical patent/JP2016045885A/ja
Application granted granted Critical
Publication of JP6282197B2 publication Critical patent/JP6282197B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能な記憶装置、方法及びプログラムを提供すること。
【解決手段】記憶装置10は、一のデータへのアクセスが元のアドレスにより要求されると、元のアドレスをアドレス置換テーブル50に基づいて現在のアドレスに置換し、置換した現在のアドレスと、アクセス領域20及び履歴テーブル30の記憶状態とに基づいて、移動手段121により一のデータをアクセス領域20に移動させると共に、復帰手段122及び入替手段123により非アクセス領域21の記憶状態を変更して、一のデータへのアクセスを制御する。
【選択図】図3

Description

本発明は、記憶装置、方法及びプログラムに関する。
近年、暗号に対するサイドチャネル攻撃と呼ばれる攻撃が大きな問題となっている。ソフトウェアに対するサイドチャネル攻撃として、メモリアクセスを解析し秘密情報を復元する攻撃がある。そこで、メモリアクセスを攻撃者から保護するためにOblivious RAMで提案されている方式が注目を集めている。実用的なOblivious RAMの一つとして非特許文献1の方式があるが、この方式はプログラムがメモリに対して行うアクセスが一様に分布すると仮定し、検討されている。
Yuto Nakano, Carlos Cid, Shinsaku Kiyomoto, and Yutaka Miyake, "Memory Access Pattern Protection for Resource−constrained Devices",CARIDS2012, Springer, 2012.
しかしながら、実際のプログラムではメモリに対して行うアクセスに偏りが生じると考えられ、特定のアドレスに対するアクセスがほかのアドレスに対するアクセスよりも多くなることがある。長期的にアクセスを監視する攻撃者が存在する場合、どのアドレスに対するアクセスが多いかという情報が漏えいする。よって、非特許文献1の方式では安全性に影響を与える。
そこで、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能な装置が求められている。
本発明は、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能な記憶装置、方法及びプログラムを提供することを目的とする。
本発明は、ストレージからロードされるデータ(a,b)とそれらの実アドレスである現在のアドレス(ia,ib)を、(a,ib)と(b,ia)とに入れ替えてバッファに格納し、aとia及びbとibの入れ替えた関係を、アドレス置換テーブルに記憶させる。そして、本発明は、データを非アクセス領域に移動させる際には元あったアドレスではなく、入れ替えたアドレスに移動させる。
具体的には、以下のような解決手段を提供する。
(1) データを記憶する記憶領域を、アクセス領域と非アクセス領域とに分割する記憶装置において、前記非アクセス領域におけるデータのアドレスを記憶するアドレス置換テーブルであって、データを前記非アクセス領域に最初に読み込んで記憶させたときの元のアドレスと、データを移動させて記憶させたときの現在のアドレスとを対応付けるアドレス置換テーブルと、前記アクセス領域から前記非アクセス領域に移動させたデータの履歴として、移動させたデータの前記現在のアドレスを記憶する履歴テーブルと、前記非アクセス領域に記憶されている複数のデータを前記アクセス領域に移動させる移動手段と、前記アクセス領域に記憶されているデータを、前記現在のアドレスに移動させて復帰させ、復帰させたデータの前記現在のアドレスを前記履歴テーブルに記憶させる復帰手段と、前記復帰手段によって復帰させる複数のデータにおいて前記現在のアドレスを互いに入れ替え、入れ替えた後の前記現在のアドレスを前記アドレス置換テーブルに記憶させる入替手段と、一のデータへのアクセスが前記元のアドレスにより要求されると、前記元のアドレスを前記アドレス置換テーブルに基づいて前記現在のアドレスに置換し、置換した前記現在のアドレスと、前記アクセス領域及び前記履歴テーブルの記憶状態とに基づいて、前記移動手段により前記一のデータを前記アクセス領域に移動させると共に、前記復帰手段及び前記入替手段により前記非アクセス領域の記憶状態を変更して、前記一のデータへのアクセスを制御するアクセス制御手段と、を備える記憶装置。
(1)の構成によれば、(1)に係る記憶装置は、一のデータへのアクセスが元のアドレスにより要求されると、元のアドレスをアドレス置換テーブルに基づいて現在のアドレスに置換し、置換した現在のアドレスと、アクセス領域及び履歴テーブルの記憶状態とに基づいて、移動手段により一のデータをアクセス領域に移動させると共に、復帰手段及び入替手段により非アクセス領域の記憶状態を変更して、一のデータへのアクセスを制御する。
したがって、(1)に係る記憶装置は、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能である。
(2) 前記アクセス制御手段は、前記一のデータが非アクセス領域に存在する場合に、前記アクセス領域に記憶されているデータの中からランダムに選択した複数のデータを前記復帰手段によって復帰させると共に、復帰させることによって空になった前記アクセス領域の箇所に、前記一のデータと前記履歴テーブルの中からランダムに選択したアドレスのデータとを前記移動手段によって移動させ、前記一のデータがアクセス領域に存在する場合に、前記アクセス領域に記憶されているデータの中から前記一のデータを除いてランダムに選択した複数のデータを前記復帰手段によって復帰させると共に、復帰させることによって空になった前記アクセス領域の箇所に、前記履歴テーブルの中からランダムに選択したアドレスのデータと、前記非アクセス領域の中からランダムに選択したデータとを前記移動手段によって移動させる、(1)に記載の記憶装置。
したがって、(2)に係る記憶装置は、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを確実に秘匿可能である。
(3) 前記非アクセス領域に記憶されているデータを、ランダムに並び替えると共に、並び替えられた前記現在のアドレスを、前記アドレス置換テーブルに記憶させる並び替え手段と、前記アクセス領域に記憶されているデータを、保管されている前記現在のアドレスに基づいて前記非アクセス領域に移動させて書き出す書き出し手段と、をさらに備え、前記アクセス制御手段は、初期状態において、前記並び替え手段によって前記非アクセス領域に記憶されているデータを並び替えると共に、前記非アクセス領域に記憶されているデータを、前記アクセス領域の記憶容量に応じてランダムに選択し、選択したデータを前記移動手段によって前記アクセス領域に移動させ、終了状態において、前記書き出し手段によって前記アクセス領域に記憶されているデータを前記非アクセス領域に書き出す、(1)又は(2)に記載の記憶装置。
したがって、(3)に係る記憶装置は、記憶するデータへのアクセスに偏りがある場合であっても、初期状態における処理と終了状態における処理とをさらに実行し、アクセスパターンを確実に秘匿可能である。
(4) (1)に記載の記憶装置が実行する方法であって、前記移動手段が、前記非アクセス領域に記憶されている複数のデータを前記アクセス領域に移動させる移動ステップと、前記復帰手段が、前記アクセス領域に記憶されているデータを、前記現在のアドレスに移動させて復帰させ、復帰させたデータの前記元のアドレスを前記履歴テーブルに記憶させる復帰ステップと、前記入替手段が、前記復帰ステップによって復帰させる複数のデータにおいて前記現在のアドレスを互いに入れ替え、入れ替えた後の前記現在のアドレスを前記アドレス置換テーブルに記憶させる入替ステップと、前記アクセス制御手段が、一のデータへのアクセスが前記元のアドレスにより要求されると、前記元のアドレスを前記アドレス置換テーブルに基づいて前記現在のアドレスに置換し、置換した前記現在のアドレスと、前記アクセス領域及び前記履歴テーブルの記憶状態とに基づいて、前記移動ステップにより前記一のデータを前記アクセス領域に移動させると共に、前記復帰ステップ及び前記入替ステップにより前記非アクセス領域の記憶状態を変更して、前記一のデータへのアクセスを制御するアクセス制御ステップと、を備える方法。
したがって、(4)に係る方法は、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能である。
(5) コンピュータに、(4)に記載の方法の各ステップを実行させるためのプログラム。
したがって、(5)に係るプログラムは、記憶するデータへのアクセスに偏りがある場合であっても、コンピュータにアクセスパターンを秘匿させることができる。
本発明によれば、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能である。本発明によって、ダミーのアクセスがなくともアドレスに対するアクセスの偏りを防ぐことができる。
さらに、暗号化プログラム等、重要データ(鍵)に対するアクセスをもつプログラムに本発明を適用すれば、鍵に対するアクセス回数と重要でないデータに対するアクセス回数が平準化される。これによって従来必要であったダミーアクセスが不要となり、パフォーマンスが向上する。このように、安全性向上による差別化や新規顧客獲得等におけるセキュリティソリューション、モバイルソリューション事業に適用できる。
本発明の一実施形態に係る記憶装置によるデータのアクセスを説明するための図である。 図1に続く、データのアクセスを説明するための図である。 本発明の一実施形態に係る記憶装置の構成を示すブロック図である。 本発明の一実施形態に係る記憶装置の初期処理を示すフローチャートである。 本発明の一実施形態に係る記憶装置のアクセス処理を示すフローチャートである。 本発明の一実施形態に係る記憶装置の終了処理を示すフローチャートである。
以下、本発明の実施形態について、図を参照しながら説明する。
図1は、本発明の一実施形態に係る記憶装置10によるデータのアクセスを説明するための図である。図2は、図1に続く、データのアクセスを説明するための図である。アクセスパターン保護手法を図1及び図2を用いて説明する。
プログラムが直接アクセスする領域は図中のアクセス領域20で示した領域のみであり、これ以外の領域にはアクセスしない。アクセスしようとしているデータがアクセス領域20にある場合、ランダムに選択したデータをアクセス領域20と非アクセス領域21とで交換する。アクセスしようとしているデータがアクセス領域20にない場合、アクセスしようとしているデータを含むデータをアクセス領域20に移動し、アクセス領域20にあったデータが非アクセス領域21に書き出される。
以下で具体例を用いて説明する。1,2,…,9,A,B,…,Fを非アクセス領域21(例えば、メモリ)に保存されているデータとし、プログラムは5→D→8→5→Aの順にデータにアクセスするとする。
まず、非アクセス領域21内のデータをランダムに並び替える。
例えば、図1の様に元のアドレスi1番地〜iF番地に記憶状態101のように記憶されているデータ1〜データFを、ランダムに並び替え、記憶状態102の様にする。この場合、アドレス置換テーブル50は元のアドレスと現在のアドレスとを記憶状態502の様に対応付ける。
次にアクセス領域20のサイズ分(例えば、4個分)だけランダムにデータ(例えば、データ3、データB、データ8、データ4)を選択し、アクセス領域20に移動させる。アクセス領域20は、記憶状態203のように表わされ、非アクセス領域21は、記憶状態103のように表わされる。
以下、次の様な手順でアクセスが行われる。
1.例えば、データ5にアクセスする場合、データ5はアクセス領域20にも、履歴テーブル30にも記憶されていないため、データ5ともう一つランダムに選択されたデータ(履歴テーブル30が空なので、非アクセス領域21から例えば、データ2)を、アクセス領域20に移動させる。
このとき、アクセス領域20からランダムに選択された2つのデータ(例えば、データ4、データB)の現在のアドレスを入れ替えてアドレス置換テーブル50に記憶させ、アドレス置換テーブル50に基づいて非アクセス領域21に移動させると共に、履歴テーブル30に現在のアドレスを記憶させる。
非アクセス領域21は記憶状態1041を経過して記憶状態1042となり、アクセス領域20は記憶状態204となり、アドレス置換テーブル50は記憶状態504となり、履歴テーブル30は記憶状態304となる。プログラムはデータ5にアクセスする。
2.例えば、データDにアクセスする場合、データDはアクセス領域20にも、履歴テーブル30にも記憶されていないため、データDをアクセス領域20に移動させる。もう一つのデータは、履歴テーブル30にアドレスが記憶されているので履歴テーブル30からランダムに選択したアドレスに記憶されているデータ(例えば、データB)をアクセス領域20に移動させる。
このとき、アクセス領域20からランダムに選択された2つのデータ(例えば、データ5、データ8)の現在のアドレスを入れ替えてアドレス置換テーブル50に記憶させ、アドレス置換テーブル50に基づいて非アクセス領域21に移動させると共に、履歴テーブル30に現在のアドレスを記憶させる。
非アクセス領域21は記憶状態1051を経過して記憶状態1052となり、アクセス領域20は記憶状態205となり、アドレス置換テーブル50は記憶状態505となり、履歴テーブル30は記憶状態305となる。プログラムはデータDにアクセスする。
3.データ8にアクセスする場合、データ8はアクセス領域20には記憶されていないが、履歴テーブル30に元のアドレスとして記憶されているため、もう一つのデータは履歴テーブル30に記憶されていないデータ(例えば、データA)を非アクセス領域21からランダムに選択し、アクセス領域20に移動させる。
このとき、アクセス領域20からランダムに選択された2つのデータ(例えば、データ3、データB)の現在のアドレスを入れ替えてアドレス置換テーブル50に記憶させ、アドレス置換テーブル50に基づいて非アクセス領域21に移動させると共に、履歴テーブル30に現在のアドレスを記憶させる。
非アクセス領域21は記憶状態1061を経過して記憶状態1062となり、アクセス領域20は記憶状態206となり、アドレス置換テーブル50は記憶状態506となり、履歴テーブル30は記憶状態306となる。プログラムはデータ8にアクセスする。
4.データ5にアクセスする場合、データ5はアクセス領域20には記憶されていないが、履歴テーブル30に元のアドレスとして記憶されているため、もう一つのデータは履歴テーブル30に記憶されていないデータ(例えば、データ6)を非アクセス領域21からランダムに選択し、アクセス領域20に移動させる。
このとき、アクセス領域20からランダムに選択された2つのデータ(例えば、データ2、データ8)の現在のアドレスを入れ替えてアドレス置換テーブル50に記憶させ、アドレス置換テーブル50に基づいて非アクセス領域21に移動させると共に、履歴テーブル30に現在のアドレスを記憶させる。
非アクセス領域21は記憶状態1071を経過して記憶状態1072となり、アクセス領域20は記憶状態207となり、アドレス置換テーブル50は記憶状態507となり、履歴テーブル30は記憶状態307となる。プログラムはデータ5にアクセスする。
5.データAにアクセスする場合、データAはアクセス領域20に記憶されているため、非アクセス領域21からランダムに選択されたデータ(例えば、データF)と、履歴テーブル30からランダムに選択されたアドレスに記憶されているデータ(例えば、データ3)をアクセス領域20に移動させる。
このとき、アクセス領域20からランダムに選択された2つのデータ(例えば、データ6、データD)の現在のアドレスを入れ替えてアドレス置換テーブル50に記憶させ、アドレス置換テーブル50に基づいて非アクセス領域21に移動させると共に、履歴テーブル30に現在のアドレスを記憶させる。
非アクセス領域21は記憶状態1081を経過して記憶状態1082となり、アクセス領域20は記憶状態208となり、アドレス置換テーブル50は記憶状態508となり、履歴テーブル30は記憶状態308となる。プログラムはデータAにアクセスする。
6.全ての処理が完了するとアクセス領域20内の全てのデータを書き出し、終了する。非アクセス領域21は記憶状態109となり、アクセス領域20は記憶状態209となり、アドレス置換テーブル50は記憶状態509となり、履歴テーブル30は記憶状態309となる。
以上のように、データのアクセスの際に、アクセスするデータの現在のアドレスと、他のデータの現在のアドレスとを入れ替えて記憶させる。
したがってデータaに対して繰り返しアクセスが有ったとしても、データaの元のアドレスia以外のアドレスに対してアクセスが行われるため、アクセスが全データ間で平準化されアクセスに偏りがある場合でもアクセスパターンを秘匿可能である。すなわち、特定のデータに対して複数回アクセスした場合の安全性を確保することが可能である。
図3は、本発明の一実施形態に係る記憶装置10の構成を示すブロック図である。
記憶装置10は、データを記憶する記憶領域を、アクセス領域20と非アクセス領域21とに分割する。アクセス領域20を耐タンパ性を備えたDRAM、SRAM等の書き換え可能なメモリで構成してもよい。なお、本発明の記憶装置10は、例えば、RAM等の一般的な記憶装置ばかりでなく、SIMやICカード等の記憶媒体も含むものである。
記憶装置10は、アドレス置換テーブル50と、履歴テーブル30と、移動手段121と、復帰手段122と、入替手段123と、アクセス制御手段12とを備える。以下、各手段ごとに詳述する。
アドレス置換テーブル50は、非アクセス領域21におけるデータのアドレスを記憶するアドレス置換テーブル50であって、データを非アクセス領域21に最初に読み込んで記憶させたときの元のアドレスと、データを移動させて記憶させたときの現在のアドレスとを対応付ける。
履歴テーブル30は、アクセス領域20から非アクセス領域21に移動させたデータの履歴として、移動させたデータの現在のアドレスを記憶する。
移動手段121は、非アクセス領域21に記憶されている複数のデータをアクセス領域20に移動させる。移動手段121は、アクセス領域20に移動させたデータの現在のアドレスを保管する。
復帰手段122は、アクセス領域20に記憶されているデータを、現在のアドレスに移動させて復帰させ、復帰させたデータの現在のアドレスを履歴テーブル30に記憶させる。
入替手段123は、復帰手段122によって復帰させる複数のデータにおいて現在のアドレスを互いに入れ替え、入れ替えた後の現在のアドレスをアドレス置換テーブル50に記憶させる。
アクセス制御手段12は、一のデータへのアクセスが元のアドレスにより要求されると、元のアドレスをアドレス置換テーブル50に基づいて現在のアドレスに置換し、置換した現在のアドレスと、アクセス領域20及び履歴テーブル30の記憶状態とに基づいて、移動手段121により一のデータをアクセス領域20に移動させると共に、復帰手段122及び入替手段123により非アクセス領域21の記憶状態を変更して、一のデータへのアクセスを制御する。
アクセス制御手段12は、一のデータが非アクセス領域21に存在する場合に、アクセス領域20に記憶されているデータの中からランダムに選択された複数のデータを復帰手段122によって復帰させると共に、復帰させることによって空になったアクセス領域20の箇所に、一のデータと履歴テーブル30の中からランダムに選択したアドレスのデータとを移動手段121によって移動させる。
アクセス制御手段12は、一のデータがアクセス領域20に存在する場合に、アクセス領域20に記憶されているデータの中から一のデータを除いてランダムに選択された2つのデータを復帰手段122によって復帰させると共に、復帰させることによって空になったアクセス領域20の箇所に、履歴テーブル30の中からランダムに選択したアドレスのデータと、非アクセス領域21の中からランダムに選択したデータとを移動手段121によって移動させる。
記憶装置10は、並び替え手段11と、書き出し手段13とをさらに備える。
並び替え手段11は、非アクセス領域21に記憶されているデータを、ランダムに並び替えると共に、並び替えられた現在のアドレスを、アドレス置換テーブル50に記憶させる。
書き出し手段13は、アクセス領域20に記憶されているデータを、保管されている現在のアドレスに基づいて非アクセス領域21に移動させて書き出す。
アクセス制御手段12は、初期状態において、並び替え手段11によって非アクセス領域21に記憶されているデータを並び替えると共に、非アクセス領域21に記憶されているデータを、アクセス領域20の記憶容量に応じてランダムに選択し、選択したデータを移動手段121によってアクセス領域20に移動させ、終了状態において、書き出し手段13によってアクセス領域20に記憶されているデータを非アクセス領域21に書き出す。
図4は、本発明の一実施形態に係る記憶装置10の初期処理を示すフローチャートである。記憶装置10は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。本処理は、記憶装置10による処理の最初に実行される。
ステップS101において、CPU(アクセス制御手段12)は、データを非アクセス領域21に読み込み、アドレス置換テーブル50を初期化する。
ステップS102において、CPU(並び替え手段11)は、非アクセス領域21のデータをランダムに並び替え、アドレス置換テーブル50を更新する。
ステップS103において、CPU(アクセス制御手段12)は、アクセス領域20の容量に応じて、非アクセス領域21からランダムに選択したデータをアクセス領域20に移動させる。
図5は、本発明の一実施形態に係る記憶装置10のアクセス処理を示すフローチャートである。本処理は、記憶装置10に対する一のデータへのアクセスが元のアドレスにより要求されることにより実行される。
ステップS201において、CPU(アクセス制御手段12、復帰手段122、入替手段123)は、アクセス領域20から非アクセス領域21へデータを移動させ、履歴テーブル30を更新し、移動させた複数のデータにおいて現在のアドレスを互いに入れ替え、入れ替えた後の現在のアドレスをアドレス置換テーブル50に記憶させる。
ステップS202において、CPU(アクセス制御手段12)は、一のデータがアクセス領域20に存在するか否かを判断する。この判断がYESの場合、CPUは、処理をステップS206に移し、この判断がNOの場合、CPUは、処理をステップS203に移す。
ステップS203において、CPU(アクセス制御手段12)は、一のデータの現在のアドレスが履歴テーブル30に存在するか否かを判断する。この判断がYESの場合、CPUは、処理をステップS207に移し、この判断がNOの場合、CPUは、処理をステップS204に移す。
ステップS204において、CPU(アクセス制御手段12、移動手段121)は、非アクセス領域21から、アクセスするデータと、ランダムに選択したデータ(履歴テーブル30にアドレスが記憶されている場合、履歴テーブル30からランダムに選択した現在のアドレスに記憶されているデータ)とをアクセス領域20に移動させる。その後、CPUは、処理をステップS205に移す。
ステップS205において、CPU(アクセス制御手段12)は、データにアクセスする。その後、CPUは、処理を終了し、次のアクセスを待つ。
ステップS206において、CPU(アクセス制御手段12、移動手段121)は、非アクセス領域21からランダムに選択した複数のデータ(履歴テーブル30にアドレスが記憶されている場合、複数のうちの1個のデータは、履歴テーブル30からランダムに選択した現在のアドレスに記憶されているデータ)をアクセス領域20に移動させる。その後、CPUは、処理をステップS205に移す。
ステップS207において、CPU(アクセス制御手段12、移動手段121)は、履歴テーブル30に現在のアドレスとして記憶されているデータ以外のデータであって非アクセス領域21からランダムに選択されたデータと、アクセスするデータとをアクセス領域20に移動させる。その後、CPUは、処理をステップS205に移す。
図6は、本発明の一実施形態に係る記憶装置10の終了処理を示すフローチャートである。本処理は、記憶装置10による処理の最後に実行される。
ステップS301において、CPU(書き出し手段13)は、アクセス領域20の全てのデータを非アクセス領域21に移動させる。その後、CPUは、処理を終了する。
本実施形態によれば、記憶装置10は、一のデータへのアクセスが元のアドレスにより要求されると、元のアドレスをアドレス置換テーブル50に基づいて現在のアドレスに置換し、置換した現在のアドレスと、アクセス領域20及び履歴テーブル30の記憶状態とに基づいて、移動手段121により一のデータをアクセス領域20に移動させると共に、復帰手段122及び入替手段123により非アクセス領域21の記憶状態を変更して、一のデータへのアクセスを制御する。
したがって、記憶装置10は、記憶するデータへのアクセスに偏りがある場合であってもアクセスパターンを秘匿可能である。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
10 記憶装置
11 並び替え手段
12 アクセス制御手段
121 移動手段
122 復帰手段
123 入替手段
13 書き出し手段
20 アクセス領域
21 非アクセス領域
30 履歴テーブル
50 アドレス置換テーブル

Claims (5)

  1. データを記憶する記憶領域を、アクセス領域と非アクセス領域とに分割する記憶装置において、
    前記非アクセス領域におけるデータのアドレスを記憶するアドレス置換テーブルであって、データを前記非アクセス領域に最初に読み込んで記憶させたときの元のアドレスと、データを移動させて記憶させたときの現在のアドレスとを対応付けるアドレス置換テーブルと、
    前記アクセス領域から前記非アクセス領域に移動させたデータの履歴として、移動させたデータの前記現在のアドレスを記憶する履歴テーブルと、
    前記非アクセス領域に記憶されている複数のデータを前記アクセス領域に移動させる移動手段と、
    前記アクセス領域に記憶されているデータを、前記現在のアドレスに移動させて復帰させ、復帰させたデータの前記現在のアドレスを前記履歴テーブルに記憶させる復帰手段と、
    前記復帰手段によって復帰させる複数のデータにおいて前記現在のアドレスを互いに入れ替え、入れ替えた後の前記現在のアドレスを前記アドレス置換テーブルに記憶させる入替手段と、
    一のデータへのアクセスが前記元のアドレスにより要求されると、前記元のアドレスを前記アドレス置換テーブルに基づいて前記現在のアドレスに置換し、置換した前記現在のアドレスと、前記アクセス領域及び前記履歴テーブルの記憶状態とに基づいて、前記移動手段により前記一のデータを前記アクセス領域に移動させると共に、前記復帰手段及び前記入替手段により前記非アクセス領域の記憶状態を変更して、前記一のデータへのアクセスを制御するアクセス制御手段と、
    を備える記憶装置。
  2. 前記アクセス制御手段は、
    前記一のデータが非アクセス領域に存在する場合に、前記アクセス領域に記憶されているデータの中からランダムに選択した複数のデータを前記復帰手段によって復帰させると共に、復帰させることによって空になった前記アクセス領域の箇所に、前記一のデータと前記履歴テーブルの中からランダムに選択したアドレスのデータとを前記移動手段によって移動させ、
    前記一のデータがアクセス領域に存在する場合に、前記アクセス領域に記憶されているデータの中から前記一のデータを除いてランダムに選択した複数のデータを前記復帰手段によって復帰させると共に、復帰させることによって空になった前記アクセス領域の箇所に、前記履歴テーブルの中からランダムに選択したアドレスのデータと、前記非アクセス領域の中からランダムに選択したデータとを前記移動手段によって移動させる、
    請求項1に記載の記憶装置。
  3. 前記非アクセス領域に記憶されているデータを、ランダムに並び替えると共に、並び替えられた前記現在のアドレスを、前記アドレス置換テーブルに記憶させる並び替え手段と、
    前記アクセス領域に記憶されているデータを、保管されている前記現在のアドレスに基づいて前記非アクセス領域に移動させて書き出す書き出し手段と、をさらに備え、
    前記アクセス制御手段は、初期状態において、前記並び替え手段によって前記非アクセス領域に記憶されているデータを並び替えると共に、前記非アクセス領域に記憶されているデータを、前記アクセス領域の記憶容量に応じてランダムに選択し、選択したデータを前記移動手段によって前記アクセス領域に移動させ、終了状態において、前記書き出し手段によって前記アクセス領域に記憶されているデータを前記非アクセス領域に書き出す、請求項1又は2に記載の記憶装置。
  4. 請求項1に記載の記憶装置が実行する方法であって、
    前記移動手段が、前記非アクセス領域に記憶されている複数のデータを前記アクセス領域に移動させる移動ステップと、
    前記復帰手段が、前記アクセス領域に記憶されているデータを、前記現在のアドレスに移動させて復帰させ、復帰させたデータの前記元のアドレスを前記履歴テーブルに記憶させる復帰ステップと、
    前記入替手段が、前記復帰ステップによって復帰させる複数のデータにおいて前記現在のアドレスを互いに入れ替え、入れ替えた後の前記現在のアドレスを前記アドレス置換テーブルに記憶させる入替ステップと、
    前記アクセス制御手段が、一のデータへのアクセスが前記元のアドレスにより要求されると、前記元のアドレスを前記アドレス置換テーブルに基づいて前記現在のアドレスに置換し、置換した前記現在のアドレスと、前記アクセス領域及び前記履歴テーブルの記憶状態とに基づいて、前記移動ステップにより前記一のデータを前記アクセス領域に移動させると共に、前記復帰ステップ及び前記入替ステップにより前記非アクセス領域の記憶状態を変更して、前記一のデータへのアクセスを制御するアクセス制御ステップと、
    を備える方法。
  5. コンピュータに、請求項4に記載の方法の各ステップを実行させるためのプログラム。
JP2014171899A 2014-08-26 2014-08-26 記憶装置、方法及びプログラム Active JP6282197B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014171899A JP6282197B2 (ja) 2014-08-26 2014-08-26 記憶装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014171899A JP6282197B2 (ja) 2014-08-26 2014-08-26 記憶装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2016045885A true JP2016045885A (ja) 2016-04-04
JP6282197B2 JP6282197B2 (ja) 2018-02-21

Family

ID=55636337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014171899A Active JP6282197B2 (ja) 2014-08-26 2014-08-26 記憶装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6282197B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109696904A (zh) * 2018-12-24 2019-04-30 普华基础软件股份有限公司 一种电子控制单元数据描述文件的地址替换方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134103A (ja) * 2001-10-30 2003-05-09 Hitachi Ltd 情報処理装置
JP2013152382A (ja) * 2012-01-26 2013-08-08 Kddi Corp 記憶装置、データの保存方法およびプログラム
JP2014067331A (ja) * 2012-09-27 2014-04-17 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003134103A (ja) * 2001-10-30 2003-05-09 Hitachi Ltd 情報処理装置
JP2013152382A (ja) * 2012-01-26 2013-08-08 Kddi Corp 記憶装置、データの保存方法およびプログラム
JP2014067331A (ja) * 2012-09-27 2014-04-17 Kddi Corp 記憶装置、アクセスパターンの秘匿方法およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
仲野 有登ほか: "アクセスの偏りを考慮したアクセスパターン保護手法", 電子情報通信学会2014年通信ソサイエティ大会講演論文集2, JPN6017050504, 9 September 2014 (2014-09-09), pages 106, ISSN: 0003714264 *
仲野 有登ほか: "メモリに対するアクセスパターン秘匿手法の実装評価", 2014年暗号と情報セキュリティシンポジウム (SCIS 2014) 概要集, JPN6017050503, 21 January 2014 (2014-01-21), ISSN: 0003714263 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109696904A (zh) * 2018-12-24 2019-04-30 普华基础软件股份有限公司 一种电子控制单元数据描述文件的地址替换方法及系统

Also Published As

Publication number Publication date
JP6282197B2 (ja) 2018-02-21

Similar Documents

Publication Publication Date Title
CN103064797B (zh) 数据处理方法和虚拟机管理平台
KR102202473B1 (ko) 동적 데이터 저장을 위한 시스템 및 방법
CN105678191A (zh) 利用SoC内部存储提高系统安全性的方法、终端与系统
CN104090853A (zh) 一种固态盘加密方法和系统
CN104205070B (zh) 存储器中存储数据的安全删除
US20170359175A1 (en) Support for changing encryption classes of files
CN105528553A (zh) 一种数据安全共享的方法、装置和终端
CN109765856A (zh) 安全逻辑系统及操作安全逻辑系统的方法
CN104484126B (zh) 一种基于纠删码的数据安全删除方法和系统
CN104679816A (zh) 一种嵌入式系统下的sqlite数据库应用方法
CN110263505A (zh) 基于区块链的图片处理方法及装置
JP5882134B2 (ja) 記憶装置、記憶媒体、アクセスパターンの秘匿方法およびプログラム
CN108171067A (zh) 一种硬盘加密方法与装置
CN109101198A (zh) 移动存储设备的磁盘控制方法和装置
JP6282197B2 (ja) 記憶装置、方法及びプログラム
CN106250783B (zh) 一种数据库数据加密、解密方法及装置
JP5801273B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
CN103593592A (zh) 一种用户数据的加解密方法
US9501414B2 (en) Storage control device and storage control method for cache processing according to time zones
US11966487B2 (en) Secure data deletion and sanitization in distributed file systems
CN106100829A (zh) 加密存储的方法及装置
JP5865222B2 (ja) 記憶装置、アクセスパターンの秘匿方法およびプログラム
CN104216666A (zh) 一种管理磁盘数据写入的方法及装置
US11128581B2 (en) Secure messaging between computing components
CN106485158A (zh) 一种基于hdfs的透明加密方法及系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180123

R150 Certificate of patent or registration of utility model

Ref document number: 6282197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150