JP2010141619A - Communication apparatus, server apparatus, communication program, and data - Google Patents
Communication apparatus, server apparatus, communication program, and data Download PDFInfo
- Publication number
- JP2010141619A JP2010141619A JP2008316306A JP2008316306A JP2010141619A JP 2010141619 A JP2010141619 A JP 2010141619A JP 2008316306 A JP2008316306 A JP 2008316306A JP 2008316306 A JP2008316306 A JP 2008316306A JP 2010141619 A JP2010141619 A JP 2010141619A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- piece
- node
- information
- electronic signature
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明は、通信装置、サーバ装置及びデータに関する。 The present invention relates to a communication device, a server device, and data.
例えば、P2P(peer to peer)を利用してデータを配信する配信方式(P2P配信という)は、巨大なストレージと大きな通信帯域とを有するデータ配信サーバを必要とせず、コストメリットの大きい配信方式である。また、データの配信を受けるノードにおいては、複数のノードからのデータの供給が期待されるため、ダウンロードやアップロードにおける帯域幅を活かした高速なデータ取得が期待される。このようにP2Pデータ配信には大きなメリットがあるが、一方で、著作権保護などデータセキュリティの観点から安全性に不安があった。P2P配信に限らず、著作権保護などのデータセキュリティを考える上で一般的な前提として次のことを仮定する。全ての端末機器又はノードがハッキングされることはないということである。この前提を否定した場合、端末機器は秘密とすべきデータを保持したり、秘密とすべき処理を行ったりすることができなくなり、殆どのセキュリティ技術やセキュリティ確保の為の工夫が成立しない。 For example, a distribution method that distributes data using P2P (peer to peer) (referred to as P2P distribution) does not require a data distribution server having a huge storage and a large communication band, and is a distribution method with a large cost merit. is there. Further, since a node receiving data distribution is expected to supply data from a plurality of nodes, high-speed data acquisition utilizing the bandwidth in download and upload is expected. As described above, the P2P data distribution has a great merit, but on the other hand, there is anxiety in safety from the viewpoint of data security such as copyright protection. The following is assumed as a general premise in considering data security such as copyright protection as well as P2P distribution. All terminal devices or nodes are not hacked. If this premise is denied, the terminal device cannot hold data that should be kept secret or perform processing that should be kept secret, and most security techniques and devices for ensuring security cannot be established.
さて、P2P配信において、暗号化されたデータを配信し、データの配信を受けるノードが当該データ(配信データという)を復号するための復号鍵を取得するコンテンツ配信システムがある。このようなシステムのP2P配信においてデータセキュリティ上の大きな問題点は、配信データと当該配信データを復号するための復号鍵との組み合わせが単一であったり数が少なかったりすることである。この場合、あるノードがハッキングされ、復号鍵が暴露されたとする。この場合、この復号鍵は殆どの配信データを復号するために使用できることになる。この問題を解決する一つの方法は、配信データをノード毎に個別化することである。 In P2P distribution, there is a content distribution system that distributes encrypted data, and a node that receives the data distribution acquires a decryption key for decrypting the data (distributed data). A major problem in data security in P2P distribution of such a system is that the combination of distribution data and a decryption key for decrypting the distribution data is single or small in number. In this case, it is assumed that a certain node is hacked and the decryption key is exposed. In this case, this decryption key can be used to decrypt most distribution data. One method for solving this problem is to individualize distribution data for each node.
P2P配信において配信データをノード毎に個別化する技術としては、例えば、特許文献1に示されるMarkingの方式が知られている。この方式では、配信データをピースに分割した上で、鍵の行列で暗号化を施して暗号化ピースを生成する。その結果として、行列状に暗号化された暗号化ピースからなるピース群が生成される。そしてこのようなピース群はP2Pネットワークを介して配信される。当該P2Pネットワークに接続される1つのノードは、各ピースについて行列状に暗号化された複数の暗号化ピースの中から1つの暗号化ピースを取得することになる。結果として、配信データを構成する各ピースが各々暗号化された暗号化ピースの組み合わせは、ノード毎に統計的に一意になることが期待される。
As a technique for individualizing distribution data for each node in P2P distribution, for example, a Marking method disclosed in
しかし、上述の特許文献1の技術においては、各暗号化ピースの組み合わせがノード毎に一意であることはあくまで統計的に期待されるだけである。各暗号化ピースの組み合わせをノード毎に一意にすることを実現するには、例えば、以下の2つの方法が考えられる。1つは、暗号化ピースの配信方法に工夫を施すという方法である。また、1つは、各暗号化ピースを復号するための復号鍵を保持する鍵サーバが復号鍵の配信を制限するという方法である。例えば、配信されたピース群をノードは復号するために、各暗号化ピースの組み合わせを鍵サーバに申告して復号鍵を取得するシステムがある。このシステムにおいて、復号鍵の再配信によるリプレイアタックを阻止するためには、既に取得された復号鍵と重複が多い暗号化ピースの組み合わせを、鍵サーバがリジェクトするという方法がある。しかしいずれの方法であっても、暗号化ピースの配信効率を時として著しく低下させ、P2Pネットワークの利点を十分活かすことができなくなる恐れがある。また、前者の方法では、データの保護とデータの配信方法との独立性が損なわれ、そのことがシステム構築上の大きな制約となる恐れがある。
However, in the technique of the above-mentioned
また、P2P配信では、受信したピースが不正に改ざんされていないことを検証することが望ましい。一般的にはピースの完全性をチェックする方法として、配信データの提供者が配信データのピース毎にハッシュ値を計算して、全てのピースのハッシュ値の束(ハッシュテーブル)を利用する方法がある。しかし、このような方法では、ピースの完全性をチェックすることができるが、ピースを不正に改ざんするノードを特定することが困難である。 In P2P distribution, it is desirable to verify that the received piece has not been tampered with. In general, as a method of checking the integrity of pieces, there is a method in which a provider of delivery data calculates a hash value for each piece of delivery data and uses a bundle (hash table) of hash values of all pieces. is there. However, such a method can check the integrity of the piece, but it is difficult to identify a node that tampers with the piece.
本発明は、上記に鑑みてなされたものであって、コンテンツ配信システムにおいて配信されるピースを不正に改ざんするノードを特定可能とする通信装置、サーバ装置、通信プログラム及びデータを提供することを目的とする。 The present invention has been made in view of the above, and an object of the present invention is to provide a communication device, a server device, a communication program, and data that can identify a node that illegally alters a piece distributed in a content distribution system. And
上述した課題を解決し、目的を達成するために、本発明の一実施形態は、データの一部であるピースを送信する通信装置であって、他の通信装置を識別する第1装置識別情報と前記ピースとを含む第1署名対象情報、および、前記第1署名対象情報に対して生成された第1電子署名を受信する受信手段と、前記通信装置を識別する第2装置識別情報と、前記通信装置に割り当てられた非公開鍵と、を記憶する記憶手段と、前記第1署名対象情報と前記第1電子署名と前記記憶手段に記憶された前記第2装置識別情報とを含む第2署名対象情報に対する第2電子署名を、前記記憶手段に記憶された前記非公開鍵を用いて生成する署名生成手段と、前記第2署名対象情報と前記第2電子署名とを送信する送信手段と、を備えることを特徴とする。 In order to solve the above-described problems and achieve the object, an embodiment of the present invention is a communication device that transmits a piece that is a part of data, and first device identification information that identifies another communication device. And first piece of signature object information including the piece, receiving means for receiving the first electronic signature generated for the first signature object information, second device identification information for identifying the communication device, A storage unit that stores a private key assigned to the communication device; a second unit that includes the first signature object information; the first electronic signature; and the second device identification information stored in the storage unit. Signature generating means for generating a second electronic signature for the signature target information using the private key stored in the storage means, and transmitting means for transmitting the second signature target information and the second electronic signature. It is characterized by providing.
また、本発明の一実施形態は、上記装置で実行することができるプログラムである。 Moreover, one Embodiment of this invention is a program which can be performed with the said apparatus.
また、本発明の一実施形態は、データの一部であるピースを送信する複数の通信装置と接続されたサーバ装置であって、前記通信装置は、前記ピースを含む署名対象情報と、前記署名対象情報に対して他の通信装置が生成した電子署名とを含む新たな署名対象情報に対して新たな電子署名を生成し、生成した前記署名対象情報と生成した前記電子署名とを送信し、前記署名対象情報と、前記署名対象情報に対して生成された前記電子署名とを含む、前記電子署名の検証要求を前記通信装置から受信する受信手段と、前記検証要求に含まれる前記署名対象情報と、前記検証要求に含まれる前記電子署名を生成した前記通信装置に割り当てられた公開鍵とを用いて前記電子署名を検証する検証手段と、検証されなかった前記電子署名を含む前記署名対象情報に対する前記電子署名を生成した前記通信装置を、不正な通信装置として検出する検出手段と、を備えることを特徴とする。 Also, an embodiment of the present invention is a server device connected to a plurality of communication devices that transmit pieces that are part of data, the communication device including signature target information including the pieces, and the signature Generating a new electronic signature for new signature target information including an electronic signature generated by another communication device for the target information, transmitting the generated signature target information and the generated electronic signature, Receiving means for receiving a verification request for the electronic signature from the communication device, including the signature target information and the electronic signature generated for the signature target information; and the signature target information included in the verification request And verification means for verifying the electronic signature using a public key assigned to the communication device that generated the electronic signature included in the verification request, and the signature including the electronic signature that has not been verified. The communication device that generated the electronic signature for the object information, characterized in that it comprises a detection means for detecting as unauthorized communication device.
また、本発明の一実施形態は、配信データの一部であるピースの配信を仲介する通信装置から送信されるデータであって、前記ピースの配信を仲介した複数の通信装置のそれぞれを識別する装置識別情報と前記ピースとを含む署名対象情報、および、前記署名対象情報に対して複数の前記通信装置それぞれが生成した複数の電子署名を含む、ことを特徴とする。 In one embodiment of the present invention, data transmitted from a communication device that mediates distribution of a piece that is a part of distribution data is identified, and each of a plurality of communication devices that mediate distribution of the piece is identified. It includes signature object information including apparatus identification information and the piece, and a plurality of electronic signatures generated by the plurality of communication apparatuses for the signature object information.
また、本発明の一実施形態は、配信データの一部であるピースの配信を仲介する通信装置からサーバ装置へ送信されるデータであって、前記ピースを含む署名対象情報、前記署名対象情報に対して前記署名対象情報を送信した複数の前記通信装置それぞれによって生成された複数の電子署名、および、前記署名対象情報を送信した複数の前記通信装置を識別する装置識別情報と前記署名対象情報を送信した複数の前記通信装置に割り当てられた公開鍵との少なくとも一方を対応づけた、前記電子署名の検証要求を含む、ことを特徴とする。 One embodiment of the present invention is data transmitted from a communication device that mediates distribution of a piece that is a part of distribution data to a server device, the signature target information including the piece, and the signature target information A plurality of electronic signatures generated by each of the plurality of communication devices that have transmitted the signature target information, and device identification information for identifying the plurality of communication devices that have transmitted the signature target information and the signature target information. The electronic signature verification request is associated with at least one of the transmitted public keys assigned to the plurality of communication devices.
本発明によれば、コンテンツ配信システムにおいて配信されるピースを不正に改ざんするノードを特定可能になるという効果を奏する。 According to the present invention, there is an effect that it is possible to identify a node that tampers with a piece distributed in the content distribution system.
以下に添付図面を参照して、この発明にかかる通信装置、サーバ装置、通信プログラム及びデータの最良な実施の形態を詳細に説明する。 Exemplary embodiments of a communication device, a server device, a communication program, and data according to the present invention will be explained below in detail with reference to the accompanying drawings.
(1)構成
<コンテンツ配信システムの構成>
図1は、本実施の形態にかかるデータ配信システムの構成を示す図である。本実施の形態にかかるデータ配信システムにおいては、複数のノード50,51A〜51BがP2PネットワークNTを介して接続されている。図示しないがこの他のノードもP2PネットワークNTを介して接続され得る。また、各ノード50,51A〜51Bは鍵サーバ53と接続されている。各ノード50,51A〜51Bは、各ノードに一意に割り当てられた割当情報として公開鍵証明書と、公開鍵証明書に記載された公開鍵の対となるピースの電子署名生成に使用される非公開鍵と、ピースの暗号化に使用される秘密鍵を保持している。公開鍵証明書には、少なくとも装置識別情報であるノードIDと、電子署名を検証するための公開鍵が含まれている。公開鍵証明書(Public Key Certificate)については、例えば文献ISO/IEC 9594-8に記載されている。各ノード50,51A〜51Bに割り当てられた公開鍵証明書を各々pkc_0、pkc_1、pkc_2とし、非公開鍵を各々sk_0、sk_1、sk_2とし、公開鍵証明書に含まれるノードIDを各々ID #0、ID #1、ID #2とし、公開鍵証明書に含まれる公開鍵を各々pk_0、pk_1、pk_2とし、秘密鍵を各々s_0、s_1、s_2とする。尚、各ノード50,51A〜51Bのうちノード50は、データの配信の基点となる配信開始ノードであり、配信対象のデータ(配信データという)を保持している。配信データは、平文である場合も既に暗号化された暗号文である場合もある。例えば、当該配信データは、暗号化として何らかのDRM(Digital Right Management) Systemによって保護されたビデオデータであっても良い。鍵サーバ53は、各ノード50,51A〜51Bに各々割り当てられたノードIDと、秘密鍵を保持している。さらに鍵サーバ53は、各ノード50,51A〜51Bに各々割り当てられた公開鍵証明書を保持していてもよい。尚、以降、ノード51A〜51Bを各々区別する必要がない場合、単にノード51と記載する。
(1) Configuration <Configuration of content distribution system>
FIG. 1 is a diagram showing a configuration of a data distribution system according to the present embodiment. In the data distribution system according to the present embodiment, a plurality of
ここで、各ノード50,51と、鍵サーバ53との各装置のハードウェア構成について説明する。各装置は各々、装置全体を制御するCPU(Central Processing Unit)等の制御装置と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の記憶装置と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の外部記憶装置と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、各装置には各々、情報を表示する表示装置と、ユーザの指示入力を受け付けるキーボードやマウス等の入力装置と、外部装置の通信を制御する通信I/F(interface)とが有線又は無線により接続される。
Here, the hardware configuration of each device including the
なお、装置識別情報とは、データ配信システムにおける各ノードに割り当てられた情報であって、各ノードを識別できればどのような情報であっても良く、例えば、ノードID、通信装置のMAC(Media Access Control)アドレス、通信機器のCPU固有なシリアルナンバー、などである。 The device identification information is information assigned to each node in the data distribution system and may be any information as long as each node can be identified. For example, the node ID, the MAC (Media Access) of the communication device, and the like. Control) address, serial number unique to the CPU of the communication device, and the like.
また、電子署名とは、デジタル文書の正当性を保証するために当該デジタル文書に付けられる署名情報であれば良く、例えば、RSA署名、DSA(Digital Signature Algorithm)、ElGamal署名、Schnorr署名、Cramer−Shoup署名、ECDSA(Elliptic Curve DSA)、楕円ElGamal署名、楕円Schnorr署名などのアルゴリズムで生成された署名情報である。 The digital signature may be any signature information attached to the digital document in order to guarantee the validity of the digital document. For example, an RSA signature, DSA (Digital Signature Algorithm), ElGamal signature, Schnorr signature, Cramer- This is signature information generated by an algorithm such as a Shop signature, ECDSA (Elliptic Curve DSA), elliptical ElGamal signature, elliptical Schnorr signature, or the like.
<配信開始ノードの構成>
次に、上述したハードウェア構成において、配信開始ノードであるノード50のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図2は、ノード50の機能的構成を例示する図である。ノード50は、固有情報格納部500と、乱数生成部501と、一時対称鍵生成部502と、ピース暗号化部503と、ピース化部504と、データ送信部505と、送信要求受付部506と、電子署名生成部507を有する。尚、固有情報格納部500は、例えばノード50のHDDなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部501と、一時対称鍵生成部502と、ピース暗号化部503と、ピース化部504と、データ送信部505と、送信要求受付部506と、電子署名生成部507との実体は、ノード50のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。尚、ノード50の外部記憶装置には、配信データが予め記憶されている。
<Configuration of distribution start node>
Next, in the hardware configuration described above, various functions realized when the CPU of the
固有情報格納部500は、当該ノード50に割り当てられた公開鍵証明書と非公開鍵及び秘密鍵を記憶する。公開鍵証明書には、少なくとも当該ノード51に割り当てられたノードID及び公開鍵が含まれている。ピース化部504は、配信データを複数のピースに分割する。分割する際のデータサイズは特に限定されないが、予め定められているものとする。送信要求受付部506は、ピース化部504が分割したピースを要求するピース要求を他のノード51から受信する。乱数生成部501は、送信要求受付部506がピース要求を受信した場合、その発生毎に異なり得る一時情報である乱数を生成する。一時情報とは、使い捨ての値であって、ノードで生成される度に異なる値となれば良く、乱数の他、たとえば、タイムスタンプや通信のシーケンス番号やノードに固有のカウンタ値やTime Variant Parameterである。Time Variant Parameterについては、文献ISO9798-1が詳しい。
The unique
一時対称鍵生成部502は、乱数生成部501が生成した乱数r_0と、固有情報格納部500に記憶された秘密鍵s_0とを用いて関数Fにより一時対称鍵k_0を生成する。これを式により表すと以下の(1)式のように表される。
k_0=F(s_0, r_0) ・・・(1)
The temporary symmetric
k_0 = F (s_0, r_0) (1)
尚、関数Fは一方向性関数あるいは共通鍵暗号あるいは擬似乱数生成器であり、入力値である秘密鍵と乱数の両方を知らないものが、出力値である一時対称鍵を推測できないものである。一時対称鍵とは、関数Fの出力値であって、関数Fの入力と出力値との関係が一意に定められれば良い。関数Fとしては、例えばSHA−1やSHA256といったハッシュ関数であっても良く、AESやHierocryptといった共通鍵暗号方式であっても良く、Mersenne twisterといった疑似乱数生成器であってもよい。ハッシュ関数には、乱数と秘密鍵を結合した値が入力されても良い。共通鍵暗号方式では、乱数を秘密鍵で暗号化しても良く、秘密鍵を乱数で暗号化しても良く、乱数を秘密鍵で復号しても良く、秘密鍵を乱数で復号しても良い。疑似乱数生成器には、乱数と秘密鍵を結合した値が入力されても良い。 Note that the function F is a one-way function, a symmetric key encryption, or a pseudo-random number generator, which does not know both the secret key and the random number that are the input values, and cannot guess the temporary symmetric key that is the output value. . The temporary symmetric key is an output value of the function F, and it is sufficient that the relationship between the input and output value of the function F is uniquely determined. The function F may be a hash function such as SHA-1 or SHA256, a common key cryptosystem such as AES or Hiercrypt, or a pseudo-random number generator such as Mersenne twister. A value obtained by combining a random number and a secret key may be input to the hash function. In the common key cryptosystem, a random number may be encrypted with a secret key, a secret key may be encrypted with a random number, a random number may be decrypted with a secret key, or a secret key may be decrypted with a random number. A value obtained by combining a random number and a secret key may be input to the pseudo-random number generator.
ピース暗号化部503は、一時対称鍵生成部502が生成した一時対称鍵k_0を用いてピースPを暗号化して、暗号化ピースE(k_0)Pを出力する。尚、一時対称鍵は暗号化に用いられる暗号鍵でもあり、暗号化ピースに対して行われている暗号化を解くための復号鍵にもなる。電子署名生成部507は、非公開鍵sk_0を用いて関数SIGNにより暗号化ピースE(k_0)Pと公開鍵証明書pkc_0と乱数r_0に対して電子署名sig_0を生成する。電子署名の生成を式で表すと以下の(2)式のようになる。
sig_0=SIGN(sk_0, E(k_0)P || pkc_0 || r_0 ) ・・・(2)
The
sig_0 = SIGN (sk_0, E (k_0) P || pkc_0 || r_0) (2)
ここで、記号||はデータ結合を意味する。また、上記(2)式では署名生成対象データの結合順番の1例を示しており、署名検証を行うものが当該署名生成対象データの結合順番を把握できる仕組みになっていれば、結合順番はどのようになっていてもよい。 Here, the symbol || means data combination. Further, the above equation (2) shows an example of the combination order of signature generation target data. If the signature verification target has a mechanism that can grasp the combination order of the signature generation target data, the combination order is It may be any way.
関数SIGNとしてはRSA署名、DSA(Digital Signature Algorithm)、ElGamal署名、Schnorr署名、Cramer−Shoup署名、ECDSA(Elliptic Curve DSA)、楕円ElGamal署名、楕円Schnorr署名などの電子署名方式における署名生成アルゴリズムを用いても良い。データ送信部505は、ピース要求を送信した他のノード51に対して、固有情報格納部500に記憶されている公開鍵証明書と、乱数生成部501が生成した乱数と、ピース暗号化部503が出力した暗号化ピースと、電子署名生成部507が生成した電子署名とを送信する。
As the function SIGN, a signature generation algorithm in an electronic signature method such as RSA signature, DSA (Digital Signature Algorithm), ElGamal signature, Schnorr signature, Cramer-Shoop signature, ECDSA (Elliptic Curve DSA), elliptic ElGamal signature, elliptical Schnorr signature is used. May be. The
<配信開始ノード以外のノードの構成>
次に、配信開始ノード以外であるノード51のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図3は、ノード51の機能的構成を例示する図である。ノード51は、固有情報格納部510と、乱数生成部511と、一時対称鍵生成部512と、ピース暗号化部513と、データ受信部514と、データ送信部515と、送信要求受付部516と、データ格納部517と、送信要求送信部518と、鍵要求送信部519と、ピース復号部520と、電子署名生成部521と、電子署名検証部522と、ピース検証要求送信部523とを有する。尚、固有情報格納部510とデータ格納部517とは、例えばノード51のHDDなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部511と、一時対称鍵生成部512と、ピース暗号化部513と、データ受信部514と、データ送信部515と、送信要求受付部516と、送信要求送信部518と、鍵要求送信部519と、ピース復号部520と、電子署名生成部521と、電子署名検証部522と、ピース検証要求送信部523との実体は、ノード51のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。
<Configuration of nodes other than the distribution start node>
Next, various functions realized when the CPU of the
固有情報格納部510は、当該ノード51に割り当てられた公開鍵証明書と非公開鍵と秘密鍵とを記憶する。公開鍵証明書には、少なくとも当該ノード51に割り当てられたノードID及び公開鍵が含まれている。送信要求受付部516の構成は上述のノード50の有する送信要求受付部506の構成と同様である。送信要求送信部518は、ピースを要求するピース要求をノード50又は他のノード51に対して送信する。データ受信部514は、送信要求送信部518がピース要求を送信した相手であるノード50又は他のノード51から、ピースが暗号化された暗号化ピースと、当該暗号化ピースの送信を仲介した少なくとも1つの他のノード50,51に割り当てられた各公開鍵証明書を含む公開鍵証明書列と、当該他のノード50,51が生成した各乱数を含む乱数列と、当該他のノード50,51が生成した各電子署名を含む電子署名列とを受信する。電子署名検証部522は、受信した暗号化ピースE(k_i-1)・・・E(k_0)Pと公開鍵証明書列pkc_0,・・・,pkc_i-1と乱数列r_0,・・・r_i-1と電子署名列sig_0,・・・,sig_i-1とが正当かどうかを、データ送信者の公開鍵証明書に含まれる公開鍵pk_i-1を用いて、以下の(3)式で表される関数VERIFYによりデータ送信者が生成した電子署名を検証する。なおE(k_i-1)・・・E(k_0)P、pkc_i-1、r_i-1、sig_i-1、およびpk_i-1とは、それぞれ、配信経路上でi番目に暗号化ピースの配信を仲介するノード51で計算される暗号化ピース、当該ノード51の公開鍵証明書、当該ノード51が生成した乱数、当該ノード51が生成した電子署名、および当該ノード51の公開鍵証明書に含まれる公開鍵を意味する。そして、i=0のときの各データE(k_0)P、pkc_0、r_0、sig_0、およびpk_0は、配信開始ノードであるノード50で計算される暗号化ピース、ノード50の公開鍵証明書、ノード50が生成した乱数、ノード50が生成した電子署名、およびノード50の公開鍵証明書に含まれる公開鍵である。
検証成功/失敗=VERIFY(pk_i-1, E(k_i-1)・・・E(k_0)P || pkc_0 || r_0 || sig_0 || ・・・ || pkc_i-1 || r_i-1, sig_i-1) ・・・(3)
The unique
Verification success / failure = VERIFY (pk_i-1, E (k_i-1) ... E (k_0) P || pkc_0 || r_0 || sig_0 || ... || pkc_i-1 || r_i-1, sig_i-1) (3)
例えば、ノード50から最初に暗号化ピースを受信したノード51では、以下の(4)式でノード50が生成した電子署名を検証する。
検証成功/失敗=VERIFY(pk_0, E(k_0)P || pkc_0 || r_0, sig_0) ・・・(4)
For example, in the
Verification success / failure = VERIFY (pk_0, E (k_0) P || pkc_0 || r_0, sig_0) (4)
関数VERIFYとしては、署名生成時に使用した関数SIGNと対になる署名検証アルゴリズムを用いる。例えば、SIGNとしてRSA署名生成アルゴリズムを用いた場合には、VERIFYとしてRSA署名検証アルゴリズムを用いる。 As the function VERIFY, a signature verification algorithm paired with the function SIGN used at the time of signature generation is used. For example, when an RSA signature generation algorithm is used as SIGN, an RSA signature verification algorithm is used as VERIFY.
電子署名の検証に成功した場合、データ格納部517は、データ受信部514が受信した公開鍵証明書列、乱数列、電子署名列及び暗号化ピースを対応付けて記憶する。検証に失敗した場合、データ受信部514が受信した公開鍵証明書列、乱数列、電子署名列及び暗号化ピースを破棄する。
If the verification of the electronic signature is successful, the
送信要求受付部516がピース要求を他のノード51から受信した場合、乱数生成部511は、乱数を生成する。一時対称鍵生成部512は、乱数生成部511が生成した乱数と、固有情報格納部510に記憶された秘密鍵とを用いて上述した関数Fにより一時対称鍵を生成する。ピース暗号化部513は、一時対称鍵生成部512が生成した一時対称鍵を用いて、データ格納部517に記憶されている1つの暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する。電子署名生成部521は、固有情報格納部510に記憶された非公開鍵を用いて、ピース暗号化部513が出力した新たな暗号化ピースと、当該暗号化ピースに対応づけられてデータ格納部517に記憶された公開鍵証明書列に加え固有情報格納部510に記憶された公開鍵証明書を含む新たな公開鍵証明書列と、当該暗号化ピースに対応づけられてデータ格納部517に記憶された乱数列に加え乱数生成部511が生成した乱数を含む新たな乱数列と、当該暗号化ピースに対応づけられてデータ格納部517に記憶された電子署名列とに対して、新たな電子署名を生成する。
When the transmission
データ送信部515は、送信要求受付部516が受信したピース要求を送信した他のノード51に対して、以下のデータを送信する。すなわち、送信対象の暗号化ピースに対応付けられてデータ格納部517に記憶された公開鍵証明書列に加え固有情報格納部510に記憶された公開鍵証明書を含む新たな公開鍵証明書列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加え乱数生成部511が生成した乱数を含む新たな乱数列と、ピース暗号化部513が出力した新たな暗号化ピースと、当該暗号化ピースに対応付けられてデータ格納部517に記憶された電子署名列に加え電子署名生成部521が生成した電子署名を含む新たな電子署名列とである。尚、データ格納部517に暗号化ピースが記憶されていない場合には、送信要求受付部516がピース要求を受信したとしても、ピース暗号化部513は暗号化ピースを出力せず、データ送信部515は暗号化ピースを送信しない。
The
ここで、ノード50,51から送信される公開鍵証明書列、乱数列、暗号化ピース及び電子署名列について具体的に説明する。尚、ノード50から1つの暗号化ピースに対してこれと共に送信される公開鍵証明書、乱数及び電子署名は各々1つであるが、ここでは説明の便宜上、これらを公開鍵証明書列、乱数列及び電子署名列と各々記載する場合がある。暗号化ピースの配信経路としてここではノード50からノード51A、更にノード51Aからノード51Bに暗号化ピースを送信し、ノード51Bから鍵サーバ53に鍵要求を送信する場合について説明する。例えば、あるピースPについてノード51Aからのピース要求に応じて、ノード50が、乱数r_0と秘密鍵s_0とを用いて一時対称鍵k_0を生成し、これを用いてピースPを暗号化して暗号化ピースE(k_0)Pを出力したとする。さらに、ノード50は、乱数r_0と暗号化ピースE(k_0)Pと公開鍵証明書pkc_0とを含む情報(署名対象情報)に対する電子署名sig_0を、非公開鍵sk_0を用いて生成したとする。
Here, the public key certificate sequence, the random number sequence, the encrypted piece, and the electronic signature sequence transmitted from the
なお、署名対象情報とは、電子署名を生成する対象となる情報をいう。上述のように、ノード50の場合は、ノード50で生成した乱数r_0と、ノード50で暗号化した暗号化ピースE(k_0)Pと、ノード50の公開鍵証明書pkc_0とが署名対象情報に含まれる。配信経路上でi番目に暗号化ピースの配信を仲介するノード51の場合は、公開鍵証明書列pkc_0、・・・、pkc_iと、乱数列r_0、・・・、r_iと、暗号化ピースE(k_i)・・・E(k_0)Pと、電子署名列sig_0、・・・、sig_i-1とが署名対象情報に含まれる。
The signature target information refers to information that is a target for generating an electronic signature. As described above, in the case of the
そして、ノード50が、当該暗号化ピースE(k_0)Pを公開鍵証明書pkc_0、乱数r_0及び電子署名sig_0と共にノード51Aに送信したとする。図4は、ノード50からノード51Aに送信される情報を模式的に示す図である。当該ノード51Aは、電子署名sig_0が、暗号化ピースE(k_0)Pと公開鍵証明書pkc_0及び乱数r_0に対する正当な署名かどうかを、公開鍵証明書pkc_0に含まれる公開鍵pk_0を用いて電子署名検証部522において確認する。当該電子署名検証の結果が検証成功だった場合、当該ノード51Aは、これらの公開鍵証明書pkc_0、乱数r_0、暗号化ピースE(k_0)P及び電子署名sig_0を対応付けてデータ格納部517に記憶することになる。尚、データ格納部517は、公開鍵証明書と当該公開鍵証明書が割り当てられたノードが生成した乱数と当該公開鍵証明書が割り当てられたノードが生成した電子署名との対応関係を保持した状態で各公開鍵証明書列、各乱数列及び各電子署名列を記憶する。一方、当該電子署名検証の結果が検証失敗だった場合、当該ノード51Aは、当該公開鍵証明書pkc_0と乱数r_0と暗号化ピースE(k_0)P及び電子署名sig_0を破棄する。
Then, it is assumed that the
そして、当該ノード51Aが、ノード51Bからのピース要求に応じてピースPに対する暗号化ピースを送信する場合、乱数r_1を生成し、これと秘密鍵s_1とを用いて一時対称鍵k_1を生成し、これを用いて暗号化ピースE(k_0)Pを更に暗号化して暗号化ピースE(k_1)E(k_0)Pを出力したとする。E(k_1)E(k_0)Pは、順に一時対称鍵k_0、k_1でピースPを多重に暗号化したものを示す。さらに、ノード51Aは、公開鍵証明書列pkc_0、pkc_1と乱数列r_0、r_1と暗号化ピースE(k_1)E(k_0)Pと電子署名sig_0とを含む署名対象情報に対する電子署名sig_1を、非公開鍵sk_1を用いて生成したとする。このとき、ノード51Aは、ノード51Bに対して、データ格納部517に記憶されている、ノード50に割り当てられた公開鍵証明書pkc_0に加え固有情報格納部510に記憶されている、自身に割り当てられた公開鍵証明書pkc_1と、データ格納部517に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_1)E(k_0)Pと、データ格納部517に記憶されている電子署名sig_0に加え自身が生成した電子署名sig_1とを送信する。図5は、ノード51Aからノード51Bに送信される情報を模式的に示す図である。ノード51Bは、電子署名sig_1が、暗号化ピースE(k_1)(k_0)Pと公開鍵証明書列pkc_0、pkc_1と乱数列r_0、r_1及び電子署名sig_0に対する正当な署名かどうかを、公開鍵証明書pkc_1に含まれる公開鍵pk_1を用いて電子署名検証部522において確認する。当該電子署名検証の結果が検証成功だった場合、これらの公開鍵証明書列pkc_0、pkc_1、乱数列r_0、r_1、暗号化ピースE(k_1)E(k_0)P及び電子署名列sig_0、sig_1を対応付けてデータ格納部517に記憶する。
When the
また、鍵サーバ53に全てのノードの公開鍵証明書が格納されている場合には、受信した公開鍵証明書からノードIDを取り出して、当該ノードIDを公開鍵証明書の代わりに送信することで、ノード間で送られるデータを削減できる。すなわち、ノード51Aは、ノード51Bに対して、データ格納部517に記憶されている、ノード50に割り当てられた公開鍵証明書pkc_0に含まれているノードID「ID #0」に加え固有情報格納部510に記憶されている、自身に割り当てられた公開鍵証明書pkc_1と、データ格納部517に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_1)E(k_0)Pと、データ格納部517に記憶されている電子署名sig_0に加え自身が生成した電子署名sig_1とを送信する。図6は、鍵サーバ53に全てのノードの公開鍵証明書が格納されている場合のノード51Aからノード51Bに送信される情報を模式的に示す図である。ノード51Bは、電子署名sig_1が、暗号化ピースE(k_1)(k_0)PとノードID列「ID #0」と公開鍵証明書pkc_1と乱数列r_0、r_1及び電子署名sig_0に対する正当な署名かどうかを、公開鍵証明書pkc_1に含まれる公開鍵pk_1を用いて電子署名検証部522において確認する。当該電子署名検証の結果が検証成功だった場合、これらのノードID列「ID #0」、公開鍵証明書pkc_1、乱数列r_0、r_1、暗号化ピースE(k_1)E(k_0)P及び電子署名列sig_0、sig_1を対応付けてデータ格納部517に記憶する。
When the public key certificates of all nodes are stored in the
鍵要求送信部519は、データ格納部517に記憶された暗号化ピースを復号するための復号鍵を要求する鍵要求を鍵サーバ53に送信する。ここで鍵要求送信部519は、当該暗号化ピースに対応してデータ格納部517に記憶されている公開鍵証明書列から取り出されたノードID列及び乱数列を鍵要求に含めて鍵サーバ53に送信する。例えば、ノード51Bが、ノード51Aが暗号化を行った場合に出力された図6に示した暗号化ピースE(k_1)E(k_0)Pを復号するための復号鍵を要求する鍵要求を鍵サーバ53に送信する場合、ノード51Bの鍵要求送信部519は、ノードID列「ID #0、ID #1」と、乱数列r_0、r_1とを含む鍵要求を送信する。図7は、ノード51Bから鍵サーバ53に送信される情報を模式的に示す図である。このように、ノード51は、暗号化ピースを復号するための復号鍵を鍵サーバ53に要求する際に、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード50を基点として当該暗号化ピースの配信を仲介する各ノード50,51の各ノードIDを含むノードID列及び当該各ノード50,51が生成した各乱数を含む乱数列を鍵サーバ53に送信する。尚、これらの送信に際し、鍵要求送信部519は、各ノードIDと当該各ノードIDが割り当てられたノードが生成した乱数との対応関係を保持した状態で送信する。
The key
ピース復号部520は、鍵要求送信部519が送信した鍵要求に応じて鍵サーバ53から送信された一時対称鍵列を復号鍵として受信し、当該一時対称鍵列を用いて暗号化ピースを復号する。例えば、上述の例では、ノード51Aが暗号化を行っていた場合には、ノード51Bは、図7に示したノードID列及び乱数列を含む鍵要求に応じて鍵サーバ53から送信された一時対称鍵列k_0、k_1を受信する。ここで、即ち、ピースに対して少なくとも1回以上行われている各暗号化を解くための各復号鍵が受信される。図8は、鍵サーバ53からノード51Bに送信される情報を模式的に示す図である。同図に示される一時対称鍵列によりピースPが復号される。尚、鍵サーバ53がどのように一時対称鍵列を生成するのかは後述する。
The piece decryption unit 520 receives the temporary symmetric key sequence transmitted from the
尚、ノード51が、複数のピースのそれぞれについてどのような順番やタイミングでどのノードから取得するかは特に限定されないが、以上のようにして、ノード51は、複数のピースのそれぞれが暗号化された各暗号化ピースをピース要求によって他のノード50,51から取得する。また、ノード51は、各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ53から受信し、各暗号化ピースを復号することにより、上述の配信データを得る。
Note that the order in which the
ピース検証要求送信部523は、受信した復号鍵を用いて正しく復号できなかったピースが存在した場合、あるいは復号鍵を受信する前に暗号化ピースが正しく復号可能かどうかを判断したいピースが存在した場合、鍵サーバ53に対して、ピースの検証要求を送信する。なお、正しく復号できなかったピースが存在した場合は、図9に示すようにハッシュ値でピースを検証する方法を用いることもできる。図9を用いてピースが正しく復号できたかどうかを調べる方法の1例を説明する。例えば配信データの提供者が、配信データのピース毎のハッシュ値をあらかじめ計算して、ハッシュ値列(ハッシュテーブル)を準備しておき、各ノードが復号された配信データを入手したときに、当該配信データのハッシュ値とハッシュテーブルのハッシュ値を比較することで、ピースが正しく復号できたかどうかを調べることができる。ピース検証要求送信部523は、データ格納部517に記憶された暗号化ピースの検証を依頼するための検証要求を鍵サーバ53に送信する。ここでピース検証要求送信部523は、検証対象暗号化ピースと共に当該暗号化ピースに対応してデータ格納部517に記憶されている公開鍵証明書列と乱数列及び電子署名列をピース検証要求に含めて鍵サーバ53に送信する。
When there is a piece that cannot be correctly decrypted using the received decryption key, or the piece verification
例えば、ノード51Bが、ノード51Aが暗号化を行った場合に出力された図5に示した暗号化ピースE(k_1)E(k_0)Pを検証するための検証要求を鍵サーバ53に送信する場合、ノード51Bのピース検証要求送信部523は、公開鍵証明書列pkc_0、pkc_1と、乱数列r_0、r_1と、暗号化ピースE(k_1)E(k_0)Pと、電子署名列sig_0、sig_1とを含むピース検証要求を送信する。図10は、ノード51Bから鍵サーバ53に送信される情報を模式的に示す図である。このように、ノード51は、暗号化ピースを検証するための検証要求を鍵サーバ53に要求する際に、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード50を基点として当該暗号化ピースの配信を仲介する各ノード50,51の各公開鍵証明書を含む公開鍵証明書列、当該各ノード50,51が生成した各乱数を含む乱数列及び当該各ノード50,51が生成した各電子署名を含む電子署名列を鍵サーバ53に送信する。尚、これらの送信に際し、ピース検証要求送信部523は、各公開鍵証明書と当該各公開鍵証明書が割り当てられたノードが生成した乱数と当該各公開鍵証明書が割り当てられたノードが生成した電子署名との対応関係を保持した状態で送信する。
For example, the
また、鍵サーバ53に全てのノードの公開鍵証明書が格納されている場合には、ピース検証要求送信部523は、データ格納部517に記憶された暗号化ピースの検証を依頼するための検証要求を鍵サーバ53に送信する。このときピース検証要求送信部523は、当該暗号化ピースに対応してデータ格納部517に記憶されているノードID列と乱数列及び電子署名列をピース検証要求に含めて鍵サーバ53に送信する。例えば、ノード51Bが、ノード51Aが暗号化を行った場合に出力された図6に示した暗号化ピースE(k_1)E(k_0)Pを検証するための検証要求を鍵サーバ53に送信する場合、ノード51Bのピース検証要求送信部523は、公開鍵証明書pkc_1からノードID「ID #1」を取り出した後に、ノードID列「ID #0、ID #1」と、乱数列r_0、r_1と、暗号化ピースE(k_1)E(k_0)Pと、電子署名列sig_0、sig_1とを含むピース検証要求を送信する。
When the public key certificates of all nodes are stored in the
図11は、鍵サーバ53に全てのノードの公開鍵証明書が格納されている場合における、ノード51Bから鍵サーバ53に送信される情報を模式的に示す図である。このように、ノード51は、暗号化ピースを検証するための検証要求を鍵サーバ53に要求する際に、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード50を基点として当該暗号化ピースの配信を仲介する各ノード50,51の各ノードID列、当該各ノード50,51が生成した各乱数を含む乱数列及び当該各ノード50,51が生成した各電子署名を含む電子署名列を鍵サーバ53に送信する。尚、これらの送信に際し、ピース検証要求送信部523は、各ノードIDと当該各ノードIDが割り当てられたノードが生成した乱数と当該ノードIDが割り当てられたノードが生成した電子署名との対応関係を保持した状態で送信する。
FIG. 11 is a diagram schematically illustrating information transmitted from the
データ受信部514は、ピース検証要求送信部523が送信したピース検証要求に応じて鍵サーバ53から送信されたピース検証結果を受信して、当該検証結果が検証失敗であった場合には対応する暗号化ピースを破棄し、再度他のノード51から暗号化ピースの取得を試みる。
The
<鍵サーバの構成>
次に、鍵サーバ53のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図12は、鍵サーバ53の機能的構成を例示する図である。鍵サーバ53は、秘密鍵格納部530と、データ受信部531と、公開鍵証明書格納部532と、一時対称鍵生成部533と、データ送信部534と、電子署名検証部535と、ピース検証要求受付部536と、ピース復号部537と、不正ノードリスト格納部538とを有する。尚、秘密鍵格納部530と公開鍵証明書格納部532及び不正ノードリスト格納部538とは、例えば鍵サーバ53のHDDなどの外部記憶装置に記憶領域として確保されるものである。データ受信部531と、一時対称鍵生成部533と、データ送信部534と、電子署名検証部535と、ピース検証要求受付部536と、ピース復号部537との実体は、鍵サーバ53のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。
<Key server configuration>
Next, various functions realized when the CPU of the
秘密鍵格納部530は、各ノード50,51に割り当てられた秘密鍵を、各ノード50,51に割り当てられた公開鍵証明書あるいは公開鍵証明書に含まれるノードIDと対応付けて記憶する。データ受信部531は、上述したノードID列及び乱数列を含む鍵要求をノード51から受信する。
The private
公開鍵証明書格納部532は、鍵サーバ53に全てのノードの公開鍵証明書を格納するように構成する場合に備えられる。公開鍵証明書を格納せずにノードIDを備えるように構成する場合は、鍵サーバ53は公開鍵証明書格納部532を備える必要はない。公開鍵証明書格納部532は、各ノード50,51に割り当てられた公開鍵証明書を記憶する。当該公開鍵証明書格納部532に全ノードの公開鍵証明書が記憶されていると、ノード間のデータ転送量や、後述するピース検証要求におけるデータ転送量を削減できる。
The public key
一時対称鍵生成部533は、データ受信部531が受信した鍵要求に含まれる各ノードIDに対応づけられて秘密鍵格納部530に記憶されている秘密鍵s_i(0≦i≦j-1:jはピースの暗号化回数、以下同様)を読み出し、当該秘密鍵と当該鍵要求に含まれる乱数列に含まれる各乱数r_i(0≦i≦j-1)を用いて、関数Fにより復号鍵k_iを生成する。これを式により表すと以下の(5)式のように表される。尚、関数Fは上述のノード50又はノード51が一時対称鍵を生成する際に用いたものと同じである。従って、ここでは、乱数と秘密鍵とを用いて当該関数Fにより一時対称鍵を復元することになる。
k_i = F(s_i, r_i) ・・・(5)
The temporary symmetric
k_i = F (s_i, r_i) (5)
データ送信部534は、一時対称鍵生成部533が復号鍵として生成した一時対称鍵を、データ受信部531が受信した鍵要求を送信したノード51に対して送信する。例えば、上述の例では、ノード51Aが暗号化を行っていた場合には、鍵サーバ53は、図7に示されるノードID列及び乱数列を含む鍵要求に応じて、図8に示されるように、各乱数r_0、r_1に対して一時対称鍵k_0、k_1を得て、これをノード51Bに対して送信する。当該ピースについて行われた全ての暗号化のそれぞれを復号するための各対称鍵がノード51Bに対して送信されることにより、ノード51Bは当該暗号化ピースの暗号化を完全に復号することができる。
The
ピース検証要求受付部536は、上述した公開鍵証明書列と乱数列と暗号化ピースと電子署名列とを含むピース検証要求をノード51から受信する。例として、図10で示されるピース検証要求を受信したとすると、一時対称鍵生成部533は、鍵要求を受信したときと同様の処理で復号鍵k_0、k_1を生成する。電子署名検証部535は、公開鍵証明書列に含まれる各公開鍵pk_0、pk_1を用いて電子署名列sig_0、sig_1の検証を実施し、ピース復号部537はE(k_1)(k_0)Pの復号を実施する。電子署名の検証および暗号化ピースの復号の手順は以下の通りである。まず、公開鍵pk_1を用いて、暗号化ピースE(k_1)E(k_0)Pと公開鍵証明書列pkc_0、pkc_1と乱数列r_0、r_1と電子署名sig_0とを含む署名対象情報に対する電子署名sig_1を以下の(6)式のように関数VERIFYにより検証する。
検証結果=VERIFY(pk_1, E(k_1)(k_0)P || pkc_0 || r_0 || sig_0 || pck_1 || r_1, sig_1) ・・・(6)
The piece verification
Verification result = VERIFY (pk_1, E (k_1) (k_0) P || pkc_0 || r_0 || sig_0 || pck_1 || r_1, sig_1) (6)
上記(6)式の検証に失敗した場合には、不正ノードリスト格納部538に記憶された不正ノードリストに、ピース検証要求受付部536が受信したピース検証要求を送信したノード51のノードIDが追記されて、データ送信部534が「検証失敗」を当該ノード51に対して送信する。上記の検証に成功した場合には、一時対称鍵k_1を用いて暗号化ピースを復号し、公開鍵pk_0を用いて、暗号化ピースE(k_0)Pと公開鍵証明書列pkc_0と乱数列r_0とを含む署名対象情報に対する電子署名sig_0を以下の(7)式のように関数VERIFYにより検証する。
検証結果=VERIFY(pk_0, E(k_0)P || pkc_0 || r_0, sig_0) ・・・(7)
When the verification of the expression (6) fails, the node ID of the
Verification result = VERIFY (pk_0, E (k_0) P || pkc_0 || r_0, sig_0) (7)
上記(7)式の検証に失敗した場合には、不正ノードリスト格納部538に記憶された不正ノードリストに、公開鍵証明書pkc_1に含まれるノードIDが追記されて、データ送信部534が「検証失敗」を当該ノード51に対して送信する。上記の検証に成功した場合には、データ送信部534が「検証成功」を当該ノード51に対して送信する。
When the verification of the expression (7) fails, the node ID included in the public key certificate pkc_1 is added to the unauthorized node list stored in the unauthorized node
また、鍵サーバ53に全てのノードの公開鍵証明書が格納されている場合には、ピース検証要求受付部536は、図11に示す検証依頼を受信する。当該検証依頼には、ノードID列が含まれており、鍵サーバ53は公開鍵証明書格納部に記録されている公開鍵証明書の中から当該ノードIDに対応する公開鍵証明書pkc_i(0≦i≦j-1)を取り出す。その後のピース検証処理は、上述の図10に示す検証依頼を受信した場合と同様である。
If the public key certificates of all nodes are stored in the
(2)動作
<配信開始ノード:配信処理>
次に、本実施の形態にかかるデータ配信システムで行われる処理の手順について説明する。まず、配信開始ノードであるノード50が行う配信処理の手順について図13を用いて説明する。ノード50は、配信データを複数のピースに分割する(ステップS1)。そして、ノード50は、ピースを要求するピース要求を他のノード51から受信すると(ステップS2:YES)、乱数r_0を生成する(ステップS3)。次いで、ノード50は、乱数r_0と固有情報格納部500に記憶された秘密鍵s_0とを用いて関数Fにより一時対称鍵k_0を生成する(ステップS4)。そして、ノード50は、ステップS4で生成した一時対称鍵を用いて、送信対象となるピースPを暗号化して、暗号化ピースE(k_0)Pを出力する(ステップS5)。尚、送信対象となるピースをどのように決定するかは特に限定されない。さらに、ノード50は、固有情報格納部500に記憶された非公開鍵sk_0を用いて、ステップS5で生成された暗号化ピースE(k_0)Pとノード50自身の公開鍵証明書pkc_0とステップS3で生成された乱数r_0とを含む署名対象情報に対する電子署名sig_0を生成する(ステップS6)。そして、ノード50は、ステップS2で受信されたピース要求を送信した他のノード51に対して、例えば図4に示されるように、固有情報格納部500に記憶されている公開鍵証明書pkc_0と、ステップS3で生成した乱数r_0と、ステップS5で出力した暗号化ピースE(k_0)Pと、ステップS6で生成した電子署名sig_0とを送信する(ステップS7)。その後ステップS2に戻り、ノード50は、新たなピース要求の受信を待機する。尚、ステップS2で受信されるピース要求は、同一のノード51であるとは限らず、当該ピース要求によって要求されるピースPは、同一のピースであるとは限らない。また、ステップS3で生成する乱数は基本的にステップS3の処理毎に異なる。
(2) Operation <Distribution start node: distribution processing>
Next, a procedure of processing performed in the data distribution system according to the present embodiment will be described. First, the procedure of the distribution process performed by the
<受信処理>
次に、ノード51がノード50又は他のノード51から暗号化ピースを受信する受信処理の手順について図14を用いて説明する。ノード51は、ピースを要求するピース要求をノード50又は他のノード51に対して送信する(ステップS10)。そして、ノード51は、ステップS10でピース要求を送信した相手であるノード50又は他のノード51から、公開鍵証明書列と、乱数列と、暗号化ピースと、電子署名列とを受信する(ステップS11)。次いで、送信した相手であるノード50又は他のノード51が生成した電子署名の検証を行なう(ステップS12)。ステップS12の検証に成功すると(ステップS13:YES)、ノード51は、ステップS11で受信した公開鍵証明書列、乱数列、暗号化ピース及び電子署名列を対応付けて記憶する(ステップS14)。一方、ステップ12の検証に失敗すると(ステップS13:NO)、ノード51は、ステップS11で受信した公開鍵証明書列、乱数列、暗号化ピース及び電子署名列を破棄する(ステップS15)。
<Reception processing>
Next, a reception process procedure in which the
尚、ノード51がノード50にピース要求を送信した場合は、ステップS11ではピースPについて図4に示される公開鍵証明書列と、乱数列と、暗号化ピースと電子署名列とを受信する。ここで、図示はしないが、P2PネットワークNTに接続されるノードであって、fを1以上の整数として、f番目にピースPを受信するノードについて一般化して説明する。説明の便宜上、当該ノードのノードIDをID# fとする。ノードID「ID# f」が割り当てられたノードは、(f -1)番目のノードID「ID# (f-1)」が割り当てられたノードから、図15に示されるように、ピースPについて、公開鍵証明書列pkc_0、・・・、pkc_{f-1}と、乱数列r_0、・・・、r_{f-1}と、暗号化ピースE(k_{f-1})・・・E(k_0)Pと、電子署名列sig_0・・・、sig_{f-1}とを受信する。このとき、公開鍵証明書列に含まれるノードID「ID #0、・・・、ID #(f-1)」によって、暗号化ピースがどのノードによって暗号化されて送信されたかが各々特定されるため、暗号化ピースの配信経路が示されることになる。
When the
<配信開始ノード以外のノード:配信処理>
次に、配信開始ノード以外のノード51が行う配信処理の手順について図16を用いて説明する。ノード51は、ピースを要求するピース要求を他のノード51から受信すると(ステップS20:YES)、乱数を生成する(ステップS21)。そしてノード51は、ステップS21で生成した乱数と、固有情報格納部510に記憶された秘密鍵とを用いて関数Fにより一時対称鍵を生成する(ステップS22)。次いでノード51は、ステップS22で生成した一時対称鍵を用いて、あるピースPが暗号化された暗号化ピースであってデータ格納部517に記憶されている暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する(ステップS23)。そして、固有情報格納部510に記憶された非公開鍵を用いて、関数SIGNにより公開鍵証明書列と乱数列と暗号化ピースと電子署名列とを含む署名対象情報に対する電子署名を生成する(ステップS24)。その後ノード51は、ステップS20で受信されたピース要求を送信した他のノード51に対して、送信対象である暗号化ピースに対応付けられてデータ格納部517に記憶された公開鍵証明書に加え固有情報格納部510に記憶された公開鍵証明書を含む新たな公開鍵証明書列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加えステップS21で生成した乱数を含む新たな乱数列と、ステップS23で出力した新たな暗号化ピースと、当該暗号化ピースに対応付けられてデータ格納部517に記憶された電子署名列に加えステップS24で生成した電子署名を含む電子署名列とを送信する(ステップS25)。
<Nodes other than the distribution start node: distribution processing>
Next, the procedure of distribution processing performed by the
<復号処理>
次に、ノード51が鍵サーバ53から復号鍵を取得しこれを用いて暗号化ピースを復号する復号処理の手順について図17を用いて説明する。ノード51は、データ格納部517に記憶された暗号化ピースに対応付けられている公開鍵証明書列及び乱数列を読み出し(ステップS30)、公開鍵証明書に含まれるノードIDを元にノードID列を取得する(ステップS31)。そして、当該暗号化ピースを復号するための復号鍵を要求すると共に、ステップS31で取得したノードID列及びデータ格納部517から読み出した乱数列を含む鍵要求を鍵サーバ53に送信する(ステップS32)。次いで、ノード51は、ステップS32で送信された鍵要求に応じて鍵サーバ53から送信された一時対称鍵を復号鍵として受信し(ステップS33)、当該一時対称鍵を用いて暗号化ピースを復号する(ステップS34)。
<Decryption process>
Next, a procedure of a decryption process in which the
例えば、上述したノードID「ID #f」が割り当てられたノードは、鍵サーバ53に対して、図18に示されるように、ピースPについて、ノードID列「ID #0、・・・、ID #(f-1)」と、乱数列r_0、・・・、r_{f-1}とを送信する。そして、当該ノードは、鍵サーバ53から、図19に示されるように、ピースPについて、一時対称鍵k_0、・・・、k_{f-1}を受信し、これらを用いて暗号化ピースE(k_{f-1})・・・E(k_0)Pを復号して、ピースPを得る。このようにして、各ノード51は、各ピースについて行われている暗号化を解くための一時対称鍵を全て得ることにより、当該ピースについて行われている暗号化を解くことができ、当該暗号化ピースを完全に復号することが可能になる。このようにして、各ノード51は、複数のピースのそれぞれが暗号化された各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ53から受信し、各暗号化ピースを復号することにより、上述の配信データを得ることができる。
For example, the node to which the above-described node ID “ID #f” is assigned, with respect to the
<ピース検証要求処理>
次に、ノード51が鍵サーバ53にピース検証要求を送信し、ピース検証結果を受信する手順について図20を用いて説明する。ノード51は、データ格納部517に記憶された暗号化ピースと、暗号化ピースに対応付けられている公開鍵証明書列と乱数列及び電子署名列を読み出し(ステップS40)、暗号化ピースと公開鍵証明書列と乱数列及び電子署名列を含むピース検証要求を鍵サーバ53に送信する(ステップS41)。次いで、ノード51は、ステップS41で送信されたピース検証要求に応じて鍵サーバ53から送信されたピース検証結果を受信し(ステップS42)、検証結果が成功であった場合は処理を終了する(ステップS43:YES)。一方、検証結果が失敗であった場合(ステップS43:NO)は、当該暗号化ピースと、当該暗号化ピースに対応づけられている公開鍵証明書列と乱数列及び電子署名列を廃棄する(ステップS44)。
<Peace verification request processing>
Next, a procedure in which the
例えば、上述したノードID「ID #f」が割り当てられたノードは、鍵サーバ53に対して、図15に示されるように、あるピースPについて、公開鍵証明書列pkc_0、・・・、pkc_{f-1}と、乱数列r_0、・・・、r_{f-1}と暗号化ピースE(k_{f-1})、・・・、E(k_0)P及び電子署名列sig_0、・・・、sig_{f-1}を送信する。そして当該ノードは、鍵サーバ53から、ピース検証結果(成功もしくは失敗)を受信する。
For example, the node to which the above-described node ID “ID #f” is assigned, with respect to the
<鍵サーバ:鍵送信処理>
次に、鍵サーバ53がノード51からの鍵要求に応じて復号鍵を送信する鍵送信処理の手順について図21を用いて説明する。鍵サーバ53は、暗号化ピースを復号するための復号鍵を要求されると共に、ノードID列及び乱数列を含む鍵要求をノード51から受信すると(ステップS50:YES)、受信した鍵要求に含まれるノードID列に含まれる各ノードIDに対応付けられて秘密鍵格納部530に記憶されている秘密鍵をノードID毎に読み出す(ステップS51)。そして鍵サーバ53は、全てのノードIDに対する乱数と、ステップS51で読み出した秘密鍵とを用いてノードID毎に関数Fにより一時対称鍵を復号鍵として生成する(ステップS52)。次いで、鍵サーバ53は、ステップS52で復号鍵として生成した一時対称鍵を、ステップS50で受信した鍵要求を送信したノード51に対して送信する(ステップS53)。
<Key server: Key transmission processing>
Next, a procedure of key transmission processing in which the
例えば、鍵サーバ53は、上述したノードID「ID #f」が割り当てられたノードに対して、ピースPについて、図18に示されるようなノードID列及び乱数列を含む鍵要求に応じて、図19に示されるような一時対称鍵k_0、・・・、k_{f-1}を送信する。
For example, the
<鍵サーバ:ピース検証処理>
次に、鍵サーバ53がノード51からのピース検証要求に応じてピースを検証し、検証結果を送信するピース検証処理の手順について図22を用いて説明する。鍵サーバ53は、ピースの検証を要求されると共に、公開鍵証明書列と乱数列と暗号化ピースと電子署名列とを含むピース検証要求をノード51から受信すると(ステップS600:YES)、受信したピース検証要求に含まれる公開鍵証明書列に含まれる各ノードIDに対応づけられて秘密鍵格納部530に記憶されている秘密鍵をノードID毎に読み出す(ステップS601)。そして鍵サーバ53は、全てのノードIDに対する乱数と、ステップS601で読み出した秘密鍵とを用いてノードID毎に関数Fにより一時対称鍵k_0、・・・、k_{f-1}を復号鍵として生成する(ステップS602)。ここで、fをピース検証要求に含まれる暗号化ピースの暗号化回数すなわち暗号化ピースの転送回数とする。fは、例えば公開鍵証明書列、乱数列、および電子署名列などの各データ列に含まれるデータの個数として求めることができる。次いで鍵サーバ53は、i=f-1として(ステップS603)、以下のステップS604〜S607をi=0となるまで繰り返す。まず鍵サーバ53は、ピース検証要求に含まれる公開鍵証明書列pkc_0、・・・、pkc_iと乱数列r_0、・・・、r_iと暗号化ピースE(k_i)・・・E(k_0)Pと電子署名列sig_0、・・・、sig_{i-1}とに対して、電子署名sig_iが正当な署名であるかどうかを、公開鍵証明書pkc_iに含まれる公開鍵pk_iを用いて関数VERIFYにより検証する(ステップS604)。ステップS604の検証結果が検証成功となったとき(ステップS605:YES)は、暗号化ピースE(k_i)E(k_{i-1})・・・E(k_0)Pを一時対称鍵k_iを用いて復号して、暗号化ピースE(k_{i-1})・・・E(k_0)Pを得る(ステップS606)。次いで鍵サーバ53は、i=i-1とし(ステップS607)、i=0となった場合(ステップS608:YES)は、公開鍵証明書pkc_0と乱数r_0と暗号化ピースE(k_0)Pとに対して、電子署名sig_0が正当な署名であるかどうかを、公開鍵証明書pkc_0に含まれる公開鍵pk_0を用いて関数VERIFYにより検証する(ステップS609)。ステップS609の検証結果が検証成功となったとき(ステップS610:YES)、鍵サーバ53はステップS600で受信したピース検証要求を送信したノード51に対して、検証成功を送信する(ステップS612)。鍵サーバ53は、ステップS604の検証結果が検証失敗となったとき(ステップS605:NO)及び、ステップS609の検証結果が検証失敗となったとき(ステップS610:NO)は、不正ノードリスト格納部538に記録された不正ノードリストに、pkc_{i+1}に含まれているノード51のノードIDを追記し(ステップS611)、データ送信部534が「検証失敗」を当該ノード51に対して送信する(ステップS613)。また、鍵サーバ53は、ステップS607でi=0とならなかった場合(ステップS608:NO)は、ステップS604以降の処理をステップS608でi=0となるまで繰り返す。
<Key server: piece verification process>
Next, a procedure of piece verification processing in which the
次に、鍵サーバ53が全てのノードの公開鍵証明書を公開鍵証明書格納部532に記憶されており、かつ図23に示されるように、ピース検証要求にノードID列が含まれていた場合の処理を、図24を用いて説明する。鍵サーバ53は、ピースの検証を要求されると共に、ノードID列と乱数列と暗号化ピースと電子署名列とを含むピース検証要求をノード51から受信すると(ステップS700:YES)、受信したピース検証要求に含まれるノードID列に含まれる各ノードIDに対応づけられて秘密鍵格納部530に記憶されている秘密鍵をノードID毎に読み出し、受信したピース検証要求に含まれるノードID列に含まれる各ノードIDに対応づけられて公開鍵証明書格納部532に記憶されている公開鍵証明書をノードID毎に読み出す(ステップS701)。まず鍵サーバ53は、全てのノードIDに対する乱数と、ステップS701で読み出した秘密鍵とを用いてノードID毎に関数Fにより一時対称鍵k_0、・・・、k_{f-1}を復号鍵として生成する(ステップS702)。ここで、fをピース検証要求に含まれる暗号化ピースの暗号化回数すなわち暗号化ピースの転送回数とする。次いで鍵サーバ53は、i=f-1として(ステップS703)、以下のステップS704〜S707をi=0となるまで繰り返す。そして鍵サーバ53は、ステップS701で読み出された公開鍵証明書列pkc_0、・・・、pkc_iとピース検証要求に含まれる乱数列r_0、・・・、r_iと暗号化ピースE(k_i)・・・E(k_0)P及び電子署名列sig_0、・・・、sig_{i-1}に対して、電子署名sig_iが正当な署名であるかどうかを、公開鍵証明書pkc_iに含まれる公開鍵pk_iを用いて関数VERIFYにより検証する(ステップS704)。ステップS704の検証結果が検証成功となったとき(ステップS705:YES)は、暗号化ピースE(k_i)E(k_{i-1})・・・E(k_0)Pを一時対称鍵k_iを用いて復号して、暗号化ピースE(k_{i-1})・・・E(k_0)Pを得る(ステップS706)。次いで鍵サーバ53は、i=i-1とし(ステップS707)、i=0となった場合(ステップS708:YES)は、公開鍵証明書pkc_0と乱数r_0及び暗号化ピースE(k_0)Pに対して、電子署名sig_0が正当な署名であるかどうかを、公開鍵証明書pkc_0に含まれる公開鍵pk_0を用いて関数VERIFYにより検証する(ステップS709)。ステップS709の検証結果が検証成功となったとき(ステップS710:YES)、鍵サーバ53はステップS700で受信したピース検証要求を送信したノード51に対して、検証成功を送信する(ステップS712)。鍵サーバ53は、ステップS704の検証結果が検証失敗となったとき(ステップS705:NO)及び、ステップS709の検証結果が検証失敗となったとき(ステップS710:NO)は、不正ノードリスト格納部538に記録された不正ノードリストに、pkc_{i+1}に含まれているノード51のノードIDを追記し(ステップS711)、データ送信部534が「検証失敗」を当該ノード51に対して送信する(ステップS713)。また、鍵サーバ53は、ステップS707でi=0とならなかった場合(ステップS708:NO)は、ステップS704以降の処理をステップS708でi=0となるまで繰り返す。
Next, the
不正ノードリストは、鍵サーバ53から各ノード50,51に定期的にあるいは不定期に配布されてもよい。また、各ノード50,51が、鍵サーバ53に定期的にあるいは不定期に要求して不正ノードリストを入手しても良い。各ノード50、51は入手した不正ノードリストの情報を元に、暗号化ピースの送受信を一部制限してもよい。例えば、不正ノードリストを持つノード51に他のノードからのピース要求を受信したときに、当該他のノードのノードIDが不正ノードリストに記載されていた場合に、ピース要求を拒否してもよい。また、不正ノードリストを持つノード51が他のノードにピース要求をする際に、当該他のノードのノードIDが不正ノードリストに記載されていた場合には、当該他のノードに対してピース要求を行なわないことにしてもよい。
The unauthorized node list may be distributed from the
以上のような構成によれば、ある不正ノードが暗号化ピースを不正に改ざんした場合、鍵サーバは暗号化ピースを転送するごとに生成された電子署名を用いて当該暗号化ピースを検証することで当該不正ノードを特定することが可能となる。 According to the above configuration, when a certain illegal node tampers with the encrypted piece, the key server verifies the encrypted piece using the electronic signature generated each time the encrypted piece is transferred. This makes it possible to identify the unauthorized node.
50,51,51A,51B ノード
53 鍵サーバ
500 固有情報格納部
501 乱数生成部
502 一時対称鍵生成部
503 ピース暗号化部
504 ピース化部
505 データ送信部
506 送信要求受付部
507 電子署名生成部
510 固有情報格納部
511 乱数生成部
512 一時対称鍵生成部
513 ピース暗号化部
514 データ受信部
515 データ送信部
516 送信要求受付部
517 データ格納部
518 送信要求送信部
519 鍵要求送信部
520 ピース復号部
521 電子署名生成部
522 電子署名検証部
523 ピース検証要求送信部
530 秘密鍵格納部
531 データ受信部
532 公開鍵証明書格納部
533 一時対称鍵生成部
534 データ送信部
535 電子署名検証部
536 ピース検証要求受付部
537 ピース復号部
538 不正ノードリスト格納部
NT P2Pネットワーク
50, 51, 51A,
Claims (12)
他の通信装置を識別する第1装置識別情報と前記ピースとを含む第1署名対象情報、および、前記第1署名対象情報に対して生成された第1電子署名を受信する受信手段と、
前記通信装置を識別する第2装置識別情報と、前記通信装置に割り当てられた非公開鍵と、を記憶する記憶手段と、
前記第1署名対象情報と前記第1電子署名と前記記憶手段に記憶された前記第2装置識別情報とを含む第2署名対象情報に対する第2電子署名を、前記記憶手段に記憶された前記非公開鍵を用いて生成する署名生成手段と、
前記第2署名対象情報と前記第2電子署名とを送信する送信手段と、
を備えることを特徴とする通信装置。 A communication device that transmits a piece that is part of data,
Receiving means for receiving first signature object information including first device identification information for identifying another communication device and the piece, and a first electronic signature generated for the first signature object information;
Storage means for storing second device identification information for identifying the communication device, and a private key assigned to the communication device;
A second electronic signature for the second signature object information including the first signature object information, the first electronic signature, and the second device identification information stored in the storage means is stored in the storage means. Signature generating means for generating using a public key;
Transmitting means for transmitting the second signature object information and the second electronic signature;
A communication apparatus comprising:
その生成毎に異なり得る第2一時情報を生成する一時情報生成手段と、
前記第2一時情報を用いて一時対称鍵を生成する鍵生成手段と、
前記一時対称鍵を用いて前記第1暗号化ピースを更に暗号化した第2暗号化ピースを出力する暗号化手段と、をさらに備え、
前記署名生成手段は、前記第1暗号化ピースを前記第2暗号化ピースで置換した前記第1署名対象情報と前記第1電子署名と前記記憶手段に記憶された前記第2装置識別情報とを含む第2署名対象情報に対する第2電子署名を、前記記憶手段に記憶された前記非公開鍵を用いて生成し、
前記送信手段は、前記第2署名対象情報と、前記第2電子署名と、前記第1一時情報と、前記第2一時情報と、を送信すること、
を特徴とする請求項1に記載の通信装置。 The receiving means includes the first signature object information including the first device identification information and a first encrypted piece that is the piece encrypted by the other communication device, the first electronic signature, and the Receiving the first temporary information generated when the other communication device encrypts,
Temporary information generating means for generating second temporary information that may differ for each generation;
Key generation means for generating a temporary symmetric key using the second temporary information;
An encryption means for outputting a second encrypted piece obtained by further encrypting the first encrypted piece using the temporary symmetric key;
The signature generation means includes the first signature object information obtained by replacing the first encrypted piece with the second encrypted piece, the first electronic signature, and the second device identification information stored in the storage means. Generating a second electronic signature for the second signature target information including using the private key stored in the storage means;
The transmission means transmits the second signature target information, the second electronic signature, the first temporary information, and the second temporary information;
The communication apparatus according to claim 1.
を特徴とする請求項2に記載の通信装置。 The first signature object information includes a public key certificate including the first device identification information and a public key assigned to the other communication device, and the first encrypted piece;
The communication device according to claim 2.
前記公開鍵と前記第1署名対象情報とを用いて前記第1電子署名を検証する検証手段をさらに備え、
前記署名生成手段は、前記第1電子署名が正しいことが検証されたときに、前記第2署名対象情報に対する前記第2電子署名を、前記記憶手段に記憶された前記非公開鍵を用いて生成すること、
を特徴とする請求項1に記載の通信装置。 The receiving means further receives a public key corresponding to the private key used when generating the first electronic signature,
Verification means for verifying the first electronic signature using the public key and the first signature object information;
The signature generation unit generates the second electronic signature for the second signature target information using the private key stored in the storage unit when it is verified that the first electronic signature is correct. To do,
The communication apparatus according to claim 1.
前記送信手段は、さらに、電子署名を検証可能なサーバ装置に対して、前記第1署名対象情報と、前記第1電子署名とを含む、前記第1電子署名の検証要求を送信し、
前記受信手段は、さらに、前記検証要求に対する応答として前記第1電子署名の検証結果を前記サーバ装置から受信すること、
を特徴とする請求項1に記載の通信装置。 The receiving means transmits the pieces of first signature object information including a plurality of pieces of the first device identification information for identifying each of the plurality of other communication devices that mediate transmission of the pieces, and the pieces. A plurality of the first electronic signatures generated by each of the plurality of other communication devices for each,
The transmission means further transmits a verification request for the first electronic signature including the first signature object information and the first electronic signature to a server device capable of verifying the electronic signature,
The receiving means further receives the verification result of the first electronic signature from the server device as a response to the verification request;
The communication apparatus according to claim 1.
前記通信装置は、前記ピースを含む署名対象情報と、前記署名対象情報に対して他の通信装置が生成した電子署名とを含む新たな署名対象情報に対して新たな電子署名を生成し、生成した前記署名対象情報と生成した前記電子署名とを送信し、
前記署名対象情報と、前記署名対象情報に対して生成された前記電子署名とを含む、前記電子署名の検証要求を前記通信装置から受信する受信手段と、
前記検証要求に含まれる前記署名対象情報と、前記検証要求に含まれる前記電子署名を生成した前記通信装置に割り当てられた公開鍵とを用いて前記電子署名を検証する検証手段と、
検証されなかった前記電子署名を含む前記署名対象情報に対する前記電子署名を生成した前記通信装置を、不正な通信装置として検出する検出手段と、
を備えることを特徴とするサーバ装置。 A server device connected to a plurality of communication devices that transmit pieces that are part of data,
The communication device generates a new electronic signature for new signature target information including signature target information including the piece and an electronic signature generated by another communication device for the signature target information, and generates the signature Transmitting the signature target information and the generated electronic signature,
Receiving means for receiving a verification request for the electronic signature from the communication device, including the signature target information and the electronic signature generated for the signature target information;
Verification means for verifying the electronic signature using the signature target information included in the verification request and a public key assigned to the communication device that generated the electronic signature included in the verification request;
Detection means for detecting the communication device that has generated the electronic signature for the signature target information including the electronic signature that has not been verified as an unauthorized communication device;
A server device comprising:
前記受信手段は、前記署名対象情報と、前記電子署名と、前記署名対象情報を送信した複数の前記通信装置の前記装置識別情報と、を対応づけて含む前記検証要求を受信し、
前記検証手段は、前記検証要求に含まれる前記署名対象情報と、前記検証要求に含まれる前記装置識別情報に対応する前記記憶手段の前記公開鍵とを用いて、前記電子署名を検証すること、
を特徴とする請求項6に記載のサーバ装置。 Further comprising storage means for storing device identification information for identifying the communication device and the public key assigned to each of the communication devices in association with each other.
The receiving means receives the verification request including the signature target information, the electronic signature, and the device identification information of the plurality of communication devices that transmitted the signature target information in association with each other,
The verification means verifies the electronic signature using the signature object information included in the verification request and the public key of the storage means corresponding to the device identification information included in the verification request;
The server device according to claim 6.
前記検証手段は、前記検証要求に含まれる前記署名対象情報と、前記検証要求に含まれる前記公開鍵とを用いて、前記電子署名を検証すること、
を特徴とする請求項6に記載のサーバ装置。 The receiving unit receives the verification request including the signature target information, the electronic signature, and the public keys assigned to the plurality of communication devices that transmitted the signature target information in association with each other;
The verification means verifies the electronic signature using the signature object information included in the verification request and the public key included in the verification request;
The server device according to claim 6.
前記検証要求は、さらに、複数の前記通信装置それぞれが生成した生成毎に異なり得る情報であって、前記ピースを暗号化する暗号鍵を生成するための複数の一時情報を対応づけた前記装置識別情報を含み、
前記署名対象情報は、複数の前記通信装置により前記一時情報を用いて生成された複数の暗号鍵によって、複数の前記通信装置が前記署名対象情報を送信するごとに暗号化されており、
前記検証手段は、前記検証要求に含まれる前記一時情報と、前記検証要求に含まれる前記装置識別情報に対応する前記記憶手段の前記秘密情報とを用いて暗号鍵を生成し、生成した暗号鍵によって前記署名対象情報を復号し、復号した前記署名対象情報と、前記公開鍵とを用いて前記電子署名を検証すること、
を特徴とする請求項6に記載のサーバ装置。 And further comprising storage means for storing the secret information assigned to each of the communication devices and the device identification information for identifying the communication device in association with each other.
The verification request is information that can be different for each generation generated by each of the plurality of communication devices, and the device identification associated with a plurality of temporary information for generating an encryption key for encrypting the piece Including information,
The signature target information is encrypted each time a plurality of communication devices transmit the signature target information with a plurality of encryption keys generated using the temporary information by a plurality of communication devices,
The verification unit generates an encryption key using the temporary information included in the verification request and the secret information of the storage unit corresponding to the device identification information included in the verification request. The signature object information is decrypted by using the decrypted signature object information and the public key to verify the electronic signature;
The server device according to claim 6.
他の通信装置を識別する第1装置識別情報と前記ピースとを含む第1署名対象情報、および、前記第1署名対象情報に対して生成された第1電子署名を受信する受信手段と、
前記通信装置を識別する第2装置識別情報と前記通信装置に割り当てられた非公開鍵とを記憶する記憶手段に記憶された前記第2装置識別情報と前記第1署名対象情報と前記第1電子署名とを含む第2署名対象情報に対する第2電子署名を、前記記憶手段に記憶された前記非公開鍵を用いて生成する署名生成手段と、
前記第2署名対象情報と前記第2電子署名とを送信する送信手段と、
として機能させるための通信プログラム。 A communication device that transmits a piece of data,
Receiving means for receiving first signature object information including first device identification information for identifying another communication device and the piece, and a first electronic signature generated for the first signature object information;
The second device identification information, the first signature object information, and the first electronic device stored in storage means for storing second device identification information for identifying the communication device and a private key assigned to the communication device. Signature generating means for generating a second electronic signature for the second signature object information including the signature using the private key stored in the storage means;
Transmitting means for transmitting the second signature object information and the second electronic signature;
Communication program to function as
前記ピースの配信を仲介した複数の通信装置のそれぞれを識別する装置識別情報と前記ピースとを含む署名対象情報、および、前記署名対象情報に対して複数の前記通信装置それぞれが生成した複数の電子署名を含む、
ことを特徴とするデータ。 Data transmitted from a communication device that mediates distribution of pieces that are part of distribution data,
Signature information including device identification information for identifying each of a plurality of communication devices that mediate delivery of the piece and the piece, and a plurality of electronic devices generated by the plurality of communication devices for the signature target information Including signature,
Data characterized by that.
前記ピースを含む署名対象情報、前記署名対象情報に対して前記署名対象情報を送信した複数の前記通信装置それぞれによって生成された複数の電子署名、および、前記署名対象情報を送信した複数の前記通信装置を識別する装置識別情報と前記署名対象情報を送信した複数の前記通信装置に割り当てられた公開鍵との少なくとも一方を対応づけた、前記電子署名の検証要求を含む、
ことを特徴とするデータ。 Data transmitted from the communication device that mediates the distribution of pieces that are part of the distribution data to the server device,
Signature object information including the piece, a plurality of electronic signatures generated by each of the plurality of communication apparatuses that transmitted the signature object information to the signature object information, and a plurality of the communication that transmitted the signature object information Including an electronic signature verification request that associates at least one of device identification information for identifying a device and public keys assigned to the plurality of communication devices that transmitted the signature object information,
Data characterized by that.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008316306A JP2010141619A (en) | 2008-12-11 | 2008-12-11 | Communication apparatus, server apparatus, communication program, and data |
PCT/JP2009/070545 WO2010067797A1 (en) | 2008-12-11 | 2009-12-08 | Communication apparatus, server apparatus and communication program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008316306A JP2010141619A (en) | 2008-12-11 | 2008-12-11 | Communication apparatus, server apparatus, communication program, and data |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010141619A true JP2010141619A (en) | 2010-06-24 |
Family
ID=42242786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008316306A Pending JP2010141619A (en) | 2008-12-11 | 2008-12-11 | Communication apparatus, server apparatus, communication program, and data |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2010141619A (en) |
WO (1) | WO2010067797A1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5395372B2 (en) * | 2008-06-19 | 2014-01-22 | 株式会社東芝 | Communication device, key server and data |
CN111680311B (en) * | 2020-05-28 | 2022-12-20 | 北京理工大学 | Data exchange system and method based on block chain |
CN113326529A (en) * | 2021-06-24 | 2021-08-31 | 北京八分量信息科技有限公司 | Decentralized architecture unifying method based on trusted computing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005286989A (en) * | 2004-03-02 | 2005-10-13 | Ntt Docomo Inc | Communication terminal and ad hoc network rout controlling method |
JP2006222738A (en) * | 2005-02-10 | 2006-08-24 | Nagoya Institute Of Technology | Data exchange based on evaluation values in ad hoc network |
JP2007005898A (en) * | 2005-06-21 | 2007-01-11 | Toshiba Corp | Node unit, anonymous communication method and program |
JP5042800B2 (en) * | 2007-01-09 | 2012-10-03 | ドコモ・テクノロジ株式会社 | Network data sharing system |
-
2008
- 2008-12-11 JP JP2008316306A patent/JP2010141619A/en active Pending
-
2009
- 2009-12-08 WO PCT/JP2009/070545 patent/WO2010067797A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2010067797A1 (en) | 2010-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10708072B2 (en) | Mutual authentication of confidential communication | |
JP5395372B2 (en) | Communication device, key server and data | |
JP4617763B2 (en) | Device authentication system, device authentication server, terminal device, device authentication method, and device authentication program | |
KR101265873B1 (en) | Distributed single sign-on service | |
US7979707B2 (en) | Secure seed generation protocol | |
US7653713B2 (en) | Method of measuring round trip time and proximity checking method using the same | |
JP6950745B2 (en) | Key exchange device, key exchange system, key exchange method, and key exchange program | |
CN103763356A (en) | Establishment method, device and system for connection of secure sockets layers | |
US9165148B2 (en) | Generating secure device secret key | |
JP5378296B2 (en) | Communication apparatus and communication method | |
CN111080299B (en) | Anti-repudiation method for transaction information, client and server | |
JP2013207376A (en) | Information processing device and program | |
JP2006109107A (en) | Signature formation method, signature verification method, public key distribution method, and information processing apparatus | |
KR20150135032A (en) | System and method for updating secret key using physical unclonable function | |
JP2011091494A (en) | Data distribution device, data reception device, data distribution program and data reception program | |
JP2010004390A (en) | Communication apparatus, key server and data | |
JP2010141567A (en) | Communication apparatus, communication method and program | |
JPWO2016199507A1 (en) | KEY EXCHANGE METHOD, KEY EXCHANGE SYSTEM, KEY DISTRIBUTION DEVICE, COMMUNICATION DEVICE, AND PROGRAM | |
JP2006115083A (en) | Regular content confirming method | |
WO2010067797A1 (en) | Communication apparatus, server apparatus and communication program | |
CN115549910B (en) | Data transmission method, equipment and storage medium | |
JP6538923B2 (en) | Authentication system, method, program and server | |
JP2010206762A (en) | Encryption communication system, encryption communication method, transmitting apparatus and receiving apparatus | |
JP2008203581A (en) | Network system | |
JP2003283485A (en) | Method and system for managing encryption key |