JP5765733B2 - Information processing apparatus, information processing method, and program thereof - Google Patents

Information processing apparatus, information processing method, and program thereof Download PDF

Info

Publication number
JP5765733B2
JP5765733B2 JP2011178732A JP2011178732A JP5765733B2 JP 5765733 B2 JP5765733 B2 JP 5765733B2 JP 2011178732 A JP2011178732 A JP 2011178732A JP 2011178732 A JP2011178732 A JP 2011178732A JP 5765733 B2 JP5765733 B2 JP 5765733B2
Authority
JP
Japan
Prior art keywords
power consumption
value
tamper resistance
coefficient
evaluation
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
JP2011178732A
Other languages
Japanese (ja)
Other versions
JP2013042406A (en
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.)
Meijo University
Original Assignee
Meijo University
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 Meijo University filed Critical Meijo University
Priority to JP2011178732A priority Critical patent/JP5765733B2/en
Publication of JP2013042406A publication Critical patent/JP2013042406A/en
Application granted granted Critical
Publication of JP5765733B2 publication Critical patent/JP5765733B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置,情報処理方法及びそのプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program thereof.

従来、暗号処理回路の外部からの攻撃に対する耐性である耐タンパ性を評価する情報処理装置として、暗号処理回路に実際に外部からの攻撃を試み、攻撃が成功したか否かにより耐タンパ性を評価するものが知られている。そして、このような攻撃手法としては、暗号処理回路の消費電力とその回路中の秘密情報との関係を用いて消費電力から秘密情報を取得する電力差分解析が知られている。例えば、特許文献1には、論理回路の信号が変化した回数に基づいて消費電力を算出して、電力差分解析を行って耐タンパ性を評価することが記載されている。また、特許文献2には、耐タンパ対策回路の機能を有効にした場合と有効にしない場合とで電力差分解析の結果を比較して、耐タンパ対策回路の評価をすることが記載されている。   Conventionally, as an information processing device that evaluates tamper resistance, which is resistance to an attack from the outside of the cryptographic processing circuit, the tamper resistance is actually determined by whether or not the attack is actually attempted to the cryptographic processing circuit. What is to be evaluated is known. As such an attack technique, power difference analysis is known in which secret information is acquired from power consumption using the relationship between the power consumption of the cryptographic processing circuit and the secret information in the circuit. For example, Patent Document 1 describes that power consumption is calculated based on the number of times a signal of a logic circuit changes, and a tamper resistance is evaluated by performing a power difference analysis. Patent Document 2 describes that the tamper resistant circuit is evaluated by comparing the results of the power difference analysis when the function of the tamper resistant circuit is enabled and when the function is not enabled. .

ここで、電力差分解析とは、暗号回路の多数の消費電力データからその平均値を求め、これを2つにグループ分けしたときの両者の差分の大小に基づいて秘密情報を取得する攻撃手法である。電力差分解析は例えば次のように行う。まず、暗号処理回路の消費電力を測定して出力データと消費電力とを対応づけた消費電力データを多数取得する。続いて、取得したい秘密情報(例えば秘密鍵)を特定値に仮定し、その仮定の下で消費電力データの出力データに対する暗号処理回路の入力データを予測する。次に、選択関数としてこの入力データ中の特定ビットを設定し、この選択関数が値0か値1かによって、消費電力データを2つのグループに分け、グループ毎の消費電力の平均波形を求めて2つのグループの平均波形の差分を求める。このような平均波形の差分を秘密情報の取り得る全てのパターン(例えば8ビットの秘密鍵の場合には256パターン)について求める。こうすると、入力データが異なることによる消費電力のデータのばらつきが平均波形においてはキャンセルされる一方、仮定した秘密情報が正しい値であるときには、選択関数が値0であるか値1であるかによる暗号処理回路中の消費電力の差はキャンセルされないから、平均波形の差分が大きい値となる。これに対し、仮定した秘密情報が正しい値でないときには、2つのグループの平均波形の差分は小さい値となる。このような性質を利用して、平均波形の差分が最大となるときの秘密情報の仮定値が正解の値であると推定して、秘密情報を取得することができる。   Here, the power difference analysis is an attack technique in which an average value is obtained from a large number of power consumption data of the encryption circuit, and secret information is obtained based on the difference between the two when the data is grouped into two. is there. For example, the power difference analysis is performed as follows. First, the power consumption of the cryptographic processing circuit is measured, and a large number of power consumption data in which output data and power consumption are associated with each other is acquired. Subsequently, secret information (for example, a secret key) to be acquired is assumed to be a specific value, and input data of the cryptographic processing circuit for output data of power consumption data is predicted under the assumption. Next, a specific bit in the input data is set as a selection function, and the power consumption data is divided into two groups depending on whether the selection function has a value of 0 or 1, and an average waveform of power consumption for each group is obtained. The difference between the average waveforms of the two groups is obtained. Such an average waveform difference is obtained for all patterns that can be taken by the secret information (for example, 256 patterns in the case of an 8-bit secret key). In this way, the variation in power consumption data due to different input data is canceled in the average waveform, while when the assumed secret information is a correct value, it depends on whether the selection function is a value 0 or a value 1. Since the difference in power consumption in the cryptographic processing circuit is not canceled, the average waveform difference becomes a large value. On the other hand, when the assumed secret information is not a correct value, the difference between the average waveforms of the two groups is a small value. Using such a property, it is possible to acquire the secret information by estimating that the assumed value of the secret information when the difference between the average waveforms is the maximum is a correct value.

国際公開2006−006198号公報International Publication No. 2006-006198 特許第4594665号公報Japanese Patent No. 4594665

しかし、電力差分解析による暗号処理回路への攻撃を行って、攻撃が成功したか否かにより耐タンパ性を評価する手法では、評価に手間や時間がかかるという問題があった。例えば、電力差分解析で1回の攻撃を行うためには、秘密情報の取り得るパターン全てについて平均波形の差分を導出してこれらを比較する処理が必要になるため手間や時間がかかっていた。さらに、選択関数をどのビットに設定するかによっても攻撃が成功するか否かが変わるため、このような手間や時間のかかる電力差分解析による攻撃を、選択関数を変更して複数回試す必要があった。このため、より効率的に耐タンパ性の評価を行うことが望まれていた。   However, the technique of evaluating the tamper resistance based on whether or not the attack is successful by performing an attack on the cryptographic processing circuit by the power difference analysis has a problem that the evaluation takes time and effort. For example, in order to perform one attack in the power difference analysis, it takes time and effort because it is necessary to derive a difference between the average waveforms for all patterns that can be taken by the secret information and compare them. Furthermore, since the success or failure of the attack depends on which bit the selection function is set to, it is necessary to change the selection function and test this multiple time-consuming attacks using power difference analysis. there were. For this reason, it has been desired to evaluate tamper resistance more efficiently.

本発明は、上述した課題に鑑みなされたものであり、暗号処理回路の耐タンパ性の評価をより効率的に行うことを主目的とする。   The present invention has been made in view of the above-described problems, and has as its main object to more efficiently evaluate tamper resistance of a cryptographic processing circuit.

本発明の情報処理装置は、
暗号処理回路の耐タンパ性を評価する情報処理装置であって、
前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数と該暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得する消費電力データ取得手段と、
前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた前記状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数の少なくともいずれかを分析値として導出する分析手段と、
前記導出された分析値に基づいて、前記暗号処理回路の耐タンパ性を評価する評価手段と、
を備えたものである。
The information processing apparatus of the present invention
An information processing apparatus for evaluating tamper resistance of a cryptographic processing circuit,
Power consumption data acquisition means for acquiring a plurality of power consumption data in which a state variable indicating a state of at least one of an input bit and an output bit in the cryptographic processing circuit and power consumption in the cryptographic processing circuit are associated;
Based on the plurality of acquired power consumption data, regression analysis is performed using the power consumption as an objective variable and the state variable associated with the power consumption as an explanatory variable. An analysis means for deriving either as an analysis value;
Evaluation means for evaluating tamper resistance of the cryptographic processing circuit based on the derived analysis value;
It is equipped with.

この本発明の情報処理装置では、暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数と暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得し、取得された複数の消費電力データに基づいて、消費電力を目的変数とし消費電力に対応づけられた状態変数を説明変数として回帰分析を行い、分析により決定係数及び回帰係数の少なくともいずれかを分析値として導出する。そして、導出された分析値に基づいて、暗号処理回路の耐タンパ性を評価する。こうして導出した分析値は状態変数と消費電力との相関を表すものであり、換言すると消費電力から状態変数の値が推測されやすいか否かを表すものとなる。この分析値に基づいて耐タンパ性を評価することで、電力差分解析攻撃を複数回行い攻撃が成功するか否かによって耐タンパ性を評価する場合と比べて、暗号処理回路の耐タンパ性を効率的に評価することができる。ここで、回帰分析とは、重回帰分析と単回帰分析とのいずれか又は両方を意味する。決定係数とは、自由度調整済決定係数と自由度調整済みでない決定係数とのいずれか又は両方を意味する。回帰係数とは、単回帰分析における回帰係数と、重回帰分析における偏回帰係数のいずれか又は両方を意味する。また、入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数は、例えば入力ビット及び出力ビットの少なくともいずれかの値としてもよいし、値の遷移の有無としてもよい。また、状態変数は、入力ビット又は出力ビットのうちいずれかの1ビットの値又は値の遷移の有無を表す変数としてもよい。   In the information processing apparatus of the present invention, a plurality of pieces of power consumption data in which state variables representing the state of at least one of input bits and output bits in the cryptographic processing circuit and power consumption in the cryptographic processing circuit are associated with each other are acquired and acquired. Based on a plurality of power consumption data, a regression analysis is performed using power consumption as an objective variable and a state variable associated with power consumption as an explanatory variable, and at least one of a determination coefficient and a regression coefficient is analyzed as an analysis value. To derive. Then, the tamper resistance of the cryptographic processing circuit is evaluated based on the derived analysis value. The analysis value thus derived represents the correlation between the state variable and the power consumption. In other words, it represents whether or not the value of the state variable is easily estimated from the power consumption. By evaluating tamper resistance based on this analysis value, the tamper resistance of the cryptographic processing circuit can be improved compared to the case where tamper resistance is evaluated based on whether or not the attack is successful after multiple power differential analysis attacks. It can be evaluated efficiently. Here, regression analysis means either or both of multiple regression analysis and single regression analysis. The coefficient of determination means one or both of a coefficient of determination adjusted for the degree of freedom and a coefficient of determination for which the degree of freedom has not been adjusted. The regression coefficient means either or both of a regression coefficient in single regression analysis and a partial regression coefficient in multiple regression analysis. In addition, the state variable representing the state of at least one of the input bit and the output bit may be, for example, the value of at least one of the input bit and the output bit, or may be the presence or absence of a value transition. In addition, the state variable may be a variable representing the value of one bit of the input bits or the output bits or the presence / absence of transition of values.

本発明の情報処理装置において、前記消費電力データ取得手段は、複数の異なる前記状態変数と該暗号処理回路における消費電力とが対応付けられた前記消費電力データを複数取得する手段であり、前記分析手段は、前記取得された消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた複数の前記状態変数をそれぞれ説明変数として重回帰分析を行い、該分析により決定係数及び偏回帰係数の少なくともいずれかを前記分析値として導出する手段としてもよい。こうすれば、複数の状態変数と消費電力との相関を重回帰分析によりまとめて分析することができるため、複数回の単回帰分析を行う場合に比べて効率的に耐タンパ性を評価できる。   In the information processing apparatus of the present invention, the power consumption data acquisition means is means for acquiring a plurality of power consumption data in which a plurality of different state variables and power consumption in the cryptographic processing circuit are associated, and the analysis The means performs a multiple regression analysis using the power consumption as an objective variable and the plurality of state variables associated with the power consumption as explanatory variables based on the acquired power consumption data, and the coefficient of determination is determined by the analysis. And at least one of partial regression coefficients may be derived as the analysis value. In this way, since the correlation between the plurality of state variables and the power consumption can be collectively analyzed by multiple regression analysis, tamper resistance can be evaluated more efficiently than when performing multiple regression analysis.

本発明の情報処理装置において、前記分析手段は、前記偏回帰係数を前記分析値として導出する手段であり、前記評価手段は、前記導出された偏回帰係数に基づいて、前記暗号処理回路における前記複数の状態変数のうち耐タンパ性の低い状態変数を判定する手段としてもよい。こうすれば、具体的に耐タンパ性の低い状態変数を判定することができる。この場合において、前記導出された偏回帰係数のうち、所定の偏回帰係数許容領域に含まれない偏回帰係数があるときには、該偏回帰係数に対応する前記状態変数の耐タンパ性が低いと判定する手段としてもよい。こうすれば、各状態変数の耐タンパ性を簡易な方法で評価することができる。ここで、所定の偏回帰係数許容領域とは、耐タンパ性が高いとみなせる偏回帰係数の領域であり、例えば実験により経験的に定めた領域としてもよい。また、前記評価手段は、前記偏回帰係数に基づいて耐タンパ性が低いと判定した状態変数があるときには、該状態変数を選択関数として前記暗号処理回路の電力差分解析を行い、該電力差分解析が成功したか否かにより該暗号処理回路の耐タンパ性を評価する手段としてもよい。こうすれば、耐タンパ性が低いと判定された状態変数について、電力差分解析を行って耐タンパ性を評価するため、より確実に耐タンパ性の評価を行うことができる。   In the information processing apparatus of the present invention, the analysis means is a means for deriving the partial regression coefficient as the analysis value, and the evaluation means is based on the derived partial regression coefficient, and It is good also as a means to determine a state variable with low tamper resistance among several state variables. In this way, it is possible to specifically determine a state variable with low tamper resistance. In this case, when there is a partial regression coefficient that is not included in the predetermined partial regression coefficient allowable area among the derived partial regression coefficients, it is determined that the tamper resistance of the state variable corresponding to the partial regression coefficient is low. It is good also as a means to do. In this way, the tamper resistance of each state variable can be evaluated by a simple method. Here, the predetermined partial regression coefficient allowable region is a region of the partial regression coefficient that can be regarded as having high tamper resistance, and may be a region that is empirically determined by experiment, for example. In addition, when there is a state variable determined to have low tamper resistance based on the partial regression coefficient, the evaluation unit performs a power difference analysis of the cryptographic processing circuit using the state variable as a selection function, and the power difference analysis It may be a means for evaluating the tamper resistance of the cryptographic processing circuit depending on whether or not the above has succeeded. By doing this, tamper resistance can be more reliably evaluated because power difference analysis is performed on the state variable determined to have low tamper resistance and the tamper resistance is evaluated.

本発明の情報処理装置において、前記分析手段は、前記決定係数を前記分析値として導出する手段であり、前記評価手段は、前記導出された決定係数が所定の決定係数許容領域に含まれるか否かに基づいて、耐タンパ性が高いか否かを判定する手段としてもよい。こうすれば、決定係数は状態変数と消費電力との全体的な相関を表すものであるため、この決定係数に基づいて耐タンパ性を評価することができる。ここで、所定の決定係数許容領域とは、状態変数と消費電力との全体的な相関が低く耐タンパ性が高いとみなせる決定係数の領域であり、例えば実験により経験的に定めた領域としてもよい。この場合において、前記分析手段は、前記決定係数及び前記偏回帰係数を前記分析値として導出する手段であり、前記評価手段は、前記導出された決定係数が前記決定係数許容領域と異なる所定の決定係数非許容領域に含まれるときには、耐タンパ性が低いと判定し、前記導出された決定係数が前記決定係数許容領域及び前記決定係数非許容領域のいずれにも含まれないときには、前記導出された偏回帰係数に基づいて前記複数の状態変数のうち耐タンパ性の低い状態変数を判定する手段としてもよい。こうすれば、決定係数による判定で耐タンパ性が高いわけではないが、耐タンパ性が低いわけでもない場合に、具体的に耐タンパ性の低い状態変数を判定することができる。このため、常に耐タンパ性の低い状態変数を判定するものと比べて効率よく耐タンパ性の評価を行うことができる。ここで、所定の決定係数非許容領域とは、状態変数と消費電力との全体的な相関が高く耐タンパ性が低いとみなせる決定係数の領域であり、例えば実験により経験的に定めた領域としてもよい。また、導出された決定係数が決定係数許容領域及び決定係数非許容領域のいずれにも含まれないときとは、決定係数が決定係数許容領域と決定係数非許容領域との中間の領域に含まれるときを意味する。この場合において、前記評価手段は、前記導出された決定係数が前記決定係数許容領域及び前記決定係数非許容領域のいずれにも含まれないときには、前記導出された偏回帰係数が所定の偏回帰係数許容領域に含まれるか否かを判定して、該偏回帰係数許容領域に含まれない偏回帰係数に対応する前記状態変数の耐タンパ性が低いと判定する手段としてもよい。こうすれば、各状態変数の耐タンパ性を簡易な方法で評価することができる。   In the information processing apparatus of the present invention, the analysis unit is a unit that derives the determination coefficient as the analysis value, and the evaluation unit determines whether or not the derived determination coefficient is included in a predetermined determination coefficient allowable region. Based on the above, it may be a means for determining whether or not the tamper resistance is high. In this way, since the determination coefficient represents the overall correlation between the state variable and the power consumption, the tamper resistance can be evaluated based on the determination coefficient. Here, the predetermined determination coefficient allowable region is a region of a determination coefficient that can be regarded as having a low overall correlation between state variables and power consumption and having high tamper resistance. Good. In this case, the analysis means is means for deriving the determination coefficient and the partial regression coefficient as the analysis value, and the evaluation means is a predetermined determination in which the derived determination coefficient is different from the determination coefficient allowable region. When it is included in the coefficient non-permissible region, it is determined that tamper resistance is low, and when the derived determination coefficient is not included in either the determination coefficient allowable region or the determination coefficient non-permissible region, the derived It is good also as a means to determine a state variable with low tamper resistance among said several state variables based on a partial regression coefficient. In this way, when the determination by the determination coefficient is not high in tamper resistance, but the tamper resistance is not low, it is possible to specifically determine a state variable with low tamper resistance. For this reason, evaluation of tamper resistance can be efficiently performed as compared with the case of always determining a state variable having low tamper resistance. Here, the predetermined determination coefficient non-permissible area is an area of a determination coefficient that can be regarded as having a high overall correlation between state variables and power consumption and having low tamper resistance. Also good. In addition, when the derived coefficient of determination is not included in any of the determination coefficient allowable area and the determined coefficient non-permissible area, the determined coefficient is included in an intermediate area between the determined coefficient allowable area and the determined coefficient non-allowable area. Means when. In this case, the evaluation means determines that the derived partial regression coefficient is a predetermined partial regression coefficient when the derived determination coefficient is not included in any of the determination coefficient allowable area and the determination coefficient non-allowable area. Means for determining whether or not the state variable is included in the allowable region and determining that the tamper resistance of the state variable corresponding to the partial regression coefficient not included in the partial regression coefficient allowable region is low may be used. In this way, the tamper resistance of each state variable can be evaluated by a simple method.

本発明の情報処理装置において、前記評価手段は、前記取得された複数の消費電力データの標準偏差に基づいて、耐タンパ性が高いか否かを判定し、耐タンパ性が低いときには、前記導出された分析値に基づいて前記暗号処理回路の耐タンパ性を評価する手段としてもよい。消費電力データの標準偏差が小さい、すなわち消費電力データのばらつきが小さい場合には、状態変数と消費電力データとの相関も小さいため、耐タンパ性が高いと考えられる。そのため、消費電力データの標準偏差に基づいて耐タンパ性が低いと判定したときに分析値に基づく耐タンパ性を評価することで、常に分析値に基づく耐タンパ性を評価する場合と比べて効率的に耐タンパ性の評価をすることができる。   In the information processing apparatus of the present invention, the evaluation unit determines whether or not the tamper resistance is high based on a standard deviation of the acquired plurality of pieces of power consumption data. The tamper resistance of the cryptographic processing circuit may be evaluated based on the analyzed value. When the standard deviation of the power consumption data is small, that is, when the variation of the power consumption data is small, the correlation between the state variable and the power consumption data is also small, so that tamper resistance is considered high. Therefore, by evaluating tamper resistance based on analysis values when it is determined that tamper resistance is low based on the standard deviation of power consumption data, efficiency is always higher than when evaluating tamper resistance based on analysis values. Tamper resistance can be evaluated.

