Patents Assigned to Irdeto B.V.
  • Patent number: 9754115
    Abstract: A system and method is disclosed for securely binding an arbitrary program to an authorized instance of a generic execution platform. Once the binding process occurs, the protected software application will not exhibit correct behavior unless run on the execution platform to which it is bound. The system and method withstands repeated attacks which tamper with the software application and the execution platform. The system and method present a mechanism to bind a program, P, to any un-trusted execution platform, E, which contains a Trusted Signing Authority (TSA). The TSA may take many alternate forms including a trusted platform module, secure processor, kernel driver, and hardened software agents.
    Type: Grant
    Filed: March 21, 2011
    Date of Patent: September 5, 2017
    Assignee: IRDETO B.V.
    Inventors: Michael Louis Bodis, Jiayuan Sui, Grant Stewart Goodes, Clifford Liem
  • Publication number: 20170237551
    Abstract: A method of providing access to content at a first device, the method comprising: receiving an item of content, wherein at least part of the item of content is encrypted, the encrypted at least part of the item of content being decryptable using at least one decryption key; in a first software client: obtaining a transformed version of the at least one decryption key; performing a decryption operation on the encrypted at least part of the item of content based on the at least one decryption key to obtain an intermediate version of the at least part of the item of content, wherein said performing the decryption operation uses a white-box implementation of the decryption operation that forms part of the first software client and that operates using the transformed version of the at least one decryption key; and performing an encryption operation on at least a portion of the intermediate version based on at least one encryption key to obtain re-encrypted content, wherein said performing the encryption operation
    Type: Application
    Filed: October 15, 2015
    Publication date: August 17, 2017
    Applicant: Irdeto B.V.
    Inventors: Arnoud Evert Van Foreest, Martin Soukup
  • Publication number: 20170228525
    Abstract: There is described a method for a first software application to access a secured software application on a computing device. The first software application is not configured to interface with the secured software application. The computing device includes an interfacing application configured to interface with the secured software application. The method comprises the first software application interfacing with the interfacing application to thereby cause the interfacing application to access the secured software application. The first software application is configured to interface with the interfacing application. There is also described a method of generating an encrypted version of an image using a library of pre-encrypted blocks of data, the same content encryption key having been used to encrypt each of the pre-encrypted blocks of data.
    Type: Application
    Filed: August 21, 2015
    Publication date: August 10, 2017
    Applicant: Irdeto B.V.
    Inventors: Andrew Augustine WAJS, John WIMER, Dmitri JARNIKOV
  • Patent number: 9710623
    Abstract: A cryptographic system comprises a white-box implementation of a function; an implementation of a cryptographic algorithm; and an implementation of a combining operation for establishing cryptographically processed data in dependence on an outcome of the function and in dependence on an outcome of the cryptographic algorithm. The combining operation comprises combining an outcome of the cryptographic algorithm with an outcome of the function. Alternatively, the combining operation comprises combining an outcome of the function with a received data element to obtain a combination outcome and applying the cryptographic algorithm to the combination outcome.
    Type: Grant
    Filed: March 2, 2009
    Date of Patent: July 18, 2017
    Assignee: Irdeto B.V.
    Inventors: Wilhelmus P. A. J. Michiels, Paulus M. H. M. A. Gorissen
  • Patent number: 9703950
    Abstract: A system and method is provided for implementing platform security on a consumer electronic device having an open development platform. The device is of the type which includes an abstraction layer operable between device hardware and application software. A secured software agent is provided for embedding within the abstraction layer forming the operating system. The secured software agent is configured to limit access to the abstraction layer by either blocking loadable kernel modules from loading, blocking writing to the system call table or blocking requests to attach debug utilities to certified applications or kernel components.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: July 11, 2017
    Assignee: IRDETO B.V.
    Inventor: Ron Vandergeest
  • Patent number: 9698973
    Abstract: Systems and techniques for securing accessible computer-executable program code and systems are provided. One or more base functions may be generated and blended with existing program code, such that it may be difficult or impossible for a potential attacker to distinguish the base functions from the existing code. The systems and code also may be protected using a variety of other blending and protection techniques, such as fractures, variable dependent coding, dynamic data mangling, and cross-linking, which may be used individually or in combination, and/or may be blended with the base functions.
    Type: Grant
    Filed: March 28, 2013
    Date of Patent: July 4, 2017
    Assignee: IRDETO B.V.
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
  • Patent number: 9678898
    Abstract: There is described a chip comprising a one-time programmable (OTP) memory programmable to store chip configuration data, and a verification module operable to access the OTP memory. The verification module is operable to receive a verification request relating to a specified portion of the OTP memory, the verification request comprising mask data defining the specified portion of the OTP memory. In response to the verification request, the verification module is operable to use the mask data and the OTP memory to generate verification data relating to the specified portion of the OTP memory, the verification data further being generated based on a secret key of the chip. There is also described a chip-implemented method of generating verification data relating to a specified portion of a one-time programmable (OTP) memory of the chip. There are also described methods for primary or secondary verification systems to verify a configuration of a specified portion of the OTP memory the above mentioned-chip.
    Type: Grant
    Filed: October 11, 2012
    Date of Patent: June 13, 2017
    Assignee: IRDETO B.V.
    Inventor: Ettore Benedetti
  • Publication number: 20170147331
    Abstract: A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state data to verify condition of the updated program and disallowing rollback and roll-forward attacks, the state data comprising hash chain values. The state data for verifying the correctness of the updated program is entangled with application data used for the program functionality. A server includes: an update pool having a plurality of software updates deployed in each client, and a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update.
    Type: Application
    Filed: February 7, 2017
    Publication date: May 25, 2017
    Applicant: IRDETO B.V.
    Inventors: Clifford LIEM, Hongrui DONG, Sam MARTIN, Yuan Xiang GU, Michael WIENER
  • Patent number: 9660965
    Abstract: The invention provides for a solution enabling obtaining a control word in the client. The client device has a unique binary identification. An input transformed control word is mapped from an input transform domain to an output transform domain to thereby obtain an output transformed control word by successively applying a transformation function to the input transformed control word using each compound of seeds from the set successively as an input to the successive transformation functions. Each of the successive transformation functions is one of a regular transformation function, a first special transformation function and a second special transformation function. The obtained control word can be used to decrypt one of two copies of a part of content data. The copy that can be decrypted contains a watermark representing either a binary “0” or a binary “1” and represents a bit of the unique binary identification of the client device.
    Type: Grant
    Filed: October 14, 2011
    Date of Patent: May 23, 2017
    Assignee: IRDETO B.V.
    Inventors: Andrew Augustine Wajs, Arnoud Evert Van Foreest
  • Patent number: 9654280
    Abstract: A white-box cryptographic system is presented wherein at least one of its internal values is represented using an input dependent encoding. The system comprises a network of a plurality of basic blocks arranged for collectively performing a cryptographic operation. An encoder is arranged for encoding output data of a first one of the plurality of basic blocks into an encoder-output according to a selected one of a plurality of encoding schemes, said selection depending on an input-message to the system. A compensator is arranged for recoding intermediate data to compensate for the effect of the encoding according to a selected one of a plurality of recoding schemes. Using variable encodings instead of fixed encodings complicates reverse engineering the white-box cryptographic system.
    Type: Grant
    Filed: March 5, 2010
    Date of Patent: May 16, 2017
    Assignee: IRDETO B.V.
    Inventors: Wilhelmus Petrus Adrianus Johannus Michiels, Paulus Mathias Hubertus Mechtildis Antonius Gorissen
  • Patent number: 9639377
    Abstract: A linker or loader, and associated method, is described, whereby the application of security transformations to object-code modules can be deferred until link or load-time, through, for example, memory relocation, selection from diverse instances of a module, and late-binding of constants. This provides several benefits over conventional source-to-source security transformations. These deferred security transformations can be applied in a very light-weight manner and create many opportunities for diversity in the resulting executable program, enhancing security, while at the same time minimizing the impact on execution performance and correctness, and reducing the complexity of debugging.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: May 2, 2017
    Assignee: IRDETO B.V.
    Inventors: Grant Stewart Goodes, Clifford Liem
  • Publication number: 20170116396
    Abstract: A method comprising: carrying out optimization of an item of software in a first intermediate representation; carrying out protection of the item of software in a second intermediate representation different to the first intermediate representation.
    Type: Application
    Filed: March 31, 2015
    Publication date: April 27, 2017
    Applicant: IRDETO B.V.
    Inventors: Yuan Gu, Harold Johnson, Yaser Eftekhari, Bahman Sistany, Robert Durand
  • Publication number: 20170118018
    Abstract: There is described a chip for performing cryptographic operations. The chip comprises a key storage module, a rule storage module, an interface module and a cryptographic module. The key storage module is configured to store one or more cryptographic keys. The rule storage module is configured to store one or more rules, each rule comprising respective rule data, the rule data identifying a respective predetermined cryptographic operation associated with the rule and further identifying at least one of the one or more cryptographic keys to be used in the respective predetermined cryptographic operation. The interface module is configured to receive a rule execution request, wherein the rule execution request comprises a rule identifier to identify a specific rule of the one or more rules to be executed. The cryptographic module is configured to execute the specific rule so as to perform the respective predetermined cryptographic operation in response to the rule execution request.
    Type: Application
    Filed: March 31, 2014
    Publication date: April 27, 2017
    Applicant: Irdeto B.V.
    Inventors: Hans DEKKER, Vladimir ZIVKOVIC
  • Publication number: 20170116410
    Abstract: A method comprising: providing a protected item of software to a device, wherein the protected item of software is in a scripted language or an interpreted language or source code, wherein the protected item of software, when executed by the device, is arranged to perform a security-related operation for the device, wherein the security-related operation is implemented, at least in part, by at least one protected portion of code in the protected item of software, wherein the at least one protected portion of code is arranged so that (a) the at least one protected portion of code has resistance against a white-box attack and/or (b) the at least one protected portion of code may only be executed on one or more predetermined devices.
    Type: Application
    Filed: March 31, 2015
    Publication date: April 27, 2017
    Applicant: IRDETO B.V.
    Inventors: Andrew Wajs, Harold Johnson, Yuan Gu, Wim Mooij, Hans Dekker, Calin Ciordas, Fan Zhang
  • Patent number: 9635048
    Abstract: A system and method is provided for implementing platform security on a consumer electronic device having an open development platform. The device is of the type which includes an abstraction layer operable between device hardware and application software. A secure software agent is provided for embedding within the abstraction layer forming the operating system. A secure store is provided for storing security information unique to one or more instances of the application software. The secure software agent uses the security information for continuous runtime assurance of ongoing operational integrity of the operating system and application software and thus operational integrity of the device.
    Type: Grant
    Filed: March 9, 2011
    Date of Patent: April 25, 2017
    Assignee: Irdeto B.V.
    Inventor: David Jones
  • Patent number: 9588756
    Abstract: A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state data to verify condition of the updated program and disallowing rollback and roll-forward attacks, the state data comprising hash chain values. The state data for verifying the correctness of the updated program is entangled with application data used for the program functionality. A server includes: an update pool having a plurality of software updates deployed in each client, and a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update.
    Type: Grant
    Filed: March 22, 2012
    Date of Patent: March 7, 2017
    Assignee: Irdeto B.V.
    Inventors: Clifford Liem, Hongrui Dong, Sam Martin, Yuan Xiang Gu, Michael Weiner
  • Patent number: 9532006
    Abstract: The invention provides a headend system, a receiver, a smartcard and a conditional access system enabling distribution of multiple variants of a part of a digital signal, such as multiple variants of an audio part or a video part of a data stream, without requiring receivers to be updated. The digital signal generated by the headend system enables a receiver to receive and process the digital signal without requiring identification of the copies in the second digital signal. Error handling capabilities of the receiver ensure that only one copy is used in the output of the receiver. The error handling capabilities are triggered by having the receiver use one decryption key for descrambling all copies, resulting in one copy being descrambled correctly and the other copies being descrambled incorrectly.
    Type: Grant
    Filed: January 4, 2011
    Date of Patent: December 27, 2016
    Assignee: Irdeto B.V.
    Inventor: Egbert Westerveld
  • Patent number: 9503259
    Abstract: In the present disclosure, implementations of Diffie-Hellman key agreement are provided that, when embodied in software, resist extraction of cryptographically sensitive parameters during software execution by white-box attackers. Four embodiments are taught that make extraction of sensitive parameters difficult during the generation of the public key and the computation of the shared secret. The embodiments utilize transformed random numbers in the derivation of the public key and shared secret. The traditional attack model for Diffie-Hellman implementations considers only black-box attacks, where attackers analyze only the inputs and outputs of the implementation. In contrast, white-box attacks describe a much more powerful type of attacker who has total visibility into the software implementation as it is being executed.
    Type: Grant
    Filed: February 9, 2012
    Date of Patent: November 22, 2016
    Assignee: Irdeto B.V.
    Inventors: SK MD Mizanur Rahman, James Muir
  • Patent number: 9471776
    Abstract: Methods and nodes for securing execution of a web application by determining that a call dependency from a first to a second function needs to be protected, adding a Partial Execution Stub (PES) function comprising code to establish a communication connection with a trusted module. Methods and nodes for secured execution of a web application by invoking a function of the web application, invoking a Partial Execution Stub (PES) function during execution of the function of the web application, sending, from the PES function, a message call with current execution information to a trusted module and receiving, a verification result from the trusted module.
    Type: Grant
    Filed: March 30, 2012
    Date of Patent: October 18, 2016
    Assignee: Irdeto B.V.
    Inventors: Yuan Xiang Gu, Garney David Adams
  • Patent number: 9460281
    Abstract: A method to secure a non-native application. The non-native application is processed to obtain an application stub to be triggered within a virtual machine. The processing of the non-native application also provide a native code function upon which the application stub depends. The non-native function is part of a trusted module that extends security services from the trusted module to the virtual machine. The trusted module is a native code application that creates a trusted zone as a root of trustiness extending to the virtual machine by an execution-enabling mechanism between the application tab and the non-native function.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: October 4, 2016
    Assignee: Irdeto B.V.
    Inventors: Garney David Adams, Yuan Xiang Gu, Jack Jiequn Rong