IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許7323202検査制御装置、情報処理装置、検査制御方法及びプログラム
<>
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図1
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図2
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図3
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図4
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図5
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図6
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図7
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図8
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図9
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図10
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図11
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図12
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図13
  • 特許-検査制御装置、情報処理装置、検査制御方法及びプログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-31
(45)【発行日】2023-08-08
(54)【発明の名称】検査制御装置、情報処理装置、検査制御方法及びプログラム
(51)【国際特許分類】
   G06F 11/22 20060101AFI20230801BHJP
   G06F 21/60 20130101ALI20230801BHJP
【FI】
G06F11/22 675Z
G06F21/60 320
【請求項の数】 10
(21)【出願番号】P 2021030337
(22)【出願日】2021-02-26
(65)【公開番号】P2022131402
(43)【公開日】2022-09-07
【審査請求日】2022-06-07
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【弁理士】
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】細岡 晟
【審査官】坂庭 剛史
(56)【参考文献】
【文献】国際公開第2014/203318(WO,A1)
【文献】特開2013-247511(JP,A)
【文献】特表2011-514046(JP,A)
【文献】特表2020-521124(JP,A)
【文献】特開2005-045752(JP,A)
【文献】特開2017-151656(JP,A)
【文献】特開2017-162303(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令である第一暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、
前記暗号処理電力推定手段による推定結果に基づいて、前記第一暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記第一暗号処理命令を決定する決定手段と、
を備える検査制御装置。
【請求項2】
前記決定手段は、前記暗号処理手段へ電力を供給する電源装置の残容量に基づいて、利用可能な前記電力量を決定する、
請求項1に記載の検査制御装置。
【請求項3】
前記標本データは、さらに、前記暗号処理手段が実行した前記暗号処理の処理時間を含み、
前記暗号処理電力推定手段は、前記標本データに基づいて、前記第一暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した処理時間を推定し、
前記決定手段は、前記暗号処理電力推定手段による推定結果に基づいて、前記第一暗号処理命令を実行した際の推定の処理時間の合計が所定時間を超過しないように前記第一暗号処理命令を決定する、
請求項1又は請求項2に記載の検査制御装置。
【請求項4】
暗号処理手段が秘匿対象ではない暗号処理命令である第二暗号処理命令を実行した場合、前記第二暗号処理命令に含まれるアルゴリズムの種類及び暗号処理パラメータと、前記第二暗号処理命令の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データと、前記第二暗号処理命令の処理時間とを含む標本データを記録する記録手段をさらに備える、
請求項3に記載の検査制御装置。
【請求項5】
前記記録手段は、前記暗号処理手段が秘匿対象の暗号処理命令である第三暗号処理命令を実行した場合、前記第三暗号処理命令の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データと、前記第三暗号処理命令の処理時間とを含む処理記録データを記憶し、
前記暗号処理電力推定手段は、前記標本データに基づいて、暗号アルゴリズムの種類及び暗号処理パラメータのそれぞれと前記変動データとの対応を分析し、分析結果に基づいて、前記処理記録データが示す前記変動データに対応した暗号アルゴリズムの種類及び暗号処理パラメータを推定し、推定結果を前記処理記録データに加えて前記標本データを生成する、
請求項4に記載の検査制御装置。
【請求項6】
入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理手段と、
前記暗号処理手段が実行した前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、
前記暗号処理電力推定手段による推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定手段と、
を備える情報処理装置。
【請求項7】
暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、
前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、
を有する検査制御方法。
【請求項8】
暗号処理手段が、入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理ステップと、
暗号処理電力推定手段が、前記暗号処理ステップにおいて実行された前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、
決定手段が、前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、
を有する検査制御方法。
【請求項9】
コンピュータを、請求項1から請求項5のいずれかに記載の検査制御装置として機能させるためのプログラム。
【請求項10】
コンピュータを、請求項6に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、検査制御装置、情報処理装置、検査制御方法及びプログラムに関する。
【背景技術】
【0002】
情報処理システム内のセキュリティモジュールが故障した場合、システムとしてのセキュリティ要件を満たせなくなる。そのため定期的に、秘密データ値(例えば、鍵情報)の改変と、処理の正当性を検査する必要がある。処理の正当性は、正常に暗号処理できることにより確認される。暗号処理の正当性を検査は、暗号処理のアルゴリズムごとにアルゴリズム実装試験を実行することにより行われる。アルゴリズム実装試験とは、暗号処理がアルゴリズム仕様に従って実装されていることを確認するために、入出力結果が期待値と一致するかを網羅的に確認する試験である。
【0003】
一方、特許文献1には、設定値に基づいて予測電力消費レートを算出し、予測電力消費レートと電池の現在の放電能力レートとの比較に基づき選択した設定値を、セキュアプロセッサに適用することが記載されている。また、特許文献2には、複数のセキュリティモジュールそれぞれが暗号化情報を復号し、復号結果を比較してセキュリティモジュールの正常性を確認することが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2020-520820号公報
【文献】特許第4843246号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上述したように、暗号処理の正当性を検査するため、アルゴリズムごとにアルゴリズム実装試験が実行される。しかしながら、バッテリー駆動下などの電源容量が限られた環境において頻繁に検査処理を実施すると、バッテリーの駆動時間が低下してしまう。一方で、検査間隔を長くすると駆動時間を延長できるが、比例して故障検出間隔も長くなる。そのため、検査対象のセキュリティモジュールが暗号処理を実行する際の消費電力を考慮しながら検査をスケジューリングする必要が有る。しかしながら、セキュリティモジュールごとの差異や、暗号処理のアルゴリズム及びパラメータ(例えば、鍵長や暗号利用モードなど)の組み合わせ、内部処理方式の違いなどによって、消費電力は異なる。そのため、個々のセキュリティモジュールについて、全てのアルゴリズムとパラメータとの組み合わせごとにセキュリティモジュールの消費電力を事前に計測する必要があった。このような計測には、人的コストや時間的コストがかかる。
【0006】
そこでこの発明は、上述の課題を解決することができる検査制御装置、情報処理装置、検査制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
本発明の第1の態様によれば、検査制御装置は、暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令である第一暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、前記暗号処理電力推定手段による推定結果に基づいて、前記第一暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記第一暗号処理命令を決定する決定手段と、を備える。
【0008】
本発明の第2の態様によれば、情報処理装置は、入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理手段と、前記暗号処理手段が実行した前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、前記暗号処理電力推定手段による推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定手段と、を備える。
【0009】
本発明の第3の態様によれば、検査制御方法は、暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、を有する。
【0010】
本発明の第4の態様によれば、検査制御方法は、暗号処理手段が、入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理ステップと、暗号処理電力推定手段が、前記暗号処理ステップにおいて実行された前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、決定手段が、前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、を有する。
【0011】
本発明の第5の態様によれば、プログラムは、コンピュータを、上記の検査制御装置として機能させるためのプログラムである。
【0012】
本発明の第6の態様によれば、プログラムは、コンピュータを、上記の情報処理装置として機能させるためのプログラムである。
【発明の効果】
【0013】
本発明によれば、事前計測にかかるコストを低減しながら電源容量が限られた環境に適したスケジュールで暗号処理機能を検査できるという効果が得られる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態による情報処理システムの機能ブロック図である。
図2】同実施形態による情報処理システムの接続構成図である。
図3】同実施形態によるプロセッサの接続構成図である。
図4】同実施形態による検査制御部の機能ブロック図である。
図5】同実施形態による暗号処理パラメータの例を示す図である。
図6】同実施形態による暗号処理パラメータの例を示す図である。
図7】同実施形態による暗号処理電力推定部の前処理の例を示す図である。
図8】同実施形態による検査スケジューラのスケジューリングの例を示す図である。
図9】同実施形態による検査制御部のデータ記録処理を示すフロー図である。
図10】同実施形態による検査制御部のデータ追加処理を示すフロー図である。
図11】同実施形態による検査制御部の暗号処理推定処理を示すフロー図である。
図12】同実施形態による検査制御部の消費電力量推定処理を示すフロー図である。
図13】同実施形態による検査制御部の検査スケジューリング処理を示すフロー図である。
図14】同実施形態による検査制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【0016】
セキュリティ意識の高まりによりコンピュータ内のデータを保護する技術的なニーズが高まっている。安全なコンピュータプラットフォームを実現するために、セキュリティに関する各種機能を備えたハードウェアが利用されている。このようなハードウェアには、例えば、Trusted Platform Chip(TPM)、Hardware Security Module(HSM)などのセキュリティモジュールがある。セキュリティモジュールは、データの暗号化・復号化、公開鍵の生成、ハッシュ値の計算、秘密データの格納および電子署名の生成・検証などの暗号処理機能を有している。
【0017】
セキュリティモジュールが故障した場合、コンピュータシステムとしてのセキュリティ要件を満たせなくなる。そのため定期的に、検査に用いられる秘密データ値の改変と、暗号処理の正当性の検査とが行われる。そして、セキュリティモジュールの暗号処理の正当性を検証するために、暗号処理機能ごとにアルゴリズム実装試験が行われる。しかしながら、バッテリー駆動下などの電源容量が限られた環境において、頻繁に検査処理を実施すると、バッテリーの駆動時間を低下させてしまう。検査間隔を長くすると駆動時間を延長できるが、比例して故障検出間隔も長くなる。そのため、検査を適切にスケジューリングすることが望まれる。このようなスケジューリングには、暗号処理ごとの消費電力及び処理時間の把握が必要である。
【0018】
本実施形態の検査制御装置は、セキュリティモジュールが処理する暗号処理の消費電力及び処理時間を、その暗号処理のアルゴリズム及びパラメータの値に応じて動的に推定する。暗号処理のアルゴリズム及びパラメータの値の全ての組み合わせについて網羅的に消費電力及び処理時間を事前に計測する場合と比較し、人的コスト及び時間的コストを低減可能である。また、本実施形態の検査制御装置は、その推定結果と、セキュリティモジュールを有するシステムのバッテリー状態に基づいて、セキュリティモジュールの検査をスケジューリングする。これにより、通常の暗号処理への影響を低減し、セキュリティモジュールを有するシステムの稼働時間をより延長することもできる。
【0019】
図1は、本発明の一実施形態による情報処理システム100の機能ブロック図である。情報処理システム100は、情報セキュリティ装置の一例である。図1に示されるように、情報処理システム100は、プロセッサ200と、セキュリティモジュール300と、セキュリティモジュール負荷計測部400と、バッテリー装置500と、バッテリー負荷計測部600と、出力装置700と、通信装置800と、記憶部900とを備える。
【0020】
プロセッサ200は、情報処理システム100を制御する情報処理装置である。プロセッサ200とセキュリティモジュール300とは、SPI(Serial Peripheral Interface)やI2C(Inter-Integrated Circuit)、Ethernet(登録商標)などの通信バスを介して接続されている。プロセッサ200は、アプリケーション実行部210と、検査制御部220とを有する。アプリケーション実行部210は、セキュリティモジュール300を利用するアプリケーションを実行する。検査制御部220は、セキュリティモジュール300の検査を制御する。
【0021】
セキュリティモジュール300は、セキュリティに関する各種の暗号処理機能を備えたハードウェア装置である。セキュリティモジュール300は、例えば、TPMやHSMなどの装置である。セキュリティモジュール300は、プロセッサ200からの制御に従って暗号処理を行う。セキュリティモジュール負荷計測部400は、セキュリティモジュール300の電力負荷を計測するセンサである。セキュリティモジュール負荷計測部400は、計測結果に基づいて、セキュリティモジュール300の消費電力に関する情報をプロセッサ200に出力する。セキュリティモジュール300の消費電力に関する情報は、例えば、電源電圧の変動及び電流の変動である。
【0022】
バッテリー装置500は、情報処理システム100全体に電力を供給する。バッテリー負荷計測部600は、バッテリー装置500の電力負荷を計測するセンサである。バッテリー負荷計測部600は、計測結果により得られたバッテリー装置500のバッテリー負荷情報をプロセッサ200に出力する。バッテリー負荷情報は、例えば、バッテリー装置500の電源電圧の変動及び電流の変動である。出力装置700は、例えばディスプレイである。出力装置700は、検査制御部220による検査結果の表示画面をディスプレイに表示する。通信装置800は、検査制御部220の制御に従って、検査結果のデータを外部のシステムに送信する。
【0023】
記憶部900は、プログラムや各種データを記憶する。プロセッサ200は、記憶部900からアプリケーション実行部210のプログラム及び検査制御部220のプログラムを読み出して実行する。記憶部900は、さらに、プロセッサ200が各種プログラムを実行する際のワークエリアなどを有する。記憶部900は、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。プロセッサ200が実行するプログラムは、電気通信回線を介して送信されてもよい。なお、検査制御部220は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアにより実現されてもよい。
【0024】
図2は、情報処理システム100内の接続構成図である。図2では、プロセッサ200、セキュリティモジュール300、セキュリティモジュール負荷計測部400、バッテリー装置500、及び、バッテリー負荷計測部600の接続を示している。バッテリー装置500は、電力線によりプロセッサ200及びセキュリティモジュール300と接続されている。セキュリティモジュール負荷計測部400は、電圧計410と、電流計420とを有している。電圧計410は、セキュリティモジュール300に供給される電源電圧を計測し、計測結果をプロセッサ200に出力する。電流計420は、セキュリティモジュール300に供給される電流を計測し、計測結果をプロセッサ200に出力する。バッテリー負荷計測部600は、電圧計610と、電流計620とを有している。電圧計610は、バッテリー装置500の電源電圧を計測し、計測結果をプロセッサ200に出力する。電流計620は、バッテリー装置500から供給される電流を計測し、計測結果をプロセッサ200に出力する。
【0025】
図3は、プロセッサ200の接続構成を示す図である。図3に示されるように、プロセッサ200は、アプリケーション実行部210と、検査制御部220と、バス230とを有する。アプリケーション実行部210及び検査制御部220は、セキュリティモジュール300を利用する。アプリケーション実行部210及び検査制御部220は、バス230を介してセキュリティモジュール300を制御する。アプリケーション実行部210は、検査制御部220以外のアプリケーションを実行する。アプリケーション実行部210が実行するアプリケーションは、セキュリティモジュール300の暗号処理機能を利用する。検査制御部220は、セキュリティモジュール300の検査スケジュールを制御する。検査制御部220は、バス230を介してセキュリティモジュール300を制御する。検査制御部220は、ソフトウェアによる制御であってもよく、ハードウェアによる制御であってもよい。バス230は、セキュリティモジュール300を制御するための通信経路である。バス230は、電気的な信号を共有するハードウェア機構であるが、ソフトウェアによる実装であってもよい。
【0026】
図4は、検査制御部220の構成を示すブロック図である。図4に示されるように、検査制御部220は、記録部221と、バッテリー容量算出部222と、暗号処理電力推定部223と、検査パターン格納部224と、検査スケジューラ225と、検査実行部226とを備える。
【0027】
記録部221は、セキュリティモジュール300が実行する暗号処理の消費電力及び処理時間の推定に必要な標本(サンプル)データを記録する。標本データは、暗号アルゴリズムの種類と、暗号処理パラメータと、変動データと、処理時間とを対応付けた情報を含む。暗号処理パラメータは、暗号アルゴリズムにおいて用いられる各パラメータとその値を示す。セキュリティモジュール300に暗号処理を命令するための暗号処理命令には、暗号アルゴリズムの種類と、暗号処理パラメータとが含まれる。そこで、標本データは、暗号アルゴリズムの種類及び暗号処理パラメータを示す情報として、暗号処理命令を含んでもよい。変動データは、セキュリティモジュール300の電源電圧及び電流それぞれの変動を示す。変動は、時系列の時刻毎の値により示される。変動データは、セキュリティモジュール負荷計測部400から出力される。
【0028】
記録部221は、バス230を介してセキュリティモジュール300に指示された暗号処理命令が試験暗号処理命令(第二暗号処理命令)である場合、その試験暗号処理命令と、セキュリティモジュール300がその暗号処理命令を受けて暗号処理を実行している間の変動データと、その暗号処理の処理時間とを設定した標本データを記録する。試験暗号処理命令は、標本データの収集のためにセキュリティモジュール300に出力される暗号処理命令である。試験暗号処理命令は、秘匿対象ではないため、そのまま標本データに記録が可能である。一方、記録部221は、セキュリティモジュール300に通常の暗号処理命令(第三暗号処理命令)が指示された場合、セキュリティモジュール300がその暗号処理命令を受けて暗号処理を実行している間の変動データと、その暗号処理の処理時間とを設定した処理記録データを記録する。これは、通常暗号処理の場合、セキュリティ上の問題から暗号処理命令は秘匿対象であり、その詳細、すなわち、暗号アルゴリズムの種類やその暗号処理パラメータを取得できないためである。そこで、記録部221は、処理記録データに、暗号処理電力推定部223が推定した暗号アルゴリズムの種類及び暗号処理パラメータを追加して、標本データを生成する。通常の暗号処理命令は、アプリケーション実行部210から出力されるが、検査制御部220から出力されてもよい。
【0029】
バッテリー容量算出部222は、バッテリー負荷計測部600から出力されたバッテリー負荷情報に基づきバッテリー装置500の残容量を算出する。バッテリー装置500の残容量は、バッテリー負荷情報が示す電源電圧と電流との乗算により算出される。バッテリー容量算出部222は、算出した残容量を検査スケジューラ225に出力する。
【0030】
暗号処理電力推定部223は、記録部221に記録された標本データを教師データとして用いて分析を行うことにより、暗号アルゴリズムの種類と暗号処理パラメータとに依存する消費電力量を動的に推定する。この推定に、試験暗号処理命令の結果得られた標本データのみを教師データとして用いてもよい。本実施形態においては、暗号処理電力推定部223は、推定精度を向上させるために、試験暗号処理命令の結果得られた標本データと、通常の暗号処理命令の結果得られた処理記録データに基づき生成された標本データとを教師データとして用いる。
【0031】
処理記録データから標本データを生成するため、暗号処理電力推定部223は、試験暗号処理命令の結果得られた標本データに基づいて、処理記録データが得られた暗号処理に用いられた暗号アルゴリズムの種類及びその暗号処理パラメータを推定する。暗号処理電力推定部223は、この推定の精度を向上させるために、標本データに対して前処理を施す。すなわち、暗号処理電力推定部223は、前処理において、標本データが示す電源電圧の変動及び電流の変動を、所定時間毎のいくつかのタイムスライスに分割する。暗号処理電力推定部223は、全ての標本データに共通して類似度が高いタイムスライス部分を共通部と見なして該当部分を除外した後、推定処理を実行する。記録部221は、処理記録データに、暗号処理電力推定部223が推定した暗号アルゴリズムの種類及び暗号処理パラメータを付加することにより標本データを生成する。
【0032】
また、暗号処理電力推定部223は、推定処理に必要な標本数の標本データが記録部221に格納されている場合、その標本データを教師データに用いて、検査に用いられる暗号アルゴリズム及び暗号処理パラメータに対応した消費電力量及び処理時間を推定する。暗号処理電力推定部223は、推定のために必要な標本数の標本データが得られていない場合は、推定のための情報収集と暗号処理検査を兼ねた試験暗号処理命令をセキュリティモジュール300に投入し、その実行結果に基づき得られた標本データを用いて推定を行ってもよい。暗号処理電力推定部223は、推定した消費電力量及び処理時間の情報を検査パターン格納部224に出力する。
【0033】
検査パターン格納部224は、検査用暗号処理命令(第一暗号処理命令)と、その検査用暗号処理命令の期待出力結果と、検査用暗号処理命令による暗号処理時の推定消費電力及び推定処理時間との情報を組み合わせたパターンテーブルを格納する。検査用暗号処理命令は、検査のためにセキュリティモジュール300に入力する暗号処理命令である。暗号処理時の推定消費電力及び推定処理時間は、検査用暗号処理命令が示す暗号アルゴリズムの種類及び暗号処理パラメータに基づいて暗号処理電力推定部223により推定される。
【0034】
検査スケジューラ225は、セキュリティモジュール300に検査のため実行させる検査用暗号処理命令を決定する。検査スケジューラ225には、設定パラメータが予め与えられる。設定パラメータには、検査間隔、検査回数、検査に利用できる時間当たり最大消費電力量、検査時間、検査する暗号処理の種類が含まれる。設定パラメータは、システム外部から変更することもできる。暗号処理の種類は、暗号処理アルゴリズムの種類により示される。検査スケジューラ225は、検査間隔と、検査回数とに基づいて、検査を実行するタイミングを得る。検査スケジューラ225は、検査パターン格納部224を参照し、検査用暗号処理命令が示す暗号アルゴリズムの種類及び暗号処理パラメータに応じた推定消費電力量及び処理時間と、バッテリー装置500の残容量と、設定パラメータとに基づいて、検査に利用可能な電力量及び検査時間を超過しないように検査タイミングにおけるセキュリティモジュール300の検査をスケジューリングする。なお、検査スケジューラ225は、検査に利用可能な電力量(以下、利用可能電力量)を、バッテリー装置500の残容量に基づいて決定する。検査スケジューラ225は、スケジューリングされた内容、すなわち、検査タイミングにおいて実行する検査用暗号処理命令を検査実行部226に出力する。
【0035】
検査実行部226は、検査スケジューラ225が出力したスケジューリング結果に従って、セキュリティモジュール300を検査する。検査実行部226は、検査パターン格納部224から読み出した検査用暗号処理命令をセキュリティモジュール300に入力し、出力結果が期待結果と一致するかどうか確認する。検査実行部226は、検査結果を、検査制御部220以外のアプリケーションに通知したり、出力装置700もしくは通信装置800を利用して検査制御部220の外部に通知したりすることができる。
【0036】
図5及び図6は、暗号処理パラメータの例を示す図である。図5は、公開鍵暗号の暗号処理パラメータの例を示し、図6は、共通鍵暗号の暗号処理パラメータの例を示す。図5に示すように、暗号アルゴリズムの種類が公開鍵暗号である場合、暗号処理パラメータは、暗号形式、鍵長、鍵ペア数、平文のビット長、平文の数などのパラメータを含む。また、図6に示すように、暗号アルゴリズムの種類が共通鍵暗号である場合、暗号処理パラメータは、暗号形式、利用モード、試験方法、鍵長などのパラメータを含む。
【0037】
図7は、暗号処理電力推定部223による標本データへの前処理の例を示す。図7(a)~図7(c)は、同じ暗号アルゴリズムの暗号処理を異なる暗号処理パラメータにより行った結果得られた電力量を示している。これらの暗号処理に用いられた暗号アルゴリズムは、全てアルゴリズムAである。アルゴリズムAの暗号処理パラメータは、パラメータ1及びパラメータ2である。図7(a)は、パラメータ1が「P」、パラメータ2が「X」の暗号処理パラメータを使用した場合、図7(b)は、パラメータ1が「P」、パラメータ2が「2X」の暗号処理パラメータを使用した場合、図7(c)は、パラメータ1が「2P」、パラメータ2が「X」の暗号処理パラメータを使用した場合の電力量を示している。
【0038】
図7(a)に示す各タイムスライスの電力量はW、W、Wであり、図7(b)に示す各タイムスライスの電力量はW’、W’、W’であり、図7(c)に示す各タイムスライスの電力量はW”、W”、Wである。各タイムスライスの電力量は、タイムスライスにおける電源電圧と電流とを乗算して算出される。図7では、電力量W、電力量W’及び電力量W”と、電力量W、電力量W’及び電力量W”と、電力量W及び電力量W’はそれぞれ、同じ電圧変動と処理時間であったことを示している。この結果から、パラメータ1と暗号処理に要する電力量とが比例すると推定できる。また、パラメータ2は、電力量に比例しないと推定できる。暗号処理電力推定部223は、電力量W、電力量W’及び電力量W”のタイムスライスと、電力量W2、電力量W’及び電力量W”のタイムスライスとを除外し、電力量W”、電力量W”、及び電力量Wのタイムスライスを推定に用いる。
【0039】
図8は、検査スケジューラ225によるスケジューリングの例を示す。電力量v、…、vは、それぞれ1、…、m番目に実行する検査用暗号処理命令をセキュリティモジュール300が実行する際の推定の電力量を示す。これら各検査用暗号処理命令は、検査パターン格納部224が保持するパターンテーブルに含まれている。検査スケジューラ225には、設定パラメータとして、検査する暗号処理の種類が与えられており、それら暗号処理の種類を表す暗号アルゴリズムの検査用暗号処理命令をパターンテーブルから読み出し、実行順を決定する。実行順又は実行順の決定方法は、パターンテーブルに設定されてもよく、設定パラメータに付加されていてもよく、検査スケジューラ225がランダムに決定するなど任意の規則に基づいて決定してもよい。ここでは、1~m番目までの検査用暗号処理命令を繰り返し実行するものとする。
【0040】
また、検査スケジューラ225は、バッテリー装置500の残容量と利用可能電力量との対応関係を予め記憶している。検査スケジューラ225は、この対応関係を用いて、バッテリー容量算出部222が算出したバッテリー装置500の残容量に対応した利用可能電力量Waを決定する。なお、残容量が低くなるほど、利用可能電力量Waも低くなる。残容量が閾値以下の場合、利用可能電力量Waを0とし、検査を実施しないようにしてもよい。また、検査スケジューラ225は、設定パラメータにより設定された検査に利用できる時間当たり最大消費電力量を超えないように、利用可能電力量Waを決定する。
【0041】
具体的には、検査スケジューラ225は、設定パラメータにより設定された検査間隔の1回目~x回目までの検査それぞれについて、検査用暗号処理命令を決定する。検査スケジューラ225は、各回の検査において、検査用暗号処理命令を実行する際の推定電力量の合計が利用可能電力量Waを超えないように、各回の検査に用いる試験暗号処理命令を決定する。上述のように、利用可能電力量Waはバッテリー装置500の残容量に基づいて決定される。そのため、検査スケジューラ225は、各回の検査を行うタイミング又はその検査を行うタイミングよりも所定時間だけ早いタイミングにおいて、最も新しい残容量の情報に基づいた利用可能電力量Waを用いて、検査用暗号処理命令を決定する。
【0042】
図8において、検査スケジューラ225は、1回目の検査では、1、…、(m-1)番目までの検査用暗号処理命令それぞれの推定電力量v、…、v(m-1)の合計は利用可能電力量Waを超えないが、さらに、m番目の検査用暗号処理命令を行った場合は利用可能電力量Waを超えると判定する。そのため、検査スケジューラ225は、m番目の検査用暗号処理命令を、2回目に実行すると判定する。さらに、検査スケジューラ225は、2回目の検査では、m、1、2番目までの検査用暗号処理命令それぞれの推定電力量v、v、vの合計は利用可能電力量Waを超えないが、さらに、3番目の検査用暗号処理命令を行った場合は利用可能電力量Waを超えると判定する。そのため、検査スケジューラ225は、3番目の検査用暗号処理命令を3回目の検査で実行すると判定する。
【0043】
検査スケジューラ225は、さらに、各回の検査において、検査用暗号処理命令を実行した際の推定処理時間の合計が、設定パラメータにより設定された検査時刻を超えないことを条件として加え、各回の検査に用いる検査用暗号処理命令を決定してもよい。検査スケジューラ225は、各回の検査に用いる検査用暗号処理命令を検査実行部226に出力する。
【0044】
続いて、検査制御部220の動作を説明する。
図9は、検査制御部220のデータ記録処理を示すフロー図である。記録部221は、バス230を監視し、セキュリティモジュール300に出力される暗号処理命令を監視する(ステップS101)。検査制御部220は、暗号処理命令の出力が検出されない場合(ステップS101:NO)、ステップS101の処理を繰り返す。
【0045】
記録部221は、セキュリティモジュール300に暗号処理命令が出力されたことを検出した場合(ステップS101:YES)、その暗号処理命令が試験暗号処理命令か否かを判定する(ステップS102)。試験暗号処理命令であるか否かは、暗号処理命令に設定されている又は付加されている情報に基づき判定される。記録部221は、試験暗号処理命令ではないと判定した場合(ステップS102:NO)、ステップS104の処理に進む。
【0046】
記録部221は、暗号処理命令が試験暗号処理命令であること判定した場合(ステップS102:YES)、その暗号処理命令を記録する(ステップS103)。暗号処理命令は、暗号アルゴリズムの種類及び暗号処理パラメータの値を含む。その後、記録部221は、セキュリティモジュール300の電源電圧の変動及び電流の変動の記録を開始する(ステップS104)。これらの情報は、セキュリティモジュール負荷計測部400から得られる。なお、記録部221は、ステップS103において暗号処理命令を記録した場合、その暗号処理命令に対応づけて電源電圧の変動及び電流の変動の情報を記録する。
【0047】
記録部221は、セキュリティモジュール300の処理が終了したか否かを判定する(ステップS105)。記録部221は、終了していないと判定した場合(ステップS105:NO)、ステップS104からの処理を繰り返す。そして、記録部221は、セキュリティモジュール300の処理が終了したと判定した場合(ステップS105:YES)、ステップS106の処理を行う。すなわち、記録部221は、ステップS104において記録した電源電圧の変動及び電流の変動の情報に対応づけて、暗号処理命令を受けてセキュリティモジュール300が実行した暗号処理の処理時間を記録部221に記録する(ステップS106)。記録部221は、ステップS104で開始した電源電圧の変動及び電流の変動の記録を終了する(ステップS107)。これにより、記録部221は、試験暗号処理命令であれば標本データを記録し、通常の暗号処理命令であれば処理記録データを記録する。
【0048】
図10は、検査制御部220のデータ追加処理を示すフロー図である。暗号処理電力推定部223は、記録部221に記録した暗号処理アルゴリズムごとの標本数が規定値以上であるか否かを判定する(ステップS201)。標本数は、標本データの数である。規定値は、後述する図12の処理において消費電力量を推定するために必要な数である。暗号処理電力推定部223は、標本数が規定値に満たないと判定した場合は(ステップS201:NO)、セキュリティモジュール300に出力する試験暗号処理命令を準備する(ステップS202)。例えば、暗号処理電力推定部223は、検査パターン格納部224又は記憶部900から、又は、通信装置800を介して接続される外部の装置から、予め記憶された試験暗号処理命令を読み出す。試験暗号処理命令は、暗号処理機能の検査と、消費電力推定のための情報の取得を兼ねている。
【0049】
暗号処理電力推定部223は、標本データを参照し、準備した試験暗号処理命令と同じ種類の暗号アルゴリズムの変動データが記録部221に記録されているか否かを判定する(ステップS203)。暗号処理電力推定部223は、試験暗号処理命令と同じ種類の暗号アルゴリズムの変動データが記録されていると判定した場合(ステップS203:YES)、ステップS204の処理を行う。暗号処理電力推定部223は、準備した試験暗号処理命令と同じ種類の暗号アルゴリズムが設定されている標本データに、その試験暗号処理命令と同じ暗号処理パラメータが記録されているか否かを判定する(ステップS204)。暗号処理電力推定部223は、試験暗号処理命令と同じ暗号処理パラメータが標本データに記録されていると判定した場合(ステップS204:YES)、その標本データの暗号処理パラメータと重複しないように、試験暗号処理命令の暗号処理パラメータを変更する(ステップS205)。
【0050】
暗号処理電力推定部223は、準備した試験暗号処理命令と同じ種類の暗号アルゴリズムの変動データが記録部221に記録されていないと判定した場合(ステップS203:NO)、準備した試験暗号処理命令と同じ暗号処理パラメータの標本データが記録部221に記録されていないと判定した場合(ステップS204:NO)、又は、ステップS205の処理の後、試験暗号処理命令をセキュリティモジュール300に投入する(ステップS206)。
【0051】
記録部221は、試験暗号処理命令を記録する(ステップS207)。さらに、記録部221は、ステップS207で記録した試験暗号処理命令に対応づけて、セキュリティモジュール300の電源電圧の変動及び電流の変動と、セキュリティモジュール300における処理時間とを記録する(ステップS208)。これにより、記録部221に、標本データが記録される。暗号処理電力推定部223は、ステップS208における記録の終了後(ステップS209)、暗号アルゴリズム毎の標本数が推定のために必要な規定値以上であるか否かを判定する(ステップS210)。暗号処理電力推定部223は、暗号アルゴリズム毎の標本数が規定値に満たないと判定した場合は(ステップS210:NO)、ステップS202からの処理を繰り返す。暗号処理電力推定部223は、暗号アルゴリズム毎の標本数が規定値以上であると判定した場合(ステップS201:YES又はステップS210:YES)、図10の処理を終了する。
【0052】
図11は、検査制御部220の暗号処理推定処理を示す処理フローである。暗号処理推定処理により、検査制御部220は、セキュリティモジュール300が実行した通常暗号処理のアルゴリズムの種類及び暗号処理パラメータを、記録部221に記録されたその通常暗号処理の電源電圧及び電流の変動情報に基づいて推定する。検査制御部220は、記録部221に記録されている各処理記録データに対して、図11の処理を行う。
【0053】
まず、暗号処理電力推定部223は、試験暗号処理により得られた標本データに基づき、通常暗号処理の暗号アルゴリズムの種類を推定する(ステップS301)。そこで、暗号処理電力推定部223は、アルゴリズム推定用教師データとして記録部221から標本データを読み出す。暗号処理電力推定部223は、アルゴリズム推定用教師データを用いて、電源電圧の変動及び電流の変動を説明変数とし、暗号アルゴリズムの種類を目的変数とした教師あり学習を行う。暗号処理電力推定部223は、学習結果として説明変数と目的変数との対応関係を表すモデルを得る。暗号処理電力推定部223は、学習したモデルに、処理記録データが示す電源電圧の変動及び電流の変動を説明変数として入力することにより、暗号アルゴリズムの種類の推定結果を得る。なお、説明変数は、電源電圧の変動と電流の変動のいずれかでもよく、電力の変動でもよい。
【0054】
次に、暗号処理電力推定部223は、推定された暗号アルゴリズムの種類が設定されている標本データに基づき、通常暗号処理の暗号処理パラメータを推定する。そこで、暗号処理電力推定部223は、推定された暗号アルゴリズムの種類が設定されている標本データを、パラメータ推定用教師データとして記録部221から読み出す。そして、暗号処理電力推定部223は、前処理として、各パラメータ推定用教師データが示す電源電圧の変動及び電流の変動と、処理記録データが示す電源電圧の変動及び電流の変動を、一定時間ごとのタイムスライスに分割する(ステップS302)。このとき、暗号処理電力推定部223は、パラメータ推定用教師データ及び処理記録データが示す暗号処理の開始タイミングを時刻0に揃えてタイムスライスに分割する。これにより、時間の経過に伴う変化が比較しやすくなる。暗号処理電力推定部223は、各パラメータ推定用教師データのタイムスライスごとに、電源電圧の変動波形及び電流の変動波形それぞれの類似度を算出する(ステップS303)。検査制御部220は、全てのパラメータ推定用教師データに共通して類似度が高い電源電圧の変動波形及び電流の変動波形のタイムスライスを共通部と見なし、分析対象から除外する(ステップS304)。また、検査制御部220は、電源電圧の変動波形の変化にも電流の変動波形の変化にも関連しない暗号処理パラメータを除外してもよい。
【0055】
暗号処理電力推定部223は、分析対象から除外されなかったパラメータ推定用教師データのタイムスライスに基づいて暗号処理パラメータを推定する(ステップS305)。ここでは、暗号処理電力推定部223は、電源電圧の変動及び電流の変動の情報を説明変数とし、暗号処理パラメータを目的変数とした重回帰分析を、暗号処理パラメータの種別ごとに行う。暗号処理電力推定部223は、処理記録データが示す電源電圧の変動及び電流の変動から共通部のタイムスライスの情報を除き、残った電源電圧の変動及び電流の変動を重回帰分析の結果にあてはめて暗号処理パラメータの値を推定する。最後に、暗号処理電力推定部223は、処理記録データに暗号アルゴリズムの種類と暗号処理パラメータの推定結果を追加して生成した標本データを記録部221に追記する(ステップS306)。
【0056】
図12は、暗号処理電力推定部223による消費電力量推定処理を示すフロー図である。消費電力量推定処理により、暗号処理電力推定部223は、記録部221に記憶された標本データを用いて、暗号アルゴリズムの種類及び暗号処理パラメータに依存する消費電力量を推定する。
【0057】
暗号処理電力推定部223は、検査パターン格納部224に格納されている検査用暗号処理命令から暗号アルゴリズムの種類を全て読み出す。暗号処理電力推定部223は、記録部221に記憶されている標本データを参照し、読み出した各種類の暗号アルゴリズムそれぞれの標本数が規定値以上であるか否かを判定する(ステップS401)。規定値は、消費電力量の推定のために必要な標本数である。
【0058】
暗号処理電力推定部223は、各種類の暗号アルゴリズムそれぞれの標本数が規定値以上であると判定した場合(ステップS401:YES)、ステップS401で読み出した暗号アルゴリズムの種類のうち、未選択の一つを選択する(ステップS402)。暗号処理電力推定部223は、ステップS402において選択した暗号アルゴリズムの種類が設定されている標本データを記録部221から読み出す。暗号処理電力推定部223は、読み出した各標本データが示す電源電圧の変動波形に、図11のステップS302の前処理と同様の処理を行い、一定時間ごとのタイムスライスに分割する(ステップS403)。暗号処理電力推定部223は、タイムスライスごとに電源電圧の変動波形の類似度を算出する(ステップS404)。暗号処理電力推定部223は、全ての標本データに共通して類似度が高いタイムスライスを共通部として分析対象から除外する(ステップS405)。
【0059】
暗号処理電力推定部223は、各暗号処理パラメータに依存する電力量及び処理時間を推定する(ステップS406)。そこで、暗号処理電力推定部223は、電源電圧の変動に影響を与えない暗号処理パラメータを特定し、分析対象から除外する。続いて、暗号処理電力推定部223は、暗号処理パラメータに含まれるパラメータのうち、電源電圧の変動に影響を与えるパラメータそれぞれについて、分析対象のタイムスライスの消費電力量の合計を目的変数とし、分析対象のタイムスライスにおける電源電圧の変動及び電流の変動、及び、暗号処理パラメータを説明変数とした重回帰分析を行う。各タイムスライスの消費電力量は、タイムスライス内における電源電圧と電流との乗算により得られる。この分析により、電源電圧の変動に影響を与えるパラメータについて、パラメータの値と、分析対象のタイムスライスにおける推定の消費電力量との対応を表す消費電力量推定モデルが得られる。さらに、暗号処理電力推定部223は、分析対象から除外したタイムスライスの電力量を合計した加算消費電力量を標本データに基づいて算出する。また、暗号処理電力推定部223は、電源電圧の変動に影響を与えるパラメータと、処理時間との対応を表す処理時間推定モデルを算出する。
【0060】
暗号処理電力推定部223は、検査パターン格納部224に格納されている検査用暗号処理命令のうち、ステップS402において選択された暗号アルゴリズムの種類が設定されている検査用暗号処理命令を読み出す。暗号処理電力推定部223は、読み出した検査用暗号処理命令それぞれの推定の消費電力量及び処理時間を算出する。具体的には、暗号処理電力推定部223は、検査用暗号処理命令に設定されている暗号処理パラメータから、電源電圧の変動に影響を与えるパラメータとその値を読み出す。暗号処理電力推定部223は、読み出したパラメータの値を、そのパラメータに対応した消費電力量推定モデルに代入して分析対象のタイムスライスにおける推定の消費電力量を算出する。暗号処理電力推定部223は、パラメータごとの推定の消費電力量と、加算消費電力量とを加算して検査用暗号処理命令の推定の消費電力量を算出する。また、暗号処理電力推定部223は、電源電圧の変動に影響を与えるパラメータの値を処理時間推定モデルに代入して、推定の処理時間を算出する。消費電力量推定モデル及び処理時間推定モデルを用いることにより、標本データに含まれていない値の暗号処理パラメータについても消費電力量及び処理時間を推定可能である。暗号処理電力推定部223は、検査用暗号処理命令について推定した消費電力量及び処理時間を、検査パターン格納部224に格納する(ステップS407)。なお、暗号処理電力推定部223は、ここでは、推定の消費電力量及び処理時間を算出せず、暗号アルゴリズムの種類と、消費電力量推定モデル、加算消費電力量及び処理時間推定モデルとを対応付けて検査パターン格納部224に格納してもよい。
【0061】
暗号処理電力推定部223は、未選択の暗号アルゴリズムの種類があるか否かを判定する(ステップS408)。暗号処理電力推定部223は、未選択の暗号アルゴリズムの種類があると判定した場合(ステップS408:YES)、ステップS402からの処理を繰り返す。暗号処理電力推定部223は、全種類の暗号アルゴリズムを選択したと判定した場合(ステップS408:NO)、又は、暗号アルゴリズムごとの標本数が規定値に満たないと判定した場合(ステップS401:NO)、図12の処理を終了する。
【0062】
図13は、検査スケジューラ225の検査スケジューリング処理を示すフロー図である。検査スケジューラ225は、検査パターン格納部224を参照し、1回の検査タイミングにおいて実行する検査暗号処理を決定する。
【0063】
検査スケジューラ225は、変数Pに0を設定し(ステップS501)、変数tに0を設定する(ステップS502)。検査スケジューラ225は、次の検査タイミングにおいて検査を行う検査処理リストに、前回の検査タイミングにおいて最後に実行された検査用暗号処理命令の次の順序の検査用暗号処理命令を追加する(ステップS503)。検査スケジューラ225は、追加した検査用暗号命令処理の推定の消費電力量及び処理時間を、検査パターン格納部224から読み出す(ステップS504)。
【0064】
なお、図12のステップS407において暗号処理電力推定部223が推定の消費電力量及び処理時間を推定していない場合、ステップS504において推定を行ってもよい。すなわち、暗号処理電力推定部223又は検査スケジューラ225は、追加した検査用暗号処理命令から暗号アルゴリズムの種類と暗号処理パラメータを読み出す。暗号処理電力推定部223又は検査スケジューラ225は、暗号アルゴリズムの種類に対応した消費電力量推定モデル、加算消費電力量及び処理時間推定モデルを読み出す。暗号処理電力推定部223又は検査スケジューラ225は、暗号処理パラメータの値を消費電力量推定モデルに代入して得られた消費電力量に、加算消費電力量を加算して検査用暗号処理命令の推定の消費電力量を算出する。また、暗号処理電力推定部223又は検査スケジューラ225は、電源電圧の変動に影響を与える暗号処理パラメータの値を処理時間推定モデルに代入して、推定の処理時間を算出する。
【0065】
検査スケジューラ225は、変数Pの値を、推定された消費電力量を加算した値に更新する(ステップS505)。検査スケジューラ225は、変数tの値を、推定された処理時間を加算した値に更新する(ステップS506)。バッテリー容量算出部222は、バッテリー負荷計測部600から取得したバッテリー負荷情報に基づきバッテリー装置500の残容量を算出し、算出した残容量を検査スケジューラ225に出力する。検査スケジューラ225は、残容量に基づいて利用可能電力量を算出する。検査スケジューラ225は、変数Pが利用可能電力量を超えていないという第一条件と、変数tが設定パラメータにより設定された処理時間を超えていないという第二条件との両方を満たすか否かを判断する(ステップS507)。
【0066】
検査スケジューラ225は、第一条件及び第二条件の両方を満たすと判断した場合(ステップS507:YES)、ステップS503からの処理を繰り返す。なお、検査スケジューラ225は、ステップS503において、前回の追加した検査用暗号処理命令の次の順序の検査用暗号処理命令を検査処理リストに追加する。検査スケジューラ225は、第一条件と第二条件の一方又は両方を満たさないと判断した場合(ステップS507:NO)、検査処理リストから最後に追加した検査用暗号処理命令を削除する(ステップS508)。検査スケジューラ225は、検査処理リストと、検査実行タイミングとを検査実行部226に出力する(ステップS509)。
【0067】
上述した実施形態によれば、検査制御部220は、セキュリティモジュール300の検査のための暗号処理で消費される電力を、検査前に実行した暗号処理時の電源電圧及び電流の変動に基づいて動的に推定する。検査制御部220は、推定結果を用い、セキュリティモジュール300の暗号処理機能の検査のスケジュールをバッテリー状態に応じて制御する。
【0068】
上記のように、暗号処理電力推定部223は、試験暗号処理時の消費電力の情報と通常暗号処理時の消費電力の情報との2種類の情報を組み合わせて、セキュリティモジュール300の検査用の暗号処理の消費電力を推定する。記録部221は、通常暗号処理時においては、セキュリティモジュール300の電源電圧及び電流の変動を記録する。暗号処理電力推定部223は、通常暗号処理については実際の暗号処理内容や命令を参照することなく、検査用の暗号処理実行時の消費電力を推定できる。
【0069】
本実施形態によれば、各セキュリティモジュール300について暗号アルゴリズムと暗号処理パラメータとの組み合わせごとに網羅的に消費電力と処理時間を計測する必要がないため、事前の計測処理を軽減することができる。また、推定された消費電力の情報に基づいて、検証内容をスケジューリングする手段を組み合わせることにより、セキュリティモジュール300の検証に要する電力量の制御を可能とする。
【0070】
図14は、本発明の実施形態による検査制御装置10の最小構成を示すブロック図である。同図に示す最小構成の検査制御装置10は、暗号処理電力推定部11と、決定部12とを備える。暗号処理電力推定部11は、暗号処理手段が実行した暗号処理のアルゴリズムの種類及びその暗号処理に用いられた暗号処理パラメータと、暗号処理の実行のために暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する。決定部12は、暗号処理電力推定部11による推定結果に基づいて、暗号処理命令を実行した際の推定の消費電力量の合計が、利用可能な電力量を超過しないように暗号処理手段へ出力する暗号処理命令を決定する。
【0071】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0072】
(付記1)暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令である第一暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、
前記暗号処理電力推定手段による推定結果に基づいて、前記第一暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記第一暗号処理命令を決定する決定手段と、
を備える検査制御装置。
【0073】
(付記2)前記決定手段は、前記暗号処理手段へ電力を供給する電源装置の残容量に基づいて、利用可能な前記電力量を決定する、
付記1に記載の検査制御装置。
【0074】
(付記3)前記標本データは、さらに、前記暗号処理手段が実行した前記暗号処理の処理時間を含み、
前記暗号処理電力推定手段は、前記標本データに基づいて、前記第一暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した処理時間を推定し、
前記決定手段は、前記暗号処理電力推定手段による推定結果に基づいて、前記第一暗号処理命令を実行した際の推定の処理時間の合計が所定時間を超過しないように前記第一暗号処理命令を決定する、
付記1又は付記2に記載の検査制御装置。
【0075】
(付記4)暗号処理手段が秘匿対象ではない暗号処理命令である第二暗号処理命令を実行した場合、前記第二暗号処理命令に含まれるアルゴリズムの種類及び暗号処理パラメータと、前記第二暗号処理命令の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データと、前記第二暗号処理命令の処理時間とを含む標本データを記録する記録手段をさらに備える、
付記3に記載の検査制御装置。
【0076】
(付記5)前記記録手段は、前記暗号処理手段が秘匿対象の暗号処理命令である第三暗号処理命令を実行した場合、前記第三暗号処理命令の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データと、前記第三暗号処理命令の処理時間とを含む処理記録データを記憶し、
前記暗号処理電力推定手段は、前記標本データに基づいて、暗号アルゴリズムの種類及び暗号処理パラメータのそれぞれと前記変動データとの対応を分析し、分析結果に基づいて、前記処理記録データが示す前記変動データに対応した暗号アルゴリズムの種類及び暗号処理パラメータを推定し、推定結果を前記処理記録データに加えて前記標本データを生成する、
付記4に記載の検査制御装置。
【0077】
(付記6)前記暗号処理電力推定手段は、複数のそれぞれの前記標本データが示す前記変動データを時間帯毎に分割し、全ての前記標本データにおいて前記変動データが類似している時間帯の前記変動データを除外して前記分析を行う、
付記5に記載の検査制御装置。
【0078】
(付記7)前記変動データは、前記暗号処理手段に供給された電源電圧及び電流それぞれの時系列の値を示す、
付記1から付記6のいずれかに記載の検査制御装置。
【0079】
(付記8)入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理手段と、
前記暗号処理手段が実行した前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する暗号処理電力推定手段と、
前記暗号処理電力推定手段による推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定手段と、
を備える情報処理装置。
【0080】
(付記9)暗号処理手段が実行した暗号処理のアルゴリズムの種類及び前記暗号処理に用いた暗号処理パラメータと、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、
前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、
を有する検査制御方法。
【0081】
(付記10)暗号処理手段が、入力した暗号処理のアルゴリズムの種類及び前記暗号処理のパラメータに基づいて暗号処理を実行する暗号処理ステップと、
暗号処理電力推定手段が、前記暗号処理ステップにおいて実行された前記暗号処理と、前記暗号処理の実行のために前記暗号処理手段に供給された電力に関する時系列の値を示す変動データとを含む標本データに基づいて、検査のために前記暗号処理手段へ出力する1以上の暗号処理命令それぞれに含まれるアルゴリズムの種類及び暗号処理パラメータに対応した消費電力量を推定する推定ステップと、
決定手段が、前記推定ステップにおける推定結果に基づいて、前記暗号処理命令を実行した際の推定の前記消費電力量の合計が、利用可能な電力量を超過しないように前記暗号処理手段へ出力する前記暗号処理命令を決定する決定ステップと、
を有する検査制御方法。
【0082】
(付記11)コンピュータを、付記1から付記7のいずれかに記載の検査制御装置として機能させるためのプログラム。
【0083】
(付記12)コンピュータを、付記8に記載の情報処理装置として機能させるためのプログラム。
【0084】
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。
【符号の説明】
【0085】
10…検査制御装置、11…暗号処理電力推定部、12…決定部、100…情報処理システム、200…プロセッサ、210…アプリケーション実行部、220…検査制御部、221…記録部、222…バッテリー容量算出部、223…暗号処理電力推定部、224…検査パターン格納部、225…検査スケジューラ、226…検査実行部、230…バス、300…セキュリティモジュール、400…セキュリティモジュール負荷計測部、410…電圧計、420…電流計、500…バッテリー装置、600…バッテリー負荷計測部、610…電圧計、620…電流計、700…出力装置、800…通信装置、900…記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14