Content distribution/browsing system, content distribution apparatus, content browsing apparatus and program
AssigneesKabushiki Kaisha Toshiba, Toshiba Solutions Corporation
InventorsTakehisa KATO, Koji Okada, Norikazu Hosaka, Yoshihiro Fujii, Minako Tada
Life of this patent
Estimating the term…
Abstract
A content distribution/browsing system is disclosed. First to (m−1)th encrypted content items E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1) contain second to m-th (next in order) sharing keys K2,1, . . . , Km,1, respectively. When desirous of browsing an (i+1)th content item Ci+1, the (i+1)th sharing key Ki+1,1 is acquired by browsing an immediately preceding i-th content item Ci.
Claims13
A content distribution/browsing system comprising a content distribution apparatus and a content browsing apparatus communicable with each other,
- the content distribution apparatus comprising:
- a key generating device configured to generate, by random number generation, a first encryption key K1 and second to m-th sharing keys K2,1, K2,2, . . . , Km,1, Km,2 in sets of two sharing keys 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 sharing key in the second to m-th sharing key sets 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 other sharing key K2,2, . . . , Km,2 in each set of the sharing keys among 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, and
- the content browsing apparatus comprising:
- a content storage device adapted to store the first, 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);
- an encryption key request device configured to transmit the encryption key request to the content distribution apparatus and receive the first encryption key K1 from the content distribution apparatus;
- a decryption device configured to decrypt an i-th encrypted content item E(K1, C1∥Ki+1,1) or E(Km, Cm) in the content storage device based on the input encryption key Ki (i=1, 2, . . . , i, i+1, . . . , m);
- a browsing device configured to browse an i-th content item Ci obtained by the decryption device;
- a sharing key request device configured to transmit an (i+1)th sharing key request to the content distribution apparatus and receive the sharing key Ki+1,2 from the content distribution apparatus in the case where the i-th content item Ci browsed is not the m-th content item Cm;
- and
- a device configured to restore the (i+1)th encryption key Ki+1 based on the sharing key Ki+1,2 and the (i+1)th sharing key K+1,1 obtained by the decryption device and input the obtained encryption key Ki+1 to the decryption device.
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.
A 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.
A content browsing apparatus communicable with a content distribution apparatus, comprising:
- a content storage device adapted to store encrypted content items E(K1, C1∥K2,1), E(K2, C2∥K3,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm) output from the content distribution apparatus which generates 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 random number generation for first to m-th content items C1 to Cm, calculates 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, concatenates the first to (m−1)th content items C1, . . . , Cm−1 with the sharing keys K2,1, . . . , Km,1 constituting one sharing key of each set of the second to m-th sharing keys, encrypts 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 encryption key requesting device configured to transmit an encryption key request to the content distribution apparatus and receive the first encryption key K1 from the content distribution apparatus;
- a decryption device configured to decrypt the corresponding i-th encrypted content item E(Ki, Ci∥Ki+1,1) or E(Km, Cm) in the content storage device based on the input encryption key Ki (i=1, 2, . . . , i, i+1, . . . , m);
- a browsing device configured to browse the i-th content item Ci obtained by the decryption device;
- a sharing key requesting device configured to transmit the (i+1)th sharing key request to the content distribution apparatus and receive the sharing key Ki+1,2 from the content distribution apparatus in the case where the browsed i-th content item Ci is other than the m-th content item Cm;
- and
- a device configured to restore the (i+1)th encryption key Ki+1 based on the (i+1)th sharing key Ki+1,2 and the (i+1)th sharing key Ki+1,1 obtained by the decryption device, and input the obtained encryption key Ki+1 to the decryption device.
A program stored in a computer-readable storage medium used for a content distribution apparatus communicable with a content browsing apparatus and including a storage unit, comprising:
- a first program code which causes the content distribution apparatus to execute a process of generating 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 random number generation for first to m-th content items C1, . . . , Cm, respectively;
- a second program code which causes the content distribution apparatus to execute a process of writing the first encryption key K1 in the storage unit;
- a third program code which causes the content distribution apparatus to execute a process of calculating 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 fourth program code which causes the content distribution apparatus to execute a process of concatenating the first to (m−1)th content items C1, . . . , Cm−1 with the sharing keys K2,1, . . . , Km,1 constituting one component of each set included in 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 fifth program code which causes the content distribution apparatus to execute a process of writing the other component sharing key K2,2, . . . , Km,2 of each set included in the second to m-th sharing keys in the storage unit;
- a sixth program code which causes the content distribution apparatus to execute a process 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 produce 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 an m-th encrypted content item E(Km, Cm);
- a seventh program code which causes the content distribution apparatus to execute a process of outputting said each encrypted content item E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm);
- an eighth program code which causes the content distribution apparatus to execute a process of distributing the encryption key in the storage unit to the content browsing apparatus based on an encryption key request received from the content browsing apparatus;
- and
- a ninth program code which causes the content distribution apparatus to execute a process of distributing the sharing keys in the corresponding order in the storage unit to the content browsing apparatus based on any of the second to m-th sharing key requests received from the content browsing apparatus.
A program stored in a computer-readable storage medium used for a content distribution apparatus communicable with a content browsing apparatus and including a storage unit, comprising:
- a first program code which causes the content distribution apparatus to execute a process of generating 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 content item Cp other than the first to m-th content items C1, . . . , Cm, respectively;
- a second program code which causes the content distribution apparatus to execute a process of generating first to m-th sharing keys K1,1, K1,2, K1,n, . . . , Km,1, Km,2, . . . , Km,n in sets of n by a (2, n)-threshold secret sharing scheme for the first to m-th encryption keys K1, . . . , Km;
- a third program code which causes the content distribution apparatus to execute a process of generating n sharing keys Kp,1, Kp,2, . . . , Kp,k, Kp,n by a (k, n)-threshold secret sharing scheme for the another encryption key Kp;
- a fourth program code which causes the content distribution apparatus to execute a process of encrypting 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 fifth program code which causes the content distribution apparatus to execute a process of concatenating the sharing keys K1,1, . . . , Km,1 included in the first to m-th sharing keys, one sharing key Kp,1 included in 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 sixth program code which causes the content distribution apparatus to execute a process of individually concatenating 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 other sharing keys K1,2, . . . , Km,2 included in 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 seventh program code which causes the content distribution apparatus to execute a process of writing the first sharing key K1,2, Kp,2 to the m-th sharing key Km,2, Kp n in the storage unit;
- an eighth program code which causes the contentdistribution apparatus to execute a process of outputting the concatenated data K1,1∥ . . . ∥Km,1∥Kp,1∥E(K1, C1)∥ . . . ∥E(Km, Cm);
- and
- a ninth program code which causes the content distribution apparatus to execute a process of distributing the sharing keys of the corresponding order in the storage unit to the content browsing apparatus based on any of the first to m-th sharing key requests received from the content browsing apparatus.
A program stored in a computer-readable storage medium used for a content browsing apparatus communicable with a content distribution apparatus and including a storage unit, comprising:
- a first program code which causes the content browsing apparatus to execute a process of writing in the storage unit, by user operation, an arbitrary one of encrypted content items E(K1, C1∥K2,1), E(K2, C2∥K3,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm) included in the encrypted content items E(K1, C1∥K2,1), . . . , E(Km−1, Cm−1∥Km,1), E(Km, Cm) output from the content distribution apparatus, which generates a first encryption key K1 and second to m-th sharing keys K2,1, K2,2, . . . , Km,1, Km,2 in sets of two for first to m-th content items C1, . . . , Cm, calculates 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, concatenates the first to (m−1)th content items C1, . . . , Cm−1 with the sharing keys K2,1, . . . , Km,1 each constituting one sharing key of each set included in the second to m-th sharing keys, encrypts 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);
- a second program code which causes the content browsing apparatus to execute a process of transmitting an encryption key request to the content distribution apparatus and receiving the first encryption key K1 from the content distribution apparatus;
- a third program code which causes the content browsing apparatus to execute a process of decrypting the corresponding i-th encrypted content item E(Ki, Ci∥Ki+1,1) or E(Km, Cm) in the storage unit based on the input encryption key Ki (i=1, 2, . . . , i, i+1, . . . , m);
- a fourth program code which causes the content browsing apparatus to execute a process of browsing the i-th content item Ci obtained by the decryption process;
- a fifth program code which causes the content browsing apparatus to execute a process of transmitting the (i+1)th sharing key request to the content distribution apparatus and receiving the sharing key Ki+1,2 from the content distribution apparatus in the case where the browsed i-th content item Ci is not the m-th content item Cm;
- and
- a sixth program code which causes the content browsing apparatus to execute a process of restoring the (i+1)th encryption key Ki+1 based on the sharing key Ki+1,2 and the (i+1)th sharing key Ki+1,1 obtained by the decryption process, and inputting the encryption key Ki+1 thus obtained to the decryption process.
Dependencies are inferred from the claim text.