(57)【要約】  【課題】端末装置で実行中のプログラムの正当性を確認し、その結果に基づいてプログラムによる遠隔操作の制御を行い得る確認方法を提供すること。  【解決手段】  本発明に係る確認方法は、端末装置で実行され、サーバ装置を介して機器を遠隔操作するための制御プログラムが正当であるか否かを確認するための確認方法であって、前記端末装置の利用者に割り当てられた固有識別子と、前記制御プログラムに割り当てられるためにサーバ装置が生成するパラメータと、前記制御プログラムの少なくとも一部である部分データとを用いて生成した検証データを、サーバ装置が予め記憶している利用者のＩＤ、パラメータ、及び前記制御プログラムに相当するプログラムにおいて前記部分データに相当する部分のデータを用いて生成した比較データと照合し、一致しない場合には前記機器の遠隔操作の抑制を行う。【選択図】図２３
2014135048.tif 000002
【特許請求の範囲】
【請求項１】
端末装置で実行され、サーバ装置を介して機器を遠隔制御するための制御プログラムが正当であるか否かを確認するための確認方法であって、
前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得ステップと、
前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得ステップと、
前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成ステップと、
前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信ステップと、
前記サーバ装置が前記検証データを受け付ける毎に、
前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成ステップと、
前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定ステップと、
前記判定ステップで否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御ステップとを含む
ことを特徴とする確認方法。
【請求項２】
前記端末装置は、実行用メモリを備え、
前記制御プログラムを実行する際には、当該制御プログラムは、前記実行用メモリにロードされ、
前記生成ステップは、前記部分データとして、前記実行用メモリにロードされた前記制御プログラムの少なくとも一部である部分データを用いる
ことを特徴とする請求項１記載の確認方法。
【請求項３】
前記生成ステップは、検証データを生成する毎に、前回検証データを生成した際に用いた部分データとは異なる部分データを用いて、当該検証データを生成する
ことを特徴とする請求項２の確認方法。
【請求項４】
前記パラメータは、乱数であり、
前記生成ステップは、前記乱数と、前記固有識別子と、前記部分データとを用いて予め定められた一方向性関数を用いて演算を行うことにより前記検証データを生成し、
前記比較データ生成ステップは、前記一方向性関数と同じ関数を用いて演算を行うことによって前記比較データを生成する
ことを特徴とする請求項３記載の確認方法。
【請求項５】
前記制御プログラムは、前記端末装置が配信サーバ装置から取得した制御プログラムであり、
前記サーバ装置に記憶されている制御プログラムは、前記端末装置が前記配信サーバ装置から取得した制御プログラムと同一の制御プログラムであり、
前記比較データ生成ステップは、前記サーバ装置に記憶されている前記制御プログラムにおいて前記部分データに相当する部分データを用いて比較データを生成する
ことを特徴とする請求項４記載の確認方法。
【請求項６】
更に、前記判定ステップで否定的な判定を行った場合に、前記制御プログラムが正当でないことを示す情報の通知を行う通知ステップを含む
ことを特徴とする請求項１記載の確認方法。
【請求項７】
更に、前記通知を行った場合に、前記制御プログラムの更新の許否を利用者に問い合わせ、当該問い合わせの応答として更新の許可情報を受け取った場合には、前記配信サーバ装置から最新の制御プログラムを取得し、前記制御プログラムを当該最新の制御プログラムに更新する更新ステップを含む
ことを特徴とする請求項６記載の確認方法。
【請求項８】
更に、前記判定ステップで否定的な判定を行った場合に、前記パラメータを新たなパラメータに更新するパラメータ更新ステップを含む
ことを特徴とする請求項５記載の確認方法。
【請求項９】
前記機器を遠隔制御するための指示を出力する出力ステップを更に含み、
前記制御ステップは、前記機器の遠隔制御の抑制として、前記指示を当該機器に送信しないように制御する
ことを特徴とする請求項５記載の確認方法。
【請求項１０】
前記端末装置は、前記機器に対する複数の遠隔操作の指示毎に、当該遠隔操作の指示を受け付けるための、前記固有識別子に関する条件を示す情報を含み
更に、利用者からの前記複数の遠隔操作の指示のうちの一の遠隔操作の指示を受け付ける受付ステップとを有し、
前記受付ステップは、前記固有識別子と、前記条件とに基づいて、前記一の遠隔操作の指示受け付けるための条件を満たさないと判断した場合には、前記機器の遠隔操作の指示を受け付けないように制御する
ことを特徴とする請求項５記載の確認方法。
【請求項１１】
前記サーバ装置は、利用者毎に対応付けたＩＤを記憶しており、
更に、前記利用者のログインを受け付けるログイン受付ステップと、
前記制御プログラムが実行される際に、
一の利用者のログインを受け付け、前記サーバ装置が記憶している前記利用者毎に対応付けたＩＤを参照することによって当該一の利用者のＩＤを特定し、当該ＩＤと、前記固有識別子とが一致するか否かのＩＤ照合を行う利用者認証ステップと、
前記利用者認証ステップでの認証が否定的な場合には、前記制御プログラムの実行を抑制する抑制ステップとを含む
ことを特徴とする請求項５記載の確認方法。
【請求項１２】
前記固有識別子格納装置は、耐タンパ性を有する記憶領域に固有識別子を記憶している記録媒体装置であり、
前記端末装置は、前記記録媒体装置を接続するインターフェースを備え、
前記固有識別子取得ステップは、前記端末装置に接続された前記記録媒体装置の固有識別子を取得する
ことを特徴とする請求項１１記載の確認方法。
【請求項１３】
更に、前記端末装置と前記記録媒体装置とが接続されているか否かの接続状態を検知する検知ステップを含み、
前記検知ステップが否定的な判定を行った場合に、
前記ログイン受付ステップは、前記一の利用者からのログインを受け付け、
前記利用者認証ステップは、前記ＩＤ照合を行う
ことを特徴とする請求項１２記載の確認方法。
【請求項１４】
前記サーバ装置は、前記機器の遠隔制御を許可しない対象の固有識別子を判定するためのリボーク情報を記憶しており、
前記利用者認証ステップは、前記ＩＤ照合の結果、前記固有識別子が、前記一の利用者のＩＤと一致すると判断されても、当該固有識別子が、前記リボーク情報で示される固有識別子と一致する場合には、例外的に否定的な判断を行う
ことを特徴とする請求項１２記載の確認方法。
【請求項１５】
更に、前記一の利用者について、ＩＤが対応付けて記憶されていない場合には、前記一の利用者と前記記録媒体装置の固有識別子とを対応付けて記録する記録ステップを含む
ことを特徴とする請求項１２記載の確認方法。
【請求項１６】
更に、前記端末装置と前記記録媒体装置とが接続されているか否かの接続状態を検知する検知ステップと、
前記検知ステップが否定的な判定を行った場合に、前記一の利用者に対して、固有識別子が対応付けられていない状態にする解除ステップとを含む
ことを特徴とする請求項１２記載の確認方法。
【請求項１７】
前記サーバ装置は、利用者毎の通知先の情報、及び、当該利用者の使用する端末装置を識別する情報とを予め記憶しており、
更に、前記サーバ装置にアクセスする端末装置を示す識別情報を取得する端末装置識別情報取得ステップとを含み、
前記利用者認証ステップは、更に、前記端末装置識別情報取得ステップで取得した前記端末装置を示す前記識別情報が、当該利用者の使用する端末装置を識別する情報と一致するか否かを判定し、
前記通知ステップは、当該識別情報が、当該利用者の使用する端末装置を識別する情報と一致しないと判定した場合には、その旨を示す告知情報を当該利用者の前記通知先に通知する
ことを特徴とする請求項１２記載の確認方法。
【請求項１８】
更に、前記利用者認証ステップで、前記固有識別子と、前記一の利用者に対応付けて記憶しているＩＤとが一致しないと判定した場合には、前記固有識別子をリボーク情報として記録するリボーク情報記録ステップを含む
ことを特徴とする請求項１７記載の確認方法。
【請求項１９】
サーバ装置を介して機器を遠隔制御するための制御プログラムを実行する端末装置と、前記機器と、前記サーバ装置とから構成されるシステムであって、
前記端末装置は、
前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得手段と、
前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得手段と、
前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成手段と、
前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信手段とを備え、
前記サーバ装置は、
前記検証データを受け付ける受付手段と、
前記検証データを受け付ける毎に、前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成手段と、
前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定手段と、
前記判定手段で否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御手段とを備える
ことを特徴とするシステム。
【請求項２０】
サーバ装置を介して機器を遠隔制御するための制御プログラムを実行する端末装置と、前記機器と、前記サーバ装置とから構成されるシステムで実行されるコンピュータプログラムを記録しているコンピュータ読取可能な記録媒体であって、
前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得ステップと、
前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得ステップと、
前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成ステップと、
前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信ステップと、
前記サーバ装置が前記検証データを受け付ける毎に、
前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成ステップと、
前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定ステップと、
前記判定ステップで否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御ステップとを
実行するためのコンピュータプログラムを記録している記録媒体。
【請求項２１】
サーバ装置を介して機器を遠隔制御するための制御プログラムを実行する端末装置と、前記機器と、前記サーバ装置とから構成されるシステムを構成する集積回路であって、
前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得手段と、
前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得手段と、
前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成手段と、
前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信手段と、
前記サーバ装置が前記検証データを受け付ける毎に、
前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成手段と、
前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定手段と、
前記判定手段で否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御手段とを備える
ことを特徴とする集積回路。
【請求項２２】
サーバ装置を介して機器を遠隔制御するための制御プログラムを実行する端末装置と、前記機器と、前記サーバ装置とから構成されるシステムで実行される確認プログラムであって、
前記端末装置に、
前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得ステップと、
前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得ステップと、
前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成ステップと、
前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信ステップとを実行させ、
前記サーバ装置に、
前記検証データを受け付ける毎に、
前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成ステップと、
前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定ステップと、
前記判定ステップで否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御ステップとを実行させる
ことを特徴とする確認プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムの正当性を確認する技術に関し、特に、実行中のアプリケーションプログラムの正当性を確認する技術に関する。
【背景技術】
【０００２】
通信機能を有し、通信ネットワークを介して、種々のアプリケーションプログラム（以下、単に「プログラム」と呼ぶ。）を配信する外部のサーバから利用者の所望するプログラムをダウンロードする機能を備えた携帯端末がある（特許文献１）。端末装置は、ダウンロードしたプログラムがインストールされることによって、様々な機能を追加して実行することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−４５４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
外部のサーバから配信されるプログラムの中には、ネットワークへの接続機能を有する家電機器（以下、単に「機器」と呼ぶ。）等を遠隔操作するためのプログラムがある。利用者がこのようなプログラムを利用する場合において、プログラムが第三者によって改ざんされると、利用者の所有する機器を第三者に不正に操作されたり、機器の持つ情報を不正に取得されたりするおそれがある。また、このようなプログラムは、実行中にネットワークに接続して利用されるため、第三者によって不正に改ざんされる危険性が高まるという問題がある。
【０００５】
本発明は、係る問題に鑑みてなされたものであり、実行中のプログラムの正当性を確認し、その結果に基づいてプログラムによる遠隔操作の制御を行う確認方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る確認方法は、端末装置で実行され、サーバ装置を介して機器を遠隔制御するための制御プログラムが正当であるか否かを確認するための確認方法であって、前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得ステップと、前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得ステップと、前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成ステップと、前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信ステップと、前記サーバ装置が前記検証データを受け付ける毎に、前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成ステップと、前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定ステップと、前記判定ステップで否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御ステップとを含むこと特徴とする。
【発明の効果】
【０００７】
上述の構成により、本発明に係る確認方法によると、実行中のプログラムの正当性を確認し、その結果に基づいてプログラムによる遠隔操作の抑制制御を行い得る。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１としての遠隔操作システム１０のシステム構成図である。
【図２】配信サーバ装置１００の構成を示すブロック図である。
【図３】確認サーバ装置２００の構成を示すブロック図である。
【図４】制御プログラム２３１のデータ構造の一例を示す。
【図５】付随データ２５１のデータ構造の一例を示す。
【図６】アカウント管理テーブル２６１のデータ構造の一例を示す。
【図７】条件テーブル２７１のデータ構造の一例を示す。
【図８】制御ルール管理テーブル２８１のデータ構造の一例を示す。
【図９】端末装置３００の構成を示すブロック図である。
【図１０】インストールされた制御プログラム３３１のデータ構造の一例を示す。
【図１１】端末装置３００において動作する制御プログラム３３１の機能構成図を示す。
【図１２】端末装置３００において表示される機器操作画面３５１を示す。
【図１３】端末装置３００において表示される制御ルール変更画面３６１を示す。
【図１４】メモリカード４００の構成を示すブロック図である。
【図１５】確認サーバ装置２００の相互認証部２０３及びメモリカード４００の相互認証部４０３の構成を示すブロック図である。
【図１６】機器５００の構成を示すブロック図である。
【図１７】遠隔操作システム１０における制御プログラムの制作及び配信処理の手順を示すシーケンス図である。
【図１８】遠隔操作システム１０における制御プログラムの起動の手順を示すシーケンス図（その１）である。図１９へ続く。
【図１９】遠隔操作システム１０における制御プログラムの起動の手順を示すシーケンス図（その２）である。図２０へ続く。
【図２０】遠隔操作システム１０における制御プログラムの起動の手順を示すシーケンス図（その３）である。図２１へ続く。
【図２１】遠隔操作システム１０における制御プログラムの起動の手順を示すシーケンス図（その４）である。
【図２２】遠隔操作システム１０における検証データ生成処理の手順を示すシーケンス図である。
【図２３】遠隔操作システム１０における検証データ検証処理の手順を示すシーケンス図である。
【図２４】遠隔操作システム１０における各機器に対する遠隔処理及び関連する処理の手順を示すフローチャートである。
【図２５】遠隔操作システム１０における機器情報取得処理の手順を示すシーケンス図である。
【図２６】遠隔操作システム１０における遠隔操作関連処理の手順を示すシーケンス図である。
【図２７】遠隔操作システム１０における機器制御ルール修正処理の手順を示すシーケンス図である。
【図２８】遠隔操作システム１０の確認サーバ装置２００とメモリカード４００との間における相互認証及び鍵共有の手順を示すシーケンス図（その１）である。図２９へ続く。
【図２９】遠隔操作システム１０の確認サーバ装置２００とメモリカード４００との間における相互認証及び鍵共有の手順を示すシーケンス図（その２）である。
【図３０】不正プログラムを検知した場合に、端末装置３００において表示されるアプリケーションプログラムの再ダウンロード指示画面３４００を示す。
【図３１】本発明の実施の形態２としての遠隔操作システム１１のシステム構成図である。
【図３２】確認サーバ装置１２００の構成を示すブロック図である。
【図３３】メール装置６００の構成を示すブロック図である。
【図３４】端末装置３００において動作する制御プログラム１３３１の機能構成図を示す。
【図３５】アカウント管理テーブル１２６１のデータ構造の一例を示す。
【図３６】端末装置３００におけるトークン確認処理の手順を示すフローチャートである。
【図３７】確認サーバ装置１２００におけるトークン確認処理に係る処理の手順を示すフローチャートである。
【図３８】メール装置６００における操作指示の処理の手順を示すフローチャートである。
【図３９】メール装置６００において表示されるトークンが正常でない場合の操作指示の際のＵＩ（User Interface）の一例を示す。
【図４０】メール装置６００において表示されるトークンが正常でない場合の操作指示の際のＵＩの変形例を示す。
【発明を実施するための形態】
【０００９】
＜１．実施の形態１＞
本発明に係る確認方法を用いた実施の形態１としての遠隔操作システム１０について説明する。
＜１．１  遠隔操作システム１０＞
遠隔操作システム１０は、図１に示すように、配信サーバ装置１００、確認サーバ装置２００、端末装置３００、メモリカード４００、機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅから構成されている。
【００１０】
配信サーバ装置１００、確認サーバ装置２００及び端末装置３００は、ネットワーク２０を介して接続されている。また、機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅは、利用者の家屋４０に設置されている。機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅは、ルータ３０を介してネットワーク２０に接続されている。
機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅは、それぞれ、一例として、テレビ受像機、エアコン、照明器具、ドアの施錠機構及び監視カメラである。
【００１１】
端末装置３００には、可搬型のメモリカード４００が装着される。
なお、以下において、機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅを代表して、機器５００として言及する場合がある。
端末装置３００は、確認サーバ装置２００を介して、機器５００に対して、例えば、次のような遠隔操作命令を送信する。
【００１２】
テレビ受像機である機器５００ａに対して、電源のＯＮ、ＯＦＦ、チャネルの選択、録画の予約、予約の解除、受信再生中のチャネル情報の取得、受信再生中の番組情報の取得。エアコンである機器５００ｂに対して、電源のＯＮ、ＯＦＦ、設定温度の変更、現在の温度の取得、現在の湿度の取得、冷房、暖房、送風の切換え。照明器具である機器５００ｃに対して、電源のＯＮ、ＯＦＦ、明るさの切換え。ドアの施錠機構である機器５００ｄに対して、施錠、開錠、施錠されているか、開錠されているかを示す施錠状況の取得。監視カメラである機器５００ｅに対して、録画の開始、録画の停止、録画された映像のテレビ受像機への転送、録画された映像の削除。
【００１３】
確認サーバ装置２００は、機器を遠隔操作するための制御プログラムを配信サーバ装置１００に対して送信する。端末装置３００は、配信サーバ装置１００から制御プログラムを受信し、受信した制御プログラムをインストールする。
端末装置３００は、利用者の指示により、制御プログラムを起動する。次に、端末装置３００は、端末装置３００に装着されたメモリカード４００から固有識別子を取得し、取得した固有識別子を確認サーバ装置２００に対して送信する。端末装置３００は、付随データを記憶していれば、制御プログラムに付随データを埋め込む。
【００１４】
確認サーバ装置２００は、端末装置３００から固有識別子を取得する。端末装置３００の利用者からのログインが正常になされれば、確認サーバ装置２００は、取得した固有識別子を含む付随データを生成し、生成した付随データを端末装置３００に対して送信する。端末装置３００は、付随データを受信し、受信した付随データを記憶する。
確認サーバ装置２００は、付随データを制御プログラムに埋め込み、制御プログラムからハッシュ値を算出し、乱数、ハッシュ値及び固有識別子を用いて、評価値Ｓを算出する。
【００１５】
端末装置３００は、メモリカード４００から固有識別子を取得し、制御プログラムからハッシュ値を算出し、乱数、ハッシュ値及び固有識別子を用いて、評価値Ｓ’を算出する。
確認サーバ装置２００は、端末装置３００から評価値Ｓ’を受信し、評価値Ｓと評価値Ｓ’とを比較する。評価値Ｓと評価値Ｓ’とが一致すれば、機器に対する遠隔操作を許可する。評価値Ｓと評価値Ｓ’とが一致しなければ、機器に対する遠隔操作を禁止する。
【００１６】
＜１．２  配信サーバ装置１００＞
配信サーバ装置１００は、図２に示すように、制御部１０１、通信部１０２、相互認証部１０３、鍵格納部１０４、記憶部１０５、アカウント格納部１０６及びアカウント確認部１０７から構成されている。
配信サーバ装置１００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクデバイスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、配信サーバ装置１００は、その機能を達成する。
【００１７】
（１）鍵格納部１０４及び記憶部１０５
鍵格納部１０４は、一例として、ハードディスクデバイスから構成されている。鍵格納部１０４は、配信サーバ装置１００に割り当てられた私有鍵を記憶している。また、予め、システム鍵Ｋｓｃを記憶している。システム鍵Ｋｓｃは、遠隔操作システムに共通の鍵である。なお、確認サーバ装置２００、端末装置３００及びメモリカード４００が有するどの鍵格納部も、鍵格納部１０４が有するシステム鍵Ｋｓｃと同一のシステム鍵Ｋｓｃを予め記憶している。
【００１８】
記憶部１０５は、一例として、ハードディスクデバイスから構成されている。記憶部１０５は、制御プログラムを記憶するための領域を備えている。
（２）通信部１０２
通信部１０２は、ネットワーク２０を介して、確認サーバ装置２００及び端末装置３００との間で情報の送受信を行う。
【００１９】
具体的には、通信部１０２は、確認サーバ装置２００から、ネットワーク２０を介して、安全な手段により、制御プログラムを受信する。制御プログラムを受信すると、通信部１０２は、受信した制御プログラムを記憶部１０５に書き込む。また、通信部１０２は、端末装置３００から、ネットワーク２０を介して、制御プログラムの要求を受信する。制御プログラムの要求を受信すると、通信部１０２は、受信した要求を制御部１０１に対して出力する。また、通信部１０２は、端末装置３００から、ネットワーク２０を介して、安全な手段により、利用者識別子及びパスワードを受信する。利用者識別子及びパスワードを受信すると、通信部１０２は、受信した利用者識別子及びパスワードをアカウント確認部１０７に対して出力する。
【００２０】
また、通信部１０２は、制御部１０１の制御により、利用者識別子及びパスワードの要求を、端末装置３００に対して送信する。また、通信部１０２は、制御部１０１の制御により、記憶部１０５に記憶されている制御プログラムを読み出す。次に、通信部１０２は、読み出した制御プログラムを、安全な手段により、端末装置３００に対して送信する。また、通信部１０２は、制御部１０１の制御により、メッセージを端末装置３００に対して送信する。なお、安全な手段については、後述する。
【００２１】
（３）アカウント格納部１０６及びアカウント確認部１０７
アカウント格納部１０６は、利用者に割り当てられた利用者識別子及び利用者のパスワードを対応付けて記憶している。利用者識別子及びパスワードは、配信サーバ装置１００の操作者により、入力されたものである。
アカウント確認部１０７は、端末装置３００から、ネットワーク２０及び通信部１０２を介して、安全な手段により、端末装置３００の利用者の利用者識別子及びパスワードを受信する。利用者識別子及びパスワードを受信すると、次に、アカウント確認部１０７は、受信した利用者識別子及びパスワードが、アカウント格納部１０６において、記憶されているか否かを確認する。
【００２２】
受信した利用者識別子及びパスワードが、アカウント格納部１０６に記憶されていない場合、アカウント確認部１０７は、ログインに失敗した（ログイン異常）とみなす。受信した利用者識別子及びパスワードが、アカウント格納部１０６に記憶されている場合、アカウント確認部１０７は、ログインに成功した（ログイン正常）とみなす。
受信した利用者識別子及びパスワードが、アカウント格納部１０６において、記憶されていない場合、つまり、ログイン異常の場合、アカウント確認部１０７は、ログイン異常を示すメッセージを生成する。次に、アカウント確認部１０７は、生成したメッセージを、通信部１０２及びネットワーク２０を介して、端末装置３００に対して送信する。次に、アカウント確認部１０７は、受信した利用者識別子及びパスワードによるログインを禁止する。
【００２３】
受信した利用者識別子及びパスワードが、アカウント格納部１０６において、記憶されている場合、アカウント確認部１０７は、受信した利用者識別子及びパスワードによるログインを許可する。
アカウント確認部１０７は、ログインの許可又は禁止を示す許否情報を制御部１０１に対して出力する。
【００２４】
（４）制御部１０１
制御部１０１は、通信部１０２、相互認証部１０３、鍵格納部１０４、記憶部１０５、アカウント格納部１０６及びアカウント確認部１０７を制御する。
制御部１０１は、端末装置３００から、ネットワーク２０及び通信部１０２を介して、制御プログラムの要求を受信する。制御プログラムの要求を受信すると、制御部１０１は、通信部１０２及びネットワーク２０を介して、端末装置３００に対して、利用者識別子及びパスワードの要求を送信する。
【００２５】
制御部１０１は、アカウント確認部１０７から、ログインの許可又は禁止を示す許否情報を受け取る。
制御プログラムの要求を受信し、許否情報がログインの許可を示す場合、制御部１０１は、通信部１０２に対して、記憶部１０５から制御プログラムを読み出すように制御する。次に、通信部１０２に対して、読み出した制御プログラムを、安全な手段により、通信部１０２及びネットワーク２０を介して、端末装置３００に対して送信するように、制御する。
【００２６】
（５）相互認証部１０３
相互認証部１０３は、確認サーバ装置２００の相互認証部２０３と、同様の構成を有している。
相互認証部１０３は、制御プログラムを受信する場合に、確認サーバ装置２００の相互認証部２０３との間で、相互認証及び鍵共有を行う。また、相互認証部１０３は、制御プログラムを送信する場合に、端末装置３００の相互認証部３０３との間で、相互認証及び鍵共有を行う。なお、相互認証及び鍵共有については、後述する。
【００２７】
また、相互認証部１０３は、確認サーバ装置２００又は端末装置３００との間の安全な手段による通信を支援する。なお、安全な手段による通信については、後述する。
＜１．３  確認サーバ装置２００＞
確認サーバ装置２００は、図３に示すように、制御部２０１、通信部２０２、相互認証部２０３、鍵格納部２０４、プログラム制作部２０６、プログラム格納部２０７、付随データ生成部２０８、アカウント格納部２０９、信頼性評価部２１０、機器情報格納部２１２、機器制御部２１３、署名生成部２１４、アカウント確認部２１５、固有識別子取得部２１６、機器情報管理部２１７、及び検証部２１８から構成されている。
【００２８】
確認サーバ装置２００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクデバイス、ディスプレイデバイス、キーボードなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、確認サーバ装置２００は、その機能を達成する。
【００２９】
（１）プログラム格納部２０７、鍵格納部２０４及び機器情報格納部２１２
（プログラム格納部２０７）
プログラム格納部２０７は、一例として、ハードディスクデバイスから構成されている。プログラム格納部２０７は、制御プログラム２３１及び制御プログラム３３１を格納するための領域を備えている。
【００３０】
制御プログラム２３１は、配信サーバ装置１００を介して、端末装置３００に対して配信すべきコンピュータプログラムである。一方、制御プログラム３３１は、端末装置３００においてインストールされたコンピュータプログラムと同一のコンピュータプログラムである。確認サーバ装置２００が端末装置３００においてインストールされた制御プログラムの状態を再現するために、プログラム格納部２０７は、制御プログラム３３１を記憶するための領域を備えている。
【００３１】
（ａ）図４に制御プログラム２３１のデータ構造を示す。この図に示すように、制御プログラム２３１は、実行部領域２３２、第１データ領域２３３及び署名領域２３４から構成されている。
実行部領域２３２には、複数の命令群２３２ａ、２３２ｂ、・・・が記録されている。各命令群は、端末装置３００において実行されるオペレーションコマンドを含む。第１データ領域２３３は、複数の命令群２３２ａ、２３２ｂ、・・・が実行される際に、参照のみされるデータ２３３ａ、２３３ｂ、・・・を含む。署名領域２３４は、署名データ２３４ａを含む。
【００３２】
署名データ２３４ａは、署名生成部２１４により生成される。署名データ２３４ａは、確認サーバ装置２００に割り当てられた私有鍵２４１を用いて、制御プログラム２３１の実行部領域２３２及び第１データ領域２３３に、デジタル署名Ｓｉｇｎを施して得られた署名データである。
署名データ２３４ａ＝Ｓｉｇｎ（私有鍵２４１、（実行部領域２３２及び第１データ領域２３３））
ここで、Ｓｉｇｎ（Ａ、Ｂ）は、私有鍵Ａを用いて、データＢに対して、デジタル署名Ｓｉｇｎを施すことにより、生成された署名データを示す。ここで、デジタル署名Ｓｉｇｎは、一例として、ＥＣＤＳＡ（Elliptic Curve Digital Signature Standard）によるデジタル署名アルゴリズムである。
【００３３】
署名データ２３４ａを用いて、デジタル署名Ｓｉｇｎに対応するデジタル署名検証Ｖｒｆｙを行うことにより、実行部領域２３２及び第１データ領域２３３が改ざんされていないことを確認することができる。ここで、デジタル署名検証Ｖｒｆｙは、一例として、ＥＣＤＳＡ（Elliptic Curve Digital Signature Standard）によるデジタル署名検証アルゴリズムである。
【００３４】
（ｂ）図１０に制御プログラム３３１のデータ構造を示す。この図に示すように、制御プログラム３３１は、実行部領域３３２、第１データ領域３３３、署名領域３３４、第２データ領域３３５及び第３データ領域３３６から構成されている。
実行部領域３３２には、複数の命令群３３２ａ、３３２ｂ、・・・が記録されている。各命令群は、端末装置３００において実行されるオペレーションコマンドを含む。第１データ領域３３３は、複数の命令群３３２ａ、３３２ｂ、・・・が実行される際に、参照のみされるデータ３３３ａ、３３３ｂ、・・・を含む。署名領域３３４は、署名データ３３４ａを含む。
【００３５】
実行部領域３３２、第１データ領域３３３及び署名領域３３４は、それぞれ、図４に示す実行部領域２３２、第１データ領域２３３及び署名領域２３４と同一である。実行部領域３３２に含まれている複数の命令群３３２ａ、３３２ｂ、・・・は、図４に示す複数の命令群２３２ａ、２３２ｂ、・・・と同一である。第１データ領域３３３に含まれているデータ３３３ａ、３３３ｂ、・・・は、図４に示すデータ２３３ａ、２３３ｂ、・・・と同一である。また、署名領域３３４に含まれている署名データ３３４ａは、図４に示す署名データ２３４ａと同一である。
【００３６】
第２データ領域３３５には、付随データ３３５ａが含まれる。付随データ３３５ａは、後述の生成された付随データ２５１で上書きされるデータである。
第３データ領域３３６には、データ３３６ａが含まれる。データ３３６ａは、命令群３３２ａ、３３２ｂ、・・・により、追加の書き込み、更新、上書き、参照がされるデータである。
【００３７】
（鍵格納部２０４）
鍵格納部２０４は、一例として、ハードディスクデバイスから構成されている。鍵格納部２０４は、確認サーバ装置２００に割り当てられた私有鍵２４１を記憶している。また、予め、システム鍵Ｋｓｃを記憶している。
（機器情報格納部２１２）
機器情報格納部２１２は、予め、条件テーブル２７１及び制御ルール管理テーブル２８１を保持している。
【００３８】
条件テーブル２７１は、図７に一例として示すように、複数の条件情報を記憶するための領域を備えている。
各条件情報は、機器情報及び条件を対応付けて含む。機器情報は、機器に関する情報の種類を示す。条件は、機器情報により示される機器状態情報を取得するための条件を示す。機器状態情報は、機器情報によりその種類が示され、機器における現実の状態を示す情報である。
【００３９】
ここで、機器がエアコンである場合、機器情報の一例は、「エアコンの室内温度、湿度」である。また、機器情報により示される機器状態情報の一例は、当該エアコンにより現実に測定された室内温度「２５度」及び湿度「５０パーセント」である。
また、機器がテレビ受像機である場合、機器情報の一例は、「再生中のチャネル」である。また、機器情報により示される機器状態情報の一例は、当該テレビ受像機により現実に再生されているチャネル「１６」である。
【００４０】
また、機器がＤＶＤ再生装置である場合、機器情報の一例は、「再生中のＤＶＤのタイトル」である。また、機器情報により示される機器状態情報の一例は、当該ＤＶＤ再生装置により現実に再生されているＤＶＤのタイトル「銀河戦争」である。
条件の具体例は、端末装置３００から、確認サーバ装置２００に対して、ログインしている必要があるか否か、及び、端末装置３００に装着されたメモリカード４００の固有識別子が必要であるか否かである。
【００４１】
条件テーブル２７１は、一例として、条件情報２７２を含んでいる。条件情報２７２は、機器情報２７３「エアコンの室内温度、湿度」及び条件２７４「ログイン不要、固有識別子要」を対応付けて含む。この条件情報２７２は、機器であるエアコンにより測定された室内温度及び湿度を、ネットワーク２０を介して、端末装置３００が取得するためには、端末装置３００から、確認サーバ装置２００に対して、ログインは不要であるが、固有識別子が必要であることを示している。
【００４２】
制御ルール管理テーブル２８１は、図８に示すように、利用者識別子と、複数の制御ルール情報とを対応付けて記憶するための領域を備えている。
利用者識別子は、遠隔操作システム１０の利用者を識別するための識別情報である。
各制御ルール情報は、操作内容、条件及び項目を含む。操作内容は、利用者に許可することができる操作の内容を示す。条件は、当該操作内容を利用者に許可する場合の条件を示す。項目は、操作内容により操作の対象となる項目を示す。
【００４３】
制御ルール管理テーブル２８１は、図８に示すように、一例として、制御ルール情報２８３を含む。制御ルール情報２８３は、操作内容２８４「ドア開閉」、条件２８５「固有識別子要」及び項目２８６「施錠」を含む。
このように、制御ルール情報２８３は、ドアを開閉するという操作内容に対し、固有識別子が必要であり、この操作内容においては、施錠が操作の対象となる、ことを示している。
【００４４】
（２）プログラム制作部２０６
プログラム制作部２０６は、確認サーバ装置２００の利用者の操作により、制御プログラムを制作する。プログラム制作部２０６は、制作された制御プログラムをプログラム格納部２０７に書き込む。
制御プログラムは、遠隔操作の対象である機器５００に関する情報の取得、機器５００の遠隔操作に関連する操作、機器制御ルールの修正及びその他の指示をするためのコンピュータプログラムを含んでいる。
【００４５】
ここで、制作される制御プログラムは、一例として、図４に示す制御プログラム２３１のうち、実行部領域２３２及び第１データ領域２３３からなる。
また、プログラム制作部２０６は、確認サーバ装置２００の利用者の操作により、プログラム格納部２０７から、図４に示す制御プログラム２３１を読み出す。次に、読み出した制御プログラム２３１を、プログラム格納部２０７にインストールする。この結果、図１０に示す制御プログラム３３１がプログラム格納部２０７に格納される。制御プログラム３３１においては、上述したように、制御プログラム２３１に対して、第２データ領域３３５及び第３データ領域３３６が付加されている。この時点において、第２データ領域３３５及び第３データ領域３３６は、何も記録されていない初期状態である。
【００４６】
（３）アカウント格納部２０９及びアカウント確認部２１５
（アカウント格納部２０９）
アカウント格納部２０９は、アカウント管理テーブル２６１を保持している。
アカウント管理テーブル２６１は、図６に一例として示すように、複数のアカウント情報を記憶するための領域を備えている。各アカウント情報は、利用者に対応している。各アカウント情報は、利用者識別子、パスワード、時変パラメータ及び固有識別子を含む。利用者識別子は、当該利用者を一意に識別するための識別情報である。パスワードは、当該利用者であることを認証するための認証情報である。時変パラメータは、その都度生成される乱数である。固有識別子は、当該利用者が有するメモリカードに固有の識別情報である。
【００４７】
アカウント管理テーブル２６１は、図６に一例として示すように、アカウント情報２６２を含んでいる。アカウント情報２６２は、利用者識別子２６３「ＳＡＴＯ」、パスワード２６４「１２３４」、時変パラメータ２６５「ＡＤ７Ｃ」及び固有識別子２６６「８ＤＡ４」を含む。
（アカウント確認部２１５）
アカウント確認部２１５は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、ログインの要否を受信する。次に、アカウント確認部２１５は、受信したログインの要否が、ログインを要求することを示すか、要求しないことを示すかを判断する。
【００４８】
受信したログインの要否が、ログインを要求しないことを示す場合、アカウント確認部２１５は、ログインの処理を行わない。
受信したログインの要否が、ログインを要求することを示す場合、アカウント確認部２１５は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、安全な手段により、利用者の利用者識別子及びパスワードを受信する。安全な手段については、後述する。次に、アカウント確認部２１５は、受信した利用者識別子及びパスワードの組が、アカウント格納部２０９のアカウント管理テーブル２６１に記憶されているか否かを確認する。
【００４９】
アカウント確認部２１５は、端末装置３００からログインの要否を受信した後、一例として、５分以上、経過しても、端末装置３００から利用者識別子及びパスワードを受信しない場合には、ログインに失敗した（ログイン異常）とみなす。また、受信した利用者識別子及びパスワードが、アカウント管理テーブル２６１に記憶されていない場合、アカウント確認部２１５は、ログインに失敗した（ログイン異常）とみなす。
【００５０】
受信した利用者識別子及びパスワードが、アカウント管理テーブル２６１に記憶されている場合、アカウント確認部２１５は、ログインに成功した（ログイン正常）とみなす。
アカウント確認部２１５は、ログイン正常か又はログイン異常かを示すログイン結果を制御部２０１に通知する。
ログイン異常の場合、アカウント確認部２１５は、ログイン異常を示すメッセージを生成する。次に、アカウント確認部２１５は、当該メッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００５１】
（４）固有識別子取得部２１６
固有識別子取得部２１６は、制御部２０１から、接続要求を受け取る。接続要求を受け取ると、相互認証及び鍵共有がなされた後、固有識別子取得部２１６は、通信部２０２、ネットワーク２０及び端末装置３００を介して、メモリカード４００に対して、固有識別子の要求を送信する。
【００５２】
次に、固有識別子取得部２１６は、メモリカード４００から、端末装置３００、ネットワーク２０及び通信部２０２を介して、安全な手段により、固有識別子Ｙ又はメモリカード４００に固有識別子が記録されていないことを示すメッセージ「固有識別子無し」を受信する。安全な手段については、後述する。また、固有識別子取得部２１６は、メモリカード４００に対して、固有識別子の要求を送信した後、所定時間を経過しても、固有識別子Ｙ又は固有識別子が記録されていないことを示すメッセージを受信しないときは、メッセージ「固有識別子無し」を生成する。ここで、所定時間は、一例として、２００ｍ秒である。
【００５３】
次に、固有識別子取得部２１６は、取得した固有識別子Ｙ又はメッセージ「固有識別子無し」を付随データ生成部２０８、信頼性評価部２１０及び検証部２１８に対して出力する。
（５）制御部２０１
制御部２０１は、通信部２０２、相互認証部２０３、鍵格納部２０４、プログラム制作部２０６、プログラム格納部２０７、付随データ生成部２０８、アカウント格納部２０９、信頼性評価部２１０、機器情報格納部２１２、機器制御部２１３、署名生成部２１４、アカウント確認部２１５、固有識別子取得部２１６、機器情報管理部２１７、及び検証部２１８を制御する。
【００５４】
また、制御部２０１は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、機器操作のための接続要求を受け取る。接続要求を受け取ると、制御部２０１は、相互認証部２０３及び固有識別子取得部２１６に対して、機器操作のための接続要求を出力する。
制御部２０１は、アカウント確認部２１５から、ログイン正常か又はログイン異常かを示すログイン結果を受け取る。ログイン正常を示すログイン結果を受け取った場合、制御部１０１は、受信した利用者識別子及びパスワードを記憶する。
【００５５】
（６）通信部２０２
通信部２０２は、制御部２０１の制御により、ネットワーク２０を介して、配信サーバ装置１００、端末装置３００、メモリカード４００、機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅとの間で、情報の送受信を行う。
具体的には、通信部２０２は、制御部２０１の制御により、ネットワーク２０を介して、制御プログラムを配信サーバ装置１００に対して送信する。
【００５６】
また、通信部２０２は、制御部２０１の制御により、ネットワーク２０及び端末装置３００を介して、固有識別子の要求をメモリカード４００に対して送信する。また、通信部２０２は、ネットワーク２０を介して、メッセージ、付随データ、乱数Ｒを端末装置３００に対して送信する。
また、通信部２０２は、端末装置３００から、ネットワーク２０を介して、機器操作のための接続要求、ログインの要否、利用者識別子及びパスワード、機器に対する操作指示並びに評価値Ｓ’を受信する。通信部２０２は、メモリカード４００から、端末装置３００及びネットワーク２０を介して、固有識別子Ｙ又はメッセージ「固有識別子無し」を受信する。
【００５７】
（７）相互認証部２０３
相互認証部２０３は、制御部２０１から、制御プログラムの送信のための接続要求及び機器操作のための接続要求を受け取る。
制御プログラムの送信のための接続要求を受け取ると、相互認証部２０３は、配信サーバ装置１００の相互認証部１０３との間で、相互認証を行い、配信サーバ装置１００と同一の共有鍵を共有する。
【００５８】
また、機器操作のための接続要求を受け取ると、相互認証部２０３は、端末装置３００の相互認証部３０３との間で、相互認証を行い、端末装置３００と同一の共有鍵を共有する。また、相互認証部２０３は、メモリカード４００の相互認証部４０３との間で、相互認証を行い、メモリカード４００と同一の共有鍵を共有する。
相互認証部２０３は、図１５に示すように、乱数生成部Ａ１１、乱数比較部Ａ１２、復号部Ａ１３、暗号化部Ａ１４、鍵共有部Ａ１５及び暗復号化部Ａ１６から構成されている。
【００５９】
乱数生成部Ａ１０は、ランダムに乱数Ｒ１を生成する。次に、生成した乱数Ｒ１を乱数比較部Ａ１２に出力する。また、生成した乱数Ｒ１を相互認証の相手の装置の相互認証部に送信する。
復号部Ａ１３は、相互認証の相手の装置の相互認証部から、暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を受け取る。次に、復号アルゴリズムＤ３により、システム鍵Ｋｓｃを用いて、受け取った暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を復号して復号文Ｒ１’＝Ｄ３（Ｋｓｃ、Ｅ３（Ｋｓｃ、Ｒ１））を生成する。次に、生成した復号文Ｒ１’を乱数比較部Ａ１２へ出力する。
【００６０】
ここで、復号アルゴリズムＤ３は、秘密鍵暗号方式による復号アルゴリズムである。復号アルゴリズムＤ３は、一例として、ＡＥＳ（Advanced Encryption Standard）によるものである。Ｅ３（Ｋ、Ａ）は、鍵Ｋを用いて、平文Ａに対して暗号化アルゴリズムＥ３を施して生成した暗号文を示す。また、Ｄ３（Ｋ、Ｂ）は、鍵Ｋを用いて、暗号文Ｂに対して復号アルゴリズムＤ３を施して生成した復号文を示す。
【００６１】
乱数比較部Ａ１２は、乱数生成部Ａ１１から乱数Ｒ１を受け取り、復号部Ａ１３から復号文Ｒ１’を受け取る。次に、乱数Ｒ１と復号文Ｒ１’とを比較する。乱数Ｒ１と復号文Ｒ１’とが一致する場合に、相互認証部２０３は、相手の装置が正当であると判断する。乱数Ｒ１と復号文Ｒ１’とが一致しない場合に、相互認証部２０３は、相手の装置が不正であると判断する。
【００６２】
暗号化部Ａ１４は、相手の装置の相互認証部から乱数Ｒ２を受け取る。乱数Ｒ２を受け取ると、システム鍵Ｋｓｃを用いて、暗号化アルゴリズムＥ４により、乱数Ｒ２を暗号化して、暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を生成し、生成した暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を相手の装置へ送信する。
ここで、暗号化アルゴリズムＥ４は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムＥ４は、一例として、ＡＥＳによるものである。また、Ｅ４（Ｋ、Ａ）は、鍵Ｋを用いて、平文Ａに対して暗号化アルゴリズムＥ４を施して生成した暗号文を示す。
【００６３】
相互の認証に成功すると、鍵共有部Ａ１５は、鍵共有の処理を実行して、共有鍵ｋを算出する。相互の認証に失敗すると、共有鍵ｋの算出は、行われない。
相互の認証に成功すると、暗復号化部Ａ１６は、算出された共有鍵ｋを用いて、データを暗号化して、暗号化データを生成する。暗号化データは、相手の装置に送信される。また、暗復号化部Ａ１６は、相手の装置から暗号化データを受信する。次に、算出された共有鍵ｋを用いて、暗号化データを復号して、元のデータを生成する。この動作手順により、上述した安全な手段が実現される。
【００６４】
（８）付随データ生成部２０８
付随データ生成部２０８は、固有識別子取得部２１６から、取得した固有識別子Ｙ又はメッセージ「固有識別子無し」を受信する。
次に、付随データ生成部２０８は、固有識別子Ｙを受信しているか否かを確認する。固有識別子Ｙを受信している場合、付随データ生成部２０８は、ランダムに乱数Ｒを生成する。付随データ生成部２０８は、受信した利用者識別子及びパスワードに対応付けて、生成した乱数Ｒと受信した固有識別子Ｙとを、時変パラメータ及び固有識別子として、アカウント管理テーブル２６１に書き込む。
【００６５】
次に、付随データ生成部２０８は、次の式により、固有識別子Ｙ及び乱数Ｒを用いて、変数Ｋを算出する。
変数Ｋ＝固有識別子Ｙ  ＸＯＲ  乱数Ｒ
ここで、ＸＯＲは、排他的論理和を示す演算子である。
次に、付随データ生成部２０８は、図５に示すように、変数領域２５２及び署名領域２５３からなる付随データ２５１を生成する。この時点において、変数領域２５２及び署名領域２５３は、何も記録されていない初期状態である。
【００６６】
次に、付随データ生成部２０８は、算出して得られた変数Ｋ（２５４）を変数領域２５２に書き込む。
次に、付随データ生成部２０８は、署名生成部２１４に対して、変数Ｋ（２５４）を出力し、変数Ｋ（２５４）の署名データを生成するよう指示する。次に、付随データ生成部２０８は、署名生成部２１４から、変数Ｋ（２５４）の署名データ２５５を受け取る。ここで、署名データ２５５は、確認サーバ装置２００に割り当てられた私有鍵２４１を用いて、変数Ｋ（２５４）に対して、デジタル署名Ｓｉｇｎを施して得られたデータである。署名生成部２１４から、署名データ２５５を受け取ると、付随データ生成部２０８は、付随データ２５１の署名領域２５３に署名データ２５５を書き込む。
【００６７】
図５に示すように、付随データ２５１は、変数領域２５２及び署名領域２５３から構成されている。変数領域２５２は、変数Ｋ（２５４）を含み、署名領域２５３は、署名データ２５５を含む。
次に、付随データ生成部２０８は、付随データ２５１及び乱数Ｒを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して、安全な手段により、送信する。
【００６８】
固有識別子Ｙを受信していない場合、付随データ生成部２０８は、乱数Ｒの生成、変数Ｋの算出、付随データの生成、署名データの生成指示及び付随データ及び乱数Ｒの送信を行わない。
固有識別子Ｙを受信しており、機器に対する操作指示を受け取っている場合、付随データ生成部２０８は、プログラム格納部２０７に記憶され、インストールされている状態の制御プログラム３３１の第２データ領域３３５の付随データ３３５ａに、変数Ｋ（２５４）と署名データ２５５を含む付随データ２５１を上書きする。
【００６９】
付随データ２５１の上書きが完了すると、付随データ生成部２０８は、付随データ２５１の上書きが完了したことを示す完了通知を、信頼性評価部２１０及び検証部２１８に対して出力する。
固有識別子を受信していない場合、付随データ生成部２０８は、制御プログラム３３１の第２データ領域３３５に対する付随データの上書きを行わない。
【００７０】
（９）署名生成部２１４
署名生成部２１４は、プログラム制作部２０６及び付随データ生成部２０８から、署名データの生成の指示を受け取る。
プログラム制作部２０６から署名データの生成の指示を受け取ると、署名生成部２１４は、鍵格納部２０４から、確認サーバ装置２００に割り当てられた私有鍵２４１を読み出す。次に、プログラム格納部２０７から制御プログラムを読み出す。ここで、読み出した制御プログラムは、図４に示すように、実行部領域２３２と第１データ領域２３３とを含む。しかし、読み出した制御プログラムは、この段階では、図４に示す署名領域２３４を含まない。
【００７１】
署名生成部２１４は、次に、読み出した私有鍵２４１を用いて、読み出した制御プログラムにデジタル署名Ｓｉｇｎを施して、署名データ２３４ａを生成する。
署名データ２３４ａ＝Ｓｉｇｎ（私有鍵２４１、制御プログラム）
次に、署名生成部２１４は、生成した署名データ２３４ａを制御プログラムに付加し、署名データが付加された制御プログラム２３１を、プログラム格納部２０７に記憶されている制御プログラムに上書きする。
【００７２】
また、付随データ生成部２０８から署名データの生成の指示を受け取ると、署名生成部２１４は、更に、付随データ生成部２０８から変数Ｋ（２５４）を受け取る。次に、署名生成部２１４は、鍵格納部２０４から確認サーバ装置２００に割り当てられた私有鍵２４１を読み出す。次に、署名生成部２１４は、私有鍵２４１を用いて、変数Ｋ（２５４）に対してデジタル署名Ｓｉｇｎを施して、署名データ２５５を生成する。
【００７３】
署名データ２５５＝Ｓｉｇｎ（私有鍵２４１、変数Ｋ（２５４））
次に、署名生成部２１４は、署名データ２５５を付随データ生成部２０８に対して出力する。
（１０）信頼性評価部２１０
信頼性評価部２１０は、固有識別子取得部２１６から、取得した固有識別子Ｙ又はメッセージ「固有識別子無し」を受け取る。また、信頼性評価部２１０は、付随データ生成部２０８から乱数Ｒを受け取る。また、信頼性評価部２１０は、付随データ生成部２０８から、制御プログラムに対する付随データ２５１の上書きが完了したことを示す完了通知を受け取る。
【００７４】
完了通知を受け取り、固有識別子Ｙを受け取ると、信頼性評価部２１０は、プログラム格納部２０７から、付随データが上書きされた制御プログラム３３１を読み出す。次に、読み出した制御プログラム３３１のうち、実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に含まれる命令及びデータにハッシュ演算Ｈａｓｈを施して、ハッシュ値Ｈを算出する。
【００７５】
ハッシュ値Ｈ＝Ｈａｓｈ（制御プログラム３３１のうち、実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に含まれる命令及びデータ）
ここで、第３データ領域３３６をハッシュ演算Ｈａｓｈの対象から除外しているのは、第３データ領域３３６は、制御プログラム３３１の実行状態により変化するデータを含んでいるからである。
【００７６】
また、ハッシュ演算Ｈａｓｈは、一例として、ＳＨＡ−１（Secure Hash Algorithm 1 ）である。また、ハッシュ演算Ｈａｓｈは、ＳＨＡ−２（Secure Hash Algorithm 2）、ＳＨＡ−２５６（Secure Hash Algorithm 256-bit）等であるとしてもよい。
なお、ここで用いられるハッシュ演算Ｈａｓｈと、固有識別子取得処理部９０２において用いられるハッシュ演算Ｈａｓｈとは、同一の演算でなければならない。
【００７７】
次に、信頼性評価部２１０は、固有識別子Ｙ、ハッシュ値Ｈ及び乱数Ｒを用いて、評価値Ｓを算出する。
Ｓ  ＝  Ｙ  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ、Ｒ）
ここで、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＡとデータＢに対して、一方向性演算を施して得られた値を示す。例えば、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＢを鍵として用いて、データＡに鍵付きハッシュ演算を施して得られたハッシュ値である。また、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＡとデータＢをこの順序で結合して結合体を得、得られた結合体に対して、ハッシュ演算を施して得られたハッシュ値であるとしてもよい。また、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＢを鍵として用いて、秘密鍵暗号方式としてのＡＥＳによる暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文にハッシュ演算ＳＨＡ−１を施して得られたハッシュ値であるとしてもよい。
【００７８】
なお、ここで用いられる一方向性演算Ｏｎｅｗａｙと、固有識別子取得処理部９０２において用いられる一方向性演算Ｏｎｅｗａｙとは、同一の演算でなければならない。
また、信頼性評価部２１０は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、評価値Ｓ’を受信する。
次に、信頼性評価部２１０は、算出された評価値Ｓと受信された評価値Ｓ’とが一致するか否かを判断する。評価値Ｓと評価値Ｓ’とが一致する場合、機器に対する遠隔操作及び関連操作が許可される。評価値Ｓと評価値Ｓ’とが一致しない場合、機器に対する遠隔操作及び関連操作が禁止される。
【００７９】
評価値Ｓと評価値Ｓ’とが一致しない場合、信頼性評価部２１０は、機器に対する遠隔操作及び関連操作が禁止される旨を示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
評価値Ｓと評価値Ｓ’とが一致する場合、機器制御部２１３に対して、機器に対する遠隔操作及び関連操作を許可する許可情報を出力する。この場合に限り、機器の遠隔処理及び関連操作が行われる。評価値Ｓと評価値Ｓ’とが一致しない場合、機器制御部２１３に対して、機器に対する遠隔操作及び関連操作を禁止する禁止情報を出力する。この場合に、機器の遠隔処理及び関連操作は、行われない。
【００８０】
固有識別子Ｙを受け取っていない場合、信頼性評価部２１０は、ハッシュ値Ｈの算出、評価値Ｓの算出及び評価値Ｓと評価値Ｓ’の比較を行わない。
（１１）検証部２１８
検証部２１８は、上述の信頼性評価部２１０と同様に、固有識別子取得部２１６から、取得した固有識別子Ｙ又はメッセージ「固有識別子無し」を受け取る。また、検証部２１８は、付随データ生成部２０８から乱数Ｒを受け取る。
【００８１】
また、検証部２１８は、端末装置３００において、制御プログラム３３１が実行されている場合、予め設定されている所定の時間（例えば、１分）毎に、通信部２０２を介して端末装置３００から検証データＳ’ｉを受け取る。
検証データＳ’ｉを受け取ると、検証部２１８は、プログラム格納部２０７から、付随データが上書きされた制御プログラム３３１を読み出す。次に、読み出した制御プログラム３３１のうち、実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に含まれる命令及びデータ全体を、制御プログラムに予め設定されている分割数であるＮ分割（Ｎは１以上の整数、例えば、Ｎ＝１０）した部分データのうちの１つの部分データＰｉ（ｉ＝０〜（Ｎ−１））と、前回検証データを受信した時刻（ＴＡ）にその時刻からの経過時間（ＴＳ）を足した時刻を示すデータＴとを合わせたデータＤｉを生成して、このデータにハッシュ演算Ｈａｓｈを施して、ハッシュ値Ｈｉを算出する。なお、この分割数は、検証データ生成部９１１の分割数と同じでなければならず、生成に利用する部分データは、検証用データ生成部９１１で検証データ生成の際に用いた部分に相当する部分データでなければならない。また、ここで用いられるハッシュ演算Ｈａｓｈと、検証データ生成部９１１において用いられるハッシュ演算Ｈａｓｈとは、同一の演算でなければならない。
【００８２】
次に、検証部２１８は、固有識別子Ｙ、ハッシュ値Ｈｉ及び乱数Ｒを用いて、比較データＳｉを算出する。比較データＳｉの算出についても、一方向性演算Ｏｎｅｗａｙを用いて行う。なお、ここで用いられる一方向性演算Ｏｎｅｗａｙと、検証データ生成部９１１において用いられる一方向性演算Ｏｎｅｗａｙとは、同一の演算でなければならない。
また、検証部２１８は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、検証データＳ’ｉを受信する。
【００８３】
次に、検証部２１８は、算出された比較データＳｉと受信された検証データＳ’ｉとが一致するか否かを判断する。比較データＳｉと検証データＳ’ｉとが一致する場合、機器に対する遠隔操作及び関連操作が許可される。比較データＳと検証データＳ’とが一致しない場合、機器に対する遠隔操作及び関連操作が禁止される。
比較データＳｉと検証データＳ’ｉとが一致しない場合、検証部２１８は、機器に対する遠隔操作及び関連操作が禁止される旨を示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００８４】
比較データＳｉと検証データＳ’ｉとが一致する場合、機器制御部２１３に対して、機器に対する遠隔操作及び関連操作を許可する許可情報を出力する。この場合に限り、機器の遠隔処理及び関連操作が行われる。比較データＳｉと検証データＳ’ｉとが一致しない場合、機器制御部２１３に対して、機器に対する遠隔操作及び関連操作を禁止する禁止情報を出力する。この場合に、機器の遠隔処理及び関連操作は、行われない。
【００８５】
固有識別子Ｙを受け取っていない場合、検証部２１８は、ハッシュ値Ｈｉの算出、比較データＳｉの算出及び比較データＳｉと検証データＳ’ｉの比較を行わない。
（１２）機器情報管理部２１７
機器情報管理部２１７は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、制御ルールの変更操作を受信する。次に、機器情報管理部２１７は、受信した変更操作を用いて、機器情報格納部２１２に保持されている制御ルール管理テーブル２８１を変更する。
【００８６】
（１３）機器制御部２１３
機器制御部２１３は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、操作指示を受信する。操作指示には、機器５００に関する情報の取得の要求、機器５００の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示が含まれる。
【００８７】
機器制御部２１３は、受信した操作指示が、機器５００に関する情報の取得の要求、機器５００の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示のいずれであるかを判断する。
操作指示が、機器５００に関する情報の取得の要求である場合、機器制御部２１３は、機器５００に関する情報の取得の処理を行う。操作指示が、機器５００の遠隔操作に関連する指示である場合、機器制御部２１３は、機器５００の遠隔操作に関連する処理を行う。操作指示が、機器制御ルールの修正の指示である場合、機器制御部２１３は、機器制御ルールの修正の処理を行う。操作指示が、その他の指示である場合、機器制御部２１３は、その他の処理を行う。
【００８８】
（機器５００に関する情報の取得）
機器制御部２１３は、端末装置３００から受け取った機器５００に関する情報の取得の要求から、機器情報を抽出する。次に、抽出した機器情報に対応する条件を、条件テーブル２７１から読み出す。
次に、機器制御部２１３は、確認サーバ装置２００の現在の状態が、条件テーブル２７１から読み出された条件を満たすか否かを判断する。
【００８９】
ここで、確認サーバ装置２００の現在の状態とは、具体的には、端末装置３００の利用者によるログイン状態にあるか否か、及び、端末装置３００に装着されたメモリカード４００から固有識別子を取得しているか否かである。
例えば、確認サーバ装置２００が利用者によるログイン状態になく、固有識別子を取得していない場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしていない。
【００９０】
また、例えば、確認サーバ装置２００が利用者によるログイン状態にあり、固有識別子を取得していない場合、読み出した条件が「ログイン要、固有識別子要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしていない。読み出した条件が「ログイン要、固有識別子不要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしている。
【００９１】
また、例えば、確認サーバ装置２００が利用者によるログイン状態にあり、固有識別子を取得している場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしている。
確認サーバ装置２００の現在の状態が、読み出した条件を満たしていない場合、機器制御部２１３は、機器状態情報の取得ができない旨を示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００９２】
確認サーバ装置２００の現在の状態が、読み出した条件を満たしている場合、機器制御部２１３は、機器状態情報の取得の要求を、通信部２０２及びネットワーク２０を介して、機器５００に対して出力する。
確認サーバ装置２００の機器制御部２１３は、機器５００から、ネットワーク２０及び通信部２０２を介して、機器状態情報を受信する。次に、受信した機器状態情報を含むメッセージを生成する。次に、機器制御部２１３は、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００９３】
（機器５００に対する遠隔操作に関連する処理）
機器制御部２１３は、制御ルール管理テーブル２８１に含まれている全ての制御ルール情報について、次の手順（ａ）〜（ｄ）を繰り返す。
（ａ）機器制御部２１３は、制御ルール管理テーブル２８１から一つの制御ルール情報を読み出す。
【００９４】
（ｂ）次に、機器制御部２１３は、確認サーバ装置２００の現在の状態が、読み出した制御ルール情報に含まれる条件を満たすか否かを判断する。
ここで、上記の機器５００に関する情報の取得の説明において述べたように、確認サーバ装置２００の現在の状態とは、具体的には、端末装置３００の利用者によるログイン状態にあるか否か、及び、端末装置３００に装着されたメモリカード４００から固有識別子を取得しているか否かである。
【００９５】
また、判断方法についても、上述した通りである。
例えば、確認サーバ装置２００が利用者によるログイン状態になく、固有識別子を取得していない場合、読み出した条件が「ログイン不要、固有識別子要」又は「ログイン要、固有識別子要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしていない。
【００９６】
また、例えば、確認サーバ装置２００が利用者によるログイン状態にあり、固有識別子を取得している場合、読み出した条件が「ログイン要、固有識別子要」であれば、確認サーバ装置２００の現在の状態は、読み出した条件を満たしている。
（ｃ）確認サーバ装置２００の現在の状態が、読み出した条件を満たしていない場合、機器制御部２１３は、読み出した制御ルール情報から、操作内容を抽出する。次に、抽出した操作内容の取得ができない旨を示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００９７】
（ｄ）確認サーバ装置２００の現在の状態が、読み出した条件を満たしている場合、機器制御部２１３は、読み出した制御ルール情報から、操作内容及び項目を抽出する。次に、抽出した操作内容及び項目を含む示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、機器５００に対して出力する。
機器制御部２１３は、端末装置３００から受信した操作指示を、通信部２０２、ネットワーク２０を介して、機器５００に対して送信する。
【００９８】
（機器制御ルールの修正処理）
機器制御部２１３は、端末装置３００の利用者により、ログインが正常にされているか否かを判断する。また、機器制御部２１３は、固有識別子が取得されているか否かを判断する。
ログインが正常にされていない場合、機器制御部２１３は、ログインが正常にされていないことを示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
【００９９】
固有識別子が取得されていない場合、機器制御部２１３は、固有識別子が取得されていないことを示すメッセージを生成する。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する。
ログインが正常にされ、固有識別子が取得されている場合、機器制御部２１３は、機器情報格納部２１２から、制御ルール管理テーブル２８１を読み出す。次に、読み出した制御ルール管理テーブル２８１を、通信部２０２、ネットワーク２０を介して、端末装置３００に対して送信する。
【０１００】
＜１．４  端末装置３００＞
端末装置３００は、図９に示すように、制御部３０１、通信部３０２、相互認証部３０３、鍵格納部３０４、プログラム格納部３０５、プログラム実行部３０６、付随データ格納部３０７、入出力部３０８、表示部３０９、入力部３１０及び検証部３１１から構成されている。
【０１０１】
端末装置３００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクデバイス、ディスプレイデバイス、入力デバイスなどから構成されるコンピュータシステムである。前記ＲＡＭ又は前記ハードディスクデバイスには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、端末装置３００は、その機能を達成する。
【０１０２】
（１）鍵格納部３０４、プログラム格納部３０５及び付随データ格納部３０７
（鍵格納部３０４）
鍵格納部３０４は、一例として、ハードディスクデバイスから構成されている。鍵格納部３０４は、一例として、確認サーバ装置２００の公開鍵を記憶している。また、予め、システム鍵Ｋｓｃを記憶している。
【０１０３】
（プログラム格納部３０５）
プログラム格納部３０５は、一例として、ハードディスクデバイスから構成されている。プログラム格納部３０５は、配信サーバ装置１００から送信された制御プログラム２３１及び当該端末装置３００にインストールされた制御プログラム３３１を記憶するための領域を備えている。
【０１０４】
制御プログラム２３１は、図４に示すデータ構造を有している。また、制御プログラム３３１は、図１０に示すデータ構造を有している。
（付随データ格納部３０７）
付随データ格納部３０７は、一例として、ハードディスクデバイスから構成されている。付随データ格納部３０７は、図５に示す付随データ２５１及び乱数Ｒを記憶するための領域を備えている。
【０１０５】
（２）通信部３０２
通信部３０２は、ネットワーク２０を介して、配信サーバ装置１００及び確認サーバ装置２００との間で、情報の送受信を行う。
通信部３０２は、具体的には、制御部３０１の制御により、制御プログラムの要求、機器操作のための接続要求、ログイン要否、操作指示及び評価値Ｓ’を、ネットワーク２０を介して、配信サーバ装置１００に対して送信する
また、通信部３０２は、制御部３０１の制御により、利用者識別子及びパスワードを、安全な手段により、ネットワーク２０を介して、配信サーバ装置１００に対して送信する。
【０１０６】
また、通信部３０２は、確認サーバ装置２００から、ネットワーク２０を介して、様々なメッセージを受信する。次に、受信したメッセージを表示部３０９に対して出力する。
また、通信部３０２は、配信サーバ装置１００から、安全な手段により、ネットワーク２０を介して、制御プログラム、付随データ及び乱数Ｒを受信する。次に、通信部３０２は、受信した制御プログラムをプログラム格納部３０５に書き込む。また、通信部３０２は、受信した付随データ及び乱数Ｒを付随データ格納部３０７に書き込む。
【０１０７】
また、通信部３０２は、確認サーバ装置２００から、ネットワーク２０を介して、情報を受信し、受信した情報を、入出力部３０８を介して、メモリカード４００に対して出力する。また、通信部３０２は、メモリカード４００から、入出力部３０８を介して情報を受信し、受信した情報を、ネットワーク２０を介して確認サーバ装置２００に対して送信する。
【０１０８】
（３）相互認証部３０３
相互認証部３０３は、確認サーバ装置２００の相互認証部２０３と、同様の構成を有している。
制御プログラムの取得指示を受け付けた場合に、相互認証部３０３は、配信サーバ装置１００の相互認証部１０３との間で、相互認証及び鍵共有を行う。
【０１０９】
また、機器操作のための接続要求を送信する場合に、相互認証部３０３は、確認サーバ装置２００の相互認証部２０３との間で、相互認証及び鍵共有を行う。
更に、固有識別子を取得する場合に、相互認証部３０３は、メモリカード４００の相互認証部４０３との間で、相互認証及び鍵共有を行う。
（４）検証部３１１
検証部３１１は、制御プログラム３３１の起動を受け付けた場合に、鍵格納部３０４から、確認サーバ装置２００に割り当てられた公開鍵を読み出す。次に、検証部３１１は、読み出した公開鍵を用いて、プログラム格納部３０５にインストールされた制御プログラム３３１の署名領域３３４に記憶されている署名データ３３４ａ、実行部領域３３２及び第１データ領域３３３に対して、デジタル署名検証Ｖｒｆｙを施す。
【０１１０】
デジタル署名検証Ｖｒｆｙによる検証結果が失敗である場合、検証部３１１は、検証に失敗した旨を示すメッセージを生成し、生成したメッセージを表示部３０９に対して出力する。これにより、端末装置３００は、処理を終了する。
デジタル署名検証Ｖｒｆｙによる検証結果が成功である場合、端末装置３００の処理は、継続される。
【０１１１】
検証部３１１は、検証の成功又は失敗を示す検証結果をプログラム実行部３０６に対して出力する。
（５）プログラム実行部３０６
プログラム実行部３０６は、制御プログラム２３１をプログラム格納部３０５にインストールする。これにより、プログラム格納部３０５に、図１０に示すように、制御プログラム３３１が格納される。なお、この時点において、第２データ領域３３５及び第３データ領域３３６には、それぞれ付随データ及びデータは、格納されていない。
【０１１２】
プログラム実行部３０６は、検証部３１１から、検証の成功又は失敗を示す検証結果を受け取る。受け取った検証結果が検証の失敗を示す場合には、以降の端末装置３００の処理を中止する。
受け取った検証結果が検証の成功を示す場合には、プログラム実行部３０６は、制御プログラム３３１を実行状態にする。
【０１１３】
プログラム実行部３０６が制御プログラム３３１を実行することにより、図１１に示すように、付随データ処理部９０１、固有識別子取得処理部９０２、アカウント提示部９０５、機器制御ルール提示部９０６、機器操作提示部９０７、アカウント取得部９０８、機器制御ルール取得部９０９、操作指示取得部９１０、及び検証データ生成部９１１が実現される。
【０１１４】
（付随データ処理部９０１）
付随データ処理部９０１は、付随データ格納部３０７に付随データが格納されているか否かを判断する。付随データ格納部３０７に付随データが格納されている場合、付随データ処理部９０１は、付随データ格納部３０７に格納されている付随データを制御プログラム３３１の第２データ領域３３５の付随データ３３５ａに上書きする。付随データ格納部３０７に付随データが格納されていない場合、付随データ処理部９０１は、付随データの上書きを行わない。
【０１１５】
付随データ処理部９０１は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、付随データ及び乱数Ｒを安全な手段により受信する。
次に、付随データ処理部９０１は、付随データ及び乱数Ｒを受信したか否かを確認する。
付随データ及び乱数Ｒを受信した場合、付随データ処理部９０１は、受信した付随データを、付随データ格納部３０７に書き込む。次に、付随データ処理部９０１は、受信した乱数Ｒを、付随データ格納部３０７に書き込む。
【０１１６】
付随データ及び乱数Ｒを受信しなかった場合、付随データ処理部９０１は、付随データ及び乱数Ｒの書き込みを行わない。
（固有識別子取得処理部９０２）
固有識別子取得処理部９０２は、利用者から操作指示を受け取った場合、固有識別子の要求を、入出力部３０８を介して、メモリカード４００に対して出力する。固有識別子取得処理部９０２は、固有識別子の要求を出力した直後において、変数としての固有識別子Ｙ’を仮に「０」に設定する。
【０１１７】
固有識別子取得処理部９０２は、メモリカード４００から固有識別子を受け取ったか否かを判断する。ここで、受け取るべき固有識別子を固有識別子Ｙ’と表現する。固有識別子Ｙ’を受け取った場合、固有識別子取得処理部９０２は、プログラム格納部３０５に格納されている制御プログラム３３１のうち、実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に格納されているメモリ及びデータに対して、ハッシュ演算Ｈａｓｈを施すことにより、ハッシュ値Ｈ’を算出する。
【０１１８】
ハッシュ値Ｈ’＝Ｈａｓｈ（プログラム格納部３０５に格納されている制御プログラム３３１のうちの実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に格納されているメモリ及びデータ）
ここで、第３データ領域３３６をハッシュ演算Ｈａｓｈの対象から除外しているのは、第３データ領域３３６は、制御プログラム３３１の実行状態により変化するデータを含んでいるからである。
【０１１９】
ここで、ハッシュ演算Ｈａｓｈは、一例として、ＳＨＡ−１である。また、ハッシュ演算Ｈａｓｈは、ＳＨＡ−２、ＳＨＡ−２５６等であるとしてもよい。
なお、ここで用いられるハッシュ演算Ｈａｓｈと、信頼性評価部２１０において用いられるハッシュ演算Ｈａｓｈとは、同一の演算でなければならない。
次に、固有識別子取得処理部９０２は、固有識別子Ｙ’、ハッシュ値Ｈ’及び乱数Ｒを用いて、評価値Ｓ’を算出する。
【０１２０】
Ｓ’  ＝  Ｙ’  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ’、Ｒ）
ここで、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＡとデータＢに対して、一方向性演算を施して得られた値を示す。例えば、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＢを鍵として用いて、データＡに鍵付きハッシュ演算を施して得られたハッシュ値である。また、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＡとデータＢをこの順序で結合して結合体を得、得られた結合体に対して、ハッシュ演算を施して得られたハッシュ値であるとしてもよい。また、一方向性演算Ｏｎｅｗａｙ（Ａ、Ｂ）は、データＢを鍵として用いて、秘密鍵暗号方式としてのＡＥＳによる暗号化アルゴリズムを施して、暗号文を生成し、生成した暗号文にハッシュ演算ＳＨＡ−１を施して得られたハッシュ値であるとしてもよい。
【０１２１】
なお、ここで用いられる一方向性演算Ｏｎｅｗａｙと、信頼性評価部２１０において用いられる一方向性演算Ｏｎｅｗａｙとは、同一の演算でなければならない。
次に、固有識別子取得処理部９０２は、評価値Ｓ’を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
（アカウント提示部９０５）
アカウント提示部９０５は、利用者から入力された利用者識別子及びパスワードを表示部３０９に出力して、表示させる。
【０１２２】
（機器制御ルール提示部９０６）
＜機器制御ルールの修正＞
機器制御ルール提示部９０６は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、制御ルール管理テーブルを受信する。次に、機器制御ルール提示部９０６は、受信した制御ルール管理テーブルを用いて、制御ルール変更画面３６１を生成する。
【０１２３】
制御ルール変更画面３６１の一例を図１３に示す。制御ルール変更画面３６１は、この図に示すように、複数のフィールドを含む。各フィールドは、制御ルール管理テーブルの制御ルール情報に対応する。各フィールドは、表示フィールドとボタンフィールドとの組を含む。表示フィールドは、操作内容及び条件を表示する。ボタンフィールドは、条件の変更の内容を表示する。
【０１２４】
機器制御ルール提示部９０６は、制御ルール管理テーブルの制御ルール情報毎に、制御ルール変更画面３６１のフィールドを生成する。具体的には、機器制御ルール提示部９０６は、制御ルール情報に含まれる操作内容及び条件から表示フィールドを生成する。つまり、操作内容及び条件を、表示フィールドの表示内容とする。また、機器制御ルール提示部９０６は、制御ルール情報に含まれる条件からボタンフィールドを生成する。つまり、制御ルール情報に含まれる条件に含まれていない変更候補の条件を生成し、生成した変更候補の条件を、ボタンフィールドの表示内容とする。
【０１２５】
制御ルール変更画面３６１は、一例として、フィールド３７１及び３７２を含む。
フィールド３７１に含まれる表示フィールドは、操作内容３６２「ルール変更」及び条件３６３「固有識別子要」を表示し、フィールド３７１に含まれるボタンフィールドは、条件の変更の内容３６４「固有識別子不要に変更」を表示する。
フィールド３７２に含まれる表示フィールドは、操作内容３６５「エアコン電源制御」及び条件３６６「固有識別子要」を表示し、フィールド３７２に含まれるボタンフィールドは、条件の変更の内容３６７「固有識別子不要に変更」を表示する。
【０１２６】
このように、各フィールドは、項目毎に制限を表示している。制限とは、ログインが必要であるか否か、及び、固有識別子が必要であるか否かである。ボタンフィールドには、現在の制限を変更できる候補を表示している。利用者がボタンフィールドを押すことにより、現在の制限を変更することができる。
（機器操作提示部９０７）
＜機器情報取得の処理＞
機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、機器の状態を示す機器状態情報の取得ができない旨を示すメッセージを受信する。次に、機器操作提示部９０７は、受信したメッセージを表示部３０９に対して出力する。
【０１２７】
機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、機器状態情報を含むメッセージを受信する。次に、機器操作提示部９０７は、受信したメッセージを表示部３０９に対して出力する。
＜機器５００に対する遠隔操作に関連する処理＞
機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、操作内容の取得ができない旨を示すメッセージ及び取得した操作内容及び項目を含むメッセージを受信する。次に、機器操作提示部９０７は、受信したメッセージのうち、操作内容及び項目を含むメッセージを用いて、機器操作メニューを生成する。
【０１２８】
生成した機器操作メニューの一例として、図１２に機器操作画面３５１を示す。
機器操作画面３５１は、複数のフィールドを含む。各フィールドは、各機器に対する操作に対応し、また一つのメッセージに対応している。各フィールドは、操作内容及び操作ボタンを含む。
機器操作提示部９０７は、受信した一つのメッセージに対応して、一つのフィールドを生成する。メッセージに含まれる操作内容を、フィールドの操作内容とし、メッセージに含まれる項目を操作ボタンとする。
【０１２９】
図１２に示す機器操作画面３５１では、各機器に対応する操作に応じて、操作内容及び操作ボタンを表示している。また、各操作ボタンは、現在の制限を変更できる候補を表示している。操作ボタンを押すことにより、現在の制限を変更できる。
機器操作画面３５１は、一例として、フィールド３５８及び３５９を含む。フィールド３５８は、操作内容３５２「ドア開閉」と、これに対応して、操作ボタン３５３「開錠」及び操作ボタン３５４「施錠」を含む。操作ボタン３５３の色をグレー（中間階調）にして表示することにより、操作ボタン３５３が不活性化されている状態を示している。操作ボタン３５３に対しては、利用者は、操作ができない。操作ボタン３５４「施錠」については、現在操作できる操作ボタンであることを表現するため、操作ボタンの表示のコントラストを上げて、活性化されている状態を示している。利用者は、操作ボタン３５４に対する操作が可能である。なお、操作ボタンの色だけでなく、サイズや形などのデザインにより、活性化又は不活性化されていることを表現してもよい。
【０１３０】
フィールド３５９は、操作内容３５５「リビングライト操作」と、これに対応して、操作ボタン３５６「ＯＮ」及び操作ボタン３５７「ＯＦＦ」を含む。ここで、操作ボタン３５６及び操作ボタン３５７に対して、利用者は、操作が可能である。
図１２に示す機器操作画面３５１では、各機器に対応する操作に応じて、操作内容及び操作ボタンを表示しているが、各機器の機能毎の操作に応じて、操作内容及び操作ボタンを表示してもよい。例えば、テレビ受像機である機器について、チャネルの切替え、番組の予約などの機能毎に、操作内容及び操作ボタンを表示してもよい。
【０１３１】
ここでは、端末装置３００において、機器操作画面３５１を生成している。しかし、これには、限定されない。確認サーバ装置２００が機器操作画面３５１を生成し、生成した機器操作画面３５１を端末装置３００に対して送信してもよい。端末装置３００は、機器操作画面３５１を受信し、受信した機器操作画面３５１を表示する。
（アカウント取得部９０８）
アカウント取得部９０８は、配信サーバ装置１００から、ネットワーク２０及び通信部３０２を介して、利用者識別子及びパスワードの要求を受信する。利用者識別子及びパスワードの要求を受信すると、アカウント取得部９０８は、入力部３１０に対して、利用者識別子及びパスワードの入力を受け付けるように制御する。
【０１３２】
制御プログラムの起動が受け付けられ、確認サーバ装置２００に対する接続要求が送信される場合に、アカウント取得部９０８は、入力部３１０に対して、ログインの要否の入力を受け付けるように制御する。次に、アカウント取得部９０８は、入力部３１０からログインの要否を受け取る。次に、アカウント取得部９０８は、通信部３０２及びネットワーク２０を介して、ログインの要否を確認サーバ装置２００に対して送信する。
【０１３３】
また、アカウント取得部９０８は、受け取ったログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する。受け取ったログインの要否が、ログインを要求することを示す場合、アカウント取得部９０８は、入力部３１０に対して、利用者識別子及びパスワードの入力を受け付けるように制御する。受け取ったログインの要否が、ログインを要求しないことを示す場合、アカウント取得部９０８は、入力部３１０に対して、利用者識別子及びパスワードの入力を受け付けるように要求しない。
【０１３４】
アカウント取得部９０８は、入力部３１０から、利用者識別子及びパスワードを受け取る。次に、アカウント取得部９０８は、入力を受け付けた利用者識別子及びパスワードを、安全な手段により、通信部３０２及びネットワーク２０を介して、配信サーバ装置１００に対して送信する。
（機器制御ルール取得部９０９）
機器制御ルール取得部９０９は、入力部３１０から、制御ルールの変更操作を受け取る。次に、機器制御ルール取得部９０９は、制御ルールの変更操作を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
【０１３５】
（操作指示取得部９１０）
受け付けた操作指示が処理の終了ではない場合、操作指示取得部９１０は、受け取った操作指示を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
入力部３１０から操作の終了を示す操作指示を受け取った場合、操作指示取得部９１０は、端末装置３００の処理を終了するように制御する。
【０１３６】
（検証データ生成部９１１）
検証データ生成部９１１は、制御プログラム３３１の実行中に、予め定められた所定の時間（例えば、１分）間隔で繰り返し検証データを生成する機能を有する。検証データ生成部９１１は、例えば、以下に示す方法で検証データを生成する。
検証データ生成部９１１は、固有識別子取得処理部９０２から固有識別子Ｙ’を取得する。
【０１３７】
固有識別子Ｙ’を受け取った場合、検証データ生成部９１１は、プログラム格納部３０５に格納されている制御プログラム３３１のうち、実行部領域３３２、第１データ領域３３３、署名領域３３４及び第２データ領域３３５に格納されているメモリ及びデータを予め定められたＮ個（Ｎは１以上の整数）の部分に分割したデータＰ’ｉ（ｉ＝０〜（Ｎ−１））を生成する。なお、この分割数は、検証部２１８での分割数と同じでなければならない。Ｎの値は、例えば、制御プログラム２３１、３３１に予め記憶されていてもよいし、確認サーバ装置２００が生成したＮの値を、付随データ３３５ａやデータ３３６ａに付加しておき、付随データ３３５ａやデータ３３６ａから制御プログラム３３１が読み出すようにしてもよい。
【０１３８】
また、検証データ生成部９１１は、前回の検証データ送信時刻ＴＡ’に、経過時間ＴＥを加えた時刻を示すデータＴ’を生成する。そして、Ｐ’ｉのうちの１つとＴ’とを結合したデータＤ’ｉに対して、ハッシュ演算Ｈａｓｈを施すことにより、ハッシュ値Ｈｉ’を算出する。
Ｈ’ｉ＝Ｈａｓｈ（Ｄ’ｉ）
なお、ここで用いられるハッシュ演算Ｈａｓｈと、検証部２１８において用いられるハッシュ演算Ｈａｓｈとは、同一の演算でなければならない。
【０１３９】
次に、検証データ生成部９１１は、固有識別子Ｙ’、ハッシュ値Ｈ’及び乱数Ｒを用いて、検証データＳ’ｉを算出する。
Ｓ’ｉ  ＝  Ｙ’  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ’ｉ、Ｒ）
なお、ここで用いられる一方向性演算Ｏｎｅｗａｙと、検証部２１８において用いられる一方向性演算Ｏｎｅｗａｙとは、同一の演算でなければならない。
【０１４０】
次に、検証データ生成部９１１は、生成した検証データＳ’ｉを、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
（６）制御部３０１
制御部３０１は、通信部３０２、相互認証部３０３、鍵格納部３０４、プログラム格納部３０５、プログラム実行部３０６、付随データ格納部３０７、入出力部３０８、表示部３０９、入力部３１０及び検証部３１１を制御する。
【０１４１】
制御部３０１は、配信サーバ装置１００から、ネットワーク２０及び通信部３０２を介して、様々なメッセージを受信する。次に、受信したメッセージを表示部３０９に対して出力する。
制御部３０１は、ログインが正常にされていないことを示すメッセージを表示部３０９に対して出力する。また、制御部３０１は、固有識別子が取得されていないことを示すメッセージを表示部３０９に対して出力する。
【０１４２】
（７）入力部３１０、表示部３０９及び入出力部３０８
入力部３１０は、端末装置３００の利用者から、操作指示及びデータを受け付ける。
具体的には、入力部３１０は、制御プログラムを取得する指示、利用者識別子及びパスワード、ログインの要否、制御プログラムの起動の操作、機器情報の取得の要求、機器に対する遠隔操作に関連する指示、制御ルールの変更操作を受け付ける。次に、入力部３１０は、受け付けた操作指示及びデータを制御部３０１に対して、出力する。機器に対する遠隔操作に関連する指示には、機器に対する遠隔操作命令が含まれる。遠隔操作命令は、具体的には、テレビ受像機である機器５００ａに対する電源ＯＮの指示、電源ＯＦＦの指示、エアコンである機器５００ｂに対する電源ＯＮの指示、電源ＯＦＦの指示、リビングライトである機器５００ｃに対する電源ＯＮの指示、電源ＯＦＦの指示等を含む。
【０１４３】
表示部３０９は、制御部３０１又は通信部３０２から様々なメッセージを受け取る。次に、受け取ったメッセージを表示する。前記メッセージには、ログインが正常にされていないことを示すメッセージ、固有識別子が取得されていないことを示すメッセージ等が含まれる。
表示部３０９は、機器操作メニューとして、図１２に示す機器操作画面３５１を表示する。また、表示部３０９は、制御ルールの変更にために用いられ、図１３に示す制御ルール変更画面３６１を表示する。
【０１４４】
入出力部３０８は、メモリカード４００とプログラム実行部３０６との間で、メモリカード４００と通信部３０２との間で、又は、メモリカード４００と制御部３０１との間で、情報の送受信を中継する。
＜１．５  メモリカード４００＞
メモリカード４００は、図１４に示すように、制御部４０１、相互認証部４０３、鍵格納部４０４、固有識別子格納部４０７及び入出力部４０８から構成される。
【０１４５】
メモリカード４００は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、入出力デバイスなどから構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、メモリカード４００は、その機能を達成する。
（１）固有識別子格納部４０７及び鍵格納部４０４
固有識別子格納部４０７は、不揮発性の半導体メモリから構成されている。固有識別子格納部４０７は、メモリカード４００に固有の固有識別子を記憶している。固有識別子は、一例として、３２ビット長である。
【０１４６】
鍵格納部４０４は、予め、システム鍵Ｋｓｃを記憶している。
（２）制御部４０１
制御部４０１は、相互認証部４０３、鍵格納部４０４、固有識別子格納部４０７及び入出力部４０８を制御する。
また、制御部４０１は、確認サーバ装置２００から、ネットワーク２０、端末装置３００及び入出力部４０８を介して、固有識別子の要求を受信する。固有識別子の要求を受信すると、制御部４０１は、固有識別子格納部４０７から固有識別子の読み出しを試みる。固有識別子の読み出しに成功した場合、制御部４０１は、読み出した固有識別子を、安全な手段により、入出力部４０８、端末装置３００及びネットワーク２０を介して、確認サーバ装置２００に対して、送信する。また、固有識別子の読み出しに失敗したときは、制御部４０１は、固有識別子が無いことを示すメッセージを、安全な手段により、入出力部４０８、端末装置３００及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
【０１４７】
また、制御部４０１は、端末装置３００から、入出力部４０８を介して、固有識別子の要求を受け取る。固有識別子の要求を受け取ると、制御部４０１は、固有識別子格納部４０７から固有識別子の読み出しを試みる。固有識別子の読み出しに成功した場合、制御部４０１は、読み出した固有識別子を、安全な手段により、端末装置３００に対して出力する。固有識別子の読み出しに失敗した場合、制御部４０１は、固有識別子が無いことを示すメッセージを、安全な手段により、端末装置３００に対して出力する。
【０１４８】
（３）相互認証部４０３
端末装置３００から確認サーバ装置２００に対して、接続要求が送信されたとき、確認サーバ装置２００からの要求により、相互認証部４０３は、確認サーバ装置２００の相互認証部２０３との間で、相互認証を行い、確認サーバ装置２００と共有鍵を共有する。
また、端末装置３００から確認サーバ装置２００に対して、機器５００に対する操作指示が送信されたとき、端末装置３００からの要求により、相互認証部４０３は、端末装置３００の相互認証部３０３との間で、相互認証を行い、端末装置３００と共有鍵を共有する。
【０１４９】
相互認証部４０３は、図１５に示すように、暗号化部Ｂ１１、乱数生成部Ｂ１２、復号部Ｂ１３、乱数比較部Ｂ１４、鍵共有部Ｂ１５及び暗復号化部Ｂ１６から構成されている。
暗号化部Ｂ１１は、相互認証の相手の装置から乱数Ｒ１を受け取る。乱数Ｒ１を受け取ると、システム鍵Ｋｓｃを用いて、暗号化アルゴリズムＥ３により、乱数Ｒ１を暗号化して、暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を生成し、生成した暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を相手の装置へ送信する。
【０１５０】
ここで、暗号化アルゴリズムＥ３は、秘密鍵暗号方式による暗号化アルゴリズムである。暗号化アルゴリズムＥ３は、一例として、ＡＥＳによるものである。Ｅ３（Ｋ、Ａ）は、鍵Ｋを用いて、平文Ａに対して暗号化アルゴリズムＥ３を施して生成した暗号文を示す。
乱数生成部Ｂ１２は、乱数Ｒ２を生成する。次に、生成した乱数Ｒ２を乱数比較部Ｂ１４に出力する。また、生成した乱数Ｒ２を相互認証の相手の装置に送信する。
【０１５１】
復号部Ｂ１３は、相互認証の相手の装置から、暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を受け取る。次に、システム鍵Ｋｓｃを用いて、復号アルゴリズムＤ４により、受け取った暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を復号して復号文Ｒ２’＝Ｄ４（Ｋｓｃ、Ｅ４（Ｋｓｃ、Ｒ２））を生成する。次に、生成した復号文Ｒ２’を乱数比較部Ｂ１４へ出力する。
ここで、復号アルゴリズムＤ４は、秘密鍵暗号方式による暗号化アルゴリズムである。復号アルゴリズムＤ４は、一例として、ＡＥＳによるものである。Ｅ４（Ｋ、Ａ）は、鍵Ｋを用いて、平文Ａに対して暗号化アルゴリズムＥ４を施して生成した暗号文を示す。また、Ｄ４（Ｋ、Ｂ）は、鍵Ｋを用いて、暗号文Ｂに対して復号アルゴリズムＤ４を施して生成した復号文を示す。
【０１５２】
乱数比較部Ｂ１４は、乱数Ｒ２を受け取り、復号文Ｒ２’を受け取る。次に、乱数Ｒ２と復号文Ｒ２’とを比較する。乱数Ｒ２と復号文Ｒ２’とが一致する場合に、相互認証部４０３は、相手の装置が正当であると判断する。乱数Ｒ２と復号文Ｒ２’とが一致しない場合に、相互認証部４０３は、相手の装置が不正であると判断する。
相互の認証に成功すると、鍵共有部Ｂ１５は、鍵共有の処理を実行して、共有鍵ｋ’を算出する。相互の認証に失敗すると、共有鍵ｋ’の算出は、行われない。
【０１５３】
相互の認証に成功すると、暗復号化部Ｂ１６は、算出された共有鍵ｋ’を用いて、データを暗号化して、暗号化データを生成する。暗号化データは、相手の装置に送信される。また、暗復号化部Ｂ１６は、相手の装置から暗号化データを受信する。次に、算出された共有鍵ｋ’を用いて、暗号化データを復号して、元のデータを生成する。
（４）入出力部４０８
入出力部４０８は、端末装置３００から情報を受け取り、受け取った情報を制御部４０１又は相互認証部４０３に対して出力する。
【０１５４】
また、入出力部４０８は、制御部４０１又は相互認証部４０３から情報を受け取り、受け取った情報を端末装置３００に対して出力する。
＜１．６  機器５００＞
ここでは、機器５００ａ、５００ｂ、５００ｃ、５００ｄ及び５００ｅを代表して、機器５００として説明する。
【０１５５】
機器５００は、図１６に示すように、機構制御部５０１、通信部５０２、命令受信部５０６、情報通知部５０７及び機構５０８から構成されている。
機構５０８は、機器５００の機能を達成するための主たる機構である。機器５００が照明器具である場合、機構５０８は、照明機構である。機器５００がテレビ受像機である場合、機構５０８は、放送波を受信し、受信した放送波から利用者の所望のチャネルの番組を抽出し、抽出した番組を再生して表示する。機器５００が扉である場合、機構５０８は、扉の施錠及び開錠を制御するロック機構である。
【０１５６】
機構５０８は、機構制御部５０１から、遠隔操作命令を含む操作指示を受け取り、受け取った操作指示に含まれる遠隔操作命令に従って、動作する。
通信部５０２は、ネットワーク２０を介して、確認サーバ装置２００との間で情報の送受信を行う。
情報通知部５０７は、機構制御部５０１から、機器が有する機構５０８の状態を示す機器状態情報を受け取り、受け取った機器状態情報を、通信部５０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
【０１５７】
命令受信部５０６は、確認サーバ装置２００から、ネットワーク２０及び通信部５０２を介して、機器５００の機構５０８を制御する遠隔操作命令を受信し、受信した遠隔操作命令を機構制御部５０１に対して出力する。
機構制御部５０１は、命令受信部５０６から、遠隔操作命令を受け取り、受け取った遠隔操作命令により、機構５０８を制御する。また、機構５０８から、機構５０８の状態を示す機器状態情報を取得し、取得した機器状態情報を情報通知部５０７に対して出力する。
【０１５８】
機構制御部５０１は、確認サーバ装置２００から、ネットワーク２０、通信部５０２及び命令受信部５０６を介して、機器状態情報の取得の要求を受信する。次に、機構制御部５０１は、機器状態情報の取得の要求から、取得の対象である機器に関する機器情報を抽出し、抽出した機器情報に対応する機器状態情報を機構５０８から取得する。次に、機構制御部５０１は、取得した機器状態情報を、情報通知部５０７、通信部５０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。
【０１５９】
＜１．７  遠隔操作システム１０における動作＞
（１）制御プログラムの制作及び制御プログラムの配信の手順
制御プログラムの制作及び制御プログラムの配信の手順について、図１７に示すシーケンス図を用いて説明する。
確認サーバ装置２００のプログラム制作部２０６は、確認サーバ装置２００の利用者の操作により、制御プログラムを制作する。次に、プログラム制作部２０６は、制作された制御プログラムをプログラム格納部２０７に書き込む（ステップＳ１０１）。
【０１６０】
署名生成部２１４は、鍵格納部２０４から、確認サーバ装置２００に割り当てられた私有鍵を読み出し、プログラム格納部２０７から制御プログラムを読み出す。次に、読み出した私有鍵を用いて、読み出した制御プログラムにデジタル署名Ｓｉｇｎを施して、署名データを生成する。次に、署名生成部２１４は、生成した署名データを制御プログラムに付加し、署名データが付加された制御プログラムを、プログラム格納部２０７に記憶されている制御プログラムに上書きする（ステップＳ１０２）。
【０１６１】
次に、確認サーバ装置２００の相互認証部２０３と配信サーバ装置１００の相互認証部１０３とは、相互認証及び鍵共有を行う（ステップＳ１０３）。なお、相互認証及び鍵共有の詳細手順については、後述する。
次に、通信部２０２は、プログラム格納部２０７から制御プログラムを読み出す（ステップＳ１０４）。
【０１６２】
次に、確認サーバ装置２００の通信部２０２は、読み出した制御プログラムを、安全な手段により、ネットワーク２０を介して、配信サーバ装置１００に送信する（ステップＳ１０５）。次に、配信サーバ装置１００の通信部１０２は、確認サーバ装置２００から、ネットワーク２０を介して、安全な手段により、前記制御プログラムを受信する（ステップＳ１０５）。
【０１６３】
ここで、安全な手段による通信は、次の方法により実現される。
相互認証部２０３は、ステップＳ１０３に示す相互認証及び鍵共有の手順において、生成された共有鍵を用い、制御プログラムを暗号化して暗号化制御プログラムを生成する。ステップＳ１０５において、通信部２０２は、暗号化制御プログラムを、ネットワーク２０を介して、配信サーバ装置１００に送信する。次に、通信部１０２は、確認サーバ装置２００から、ネットワーク２０を介して、暗号化制御プログラムを受信する。相互認証部１０３は、ステップＳ１０３に示す相互認証及び鍵共有の手順において、生成された共有鍵を用い、暗号化制御プログラムを復号して、制御プログラムを生成する。
【０１６４】
次に、通信部１０２は、受信した制御プログラムを記憶部１０５に書き込む（ステップＳ１０６）。
以上の手順により、制御プログラムが確認サーバ装置２００から配信サーバ装置１００に送信される。
次に、端末装置３００の入力部３１０は、端末装置３００の利用者から、制御プログラムを取得する指示を受け付ける（ステップＳ１１１）。
【０１６５】
次に、配信サーバ装置１００の相互認証部１０３と端末装置３００の相互認証部３０３とは、相互認証及び鍵共有を行う（ステップＳ１１２）。
次に、通信部３０２は、制御部３０１の制御により、制御プログラムの要求を、ネットワーク２０を介して、配信サーバ装置１００に対して送信する（ステップＳ１１３）。配信サーバ装置１００の制御部１０１は、端末装置３００から、ネットワーク２０及び通信部１０２を介して、制御プログラムの要求を受信する（ステップＳ１１３）。
【０１６６】
次に、制御部１０１は、通信部１０２及びネットワーク２０を介して、端末装置３００に対して、利用者識別子及びパスワードの要求を送信する（ステップＳ１１４）。アカウント取得部９０８は、配信サーバ装置１００から、ネットワーク２０及び通信部３０２を介して、利用者識別子及びパスワードの要求を受信する（ステップＳ１１４）。
次に、入力部３１０は、端末装置３００の利用者から、利用者識別子及びパスワードの入力を受け付ける（ステップＳ１１５）。アカウント取得部９０８は、入力を受け付けた利用者識別子及びパスワードを、安全な手段により、通信部３０２及びネットワーク２０を介して、配信サーバ装置１００に対して送信する（ステップＳ１１６）。アカウント確認部１０７は、端末装置３００から、ネットワーク２０及び通信部１０２を介して、安全な手段により、利用者識別子及びパスワードを受信する（ステップＳ１１６）。ここで、安全な手段とは、上述した暗号化及び復号の方法によるものである。
【０１６７】
次に、アカウント確認部１０７は、受信した利用者識別子及びパスワードが、アカウント格納部１０６に記憶されているか否かを確認する（ステップＳ１１７）。受信した利用者識別子及びパスワードが、アカウント格納部１０６に記憶されていない場合、ログインに失敗した（ログイン異常）とみなす。受信した利用者識別子及びパスワードが、アカウント格納部１０６に記憶されている場合、ログインに成功した（ログイン正常）とみなす。
【０１６８】
ログイン異常の場合（ステップＳ１１８：異常）、アカウント確認部１０７は、ログイン異常を示すメッセージを生成する（ステップＳ１１９）。次に、当該メッセージを、通信部１０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ１２０）。これにより、配信サーバ装置１００における処理は、終了する。
端末装置３００の制御部３０１は、配信サーバ装置１００から、ネットワーク２０及び通信部３０２を介して、前記メッセージを受信する（ステップＳ１２０）。次に、表示部３０９は、受信した前記メッセージを表示する（ステップＳ１２１）。これにより、端末装置３００の処理は、終了する。
【０１６９】
ログイン正常の場合（ステップＳ１１８：正常）、制御部１０１は、記憶部１０５から制御プログラムを読み出す（ステップＳ１２２）。次に、制御部１０１は、読み出した制御プログラムを、安全な手段により、通信部１０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ１２３）。通信部３０２は、配信サーバ装置１００から、ネットワーク２０を介して、安全な手段により、制御プログラムを受信する（ステップＳ１２３）。ここで、安全な手段については、上述した通りである。次に、通信部３０２は、受信した制御プログラムをプログラム格納部３０５に書き込む（ステップＳ１２４）。次に、プログラム実行部３０６は、制御プログラムをプログラム格納部３０５にインストールする（ステップＳ１２５）。
【０１７０】
以上の手順により、制御プログラムが配信サーバ装置１００から端末装置３００に送信される。
（２）制御プログラムの起動の手順
制御プログラムの起動の手順について、図１８〜図２１に示すシーケンス図を用いて説明する。
【０１７１】
端末装置３００の入力部３１０は、端末装置３００の利用者から、制御プログラムの起動の操作を受け付ける（ステップＳ１３０）。
検証部３１１は、鍵格納部３０４から、確認サーバ装置２００に割り当てられた公開鍵を読み出す。次に、検証部３１１は、読み出した公開鍵を用いて、プログラム格納部３０５にインストールされた制御プログラム３３１の署名領域３３４に記憶されている署名データ３３４ａ、実行部領域３３２及び第１データ領域３３３に対して、デジタル署名検証Ｖｒｆｙを施す（ステップＳ１３１）。デジタル署名検証Ｖｒｆｙによる検証結果が失敗である場合（ステップＳ１３２：失敗）、検証部３１１は、デジタル署名検証Ｖｒｆｙに失敗した旨を示すメッセージを生成し、表示部３０９は、当該メッセージを表示する（ステップＳ１３３）。これにより、端末装置３００は、処理を終了する。
【０１７２】
デジタル署名検証Ｖｒｆｙによる検証結果が成功である場合（ステップＳ１３２：成功）、プログラム実行部３０６は、制御プログラムを実行状態にする（ステップＳ１３４）。付随データ処理部９０１は、付随データ格納部３０７に付随データが格納されているか否かを判断する（ステップＳ１３５）。
付随データ格納部３０７に付随データが格納されている場合（ステップＳ１３５：有り）、検証部３１１は、鍵格納部３０４から、確認サーバ装置２００に割り当てられた公開鍵を読み出す。次に、検証部３１１は、読み出した公開鍵を用いて、付随データ格納部３０７に記録されている付随データの署名領域に記憶されている署名データ、変数領域に記録されている変数Ｋに対して、デジタル署名検証Ｖｒｆｙを施す（ステップＳ１３６）。デジタル署名検証Ｖｒｆｙによる検証結果が失敗である場合（ステップＳ１３７：失敗）、検証部３１１は、デジタル署名検証Ｖｒｆｙに失敗した旨を示すメッセージを生成し、表示部３０９は、当該メッセージを表示する（ステップＳ１３８）。これにより、端末装置３００は、処理を終了する。
【０１７３】
デジタル署名検証Ｖｒｆｙによる検証結果が成功である場合（ステップＳ１３７：成功）、付随データ処理部９０１は、付随データ格納部３０７に格納されている付随データを制御プログラム３３１の第２データ領域３３５の付随データ３３５ａに上書きする（ステップＳ１３９）。
付随データ格納部３０７に付随データが格納されていない場合（ステップＳ１３５：無し）、検証部３１１による検証及び付随データ処理部９０１による付随データの上書きを行わない。
【０１７４】
制御部３０１は、機器５００に対する遠隔操作のための接続要求を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ１４０）。制御部２０１は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、接続要求を受信する（ステップＳ１４０）。
次に、確認サーバ装置２００の相互認証部２０３と端末装置３００の相互認証部３０３とは、相互認証及び鍵共有を行う（ステップＳ１４１）。
【０１７５】
確認サーバ装置２００と端末装置３００との相互認証が確立されると、制御部２０１は、タイマーＴＳの値を初期化（ＴＳ＝０）する（ステップＳ１４１ａ）。そして、端末装置３００に、タイマーＴＥの値の初期化を同期させるための信号を送信し、端末装置３００も自機のタイマーＴＥの値を確認サーバ装置２００のタイマーＴＳと同期して０に初期化（ＴＥ＝０）する（ステップＳ１４１ｂ）。なお、タイマーＴＳ、ＴＥは、経過時間を計測するためのものである。
次に、確認サーバ装置２００の制御部２０１と端末装置３００の制御部３０１はそれぞれ自機の変数Ｃｏｕｎｔｅｒの値を０に初期化（Ｃｏｕｎｔｅｒ＝０）する（ステップＳ１４１ｃ、ステップＳ１４１ｄ）。
【０１７６】
次に、確認サーバ装置２００の相互認証部２０３とメモリカード４００の相互認証部４０３とは、相互認証及び鍵共有を行う（ステップＳ１４２）。
確認サーバ装置２００の制御部２０１は、通信部２０２、ネットワーク２０及び端末装置３００を介して、メモリカード４００に対して、固有識別子の要求を送信する（ステップＳ１４３）。メモリカード４００の制御部４０１は、確認サーバ装置２００から、ネットワーク２０、端末装置３００及び入出力部４０８を介して、固有識別子の要求を受信する（ステップＳ１４３）。次に、制御部４０１は、固有識別子格納部４０７から固有識別子Ｙの読み出しを試みる（ステップＳ１４４）。制御部４０１は、読み出した固有識別子Ｙを、安全な手段により、入出力部４０８、端末装置３００及びネットワーク２０を介して、確認サーバ装置２００に対して、送信する（ステップＳ１４５）。また、制御部４０１は、固有識別子Ｙの読み出しに失敗したときは、固有識別子が無いことを示すメッセージを、安全な手段により、入出力部４０８、端末装置３００及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ１４５）。
【０１７７】
制御部２０１は、メモリカード４００から、端末装置３００、ネットワーク２０及び通信部２０２を介して、安全な手段により、固有識別子Ｙ又は固有識別子が無いことを示すメッセージを受信する。また、制御部２０１は、メモリカード４００に対して、固有識別子の要求を送信した後、所定時間を経過しても、固有識別子Ｙ又は固有識別子が無いことを示すメッセージを受信しないときは、固有識別子が無いことを示すメッセージを生成する（ステップＳ１４５）。
【０１７８】
次に、端末装置３００の入力部３１０は、端末装置３００の利用者からログインの要否を受け付ける（ステップＳ１４６）。次に、アカウント取得部９０８は、通信部３０２及びネットワーク２０を介して、ログインの要否を確認サーバ装置２００に対して送信する（ステップＳ１４７）。
次に、アカウント取得部９０８は、受け付けたログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する（ステップＳ１４８）。
【０１７９】
ログインを要求することを示す場合（ステップＳ１４８：要）、入力部３１０は、端末装置３００の利用者から、利用者識別子及びパスワードの入力を受け付ける（ステップＳ１４９）。次に、アカウント取得部９０８は、受け付けた利用者識別子及びパスワードを、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して、安全な手段により、送信する（ステップＳ１５０）。
【０１８０】
アカウント確認部２１５は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、ログインの要否を受け取る（ステップＳ１５０）。
アカウント確認部２１５は、受け取ったログインの要否が、ログインを要求することを示すか要求しないことを示すかを判断する（ステップＳ１５６）。
ログインの要否が、ログインを要求しないことを示す場合（ステップＳ１５６：否）、制御をステップＳ１６２へ移す。
【０１８１】
ログインの要否が、ログインを要求することを示す場合（ステップＳ１５６：要）、アカウント確認部２１５は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、安全な手段により、利用者識別子及びパスワードを受信する（ステップＳ１５０）。次に、アカウント確認部２１５は、受信した利用者識別子及びパスワードの組が、アカウント管理テーブル２６１に記憶されているか否かを確認する（ステップＳ１５１）。アカウント確認部２１５は、受信した利用者識別子及びパスワードが、アカウント管理テーブル２６１に記憶されていない場合、ログインに失敗した（ログイン異常）とみなす。アカウント確認部２１５は、受信した利用者識別子及びパスワードが、アカウント管理テーブル２６１に記憶されている場合、ログインに成功した（ログイン正常）とみなす。
【０１８２】
ログイン異常の場合（ステップＳ１５２：異常）、アカウント確認部２１５は、ログイン異常を示すメッセージを生成する（ステップＳ１５３）。次に、当該メッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ１５４）。これにより、確認サーバ装置２００における処理は、終了する。
端末装置３００の通信部３０２は、確認サーバ装置２００から、ネットワーク２０を介して、前記メッセージを受信する（ステップＳ１５４）。次に、表示部３０９は、前記メッセージを表示する（ステップＳ１５５）。これにより、端末装置３００の処理は、終了する。
【０１８３】
ログイン正常の場合（ステップＳ１５２：正常）、制御部１０１は、利用者識別子及びパスワードを記憶する（ステップＳ１６１）。
次に、付随データ生成部２０８は、メモリカード４００から固有識別子を受信しているか否かを確認する（ステップＳ１６２）。固有識別子を受信している場合（ステップＳ１６２：有り）、付随データ生成部２０８は、乱数Ｒを生成し（ステップＳ１６３）、変数Ｋ＝固有識別子Ｙ  ＸＯＲ  乱数Ｒを算出する（ステップＳ１６４）。次に、付随データ生成部２０８は、算出して得られた変数Ｋを含む付随データを生成する（ステップＳ１６５）。次に、署名生成部２１４は、付随データに対してデジタル署名Ｓｉｇｎを施して、署名データを生成し、生成した署名データを付随データに付加する（ステップＳ１６６）。次に、付随データ生成部２０８は、付随データ及び乱数Ｒを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して、安全な手段により、送信する（ステップＳ１６７）。
【０１８４】
固有識別子を受信していない場合（ステップＳ１６２：無し）、乱数Ｒの生成、変数Ｋの算出、付随データの生成、署名データの生成及び付随データ及び乱数Ｒの送信は、行われない。
付随データ処理部９０１は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、付随データ及び乱数Ｒを、安全な手段により、受信する場合がある（ステップＳ１６７）。
【０１８５】
次に、付随データ処理部９０１は、付随データ及び乱数Ｒを受信したか否かを確認する（ステップＳ１６８）。
付随データ及び乱数Ｒを受信した場合（ステップＳ１６８：Ｙｅｓ）、付随データ処理部９０１は、受信した付随データを、付随データ格納部３０７に書き込む（ステップＳ１６９）。次に、付随データ処理部９０１は、受信した乱数Ｒを、付随データ格納部３０７に書き込む（ステップＳ１７０）
付随データ及び乱数Ｒを受信しなかった場合（ステップＳ１６８：Ｎｏ）、付随データ及び乱数Ｒの書き込みは、行われない。
【０１８６】
次に、端末装置３００の制御部３０１は、タイマーＴＥが示す経過時間が予め設定されている閾値Ｔ０を過ぎているか否かを判定する（ステップＳ１７１）。
ＴＥ＞Ｔ０の場合（ステップＳ１７１：Ｙｅｓ）には、端末装置３００で実行されている制御プログラムの検証データ生成部９１１は検証データ生成処理を行う（ステップＳ１７２）。検証データ生成処理については、後述する。
【０１８７】
そして、検証データ生成処理で生成した検証データＳ’ｉを、通信部３０２を介して確認サーバ装置２００に送信する（ステップＳ１７３）。
確認サーバ装置２００の検証部２１８は、通信部２０２を介して端末装置３００から検証データＳ’ｉを取得したか否かを判定する（ステップＳ１７４）。
検証データを受信した場合（ステップＳ１７４：有り）、検証部２１８は、検証データ検証処理を行う（ステップＳ１７５）。なお、検証データ検証処理については、後述する。
【０１８８】
検証部２１８での検証データ検証処理が完了すると制御部２０１は、タイマーＴＳの値を０に初期化（ＴＳ＝０）し（ステップＳ１７６）、同期信号を端末装置３００に送信し、端末装置３００の制御部３０１は、タイマーＴＳに同期して、タイマーＴＥの値を０に初期化（ＴＥ＝０）する（ステップＳ１７７）。
一方、検証データを受信しない場合（ステップＳ１７４：無し）、検証部２１８は、検証データ検証処理を行わず、確認サーバ装置２００は、端末装置３００からの検証データの送信及び操作指示の送信を待つ。
【０１８９】
ＴＥ＞Ｔ０でない場合（ステップＳ１７１：Ｎｏ）には、検証データ生成処理を行わず、ステップＳ１８１の処理に進む。
端末装置３００の入力部３１０は、端末装置３００の利用者から、操作指示の入力があるか否かを判断する（ステップＳ１８１）。
操作指示の入力がない場合（ステップＳ１８１：Ｎｏ）には操作指示の入力があるまで、ステップＳ１７１からステップＳ１８１までの処理を繰り返す。
【０１９０】
一方、端末装置３００は、入力部３１０が、操作指示の入力を受け付け（ステップＳ１８１：Ｙｅｓ）、その受け付けた操作指示が処理の終了を示す場合（ステップＳ１８２：Ｙｅｓ）には、処理を終了する。
受け付けた操作指示が処理の終了ではない場合（ステップＳ１８２：Ｎｏ）、操作指示取得部９１０は、受け取った操作指示を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ１８３）。
【０１９１】
確認サーバ装置２００の機器制御部２１３は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、操作指示を受け取る（ステップＳ１８３）。次に、信頼性評価部２１０は、固有識別子を受け取ったか否かを判断する（ステップＳ２００）。
固有識別子を受け取った場合（ステップＳ２００：有り）、付随データ生成部２０８は、付随データをプログラム格納部２０７に記憶されている制御プログラムに上書きする（ステップＳ２０１）。次に、信頼性評価部２１０は、制御プログラムにハッシュ演算Ｈａｓｈを施して、ハッシュ値Ｈを算出する（ステップＳ２０２）。次に、信頼性評価部２１０は、Ｓ  ＝  Ｙ  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ、Ｒ）を算出する（ステップＳ２０３）。
【０１９２】
ステップＳ１８３で操作指示を送信した後、端末装置３００の相互認証部３０３と、メモリカード４００の相互認証部４０３とは、相互認証及び鍵共有を行う（ステップＳ１８４）。
次に、端末装置３００の固有識別子取得処理部９０２は、固有識別子の要求を、入出力部３０８を介して、メモリカード４００に対して出力する（ステップＳ１８５）。次に、メモリカード４００の制御部４０１は、端末装置３００から、入出力部４０８を介して、固有識別子の要求を受け取る（ステップＳ１８５）。
【０１９３】
固有識別子取得処理部９０２は、ステップＳ１８５において、固有識別子の要求を出力した後で、固有識別子Ｙ’を「０」に設定する（ステップＳ１８６）。
メモリカード４００の制御部４０１は、固有識別子格納部４０７から固有識別子の読み出しを試みる（ステップＳ１８７）。ここでは、固有識別子Ｙ’が読み出されるとする。読み出した固有識別子Ｙ’を、安全な手段により、端末装置３００に対して出力する。固有識別子の読み出しができない場合、制御部４０１は、固有識別子が無いことを示すメッセージを、安全な手段により、端末装置３００に対して出力する（ステップＳ１８８）。
【０１９４】
次に、固有識別子取得処理部９０２は、メモリカード４００から固有識別子Ｙ’を受け取ったか否かを判断する（ステップＳ１８９）。固有識別子Ｙ’を受け取った場合（ステップＳ１８９：有り）、固有識別子取得処理部９０２は、ハッシュ値Ｈ’＝Ｈａｓｈ（プログラム格納部３０５に格納されている制御プログラム）を算出する（ステップＳ１９０）。次に、固有識別子取得処理部９０２は、Ｓ’  ＝  Ｙ’  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ’、Ｒ）を算出する（ステップＳ１９１）。次に、固有識別子取得処理部９０２は、評価値Ｓ’を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ１９２）。
【０１９５】
信頼性評価部２１０は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、評価値Ｓ’を受信する（ステップＳ１９２）。
次に、信頼性評価部２１０は、算出された評価値Ｓと受信された評価値Ｓ’とが一致するか否かを判断する（ステップＳ２０４）。
評価値Ｓと評価値Ｓ’とが一致しない場合（ステップＳ２０４：不一致）、信頼性評価部２１０は、機器制御部２１３に対して、機器に対する操作を禁止する禁止情報を出力し、評価値Ｓと評価値Ｓ’とが一致しない旨を示すメッセージを生成する（ステップＳ２０５）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ２０６）。
【０１９６】
端末装置３００の制御部３０１は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、評価値Ｓと評価値Ｓ’とが一致しない旨を示す前記メッセージを受信したか否かを判定する（ステップＳ２０９）。
メッセージを受信した場合（ステップＳ２０９：有り）には、表示部３０９は、受け取ったメッセージを表示する（ステップＳ２１０）。これにより、端末装置３００による処理を終了する。
【０１９７】
メッセージを受信していない場合（ステップＳ２０９：無し）には、Ａ３に戻って処理を繰り返す。
一方、評価値Ｓと評価値Ｓ’とが一致する場合（ステップＳ２０４：一致）、機器制御部２１３に対して、機器に対する操作を許可する許可情報を出力し、機器に対する遠隔処理等が行われる（ステップＳ２０８）。ステップＳ２０８の処理が完了するとＡ２に戻って処理を繰り返す。
【０１９８】
固有識別子を受け取っていない場合（ステップＳ２００：無し）、付随データの上書き、ハッシュ値Ｈの算出、評価値Ｓの算出及び評価値Ｓと評価値Ｓ’の比較は、行われない。
なお、ステップＳ２０８において、機器に対する遠隔処理等が終了した後で、利用者は、制御プログラムを終了させるとしてもよい。この場合には、端末装置３００は、Ａ３に戻らずに処理を終了する。また、確認サーバ装置２００は、ステップＳ２０８の処理が完了するとＡ２に戻らずに処理を終了する。
【０１９９】
（３）検証データ生成処理の手順
端末装置３００における検証データ性処理の手順について図２２のシーケンス図を用いて説明する。なお、ここで説明する検証データ生成処理は、図２０のステップＳ１７２の詳細である。
端末装置３００の相互認証部３０３と、メモリカード４００の相互認証部４０３とは、相互認証及び鍵共有を行う（ステップＳ２２０）。
【０２００】
次に、端末装置３００の固有識別子取得処理部９０２は、固有識別子の要求を、入出力部３０８を介して、メモリカード４００に対して出力する（ステップＳ２２１）。次に、メモリカード４００の制御部４０１は、端末装置３００から、入出力部４０８を介して、固有識別子の要求を受け取る（ステップＳ２２１）。
固有識別子取得処理部９０２は、ステップＳ２２１において、固有識別子の要求を出力した後で、固有識別子Ｙ’を「０」に設定する（ステップＳ２２２）。
【０２０１】
メモリカード４００の制御部４０１は、固有識別子格納部４０７から固有識別子の読み出しを試みる（ステップＳ２２３）。ここでは、固有識別子Ｙ’が読み出されるとする。読み出した固有識別子Ｙ’を、安全な手段により、端末装置３００に対して出力する。固有識別子の読み出しができない場合、制御部４０１は、固有識別子が無いことを示すメッセージを、安全な手段により、端末装置３００に対して出力する（ステップＳ２２４）。
【０２０２】
次に、固有識別子取得処理部９０２は、メモリカード４００から固有識別子Ｙ’を受け取ったか否かを判断する（ステップＳ２２５）。固有識別子Ｙ’を受け取った場合（ステップＳ２２５：有り）、検証データ生成部９１１は、前回の検証データ送信時刻ＴＡ’に経過時間ＴＥを加えた時刻を示すデータＴ’を生成する（ステップＳ２２６）。なお、制御プログラム３３１を起動してから初めて検証データを生成する場合には、前回の検証データ送信時刻の代わりに、確認サーバ装置２００との相互認証及び鍵共有が確立した時刻をＴＡ’とする。また、検証データ送信時刻ＴＡ’は、後述する確認サーバ装置２００での検証データの受信時刻ＴＡと同じ時刻である必要があるので、検証データ送信時刻ＴＡ’は分単位の時刻とする。
【０２０３】
次に、検証データ生成部９１１は、プログラム格納部３０５に格納されている制御プログラムのデータを予め定められているＮ個に分割したデータＰ’ｉ（ｉ＝０〜（Ｎ−１））を生成する（ステップＳ２２７）。そして、ＣｏｕｎｔｅｒをＮで割った剰余の値をｉとして（ステップＳ２２８）、Ｎ個に分割したデータＰ’ｉのうちの１つを選択し、Ｄ’ｉ＝Ｔ’＋Ｐ’ｉを算出する（ステップＳ２２９）。次に、検証データ生成部９１１は、Ｄ’ｉに対してハッシュ値Ｈ’ｉ（Ｄ’ｉ）を算出する（ステップＳ２３０）。
【０２０４】
次に、検証データ生成部９１１は、Ｓ’ｉ  ＝  Ｙ’  ＸＯＲ  Ｏｎｅｗａｙ（Ｈ’ｉ、Ｒ）を算出する（ステップＳ２３１）。
検証データ生成部９１１は、変数Ｃｏｕｎｔｅｒの値を１つ増分して（ステップＳ２３２）、制御プログラムの起動処理に戻る。なお、生成された検証データＳ’ｉは、既に説明したように図２０のステップＳ１７３で確認サーバ装置２００に送信される。
【０２０５】
（４）検証データ検証処理の手順
確認サーバ装置２００における検証データ検証処理の手順について図２３のシーケンス図を用いて説明する。なお、ここで説明する検証データ検証処理は、図２０のステップＳ１７５の詳細である。
確認サーバ装置２００の検証部２１８は、固有識別子を受信しているか否かを確認する（ステップＳ２３５）。
【０２０６】
固有識別子を受信している場合（ステップＳ２３５：有り）、検証部２１８は、前回の検証データ受信時刻ＴＡに経過時間ＴＳを加えた時刻を示すデータＴを生成する（ステップＳ２３６）。なお、端末装置３００が、制御プログラム３３１を起動してから初めて検証データを受信する場合には、前回の検証データ受信時刻の代わりに、確認サーバ装置２００との相互認証及び鍵共有が確立した時刻をＴＡとする。なお、検証データ受信時刻ＴＡは端末装置３００の検証データ生成部９１１が検証データを送信した検証データ送信時刻と同じ時刻である必要がある。そこで、ネットワークを介してのデータの送受信における遅延を考慮して、検証データの受信時刻は分単位の時刻とする。
【０２０７】
次に、検証部２１８は、予め定められている分割数であるＮ個（例えば、Ｎ＝１０）に、プログラム格納部２０７に格納されている制御プログラムのデータを分割したデータＰｉ（ｉ＝０〜（Ｎ−１））を生成する（ステップＳ２３７）。なお、分割数のＮは、端末装置３００での検証データ生成処理における図２２のステップＳ２２７での分割数と同じである必要がある。
【０２０８】
そして、ＣｏｕｎｔｅｒをＮで割った剰余の値をｉとして（ステップＳ２３８）、Ｎ個に分割したデータＰｉ（ｉ＝０〜（Ｎ−１））のうちの１つを選択し、Ｄｉ＝Ｔ＋Ｐｉを算出する（ステップＳ２３９）。次に、検証部２１８は、Ｄｉに対してハッシュ値Ｈｉ（Ｄｉ）を算出する（ステップＳ２４０）。
次に、検証部２１８は、Ｓｉ  ＝  Ｙ  ＸＯＲ  Ｏｎｅｗａｙ（Ｈｉ、Ｒ）を算出する（ステップＳ２４１）。
【０２０９】
そして、検証部２１８は、次に検証データを受信した場合に、分割された制御プログラムのデータのうちのどの分割データを選択するかを決定するための変数Ｃｏｕｎｔｅｒの値を１つ増分する（ステップＳ２４２）。なお、このＣｏｕｎｔｅｒの値は、端末装置３００の検証データ生成処理におけるＣｏｕｎｔｅｒと同じ値を示している。
次に、検証部２１８は、算出された比較データＳｉと受信された検証データＳ’ｉとが一致するか否かを判断する（ステップＳ２４３）。
【０２１０】
比較データＳｉと検証データＳ’ｉとが一致しない場合（ステップＳ２４３：不一致）、及びステップＳ２３５で固有識別子を受信していない場合（ステップＳ２３５：無し）、検証部２１８は、機器制御部２１３に対して、機器に対する操作を禁止する禁止情報を出力し、比較データＳｉと検証データＳ’ｉとが一致しない旨を示すメッセージを生成し、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ２４４）。
【０２１１】
端末装置３００の制御部３０１は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、比較データＳｉと検証データＳ’ｉとが一致しない旨を示す前記メッセージを受信したか否かを判定する（ステップＳ２４５）。
メッセージを受信した場合（ステップＳ２４５：Ｙｅｓ）には、表示部３０９は、受け取ったメッセージを表示する（ステップＳ２４６）。これにより、端末装置３００による処理を終了する。
【０２１２】
メッセージを受信していない場合（ステップＳ２４５：Ｎｏ）には、Ａ３に戻って処理を繰り返す。
一方、比較データＳｉと検証データＳ’ｉとが一致する場合（ステップＳ２４３：一致）、検証部２１８は、検証データ検証処理を終了し、制御プログラムの起動処理に戻り処理を継続する。
【０２１３】
（５）機器の遠隔処理及び関連する処理の手順
機器の遠隔処理及び関連する処理の手順について、図２４に示すフローチャートを用いて説明する。なお、ここで説明する機器の遠隔処理及び関連する処理は、図２１のステップＳ２０８の詳細である。
機器制御部２１３は、端末装置３００から、ネットワーク２０及び通信部２０２を介して受信した操作指示が、機器５００に関する情報の取得の要求、機器５００の遠隔操作に関連する指示、機器制御ルールの修正の指示及びその他の指示のいずれであるかを判断する（ステップＳ２５１）。
【０２１４】
操作指示が、機器５００に関する情報の取得の要求である場合（ステップＳ２５１：機器情報取得要求）、機器制御部２１３は、機器５００に関する情報の取得の処理を行う（ステップＳ２５２）。
操作指示が、機器５００の遠隔操作に関連する指示である場合（ステップＳ２５１：遠隔操作関連指示）、機器制御部２１３は、機器５００の遠隔操作に関連する処理を行う（ステップＳ２５３）。
【０２１５】
操作指示が、機器制御ルールの修正の指示である場合（ステップＳ２５１：機器制御ルール修正指示）、機器制御部２１３は、機器制御ルールの修正の処理を行う（ステップＳ２５４）。
操作指示が、その他の指示である場合（ステップＳ２５１：他の指示）、機器制御部２１３は、その他の処理を行う（ステップＳ２５５）。
【０２１６】
これにより、機器の遠隔処理及び関連する処理を終了する。
（６）機器５００に関する情報の取得の手順
機器５００に関する情報の取得の手順について、図２５に示すフローチャートを用いて説明する。なお、ここで説明する機器５００に関する情報の取得の手順は、図２４のステップＳ２５２の詳細である。
【０２１７】
機器制御部２１３は、機器５００に関する情報の取得の要求から、機器情報を抽出し、抽出した機器情報に対応する条件を、条件テーブル２７１から読み出す（ステップＳ３０１）。
次に、確認サーバ装置２００の現在の状態が、条件テーブル２７１から読み出された条件を満たすか否かを判断する（ステップＳ３０２）。
【０２１８】
確認サーバ装置２００の現在の状態が、読み出した条件を満たしていない場合（ステップＳ３０２：満たさない）、機器制御部２１３は、機器の状態を示す機器状態情報の取得ができない旨を示すメッセージを生成する（ステップＳ３０３）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３０４）。
【０２１９】
端末装置３００の機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、機器状態情報の取得ができない旨を示すメッセージを受信する（ステップＳ３０４）。次に、機器操作提示部９０７は、受信したメッセージを表示部３０９に対して出力する。表示部３０９は、メッセージを受け取り、受け取ったメッセージを表示する（ステップＳ３１０）。これにより、機器状態情報の取得の処理を終了する。
【０２２０】
確認サーバ装置２００の現在の状態が、読み出した条件を満たしている場合（ステップＳ３０２：満たす）、機器制御部２１３は、機器状態情報の取得の要求を、通信部２０２及びネットワーク２０を介して、機器５００に対して出力する（ステップＳ３０５）。
機器５００の機構制御部５０１は、確認サーバ装置２００から、ネットワーク２０、通信部５０２及び命令受信部５０６を介して、機器状態情報の取得の要求を受信する（ステップＳ３０５）。次に、機構制御部５０１は、機器状態情報の取得の要求から、取得の対象である機器に関する機器情報を抽出し、抽出した機器情報に対応する機器状態情報を機構５０８から取得する（ステップＳ３０６）。次に、機構制御部５０１は、取得した機器状態情報を、情報通知部５０７、通信部５０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ３０７）。
【０２２１】
確認サーバ装置２００の機器制御部２１３は、機器５００から、ネットワーク２０及び通信部２０２を介して、機器状態情報を受信する（ステップＳ３０７）。次に、受信した機器状態情報を含むメッセージを生成する（ステップＳ３０８）。次に、機器制御部２１３は、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３０９）。
【０２２２】
端末装置３００の機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、機器状態情報を含むメッセージを受信する（ステップＳ３０９）。次に、機器操作提示部９０７は、受信したメッセージを表示部３０９に対して出力する。表示部３０９は、メッセージを受け取り、受け取ったメッセージを表示する（ステップＳ３１０）。これにより、機器状態情報の取得の処理を終了する。
【０２２３】
（７）機器５００に対する遠隔操作に関連する処理の手順
機器５００に対する遠隔操作に関連する処理の手順について、図２６に示すフローチャートを用いて説明する。なお、ここで説明する機器５００に対する遠隔操作に関連する処理の手順は、図２４のステップＳ２５３の詳細である。
機器制御部２１３は、制御ルール管理テーブル２８１に含まれている全ての制御ルール情報について、ステップＳ３３２〜Ｓ３３８を繰り返す（ステップＳ３３１〜Ｓ３３９）。
【０２２４】
機器制御部２１３は、制御ルール管理テーブル２８１から一つの制御ルール情報を読み出す（ステップＳ３３２）。
次に、機器制御部２１３は、確認サーバ装置２００の現在の状態が、読み出した制御ルール情報に含まれる条件を満たすか否かを判断する（ステップＳ３３３）。
確認サーバ装置２００の現在の状態が、読み出した条件を満たしていない場合（ステップＳ３３３：満たさない）、機器制御部２１３は、読み出した制御ルール情報から、操作内容を抽出し、抽出した操作内容の取得ができない旨を示すメッセージを生成する（ステップＳ３３４）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３３５）。
【０２２５】
確認サーバ装置２００の現在の状態が、読み出した条件を満たしている場合（ステップＳ３３３：満たす）、機器制御部２１３は、読み出した制御ルール情報から、操作内容及び項目を抽出し（ステップＳ３３６）、抽出した操作内容及び項目を含むメッセージを生成する（ステップＳ３３７）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、機器５００に対して出力する（ステップＳ３３８）。
【０２２６】
端末装置３００の機器操作提示部９０７は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、前記メッセージを受信する（ステップＳ３３５、Ｓ３３８）。
次に、機器操作提示部９０７は、受信したメッセージを用いて、機器操作メニューを生成し、表示部３０９は、機器操作メニューを表示する（ステップＳ３４０）。
【０２２７】
入力部３１０は、端末装置３００の利用者から、機器５００に対する操作指示を受け付ける（ステップＳ３４１）。制御部３０１は、操作指示を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する。確認サーバ装置２００の機器制御部２１３は、操作指示を、通信部２０２及びネットワーク２０を介して、機器５００に対して送信する（ステップＳ３４２）。
【０２２８】
機器５００の機構制御部５０１は、確認サーバ装置２００から、ネットワーク２０、通信部５０２及び命令受信部５０６を介して、操作指示に含まれる遠隔操作命令を受け取る（ステップＳ３４２）。次に、機構制御部５０１は、受け取った操作指示に含まれる遠隔操作命令に従って、機構５０８を制御する。機構５０８は、操作指示に含まれる遠隔操作命令に従って動作する（ステップＳ３４３）。
【０２２９】
以上により、機器５００に対する遠隔操作に関連する動作を終了する。
（８）機器制御ルールの修正処理の手順
機器制御ルールの修正処理の手順について、図２７に示すフローチャートを用いて説明する。なお、ここで説明する機器制御ルールの修正処理の手順は、図２４のステップＳ２５４の詳細である。
【０２３０】
機器制御部２１３は、端末装置３００の利用者により、ログインが正常にされているか否かを判断する（ステップＳ３６１）。
ログインが正常にされていない場合（ステップＳ３６１：異常）、機器制御部２１３は、ログインが正常にされていないことを示すメッセージを生成する（ステップＳ３６３）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３６４）。制御部３０１は、ログインが正常にされていないことを示すメッセージを表示部３０９に対して出力する。表示部３０９は、当該メッセージを表示する（ステップＳ３６５）。これにより、機器制御ルールの修正処理を終了する。
【０２３１】
ログインが正常にされている場合（ステップＳ３６１：正常）、機器制御部２１３は、機器制御部２１３は、固有識別子が取得されているか否かを判断する（ステップＳ３６２）。固有識別子が取得されていない場合（ステップＳ３６２：無し）、機器制御部２１３は、固有識別子が取得されていないことを示すメッセージを生成する（ステップＳ３６３）。次に、生成したメッセージを、通信部２０２及びネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３６４）。制御部３０１は、固有識別子が取得されていないことを示すメッセージを表示部３０９に対して出力する。表示部３０９は、当該メッセージを表示する（ステップＳ３６５）。これにより、機器制御ルールの修正処理を終了する。
【０２３２】
固有識別子が取得されている場合（ステップＳ３６２：有り）、機器制御部２１３は、機器情報格納部２１２から、制御ルール管理テーブル２８１を読み出す（ステップＳ３７１）。次に、読み出した制御ルール管理テーブルを、通信部２０２、ネットワーク２０を介して、端末装置３００に対して送信する（ステップＳ３７２）。
端末装置３００の機器制御ルール提示部９０６は、確認サーバ装置２００から、ネットワーク２０及び通信部３０２を介して、制御ルール管理テーブルを受信する（ステップＳ３７２）。
【０２３３】
次に、機器制御ルール提示部９０６は、受信した制御ルール管理テーブルを用いて、制御ルール変更画面３６１を生成する（ステップＳ３７３）。表示部３０９は、制御ルール変更画面３６１を表示する（ステップＳ３７４）。
次に、入力部３１０は、制御ルールの変更操作を受け付ける。機器制御ルール取得部９０９は、制御ルールの変更操作を受け取る（ステップＳ３７５）。次に、機器制御ルール取得部９０９は、制御ルールの変更操作を、通信部３０２及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ３７６）。
【０２３４】
機器情報管理部２１７は、端末装置３００から、ネットワーク２０及び通信部２０２を介して、制御ルールの変更操作を受信する（ステップＳ３７６）。次に、機器情報管理部２１７は、受信した変更操作を用いて、機器情報格納部２１２に保持されている制御ルール管理テーブル２８１を変更する（ステップＳ３７７）。
以上により、機器制御ルールの修正処理を終了する。
【０２３５】
（９）相互認証及び鍵共有の手順
確認サーバ装置２００とメモリカード４００との間の相互認証及び鍵共有の手順について、図２８〜図２９に示すシーケンス図を用いて説明する。
乱数生成部Ａ１０は、乱数Ｒ１を生成する（ステップＳ４０１）。次に、生成した乱数Ｒ１を、ネットワーク２０及び端末装置３００を介して、メモリカード４００に送信する（ステップＳ４０２）。
【０２３６】
暗号化部Ｂ１１は、確認サーバ装置２００から乱数Ｒ１を受信する（ステップＳ４０２）。次に、システム鍵Ｋｓｃを用いて、暗号化アルゴリズムＥ３により、乱数Ｒ１を暗号化して、暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を生成する（ステップＳ４０３）。次に、生成した暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を、端末装置３００及びネットワーク２０を介して、確認サーバ装置２００に対して送信する（ステップＳ４０４）。
【０２３７】
復号部Ａ１３は、メモリカード４００から、暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を受け取る（ステップＳ４０４）。次に、システム鍵Ｋｓｃを用いて、復号アルゴリズムＤ３により、受け取った暗号化乱数Ｅ３（Ｋｓｃ、Ｒ１）を復号して復号文Ｒ１’＝Ｄ３（Ｋｓｃ、Ｅ３（Ｋｓｃ、Ｒ１））を生成する（ステップＳ４０５）。
乱数比較部Ａ１２は、乱数Ｒ１と復号文Ｒ１’とを比較する（ステップＳ４０６）。乱数Ｒ１と復号文Ｒ１’とが一致しない場合に（ステップＳ４０６：不一致）、相互認証部２０３は、メモリカード４００が不正であると判断する。相互認証部２０３は、その旨を示すメッセージを生成し（ステップＳ４０７）、生成したメッセージを端末装置３００に対して送信する（ステップＳ４０８）。端末装置３００は、メッセージを受信し（ステップＳ４０８）、表示部３０９は、メッセージを表示する（ステップＳ４０９）。これにより、相互認証の処理を終了する。
【０２３８】
次に、乱数生成部Ｂ１０は、乱数Ｒ２を生成する（ステップＳ４１０）。次に、生成した乱数Ｒ２を確認サーバ装置２００に送信する（ステップＳ４１１）。
一方、乱数Ｒ１と復号文Ｒ１’とが一致する場合に（ステップＳ４０６：一致）、相互認証部２０３は、相手の装置が正当であると判断する。暗号化部Ａ１４は、相手の装置から乱数Ｒ２を受け取る（ステップＳ４１１）。システム鍵Ｋｓｃを用いて、暗号化アルゴリズムＥ４により、乱数Ｒ２を暗号化して、暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を生成し（ステップＳ４１２）、生成した暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）をメモリカード４００へ送信する（ステップＳ４１３）。
【０２３９】
復号部Ｂ１３は、確認サーバ装置２００から、暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を受け取る（ステップＳ４１３）。次に、システム鍵Ｋｓｃを用いて、復号アルゴリズムＤ４により、受け取った暗号化乱数Ｅ４（Ｋｓｃ、Ｒ２）を復号して復号文Ｒ２’＝Ｄ４（Ｋｓｃ、Ｅ４（Ｋｓｃ、Ｒ２））を生成する（ステップＳ４１４）。
乱数比較部Ｂ１４は、乱数Ｒ２と復号文Ｒ２’とを比較する（ステップＳ４１５）。乱数Ｒ２と復号文Ｒ２’とが一致しない場合に（ステップＳ４１５：不一致）、相互認証部４０３は、その旨を示すメッセージを生成する（ステップＳ４１６）。次に、生成したメッセージを端末装置３００に対して送信する（ステップＳ４１７）。端末装置３００は、メッセージを受信し（ステップＳ４１７）、表示部３０９は、メッセージを表示する（ステップＳ４１８）。これにより、相互認証の処理を終了する。
【０２４０】
一方、乱数Ｒ２と復号文Ｒ２’とが一致する場合に（ステップＳ４１５：一致）、相互認証部４０３は、相手の装置が正当であると判断する。
認証に成功した場合に（ステップＳ４０６：一致）、鍵共有部Ａ１５は、スカラー値であるｘＡを設定する（ステップＳ４３１）。次に、楕円曲線上の点ＹＡ＝ｘＡ＊Ｇを算出する（ステップＳ４３２）。ここで、Ｇは、楕円曲線上の点である。また、ａ＊Ｂは、楕円曲線上の乗算を示す。次に、鍵共有部Ａ１５は、楕円曲線上の点ＹＡをメモリカード４００に対して送信する（ステップＳ４３３）。
【０２４１】
認証に成功した場合には（ステップＳ４１５：一致）、鍵共有部Ｂ１５は、スカラー値であるｘＢを設定する（ステップＳ４３４）。次に、楕円曲線上の点ＹＢ＝ｘＢ＊Ｇを算出する（ステップＳ４３５）。次に、鍵共有部Ｂ１５は、楕円曲線上の点ＹＢを確認サーバ装置２００に対して送信する（ステップＳ４３６）。
鍵共有部Ａ１５は、スカラー値である共有鍵ｋ＝ｘＡ＊ＹＢを算出する（ステップＳ４３７）。
【０２４２】
また、鍵共有部Ｂ１５は、スカラー値である共有鍵ｋ’＝ｘＢ＊ＹＡを算出する（ステップＳ４３８）。  これにより、相互認証及び鍵共有の処理を終了する。
ここで、共有鍵ｋ＝ｘＡ＊ＹＢ
＝ｘＡ×（ｘＢ＊Ｇ）
＝ｘＢ×（ｘＡ＊Ｇ）
＝ｘＢ＊ＹＡ
＝共有鍵ｋ’である。
【０２４３】
なお、確認サーバ装置２００と配信サーバ装置１００との間の相互認証及び鍵共有、確認サーバ装置２００と端末装置３００との間の相互認証及び鍵共有、並びに、配信サーバ装置１００と端末装置３００との間の相互認証及び鍵共有についても、上記と同様であるので、説明を省略する。
＜２．実施の形態２＞
＜２．１  概要＞
本実施の形態の遠隔操作システム１１は、実施の形態１の遠隔操作システム１０にメール装置６００が追加された構成である。
【０２４４】
本実施の形態の確認サーバ装置１２００は、端末装置３００で実行中の制御プログラム１３３１が正当でないと判断した場合に、メール装置６００にその旨の通知を行う点で実施の形態１の確認サーバ装置２００と異なる。
メール装置６００は、正当な利用者が予め確認サーバ装置１２００に登録しているメールアドレス宛てに送信されたメールを受信する装置である。具体的には、例えば、利用者が所有するスマートフォンやタブレット型の携帯端末、携帯電話及びパソコン等である。
【０２４５】
端末装置３００で実行中の制御プログラムが正当でない旨の通知を受け取ると、利用者操作に従って、制御プログラムの実行を停止したり、確認サーバ装置１２００に記憶しているメモリカードの固有ＩＤの情報を無効にする指示をしたりする。
これにより、正当な利用者は、他の端末装置等を用いて制御プログラムが不正に実行された場合にでも、その実行を抑制することができる。
【０２４６】
以下、本実施の形態の遠隔操作システム１１について説明する。なお、説明の便宜上、実施の形態１の遠隔操作システム１０と同様の構成については、同じ符号を用いる。また、実施の形態１と同様の構成については、既に説明したので、ここでは説明を省略し異なる点を重点的に説明する。
＜２．２  構成＞
（確認サーバ装置１２００）
図３２は、確認サーバ装置１２００の主要部の機能ブロック図である。
【０２４７】
確認サーバ装置１２００は、確認サーバ装置２００の構成要素に、ＵＩ（User Interface）制御部２１１、トークン確認部２１９、メール送信部２２０、及びメール操作受信部２２１が追加された構成である。
ＵＩ制御部２１１は、メールの送信先のメール装置６００からの操作指示を受け付けるためのＵＩ、及び端末装置３００からの操作指示を受け付けるためのＵＩを生成する機能を有する。
【０２４８】
トークン確認部２１９は、通信部２０２を介して受信する、端末装置３００のトークン確認部９１２によって出力されたメモリカード４００が装着されているか否かを示す情報に基づいて、端末装置３００にメモリカード４００が装着されているか否かを判定する機能を有する。
また、メモリカード４００が装着されていないと判定した場合に、メール送信部２２０に対して、アカウント生成管理部２０９で管理するアカウント管理テーブル１２６１（詳細は後述）に登録されているメールアドレスにその旨を示すメールを送信させる指示を行う機能を有する。更に、メールの送信先のメール装置６００からの操作指示を受け付けるためのＵＩを、メール装置６００の表示部６２０に提示させる指示をＵＩ制御部２１１に対して行う機能を有する。
【０２４９】
なお、本実施の形態におけるトークンとは、利用者を識別するために用いられる装置であり、具体的には固有識別子を記憶するメモリカードを意味する。
メール送信部２２０は、トークン確認部２１９の指示に従って、通信部２０２を介して、メール装置６００にメールを送信する機能を有する。なお、送信するメールには、ＵＩ制御部２１１が生成した、利用者からの操作指示を受け付けるためのＵＩへのアクセス先であるＵＲＬ（Uniform Resource Locator）の情報が含まれる。
【０２５０】
メール操作受信部２２１は、メール送信部２２０が送信したメールの内容に従って、メール装置６００を操作した利用者の指示を、通信部２０２を介して受信する機能を有する。そして、受信した利用者の指示をアカウント生成管理部２０９に出力する機能を有する。
なお、上述した、トークン確認部２１９、メール送信部２２０、及びメール操作受信部２２１のそれぞれの機能は、確認サーバ装置１２００が有するＣＰＵがそれぞれの機能を実現するためのプログラムを実行することによって実現される。
（メール装置６００）
図３３は、メール装置６００の主要部の機能ブロック図である。
【０２５１】
メール装置６００は、制御部６０１、メール受信部６１０、表示部６２０、操作入力部６３０、操作通知部６４０、通信部６５０を含む構成である。
制御部６０１は、メール受信部６１０、表示部６２０、操作入力部６３０、操作通知部６４０、通信部６５０の機能を制御する機能を有する。
メール受信部６１０は、確認サーバ装置１２００のメール送信部２２０が送信したメールを、通信部６５０を介して受信し、受信したメールの内容を表示部６２０に出力する機能を有する。
【０２５２】
表示部６２０は、例えば、ＬＣＤ（Liquid Crystal Display）等のディスプレイを含む構成であり、メール受信部６１０が出力したメールの内容をディスプレイに表示する機能を有する。また、確認サーバ装置１２００のＵＩ制御部２１１が生成したＵＩをディスプレイに表示する機能を有する。
操作入力部６３０は、例えば、タッチパッドやキーボードを含む構成であり、表示部６２０のディスプレイに表示されたＵＩに対する利用者の入力操作を受け付ける機能を有する。
【０２５３】
操作通知部６４０は、操作入力部６３０で受け付けた利用者の入力操作を示す情報を、通信部６５０を介して、確認サーバ装置１２００のメール操作受信部２２１に出力する機能を有する。
通信部６５０は、通信用ＬＳＩ（Large Scale Integration）を含む構成であり、操作通知部６４０から出力された、利用者の入力操作を示す情報をネットワークに送信する機能を有する。また、確認サーバ装置１２００から送信されたメールを、ネットワークを介して受け取り、メール受信部６１０に出力する機能を有する。また、ＵＲＬの情報を、ネットワークを介して送信したり、送信したＵＲＬの情報を受信したりする機能を有する。
【０２５４】
なお、上述した、制御部６０１、メール受信部６１０、表示部６２０、操作入力部６３０、及び操作通知部６４０のそれぞれの機能は、メール装置６００が有するＣＰＵがそれぞれの機能を実現するためのプログラムを実行することによって実現される。
（端末装置３００）
図３４は、端末装置３００及び制御プログラム１３３１の主要部の機能ブロック図である。
【０２５５】
本実施の形態の端末装置３００の構成は、実施の形態１の端末装置３００と同じであるが、プログラム実行部３０６が実行する制御プログラムが異なる。
本実施の形態の端末装置３００のプログラム実行部３０６が実行する制御プログラム１３３１は、実施の形態１の端末装置３００のプログラム実行部３０６が実行する制御プログラム３３１の構成に、トークン確認部９１２が追加された構成である。
【０２５６】
トークン確認部９１２は、制御プログラム１３３１の実行中に、一定の時間（例えば、２５０ミリ秒）間隔で繰り返しメモリカード４００が装着されているかを確認する機能を有する。そして、メモリカード４００が装着されていないと判断した場合に、その旨を固有識別子取得処理部９０２と通信部３０２を介して、確認サーバ装置１２００のトークン確認部２１９に出力する機能を有する。
【０２５７】
＜２．３  データ構造＞
（アカウント管理テーブル１２６１）
図３５は、アカウント管理テーブル１２６１のデータ構造とそのデータの一例を示す図である。
アカウント管理テーブル１２６１は、アカウント管理テーブル２６１のアカウント情報の項目にＥメールアドレスの項目を追加した構成である。
【０２５８】
同図のアカウント情報１２６２で示すアカウント情報の一例は、アカウント管理テーブル２６１のアカウント情報２６２で示すアカウント情報の一例に相当する。また、利用者識別子１２６３、パスワード１２６４、時変パラメータ１２６５、固有識別子１２６６は、それぞれ、利用者識別子２６３、パスワード２６４、時変パラメータ２６５、固有識別子２６６に相当する。そして、同図の例では、利用者識別子１２６３の値が「ＳＡＴＯ」で示されるアカウント情報１２６２に対応付けられているＥメールアドレス１２６７の値は、「sato@example1.com」であることが示されている。
【０２５９】
すなわち、利用者識別子１２６３の値が「ＳＡＴＯ」である利用者に対しては、sato@example1.comにメールが送信される。
＜２．４  動作＞
＜２．４．１  端末装置３００のトークン確認処理＞
図３６に、トークン確認処理のフローチャートを示す。
【０２６０】
このトークン確認処理は、制御プログラム１３３１が、端末装置３００のプログラム実行部３０６で実行されている間に、トークン確認部９１２が行う処理である。
なお、トークン確認処理は、制御プログラム１３３１の実行中に、一定時間（例えば、２５０ミリ秒）間隔で割り込み処理される。
トークン確認部９１２は、入出力部３０８にメモリカード４００が装着されているか否かを確認する（ステップＳ５００）。具体的には、入出力部３０８の挿入孔に物理的にメモリカード４００が挿入されていればＯＮ、挿入されていなければＯＦＦとなるようなメカニカルなスイッチを備え、そのスイッチのＯＮ、ＯＦＦを調べることによってメモリカード４００が装着されているか否かを判定する。
【０２６１】
メモリカード４００が装着されていると判定した場合（ステップＳ５００：Ｙｅｓ）、次の割り込み処理を行う時間まで待つ。
一方、メモリカード４００が装着されていないと判定した場合（ステップＳ５００：Ｎｏ）、トークン確認部９１２は、通信部３０２を介して、メモリカード４００が装着されていないことを示す情報を確認サーバ装置１２００のトークン確認部２１９に送信する（ステップＳ５０１）。
【０２６２】
そして、トークン確認部２１９は、制御プログラム１３３１を待機状態にすることによって、プログラム実行部３０６に制御プログラム１３３１の実行を一時停止させる（ステップＳ５０２）。
次に、トークン確認部９１２は、確認サーバ装置１２００から操作情報を受信する（ステップＳ５０３）。操作情報は、利用者がメール装置６００から確認サーバ装置１２００に対する操作指示を示す情報である。なお、利用者がメール装置６００で行う操作指示については後述する。
【０２６３】
受信した操作情報が確認サーバ装置１２００への正常なログインを示す情報である場合（ステップＳ５０４：正常）、トークン確認部９１２は、プログラム実行部３０６に、一時停止した制御プログラム１３３１の実行を再開させる（ステップＳ５０５）。
受信した操作情報が確認サーバ装置１２００への異常なログイン（ログインの失敗）を示す情報である場合（ステップＳ５０４：異常）、トークン確認部９１２は、
プログラム実行部３０６に制御プログラム１３３１の実行を終了させる（ステップＳ５０６）。
【０２６４】
トークン確認部９１２は、受信した操作情報がログインに関する情報でない場合（ステップＳ５０４：ログイン操作なし）、受信した操作情報が、制御プログラム１３３１の終了指示か否かを判定する（ステップＳ５０７）。
トークン確認部９１２は、受信した操作情報が制御プログラム１３３１の終了指示である場合（ステップＳ５０７）は、ステップＳ５０４でログインが異常である場合と同様にステップＳ５０６の処理を行う。
【０２６５】
一方、ステップＳ５０７がＮｏの場合には、ステップＳ５０３に戻り、確認サーバ装置１２００からの操作情報の受信を待つ。
＜２．４．２  確認サーバ装置１２００が行うトークン確認処理＞
図３７に、確認サーバ装置１２００が行うトークン確認処理のフローチャートを示す。
トークン確認部２１９は、端末装置３００のトークン確認部９１２からメモリカード４００が装着されていないことを示す情報を受信したか否かを判定する（ステップＳ５２０）。受信しない場合（ステップＳ５２０：Ｎｏ）、受信するまで処理を待つ。
【０２６６】
一方、メモリカード４００が装着されていないことを示す情報を受信した場合（ステップＳ５２０：Ｙｅｓ）、メール送信部２２０は、メモリカード４００が装着されていない旨と、ＵＩ制御部２１１が生成したＵＲＬの情報とを含むＥメールを作成する。なお、ＵＩ制御部２１１が生成したＵＲＬは、利用者からの操作指示を受け付けるためのＵＩへのアクセス先を示すＵＲＬである。そして、メール送信部２２０は、アカウント生成管理部２０９が管理するアカウント管理テーブル１２６１で示されるＥメールアドレス宛てに、作成したＥメールを送信する（ステップＳ５２１）。なお、利用者は、ここで送られたＥメールをメール装置６００で受信するものとする。
【０２６７】
なお、利用者がこのＵＲＬにアクセスして行う操作指示については、後述する「メール装置６００が行う操作指示の処理」で説明する。
次に、メール操作受信部２２１は、メール装置６００から操作指示があるまで処理を待つ（ステップＳ５２２：Ｎｏ）。そして、メール装置６００から操作指示があった場合（ステップＳ５２２：Ｙｅｓ）には、どのような操作指示であるかを判定する（ステップＳ５２３）。
【０２６８】
具体的には、操作指示が、確認サーバ装置１２００へのログイン、固有識別子の無効化及び制御プログラム１３３１の終了のうちのいずれの操作指示であるかを判定する。
メール装置６００から受信した操作指示が、確認サーバ装置１２００へのログインである場合（ステップＳ５２３：ログイン）、確認サーバ装置１２００のアカウント生成管理部２０９は、利用者が入力したユーザＩＤとパスワードとが正当なものか否かをアカウント管理テーブル１２６１に記憶している情報と比較して判定することによってログイン認証を行う（ステップＳ５２４）。ログイン認証が正常に行われた場合（ステップＳ５２４：正常）、アカウント生成管理部２０９は、通信部２０２を介して、端末装置３００にログインが正常である旨を送信し（ステップＳ５２５）、遠隔操作のための処理を継続する（ステップＳ５２６）。
【０２６９】
一方、ログイン認証に失敗した場合（ステップＳ５２４：異常）、アカウント生成管理部２０９は、通信部２０２を介して、端末装置３００にログインが異常である旨を送信し（ステップＳ５２７）、機器制御部２１３は、端末装置３００から機器５００の遠隔操作の指示が送信されても、機器５００への遠隔操作の指示を行わないよう抑制制御する（ステップＳ５３１）。
【０２７０】
メール装置６００から受信した操作指示が、固有識別子の無効化である場合（ステップＳ５２３：固有識別子の無効化指示）、アカウント生成管理部２０９は、アカウント管理テーブル１２６１において、該当する利用者を示す利用者識別子１２６３に対応付けて記憶している固有識別子１２６６の情報を削除する（ステップＳ５２８）。具体的には、例えば、利用者識別子１２６３の値がＳＡＴＯである場合には、固有識別子１２６６で示される「８ＤＡ４」を削除し、固有識別子１２６６の値として「−１」を書き込む。なお、本実施の形態では、固有識別子１２６６の値が「−１」である場合には、固有識別子が登録されていない状態であることを意味するものとする。
【０２７１】
更に、アカウント生成管理部２０９は、削除した固有識別子をリボークリストに登録する（ステップＳ５２９）。なお、リボークリストとは、不正な固有識別子を記憶するためのリストであり、このリストに登録されている固有識別子を持つメモリカードが装着された端末装置から遠隔操作の指示があった場合には、不正な端末装置からの指示と判断して、遠隔操作の指示を行わないよう抑制制御するために用いられる。
【０２７２】
そして、ログインが異常である場合と同様に、機器制御部２１３は、ステップＳ５３１の処理を行う。
メール装置６００から受信した操作指示が、制御プログラム１３３１の終了である場合（ステップＳ５２３：制御プログラムの終了指示）、アカウント生成管理部２０９は、通信部２０２を介して、端末装置３００に、実行中の制御プログラム１３３１の終了指示を送信する（ステップＳ５３０）。
【０２７３】
そして、ログインが異常である場合と同様に、機器制御部２１３は、ステップＳ５３１の処理を行う。
＜２．４．３  メール装置６００が行う操作指示の処理＞
図３８に、メール装置６００が行う操作指示の処理のフローチャートを示す。
この処理はメール装置６００が、端末装置３００にメモリカードが装着されていない旨のメールを確認サーバ装置１２００から受信した場合に行われる処理である。
【０２７４】
まず、メール装置６００のメール受信部６１０は、確認サーバ装置１２００が図３７のステップＳ５２１で送信したメールの受信を待つ（ステップＳ５４０：Ｎｏ）。
メール受信部６１０が確認サーバ装置１２００からのメールを受信した場合（ステップＳ５４０：Ｙｅｓ）、表示部６２０は、利用者の操作に従って、受信したメールの内容を表示部６２０のディスプレイに表示する。そして、制御部６０１は、利用者が受信したメールに記載されている操作指示のＵＲＬにアクセスする操作を行った場合に、そのＵＲＬにアクセスし、表示部６２０は、そのＵＲＬが示す操作指示のＵＩを表示する（ステップＳ５４１）。
【０２７５】
図３９は、表示部６２０のディスプレイに表示される操作指示のＵＩの一例である。操作指示のＵＩは、例えば、ＨＴＭＬ（HyperText Markup Language）を用いて作成されている。メール装置６００が有するインターネットブラウザを用いて、受信したメールで指定されたＵＲＬにアクセスした場合に表示される。利用者はこのＵＩに対して入力を行うことで操作指示を行う。図３９のＵＩ３６００の例では、確認サーバ装置１２００へのログイン、トークンのＩＤの無効化、及び実行中の制御プログラムの終了のいずれかの操作指示を行うことができる。また、ＵＩ３６００の表示領域３６０１には、端末装置３００に正常なメモリカードが装着されていない旨を示すメッセージが表示される。
【０２７６】
次に、制御部６０１は、操作入力部６３０に利用者の操作指示の入力があるか否かを判定する（ステップＳ５４２）。具体的には、利用者の操作指示が、確認サーバ装置１２００へのログイン、固有識別子の無効化及び制御プログラムの終了のうちのいずれの操作指示であるかを判定する。
利用者は、確認サーバ装置１２００へのログインを行う場合には、ユーザＩＤの入力欄３６０２に自己のユーザＩＤを入力し、パスワードの入力欄３６０３にパスワードを入力し、ログインボタン３６０４をタッチすることによって、ログインの操作指示を行う。
【０２７７】
トークンのＩＤを無効化する操作指示の場合には、「トークンのＩＤを無効化」と示されているボタン３６０５にタッチする。
端末装置３００で実行中の制御プログラム１３３１を終了する操作指示を行う場合には、「実行中のアプリを終了する」と示されているボタン３６０６にタッチする。
制御部６０１は、具体的には、例えば、図３９のＵＩ３６００において、利用者によって、ログインボタン３６０４がタッチされた場合には、ログインであると判断し、ボタン３６０５がタッチされた場合は、固有識別子の無効化であると判断し、ボタン３６０６がタッチされた場合には、制御プログラム１３３１の終了であると判定する。
【０２７８】
操作通知部６４０は、制御部６０１が利用者の操作指示が、ログインであると判定した場合（ステップＳ５４３：ログイン）、操作入力部６３０が受け付けたユーザＩＤとパスワードとを、通信部６５０を介して、確認サーバ装置１２００に送信する（ステップＳ５４４）。
制御部６０１が、利用者の操作指示が固有識別子の無効化であると判定した場合（ステップＳ５４３：固有識別子の無効化指示）、操作通知部６４０は、固有識別子の無効化の操作指示を、通信部６５０を介して、確認サーバ装置１２００に送信する（ステップＳ５４５）。
【０２７９】
また、制御部６０１が、利用者の操作指示が制御プログラム１３３１の終了であると判定した場合（ステップＳ５４３：制御プログラムの終了指示）、操作通知部６４０は、制御プログラム１３３１の終了の操作指示を、通信部６５０を介して、確認サーバ装置１２００に送信する（ステップＳ５４６）。
＜２．５  まとめ＞
以上のように、本実施の形態の遠隔操作システム１１では、不正なメモリカードを使用したり、メモリカードを端末装置に装着せずに使用したりした場合に、不正な操作が行われていると判断して、正当な利用者が予め登録しているメールアドレスに、その旨を通知する。そして、正当な利用者は、通知された内容に基づいて、自身の持つメール装置を用いて、不正に使用されているメモリカードの固有識別子の情報を無効化したり、遠隔操作のためのプログラムの実行を停止したりすることができる。
＜３．変形例＞
以上、本発明に係る遠隔操作システムについて、実施の形態に基づいて説明したが、以下のように変形することも可能であり、本発明は上述した実施の形態で示した通りの遠隔操作システムに限られないことは勿論である。
（１）上記の各実施の形態において、メモリカードは、一例としてＳＤカードである。しかし、ＳＤカードには、限定されない。固有識別子を記憶することができれば、ＳＤカード以外の可搬媒体、ハードディスクデバイス、内蔵メモリデバイスなどであるとしてもよい。
【０２８０】
また、メモリカード及び可搬媒体は、端末装置３００の挿入孔に挿入するタイプのものでなくてもよい。例えば、端末装置３００の近傍に置くことで、端末装置３００との間で短距離無線通信などの非接触型の通信を行うタイプのものであってもよい。この場合、メモリカードが装着されているか否かを判定を、挿入孔に挿入されているか否かで判定するのではなく、通信が正常に行われているか否かで判定すればよい。
【０２８１】
また、メモリカード及び可搬媒体に代えて、固有識別子を記憶している携帯端末装置であるとしてもよい。
更に、実施の形態２では、トークンは、メモリカードであるとしたが、トークンは、メモリカードに限らない。上述の固有識別子を記憶している装置や記録媒体であってもよいし、固有識別子を発生させる装置、例えば、ワンタイムパスワード生成装置等であってもよい。
（２）実施の形態２では、メモリカード４００が装着されているか否かの判定を、メカニカルなスイッチを用いて行う例で説明したが、メモリカード４００の装着の判定はこれに限らない。メモリカード４００と端末装置３００とが接続していることが判定できればよい。例えば、固有識別子取得処理部２１９が固有識別子の読取要求を行い、メモリカード４００から正常に固有識別子が得られれば、メモリカード４００が装着されていると判定し、そうでなければ、メモリカード４００が装着されていないと判定してもよい。
【０２８２】
このように、トークン確認部２１９において、端末装置３００にメモリカード４００が装着されていないとの判断を行う場合には、端末装置３００にメモリカード４００が物理的に装着されていない場合だけでなく、端末装置３００がメモリカード４００から固有識別子を読み取れなかった場合を含めてもよい。
（３）実施の形態２では、メール装置６００と端末装置３００とが、異なる装置である例で説明したが、メール装置６００の機能を端末装置３００が備えており、メール装置６００は端末装置３００と同じ装置であってもよい。
【０２８３】
この場合、正当な利用者が端末装置３００を用いて遠隔操作を行おうとした場合に、遠隔操作に使用する端末装置３００に不正であることを報知するメールが届くことになる。このため、正当な利用者の気が付かないうちにメモリカードがすり替えられていたり、抜き取られていたりした場合であっても、正当な利用者は、メモリカードや制御プログラムが正常でないことに気づくことができ、該当するメモリカードの固有識別子の情報を無効化したり、制御プログラムの実行を中止することができる。
（４）実施の形態２では、正当なメモリカードが使用されていないと判断したときに、利用者がメール装置６００を用いて操作指示を行うためのＵＩとして、図３９で例示した再度のログインを促すＵＩ３６００の例で説明したが、ＵＩはこれに限らない。実行中の制御プログラムによる操作を抑制する指示ができればよい。例えば、図４０のＵＩ３７００のようなＵＩであってもよい。
【０２８４】
ＵＩ３７００は、メッセージ表示領域３７０１、ボタン３７０２及びボタン３７０３とを含む構成である。
メッセージ表示領域３７０１には、不正であることを検知した場合に、利用者に告知する内容が表示される。図４０では、「トークンが端末装置から抜き取られました」と表示する例を示している。これにより、利用者は、メモリカードが端末装置に装着されていないことを知ることがでる。
【０２８５】
ボタン３７０２は、図３９のボタン３６０５と同じ処理を行うためのボタンである。
ボタン３７０３は、図３９のボタン３６０６と同じ処理を行うためのボタンである。
利用者は、このＵＩ３７００で提示されたボタンを押すだけで、迅速に制御プログラムの実行を抑制することができる。
（５）上記の各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクデバイスなどから構成されるコンピュータシステムであるとしてもよい。前記ＲＡＭ又はハードディスクデバイスには、図１７〜図２９、図３６〜３８に示す各処理を各装置のマイクロプロセッサに実行させるためのコンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
（６）上記の各装置を構成する構成要素の一部又は全部は、１個のシステムＬＳＩ（Large Scale Integration：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩである。システムＬＳＩは、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。前記ＲＡＭには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、システムＬＳＩは、その機能を達成する。
【０２８６】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていてもよいし、一部又は全てを含むように１チップ化されてもよい。
また、上記の各装置を構成する構成要素の一部又は全部は、システムＬＳＩであるとしているが、システムＬＳＩとは集積度の異なるＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩ等により実現されるとしてもよい。
【０２８７】
また、集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサにより実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
更には、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。
（７）上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしてもよい。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。前記ＩＣカード又は前記モジュールは、耐タンパ性を有するとしてもよい。
（８）また、前記コンピュータプログラムは、コンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）（登録商標）、半導体メモリなどに記録されているとしてもよい。
【０２８８】
また、前記コンピュータプログラムは、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送されるとしてもよい。
また、前記コンピュータプログラムを前記記録媒体に記録して移送することにより、又は、前記コンピュータプログラムを、前記ネットワーク等を経由して移送することにより、前記コンピュータプログラムを独立した他のコンピュータシステムにより実行するとしてもよい。
（９）上記実施の形態及び上記変形例をそれぞれ適宜組み合わせるとしてもよい。
＜４．補足＞
以下、更に本発明の一実施形態としての確認方法の構成及びその変形例と効果について説明する。
【０２８９】
（１）本発明に係る確認方法は、端末装置で実行され、サーバ装置を介して機器を遠隔制御するための制御プログラムが正当であるか否かを確認するための確認方法であって、前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得ステップと、前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得ステップと、前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成ステップと、前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信ステップと、前記サーバ装置が前記検証データを受け付ける毎に、前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成ステップと、前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定ステップと、前記判定ステップで否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御ステップとを含む。
【０２９０】
この構成の確認方法では、利用者に割り当てられた固有識別子と、利用者が利用する制御プログラムに割り当てたパラメータと、制御プログラムのデータとに基づいて端末装置で生成された検証データを、サーバ装置で生成した比較データと、制御プログラムの実行中に繰り返し比較することによって実行中の制御プログラムの正当性を判定し、正当でないと判断された場合には、制御プログラムによる遠隔制御を抑制することができる。
【０２９１】
（２）ここで、前記端末装置は、実行用メモリを備え、前記制御プログラムを実行する際には、当該制御プログラムは、前記実行用メモリにロードされ、前記生成ステップは、前記部分データとして、前記実行用メモリにロードされた前記制御プログラムの少なくとも一部である部分データを用いる、としてもよい。
この構成の確認方法では、端末装置の実行メモリにある制御プログラムのデータの少なくとも一部である部分データを用いて検証データを生成することができるので、ＲＯＭ（Read Only Memory）、ハードディスクデバイス、ＳＳＤ（Solid State Drive）などの記憶装置に記憶されている制御プログラムではなく、現実に実行している制御プログラムの正当性を確認することができる。
【０２９２】
（３）ここで、前記生成ステップは、検証データを生成する毎に、前回検証データを生成した際に用いた部分データとは異なる部分データを用いて、当該検証データを生成する、としてもよい。
この構成の確認方法では、生成ステップは、実行中の制御プログラムにおいて、前回生成した際に用いた部分データと異なる部分データを用いて検証データを生成するので、改ざんされにくい検証データを生成することができる。
【０２９３】
（４）ここで、前記パラメータは、乱数であり、前記生成ステップは、前記乱数と、前記固有識別子と、前記部分データとを用いて予め定められた一方向性関数を用いて演算を行うことにより前記検証データを生成し、前記比較データ生成ステップは、前記一方向性関数と同じ関数を用いて演算を行うことによって前記比較データを生成する、としてもよい。
【０２９４】
この構成の確認方法では、検証データを生成する際のパラメータとしてサーバ装置が生成した乱数を用い、検証データ及び比較データの生成の際には、同じ一方向性関数を用いて演算する。従って、検証データと比較データとの照合を容易に行うことができる。
（５）ここで、前記制御プログラムは、前記端末装置が配信サーバ装置から取得した制御プログラムであり、前記サーバ装置に記憶されている制御プログラムは、前記端末装置が前記配信サーバ装置から取得した制御プログラムと同一の制御プログラムであり、前記比較データ生成ステップは、前記サーバ装置に記憶されている前記制御プログラムにおいて前記部分データに相当する部分データを用いて比較データを生成する、としてもよい。
【０２９５】
この構成の確認方法は、サーバ装置が記憶している正当な制御プログラムのデータを用いて比較データを生成する。
従って、信頼性のある比較データを生成することができ、利用者の実行している制御プログラムの正当性を容易に判断することができる。
（６）ここで、更に、前記判定ステップで否定的な判定を行った場合に、前記制御プログラムが正当でないことを示す情報の通知を行う通知ステップを含む、としてもよい。
【０２９６】
従って、正当な利用者は、実行中の制御プログラムが改ざんされた場合に、該制御プログラムが不正な制御プログラムであることを知ることができる。
（７）ここで、更に、前記通知を行った場合に、前記制御プログラムの更新の許否を利用者に問い合わせ、当該問い合わせの応答として更新の許可情報を受け取った場合には、前記配信サーバ装置から最新の制御プログラムを取得し、前記制御プログラムを当該最新の制御プログラムに更新する更新ステップを含む、としてもよい。
【０２９７】
従って、正当な利用者は、不正な制御プログラムである旨の通知を受け取った際に、不正な制御プログラムに代えて、正当な制御プログラムに更新することができる。
（８）ここで、更に、前記判定ステップで否定的な判定を行った場合に、前記パラメータを新たなパラメータに更新するパラメータ更新ステップを含む、としてもよい。
この構成の確認方法では、不正な制御プログラムであると判断された場合に、これまで使用していたパラメータの値と異なる値を用いることができるので、検証データ及び比較データをよりセキュアに生成することができる。
【０２９８】
（９）ここで、前記機器を遠隔制御するための指示を出力する出力ステップを更に含み、
前記制御ステップは、前記機器の遠隔制御の抑制として、前記指示を当該機器に送信しないように制御する、としてもよい。
この構成の確認方法では、不正な制御プログラムと判断した場合には、機器を遠隔制御するための指示を、当該機器に送信しないので、当該機器の遠隔操作による不正な操作を抑制できる。
【０２９９】
（１０）ここで、前記端末装置は、前記機器に対する複数の遠隔操作の指示毎に、当該遠隔操作の指示を受け付けるための、前記固有識別子に関する条件を示す情報を含み、更に、利用者からの前記複数の遠隔操作の指示のうちの一の遠隔操作の指示を受け付ける受付ステップとを有し、前記受付ステップは、前記固有識別子と、前記条件とに基づいて、前記一の遠隔操作の指示受け付けるための条件を満たさないと判断した場合には、前記機器の遠隔操作の指示を受け付けないように制御する、としてもよい。
【０３００】
この構成の確認方法を用いると、固有識別子の有無によって、機器の操作できる機能を制御することができる。
（１１）ここで、前記サーバ装置は、利用者毎に対応付けたＩＤを記憶しており、更に、前記利用者のログインを受け付けるログイン受付ステップと、前記制御プログラムが実行される際に、一の利用者のログインを受け付け、前記サーバ装置が記憶している前記利用者毎に対応付けたＩＤを参照することによって当該一の利用者のＩＤを特定し、当該ＩＤと、前記固有識別子とが一致するか否かのＩＤ照合を行う利用者認証ステップと、前記利用者認証ステップでの認証が否定的な場合には、前記制御プログラムの実行を抑制する抑制ステップとを含む、としてもよい。
【０３０１】
この構成の確認方法を用いると、利用者は、サーバ装置にログインすることができ、ログインが正常に行われなかった場合には、制御プログラムの実行を抑制することができる。
従って、不正な第三者により利用者の機器が遠隔操作されることを防ぐことができる。
（１２）ここで、前記固有識別子格納装置は、耐タンパ性を有する記憶領域に固有識別子を記憶している記録媒体装置であり、前記端末装置は、前記記録媒体装置を接続するインターフェースを備え、前記固有識別子取得ステップは、前記端末装置に接続された前記記録媒体装置の固有識別子を取得する、としてもよい。
【０３０２】
この構成の確認方法では、耐タンパ性の記憶領域に記憶されている固有識別子を用いるので、よりセキュアに検証データを生成することができる。
（１３）ここで、更に、前記端末装置と前記記録媒体装置とが接続されているか否かの接続状態を検知する検知ステップを含み、前記検知ステップが否定的な判定を行った場合に、前記ログイン受付ステップは、前記一の利用者からのログインを受け付け、前記利用者認証ステップは、前記ＩＤ照合を行う、としてもよい。
【０３０３】
この構成の確認方法は、記録媒体装置が端末装置に接続されておらず固有識別子を得ることができない場合には、利用者に対してログインを要求し、正当な利用者であるか否かの認証を行うので、第三者による不正な遠隔操作に対する防御性を高めることができる。
（１４）ここで、前記サーバ装置は、前記機器の遠隔制御を許可しない対象の固有識別子を判定するためのリボーク情報を記憶しており、前記利用者認証ステップは、前記ＩＤ照合の結果、前記固有識別子が、前記一の利用者のＩＤと一致すると判断されても、当該固有識別子が、前記リボーク情報で示される固有識別子と一致する場合には、例外的に否定的な判断を行う、としてもよい。
【０３０４】
この構成の確認方法では、記録媒体装置から取得した固有識別子を、無効な固有識別子を登録しているリボーク情報と照合し、リボーク情報に、取得した固有識別子と一致するものが含まれている場合には、正当な利用者ではないと判定する。従って、第三者による不正な遠隔操作に対する防御性を高めることができる。
（１５）ここで、更に、前記一の利用者について、ＩＤが対応付けて記憶されていない場合には、前記一の利用者と前記記録媒体装置の固有識別子とを対応付けて記録する記録ステップを含む、としてもよい。
【０３０５】
この構成の確認方法を用いると、サーバ装置に、利用者の利用する固有識別子と利用者とを対応付けて記憶することができるので、新規の利用者であっても正当な利用者であるかの認証を容易に行うことができる。
（１６）ここで、更に、前記端末装置と前記記録媒体装置とが接続されているか否かの接続状態を検知する検知ステップと、前記検知ステップが否定的な判定を行った場合に、前記一の利用者に対して、固有識別子が対応付けられていない状態にする解除ステップとを含む、としてもよい。
【０３０６】
この構成の確認方法を用いると、固有識別子を記憶している記録媒体装置が装着されずに遠隔操作のための制御プログラムが実行された場合には、利用者と対応付けて記憶している固有識別子を解除することができるので、当該利用者の記録媒体装置を不正に利用されるのを防ぐことができる。
（１７）ここで、前記サーバ装置は、利用者毎の通知先の情報、及び、当該利用者の使用する端末装置を識別する情報とを予め記憶しており、更に、前記サーバ装置にアクセスする端末装置を示す識別情報を取得する端末装置識別情報取得ステップとを含み、前記利用者認証ステップは、更に、前記端末装置識別情報取得ステップで取得した前記端末装置を示す前記識別情報が、当該利用者の使用する端末装置を識別する情報と一致するか否かを判定し、前記通知ステップは、当該識別情報が、当該利用者の使用する端末装置を識別する情報と一致しないと判定した場合には、その旨を示す告知情報を当該利用者の前記通知先に通知する、としてもよい。
【０３０７】
この構成の確認方法を用いると、利用者が通常利用している端末装置とは異なる端末装置を用いて、制御プログラムの実行を行った場合には、該利用者にその旨を通知する。
従って、他の端末装置を用いた、第三者による不正な遠隔操作に対する防御性を高めることができる。
（１８）ここで、更に、前記利用者認証ステップで、前記固有識別子と、前記一の利用者に対応付けて記憶しているＩＤとが一致しないと判定した場合には、前記固有識別子をリボーク情報として記録するリボーク情報記録ステップを含む、としてもよい。
【０３０８】
この構成の確認方法を用いると、利用者が通常利用している端末装置と異なる端末装置に、利用者が通常利用している記録媒体装置を接続して利用した場合には、その記録媒体装置に記録されている固有識別子をリボーク情報として記録するので、この記録媒体装置を用いた、第三者による不正な遠隔操作に対する防御性を高めることができる。
（１９）本発明に係る確認システムは、サーバ装置を介して機器を遠隔制御するための制御プログラムを実行する端末装置と、前記機器と、前記サーバ装置とから構成されるシステムであって、前記端末装置は、前記端末装置を操作している利用者に割り当てられた固有識別子を格納する固有識別子格納装置から、当該固有識別子を取得する固有識別子取得手段と、前記制御プログラムに割り当てるためにサーバ装置が生成するパラメータを当該サーバ装置から取得するパラメータ取得手段と、前記制御プログラムの実行中に、当該制御プログラムの少なくとも一部である部分データと、前記固有識別子と、前記パラメータとに基づいて検証データを繰り返し生成する生成手段と、前記検証データが生成される毎に、前記サーバ装置に当該検証データを送信する送信手段とを備え、前記サーバ装置は、前記検証データを受け付ける受付手段と、前記検証データを受け付ける毎に、前記制御プログラムの正当な利用者に対応付けて予め記憶しているＩＤと、前記パラメータと、前記制御プログラムに相当し、前記サーバ装置に記憶されている制御プログラムにおいて、前記部分データに相当する部分のデータとの少なくとも一つ以上を用いて、比較データを生成する比較データ生成手段と、前記検証データと前記比較データとを照合することによって、前記制御プログラムが正当な制御プログラムであるか否かを判定する判定手段と、前記判定手段で否定的な判定をした場合には、前記機器の遠隔制御の抑制を行う制御手段とを備える。
【０３０９】
この構成の確認システムは、利用者に割り当てられた固有識別子と、利用者が利用する制御プログラムに割り当てたパラメータと、制御プログラムのデータとに基づいて端末装置で生成された検証データを、サーバ装置で生成した比較データと、制御プログラムの実行中に繰り返し比較することによって実行中の制御プログラムの正当性を判定し、正当でないと判断された場合には、制御プログラムによる遠隔制御を抑制することができる。
【産業上の利用可能性】
【０３１０】
本発明に係る確認方法は、端末装置において実行中のアプリケーションプログラムの正当性の確認に利用できる。
【符号の説明】
【０３１１】
１０、１１  遠隔操作システム
２０  ネットワーク
１００  配信サーバ装置
１０１、２０１、３０１、４０１  制御部
１０２、２０２、３０２、５０２、６５０  通信部
１０３、２０３、３０３、４０３  相互認証部
１０４、２０４、３０４、４０４  鍵格納部
１０５  記憶部
１０６、２０９  アカウント格納部
１０７、２１５  アカウント確認部
２００  確認サーバ装置
２０６  プログラム制作部
２０７、３０５  プログラム格納部
２０８  付随データ生成部
２１０  信頼性評価部
２１２  機器情報格納部
２１３  機器制御部
２１４  署名生成部
２１５  アカウント確認部
２１６  固有識別子取得部
２１７  機器情報管理部
２１８、３１１  検証部
２１９、９１２  トークン確認部
２２０  メール送信部
２２１  メール操作受信部
３００  端末装置
３０６  プログラム実行部
３０７  付随データ格納部
３０８、４０８  入出力部
３０９、６２０  表示部
３１０  入力部
４００  メモリカード
４０７  固有識別子格納部
５００  機器
５０１  機構制御部
５０６  命令受信部
５０７  情報通知部
５０８  機構
６００  メール装置
９０２  固有識別子取得処理部
９１１  検証データ生成部
【図１】
2014135048.tif 000003
【図２】
2014135048.tif 000004
【図３】
2014135048.tif 000005
【図４】
2014135048.tif 000006
【図５】
2014135048.tif 000007
【図６】
2014135048.tif 000008
【図７】
2014135048.tif 000009
【図８】
2014135048.tif 000010
【図９】
2014135048.tif 000011
【図１０】
2014135048.tif 000012
【図１１】
2014135048.tif 000013
【図１２】
2014135048.tif 000014
【図１３】
2014135048.tif 000015
【図１４】
2014135048.tif 000016
【図１５】
2014135048.tif 000017
【図１６】
2014135048.tif 000018
【図１７】
2014135048.tif 000019
【図１８】
2014135048.tif 000020
【図１９】
2014135048.tif 000021
【図２０】
2014135048.tif 000022
【図２１】
2014135048.tif 000023
【図２２】
2014135048.tif 000024
【図２３】
2014135048.tif 000025
【図２４】
2014135048.tif 000026
【図２５】
2014135048.tif 000027
【図２６】
2014135048.tif 000028
【図２７】
2014135048.tif 000029
【図２８】
2014135048.tif 000030
【図２９】
2014135048.tif 000031
【図３０】
2014135048.tif 000032
【図３１】
2014135048.tif 000033
【図３２】
2014135048.tif 000034
【図３３】
2014135048.tif 000035
【図３４】
2014135048.tif 000036
【図３５】
2014135048.tif 000037
【図３６】
2014135048.tif 000038
【図３７】
2014135048.tif 000039
【図３８】
2014135048.tif 000040
【図３９】
2014135048.tif 000041
【図４０】
2014135048.tif 000042