JP2014241465A - 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム - Google Patents

署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム Download PDF

Info

Publication number
JP2014241465A
JP2014241465A JP2013122412A JP2013122412A JP2014241465A JP 2014241465 A JP2014241465 A JP 2014241465A JP 2013122412 A JP2013122412 A JP 2013122412A JP 2013122412 A JP2013122412 A JP 2013122412A JP 2014241465 A JP2014241465 A JP 2014241465A
Authority
JP
Japan
Prior art keywords
data
signature
temporary
power usage
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013122412A
Other languages
English (en)
Inventor
雄一 駒野
Yuichi Komano
雄一 駒野
嘉一 花谷
Kiichi Hanatani
嘉一 花谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013122412A priority Critical patent/JP2014241465A/ja
Priority to US14/196,905 priority patent/US20140365026A1/en
Publication of JP2014241465A publication Critical patent/JP2014241465A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01DMEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
    • G01D4/00Tariff metering apparatus
    • G01D4/002Remote reading of utility meters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B90/00Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02B90/20Smart grids as enabling technology in buildings sector
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S20/00Management or operation of end-user stationary applications or the last stages of power distribution; Controlling, monitoring or operating thereof
    • Y04S20/30Smart metering, e.g. specially adapted for remote reading

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】データの真正性を確保しつつ処理の効率化を図ることができる署名生成装置、署名生成方法、及び署名生成プログラムを提供する。【解決手段】署名生成装置は、生成部と更新部を備える。生成部は、所定数の第1仮データを含むデータ系列とデータ系列に対応する仮署名を生成する。更新部は、データ系列の第1仮データを第1実データに置き換えて仮署名を更新し、すべての第1仮データを第1実データに置き換えることで第1実データを含むデータ系列に対応する署名を生成する。【選択図】図4

Description