本発明の情報処理装置において、前記暗号処理回路は、乱数ビットの値により内部の回路動作をマスクする乱数マスク回路を有しており、前記消費電力データ取得手段は、前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数及び前記乱数ビットの状態を表す状態変数と、該暗号処理回路における消費電力とが対応付けられた前記消費電力データを複数取得する手段であり、前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた前記乱数ビットの状態を表す状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数の少なくともいずれかを前記乱数ビットと前記消費電力との相関値として導出し、該相関値に基づいて前記乱数ビットと前記消費電力との相関が高いと判定したときには、前記取得した複数の消費電力データを乱数ビットの値に応じて複数のグループに分類する分類手段、を備え、前記分析手段は、同じ前記グループに属する消費電力データに基づいて、前記回帰分析を行って前記分析値を導出する手段としてもよい。こうすれば、乱数マスク回路の乱数ビットと消費電力との相関が高いときには、消費電力データをグループ分けしてから回帰分析を行うことで、乱数ビットの影響を除いた耐タンパ性評価ができる。これにより、例えば実際の暗号処理回路への攻撃として、消費電力データと乱数ビットとの間の相関からまず乱数ビットの値を読み取り、その後に乱数ビットの値が同じ値である消費電力データのみについて電力差分解析を行うといった攻撃手法に対する耐タンパ性を評価することができる。ここで、乱数マスク回路には、例えばRSL(Random Switch Logic)回路やMDPL(Masked Dual-rail Pre-charge Logic)回路が含まれる。   In the information processing apparatus of the present invention, the cryptographic processing circuit includes a random number mask circuit that masks an internal circuit operation with a value of a random number bit, and the power consumption data acquisition unit includes an input bit in the cryptographic processing circuit. And a means for obtaining a plurality of the power consumption data in which the state variable indicating the state of at least one of the output bits and the state variable indicating the state of the random number bit are associated with the power consumption in the cryptographic processing circuit, Based on the plurality of acquired power consumption data, a regression analysis is performed using the power consumption as an objective variable and a state variable representing the state of the random number bit associated with the power consumption as an explanatory variable, and is determined by the analysis. Deriving at least one of a coefficient and a regression coefficient as a correlation value between the random number bits and the power consumption, and based on the correlation value, When it is determined that the correlation between the random number bits and the power consumption is high, the plurality of acquired power consumption data is classified into a plurality of groups according to the value of the random number bits, and the analysis means is the same The analysis value may be derived by performing the regression analysis based on the power consumption data belonging to the group. In this way, when the correlation between the random number bits of the random number mask circuit and the power consumption is high, the tamper resistance can be evaluated by removing the influence of the random number bits by performing the regression analysis after grouping the power consumption data. As a result, for example, as an attack on the actual cryptographic processing circuit, first, the value of the random number bit is read from the correlation between the power consumption data and the random number bit, and then only the power consumption data having the same value of the random number bit. Tamper resistance against attack techniques such as power difference analysis can be evaluated. Here, the random number mask circuit includes, for example, an RSL (Random Switch Logic) circuit and an MDPL (Masked Dual-rail Pre-charge Logic) circuit.

本発明の情報処理方法は、
暗号処理回路の耐タンパ性を評価する情報処理方法であって、
(a)前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数と該暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得するステップと、
(b)前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた前記状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数の少なくともいずれかを分析値として導出するステップと、
(c)前記導出された分析値に基づいて、前記暗号処理回路の耐タンパ性を評価するステップと、
を含むものである。
The information processing method of the present invention includes:
An information processing method for evaluating tamper resistance of a cryptographic processing circuit,
(A) obtaining a plurality of power consumption data in which state variables representing at least one state of input bits and output bits in the cryptographic processing circuit are associated with power consumption in the cryptographic processing circuit;
(B) Based on the acquired plurality of power consumption data, regression analysis is performed using the power consumption as an objective variable and the state variable associated with the power consumption as an explanatory variable. Deriving at least one of the coefficients as an analysis value;
(C) evaluating the tamper resistance of the cryptographic processing circuit based on the derived analysis value;
Is included.

この本発明の情報処理方法では、暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数と暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得し、取得された複数の消費電力データに基づいて、消費電力を目的変数とし消費電力に対応づけられた状態変数を説明変数として回帰分析を行い、分析により決定係数及び回帰係数の少なくともいずれかを分析値として導出する。そして、導出された分析値に基づいて、暗号処理回路の耐タンパ性を評価する。こうして導出した分析値は状態変数と消費電力との相関を表すものであり、換言すると消費電力から状態変数の値が推測されやすいか否かを表すものとなる。この分析値に基づいて耐タンパ性を評価することで、電力解析攻撃を複数回行い攻撃が成功するか否かによって耐タンパ性を評価する場合と比べて、暗号処理回路の耐タンパ性を効率的に評価することができる。なお、この情報処理方法において、上述した情報処理装置の種々の態様を採用してもよいし、上述した情報処理装置の各機能を実現するようなステップを追加してもよい。   In the information processing method of the present invention, a plurality of power consumption data in which a state variable representing the state of at least one of an input bit and an output bit in the cryptographic processing circuit and power consumption in the cryptographic processing circuit are associated are acquired and acquired. Based on a plurality of power consumption data, a regression analysis is performed using power consumption as an objective variable and a state variable associated with power consumption as an explanatory variable, and at least one of a determination coefficient and a regression coefficient is analyzed as an analysis value. To derive. Then, the tamper resistance of the cryptographic processing circuit is evaluated based on the derived analysis value. The analysis value thus derived represents the correlation between the state variable and the power consumption. In other words, it represents whether or not the value of the state variable is easily estimated from the power consumption. By evaluating tamper resistance based on this analysis value, the tamper resistance of the cryptographic processing circuit is more efficient than when tamper resistance is evaluated based on whether the power analysis attack is performed multiple times and the attack succeeds. Can be evaluated. In this information processing method, various aspects of the information processing apparatus described above may be adopted, or steps for realizing each function of the information processing apparatus described above may be added.

本発明のプログラムは、上述した情報処理方法の各ステップを1又は複数のコンピューターに実現させるためのものである。このプログラムをコンピューターに実行させれば、上述した本発明の情報処理方法が実現されるため、本発明の情報処理方法と同様の作用効果が得られる。本発明のプログラムは、コンピューターが読み取り可能な記録媒体(例えばハードディスク、ROM、FD、CD、DVDなど)に記録されていてもよいし、伝送媒体(インターネットやLANなどの通信網)を介してあるコンピューターから別のコンピューターに配信されてもよいし、その他どのような形で授受されてもよい。   The program of the present invention is for causing one or more computers to realize each step of the information processing method described above. If this program is executed by a computer, the information processing method of the present invention described above is realized, and thus the same operation and effect as the information processing method of the present invention can be obtained. The program of the present invention may be recorded on a computer-readable recording medium (eg, hard disk, ROM, FD, CD, DVD, etc.) or via a transmission medium (communication network such as the Internet or LAN). It may be distributed from a computer to another computer, or may be exchanged in any other form.

情報処理装置10の構成の概略を示す構成図。1 is a configuration diagram showing an outline of the configuration of an information processing apparatus 10. FIG. 耐タンパ性評価ルーチンの一例を示すフローチャート。The flowchart which shows an example of a tamper resistance evaluation routine. 評価用回路40の構成の概略を示す構成図。FIG. 3 is a configuration diagram showing an outline of a configuration of an evaluation circuit 40. SubBytes変換回路44の出力値を定めた真理値表の説明図。Explanatory drawing of the truth table which defined the output value of SubBytes conversion circuit 44. 評価用回路40を表す評価用回路データの一例を示す説明図。4 is an explanatory diagram illustrating an example of evaluation circuit data representing an evaluation circuit 40. FIG. 変換後の評価用回路データの一例を示す説明図。Explanatory drawing which shows an example of the circuit data for evaluation after conversion. 入力データ生成部23が生成した入力データの一例を示す説明図。Explanatory drawing which shows an example of the input data which the input data generation part 23 produced | generated. シミュレーション結果の一例を示す説明図。Explanatory drawing which shows an example of a simulation result. 取得した消費電力データの説明図。Explanatory drawing of the acquired power consumption data. 分析評価処理の一例を示すフローチャート。The flowchart which shows an example of an analysis evaluation process. 導出した分析値の一例を示す説明図。Explanatory drawing which shows an example of the derived | led-out analytical value. 情報処理装置110の構成の概略を示す構成図。FIG. 2 is a configuration diagram showing an outline of the configuration of an information processing apparatus 110. 評価用回路140の構成の概略を示す構成図。The block diagram which shows the outline of a structure of the circuit for evaluation 140. 取得した消費電力データの内容をテーブルとして示した説明図。Explanatory drawing which showed the content of the acquired power consumption data as a table. 分析評価処理の一例を示すフローチャート。The flowchart which shows an example of an analysis evaluation process. 導出した分析値及び相関値の一例を示す説明図。Explanatory drawing which shows an example of the derived | led-out analysis value and correlation value. 評価実験1における、各タイムスロットに対する決定係数R2の値を示したグラフ。In the evaluation experiment 1 showed a value of coefficient of determination R 2 for each time slot graph. 評価実験1における、各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフ。The graph which showed the value of the partial regression coefficients a1-a8 with respect to each time slot in the evaluation experiment 1. FIG. 評価実験1における、消費電力データの総数と正解鍵の順位との関係を示したグラフ。The graph which showed the relationship between the total number of power consumption data in the evaluation experiment 1, and the order of a correct key. 評価実験2における、各タイムスロットに対する決定係数R2の値を示したグラフ。In the evaluation experiment 2 showed the value of the coefficient of determination R 2 for each time slot graph. 評価実験2における、各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフ。The graph which showed the value of the partial regression coefficients a1-a8 with respect to each time slot in the evaluation experiment 2. FIG. 評価実験2における、消費電力データの総数と正解鍵の順位との関係を示したグラフ。The graph which showed the relationship between the total number of power consumption data in the evaluation experiment 2, and the order of a correct key. 評価実験3における、各タイムスロットに対する決定係数R2の値を示したグラフ。In the evaluation experiment 3 showed a value of coefficient of determination R 2 for each time slot graph. 評価実験3における、各タイムスロットに対する偏回帰係数a1〜a8,bの値を示すグラフ。The graph which shows the value of the partial regression coefficients a1-a8, b with respect to each time slot in the evaluation experiment 3. FIG. 評価実験3における、消費電力データの総数と正解鍵の順位との関係を示したグラフ。The graph which showed the relationship between the total number of power consumption data in the evaluation experiment 3, and the order of a correct key. 評価実験3における、入力ビットAのハミング重みと消費電力Wとの関係を示したグラフ。10 is a graph showing the relationship between the Hamming weight of the input bit A and the power consumption W in the evaluation experiment 3. 評価実験3における、グループ分け後の各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフ。The graph which showed the value of the partial regression coefficients a1-a8 with respect to each time slot after grouping in the evaluation experiment 3. FIG. 評価実験3における、グループ分け後の消費電力データの総数と正解鍵の順位との関係を示したグラフ。The graph which showed the relationship between the total number of the power consumption data after grouping in the evaluation experiment 3, and the order | rank of a correct key. 評価実験4における、実施例の情報処理装置による耐タンパ性の評価結果の一例を示すグラフ。The graph which shows an example of the evaluation result of the tamper resistance by the information processing apparatus of an Example in the evaluation experiment 4. 評価実験4における、消費電力データの総数と正解鍵の順位との関係を示したグラフ。The graph which showed the relationship between the total number of power consumption data in the evaluation experiment 4, and the order of a correct key. 評価実験4における、入力ビットAのハミング重みと消費電力Wとの関係を示したグラフ。10 is a graph showing the relationship between the Hamming weight of the input bit A and the power consumption W in the evaluation experiment 4.

[第1実施形態]
図1は、第1実施形態である情報処理装置10の構成の概略を示す構成図である。図示するように、情報処理装置10は、制御部12と、記憶部14と、表示部16と、操作部18とを備えている。この情報処理装置10は、例えば汎用のコンピューターであり、暗号処理回路の耐タンパ性を評価する装置としての機能を有する。
[First Embodiment]
FIG. 1 is a configuration diagram illustrating an outline of a configuration of an information processing apparatus 10 according to the first embodiment. As illustrated, the information processing apparatus 10 includes a control unit 12, a storage unit 14, a display unit 16, and an operation unit 18. The information processing apparatus 10 is a general-purpose computer, for example, and has a function as an apparatus for evaluating tamper resistance of the cryptographic processing circuit.

制御部12は、情報処理装置10全体の制御を司るものであり、CPU,ROM,RAMなどを備えたプロセッサーとして構成されている。制御部12は、記憶部14に記憶された耐タンパ性評価プログラムを実行したり、表示部16に表示データを出力して画面を表示するよう制御したり、操作部18からの操作信号を入力したりする。   The control unit 12 controls the entire information processing apparatus 10 and is configured as a processor including a CPU, a ROM, a RAM, and the like. The control unit 12 executes a tamper resistance evaluation program stored in the storage unit 14, controls the display unit 16 to output display data and displays a screen, and inputs an operation signal from the operation unit 18. To do.

記憶部14は、例えばHDDなどの大容量記憶装置として構成され各種アプリケーションプログラムや各種データファイルを記憶するものである。この記憶部14は、耐タンパ性評価プログラム20と、回路データベース31とを備えている。   The storage unit 14 is configured as a mass storage device such as an HDD, and stores various application programs and various data files. The storage unit 14 includes a tamper resistance evaluation program 20 and a circuit database 31.

耐タンパ性評価プログラム20は、評価用回路データ生成部21と、評価用回路データ変換部22と、入力データ生成部23と、回路シミュレーター24と、消費電力データ取得部25と、分析部26と、評価部27とを備えている。評価用回路データ生成部21は、記憶部14の回路データベース31に記憶されたデータを読み出して、耐タンパ性を評価する対象となる暗号処理回路のデータである評価用回路データを生成する機能を有する。評価用回路データ変換部22は、評価用回路データ生成部21が生成した評価用回路データを回路シミュレーター24が利用できるデータ形式に変換する機能を有する。入力データ生成部23は、回路シミュレーター24が行うシミュレーションにおいて評価用回路に入力される入力データを生成する機能を有する。回路シミュレーター24は、評価用回路データ変換部22に変換された評価用回路データと入力データ生成部23に生成された入力データとを取得して、評価用回路データで表される評価用回路に入力データを入力したときの回路動作をシミュレーションして、出力データや消費電流波形を生成する機能を有する。本実施形態では、回路シミュレーター24は電子回路のアナログ動作をシミュレーションするソフトウェアであるSPICE (Simulation Program with Integrated Circuit Emphasis)とした。消費電力データ取得部25は、回路シミュレーター24でのシミュレーションの結果から、評価用回路データで表される暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数と暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得する機能を有する。分析部26は、消費電力データ取得部25に取得された複数の消費電力データに基づいて、消費電力を目的変数とし消費電力に対応づけられた状態変数を説明変数として回帰分析を行い、分析により決定係数及び回帰係数の少なくともいずれかを分析値として導出する機能を有する。評価部27は、分析部26に導出された分析値に基づいて、暗号処理回路の耐タンパ性を評価する機能を有する。なお、制御部12が耐タンパ性評価プログラム20を実行することにより、評価用回路データ生成部21、評価用回路データ変換部22、入力データ生成部23、回路シミュレーター24、消費電力データ取得部25、分析部26、評価部27の上述した機能が実現される。   The tamper resistance evaluation program 20 includes an evaluation circuit data generation unit 21, an evaluation circuit data conversion unit 22, an input data generation unit 23, a circuit simulator 24, a power consumption data acquisition unit 25, and an analysis unit 26. And an evaluation unit 27. The evaluation circuit data generation unit 21 has a function of reading data stored in the circuit database 31 of the storage unit 14 and generating evaluation circuit data that is data of a cryptographic processing circuit to be evaluated for tamper resistance. Have. The evaluation circuit data converter 22 has a function of converting the evaluation circuit data generated by the evaluation circuit data generator 21 into a data format that can be used by the circuit simulator 24. The input data generation unit 23 has a function of generating input data to be input to the evaluation circuit in the simulation performed by the circuit simulator 24. The circuit simulator 24 acquires the evaluation circuit data converted by the evaluation circuit data conversion unit 22 and the input data generated by the input data generation unit 23, and converts the evaluation circuit data into the evaluation circuit represented by the evaluation circuit data. It has a function of simulating a circuit operation when input data is input and generating output data and a consumption current waveform. In the present embodiment, the circuit simulator 24 is SPICE (Simulation Program with Integrated Circuit Emphasis) which is software for simulating the analog operation of an electronic circuit. The power consumption data acquisition unit 25 determines, based on the result of the simulation in the circuit simulator 24, a state variable indicating the state of at least one of the input bit and the output bit in the cryptographic processing circuit represented by the evaluation circuit data and the cryptographic processing circuit. It has a function of acquiring a plurality of power consumption data associated with power consumption. Based on the plurality of power consumption data acquired by the power consumption data acquisition unit 25, the analysis unit 26 performs regression analysis using the power consumption as an objective variable and state variables associated with the power consumption as explanatory variables. It has a function of deriving at least one of a determination coefficient and a regression coefficient as an analysis value. The evaluation unit 27 has a function of evaluating the tamper resistance of the cryptographic processing circuit based on the analysis value derived to the analysis unit 26. The control unit 12 executes the tamper resistance evaluation program 20, whereby the evaluation circuit data generation unit 21, the evaluation circuit data conversion unit 22, the input data generation unit 23, the circuit simulator 24, and the power consumption data acquisition unit 25. The above-described functions of the analysis unit 26 and the evaluation unit 27 are realized.

回路データベース31には、耐タンパ性を評価する対象となる暗号処理回路及びその暗号処理回路を含むデバイス全体の回路データや、デバイスのセルライブラリ等の設計データを含むデータが記憶されている。   The circuit database 31 stores data including circuit data of the entire device including the cryptographic processing circuit to be evaluated for tamper resistance and the device including the cryptographic processing circuit, and design data such as a cell library of the device.

表示部16は、例えば液晶ディスプレイとして構成されており、制御部12から出力された表示データに基づく画像を表示して各種情報をユーザーに表示する機能を有している。操作部18は、例えばキーボードやマウス等の入力装置として構成されており、ユーザーから入力された操作に基づく操作信号を制御部12に出力する機能を有している。   The display unit 16 is configured as a liquid crystal display, for example, and has a function of displaying an image based on display data output from the control unit 12 and displaying various information to the user. The operation unit 18 is configured as an input device such as a keyboard or a mouse, for example, and has a function of outputting an operation signal based on an operation input from a user to the control unit 12.

次に、こうして構成された情報処理装置10の動作、特に、暗号処理回路の耐タンパ性を評価する際の動作について説明する。図2は、耐タンパ性評価ルーチンの一例を示すフローチャートである。このルーチンは、ユーザーが操作部18を操作して耐タンパ性を評価する対象となる評価用回路を指定し、耐タンパ性の評価を行うよう指示したときに制御部12が耐タンパ性評価プログラム20を実行することにより行われる。   Next, the operation of the information processing apparatus 10 configured as described above, particularly, the operation when evaluating the tamper resistance of the cryptographic processing circuit will be described. FIG. 2 is a flowchart illustrating an example of a tamper resistance evaluation routine. In this routine, when the user operates the operation unit 18 to specify an evaluation circuit to be evaluated for tamper resistance, and the control unit 12 instructs to perform tamper resistance evaluation, the control unit 12 performs a tamper resistance evaluation program. This is done by executing 20.

この耐タンパ性評価ルーチンが実行されると、評価用回路データ生成部21は、まず、評価用回路データとして、ユーザーに指定された評価用回路の回路データを回路データベース31に記憶されたデータに基づいて生成する(ステップS100)。図3は、評価用回路40の構成の概略を示す構成図である。本実施形態では、この図に示した評価用回路40の耐タンパ性の評価を行うようユーザーから指定がなされたものとして、以下の説明を行う。評価用回路40は、暗号方式の1つであるAES(Advanced Encryption Standard)の回路の部分的なモジュールとして構成された暗号処理回路であり、レジスター42と、SubBytes変換回路44と、排他的論理和回路46とを備えている。レジスター42は、入力された8ビットの入力ビットAを保持するものである。SubBytes変換回路44は、レジスター42の出力部に接続され、入力ビットAに対してAESにおける非線形変換であるSubBytes処理を行うものであり、入力ビットAに対応して真理値表により定められた出力値を出力するように構成された論理回路である。図4は、SubBytes変換回路44の出力値を定めた真理値表の説明図である。この図に示すように、入力ビットAの上位4ビットの値が縦軸、下位4ビットの値が横軸であり、両者の交点に位置する値が出力値(8ビット)となる。例えば、入力Aの上位4ビットが値0(二進数表記で0000)、入力Aの下位4ビットが値8(二進数表記で1000)のときには、SubBytes変換回路44は値30を出力する。排他的論理和回路46は、AESにおける暗号化のための秘密鍵を組み込む処理であるAddRoundKey処理を行う回路であり、SubBytes変換回路44の出力値と排他的論理和回路46に入力された秘密鍵K(8ビット)との排他的論理和を演算して、その結果を出力ビットB(8ビット)として出力する。なお、図3は評価用回路40の概略を示したものであり、実際の評価用回路データは、所定のハードウェア記述言語(例えばVerilog-HDL)で評価用回路40を表したデータである。図5は、評価用回路40を表す評価用回路データの一例を示す説明図である。図5における、「module SingleSbAttack(x,k,clk,y);」から「endmodule」までが評価用回路40の最上位階層の記述である。その中の「always@(posedge clk)begin」から「end」までがレジスター42を表す記述、「SubBytesTBL sb1(.x(dreg),.y(addkey_in));」がSubBytes変換回路44を表す記述、「assign y = addkey_in^k;」が排他的論理和回路46を表す記述である。また、「module SubBytesTBL(x,y);」以降はSubBytes変換回路44の構成の詳細を表す記述である。   When this tamper resistance evaluation routine is executed, the evaluation circuit data generation unit 21 first converts the circuit data of the evaluation circuit designated by the user into the data stored in the circuit database 31 as the evaluation circuit data. It generates based on (Step S100). FIG. 3 is a configuration diagram showing an outline of the configuration of the evaluation circuit 40. In the present embodiment, the following description will be given on the assumption that the user has designated the tamper resistance evaluation of the evaluation circuit 40 shown in this figure. The evaluation circuit 40 is an encryption processing circuit configured as a partial module of an AES (Advanced Encryption Standard) circuit, which is one of encryption methods, and includes a register 42, a SubBytes conversion circuit 44, and an exclusive OR. Circuit 46. The register 42 holds the input 8-bit input bit A. The SubBytes conversion circuit 44 is connected to the output unit of the register 42 and performs SubBytes processing, which is nonlinear conversion in AES, on the input bit A. The output determined by the truth table corresponding to the input bit A A logic circuit configured to output a value. FIG. 4 is an explanatory diagram of a truth table that defines the output value of the SubBytes conversion circuit 44. As shown in this figure, the value of the upper 4 bits of the input bit A is the vertical axis, the value of the lower 4 bits is the horizontal axis, and the value located at the intersection of both is the output value (8 bits). For example, when the upper 4 bits of the input A have the value 0 (0000 in binary notation) and the lower 4 bits of the input A have the value 8 (1000 in binary notation), the SubBytes conversion circuit 44 outputs the value 30. The exclusive OR circuit 46 is a circuit that performs an AddRoundKey process, which is a process for incorporating a secret key for encryption in AES, and the output value of the SubBytes conversion circuit 44 and the secret key input to the exclusive OR circuit 46. An exclusive OR with K (8 bits) is calculated, and the result is output as an output bit B (8 bits). FIG. 3 shows an outline of the evaluation circuit 40. The actual evaluation circuit data is data representing the evaluation circuit 40 in a predetermined hardware description language (for example, Verilog-HDL). FIG. 5 is an explanatory diagram illustrating an example of evaluation circuit data representing the evaluation circuit 40. In FIG. 5, “module SingleSbAttack (x, k, clk, y);” to “endmodule” are descriptions of the highest hierarchy of the evaluation circuit 40. Among them, "always @ (posedge clk) begin" to "end" are descriptions representing the register 42, and "SubBytesTBL sb1 (.x (dreg) ,. y (addkey_in));" is a description representing the SubBytes conversion circuit 44 , “Assign y = addkey_in ^ k;” is a description representing the exclusive OR circuit 46. Also, “module SubBytesTBL (x, y);” and subsequent descriptions are descriptions representing details of the configuration of the SubBytes conversion circuit 44.

