Online consumers obtain or purchase electronic products such as streaming or downloaded movies, video games, or upgrades to video games originally downloaded for free. Such content may be downloaded from an application in the device (e.g. in-application purchase), an application catalog, or some other content providing service. Other digital content may be free of charge, but may be proprietary content requiring authorization before access to the content is granted.
As noted above, digital content such as movies or video game upgrades may be purchased and downloaded to a device. However, once downloaded, such content may be susceptible to access by unauthorized users. For example, the content may be readily copied to multiple devices, even if a consumer paid for one copy or license. As such, movies or video games purchased from an online merchant may result in copyright violations. Such violations may be difficult or even impossible for a merchant to trace. Furthermore, online purchase systems may be required to authorize online purchases each time the content is accessed on a device. Thus, online purchase systems may require constant maintenance to keep up with demand.
In view of the foregoing, aspects of the present disclosure provide techniques for confining content to a device. In one aspect, a digital receipt may be generated in response to a request for content. An identifier associated with the remote device sending the request is included in the digital receipt such that use of the content is confined to the remote device. The identifier associated with the device may prevent the content from being operative on an unauthorized device, even if the receipt and the content are copied thereto. Furthermore, the digital receipt may enable the remote device to validate the receipt each time a user requests access to the content. This relieves online purchase systems from validating every request for access to electronic content already downloaded on a device. The aspects, features and advantages of the disclosure will be appreciated when considered with reference to the following description of examples and accompanying figures. The following description does not limit the disclosure; rather, the scope of the disclosure is defined by the appended claims and equivalents.
The computer apparatus 100 may also contain a processor 110, which may be any number of well known processors, such as processors from Intel® Corporation. In another example, processor 110 may be an application specific integrated circuit (“ASIC”). Non-transitory computer readable medium (“CRM”) 112 may store instructions that may be retrieved and executed by processor 110. As will be discussed in more detail below, the instructions may include a receiver module 113, an attester module 114, and a fulfillment module 116. In one example, non-transitory CRM 112 may be used by or in connection with any instruction execution system, such as computer apparatus 100, that can fetch or obtain the logic from non-transitory CRM 112 and execute the instructions contained therein. Non-transitory computer readable media may comprise any one of many physical media such as, for example, electronic, magnetic, optical, electromagnetic, or semiconductor media. More specific examples of suitable non-transitory computer-readable media include, but are not limited to, a portable magnetic computer diskette such as floppy diskettes or hard drives, a read-only memory (“ROM”), an erasable programmable read-only memory, a portable compact disc or other storage devices that may be coupled to computer apparatus 100 directly or indirectly. Alternatively, non-transitory CRM 112 may be a random access memory (“RAM”) device or may be divided into multiple memory segments organized as dual in-line memory modules (“DIMMs”). The non-transitory computer-readable medium (“CRM”) 112 may also include any combination of one or more of the foregoing and/or other devices as well.
The instructions stored in non-transitory CRM 112 may comprise any set of instructions to be executed directly (such as machine code) or indirectly (such as scripts) by the processor(s). In that regard, the terms “instructions,” “modules” and “programs” may be used interchangeably herein. The instructions may be stored in any computer language or format, such as in object code or modules of source code. Furthermore, it is understood that the instructions may be implemented in the form of hardware, software, or a combination of hardware and software and that the examples herein are merely illustrative.
Receiver module 113 may handle requests for an electronic product or digital content. In one example, the request comprises an identifier associated with the remote device sending the request. Attester module 114 may generate a digital receipt or attestation in response to the request, if it is determined that the remote device is authorized to receive the electronic product. Furthermore, attester module 114 may include the identifier in the digital receipt such that use of the electronic product or digital content is confined to the remote device associated with the identifier. Fulfillment module 116 may validate the digital receipt and provide the electronic product to the remote device, if the digital receipt is valid, such that the electronic product is operative in the remote device when the digital receipt resides therein.
Although
Receiver module 204 and attester module 206 are shown executing in computer apparatus 202. Computer apparatus 202 may be associated with, for example, a payment processing system of an online merchant. Attester module 206 may cryptographically sign or encrypt a digital receipt or attestation using a public and private key pair. Such key pairs may be generated and managed by a key management provider (e.g., Verisign, Komodo, etc.). Computer apparatus 210 is shown hosting a fulfillment module 214, which may comprise a third party validation system to verify the digital attestation or receipt. Remote device 212 may provide the digital receipt or attestation to fulfillment module 214.
If attester module 206 uses public and private key encryption, fulfillment module 214 may perform an online public key verification check using, for example, online certificate status protocol (“OCSP”). Such verification may be performed to ensure the public and private key pair has not been compromised. In one example, the pair may be compromised when the private key is obtained by unauthorized users. If it is determined that the public and private key pair is compromised (e.g., the OCSP verification fails), a request for an alternate digital receipt or attestation may be sent to attester module 206. Attester module 206 may generate and provide an alternate digital receipt or attestation in response thereto and include the identifier associated with the remote device therewith. If fulfillment module 214 determines that the digital receipt is valid, it may provide the electronic product or digital content to remote device 212. The modules shown in
One working example of a system and method for confining content is illustrated in
As shown in block 302 of
In block 306, the identifier associated with the remote device may be included with the digital receipt or attestation. As noted above, this identifier may uniquely identify the remote device such that access to the digital content or electronic product is confined to the device. As such, the digital content or electronic product may be inoperative if copied to another device. Furthermore, the digital content or electronic product may be inoperative on another device even if the digital receipt is also copied thereto. The identifier included in the receipt may ensure that the content is operative in the device authorized to receive the content.
Referring back to
Advantageously, the above-described system, method, and non-transitory computer readable medium prevent digital content from being activated in unauthorized devices. In this regard, online merchants of digital content can avoid any adversity resulting from unauthorized copies thereof pervading the digital market. Thus, encounters with copyright violations can be avoided. Furthermore, the techniques disclosed herein eliminate the need to scale the purchase system to accommodate higher volume of online purchases, since validation of purchases may be carried out locally on the device.
Although the disclosure herein has been described with reference to particular examples, it is to be understood that these examples are merely illustrative of the principles of the disclosure. It is therefore to be understood that numerous modifications may be made to the examples and that other arrangements may be devised without departing from the spirit and scope of the disclosure as defined by the appended claims. Furthermore, while particular processes are shown in a specific order in the appended drawings, such processes are not limited to any particular order unless such order is expressly set forth herein. Rather, processes may be performed in a different order or concurrently, and steps may be added or omitted.