(57)【要約】【課題】可用性を向上させつつ、セキュリティを向上させることができる情報処理システム、及び情報処理装置を提供することである。【解決手段】実施形態の情報処理システムは、Ｎ個の情報処理装置と、制御装置とを持つ。Ｎ個の情報処理装置は、秘密分散法を利用して、秘密情報から生成したＮ個の部分情報を分割して保持し、部分情報記憶部と、取得部と、情報復元部と、情報処理部とを持つ。部分情報記憶部は、前記Ｎ個の部分情報のうちの１つの部分情報を記憶する。取得部は、他の情報処理装置が保持する少なくとも（ｋ−１）個の部分情報を取得する。情報復元部は、前記（ｋ−１）個の部分情報と、前記１つの部分情報とに基づいて、前記秘密情報を復元する。情報処理部は、前記秘密情報に基づいて、セキュリティに関する所定の処理を実行する。制御装置は、前記Ｎ個の情報処理装置のうちのいずれかに、前記所定の処理の実行を依頼する。【選択図】図１
2020048008.tif 000002
【特許請求の範囲】
【請求項１】
Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報を復元可能な前記Ｎ個の部分情報に、前記秘密情報を分割する秘密分散法を利用して、前記秘密情報から生成した前記Ｎ個の部分情報を分割して保持するＮ個の情報処理装置（但し、ｋは２以上の整数、且つ、Ｎ＞ｋ）であって、
前記Ｎ個の部分情報のうちの１つの部分情報を記憶する部分情報記憶部と、
前記Ｎ個の部分情報のうちの、他の情報処理装置が保持する少なくとも（ｋ−１）個の部分情報を取得する取得部と、
前記取得部が取得した前記（ｋ−１）個の部分情報と、前記１つの部分情報とに基づいて、前記秘密情報を復元する情報復元部と、
前記情報復元部が復元した前記秘密情報に基づいて、セキュリティに関する所定の処理を実行する情報処理部と、
を備えるＮ個の情報処理装置と、
前記Ｎ個の情報処理装置のうちのいずれかに、前記所定の処理の実行を依頼する制御装置と
を備える情報処理システム。
【請求項２】
前記Ｎ個の情報処理装置のうちの少なくとも１つの情報処理装置は、前記秘密分散法を利用して、前記秘密情報から前記Ｎ個の部分情報を生成し、生成した前記Ｎ個の部分情報のうちの前記１つの部分情報を部分情報記憶部に記憶させ、前記Ｎ個の部分情報のうちの前記１つの部分情報以外の（Ｎ−１）個の部分情報を前記制御装置に出力する部分情報生成部を備え、
前記制御装置は、前記部分情報生成部が出力した前記（Ｎ−１）個の部分情報のそれぞれを、前記（Ｎ−１）個の部分情報を出力した前記１つの情報処理装置以外の情報処理装置のそれぞれが備える前記部分情報記憶部に記憶させる
請求項１に記載の情報処理システム。
【請求項３】
前記制御装置は、新たな前記情報処理装置の追加又は入れ替えが行われた場合に、前記Ｎ個の情報処理装置のうちの少なくとも１つの情報処理装置に対して、前記新たな情報処理装置に対する部分情報を生成させる再構築依頼を送信し、
前記再構築依頼を受信した前記情報処理装置が備える前記部分情報生成部は、前記情報復元部が復元した前記秘密情報と、前記部分情報記憶部が記憶する前記１つの部分情報及び前記取得部が取得した前記（ｋ−１）個の部分情報とから、前記秘密分散法を利用して、前記新たな情報処理装置に対する部分情報を生成し、生成した前記新たな情報処理装置に対する部分情報を前記制御装置に出力し、
前記制御装置は、前記部分情報生成部が出力した前記部分情報を、前新たな情報処理装置が備える前記部分情報記憶部に記憶させる
請求項２に記載の情報処理システム。
【請求項４】
前記制御装置は、前記Ｎ個の情報処理装置のうちから、乱数に基づいて選択された前記情報処理装置に、前記所定の処理の実行を依頼する
請求項１から請求項３のいずれか一項に記載の情報処理システム。
【請求項５】
前記制御装置は、前記Ｎ個の情報処理装置のうちから、前記Ｎ個の情報処理装置の間で前記所定の処理による処理負荷が分散されるように選択された前記情報処理装置に、前記所定の処理の実行を依頼する
請求項１から請求項４のいずれか一項に記載の情報処理システム。
【請求項６】
前記取得部は、前記情報処理装置のなりすましを検出する場合に、前記Ｎ個の部分情報のうちの、他の情報処理装置が保持する（Ｎ−１）個の部分情報を取得し、
前記Ｎ個の情報処理装置のうちの少なくとも１つの情報処理装置は、
前記制御装置からのなりすまし検出依頼に応じて、前記取得部が取得した前記（Ｎ−１）個の部分情報及び前記部分情報記憶部が記憶する前記１つの部分情報からｋ個の部分情報を選択した各組合せから、前記秘密分散法を利用して復元した全ての前記秘密情報が一致するか否かに応じて、前記情報処理装置のなりすましを検出するなりすまし検出部を備える
請求項１から請求項５のいずれか一項に記載の情報処理システム。
【請求項７】
前記秘密分散法が、シャミアの秘密分散法である請求項１から請求項６のいずれか一項に記載の情報処理システム。
【請求項８】
Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報を復元可能な前記Ｎ個の部分情報に、前記秘密情報を分割する秘密分散法を利用して、前記秘密情報から生成した前記Ｎ個の部分情報を分割して保持するＮ個の情報処理装置（但し、ｋは２以上の整数、且つ、Ｎ＞ｋ）と、前記Ｎ個の情報処理装置のうちのいずれかに、セキュリティに関する所定の処理の実行を依頼する制御装置とを備える情報処理システムの情報処理装置であって、
前記Ｎ個の部分情報のうちの１つの部分情報を記憶する部分情報記憶部と、
前記Ｎ個の部分情報のうちの、他の情報処理装置が保持する少なくとも（ｋ−１）個の部分情報を取得する取得部と、
前記取得部が取得した前記（ｋ−１）個の部分情報と、前記１つの部分情報とに基づいて、前記秘密情報を復元する情報復元部と、
前記情報復元部が復元した前記秘密情報に基づいて、前記所定の処理を実行する情報処理部と、
を備える情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理システム、及び情報処理装置に関する。
【背景技術】
【０００２】
近年、複数のＨＳＭ（Hardware Security Module）を備え、ＨＳＭを利用して、例えば、データ秘匿、電子署名、機器認証などの情報処理を行う情報処理システムが知られている。このような従来の情報処理システムでは、例えば、処理負荷の軽減及び可用性の向上のために、複数のＨＳＭを備え、複数のＨＳＭには、同一の暗号鍵などの秘密情報を保管していた。しかしながら、従来の情報処理システムでは、例えば、複数のＨＳＭのうちの１つから秘密情報が漏洩した場合に、システム全体のセキュリティが脅かされる可能性があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０１６−５１８６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする課題は、可用性を向上させつつ、セキュリティを向上させることができる情報処理システム、及び情報処理装置を提供することである。
【課題を解決するための手段】
【０００５】
実施形態の情報処理システムは、Ｎ個の情報処理装置と、制御装置とを持つ。Ｎ個の情報処理装置は、Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報を復元可能な前記Ｎ個の部分情報に、前記秘密情報を分割する秘密分散法を利用して、前記秘密情報から生成した前記Ｎ個の部分情報を分割して保持するＮ個の情報処理装置（但し、ｋは２以上の整数、且つ、Ｎ＞ｋ）であって、部分情報記憶部と、取得部と、情報復元部と、情報処理部とを持つ。部分情報記憶部は、前記Ｎ個の部分情報のうちの１つの部分情報を記憶する。取得部は、前記Ｎ個の部分情報のうちの、他の情報処理装置が保持する少なくとも（ｋ−１）個の部分情報を取得する。情報復元部は、前記取得部が取得した前記（ｋ−１）個の部分情報と、前記１つの部分情報とに基づいて、前記秘密情報を復元する。情報処理部は、前記情報復元部が復元した前記秘密情報に基づいて、セキュリティに関する所定の処理を実行する。制御装置は、前記Ｎ個の情報処理装置のうちのいずれかに、前記所定の処理の実行を依頼する。
【図面の簡単な説明】
【０００６】
【図１】実施形態の情報処理システムの一例を示すブロック図。
【図２】実施形態の秘密分散法の一例を説明する図。
【図３】実施形態の情報処理システムの鍵生成処理の一例を示す図。
【図４】実施形態の情報処理システムの暗号演算処理の一例を示す図。
【図５】実施形態の情報処理システムのＨＳＭ故障時の復旧処理の一例を示す図。
【図６】実施形態の情報処理システムのＨＳＭのなりすまし検出処理の一例を示す図。
【発明を実施するための形態】
【０００７】
以下、実施形態の情報処理システム、及び情報処理装置を、図面を参照して説明する。
【０００８】
図１は、実施形態の情報処理システム１の一例を示すブロック図である。
図１に示すように、情報処理システム１は、ホストサーバ２０と、ＨＳＭコントローラ３０と、ルータ４０と、ＨＳＭ（１０−１、１０−２、１０−３、・・・）とを備える。
【０００９】
なお、本実施形態において、ＨＳＭ１０−１と、ＨＳＭ１０−２と、ＨＳＭ１０−３と、・・・のそれぞれは、同一の構成であり、単に情報処理システム１が備えるＨＳＭを示す場合、又は、区別しない場合には、ＨＳＭ１０として説明する。
また、本実施形態では、情報処理システム１は、Ｎ個（例えば、３個）のＨＳＭ１０を備えるものとして説明する。Ｎ個のＨＳＭ１０のそれぞれは、例えば、暗号鍵などの秘密情報を復元するための異なる部分情報を保持している。ここで、部分情報は、暗号鍵などの秘密情報から（ｋ，Ｎ）しきい値法を利用して生成された情報である。なお、（ｋ，Ｎ）しきい値法の詳細については後述する。
【００１０】
ホストサーバ２０は、各種の処理を実行するサーバ装置であり、ＨＳＭ１０を利用して、セキュリティに関する所定の処理（例えば、暗号化処理、復号処理、署名生成、認証処理などの暗号演算処理）の実行を指示する。
【００１１】
ＨＳＭコントローラ３０（制御装置の一例）は、ホストサーバ２０とＮ個（複数）のＨＳＭ１０の間に配置され、Ｎ個のＨＳＭ１０がホストサーバ２０から仮想的に１台に見えるように、ＨＳＭ１０を制御する。ＨＳＭコントローラ３０は、例えば、ホストサーバ２０によって指示された所定の処理を実行させるＨＳＭ１０を選択し、当該所定の処理をＨＳＭ１０に実行させる。すなわち、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちのいずれかに、所定の処理の実行を依頼する。
【００１２】
また、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちから、乱数に基づいて選択されたＨＳＭ１０に、所定の処理の実行を依頼する。すなわち、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちから、Ｎ個のＨＳＭ１０の間で所定の処理による処理負荷が分散されるように選択されたＨＳＭ１０に、所定の処理の実行を依頼する。
【００１３】
また、ＨＳＭコントローラ３０は、ＨＳＭ１０の鍵生成及び部分情報の分散処理、ＨＳＭ１０のなりすまし検出処理などの制御を行う。例えば、ＨＳＭコントローラ３０は、新たなＨＳＭ１０の追加又は入れ替えが行われた場合に、Ｎ個のＨＳＭ１０のうちの少なくとも１つのＨＳＭ１０に対して、新たなＨＳＭ１０に対する部分情報を生成させる再構築依頼を送信する。そして、ＨＳＭコントローラ３０は、再構築依頼を送信したＨＳＭ１０が出力された部分情報を、新たなＨＳＭ１０に送信して、新たなＨＳＭ１０が備える部分情報記憶部１２１に記憶させる。
また、ＨＳＭコントローラ３０は、通信部３１と、制御部３２と、記憶部３３と、乱数生成部３４とを備える。
【００１４】
通信部３１は、例えば、ＬＡＮ（Local Area Network）などのネットワークを介して、ホストサーバ２０、及び、ＨＳＭ１０との間の通信を行う。通信部３１は、ルータ４０を介して、Ｎ個のＨＳＭ１０との間の通信を行う。
【００１５】
制御部３２は、例えば、ＣＰＵ（Central Processing Unit）などを含むプロセッサであり、ＨＳＭコントローラ３０を統括的に制御する。制御部３２は、例えば、ＨＳＭ１０の選択処理、ＨＳＭ１０の鍵生成及び部分情報の分散処理、ＨＳＭ１０のなりすまし検出処理、ホストサーバ２０からの指示に基づく暗号演算処理などの制御を行う。
【００１６】
記憶部３３は、ＨＳＭコントローラ３０の各種処理において利用される各種情報を記憶する。記憶部３３は、例えば、情報処理システム１が備えるＨＳＭ１０の管理情報（ＨＳＭ１０の識別情報、ＨＳＭ１０の投入タスク情報など）や、ホストサーバ２０又はＨＳＭ１０との間の通信データ、等を記憶する。
乱数生成部３４は、乱数を生成する。乱数生成部３４が生成した乱数は、例えば、制御部３２によるＨＳＭ１０の選択処理に利用される。
【００１７】
ルータ４０は、ＨＳＭコントローラ３０とＮ個のＨＳＭ１０との間に配置され、例えば、Ｎ個のＨＳＭ１０が接続されているネットワーク（例えば、ＬＡＮ）と、ＨＳＭコントローラ３０が接続されているネットワークとの間のデータを中継する。
【００１８】
ＨＳＭ１０（情報処理装置の一例）は、秘密分散法を利用して、暗号鍵などの秘密情報から生成したＮ個の部分情報を分割して保持する。ここで、秘密分散法とは、Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報を復元可能なＮ個の部分情報に、当該秘密情報を分割する（ｋ，Ｎ）しきい値法のことである。但し、ｋは、２以上の整数であり、Ｎは、ｋより大きい（Ｎ＞ｋ）。本実施形態では、（ｋ，Ｎ）しきい値法の一例として、シャミア（Shamir）の秘密分散法について説明する。
【００１９】
シャミアの秘密分散法では、（ｋ−１）次の多項式ｆ（ｘ）の定数項を秘密情報Ｓとし、多項式ｆ（ｘ）の線上の各点の座標（ｘ，ｆ（ｘ））が部分情報となる。（ｋ−１）次の多項式では、線上のｋ個の点の座標が判明すれば、多項式補間により、多項式ｆ（ｘ）を一意に決定することができるため、シャミアの秘密分散法では、少なくともｋ個以上の部分情報から秘密情報Ｓを復元することが可能である。
ここで、図２を参照して、シャミアの秘密分散法の具体例について説明する。
【００２０】
図２は、本実施形態の秘密分散法の一例を説明する図である。
図２に示す例では、ｋが“２”（ｋ＝２）であり、（ｋ−１）次の多項式が１次関数である場合の一例について説明する。
図２において、横軸は、ｘ軸であり、縦軸は、ｙ軸である。また、グラフの関数ｆ（ｘ）は、以下の（１）式により表される。
【００２１】
ｙ＝ｆ（ｘ）＝ａ・ｘ＋Ｓ  ・・・  （１）
【００２２】
ここで、変数ａは、一次係数であり、秘密情報Ｓは、定数項である。
また、Ｎを“３”（Ｎ＝３）とした場合に、一次関数ｆ（ｘ）の直線上の３つの点の座標が部分情報となる。図２に示す例では、部分情報Ｐ１が、座標（ｘ１，ｙ１）であり、部分情報Ｐ２が、座標（ｘ２，ｙ２）である。また、部分情報Ｐ３が、座標（ｘ３，ｙ３）である。
【００２３】
部分情報Ｐ１〜部分情報Ｐ３のうちの、少なくとも２つが分かれば、この２つの部分情報から上述した（１）式の変数ａ（一次係数）及び秘密情報Ｓを決定することが可能であり、秘密情報Ｓを復元することができる。
【００２４】
図１の説明に戻り、ＨＳＭ１０は、上述のように生成された部分情報を保持している。なお、本実施形態では、ＨＳＭ１０−１が、部分情報Ｐ１を保持し、ＨＳＭ１０−２が、部分情報Ｐ２を保持し、ＨＳＭ１０−３が、部分情報Ｐ３を保持するものとする。
また、ＨＳＭ１０は、通信部１１と、モジュール記憶部１２と、モジュール制御部１３とを備える。
【００２５】
通信部１１は、例えば、ルータ４０を介して、ＨＳＭコントローラ３０との間の通信を行う。
モジュール記憶部１２は、ＨＳＭ１０の各種処理において利用される各種情報を記憶する。モジュール記憶部１２は、例えば、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、及びＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）などで構成される。また、モジュール記憶部１２は、部分情報記憶部１２１と、秘密分散情報記憶部１２２と、セッションキー記憶部１２３と、取得情報記憶部１２４と、復元鍵記憶部１２５とを備える。
【００２６】
部分情報記憶部１２１は、例えば、ＥＥＰＲＯＭにより構成された記憶部であり、上述したシャミアの秘密分散法により生成された部分情報を記憶する。部分情報記憶部１２１は、Ｎ個の部分情報のうちの１つの部分情報を記憶する。
【００２７】
秘密分散情報記憶部１２２は、例えば、ＥＥＰＲＯＭにより構成された記憶部であり、秘密分散法に関する情報を記憶する。ここで、秘密分散法に関する情報とは、例えば、情報処理システム１で適用している（ｋ，Ｎ）しきい値法のｋの値及びＮの値、情報処理システム１が備える他のＨＳＭ１０の識別情報などである。
【００２８】
セッションキー記憶部１２３は、例えば、ＲＡＭにより構成された記憶部であり、他のＨＳＭ１０との間で部分情報の送受信を行う際の一時的な暗号キーであるセッションキーを記憶する。セッションキー記憶部１２３は、例えば、他のＨＳＭ１０の識別情報と、当該他のＨＳＭ１０との間の通信に用いるセッションキーとを対応付けて記憶する。
【００２９】
取得情報記憶部１２４は、例えば、ＲＡＭにより構成された記憶部であり、他のＨＳＭ１０から取得した部分情報を記憶する。取得情報記憶部１２４は、例えば、他のＨＳＭ１０の識別情報と、部分情報とを対応付けて記憶する。
【００３０】
復元鍵記憶部１２５は、例えば、ＲＡＭにより構成された記憶部であり、ｋ個の部分情報に基づいて復元した秘密情報を記憶する。復元鍵記憶部１２５は、例えば、暗号鍵を記憶する。ここでの暗号鍵には、例えば、共通鍵暗号の暗号鍵、公開鍵暗号の秘密鍵などを含み、暗号鍵は、任意の暗号方式の暗号鍵であってもよい。
【００３１】
モジュール制御部１３は、例えば、ＣＰＵなどを含むプロセッサであり、ＨＳＭ１０を統括的に制御する。モジュール制御部１３は、セッションキー生成部１３１と、情報取得部１３２と、部分情報生成部１３３と、鍵情報復元部１３４と、暗号演算処理部１３５と、なりすまし検出部１３６とを備える。
【００３２】
セッションキー生成部１３１は、他のＨＳＭ１０との間の暗号通信に使用するセッションキーを生成する処理を実行する。セッションキー生成部１３１は、例えば、他のＨＳＭ１０との間で相互に生成した乱数と、予め定められた秘密鍵とに基づいて、一時的な暗号キーであるセッションキーを生成する。セッションキー生成部１３１は、生成したセッションキーと、他のＨＳＭ１０の識別情報とを対応付けて、セッションキー記憶部１２３に記憶させる。
【００３３】
情報取得部１３２（取得部の一例）は、通信部１１を介して、Ｎ個の部分情報のうちの、他のＨＳＭ１０が保持する少なくとも（ｋ−１）個の部分情報を取得する。また、情報取得部１３２は、ＨＳＭ１０のなりすましを検出する場合に、Ｎ個の部分情報のうちの、他のＨＳＭ１０が保持する（Ｎ−１）個の部分情報を取得する。ここで、（ｋ−１）個の部分情報及び（Ｎ−１）個の部分情報とは、自装置が保持する１つの部分情報以外の部分情報を示す。情報取得部１３２は、取得した部分情報を、他のＨＳＭ１０の識別情報と対応付けて、取得情報記憶部１２４に記憶させる。
【００３４】
部分情報生成部１３３は、上述したシャミアの秘密分散法を利用して、暗号鍵などの秘密情報からＮ個の部分情報を生成し、生成したＮ個の部分情報のうちの１つの部分情報を部分情報記憶部１２１に記憶させる。また、部分情報生成部１３３は、生成したＮ個の部分情報のうちの１つの部分情報以外の（Ｎ−１）個の部分情報を、通信部１１を介して、ＨＳＭコントローラ３０に出力する。すなわち、部分情報生成部１３３は、部分情報記憶部１２１に記憶させた部分情報以外の部分情報を、他のＨＳＭ１０に保持させるために、ＨＳＭコントローラ３０に出力する。なお、部分情報生成部１３３は、上述したシャミアの秘密分散法である（ｋ，Ｎ）しきい値法を用いて、ｋ個の部分情報から秘密情報を復元可能なＮ個の部分情報を生成する際に、秘密分散情報記憶部１２２が記憶する情報（例えば、ｋの値及びＮの値）を利用する。
【００３５】
また、新たなＨＳＭ１０の追加又は入れ替えが行われ、ＨＳＭコントローラ３０から再構築依頼を受信した場合に、部分情報生成部１３３は、新たなＨＳＭ１０に対する部分情報を生成する。部分情報生成部１３３は、後述する鍵情報復元部１３４が復元した秘密情報と、部分情報記憶部１２１が記憶する１つの部分情報及び情報取得部１３２が取得した（ｋ−１）個の部分情報とから、上述したシャミアの秘密分散法を利用して、新たなＨＳＭ１０に対する部分情報を生成する。部分情報生成部１３３は、生成した新たなＨＳＭ１０に対する部分情報を、通信部１１を介して、ＨＳＭコントローラ３０に出力する。
【００３６】
鍵情報復元部１３４（情報復元部の一例）は、情報取得部１３２が取得した（ｋ−１）個の部分情報と、部分情報記憶部１２１が記憶する１つの部分情報とに基づいて、秘密情報を復元する。鍵情報復元部１３４は、取得情報記憶部１２４が記憶する（ｋ−１）個の部分情報と、部分情報記憶部１２１が記憶する１つの部分情報との合計ｋ個の部分情報（座標情報）から、多項式補間により、（ｋ−１）次の多項式ｆ（ｘ）を求めることにより、秘密情報を復元する。鍵情報復元部１３４は、復元した秘密情報を、復元鍵記憶部１２５に記憶させる。
【００３７】
暗号演算処理部１３５（情報処理部の一例）は、鍵情報復元部１３４が復元した秘密情報に基づいて、セキュリティに関する所定の処理を実行する。ここで、所定の処理は、例えば、暗号化処理、復号処理、署名生成、認証処理などの暗号演算処理などである。暗号演算処理部１３５は、ＨＳＭコントローラ３０からの暗号演算の指示（依頼）に応じて、復元鍵記憶部１２５が記憶する秘密情報（例えば、暗号鍵）を用いて、各種暗号演算処理を実行する。また、暗号演算処理部１３５は、各種暗号演算処理の処理結果を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００３８】
また、暗号演算処理部１３５は、他のＨＳＭ１０との間の秘匿通信のためのセッションキーに基づく、暗号化処理及び復号処理を実行する。この場合、暗号演算処理部１３５は、セッションキー記憶部１２３が記憶する相手先のＨＳＭ１０に対応するセッションキーを用いて、各種情報の暗号化処理及び復号処理を実行する。
【００３９】
なりすまし検出部１３６は、ＨＳＭコントローラ３０からのなりすまし検出依頼に応じて、ＨＳＭ１０のなりすましを検出する。なりすまし検出部１３６は、情報取得部１３２が取得した（Ｎ−１）個の部分情報及び部分情報記憶部１２１が記憶する１つの部分情報からｋ個の部分情報を選択した各組合せから、秘密分散法を利用して、全てのｋ個の部分情報の組合せの秘密情報を、鍵情報復元部１３４に復元させる。なりすまし検出部１３６は、例えば、鍵情報復元部１３４が復元した全ての秘密情報が一致するか否かに応じて、ＨＳＭ１０のなりすましを検出する。なりすまし検出部１３６は、検出結果を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００４０】
次に、図面を参照して、本実施形態による情報処理システム１の動作について説明する。まず、図３を参照して、情報処理システム１の鍵生成処理の動作について説明する。
図３は、本実施形態の情報処理システム１の鍵生成処理の一例を示す図である。
この図において、ｋが“２”（ｋ＝２）であり、Ｎが“３”（Ｎ＝３）である場合の一例について説明する。すなわち、情報処理システム１は、３個のＨＳＭ１０（１０−１、１０−２、１０−３）を備えるものとして、（２，３）しきい値法により３個の部分情報（Ｐ１、Ｐ２、Ｐ３）を生成する一例を説明する。
【００４１】
図３において、まず、ホストサーバ２０が、鍵生成の指示をＨＳＭコントローラ３０に送信する（ステップＳ１０１）。
次に、ホストサーバ２０からの鍵生成の指示を受信したＨＳＭコントローラ３０は、３個のＨＳＭ１０のうちの１つ（例えば、ＨＳＭ１０−１）を選択し、鍵生成の指示をＨＳＭ１０−１に送信する（ステップＳ１０２）。
【００４２】
次に、ＨＳＭ１０−１は、暗号鍵を生成する（ステップＳ１０３）。すなわち、ＨＳＭ１０−１のモジュール制御部１３は、ＨＳＭコントローラ３０からの鍵生成の指示に応じて、所定の鍵生成手順に基づいて、暗号鍵を生成する。
次に、ＨＳＭ１０−１は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ１０４）。
【００４３】
次に、ＨＳＭコントローラ３０は、ＨＳＭ１０−１とＨＳＭ１０−２との間のセッションキー（ＳＫ１−２）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ１０５）。
次に、ＨＳＭ１０−１は、ＨＳＭ１０−２との間でセッションキー（ＳＫ１−２）を生成する（ステップＳ１０６）。ＨＳＭ１０−１のセッションキー生成部１３１と、ＨＳＭ１０−２のセッションキー生成部１３１とは、例えば、互いに乱数の交換などを行って、それぞれが共通のセッションキー（ＳＫ１−２）を生成する。
【００４４】
次に、ＨＳＭ１０−２は、生成したセッションキー（ＳＫ１−２）を保持する（ステップＳ１０７）。すなわち、ＨＳＭ１０−２のセッションキー生成部１３１は、生成したセッションキー（ＳＫ１−２）を、セッションキー記憶部１２３に記憶させる。
また、ＨＳＭ１０−１は、生成したセッションキー（ＳＫ１−２）を保持する（ステップＳ１０８）。すなわち、ＨＳＭ１０−１のセッションキー生成部１３１は、生成したセッションキー（ＳＫ１−２）を、セッションキー記憶部１２３に記憶させる。
次に、ＨＳＭ１０−１は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ１０９）。
【００４５】
次に、ＨＳＭコントローラ３０は、ＨＳＭ１０−１とＨＳＭ１０−３との間のセッションキー（ＳＫ１−３）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ１１０）。
次に、ＨＳＭ１０−１は、ＨＳＭ１０−３との間でセッションキー（ＳＫ１−３）を生成する（ステップＳ１１１）。ＨＳＭ１０−１のセッションキー生成部１３１と、ＨＳＭ１０−３のセッションキー生成部１３１とは、例えば、互いに乱数の交換などを行って、それぞれが共通のセッションキー（ＳＫ１−３）を生成する。
【００４６】
次に、ＨＳＭ１０−３は、生成したセッションキー（ＳＫ１−３）を保持する（ステップＳ１１２）。すなわち、ＨＳＭ１０−３のセッションキー生成部１３１は、生成したセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３に記憶させる。
また、ＨＳＭ１０−１は、生成したセッションキー（ＳＫ１−３）を保持する（ステップＳ１１３）。すなわち、ＨＳＭ１０−１のセッションキー生成部１３１は、生成したセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３に記憶させる。
次に、ＨＳＭ１０−１は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ１１４）。
【００４７】
次に、ＨＳＭコントローラ３０は、ＨＳＭ１０−１に暗号鍵の秘密分散を指示する（ステップＳ１１５）。
次に、ＨＳＭ１０−１は、部分情報（Ｐ１、Ｐ２、Ｐ３）を生成する（ステップＳ１１６）。ＨＳＭ１０−１の部分情報生成部１３３は、上述したシャミアの秘密分散法を利用して、暗号鍵から３個の部分情報（Ｐ１、Ｐ２、Ｐ３）を生成する。
【００４８】
次に、ＨＳＭ１０−１の部分情報生成部１３３は、生成した３個の部分情報のうちの１つ（部分情報Ｐ１）を部分情報記憶部１２１に記憶させる（ステップＳ１１７）。
次に、ＨＳＭ１０−１の部分情報生成部１３３は、生成した部分情報Ｐ２をセッションキー（ＳＫ１−２）で暗号化して、ＨＳＭコントローラ３０に出力する（ステップＳ１１８）。部分情報生成部１３３は、例えば、暗号演算処理部１３５に、生成した部分情報Ｐ２をセッションキー（ＳＫ１−２）で暗号化させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−２に対応するセッションキー（ＳＫ１−２）により、部分情報Ｐ２を暗号化して、部分情報生成部１３３に戻す。部分情報生成部１３３は、暗号化された部分情報Ｐ２を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００４９】
次に、ＨＳＭコントローラ３０は、暗号化された部分情報Ｐ２をＨＳＭ１０−２に転送する（ステップＳ１１９）。ＨＳＭコントローラ３０の制御部３２は、通信部３１を介して、暗号化された部分情報Ｐ２をＨＳＭ１０−１から受信し、受信した暗号化された部分情報Ｐ２を、通信部３１を介して、ＨＳＭ１０−２に転送する。
【００５０】
次に、ＨＳＭ１０−２は、暗号化された部分情報Ｐ２をセッションキー（ＳＫ１−２）で復号する（ステップＳ１２０）。ＨＳＭ１０−２の部分情報生成部１３３は、例えば、暗号演算処理部１３５に、取得した暗号化された部分情報Ｐ２をセッションキー（ＳＫ１−２）で復号させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−１に対応するセッションキー（ＳＫ１−２）により、暗号化された部分情報Ｐ２を復号して、部分情報生成部１３３に戻す。
次に、ＨＳＭ１０−２の部分情報生成部１３３は、ＨＳＭ１０−１から取得した部分情報Ｐ２を部分情報記憶部１２１に記憶させる（ステップＳ１２１）。
【００５１】
また、ＨＳＭ１０−１の部分情報生成部１３３は、生成した部分情報Ｐ３をセッションキー（ＳＫ１−３）で暗号化して、ＨＳＭコントローラ３０に出力する（ステップＳ１２２）。部分情報生成部１３３は、例えば、暗号演算処理部１３５に、生成した部分情報Ｐ３をセッションキー（ＳＫ１−３）で暗号化させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−３に対応するセッションキー（ＳＫ１−３）により、部分情報Ｐ３を暗号化して、部分情報生成部１３３に戻す。部分情報生成部１３３は、暗号化された部分情報Ｐ３を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００５２】
次に、ＨＳＭコントローラ３０は、暗号化された部分情報Ｐ３をＨＳＭ１０−３に転送する（ステップＳ１２３）。ＨＳＭコントローラ３０の制御部３２は、通信部３１を介して、暗号化された部分情報Ｐ３をＨＳＭ１０−１から受信し、受信した暗号化された部分情報Ｐ３を、通信部３１を介して、ＨＳＭ１０−３に転送する。
【００５３】
次に、ＨＳＭ１０−３は、暗号化された部分情報Ｐ３をセッションキー（ＳＫ１−３）で復号する（ステップＳ１２４）。ＨＳＭ１０−３の部分情報生成部１３３は、例えば、暗号演算処理部１３５に、取得した暗号化された部分情報Ｐ３をセッションキー（ＳＫ１−３）で復号させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−１に対応するセッションキー（ＳＫ１−３）により、暗号化された部分情報Ｐ３を復号して、部分情報生成部１３３に戻す。
次に、ＨＳＭ１０−３の部分情報生成部１３３は、ＨＳＭ１０−１から取得した部分情報Ｐ３を部分情報記憶部１２１に記憶させる（ステップＳ１２５）。
【００５４】
次に、ＨＳＭ１０−１は、セッションキー（ＳＫ１−２、ＳＫ１−３）を削除する（ステップＳ１２６）。すなわち、ＨＳＭ１０−１のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−２）及びセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。また、モジュール制御部１３は、部分情報生成部１３３が生成した他のＨＳＭ１０の部分情報をＨＳＭ１０−１から消去する。すなわち、モジュール制御部１３は、部分情報Ｐ２及び部分情報Ｐ３をＨＳＭ１０−１から消去する。
【００５５】
また、ＨＳＭ１０−２は、セッションキー（ＳＫ１−２）を削除する（ステップＳ１２７）。すなわち、ＨＳＭ１０−２のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−２）を、セッションキー記憶部１２３から消去する。
次に、ＨＳＭ１０−２は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ１２８）。
【００５６】
また、ＨＳＭ１０−３は、セッションキー（ＳＫ１−３）を削除する（ステップＳ１２９）。すなわち、ＨＳＭ１０−３のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。
次に、ＨＳＭ１０−３は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ１３０）。
次に、ＨＳＭコントローラ３０は、処理終了応答（レスポンス）を、通信部３１を介して、ホストサーバ２０に送信する（ステップＳ１３１）。
【００５７】
このように、図３に示す例では、ＨＳＭ１０−１が（２，３）しきい値法により３個の部分情報（Ｐ１、Ｐ２、Ｐ３）を生成し、３個の部分情報のうちの２個の部分情報（Ｐ２、Ｐ３）を、ＨＳＭ１０−２及びＨＳＭ１０−３に送信して保持させる。これにより、ＨＳＭ１０−１が部分情報Ｐ１を保持し、ＨＳＭ１０−２が部分情報Ｐ２を保持し、ＨＳＭ１０−３が部分情報Ｐ３を保持する。
【００５８】
次に、図４を参照して、情報処理システム１の暗号演算処理の動作について説明する。
図４は、本実施形態の情報処理システム１の暗号演算処理の一例を示す図である。
この図において、上述した図３と同様に、ｋが“２”（ｋ＝２）であり、Ｎが“３”（Ｎ＝３）である場合の一例について説明する。すなわち、情報処理システム１は、３個のＨＳＭ１０（１０−１、１０−２、１０−３）を備え、ＨＳＭ１０−１が部分情報Ｐ１を保持し、ＨＳＭ１０−２が部分情報Ｐ２を保持し、ＨＳＭ１０−３が部分情報Ｐ３を保持しているものとして説明する。
【００５９】
図４において、まず、ホストサーバ２０が、暗号演算の指示をＨＳＭコントローラ３０に送信する（ステップＳ２０１）。
次に、ホストサーバ２０からの暗号演算の指示を受信したＨＳＭコントローラ３０は、３個のＨＳＭ１０のうちの１つ（例えば、ＨＳＭ１０−１）を選択し、セッションキー（ＳＫ１−２）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ２０２）。なお、ＨＳＭコントローラ３０は、例えば、乱数生成部３４が生成した乱数に基づいて、３個のＨＳＭ１０のうちからＨＳＭ１０−１を選択する。
【００６０】
続く、ステップＳ２０３からステップＳ２０６までの処理は、上述した図３の示すステップＳ１０６からステップＳ１０９までの処理と同様であるため、ここではその説明を省略する。ステップＳ２０３からステップＳ２０６までの処理により、ＨＳＭ１０−１及びＨＳＭ１０−２のそれぞれは、セッションキー（ＳＫ１−２）を保持する。
【００６１】
次に、ＨＳＭコントローラ３０は、部分情報Ｐ２の読み出し要求を、ＨＳＭ１０−２に送信する（ステップＳ２０７）。
次に、ＨＳＭ１０−２は、部分情報Ｐ２の読み出し要求に応じて、部分情報Ｐ２をセッションキー（ＳＫ１−２）で暗号化して出力する（ステップＳ２０８）。ＨＳＭ１０−２のモジュール制御部１３は、部分情報記憶部１２１が記憶する部分情報Ｐ２を読み出し、例えば、暗号演算処理部１３５にセッションキー（ＳＫ１−２）で暗号化させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−１に対応するセッションキー（ＳＫ１−２）により、部分情報Ｐ２を暗号化して、モジュール制御部１３に戻す。モジュール制御部１３は、暗号化された部分情報Ｐ２を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００６２】
また、ＨＳＭ１０−２は、セッションキー（ＳＫ１−２）を削除する（ステップＳ２０９）。すなわち、ＨＳＭ１０−２のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−２）を、セッションキー記憶部１２３から消去する。
【００６３】
次に、ＨＳＭコントローラ３０は、暗号化された部分情報Ｐ２をＨＳＭ１０−１に転送する（ステップＳ２１０）。ＨＳＭコントローラ３０の制御部３２は、通信部３１を介して、暗号化された部分情報Ｐ２をＨＳＭ１０−２から受信し、受信した暗号化された部分情報Ｐ２を、通信部３１を介して、ＨＳＭ１０−１に転送する。
【００６４】
次に、ＨＳＭ１０−１は、暗号化された部分情報Ｐ２をセッションキー（ＳＫ１−２）で復号して取得する（ステップＳ２１１）。ＨＳＭ１０−１の情報取得部１３２は、例えば、暗号演算処理部１３５に、取得した暗号化された部分情報Ｐ２をセッションキー（ＳＫ１−２）で復号させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−２に対応するセッションキー（ＳＫ１−２）により、暗号化された部分情報Ｐ２を復号して、情報取得部１３２に戻す。情報取得部１３２は、復号した部分情報Ｐ２を取得し、取得した部分情報Ｐ２と、ＨＳＭ１０−２の識別情報とを対応付けて、取得情報記憶部１２４に記憶させる。
【００６５】
次に、ＨＳＭ１０−１は、セッションキー（ＳＫ１−２）を削除する（ステップＳ２１２）。すなわち、ＨＳＭ１０−１のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−２）を、セッションキー記憶部１２３から消去する。
次に、ＨＳＭ１０−１は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ２１３）。
【００６６】
次に、ＨＳＭコントローラ３０は、暗号演算の指示（依頼）を、ＨＳＭ１０−１に送信する（ステップＳ２１４）。
次に、ＨＳＭ１０−１は、暗号演算の指示に応じて、部分情報（Ｐ１、Ｐ２）から暗号鍵を復元する（ステップＳ２１５）。ＨＳＭ１０−１の鍵情報復元部１３４は、取得情報記憶部１２４が記憶する部分情報Ｐ２と、部分情報記憶部１２１が記憶する部分情報Ｐ１との合計２個の部分情報（Ｐ１、Ｐ２）から、多項式補間により、暗号鍵（図２の秘密情報Ｓ）を復元する。鍵情報復元部１３４は、復元した暗号鍵を、復元鍵記憶部１２５に記憶させる。また、鍵情報復元部１３４は、他のＨＳＭ１０の部分情報をＨＳＭ１０−１から消去する。すなわち、鍵情報復元部１３４は、ＨＳＭ１０−２の部分情報Ｐ２を取得情報記憶部１２４から消去する。
【００６７】
次に、ＨＳＭ１０−１は、暗号鍵に基づく暗号演算を実行する（ステップＳ２１６）。ＨＳＭ１０−１の暗号演算処理部１３５は、復元鍵記憶部１２５に記憶されている暗号鍵により、暗号演算（例えば、暗号化処理、復号処理、署名生成、認証処理など）を実行する。
【００６８】
次に、ＨＳＭ１０−１は、暗号演算結果をＨＳＭコントローラ３０に送信する（ステップＳ２１７）。すなわち、暗号演算処理部１３５は、復元した暗号鍵に基づく暗号演算の結果を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
次に、ＨＳＭコントローラ３０は、ＨＳＭ１０−１から受信した暗号演算結果をホストサーバ２０に送信する（ステップＳ２１８）。
【００６９】
なお、上述した図４に示す例では、ＨＳＭ１０−１が保持する部分情報Ｐ１と、ＨＳＭ１０−２が保持する部分情報Ｐ２とから、ＨＳＭ１０−１が暗号鍵を復元しているが、ＨＳＭ１０−１が保持する部分情報Ｐ１と、ＨＳＭ１０−３が保持する部分情報Ｐ３とから、ＨＳＭ１０−１が暗号鍵を復元するようにしてもよい。また、暗号鍵は、ＨＳＭ１０−２が保持する部分情報Ｐ２と、ＨＳＭ１０−３が保持する部分情報Ｐ３とから復元するようにしてもよい。
また、上述した図４に示す例では、ＨＳＭコントローラ３０は、ＨＳＭ１０−１に暗号演算の指示を行っているが、ＨＳＭ１０−１の代わりに、ＨＳＭ１０−２、又はＨＳＭ１０−３に暗号演算の指示した場合も同様である。
【００７０】
次に、図５を参照して、情報処理システム１のＨＳＭ１０故障時の復旧処理の動作について説明する。
図５は。本実施形態の情報処理システム１のＨＳＭ１０故障時の復旧処理の一例を示す図である。
【００７１】
この図において、上述した図３と同様に、ｋが“２”（ｋ＝２）であり、Ｎが“３”（Ｎ＝３）である場合の一例について説明する。また、情報処理システム１は、３個のＨＳＭ１０（１０−１、１０−２、１０−３）のうちのＨＳＭ１０−３が故障して入れ替えられた場合の一例を説明する。なお、ＨＳＭ１０−１が部分情報Ｐ１を保持し、ＨＳＭ１０−２が部分情報Ｐ２を保持し、ＨＳＭ１０−３がまだ部分情報を保持していないものとして説明する。
【００７２】
図５において、まず、ＨＳＭコントローラ３０は、ＨＳＭ１０−３の入れ替えを検出し、セッションキー（ＳＫ１−２）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ３０１）。
続く、ステップＳ３０２からステップＳ３０５までの処理は、上述した図３の示すステップＳ１０６からステップＳ１０９までの処理と同様であるため、ここではその説明を省略する。ステップＳ３０２からステップＳ３０５までの処理により、ＨＳＭ１０−１及びＨＳＭ１０−２のそれぞれは、セッションキー（ＳＫ１−２）を保持する。
【００７３】
次に、ＨＳＭコントローラ３０は、セッションキー（ＳＫ１−３）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ３０６）。
続く、ステップＳ３０７からステップＳ３１０までの処理は、上述した図３の示すステップＳ１１１からステップＳ１１４までの処理と同様であるため、ここではその説明を省略する。ステップＳ３０７からステップＳ３１０までの処理により、ＨＳＭ１０−１及びＨＳＭ１０−３のそれぞれは、セッションキー（ＳＫ１−３）を保持する。
【００７４】
次に、ＨＳＭコントローラ３０は、部分情報Ｐ２の読み出し要求を、ＨＳＭ１０−２に送信する（ステップＳ３１１）。
続く、ステップＳ３１２からステップＳ３１７までの処理は、上述した図４の示すステップＳ２０８からステップＳ２１３までの処理と同様であるため、ここではその説明を省略する。ステップＳ３１２からステップＳ３１７までの処理により、ＨＳＭ１０−１は、ＨＳＭ１０−２が保持していた部分情報Ｐ２を取得し、取得情報記憶部１２４に部分情報Ｐ２を記憶している状態となる。
【００７５】
次に、ＨＳＭコントローラ３０は、部分情報の再構築依頼を、ＨＳＭ１０−１に送信する（ステップＳ３１８）。ＨＳＭコントローラ３０は、故障のため入れ替えを行ったＨＳＭ１０−３（新たなＨＳＭ１０−３）のための部分情報を再構築する依頼を、通信部３１を介して、ＨＳＭ１０−１に送信する。
【００７６】
次に、ＨＳＭ１０−１は、ＨＳＭコントローラ３０からの再構築依頼に応じて、部分情報（Ｐ１、Ｐ２）から暗号鍵を復元する（ステップＳ３１９）。ＨＳＭ１０−１の鍵情報復元部１３４は、取得情報記憶部１２４が記憶する部分情報Ｐ２と、部分情報記憶部１２１が記憶する部分情報Ｐ１との合計２個の部分情報（Ｐ１、Ｐ２）から、多項式補間により、暗号鍵（図２の秘密情報Ｓ）を復元する。鍵情報復元部１３４は、復元した暗号鍵を、復元鍵記憶部１２５に記憶させる。
【００７７】
次に、ＨＳＭ１０−１は、部分情報（Ｐ３２）を生成する（ステップＳ３２０）。ＨＳＭ１０−１の部分情報生成部１３３は、新たなＨＳＭ１０−３に対する部分情報を部分情報Ｐ３２として生成する。具体的に、部分情報生成部１３３は、鍵情報復元部１３４が復元した暗号鍵と、部分情報記憶部１２１が記憶する部分情報Ｐ１及び情報取得部１３２が取得した部分情報Ｐ２とから、上述したシャミアの秘密分散法を利用して、新たなＨＳＭ１０−３に対する部分情報Ｐ３２を生成する。
【００７８】
すなわち、部分情報生成部１３３は、上述した図２に示す一次関数ｆ（ｘ）の直線上の任意の点の座標を、部分情報Ｐ３２として生成する。なお、部分情報Ｐ３２は、図２に示す一次関数ｆ（ｘ）の直線上で、且つ、部分情報Ｐ１及び部分情報Ｐ２と同一の点でなければ、任意に設定可能であり、部分情報Ｐ３と同一でなくてもよい。
【００７９】
また、ＨＳＭ１０−１の部分情報生成部１３３は、生成した部分情報Ｐ３２をセッションキー（ＳＫ１−３）で暗号化して、ＨＳＭコントローラ３０に出力する（ステップＳ３２１）。部分情報生成部１３３は、例えば、暗号演算処理部１３５に、生成した部分情報Ｐ３２をセッションキー（ＳＫ１−３）で暗号化させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−３に対応するセッションキー（ＳＫ１−３）により、部分情報Ｐ３２を暗号化して、部分情報生成部１３３に戻す。部分情報生成部１３３は、暗号化された部分情報Ｐ３２を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００８０】
次に、ＨＳＭコントローラ３０は、暗号化された部分情報Ｐ３２をＨＳＭ１０−３に転送する（ステップＳ３２２）。ＨＳＭコントローラ３０の制御部３２は、通信部３１を介して、暗号化された部分情報Ｐ３２をＨＳＭ１０−１から受信し、受信した暗号化された部分情報Ｐ３を、通信部３１を介して、ＨＳＭ１０−３に転送する。
【００８１】
次に、ＨＳＭ１０−３は、暗号化された部分情報Ｐ３２をセッションキー（ＳＫ１−３）で復号する（ステップＳ３２３）。ＨＳＭ１０−３の部分情報生成部１３３は、例えば、暗号演算処理部１３５に、取得した暗号化された部分情報Ｐ３２をセッションキー（ＳＫ１−３）で復号させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−１に対応するセッションキー（ＳＫ１−３）により、暗号化された部分情報Ｐ３２を復号して、部分情報生成部１３３に戻す。
【００８２】
次に、ＨＳＭ１０−３の部分情報生成部１３３は、ＨＳＭ１０−１から取得した部分情報Ｐ３２を部分情報記憶部１２１に記憶させる（ステップＳ３２４）。
次に、ＨＳＭ１０−１は、セッションキー（ＳＫ１−３）を削除する（ステップＳ３２５）。すなわち、ＨＳＭ１０−１のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。また、モジュール制御部１３は、他のＨＳＭ１０の部分情報を消去する。すなわち、モジュール制御部１３は、部分情報Ｐ２及び部分情報Ｐ３２をＨＳＭ１０−１から消去する。
【００８３】
また、ＨＳＭ１０−３は、セッションキー（ＳＫ１−３）を削除する（ステップＳ３２６）。すなわち、ＨＳＭ１０−３のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。
次に、ＨＳＭ１０−３は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ３２７）。
【００８４】
なお、上述した図５に示す例では、ＨＳＭ１０−３が故障して入れ替えた場合の一例を説明したが、ＨＳＭ１０−１又はＨＳＭ１０−２を入れ替える場合も同様である。
また、ＨＳＭコントローラ３０は、ＨＳＭ１０−１に再構築依頼を送信しているが、ＨＳＭ１０−２に再構築依頼を送信してもよい。ＨＳＭ１０−２に再構築依頼を送信した場合の動作は、ＨＳＭ１０−１の処理と、ＨＳＭ１０−２の処理とが入れ替わる点を除いて、上述した図５に示す処理と同様である。
【００８５】
次に、図６を参照して、情報処理システム１のＨＳＭのなりすまし検出処理の動作について説明する。
図６は、本実施形態の情報処理システムのＨＳＭのなりすまし検出処理の一例を示す図である。
【００８６】
この図において、上述した図３と同様に、ｋが“２”（ｋ＝２）であり、Ｎが“３”（Ｎ＝３）である場合の一例について説明する。すなわち、情報処理システム１は、３個のＨＳＭ１０（１０−１、１０−２、１０−３）を備え、ＨＳＭ１０−１が部分情報Ｐ１を保持し、ＨＳＭ１０−２が部分情報Ｐ２を保持し、ＨＳＭ１０−３が部分情報Ｐ３を保持しているものとして説明する。
【００８７】
図６において、まず、ＨＳＭコントローラ３０は、セッションキー（ＳＫ１−２）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ４０１）。
続く、ステップＳ４０２からステップＳ４０５までの処理は、上述した図５の示すステップＳ３０２からステップＳ３０５までの処理と同様であるため、ここではその説明を省略する。ステップＳ４０２からステップＳ４０５までの処理により、ＨＳＭ１０−１及びＨＳＭ１０−２のそれぞれは、セッションキー（ＳＫ１−２）を保持する。
【００８８】
次に、ＨＳＭコントローラ３０は、セッションキー（ＳＫ１−３）の生成指示を、ＨＳＭ１０−１に送信する（ステップＳ４０６）。
続く、ステップＳ４０７からステップＳ４１０までの処理は、上述した図５の示すステップＳ３０７からステップＳ３１０までの処理と同様であるため、ここではその説明を省略する。ステップＳ４０７からステップＳ４１０までの処理により、ＨＳＭ１０−１及びＨＳＭ１０−３のそれぞれは、セッションキー（ＳＫ１−３）を保持する。
【００８９】
次に、ＨＳＭコントローラ３０は、部分情報Ｐ２の読み出し要求を、ＨＳＭ１０−２に送信する（ステップＳ４１１）。
続く、ステップＳ４１２からステップＳ４１７までの処理は、上述した図５の示すステップＳ３１２からステップＳ３１７までの処理と同様であるため、ここではその説明を省略する。ステップＳ４１２からステップＳ４１７までの処理により、ＨＳＭ１０−１は、ＨＳＭ１０−２が保持していた部分情報Ｐ２を取得し、取得情報記憶部１２４に部分情報Ｐ２を記憶している状態となる。
【００９０】
次に、ＨＳＭコントローラ３０は、部分情報Ｐ３の読み出し要求を、ＨＳＭ１０−３に送信する（ステップＳ４１８）。
次に、ＨＳＭ１０−３は、部分情報Ｐ３の読み出し要求に応じて、部分情報Ｐ３をセッションキー（ＳＫ１−３）で暗号化して出力する（ステップＳ４１９）。ＨＳＭ１０−３のモジュール制御部１３は、部分情報記憶部１２１が記憶する部分情報Ｐ３を読み出し、例えば、暗号演算処理部１３５にセッションキー（ＳＫ１−３）で暗号化させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−１に対応するセッションキー（ＳＫ１−３）により、部分情報Ｐ３を暗号化して、モジュール制御部１３に戻す。モジュール制御部１３は、暗号化された部分情報Ｐ３を、通信部１１を介して、ＨＳＭコントローラ３０に送信する。
【００９１】
また、ＨＳＭ１０−３は、セッションキー（ＳＫ１−３）を削除する（ステップＳ４２０）。すなわち、ＨＳＭ１０−３のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。
【００９２】
次に、ＨＳＭコントローラ３０は、暗号化された部分情報Ｐ３をＨＳＭ１０−１に転送する（ステップＳ４２１）。ＨＳＭコントローラ３０の制御部３２は、通信部３１を介して、暗号化された部分情報Ｐ３をＨＳＭ１０−３から受信し、受信した暗号化された部分情報Ｐ３を、通信部３１を介して、ＨＳＭ１０−１に転送する。
【００９３】
次に、ＨＳＭ１０−１は、暗号化された部分情報Ｐ３をセッションキー（ＳＫ１−３）で復号して取得する（ステップＳ４２２）。ＨＳＭ１０−１の情報取得部１３２は、例えば、暗号演算処理部１３５に、取得した暗号化された部分情報Ｐ３をセッションキー（ＳＫ１−３）で復号させる。暗号演算処理部１３５は、セッションキー記憶部１２３が記憶するＨＳＭ１０−３に対応するセッションキー（ＳＫ１−３）により、暗号化された部分情報Ｐ３を復号して、情報取得部１３２に戻す。情報取得部１３２は、復号した部分情報Ｐ３を取得し、取得した部分情報Ｐ３と、ＨＳＭ１０−３の識別情報とを対応付けて、取得情報記憶部１２４に記憶させる。これにより、ＨＳＭ１０−１は、取得情報記憶部１２４に部分情報Ｐ２及び部分情報Ｐ３を記憶している状態となる。
【００９４】
次に、ＨＳＭ１０−１は、セッションキー（ＳＫ１−３）を削除する（ステップＳ４２３）。すなわち、ＨＳＭ１０−１のモジュール制御部１３は、セッションキー記憶部１２３が記憶するセッションキー（ＳＫ１−３）を、セッションキー記憶部１２３から消去する。
次に、ＨＳＭ１０−１は、処理終了応答（レスポンス）を、通信部１１を介して、ＨＳＭコントローラ３０に送信する（ステップＳ４２４）。
【００９５】
次に、ＨＳＭコントローラ３０は、なりすまし検出依頼を、ＨＳＭ１０−１に送信する（ステップＳ４２５）。
次に、ＨＳＭ１０−１は、ＨＳＭコントローラ３０からのなりすまし検出依頼に応じて、３個の部分情報(Ｐ１、Ｐ２、Ｐ３)のうちの２つを選ぶ各組合せから暗号鍵を復元する（ステップＳ４２６）。すなわち、ＨＳＭ１０−１のなりすまし検出部１３６は、部分情報Ｐ１と部分情報Ｐ２との組合せ、部分情報Ｐ１と部分情報Ｐ３との組合せ、及び部分情報Ｐ２と部分情報Ｐ３との組合せである３通りの組合せから、それぞれ暗号鍵を鍵情報復元部１３４に復元させる。
【００９６】
次に、ＨＳＭ１０−１は、なりすまし検出処理を実行する（ステップＳ４２７）。ＨＳＭ１０−１のなりすまし検出部１３６は、上述した３通りの組合せから鍵情報復元部１３４が復元した３つの暗号鍵に基づいて、ＨＳＭ１０のなりすましがあるか否かを検出する。なりすまし検出部１３６は、例えば、鍵情報復元部１３４が復元した全ての秘密情報が一致する場合に、なりすましがないと判定する。また、なりすまし検出部１３６は、例えば、鍵情報復元部１３４が復元した全ての秘密情報が一致しない場合に、なりすましがあっると判定する。このように、なりすまし検出部１３６は、鍵情報復元部１３４が復元した全ての秘密情報が一致するか否かに応じて、ＨＳＭ１０のなりすましを検出する。なお、ＨＳＭ１０−１は、他のＨＳＭ１０の部分情報を消去する。すなわち、ＨＳＭ１０−１は、部分情報Ｐ２及び部分情報Ｐ３をＨＳＭ１０−１から消去する。
【００９７】
次に、ＨＳＭ１０−１は、なりすまし検出結果をＨＳＭコントローラ３０に送信する（ステップＳ４２８）。
ＨＳＭコントローラ３０は、受信したなりすまし検出結果に基づいて、なりすましのＨＳＭ１０があるか否かを判定する（ステップＳ４２９）。ＨＳＭコントローラ３０の制御部３２は、なりすまし検出結果に基づいて、なりすましのＨＳＭ１０があると判定される場合（ステップＳ４２９：ＹＥＳ）に、ＨＳＭ１０のなりすましをホストサーバ２０に警告する。すなわち、ＨＳＭコントローラ３０は、ＨＳＭ１０のなりすましがあることを示す警告情報を、ホストサーバ２０に送信する。
【００９８】
また、ＨＳＭコントローラ３０の制御部３２は、なりすまし検出結果に基づいて、なりすましのＨＳＭ１０がないと判定される場合（ステップＳ４２９：ＮＯ）に、なりすまし検出処理を終了する。
なお、上述した図６に示すステップＳ４０１からステップＳ４２９までのなりすまし検出処理は、例えば、ホストサーバ２０からの指示に基づいて、実行されてもよいし、定期的に、ＨＳＭコントローラ３０が、これらの処理を実行するようにしてもよい。また、なりすまし検出処理は、ＨＳＭ故障時の復旧処理の際に実行されてもよい。
【００９９】
以上説明したように、本実施形態による情報処理システム１は、Ｎ個のＨＳＭ１０（情報処理装置）と、ＨＳＭコントローラ３０（制御装置）とを備える。Ｎ個のＨＳＭ１０は、秘密分散法を利用して、秘密情報（例えば、暗号鍵）から生成したＮ個の部分情報を分割して保持する。ここで、秘密分散法は、Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報（例えば、暗号鍵）を復元可能なＮ個の部分情報に、秘密情報を分割する（ｋ，Ｎ）しきい値法である（但し、ｋは２以上の整数、且つ、Ｎ＞ｋ）。Ｎ個のＨＳＭ１０は、それぞれ、部分情報記憶部１２１と、情報取得部１３２（取得部）と、鍵情報復元部１３４（情報復元部）と、暗号演算処理部１３５（情報処理部）とを備える。部分情報記憶部１２１は、Ｎ個の部分情報のうちの１つの部分情報を記憶する。情報取得部１３２は、Ｎ個の部分情報のうちの、他のＨＳＭ１０が保持する少なくとも（ｋ−１）個の部分情報を取得する。鍵情報復元部１３４は、情報取得部１３２が取得した（ｋ−１）個の部分情報と、部分情報記憶部１２１が記憶する１つの部分情報とに基づいて、秘密情報を復元する。暗号演算処理部１３５は、鍵情報復元部１３４が復元した秘密情報に基づいて、セキュリティに関する所定の処理（例えば、上述した暗号演算処理など）を実行する。ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちのいずれかに、所定の処理の実行を依頼する。
【０１００】
これにより、本実施形態による情報処理システム１では、少なくとも異なるｋ個の部分情報から秘密情報を復元可能なＮ個の部分情報を、分割してＨＳＭ１０が保持するため、例えば、Ｎ個のＨＳＭ１０のうちの１つから部分情報が漏洩した場合でも、秘密情報を復元することができない。そのため、本実施形態による情報処理システム１は、セキュリティを向上させることができる。また、本実施形態による情報処理システム１は、（Ｎ−ｋ）個までのＨＳＭ１０が故障しても、残りの部分情報から秘密情報を復元することができるため、システムを稼働することができる。そのため、本実施形態による情報処理システム１は、可用性を向上させることができる。よって、本実施形態による情報処理システム１は、可用性を向上させつつ、セキュリティを向上させることができる。
【０１０１】
また、本実施形態では、Ｎ個のＨＳＭ１０のうちの少なくとも１つのＨＳＭ１０は、部分情報生成部１３３を備える。部分情報生成部１３３は、秘密分散法を利用して、秘密情報からＮ個の部分情報を生成し、生成したＮ個の部分情報のうちの１つの部分情報を部分情報記憶部１２１に記憶させる。また、部分情報生成部１３３は、Ｎ個の部分情報のうちの１つの部分情報以外の（Ｎ−１）個の部分情報をＨＳＭコントローラ３０に出力する。ＨＳＭコントローラ３０は、部分情報生成部１３３が出力した（Ｎ−１）個の部分情報のそれぞれを、（Ｎ−１）個の部分情報を出力した１つのＨＳＭ１０以外のＨＳＭ１０のそれぞれが備える部分情報記憶部１２１に記憶させる。
これにより、本実施形態による情報処理システム１では、ＨＳＭ１０が適切にＮ個の部分情報を生成し、生成したＮ個の部分情報を、Ｎ個のＨＳＭ１０に分割して保持することができる。
【０１０２】
また、本実施形態では、ＨＳＭコントローラ３０は、新たなＨＳＭ１０の追加又は入れ替えが行われた場合に、Ｎ個のＨＳＭ１０のうちの少なくとも１つのＨＳＭ１０に対して、新たなＨＳＭ１０に対する部分情報を生成させる再構築依頼を送信する。再構築依頼を受信したＨＳＭ１０が備える部分情報生成部１３３は、鍵情報復元部１３４が復元した秘密情報と、部分情報記憶部１２１が記憶する１つの部分情報及び情報取得部１３２が取得した（ｋ−１）個の部分情報とから、秘密分散法を利用して、新たなＨＳＭ１０に対する部分情報を生成する。部分情報生成部１３３は、生成した新たなＨＳＭ１０に対する部分情報をＨＳＭコントローラ３０に出力する。ＨＳＭコントローラ３０は、部分情報生成部１３３が出力した部分情報を、前新たなＨＳＭ１０が備える部分情報記憶部１２１に記憶させる。
【０１０３】
これにより、本実施形態による情報処理システム１では、例えば、ＨＳＭ１０が故障した場合に、ＨＳＭ１０を入れ替えるとともに、容易に部分情報を再構築することができる。そのため、本実施形態による情報処理システム１は、ＨＳＭ１０を入れ替える際に、システムを稼働させたまま、容易に部分情報を再構築することができる。
【０１０４】
また、本実施形態では、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちから、乱数に基づいて選択されたＨＳＭ１０に、所定の処理の実行を依頼する。
これにより、本実施形態による情報処理システム１では、ＨＳＭ１０における所定の処理の実行が分散されるため、処理効率を向上させることができる。すなわち、本実施形態による情報処理システム１は、可用性を向上させつつ、セキュリティを向上させるとともに、処理効率を向上させることができる。
【０１０５】
また、本実施形態では、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０のうちから、Ｎ個のＨＳＭ１０の間で所定の処理による処理負荷が分散されるように選択されたＨＳＭ１０に、所定の処理の実行を依頼する。例えば、ＨＳＭコントローラ３０は、Ｎ個のＨＳＭ１０の間で処理負荷が均等になるように、所定の処理を実行させるＨＳＭ１０を選択する。また、ＨＳＭコントローラ３０は、例えば、各ＨＳＭ１０への処理の実行依頼をカウントし、当該カウント値に基づいて、Ｎ個のＨＳＭ１０の間で処理負荷が均等になるように、所定の処理を実行させるＨＳＭ１０を選択するようにしてもよい。
これにより、本実施形態による情報処理システム１は、可用性を向上させつつ、セキュリティを向上させるとともに、処理効率をさらに向上させることができる。
【０１０６】
また、本実施形態では、情報取得部１３２は、ＨＳＭ１０のなりすましを検出する場合に、Ｎ個の部分情報のうちの、他のＨＳＭ１０が保持する（Ｎ−１）個の部分情報を取得する。Ｎ個のＨＳＭ１０のうちの少なくとも１つのＨＳＭ１０は、ＨＳＭコントローラ３０からのなりすまし検出依頼に応じて、ＨＳＭ１０のなりすましを検出するなりすまし検出部１３６を備える。なりすまし検出部１３６は、情報取得部１３２が取得した（Ｎ−１）個の部分情報及び部分情報記憶部１２１が記憶する１つの部分情報からｋ個の部分情報を選択した各組合せから、秘密分散法を利用して復元した全ての秘密情報が一致するか否かに応じて、ＨＳＭ１０のなりすましを検出する。
これにより、本実施形態による情報処理システム１は、ＨＳＭ１０のなりすましを検出することができ、セキュリティをさらに向上させることができる。
【０１０７】
また、本実施形態では、秘密分散法が、シャミアの秘密分散法である。
これにより、本実施形態による情報処理システム１は、簡易な手法及び簡易な構成により、（ｋ，Ｎ）しきい値法を実現することができる。
【０１０８】
また、本実施形態によるＨＳＭ１０（情報処理装置）は、上述した秘密分散法を利用して、秘密情報から生成したＮ個の部分情報を分割して保持するＮ個のＨＳＭ１０と、上述したＨＳＭコントローラ３０とを備える情報処理システム１のＨＳＭ１０であって、部分情報記憶部１２１と、情報取得部１３２と、鍵情報復元部１３４と、暗号演算処理部１３５と、を備える。部分情報記憶部１２１は、Ｎ個の部分情報のうちの１つの部分情報を記憶する。情報取得部１３２は、Ｎ個の部分情報のうちの、他のＨＳＭ１０が保持する少なくとも（ｋ−１）個の部分情報を取得する。鍵情報復元部１３４は、情報取得部１３２が取得した（ｋ−１）個の部分情報と、部分情報記憶部１２１が記憶する１つの部分情報とに基づいて、秘密情報を復元する。暗号演算処理部１３５は、鍵情報復元部１３４が復元した秘密情報に基づいて、セキュリティに関する所定の処理（例えば、上述した暗号演算処理など）を実行する。
これにより、本実施形態によるＨＳＭ１０は、上述した情報処理システム１と同様の効果を奏し、可用性を向上させつつ、セキュリティを向上させることができる。
【０１０９】
上記の実施形態において、情報処理システム１は、ｋが“２”（ｋ＝２）であり、Ｎが“３”（Ｎ＝３）である場合の（ｋ，Ｎ）しきい値法を用いる例を説明したが、これに限定されるものではなく、ｋが２以上（ｋ≧２）、Ｎが３以上（Ｎ≧３）以上の（ｋ，Ｎ）しきい値法を用いてもよい。すなわち、また、秘密分散法の一例として、シャミアの秘密分散法を用いる例を説明したが、これに限定されずに他の（ｋ，Ｎ）しきい値法を用いてもよい。
【０１１０】
また、上記の実施形態において、ホストサーバ２０とＨＳＭコントローラ３０との間、及びＨＳＭコントローラ３０と複数のＨＳＭ１０との間をＬＡＮにより接続する例を説明したが、他の接続手法を用いてもよい。また、ＨＳＭコントローラ３０は、ホストサーバ２０とＨＳＭ１０との間に配置されるものであれば、ハードウェアで構成されてもよいし、ホストサーバ２０上のアプリケーションプログラムで構成されてもよい。
また、上記の実施形態において、情報処理システム１は、ルータ４０を備える例を説明したが、ルータ４０を備えずに構成してもよい。
【０１１１】
また、上記の実施形態において、ＨＳＭ１０は、例えば、ＩＣ（Integrated Circuit）カードやＳＩＭ（Subscriber Identity Module）カードなどの着脱可能なモジュールなどであってもよい。
また、上記の実施形態において、部分情報の送信などのＮ個のＨＳＭ１０間の通信が、ＨＳＭコントローラ３０を経由する例を説明したが、これに限定されるものではなく、ＨＳＭコントローラ３０の指示により、Ｎ個のＨＳＭ１０間で直接通信するようにしてもよい。
【０１１２】
また、上記の実施形態において、Ｎ個のＨＳＭ１０が同一の構成である例を説明したが、これに限定されるものではない。例えば、Ｎ個のＨＳＭ１０のうちの一部のＨＳＭ１０は、Ｎ個の部分情報を生成する部分情報生成部１３３、又は、ＨＳＭ１０のなりすましを検出するなりすまし検出部１３６を備えない構成であってもよい。
【０１１３】
以上説明した少なくともひとつの実施形態によれば、秘密分散法（（ｋ，Ｎ）しきい値法）を利用して、秘密情報から生成したＮ個の部分情報を分割して保持するＮ個のＨＳＭ１０と、Ｎ個のＨＳＭ１０のうちのいずれかに、所定の処理の実行を依頼するＨＳＭコントローラ３０とを持ち、Ｎ個のＨＳＭ１０が、他のＨＳＭ１０から取得した（ｋ−１）個の部分情報と、自装置が保持する１つの部分情報とに基づいて、秘密情報を復元する鍵情報復元部１３４と、復元した秘密情報に基づいて、セキュリティに関する所定の処理を実行する暗号演算処理部１３５とを持つことにより、可用性を向上させつつ、セキュリティを向上させることができる。
【０１１４】
上記実施形態は、以下のように表現することができる。
Ｎ個の部分情報のうちの少なくとも異なるｋ個の部分情報から秘密情報を復元可能な前記Ｎ個の部分情報に、前記秘密情報を分割する秘密分散法を利用して、前記秘密情報から生成した前記Ｎ個の部分情報を分割して保持するＮ個の情報処理装置（但し、ｋは２以上の整数、且つ、Ｎ＞ｋ）と、制御装置とを備え、
前記Ｎ個の情報処理装置は、
前記Ｎ個の部分情報のうちの１つの部分情報を記憶する部分情報記憶部と、
少なくともコンピュータが実行可能なプログラムを記憶する第１記憶部と、
前記第１記憶部に記憶されたプログラムを実行する第１ハードウェアプロセッサと、
を備え、
前記第１ハードウェアプロセッサは、前記第１記憶部に記憶されたプログラムを実行することにより、
前記Ｎ個の部分情報のうちの、他の情報処理装置が保持する少なくとも（ｋ−１）個の部分情報を取得する取得処理と、
取得した前記（ｋ−１）個の部分情報と、前記１つの部分情報とに基づいて、前記秘密情報を復元する情報復元処理と、
復元した前記秘密情報に基づいて、セキュリティに関する所定の処理を実行する情報処理と
を行うように構成されており、
前記制御装置は、
少なくともコンピュータが実行可能なプログラムを記憶する第２記憶部と、
前記第２記憶部に記憶されたプログラムを実行する第２ハードウェアプロセッサと、
を備え、
前記第２ハードウェアプロセッサは、前記第２記憶部に記憶されたプログラムを実行することにより、
前記Ｎ個の情報処理装置のうちのいずれかに、セキュリティに関する所定の処理の実行を依頼する処理を行うように構成されている、
情報処理システム。
【０１１５】
なお、実施形態における情報処理システム１及びＨＳＭ１０が備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理システム１及びＨＳＭ１０が備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０１１６】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１１７】
１…情報処理システム、１０，１０−１，１０−２，１０−３…ＨＳＭ、１１，３１…通信部、１２…モジュール記憶部、１３…モジュール制御部、２０…ホストサーバ、３０…ＨＳＭコントローラ、３２…制御部、３３…記憶部、３４…乱数生成部、４０…ルータ、１２１…部分情報記憶部、１２２…秘密分散情報記憶部、１２３…セッションキー記憶部、１２４…取得情報記憶部、１２５…復元鍵記憶部、１３１…セッションキー生成部、１３２…情報取得部、１３３…部分情報生成部、１３４…鍵情報復元部、１３５…暗号演算処理部、１３６…なりすまし検出部
【図１】
2020048008.tif 000003
【図２】
2020048008.tif 000004
【図３】
2020048008.tif 000005
【図４】
2020048008.tif 000006
【図５】
2020048008.tif 000007
【図６】
2020048008.tif 000008