JP2010004390A - Communication apparatus, key server and data - Google Patents

Communication apparatus, key server and data Download PDF

Info

Publication number
JP2010004390A
JP2010004390A JP2008162272A JP2008162272A JP2010004390A JP 2010004390 A JP2010004390 A JP 2010004390A JP 2008162272 A JP2008162272 A JP 2008162272A JP 2008162272 A JP2008162272 A JP 2008162272A JP 2010004390 A JP2010004390 A JP 2010004390A
Authority
JP
Japan
Prior art keywords
key
piece
node
encrypted
temporary
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
Application number
JP2008162272A
Other languages
Japanese (ja)
Inventor
Shinji Yamanaka
晋爾 山中
Tatsu Kamibayashi
達 上林
Haruhiko Toyama
春彦 外山
Tatsuyuki Matsushita
達之 松下
Kentaro Umezawa
健太郎 梅澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008162272A priority Critical patent/JP2010004390A/en
Publication of JP2010004390A publication Critical patent/JP2010004390A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a communication technology with which a combination of encrypted pieces to be distributed in a content distribution system is made unique for each communication apparatus and a degree of freedom in system construction is improved. <P>SOLUTION: When a node 51 receives a node ID sequence, a random number sequence and encrypted pieces from other nodes 50, 51, the node 51 correspondingly stores them. In a case where there is a piece request from the other node 51, the node 51 determines in terms of probability whether to perform encryption or not and when performing encryption, a random number and a private key are used to generate temporary symmetric keys, so that the encrypted pieces are further encrypted using the temporary symmetric keys. When encryption is not performed, the node 51 generates a substitutive random number. Then, the node transmits to the other node 51 a node ID of the node's own in addition to the node ID sequence stored correspondingly to the encrypted pieces, a random number generated by the node itself in addition to the random number sequence stored correspondingly to the encrypted pieces, and the encrypted pieces. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、配信データの一部である複数のピースを暗号化して送信する又は暗号化されたピースを受信する通信装置、暗号化されたピースを復号するための復号鍵を送信する鍵サーバ及びデータに関する。   The present invention relates to a communication device that encrypts and transmits a plurality of pieces that are part of distribution data, or receives an encrypted piece, a key server that transmits a decryption key for decrypting the encrypted piece, and Regarding 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 bandwidth, and is a distribution method with 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 Patent Document 1 is known. In this method, distribution data is divided into pieces, and encrypted with a key matrix to generate an encrypted piece. As a result, a piece group consisting of encrypted pieces encrypted in a matrix is generated. And such a piece group is distributed via a P2P network. One node connected to the P2P network acquires one encrypted piece from among a plurality of encrypted pieces encrypted in a matrix for each piece. As a result, it is expected that the combination of encrypted pieces obtained by encrypting each piece constituting the distribution data is statistically unique for each node.

USP 7165050USP 7165050

しかし、上述の特許文献1の技術においては、各暗号化ピースの組み合わせがノード毎に一意であることはあくまで統計的に期待されるだけである。各暗号化ピースの組み合わせをノード毎に一意にすることを実現するには、例えば、以下の2つの方法が考えられる。1つは、暗号化ピースの配信方法に工夫を施すという方法である。また、1つは、各暗号化ピースを復号するための復号鍵を保持する鍵サーバが復号鍵の配信を制限するという方法である。例えば、配信されたピース群をノードは復号するために、各暗号化ピースの組み合わせを鍵サーバに申告して復号鍵を取得するシステムがある。このシステムにおいて、復号鍵の再配信によるリプレイアタックを阻止するためには、既に取得された復号鍵と重複が多い暗号化ピースの組み合わせを、鍵サーバがリジェクトするという方法がある。しかしいずれの方法であっても、暗号化ピースの配信効率を時として著しく低下させ、P2Pネットワークの利点を十分活かすことができなくなる恐れがある。また、前者の方法では、データの保護とデータの配信方法との独立性が損なわれ、そのことがシステム構築上の大きな制約となる恐れがある。   However, in the technique of the above-mentioned Patent Document 1, it is only statistically expected that the combination of encrypted pieces is unique for each node. In order to realize the unique combination of the encrypted pieces for each node, for example, the following two methods are conceivable. One method is to devise a method for distributing encrypted pieces. One is a method in which a key server holding a decryption key for decrypting each encrypted piece restricts delivery of the decryption key. For example, there is a system in which a node obtains a decryption key by declaring a combination of encrypted pieces to a key server in order for a node to decrypt a distributed piece group. In this system, in order to prevent a replay attack due to redistribution of the decryption key, there is a method in which the key server rejects a combination of the already obtained decryption key and an encrypted piece with many duplicates. However, either method may significantly reduce the distribution efficiency of the encrypted piece from time to time, and may not be able to take full advantage of the P2P network. In the former method, the independence of the data protection and the data distribution method is lost, which may be a major limitation in system construction.

本発明は、上記に鑑みてなされたものであって、コンテンツ配信システムにおいて配信される各暗号化ピースの組み合わせを通信装置毎に一意にすることが可能になると共に、システム構築上の自由度を向上可能な通信装置、鍵サーバ及びデータを提供することを目的とする。   The present invention has been made in view of the above, and it is possible to make each combination of encrypted pieces distributed in the content distribution system unique for each communication device, and to increase the degree of freedom in system construction. An object is to provide a communication device, a key server, and data that can be improved.

上述した課題を解決し、目的を達成するために、本発明は、データの一部である複数のピースを暗号化して送信する通信装置であって、当該通信装置に一意に割り当てられている装置識別情報を記憶する第1記憶手段と、他の通信装置によって暗号化されたピースである第1暗号化ピースと、当該他の通信装置に割り当てられている第1装置識別情報と、当該他の通信装置がピースを送信する際に生成した第1一時情報とを受信する受信手段と、前記第1暗号化ピースと、前記第1装置識別情報と、前記第1一時情報とを対応付けて記憶する第2記憶手段と、前記第1暗号化ピースを暗号化するか否かを決定する決定手段と、前記決定手段によって前記第1暗号化ピースを暗号化すると決定された場合、その生成毎に異なり得る第2一時情報を生成する第1生成手段と、前記第2一時情報を用いて一時対称鍵を生成する第2生成手段と、前記一時対称鍵を用いて前記第1暗号化ピースを更に暗号化して、第2暗号化ピースを出力する暗号化手段と、前記決定手段によって前記第1暗号化ピースを暗号化すると決定された場合、前記第2暗号化ピースと、前記第1装置識別情報と、前記第2装置識別情報と、前記第1一時情報と、前記第2一時情報とを送信する送信手段と送信手段とを備えることを特徴とする。   In order to solve the above-described problems and achieve the object, the present invention is a communication device that encrypts and transmits a plurality of pieces that are part of data, and is uniquely assigned to the communication device A first storage means for storing identification information; a first encrypted piece that is a piece encrypted by another communication device; first device identification information assigned to the other communication device; The receiving means for receiving the first temporary information generated when the communication device transmits the piece, the first encrypted piece, the first device identification information, and the first temporary information are stored in association with each other. Second storage means, a determination means for determining whether or not to encrypt the first encrypted piece, and when the determination means determines to encrypt the first encrypted piece, Second temporary information that can be different First generating means for generating; second generating means for generating a temporary symmetric key using the second temporary information; and further encrypting the first encrypted piece using the temporary symmetric key to generate a second cipher An encryption unit that outputs an encrypted piece; and when the determination unit determines to encrypt the first encrypted piece, the second encrypted piece, the first device identification information, and the second device identification It comprises transmission means and transmission means for transmitting information, the first temporary information, and the second temporary information.

また、本発明は、データの一部である複数のピースを暗号化して他の通信装置に送信する通信装置であって、当該通信装置に割り当てられている装置識別情報を記憶する第1記憶手段と、その生成毎に異なり得る一時情報を生成する第1生成手段と、前記一時情報を用いて一時対称鍵を生成する第2生成手段と、前記一時対称鍵を用いて前記ピースを暗号化して暗号化ピースを出力する暗号化手段と、前記暗号化ピースと、前記装置識別情報と、前記一時情報とを前記他の通信装置に送信する送信手段とを備えることを特徴とする。   In addition, the present invention is a communication device that encrypts a plurality of pieces that are a part of data and transmits the encrypted data to another communication device, and stores the device identification information assigned to the communication device. A first generation unit that generates temporary information that may be different for each generation; a second generation unit that generates a temporary symmetric key using the temporary information; and the piece is encrypted using the temporary symmetric key. An encryption unit that outputs an encrypted piece, a transmission unit that transmits the encrypted piece, the device identification information, and the temporary information to the other communication device.

また、本発明は、データの一部である複数のピースを受信する通信装置であって、自通信装置に一意に割り当てられている装置識別情報を記憶する第1記憶手段と、他の通信装置によって暗号化されたピースである暗号化ピースと、当該他の通信装置に割り当てられている装置識別情報と、当該他の通信装置がピースを暗号化する際に生成した一時情報とを受信する第1受信手段と、受信された前記暗号化ピース、前記装置識別情報及び前記一時情報を対応付けて記憶する第2記憶手段と、前記暗号化ピースを復号するための復号鍵を要求すると共に、当該暗号化ピースと対応付けられて記憶された前記装置識別情報及び前記一時情報を対応付けて含む鍵要求を鍵サーバへ送信する送信手段と、前記鍵要求に応じて前記鍵サーバから、前記ピースについて行われた暗号化を復号するための各復号鍵を受信する第2受信手段と、受信された前記各復号鍵を用いて前記暗号化ピースを復号する復号手段とを備えることを特徴とする。   Further, the present invention is a communication device that receives a plurality of pieces that are a part of data, the first storage means for storing device identification information uniquely assigned to the own communication device, and another communication device Receiving the encrypted piece, which is an encrypted piece, the device identification information assigned to the other communication device, and the temporary information generated when the other communication device encrypts the piece. 1 receiving means, a second storage means for storing the received encrypted piece, the device identification information and the temporary information in association with each other, requesting a decryption key for decrypting the encrypted piece, and Transmitting means for transmitting to the key server a key request including the device identification information and the temporary information stored in association with the encrypted piece, and from the key server in response to the key request, A second receiving means for receiving each decryption key for decrypting the encryption performed on the data, and a decrypting means for decrypting the encrypted piece using each received decryption key. To do.

また、本発明は、データの一部である複数のピースを暗号化して送信する複数の他の通信装置のそれぞれに割り当てられた秘密情報と、各通信装置に割り当てられた装置識別情報とを各々対応付けて記憶する第1記憶手段と、暗号化されたピースである暗号化ピースを復号するための復号鍵を要求すると共に、当該暗号化ピースの配信を仲介した前記複数の他の通信装置の前記装置識別情報及び当該複数の他の通信装置が各々生成した情報であってその生成毎に異なり得る一時情報とを対応付けて含む鍵要求を前記通信装置から受信する受信手段と、前記鍵要求に含まれる各前記装置識別情報に対応付けられて記憶されている前記秘密情報と、当該各装置識別情報と対応付けられて前記鍵要求に含まれる各前記一時情報とを用いて、各前記復号鍵を生成する鍵生成手段と、各前記復号鍵を前記通信装置に送信する送信手段とを備えることを特徴とする。   Further, the present invention provides each of secret information assigned to each of a plurality of other communication devices that encrypt and transmit a plurality of pieces that are part of data, and device identification information assigned to each communication device. The first storage means for storing the information in association with each other, requesting a decryption key for decrypting the encrypted piece that is an encrypted piece, and the other communication devices that mediate the distribution of the encrypted piece Receiving means for receiving, from the communication device, a key request including the device identification information and information generated by each of the plurality of other communication devices, each of which is associated with temporary information that may be different for each generation; and the key request The secret information stored in association with each of the device identification information included in the information and the temporary information included in the key request in association with the device identification information. Characterized in that it comprises a key generating unit for generating a key, and transmitting means for transmitting each said decryption key to the communication device.

また、本発明は、配信データの一部であるピースの配信を仲介する通信装置から送信されるデータであって、前記ピースの配信を仲介した複数の通信装置のそれぞれに対応して生成されたその生成毎に異なり得る一時情報と、前記複数の通信装置のそれぞれに割当られた装置識別情報と、全部又は一部の前記一時情報を用いて各々生成された一時対称鍵を用いて暗号化されたピースである暗号化ピースとを対応付けて含むことを特徴とする。   Further, the present invention is data transmitted from a communication device that mediates distribution of a piece that is a part of distribution data, and is generated corresponding to each of a plurality of communication devices that mediate distribution of the piece. Encrypted using temporary information that can be different for each generation, device identification information assigned to each of the plurality of communication devices, and temporary symmetric keys generated using all or part of the temporary information. And an encrypted piece that is an associated piece.

また、本発明は、配信データの一部であるピースであり暗号化されたピースの配信を仲介する複数の通信装置のそれぞれに対応してその生成毎に異なり得る一時情報が生成され、全部又は一部の前記一時情報を用いて生成された各一時対称鍵を用いて各々暗号化されたピースである暗号化ピースを復号するための復号鍵を要求する鍵要求と共に通信装置から鍵サーバへ送信されるデータであって、前記複数の通信装置のそれぞれに割り当てられた装置識別情報と、前記複数の通信装置のそれぞれに対応して生成された前記一時情報とを対応付けて含むことを特徴とする。   In addition, the present invention generates pieces of temporary information that can be different for each of a plurality of communication devices corresponding to each of a plurality of communication devices that mediate the distribution of encrypted pieces that are pieces that are part of distribution data. A key request for requesting a decryption key for decrypting an encrypted piece that is encrypted with each temporary symmetric key generated using a part of the temporary information is transmitted from the communication apparatus to the key server. The device identification information assigned to each of the plurality of communication devices and the temporary information generated corresponding to each of the plurality of communication devices in association with each other. To do.

コンテンツ配信システムにおいて配信される各暗号化ピースの組み合わせを通信装置毎に一意にすることが可能になると共に、システム構築上の自由度を向上させることが可能になる。   The combination of encrypted pieces distributed in the content distribution system can be made unique for each communication device, and the degree of freedom in system construction can be improved.

以下に添付図面を参照して、この発明にかかる通信装置、鍵サーバ及びデータの最良な実施の形態を詳細に説明する。   Exemplary embodiments of a communication device, a key server, and data according to the present invention are explained in detail below with reference to the accompanying drawings.

