(57)【特許請求の範囲】
【請求項１】
１つのキーワードを含む暗号化クエリを生成する監視装置から前記暗号化クエリを受信して前記暗号化クエリを記憶媒体に格納した後に、前記監視装置とは別の装置であり１つの値を持つ暗号化データを生成する装置から前記暗号化データを受信するデータ受信部と、
前記データ受信部により前記暗号化データが受信される度に、前記暗号化クエリを前記記憶媒体から取得し、前記暗号化データと前記暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と前記暗号化クエリのキーワードとが一致するかどうかを判定するデータ検索部と、
前記データ検索部により前記暗号化データの値と前記暗号化クエリのキーワードとが一致すると判定された場合に、前記暗号化クエリの識別子を示す識別データを前記監視装置に送信するデータ送信部と
を備える検索装置。
【請求項２】
前記データ受信部は、前記暗号化クエリとして、前記監視装置が前記別の装置および前記検索装置に公開される公開鍵と前記監視装置に保持される秘密鍵とを用いて前記１つのキーワードを暗号化して生成した暗号化クエリを前記監視装置から受信し、前記暗号化データとして、前記別の装置が前記公開鍵を用いて前記１つの値を暗号化して生成した暗号化データを前記別の装置から受信し、
前記データ検索部は、前記公開鍵を用いて前記暗号化データと前記暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と前記暗号化クエリのキーワードとが一致するかどうかを判定する請求項１に記載の検索装置。
【請求項３】
前記データ受信部は、前記暗号化クエリとして、それぞれ異なるキーワードを含む複数の暗号化クエリを前記監視装置から受信して前記記憶媒体に格納し、
前記データ送信部は、前記データ検索部により前記暗号化データの値と前記複数の暗号化クエリのうちいずれか１つの暗号化クエリのキーワードとが一致すると判定された場合に、前記識別データとして、前記１つの暗号化クエリの識別子を示すデータを送信する請求項１または２に記載の検索装置。
【請求項４】
前記データ受信部は、前記複数の暗号化クエリとして、前記暗号化データがとり得る値の個数よりも少ない個数の暗号化クエリを前記監視装置から受信して前記記憶媒体に格納する請求項３に記載の検索装置。
【請求項５】
前記暗号化データの値は、数値であり、
前記複数の暗号化クエリのキーワードは、連続する複数の数値に１対１で対応するキーワードである請求項４に記載の検索装置。
【請求項６】
前記暗号化データの値は、数値であり、
前記複数の暗号化クエリのキーワードは、不連続の複数の数値に１対１で対応するキーワードである請求項４に記載の検索装置。
【請求項７】
前記データ受信部は、前記複数の暗号化クエリと前記複数の暗号化クエリの識別子との対照表である暗号化対照表を前記監視装置から受信して前記記憶媒体に格納した後に、前記別の装置から前記暗号化データを受信し、
前記データ検索部は、暗号化クエリを前記暗号化対照表から１つずつ取得し、前記暗号化データと取得した暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と取得した暗号化クエリのキーワードとが一致するかどうかを判定し、
前記データ送信部は、前記データ検索部により前記暗号化データの値と前記１つの暗号化クエリのキーワードとが一致すると判定された場合に、前記暗号化対照表から前記１つの暗号化クエリの識別子を取得し、前記識別データとして、取得した識別子を示すデータを前記監視装置に送信する請求項３から５のいずれか１項に記載の検索装置。
【請求項８】
前記複数の暗号化クエリの識別子は、前記複数の暗号化クエリに対してランダムに付与されている請求項７に記載の検索装置。
【請求項９】
それぞれ異なるキーワードを含む複数の暗号化クエリのキーワードと前記複数の暗号化クエリの識別子との対照表である平文対照表と、前記複数の暗号化クエリと前記複数の暗号化クエリの識別子との対照表である暗号化対照表とを生成し、前記暗号化対照表を送信する監視装置と、
前記監視装置から前記暗号化対照表を受信して記憶媒体に格納した後に、前記監視装置とは別の装置から１つの値を持つ暗号化データを受信する度に、暗号化クエリを前記暗号化対照表から１つずつ取得し、前記暗号化データと取得した暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と取得した暗号化クエリのキーワードとが一致するかどうかを判定し、前記暗号化データの値と前記複数の暗号化クエリのうちいずれか１つの暗号化クエリのキーワードとが一致すると判定した場合に、前記暗号化対照表から前記１つの暗号化クエリの識別子を取得し、取得した識別子を示す識別データを送信する検索装置と
を備え、
前記監視装置は、前記検索装置から前記識別データを受信した場合に、前記平文対照表を参照して、前記識別データが示す識別子に対応するキーワードを特定する監視システム。
【請求項１０】
監視装置が、１つのキーワードを含む暗号化クエリを生成し、前記暗号化クエリを送信し、
検索装置が、前記暗号化クエリを受信して前記暗号化クエリを記憶媒体に格納し、
前記監視装置とは別の装置が、前記検索装置が前記暗号化クエリを前記記憶媒体に格納した後に、１つの値を持つ暗号化データを生成し、前記暗号化データを送信し、
前記検索装置が、前記暗号化データを受信する度に、前記暗号化クエリを前記記憶媒体から取得し、前記暗号化データと前記暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と前記暗号化クエリのキーワードとが一致するかどうかを判定し、
前記検索装置が、前記暗号化データの値と前記暗号化クエリのキーワードとが一致すると判定した場合に、前記暗号化クエリの識別子を示す識別データを前記監視装置に送信し、
前記監視装置が、前記識別データを受信することで、前記別の装置における、前記暗号化クエリのキーワードと一致する値の発生を検知する監視方法。
【請求項１１】
コンピュータに、
１つのキーワードを含む暗号化クエリを生成する監視装置から前記暗号化クエリを受信して前記暗号化クエリを記憶媒体に格納した後に、前記監視装置とは別の装置であり１つの値を持つ暗号化データを生成する装置から前記暗号化データを受信する処理と、
前記暗号化データが受信される度に、前記暗号化クエリを前記記憶媒体から取得し、前記暗号化データと前記暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と前記暗号化クエリのキーワードとが一致するかどうかを判定する処理と、
前記暗号化データの値と前記暗号化クエリのキーワードとが一致すると判定された場合に、前記暗号化クエリの識別子を示す識別データを前記監視装置に送信する処理と
を実行させる検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索装置、監視装置、監視方法および検索プログラムに関するものである。
【背景技術】
【０００２】
ＩｏＴが進展してきている。「ＩｏＴ」は、Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓの略語である。ＩｏＴの進展により、多数のセンサデバイスから大量のセンサデータを収集することが容易になりつつある。そこで、これらのデータを解析することで、機器の故障予知および遠隔管理等の新たなサービスを実現しようというニーズが高まっている。しかし、大量のセンサデータを常時監視するには大規模なネットワークリソースおよび計算機リソースが必要となる。よって、一事業者が自前で常時監視を実施するのは困難である。そのため、パブリッククラウドサービスを活用し、監視作業をクラウド事業者に委託することが望ましい。ただし、センサデータには機密情報および個人情報が含まれるおそれがある。よって、何らかの保護対策が必要となる。そこで、このようなニーズに対応するため、様々なセキュリティ技術が考えられている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１５／０６３９０５号
【特許文献２】国際公開第２０１２／１５７４７１号
【特許文献３】特開２０１５−９９９６１号公報
【特許文献４】特許第５６０６６４２号公報
【特許文献５】特開２００５−１３４９９０号公報
【特許文献６】特開２０１３−１５２５２０号公報
【非特許文献】
【０００４】
【非特許文献１】Ｋｅｎ  Ｎａｇａｎｕｍａ，  Ｍａｓａｙｕｋｉ  Ｙｏｓｈｉｎｏ，  Ｈｉｓａｙｏｓｈｉ  Ｓａｔｏ，  ａｎｄ  Ｙｏｓｈｉｎｏｒｉ  Ｓａｔｏ，  “Ｐｒｉｖａｃｙ−ｐｒｅｓｅｒｖｉｎｇ  Ａｎａｌｙｓｉｓ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｓｅｃｕｒｅ，  Ｃｌｏｕｄ−ｂａｓｅｄ  Ｂｉｇ  Ｄａｔａ  Ａｎａｌｙｔｉｃｓ”，  Ｈｉｔａｃｈｉ  Ｒｅｖｉｅｗ，  ｖｏｌ．  ６３，  ｎｏ．  ９，  ｐｐ．  ５７７−５８３，  ２０１４
【非特許文献２】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ  ａｎｄ  Ｋａｔｓｕｙｕｋｉ  Ｔａｋａｓｈｉｍａ，  “Ｆｕｌｌｙ  Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  Ｄｅｃｉｓｉｏｎａｌ  Ｌｉｎｅａｒ  Ａｓｓｕｍｐｔｉｏｎ”，  Ｃｒｙｐｔｏ  ２０１０，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  ｖｏｌ．  ６２３３，  ｐｐ．  １９１−２０８，  ２０１０
【非特許文献３】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ  ａｎｄ  Ｋａｔｓｕｙｕｋｉ  Ｔａｋａｓｈｉｍａ，  “Ａｄａｐｔｉｖｅｌｙ  Ａｔｔｒｉｂｕｔｅ−Ｈｉｄｉｎｇ  （Ｈｉｅｒａｒｃｈｉｃａｌ）  Ｉｎｎｅｒ  Ｐｒｏｄｕｃｔ  Ｅｎｃｒｙｐｔｉｏｎ”，  Ｅｕｒｏｃｒｙｐｔ  ２０１２，  Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，  ｖｏｌ．  ７２３７，  ｐｐ．  ５９１−６０８，  ２０１２
【非特許文献４】Ｒｅｚａ  Ｃｕｒｔｍｏｌａ，  Ｊｕａｎ  Ｇａｒａｙ，  Ｓｅｎｙ  Ｋａｍａｒａ，  Ｒａｆａｉｌ  Ｏｓｔｒｏｖｓｋｙ，  “Ｓｅａｒｃｈａｂｌｅ  Ｓｙｍｍｅｔｒｉｃ  Ｅｎｃｒｙｐｔｉｏｎ：  Ｉｍｐｒｏｖｅｄ  Ｄｅｆｉｎｉｔｉｏｎｓ  ａｎｄ  Ｅｆｆｉｃｉｅｎｔ  Ｃｏｎｓｔｒｕｃｔｉｏｎｓ”，  ＡＣＭ  ＣＣＳ  ２００６，  ｐｐ．  ７９−８８，  ２００６
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１および非特許文献１で開示されているデータ分析システムは、検索可能暗号技術を用いて、データを暗号化したままで相関分析を行うシステムである。このシステムで実現可能な分析は相関分析のみである。故障予知および遠隔管理で必要とされる、データがしきい値を超えたかどうかを検出するしきい値分析はできない。【０００６】
特許文献２で開示されている異常検知システムは、複数の産業制御システム同士が連携して異常を検知するシステムである。このシステムは、他の制御システムに対して秘匿したい情報がある場合、それをランダムコードに変換して保護するシステムである。このシステムでランダムコードは意味のないデータであり、異常検知に使うことができない。そのため、異常検知に必要なデータは秘匿することができない。【０００７】
本発明は、データの機密性を確保しつつ、特定の値を持つデータの検知を可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る検索装置は、
１つの値を持つ暗号化データを受信するデータ受信部と、
前記データ受信部により前記暗号化データが受信される前から記憶媒体に格納されている、１つのキーワードを含む暗号化クエリを前記記憶媒体から取得し、前記暗号化データと前記暗号化クエリとの両方が暗号化されたまま前記暗号化データの値と前記暗号化クエリのキーワードとが一致するかどうかを判定するデータ検索部と、
前記データ検索部により前記暗号化データの値と前記暗号化クエリのキーワードとが一致すると判定された場合に、前記暗号化クエリの識別子を示す識別データを送信するデータ送信部とを備える。
【発明の効果】
【０００９】
本発明によれば、暗号化データと暗号化クエリとのいずれも復号することなく、暗号化クエリのキーワードと一致する値を持つ暗号化データを検知することができる。すなわち、データの機密性を確保しつつ、特定の値を持つデータを検知することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る秘匿異常検知システムの構成を示すブロック図。
【図２】実施の形態１に係る秘匿異常検知システムの各装置の機能構成を示すブロック図。
【図３】実施の形態１に係る秘匿異常検知システムの各装置のハードウェア構成を示すブロック図。
【図４】実施の形態１に係る秘匿異常検知システムの機能を示すブロック図。
【図５】実施の形態１に係る監視装置の動作を示すフローチャート。
【図６】実施の形態１に係る監視装置の動作を示すフローチャート。
【図７】実施の形態１に係る平文対照表および暗号化対照表の例を示す図。
【図８】実施の形態１に係るゲートウェイ装置の動作を示すフローチャート。
【図９】実施の形態１に係る検索装置の動作を示すフローチャート。
【図１０】実施の形態１に係る監視装置の動作を示すフローチャート。
【図１１】実施の形態２に係る秘匿異常検知システムの機能を示すブロック図。
【図１２】実施の形態２に係る監視装置の動作を示すフローチャート。
【図１３】実施の形態３に係る監視装置の動作を示すフローチャート。
【図１４】実施の形態３に係る平文対照表および暗号化対照表の例を示す図。
【図１５】実施の形態３に係る実データおよび把握データの例を示すグラフ。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態のうち、２つ以上の実施の形態が組み合わせられて実施されても構わない。あるいは、以下に説明する実施の形態のうち、１つの実施の形態または２つ以上の実施の形態の組み合わせが部分的に実施されても構わない。
【００１２】
実施の形態１．
本実施の形態について、図１から図１０を用いて説明する。
【００１３】
＊＊＊構成の説明＊＊＊
図１を参照して、本実施の形態に係る秘匿異常検知システム１００の構成を説明する。
【００１４】
本実施の形態において、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データを暗号化したままでしきい値分析を行うシステムである。すなわち、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データが特定のしきい値を超えたことを、データを暗号化したままで検知するシステムである。
【００１５】
しきい値分析の対象となるデータは、任意のデータでよいが、本実施の形態では電力データである。以下では、０ワットから１，０００ワットまで１ワット刻みで取得され、９０１ワット以上であれば異常であるような電力データを例として用いる。
【００１６】
秘匿異常検知システム１００は、監視対象システム１０１と、検索装置１０２と、監視装置１０３とを備える。
【００１７】
監視対象システム１０１は、異常検知等の監視対象のシステムである。監視対象システム１０１内には、１つ以上のセンサ装置１１１と、それらのセンサ装置１１１をインターネット等の外部のネットワーク１１５につなぐためのゲートウェイ装置１１３とがある。
【００１８】
検索装置１０２は、しきい値分析を用いた監視業務を受託しているシステムである。
【００１９】
監視装置１０３は、監視業務を委託しているシステムである。監視装置１０３は、何らかの異常を検知した場合に、画面表示または警告音等を通じてそれを保守員１０４に対して通知するシステムである。
【００２０】
なお、センサ装置１１１が外部のネットワーク１１５に直接接続される形態が採られてもよい。そのような形態では、個々のセンサ装置１１１が、本実施の形態に係るゲートウェイ装置１１３と同じ機能を持つ。
【００２１】
秘匿異常検知システム１００の具体的な適用例を説明する。
【００２２】
製造業者が一般のクラウドサービス事業者に監視業務を委託しているとする。その場合、監視対象システム１０１は、各地の工場に配置される。センサ装置１１１は、工場内の各種機器の圧力センサおよび加速度センサ等である。検索装置１０２は、クラウドサービス事業者によって運用されるクラウドのサーバである。ネットワーク１１５は、インターネットまたは専用線である。監視装置１０３は、製造業者の保守員１０４によって利用されるスマートフォン、タブレット、携帯電話機またはパーソナルコンピュータ等の端末である。
【００２３】
別の適用例を説明する。
【００２４】
一般家庭のユーザが一般のクラウドサービス事業者に監視業務を委託しているとする。その場合、監視対象システム１０１は、ユーザの自宅に配置される。センサ装置１１１は、ユーザの自宅内の温度センサおよび電力センサ等である。検索装置１０２は、クラウドサービス事業者によって運用されるクラウドのサーバである。ネットワーク１１５は、インターネットである。監視装置１０３は、ユーザによって利用されるスマートフォン、タブレット、携帯電話機またはパーソナルコンピュータ等の端末である。
【００２５】
図２を参照して、秘匿異常検知システム１００の各装置の機能構成を説明する。
【００２６】
センサ装置１１１は、データを取得するデータ取得部２１１と、取得されたデータをゲートウェイ装置１１３へ送信するデータ送信部２１２とを備える。
【００２７】
ゲートウェイ装置１１３は、センサ装置１１１からデータを受信するデータ受信部２２１と、データを暗号化するための暗号化鍵を記憶する暗号化鍵記憶部２２２と、暗号化鍵を用いてデータを暗号化する暗号化部２２３と、暗号化されたデータを検索装置１０２へ送信するデータ送信部２２４とを備える。
【００２８】
検索装置１０２は、ゲートウェイ装置１１３および監視装置１０３からデータを受信するデータ受信部２３１と、受信されたデータを記憶するデータ記憶部２３２と、しきい値分析のためにデータ検索を行うデータ検索部２３３と、検索で得られた結果を監視装置１０３へ送信するデータ送信部２３４とを備える。
【００２９】
監視装置１０３は、検索装置１０２から結果を受信するデータ受信部２４１と、秘匿異常検知に必要な対照表を生成する対照表生成部２４２と、受信された結果に基づいて対照表を参照し、異常値を算出する対照表参照部２４３とを備える。さらに、監視装置１０３は、秘匿異常検知システム１００で利用される検索可能暗号方式の鍵を生成する鍵生成部２４４と、データ検索に必要な対照表を検索装置１０２へ送信するデータ送信部２４５とを備える。
【００３０】
図３を参照して、秘匿異常検知システム１００の各装置のハードウェア構成を説明する。
【００３１】
センサ装置１１１は、コンピュータである。センサ装置１１１は、プロセッサ３１３を備えるとともに、センサ３１１、Ａ／Ｄ変換器３１２、メモリ３１４およびシリアルバス３１５といった他のハードウェアを備える。「Ａ／Ｄ」は、Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌの略語である。プロセッサ３１３は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００３２】
データ取得部２１１の機能は、ソフトウェアにより実現される。データ送信部２１２の機能は、シリアルバス３１５により実現される。
【００３３】
センサ３１１は、例えば、電力センサである。プロセッサ３１３は、各種処理を行うＩＣである。「ＩＣ」は、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。プロセッサ３１３は、例えば、ＣＰＵである。「ＣＰＵ」は、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略語である。メモリ３１４は、例えば、フラッシュメモリまたはＲＡＭである。「ＲＡＭ」は、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略語である。
【００３４】
メモリ３１４、または、プロセッサ３２１に内蔵されたＲＯＭには、データ取得部２１１の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ３２１によって実行される。
【００３５】
ゲートウェイ装置１１３も、コンピュータである。ゲートウェイ装置１１３は、プロセッサ３２１を備えるとともに、メモリ３２２、補助記憶装置３２３、シリアルバス３２４およびネットワークインタフェース３２５といった他のハードウェアを備える。プロセッサ３２１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００３６】
データ受信部２２１の機能は、シリアルバス３２４により実現される。暗号化鍵記憶部２２２の機能は、補助記憶装置３２３により実現される。暗号化部２２３の機能は、ソフトウェアにより実現される。データ送信部２２４の機能は、ネットワークインタフェース３２５により実現される。
【００３７】
プロセッサ３２１は、各種処理を行うＩＣである。プロセッサ３２１は、例えば、ＣＰＵである。メモリ３２２は、例えば、フラッシュメモリまたはＲＡＭである。補助記憶装置３２３は、例えば、フラッシュメモリまたはＨＤＤである。「ＨＤＤ」は、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略語である。ネットワークインタフェース３２５は、例えば、通信チップまたはＮＩＣである。「ＮＩＣ」は、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄの略語である。
【００３８】
補助記憶装置３２３には、暗号化部２２３の機能を実現するプログラムである暗号化プログラムが記憶されている。暗号化プログラムは、メモリ３２２にロードされ、プロセッサ３２１によって実行される。
【００３９】
ゲートウェイ装置１１３は、プロセッサ３２１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、暗号化プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ３２１と同じように、各種処理を行うＩＣである。
【００４０】
暗号化部２２３の処理の結果を示す情報、データ、信号値および変数値は、メモリ３２２、補助記憶装置３２３、または、プロセッサ３２１内のレジスタまたはキャッシュメモリに記憶される。
【００４１】
暗号化プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
【００４２】
検索装置１０２も、コンピュータである。検索装置１０２は、プロセッサ３３１を備えるとともに、メモリ３３２、補助記憶装置３３３およびネットワークインタフェース３３４といった他のハードウェアを備える。プロセッサ３３１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００４３】
データ受信部２３１およびデータ送信部２３４の機能は、ネットワークインタフェース３３４により実現される。データ記憶部２３２の機能は、補助記憶装置３３３により実現される。データ検索部２３３の機能は、ソフトウェアにより実現される。
【００４４】
プロセッサ３３１は、各種処理を行うＩＣである。プロセッサ３３１は、例えば、ＣＰＵである。メモリ３３２は、例えば、フラッシュメモリまたはＲＡＭである。補助記憶装置３３３は、例えば、フラッシュメモリまたはＨＤＤである。ネットワークインタフェース３３４は、例えば、通信チップまたはＮＩＣである。
【００４５】
補助記憶装置３３３には、データ検索部２３３の機能を実現するプログラムである検索プログラムが記憶されている。検索プログラムは、メモリ３３２にロードされ、プロセッサ３３１によって実行される。
【００４６】
検索装置１０２は、プロセッサ３３１を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、検索プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ３３１と同じように、各種処理を行うＩＣである。
【００４７】
データ検索部２３３の処理の結果を示す情報、データ、信号値および変数値は、メモリ３３２、補助記憶装置３３３、または、プロセッサ３３１内のレジスタまたはキャッシュメモリに記憶される。
【００４８】
検索プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
【００４９】
監視装置１０３も、コンピュータである。監視装置１０３は、プロセッサ３４４を備えるとともに、ディスプレイ３４１、キーボード３４２、マウス３４３、メモリ３４５、補助記憶装置３４６およびネットワークインタフェース３４７といった他のハードウェアを備える。プロセッサ３４４は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００５０】
データ受信部２４１およびデータ送信部２４５の機能は、ネットワークインタフェース３４７により実現される。対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能は、ソフトウェアにより実現される。
【００５１】
プロセッサ３４４は、各種処理を行うＩＣである。プロセッサ３４４は、例えば、ＣＰＵである。メモリ３４５は、例えば、フラッシュメモリまたはＲＡＭである。補助記憶装置３４６は、例えば、フラッシュメモリまたはＨＤＤである。ネットワークインタフェース３４７は、例えば、通信チップまたはＮＩＣである。
【００５２】
補助記憶装置３４６には、対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能を実現するプログラムである監視プログラムが記憶されている。監視プログラムは、メモリ３４５にロードされ、プロセッサ３４４によって実行される。
【００５３】
監視装置１０３は、プロセッサ３４４を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、監視プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ３４４と同じように、各種処理を行うＩＣである。
【００５４】
ディスプレイ３４１は、保守員１０４またはその他のユーザに対して情報を提示するために用いられる。キーボード３４２およびマウス３４３は、保守員１０４またはその他のユーザが操作を行うために用いられる。
【００５５】
監視装置１０３は、ディスプレイ３４１、キーボード３４２およびマウス３４３を代替するタッチパネルを備えていてもよい。
【００５６】
対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の処理の結果を示す情報、データ、信号値および変数値は、メモリ３４５、補助記憶装置３４６、または、プロセッサ３４４内のレジスタまたはキャッシュメモリに記憶される。
【００５７】
監視プログラムは、磁気ディスクおよび光ディスクといった可搬記録媒体に記憶されてもよい。
【００５８】
＊＊＊動作の説明＊＊＊
図４から図１０を参照して、本実施の形態に係る秘匿異常検知システム１００の動作を説明する。秘匿異常検知システム１００の動作は、本実施の形態に係る監視方法に相当する。
【００５９】
図４を参照して、秘匿異常検知システム１００の機能を説明する。
【００６０】
秘匿異常検知システム１００は、公開鍵検索可能暗号方式の機能として、セットアップ機能４０１と、鍵生成機能４０２と、暗号化機能４０３と、クエリ生成機能４０４と、秘匿突合機能４０５とを有する。
【００６１】
セットアップ機能４０１は、セキュリティパラメータ４１１を入力として受け、マスタ公開鍵４１２とマスタ秘密鍵４１３とを出力する機能である。セキュリティパラメータ４１１は、安全性の強度をビット数等の数値で表すデータである。セキュリティパラメータ４１１には、通常は８０ビットまたは１２８ビット等の値が用いられる。
【００６２】
鍵生成機能４０２は、属性４１４とマスタ秘密鍵４１３とを入力として受け、属性４１４に対応するユーザ秘密鍵４１５を出力する機能である。属性４１４は、ユーザＩＤおよびユーザの特性を表すデータである。「ＩＤ」は、ＩＤｅｎｔｉｆｉｅｒの略語である。ユーザの特性としては、所属および役職等がある。属性４１４によって、ユーザ秘密鍵４１５の復号権限が規定される。
【００６３】
暗号化機能４０３は、平文データ４１６とマスタ公開鍵４１２と述語４１７とを入力として受け、暗号化データ４１８を出力する機能である。述語４１７は、公開鍵検索可能暗号方式における暗号化の対象となるデータである。例えば、述語４１７は、「９０１」ワットのような値を持つ。暗号化機能４０３では、公開鍵検索可能暗号方式の仕組みの都合上、暗号化の対象となるデータが平文データ４１６ではなく述語４１７として扱われる。
【００６４】
クエリ生成機能４０４は、キーワード４２１とマスタ公開鍵４１２とユーザ秘密鍵４１５とを入力として受け、暗号化クエリ４２２を出力する機能である。キーワード４２１は、検索対象となる述語４１７に含まれる値と同じ値を持つデータである。例えば、キーワード４２１は、「９０１」といった値を持つ。
【００６５】
秘匿突合機能４０５は、暗号化データ４１８とマスタ公開鍵４１２と暗号化クエリ４２２とを入力として受け、突合結果４２３を出力する機能である。突合結果４２３は、暗号化データ４１８に含まれる述語４１７と、暗号化クエリ４２２に含まれるキーワード４２１とが一致したか否かを表す１ビット情報である。例えば、一致していれば「１：ヒット」、一致していなければ「０：ヒットせず」が突合結果４２３として出力される。秘匿突合機能４０５では、暗号化データ４１８および暗号化クエリ４２２を復号することなく突合できる。
【００６６】
上記の各機能で入力から出力を得るためのアルゴリズムについては、特許文献３、非特許文献２および非特許文献３に記載されているような検索可能暗号と同様のアルゴリズムを適用することができる。
【００６７】
本実施の形態に係る秘匿異常検知システム１００の動作には、（１）鍵配布フェーズ、（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの３つのフェーズがある。各フェーズの動作を順に説明する。
【００６８】
はじめに、図５を参照して、（１）鍵配布フェーズの動作を説明する。
【００６９】
図５のステップＳ１１において、監視装置１０３の鍵生成部２４４は、公開鍵検索可能暗号方式のセットアップ機能４０１を実行して、マスタ公開鍵４１２およびマスタ秘密鍵４１３を生成する。そして、鍵生成部２４４は、マスタ公開鍵４１２およびマスタ秘密鍵４１３を補助記憶装置３４６に格納する。
【００７０】
図５のステップＳ１２において、監視装置１０３鍵生成部２４４は、保守員１０４がキーボード３４２またはマウス３４３により入力した設定等に基づいて、保守員１０４のユーザＩＤおよび特性を表すデータである属性４１４を取得する。そして、鍵生成部２４４は、属性４１４とマスタ秘密鍵４１３とを入力として公開鍵検索可能暗号方式の鍵生成機能４０２を実行して、保守員１０４の属性に応じたユーザ秘密鍵４１５を生成する。
【００７１】
図５のステップＳ１３において、監視装置１０３の鍵生成部２４４は、ユーザ秘密鍵４１５を補助記憶装置３４６に保存する。
【００７２】
図５のステップＳ１４において、監視装置１０３の鍵生成部２４４は、マスタ公開鍵４１２を公開する。このマスタ公開鍵４１２の公開は、マスタ公開鍵４１２を鍵生成部２４４がデータ送信部２４５からネットワーク１１５へブロードキャストし、そのマスタ公開鍵４１２をゲートウェイ装置１１３と検索装置１０２とがそれぞれ受信することにより行われる。ゲートウェイ装置１１３は、ネットワークインタフェース３２５を通じてマスタ公開鍵４１２を受信すると、マスタ公開鍵４１２を暗号化鍵記憶部２２２である補助記憶装置３２３に格納する。検索装置１０２は、データ受信部２３１であるネットワークインタフェース３３４を通じてマスタ公開鍵４１２を受信すると、マスタ公開鍵４１２を補助記憶装置３３３に格納する。
【００７３】
次に、図６および図７を参照して、（２）暗号化対照表登録フェーズの動作を説明する。
【００７４】
前述したように、ここでは、０ワットから１，０００ワットまで１ワット刻みで取得され、９０１ワット以上であれば異常であるような電力データが、しきい値分析の対象となる。
【００７５】
図６のステップＳ２１において、監視装置１０３の対照表生成部２４２は、マスタ公開鍵４１２およびユーザ秘密鍵４１５を補助記憶装置３４６から取り出す。対照表生成部２４２は、異常値として検出したい値である「９０１」、「９０２」、・・・、「１０００」をそれぞれキーワード４２１とし、マスタ公開鍵４１２およびユーザ秘密鍵４１５を入力として公開鍵検索可能暗号方式のクエリ生成機能４０４を実行して、複数の暗号化クエリ４２２を生成する。すなわち、監視装置１０３の対照表生成部２４２は、「９０１」の暗号化クエリ４２２から「１０００」の暗号化クエリ４２２までの１００個の暗号化クエリ４２２を生成する。
【００７６】
図６のステップＳ２２において、監視装置１０３の対照表生成部２４２は、保守員１０４がキーボード３４２またはマウス３４３により入力した設定をメモリ３３２に格納する。そして、対照表生成部２４２は、その設定に基づいて、図７に例示するような平文対照表５０１を作成する。平文対照表５０１は、異常値として検出したい値である「９０１」、「９０２」、・・・、「１０００」をランダムに並べ替えた上で「１」、「２」、・・・、「１００」の番号を付けた表である。
【００７７】
図６のステップＳ２３において、監視装置１０３の対照表生成部２４２は、平文対照表５０１を補助記憶装置３４６に格納する。
【００７８】
図６のステップＳ２４において、監視装置１０３の対照表生成部２４２は、図７に例示するような暗号化対照表５０２を作成する。暗号化対照表５０２は、平文対照表５０１のうち、「９０１」、「９０２」、・・・、「１０００」の部分をそれぞれ対応する暗号化クエリ４２２に置き換えた表である。例えば、図７の暗号化対照表５０２の「１」番に格納されている「０ｘＦ７Ａ３９０２１・・・」は、図７の平文対照表５０１の「１」番に格納されている「９７３」ワットに対応する暗号化クエリ４２２である。ここでは、平文対照表５０１のうち、「９０１」、「９０２」、・・・、「１０００」の部分をそれぞれ平文クエリと呼ぶ。
【００７９】
平文対照表５０１としては、特定の分布に従ってランダムに並べ替えられた平文クエリに順に付番した表が用いられることが望ましい。本実施の形態では、平文クエリの並べ替え方としては、「９０１」から「１０００」までの値を一様分布に従って重複を許さずに抽出し、抽出した順に「１」から「１００」までの番号を付ける方法が用いられる。一様分布に従って平文クエリをランダムに並べ替えることで、検索装置１０２が暗号化クエリ４２２を見ても、対応する平文クエリを推測しにくくなるという効果が生じる。なお、別の並べ替え方として、「９０１」から「１０００」までの値がなるべく出現頻度の高い順に並ぶように、「９０１」から「１０００」までの値を出現頻度に応じた確率分布に従って重複を許さずに抽出し、抽出した順に「１」から「１００」までの番号を付ける方法が用いられてもよい。出現頻度に応じた確率分布に従って平文クエリをランダムに並べ替えることで、後述する秘匿異常検知フェーズにおいて秘匿異常検知が高速化されるという効果が生じる。
【００８０】
図６のステップＳ２５において、監視装置１０３の対照表生成部２４２は、暗号化対照表５０２をデータ送信部２４５からネットワーク１１５を通じて検索装置１０２に送信する。検索装置１０２は、データ受信部２３１であるネットワークインタフェース３３４を通じて暗号化対照表５０２を受信すると、暗号化対照表５０２をデータ記憶部２３２である補助記憶装置３３３に格納する。
【００８１】
次に、図８、図９および図１０を参照して、（３）秘匿異常検知フェーズの動作を説明する。
【００８２】
図示していないが、センサ装置１１１のデータ取得部２１１は、センサ３１１から測定結果がアナログデータとして出力される度に、そのアナログデータをＡ／Ｄ変換器３１２でデジタルデータに変換する。データ取得部２１１は、そのデジタルデータをセンサデータとしてメモリ３１４に格納する。そして、データ取得部２１１は、そのセンサデータをデータ送信部２１２であるシリアルバス３１５を通じてゲートウェイ装置１１３に送信する。
【００８３】
図８のステップＳ３１において、ゲートウェイ装置１１３のデータ受信部２２１は、センサ装置１１１からセンサデータを受信する。そして、データ受信部２２１は、そのセンサデータをメモリ３２２に格納する。
【００８４】
図８のステップＳ３２において、ゲートウェイ装置１１３の暗号化部２２３は、暗号化鍵記憶部２２２である補助記憶装置３２３からマスタ公開鍵４１２を取り出す。暗号化部２２３は、メモリ３２２からセンサデータを読み出す。暗号化部２２３は、そのセンサデータを述語４１７とし、特別な値である「１」を平文データ４１６とし、マスタ公開鍵４１２を入力として公開鍵検索可能暗号方式の暗号化機能４０３を実行して、暗号化データ４１８を生成する。そして、暗号化部２２３は、暗号化データ４１８をメモリ３２２に格納する。前述したように、暗号化機能４０３では、公開鍵検索可能暗号方式の仕組みの都合上、暗号化の対象となるデータが平文データ４１６ではなく述語４１７として扱われる。
【００８５】
図８のステップＳ３３において、ゲートウェイ装置１１３の暗号化部２２３は、メモリ３２２から暗号化データ４１８を読み出す。そして、暗号化部２２３は、暗号化データ４１８をデータ送信部２２４からネットワーク１１５を通じて検索装置１０２に送信する。
【００８６】
図９のステップＳ４１において、検索装置１０２のデータ受信部２３１は、ゲートウェイ装置１１３から暗号化データ４１８を受信する。そして、データ受信部２３１は、その暗号化データ４１８をメモリ３３２に格納する。
【００８７】
図９のステップＳ４２において、検索装置１０２のデータ検索部２３３は、インデックス変数Ｉｄｘに１を代入する。
【００８８】
図９のステップＳ４３において、検索装置１０２のデータ検索部２３３は、補助記憶装置３３３からマスタ公開鍵４１２を取り出す。データ検索部２３３は、データ記憶部２３２である補助記憶装置３３３から暗号化対照表５０２をメモリ３３２に展開する。データ検索部２３３は、暗号化対照表５０２の番号Ｉｄｘに格納されている暗号化クエリ４２２を取り出す。そして、データ検索部２３３は、その暗号化クエリ４２２とマスタ公開鍵４１２とメモリ３３２上の暗号化データ４１８とを入力として公開鍵検索可能暗号方式の秘匿突合機能４０５を実行して、突合結果４２３を算出する。すなわち、データ検索部２３３は、暗号化対照表５０２とメモリ３３２上の暗号化データ４１８との間で秘匿突合を実行する。
【００８９】
図９のステップＳ４４において、検索装置１０２のデータ検索部２３３は、突合結果４２３が特別な値である「１」であるかをチェックする。もし「１」であれば、ステップＳ４５の処理が行われる。もし「１」でなければ、ステップＳ４６の処理が行われる。
【００９０】
図９のステップＳ４５において、検索装置１０２のデータ検索部２３３は、インデックス変数Ｉｄｘの値を示す識別データをデータ送信部２３４からネットワーク１１５を通じて監視装置１０３に送信する。すなわち、データ検索部２３３は、秘匿突合の実行結果を監視装置１０３に送信する。その後、処理が終了する。
【００９１】
図９のステップＳ４６において、検索装置１０２のデータ検索部２３３は、インデックス変数Ｉｄｘが暗号化対照表５０２のサイズ以下かをチェックする。暗号化対照表５０２のサイズとは、暗号化対照表５０２の総行数のことである。暗号化対照表５０２の総行数は、図７の例では１００である。もしインデックス変数Ｉｄｘが暗号化対照表５０２のサイズ以下であれば、ステップＳ４７の処理が行われる。もしインデックス変数Ｉｄｘが暗号化対照表のサイズを超えていれば、処理が終了する。
【００９２】
図９のステップＳ４７において、検索装置１０２のデータ検索部２３３は、インデックス変数Ｉｄｘをインクリメントする。その後、ステップＳ４３の処理が再び行われる。
【００９３】
上記のように、ステップＳ４１において、データ受信部２３１は、１つの値を持つ暗号化データ４１８を受信する。ステップＳ４３およびステップＳ４４において、データ検索部２３３は、データ受信部２３１により暗号化データ４１８が受信される前からデータ記憶部２３２に格納されている、１つのキーワード４２１を含む暗号化クエリ４２２をデータ記憶部２３２から取得する。そして、データ検索部２３３は、当該暗号化データ４１８と当該暗号化クエリ４２２との両方が暗号化されたまま当該暗号化データ４１８の値と当該暗号化クエリ４２２のキーワード４２１とが一致するかどうかを判定する。ステップＳ４５において、データ送信部２３４は、データ検索部２３３により当該暗号化データ４１８の値と当該暗号化クエリ４２２のキーワード４２１とが一致すると判定された場合に、当該暗号化クエリ４２２の識別子を示す識別データを送信する。
【００９４】
データ記憶部２３２は、記憶媒体の例である。記憶媒体の別の例として、メモリ３３２がデータ記憶部２３２を代替してもよい。
【００９５】
データ記憶部２３２には、少なくとも１つの暗号化クエリ４２２が格納されていればよいが、本実施の形態に係るデータ記憶部２３２には、それぞれ異なるキーワード４２１を含む複数の暗号化クエリ４２２が格納されている。ステップＳ４５において、データ送信部２３４は、データ検索部２３３により暗号化データ４１８の値と当該複数の暗号化クエリ４２２のうちいずれか１つの暗号化クエリ４２２のキーワード４２１とが一致すると判定された場合に、識別データとして、当該１つの暗号化クエリ４２２の識別子を示すデータを送信する。
【００９６】
データ記憶部２３２には、暗号化データ４１８がとり得る値の個数以上の個数の暗号化クエリ４２２が格納されていてもよいが、本実施の形態に係るデータ記憶部２３２には、暗号化データ４１８がとり得る値の個数よりも少ない個数の暗号化クエリ４２２が格納されている。これは、データ記憶部２３２に格納する暗号化クエリ４２２を、通知が必要な数に制限しているということである。本実施の形態によれば、不要な通知をなくすことができる。
【００９７】
暗号化データ４１８の値は、任意の値でよいが、本実施の形態では数値である。本実施の形態では、上記複数の暗号化クエリ４２２のキーワード４２１が、連続する複数の数値に１対１で対応している。そのため、しきい値分析が可能になる。
【００９８】
データ記憶部２３２には、上記複数の暗号化クエリ４２２と上記複数の暗号化クエリ４２２の識別子との対照表である暗号化対照表５０２が格納されている。ステップＳ４３およびステップＳ４４において、データ検索部２３３は、暗号化クエリ４２２を暗号化対照表５０２から１つずつ取得する。そして、データ検索部２３３は、暗号化データ４１８と取得した暗号化クエリ４２２との両方が暗号化されたまま暗号化データ４１８の値と取得した暗号化クエリ４２２のキーワード４２１とが一致するかどうかを判定する。ステップＳ４５において、データ送信部２３４は、データ検索部２３３により暗号化データ４１８の値と１つの暗号化クエリ４２２のキーワードとが一致すると判定された場合に、暗号化対照表５０２から当該１つの暗号化クエリ４２２の識別子を取得する。そして、データ送信部２３４は、識別データとして、取得した識別子を示すデータを送信する。
【００９９】
上記複数の暗号化クエリ４２２の識別子は、上記複数の暗号化クエリ４２２に対してランダムに付与されていることが望ましい。本実施の形態では、識別子として番号が付与されているが、識別子としては記号またはその他の情報が付与されてもよい。
【０１００】
図１０のステップＳ５１において、監視装置１０３のデータ受信部２４１は、検索装置１０２からインデックス変数Ｉｄｘの値を示す識別データを受信する。すなわち、データ受信部２４１は、検索装置１０２から秘匿突合の実行結果を受信する。
【０１０１】
図１０のステップＳ５２において、監視装置１０３の対照表参照部２４３は、補助記憶装置３４６から平文対照表５０１をメモリ３４５に展開する。対照表参照部２４３は、平文対照表５０１を参照し、インデックス変数Ｉｄｘの値の番号に対応する平文クエリを取り出す。そして、対照表参照部２４３は、その平文クエリを、検索装置１０２からの通知に対応する異常値を示すデータとしてディスプレイ３４１上に表示する。対照表参照部２４３は、平文クエリとともに、インデックス変数Ｉｄｘの値をディスプレイ３４１上に表示してもよい。
【０１０２】
上記のように、本実施の形態において、監視装置１０３は、検索装置１０２から識別データを受信した場合に、複数の暗号化クエリ４２２のキーワード４２１と複数の暗号化クエリ４２２の識別子との対照表である平文対照表７０１を参照して、識別データが示す識別子に対応するキーワード４２１を特定する。
【０１０３】
以上、本実施の形態に係る秘匿異常検知システム１００の動作として、（１）鍵配布フェーズ、（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの３つのフェーズを順に説明した。
【０１０４】
＊＊＊実施の形態の効果の説明＊＊＊
上記の一連の動作によって秘匿異常検知が実現される理由を説明する。
【０１０５】
本実施の形態の用途は、しきい値分析である。すなわち、データが特定のしきい値を超えたことを、データを暗号化したままで検知することが本実施の形態の目的である。本実施の形態では、このしきい値を超えたことを検知するために、しきい値を超える値のすべてが検索用のクエリとして用いられている。そのため、センサデータの値がしきい値を超える場合、秘匿突合によって必ず１つの暗号化クエリ４２２の突合結果が「１」になる。一方、センサデータの値がしきい値以下の場合、どの暗号化クエリ４２２の突合結果も「１」にはならない。したがって、センサデータの値がしきい値を超える場合のみ、インデックス変数の値が監視装置１０３に通知され、監視装置１０３がセンサデータの値を知ることができる。このように、秘匿異常検知システム１００は、上述した一連の動作によって、データが特定のしきい値を超えたことを、データを暗号化したままで検知することができる。
【０１０６】
本実施の形態に係る秘匿異常検知システム１００の動作である、（１）鍵配布フェーズ、（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの３つのフェーズが、この順序で実行されることにより、秘匿異常検知が実現されることを説明する。特に、（２）暗号化対照表登録フェーズが（３）秘匿異常検知フェーズの前に実行されることによる効果を説明する。
【０１０７】
一般的は、公開鍵検索可能暗号方式が利用される場合、データを暗号化するフェーズの後に、データを検索するフェーズが実行される。データを暗号化するフェーズは、本実施の形態における（３）秘匿異常検知フェーズのステップＳ３２に相当する。データを検索するフェーズは、本実施の形態における（２）暗号化対照表登録フェーズのステップＳ２１と、（３）秘匿異常検知フェーズのステップＳ４３とに相当する。つまり、データの暗号化が先に行われ、秘匿突合で使用されるクエリの生成がその後に行われるという順序が一般的である。例えば、特許文献４に記載されている技術では、すでに暗号化データが存在し、その暗号化データを検索するために暗号化クエリが生成されることが仮定されている。特許文献５に記載されている技術でも、同じくすでに暗号化データが存在し、その暗号化データを検索するために暗号化クエリが生成されることが仮定されている。
【０１０８】
ところが、このような技術では、秘匿異常検知で求められる即時性を達成することはできない。すなわち、異常が発生した場合のみ、監視装置１０３がそのことを直ちに知ることができるシステムを実現することはできない。なぜならば、暗号化されたセンサデータが検索装置１０２に到達してすぐにしきい値分析を実行するためには、暗号化データ４１８が生成されるより前に暗号化クエリ４２２が生成され、秘匿突合が行える状態になっていなければならないからである。すなわち、（２）暗号化対照表登録フェーズが（３）秘匿異常検知フェーズの前に実行されていなければならないからである。
【０１０９】
本実施の形態では、（２）暗号化対照表登録フェーズが（３）秘匿異常検知フェーズの前に実行される。そのため、秘匿異常検知で求められる即時性を達成できるという効果が生じる。暗号化クエリ４２２が単に登録されているだけでなく、暗号化対照表５０２の形式で登録されていることで、検索装置１０２が暗号化クエリ４２２を見ても、対応する平文クエリを推測しにくくなるという効果も生じる。秘匿突合で「１」が算出された場合に、センサデータの値を監視装置１０３側で知ることができるという効果も生じる。これらの効果は、単に公開鍵検索可能暗号方式の各フェーズの順序を変えただけでは得ることのできない効果であり、本実施の形態の暗号化対照表５０２および平文対照表５０１の使用によってはじめてもたらされる効果である。
【０１１０】
以上説明したように、本実施の形態によれば、公開鍵検索可能暗号方式を用いて、データが特定のしきい値を超えたことを、データを暗号化したままで検知することができる。
【０１１１】
本実施の形態では、公開鍵検索可能暗号方式を用いているため、センサデータの暗号化を誰でも実行できるという利点がある。監視装置１０３の運営会社と監視対象システム１０１の運営会社とが異なる場合等、秘匿異常検知システム１００に多様なエンティティが含まれる場合にも対応できるという効果がある。
【０１１２】
本実施の形態によれば、暗号化データ４１８と暗号化クエリ４２２とのいずれも復号することなく、暗号化クエリ４２２のキーワード４２１と一致する値を持つ暗号化データ４１８を検知することができる。すなわち、データの機密性を確保しつつ、特定の値を持つデータを検知することができる。具体的には、データの機密性を確保しつつ、しきい値分析等の故障予知および遠隔管理に必要なデータ分析が可能になる。特に、異常検知で求められる即時性、すなわち、異常が発生した場合、そのことを遅滞なく直ちに知ることができるシステムを実現することができる。
【０１１３】
＊＊＊他の構成＊＊＊
異常検知に用いられるデータ数が少ないとする。すなわち、暗号化対照表５０２のサイズが小さいとする。その場合、どのようなデータが用いられているかを検索装置１０２が推測しやすい可能性がある。よって、あえてダミーのデータを用いて暗号化対照表５０２のサイズを大きくすることが有効である。すなわち、ダミーのクエリを追加して暗号化対照表５０２のサイズを大きくすることで、異常検知に用いられるデータ数が少ない場合でも、どのようなデータが用いられているかを検索装置１０２が推測しにくくなるようにすることができる。
【０１１４】
本実施の形態では、センサ装置１１１とゲートウェイ装置１１３とがシリアルバスで結合されているが、変形例として、センサ装置１１１とゲートウェイ装置１１３とがイーサネット（登録商標）等のネットワークで結合されていてもよい。
【０１１５】
本実施の形態では、ゲートウェイ装置１１３の暗号化部２２３の機能がソフトウェアにより実現されるが、変形例として、暗号化部２２３の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、暗号化部２２３の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
【０１１６】
本実施の形態では、検索装置１０２のデータ検索部２３３の機能がソフトウェアにより実現されるが、変形例として、データ検索部２３３の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、データ検索部２３３の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
【０１１７】
本実施の形態では、監視装置１０３の対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能がソフトウェアにより実現されるが、変形例として、対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能の一部が専用の電子回路により実現され、残りがソフトウェアにより実現されてもよい。
【０１１８】
専用の電子回路は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＦＰＧＡまたはＡＳＩＣである。「ＧＡ」は、Ｇａｔｅ  Ａｒｒａｙの略語である。「ＦＰＧＡ」は、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。「ＡＳＩＣ」は、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。
【０１１９】
プロセッサ、メモリおよび専用の電子回路を、総称して「プロセッシングサーキットリ」という。つまり、ゲートウェイ装置１１３の暗号化部２２３の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、暗号化部２２３の機能は、プロセッシングサーキットリにより実現される。検索装置１０２のデータ検索部２３３の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、データ検索部２３３の機能は、プロセッシングサーキットリにより実現される。監視装置１０３の対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、対照表生成部２４２、対照表参照部２４３および鍵生成部２４４の機能は、プロセッシングサーキットリにより実現される。
【０１２０】
実施の形態２．
本実施の形態について、主に実施の形態１との差異を、図１１および図１２を用いて説明する。
【０１２１】
＊＊＊構成の説明＊＊＊
本実施の形態に係る秘匿異常検知システム１００の構成は、図１に示した実施の形態１のものと同じである。
【０１２２】
実施の形態１では、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データを暗号化したままでしきい値分析を行うシステムである。これに対し、本実施の形態では、秘匿異常検知システム１００は、共通鍵検索可能暗号方式を用いて、データを暗号化したままでしきい値分析を行うシステムである。すなわち、秘匿異常検知システム１００は、共通鍵検索可能暗号方式を用いて、データが特定のしきい値を超えたことを、データを暗号化したままで検知するシステムである。
【０１２３】
秘匿異常検知システム１００の各装置の機能構成およびハードウェア構成は、それぞれ図２および図３に示した実施の形態１のものと同じである。
【０１２４】
＊＊＊動作の説明＊＊＊
図１１および図１２を参照して、本実施の形態に係る秘匿異常検知システム１００の動作を説明する。秘匿異常検知システム１００の動作は、本実施の形態に係る監視方法に相当する。
【０１２５】
図１１を参照して、秘匿異常検知システム１００の機能を説明する。
【０１２６】
秘匿異常検知システム１００は、共通鍵検索可能暗号方式の機能として、鍵生成機能６０１と、暗号化機能６０２と、クエリ生成機能６０３と、秘匿突合機能６０４とを有する。
【０１２７】
鍵生成機能６０１は、セキュリティパラメータ６１１を入力として受け、共通鍵６１２を出力する機能である。セキュリティパラメータ６１１は、安全性の強度をビット数等の数値で表すデータである。セキュリティパラメータ６１１には、通常は８０ビットまたは１２８ビット等の値が用いられる。
【０１２８】
暗号化機能６０２は、共通鍵６１２と述語６１３とを入力として受け、暗号化データ６１４を出力する機能である。述語６１３は、基本的には検索対象となるデータである。例えば、述語６１３は、「９０１」ワットのような値を持つ。
【０１２９】
クエリ生成機能６０３は、キーワード６２１と共通鍵６１２とを入力として受け、暗号化クエリ６２２を出力する機能である。キーワード６２１は、検索対象となる述語６１３に含まれる値と同じ値を持つデータである。例えば、キーワード６２１は、「９０１」といった値を持つ。
【０１３０】
秘匿突合機能６０４は、暗号化データ６１４と暗号化クエリ６２２とを入力として受け、突合結果６２３を出力する機能である。突合結果６２３は、暗号化データ６１４に含まれる述語６１３と、暗号化クエリ６２２に含まれるキーワード６２１とが一致したか否かを表す１ビット情報である。例えば、一致していれば「１：ヒット」、一致していなければ「０：ヒットせず」が突合結果６２３として出力される。秘匿突合機能６０４では、暗号化データ６１４および暗号化クエリ６２２を復号することなく突合できる。
【０１３１】
上記の各機能で入力から出力を得るためのアルゴリズムについては、非特許文献４および特許文献６に記載されているような検索可能暗号と同様のアルゴリズムを適用することができる。
【０１３２】
本実施の形態に係る秘匿異常検知システム１００の動作には、実施の形態１と同様に、（１）鍵配布フェーズ、（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの３つのフェーズがある。これらのフェーズの中で用いられる暗号方式が共通鍵検索可能暗号方式であることから、一部で異なる動作が行われる。特に、（１）鍵配布フェーズの動作が異なる。
【０１３３】
図１２を参照して、（１）鍵配布フェーズの動作を説明する。
【０１３４】
図１２のステップＳ６１において、監視装置１０３の鍵生成部２４４は、共通鍵検索可能暗号方式の鍵生成機能６０１を実行して、共通鍵６１２を生成する。
【０１３５】
図１２のステップＳ６２において、監視装置１０３鍵生成部２４４は、共通鍵６１２を補助記憶装置３４６に保存する。
【０１３６】
図１２のステップＳ６３において、監視装置１０３の鍵生成部２４４は、安全な通信路を経由して、共通鍵６１２をゲートウェイ装置１１３に送信する。安全な通信路としては、専用線が用いられる。なお、ＴＬＳ通信等の暗号通信により共通鍵６１２がゲートウェイ装置１１３に送信されてもよいし、共通鍵６１２を格納した媒体を物理的に輸送することで共通鍵６１２がゲートウェイ装置１１３に提供されてもよい。「ＴＬＳ」は、Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙの略語である。
【０１３７】
残りのフェーズである（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの動作については、実施の形態１のものとの違いが、公開鍵検索可能暗号方式を用いているのか、それとも共通鍵検索可能暗号方式を用いているのかという点のみであるため、説明を省略する。
【０１３８】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、公開鍵検索可能暗号方式に比べて高速な演算が可能な共通鍵検索可能暗号が用いられている。そのため、実施の形態１に比べて秘匿異常検知が高速化されるという効果が生じる。
【０１３９】
実施の形態３．
本実施の形態について、主に実施の形態１との差異を、図１３から図１５を用いて説明する。
【０１４０】
＊＊＊構成の説明＊＊＊
本実施の形態に係る秘匿異常検知システム１００の構成は、図１に示した実施の形態１のものと同じである。
【０１４１】
実施の形態１では、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データを暗号化したままでしきい値分析を行うシステムである。これに対し、本実施の形態では、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データを暗号化したままでデータ波形の概略分析を行うシステムである。すなわち、秘匿異常検知システム１００は、公開鍵検索可能暗号方式を用いて、データの波形の概略形状を、データを暗号化したままで分析するシステムである。なお、実施の形態２と同様に、公開鍵検索可能暗号方式の代わりに、共通鍵検索可能暗号方式が用いられてもよい。
【０１４２】
データ波形の概略分析の対象となるデータは、任意のデータでよいが、本実施の形態では電力データである。以下では、０ワットから１，０００ワットまで１ワット刻みで取得されるような電力データを例として用いる。
【０１４３】
秘匿異常検知システム１００の各装置の機能構成およびハードウェア構成は、それぞれ図２および図３に示した実施の形態１のものと同じである。
【０１４４】
＊＊＊動作の説明＊＊＊
図１３から図１５を参照して、本実施の形態に係る秘匿異常検知システム１００の動作を説明する。秘匿異常検知システム１００の動作は、本実施の形態に係る監視方法に相当する。
【０１４５】
本実施の形態に係る秘匿異常検知システム１００の動作には、実施の形態１と同様に、（１）鍵配布フェーズ、（２）暗号化対照表登録フェーズ、および、（３）秘匿異常検知フェーズの３つのフェーズがある。これらのフェーズのうち、（１）鍵配布フェーズ、および、（３）秘匿異常検知フェーズの動作については、実施の形態１のものと同様であるため、説明を省略する。
【０１４６】
図１３から図１５を参照して、（２）暗号化対照表登録フェーズの動作を説明する。
【０１４７】
前述したように、ここでは、０ワットから１，０００ワットまで１ワット刻みで取得されるような電力データが、データ波形の概略分析の対象となる。
【０１４８】
図１３のステップＳ７１において、監視装置１０３の対照表生成部２４２は、マスタ公開鍵４１２およびユーザ秘密鍵４１５を補助記憶装置３４６から取り出す。対照表生成部２４２は、概略分析に適した値である「１０」、「２０」、・・・、「１０００」をそれぞれキーワード４２１とし、マスタ公開鍵４１２およびユーザ秘密鍵４１５を入力として公開鍵検索可能暗号方式のクエリ生成機能４０４を実行して、複数の暗号化クエリ４２２を生成する。すなわち、監視装置１０３の対照表生成部２４２は、「１０」の暗号化クエリ４２２から「１０００」の暗号化クエリ４２２までの１００個の暗号化クエリ４２２を生成する。
【０１４９】
図１３のステップＳ７２において、監視装置１０３の対照表生成部２４２は、保守員１０４がキーボード３４２またはマウス３４３により入力した設定をメモリ３３２に格納する。そして、対照表生成部２４２は、その設定に基づいて、図１４に例示するような平文対照表７０１を作成する。平文対照表７０１は、概略分析に適した値である「１０」、「２０」、・・・、「１０００」をランダムに並べ替えた上で「１」、「２」、・・・、「１００」の番号を付けた表である。
【０１５０】
図１３のステップＳ７３において、監視装置１０３の対照表生成部２４２は、平文対照表７０１を補助記憶装置３４６に格納する。
【０１５１】
図１３のステップＳ７４において、監視装置１０３の対照表生成部２４２は、図１４に例示するような暗号化対照表７０２を作成する。暗号化対照表７０２は、平文対照表７０１のうち、「１０」、「２０」、・・・、「１０００」の部分をそれぞれ対応する暗号化クエリ４２２に置き換えた表である。例えば、図１４の暗号化対照表７０２の「１」番に格納されている「０ｘＦ７Ａ３９０２１・・・」は、図１４の平文対照表７０１の「１」番に格納されている「３７０」ワットに対応する暗号化クエリ４２２である。ここでは、平文対照表７０１のうち、「１０」、「２０」、・・・、「１０００」の部分をそれぞれ平文クエリと呼ぶ。
【０１５２】
平文対照表７０１としては、実施の形態１における平文対照表５０１と同様に、特定の分布に従ってランダムに並べ替えられた平文クエリに順に付番した表が用いられることが望ましい。
【０１５３】
図１３のステップＳ７５において、監視装置１０３の対照表生成部２４２は、暗号化対照表７０２をデータ送信部２４５からネットワーク１１５を通じて検索装置１０２に送信する。検索装置１０２は、データ受信部２３１であるネットワークインタフェース３３４を通じて暗号化対照表７０２を受信すると、暗号化対照表７０２をデータ記憶部２３２である補助記憶装置３３３に格納する。
【０１５４】
暗号化データ４１８の値は、任意の値でよいが、本実施の形態では数値である。本実施の形態では、実施の形態１と異なり、上記複数の暗号化クエリ４２２のキーワード４２１が、不連続の複数の数値に１対１で対応している。そのため、データ波形の概略分析が可能になる。
【０１５５】
＊＊＊実施の形態の効果の説明＊＊＊
本実施の形態では、データを暗号化したままでデータ波形の概略分析が行えるという効果が生じる。この効果は、図１５の例によって理解される。
【０１５６】
図１５は、実データ８０１と、その実データ８０１に対して本実施の形態によって把握されるデータである把握データ８０２との例を示している。
【０１５７】
図１５の例において、実データ８０１は、電力波形の時間的推移を表している。この実データ８０１がセンサ装置１１１で取得され、デジタル化された後にゲートウェイ装置１１３で暗号化される。一方、黒丸で示された把握データ８０２は、本実施の形態によって監視装置１０３で把握されるデータである。図１５から明らかなように、本実施の形態ではセンサ装置１１１で観測されるすべての値が監視装置１０３で把握されるのではなく、平文対照表７０１および暗号化対照表７０２に登録された値のみが把握される。そのため、監視装置１０３で把握すべきデータ量を抑えつつ、データ波形の概略を把握することができる。このように、秘匿異常検知システム１００は、上述した一連の動作によって、データの波形の概略形状を、データを暗号化したままで分析することができる。
【符号の説明】
【０１５８】
１００  秘匿異常検知システム、１０１  監視対象システム、１０２  検索装置、１０３  監視装置、１０４  保守員、１１１  センサ装置、１１３  ゲートウェイ装置、１１５  ネットワーク、２１１  データ取得部、２１２  データ送信部、２２１  データ受信部、２２２  暗号化鍵記憶部、２２３  暗号化部、２２４  データ送信部、２３１  データ受信部、２３２  データ記憶部、２３３  データ検索部、２３４  データ送信部、２４１  データ受信部、２４２  対照表生成部、２４３  対照表参照部、２４４  鍵生成部、２４５  データ送信部、３１１  センサ、３１２  Ａ／Ｄ変換器、３１３  プロセッサ、３１４  メモリ、３１５  シリアルバス、３２１  プロセッサ、３２２  メモリ、３２３  補助記憶装置、３２４  シリアルバス、３２５  ネットワークインタフェース、３３１  プロセッサ、３３２  メモリ、３３３  補助記憶装置、３３４  ネットワークインタフェース、３４１  ディスプレイ、３４２  キーボード、３４３  マウス、３４４  プロセッサ、３４５  メモリ、３４６  補助記憶装置、３４７  ネットワークインタフェース、４０１  セットアップ機能、４０２  鍵生成機能、４０３  暗号化機能、４０４  クエリ生成機能、４０５  秘匿突合機能、４１１  セキュリティパラメータ、４１２  マスタ公開鍵、４１３  マスタ秘密鍵、４１４  属性、４１５  ユーザ秘密鍵、４１６  平文データ、４１７  述語、４１８  暗号化データ、４２１  キーワード、４２２  暗号化クエリ、４２３  突合結果、５０１  平文対照表、５０２  暗号化対照表、６０１  鍵生成機能、６０２  暗号化機能、６０３  クエリ生成機能、６０４  秘匿突合機能、６１１  セキュリティパラメータ、６１２  共通鍵、６１３  述語、６１４  暗号化データ、６２１  キーワード、６２２  暗号化クエリ、６２３  突合結果、７０１  平文対照表、７０２  暗号化対照表、８０１  実データ、８０２  把握データ。
【要約】
検索装置（１０２）において、データ検索部（２３３）は、データ受信部（２３１）により暗号化データが受信される前からデータ記憶部（２３２）に格納されている、１つのキーワードを含む暗号化クエリをデータ記憶部（２３２）から取得する。データ検索部（２３３）は、当該暗号化データと当該暗号化クエリとの両方が暗号化されたまま当該暗号化データの値と当該暗号化クエリのキーワードとが一致するかどうかを判定する。データ送信部（２３４）は、データ検索部（２３３）により当該暗号化データの値と当該暗号化クエリのキーワードとが一致すると判定された場合に、当該暗号化クエリの識別子を示す識別データを監視装置（１０３）に送信する。【図１】
0006266181.tif 000002
【図２】
0006266181.tif 000003
【図３】
0006266181.tif 000004
【図４】
0006266181.tif 000005
【図５】
0006266181.tif 000006
【図６】
0006266181.tif 000007
【図７】
0006266181.tif 000008
【図８】
0006266181.tif 000009
【図９】
0006266181.tif 000010
【図１０】
0006266181.tif 000011
【図１１】
0006266181.tif 000012
【図１２】
0006266181.tif 000013
【図１３】
0006266181.tif 000014
【図１４】
0006266181.tif 000015
【図１５】
0006266181.tif 000016