JP4997769B2 - Cryptographic communication system, key sharing method, and key providing apparatus - Google Patents
Cryptographic communication system, key sharing method, and key providing apparatus Download PDFInfo
- Publication number
- JP4997769B2 JP4997769B2 JP2006006571A JP2006006571A JP4997769B2 JP 4997769 B2 JP4997769 B2 JP 4997769B2 JP 2006006571 A JP2006006571 A JP 2006006571A JP 2006006571 A JP2006006571 A JP 2006006571A JP 4997769 B2 JP4997769 B2 JP 4997769B2
- Authority
- JP
- Japan
- Prior art keywords
- key
- information
- group
- information processing
- encryption
- 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.)
- Active
Links
Images
Description
本発明は、グループを形成する情報処理装置間での暗号通信を実現するための鍵を各情報処理装置が共有することができる暗号通信システム、およびそのような暗号通信システムに適用される鍵共有方法、鍵提供装置、鍵提供プログラムに関する。 The present invention relates to an encryption communication system in which each information processing apparatus can share a key for realizing encryption communication between information processing apparatuses forming a group, and key sharing applied to such an encryption communication system method, the key providing device, about the key providing program.
従来より、他者からの盗聴を防いでグループ内で安全に同報通信を実現するために、グループ内で共有する鍵をサーバで管理するシステムが種々提案されている。そのようなシステムの例が、特許文献1に記載されている。図12は、特許文献1に記載されたシステムの構成を示す構成図である。ただし、図12に示す符号は、特許文献1で用いられている符号とは異なっている。特許文献1に記載されたシステムは、図12に示すように、ネットワーク51に、複数の計算機52−1〜52−4と、認証サーバ54と、グループ管理サーバ55とが接続された構成になっている。各計算機52−1〜52−4上では、それぞれプロセスA(53−1),B(53−2),C(53−3),D(53−4)が動作している。
Conventionally, various systems for managing keys shared within a group by a server have been proposed in order to prevent eavesdropping from others and to realize broadcast communication safely within the group. An example of such a system is described in US Pat. FIG. 12 is a configuration diagram showing the configuration of the system described in
ここでは、計算機52−1が共有暗号鍵g1を保持するまでの過程を例にして説明する。共有暗号鍵は、グループ内で秘匿通信(暗号化通信)を行うときに、データの暗号化や復号に用いる鍵である。共有暗号鍵を、グループ鍵と称する場合もある。 Here, the process until the computer 52-1 holds the shared encryption key g1 will be described as an example. The shared encryption key is a key used for data encryption or decryption when performing secret communication (encrypted communication) within the group. The shared encryption key may be referred to as a group key.
秘密鍵Aは、計算機52−1と認証サーバ54とがそれぞれ保持する秘密鍵(共通鍵)である。プロセスAは、認証サーバ54から秘密鍵Aで暗号化された会話鍵aおよびグループ管理サーバ55の秘密鍵αで暗号化された認証情報を得る。この認証情報には、会話鍵aが含まれている。次に、プロセスAは、自分の暗号鍵Aで認証情報を復号して会話鍵aを得て、認証情報を用いてグループ管理サーバ55に対してグループへの加入を申請する。グループ管理サーバ55は、認証情報を自己の暗号鍵αで復号して認証を検査し、また、会話鍵aを得る。そして、グループ管理サーバ55は、会話鍵aで暗号化した共有暗号鍵g1をプロセスAに配布する。プロセスAは、暗号化されている共有暗号鍵g1を会話鍵aで復号し、その共有暗号鍵(グループ鍵)g1を用いて同報暗号通信を行う。
The secret key A is a secret key (common key) held by the computer 52-1 and the
アドホックネットワークに接続される情報処理装置(計算機)においては、グループを形成する情報処理装置は、それぞれが非同期にネットワークに接続されたり、ネットワークとの接続を断としたりする。このような場合にも、グループを形成する情報処理装置がそれぞれグループ鍵を共有できるようにすることが好ましい。また、特許文献1に記載されたシステムでは、認証サーバおよびグループ管理サーバがネットワークに接続されていないときには、各計算機は共有暗号鍵を得ることはできない。各サーバやグループを形成する全ての情報処理装置がネットワークに接続された状態でなくても、グループを形成する各情報処理装置が共有暗号鍵を共有できることが好ましい。
In an information processing apparatus (computer) connected to an ad hoc network, the information processing apparatuses forming a group are each connected to the network asynchronously or disconnected from the network. Even in such a case, it is preferable that the information processing apparatuses forming the group can share the group key. In the system described in
また、特許文献1に記載されたシステムでは、複数の計算機から形成されるグループをグループ管理サーバのみが管理する。そのため、グループを形成する計算機の数が増加すると、グループ管理サーバの負荷が増加してしまうという問題がある。
In the system described in
また、特許文献1に記載されたシステムでは、各計算機が認証サーバ、グループ管理サーバと直接通信を行って、各計算機がいずれもグループ管理サーバからグループ鍵を得る構成になっている。ところで、センサネットワークでは、多数の末端のセンサノードとサーバとが通信を行う場合、末端のセンサノードとサーバとの間の通信を中継するセンサノードが設けられることがある。このようなセンサネットワークシステムに、特許文献1に記載されたシステムを適用すると、各末端のセンサノード(図12に示す計算機に相当する。)それぞれが、グループ管理サーバからグループ鍵を得る際に上記の通信が発生するため、中継を行うセンサノードの処理が増大してしまうという問題が生じる。
In the system described in
そこで、本発明は、アドホックネットワークに接続される情報処理装置であって、グループを形成する情報処理装置それぞれが非同期にネットワークに接続される場合であっても、情報処理装置がネットワークに接続された時点で各情報処理装置がグループ鍵を共有できるようにすることを目的とする。なお、複数の情報処理装置それぞれが共通の情報を保持することも、「共有」に該当するものとする。 Therefore, the present invention is an information processing apparatus connected to an ad hoc network, and the information processing apparatus is connected to the network even when the information processing apparatuses forming the group are asynchronously connected to the network. An object is to enable each information processing apparatus to share a group key at the time. Note that holding information common to a plurality of information processing apparatuses also corresponds to “sharing”.
また、本発明は、グループを形成する情報処理装置の数を増加可能なスケーラブルなシステムであっても、情報処理装置の増加によるグループ管理サーバの負荷の増加を抑えられるようにすることを目的とする。 Another object of the present invention is to suppress an increase in the load on the group management server due to an increase in the number of information processing devices, even in a scalable system capable of increasing the number of information processing devices forming a group. To do.
また、本発明は、グループを形成する情報処理装置の中に、他の情報処理装置とサーバとの通信を中継する情報処理装置が存在する場合であっても、その情報処理装置の処理量の増加を抑えることができるようにすることを目的とする。 In addition, the present invention can reduce the amount of processing of an information processing device even when the information processing device forming a group includes an information processing device that relays communication between another information processing device and a server. The purpose is to be able to suppress the increase.
本発明による暗号通信システムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムであって、グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、各情報処理装置は、鍵情報送信手段によって送信された鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、他の情報処理装置と共有した鍵情報に自装置の識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含むことを特徴とする。 A cryptographic communication system according to the present invention is a cryptographic communication system that includes a plurality of information processing apparatuses, at least a part or all of which forms a group, and a group used when information processing apparatuses forming a group perform cryptographic communication. Key information generating means for generating key information including group key encrypted data obtained by encrypting a key and identification information of each information processing device forming the group, and connecting the key information to the communication network via the communication network Key information transmitting means for transmitting to only one information processing apparatus , each information processing apparatus connecting the key information to the communication network when receiving the key information transmitted by the key information transmitting means Identification information of the own device is included in the key information sharing means shared with each information processing device and the key information shared with other information processing devices. Occasionally, characterized in that it comprises a decoding means for decoding a group key from the group key encrypted data contained in the key information.
そのような構成によれば、各情報処理装置が、鍵情報送信手段によって送信された鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、他の情報処理装置と共有した鍵情報に自装置の識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含むので、アドホックに接続される情報処理装置も鍵情報を共有し、グループ鍵を復号することができる。また、鍵情報を、1台の情報処理装置に送信すればよいので、鍵情報送信手段の負荷の増加を抑えることができる。 According to such a configuration, when each information processing apparatus receives the key information transmitted by the key information transmission unit, the key information is shared with each information processing apparatus connected to the communication network. Key information sharing means, and decryption means for decrypting the group key from the group key encrypted data included in the key information when the identification information of the own apparatus is included in the key information shared with the other information processing apparatus. Therefore, the information processing apparatus connected to the ad hoc can also share the key information and decrypt the group key. Moreover, since key information should just be transmitted to one information processing apparatus, the increase in the load of a key information transmission means can be suppressed.
グループを形成する各情報処理装置の公開鍵を記憶する公開鍵記憶手段を備え、鍵情報生成手段が、グループを形成する各情報処理装置それぞれの公開鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループを形成する情報処理装置毎の識別情報との組み合わせを含む鍵情報を生成し、各情報処理装置が、自装置の秘密鍵を記憶する秘密鍵記憶手段を備え、各情報処理装置の復号手段が、自装置の秘密鍵を用いて、自装置の識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 Group key encryption data comprising public key storage means for storing the public key of each information processing apparatus forming a group, wherein the key information generation means encrypts the group key with the public key of each information processing apparatus forming the group Secret key storage means for generating key information including a combination of group key encryption data and identification information for each information processing device forming a group, and each information processing device stores its own secret key And the decryption means of each information processing device may decrypt the group key from the group key encryption data combined with the identification information of the own device using the secret key of the own device.
グループを形成する各情報処理装置の公開鍵を記憶する公開鍵記憶手段を備え、鍵情報生成手段が、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループを形成する各情報処理装置それぞれの公開鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループを形成する各情報処理装置毎の識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、各情報処理装置が、自装置の秘密鍵を記憶する秘密鍵記憶手段を備え、各情報処理装置の復号手段が、自装置の秘密鍵を用いて、自装置の識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 A public key storage unit that stores a public key of each information processing apparatus that forms a group is provided, and a key information generation unit generates group key encrypted data by encrypting the group key with a key encryption key to form a group Generates key encryption key encryption data by encrypting the key encryption key with the public key of each information processing device, and generates group key encryption data, identification information and key encryption key for each information processing device forming the group Key information including a combination of encrypted data is generated, and each information processing device includes a secret key storage unit that stores a secret key of the own device, and a decryption unit of each information processing device uses the secret key of the own device. The key encryption key may be decrypted from the key encryption key encryption data combined with the identification information of the own device, and the group key may be decrypted from the group key encryption data using the key encryption key.
グループを形成する各情報処理装置の共通鍵を記憶する共通鍵記憶手段を備え、鍵情報生成手段が、グループを形成する各情報処理装置それぞれの共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループを形成する情報処理装置毎の識別情報との組み合わせを含む鍵情報を生成し、各情報処理装置が、自装置の共通鍵を記憶する自装置共通鍵記憶手段を備え、各情報処理装置の復号手段が、自装置の共通鍵を用いて、自装置の識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 Group key encryption data comprising common key storage means for storing a common key of each information processing apparatus forming a group, wherein the key information generating means encrypts the group key with the common key of each information processing apparatus forming the group And generating key information including a combination of the group key encryption data and identification information for each information processing device forming the group, and each information processing device stores its own device common key. The storage unit may be configured such that the decryption unit of each information processing device decrypts the group key from the group key encryption data combined with the identification information of the own device using the common key of the own device.
グループを形成する各情報処理装置の共通鍵を記憶する共通鍵記憶手段を備え、鍵情報生成手段が、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループを形成する各情報処理装置それぞれの共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループを形成する各情報処理装置毎の識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、各情報処理装置が、自装置の共通鍵を記憶する自装置共通鍵記憶手段を備え、各情報処理装置の復号手段が、自装置の共通鍵を用いて、自装置の識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 A common key storage unit that stores a common key of each information processing apparatus forming the group is provided, and the key information generation unit generates the group key encrypted data by encrypting the group key with the key encryption key, and forms the group Generate key encryption key encryption data by encrypting the key encryption key with the common key of each information processing device, group key encryption data, identification information and key encryption key for each information processing device forming a group Key information including a combination of encrypted data is generated, and each information processing device includes own device common key storage means for storing the common key of the own device. Even if the key encryption key is decrypted from the key encryption key encryption data combined with the identification information of the own device and the group key is decrypted from the group key encryption data using the key encryption key. Good.
そのような構成によれば、共通鍵を用いるので、鍵情報生成手段や情報処理装置の処理能力が高くなくてもよい。 According to such a configuration, since the common key is used, the processing capability of the key information generation unit and the information processing apparatus may not be high.
また、本発明による暗号通信システムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムであって、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、各情報処理装置が、鍵情報送信手段によって送信された鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含むことを特徴とする。 Also, the cryptographic communication system according to the present invention is a cryptographic communication system including a plurality of information processing devices, at least a part or all of which forms a group, and each information processing device forming a group has a common key and each information Common key storage means for storing tree structure data indicating the hierarchy of a common key of a processing device and having node identification information for identifying each node, and common to information processing devices not belonging to a group Generates group key encryption data that encrypts the group key with the common key of the node closest to the root, excluding the key, and excludes the group key encryption data and the common key of the information processing device that does not belong to the group Key information generating means for generating key information including a combination with the node identification information of the node closest to the root, and the key information is connected to the communication network via the communication network. And a key information transmission means for transmitting only on a single information processing apparatus that, the information processing apparatus, when receiving the key information transmitted by the key information transmission means, connected to key information to the communication network Key information sharing means shared with each information processing device and key information shared with other information processing devices include node identification information corresponding to the common key of the own device. And decryption means for decrypting the group key from the included group key encryption data.
各情報処理装置が、自装置の共通鍵を記憶する自装置共通鍵記憶手段を含み、各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、接点識別情報に対応する自装置の共通鍵を用いて、接点識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 Each information processing device includes own device common key storage means for storing the own device common key, and each information processing device decryption means responds to the key information shared with other information processing devices according to the own device common key. When the node identification information is included, the group key may be decrypted from the group key encryption data combined with the contact identification information using the common key of the own device corresponding to the contact identification information. .
本発明による暗号通信システムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムであって、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、各情報処理装置が、鍵情報送信手段によって送信された鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含むことを特徴とする。 The cryptographic communication system according to the present invention is a cryptographic communication system including a plurality of information processing devices, at least part or all of which forms a group, the common key of each information processing device forming a group, and each information processing device A common key storage means for storing tree structure data indicating the hierarchy of the common key and the tree structure data in which node identification information for identifying each node is defined, and the group key is encrypted with a key encryption key. Generate group key encryption data, generate key encryption key encryption data by encrypting the key encryption key with the common key of the node closest to the root excluding the common key of the information processing device not belonging to the group, Generates key information including the group key encryption data and the combination of the node identification information of the node closest to the root and the key encryption key encryption data except for the common key of the information processing device not belonging to the group A key information generating means, the key information, via the communication network, and a key information transmission means for transmitting only on a single information processing apparatus connected to a communication network, the information processing apparatus, the key information transmission When the key information transmitted by the means is received, the key information sharing means for sharing the key information with each information processing device connected to the communication network, and the key information shared with other information processing devices And decryption means for decrypting the group key from the group key encryption data included in the key information when node identification information corresponding to the common key of the own device is included.
そのような構成によれば、各情報処理装置が、鍵情報送信手段によって送信された鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含むので、アドホックに接続される情報処理装置も鍵情報を共有し、グループ鍵を復号することができる。また、鍵情報を、1台の情報処理装置に送信すればよいので、鍵情報送信手段の負荷の増加を抑えることができる。 According to such a configuration, when each information processing apparatus receives the key information transmitted by the key information transmission unit, the key information is shared with each information processing apparatus connected to the communication network. When the key information shared with the key information sharing means and the other information processing device includes node identification information corresponding to the common key of the own device, the group key is determined from the group key encryption data included in the key information. Therefore, the information processing apparatus connected to the ad hoc can also share the key information and decrypt the group key. Moreover, since key information should just be transmitted to one information processing apparatus, the increase in the load of a key information transmission means can be suppressed.
各情報処理装置は、自装置の共通鍵を記憶する自装置共通鍵記憶手段を含み、各情報処理装置の復号手段は、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、接点識別情報に対応する自装置の共通鍵を用いて、接点識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する構成であってもよい。
また、鍵情報生成手段が、グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、無効化される情報処理装置の共通鍵を示す節点を、新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、その鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを鍵情報に含め、各情報処理装置が、自装置の共通鍵を記憶する自装置共通鍵記憶手段を含み、各情報処理装置の復号手段が、鍵情報に含まれる暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを参照し、自装置の自装置共通鍵記憶手段が記憶していた共通鍵を示す節点が置き換えられた場合に、暗号化して得られたデータを、その暗号化に用いた共通鍵で復号し、復号した共通鍵を自装置共通鍵記憶手段に記憶させる構成であってもよい。
Each information processing device includes its own device common key storage means for storing its own common key, and the decryption means of each information processing device responds to the key information shared with other information processing devices according to its own common key. When the node identification information is included, the key encryption key is decrypted from the key encryption key encryption data combined with the contact identification information using the common key of the device corresponding to the contact identification information, and the key The configuration may be such that the group key is decrypted from the group key encryption data using the encryption key.
Further, when the key information generation unit receives information indicating an information processing device to be invalidated in the group and information indicating an information processing device newly added in place of the information processing device to be invalidated. The key information is generated again after replacing the node indicating the common key of the information processing device to be invalidated with the node indicating the common key of the information processing device to be newly added among the nodes of the tree structure data. When the key information is generated, the common key indicated by the replaced node is newly held by the information processing device that is already held without being invalidated or the information processing device that remains without being invalidated. A combination of the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption Include each key in the key information The device includes own device common key storage means for storing the common key of the own device, and the decryption means of each information processing device includes a node identification number indicating the encrypted common key included in the key information, and encryption. When the node indicating the common key stored in its own device common key storage means is replaced with reference to the combination of the node identification information indicating the common key used and the data obtained by encryption The data obtained by the encryption may be decrypted with the common key used for the encryption, and the decrypted common key may be stored in the own device common key storage means.
鍵情報生成手段が、グループ鍵を更新する毎に、グループ鍵を暗号化したグループ鍵暗号データを鍵情報に追加し、鍵情報に含まれるグループ鍵暗号データに応じたバージョン情報を割り当て、各情報処理装置が、他の情報処理装置への通信内容をグループ鍵で暗号化し、暗号化したデータにグループ鍵に対応するバージョン情報と、鍵情報にアクセスするためのアクセス情報とを付加した通信データを生成し、通信データを他の情報処理装置に送信する通信データ送信手段を含む構成であってもよい。 Each time the key information generating means updates the group key, the group key encrypted data obtained by encrypting the group key is added to the key information, and the version information corresponding to the group key encrypted data included in the key information is assigned. The processing device encrypts the communication content to other information processing devices with the group key, and adds the communication data in which the version information corresponding to the group key and the access information for accessing the key information are added to the encrypted data. A configuration including communication data transmission means for generating and transmitting communication data to another information processing apparatus may be employed.
各情報処理装置が、他の情報処理装置から通信データを受信したときに、通信データに付加されているバージョン情報に対応するグループ鍵を保持しているか否かを判定する判定手段を備え、鍵情報共有手段が、通信データに付加されているバージョン情報に対応するグループ鍵を保持していないと判定したときに、通信データに付加されているアクセス情報によって鍵情報にアクセスし、復号手段が、鍵情報内でバージョン情報が割り当てられたグループ鍵暗号データからグループ鍵を復号する構成であってもよい。 Each information processing apparatus includes a determination unit that determines whether or not the group key corresponding to the version information added to the communication data is held when the communication data is received from another information processing apparatus. When the information sharing means determines that the group key corresponding to the version information added to the communication data is not held, the information sharing means accesses the key information by the access information added to the communication data, and the decrypting means The group key may be decrypted from the group key encryption data to which version information is assigned in the key information.
そのような構成によれば、鍵情報共有手段が、通信データに付加されているバージョン情報に対応するグループ鍵を保持していないと判定したときに、通信データに付加されているアクセス情報によって鍵情報にアクセスするので、鍵情報送信手段が通信ネットワークに接続されていないときであっても、情報処理装置は鍵情報を共有することができる。 According to such a configuration, when the key information sharing unit determines that the group key corresponding to the version information added to the communication data is not held, the key is shared by the access information added to the communication data. Since the information is accessed, the information processing apparatuses can share the key information even when the key information transmitting means is not connected to the communication network.
鍵情報送信手段を含むサーバを備え、一部の情報処理装置が、他の情報処理装置とサーバとの間の通信の中継を行い、その一部のサーバが、鍵情報を記憶し、他の情報処理装置は、通信ネットワークに接続されていない状態から通信ネットワークに接続された状態になったときに、その一部の情報処理装置から鍵情報を受信する構成であってもよい。 A server including key information transmission means, and some information processing devices relay communication between the other information processing devices and the server, and some servers store the key information, The information processing device may be configured to receive key information from a part of the information processing devices when the information processing device is connected to the communication network from the state not connected to the communication network.
そのような構成によれば、通信ネットワークに情報処理装置が接続されたとしても、通信の中継を行う一部の情報処理装置は、その情報処理装置とサーバとの通信の中継を行う必要がない。従って、通信の中継を行う一部の情報処理装置の負荷の増加を抑えることができる。 According to such a configuration, even when the information processing apparatus is connected to the communication network, some information processing apparatuses that perform communication relay do not need to relay communication between the information processing apparatus and the server. . Accordingly, it is possible to suppress an increase in the load on some information processing apparatuses that perform communication relay.
本発明による鍵共有方法は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵共有方法であって、鍵情報生成手段が、グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成し、鍵情報送信手段が、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信し、一の情報処理装置の鍵情報共有手段が、鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有し、各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号することを特徴とする。 A key sharing method according to the present invention is a key sharing method applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group, wherein the key information generating means forms a group. Generating key information including group key encryption data obtained by encrypting a group key used when information processing apparatuses perform encrypted communication, and identification information of each information processing apparatus forming a group, and a key information transmission unit, When the key information is transmitted to only one information processing apparatus connected to the communication network via the communication network, and the key information sharing means of the one information processing apparatus receives the key information, the key information Is shared with each information processing device connected to the communication network, and the decryption means of each information processing device includes the identification information of its own device in the key information shared with other information processing devices. When being characterized by decoding the group key from a group key encryption data contained in the key information.
また、本発明による鍵共有方法は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵共有方法であって、共通鍵記憶手段が、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶し、鍵情報生成手段が、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成し、鍵情報送信手段が、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信し、一の情報処理装置の鍵情報共有手段が、鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有し、各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号することを特徴とする。 The key sharing method according to the present invention is a key sharing method applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group. A common key of each information processing device to be formed, and tree structure data indicating a hierarchy of the common key of each information processing device and having node identification information for identifying each node; The information generation means generates group key encryption data obtained by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing apparatus not belonging to the group, and the group key encryption data and the group Key information including a combination with the node identification information of the node closest to the root, excluding the common key of the information processing device that does not belong to the key, and the key information transmission means transmits the key information via the communication network. Te, and sent only to a single information processing apparatus connected to a communication network, the key information sharing unit of one information processing apparatus, when receiving the key information, and is connected to the key information to the communication network When the node identification information corresponding to the common key of its own device is included in the key information shared with each information processing device and the decryption means of each information processing device is shared with the other information processing device, The group key is decrypted from the group key encryption data included in the key information.
また、本発明による鍵共有方法は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵共有方法であって、共通鍵記憶手段が、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶し、鍵情報生成手段が、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、鍵情報送信手段が、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信し、一の情報処理装置の鍵情報共有手段が、鍵情報を受信したときに、鍵情報を通信ネットワークに接続されている各情報処理装置との間で共有し、各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号することを特徴とする。
また、各情報処理装置の自装置共通鍵記憶手段が、自装置の共通鍵を記憶し、鍵情報生成手段が、グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、無効化される情報処理装置の共通鍵を示す節点を、新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、その鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを鍵情報に含め、各情報処理装置の復号手段が、鍵情報に含まれる暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを参照し、自装置の自装置共通鍵記憶手段が記憶していた共通鍵を示す節点が置き換えられた場合に、暗号化して得られたデータを、その暗号化に用いた共通鍵で復号し、復号した共通鍵を自装置共通鍵記憶手段に記憶させる方法であってもよい。
The key sharing method according to the present invention is a key sharing method applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group. A common key of each information processing device to be formed, and tree structure data indicating a hierarchy of the common key of each information processing device and having node identification information for identifying each node; The information generation means encrypts the group key with the key encryption key to generate the group key encryption data, and the key encryption is performed with the common key of the node closest to the root among the information processing devices that do not belong to the group. Key encryption key encryption data that encrypts the encryption key is generated, and the node identification information and key encryption of the node closest to the root, excluding the group key encryption data and the common key of the information processing device that does not belong to the group Key encryption It generates key information containing a combination of chromatography data, key information transmission means, the key information, via the communication network, and transmits only a single information processing apparatus connected to a communication network, one information When the key information sharing unit of the processing device receives the key information, the key information is shared with each information processing device connected to the communication network, and the decryption unit of each information processing device receives other information. When the key information shared with the processing device includes node identification information corresponding to the common key of the own device, the group key is decrypted from the group key encryption data included in the key information.
Further, the own device common key storage unit of each information processing device stores the common key of the own device, and the key information generation unit displays information indicating the information processing device to be invalidated in the group, and the invalidation. When information indicating an information processing device to be newly added in place of the information processing device is input, a node indicating a common key of the information processing device to be invalidated is newly added among the nodes of the tree structure data. Information that remains without being revoked when the key information is generated again and the key information is generated again after replacing the node with the common key of the information processing device. Encrypt with the common key already held by the processing device or the common key that the information processing device that remains uninvalidated will newly hold, the node identification number indicating the encrypted common key, and the encryption Node identification information indicating the common key used The combination with the data obtained by encryption is included in the key information, and the decryption means of each information processing device uses the node identification number indicating the encrypted common key included in the key information and the common key used for encryption. When the node indicating the common key stored in its own device common key storage means is replaced with reference to the combination of the node identification information indicating and the data obtained by encryption, encryption is performed. The obtained data may be decrypted with the common key used for the encryption, and the decrypted common key may be stored in the device common key storage means.
本発明による鍵提供装置は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵提供装置であって、グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えたことを特徴とする。 A key providing apparatus according to the present invention is a key providing apparatus that is applied to an encryption communication system that includes a plurality of information processing apparatuses, at least a part or all of which forms a group. Key information generating means for generating key information including group key encrypted data obtained by encrypting a group key used for communication, and identification information of each information processing device forming the group, key information is transmitted to the communication network And key information transmitting means for transmitting only to one information processing apparatus connected to the communication network.
また、本発明による鍵提供装置は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵提供装置であって、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えたことを特徴とする。 The key providing apparatus according to the present invention is a key providing apparatus applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group, and each information processing apparatus forming a group A common key storage means for storing the common key of each of the information processing devices and the tree structure data indicating the hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node; Generates group key encryption data by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing device that does not belong, and the group key encryption data and the information processing device that does not belong to the group Key information generating means for generating key information including a combination of node identification information of nodes closest to the root excluding the common key, and the key information is transmitted to the communication network via the communication network. Characterized in that a key information transmitting means for transmitting only the connected single information processing apparatus to the click.
また、本発明による鍵提供装置は、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用される鍵提供装置であって、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成手段と、鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えたことを特徴とする。
また、鍵情報生成手段が、グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、無効化される情報処理装置の共通鍵を示す節点を、新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、その鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを鍵情報に含める構成であってもよい。
The key providing apparatus according to the present invention is a key providing apparatus applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group, and each information processing apparatus forming a group A common key storage means for storing the common key of each of the information processing devices and the tree structure data indicating the hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node; and a group key The key encryption key is generated with the key encryption key to generate group key encryption data, and the key encryption key is encrypted with the common key of the node closest to the root, excluding the common key of the information processing device that does not belong to the group The encryption key encryption data is generated, and the combination of the group key encryption data, the node identification information of the node closest to the root, and the key encryption key encryption data, excluding the common key of the information processing device that does not belong to the group A key information generating means for generating key information comprising a key information, via the communication network, further comprising a key information transmitting means for transmitting only on a single information processing apparatus connected to a communication network Features.
Further, when the key information generation unit receives information indicating an information processing device to be invalidated in the group and information indicating an information processing device newly added in place of the information processing device to be invalidated. The key information is generated again after replacing the node indicating the common key of the information processing device to be invalidated with the node indicating the common key of the information processing device to be newly added among the nodes of the tree structure data. When the key information is generated, the common key indicated by the replaced node is newly held by the information processing device that is already held without being invalidated or the information processing device that remains without being invalidated. A combination of the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption It is a configuration included in the key information. It may be.
また、本発明による鍵提供プログラムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用されるコンピュータに搭載される鍵提供プログラムであって、コンピュータに、グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成処理、および鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信処理を実行させることを特徴とする。 A key providing program according to the present invention is a key providing program installed in a computer applied to an encryption communication system provided with a plurality of information processing devices, at least a part or all of which forms a group. Key information generation that generates key information including group key encryption data obtained by encrypting a group key used when information processing apparatuses forming a group perform encrypted communication, and identification information of each information processing apparatus forming the group It is characterized in that key information transmission processing for transmitting processing and key information to only one information processing apparatus connected to the communication network is executed via the communication network.
また、本発明による鍵提供プログラムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用され、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段を備えたコンピュータに搭載される鍵提供プログラムであって、コンピュータに、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成処理、および鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信を実行させることを特徴とする。 A key providing program according to the present invention is applied to an encryption communication system including a plurality of information processing apparatuses, at least part or all of which forms a group, and a common key of each information processing apparatus forming a group and each information A key providing program mounted on a computer having common key storage means for storing tree structure data indicating a hierarchy of a common key of the processing device and having tree identification data in which node identification information for identifying each node is defined And generating a group key encrypted data obtained by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing apparatus not belonging to the group, Key information generation that generates key information including a combination of the node identification information of the node closest to the root among information processing devices that do not belong to the group Management, and the key information, via the communication network, characterized in that to execute the key information transmission to be transmitted only on a single information processing apparatus connected to a communication network.
また、本発明による鍵提供プログラムは、少なくとも一部または全部がグループを形成する複数の情報処理装置を備えた暗号通信システムに適用され、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段を備えたコンピュータに搭載される鍵提供プログラムであって、コンピュータに、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成処理、および鍵情報を、通信ネットワークを介して、通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信処理を実行させることを特徴とする。
また、コンピュータに、グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、無効化される情報処理装置の共通鍵を示す節点を、新たに追加される情報処理装置の共通鍵を示す節点に置き換えさせた上で、再度、鍵情報生成処理を実行させ、鍵情報生成処理で、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化させ、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを鍵情報に含めさせるプログラムであってもよい。
A key providing program according to the present invention is applied to an encryption communication system including a plurality of information processing apparatuses, at least part or all of which forms a group, and a common key of each information processing apparatus forming a group and each information A key providing program mounted on a computer having common key storage means for storing tree structure data indicating a hierarchy of a common key of the processing device and having tree identification data in which node identification information for identifying each node is defined The group key encryption data is generated by encrypting the group key with the key encryption key in the computer, and the common key of the node closest to the root among the information processing devices not belonging to the group is excluded. Generates key encryption key encryption data that encrypts the key encryption key, and is the closest to the root of the group key encryption data and the common key of the information processing device that does not belong to the group The key information generation process of generating key information comprising a combination of the node identification information and key encryption key encrypted data points, and the key information, via the communication network, a single information processing that is connected to the communication network A key information transmission process for transmitting only to the apparatus is executed.
Further, when information indicating an information processing device to be invalidated in the group and information indicating an information processing device newly added in place of the information processing device to be invalidated are input to the computer, a tree structure Replace the node indicating the common key of the information processing device to be invalidated with the node indicating the common key of the information processing device to be newly added, and execute the key information generation process again. In the key information generation process, the common key indicated by the replaced node is newly held by the common key already held by the information processing apparatus that remains without being invalidated or by the information processing apparatus that remains without being invalidated The key information is a combination of the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption. To include It may be a program.
本発明によれば、アドホックに接続される情報処理装置も鍵情報を共有し、グループ鍵を復号することができる。また、鍵情報を、1台の情報処理装置に送信すればよいので、鍵情報送信手段の負荷の増加を抑えることができる。また、鍵情報送信手段と情報処理装置との通信を中継する装置を設けたとしても、その装置の負荷の増加を抑えることができる。 According to the present invention, an information processing apparatus connected to an ad hoc can also share key information and decrypt a group key. Moreover, since key information should just be transmitted to one information processing apparatus, the increase in the load of a key information transmission means can be suppressed. Even if a device that relays communication between the key information transmission unit and the information processing device is provided, an increase in the load on the device can be suppressed.
以下、本発明の実施の形態を図面を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
実施の形態1.
図1は、本発明による暗号通信システムの第1の実施の形態を示すブロック図である。第1の実施の形態の暗号通信システムは、認証サーバ4と、グループ管理サーバ(鍵提供装置)5と、プログラム制御により動作する計算機(情報処理装置)2−1〜2−4とを備える。認証サーバ4、グループ管理サーバ5、および各計算機2−1〜2−4は、通信ネットワーク(以下、単にネットワークと記す。)1に接続される。各計算機2−1〜2−4は、アドホックにネットワーク1に接続される。すなわち、各計算機は、他の計算機と通信を行うときに一時的にネットワークに接続され、他の計算機との通信が終了した後にはネットワーク1との接続を断とする。図1では、4台の計算機2−1〜2−4を例示したが、計算機の台数は特に限定されない。
FIG. 1 is a block diagram showing a first embodiment of a cryptographic communication system according to the present invention. The cryptographic communication system according to the first embodiment includes an
ネットワーク1に接続される計算機2−1〜2−4のうちの少なくとも一部あるいは全部は、同一のグループを形成する。グループを形成しない(すなわち、グループに属さない)計算機がネットワーク1に接続されていてもよい。ただし、グループに属さない計算機であっても、後述する鍵情報共有部と、鍵情報解析部とを備え、他の計算機との間で鍵情報を共有する。
At least some or all of the computers 2-1 to 2-4 connected to the
なお、複数の情報処理装置(計算機)それぞれが共通の情報を保持することも、「共有」に該当するものとする。従って、計算機同士が鍵情報を送受信して、各計算機それぞれが鍵情報を保持することも鍵情報の共有に該当する。 Note that holding information common to a plurality of information processing apparatuses (computers) also corresponds to “sharing”. Therefore, sharing key information also means that computers send and receive key information and each computer holds key information.
各計算機2−1〜2−4は、それぞれの計算機自身のみが保持するように定められた秘密鍵を保持する。計算機2−1は、秘密鍵Apを保持する。同様に、計算機2−2〜2−4は、それぞれ、秘密鍵Bp、秘密鍵Cp、秘密鍵Dpを保持する。また、同様に、グループ管理サーバ5は、グループ管理サーバ5のみが保持するように定められた秘密鍵αpを保持する。これらの各秘密鍵Ap,Bp,Cp,Dp,αpは、公開鍵と対になって、暗号通信を行うときに用いられる。各計算機2−1〜2−4およびグループ管理サーバ5が保持する各秘密鍵Ap,Bp,Cp,Dp,αpに対応する公開鍵をそれぞれAu,Bu,Cu,Du,αuとする。
Each of the computers 2-1 to 2-4 holds a secret key determined so as to be held only by the respective computers themselves. The computer 2-1 holds the secret key Ap. Similarly, the computers 2-2 to 2-4 hold a secret key Bp, a secret key Cp, and a secret key Dp, respectively. Similarly, the
各計算機2−1〜2−4は、各計算機の秘密鍵の他に、グループ管理サーバ5が保持する秘密鍵αpに対応する公開鍵αuも保持する。
Each of the computers 2-1 to 2-4 also holds a public key αu corresponding to the secret key αp held by the
認証サーバ4は、各計算機2−1〜2−4やグループ管理サーバ5を認証するためのCA(Certificate Authority )であり、各計算機2−1〜2−4およびグループ管理サーバ5の公開鍵Au,Bu,Cu,Du,αuを保持する。これらの公開鍵は、公開鍵証明書という形態でもよい。
The
グループ管理サーバ5は、秘密鍵αpの他に、グループを形成する各計算機(すなわち、グループに属する各計算機)同士で送受信する通信データの暗号化および復号に用いる共有暗号鍵(グループ鍵)を保持する。図1では、共有暗号鍵g1を示しているが、グループ管理サーバ5は、共有暗号鍵を更新して提供してもよい。共有暗号鍵の更新タイミングは特に限定されないが、例えば、グループに変更があった場合、すなわちグループに計算機が追加されて登録された場合やグループに属する計算機として登録されていた計算機がグループから除外された場合等に共有暗号鍵を更新すればよい。ここで、グループに属する計算機の登録とは、後述のステップS1の処理で示すように、グループに属する各計算機を、他の計算機と区別できる状態でグループ管理サーバが記憶することを意味する。以下の説明では、グループ管理サーバ5が計算機に共有暗号鍵g1を提供する場合を例にして説明する。また、グループ管理サーバ5は、セキュリティ性能向上の観点から、共有暗号鍵を暗号化するためのKEK(Key Encryption Key:鍵暗号化鍵)を保持して、KEKを共有暗号鍵g1の共有に利用してもよい。ただし、図1ではKEKを省略している。さらに、グループ管理サーバ5は、各計算機の公開鍵Au,Bu,Cu,Duを取得して(例えば、ネットワーク1を介して認証サーバ4から受信して)、保持する。なお、各計算機2−1〜2−4がそれぞれ公開鍵を保持し、グループ管理サーバ5が各計算機2−1〜2−4からそれぞれ公開鍵を受信して保持してもよい。
In addition to the secret key αp, the
また、グループ管理サーバ5は、各計算機を識別可能な識別情報を、各計算機毎に記憶する。以下、各計算機を識別可能な識別情報をピアIDと記す。例えば、各計算機の公開鍵証明書のIDをピアIDとしてもよい。また、例えば、各計算機の公開鍵と同一のデータをピアIDとしてもよい。また、各計算機に対して個別にネットワーク内におけるIDを割り当てている場合には、そのIDをピアIDとしてもよい。ピアIDは、各計算機を識別することができる情報であれば、特に限定されない。
The
図2は、グループ管理サーバの構成例を示すブロック図である。グループ管理サーバ5は、制御部31と、記憶装置32と、ネットワークインタフェース部33と、入力部34とを備える。制御部31は、記憶装置32が記憶する鍵提供プログラムに従って動作する。記憶装置32は、鍵提供プログラムの他に、秘密鍵αp、共有暗号鍵(グループ鍵)g1、各計算機2−1〜2−4のピアIDを記憶している。また、図示を省略しているが、記憶装置32は、認証サーバ4(各計算機でもよい。)から受信した各計算機の公開鍵Au,Bu,Cu,Duを、ピアIDと対応付けて記憶する。ネットワークインタフェース部33は、ネットワーク1とのインタフェースである。入力部34は、例えば、キーボードやマウス等の入力デバイスであるが、情報を入力可能な装置であれば、入力部34の態様は限定されない。入力部34には、グループを形成する各計算機の情報が入力される。
FIG. 2 is a block diagram illustrating a configuration example of the group management server. The
また、後述の鍵情報を生成する態様として、グループに属する各計算機の鍵(公開鍵でも共通鍵でもよいが、本実施の形態においては公開鍵)で共有暗号鍵(グループ鍵)を暗号化する態様や、KEKで共有暗号鍵(グループ鍵)を暗号化する態様がある。KEKで共有暗号鍵を暗号化する場合には、記憶装置32は、共有暗号鍵を暗号化するためのKEKも記憶する。
Further, as a mode of generating key information described later, a shared encryption key (group key) is encrypted with a key of each computer belonging to the group (which may be a public key or a common key, but in this embodiment, a public key). There are a mode and a mode in which the shared encryption key (group key) is encrypted by KEK. When the shared encryption key is encrypted with KEK, the
グループ管理サーバ5の制御部31は、各計算機の公開鍵を取得する。また、制御部31は、共有暗号鍵g1をグループに属する各計算機の鍵(公開鍵でも共通鍵でもよいが、本実施の形態においては公開鍵)で暗号化したデータ、もしくは共有暗号鍵g1をKEKで暗号化したデータと、ピアIDとを含む情報(以下、鍵情報と記す。)を生成する。鍵情報については、図5を参照して後述する。グループ管理サーバ5の制御部31は、ネットワーク1に接続しているいずれか1台の計算機に鍵情報を送信すればよい。なお、この鍵情報を受信した計算機は、ネットワーク1に接続されている全計算機(グループに属しているか否かを問わない。)との間で鍵情報を共有する。
The
次に、計算機(情報処理装置)について説明する。ここでは、計算機2−1を例にして説明するが、他の計算機2−2〜2−4についても同様である。計算機2−1は、鍵情報共有部7−1と、鍵情報解析部8−1とを備える。 Next, a computer (information processing apparatus) will be described. Here, the computer 2-1 will be described as an example, but the same applies to the other computers 2-2 to 2-4. The computer 2-1 includes a key information sharing unit 7-1 and a key information analysis unit 8-1.
鍵情報共有部7−1は、グループ管理サーバ5から鍵情報を受信すると、その鍵情報を他の各計算機の鍵情報共有部7−2〜7−4との間で共有する。例えば、鍵情報共有部7−1は、グループ管理サーバ5から受信した鍵情報を、他の各計算機の鍵情報共有部7−2〜7−4に送信してもよい。この場合、鍵情報共有部7−1は、ブロードキャスト送信によって、他の各計算機の鍵情報共有部7−2〜7−4に鍵情報を送信してもよい。あるいは、鍵情報共有部が、グループ管理サーバ5から受信した鍵情報のコピーを作成してコピーを他の1台の計算機に送信し、その後、鍵情報(鍵情報のコピー)を受信した計算機の鍵情報共有部が鍵情報のコピーを作成してそのコピーを他の1台の計算機に送信するという動作を繰り返してもよい(すなわち、各計算機の鍵情報共有部がバケツリレー的に鍵情報を転送して、各計算機が鍵情報を保持してもよい。)また、KaZaA 、Gnutellaなどのピアツーピアのファイル共有システムを利用して、鍵情報を他の各計算機の鍵情報共有部と共有してもよい。また、DHT(Distributed Hash Table)によって鍵情報を他の各計算機の鍵情報共有部と共有してもよい。ここでは、鍵情報共有部7−1を例にして説明したが、他の計算機の鍵情報共有部7−2〜7−4についても同様である。
When the key information sharing unit 7-1 receives the key information from the
鍵情報解析部8−1は、鍵情報に基づいて、自装置(本例では、計算機2−1)がグループに属している計算機であるか否かを判定する。そして、自装置がグループに属している計算機であると判定した場合、鍵情報および自装置が保持している秘密鍵(本例では、秘密鍵Ap)を用いて、共有暗号鍵g1を復号する。この復号処理については後述する。ここでは、鍵情報解析部8−1を例にして説明したが、他の計算機の鍵情報解析部8−2〜8−4についても同様である。 Based on the key information, the key information analysis unit 8-1 determines whether or not the own device (in this example, the computer 2-1) is a computer belonging to a group. If it is determined that the own device is a computer belonging to the group, the shared encryption key g1 is decrypted using the key information and the private key held by the own device (in this example, the private key Ap). . This decoding process will be described later. Here, the key information analysis unit 8-1 has been described as an example, but the same applies to the key information analysis units 8-2 to 8-4 of other computers.
図3は、計算機(情報処理装置)の構成例を示すブロック図である。ここでは、計算機2−1を例にして説明するが、他の計算機についても同様である。計算機2−1は、制御部41と、記憶装置42と、ネットワークインタフェース部43とを備える。制御部41は、記憶装置42が記憶する情報処理プログラムに従って、鍵情報共有部および鍵情報解析部としての動作を行う。すなわち、図1に示した鍵情報共有部および鍵情報解析部は、情報処理プログラムに従って動作する制御部41によって実現される。また、記憶装置42は、情報処理プログラムの他に、自装置の秘密鍵およびグループ管理サーバ5の公開鍵を記憶する。ネットワークインタフェース部43は、ネットワーク1とのインタフェースである。
FIG. 3 is a block diagram illustrating a configuration example of a computer (information processing apparatus). Here, the computer 2-1 will be described as an example, but the same applies to other computers. The computer 2-1 includes a
次に、動作について説明する。
図4は、グループ管理サーバから計算機に共有暗号鍵を提供するときの処理経過の例を示すフローチャートである。まず、グループ管理サーバ5は、グループ管理者からの入力に基づき、グループに属する各計算機を選定する(ステップS1)。換言すれば、グループに属する各計算機を、他の計算機と区別できる状態で記憶する。例えば、ステップS1では、グループ管理者から、入力部34を介して、グループに属する各計算機のピアIDが入力される。そして、グループ管理サーバ5の制御部31は、入力された各ピアIDを記憶装置32に記憶させることにより、グループに属する各計算機を、他の計算機と区別できる状態にすればよい。あるいは、各ピアが自らの公開鍵証明書をグループ管理サーバに送付することによって申請し、その証明書内のピアIDを記憶することによって、他の計算機と区別できる状態にしてもよい。ここでは、ステップS1において、入力部34を介して、グループに属する各計算機のピアIDが入力され、制御部31がそのピアIDを記憶装置32に記憶(登録)させるものとする。以下の説明において、グループに属する各計算機(グループを形成する各計算機)をグループメンバと記すことがある。
Next, the operation will be described.
FIG. 4 is a flowchart showing an example of processing progress when the shared encryption key is provided from the group management server to the computer. First, the
続いて、グループ管理サーバ5の制御部31は、グループメンバの公開鍵を取得する(ステップS2)。例えば、ステップS1で、グループ管理者からの入力に基づき、計算機2−1〜2−4が同一グループのグループメンバであると選定したとする。このとき、グループ管理サーバ5の制御部31は、認証サーバ4に各グループメンバの公開鍵Au,Bu,Cu,Duを要求し、認証サーバ4が予め記憶している公開鍵Au,Bu,Cu,Duを認証サーバ4から受信してもよい。あるいは、個々の計算機2−1〜2−4が予め自装置の公開鍵を記憶装置42(図3参照。)記憶しておき、グループ管理サーバ5の制御部31が各計算機2−1〜2−4に対して公開鍵を要求して、各計算機2−1〜2−4から公開鍵を受信してもよい。グループ管理サーバ5の制御部31は、ステップS2において受信した各公開鍵Au,Bu,Cu,Duを、各計算機のピアIDと対応付けて記憶装置32に記憶させる。
Subsequently, the
また、例えば、ステップS1において、計算機2−2,2−4の2台の計算機をグループメンバとして選定したならば、制御部31は、ステップS2で、その2台の公開鍵をグループ管理サーバ5(あるいは計算機2−2,2−4)から取得すればよい。
For example, if two computers, computers 2-2 and 2-4, are selected as group members in step S1, the
次に、グループ管理サーバ5の制御部31は、グループメンバのピアIDと、共有暗号鍵g1を暗号化したデータとを含む鍵情報を生成する(ステップS3)。既に説明したように、鍵情報を生成する態様として、共有暗号鍵をグループに属する各計算機の鍵で暗号化する態様や、共有暗号鍵をKEKで暗号化する態様がある。ここでは、共有暗号鍵をKEKで暗号化する場合を例にして説明する。図5は、鍵情報の例を示す説明図である。図5は、計算機2−2,2−4の2台の計算機がグループメンバである場合の鍵情報の例を示している。また、ここでは、計算機2−1,2−4のピアIDをそれぞれ“2 ”、“4 ”とする。
Next, the
また、図5は、鍵情報をXML(extensible markup language)で記述した場合の例を示している。図5に示す例では、key タグの間に、計算機に提供(送信)した鍵情報のバージョンを示す各バージョン情報が記述される。個々のバージョン情報は、version タグの間に記述される。図5に示す鍵情報は、最初にグループが形成されたときのバージョン情報のみを示していて、そのバージョン情報に対して“1 ”という情報を付している(図5に示す2行目の記載を参照。)。以降、グループメンバに変更があった場合、すなわちグループに計算機が追加されてその計算機のピアIDが追加登録(追加記憶)された場合や、グループに属する計算機としてピアIDが登録(記憶)されていた計算機がグループから除外されてそのピアIDが削除された場合に、制御部31は、共有暗号鍵を更新し、2番目以降のバージョン情報(<version=2>...</version>、<version=3>...</version>等のversion タグとともに記述される情報)を追記していく。各バージョン情報では、version タグとともに、バージョン情報の順番を示す数値(“1 ”、“2 ”、“3 ”、・・・)が記述される。制御部31は、共有暗号鍵を更新したときには、更新した共有暗号鍵を暗号化したデータの記述を含むバージョン情報を追記する。ここでは、グループメンバ変更時に共有暗号鍵を更新する場合を示したが、既に説明したように、共有暗号鍵の更新タイミングは特に限定されない。
FIG. 5 shows an example in which key information is described in XML (extensible markup language). In the example shown in FIG. 5, each version information indicating the version of the key information provided (transmitted) to the computer is described between the key tags. Individual version information is described between the version tags. The key information shown in FIG. 5 shows only version information when a group is first formed, and information “1” is attached to the version information (the second row shown in FIG. 5). See description.) Thereafter, when the group member is changed, that is, when a computer is added to the group and the peer ID of the computer is additionally registered (added storage), or the peer ID is registered (stored) as a computer belonging to the group. When the computer is excluded from the group and its peer ID is deleted, the
最初にステップS3に移行したときには、制御部31は、図5に示すように、1番目のバージョン情報(<version=1>...</version>)のみを記述する。グループメンバ変更に伴い、再度ステップS1以降の動作を開始し、再度ステップS3に移行したときには、バージョン情報が追記される。
When the process proceeds to step S3 for the first time, the
バージョン情報内において、enc_gkタグとともに記述される情報は、グループ管理サーバ5が計算機に提供する共有暗号鍵をKEKで暗号化したデータである。制御部31は、鍵情報を生成するとき、計算機に提供する共有暗号鍵g1をKEKで暗号化し、その暗号化したデータをバージョン情報内に、enc_gkタグとともに記述する。ただし、通常、共有暗号鍵をKEKで暗号化した結果得られるデータは、文字コードとして表せない。そこで、制御部31は、共有暗号鍵をKEKで暗号化した結果得られるデータを、例えばBASE64などで変換(エンコード)し、その変換後のデータをenc_gkタグとともに記述する。
In the version information, information described together with the enc_gk tag is data obtained by encrypting the shared encryption key provided to the computer by the
バージョン情報内において、kek タグとともに記述される情報は、各グループメンバのピアIDと、KEKを暗号化したデータとの組み合わせである。図5は、計算機2−2,2−4の2台の計算機がグループメンバである場合の鍵情報の例を示しているので、計算機2−2のピアID“2 ”と、KEKを暗号化したデータとの組み合わせが記述され、また、計算機2−4のピアID“4 ”と、KEKを暗号化したデータとの組み合わせが記述されている。また、KEKの暗号化は、ピアIDから特定される公開鍵(より具体的には、ピアIDから特定される計算機の公開鍵)によって行われる。すなわち、図5に例示したピアID“2 ”の右隣の記述は、ピアID“2 ”によって特定される計算機2−2の公開鍵BuでKEKを暗号化したデータを示している。また、図5に例示したピアID“4 ”の右隣の記述は、ピアID“4 ”によって特定される計算機2−4の公開鍵DuでKEKを暗号化したデータを示している。 In the version information, information described together with the kek tag is a combination of each group member's peer ID and data obtained by encrypting KEK. FIG. 5 shows an example of key information when the two computers 2-2 and 2-4 are group members. Therefore, the peer ID “2” of the computer 2-2 and KEK are encrypted. A combination with the data obtained by encrypting KEK and a peer ID “4” of the computer 2-4 is described. Further, encryption of KEK is performed using a public key specified from the peer ID (more specifically, a public key of a computer specified from the peer ID). That is, the description on the right side of the peer ID “2” illustrated in FIG. 5 indicates data obtained by encrypting KEK with the public key Bu of the computer 2-2 specified by the peer ID “2”. The description on the right side of the peer ID “4” illustrated in FIG. 5 indicates data obtained by encrypting KEK with the public key Du of the computer 2-4 specified by the peer ID “4”.
制御部31は、鍵情報を生成するとき、グループメンバのピアIDとしてステップS1で記憶したピアIDから特定される計算機の公開鍵を用いて、KEKを暗号化する。ただし、KEKを暗号化したデータも、通常、文字コードとして表せない。そこで、制御部31は、KEKを公開鍵で暗号化した結果得られるデータを、例えばBASE64などで変換(エンコード)する。そして、その変換後のデータと、公開鍵の特定に用いたピアIDとの組み合わせを、kek タグとともに記述すればよい。制御部31は、グループを形成する各計算機毎に同様の処理を行い、kek タグとともに、ピアIDとKEKの変換後のデータとの組み合わせをそれぞれ記述していけばよい。
When generating the key information, the
signタグの間には、key タグで記述された情報(<key> から</key>までの記述)に対する署名データが記述される。図5に示す例では、1行目から6行目までの記述に対する署名データが記述される。制御部31は、例えば、以下のように署名データを作成すればよい。制御部31は、key タグで記述された情報(<key> から</key>までの記述)に対して、例えば、SHA−1等のハッシュ関数を用いてダイジェスト計算を行い、その結果得られるダイジェスト値(ハッシュ値)を、秘密鍵αpによって暗号化する。この暗号化によって得られたデータを、例えばBASE64などで変換(エンコード)し、その変換結果が署名データとして、signタグの間に記述する。
Between the sign tags, signature data for the information described in the key tag (description from <key> to </ key>) is described. In the example shown in FIG. 5, the signature data for the description from the first line to the sixth line is described. For example, the
ただし、上記の署名データの作成動作は一例であり、制御部31は、他の方法で署名データを作成してもよい。例えば、署名方法として、XML署名の標準的な方法を適用してもよい。また、署名付与の際にXML正規化を行ってもよい。
However, the signature data creation operation described above is merely an example, and the
制御部31は、以上のようにして、鍵情報を作成する(ステップS3)。
The
以上の説明では、共有暗号鍵をKEKで暗号化して鍵情報を作成する場合について説明した。次に、鍵情報作成処理(ステップS3)において、グループに属する各計算機の鍵で共有暗号鍵を暗号化する場合について説明する。この場合、KEKは用いない。また、enk_gkタグおよび共有暗号鍵をKEKで暗号化した情報(図5に示す例では3行目に相当する情報)は、鍵情報に含まれない。また、ピアIDと、そのピアIDによって特定される公開鍵で共有暗号鍵を暗号化したデータとの組み合わせが、kek タグとともに記述される。 In the above description, the case where the shared encryption key is encrypted with KEK to create key information has been described. Next, a case will be described in which the shared encryption key is encrypted with the keys of the computers belonging to the group in the key information creation process (step S3). In this case, KEK is not used. Further, information obtained by encrypting the enk_gk tag and the shared encryption key with KEK (information corresponding to the third line in the example shown in FIG. 5) is not included in the key information. A combination of a peer ID and data obtained by encrypting a shared encryption key with a public key specified by the peer ID is described together with a kek tag.
グループに属する各計算機の鍵で共有暗号鍵を暗号化する場合、制御部31は、グループメンバのピアIDとしてステップS1で記憶したピアIDから特定される計算機の公開鍵を用いて共有暗号鍵を暗号化し、その暗号化したデータと、公開鍵の特定に用いたピアIDとの組み合わせをkek タグとともに記述すればよい。なお、共有暗号鍵を公開鍵で暗号化したデータは、通常、文字コードとして表せない。そこで、制御部31は、共有暗号鍵を公開鍵で暗号化したデータを、例えばBASE64などで変換(エンコード)する。そして、制御部31は、その変換後のデータと、公開鍵の特定に用いたピアIDとの組み合わせをkek タグとともに記述すればよい。制御部31は、グループを形成する各計算機毎に同様の処理を行い、kek タグとともに、ピアIDと共有暗号鍵の変換後のデータとの組合せをそれぞれ記述していけばよい。また、制御部31は、enk_gkタグの情報は鍵情報に記述しない。その他の処理に関しては、共有暗号鍵をKEKで暗号化する場合と同様である。
When the shared encryption key is encrypted with the key of each computer belonging to the group, the
グループ管理サーバ5による鍵情報生成処理(ステップS3)の後、全計算機(ネットワーク1に接続されている全計算機であり、グループメンバであるか否かは問わない。)は、ステップS3で生成された鍵情報を共有する(ステップS4)。ステップS4では、まず、グループ管理サーバ5の制御部31が、ステップS3で生成した鍵情報を、ネットワーク1に接続されている各計算機のうちのいずれか1台に送信する。この計算機は、グループを形成する計算機であっても、他の計算機であってもよい。このとき、グループを特定するようなIDとグループ鍵のバージョン番号を含んだものを鍵情報のファイルindexにして送信することによって、最新の鍵情報を検索できるようにする工夫をしておくことが望ましい。グループ管理サーバ5の制御部31は、各計算機(図1に示す例では計算機2−1〜2−4)に対し、ネットワーク1を介して応答要求を送信し、応答があった計算機を現在ネットワーク1に接続されている計算機と判定すればよい。そして、ネットワーク1に接続されていると判定した計算機のうちのいずれか1台に鍵情報を送信すればよい。なお、ここで述べたネットワーク1に接続されている計算機の判定方法は例示であり、他の方法により、ネットワーク1に接続されている計算機を判定してもよい。グループ管理サーバ5から鍵情報を受信した1台の計算機は、全計算機(ネットワーク1に接続されている全計算機)との間で鍵情報を共有する。
After the key information generation process (step S3) by the
例えば、グループ管理サーバ5から鍵情報を受信した計算機の鍵情報共有部(より具体的には、図3に示す制御部41)が、ネットワーク1に接続されている各計算機(自装置は除く。また、グループメンバであるか否かは問わない。)に対して、鍵情報をブロードキャスト送信してもよい。また、例えば、グループ管理サーバ5から鍵情報を受信した計算機の鍵情報共有部が、受信した鍵情報のコピーを作成してそのコピーを他の1台の計算機に送信し、その後、鍵情報(鍵情報のコピー)を受信した計算機の鍵情報共有部が鍵情報のコピーを作成してそのコピーを他の1台の計算機に送信するという動作を繰り返してもよい。すなわち、ネットワーク1に接続されている各計算機(グループメンバであるか否かは問わない。)がバケツリレー的に鍵情報を転送して、各計算機が鍵情報を保持してもよい。また、例えば、KaZaA 、Gnutellaなどのファイル共有システムを利用して、鍵情報を他の各計算機の鍵情報共有部と共有してもよい。このようなファイル共有システムを利用する場合、全ピアはネットワーク接続時、もしくは特定のグループにアクセス制御された暗号化データ作成時または取得時に、新規もしくは更新された鍵情報の有無を確認する。そして、検索の結果、更新されたまたは新規に作成された鍵情報をすべてダウンロードする。また、DHT(Distributed Hash Table)によって鍵情報を他の各計算機の鍵情報共有部と共有してもよい。DHTを利用する場合、全ピアはネットワーク接続時、もしくは特定のグループにアクセス制御された暗号化データ作成時または取得時に、上記鍵情報のファイルindexのハッシュ値に対応するデータが存在するかどうか確認することによって、新規もしくは更新された鍵情報の有無を確認する。そして、検索の結果、更新されたまたは新規に作成された鍵情報をすべてダウンロードする。
For example, the key information sharing unit (more specifically, the
ステップS4の後、ファイルを共有した各計算機の鍵情報解析部(より具体的には図3に示す制御部41)は、それぞれ鍵情報の署名を検証する(ステップS5)。すなわち、鍵情報が、ステップS3においてグループ管理サーバ5によって生成されたときの状態から改竄されていないことを検証する。例えば、グループ管理サーバ5が、上述のようにハッシュ関数を用いてkey タグで記述された情報からダイジェスト値を計算し、そのダイジェスト値を秘密鍵αpで暗号化し、その暗号化データを変換(エンコード)したデータを署名データとしているものとする。また、この変換はBASE64による変換であるものとする。本例の場合、各計算機の鍵情報解析部は、鍵情報の署名データを変換(デコード)して、BASE64による変換前の状態に戻し、デコード後のデータを公開鍵αu(秘密鍵αpと対になる公開鍵)で復号する。また、各計算機の鍵情報解析部は、グループ管理サーバ5が用いたハッシュ関数と同一のハッシュ関数を用いて、鍵情報に含まれるkey タグで記述された情報から、ダイジェスト値を計算する。この計算により得られたダイジェスト値と、公開鍵αuで復号した結果が同一であれば、各計算機の鍵情報解析部は、鍵情報は改竄されていないと判定する。
After step S4, the key information analysis unit (more specifically, the
続いて、各計算機の鍵情報解析部(より具体的には図3に示す制御部41)は、自装置がグループメンバであるか否かを判定する(ステップS6)。ステップS6では、各計算機の鍵情報解析部は、鍵情報内でkek タグとともに記述されたピアIDの中に、自装置のピアIDが含まれていれば、自装置がグループメンバであると判定する。また、鍵情報内でkek タグとともに記述されたピアIDの中に、自装置のピアIDが含まれていなければ、自装置がグループメンバではないと判定する。ステップS6において、自装置がグループメンバであると判定した場合、ステップS7に移行する。
Subsequently, the key information analysis unit (more specifically, the
ステップS7では、鍵情報解析部は、共有暗号鍵の復号を行う。ステップS3においてKEKで共有暗号鍵を暗号化した場合と、グループに属する各計算機の鍵で共有暗号鍵を暗号化した場合にそれぞれ分けてステップS7の処理について説明する。まず、ステップS3においてKEKで共有暗号鍵を暗号化した場合のステップS7の処理について説明する。 In step S7, the key information analysis unit decrypts the shared encryption key. The processing in step S7 will be described separately for the case where the shared encryption key is encrypted with KEK in step S3 and the case where the shared encryption key is encrypted with the keys of the computers belonging to the group. First, the process of step S7 when the shared encryption key is encrypted with KEK in step S3 will be described.
ステップS7に移行した場合、鍵情報解析部は、自装置のピアIDと組み合わされたデータ(ここではKEKの暗号化データ)を、自装置の秘密鍵で復号する。このとき、ピアIDと組み合わされたデータが、BASE64などで変換(エンコード)されているデータである場合には、そのデータをデコードしてBASE64などによる変換前の状態に戻す。そして、そのデータを、自装置の秘密鍵で復号する。この結果、鍵情報解析部は、KEKを得ることができる。続いて、鍵情報解析部は、そのKEKを用いて、共有暗号鍵g1の暗号化データ(図5に示す例では、enc_gkタグとともに記述されたデータ)を復号して、共有暗号鍵を得る。この場合にも、enc_gkタグとともに記述されたデータが、BASE64などで変換(エンコード)されているデータであるならば、そのデータをデコードしてBASE64などによる変換前の状態に戻して、そのデコード後のデータをKEKにより復号して、共有暗号鍵を得る。 When the process proceeds to step S7, the key information analysis unit decrypts the data combined with the peer ID of the own device (here, the encrypted data of KEK) with the secret key of the own device. At this time, if the data combined with the peer ID is data converted (encoded) by BASE64 or the like, the data is decoded and returned to the state before conversion by BASE64 or the like. Then, the data is decrypted with its own secret key. As a result, the key information analysis unit can obtain KEK. Subsequently, the key information analysis unit uses the KEK to decrypt the encrypted data of the shared encryption key g1 (in the example illustrated in FIG. 5, data described together with the enc_gk tag) to obtain a shared encryption key. Also in this case, if the data described with the enc_gk tag is data that has been converted (encoded) with BASE64, etc., the data is decoded and returned to the state before conversion with BASE64, etc. Is decrypted by KEK to obtain a shared encryption key.
計算機2−2を例にして、ステップS7の動作を説明する。また、鍵情報に記述された共有暗号鍵やKEKの暗号化データは、BASE64を用いてエンコードされているものとする。ステップS7に移行した場合、鍵情報解析部8−2は、自装置(計算機2−2)のピアID“2 ”と組み合わされたデータを変換(デコード)して、BASE64による変換前のデータに戻す。そして、そのデータを自装置の秘密鍵Bpで復号してKEKを得る。また、鍵情報解析部8−2は、共有暗号鍵の暗号化データを変換(デコード)して、BASE64による変換前のデータに戻す。そして、そのデータをKEKで復号して共有暗号鍵を得る。個々では、計算機2−2を例にしたが、他の計算機の場合も同様である。 The operation of step S7 will be described using the computer 2-2 as an example. In addition, it is assumed that the shared encryption key and the KEK encrypted data described in the key information are encoded using BASE64. When the process proceeds to step S7, the key information analysis unit 8-2 converts (decodes) the data combined with the peer ID “2” of the own apparatus (computer 2-2) into the data before conversion by BASE64. return. Then, the data is decrypted with the private key Bp of the own device to obtain KEK. In addition, the key information analysis unit 8-2 converts (decodes) the encrypted data of the shared encryption key and returns the data to the data before conversion by BASE64. Then, the data is decrypted with KEK to obtain a shared encryption key. Individually, the computer 2-2 is taken as an example, but the same applies to other computers.
次に、ステップS3においてグループに属する各計算機の鍵で共有暗号鍵を暗号化した場合のステップS7の処理について説明する。ステップS7に移行した場合、鍵情報解析部は、自装置のピアIDと組み合わされたデータ(ここでは共有暗号鍵の暗号化データ)を、自装置の秘密鍵で復号する。このとき、ピアIDと組み合わされたデータが、BASE64などで変換(エンコード)されているデータである場合には、そのデータをデコードしてBASE64などによる変換前の状態に戻す。そして、そのデータを、自装置の秘密鍵で復号する。この結果、鍵情報解析部は、共有暗号鍵を得る。 Next, the process of step S7 when the shared encryption key is encrypted with the keys of the computers belonging to the group in step S3 will be described. When the process proceeds to step S7, the key information analysis unit decrypts the data combined with the peer ID of the own device (here, the encrypted data of the shared encryption key) with the secret key of the own device. At this time, if the data combined with the peer ID is data converted (encoded) by BASE64 or the like, the data is decoded and returned to the state before conversion by BASE64 or the like. Then, the data is decrypted with its own secret key. As a result, the key information analysis unit obtains a shared encryption key.
ステップS7での復号処理によって暗号化データを共有暗号鍵に変換した後、処理を終了する。その後、グループメンバのうちネットワーク1に接続されている計算機同士で暗号化通信を行う場合には、共有暗号鍵で通信データを暗号化して送信し、また、受信したデータを共有暗号鍵で復号すればよい。
After the encrypted data is converted into the shared encryption key by the decryption process in step S7, the process ends. After that, when performing encrypted communication between computers connected to the
また、ステップS6において、自装置がグループメンバでないと判定した場合、処理を終了する。例えば、計算機2−1(ピアIDは“1 ”とする。)が、図5に例示する鍵情報を他の計算機と共有したとする。この場合、計算機2−1は、ステップS5の検証を行い鍵情報が改竄されていないことを確認したとしても、ステップS6では、自装置がグループメンバでないと判定する。図5に例示する鍵情報には、計算機2−2,2−4のピアIDのみが記述され、計算機2−1のピアIDは記述されていないからである。このように、自装置がグループメンバでないと判定した計算機は、ステップS7に移行せずに、処理を終了する。 If it is determined in step S6 that the device is not a group member, the process is terminated. For example, it is assumed that the computer 2-1 (the peer ID is “1”) shares the key information illustrated in FIG. 5 with another computer. In this case, even if the computer 2-1 verifies in step S5 and confirms that the key information has not been tampered with, in step S6 it determines that the own apparatus is not a group member. This is because only the peer IDs of the computers 2-2 and 2-4 are described in the key information illustrated in FIG. 5, and the peer ID of the computer 2-1 is not described. In this way, the computer that has determined that the own device is not a group member ends the process without proceeding to step S7.
上述の図4に例示する処理によって、グループに属するか否かによらず、ネットワーク1に接続されている全計算機は鍵情報を共有する。ネットワーク1に接続されている全計算機は鍵情報を共有した後、暗号通信システムは、ネットワーク1に接続されている少なくとも1台の計算機が鍵情報を保持可能な状態を維持する。例えば、計算機がネットワーク1との接続を断とする際には、その計算機は、ネットワーク1に接続されている他の計算機に鍵情報を送信してからネットワーク1との接続を断としてもよい。
Through the processing illustrated in FIG. 4 described above, all computers connected to the
そして、ネットワーク1に接続されていなかった計算機がネットワーク1に接続された場合、その計算機は、鍵情報を保持している計算機から鍵情報を受信する。例えば、ネットワーク1に接続されていなかった計算機がネットワークに接続されたときに、その計算機が、以前からネットワーク1に接続されていた計算機に鍵情報を要求し、鍵情報を保持している計算機がその要求に応じて鍵情報を送信してもよい。この結果、ネットワーク1に接続された計算機は鍵情報を受信することができ、ネットワーク1に接続される計算機が増えたときにも各計算機で鍵情報を共有することができる。また、ネットワーク1に接続されていなかった計算機がネットワーク1に接続された場合、その計算機は、例えばDHTによって、既にネットワーク1に接続されていた計算機との間で鍵情報を共有してもよい。また、ネットワーク1に接続されて他の計算機と鍵情報を共有した計算機は、ステップS5(図4参照。)以降の処理を行い、自身がグループメンバであれば、共有暗号鍵を復号すればよい。
When a computer that is not connected to the
また、一部の計算機は、他の計算機とグループ管理サーバ5の中継を行ってもよい。この場合、中継を行う計算機(以下、中継装置と記す。)は、他の計算機と共有する鍵情報を記憶する。そして、中継装置ではない他の計算機(以下、非中継装置と記す。)が、ネットワーク1に接続されていない状態から、ネットワーク1に接続された状態になった場合、中継装置に鍵情報を要求してもよい。中継装置は、この要求に応じて鍵情報を非中継装置に送信し、非中継装置はその鍵情報を受信する。従って、ネットワーク1に接続されていない状態から、ネットワーク1に接続された状態になった個々の非中継装置は、グループ管理サーバ5との間で鍵情報を得るための通信を行わない。そして、中継装置が、いわばキャッシュとしての役割を果たす。個々の非中継装置は、グループ管理サーバ5との間で鍵情報を得るための通信を行わないので、中継装置のそのような通信の中継を行う必要がない。従って、中継装置の負荷を抑えることができる。なお、各計算機は、木構造のネットワークのノードとして配置され、複数の中継装置が配置されてもよい。
Also, some computers may relay the
また、上記の説明では、鍵情報を生成する装置をグループ管理サーバ5として示した。常時電源がオンとされ、常時ネットワーク1に接続されるサーバではなく、計算機2−1〜2−4と同様の鍵情報共有部と鍵情報解析部とを有する計算機が、上述のグループ管理サーバ5と同様に鍵情報を生成して、グループ管理サーバ5と同様の処理を行ってもよい。このときは、図4のステップS3において、発行する共通暗号鍵g1の一意性を保障するために、一意性が保証されているグループサーバ機能を有する計算機のピアIDと、この計算機が自ら生成したグループを区別するためのIDと、グループ鍵のバージョンと、この計算機が生成した乱数をseedとして鍵を生成する鍵生成器を利用して鍵を生成するとよい。例えば、この鍵生成器として、これらのデータを全てビット連結し、このデータに対してハッシュ計算をする処理などを利用することができる。さらに、このグループ管理サーバ機能を有する計算機(鍵情報を生成する計算機)の電源がオフとなっているか、鍵情報を生成する計算機がネットワーク1と接続されていないこともあるため、以下のような処理が必要である。まず、ネットワーク1に接続されていなかった計算機がネットワーク1に接続されたときには、その計算機が、ネットワーク1に接続されているいずれかの計算機に鍵情報を要求すればよい。そして、鍵情報の要求を受けた計算機は、共有している鍵情報を、要求に応じてそのまま送信すればよい。この結果、ネットワーク1に接続されていない状態からネットワーク1に接続された状態になった計算機は、鍵情報を受信する。その計算機は、鍵情報を受信したならば、上述のステップS5以降の処理を行い、自装置がグループメンバであると判定したならば(ステップS6のYes)、共有暗号鍵の復号(ステップS7)を実行すればよい。また、自装置がグループメンバでないと判定したならば(ステップS6のNo)、ステップS7に移行せずに処理を終了すればよい。
In the above description, the device that generates the key information is shown as the
次に、本実施の形態の効果について説明する。
本実施の形態では、グループ管理サーバ5が鍵情報を、ネットワーク1に接続されている各計算機のうちのいずれか1台に送信し、その計算機が鍵情報を他の計算機と共有する。従って、グループを形成する計算機それぞれが非同期にネットワークに接続される場合であっても、アドホックに接続される各計算機が、共有暗号鍵(グループ鍵)を共有できる。
Next, the effect of this embodiment will be described.
In the present embodiment, the
また、鍵情報には、KEKで暗号化した共有暗号鍵の暗号化データと、グループに属する計算機の公開鍵で暗号化したKEKの暗号化データを含めている。従って、その公開鍵と対になる秘密鍵を有していない計算機は共有暗号鍵を復号することができない。従って、グループメンバ同士のみで共有暗号鍵を用いた安全な暗号化通信を行うことができる。ステップS3でKEKを用いずに、グループに属する各計算機の公開鍵で共有暗号鍵を暗号化する場合では、鍵情報に、グループに属する計算機の公開鍵で暗号化した共有暗号鍵の暗号化データを含めている。この場合も、その公開鍵と対になる秘密鍵を有していない計算機は共有暗号鍵を復号できないので、安全な暗号化通信を実現できる。 The key information includes encrypted data of the shared encryption key encrypted with KEK and encrypted data of KEK encrypted with the public key of the computer belonging to the group. Therefore, a computer that does not have a secret key that is paired with the public key cannot decrypt the shared encryption key. Accordingly, it is possible to perform secure encrypted communication using the shared encryption key only between group members. In the case where the shared encryption key is encrypted with the public key of each computer belonging to the group without using KEK in step S3, the encrypted data of the shared encryption key encrypted with the public key of the computer belonging to the group is included in the key information. Is included. Also in this case, since a computer that does not have a secret key that is paired with the public key cannot decrypt the shared encryption key, secure encrypted communication can be realized.
また、グループ管理サーバ5が鍵情報を送信するときには、1台の計算機に鍵情報を送信し、その計算機が他の計算機と鍵情報を共有する。そして、グループ管理サーバ5は、鍵情報を送信した後には、処理を行う必要がない。よって、グループを形成する計算機の数が増加しても、グループ管理サーバ5の処理負荷はそれほど増加しない。すなわち、計算機数の増加によるグループ管理サーバの負荷の増加を抑えることができる。
When the
また、グループ管理サーバ5が鍵情報を送信するときには、1台の計算機に鍵情報を送信するだけで、グループ管理サーバ5は各グループメンバと個々に通信を行う必要がない。よって、各計算機とグループ管理サーバ5との通信を中継する計算機を設ける場合であっても、その計算機はいわばキャッシュとしての役割を果たし、鍵情報を記憶し、個々の計算機から鍵情報の要求があると記憶した鍵情報を送信するだけなので、各計算機とグループ管理サーバ5との通信を中継する必要がない。よって、通信を中継する計算機を設ける場合であっても、その計算機の処理負荷の増加を抑えることができる。例えば、末端のセンサノードとサーバとの間の通信を中継するセンサノードに本発明を適用する場合であっても、通信を中継するセンサノードの処理負荷の増加を抑えることができる。
Further, when the
また、グループ管理サーバ5は、鍵情報に署名データを付加しているので、鍵情報が信頼できない計算機に配布されてしまったとしても、不正な改竄が行われたか否かを検証することができる。
Further, since the signature information is added to the key information, the
第1の実施の形態において、鍵情報生成手段および鍵情報送信手段は、グループ管理サーバ5の制御部31によって実現される。鍵情報共有手段および復号手段は、計算機の制御部41によって実現される。また、公開鍵記憶手段は、グループ管理サーバ5の記憶装置32によって実現される。秘密鍵記憶手段は、計算機の記憶装置42によって実現される。
In the first embodiment, the key information generation unit and the key information transmission unit are realized by the
実施の形態2.
本発明の第2の実施の形態の構成は、第1の実施の形態と同様である。ただし、本実施の形態では、各グループには予めグループID(各グループを識別するための識別情報)が定められる。そして、グループに属する各計算機は、自身の属するグループのグループIDを記憶装置42(図3参照。)に記憶する。
The configuration of the second embodiment of the present invention is the same as that of the first embodiment. However, in this embodiment, a group ID (identification information for identifying each group) is determined in advance for each group. Each computer belonging to the group stores the group ID of the group to which the computer belongs in the storage device 42 (see FIG. 3).
また、第2の実施の形態の暗号通信システムが備える各計算機は、第1の実施の形態と同様に、共有暗号鍵(グループ鍵)を共有する。各計算機が共有暗号鍵を共有する動作は第1の実施の形態と同様である。ただし、各計算機の鍵情報解析部(図3に示す制御部41)は、ステップS6(図4参照。)において、自装置がグループメンバであると判定した場合、鍵情報(図4に示すステップS4で共有した鍵情報)とグループIDとを対応付けて記憶装置42に記憶する。
Further, each computer included in the cryptographic communication system according to the second embodiment shares a shared cryptographic key (group key) as in the first embodiment. The operation in which each computer shares the shared encryption key is the same as in the first embodiment. However, if the key information analysis unit (control
なお、各グループ毎に計算機が鍵情報を共有する場合、グループ毎に、ステップS1(図4参照。)以降の処理を行えばよい。また、ステップS1では、グループ毎に、グループに属する計算機のピアIDを登録すればよい(図2に示す記憶装置32に記憶させればよい)。
When the computer shares key information for each group, the processing after step S1 (see FIG. 4) may be performed for each group. In step S1, for each group, the peer IDs of computers belonging to the group may be registered (stored in the
また、本実施の形態において、ネットワーク1に接続されていなかった計算機がネットワーク1に接続された場合、その計算機は、後述するステップS13の動作で鍵情報を取得することにより、他の計算機と鍵情報を共有すればよい。
Further, in the present embodiment, when a computer that is not connected to the
以下、第2の実施の形態の暗号通信システムが備える各計算機で行う暗号化通信について説明する。図6は、各計算機が暗号化通信を行う際に送受信する通信データのフォーマットの例を示す説明図である。図6に示すように、暗号化通信で送受信される通信データには、flagと、暗号化データと、グループIDと、鍵のバージョンと、Key_Locationとが含まれる。 Hereinafter, encrypted communication performed by each computer included in the cryptographic communication system according to the second embodiment will be described. FIG. 6 is an explanatory diagram illustrating an example of a format of communication data transmitted and received when each computer performs encrypted communication. As shown in FIG. 6, communication data transmitted and received by encrypted communication includes flag, encrypted data, group ID, key version, and Key_Location.
flagは、通信データの属性を記載したデータである。flagには、通信データのヘッダとして、暗号化データのバイト数および開始位置、グループIDのバイト数および開始位置、鍵のバージョンのバイト数および開始位置、Key_Locationのバイト数および開始位置が含まれていてもよい。 The flag is data describing attributes of communication data. The flag includes the number of bytes and the start position of the encrypted data, the number of bytes and the start position of the group ID, the number of bytes and the start position of the key version, and the number of bytes and the start position of Key_Location as the header of the communication data. May be.
暗号化データは、通信内容(送信データ)を共有暗号鍵(グループ鍵)で暗号化したデータである。 The encrypted data is data obtained by encrypting communication contents (transmission data) with a shared encryption key (group key).
グループIDは、通信データを送受信する各計算機が属するグループのグループIDである。 The group ID is a group ID of a group to which each computer that transmits and receives communication data belongs.
鍵のバージョンとは、鍵情報に含まれるバージョン情報であって、通信内容の暗号化に用いた共有暗号鍵が復号されたバージョン情報の番号である。図5に例示する鍵情報の場合、version タグとともに記述された数値が、鍵のバージョンとして通信データに含められる。 The key version is version information included in the key information, and is a version information number obtained by decrypting the shared encryption key used for encrypting the communication content. In the case of the key information illustrated in FIG. 5, a numerical value described with the version tag is included in the communication data as the key version.
Key_Locationは、計算機が鍵情報を取得するための情報である。例えば、鍵情報のURI(Uniform Resource Indicator)をKey_Locationとしてもよい。この場合、例えば、グループ管理サーバ5が、鍵情報を生成するときに鍵情報にURIの情報を含め、また、グループ管理サーバ5自身が鍵情報を保持して、URIによって鍵情報へのアクセスを可能となるようにしておけばよい。また、URIがグループ管理サーバ5以外の装置を指定するURIであり、グループ管理サーバ5がその装置に鍵情報を送信して記憶させてもよい。あるいは、通信データを送信する計算機がURIを定め、その計算機がURIによって特定される装置に鍵情報を送信して記憶させてもよい。また、通信データを送受信する各計算機が、DHT(Distributed Hash Table)のようなピアツーピアのファイル共有システムを利用して鍵情報を共有している場合には、鍵情報のハッシュ値をKey_Locationとして用いてもよい。
Key_Location is information for the computer to obtain key information. For example, the URI (Uniform Resource Indicator) of the key information may be Key_Location. In this case, for example, when the
計算機の制御部41は、通信内容を共有暗号鍵で暗号化した暗号化データを作成した場合、図6に例示するようなフォーマットに従って、暗号化データに、flag、グループID、鍵のバージョン、Key_Locationを付加して、通信データを生成し、その通信データを宛先の計算機に送信すればよい。
When the encrypted data obtained by encrypting the communication contents with the shared encryption key is created, the
次に、その通信データを受信した計算機の動作について説明する。
図7は、通信データを受信した計算機の処理経過の例を示すフローチャートである。既に説明したように、本実施の形態では、計算機は、ステップS6(図4参照。)において、自装置がグループメンバであると判定した場合、鍵情報とグループIDとを対応付けて記憶装置42に記憶する。通信データを受信した計算機の制御部41は、その計算機自身が属するグループIDに対応付けて鍵情報を記憶しているか否かを判定し、グループIDと対応づけた鍵情報を記憶していると判定した場合には、通信データに含まれる「鍵のバージョン(図6参照。)」によって特定されるバージョン情報から復号したグループ鍵(共有暗号鍵)を保持しているか否かを判定する(ステップS11)。
Next, the operation of the computer that has received the communication data will be described.
FIG. 7 is a flowchart illustrating an example of processing progress of a computer that has received communication data. As already described, in this embodiment, when the computer determines that the own device is a group member in step S6 (see FIG. 4), the
例えば、通信データを受信した計算機が、自身が属するグループIDと対応付けた鍵情報を記憶しているとする。また、通信データに含まれる「鍵のバージョン」が“1 ”であったとする。その場合、制御部41は、“1 ”によって特定されるバージョン情報、すなわち鍵情報内における1番目のバージョン情報(<version=1> から</version>までの記述)から復号したグループ鍵を保持しているか否かを判定する。
For example, it is assumed that a computer that has received communication data stores key information associated with a group ID to which the computer belongs. Further, it is assumed that the “key version” included in the communication data is “1”. In that case, the
通信データに含まれる「鍵のバージョン」によって特定されるバージョン情報から復号したグループ鍵を保持していると判定した場合(ステップS11のYes)、制御部41は、そのグループ鍵を用いて、受信したデータに含まれる暗号化データ(図6参照。)を復号し(ステップS12)、処理を終了する。この結果、制御部41は、暗号化されて送信された通信内容を得ることができる。
When it is determined that the group key decrypted from the version information specified by the “key version” included in the communication data is held (Yes in step S11), the
また、ステップS11で、計算機の制御部41が、通信データに含まれる「鍵のバージョン」によって特定されるバージョン情報から復号したグループ鍵を保持していないと判定した場合や、その計算機自身が属するグループIDに対応付けて鍵情報を記憶していないと判定した場合(ステップS11のNo)、ステップS13に移行する。ステップS13では、計算機の制御部41は、受信した通信データに含まれる「Key_Location」に基づいて、鍵情報を取得する(ステップS13)。例えば、「Key_Location」としてURIが含まれている場合には、制御部41は、そのURIによって特定される鍵情報にアクセスして、鍵情報を受信する。
In step S11, the
ステップS13の後、制御部41は、受信した通信データに含まれる「鍵のバージョン」を参照する(ステップS14)。続いて、制御部41は、ステップS13で取得した鍵情報に含まれるバージョン情報のうち、ステップS14で参照した「鍵のバージョン」によって特定されるバージョン情報に、自装置のピアIDが含まれているか否かを判定する(ステップS15)。
After step S13, the
ステップS15において自装置のピアIDが含まれていないと判定した場合(ステップS15のNo)、そのまま処理を終了する。 When it is determined in step S15 that the peer ID of the own device is not included (No in step S15), the processing is ended as it is.
ステップS15において自装置のピアIDが含まれていると判定した場合(ステップS15のYes)、制御部41は、鍵情報に含まれるバージョン情報のうち、ステップS14で参照した「鍵のバージョン」によって特定されるバージョン情報から、共有暗号鍵(グループ鍵)を復号する(ステップS16)。ステップS16の処理は、ステップS7(図4参照。)と同様である。鍵情報作成時に共有暗号鍵がKEKで暗号化される場合と、共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合それぞれに分けてステップS16の処理について説明する。
When it is determined in step S15 that the peer ID of the own device is included (Yes in step S15), the
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合には、制御部41は、「鍵のバージョン」によって特定されるバージョン情報において、自装置のピアIDと組み合わされたデータ(ここではKEKの暗号化データ)を、自装置の秘密鍵で復号する。このとき、ピアIDと組み合わされたデータが、BASE64などで変換(エンコード)されているデータである場合には、そのデータをデコードしてBASE64などによる変換前の状態に戻す。そして、そのデータを、自装置の秘密鍵で復号する。この結果、制御部41は、KEKを得ることができる。続いて、制御部41は、そのKEKを用いて、共有暗号鍵の暗号化データ(図5に示す例では、enc_gkタグとともに記述されたデータ)を復号して、共有暗号鍵を得る。
When the shared encryption key is encrypted with KEK when the key information is created, the
また、鍵情報作成時に共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合には、制御部41は、「鍵のバージョン」によって特定されるバージョン情報において、自装置のピアIDと組み合わされたデータ(ここでは共有暗号鍵の暗号化データ)を、自装置の秘密鍵で復号する。このとき、ピアIDと組み合わされたデータが、BASE64などで変換(エンコード)されているデータである場合には、そのデータをデコードしてBASE64などによる変換前の状態に戻す。そして、そのデータを、自装置の秘密鍵で復号する。この結果、制御部41は、共有暗号鍵を得る。
When the shared encryption key is encrypted with the keys of the computers belonging to the group at the time of creating the key information, the
続いて、制御部41は、その共有暗号鍵(グループ鍵)を用いて、受信したデータに含まれる暗号化データ(図6参照。)を復号し(ステップS17)、処理を終了する。この結果、制御部41は、暗号化されて送信された通信内容を得ることができる。
Subsequently, the
次に、本実施の形態の効果について説明する。
本実施の形態では、グループID、鍵のバージョン、Key_Locationとともに暗号化データが送受信され、受信した計算機は、グループIDおよび鍵のバージョンを参照して、グループIDと対応づけた鍵情報を記憶していて、かつ、鍵のバージョンによって特定されるバージョン情報から復号したグループ鍵を保持しているか否かを判定する。そして、そのグループ鍵を保持していない場合には、Key_Locationを用いて鍵情報を取得し、通信データ内の鍵のバージョンに応じたグループ鍵を復号する。よって、グループを形成したり、ネットワークに接続されるグループメンバが変更される時点で、認証サーバ、グループ管理サーバ、グループに属する全ての計算機がネットワーク1に接続していなくても、グループ鍵の共有や変更を行うことができる。
Next, the effect of this embodiment will be described.
In the present embodiment, encrypted data is transmitted / received together with the group ID, key version, and Key_Location, and the received computer stores the key information associated with the group ID with reference to the group ID and key version. Whether or not the group key decrypted from the version information specified by the key version is held is determined. If the group key is not held, key information is acquired using Key_Location, and the group key corresponding to the version of the key in the communication data is decrypted. Therefore, even when all the computers belonging to the authentication server, group management server, and group are not connected to the
第2の実施の形態において、通信データ送信手段および判定手段は、計算機の制御部42によって実現される。また、Key_Locationは、アクセス情報に相当する。
In the second embodiment, the communication data transmission unit and the determination unit are realized by the
実施の形態3.
図8は、本発明による暗号通信システムの第3の実施の形態を示すブロック図である。第1の実施形態と同様の構成部については、図1と同一の符号を付し、詳細な説明を省略する。第3の実施の形態では、暗号通信システムは、グループ管理サーバ5と、計算機2−1〜2−4とを備える。図8では4台の計算機を示しているが、計算機の台数は4台に限定されない。第3の実施の形態では、鍵情報を生成するときに使用する鍵の態様が第1の実施の形態と異なる。
Embodiment 3 FIG.
FIG. 8 is a block diagram showing a third embodiment of the cryptographic communication system according to the present invention. The same components as those in the first embodiment are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted. In the third embodiment, the cryptographic communication system includes a
第1の実施の形態では、各計算機2−1〜2−4が、それぞれ自装置のみが保持するように定められた秘密鍵Ap,Bp,Cp,Dpを保持し、グループ管理サーバ5が各秘密鍵と対になる公開鍵Au,Bu,Cu,Duを使用して鍵情報を生成していた。また、第1の実施の形態では、グループ管理サーバ5は、グループ管理サーバ5のみが保持するように定められた秘密鍵αpを保持し、各計算機はその秘密鍵αpと対になる公開鍵αuを保持していた(図1参照。)
In the first embodiment, each of the computers 2-1 to 2-4 holds a secret key Ap, Bp, Cp, Dp that is determined to be held only by its own device. The key information is generated using the public keys Au, Bu, Cu, Du that are paired with the secret key. In the first embodiment, the
これに対し、本実施の形態では、秘密鍵と公開鍵の組み合わせを用いるのではなく、共通鍵を用いる。計算機2−1は、計算機2−1の秘密鍵として秘密鍵(共通鍵)Aを保持し、グループ管理サーバ5は、計算機2−1との間で秘密鍵(共通鍵)Aを秘密に共有する。同様に、計算機2−2は、計算機2−2の秘密鍵として秘密鍵(共通鍵)Bを保持し、グループ管理サーバ5は、計算機2−2との間で秘密鍵(共通鍵)Bを秘密に共有する。計算機2−3は、計算機2−3の秘密鍵として秘密鍵(共通鍵)Cを保持し、グループ管理サーバ5は、計算機2−3との間で秘密鍵(共通鍵)Cを秘密に共有する。計算機2−4は、計算機2−4の秘密鍵として秘密鍵(共通鍵)Dを保持し、グループ管理サーバ5は、計算機2−4との間で秘密鍵(共通鍵)Dを秘密に共有する。すなわち、計算機2−1およびグループ管理サーバ5が秘密鍵(共通鍵)Aを保持する。また、計算機2−2およびグループ管理サーバ5が秘密鍵(共通鍵)Bを保持する。また、計算機2−3およびグループ管理サーバ5が秘密鍵(共通鍵)Cを保持する。また、計算機2−4およびグループ管理サーバ5が秘密鍵(共通鍵)Dを保持する。
In contrast, in this embodiment, a common key is used instead of using a combination of a secret key and a public key. The computer 2-1 holds a secret key (common key) A as a secret key of the computer 2-1, and the
また、グループ管理サーバ5は、グループ管理サーバ5の秘密鍵として秘密鍵(共通鍵)αを保持し、各計算機2−1〜2−4は、グループ管理サーバ5との間で秘密鍵(共通鍵)αを秘密に共有する。すなわち、グループ管理サーバ5および各計算機2−1〜2−4が秘密鍵(共通鍵)αを保持する。
The
また、グループ管理サーバ5は、第1の実施の形態と同様に、共有暗号鍵g1を保持する。また、鍵情報を作成するときにKEKで共有暗号鍵を暗号化する場合には、グループ管理サーバ5は、KEKも保持する。
The
本実施の形態では、グループ管理サーバ5は、個々の計算機2−1〜2−4と秘密鍵(共通鍵)を事前に秘密に共有することを前提とする。このように共通鍵を予め秘密に共有する態様として、例えば、グループ管理サーバの管理主体(例えばCAなどの組織。人であってもよい。)が、秘密に共有する共通鍵を生成し、耐タンパ性を有するメモリ(例えばICカードなど。)にその共通鍵を格納し、計算機を管理する主体(人)にそのメモリを送付(例えば郵送など。)し、メモリを受け取った者が計算機に直接組み込む等の態様がある。ここに示した態様は一例であり、他の態様によって、共通鍵を予め秘密に共有してもよい。共通鍵を予め秘密に共有するので、ネットワーク1を介して他の装置から共通鍵A,B,C,Dを受信することは行わない。本実施の形態では、ステップS1(図4参照。)において、例えば、予め記憶されている秘密鍵(共通鍵)毎に、グループ管理者から入力部34を介して、その共通鍵に対応する計算機のピアIDが入力される。制御部31は、予め記憶している共通鍵と対応付けて、入力されたピアIDを記憶装置32に記憶(登録)させればよい。そして、その処理の終了後、ステップS2を行わずに、ステップS3以降の処理を行えばよい。
In this embodiment, it is assumed that the
また、本実施の形態で、鍵情報を生成する場合には、公開鍵ではなく共通鍵を用いて鍵情報を生成する。既に説明したように、鍵情報を生成する態様として、共有暗号鍵をグループに属する各計算機の鍵で暗号化する態様や、共有暗号鍵をKEKで暗号化する態様がある。この二つの態様それぞれについて説明する。 In this embodiment, when key information is generated, key information is generated using a common key instead of a public key. As already described, as a mode for generating key information, there are a mode in which a shared encryption key is encrypted with a key of each computer belonging to the group, and a mode in which the shared encryption key is encrypted with KEK. Each of these two modes will be described.
本実施の形態では、共有暗号鍵をKEKで暗号化して鍵情報を作成する場合、ステップS3で、グループ管理サーバ5の制御部31は、KEKを暗号化しピアIDと組み合わせてkek タグとともに記述する際、KEKの暗号化に共通鍵を用いる。また、署名データを生成するときには、各計算機との間で秘密に共有している共通鍵αを用いる。ステップS3のその他の点に関しては、第1の実施の形態において共有暗号鍵をKEKで暗号化する場合と同様である。
In this embodiment, when the key information is created by encrypting the shared encryption key with KEK, in step S3, the
例えば、グループを形成する計算機として、ステップS1で計算機2−2,2−3が選定されたとする。そして、計算機2−2,2−3のピアIDがそれぞれ“2 ”,“4 ”であるとする。グループ管理サーバ5の制御部31は、ステップS3において、図5に例示する鍵情報と同様の鍵情報を生成する場合、第1の実施の形態と同様に、共有暗号鍵g1をKEKで暗号化し、暗号化したデータをBASE64などで変換し、その変換結果をenc_gkタグとともに記述する。また、制御部31は、ピアID“2 ”によって特定される計算機2−2の秘密鍵(共通鍵)Bを用いてKEKを暗号化する。そして、その暗号化したデータをBASE64などで変換し、変換結果をピアID“2 ”と組み合わせて記述する。同様に、制御部31は、ピアID“4 ”によって特定される計算機2−4の秘密鍵(共通鍵)Dを用いてKEKを暗号化する。そして、その暗号化したデータをBASE64などで変換し、変換結果をピアID“4 ”と組み合わせて記述する。これらの記述は、kek タグとあわせて記述される。また、制御部31は、key タグで記述された情報(<key> から</key>までの記述)に対して、第1の実施の形態と同様にダイジェスト計算を行い、その結果得られるダイジェスト値を秘密鍵(共通鍵)αで暗号化する。この暗号化によって得られたデータを、例えばBASE64などで変換し、署名データとして、signタグの間に記述すればよい。
For example, it is assumed that computers 2-2 and 2-3 are selected in step S1 as computers forming a group. Assume that the peer IDs of the computers 2-2 and 2-3 are “2” and “4”, respectively. When generating the key information similar to the key information illustrated in FIG. 5 in step S3, the
また、本実施の形態では、グループに属する各計算機の鍵で共有暗号鍵を暗号化する場合、ステップS3で、グループ管理サーバ5の制御部31は、共有暗号鍵を暗号化してピアIDと組み合わせてkek タグとともに記述する際、グループに属する各計算機の秘密鍵(共通鍵)を用いて共有暗号鍵を暗号化する。また、署名データを生成するときには、各計算機との間で秘密に共有している共通鍵αを用いる。その他の点に関しては、第1の実施の形態においてグループに属する各計算機の鍵で共有暗号鍵を暗号化する場合と同様である。
In this embodiment, when the shared encryption key is encrypted with the keys of the computers belonging to the group, in step S3, the
ステップS5(図4参照。)の検証処理では、各計算機の鍵情報解析部(より具体的には図3に示す制御部41)は、鍵情報の署名データを変換(デコード)した後、デコード後のデータをグループ管理サーバ5の秘密鍵(共通鍵)αで復号すればよい。ステップS5のその他の点に関しては、第1の実施の形態と同様である。
In the verification process of step S5 (see FIG. 4), the key information analysis unit (more specifically, the
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合と、共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合それぞれに分けてステップS7の処理について説明する。 The process of step S7 will be described separately for the case where the shared encryption key is encrypted with KEK when the key information is created and the case where the shared encryption key is encrypted with the key of each computer belonging to the group.
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合には、ステップS7(図4参照。)の復号処理では、計算機の鍵情報解析部(制御部41)は、自装置のピアIDと組み合わされたデータ(ここではKEKの暗号化データ)を復号するときに、自装置の秘密鍵(共通鍵)で復号する。ステップS7のその他の点に関しては、第1の実施の形態において共有暗号鍵をKEKで暗号化する場合と同様である。例えば、計算機2−2の鍵情報解析部8−2が、自装置のピアID“2 ”と組み合わされたデータを復号する場合、そのデータを変換(デコード)し、デコード後のデータを共通鍵Bで復号して、KEKを得ればよい。 When the shared encryption key is encrypted with KEK when creating the key information, in the decryption process of step S7 (see FIG. 4), the key information analysis unit (control unit 41) of the computer When the combined data (here, the encrypted data of KEK) is decrypted, it is decrypted with the private key (common key) of the device itself. The other points in step S7 are the same as in the case of encrypting the shared encryption key with KEK in the first embodiment. For example, when the key information analysis unit 8-2 of the computer 2-2 decrypts data combined with the peer ID “2” of its own device, the data is converted (decoded), and the decoded data is converted into the common key. Decoding with B is sufficient to obtain KEK.
また、鍵情報作成時に共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合には、ステップS7の復号処理で、計算機の鍵情報解析部(制御部41)は、自装置のピアIDと組み合わされたデータ(ここでは共有暗号鍵の暗号化データ)を復号するときに、自装置の秘密鍵(共通鍵)で復号する。その他の点に関しては、第1の実施の形態において共有暗号鍵がグループに属する各計算機の鍵で共有暗号鍵を暗号化する場合と同様である。 If the shared encryption key is encrypted with the keys of the computers belonging to the group at the time of creating the key information, the key information analysis unit (control unit 41) of the computer uses the peer of its own device in the decryption process of step S7. When decrypting the data combined with the ID (in this case, the encrypted data of the shared encryption key), the data is decrypted with the private key (common key) of the device itself. The other points are the same as in the first embodiment when the shared encryption key is encrypted with the keys of the computers belonging to the group.
また、ステップS4,S6の処理は、第1の実施の形態と同様である。 Further, the processes in steps S4 and S6 are the same as those in the first embodiment.
また、グループメンバのうちネットワーク1に接続されている計算機同士で暗号化通信を行う場合には、共有暗号鍵で通信データを暗号化して送信し、また、受信したデータを共有暗号鍵で復号すればよい。例えば、第2の実施の形態と同様に通信データを送受信する。
In addition, when performing encrypted communication between computers connected to the
第3の実施の形態では、第1の実施の形態と同様の効果が得られる。さらに、第3の実施の形態では、秘密鍵と公開鍵の組み合わせを用いるのではなく、グループ管理サーバ5と計算機とがそれぞれ共通鍵を保持し、共通鍵によってKEKの暗号化や復号を行う。そのため、グループ管理サーバ5や各計算機の処理能力は、第1の実施の形態よりも低くてよい。その結果、例えば、処理能力の低いセンサネットワークであっても、本実施の形態の暗号通信システムを適用することができる。
In the third embodiment, the same effect as in the first embodiment can be obtained. Furthermore, in the third embodiment, instead of using a combination of a secret key and a public key, the
第3の実施の形態において、鍵情報生成手段および鍵情報送信手段は、グループ管理サーバ5の制御部31によって実現される。鍵情報共有手段および復号手段は、計算機の制御部41によって実現される。共通鍵記憶手段は、グループ管理サーバ5の記憶装置32によって実現される。自装置共通鍵記憶手段は、計算機の記憶装置42によって実現される。
In the third embodiment, the key information generation unit and the key information transmission unit are realized by the
実施の形態4.
図9は、本発明による暗号通信システムの第4の実施の形態を示すブロック図である。第1の実施形態と同様の構成部については、図1と同一の符号を付し、詳細な説明を省略する。第4の実施の形態では、暗号通信システムは、グループ管理サーバ5と、計算機2−1〜2−4とを備える。図8では4台の計算機を示しているが、計算機の台数は4台に限定されない。本実施の形態では、暗号通信システムに、ブロードキャストエンクリプション(Broadcast Encryption)を適用する。
FIG. 9 is a block diagram showing a fourth embodiment of the cryptographic communication system according to the present invention. The same components as those in the first embodiment are denoted by the same reference numerals as those in FIG. 1, and detailed description thereof is omitted. In the fourth embodiment, the cryptographic communication system includes a
ここでは、各装置が以下のように共通鍵を保持している場合を例にして説明する。計算機2−1は、計算機2−1の秘密鍵として秘密鍵(共通鍵)K0,K1,K3を保持する。計算機2−2は、計算機2−2の秘密鍵として秘密鍵(共通鍵)K0,K1,K4を保持する。計算機2−3は、計算機2−3の秘密鍵として秘密鍵(共通鍵)K0,K2,K5を保持する。計算機2−4は、計算機2−4の秘密鍵として秘密鍵(共通鍵)K0,K2,K6を保持する。また、グループ管理サーバ5は、グループ管理サーバ5の秘密鍵として秘密鍵(共通鍵)αを保持する。
Here, a case where each device holds a common key as described below will be described as an example. The computer 2-1 holds secret keys (common keys) K0, K1, and K3 as secret keys of the computer 2-1. The computer 2-2 holds secret keys (common keys) K0, K1, and K4 as secret keys of the computer 2-2. The computer 2-3 holds secret keys (common keys) K0, K2, and K5 as secret keys of the computer 2-3. The computer 2-4 holds secret keys (common keys) K0, K2, K6 as secret keys of the computer 2-4. The
さらに、グループ管理サーバ5は、計算機の秘密鍵K0〜K6を保持する。すなわち、グループ管理サーバ5および各計算機2−1〜2−4は、秘密鍵(共通鍵)K0を秘密に共有する。グループ管理サーバ5および計算機2−1,2−2は、秘密鍵(共通鍵)K1を秘密に共有する。グループ管理サーバ5および計算機2−3,2−4は、秘密鍵(共通鍵)K2を秘密に共有する。グループ管理サーバ5および計算機2−1は、秘密鍵(共通鍵)K3を秘密に共有する。グループ管理サーバ5および計算機2−2は、秘密鍵(共通鍵)K4を秘密に共有する。グループ管理サーバ5および計算機2−3は、秘密鍵(共通鍵)K5を秘密に共有する。グループ管理サーバ5および計算機2−4は、秘密鍵(共通鍵)K6を秘密に共有する。
Further, the
また、各計算機2−1〜2−4は、グループ管理サーバ5の秘密鍵αを保持する。すなわち、グループ管理サーバ5および各計算機2−1〜2−4は、秘密鍵(共通鍵)αを秘密に共有する。
Each of the computers 2-1 to 2-4 holds the secret key α of the
また、グループ管理サーバ5は、第1の実施の形態と同様に、共有暗号鍵g1を保持する。また、鍵情報を作成するときにKEKで共有暗号鍵を暗号化する場合には、グループ管理サーバ5は、KEKも保持する。
The
第3の実施の形態と同様に、第4の実施の形態でも、グループ管理サーバ5は各計算機と秘密鍵(共通鍵)を事前に秘密に共有することを前提とする。このように共通鍵を予め秘密に共有する態様として、例えば、グループ管理サーバの管理主体(例えばCAなどの組織。人であってもよい。)が、秘密に共有する共通鍵を生成し、耐タンパ性を有するメモリ(例えばICカードなど。)にその共通鍵を格納し、計算機を管理する主体(人)にそのメモリを送付(例えば郵送など。)し、メモリを受け取った者が計算機に直接組み込む等の態様がある。ここに示した態様は一例であり、他の態様によって、共通鍵を予め秘密に共有してもよい。共通鍵を予め秘密に共有するので、グループ管理サーバ5は、ネットワーク1を介して共通鍵を受信することは行わない。また、本実施の形態では、グループ管理サーバ5の記憶装置32は、計算機の共通鍵(本例ではK0〜K6)の階層を示す木構造のデータを予め記憶する。この木構造のデータは、例えば、予め入力部34を介して入力され、制御部31が入力された木構造のデータを記憶装置32に記憶させればよい。共通鍵の階層を示す木構造のデータは、各計算機2−1〜2−4が共有する共通鍵(本例ではK0)を根(ルート)とし、個々の計算機2−1〜2−4が他の計算機と重複せずに保持している共通鍵(本例ではK3,K4,K5,K6)を葉(リーフ)とするデータである。すなわち、共通鍵の階層とは、各計算機が共有する共通鍵を根とし、個々の計算機が他の計算機と重複せずに記憶している共通鍵を葉とする階層である。また、木構造のデータにおいて、根、各節、各葉には、それぞれを特定するための識別情報(以下、節点番号と記す。)が定められている。木構造のデータでは、各葉がどの計算機に対応するのかが定められている。
Similar to the third embodiment, in the fourth embodiment, it is assumed that the
また、根、葉、節の総称を節点と記すことにする。 The generic name for roots, leaves, and nodes is referred to as a node.
図10は、共通鍵の階層を示す木構造のデータの例を示す説明図である。本例では、各計算機2−1〜2−4が共有する共通鍵K0が根となる。また、計算機2−1が保持して、他の計算機が保持していない共通鍵K3が葉となる。同様に、K4,K5,K6も葉となる。また、計算機2−1,2−2が保持して、計算機2−3,2−4が保持していない共通鍵K1は、根(K0)と、葉(K3,K4)との間の節となる。同様に、共通鍵K2は、根(K0)と、葉(K5,K6)との間の節となる。また、図10に示すように、各根、各節、各葉には節点番号が定められている。本例では、K0〜K6の各節の節点番号が“0”〜“6”であるものとする。また、図10に示すように、木構造のデータには、各葉K3,K4,K5,K6が、それぞれ計算機2−1,2−2,2−3,2−4に対応する葉であることを示す情報が含まれている。 FIG. 10 is an explanatory diagram illustrating an example of tree-structured data indicating a common key hierarchy. In this example, the common key K0 shared by the computers 2-1 to 2-4 is the root. Further, the common key K3 held by the computer 2-1 and not held by other computers becomes a leaf. Similarly, K4, K5, and K6 are also leaves. The common key K1 held by the computers 2-1 and 2-2 and not held by the computers 2-3 and 2-4 is a node between the root (K0) and the leaves (K3 and K4). It becomes. Similarly, the common key K2 is a node between the root (K0) and the leaves (K5, K6). Also, as shown in FIG. 10, node numbers are defined for each root, each node, and each leaf. In this example, it is assumed that the node numbers of the nodes K0 to K6 are “0” to “6”. As shown in FIG. 10, in the tree-structured data, the leaves K3, K4, K5, and K6 are leaves corresponding to the computers 2-1, 2-2, 2-3, and 2-4, respectively. Information is included.
また、木構造のデータには、グループに属さない計算機が保持する共通鍵も記述される。例えば、計算機2−2,2−3,2−4がグループを形成するものとして、この3台の計算機が保持する各共通鍵K0〜K2およびK4〜K6が予めグループ管理サーバ5に記憶される場合であっても、木構造のデータには、グループに属さない計算機2−1が保持する共通鍵K3も記述される。
The tree-structured data also describes a common key held by a computer that does not belong to a group. For example, the computers 2-2, 2-3, and 2-4 form a group, and the common keys K0 to K2 and K4 to K6 held by the three computers are stored in the
また、本実施の形態では、各計算機2−1〜2−4は、自身が保持する共通鍵の節点番号と、その節点番号がどの共通鍵に対応する番号であるのかを示す情報を予め保持する。各計算機2−1〜2−4には、例えば、グループ管理者から、節点番号およびその節点番号がどの共通鍵に対応する番号であるのかを示す情報が入力され、その入力された情報を記憶装置42(図3参照。)に記憶させればよい。例えば、共通鍵K0,K1,K3を保持する計算機2−1は、節点番号“0”,“1”,“3”を記憶する。同様に、計算機2−2は、節点番号“0”,“1”,“4”を記憶する。計算機2−3は、節点番号“0”,“2”,“5”を記憶する。計算機2−4は、節点番号“0”,“2”,“6”を記憶する。また、各計算機は、各節点番号が、どの共通鍵に対応する番号であるのかを示す情報も記憶する。 In the present embodiment, each of the computers 2-1 to 2-4 holds in advance information indicating the node number of the common key held by itself and which common key the node number corresponds to. To do. Each of the computers 2-1 to 2-4 receives, for example, information indicating a node number and a common key corresponding to the node number from the group manager, and stores the input information. What is necessary is just to memorize | store in the apparatus 42 (refer FIG. 3). For example, the computer 2-1 that holds the common keys K0, K1, and K3 stores the node numbers “0”, “1”, and “3”. Similarly, the computer 2-2 stores node numbers “0”, “1”, and “4”. The computer 2-3 stores the node numbers “0”, “2”, and “5”. The computer 2-4 stores the node numbers “0”, “2”, and “6”. Each computer also stores information indicating to which common key each node number corresponds.
以下の説明では、グループに属する計算機として計算機2−2,2−3,2−4が選定された場合を例に説明する。ステップS1では、グループに属する各計算機(本例では、計算機2−2,2−3,2−4)を示す情報が入力され、グループ管理サーバ5の制御部31は、木構造のデータにおけるどの葉が、グループに属するそれぞれの計算機に対応する葉であるのかを特定する。本実施の形態では、ステップS1の後、ステップS2を行わずにステップS3に移行する。
In the following description, a case where computers 2-2, 2-3, and 2-4 are selected as computers belonging to a group will be described as an example. In step S1, information indicating each computer belonging to the group (in this example, computers 2-2, 2-3, 2-4) is input, and the
既に説明したように、鍵情報を生成する態様として、共有暗号鍵をグループに属する各計算機の鍵で暗号化する態様や、共有暗号鍵をKEKで暗号化する態様がある。この二つの各態様での鍵情報作成処理(ステップS3)についてそれぞれ説明する。なお、本実施の形態では、鍵情報には、ピアIDの代わりに、節点の識別情報(本例では節点番号)が含まれる。 As already described, as a mode for generating key information, there are a mode in which a shared encryption key is encrypted with a key of each computer belonging to the group, and a mode in which the shared encryption key is encrypted with KEK. The key information creation processing (step S3) in each of these two modes will be described. In this embodiment, the key information includes node identification information (node number in this example) instead of the peer ID.
本実施の形態では、共有暗号鍵をKEKで暗号化して鍵情報を作成する場合、ステップS3で、グループ管理サーバ5の制御部31は、グループメンバを包含する最も根に近い節点の共通鍵でKEKを暗号化する。なお、「グループメンバを包含する最も根に近い節点」とは、「グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点」を意味する。また、ここで、節点とは、節に限らず、葉や根であってもよい。また、制御部31は、そのような節点の共通鍵でKEKを暗号化し、その暗号化データと、その節点の節点番号とを組み合わせて、kek タグとともに記述する。第1の実施の形態や第3の実施の形態では、ピアIDと暗号化したKEKとの組み合わせをkek タグとともに記述していたが、本実施の形態では、節点番号とその節点番号の共通鍵で暗号化したKEKとの組み合わせをkek タグとともに記述する点で、第1の実施の形態や第3の実施の形態とは異なる。また、署名データの生成態様は、第3の実施の形態と同様である。ステップS3のその他の点に関しては第1の実施の形態において共有暗号鍵をKEKで暗号化する場合と同様である。
In this embodiment, when the key information is created by encrypting the shared encryption key with KEK, in step S3, the
図11は、本例において生成される鍵情報の例を示す説明図である。本例では、計算機2−2,2−3,2−4がグループに属し、計算機2−1はグループに属さない。制御部31は、木構造のデータを参照して、「グループメンバを包含する最も根に近い節点」、すなわち、「グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点」を判定する。図10に示す木構造を参照すると、計算機2−2に関しては、グループに属さない計算機2−1が保持する共通鍵K0,K1,K3を除けば、最も根に近い節点はK4(節点番号“4”)となる。また、計算機2−3,2−4に関しては、グループに属さない計算機2−1が保持する共通鍵K0,K1,K3を除けば、最も根に近い節点はK2(節点番号“2”)となる。従って、制御部31は、節点番号“2”に対応する共通鍵K2でKEKを暗号化し、その暗号化したデータをBASE64などで変換し、変換結果を節点番号“2”と組み合わせて記述する(図11に示す3行目の記載を参照。)。同様に、制御部31は、節点番号“4”に対応する共通鍵K4でKEKを暗号化し、その暗号化したデータをBASE64などで変換し、変換結果を節点番号“4”と組み合わせて記述する(図11に示す3行目の記載を参照。)。これらの記述は、kek タグとあわせて記述される。その他の点(共通暗号鍵の暗号化や署名データの生成等)については、第3の実施の形態と同様であるので説明を省略する。
FIG. 11 is an explanatory diagram showing an example of key information generated in this example. In this example, the computers 2-2, 2-3, and 2-4 belong to a group, and the computer 2-1 does not belong to a group. The
また、本実施の形態では、グループに属する各計算機の鍵で共有暗号鍵を暗号化する場合、ステップS3で、グループ管理サーバ5の制御部31は、グループメンバを包含する最も根に近い節点の共通鍵で共有暗号鍵を暗号化する。すなわち、制御部31は、グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点の共通鍵を用いて、共有暗号鍵を暗号化する。そして、制御部31は、その節点の節点番号と、共有暗号鍵を暗号化したデータとを組み合わせて、kek タグとともに記述する。制御部31は、このような節点番号と共有暗号鍵を暗号化したデータとの組み合わせを、グループに属する各計算機毎に導出して、kek タグとともに記述する。また、署名データの生成態様は、第3の実施の形態と同様である。その他の点に関しては第1の実施の形態においてグループに属する各計算機の鍵で共有暗号鍵を暗号化する場合と同様である。
Further, in this embodiment, when the shared encryption key is encrypted with the keys of the computers belonging to the group, in step S3, the
ステップS4,S5の処理は、第3の実施の形態と同様である。 Steps S4 and S5 are the same as those in the third embodiment.
ステップS6(図4参照。)の判定処理では、計算機の鍵情報解析部(制御部41)は、自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されているか否かにより、自装置がグループメンバであるか否かを判定する。自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されている場合には、自装置がグループメンバであると判定する。また、自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されていない場合には、自装置がグループメンバではないと判定する。例えば、本例では、計算機2−1は、節点番号“0”,“1”,“3”を記憶する。計算機2−1の鍵情報解析部8−1は、図11に例示する鍵情報を参照した場合、節点番号“0”,“1”,“3”のいずれもkek タグに記述されていないので、自装置がグループメンバではないと判定し(ステップS6のNo)、処理を終了する。 In the determination process of step S6 (see FIG. 4), the key information analysis unit (control unit 41) of the computer determines whether or not the node number that matches the node number stored in advance in the own device is described in the kek tag. Therefore, it is determined whether or not the own device is a group member. If the node number that matches the node number stored in advance in the own device is described in the kek tag, it is determined that the own device is a group member. If the node number that matches the node number stored in advance in the own device is not described in the kek tag, it is determined that the own device is not a group member. For example, in this example, the computer 2-1 stores node numbers “0”, “1”, and “3”. When the key information analysis unit 8-1 of the computer 2-1 refers to the key information illustrated in FIG. 11, none of the node numbers “0”, “1”, and “3” are described in the kek tag. Then, it is determined that the own device is not a group member (No in step S6), and the process is terminated.
また、例えば、計算機2−2は、節点番号“0”,“1”,“4”を記憶する。計算機2−2の鍵情報解析部8−2は、図11に例示する鍵情報を参照した場合、節点番号“4”が記述されているので、自装置がグループメンバであると判定し(ステップS6のYes)、ステップS7に移行する。同様に、計算機2−3は、節点番号“0”,“2”,“5”を記憶する。計算機2−3の鍵情報解析部8−3は、図11に例示する鍵情報を参照した場合、節点番号“2”が記述されているので、自装置がグループメンバであると判定し(ステップS6のYes)、ステップS7に移行する。計算機2−4に関しても同様である。 For example, the computer 2-2 stores the node numbers “0”, “1”, and “4”. When the key information illustrated in FIG. 11 is referred to, the key information analysis unit 8-2 of the computer 2-2 determines that the own device is a group member because the node number “4” is described (Step S1). (Yes in S6), the process proceeds to step S7. Similarly, the computer 2-3 stores node numbers “0”, “2”, and “5”. When referring to the key information illustrated in FIG. 11, the key information analysis unit 8-3 of the computer 2-3 determines that the own device is a group member because the node number “2” is described (Step S1). (Yes in S6), the process proceeds to step S7. The same applies to the computer 2-4.
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合と、共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合それぞれに分けてステップS7の処理について説明する。 The process of step S7 will be described separately for the case where the shared encryption key is encrypted with KEK when the key information is created and the case where the shared encryption key is encrypted with the key of each computer belonging to the group.
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合には、ステップS7(図4参照。)の復号処理で、計算機の鍵情報解析部(制御部41)は、自装置が記憶している節点番号と組み合わされたデータ(ここではKEKの暗号化データ)を復号するときに、予め記憶している情報を参照して、その節点番号に対応する共通鍵を特定し、その共通鍵でKEKの暗号化データを復号する。例えば、計算機2−2の鍵情報解析部8−2は、ステップS7において、予め記憶している情報を参照して、自装置が記憶している節点番号“4”に対応する共通鍵K4を特定する。そして、その共通鍵K4を用いて、節点番号“4” と組み合わされたデータ(KEKの暗号化データ)を復号する。また、例えば、計算機2−3の鍵情報解析部8−3は、ステップS7において、予め記憶している情報を参照して、自装置が記憶している節点番号“2”に対応する共通鍵K2を特定する。そして、その共通鍵K2を用いて、節点番号“2” と組み合わされたデータ(KEKの暗号化データ)を復号する。計算機2−4に関しても同様である。 When the shared encryption key is encrypted with KEK when creating the key information, the key information analysis unit (control unit 41) of the computer stores the own key in the decryption process of step S7 (see FIG. 4). When decrypting data (here, encrypted data of KEK) combined with a certain node number, a common key corresponding to the node number is identified by referring to previously stored information, and the common key Decrypt the encrypted data of KEK. For example, the key information analysis unit 8-2 of the computer 2-2 refers to the information stored in advance in step S7, and obtains the common key K4 corresponding to the node number “4” stored in the own device. Identify. Then, by using the common key K4, the data (KEK encrypted data) combined with the node number “4” is decrypted. For example, the key information analysis unit 8-3 of the computer 2-3 refers to the information stored in advance in step S7, and the common key corresponding to the node number “2” stored in the own device. Specify K2. Then, using the common key K2, the data (KEK encrypted data) combined with the node number “2” is decrypted. The same applies to the computer 2-4.
また、鍵情報作成時に共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合には、ステップS7の復号処理で、計算機の鍵情報解析部(制御部41)は、自装置が記憶している節点番号と組み合わされたデータ(ここでは共有暗号鍵の暗号化データ)を復号するときに、予め記憶している情報を参照して、その節点番号に対応する共通鍵を特定し、その共通鍵で共有暗号鍵の暗号化データを復号する。この結果、共有暗号鍵が得られる。 If the shared encryption key is encrypted with the keys of the computers belonging to the group when the key information is created, the key information analysis unit (control unit 41) of the computer stores the key information analysis unit (control unit 41) of the computer in the decryption process of step S7. When decrypting the data (here, the encrypted data of the shared encryption key) combined with the node number being identified, the information stored in advance is referred to, the common key corresponding to the node number is identified, The encrypted data of the shared encryption key is decrypted with the common key. As a result, a shared encryption key is obtained.
また、グループメンバのうちネットワーク1に接続されている計算機同士で暗号化通信を行う場合には、共有暗号鍵で通信データを暗号化して送信し、また、受信したデータを共有暗号鍵で復号すればよい。例えば、第2の実施の形態と同様に通信データを送受信する。
In addition, when performing encrypted communication between computers connected to the
次に、本実施の形態の効果について説明する。本実施の形態では、ブロードキャストエンクリプション(Broadcast Encryption)で利用する鍵束を共通鍵としてグループ管理サーバ5と各計算機とが共有する。そして、「グループメンバを包含する最も根に近い節点」、すなわち、「グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点」の共通鍵を用いて鍵情報を生成する。従って、非常に多くの計算機でグループを形成し、そのような多くの計算機でグループ鍵を共有する場合であっても、鍵情報の情報量を小さくすることができる。
Next, the effect of this embodiment will be described. In this embodiment, the
第4の実施の形態において、鍵情報生成手段および鍵情報送信手段は、グループ管理サーバ5の制御部31によって実現される。鍵情報共有手段および復号手段は、計算機の制御部41によって実現される。共通鍵記憶手段は、グループ管理サーバ5の記憶装置32によって実現される。自装置共通鍵記憶手段は、計算機の記憶装置42によって実現される。
In the fourth embodiment, the key information generation unit and the key information transmission unit are realized by the
また、上記の鍵情報は例示であり、鍵情報に用いられるタグの名称などは、上記述の例に限定されない。また、鍵情報は、XML以外の言語で記述されてもよい。 The above key information is an example, and the name of the tag used for the key information is not limited to the above example. The key information may be described in a language other than XML.
上記のような各実施の形態の暗号通信システムは、例えば、ピアツーピアのコンテンツ配信サービスであって、サービス管理者がサービスするピアを固定し、グループ鍵を有さないピアがコンテンツのダウンロードをできないようなコンテンツ配信サービスに適用される。 The cryptographic communication system of each embodiment as described above is, for example, a peer-to-peer content distribution service in which a service administrator fixes a peer served and a peer that does not have a group key cannot download content. Applied to various content distribution services.
また、上記のような各実施の形態の暗号通信システムは、例えば、サーバとノード間の秘匿通信や、ノード同士の秘匿通信を行うセンサネットワークにも適用される。 Moreover, the encryption communication system of each embodiment as described above is also applied to, for example, a sensor network that performs secret communication between a server and a node and secret communication between nodes.
実施の形態5.
図13は、本発明による暗号通信システムの第5の実施の形態を示すブロック図である。第4の実施形態と同様の構成部については、図9と同一の符号を付し、詳細な説明を省略する。第5の実施の形態では、暗号通信システムは、グループ管理サーバ5と、計算機2−1〜2−5とを備える。図13に示す計算機2−5は、他の計算機2−1〜2−4と同様の計算機である。図13では5台の計算機を示しているが、計算機の台数は5台に限定されない。本実施の形態では、暗号通信システムに、LKH(Logical Key Hierarchy)法を適用する。このLKH法は、ブロードキャストエンクリプション(Broadcast Encryption)において、グループのメンバの入れ替わり頻度が高い際に木構造の一部の節点鍵を変更する。これにより、グループ管理サーバがメンバの入れ替わり頻度が高いグループを管理する場合でも大規模な木構造を事前に生成する必要がない。なお、本実施の形態の説明において、木構造の節点に対応する鍵を節点鍵と記す場合がある。
FIG. 13 is a block diagram showing a fifth embodiment of the cryptographic communication system according to the present invention. Components similar to those in the fourth embodiment are denoted by the same reference numerals as those in FIG. 9, and detailed description thereof is omitted. In the fifth embodiment, the cryptographic communication system includes a
ここでは、各装置が以下のように共通鍵を保持している場合を例にして説明する。計算機2−1は、計算機2−1の秘密鍵として秘密鍵(共通鍵)K0,K1,K3を保持する。計算機2−2は、計算機2−2の秘密鍵として秘密鍵(共通鍵)K0,K1,K4を保持する。計算機2−3は、計算機2−3の秘密鍵として秘密鍵(共通鍵)K0,K2,K5を保持する。計算機2−4は、計算機2−4の秘密鍵として秘密鍵(共通鍵)K0,K2,K6を保持する。計算機2−5は、計算機2−5の秘密鍵として秘密鍵(共通鍵)K0’,K2’,K6’を保持する。また、グループ管理サーバ5は、グループ管理サーバ5の秘密鍵として秘密鍵(共通鍵)αを保持する。
Here, a case where each device holds a common key as described below will be described as an example. The computer 2-1 holds secret keys (common keys) K0, K1, and K3 as secret keys of the computer 2-1. The computer 2-2 holds secret keys (common keys) K0, K1, and K4 as secret keys of the computer 2-2. The computer 2-3 holds secret keys (common keys) K0, K2, and K5 as secret keys of the computer 2-3. The computer 2-4 holds secret keys (common keys) K0, K2, K6 as secret keys of the computer 2-4. The computer 2-5 holds secret keys (common keys) K0 ', K2', K6 'as secret keys of the computer 2-5. The
さらに、グループ管理サーバ5は、計算機の秘密鍵K0〜K6およびK0’,K2’,K6’を保持する。すなわち、グループ管理サーバ5および各計算機2−1〜2−4は、秘密鍵(共通鍵)K0を秘密に共有する。グループ管理サーバ5および計算機2−1,2−2は、秘密鍵(共通鍵)K1を秘密に共有する。グループ管理サーバ5および計算機2−3,2−4は、秘密鍵(共通鍵)K2を秘密に共有する。グループ管理サーバ5および計算機2−1は、秘密鍵(共通鍵)K3を秘密に共有する。グループ管理サーバ5および計算機2−2は、秘密鍵(共通鍵)K4を秘密に共有する。グループ管理サーバ5および計算機2−3は、秘密鍵(共通鍵)K5を秘密に共有する。グループ管理サーバ5および計算機2−4は、秘密鍵(共通鍵)K6を秘密に共有する。グループ管理サーバ5および計算機2−5は、秘密鍵(共通鍵)K0’,K2’,K6’を秘密に共有する。
Further, the
また、各計算機2−1〜2−5は、グループ管理サーバ5の秘密鍵αを保持する。すなわち、グループ管理サーバ5および各計算機2−1〜2−5は、秘密鍵(共通鍵)αを秘密に共有する。
Each of the computers 2-1 to 2-5 holds the secret key α of the
また、グループ管理サーバ5は、第4の実施の形態と同様に、共有暗号鍵g1を保持する。また、鍵情報を作成するときにKEKで共有暗号鍵を暗号化する場合には、グループ管理サーバ5は、KEKも保持する。
Further, the
第4の実施の形態と同様に、第5の実施の形態でも、グループ管理サーバ5は各計算機と秘密鍵(共通鍵)を事前に秘密に共有することを前提とする。このように共通鍵を予め秘密に共有する態様として、例えば、グループ管理サーバの管理主体(例えばCAなどの組織。人であってもよい。)が、秘密に共有する共通鍵を生成し、耐タンパ性を有するメモリ(例えばICカードなど。)にその共通鍵を格納し、計算機を管理する主体(人)にそのメモリを送付(例えば郵送など。)し、メモリを受け取った者が計算機に直接組み込む等の態様がある。ここに示した態様は一例であり、他の態様によって、共通鍵を予め秘密に共有してもよい。共通鍵を予め秘密に共有するので、グループ管理サーバ5は、ネットワーク1を介して共通鍵を受信することは行わない。また、本実施の形態では、グループ管理サーバ5の記憶装置32は、計算機の共通鍵(本例ではK0〜K6)の階層を示す木構造のデータを予め記憶する。この木構造のデータは、例えば、予め入力部34を介して入力され、制御部31が入力された木構造のデータを記憶装置32に記憶させればよい。共通鍵の階層を示す木構造のデータは、各計算機2−1〜2−4が共有する共通鍵(本例ではK0)を根(ルート)とし、個々の計算機2−1〜2−4が他の計算機と重複せずに保持している共通鍵(本例ではK3,K4,K5,K6)を葉(リーフ)とするデータである。すなわち、共通鍵の階層とは、各計算機が共有する共通鍵を根とし、個々の計算機が他の計算機と重複せずに記憶している共通鍵を葉とする階層である。また、木構造のデータにおいて、根、各節、各葉には、それぞれを特定するための識別情報(以下、節点番号と記す。)が定められている。木構造のデータでは、各葉がどの計算機に対応するのかが定められている。
Similar to the fourth embodiment, in the fifth embodiment, it is assumed that the
また、根、葉、節の総称を節点と記すことにする。 The generic name for roots, leaves, and nodes is referred to as a node.
図14は、共通鍵の階層を示す木構造のデータの例を示す説明図である。本例では、各計算機2−1〜2−4が共有する共通鍵K0が根となる。また、計算機2−1が保持して、他の計算機が保持していない共通鍵K3が葉となる。同様に、K4,K5,K6も葉となる。また、計算機2−1,2−2が保持して、計算機2−3,2−4が保持していない共通鍵K1は、根(K0)と、葉(K3,K4)との間の節となる。同様に、共通鍵K2は、根(K0)と、葉(K5,K6)との間の節となる。また、図14に示すように、各根、各節、各葉には節点番号が定められている。本例では、K0〜K6の各節の節点番号が“0”〜“6”であるものとする。また、図14に示すように、木構造のデータには、各葉K3,K4,K5,K6が、それぞれ計算機2−1,2−2,2−3,2−4に対応する葉であることを示す情報が含まれている。 FIG. 14 is an explanatory diagram showing an example of tree-structured data indicating the hierarchy of the common key. In this example, the common key K0 shared by the computers 2-1 to 2-4 is the root. Further, the common key K3 held by the computer 2-1 and not held by other computers becomes a leaf. Similarly, K4, K5, and K6 are also leaves. The common key K1 held by the computers 2-1 and 2-2 and not held by the computers 2-3 and 2-4 is a node between the root (K0) and the leaves (K3 and K4). It becomes. Similarly, the common key K2 is a node between the root (K0) and the leaves (K5, K6). Further, as shown in FIG. 14, node numbers are determined for each root, each node, and each leaf. In this example, it is assumed that the node numbers of the nodes K0 to K6 are “0” to “6”. As shown in FIG. 14, in the tree-structured data, the leaves K3, K4, K5, and K6 are leaves corresponding to the computers 2-1, 2-2, 2-3, and 2-4, respectively. Information is included.
また、木構造のデータには、グループに属さない計算機が保持する共通鍵も記述される。例えば、計算機2−2,2−3,2−4がグループを形成するものとして、この3台の計算機が保持する各共通鍵K0〜K2およびK4〜K6が予めグループ管理サーバ5に記憶される場合であっても、木構造のデータには、グループに属さない計算機2−1が保持する共通鍵K3も記述される。
The tree-structured data also describes a common key held by a computer that does not belong to a group. For example, the computers 2-2, 2-3, and 2-4 form a group, and the common keys K0 to K2 and K4 to K6 held by the three computers are stored in the
ただし、以下の説明では、グループに属する計算機として以前計算機2−2,2−3,2−4が選定されており、その後計算機2−4を無効化して計算機2−5を新たに加える場合を例に説明する。従って、図14に示すように、木構造における各節点K0,K2,K6は、計算機2−5が保持する鍵を示す節点K0’,K2’,K6’に置き換えられる。また、葉K6が計算機2−4に対応する葉であることを示す情報は、葉K6’が計算機2−5に対応する葉であることを示す情報に置き換えられる。なお、節点が置き換えられても、節点番号は変わらない。 However, in the following description, a case where the computers 2-2, 2-3, and 2-4 have been selected as the computers belonging to the group, and then the computer 2-4 is invalidated and a computer 2-5 is newly added. Explained as an example. Therefore, as shown in FIG. 14, the nodes K0, K2, and K6 in the tree structure are replaced with nodes K0 ', K2', and K6 'indicating the keys held by the computer 2-5. The information indicating that the leaf K6 is a leaf corresponding to the computer 2-4 is replaced with information indicating that the leaf K6 'is a leaf corresponding to the computer 2-5. Note that the node number does not change even if the node is replaced.
また、本実施の形態では、各計算機2−1〜2−5は、自身が保持する共通鍵の節点番号と、その節点番号がどの共通鍵に対応する番号であるのかを示す情報を予め保持する。各計算機2−1〜2−5には、例えば、グループ管理者から、節点番号およびその節点番号がどの共通鍵に対応する番号であるのかを示す情報が入力され、その入力された情報を記憶装置42(図3参照。)に記憶させればよい。例えば、共通鍵K0,K1,K3を保持する計算機2−1は、節点番号“0”,“1”,“3”を記憶する。同様に、計算機2−2は、節点番号“0”,“1”,“4”を記憶する。計算機2−3は、節点番号“0”,“2”,“5”を記憶する。計算機2−4は、節点番号“0”,“2”,“6”を記憶する。計算機2−5は、節点番号“0”,“2”,“6”を記憶する。本例では、後計算機2−4を無効化して計算機2−5を新たに加える。従って、計算機2−5は、節点番号“0”,“2”,“6”を記憶する。また、各計算機は、各節点番号が、どの共通鍵に対応する番号であるのかを示す情報も記憶する。 Further, in this embodiment, each of the computers 2-1 to 2-5 holds in advance information indicating the node number of the common key held by itself and which common key the node number corresponds to. To do. Each computer 2-1 to 2-5 receives, for example, information indicating a node number and a common key corresponding to the node number from the group manager, and stores the input information. What is necessary is just to memorize | store in the apparatus 42 (refer FIG. 3). For example, the computer 2-1 that holds the common keys K0, K1, and K3 stores the node numbers “0”, “1”, and “3”. Similarly, the computer 2-2 stores node numbers “0”, “1”, and “4”. The computer 2-3 stores the node numbers “0”, “2”, and “5”. The computer 2-4 stores the node numbers “0”, “2”, and “6”. The computer 2-5 stores the node numbers “0”, “2”, and “6”. In this example, the post-computer 2-4 is invalidated and a computer 2-5 is newly added. Therefore, the computer 2-5 stores the node numbers “0”, “2”, and “6”. Each computer also stores information indicating to which common key each node number corresponds.
既に述べたように、ここでは、グループに属する計算機として以前計算機2−2,2−3,2−4が選定されており、その後計算機2−4を無効化して計算機2−5を新たに加える場合を例に説明する。ステップS1では、グループに属する各計算機(本例では、計算機2−2,2−3,2−5)を示す情報が入力され、グループ管理サーバ5の制御部31は、木構造のデータにおけるどの葉が、グループに属するそれぞれの計算機に対応する葉であるのかを特定する。また、ステップS1では、グループ管理サーバ5には、無効化される計算機(本例では計算機2−4)の情報、および、その無効化される計算機に代わって新たに追加される計算機(本例では計算機2−5)の情報が入力される。グループ管理サーバ5の制御部31は、入力された情報に基づき、当初の木構造のデータに含まれていて無効化される計算機の鍵を示す節点を、新たに追加される計算機が保持する鍵を示す節点に置き換える。また、制御部31は、置き換える前の葉に対応する計算機(無効化される計算機)の情報を、置き換えた後の葉に対応する計算機(新たに追加される計算機)の情報に置き換える。例えば、制御部31は、図14に示すように、当初の木構造における節点K0,K2,K6(無効化される計算機2−4の鍵を示す節点)を、新たに追加される計算機2−5が保持する鍵を示す節点K0’,K2’,K6’に置き換える。また、制御部31は、葉K6が計算機2−4に対応する葉であることを示す情報を、葉K6’が計算機2−5に対応する葉であることを示す情報に置き換える。ただし、制御部31は、節点番号は変化させない。本実施の形態では、ステップS1の後、ステップS2を行わずにステップS3に移行する。
As described above, here, the computers 2-2, 2-3, and 2-4 have been selected as computers belonging to the group, and then the computer 2-4 is invalidated and a computer 2-5 is newly added. A case will be described as an example. In step S1, information indicating each computer belonging to the group (in this example, computers 2-2, 2-3, 2-5) is input, and the
既に説明したように、鍵情報を生成する態様として、共有暗号鍵をグループに属する各計算機の鍵で暗号化する態様や、共有暗号鍵をKEKで暗号化する態様がある。この二つの各態様での鍵情報作成処理(ステップS3)についてそれぞれ説明する。なお、本実施の形態では、鍵情報には、ピアIDの代わりに、節点の識別情報(本例では節点番号)が含まれる。 As already described, as a mode for generating key information, there are a mode in which a shared encryption key is encrypted with a key of each computer belonging to the group, and a mode in which the shared encryption key is encrypted with KEK. The key information creation processing (step S3) in each of these two modes will be described. In this embodiment, the key information includes node identification information (node number in this example) instead of the peer ID.
本実施の形態では、ステップS3で、まず、節点鍵が変更された後も木構造に属する計算機に対して新しい節点鍵を伝達するために、このような計算機が保有する有効な接点鍵で暗号化する。すなわち、ステップS3で、グループ管理サーバ5の制御部31は、木構造のデータにおいて置き換えられた節点が示す鍵を、無効化されずに残った計算機に保持させることができるように、置き換えられた節点が示す鍵を、無効化されずに残った計算機が保持する節点鍵(または無効化されずに残った計算機が保持することになる鍵)で暗号化する。つぎに、節点鍵を別の節点鍵で暗号化した結果得られるデータを文字コードとして表すために、このデータを、例えばBASE64などで変換(エンコード)する。図14に示す例では、グループ管理サーバ5の制御部31は、まず、変更される節点鍵のうち、葉を除いた最も葉に近い節点鍵K2’は計算機2−3に保有されるべきものなので、K2’をK5(計算機2−3が保持する鍵)で暗号化し、BASE64等で変換する。つぎに、K2’のつぎに最も葉に近い節点鍵K0’は、無効化された計算機2−4を除くすべての計算機に保有されるべきものなので、K0’をK1(計算機2−1,2−2が保持する鍵)で暗号化し、BASE64等で変換したものと、K2’(計算機2−3が保持することになる鍵)で暗号化し、BASE64等で変換したものを別々に作成する。
In this embodiment, in step S3, first, after the node key is changed, in order to transmit a new node key to the computer belonging to the tree structure, encryption is performed with an effective contact key held by such a computer. Turn into. That is, in step S3, the
つぎに、共有暗号鍵をKEKで暗号化して鍵情報を作成する場合、グループ管理サーバ5の制御部31は、グループメンバを包含する最も根に近い節点の共通鍵でKEKを暗号化する。なお、「グループメンバを包含する最も根に近い節点」とは、「グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点」を意味する。また、ここで、節点とは、節に限らず、葉や根であってもよい。また、制御部31は、そのような節点の共通鍵でKEKを暗号化し、その暗号化データと、その節点の節点番号とを組み合わせて、kek タグとともに記述する。第1の実施の形態や第3の実施の形態では、ピアIDと暗号化したKEKとの組み合わせをkek タグとともに記述していたが、本実施の形態では、節点番号とその節点番号の共通鍵で暗号化したKEKとの組み合わせをkek タグとともに記述する点で、第1の実施の形態や第3の実施の形態とは異なる。また、署名データの生成態様は、第3の実施の形態と同様である。ステップS3のその他の点に関しては第1の実施の形態において共有暗号鍵をKEKで暗号化する場合と同様である。
Next, when the key information is created by encrypting the shared encryption key with KEK, the
図15は、本例において生成される鍵情報の例を示す説明図である。本例では、計算機2−2,2−3,2−5がグループに属し、計算機2−1,2−4はグループに属さない。制御部31は、木構造のデータを参照して、「グループメンバを包含する最も根に近い節点」、すなわち、「グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点」を判定する。ここで、計算機が保持する鍵には、計算機が保持することが可能な鍵(計算機が保持することになる鍵)も含まれる。図14に示す木構造を参照すると、計算機2−2に関しては、グループに属さない計算機2−1が保持することが可能な共通鍵K0’および計算機2−1が保持するK1,K3を除けば、最も根に近い節点はK4(節点番号“4”)となる。また、計算機2−3,2−5に関しては、グループに属さない計算機2−1が保持することが可能な共通鍵K0’および計算機2−1が保持するK1,K3を除けば、最も根に近い節点はK2’(節点番号“2”)となる。従って、制御部31は、節点番号“2”に対応する新しい共通鍵K2’でKEKを暗号化し、その暗号化したデータをBASE64などで変換し、変換結果を節点番号“2”と組み合わせて記述する(図15に示す8行目の記載を参照。)。同様に、制御部31は、節点番号“4”に対応する共通鍵K4でKEKを暗号化し、その暗号化したデータをBASE64などで変換し、変換結果を節点番号“4”と組み合わせて記述する(図15に示す8行目の記載を参照。)。これらの記述は、kek タグとあわせて記述される。つぎに、制御部31は、節点鍵が変更された後も木構造に属する計算機に対して新しい節点鍵を伝達するために、上述の暗号化(すなわち、置き換えられた節点が示す鍵を、無効化されずに残った計算機が保持する節点鍵(または無効化されずに残った計算機が保持することになる鍵)で暗号化する処理)を行い、Base64で変換された情報をrevタグとともに記述する。revタグとともに記述される情報は、節点鍵が変更された節点番号と、変更された節点鍵を暗号化した節点鍵の節点番号と、その節点番号に対応する節点鍵で、変更された節点鍵を暗号化し、BASE64等で変換したデータとの組み合わせである。図15に例示する“2:5:42af”は、節点番号2の節点鍵K2が変更され、その新しい節点鍵K2’が節点番号5の節点鍵K5により暗号化されていることを示していて、“42af”はK2’をK5で暗号化したデータをBASE64等で変換したものであることを示している。同様に、図15に例示する“0:2:ef3f”は、節点番号0の節点鍵K0が変更され、その新しい節点鍵K0’が節点番号2の節点鍵K2’により暗号化されていることを示していて、“ef3f”はK0’をK2’で暗号化したデータをBASE64等で変換したものであることを示している。同様に、図15に例示する“0:1:abcd”は、節点番号0の節点鍵K0が変更され、その新しい節点鍵K0’が節点番号1の節点鍵K1により暗号化されていることを示していて、“abcd”はK0’をK1で暗号化したデータをBASE64等で変換したものであることを示している。制御部31は、このようなrevタグの記述を行う。その他の点(共通暗号鍵の暗号化や署名データの生成等)については、第3の実施の形態と同様であるので説明を省略する。
FIG. 15 is an explanatory diagram showing an example of key information generated in this example. In this example, the computers 2-2, 2-3, and 2-5 belong to a group, and the computers 2-1 and 2-4 do not belong to a group. The
図16、図17は、本例において生成される鍵情報の変形例を示す説明図である。本例では、新しい節点鍵の情報を図17に示したような別の鍵情報(以降、この鍵情報のことを節点鍵情報と呼ぶ)として管理した上で、図16に示すようにrevタグには節点鍵情報を取得するためのKey_Locationが記載される。このKey_Locationは、第2の実施の形態で説明したKey_Locationと同様、計算機が節点鍵情報を取得するための情報である。例えば、節点鍵情報のURI(Uniform Resource Indicator)をKey_Locationとしてもよい。この場合、例えば、グループ管理サーバ5が、節点鍵情報を生成するときに節点鍵情報にURIの情報を含め、また、グループ管理サーバ5自身が節点鍵情報を保持して、URIによって節点鍵情報へのアクセスを可能となるようにしておけばよい。また、URIがグループ管理サーバ5以外の装置を指定するURIであり、グループ管理サーバ5がその装置に節点鍵情報を送信して記憶させてもよい。あるいは、通信データを送信する計算機がURIを定め、その計算機がURIによって特定される装置に節点鍵情報を送信して記憶させてもよい。また、通信データを送受信する各計算機が、DHT(Distributed Hash Table)のようなピアツーピアのファイル共有システムを利用して節点鍵情報を共有している場合には、節点鍵情報のハッシュ値をKey_Locationとして用いてもよい。図17に記載したrevタグとともに記述される情報は、図15を参照して説明した場合と同様、節点鍵が変更された節点番号と、変更された節点鍵を暗号化した節点鍵の節点番号と、その節点番号に対応する節点鍵で、変更された節点鍵を暗号化し、BASE64等で変換したデータとの組み合わせである。図17に例示する“2:5:42af”は、節点番号2の節点鍵K2が変更され、その新しい節点鍵K2’が節点番号5の節点鍵K5により暗号化されていることを示していて、“42af”はK2’をK5で暗号化したデータをBASE64等で変換したものであることを示している。同様に、図17に例示する“0:2:ef3f”は、節点番号0の節点鍵K0が変更され、その新しい節点鍵K0’が節点番号2の節点鍵K2’により暗号化されていることを示していて、“ef3f”はK0’をK2’で暗号化したデータをBASE64等で変換したものであることを示している。同様に、図17に例示する“0:1:abcd”は、節点番号0の節点鍵K0が変更され、その新しい節点鍵K0’が節点番号1の節点鍵K1により暗号化されていることを示していて、“abcd”はK0’をK1で暗号化したデータをBASE64等で変換したものであることを示している。その他の点(共通暗号鍵の暗号化や署名データの生成等)については、第3の実施の形態と同様であるので説明を省略する。
16 and 17 are explanatory diagrams illustrating modifications of the key information generated in this example. In this example, the new node key information is managed as other key information as shown in FIG. 17 (hereinafter, this key information is referred to as node key information), and then the rev tag as shown in FIG. Describes Key_Location for acquiring node key information. This Key_Location is information for the computer to acquire the node key information, like the Key_Location described in the second embodiment. For example, the URI (Uniform Resource Indicator) of the node key information may be Key_Location. In this case, for example, when the
また、本実施の形態では、グループに属する各計算機の鍵で共有暗号鍵を暗号化する場合、ステップS3で、グループ管理サーバ5の制御部31は、グループメンバを包含する最も根に近い節点の共通鍵で共有暗号鍵を暗号化する。すなわち、制御部31は、グループに属さない計算機が保持する共通鍵を除いた中で、最も根に近い節点の共通鍵を用いて、共有暗号鍵を暗号化する。なお、この節点の共通鍵には新しい節点鍵を利用する。そして、制御部31は、その節点の節点番号と、共有暗号鍵を暗号化したデータとを組み合わせて、kek タグとともに記述する。制御部31は、このような節点番号と共有暗号鍵を暗号化したデータとの組み合わせを、グループに属する各計算機毎に導出して、kek タグとともに記述する。最後に、節点鍵が変更された後も木構造に属する計算機に対して新しい節点鍵を伝達するために、上述の暗号化(すなわち、置き換えられた節点が示す鍵を、無効化されずに残った計算機が保持する節点鍵(または無効化されずに残った計算機が保持することになる鍵)で暗号化する処理)を行い、Base64で変換された情報をrevタグとともに記述するか、図17に例示するような新しい節点鍵情報を生成し、その節点鍵情報の場所をrevタグとともに記述する。また、署名データの生成態様は、第3の実施の形態と同様である。その他の点に関しては第1の実施の形態においてグループに属する各計算機の鍵で共有暗号鍵を暗号化する場合と同様である。
Further, in this embodiment, when the shared encryption key is encrypted with the keys of the computers belonging to the group, in step S3, the
ステップS4,S5の処理は、第3の実施の形態と同様である。 Steps S4 and S5 are the same as those in the third embodiment.
ステップS6(図4参照。)の判定処理では、計算機の鍵情報解析部(制御部41)は、自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されているか否かにより、自装置がグループメンバであるか否かを判定する。自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されている場合には、自装置がグループメンバであると判定する。また、自装置が予め記憶している節点番号と一致する節点番号がkek タグに記述されていない場合には、自装置がグループメンバではないと判定する。例えば、本例では、計算機2−1は、節点番号“0”,“1”,“3”を記憶する。計算機2−1の鍵情報解析部8−1は、図15に例示する鍵情報を参照した場合、節点番号“0”,“1”,“3”のいずれもkek タグに記述されていないので、自装置がグループメンバではないと判定し(ステップS6のNo)、処理を終了する。 In the determination process of step S6 (see FIG. 4), the key information analysis unit (control unit 41) of the computer determines whether or not the node number that matches the node number stored in advance in the own device is described in the kek tag. Therefore, it is determined whether or not the own device is a group member. If the node number that matches the node number stored in advance in the own device is described in the kek tag, it is determined that the own device is a group member. If the node number that matches the node number stored in advance in the own device is not described in the kek tag, it is determined that the own device is not a group member. For example, in this example, the computer 2-1 stores node numbers “0”, “1”, and “3”. When the key information analysis unit 8-1 of the computer 2-1 refers to the key information illustrated in FIG. 15, none of the node numbers “0”, “1”, and “3” are described in the kek tag. Then, it is determined that the own device is not a group member (No in step S6), and the process is terminated.
また、例えば、計算機2−2は、節点番号“0”,“1”,“4”を記憶する。計算機2−2の鍵情報解析部8−2は、図15に例示する鍵情報を参照した場合、節点番号“4”が記述されているので、自装置がグループメンバであると判定し(ステップS6のYes)、ステップS7に移行する。同様に、計算機2−3は、節点番号“0”,“2”,“5”を記憶する。計算機2−3の鍵情報解析部8−3は、図15に例示する鍵情報を参照した場合、節点番号“2”が記述されているので、自装置がグループメンバであると判定し(ステップS6のYes)、ステップS7に移行する。計算機2−5に関しても同様である。 For example, the computer 2-2 stores the node numbers “0”, “1”, and “4”. When the key information illustrated in FIG. 15 is referred to, the key information analysis unit 8-2 of the computer 2-2 determines that the own device is a group member because the node number “4” is described (Step S1). (Yes in S6), the process proceeds to step S7. Similarly, the computer 2-3 stores node numbers “0”, “2”, and “5”. When the key information analysis unit 8-3 of the computer 2-3 refers to the key information illustrated in FIG. 15, since the node number “2” is described, the key information analysis unit 8-3 determines that the own device is a group member (Step S1). (Yes in S6), the process proceeds to step S7. The same applies to the calculator 2-5.
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合と、共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合それぞれに分けてステップS7の処理について説明する。 The process of step S7 will be described separately for the case where the shared encryption key is encrypted with KEK when the key information is created and the case where the shared encryption key is encrypted with the key of each computer belonging to the group.
鍵情報作成時に共有暗号鍵がKEKで暗号化される場合には、計算機の鍵情報解析部(制御部41)は、ステップS7(図4参照。)の復号処理で、まずrevタグを参照し、図16に例示するようなフォーマットだと先に節点鍵情報をダウンロードした上で、自分が保持する節点鍵が更新されてないか確認した上で、更新されている場合は、自分の保有する他の節点鍵を用いて新しい節点鍵を復号し、格納する。例えば、計算機2−3の鍵情報解析部(制御部41)が、図15に例示する鍵情報を共有化しているとする。この場合、計算機2−3の鍵情報解析部8−3は、“2:5:42af”という記述を参照して、自身が保持する節点鍵(節点番号2に対応するK2)が更新されたと判定し、“42af”をBASE64等で変換する。さらに、そのデータを節点番号5に対応する鍵K5(計算機2−3が保持している鍵)で復号し、その結果得られる鍵K2’を記憶装置に格納する。さらに、計算機2−3の鍵情報解析部8−3は、“0:2:ef3f”という記述を参照して、自身が保持する節点鍵(節点番号0に対応するK0)が更新されたと判定し、“0:2:ef3f” をBASE64等で変換する。さらに、そのデータを節点番号2に対応する鍵K2’で復号し、その結果得られる鍵K0’を記憶装置に格納する。ここでは、計算機2−3が鍵K2’を得て、さらに“0:2:ef3f”という記述を参照して鍵K0’を得る場合を説明した。計算機2−1,2−2は、“0:1:abcd”という記述を参照して、自身が保持する鍵K1を用いて、K0’を復号すればよい。また、自分の保有する節点鍵で新しい節点鍵を復号できない場合はその計算機は無効化端末であるため、処理を終了する。例えば、計算機2−4の鍵情報解析部(制御部41)は、図15に例示するrevタグの記述を参照して、暗号化された鍵を復号するための鍵を保持していないと判定し、処理を終了する。つぎに、計算機の鍵情報解析部(制御部41)は、自装置が記憶している節点番号と組み合わされたデータ(ここではKEKの暗号化データ)を復号するときに、予め記憶している情報を参照して、その節点番号に対応する共通鍵を特定し、その共通鍵でKEKの暗号化データを復号する。例えば、計算機2−2の鍵情報解析部8−2は、ステップS7において、予め記憶している情報を参照して、自装置が記憶している節点番号“4”に対応する共通鍵K4を特定する。そして、その共通鍵K4を用いて、節点番号“4” と組み合わされたデータ(KEKの暗号化データ)を復号する。また、例えば、計算機2−5の鍵情報解析部8−5は、ステップS7において、予め記憶している情報を参照して、自装置が記憶している節点番号“2”に対応する共通鍵K2’を特定する。そして、その共通鍵K2’を用いて、節点番号“2” と組み合わされたデータ(KEKの暗号化データ)を復号する。計算機2−3に関しても同様である。
If the shared encryption key is encrypted with KEK when creating the key information, the key information analysis unit (control unit 41) of the computer first refers to the rev tag in the decryption process of step S7 (see FIG. 4). In the case of the format illustrated in FIG. 16, after the node key information is downloaded first, it is confirmed whether or not the node key held by itself has been updated. Decrypt and store the new node key using the other node key. For example, it is assumed that the key information analysis unit (control unit 41) of the computer 2-3 shares the key information illustrated in FIG. In this case, the key information analysis unit 8-3 of the computer 2-3 refers to the description “2: 5: 42af” and updates the node key held by itself (K2 corresponding to the node number 2). Judgment is made and “42af” is converted with BASE64 or the like. Further, the data is decrypted with the key K5 (key held by the computer 2-3) corresponding to the
また、鍵情報作成時に共有暗号鍵がグループに属する各計算機の鍵で暗号化される場合には、ステップS7の復号処理で、計算機の鍵情報解析部(制御部41)は、自装置が記憶している節点番号と組み合わされたデータ(ここでは共有暗号鍵の暗号化データ)を復号するときに、予め記憶している情報を参照して、その節点番号に対応する共通鍵を特定し、その共通鍵で共有暗号鍵の暗号化データを復号する。この結果、共有暗号鍵が得られる。 If the shared encryption key is encrypted with the keys of the computers belonging to the group when the key information is created, the key information analysis unit (control unit 41) of the computer stores the key information analysis unit (control unit 41) of the computer in the decryption process of step S7. When decrypting the data (here, the encrypted data of the shared encryption key) combined with the node number being identified, the information stored in advance is referred to, the common key corresponding to the node number is identified, The encrypted data of the shared encryption key is decrypted with the common key. As a result, a shared encryption key is obtained.
また、グループメンバのうちネットワーク1に接続されている計算機同士で暗号化通信を行う場合には、共有暗号鍵で通信データを暗号化して送信し、また、受信したデータを共有暗号鍵で復号すればよい。例えば、第2の実施の形態と同様に通信データを送受信する。
In addition, when performing encrypted communication between computers connected to the
次に、本実施の形態の効果について説明する。本実施の形態では、LKH(Logical Key Hierarchy)法を利用して、グループのメンバの入れ替わり頻度が高い際に木構造の一部の節点鍵を変更する。これにより、ブロードキャストエンクリプション(Broadcast Encryption)で利用する木構造を構築するときに、グループメンバの入れ替わりを考慮しなくても、グループの規模のみ考慮して構築すればよいため、不必要に大規模な木構造を事前に生成する必要がない。 Next, the effect of this embodiment will be described. In the present embodiment, using a LKH (Logical Key Hierarchy) method, some node keys of the tree structure are changed when the frequency of replacement of group members is high. As a result, when building a tree structure used for broadcast encryption (Broadcast Encryption), it is only necessary to consider the scale of the group without considering the replacement of group members. It is not necessary to generate a simple tree structure in advance.
第5の実施の形態において、鍵情報生成手段および鍵情報送信手段は、グループ管理サーバ5の制御部31によって実現される。鍵情報共有手段および復号手段は、計算機の制御部41によって実現される。共通鍵記憶手段は、グループ管理サーバ5の記憶装置32によって実現される。自装置共通鍵記憶手段は、計算機の記憶装置42によって実現される。
In the fifth embodiment, the key information generation unit and the key information transmission unit are realized by the
また、上記の鍵情報は例示であり、鍵情報に用いられるタグの名称などは、上記述の例に限定されない。また、鍵情報は、XML以外の言語で記述されてもよい。 The above key information is an example, and the name of the tag used for the key information is not limited to the above example. The key information may be described in a language other than XML.
上記のような各実施の形態の暗号通信システムは、例えば、ピアツーピアのコンテンツ配信サービスであって、サービス管理者がサービスするピアを固定し、グループ鍵を有さないピアがコンテンツのダウンロードをできないようなコンテンツ配信サービスに適用される。 The cryptographic communication system of each embodiment as described above is, for example, a peer-to-peer content distribution service in which a service administrator fixes a peer served and a peer that does not have a group key cannot download content. Applied to various content distribution services.
また、上記のような各実施の形態の暗号通信システムは、例えば、サーバとノード間の秘匿通信や、ノード同士の秘匿通信を行うセンサネットワークにも適用される。 Moreover, the encryption communication system of each embodiment as described above is also applied to, for example, a sensor network that performs secret communication between a server and a node and secret communication between nodes.
本発明は、情報処理装置間での暗号通信を行うピアツーピアネットワークでのファイル共有システムに適用可能である。また、特定のセンサノード群でのアクセス制御を実現するために、センサノードがグループ鍵を共有するセンサネットワークにも適用可能である。 The present invention is applicable to a file sharing system in a peer-to-peer network that performs encrypted communication between information processing apparatuses. Further, in order to realize access control in a specific sensor node group, the present invention can also be applied to a sensor network in which sensor nodes share a group key.
1 通信ネットワーク
2−1〜2−5 計算機
4 認証サーバ
5 グループ管理サーバ
7−1〜7−5 鍵情報共有部
8−1〜8−5 鍵情報解析部
DESCRIPTION OF
Claims (25)
グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、
各情報処理装置は、
鍵情報送信手段によって送信された鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、
他の情報処理装置と共有した鍵情報に自装置の識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含む
ことを特徴とする暗号通信システム。 An encryption communication system comprising a plurality of information processing devices, at least a part or all of which forms a group,
Key information generation that generates key information including group key encryption data obtained by encrypting a group key used when information processing apparatuses forming a group perform encrypted communication, and identification information of each information processing apparatus forming the group Means,
Key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network;
Each information processing device
Key information sharing means for sharing the key information with each information processing device connected to the communication network when receiving the key information transmitted by the key information transmitting means;
And decryption means for decrypting the group key from the group key encryption data included in the key information when the identification information of the own device is included in the key information shared with another information processing apparatus. A cryptographic communication system.
鍵情報生成手段は、グループを形成する各情報処理装置それぞれの公開鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループを形成する情報処理装置毎の識別情報との組み合わせを含む鍵情報を生成し、
各情報処理装置は、自装置の秘密鍵を記憶する秘密鍵記憶手段を備え、
各情報処理装置の復号手段は、自装置の秘密鍵を用いて、自装置の識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する
請求項1に記載の暗号通信システム。 Comprising public key storage means for storing the public key of each information processing apparatus forming a group,
Key information generating means generates group key encryption data obtained by encrypting a group key with a public key of each information processing device forming a group, and identifies the group key encryption data and each information processing device forming a group Generate key information including a combination with information,
Each information processing apparatus includes a secret key storage unit that stores a secret key of the own apparatus,
The encryption communication system according to claim 1, wherein the decryption means of each information processing device decrypts the group key from the group key encryption data combined with the identification information of the own device, using the secret key of the own device.
鍵情報生成手段は、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループを形成する各情報処理装置それぞれの公開鍵で前記鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループを形成する各情報処理装置毎の識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、
各情報処理装置は、自装置の秘密鍵を記憶する秘密鍵記憶手段を備え、
各情報処理装置の復号手段は、自装置の秘密鍵を用いて、自装置の識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、当該鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する
請求項1に記載の暗号通信システム。 Comprising public key storage means for storing the public key of each information processing apparatus forming a group,
Key information generation means generates a group key encryption data by encrypting a group key with a key encryption key, and encrypts the key encryption key with a public key of each information processing apparatus forming the group. Generating key encryption data, generating key information including the group key encryption data and a combination of identification information and key encryption key encryption data for each information processing device forming a group;
Each information processing apparatus includes a secret key storage unit that stores a secret key of the own apparatus,
The decryption means of each information processing device decrypts the key encryption key from the key encryption key encryption data combined with the identification information of the own device using the secret key of the own device, and uses the key encryption key. The encryption communication system according to claim 1, wherein the group key is decrypted from the group key encryption data.
鍵情報生成手段は、グループを形成する各情報処理装置それぞれの共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループを形成する情報処理装置毎の識別情報との組み合わせを含む鍵情報を生成し、
各情報処理装置は、自装置の共通鍵を記憶する自装置共通鍵記憶手段を備え、
各情報処理装置の復号手段は、自装置の共通鍵を用いて、自装置の識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する
請求項1に記載の暗号通信システム。 A common key storage means for storing a common key of each information processing apparatus forming a group;
The key information generation means generates group key encryption data obtained by encrypting a group key with a common key of each information processing apparatus forming a group, and identifies the group key encryption data and each information processing apparatus forming a group Generate key information including a combination with information,
Each information processing device includes own device common key storage means for storing a common key of the own device,
The encryption communication system according to claim 1, wherein the decryption means of each information processing device decrypts the group key from the group key encryption data combined with the identification information of the own device, using the common key of the own device.
鍵情報生成手段は、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループを形成する各情報処理装置それぞれの共通鍵で前記鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループを形成する各情報処理装置毎の識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、
各情報処理装置は、自装置の共通鍵を記憶する自装置共通鍵記憶手段を備え、
各情報処理装置の復号手段は、自装置の共通鍵を用いて、自装置の識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、当該鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する
請求項1に記載の暗号通信システム。 A common key storage means for storing a common key of each information processing apparatus forming a group;
Key information generation means generates a group key encrypted data by encrypting a group key with a key encryption key, and encrypts the key encryption key with a common key of each information processing apparatus forming the group. Generating key encryption data, generating key information including the group key encryption data and a combination of identification information and key encryption key encryption data for each information processing device forming a group;
Each information processing device includes own device common key storage means for storing a common key of the own device,
The decryption means of each information processing device decrypts the key encryption key from the key encryption key encryption data combined with the identification information of the own device using the common key of the own device, and uses the key encryption key. The encryption communication system according to claim 1, wherein the group key is decrypted from the group key encryption data.
グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、
グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、
各情報処理装置は、
鍵情報送信手段によって送信された鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、
他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含む
ことを特徴とする暗号通信システム。 An encryption communication system comprising a plurality of information processing devices, at least a part or all of which forms a group,
Stores a common key of each information processing apparatus forming a group and tree structure data indicating a hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node. A common key storage means;
Generates group key encryption data by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing device that does not belong to the group, and the group key encryption data and information that does not belong to the group Key information generating means for generating key information including a combination with the node identification information of the node closest to the root, excluding the common key of the processing device;
Key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network;
Each information processing device
Key information sharing means for sharing the key information with each information processing device connected to the communication network when receiving the key information transmitted by the key information transmitting means;
Decryption means for decrypting a group key from group key encryption data included in the key information when key information shared with another information processing apparatus includes node identification information corresponding to the common key of the own apparatus A cryptographic communication system characterized by comprising:
各情報処理装置の復号手段は、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、当該接点識別情報に対応する自装置の共通鍵を用いて、当該接点識別情報と組み合わされたグループ鍵暗号データからグループ鍵を復号する
請求項6に記載の暗号通信システム。 Each information processing device includes own device common key storage means for storing a common key of the own device,
The decryption means of each information processing device is shared by the own device corresponding to the contact identification information when the node information corresponding to the common key of the own device is included in the key information shared with the other information processing devices. The encryption communication system according to claim 6, wherein a group key is decrypted from the group key encryption data combined with the contact identification information using a key.
グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、
グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備え、
各情報処理装置は、
鍵情報送信手段によって送信された鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有する鍵情報共有手段と、
他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する復号手段とを含む
ことを特徴とする暗号通信システム。 An encryption communication system comprising a plurality of information processing devices, at least a part or all of which forms a group,
Stores a common key of each information processing apparatus forming a group and tree structure data indicating a hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node. A common key storage means;
Encrypt the group key with a key encryption key to generate group key encryption data, and encrypt the key encryption key with the common key of the node closest to the root, excluding the common key of information processing devices that do not belong to the group Key encryption key encryption data is generated, and the group key encryption data and the node identification information of the node closest to the root and the key encryption key encryption data of the information processing device not belonging to the group are excluded. Key information generating means for generating key information including a combination;
Key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network;
Each information processing device
Key information sharing means for sharing the key information with each information processing device connected to the communication network when receiving the key information transmitted by the key information transmitting means;
Decryption means for decrypting a group key from group key encryption data included in the key information when key information shared with another information processing apparatus includes node identification information corresponding to the common key of the own apparatus A cryptographic communication system characterized by comprising:
各情報処理装置の復号手段は、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、当該接点識別情報に対応する自装置の共通鍵を用いて、当該接点識別情報と組み合わされた鍵暗号化鍵暗号データから鍵暗号化鍵を復号し、当該鍵暗号化鍵を用いてグループ鍵暗号データからグループ鍵を復号する
請求項8に記載の暗号通信システム。 Each information processing device includes own device common key storage means for storing a common key of the own device,
The decryption means of each information processing device is shared by the own device corresponding to the contact identification information when the node information corresponding to the common key of the own device is included in the key information shared with the other information processing devices. The key encryption key is decrypted from the key encryption key encryption data combined with the contact identification information using the key, and the group key is decrypted from the group key encryption data using the key encryption key. The cryptographic communication system described.
グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、前記無効化される情報処理装置の共通鍵を示す節点を、前記新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、前記鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを前記鍵情報に含め、When information indicating an information processing device to be invalidated in a group and information indicating an information processing device newly added in place of the information processing device to be invalidated are input, of the nodes of the tree structure data The node indicating the common key of the information processing device to be invalidated is replaced with the node indicating the common key of the information processing device to be newly added, key information is generated again, and the key information is At the time of generation, the common key indicated by the replaced node is newly held by the common key already held by the information processing apparatus that remains without being invalidated or by the information processing apparatus that remains without being invalidated. The key information includes a combination of the node identification number indicating the encrypted common key, the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption,
各情報処理装置は、自装置の共通鍵を記憶する自装置共通鍵記憶手段を含み、 Each information processing device includes own device common key storage means for storing a common key of the own device,
各情報処理装置の復号手段は、The decoding means of each information processing device
前記鍵情報に含まれる暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを参照し、自装置の自装置共通鍵記憶手段が記憶していた共通鍵を示す節点が置き換えられた場合に、前記暗号化して得られたデータを、その暗号化に用いた共通鍵で復号し、復号した共通鍵を前記自装置共通鍵記憶手段に記憶させるRefer to the combination of the node identification number indicating the encrypted common key included in the key information, the node identification information indicating the common key used for encryption, and the data obtained by encryption, and When the node indicating the common key stored in the own device common key storage means is replaced, the encrypted data is decrypted with the common key used for the encryption, and the decrypted common key is Store in the device common key storage means
請求項6から請求項9のうちのいずれか1項に記載の暗号通信システム。The cryptographic communication system according to any one of claims 6 to 9.
各情報処理装置は、
他の情報処理装置への通信内容をグループ鍵で暗号化し、暗号化したデータに前記グループ鍵に対応するバージョン情報と、鍵情報にアクセスするためのアクセス情報とを付加した通信データを生成し、前記通信データを他の情報処理装置に送信する通信データ送信手段を含む
請求項1から請求項10のうちのいずれか1項に記載の暗号通信システム。 Each time the key information generating unit updates the group key, it adds the group key encrypted data obtained by encrypting the group key to the key information, and assigns version information corresponding to the group key encrypted data included in the key information,
Each information processing device
The communication contents to other information processing devices are encrypted with a group key, and communication data is generated by adding the version information corresponding to the group key to the encrypted data and the access information for accessing the key information, The encryption communication system according to any one of claims 1 to 10 , further comprising communication data transmission means for transmitting the communication data to another information processing apparatus.
他の情報処理装置から通信データを受信したときに、当該通信データに付加されているバージョン情報に対応するグループ鍵を保持しているか否かを判定する判定手段を備え、
鍵情報共有手段は、前記通信データに付加されているバージョン情報に対応するグループ鍵を保持していないと判定したときに、前記通信データに付加されているアクセス情報によって鍵情報にアクセスし、
復号手段は、前記鍵情報内で前記バージョン情報が割り当てられたグループ鍵暗号データからグループ鍵を復号する
請求項11に記載の暗号通信システム。 Each information processing device
When receiving communication data from another information processing apparatus, a determination unit that determines whether or not the group key corresponding to the version information added to the communication data is held,
When it is determined that the key information sharing means does not hold a group key corresponding to the version information added to the communication data, the key information sharing means accesses the key information by the access information added to the communication data,
The cryptographic communication system according to claim 11 , wherein the decrypting means decrypts a group key from group key encrypted data to which the version information is assigned in the key information.
一部の情報処理装置は、他の情報処理装置と前記サーバとの間の通信の中継を行い、
前記一部のサーバは、鍵情報を記憶し、
前記他の情報処理装置は、通信ネットワークに接続されていない状態から通信ネットワークに接続された状態になったときに、前記一部の情報処理装置から鍵情報を受信する
請求項1から請求項12のうちのいずれか1項に記載の暗号通信システム。 A server including key information transmitting means;
Some information processing devices relay communication between other information processing devices and the server,
The some servers store key information;
The other information processing apparatus, when it becomes a state that is not connected to a communication network to a state connected to the communication network, claims 1 to 12 for receiving the key information from the portion of the information processing apparatus The encryption communication system of any one of these.
鍵情報生成手段が、グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成し、
鍵情報送信手段が、前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信し、
前記一の情報処理装置の鍵情報共有手段が、前記鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有し、
各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する
ことを特徴とする鍵共有方法。 A key sharing method applied to an encryption communication system provided with a plurality of information processing devices, at least a part or all of which forms a group,
Key information including group key encryption data obtained by encrypting a group key used when the information processing apparatuses forming the group perform encrypted communication by the key information generation unit, and identification information of each information processing apparatus forming the group Produces
Key information transmitting means transmits the key information to only one information processing apparatus connected to the communication network via the communication network,
When the key information sharing means of the one information processing apparatus receives the key information, the key information is shared with each information processing apparatus connected to the communication network,
When the decryption means of each information processing device includes the identification information of its own device in the key information shared with other information processing devices, the decryption means decrypts the group key from the group key encryption data included in the key information. A key sharing method characterized by:
共通鍵記憶手段が、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶し、
鍵情報生成手段が、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成し、
鍵情報送信手段が、前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信し、
前記一の情報処理装置の鍵情報共有手段が、前記鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有し、
各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する
ことを特徴とする鍵共有方法。 A key sharing method applied to an encryption communication system provided with a plurality of information processing devices, at least a part or all of which forms a group,
The common key storage means is a tree structure data indicating a common key of each information processing device forming a group and a hierarchy of the common key of each information processing device, and node identification information for identifying each node is defined. Store structural data,
Key information generating means generates group key encrypted data obtained by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing apparatus not belonging to the group, and the group key encrypted data and , Generating key information including a combination with the node identification information of the node closest to the root, excluding the common key of the information processing device not belonging to the group,
Key information transmitting means transmits the key information to only one information processing apparatus connected to the communication network via the communication network,
When the key information sharing means of the one information processing apparatus receives the key information, the key information is shared with each information processing apparatus connected to the communication network,
When the decryption means of each information processing device includes the node identification information corresponding to the common key of the own device in the key information shared with the other information processing device, the group key encryption included in the key information A key sharing method characterized by decrypting a group key from data.
共通鍵記憶手段が、グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶し、
鍵情報生成手段が、グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成し、
鍵情報送信手段が、前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信し、
前記一の情報処理装置の鍵情報共有手段が、前記鍵情報を受信したときに、当該鍵情報を前記通信ネットワークに接続されている各情報処理装置との間で共有し、
各情報処理装置の復号手段が、他の情報処理装置と共有した鍵情報に自装置の共通鍵に応じた節点識別情報が含まれているときに、前記鍵情報に含まれているグループ鍵暗号データからグループ鍵を復号する
ことを特徴とする鍵共有方法。 A key sharing method applied to an encryption communication system provided with a plurality of information processing devices, at least a part or all of which forms a group,
The common key storage means is a tree structure data indicating a common key of each information processing device forming a group and a hierarchy of the common key of each information processing device, and node identification information for identifying each node is defined. Store structural data,
The key information generation means generates the group key encrypted data by encrypting the group key with the key encryption key, and uses the common key of the node closest to the root among the information processing devices that do not belong to the group. A key encryption key encryption data obtained by encrypting an encryption key is generated, and the node identification information and the key of the node closest to the root among the group key encryption data and the common key of the information processing apparatus not belonging to the group Generate key information including a combination of encryption key encryption data,
Key information transmitting means transmits the key information to only one information processing apparatus connected to the communication network via the communication network,
When the key information sharing means of the one information processing apparatus receives the key information, the key information is shared with each information processing apparatus connected to the communication network,
When the decryption means of each information processing device includes the node identification information corresponding to the common key of the own device in the key information shared with the other information processing device, the group key encryption included in the key information A key sharing method characterized by decrypting a group key from data.
鍵情報生成手段が、The key information generation means
グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、前記無効化される情報処理装置の共通鍵を示す節点を、前記新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、前記鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを前記鍵情報に含め、When information indicating an information processing device to be invalidated in a group and information indicating an information processing device newly added in place of the information processing device to be invalidated are input, of the nodes of the tree structure data The node indicating the common key of the information processing device to be invalidated is replaced with the node indicating the common key of the information processing device to be newly added, key information is generated again, and the key information is At the time of generation, the common key indicated by the replaced node is newly held by the common key already held by the information processing apparatus that remains without being invalidated or by the information processing apparatus that remains without being invalidated. The key information includes a combination of the node identification number indicating the encrypted common key, the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption,
各情報処理装置の復号手段が、The decoding means of each information processing device
前記鍵情報に含まれる暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを参照し、自装置の自装置共通鍵記憶手段が記憶していた共通鍵を示す節点が置き換えられた場合に、前記暗号化して得られたデータを、その暗号化に用いた共通鍵で復号し、復号した共通鍵を前記自装置共通鍵記憶手段に記憶させるRefer to the combination of the node identification number indicating the encrypted common key included in the key information, the node identification information indicating the common key used for encryption, and the data obtained by encryption, and When the node indicating the common key stored in the own device common key storage means is replaced, the encrypted data is decrypted with the common key used for the encryption, and the decrypted common key is Store in the device common key storage means
請求項15または請求項16に記載の鍵共有方法。The key sharing method according to claim 15 or 16.
グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えた
ことを特徴とする鍵提供装置。 A key providing device applied to a cryptographic communication system including a plurality of information processing devices, at least a part or all of which forms a group,
Key information generation that generates key information including group key encryption data obtained by encrypting a group key used when information processing apparatuses forming a group perform encrypted communication, and identification information of each information processing apparatus forming the group Means,
A key providing apparatus comprising: key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network.
グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、
グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えた
ことを特徴とする鍵提供装置。 A key providing device applied to a cryptographic communication system including a plurality of information processing devices, at least a part or all of which forms a group,
Stores a common key of each information processing apparatus forming a group and tree structure data indicating a hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node. A common key storage means;
Generates group key encryption data by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing device that does not belong to the group, and the group key encryption data and information that does not belong to the group Key information generating means for generating key information including a combination with the node identification information of the node closest to the root, excluding the common key of the processing device;
A key providing apparatus comprising: key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network.
グループを形成する各情報処理装置の共通鍵と、各情報処理装置の共通鍵の階層を示す木構造データであって、各節点を識別する節点識別情報が定められた木構造データとを記憶する共通鍵記憶手段と、
グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成手段と、
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信手段とを備えた
ことを特徴とする鍵提供装置。 A key providing device applied to a cryptographic communication system including a plurality of information processing devices, at least a part or all of which forms a group,
Stores a common key of each information processing apparatus forming a group and tree structure data indicating a hierarchy of the common key of each information processing apparatus and having node identification information for identifying each node. A common key storage means;
Encrypt the group key with a key encryption key to generate group key encryption data, and encrypt the key encryption key with the common key of the node closest to the root, excluding the common key of information processing devices that do not belong to the group Key encryption key encryption data is generated, and the group key encryption data and the node identification information of the node closest to the root and the key encryption key encryption data of the information processing device not belonging to the group are excluded. Key information generating means for generating key information including a combination;
A key providing apparatus comprising: key information transmitting means for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network.
グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、前記無効化される情報処理装置の共通鍵を示す節点を、前記新たに追加される情報処理装置の共通鍵を示す節点に置き換えた上で、再度、鍵情報を生成し、前記鍵情報を生成する際に、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化し、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを前記鍵情報に含めるWhen information indicating an information processing device to be invalidated in a group and information indicating an information processing device newly added in place of the information processing device to be invalidated are input, of the nodes of the tree structure data The node indicating the common key of the information processing device to be invalidated is replaced with the node indicating the common key of the information processing device to be newly added, key information is generated again, and the key information is At the time of generation, the common key indicated by the replaced node is newly held by the common key already held by the information processing apparatus that remains without being invalidated or by the information processing apparatus that remains without being invalidated. The key information includes a combination of the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption.
請求項19または請求項20に記載の鍵提供装置。21. A key providing apparatus according to claim 19 or claim 20.
前記コンピュータに、
グループを形成する情報処理装置同士が暗号通信を行う際に用いるグループ鍵を暗号化したグループ鍵暗号データと、グループを形成する各情報処理装置の識別情報とを含む鍵情報を生成する鍵情報生成処理、および
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信処理
を実行させるための鍵提供プログラム。 A key providing program mounted on a computer applied to an encryption communication system including a plurality of information processing apparatuses, at least a part or all of which forms a group,
In the computer,
Key information generation that generates key information including group key encryption data obtained by encrypting a group key used when information processing apparatuses forming a group perform encrypted communication, and identification information of each information processing apparatus forming the group A key providing program for executing processing and key information transmission processing for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network.
前記コンピュータに、
グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵でグループ鍵を暗号化したグループ鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報との組み合わせを含む鍵情報を生成する鍵情報生成処理、および
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信処理
を実行させるための鍵提供プログラム。 A tree that is applied to an encryption communication system including a plurality of information processing devices, at least a part or all of which forms a group, and shows a common key of each information processing device forming a group and a hierarchy of common keys of each information processing device A key providing program mounted on a computer having common key storage means for storing tree structure data in which node identification information for identifying each node is determined, which is structure data,
In the computer,
Generates group key encryption data by encrypting the group key with the common key of the node closest to the root, excluding the common key of the information processing device that does not belong to the group, and the group key encryption data and information that does not belong to the group A key information generating process for generating key information including a combination with node identification information of a node closest to the root, excluding the common key of the processing device; and the key information is transmitted to the communication network via the communication network. A key providing program for executing key information transmission processing to be transmitted to only one connected information processing device .
前記コンピュータに、
グループ鍵を鍵暗号化鍵で暗号化してグループ鍵暗号データを生成し、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の共通鍵で鍵暗号化鍵を暗号化した鍵暗号化鍵暗号データを生成し、前記グループ鍵暗号データと、グループに属さない情報処理装置の共通鍵を除いた中で最も根に近い節点の節点識別情報および鍵暗号化鍵暗号データの組み合わせとを含む鍵情報を生成する鍵情報生成処理、および
前記鍵情報を、通信ネットワークを介して、当該通信ネットワークに接続されている一台の情報処理装置のみに送信する鍵情報送信処理
を実行させるための鍵提供プログラム。 A tree that is applied to an encryption communication system including a plurality of information processing devices, at least a part or all of which forms a group, and shows a common key of each information processing device forming a group and a hierarchy of common keys of each information processing device A key providing program mounted on a computer having common key storage means for storing tree structure data in which node identification information for identifying each node is determined, which is structure data,
In the computer,
Encrypt the group key with a key encryption key to generate group key encryption data, and encrypt the key encryption key with the common key of the node closest to the root, excluding the common key of information processing devices that do not belong to the group Key encryption key encryption data is generated, and the group key encryption data and the node identification information of the node closest to the root and the key encryption key encryption data of the information processing device not belonging to the group are excluded. Key information generation processing for generating key information including a combination, and key information transmission processing for transmitting the key information to only one information processing apparatus connected to the communication network via the communication network Key providing program to let you.
グループ内で無効化される情報処理装置を示す情報、および当該無効化される情報処理装置に代わって新たに追加される情報処理装置を示す情報が入力されると、木構造データの節点のうち、前記無効化される情報処理装置の共通鍵を示す節点を、前記新たに追加される情報処理装置の共通鍵を示す節点に置き換えさせた上で、再度、鍵情報生成処理を実行させ、When information indicating an information processing device to be invalidated in a group and information indicating an information processing device newly added in place of the information processing device to be invalidated are input, of the nodes of the tree structure data The node indicating the common key of the information processing device to be invalidated is replaced with the node indicating the common key of the information processing device to be newly added, and then the key information generation process is executed again.
前記鍵情報生成処理で、置き換えられた節点が示す共通鍵を、無効化されずに残る情報処理装置が既に保持している共通鍵または無効化されずに残る情報処理装置が新たに保持することになる共通鍵で暗号化させ、暗号化された共通鍵を示す節点識別番号と、暗号化に用いた共通鍵を示す節点識別情報と、暗号化して得られたデータとの組み合わせを前記鍵情報に含めさせるIn the key information generation process, the common key indicated by the replaced node is newly held by the common key already held by the information processing apparatus that remains without being invalidated or by the information processing apparatus that remains without being invalidated The key information is a combination of the node identification number indicating the encrypted common key, the node identification information indicating the common key used for encryption, and the data obtained by encryption. To include
請求項23または請求項24に記載の鍵提供プログラム。The key providing program according to claim 23 or 24.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006006571A JP4997769B2 (en) | 2005-12-26 | 2006-01-13 | Cryptographic communication system, key sharing method, and key providing apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005373059 | 2005-12-26 | ||
JP2005373059 | 2005-12-26 | ||
JP2006006571A JP4997769B2 (en) | 2005-12-26 | 2006-01-13 | Cryptographic communication system, key sharing method, and key providing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007201522A JP2007201522A (en) | 2007-08-09 |
JP4997769B2 true JP4997769B2 (en) | 2012-08-08 |
Family
ID=38455702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006006571A Active JP4997769B2 (en) | 2005-12-26 | 2006-01-13 | Cryptographic communication system, key sharing method, and key providing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4997769B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5288901B2 (en) * | 2008-06-23 | 2013-09-11 | 三菱電機株式会社 | Key management server, terminal, communication system, key distribution method, key distribution program, key reception method, and key reception program |
JP5532993B2 (en) * | 2010-02-10 | 2014-06-25 | ヤマハ株式会社 | Relay device |
JP5647938B2 (en) | 2011-04-20 | 2015-01-07 | パナソニック株式会社 | Transmitting terminal, receiving terminal, and ID numbering device |
PT2789118E (en) * | 2012-11-07 | 2015-12-31 | Univ Do Porto | Probabilistic key distribution in vehicular networks with infrastructure support |
US20150312228A1 (en) * | 2014-04-29 | 2015-10-29 | Qualcomm Incorporated | Remote station for deriving a derivative key in a system-on-a-chip device |
KR102601748B1 (en) * | 2016-07-20 | 2023-11-10 | 주식회사 케이티 | Apparatus and method for security group communication |
JP6825296B2 (en) * | 2016-10-11 | 2021-02-03 | 富士通株式会社 | Edge server and its encrypted communication control method |
JP7413196B2 (en) * | 2020-08-06 | 2024-01-15 | 東芝三菱電機産業システム株式会社 | Communications system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000269951A (en) * | 1999-03-12 | 2000-09-29 | Kodo Ido Tsushin Security Gijutsu Kenkyusho:Kk | Method for verifying and delivering group cryptographic key |
JP2002217890A (en) * | 2001-01-22 | 2002-08-02 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | Method of finding replicated terminal |
JP2003101522A (en) * | 2001-09-20 | 2003-04-04 | Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd | Mobile communication dynamic secure grouping technique |
-
2006
- 2006-01-13 JP JP2006006571A patent/JP4997769B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2007201522A (en) | 2007-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113014392B (en) | Block chain-based digital certificate management method, system, equipment and storage medium | |
KR102025409B1 (en) | Data access management system based on blockchain and method thereof | |
JP4997769B2 (en) | Cryptographic communication system, key sharing method, and key providing apparatus | |
JP4571865B2 (en) | Identity-based encryption system | |
JP6026385B2 (en) | Attribute information providing method and attribute information providing system | |
JP5670272B2 (en) | Information processing apparatus, server apparatus, and program | |
JP6326173B1 (en) | Data transmission / reception system and data transmission / reception method | |
CN111066017B (en) | Private data processing | |
CN103370706A (en) | Distributed file systems | |
JP2020010267A (en) | Distributed medical information sharing system, medical information provision server, and program | |
JP2009534938A (en) | Peer-to-peer buddy requests and responses | |
CN101605137A (en) | Safe distribution file system | |
US20150256336A1 (en) | End-To-End Encryption Method for Digital Data Sharing Through a Third Party | |
JPWO2018070242A1 (en) | In-vehicle gateway, key management device | |
JP5012574B2 (en) | Common key automatic sharing system and common key automatic sharing method | |
CN114679340B (en) | File sharing method, system, device and readable storage medium | |
KR20210099814A (en) | Digital property code management system based on blockchain and method thereof | |
JP6976405B2 (en) | Access control system and its programs | |
JP3215882U (en) | Cloud storage based file access control system | |
JPH11331145A (en) | Information sharing system, information preserving device, information processing method and recording medium therefor | |
CN110611674B (en) | Protocol interaction method, system and storage medium between different computer systems | |
JP2006279269A (en) | Information management device, information management system, network system, user terminal, and their programs | |
CN113545025A (en) | Method and system for information transmission | |
WO2024166910A1 (en) | Password sharing system, method, program, server device, and terminal device | |
AU2022263492B2 (en) | Method and system for performing cryptocurrency asset transactions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20081212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111011 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111205 |
|
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: 20120417 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120430 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4997769 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150525 Year of fee payment: 3 |