次に、評価用回路データ変換部22は、評価用回路データを回路シミュレーター24が利用できるようSPICEのデータ形式に変換する(ステップS110)。図6は、変換後の評価用回路データの一例を示す説明図である。図6において、「.subckt」以降は評価用回路40におけるSPICEのサブサーキットの記述である。また、「XU1229」以降は回路データ記憶部31に記憶されたセルライブラリにおけるゲートの接続仕様を表す記述である。続いて、入力データ生成部23は、評価用回路40に入力する入力データを生成する(ステップS120)。入力データは、例えば評価用回路データに供給される入力ビットAの値、クロック信号の値、秘密鍵Kの値、及び評価用回路40の図示しない制御ピンへの入力値などのデータである。本実施形態では、入力ビットAの値は所定期間T1(本実施形態では50nsecとした)が経過する毎にランダムに変化させるものとした。また、秘密鍵Kの値は、ランダムに定めた値とした。図7は、入力データ生成部23が生成した入力データの一例を示す説明図である。図7において、8桁の数値は時刻を表している。また、各時刻に対応する9桁の数値のうち左側の8桁は入力ビットAの値を表し、一番右の1桁はクロック信号の値を表している。例えば、時刻「00000025」は時刻25nsecを意味し、それに対応する値「011001001」は、時刻25nsecにおける入力ビットAが二進数表記で値「01100100」であり、クロック信号が値1であることを意味している。また、本実施形態では所定期間T1が値50nsecに設定されているため、図7では50nsec毎に入力ビットAの値が変化している。なお、所定期間T1は、例えば評価用回路40が実際にデバイスで用いられる際の入力データの処理間隔に基づいて定める。   Next, the evaluation circuit data converter 22 converts the evaluation circuit data into a SPICE data format so that the circuit simulator 24 can use it (step S110). FIG. 6 is an explanatory diagram showing an example of evaluation circuit data after conversion. In FIG. 6, “.subckt” and subsequent are descriptions of the SPICE subcircuit in the evaluation circuit 40. “XU1229” and subsequent descriptions are gate connection specifications in the cell library stored in the circuit data storage unit 31. Subsequently, the input data generation unit 23 generates input data to be input to the evaluation circuit 40 (step S120). The input data is, for example, data such as the value of the input bit A supplied to the evaluation circuit data, the value of the clock signal, the value of the secret key K, and the input value to a control pin (not shown) of the evaluation circuit 40. In this embodiment, the value of the input bit A is changed randomly every time a predetermined period T1 (50 nsec in this embodiment) elapses. The value of the secret key K is a value determined at random. FIG. 7 is an explanatory diagram illustrating an example of input data generated by the input data generation unit 23. In FIG. 7, an 8-digit numerical value represents time. Of the nine digits corresponding to each time, the left eight digits represent the value of the input bit A, and the rightmost digit represents the value of the clock signal. For example, time “00000025” means time 25 nsec, and the corresponding value “011001001” means that the input bit A at time 25 nsec is the value “01100100” in binary notation, and the clock signal is value 1. doing. In the present embodiment, since the predetermined period T1 is set to a value of 50 nsec, the value of the input bit A changes every 50 nsec in FIG. The predetermined period T1 is determined based on, for example, an input data processing interval when the evaluation circuit 40 is actually used in a device.

次に、回路シミュレーター24は、ステップS110で評価用回路データ変換部22に変換された評価用回路データとステップS120で入力データ生成部23に生成された入力データとを取得して、評価用回路40に入力データを入力したときの回路動作のシミュレーションを行う(ステップS130)。これにより、回路シミュレーター24は、入力ビットAに対して出力される出力ビットBの値や、評価用回路40の動作内容に基づいて演算した消費電流波形を生成する。   Next, the circuit simulator 24 acquires the evaluation circuit data converted to the evaluation circuit data conversion unit 22 in step S110 and the input data generated in the input data generation unit 23 in step S120, and the evaluation circuit A simulation of circuit operation when input data is input to 40 is performed (step S130). Thereby, the circuit simulator 24 generates a consumption current waveform calculated based on the value of the output bit B output for the input bit A and the operation content of the evaluation circuit 40.

続いて、消費電力データ取得部25は、回路シミュレーター24のシミュレーションの結果から、評価用回路40における入力ビットAの各ビットが値0であるか値1であるかを表す状態変数と評価用回路40における消費電力Wとが対応づけられた消費電力データを、複数の入力ビットAの値に応じて複数取得する(ステップS140)。図8は、シミュレーション結果の一例を示す説明図である。図8において、「25000」以降はシミュレーションの結果として導出された評価用回路40の消費電流波形のデータである。消費電流波形のデータは、0.01nsec毎の時刻及び消費電流値のデータとして表されている。例えば時刻「25010」は、時刻が25.010nsecであることを意味し、消費電流値「12968315」は、時刻25.010nsecにおける消費電流値が12968315×10-10Aであることを意味する。また、図9は、取得した消費電力データの説明図である。図9(a)は、取得した消費電力データの内容をテーブルとして表した説明図であり、図9(b)は、タイムスロットと消費電力Wとの関係を表す説明図である。図9(a)に示すように、消費電力データは入力ビットAと、出力ビットBと、消費電力Wとが対応づけられたデータであり、本実施形態では入力データ生成部23に生成された入力データに基づいて入力ビットAの値を所定期間T1毎に変化させたときの、パターン番号0〜m(本実施形態ではパターン番号mは値1999)までのm+1個(本実施形態では2000個)の消費電力データを取得するものとした。なお、図9(a)における「h」は16進数表記であることを意味する。例えばパターン番号0における入力ビットAの値は「64h」であり、ビット列で表すと「01100100」を意味する。この値は、図7に示した時刻「00000000」,「00000025」における入力ビットAの値に対応している。同様に、パターン番号1における入力ビットAの値は、図7に示した時刻「00000050」,「00000075」における入力ビットAの値に対応している。また図9(a)に示すように、1つの消費電力データについて、消費電力Wの値はタイムスロット番号0〜7までの8つのタイムスロット毎に存在する。図9(b)に示すように、入力ビットAの値を入力してから最初のタイムスロットまでの期間を所定期間T2、最初のタイムスロットの開始時刻を時刻t0、1つのタイムスロットの時間幅を所定期間T3(本実施形態では0.2nsecとした)とすると、タイムスロットは時刻t0から所定期間T3毎に時間を区切った期間である。例えばパターン番号0の消費電力データにおけるタイムスロット番号sとは、パターン番号0の入力ビットAの値64hが評価用回路40に入力された時刻から所定期間T2が経過した時刻を時刻t0として、時刻(t0+T3×(s−1))から時刻(t0+T3×s)までの期間を意味する。消費電力Wは、回路シミュレーター24に導出された消費電流波形に基づいてこのタイムスロット毎の消費電力の平均値として導出された値である。ここで、図8に示したように回路シミュレーター24は消費電流を導出するものであるが、評価用回路40の制御電圧は一定であり、消費電流から消費電力及びその平均値としての消費電力Wを容易に算出することができる。所定期間T2,T3は、例えば次のように経験的に設定する。まず、評価用回路40の回路の入力から出力までに要する処理時間や内部の処理内容を考慮して、評価用回路40を電力差分解析により攻撃するときに攻撃対象となりやすい期間を予め調べておく。すなわち、消費電力から秘密情報が取得しやすいと想定される期間を予め調べておく。そして、その期間がタイムスロットに含まれるように、所定期間T2やT3を設定する。なお、入力ビットAの値が入力されてから次の入力ビットAが入力されるまでの期間、すなわち所定期間T1が経過するまでの期間を均等に分割して、複数個のタイムスロットを設定してもよい。 Subsequently, the power consumption data acquisition unit 25 determines whether each bit of the input bit A in the evaluation circuit 40 is the value 0 or the value 1 from the simulation result of the circuit simulator 24 and the evaluation circuit. A plurality of pieces of power consumption data associated with the power consumption W in 40 are acquired according to the values of the plurality of input bits A (step S140). FIG. 8 is an explanatory diagram illustrating an example of a simulation result. In FIG. 8, “25000” and subsequent data are consumption current waveform data of the evaluation circuit 40 derived as a result of the simulation. The consumption current waveform data is represented as data of time and consumption current value every 0.01 nsec. For example, the time “25010” means that the time is 25.010 nsec, and the current consumption value “12968315” means that the current consumption value at the time 25.010 nsec is 12968315 × 10 −10 A. FIG. 9 is an explanatory diagram of the acquired power consumption data. FIG. 9A is an explanatory diagram showing the contents of the acquired power consumption data as a table, and FIG. 9B is an explanatory diagram showing the relationship between the time slot and the power consumption W. As shown in FIG. 9A, the power consumption data is data in which the input bit A, the output bit B, and the power consumption W are associated with each other. In this embodiment, the power consumption data is generated by the input data generation unit 23. M + 1 pieces (2000 pieces in this embodiment) up to pattern numbers 0 to m (in this embodiment, pattern number m is 1999) when the value of input bit A is changed every predetermined period T1 based on the input data. ) Power consumption data. Note that “h” in FIG. 9A means hexadecimal notation. For example, the value of the input bit A in the pattern number 0 is “64h”, which means “01100100” when expressed in a bit string. This value corresponds to the value of the input bit A at the times “00000000” and “00000025” shown in FIG. Similarly, the value of the input bit A in the pattern number 1 corresponds to the value of the input bit A at the times “00000050” and “00000075” shown in FIG. Further, as shown in FIG. 9A, for one power consumption data, the value of the power consumption W exists for every eight time slots from time slot numbers 0 to 7. As shown in FIG. 9B, the period from the input of the value of the input bit A to the first time slot is a predetermined period T2, the start time of the first time slot is time t0, and the time width of one time slot Is a predetermined period T3 (in this embodiment, 0.2 nsec), the time slot is a period in which time is divided every predetermined period T3 from time t0. For example, the time slot number s in the power consumption data of the pattern number 0 is the time t0 when the predetermined period T2 has elapsed from the time when the value 64h of the input bit A of the pattern number 0 is input to the evaluation circuit 40. It means a period from (t0 + T3 × (s−1)) to time (t0 + T3 × s). The power consumption W is a value derived as an average value of power consumption for each time slot based on the current consumption waveform derived to the circuit simulator 24. Here, as shown in FIG. 8, the circuit simulator 24 derives the current consumption. However, the control voltage of the evaluation circuit 40 is constant, and the power consumption from the current consumption and the power consumption W as an average value thereof. Can be easily calculated. The predetermined periods T2 and T3 are set empirically as follows, for example. First, in consideration of the processing time required from the input to the output of the circuit of the evaluation circuit 40 and the contents of the internal processing, a period during which the evaluation circuit 40 is likely to be attacked when it is attacked by power difference analysis is examined in advance. . That is, a period during which it is assumed that secret information can be easily acquired from power consumption is checked in advance. Then, predetermined periods T2 and T3 are set so that the period is included in the time slot. Note that a period from when the value of the input bit A is input to when the next input bit A is input, that is, a period until the predetermined period T1 elapses, is divided equally to set a plurality of time slots. May be.

続いて、分析部26及び評価部27は、ステップS140で取得された消費電力データに基づいて、評価用回路40の耐タンパ性の分析評価処理を実行する(ステップS150)。ここで、耐タンパ性評価ルーチンの説明を中断して、分析評価処理について説明する。図10は、分析評価処理の一例を示すフローチャートである。   Subsequently, the analysis unit 26 and the evaluation unit 27 execute a tamper resistance analysis / evaluation process of the evaluation circuit 40 based on the power consumption data acquired in step S140 (step S150). Here, the description of the tamper resistance evaluation routine will be interrupted, and the analysis evaluation process will be described. FIG. 10 is a flowchart illustrating an example of the analysis evaluation process.

この分析評価処理が開始されると、評価部27は、まず、処理対象のタイムスロット番号nを値1に初期化する(ステップS200)。続いて、評価部27は、パターン番号0〜1999までの消費電力データのうちタイムスロット番号nに対応する2000個の消費電力Wの平均値μ及び標準偏差σを導出する(ステップS210)。そして、導出した標準偏差σが閾値σth未満であるか否かを判定する(ステップS220)。ここで、閾値σthは、消費電力のばらつきが少ないため状態変数と消費電力との全体的な相関が低く耐タンパ性が高いとみなせる標準偏差許容領域の上限値として設定された値であり、例えば実験により経験的に定めた値である。標準偏差σが小さく2000個の消費電力Wの値にばらつきが少ないということは、状態変数である入力値Aの値と消費電力Wとの相関が低いということであるから、この閾値σthと標準偏差σとを比較することで、耐タンパ性が高いか否かの判定をするのである。   When this analysis evaluation process is started, the evaluation unit 27 first initializes the time slot number n to be processed to a value 1 (step S200). Subsequently, the evaluation unit 27 derives an average value μ and a standard deviation σ of 2000 pieces of power consumption W corresponding to the time slot number n among the power consumption data of pattern numbers 0 to 1999 (step S210). Then, it is determined whether or not the derived standard deviation σ is less than the threshold σth (step S220). Here, the threshold σth is a value set as the upper limit value of the standard deviation allowable region in which the overall correlation between the state variable and the power consumption is low and the tamper resistance is high because the power consumption variation is small. This is an experimentally determined value. Since the standard deviation σ is small and the value of the 2000 power consumption W is less varied, the correlation between the value of the input value A, which is a state variable, and the power consumption W is low. By comparing with the deviation σ, it is determined whether or not the tamper resistance is high.

ステップS220で標準偏差σが閾値σth以上であったときには、分析部26は、耐タンパ性が相対的に低いものとみなし、パターン番号0〜1999までの消費電力データのうちタイムスロット番号nに対応する2000個の消費電力Wの値の標準化を行う(ステップS230)。本実施形態では、2000個の消費電力Wのうちパターン番号iに対応するものを消費電力Wiとすると、標準化後の消費電力wiをwi=(Wi−μ)/σとして導出するものとした。このように導出された2000個の消費電力wは、平均値が値0、標準偏差が値1の分布となる。このように標準化してから以降の分析及び評価を行うことで、例えば消費電力の絶対値が異なる他の暗号処理回路についての耐タンパ性の評価を行った場合との評価結果の比較がしやすくなる。   When the standard deviation σ is greater than or equal to the threshold σth in step S220, the analysis unit 26 considers that the tamper resistance is relatively low, and corresponds to the time slot number n in the power consumption data from the pattern numbers 0 to 1999. The value of 2000 power consumption W to be standardized is performed (step S230). In the present embodiment, assuming that the power corresponding to the pattern number i among the 2000 power consumptions W is the power consumption Wi, the standardized power consumption w i is derived as wi = (Wi−μ) / σ. The 2000 power consumption w derived in this way has a distribution with an average value of 0 and a standard deviation of value 1. By performing the subsequent analysis and evaluation after standardization in this way, it is easy to compare the evaluation results with, for example, the evaluation of tamper resistance for other cryptographic processing circuits with different absolute values of power consumption. Become.

続いて、分析部26は、状態変数すなわち入力ビットAの各ビットを説明変数とし、タイムスロット番号nに対応する2000個の消費電力wを目的変数として、重回帰分析を行い、分析値として偏回帰係数a1〜aj(本実施形態では変数jは値8)及び決定係数R2を導出する(ステップS240)。この処理は、例えば以下のように行う。まず、入力ビットAの1ビット目〜jビット目までの値をそれぞれ状態変数x1〜xjとして、消費電力wとx1〜xjとの関係を以下の式(1)のように仮定する。このときの係数a0〜ajを偏回帰係数と称する。このように式(1)を仮定すると、パターン番号iに対応する状態変数xi1〜xijをこの式(1)に代入して導出される消費電力wiと実際の消費電力データにおける消費電力wiとの差の二乗をパターン番号0〜mの全てについて合計した値である差の二乗和Eは以下の式(2)で表すことができる。そして、この差の二乗和Eが最小となるような偏回帰係数a0〜anを導出する。換言すると、式(1)が最も精度良く消費電力wとx1〜xjとの関係を近似する式となるような偏回帰係数a0〜ajを導出する。このようにして偏回帰係数a0〜ajを求めることで、式(1)が状態変数x1〜xjと消費電力wとの関係の近似式(重回帰式)となる。なお、偏回帰係数a0〜ajの導出は、例えば式(2)をa0について偏微分したものを値0とおいた式を導出し、偏回帰係数a1〜ajについても同様の式を導出して、これらの式で表される連立方程式を解くことで行うことができる。偏回帰係数a1〜ajを導出すると、これを用いて決定係数R2を導出する。具体的には、まず、実際の消費電力データにおける消費電力wiとその平均値との差の二乗を導出し、これをパターン番号0〜mの全てについて導出して合計した和である実測値の平方和Stを求める。また、実際の消費電力データにおける消費電力wiと、導出した偏回帰係数a0〜a8及び実際のxi1〜xijを式(1)に代入して導出される予測値としての消費電力wiとの差の二乗を導出し、これをパターン番号0〜mの全てについて導出して合計した和である差の平方和Seを求める。そして、以下の式(3)により決定係数R2を導出する。なお、式(3)において、定数Nは標本数であり、本実施形態では消費電力データの総数である値2000である。また、定数pは説明変数の数であり、本実施形態では値8である。この決定係数R2は、自由度調整済決定係数とも呼ばれる。以上のようにして偏回帰係数a1〜aj及び決定係数R2を分析値として導出する。図11は、導出した分析値の一例を示す説明図である。図11では、タイムスロット番号nが値0であるときの分析値を示しており、タイムスロット番号nに対応して、決定係数R2及び偏回帰係数a1〜a8が導出されている。ここで、偏回帰係数a1〜ajは、各状態変数とタイムスロット番号nに対応する消費電力wとの相関の高さを表す数値である。偏回帰係数a1〜ajは値−1〜1までの値をとり、絶対値が大きいほど偏回帰係数に対応する状態変数と消費電力wとの正又は負の相関が高いことを意味する。例えば、偏回帰係数a1の値は入力ビットAの1ビット目の値と消費電力wとの相関を表す。より具体的には、偏回帰係数a1の絶対値が大きいほど、入力ビットAの1ビット目が値0である場合と値1である場合とで消費電力wの値が大きく変化する傾向にあることを意味する。例えば図11では、偏回帰係数a1と比べて偏回帰係数a2,a3,a4の絶対値が大きいため、入力ビットAの1ビット目と比べて2〜4ビット目の方が消費電力wとの相関が高いことがわかる。また、決定係数R2は、式(1)の近似の確からしさを表す数値である。決定係数R2は、値0〜1の値をとり、値が1に近いほど近似の精度が高く、状態変数である入力ビットAと消費電力wとの全体的な相関が高いことを意味する。なお、偏回帰係数a0は、決定係数R2の導出に必要な値ではあるが、本実施形態では以降の耐タンパ性の評価には用いないため、分析値には含めない。 Subsequently, the analysis unit 26 performs multiple regression analysis using the state variables, that is, each bit of the input bit A as explanatory variables, and 2000 power consumption w corresponding to the time slot number n as an objective variable, and biases it as an analysis value. regression coefficients A1 to Aj (variable j in the present embodiment, the value 8) to derive and coefficient of determination R 2 (step S240). This process is performed as follows, for example. First, the values of the first bit to j-th bit of the input bit A are assumed to be state variables x1 to xj, respectively, and the relationship between the power consumption w and x1 to xj is assumed as in the following equation (1). The coefficients a0 to aj at this time are referred to as partial regression coefficients. Assuming Equation (1) in this way, the power consumption wi derived by substituting the state variables xi1 to xij corresponding to the pattern number i into Equation (1) and the power consumption wi in the actual power consumption data are as follows. The sum of squared differences E, which is the sum of the squares of the differences for all of the pattern numbers 0 to m, can be expressed by the following equation (2). Then, partial regression coefficients a0 to an that minimize the sum of squares E of the differences are derived. In other words, partial regression coefficients a0 to aj are derived so that the expression (1) is an expression that approximates the relationship between the power consumption w and x1 to xj with the highest accuracy. Thus, by calculating | requiring partial regression coefficient a0-aj, Formula (1) turns into an approximate expression (multiple regression formula) of the relationship between state variables x1-xj and power consumption w. The partial regression coefficients a0 to aj are derived by, for example, deriving an expression in which partial differentiation of the expression (2) with respect to a0 is set to a value 0, and for the partial regression coefficients a1 to aj, a similar expression is derived, This can be done by solving simultaneous equations represented by these equations. When deriving the partial regression coefficients A1 to Aj, to derive the coefficient of determination R 2 using this. Specifically, first, the square of the difference between the power consumption wi in the actual power consumption data and the average value thereof is derived, and this is derived for all of the pattern numbers 0 to m and the sum of the actual measurement values. The sum of squares St is obtained. Further, the difference between the power consumption wi in the actual power consumption data and the power consumption wi as a predicted value derived by substituting the derived partial regression coefficients a0 to a8 and the actual xi1 to xij into the equation (1). The square is derived, and this is derived for all of the pattern numbers 0 to m, and the sum of squares Se of differences is obtained. Then, the determination coefficient R 2 is derived from the following equation (3). In Equation (3), the constant N is the number of samples, and in this embodiment is a value 2000 that is the total number of power consumption data. The constant p is the number of explanatory variables, and is 8 in this embodiment. The coefficient of determination R 2 is also referred to as degree of freedom adjusted coefficient of determination. Deriving a partial regression coefficients a1~aj and determination coefficient R 2 as an analysis value as described above. FIG. 11 is an explanatory diagram illustrating an example of the derived analysis value. In Figure 11 shows the analysis value when the time slot number n is value 0, corresponding to time slot number n, the coefficient of determination R 2 and partial regression coefficient a1~a8 is derived. Here, the partial regression coefficients a1 to aj are numerical values representing the level of correlation between each state variable and the power consumption w corresponding to the time slot number n. The partial regression coefficients a1 to aj take values from −1 to 1, and the larger the absolute value, the higher the positive or negative correlation between the state variable corresponding to the partial regression coefficient and the power consumption w. For example, the value of the partial regression coefficient a1 represents the correlation between the value of the first bit of the input bit A and the power consumption w. More specifically, as the absolute value of the partial regression coefficient a1 is larger, the value of the power consumption w tends to vary greatly depending on whether the first bit of the input bit A is the value 0 or the value 1. Means that. For example, in FIG. 11, since the absolute values of the partial regression coefficients a2, a3, and a4 are larger than the partial regression coefficient a1, the power consumption w is greater in the second to fourth bits than in the first bit of the input bit A. It can be seen that the correlation is high. Further, the determination coefficient R 2 is a numerical value representing the probability of approximation of the expression (1). The determination coefficient R 2 takes a value of 0 to 1, and the closer the value is to 1, the higher the accuracy of approximation, and the higher the overall correlation between the input bit A, which is a state variable, and the power consumption w. . Incidentally, partial regression coefficients a0, albeit a necessary value to derive the coefficient of determination R 2, since the present embodiment is not used in the evaluation of subsequent tamper resistance, not included in analysis.

