JP5637401B2 - Encryption key update method, encryption key update apparatus, and encryption key update program - Google Patents

Encryption key update method, encryption key update apparatus, and encryption key update program Download PDF

Info

Publication number
JP5637401B2
JP5637401B2 JP2012257932A JP2012257932A JP5637401B2 JP 5637401 B2 JP5637401 B2 JP 5637401B2 JP 2012257932 A JP2012257932 A JP 2012257932A JP 2012257932 A JP2012257932 A JP 2012257932A JP 5637401 B2 JP5637401 B2 JP 5637401B2
Authority
JP
Japan
Prior art keywords
group
node
key
server
head
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.)
Expired - Fee Related
Application number
JP2012257932A
Other languages
Japanese (ja)
Other versions
JP2013041309A (en
Inventor
潤 野田
潤 野田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2012257932A priority Critical patent/JP5637401B2/en
Publication of JP2013041309A publication Critical patent/JP2013041309A/en
Application granted granted Critical
Publication of JP5637401B2 publication Critical patent/JP5637401B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワークにおいて、安全なネットワーク通信を実施するために必要となる暗号鍵の管理方法に関し、特に鍵の更新方法に着目した暗号鍵更新方法、暗号鍵更新装置、及び暗号鍵更新プログラムに関する。   The present invention relates to an encryption key management method necessary for implementing secure network communication in a network that uses an encryption key and performs communication using a plurality of communication devices, and particularly focuses on a key update method. The present invention relates to an encryption key update method, an encryption key update device, and an encryption key update program.

暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワーク通信において、特に多数のセンサ搭載無線通信機器(ノード)を用いたネットワークは、一般にセンサネットワークとよばれ、測定対象エリア内に配置されたノードが取得した情報を、無線通信によって収集し、収集した情報をアプリケーションで活用するシステムであり、様々な用途に利用することができるシステムとして注目されている。
以下、本発明においては、暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワーク通信において、構成する通信機器として、サーバ及びサーバと接続されたノードとにより構成されるようなネットワーク、特にセンサネットワークを例に説明を行う。
In network communication that uses an encryption key and performs communication using multiple communication devices, a network that uses a large number of sensor-equipped wireless communication devices (nodes) is generally called a sensor network and is located within the measurement target area. This is a system that collects information acquired by a node by wireless communication and uses the collected information in an application, and is attracting attention as a system that can be used for various purposes.
Hereinafter, in the present invention, in a network communication that uses an encryption key and performs communication using a plurality of communication devices, a network configured by a server and a node connected to the server as a configured communication device, In particular, a sensor network will be described as an example.

センサネットワーク利用の多くの局面において、複数のノードによってグループを構成し、グループ内で情報の共有や処理を行うケースが起こりうると考えられる。グループ鍵は、グループに属するノードだけが共通して所有する鍵であり、グループ鍵から暗号化鍵やMAC鍵を生成して利用することにより、グループ内での各種の暗号技術の利用が可能となる。その意味において、グループ鍵を安全かつ効率的に管理することは、現実的なセンサネットワークアプリケーション構築における重要な基礎技術であると考えることができる。たとえば、あるグループを対象として、秘密データのマルチキャスト配信を行う場合を考える。通信路を盗聴する不正者やデータを中継するグループ外ノードの存在を考慮すると、マルチキャスト配信されるデータは暗号化される必要がある。この際注意が必要なのは、マルチキャスト配信される暗号文は、グループ内ノード全てに対して同一でないといけない点である。もし、ノードごとに異なる暗号鍵を用い、異なる暗号文を構成する必要があるのであれば、マルチキャスト配信を行う意味がない。同一の暗号文を不特定多数がアクセスしうるネットワークに流通させ、グループに属するメンバだけが、その復号を行うことが可能となる仕組みを実現するためには、グループ鍵の存在が必須であると言える。   In many aspects of sensor network use, it is considered that a group may be formed by a plurality of nodes, and information sharing and processing may be performed within the group. The group key is a key that is commonly owned only by the nodes belonging to the group, and it is possible to use various encryption technologies within the group by generating and using the encryption key and MAC key from the group key. Become. In that sense, safe and efficient management of group keys can be considered as an important basic technology in the construction of realistic sensor network applications. For example, consider a case where multicast distribution of secret data is performed for a certain group. In consideration of the presence of an unauthorized person who eavesdrops on the communication path and an out-of-group node that relays data, the data distributed by multicast needs to be encrypted. It is important to note that the ciphertext distributed by multicast must be the same for all nodes in the group. If it is necessary to construct different ciphertexts using different encryption keys for each node, there is no point in performing multicast distribution. The existence of a group key is indispensable in order to realize a mechanism in which the same ciphertext can be distributed to a network that can be accessed by an unspecified number and only members belonging to the group can decrypt it. I can say that.

グループ鍵の管理は、一対一の暗号鍵管理とは異なる困難性を伴う課題を有する。グループ鍵の管理を特徴付ける大きな点として、グループの構成が時間進行に応じて変化する点があげられる。たとえば、新しいノードが新規にグループに参加したり、これまでグループに属していたノードが、なんらかの理由でグループから脱退したりする可能性があることに注意しなければならない。グループ構成員の変化があった場合には、グループ鍵を更新し、更新後の鍵を正しく配布する必要がある。とくに、あるノードを強制的にグループから排除する場合は、排除されるノードが有効なグループ鍵を所有し続けることのないよう、適切に情報の制御を行う必要がある。   Group key management has a problem with difficulty different from one-to-one encryption key management. A major point that characterizes the management of group keys is that the group structure changes with time. For example, it should be noted that a new node may join a group or a node that has previously belonged to a group may leave the group for some reason. When there is a change in group membership, it is necessary to update the group key and distribute the updated key correctly. In particular, when a certain node is forcibly excluded from the group, it is necessary to appropriately control information so that the excluded node does not continue to have a valid group key.

センサネットワークを念頭に置いた鍵の更新方式として最も基本的なものは、たとえば非特許文献1に示されるように、サーバを含む任意のノード対間であらかじめ1対1に共有する鍵(リンク鍵)を用いた方式(従来方式1)がある。例えば、複数のノードで構成されるグループで1つのグループ鍵を共有している場合、あるノードを排除する際に鍵更新が必要になるが、従来方式1では、鍵更新を行う際サーバ等の代表ノードが、新しいグループ鍵を決定し、リンク鍵を用いてグループ鍵を暗号化し、暗号化したグループ鍵を、排除するノードを除くその他のノードにユニキャスト的に送信する。   The most basic key update method with the sensor network in mind is, for example, as shown in Non-Patent Document 1, a key (link key) shared in a one-to-one relationship between any pair of nodes including a server. ) (Conventional method 1). For example, when one group key is shared by a group composed of a plurality of nodes, it is necessary to update the key when excluding a certain node. The representative node determines a new group key, encrypts the group key using the link key, and unicasts the encrypted group key to other nodes other than the excluded node.

また特許文献1には、あるグループに対応するグループ鍵を根とする木構造の拡頂点に複数の鍵を割り振り、次に複数のグループに加入させる全ノードを木構造の各頂点に配置された鍵と対応付け、ノードの個々の暗号鍵を木構造の根から、木構造の該ノードに対応付けられた位置に至る鍵を有する、鍵列として生成し、生成した暗号鍵を対応するノードへ配信する方式が開示されている。(従来方式2)。このような木構造により、複数のノードの中から、排除ノードが出た場合、排除ノードが有する暗号鍵に関連する鍵のみを変更して、変更された鍵に対応するノードにのみ、変更された暗号鍵を、その鍵の直下の鍵で暗号化して配信することができる。   Further, in Patent Document 1, a plurality of keys are allocated to extended vertices of a tree structure rooted in a group key corresponding to a certain group, and then all nodes to be joined to the plurality of groups are arranged at each vertex of the tree structure. Corresponding to the key, each encryption key of the node is generated as a key string having a key from the root of the tree structure to the position associated with the node of the tree structure, and the generated encryption key is transferred to the corresponding node A distribution method is disclosed. (Conventional method 2). With this tree structure, when an excluded node comes out from a plurality of nodes, only the key related to the encryption key of the excluded node is changed, and only the node corresponding to the changed key is changed. The encrypted key can be encrypted and distributed with a key immediately below the key.

また特許文献2には、複数のノードを各々が複数のグループに属するようにグループ化して構成されるネットワークシステムにおいて、グループ内の各ノード間を直接接続すると共に、各ノードが、それぞれ自ノードが属するグループの他の全てのノードに同報送信するノード接続手段を具備し、各ノードはそれぞれ自ノードが属する複数のグループのうちの1つのグループの他のノードから受信したデータを、自ノードが属する複数のグループのうちの他のグループの他のノードに同報送信によって中継する方式が開示されている。(従来方式3)。従来方式3を用いると、あるノードの集合に対して、共通のデータを送信するにあたって、各グループをまたがるノード(中継ノード)に対し、データを送信し、同報送信してもらうことによって、データを効率よく配信することができる。   In Patent Document 2, in a network system configured by grouping a plurality of nodes so that each node belongs to a plurality of groups, each node in the group is directly connected, and each node has its own node. A node connection means for broadcasting to all other nodes of the group to which the node belongs, and each node receives data received from another node of one group of the plurality of groups to which the node belongs; A system for relaying to other nodes of other groups among a plurality of groups by broadcast transmission is disclosed. (Conventional method 3). When using the conventional method 3, when transmitting common data to a certain set of nodes, data is transmitted to nodes (relay nodes) that straddle each group, and broadcast transmission is performed. Can be delivered efficiently.

また、特許文献3には、センター及び複数の端末から構成され、各端末がグループを形成しグループで同じ秘密鍵を共有する通信システムにおいて、秘密分散法などの剰余計算を用いて、秘密鍵を更新する方式が開示されている(従来方式4)。従来方式4は、センター側における暗号処理の負担を軽減することを目的とし、秘密分散法に基づき、端末側で剰余計算を行うことを必須として秘密鍵を更新することができる。   Patent Document 3 discloses a communication system that includes a center and a plurality of terminals, in which each terminal forms a group and shares the same secret key in the group. A method of updating is disclosed (conventional method 4). The conventional method 4 aims to reduce the burden of encryption processing on the center side, and can update the secret key on the basis of the secret sharing method, making it necessary to perform remainder calculation on the terminal side.

特開平11−187013号公報JP-A-11-187013 特許第2852586号公報Japanese Patent No. 2852586 特開2004−343816号公報JP 2004-343816 A

Zigbee(登録商標)センサネットワークpp.118〜120、阪田史郎ら、秀和システム、2005年Zigbee (registered trademark) sensor network pp. 118-120, Shiro Sakata et al., Hidekazu System, 2005

しかしながら、ネットワークを構成する通信機器において、チップやメモリの小型化が望まれるような、計算資源に制限があるネットワーク通信においては、安全に通信及び暗号鍵更新を行うことはもちろんのことながら、鍵更新における通信量の低減及び鍵更新による計算量の低減が求められる。   However, in network communication with limited computational resources, such as communication devices that make up a network, where miniaturization of chips and memories is desired, the key is not only to perform secure communication and encryption key update. There is a need to reduce the amount of communication in updating and the amount of calculation by updating keys.

これに対し、従来方式1はサーバからネットワークに送信される通信量がグループ内のノード数をNとしたとき通信量はO(N)となる。すなわちノード数に比例して鍵更新のための通信量が増大するという問題がある。一方、従来方式2では、この通信量はO(log N)となる。すなわちノード数の対数に比例して鍵更新のための通信量が増大するという問題がある。従来方式1と比較して効率的であるが、ノード数が増大した場合に鍵更新のためのサーバからの通信量が問題になる点では同様の問題が生じる可能性がある。特にセンサネットワークのようなノード数が従来のシステムに比べ、桁違いに増加することが予想される環境では、通信量がノード数の対数に比例するとしても、本問題が顕在化することが予想される。   On the other hand, in the conventional method 1, when the communication amount transmitted from the server to the network is N, the communication amount is O (N). That is, there is a problem that the communication amount for key update increases in proportion to the number of nodes. On the other hand, in the conventional method 2, the communication amount is O (log N). That is, there is a problem that the communication amount for key update increases in proportion to the logarithm of the number of nodes. Although it is more efficient than the conventional method 1, there is a possibility that the same problem may arise in that the amount of communication from the server for key update becomes a problem when the number of nodes increases. In particular, in an environment where the number of nodes such as sensor networks is expected to increase by an order of magnitude compared to conventional systems, this problem is expected to become apparent even if the traffic is proportional to the logarithm of the number of nodes. Is done.

一方、従来方式3を暗号鍵の配送用の通信手段として用いることが考えられるが、中継ノードを排除する場合に対応することができないという問題がある。また中継ノードがグループ外ノードである可能性を考慮すると、中継ノードに暗号鍵情報が漏洩する危険もある。   On the other hand, it is conceivable to use the conventional method 3 as a communication means for distributing the encryption key, but there is a problem that it cannot cope with the case where the relay node is excluded. Considering the possibility that the relay node is an out-of-group node, there is a risk that the encryption key information is leaked to the relay node.

また、従来方式4は秘密分散法に基づいた鍵更新方式であり,巨大な素数pのもとでの剰余計算や、大きな数の剰余演算などを用いた大きな計算量が必須とされる。このような剰余計算を用いてグループ鍵の鍵更新を行う方式では,公開鍵方式同様、一般的に非常に大きな計算量となる。しかし、特にセンサネットワークのようなノード側の通信機器に用いる計算資源において、実施可能な計算能力や記憶容量などに制限のある環境下では、ノード側での計算量が限られるために、従来方式4のような大きな数の剰余計算を要する方式は用いることができない。   The conventional method 4 is a key update method based on the secret sharing method, and requires a large amount of calculation using a remainder calculation under a large prime number p or a large number of remainder calculations. Such a method for updating the key of the group key using the remainder calculation generally has a very large amount of calculation as in the public key method. However, especially in computing resources used for node-side communication equipment such as sensor networks, the amount of computation on the node side is limited in environments where there are restrictions on the computational capacity and storage capacity that can be implemented. A method that requires a large number of remainder calculations such as 4 cannot be used.

