(57)【要約】【課題】各IoT機器が１つの復号鍵を持つだけで複数のIoT機器のセンサデータを秘匿化し通信することができる暗号通信技術を提供する。【解決手段】第２IoT機器が、自らの機器識別子を含むセンサデータ取得要求を生成するセンサデータ取得要求生成ステップと、復号鍵配布情報管理装置が、センサデータ取得要求に含まれる機器識別子を用いて当該機器識別子を含む復号鍵配布情報を特定する復号鍵配布情報検索ステップと、暗号化センサデータ管理装置が、復号鍵配布情報管理装置が特定した復号鍵配布情報に含まれるセンサ属性情報を用いて、当該センサ属性情報を含む暗号化センサデータ管理情報に含まれる暗号化センサデータを特定する暗号化センサデータ検索ステップと、第２IoT機器が、復号鍵と公開パラメータを用いて、暗号化センサデータ管理装置が特定した暗号化センサデータを復号しセンサデータを取得する復号ステップとを含む。【選択図】図１２
2019071552.tif 000002
【特許請求の範囲】
【請求項１】
鍵発行装置、復号鍵配布情報管理装置、暗号化センサデータ管理装置、第１IoT機器、第２IoT機器を含む暗号通信システムが、第１IoT機器のセンサ属性情報の属性値であるセンサデータの通信を行う暗号通信方法であって、
前記鍵発行装置の記録部は、公開パラメータとマスター鍵を記録しており、
前記第１IoT機器の記録部は、前記センサ属性情報と前記公開パラメータを記録しており、
前記復号鍵配布情報管理装置の記録部は、前記センサ属性情報の取得が許可された第２IoT機器の機器識別子と前記センサ属性情報を含む復号鍵配布情報を記録しており、
前記第２IoT機器の記録部は、前記鍵発行装置が前記センサ属性情報と前記公開パラメータと前記マスター鍵から生成した復号鍵と前記公開パラメータを記録しており、
前記第１IoT機器が、前記センサデータを取得するセンサデータ取得ステップと、
前記第１IoT機器が、前記センサ属性情報と前記公開パラメータを用いて、前記センサデータを暗号化し、暗号化センサデータを生成する暗号化ステップと、
前記暗号化センサデータ管理装置が、前記第１IoT機器が送信した前記センサ属性情報と前記暗号化センサデータを含む暗号化センサデータ管理情報を記録する暗号化センサデータ管理ステップと、
前記第２IoT機器が、自らの機器識別子を含むセンサデータ取得要求を生成するセンサデータ取得要求生成ステップと、
前記復号鍵配布情報管理装置が、前記センサデータ取得要求に含まれる機器識別子を用いて、当該機器識別子を含む復号鍵配布情報を特定する復号鍵配布情報検索ステップと、
前記暗号化センサデータ管理装置が、前記特定した復号鍵配布情報に含まれるセンサ属性情報を用いて、当該センサ属性情報を含む暗号化センサデータ管理情報に含まれる暗号化センサデータを特定する暗号化センサデータ検索ステップと、
前記第２IoT機器が、前記復号鍵と前記公開パラメータを用いて、前記特定した暗号化センサデータを復号し、前記センサデータを取得する復号ステップと
を含む暗号通信方法。
【請求項２】
第１IoT機器のセンサ属性情報の属性値であるセンサデータの通信を行う暗号通信システムであって、
前記暗号通信システムは、鍵発行装置、復号鍵配布情報管理装置、暗号化センサデータ管理装置、第１IoT機器、第２IoT機器を含み、
前記鍵発行装置は、
公開パラメータとマスター鍵を記録している記録部を含み、
前記第１IoT機器は、
前記センサ属性情報と前記公開パラメータを記録している記録部と、
前記センサデータを取得するセンサデータ取得部と、
前記センサ属性情報と前記公開パラメータを用いて、前記センサデータを暗号化し、暗号化センサデータを生成する暗号化部を含み、
前記第２IoT機器は、
前記鍵発行装置が前記センサ属性情報と前記公開パラメータと前記マスター鍵から生成した復号鍵と前記公開パラメータを記録している記録部と、
自らの機器識別子を含むセンサデータ取得要求を生成するセンサデータ取得要求生成部と、
前記復号鍵と前記公開パラメータを用いて、前記暗号化センサデータ管理装置が送信した暗号化センサデータを復号し、前記センサデータを取得する復号部を含み、
前記復号鍵配布情報管理装置は、
前記センサ属性情報の取得が許可された第２IoT機器の機器識別子と前記センサ属性情報を含む復号鍵配布情報を記録している記録部と、
前記第２IoT機器が送信したセンサデータ取得要求に含まれる機器識別子を用いて、当該機器識別子を含む復号鍵配布情報を特定する復号鍵配布情報検索部を含み、
前記暗号化センサデータ管理装置は、
前記第１IoT機器が送信した前記センサ属性情報と前記暗号化センサデータを含む暗号化センサデータ管理情報を記録する暗号化センサデータ管理部と、
前記復号鍵配布情報管理装置が送信した復号鍵配布情報に含まれるセンサ属性情報を用いて、当該センサ属性情報を含む暗号化センサデータ管理情報に含まれる暗号化センサデータを特定する暗号化センサデータ検索部を含む
暗号通信システム。
【請求項３】
請求項２に記載の暗号通信システムに含まれる鍵発行装置。
【請求項４】
請求項３に記載の鍵発行装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、IoT機器のセンサデータの秘匿化や不正利用防止に関する。
【背景技術】
【０００２】
IoT機器は、インターネットへの接続（IP接続）機能を有していない機器が多い。そのため、IoT機器はbluetooth（ブルートゥース（登録商標））などの消費電力の少ない無線通信を利用し、IoTGW（IoTゲートウェイ）を経由してインターネットへ接続する。そして、IoT機器は、このインターネット接続を利用して、クラウドへセンサデータを保存する。
【０００３】
このようなシステム構成が一般的になりつつある中、多様なIoT機器が市場に出回っていき、IoT機器が他のIoT機器のセンサデータを取得し制御に利用するというような活用も見込まれている。
【０００４】
しかし、センサデータ送受信時にIoT機器の制御に用いるセンサデータが改ざんされると、不正にIoT機器を制御することが可能となってしまう。そのため、センサデータを暗号化して送信・保存し、許可された特定のIoT機器のみが取得可能となるようにする技術が必要となる。
【０００５】
このような技術として、非特許文献１に記載されるような従来の暗号である公開鍵暗号や共通鍵暗号を用いて、IoT機器間で第三者からはセンサデータを秘匿して通信する方法が考えられる。公開鍵暗号を利用する場合、センサデータ送信側となるIoT機器Aは、センサデータ受信側となるIoT機器Zの公開鍵を用いて、センサデータの暗号化を行い、暗号化されたセンサデータをIoT機器Zへ送信することになる。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】共通鍵暗号と公開鍵暗号の仕組み、［online］、［平成29年9月21日検索］、インターネット<URL: http://mathtrain.jp/publickey>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところが、上述した１つのシステムには、例えば１００以上といった大量のIoT機器が含まれることも珍しくない。そのため、従来の暗号を適用した場合、各IoT機器は通信先ごとに公開鍵や共通鍵を保持することになり、膨大な数の鍵を管理する必要が生じる。しかし、IoT機器は、PC（パーソナルコンピュータ）などのコンピュータと比較し記憶容量が少なく、記憶容量を増やすことも容易ではないため、１つのIoT機器が多くの公開鍵や共通鍵を管理することは現実的ではない。また、IoT機器ごとに大量に配布される鍵の管理を行うのはシステム運用上も難しいと考えられる。
【０００８】
そこで本発明では、各IoT機器が１つの復号鍵を持つだけで複数のIoT機器のセンサデータを秘匿化し通信することができる暗号通信技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一態様は、鍵発行装置、復号鍵配布情報管理装置、暗号化センサデータ管理装置、第１IoT機器、第２IoT機器を含む暗号通信システムが、第１IoT機器のセンサ属性情報の属性値であるセンサデータの通信を行う暗号通信方法であって、前記鍵発行装置の記録部は、公開パラメータとマスター鍵を記録しており、前記第１IoT機器の記録部は、前記センサ属性情報と前記公開パラメータを記録しており、前記復号鍵配布情報管理装置の記録部は、前記センサ属性情報の取得が許可された第２IoT機器の機器識別子と前記センサ属性情報を含む復号鍵配布情報を記録しており、前記第２IoT機器の記録部は、前記鍵発行装置が前記センサ属性情報と前記公開パラメータと前記マスター鍵から生成した復号鍵と前記公開パラメータを記録しており、前記第１IoT機器が、前記センサデータを取得するセンサデータ取得ステップと、前記第１IoT機器が、前記センサ属性情報と前記公開パラメータを用いて、前記センサデータを暗号化し、暗号化センサデータを生成する暗号化ステップと、前記暗号化センサデータ管理装置が、前記第１IoT機器が送信した前記センサ属性情報と前記暗号化センサデータを含む暗号化センサデータ管理情報を記録する暗号化センサデータ管理ステップと、前記第２IoT機器が、自らの機器識別子を含むセンサデータ取得要求を生成するセンサデータ取得要求生成ステップと、前記復号鍵配布情報管理装置が、前記センサデータ取得要求に含まれる機器識別子を用いて、当該機器識別子を含む復号鍵配布情報を特定する復号鍵配布情報検索ステップと、前記暗号化センサデータ管理装置が、前記特定した復号鍵配布情報に含まれるセンサ属性情報を用いて、当該センサ属性情報を含む暗号化センサデータ管理情報に含まれる暗号化センサデータを特定する暗号化センサデータ検索ステップと、前記第２IoT機器が、前記復号鍵と前記公開パラメータを用いて、前記特定した暗号化センサデータを復号し、前記センサデータを取得する復号ステップとを含む。
【発明の効果】
【００１０】
本発明によれば、各IoT機器が１つの復号鍵を持つだけで複数のIoT機器のセンサデータを秘匿化し通信することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】暗号通信システム１００の構成の一例を示すブロック図。
【図２】暗号通信システム１０１の構成の一例を示すブロック図。
【図３】鍵発行装置２００の構成の一例を示すブロック図。
【図４】復号鍵配布情報管理装置３００の構成の一例を示すブロック図。
【図５】暗号化センサデータ管理装置４００の構成の一例を示すブロック図。
【図６】第１IoT機器５００の構成の一例を示すブロック図。
【図７】第２IoT機器６００の構成の一例を示すブロック図。
【図８】端末７００の構成の一例を示すブロック図。
【図９】セットアップ処理（第１IoT機器５００の設定）の一例を示すシークエンス図。
【図１０】セットアップ処理（第２IoT機器６００の設定）の一例を示すシークエンス図。
【図１１】暗号化センサデータアップロード処理の一例を示すシークエンス図。
【図１２】センサデータ取得処理の一例を示すシークエンス図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【００１３】
本発明の実施の形態では、KP(Key Policy)型の関数型暗号を用いる。関数型暗号については、例えば、下記の参考非特許文献１や参考非特許文献２に記載されている。
（参考非特許文献１：T. Okamoto，K. Takashima，“Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption”, CRYPTO2010， pp.191-208, 2010．）
（参考非特許文献２：高島克幸，岡本龍明，“アクセス権限を制御できる最新技術「関数型暗号」”，日経エレクトロニクス (1087) 2012-07-23号，日経BP社，pp.87-95，2012.）
【００１４】
＜第一実施形態＞
［システム構成］
以下、図１を参照して、暗号通信システム１００について説明する。図１は、暗号通信システム１００の構成の一例を示すブロック図である。暗号通信システム１００は、関数型暗号を用いてIoT機器のセンサデータを秘匿化し通信するためのシステムである。暗号通信システム１００は、鍵発行装置２００、復号鍵配布情報管理装置３００、暗号化センサデータ管理装置４００、第１IoT機器５００、第２IoT機器６００、端末７００を含む。なお、第１IoT機器５００、第２IoT機器６００については、いずれも1台以上暗号通信システム１００に含まれる。
【００１５】
鍵発行装置２００は、暗号化・復号に必要な情報である公開パラメータ、マスター鍵、復号鍵を生成する。生成には関数型暗号を用いる。第１IoT機器５００は、センサデータを暗号化した暗号化センサデータを暗号化センサデータ管理装置４００にアップロードする。暗号化センサデータ管理装置４００は、暗号化センサデータを蓄積、管理する。第２IoT機器６００は、暗号化センサデータ管理装置４００にアップロードされた暗号化センサデータをダウンロードし、復号鍵を用いて暗号化センサデータからセンサデータを取得する。復号鍵配布情報管理装置３００は、復号鍵の配布先となる第２IoT機器６００を特定する情報を含む復号鍵配布情報を蓄積、管理する。
【００１６】
利用者は、端末７００を用いて、閲覧を許可したい第１IoT機器５００のセンサ属性情報を指定する。また、利用者は、端末７００を用いて、閲覧を許可した第１IoT機器５００のセンサ属性情報のセンサデータを取得することができる第２IoT機器６００を指定する。
【００１７】
鍵発行装置２００、復号鍵配布情報管理装置３００、暗号化センサデータ管理装置４００、端末７００は、インターネットなどのネットワーク８００に接続し、相互に通信可能である。また、ブルートゥースなどの消費電力の少ない無線通信によるネットワーク９００により、復号鍵配布情報管理装置３００と第１IoT機器５００、復号鍵配布情報管理装置３００と第２IoT機器６００は、それぞれ相互に通信可能である。この場合、復号鍵配布情報管理装置３００は、例えば、IPとブルートゥース間のプロトコル変換機能を有するIoTゲートウェイの機能を持つことになる。
【００１８】
なお、第１IoT機器５００、第２IoT機器６００がIP接続機能を有する場合は、図２の暗号通信システム１０１のように、第１IoT機器５００、第２IoT機器６００がネットワーク８００に直接接続するようにしてもよい。
【００１９】
次に、図３〜図８を参照して、鍵発行装置２００、復号鍵配布情報管理装置３００、暗号化センサデータ管理装置４００、第１IoT機器５００、第２IoT機器６００、端末７００の各装置について説明する。図３は、鍵発行装置２００の構成の一例を示すブロック図である。鍵発行装置２００は、システムパラメータ生成部２１０、属性発行情報生成部２２０、復号鍵生成部２３０、鍵発行情報生成部２４０、送受信部２８０、記録部２９０を含む。送受信部２８０は、鍵発行装置２００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部２９０は、鍵発行装置２００の処理に必要な情報を適宜記録する構成部である。例えば、記録部２９０は、公開パラメータ、マスター鍵を記録する。
【００２０】
図４は、復号鍵配布情報管理装置３００の構成の一例を示すブロック図である。復号鍵配布情報管理装置３００は、復号鍵配布情報管理部３１０、復号鍵配布情報検索部３２０、送受信部３８０、記録部３９０を含む。送受信部３８０は、復号鍵配布情報管理装置３００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部３９０は、復号鍵配布情報管理装置３００の処理に必要な情報を適宜記録する構成部である。例えば、記録部３９０は、復号鍵配布情報を記録する。
【００２１】
図５は、暗号化センサデータ管理装置４００の構成の一例を示すブロック図である。暗号化センサデータ管理装置４００は、暗号化センサデータ管理部４１０、暗号化センサデータ検索部４２０、送受信部４８０、記録部４９０を含む。送受信部４８０は、暗号化センサデータ管理装置４００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部４９０は、暗号化センサデータ管理装置４００の処理に必要な情報を適宜記録する構成部である。例えば、記録部４９０は、暗号化センサデータを記録する。
【００２２】
図６は、第１IoT機器５００の構成の一例を示すブロック図である。第１IoT機器５００は、センサデータ取得部５１０、暗号化部５２０、送受信部５８０、記録部５９０を含む。送受信部５８０は、第１IoT機器５００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部５９０は、第１IoT機器５００の処理に必要な情報を適宜記録する構成部である。例えば、記録部５９０は、閲覧を許可するセンサ属性情報、公開パラメータを記録する。
【００２３】
図７は、第２IoT機器６００の構成の一例を示すブロック図である。第２IoT機器６００は、センサデータ取得要求生成部６１０、復号部６２０、送受信部６８０、記録部６９０を含む。送受信部６８０は、第２IoT機器６００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部６９０は、第２IoT機器６００の処理に必要な情報を適宜記録する構成部である。例えば、記録部６９０は、暗号化センサデータを復号するために用いる復号鍵や公開パラメータを記録する。
【００２４】
図８は、端末７００の構成の一例を示すブロック図である。端末７００は、属性発行依頼情報生成部７１０、鍵発行依頼情報生成部７２０、入出力部７７０、送受信部７８０、記録部７９０を含む。入出力部７７０は、利用者とのインタフェースとなるものであり、利用者が適宜情報を入力したり、端末７００が適宜情報を出力したりする構成部である。例えば、キーボードやディスプレイなどである。送受信部７８０は、端末７００がその他の装置と交換する必要がある情報を適宜送受信するための構成部である。記録部７９０は、端末７００の処理に必要な情報を適宜記録する構成部である。
【００２５】
以下、図９〜図１２を参照して暗号通信システム１００における各処理フローについて説明する。
【００２６】
事前に、鍵発行装置２００は、システムパラメータ生成部２１０を用いて、セキュリティパラメータから公開パラメータとマスター鍵を生成しておく。鍵発行装置２００は、生成した公開パラメータとマスター鍵を記録部２９０に記録しておく。
［セットアップ処理（第１IoT機器５００の設定）］
以下、図９を参照して、閲覧を許可したい第１IoT機器のセンサ属性情報を当該第１IoT機器に設定するセットアップ処理について説明する。
【００２７】
端末７００の属性発行依頼情報生成部７１０は、閲覧を許可したい第１IoT機器を特定する情報（以下、閲覧許可第１IoT機器特定情報という）と閲覧を許可したいセンサ属性情報を特定する情報（以下、閲覧許可センサ属性情報特定情報という）を含む属性発行依頼情報を生成する（Ｓ１０５）。閲覧許可第１IoT機器特定情報は、各IoT機器に固有に割り振られている機器識別子である。また、閲覧許可センサ属性情報特定情報は、第１IoT機器５００の属性を特定できるセンサ属性情報（属性ID）である。例えば、閲覧を許可したい第１IoT機器の機器識別子が“A”、閲覧を許可したいセンサ属性情報（属性ID）が“α”である場合、機器識別子=“A”、センサ属性情報=“α”の組が属性発行依頼情報となる。閲覧許可第１IoT機器特定情報や閲覧許可センサ属性情報特定情報は、例えば、利用者が入出力部７７０を用いて端末７００へ入力したものである。つまり、属性発行依頼情報は、閲覧許可第１IoT機器特定情報である機器識別子と閲覧許可センサ属性情報特定情報であるセンサ属性情報を含む。
【００２８】
端末７００の送受信部７８０は、Ｓ１０５で生成した属性発行依頼情報を鍵発行装置２００に送信する（Ｓ１１０）。
【００２９】
鍵発行装置２００の属性発行情報生成部２２０は、送受信部２８０を用いて受信した属性発行依頼情報、記録部２９０に記録してある公開パラメータから、属性発行情報を生成する（Ｓ１１５）。属性発行情報の最終送信先は、属性発行依頼情報の閲覧許可第１IoT機器特定情報で指定された機器識別子を有する第１IoT機器５００である。また、属性発行情報は、属性発行依頼情報の閲覧許可センサ属性情報特定情報で指定されたセンサ属性情報と公開パラメータを含む。
【００３０】
鍵発行装置２００の送受信部２８０は、Ｓ１１５で生成した属性発行情報を復号鍵配布情報管理装置３００に送信する（Ｓ１２０）。
【００３１】
復号鍵配布情報管理装置３００の送受信部３８０は、Ｓ１２０で送信されてきた属性発行情報を属性発行情報の最終送信先である第１IoT機器５００に送信する（Ｓ１３０）。
【００３２】
第１IoT機器５００は、送受信部５８０を用いて受信した属性発行情報に含まれるセンサ属性情報と公開パラメータを記録部５９０に記録する。なお、センサ属性情報と公開パラメータは、センサデータの暗号化に用いられる。
［セットアップ処理（第２IoT機器６００の設定）］
以下、図１０を参照して、閲覧を許可した第１IoT機器のセンサ属性情報のセンサデータを取得することができる第２IoT機器を設定するセットアップ処理について説明する。
【００３３】
端末７００の鍵発行依頼情報生成部７２０は、閲覧を許可した第１IoT機器のセンサ属性情報の取得を許可する第２IoT機器を特定する情報（以下、取得許可第２IoT機器特定情報という）と取得を許可するセンサ属性情報を特定する情報（以下、取得許可センサ属性情報特定情報という）を含む鍵発行依頼情報を生成する（Ｓ２０５）。取得許可第２IoT機器特定情報は、各IoT機器に固有に割り振られている機器識別子である。また、取得許可センサ属性情報特定情報は、第１IoT機器５００の属性を特定できるセンサ属性情報（属性ID）である。例えば、取得を許可する第２IoT機器の機器識別子が“Z”、取得を許可するセンサ属性情報（属性ID）が“α”と“β”である場合、機器識別子=“Z”、センサ属性情報=“α,β”の組が鍵発行依頼情報となる。取得許可第２IoT機器特定情報や取得許可センサ属性情報特定情報は、例えば、利用者が入出力部７７０を用いて端末７００へ入力したものである。つまり、鍵発行依頼情報は、取得許可第２IoT機器特定情報である機器識別子と取得許可センサ属性情報特定情報であるセンサ属性情報を含む。
【００３４】
端末７００の送受信部７８０は、Ｓ２０５で生成した鍵発行依頼情報を鍵発行装置２００に送信する（Ｓ２１０）。
【００３５】
鍵発行装置２００の復号鍵生成部２３０は、送受信部２８０を用いて受信した鍵発行依頼情報から、復号鍵を生成する（Ｓ２１５）。具体的には、復号鍵生成部２３０は、鍵発行依頼情報の取得許可センサ属性情報特定情報で指定されたセンサ属性情報から鍵生成情報を生成し、鍵生成情報と記録部２９０に記録してある公開パラメータとマスター鍵から復号鍵を生成する。鍵生成情報は、関数型暗号を用いて復号鍵を生成するのに必要な情報であり、具体的には、属性発行依頼情報の取得許可センサ属性情報特定情報であるセンサ属性情報をORで連結させた条件を復号条件として記述した情報である。先述の例では、復号条件=「センサ属性情報=“α or β”」が、鍵生成情報となる。
【００３６】
鍵発行装置２００の鍵発行情報生成部２４０は、鍵発行依頼情報、Ｓ２１５で生成した復号鍵、記録部２９０に記録してある公開パラメータから、鍵発行情報を生成する（Ｓ２１７）。鍵発行情報の最終送信先は、鍵発行依頼情報の取得許可第２IoT機器特定情報で指定された機器識別子を有する第２IoT機器６００である。また、鍵発行情報は、鍵発行依頼情報と復号鍵と公開パラメータを含む。
【００３７】
鍵発行装置２００の送受信部２８０は、Ｓ２１７で生成した鍵発行情報を復号鍵配布情報管理装置３００に送信する（Ｓ２２０）。
【００３８】
復号鍵配布情報管理装置３００の復号鍵配布情報管理部３１０は、送受信部３８０を用いて受信した鍵発行情報に含まれる鍵発行依頼情報を復号鍵配布情報として記録部３９０に記録、管理する（Ｓ２２５）。したがって、復号鍵配布情報は、鍵発行依頼情報と同じ構造をしている。つまり、復号鍵配布情報は、取得許可第２IoT機器特定情報である機器識別子と取得許可センサ属性情報特定情報であるセンサ属性情報を含む。
【００３９】
復号鍵配布情報管理装置３００の送受信部３８０は、送受信部３８０を用いて受信した鍵発行情報に含まれる復号鍵と公開パラメータを鍵発行情報の最終送信先である第２IoT機器６００に送信する（Ｓ２３０）。
【００４０】
第２IoT機器６００は、送受信部６８０を用いて受信した復号鍵と公開パラメータを記録部６９０に記録する。
［暗号化センサデータアップロード処理］
以下、図１１を参照して、閲覧を許可した第１IoT機器５００が閲覧許可を指定されたセンサ属性情報の属性値であるセンサデータを暗号化センサデータ管理装置４００にアップロードする暗号化センサデータアップロード処理について説明する。
【００４１】
第１IoT機器５００のセンサデータ取得部５１０は、閲覧許可を指定されたセンサ属性情報（つまり、属性発行依頼情報の閲覧許可センサ属性情報特定情報で指定されたセンサ属性情報）の属性値であるセンサデータを取得する（Ｓ３０５）。取得方法は、機器固有の方法による。
【００４２】
第１IoT機器５００の暗号化部５２０は、記録部５９０に記録してあるセンサ属性情報と公開パラメータを用いて、Ｓ３０５で取得したセンサデータを暗号化し、暗号化センサデータを生成する（Ｓ３０７）。
【００４３】
第１IoT機器５００の送受信部５８０は、閲覧許可を指定されたセンサ属性情報とＳ３０７で生成した暗号化センサデータを含む暗号化センサデータ管理情報を復号鍵配布情報管理装置３００に送信する（Ｓ３１０）。
【００４４】
復号鍵配布情報管理装置３００の送受信部３８０は、Ｓ３１０で送信されてきた暗号化センサデータ管理情報を暗号化センサデータ管理装置４００に送信する（Ｓ３２０）。
【００４５】
暗号化センサデータ管理装置４００の暗号化センサデータ管理部４１０は、送受信部４８０用いて受信した暗号化センサデータ管理情報を記録部４９０に記録、管理する（Ｓ３２５）。
［センサデータ取得処理］
以下、図１２を参照して、取得を許可された第２IoT機器６００が取得許可を指定されたセンサ属性情報の属性値であるセンサデータの暗号化センサデータをダウンロードし、センサデータを取得するセンサデータ取得処理について説明する。
【００４６】
第２IoT機器６００のセンサデータ取得要求生成部６１０は、自らの機器識別子を含むセンサデータ取得要求を生成する（Ｓ４０５）。センサデータ取得要求は、取得が許可されているセンサ属性情報の属性値であるセンサデータの暗号化センサデータの取得要求である。
【００４７】
第２IoT機器６００の送受信部６８０は、Ｓ４０５で生成したセンサデータ取得要求を復号鍵配布情報管理装置３００に送信する（Ｓ４１０）。
【００４８】
復号鍵配布情報管理装置３００の復号鍵配布情報検索部３２０は、センサデータ取得要求に含まれる機器識別子を用いて、当該機器識別子を含む復号鍵配布情報を特定する（Ｓ４１５）。
【００４９】
復号鍵配布情報管理装置３００の送信部３８０は、Ｓ４１５で特定した復号鍵配布情報を暗号化センサデータ管理装置４００に送信する（Ｓ４２０）。
【００５０】
暗号化センサデータ管理装置４００の暗号化センサデータ検索部４２０は、Ｓ４２０で送信されてきた復号鍵配布情報に含まれるセンサ属性情報を用いて、当該センサ属性情報を含む暗号化センサデータ管理情報に含まれる暗号化センサデータを特定する（Ｓ４２５）。
【００５１】
暗号化センサデータ管理装置４００の送受信部４８０は、Ｓ４２５で特定した暗号化センサデータを復号鍵配布情報管理装置３００に送信する（Ｓ４３０）。
【００５２】
復号鍵配布情報管理装置３００の送受信部３８０は、センサデータ取得要求を送信してきた第２IoT機器６００にＳ４３０で送信されてきた暗号化センサデータを送信する（Ｓ４４０）。
【００５３】
第２IoT機器６００の復号部６２０は、記録部６９０に記録してある復号鍵と公開パラメータを用いて、暗号化センサデータを復号し、センサデータを取得する（Ｓ４４５）。
【００５４】
第２IoT機器６００は、Ｓ４４５で取得したセンサデータを用いて、IoT機器の制御など各種処理を実行する。
【００５５】
なお、暗号化センサデータ管理装置４００が蓄積する暗号化センサデータ管理情報を定期的に復号鍵配布情報管理装置３００に配信するようにしてもよい。この場合、復号鍵配布情報管理装置３００が更に暗号化センサデータ検索部４２０を含むように構成すれば、図１２のＳ４２０とＳ４３０は不要となる。つまり、Ｓ４１０の後、復号鍵配布情報管理装置３００は、Ｓ４１５、Ｓ４２５、Ｓ４４０を実行することになる。
【００５６】
上記の通り、鍵生成情報は、センサ属性情報をORで連結させた条件を復号条件として記述した情報であるとして説明したが、関数型暗号はORに加えてANDも用いて復号条件を記述することができる（参考非特許文献２参照）。例えば、復号条件=「（センサ属性情報=“α or β”） AND （時間情報＝“2017/10/02 or 2017/10/03”）」が、ANDも用いた鍵生成情報（復号条件）の一例となる。ここで、“2017/10/02 or 2017/10/03”は、2017年10月02日から2017年10月03日までという期間を表す。”時間情報＝“2017/10/02 or 2017/10/03”のような時間情報を用いた鍵生成情報が復号鍵の生成に用いることができるようになると、鍵発行装置２００が復号鍵を再生成する際、新たに配布される復号鍵の有効期間を変更することができるようになる。これにより、復号鍵が漏洩する事故が発生したときの被害を最小限に抑えることが可能となる。その他、時間情報の代わり（あるいは時間情報に加えて）機器識別子を用いて、例えば、復号条件=「（センサ属性情報=“α or β”） AND （機器識別子＝“Z”）」を鍵生成情報として復号鍵を生成することにすると、機器識別子が“Z”である第２IoT機器以外の装置ではその復号鍵を用いて復号することができなくなるので、この場合も復号鍵が漏洩する事故が発生したときの被害を抑えることが可能となる。
【００５７】
本実施形態の発明によれば、各IoT機器が１つの復号鍵を持つだけで複数のIoT機器のセンサデータを秘匿化し通信することが可能となる。センサデータの暗号化に関数型暗号を用いることで、煩雑な鍵管理が不要となる。また、復号鍵配布情報を用いて暗号化センサデータの取得を制限することで、取得が許可されていないIoT機器にセンサデータが漏えいすることを防ぐことができる。これにより、安全にIoT機器の制御を行うことが可能となる。
【００５８】
（変形例１）
暗号通信システム１００に含まれる装置や機器の間でデータを送受信する際、データの送受信に先立って、通信相手が正当なものであるか否か確認する認証を行うようにしてもよい。認証を行うことにより、安全なデータ送受信が可能となる。認証方式として、例えば、鍵発行装置２００と復号鍵配布情報管理装置３００との間では回線認証を用いることができる。また、無線通信を行うIoT機器と復号鍵配布情報管理装置３００との間では事前に認証に用いる鍵を共有しておくとよい。このとき、IoT機器が保有している復号鍵を認証に用いてもよく、この場合は、新たな鍵を保有する必要がない。
【００５９】
（変形例２）
また、暗号化方式として、関数型暗号の代わりに、IDベース暗号を用いるようにしてもよい。この場合、複数のIoT機器からセンサデータを受けとるIoT機器では、複数の復号鍵を保有する必要が生じる。
【００６０】
（変形例３）
第一実施形態では、鍵発行装置２００を独立の装置としたが、鍵発行装置２００の有する機能を復号鍵配布情報管理装置３００が備えるようにしてもよい。この場合、復号鍵配布情報管理装置３００は、更にシステムパラメータ生成部２１０、属性発行情報生成部２２０、復号鍵生成部２３０、鍵発行情報生成部２４０を含むように構成される。
【００６１】
また、鍵発行装置２００の有する機能を端末７００が備えるようにしてもよい。この場合、端末７００は、更にシステムパラメータ生成部２１０、属性発行情報生成部２２０、復号鍵生成部２３０、鍵発行情報生成部２４０を含むように構成される。
【００６２】
（変形例４）
IoT機器が、第１IoT機器５００と第２IoT機器６００の機能を有するようにしてもよい。この場合、第１IoT機器５００は、更にセンサデータ取得要求生成部６１０、復号部６２０を含むように構成される。
【００６３】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００６４】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００６５】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００６６】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００６７】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００６８】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００６９】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７０】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００７１】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2019071552.tif 000003
【図２】
2019071552.tif 000004
【図３】
2019071552.tif 000005
【図４】
2019071552.tif 000006
【図５】
2019071552.tif 000007
【図６】
2019071552.tif 000008
【図７】
2019071552.tif 000009
【図８】
2019071552.tif 000010
【図９】
2019071552.tif 000011
【図１０】
2019071552.tif 000012
【図１１】
2019071552.tif 000013
【図１２】
2019071552.tif 000014