Figure 0005765733
Figure 0005765733

次に、評価部27は、分析部26が導出した分析値を取得し、評価用回路40の耐タンパ性を評価する評価処理(ステップS250)を行う。このステップS250の評価処理として、まず、分析値のうちの決定係数R2が閾値R2th1未満であるか否かを判定する(ステップS251)。ここで、閾値R2th1は、状態変数である入力ビットAと消費電力wとの全体的な相関が低く耐タンパ性が高いとみなせる決定係数R2の領域すなわち決定係数許容領域の上限値として設定された値であり、例えば実験により経験的に定めた値である。 Next, the evaluation unit 27 acquires the analysis value derived by the analysis unit 26 and performs an evaluation process (step S250) for evaluating the tamper resistance of the evaluation circuit 40. As an evaluation processing in step S250, first, the coefficient of determination R 2 of the analysis determines whether it is less than the threshold value R 2 th1 (step S251). Here, the threshold value R 2 th1 is an upper limit value of a determination coefficient R 2 region that can be regarded as having a low overall correlation between the input bit A that is a state variable and the power consumption w and high tamper resistance, that is, a determination coefficient allowable region. It is a set value, for example, a value empirically determined by experiment.

そして、ステップS220で標準偏差σが閾値σth未満であったとき、又はステップS251で決定係数R2が閾値R2th1未満であったときには、評価用回路40が全体的に耐タンパ性が高い旨の情報を処理対象のタイムスロット番号nに対応する評価結果として記憶する(ステップS252)。 When the standard deviation σ is less than the threshold σth in step S220 or when the determination coefficient R 2 is less than the threshold R 2 th1 in step S251, the evaluation circuit 40 has high tamper resistance as a whole. Is stored as an evaluation result corresponding to the time slot number n to be processed (step S252).

一方、ステップS251で決定係数R2が閾値R2th1以上であったときには、決定係数R2が閾値R2th2以上であるか否かを判定する(ステップS253)。ここで、閾値R2th2は、状態変数である入力ビットAと消費電力wとの全体的な相関が高く耐タンパ性が低いとみなせる決定係数R2の領域すなわち決定係数非許容領域の下限値として設定された値であり、例えば実験により経験的に定めた値である。本実施形態では、閾値R2th2は閾値R2th1よりも大きい値である。そして、ステップS253で決定係数R2が閾値R2th2以上であったときには、評価用回路40が全体的に耐タンパ性が低い旨の情報を処理対象のタイムスロット番号nに対応する評価結果として記憶する(ステップS254)。 On the other hand, when the coefficient of determination R 2 was threshold R 2 th1 or more in step S251, the coefficient of determination R 2 is equal to or threshold R 2 th2 or more (step S253). Here, the threshold value R 2 th2 is a lower limit value of the region of the determination coefficient R 2 that can be regarded as having a high overall correlation between the input bit A that is a state variable and the power consumption w and that the tamper resistance is low, that is, the determination coefficient non-permissible region For example, a value empirically determined by experiment. In the present embodiment, the threshold value R 2 th2 is larger than the threshold value R 2 th1. When the determination coefficient R 2 is equal to or greater than the threshold value R 2 th2 in step S253, information indicating that the evaluation circuit 40 has low tamper resistance as a whole is obtained as an evaluation result corresponding to the time slot number n to be processed. Store (step S254).

ステップS253で決定係数R2が閾値R2th2未満であったときには、偏回帰係数a1〜a8の値に基づいて耐タンパ性の低い状態変数x1〜xjを判定する(ステップS255)。ステップS251で決定係数R2が閾値R2th1以上であり、ステップS253で決定係数R2が閾値R2th2未満であったとき、すなわち決定係数R2が決定係数許容領域と決定係数非許容領域との中間の領域に含まれるときは、決定係数による判定で全体的に耐タンパ性が高いと判定されたわけではないが、全体的に耐タンパ性が低いと判定されたわけでもない場合である。そこで、部分的に耐タンパ性が低いと判定して、状態変数x1〜xjのうち、具体的に耐タンパ性の低い状態変数を特定するのである。このステップS255の処理は、本実施形態では、偏回帰係数a1〜a8の各値について、状態変数と消費電力wとの相関が低く耐タンパ性が高いとみなせる所定の偏回帰係数許容領域に含まれるか否かを判定し、含まれない偏回帰係数に対応する状態変数が耐タンパ性が低いと判定することで行う。例えば偏回帰係数a1及びa3が偏回帰係数許容領域に含まれないときには、入力ビットAのうち1ビット目の値と3ビット目の値が消費電力wとの相関が高く耐タンパ性が低いと判定する。ここで、このような偏回帰係数許容領域は、例えば実験により経験的に定めることができる。なお、例えば偏回帰係数a1〜a8の各値のうち絶対値の最も高いものを耐タンパ性の低い状態変数と判定するなど、相対的な判定を行ってもよい。ステップS255で耐タンパ性の低い状態変数を判定すると、部分的に耐タンパ性が低い旨の情報と耐タンパ性が低いと判定した状態変数とを処理対象のタイムスロット番号nに対応する評価結果として記憶する(ステップS256)。 When the coefficient of determination R 2 less than the threshold value R 2 th2 in step S253, determines a low state variable x1~xj tamper resistance based on the value of partial regression coefficient a1 to a8 (step S255). The coefficient of determination R 2 in step S251 is not less threshold R 2 th1 or more, when the coefficient of determination R 2 less than the threshold value R 2 th2 in step S253, i.e. the coefficient of determination R 2 is the coefficient of determination acceptable area and the coefficient of determination nonpermissive region Is not determined that the tamper resistance is generally high according to the determination by the determination coefficient, but is not the case where it is not determined that the tamper resistance is generally low. Therefore, it is determined that the tamper resistance is partially low, and among the state variables x1 to xj, a state variable having a particularly low tamper resistance is specified. In the present embodiment, the process of step S255 is included in a predetermined partial regression coefficient allowable region in which each value of the partial regression coefficients a1 to a8 has a low correlation between the state variable and the power consumption w and can be regarded as having high tamper resistance. This is performed by determining whether or not a state variable corresponding to a partial regression coefficient not included is low in tamper resistance. For example, when the partial regression coefficients a1 and a3 are not included in the partial regression coefficient allowable area, if the value of the first bit and the value of the third bit of the input bit A have a high correlation with the power consumption w and the tamper resistance is low. judge. Here, such a partial regression coefficient allowable region can be determined empirically by, for example, experiments. For example, relative determination may be performed, such as determining a value having the highest absolute value among the values of the partial regression coefficients a1 to a8 as a state variable having low tamper resistance. If a state variable with low tamper resistance is determined in step S255, information indicating that the tamper resistance is partially low and a state variable determined to have low tamper resistance are evaluated results corresponding to the time slot number n to be processed. (Step S256).

