JP2015012558A - 記憶装置 - Google Patents
記憶装置 Download PDFInfo
- Publication number
- JP2015012558A JP2015012558A JP2013138728A JP2013138728A JP2015012558A JP 2015012558 A JP2015012558 A JP 2015012558A JP 2013138728 A JP2013138728 A JP 2013138728A JP 2013138728 A JP2013138728 A JP 2013138728A JP 2015012558 A JP2015012558 A JP 2015012558A
- Authority
- JP
- Japan
- Prior art keywords
- data
- access area
- area
- access
- 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.)
- Granted
Links
Images
Abstract
Description
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
図1から図7を用いて、本発明の記憶装置の構成について説明する。
本発明の記憶装置は、図1に示すように、アクセスパターン保護部100と、記憶領域200と、データ移動部10と、キャッシュ部20と、復号化部30と、保管部40と、暗号化部50と、鍵生成部60とから構成されている。なお、アクセスパターン保護部100の詳細については、後述する。
図5および図6は、本発明の暗号化部50内部の構成の一例を示している。なお、図5および図6は、1ラウンド(ラウンド関数)を示した図であり、実際には、ラウンド関数を繰り返し適用してデータの暗号化を行う。ここで、各ラウンドで入力される鍵は鍵生成部60が生成する鍵である。本発明の暗号方式では、プログラムの実行中のみデータを保護出来れば良いため、従来よりも低い安全性の暗号方式でも十分であり、オーバーヘッドを小さく抑えるために各種パラメータをより高速化に適した設定にすることが望ましい。また、現在主流のブロック暗号は128ビットであり、128ビットを最小の処理単位としている。しかし、CPUのワードサイズは64ビットが主流であり、これに合わせたほうがより効率的である。
図8から図9を用いて、本発明の実施形態について説明する。
本実施形態に係るアクセスパターン保護部100は、図8に示すように、並べ替え部110と、移動部120と、制御部130と、書き出し部140と、保存部150とから構成されている。
図9を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
図10から図11を用いて、本発明の実施形態について説明する。
本実施形態に係るアクセスパターン保護部は、図10に示すように、並べ替え部110と、移動部120と、制御部131と、書き出し部140と、保存部150とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
図11を用いて、本実施形態に係るアクセスパターン保護部の処理について説明する。
図12から図13を用いて、本発明の実施形態について説明する。
本実施形態に係るアクセスパターン保護部は、図12に示すように、並べ替え部110と、移動部120と、制御部132と、書き出し部140と、保存部150とから構成されている。なお、第1の実施形態と同一の符号を付す構成要素については、同様の機能を有することから、その詳細な説明は省略する。
図13を用いて、本実施形態に係る記憶装置の処理について説明する。
図14から図16を用いて、本発明の実施例について説明する。
20;キャッシュ部
30;復号化部
40;保管部
50;暗号化部
60;鍵生成部
61;乱数生成器
62;一方向性関数器
63;秘密情報更新部
100;アクセスパターン保護部
110;並べ替え部
120;移動部
130;制御部
131;制御部
132;制御部
140;書き出し部
150;保存部
200;記憶領域
Claims (12)
- メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、
前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全な領域に移動させるデータ移動手段と、
前記暗号化データを安全な領域に移動させた後に、データを復号する復号手段と、
該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、
前記データxを用いた処理が完了し、データをメモリに移動させる際に、データの暗号化に用いる新たな鍵を生成する鍵生成手段と、
前記データxに前記シーケンス番号を付加した情報に対して、該生成した鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、
該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、
を備えたことを特徴とする記憶装置。 - メモリをデータのアクセス領域と非アクセス領域とに分割し、履歴データを記憶する記憶領域を備えた記憶装置であって、
前記アクセス領域に格納されている暗号化データE(x)に対してアクセスを行う場合に、任意のアクセスパターンの保護方法を用いて、前記暗号化データを安全な領域に移動させるデータ移動手段と、
前記暗号化データを安全な領域に移動させた後に、データを復号する復号手段と、
該復号したデータxと前記データxに対して何度アクセスを行ったかを記録したシーケンス番号とを保管する保管手段と、
前記データxを用いた処理が完了し、データをメモリに移動させる際に、データの暗号化に用いる新たな鍵を生成する鍵生成手段と、
前記データxと前記シーケンス番号との演算を行った情報に対して、該生成した鍵を用いて暗号化した情報E(x)´を生成する暗号化手段と、
該暗号化手段により暗号化された情報E(x)´を元の前記アクセス領域に格納する格納手段と、
を備えたことを特徴とする記憶装置。 - 前記鍵生成手段が、
乱数を生成する乱数生成手段と、
秘密情報を格納した一方向性関数器と、
を備え、
該生成した乱数を前記一方向性関数器に入力して、前記新たな鍵を生成することを特徴とする請求項1または請求項2に記載の記憶装置。 - 前記一方向性関数器が、複数直列に配置されるとともに、前記秘密情報が難読化処理されており、一連の鍵生成を終了したときに、前記秘密情報を最後の出力鍵に書き換えることを特徴とする請求項3に記載の記憶装置。
- 前記一方向性関数器がsponge関数器であることを特徴とする請求項3または請求項4に記載の記憶装置。
- 前記一方向性関数器がsponge関数器の出力レートが安全性を考慮した出力レートに設定されていることを特徴とする請求項5に記載の記憶装置。
- 前記暗号化手段が、
前記鍵生成手段が新たに生成した鍵とCPUのワードサイズに相当する暗号化する情報とを入力する入力手段と、
複数の非線形関数器と、
前記暗号化する情報を攪拌する攪拌手段と、
を備えたことを特徴とする請求項1から請求項6のいずれかに記載の記憶装置。 - 暗号化情報を出力する出力手段を備え、
前記攪拌手段が、偏りなく攪拌されるように、前記入力手段の出力部および前記出力手段の入力部に設けられた排他的論理和演算器であり、前記出力手段が該攪拌された情報と前記鍵生成手段が前記新たに生成した鍵とを入力して暗号化情報を出力することを特徴とする請求項7に記載の記憶装置。 - 前記攪拌手段が、ShiftRowであって、攪拌後の情報をMixColumnで処理して、暗号化情報を出力することを特徴とする請求項7に記載の記憶装置。
- 前記アクセスパターンの保護方法が、
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域および履歴領域に存在せず、前記非アクセス領域に存在し、前記履歴領域に保存されたデータがある場合に、前記アクセスを行うデータと前記履歴領域に保存された任意のデータとを前記2つのデータとして選択して、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項9のいずれかに記載の記憶装置。 - 前記アクセスパターンの保護方法が、
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが履歴領域に保存されている場合に、前記履歴領域に保存されていないデータをランダムに選択し、前記アクセスを行うデータと前記ランダムに選択したデータとを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記履歴領域に移動して保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項9のいずれかに記載の記憶装置。 - 前記アクセスパターンの保護方法が、
初期状態において、1度だけ、前記非アクセス領域内のデータをランダムに並び替える第1のステップと、
前記非アクセス領域内のデータを前記アクセス領域のメモリサイズに応じて選択して、前記アクセス領域に移動させる第2のステップと、
1つのデータにアクセスが生じたときに、2つのデータを選択し、前記アクセス領域と非アクセス領域との間でデータ交換を行う際に、前記アクセス領域内の他のデータについてもアクセスを行って、前記アクセス領域と非アクセス領域との間でデータ交換を行うとともに、アクセスを行うデータが前記アクセス領域に保存されている場合に、前記非アクセス領域と履歴領域とからランダムに選択したデータを前記2つのデータとし、前記アクセス領域に移動して、移動したデータサイズに応じて、前記アクセス領域にあった任意のデータを前記非アクセス領域に移動し、これらのデータを前記履歴領域に保存する第3のステップと、
アクセスすべきデータへのアクセス処理が終了したときに、前記アクセス領域内の必要なデータを書き出す第4のステップと、
を備えたことを特徴とする請求項1から請求項9のいずれかに記載の記憶装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013138728A JP6077405B2 (ja) | 2013-07-02 | 2013-07-02 | 記憶装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013138728A JP6077405B2 (ja) | 2013-07-02 | 2013-07-02 | 記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015012558A true JP2015012558A (ja) | 2015-01-19 |
JP6077405B2 JP6077405B2 (ja) | 2017-02-08 |
Family
ID=52305315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013138728A Active JP6077405B2 (ja) | 2013-07-02 | 2013-07-02 | 記憶装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6077405B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5123045A (en) * | 1989-08-18 | 1992-06-16 | Massachusetts Institute Of Technology | Comprehensive software protection system |
JP2013117882A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、装置、システム |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
-
2013
- 2013-07-02 JP JP2013138728A patent/JP6077405B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5123045A (en) * | 1989-08-18 | 1992-06-16 | Massachusetts Institute Of Technology | Comprehensive software protection system |
JP2013117882A (ja) * | 2011-12-02 | 2013-06-13 | Toshiba Corp | ホスト装置、装置、システム |
US20150006905A1 (en) * | 2013-06-27 | 2015-01-01 | Qualcomm Incorporated | Method and Apparatus to Encrypt Plaintext Data |
Non-Patent Citations (2)
Title |
---|
JPN6015012434; Pinkas, B. and Reinman, T.: 'Oblivious RAM Revisited' Cryptology ePrint Archive Report 2010/366, 201006, [online] * |
JPN6016050306; NAKANO, Y. et al.: 'Memory Access Pattern Protection for Resource-Constrained Devices' [online] , 2012, 188-202 * |
Also Published As
Publication number | Publication date |
---|---|
JP6077405B2 (ja) | 2017-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9712319B2 (en) | Method and apparatus to encrypt plaintext data | |
AU2011305189B2 (en) | A tweakable encryption mode for memory encryption with protection against replay attacks | |
US9515818B2 (en) | Multi-block cryptographic operation | |
US10027640B2 (en) | Secure data re-encryption | |
US8718280B2 (en) | Securing keys of a cipher using properties of the cipher process | |
US9692592B2 (en) | Using state reordering to protect against white box attacks | |
JP4758904B2 (ja) | 機密情報処理方法 | |
US20150349951A1 (en) | Protecting Cryptographic Operations Using Conjugacy Class Functions | |
CN106209346B (zh) | 白盒密码技术交错查找表 | |
CN102629236B (zh) | 基于不等长计数器的存储器保护方法 | |
CN102224508B (zh) | 在存储器装置中存储数据的方法及处理该数据的处理装置 | |
JP6077405B2 (ja) | 記憶装置 | |
US20210143978A1 (en) | Method to secure a software code performing accesses to look-up tables | |
KR20060110383A (ko) | 네트워크 보안 프로세서의 다중모드 암호화 장치 | |
JP6144126B2 (ja) | 記憶装置 | |
JP6077421B2 (ja) | 記憶装置、記憶システムおよびプログラム | |
JP6106050B2 (ja) | 記憶装置、記憶システム、記憶方法およびプログラム | |
US11101824B2 (en) | Encryption device and decryption device, and operation method thereof | |
JP2013152382A (ja) | 記憶装置、データの保存方法およびプログラム | |
JP6181573B2 (ja) | データ共有システム、データ共有方法およびプログラム | |
JP5908376B2 (ja) | 秘密鍵生成装置、秘密鍵生成方法およびプログラム | |
Amola et al. | Android Security: Security using Encryption (AES) | |
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: 20161222 |
|
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: 20170104 |
|
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: 6077405 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |