Abstract:
A technique for securing a flash memory block in a secure device system involves cryptographic techniques including the generation of a Message Authentication Code (MAC). The MAC may be generated each time a file is saved to one or more data blocks of a flash memory device and stored with the file's metadata and to each of the data blocks. A technique for reading and storing versioned files may be employed when applications utilize versioning.
Abstract:
Delivery of licenses (142) in a closed distribution system including a playback device (120) and secure processor (110). The secure processor (110) allows only use of authorized content (131), and the playback device (120) is authorized to execute content (131). A user (150) requests a license (142) to selected content (131) using a communication link, without the playback device (120), outside the closed content system to a license server (140). The user (150) requests licenses (142) using SMS, sending small amounts of information, possibly including proofs of purchase. The server (140) responds using SMS, providing the user (150) with a code representing information interpretable as a license, such as an encrypted content key or a shared secret known to the user (150). The user (150), using a keypad or other device (122), inputs that code to the playback device (120), which determines if it authorizes use of the content (131). The playback device (120) authenticates the license (142), determining whether that license (142) authorizes the use (150) for the content (131), and enforces the licensed rights.
Abstract:
Improving connectivity in a peer-to-peer (P2P) network involves packet forwarding by infrastructure or peers. A system can achieve full connectivity and a setup for transactions that takes a fraction of a second. The system can include a routing table that is initially configured so that packets to peers are routed via the infrastructure. NAT traversal heuristics can be employed to establish direct connections between peers in parallel with packet forwarding in accordance with the routing table. When a direct connection is ready, the routing table can be updated so that packets are sent P2P. If a direct connection cannot be made, the routing table can be updated so that the packets are sent through a peer intermediary without going through the infrastructure.
Abstract:
An improved secure programming technique involves reducing the size of bits programmed in on-chip secret non-volatile memory, at the same time enabling the typical secure applications supported by secure devices. A technique for secure programming involves decoupling chip manufacture from the later process of connecting to ticket servers to obtain tickets. A method according to the technique may involve sending a (manufacturing) server signed certificate from the device prior to any communication to receive tickets. A device according to the technique may include chip-internal non-volatile memory to store the certificate along with the private key, in the manufacturing process.
Abstract:
A technique for content management involves storing runtime state of content externally. A system created according to the technique may include a state server that receives runtime state of content from a playback device, and provides the runtime state to that or another playback device upon request. A playback device constructed according to the technique may include a content state recovery engine for recovering runtime state that was previously stored externally to the playback device. A method according to the technique may include generating the runtime state locally, storing the runtime state externally, and re-acquiring the runtime state.
Abstract:
A secure processor assuring application software is executed securely, and assuring only authorized software is executed, monitored modes and secure modes of operation. The former executes application software transparently to that software. The latter verifies execution of the application software is authorized, performs any extraordinary services required by the application software, and verifies the processor has obtained rights to execute the content. The secure processor (1) appears hardware-identical to an ordinary processor, with the effect that application software written for ordinary processors can be executed on the secure processor without substantial change, (2) needs only a minimal degree of additional hardware over and above those portions appearing hardware-identical to an ordinary processor. The secure processor operates without substantial reduction, in speed or other resources available to the application software. Functions operating in secure mode might reside in an on-chip non-volatile memory, or might be loaded from external storage with authentication.
Abstract:
A technique for security and authentication on block-based media includes involves the use of protected keys, providing authentication and encryption primitives. A system according to the technique may include a secure device having a security kernel with protected keys. A disk drive security mechanism may support authentication of data, secrecy, and ticket validation using the security kernel and, for example, a ticket services module (e.g., a shared service that may or may not be used by other storage devices like flash).
Abstract:
A technique for DRM translation involves converting first digital content into second digital content. An example of a system according to the technique includes a server that provides a first digital content unit coded with a first digital format and use- right protected by first digital rights management (DRM). The system further includes a translator capable of converting the first digital content unit into a second digital content unit coded with a second digital format and use-right protected by second DRM.
Abstract:
Dynamic assignment of rights to content 112, such as in a closed distribution system 110. Noting state information generated by an item of current content, and modifying state or rights of new content in response. Pre-loading or dynamically sending new content to the owner of the current content, with rights being enabled only at a later time, in the playback device 130, with predetermined conditions. In response to current state information, dynamically sending a license 142 for new content from a server 140. Conditional or dynamic licenses to new content, including a set of rights associated with a class of possible sets of state information. Assignment of limited rights to a content, with support in a secure player to enforce them; for purposes of rental, bonus content, trials and other business models.