以上のステップS251〜S256の処理すなわちステップS250の評価処理を行って、ステップS252,S254,S256のいずれかの評価結果を記憶すると、評価部27は、タイムスロット番号nを値1インクリメントして(ステップS260)、タイムスロット番号nが上限値(本実施形態では値7)を超えたか否かを判定する(ステップS270)。そして、タイムスロット番号nが上限値を超えていないときには、ステップS210に進む。一方、タイムスロット番号nが上限値を超えたときには、分析評価処理を終了する。この分析評価処理を行うことで、各タイムスロットについて消費電力データを用いた評価用回路40の耐タンパ性の評価が行われる。   When the above-described processing of steps S251 to S256, that is, the evaluation processing of step S250 is performed and the evaluation result of any of steps S252, S254, and S256 is stored, the evaluation unit 27 increments the time slot number n by 1 ( In step S260, it is determined whether or not the time slot number n has exceeded an upper limit value (value 7 in the present embodiment) (step S270). If the time slot number n does not exceed the upper limit value, the process proceeds to step S210. On the other hand, when the time slot number n exceeds the upper limit value, the analysis evaluation process is terminated. By performing this analysis and evaluation process, the tamper resistance of the evaluation circuit 40 using the power consumption data for each time slot is evaluated.

図2の耐タンパ性評価ルーチンに戻る。ステップS150の分析評価処理を行うと、評価部27は、タイムスロット毎にステップS252,S254,S256のいずれかで記憶した評価結果を読み出して、表示部16に評価結果出力画面を表示させて(ステップS160)、本ルーチンを終了する。評価結果出力画面では、例えばタイムスロット毎に耐タンパ性が「全体的に高い」「部分的に低い」「全体的に低い」などの評価結果を表示したり、耐タンパ性が部分的に低いタイムスロットについては入力ビットAのうち具体的に耐タンパ性が低いと判定されたのが何ビット目であるかを表示する。また、耐タンパ性評価ルーチンで求めた標準偏差σや分析値の値をタイムスロットと対応付けてテーブルまたはグラフとして表示する。このように、耐タンパ性評価ルーチンでは、消費電力データに基づいて標準偏差σや偏回帰係数a1〜a8,決定係数R2を導出し、これらに基づいて評価用回路40の耐タンパ性を評価するのである。 Returning to the tamper resistance evaluation routine of FIG. When the analysis evaluation process in step S150 is performed, the evaluation unit 27 reads the evaluation result stored in any of steps S252, S254, and S256 for each time slot, and causes the display unit 16 to display the evaluation result output screen ( Step S160), this routine is finished. On the evaluation result output screen, for example, evaluation results such as “overall high”, “partially low” and “overall low” are displayed for each time slot, or the tamper resistance is partially low. For the time slot, it is displayed how many bits of the input bit A are determined to have low tamper resistance. Further, the standard deviation σ obtained by the tamper resistance evaluation routine and the value of the analysis value are displayed as a table or graph in association with the time slot. Thus, in the tamper resistance evaluation routine, the standard deviation σ, the partial regression coefficients a1 to a8, and the determination coefficient R 2 are derived based on the power consumption data, and the tamper resistance of the evaluation circuit 40 is evaluated based on these. To do.

ここで、第1実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。第1実施形態の情報処理装置10が本発明の情報処理装置に相当し、消費電力データ取得部25が消費電力データ取得手段に相当し、分析部26が分析手段に相当し、評価部27が評価手段に相当する。なお、本実施形態では、情報処理装置10の動作を説明することにより本発明の情報処理方法の一例も明らかにしている。   Here, the correspondence between the components of the first embodiment and the components of the present invention will be clarified. The information processing apparatus 10 of the first embodiment corresponds to the information processing apparatus of the present invention, the power consumption data acquisition unit 25 corresponds to the power consumption data acquisition unit, the analysis unit 26 corresponds to the analysis unit, and the evaluation unit 27 Corresponds to evaluation means. In the present embodiment, an example of the information processing method of the present invention is also clarified by describing the operation of the information processing apparatus 10.

以上詳述した第1実施形態の情報処理装置10によれば、暗号処理回路である評価用回路40における入力ビットAの状態を表す状態変数と評価用回路40における消費電力Wとが対応付けられた消費電力データを複数取得し、取得された複数の消費電力データに基づいて、消費電力Wを目的変数とし消費電力Wに対応づけられた状態変数x1〜xjを説明変数として重回帰分析を行い、分析により決定係数R2及び偏回帰係数a1〜a8を分析値として導出する。そして、導出された分析値に基づいて、評価用回路40の耐タンパ性を評価する。これにより、電力差分解析攻撃を複数回行い攻撃が成功するか否かによって耐タンパ性を評価する場合と比べて、暗号処理回路の耐タンパ性を効率的に評価することができる。 According to the information processing apparatus 10 of the first embodiment described in detail above, the state variable indicating the state of the input bit A in the evaluation circuit 40 that is a cryptographic processing circuit is associated with the power consumption W in the evaluation circuit 40. Multiple power consumption data is acquired, and based on the acquired power consumption data, a multiple regression analysis is performed using the power consumption W as an objective variable and the state variables x1 to xj associated with the power consumption W as explanatory variables. The determination coefficient R 2 and the partial regression coefficients a1 to a8 are derived as analysis values by analysis. Then, the tamper resistance of the evaluation circuit 40 is evaluated based on the derived analysis value. This makes it possible to efficiently evaluate the tamper resistance of the cryptographic processing circuit as compared with the case where the tamper resistance is evaluated based on whether the power difference analysis attack is performed a plurality of times and the attack is successful.

また、入力ビットAの各ビットの値をそれぞれ状態変数としており、複数の異なる状態変数x1〜xjと消費電力Wとが対応付けられた消費電力データに基づいて重回帰分析を行うため、複数の状態変数と消費電力Wとの相関を重回帰分析によりまとめて分析することができ、複数回の単回帰分析を行う場合に比べて効率的に耐タンパ性を評価できる。   In addition, since the value of each bit of the input bit A is a state variable, and multiple regression analysis is performed based on power consumption data in which a plurality of different state variables x1 to xj and power consumption W are associated, The correlation between the state variable and the power consumption W can be collectively analyzed by the multiple regression analysis, and the tamper resistance can be efficiently evaluated as compared with the case where the single regression analysis is performed a plurality of times.

さらに、決定係数R2が所定の決定係数許容領域に含まれるか否かに基づいて耐タンパ性が高いか否かを判定するため、状態変数と消費電力との全体的な相関を表す決定係数に基づいて耐タンパ性を評価することができる。また、決定係数R2が決定係数許容領域及び決定係数非許容領域のいずれにも含まれないときには、導出された偏回帰係数a1〜a8に基づいて複数の状態変数のうち耐タンパ性の低い状態変数を判定するため、決定係数による判定で耐タンパ性が高いわけではないが、耐タンパ性が低いわけでもない場合に、具体的に耐タンパ性の低い状態変数を判定することができる。また、導出された偏回帰係数a1〜a8が所定の偏回帰係数許容領域に含まれるか否かを判定して、偏回帰係数許容領域に含まれない偏回帰係数に対応する状態変数の耐タンパ性が低いと判定するため、各状態変数の耐タンパ性を簡易な方法で評価することができる。 Furthermore, in order to determine whether or not the tamper resistance is high based on whether or not the determination coefficient R 2 is included in the predetermined determination coefficient allowable region, the determination coefficient that represents the overall correlation between the state variable and the power consumption Tamper resistance can be evaluated based on The coefficient of determination when R 2 is not included in any of the coefficient of determination allowable area and the coefficient of determination unacceptable region, tamper resistant low state of the plurality of state variables based on the partial regression coefficient a1~a8 derived In order to determine the variable, the determination by the determination coefficient is not high in tamper resistance, but when the tamper resistance is not low, a state variable having low low tamper resistance can be specifically determined. Further, it is determined whether or not the derived partial regression coefficients a1 to a8 are included in a predetermined partial regression coefficient allowable area, and a tamper resistance of a state variable corresponding to the partial regression coefficient not included in the partial regression coefficient allowable area is determined. Therefore, the tamper resistance of each state variable can be evaluated by a simple method.

さらにまた、消費電力データの標準偏差σに基づいて耐タンパ性が低いと判定したときに分析値に基づく耐タンパ性を評価するため、常に分析値に基づく耐タンパ性を評価する場合と比べて効率的に耐タンパ性の評価をすることができる。 Furthermore, when tamper resistance is determined to be low based on the standard deviation σ of the power consumption data, the tamper resistance based on the analysis value is evaluated. Therefore, the tamper resistance is always evaluated based on the analysis value. Tamper resistance can be evaluated efficiently.

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

例えば、上述した第1実施形態におけるステップS210,S220の処理を省略して、標準偏差σの値によらず常に重回帰分析を行うものとしてもよい。また、ステップS253,S255,S256の処理を省略し、ステップS251で決定係数R2が閾値R2th1未満でないときにはステップS254に進み、決定係数R2が所定の決定係数許容領域に含まれるか否かに基づいて、耐タンパ性が高いか否かを判定するものとしてもよい。この場合、ステップS240で導出した偏回帰係数a1〜a8は分析値とせず、決定係数R2のみを分析値としてもよい。また、ステップS253,S254の処理を省略し、ステップS251で決定係数R2が閾値R2th1未満でないときにはステップS255に進み、決定係数R2が所定の決定係数許容領域に含まれないときには常に耐タンパ性の低い状態変数を判定するものとしてもよい。また、ステップS251,S253,S254の処理を省略して、ステップS240の重回帰分析を行ったときにはステップS255に進み、常に耐タンパ性の低い状態変数を判定するものとしてもよい。この場合、ステップS240では決定係数を導出しないものとしてもよい。また、ステップS252の後やステップS254の後にもステップS255,S256の処理を行なうものとして、決定係数R2を用いた耐タンパ性の評価と偏回帰係数a1〜a8を用いた耐タンパ性の評価とを常に行なってもよい。 For example, the processing of steps S210 and S220 in the first embodiment described above may be omitted, and multiple regression analysis may be always performed regardless of the value of the standard deviation σ. Further, step S253, S255, and omits the processing of S256, or coefficient of determination R 2 in step S251 proceeds to step S254 when it is not less than the threshold value R 2 th1, the coefficient of determination R 2 is included in a predetermined coefficient of determination acceptable area not Whether or not the tamper resistance is high may be determined based on the above. In this case, partial regression coefficients a1~a8 derived in step S240 is not the analysis, only the coefficient of determination R 2 may be the analytical value. Further, omitting the processing in step S253, S254, the process proceeds to step S255 when determining coefficient R 2 in step S251 is not less than the threshold value R 2 th1, always resistant when the coefficient of determination R 2 is not included in the predetermined determination coefficient allowable region A state variable with low tampering may be determined. Alternatively, the processing of steps S251, S253, and S254 may be omitted, and when the multiple regression analysis of step S240 is performed, the process proceeds to step S255, and a state variable with low tamper resistance may always be determined. In this case, the determination coefficient may not be derived in step S240. The evaluation of the tamper-resistant with and steps after S254 as also performs the process of step S255, S256, determination coefficient evaluating the partial regression coefficients a1~a8 tamperproof with R 2 After step S252 May always be performed.

[第2実施形態]
図12は、第2実施形態である情報処理装置110の構成の概略を示す構成図である。なお、第2実施形態の情報処理装置110のうち、情報処理装置10と同様の構成要素については、情報処理装置10の構成要素と同じ符号を付してその説明を省略する。
[Second Embodiment]
FIG. 12 is a configuration diagram illustrating an outline of a configuration of the information processing apparatus 110 according to the second embodiment. In addition, about the component similar to the information processing apparatus 10 among the information processing apparatuses 110 of 2nd Embodiment, the code | symbol same as the component of the information processing apparatus 10 is attached | subjected, and the description is abbreviate | omitted.

情報処理装置110は、制御部12と、記憶部114と、表示部16と、操作部18とを備えている。この情報処理装置110は、制御部12が耐タンパ性評価プログラム120を実行して耐タンパ性を評価する対象である評価用回路140が、乱数ビットCの値により内部の回路動作をマスクする乱数マスク回路の一種であるRSL(Random Switch Logic) 回路を有した暗号処理回路である点が情報処理装置10と異なる。   The information processing apparatus 110 includes a control unit 12, a storage unit 114, a display unit 16, and an operation unit 18. In this information processing apparatus 110, the control circuit 12 executes the tamper resistance evaluation program 120 to evaluate the tamper resistance, and the evaluation circuit 140 masks the internal circuit operation with the value of the random number bit C. The information processing apparatus 10 is different from the information processing apparatus 10 in that it is an encryption processing circuit having an RSL (Random Switch Logic) circuit which is a kind of mask circuit.

記憶部114は、例えばHDDなどの大容量記憶装置として構成され各種アプリケーションプログラムや各種データファイルを記憶するものであり、耐タンパ性評価プログラム120と、回路データベース31とを備えている。   The storage unit 114 is configured as a large-capacity storage device such as an HDD and stores various application programs and various data files. The storage unit 114 includes a tamper resistance evaluation program 120 and a circuit database 31.

耐タンパ性評価プログラム120は、評価用回路データ生成部21と、評価用回路データ変換部22と、入力データ生成部123と、回路シミュレーター24と、消費電力データ取得部125と、分析部26と、評価部27と、分類部128とを備えている。入力データ生成部123は、生成する入力データにRSL回路の乱数ビットCの値が含まれる点以外は、図1の入力データ生成部23と同様の機能を有する。消費電力データ取得部125は、評価用回路140における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数及び乱数ビットCの状態を表す状態変数と、評価用回路140における消費電力Wとが対応付けられた消費電力データを取得する機能を有する。分類部128は、消費電力データ取得部125に取得された複数の消費電力データに基づいて、消費電力Wを目的変数とし消費電力Wに対応づけられた乱数ビットCの状態を表す状態変数を説明変数として回帰分析を行い、その分析により決定係数及び回帰係数の少なくともいずれかを乱数ビットCと前記消費電力データとの相関値として導出し、導出した相関値に基づいて乱数ビットCと消費電力Wとの相関が高いと判定したときには、取得した複数の消費電力データを乱数ビットCの値に応じて複数のグループに分類する機能を有する。なお、制御部12が耐タンパ性評価プログラム120を実行することにより、評価用回路データ生成部21、評価用回路データ変換部22、入力データ生成部123、回路シミュレーター24、消費電力データ取得部125、分析部26、評価部27、分類部128の機能が実現される。   The tamper resistance evaluation program 120 includes an evaluation circuit data generation unit 21, an evaluation circuit data conversion unit 22, an input data generation unit 123, a circuit simulator 24, a power consumption data acquisition unit 125, and an analysis unit 26. The evaluation unit 27 and the classification unit 128 are provided. The input data generation unit 123 has the same function as the input data generation unit 23 in FIG. 1 except that the input data to be generated includes the value of the random number bit C of the RSL circuit. The power consumption data acquisition unit 125 includes a state variable indicating the state of at least one of the input bit and the output bit in the evaluation circuit 140 and a state variable indicating the state of the random number bit C, and the power consumption W in the evaluation circuit 140. It has a function of acquiring associated power consumption data. Based on the plurality of power consumption data acquired by the power consumption data acquisition unit 125, the classification unit 128 explains the state variable representing the state of the random number bit C associated with the power consumption W using the power consumption W as a target variable. A regression analysis is performed as a variable, and at least one of the determination coefficient and the regression coefficient is derived as a correlation value between the random number bit C and the power consumption data by the analysis, and the random number bit C and the power consumption W are calculated based on the derived correlation value. When it is determined that the correlation is high, it has a function of classifying the plurality of acquired power consumption data into a plurality of groups according to the value of the random number bit C. The control unit 12 executes the tamper resistance evaluation program 120, whereby the evaluation circuit data generation unit 21, the evaluation circuit data conversion unit 22, the input data generation unit 123, the circuit simulator 24, and the power consumption data acquisition unit 125. The functions of the analysis unit 26, the evaluation unit 27, and the classification unit 128 are realized.

次に、こうして構成された情報処理装置110の動作、特に、暗号処理回路の耐タンパ性を評価する際の動作について説明する。ユーザーが操作部18を操作して耐タンパ性を評価する対象となる評価用回路を指定し、耐タンパ性の評価を行うよう指示すると、制御部12は、耐タンパ性評価ルーチンを実行する。この耐タンパ性評価ルーチンは、図2の耐タンパ性評価ルーチンと同様の処理ステップを有するため、図2と同じステップ番号を用いて説明し、図示を省略する。   Next, the operation of the information processing apparatus 110 configured as described above, particularly the operation when evaluating the tamper resistance of the cryptographic processing circuit will be described. When the user operates the operation unit 18 to specify an evaluation circuit to be evaluated for tamper resistance and instructed to perform tamper resistance evaluation, the control unit 12 executes a tamper resistance evaluation routine. Since this tamper resistance evaluation routine has the same processing steps as the tamper resistance evaluation routine of FIG. 2, it will be described using the same step numbers as in FIG.

この耐タンパ性評価ルーチンが実行されると、まず、評価用回路データ生成部21,評価用回路データ変換部22がステップS100〜S110の処理を行う。この処理は、ユーザーに指定された評価用回路140の構成が異なる点以外は、図2と同様に行う。図13は、評価用回路140の構成の概略を示す構成図である。図13(a)は、評価用回路140の全体構成を示す構成図であり、図13(b)は、評価用回路140のうちのSubBytes変換回路144内のRSL回路148の構成を示す構成図である。図13(a)に示すように、評価用回路140は、レジスター142と、SubBytes変換回路144と、排他的論理和回路46とを備えている。この評価用回路140は、評価用回路40と同様に暗号方式の1つであるAESの回路の部分的なモジュールとして構成された暗号処理回路であり、レジスター142と、SubBytes変換回路144と、排他的論理和回路146とを備えている。レジスター42は、入力された8ビットの入力ビットAと、1ビットの乱数ビットCと、1ビットの出力イネーブルenとを保持するものである。SubBytes変換回路144は、レジスター42の出力部に接続されて入力ビットAと乱数ビットCと出力イネーブルenとがレジスター42から入力され、入力ビットAに対してAESにおける非線形変換であるSubBytes処理を行うものである。このSubBytes変換回路144は、図13(b)に示すRSL回路148を有している。図示するように、RSL回路148は、各1ビットの入力値が2つと、乱数ビットCと、出力イネーブルenとが入力される。このRSL回路148は、乱数ビットCの値により内部の動作モードが切り替わり、異なる論理回路として動作する。具体的には、出力イネーブルenが値1且つ乱数ビットCが値0であるときには、RSL回路148はNANDゲートとして動作して、2つの入力値に基づく1ビットの出力値を出力する。また、出力イネーブルenが値1且つ乱数ビットCが値1であるときには、RSL回路148はNORゲートとして動作して、2つの入力値に基づく1ビットの出力値を出力する。出力イネーブルenが値0のときにはRSL回路148の出力値は値0に固定される。SubBytes変換回路144は、このRSL回路148を複数組み合わせた回路として構成されており、入力ビットAと出力ビットBとの対応関係は図3のSubBytes変換回路44と同じであるものの、乱数ビットCが値0であるか値1であるかによって内部の回路構成が変化し、消費電力も変化する。このように、SubBytes変換回路144はRSL回路148を備えることで、乱数ビットCの値によって消費電力を変化させて入力ビットAと消費電力との相関が低くなる、すなわち内部の回路動作がマスクされるよう構成され、図3のSubBytes変換回路144の回路よりも耐タンパ性の高い回路となっている。   When this tamper resistance evaluation routine is executed, first, the evaluation circuit data generation unit 21 and the evaluation circuit data conversion unit 22 perform the processing of steps S100 to S110. This process is performed in the same manner as in FIG. 2 except that the configuration of the evaluation circuit 140 designated by the user is different. FIG. 13 is a configuration diagram showing an outline of the configuration of the evaluation circuit 140. 13A is a block diagram showing the overall configuration of the evaluation circuit 140, and FIG. 13B is a block diagram showing the configuration of the RSL circuit 148 in the SubBytes conversion circuit 144 in the evaluation circuit 140. It is. As illustrated in FIG. 13A, the evaluation circuit 140 includes a register 142, a SubBytes conversion circuit 144, and an exclusive OR circuit 46. The evaluation circuit 140 is an encryption processing circuit configured as a partial module of an AES circuit, which is one of the encryption methods, similar to the evaluation circuit 40. The evaluation circuit 140 includes a register 142, a SubBytes conversion circuit 144, and an exclusive circuit. And a logical OR circuit 146. The register 42 holds the input 8-bit input bit A, 1-bit random number bit C, and 1-bit output enable en. The SubBytes conversion circuit 144 is connected to the output unit of the register 42, receives the input bit A, the random number bit C, and the output enable en from the register 42, and performs a SubBytes process that is a non-linear conversion in AES on the input bit A. Is. This SubBytes conversion circuit 144 has an RSL circuit 148 shown in FIG. As illustrated, the RSL circuit 148 receives two input values of 1 bit each, a random number bit C, and an output enable en. The RSL circuit 148 operates as a different logic circuit with the internal operation mode switched depending on the value of the random number bit C. Specifically, when the output enable en is 1 and the random number bit C is 0, the RSL circuit 148 operates as a NAND gate and outputs a 1-bit output value based on two input values. When the output enable en is 1 and the random number bit C is 1, the RSL circuit 148 operates as a NOR gate and outputs a 1-bit output value based on two input values. When the output enable en is 0, the output value of the RSL circuit 148 is fixed to 0. The SubBytes conversion circuit 144 is configured as a circuit combining a plurality of RSL circuits 148, and the correspondence between the input bit A and the output bit B is the same as that of the SubBytes conversion circuit 44 in FIG. Depending on whether the value is 0 or 1, the internal circuit configuration changes and the power consumption also changes. As described above, the SubBytes conversion circuit 144 includes the RSL circuit 148, so that the power consumption is changed according to the value of the random number bit C, and the correlation between the input bit A and the power consumption becomes low, that is, the internal circuit operation is masked. Thus, the circuit is more tamper resistant than the circuit of the SubBytes conversion circuit 144 in FIG.

続いて、入力データ生成部123は、ステップS120の処理を行って評価用回路140への入力データを生成し、回路シミュレーター24がステップS130の処理を行って評価用回路140に入力データを入力したときの回路動作のシミュレーションを行う。そして、消費電力データ取得部125は、ステップS140の処理を行って、消費電力データを取得する。本実施形態では、消費電力データ取得部125は、回路シミュレーター24のシミュレーションの結果から、評価用回路140における入力ビットAの各ビットの値及び乱数ビットCの値を表す状態変数と評価用回路140における消費電力Wとが対応づけられた消費電力データを、入力ビットA及び乱数ビットCの値に応じて複数取得する。図14は、取得した消費電力データの内容をテーブルとして示した説明図である。この図に示すように、消費電力データ取得部125が取得する消費電力データは、図9(a)に示した消費電力データに各パターン番号に対応する乱数ビットCの値が加わったものとなっている。   Subsequently, the input data generation unit 123 performs the process of step S120 to generate input data to the evaluation circuit 140, and the circuit simulator 24 performs the process of step S130 and inputs the input data to the evaluation circuit 140. The simulation of the circuit operation is performed. And the power consumption data acquisition part 125 performs the process of step S140, and acquires power consumption data. In the present embodiment, the power consumption data acquisition unit 125 determines the state variable indicating the value of each bit of the input bit A and the value of the random number bit C in the evaluation circuit 140 and the evaluation circuit 140 from the simulation result of the circuit simulator 24. A plurality of pieces of power consumption data associated with the power consumption W are obtained according to the values of the input bit A and the random number bit C. FIG. 14 is an explanatory diagram showing the contents of the acquired power consumption data as a table. As shown in this figure, the power consumption data acquired by the power consumption data acquisition unit 125 is obtained by adding the value of the random number bit C corresponding to each pattern number to the power consumption data shown in FIG. ing.

次に、分析部26及び評価部27は、ステップS140で取得された消費電力データに基づいて、評価用回路140の耐タンパ性の分析評価処理を実行するステップS150の処理を行う。図15は、本実施形態における分析評価処理の一例を示すフローチャートである。なお、図15では、図10の分析評価処理と異なる部分についてのみ図示しており、図10と同じ処理については同じステップ番号を用いて説明する。この分析評価処理が実行されると、まず、ステップS200〜S230の処理が行われる。そして、ステップS230の処理を行うと、分析部26は、状態変数すなわち入力ビットAの各ビット及び乱数ビットCを説明変数とし、タイムスロット番号nに対応する2000個の消費電力wを目的変数として、重回帰分析を行い、分析値として偏回帰係数a1〜aj(本実施形態では変数jは値8)及び決定係数R2を導出すると共に、相関値として偏回帰係数bを導出する(ステップS240a)。この処理は、ステップS240における状態変数x1〜x8に加えて乱数ビットCの値を表す状態変数x9が加わり、偏回帰係数a0〜a8に加えて偏回帰係数bが加わった点以外は、ステップS240と同様にして行うことができる。すなわち、上述した式(1)において変数jを値9とした場合の式(2)の差の二乗和Eが最小となるような偏回帰係数a0〜a9を導出し、その後決定係数R2を導出して、偏回帰係数a1〜a8及び決定係数R2を分析値とし、偏回帰係数a9(=偏回帰係数b)を相関値とするのである。図16は、導出した分析値及び相関値の一例を示す説明図である。図16では、タイムスロット番号nが値0であるときの分析値及び相関値を示しており、タイムスロット番号nに対応して、決定係数R2及び偏回帰係数a1〜a8,bが導出されている。この図16の例では、偏回帰係数a1〜a8と比べて偏回帰係数bの絶対値が大きくなっており、入力ビットAの値と比べて乱数ビットCの方が消費電力wとの相関が高いことがわかる。 Next, the analysis unit 26 and the evaluation unit 27 perform the process of step S150 for executing the tamper resistance analysis evaluation process of the evaluation circuit 140 based on the power consumption data acquired in step S140. FIG. 15 is a flowchart illustrating an example of the analysis evaluation process in the present embodiment. In FIG. 15, only the parts different from the analysis evaluation process of FIG. 10 are shown, and the same processes as in FIG. 10 will be described using the same step numbers. When this analysis evaluation process is executed, first, the processes of steps S200 to S230 are performed. When the processing in step S230 is performed, the analysis unit 26 uses the state variables, that is, each bit of the input bit A and the random number bit C as explanatory variables, and uses 2000 power consumption w corresponding to the time slot number n as an objective variable. performing a multiple regression analysis, (variable j in the present embodiment, the value 8) partial regression coefficients a1~aj as an analytical value with deriving a and coefficient of determination R 2, derives the partial regression coefficient b as a correlation value (step S240a ). This process is the same as step S240 except that a state variable x9 representing the value of the random number bit C is added to the state variables x1 to x8 in step S240, and a partial regression coefficient b is added to the partial regression coefficients a0 to a8. It can be performed in the same way. That is, to derive the partial regression coefficient a0~a9 as square sum E of the difference equation (2) in the case where the variable j to the value 9 in the formula (1) described above is minimized, then the coefficient of determination R 2 derived by the partial regression coefficients a1~a8 and determination coefficient R 2 and analysis values is as the correlation value partial regression coefficient a9 (= partial regression coefficient b). FIG. 16 is an explanatory diagram illustrating an example of the derived analysis value and correlation value. FIG. 16 shows the analysis value and the correlation value when the time slot number n is 0, and the determination coefficient R 2 and the partial regression coefficients a1 to a8, b are derived corresponding to the time slot number n. ing. In the example of FIG. 16, the absolute value of the partial regression coefficient b is larger than the partial regression coefficients a1 to a8, and the random number bit C is more correlated with the power consumption w than the input bit A value. I understand that it is expensive.

続いて、分析部26及び評価部27は、ステップS250の処理すなわちちステップS251〜S256の処理を行って、評価用回路140の耐タンパ性の評価を行う。そして、ステップS250の処理を行うと、分類部128は、ステップS240aで導出した相関値である偏回帰係数bが閾値bth未満であるか否かを判定する(ステップS300)。ここで、閾値bthは、状態変数である乱数ビットCと消費電力wとの相関が低く耐タンパ性が高いとみなせる偏回帰係数bの領域すなわち偏回帰係数許容領域の下限値として設定された値であり、例えば実験により経験的に定めた値である。なお、本実施形態では、この偏回帰係数許容領域は、ステップS255において耐タンパ性が低い状態変数を判定するときの偏回帰係数許容領域と同じものとしたが、両者を異なる領域としてもよい。   Subsequently, the analysis unit 26 and the evaluation unit 27 perform the process of step S250, that is, the processes of steps S251 to S256, and evaluate the tamper resistance of the evaluation circuit 140. Then, when the process of step S250 is performed, the classification unit 128 determines whether or not the partial regression coefficient b, which is the correlation value derived in step S240a, is less than the threshold value bth (step S300). Here, the threshold value bth is a value set as the lower limit value of the partial regression coefficient b region in which the correlation between the random number bit C, which is a state variable, and the power consumption w is low and the tamper resistance can be regarded as high. For example, it is a value empirically determined by experiment. In the present embodiment, the partial regression coefficient allowable area is the same as the partial regression coefficient allowable area when determining a state variable with low tamper resistance in step S255, but both may be different areas.

そして、ステップS300で偏回帰係数bが閾値bth未満であるときには、分類部128は、乱数ビットCについての耐タンパ性が低い旨をタイムスロット番号nに対応する評価結果として記憶して(ステップS310)、ステップS260に進む。一方、ステップS300で偏回帰係数bが閾値bth未以上であるときには、乱数ビットCの値に応じて消費電力データを複数のグループに分類する(ステップS320)。本実施形態では、乱数ビットCは1ビットであるため、乱数ビットCが値0であるか値1であるかに応じて消費電力データを2つのグループに分類する。例えば、図14に示した消費電力データを分類するときには、乱数ビットCが値0であるパターン番号0,2の消費電力データと、乱数ビットCが値1であるパターン番号1,3,4の消費電力データとは別のグループに分類する。   When the partial regression coefficient b is less than the threshold value bth in step S300, the classification unit 128 stores that the tamper resistance of the random number bit C is low as an evaluation result corresponding to the time slot number n (step S310). ), The process proceeds to step S260. On the other hand, when the partial regression coefficient b is not greater than or equal to the threshold value bth in step S300, the power consumption data is classified into a plurality of groups according to the value of the random number bit C (step S320). In the present embodiment, since the random number bit C is 1 bit, the power consumption data is classified into two groups depending on whether the random number bit C is 0 or 1. For example, when the power consumption data shown in FIG. 14 is classified, the power consumption data of pattern numbers 0 and 2 whose random number bit C is 0 and the pattern numbers 1, 3 and 4 whose random number bit C is 1 are stored. It is classified into a group different from the power consumption data.

