(57)【要約】【課題】受信した検針データの改ざんの有無を供給者側において容易に検証することが可能な検針システムを提供する。【解決手段】検針メータ１は、検針メータ１を特定するメータＩＤと、需要者に対する供給量を示す検針値と、該検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成し、中継装置２に対して送信し、中継装置２は、その検針データを暗号化して検針サーバ３に対して送信し、検針サーバ３は、暗号化された検針データを復号し、さらに、復号して得られた検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算し、検証値として計算した該ハッシュ値を、復号して得られたハッシュ値と比較し、両者が一致した場合、復号して得られた検針値は、検針メータ１が検針した正しい検針値であるものと判定する。【選択図】        図１
2018081352.tif 000002
【特許請求の範囲】
【請求項１】
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置とを含んで構成される検針システムであって、
前記検針メータは、当該検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成して、前記中継装置に対して送信し、
前記検針データを受け取った前記中継装置は、受け取った前記検針データを前記検針サーバに対して送信し、
前記検針データを受け取った前記検針サーバは、前記検針データにおける検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算し、該検証値として計算した該ハッシュ値を、前記検針データにおけるハッシュ値と比較し、両者が一致した場合、前記検針値を、前記検針メータが検針した正しい検針値であるものと判定する
ことを特徴とする検針システム。
【請求項２】
前記検針メータは、前記メータセッションＩＤを、あらかじめ定めた時間間隔ごとに、定期的に、あらかじめ定めた値ずつ更新して設定し直し、
前記検針サーバは、前記サーバセッションＩＤを、あらかじめ定めた前記時間間隔ごとに、定期的に、あらかじめ定めた前記値ずつ更新して設定し直す
ことを特徴とする請求項１に記載の検針システム。
【請求項３】
前記検針メータにあらかじめ設定した前記メータセッションＩＤと前記検針サーバにあらかじめ設定した前記サーバセッションＩＤとは、同一の値に設定することを特徴とする請求項１または２に記載の検針システム。
【請求項４】
前記中継装置は、設定作業者からのセッションＩＤ初期化の起動指示があった際に、初期化要求を前記検針メータに対して送信し、
前記初期化要求を受け取った前記検針メータは、セッションＩＤの初期値を生成し、生成した該セッションＩＤの初期値を、前記メータセッションＩＤの初期値として設定するとともに、前記中継装置を介して前記検針サーバに送信し、
前記セッションＩＤの初期値を受け取った前記検針サーバは、受け取った該セッションＩＤの初期値を前記サーバセッションＩＤの初期値として設定するか、
または、
前記中継装置は、設定作業者からのセッションＩＤ初期化の起動指示があった際に、初期化要求を前記検針サーバに対して送信し、
前記初期化要求を受け取った前記検針サーバは、セッションＩＤの初期値を生成し、生成した該セッションＩＤの初期値を、前記サーバセッションＩＤの初期値として設定するとともに、前記中継装置を介して前記検針メータに送信し、
前記セッションＩＤの初期値を受け取った前記検針メータは、受け取った該セッションＩＤの初期値を前記メータセッションＩＤの初期値として設定する
ことを特徴とする請求項１ないし３のいずれかに記載の検針システム。
【請求項５】
前記中継装置は、設定作業者からのセッションＩＤ初期化の起動指示があった際に、セッションＩＤの初期値を生成し、生成した該セッションＩＤの初期値を前記検針メータおよび前記検針サーバに送信し、
前記検針メータは、受け取った前記セッションＩＤの初期値を、前記メータセッションＩＤの初期値として設定し、
前記検針サーバは、受け取った前記セッションＩＤの初期値を、前記サーバセッションＩＤの初期値として設定する
ことを特徴とする請求項１ないし３のいずれかに記載の検針システム。
【請求項６】
前記中継装置は、設定作業者からのセッションＩＤ初期化の起動指示があった際に、初期化要求を、前記検針メータおよび前記検針サーバに送信し、
前記初期化要求を受け取った前記検針メータは、初期値としてあらかじめ定めた既知の値を、前記メータセッションＩＤの初期値として設定し、
前記初期化要求を受け取った前記検針サーバは、初期値としてあらかじめ定めた前記既知の値を、前記サーバセッションＩＤの初期値として設定する
ことを特徴とする請求項１ないし３のいずれかに記載の検針システム。
【請求項７】
前記中継装置は、受け取った前記検針データをあらかじめ保持している秘密鍵を用いて暗号化して前記検針サーバに対して送信し、
暗号化された前記検針データを受け取った前記検針サーバは、暗号化された前記検針データを、あらかじめ保持している公開鍵を用いて復号し、さらに、暗号化された前記検針データを復号して得られた検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算し、該検証値として計算した該ハッシュ値を、暗号化された前記検針データを復号して得られたハッシュ値と比較し、両者が一致した場合、暗号化された前記検針データを復号して得られた検針値が、前記検針メータが検針した正しい検針値であるものと判定し、
前記中継装置は、検針者からの鍵交付の起動指示があった際に、鍵交付要求を前記検針サーバに対して送信し、
前記鍵交付要求を受け取った前記検針サーバは、要求元の前記中継装置に対応する公開鍵と秘密鍵とを生成して、生成した公開鍵を保持するとともに、生成した前記秘密鍵を要求元の前記中継装置に対して送信し、
前記秘密鍵を受け取った前記中継装置は、受け取った該秘密鍵を保持する
ことを特徴とする請求項１ないし６のいずれかに記載の検針システム。
【請求項８】
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置を含む検針システムにおける検針方法であって、
前記検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成する工程と、作成した該検針データを前記中継装置に対して送信する工程と、を前記検針メータで行い、
前記検針データを受け取り、受け取った前記検針データを前記検針サーバに対して送信する工程を前記中継装置で行い、
前記検針データを受け取り、前記検針データにおける検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算する工程と、該検証値として計算した該ハッシュ値を、前記検針データにおけるハッシュ値と比較し、両者が一致した場合、前記検針値を前記検針メータが検針した正しい検針値であるものと判定する工程と、を前記検針サーバで行う
ことを特徴とする検針方法。
【請求項９】
前記メータセッションＩＤを、あらかじめ定めた時間間隔ごとに、定期的に、あらかじめ定めた値ずつ更新して設定し直す工程を、前記検針メータでさらに行い、
前記サーバセッションＩＤを、あらかじめ定めた前記時間間隔ごとに、定期的に、あらかじめ定めた前記値ずつ更新して設定し直す工程を、前記検針サーバでさらに行う
ことを特徴とする請求項８に記載の検針方法。
【請求項１０】
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置を少なくとも含む検針システムにおいて前記中継装置内のコンピュータによってプログラムとして実行される検針プログラムであって、
検針者からの起動指示があった際に起動して、前記検針メータに対して検針要求を送信する処理ステップと、
前記検針メータから、当該検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを受け取る処理ステップと、
前記検針メータから受け取った前記検針データに含まれている前記検針値を前記検針者に通知して承認を得る処理ステップと、
前記検針メータから受け取った前記検針データを前記検針サーバに対して送信する処理ステップと、
前記検針データを受け取った前記検針サーバにおいて、前記検針データにおけるハッシュ値に基づいて、前記検針データにおける検針値が、前記検針メータにより検針した正しい検針値であるか否かを検証した検証結果を送信してきた際に、送信されてきた該検針結果を受け取る処理ステップと、
前記検針サーバから受け取った前記検針結果を前記検針者に通知する処理ステップと
を有していることを特徴とする検針プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検針システム、検針方法および検針プログラムに関し、特に、不正申告検知機能を備えた検針システム、検針方法および検針プログラムに関する。すなわち、本発明は、供給者と需要者と検針者とが存在し、供給者から需要者に対し、何らかの計量可能なサービスまたは供給物が提供され、提供されたサービスまたは供給物の供給量を検針者が供給者に対し申告する構成のシステムに利用することが可能である。ここで、需要者と検針者とが同一である場合にも、本発明は適用できる。
【０００２】
例えば、本発明は、電気使用量の検針の他に、水道、ガスの検針にも利用することができ、また、使用した時間で料金が決定される駐車場や駐輪場の料金決済についても利用することが可能である。
【背景技術】
【０００３】
特許文献１の特開２００９−３２０１２号公報「電力量自動検針装置および自動検針システム」において、供給者に代わり、需要者が、自己所有の携帯電話端末を使用して、検針データを取得し、取得した該検針データを、公衆回線網を使用して、供給者に通知するという、自動検針システムに関する技術が開示されている。つまり、該特許文献１に記載の自動検針システムにおいては、供給者が雇用する検針作業員による電気使用量の検針作業を、需要者に担わせることにより、電気料金算出時の供給者側の負担を軽減することを目的にしている。
【０００４】
該特許文献１に記載の自動検針システムにおいては、電気使用量を検針する電気メータ（検針メータ）と供給者所有の自動検針装置との間をいくつかの通信機および通信網を経由して接続している。ここで、いくつかの通信機および通信網とは、ＰＬＣ(Power  Line  Communication：電力線通信)通信網、非接触型ＩＣ通信機（またはＲＦＩＤ（Radio  Frequency  Identifier）通信機とも言う）、携帯電話端末、携帯通信網、ＩＰ（Internet  Protocol）網等を指している。そして、個々の通信機および通信網においては、検針データの信頼性を確保するために、伝送する検針データを暗号化し、秘匿性の高い通信が行われる。しかしながら、検針データが経由する通信機（例えば、携帯電話端末）では、暗号化された検針データが復号された状態になっている。このため、悪意を持つ需要者の場合、検針データを改ざんして、供給者に通知することが可能になっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−３２０１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述したように、前記特許文献１に記載の自動検針システムにおいては、供給者に代わり、需要者が、当該需要者が所有する携帯電話端末を使用して、検針データを取得し、取得した該検針データを、公衆回線網を使用して、供給者に通知する仕組みを採用している。
【０００７】
以下に、該特許文献１に記載の自動検針システムにおける通信の信頼性について考察する。該自動検針システムを構成する通信機および通信網においては、前述のように、個々の通信機および通信網では、伝送する検針データに関し暗号化が適用され、秘匿性の高い通信が行われる。一方、検針データを取得する検針メータや検針データが経由する通信機では、前述したように、暗号化された検針データが復号された状態となっている。このため、前記特許文献１に記載の自動検針システムにおいては以下のような課題がある。
【０００８】
第１の課題は、もし、悪意を持つ検針者や需要家が存在する場合、中継する通信機、すなわち、当該検針者や需要家の所有する検針メータや携帯通信端末において、電気料金が実際よりも低く請求されるように、検針した検針データや中継する検針データを改ざんして供給者に通知することが可能になっている、という点である。
【０００９】
つまり、前記特許文献１に記載の自動検針システムは、善意の検針者による電気使用量の検針作業を前提としており、悪意のある検針者の存在を想定していない。ここで、検針者とは、検針作業を担う者を言う。検針者は需要者と同一である場合や、供給者と需要者以外の第三者が検針作業を請け負う場合もある。また、悪意のある検針者とは、実際の使用量よりも少ない使用量に低下させる等の不正な検針データを、供給者に対して送信する検針者のことを言う。
【００１０】
また、第２の課題は、悪意のある検針者（需要家でもある場合を含む）が、検針データを不正に書き換える、または、捏造して、供給者に送信した場合、該供給者は、かかる不正な行為により改ざんされた不正検針データを受信しているか否かを検証することが不可能である、という点である。
【００１１】
（本発明の目的）
本発明は、かくのごとき検針システムの通信の信頼性に鑑みてなされたものであり、検針データの改ざんについて、供給者側で検針データの改ざんの有無を検証できるようにしている。
【００１２】
言い換えると、本発明において解決しようとする第１の課題は、受信した検針データの真偽検証を供給者側で行うことを可能にすることである。第２の課題は、受信した検針データが期待された送信者から送られた検針データか否かの真偽検証を供給者側で行うことを可能にすることである。さらには、第３の課題は、受信した検針データの真偽検証の供給者側の仕組みを安価に構築することを可能にすることである。
【００１３】
以上の課題を解決するために、本発明は、供給者側において、受信した検針データの改ざんの有無を容易に検証することを可能にする検針システム、検針方法および検針プログラムを提供することを、その目的としている。
【課題を解決するための手段】
【００１４】
前述の課題を解決するため、本発明による検針システム、検針方法および検針プログラムは、主に、次のような特徴的な構成を採用している。
【００１５】
（１）本発明による検針システムは、
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置とを含んで構成される検針システムであって、
前記検針メータは、当該検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成して、前記中継装置に対して送信し、
前記検針データを受け取った前記中継装置は、受け取った前記検針データを前記検針サーバに対して送信し、
前記検針データを受け取った前記検針サーバは、前記検針データにおける検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算し、該検証値として計算した該ハッシュ値を、前記検針データにおけるハッシュ値と比較し、両者が一致した場合、前記検針値を、前記検針メータが検針した正しい検針値であるものと判定する
ことを特徴とする。
【００１６】
（２）本発明による検針方法は、
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置を含む検針システムにおける検針方法であって、
前記検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成する工程と、作成した該検針データを前記中継装置に対して送信する工程と、を前記検針メータで行い、
前記検針データを受け取り、受け取った前記検針データを前記検針サーバに対して送信する工程を前記中継装置で行い、
前記検針データを受け取り、前記検針データにおける検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算する工程と、該検証値として計算した該ハッシュ値を、前記検針データにおけるハッシュ値と比較し、両者が一致した場合、前記検針値を前記検針メータが検針した正しい検針値であるものと判定する工程と、を前記検針サーバで行う
ことを特徴とする。
【００１７】
（３）本発明による検針プログラムは、
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置を少なくとも含む検針システムにおいて前記中継装置内のコンピュータによってプログラムとして実行される検針プログラムであって、
検針者からの起動指示があった際に起動して、前記検針メータに対して検針要求を送信する処理ステップと、
前記検針メータから、当該検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを受け取る処理ステップと、
前記検針メータから受け取った前記検針データに含まれている前記検針値を前記検針者に通知して承認を得る処理ステップと、
前記検針メータから受け取った前記検針データを前記検針サーバに対して送信する処理ステップと、
前記検針データを受け取った前記検針サーバにおいて、前記検針データにおけるハッシュ値に基づいて、前記検針データにおける検針値が、前記検針メータにより検針した正しい検針値であるか否かを検証した検証結果を送信してきた際に、送信されてきた該検針結果を受け取る処理ステップと、
前記検針サーバから受け取った前記検針結果を前記検針者に通知する処理ステップと
を有していることを特徴とする。
【発明の効果】
【００１８】
本発明の検針システム、検針方法および検針プログラムによれば、以下のような効果を奏することができる。
【００１９】
本発明においては、検針メータにおいて検針値とあらかじめ設定したメータセッションＩＤとからハッシュ値を生成し、また、検針メータから検針サーバに受け渡す検針データを、検針メータを特定するメータＩＤ、検針値の他に、生成した前記ハッシュ値を含む構成としている。そこで、本発明によれば、需要者への供給量の検針結果である検針値を管理する検針サーバにおいて、検針メータから受け取った検針値が正しいか否かの検証を行うことができる。つまり、本発明は、受信した検針データの改ざんの有無を供給者側において容易に検証することを可能にする検針システム、検針方法および検針プログラムを提供できる。
【図面の簡単な説明】
【００２０】
【図１】本発明による検針システムの検証のためのデータの流れと処理とを説明する説明図である。
【図２】図１に示した検針システムの中継装置において検針値の改ざんが行われて、偽の検針値が検針サーバに送信された場合について説明するための説明図である。
【図３】本発明による検針システムのシステム構成の一例を示すシステム構成図である。
【図４】図３に一例として示した本発明による検針システムの基本動作の一例を示すフローチャートである。
【図５】図３に一例として示した本発明による検針システムの検針に至るまでの全体の動作の一例を説明するフローチャートである。
【図６】図５に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの一例を示すシーケンスチャートである。
【図７】検針メータおよび検針サーバそれぞれに記憶されているセッションＩＤの更新動作の一例を説明する説明図である。
【図８】図５に示した鍵交付シーケンスにおける鍵交付動作の流れの一例を示すシーケンスチャートである。
【図９】図５に示した検針シーケンスにおける検針動作の流れの一例を示すシーケンスチャートである。
【図１０】図５に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第１の他の例を示すシーケンスチャートである。
【図１１】図５に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第２の他の例を示すシーケンスチャートである。
【図１２】図５に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第３の他の例を示すシーケンスチャートである。
【発明を実施するための形態】
【００２１】
以下、本発明による検針システム、検針方法および検針プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明による検針システムおよび検針方法について説明するが、かかる検針方法をコンピュータにより実行可能なプログラムとして実施するようにしても良いし、あるいは、該プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。また、以下の各図面に付した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではないことも言うまでもない。
【００２２】
（本発明の特徴）
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、
需要者への供給量の検針を行う検針メータと、該検針メータにより検針された検針値を管理する検針サーバと、前記検針メータと前記検針サーバとの間を転送するデータの中継を行う中継装置とを含んで構成され、
前記検針メータは、当該検針メータを特定するメータＩＤと、需要者に対する供給量を示す検針値と、前記検針値とあらかじめ設定したメータセッションＩＤとに基づいて計算したハッシュ値と、を含む検針データを作成して、前記中継装置に対して送信し、
前記検針データを受け取った前記中継装置は、受け取った前記検針データをあらかじめ保持している秘密鍵を用いて暗号化して前記検針サーバに対して送信し、
暗号化された前記検針データを受け取った前記検針サーバは、暗号化された前記検針データを、あらかじめ保持している公開鍵を用いて復号し、さらに、暗号化された前記検針データを復号して得られた検針値とあらかじめ設定したサーバセッションＩＤとに基づいてハッシュ値を検証値として計算し、該検証値として計算した該ハッシュ値を、暗号化された前記検針データを復号して得られたハッシュ値と比較し、両者が一致した場合、暗号化された前記検針データを復号して得られた検針値が、前記検針メータが検針した正しい検針値であるものと判定する
ことを主要な特徴としている。
【００２３】
而して、需要者への供給量の検針結果である検針値を管理する検針サーバにおいて、検針メータから受け取った検針値が正しいか否かの検証を行うことでき、検針メータからの検針データの転送ルートに介在する中継装置や公衆回線網において、該検針データに対する不正な改ざんの発生の有無を確認することができるという効果が得られる。
【００２４】
本発明の概要を、図を用いてさらに詳細に説明する。図１は、本発明による検針システムの検証のためのデータの流れと処理とを説明する説明図である。図１の図中および図１の説明に使う記号の意味について以下にまず説明する。
【００２５】
（１）‘ハッシュ値（データ）’とは、カッコ内の‘データ’のハッシュ値を意味する。例えばハッシュ値（検針値）と書かれている場合は、検針値のハッシュ値を意味する。
【００２６】
（２）記号‘｜’は、左右に記載したデータの連結を意味する。例えばＡ｜Ｂと書かれている場合は、データＡとデータＢとを連結することを意味する。
【００２７】
（３）関数‘Ｅ（key, data）’は、カッコ内の第１番目に記載の暗号化鍵すなわちkeyを使用して、カッコ内の第２番目に記載のデータすなわちdataを暗号化、復号する関数を意味する。本来、暗号化と復号とは、反対の処理を表す言葉であるが、本発明においては、対称暗号化方式を用いることを前提にするため、前述の同じ関数‘Ｅ（key, data）’を用いて暗号化または復号の処理を行う。
【００２８】
（４）秘密鍵は、検針データを中継する中継装置において暗号化のために用いる鍵である。
【００２９】
（５）公開鍵は、検針データを収集する検針サーバにおいて復号のために用いる鍵である。
【００３０】
（６）メータＩＤは、１ないし複数の検針メータそれぞれが検針する検針システムにおいて、検針サーバが個々の検針メータを識別するための識別情報である。
【００３１】
（７）検針値は、供給者が供給した供給量、言い換えると、需要者が使用した使用量を数値化したものである。例えば、検針メータが電力メータである場合には、検針値は、電力使用量である。また、電気料金のように使用時間帯に応じて電気料金が変わる場合、検針値は、使用時間帯と電気使用量とをまとめた数値となる。また、駐車場料金のように占有時間帯に応じて使用料金が変わるサービスの場合、検針値は、占有した時間帯および占有した時間をまとめた数値となる。
【００３２】
（８）セッションＩＤは、中継装置は知らない値であって、検針メータおよび検針サーバの２つの装置が知る値であり、検針メータおよび検針サーバのそれぞれにあらかじめ設定して記憶しておく。また、セッションＩＤの解読性を難しくするために、検針メータおよび検針サーバにおいて、あらかじめ決められた規則（例えば、あらかじめ定めた時間間隔ごとに更新するという規則）に基づき、セッションＩＤを更新する。なお、以下の説明においては、説明し易くするために、検針メータ側で記憶するセッションＩＤは、メータセッションＩＤ、検針サーバ側で記憶するセッションＩＤは、サーバセッションＩＤと記載することにする。検針メータ側の記憶領域に設定したメータセッションＩＤと、検針サーバ側の当該検針メータ用の記憶領域に設定したサーバセッションＩＤとは、原則として、同一の値に設定されるものである。
【００３３】
（９）なお、図１の実線の四角ボックス内の文字列は、本検針システムを構成する装置の装置名を示す。また、破線の四角ボックス内の文字列は、各装置内で行われる処理の内容を示す。また、実線の矢印は、データの流れを示し、破線の矢印は、処理の流れを示している。
【００３４】
次に、図１の説明図について概要を説明する。まず、図１に示すように、本発明による検針システムは、検針メータ１、中継装置２、検針サーバ３の３つの装置を少なくとも含んで構成される。
【００３５】
検針メータ１は、検針データを生成する。検針データは、図１に示すように、メータＩＤと検針値とハッシュ値とから構成される。ここで、ハッシュ値は、検針値とメータセッションＩＤとの結合値から求めた値である。該ハッシュ値は、図１のステップＳ１に示すように、検針メータ１においてハッシュ値計算を行って求められる。検針メータ１は、中継装置２に対し、前記検針データを送信する。
【００３６】
中継装置２は、暗号化処理を行う。該暗号化処理は、図１のステップＳ２に示すように、あらかじ保持している既知の秘密鍵を用い、かつ、暗号化関数‘Ｅ（秘密鍵、検針データ）’を用いて、検針メータ１から受け取った前記検針データの暗号化データを生成する。すなわち、以下の演算を行う。
暗号化データ
＝Ｅ（秘密鍵、検針データ）
＝Ｅ（秘密鍵、メータＩＤ｜検針値｜ハッシュ値（検針値｜メータセッションＩＤ）
中継装置２は、検針サーバ３に対し、暗号化した前記暗号化データを送信する。
【００３７】
検針サーバ３は、復号処理において、中継装置２から受け取った前記暗号化データの復号処理を行い、復号データを得る。該復号処理は、図１のステップＳ３に示すように、あらかじめ保持している既知の公開鍵を用い、以下の計算式に従って行う。
復号データ
＝Ｅ(公開鍵、Ｅ(秘密鍵、検針データ))
＝Ｅ(公開鍵、Ｅ(秘密鍵、メータＩＤ｜検針値｜ハッシュ値(検針値｜メータセッションＩＤ))
＝メータＩＤ｜検針値｜ハッシュ値(検針値｜メータセッションＩＤ)
【００３８】
検針サーバ３において該復号処理が成功することにより、検針サーバ３が期待する中継装置２からの暗号化データであることが証明される。正当な暗号化データが得られたことが証明されると、検針サーバ３は、次に、前記復号処理より得られた検針値の検証を行う。
【００３９】
まず、前記復号処理より得られたハッシュ値（検針値|メータセッションＩＤ）を被検証値とする。次に、検針サーバ３は、前記復号処理より得られたメータＩＤを用いて、検針サーバ３の記憶領域から、該メータＩＤに対応したサーバセッションＩＤを読み出す。次いで、検針サーバ３は、ハッシュ値計算を行う。検針サーバ３におけるハッシュ値計算は、図１のステップＳ４に示すように、復号結果の検針値とサーバセッションＩＤとを用いて、ハッシュ値（検針値|サーバセッションＩＤ）を計算する。そして、計算結果として得られたハッシュ値（検針値|サーバセッションＩＤ）を検証値とする。
【００４０】
次に、検針サーバ３は、被検証値のハッシュ値（検針値|メータセッションＩＤ）と検証値のハッシュ値（検針値|サーバセッションＩＤ）とを用いた検証処理を行う。ここで、該検証処理は、図１のステップＳ５に示すように、被検証値と検証値とを比較し、検証結果を得る処理である。
【００４１】
該検証処理において、被検証値＝検証値の場合、復号結果の検針値に関する検証結果は真として得られる。一方、被検証値≠検証値の場合は、該検証結果は偽として得られる。以上が、本発明による検針システムの動作の概要である。
【００４２】
次に、図２を用いて、検針値に改ざんが行われていた場合についてさらに説明する。図２は、図１に示した検針システムの中継装置２において検針値の改ざんが行われて、偽の検針値が検針サーバ３に送信された場合について説明するための説明図である。
【００４３】
図２の説明図のステップＳ２Ａに示すように、中継装置２において、検針メータ１から受け取っていた検針値の改ざんが行われた場合、暗号化処理が行われる検針値が偽の検針値に書き換えられてしまう。つまり、次の式に示す暗号化処理が行われる。
Ｅ（秘密鍵、メータＩＤ｜偽の検針値｜ハッシュ値（検針値｜メータセッションＩＤ）
【００４４】
ここで、中継装置２は、暗号化前のハッシュ値から、該ハッシュ値を算出するための検針値およびメータセッションＩＤを逆算することはできないため、暗号化前の偽の検針値の検証用としてのハッシュ値を生成して、偽の検針値に改ざんされているか否かを検証することは不可能である。
【００４５】
中継装置２から偽の検針値を含む暗号化データを受け取った検針サーバ３は、復号処理後のハッシュ値計算処理において、図２のステップＳ４Ａに示すように、復号結果の偽の検針値とサーバセッションＩＤとを用いて、ハッシュ値（偽の検針値|サーバセッションＩＤ）を計算する。そして、計算結果として得られたハッシュ値（偽の検針値|サーバセッションＩＤ）を検証値とする。
【００４６】
その結果、検針サーバ３は、図２のステップＳ５Ａに示すように、復号結果として得られた被検証値のハッシュ値（検針値|メータセッションＩＤ）と検証値のハッシュ値（偽の検針値|サーバセッションＩＤ）とを用いた検証処理を行うことになる。該検証処理においては、被検証値≠検証値の検証結果になるので、検針サーバ３が受け取った検針値は偽であることが検証される。以上が、検針値を改ざんした場合の本発明による検針システムの動作の概要である。
【００４７】
（実施形態の構成例）
次に、本発明による検針システムのシステム構成の一例（本発明の実施形態の構成例）について、図３を参照して説明する。図３は、本発明による検針システムのシステム構成の一例を示すシステム構成図である。図３のシステム構成図に示すように、本発明による検針システムは、検針メータ１、中継装置２、公衆回線網４、検針サーバ３を少なくとも含んで構成される。
【００４８】
検針メータ１は、需要者への供給量の検針を行う装置であって、供給者によりあらかじめ定めた一定期間の供給量を計測するための装置を指す。例えば、検針メータ１は、電気、ガス、水道等の供給量を計測する装置である。中継装置２は、検針メータ１と検針サーバ３との間を転送するデータの中継を行う装置であって、検針メータ１と検針サーバ３との間の通信を中継するための装置を指す。中継装置２は、例えば、検針メータ１からの検針値を読み取って、検針サーバ３に送信する機能を有する。なお、中継装置２の具体例としては、検針者６または設定作業者（図１には図示していない）が所有する携帯電話端末、スマートフォン等が挙げられる。
【００４９】
また、公衆回線網４は、一般の公衆通信において利用される通信回線を指し、例えば、携帯電話回線やインターネット回線と呼ばれるデータ通信のための通信回線である。公衆回線網４は、それらの通信回線を複合した回線網でもよい。
【００５０】
検針サーバ３は、検針メータ１により検針された検針値を管理する装置であって、あらかじめ定めた周期で、定期的に、検針者６が検針値を収集するための装置を指す。
【００５１】
前述のように、検針者６は、中継装置２を使用して、検針作業を行う者を意味する。検針者６は、例えば、供給に対する対価を支払う需要者や、供給者が雇用する検針作業員等である。また、マンションや賃貸住宅の場合は、管理者が検針者６となる場合もある。なお、設定作業者（図３には図示していない）は、供給者が雇用する要員であり、中継装置２を使用して、セッションＩＤの初期値の設定動作を起動する作業を行う者を指す。セッションＩＤの初期値の設定動作を起動する作業を行う際に使用する中継装置２は、供給者または設定作業者が所有する装置である場合を含み、厳密には図３の検針者が所持する中継装置とは異なる。
【００５２】
検針メータ１と中継装置２との間の通信方法としては、一般に、近距離無線通信と呼ばれる無線技術を使用する。近距離無線通信とは、例えば、ＲＦＩＤ（Radio  Frequency  Identifier）やＮＦＣ（Near  Field  Communication）と称される無線技術のことであり、互いの装置のアンテナ部を数ｃｍの近距離まで近づけることにより無線通信を行うことが可能な通信などを指す。あるいは、検針メータ１と中継装置２との間の通信方法として、Ｂｌｕｅｔｏｏｔｈ（登録商標）や無線ＬＡＮ（Local  Area  Network）と称される数十ｍの距離まで無線通信を可能とする通信を用いても良い。
【００５３】
中継装置２を公衆回線網４に接続する手段としては、例えば、携帯電話通信回線が使用でき、また、無線ＬＡＮも使用できる。
【００５４】
また、検針サーバ３を公衆回線網４に接続する手段としては、例えば、有線ＬＡＮを使用する。無線通信技術を使用することも可能であるが、通信の安定性が高い方が良いので、有線ＬＡＮの方が望ましい。
【００５５】
（実施形態の動作の説明）
次に、図３のシステム構成図に一例として示した本発明による検針システム（本発明の一実施形態）の動作の一例について説明する。まず、該検針システムの基本動作の概要を、図４のフローチャートを参照して説明する。図４は、図３に一例として示した本発明による検針システムの基本動作の一例を示すフローチャートである。
【００５６】
図４のフローチャートに示すように、本発明による検針システムの基本動作は、セッションＩＤ初期化シーケンス（シーケンスＳｅｑ１）、鍵交付シーケンス（シーケンスＳｅｑ２）および検針シーケンス（シーケンスＳｅｑ３）の３つのシーケンスにより構成される。このうち、検針シーケンス（シーケンスＳｅｑ３）が本発明の特徴である検針値の検証を行うシーケンスである。セッションＩＤ初期化シーケンス（シーケンスＳｅｑ１）と秘密鍵交付シーケンス（シーケンスＳｅｑ２）とは、本発明に係る検針動作の特徴を実現するための前処理を行う重要なシーケンスである。
【００５７】
次に、本発明による検針システムにおいて検針に至るまでの全体の動作の概要について、図５のフローチャートを参照して説明する。図５は、図３に一例として示した本発明による検針システムの検針に至るまでの全体の動作の一例を説明するフローチャートである。
【００５８】
図５のフローチャートに示すように、本発明による検針システムの検針に至るまでの動作は、図４のフローチャートと同様の構成からなっており、セッションＩＤ初期化シーケンス（シーケンスＳｅｑ１１）、鍵交付シーケンス（シーケンスＳｅｑ１２）および検針シーケンス（シーケンスＳｅｑ１３）の３つの工程を経ることにより、検針メータ１で検針した検針値が、検針サーバ３に受け渡されて、正しい検針値であるか否かが検証される。
【００５９】
シーケンスＳｅｑ１１のセッションＩＤ初期化シーケンスにおいては、あらかじめ定めた一定時間内に、検針メータ１および検針サーバ３に‘セッションＩＤ’と称する同じ値を設定する。ここで、‘セッションＩＤ’は、検針サーバ３が、検針メータ１から中継装置２、公衆回線網４を経由して受信した検針値の真偽検証を行うためのデータである。したがって、‘セッションＩＤ’は秘匿性を維持することが重要であるので、外部への漏洩を確実に防止することが必要である。
【００６０】
シーケンスＳｅｑ１２の鍵交付シーケンスにおいては、まず、検針サーバ３が秘密鍵と公開鍵とを生成し、しかる後、検針サーバ３は、生成した秘密鍵を中継装置２に受け渡す。秘密鍵とは、秘密鍵暗号方式と呼ばれる方式で用いられる鍵であり、秘密鍵と公開鍵とが、暗号化と復号および復号と暗号化のそれぞれに使用することができる対称暗号化方式にて採用される鍵であることを意味している。
【００６１】
シーケンスＳｅｑ１３の検針シーケンスにおいては、検針メータ１が計測した検針値を検針サーバ３に送信する。また、ここで言う検針値としては、供給を受けた日時、曜日、時間帯などの情報と紐付けされた情報のデータ群である場合もある。
【００６２】
次に、以下に詳細に説明する検針シーケンスにおいて使用する記号および名称について説明する。
【００６３】
（１）‘ハッシュ値（データ）’とは、前述したように、カッコ内の‘データ’のハッシュ値を意味する。例えばハッシュ値（検針値）と書かれている場合は、検針値のハッシュ値を意味する。
【００６４】
（２）記号‘｜’は、前述したように、左右に記載したデータの連結を意味する。例えばＡ｜Ｂと書かれている場合は、データＡとデータＢとを連結することを意味する。
【００６５】
（３）関数‘Ｅ（key, data）’は、前述したように、カッコ内の第１番目に記載の暗号化鍵すなわちkeyを使用して、カッコ内の第２番目に記載のデータすなわちdataを暗号化、復号する関数を意味する。本来、暗号化と復号とは、反対の処理を表す言葉であるが、本発明においては、前述したように、対称暗号化方式を用いることを前提にするため、前述の同じ関数‘Ｅ（key, data）’を用いて暗号化または復号の処理を行う。
【００６６】
（４）秘密鍵は、前述したように、データを中継する中継装置２において暗号化のために用いる鍵である。
【００６７】
（５）公開鍵は、前述したように、検針データを収集する検針サーバ３において復号のために用いる鍵である。
【００６８】
（６）メータＩＤは、前述したように、複数の検針メータ１それぞれが検針する検針システムにおいて、検針サーバ３が個々の検針メータ１を識別するための識別情報である。
【００６９】
（７）検針値は、前述したように、供給者が供給した供給量、言い換えると、需要者が使用した使用量を数値化したものである。例えば、検針メータ１が電力メータである場合には、検針値は、電力使用量である。また、電気料金のように使用時間帯に応じて電気料金が変わる場合、検針値は、使用時間帯と電気使用量とをまとめた数値となる。また、駐車場料金のように占有時間帯に応じて使用料金が変わるサービスの場合、検針値は、占有した時間帯および占有した時間をまとめた数値となる。
【００７０】
（８）セッションＩＤは、前述したように、秘匿性を維持するために、中継装置２は知らない値であって、検針メータ１および検針サーバ３が知る値であり、検針メータ１および検針サーバ３のそれぞれにあらかじめ設定して記憶しておく。また、セッションＩＤの解読性を難しくするために、検針メータ１および検針サーバ３において、あらかじめ決められた規則に基づき、セッションＩＤを更新する。なお、以下の説明においては、説明し易くするために、前述したように、検針メータ１側で記憶するセッションＩＤは、メータセッションＩＤ、検針サーバ３側で記憶するセッションＩＤは、サーバセッションＩＤと記載することにする。検針サーバ３側のサーバセッションＩＤは、対応する検針メータ１ごとに割り当てられた検針サーバ３の記憶領域それぞれに設定されて記憶される。ここで、検針メータ１側の記憶領域に設定したメータセッションＩＤと、検針サーバ３側の当該検針メータ用の記憶領域に設定したサーバセッションＩＤとは、原則として、同一の値に設定されるものである。
【００７１】
次に、以下の説明において、各種データの表示に使用する記号について説明する。
（ａ）ＭＩＤは、検針メータ１を特定するメータＩＤを表す。
（ｂ）ＭＩＤ’は、検針サーバ３が中継装置２を介して検針メータ１から受信した受信メータＩＤ（メータＩＤ（ＭＩＤ）に対応するデータ）を表す。
（ｃ）ＳＩＤＭは、検針メータ１が管理するセッションＩＤすなわちメータセッションＩＤの値を表す。
（ｄ）ＳＩＤＳは、検針サーバ３が管理するセッションＩＤすなわちサーバセッションＩＤの値を表す。
（ｅ）Ｈｍは、検針メータ１が計算した被検証用ハッシュ値（すなわち、図１にて説明したように、検針サーバ３における検証処理時の被検証値に該当するハッシュ値）を表す。
（ｆ）Ｈｍ’は、検針サーバ３が中継装置２を介して検針メータ１から受信した受信被検証用ハッシュ値（被検証用ハッシュ値（Ｈｍ）に対応するデータ）を表す。
（ｇ）Ｈｓは、検針サーバ３が計算した検証用ハッシュ値（すなわち、図１にて説明したように、検針サーバ３における検証処理時の検証値に該当するハッシュ値）を表す。
（ｈ）ＭＶは、検針メータ１が計測したメータ値すなわち検針値を表す。
（ｉ）ＭＶ’は、検針サーバ３が検針メータ１から受信した受信メータ値すなわち受信検針値（メータ値（ＭＶ）に対応するデータ）を表す。
（ｊ）Ｅrepは、中継装置２において検針メータ１から受信した検針データを暗号化した暗号化データを表す。
（ｋ）Ｅ’repは、検針サーバ３が中継装置２から受信した受信暗号化データ（暗号化データ（Ｅrep）に対応するデータ）を表す。
（ｌ）KeyＳは、検針サーバ３が生成する秘密鍵を意味する。
（ｍ）KeyＰは、検針サーバ３が生成する公開鍵を意味する。
【００７２】
次に、図５のフローチャートのシーケンスＳｅｑ１１に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの一例について、図６のシーケンスチャートを用いて説明する。図６は、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの一例を示すシーケンスチャートであり、検針メータ１においてセッションＩＤの初期値を生成している場合についてその一例を示している。なお、図６には、検針システムを構成する公衆回線網４の記載は省略し、検針メータ１、中継装置２、検針サーバ３および設定作業者５それぞれにおける動作および作業の一例を示している。ここで、設定作業者５は、前述したように、供給者が雇用する要員であり、中継装置２を使用して、セッションＩＤの初期値の設定動作を起動する作業を行う者を指す。また、セッションＩＤの初期値の設定動作を起動する作業を行う際に使用する中継装置２は、前述したように、供給者または設定作業者が所有する装置である場合を含み、厳密には検針者が所持する中継装置とは異なる。
【００７３】
セッションＩＤ初期化シーケンスの目的は、前述したように、あらかじめ定めた一定時間内において、検針メータ１と検針サーバ３とのそれぞれにおいて管理する‘セッションＩＤ’と称する変数に同じ値を設定して、而して、検針値を検証することを可能にすることにある。また、‘セッションＩＤ’は、検針メータ１と検針サーバ３との２つの装置以外には知られてはならない値であるため、セッションＩＤの初期値設定の作業は、前述のように、供給者が管理する設定作業者５が実施する。また、セッションＩＤ初期化シーケンスにおいて設定作業者５が使用する中継装置は、検針に使用する中継装置２と同等の機能を有する装置を指す。
【００７４】
図６のシーケンスチャートにおいて、設定作業者５が、セッションＩＤ初期化起動を中継装置２に指示すると（シーケンスＳｅｑ２１）、中継装置２は、セッションＩＤ初期化プログラムを起動する。セッションＩＤ初期化プログラムとは、図６の以下の動作の流れを制御するプログラムのことを言う。なお、起動とは、セッションＩＤ初期化プログラムの動作の契機を与えることを意味し、セッションＩＤ初期化プログラムは、例えば、中継装置２のＣＰＵ（Central  Processing  Unit）上で動作するアプリケーションなどにより実行される。
【００７５】
中継装置２は、セッションＩＤ初期化プログラムの動作にしたがい、まず、検針メータ１に対して、セッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２２）。該セッションＩＤ初期化要求は、検針メータ１における次の動作となるセッションＩＤ初期値生成処理、メータセッションＩＤ初期化処理、メータセッションＩＤ初期化応答を行うきっかけとなる情報である。
【００７６】
中継装置２からのセッションＩＤ初期化要求を受け取った検針メータ１は、セッションＩＤ初期値生成において、セッションＩＤの初期値を生成する（シーケンスＳｅｑ２３）。セッションＩＤの初期値の生成方法としては、例えば、検針メータ１に備えられているＣＰＵ等の演算部において乱数値を発生させ、発生した乱数値をセッションＩＤの初期値とするなどの方法がある。
【００７７】
しかる後、検針メータ１は、メータセッションＩＤ初期化において、前記セッションＩＤ初期値生成において生成されたセッションＩＤの初期値をセッションＩＤ変数として設定する（シーケンスＳｅｑ２４）。この結果、該セッションＩＤの初期値は、メータセッションＩＤの初期値として記憶される。
【００７８】
メータセッションＩＤ初期化の動作を終了すると、検針メータ１は、メータセッションＩＤ初期化応答において、検針メータ１から中継装置２に対して、前記セッションＩＤ初期値の動作により生成したセッションＩＤの初期値を送信する（シーケンスＳｅｑ２５）。
【００７９】
中継装置２は、検針メータ１からメータセッションＩＤ初期化応答としてセッションＩＤ初期値を受け取ると、サーバセッションＩＤ初期化要求において、検針サーバ３に対して前記メータセッションＩＤ初期化応答として受信したセッションＩＤの初期値を送信する（シーケンスＳｅｑ２６）。ここで、中継装置２は、前記メータセッションＩＤ初期化応答に含まれているセッションＩＤの初期値を該サーバセッションＩＤ初期化要求内に設定する動作を行うが、該セッションＩＤの初期値を中継装置２内に記憶して保持するような動作は行わない。
【００８０】
検針サーバ３は、中継装置２からサーバセッションＩＤ初期化要求としてセッションＩＤの初期値を受け取ると、サーバセッションＩＤ初期化を起動する。検針サーバ３は、サーバセッションＩＤ初期化において、前記サーバセッションＩＤ初期化要求で受信したセッションＩＤの初期値をセッションＩＤ変数として設定する（シーケンスＳｅｑ２７）。この結果、該セッションＩＤの初期値は、サーバセッションＩＤの初期値として記憶される。つまり、検針サーバ３は、検針メータ１において記憶されているメータセッションＩＤの初期値の値と同一の値を、サーバセッションＩＤの初期値として保持する。また、該セッションＩＤの初期値の値は、検針メータ１と検針サーバ３との２つの装置が知っている値であるが、中継装置２等の他の装置には、全く判らない値である。
【００８１】
しかる後、検針サーバ３は、サーバセッションＩＤ初期化応答において、中継装置２に対して、前記サーバセッションＩＤ初期化の動作完了を通知する（シーケンスＳｅｑ２８）。該サーバセッションＩＤ初期化応答には、中継装置２が、検針サーバ３側のサーバセッションＩＤの初期化の動作が正しく実行されたか否かを判定するための情報を含んでいる。
【００８２】
ここで、図６に示すように、中継装置２は、シーケンスＳｅｑ２２において、検針メータ１に対して、セッションＩＤ初期化要求を送信した際に、セッションＩＤタイマを起動している（シーケンスＳｅｑ２９）。該セッションＩＤタイマは、中継装置２により管理されるタイマであり、メータセッションＩＤ初期化処理およびサーバセッションＩＤ初期化処理の双方があらかじめ定めた一定時間内に完了したか否かを判定するためのタイマである。
【００８３】
中継装置２は、前記一定時間内に、検針サーバ３からサーバセッションＩＤ初期化応答を受け取ると、セッションＩＤタイマの計時動作を停止させる（シーケンスＳｅｑ３０）。中継装置２は、メータセッションＩＤ初期化応答およびサーバセッションＩＤ初期化応答により、メータセッションＩＤ初期化処理およびサーバセッションＩＤ初期化処理が、前記一定時間内に正しく完了したこと確認できた場合、設定作業者５に対して、セッションＩＤ初期化完了通知を通知する（シーケンスＳｅｑ３１）。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ（Light  Emitting  Diode）等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【００８４】
次に、検針メータ１および検針サーバ３それぞれに記憶されているセッションＩＤ（メータセッションＩＤおよびサーバセッションＩＤ）を更新する動作についてその一例を、図７の説明図を用いて説明する。
【００８５】
図７は、検針メータ１および検針サーバ３それぞれに記憶されているセッションＩＤの更新動作の一例を説明する説明図である。ここで、セッションＩＤとは、前述したように、検針メータ１側においてはメータセッションＩＤとして、検針サーバ３側においてはサーバセッションＩＤとして、更新可能な状態で記憶している変数のことを言う。
【００８６】
図７に示すように、検針メータ１は、当該検針メータ１に内蔵する時計を用いて、更新期間としてあらかじめ設定される時間（Ｔ）が経過する都度、記憶しているメータセッションＩＤをあらかじめ定めた値ずつ更新する（シーケンスＳｅｑ４２、Ｓｅｑ４３）。一方、検針サーバ３は、当該検針サーバ３に内蔵する時計を用いて、更新期間としてあらかじめ設定される時間（Ｔ：検針メータ１側と同じ時間）が経過する都度、記憶しているメータセッションＩＤをあらかじめ定めた値ずつ更新する（シーケンスＳｅｑ５２、Ｓｅｑ５３）。ここで、該更新期間については、検針メータ１と検針サーバ３とで同じ時間として設定されている。例えば、該更新期間は、検針メータ１と検針サーバ３との双方で、午前０時や毎時０分などと、同じ時刻を更新期間として設定するようにすれば良い。他には、例えば、１時間毎や１２時間毎のように、同じ時間間隔を更新期間として設定するようにしても良い。また、更新期間ごとに更新する値（あらかじめ定めた値）は、検針メータ１と検針サーバ３との双方で、同一の値を用いる。
【００８７】
次に、図５のフローチャートのシーケンスＳｅｑ１２に示した鍵交付シーケンスにおける鍵交付動作の流れの一例について、図８のシーケンスチャートを用いて説明する。図８は、鍵交付シーケンスにおける鍵交付動作の流れの一例を示すシーケンスチャートであり、検針業務を司る検針者からの中継装置２に対する鍵交付指示に基づいて起動される。図８のフローチャートは、検針サーバ３において鍵（秘密鍵、公開鍵）を生成して、中継装置２に対して、生成した秘密鍵を交付する場合についてその一例を示している。なお、図８には、検針システムを構成する検針メータ１、公衆回線網４の記載は省略し、中継装置２、検針サーバ３および検針業務を司る検針者６それぞれにおける作業および動作の一例を示している。
【００８８】
図８のシーケンスチャートにおいて、検針者６が、鍵交付起動を中継装置２に指示すると（シーケンスＳｅｑ６１）、中継装置２は、鍵交付プログラムを起動する。鍵交付プログラムとは、図８の以下の動作の流れ（すなわち鍵要求から鍵記憶、鍵交付完了通知までの流れ）を制御するプログラムのことを言う。なお、起動とは、鍵交付プログラムの動作の契機を与えることを意味し、鍵交付プログラムは、例えば、中継装置２のＣＰＵ上で動作するアプリケーションなどにより実行される。
【００８９】
中継装置２は、鍵交付プログラムの動作にしたがい、まず、検針サーバ３に対して、鍵交付要求を送信する（シーケンスＳｅｑ６２）。該鍵交付要求は、検針サーバ３における次の動作となる鍵生成、鍵交付応答のきっかけとなる情報である。
【００９０】
中継装置２からの鍵交付要求を受け取った検針サーバ３は、鍵生成処理を行う（シーケンスＳｅｑ６３）。該鍵生成処理とは、鍵交付要求を送信した中継装置２に対応する公開鍵（KeyＰ）と秘密鍵（KeyＳ）とを生成する処理のことである。
【００９１】
検針サーバ３は、生成した公開鍵（KeyＰ）を記憶して保持するとともに、中継装置２に対して、鍵交付応答を送信する（シーケンスＳｅｑ６４）。該鍵交付応答は、生成した秘密鍵（KeyＳ）を含む情報である。検針サーバ３からの鍵交付応答を受け取った中継装置２は、鍵記憶処理において、検針サーバ３から受け取った鍵交付応答に含まれている秘密鍵（KeyＳ）を記憶して保持する（シーケンスＳｅｑ６５）。
【００９２】
しかる後、中継装置２は、検針者６に対して、鍵交付完了通知を通知する（シーケンスＳｅｑ６６）。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【００９３】
次に、図５のフローチャートのシーケンスＳｅｑ１３に示した検針シーケンスにおける検針動作の流れの一例について、図９のシーケンスチャートを用いて説明する。図９は、検針シーケンスにおける検針動作の流れの一例を示すシーケンスチャートである。なお、図９には、検針システムを構成する公衆回線網４の記載は省略し、検針メータ１、中継装置２、検針サーバ３および検針業務を司る検針者６それぞれにおける作業および動作の一例を示している。また、図９において、実線矢印は、装置間の信号の流れを示し、破線矢印は、中継装置２と検針者６との間の情報の流れを示している。
【００９４】
図９のシーケンスチャートにおいて、検針者６が、検針プログラム起動を中継装置２に指示すると（シーケンスＳｅｑ７１）、中継装置２は、検針プログラムを起動する。検針プログラムとは、図９の以下の動作の流れ（すなわち検針要求から検針検証、検針完了通知までの流れ）を制御するプログラムのことを言う。なお、起動とは、検針プログラムの動作の契機を与えることを意味し、検針プログラムは、例えば、中継装置２のＣＰＵ上で動作するアプリケーションなどにより実行される。
【００９５】
中継装置２は、検針プログラムの動作にしたがい、まず、検針メータ１に対して、検針要求を送信する（シーケンスＳｅｑ７２）。該検針要求は、検針メータ１における次の動作となるサーバ検証用データ生成処理のきっかけとなる情報である。
【００９６】
中継装置２からの検証要求を受け取った検針メータ１は、サーバ検証用データ生成処理において、対象とする情報（すなわち検針値）の計測を行うとともに、サーバ検証用の被検証値として被検証用ハッシュ値（Ｈｍ）を生成する（シーケンスＳｅｑ７３）。検針メータ１が計測した情報（すなわち検針値）は、メータ値（ＭＶ）として取得される。また、サーバ検証用の被検証値として生成した被検証用ハッシュ値（Ｈｍ）は、メータ値（ＭＶ）と検針メータ１が管理するセッションＩＤすなわちメータセッションＩＤ（ＳＩＤＭ）とを、ハッシュ計算（Hash  Calculation）関数（Ｈ）を用いて、ハッシュ化することにより生成する。つまり、被検証用ハッシュ値（Ｈｍ）の算出式は、次の式（１）により与えられる。
Ｈｍ＝Ｈ（ＳＩＤＭ｜ＭＶ）              …（１）
【００９７】
被検証用ハッシュ値（Ｈｍ）は、検針サーバ３が、検針メータ１から中継装置２、公衆回線網４を介して受信した検針データに不正なデータが含まれていないことを検証するときに使用される値（すなわち被検証値として用いられる値）である。また、ハッシュ計算（Hash  Calculation）には、ＭＤ５（Message  Digest  ５）やＳＨＡ（Secure  Hash   Algorithm）シリーズと称されるハッシュ関数アルゴリズム等を用いる。
【００９８】
検針メータ１は、被検証用ハッシュ値（Ｈｍ）を生成すると、検針結果であるメータ値（ＭＶ）と生成した被検証用ハッシュ値（Ｈｍ）とを含んで構成される検針応答を、中継装置２に対して送信する（シーケンスＳｅｑ７４）。つまり、該検針応答に含まれる検針データのデータ構成としては、次の式（２）に示すように、検針メータ１を特定するメータＩＤ（ＭＩＤ）、サーバ検証用の被検証値である被検証用ハッシュ値（Ｈｍ）、および、検針結果の検針値であるメータ値（ＭＶ）を少なくとも含んで構成される。
検針データ＝ＭＩＤ｜Ｈｍ｜ＭＶ            …（２）
【００９９】
中継装置２は、検針メータ１からの検針応答を受け取ると、検針者６に対して、検針結果である検針値の承認を求めるための検針値承認要求を通知する（シーケンスＳｅｑ７５）。つまり、該検針値承認要求は、検針値であるメータ値（ＭＶ）を通知するものである。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【０１００】
検針者６は、中継装置２からの検針値承認要求を受け取ると、該検針値承認要求により通知されてきたメータ値（ＭＶ）を確認し、中継装置２に備えられた入力インタフェースを使用して、検針値承認応答を中継装置２に対して入力することにより、メータ値（ＭＶ）の承認を行う（シーケンスＳｅｑ７６）。
【０１０１】
検針者６からの検針値承認応答を受け取ることにより、検針値の承認を得た中継装置２は、検針メータ１から送信されてきた検針応答に含まれる検針データの暗号化処理を行う（シーケンスＳｅｑ７７）。該暗号化処理において、暗号化される検針データは、メータＩＤ（ＭＩＤ）、被検証用ハッシュ値（Ｈｍ）、メータ値（ＭＶ）を結合したデータであり、図５のシーケンスＳｅｑ１２の鍵交付シーケンスにおいて記憶した秘密鍵（KeyＳ）を用いて暗号化される。すなわち、該暗号化処理により得られる暗号化データ（Ｅrep）の算出式は、次の式（３）により与えられる。
Ｅrep＝Ｅ(KeyＳ,ＭＩＤ｜Ｈｍ｜ＭＶ)          …（３）
なお、メータＩＤ（ＭＩＤ）は、検針メータ１を特定するデータであり、被検証用ハッシュ値（Ｈｍ）は、前述したように、検針値とメータセッションＩＤとの結合データのハッシュ化データであり、メータ値（ＭＶ）は、検針値である。
【０１０２】
しかる後、中継装置２は、検針サーバ３に対して、暗号化処理を行うことにより生成された暗号化データ（Ｅrep）を含む検針通知を送信する（シーケンスＳｅｑ７８）。つまり、該検針通知に含まれるデータは、メータＩＤ（ＭＩＤ）、被検証用ハッシュ値（Ｈｍ）、メータ値（ＭＶ）を暗号化した暗号化データ（Ｅrep）である。
【０１０３】
検針サーバ３は、中継装置２からの暗号化データ（Ｅrep）を含む前記検針通知を、受信暗号化データ（Ｅ’rep）を含む受信検針通知として受け取ると、復号処理において、受信した該受信検針通知に含まれている受信暗号化データ（Ｅ’rep）の復号を行う（シーケンスＳｅｑ７９）。ここで、復号処理においては、当該検針サーバ３において作成してあらかじめ保存している公開鍵（KeyＰ）を用いて、受信暗号化データ（Ｅ’rep）の復号を行う。その結果、検針サーバ３における受信検針データとして、受信メータＩＤ（ＭＩＤ’）、受信被検証用ハッシュ値（Ｈｍ’）、受信メータ値（ＭＶ’）を得る。復号したそれぞれのデータは、中継装置２が暗号化データとして暗号化する前の検針データを構成するデータに対応している。すなわち、復号したそれぞれのデータは、メータＩＤ（ＭＩＤ）、被検証用ハッシュ値（Ｈｍ）、メータ値（ＭＶ）にそれぞれ対応したデータである。
【０１０４】
つまり、かくのごとき検針サーバ３の復号処理は、次の式（４）の計算式を用いて表すことができる。
Ｅ（KeyＰ，Ｅ’rep）＝ＭＩＤ’｜Ｈｍ’｜ＭＶ’          …（４）
【０１０５】
検針サーバ３は、受信暗号化データ（Ｅ’rep）の復号処理を完了すると、次に、検証事前計算処理において、復号処理により得られた受信メータＩＤ（ＭＩＤ’）に対応するサーバセッションＩＤ（ＳＩＤＳ）を、検針サーバ３内の記憶領域から読み出す。さらに、検針サーバ３は、検証事前計算処理において、読み出したサーバセッションＩＤ（ＳＩＤＳ）と復号処理により得られた受信メータ値（ＭＶ’）とを結合し、その結合値のハッシュ化を行うことにより、サーバ検証用の検証値として検証用ハッシュ値（Ｈｓ）を求める（シーケンスＳｅｑ８０）。検証用ハッシュ値（Ｈｓ）を求める計算式は、次の式（５）により与えられる。
Ｈｓ＝Ｈ（ＳＩＤＳ｜ＭＶ’）              …（５）
【０１０６】
しかる後、検針サーバ３は、検針値検証処理において、受信検針値である受信メータ値（ＭＶ’）の正常性の検証処理を行う（シーケンスＳｅｑ８１）。該検証処理は、復号処理により得られた受信被検証用ハッシュ値（Ｈｍ’）と検証事前計算処理により得られた検証用ハッシュ値（Ｈｓ）とを比較することにより行われる。
【０１０７】
該比較により求められた比較結果に基づいて、以下の判定を行う。
（１）Ｈｓ＝Ｈｍ’の場合
受信した受信メータ値（ＭＶ’）すなわち受信検針値は正しい検針値であると判定する。
（２）Ｈｓ≠Ｈｍ’の場合
受信した受信メータ値（ＭＶ’）すなわち受信検針値は不正な検針値であると判定する。
【０１０８】
ここで、正しい検針値とは、期待される検針メータ１から送信されてきた検針値すなわちメータ値（ＭＶ）であることを意味する。また、受信した受信メータ値（ＭＶ’）すなわち受信検針値が正しい検針値であることが検証された場合には、検針サーバ３は、受信検針値すなわち受信メータ値（ＭＶ’）を受理する。一方、受信した受信メータ値（ＭＶ’）すなわち受信検針値が不正な検針値であることが検証された場合には、検針サーバ３は、受信検針値すなわち受信メータ値（ＭＶ’）を受理しない。ここで、受理とは、例えば、供給者が、需要者に対する料金徴収のための検針値として受信検針値すなわち受信メータ値（ＭＶ’）を使用することを意味している。
【０１０９】
次に、シーケンスＳｅｑ８０およびシーケンスＳｅｑ８１それぞれの検証事前計算処理および検針値検証処理の運用上の処理に関して、さらに、補足説明を行う。検針メータ１におけるメータセッションＩＤと検針サーバ３におけるサーバセッションＩＤとは、前述したように、本来、同じ値で変化することを前提にしているが、偶々、両者の値が一致しない場合が存在する。
【０１１０】
両者の値が一致しない第１番目の場合としては、検針メータ１におけるメータセッションＩＤと検針サーバ３におけるサーバセッションＩＤとの設定のタイミングのずれのために、メータセッションＩＤとサーバセッションＩＤとの更新のタイミングがずれてしまい、偶々、両者でずれている時間帯において、検針シーケンスが動作した場合である。
【０１１１】
両者の値が一致しない第２番目の場合としては、検針メータ１および検針サーバ３それぞれの装置の内部時計が刻む時間に小さな誤差が累積し、メータセッションＩＤとサーバセッションＩＤとの更新間隔の誤差が、メータセッションＩＤとサーバセッションＩＤとの値のずれとして影響する場合である。
【０１１２】
このため、両者の値が一致しない場合があることを前提にして、検針サーバ３は対処する必要がある。まず、シーケンスＳｅｑ８０の検証事前計算処理においては、記憶領域に記憶しているサーバセッションＩＤの他に、時間ずれを考慮したサーバセッションＩＤをあらかじめ定めた生成アルゴリズムに基づいて別途生成し、複数のサーバセッションＩＤそれぞれを用いて、サーバ検証用の検証値として複数の検証用ハッシュ値（Ｈｓ）を求める。
【０１１３】
次に、シーケンスＳｅｑ８１の検針値検証処理においては、シーケンスＳｅｑ８０の検証事前計算処理において得られた複数の検証用ハッシュ値（Ｈｓ）それぞれに対して受信被検証用ハッシュ値（Ｈｍ’）を比較する処理を行う。そして、複数の比較結果のうち、Ｈｓ＝Ｈｍ’の関係が成立する検証用ハッシュ値（Ｈｓ）が存在する場合には、受信した受信メータ値（ＭＶ’）すなわち受信検針値は正しい検針値であると判定する。かかる処理を行うことにより、メータセッションＩＤとサーバセッションＩＤとの値が一致していない期間であっても、検針値の検証を行うことが可能になる。
【０１１４】
また、Ｈｓ＝Ｈｍ’の関係が成立する場合の検証用ハッシュ値（Ｈｓ）の生成に使用したサーバセッションＩＤを、時間ずれを補正したサーバセッションＩＤとして、該当するサーバセッションＩＤの記憶領域に再設定すれば良い。
【０１１５】
検針サーバ３は、シーケンスＳｅｑ８１の検針値検証処理を完了すると、中継装置２に対して、検針通知応答を送信する（シーケンスＳｅｑ８２）。該検針通知応答は、検針サーバ３における検針データの検証結果を通知するものである。中継装置２は、検針サーバ３からの検針通知応答を受け取ると、検針完了通知において、検針者６に対して、検針サーバ３から受け取った検証結果を通知する（シーケンスＳｅｑ８３）。
【０１１６】
（実施形態の効果の説明）
以上に詳細に説明したように、本実施形態による検針システムにおいては、次のような効果が得られる。
【０１１７】
まず、本実施形態による検針システムにおいては、検針サーバ３において、検針値が正しいか否かの検証を行うことができるという効果が得られる。その理由は、図１のステップＳ１の検針メータ１におけるハッシュ値計算に示すように、検針メータ１において検針値とあらかじめ設定したメータセッションＩＤとからハッシュ値を生成するからである。そして、図１の検針メータ１が送信する検針データに示すように、検針メータ１から検針サーバ３に受け渡す検針データを、検針メータ１を特定するメータＩＤ、検針値の他に、生成した前記ハッシュ値を含む構成としているからである。さらに補足すれば、検針サーバ３は、前記検針データを受け取った際に、検針メータ１から送られてきた前記ハッシュ値を、検針メータ１から送られてきた検索値とあらかじめ設定したサーバセッションＩＤとに基づいて生成したハッシュ値と比較し、両者が一致するか否かを検証しているからである。
【０１１８】
次に、検針データの暗号化処理を実施する装置に関して、検針システムの初期構築時の費用について検討を行う。検針者への応答性を損なうことなく、暗号アルゴリズムを実行するためには、高速な演算装置が必要であるが、一般的に、高速な演算装置は高価である。なお、検針者への応答性とは、検針者の操作に対する装置の応答性能を意味する。
【０１１９】
例えば、本実施形態の場合とは異なり、検針メータ１側において暗号アルゴリズムを実行する場合、検針メータ１に高価な演算処理用の部品を使用することが必要になるので、検針メータ１の価格が高価になる。
【０１２０】
一方、本実施形態の場合のように、中継装置２において暗号アルゴリズムを実行する場合、携帯電話、スマートフォン等の装置からなる中継装置２には、既に高速な演算装置が備わっているので、暗号アルゴリズムの実行に高速な該演算装置を使用することが可能であり、検針システムの構築に関わる余分の費用は発生しない。なお、前記演算装置とは、ＣＰＵ（Central  Processing  Unit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の暗号化のための数値演算処理を実行することができる装置を意味する。
【０１２１】
以上より、検針システムの初期構築時において、本実施形態の場合のように、中継装置２に暗号アルゴリズムを担当させる方が安価に検針システムを構築することができるという効果が得られる。
【０１２２】
次に、暗号化のアルゴリズム更新時の費用について検討を行う。将来、暗号化のアルゴリズムに脆弱性が見つかり、暗号アルゴリズムの更新が必要になる可能性がある。
【０１２３】
例えば、本実施形態の場合とは異なり、検針メータ１に暗号アルゴリズムのプログラムが実装されている場合、次のような問題がある。すなわち、検針システムの供給者または該供給者が管理する作業者が、各検針メータ１の設置場所に赴いて、その設置場所で、検針メータ１の暗号アルゴリズムに関わるファームウェアの書き換え作業を行うことが必要になる。
【０１２４】
一方、本実施形態の場合のように、中継装置２において暗号アルゴリズム処理を行う場合は、中継装置２が新たな暗号アルゴリズムのプログラムを公衆回線網４経由でダウンロードしてインストールすれば、暗号アルゴリズムの更新を行うことが可能である。
【０１２５】
以上より、中継装置２において暗号アルゴリズム処理を実施する方が、検針メータ１よりも暗号アルゴリズムの更新の容易性を高くすることができるという効果が得られる。
【０１２６】
検針データの暗号化処理を実施する装置に関する以上の検討結果より、本実施形態による検針システムにおいては、次のような２つの効果が同時に得られる。すなわち、中継装置２に暗号化処理を担当させる方が、検針メータ１に担当させるよりも、検針システムの初期構築コストを安価にし、かつ、暗号化処理の更新容易性が高いという２つの効果が得られる。
【０１２７】
さらには、一般的には、現状における最適な仕組みとして適用した信頼性対策であっても、将来的に脆弱性が高まってくる場合も想定され、機器やプログラムの更新を行う必要性が発生することもある。かくのごとき更新を行う際の費用は、供給者および需要者の負担となる。よって、本実施形態においては、検針システムに適用する検針プログラムをはじめとする中継装置２および検針サーバ３内の各プログラムについても、公衆回線網４経由で、新たなプログラムをダウンロードして入れ替えることにより、容易に更新することを可能にしている。
【０１２８】
［本発明の他の実施形態］
次に、本発明による検針システムの他の実施形態について説明する。以下に記載の他の実施形態においては、検針システムのシステム構成は、前述した図３のシステム構成図と全く同様であり、図６に示したセッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作に関する他の動作例について説明している。
【０１２９】
（第１の他の実施形態）
まず、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作に関する第１の他の動作例について、図１０のシーケンスチャートを用いて説明する。図１０は、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第１の他の例を示すシーケンスチャートである。図１０に示す動作例は、図６の場合とは異なり、セッションＩＤ初期値生成を中継装置２において行う場合の具体例を示している。なお、図６の場合と同様、図１０には、検針システムを構成する公衆回線網４の記載は省略し、検針メータ１、中継装置２、検針サーバ３およびセッションＩＤ初期化作業を行う設定作業者５それぞれにおける作業および動作を示している。
【０１３０】
図１０のシーケンスチャートにおいて、設定作業者５が、セッションＩＤ初期化起動を中継装置２に指示すると（シーケンスＳｅｑ２１Ａ）、中継装置２は、図６の場合と同様、セッションＩＤ初期化プログラムを起動する。セッションＩＤ初期化プログラムとは、図１０の以下の動作の流れを制御するプログラムのことを言う。なお、起動とは、図６の場合と同様、セッションＩＤ初期化プログラムの動作の契機を与えることを意味し、セッションＩＤ初期化プログラムは、例えば、中継装置２のＣＰＵ上で動作するアプリケーションなどにより実行される。
【０１３１】
中継装置２は、セッションＩＤ初期化プログラムの動作にしたがい、まず、セッションＩＤ初期値生成において、セッションＩＤの初期値を生成する（シーケンスＳｅｑ２２Ａ）。セッションＩＤの初期値の生成方法としては、例えば、中継装置２に備えられているＣＰＵ等の演算部において乱数値を発生させ、発生した乱数値をセッションＩＤの初期値とするなどの方法がある。
【０１３２】
しかる後、中継装置２は、検針メータ１に対して、メータセッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２３Ａ）。該メータセッションＩＤ初期化要求は、セッションＩＤ初期値生成処理において生成したセッションＩＤの初期値を、メータセッションＩＤの初期値として通知するものである。ここで、中継装置２は、前記セッションＩＤ初期化生成処理において生成したセッションＩＤの初期値を該メータセッションＩＤ初期化要求内および後述のサーバセッションＩＤ初期化要求内に設定する動作を行うが、その後は廃棄してしまい、該セッションＩＤの初期値を中継装置２内に記憶して保持するような動作は行わない。
【０１３３】
中継装置２からのメータセッションＩＤ初期化要求を受け取った検針メータ１は、メータセッションＩＤ初期値において、中継装置２から受け取ったセッションＩＤの初期値を、セッションＩＤ変数として設定する（シーケンスＳｅｑ２４Ａ）。この結果、該セッションＩＤの初期値は、メータセッションＩＤの初期値として記憶される。
【０１３４】
メータセッションＩＤ初期化の動作を終了すると、検針メータ１は、メータセッションＩＤ初期化応答を中継装置２に対して送信する（シーケンスＳｅｑ２５Ａ）。該メータセッションＩＤ初期化応答には、中継装置２において、検針メータ１側のメータセッションＩＤ初期化の動作が正しく実行されたか否かを判定するための情報が含まれている。
【０１３５】
中継装置２は、検針メータ１からメータセッションＩＤ初期化応答を受け取ると、メータセッション初期化の動作が正しく実行されたことを確認した後、サーバセッションＩＤ初期化要求において、検針サーバ３に対して前記セッションＩＤ初期値生成において生成したセッションＩＤの初期値を送信する（シーケンスＳｅｑ２６Ａ）。
【０１３６】
検針サーバ３は、中継装置２からサーバセッションＩＤ初期化要求としてセッションＩＤの初期値を受け取ると、図６の場合と同様、サーバセッションＩＤ初期化を起動する。検針サーバ３は、サーバセッションＩＤ初期化において、図６の場合と同様、前記サーバセッションＩＤ初期化要求で受信したセッションＩＤの初期値をセッションＩＤ変数として設定する（シーケンスＳｅｑ２７Ａ）。この結果、該セッションＩＤの初期値は、サーバセッションＩＤの初期値として記憶される。つまり、検針サーバ３は、検針メータ１において記憶されているメータセッションＩＤの初期値の値と同一の値を、サーバセッションＩＤの初期値として保持する。また、該セッションＩＤの初期値の値は、検針メータ１と中継装置２と検針サーバ３との３つの装置が知っている値であるが、セッションＩＤ初期化シーケンス以外で使用される中継装置２およびその他の装置には、全く判らない値である。
【０１３７】
しかる後、検針サーバ３は、図６の場合と同様、サーバセッションＩＤ初期化応答において、中継装置２に対して、前記サーバセッションＩＤ初期化の動作完了を通知する（シーケンスＳｅｑ２８Ａ）。該サーバセッションＩＤ初期化応答には、中継装置２が、検針サーバ３側のサーバセッションＩＤの初期化の動作が正しく実行されたか否かを判定するための情報を含んでいる。
【０１３８】
ここで、図１０に示すように、中継装置２は、シーケンスＳｅｑ２２Ａにおいて、セッションＩＤ初期値生成の動作を完了した際に、セッションＩＤタイマを起動している（シーケンスＳｅｑ２９Ａ）。該セッションＩＤタイマは、図６の場合と同様、中継装置２により管理されるタイマであり、メータセッションＩＤ初期化処理およびサーバセッションＩＤ初期化処理の双方があらかじめ定めた一定時間内に完了したか否かを判定するためのタイマである。
【０１３９】
中継装置２は、前記一定時間内に、検針サーバ３からサーバセッションＩＤ初期化応答を受け取ると、図６の場合と同様、セッションＩＤタイマの計時動作を停止させる（シーケンスＳｅｑ３０Ａ）。中継装置２は、メータセッションＩＤ初期化応答およびサーバセッションＩＤ初期化応答により、メータセッションＩＤ初期化処理およびサーバセッションＩＤ初期化処理が、前記一定時間内に正しく完了したことを確認することができた場合、図６の場合と同様、設定作業者５に対して、セッションＩＤ初期化完了通知を通知する（シーケンスＳｅｑ３１Ａ）。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【０１４０】
（第２の他の実施形態）
次に、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作に関する第２の他の動作例について、図１１のシーケンスチャートを用いて説明する。図１１は、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第２の他の例を示すシーケンスチャートである。図１１に示す動作例は、図６の場合とは異なり、セッションＩＤ初期値生成を検針サーバ３において行う場合の具体例を示している。なお、図６の場合と同様、図１１には、検針システムを構成する公衆回線網４の記載は省略し、検針メータ１、中継装置２、検針サーバ３およびセッションＩＤ初期化作業を行う設定作業者５それぞれにおける作業および動作を示している。
【０１４１】
図１１のシーケンスチャートにおいて、設定作業者５が、セッションＩＤ初期化起動を中継装置２に指示すると（シーケンスＳｅｑ２１Ｂ）、中継装置２は、図６の場合と同様、セッションＩＤ初期化プログラムを起動する。セッションＩＤ初期化プログラムとは、図１１の以下の動作の流れを制御するプログラムのことを言う。なお、起動とは、図６の場合と同様、セッションＩＤ初期化プログラムの動作の契機を与えることを意味し、セッションＩＤ初期化プログラムは、例えば、中継装置２のＣＰＵ上で動作するアプリケーションなどにより実行される。
【０１４２】
中継装置２は、セッションＩＤ初期化プログラムの動作にしたがい、まず、検針サーバ３に対して、サーバセッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２２Ｂ）。該セッションＩＤ初期化要求は、検針サーバ３における次の動作となるサーバセッションＩＤ初期値生成処理、サーバセッションＩＤ初期化処理、サーバセッションＩＤ初期化応答を行うきっかけとなる情報である。
【０１４３】
検針サーバ３は、中継装置２からのセッションＩＤ初期化要求を受け取ると、サーバセッションＩＤ初期値生成において、セッションＩＤの初期値を生成する（シーケンスＳｅｑ２３Ｂ）。セッションＩＤの初期値の生成方法としては、例えば、検針サーバ３に備えられているＣＰＵ等の演算部において乱数値を発生させ、発生した乱数値をセッションＩＤの初期値とするなどの方法がある。
【０１４４】
しかる後、検針サーバ３は、サーバセッションＩＤ初期化において、サーバセッションＩＤ初期値生成において生成したセッションＩＤの初期値を、セッションＩＤ変数の初期値として設定する（シーケンスＳｅｑ２４Ｂ）。この結果、該セッションＩＤの初期値は、サーバセッションＩＤの初期値として記憶される。
【０１４５】
検針サーバ３は、サーバセッションＩＤ初期化の動作が完了すると、中継装置２に対して、サーバセッションＩＤ初期化応答を送信する（シーケンスＳｅｑ２５Ｂ）。該サーバセッションＩＤ初期化応答は、サーバセッションＩＤ初期値生成において生成したセッションＩＤの初期値（すなわち、サーバセッションＩＤの初期値）を含む情報である。
【０１４６】
検針サーバ３からのサーバセッションＩＤ初期化応答を受け取った中継装置２は、検針メータ１に対して、メータセッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２６Ｂ）。該メータセッションＩＤ初期化要求は、検針サーバ３から受け取ったサーバセッションＩＤ初期化応答により通知されたセッションＩＤの初期値を含む情報である。ここで、中継装置２は、前記サーバセッションＩＤ初期化応答に含まれているセッションＩＤの初期値を該メータセッションＩＤ初期化要求内に設定する動作を行うが、該セッションＩＤの初期値を中継装置２内に記憶するような動作は行わない。
【０１４７】
中継装置２からのメータセッションＩＤ初期化要求を受け取った検針メータ１は、図１０の場合と同様、メータセッションＩＤ初期化において、中継装置２から受け取ったセッションＩＤの初期値を、セッションＩＤ変数として設定する（シーケンスＳｅｑ２７Ｂ）。この結果、該セッションＩＤの初期値は、メータセッションＩＤの初期値として記憶される。つまり、検針メータ１は、検針サーバ３において記憶されているサーバセッションＩＤの初期値の値と同一の値を、メータセッションＩＤの初期値として保持する。また、該セッションＩＤの初期値の値は、検針サーバ３と検針メータ１との２つの装置が知っている値であるが、中継装置２等の他の装置には、全く判らない値である。
【０１４８】
メータセッションＩＤ初期化の動作を終了すると、検針メータ１は、図１０の場合と同様、メータセッションＩＤ初期化応答を中継装置２に対して送信する（シーケンスＳｅｑ２８Ｂ）。該メータセッションＩＤ初期化応答には、中継装置２において、検針メータ１側のメータセッションＩＤ初期化の動作が正しく実行されたか否かを判定するための情報が含まれている。
【０１４９】
中継装置２は、検針メータ１からメータセッションＩＤ初期化応答を受け取ると、検針サーバ３に対してメータセッションＩＤ初期値完了通知を送信する（シーケンスＳｅｑ２９Ｂ）。該メータセッションＩＤ初期値完了通知には、検針メータ１から受け取ったメータセッションＩＤ初期化応答に含まれていた、検針メータ１側のメータセッションＩＤ初期化の動作が正しく実行されたか否かを判定するための情報が含まれている。
【０１５０】
ここで、図１１に示すように、検針サーバ３は、シーケンスＳｅｑ２３Ｂにおいて、サーバセッションＩＤ初期値生成の動作を完了した際に、セッションＩＤタイマを起動している（シーケンスＳｅｑ３０Ｂ）。該セッションＩＤタイマは、図６の場合とは異なり、検針サーバ３により管理されるタイマであり、サーバセッションＩＤ初期化処理およびメータセッションＩＤ初期化処理の双方があらかじめ定めた一定時間内に完了したか否かを判定するためのタイマである。
【０１５１】
検針サーバ３は、前記一定時間内に、中継装置２からメータセッションＩＤ初期化完了通知を受け取ると、セッションＩＤタイマの計時動作を停止させる（シーケンスＳｅｑ３１Ｂ）。
【０１５２】
さらに、検針サーバ３は、サーバセッションＩＤ初期化処理およびメータセッションＩＤ初期化処理の双方があらかじめ定めた一定時間内に完了したことを確認することができた場合、中継装置２に対して、メータセッションＩＤ初期化完了通知応答を送信する（シーケンスＳｅｑ３２Ｂ）。
【０１５３】
中継装置２は、検針サーバ３からメータセッションＩＤ初期化完了通知応答を受け取ると、設定作業者５に対して、セッションＩＤ初期化完了通知を通知する（シーケンスＳｅｑ３３Ｂ）。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【０１５４】
（第３の他の実施形態）
次に、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作に関する第３の他の動作例について、図１２のシーケンスチャートを用いて説明する。図１２は、セッションＩＤ初期化シーケンスにおけるセッションＩＤ初期値生成動作の流れの図６とは異なる第３の他の例を示すシーケンスチャートである。図１２に示す動作例は、図６の場合とは異なり、メータセッションＩＤ初期化およびサーバセッション初期化の処理を検針メータ１および検針サーバ３それぞれにおいてあらかじめ定めた既知の値を用いて行う場合の具体例を示している。なお、図６の場合と同様、図１２には、検針システムを構成する公衆回線網４の記載は省略し、検針メータ１、中継装置２、検針サーバ３およびセッションＩＤ初期化作業を行う設定作業者５それぞれにおける作業および動作を示している。
【０１５５】
図１２のシーケンスチャートにおいて、設定作業者５が、セッションＩＤ初期化起動を中継装置２に指示すると（シーケンスＳｅｑ２１Ｃ）、中継装置２は、図６の場合と同様、セッションＩＤ初期化プログラムを起動する。セッションＩＤ初期化プログラムとは、図１２の以下の動作の流れを制御するプログラムのことを言う。なお、起動とは、図６の場合と同様、セッションＩＤ初期化プログラムの動作の契機を与えることを意味し、セッションＩＤ初期化プログラムは、例えば、中継装置２のＣＰＵ上で動作するアプリケーションなどにより実行される。
【０１５６】
中継装置２は、セッションＩＤ初期化プログラムの動作にしたがい、まず、検針サーバ３に対して、サーバセッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２２Ｃ）。該サーバセッションＩＤ初期化要求は、検針サーバ３において次の動作となるサーバセッションＩＤ初期化処理、サーバセッションＩＤ初期化応答を行うきっかけとなる情報である。
【０１５７】
検針サーバ３は、中継装置２からのサーバセッションＩＤ初期化要求を受け取ると、サーバセッションＩＤ初期化において、セッションＩＤの初期値としてあらかじめ定めた既知の値を、セッションＩＤ変数の初期値として設定する（シーケンスＳｅｑ２３Ｃ）。この結果、該セッションＩＤの初期値は、サーバセッションＩＤの初期値として記憶される。
【０１５８】
検針サーバ３は、サーバセッションＩＤ初期化の動作が完了すると、中継装置２に対して、サーバセッションＩＤ初期化応答を送信する（シーケンスＳｅｑ２４Ｃ）。該サーバセッションＩＤ初期化応答は、検針サーバ３においてサーバセッション初期化の動作が正常に実施されたか否かを中継装置２に対して通知するための情報を含んでいる。
【０１５９】
中継装置２は、検針サーバ３から正常にサーバセッション初期化の動作が実施されたことを示すサーバセッションＩＤ初期化応答を受け取った場合、次に、検針メータ１に対して、メータセッションＩＤ初期化要求を送信する（シーケンスＳｅｑ２５Ｃ）。該メータセッションＩＤ初期化要求は、検針メータ１において次の動作となるメータセッションＩＤ初期化処理、メータセッションＩＤ初期化応答を行うきっかけとなる情報である。
【０１６０】
検針メータ１は、中継装置２からのメータセッションＩＤ初期化要求を受け取ると、メータセッションＩＤ初期化において、セッションＩＤの初期値としてあらかじめ定めた既知の値を、セッションＩＤ変数の初期値として設定する（シーケンスＳｅｑ２６Ｃ）。この結果、該セッションＩＤの初期値は、メータセッションＩＤの初期値として記憶される。
【０１６１】
検針サーバ３は、メータセッションＩＤ初期化の動作が完了すると、中継装置２に対して、メータセッションＩＤ初期化応答を送信する（シーケンスＳｅｑ２７Ｃ）。該メータセッションＩＤ初期化応答は、検針メータ１においてメータセッション初期化の動作が正常に実施されたか否かを中継装置２に対して通知するための情報を含んでいる。ここで、検針メータ１における前記既知の値は、検針サーバ３における前記既知の値と同一の値であり、メータセッションＩＤの初期値の値とサーバセッションＩＤの初期値の値とは、同一の値である。また、該既知の値、すなわち、メータセッションＩＤの初期値の値とサーバセッションＩＤの初期値の値とは、検針サーバ３と検針メータ１とのそれぞれの装置が知っている値であるが、中継装置２等の他の装置には、全く判らない値である。
【０１６２】
ここで、図１２に示すように、中継装置２は、シーケンスＳｅｑ２２Ｃにおいて、サーバセッションＩＤ初期値要求の動作を完了した際に、セッションＩＤタイマを起動している（シーケンスＳｅｑ２８Ｃ）。該セッションＩＤタイマは、図６の場合と同様、中継装置２により管理されるタイマであり、サーバセッションＩＤ初期化処理およびメータセッションＩＤ初期化処理の双方があらかじめ定めた一定時間内に完了したか否かを判定するためのタイマである。
【０１６３】
中継装置２は、前記一定時間内に、検針メータ１からメータセッションＩＤ初期化応答を受け取ると、図６の場合と同様、セッションＩＤタイマの計時動作を停止させる（シーケンスＳｅｑ２９Ｃ）。中継装置２は、サーバセッションＩＤ初期化応答およびメータセッションＩＤ初期化応答により、サーバセッションＩＤ初期化処理およびメータセッションＩＤ初期化処理が、前記一定時間内に正しく完了したことを確認することができた場合、図６の場合と同様、設定作業者５に対して、セッションＩＤ初期化完了通知を通知する（シーケンスＳｅｑ３０Ｃ）。該通知を行う方法としては、例えば、中継装置２に実装されるディスプレイやＬＥＤ等への出力を用いて視覚により確認する方法、スピーカへの音声出力を用いて聴覚により認識する方法、振動機能を用いて振動覚により認識する方法等が可能である。
【０１６４】
以上、本発明の好適な実施形態の構成を説明した。しかし、かかる実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【符号の説明】
【０１６５】
１      検針メータ
２      中継装置
３      検針サーバ
４      公衆回線網
５      設定作業者
６      検針者
【図１】
2018081352.tif 000003
【図２】
2018081352.tif 000004
【図３】
2018081352.tif 000005
【図４】
2018081352.tif 000006
【図５】
2018081352.tif 000007
【図６】
2018081352.tif 000008
【図７】
2018081352.tif 000009
【図８】
2018081352.tif 000010
【図９】
2018081352.tif 000011
【図１０】
2018081352.tif 000012
【図１１】
2018081352.tif 000013
【図１２】
2018081352.tif 000014