(1)構成
<コンテンツ配信システムの構成>
図1は、本実施の形態にかかるデータ配信システムの構成を示す図である。本実施の形態にかかるデータ配信システムにおいては、複数のノード50,51A〜51BがP2PネットワークNTを介して接続されている。図示しないがこの他のノードもP2PネットワークNTを介して接続され得る。また、各ノード50,51A〜51Bは鍵サーバ53と接続されている。各ノード50,51A〜51Bは、各ノードに一意に割り当てられた装置識別情報であるノードIDと、各ノードに一意に割り当てられた割当情報として秘密鍵を保持している。各ノード50,51A〜51Bに割り当てられたノードIDを各々ID#0,ID#1,ID#2とし、秘密鍵を各々s_0,s_1,s_2とする。尚、各ノード50,51A〜51Bのうちノード50は、データの配信の基点となる配信開始ノードであり、配信対象のデータ(配信データという)を保持している。配信データは、平文である場合も既に暗号化された暗号文である場合もある。例えば、当該配信データは、暗号化として何らかのDRM (Digital Right Management) Systemによって保護されたビデオデータであっても良い。鍵サーバ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 nodes 50, 51A to 51B are connected via a P2P network NT. Although not shown, other nodes can also be connected via the P2P network NT. Each node 50, 51 </ b> A to 51 </ b> B is connected to the key server 53. Each of the nodes 50 and 51A to 51B holds a node ID, which is device identification information uniquely assigned to each node, and a secret key as assignment information uniquely assigned to each node. The node IDs assigned to the nodes 50, 51A to 51B are ID # 0, ID # 1, and ID # 2, respectively, and the secret keys are s_0, s_1, and s_2, respectively. Of the nodes 50 and 51A to 51B, the node 50 is a distribution start node serving as a data distribution base, and holds data to be distributed (referred to as distribution data). The distribution data may be plaintext or already encrypted ciphertext. For example, the distribution data may be video data protected by some DRM (Digital Right Management) System as encryption. The key server 53 holds a secret key assigned to each of the nodes 50 and 51A to 51B. Hereinafter, when it is not necessary to distinguish the nodes 51A to 51B, they are simply referred to as the node 51.

ここで、各ノード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 nodes 50 and 51 and the key server 53 will be described. Each device is a control device such as a CPU (Central Processing Unit) that controls the entire device, a storage device such as a ROM (Read Only Memory) or a RAM (Random Access Memory) that stores various data and various programs, and a variety of devices. It has an external storage device such as an HDD (Hard Disk Drive) or CD (Compact Disk) drive device that stores data and various programs, and a bus that connects them, and has a hardware configuration that uses a normal computer. ing. Each device includes a display device that displays information, an input device such as a keyboard and a mouse that accepts user instruction input, and a communication I / F (interface) that controls communication with an external device. Connected by

<配信開始ノードの構成>
次に、上述したハードウェア構成において、配信開始ノードであるノード50のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図2は、ノード50の機能的構成を例示する図である。ノード50は、固有情報格納部500と、乱数生成部501と、対称鍵生成部502と、ピース暗号化部503と、ピース化部504と、データ送信部505と、送信要求受付部506とを有する。尚、固有情報格納部500は、例えばノード50のHDDなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部501と、対称鍵生成部502と、ピース化部504と、ピース暗号化部503と、データ送信部505と、送信要求受付部506との実体は、ノード50のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。尚、ノード50の外部記憶装置には、配信データが予め記憶されている。
<Configuration of distribution start node>
Next, in the hardware configuration described above, various functions realized when the CPU of the node 50 that is the distribution start node executes various programs stored in the storage device or the external storage device will be described. FIG. 2 is a diagram illustrating a functional configuration of the node 50. The node 50 includes a unique information storage unit 500, a random number generation unit 501, a symmetric key generation unit 502, a piece encryption unit 503, a piece generation unit 504, a data transmission unit 505, and a transmission request reception unit 506. Have. The unique information storage unit 500 is reserved as a storage area in an external storage device such as an HDD of the node 50, for example. The entity of the random number generation unit 501, the symmetric key generation unit 502, the piece generation unit 504, the piece encryption unit 503, the data transmission unit 505, and the transmission request reception unit 506 is determined when the CPU of the node 50 executes the program. It is generated on a storage device such as a RAM. Note that distribution data is stored in advance in the external storage device of the node 50.

固有情報格納部500は、当該ノード50に割り当てられたノードID及び秘密鍵を記憶する。ピース化部504は、配信データを複数のピースに分割する。分割する際のデータサイズは特に限定されないが、予め定められているものとする。送信要求受付部506は、ピース化部504が分割したピースを要求するピース要求を他のノード51から受信する。乱数生成部501は、送信要求受付部506がピース要求を受信した場合、その発生毎に異なり得る一時情報である乱数を生成する。一時情報とは、ノードで生成される度に異なり得る値となれば良く、例えば、乱数やタイムスタンプ、通信のシーケンス番号、ノードに固有のカウンタの値、Time Variant Parameterである。Time Variant Parameterについては、例えば文献ISO9798-1に記載されている。   The unique information storage unit 500 stores the node ID and secret key assigned to the node 50. The piece unit 504 divides the distribution data into a plurality of pieces. The data size at the time of division is not particularly limited, but is assumed to be predetermined. The transmission request receiving unit 506 receives a piece request for requesting the piece divided by the piece forming unit 504 from the other node 51. When the transmission request reception unit 506 receives a piece request, the random number generation unit 501 generates a random number that is temporary information that can be different for each occurrence. The temporary information only needs to be a value that can be different every time it is generated at the node, and is, for example, a random number, a time stamp, a communication sequence number, a counter value unique to the node, or a time variant parameter. The Time Variant Parameter is described in, for example, the document ISO9798-1.

対称鍵生成部502は、乱数生成部501が生成した乱数と、固有情報格納部500に記憶された秘密鍵とを用いて関数Fにより一時対称鍵を生成する。これを式により表すと以下のように表される。
k_0 = F(s_0, r_0)
The symmetric key generation unit 502 generates a temporary symmetric key by the function F using the random number generated by the random number generation unit 501 and the secret key stored in the unique information storage unit 500. This can be expressed by the following formula.
k_0 = F (s_0, r_0)

尚、関数Fは一方向性関数あるいは共通鍵暗号あるいは擬似乱数生成器であり、入力値である秘密鍵や乱数を知るものであってもこれらから出力値である一時対称鍵を推測できないものである。一時対称鍵とは、関数Fであって、関数Fの入力値と出力値との関係が一意に定められば良く、例えば、SHA−1やSHA256といったハッシュ関数であっても良く、AES、Hierocryptといった共通鍵暗号方式であっても良く、Mersenne twisterといった疑似乱数生成器であっても良い。ハッシュ関数には、乱数と秘密鍵を結合した値が入力されても良い。共通鍵暗号方式では、乱数を秘密鍵で暗号化しても良く、秘密鍵を乱数で暗号化しても良い。共通鍵暗号方式では、乱数を秘密鍵で復号しても良く、秘密鍵を乱数で復号しても良い。擬似乱数生成器には、乱数と秘密鍵を結合した値が入力されても良い。   Note that the function F is a one-way function, a common key encryption, or a pseudo-random number generator, and even if a secret key or random number that is an input value is known, a temporary symmetric key that is an output value cannot be estimated from these. is there. The temporary symmetric key is a function F, and it is sufficient that the relationship between the input value and the output value of the function F is uniquely determined. For example, it may be a hash function such as SHA-1 or SHA256, such as AES, 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, the random number may be encrypted with a secret key, or the secret key may be encrypted with a random number. In the common key cryptosystem, the random number may be decrypted with the secret key, or the secret key may be decrypted with the 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が生成した一時対称鍵を用いてピースを暗号化して、暗号化ピースを出力する。尚、一時対称鍵は暗号化に用いられる暗号鍵でもあり、暗号化ピースに対して行われている暗号化を復号するための復号鍵にもなる。データ送信部505は、ピース要求を送信した他のノード51に対して、固有情報格納部500に記憶されているノードIDと、乱数生成部501が生成した乱数と、ピース暗号化部503が出力した暗号化ピースとを送信する。   The piece encryption unit 503 encrypts the piece using the temporary symmetric key generated by the symmetric key generation unit 502 and outputs an encrypted piece. The temporary symmetric key is also an encryption key used for encryption, and is also a decryption key for decrypting the encryption performed on the encrypted piece. The data transmission unit 505 outputs the node ID stored in the unique information storage unit 500, the random number generated by the random number generation unit 501, and the piece encryption unit 503 to the other node 51 that has transmitted the piece request. And send the encrypted piece.

<配信開始ノード以外のノードの構成>
次に、配信開始ノード以外であるノード51のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図3は、ノード51の機能的構成を例示する図である。ノード51は、固有情報格納部510と、乱数生成部511と、対称鍵生成部512と、ピース暗号化部513と、データ受信部514と、データ送信部515と、送信要求受付部516と、データ格納部517と、送信要求送信部518と、鍵要求送信部519と、ピース復号部520と、暗号化決定部521と、乱数代替生成部522とを有する。尚、固有情報格納部510とデータ格納部517とは、例えばノード51のHDDなどの外部記憶装置に記憶領域として確保されるものである。乱数生成部511と、対称鍵生成部512と、ピース暗号化部513と、データ送信部515と、送信要求受付部516と、データ受信部514と、鍵要求送信部519と、ピース復号部520と、暗号化決定部521と、乱数代替生成部522との実体は、ノード51のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。
<Configuration of nodes other than the distribution start node>
Next, various functions realized when the CPU of the node 51 other than the distribution start node executes various programs stored in the storage device or the external storage device will be described. FIG. 3 is a diagram illustrating a functional configuration of the node 51. The node 51 includes a unique information storage unit 510, a random number generation unit 511, a symmetric key generation unit 512, a piece encryption unit 513, a data reception unit 514, a data transmission unit 515, a transmission request reception unit 516, The data storage unit 517, the transmission request transmission unit 518, the key request transmission unit 519, the piece decryption unit 520, the encryption determination unit 521, and the random number alternative generation unit 522 are included. The unique information storage unit 510 and the data storage unit 517 are reserved as storage areas in an external storage device such as an HDD of the node 51, for example. Random number generation unit 511, symmetric key generation unit 512, piece encryption unit 513, data transmission unit 515, transmission request reception unit 516, data reception unit 514, key request transmission unit 519, piece decryption unit 520 The entities of the encryption determination unit 521 and the random number alternative generation unit 522 are generated on a storage device such as a RAM when the CPU of the node 51 executes the program.

固有情報格納部510は、当該ノード51に割り当てられたノードID及び秘密鍵を記憶する。送信要求受付部516の構成は上述のノード50の有する送信要求受付部506の構成と同様である。送信要求送信部518は、ピースを要求するピース要求をノード50又は他のノード51に対して送信する。データ受信部514は、送信要求送信部518がピース要求を送信した相手であるノード50又は他のノード51から、ピースが暗号化された暗号化ピースと、当該暗号化ピースの送信を仲介した少なくとも1つの他のノード50,51に割り当てられた各ノードIDを含むノードID列と、当該他のノード50,51が生成した各乱数を含む乱数列とを受信する。なおこの乱数には、当該ピースについて暗号化に用いられる一時対称鍵の生成に用いられた乱数と、代替的に生成された乱数(代替的な乱数という)とがある。後者については後述する。データ格納部517は、データ受信部514が受信したノードID列、乱数列及び暗号化ピースを対応付けて記憶する。暗号化決定部521は、送信要求受付部516がピース要求を他のノード51から受信した場合、所定の確率に従って、送信対象の暗号化ピースを暗号化するか否かを決定する。この所定の確率の値は例えば外部記憶装置に記憶されている。乱数生成部511は、送信対象の暗号化ピースを暗号化すると暗号化決定部521が決定した場合、乱数を生成する。対称鍵生成部512は、送信対象の暗号化ピースを暗号化すると暗号化決定部521が決定した場合、乱数生成部511が生成した乱数と、固有情報格納部510に記憶された秘密鍵とを用いて上述した関数Fにより一時対称鍵を生成する。ピース暗号化部513は、送信対象の暗号化ピースを暗号化すると暗号化決定部521が決定した場合、一時対称鍵生成部512が生成した一時対称鍵を用いて、データ格納部517に記憶されている1つの暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する。   The unique information storage unit 510 stores the node ID and secret key assigned to the node 51. The configuration of the transmission request receiving unit 516 is the same as the configuration of the transmission request receiving unit 506 included in the node 50 described above. The transmission request transmission unit 518 transmits a piece request for requesting a piece to the node 50 or another node 51. The data reception unit 514 transmits at least the encrypted piece in which the piece is encrypted and the transmission of the encrypted piece from the node 50 or another node 51 to which the transmission request transmission unit 518 has transmitted the piece request. A node ID sequence including each node ID assigned to one other node 50, 51 and a random number sequence including each random number generated by the other node 50, 51 are received. This random number includes a random number used to generate a temporary symmetric key used for encryption of the piece and a randomly generated random number (referred to as an alternative random number). The latter will be described later. The data storage unit 517 stores the node ID sequence, the random number sequence, and the encrypted piece received by the data reception unit 514 in association with each other. When the transmission request reception unit 516 receives a piece request from another node 51, the encryption determination unit 521 determines whether to encrypt the transmission target encrypted piece according to a predetermined probability. The predetermined probability value is stored in, for example, an external storage device. The random number generation unit 511 generates a random number when the encryption determination unit 521 determines to encrypt the encrypted piece to be transmitted. When the encryption determination unit 521 determines that the encrypted piece to be transmitted is encrypted, the symmetric key generation unit 512 receives the random number generated by the random number generation unit 511 and the secret key stored in the unique information storage unit 510. A temporary symmetric key is generated using the function F described above. The piece encryption unit 513 is stored in the data storage unit 517 using the temporary symmetric key generated by the temporary symmetric key generation unit 512 when the encryption determination unit 521 determines that the encrypted piece to be transmitted is encrypted. One encrypted piece is further encrypted, and a new encrypted piece is output.

乱数代替生成部522は、送信対象の暗号化ピースを暗号化しないと暗号化決定部521が決定した場合、当該暗号化ピースに対応付けられてデータ格納部517に記憶されているノード列と、固有情報格納部510に記憶された秘密鍵とを用いて関数Fにより代替的な乱数を生成する。   When the encryption determining unit 521 determines that the encrypted piece to be transmitted is not encrypted, the random number alternative generation unit 522 stores a node string associated with the encrypted piece and stored in the data storage unit 517, and An alternative random number is generated by the function F using the secret key stored in the unique information storage unit 510.

