(57)【要約】【課題】効率的にグループ鍵を共有することができる、グループ鍵共有装置及びグループ鍵共有プログラムを提供する。【解決手段】ＢＳ１２のグループ鍵共有装置は、複数のデバイス１４に共通のグループ鍵Ｓを定める度に指定される指定値ｒを設定する手段と、各デバイス１４の固有鍵ｋで指定値ｒを変換した結果を各デバイス１４の座標位置とする手段と、複数の座標位置の中心点を求める手段と、を有する。【選択図】図５
2018007147.tif 000002
【特許請求の範囲】
【請求項１】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、
前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定する手段と、
前記基地局が各デバイスの固有鍵で該指定値を変換した結果を各デバイスの座標位置とする手段と、
複数の前記座標位置の中心点を求める手段と、
を有する基地局のグループ鍵共有装置。
【請求項２】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、
通信毎に毎回異なる複数のデバイスを示す座標から等距離にある中心点の座標から得られる情報を１度のブロードキャスト通信で送信する手段、
を有する基地局のグループ鍵共有装置。
【請求項３】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、
前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定する手段と、
自らが有する固有鍵で該指定値を変換した結果から得られる値を自らの座標位置とする手段と、
前記座標位置と指定された中心点との距離を計算する手段と、
を有するデバイスのグループ鍵共有装置。
【請求項４】
中心点の座標は、各ノードの座標を用いて計算される、その計算結果から各ノードが個別に同じ値を導出できる値である、
請求項１または請求項３に記載のグループ鍵共有装置。
【請求項５】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムの基地局のグループ鍵共有装置として、
コンピュータにより、
前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定し、
前記基地局が各デバイスの固有鍵で該指定値を変換した結果を各デバイスの座標位置とし、
複数の前記座標位置の中心点を求める、
ことを含む処理を行わせるグループ鍵共有プログラム。
【請求項６】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムの基地局のグループ鍵共有装置として、
コンピュータにより、
通信毎に毎回異なる複数のデバイスを示す座標から等距離にある中心点の座標を１度のブロードキャスト通信で送信する、
ことを含む処理を行わせるグループ鍵共有プログラム。
【請求項７】
各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムのデバイスのグループ鍵共有装置として、
コンピュータにより、
前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定し、
自らが有する固有鍵で該指定値を変換した結果から得られる値を自らの座標位置とし、
前記座標位置と指定された中心点との距離を計算する、
ことを含む処理を行わせるグループ鍵共有プログラム。
【請求項８】
中心点の座標は、各ノードの座標を用いて計算される、その計算結果から各ノードが個別に同じ値を導出できる値である、
請求項５または請求項７に記載のグループ鍵共有プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グループ鍵共有装置及びグループ鍵共有プログラムに関する。
【背景技術】
【０００２】
近年、新たなネットワーク技術として、ＩｏＴ（Internet Of Things）ネットワークが注目されており、それに対するセキュリティ技術の確立は一つの大きな課題となっている。ＩｏＴネットワークを構成するＩｏＴデバイスは一般に今までネットワークに繋がれていなかった「モノ」に計算能力と通信能力を与えて、ネットワークの一部としたものであり、その「モノ」に大きな計算資源や電力などを与えることはコスト的に困難である。よって、ＩｏＴにおけるセキュリティを現実的に実現しようとする場合、小さな計算資源または省電力でいかにセキュリティを確保できるかが一つの大きな課題となっている。
【０００３】
また、ＩｏＴデバイス間の通信は大きく３種類に分けられる。１つ目は指定した１つのデバイスとの間で通信を行うユニキャスト通信である。２つ目は全デバイスに一斉に情報を送信するブロードキャスト通信である。３つ目は指定した２つ以上のデバイスに一斉に情報を送信するマルチキャスト通信である。マルチキャスト通信において全デバイスを指定すればブロードキャスト通信となるので、ブロードキャスト通信はマルチキャスト通信の１つと考えることもできる。また、１つのデバイスのみを指定すれば指定したデバイスとのユニキャスト通信が実現できる。よって、マルチキャスト通信における暗号通信を実現するための鍵共有方式は他の通信形態にも適用できる。
【０００４】
一般に、複数のデバイス間で暗号通信を行いたい場合、それらのデバイスでグループを形成してマルチキャスト通信を行えばよい。その際、安全に通信を行うためにグループ鍵と呼ばれる、同じグループに属するデバイスが共有する鍵を用いて暗号化を行い、マルチキャスト暗号通信を行えば効率的である。そのグループ鍵をデバイス間で安全に共有するために、いくつかの技術が提案されている。
【０００５】
最も単純な技術は、全てのデバイスの固有鍵を知る基地局（ベースステーション）（以下、「ＢＳ」という）が各デバイスの固有鍵を用いて１対１の暗号通信を行い、各デバイスにグループ鍵を個別に配信することである。しかし、この方式はｎ個のデバイスがあればｎ回の通信が必要であるため通信量または通信回数が多いという問題を有する。
【０００６】
また、例えば、非特許文献１に示される技術のように、ＩｏＴデバイスが属するグループを固定する技術を用いれば、事前にグループ鍵を設定できるので容易である。
【０００７】
さらに、例えば非特許文献２に示される技術のように、エレメント鍵と呼ばれる鍵を各デバイスにランダムに重複を許して配置し、エレメント鍵を用いてグループ鍵を配信することにより重複分の通信量を削減するという技術が知られている。
【０００８】
また、その他の技術として、公開鍵暗号的な手法を用いることも検討されている。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】C. K. Wong, M. Gouda and S. S. Lam,  “Se-cure Group Communications Using Key Graphs,” 1998 ACM SIGCOMM （1998）
【非特許文献２】村上大樹、双紙正和（広島市立大）「ワイヤレスセンサネットワークにおけるグループ鍵分配プロトコルの考察」第４８回CSEC（2010）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１に記載の技術では、以下の問題が発生する。一般にＩｏＴデバイスは移動が頻繁であり、デバイスが移動する度にグループの変更が発生するため、事前に定めた鍵が使えない。また、１度共有したグループ鍵を長期間更新しないのは、外部からの攻撃に対する耐タンパ性をもたないＩｏＴデバイスでは安全性の劣化が大きい。よって、グループ構成の変化や鍵更新に容易に対応できないという問題が発生する。
【００１１】
また、非特許文献２に記載の技術では、記憶容量削減のためデバイス毎の固有鍵もエレメント鍵の組み合わせによって定めるため、エレメント鍵の重複が多ければ通信量は削減されるが、固有鍵が漏洩する確率も上がるため安全でない。
【００１２】
また、公開鍵暗号的な手法を用いる場合、公開鍵の暗号化処理に伴う計算量が膨大であり、ＩｏＴデバイスには適さない。
【００１３】
本発明は、上述の問題に鑑みてなされてものであり、効率的にグループ鍵を共有することができる、グループ鍵共有装置及びグループ鍵共有プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明の基地局のグループ鍵共有装置は、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定する手段と、前記基地局が各デバイスの固有鍵で該指定値を変換した結果を各デバイスの座標位置とする手段と、複数の前記座標位置の中心点を求める手段と、を有する。
【００１５】
また、上記目的を達成するために、本発明の基地局のグループ鍵共有装置は、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、通信毎に毎回異なる複数のデバイスを示す座標から等距離にある中心点の座標から得られる情報を１度のブロードキャスト通信で送信する手段、を有する基地局のグループ鍵共有装置。
【００１６】
また、上記目的を達成するために、本発明のデバイスのグループ鍵共有装置は、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムであって、前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定する手段と、自らが有する固有鍵で該指定値を変換した結果から得られる値を自らの座標位置とする手段と、前記座標位置と指定された中心点との距離を計算する手段と、を有する。
【００１７】
また、本発明のデバイスのグループ鍵共有装置における中心点の座標は、各ノードの座標を用いて計算される、その計算結果から各ノードが個別に同じ値を導出できる値であってもよい。
【００１８】
また、上記目的を達成するために、本発明のグループ鍵共有プログラムは、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムの基地局のグループ鍵共有装置として、コンピュータにより、前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定し、前記基地局が各デバイスの固有鍵で該指定値を変換した結果を各デバイスの座標位置とし、複数の前記座標位置の中心点を求める、ことを含む処理を行わせるものである。
【００１９】
また、上記目的を達成するために、本発明のグループ鍵共有プログラムは、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムの基地局のグループ鍵共有装置として、コンピュータにより、通信毎に毎回異なる複数のデバイスを示す座標から等距離にある中心点の座標を１度のブロードキャスト通信で送信する、ことを含む処理を行わせるものである。
【００２０】
また、上記目的を達成するために、本発明のグループ鍵共有プログラムは、各々固有鍵を有する複数のデバイスと、前記固有鍵各々を知る基地局からなるシステムのデバイスのグループ鍵共有装置として、コンピュータにより、前記複数のデバイスに共通のグループ鍵を定める度に指定される指定値を設定し、自らが有する固有鍵で該指定値を変換した結果から得られる値を自らの座標位置とし、前記座標位置と指定された中心点との距離を計算する、ことを含む処理を行わせるものである。
【００２１】
また、本発明のグループ鍵共有プログラムにおける中心点の座標は、各ノードの座標を用いて計算される、その計算結果から各ノードが個別に同じ値を導出できる値であってもよい。
【発明の効果】
【００２２】
本発明によれば、効率的にグループ鍵を共有することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明における基本性質を説明するための説明図である。
【図２】本実施例の鍵共有システムの構成の一例を示す構成図である。
【図３】本実施例のデバイスの構成の一例を示したブロック図である。
【図４】本実施例のＢＳの構成の一例を示したブロック図である。
【図５】本実施例のＢＳで実行されるグループ鍵配信処理の一例を表すフローチャートである。
【図６】本実施例のデバイスで実行されるグループ鍵導出処理の一例を表すフローチャートである。
【図７】本実施例のＢＳで実行される、確認処理が行われる場合のグループ鍵配信処理の一例を表すフローチャートである。
【図８】本実施例のデバイスで実行される、確認処理が行われる場合のグループ鍵導出処理の一例を表すフローチャートである。
【図９】マンハッタン距離について説明するための説明図である。
【発明を実施するための形態】
【００２４】
まず、本発明で用いる基本的な原理に関する説明を行う。本発明は、以下の性質を用いる。
【００２５】
図１に示すように、２次元平面上の同一直線上にない３点（図１では、点Ａ、Ｂ、Ｃ）が存在する場合を考える。その場合、その３点を通る円が必ず存在する。その円の中心点から各点までの距離は、円の半径に相当するため必ず等しくなる。同様に、ｎ次元空間においてｎ＋１点が存在する場合を考えると、その各点からの距離Ｓが等しくなる点が必ず存在する。この距離Ｓの一般式は下記（１）式のように表せる（ただし、αｉをｎ次元空間における各点の座標、α’ｉをｎ次元空間における中心点の座標とする）。
【００２６】
【数１】
2018007147.tif 000003
次に、本発明の実施の形態として、上記性質をグループ鍵の配信に応用した実施形態について説明する。
【００２７】
ただし、ｎ次元空間上の点を各デバイスの座標位置とする場合、常に同じ座標位置ではその値が漏洩する。例えば、デバイスＡ、Ｂ、Ｃの組合せとデバイスＡ、Ｄ、Ｅの組合せにおいて、各デバイスの座標により特定される２つの円の中心点が送信されたとき、各中心点を中心とする円の交点のうち、少なくとも１つは、２つの組合せに共通するデバイスＡの座標位置であると推測される。このような処理を複数回繰り返すと、共通に含まれる交点からデバイスＡの座標位置が漏洩する。一度、座標位置が漏洩すると、デバイスＡを含むグループにより特定される円の中心点が送信されたとき、そのグループ鍵となる中心点からデバイスＡまでの距離を攻撃者は計算できる。よって、各デバイスの座標位置はグループ鍵の配信が行われる毎にランダムに変化する必要がある。よって、具体的なグループ鍵共有プロトコルは以下の実施例のようになる。
［実施例］
まず、本実施例の鍵共有システムの構成について説明する。
【００２８】
図２に示すように、本実施例の鍵共有システム１０は、基地局（ＢＳ）１２と、デバイス１４１〜１４Ｎと、を備える。なお、本実施例では、具体例として、Ｎ個のデバイス１４を示したが、Ｎの数は２以上であればよく、特に限定されるものではない。以下では、デバイス１４１〜１４Ｎの個々を区別せずに総称する場合は、デバイス１４という。
【００２９】
ＢＳ１２及びデバイス１４は、ネットワーク１６を介して、互いに各種データの授受が可能に接続されている。
【００３０】
本実施例のデバイス１４は、鍵共有システム１０が備えるデバイス１４毎に異なる、自装置に固有の１個の鍵（固有鍵）を予め保持している。
【００３１】
本実施例のデバイス１４は、図３に示すように、制御部４０、記憶部４６、及びインターフェース部４８を備えている。制御部４０、記憶部４６、及びインターフェース部４８は、システムバスやコントロールバス等のバス４９を介して相互に情報等の授受が可能に接続されている。
【００３２】
制御部４０は、ＣＰＵ４２、ＲＯＭ４３、及びＲＡＭ４４を備えている。ＣＰＵ４２は、デバイス１４全体の動作を制御する。ＣＰＵ４２は、ＲＯＭ４３に記憶されているプログラム４５を実行することにより、本実施例の鍵共有装置として機能し、鍵共有装置が有する各部として動作する。ＲＯＭ４３には、プログラム４５等、ＣＰＵ４２で使用される各種の処理プログラム等が予め記憶されている。ＲＡＭ４４は、各種データを一時的に記憶する。
【００３３】
記憶部４６は、各種データを記憶する。本実施例では、記憶部４６には、自装置の固有鍵ｋを表す情報（以下、「固有鍵ｋ」という）が記憶される。記憶部４６の具体例としては、不揮発性のメモリ等が挙げられる。
【００３４】
インターフェース部４８は、無線通信または有線通信により、ネットワーク１６を介して、ＢＳ１２との間で各種情報の通信を行う。
【００３５】
一方、本実施例のＢＳ１２は、全デバイス１４が保持する固有鍵ｋを全て把握しており、複数のデバイス１４に共通のグループ鍵Ｓを定めて、グループ鍵Ｓを配信する。
【００３６】
本実施例のＢＳ１２は、図４に示すように、制御部２０、記憶部２６、及びインターフェース部２８を備えている。制御部２０、記憶部２６、及びインターフェース部２８は、システムバスやコントロールバス等のバス２９を介して相互に情報等の授受が可能に接続されている。
【００３７】
制御部２０は、ＣＰＵ２２、ＲＯＭ２３、及びＲＡＭ２４を備えている。ＣＰＵ２２は、ＢＳ１２全体の動作を制御する。ＣＰＵ２２は、ＲＯＭ２３に記憶されているプログラム２５を実行することにより、本実施例の鍵共有装置として機能し、鍵共有装置が有する各部として動作する。ＲＯＭ２３には、プログラム２５等、ＣＰＵ２２で使用される各種の処理プログラム等が予め記憶されている。ＲＡＭ２４は、各種データを一時的に記憶する。
【００３８】
記憶部２６は、各種データを記憶する。本実施例では、記憶部２６には、全デバイス１４毎の固有鍵を表す情報２７（以下、「固有鍵情報２７」という）が記憶される。記憶部２６の具体例としては、不揮発性のメモリ等が挙げられる。
【００３９】
インターフェース部２８は、無線通信または有線通信により、ネットワーク１６を介して、デバイス１４との間で各種情報の通信を行う。
【００４０】
なお、ＢＳ１２及びデバイス１４は、本実施例に限らず、その他の機能部を備えていてもよい。例えば、各種情報を表示するための表示部、当該表示部を制御するための表示部駆動部、ユーザによる各種操作が行われる操作部、及び操作部に対応する操作状態を検出する操作入力検出部等を備えていていもよい。
【００４１】
次に、ＢＳ１２及びデバイス１４の各装置で行われる処理について説明する。
【００４２】
まず、ＢＳ１２で行われる処理について説明する。なお、ＢＳ１２で行われる、全ての計算は有限体ＧＦ（ｐ）上で行う（ｐはＢＳまたはシステムが定めた素数）ものとする。また、ＢＳ１２が、Ｎ個の全デバイス１４のうち指定するｎ＋１個のデバイスにグループ鍵Ｓを配信する場合について説明する。
【００４３】
ＢＳ１２では、制御部２０のＣＰＵ２２が、ＲＯＭ２３に記憶されているプログラム２５を実行することにより、図５に示したグループ鍵配信処理が実行される。
【００４４】
ステップＳ１００で制御部２０は、固有鍵情報２７を参照して、配信したいデバイス１４の固有鍵ｋｉ（ｉ＝１、・・・、ｎ＋１）と自ら定めた指定値ｒを用いて、擬似乱数生成器によりＧＦ（ｐ）上の乱数をデバイス１４毎にｎ個ずつ生成する。例えば、Ｅ（ａ，ｂ）を鍵ａによる値ｂの暗号化結果とすれば、その擬似乱数はＥ（ｋｉ，ｒ）で表せる。また、擬似乱数をｎ個生成するためには、例えばｒをｒからｒ＋ｎ−１まで変化させて暗号化すればよい。
【００４５】
次のステップＳ１０２で制御部２０は、デバイス１４毎にｎ個ずつ生成した乱数を各デバイスの座標位置としてｎ次元空間上に割り当てる。当該処理により、ｎ次元空間上に各デバイス１４を表す点が配置される。
【００４６】
次のステップＳ１０４で制御部２０は、ｎ＋１個の各点を通るｎ次元の球を構成し、その中心点の座標を求める。すなわち、中心点の座標をα’ｉ(ｉ＝１、・・・、ｎ)とし、αｉ、β’ｉ、・・・、ζｉ(ｉ＝１、・・・、ｎ)を各点の座標として、下記（２）式の連立方程式を解いて、α’ｉ(ｉ＝１、・・・、ｎ)を求める。
【００４７】
【数２】
2018007147.tif 000004
次のステップＳ１０６で制御部２０は、中心点の座標と各デバイス１４を表す点の座標との距離をグループ鍵Ｓとする。具体的には、グループ鍵Ｓを表す情報として、上記（２）式により求めた中心点の座標と、次元数ｎと、指定値ｒの値と、を配信先となるｎ個のデバイス１４に対してブロードキャスト通信により配信した後、本グループ鍵配信処理を終了する。
【００４８】
一方、デバイス１４では、ＢＳ１２からグループ鍵Ｓを表す情報として、次元数ｎと、指定値ｒの値と、を受信すると、制御部４０のＣＰＵ４２が、ＲＯＭ４３に記憶されているプログラム４５を実行することにより、図６に示したグループ鍵導出処理が実行される。
【００４９】
ステップＳ２００で制御部４０は、記憶部４６に記憶されている固有鍵ｋと、ＢＳ１２から受信した次元数ｎ及び指定値ｒから擬似乱数生成器を用いて、ＧＦ（ｐ）上の乱数をｎ個生成する。
【００５０】
次のステップＳ２０２で制御部４０は、上記ステップＳ２００で生成したｎ個の乱数を、ｎ次元空間において自身を表す点の座標として割り当てる。
【００５１】
次のステップＳ２０４で制御部４０は、ＢＳ１２から受信した中心点の座標と、上記ステップＳ２０２で自身を表す点に対して割り当てた座標との距離を計算する。
【００５２】
次のステップＳ２０６で制御部４０は、上記ステップＳ２０４で計算した距離を、指定されたデバイス１４に共通のグループ鍵Ｓとして導出した後、本グループ鍵導出処理を終了する。
【００５３】
なお、上記実施例の形態において、デバイス１４の数Ｎが２個の場合、ｎ＝１となり１次元上の点となる。この場合、円または球は存在しないが、各デバイス１４を表す２つの点から等距離にある点を中心点とし、その座標を中心点の座標とすればよい。
【００５４】
上記において、ＢＳ１２は指定した複数のデバイス１４に共通の情報としてグループ鍵Ｓを与えるが、デバイス１４自身は自分がその指定に含まれるかどうかを知らない。ＢＳ１２が指定したデバイス１４を識別する情報（例えば、ＩＤ（Identification））を公開すれば、各デバイス１４は自分が指定されているかを知ることができる。しかしながら、ＢＳ１２が指定するデバイス１４の数が多い場合、ＢＳ１２が送信する情報の全体量も増加する。よって、１つまたは２つの情報をグループ鍵Ｓを表す情報に追加してまたは、グループ鍵Ｓと別途に送信するだけで各デバイス１４が、自身が指定されているか否かを知ることができることが好ましい。
【００５５】
そこで、デバイス１４が、自身が指定されているか否かを知ることができる確認処理の方法の一例について説明する。この場合、ＢＳ１２では、例えば、上述した図５に示したグループ鍵配信処理に代わり、図７に示したグループ鍵配信処理を実行し、各デバイス１４では、例えば、上述した図６に示したグループ鍵導出処理に代わり、図８に示したグループ鍵導出処理を実行すればよい。
【００５６】
すなわち、ＢＳ１２の制御部２０では、図７に示すように、上述したステップＳ１０４の処理の後に、ステップＳ１０５の処理を実行し、さらに、ステップＳ１０６の処理に代わりステップＳ１０７の処理を実行する。
【００５７】
ステップＳ１０５で制御部２０は、グループ鍵Ｓを用いて指定値ｒを暗号化して暗号化結果Ｃを導出する。具体的には、グループ鍵Ｓとして中心点とデバイス１４との距離を計算し、計算した値を用いて指定値ｒを暗号化し、暗号化結果Ｃを導出する。
【００５８】
そして、次のステップＳ１０７で、暗号化結果Ｃも、中心点の座標と、次元数ｎと、指定値ｒの値と、一緒にブロードキャスト通信により配信する。この場合、ＢＳ１２からデバイス１４へ送信される情報はｚ、ｎ、ｒ、Ｃとなる（ｚは中心点の座標を表す情報）。
【００５９】
一方、デバイス１４の制御部４０では、図８に示すように、上述したステップＳ２０６の処理の後に、ステップＳ２０８〜Ｓ２１４の処理を実行する。
【００６０】
ステップＳ２０８で制御部４０は、上記ステップＳ２０６で導出したグループ鍵Ｓを用いて指定値ｒを暗号化する。
【００６１】
次のステップＳ２１０で制御部４０は、上記ステップＳ２０８の暗号化結果が、ＢＳ１２から受信した暗号化結果Ｃと一致するか否かを判定する。暗号化結果Ｃと一致する場合、肯定判定となりステップＳ２１２へ移行し、ステップＳ２１２で制御部４０は、自装置が指定されたと判断した後、本グループ鍵導出処理を終了する。
【００６２】
一方、ステップＳ２１０において、暗号化結果Ｃと一致しない場合、否定判定となりステップＳ２１４へ移行し、ステップＳ２１４で制御部４０は、自装置が指定されていないと判断した後、本グループ鍵導出処理を終了する。
【００６３】
上記実施例では、ＢＳ１２が定められたグループに対してグループ鍵Ｓを計算して配送する手法が説明されているが、そのグループの決定方法は種々のやり方が考えられる。ＢＳ１２がグループを指定する場合、上記実施例の通りに実行すればよい。また、あるノードがグループを構成したいノードを指定する場合（例えばクラスタヘッドがクラスタメンバ間で用いるグループ鍵Ｓを共有する場合）、そのノードがグループを構成するノードのＩＤをＢＳ１２に伝え、ＢＳ１２がそのＩＤに対応する鍵を図４の固有鍵情報２７から検索して、実施例に示す鍵共有法を実行すればよい。その場合、グループを指定するノードがグループを構成するノードのＩＤをブロードキャストすれば、ＢＳ１２は、各ノードがグループに含まれるか否かを確認する暗号結果Ｃを送る必要はない。特に、クラスタヘッドがクラスタメンバ間の鍵を共有する場合、各クラスタメンバとなるノードは、予め自らそのクラスタヘッドの子ノードであることを知っているので、クラスタヘッドが自らを含むクラスタメンバのＩＤをＢＳ１２にユニキャストし、ＢＳ１２がそのクラスタヘッドのＩＤを暗号結果Ｃの代わりにしてブロードキャストすれば、そのクラスタヘッドの子ノードであるノードのみがグループ鍵を計算するようにすることもできる。
【００６４】
また、中心点と各ノードとの距離は下記（３）式のようにルートをはずして計算されるが、得られたＳに対して定められた値を乗算したり、Ｓをさらにべき乗するなど種々の変形を加えたものをグループ鍵Ｓとしてもよい。
【００６５】
【数３】
2018007147.tif 000005
また、上記（２）式を以下の（４）式のように変形することもでき、本発明では中心点の座標位置を未知数として各ノードの座標位置及びその他の定数などから計算される値を中心点の座標としてもよい。以下においてｒｉは、送信側と受信側とで予め共有された定数である。
【００６６】
【数４】
2018007147.tif 000006
なお、提案プロトコル内における複数の座標からの中心点の求め方は種々の方法が知られており、どの手法を用いてもよい。また、上記実施例で用いた距離はユークリッド距離を基本としているが、それ以外の距離構造を用いても良い。例えば、下記のようなマンハッタン距離と呼ばれる距離を用いることもできる。
【００６７】
マンハッタン距離とは、以下のように定義できる。
【００６８】
各座標の差（の絶対値）の総和を２点間ｘ、ｙの距離とする。形式的には、２点間の距離を直交する座標軸に沿って測定することで一般のｎ次元空間においてマンハッタン距離ｄ１が下記（５）式のように定義される。
【００６９】
【数５】
2018007147.tif 000007
ただし、ｘ＝（ｘ１、ｘ２、・・・、ｘｎ）、ｙ＝（ｙ１、ｙ２、・・・、ｙｎ）とおいた。例えば、平面上において座標（ｘ１、ｙ１）に置かれた点Ｐ１と、座標（ｘ２、ｙ２）に置かれた点Ｐ２間のマンハッタン距離は下記（６）式となる。
【００７０】
【数６】
2018007147.tif 000008
マンハッタン距離をわかりやすく示すと、図９のようになる。図９における点Ａから点Ｂまでの距離はルートα、β、γのいずれを通っても等しいといった特徴を持つ。
【００７１】
上記実施例で用いていたような、ユークリッド距離における２点間の距離における計算では、上記（２）式に示したように、二乗計算を行わなければいけない。これに対し、マンハッタン距離における２点間の距離を表す式は上記（６）式のようになり、一次式の加算及び減算で表すことができる。
【００７２】
以上説明したように、本実施形態の鍵共有システム１０は、各々固有鍵ｋを有する複数のデバイス１４と、固有鍵ｋの各々を知るＢＳ１２からなる鍵共有システム１０である。
【００７３】
ＢＳ１２のグループ鍵共有装置は、複数のデバイス１４に共通のグループ鍵Ｓを定める度に指定される指定値ｒを設定する手段と、各デバイス１４の固有鍵ｋで指定値ｒを変換した結果を各デバイス１４の座標位置とする手段と、複数の座標位置の中心点を求める手段と、を有する。
【００７４】
また、ＢＳ１２のグループ鍵共有装置は、通信毎に毎回異なる複数のデバイス１４を示す座標から等距離にある中心点の座標を１度のブロードキャスト通信で送信する手段、を有する。
【００７５】
また、デバイス１４のグループ鍵共有装置は、複数のデバイス１４に共通のグループ鍵Ｓを定める度に指定される指定値ｒを設定する手段と、自らが有する固有鍵ｋで指定値ｒを変換した結果から得られる値を自らの座標位置とする手段と、座標位置と指定された中心点との距離を計算する手段と、を有する。
【００７６】
また、本実施形態における中心点の座標位置は各ノードの座標を用いて計算される、その計算結果から各ノードが個別に同じ値を導出できる値により定められる。
【００７７】
よって、本発明によれば、効率的にグループ鍵を共有することができる。
【００７８】
具体的には、本発明により、以下の効果が実現される。
【００７９】
まず、１つ目は、グループ鍵共有に必要な通信量や通信回数が少ないことである。
【００８０】
本発明において必要な通信量は、中心点を表す座標情報と、次元数ｎ、及び鍵共有のために指定されるｒの値に応じた通信量だけであり、これらの値を１度ブロードキャスト通信により配信するだけでよい。よって、ＢＳ１２は、デバイス１４毎に通信を行う必要がなく、鍵共有システム１０では、１回の通信でグループ鍵Ｓが共有できる。ただし、上述したように各デバイス１４が自らグループに含まれているかどうかを確認する場合、そのグループ鍵Ｓによる暗号化文を送信する必要があり、その暗号化結果Ｃが追加される（指定値ｒを平文とすれば、その暗号文を追加する）。
【００８１】
２つ目は、グループ構成の変化や鍵更新に容易に対応可能なことである。
【００８２】
本発明ではグループ構成が変化してもＢＳ１２が指定されたデバイス１４に対して、中心点の座標を送ることによりグループ鍵Ｓを共有することができる。また、グループを構成するデバイス１４の組合せが変化しても同様の手順で容易に対応することができる。また、グループ鍵Ｓの更新に関しては指定値ｒの値を変更すれば対応可能である。
【００８３】
３つ目は、安全性が高いことである。
【００８４】
本発明によるグループ鍵Ｓの共有は、各デバイス１４が有する固有鍵ｋとＢＳ１２が定めた指定値ｒとを用いた擬似乱数を各デバイス１４の座標位置とする。よって、ＢＳ１２が毎回異なる指定値ｒを用いれば、各デバイス１４の座標位置は毎回異なる。また、攻撃者は指定値ｒが分かっても、デバイス１４の固有鍵ｋが分からなければそのデバイス１４の座標位置は分からない。また、中心点の座標が公開されても攻撃者はその点を中心とする同心球（または円等）上に座標点が存在することが分かるだけで無限の点の組み合わせがある。よって、中心点の座標から各デバイス１４の座標点を見つけることに関しては、原理的に情報理論的な安全性を有すると考えられる。
【００８５】
４つ目は、ループ鍵共有に必要な計算量が少ないことである。
【００８６】
ユークリッド距離において２点の座標が与えられたとき、その２点間の距離の計算は上記（１）に示す２乗計算で行われ、２乗計算は小さな計算量で実現できる。また、上記（２）式に示すように平方根の演算は基本的に不要である。よって、グループ鍵共有に必要なデバイスの計算量は小さい。その中心点の座標を求めるため、ＢＳ１２は多少複雑な計算を必要とするが、一般にＢＳ１２は豊富な計算資源と電力とを有するため、多少計算が複雑でも問題ない。
【００８７】
また、本発明はユークリッド距離に限らず、他の距離を適用することもでき、例えば、上述したように、マンハッタン距離のような加減算のみで距離計算できる距離構造を採用することもできる。この場合、デバイス１４は加減算のみで距離計算ができ、さらに計算量を少なくすることができる。
【００８８】
なお、上記各実施例で説明した鍵共有システム１０、ＢＳ１２、及びデバイス１４等の構成及び動作等は一例であり、本発明の主旨を逸脱しない範囲内において状況に応じて変更可能であることはいうまでもない。
【符号の説明】
【００８９】
１０  鍵共有システム
１２  ＢＳ（基地局）
１４  デバイス
２０、４０  制御装置
２２、４２  ＣＰＵ
２３、４３  ＲＯＭ
２４、４４  ＲＡＭ
２５、４５  プログラム
２６、４６  記憶部
２７  固有鍵情報
２８、４８  インターフェース部
２９、４９  バス
ｋ  固有鍵
【図１】
2018007147.tif 000009
【図２】
2018007147.tif 000010
【図３】
2018007147.tif 000011
【図４】
2018007147.tif 000012
【図５】
2018007147.tif 000013
【図６】
2018007147.tif 000014
【図７】
2018007147.tif 000015
【図８】
2018007147.tif 000016
【図９】
2018007147.tif 000017