よって、本発明は上記課題を解決し、暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワーク通信において、通信機器におけるグループの構成が時間進行に応じて変化する場合にも備え、暗号鍵であるグループ鍵を更新し、更新後の鍵をグループ内に安全に配布する仕組みを提供するものであり、鍵更新における通信量及び計算量を低減することを目的とする。   Therefore, the present invention solves the above-described problem and provides for a case where the configuration of a group in a communication device changes as time progresses in network communication in which an encryption key is used and communication is performed using a plurality of communication devices. An object of the present invention is to provide a mechanism for updating a group key, which is an encryption key, and securely distributing the updated key within the group, and an object thereof is to reduce the communication amount and the calculation amount in the key update.

本発明によれば、サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施する方法に関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後のグループ鍵を正しく配信する方法であって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、前記サーバが、排除するべきノードがグループヘッドノードである場合には、排除するべきノードであるグループヘッドノードとそのグループヘッドが属する極小グループ内の他のノードとで役割を交換することにより、前記排除するべきノードをグループヘッドノードでないノードにした上で、更新後のグループ鍵を、その対応するグループにおいて排除するべきノード以外のノードにグループヘッドノードを介して送ることで、前記排除するべきノードを排除するグループヘッドノード排除ステップを有し、前記極小グループは、属性毎に任意の属性値を持つグループを1つずつ抽出した結果得た複数のグループの積集合であり、かつ、空でない極小の集合であるグループであり、前記グループヘッドノードは、任意の極小グループとの積集合にちょうど一個のノードを含むようなグループに属するノードである、ことを特徴とする暗号鍵更新方法が提供される。
また、本発明によれば、サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施する方法に関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後の鍵を正しく配信する方法であって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、属性を全ノード集合Nの分割であるとし、(条件1)Gi⊂N、(条件2)i≠jならばGi∩Gjは空集合である、(条件3)G1∪G2∪...Gm=N、の3つの条件を満たす集合族{G1,G2,...,Gm}を属性と呼ぶとき、d個の属性A1,...,Adを考え、Ai={Gi,1,...,Gi,mi}とし(miはAiの要素数)、Gi,jは、属性iについてj番目の属性値を持つノードの集合であるとしたとき、k個の整数1≦i1,...,ik,≦dおよびk個のグループGi1,j1,...,Gik,jk(ただし、1≦a≦kに対してGia,ja∈Aiaとする)が存在し、G=Gi1,j1∩...∩Gik,jkとなるノード集合Gを位数kのグループであるというとき、構造化グループ間の包含関係において極小の集合である位数dのグループC(極小グループ)を構成するd個の属性に加え、(条件4)任意の極小グループCに対し、C∩G0,1がちょうど一個のノード(グループヘッド)を含む、(条件5)任意の極小グループC,A0におけるG0,1以外のグループG0,jに対し、C∩G0,jが高々一個のノード(グループメンバ)を含む、の2つを満たすように構成した特殊な属性A0={G0,1,...,G0,m0}(ただしm0>0)を導入して、d+1個の属性組A0,A1,...,Adで構成するd次元グループ構造でグループ鍵を更新管理し、
ノードはちょうど一個の極小グループに属すること、A0はノード集合Nの分割になっていることより、任意のノードnに対してd+1個の整数組j0,j1,...,jdが存在し、G0,j0∩G1,j1∩...∩Gd,jd={n}とあらわすことができ、d+1字組(j0,j1,...,jd)をノードnの識別子(ID)として取り扱い、
A0,A1,...,Adがd次元グループ構造を定義する場合を考え、この時サーバは、位数1のグループGi,j(0≦i≦d,1≦j≦mi)に属するノードとグループ鍵ki,j(要素鍵と呼ぶ)をあらかじめ共有し、位数kのグループG=Gi1,j1∩...∩Gik,jk(i1<...<ik)に対し、h(ki1,j1||...||kik,jk)(hはハッシュ関数、||は鍵の連接)としてサーバおよびノードで計算できる情報をGのグループ鍵k(G)とし、
位数kのグループGのグループ鍵k(G)を知るのはGに属するノードのみであり、この時、サーバあるいはGに属するノードは、Gに送信したいデータをk(G)により暗号化し、得られた暗号文をGのノードに対してマルチキャスト配信し、
ノードnのIDを(j0,j1,...,jd)とすると、nはd+1個の要素鍵k0,j0,...,kd,jdを所有し、これらd+1個の鍵を用いることにより、nはkn=h(k0,j0||...||kd,jd)を計算することができ、この値knはnおよびサーバだけが計算可能な値であるため、サーバはknをnとサーバとの間で共有された鍵(ノード鍵)として、サーバは、各ノードに対してそれぞれのノード鍵でデータを暗号化してユニキャスト的に安全に送信し、
グループヘッドとそのグループヘッドの属する極小グループの各グループメンバとの間で安全に一対一のメッセージの交換を行うことを可能とするため、サーバは、グループヘッドと各グループメンバに対して、それぞれのノード鍵で共通のユニークな鍵(メンバ鍵)を暗号化してユニキャスト的に送信し、
サーバがノードnを位数1のグループGi,jに追加したいとき、データxを鍵kにより暗号化して得られる暗号文をEk(x)と書くこととすると、サーバに備えさせるノード追加手段は、Gi,jに以前から所属するノードには、c=Eh(ki,j)(k’i,j)を計算し、cをGi,jに属するノードに対してマルチキャスト配信し、nに対してはユニキャスト的に新しい鍵k’i,jをサーバとそのノードだけで共有するノード鍵で暗号化してサーバから伝達することで、後方安全性を確保しつつ、新しい鍵k’i,jを新しいグループGi,jで共有し、
サーバがノードnを位数1のグループGi,jから排除するとき、Gi,jからnを除いた集合をG’i,jと書くと、G’i,jは、nの排除後もグループにとどまるノード集合であり、G’i,jに属するすべてのノードは、新しい鍵k’i,jを入手できなければならず、かつ、前方安全性を確保するため、排除されるノードnがk’i,jを知ることがないようにしなければならないため、サーバに備えさせる主ノード排除手段は、極小グループに必ず一個存在するグループヘッドに備えさせる副ノード排除手段と連携して、ノード排除の処理を実施し、
サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi≠0である場合、サーバの主ノード排除手段は、まず、ki,jをGi,jの要素鍵、k’i,jは新しいGi,jの要素鍵としたとき、k=h(k0,1||ki,j)を計算し、x=Ek(k’i,j)を求め、4字組(i,j,IDn,x)をGi,j∩G0,1に属するノード(グループヘッド)向けにマルチキャスト送信し(IDnは排除されるノードnのID)、その後、Gi,j∩G0,1に属するノード(グループヘッド)の副ノード排除手段は、xを復号してGi,jの新しい鍵k’i,jを入手し、最後に、Gi,j∩G0,1に属するノード(グループヘッド)の副ノード排除手段は、自ノードの属する極小グループCに排除ノードnを含まないとき、k(C)(自身の属する極小グループCのグループ鍵)を用いてk’i,jを暗号化し、Ek(C)(k’i,j)をCのグループメンバに向けてマルチキャスト配信する一方、グループヘッドの属する極小グループCに排除ノードnが含まれるとき、グループヘッドの副ノード排除手段が、n以外のCのグループメンバに対してメンバ鍵を用いてユニキャスト的にk’i,jを暗号化して送信し、
サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi=0かつj≠1である場合、サーバの主ノード排除手段は、x1=Eh(k0,j)(k’0,j)およびx2=Eh(k0,1)(x1)を計算し、4字組(0,j,IDn,x2)をグループヘッドの集合G0,1にマルチキャスト配信し、各グループヘッドの副ノード排除手段はx2を復号してx1を得て(グループヘッドはk0,jを知らないため、x1を復号することはできない)、G0,jと自身の属する極小グループCとの積集合に、ノードn’が一個含まれ、かつn≠n’であれば、グループヘッドの副ノード排除手段が、n’にメンバ鍵でユニキャスト的にx1を暗号化して送信し、
サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、nを排除するグループGi,jのグループヘッドnと、そのグループヘッドが属する極小グループ内のノードn’との役割を交換する処理を実施し、役割交換処理終了後に排除ノードがグループヘッドでない場合のノード排除処理を施行することを特徴とする暗号鍵更新方法が提供される。
更に、本発明によれば、サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施するシステムに関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後のグループ鍵を正しく配信するシステムであって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、前記サーバが、排除するべきノードがグループヘッドノードである場合には、排除するべきノードであるグループヘッドノードとそのグループヘッドが属する極小グループ内の他のノードとで役割を交換することにより、前記排除するべきノードをグループヘッドノードでないノードにした上で、更新後のグループ鍵を、その対応するグループにおいて排除するべきノード以外のノードにグループヘッドノードを介して送ることで、前記排除するべきノードを排除するグループヘッドノード排除手段を有し、前記極小グループは、属性毎に任意の属性値を持つグループを1つずつ抽出した結果得た複数のグループの積集合であり、かつ、空でない極小の集合であるグループであり、前記グループヘッドノードは、任意の極小グループとの積集合にちょうど一個のノードを含むようなグループに属するノードである、ことを特徴とする暗号鍵更新システムが提供される。
According to the present invention, in a network composed of a server and a large number of nodes, when a node has d types of attributes, the node is considered to belong to d groups at the same time. The group key is associated, the server shares the group key only with the nodes belonging to the group, and the encryption communication for each group is performed. A method for updating a group key and distributing the updated group key correctly so that when a node is forcibly excluded from the group, the excluded node will not continue to have a valid group key. Control the group key distribution, and if the node to be excluded is a group head node, the server By Group head node and the group head to exchange roles with other nodes in the belonging minimum group that, after the node that is not a group head node to node the exclusion, the group key after updating the by sending via the group head node to node other than the node to be excluded in the corresponding group, it has a Heidelberg loop head node elimination step to eliminate the node to be the exclusion, the minimum group, optionally for each attribute Is a product set of a plurality of groups obtained as a result of extracting groups each having the attribute value of one by one and is a group that is a non-empty minimal set, and the group head node is a product with an arbitrary minimal group is a node belonging to a group that contains exactly one of the nodes in the set, the encryption, characterized in that Update method is provided.
Further, according to the present invention, in a network composed of a server and a large number of nodes, when there are d types of attributes in a node, the node is considered to belong to d groups at the same time, and each group defined in this way If there is a change in the group members regarding the method of associating the group key with the server, sharing the group key only with the nodes belonging to the group, and performing cryptographic communication for each group, When the server updates the group key and distributes the updated key correctly, when a node is forcibly removed from the group, the excluded node does not continue to have a valid group key. as, and controls the group key distribution, an attribute and a division of the total node set N, (condition 1) Gi⊂N, (condition 2) i ≠ j if Gi∩Gj is It is a set, (condition 3) G1∪G2∪. . . Gm = N, a set family {G1, G2,. . . , Gm} as attributes, d attributes A1,. . . , Ad and Ai = {Gi, 1,. . . , Gi, mi} (mi is the number of elements in Ai), and Gi, j is a set of nodes having the jth attribute value for attribute i, k integers 1 ≦ i1,. . . , Ik, ≦ d and k groups Gi1, j1,. . . , Gik, jk (where Gia, jaεAia for 1 ≦ a ≦ k) and G = Gi1, j1∩. . . When the node set G to be ∩Gik, jk is a group of order k, the d attributes constituting the group C (minimum group) of order d which is a minimal set in the inclusion relationship between structured groups (Condition 4) For any minimal group C, C∩G0,1 contains exactly one node (group head). (Condition 5) A group other than G0,1 in any minimal group C, A0 Special attribute A0 = {G0,1,... Configured to satisfy two of C0G0, j including at most one node (group member) for G0, j. . . , G0, m0} (where m0> 0), d + 1 attribute sets A0, A1,. . . , Ad to update and manage the group key in the d-dimensional group structure composed of Ad,
Since a node belongs to exactly one minimal group and A0 is a division of a node set N, d + 1 integer sets j0, j1,. . . , Jd exist and G0, j0∩G1, j1∩. . . ∩Gd, jd = {n}, d + 1 character set (j0, j1,..., Jd) is treated as an identifier (ID) of node n,
A0, A1,. . . , Ad defines a d-dimensional group structure. At this time, the server assigns nodes and group keys ki, j ( 1) to groups Gi, j (0 ≦ i ≦ d, 1 ≦ j ≦ mi) of order 1. share is referred to as a cornerstone Motokagi) in advance, groups of order k G = Gi1, j1∩. . . ∩ Gik, jk (i1 <.. <ik), h (ki1, j1 || .. | kik, jk) (h is a hash function, || The information that can be calculated is G group key k (G),
Only the node belonging to G knows the group key k (G) of the group G of order k. At this time, the server or the node belonging to G encrypts data to be transmitted to G with k (G), The obtained ciphertext is distributed to the G node by multicast,
If the ID of the node n is (j0, j1,..., Jd), n is d + 1 element keys k0, j0,. . . , Kd, jd and using these d + 1 keys, n can calculate kn = h (k0, j0 || ... d | jd, jd), where the value kn is n Since the server is a value that can be calculated only by the server, the server encrypts data with each node key for each node, with kn being a key (node key) shared between n and the server. Unicast securely and
In order to enable a secure one-to-one exchange of messages between a group head and each group member of the minimal group to which the group head belongs, the server sends a message to each group head and each group member. The node key encrypts a unique key (member key) that is shared, and sends it in a unicast manner.
When the server wants to add the node n to the group Gi, j of order 1, if the ciphertext obtained by encrypting the data x with the key k is written as Ek (x), the node adding means for preparing the server is as follows: C = Eh (ki, j) (k′i, j) is calculated for nodes belonging to Gi, j from before, c is multicast to nodes belonging to Gi, j, and n The new key k′i, j is encrypted with a node key shared only by the server and its nodes in a unicast manner and transmitted from the server, thereby ensuring backward security and the new key k′i, j Is shared with the new group Gi, j,
When the server excludes the node n from the group Gi, j of order 1, when a set obtained by removing n from Gi, j is written as G′i, j, G′i, j remains in the group even after n is excluded. All nodes belonging to G′i, j must be able to obtain a new key k′i, j, and in order to ensure forward security, the excluded node n is Since k'i, j must not be known, the primary node exclusion means provided in the server cooperates with the secondary node exclusion means provided in the group head that always exists in the minimal group, thereby eliminating the node. The process of
When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not a group head and i ≠ 0 for the element group Gi, j that excludes n, the server's main node exclusion means First, when ki, j is an element key of Gi, j and k′i, j is an element key of new Gi, j, k = h (k0,1 || ki, j) is calculated, and x = Ek (k′i, j) is obtained, and the 4-character set (i, j, IDn, x) is multicast transmitted to the nodes (group heads) belonging to Gi, j , G0,1 (IDn is excluded) Node n ID), and then the secondary node exclusion means of the node (group head) belonging to Gi, j∩G0,1 decrypts x to obtain a new key k′i, j of Gi, j, and finally And subnodes of nodes (group heads) belonging to Gi, j∩G0,1. When the minimal group C to which the node belongs does not include the exclusion node n, the node exclusion means encrypts k′i, j using k (C) (group key of the minimal group C to which the node belongs), and Ek ( C) When (k′i, j) is multicast-distributed to the group members of C, while the excluded node n is included in the minimal group C to which the group head belongs, the sub-node exclusion means of the group head C'i, j is encrypted and transmitted to the group member C by unicast using the member key,
When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not the group head and i = 0 and j ≠ 1 for the element group Gi, j that excludes n, The main node exclusion means calculates x1 = Eh (k0, j) (k′0, j) and x2 = Eh (k0,1) (x1), and calculates the four character set (0, j, IDn, x2). Multicast distribution to the group head set G0,1 and the sub-node exclusion means of each group head decodes x2 to obtain x1 (since the group head does not know k0, j, x1 cannot be decoded) , G0, j and the minimal group C to which it belongs, if one node n ′ is included and n ≠ n ′, the sub-node exclusion means of the group head uses the member key for n ′. Encrypt x1 in a cast Send
When the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the main node exclusion means provided in the server excludes n A process of exchanging the roles of the group head n of the group Gi, j and the node n ′ in the minimal group to which the group head belongs is performed, and the node exclusion process when the exclusion node is not the group head after the role exchange process ends An encryption key update method is provided that is characterized by enforcing.
Further, according to the present invention, in a network composed of a server and a large number of nodes, when there are d types of attributes in a node, the node is considered to belong to d groups simultaneously, and each group defined in this way When there is a change in group members regarding a system that associates a group key with the server, shares the group key only with nodes belonging to the group, and performs cryptographic communication for each group, A system in which a server updates a group key and correctly distributes the updated group key. When a node is forcibly excluded from the group, the excluded node continues to have a valid group key. Group key distribution is controlled so that the server eliminates the group head node if the node to be excluded is a group head node. By Group head node and the group head to exchange roles with other nodes in the belonging minimum group is to be nodes, after the node node that is not a group head nodes to be the exclusion, a group of the updated key and its corresponding group head node to node other than the node to be excluded in the group that by sending through, have a Heidelberg loop head node elimination means to eliminate the node to be the exclusion, the minimum group attributes The group head node is a group that is a product set of a plurality of groups obtained as a result of extracting groups each having an arbitrary attribute value for each one and is a non-empty minimum set, and the group head node is an arbitrary minimum group It is just a node belonging to a group such as those containing one node to the intersection between, characterized in that The encryption key update system that is provided.

本発明によれば、暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワーク通信において、ネットワーク構成が時間進行に応じて変化する場合にも備え、暗号鍵であるグループ鍵を更新し、更新後の鍵を安全に配布する仕組みを提供することができる。また、鍵更新における通信量及び計算量を低減することができる。   According to the present invention, in network communication in which an encryption key is used and communication is performed using a plurality of communication devices, a group key that is an encryption key is updated in preparation for a case where the network configuration changes with time. It is possible to provide a mechanism for securely distributing the updated key. Further, it is possible to reduce the communication amount and calculation amount in key update.

本発明を実施するための一実施形態の構成を示す図である。It is a figure which shows the structure of one Embodiment for implementing this invention. 本発明における実施例を説明する図である。It is a figure explaining the Example in this invention. nをグループGi,jから排除する概要動作を示す流れ図である。It is a flowchart which shows the outline | summary operation | movement which excludes n from group Gi, j. nをグループGi,j(i≠0)から排除する動作を示す流れ図である。It is a flowchart which shows the operation | movement which excludes n from the group Gi, j (i ≠ 0). nをグループGi,j(i=0かつj≠1)から排除する動作を示す流れ図である。It is a flowchart which shows the operation | movement which excludes n from the group Gi, j (i = 0 and j ≠ 1). nをグループGi,j(i=0かつj=1)から排除する動作を示す流れ図である。It is a flowchart which shows the operation | movement which excludes n from the group Gi, j (i = 0 and j = 1). nをグループGi,j(i≠0)から排除する場合の例を示す図である。It is a figure which shows the example in the case of removing n from the group Gi, j (i ≠ 0). nをグループGi,j(i=0かつj≠1)から排除する場合の例を示す図である。It is a figure which shows the example in the case of removing n from the group Gi, j (i = 0 and j ≠ 1). nをグループGi,j(i=0かつj=1)から排除する場合の例を示す図である。It is a figure which shows the example in the case of removing n from the group Gi, j (i = 0 and j = 1).

以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。   The best mode for carrying out the present invention will be described below in detail with reference to the drawings.

一般に、一台のセンサノードには複数の属性が存在すると考えられる。例えば、製造ロット番号、ファームウェアのバージョン、設置場所、装備するセンサの種類等は、すべて属性となり得る。センサノードは、各属性に対してなんらかの属性値を有すると考えられる。   In general, one sensor node is considered to have a plurality of attributes. For example, the production lot number, firmware version, installation location, type of sensor to be equipped, etc. can all be attributes. A sensor node is considered to have some attribute value for each attribute.

本発明は、ある属性に対して同じ属性値を持つノードの集合で、一つのグループを構成するとし、このように定義される各グループに対してグループ鍵を対応付け、グループ鍵を、そのグループに属するノードにだけ配布する暗号鍵管理方法である。   In the present invention, a group is composed of a set of nodes having the same attribute value for a certain attribute. A group key is associated with each group defined in this way, and the group key is assigned to the group key. This is an encryption key management method that is distributed only to nodes belonging to.

したがって、属性がd種類存在する場合、ノードはd個のグループに同時に属することとなる。このように定義される各グループに対してグループ鍵を対応付け、グループ鍵を、そのグループに属するノードにだけ配布することを考える。   Therefore, when there are d types of attributes, the node belongs to d groups at the same time. Assume that a group key is associated with each group defined in this way, and the group key is distributed only to nodes belonging to the group.

本発明は、グループ構成員の変化があった場合に、グループ鍵を更新し、更新後の鍵を正しく配信する方法であって、特に、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、適切にグループ鍵配信の制御を行う暗号鍵更新方法である。   The present invention is a method for updating a group key when a group member changes, and correctly distributing the updated key, particularly when a certain node is forcibly excluded from the group. This is an encryption key update method that appropriately controls group key distribution so that a given node does not continue to possess a valid group key.

図1に、本発明の暗号鍵管理方法の実施形態における全体構成を示す。図1を参照すると、本実施形態において、センサネットワークに代表されるネットワークにおいて、ノード全体からなる集合Nと、Nに属さないサーバ101から構成され、サーバ101は、プログラム制御により動作し、ノード追加手段103と主ノード排除手段105と鍵記憶手段107とを、ノードは副ノード排除手段109と鍵記憶手段111とを備える。ノードは代表的にノード1のみを表記している。サーバの鍵記憶手段107とノードの鍵記憶手段111の差異は鍵記憶手段に記憶管理する鍵(秘密情報)の差異であり、主にサーバは全グループのグループ鍵を管理するのに対し、ノードは自身の属するグループの中のみで有効なグループ鍵と、ノードのグループ加入および排除の処理の際に必要になる処理用の鍵(後述するメンバ鍵)のみを管理する。   FIG. 1 shows the overall configuration of an embodiment of the encryption key management method of the present invention. Referring to FIG. 1, in the present embodiment, in a network represented by a sensor network, it is composed of a set N consisting of all nodes and a server 101 that does not belong to N. The server 101 operates under program control and adds a node. The node includes a means 103, a main node exclusion means 105, and a key storage means 107, and the node includes a secondary node exclusion means 109 and a key storage means 111. As a node, only node 1 is representatively shown. The difference between the key storage unit 107 of the server and the key storage unit 111 of the node is the difference of the key (secret information) stored and managed in the key storage unit. The server mainly manages the group keys of all groups, whereas the node Manages only a group key that is valid only in the group to which it belongs, and a processing key (member key to be described later) that is required when the node joins and removes the node.

ノードも鍵に関する動作などにおいては、プログラム制御により動作する。   The node also operates by program control in the operation related to the key.

以下、対称鍵暗号を用いたデータの暗号化操作を用いるが、暗号化に用いるアルゴリズムについてはネットワーク参加者が了解しているものとし、サーバ、各ノードは暗号化、復号を実行可能であり、特にサーバ、各ノードともに自身が所有する鍵で暗号化されている情報に関して、適した鍵で復号し復号結果を取得できるものとする。   Hereinafter, a data encryption operation using symmetric key encryption is used, but it is assumed that the network participant understands the algorithm used for encryption, and the server and each node can execute encryption and decryption. In particular, it is assumed that information encrypted with a key owned by the server and each node can be decrypted with a suitable key to obtain a decryption result.

また、属性をノード全体からなる集合Nの分割であるとし、特に、
Gi⊂N ...(条件1)
i≠jならばGi∩Gjは空集合である ...(条件2)
G1∪G2∪...Gm = N ...(条件3)
の3つの条件を満たす集合族{G1, G2, ..., Gm}を属性と呼ぶ。
Also, assume that the attribute is a partition of the set N consisting of the entire node, and in particular,
Gi⊂N. . . (Condition 1)
If i ≠ j then Gi∩Gj is an empty set. . . (Condition 2)
G1∪G2∪. . . Gm = N. . . (Condition 3)
A set family {G1, G2,. . . , Gm} are called attributes.

また、d個の属性A1, ..., Adを考え、Ai={Gi,1, ..., Gi,mi}とし(miはAiの要素数)、Gi,jは、属性iについてj番目の属性値を持つノードの集合であるとしたとき、k個の整数1≦ i1, ..., ik ≦ dおよびk個のグループGi1,j1,...,Gik,jk(ただし、1≦a≦kに対してGia,ja∈Aiaとする)が存在し、G=Gi1,j1∩... ∩Gik,jkとなるノード集合Gを位数kのグループであるというとき、構造化グループ間の包含関係において極小の集合である位数dのグループC(極小グループ)を構成するd個の属性に加え、
任意の極小グループCに対し、C∩G0,1がちょうど一個のノード(グループヘッド)を含む(条件4)、
任意の極小グループC,A0におけるG0,1以外のグループG0,jに対し、C∩G0,jが高々一個のノード(グループメンバ)を含む(条件5)、
の2つを満たすように構成した特殊な属性A0={G0,1, ..., G0,m0}(ただしm0 > 0)を導入して、d+1個の属性組A0, A1, ..., Adで構成するd次元グループ構造でグループ鍵を更新管理する。
Also, d attributes A1,. . . , Ad, and Ai = {Gi, 1,. . . , Gi, mi} (where mi is the number of elements of Ai), and Gi, j is a set of nodes having the jth attribute value for attribute i, k integers 1 ≦ i1,. . . , Ik ≤ d and k groups Gi1, j1,. . . , Gik, jk (where Gia, jaεAia for 1 ≦ a ≦ k) and G = Gi1, j1∩. . . When the node set G to be ∩Gik, jk is a group of order k, the d attributes constituting the group C (minimum group) of order d which is a minimal set in the inclusion relationship between structured groups In addition to
For any minimal group C, C∩G0,1 contains exactly one node (group head) (condition 4),
C∩G0, j includes at most one node (group member) for any group G0, j other than G0,1 in any minimal group C, A0 (condition 5);
Special attributes A0 = {G0,1,. . . , G0, m0} (where m0> 0), d + 1 attribute sets A0, A1,. . . The group key is updated and managed in a d-dimensional group structure composed of Ad.

また、ノードはちょうど一個の極小グループに属すること、A0は全ノード集合Nの分割になっていることより、任意のノードnに対してd+1個の整数組j0, j1, ..., jdが存在し、G0,j0 ∩G1,j1 ∩... ∩Gd,jd={n}と表すことができ、d+1字組(j0, j1, ..., jd) をノードnの識別子(ID)として取り扱う。   Further, since a node belongs to exactly one minimal group and A0 is a division of all node sets N, d + 1 integer sets j0, j1,. . . , Jd and G0, j0 ∩G1, j1 ∩. . . ∩Gd, jd = {n}, and d + 1 character set (j0, j1,..., Jd) is treated as an identifier (ID) of node n.

また、A0, A1, ..., Adがd次元グループ構造を定義する場合を考え、この時サーバは、位数1のグループGi,j(0≦i≦d, 1≦j≦mi) に属するノードとグループ鍵ki,j(特に要素鍵と呼ぶ)をあらかじめ共有し、位数kのグループ G=Gi1,j1 ∩... ∩Gik,jk(i1<...<ik)に対し、h(ki1,j1||...||kik,jk) (hはハッシュ関数などの連接鍵の長さを所定値にするための関数、||は鍵の連接)としてサーバおよびノードで計算できる情報をGのグループ鍵k(G)とする。   Also, A0, A1,. . . , Ad defines a d-dimensional group structure, and at this time, the server assigns nodes and group keys ki, j (1) to groups Gi, j (0 ≦ i ≦ d, 1 ≦ j ≦ mi) of order 1. In particular, an element key) is shared in advance and a group of order k G = Gi1, j1 ∩. . . (Gik, jk (i1 <... <ik), h (ki1, j1 || ... kik, jk) (h is used to set the length of a concatenated key such as a hash function to a predetermined value. The information that can be calculated by the server and the node as || is a key concatenation) is a G group key k (G).

また、位数kのグループGのグループ鍵k(G)を知るのはGに属するノードのみであり、この時、サーバあるいはGに属するノードは、Gに送信したいデータをk(G)により暗号化し、得られた暗号文をGのノードに対してマルチキャスト配信する。   Further, only the node belonging to G knows the group key k (G) of the group G of order k. At this time, the server or the node belonging to G encrypts data to be transmitted to G using k (G). The obtained ciphertext is multicast-distributed to the G node.

また、ノードnのIDを(j0, j1, ..., jd)とすると、nはd+1個の要素鍵 k0,j0, ..., kd,jdを所有し、これらd+1個の鍵を用いることにより、nはkn=h(k0,j0||...||kd,jd)を計算することができ、この値knはnおよびサーバだけが計算可能な値であるため、サーバはknをnとサーバとの間で共有された鍵(ノード鍵と呼ぶ)として、サーバは、各ノードに対してそれぞれのノード鍵でデータを暗号化してユニキャスト的に送信する。   If the ID of the node n is (j0, j1,..., Jd), n is d + 1 element keys k0, j0,. . . , Kd, jd and using these d + 1 keys, n can calculate kn = h (k0, j0 || ... || d, jd), where the value kn is n Since only the server is a value that can be calculated, the server uses kn as a key shared between n and the server (referred to as a node key), and the server stores data with each node key for each node. Encrypt and send in unicast.

また、グループヘッドとそのグループヘッドの属する極小グループの各グループメンバとの間で安全に一対一のメッセージの交換を行うことを可能とするため、サーバは、グループヘッドと各グループメンバに対して、それぞれのノード鍵で共通のユニークな鍵(メンバ鍵)を暗号化してユニキャスト的に送信する。   In addition, in order to enable secure one-to-one message exchange between the group head and each group member of the minimal group to which the group head belongs, the server A unique key (member key) common to each node key is encrypted and transmitted in a unicast manner.

ノードnを、位数1のグループGi,jに追加する手段(ノード追加手段)は以下のようになる。たとえば、新しいノードを稼働中のセンサネットワークに追加したい場合や、既存のノードの属性値がなんらかの理由で変更される場合等、このようなケースが発生しうる。いずれにせよ、新しくグループに参加するノードnは、自分が参加する以前にGi,jのグループ鍵として使われていた鍵を知る権利はない。逆に、nをグループのメンバとして追加する過程において、nが以前のグループ鍵を知ることがあってはならない。この性質をグループ鍵における後方安全性(backward security)と呼ぶ。   Means for adding the node n to the group Gi, j of order 1 (node addition means) are as follows. For example, such a case may occur when it is desired to add a new node to an active sensor network or when an attribute value of an existing node is changed for some reason. In any case, the node n newly joining the group does not have the right to know the key used as the group key of Gi, j before joining itself. Conversely, in the process of adding n as a member of a group, n must not know the previous group key. This property is called backward security in the group key.

また、サーバがノードnを位数1のグループGi,jに追加したいとき、データxを鍵kにより暗号化して得られる暗号文をEk(x)と書くこととすると、サーバに備えるノード追加手段は、Gi,jに以前から所属するノードには、c=Eh(ki,j)(k’i,j)を計算し、cをGi,jに属するノードに対してマルチキャスト配信し、nに対してはユニキャスト的に新しい鍵k’i,jをサーバとそのノードだけで共有するノード鍵で暗号化してサーバから伝達することで、後方安全性を確保しつつ、新しい鍵k’i,jを新しいグループGi,jで共有する。   Further, when the server wants to add the node n to the group Gi, j of order 1, if the ciphertext obtained by encrypting the data x with the key k is written as Ek (x), the node adding means provided in the server Computes c = Eh (ki, j) (k′i, j) for nodes that previously belong to Gi, j, multicasts c to nodes belonging to Gi, j, and sets n to On the other hand, a new key k′i, j is encrypted in a unicast manner using a node key that is shared only by the server and its node, and transmitted from the server, thereby ensuring backward security and ensuring a new key k′i, Share j with the new group Gi, j.

それまでグループGi,jに属していたノードを、Gi,jから排除する手段(ノード排除手段)は以下のようになる。あるノードをグループから排除するケースとしては、ノードの属性値が変化した場合、故障等によって停止したノードをネットワークから除外する場合、そして、あるノードが不正者に乗っ取られたおそれがある場合等が考えられる。とくに最後のケースでは、乗っ取られたノードを通じて秘密情報がリークしたり、乗っ取られた情報が他のノードや通信基盤に対してさらなる攻撃を行うことも考えられるため、できるだけ早急にノードを排除することが強く求められる。この際、グループから排除されるノードは、不正な手段によってグループ鍵を保持しようとし続ける可能性がある点に注意しなければならない。ノードを排除するプロトコルにおいては、Gi,jに継続して残るノードには新しい鍵k’i,jを確実に配信し、排除されるユーザにはk’i,j(および、その後に使用されるグループ鍵)が渡らないようにしなければならない。この性質を、グループ鍵における前方安全性(forward security)と呼ぶ。   Means (node exclusion means) for excluding nodes that belonged to the group Gi, j from Gi, j until that time are as follows. Cases where a node is excluded from the group include when the attribute value of the node changes, when a node stopped due to a failure, etc. is excluded from the network, and when a certain node may be hijacked by an unauthorized person. Conceivable. Especially in the last case, secret information may leak through the hijacked node, or the hijacked information may cause further attacks against other nodes and communication infrastructure, so eliminate the node as soon as possible. Is strongly demanded. At this time, it should be noted that a node excluded from the group may continue to hold the group key by unauthorized means. In the protocol for excluding a node, a new key k′i, j is surely distributed to nodes that continue to be in Gi, j, and k′i, j (and subsequently used for excluded users). Group key) must not be passed. This property is called forward security in the group key.