例えば、ノード51Aのデータ格納部517にノードID列ID#0, …, ID#(j-1)(jは1以上の整数)が記憶されているとする。固有情報格納部510には秘密鍵s_1が記憶されている。ここで生成される代替的な乱数をr_1として式により表すと以下のように表さられる。
r_1 = F(s_1 , ID#0, … , ID#(j-1) )
尚、関数Fは一方向性関数、共通鍵暗号、あるいは擬似乱数生成器であり、出力結果である乱数から入力値である秘密鍵やノード列を推測できないものである。
For example, it is assumed that node ID string ID # 0,..., ID # (j−1) (j is an integer of 1 or more) is stored in the data storage unit 517 of the node 51A. The unique information storage unit 510 stores a secret key s_1. The alternative random number generated here is expressed as follows as r_1.
r_1 = F (s_1, ID # 0,…, ID # (j-1))
The function F is a one-way function, a common key encryption, or a pseudo-random number generator, and cannot secrete a secret key or a node string that is an input value from a random number that is an output result.

データ送信部515は、送信要求受付部516が受信したピース要求を送信した他のノード51に対して、暗号化決定部521の決定結果に応じて以下のデータを送信する。送信対象の暗号化ピースを暗号化すると暗号化決定部521が決定した場合に送信されるデータは、当該暗号化ピースに対応付けられてデータ格納部517に記憶されたノードID列に加え固有情報格納部510に記憶されたノードIDを含む新たなノードID列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加え乱数生成部511が生成した乱数を含む新たな乱数列と、ピース暗号化部513が出力した新たな暗号化ピースとである。送信対象の暗号化ピースを暗号化しないと暗号化決定部521が決定した場合に送信されるデータは、当該暗号化ピースに対応付けられてデータ格納部517に記憶されたノードID列に加え固有情報格納部510に記憶されたノードIDを含む新たなノードID列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加え乱数代替生成部522が生成した代替的な乱数を含む新たな乱数列と、データ格納部517に記憶された当該暗号化ピースとである。尚、データ格納部517に暗号化ピースが記憶されていない場合には、送信要求受付部516がピース要求を受信したとしても、ピース暗号化部513は暗号化ピースを出力せず、データ送信部515は暗号化ピースを送信しない。   The data transmission unit 515 transmits the following data according to the determination result of the encryption determination unit 521 to the other node 51 that has transmitted the piece request received by the transmission request reception unit 516. When the encryption determining unit 521 determines that the encrypted piece to be transmitted is encrypted, the data to be transmitted is associated with the node ID string stored in the data storage unit 517 in association with the encrypted piece, and the unique information A new node ID sequence including the node ID stored in the storage unit 510 and a new random number generated by the random number generation unit 511 in addition to the random number sequence associated with the encrypted piece and stored in the data storage unit 517 Random number sequence and a new encrypted piece output by the piece encryption unit 513. The data transmitted when the encryption determining unit 521 determines that the encrypted piece to be transmitted is not encrypted is unique in addition to the node ID string stored in the data storage unit 517 in association with the encrypted piece. The alternative node ID generated by the random number alternative generation unit 522 in addition to the new node ID sequence including the node ID stored in the information storage unit 510 and the random number sequence associated with the encrypted piece and stored in the data storage unit 517 A new random number sequence including a random number and the encrypted piece stored in the data storage unit 517. When the encrypted piece is not stored in the data storage unit 517, even if the transmission request receiving unit 516 receives the piece request, the piece encryption unit 513 does not output the encrypted piece, and the data transmission unit 515 does not send the encrypted piece.

ここで、ノード50,51から送信されるノードID列、乱数列及び暗号化ピースについて具体的に説明する。尚、ノード50から1つの暗号化ピースに対してこれと共に送信されるノードID及び乱数は各々1つであるが、ここでは説明の便宜上、これらをノード列及び乱数列と各々記載する場合がある。暗号化ピースの配信経路としてここではノード50からノード51A、更にノード51Aからノード51Bに暗号化ピースを送信し、ノード51Bから鍵サーバ53に鍵要求を送信する場合について説明する。この場合、ノード51Aが暗号化を行う場合とノード51Aが暗号化を行わない場合とがあるが、まず前者の場合について説明する。例えば、あるピースPについてノード51Aからのピース要求に応じて、ノード50が、乱数r_0と秘密鍵s_0とを用いて一時対称鍵k_0を生成し、これを用いてピースPを暗号化して暗号化ピースEP(k_0)Pを出力したとする。そして、ノード50が、当該暗号化ピースEP(k_0)PをノードIDID #0及び乱数r_0と共にノード51Aに送信したとする。図4は、ノード50からノード51Aに送信される情報を模式的に示す図である。当該ノード51Aは、これらのノードIDID #0、乱数r_0及び暗号化ピースE(k_0)Pを対応付けてデータ格納部517に記憶することになる。尚、データ格納部517は、ノードIDと当該ノードIDが割り当てられたノードが生成した乱数との対応関係を保持した状態で各ノードID列及び各乱数列を記憶する。   Here, the node ID sequence, the random number sequence, and the encrypted piece transmitted from the nodes 50 and 51 will be specifically described. In addition, although the node ID and the random number transmitted together with this from the node 50 to one encrypted piece are one each, here, for convenience of explanation, these may be described as a node sequence and a random number sequence, respectively. . Here, a case will be described in which the encrypted piece is transmitted from the node 50 to the node 51A, the encrypted piece is transmitted from the node 51A to the node 51B, and the key request is transmitted from the node 51B to the key server 53. In this case, the node 51A performs encryption and the node 51A does not perform encryption. First, the former case will be described. For example, in response to a piece request from the node 51A for a piece P, the node 50 generates a temporary symmetric key k_0 using a random number r_0 and a secret key s_0, and encrypts the piece P using this to encrypt the piece P Suppose that piece EP (k_0) P is output. Then, it is assumed that the node 50 transmits the encrypted piece EP (k_0) P together with the node ID ID # 0 and the random number r_0 to the node 51A. FIG. 4 is a diagram schematically illustrating information transmitted from the node 50 to the node 51A. The node 51A stores the node ID ID # 0, the random number r_0, and the encrypted piece E (k_0) P in the data storage unit 517 in association with each other. Note that the data storage unit 517 stores each node ID string and each random number string in a state where the correspondence between the node ID and the random number generated by the node to which the node ID is assigned is held.

そして、当該ノード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は、ノード51Bに対して、データ格納部517に記憶されている、ノード50に割り当てられたノードIDID #0に加え固有情報格納部510に記憶されている、自身に割り当てられたノードIDID #1と、データ格納部517に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_1)E(k_0)Pとを送信する。図5は、ノード51Aからノード51Bに送信される情報を模式的に示す図である。ノード51Bは、これらのノードID列ID #0,ID #1、乱数列r_0,r_1及び暗号化ピースE(k_1)E(k_0)Pを対応付けてデータ格納部517に記憶する。   When the node 51A transmits an encrypted piece for the piece P in response to the piece request from the node 51B, the node 51A generates a random number r_1, generates a temporary symmetric key k_1 using this and the secret key s_1, Assume that the encrypted piece E (k_0) P is further encrypted using this and the encrypted piece E (k_1) E (k_0) P is output. E (k_1) E (k_0) P indicates that the piece P is encrypted with the temporary symmetric keys k_0 and k_1 in order. At this time, the node 51A is assigned to the node 51B and is stored in the unique information storage unit 510 in addition to the node ID ID # 0 stored in the data storage unit 517 and assigned to the node 50. In addition to the node ID ID # 1, the random number r_0 stored in the data storage unit 517, the random number r_1 generated by itself and the encrypted piece E (k_1) E (k_0) P are transmitted. FIG. 5 is a diagram schematically showing information transmitted from the node 51A to the node 51B. The node 51B stores the node ID string ID # 0, ID # 1, the random number string r_0, r_1, and the encrypted piece E (k_1) E (k_0) P in association with each other in the data storage unit 517.

次にノード51Aが暗号化を行わない場合について説明する。この場合、当該ノード51Aが、ノード51Bからのピース要求に応じてピースPに対する暗号化ピースを送信する場合、乱数r_1として上述したように代替的な乱数を生成する。そして、この場合ノード51Aは、当該ピースPについての暗号化を行わず、ノード51Bに対して、データ格納部517に記憶されている、ノード50に割り当てられたノードIDID #0に加え固有情報格納部510に記憶されている、自身に割り当てられたノードIDID #1と、データ格納部517に記憶されている乱数r_0に加え自身が生成した乱数r_1と、暗号化ピースE(k_0)Pとを送信する。図6は、ノード51Aからノード51Bに送信される情報を模式的に示す図である。ノード51Bは、これらのノードID列ID #0,ID #1、乱数列r_0,r_1及び暗号化ピースE(k_0)Pを対応付けてデータ格納部517に記憶する。   Next, a case where the node 51A does not perform encryption will be described. In this case, when the node 51A transmits an encrypted piece for the piece P in response to the piece request from the node 51B, an alternative random number is generated as described above as the random number r_1. In this case, the node 51A does not encrypt the piece P, and stores the unique information in addition to the node ID ID # 0 assigned to the node 50 stored in the data storage unit 517 for the node 51B. Node IDID # 1 assigned to itself, stored in unit 510, random number r_1 generated by itself in addition to random number r_0 stored in data storage unit 517, and encrypted piece E (k_0) P Send. FIG. 6 is a diagram schematically illustrating information transmitted from the node 51A to the node 51B. The node 51B associates the node ID string ID # 0, ID # 1, the random number string r_0, r_1, and the encrypted piece E (k_0) P and stores them in the data storage unit 517.

このように、ノード51は、暗号化ピースに暗号化を重ねるか否かを所定の確率に従って決定することにより、当該暗号化ピースについての更なる暗号化を選択的に行い、他のノード51に暗号化ピースを送信する。このとき、ノード51は、当該暗号化ピースの配信を仲介するものとなり、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード50を基点として当該暗号化ピースの配信を仲介する各ノード50,51の各ノードIDを含むノードID列及び当該各ノード50,51が生成した乱数を含む乱数列を暗号化ピースと共に他のノード51に送信する。これらを受信した当該ノード51は、暗号化ピースの配信経路をノードID列により判別可能であるが、どのノードが暗号化ピースに暗号化を行ったかを判別することは困難である。   In this way, the node 51 selectively performs further encryption on the encrypted piece by deciding whether or not to encrypt the encrypted piece according to a predetermined probability. Send the encrypted piece. At this time, the node 51 mediates the distribution of the encrypted piece, and mediates the distribution of the encrypted piece from the node 50 that is the distribution start node as the distribution path of the encrypted piece. The node ID sequence including the node IDs of the nodes 50 and 51 and the random number sequence including the random numbers generated by the nodes 50 and 51 are transmitted to the other nodes 51 together with the encrypted pieces. The node 51 that has received these can determine the distribution route of the encrypted piece by the node ID string, but it is difficult to determine which node has encrypted the encrypted piece.

図3の説明に戻る。鍵要求送信部519は、データ格納部517に記憶された暗号化ピースを復号するための復号鍵を要求する鍵要求を鍵サーバ53に送信する。ここで鍵要求送信部519は、当該暗号化ピースに対応してデータ格納部517に記憶されているノードID列及び乱数列を鍵要求に含めて鍵サーバ53に送信する。例えば、ノード51Bが、ノード51Aが暗号化を行った場合に出力された図5に示した暗号化ピースE(k_1)E(k_0)Pを復号するための復号鍵を要求する鍵要求を鍵サーバ53に送信する場合、ノード51Bの鍵要求送信部519は、ノードID列ID #0,ID #1と、乱数列r_0,r_1とを含む鍵要求を送信する。図7は、ノード51Bから鍵サーバ53に送信される情報を模式的に示す図である。また、ノード51Bが、ノード51Aが暗号化を行わなかった場合に出力された図6に示した暗号化ピースE(k_0)Pを復号するための復号鍵を要求する鍵要求を鍵サーバ53に送信する場合も、図7に示されるように、ノード51Bの鍵要求送信部519は、ノードID列ID #0,ID #1と、乱数列r_0,r_1とを含む鍵要求を送信する。このように、ノード51は、暗号化ピースを復号するための復号鍵を鍵サーバ53に要求する際に、当該暗号化ピースの配信経路を示すものとして、配信開始ノードであるノード50を基点として当該暗号化ピースの配信を仲介する各ノード50,51の各ノードIDを含むノードID列及び当該各ノード50,51が生成した各乱数を含む乱数列を鍵サーバ53に送信する。尚、これらの送信に際し、鍵要求送信部519は、各ノードIDと当該各ノードIDが割り当てられたノードが生成した乱数との対応関係を保持した状態で送信する。   Returning to the description of FIG. The key request transmission unit 519 transmits to the key server 53 a key request for requesting a decryption key for decrypting the encrypted piece stored in the data storage unit 517. Here, the key request transmitting unit 519 transmits the node ID sequence and random number sequence stored in the data storage unit 517 corresponding to the encrypted piece to the key server 53 by including them in the key request. For example, the node 51B receives a key request for requesting a decryption key for decrypting the encrypted piece E (k_1) E (k_0) P shown in FIG. 5 output when the node 51A performs encryption. When transmitting to the server 53, the key request transmission unit 519 of the node 51B transmits a key request including the node ID string ID # 0, ID # 1 and the random number string r_0, r_1. FIG. 7 is a diagram schematically showing information transmitted from the node 51B to the key server 53. As shown in FIG. Also, the node 51B sends a key request to the key server 53 for requesting a decryption key for decrypting the encrypted piece E (k_0) P shown in FIG. 6 output when the node 51A does not perform encryption. Also in the case of transmission, as shown in FIG. 7, the key request transmission unit 519 of the node 51B transmits a key request including the node ID string ID # 0, ID # 1 and the random number string r_0, r_1. As described above, when the node 51 requests the key server 53 for a decryption key for decrypting the encrypted piece, the node 51 indicates the distribution path of the encrypted piece, with the node 50 that is the distribution start node as a base point. The node ID string including the node IDs of the nodes 50 and 51 that mediate the distribution of the encrypted pieces and the random number string including the random numbers generated by the nodes 50 and 51 are transmitted to the key server 53. At the time of these transmissions, the key request transmission unit 519 performs transmission while maintaining the correspondence between each node ID and the random number generated by the node to which each node ID is assigned.

ピース復号部520は、鍵要求送信部519が送信した鍵要求に応じて鍵サーバ53から送信された一時対称鍵を復号鍵として受信し、当該一時対称鍵を用いて暗号化ピースを復号する。例えば、上述の例では、ノード51Aが暗号化を行っていた場合には、ノード51Bは、図7に示したノードID列及び乱数列を含む鍵要求に応じて鍵サーバ53から送信された一時対称鍵k_0,k_1を受信する。ここで、即ち、ピースに対して少なくとも1回以上行われている各暗号化を復号するための各復号鍵が受信される。図8は、鍵サーバ53からノード51Bに送信される情報を模式的に示す図である。同図に示される一時対称鍵によりピースPが復号される。一方、ノード51Aが暗号化を行っていなかった場合には、ノード51Bは、図7に示したノードID列及び乱数列を含む鍵要求に応じて鍵サーバ53から送信された一時対称鍵k_0を受信する。図9は、鍵サーバ53からノード51Bに送信される情報を模式的に示す図である。このように暗号化ピースについて選択的に行われた暗号化に応じて各暗号化を復号するための復号鍵を鍵サーバ53からノード51は取得する。尚、鍵サーバ53がどのように一時対称鍵を生成するのかは後述する。   The piece decryption unit 520 receives the temporary symmetric key transmitted from the key server 53 in response to the key request transmitted from the key request transmission unit 519 as a decryption key, and decrypts the encrypted piece using the temporary symmetric key. For example, in the above-described example, when the node 51A performs encryption, the node 51B transmits the temporary request transmitted from the key server 53 in response to the key request including the node ID string and the random number string illustrated in FIG. Symmetric keys k_0 and k_1 are received. In other words, each decryption key for decrypting each encryption performed at least once on the piece is received. FIG. 8 is a diagram schematically showing information transmitted from the key server 53 to the node 51B. Piece P is decrypted with the temporary symmetric key shown in FIG. On the other hand, when the node 51A has not performed encryption, the node 51B receives the temporary symmetric key k_0 transmitted from the key server 53 in response to the key request including the node ID sequence and the random number sequence illustrated in FIG. Receive. FIG. 9 is a diagram schematically showing information transmitted from the key server 53 to the node 51B. In this way, the node 51 obtains a decryption key for decrypting each encryption according to the encryption selectively performed on the encrypted piece from the key server 53. Note that how the key server 53 generates the temporary symmetric key will be described later.

尚、ノード51が、複数のピースのそれぞれについてどのような順番やタイミングでどのノードから取得するかは特に限定されないが、以上のようにして、ノード51は、複数のピースのそれぞれが暗号化された各暗号化ピースをピース要求によって他のノード50,51から取得する。また、ノード51は、各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ53から受信し、各暗号化ピースを復号することにより、上述の配信データを得る。   Note that the order in which the node 51 obtains each of the plurality of pieces from which node and from which node is not particularly limited, but as described above, the node 51 encrypts each of the plurality of pieces. Each encrypted piece is acquired from the other nodes 50 and 51 by a piece request. Further, the node 51 receives each temporary symmetric key from the key server 53 by a key request for each encrypted piece, and obtains the distribution data described above by decrypting each encrypted piece.

<鍵サーバの構成>
次に、鍵サーバ53のCPUが記憶装置や外部記憶装置に記憶された各種プログラムを実行することにより実現される各種機能について説明する。図10は、鍵サーバ53の機能的構成を例示する図である。鍵サーバ53は、秘密鍵格納部530と、データ受信部531と、暗号化スキップ判定部532と、一時対称鍵生成部533と、データ送信部534とを有する。尚、秘密鍵格納部530は、例えば鍵サーバ53のHDDなどの外部記憶装置に記憶領域として確保されるものである。データ受信部531と、暗号化スキップ判定部532と、一時対称鍵生成部533と、データ送信部534との実体は、鍵サーバ53のCPUのプログラム実行時にRAMなどの記憶装置上に生成されるものである。
<Key server configuration>
Next, various functions realized when the CPU of the key server 53 executes various programs stored in the storage device or the external storage device will be described. FIG. 10 is a diagram illustrating a functional configuration of the key server 53. The key server 53 includes a secret key storage unit 530, a data reception unit 531, an encryption skip determination unit 532, a temporary symmetric key generation unit 533, and a data transmission unit 534. The secret key storage unit 530 is secured as a storage area in an external storage device such as an HDD of the key server 53, for example. The entities of the data receiving unit 531, the encryption skip determining unit 532, the temporary symmetric key generating unit 533, and the data transmitting unit 534 are generated on a storage device such as a RAM when the CPU program of the key server 53 is executed. Is.

秘密鍵格納部530は、各ノード50,51に割り当てられた秘密鍵を、各ノード50,51に割り当てられたノードIDと対応付けて記憶する。データ受信部531は、暗号化ピースを復号するための復号鍵を要求すると共に、上述したノードID列及び乱数列を含む鍵要求をノード51から受信する。   The secret key storage unit 530 stores the secret key assigned to each node 50, 51 in association with the node ID assigned to each node 50, 51. The data receiving unit 531 requests a decryption key for decrypting the encrypted piece, and receives a key request including the above-described node ID sequence and random number sequence from the node 51.

暗号化スキップ判定部532は、データ受信部531が受信した鍵要求に含まれるノードID列に含まれる各ノードIDに対応付けられて秘密鍵格納部530に記憶されている秘密鍵を読み出しこれと、当該鍵要求に含まれる乱数列に含まれる各乱数について以下の検査式が成立するか否かを判定する。例えば、ノードID列に含まれる各ノードIDがID#0, … , ID#(j)であり、各ノードIDID#m(0≦m≦j)にr_m,s_mが各々対応しているものとする。この場合、全ての乱数r_m(0≦m≦j)について以下の検査式が成立するか否かを一時対称鍵生成部533は判定する。
r_ m = F(s_m , ID#0, … , ID# m )・・・(検査式)
The encryption skip determination unit 532 reads out the secret key stored in the secret key storage unit 530 in association with each node ID included in the node ID string included in the key request received by the data reception unit 531. Then, it is determined whether or not the following check expression is satisfied for each random number included in the random number sequence included in the key request. For example, each node ID included in the node ID column is ID # 0,..., ID # (j), and each node IDID # m (0 ≦ m ≦ j) corresponds to r_m and s_m, respectively. To do. In this case, the temporary symmetric key generation unit 533 determines whether or not the following check expression holds for all random numbers r_m (0 ≦ m ≦ j).
r_ m = F (s_m, ID # 0,…, ID # m) ... (inspection formula)

尚、当該暗号化ピースの配信に際してノード51が乱数を代替的に生成した場合には上述の検査式が成立することになる。即ち、当該検査式によって、各乱数が暗号化ピースの暗号化に関っているか否かが判定される。   In addition, when the node 51 generates a random number alternatively when distributing the encrypted piece, the above-described checking formula is established. That is, whether or not each random number is related to encryption of the encrypted piece is determined by the check expression.

一時対称鍵生成部533は、上述の検査式が成立しない全ての乱数mについて関数Fにより復号鍵k_mを生成する。これを式により表すと以下のように表される。尚、関数Fは上述のノード51が一時対称鍵を生成する際に用いたものと同じである。従って、ここでは、一時情報と秘密鍵とを用いて当該関数Fにより一時対称鍵を復元することになる。
k_m=F(s_ m,r_ m)
The temporary symmetric key generation unit 533 generates the decryption key k_m using the function F for all random numbers m for which the above-described check expression is not satisfied. This can be expressed by the following formula. The function F is the same as that used when the node 51 described above generates a temporary symmetric key. Therefore, here, the temporary symmetric key is restored by the function F using the temporary information and the secret key.
k_m = F (s_ m, r_ m)

一方、上述の検査式が成立する乱数を生成したノード51は、暗号化ピースの配信を仲介するものの暗号化を行っていない。このため、当該乱数に対して復号鍵は生成されないことになる。   On the other hand, the node 51 that has generated a random number that satisfies the above-described check expression mediates the distribution of the encrypted piece but does not perform encryption. For this reason, no decryption key is generated for the random number.

データ送信部534は、一時対称鍵生成部533が復号鍵として生成した一時対称鍵を、データ受信部531が受信した鍵要求を送信したノード51に対して送信する。例えば、上述の例では、ノード51Aが暗号化を行っていた場合には、鍵サーバ53は、図7に示されるノードID列及び乱数列を含む鍵要求に応じて、図8に示されるように、各乱数r_0,r_1に対して一時対称鍵k_0,k_1を得て、これをノード51Bに対して送信する。また、鍵サーバ53は、ノード51Aが暗号化を行っていない場合には、図7に示されるノードID列及び乱数列を含む鍵要求に応じて、図9に示されるように、乱数r_0に対してのみ一時対称鍵k_0を得て、これをノード51Bに対して送信する。このように、1つのピースが暗号化された暗号化ピースを復号するための復号鍵としての一時対称鍵の数は、当該ピースについて選択的に行われた暗号化の回数に応じて異なる。この数は1つであったり複数であったりする。当該ピースについて行われた全ての暗号化のそれぞれを復号するための各対称鍵がノード51Bに対して送信されることにより、ノード51Bは当該暗号化ピースの暗号化を完全に復号することができる。   The data transmission unit 534 transmits the temporary symmetric key generated as the decryption key by the temporary symmetric key generation unit 533 to the node 51 that has transmitted the key request received by the data reception unit 531. For example, in the above example, when the node 51A performs encryption, the key server 53 is as shown in FIG. 8 in response to the key request including the node ID string and the random number string shown in FIG. Then, temporary symmetric keys k_0, k_1 are obtained for the random numbers r_0, r_1 and transmitted to the node 51B. Further, when the node 51A does not perform encryption, the key server 53 sets the random number r_0 as shown in FIG. 9 in response to the key request including the node ID sequence and the random number sequence shown in FIG. Only for this, the temporary symmetric key k_0 is obtained and transmitted to the node 51B. Thus, the number of temporary symmetric keys as a decryption key for decrypting an encrypted piece in which one piece is encrypted differs depending on the number of times of encryption performed selectively for the piece. This number may be one or plural. Each symmetric key for decrypting each encryption performed on the piece is transmitted to the node 51B, so that the node 51B can completely decrypt the encryption of the encrypted piece. .

(2)動作
<配信開始ノード:配信処理>
次に、本実施の形態にかかるデータ配信システムで行われる処理の手順について説明する。まず、配信開始ノードであるノード50が行う配信処理の手順について図11を用いて説明する。ノード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は、ステップS2で受信されたピース要求を送信した他のノード51に対して、例えば図4に示されるように、固有情報格納部500に記憶されているノードIDID#0と、ステップS4で生成した乱数r_0と、ステップS5で出力した暗号化ピースE(k_0)Pとを送信する(ステップS6)。その後ステップ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 node 50 that is the distribution start node will be described with reference to FIG. The node 50 divides the distribution data into a plurality of pieces (step S1). When the node 50 receives a piece request for requesting a piece from another node 51 (step S2: YES), the node 50 generates a random number r_0 (step S3). Next, the node 50 generates a symmetric key k_0 by the function F using the random number r_0 and the secret key s_0 stored in the unique information storage unit 500 (step S4). Then, the node 50 encrypts the piece P to be transmitted using the symmetric key generated in step S4, and outputs the encrypted piece E (k_0) P (step S5). In addition, how to determine the piece to be transmitted is not particularly limited. Then, the node 50, for example, as shown in FIG. 4 with respect to the other node 51 that has transmitted the piece request received in step S2, node IDID # 0 stored in the unique information storage unit 500, The random number r_0 generated in step S4 and the encrypted piece E (k_0) P output in step S5 are transmitted (step S6). Thereafter, the process returns to step S2, and the node 50 waits for reception of a new piece request. Note that the piece requests received in step S2 are not necessarily the same node 51, and the pieces P requested by the piece requests are not necessarily the same piece. Further, the random number generated in step S3 basically differs for each process in step S3.

<受信処理>
次に、ノード51がノード50又は他のノード51から暗号化ピースを受信する受信処理の手順について図12を用いて説明する。ノード51は、ピースを要求するピース要求をノード50又は他のノード51に対して送信する(ステップS10)。次いで、ノード51は、ステップS10でピース要求を送信した相手であるノード50又は他のノード51から、ノードID列と、乱数列と、暗号化ピースとを受信する(ステップS11)。そして、ノード51は、ステップS11で受信したノードID列、乱数列及び暗号化ピースを対応付けて記憶する(ステップS12)。
<Reception processing>
Next, a reception process procedure in which the node 51 receives an encrypted piece from the node 50 or another node 51 will be described with reference to FIG. The node 51 transmits a piece request for requesting a piece to the node 50 or another node 51 (step S10). Next, the node 51 receives the node ID string, the random number string, and the encrypted piece from the node 50 or the other node 51 that is the partner that transmitted the piece request in step S10 (step S11). Then, the node 51 stores the node ID sequence, random number sequence, and encrypted piece received in step S11 in association with each other (step S12).

尚、ノード51がノード50にピース要求を送信した場合は、ステップS11ではピースPについて図4に示されるノードID列と、乱数列と、暗号化ピースとを受信する。ここで、図示はしないが、P2PネットワークNTに接続されるノードであって、fを1以上の整数として、f番目にピースPを受信するノードについて一般化して説明する。説明の便宜上、当該ノードのノードIDをID# fとする。ノードIDID# fが割り当てられたノードは、(f -1)番目のノードIDID#(f-1)が割り当てられたノードから、図13に示されるように、ピースPについて、ノードID列ID#0, …, ID#(f-1)と、乱数r_0, …, r_{f-1}と、暗号化ピースE(k_{t})…E(k_0)Pとを受信する。ただしtは1≦t≦f-1の整数とする。これは即ち暗号化ピースには必ずしも(f-1)回ではなくそれ以下の回数の暗号化が行われていることを意味する。ノードID列ID#0, …, ID#(f-1)によっては、暗号化ピースがどのノードによって暗号化されて送信されたかが各々特定されるため、暗号化ピースの配信経路が示されることになる。   When the node 51 transmits a piece request to the node 50, the node ID sequence, random number sequence, and encrypted piece shown in FIG. Here, although not shown in the figure, a node connected to the P2P network NT, where f is an integer equal to or greater than 1, will be generalized and described. For convenience of explanation, the node ID of the node is ID # f. The node to which the node ID ID # f is assigned is the node ID column ID # for the piece P as shown in FIG. 13 from the node to which the (f-1) th node IDID # (f-1) is assigned. 0, ..., ID # (f-1), random numbers r_0, ..., r_ {f-1} and encrypted pieces E (k_ {t}) ... E (k_0) P are received. However, t is an integer satisfying 1 ≦ t ≦ f−1. This means that the encrypted piece is not necessarily (f-1) times encrypted but the number of times of encryption. Depending on the node ID string ID # 0,..., ID # (f-1), it is specified by which node the encrypted piece was encrypted and transmitted, so that the delivery path of the encrypted piece is indicated. Become.

<配信開始ノード以外のノード:配信処理>
次に、配信開始ノード以外のノード51が行う配信処理の手順について図14を用いて説明する。ノード51は、ピースを要求するピース要求を他のノード51から受信すると(ステップS20:YES)、所定の確率に従って、送信対象の暗号化ピースを暗号化するか否かを決定する(ステップS21)。そして、ノード51は、送信対象の暗号化ピースを暗号化すると決定した場合(ステップS21:YES)、乱数を生成する(ステップS22)。次いでノード51は、ステップS22で生成した乱数と、固有情報格納部510に記憶された秘密鍵とを用いて関数Fにより一時対称鍵を生成する(ステップS23)。そしてノード51は、ステップS23で生成した一時対称鍵を用いて、あるピースPが暗号化された暗号化ピースであってデータ格納部517に記憶されている暗号化ピースを更に暗号化して、新たな暗号化ピースを出力する(ステップS24)。その後ノード51は、ステップS20で受信されたピース要求を送信した他のノード51に対して、送信対象である暗号化ピースに対応付けられてデータ格納部517に記憶されたノードIDに加え固有情報格納部510に記憶されたノードIDを含む新たなノードID列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加えステップS22で生成した乱数を含む新たな乱数列と、ステップS24で出力した新たな暗号化ピースとを送信する(ステップS25)。
<Nodes other than the distribution start node: distribution processing>
Next, the procedure of the distribution process performed by the nodes 51 other than the distribution start node will be described with reference to FIG. When receiving a piece request for requesting a piece from another node 51 (step S20: YES), the node 51 determines whether or not to encrypt the encrypted piece to be transmitted according to a predetermined probability (step S21). . When the node 51 determines to encrypt the encrypted piece to be transmitted (step S21: YES), the node 51 generates a random number (step S22). Next, the node 51 generates a temporary symmetric key by the function F using the random number generated in step S22 and the secret key stored in the unique information storage unit 510 (step S23). The node 51 uses the temporary symmetric key generated in step S23 to further encrypt an encrypted piece that is an encrypted piece obtained by encrypting a piece P and is stored in the data storage unit 517, and newly The encrypted piece is output (step S24). Thereafter, the node 51 transmits the unique information in addition to the node ID stored in the data storage unit 517 in association with the encrypted piece to be transmitted to the other node 51 that has transmitted the piece request received in step S20. A new node ID sequence including the node ID stored in the storage unit 510 and a new random number including the random number generated in step S22 in addition to the random number sequence associated with the encrypted piece and stored in the data storage unit 517 The sequence and the new encrypted piece output in step S24 are transmitted (step S25).

一方、ステップS21でノード51は、送信対象の暗号化ピースを暗号化しないと決定した場合(ステップS21:NO)、当該暗号化ピースに対応付けられてデータ格納部517に記憶されているノード列と、固有情報格納部510に記憶された秘密鍵とを用いて関数Fにより代替的な乱数を生成する(ステップS26)。その後ノード51は、ステップS24で行った暗号化を行わずに、ステップS20で受信されたピース要求を送信した他のノード51に対して、送信対象である暗号化ピースであってデータ格納部517に記憶された暗号化ピースと、当該暗号化ピースに対応付けられてデータ格納部517に記憶されたノードIDに加え固有情報格納部510に記憶されたノードIDを含む新たなノードID列と、当該暗号化ピースに対応付けられてデータ格納部517に記憶された乱数列に加えステップS26で生成した代替的な乱数を含む新たな乱数列とを送信する(ステップS27)。   On the other hand, when the node 51 determines in step S21 that the encrypted piece to be transmitted is not encrypted (step S21: NO), the node string stored in the data storage unit 517 in association with the encrypted piece. Then, an alternative random number is generated by the function F using the secret key stored in the unique information storage unit 510 (step S26). After that, the node 51 does not perform the encryption performed in step S24, and is an encrypted piece to be transmitted to the other node 51 that has transmitted the piece request received in step S20, and the data storage unit 517. And a new node ID string including a node ID stored in the unique information storage unit 510 in addition to the node ID stored in the data storage unit 517 in association with the encrypted piece, In addition to the random number sequence associated with the encrypted piece and stored in the data storage unit 517, a new random number sequence including the alternative random number generated in step S26 is transmitted (step S27).

例えば、上述したノードIDID#fが割り当てられたノードは、(f+1)番目となるノードIDID#(f+1)が割り当てられたノードに対して、図15に示されるように、ピースPについて、ノードID列ID#0, …, ID#(f-1),ID#fと、乱数列r_0, …, r_fと、暗号化ピースE(k_t´)…E(k_0)Pとを送信する。ただしt´は1≦t´≦fの整数である。これは即ち暗号化ピースには必ずしもf回ではなくそれ以下の回数の暗号化が行われていることを意味する。   For example, as shown in FIG. 15, the node assigned with the node ID ID # f described above has a piece P as shown in FIG. 15 with respect to the node assigned with the (f + 1) th node IDID # (f + 1). Node ID string ID # 0, ..., ID # (f-1), ID # f, random number string r_0, ..., r_f, and encrypted piece E (k_t ') ... E (k_0) P To do. However, t ′ is an integer of 1 ≦ t ′ ≦ f. This means that the encrypted piece has been encrypted not necessarily f times but less.

<復号処理>
次に、ノード51が鍵サーバ53から復号鍵を取得しこれを用いて暗号化ピースを復号する復号処理の手順について図16を用いて説明する。ノード51は、データ格納部517に記憶された暗号化ピースに対応付けられているノードID列及び乱数列を読み出し(ステップS30)、当該暗号化ピースを復号するための復号鍵を要求すると共に、当該ノードID列及び乱数列を含む鍵要求を鍵サーバ53に送信する(ステップS31)。次いで、ノード51は、ステップS30で送信された鍵要求に応じて鍵サーバ53から送信された一時対称鍵を復号鍵として受信し(ステップS32)、当該一時対称鍵を用いて暗号化ピースを復号する(ステップS33)。
<Decryption process>
Next, a procedure of a decryption process in which the node 51 acquires a decryption key from the key server 53 and decrypts the encrypted piece using the decryption key will be described with reference to FIG. The node 51 reads the node ID sequence and random number sequence associated with the encrypted piece stored in the data storage unit 517 (Step S30), requests a decryption key for decrypting the encrypted piece, A key request including the node ID sequence and random number sequence is transmitted to the key server 53 (step S31). Next, the node 51 receives the temporary symmetric key transmitted from the key server 53 in response to the key request transmitted in step S30 as a decryption key (step S32), and decrypts the encrypted piece using the temporary symmetric key. (Step S33).

例えば、上述したノードIDID#(f+1)が割り当てられたノードは、鍵サーバ53に対して、図17に示されるように、ピースPについて、ノードID列ID#0, …, ID#(f-1),ID#fと、乱数列r_0, …,r_{f-1},r_fとを送信する。そして、当該ノードは、鍵サーバ53から、図18に示されるように、ピースPについて、一時対称鍵k_0, …, k_t´を受信し、これらを用いて暗号化ピースE(k_t´)…E(k_0)Pを復号して、ピースPを得る。このようにして、各ノード51は、各ピースについて行われている暗号化を復号するための一時対称鍵を全て得ることにより、当該ピースについて行われている暗号化を復号することができ、当該暗号化ピースを完全に復号することが可能になる。このようにして、各ノード51は、複数のピースのそれぞれが暗号化された各暗号化ピースについて鍵要求によって各一時対称鍵を鍵サーバ53から受信し、各暗号化ピースを復号することにより、上述の配信データを得ることができる。   For example, the node to which the above-described node ID ID # (f + 1) is assigned, with respect to the key server 53, as shown in FIG. 17, the node ID string ID # 0,. f-1), ID # f, and a random number sequence r_0,..., r_ {f-1}, r_f are transmitted. Then, the node receives temporary symmetric keys k_0,..., K_t ′ for the piece P from the key server 53 as shown in FIG. 18, and uses them to encrypt the encrypted piece E (k_t ′). (k_0) P is decoded to obtain piece P. In this way, each node 51 can decrypt the encryption performed for the piece by obtaining all the temporary symmetric keys for decrypting the encryption performed for each piece, It becomes possible to completely decrypt the encrypted piece. In this way, each node 51 receives each temporary symmetric key from the key server 53 by a key request for each encrypted piece in which each of the plurality of pieces is encrypted, and decrypts each encrypted piece, The above distribution data can be obtained.

<鍵サーバ:鍵送信処理>
次に、鍵サーバ53がノード51からの鍵要求に応じて復号鍵を送信する鍵送信処理の手順について図19を用いて説明する。鍵サーバ53は、暗号化ピースを復号するための復号鍵を要求すると共に、ノードID列及び乱数列を含む鍵要求をノード51から受信すると(ステップS40:YES)、受信した鍵要求に含まれるノードID列に含まれる各ノードIDに対応付けられて秘密鍵格納部530に記憶されている秘密鍵をノードID毎に読み出す(ステップS41)。そして、鍵サーバ53は、乱数列に含まれる全ての乱数のそれぞれについて、当該乱数と、当該乱数に対応する秘密鍵とを用いて関数Fにより上述の検査式が成立するか否かを判定する(ステップS42)。そして鍵サーバ53は、検査式が成立しない全てのノードIDに対する乱数と、ステップS41で読み出した秘密鍵とを用いてノードID毎に関数Fにより一時対称鍵を復号鍵として生成する(ステップS43)。次いで、鍵サーバ53は、ステップS43で復号鍵として生成した一時対称鍵を、ステップS40で受信した鍵要求を送信したノード51に対して送信する(ステップS44)。
<Key server: Key transmission processing>
Next, a procedure of key transmission processing in which the key server 53 transmits a decryption key in response to a key request from the node 51 will be described with reference to FIG. When the key server 53 requests a decryption key for decrypting the encrypted piece and receives a key request including the node ID string and the random number string from the node 51 (step S40: YES), the key server 53 is included in the received key request. The secret key associated with each node ID included in the node ID string and stored in the secret key storage unit 530 is read for each node ID (step S41). Then, the key server 53 determines, for each of all random numbers included in the random number sequence, whether or not the above-described check expression is established by the function F using the random number and the secret key corresponding to the random number. (Step S42). Then, the key server 53 generates a temporary symmetric key as a decryption key by the function F for each node ID using the random numbers for all the node IDs for which the check expression is not satisfied and the secret key read in step S41 (step S43). . Next, the key server 53 transmits the temporary symmetric key generated as the decryption key in step S43 to the node 51 that transmitted the key request received in step S40 (step S44).

例えば、鍵サーバ53は、上述したノードIDID#(f+1)が割り当てられたノードに対して、ピースPについて、図17に示されるようなノードID列及び乱数列を含む鍵要求に応じて、図18に示されるような一時対称鍵k_0, …, k_t´を送信する。   For example, the key server 53 responds to a key request including a node ID string and a random number string as illustrated in FIG. 17 for the piece P with respect to the node to which the node ID ID # (f + 1) described above is assigned. , Temporary symmetric keys k_0,..., K_t ′ as shown in FIG.

以上のような構成によれば、あるノードが取得する暗号化ピースの組み合わせは配信経路と配信時期とに固有のものとなり、確実に一意となり得る。また,ノードが暗号化ピースを送信する際に暗号化ピースに重ねる暗号化を所定の確率に従って選択的に行うことになる。そして、当該ノードが暗号化ピースと共に送信する乱数列には、暗号化に用いられる一時対称鍵の生成に用いられた乱数だけではなく、暗号化が行われない場合に生成される代替的な乱数が含まれる。これにより、この乱数列と共に暗号化ピースを受信したノードが、当該暗号化ピースの配布経路上のどのノードがどの一時対称鍵で暗号化を行ったのかを判別することが確率的に困難となる。このような構成によれば、P2P配信において配信方法に関する特別な工夫をしなくても、各ノードが取得する各暗号化ピースの組み合わせについてノード毎の一意性を確実に高めることができ、安全性を向上させることができる。更に、データの保護とデータの配信方法との独立性を維持することが可能になり、システム構築上の自由度を向上させることが可能になる。   According to the above configuration, a combination of encrypted pieces acquired by a certain node is unique to the distribution route and the distribution time, and can be surely unique. In addition, when a node transmits an encrypted piece, encryption over the encrypted piece is selectively performed according to a predetermined probability. The random number sequence sent by the node together with the encrypted piece includes not only the random number used for generating the temporary symmetric key used for encryption but also an alternative random number generated when encryption is not performed. Is included. This makes it difficult for the node that has received the encrypted piece together with this random number sequence to determine which node on the distribution path of the encrypted piece has been encrypted with which temporary symmetric key. . According to such a configuration, the uniqueness of each node can be reliably increased for each combination of encrypted pieces acquired by each node without special measures regarding the distribution method in P2P distribution. Can be improved. Furthermore, it becomes possible to maintain the independence between the data protection and the data distribution method, and the degree of freedom in system construction can be improved.

例えば、各ノード51が複数のピースのそれぞれが暗号化された暗号化ピースを全て取得したとする。各暗号化ピースの配信経路は様々である。従って、暗号化ピースが異なれば、配信経路が異なる可能性が高いため、各暗号化ピースに対応付けられるノードIDの組み合わせは異なっている可能性が高い。また、異なる暗号化ピースの配信経路が同じ場合、各暗号化ピースに対応付けられるノードIDの組み合わせは同じになるが、各ノードに対応する乱数は異なる。また、各ノードが暗号化を行うか否かは暗号化ピース毎及びその送信毎に異なり得る。   For example, it is assumed that each node 51 has acquired all encrypted pieces obtained by encrypting each of a plurality of pieces. There are various delivery routes for each encrypted piece. Therefore, if the encrypted pieces are different, there is a high possibility that the delivery route is different. Therefore, there is a high possibility that the combination of node IDs associated with each encrypted piece is different. Further, when the delivery paths of different encrypted pieces are the same, the combination of node IDs associated with each encrypted piece is the same, but the random numbers corresponding to each node are different. Also, whether each node performs encryption may differ for each encrypted piece and for each transmission.

例えば、配信データがP1〜PNのN個(N:2以上の整数)に分割されているものとする。このとき、上述したノードIDID#fが割り当てられたノードは、例えば、ピースP1について、以下のデータを対応付けて記憶しているものとする。
ノードID列:ID#0, ID#1, …, ID#(f-1)
乱数列:r_0, r_1, …, r_{f-1}
暗号化ピース:E(k_t)…E(k_0)P1
For example, it is assumed that the distribution data is divided into N pieces of P1 to PN (N: an integer of 2 or more). At this time, it is assumed that the node to which the node ID ID # f described above is assigned stores the following data in association with the piece P1, for example.
Node ID string: ID # 0, ID # 1,…, ID # (f-1)
Random number sequence: r_0, r_1,…, r_ {f-1}
Encryption piece: E (k_t) ... E (k_0) P1

また、当該ノードは、別のピースP2について、f番目ではなくi番目に暗号化ピースを受信するものとして、以下のデータを対応付けて記憶しているものとする。
ノードID列:ID#0, ID’#1, …, ID’#(i-1)
乱数列:r_0, r´_1, …, r´_{i-1}
暗号化ピース:E(W’_{k´_t´})…E(k´_1)E(k_0)P2
尚、ID’#1, …, ID’#(i-1)はID#1, …, ID#(j-1)とは異なったノードIDの系列である。また、r_0, r´_1, …, r´_{i-1}は、ID’#1, …, ID’#(i-1)の各ノードIDが割り当てられた各ノードが生成した乱数であり、各々その都度異なるものである。また、k_0はノード50が生成した一時対称鍵であり、k´_1, …,k´_t´は、各ノードIDID#1, …, ID#(j-1)が割り当てられた各ノードのうち(t´-1)個の各ノードにより生成された一時対称鍵である。
In addition, it is assumed that the node stores the following data in association with each other, assuming that the encrypted piece is received i-th instead of f-th for another piece P2.
Node ID string: ID # 0, ID '# 1,…, ID'# (i-1)
Random number sequence: r_0, r´_1,…, r´_ {i-1}
Encryption piece: E (W '_ {k´_t´}) ... E (k´_1) E (k_0) P2
ID '# 1, ..., ID'# (i-1) is a series of node IDs different from ID # 1, ..., ID # (j-1). R_0, r′_1,..., R ′ _ {i-1} are random numbers generated by the nodes assigned with the node IDs of ID ′ # 1,…, ID ′ # (i-1). Yes, each one is different. Further, k_0 is a temporary symmetric key generated by the node 50, and k′_1,..., K′_t ′ are among the nodes to which the respective node IDID # 1,…, ID # (j−1) are assigned. A temporary symmetric key generated by (t′-1) nodes.

このように、同一のノードにおいても、ピース毎に、暗号化ピースを復号するために必要な一時対称鍵は各々異なる。また、ノードが異なれば、同一のピースであっても、各暗号化ピースを復号するために必要な一時対称鍵は各々異なる。また同一のピースの配信経路が同一であったとしても、暗号化ピースについてどのノードが暗号化を行っているか否かは確率的に異なるため、暗号化ピースについて暗号化が重ねられる状態は各々異なる。従って、ノードが異なれば、複数のピースのそれぞれついて、その暗号化ピースの組み合わせは各々異なる。つまり、配信データを構成する全てのピースのそれぞれが暗号化された暗号化ピースの組み合わせは、ノード毎に確実に異なりえる。故に、本実施の形態によれば、各ノードが取得する各暗号化ピースの組み合わせについてノード毎の一意性を確実に高めることができるのである。   As described above, even in the same node, the temporary symmetric key necessary for decrypting the encrypted piece is different for each piece. Also, if the nodes are different, the temporary symmetric keys necessary for decrypting each encrypted piece are different even if they are the same piece. Even if the delivery route of the same piece is the same, it is probabilistic that which node is encrypting the encrypted piece is different, so the encryption state of the encrypted piece is different for each. . Therefore, if the nodes are different, the combination of the encrypted pieces is different for each of the plurality of pieces. That is, the combination of encrypted pieces obtained by encrypting all pieces constituting the distribution data can be surely different for each node. Therefore, according to the present embodiment, it is possible to reliably increase the uniqueness of each node with respect to the combination of encrypted pieces acquired by each node.

また、ノードが他のノードに暗号化ピースを送信する際に暗号化を所定の確率に従って選択的に行うことにより、暗号化が行われる回数を減らして、ノードが行う暗号化の処理負担を軽減することができると共に、暗号化ピースを復号するための処理負担を軽減することができる。また、鍵サーバ53が当該暗号鍵を復号するための一時対称鍵を生成するための処理負担も軽減することができる。   In addition, when a node sends an encrypted piece to another node, encryption is selectively performed according to a predetermined probability, thereby reducing the number of times encryption is performed and reducing the processing burden of encryption performed by the node. And the processing load for decrypting the encrypted piece can be reduced. In addition, the processing load for the key server 53 to generate a temporary symmetric key for decrypting the encryption key can be reduced.

[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
[Modification]
Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. Moreover, various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined. Further, various modifications as exemplified below are possible.

<変形例1>
上述した実施の形態において、各ノード50で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。この場合には、プログラムは、各ノード50において上記記録媒体から読み出して実行することにより主記憶装置(例えばRAM)上にロードされ、上記機能的構成において説明した各部が主記憶装置上に生成される。鍵サーバ53で実行される各種プログラムについても同様である。
<Modification 1>
In the above-described embodiment, various programs executed in each node 50 may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. In addition, the program is recorded in a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, a DVD (Digital Versatile Disk) in a file in an installable or executable format. You may comprise so that it may provide. In this case, the program is loaded onto the main storage device (for example, RAM) by being read from the recording medium at each node 50 and executed, and each unit described in the functional configuration is generated on the main storage device. The The same applies to various programs executed by the key server 53.

また、上述した実施の形態において、各ノード50の機能的構成において説明した各部のうち全部又は一部をハードウェアにより構成しても良い。鍵サーバ53の機能的構成において説明した各部のうち全部又は一部についても同様である。   In the above-described embodiment, all or part of the units described in the functional configuration of each node 50 may be configured by hardware. The same applies to all or some of the components described in the functional configuration of the key server 53.

<変形例2>
上述した実施の形態において、ノードIDは、各ノードを一意に識別可能な情報であれば良く、例えば、各ノードのIPアドレスや、MACアドレスや、URLなどであっても良い。
<Modification 2>
In the embodiment described above, the node ID may be information that can uniquely identify each node, and may be, for example, the IP address, MAC address, or URL of each node.

<変形例3>
上述した実施の形態のデータ配信システムにおいては、配信開始ノードの数は複数であっても良い。また、P2PネットワークNTに接続されるこの他のノードの数も特に限定されない。
<Modification 3>
In the data distribution system of the embodiment described above, the number of distribution start nodes may be plural. Further, the number of other nodes connected to the P2P network NT is not particularly limited.

<変形例4>
上述の実施の形態においては、1つのピース要求によって複数のピースが要求されるようにしても良い。この場合、ノード50,51は、複数のピースのそれぞれについて上述したように暗号化ピース、ノードID列及び乱数列の組を、ピース要求を送信した他のノード51に送信すれば良い。
<Modification 4>
In the above-described embodiment, a plurality of pieces may be requested by one piece request. In this case, the nodes 50 and 51 may transmit the pair of the encrypted piece, the node ID sequence, and the random number sequence to the other nodes 51 that transmitted the piece request as described above for each of the plurality of pieces.

また、上述の実施の形態においては、ノード50,51は、ピース要求に応じて暗号化ピースを送信する構成としたが、これに限らず、ピース要求を受信しなくとも、他のノード51に暗号化ピースと共にIDノード列及び乱数列を送信するようにしても良い。   In the above-described embodiment, the nodes 50 and 51 are configured to transmit the encrypted piece in response to the piece request. However, the present invention is not limited to this, and the other nodes 51 may receive the piece request without receiving the piece request. The ID node sequence and the random number sequence may be transmitted together with the encrypted piece.

<変形例5>
上述の実施の形態においては、ノード51は、配布データを構成する全てのピースについて暗号化ピースが取得されデータ格納部517に記憶された場合に、各暗号化ピースを復号するための鍵要求を鍵サーバ53に送信するようにしても良い。又は、ノード51は、配布データを構成する全てのピースについて暗号化ピースが取得されていない場合であっても、データ格納部517に記憶された暗号化ピースを復号するための鍵要求を鍵サーバ53に送信するようにしても良い。また、ノード51は、1つの鍵要求によって、1つの暗号化ピースを復号するための復号鍵を要求するようにしても良いし、複数の暗号化ピースを復号するための各復号鍵を要求するようにしても良い。
<Modification 5>
In the above-described embodiment, the node 51 sends a key request for decrypting each encrypted piece when the encrypted pieces are acquired and stored in the data storage unit 517 for all pieces constituting the distribution data. You may make it transmit to the key server 53. FIG. Alternatively, the node 51 sends a key request for decrypting the encrypted piece stored in the data storage unit 517 to the key server even if the encrypted pieces are not acquired for all pieces constituting the distribution data. You may make it transmit to 53. Further, the node 51 may request a decryption key for decrypting one encrypted piece by one key request, or request each decryption key for decrypting a plurality of encrypted pieces. You may do it.

<変形例6>
上述の実施の形態においては、ピースの暗号化には、暗号鍵でもあり、暗号化を復号するための復号鍵でもある一時対称鍵を用いた。しかし、ピースの暗号化に用いる暗号鍵と、暗号化ピースに対して行われている暗号化を復号するための復号鍵とは各々別であるとしても良い。
<Modification 6>
In the above-described embodiment, the piece symmetric key is a temporary symmetric key that is both an encryption key and a decryption key for decrypting the encryption. However, the encryption key used for encrypting the piece may be different from the decryption key for decrypting the encryption performed on the encrypted piece.

また、上述の実施の形態においては、ノード50,51は、データ格納部517に記憶された暗号化ピースを他のノード51に送信する場合、その都度、乱数を生成するようにした。しかし、ノード50,51は、乱数をその都度生成するのではなく、例えば、暗号化ピースの送信回数に応じて発生させるようにしても良い。例えば、ノード50,51は、暗号化ピースの送信を所定の回数(例えば5回)行う毎に新たな乱数を生成するようにしても良い。また、ノード50,51が乱数を生成するタイミングは、他のノード51からピース要求を受信したときであっても良いし、所定の時間毎であっても良い。   In the above-described embodiment, each time the nodes 50 and 51 transmit the encrypted piece stored in the data storage unit 517 to another node 51, the nodes 50 and 51 generate a random number. However, the nodes 50 and 51 may generate random numbers according to the number of times of transmission of encrypted pieces, for example, instead of generating random numbers each time. For example, the nodes 50 and 51 may generate a new random number every time the encrypted piece is transmitted a predetermined number of times (for example, 5 times). The timing at which the nodes 50 and 51 generate random numbers may be when a piece request is received from another node 51, or may be every predetermined time.

また、上述の実施の形態においては、ノード51は、データ格納部517に記憶された暗号化ピースを暗号化して他のノード51に送信する場合、当該暗号化ピースのデータの全部ではなく一部のデータについて暗号化するようにしても良い。この場合、当該暗号化ピースの配信を仲介する各ノード51が暗号化するデータが、同じく当該暗号化ピースの配信を仲介する他のノード51が暗号化するデータと重複部分が生じるように、各ノード51は当該暗号化ピースの一部のデータを暗号化するようにすれば良い。このような構成によれば、各ノード51が行う暗号化に関する処理負担を軽減させることができると共に、暗号化部分を重複させることにより、復号鍵が暴露された場合の影響を抑制することが可能になる。   Further, in the above-described embodiment, when the node 51 encrypts the encrypted piece stored in the data storage unit 517 and transmits the encrypted piece to the other node 51, a part of the encrypted piece of data is not the whole. The data may be encrypted. In this case, the data encrypted by each node 51 that mediates the distribution of the encrypted piece is overlapped with the data encrypted by the other node 51 that also mediates the distribution of the encrypted piece. The node 51 may encrypt part of the data of the encrypted piece. According to such a configuration, it is possible to reduce the processing load related to encryption performed by each node 51, and it is possible to suppress the influence when the decryption key is exposed by duplicating the encrypted part. become.

<変形例7>
上述の実施の形態においては、ノード51が他のノード51に暗号化ピースと共に送信するノードID列及び乱数列は、図5,11,13に示される形態に限らない。例えば、(ID#0, r_0),(ID#1,r_1)…(ID#f, r_f)などのように、ノードIDと当該ノードIDに対応する乱数との組をノードID毎に示す形態であっても良い。
<Modification 7>
In the above-described embodiment, the node ID string and the random number string that the node 51 transmits to the other nodes 51 together with the encrypted pieces are not limited to the forms illustrated in FIGS. For example, a form in which a set of a node ID and a random number corresponding to the node ID is shown for each node ID, such as (ID # 0, r_0), (ID # 1, r_1)... (ID # f, r_f) It may be.

<変形例8>
上述の実施の形態においては、各ノード50,51に一意に割当られた秘密情報として秘密鍵を用いたが、これに限らない。
<Modification 8>
In the above-described embodiment, the secret key is used as the secret information uniquely assigned to each of the nodes 50 and 51. However, the present invention is not limited to this.

また、上述の実施の形態においては、秘密鍵は、各ノード50,51に一意に割当られているとしたが、これに限らない。例えば、各ノード50,51のうち一部のノードに同一の秘密鍵が割り当てられるようにしても良い。   In the above embodiment, the secret key is uniquely assigned to each of the nodes 50 and 51. However, the present invention is not limited to this. For example, the same secret key may be assigned to some of the nodes 50 and 51.

<変形例9>
上述の実施の形態においては、上述した暗号化ピース、ノードID列及び乱数列をパッケージ化したパッケージデータの形態で配布されるように構成しても良い。この場合、パッケージデータはコンピュータで読み取り可能な記録媒体に記録されてノードに提供されるようにしても良いし、サーバを介してノードにダウンロードされるように構成しても良い。当該パッケージデータを取得したノードは、ピース要求に応じて、上述の実施の形態と同様にして、当該パッケージデータに含まれる暗号化ピースに対して暗号化を選択的に行った暗号化ピースと、パッケージデータに含まれるノードID及び自身のノードIDと、パッケージデータに含まれる乱数列及び自身が生成した乱数とを他のノードに送信すれば良い。
<Modification 9>
In the above-described embodiment, the above-described encrypted piece, node ID string, and random number string may be distributed in the form of package data. In this case, the package data may be recorded on a computer-readable recording medium and provided to the node, or may be configured to be downloaded to the node via the server. In response to the piece request, the node that has acquired the package data, in the same manner as in the above-described embodiment, an encrypted piece that is selectively encrypted with respect to the encrypted piece included in the package data; The node ID included in the package data and its own node ID, the random number sequence included in the package data, and the random number generated by itself may be transmitted to other nodes.

<変形例10>
上述の実施の形態においては、配信開始ノードであるノード50は、暗号化ピースを送信する際に、ノード51と同様にして、所定の確率に従って暗号化を選択的に行うようにしても良い。この場合、ノード50は、上述のノード51の有する暗号化決定部号化決定部521及び乱数代替生成部522と同様の機能を有するように構成すれば良い。
<Modification 10>
In the above-described embodiment, the node 50 that is the distribution start node may selectively perform encryption according to a predetermined probability in the same manner as the node 51 when transmitting the encrypted piece. In this case, the node 50 may be configured to have the same functions as the encryption determination unit numbering determination unit 521 and the random number alternative generation unit 522 included in the node 51 described above.

また、上述の実施の形態においては、ノード51が暗号化を選択的に行う際の確率は所定であるとしたが、これを可変にしても良い。例えば、暗号化ピースについての配信が仲介された回数(経由回数という)に応じて当該確率を変更するようにしても良いし、固定値と可変値とを使い分けるようにしても良い。具体的には、例えば、ノード51は、送信対象の暗号化ピースと対応付けられてデータ格納部517に記憶されているノードID列に含まれるノードIDの個数を計数する。この値が即ち暗号化ピースの経由回数sd_aとなる。そして、当該経由回数sd_aが所定回数sd_s(例えば10回)以下である場合には、ノード51は、確率として固定値である‘1’を用いて、暗号化するか否かを決定する。また、ノード51は、当該経由回数sd_aが所定回数sd_sより大きい場合には、例えば以下の式により確率を求めて、これを用いて、暗号化するか否かを決定する。
確率=1/(sd_a - sd_s)
In the above-described embodiment, the probability that the node 51 selectively performs encryption is predetermined, but this may be variable. For example, the probability may be changed according to the number of times the distribution of the encrypted piece is mediated (referred to as the number of vias), or a fixed value and a variable value may be used properly. Specifically, for example, the node 51 counts the number of node IDs included in the node ID string stored in the data storage unit 517 in association with the encrypted piece to be transmitted. This value is the number of times sd_a passes through the encrypted piece. When the number of times of passing sd_a is equal to or less than a predetermined number of times sd_s (for example, 10 times), the node 51 determines whether or not to encrypt using “1” which is a fixed value as a probability. In addition, when the number of times of passing sd_a is larger than the predetermined number of times sd_s, the node 51 obtains a probability by the following equation, for example, and determines whether or not to perform encryption.
Probability = 1 / (sd_a-sd_s)

このような構成によれば、暗号化ピースの経由回数が比較的少ない場合には、暗号化が行われる度合いを高くすることで、暗号化ピースの保護を優先することができる。一方、暗号化ピースの経由回数が比較的多くなった場合には、暗号化が行われる度合いを低くすることで、処理負担の軽減を優先させることができる。このように、暗号化の重ねがけの状態を適宜制御することができることにより、配信データの提供者の利便性を向上させることができる。   According to such a configuration, when the number of times the encrypted piece is passed is relatively small, the protection of the encrypted piece can be prioritized by increasing the degree of encryption. On the other hand, when the number of times the encrypted piece passes is relatively large, the reduction of the processing load can be prioritized by reducing the degree of encryption. Thus, the convenience of the provider of distribution data can be improved by appropriately controlling the state of encryption overlap.

第1の実施の形態にかかるデータ配信システムの構成を示す図である。It is a figure which shows the structure of the data delivery system concerning 1st Embodiment. 同実施の形態にかかるノード50の機能的構成を例示する図である。It is a figure which illustrates the functional structure of the node 50 concerning the embodiment. 同実施の形態にかかるノード51の機能的構成を例示する図である。It is a figure which illustrates the functional structure of the node 51 concerning the embodiment. 同実施の形態にかかるノード50からノード51Aに送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the node 51A from the node 50 concerning the embodiment. 同実施の形態にかかるノード51Aからノード51Bに送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the node 51B from the node 51A concerning the embodiment. 同実施の形態にかかるノード51Aからノード51Bに送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the node 51B from the node 51A concerning the embodiment. 同実施の形態にかかるノード51Bから鍵サーバ53に送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the key server 53 from the node 51B concerning the embodiment. 同実施の形態にかかる鍵サーバ53からノード51Bに送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the node 51B from the key server 53 concerning the embodiment. 同実施の形態にかかる鍵サーバ53からノード51Bに送信される情報を模式的に示す図である。It is a figure which shows typically the information transmitted to the node 51B from the key server 53 concerning the embodiment. 同実施の形態にかかる鍵サーバ53の機能的構成を例示する図である。It is a figure which illustrates the functional structure of the key server 53 concerning the embodiment. 同実施の形態にかかる配信開始ノードであるノード50が行う配信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the delivery process which the node 50 which is a delivery start node concerning the embodiment performs. 同実施の形態にかかるノード51がノード50又は他のノード51から暗号化ピースを受信する受信処理の手順を示すフローチャートである。4 is a flowchart showing a procedure of a reception process in which a node 51 according to the embodiment receives an encrypted piece from a node 50 or another node 51. 同実施の形態にかかるノードに受信される情報を模式的に示す図である。It is a figure which shows typically the information received by the node concerning the embodiment. 同実施の形態にかかる配信開始ノード以外のノード51が行う配信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the delivery process which nodes 51 other than the delivery start node concerning the embodiment perform. 同実施の形態にかかるノードが送信する情報を模式的に示す図である。It is a figure which shows typically the information which the node concerning the embodiment transmits. 同実施の形態にかかるノード51が鍵サーバ53から復号鍵を取得しこれを用いて暗号化ピースを復号する復号処理の手順を示すフローチャートである。4 is a flowchart showing a procedure of a decryption process in which a node 51 according to the embodiment acquires a decryption key from a key server 53 and decrypts an encrypted piece using the decryption key. 同実施の形態にかかるノードが送信する情報を模式的に示す図である。It is a figure which shows typically the information which the node concerning the embodiment transmits. 同実施の形態にかかるノードが受信する対称鍵を模式的に示す図である。It is a figure which shows typically the symmetric key which the node concerning the embodiment receives. 同実施の形態にかかる鍵サーバ53がノード51からの鍵要求に応じて復号鍵を送信する鍵送信処理の手順を示すフローチャートである。4 is a flowchart showing a procedure of key transmission processing in which the key server 53 according to the embodiment transmits a decryption key in response to a key request from a node 51.

符号の説明Explanation of symbols

50,51,51A,51B ノード
53 鍵サーバ
500 固有情報格納部
501 乱数生成部
502 一時対称鍵生成部
503 ピース暗号化部
504 ピース化部
505 データ送信部
506 送信要求受付部
510 固有情報格納部
511 乱数生成部
512 一時対称鍵生成部
513 ピース暗号化部
514 データ受信部
515 データ送信部
516 送信要求受付部
517 データ格納部
518 送信要求送信部
519 鍵要求送信部
520 ピース復号部
521 暗号化決定部
530 秘密鍵格納部
531 データ受信部
532 暗号化スキップ判定部
533 一時対称鍵生成部
534 データ送信部
NT P2Pネットワーク
50, 51, 51A, 51B Node 53 Key server 500 Unique information storage unit 501 Random number generation unit 502 Temporary symmetric key generation unit 503 Piece encryption unit 504 Piece generation unit 505 Data transmission unit 506 Transmission request reception unit 510 Unique information storage unit 511 Random number generator 512 Temporary symmetric key generator 513 Piece encryption unit 514 Data reception unit 515 Data transmission unit 516 Transmission request reception unit 517 Data storage unit 518 Transmission request transmission unit 519 Key request transmission unit 520 Piece decryption unit 521 Encryption determination unit 530 Secret key storage unit 531 Data reception unit 532 Encryption skip determination unit 533 Temporary symmetric key generation unit 534 Data transmission unit NT P2P network

Claims (22)

データの一部である複数のピースを暗号化して送信する通信装置であって、
当該通信装置に割り当てられた装置識別情報を記憶する第1記憶手段と、
他の通信装置によって暗号化されたピースである第1暗号化ピースと、当該他の通信装置に割り当てられた第1装置識別情報と、当該他の通信装置が暗号化する際に生成した第1一時情報とを受信する受信手段と、
前記第1暗号化ピースと、前記第1装置識別情報と、前記第1一時情報とを対応付けて記憶する第2記憶手段と、
前記第1暗号化ピースを暗号化するか否かを決定する決定手段と、
前記決定手段によって前記第1暗号化ピースを暗号化すると決定された場合、その生成毎に異なり得る第2一時情報を生成する第1生成手段と、
前記第2一時情報を用いて一時対称鍵を生成する第2生成手段と、
前記一時対称鍵を用いて前記第1暗号化ピースを更に暗号化して、第2暗号化ピースを出力する暗号化手段と、
前記決定手段によって前記第1暗号化ピースを暗号化すると決定された場合、前記第2暗号化ピースと、前記第1装置識別情報と、前記第2装置識別情報と、前記第1一時情報と、前記第2一時情報とを送信する送信手段とを備える
ことを特徴とする通信装置。
A communication device that encrypts and transmits a plurality of pieces that are part of data,
First storage means for storing device identification information assigned to the communication device;
The first encrypted piece that is a piece encrypted by another communication device, the first device identification information assigned to the other communication device, and the first generated when the other communication device encrypts Receiving means for receiving temporary information;
Second storage means for storing the first encrypted piece, the first device identification information, and the first temporary information in association with each other;
Determining means for determining whether to encrypt the first encrypted piece;
A first generating unit that generates second temporary information that may differ for each generation when the determining unit determines to encrypt the first encrypted piece;
Second generation means for generating a temporary symmetric key using the second temporary information;
Encryption means for further encrypting the first encrypted piece using the temporary symmetric key and outputting a second encrypted piece;
If it is determined by the determining means to encrypt the first encrypted piece, the second encrypted piece, the first device identification information, the second device identification information, the first temporary information, A communication apparatus comprising: a transmission unit that transmits the second temporary information.
前記決定手段によって前記第1暗号化ピースを暗号化しないと決定された場合、前記第1装置識別情報を少なくとも用いて第3一時情報を生成する第3生成手段を更に備え、
前記送信手段は、前記決定手段によって前記第1暗号化ピースを暗号化しないと決定された場合、前記第1暗号化ピースと、前記第1装置識別情報と、前記第2装置識別情報と、前記第1一時情報と、前記第3一時情報とを送信する
ことを特徴とする請求項1に記載の通信装置。
When it is determined by the determining means that the first encrypted piece is not encrypted, further comprising third generating means for generating third temporary information using at least the first device identification information,
When the determining means determines that the first encrypted piece is not encrypted by the determining means, the transmitting means, the first device identification information, the second device identification information, and the The communication apparatus according to claim 1, wherein the first temporary information and the third temporary information are transmitted.
前記第1記憶手段は、当該通信装置に割り当てられている秘密情報を更に記憶し、
前記第2生成手段は、前記第2一時情報と前記秘密情報とを用いて前記一時対称鍵を生成する
ことを特徴とする請求項1又は2に記載の通信装置。
The first storage means further stores secret information assigned to the communication device,
3. The communication apparatus according to claim 1, wherein the second generation unit generates the temporary symmetric key using the second temporary information and the secret information.
前記第2生成手段は、前記第2一時情報と前記秘密情報とを用いて一方向性関数、共通鍵暗号、あるいは擬似乱数生成器により前記一時対称鍵を生成する
ことを特徴とする請求項3に記載の通信装置。
The said 2nd production | generation means produces | generates the said temporary symmetric key with a one-way function, a common key encryption, or a pseudorandom number generator using the said 2nd temporary information and the said secret information. The communication apparatus as described in.
前記第3生成手段は、前記決定手段によって前記第1暗号化ピースを暗号化しないと決定された場合、前記第2装置識別情報と前記秘密情報とを用いて、一方向性関数、共通鍵暗号、あるいは擬似乱数生成器により前記第3一時情報を生成する
ことを特徴とする請求項3又は4に記載の通信装置。
When the determination unit determines that the first encrypted piece is not encrypted, the third generation unit uses the second device identification information and the secret information to generate a one-way function, a common key encryption The communication apparatus according to claim 3, wherein the third temporary information is generated by a pseudo random number generator.
前記決定手段は、前記第1暗号化ピースを送信する場合、所定の確率に従って、当該第1暗号化ピースを暗号化するか否かを決定する
ことを特徴とする請求項1乃至5のいずれか一項に記載の通信装置。
The said determination means determines whether the said 1st encryption piece is encrypted according to a predetermined | prescribed probability, when transmitting the said 1st encryption piece. The communication device according to one item.
前記決定手段は、前記第1暗号化ピースの配信が仲介された回数が小さいほど小さく前記回数が大きいほど大きくなる確率に従って、前記暗第1号化ピースを暗号化するか否かを決定する
ことを特徴とする請求項6に記載の通信装置。
The determination means determines whether to encrypt the first encrypted piece according to a probability that the smaller the number of times the delivery of the first encrypted piece is mediated, the smaller the number and the larger the number, the larger the number. The communication apparatus according to claim 6.
前記ピースを要求するピース要求を受信する要求受信手段を更に備え、
前記第1生成手段は、前記ピース要求が受信された場合且つ前記決定手段によって前記第1暗号化ピースを暗号化すると決定された場合に、前記第2一時情報を生成する
ことを特徴とする請求項1乃至7のいずれか一項に記載の通信装置。
Request receiving means for receiving a piece request for requesting the piece;
The first generation unit generates the second temporary information when the piece request is received and when the determination unit determines to encrypt the first encrypted piece. Item 8. The communication device according to any one of Items 1 to 7.
データの一部である複数のピースを暗号化して他の通信装置に送信する通信装置であって、
当該通信装置に割り当てられている装置識別情報を記憶する第1記憶手段と、
その生成毎に異なり得る一時情報を生成する第1生成手段と、
前記一時情報を用いて一時対称鍵を生成する第2生成手段と、
前記一時対称鍵を用いて前記ピースを暗号化して暗号化ピースを出力する暗号化手段と、
前記暗号化ピースと、前記装置識別情報と、前記一時情報とを前記他の通信装置に送信する送信手段とを備える
ことを特徴とする通信装置。
A communication device that encrypts and transmits a plurality of pieces that are part of data to another communication device,
First storage means for storing device identification information assigned to the communication device;
First generation means for generating temporary information that may differ for each generation;
Second generation means for generating a temporary symmetric key using the temporary information;
Encryption means for encrypting the piece using the temporary symmetric key and outputting an encrypted piece;
A communication apparatus comprising: a transmission unit configured to transmit the encrypted piece, the apparatus identification information, and the temporary information to the other communication apparatus.
前記第1記憶手段は、当該通信装置に割り当てられている秘密情報を更に記憶し、
前記第2生成手段は、前記一時情報と前記秘密情報とを用いて前記一時対称鍵を生成する
ことを特徴とする請求項9に記載の通信装置。
The first storage means further stores secret information assigned to the communication device,
The communication device according to claim 9, wherein the second generation unit generates the temporary symmetric key using the temporary information and the secret information.
前記第2生成手段は、前記一時情報と前記秘密情報とを用いて一方向性関数、共通鍵暗号、あるいは擬似乱数生成器により前記一時対称鍵を生成する
ことを特徴とする請求項10に記載の通信装置。
The said 2nd production | generation means produces | generates the said temporary symmetric key with a one-way function, a common key encryption, or a pseudorandom number generator using the said temporary information and the said secret information. Communication equipment.
前記データを記憶する第2記憶手段と、
前記データを複数のピースに分割する分割手段とを更に備える
ことを特徴とする請求項9乃至11のいずれか一項に記載の通信装置。
Second storage means for storing the data;
The communication apparatus according to claim 9, further comprising a dividing unit that divides the data into a plurality of pieces.
前記ピースを要求するピース要求を受信する要求受信手段を更に備え、
前記第1生成手段は、前記ピース要求が受信された場合に、前記一時情報を生成する
ことを特徴とする請求項9乃至12のいずれか一項に記載の通信装置。
Request receiving means for receiving a piece request for requesting the piece;
The communication device according to claim 9, wherein the first generation unit generates the temporary information when the piece request is received.
データの一部である複数のピースを受信する通信装置であって、
当該通信装置に割り当てられている装置識別情報を記憶する第1記憶手段と、
他の通信装置によって暗号化されたピースである暗号化ピースと、当該他の通信装置に割り当てられている装置識別情報と、当該他の通信装置がピースを暗号化する際に生成した一時情報とを受信する第1受信手段と、
受信された前記暗号化ピース、前記装置識別情報及び前記一時情報を対応付けて記憶する第2記憶手段と、
前記暗号化ピースを復号するための復号鍵を要求すると共に、当該暗号化ピースと対応付けられて記憶された前記装置識別情報及び前記一時情報を対応付けて含む鍵要求を鍵サーバへ送信する送信手段と、
前記鍵要求に応じて前記鍵サーバから、前記ピースについて行われた暗号化を復号するための各復号鍵を受信する第2受信手段と、
受信された前記各復号鍵を用いて前記暗号化ピースを復号する復号手段とを備える
ことを特徴とする通信装置。
A communication device that receives a plurality of pieces that are part of data,
First storage means for storing device identification information assigned to the communication device;
An encrypted piece that is a piece encrypted by another communication device, device identification information assigned to the other communication device, and temporary information generated when the other communication device encrypts the piece; First receiving means for receiving
Second storage means for storing the received encrypted piece, the device identification information, and the temporary information in association with each other;
A request for requesting a decryption key for decrypting the encrypted piece, and transmitting a key request including the device identification information and the temporary information stored in association with the encrypted piece to the key server Means,
Second receiving means for receiving each decryption key for decrypting the encryption performed on the piece from the key server in response to the key request;
A communication apparatus comprising: decryption means for decrypting the encrypted piece using each received decryption key.
前記暗号化ピースは、前記他の通信装置が各前記一時情報を少なくとも用いて生成した一時対称鍵によって各々暗号化されており、
前記第2受信手段は、前記一時対称鍵である前記復号鍵を前記鍵サーバから受信し、
前記復号手段は、受信された前記一時対称鍵である前記各復号鍵を用いて前記暗号化ピースを復号する
ことを特徴とする請求項14に記載の通信装置。
The encrypted pieces are each encrypted by a temporary symmetric key generated by the other communication device using at least the temporary information,
The second receiving means receives the decryption key which is the temporary symmetric key from the key server,
15. The communication apparatus according to claim 14, wherein the decryption unit decrypts the encrypted piece using each decryption key that is the received temporary symmetric key.
前記暗号化ピースは、前記他の通信装置が前記一時情報及び当該他の通信装置に割り当てられた秘密情報を用いて生成した一時対称鍵により暗号化されており、
前記第2受信手段は、前記一時対称鍵である復号鍵を前記鍵サーバから受信する
ことを特徴とする請求項15に記載の通信装置。
The encrypted piece is encrypted by a temporary symmetric key generated by the other communication device using the temporary information and secret information assigned to the other communication device,
16. The communication apparatus according to claim 15, wherein the second receiving unit receives a decryption key that is the temporary symmetric key from the key server.
データの一部である複数のピースを暗号化して送信する複数の他の通信装置のそれぞれに割り当てられた秘密情報と、各通信装置に割り当てられた装置識別情報とを各々対応付けて記憶する第1記憶手段と、
暗号化されたピースである暗号化ピースを復号するための復号鍵を要求すると共に、当該暗号化ピースの配信を仲介した前記複数の他の通信装置の前記装置識別情報及び当該複数の他の通信装置が各々生成した情報であってその生成毎に異なり得る一時情報とを対応付けて含む鍵要求を前記通信装置から受信する受信手段と、
前記鍵要求に含まれる各前記装置識別情報に対応付けられて記憶されている前記秘密情報と、当該各装置識別情報と対応付けられて前記鍵要求に含まれる各前記一時情報とを用いて、各前記復号鍵を生成する鍵生成手段と、
各前記復号鍵を前記通信装置に送信する送信手段とを備える
ことを特徴とする鍵サーバ。
The secret information assigned to each of a plurality of other communication devices that encrypt and transmit a plurality of pieces that are part of the data and the device identification information assigned to each communication device are stored in association with each other. 1 storage means;
Requesting a decryption key for decrypting an encrypted piece, which is an encrypted piece, and the device identification information and the plurality of other communications of the plurality of other communication devices that mediate delivery of the encrypted piece Receiving means for receiving, from the communication device, a key request that includes information generated by each apparatus and includes temporary information that can be different for each generation;
Using the secret information stored in association with the device identification information included in the key request, and the temporary information included in the key request in association with the device identification information, Key generation means for generating each of the decryption keys;
A key server comprising: transmission means for transmitting each of the decryption keys to the communication device.
前記鍵生成手段は、
前記鍵要求に含まれる各前記装置識別情報に対応付けられて記憶されている前記秘密情報と、当該各装置識別情報に対応付けられて前記鍵要求に含まれる各前記一時情報とを用いて、各前記一時情報が、前記暗号化ピースについて行われた暗号化に関るものか否かを判定する判定手段と、
前記判定手段の判定結果が肯定的となる前記一時情報と、当該一時情報と対応付けられて前記鍵要求に含まれる前記装置識別情報に対応付けられて記憶されている前記秘密情報とを用いて、各前記復号鍵を生成する生成手段とを有する
ことを特徴とする請求項17に記載の鍵サーバ。
The key generation means includes
Using the secret information stored in association with the device identification information included in the key request and the temporary information included in the key request in association with the device identification information, Determining means for determining whether each of the temporary information relates to encryption performed on the encrypted piece;
Using the temporary information for which the determination result of the determination means is positive, and the secret information stored in association with the device identification information included in the key request in association with the temporary information The key server according to claim 17, further comprising generation means for generating each of the decryption keys.
前記判定手段は、前記鍵要求に含まれる各前記装置識別情報と1つの前記装置識別情報に対応付けられている前記秘密鍵情報とを用いて一方向性関数、共通鍵暗号、あるいは擬似乱数生成器により得られる値と、当該装置識別情報に対応付けられて前記鍵要求に含まれる前記一時情報とが一致するか否かにより、当該一時情報が、前記暗号化ピースについて行われた暗号化に関るものか否かを判定する
ことを特徴とする請求項18に記載の鍵サーバ。
The determination means uses each device identification information included in the key request and the secret key information associated with one device identification information to generate a one-way function, common key encryption, or pseudo-random number generation. Depending on whether the value obtained by the device matches the temporary information associated with the device identification information and included in the key request, the temporary information is encrypted by the encryption performed on the encrypted piece. 19. The key server according to claim 18, wherein it is determined whether or not it is involved.
前記生成手段は、前記判定手段の判定結果が肯定的となる前記一時情報と、前記秘密鍵情報とを用いて一方向性関数、共通鍵暗号、あるいは擬似乱数生成器により生成された一時対称鍵を、当該一方向性関数、共通鍵暗号、あるいは擬似乱数生成器を用いて復元することにより、当該一時対称鍵である前記復号鍵を生成する
ことを特徴とする請求項17乃至19のいずれか一項に記載の鍵サーバ。
The generation means uses a temporary symmetric key generated by a one-way function, a common key encryption, or a pseudo-random number generator using the temporary information for which the determination result of the determination means is positive and the secret key information. The decryption key, which is the temporary symmetric key, is generated by restoring the symmetric key using the one-way function, the common key cryptography, or the pseudo-random number generator. The key server according to one item.
配信データの一部であるピースの配信を仲介する通信装置から送信されるデータであって、
前記ピースの配信を仲介した複数の通信装置のそれぞれに対応して生成されたその生成毎に異なり得る一時情報と、前記複数の通信装置のそれぞれに割当られた装置識別情報と、全部又は一部の前記一時情報を用いて各々生成された一時対称鍵を用いて暗号化されたピースである暗号化ピースとを対応付けて含む
ことを特徴とするデータ。
Data transmitted from a communication device that mediates distribution of pieces that are part of distribution data,
Temporary information that is generated corresponding to each of the plurality of communication devices that mediate the distribution of the pieces, and that may be different for each generation, device identification information that is assigned to each of the plurality of communication devices, and all or part thereof Data that includes an encrypted piece that is an encrypted piece that is encrypted using a temporary symmetric key that is generated using the temporary information.
配信データの一部であるピースであり暗号化されたピースの配信を仲介する複数の通信装置のそれぞれに対応してその生成毎に異なり得る一時情報が生成され、全部又は一部の前記一時情報を用いて生成された各一時対称鍵を用いて各々暗号化されたピースである暗号化ピースを復号するための復号鍵を要求する鍵要求と共に通信装置から鍵サーバへ送信されるデータであって、
前記複数の通信装置のそれぞれに割り当てられた装置識別情報と、前記複数の通信装置のそれぞれに対応して生成された前記一時情報とを対応付けて含む
ことを特徴とするデータ。
Temporary information that can be different for each generation is generated corresponding to each of a plurality of communication devices that mediate the distribution of an encrypted piece that is a piece that is part of the distribution data, and all or part of the temporary information Data transmitted from the communication device to the key server together with a key request for requesting a decryption key for decrypting an encrypted piece, each encrypted piece using each temporary symmetric key generated using ,
Data including device identification information assigned to each of the plurality of communication devices and the temporary information generated corresponding to each of the plurality of communication devices in association with each other.
JP2008162272A 2008-06-20 2008-06-20 Communication apparatus, key server and data Pending JP2010004390A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008162272A JP2010004390A (en) 2008-06-20 2008-06-20 Communication apparatus, key server and data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008162272A JP2010004390A (en) 2008-06-20 2008-06-20 Communication apparatus, key server and data

Publications (1)

Publication Number Publication Date
JP2010004390A true JP2010004390A (en) 2010-01-07

Family

ID=41585694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008162272A Pending JP2010004390A (en) 2008-06-20 2008-06-20 Communication apparatus, key server and data

Country Status (1)

Country Link
JP (1) JP2010004390A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017507518A (en) * 2013-12-19 2017-03-16 ビザ インターナショナル サービス アソシエーション Cloud-based transaction method and system
US10477393B2 (en) 2014-08-22 2019-11-12 Visa International Service Association Embedding cloud-based functionalities in a communication device
US10846694B2 (en) 2014-05-21 2020-11-24 Visa International Service Association Offline authentication
US11017386B2 (en) 2013-12-19 2021-05-25 Visa International Service Association Cloud-based transactions with magnetic secure transmission
US11080693B2 (en) 2011-04-05 2021-08-03 Visa Europe Limited Payment system
US11238140B2 (en) 2016-07-11 2022-02-01 Visa International Service Association Encryption key exchange process using access device

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11080693B2 (en) 2011-04-05 2021-08-03 Visa Europe Limited Payment system
US11694199B2 (en) 2011-04-05 2023-07-04 Visa Europe Limited Payment system
KR20210107894A (en) * 2013-12-19 2021-09-01 비자 인터네셔널 서비스 어소시에이션 Cloud-based transactions methods and systems
US10402814B2 (en) 2013-12-19 2019-09-03 Visa International Service Association Cloud-based transactions methods and systems
US11875344B2 (en) 2013-12-19 2024-01-16 Visa International Service Association Cloud-based transactions with magnetic secure transmission
US11017386B2 (en) 2013-12-19 2021-05-25 Visa International Service Association Cloud-based transactions with magnetic secure transmission
US10664824B2 (en) 2013-12-19 2020-05-26 Visa International Service Association Cloud-based transactions methods and systems
KR102408299B1 (en) 2013-12-19 2022-06-13 비자 인터네셔널 서비스 어소시에이션 Cloud-based transactions methods and systems
JP2017507518A (en) * 2013-12-19 2017-03-16 ビザ インターナショナル サービス アソシエーション Cloud-based transaction method and system
US11164176B2 (en) 2013-12-19 2021-11-02 Visa International Service Association Limited-use keys and cryptograms
US11842350B2 (en) 2014-05-21 2023-12-12 Visa International Service Association Offline authentication
US10846694B2 (en) 2014-05-21 2020-11-24 Visa International Service Association Offline authentication
US10477393B2 (en) 2014-08-22 2019-11-12 Visa International Service Association Embedding cloud-based functionalities in a communication device
US11036873B2 (en) 2014-08-22 2021-06-15 Visa International Service Association Embedding cloud-based functionalities in a communication device
US11783061B2 (en) 2014-08-22 2023-10-10 Visa International Service Association Embedding cloud-based functionalities in a communication device
US11238140B2 (en) 2016-07-11 2022-02-01 Visa International Service Association Encryption key exchange process using access device
US11714885B2 (en) 2016-07-11 2023-08-01 Visa International Service Association Encryption key exchange process using access device

Similar Documents

Publication Publication Date Title
JP5395372B2 (en) Communication device, key server and data
US11451386B2 (en) Method and system for many-to-many symmetric cryptography and a network employing the same
JP4714482B2 (en) Cryptographic communication system and method
JP4596256B2 (en) Transmission / reception system and method, transmission device and method, reception device and method, and program
JP5377540B2 (en) Key management system
US8396218B2 (en) Cryptographic module distribution system, apparatus, and program
CN107005413A (en) Secure connection and the efficient startup of related service
CN104935626A (en) System and method for efficient and secure distribution of digital content
JP6072806B2 (en) Group secret management by group members
US20180351737A1 (en) Communication apparatus, communication system, key sharing method, and computer program product
JP2010004390A (en) Communication apparatus, key server and data
JP4344783B2 (en) Seed delivery type one-time ID authentication
WO2010067660A1 (en) Communication apparatus, communication method and program
JP6930053B2 (en) Data encryption method and system using device authentication key
JP6468567B2 (en) Key exchange method, key exchange system
JP6368047B2 (en) Key exchange method, key exchange system, key distribution device, representative communication device, general communication device, and program
JP2010124071A (en) Communication device, communication method, and program
JP2009272927A (en) Communication apparatus, server, and program
JP6054224B2 (en) COMMUNICATION DEVICE, COMMUNICATION SYSTEM, COMMUNICATION METHOD, AND PROGRAM
US20140181508A1 (en) Communication device and computer program product
JP2007041756A (en) Information processor and method, program, and security chip
WO2010067797A1 (en) Communication apparatus, server apparatus and communication program
WO2010067650A1 (en) Communication device, server, communication method, program
JP5586758B1 (en) Dynamic encryption key generation system
JP2008203581A (en) Network system