続いて、分析部26及び評価部27は、分類したグループのうちいずれか1つを処理対象グループに設定し(ステップS330)、処理対象グループの消費電力データについて、図10のステップS210以降の処理を行う。このステップS210以降の処理は、ステップS252,S254,S256の代わりにステップS252a,S254a,S256aの処理を行う点以外は、ステップS210〜S250と同様にして行う。すなわち、まずステップS210,S220の処理を行い、ステップS220で標準偏差σが閾値σth以上のときには、ステップS230〜S251の処理を行う。そして、ステップS220で標準偏差σが閾値σth未満のとき、又はステップS251で決定係数R2が閾値R2th1未満であったときには、処理対象グループについて評価用回路140が全体的に耐タンパ性が高い旨を処理対象グループ及びタイムスロット番号nに対応する評価結果として記憶する(ステップS252a)。また、ステップS251で決定係数R2が閾値R2th1以上であったときには、ステップS253の処理を行い、ステップS253で決定係数R2が閾値R2th2以上であったときには、評価用回路140が全体的に耐タンパ性が低い旨を処理対象グループ及びタイムスロット番号nに対応する評価結果として記憶する(ステップS254a)。そして、ステップS253で決定係数R2が閾値R2th2未満であったときには、ステップS255の処理を行って耐タンパ性が低い状態変数を判定し、部分的に耐タンパ性が低い旨と耐タンパ性が低いと判定した状態変数とを処理対象グループ及びタイムスロット番号nに対応する評価結果として記憶する(ステップS256a)。そして、ステップS252a,S254a,S256aいずれかの評価結果を記憶すると、未処理のグループがあるか否かを判定し(ステップS340)、未処理のグループがあるときにはステップS330に進む。一方、未処理のグループがないといには、ステップS260へ進む。 Subsequently, the analysis unit 26 and the evaluation unit 27 set any one of the classified groups as a processing target group (step S330), and the processing after step S210 in FIG. 10 is performed on the power consumption data of the processing target group. I do. The processes after step S210 are performed in the same manner as steps S210 to S250 except that the processes of steps S252a, S254a, and S256a are performed instead of steps S252, S254, and S256. That is, first, the processes of steps S210 and S220 are performed. When the standard deviation σ is equal to or larger than the threshold σth in step S220, the processes of steps S230 to S251 are performed. Then, when the standard deviation σ is less than the threshold value σth in step S220, or step when the coefficient of determination R 2 less than the threshold value R 2 th1 in S251, the overall tamper resistance evaluation circuit 140 for processing target group High is stored as an evaluation result corresponding to the processing target group and the time slot number n (step S252a). Further, when the coefficient of determination R 2 was threshold R 2 th1 or more in step S251 performs steps S253, but when the coefficient of determination R 2 was threshold R 2 th2 or more in step S253, the evaluation circuit 140 The fact that the overall tamper resistance is low is stored as an evaluation result corresponding to the processing target group and the time slot number n (step S254a). When the determination coefficient R 2 is less than the threshold value R 2 th2 in step S253, the state variable having low tamper resistance is determined by performing the process in step S255, and the tamper resistance is partially reduced. The state variable determined to be low is stored as the evaluation result corresponding to the processing target group and the time slot number n (step S256a). When the evaluation result of any one of steps S252a, S254a, and S256a is stored, it is determined whether or not there is an unprocessed group (step S340). If there is an unprocessed group, the process proceeds to step S330. On the other hand, if there is no unprocessed group, the process proceeds to step S260.

このように、図15の分析評価処理では、図10の分析評価処理に加えて、乱数ビットCが消費電力と相関が高いか否かの判定を行っている。そして、乱数ビットCと消費電力Wとの相関が高いときには、消費電力データをグループ分けしてから重回帰分析を行って、乱数ビットの影響を除いた耐タンパ性の評価を行うのである。   As described above, in the analysis evaluation process of FIG. 15, in addition to the analysis evaluation process of FIG. 10, it is determined whether or not the random number bit C has a high correlation with the power consumption. When the correlation between the random number bit C and the power consumption W is high, the power consumption data is grouped and then subjected to multiple regression analysis to evaluate tamper resistance without the influence of the random number bits.

ここで、第2実施形態の構成要素と本発明の構成要素との対応関係を明らかにする。第2実施形態の情報処理装置110が本発明の情報処理装置に相当し、消費電力データ取得部125が消費電力データ取得手段に相当し、分析部26が分析手段に相当し、評価部27が評価手段に相当し、分析部26,評価部27,分類部128が分類手段に相当する。   Here, the correspondence between the constituent elements of the second embodiment and the constituent elements of the present invention will be clarified. The information processing apparatus 110 of the second embodiment corresponds to the information processing apparatus of the present invention, the power consumption data acquisition unit 125 corresponds to the power consumption data acquisition unit, the analysis unit 26 corresponds to the analysis unit, and the evaluation unit 27 The analyzing unit 26, the evaluating unit 27, and the classifying unit 128 correspond to the classifying unit.

以上詳述した第2実施形態の情報処理装置10によれば、RSL回路148の乱数ビットCと消費電力Wとの相関が高いときには、消費電力データをグループ分けしてから重回帰分析を行うことで、乱数ビットの影響を除いた耐タンパ性評価ができる。これにより、例えば実際の暗号処理回路への攻撃として、消費電力データと乱数ビットとの間の相関からまず乱数ビットの値を読み取り、その後に乱数ビットの値が同じ値である消費電力データのみについて電力差分解析を行うといった攻撃手法に対する耐タンパ性を評価することができる。   According to the information processing apparatus 10 of the second embodiment described in detail above, when the correlation between the random number bit C of the RSL circuit 148 and the power consumption W is high, the power regression data is grouped and then the multiple regression analysis is performed. Thus, tamper resistance can be evaluated without the influence of random bits. As a result, for example, as an attack on the actual cryptographic processing circuit, first, the value of the random number bit is read from the correlation between the power consumption data and the random number bit, and then only the power consumption data having the same value of the random number bit. Tamper resistance against attack techniques such as power difference analysis can be evaluated.

なお、本発明は上述した実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。   It should be noted that the present invention is not limited to the above-described embodiment, and it goes without saying that the present invention can be implemented in various modes as long as it belongs to the technical scope of the present invention.

例えば、上述した第2実施形態では、乱数ビットCは1ビットであるものとしたが、複数ビットであるものとしてもよい。その場合、乱数ビットの各ビットの値を説明変数としてもよいし、複数のビットで表される値を1つの説明変数としてもよい。   For example, in the second embodiment described above, the random number bit C is 1 bit, but may be a plurality of bits. In that case, the value of each bit of the random number bits may be used as an explanatory variable, or a value represented by a plurality of bits may be used as one explanatory variable.

上述した第1,第2実施形態において、偏回帰係数に基づいて耐タンパ性が低いと判定した状態変数があるときには、その状態変数を選択関数として評価用回路の電力差分解析を行い、電力差分解析が成功したか否かにより評価用回路の耐タンパ性を評価するものとしてもよい。こうすれば、耐タンパ性が低いと判定された状態変数について、電力差分解析を行って耐タンパ性を評価するため、より確実に耐タンパ性の評価を行うことができる。この場合、例えば、ステップS255で耐タンパ性が低いと判定された状態変数があるときには、これを選択関数として、ステップS150の後に電力差分解析を行うものとすればよい。   In the first and second embodiments described above, when there is a state variable determined to have low tamper resistance based on the partial regression coefficient, power difference analysis of the evaluation circuit is performed using the state variable as a selection function. The tamper resistance of the evaluation circuit may be evaluated depending on whether the analysis is successful. By doing this, tamper resistance can be more reliably evaluated because power difference analysis is performed on the state variable determined to have low tamper resistance and the tamper resistance is evaluated. In this case, for example, when there is a state variable determined to have low tamper resistance in step S255, this may be used as a selection function to perform power difference analysis after step S150.

上述した第1,第2実施形態では、入力ビットAの値を説明変数として重回帰分析を行うものとしたが、入力ビットAの遷移の有無を説明変数としてもよい。例えば、入力ビットAの8ビットの値のうち入力前の状態から値の遷移があったビットに対応する説明変数を値1とし、遷移がなかったビットに対応する説明変数を値0としてもよい。この場合、例えば入力ビットAとしてビット列「10001001」を入力したときに、入力前の入力ビットAの値が「00000000」であったときには、入力ビットAのうち1,5,8ビット目の値が遷移しているため、1,5,8ビット目の遷移の有無を表す説明変数がそれぞれ値1となり、それ以外のビットの遷移の有無を表す説明変数がそれぞれ値0となる。また、出力ビットBの値を説明変数としてもよいし、出力ビットBの遷移の有無を説明変数としてもよい。   In the first and second embodiments described above, the multiple regression analysis is performed using the value of the input bit A as an explanatory variable. However, the presence or absence of transition of the input bit A may be used as an explanatory variable. For example, among the 8-bit values of the input bit A, the explanatory variable corresponding to the bit whose value has changed from the state before the input may be the value 1, and the explanatory variable corresponding to the bit having no transition may be the value 0. . In this case, for example, when the bit string “10001001” is input as the input bit A and the value of the input bit A before input is “00000000”, the values of the first, fifth, and eighth bits of the input bit A are Since there are transitions, the explanatory variables indicating the presence / absence of transitions of the first, fifth, and eighth bits each have a value of 1, and the explanatory variables indicating the presence / absence of other bit transitions each have a value of 0. Further, the value of the output bit B may be an explanatory variable, and the presence or absence of the transition of the output bit B may be an explanatory variable.

上述した第1,第2実施形態では、入力ビットAの8ビットすべてをそれぞれ説明変数として重回帰分析を行ったが、一部のビットを説明変数としてもよい。また、複数ビットの値を1つの説明変数として重回帰分析を行ってもよい。例えば、入力ビットAの上位4ビットは値0〜15のいずれかの値となるため、これを1つの説明変数としてもよい。また、1つのビットのみを説明変数として、重回帰分析ではなく単回帰分析を行い、偏回帰係数の代わりに回帰係数を用いて耐タンパ性を評価してもよい。   In the first and second embodiments described above, the multiple regression analysis is performed using all 8 bits of the input bits A as explanatory variables. However, some bits may be used as explanatory variables. Further, multiple regression analysis may be performed using a multi-bit value as one explanatory variable. For example, since the upper 4 bits of the input bit A are any value from 0 to 15, this may be used as one explanatory variable. Alternatively, only one bit may be used as an explanatory variable to perform single regression analysis instead of multiple regression analysis, and tamper resistance may be evaluated using a regression coefficient instead of a partial regression coefficient.

上述した第1,第2実施形態では、評価用回路データ生成部,評価用回路データ変換部及び入力データ生成部が生成したデータに基づいて回路シミュレーターがシミュレーションを行い、その結果から消費電力データ取得部が消費電力データを複数取得するものとしたが、耐タンパ性評価プログラムは評価用回路データ生成部,評価用回路データ変換部,入力データ生成部,回路シミュレーターを備えないものとしてもよい。この場合、消費電力データを予め作成して記憶部に記憶しておくものとし、消費電力データ取得部が記憶部から消費電力データを取得するものとしてもよい。あるいは、消費電力データ取得部が実際に製造された暗号処理回路の消費電力を測定して消費電力データを取得するものとしてもよい。   In the first and second embodiments described above, the circuit simulator performs simulation based on the data generated by the evaluation circuit data generation unit, the evaluation circuit data conversion unit, and the input data generation unit, and obtains power consumption data from the result. Although the unit acquires a plurality of power consumption data, the tamper resistance evaluation program may not include the evaluation circuit data generation unit, the evaluation circuit data conversion unit, the input data generation unit, and the circuit simulator. In this case, power consumption data may be created in advance and stored in the storage unit, and the power consumption data acquisition unit may acquire the power consumption data from the storage unit. Alternatively, the power consumption data acquisition unit may acquire power consumption data by measuring the power consumption of the cryptographic processing circuit actually manufactured.

上述した第1,第2実施形態では、1つのパターン番号の消費電力データについて消費電力Wはタイムスロット番号0〜7までの8つのタイムスロット毎に対応して存在するものとしたが、タイムスロットを複数設けずに1つのパターン番号について1つの消費電力Wのみが対応して存在するものとしてもよい。   In the first and second embodiments described above, the power consumption W exists for each of the eight time slots from time slot numbers 0 to 7 for the power consumption data of one pattern number. It is also possible that only one power consumption W exists corresponding to one pattern number without providing a plurality of patterns.

上述した第1,第2実施形態では、消費電力データの標準化を行ってから重回帰分析を行うものとしたが、消費電力データの標準化を行わずに重回帰分析を行ってもよい。   In the first and second embodiments described above, the multiple regression analysis is performed after the power consumption data is standardized, but the multiple regression analysis may be performed without standardizing the power consumption data.

上述した第1,第2実施形態では、決定係数R2は自由度調整済決定係数であるものとしたが、自由度調整済みでない決定係数を決定係数R2としてもよい。ただし、自由度調整済みでない決定係数は説明変数の数が多いほど値1に近づき近似の精度が見かけ上高くなる傾向を持つため、自由度調整済決定係数を用いることが好ましい。なお、自由度調整済決定係数と自由度調整済みでない決定係数との両方を分析値として導出して、耐タンパ性の評価に用いるものとしてもよい。 In the first and second embodiments described above, the determination coefficient R 2 is a degree-of-freedom-adjusted determination coefficient, but a determination coefficient that has not been adjusted for the degree of freedom may be used as the determination coefficient R 2 . However, since the determination coefficient that has not been adjusted for the degree of freedom tends to approach the value 1 as the number of explanatory variables increases and the accuracy of approximation apparently increases, it is preferable to use the determination coefficient for which the degree of freedom has been adjusted. In addition, it is good also as what derives | leads-out as an analytical value both the determination coefficient with freedom degree adjusted, and the determination coefficient which has not adjusted freedom degree, and uses it for evaluation of tamper resistance.

以下には、耐タンパ性評価プログラム及び情報処理装置を実際に作成した例を実施例として説明する。   Hereinafter, an example in which a tamper resistance evaluation program and an information processing apparatus are actually created will be described as an example.

[実施例]
実施例として、第1,第2実施形態の機能を共に有する耐タンパ性評価プログラムを作成した。そして、CPUがXeon W3565(3.2GHz)でありRAMの容量が8GBである制御部を有するコンピューターのハードディスクにこれを記憶して、実施例の情報処理装置とした。なお、耐タンパ性の評価を行うにあたり、重回帰分析の説明変数として入力ビットAの値を用いるか遷移の有無を用いるかの選択や、タイムスロットの数及び所定期間T1〜T3の値は、ユーザーが設定できるものとした。また、図10のステップS252の後,ステップS254の後,図15のステップS252aの後,及びステップS254aの後にもそれぞれステップS255,S256の処理を行なうものとして、決定係数R2の値に関わらず偏回帰係数を用いた耐タンパ性の評価を常に行なうものとした。また、実施例の情報処理装置は、評価結果として、耐タンパ性評価ルーチンで求めた決定係数R2及び偏回帰係数の値をタイムスロットと対応付けてグラフとして表示するものとした。
[Example]
As an example, a tamper resistance evaluation program having both functions of the first and second embodiments was created. And this was memorize | stored in the hard disk of the computer which has a control part whose CPU is Xeon W3565 (3.2 GHz) and RAM capacity is 8 GB, and it was set as the information processing apparatus of the Example. In evaluating tamper resistance, the selection of whether to use the value of the input bit A or the presence or absence of transition as the explanatory variable of the multiple regression analysis, the number of time slots, and the values of the predetermined periods T1 to T3 are as follows: It can be set by the user. Further, after step S252 of FIG. 10, after step S254, after step S252a in FIG. 15, and as each well after step S254a performs the process of step S255, S256, regardless of the value of the coefficient of determination R 2 Tamper resistance was always evaluated using partial regression coefficients. In addition, the information processing apparatus according to the example displays the determination coefficient R 2 and the partial regression coefficient values obtained by the tamper resistance evaluation routine as a graph in association with the time slot as an evaluation result.

[比較例]
比較例として、評価回路に対して入力ビットのうち1ビットを選択関数とする電力差分解析攻撃を行い、これを入力ビットの8ビットについて繰り返し行って、それぞれのビットに対応する攻撃が成功するか否かにより耐タンパ性の評価を行う耐タンパ性評価プログラムを作成した。そして、実施例と同様のコンピューターのハードディスクにこれを記憶して、比較例の情報処理装置とした。比較例の情報処理装置における耐タンパ性の評価は以下のように行うものとした。まず、入力ビットの値をランダムに変化させて、入力ビットの値が変化してから所定期間後の消費電力とその入力ビットの値に対応する出力ビットの値とを対応付けた消費電力データを多数取得する。次に、各消費電力データについて、評価回路の秘密鍵(8ビット)を特定値に仮定して出力ビットから入力ビットを予測する。次に、予測した入力ビットのうちの1ビットを選択関数として、この選択関数が値0か値1かによって、消費電力データを2つのグループに分け、グループ毎の消費電力の平均波形を求めて2つのグループの平均波形の差分を求める。続いて、この差分を秘密鍵の取り得る全ての値(256通り)について求め、秘密鍵の仮定値を平均波形の差分の大きい順に並べて仮定値を順位付けする。続いて、秘密鍵Kの正解値の順位を調べ、1位になっているか否かで攻撃が成功したか否かを判定する。そして、このような判定を選択関数を変えて入力ビットの各ビットについて行い、それぞれのビットについて攻撃が成功したか否かを判定する。
[Comparative example]
As a comparative example, whether an attack corresponding to each bit succeeds by performing a power difference analysis attack on the evaluation circuit using one of the input bits as a selection function, and repeating this for 8 bits of the input bit. A tamper resistance evaluation program for evaluating tamper resistance depending on whether or not was created. And this was memorize | stored in the hard disk of the computer similar to an Example, and it was set as the information processing apparatus of the comparative example. Evaluation of tamper resistance in the information processing apparatus of the comparative example was performed as follows. First, by changing the value of the input bit at random, the power consumption data that associates the power consumption after a predetermined period after the value of the input bit changes and the value of the output bit corresponding to the value of the input bit Get a lot. Next, for each power consumption data, the input bit is predicted from the output bit assuming that the secret key (8 bits) of the evaluation circuit is a specific value. Next, using one bit of the predicted input bits as a selection function, the power consumption data is divided into two groups depending on whether the selection function has a value of 0 or 1, and an average waveform of power consumption for each group is obtained. The difference between the average waveforms of the two groups is obtained. Subsequently, this difference is obtained for all possible values (256) of the secret key, and the assumed values of the secret key are arranged in descending order of the average waveform difference, and the assumed values are ranked. Subsequently, the rank of the correct value of the secret key K is checked, and it is determined whether or not the attack is successful depending on whether or not it is first. Then, such a determination is performed for each bit of the input bit by changing the selection function, and it is determined whether or not the attack is successful for each bit.

[耐タンパ性評価実験1]
耐タンパ性の評価の対象として、図3に示した評価回路40の評価回路データを用意した。なお、評価回路40のSubBytes変換回路44は、逆元演算回路とアフィン変換回路とを直列に接続した構成を有する合成体方式の回路とした。この評価回路データについて、実施例及び比較例の情報処理装置を用いて耐タンパ性の評価を行った。なお、実施例の情報処理装置では、入力ビットAの遷移の有無を説明変数として評価を行った。また、所定期間T1は50nsec、所定期間T2は0nsec、所定期間T3は0.2nsecとし、タイムスロットはタイムスロット番号0〜9までの10個とし、取得する消費電力データのパターン数は2000とした。比較例の情報処理装置では、入力ビットAの値が変化してから「所定期間T2+0.6nsec」経過時点から「所定期間T2+0.8nsec」経過時点までの消費電力とその入力ビットAの値に対応する出力ビットBの値とを対応付けた消費電力データを多数取得して上述したように評価を行った。すなわち、実施例の情報処理装置のタイムスロット番号3と同じ消費電力データを用いて評価を行った。また、比較例の情報処理装置では、評価に用いる消費電力データの総数を変えて、複数回の評価を行った。
[Tamper resistance evaluation experiment 1]
Evaluation circuit data of the evaluation circuit 40 shown in FIG. 3 was prepared as a target for evaluation of tamper resistance. The SubBytes conversion circuit 44 of the evaluation circuit 40 is a composite circuit having a configuration in which an inverse operation circuit and an affine conversion circuit are connected in series. With respect to the evaluation circuit data, tamper resistance was evaluated using the information processing apparatuses of Examples and Comparative Examples. In the information processing apparatus of the example, the presence / absence of transition of the input bit A was evaluated as an explanatory variable. In addition, the predetermined period T1 is 50 nsec, the predetermined period T2 is 0 nsec, the predetermined period T3 is 0.2 nsec, the time slots are 10 from time slot numbers 0 to 9, and the number of patterns of power consumption data to be acquired is 2000. . In the information processing apparatus of the comparative example, the power consumption from the time when the “predetermined period T2 + 0.6 nsec” elapses until the time when the “predetermined period T2 + 0.8 nsec” elapses after the value of the input bit A changes A large number of power consumption data associated with the value of the output bit B to be obtained was acquired and evaluated as described above. That is, the evaluation was performed using the same power consumption data as the time slot number 3 of the information processing apparatus of the example. Moreover, in the information processing apparatus of the comparative example, the total number of power consumption data used for the evaluation was changed and the evaluation was performed a plurality of times.

(実験結果)
耐タンパ性評価実験1の実験結果を図17〜19に示す。図17は、実施例の情報処理装置による評価結果のうち、各タイムスロットに対する決定係数R2の値を示したグラフである。図18は、実施例の情報処理装置による評価結果のうち、各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフである。図19は、比較例の情報処理装置による評価結果のうち、評価に用いた消費電力データの総数と入力値Aの各ビットを選択関数としたときの正解鍵の順位との関係を示したグラフである。
(Experimental result)
The experimental results of the tamper resistance evaluation experiment 1 are shown in FIGS. FIG. 17 is a graph showing the value of the determination coefficient R 2 for each time slot among the evaluation results by the information processing apparatus of the example. FIG. 18 is a graph showing the values of partial regression coefficients a1 to a8 for each time slot among the evaluation results by the information processing apparatus of the example. FIG. 19 is a graph showing the relationship between the total number of power consumption data used for evaluation and the order of correct keys when each bit of the input value A is a selection function among the evaluation results by the information processing apparatus of the comparative example. It is.