前方安全性の確保は、後方安全性の確保に比べて、技術的な困難性が高い。実際、Gi,jに継続して残るノードと、排除されるノードnとの間には、鍵に関する知識に関し、本質的な差異があるわけではない。たとえば、Gi,jに残るノードも n 自身も、Gi,jにおいてこれまで使用されていたグループ鍵ki,jを知っている。したがって、前節のノード追加のように、古いグループ鍵ki,jを利用して新しい鍵k’i,jの配布を行う、といった単純な方法では前方安全性の確保は困難である。   Ensuring forward safety is more technically difficult than ensuring backward safety. In fact, there is no essential difference between the node remaining in Gi, j and the excluded node n regarding the knowledge about the key. For example, both the node remaining in Gi, j and n itself know the group key ki, j used so far in Gi, j. Therefore, it is difficult to secure forward security by a simple method of distributing a new key k′i, j using an old group key ki, j as in the case of adding a node in the previous section.

また、サーバがノードnを位数1のグループGi,jから排除するとき、Gi,jからnを除いた集合をG’i,jと書くと、G’i,jは、nの排除後もグループにとどまるノード集合であり、G’i,jに属するすべてのノードは、新しい鍵k’i,jを入手できなければならず、かつ、前方安全性を確保するため、排除されるノードnがk’i,jを知ることがないようにしなければならないため、サーバに備える主ノード排除手段は、極小グループに必ず一個存在するグループヘッドの備える副ノード排除手段と連携して、ノード排除の処理を実施する。   Further, when the server excludes the node n from the group Gi, j of order 1, when a set obtained by removing n from Gi, j is written as G′i, j, G′i, j Is a set of nodes that remain in the group, and all nodes belonging to G′i, j must be able to obtain a new key k′i, j and are excluded in order to ensure forward security. Since n must not know k'i, j, the primary node exclusion means provided in the server cooperates with the secondary node exclusion means provided in the group head that is always present in the minimal group, thereby eliminating the node. Perform the process.

