Abstract:
A system to facilitate media content protection is provided. The system includes a partitioning component, a key derivation component and an output component. The partitioning component partitions encrypted media content associated with a master key into a plurality of media content segments. The key derivation component generates respective subkeys for the plurality of media content segments based at least in part on the master key and one or more parameters associated with one or more memory operations. The output component generates decrypted media content based at least in part on the respective subkeys.
Abstract:
This disclosure relates to enhanced user control for content protection solutions. An options component determines or infers a set of digital rights management solutions supported by a content source, and a data component determines or infers information associated with respective digital rights management solutions supported by the content source. The set of digital rights management solutions can further be supported by a client device. A prompt component provides a user a set of digital rights management options based at least in part on the set of digital rights management solutions supported by the content source and the information, and enables the user to select zero or more of the digital rights management options. The content source can enable access for a subset of associated content based at least in part on the selections of the user.
Abstract:
Techniques are described for reducing time to decrypt a next encrypted frame in a content stream by optimizing a license/key acquisition process. When requesting content, a key identifier and/or license identifier may be included within a webpage using a link, script, or similar access point. When a client device sends a request for content, the loading of the webpage within the client device includes the embedded key identifier. Access to the key/license identifier at the client device then may initiate a key/license acquisition process by the client device. The key/license may be obtained from a key management device in parallel with, or prior to, downloading of at least a portion of the content stream.
Abstract:
Application-driven interceptor module enables offline playback of Digital Rights Management (DRM) protected content to work in a same way as online playback. Communications with the DRM module are intercepted by the application-driven interceptor that is aware of the client device's network connection status. When the interceptor application determines that the client device is offline, requests for the protected content, and license/key to the protected content may then be managed by the interceptor application. In one embodiment, the interceptor application may retrieve requests for the key/license from a locally protected data store, and provide the key/license to the DRM module. In this manner, the DRM module may be unaware that its messages are being intercepted, and may then operate the same, unaware of whether or not the client device is online or offline.
Abstract:
Subject innovations enable a client device to dynamically download Digital Rights Management components, and/or other plug-ins, to extend a browser functionality, where the downloading places the downloaded component(s) within a super sandbox that, inter alia, disables selected operating system calls by the downloaded component, performs one or more heuristic analysis on code execution of the component to detect possible malicious code, and restricts output through the super sandbox to those responses that are in response to a request to the component, rather than output that the component might have initiated ‘on its own.’ In some embodiments, a webpage is configured to include instructions to automatically download and install the component, thereby minimizing user actions to directly request and/or install the component.
Abstract:
A sandboxed application issues a request to enable content protection for audio and video content. The request is sent via an application programming interface to an unsandboxed application. The request is received from the unsandboxed application by an output device. After receiving the request, content protection is enabled and the output device employs a certificate to create a signed message indicating the content protection is enabled. The sandboxed application verifies the request has been fulfilled based on the signed message, and provides protected audio and video content.
Abstract:
A system for detecting external software update failure of an application may receive a request at the application to determine the status of an update mechanism and infrastructure (“updater”) associated with the application. The system may determine one or more values written by the updater at a location accessible by the application. The one or more values may include one or more of a first value indicating when a last successful check for updates for the application was completed by the updater and a second value indicating when a last successful update for the application was completed. The system may determine, at the application and based on the one or more values, if an update failure has occurred at the updater. The update failure may include the updater having problems detecting or applying updates. The system may generate a notification when it determines that an update failure has occurred.
Abstract:
Embodiments are directed towards decrypting encrypted content. A key for decrypting the encrypted content may be provided to a web application executing within a browser. The application may employ a generic cryptography application program interface (GCAPI) to perform actions on the key, including, storing the key, decrypting an encrypted key, generating another key, converting the key to a different encryption type, or the like. The GCAPI may or may not be enabled to explicitly share the key with the browser's media engine. In response to receiving encrypted content, the GCAPI may provide the key to the application, explicitly or inexplicitly to the browser's media engine, or the like. The key may be utilized by the application, the browser, the media element, browser's media engine, and/or the GCAPI to decrypt the encrypted content. The decrypted content may be displayed within the browser to a user of a client device.