図17から、導出した決定係数R2のうち、特にタイムスロット番号0〜3に対応する決定係数R2が他と比べて大きい値となっていることがわかった。このため、タイムスロット番号0〜3の消費電力が他のタイムスロットと比べて耐タンパ性が低い旨の評価結果が得られていることになる。また、図18から、タイムスロット番号3に対応する偏回帰係数a1〜a8の値は、大きい方から並べると偏回帰係数a2,a7,a5,a6,a1,a8,a3,a4の順となっている。この値の高い偏回帰係数に対応する入力値Aのビットほど耐タンパ性が低い旨の評価結果が得られていることになる。図19では、正解鍵の順位が1位となっており攻撃に成功しているのは入力ビットAの2,5,6,7ビット目であるため、このビットについての耐タンパ性が低い旨の評価結果が得られている。また、正解鍵の順位が1位となったときの評価に用いた消費電力データの総数が小さいほど、耐タンパ性が低く、正解鍵の順位が低いほど耐タンパ性が高いといえるため、図19では耐タンパ性の低い方から入力ビットAの各ビットを並べると2,7,5,6,1,8,3,4ビット目の順となる。この並び順は、図18の偏回帰係数a1〜a8の順と一致しており、実施例の情報処理装置のタイムスロット番号3についての評価結果と、比較例の情報処理装置の評価結果とが一致していることがわかった。なお、比較例の情報処理装置では実施例の情報処理装置のタイムスロット番号3と同じ消費電力データを用いて評価を行っている。そのため、両者の評価結果が一致しているということは、実施例の情報処理装置により実際の電力差分解析に対する耐性を正しく評価できたことを意味する。また、実施例の情報処理装置はパターン数が2000個の消費電力データを用いて重回帰分析を行って評価結果を得るまでに要した時間は17secであったのに対し、比較例の情報処理装置では同じ2000個の消費電力データを用いて電力差分解析を行って評価結果を得るまでに要した時間は416secであった。このことから、実施例の情報処理装置は、電力差分解析による攻撃を行って、攻撃が成功したか否かにより耐タンパ性を評価する手法と比べて効率的に耐タンパ性を評価できることがわかった。 From Figure 17, of the derived coefficient of determination R 2, the coefficient of determination R 2 is found to be a larger value than the other, in particular corresponding to time slot number 0 to 3. For this reason, the evaluation result that the power consumption of the time slot numbers 0 to 3 is lower than the other time slots is obtained. Further, from FIG. 18, the values of the partial regression coefficients a1 to a8 corresponding to the time slot number 3 are in the order of the partial regression coefficients a2, a7, a5, a6, a1, a8, a3, a4 when arranged in descending order. ing. The evaluation result that the tamper resistance is lower is obtained for the bit of the input value A corresponding to the higher partial regression coefficient of this value. In FIG. 19, since the correct key rank is 1 and the attack is successful in the 2nd, 5th, 6th and 7th bits of the input bit A, the tamper resistance of this bit is low. Evaluation results are obtained. In addition, the smaller the total number of power consumption data used for evaluation when the correct key rank is 1st, the lower the tamper resistance, and the lower the correct key rank, the higher the tamper resistance. In 19, when the bits of the input bit A are arranged in the order of lower tamper resistance, the order of the second, seventh, fifth, sixth, first, eighth, third and fourth bits is obtained. This arrangement order matches the order of the partial regression coefficients a1 to a8 in FIG. 18, and the evaluation result for the time slot number 3 of the information processing apparatus of the embodiment and the evaluation result of the information processing apparatus of the comparative example are It turns out that they match. In the information processing apparatus of the comparative example, evaluation is performed using the same power consumption data as the time slot number 3 of the information processing apparatus of the embodiment. For this reason, the fact that the evaluation results of both coincide with each other means that the information processing apparatus according to the embodiment can correctly evaluate the tolerance to the actual power difference analysis. In addition, the information processing apparatus according to the example took 17 seconds to perform the multiple regression analysis using the power consumption data having 2000 patterns and obtain the evaluation result, whereas the information processing apparatus according to the comparative example. In the apparatus, the time required for performing the power difference analysis using the same 2000 pieces of power consumption data and obtaining the evaluation result was 416 sec. From this, it can be seen that the information processing apparatus according to the embodiment can evaluate tamper resistance more efficiently than the technique of performing tamper resistance based on whether or not the attack is successful by performing an attack based on power difference analysis. It was.

[耐タンパ性評価実験2]
評価回路40のSubBytes変換回路44を合成体方式以外の回路で構成した場合についても、耐タンパ性評価実験1と同様にして実施例と比較例の情報処理装置による耐タンパ性の評価を行った。具体的には、真理値表方式,PPRM(Positive Polarity Reed Muller:正極性リードマラー論理式)1方式,PPRM3方式によりSubBytes変換回路44を構成した評価回路について、耐タンパ性の評価を行った。真理値表方式のSubBytes変換回路44は、SubBytes変換回路44の入出力が図4の真理値表の対応関係となるようゲートを接続した回路であり、対応関係を論理合成ツールによりゲートの接続記述に変換して得られた回路データとして作成した。PPRM1方式のSubBytes変換回路44は、ANDゲート群とXORゲート群との組み合わせにより構成した回路である。PPRM3方式のSubBytes変換回路44は、合成体方式の回路を3段のPPRM方式の回路に変換して構成した回路である。図20は、実施例の情報処理装置による評価結果のうち、真理値表方式,PPRM1方式,PPRM3方式の各タイムスロットに対する決定係数R2の値を示したグラフである。図21は、実施例の情報処理装置による評価結果のうち、真理値表方式,PPRM1方式,PPRM3方式の各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフである。図21(a)が真理値表方式についてのグラフであり、図21(b)がPPRM1方式についてのグラフであり、図21(c)がPPRM3方式についてのグラフである。図22は、比較例の情報処理装置による評価結果のうち、タイムスロット番号5についての真理値表方式,PPRM1方式,PPRM3方式の消費電力データの総数と正解鍵の順位との関係を示したグラフである。図22(a)が真理値表方式についてのグラフであり、図22(b)がPPRM1方式についてのグラフであり、図22(c)がPPRM3方式についてのグラフである。
[Tamper resistance evaluation experiment 2]
In the case where the SubBytes conversion circuit 44 of the evaluation circuit 40 is configured by a circuit other than the composite system, the tamper resistance was evaluated by the information processing apparatuses of the example and the comparative example in the same manner as the tamper resistance evaluation experiment 1. . Specifically, tamper resistance was evaluated for an evaluation circuit in which the SubBytes conversion circuit 44 is configured by a truth table method, a PPRM (Positive Polarity Reed Muller) 1 method, and a PPRM3 method. The truth table-based SubBytes conversion circuit 44 is a circuit in which gates are connected so that the input / output of the SubBytes conversion circuit 44 is in the correspondence relationship of the truth table of FIG. 4, and the correspondence relationship is described using a logic synthesis tool. It was created as circuit data obtained by converting to. The PPRM1-based SubBytes conversion circuit 44 is a circuit configured by a combination of an AND gate group and an XOR gate group. The PPRM3 type SubBytes conversion circuit 44 is a circuit formed by converting a composite type circuit into a three-stage PPRM type circuit. FIG. 20 is a graph showing the value of the determination coefficient R 2 for each time slot of the truth table method, the PPRM1 method, and the PPRM3 method among the evaluation results by the information processing apparatus of the embodiment. FIG. 21 is a graph showing the values of partial regression coefficients a1 to a8 for each time slot of the truth table method, the PPRM1 method, and the PPRM3 method among the evaluation results by the information processing apparatus of the example. FIG. 21A is a graph for the truth table method, FIG. 21B is a graph for the PPRM1 method, and FIG. 21C is a graph for the PPRM3 method. FIG. 22 is a graph showing the relationship between the total number of power consumption data of the truth table method, the PPRM1 method, and the PPRM3 method for the time slot number 5 and the rank of the correct key among the evaluation results by the information processing apparatus of the comparative example. It is. 22A is a graph for the truth table method, FIG. 22B is a graph for the PPRM1 method, and FIG. 22C is a graph for the PPRM3 method.

図20では、タイムスロット番号5における決定係数R2は値の大きいものから真理値表方式,PPRM1方式,PPRM3方式の順となっている。そして、図22では、正解鍵の順位が1位になるまでに必要な消費電力データの総数の小さいものから真理値表方式,PPRM1方式,PPRM3方式の順となっており、実施例と比較例とで評価結果が一致していた。また、図21のタイムスロット番号5における偏回帰係数を値の大きい順に並べると、真理値表方式,PPRM1方式,PPRM3方式の各方式について図22で正解鍵の順位が1位になるまでに必要な消費電力データの総数が小さい順に入力ビットAの各ビットを並べたときと同じ並び順となり、実施例と比較例とで評価結果が一致していた。これらのことから、合成体方式の場合と同様に他の方式についても実施例の情報処理装置により実際の電力差分解析に対する耐性を正しく評価できたことが確認された。 In FIG. 20, the determination coefficient R 2 in time slot number 5 is in descending order of the truth table method, the PPRM1 method, and the PPRM3 method. In FIG. 22, the truth table method, the PPRM1 method, and the PPRM3 method are in order from the smallest power consumption data required until the correct key ranks first. The evaluation results were consistent with each other. Further, if the partial regression coefficients in time slot number 5 in FIG. 21 are arranged in descending order, the truth key method, PPRM1 method, and PPRM3 method are necessary until the correct key rank is ranked first in FIG. Thus, the order of arrangement was the same as when the bits of the input bits A were arranged in ascending order of the total power consumption data, and the evaluation results were the same between the example and the comparative example. From these facts, it was confirmed that the tolerance to the actual power difference analysis could be correctly evaluated by the information processing apparatus of the example for the other systems as well as the composite system.

[耐タンパ性評価実験3]
耐タンパ性の評価の対象として、図13に示した評価回路140の評価回路データを用意した。この評価回路データについて、実施例及び比較例の情報処理装置を用いて耐タンパ性の評価を行った。なお、実施例の情報処理装置では、入力ビットAの値及び乱数ビットCの値を説明変数として評価を行った。また、所定期間T1〜T3及びタイムスロットは、耐タンパ性評価実験1と同様とした。比較例の情報処理装置では、まず、乱数ビットが値0である消費電力データと値1である消費電力データとを区別せずに、耐タンパ性評価実験1と同様に入力ビットAの値を1ビットずつ選択関数として耐タンパ性の評価を行った。また、消費電力データにおける消費電力の平均値を求め、消費電力が平均値以上か未満かによって消費電力データを2グループに分けた。そして、そのうちの一方のグループの消費電力データのみを用いて、耐タンパ性評価実験1と同様に入力ビットAの値を1ビットずつ選択関数として比較例の情報処理装置による耐タンパ性の評価を行った。なお、比較例の情報処理装置による評価は、実施例の情報処理装置のタイムスロット番号5と同じ消費電力データについて行った。
[Tamper resistance evaluation experiment 3]
Evaluation circuit data of the evaluation circuit 140 shown in FIG. 13 was prepared as a target for evaluation of tamper resistance. With respect to the evaluation circuit data, tamper resistance was evaluated using the information processing apparatuses of Examples and Comparative Examples. In the information processing apparatus of the example, evaluation was performed using the value of the input bit A and the value of the random number bit C as explanatory variables. The predetermined periods T1 to T3 and the time slot were the same as in the tamper resistance evaluation experiment 1. In the information processing apparatus of the comparative example, first, the value of the input bit A is set in the same manner as in the tamper resistance evaluation experiment 1 without distinguishing between the power consumption data whose random number bit is 0 and the power consumption data whose value is 1. Tamper resistance was evaluated bit by bit as a selection function. Further, an average value of power consumption in the power consumption data was obtained, and the power consumption data was divided into two groups depending on whether the power consumption was equal to or higher than the average value. Then, using only the power consumption data of one of the groups, the tamper resistance evaluation by the information processing apparatus of the comparative example is performed by using the value of the input bit A as a selection function bit by bit as in the tamper resistance evaluation experiment 1. went. The evaluation by the information processing apparatus of the comparative example was performed on the same power consumption data as the time slot number 5 of the information processing apparatus of the example.

(実験結果)
耐タンパ性評価実験3の実験結果について説明する。図23は、実施例の情報処理装置による評価結果のうち、入力ビットAの値及び乱数ビットCの値を説明変数としたときの各タイムスロットに対する決定係数R2の値を示したグラフである。図24は、実施例の情報処理装置による評価結果のうち、入力ビットAの値及び乱数ビットCの値を説明変数としたときの各タイムスロットに対する偏回帰係数a1〜a8,bの値を示したグラフである。図25は、比較例の情報処理装置による評価結果のうち、消費電力データのグループ分けをしない場合における、評価に用いた消費電力データの総数と入力値Aの各ビットを選択関数としたときの正解鍵の順位との関係を示したグラフである。
(Experimental result)
The experimental results of the tamper resistance evaluation experiment 3 will be described. FIG. 23 is a graph showing the value of the determination coefficient R 2 for each time slot when the value of the input bit A and the value of the random bit C are used as explanatory variables in the evaluation results by the information processing apparatus of the embodiment. . FIG. 24 shows the values of partial regression coefficients a1 to a8, b for each time slot when the value of the input bit A and the value of the random number bit C are used as explanatory variables in the evaluation results by the information processing apparatus of the embodiment. It is a graph. FIG. 25 illustrates a case where the total number of power consumption data used for evaluation and each bit of the input value A are selected functions when the power consumption data is not grouped among the evaluation results obtained by the information processing apparatus of the comparative example. It is the graph which showed the relationship with the order | rank of a correct key.

図23から、導出した決定係数R2のうち、特にタイムスロット番号2以降に対応する決定係数R2が値1に近くなっていることがわかった。このため、タイムスロット番号2以降の消費電力Wが他のタイムスロットと比べて耐タンパ性が低い旨の評価結果が得られていることになる。また、図24から、偏回帰係数a1〜a8はいずれも値0.1以下であり小さい値であったが、偏回帰係数bは大きい値であり、特にタイムスロット番号2以降は値1に近い値であった。このことから、図23において決定係数R2が高い値であったのは、偏回帰係数bに対応する乱数ビットCと消費電力Wとの相関が高いことが原因であると推察された。また、評価回路140は、入力ビットAと消費電力Wとの相関は評価回路40と比べると低く、消費電力データのグループ分けをしない状態においては耐タンパ性が高い旨の評価結果が得られていることになる。一方、図25に示すように、比較例の情報処理装置では消費電力データの総数が3500以上の場合に入力ビットAの6ビット目で正解鍵の順位が1位となっているものの、その他のビットでは1位とならず正解鍵の推定ができなかった。図24からわかるように実施例の情報処理装置でも偏回帰係数a6は他の偏回帰係数と比べて大きい値となっていた。これらのことから、実施例と比較例とで評価結果が一致しており、実施例の情報処理装置は実際の電力差分解析に対する耐性を正しく評価できたことが確認された。 From Figure 23, of the derived coefficient of determination R 2, the coefficient of determination R 2 is found to be closer to the value 1 in particular corresponding to the time slot number 2 and later. Therefore, an evaluation result is obtained that the power consumption W after time slot number 2 is lower in tamper resistance compared to other time slots. Further, from FIG. 24, the partial regression coefficients a1 to a8 are all values of 0.1 or less and small values, but the partial regression coefficient b is a large value, and is particularly close to the value 1 after time slot number 2. Value. From this, it was inferred that the reason why the determination coefficient R 2 was high in FIG. 23 was that the correlation between the random number bit C corresponding to the partial regression coefficient b and the power consumption W was high. Further, the evaluation circuit 140 has a lower correlation between the input bit A and the power consumption W than the evaluation circuit 40, and an evaluation result indicating that the tamper resistance is high when the power consumption data is not grouped is obtained. Will be. On the other hand, as shown in FIG. 25, in the information processing apparatus of the comparative example, when the total number of power consumption data is 3500 or more, the correct key ranks first in the sixth bit of the input bit A. The bit was not ranked first and the correct key could not be estimated. As can be seen from FIG. 24, even in the information processing apparatus of the example, the partial regression coefficient a6 was larger than other partial regression coefficients. From these results, it was confirmed that the evaluation results were the same between the example and the comparative example, and that the information processing apparatus of the example was able to correctly evaluate the tolerance to the actual power difference analysis.

また、実施例の情報処理装置では、乱数ビットCと消費電力Wとの相関が高かったため、耐タンパ性評価実験3において消費電力データをグループ分けして各グループについての重回帰分析が実行された。図26は、タイムスロット番号2における入力ビットAのハミング重み(値1であるビットの数)と消費電力Wとの関係を示したグラフである。図示するように、評価回路140では、乱数ビットCが値1であるか値0であるかによって消費電力Wの分布が分離しており、消費電力データから乱数ビットCの値を攻撃者が予測可能になることが推察された。そのため、評価回路140では乱数ビットCの値により消費電力データのグループ分けを行い、乱数ビットの影響を除いた耐タンパ性評価を行う必要性があることがわかる。グループ分けを行ったあとの実施例及び比較例における評価結果を図27,28に示す。図27は、実施例の情報処理装置による評価結果のうち、乱数ビットCが値0である消費電力データのグループについて、入力ビットAの値を説明変数としたときの各タイムスロットに対する偏回帰係数a1〜a8の値を示したグラフである。図28は、比較例の情報処理装置による評価結果のうち、乱数ビットCが値0であるグループの消費電力データを用いた場合における、評価に用いた消費電力データの総数と入力値Aの各ビットを選択関数としたときの正解鍵の順位との関係を示したグラフである。図27と図24とを比較すると、グループ分けにより乱数ビットCの影響を除いたことにより、偏回帰係数a1〜a8の値が全体的に大きくなっており、入力ビットAと消費電力Wとの相関が高くなっていた。また、図27のタイムスロット番号5に対応する偏回帰係数a1〜a8の値は、偏回帰係数a2,3,4,6,8が比較的大きい値であり、偏回帰係数a1,5,7が比較的小さい値であった。そのため、入力ビットAのうち特に2,3,4,6,8ビット目の耐タンパ性が低い旨の評価結果が得られていることになる。一方、図28における評価結果では、入力ビットAの2,3,4,6,8ビット目で正解鍵の順位が1位となり正解鍵の推定が成功しており、実施例と同様の結果となった。このことから、実施例の情報処理装置では、乱数ビットCと消費電力Wとの相関が高いときには、消費電力データをグループ分けしてから重回帰分析を行って、乱数ビットの影響を除いた耐タンパ性の評価を行うことができ、電力差分解析に対する耐性を正しく評価できたことが確認された。   Further, in the information processing apparatus of the example, since the correlation between the random number bit C and the power consumption W was high, power consumption data was grouped in the tamper resistance evaluation experiment 3 and multiple regression analysis was performed for each group. . FIG. 26 is a graph showing the relationship between the Hamming weight of the input bit A (the number of bits having the value 1) and the power consumption W in time slot number 2. As shown in the figure, in the evaluation circuit 140, the distribution of the power consumption W is separated depending on whether the random number bit C is 1 or 0, and the attacker predicts the value of the random number bit C from the power consumption data. It was speculated that it would be possible. Therefore, it can be seen that the evaluation circuit 140 needs to perform grouping of the power consumption data based on the value of the random number bit C and perform tamper resistance evaluation excluding the influence of the random number bit. Evaluation results in Examples and Comparative Examples after grouping are shown in FIGS. FIG. 27 is a partial regression coefficient for each time slot when the value of the input bit A is used as an explanatory variable for a group of power consumption data in which the random bit C is 0 in the evaluation result by the information processing apparatus of the embodiment. It is the graph which showed the value of a1-a8. FIG. 28 shows each of the total power consumption data and the input value A used for the evaluation in the case where the power consumption data of the group in which the random number bit C is 0 among the evaluation results by the information processing apparatus of the comparative example. It is the graph which showed the relationship with the order | rank of a correct key when a bit is made into a selection function. 27 and 24, when the influence of the random number bit C is removed by grouping, the values of the partial regression coefficients a1 to a8 are increased as a whole, and the input bit A and the power consumption W are The correlation was high. In addition, the values of the partial regression coefficients a1 to a8 corresponding to the time slot number 5 in FIG. 27 are comparatively large values of the partial regression coefficients a2, 3, 4, 6, and 8, and the partial regression coefficients a1, 5, 7 Was a relatively small value. Therefore, an evaluation result indicating that the tamper resistance of the second, third, fourth, sixth and eighth bits of the input bit A is particularly low is obtained. On the other hand, in the evaluation result in FIG. 28, the correct key rank is 1st in the second, third, fourth, sixth and eighth bits of the input bit A, and the correct key estimation is successful. became. Therefore, in the information processing apparatus according to the embodiment, when the correlation between the random number bits C and the power consumption W is high, the power consumption data is grouped and then subjected to multiple regression analysis to eliminate the influence of the random number bits. It was confirmed that tamperability could be evaluated and that tolerance to power difference analysis could be correctly evaluated.