本発明の実施形態は、署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システムに関する。
電力使用量計算システムでは、単位時間あたりの電力使用量が計測され、計測データを集計することで、総電力使用量が計算される。そのため、計測した電力使用量が、第三者などにより改ざんされると、電力使用量に基づく計算が正しく行えず、計算値に基づく正確な機能提供ができなくなる恐れがある。そこで、電力使用量計算システムでは、電力使用量の真正性を確保する必要がある。これに対して、従来から、データの真正性を確保する署名生成技術が知られている。
特開2011−75867号公報
しかしながら、従来の技術では、計算量や処理時間などの処理コストが大きく、効率的な署名生成処理を行うことができない。
実施形態に係る署名生成装置は、所定数の仮データを含むデータ系列と前記データ系列に対応する仮署名を生成する。実施形態に係る署名生成装置は、前記データ系列の前記仮データを実データに置き換えて前記仮署名を更新し、すべての前記仮データを前記実データに置き換えることで前記実データを含む前記データ系列に対応する署名を生成する。
第1の実施形態に係る電力使用量計算システムの構成例を示す図。 第1の実施形態に係るSMの装置構成例を示す図。 署名生成方法の概略図。 第1の実施形態に係るSMの機能構成例を示す図。 第1の実施形態に係るMDMSの機能構成例を示す図。 第1の実施形態に係るアプリケーションシステムの機能構成例を示す図。 第1の実施形態に係るSMで実行される処理手順例を示すフローチャート。 第1の実施形態に係るMDMSで実行される処理手順例を示すフローチャート。 第1の実施形態に係るアプリケーションシステムで実行される処理手順例を示すフローチャート。
以下に、添付図面を参照して、署名生成装置、署名生成方法、及び署名生成プログラムの実施形態を詳細に説明する。
[第1の実施形態]
<システム概要>
まず、本実施形態に係る電力使用量計算システムの概要について説明する。スマートグリッドと呼ばれる次世代電力網では、電気機器の電力使用量を集計する電力メータに相当するスマートメータ(Smart Meter;以下「SM」という)が、各家庭などの電力使用量の集計範囲ごとに設置される。SMは、電力網を介してデータ管理装置に相当するメータデータ管理システム(Meter Data Management System;以下「MDMS」という)と通信する。MDMSは、単位時間あたりの電力使用量をSMから収集する。MDMSが収集した単位時間あたりの電力使用量は、例えば、電力使用量計算システムが備える課金サーバや見える化サーバにより利用される。課金サーバは、MDMSが収集した単位時間あたりの電力使用量に基づき、予め定めておいた期間における総電力使用量を求め、各家庭の電力使用に対する課金処理を行う。また、見える化サーバは、各家庭からの要求を受けて、MDMSが収集した単位時間あたりの電力使用量をグラフで表示するなどの可視化処理を行い、節電行動の参考情報を提供する。このように、課金サーバや見える化サーバでは、MDMSがSMから収集した電力使用量を利用し、課金処理や可視化処理などを実行する。
<システム構成>
図1は、本実施形態に係る電力使用量計算システム1000の構成例を示す図である。図1に示すように、本実施形態に係る電力使用量計算システム1000は、SM100、MDMS200、及びアプリケーションシステム300などを備え、データ伝送路NWを介して相互に接続される。データ伝送路NWは、例えば、LAN(Local Area Network)、イントラネット、イーサネット(登録商標)、又はインターネットなどである。また、データ伝送路NWを介した通信は、例えば、OpenSSL(Secure Sockets Layer)などを用いた暗号化通信であってもよい。
SM100は、集計範囲で使用される電気機器の単位時間あたりの電力使用量を集計するデータ集計装置である。ここでいう集計範囲とは、例えば、SM100が設置された家庭内の各エリアなどである。また、単位時間とは、電力使用量の集計期間を表す時間であり、例えば、15分や30分などである。
また、SM100は、集計した電力使用量の真正性を確保するための署名を生成する署名生成装置でもある。そのため、SM100は、署名生成に用いる秘密鍵と署名検証に用いる検証鍵とを保持している。秘密鍵と検証鍵は、工場出荷時にSM100に記憶されてもよいし、設置時に内部で生成してもよい。また、例えば、鍵管理サーバ(非図示)が、生成した秘密鍵と検証鍵を管理し、データ伝送路NWを介して、設置されたSM100に提供するようにしてもよい。
SM100が集計した単位時間あたりの電力使用量には、少なくとも、SM100を識別するための識別情報(以下「SM識別情報」という)と、集計時刻を表す時刻情報(以下「集計時刻情報」という)とが対応付けられる。これにより、SM100は、例えば、電力使用量に対応付けられたSM識別情報、集計時刻情報、及び秘密鍵を用いて、電力使用量に対応する署名を生成する。なお、電力使用量に対応する署名は、電力使用量に対応付けられたSM識別情報や集計時刻情報以外の情報をさらに用いて生成するようにしてもよい。
MDMS200は、データ伝送路NWを介して、SM100から電力使用量を収集し、管理するデータ管理システムである。MDMS200は、SM識別情報を用いて、SM100から収集した電力使用量を管理する。なお、図中には1つのSM100が図示されているが、上述したように、SM100は各家庭などに設置されることから、電力使用量計算システム1000には、複数のSM100が接続されるのが一般的である。よって、MDMS200は、複数のSM100から収集した電力使用量を管理する。なお、MDMS200は、複数の情報処理装置で構成してもよいし、単体の情報処理装置で構成してもよい。本実施形態に係るMDMS200は、単体の情報処理装置で構成されている。よって、本実施形態に係るMDMS200は、データ管理装置に相当する。
アプリケーションシステム300は、アプリケーションソフトウェアを実行し、所定の機能を提供する機能提供システムである。アプリケーションシステム300は、複数の情報処理装置で構成してもよいし、単体の情報処理装置で構成してもよい。また、複数の情報処理装置で構成される場合には、その一部の装置はMDMS200の装置と同一であってもよい。本実施形態に係るアプリケーションシステム300は、課金機能を提供する課金サーバ301と電力使用量の可視化機能を提供する見える化サーバ302などの複数の情報処理装置で構成されている。よって、本実施形態に係る課金サーバ301又は見える化サーバ302は、アプリケーションサーバ(機能提供装置)に相当する。
課金サーバ301は、集計範囲における課金期間の総電力使用量に基づき、各集計範囲の電力使用に対する課金処理を行う。ここでいう課金期間とは、課金対象(アプリケーション実行対象)とする電力使用期間を表す時間や日時であり、例えば、1ヶ月や2カ月などである。見える化サーバ302は、集計範囲における単位時間あたりの電力使用量の可視化処理を行い、可視化情報を提供する。なお、課金サーバ301や見える化サーバ302は、複数の情報処理装置で構成してもよいし、単体の情報処理装置で構成してもよい。
また、MDMS200、課金サーバ301、及び見える化サーバ302は、SM識別情報、又は集計範囲を識別するための識別情報(以下「集計範囲識別情報」という)を保持している。また、MDMS200、課金サーバ301、及び見える化サーバ302は、SM100で生成された署名の検証に用いるための検証鍵を保持している。検証鍵は、データ伝送路NWを介して、SM100から送信され、MDMS200、課金サーバ301、及び見える化サーバ302に保持される。
次に、本実施形態に係る電力使用量計算システム1000の概略動作例について説明する。SM100は、単位時間あたりの電力使用量を集計し、秘密鍵を用いて、電力使用量のデータ系列に対応する署名を生成する。SM100は、電力使用量のデータ系列と生成した署名とをMDMS200に送信する。これを受けてMDMS200は、検証鍵を用いて、受信データの検証処理を行い、受信データが改ざんされていないかを確認する。MDMS200は、受信データの改ざんが確認されなければ、受信データを保持する。一方、MDMS200は、受信データの改ざんが確認されれば、エラーを出力する。
また、課金サーバ301は、MDMS200に対して、課金期間内の電力使用量を要求し、MDMS200から、該当する電力使用量のデータ系列と署名とを受信する。これを受けて課金サーバ301は、検証鍵を用いて、受信データの検証処理を行い、受信データが改ざんされていないかを確認する。課金サーバ301は、受信データの改ざんが確認されなければ、課金期間の総電力使用量に基づく課金処理を行う。一方、課金サーバ301は、受信データの改ざんが確認されれば、エラーを出力する。
また、見える化サーバ302は、MDMS200に対して、単位時間あたりの電力使用量を要求し、MDMS200から、該当する電力使用量のデータ系列と署名とを受信する。これを受けて見える化サーバ302は、検証鍵を用いて、受信データの検証処理を行い、受信データが改ざんされていないかを確認する。見える化サーバ302は、受信データの改ざんが確認されなければ、単位時間あたりの電力使用量の可視化処理を行い、可視化情報を提供する。一方、見える化サーバ302は、受信データの改ざんが確認されれば、エラーを出力する。
<装置構成>
図2は、本実施形態に係るSM100の装置構成例を示す図である。図2に示すように、SM100は、CPU(Central Processing Unit)101、主記憶装置102、補助記憶装置103、通信IF(Interface)104、及び外部IF105などを備え、バスBを介して相互に接続される。
CPU101は、装置全体の制御や搭載機能を実現するための演算装置である。主記憶装置102は、プログラムやデータなどを所定の記憶領域に保持する記憶装置(メモリ)である。主記憶装置102は、例えば、ROM(Read Only Memory)やRAM(Random Access Memory)などである。また、補助記憶装置103は、主記憶装置102より容量の大きい記憶領域を備える記憶装置である。補助記憶装置103は、例えば、HDD(Hard Disk Drive)やメモリカード(Memory Card)などの不揮発性の記憶装置である。また、補助記憶装置103には、例えば、フレキシブルディスク(FD)、CD(Compact Disk)、及びDVD(Digital Versatile Disk)などの記録媒体が含まれていてもよい。よって、CPU101は、例えば、補助記憶装置103から主記憶装置102上に、プログラムやデータを読み出し、処理を実行することで、装置全体の制御や搭載機能を実現する。
通信IF104は、SM100をデータ伝送路NWに接続するインタフェースである。これにより、SM100は、MDMS200、課金サーバ301、又は見える化サーバ302とデータ通信が行える。外部IF105は、SM100と外部機器106との間でデータを送受信するためのインタフェースである。外部機器106には、例えば、電力使用量を計測する計測器(センサ)などがある。これにより、SM100は、電力使用量の集計が行える。
さらに、SM100は、可視化された電力使用量などの各種情報を表示する表示装置(非図示)や、利用者の操作入力を受け付ける操作ボタンなどの入力IF(非図示)などを備えていてもよい。なお、MDMS200、課金サーバ301、及び見える化サーバ302は、例えば、PC(Personal Computer)などの情報処理装置であることから、装置構成の説明を省略する。
以上のように、本実施形態に係る電力使用量計算システム1000は、上記構成により、データの真正性が確保された電力使用量の管理サービスを提供する。
<機能構成>
本実施形態に係る電力使用量計算システム1000が有する機能について説明する。本実施形態に係るSM100は、単位時間あたりの電力使用量に対応する所定数の第1仮データを含むデータ系列と仮署名とを事前に生成する。その後、SM100は、集計範囲における単位時間あたりの電力使用量を集計する。SM100は、集計した単位時間あたりの電力使用量(第1実データ)で、対応する時刻の第1仮データを置き換え、データ系列と仮署名とを更新する。これにより、仮署名は、集計した電力使用量(第1実データ)で、データ系列のすべての第1仮データが置き換えられると、集計した電力使用量(第1実データ)のデータ系列に対応する署名となる。SM100は、データ系列と仮署名とをMDMS200に送信する。これを受けてMDMS200は、SM100からの受信データを保持する。また、MDMS200は、アプリケーションシステム300からの要求に応じて、SM100から受信したデータ系列と仮署名とをアプリケーションシステム300に送信する。これを受けてアプリケーションシステム300は、MDMS200からの受信データに基づき、アプリケーションを実行し、所定の機能を提供する。
ここで、第1仮データとは、本実施形態に係る署名生成装置(SM100)が一時的に定め、仮署名を生成する際に利用する情報(署名方式における署名対象文書)である。本実施形態に係る署名生成装置は仮署名を生成するときに、1つ以上の乱数情報を利用する。よって、後述する第2仮データとは、その乱数情報の初期値であり、本実施形態に係る署名生成装置が一時的に定める情報である。第1実データとは、第1仮データを置き換えるために、本実施形態に係る署名生成装置に外部から入力される情報である。本実施形態に係る署名生成装置は、第1仮データを第1実データに置き換え、仮署名を署名に更新する。このとき、本実施形態に係る署名生成装置は、第2仮データを第2実データに更新する。
電力使用量計算システム1000では、電力使用量が第三者などにより改ざんされると、アプリケーションが正しく実行されず、利用者に対して適切な機能提供(電力使用量に基づく計算が正しく行えず、計算値に基づく正確な機能提供)ができなくなる恐れがある。そのため、電力使用量などのような時系列に連続するデータ系列の真正性を確保する署名生成方法が求められる。
図3は、署名生成方法の概略図である。図3(a)には、従来の署名生成方法の概略が示されている。図3(a)に示すように、従来の署名生成方法では、例えば、電力使用量のデータdを計測するたびに、計測データdに対応する署名s(=Sig(d))を計算する。このように、従来の方法では、データ系列のデータ数Nに比例し、署名生成にかかる計算量(演算量)や生成される署名サイズが多くなり、処理時間も長くなる。このように、従来の技術では、処理コストが大きく、効率的な署名生成処理を行うことができない。
よって、電力使用量計算システム1000のように、時系列に連続するデータ系列を扱うシステムでは、効率的な署名生成処理により、データ系列の真正性を確保できることが望まれる。
そこで、本実施形態では、図3(b)に示すような署名生成方法を提案する。図3(b)には、本実施形態に係る署名生成方法の概略が示されている。図3(b)に示すように、本実施形態に係る署名生成方法では、事前に、予め定められた第1仮データと第2仮データの組み合わせ(d’,r’)を生成し、データ系列{(d’,r’)}に対する仮署名s’(=Sig({(d’,r’)}))を計算する。その後、本実施形態に係る署名生成方法では、電力使用量のデータ計測時に、計測データd(第1実データ)で仮データd’(第1仮データ)を置き換える。次に、本実施形態に係る署名生成方法では、置き換えた計測データd(第1実データ)を用いて計算された仮署名(置き換え後の仮署名)S’(=Sig({(d,r)}j≦i,{(d’,r’)}k>i))が、置き換え前の仮署名s’と同じ値となるように、第2仮データr’を第2実データrに更新(補正)する。その結果、本実施形態に係る署名生成方法では、データ系列のすべての第1仮データd’が置き換えられ、乱数成分として扱われる第2仮データr’が補正されると、仮署名s’が、電力使用量のデータ系列に対応する署名sとなる。このように、本実施形態に係る署名生成方法では、第1仮データを含むデータ系列に対して仮署名を事前に生成しておき、電力使用量(第1実データ)の計測後に、データ系列と仮署名とを更新する。
これにより、本実施形態に係る署名生成方法は、CPU101の空き時間を利用して、事前に署名生成処理を実行できることから、電力使用量の計測後の処理を軽減できる。また、本実施形態に係る署名生成方法は、署名生成に比べて署名更新の計算量が小さい場合、計測後の電力使用量を迅速に送信できる。また、本実施形態に係る署名生成方法は、電力使用量ごとに署名を生成しないことから、署名サイズが、データ系列のデータ数に依存しない(署名サイズが一定となる)。また、本実施形態に係る署名生成方法は、電力使用量が計測され、仮データが置き換えられる(更新される)たびに、署名の検証が行えることから、電力使用量のデータ系列の真正性を確保することができる。つまり、本実施形態に係る署名生成方法では、効率的な署名生成処理により、データ系列の真正性を確保できる。
以下に、本実施形態に係る電力使用量計算システム1000の機能構成とその動作について説明する。本実施形態に係る電力使用量計算システム1000は、SM100が有する機能、MDMS200が有する機能、及びアプリケーションシステム300が有する機能に分けられる。
《SM100の機能》
図4は、本実施形態に係るSM100の機能構成例を示す図である。図4に示すように、本実施形態に係るSM100の機能は、通信制御部10、電力使用量集計部11、署名生成部(仮署名計算部)12、及び署名更新部13などを有する。これらの各機能部は、ソフトウェアの実装により実現される。よって、各機能部は、CPU101でプログラムが実行されることにより実現される機能である。なお、通信制御部10は、通信IF104が備える演算装置でプログラムが実行されることにより実現されてもよい。また、電力使用量集計部11は、ハードウェアの実装により実現されてもよい。例えば、電力使用量集計部11は、計測器が計測した電力使用量を集計する回路により実現されてもよい。また、本実施形態に係るSM100の機能は、記憶部91を有する。記憶部91は、例えば、SM100が備える補助記憶装置103の所定の記憶領域に相当する。
通信制御部10は、SM100とMDMS200との間のデータ通信を制御する。具体的には、通信制御部10は、MDMS200から送信された制御コマンドを受信する。また、通信制御部10は、署名生成部12又は署名更新部13が出力する電力使用量のデータ系列と仮署名とをMDMS200に送信する。
電力使用量集計部(受付部)11は、集計範囲における電気機器から、計測された電力使用量を所定時間経過ごとに受け付けて、単位時間ごとに集計する。電力使用量集計部11は、集計した電力使用量を記憶部91に記憶させる。電力使用量集計部11は、通信制御部10で受信した制御コマンドに基づき、電力使用量の集計動作(集計処理の開始と終了、集計処理の中止や停止などの動作)を制御する。
記憶部91は、署名生成部12と署名更新部13とが用いる秘密鍵、及び、署名生成部12又は署名更新部13が出力する電力使用量のデータ系列と仮署名などを記憶する。なお、記憶された電力使用量のデータ系列と署名は、所定期間が経過すると削除される。ここでいう所定期間とは、電力使用量のデータ系列と署名を記憶しておく記憶期間を表す時間や日時であり、例えば、2週間や30日などである。所定期間は、システム運用中に、電力使用量のデータ系列と署名との記憶データ量が、記憶先の記憶領域の容量を超過しない範囲であれば、任意の期間を設定できる。
署名生成部12は、所定数の第1仮データを含むデータ系列を生成し、記憶部91に記憶される秘密鍵を用いて仮署名(初期署名)を計算し生成する。ここでいう所定数とは、1つの署名に対応するデータ系列に含まれる第1実データの数である。例えば、署名を1日に1つ生成し、電力使用量(第1実データ)を集計する単位時間が15分である場合には、所定数は96(=24時間/15分)となる。これにより、署名生成部12は、単位時間あたりの電力使用量に対応する96個の第1仮データを含むデータ系列を生成する。ここでいう第1仮データとは第1実データの初期値のことであり、第2仮データとは乱数成分として利用される第2実データの初期値のことである。第1仮データと第2仮データは、予め定められた値や、予めランダムに選んでおいた乱数、又は、これらの組合せを含むデータである。このときの予め定められた値は、例えば、0や1などの固定値、SM識別情報や集計時刻情報に基づく値などである。
署名生成部12は、次のような方法で仮署名を計算し生成する。本実施形態では、群要素で署名生成の計算を行う方法を用いる例を説明する。なお、以下の説明では、便宜上、電力使用量を集計する単位時間を15分、データ系列のデータ数を96とする。また、この方法の詳細については、文献1を開示することで、その説明を省略する(文献1:Masayuki Abe, Georg Fuchsbauer, Jens Groth, Kristiyan Haralambiev, Miyako Ohkubo: Structure-Preserving Signatures and Commitments to Group Elements. CRYPTO 2010: 209-236)。
(署名生成方法)
まず、上記条件から、記憶部91は、次のような秘密鍵sk(={u,u,...,u97,v})と、検証鍵vk(={G,H,U,U,...,U97,V})とを記憶している。秘密鍵skは、98(=データ系列のデータ数+2)個の0からp−1までの整数u,u,...,u97,vを含む。また、検証鍵vkは、G及びHと、98個の群要素U(=Gui(i=1,2,...,97))及びV(=H)を含む。ただし、GとHは、位数pの巡回群の生成元(要素)であり、Gが生成する巡回群の要素と、Hが生成する巡回群の要素とは、ペアリング演算が可能である。すなわち、eをペアリング演算の関数とするとき、0以上p未満の整数a,bについて、e(G,H)=e(Gab,H)=e(G,Hab)=e(G,H)=e(G,H=e(G,H)abなどが成り立つ。
署名生成部12は、まず、96(=データ系列のデータ数)個の第1仮データN,...,N96と第2仮データN97とを定める。次に署名生成部12は、0以上p未満の整数rをランダムに選び、以下の(式1)を計算する。
R=G ・・・ (式1)
次に署名生成部12は、以下の(式2)及び(式3)を計算する。
S=R(=Grv) ・・・ (式2)
T=(H Пl=1,...,97 −ul1/r ・・・ (式3)
ここで、(式3)に表現されるПl=1,...,kは、A*A*...*Aを表す。
その結果、署名生成部12は、計算結果(R,S,T)を仮署名とする。本実施形態に係る署名生成部12は、上記方法により仮署名を生成する。
署名更新部13は、署名生成部12で生成されたデータ系列の第1仮データを、電力使用量集計部11が集計した電力使用量(第1実データ)で置き換え、乱数成分として利用する第2仮データを更新(補正)することで、仮署名を更新する。署名更新部13は、次のような方法で仮署名を更新する。なお、以下の説明では、便宜上、N,...,N96を、電力使用量の計測データの初期値(第1仮データ)とし、N97を、乱数成分の初期値(第2仮データ)とする。
(署名更新方法)
署名更新部13は、電力使用量集計部11がj番目の電力使用量Pを計測した後に、j番目に対応する第1仮データNを、計測した電力使用量P(第1実データ)に置き換え、乱数成分(第2仮データ)を更新する。このとき署名更新部13は、以下の(式4)を計算し、計算値で乱数成分(第2仮データ)を更新する(補正する)。
97’=(N/Puj/u9797 ・・・ (式4)
また、署名更新部13は、jより大きく97未満のlについて、新たな仮データN’を生成し、(式4)の代わりに、以下の(式5)を計算するようにしてもよい。
97’=(N/Puj/u97 Пl=j+1,...,96(N/N’)ul/u97*N97 ・・・ (式5)
本実施形態に係る署名更新部13は、上記方法により、集計した電力使用量でデータ系列のすべての第1仮データを置き換えて仮署名を更新し、集計した電力使用量のデータ系列に対応する署名を生成する。
なお、後述では、混乱のない限り、署名更新部13が生成した新たな第1仮データN’と、署名更新部13が計算した乱数成分(第2仮データ)N97’とを、あらためてNとN97で表す。
また、署名更新部13では、電力使用量Pを計測する前に、次のような計算を行うようにしてもよい。例えば、(式4)におけるN uj/u9797及びu/u97を、事前に計算しておき、電力使用量Pを計測した後に、(N uj/u9797)*(1/Puj/u97を計算してもよい。
なお、後述では、Pを、電力使用量の計測データの実値(第1実データ)とし、N,...,N96のすべてが実値に置き換えられたときのN97を、乱数成分の実値(第2実データ)とする。
《MDMS200の機能》
図5は、本実施形態に係るMDMS200の機能構成例を示す図である。図5に示すように、本実施形態に係るMDMS200の機能は、通信制御部20、及び署名検証部21などを有する。これらの各機能部は、ソフトウェアの実装により実現される。よって、各機能部は、MDMS200が備えるCPU(非図示)でプログラムが実行されることにより実現される機能である。なお、通信制御部20は、MDMS200の通信IF(非図示)が備える演算装置でプログラムが実行されることにより実現されてもよい。また、本実施形態に係るMDMS200の機能は、記憶部92を有する。記憶部92は、例えば、MDMS200が備える補助記憶装置(非図示)の所定の記憶領域に相当する。
通信制御部20は、SM100やアプリケーションシステム300などの他の装置と間のデータ通信を制御する。具体的には、通信制御部20は、SM100から送信されたデータ系列と仮署名とを受信する。また、通信制御部20は、単位時間ごとにSM100から電力使用量を受信する。また、通信制御部20は、制御コマンドをSM100に送信する。SM100に送信する制御コマンドとは、電力使用量の集計動作を制御するコマンドであり、例えば、電力使用量の集計処理の開始と終了、電力使用量の集計処理の中止や停止、電力使用量の送信などを指示するコマンドである。また、通信制御部20は、アプリケーションシステム300が備える課金サーバ301又は見える化サーバ302から電力使用量の取得要求を受信し、取得要求に対する応答としてデータ系列を要求元に送信する。
記憶部92は、通信制御部20がSM100から受信したデータ系列、仮署名、単位時間あたりの電力使用量などを記憶する。
署名検証部21は、SM100から受信した仮署名が、受信したデータ系列に対して正当な署名であるか否かを検証する。つまり、署名検証部21は、受信データの検証処理を行い、受信データが改ざんされていないかを確認する。
署名検証部21は、次のような方法で仮署名を検証する。なお、以下には、署名生成部12により生成され、署名更新部13により更新された仮署名の具体的な検証例を示す。
(署名検証方法)
署名検証部21は、データ系列(N,...,N97)と仮署名(R,S,T)とを、以下の(式6)及び(式7)を用いて検証する。ここで、Nが電力使用量Pで置き換えられている場合には、(式6)及び(式7)のNを、Pに置き換えて計算する。
e(R,V)=e(S,H) ・・・ (式6)
e(R,T)Пl=1,...,97e(U,N)=e(G,H) ・・・ (式7)
ここで、(式6)及び(式7)に表現されるG,H,U,Vは、検証鍵vkに含まれる値である。
その結果、署名検証部21は、(式6)及び(式7)の両方の式が成立する場合、検証対象の仮署名がデータ系列に対して正当な署名であると判断し(受信データが改ざんされていないことを確認し)、受信した仮署名を記憶する。一方、署名検証部21は、(式6)又は(式7)のいずれかの式が成立しない場合、検証対象の仮署名がデータ系列に対して正当な署名でないと判断し(受信データが改ざんされていることを確認し)、受信した仮署名を記憶しない(破棄する)。本実施形態に係る署名検証部21は、上記方法により仮署名を検証する。
《アプリケーションシステム300の機能》
図6は、本実施形態に係るアプリケーションシステム300の機能構成例を示す図である。図6に示すように、本実施形態に係るアプリケーションシステム300の機能は、通信制御部30、署名検証部31、及びアプリケーション実行部32などを有する。これらの各機能部は、ソフトウェアの実装により実現される。よって、各機能部は、課金サーバ301や見える化サーバ302が備えるCPU(非図示)でプログラムが実行されることにより実現される機能である。なお、通信制御部30は、課金サーバ301や見える化サーバ302の通信IF(非図示)が備える演算装置でプログラムが実行されることにより実現されてもよい。また、本実施形態に係るアプリケーションシステム300の機能は、記憶部93を備える。記憶部93は、例えば、課金サーバ301や見える化サーバ302が備える補助記憶装置(非図示)の所定の記憶領域に相当する。
通信制御部30は、アプリケーションシステム300とMDMS200との間のデータ通信を制御する。具体的には、通信制御部30は、MDMS200に対してデータ系列と仮署名との取得要求を送信し、取得要求に対する応答としてMDMS200から送信されたデータ系列と仮署名とを受信する。このとき送信する取得要求には、例えば、アプリケーション実行対象の電力使用量の集計範囲を識別する集計範囲識別情報、集計範囲のSM100を識別するSM識別情報、及び集計時刻を表す集計時刻情報などが含まれる。
記憶部93は、通信制御部30がMDMS200から受信したデータ系列、仮署名、及び署名検証に用いる検証鍵などを記憶する。
署名検証部31は、MDMS200から受信した仮署名が、受信したデータ系列に対して正当な署名であるか否かを検証する。つまり、署名検証部31は、受信データの検証処理を行い、受信データが改ざんされていないかを確認する。なお、このとき行われる署名検証方法の詳細については、MDMS200の機能が有する署名検証部21と同様であることから、その説明を省略する。
アプリケーション実行部32は、署名検証部31において仮署名がデータ系列に対して正当な署名であると判断されると(改ざんされていないことが確認できると)、受信した電力使用量のデータ系列に対して、アプリケーションソフトウェア(提供機能を実現するプログラム)を実行し、所定の機能を提供する。例えば、課金サーバ301の場合には、受信した電力使用量のデータ系列から、集計範囲における課金期間の総電力使用量を計算し、計算した総電力使用量に基づき、集計範囲の電力使用に対する課金処理を行う課金機能を提供する。また、見える化サーバ302の場合には、受信した電力使用量のデータ系列から、集計範囲における単位時間あたりの電力使用量の可視化処理を行う可視化機能を提供する。
以上のように、本実施形態に係る電力使用量計算システム1000の機能は、SM100、MDMS200、及びアプリケーションシステム300それぞれにおいて、プログラムが実行され上記各機能部が連携動作することで実現される。
上記プログラムは、実行環境の各装置(コンピュータ)が読み取り可能な記録媒体に、インストール可能な形式又は実行可能な形式のファイルで記録され提供される。例えば、SM100の場合には、プログラムは、上記各機能部を含むモジュール構成となっており、CPU101が補助記憶装置103の記録媒体からプログラムを読み出し実行することで、主記憶装置102のRAM上に各機能部が生成される。なお、プログラムの提供方法は、この限りでない。例えば、プログラムを、インターネットなどに接続された外部機器に格納し、データ伝送路NW経由でダウンロードする方法であってもよい。また、主記憶装置102のROMや補助記憶装置103のHDDなどに予め組み込んで提供する方法であってもよい。
以下に、本実施形態に係る電力使用量計算システム1000の処理(各機能部の連携動作)について、フローチャートを用いて説明する。なお、以下に示す処理例では、SM100を設置した家庭を電力使用量の集計範囲とする。また、以下に示す処理例では、電力使用量を集計する単位時間を15分、電力使用量のデータ系列のデータ数を96、電力使用量のデータ系列と仮署名とを記憶する記憶期間を2週間、アプリケーション実行対象の電力使用期間を1ヶ月(30日)とする。つまり、以下に示す処理例では、SM100が、15分ごとに家庭の電力使用量を計算し、96時点(24時間分)の電力使用量を含むデータ系列に対して1つの仮署名を生成する。さらに、SM100が、2週間分のデータ(電力使用量のデータ系列と仮署名と)を記憶する。また、MDMS200が、SM100が集計した電力使用量の複数のデータ系列(例えば「10年分のデータ系列」)を、対応する署名とともに記憶する。また、アプリケーションシステム300は、1ヶ月ごとに、MDMS200に対して各家庭の電力使用量を要求し、各家庭の1ヶ月ごとの課金処理を実行する。
《SM100の機能による処理》
図7は、本実施形態に係るSM100で実行される処理手順例を示すフローチャートである。図7に示すように、署名生成部12は、電力使用量の計測データの初期値(第1仮データN,...,N96と第2仮データN97と)を含むデータ系列(N,...,N97)を生成する(ステップS101)。次に署名生成部12は、データ系列に対応する仮署名(R,S,T)を生成する(ステップS102)。このとき署名生成部12は、例えば、上述した署名生成方法に基づき、仮署名を生成する。次に署名生成部12は、データ系列と仮署名とを記憶部91に記憶する(ステップS103)。
次に通信制御部(第1送信部)10は、生成されたデータ系列と仮署名とをMDMS200に送信する(ステップS104)。このとき通信制御部10は、データ系列と仮署名とを送信する際に、集計識別情報、SM識別情報、及び集計時刻情報などを付加して送信してもよい。また、通信制御部10は、MDMS200に対してデータ受信を要求した後に、データ系列と仮署名とを送信してもよいし、MDMS200からデータ送信の要求を受け付けた後に、データ系列と仮署名とを送信してもよい。また、通信制御部10は、データ送信後にMDMS200から仮署名の検証結果を受信してもよい。なお、データ系列と仮署名との送信タイミングは、ステップS104の限りでない。例えば、ステップS109又はステップS113のタイミングであってもよい。この場合、ステップS104の処理は省略される。
署名生成部12は、データ系列と仮署名とを記憶し(ステップS103)、必要に応じてMDMS200に送信(ステップS104)した後に、データ系列のデータ参照位置を示す変数iを初期化する[i=1](ステップS105)。
次に電力使用量集計部11は、データ系列のi番目に対応する電力使用量(第1実データP)を集計する(ステップS106)。これにより、署名更新部13は、データ系列i番目の初期値(第1仮データN)を、集計した電力使用量(第1実データP)で置き換え、データ系列に対応する仮署名を更新する(ステップS107)。このとき署名更新部13は、例えば、上述した署名更新方法に基づき、仮署名を更新する。次に署名更新部13は、データを置き換えたデータ系列と更新した仮署名とを記憶部91に記憶する(ステップS108)。
次に通信制御部(第1送信部)10は、データを置き換えたデータ系列と更新した仮署名とをMDMS200に送信する(ステップS109)。なお、上述したように、ステップS104又はステップS113において送信される場合には省略される。また、ステップS104で送信後に、この処理を実行する場合には、前回送信したデータに対する差分(データ系列の差分と仮署名の差分)をMDMS200に送信するようにしてもよい。例えば、上記の例では、初期値(第1仮データN)の代わりとなる電力使用量の計測データの実値(第1実データP)と、乱数成分の初期値(第2仮データN97)の代わりとなる乱数成分の実値(第2実データN97’)を送信してもよい。
署名更新部13は、データを置き換えたデータ系列と更新した仮署名とを記憶し(ステップS108)、必要に応じてMDMS200に送信(ステップS109)した後に、データ系列のデータ参照位置を進める[i=i+1](ステップS110)。
署名更新部13は、データ系列のすべての初期値に対して更新処理が終了したか否か(データ参照位置を示す変数がデータ系列のデータ数と等しい[i==97]か否か)を判定する(ステップS111)。
その結果、署名更新部13は、データ系列のすべての初期値に対して更新処理が終了していないと(変数がデータ数と等しくないと)判定した場合(ステップS111:NO)、ステップS106の処理に戻り、ステップS111の判定条件を満たすまで、更新処理を繰り返す。
一方、署名更新部13は、データ系列のすべての初期値に対して更新処理が終了したと(変数がデータ数と等しいと)判定した場合(ステップS111:YES)、データを置き換えたデータ系列と更新した仮署名とを記憶部91に記憶する(ステップS112)。このとき署名更新部13は、データを置き換えたデータ系列を、集計した電力使用量の計測データと1つの付加データと(合計97個のデータ)を含むデータ系列とし、更新した仮署名を、集計した電力使用量のデータ系列に対応する署名として記憶する。なお、署名更新部13は、ステップS112の処理の前後で、データ系列と仮署名との値が不変である場合、記憶処理(ステップS112)を省略してもよい。
次に通信制御部(第1送信部)10は、データを置き換えたデータ系列と更新した仮署名とをMDMS200に送信する(ステップS113)。なお、上述したように、ステップS104又はステップS109において送信される場合には省略される。
なお、SM100は、96時点(24時間)を経過して、上記ステップS113までの処理を終了した後に、再びステップS101の処理に戻り、新たな96時点(翌24時間)の処理を繰り返してもよい。
このように、本実施形態に係る電力使用量計算システム1000では、集計した電力使用量の計測データを含むデータ系列とデータ系列に対応する仮署名とが蓄積される。
《MDMS200の機能による処理》
図8は、本実施形態に係るMDMS200で実行される処理手順例を示すフローチャートである。図8に示すように、通信制御部(第1受信部)20は、SM100から送信されたデータ系列(N,...,N97)と仮署名(R,S,T)とを受信する(ステップS201)。なお、このとき通信制御部20は、SM100に対してデータを受信した旨を通知してもよい。
次に署名検証部(第1検証部)21は、受信した仮署名を検証し、仮署名が受信したデータ系列に対して正当な署名であるか否かを判定する(ステップS202)。このとき署名検証部21は、例えば、上述した署名検証方法に基づき、仮署名を検証する。
その結果、署名検証部21は、仮署名がデータ系列に対して正当な署名であると判定した場合(ステップS202:YES)、集計識別情報、SM識別情報、及び集計時刻情報に基づき、受信したデータ系列と仮署名とを記憶部92に記憶する(ステップS203)。
一方、署名検証部21は、仮署名がデータ系列に対して正当な署名でないと判定した場合(ステップS202:NO)、所定のエラー処理を行う(ステップS204)。
次に通信制御部20は、検証結果をSM100に送信する(ステップS205)。その後、MDMS200は、待機状態へと移行する(ステップS206)。ここで、MDMS200は、ステップS205の処理を省略してもよく、ステップS202において、仮署名がデータ系列に対して正当な署名でないと判定された場合、SM100に対してデータの再送信を要求するようにしてもよい。
また、通信制御部(第2送信部)20は、SM100から受信したデータ系列と仮署名とをアプリケーションシステム300に送信する(ステップS207)。このとき通信制御部20は、データ系列と仮署名とを送信する際に、集計識別情報、SM識別情報、及び集計時刻情報などを付加して送信してもよい。また、通信制御部20は、アプリケーションシステム300に対してデータ受信を要求した後に、データ系列と仮署名とを送信してもよいし、アプリケーションシステム300からデータ送信の要求を受け付けた後に、データ系列と仮署名とを送信してもよい。
その後、MDMS200は、待機状態へと移行する(ステップS208)。
このように、本実施形態に係る電力使用量計算システム1000では、電力使用量の計測データを含むデータ系列に対応する署名が検証される。また、本実施形態に係る電力使用量計算システム1000では、データ系列と署名とがアプリケーションシステム300に送信される。
《アプリケーションシステム300の機能による処理》
図9は、本実施形態に係るアプリケーションシステム300で実行される処理手順例を示すフローチャートである。図9に示すように、通信制御部(第2受信部)30は、MDMS200から送信されたデータ系列(N,...,N97)と仮署名(R,S,T)とを受信する(ステップS301)。なお、このとき通信制御部30は、MDMS200に対してデータを受信した旨を通知してもよい。また、アプリケーションシステム300は、ステップS301の処理を定期的に(実行タイミングを表す所定期間経過ごとに)実行してもよいし、第三者からの要求に従って、ステップS301の処理を実行してもよい。例えば、アプリケーションシステム300が備える課金サーバ301の場合には、1ヶ月が経過するごとに、ステップS301の処理を実行してもよいし、課金担当者(課金処理の実行者)からの指示に従って、ステップS301の処理を実行してもよい。また、アプリケーションシステム300が備える見える化サーバ302の場合には、家庭から電力使用量の閲覧要求を受け付けた後に、ステップS301の処理を実行してもよいし、ステップS301の処理を定期的に実行してもよい。
次に署名検証部(第2検証部)31は、受信した仮署名を検証し、仮署名が受信したデータ系列に対して正当な署名であるか否かを判定する(ステップS302)。このとき署名検証部31は、例えば、上述した署名検証方法に基づき、仮署名を検証する。
その結果、署名検証部31は、仮署名がデータ系列に対して正当な署名であると判定した場合(ステップS302:YES)、集計識別情報、SM識別情報、及び集計時刻情報に基づき、受信したデータ系列と仮署名とを記憶部93に記憶する(ステップS303)。
一方、署名検証部31は、仮署名がデータ系列に対して正当な署名でないと判定した場合(ステップS302:NO)、所定のエラー処理を行う(ステップS304)。
次に通信制御部30は、検証結果をMDMS200に送信する(ステップS305)。次にアプリケーション実行部32は、アプリケーションソフトウェアを実行し、電力使用量の可視化機能や課金機能などを提供する(ステップS306)。その後、アプリケーションシステム300は、待機状態へと移行する(ステップS307)。ここで、アプリケーションシステム300は、ステップS305の処理を省略してもよく、ステップS302において、仮署名がデータ系列に対して正当な署名でないと判定された場合、MDMS200に対してデータの再送信を要求するようにしてもよい。
このように、本実施形態に係る電力使用量計算システム1000では、電力使用量の計測データを含むデータ系列に対応する署名が検証される。また、本実施形態に係る電力使用量計算システム1000では、署名検証後のデータ系列に基づき、電力使用量の可視化処理や課金処理が実行される。これにより、本実施形態に係る電力使用量計算システム1000では、データの真正性が確保された電力使用量の管理サービスが提供される。
<まとめ>
以上のように、本実施形態に係る電力使用量計算システム1000によれば、SM100は、単位時間あたりの電力使用量に対応する所定数の第1仮データを含むデータ系列と仮署名とを事前に生成する。その後、SM100は、集計範囲における単位時間あたりの電力使用量(第1実データ)を集計する。SM100は、集計した単位時間あたりの電力使用量(第1実データ)で、対応する時刻の第1仮データを置き換え、データ系列と仮署名とを更新する。これにより、仮署名は、集計した電力使用量(第1実データ)で、データ系列のすべての第1仮データが置き換えられると、集計した電力使用量(第1実データ)のデータ系列に対応する署名となる。SM100は、データ系列と仮署名とをMDMS200に送信する。これを受けてMDMS200は、SM100からの受信データを保持する。また、MDMS200は、アプリケーションシステム300からの要求に応じて、SM100から受信したデータ系列と仮署名とをアプリケーションシステム300に送信する。これを受けてアプリケーションシステム300は、MDMS200からの受信データに基づき、アプリケーションを実行し、所定の機能を提供する。
これによって、本実施形態に係る電力使用量計算システム1000は、署名生成にかかる計算量や処理時間などの処理コストが軽減される環境を提供する。その結果、本実施形態に係る電力使用量計算システム1000は、データの真正性を確保しつつ処理の効率化を図ることができる。具体的には、本実施形態に係る電力使用量計算システム1000は、CPU101の空き時間を利用して、事前に署名生成処理を実行できることから、電力使用量の計測後の処理を軽減できる。また、本実施形態に係る署名生成方法は、署名生成に比べて署名更新の計算量が小さい場合、計測後の電力使用量を迅速に送信できる。また、本実施形態に係る署名生成方法は、電力使用量ごとに署名を生成しないことから(複数の電力使用量に対して1つの署名でよいことから)、署名サイズが、データ系列のデータ数に依存せず(署名サイズが一定となり)、記憶容量を削減できる。また、本実施形態に係る署名生成方法は、電力使用量(第1実データ)が計測され、第1仮データが置き換えられる(更新される)たびに、署名の検証が行えることから、電力使用量のデータ系列の真正性を確保することができる。
なお、上記実施形態では、電力使用量計算システム1000の機能が、ソフトウェアの実装により実現する例を説明したが、この限りでない。例えば、上記各機能部の一部又は全部を、ハードウェア(例えば「回路」)の実装により実現してもよい。
また、本実施形態では、署名を生成するデータ系列について、時系列に連続するデータ系列を例に説明したが、この限りでない。例えば、同時刻の複数のデータを含むデータ系列であってもよい。より具体的には、同時刻に複数の集計範囲から集計される複数の電力使用量(第1実データ)に対応する第1仮データを含むデータ系列であってもよい。
[変形例1]
上記実施形態では、(式1)から(式7)を用いた署名生成方法、署名更新方法、及び署名検証方法について説明を行った。本変形例では、上記実施形態と異なる署名生成方法、署名更新方法、及び署名検証方法を用いて、系列データの真正性を確保しつつ処理の効率化を図ることができる例を提案する。なお、以下には、上記実施形態と同様の事項について同じ符号を付し、その説明を省略し、異なる事項について説明を行う。
(署名生成方法)
本変形例に係る署名生成部12は、次のような方法で仮署名を計算し生成する。本実施形態では、カメレオンハッシュ関数を用いて署名生成の計算を行う方法に基づく例を説明する。なお、以下の説明では、便宜上、電力使用量を集計する単位時間を15分、データ系列のデータ数を96とする。また、この方法の詳細については、文献2を開示することで、その説明を省略する(文献2:Hugo Krawczyk, Tal Rabin: Chameleon Signatures. NDSS 2000)。
署名生成部12は、まず、96(データ系列のデータ数)個の第1仮データN,...,N96を定める。次に署名生成部12は、96個の0以上p未満の第2仮データr,...,r96を定め、以下の(式8)を計算する。なお、第1仮データと第2仮データは、予め定めた値を利用してもよいし、ランダムな値、及びそれらの組合せの値を利用してもよい。
=CH(N,r),...,c96=CH(N96,r96) ・・・ (式8)
次に署名生成部12は、以下の(式9)を計算する。
s=Sign(c,...,c96) ・・・ (式9)
その結果、署名生成部12は、sを仮署名とする。ここで、(式8)に表現されるCHは、カメレオンハッシュ関数を表す。また、(式9)に表現されるSignは、署名生成関数である。Signでは、例えば、RSA(Rivest Shamir Adleman)署名や楕円曲線デジタル署名(ECDSA:Elliptic Curve Digital Signature Algorithm)などを用いる。なお、本変形例では、N,...,N96を電力使用量の計測データの初期値(第1仮データ)とし、r,...,r96を乱数成分の初期値(第2仮データ)とする。本実施形態に係る署名生成部12は、上記方法により仮署名を生成する。
(署名更新方法)
署名更新部13は、電力使用量集計部11がj番目の電力使用量(第1実データ)Pを計測した後に、j番目に対応する第1仮データNを、計測した電力使用量Pに置き換え、乱数成分(第2仮データ)を更新することで、仮署名を更新する。このとき署名更新部13は、以下の(式10)を計算することで、仮署名を更新する。
’=ICH(N,r,P,c) ・・・ (式10)
ここで、(式10)に表現されるICHは、逆カメレオン関数を表す。また、(式10)により計算されたr’は、CH(N,r)=CH(P,r’)を満たす。つまり、本変形例に係る署名更新部13では、第1仮データNを電力使用量(第1実データ)Pに置き換える前の仮署名と置き換えた後の仮署名とが同じとなるように乱数成分(第2仮データ)を補正する。
なお、本変形例では、Pを電力使用量の計測データの実値(第2実データ)とし、N,...,N96のすべてを置き換えた後のr’,...,r’96を乱数成分の実値(第2仮データ)とする。また、混乱のない限り、署名更新部13が更新した乱数成分r’をあらためてrで表す。本実施形態に係る署名更新部13は、上記方法により仮署名を更新する。
(署名検証方法)
署名検証部21,31は、データ系列(N,...,N97,r,...,r96)及び仮署名sを、以下の(式11)を用いて検証する。ここで、N(第1仮データ)が電力使用量P(第1実データ)で置き換えられている場合には、(式11)のNを、Pに置き換えて計算する。
Ver(CH(N,r),...,CH(N96,r96),s) ・・・ (式11)
ここで、(式11)に表現されるVerは、Signに対応する署名検証関数である。
その結果、署名検証部21,31は、(式11)が成立する場合、検証対象の仮署名がデータ系列に対して正当な署名でないと判断し(受信データが改ざんされていることを確認し)、受信した仮署名を記憶しない(破棄する)。本実施形態に係る署名検証部21は、上記方法により仮署名を検証する。
以上のように、本変形例では、このような署名生成方法、署名更新方法、及び署名検証方法を用いることで、上記実施形態と同様の効果を奏することができる。
最後に、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
100 SM(署名生成装置,データ集計装置)
200 MDMS(データ管理システム)
300 アプリケーションシステム(機能提供システム)
10,20,30 通信制御部
11 電力使用量集計部
12 署名生成部
13 署名更新部
21,31 署名検証部
32 アプリケーション実行部
1000 電力使用量計算システム

Claims (9)

  1. 所定数の第1仮データを含むデータ系列と前記データ系列に対応する仮署名を生成する生成部と、
    前記データ系列の前記第1仮データを第1実データに置き換えて前記仮署名を更新し、すべての前記第1仮データを前記第1実データに置き換えることで前記第1実データを含む前記データ系列に対応する署名を生成する更新部と、を備えることを特徴とする署名生成装置。
  2. 前記生成部は、
    前記第1実データを受け付ける前に、前記仮署名を計算することを特徴とする請求項1に記載の署名生成装置。
  3. 予め定められた値の第1仮データを前記データ系列における前記第1実データの初期値として記憶し、予め定められた値の第2仮データを第2実データの初期値として記憶する記憶部を、さらに備え、
    前記生成部は、
    前記第1仮データと1又は複数の前記第2仮データとに基づき、前記仮署名を計算することを特徴とする請求項1に記載の署名生成装置。
  4. 前記更新部は、
    前記記憶部から前記第1仮データと前記第2仮データを読み出し、
    前記第1仮データを前記第1実データに置き換え、前記乱数成分として利用する前記第2実データを計算し、前記第2仮データを、計算した前記第2実データで更新することを特徴とする請求項3に記載の署名生成装置。
  5. 所定時間経過ごとに前記実データを受け付ける受付部を、さらに備えることを特徴とする請求項1に記載の署名生成装置。
  6. 前記生成部は、
    所定数の前記第1仮データを含むデータ系列と前記第1仮データを含むデータ系列に対応する前記仮署名を生成し、
    前記更新部は、
    前記データ系列の前記第1仮データを、前記第1実データに相当する、集計した前記電力使用量の計測データに置き換えて前記仮署名を更新し、すべての前記第1仮データを前記電力使用量の計測データに置き換えることで前記計測データを含む前記電力使用量のデータ系列に対応する前記署名を生成することを特徴とする請求項1に記載の署名生成装置。
  7. 所定数の第1仮データを含むデータ系列と前記データ系列に対応する仮署名を生成する生成工程と、
    前記データ系列の前記第1仮データを第1実データに置き換えて前記仮署名を更新し、すべての前記第1仮データを前記第1実データに置き換えることで前記第1実データを含む前記データ系列に対応する署名を生成する更新工程と、を含むことを特徴とする署名生成方法。
  8. コンピュータに、
    所定数の第1仮データを含むデータ系列と前記データ系列に対応する仮署名を生成する生成工程と、
    前記データ系列の前記第1仮データを第1実データに置き換えて前記仮署名を更新し、すべての前記第1仮データを前記第1実データに置き換えることで前記第1実データを含む前記データ系列に対応する署名を生成する更新工程と、を実行させる署名生成プログラム。
  9. 所定時間経過ごとに電力使用量の計測データを受け付ける受付部と、
    前記電力使用量の計測データを受け付ける前に、所定数の第1仮データを含むデータ系列と前記データ系列に対応する仮署名を生成する生成部と、
    前記データ系列の前記第1仮データを、第1実データに相当する、集計した前記電力使用量の計測データに置き換えて前記仮署名を更新し、すべての前記第1仮データを前記電力使用量の計測データに置き換えることで前記計測データを含む前記電力使用量のデータ系列に対応する署名を生成する更新部と、
    前記電力使用量のデータ系列、前記電力使用量の計測データ、及び前記署名を送信する第1送信部と、を備える署名生成装置と、
    前記署名生成装置から送信されたデータを受信する第1受信部と、
    受信した前記署名が前記電力使用量のデータ系列に対して正当な署名か否かを検証する第1検証部と、
    前記電力使用量のデータ系列、前記電力使用量の計測データ、及び前記署名を送信する第2送信部と、を備えるデータ管理システムと、
    前記データ管理システムから送信されたデータを受信する第2受信部と、
    受信した前記署名が前記電力使用量のデータ系列に対して正当な署名か否かを検証する第2検証部と、
    受信した前記電力使用量の計測データに基づき、アプリケーションソフトウェアを実行し、所定の機能を提供する実行部と、を備える機能提供システムと、を備える電力使用量計算システム。
JP2013122412A 2013-06-11 2013-06-11 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム Pending JP2014241465A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013122412A JP2014241465A (ja) 2013-06-11 2013-06-11 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム
US14/196,905 US20140365026A1 (en) 2013-06-11 2014-03-04 Signature generating apparatus, signature generating method, computer program product, and electrical power consumption calculation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013122412A JP2014241465A (ja) 2013-06-11 2013-06-11 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム

Publications (1)

Publication Number Publication Date
JP2014241465A true JP2014241465A (ja) 2014-12-25

Family

ID=52006124

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013122412A Pending JP2014241465A (ja) 2013-06-11 2013-06-11 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム

Country Status (2)

Country Link
US (1) US20140365026A1 (ja)
JP (1) JP2014241465A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021077057A (ja) * 2019-11-08 2021-05-20 コニカミノルタ株式会社 署名システム、画像処理装置及び制御方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5949732B2 (ja) * 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
EP3460700A1 (en) 2017-09-22 2019-03-27 Banco Bilbao Vizcaya Argentaria, S.A. Authentication of software update modules using chameleon hashing.
KR101934103B1 (ko) * 2017-09-28 2018-12-31 주식회사 스타코프 전력/전력량 계측 및 전력품질 분석장치의 가상화 구조 및 이를 이용하여 계측 데이터를 획득, 전송 및 처리하는 방법
US11093599B2 (en) * 2018-06-28 2021-08-17 International Business Machines Corporation Tamper mitigation scheme for locally powered smart devices
DE102019204951A1 (de) * 2019-04-08 2020-10-08 Osram Gmbh Verfahren zum sicheren austauschen von nachrichten zwischen endgeräten in einem netzwerk
JP2021175016A (ja) * 2020-04-20 2021-11-01 株式会社日立製作所 デジタル署名の管理方法、デジタル署名の管理システム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638447A (en) * 1996-05-15 1997-06-10 Micali; Silvio Compact digital signatures
JP3584831B2 (ja) * 2000-01-18 2004-11-04 日本電気株式会社 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体
US20040113810A1 (en) * 2002-06-28 2004-06-17 Mason Robert T. Data collector for an automated meter reading system
EP1565867A1 (en) * 2003-02-21 2005-08-24 Matsushita Electric Industrial Co., Ltd. Software-management system, recording medium, and information-processing device
US20060136728A1 (en) * 2003-08-15 2006-06-22 Gentry Craig B Method and apparatus for authentication of data streams with adaptively controlled losses
JP4827468B2 (ja) * 2005-07-25 2011-11-30 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP5548419B2 (ja) * 2009-09-30 2014-07-16 富士通株式会社 署名生成装置、署名検証装置、署名生成方法、署名検証方法、署名生成プログラム、および署名検証プログラム
JP4905578B2 (ja) * 2010-04-22 2012-03-28 株式会社デンソー 通信システム,送信機,受信機,送受信機

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021077057A (ja) * 2019-11-08 2021-05-20 コニカミノルタ株式会社 署名システム、画像処理装置及び制御方法
JP7347135B2 (ja) 2019-11-08 2023-09-20 コニカミノルタ株式会社 署名システム、画像処理装置及び制御方法

Also Published As

Publication number Publication date
US20140365026A1 (en) 2014-12-11

Similar Documents

Publication Publication Date Title
JP2014241465A (ja) 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム
US9166792B2 (en) Data management device, power usage calculation system, data management method, and computer program product
US8667292B2 (en) Privacy-preserving metering with low overhead
EP2871801B1 (en) Energy usage data management
Rial et al. Privacy-preserving smart metering
JP4641327B1 (ja) 計測データ管理方法、計測データ管理システム、計測データ管理装置及び端末装置
JP2019009772A (ja) ネットワーク上でデバイスの情報を追跡するための、ブロックチェーンの使用
US8583932B2 (en) Signature device, signature verification device, anonymous authetication system, signing method, signature authentication method, and programs therefor
Borges et al. EPPP4SMS: efficient privacy-preserving protocol for smart metering systems and its simulation using real-world data
US20120089494A1 (en) Privacy-Preserving Metering
EP3082078A1 (en) Authenticated down-sampling of time-series data
CN108960552B (zh) 一种基于实时电价的计费方法及相关设备
JP2012200094A (ja) データ変換装置、データ処理装置、電力使用量処理システム及びプログラム
US20120310801A1 (en) Power usage calculation system
Mashima et al. Privacy preserving disclosure of authenticated energy usage data
JP2012058852A (ja) データ管理装置、電力使用量計算システム及びプログラム
JP5509366B2 (ja) データ管理装置、電力使用量計算システム及びプログラム
US12003636B2 (en) Device and method for certifying reliability of public key, and program therefor
US12010230B2 (en) Device and method for certifying reliability of public key, and program for same
Camara et al. A consumption authenticator based mechanism for time-of-use smart meter measurements verification
EP3817277A1 (en) Device and method for certifying reliability of public key, and program therefor
US20240200982A1 (en) Method, meter, and system for data audit trail
JP7489634B2 (ja) デジタル署名システム及びデジタル署名方法
JP6216688B2 (ja) 部分使い捨て署名システム及び方法、署名装置、検証装置並びにプログラム
CN117175607A (zh) 一种基于区块链的电力需求响应的保护方法和装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102