【文献】
竹森 敬祐 ほか,セキュアエレメントを活用したECU認証とコード認証の鍵管理,電子情報通信学会技術研究報告,日本,電子情報通信学会,2015年12月10日,Vol. 115, No. 366,pp. 227-232
(58)【調査した分野】(Int.Cl.,DB名)
前記動作ログ転送手段は、前記宛先の機器から、当該宛先の機器が前記命令情報に対して付与した乱数値のハッシュ値を含む第一ログ情報と、当該宛先の機器が前記機器秘密鍵を用いて前記第一ログ情報に対して生成した第一ログ署名とを受信した後に、前記宛先の機器から、付加情報を含む第二ログ情報と、前記宛先の機器が前記機器秘密鍵を用いて前記第二ログ情報に対して生成した第二ログ署名とを受信し、前記付加情報から変換したハッシュ値が前記乱数値のハッシュ値と一致し、且つ前記機器公開鍵を用いて前記第一ログ署名の検証及び前記第二ログ署名の検証に成功した場合に、前記第一ログ情報および前記第二ログ情報の少なくとも一方を前記正常ログとして前記サーバに転送する、
請求項1に記載のゲートウェイ装置。
前記動作ログ転送手段は、前記宛先の機器が前記第一ログ情報を送信した後、前記宛先の機器が前記乱数値に基づいて定められる予定時間で送信した、前記第二ログ情報を受信した場合に、前記第一ログ情報及び前記第二ログ情報の少なくとも一方を、前記正常ログとして前記サーバに転送する、請求項2記載のゲートウェイ装置。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態では、サーバおよびゲートウェイ装置を介した遠隔操作により、ユーザ宅内の機器に所定の動作を実行させてユーザにサービスを提供し、サービス提供に対するユーザへの課金などのために、サーバがゲートウェイ装置を介して機器の動作ログを収集するサービスシステムに、本発明を適用した場合を例に説明する。例えば、機器はスピーカであり、動作は楽曲の再生である。
【0020】
<システム構成>
以下、本発明を適用したサービスシステム1の概略構成を示した
図1を参照し、本発明の実施の形態の構成を説明する。
【0021】
(サービスシステム1)
図1に示すように、サービスシステム1は、ユーザ端末2、サーバ3、ゲートウェイ装置4および機器5を含む。ユーザ端末2とサーバ3はインターネット等の広域網6を介して接続されて互いに通信を行う。サーバ3とゲートウェイ装置4は広域網6を介して接続されて互いに通信を行う。
【0022】
また、ゲートウェイ装置4と機器5は無線LAN(Local Area Network)等の閉域網7を介して接続されて互いに通信を行う。つまり、ゲートウェイ装置4はサーバ3と機器5の間で通信を中継する。
【0023】
機器5は複数接続されてもよい。すなわち、サーバ3と機器5は1:Nの関係であってもよい。さらにサーバ3は複数接続されてもよい。すなわちサーバ3と機器5の組み合わせが複数組接続されてもよい。閉域網7は、有線LANであってもよく、無線LANと有線LANが混在してもよい。
【0024】
(ユーザ端末2)
ユーザ端末2は、サービス受給者であるユーザが所有するスマートフォンなどの通信装置である。
【0025】
ユーザ端末2は、ユーザの操作に従って、サーバ3宛の命令要求信号を広域網6に送出する。命令要求信号は、宛先の機器5に対する命令情報を含み、命令情報の送信をサーバ3に要求する信号である。命令情報は、命令(すなわちサービス)を特定するコード、命令を実行させる機器5の識別子(以下、機器識別子とも称する)が含まれる所定形式の情報である。
【0026】
(サーバ3)
サーバ3は、サービス提供者が運用するサーバ装置である。サーバ3は、ユーザ端末2から命令要求信号を受信すると、命令要求信号に含まれる命令情報および当該命令情報に対する電子署名(以下、命令署名)を含めた機器5宛の命令信号を広域網6に送出する。
【0027】
また、サーバ3は、機器5からのログ情報をゲートウェイ装置4および広域網6を介して受信し、記憶する。ログ情報は、機器5が命令に応じて実行した動作の内容や時刻を示す動作ログを含んだ情報である。
【0028】
また、サーバ3は、課金のためのログ情報の解析や、機器5の異常に関する表示なども行う。
【0029】
(ゲートウェイ装置4)
ゲートウェイ装置4は、ユーザ宅内などのサービス提供場所に設置された通信装置である。
【0030】
ゲートウェイ装置4は、広域網6を介してサーバ3から機器5宛の命令信号を受信すると、当該機器5宛の命令信号に含まれる命令情報を閉域網7に送出する。すなわち、ゲートウェイ装置4は、サーバ3から送信された機器5宛の命令情報を当該機器5に転送する。
【0031】
また、ゲートウェイ装置4は、閉域網7を介して機器5からサーバ3宛のログ情報を受信すると、当該ログ情報を広域網6に送出する。すなわち、ゲートウェイ装置4は、機器5から送信されたサーバ3宛のログ情報を当該サーバ3に転送する。
【0032】
また、ゲートウェイ装置4は、ログ情報を記録するとともに、記録したログ情報を解析して機器5における異常の発生有無を推定する。
【0033】
(機器5)
機器5は、ユーザ宅内などのサービス提供場所に設置されたスピーカなどの機器である。機器5は、ゲートウェイ装置4により転送された命令情報を閉域網7を介して受信すると、当該命令情報に対応した動作を実行するとともに、サーバ3宛のログ情報を閉域網7に送出する。
【0034】
(サーバ3の構成)
図2に示すように、サーバ3は、サーバ通信部30、サーバ記憶部31、及びサーバ制御部32等を備える。
【0035】
サーバ通信部30は、広域網6およびサーバ制御部32に接続されてユーザ端末2およびゲートウェイ装置4との通信を行い、サーバ制御部32の制御に従ってサーバ3と送受信した情報をサーバ制御部32と入出力する通信インターフェース回路である。
【0036】
サーバ記憶部31は、各種プログラムや各種データを記憶するROM(Read Only Memory)、RAM(Random Access Memory)等の記憶装置であり、サーバ制御部32に接続されてサーバ制御部32との間でこれらの情報を入出力する。
【0037】
サーバ記憶部31が記憶するデータには、サーバ3に固有の秘密鍵(以下、サーバ秘密鍵)、機器5に固有の秘密鍵(以下、機器秘密鍵)と対応する公開鍵(以下、機器公開鍵)が含まれ、サーバ記憶部31はサーバ秘密鍵および機器公開鍵を予め記憶している鍵記憶手段310として機能する。
【0038】
また、サーバ記憶部31が記憶するデータには、機器5に送信した命令情報および機器5から受信したログ情報が含まれ、サーバ記憶部31はログ情報を命令情報と対応付けて記憶するログ情報記憶手段311としても動作する。
【0039】
また、サーバ記憶部31には機器5の識別子および機器5のアドレスが予め記憶されている。
【0040】
サーバ制御部32は、CPU(Central Processing Unit)、MCU(Micro Control Unit)等で構成される演算装置であり、サーバ通信部30およびサーバ記憶部31と接続され、サーバ記憶部31に記憶されているプログラム等に従って命令情報送信手段320およびログ情報受信手段321等として機能する。
【0041】
(命令情報送信手段320)
命令情報送信手段320は、ユーザ端末2からの命令要求信号を受信した場合に、当該信号に応じた命令情報を生成するとともに、サーバ秘密鍵を用いて、公開鍵暗号方式により命令情報に対する電子署名(以下、命令署名)を生成し、命令情報と命令署名を広域網6に送出する。
【0042】
また、命令情報送信手段320は、命令情報をログ情報記憶手段311に記憶させる。
【0043】
(ログ情報受信手段321)
ログ情報受信手段321は、命令情報に対する機器5からの応答であるログ情報と当該ログ情報に付与された電子署名(以下、ログ署名)をゲートウェイ装置4経由で受信した場合に、機器公開鍵を用いて、公開鍵暗号方式によりログ署名を検証し、ログ署名の検証が成功したログ情報を命令情報に対応付けてログ情報記憶手段311に記憶させる。
【0044】
(機器5の構成)
図3に示すように、機器5は、機器通信部50、機器記憶部51、機器制御部52、及び命令実行部521等を備える。
【0045】
機器通信部50は、閉域網7および機器制御部52に接続されてゲートウェイ装置4との通信を行い、機器制御部52の制御に従ってゲートウェイ装置4と送受信した情報を機器制御部52と入出力する通信インターフェース回路である。
【0046】
機器記憶部51は、各種プログラムや各種データを記憶するROM、RAM等の記憶装置であり、機器制御部52に接続されて機器制御部52との間でこれらの情報を入出力する。
【0047】
機器記憶部51が記憶するデータには機器5の機器秘密鍵が含まれ、機器記憶部51は機器秘密鍵を予め記憶している鍵記憶手段510として機能する。
【0048】
また、機器記憶部51にはサーバ3のアドレスが予め記憶されている。
【0049】
機器制御部52は、CPU、MCU等で構成される演算装置であり、機器通信部50および機器記憶部51と接続され、機器記憶部51に記憶されているプログラム等に従って命令情報受信手段520、およびログ情報送信手段522等として機能する。
【0050】
命令実行部521は、機器制御部52から入力された命令情報に応じた所定の動作を実行することによってユーザにサービスを提供する。例えば、機器5がオーディオ機器であれば音楽を再生する。あるいは、機器5が家電であれば当該家電の機能を発揮するように動作する。
【0051】
また、命令実行部521は、実行した動作の内容や時刻を示す所定の動作ログを生成し、命令情報および動作ログを含むログ情報を機器制御部52に出力する。
【0052】
(命令情報受信手段520)
命令情報受信手段520は、ゲートウェイ装置4から機器5自身宛の命令情報を受信し、受信した命令情報を命令実行部521に出力する。
【0053】
(ログ情報送信手段522)
ログ情報送信手段522は、命令実行部521からログ情報を入力された場合に、機器秘密鍵を用いて公開鍵暗号方式により当該ログ情報に対する電子署名(以下、ログ署名)を生成し、サーバ3宛のログ情報とログ署名を閉域網7に送出する。
【0054】
サーバ3宛のログ情報とログ署名はゲートウェイ装置4により中継される。
【0055】
ログ情報の送出は2段階で行われる。具体的には、ログ情報を入力されたログ情報送信手段522は、命令情報に対して2段階目の送出までの予定時間(以下、送出予定時間)を例えば10分〜110分の範囲および10のマイナス44乗秒の精度(160ビット精度)でランダムに設定し、予め定めたハッシュ関数を用いて送出予定時間のハッシュ値を算出するとともに機器秘密鍵を用いて公開鍵暗号方式により命令情報、動作ログおよび算出したハッシュ値を含む第一ログ情報に対する電子署名(以下、第一ログ署名)を生成し、サーバ3宛の第一ログ情報と第一ログ署名を閉域網7に送出する。
【0056】
送出予定時間は、悪意のあるユーザが課金逃れ等の目的でログ情報の送出を妨害すると想定される時間よりも十分に長く設定される。
【0057】
第一ログ情報を送出したログ情報送信手段522は、機器秘密鍵を用いて公開鍵暗号方式により命令情報と送出予定時間を含む第二ログ情報に対する電子署名(以下、第二ログ署名)を生成し、第一ログ情報を送出してから送出予定時間が経過した時点でサーバ3宛の第二ログ情報と第二ログ署名を閉域網7に送出する。
【0058】
公開鍵暗号には、素因数分解を利用したRSA(Rivest Shamir Adleman)等の方式と、楕円曲線暗号を利用したECDSA(Elliptic Curve Digital Signature Algorithm)等の方式がある。楕円曲線を利用した方式は、素因数分解を利用した方式に比べ、署名生成時のリソース(計算時間及びメモリ消費量)および署名送信時のリソースが大幅に少ない。そのため、機器5のログ情報送信手段522は、楕円曲線を利用した公開鍵暗号方式により第一ログ署名、第二ログ署名を生成することが好ましい。こうすることにより機器5に組み込むデバイスの小型化・低消費電力化が容易となる。
【0059】
送出予定時間の代わりに単なる乱数値を設定してもよい。その場合、ログ情報送信手段522は、第一ログ情報を送出してから予め定めた時間が経過した時点で第二ログ情報を送出する。
【0060】
すなわち、ログ情報送信手段522は、命令情報に対して乱数値を付与し、当該乱数値のハッシュ値を含むサーバ3宛の第一ログ情報を、機器秘密鍵を用いて第一ログ情報に対して生成した第一ログ署名および命令情報とともに閉域網7に送出した後に、当該乱数値を含むサーバ3宛の第二ログ情報を、機器秘密鍵を用いて第二ログ情報に対して生成した第二ログ署名とともに閉域網7に送出する。
【0061】
(ゲートウェイ装置4の構成)
図4に示すように、ゲートウェイ装置4は、ゲートウェイ通信部40、ゲートウェイ記憶部41、ゲートウェイ制御部42等を備える。
【0062】
ゲートウェイ通信部40は、広域網6、閉域網7およびゲートウェイ制御部42に接続されてサーバ3および機器5との通信を行い、ゲートウェイ制御部42の制御に従ってサーバ3および機器5と送受信した情報をゲートウェイ制御部42と入出力する通信インターフェース回路である。
【0063】
ゲートウェイ記憶部41は、各種プログラムや各種データを記憶するROM、RAM等の記憶装置であり、ゲートウェイ制御部42に接続されてゲートウェイ制御部42との間でこれらの情報を入出力する。
【0064】
ゲートウェイ記憶部41が記憶するデータにはサーバ秘密鍵に対応する公開鍵(以下、サーバ公開鍵)および機器公開鍵が含まれ、ゲートウェイ記憶部41はサーバ公開鍵および機器公開鍵を予め記憶している公開鍵記憶手段410として機能する。
【0065】
ゲートウェイ記憶部41が記憶するデータには、機器5に送信した命令情報、機器5から受信したログ情報、命令情報とログ情報の対応関係が含まれ、ゲートウェイ記憶部41は命令情報、ログ情報およびこれらの対応関係を記憶するログ情報記憶手段411としても機能する。
【0066】
また、ゲートウェイ記憶部41にはサーバ3の識別子、機器5の識別子およびサーバ3と機器5の対応関係が予め記憶されている。
【0067】
ゲートウェイ制御部42は、CPU、MCU等で構成される演算装置であり、ゲートウェイ通信部40およびゲートウェイ記憶部41と接続され、ゲートウェイ記憶部41に記憶されているプログラム等に従って命令情報転送手段420、ログ情報転送手段421およびログ情報転送手段421等として機能する。
【0068】
(命令情報転送手段420)
命令情報転送手段420は、サーバ3から命令情報と命令署名とを受信した場合に、サーバ公開鍵を用いて、公開鍵暗号方式により命令署名を検証し、少なくとも命令署名の検証が成功した命令情報を機器5に転送する。命令署名の検証は当該命令署名を送信したサーバの認証でもある。そして、当該命令署名の検証の成功は当該命令署名を送信したサーバの認証の成功でもあり、当該命令署名を送信したサーバの認証の成功は当該命令署名とともに受信した命令情報が正当なサーバからの命令情報であることの確認となる。すなわち、命令情報転送手段420は、サーバ公開鍵を用いて命令署名を検証することにより命令情報を送信したサーバ3を認証し、認証に成功したサーバ3から受信した命令情報を機器5に転送することで、正当なサーバからの命令情報のみを機器5に転送する。
【0069】
また、命令情報転送手段420は、命令情報をログ情報記憶手段411に記憶させる。
【0070】
(ログ情報転送手段421)
ログ情報転送手段421は、機器5からログ情報を受信してサーバ3に転送する。
【0071】
その際に、ログ情報転送手段421は、ログ情報の正当性の検証を行い、検証に成功したログ情報を正常ログとしてサーバ3に転送する。
【0072】
具体的には、ログ情報転送手段421は、機器5から、当該機器5が受信した命令情報を含むログ情報を、機器5が機器秘密鍵を用いて公開鍵暗号方式によりログ情報に対して生成した電子署名であるログ署名とともに受信し、命令情報が当該機器5宛に送出しログ情報記憶手段411に記憶されている命令情報と一致し且つ機器公開鍵を用いてログ署名の検証に成功したログ情報を正常ログとしてサーバ3に転送する。
【0073】
ログ情報の転送は2段階で行われる。具体的には、ログ情報転送手段421は、命令情報および機器5が命令情報に対して付与した付加情報(乱数値)のハッシュ値を含む第一ログ情報を第一ログ署名とともに受信した場合に、当該命令情報をログ情報記憶手段411に記憶されている当該機器5宛の命令情報と比較するとともに機器公開鍵を用いて公開暗号方式により第一ログ署名を検証し、命令情報同士が一致し且つログ署名の検証に成功したログ情報を正常ログとしてサーバ3に転送する。
【0074】
ログ情報転送手段421は、第一ログ情報に含まれていたハッシュ値をゲートウェイ記憶部41に記憶させる。
【0075】
ログ情報転送手段421は、機器5から付加情報(乱数値)を含む第二ログ情報を第二ログ署名とともに受信した場合に、所定のハッシュ関数を用いて当該付加情報(乱数値)のハッシュ値を算出するとともに機器公開鍵を用いて公開暗号方式により第二ログ署名を検証し、算出したハッシュ値がログ情報記憶手段411に記憶されているハッシュ値と一致し且つ第二ログ署名の検証に成功した場合に第二ログ情報を第二ログ署名とともに正常ログとしてサーバ3に転送する。
【0076】
上記所定のハッシュ関数は機器5が用いたハッシュ関数と同じものであり、予め記憶されている。
【0077】
機器5が上記付加情報として送出予定時間を用いる実施形態において、ログ情報転送手段421は、第一ログ情報を受信してから第二ログ情報を受信するまでの時間を計測し、計測した時間と、第二ログ情報に含まれる付加情報が示す送出予定時間との差が所定値以内である場合に、第二ログ情報を正常ログとしてサーバ3に転送することもできる。
【0078】
なお、上述したように、第一ログ署名および第二ログ署名は楕円曲線を利用した公開鍵暗号方式により生成されている。これに対応するために、ログ情報転送手段421は楕円曲線を利用した公開鍵暗号方式により第一ログ署名、第二ログ署名を検証する。
【0079】
以上のようにしてゲートウェイ装置4は、第一ログ署名または/および第二ログ署名の検証に成功した否認防止性の高い正常ログ情報を転送できる。
【0080】
さらに、ハッシュ値の一致に基づき第二ログ情報との対応付けができた否認防止性の高い第一ログ情報を転送できる。
【0081】
また、正常ログのみの送出によりログ情報を受信するサーバ3の負荷も減じることができる。
【0082】
また、ログ情報転送手段421は、第一ログ情報、第二ログ情報、命令情報と第一ログ情報との対応関係、命令情報と第二ログ情報との対応関係、第一ログ情報と第二ログ情報との対応関係をログ情報記憶手段411に記憶させる。
【0083】
(異常検知手段422)
ログ情報記憶手段411に記憶されている情報を解析して機器5に発生した異常を検知し、検知結果をサーバ3に送信する。
【0084】
検知する異常は、機器5に対する通信妨害、機器5における通信障害を含む。異常を検知する処理については後述する。
【0085】
上述したように、送出予定時間は、悪意のあるユーザが課金逃れ等の目的でログ情報の送出を妨害すると想定される時間よりも十分に長く設定されており、妨害が行われた場合に第一ログ情報または第二ログ情報の一方を受信できる可能性が高くなる。そのため機器5に発生した異常を検知できる可能性を高くできる。
【0086】
<正常ログ送受信に関する動作>
図5、
図6は、ユーザ端末2にサービス実行の命令が入力されてからサーバ3にて当該命令に対する正常ログ情報が受信されるまでの信号及び処理の流れを例示したタイミングチャートである。
【0087】
図中の「Command」は命令コード、「Did」は機器識別子、「log」は動作ログ、「time」は送出予定時間を示す。また、図中のsig[・]は括弧内の情報に対する電子署名が付与されていることを示す。また、図中のhash(・)は括弧内の情報に対するハッシュ値を示す。
【0088】
まず、ユーザ端末2はユーザの操作に応じてサーバ3宛の命令要求信号を広域網6に送出し、サーバ3はサーバ通信部30を用いてユーザ端末2からの命令要求信号を受信する(S1)。
【0089】
命令要求信号には命令情報が含まれ、命令情報には命令コード、機器5の機器識別子が含まれる。また、命令情報に、ユーザの識別子やパスワードなどのユーザ認証情報を含ませてもよい。
【0090】
そして、サーバ3の命令情報送信手段320は、鍵記憶手段310からサーバ秘密鍵を読み出し、サーバ秘密鍵を用いて、命令要求信号中の命令情報に対する電子署名(命令署名)を生成する。また、サーバ3の命令情報送信手段320はサーバ通信部30を用いて命令情報と命令署名を含めた機器5宛の命令信号を広域網6に送出し、ゲートウェイ装置4の命令情報転送手段420はゲートウェイ通信部40を用いてサーバ3からの命令信号を受信する(S2)。
【0091】
なお、命令要求信号にユーザ認証情報を含ませる実施形態であれば、命令情報送信手段320は、当該ユーザ認証情報が正規のユーザ認証情報であると確認できた場合のみ命令信号を送出する。
【0092】
ゲートウェイ装置4の命令情報転送手段420は、公開鍵記憶手段410からサーバ公開鍵を読み出し、サーバ公開鍵を用いて、受信した命令信号中の命令署名を検証する(S3)。
【0093】
命令署名の検証に成功した場合、すなわち受信した命令情報がサーバ3からの正当な情報であった場合、ゲートウェイ装置4の命令情報転送手段420は、ゲートウェイ通信部40を用いて、当該命令署名とともに受信した命令情報を含めた機器5宛の命令信号を閉域網7に送出し、機器5の命令情報受信手段520は機器通信部50を用いて自器宛の命令信号を受信する(S4)。
【0094】
ここでの命令情報の送受信はいわゆる平文での送受信である。なお、命令署名の検証に失敗した命令情報は破棄される。
【0095】
そして、命令情報転送手段420は、送出した命令情報をログ情報記憶手段411に記憶させる(S5)。
【0096】
次に、機器5の命令実行部521は、受信した命令信号中の命令情報に含まれる命令コードに従い、命令すなわちサービスを実行するとともに動作ログを生成する(S6)。
【0097】
機器5のログ情報送信手段522は、乱数に基づき第二ログ情報の送出予定時間を設定して機器記憶部51に記憶させるとともに(S7)、設定した送出予定時間のハッシュ値を算出する(S8)。
【0098】
そして、ログ情報送信手段522は、鍵記憶手段510から機器秘密鍵を読み出し、機器秘密鍵を用いて、第一ログ情報に対する電子署名(第一ログ署名)を生成する(S9)。
【0099】
第一ログ情報は、命令情報、命令実行部521が生成した動作ログ、ステップS7で生成したハッシュ値を含む。
【0100】
次に、ログ情報送信手段522は、機器通信部50を用いて第一ログ情報と第一ログ署名を含むサーバ3宛の第一ログ信号を閉域網7に送出し、ゲートウェイ装置4のログ情報転送手段421はゲートウェイ通信部40を用いてサーバ3宛の第一ログ信号を受信する(S10)。
【0101】
また機器5のログ情報送信手段522は不図示の計時手段を用いて第一ログ信号送出時点からの経過時間の計時を開始する。
【0102】
またゲートウェイ装置4のログ情報転送手段421は不図示の時刻取得手段を用いて第一ログ情報の受信時刻を取得する。
【0103】
送出予定時間はハッシュ化されているため、仮に、この第一ログ信号を傍受されたとしても送出予定時間を知られることはない。
【0104】
そして、ゲートウェイ装置4のログ情報転送手段421は、公開鍵記憶手段410から機器公開鍵を読み出し、機器公開鍵を用いて、第一ログ信号中の第一ログ署名を検証する(S11)。
【0105】
第一ログ署名の検証に成功した場合、ログ情報転送手段421は、受信した第一ログ情報中の命令情報と一致する命令情報がログ情報記憶手段411に記憶されているか否かを確認する対応命令情報確認処理を行う(S12)。
【0106】
すなわちステップS12の対応命令情報確認処理は、ステップS9で受信した第一ログ情報がステップS4で送出した命令情報に対応する情報であるか否かを確認する処理である。
【0107】
第一ログ署名の検証に成功し、且つ対応する命令情報の送出があったことが確認された場合、ゲートウェイ装置4のログ情報転送手段421はゲートウェイ通信部40を用いてサーバ3宛の第一ログ信号を広域網6に送出し、サーバ3のログ情報受信手段321はサーバ通信部30を用いてサーバ3宛の第一ログ信号を受信する(S13)。
【0108】
第一ログ信号中を受信したサーバ3のログ情報受信手段321は、鍵記憶手段310から機器公開鍵を読み出し、機器公開鍵を用いて当該信号中の第一ログ署名を検証し、検証に成功した場合に、当該信号中の第一ログ情報をログ情報記憶手段311に記憶させる。
【0109】
そして、ログ情報転送手段421は、第一ログ署名の検証に成功した第一ログ情報を、その受信時刻およびステップS12の対応命令情報確認処理の結果とともにログ情報記憶手段411に記憶させる(S14)。
【0110】
なお、ゲートウェイ装置4のログ情報転送手段421は、第一ログ署名の検証に失敗した第一ログ情報については、送出対象とも記録対象ともせずに破棄する。
【0111】
また、ゲートウェイ装置4のログ情報転送手段421は、受信した第一ログ情報中の命令情報と一致する命令情報が既にログ情報記憶手段411に記憶されている場合、マルチパスの影響等により二重受信した第一ログ情報であるとして、新たに受信した第一ログ情報を送出対象とも記録対象ともせずに破棄してもよい。
【0112】
次に、第一ログ信号を送出した機器5のログ情報送信手段522は、鍵記憶手段510から機器秘密鍵を読み出し、機器秘密鍵を用いて、第二ログ情報に対する電子署名(第二ログ署名)を生成する(S15)。ここで、第二ログ情報は命令情報と送出予定時間を含む情報である。
【0113】
第一ログ信号送出時点からの経過時間がステップS7で設定した送出予定時間に達すると、機器5のログ情報送信手段522は機器通信部50を用いて第二ログ情報と第二ログ署名を含むサーバ3宛の第二ログ信号を閉域網7に送出し、ゲートウェイ装置4のログ情報転送手段421はゲートウェイ通信部40を用いてサーバ3宛の第二ログ信号を受信する(S16)。
【0114】
またゲートウェイ装置4のログ情報転送手段421は不図示の時刻取得手段を用いて第二ログ情報の受信時刻を取得する。
【0115】
そして、ゲートウェイ装置4のログ情報転送手段421は、公開鍵記憶手段410から機器公開鍵を読み出し、機器公開鍵を用いて、第二ログ信号中の第二ログ署名を検証する(S17)。
【0116】
第二ログ署名の検証に成功した場合、ログ情報転送手段421は、受信した第二ログ情報中の命令情報と一致する命令情報がログ情報記憶手段411に記憶されているか否かを確認する対応命令情報確認処理を行う(S18)。
【0117】
すなわちステップS18の対応命令情報確認処理は、ステップS16で受信した第二ログ情報がステップS4で送出した命令情報に対応する情報であるか否かを確認する処理である。
【0118】
第二ログ署名の検証に成功し、且つ対応する命令情報の送出があったことが確認された場合、ログ情報転送手段421は、さらに、受信した第二ログ情報中の送出予定時間のハッシュ値を算出して(S19)、第一ログ情報の受信時刻が、第二ログ情報の受信時刻から第二ログ情報中の送出予定時間だけ前の時刻の前後所定時間内であり、且つ算出したハッシュ値と一致するハッシュ値を含んだ第一ログ情報がログ情報記憶手段411に記憶されているか否かを確認する対応第一ログ確認処理を行う(S20)。
【0119】
すなわち対応第一ログ確認処理は、ステップS13で受信した第二ログ情報と対をなす第一ログ情報の有無を確認する処理である。
【0120】
第二ログ署名の検証に成功し、且つ対応する命令情報の送出があったことが確認され、且つ対をなす第一ログ情報がある場合、ゲートウェイ装置4のログ情報転送手段421はゲートウェイ通信部40を用いてサーバ3宛の第二ログ信号を広域網6に送出し、サーバ3のログ情報受信手段321はサーバ通信部30を用いてサーバ3宛の第二ログ信号を受信する(S21)。
【0121】
そして、第二ログ信号を受信したサーバ3のログ情報受信手段321は、鍵記憶手段310から機器公開鍵を読み出し、機器公開鍵を用いて当該信号中の第二ログ署名を検証し、検証に成功した場合に、当該信号中の第二ログ情報をログ情報記憶手段311に記憶させる。
【0122】
また、ログ情報転送手段421は、第二ログ署名の検証に成功した第二ログ情報をステップS12の対応命令情報確認処理の結果およびステップS20の対応第一ログ確認処理の結果とともにログ情報記憶手段411に記憶させる(S22)。
【0123】
なお、ゲートウェイ装置4のログ情報転送手段421は、第二ログ署名の検証に失敗した第二ログ情報については、送出対象とも記録対象ともせずに破棄する。
【0124】
また、ゲートウェイ装置4のログ情報転送手段421は、受信した第二ログ情報中の命令情報と一致する命令情報が既にログ情報記憶手段411に記憶されている場合、マルチパスの影響等により二重受信した第二ログ情報であるとして、新たに受信した第二ログ情報を送出対象とも記録対象ともせずに破棄してもよい。
【0125】
<異常検知に関する動作>
ゲートウェイ装置4の異常検知手段422は、定期的に動作し、異常検知処理を実行する。
【0126】
例えば、一時間おきに動作、或いは通信量の少ない深夜帯などの予め定められた時刻に動作する。またはログ情報記憶手段411に記憶されているログ情報が所定数に達したときに動作する。
【0127】
図7は、ログ情報記憶手段411に記憶されているログ情報の対応関係のパターンと、各パターンから類推される異常の種別を示している。
【0128】
また、
図8は、異常検知処理のフローチャートである。
【0129】
まず、異常検知手段422は、ログ情報記憶手段411に記憶されているログ情報の対応関係の中から、命令情報に対応する第二ログ情報があるが第一ログ情報がないパターン3の発生頻度、および命令情報に対応する第一ログ情報も第二ログ情報もないパターン4の発生頻度FA(パターン3の発生頻度とパターン4の発生頻度の和)を算出し(S50)、算出した頻度FAが予め定めた閾値TA以上であるか否かを確認する(S51)。
【0130】
発生頻度は当該対応関係の数そのものであるか、あるいはその発生頻度は全対応関係の数に対する当該対応関係の数の比率である。FAは、サーバ3からの命令情報を機器5に送信したにも拘らず、当該命令情報に対する機器5からの第一ログ情報を受信できなかった頻度であり、課金逃れ等のために第一ログ情報の受信を妨害した可能性がある頻度(妨害頻度)である。閾値TAは1以上の値であり、例えば1である。
【0131】
頻度FAが閾値TA以上である場合(S51にてYES)、異常検知手段422は、さらに、命令情報に対応する第一ログ情報があるが第二ログ情報がないパターン2の発生頻度を算出して当該頻度に対するFAの比RAを算出するとともに(S52)、ゲートウェイ通信部40を用いて頻度FAと比RAを含めた異常検知情報をサーバ3に送信する(S53)。
【0132】
頻度FAには、通信障害が発生していた可能性を含んでいる。
【0133】
パターン2の頻度は、サーバ3からの命令情報を機器5に送信して当該命令情報に対する機器5からの第一ログ情報を受信したにも拘らず、第二ログ情報をできなかった頻度であり、ほぼ通信障害の頻度である。
【0134】
頻度FAと比RAの差から、頻度FA単独の場合よりも高い信頼性で妨害頻度を類推できる。
【0135】
頻度FAが閾値TA未満である場合(S51にてNO)、ステップS52、53は省略する。異常検知手段422は、ログ情報記憶手段411に記憶されているログ情報の対応関係の中から、第一ログ情報又は第二ログ情報に対応する命令情報がないパターン5、6および7の発生頻度FB(パターン5の発生頻度とパターン6の発生頻度とパターン7の発生頻度の和)を算出し(S54)、算出した頻度FBが予め定めた閾値TB以上であるか否かを確認する(S55)。
【0136】
FBは、サーバ3からの命令情報を機器5に送信していないにも拘らず、機器5からの第一ログ情報または/および第二ログ情報を受信した頻度であり、機器5がサーバ3以外からの命令情報に対して動作している頻度である。閾値TAは1以上の値であり、例えば1である。
【0137】
頻度FBが閾値TB以上である場合(S55にてYES)、異常検知手段422は、ゲートウェイ通信部40を用いて頻度FBを含めた異常検知情報をサーバ3に送信する(S56)。
【0138】
頻度FBが閾値TB未満である場合(S55にてNO)、ステップS56は省略する。
【0139】
以上説明してきたように、本発明の実施の形態に係るサービスシステムでは、ゲートウェイ装置が、命令情報を宛先の機器に転送して、宛て先の機器から受信したログ情報及びログ署名を受信し、受信したログ情報に含まれる命令情報が、転送した前記命令情報と一致し、且つ機器秘密鍵に対応する機器公開鍵を用いて、ログ署名の検証に成功した場合、正常ログを、サーバに転送することにより、機器のコスト増を抑え、且つ機器の秘密鍵が機器外に出る機会を排して、ゲートウェイ装置が、否認防止性の高い動作ログを中継できる。
【0140】
また、ゲートウェイ装置が、機器の代わりに、サーバ秘密鍵に対応するサーバ公開鍵を用いて、公開鍵暗号方式により、サーバから送信された命令署名を検証し、命令署名の検証が成功した命令情報を機器に転送することにより、機器の検証機能を省略することができるため、機器のコスト増を抑えることができる。
【0141】
<変形例>
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、上記実施形態においては、第一ログ情報に動作ログを含めたが、サーバ3への動作ログ送信の即時性が求められない場合、第一ログ情報に代えて第二ログ情報に動作ログを含めることもできる。
【0142】
また、第一ログ情報と第二ログ情報の双方に動作ログを含めてもよい。この場合、ゲートウェイ装置4のログ情報転送手段421は、ステップS20の対応第一ログ確認処理において、ハッシュ値の一致を確認する代わりに第一ログ情報に含まれている動作ログと第二ログ情報に含まれている動作ログの一致を確認することもできる。
なお、ハッシュ値の代わりに動作ログで確認する場合、機器5のログ情報送信手段522は、ランダムに送信予定時間を設定し、あるいは予め定めた時間を設定して、第一ログ情報を送信してから当該時間の経過時点に第二ログ情報を送信してもよい。
【0143】
また、上記実施形態およびその変形例においては、ゲートウェイ装置4の公開鍵記憶手段410がサーバ公開鍵を予め記憶し、ゲートウェイ装置4の命令情報転送手段420が公開鍵記憶手段410からサーバ公開鍵を読み出して命令署名を検証する例を示したが、命令情報転送手段420がサーバ3からサーバ公開鍵を受信して命令署名を検証してもよい。その場合、サーバ3の鍵記憶手段310はサーバ公開鍵を記憶し、サーバ3の命令情報送信手段320はサーバ公開鍵を読み出して命令情報および命令署名ともにサーバ公開鍵を送出する。
また、上記実施形態およびその変形例においては、ゲートウェイ装置4の命令情報転送手段420は、サーバ公開鍵を用いてサーバ3を認証したが、共通鍵を用いてサーバ3を認証してもよい。その場合、サーバ3の鍵記憶手段310とゲートウェイ装置4のゲートウェイ記憶部41には共通鍵を予め記憶させておく。そして、サーバ3の命令情報送信手段320とゲートウェイ装置4の命令情報転送手段420では、命令情報の送受信に先立って、命令情報送信手段320は共通鍵を用いて特定情報を暗号化し、暗号化した命令情報を機器5宛に送信する。これに対して、命令情報転送手段420は、暗号化された特定情報を受信すると共通鍵を用いて復号し、特定情報が正しく復号できたか否かを確認することによりサーバ3を認証する。認証の成功の後、命令情報送信手段320は共通鍵を用いて命令情報を暗号化し、暗号化した命令情報を機器5宛に送信する。そして、ゲートウェイ装置4の命令情報転送手段420は、暗号化された命令情報を受信すると共通鍵を用いて復号し、復号した命令情報を宛先の機器5に転送する。
【0144】
上記実施形態およびその変形例においては、ゲートウェイ装置4の公開鍵記憶手段410が機器公開鍵を予め記憶し、ゲートウェイ装置4のログ情報転送手段421が公開鍵記憶手段410から機器公開鍵を読み出してログ署名を検証する例を示したが、ログ情報転送手段421が機器5から機器公開鍵を受信してログ署名を検証してもよい。その場合、機器5の鍵記憶手段510は機器公開鍵を記憶し、機器5のログ情報送信手段522は機器公開鍵を読み出してログ情報およびログ署名ともに機器公開鍵を送出する。
【0145】
また、異常検知手段422を広域網6内に設けるようにしてもよい。
【0146】
以上のように、当業者は本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。