サーバがノードnを位数1のグループGi,jから排除するとき、サーバに備える主ノード排除手段は、排除ノードnがグループヘッドでない場合に、nを排除する位数1のグループGi,jについて、i≠0である場合と、i=0である場合(後者の場合、nがグループヘッドでないので、自動的にj≠1となる)とで、グループヘッドとなるノードの備える副ノード排除手段は処理を分岐する。   When the server excludes the node n from the group Gi, j of order 1, the main node exclusion means provided in the server is for the group Gi, j of order 1 that excludes n when the excluded node n is not a group head. , When i ≠ 0, and when i = 0 (in the latter case, n is not a group head, so j ≠ 1 is automatically set), and the sub-node exclusion means included in the node that becomes the group head Branches the process.

サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する位数1のグループGi,jについてi≠0である場合、位数1のグループGi,jはいくつかの極小グループに分割され、排除されるノードnは、その中の一つの極小グループに属することとなるので、基本的な考え方として、Gi,j ∩G0,1に属するノード(Gi,jに属するグループヘッド)に新しい鍵k’i,jを配送し、各グループヘッドからグループメンバに対して鍵k’i,jを転送する。   When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not the group head and i ≠ 0 for the group Gi, j of order 1 that excludes n, the order 1 Group Gi, j is divided into several minimum groups, and the excluded node n belongs to one of the minimum groups. Therefore, as a basic idea, Gi, j∩G0,1 A new key k′i, j is delivered to the node to which it belongs (group head belonging to Gi, j), and the key k′i, j is transferred from each group head to the group member.

即ち、サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi≠0である場合、サーバの主ノード排除手段は、まず、ki,jをGi,j の要素鍵、k’i,j は新しいGi,j の要素鍵としたとき、k=h(k0,1||ki,j) を計算し、x =Ek(k’i,j) を求め、4字組 (i, j, IDn, x) をGi,j ∩G0,1に属するノード(グループヘッド)向けにマルチキャスト送信し(IDnは排除されるノードnのID)、その後、Gi,j ∩G0,1に属するノード(グループヘッド)の副ノード排除手段は,xを復号してGi,jの新しい鍵 k’i,jを入手し、最後に、Gi,j ∩G0,1に属するノード(グループヘッド)の副ノード排除手段は、自ノードの属する極小グループCに排除ノードnを含まないとき、k(C) (自身の属する極小グループCのグループ鍵)を用いてk’i,jを暗号化し、Ek(C)(k’i,j)をCのグループメンバに向けてマルチキャスト配信する一方、グループヘッドの属する極小グループCに排除ノードnが含まれるとき、グループヘッドの副ノード排除手段が、n以外のCのグループメンバ全員に対してメンバ鍵を用いてユニキャスト的にk’i,jを暗号化して送信する。   That is, when the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not the group head and i ≠ 0 for the element group Gi, j that excludes n, the main node of the server The excluding means first calculates k = h (k0,1 || ki, j) where ki, j is the element key of Gi, j and k'i, j is the new element key of Gi, j. X = Ek (k′i, j) is obtained, and the four-letter set (i, j, IDn, x) is multicast-transmitted to the nodes (group heads) belonging to Gi, j1G0,1 (IDn is excluded) ID of the node n), and then the secondary node exclusion means of the node (group head) belonging to Gi, jjG0,1 decrypts x to obtain a new key k′i, j of Gi, j Finally, Gi, j belongs to ∩G0,1 The node (group head) sub-node exclusion means uses k (C) (group key of the local minimum group C to which the node belongs) when the local node C to which the local node belongs does not include the excluded node n. , J are encrypted, and Ek (C) (k′i, j) is multicast-distributed to the group members of C, while the minimal group C to which the group head belongs includes the excluded node n, the sub-group head The node exclusion means encrypts k′i, j in a unicast manner and transmits to all group members of C other than n using the member key.

サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi=0かつj≠1である場合、Gi,j=G0,jとなり、グループGi,jは極小グループに分割することはできない。また、グループヘッドの集合G0,1とGi,jは互いに素である(共通集合を持たない)ため、グループヘッドに新しい要素鍵k’i,jを露出してはならない。   When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not a group head and i = 0 and j ≠ 1 for the element group Gi, j that excludes n, Gi, j = G0, j, and the group Gi, j cannot be divided into minimal groups. Also, since the group head sets G0,1 and Gi, j are relatively prime (no common set), the new element key k'i, j must not be exposed to the group head.

即ち、サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについて、i=0かつj≠1である場合、サーバの主ノード排除手段は、x1=Eh(k0,j)(k’0,j)およびx2=Eh(k0,1)(x1)を計算し、4字組 (0, j, IDn, x2) をグループヘッドの集合 G0,1 にマルチキャスト配信し、各グループヘッドの副ノード排除手段はx2 を復号して x1 を得て(グループヘッドは k0,j を知らないため、x1 を復号することはできない)、G0,jと自身の属する極小グループCとの積集合に、ノードn’が一個含まれ、かつn≠n’であれば、グループヘッドの副ノード排除手段が、n’にメンバ鍵でユニキャスト的にx1を暗号化して送信する。   That is, when the server excludes the node n from the group Gi, j of order 1, when the excluded node n is not a group head and the element group Gi, j excluding n is i = 0 and j ≠ 1. The main node exclusion means of the server calculates x1 = Eh (k0, j) (k′0, j) and x2 = Eh (k0,1) (x1) and calculates the four character set (0, j, IDn, x2) is multicast-distributed to the set G0,1 of the group heads, and the sub-node exclusion means of each group head decodes x2 to obtain x1 (the group head does not know k0, j, so x1 is decoded) If a node n ′ is included in the product set of G0, j and the minimal group C to which it belongs, and n ≠ n ′, the sub-node exclusion means of the group head is a member of n ′ With key Nikyasuto to be sent encrypted to x1.

また、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、nを排除するグループGi,jのグループヘッドnと、そのグループヘッドが属する極小グループ内のノードn’との役割を交換する処理を実施し、役割交換処理終了後に排除ノードがグループヘッドでない場合のノード排除処理を施行する。   When the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the main node exclusion means provided in the server A process of exchanging the roles of the group head n of the group Gi, j to be excluded and the node n ′ in the minimal group to which the group head belongs is performed, and the node is excluded when the excluded node is not a group head after the role exchange process ends Enforce processing.

また、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、ノードの役割交換処理は、グループヘッドn、とノードn’∈G0,j(j ≠1)は同一の極小グループに属するものとして、サーバの主ノード排除手段は、まず、G0,1の要素鍵を更新し、新しい要素鍵k’0,1をG0,1からnを除いたノード集合G’0,1=G0,1\{n}に配信し、その後、G0,jの要素鍵を更新し、新しい要素鍵k’0,jをG0,jからn’を除いたノード集合G’0,j=G0,j\{n’}に配信し、最後にk’0,1, k’0,jをそれぞれn’, n に送信する3つの処理からなる。   Further, when the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the node role exchange processing is performed by the group head n, And the node n′εG0, j (j ≠ 1) belong to the same minimal group, the main node exclusion means of the server first updates the element key of G0,1 to obtain a new element key k′0, 1 is distributed to the node set G′0,1 = G0,1 \ {n} obtained by subtracting n from G0,1 and then the element key of G0, j is updated, and the new element key k′0, j is Deliver to node set G′0, j = G0, j \ {n ′} excluding n ′ from G0, j, and finally send k′0,1, k′0, j to n ′ and n respectively It consists of three processes.

