(57)【要約】      （修正有）【課題】セキュリティを担保しつつ、コスト効率の良いＭ２Ｍシステムを構成する、情報端末及び半導体素子を提供する。【解決手段】情報端末と通信する半導体素子は、前記情報端末と通信を行う通信部と、前記情報端末と接続する情報処理装置のＩＤ情報と、認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵と、を対応して格納し、前記復号化されたデータを格納用暗号鍵で暗号化されたデータを格納する記憶部と、前記通信部を介して前記情報処理装置のＩＤ情報を取得すると、前記情報処理装置のID情報に対応した認証方法情報を用いて前記情報処理装置の認証を行う認証処理と、前記認証処理で認証が成功すると、前記通信部を介して前記情報処理装置のＩＤ情報に対応した暗号化データを取得する暗号データ取得処理と、を備える制御部と、を備える。【選択図】図２
2015091070.tif 000002
【特許請求の範囲】
【請求項１】
情報端末と通信する半導体素子であって、
前記情報端末と通信を行う通信部と、
前記情報端末と接続する情報処理装置のＩＤ情報と、認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵と、を対応して格納し、前記復号化されたデータを格納用暗号鍵で暗号化されたデータを格納する記憶部と、
前記通信部を介して前記情報処理装置のＩＤ情報を取得すると、前記情報処理装置のID情報に対応した認証方法情報を用いて前記情報処理装置の認証を行う認証処理と、前記認証処理で認証が成功すると、前記通信部を介して前記情報処理装置のＩＤ情報に対応した暗号化データを取得する暗号データ取得処理と、を備える制御部と、
を備えることを特徴とする、半導体素子。
【請求項２】
前記制御部は、前記通信部を介して前記情報端末のＩＤ情報を取得したときに、前記記憶部に、取得した前記情報処理装置のID情報があるかどうかを判断し、
取得した前記情報処理装置のID情報がないと判断すると、前記通信部へ、前記記憶部に前記情報処理装置のID情報がないことを通知するとともに、取得した前記情報処理装置のID情報に対応した認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵と、を送信するよう要求する
請求項１に記載の半導体素子。
【請求項３】
取得した前記暗号化データと、前記記憶部に記憶されている前記情報処理装置のＩＤ情報に対応した暗号鍵と、を用いて暗号化データを復号化し、復号化されたデータを前記情報処理装置のＩＤ情報に対応した格納用暗号鍵を用いて暗号化する暗号処理部と、
を備えることを特徴とする請求項１に記載の半導体素子。
【請求項４】
情報処理装置と通信する情報端末であって、
情報処理装置と通信可能な情報処理装置通信部と、
半導体素子と通信可能な半導体素子通信部と、
前記情報処理装置通信部から前記情報処理装置のID情報を取得すると、前記半導体素子通信部へ前記情報処理装置のID情報を通知し、
前記半導体素子通信部から前記情報処理装置のＩＤ情報に対応した暗号化データを取得するよう要求があったとき、前記情報処理装置通信部へ、前記情報処理装置のＩＤ情報に対応した暗号化データを取得するよう通知する制御する情報端末制御部と、
を備えることを特徴とする情報端末。
【請求項５】
前記情報端末は、サーバと通信するネットワーク通信部を備え、
前記情報端末制御部は、前記半導体素子通信部から前記情報処理装置のID情報がないと通知されたとき、前記ネットワーク通信部へ、前記情報処置装置のID情報に対応する認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵とを取得するよう通知し、
前記ネットワーク通信部から、前記情報処置装置のID情報に対応する認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵とが送信されたときは、前記半導体素子通信部へ前記情報処置装置のID情報に対応する認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵とを通知する、
請求項４に記載の情報端末。
【請求項６】
前記情報端末は、サーバと通信するネットワーク通信部を備え、
前記情報端末制御部は、前記半導体素子通信部から前記情報処理装置のID情報に対応した格納用暗号鍵で暗号化されたデータが送信されると、前記ネットワーク通信部へ、前記情報処理装置のID情報に対応した格納用暗号鍵で暗号化されたデータを送信して、サーバに送信するよう制御することを特徴とする、
請求項４に記載の情報端末。
【請求項７】
情報端末と通信する半導体素子の制御方法であって、
前記情報端末と通信を行うステップと、
前記情報端末と接続する情報処理装置のＩＤ情報と、認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵と、を対応して格納し、前記復号化されたデータを格納用暗号鍵で暗号化されたデータを格納するステップと、
前記情報処理装置のＩＤ情報を取得すると、前記情報処理装置のID情報に対応した認証方法情報を用いて前記情報処理装置の認証を行う認証処理と、
前記認証処理で認証が成功すると、前記情報処理装置のＩＤ情報に対応した暗号化データを取得する暗号データ取得処理と、を備えるステップと、
を備えることを特徴とする、半導体素子の制御方法。
【請求項８】
情報処理装置と通信する情報端末の制御方法であって、
情報処理装置と通信するステップと、
半導体素子と通信するステップと、
情報処理装置から情報処理装置のID情報を取得すると、前記半導体素子へ前記情報処理装置のID情報を通知し、
前記半導体素子から前記情報処理装置のＩＤ情報に対応した暗号化データを取得するよう要求があったとき、前記情報処理装置へ、前記情報処理装置のＩＤ情報に対応した暗号化データを取得するよう通知する制御するステップと、
を備えることを特徴とする情報端末の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体素子、情報端末および半導体素子の制御方法、情報端末の制御方法に関する。
【背景技術】
【０００２】
特許文献１には、Ｍ２Ｍの各ノードに耐タンパモジュールを搭載しそれらに安全に機密情報を配布する方法が開示されている。また特許文献２には、アドホックネットワークにおいてセンサノードをグルーピングしノードをゲートウェイとして動作させる方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３３５９６２号公報
【特許文献２】特開２００６−１８６４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
近年、Ｍ２Ｍ（Ｍａｃｈｉｎｅ  Ｔｏ  Ｍａｃｈｉｎｅ）やＩｏＴ（Ｉｎｔｅｒｎｅｔｏｆ  ｔｈｅ  Ｔｈｉｎｇｓ）の広まりを受け、センサノードや端末などの多様なノードが様々なネットワークを介してサーバやクラウドに接続するようになりつつある。センサノードがサーバに接続する際にゲートウェイとなる装置を使用する場合があるが、この際専用ゲートウェイ装置の導入コストがかかるという課題がある。そこで、本発明は、センサノードからのデータが情報端末から漏洩することなく、好適なＭ２Ｍシステムを構成する、半導体素子、情報端末および半導体素子の制御方法、情報端末の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、例えば、情報端末と通信する半導体素子であって、前記情報端末と通信を行う通信部と、前記情報端末と接続する情報処理装置のＩＤ情報と、認証方法情報と、暗号化データを復号化するための暗号鍵と、復号化されたデータを格納するために暗号化する格納用暗号鍵と、を対応して格納し、前記復号化されたデータを格納用暗号鍵で暗号化されたデータを格納する記憶部と、前記通信部を介して前記情報処理装置のＩＤ情報を取得すると、前記情報処理装置のID情報に対応した認証方法情報を用いて前記情報処理装置の認証を行う認証処理と、前記認証処理で認証が成功すると、前記通信部を介して前記情報処理装置のＩＤ情報に対応した暗号化データを取得する暗号データ取得処理と、を備える制御部と、を備えることを特徴とする、半導体素子が考えられる。
【発明の効果】
【０００６】
本発明によれば、セキュリティを担保しつつ、好適なＭ２Ｍシステムを構成する、半導体素子、情報端末およびその制御方法を提供することができる。
【０００７】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】Ｍ２Ｍシステムの一例を示す図である。
【図２】情報端末および秘密情報格納装置の機能構成の一例を示す図である。
【図３】情報端末が保持する情報の一例を示す図である。
【図４】秘密情報格納装置が保持する情報の一例を示す図である。
【図５】ノードおよびサーバの機能構成の一例を示す図である。
【図６】サーバが保持する情報の一例を示す図である。
【図７】サーバが保持する情報の一例を示す図である。
【図８】Ｍ２Ｍシステムの処理の一例を示す図である。
【図９】Ｍ２Ｍシステムの処理の一例を示す図である。
【図１０】Ｍ２Ｍシステムの処理の一例を示す図である。
【図１１】情報端末の機能構成の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明に係る実施例について図を用いて説明する。本発明では、情報端末と秘密情報格納装置をノードとサーバとの間のゲートウェイとして安全に利用するために必要な処理の具体的な例について説明する。
【００１０】
図１は、Ｍ２Ｍシステムの一例を示す図である。本発明にかかるＭ２Ｍシステムは、情報端末１と、ノード３と、サーバ４とが、通信により相互に接続している。さらに、情報端末１は、秘密情報格納装置２と通信により相互に接続している。それぞれは図１で示していない経路によって接続されていても構わない。
【００１１】
情報端末１は、情報を表示可能な表示部、情報を入力可能な入力部、他の装置や機器と通信可能な通信部、および情報の演算が可能な制御部等を有した端末であり、主として、秘密情報格納装置２、ノード３、及びサーバ４との情報のやりとりを仲介する役割を担う。Ｍ２Ｍシステムには複数の情報端末１が含まれていても良い。情報端末１としてはスマートフォンやタブレット端末、パーソナルコンピュータやシンクライアント端末などが考えられるが、これに限るものではない。
【００１２】
秘密情報格納装置２は、耐タンパ機構等を備えたセキュアな半導体素子であることが考えられ、他の装置や機器と通信可能な通信部、および情報の演算が可能な制御部、高速暗号処理が可能な暗号演算部等を有した半導体素子であり、主として、情報端末１を介してノードやサーバと情報のやりとりを行う。秘密情報格納装置２としてはＳＩＭカード型のＩＣカードや、ｍｉｃｒｏＳＤ型のＩＣカード、組込みチップ型のＩＣカード、非接触型および接触型のＩＣカードなどが考えられるが、これに限るものではない。あるいは、秘密情報格納装置２は、情報端末１と一体となっており、制御部やもしくは半導体素子それ自身を、情報端末１と共有していても良い。この場合は情報端末１が持つ情報保持機能が、秘密情報格納装置２に相当すると考えられ、例えばスマートフォンが有するキーチェーンやキーストアといった、秘密情報保護機構であることが考えられる。Ｍ２Ｍシステムには複数の秘密情報格納装置２が含まれていても良いし、また、一つの情報端末１が複数の秘密情報格納装置２と通信してもかまわない。
【００１３】
ノード３は、ネットワーク等を通じて他のノードや情報端末１と通信を行うノードである。ノード３は情報端末１と通信を行うことで、情報端末１の通信機能を経由してサーバ４にデータを送付する。ノード３は例えばセンサなどを備えたセンサノードや、Ｍ２Ｍを実現するＭ２Ｍノードであることが考えられる。ノード３は例えば、データを外部に送出するための予め所定の認証手段と暗号手段を有することで、所定のセキュリティ機能を有することが考えられる。
【００１４】
サーバ４は、ネットワーク等を通じて情報端末１等と通信を行うサーバである。サーバ４は例えばセンサノードやＭ２Ｍノードに関する情報を収集して所定の処理を行うことでサービスを提供する事業者が運営するサーバであることが考えられる。したがって、ノード３から情報を収集するために必要な機能の他、データマイニングやビッグデータ処理といったアプリケーションが動作することが考えられる。
【００１５】
情報端末１とサーバ４との通信は、例えば、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）、ＨＳＰＡ（Ｈｉｇｈ  Ｓｐｅｅｄ  Ｐａｃｋｅｔ  Ａｃｃｅｓｓ）、ＷｉＭＡＸ（登録商標、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）、有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、無線ＬＡＮおよびＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の通信ネットワークであることが考えられる。
【００１６】
図２は、情報端末１および秘密情報格装置２の機能構成の一例を示す図である。
【００１７】
情報端末１は、記憶部１１、制御部１２、電源供給部１３、通信部１４、表示部１５、入力部１６、ネットワーク通信部１７、およびノード通信部１８を備え、これらがバス線などで結線されている。なお、図２では各モジュールが情報端末１の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていても良いし、必要なモジュール同士のみが相互に接続されている構成でもかまわない。
【００１８】
記憶部１１は、情報端末１に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部１２が実行する動作制御用プログラムを記憶する。記憶部１１は、制御ソフト１１１を備え、これについては後述する。
【００１９】
制御部１２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｏｎｇ  Ｕｎｉｔ）、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｏｎｇ  Ｕｎｉｔ）、およびＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等から構成され、所定の動作制御用プログラムを実行するなどして、情報端末１全体の動作を制御する。
【００２０】
電源供給部１３は、バッテリ、ＡＣアダプタ、および充電回路等から構成され、情報端末１の各部への電源供給や、バッテリへの充電を行う。情報端末１がバッテリ駆動されているか、ＡＣアダプタ駆動されているかといった状態確認や、バッテリの残量確認を行うことも考えられる。また図２に記してはいないが、秘密情報格納装置２やノード３の外部電源として電源供給を行う役割を合わせて担ってもよい。
【００２１】
通信部１４は、情報端末１が秘密情報格納装置２と通信を行うための機能であり、接触ＩＣカードの国際標準通信方式であるＩＳＯ７８１６、非接触ＩＣカードの国際標準通信方式であるＩＳＯ１４４４３、ＦｅｌｉＣａ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＳＤカード規格に応じた通信、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、有線ＬＡＮ、無線ＬＡＮ、ＴｒａｎｓｆｅｒＪＥＴ（登録商標）などの通信方式を実現するモジュールであることが考えられる。通信部１４は、場合によっては後述するネットワーク通信部１７やノード通信部１８と同一のモジュールであってもよい。また、秘密情報格納装置２が情報端末１の組込みモジュールであった場合、基盤上等で結線されたものであっても構わない。あるいは情報端末１と秘密情報格納装置２が一体となっており、秘密情報格納装置2に相当する機能が情報端末１の秘密情報保護機構である場合は、情報端末１が備える秘密情報保護機構への所定のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）が通信部１４であると考えても何ら問題はない。通信部１４は通信方式や秘密情報格納装置２の個数に応じて情報端末１に複数個存在してもかまわない。
【００２２】
表示部１５は、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、および電子ペーパー等のパネル並びにドライバ回路等から構成され、制御部１２の制御下にて任意の情報（例えば、文字、静止画、および動画等）を表示する。なお、表示部１５は、それぞれ異なる情報を表示可能な複数のパネルを有していても良い。
【００２３】
入力部１６は、タッチパネル、ボタン、キーボード、マウス、カーソルキー、およびテンキー等の一または複数を備え、ユーザの操作を受け付け、当該操作に基づいた入力信号を制御部１２に入力する。なお、タッチパネルのように、表示部１５と入力部１６とが一体となった構成であっても良い。また、音声認識、画像認識、またはジェスチャ認識等によって入力信号を生成し、制御部１２に入力するようにしても良い。
【００２４】
ネットワーク通信部１７は、情報端末１がサーバ４等と通信を行うための機能であり、ＬＴＥ、３Ｇ，ＨＳＰＡ、ＷｉＭＡＸ、有線ＬＡＮ、無線ＬＡＮ、およびＷＡＮ等のネットワーク通信を行うためのモジュールが考えられる。ネットワーク通信部１７は、場合によっては通信部１４や後述するノード通信部１８と同一のモジュールであってもよい。ネットワーク通信部１７は通信方式等に応じて情報端末１に複数個存在してもかまわない。
【００２５】
ノード通信部１８は、情報端末１がノード３等と通信を行うための機能であり、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣ、Ｚｉｇｂｅｅ（登録商標）、ＵＳＢ、ＲＳ２３２Ｃ、有線ＬＡＮ、無線ＬＡＮ等の通信を行うためのモジュールが考えられる。ノード通信部１８は、場合によっては通信部１４やネットワーク通信部１７と同一のモジュールであってもよい。ノード通信部１８は通信方式等に応じて情報端末１に複数個存在してもかまわない。
【００２６】
なお、通信部１４、ネットワーク通信部１７並びにノード通信部１８といった通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでも良い。有線通信の場合は、コネクタ、および変復調回路等を含んでも良い。通信部１４、ネットワーク通信部１７並びにノード通信部１８は、それぞれが複数の通信方式に対応するよう構成されても良い。
【００２７】
秘密情報格納装置２は、記憶部２１、制御部２２、電源供給部２３、通信部２４、および暗号処理部２５を備え、これらがバス線などで結線されている。なお、図２では各モジュールが秘密情報格納装置２の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていても良いし、必要なモジュール同士のみが相互に接続されている構成でもかまわない。
【００２８】
記憶部２１は、秘密情報格納装置２に内蔵される半導体メモリ等から構成され、各種の情報を記憶する。記憶部２１は、例えばＥＥＰＲＯＭ、ＲＡＭ，及びフラッシュメモリ等から構成される。記憶部２１は、例えば制御部２２が実行する動作制御用プログラムを記憶する。記憶部２１が備える構成要素については後述する。
【００２９】
制御部２２は、ＣＰＵ、ＭＰＵ、およびＤＳＰ等から構成され、所定の動作制御用プログラムを実行するなどして、秘密情報格納装置２全体の動作を制御する。
【００３０】
電源供給部２３は、外部から電源を取得する電源供給端子もしくはアンテナ、及び電源供給回路等から構成され、秘密情報格納装置２の各部への電源供給を行う。あるいは、バッテリ、ＡＣアダプタ、充電回路等を備えていてもよい。図２に記してはいないが、秘密情報格納装置２は電源供給部２３によって情報端末１から電源の供給を受けてもよい。
【００３１】
通信部２４は、秘密情報格納装置２が情報端末１と通信を行うための機能であり、接触ＩＣカードの国際標準通信方式であるＩＳＯ７８１６、非接触ＩＣカードの国際標準通信方式であるＩＳＯ１４４４３、ＦｅｌｉＣａ、ＮＦＣ、ＳＤカード規格に応じた通信、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢ、有線ＬＡＮ、無線ＬＡＮ、ＴｒａｎｓｆｅｒＪＥＴなどの通信方式を実現するモジュールであることが考えられる。秘密情報格納装置２が情報端末１の組込みモジュールであった場合、通信部２４は情報端末１と基盤上で結線されたものであっても構わない。あるいは情報端末１と秘密情報格納装置２が一体となっており、秘密情報格納装置2に相当する機能が情報端末１の秘密情報保護機構である場合は、情報端末１が備える秘密情報保護機構への所定のＡＰＩが通信部２４であると考えても何ら問題はない。通信部２４は通信方式に応じて秘密情報格納装置２に複数個存在してもかまわない。
【００３２】
なお、通信部２４の通信機能は、無線通信の場合、アンテナ、および変復調回路等を含んでも良い。有線通信の場合は、コネクタ、および変復調回路等を含んでも良い。通信部２４は複数の通信方式に対応するよう構成されても良い。
【００３３】
暗号処理部２５は、剰余乗算コプロセッサや暗号アクセラレータ等から構成され、ＲＳＡ暗号や楕円曲線暗号といった公開鍵暗号処理や、ＡＥＳやＤＥＳといった共通鍵暗号処理を、制御部で行うよりも高速に実行するための装置である。暗号処理部２５は処理する暗号等に応じて秘密情報格納装置２に複数個存在してもかまわない。
【００３４】
続いて情報端末１の記憶部１１の構成の一例を示す。情報端末１の記憶部１１は、制御ソフト１１１を有する。制御ソフト１１１は、ユーザ操作によって一連のフローを開始するきっかけとなるユーザインタフェースを提供したり、ノード３、サーバ４及び秘密情報格納装置２との通信を行うきっかけを与えたりするソフトウェアであり、制御部１２によって実行される。ノード３は、通信部３４を介して制御ソフト１１１からの要求を受けることによってデータ送出処理を開始し、処理の結果を、通信部３４を介して制御ソフト１１１に戻す。また、サーバ４は、通信部４４を介して制御ソフト１１１からの要求を受けることによってデータ送出処理を開始し、処理の結果を通信部４４を介して制御ソフト１１１に戻す。また、秘密情報格納装置２は、通信部２４を介して制御ソフト１１１からの要求を受けることによってデータ送出処理を開始し、処理の結果を、通信部２４を介して制御ソフト１１１に戻す。このように制御ソフト１１１はシステム全体の処理フローのきっかけを作るが、必ずしもアルゴリズムの主体を担うとは限らない。制御ソフト１１１がノード３、サーバ４もしくは秘密情報格納装置２などの他の機器からコマンドをフェッチするような役割を担い、一連のフローやアルゴリズムの主体は、ノード３、サーバ４もしくは秘密情報格納装置２になる場合もある。なお、前記のようなノード３、サーバ４及び秘密情報格納装置２の動作の開始は制御ソフト１１１によるものだけでなく、ノード３、サーバ４及び秘密情報格納装置２それぞれが備えるセンサ部や通信部などで、検知したり何らかの情報を受信した場合や、周期的に動作する場合もあるし、その他の装置やサーバもしくはソフトウェアによる要求で動作を開始する場合もある。制御ソフト１１１は複数のソフトウェアが連携した複合的なものであってもかまわない。なお、本発明で特に断りなく制御ソフト１１１が処理を実行するような記述をした場合、制御ソフト１１１のプログラムの記述に則って制御部１２が処理を実行するということを示しているものとする。
【００３５】
制御ソフト１１１は、一例として、情報端末ＩＤ１１２と、認証方法テーブル１１３と、暗号方法テーブル１１４と、サーバ情報１１５と、及びデータ格納部１１６とを備える。図２では便宜的に制御ソフト１１１の内部にこれらを備えるように記載しているが、これらは記憶部１１のある領域に書き込まれたデータであり、それを制御ソフト１１１が備える前記動作を制御するためのソフトウェア（図示せず）が参照できるようになっていると考えられる。
【００３６】
情報端末ＩＤ１１２は、サーバ４が情報端末１を識別するためのＩＤ情報であることが考えられる。情報端末ＩＤ１１２は予め制御ソフト１１１と共に記憶部１１に書き込まれていてもよいし、制御ソフト１１１自体をネットワーク等から取得し記憶部１１に書き込む際に合わせて書き込んでもよい。あるいは情報端末１のデバイスや秘密情報格納装置２から取得できる一意またはそれに順ずる程度の一意性を持った情報を制御ソフト１１１が読み込んで記憶部１１に書き込んでもよい。あるいは十分大きい乱数などを情報端末１で生成し、情報端末ＩＤ１１２として使用しても良い。情報端末ＩＤ１１２は必ずしも記憶部１１に書き込むことで保持していなくともよく、必要な時に都度、制御ソフト１１１がＡＰＩ等を通じて取得しても構わない。いずれにしても、情報端末ＩＤ１１２は、サーバ４にとっての情報端末１の識別情報であるから、予めサーバ４と信頼できる方法で共有されていることが考えられる。また、情報端末ＩＤ１１２は秘密情報格納装置２のＩＤとして、秘密情報格納装置２に配置されていてもよく、この場合はサーバ４が識別する対象に秘密情報格納装置２が含まれる。情報端末１と秘密情報格納装置２はそれぞれ別個の情報端末ＩＤ１１２を備えていてもよい。情報端末ＩＤ１１２が情報端末１や秘密情報格納装置２などの複数の箇所に配置される場合、それらは同一の値であってもよいし、異なる値であってもよい。値が異なっている場合は、サーバ４においてそれらの対応を取るための対応情報を有していることが考えられる。以降のフローでサーバ４が情報端末ＩＤ１１２を識別子として用いる場合は、情報端末１を識別する場合、秘密情報格納装置２を識別する場合、もしくはその両方が、ケースに応じて含まれるものとする。
【００３７】
認証方法テーブル１１３は、後述するフローで秘密情報格納装置２から取得する認証方法ＩＤに対応する認証方法を実施するために情報端末１が実施すべき内容を示す領域である。
【００３８】
図３に認証方法テーブル１１３の構成要素の一例を示す。認証方法テーブル１１３は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ（Ｋｅｙ  Ｖａｌｕｅ  Ｓｔｏｒｅ）等のデータを保持する手段であることが考えられる。もしくは後述する認証方法ＩＤに紐付いた所定の認証処理を実施すべく処理を分岐する適当な分岐処理であることが考えられる。認証方法テーブル１１３は、一例として、認証方法ＩＤ１１３１、情報端末処理１１３２、を備える。
【００３９】
認証方法ＩＤ１１３１は、後述するフローで秘密情報格納装置２から取得する認証方法ＩＤに対応するＩＤであり、それぞれ情報端末処理１１３２と対応している。
【００４０】
情報端末処理１１３２は、認証方法ＩＤ１１３１と対応しており、ノード３と秘密情報格納装置２の認証処理を実施するために必要な情報端末１の処理を示す。具体的には、処理を実現するプログラムへの関数ポインタを格納した関数テーブルであってもよいし、あるいは、テーブル形式を取っていなくとも適当な分岐処理をもって認証方法ＩＤ１１３１と紐付いていてもよい。例えばノード３と秘密情報格納装置２の間でＡＥＳなどの共通鍵暗号によるチャレンジ・レスポンスや、ＰＫＩなど、所定の認証処理を実行するために、情報端末１が所定の仲介処理を実施することができれば良い。
【００４１】
認証方法ＩＤ１１３１と情報端末処理１１３２は、情報端末１が通信するノード３が備える認証方法の種類の数だけ存在することが考えられる。複数種類の認証処理で情報端末処理１１３２を統一できる場合は、複数の認証方法ＩＤ１１３１を同じ情報端末処理１１３２に対応付けても構わない。なお、認証方法テーブル１１３は、場合によって秘密情報格納装置２に配置されていても良い。この場合は、ノード３と秘密情報格納装置２とで認証処理を実施する際など、情報端末１による処理の仲介を必要としたタイミングで、必要な情報を秘密情報格納部２から所定の方法で取得することが考えられる。
【００４２】
図２における暗号方法テーブル１１４は、後述するフローで秘密情報格納装置２から取得する暗号方法ＩＤに対応する暗号方法を実施するために情報端末１が実施すべき内容を示す領域である。
【００４３】
図３に暗号方法テーブル１１４の構成要素の一例を示す。暗号方法テーブル１１４は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。もしくは後述する暗号方法ＩＤに紐付いた所定の暗号処理を実施すべく処理を分岐する適当な分岐処理であることが考えられる。暗号方法テーブル１１４は、一例として、暗号方法ＩＤ１１４１、情報端末処理１１４２、を備える。
【００４４】
暗号方法ＩＤ１１４１は、後述するフローで秘密情報格納装置２から取得する暗号方法ＩＤに対応するＩＤであり、それぞれ情報端末処理１１４２と対応している。
【００４５】
情報端末処理１１４２は、暗号方法ＩＤ１１４１と対応しており、ノード３と秘密情報格納装置２の間で暗号データの送受信を実施するために必要な情報端末１の処理を示す。具体的には、処理を実現するプログラムへの関数ポインタを格納した関数テーブルであってもよいし、あるいは、テーブル形式を取っていなくとも適当な分岐処理をもって暗号方法ＩＤ１１４１と紐付いていてもよい。例えばノード３と秘密情報格納装置２の間でＡＥＳなどの共通鍵暗号や、ＰＫＩなどの公開鍵暗号による鍵共有による暗号、準同型暗号を用いた処理など、所定の暗号処理による暗号データの仲介処理を実施することができれば良い。
【００４６】
暗号方法ＩＤ１１４１と情報端末処理１１４２は、情報端末１が通信するノード３が備える暗号方法の種類の数だけ存在することが考えられる。複数種類の暗号処理で情報端末処理１１４２を統一できる場合は、複数の暗号方法ＩＤ１１４１を同じ情報端末処理１１４２に対応付けても構わない。なお、暗号方法テーブル１１４は、場合によって秘密情報格納装置２に配置されていても良い。この場合は、ノード３と秘密情報格納装置２とで暗号化データのやりとりを実施する際など、情報端末１による処理の仲介を必要としたタイミングで、必要な情報を秘密情報格納部２から所定の方法で取得することが考えられる。
【００４７】
図２におけるサーバ情報１１５は、制御ソフト１１１が必要に応じてサーバ４に接続するために使用する情報であり、サーバ４のＵＲＬやＩＰアドレスなどであることが考えられる。
【００４８】
データ格納部１１６は、ノード３から取得したデータを格納する。ここで格納されるデータは、後述するフローにより秘密情報格納装置２によって所定の暗号化が施されたデータであり、暗号の強度に応じて、情報端末１からは暗号化された部分の内容を知りえないものとする。
【００４９】
図３にデータ格納部１１６の構成要素の一例を示す。データ格納部１１６は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。データ格納部１１６は、一例として、ノードＩＤ１１６１、データＩＤ１１６２、取得日時１１６３、暗号化データ１１６４を備える。ノードＩＤ１１６１はデータを取得してきたノード３の識別情報である。データＩＤ１１６２は取得したデータに対して付されるＩＤであり、同じノード３から取得したデータであっても、データを取得したタイミングや手段によって値が異なることが考えられる。取得日時１１６３はノード３からデータを取得した日時等の情報が含まれることが考えられる。暗号化データ１１６４は、ノード３から取得したデータであり、後述するフローにより秘密情報格納装置２によって所定の暗号化が施され、暗号の強度に応じて、情報端末１からはその内容を知りえないものとする。他に、データ格納部１１６は、例えば情報端末１が位置情報を取得する構成要素を備えている場合は、データを取得した際の位置情報等が含まれていても良い。
【００５０】
なお、データ格納部１１６は、場合によって秘密情報格納装置２に配置されていても良い。この場合は、情報端末１がサーバ４にデータ送出する際など、暗号化データを必要としたタイミングで、必要な情報を秘密情報格納部２から所定の方法で取得することが考えられる。
【００５１】
情報端末ＩＤ１１２、認証方法テーブル１１３、暗号方法テーブル１１４、サーバ情報１１５、データ格納部１１６は、予め制御ソフト１１１と共に記憶部１１に書き込まれていてもよいし、制御ソフト１１１自体をネットワーク等から取得し記憶部１１に書き込む際に合わせて書き込んでもよい。あるいは他の媒体にこれらの情報を格納しておき、適宜制御ソフト１１１が読み込んで記憶部１１に書き込んでもよい。先述の他の媒体とは、例えば、外部メモリでもよいし、あるいは接続先の判明しているその他のサーバでもよいし、もしくは秘密情報格納装置２であってもかまわない。
【００５２】
なお図に示してはいないが、制御ソフト１１１は上記以外の情報を備えていてもよい。例えば後述する秘密鍵格納装置２が備えるアプリケーションやソフトウェア等のプログラムにアクセスするためのプログラムＩＤなどを備えていても構わない。プログラムＩＤとしては例えばＩＣカードの規格であるＩＳＯ７８１６に準拠したＡＩＤ（Ａｐｐｌｉｃａｔｉｏｎ  ＩＤ）などであることが考えられる。
【００５３】
秘密情報格納装置２の記憶部２１は、一例として、制御ソフト２１１を有する。制御ソフト２１１は、秘密情報格納装置２の制御を行うソフトウェアであり、制御部２２によって実行される。制御ソフト２１１は複数のソフトウェアが連携した複合的なものであってもかまわない。なお、本発明で特に断りなく制御ソフト２１１が処理を実行するような記述をした場合、物理的には制御ソフト２１１のプログラムの記述に則って制御部２２が処理を実行するということを示しているものとする。
【００５４】
制御ソフト２１１は、一例として、ノード管理テーブル２１２と、認証方法テーブル２１３と、暗号方法テーブル２１４と、サーバ認証鍵２１５と、データ格納部２１６と、テーブル更新鍵２１７とを備える。図２では便宜的に制御ソフト２１１の内部にこれらを備えるように記載しているが、これらは記憶部２１のある領域に書き込まれたデータであり、それを制御ソフト２１１が備える、前記動作を制御するためのソフトウェア（図示せず）が参照できるようになっていると考えられる。制御ソフト２１１としては、例えばＪａｖａＣａｒｄ仕様に則ったアプリケーション、ＪａｖａＣａｒｄＯＳ、ＭＵＬＴＯＳ（登録商標）仕様に則ったアプリケーション、ＭＵＬＴＯＳ  ＯＳなどが考えられる。
【００５５】
ノード管理テーブル２１２は、複数のノード３と、それに対応する認証手段、暗号手段、認証鍵、暗号鍵等を格納する領域である。ノード管理テーブル２１２は、その役割から、ＥＥＰＲＯＭやフラッシュなどの不揮発性のメモリに配置されることが望ましい。
【００５６】
図４にノード管理テーブル２１２の構成要素の一例を示す。ノード管理テーブル２１２は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。ノード管理テーブル２１２は、一例として、ノードＩＤ２１２１、認証方法ＩＤ２１２２、認証鍵２１２３、暗号方法ＩＤ２１２４、通信路暗号鍵２１２５、保管用暗号鍵２１２６、を備える。
【００５７】
ノードＩＤ２１２１はデータを取得するノード３の識別情報である。後述するフローでノード３から送出されるＩＤ情報と対応しており、通信するノードの数だけ保持する。あるいは複数のノード３をグループ化して一様に取り扱う場合、ノード３のグループを識別するグループＩＤが格納されてもよい。あるいは、例えば複数のノード３をグループ化して一様に扱うケースとして、その通信手段が有線か無線かといったことや、ＢｌｕｅｔｏｏｔｈかＮＦＣかといったことが判定基準になりうる場合などは、ノード通信部１８における通信手段に対応するＩＤ等をノードＩＤ２１２１として扱ってもよい。またそのほかの判断基準で適当なグルーピングを行ってもかまわない。
【００５８】
認証方法ＩＤ２１２２は、後述するフローにおいて、ノードＩＤ２１２１に対応するノード３からのデータの読み出しを行う際に、ノード３に対する認証処理で用いる認証方法を示すＩＤであり、後述する認証方法テーブル２１３に格納される認証方法のいずれかに対応している。認証方法は例えばＡＥＳなどの共通鍵暗号によるチャレンジ・レスポンスや、ＰＫＩなどによる認証であってもよい。ノード３の用途によっては排他的論理和によるセキュリティ強度がそれほど強くないと考えられる認証や、あるいは認証なしであってもよい。いずれの場合でも、認証方法ＩＤ２１２２が示す認証方法は、対応するノード３が予め持っている認証方法と合わせておく必要がある。
【００５９】
認証鍵２１２３は、後述するフローにおいて、ノードＩＤ２１２１に対応するノード３からのデータの読み出しを行う際に、ノード３に対する認証方法ＩＤ２１２２が示す認証処理で用いる認証鍵である。認証鍵２１２３の形式は認証方法ＩＤ２１２２に依存するものであり、例えばＡＥＳなどの共通鍵や、ＲＳＡや楕円曲線暗号による公開鍵ペアなどが考えられる。ノード３の用途によっては認証なしでもよいが、その場合は該当する値なしであっても構わない。いずれの場合でも、認証鍵２１２３は、ノード３が予め持っている認証鍵と、認証処理において対になるものとしておく必要がある。
【００６０】
暗号方法ＩＤ２１２４は、後述するフローにおいて、ノードＩＤ２１２１に対応するノード３からのデータの読み出しを行う際に、ノード３から送出されるデータを暗号化する暗号方法を示すＩＤであり、後述する暗号方法テーブル２１４に格納される暗号方法のいずれかに対応している。暗号方法は例えばＡＥＳなどの共通鍵暗号でもよいし、ＰＫＩなどの公開鍵暗号による鍵共有を行って暗号化してもよいし、準同型暗号などであってもよい。ノード３の用途によっては排他的論理和によるセキュリティ強度がそれほど強くないと考えられる暗号や、あるいは暗号なしであってもよい。また暗号方法ＩＤ２１２４は認証方法ＩＤ２１２２と関連していても良く、例えば認証方法ＩＤ２１２２が示す認証処理において暗号用のセッション鍵を生成してもよい。いずれの場合でも、暗号方法ＩＤ２１２４が示す暗号方法は、ノード３が予め持っている暗号方法と合わせてある必要がある。
【００６１】
通信路暗号鍵２１２５は、後述するフローにおいて、ノードＩＤ２１２１に対応するノード３からのデータの読み出しを行う際に、ノード３に対する暗号方法ＩＤ２１２４による暗号処理で用いる暗号鍵である。通信路暗号鍵２１２５の形式は暗号方法ＩＤ２１２４に依存するものであり、例えばＡＥＳなどの共通鍵や、ＲＳＡや楕円曲線暗号による公開鍵ペア、準同型暗号の鍵情報などが考えられる。ノード３の用途によっては暗号なしでもよいが、その場合は該当する値なしであっても構わない。また、通信路暗号鍵２１２５をマスター鍵として、セッション鍵を生成し、それを通信路の暗号化に用いる方式でも構わない。あるいは通信路暗号鍵２１２５と認証鍵２１２３が同一のものであっても構わない。また、通信路暗号鍵２１２５は認証方法ＩＤ２１２２と関連していても良く、例えば認証方法ＩＤ２１２２が示す認証処理において暗号用のセッション鍵を生成してもよい。いずれの場合でも、通信路暗号鍵２１２５は、ノード３が予め持っている暗号鍵と、暗復号処理において対になるものとしておく必要がある。
【００６２】
保管用暗号鍵２１２６は、後述するフローにおいて、ノードＩＤ２１２１に対応するノード３から読み出したデータを、情報端末１または情報端末１を経由してサーバ４に送出する際に、データを再暗号化する処理において用いる暗号鍵である。保管用暗号鍵２１２６の形式は予めサーバ４と取り決めた暗号処理方式に依存するものであり、例えばＡＥＳなどの共通鍵や、ＲＳＡや楕円曲線暗号による公開鍵ペア、準同型暗号の鍵情報などが考えられる。また、保管用暗号鍵２１２６をマスター鍵として、乱数値等の何らかの情報を組み合わせ、派生鍵を生成し、それを保管用の暗号鍵として用いる方式でも構わない。あるいは保管用暗号鍵２１２６と認証鍵２１２３や通信路暗号鍵２１２５が同一であるケースがあってもよい。いずれの場合でも、保管用暗号鍵２１２６は、サーバ４が予め持っている暗号鍵と、暗復号処理において対になるものとしておく必要がある。
【００６３】
上述の例では、保管用暗号鍵２１２６はノード管理テーブル２１２の構成要素として記述したが、この例に限ったものではない。一例として、どのノード３から取得したデータであっても、サーバ４に送出する際は同一の保管用暗号鍵２１２６を用いて暗号化することとすれば、秘密情報格納装置２は、ノード管理テーブル２１２とは独立に保管用暗号鍵２１２６を一つ保持していれば良いことになる。
【００６４】
また図に示してはいないが、ノード管理テーブル２１２は、ノードＩＤ２１２１が示すノードＩＤを持つノード３との通信の可否を示す情報を持っていてもよい。例えば通信してよいノード３のホワイトリストや、通信してはならないノード３のブラックリストなどがこれに相当する。
【００６５】
また、ノード管理テーブル２１２は情報端末１に存在してもよい。秘密情報格納装置２と情報端末１の両方に存在してもよいし、どちらか一方でも構わない。例えば、秘密情報格納装置２のノード管理テーブル２１２は上記の構成を取った上で、情報端末１のノード管理テーブル２１２にはノードＩＤ２１２１と認証方法ＩＤ２１２２、暗号方法ＩＤ２１２４の対応付けが格納されており、鍵は含まないといったことも考えられる。
【００６６】
図２における認証方法テーブル２１３は、ノード管理テーブル２１２の認証方法ＩＤ２１２２に対応する認証方法を示す領域である。認証方法テーブル２１３は、その役割から、ＥＥＰＲＯＭやフラッシュなどの不揮発性のメモリに配置されることが望ましい。
【００６７】
図４に認証方法テーブル２１３の構成要素の一例を示す。認証方法テーブル２１３は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。もしくは後述する認証方法ＩＤに紐付いた所定の認証方法を実施すべく処理を分岐する適当な分岐処理であることが考えられる。認証方法テーブル２１３は、一例として、認証方法ＩＤ２１３１、認証方法２１３２、を備える。
【００６８】
認証方法ＩＤ２１３１は、ノード管理テーブル２１２の認証方法ＩＤ２１２２において記されるＩＤであり、認証方法２１３２と対応している。
【００６９】
認証方法２１３２は、認証方法ＩＤ２１３１と対応しており、ノード３との認証方法を示す。具体的には、認証方法を実現するプログラムへの関数ポインタを格納した関数テーブルであってもよいし、あるいは、テーブル形式を取っていなくとも適当な分岐処理をもって認証方法ＩＤ２１３１と紐付いていてもよい。例えばＡＥＳなどの共通鍵暗号によるチャレンジ・レスポンスや、ＰＫＩなど、所定の認証処理を実行することを示すことができれば良い。
【００７０】
認証方法ＩＤ２１３１と認証方法２１３２は、情報端末１が通信するノード３が備える認証方法の種類の数だけ存在することが考えられる。認証方法が鍵を用いるものであった場合、各ノード３が個別に有する鍵はノード管理テーブル２１２で管理されるのが望ましいため、認証方法テーブル２１３は鍵の情報からは切り離されているのが望ましい。また認証方法ＩＤ２１３１は情報端末１の認証方法テーブル１１３における認証方法ＩＤ１１３１と対応付いていることが望ましい。
【００７１】
図２における暗号方法テーブル２１４は、ノード管理テーブル２１２の暗号方法ＩＤ２１２４に対応する暗号方法を示す領域である。暗号方法テーブル２１４は、その役割から、ＥＥＰＲＯＭやフラッシュなどの不揮発性のメモリに配置されることが望ましい。
【００７２】
図４に暗号方法テーブル２１４の構成要素の一例を示す。暗号方法テーブル２１４は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。もしくは後述する暗号方法ＩＤに紐付いた所定の暗号方法を実施すべく処理を分岐する適当な分岐処理であることが考えられる。暗号方法テーブル２１４は、一例として、暗号方法ＩＤ２１４１、暗号方法２１４２、を備える。
【００７３】
暗号方法ＩＤ２１４１は、ノード管理テーブル２１２の暗号方法ＩＤ２１２４において記されるＩＤであり、暗号方法２１４２と対応している。
【００７４】
暗号方法２１４２は、暗号方法ＩＤ２１４１と対応しており、ノード３が送出するデータの暗復号の方法を示す。具体的には、暗号方法を実現するプログラムへの関数ポインタを格納した関数テーブルであってもよいし、あるいは、テーブル形式を取っていなくとも適当な分岐処理をもって暗号方法ＩＤ２１４１と紐付いていてもよい。例えばＡＥＳなどの共通鍵暗号や、ＰＫＩなどの公開鍵暗号による鍵共有による暗号、準同型暗号を用いた処理など、所定の暗号処理を実行することを示すことができれば良い。
【００７５】
暗号方法ＩＤ２１４１と暗号方法２１４２は、情報端末１が通信するノード３が備える暗号方法の種類の数だけ存在することが考えられる。暗号方法が鍵を用いるものであった場合、各ノード３が個別に有する鍵はノード管理テーブル２１２で管理されるのが望ましいため、暗号方法テーブル２１４は鍵の情報からは切り離されているのが望ましい。また暗号方法ＩＤ２１４１は情報端末１の暗号方法テーブル１１４における暗号方法ＩＤ１１４１と対応付いていることが望ましい。
【００７６】
図２のサーバ認証鍵２１５は、情報端末１もしくは秘密情報格納装置２とサーバ４とで相互認証を行う鍵の情報である。例えば情報端末１のネットワーク通信部１７と、サーバ４との間でネットワーク通信を行う際の相互認証と暗号通信路の確立に用いることが考えられる。サーバ認証鍵２１５としては、例えば、ＰＫＩを用いたＳＳＬ通信に使用する公開鍵証明書やクライアント認証の秘密鍵が考えられる。サーバ認証鍵２１５は複数個あってもよく、それが公開鍵である場合は情報端末１に配置されていても構わない。例えば、ＳＳＬによるサーバ認証を行う場合は、サーバ認証鍵２１５はサーバの公開鍵証明書に相当すると考えられるため、情報端末１に配置されていても何ら問題はない。また、ＳＳＬのサーバ認証とクライアント認証を両方行う場合などは、サーバ認証鍵２１５に相当する要素が複数存在してもかまわず、さらに、それらが秘密情報格納装置２と情報端末１に分かれて配置されていてもよい。例えば先述のサーバ認証に用いるサーバの公開鍵証明書に相当するサーバ認証鍵２１５は情報端末１に配置し、クライアント認証に用いる秘密鍵に相当するサーバ認証鍵２１５は秘密情報格納装置２に配置する、といった構成になっていても構わない。
【００７７】
データ格納部２１６は、ノード３から取得したデータを格納する。ここで格納されるデータは、後述するフローによりノード３で所定の暗号化が施されたデータを、秘密情報格納装置２によって復号化したデータである。
【００７８】
図４にデータ格納部２１６の構成要素の一例を示す。データ格納部２１６は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。データ格納部２１６は、一例として、ノードＩＤ２１６１、データＩＤ２１６２、取得日時２１６３、データ２１６４を備える。ノードＩＤ２１６１はデータを取得してきたノード３の識別情報である。データＩＤ２１６２は取得したデータに対して付されるＩＤであり、同じノード３から取得したデータであっても、データを取得したタイミングや手段によって値が異なることが考えられる。データＩＤ２１６２はデータ格納部２１６の内部で一意になっていることが望ましく、カウンタや乱数を用いてＩＤを付しても良い。取得日時２１６３はノード３からデータを取得した日時等の情報が含まれることが考えられる。日時は秘密情報格納装置２が取得可能であればそれを用いても良いし、情報端末１から日時情報を送付してもよい。もしくは取得日時２１６３は省略しても構わない。データ２１６４は、ノード３から取得したデータであり、後述するフローによりノード３で所定の暗号化が施されたデータを秘密情報格納装置２によって復号化したデータである。なお、情報端末１の構成例で説明したデータ格納部１１６が秘密情報格納装置２に配置される場合は、データ格納部２１６を省いても構わない。
【００７９】
図２のテーブル更新鍵２１７は、ノード管理テーブル２１２、もしくは認証方法テーブル２１３や暗号方法テーブル２１４を、サーバ４の情報に基づいて更新する際に用いる鍵である。サーバ４が生成する暗号化されたテーブル更新情報を復号するために用いる。詳細はサーバ４の構成および後述するフローにおいて説明する。
【００８０】
図５はノード３およびサーバ４の機能構成の一例を示す図である。
【００８１】
ノード３は、記憶部３１、制御部３２、電源供給部３３、通信部３４、暗号処理部３５、センサ部３６を備え、これらがバス線などで結線されている。なお、図５では各モジュールがノード３の内部にて他のモジュールと物理的に結線しているように示しているが、必ずしもバス線により結線されている必要はなく、その他の方法で電気的に繋がっていても良いし、必要なモジュール同士のみが相互に接続されている構成でもかまわない。
【００８２】
記憶部３１は、ノード３に内蔵されるメモリ、または取り外し可能な外部メモリ等から構成され、各種の情報を記憶する。例えば、制御部３２が実行する動作制御用プログラムを記憶する。記憶部３１は、制御ソフト３１１を備え、これについては後述する。
【００８３】
制御部３２は、ＣＰＵ、ＭＰＵ、およびＤＳＰ等から構成され、所定の動作制御用プログラムを実行するなどして、ノード３全体の動作を制御する。
【００８４】
電源供給部３３は、バッテリ、ＡＣアダプタ、および充電回路等から構成され、情報端末１の各部への電源供給や、バッテリへの充電を行う。ノード３がバッテリ駆動されているか、ＡＣアダプタ駆動されているかといった状態確認や、バッテリの残量確認を行うことも考えられる。もしくは外部から無線給電を行う電源回路であってもよく、情報端末１もしくはその他の装置などから、無線による電力の供給を受けても良い。
【００８５】
通信部３４は、ノード３が情報端末１等と通信を行うための機能であり、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣ、Ｚｉｇｂｅｅ、ＵＳＢ、ＲＳ２３２Ｃ、有線ＬＡＮ、無線ＬＡＮ等の通信を行うためのモジュールが考えられる。通信部３４は通信方式等に応じてノード３に複数個存在してもかまわない。
【００８６】
暗号処理部３５は、剰余乗算コプロセッサや暗号アクセラレータ等から構成され、ＲＳＡ暗号や楕円曲線暗号といった公開鍵暗号処理や、ＡＥＳやＤＥＳといった共通鍵暗号処理を、制御部で行うよりも高速に実行するための装置である。暗号処理部３５は処理する暗号等に応じてノード３に複数個存在してもかまわないし、もしくは制御部３２がその役割を行うのであれば存在しなくてもかまわない。
【００８７】
センサ部３６は、Ｍ２ＭシステムやＩｏＴシステムの目的となる所定のサービスを実現するために必要な情報をノード３が収集するためのモジュールまたはインタフェースである。センサ部３６は、温度センサ、歪みセンサ、加速度センサ、微粒子センサ等の各種センサモジュールや、他の機器からＭ２Ｍに関する情報を取得する所定のインタフェース等であることが考えられる。
【００８８】
ノード３による情報取得は、情報端末１とは無関係に行われることが考えられる。ノード３は、何らかの方法で電源供給部３３からの給電を受けている間、センサ部３６から定期的もしくは何らかのトリガーによって種々の情報を取得し、これを記憶部３１に格納する動作を、制御部３２の制御によって実施することが考えられる。ただし、ノード３の動作はこれに限るものではなく、例えば情報端末１から要求があった場合にのみセンサ部からの情報を取得するような制御を行っても良い。
【００８９】
ノード３の記憶部３１は、制御ソフト３１１を有する。制御ソフト３１１は、ノード３がセンサ部３６から情報を取得して記憶部３１に格納したり、情報端末１からの要求により所定の認証処理や暗号処理を実施する全体のアルゴリズムを制御したりするソフトウェアであり、制御部３２によって実行される。
【００９０】
制御ソフト３１１は、一例として、ノードＩＤ３１２と、認証鍵３１３と、通信路暗号鍵３１４と、データ格納部３１６とを備える。図５では便宜的に制御ソフト３１１の内部にこれらを備えるように記載しているが、これらは記憶部３１のある領域に書き込まれたデータであり、それを制御ソフト３１１が備える前記動作を制御するソフトウェア（図示せず）が参照できるようになっていると考えられる。
【００９１】
ノードＩＤ３１２は、秘密情報格納装置２やサーバ４がノード３を識別するためのＩＤ情報であることが考えられる。ノードＩＤ３１２は予め制御ソフト３１１と共に記憶部１１に書き込まれていてもよいし、制御ソフト３１１自体をノード３の外部から取得し記憶部３１に書き込む場合は、その際に合わせて書き込んでもよい。いずれにしても、ノードＩＤ３１２は、秘密情報格納装置２やサーバ４にとっての識別情報であるから、予め秘密情報格納装置２やサーバ４と信頼できる方法で共有されていることが考えられる。
【００９２】
認証鍵３１３は、後述するフローで、ノード３から情報端末１にデータを送出する際に、所定の認証処理を実施するための鍵である。認証鍵３１３は、秘密情報格納装置２のノード管理テーブル２１２において、ノードＩＤ３１２と対応するノードＩＤ２１２１に紐付いた認証鍵２１２３と、認証処理において対になるものである。認証鍵３１３を用いた認証処理のアルゴリズムは、秘密情報格納装置２のノード管理テーブル２１２において、ノードＩＤ３１２と対応するノードＩＤ２１２１に紐付いた認証方法ＩＤ２１２２で示される認証方法２１３２と対応するものである。
【００９３】
通信路暗号鍵３１４は、後述するフローで、ノード３から情報端末１にデータを送出する際に、所定の暗号処理を施すための鍵である。通信路暗号鍵３１４は、秘密情報格納装置２のノード管理テーブル２１２において、ノードＩＤ３１２と対応するノードＩＤ２１２１に紐付いた通信路暗号鍵２１２５と、暗復号処理において対になるものである。通信路暗号鍵３１３を用いた暗号処理のアルゴリズムは、秘密情報格納装置２のノード管理テーブル２１２において、ノードＩＤ３１２と対応するノードＩＤ２１２１に紐付いた暗号方法ＩＤ２１２４で示される暗号方法２１４２と対応するものである。
【００９４】
データ格納部３１６は、センサ部３６等から取得したデータを格納する。ここで格納されるデータは、後述するフローにより、通信路暗号鍵３１３によって暗号化された上で通信部３４より情報端末１に送出される。データ格納部３１６は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であってもよく、また、データの保持方法はこれらに限らない。
【００９５】
サーバ４は、記憶部４１と、制御部４２と、通信部４４と、を少なくとも備え、それらが互いに電気的に接続されている。記憶部４１は、不揮発性及び揮発性の半導体メモリや、ハードディスクなどで構成され、制御部４２で実行されるプログラムや、プログラムが使用するデータ等を格納する。もしくはセンシティブな情報を格納する場合は耐タンパ機構等を備えたＨＳＭ（Ｈａｒｄｗａｒｅ  Ｓｅｃｕｒｉｔｙ  Ｍｏｄｕｌｅ）などを記憶部４１に含んでも良い。制御部４２はＣＰＵやＧＰＵなどで構成され、サーバ４全体の制御を司る。通信部４４は情報端末１や他の装置と通信を行うための機能であり、ＬＴＥ、３Ｇ、ＨＳＰＡ、ＷｉＭＡＸ、有線ＬＡＮ、無線ＬＡＮ、およびＷＡＮ等のネットワーク通信を行うためのモジュールが考えられる。記憶部４１、制御部４２、通信部４４は必要に応じてサーバ４に複数個存在することで、処理の高速化や冗長化を行ってもかまわない。またそれぞれの構成要素が別個の筐体もしくは別個のサーバとなっており、機能的に連携することでサーバ４を構成していても構わない。
【００９６】
記憶部４１は、制御ソフト４１１を有する。制御ソフト４１１は、サーバ４が情報端末１と連携してノード３からデータを収集したり、秘密情報格納装置２のノード管理テーブル２１２を更新するためのテーブル更新情報を作成したりするソフトウェアであり、制御部４２によって実行される。
【００９７】
制御ソフト４１１は、一例として、ノード管理テーブル４１２と、認証方法テーブル４１３と、暗号方法テーブル４１４と、情報端末管理テーブル４１５と、データ格納部４１６と、テーブル更新鍵４１７とを備える。図５では便宜的に制御ソフト４１１の内部にこれらを備えるように記載しているが、これらは記憶部４１のある領域に書き込まれたデータであり、それを制御ソフト４１１が備える前記動作を制御するソフトウェア（図示せず）が参照できるようになっていると考えられる。制御ソフト４１１としては、例えばサーブレットなどが考えられる。
【００９８】
図６に、ノード管理テーブル４１２、認証情報テーブル４１３、暗号情報テーブル４１４の構成の一例を示す。
【００９９】
ノード管理テーブル４１２は、一例として、ノードＩＤ４１２１、認証方法ＩＤ４１２２、認証鍵４１２３、暗号方法ＩＤ４１２４、通信路暗号鍵４１２５、保管用暗号鍵４１２６、を備えるが、秘密情報格納装置２のノード管理テーブル２１２と同様の構成であるため、詳細な説明を省略する。ただしテーブルを構成する手段はノード管理テーブル４１２とノード管理テーブル２１２で異なっても良い。後述のフローでは、情報端末１を経由して送付されたノード３からの暗号化データを保管用暗号鍵４１２６で復号化する。保管用暗号鍵４１２６は、ノード管理テーブル２１２の保管用暗号鍵２１２６と、暗復号処理において対となるものとしておく必要がある。また保管用暗号鍵２１２６と同様に、ノード管理テーブル４１２とは独立に保管用暗号鍵４１２６を保持する構成であってもよい。
【０１００】
ノード管理テーブル２１２で管理されるノードＩＤ２１２１は、ノード管理テーブル４１２で管理されるノードＩＤ４１２１の部分集合となることが想定される。これは、Ｍ２Ｍシステムを運用する上で、管理すべき全てのノード３の情報はサーバ４において漏れなく管理されるであろうということ、かつ一方で、情報端末１や秘密情報格納装置２を新規導入した場合や、あるいはノード３を新たに追加した場合など、いくつかの場合において、特定の秘密情報格納装置２のノード管理テーブル２１２で管理されるノードＩＤ２１２１に、通信対象となる特定のノード３のノードＩＤ３１２が含まれない場合があると考えられるためである。そのため、後述のフローでは、ノード管理テーブル４１２の情報に基づきノード管理テーブル２１２の情報を更新するテーブル更新についても述べる。
【０１０１】
認証方法テーブル４１３と暗号方法テーブル４１４は、それぞれ一例として認証方法ＩＤ４１３１と認証方法４１３２、暗号方法ＩＤ４１４１と暗号方法４１４２、を備えるが、それぞれ秘密情報格納装置２の認証方法テーブル２１３と暗号方法テーブル２１４と同様の構成であるため、詳細な説明を省略する。ただしテーブルを構成する手段は認証方法テーブル４１３と認証方法テーブル２１３で異なっても良いし、暗号方法テーブル４１４と暗号方法テーブル２１４で異なっても良い。認証方法テーブル２１３と暗号方法テーブル２１４についても、ノード管理テーブル２１２と同様にテーブル更新の仕組みを備えてもよい。
【０１０２】
図７に、情報端末管理テーブル４１５、データ格納部４１６の構成の一例を示す。
【０１０３】
情報端末管理テーブル４１５は所定の情報を格納するためのテーブルや、データベース、ハッシュ構造、もしくはＫＶＳ等のデータを保持する手段であることが考えられる。情報端末管理テーブル４１５は、一例として、情報端末ＩＤ４１５１と、情報端末認証情報４１５２と、を備える。
【０１０４】
情報端末ＩＤ４１５１は情報端末１もしくは秘密情報格納装置２を識別するためのＩＤ情報であり、情報端末１もしくは秘密情報格納装置２の情報端末ＩＤ１１２と対応している。
【０１０５】
情報端末認証情報４１５２は、情報端末ＩＤ４１５１に対応した情報端末１もしくは秘密情報格納装置２と相互認証を行う鍵の情報である。例えば情報端末ＩＤ４１５１に対応した情報端末１のネットワーク通信部１７と、サーバ４の通信部４４との間でネットワーク通信を行う際の相互認証と暗号通信路の確立に用いることが考えられる。情報端末認証情報４１５２としては、例えば、ＰＫＩを用いたＳＳＬ通信に使用する公開鍵証明書やサーバ認証の秘密鍵が考えられる。情報端末認証情報４１５２には、用途の異なる複数種類の鍵が格納されていても構わない。
【０１０６】
また、上記の例では情報端末１とサーバ４の相互認証を行う際に、情報端末１ごとに認証情報が異なる例を記したが、この限りではない。例えば、相互認証にＳＳＬを使用する場合は、一般に情報端末１からのサーバ認証に用いる秘密鍵を情報端末１ごとに変更する必要はないことから、このような例においては情報端末管理テーブル４１５のような構成を取る必要は必ずしもなく、例えば、代表として情報端末認証情報４１５２を一つ保持していれば良い。あるいは、ＳＳＬのサーバ認証とクライアント認証を両方行う場合などは、上述のようにサーバ認証に用いる鍵は一つでも良いが、一般にクライアント認証に用いる公開鍵証明書は情報端末１の個数だけ管理する必要があることから、サーバ認証向けには情報端末認証情報４１５２を一つ持ち、一方で、クライアント認証向けには情報端末管理テーブル４１５によって情報端末認証情報４１５２を管理する、といった構成をとっても構わない。
【０１０７】
データ格納部４１６は、一例として、ノードＩＤ４１６１、データＩＤ４１６２、取得日時４１６３、データ４１６４を備えるが、秘密情報格納装置２のデータ格納部２１２と同様の構成であるため、詳細な説明を省略する。ただしテーブルを構成する手段はデータ格納部４１６とデータ格納部２１６で異なっても良い。データ格納部４１６が備えるデータ４１６４には、後述のフローにおいて、情報端末１を経由して送付されたノード３からの暗号化データを保管用暗号鍵４１２６で復号化したデータが格納される。
【０１０８】
図５のテーブル更新鍵４１７は、秘密情報格納装置２のノード管理テーブル２１２、もしくは認証方法テーブル２１３や暗号方法テーブル２１４を、ノード管理テーブル４１２、もしくは認証方法テーブル４１３や暗号方法テーブル４１４の情報に基づいて更新する際に用いる鍵である。テーブルの更新を行うためのテーブル更新情報は、テーブル更新鍵４１７によって暗号化され、秘密情報格納装置２に送付される。テーブル更新鍵４１７は、テーブル更新鍵２１７と、暗復号処理において対となるものとしておく必要がある。また、テーブル更新鍵４１７とテーブル更新鍵２１７とをそれぞれマスター鍵として、乱数値等の何らかの情報を組み合わせ、派生鍵を生成し、それをテーブル更新情報を生成する暗号鍵として用いる方式でも構わない。
【０１０９】
図８から図１０はＭ２Ｍシステムの処理の一例を示した図である。以下、特に断りがなければ、制御ソフト１１１を用いた制御部１２による情報端末１の動作を単に情報端末１の動作として記述し、制御ソフト２１１を用いた制御部２２による秘密情報格納装置２の動作を単に秘密情報格納装置２の動作として記述し、制御ソフト３１１を用いた制御部３２によるノード３の動作を単にノード３の動作として記述し、制御ソフト４１１を用いた制御部４２によるサーバ４の動作を単にサーバ４の動作として記述する。また、以下、特に断りがなければ、情報端末１と秘密情報格納装置２の通信はそれぞれ通信部１４と通信部２４を、情報端末１とノード３の通信はそれぞれノード通信部１８と通信部３４を、情報端末１とサーバ４の通信はそれぞれネットワーク通信部１７と通信部４４を、それぞれ介するものとする。また、以降のフローにおいて、認証処理や暗号処理を実施する場合、秘密情報格納端末２であれば暗号処理部２５を、ノード３であれば暗号処理部３５を、特に断りがなくとも、必要に応じて適宜用いるものとする。
【０１１０】
図８は、情報端末１を経由し、ノード３からデータを取得し、秘密情報格納装置２の内部に格納するまでの処理の一例を示している。
【０１１１】
処理は、一例として、情報端末１がユーザによって操作された、ということを検知して動作が開始する（Ｓ１０１）。例えば、ノード通信部１８により情報端末１がノード３に近づいたと検知しても良いし、入力部１６にユーザが入力したことを入力信号により、制御部１２が検知しても良い。もしくは前記以外の条件でフローを開始しても問題なく、例えば制御部１２がネットワーク通信部からの信号により判断を行う、などである。続いて情報端末１は、ノード３にノードＩＤを問い合わせる（Ｓ１０２）。問い合わせを受けたノード３は、ノードＩＤ３１２を情報端末１に送付する（Ｓ１０３）。ノードＩＤ３１２を受け取った情報端末１は、ノードＩＤ３１２もしくはそれを示す情報を秘密情報格納装置２に送付する（Ｓ１０４）。秘密情報格納装置２はノード管理テーブル２１２のノードＩＤ２１２１に、ノードＩＤ３１２に対応するものが存在するかどうかを判断し、存在するかどうかの判断を含む情報を、情報端末１に送付する（Ｓ１０５）。また、以降とくに明記はしないが、Ｓ１０４とＳ１０５の情報のやりとりを含め、情報端末１と秘密情報格納装置２の間の通信において、通信情報の署名や暗号化など、両者間で予め取り決めた処理が施されてあっても何ら問題はない。ノードＩＤ３１２に対する判断を受け取った情報端末１は、ノードＩＤ３１２に関する情報がノード管理テーブル２１２に存在する場合はＳ１０８に処理を分岐し、存在しない場合は、ノード４１２に関する情報をサーバ４に問い合わせるため、Ｓ１０７に分岐する（Ｓ１０６）。Ｓ１０７以降のフローは図１０に示し、詳細は後述する。また図に示してはいないが、Ｓ１０４とＳ１０５のやりとりにおいて情報端末１が受け取った情報がノードＩＤ３１２を持つノード３との通信を禁止するものであった場合は、情報端末１はＳ１０６においてノード３からデータを取得するための処理を中止する判断を行うことが考えられる。
【０１１２】
続いて情報端末１は、ノード３との認証方法について秘密情報格納装置２に問い合わせる（Ｓ１０８）。問い合わせを受けた秘密情報格納装置２は、ノード管理テーブル２１２においてＳ１０５で確認したノードＩＤ２１２１に対応付けられた認証方法ＩＤ２１２２に関する情報を情報端末１に送付する（Ｓ１０９）。このとき、ノード管理テーブル２１２のノードＩＤ２１２１と認証方法ＩＤ２１２２に関する対応部分が情報端末１に配置されている場合は、Ｓ１０８とＳ１０９の処理を省略してもよい。このとき情報端末１は自身のノード管理テーブル２１２から認証方法ＩＤ２１２２に関する情報を取得することが考えられる。
【０１１３】
Ｓ１１０ではノード３の認証鍵３１３と、秘密情報格納装置２の認証鍵２１２３とで、相互認証を行う。このとき、認証鍵２１２３はＳ１０５で確認したノードＩＤ２１２１に対応付けられたものを用いる。認証方法は、Ｓ１０５で確認したノードＩＤ２１２１に紐付いた認証方法ＩＤ２１２２について、これを認証方法テーブル２１３と照らし合わせて得られる認証方法２１３２を用いる。ノード３の認証鍵３１３と秘密情報格納装置２の相互認証は、情報端末１が必要な情報を仲介することによって行う。このときの仲介処理は、認証方法テーブル１１３において、Ｓ１０８とＳ１０９で取得した認証方法ＩＤ２１２２に対応する認証方法ＩＤ１１３１に紐付いた情報端末処理１１３２に基づく。また、図に示してはいないが、認証が成功したらＳ１１１に進み、失敗した場合はデータの取得を中止するのが望ましい。
【０１１４】
続いて情報端末１は、ノード３から取得するデータの暗号方法について秘密情報格納装置２に問い合わせる（Ｓ１１１）。問い合わせを受けた秘密情報格納装置２は、ノード管理テーブル２１２においてＳ１０５で確認したノードＩＤ２１２１に対応付けられた暗号方法ＩＤ２１２４に関する情報を情報端末１に送付する（Ｓ１１２）。このとき、ノード管理テーブル２１２のノードＩＤ２１２１と暗号方法ＩＤ２１２４に関する対応部分が情報端末１に配置されている場合は、Ｓ１１１とＳ１１２の処理を省略してもよい。このとき情報端末１は自身のノード管理テーブル２１２から暗号方法ＩＤ２１２４に関する情報を取得することが考えられる。
【０１１５】
続いて情報端末１の仲介により、ノード３は暗号鍵３１４によってデータ格納部３１６の情報を暗号化し、秘密情報格納装置２に送出する（Ｓ１１３）。このときの仲介処理は、暗号方法テーブル１１４において、Ｓ１１１とＳ１１２で取得した暗号方法ＩＤ２１２４に対応する暗号方法ＩＤ１１４１に紐付いた情報端末処理１１４２に基づく。また、このときノード３は、データ格納部３１６に格納した情報のうち、Ｓ１１３で送出した情報について、データ格納部３１６から削除するだとか、もしくは送出済みのフラグを付すなどして、未送出のデータと区別をつけるような処理を実施しても構わない。このような区別を付ける場合を含め、ノード３は、Ｓ１１３においてデータを送出する際、送出するデータを何らかの判断基準により選定する処理を実施しても構わない。また情報端末１は、秘密情報格納装置２に暗号化データを送付する際、合わせて格納する情報を秘密情報格納装置２に送付しても良い。例えば取得日時２１６３に格納する日時情報などが考えられる。
【０１１６】
暗号化されたデータを受け取った秘密情報格納装置２は、暗号鍵２１２５によりデータの復号を行う（Ｓ１１４）。このとき、暗号鍵２１２５はＳ１０５で確認したノードＩＤ２１２１に対応付けられたものを用いる。暗号方法は、Ｓ１０５で確認したノードＩＤ２１２１に紐付いた暗号方法ＩＤ２１２４について、これを暗号方法テーブル２１４と照らし合わせて得られる暗号方法２１４２を用いる。
【０１１７】
続いて秘密情報格納装置２は、Ｓ１１４で復号化したデータをデータ格納部２１６に格納する（Ｓ１１５）。このとき保管用暗号鍵２１２６で暗号化してから格納してもよい。復号化したデータは、Ｓ１０５で確認したノードＩＤ３１６をノードＩＤ２１６１に格納し、これに対応付けてデータ２１６４として格納する。また合わせてデータＩＤ２１６２と取得日時２１６３についても格納する。データＩＤ２１６２と取得日時２１６３に格納する情報は秘密情報格納部２において所定の方法で生成しても構わないし、Ｓ１１３などにおいて情報端末１から受け取ってもよい。
【０１１８】
秘密情報格納装置２は、Ｓ１１４とＳ１１５が完了したことを情報端末１に通知してもよい。情報端末１への通知は、情報端末１から秘密情報格納装置２に定期的に問い合わせてもよいし、秘密情報格納通知２から情報端末１へのプッシュ通信でもよい。あるいはＳ１１３で情報端末１が秘密情報格納端末２に送出した要求に対する秘密情報格納端末２からの返答が、Ｓ１１４やＳ１１５が完了してから行われることで完了を通知してもかまわない。
【０１１９】
図９は、情報端末１を経由し、図８のフローにおいて秘密情報格装置２に格納された暗号化データを、サーバ４に送付するまでの処理の一例を示している。
【０１２０】
図９の処理は、一例として、情報端末１がサーバ４に接続したときに開始している（Ｓ２０１）。しかしこれはあくまでも一例であり、情報端末１がサーバ４に既に接続されているときなどは、図８のフローが完了してからＳ２０２以降の処理を開始してもよいし、入力部１４からのユーザ操作を検知したときに開始してもよい。また、制御部１２がバックグラウンド処理等で定期的に図９のフローを開始しても良い。また、前記以外の条件で図９のフローを開始しても問題なく、例えば制御部１２が所定の判断を行うなどである。
【０１２１】
Ｓ２０２では、情報端末１とサーバ４で、ネットワークの暗号通信路を確立するために相互認証を行う。サーバ４は、情報端末１が送付する情報端末ＩＤ１１２によって情報端末１を識別する。情報端末１は秘密情報格納装置２のサーバ認証鍵２１５を用い、また、サーバ４は情報端末ＩＤ１１２と対応する情報端末管理テーブル４１５の情報端末ＩＤ４１５１に紐付いた情報端末認証情報４１５２を用い、相互に認証を行う。相互に認証を行う方法はどのようなものであっても良いが、例えば、ＳＳＬを用いたサーバ認証やクライアント認証であることが考えられる。なお、サーバ認証鍵２１５が秘密情報格納装置２に配置されている場合は、相互認証を行う過程において情報端末１は適宜秘密情報格納装置２と必要な情報のやりとりを実施する。
【０１２２】
続いて、情報端末１は、秘密情報格納装置２に対し暗号化データを要求する（Ｓ２０３）。これを受けた秘密情報格納装置２は、データ格納部２１６に格納されたデータを、保管用暗号鍵２１２６で暗号化し送出する（Ｓ２０４）。なおＳ１１５で既に暗号化を行っている場合はここでの暗号化は省略する。データ格納部２１６の情報を保管用暗号鍵２１２６で暗号化データとする一連の手順は、どのようなものであっても良いが、暗号化データの受け取り手であるサーバ４と予め取り決めた手順であることはもちろん、ノードＩＤ２１６１に対し、データＩＤ２１６２、取得日時２１６３、およびデータ２１６４の対応がわかるような形式とするのが望ましい。なお、秘密情報格納装置２から送出する情報を便宜的に暗号化データと呼称しているが、暗号化データに含まれる情報は、暗号化を施していない部分を含んでも構わない。例えば保管用暗号鍵２１２６で暗号化を施す情報は、データ格納部２１６に格納される情報の全体でもよいし、秘匿すべき一部の情報のみとし他は平文とするものでも良い。特に、保管用暗号鍵２１２６がノードＩＤ２１２１に個別に対応付いている場合、サーバ４で復号に使用すべき保管用暗号鍵４１２６を特定するため、少なくとも暗号化データは、平文で記されたノードＩＤ２１２１を含む必要があると考えられる。また、このとき秘密情報格納装置２は、データ格納部２１６に格納した情報のうち、Ｓ２０４で送出した情報について、データ格納部２１６から削除するだとか、もしくは送出済みのフラグを付すなどして、未送出のデータと区別をつけるような処理を実施しても構わない。このような区別を付ける場合を含め、秘密情報格納装置２は、Ｓ２０４においてデータを送出する際、送出するデータを何らかの判断基準により選定する処理を実施しても構わない。
【０１２３】
暗号化データを受け取った情報端末１は、Ｓ２０２で確立した暗号通信路を通じ、これをサーバ４に送付する（Ｓ２０５）。暗号化データを受け取ったサーバ４は、所定の保管用暗号鍵４１２６で暗号化データを復号する（Ｓ２０６）。一例として示したように保管用暗号鍵４１２６がノードＩＤ４１２１に対応付いている場合は、暗号化データに含まれるノードＩＤ２１２１の情報に基づいて保管用暗号鍵４１２６を選択し、これを用いて復号を行う。別の例として示したように保管用暗号鍵４１２６がノードＩＤ４１２１に対応付いていない場合はこの限りではなく、所定の保管用暗号鍵４１２６を用いて復号すればよい。
【０１２４】
続いてサーバ４は、復号したデータをデータ格納部４１６に格納する（Ｓ２０７）。このとき格納が完了したことを情報端末１に通知してもよい。情報端末１への通知は、情報端末１からサーバ４に定期的に問い合わせてもよいし、サーバ４から情報端末１へのプッシュ通信でもよい。あるいはＳ２０５で情報端末１がサーバ４に送出した要求に対するサーバ４からの返答が、Ｓ２０７まで完了してから行われることで完了を通知してもかまわない。
【０１２５】
図１０は、情報端末１を経由し、秘密情報格納装置２のノード管理テーブル２１２等を、サーバ４のノード管理テーブル４１２から作成したテーブル更新情報によって更新する処理の一例を示している。
【０１２６】
処理は、一例として、図８で例示したフローにおいてＳ１０７に分岐したことをきっかけとして開始する（図１０のＳ１０７）。もしくは、情報端末１がサーバ４に接続したことをきっかけとして開始しても良いし、入力部１４からのユーザ操作の検知をきっかけとして開始してもよい。もしくはこれ以外のきっかけでフローを開始しても問題なく、例えば制御部１２が所定の判断を行う。
【０１２７】
続いてＳ３０１において、情報端末１とサーバ４で、ネットワークの暗号通信路を確立するために相互認証を行う。Ｓ２０２と同様であるため、詳細の説明は省略する。なお図に示してはいないが、Ｓ３０１において情報端末１がサーバ４に接続できない場合も考えられる。例えば情報端末１とサーバ４が無線や有線によるネットワーク通信によって接続されている場合、何らかの理由で通信が断絶している場合もありうる。このときは、一旦フローを中断し、情報端末１とサーバ４が通信可能になった際にフローを再開するといった処理を行ってもよい。
【０１２８】
続いて、情報端末１は、Ｓ３０１で確立した暗号通信路を通じ、ノード３のノードＩＤ３１２をサーバ４に送付し、該当するノード３をサーバ４が管理しているかどうかを問い合わせる（Ｓ３０２）。問い合わせを受け取ったサーバ４は、ノード管理テーブル４１２のノードＩＤ４１２１に、ノードＩＤ３１２に対応するものが存在するかどうかを判断し、存在するかどうかの判断を含む情報を、情報端末１に送付する（Ｓ３０３）。ノードＩＤ３１２に対する判断を受け取った情報端末１は、ノードＩＤ３１２に関する情報がサーバ４に存在する場合はＳ３０５に処理を分岐し、存在しない場合は、ノード３はＭ２Ｍシステムに存在しない未知のノードであると判断し、フローを終了する（Ｓ３０４）。
【０１２９】
続くＳ３０５では、情報端末１は、Ｓ３０１で確立した暗号通信路を通じ、ノード３のノードＩＤ３１２を含むノード管理テーブル２１２のテーブル更新情報を、サーバ４に要求する。これを受けたサーバ４は、ノード管理テーブル４１２に基づいて作成したテーブル更新情報を、テーブル更新鍵４１７で暗号化し、情報端末１に送出する（Ｓ３０６）。テーブル更新情報はノードＩＤ３１２に対応したノードＩＤ４１２１に対応付いた情報である認証方法ＩＤ４１２２、認証鍵４１２３、暗号方法ＩＤ４１２４、通信路暗号鍵４１２５、および保管用暗号鍵４１２６を含むのが望ましく、また、それ以外の情報を含んでもよい。例えば他のノード３に関する情報を含んでも良い。ノード管理テーブル４１２の情報をテーブル更新鍵４１７で暗号化しテーブル更新情報とする一連の手順は、どのようなものであっても良いが、テーブル更新情報の受け取り手である秘密情報格納装置２と予め取り決めた手順である必要がある。
【０１３０】
テーブル更新情報を受信した情報端末１は、これを秘密情報格納装置２に送信し、テーブルを更新するよう要求する（Ｓ３０７）。これを受信した秘密情報格納装置２は、テーブル更新情報をテーブル更新鍵２１７で復号化し、ノード管理テーブル２１２を更新する（Ｓ３０８）。このとき更新が完了したことを情報端末１に通知してもよい。情報端末１への通知は、情報端末１から秘密情報格納装置２に定期的に問い合わせてもよいし、秘密情報格納装置２へのプッシュ通信でもよい。あるいはＳ３０７で情報端末１が秘密情報格納装置２に送出した要求に対する秘密情報格納装置２からの返答が、Ｓ３０８まで完了してから行われることで完了を通知してもかまわない。
【０１３１】
更新が完了したら、情報端末１は図８のＳ１０８から先のフローを実施する（Ｓ３０９）。
【０１３２】
テーブル更新情報は、認証方法テーブル４１３や暗号方法テーブル４１４の内容およびそれらに対応する認証方法の手続きや、暗号方法の手続きの内容を含んでもよい。これらを更新する場合は、情報端末１の認証方法テーブル１１３と暗号方法テーブル１１４の内容も合わせて更新するのが望ましい。この場合は手続きの更新を含むことから、例えば、制御アプリ２１１や制御アプリ１１１等のバージョンアップなど、機能追加に相当する処理であることが考えられる。
【０１３３】
フローに詳細を記してはいないが、情報端末１が、ノード３と秘密情報格納装置２の処理の仲介や、サーバ４と秘密情報格納装置２の仲介を行っている場合において、何らかのエラーが発生した場合は、その旨を、ノード３、サーバ４、もしくは秘密情報格納装置２に通知しても構わない。
【０１３４】
またフローに詳細を記してはいないが、制御ソフト１１１は、必要に応じて、そのとき行っている処理を表示部１５によって適宜ユーザに通知しても構わない。特に一連の処理の完了や分岐においては、その旨を表示部１５によってユーザに通知するのが望ましいし、入力部１６と組み合わせて分岐の判断をユーザに問い合わせても構わない。
【０１３５】
また、フローでは各ステップ間の情報のやり取りを双方向の矢印で示しているが、実際には、コマンドに対するレスポンスのペアを成していると考えられる。また、各ステップ間の情報のやり取りを一組の双方向矢印で示している場合であっても、その中に複数のコマンド・レスポンスを含んでいても何ら問題ない。
【０１３６】
なお、本発明は上記した各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施例は本発明を分かりやすく説明するために詳細に説明されたものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１３７】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部または全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。なお、図１１に示すように、各機能を実現するプログラム等をサーバ等に複製し、情報端末１、およびその他の端末、装置、機器等に有線または無線の通信回線等を介して提供するようにしても良い。この場合、ユーザは、端末等を操作して、サーバ等から必要なプログラム等をダウンロードし、端末等の記憶部にインストールさせることができる。
【０１３８】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１３９】
１        情報端末
２        秘密情報格納装置
３        ノード
４        サーバ
【図１】
2015091070.tif 000003
【図２】
2015091070.tif 000004
【図３】
2015091070.tif 000005
【図４】
2015091070.tif 000006
【図５】
2015091070.tif 000007
【図６】
2015091070.tif 000008
【図７】
2015091070.tif 000009
【図８】
2015091070.tif 000010
【図９】
2015091070.tif 000011
【図１０】
2015091070.tif 000012
【図１１】
2015091070.tif 000013