JP6809986B2 - アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム - Google Patents
アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム Download PDFInfo
- Publication number
- JP6809986B2 JP6809986B2 JP2017113740A JP2017113740A JP6809986B2 JP 6809986 B2 JP6809986 B2 JP 6809986B2 JP 2017113740 A JP2017113740 A JP 2017113740A JP 2017113740 A JP2017113740 A JP 2017113740A JP 6809986 B2 JP6809986 B2 JP 6809986B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- access
- attack
- memory
- executions
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
(1)メモリのどのブロックにアクセスしたかが分からないこと。
(2)同じブロックに複数回アクセスしたことが分からないこと。
以下、本発明の第1実施形態について説明する。
本実施形態の保護手法が適用されたアクセスプログラムは、コンピュータに実行されることにより、ORAMに格納された秘密情報にアクセスする。
ここで、本保護手法によりアクセスプログラムを実行できる回数が制限されることで、同一のプログラムを複数回実行した際に得られる複数のアクセスパターンを用いてメモリから秘密情報を復元する攻撃が抑制される。
メモリMは、N=m+d個のブロックからなるとする。Mは次式で定義される。
M=(M1,…,Mi,…,MN)
ただし、1番目からm番目のブロックには正しい情報が格納される。m+1番目からm+d番目のブロックにはダミーの情報が格納される。
g(Mi)→i
また、メモリのブロックの位置をランダムにシャッフルする置換関数πkを、次式で定義する。
πk(g(Mi))→j, j∈{1,…,N}
ただし、置換関数はプログラムがメモリへd回アクセスする毎に更新され、kは、更新回数を示す。
A=(a1,…,ad,…,akd+1,…,akd+d,…,and+1,…,and+d)
ここで、各アクセスakd+iは次式で表される。
akd+i=πk(g(Mi))
ただし、ORAMでは、置換関数が更新されるまでの間に、同一のブロックにアクセスしたことが分からないようにするために、kd+1番目からkd+d番目のアクセスの中で、プログラムが同一のブロックにアクセスする場合、ダミーの情報が格納されているブロックに擬似的にアクセスする。このため、次式が成立する。
akd+1≠…≠akd+d
攻撃者は、プログラムRにおける区間[kd+1,kd+d]の実行位置を知っているものとする。攻撃者は、プログラムRが実行されたときのアクセスパターンA(R)から、秘密情報Sの全ての要素を推定することを目的とする。
(ステップ1)
攻撃者は、プログラムRを実行し、アクセスパターンA(R)を得る。
攻撃者は、A(R)のうち、区間[kd+1,kd+d]に相当する部分的なアクセスパターン(akd+1,…,akd+d)を観測する。これらのうち、t回のアクセスが1番目からm番目のブロックに対するものであり、かつ、d−t回のアクセスがm+1番目からm+d番目のブロックに対するものである場合(攻撃条件)、攻撃者は、1番目からm番目のブロックにアクセスしたt回のアクセスの位置を参照し、該当するブロックに格納されている情報を抽出する。
攻撃者は、ステップ2で抽出したt個の情報の全てが秘密情報の要素のいずれかに該当するか否かを判定する。秘密情報に該当する場合、攻撃者は、攻撃に成功し目的を達成したことになる。ただし、判定の回数の上限をnとする。
攻撃に失敗した場合、攻撃者は、攻撃に成功するまでステップ1からステップ3までの処理を繰り返す。
本実施形態では、攻撃者がプログラムRを実行できる回数に制限を加えることで攻撃の成功確率の上昇を抑制する。この実行回数の上限をτとする。
P1=1−[1−(1/dCt)]τu
ここで、uは、プログラムRをτ回実行したときに、前述した攻撃のステップ2で攻撃条件に合うパターンが出現する確率であり、次式で求められる。
u=dCt(N−d)!t!mCt(d−t)!dCd−t/N!
t個の情報が秘密情報の要素であるか否かの判定をn回行った場合の攻撃成功確率P2は、次式で表される。
P2=1−[1−(1/NCt)]n
P1≦P2
⇔τ≦log[1−(1/NCt)]n/log[1−(1/dCt)]u
保護装置1は、制御部11(例えば、CPU)と記憶部12とを備えた情報処理装置(コンピュータ)である。制御部11は、記憶部12に格納されたアクセスプログラムを読み込み実行する。
制御部11は、アクセスプログラムの実行回数を記録する記録部111と、実行回数が上限を超えた場合にアクセスプログラムの実行を制限する制限部112とを備える。
ステップS1において、制御部11は、アクセスプログラムの実行が指示された際に、記録部111により記録されている実行回数をカウントアップして、今回までの実行回数を取得する。
ステップS4において、制御部11は、アクセスプログラムの実行による秘密情報へのアクセスを許可し、メイン処理を実行する。
ここで、プログラム区間の更新とは、例えば、プログラム中で秘密情報へアクセスするステップの位置(プログラム区間)を移動することである。
ステップS11において、制御部11は、アクセスプログラムの実行が指示された際に、記録部111により記録されている実行回数をカウントアップして、今回までの実行回数を取得する。
ステップS14において、制御部11(記録部111)は、実行回数を初期化(1に更新)する。
ステップS16において、制御部11は、アクセスプログラムの実行による秘密情報へのアクセスを許可し、メイン処理を実行する。
例えば、制御プログラムを実行する制御部11は、制限対象のアクセスプログラムを終了させた後、更新してもよい。
以下、本発明の第2実施形態について説明する。
本実施形態では、第1実施形態のアクセスプログラムにおける実行回数の上限を決定するための最適化装置を提供する。
最適化装置2は、制御部21(例えば、CPU)と、記憶部22と、入力部23と、出力部24とを備えた情報処理装置(コンピュータ)である。
入力部23は、ユーザから、ORAMのブロック構成等のパラメータ(例えば、前述のパラメータN,m,d,n,t等)を受け付け、決定部211に提供する。
出力部24は、決定部211により決定された実行回数の上限τを出力する。
2 最適化装置
11 制御部
12 記憶部
21 制御部
22 記憶部
23 入力部
24 出力部
111 記録部
112 制限部
211 決定部
Claims (9)
- メモリに格納された秘密情報へのアクセスを伴う処理をコンピュータに実行させるためのプログラムであって、
実行回数を記録させる記録ステップと、
前記メモリに対するアクセスパターンにより前記秘密情報の復元を試行する第1の攻撃に関して、前記実行回数に応じた当該第1の攻撃の成功確率が所定値以上となる場合の実行を制限させる制限ステップと、を含むアクセスプログラム。 - 前記所定値は、前記メモリからランダムに選択した情報から前記秘密情報の復元を試行する第2の攻撃を上限回数まで繰り返した場合に、当該第2の攻撃が成功する確率である請求項1に記載のアクセスプログラム。
- 前記メモリは、既定のアクセス回数毎にダミーブロックを含むブロック位置をシャッフルし、前記既定のアクセス回数の間、同一のブロックへのアクセスをしないORAM(Oblivious RAM)である請求項1又は請求項2に記載のアクセスプログラム。
- 前記第1の攻撃の成功確率は、攻撃者が前記アクセスパターンのうち、前記秘密情報の要素数に等しい数のアクセス位置のみが特定のブロック範囲に含まれる場合に前記第1の攻撃を行うと仮定した確率である請求項1から請求項3のいずれかに記載のアクセスプログラム。
- 前記制限ステップにおいて、前記コンピュータに、前記制限させる実行回数毎に、前記秘密情報へのアクセスを伴うプログラム区間を更新させる請求項1から請求項4のいずれかに記載のアクセスプログラム。
- メモリに格納された秘密情報へのアクセスを伴うプログラムを実行する秘密情報の保護装置であって、
実行回数を記録する記録部と、
前記メモリに対するアクセスパターンにより前記秘密情報の復元を試行する第1の攻撃に関して、前記実行回数に応じた当該第1の攻撃の成功確率が所定値以上となる場合の実行を制限する制限部と、を備える保護装置。 - メモリに格納された秘密情報へのアクセスを伴うプログラムの実行制限回数を決定する最適化装置であって、
前記メモリに対するアクセスパターンにより前記秘密情報の復元を試行する第1の攻撃に関して、前記プログラムの実行回数に応じた当該第1の攻撃の成功確率が所定値以上となる場合の実行回数を、前記実行制限回数として決定する決定部を備える最適化装置。 - メモリに格納された秘密情報へのアクセスを伴うプログラムの実行制限回数を決定する最適化方法であって、
コンピュータが前記メモリに対するアクセスパターンにより前記秘密情報の復元を試行する第1の攻撃に関して、前記プログラムの実行回数に応じた当該第1の攻撃の成功確率が所定値以上となる場合の実行回数を、前記実行制限回数として決定する最適化方法。 - メモリに格納された秘密情報へのアクセスを伴うプログラムの実行制限回数を決定するための最適化プログラムであって、
コンピュータに、前記メモリに対するアクセスパターンにより前記秘密情報の復元を試行する第1の攻撃に関して、前記プログラムの実行回数に応じた当該第1の攻撃の成功確率が所定値以上となる場合の実行回数を、前記実行制限回数として決定させるための最適化プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017113740A JP6809986B2 (ja) | 2017-06-08 | 2017-06-08 | アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017113740A JP6809986B2 (ja) | 2017-06-08 | 2017-06-08 | アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018207409A JP2018207409A (ja) | 2018-12-27 |
JP6809986B2 true JP6809986B2 (ja) | 2021-01-06 |
Family
ID=64958503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017113740A Active JP6809986B2 (ja) | 2017-06-08 | 2017-06-08 | アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6809986B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5865222B2 (ja) * | 2012-09-27 | 2016-02-17 | Kddi株式会社 | 記憶装置、アクセスパターンの秘匿方法およびプログラム |
US9495111B2 (en) * | 2014-10-10 | 2016-11-15 | The Boeing Company | System and method for reducing information leakage from memory |
JP6632796B2 (ja) * | 2014-10-14 | 2020-01-22 | Kddi株式会社 | データベース評価装置、方法及びプログラム、並びにデータベース分割装置、方法及びプログラム |
-
2017
- 2017-06-08 JP JP2017113740A patent/JP6809986B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018207409A (ja) | 2018-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2486588C1 (ru) | Система и способ эффективного лечения компьютера от вредоносных программ и последствий их работы | |
US8516596B2 (en) | Cyber attack analysis | |
Carlini et al. | An evaluation of the google chrome extension security architecture | |
JP5049288B2 (ja) | 改竄検出システム、改竄検出方法、改竄検出プログラム、記録媒体、集積回路、認証情報生成装置及び改竄検出装置 | |
US8006078B2 (en) | Central processing unit having branch instruction verification unit for secure program execution | |
US8438402B2 (en) | Electronic terminal, control method, computer program and integrated circuit | |
US20140157415A1 (en) | Information security analysis using game theory and simulation | |
US10637883B1 (en) | Systems and methods for determining optimal remediation recommendations in penetration testing | |
US10628562B2 (en) | Method for protecting a computer program from being influenced, and computer system | |
US20110088095A1 (en) | Anti-Tamper System Employing Automated Analysis | |
CN104834840B (zh) | 基于映射漂移技术的密码保护方法 | |
EP2045748B1 (en) | Anti-tamper techniques | |
Parizi et al. | Security in online games: Current implementations and challenges | |
KR102316404B1 (ko) | 확장자 랜덤화를 통한 랜섬웨어 피해 방어 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Anderson et al. | Parameterizing moving target defenses | |
US9081962B2 (en) | Anti-tamper techniques | |
JP6809986B2 (ja) | アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム | |
CN110708342B (zh) | 恶意攻击对信息物理电力系统影响的量化方法及系统 | |
JP6594277B2 (ja) | 計算機システム、アクセス制御方法、及び計算機 | |
CN117857221B (zh) | 一种针对远程服务平台的权限管理方法及系统 | |
Rodwald | Attack on Students’ Passwords, Findings and Recommendations | |
JP2018136904A (ja) | ウイルス駆除システム | |
Elsayed et al. | Integrating Security in Cloud Application Development Cycle | |
JP6775471B2 (ja) | 安全性評価装置、安全性評価方法及び安全性評価プログラム | |
Butler | Improving security technology selections with decision theory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190723 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200630 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200929 |
|
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: 20201208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6809986 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |