The packaging of media content, such as video or audio content, into digital media files has made the exchange of the content very easy and convenient for users. However, users freely exchanging content may violate the content owner's property rights. Content owners also want to restrict the copying of copyright protected content. There are many examples of technologies that make the transfer of copyright protected content very difficult. When physical media is used to store content, permanently or temporarily, for example in electronic purchase, rental and subscription movie service business models, content owners or their licensees use a variety of cryptographic binding methods. These methods typically use a unique media or device identifier or similar player attributes in a cryptographic function to protect the content from being copied or transferred such that it may be said to be bound to the device. Generally, this binding of the content is based upon a particular playback device, which is undesirable for users. Users may want to play their content on a different device than the device that received the content or they may want to transfer it among several personal devices.
One approach involves peering of content, where users transfer data amongst themselves. In order to preserve copyrights and to avoid pirating of the content, a ‘non-autonomous’ peering system may be employed. In contrast to a typically peering system, where users transfer content freely, the system is ‘non-autonomous.’ Non-autonomous' as used here means that the system includes mechanisms that only allow transfer of the content with the assistance of a centralized authority, while allowing users to transfer media content between their own compliant devices. A peer in this system consists of an end-user owned device acting as the source for a transfer, while in most other systems content resides on a server for download.
Examples of a non-autonomous peering system can be found in U.S. Pat. No. 7,165,050, and US Patent Publication No. 20060064386, both titled, “Media on Demand Via Peering.” An example of methods of manufacturing and binding components usable in a non-autonomous peering system can be found in U.S. patent application Ser. No. 12/369,708, “Simple Non-Autonomous Environment, Watermarking And Authentication,” filed Feb. 11, 2009. U.S. patent application Ser. Nos. 12/369,709, and 12/713,111 discuss the use of a peering system in conjunction with flash memory devices.
A SNAP player, one that complies with the Simple Non-Autonomous Peering principles set out in the references above, can be used to create a centralized repository for bulk storage of their owned content. While in one regard, centralized bulk storage allows consumers to securely store their content library in one secure, centralized location, this could also be seen as limiting the portability provided by SNAP's media binding methods.
The below discussion uses several terms that may become confusing. The discussion uses the term ‘local memory device’ to refer to a non-volatile memory device that contains ‘content,’ which is physically connected to the playback device. Local Memory Devices may be either removable or embedded. ‘Content’ includes any type of experiential content and includes, but is not limited to, movies, television shows, recorded performances, video files, audio files, and games. The memory device may include removable memory, such as flash memory drives, so-called ‘thumb’ drives, memory cards, embedded flash memory, spinning and solid state hard drives, and memory sticks, but no limitation is intended, nor should any be implied by these examples. The memory device will be referred to here as ‘content’ memory, because it resides separately from on-board memory of a playback device, although it may be internal to the playback device. The below discussion also uses the term ‘network memory device’ to refer to any content memory device accessible to a player via a ‘SNAP private network.’ A SNAP private network is a secure private network, wired or wireless that allows users to experience and/or manage content stored on memory devices connected to other devices within the network. This network may be established only for the brief periods of time when the users are actively downloading content, not as a pre-exiting network. A particular device may only join the network when downloading content.
As stated above, memory devices may take one of many different forms, or include different forms in different ports, including CompactFlash; MultiMedia Cards (MMC), including Reduced Size—MMC; Secure Digital (SD) cards, including mini-SD and micro-SD; and Memory Sticks. These of course are merely examples of the different memory formats and form factors, which may also be embodied in memory devices such as 20 that connect to the playback device by an external connector 22, such as Universal Serial Bus (USB) connectors, and those that comply with IEEE standard 1394, also referred to as ‘firewire.’ These are just examples and many different protocols may be used such as VESA (Video Electronics Standards Association) DisplayPort, protected by Digital Transmission Content Protection (DTCP), as well as many others. In the embodiment of embedded memory including hard disks, the content memory device may communicate with the controller using IDE (Integrated Drive Electronics), SATA (Serial Advanced Technology Attachment), SCSI (Serial Computer System Interface), SAS (Serial Attached SCSI) or USB interfaces.
The Playback Device 10 of
The Playback Device 10 of
In order to gain access to content memory device 62, playback device 42 first completes NNL MKB Update (media key bundle) protocol and AKE (Authenticated Key Exchange) with playback device 58 to verify that both devices share the most current NNL data available to them and that neither playback device's device keys have been revoked. Following successful AKE, playback device 58 grants playback device 42 access to its local content memory device 62 which it has already validated either at insertion, power on, or reset.
Playback device 42 may now continue with the playback routine as described in the referenced art, performing all NNL and SNAP cryptographic functions as if content memory device 62 were local to it with playback device 58 serving as a proxy only. The processed content could then be output from the video port of playback device 42 for playback on display 40. Similarly, if playback device 42 has an integrated display as described in
Under certain circumstances, it may be necessary to perform certain aspects of media validation that would be adversely affected by network latency. In this scenario, playback device 42 can direct playback device 58 to perform the necessary validation functions locally and respond with the results.
In
At 100, the local player communicates directly with the network content memory device connected to the peer playback device via the network with the peer playback device serving as a proxy. The requesting player performs NNL update and AKE protocols at 100, as described in the referenced materials directly with the network media across the secure network. This provides session-based security between the requesting playback device and the network content memory device, and the requesting playback device secure access the network content memory device's protected area as if it were local. In this manner, all communication of sensitive cryptographic data may be encrypted using the session key generated by the AKE between the requesting player and the network content storage device.
As discussed in co-pending application Ser. No. 12/713,111, the cryptographic authentication may be based on media key blocks. However, other cryptographic protocols, such as public/private key, are within the scope of this invention. In one embodiment, the authentication uses variants. A ‘variant’ as that term is used here is a particular version of a microcode that is used to derive the necessary keys and/or functions to access the content. A ‘microcode function’ as used here refers to a set of firmware instructions, algorithms and constants used by a player to perform cryptographic and other media-related functions. Upon manufacture, the playback device may have stored in it some predetermined number of these variants. These variants are stored encrypted in the player device.
In addition, there may be several different types of variants. In the SNAP system, for example, different types of variants may exist. A first variant may be used to derive a unique code related to the media device, and a second variant may use that in conjunction with another unique identifier for the media to verify the media. A third variant may be used to derive the keys to unlock or decrypt the content that is downloaded to the media. Other types of variants may be used, or the example variants given may not be used in any particular system depending upon the protection needs of the content.
Because the predetermined number of variants may be exhausted over time, the renewable protection scheme provides for a means to renew the variants as needed. The system generally accomplishes this by transmitting new variants with the downloaded content.
During the local playback device's preparation for media validation at 102, the selected renewable function variant for the title may indicate that its validation methods may not be performed remotely. This allows the content providers to disallow network playback for new releases, for example. After a particular time has elapsed, the network playback may be allowed.
If this occurs, the requesting player communicates with the peer playback device via authenticated command across the secure network, directing it to authenticate itself with the network content storage device local to it, and perform media validation locally. The peer playback device performs media validation and responds to the requesting playback device with the result of the validation test it performs, which must be consistent with the result expected by the requesting playback device based on the variant it has selected. Following successful media validation by either the requesting playback device, or the peer playback device, SNAP network playback can begin.
There has been described to this point a particular embodiment for SNAP network device playback, with the understanding that the examples given above are merely for purposes of discussion and not intended to limit the scope of the embodiments or the following claims to any particular implementation.
This application is a continuation of U.S. patent application Ser. No. 13/207,914, entitled “SIMPLE NONAUTONOMOUS PEERING NETWORK MEDIA,” by Aaron Marking et al., Aug. 11, 2011, which application is incorporated by reference herein: and claims benefit of U.S. Provisional Patent Application No. 61/372,695, entitled “SIMPLE NONAUTONOMOUS PEERING NETWORK MEDIA,” by Aaron Marking et al., filed Aug. 11, 2010, which application is hereby incorporated by reference herein; andis also a continuation-in-part of the following U.S. Patent Applications: U.S. patent application Ser. No. 12/839,105, entitled “SIMPLE NONAUTONOMOUS PEERING MEDIA CLONE DETECTION,” by Aaron Marking et al., filed Jul. 19, 2010, which application is incorporated by reference herein, and which application claims benefit of U.S. Provisional Patent Application No. 61/226,421, entitled “SNAP STRIPING AND BINDING,” by Aaron Marking et al., filed Jul. 17, 2009;U.S. patent application Ser. No. 12/369,708, entitled “SIMPLE NON-AUTONOMOUS PEERING ENVIRONMENT, WATERMARKING AND AUTHENTICATION,” by Aaron Marking et al., filed Feb. 11, 2009, now U.S. Pat. No. 8,775,811, which claims benefit of U.S. Provisional Patent Application Ser. No. 61/027,757, entitled “ENHANCED WATERMARK PATTERNS IN A SNAP ENVIRONMENT,” by Aaron Marking, filed Feb. 11, 2008, U.S. Provisional Patent Application Ser. No. 61/082,404, entitled “SIMPLE NON-AUTONOMOUS PEERING,” by Aaron Marking, filed Jul. 21, 2008, U.S. Provisional Patent Application Ser. No. 61/096,686, entitled “METHOD OF AUTHENTICATING NON-VOLATILE STORAGE MEDIA USING BAD BLOCKS IDENTIFIED DURING THE POST-MANUFACTURE TESTING PROCESS,” by Aaron Marking, filed Sep. 12, 2008, and U.S. Provisional Patent Application Serial No. 61/148,295, entitled “SIMPLE NON-AUTONOMOUS PEERING BINDING,” by Aaron Marking, filed Jan. 29, 2009;U.S. patent application Ser. No. 12/713,111, entitled “CONTENT DISTRIBUTION WITH RENEWABLE CONTENT PROTECTION,” by Aaron Marking et al., filed Feb. 25, 2010, which application is hereby incorporated by reference herein and which application claims benefit of U.S. Provisional Patent Application Ser. No. 61/155,489, entitled “SNAP STRIPING AND BINDING,” by Aaron Marking et al., filed Feb. 25, 2009, U.S. Provisional Patent Application Ser. No. 61/159,054, entitled “SNAP STRIPING AND BINDING,” by Aaron Marking et al., filed Mar. 10, 2009, and which application is a continuation-in-part of U.S. patent application Ser. No. 10/945,623, entitled “MEDIA ON DEMAND VIA PEERING,” by Aaron Marking, filed Sep. 20, 2004, now abandoned. This application is also a continuation-in-part of U.S. patent application Ser. No. 12/839,105, entitled “SIMPLE NONAUTONOMOUS PEERING MEDIA CLONE DETECTION,” by Aaron Marking et al., filed Jul. 19, 2010, which application is incorporated by reference herein, and which application claims benefit of U.S. Provisional Patent Application No. 61/226,421, entitled “SNAP STRIPING AND BINDING,” by Aaron Marking et al., filed Jul. 17, 2009.
Number | Date | Country | |
---|---|---|---|
61372695 | Aug 2010 | US | |
61226421 | Jul 2009 | US | |
61027757 | Feb 2008 | US | |
61082404 | Jul 2008 | US | |
61096686 | Sep 2008 | US | |
61148295 | Jan 2009 | US | |
61155489 | Feb 2009 | US | |
61159054 | Mar 2009 | US | |
61226421 | Jul 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13207914 | Aug 2011 | US |
Child | 14341569 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12839105 | Jul 2010 | US |
Child | 13207914 | US | |
Parent | 12369708 | Feb 2009 | US |
Child | 13207914 | US | |
Parent | 12713111 | Feb 2010 | US |
Child | 13207914 | US | |
Parent | 10945623 | Sep 2004 | US |
Child | 12713111 | US | |
Parent | 12839105 | Jul 2010 | US |
Child | 10945623 | US |