[耐タンパ性評価実験4]
評価回路140のSubBytes変換回路144を、RSL回路148の代わりに乱数マスク回路の一種であるMDPL(Masked Dual-rail Pre-charge Logic)回路を用いて構成した場合についても、耐タンパ性評価実験3と同様にして実施例と比較例の情報処理装置による耐タンパ性の評価を行った。MDPL回路は、正論理データ用の回路と負論理データ用の回路とを並行して備え、相補的な動作をすることで消費電力のバランスとって回路全体での消費電力の変動を抑えた回路である。また、正論理データ用の回路及び負論理データ用の回路は、図13に示したRSL回路148と同様に、それぞれ乱数ビットC(1bit)の値により動作モードが切り替わることで入力ビットAと消費電力Wとの相関が低くなるように構成されている。図29は、実施例の情報処理装置による耐タンパ性の評価結果の一例を示すグラフである。図29(a)は各タイムスロットに対する決定係数R2の値を示したグラフであり、図29(b)は各タイムスロットに対する偏回帰係数a1〜a8,bの値を示したグラフである。図30は、比較例の情報処理装置による評価結果のうち、消費電力データのグループ分けをしない場合における、評価に用いた消費電力データの総数と入力値Aの各ビットを選択関数としたときの正解鍵の順位との関係を示したグラフである。
[Tamper resistance evaluation experiment 4]
Also in the case where the SubBytes conversion circuit 144 of the evaluation circuit 140 is configured using an MDPL (Masked Dual-rail Pre-charge Logic) circuit which is a kind of random number mask circuit instead of the RSL circuit 148, the tamper resistance evaluation experiment 3 In the same manner, tamper resistance was evaluated by the information processing apparatuses of the example and the comparative example. The MDPL circuit includes a circuit for positive logic data and a circuit for negative logic data in parallel, and performs a complementary operation to balance power consumption to suppress fluctuations in power consumption in the entire circuit. It is. Similarly to the RSL circuit 148 shown in FIG. 13, the circuit for positive logic data and the circuit for negative logic data consume the input bit A by switching the operation mode according to the value of the random number bit C (1 bit). It is comprised so that the correlation with the electric power W may become low. FIG. 29 is a graph illustrating an example of a tamper resistance evaluation result by the information processing apparatus of the example. Figure 29 (a) is a graph showing the value of the coefficient of determination R 2 for each time slot, Figure 29 (b) is a graph showing the values of partial regression coefficient a1 to a8, b for each time slot. FIG. 30 shows a case where the total number of power consumption data used for evaluation and each bit of the input value A are used as selection functions when the power consumption data is not grouped among the evaluation results by the information processing apparatus of the comparative example. It is the graph which showed the relationship with the order | rank of a correct key.

図29(a)から、タイムスロット番号5に対応する決定係数R2が他のタイムスロット番号の場合と比べて大きい値となっていることがわかった。また、図29(b)から、タイムスロット番号5に対応する偏回帰係数a1〜a8はいずれも値0.1以下であり小さい値であったが、偏回帰係数bは大きい値であった。このことから、図29(a)において決定係数R2が大きい値となっているのは、乱数ビットCと消費電力Wとの相関が他のタイムスロット番号の場合と比べて高いことが原因と推察された。また、偏回帰係数a1〜a8の値が小さいため消費電力データのグループ分けをしない状態においては耐タンパ性が高い旨の評価結果が得られていることになる。一方、図30に示すように、比較例の情報処理装置では消費電力データの総数が4000の場合であっても入力ビットAのうち正解鍵の順位が1位となったビットはなく、正解鍵の推定が成功していなかった。これらのことから、実施例と比較例とで評価結果は一致しており、実施例の情報処理装置は実際の電力差分解析に対する耐性を正しく評価できたことが確認された。また、偏回帰係数bの値はタイムスロット番号5の場合でも図24に示した偏回帰係数bと比較すると小さくなっており、RSL回路148を用いた評価回路と比べてMDPL回路を用いた評価回路の方が乱数ビットCについての耐タンパ性が高い旨の評価結果が得られている。この評価結果は、図25と図30とでは図30の方が正解鍵の順位が全体的に低いという比較例の情報処理装置による評価結果とも一致する。図31は、MDPL回路を用いた評価回路140のタイムスロット番号5における入力ビットAのハミング重みと消費電力Wとの関係を示したグラフである。この図に示すように、MDPL回路を用いた評価回路では、乱数ビットCが値1であるか値0であるかによって消費電力Wの分布が図26ほど分離しておらず、消費電力データから乱数ビットCの値を攻撃者が予測可能になることはないと考えられる。この結果は、上述した図30に示した偏回帰係数bの値が図24に示した偏回帰係数bと比較すると小さくなっていることと一致する。このように、実施例の情報処理装置では偏回帰係数bを用いて乱数ビットCについての耐タンパ性を評価することで、消費電力データから乱数ビットCの値を攻撃者が予測可能であるか否かを評価することができる。しかも、例えば図26と図30とを目で見て比較しただけではMDPL回路を用いた評価回路がRSL回路を用いた評価回路と比べてどの程度耐タンパ性が高いかを定量的に評価することはできないが、両者の偏回帰係数bを比較することで実施例の情報処理装置では定量的な評価が可能になる。 From FIG. 29 (a), the it was found that the coefficient of determination R 2 corresponding to the time slot number 5 has a larger value than in the case of other time slot number. Further, from FIG. 29 (b), the partial regression coefficients a1 to a8 corresponding to the time slot number 5 were all small values with a value of 0.1 or less, but the partial regression coefficients b were large values. From this, the determination coefficient R 2 has a large value in FIG. 29A because the correlation between the random number bit C and the power consumption W is higher than in the case of other time slot numbers. Inferred. Further, since the values of the partial regression coefficients a1 to a8 are small, an evaluation result indicating that tamper resistance is high is obtained in a state where the power consumption data is not grouped. On the other hand, as shown in FIG. 30, in the information processing apparatus of the comparative example, even when the total amount of power consumption data is 4000, there is no bit in which the correct key rank is the first among the input bits A, and the correct key The estimation of was not successful. From these, it was confirmed that the evaluation results were the same between the example and the comparative example, and the information processing apparatus of the example was able to correctly evaluate the resistance to the actual power difference analysis. The value of the partial regression coefficient b is smaller than that of the partial regression coefficient b shown in FIG. 24 even in the case of time slot number 5, and the evaluation using the MDPL circuit is compared with the evaluation circuit using the RSL circuit 148. An evaluation result indicating that the circuit has higher tamper resistance with respect to the random number bit C is obtained. This evaluation result also coincides with the evaluation result by the information processing apparatus of the comparative example that the order of correct keys is generally lower in FIG. 30 in FIG. 25 and FIG. FIG. 31 is a graph showing the relationship between the Hamming weight of the input bit A and the power consumption W at time slot number 5 of the evaluation circuit 140 using the MDPL circuit. As shown in this figure, in the evaluation circuit using the MDPL circuit, the distribution of the power consumption W is not separated as much as in FIG. 26 depending on whether the random number bit C is 1 or 0, and it is determined from the power consumption data. It is considered that the attacker cannot predict the value of the random number bit C. This result coincides with the fact that the value of the partial regression coefficient b shown in FIG. 30 is smaller than the partial regression coefficient b shown in FIG. As described above, in the information processing apparatus according to the embodiment, whether the attacker can predict the value of the random bit C from the power consumption data by evaluating the tamper resistance of the random bit C using the partial regression coefficient b. You can evaluate whether or not. In addition, for example, by simply comparing FIG. 26 and FIG. 30 with eyes, the evaluation circuit using the MDPL circuit quantitatively evaluates how much tamper resistance is higher than the evaluation circuit using the RSL circuit. However, the information processing apparatus according to the embodiment can perform quantitative evaluation by comparing the partial regression coefficients b of the two.

10,110 情報処理装置、12 制御部、14,114 記憶部、16 表示部、18 操作部、20,120 耐タンパ性評価プログラム、21 評価用回路データ生成部、22 評価用回路データ変換部、23,123 入力データ生成部、24 回路シミュレーター、25,125 消費電力データ取得部、26 分析部、27 評価部、128 分類部、31 回路データ記憶部、40,140 評価用回路、42,142 レジスター、44,144 SubBytes変換回路、46 排他的論理和回路、148 RSL回路。   10, 110 information processing apparatus, 12 control unit, 14, 114 storage unit, 16 display unit, 18 operation unit, 20, 120 tamper resistance evaluation program, 21 evaluation circuit data generation unit, 22 evaluation circuit data conversion unit, 23,123 Input data generation unit, 24 Circuit simulator, 25,125 Power consumption data acquisition unit, 26 Analysis unit, 27 Evaluation unit, 128 Classification unit, 31 Circuit data storage unit, 40,140 Evaluation circuit, 42,142 Register 44, 144 SubBytes conversion circuit, 46 exclusive OR circuit, 148 RSL circuit.

Claims (8)

暗号処理回路の耐タンパ性を評価する情報処理装置であって、
前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す複数の異なる状態変数と該暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得する消費電力データ取得手段と、
前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた複数の前記状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数を分析値として導出する分析手段と、
前記導出された分析値に基づいて、前記暗号処理回路の耐タンパ性を評価する評価手段と、
を備え
前記評価手段は、前記導出された決定係数が所定の決定係数許容領域に含まれるか否かに基づいて、耐タンパ性が高いか否かを判定し、前記導出された決定係数が前記決定係数許容領域と異なる所定の決定係数非許容領域に含まれるときには、耐タンパ性が低いと判定し、前記導出された決定係数が前記決定係数許容領域及び前記決定係数非許容領域のいずれにも含まれないときには、前記導出された偏回帰係数に基づいて前記複数の状態変数のうち耐タンパ性の低い状態変数を判定する手段である、
報処理装置。
An information processing apparatus for evaluating tamper resistance of a cryptographic processing circuit,
Power consumption data acquisition means for acquiring a plurality of power consumption data in which a plurality of different state variables representing states of at least one of input bits and output bits in the cryptographic processing circuit and power consumption in the cryptographic processing circuit are associated with each other; ,
Based on the plurality of power consumption data to which the acquired performing a multiple regression analysis more said state variables associated with the digestion cost power aimed variable the power consumption as an explanatory variable, the coefficient of determination and polarized by the analytical and analysis means for deriving a regression coefficient as analysis value,
Evaluation means for evaluating tamper resistance of the cryptographic processing circuit based on the derived analysis value;
Equipped with a,
The evaluation means determines whether or not the tamper resistance is high based on whether or not the derived determination coefficient is included in a predetermined determination coefficient allowable region, and the derived determination coefficient is the determination coefficient When it is included in a predetermined determination coefficient non-permissible area different from the allowable area, it is determined that tamper resistance is low, and the derived determination coefficient is included in both the determination coefficient allowable area and the determination coefficient non-permissible area. When not, it is means for determining a state variable having low tamper resistance among the plurality of state variables based on the derived partial regression coefficient.
Information processing apparatus.
前記評価手段は、前記導出された決定係数が前記決定係数許容領域及び前記決定係数非許容領域のいずれにも含まれないときには、前記導出された偏回帰係数が所定の偏回帰係数許容領域に含まれるか否かを判定して、該偏回帰係数許容領域に含まれない偏回帰係数に対応する前記状態変数の耐タンパ性が低いと判定する手段である、
請求項に記載の情報処理装置。
The evaluation means includes the derived partial regression coefficient in a predetermined partial regression coefficient allowable region when the derived determination coefficient is not included in either the determination coefficient allowable region or the determination coefficient non-permissible region. Is a means for determining whether or not the tamper resistance of the state variable corresponding to the partial regression coefficient not included in the partial regression coefficient allowable region is low.
The information processing apparatus according to claim 1 .
前記評価手段は、前記偏回帰係数に基づいて耐タンパ性が低いと判定した状態変数があるときには、該状態変数を選択関数として前記暗号処理回路の電力差分解析を行い、該電力差分解析が成功したか否かにより該暗号処理回路の耐タンパ性を評価する手段である、
請求項又はに記載の情報処理装置。
When there is a state variable determined to have low tamper resistance based on the partial regression coefficient, the evaluation unit performs a power difference analysis of the cryptographic processing circuit using the state variable as a selection function, and the power difference analysis is successful. A means for evaluating tamper resistance of the cryptographic processing circuit depending on whether or not
The information processing apparatus according to claim 1 or 2 .
前記評価手段は、前記取得された複数の消費電力データの標準偏差に基づいて、耐タンパ性が高いか否かを判定し、耐タンパ性が低いときには、前記導出された分析値に基づいて前記暗号処理回路の耐タンパ性を評価する手段である、
請求項1〜のいずれか1項に記載の情報処理装置。
The evaluation means determines whether or not the tamper resistance is high based on a standard deviation of the acquired plurality of power consumption data. When the tamper resistance is low, the evaluation means determines whether the tamper resistance is low or not based on the derived analysis value. A means for evaluating tamper resistance of the cryptographic processing circuit.
The information processing apparatus according to any one of claims 1 to 3 .
前記状態変数は、前記入力ビット又は前記出力ビットのうちいずれかの1ビットの値又は値の遷移の有無を表す変数である、
請求項1〜のいずれか1項に記載の情報処理装置。
The state variable is a variable that represents the value of one of the input bits or the output bits or the presence or absence of a transition of values.
The information processing apparatus according to any one of claims 1 to 4 .
請求項1〜のいずれか1項に記載の情報処理装置であって、
前記暗号処理回路は、乱数ビットの値により内部の回路動作をマスクする乱数マスク回路を有しており、
前記消費電力データ取得手段は、前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す状態変数及び前記乱数ビットの状態を表す状態変数と、該暗号処理回路における消費電力とが対応付けられた前記消費電力データを複数取得する手段であり、
前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた前記乱数ビットの状態を表す状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数の少なくともいずれかを前記乱数ビットと前記消費電力との相関値として導出し、該相関値に基づいて前記乱数ビットと前記消費電力との相関が高いと判定したときには、前記取得した複数の消費電力データを乱数ビットの値に応じて複数のグループに分類する分類手段、
を備え、
前記分析手段は、同じ前記グループに属する消費電力データに基づいて、前記回帰分析を行って前記分析値を導出する手段である、
情報処理装置。
The information processing apparatus according to any one of claims 1 to 5 ,
The cryptographic processing circuit has a random number mask circuit that masks internal circuit operation by the value of a random number bit,
The power consumption data acquisition means corresponds to a state variable representing a state of at least one of an input bit and an output bit in the cryptographic processing circuit and a state variable representing a state of the random number bit, and power consumption in the cryptographic processing circuit. Means for acquiring a plurality of attached power consumption data,
Based on the plurality of acquired power consumption data, a regression analysis is performed using the power consumption as an objective variable and a state variable representing the state of the random number bit associated with the power consumption as an explanatory variable, and is determined by the analysis. When at least one of a coefficient and a regression coefficient is derived as a correlation value between the random number bit and the power consumption, and when it is determined that the correlation between the random number bit and the power consumption is high based on the correlation value, the acquired Classification means for classifying a plurality of power consumption data into a plurality of groups according to the value of a random number bit,
With
The analysis means is means for deriving the analysis value by performing the multiple regression analysis based on power consumption data belonging to the same group.
Information processing device.
暗号処理回路の耐タンパ性を評価する情報処理方法であって、
(a)前記暗号処理回路における入力ビット及び出力ビットの少なくともいずれかの状態を表す複数の異なる状態変数と該暗号処理回路における消費電力とが対応付けられた消費電力データを複数取得するステップと、
(b)前記取得された複数の消費電力データに基づいて、前記消費電力を目的変数とし該消費電力に対応づけられた複数の前記状態変数を説明変数として回帰分析を行い、該分析により決定係数及び回帰係数を分析値として導出するステップと、
(c)前記導出された分析値に基づいて、前記暗号処理回路の耐タンパ性を評価するステップと、
を含み、
前記ステップ(c)では、前記導出された決定係数が所定の決定係数許容領域に含まれるか否かに基づいて、耐タンパ性が高いか否かを判定し、前記導出された決定係数が前記決定係数許容領域と異なる所定の決定係数非許容領域に含まれるときには、耐タンパ性が低いと判定し、前記導出された決定係数が前記決定係数許容領域及び前記決定係数非許容領域のいずれにも含まれないときには、前記導出された偏回帰係数に基づいて前記複数の状態変数のうち耐タンパ性の低い状態変数を判定する、
報処理方法。
An information processing method for evaluating tamper resistance of a cryptographic processing circuit,
(A) obtaining a plurality of power consumption data in which a plurality of different state variables representing the states of at least one of input bits and output bits in the cryptographic processing circuit and power consumption in the cryptographic processing circuit are associated;
Based on (b) the obtained plurality of power consumption data, performs a multiple regression analysis more said state variables associated with the digestion cost power aimed variable the power consumption as explanatory variables, determined by the analysis deriving a coefficient and partial regression coefficient as analysis value,
(C) evaluating the tamper resistance of the cryptographic processing circuit based on the derived analysis value;
Only including,
In the step (c), based on whether or not the derived determination coefficient is included in a predetermined determination coefficient allowable region, it is determined whether or not the tamper resistance is high. When it is included in a predetermined determination coefficient non-permissible area different from the determination coefficient allowable area, it is determined that the tamper resistance is low, and the derived determination coefficient is in both the determination coefficient allowable area and the determination coefficient non-permissible area. When not included, a state variable having low tamper resistance is determined among the plurality of state variables based on the derived partial regression coefficient.
Information processing method.
請求項に記載の情報処理方法の各ステップを1又は複数のコンピューターに実現させるプログラム。 A program for causing each step of the information processing method according to claim 7 to be realized by one or a plurality of computers.
JP2011178732A 2011-08-18 2011-08-18 Information processing apparatus, information processing method, and program thereof Active JP5765733B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011178732A JP5765733B2 (en) 2011-08-18 2011-08-18 Information processing apparatus, information processing method, and program thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011178732A JP5765733B2 (en) 2011-08-18 2011-08-18 Information processing apparatus, information processing method, and program thereof

Publications (2)

Publication Number Publication Date
JP2013042406A JP2013042406A (en) 2013-02-28
JP5765733B2 true JP5765733B2 (en) 2015-08-19

Family

ID=47890364

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011178732A Active JP5765733B2 (en) 2011-08-18 2011-08-18 Information processing apparatus, information processing method, and program thereof

Country Status (1)

Country Link
JP (1) JP5765733B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511503A (en) * 2020-11-13 2021-03-16 香港中文大学(深圳) Method, system, equipment and storage medium for improving safety of intelligent electric meter

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1868156A1 (en) * 2005-03-07 2007-12-19 Intellectual Property Bank Corp. Theoretical stock price computing device, theoretical stock price computing method, and theoretical stock price computing program
FR2928060B1 (en) * 2008-02-25 2010-07-30 Groupe Des Ecoles De Telecommunications Get Ecole Nat Superieure Des Telecommunications Enst METHOD FOR TESTING CRYPTOGRAPHIC CIRCUITS, SECURED CRYPTOGRAPHIC CIRCUIT FOR TESTING, AND METHOD FOR WIRING SUCH CIRCUIT.
JP2010128779A (en) * 2008-11-27 2010-06-10 Kansai Electric Power Co Inc:The Method for extracting multiple regression equation
JP2010135881A (en) * 2008-12-02 2010-06-17 Nec Corp Device, method and program for evaluating side-channel attack resistance

Also Published As

Publication number Publication date
JP2013042406A (en) 2013-02-28

Similar Documents

Publication Publication Date Title
Jin et al. Anemone: Graph anomaly detection with multi-scale contrastive learning
US6910025B2 (en) Modeling behavior of an electrical circuit
US7464015B2 (en) Method and apparatus for supporting verification, and computer product
Xu et al. Using statistical models to improve the reliability of delay-based PUFs
Buhan et al. Sok: Design tools for side-channel-aware implementations
JP4704299B2 (en) LSI power consumption peak estimation program and apparatus
US20170076116A1 (en) Model-Based Runtime Detection of Insecure Behavior for System on Chip with Security Requirements
CN110147732A (en) Refer to vein identification method, device, computer equipment and storage medium
Qiqieh et al. Significance-driven logic compression for energy-efficient multiplier design
Utyamishev et al. Real-time detection of power analysis attacks by machine learning of power supply variations on-chip
US9563729B2 (en) Signal transition analysis of a circuit
Sengupta et al. Untrusted third party digital ip cores: Power-delay trade-off driven exploration of hardware trojan secured datapath during high level synthesis
Durrani et al. Power estimation for intellectual property-based digital systems at the architectural level
Mrazek et al. Role of circuit representation in evolutionary design of energy‐efficient approximate circuits
Pan et al. Hardware Trojan detection using Shapley ensemble boosting
Xue et al. Building an accurate hardware Trojan detection technique from inaccurate simulation models and unlabelled ICs
CN113222053B (en) Malicious software family classification method, system and medium based on RGB image and Stacking multi-model fusion
JP5765733B2 (en) Information processing apparatus, information processing method, and program thereof
US9658947B2 (en) Method for ranking fault-test pairs based on waveform statistics in a mutation-based test program evaluation system
Xue et al. A co-training based hardware Trojan detection technique by exploiting unlabeled ICs and inaccurate simulation models
Cruz et al. A machine learning based automatic hardware trojan attack space exploration and benchmarking framework
US10852354B1 (en) System and method for accelerating real X detection in gate-level logic simulation
Bian et al. Building trusted golden models-free hardware Trojan detection framework against untrustworthy testing parties using a novel clustering ensemble technique
Guzey et al. Increasing the efficiency of simulation-based functional verification through unsupervised support vector analysis
JP2007305048A (en) Influencing factor estimation device and influencing factor estimation program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150422

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150610

R150 Certificate of patent or registration of utility model

Ref document number: 5765733

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250