また、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、まずG0,1の要素鍵を更新し、新しい要素鍵k’0,1をG0,1からnを除いたノード集合G’0,1=G0,1\{n}に配信するために、G’0,1に属する各ノードに対してサーバからユニキャスト的に鍵k’0,1を暗号配信する。   When the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, when the excluded node n is a group head, the main node exclusion means provided in the server first starts with G0. , 1 and G′0 to distribute the new element key k′0,1 to the node set G′0,1 = G0,1 \ {n} obtained by subtracting n from G0,1 , 1, the keys k ′ 0, 1 are cryptographically distributed from the server to each node belonging to 1.

ここで、従来方式2のような方式でG0,1を構造化し、G’0,1に属する各ノードに対してk’0,1を配信しても良い。   Here, G0,1 may be structured by a method like the conventional method 2, and k'0,1 may be distributed to each node belonging to G'0,1.

また、サーバがノードnを位数1のグループGi,jから排除するとき、i =0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、G0,jの要素鍵を更新し、新しい要素鍵k’0,jをG0,jからn’を除いたノード集合G’0,j=G0,j\{n’}に配信するために、x1=Ek0,j(k’0,j)およびx2=Ek’0,1(x1)を計算し、x2をG’0,1のノードに対してマルチキャスト配信し、G’0,1に属するノード(グループヘッド)の副ノード排除手段はx2を復号してx1を入手し、G’0,1に属するノード(グループヘッド)の属する極小グループ内にG’0,jのノードが存在すれば、グループヘッドの副ノード排除手段が、G’0,jのノードのノード排除手段にユニキャスト的にメンバ鍵でx1を暗号化して送信する。   Further, when the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the main node exclusion means provided in the server includes G0, In order to update the element key of j and distribute the new element key k′0, j to the node set G′0, j = G0, j \ {n ′} obtained by subtracting n ′ from G0, j, x1 = Ek0, j (k′0, j) and x2 = Ek′0,1 (x1) are calculated, x2 is multicast-distributed to the nodes of G′0,1, and nodes belonging to G′0,1 ( The sub-node exclusion means of (group head) decodes x2 to obtain x1, and if there is a node of G'0, j in the minimal group to which the node (group head) belonging to G'0,1 belongs, The sub-node exclusion means of the head is G'0, j no Encrypting and transmitting x1 unicast manner member key of node elimination means.

役割交換にともなってG0,jを離れるノードn’については、G0,1の要素鍵を更新し、新しい要素鍵k’0,1をG0,1からnを除いたノード集合G’0,1=G0,1\{n}に配信した時点で対応する(正当な鍵 k’0,1を保持する)グループヘッドが存在していないため、新しい鍵k’0,jの配信を受けることはできない。結果として、G0,jの要素鍵を更新し、新しい要素鍵k’0,jをG0,jからn’を除いたノード集合G’0,j=G0,j\{n’}に配信する処理が正しく実現されたことになる。   For the node n ′ that leaves G0, j with the role exchange, the element key of G0,1 is updated, and the node set G′0,1 is obtained by removing the new element key k′0,1 from G0,1 to n. Since there is no corresponding group head (holding the valid key k′0,1) at the time of distribution to G0,1 \ {n}, receiving a new key k′0, j Can not. As a result, the element key of G0, j is updated, and the new element key k′0, j is distributed to the node set G′0, j = G0, j \ {n ′} obtained by subtracting n ′ from G0, j. The process is realized correctly.

また、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、k’0,1, k’0,jをそれぞれn’, nに送信するために、n’, nにユニキャスト的にk’0,1, k’0,jをノード鍵で暗号化して送信する。   When the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the main node exclusion means provided in the server is k ′ In order to transmit 0, 1, k′0, j to n ′, n, respectively, k′0, 1, k′0, j is encrypted with the node key in a unicast manner. .

次に本発明の実施例について、図面を参照して詳細に説明する。ノードは図2に参照されるような、クラスタツリートポロジのネットワークを構成しているとする。ここでクラスタツリートポロジとは、サーバを根ノードとして、根ノード以外のすべての内部ノードについて、その子の中に高々一個の内部ノードしか存在しないツリーのことをいう。クラスタツリーにおいて、一つの内部ノードと、その内部ノードの子の中で葉ノードであるものから構成されるノード集合で一つのクラスタを構成する。クラスタツリートポロジ上では、各ノードの属性として、クラスタツリーにおける何番目の幹に属するかという情報および根ノードからの深さ、クラスタ内で何番目のノードであるかという順序情報を定義できる。クラスタ内での順序情報を特殊な属性A0={G0,1, G0,2, G0,3, G0,4}と考えると,幹属性A1={G1,1, G1,2, G1,3},深さ属性A2={G2,1, G2,2}で特定できる2次元グループ構造と定義できる。クラスタが2次元グループ構造における極小グループとなる。   Next, embodiments of the present invention will be described in detail with reference to the drawings. Assume that the nodes constitute a cluster tree topology network as shown in FIG. Here, the cluster tree topology refers to a tree in which a server is a root node and all internal nodes other than the root node have at most one internal node among its children. In the cluster tree, one cluster is constituted by a node set composed of one internal node and a leaf node among the children of the internal node. On the cluster tree topology, as an attribute of each node, it is possible to define information as to which trunk in the cluster tree belongs, depth from the root node, and order information as to which node in the cluster. Considering the order information in the cluster as a special attribute A0 = {G0,1, G0,2, G0,3, G0,4}, the trunk attribute A1 = {G1,1, G1,2, G1,3} , Depth attribute A2 = {G2,1, G2,2} can be defined as a two-dimensional group structure that can be specified. The cluster becomes a minimal group in the two-dimensional group structure.

この時、ノードnをグループGi,jから排除するときのフローチャートは図3のようになる。図3のS31にてi≠0のとき、A1,A2の属性のうちG1,1, G1,2, G1,3, G2,1, G2,2のいずれかの属性値を持つノードの集合からノードnを排除する処理を実施する。この時、排除するノードはグループヘッドではないので、Gi,j∩G0,1に属するノード(Gi,jのグループヘッド)に新しい鍵k’i,jを配送し、各グループヘッドからグループメンバに対してk’i,jを転送する(S32)。具体的な処理のフローを図4に示している。まず、サーバがE h(k0,1||ki,j) (k’i,j)を計算し、計算結果をマルチキャストする(S311)。その後、Gi,j内のグループヘッドだけが本計算結果を復号可能であり、復号してk’i,jを入手する(S312)。最後に、グループヘッドがG’i,j=Gi,j\{n}のノードにだけk’i,jを、グループメンバとの間で共有するメンバ鍵で暗号化してユニキャストして(S313)、処理を終える。   At this time, the flowchart for excluding the node n from the group Gi, j is as shown in FIG. When i ≠ 0 in S31 of FIG. 3, from the set of nodes having any attribute value of G1, 1, G1, 2, G1, 3, G2, 1, G2, 2 among the attributes of A1 and A2. A process of eliminating node n is performed. At this time, since the node to be excluded is not the group head, the new key k′i, j is delivered to the node belonging to Gi, j∩G0,1 (the group head of Gi, j), and each group head sends it to the group member. In contrast, k′i, j is transferred (S32). A specific processing flow is shown in FIG. First, the server calculates Eh (k0,1 || ki, j) (k'i, j) and multicasts the calculation result (S311). Thereafter, only the group head in Gi, j can decode the calculation result, and k′i, j is obtained by decoding (S312). Finally, k'i, j is encrypted with a member key shared with the group members and unicasted only to the node whose group head is G'i, j = Gi, j \ {n} (S313). ) Finish the process.

次に、図3のS31にてi=0のとき、S33にてj≠1ならば、A0の属性のうちG0,2あるいはG0,3あるいはG0,4の属性値を持つノードの集合からノードnを排除する処理を実施する。この時、Gi,j =G0,jとなりグループヘッドの集合G0,1とGi,jは互いに素(共通集合)を持たないため、グループヘッドにk’i,jを露出することなく、各グループヘッドからグループメンバに対してk’i,jを転送する(S34)。具体的な処理のフローを図5に示している。まず、サーバがx1=Eh(k0,j)(k’0,j)を計算し(j≠1) 、x2=Eh(k0,1)(x1)をマルチキャストする(S341)。そして、G0,j内のグループヘッドだけがx2を復号可能であり、復号してx1を入手する(S342)。グループヘッドはx1の復号はできない。その後、グループヘッドがG0,j からnを除いたノード集合G’0,j=G0,j\{n}に属するノードにだけx1 をメンバ鍵で暗号化してユニキャストする(S343)。最後に、G’0,jのノードがx1をk0,jを用いて復号し(S344)、処理を終える。   Next, when i = 0 in S31 of FIG. 3, if j ≠ 1 in S33, a node from a set of nodes having attribute values of G0, 2 or G0, 3 or G0, 4 among the attributes of A0 A process of eliminating n is performed. At this time, Gi, j = G0, j, and the group head sets G0,1 and Gi, j have no prime (common set), so that each group is not exposed to k′i, j. K′i, j is transferred from the head to the group member (S34). A specific processing flow is shown in FIG. First, the server calculates x1 = Eh (k0, j) (k′0, j) (j ≠ 1), and multicasts x2 = Eh (k0,1) (x1) (S341). Only the group head in G0, j can decode x2, and obtains x1 by decoding (S342). The group head cannot decode x1. After that, the group head encrypts x1 with the member key only to nodes belonging to the node set G'0, j = G0, j \ {n}, in which n is removed from G0, j, and unicasts (S343). Finally, the node of G′0, j decodes x1 using k0, j (S344), and the process ends.

最後に、図3のS31にてi=0のとき、S33にてj=1ならば、A0の属性のうちG0,1の属性値を持つノードの集合からノードnを排除する処理を実施する。このときnはグループヘッドであり、グループヘッドnと、そのグループヘッドが属する極小グループ内のグループメンバn’∈G0,j(j≠1)との役割を交換する処理を実行し、その後上記の(排除ノードがグループヘッドでない場合の)鍵更新を実行する(S35)。具体的な処理のフローを図6に示している。まず、サーバがk’0,1をサーバと各ノードに固有なノード鍵で暗号化し、G0,1からnを除いたノード集合G’0,1=G0,1\{n} に含まれるすべてのノードにユニキャストする(S351)。そして、サーバがx1 =Eh(k0,j)(k’0,j)を計算し(j≠1)、x2=Eh(k’0,1)(x1)をマルチキャストする(S352)。そして、G’0,1に属するグループヘッドはx2を復号してx1を入手し(S353)、G’0,j=G0,j\{n’}のノードにx1を暗号化してユニキャストする(S354)。その後、G’0,jのノードがx1をk0,jを用いて復号する(S355)。最後に、サーバがn’, n にk’0,1, k’0,jをノード鍵で暗号化してユニキャストして(S356)、役割交換の処理を終了する。この時点で、グループヘッドnはグループメンバn’とその役割を交代し、グループメンバとなる(グループヘッドの集合G0,1の鍵を所有しなくなる)。その後、図5に示す排除ノードがクラスタヘッドでない場合のノード排除処理を実施してnを排除し(S357)、処理を終える。   Finally, when i = 0 in S31 of FIG. 3, if j = 1 in S33, a process of excluding node n from the set of nodes having attribute values of G0 and 1 among the attributes of A0 is performed. . At this time, n is a group head, and the process of exchanging the roles of the group head n and the group member n′εG0, j (j ≠ 1) in the minimal group to which the group head belongs is executed, and then the above-mentioned A key update (when the excluded node is not a group head) is executed (S35). A specific processing flow is shown in FIG. First, the server encrypts k′0,1 with the node key unique to the server and each node, and all of the nodes included in the node set G′0,1 = G0,1 \ {n} excluding n from G0,1 Are unicast to the node (S351). Then, the server calculates x1 = Eh (k0, j) (k′0, j) (j ≠ 1), and multicasts x2 = Eh (k′0,1) (x1) (S352). Then, the group head belonging to G′0,1 decrypts x2 to obtain x1 (S353), encrypts x1 to the node of G′0, j = G0, j \ {n ′}, and performs unicast. (S354). After that, the node of G′0, j decodes x1 using k0, j (S355). Finally, the server encrypts k′0,1, k′0, j to n ′, n with the node key and performs unicast (S356), and ends the role exchange processing. At this point, the group head n changes its role with the group member n 'and becomes a group member (the group head set G0,1 no longer owns the key). Thereafter, node exclusion processing is performed when the exclusion node shown in FIG. 5 is not a cluster head, n is excluded (S357), and the processing ends.

図7は、図4に示す鍵更新処理1の一例として、グループG2,2の全ノードのうちグループヘッドノード以外の或るノード(グループG2,2且つグループ0,i(i≠0)(例として、i=4)且つグループ1,j(例として、j=3)のノード)をグループG2,2から排除する例を示す図である。   FIG. 7 shows an example of the key update process 1 shown in FIG. 4, among all the nodes in the groups G2 and G2, a certain node other than the group head node (groups G2 and 2 and groups 0 and i (i ≠ 0) , I = 4) and groups 1, j (for example, nodes of j = 3) are excluded from groups G2, 2.

図7を参照すると、まず、新たな鍵k’2,2を鍵k0,1と鍵2,2とを連接することにより得た鍵のハッシュ値により暗号化し、これをマルチキャストする(図4のステップ311)。マルチキャストする鍵には、ノードn(グループ0,4且つグループG1,3且つグループ2,2に属するノード)の鍵は更新しないという情報を付加しておく。   Referring to FIG. 7, first, a new key k′2,2 is encrypted with a hash value of a key obtained by concatenating the keys k0,1 and keys 2,2, and this is multicast (see FIG. 4). Step 311). Information that the key of the node n (the nodes belonging to the groups 0 and 4 and the groups G1 and 3 and the groups 2 and 2) is not updated is added to the multicast key.

そうすると、鍵k0,1と鍵2,2とを保有しているグループ2,2のグループヘッドノードがこれを受信して、鍵k’2,2を得る(図4のステップ312)。 次に、グループヘッドノードは、自己の配下にあるノードに鍵k’2,2を転送するが、上述した付加情報により特定されるノードには、例外として、鍵k’2,2を転送しない(図4のステップS313)。   Then, the group head nodes of the groups 2 and 2 that hold the keys k0 and 1 and the keys 2 and 2 receive it to obtain the keys k'2 and 2 (step 312 in FIG. 4). Next, the group head node transfers the keys k′2 and 2 to the nodes under its control, but does not transfer the keys k′2 and 2 to the node specified by the additional information described above as an exception. (Step S313 in FIG. 4).

グループ2,1からあるノードを排除する場合の処理とグループ1、j(j=1〜3)からあるノードを排除する場合の処理は、図7の場合の処理(グループ2,2からあるノードを排除する場合の処理)と同様である(鍵更新処理1である)ので、説明を省略する。   The processing for removing a node from groups 2 and 1 and the processing for removing a node from groups 1 and j (j = 1 to 3) are the same as the processing in FIG. 7 (nodes from groups 2 and 2). The processing is the same as the processing in the case of excluding the key (the key updating processing 1), and the description thereof is omitted.

図8は、図5に示す鍵更新処理2の一例として、グループG0,3の或るノード(例として、グループG0,3且つグループG1,1且つグループG2,1に属するノード)をグループG0,3から排除する例を示す図である。   FIG. 8 shows an example of the key update process 2 shown in FIG. 5 in which a certain node of groups G0, 3 (for example, a node belonging to group G0,3 and group G1,1 and group G2,1) is assigned to group G0, FIG.

図8を参照すると、まず、新たな鍵k’0,3を鍵k0,3のハッシュ値により暗号化して、x1を得る(図5のステップS341の前半部)。次に、x1を鍵k0,1のハッシュ値により暗号化して、x2を得る。そして、x2をマルチキャストする(図5のステップS341の後半部)。マルチキャストするx2には、ノードn(グループG0,3且つグループG1,1且つグループG2,1に属するノード)の鍵は更新しないという情報を付加しておく。   Referring to FIG. 8, first, new key k'0,3 is encrypted with the hash value of key k0,3 to obtain x1 (the first half of step S341 in FIG. 5). Next, x1 is encrypted with the hash value of the key k0,1 to obtain x2. Then, x2 is multicast (second half of step S341 in FIG. 5). Information indicating that the key of the node n (nodes belonging to the group G0,3 and the group G1,1 and the group G2,1) is not updated is added to x2 to be multicast.

そうすると、鍵k0,1を保有しているグループヘッドノードがこれを受信して、x1を得る(図5のステップS342)。   Then, the group head node holding the key k0,1 receives this and obtains x1 (step S342 in FIG. 5).

次に、グループヘッドは、自己の配下にあるノードにx1をマルチキャストする。但し、付加情報により特定されたノードにはマルチキャストしない(ステップS343)。   Next, the group head multicasts x1 to a node under its control. However, multicasting is not performed to the node specified by the additional information (step S343).

そうすると、鍵k0,3を保有しているグループG0,3のノードがx1を受信し、k’0,3を取得する(図5のステップS344)。但し、付加情報により特定されたノードはグループG0,3に属しているが、マルチキャストの対象から外されているので、k’0,3を取得することができない。   Then, the node of the group G0,3 holding the keys k0,3 receives x1 and acquires k'0,3 (step S344 in FIG. 5). However, the node specified by the additional information belongs to the groups G0 and G3, but is excluded from multicast targets, so k'0 and 3 cannot be acquired.

グループG0,2からあるノードを排除する場合の処理とグループG0,4からあるノードを削除する場合の処理は、図8の場合の処理動作と同様である(鍵更新処理2である)ので、説明を省略する。   The processing for removing a node from the group G0,2 and the processing for deleting a node from the group G0,4 are the same as the processing operation in FIG. 8 (key update processing 2). Description is omitted.

図9は、図6に示す鍵更新処理3の一例(グループヘッドノード(グループG0,1に属するノード)を排除する例)として、グループG1,3且つグループG2,2のグループのグループヘッドノードn(グループG1,3且つグループG2,2且つグループ0,1に属するノード)を排除する例を示す図である。   FIG. 9 shows a group head node n of the group G1, 3 and the group G2, 2 as an example of the key update process 3 shown in FIG. 6 (an example of excluding the group head node (node belonging to the group G0, 1)). It is a figure which shows the example which excludes (the node which belongs to the group G1, 3 and the group G2, 2 and the group 0, 1).

図9を参照すると、まず、グループG1,3且つグループG2,2のグループのグループヘッドノードnとそのグループの他のノードn’(例えば、グループG0,3に属するノード)とを交換する。この交換処理は、ステップS351、S352、S353、S355、S356を有する。   Referring to FIG. 9, first, the group head node n of the group G1, 3 and the group G2, 2 is exchanged with another node n 'of the group (for example, a node belonging to the group G0, 3). This exchange process includes steps S351, S352, S353, S355, and S356.

まず、グループG1,3且つグループG2,2のグループ以外の5つのグループのグループヘッドノードそれぞれに新たな鍵k’0,1を暗号化してユニキャストする(図6のステップS351)。   First, new keys k'0, 1 are encrypted and unicasted to the group head nodes of five groups other than the groups G1, 3 and G2, 2, respectively (step S351 in FIG. 6).

次に、新たな鍵k’0,3を鍵k0,3のハッシュ値で暗号化することによりx1を生成し(図6のS352の前半部)、更に、x1をk’0,1のハッシュ値で暗号化することによりx2を生成し、x2をマルチキャストする(図6のS352の後半部)。   Next, x1 is generated by encrypting the new key k′0,3 with the hash value of the key k0,3 (the first half of S352 in FIG. 6), and x1 is the hash of k′0,1. By encrypting with the value, x2 is generated, and x2 is multicast (second half of S352 in FIG. 6).

そうすると、グループG1,3且つグループG2,2のグループ以外の5つのグループのグループヘッドノードは、鍵k’0,1を保有しているため、x1を復号することができる(図6のステップS353)。他方、グループG1,3且つグループG2,2のグループのグループヘッドは鍵k’0,1を保有していないためx1を復号することができない。   Then, since the group head nodes of the five groups other than the groups G1 and G3 and G2 and G2 have the keys k′0 and 1, x1 can be decrypted (step S353 in FIG. 6). ). On the other hand, since the group heads of the groups G1, 3 and G2, 2 do not have the keys k'0, 1, x1 cannot be decrypted.

