Patent ID: 8347098

Claim:
A non-transitory computer readable medium of a device storing a program comprising sets of instructions for: receiving, from a first set of computers, a first structure with a device-restricted first content piece, the first structure comprising a slot for holding a first content key for decrypting the first content piece each time the first content piece is accessed; receiving, from the first set of computers, a second structure with a device-unrestricted second content piece, the second structure having a similar format to the first structure, the second structure comprising a slot for holding a verification parameter for authenticating the second content piece; receiving, from a second set of computers, (i) the first content key, (ii) the verification parameter, and (iii) a second content key for decrypting the second content piece; inserting the first content key in the slot of the received first structure; decrypting the second content piece using the second content key and subsequently discarding the second content key; inserting the verification parameter in the slot of the received second structure; storing the first and second structures in a storage of the device; receiving a request to perform an operation on the second content piece; and allowing the performance of the operation only if the second content piece is authenticated by using the verification parameter to verify that the second content piece originated from a particular source, wherein when the second content piece does not have its associated verification parameter in the second structure, the operation cannot be performed as the second content piece cannot be authenticated.