This application is based upon and claims the benefit of priority from prior Japanese Patent Application No. 2007-150915, filed Jun. 6, 2007, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a content distribution/browsing system, a content distribution apparatus, a content browsing apparatus and a program enabling the contents to be browsed in the order intended by, for example, a content producer or a content browser.
2. Description of the Related Art
In the conventional field of content distribution, a superdistribution system is known as a method of prohibiting the browsing of a content item by other than the users who have purchased the content.
Various methods for the superdistribution system have been proposed. Basically, in each method for the superdistribution system, an encrypted content is distributed freely on the one hand and only the users who have purchased the encryption key of the encrypted content can browse the encrypted content on the other hand.
The persons who can browse the content are limited, for example, by encrypting the encryption key of the content with a public key or by encrypting the content with a symmetric key shared by the users. A method is also available in which the symmetric key is shared by a secret sharing scheme (for example, see Jpn. Pat. Appln. KOKAI Publication No. 2004-32307). The secret sharing scheme is described, for example, in A. Shamir: “How to share a secret”, Communications of the ACM, 22, 11, pp. 612-613 (1979).
The content distribution methods described above normally pose no problem. The study by the present inventor, however, shows that it is difficult to browse the content in the order intended by the content producer or content distributor. According to the intended order, the encryption keys for the content items of, for example, a plurality of stories including the first, middle and the last parts of a serial drama are distributed one by one from the first story.
Also, in browsing a plurality of content items, it is difficult to browse only a specified content item. In the case where an encryption key for a given number of content items are acquired, for example, it is difficult to permit a specified content item such as “a making video” to be browsed as a privilege.
An object of the present invention is to provide a content distribution/browsing system, apparatus and program capable of realizing the browsing of content items in the order intended by the content producer or the content browser.
According to a first aspect of the present invention, there is provided a content distribution apparatus communicable with a content browsing apparatus, comprising: a key generating device configured to generate a first encryption key K1 and second to m-th sharing keys K2,1, K2,2, . . . , Km,1, Km,2 in sets of two by generating a random number for first to m-th content items C1, . . . , Cm; an encryption key storage device which stores the first encryption key K1; an encryption key calculation device configured to calculate second to m-th encryption keys K2, . . . , Km based on the sharing keys in the same set of the sharing keys K2,1, K2,2, . . . , Km,1, Km,2; a concatenation device configured to concatenate the first to (m−1)th content items C1, . . . , Cm−1 with the sharing keys K2,1, . . . , Km,1 each constituting one component of each set of the second to m-th sharing keys thereby to produce first to (m−1)th concatenated data C1∥K2,1, . . . , Cm−1∥Km,1; a sharing key storage device which stores the sharing keys K2,2, . . . , Km,2 each constituting the other component of each set of the second to m-th sharing keys; an encryption device configured to encrypt the first to (m−1)th concatenated data C1∥K2,1, . . . , Cm−1∥Km,1 based on the first to (m−1)th encryption keys K1, . . . , Km−1, respectively, thereby to produce the first to (m−1)th encrypted content items E(K1, C1∥K2,1), E(Km−1, Cm−1∥Km,1), while at the same time encrypting the m-th content item Cm based on the m-th encryption key Km thereby to produce the m-th encrypted content item E(Km, Cm); an output device configured to output said each encrypted content item E(K1, C1∥K2,1), E(Km−1, Cm−1∥Km,1), E(Km, Cm); an encryption key distribution device configured to distribute the encryption key in the encryption key storage device to the content browsing apparatus based on an encryption key request received from the content browsing apparatus; and a sharing key distribution device configured to distribute the sharing keys in the corresponding order in the sharing key storage device to the content browsing apparatus based on any of the second to m-th sharing key requests received from the content browsing apparatus.
Further, according to a second aspect of the present invention, there is provided content distribution apparatus communicable with a content browsing apparatus, comprising: an encryption key generating device configured to generate first to m-th encryption keys K1, . . . , Km and an encryption key Kp other than the encryption keys K1, . . . , Km for first to m-th content items C1, . . . , Cm and a content item Cp other than the first to m-th content items C1, . . . , Cm, respectively; a first sharing key generating device configured to generate first to m-th sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n in sets of n sharing keys by a (2, n)-threshold secret sharing scheme for the first to m-th encryption keys K1, Km; a second sharing key generating device configured to generate n sharing keys Kp,1, Kp,2, . . . , Kp,k, Kp,n by the (k, n)-threshold secret sharing scheme for the another encryption key Kp; an encryption device configured to encrypt the first to m-th content items C1, . . . , Cm and the another content item Cp based on the encryption keys K1, . . . , Km and the another encryption key Kp, respectively, thereby to produce first to m-th encrypted content items E(K1, C1), . . . , E(Km, Cm) and another encrypted content item E(Kp, Cp); a concatenation device configured to concatenate each of the sharing keys K1,1, . . . , Km,1 constituting one component of the first to m-th sharing keys, one sharing key Kp,1 of the n sharing keys Kp,1, . . . , Kp,n and all the encrypted content items E(K1, C1), . . . , E(Km, Cm), (Kp, Cp) with each other thereby to produce concatenated data K1,1∥ . . . ∥Km,1∥Kp,1∥E(K1, C1)∥ . . . ∥E(Km, Cm); a distribution sharing key generating device configured to individually concatenate the (n−1) sharing keys Kp,2, . . . , Kp,n other than the sharing key Kp,1 in the concatenated data included in the n sharing keys Kp,1, . . . , Kp,n for the sharing keys K1,2, . . . , Km,2 constituting the other component of the first to m-th sharing keys, respectively, thereby to generate the first sharing key K1,2, Kp,2 to the m-th sharing key Km,2, Kp,n for distribution; a sharing key storage device which stores the first sharing key K1,2, Kp,2 to the m-th sharing key Km,2, Kp,n; an output device configured to output the concatenated data K1,1∥ . . . ∥Km,1∥Kp,1∥E(K1, C1)∥ . . . ∥E(Km, Cm); and a sharing key distribution device configured to distribute the sharing key of the corresponding order in the sharing key storage device to the content browsing apparatus based on any of the first to m-th sharing key requests received from the content browsing apparatus.
In the first aspect, the first to (m−1)th encrypted content items E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1) contain the second to m-th (next in order) sharing keys K2,1, . . . , Km−1, respectively. In the case where the browsing of the (i+1)th content item Ci+1 is desired, for example, the (i+1)th sharing key Ki+1,1 can be obtained by browsing the immediately preceding i-th content item Ci. As a result, the content items can be browsed in the order intended by the content producer or the content browser.
In the second aspect, the first to m-th sharing keys K1,2, Kp,2, . . . , Km,2, Kp,n for distribution contain the sharing keys Kp,2 . . . , Kp,n of different content items, respectively. In the case where the key information for a predetermined number of content items is acquired from among the first to m-th sharing keys, a different specified content item can also be browsed.
Each embodiment of the invention will be explained below with reference to the drawings. Each device described below can be implemented either in hardware configuration or in any combination of hardware resources and software. The combined software configuration, as shown in
The expressions used in each embodiment described below are shown in the table below.
The content distribution/browsing system includes a distribution server unit 10 and a user device 30 communicable with each other through a network NW. In
The distribution server unit 10 is a server-type multi-purpose computer having an operating system (OS) such as Windows™ or UNIX™ server working therein.
Specifically, the distribution server unit 10, as shown in
The key generating unit 11 has the following functions (f11-1) to (f11-4):
(f11-1) The function of generating the first encryption key K1 and the second to m-th sharing keys K2,1, K2,2, . . . , Km,1, Km,2 in pairs for the first to m-th content items C1, . . . , Cm, respectively, by random number generation.
(f11-2) The function of sending out the first encryption key K1 to the encryption unit 14 and writing the first encryption key K1 in the encryption key storage unit 11.
(f11-3) The function of sending out the second to m-th sharing keys K2,1, K2,2, . . . , Km,1, Km,2 to the encryption key calculation unit 13.
(f11-4) The function of writing one sharing key K2,2, . . . , Km,2 in each of the second to m-th sharing key pairs in the sharing key storage unit 15.
The encryption key storage unit 12, writable by the key generating unit 11 and readable by the encryption key distribution unit 19, is for storing the first encryption key K1.
The encryption key calculation unit 13 has the following functions (f13-1) and (f13-2):
(f13-1) The function of calculating the second to m-th encryption keys K2, . . . , Km based on the sharing keys in the same pairs K2,1, K2,2, . . . , Km,1, Km,2, respectively, generated by the key generating unit 11.
(f13-2) The function of sending out the obtained encryption keys K2, . . . , Km to the encryption unit 14.
The encryption key calculation unit 13 calculates the second to m-th encryption keys K2, . . . , Km by the exclusive-OR operation of the sharing keys in the same one of the sharing key pairs K2,1, K2,2, . . . , Km,1, Km,2. Specifically, K2=K2,1(+) K2,2, K3=K3,1(+) K3,2, . . . , Km=Km,1(+) Km,2, where (+) indicates the exclusive-OR operation. Thus, according to this embodiment, the encryption key Ki (0<i) is generated by a method in which two random numbers having the same bit length as the encryption key Ki are generated as a sharing key pair Ki,1, Ki,2, and by the exclusive-OR operation of these two sharing keys, the encryption key Ki is generated as Ki,1(+) Ki,2=K2.
According to each of the other embodiments, one encryption key may be obtained from each sharing key pair. As an alternative, an encryption key may be generated in advance, for example, and secretly distributed into n sharing key pairs by the (2, n)-threshold secret sharing scheme. The method using this secret sharing scheme will be explained later with reference to the second embodiment.
The encryption unit 14 has the following functions (f14-1) to (f14-4):
(f14-1) The function of concatenating each of the first to (m−1)th content items C1, . . . , Cm−1 with the first one of the sharing keys K2,1, . . . , Km,1 of the second to m-th sharing key pairs, respectively, thereby to produce the first to (m−1)th concatenated data C1∥K2,1, . . . , Cm−1∥Km,1.
(f14-2) The function of encrypting the first to (m−1)th concatenated data C1∥K2,1, . . . , Cm−1∥Km,1 based on the first to (m−1)th encryption keys K1, . . . , Km−1, respectively, thereby to obtain the first to (m−1)th encrypted content items E(K1, C1∥K2,1), E(Km−1, Cm−1∥Km,1).
(f14-3) The function of encrypting the m-th content item Cm based on the m-th encryption key Km thereby to obtain the m-th encrypted content item E(Km, Cm).
(f14-4) The function of sending out the encrypted content items E(K1, C1∥K2,1), E(Km−1, Cm−1∥Km,1), E(Km, Cm) thus obtained to the package generating unit 16.
Incidentally, the content items are encrypted using the common key password such as Advanced Encryption Standard (AES). Also, the symbol “∥” indicates the concatenation. Further, the content items C1, . . . , Cm may be read from either an external storage medium (not shown) or a storage unit (not shown) in the distribution server unit 10.
The sharing key storage unit 15, writable by the key generating unit 11 and readable by the sharing key distribution unit 20, is for storing the second sharing keys K2,2, . . . , Km,2 of the second to m-th sharing key pairs.
The package generating unit 16 has the following functions (f16-1) and (f16-2):
(f16-1) The function of generating m package data based on the m encrypted content items E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm) received from the encryption unit 14.
(f16-2) The function of outputting each package data to the medium Md or the communication unit 17.
Each package data, as shown in
The communication unit 17 has the function as a communication interface between the distribution server unit 30 and the network NW.
The key request receiving unit 18 has the following functions (f18-1) to (f18-3):
(f18-1) The function of judging whether a key request received from the user device 30 through the communication unit 17 is a sharing key request or not based on the content ID and the key type information contained in the key request. The key type information indicates whether a given key is an encryption key or a sharing key.
(f18-2) The function of inputting the key request to the sharing key distribution unit 20 in the case where the judgment shows a sharing key request, and inputting the key request to the encryption key distribution unit 19 otherwise.
(f18-3) The function of executing the settlement process in accordance with the key request.
In the settlement process, the settlement price for the key request constituting an encryption key request is assumed to be different from the settlement price for the key request constituting a sharing key request. Also, the settlement process is assumed to be executed according to the credit card number of the user registered in advance.
The encryption key distribution unit 19 has the function of distributing the encryption key K1 in the encryption key storage unit 12, together with the header information, to the user device 30 as key distribution data, as shown in
The sharing key distribution unit 20 has the function of distributing the sharing keys in the corresponding order in the sharing key storage unit 15, together with the header information, as key distribution data to the user device 30, as shown in
The user device 30 is a multi-purpose computer such as a personal computer (hereinafter referred to as PC). Specifically, the user device 30 includes a content requesting/receiving unit 31, a communication unit 32, an encrypted content storage unit 33, a content management unit 34, a key requesting/receiving unit 35, a key storage unit 36, an encrypted content decryption unit 37, a content browsing unit 38 and a sharing key restoration unit 39. Incidentally, the key storage unit 36, the encrypted content decryption unit 37 and the sharing key restoration unit 39 are preferably mounted as a tamperproof area 40.
The content requesting/receiving unit 31 has the following functions (f31-1) and (f31-2):
(f31-1) The function of requesting the package data from the distribution server unit 10 through the communication unit 32 by the user operation.
(f31-2) The function of writing, in the encrypted content storage unit 33, the package data received from the distribution server unit 10 through the communication unit 32.
The content requesting/receiving unit 31 may download the encrypted content from the distribution server unit 10 through the network, or read the encrypted content from a medium Md such as CD-ROM or DVD-ROM. The medium Md may be acquired by the user as a privilege such as a supplement of a magazine.
In the case where the encrypted content is acquired from the medium Md, the content requesting/receiving unit 31 such as CD drive or DVD drive stores the data read from the medium Md in the encrypted content storage unit 33 making up a storage medium such as a hard disk.
The communication unit 32 has the function as an communication interface between the user device 30 and the network NW.
The encrypted content storage unit 33, writable by the content requesting/receiving unit 31 and readable by the content management unit 34 and the encrypted content decryption unit 37, is thus adapted to store the package data containing the first and second to m-th encrypted content items E(K1, C1∥K2,1), E(K2, C2∥K3,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm) individually.
The content management unit 34 has the function of managing the encrypted content items and the browsable content items by accessing the encrypted content storage unit 33 and the key storage unit 36.
The key requesting/receiving unit 35 has the following functions (f35-1) to (f35-3):
(f35-1) The function of transmitting an encryption key request to the distribution server unit 10 through the communication unit 32 and receiving the first encryption key K1 from the distribution server unit 10 by user operation.
(f35-2) The function of transmitting the request for the (i+1)th sharing key to the distribution server unit 10 by user operation and receiving the sharing key Ki+1,2 from the distribution server unit 10 in the case where the i-th content item Ci browsed is not the m-th content item Cm.
(f35-3) The function of writing the received encryption key K1 or the sharing key Ki+1,2 into the key storage unit 36.
The key storage unit 36, writable by the key requesting/receiving unit 35, the encrypted content decryption unit 37 and the sharing key restoration unit 39 and readable by the content management unit 34, the encrypted content decryption unit 37 and the sharing key restoration unit 39, is for storing the encryption keys K1 to Km and the sharing key pairs K2,1, K2,2, . . . , Ki,1, Ki,2, K+1,1, Ki+1,2, . . . , Km,1, Km,2.
The encrypted content decryption unit 37 has the following functions (f37-1) and (f37-2):
(f37-1) The function of decrypting the corresponding i-th encrypted content item E(K1, C1∥Ki+1,1) or E(Km, Cm) in the encrypted content storage unit 33 based on the encryption key Ki input from the sharing key restoration unit 39 (i=1, 2, . . . i, i+1, . . . , or m).
(f37-2) The function of sending out the obtained content item Ci or Cm to the content browsing unit 38.
The content browsing unit 38 has the reproducing function to browse the content item Ci or Cm received from the encrypted content decryption unit 37.
The sharing key restoration unit 39 has the function of restoring the (i+1)th encryption key Ki+1 based on the sharing key Ki+1,2 in the key storage unit 36 and the (i+1)th sharing key Ki+1,1 obtained from the encrypted content decryption unit 37, and inputting the obtained encryption key Ki+1 to the encrypted content decryption unit 37.
Next, the operation of the content distribution/browsing system having the aforementioned configuration will be explained with reference to the sequence diagram of
In the user device 30, the content requesting/receiving unit 31 sends, by user operation, a first content request to the distribution server unit 10 for requesting the package data including the encrypted content of the first story (ST1).
In the distribution server unit 10, the package generating unit 16, based on the first content request, transmits the package data including the encrypted content item E(K1, C1∥K2,1) of the first story from the communication unit 17 to the user device 30 (ST2).
In the user device 30, the content requesting/receiving unit 31, upon receipt of the package data including the encrypted content item E(K1, C1∥K2,1) of the first story, writes the particular package data in the encrypted content storage unit 33.
Also, in the user device 30, the key requesting/receiving unit 35 transmits, by user operation, an ID encryption key request including the content ID and the key type information for requesting the encryption key K1 corresponding to the encrypted content of the first story, to the distribution server unit 10 (ST3).
In the distribution server unit 10, the key request receiving unit 18 judges whether the received encryption key request is a sharing key request or not, and, the judgment being negative, inputs the particular encryption key request to the encryption key distribution unit 19. The encryption key distribution unit 19, based on the encryption key request, distributes the encryption key K1 in the encryption key storage unit 12, together with the header information, to the user device 30 as key distribution data.
In the user device 30, upon receipt of the encryption key K1 (ST4), the key requesting/receiving unit 35 writes the encryption key K1 in the key storage unit 36. Also, the encrypted content decryption unit 37 decrypts the encrypted content item E(K1, C1∥K2,1) of the first story in the encrypted content storage unit 33 based on the encryption key K1 in the key storage unit 36 thereby to acquire the content item C1 of the first story and the sharing key K2,1 of the second story (ST5). The encrypted content decryption unit 37 sends out this content item C1 to the content browsing unit 38 while at the same time writing the sharing key K2,1 of the second story in the key storage unit 36.
As a result, the content browsing unit 38 of the user device 30 reproduces and browses the content item C1 of the first story.
Next, in the case where the browsing of the content item C2 of the second story is desired, the content requesting/receiving unit 31 sends the second content request of the encrypted content of the second story to the distribution server unit 10 in the same manner as described above (ST6), and by receiving the encrypted content item E(K2, C2∥K3,1) of the second story from the distribution server unit 10 (ST7), writes it in the encrypted content storage unit 33.
The key requesting/receiving unit 35 of the user device 30 then sends a sharing key request for the remaining sharing key K2,2 of the second story to the distribution server unit 10 by user operation (ST8), and by receiving the sharing key K2,2 from the distribution server unit 10 (ST9), writes it in the key storage unit 36.
The sharing key restoration unit 39 of the user device 30 restores the encryption key K2 of the second story by the exclusive-OR operation between the sharing key K2,2 and the sharing key K2,1 of the second story obtained at the time of decoding the first story, and sends the encryption key K2 to the encrypted content decryption unit 37.
After that, the encrypted content decryption unit 37 of the user device 30, based on the encryption key K2 of the second story, decrypts the encrypted content item E(K2, C2∥K3,1) of the second story thereby to acquire the content item C2 of the second story and the sharing key K3,1 of the third story (ST10).
In this way, the user device 30 reproduces and browses the content item C2 of the second story.
In similar fashion, the user device 30 executes the process similar to steps ST6 to ST10 at the time of browsing the content items C3, . . . , Cm−1 of the third to (m−1)th stories and thus reproduces and browses the content items C3 to Cm−1.
Finally, whenever it is desired to browse the content item Cm of the m-th story, the m-th content request for the encrypted content of the m-th story is transmitted to the distribution server unit 10 (ST11) and the encrypted content item E(Km, Cm) of the m-th story is received from the distribution server unit 10 (ST12).
The user device 30 then transmits the sharing key request for the remaining sharing key Km,2 of the m-th story to the distribution server unit 10 (ST13) and receives the sharing key Km,2 (ST14). The user device 30 restores the encryption key Km of the m-th story by the exclusive-OR operation between the sharing key Km,2 and the sharing key Km,1 of the m-th story acquired at the time of restoring the (m−1)th story. After that, the user device 30, based on the encryption key Km of the m-th story, decrypts the encrypted content item E(Km, Cm) of the m-th story and thus acquires the content item Cm of the m-th story (ST15). In this way, the user device 30 reproduces and browses the content item Cm of the m-th story.
As described above, the user device 30 cannot acquire the first one sharing key of the sharing key pair for the next decryption without browsing the serial content items such as a drama in correct order. Incidentally, in order to skip the order, the encryption key must be requested to decrypt the encrypted content.
Assume, for example, that the user device 30 has not browsed at least the immediately preceding content item Cm−1 when the user desires to browse the content item Cm of the m-th story. The user device 30 has not acquired the sharing key Km,1 included in the immediately preceding encrypted content item E(Km−1, Cm−1∥Km,1). Even in the case where the second sharing key Km,2 is acquired by the sharing key request, therefore, the encryption key Km cannot be restored. Thus, the encrypted content item E(Km, Cm) cannot be decrypted. For this reason, the encryption key Km is required to be requested directly.
In the case where the skipping of the order is desired as described above, the distribution server unit 10, as shown in
Specifically, the distribution server unit 10, upon receipt of the key request from the user device 30 (ST14-1), judges whether the particular key request is a sharing key request or not based on the content ID and the key type information included in the key request (ST14-2), and in the case where the judgment shows that it is the sharing key request, inputs the particular key request to the sharing key distribution unit 20 (ST14-3). In the case where the key request is not the sharing key request, on the other hand, the key request is input to the encryption key distribution unit 19 (ST14-4). After that, the distribution server unit 10 executes the settlement process in response to the key request.
The user device 30 thus transmits the sharing key request when browsing in right order, and transmits the encryption key request when desirous of browsing by skipping the order. In this way, the user device 30, while browsing in order normally, can browse by skipping the order when desired.
As described above, according to this embodiment, the first to (m−1)th encrypted content items E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1) include the second to m-th (next in order) sharing keys K2,1, . . . , Km,1, respectively. In the case where it is desired to browse the (i+1)th content item Ci+1, therefore, the (i+1)th sharing key Ki+1,1 can be obtained by browsing the immediately preceding i-th content item Ci. Thus, the content items can be browsed in the order intended by the content producer or the content browser.
Also, the user device 30 transmits a sharing key request when browsing in regular order, while in the case where the browsing by skipping the order is desired, transmits an encryption key request. In this way, the orderly browsing is carried out normally, while the order can be skipped as desired.
Incidentally, the distribution server unit 10, having such a configuration as to judge whether the key request received from the user device 30 is an encryption key request or a sharing key request, can distinguish both the key to be distributed and the settlement process, thereby eliminating the need of managing the information such as the content items already browsed by the user. Also, the settlement price can be reduced for the sharing key request for orderly browsing, and increased for the encryption key request for browsing by skipping.
Specifically, according to this embodiment, unlike in the first embodiment in which the encrypted content items in each order are individually acquired, all the encrypted content items are collectively acquired as shown in
The distribution server unit 10 includes a key generating unit 11a, an encryption key sharing unit 11b, an encryption key storage unit 12′, an encryption unit 14′, a sharing key storage unit 15, a package generating unit 16′, a communication unit 17, a key request receiving unit 18, an encryption key distribution unit 19 and a sharing key distribution unit 20.
The key generating unit 11a has the following functions (f11a-1) to (f11a-3), where m=3:
(f11a-1) The function of generating the first to m-th encryption keys K1 to Km for the first to m-th content items C1 to Cm, respectively.
(f11a-2) The function of writing the encryption keys K1 to Km in the encryption key storage unit 12′.
(f11a-3) The function of sending out the encryption keys K1 to Km to the encryption key sharing unit 11b.
The encryption key sharing unit 11b has the following functions (f11b-1) and (f11b-2), where m=3, and n=3:
(f11b-1) The function of generating the first to m-th sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n as sets of n sharing keys according to the (2, n)-threshold secret sharing scheme for the first to m-th encryption keys K1, . . . , Km, respectively.
(f11b-2) The function of writing the sharing keys K1,1, K1,2, K1,n, . . . , Km,1, Km,2, . . . , Km,n in the sharing key storage unit 15.
The (2, n)-threshold secret sharing scheme is a version of the (k, n)-threshold secret sharing scheme in which the threshold value k is set to 2. According to the (k, n)-threshold secret sharing scheme, the original information before distribution can be acquired by collecting k out of n distributed information. According to this embodiment, the secret sharing scheme employed has not necessarily the relation k<n, but the scheme called “all or nothing transform” having the relation k=n may be employed. Thus, the algorithm of the secret sharing scheme is not specifically limited.
[Secret Sharing of Encryption Key Ki]
In preparation, the threshold value k is set to 2 and the sharing number n to 3.
Assume that the secret encryption key is Ki, and using the Shamir's secret sharing scheme, the primary polynomial f(x)=ax+Ki (mod p) as shown below is generated, where (mod p) is the remainder after division by p and larger than the encryption key Ki and a coefficient a.
f(1)=a+Ki(mod p)
f(2)=2a+Ki(mod p)
f(3)=3a+Ki(mod p)
In the encryption key sharing unit 11b, f(1), f(2), f(3) are determined as sharing keys Ki,1, Ki,2 and Ki,3, respectively, and written in the sharing key storage unit 11b.
In the case where this secret sharing scheme is used, the original encryption key Ki can be restored by acquiring the sharing keys Ki,1 and Ki,2 constituting two threshold values among the three distributed sharing keys. The encryption key Ki is restored by the sharing key restoration unit 39′ of the user device 30 as described below.
[Restoration of Encryption Key Ki]
As a specific example, an explanation will be given with reference to the algorithm of Shamir's (k, n)-threshold secret sharing scheme described above. In the user device 30, the sharing restoration unit 39′ reads, from the key storage unit 36, the sharing key Ki,2 received from the distribution server unit 10 and another sharing key Ki,1 distributed at the time of the previous browsing session. The sharing key restoration unit 39′ determines the encryption key Ki using the algorithm of the secret sharing scheme from the equations below.
K
i,1
=f(1)=a+Ki(mod p)
K
i,2
=f(2)=2a+Ki(mod p)
In this case, the encryption key Ki is determined by solving these two simultaneous equations. The algorithm of the secret sharing scheme is used as described above.
The encryption key storage unit 12′, writable by the key generating unit 11a and readable by the encryption key distribution unit 19, is for storing the encryption keys K1 to Km.
The encryption unit 14′ has the following functions (f14′-1) and (f14′-2):
(f14′-1) The function of encrypting the first to m-th content items C1 to Cm based on the encryption keys K1 to Km, respectively, thereby to produce the first to m-th encrypted content items E(K1, C1), . . . , E(Km, Cm).
(f14′-2) The function of sending out the encrypted content items thus obtained to the package generating unit 16′.
The sharing key storage unit 15, writable by the encryption key sharing unit lib and readable by the sharing key distribution unit 20, is for storing the sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n.
The package generating unit 16′ has the following functions (f16′-1) to (f16′-3):
(f16′-1) The function of concatenating one sharing key K1,1 of the first sharing key pair in the sharing key storage unit 15 with the encrypted content items E(K1, C1), . . . , E(Km, Cm) received from the encryption unit 14′ and thereby obtaining the concatenated data K1,1∥E(K1, C1)∥ . . . ∥E(Km, Cm).
(f16′-2) The function of generating the package data based on the concatenated data.
(f16′-3) The function of outputting the package data to the medium Md or the communication unit 17.
The package data, as shown in the example of
Accordingly, the content ID of the header information includes three content IDs, i.e., ID1, ID2, ID3. The sharing key ID required for browsing the three content items include KdID1, KdID2, KdID3 as the sharing key ID indicating the first sharing key Kd1, the second sharing key Kd2 and the third sharing key Kd3 as shown in
Now, an explanation will be given about the initial sharing key Kd0, and the first to third sharing keys Kd1, Kd2, Kd3. According to this embodiment, the sharing keys K1,1, K1,2; K2,1, K2,2; K3,1, K3,2 having two threshold values are used for distribution, among the sharing keys K1,1, K1,2, K1,3, the sharing keys K2,1, K2,2, K2,3 and the sharing keys K3,1, K3,2, K3,3, respectively, in the sharing key storage unit 15.
The first sharing key K1,1 of the sharing key pair is used as the initial sharing key Kd0 for distribution (Kd0=K1,1). Also, the concatenated data of the first sharing key K1,2 requested and one sharing key K2,1 of the next sharing key pair is used as the first sharing key Kd1 for distribution (Kd1=K1,2∥K2,1). Similarly, the concatenated data of one sharing key K2,2 of the second sharing key pair requested and one sharing key K3,1 of the third sharing key pair is used as the second sharing key Kd2 for distribution (Kd2=K2,2∥K3,1). Thus, the remaining third sharing key K3,2 is used as the third sharing key Kd3 for distribution (Kd3=K3,2).
The encrypted content data of the package data are configured of E(K1, C1) with the content item C1 encrypted by the encryption key K1, E(K2, C2) with the content item C2 encrypted by the encryption key K2 and E(K3, C3) with the content item C3 encrypted by the encryption key K3.
The communication unit 17 and the key request receiving unit 18 are similar to those described above, respectively.
The encryption key distribution unit 19 has the function of distributing the corresponding i-th encryption key Ki in the encryption key storage unit 12, together with the header information, to the user device 30 based on the encryption key request received from the user device 30 through the key request receiving unit 18. The header information contains the content ID and the key ID corresponding to the encryption key Ki thus distributed.
The sharing key distribution unit 20 has the function of distributing the corresponding next sharing key in the sharing key storage unit 15, together with the header information, to the user device 30, as shown in
The user device 30, on the other hand, includes a content requesting/receiving unit 31, a communication unit 32, an encrypted content storage unit 33′, a content management unit 34, a key requesting/receiving unit 35′, a key storage unit 36, an encrypted content decryption unit 37′, a content browsing unit 38 and a sharing key restoration unit 39′. Incidentally, the key storage unit 36, the encrypted content decryption unit 37′ and the sharing key restoration unit 39′ are desirably packaged as a tamperproof area 40.
The content requesting/receiving unit 31, the communication unit 32, the content management unit 34 and the content browsing unit 38 have the function similar to those described above, respectively.
The encrypted content storage unit 33′, writable by the content requesting/receiving unit 31 and readable by the content management unit 34 and the encrypted content decryption unit 37, is for storing the package data containing the concatenated data K1,1∥E(K1, C1)∥ . . . ∥E(K3, C3).
The key requesting/receiving unit 35′ has the following functions (f35′-1) and (f35′-2):
(f35′-1) The function of transmitting the i-th sharing key request or encryption key request to the distribution server unit 10 through the communication unit 32 and receiving the sharing keys Ki,2, Ki+1,1 or the encryption key Ki from the distribution server unit 10 by user operation.
(f35′-2) The function of writing the received sharing keys Ki,2, Ki+1,1 or the encryption key Ki in the key storage unit 36.
The key storage unit 36, writable by the key requesting/receiving unit 35, the encrypted content decryption unit 37 and the sharing key restoration unit 39 and readable by the content management unit 34 and the sharing key restoration unit 39, is for storing the encryption keys K1, K2, K3 and the sharing keys K1,1, K1,2, K2,1, K2,2, K3,1, K3,2.
The encrypted content decryption unit 37′ has the following functions (f37′-1) to (f37′-4):
(f37′-1) The function of reading the i-th encrypted content item E(Ki, Ci) as desired to browse from the encrypted content storage unit 33′.
(f37′-2) The function of reading the sharing key K1,1 from the encrypted content storage unit 33′ and writing it in the key storage unit 36 when i=1.
(f37′-3) The function of decrypting the corresponding i-th encrypted content item E(Ki, Ci) in the encrypted content storage unit 33 based on the encryption key Ki input from the sharing key restoration unit 39.
(f37′-4) The function of sending out the obtained content item Ci to the content browsing unit 38.
The sharing key restoration unit 39′ has the function of restoring the i-th encryption key Ki based on the sharing keys Ki,1, Ki,2 in the key storage unit 36 and inputting the encryption key Ki thus obtained into the encrypted content decryption unit 37.
Next, the operation of the content distribution/browsing system having the aforementioned configuration will be explained with reference to the sequence chart of
In the user device 30, the content requesting/receiving unit 31 acquires the package data including the encrypted content from the distribution server unit 10 through the medium Md or the network NW (ST21), and stores it as an encrypted content item in the encrypted content storage unit 33′.
In the user device 30, in order to browse the encrypted content, the content management unit 34 acquires the sharing key IDKdi required for browsing from the encrypted content in the encrypted content storage unit 33′. In the case where no content has been browsed as yet, only the initial sharing key Kd0 is held, and therefore, the sharing key IDKdi of the first sharing key Kdi is acquired.
After that, the key requesting/receiving unit 35′ of the user device 30 transmits the sharing key request including the sharing key IDKdi for requesting the i-th sharing key Kdi to the distribution server unit 10 (ST22). In the case where it is desired to browse the first content item (i=1), the sharing key request including the sharing key IDKdi for requesting the first sharing key Kdi is transmitted.
In the distribution server unit 10, the key request receiving unit 18 judges whether the key request is a sharing key request based on the sharing key IDKdi (ST22), and since the current judgment indicates a sharing key request, sends out the sharing key request to the sharing key distribution unit 20. The sharing key distribution unit 20, based on this sharing key request, distributes the key distribution data including the i-th sharing key Ki to the user device 30 (ST24).
The user device 30 stores the acquired i-th sharing key Kdi=Ki,2, Ki+1,1 in the key storage unit 36, while the sharing key restoration unit 39′, based on the sharing key Ki,2 and the sharing key Ki,1 previously received, restores the encryption key Ki (ST25) and sends out this encryption key Ki to the encrypted content decryption unit 37′.
Incidentally, in the case where the judgment in step ST23 indicates an encryption key request, the key requesting unit 18 sends out an encryption key request to the encryption key distribution unit 19, which in turn distributes the encryption key Ki to the user device 30 (ST24′). Then, the user device 30 stores the encryption key Ki in the key storage unit 36. In this way, step ST25 is omitted, and the encrypted content decryption unit 37′ reads the encryption key Ki from the key storage unit 36.
The encryption key restoration unit 37′, based on this encryption key Ki, decrypts the encrypted content item E(Ki, Ci) (ST26). The content item Ci thus decrypted is reproduced and browsed by the content browsing unit 38 (ST27). In the case where i=1, for example, the user device 30 stores the acquired first sharing key Kd1=K1,2, K2,1 in the key storage unit 36, and based on this sharing key K1,2 and the sharing key K1,1 previously received, restores the encryption key K1. Using this encryption key K1, the encrypted content item E(K1, C1) is decrypted and the resulting content item C1 is reproduced and browsed.
Also, the user, who can acquire the sharing key K2,1 of the next encryption key K2 upon acquisition of the first sharing key Kd1, returns to step ST22 and acquires by requesting the second sharing key Kd2 including the sharing key K2,2 of the encryption key K2 if desirous of browsing the content item C2 (i=2).
Once the second sharing key Kd2 is acquired, the sharing keys K2,1, K2,2 of the encryption key K2 can be acquired, and therefore, the encryption key K2 can be restored by the sharing key restoration unit 39′. Thus, the encrypted content item E(K2, C2) is decrypted by the encrypted content decryption unit 37′ and the content item C2 can be browsed.
The user can acquire the sharing key K3,1 of the next encryption key K3 at the time of acquisition of the second sharing key Kd2, and therefore, if desirous of browsing the content item C3 (i=3), requests and acquires the third sharing key Kd3 including the sharing key K3,2 of the encryption key K3.
Once the third sharing key Kd3 is acquired, the sharing keys K3,1, K3,2 of the encryption key K3 can be obtained, and therefore, the encryption key K3 can be restored by the sharing key restoration unit 39′. Thus, the encrypted content item E(K3, C3) is decrypted by the encrypted content decryption unit 37′, thereby making it possible to browse the content item C3.
The user, if desirous of browsing the content item C3 by skipping the content item C2 after browsing the content item C1, can request the encryption key K3 instead of the sharing key in step ST22. Similarly, the encryption key can be requested whenever desirous of skipping the order in all of the embodiments described below.
As described above, according to this embodiment, all the encrypted content items are distributed collectively on the one hand, and whenever desirous of browsing the (i+1)th content item Ci+1, the i-th sharing key Kdi (=Kdi,2∥Kdi+1,1) for browsing the immediately preceding i-th content item Ci is acquired thereby to acquire the (i+1)th sharing key Ki+1,1 on the other hand. As in the first embodiment, therefore, the content items can be browsed in the order intended by the content producer or the content browser.
Although this embodiment has been explained above with reference to a case in which m=3, the invention is not limited to this embodiment and applicable to an arbitrary number m of content items as shown in
According to this embodiment which is a modification of the second embodiment, the encryption key Ki can be restored and the content item Ci can be browsed by acquiring i-th sharing key in the desired i-th order. As shown in
In this case, the initial sharing key Kd0 and the i-th sharing key Kdi have the following configuration:
Initial sharing key Kd0=K1,1∥K2,1∥ . . . ∥Km,1
i-th sharing key Kdi=Ki,2
Due to this configuration, the distribution server unit 10 lacks the encryption key storage unit 12′ and the encryption key distribution unit 19, and the package generating unit 16′ has the function of generating the package data as shown in
Specifically, the package generating unit 16′ has the following functions (f16′-1) to (f16′-3):
(f16′-1) The function of concatenating the sharing keys K1,1, . . . , Km,1 constituting one of all the sharing key sets in the sharing key storage unit 15 on the one hand and the encrypted content items E(K1, C1), . . . , E(Km, Cm) received from the encryption unit 14′ on the other hand with each other thereby to obtain the concatenated data K1,1∥ . . . ∥Km,1∥E(K1, C1)∥ . . . ∥E(Km, Cm).
(f16′-2) The function of generating the package data based on the concatenated data.
(f16′-3) The function of outputting the package data to the medium Md or the communication unit 17.
In the user device 30, on the other hand, the key requesting/receiving unit 35′ lacks the function of transmitting the encryption key request.
Specifically, the key requesting/receiving unit 35′ has the following functions (f35′-1) and (f35′-2):
(f35′-1) The function of transmitting the i-th sharing key request to the distribution server unit 10 through the communication unit 32 by user operation, and receiving the sharing key Ki,2 from the distribution server unit 10.
(f35′-2) The function of writing the received sharing key Ki,2 in the key storage unit 36.
With the configuration described above, the content items can be browsed in an arbitrary order by requesting the i-th sharing key Kdi in the desired i-th order after holding the package data including the initial sharing key Kd0 and the encrypted content in advance. Specifically, the user, unlike in the first and second embodiments, can browse the desired content items in an arbitrary order without using the encryption key request.
In this embodiment which is a modification of the second embodiment, a special content item Cp can be browsed by purchasing a predetermined number of content items (sharing keys). As shown in
Specifically, the initial sharing key Kd0 and the i-th sharing key Kdi have the configuration described below.
Initial sharing key Kd0=K1,1∥K2,1∥ . . . ∥Km,1∥Kp,1
i-th sharing key Kdi=Ki,2∥Kp,i+1
Accordingly, the configuration of the component parts 11a to 20 of the distribution server unit 10 is modified as described below.
The key generating unit 11a has the following functions (f11a-1) to (f11a-3):
(f11a-1) The function of generating the first to m-th encryption keys K1, . . . , Km for the first to m-th content items C1, . . . , Cm and a content item Cp other than the content items C1, . . . , Cm, while at the same time generating an encryption key Kp other than the encryption keys K1, . . . , Km.
(f11a-2) The function of writing the encryption keys K1, . . . , Km, Kp in the encryption key storage unit 12′.
(f11a-3) The function of sending out the encryption keys K1, . . . , Km, Kp to the encryption key sharing unit 11b.
The encryption key sharing unit 11b has the following functions (f11b-1) to (f11b-3):
(f11b-1) The function of generating the first to m-th sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n configured of sets of n sharing keys by the (2, n)-threshold secret sharing scheme for the first to m-th encryption keys K1, . . . , Km.
(f11b-2) The function of generating n sharing keys Kp,1, Kp,2, . . . , Kp,k, . . . , Kp,n by the (k, n)-threshold secret sharing scheme for another encryption key Kp.
(f11b-3) The function of writing the sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n, Kp,1, Kp,2, . . . , Kp,n in the sharing key storage unit 15, where n in the (2, n)-threshold secret sharing scheme is 3 and n in the (k, n)-threshold secret sharing scheme is m+1.
The encryption key storage unit 12′, writable by the key generating unit 11a and readable by the encryption key distribution unit 19, is for storing the encryption keys K1, . . . , Km, Kp.
The encryption unit 14′ has the following functions (f14′-1) and (f14′-2):
(f14′-1) The function of encrypting the first to m-th content items C1, . . . , Cm and another content item Cp based on the encryption keys K1, . . . , Km and another encryption key Kp, respectively, thereby to obtain the first to m-th encrypted content items E(K1, C1), . . . , E(Km, Cm) and another encrypted content item E(Kp, Cp), respectively.
(f14′-2) The function of sending out the obtained encrypted content items to the package generating unit 16′.
The sharing key storage unit 15, writable by the encryption key sharing unit 11b and readable by the sharing key distribution unit 20, is for storing the sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n, Kp,1, Kp,2, . . . , Kp,n.
The package generating unit 16′ has the following functions (f16′-1) to (f16′-3):
(f16′-1) The function of concatenating one sharing key K1,1, . . . , Km,1 in each of the first to m-th sharing key sets and one sharing key Kp,1 of the n sharing keys Kp,1, . . . , Kp,n in the sharing key storage unit 15 and the encrypted content items E(K1, C1), . . . , E(Km, Cm), (Kp, Cp) received from the encryption unit 14′ with each other thereby obtaining the concatenated data K1,1∥ . . . ∥Km,1∥Kp,1∥E(K1, C1)∥ . . . ∥E(Km, Cm).
(f16′-2) The function of generating the package data based on the concatenated data.
(f16′-3) The function of outputting the package data to the medium Md or the communication unit 17.
The communication unit 17 and the key request receiving unit 18 are similar to those described above.
The encryption key distribution unit 19 has the function of distributing the corresponding encryption key Kp in the encryption key storage unit 12, together with the header information, to the user device 30 based on the encryption key request received from the user device 30 through the key request receiving unit 18. The header information includes the content ID and the key ID corresponding to the encryption key Kp distributed.
The sharing key distribution unit 20 has the function of distributing the sharing keys of the corresponding order in the sharing key storage unit 15, together with the header information, to the user device 30, based on the sharing key request in any of the first to m-th orders received from the user device 30 through the key request receiving unit 18, as shown in
(f20-1) The function of concatenating the other sharing key K1,2, . . . , Km,2 of the first to m-th sharing key sets individually with n−1 sharing keys Kp,2 . . . , Kp,n other than the sharing key Kp,1 in the concatenated data of n sharing keys Kp,1, . . . , Kp,n thereby to generate the first sharing keys K1,2, Kp,2 to the m-th sharing keys Km,2, Kp,n for distribution.
(f20-2) The function of writing the first sharing keys K1,2, Kp,2 to m-th sharing keys Km,2, Kp,n in the sharing key storage unit 15.
(f20-3) The function of distributing the corresponding order of sharing keys in the sharing key storage unit 15 to the user device 30 based on any of the first to m-th sharing key requests received from the user device 30.
The sharing key restoration unit 39′ of the user device 30 further has the function of executing the (k, n)-threshold secret sharing scheme for restoring the encryption key Kp.
Specifically, the sharing key restoration unit 39′ has the following functions (f39′-1) and (f39′-2):
(f39′-1) The function of restoring the first to m-th encryption keys K1, . . . , Km based on the sharing keys in the same set of the sharing keys K1,1, K1,2, . . . , K1,n, . . . , Km,1, Km,2, . . . , Km,n.
(f39′-2) The function of restoring the encryption key Kp based on k out of n sharing keys Kp,1, Kp,2, . . . , Kp,k, . . . , Kp n.
With the configuration described above, like in the third embodiment, the content items can be browsed in an arbitrary order by requesting the i-th sharing key Kdi in the desired i-th order after holding the package data including the initial sharing key Kd0 and the encrypted content.
In addition, assume a configuration in which the first to m-th sharing keys K1,2, Kp,2, . . . , Km,2, Kp,n for distribution include the sharing keys Kp,2, Kp,n, respectively, of other content items. In the case where the key information for a predetermined number of content items of the first to m-th sharing keys are acquired, therefore, other predetermined content items can also be browsed.
Specifically, in the case where a content item having k threshold values is browsed, it indicates that the sharing keys Kp,1, . . . , Kp,k having k threshold values of another content item Cp are acquired. By restoring the encryption key Kp from k sharing keys Kp,1, . . . , Kp,k, another content item Cp can be restored, reproduced and browsed.
In the case where k content items of a given series are browsed (sharing keys purchased), for example, the special content item Cp such as “making video” can be browsed. In this way, the sharing keys Kp,1, . . . , Kp,n of another content item Cp are included in the sharing keys Kd0, . . . , Kdm for decoding the target content items C1, . . . , Cm, and the required sharing key is sold at low price. In this way, the sale of the slow-selling content items can be promoted.
This embodiment represents an application of the third embodiment to the first embodiment. According to this embodiment, as shown in
Also, the encrypted content items of the second to m-th package data, as shown in
Incidentally, the encryption key and the sharing key has such a data structure as shown in
This configuration, like that of the third embodiment, produces the advantage that an arbitrary content item can be browsed.
According to this embodiment, which is an application of the fourth embodiment to the first embodiment, the encrypted content of the first package data, as shown in
Also, the encrypted content items of the second to m-th package data are given as E(K2, C2), . . . , E(Km, Cm) as shown in
Incidentally, the structure of the key distribution data of the encryption key and the sharing key, as shown in
The configuration described above, like the fourth embodiment, can produce the advantage that both arbitrary content items C1 to Cm and a special content item Cp can be browsed.
The technique described above for the embodiment can be stored as a program to be executed by a computer in memory mediums including magnetic disks (Floppy™ disks, hard disks, etc.), optical disks (CD-ROMs, DVDs, etc.), magneto-optical disks (MOs) and semiconductor memories for distribution.
Memory mediums that can be used for the purpose of the present invention are not limited to those listed above and memory mediums of any type can also be used for the purpose of the present invention so long as they are computer-readable ones.
Additionally, the operating system (OS) operating on a computer according to the instructions of a program installed in the computer from a memory medium, data base management software and/or middleware such as network software may take part in each of the processes for realizing the above embodiment.
Still additionally, memory mediums that can be used for the purpose of the present invention are not limited to those independent from computers but include memory mediums adapted to download a program transmitted by LANs and/or the Internet and permanently or temporarily store it.
It is not necessary that a single memory medium is used with the above described embodiment. In other words, a plurality of memory mediums may be used with the above-described embodiment to execute any of the above described various processes. Such memory mediums may have any configuration.
For the purpose of the present invention, a computer executes various processes according to one or more than one programs stored in the memory medium or mediums as described above for the preferred embodiment. More specifically, the computer may be a stand alone computer or a system realized by connecting a plurality of computers by way of a network.
For the purpose of the present invention, computers include not only personal computers but also processors and microcomputers contained in information processing apparatus. In other words, computers generally refer to apparatus and appliances that can realize the functional features of the present invention by means of a computer program.
The present invention is by no means limited to the above described embodiment, which may be modified in various different ways without departing from the spirit and scope of the invention. Additionally, any of the components of the above described embodiment may be combined differently in various appropriate ways for the purpose of the present invention. For example, some of the components of the above described embodiment may be omitted. Alternatively, components of different embodiments may be combined appropriately in various different ways for the purpose of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2007-150915 | Jun 2007 | JP | national |