x1を復号することができた、グループG1,3且つグループG2,2のグループ以外の5つのグループのグループヘッドノードは、配下のノードにx1を送信する(図6のステップS354)が、鍵0,3を保有しているノード(G0,3に属するノード)のみがx1を復号して、k’0,3を得ることができる(図6のステップS355)。他方、グループG1,3且つグループG2,2ではグループヘッドノードがx1を復号することができないため、このグループ内のノードはk’0,3を得ることができない。   The group head nodes of the five groups other than the group G1, 3 and the group G2, 2 that were able to decrypt x1 transmit x1 to the subordinate nodes (step S354 in FIG. 6), but the key 0 , 3 (nodes belonging to G0, 3) can decode x1 to obtain k′0, 3 (step S355 in FIG. 6). On the other hand, in group G1,3 and group G2,2, the group head node cannot decode x1, so the nodes in this group cannot obtain k'0,3.

次に、鍵k’0,1をグループヘッドノードdとなったノードn’にユニキャストし、鍵k’0,3をグループヘッドノードdでなくなったノードnにユニキャストする(図6のステップS356)。   Next, the keys k′0 and 1 are unicast to the node n ′ that has become the group head node d, and the keys k′0 and 3 are unicast to the node n that is no longer the group head node d (step in FIG. 6). S356).

この後、ノードnを排除するために図8に示す方法を実施する(図6のステップS357)。   Thereafter, in order to exclude the node n, the method shown in FIG. 8 is performed (step S357 in FIG. 6).

よって、本発明によれば、従来方式に比べ、ノード排除時の鍵更新時の通信量を大きく削減することができる。例えば、グループ鍵の更新処理において、サーバからの通信はグループヘッド宛のマルチキャスト配信1回で済み、グループヘッドからは最大でも(そのグループヘッドの属する極小グループのノード数−1)回のユニキャスト通信で鍵更新を行うことができる。極小グループはノード集合の包含関係において極小であるので、大変効率的に処理を行うことが可能である。   Therefore, according to the present invention, it is possible to greatly reduce the communication amount at the time of key update at the time of node exclusion as compared with the conventional method. For example, in the group key update process, the communication from the server is only one multicast distribution addressed to the group head, and the unicast communication is at most (number of nodes in the minimal group to which the group head belongs) -1 from the group head. The key can be renewed. Since the minimal group is minimal in the inclusive relation of the node set, the processing can be performed very efficiently.

また、本発明によれば、役割交換処理を用いることにより、グループヘッドに相当するノード排除による鍵更新を行うことができる。   Further, according to the present invention, by using the role exchange process, it is possible to update the key by eliminating the node corresponding to the group head.

また、本発明によれば、従来方式に比べ、より少ない計算量で鍵更新を行うことが可能である。よって、例えばセンサネットワークのような計算資源に制限のある環境下においても鍵更新に伴う計算量を低減し、安全に鍵更新を行うことができる。   Further, according to the present invention, it is possible to perform key update with a smaller amount of calculation than in the conventional method. Therefore, for example, even in an environment where computational resources are limited, such as a sensor network, it is possible to reduce the amount of calculation associated with key updating and perform key updating safely.

以上、本発明は、暗号鍵を利用し、複数の通信機器を用いて通信を行うネットワーク通信において、構成する通信機器として、サーバ及びサーバと接続されたノードとにより構成されるようなネットワーク、特にセンサネットワークを例に説明を行ったが、特にこのようなネットワークに限られることはなく様々なネットワーク通信に応用できることはいうまでもない。   As described above, the present invention relates to a network configured by a server and a node connected to the server as a communication device to be configured in network communication in which an encryption key is used and communication is performed using a plurality of communication devices. Although the sensor network has been described as an example, it is needless to say that the present invention is not limited to such a network and can be applied to various network communications.

101 サーバ
103 ノード追加手段
105 主ノード排除手段
107 鍵記憶手段
109 副ノード排除手段
111 鍵記憶手段
101 Server 103 Node addition means 105 Primary node exclusion means 107 Key storage means 109 Secondary node exclusion means 111 Key storage means

Claims (9)

サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施する方法に関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後のグループ鍵を正しく配信する方法であって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、
前記サーバが、排除するべきノードがグループヘッドノードである場合には、排除するべきノードであるグループヘッドノードとそのグループヘッドが属する極小グループ内の他のノードとで役割を交換することにより、前記排除するべきノードをグループヘッドノードでないノードにした上で、更新後のグループ鍵を、その対応するグループにおいて排除するべきノード以外のノードにグループヘッドノードを介して送ることで、前記排除するべきノードを排除するグループヘッドノード排除ステップを有し、
前記極小グループは、属性毎に任意の属性値を持つグループを1つずつ抽出した結果得た複数のグループの積集合であり、かつ、空でない極小の集合であるグループであり、前記グループヘッドノードは、任意の極小グループとの積集合にちょうど一個のノードを含むようなグループに属するノードである、
ことを特徴とする暗号鍵更新方法。
In a network composed of a server and a large number of nodes, if a node has d types of attributes, the node is considered to belong to d groups simultaneously, and a group key is associated with each group defined in this way. The server shares the group key only with the nodes belonging to the group and performs cryptographic communication for each group, and when the group member changes, the server updates the group key, This is a method to distribute the updated group key correctly. When a node is forcibly removed from the group, the group key distribution is controlled so that the excluded node does not continue to have a valid group key. And
When the node to be excluded is a group head node, the server exchanges roles between the group head node that is to be excluded and other nodes in the minimal group to which the group head belongs, thereby The node to be excluded is sent to a node other than the node to be excluded in the corresponding group via the group head node after making the node to be excluded a node that is not a group head node. have a tolyl loop head node elimination step to eliminate,
The minimal group is a product set of a plurality of groups obtained as a result of extracting one group having an arbitrary attribute value for each attribute, and is a group that is a minimal set that is not empty, and the group head node Is a node belonging to a group that contains exactly one node in the intersection set with any minimal group,
An encryption key update method characterized by the above.
請求項1に記載の暗号鍵更新方法であって、
前記グループヘッドノード排除ステップは、
前記サーバが、グループヘッドノードの新たな第1グループ鍵を、排除するノードを有する極小グループ以外の極小グループのグループヘッドノードに個々にユニキャストするステップと、
前記サーバが、グループヘッドノードの位置にある排除されるべきノードと役割交換されたノードと同一のグループ属性及び同一のグループ属性値を有するノードの新たな第2グループ鍵を生成するステップと、
前記サーバが、前記新たな第2グループ鍵をグループヘッドノードの位置にある排除されるべきノードと役割交換されたノードと同一のグループ属性及び同一のグループ属性値を有するノードの現在のグループ鍵で暗号化し、更に、グループヘッドノードにユニキャストした新たな前記第1グループ鍵で暗号化することにより、二重に暗号化された新たな第2グループ鍵を生成するステップと、
前記サーバが、前記二重に暗号化された新たな第2グループ鍵を、各極小グループのグループヘッドノードにマルチキャストするステップと、
マルチキャストを受けた各極小グループであって、ノードの役割交換を行う極小グループ以外の各極小グループのグループヘッドノードが前記二重に暗号化された新たな第2グループ鍵を前記第1グループ鍵を用いて中途まで復号するステップと、
マルチキャストを受けた極小グループのグループヘッドノードが、中途まで復号した新たな第2グループ鍵を、グループヘッドノードの位置にある排除されるべきノードと役割交換されるノードと同一のグループ属性及び同一のグループ属性値を有するグループ内のノードに送信するステップと、
その送信を受けたノードが新たな第2グループ鍵を復号するステップと、
前記サーバが、前記役割交換によりグループヘッドノードの位置に来るノードに、前記新たな第1グループ鍵をユニキャストするステップと、
前記サーバが、前記役割交換によりグループヘッドノードの位置に来るノードと役割交換されるノードである排除されるべきノードに、前記新たな第2グループ鍵をユニキャストするステップと、
を有することを特徴とする暗号鍵更新方法。
The encryption key update method according to claim 1,
The group head node exclusion step includes:
The server individually unicasts a new first group key of a group head node to a group head node of a minimal group other than a minimal group having a node to be excluded;
The server generates a new second group key for a node having the same group attribute and the same group attribute value as the node whose role has been exchanged with the node to be excluded at the group head node position;
The server is the current group key of the node having the same group attribute and the same group attribute values and the nodes and role exchange nodes to be eliminated at the location of the group head node a second group key the new a step to encrypt further by encrypting the new first group key that is unicast to the group head node, to generate a new second group key encrypted doubly,
The server multicasts the double-encrypted new second group key to the group head node of each minimal group;
Each minimal group that has received the multicast and the group head node of each minimal group other than the minimal group exchanging the roles of the nodes uses the new second group key that has been double-encrypted as the first group key. Using and decoding halfway,
The group head node of the minimal group that received the multicast receives the new second group key decrypted halfway, the same group attribute and the same as the node whose role is exchanged with the node to be excluded at the position of the group head node Sending to a node in the group having a group attribute value;
The node receiving the transmission decrypts the new second group key;
The server unicasts the new first group key to a node that comes to the position of the group head node by the role exchange;
The server unicasts the new second group key to a node to be excluded that is a node whose role is exchanged with a node that is in the position of a group head node by the role exchange;
An encryption key update method characterized by comprising:
サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施する方法に関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後の鍵を正しく配信する方法であって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、
属性を全ノード集合Nの分割であるとし、(条件1)Gi⊂N、(条件2)i≠jならばGi∩Gjは空集合である、(条件3)G1∪G2∪...Gm=N、の3つの条件を満たす集合族{G1,G2,...,Gm}を属性と呼ぶとき、d個の属性A1,...,Adを考え、Ai={Gi,1,...,Gi,mi}とし(miはAiの要素数)、Gi,jは、属性iについてj番目の属性値を持つノードの集合であるとしたとき、k個の整数1≦i1,...,ik,≦dおよびk個のグループGi1,j1,...,Gik,jk(ただし、1≦a≦kに対してGia,ja∈Aiaとする)が存在し、G=Gi1,j1∩...∩Gik,jkとなるノード集合Gを位数kのグループであるというとき、構造化グループ間の包含関係において極小の集合である位数dのグループC(極小グループ)を構成するd個の属性に加え、(条件4)任意の極小グループCに対し、C∩G0,1がちょうど一個のノード(グループヘッド)を含む、(条件5)任意の極小グループC,A0におけるG0,1以外のグループG0,jに対し、C∩G0,jが高々一個のノード(グループメンバ)を含む、の2つを満たすように構成した特殊な属性A0={G0,1,...,G0,m0}(ただしm0>0)を導入して、d+1個の属性組A0,A1,...,Adで構成するd次元グループ構造でグループ鍵を更新管理し、
ノードはちょうど一個の極小グループに属すること、A0はノード集合Nの分割になっていることより、任意のノードnに対してd+1個の整数組j0,j1,...,jdが存在し、G0,j0∩G1,j1∩...∩Gd,jd={n}とあらわすことができ、d+1字組(j0,j1,...,jd)をノードnの識別子(ID)として取り扱い、
A0,A1,...,Adがd次元グループ構造を定義する場合を考え、この時サーバは、位数1のグループGi,j(0≦i≦d,1≦j≦mi)に属するノードとグループ鍵ki,j(要素鍵と呼ぶ)をあらかじめ共有し、位数kのグループG=Gi1,j1∩...∩Gik,jk(i1<...<ik)に対し、h(ki1,j1||...||kik,jk)(hはハッシュ関数、||は鍵の連接)としてサーバおよびノードで計算できる情報をGのグループ鍵k(G)とし、
位数kのグループGのグループ鍵k(G)を知るのはGに属するノードのみであり、この時、サーバあるいはGに属するノードは、Gに送信したいデータをk(G)により暗号化し、得られた暗号文をGのノードに対してマルチキャスト配信し、
ノードnのIDを(j0,j1,...,jd)とすると、nはd+1個の要素鍵k0,j0,...,kd,jdを所有し、これらd+1個の鍵を用いることにより、nはkn=h(k0,j0||...||kd,jd)を計算することができ、この値knはnおよびサーバだけが計算可能な値であるため、サーバはknをnとサーバとの間で共有された鍵(ノード鍵)として、サーバは、各ノードに対してそれぞれのノード鍵でデータを暗号化してユニキャスト的に安全に送信し、
グループヘッドとそのグループヘッドの属する極小グループの各グループメンバとの間で安全に一対一のメッセージの交換を行うことを可能とするため、サーバは、グループヘッドと各グループメンバに対して、それぞれのノード鍵で共通のユニークな鍵(メンバ鍵)を暗号化してユニキャスト的に送信し、
サーバがノードnを位数1のグループGi,jに追加したいとき、データxを鍵kにより暗号化して得られる暗号文をEk(x)と書くこととすると、サーバに備えさせるノード追加手段は、Gi,jに以前から所属するノードには、c=Eh(ki,j)(k’i,j)を計算し、cをGi,jに属するノードに対してマルチキャスト配信し、nに対してはユニキャスト的に新しい鍵k’i,jをサーバとそのノードだけで共有するノード鍵で暗号化してサーバから伝達することで、後方安全性を確保しつつ、新しい鍵k’i,jを新しいグループGi,jで共有し、
サーバがノードnを位数1のグループGi,jから排除するとき、Gi,jからnを除いた集合をG’i,jと書くと、G’i,jは、nの排除後もグループにとどまるノード集合であり、G’i,jに属するすべてのノードは、新しい鍵k’i,jを入手できなければならず、かつ、前方安全性を確保するため、排除されるノードnがk’i,jを知ることがないようにしなければならないため、サーバに備えさせる主ノード排除手段は、極小グループに必ず一個存在するグループヘッドに備えさせる副ノード排除手段と連携して、ノード排除の処理を実施し、
サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi≠0である場合、サーバの主ノード排除手段は、まず、ki,jをGi,jの要素鍵、k’i,jは新しいGi,jの要素鍵としたとき、k=h(k0,1||ki,j)を計算し、x=Ek(k’i,j)を求め、4字組(i,j,IDn,x)をGi,j∩G0,1に属するノード(グループヘッド)向けにマルチキャスト送信し(IDnは排除されるノードnのID)、その後、Gi,j∩G0,1に属するノード(グループヘッド)の副ノード排除手段は、xを復号してGi,jの新しい鍵k’i,jを入手し、最後に、Gi,j∩G0,1に属するノード(グループヘッド)の副ノード排除手段は、自ノードの属する極小グループCに排除ノードnを含まないとき、k(C)(自身の属する極小グループCのグループ鍵)を用いてk’i,jを暗号化し、Ek(C)(k’i,j)をCのグループメンバに向けてマルチキャスト配信する一方、グループヘッドの属する極小グループCに排除ノードnが含まれるとき、グループヘッドの副ノード排除手段が、n以外のCのグループメンバに対してメンバ鍵を用いてユニキャスト的にk’i,jを暗号化して送信し、
サーバがノードnを位数1のグループGi,jから排除するとき、排除ノードnがグループヘッドでなく、nを排除する要素グループGi,jについてi=0かつj≠1である場合、サーバの主ノード排除手段は、x1=Eh(k0,j)(k’0,j)およびx2=Eh(k0,1)(x1)を計算し、4字組(0,j,IDn,x2)をグループヘッドの集合G0,1にマルチキャスト配信し、各グループヘッドの副ノード排除手段はx2を復号してx1を得て(グループヘッドはk0,jを知らないため、x1を復号することはできない)、G0,jと自身の属する極小グループCとの積集合に、ノードn’が一個含まれ、かつn≠n’であれば、グループヘッドの副ノード排除手段が、n’にメンバ鍵でユニキャスト的にx1を暗号化して送信し、
サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、nを排除するグループGi,jのグループヘッドnと、そのグループヘッドが属する極小グループ内のノードn’との役割を交換する処理を実施し、役割交換処理終了後に排除ノードがグループヘッドでない場合のノード排除処理を施行することを特徴とする暗号鍵更新方法。
In a network composed of a server and a large number of nodes, if a node has d types of attributes, the node is considered to belong to d groups simultaneously, and a group key is associated with each group defined in this way. The server shares the group key only with the nodes belonging to the group and performs cryptographic communication for each group, and when the group member changes, the server updates the group key, This is a method for distributing the updated key correctly, and when a node is forcibly excluded from the group, control of group key distribution is controlled so that the excluded node does not continue to have a valid group key. Done
If the attribute is a division of all node sets N , ( Condition 1) Gi) N, (Condition 2) If i ≠ j, Gi∩Gj is an empty set, (Condition 3) G1∪G2∪. . . Gm = N, a set family {G1, G2,. . . , Gm} as attributes, d attributes A1,. . . , Ad and Ai = {Gi, 1,. . . , Gi, mi} (mi is the number of elements in Ai), and Gi, j is a set of nodes having the jth attribute value for attribute i, k integers 1 ≦ i1,. . . , Ik, ≦ d and k groups Gi1, j1,. . . , Gik, jk (where Gia, jaεAia for 1 ≦ a ≦ k) and G = Gi1, j1∩. . . When the node set G to be ∩Gik, jk is a group of order k, the d attributes constituting the group C (minimum group) of order d which is a minimal set in the inclusion relationship between structured groups (Condition 4) For any minimal group C, C∩G0,1 contains exactly one node (group head). (Condition 5) A group other than G0,1 in any minimal group C, A0 Special attribute A0 = {G0,1,... Configured to satisfy two of C0G0, j including at most one node (group member) for G0, j. . . , G0, m0} (where m0> 0), d + 1 attribute sets A0, A1,. . . , Ad to update and manage the group key in the d-dimensional group structure composed of Ad,
Since a node belongs to exactly one minimal group and A0 is a division of a node set N, d + 1 integer sets j0, j1,. . . , Jd exist and G0, j0∩G1, j1∩. . . ∩Gd, jd = {n}, d + 1 character set (j0, j1,..., Jd) is treated as an identifier (ID) of node n,
A0, A1,. . . , Ad defines a d-dimensional group structure. At this time, the server assigns nodes and group keys ki, j ( 1) to groups Gi, j (0 ≦ i ≦ d, 1 ≦ j ≦ mi) of order 1. share is referred to as a cornerstone Motokagi) in advance, groups of order k G = Gi1, j1∩. . . ∩ Gik, jk (i1 <.. <ik), h (ki1, j1 || .. | kik, jk) (h is a hash function, || The information that can be calculated is G group key k (G),
Only the node belonging to G knows the group key k (G) of the group G of order k. At this time, the server or the node belonging to G encrypts data to be transmitted to G with k (G), The obtained ciphertext is distributed to the G node by multicast,
If the ID of the node n is (j0, j1,..., Jd), n is d + 1 element keys k0, j0,. . . , Kd, jd and using these d + 1 keys, n can calculate kn = h (k0, j0 || ... d | jd, jd), where the value kn is n Since the server is a value that can be calculated only by the server, the server encrypts data with each node key for each node, with kn being a key (node key) shared between n and the server. Unicast securely and
In order to enable a secure one-to-one exchange of messages between a group head and each group member of the minimal group to which the group head belongs, the server sends a message to each group head and each group member. The node key encrypts a unique key (member key) that is shared, and sends it in a unicast manner.
When the server wants to add the node n to the group Gi, j of order 1, if the ciphertext obtained by encrypting the data x with the key k is written as Ek (x), the node adding means for preparing the server is as follows: C = Eh (ki, j) (k′i, j) is calculated for nodes belonging to Gi, j from before, c is multicast to nodes belonging to Gi, j, and n The new key k′i, j is encrypted with a node key shared only by the server and its nodes in a unicast manner and transmitted from the server, thereby ensuring backward security and the new key k′i, j Is shared with the new group Gi, j,
When the server excludes the node n from the group Gi, j of order 1, when a set obtained by removing n from Gi, j is written as G′i, j, G′i, j remains in the group even after n is excluded. All nodes belonging to G′i, j must be able to obtain a new key k′i, j, and in order to ensure forward security, the excluded node n is Since k'i, j must not be known, the primary node exclusion means provided in the server cooperates with the secondary node exclusion means provided in the group head that always exists in the minimal group, thereby eliminating the node. The process of
When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not a group head and i ≠ 0 for the element group Gi, j that excludes n, the server's main node exclusion means First, when ki, j is an element key of Gi, j and k′i, j is an element key of new Gi, j, k = h (k0,1 || ki, j) is calculated, and x = Ek (k′i, j) is obtained, and the 4-character set (i, j, IDn, x) is multicast transmitted to the nodes (group heads) belonging to Gi, j , G0,1 (IDn is excluded) Node n ID), and then the secondary node exclusion means of the node (group head) belonging to Gi, j∩G0,1 decrypts x to obtain a new key k′i, j of Gi, j, and finally And subnodes of nodes (group heads) belonging to Gi, j∩G0,1. When the minimal group C to which the node belongs does not include the exclusion node n, the node exclusion means encrypts k′i, j using k (C) (group key of the minimal group C to which the node belongs), and Ek ( C) When (k′i, j) is multicast-distributed to the group members of C, while the excluded node n is included in the minimal group C to which the group head belongs, the sub-node exclusion means of the group head C'i, j is encrypted and transmitted to the group member C by unicast using the member key,
When the server excludes the node n from the group Gi, j of order 1, if the excluded node n is not the group head and i = 0 and j ≠ 1 for the element group Gi, j that excludes n, The main node exclusion means calculates x1 = Eh (k0, j) (k′0, j) and x2 = Eh (k0,1) (x1), and calculates the four character set (0, j, IDn, x2). Multicast distribution to the group head set G0,1 and the sub-node exclusion means of each group head decodes x2 to obtain x1 (since the group head does not know k0, j, x1 cannot be decoded) , G0, j and the minimal group C to which it belongs, if one node n ′ is included and n ≠ n ′, the sub-node exclusion means of the group head uses the member key for n ′. Encrypt x1 in a cast Send
When the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, the main node exclusion means provided in the server excludes n A process of exchanging the roles of the group head n of the group Gi, j and the node n ′ in the minimal group to which the group head belongs is performed, and the node exclusion process when the exclusion node is not the group head after the role exchange process ends An encryption key update method characterized by enforcing.
請求項3に記載の暗号鍵更新方法において、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、ノードの役割交換処理は、グループヘッドn,とノードn’∈G0,j(j≠1)は同一の極小グループに属するものとして、サーバの主ノード排除手段は、まず、G0,1の要素鍵を更新し、新しい要素鍵k’0,1をG0,1からnを除いたノード集合G’0,1=G0,1\{n}に配信し、その後、G0,jの要素鍵を更新し、新しい要素鍵k’0,jをG0,jからn’を除いたノード集合G’0,j=G0,j\{n’}に配信し、最後にk’0,1,k’0,jをそれぞれn’,nに送信する3つの処理からなることを特徴とする暗号鍵更新方法。   4. The encryption key updating method according to claim 3, wherein when the server excludes the node n from the group Gi, j of order 1, when i = 0 and j = 1, that is, the excluded node n is a group head, In the role exchanging process, the group head n and the node n′εG0, j (j ≠ 1) are assumed to belong to the same minimal group, and the main node exclusion means of the server first uses the element keys of G0,1. Update and distribute the new element key k′0,1 to the node set G′0,1 = G0,1 \ {n} obtained by subtracting n from G0,1 and then update the element key of G0, j , Distribute the new element key k′0, j to the node set G′0, j = G0, j \ {n ′} obtained by subtracting n ′ from G0, j, and finally k′0,1, k′0. , J each consisting of three processes for transmitting to n ′ and n respectively Law. 請求項4に記載の暗号鍵更新方法において、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、まずG0,1の要素鍵を更新し、新しい要素鍵k’0,1をG0,1からnを除いたノード集合G’0,1=G0,1\{n}に配信するために、G’0,1に属する各ノードに対してサーバからユニキャスト的に鍵k’0,1を暗号配信することを特徴とする暗号鍵更新方法。   5. The encryption key updating method according to claim 4, wherein when the server excludes the node n from the group Gi, j of order 1, i = 0 and j = 1, that is, when the excluded node n is a group head. The primary node exclusion means for preparing first updates the element key of G0,1 and sets the node set G′0,1 = G0,1 \ {n by subtracting n from G0,1 for the new element key k′0,1 }, The key k′0,1 is cryptographically distributed from the server to each node belonging to G′0,1 in a unicast manner. 請求項5に記載の暗号鍵更新方法において、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、G0,jの要素鍵を更新し、新しい要素鍵k’0,jをG0,jからn’を除いたノード集合G’0,j=G0,j\{n’}に配信するために、x1=Ek0,j(k’0,j)およびx2=Ek’0,1(x1)を計算し、x2をG’0,1のノードに対してマルチキャスト配信し、G’0,1に属するノード(グループヘッド)の副ノード排除手段はx2を復号してx1を入手し、G’0,1に属するノード(グループヘッド)の属する極小グループ内にG’0,jのノードが存在すれば、グループヘッドの副ノード排除手段が、G’0,jのノードのノード排除手段にユニキャスト的にメンバ鍵でx1を暗号化して送信することを特徴とする暗号鍵更新方法。   6. The encryption key updating method according to claim 5, wherein when the server excludes the node n from the group Gi, j of order 1, i = 0 and j = 1, that is, when the excluded node n is a group head. The main node exclusion means for updating the element key of G0, j, and the node set G′0, j = G0, j \ {n by subtracting n ′ from G0, j for the new element key k′0, j X1 = Ek0, j (k′0, j) and x2 = Ek′0,1 (x1) are calculated to distribute to '}, and x2 is distributed to the node of G′0,1 by multicast. , G'0,1 sub-node exclusion means decodes x2 to obtain x1, and G'0 is included in the minimal group to which the node (group head) belonging to G'0,1 belongs. , J nodes exist, the secondary node of the group head De exclusion means, G'0, encryption key update method characterized by encrypting and transmitting x1 unicast manner member key node elimination means nodes j. 請求項6に記載の暗号鍵更新方法において、サーバがノードnを位数1のグループGi,jから排除するとき、i=0かつj=1すなわち排除ノードnがグループヘッドである場合に、サーバに備える主ノード排除手段は、k’0,1,k’0,jをそれぞれn’,nに送信するために、n’,nにユニキャスト的にk’0,1,k’0,jをノード鍵で暗号化して送信することを特徴とする暗号鍵更新方法。   7. The encryption key updating method according to claim 6, wherein when the server excludes the node n from the group Gi, j of order 1, i = 0 and j = 1, that is, when the excluded node n is a group head. The main node exclusion means for providing k′0, 1, k′0, j to n ′, n respectively unicast to k′0, 1, k′0, A method of updating an encryption key, wherein j is encrypted with a node key and transmitted. サーバと多数のノードから構成されるネットワークにおいて、ノードに属性がd種類存在する場合、ノードはd個のグループに同時に属すると考え、このように定義される各グループに対してグループ鍵を対応付け、サーバがグループ鍵をそのグループに属するノードとだけ共有して、各グループを対象とする暗号通信を実施するシステムに関し、グループ構成員の変化があった場合に、サーバがグループ鍵を更新し、更新後のグループ鍵を正しく配信するシステムであって、あるノードを強制的にグループから排除する場合に、排除されるノードが有効なグループ鍵を所有し続けることのないよう、グループ鍵配信の制御を行い、
前記サーバが、排除するべきノードがグループヘッドノードである場合には、排除するべきノードであるグループヘッドノードとそのグループヘッドが属する極小グループ内の他のノードとで役割を交換することにより、前記排除するべきノードをグループヘッドノードでないノードにした上で、更新後のグループ鍵を、その対応するグループにおいて排除するべきノード以外のノードにグループヘッドノードを介して送ることで、前記排除するべきノードを排除するグループヘッドノード排除手段を有し、
前記極小グループは、属性毎に任意の属性値を持つグループを1つずつ抽出した結果得た複数のグループの積集合であり、かつ、空でない極小の集合であるグループであり、前記グループヘッドノードは、任意の極小グループとの積集合にちょうど一個のノードを含むようなグループに属するノードである、
ことを特徴とする暗号鍵更新システム。
In a network composed of a server and a large number of nodes, if a node has d types of attributes, the node is considered to belong to d groups simultaneously, and a group key is associated with each group defined in this way. In the system where the server shares the group key only with the nodes belonging to the group and performs cryptographic communication for each group, the server updates the group key when the group member changes, A system that distributes the updated group key correctly and controls group key distribution so that when a node is forcibly excluded from the group, the excluded node does not continue to have a valid group key. And
When the node to be excluded is a group head node, the server exchanges roles between the group head node that is to be excluded and other nodes in the minimal group to which the group head belongs, thereby The node to be excluded is sent to a node other than the node to be excluded in the corresponding group via the group head node after making the node to be excluded a node that is not a group head node. have a tolyl loop head node elimination means to eliminate,
The minimal group is a product set of a plurality of groups obtained as a result of extracting one group having an arbitrary attribute value for each attribute, and is a group that is a minimal set that is not empty, and the group head node Is a node belonging to a group that contains exactly one node in the intersection set with any minimal group,
An encryption key update system characterized by that.
請求項8に記載の暗号鍵更新システムであって、
前記グループヘッドノード排除手段は、
前記サーバが、グループヘッドノードの新たな第1グループ鍵を、排除するノードを有する極小グループ以外の極小グループのグループヘッドノードに個々にユニキャストする手段と、
前記サーバが、グループヘッドノードの位置にある排除されるべきノードと役割交換されたノードと同一のグループ属性及び同一のグループ属性値を有するノードの新たな第2グループ鍵を生成する手段と、
前記サーバが、前記新たな第2グループ鍵をグループヘッドノードの位置にある排除されるべきノードと役割交換されたノードと同一のグループ属性及び同一のグループ属性値を有するノードの現在のグループ鍵で暗号化し、更に、グループヘッドノードにユニキャストした新たな前記第1グループ鍵で暗号化することにより、二重に暗号化された新たな第2グループ鍵を生成する手段と、
前記サーバが、前記二重に暗号化された新たな第2グループ鍵を、各極小グループのグループヘッドノードにマルチキャストする手段と、
マルチキャストを受けた各極小グループであって、ノードの役割交換を行う極小グループ以外の各極小グループのグループヘッドノードが前記二重に暗号化された新たな第2グループ鍵を前記第1グループ鍵を用いて中途まで復号する手段と、
マルチキャストを受けた極小グループのグループヘッドノードが、中途まで復号した新たな第2グループ鍵を、グループヘッドノードの位置にある排除されるべきノードと役割交換されるノードと同一のグループ属性及び同一のグループ属性値を有するグループ内のノードに送信する手段と、
その送信を受けたノードが新たな第2グループ鍵を復号する手段と、
前記サーバが、前記役割交換によりグループヘッドノードの位置に来るノードに、前記新たな第1グループ鍵をユニキャストする手段と、
前記サーバが、前記役割交換によりグループヘッドノードの位置に来るノードと役割交換されるノードである排除されるべきノードに、前記新たな第2グループ鍵をユニキャストする手段と、
を備えることを特徴とする暗号鍵更新システム。
The encryption key update system according to claim 8,
The group head node exclusion means includes:
Means for individually unicasting the new first group key of the group head node to a group head node of a minimal group other than the minimal group having a node to be excluded;
Means for generating a new second group key of the node having the same group attribute and the same group attribute value as the node whose role is exchanged with the node to be excluded at the position of the group head node;
The server is the current group key of the node having the same group attribute and the same group attribute values and the nodes and role exchange nodes to be eliminated at the location of the group head node a second group key the new encrypted further by encrypting the new first group key that is unicast to the group head nodes, means for generating a new second group key encrypted doubly,
Means for the server to multicast the double-encrypted new second group key to a group head node of each minimal group;
Each minimal group that has received the multicast and the group head node of each minimal group other than the minimal group exchanging the roles of the nodes uses the new second group key that has been double-encrypted as the first group key. Means to use and decrypt halfway,
The group head node of the minimal group that received the multicast receives the new second group key decrypted halfway, the same group attribute and the same as the node whose role is exchanged with the node to be excluded at the position of the group head node Means for transmitting to a node in a group having a group attribute value;
Means for the node receiving the transmission to decrypt the new second group key;
Means for unicasting the new first group key to a node at which the server comes to the position of the group head node by the role exchange;
Means for unicasting the new second group key to a node to be excluded, wherein the server is a node whose role is exchanged with a node that is in the position of a group head node by the role exchange;
An encryption key update system comprising:
JP2012257932A 2012-11-26 2012-11-26 Encryption key update method, encryption key update apparatus, and encryption key update program Expired - Fee Related JP5637401B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012257932A JP5637401B2 (en) 2012-11-26 2012-11-26 Encryption key update method, encryption key update apparatus, and encryption key update program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012257932A JP5637401B2 (en) 2012-11-26 2012-11-26 Encryption key update method, encryption key update apparatus, and encryption key update program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007170814A Division JP5234307B2 (en) 2007-06-28 2007-06-28 Encryption key update method, encryption key update apparatus, and encryption key update program

Publications (2)

Publication Number Publication Date
JP2013041309A JP2013041309A (en) 2013-02-28
JP5637401B2 true JP5637401B2 (en) 2014-12-10

Family

ID=47889683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012257932A Expired - Fee Related JP5637401B2 (en) 2012-11-26 2012-11-26 Encryption key update method, encryption key update apparatus, and encryption key update program

Country Status (1)

Country Link
JP (1) JP5637401B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385202A1 (en) * 2020-06-04 2021-12-09 Caliola Engineering, LLC Secure wireless cooperative broadcast networks

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9825759B2 (en) * 2013-07-08 2017-11-21 Alcatel Lucent Secure service management in a communication network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210385202A1 (en) * 2020-06-04 2021-12-09 Caliola Engineering, LLC Secure wireless cooperative broadcast networks
US11606342B2 (en) * 2020-06-04 2023-03-14 Caliola Engineering, LLC Secure wireless cooperative broadcast networks
US20230198970A1 (en) * 2020-06-04 2023-06-22 Caliola Engineering, LLC Secure wireless cooperative broadcast networks
US11929996B2 (en) * 2020-06-04 2024-03-12 Caliola Engineering, LLC Secure wireless cooperative broadcast networks

Also Published As

Publication number Publication date
JP2013041309A (en) 2013-02-28

Similar Documents

Publication Publication Date Title
Piao et al. Polynomial-based key management for secure intra-group and inter-group communication
CN109995510A (en) A kind of quantum key relay services method
JP5234307B2 (en) Encryption key update method, encryption key update apparatus, and encryption key update program
KR20020037022A (en) Distributed group key management scheme for secure many-to-many communication
CN101170404B (en) Method for secret key configuration based on specified group
Lin et al. Secure and efficient group key management with shared key derivation
Gomathi et al. An efficient cluster based key management scheme for MANET with authentication
CN114375560A (en) Quantum key distribution method, device and system
CN101741548A (en) Method and system for establishing safe connection between switching equipment
JP5637401B2 (en) Encryption key update method, encryption key update apparatus, and encryption key update program
JP6179815B2 (en) ENCRYPTED DATA COMMUNICATION DEVICE, ENCRYPTED DATA COMMUNICATION METHOD, PROGRAM, AND RECORDING MEDIUM
Kamboj et al. Survey of various keys management techniques in MANET
Devaraju et al. Dynamic clustering for QoS based secure multicast key distribution in mobile Ad hoc networks
Du et al. Towards solving multicast key management problem
RU2344559C2 (en) System of robust keys control and method of its functioning
CN114285550A (en) Quantum security key service network, system and node device
Chaudhari et al. Security analysis of centralized group key management schemes for wireless sensor networks under strong active outsider adversary model
SuganyaDevi et al. Secure multicast key distribution for mobile ad hoc networks
Vimala et al. An efficient rekeying function protocol with multicast key distribution for group key management in MANETs
Yadav et al. Secure multicast key distribution in mobile ad hoc networks
KR101298618B1 (en) Id-based broadcast encryption method in sensor network
Mapoka et al. Multi-service group key establishment for secure wireless mobile multicast networks
SuganyaDevi et al. Performance efficient eomct algorithm for secure multicast key distribution for mobile adhoc networks
Balachandran et al. An efficient and attack‐resistant key agreement scheme for secure group communications in mobile ad‐hoc networks
SuganyaDevi et al. A reliable secure multicast key distribution scheme for mobile Adhoc networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140827

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141008

R150 Certificate of patent or registration of utility model

Ref document number: 5637401

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees