System and method for preventing unauthorized use of digital media
09830431 · 2017-11-28
Assignee
Inventors
- Anton Valerievich Koukine (Auckland, NZ)
- Owen Michael Means (Auckland, NZ)
- Sean Joseph Higgins (Auckland, NZ)
- Paul Osborne (Auckland, NZ)
Cpc classification
G06F21/10
PHYSICS
H04L2463/101
ELECTRICITY
G06F21/6218
PHYSICS
International classification
G06F21/10
PHYSICS
G06F21/57
PHYSICS
Abstract
A method for protecting digital media content from unauthorized use on a client, is described. The method comprising the steps of receiving from a server on the client a list of processes, instructions, activity descriptions or data types that must not be active simultaneously with playback of the digital media content (“the blacklist”). The method further comprising checking, on the client, for the presence of any items on the list; and continuing interaction with the server, key management and playback of protected content only if no items on the list are detected on the client. A system is also described.
Claims
1. A method for protecting digital media content from unauthorized use on a client, comprising: receiving, by the client from a server, a blacklist identifying a plurality of piracy threatening items that pose a piracy threat such that, if installed and active with playback of the digital media content on the client, the piracy threatening items facilitate unauthorized use of the digital media content, the piracy threatening items on the blacklist having associated priority values; identifying a first subset of piracy threatening items in the blacklist and a second subset of piracy threatening items in the blacklist responsive to the associated priority values; checking on the client for the presence of any of the piracy threatening items in the first subset; performing a digital rights management (DRM) transaction provisioning the digital media content for playback on the client responsive to not detecting the presence of any of the piracy threatening items in the first subset on the client; while performing the DRM transaction, checking on the client for the presence of any piracy threatening items in the second subset; aborting the DRM transaction responsive to detecting the presence of a piracy threatening item in the second subset on the client; playing back the digital media content at the client responsive to not detecting the presence of a piracy threatening item in the second subset on the client; periodically checking on the client for the presence of any of the piracy threatening items in the first subset and in the second subset during playback of the digital media content, the periodic checking being more frequent for the first subset than for the second subset based on the associated priority values; and aborting playback of the digital media content responsive to the periodic checking detecting the presence of a piracy threatening item in the first subset or the second subset on the client.
2. The method of claim 1, wherein performing the DRM transaction comprises: receiving digital rights including decryption keys for the digital media content; and receiving at least a portion of the digital media content.
3. The method of claim 1, further comprising: receiving, by the client from the server, an updated blacklist identifying piracy threatening items, wherein the periodically checking checks for the presence of any piracy threatening items in the first subset identified by the updated blacklist.
4. The method of claim 3, wherein the periodically checking checks for the presence of any piracy threatening items in the second subset identified by the updated blacklist.
5. The method of claim 3, further comprising receiving the updated blacklist on a periodic basis.
6. The method of claim 1, further comprising: requesting, by the client, access to the digital media content, wherein the client receives the blacklist from the server responsive to the request to access the digital media content.
7. The method of claim 1, wherein checking on the client for the presence of any of the piracy threatening items in the first subset comprises: checking whether any of the piracy threatening items in the first subset are active on the client.
8. A system for protecting digital media content from unauthorized use on a client, comprising: a processor for executing computer program instructions; and a non-transitory computer readable medium storing computer program instructions executable to perform steps comprising: receiving, by the client from a server, a blacklist identifying a plurality of piracy threatening items that pose a piracy threat such that if installed and active with playback of the digital media content on the client the piracy threatening items facilitate unauthorized use of the digital media content, the piracy threatening items on the blacklist having associated priority values; identifying a first subset of piracy threatening items in the blacklist and a second subset of piracy threatening items in the blacklist responsive to the associated priority values; checking on the client for the presence of any of the piracy threatening items in the first subset; performing a digital rights management (DRM) transaction provisioning the digital media content for playback on the client responsive to not detecting the presence of any of the piracy threatening items in the first subset on the client; while performing the DRM transaction, checking on the client for the presence of any piracy threatening items in the second subset; aborting the DRM transaction responsive to detecting the presence of a piracy threatening item in the second subset on the client; playing back the digital media content at the client responsive to not detecting the presence of a piracy threatening item in the second subset on the client; periodically checking on the client for the presence of any of the piracy threatening items in the first subset and in the second subset during playback of the digital media content, the periodic checking being more frequent for the first subset than for the second subset based on the associated priority values; and aborting playback of the digital media content responsive to the periodic checking detecting the presence of a piracy threatening item in the first subset or the second subset on the client.
9. The system of claim 8, wherein performing the DRM transaction comprises: receiving digital rights including decryption keys for the digital media content; and receiving at least a portion of the digital media content.
10. The system of claim 8, further comprising computer program instructions for: receiving, by the client from the server, an updated blacklist identifying piracy threatening items, wherein the periodically checking checks for the presence of any piracy threatening items in the first subset identified by the updated blacklist.
11. The system of claim 10, wherein the periodically checking checks for the presence of any piracy threatening items in the second subset identified by the updated blacklist.
12. The system of claim 10, further comprising receiving the updated blacklist on a periodic basis.
13. The system of claim 8, further comprising computer program instructions for: requesting, by the client, access to the digital media content, wherein the client receives the blacklist from the server responsive to the request to access the digital media content.
14. The system of claim 8, wherein checking on the client for the presence of any of the piracy threatening items in the first subset comprises: checking whether any of the piracy threatening items in the first subset are active on the client.
15. A non-transitory computer readable medium storing computer program instructions executable to perform steps comprising: receiving, by a client from a server, a blacklist identifying a plurality of piracy threatening items that pose a piracy threat such that, if installed and active with playback of the digital media content on the client, the piracy threatening items facilitate unauthorized use of the digital media content, the piracy threatening items on the blacklist having associated priority values; identifying a first subset of piracy threatening items in the blacklist and a second subset of piracy threatening items in the blacklist responsive to the associated priority values; checking on the client for the presence of any of the piracy threatening items in the first subset; performing a digital rights management (DRM) transaction provisioning the digital media content for playback on the client responsive to not detecting the presence of any of the piracy threatening items in the first subset on the client; while performing the DRM transaction, checking on the client for the presence of any piracy threatening items in the second subset; aborting the DRM transaction responsive to detecting the presence of a piracy threatening item in the second subset on the client; playing back the digital media content at the client responsive to not detecting the presence of a piracy threatening item in the second subset on the client; periodically checking on the client for the presence of any of the piracy threatening items in the first subset and in the second subset during playback of the digital media content, the periodic checking being more frequent for the first subset than for the second subset based on the associated priority values; and aborting playback of the digital media content responsive to the periodic checking detecting the presence of a piracy threatening item in the first subset or the second subset on the client.
16. The non-transitory computer readable medium of claim 15, wherein performing the DRM transaction comprises: receiving digital rights including decryption keys for the digital media content; and receiving at least a portion of the digital media content.
17. The non-transitory computer readable medium of claim 15, further comprising computer program instructions for: receiving, by the client from the server, an updated blacklist identifying piracy threatening items, wherein the periodically checking checks for the presence of any piracy threatening items in the first subset identified by the updated blacklist.
18. The non-transitory computer readable medium of claim 17, wherein the periodically checking checks for the presence of any piracy threatening items in the second subset identified by the updated blacklist.
19. The non-transitory computer readable medium of claim 15, further comprising computer program instructions for: requesting, by the client, access to the digital media content, wherein the client receives the blacklist from the server responsive to the request to access the digital media content.
20. The non-transitory computer readable medium of claim 15, wherein checking on the client for the presence of any of the piracy threatening items in the first subset comprises: checking whether any of the piracy threatening items in the first subset are active on the client.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Examples of the present invention will now be described in detail with reference to the accompanying drawings, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10)
(11) The network 110 will typically be the Internet but may also include local area networks (LANs), wide area networks (WANs) and direct connections.
(12) The client 120 is any client capable of playing digital media for example a personal computer, set top box or pda. The client 120 as shown in
(13) The present invention provides protection against unauthorised use of digital media by checking the client system for threatening processes or data types running on the client system. The blacklist database includes an updated list of threatening processes and data types. In operation, following a request from the client for digital media, the blacklist manager 104 sends a list taken from the blacklist database 102 to the blacklist scanner running on the client over the network 110. The blacklist scanner checks the client for the presence of any of the items on the list running on the client. The blacklist scanner 124 can be configured to check particular locations on the client such as the system configuration data stored for example in the/etc. directory on an embedded Unix platform or the registry on a Microsoft Windows PC and task list, or may check the entire client including the hard disk if there is one.
(14) The DRM procedure, decryption key management or media download can continue while the scanner carries out checks. If the blacklist scanner 124 detects the presence of an item on the list, the access manager 123 exits and breaks the communication channel with the server 100 and all associated processes cease.
(15) The media player also has an embedded anti-piracy component, the decryption plug-in library 125.
(16) The plug-in library is associated with the access manager daemon and when an item on the blacklist is detected on the client 120, the plug-in library acts to prevent the media player from decrypting any media files or streams associated with the anti-piracy service. The media player is not disabled from playing other media, only the media requested via the access manager daemon interface. This may be achieved by deleting the keys necessary for decryption of the media from the plug-in library.
(17) This scanning process can be limited to checking for items running on the client and can be carried out at intervals during registration, secure channel set up, download and playing of digital media files. The scanning process may be carried out on a continuous basis in the background and asynchronously to any other processes. The blacklist transfer and scanning process is optionally part of the set up of a secure channel between the client and the server.
(18) Examples of threatening processes that could be included on the blacklist are debuggers, videoframe grabbers. The list may include file or program names, digital signatures associated with threatening processes, registry entries.
(19) The list may be prioritised so that, once certain checks have been made, the media decryption process can continue while further checks are made in the background. The choice of the number of checks made before any further processes can continue is a balance between providing a user friendly system and providing security for the media.
(20) Different levels of security may be implemented in the system of the present invention depending on the perceived level of threat. If at a particular time there is known to be threatening software of a certain type in wide circulation, the corresponding item on the blacklist can be given high priority and checked for more frequently than during normal operation.
(21) Following termination of a connection with the access manager server because of a detected threat, assuming the threat is no longer active on the client, standard reconnection can occur without any detrimental affect on the client software. Optionally, the client may be required to re-register with the media provider if there is an increased perceived threat level at that time. Tamper detection is possible without any information about the software or data on the client being necessary reported to the access manager server (apart from the access manager daemon version number).
(22) Alternatively the required current version may be downloaded to the client and checked.
(23)
(24) The system shown in
(25) As shown in
(26) The access manager daemon requests the latest version of the blacklist from the access manager server 100 to be sent to the client blacklist scanner 124. This request is like a blacklist “ping” of the access manager server. The blacklist scanner checks the client 120 for any items on the blacklist that are active on the client 120.
(27) As mentioned above, the items on the blacklist may have an associated priority level. The items perceived to have the greatest risk associated with them (typically because those items are most widespread) are checked for first. If no items with the highest priority are detected, then the access manager daemon 123 allows further transactions to proceed with the access manager server while the lower priority items on the blacklist are checked for. This allows the system to perform quickly and so be user friendly, while still providing adequate protection for the media work. In the preferred embodiment all checking is carried out in parallel with the DRM transactions.
(28) The DRM processes and delivery of keys and the media work can proceed, as described in for example U.S. Pat. No. 7,076,067, the contents of which are incorporated herein by reference. This process is used as an example only and alternative DRM processes may be used without departing from the scope of the invention.
(29) In this U.S. Pat. No. 7,076,067 the rights to receive keys are first sent to the client from the DRM server 240 via the access manager 103. The rights to receive keys may include the URL to access the media server 220, the URL to access the Key server 230 and tokens. Each token is single-use and is associated with a particular piece of media. The keys are then requested and downloaded to the client from the Key server 230 and used to decrypt the encrypted media work downloaded from the Media server 220. The blacklist may be downloaded as part of keys or token delivery payload.
(30) In order to guard against threatening processes that are loaded after session set up with the Access Server, the blacklist scanner on the client checks the client for items on the blacklist throughout the process of obtaining rights and keys and playback of the media file. Repeat blacklist scans can be performed on a periodic basis. Alternatively scanning may be done continuously and cyclically. Various schemes may be employed using the priority levels associated with each item on the blacklist. For example, high priority items may be checked every few seconds whereas low priority items may be checked only on channel set up. In effect, there may be several different blacklists, divided based on priority, each blacklist processed on the client according to a different scheme.
(31) The blacklist must be kept up-to-date in order to be effective. Ideally, the blacklist is updated centrally by a dedicated service and sent to the access manager 103. The access manager daemon 123 on the client 120 periodically, or based on transactions, requests an updated blacklist. This may be done as a blacklist “ping” in which the client sends the version of the blacklist that it has to the blacklist manager 104. The blacklist manager then returns an updated a list or a list of additions and deletions from the list on the client 120. Alternatively, an updated blacklist may be sent from the access manager to clients on a periodic basis during secure connection.
(32)
(33) In a first scanning step 310, the blacklist scanner checks for high priority items on the blacklist active on the client. If any blacklisted items are active and detected on the client at step 310 then the process including the DRM transaction steps are aborted at step 315.
(34) In step 325, the blacklist scanner checks the client for lower priority blacklist items.
(35) If any blacklisted items are active and detected on the client at step 325 then the process is aborted at step 330.
(36) If no blacklisted items are detected on the client at step 325 then further transactions proceed at step 335. These further transactions may include delivery of tokens and keys and media decryption and playback may begin. If playback of the media file is not complete, the client is scanned again. Step 340, the request for and/or the delivery of updated blacklist data is shown in a dotted outline as occurring after only a single scan of the client. However, the obtaining of an updated blacklist may only occur daily or during set-up of the connection or at any pre-configured interval.
(37) At step 345 the client is scanned again by the blacklist scanner in case blacklisted items have become active following the initial scan. If any blacklisted items are active and detected in step 345, then media decryption and playback is aborted at step 350. If no blacklisted items are active and detected in step 345, then media decryption and playback is continued at step 355.
(38)
(39) At step 300 the client requests access to a media file. As part of the initial set up process described with reference to
(40) If any blacklisted items are active and detected on the client at step 310 then the process is aborted at step 315.
(41) If no blacklisted items are detected on the client at step 310 then the client proceeds with the DRM transactions at step 320. Typically these further transactions include DRM steps. At the same time, in step 325, the blacklist scanner checks the client for lower priority blacklist items.
(42) If any blacklisted items are active and detected on the client at step 325 then the process is aborted at step 330.
(43) If no blacklisted items are detected on the client at step 325 then further transactions proceed at step 335. These further transactions may include delivery of tokens and keys and media decryption and playback may begin. If playback of the media file is not complete, the client is scanned again. Step 340, the request for and/or the delivery of updated blacklist data is shown in a dotted outline as occurring after only a single scan of the client. However, the obtaining of an updated blacklist may only occur daily or during set-up of the connection.
(44) At step 345 the client is scanned again by the blacklist scanner in case blacklisted items have become active following the initial scan. If any blacklisted items are active and detected in step 345, then media decryption and playback is aborted at step 350. If no blacklisted items are active and detected in step 345, then media decryption and playback is continued at step 355.
(45) If playback of the media file is not complete, the client is scanned once again. Once playback of the media file is complete the media playback process ends, in step 360, scanning may continue.
(46) With reference to
(47) If the blacklist contains priorities 51, then only some of the blacklist will be compared to the processes running on the client. This will depend on which priority items are being checked. For example, if a high priority scan is being undertaken (such as step 310 in
(48) In an alternative embodiment, the black list comprises ratings/weightings for each item 70, such as shown in
(49) Referring to
(50) In this manner, the risk associated with a particular item is used in determining whether to abort the provision of media. A single low-risk item (e.g. Graph editor rating 10) would not be enough to reach the threshold, and therefore there would be no abort. But, a large number of low-risk items running on a client, or two or three high risk (e.g. screen scraper rating 50) items might be enough to breach the threshold and trigger and abort. This approach provides a more sophisticated way of determining when to abort the process, reducing “unwarranted” aborts.
(51) It will of course be appreciated that any suitable rating system, threshold, and mathematical process for combing the ratings could be used for this invention.
(52) The system and method of the present invention is equally applicable to broadcast media as it is to downloaded (on demand) media.
(53) The present invention offers anti-piracy protection without any question of compromising client privacy. This makes it an attractive solution for end users. No data, apart from software version numbers and information required to complete authentication, is sent from the client to the access manager. No executable code, which might interfere or damage existing client systems, is downloaded onto the client after registration. Only blacklist data and data required for media playback is sent from the access manager server.
(54) The present invention provides a flexible framework for anti-piracy measures. The level of security can be altered depending on the perceived level of threat.
(55) The present invention can be integrated with DRM and key delivery functions in a media delivery system so threats can continue to be monitored during media playback and crucial DRM and key delivery steps can be terminated if a threat is detected.
(56) The system might abort a process upon determining blacklist item on the client, or alternatively or additionally, the user might be alerted themselves. Diagnostics information could be recorded on the client and/or displayed to the user. Alternatively or additionally, diagnostics information could be sent to a service operator in order to assist the user in responding to detection of a blacklist item/abort.
(57) The embodiments described comprise a blacklist that can be periodically updated. Uploads of partial threats or blacklists can occur. For example, to advise the client about “threats” A, B, C, four messages could be sent:
(58) Message 1: A
(59) Message 2: B
(60) Message 3: C1
(61) Message 4: C2
(62) Where threat C=C1+C2
(63) This invention may also be said broadly to consist in the parts, elements and features referred to or indicated in the specification of the application, individually or collectively, and any or all combinations of any two or more of said parts, elements or features, and where specific integers are mentioned herein which have known equivalents in the art to which this invention relates, such known equivalents are deemed to be incorporated herein as if individually set forth.