Patent ID: 7860255

Claim:
A content distribution server that encrypts a content and distributes the encrypted content to content output apparatuses connected to the content distribution server via a network, each of the content output apparatuses decrypting the encrypted content and outputting the decrypted content, the content distribution server comprising: a key information storage unit, the key information storage unit being a hardware device and operable to hold a node encryption key group that is a set of node encryption keys which are previously assigned to the content output apparatuses using a predetermined key assignment method; an encryption key group selection unit operable to select, from among the node encryption key group, at least one node encryption key as a selected node encryption key group; a content decryption key selection unit operable to generate an encrypted content decryption key group that includes at least one encrypted content decryption key obtained by encrypting a previously given content decryption key using the at least one node encryption key in the selected node encryption key group; a content receiving unit operable to receive a content via the network; an encryption unit operable to encrypt the content using a content encryption key which is previously given as a pair with the content decryption key; and a transmission unit operable to distribute the encrypted content and the encrypted content decryption key group to the content output apparatuses; wherein the key assignment method has a tree structure in which a plurality of content output apparatuses serve as nodes, and includes: classifying the nodes into a plurality of levels from a 0 th level through an nth level, n being 1 or a larger natural number; and selecting, as terminal nodes in the tree structure, nodes each of which does not have a child node, from among the nodes, and said encryption key group selection unit selects the selected node encryption key group so that the selected node encryption key group includes at least one node encryption key that is set for a terminal node and at least one node encryption key that is set for a node other than the terminal nodes by randomly selecting a node encryption key that is set for a terminal node among the terminal nodes and then further selecting a node encryption key assigned to a content output apparatus to which the selected node encryption key is not assigned.