Patents Assigned to Irdeto B.V.
  • Patent number: 9965623
    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: May 8, 2018
    Assignee: IRDETO B.V.
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
  • Patent number: 9955200
    Abstract: Computer-implemented systems, methods, and computer-readable media for selecting a sequence of content parts from polymorphic content of an audiovisual presentation based on at least one profile of a user include receiving content information associated with polymorphic content, receiving profile information of a user, and selecting for rendering, from amongst the alternative content parts, a sequence of content parts from the polymorphic content based on at least a portion of the profile information.
    Type: Grant
    Filed: March 28, 2014
    Date of Patent: April 24, 2018
    Assignee: IRDETO B.V.
    Inventors: Dmitri Jarnikov, Wim Mooij
  • Patent number: 9946474
    Abstract: A method of storing an amount of data D in association with a device, the method comprising: obtaining a characteristic C of the device; generating error correction data R for the characteristic C, the error correction data R enabling correction of up to a predetermined number of errors in a version of the characteristic C; combining the characteristic C with the amount of data D and an authentication key K to generate storage data P, wherein said combining is arranged so that the amount of data D and the authentication key K are obtainable using the characteristic C and the storage data P; generating a signature using a signature key, the signature being a digital signature of a quantity of data comprising the storage data P, the amount of data D and the authentication key K, wherein the signature key corresponds to a verification key accessible by the device; generating an authentication code for the error correction data R using the authentication key K, wherein the authenticity of the error correction dat
    Type: Grant
    Filed: March 27, 2013
    Date of Patent: April 17, 2018
    Assignee: IRDETO B.V.
    Inventor: Jeroen Doumen
  • Patent number: 9934375
    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: September 20, 2016
    Date of Patent: April 3, 2018
    Assignee: IRDETO B.V.
    Inventors: Yuan Xiang Gu, Garney David Adams
  • Patent number: 9934374
    Abstract: The present disclosure provides a description of a computer implemented method and system for protecting a software program from attack during runtime. The system comprises a plurality of software blocks for providing desired functions during execution of a software program and a trusted address server having a table for mapping predetermined source tokens to destination tokens. The trusted address server couples each of the plurality of software blocks for receipt of predetermined source tokens from any one of the plurality of software blocks, while returning a mapped destination token from the predetermined destination tokens to said any one of the plurality of software blocks in dependence upon the table for mapping predetermined source tokens to destination tokens.
    Type: Grant
    Filed: February 10, 2012
    Date of Patent: April 3, 2018
    Assignee: IRDETO B.V.
    Inventors: Robert Krten, Jonathan Emmett, Clifford Liem
  • Publication number: 20180091295
    Abstract: A method for a first entity to protect a first amount of data and to enable a second entity to perform data processing based on the first amount of data, the method comprising the first entity: applying a predetermined function to the first amount of data to generate a first value; and generating a second amount of data for the second entity to process, said generating comprising combining, using a first combination function, each of a number N of elements of the first amount of data with the first value; wherein the predetermined function is a function for which application of the predetermined function to an input quantity of data generates a corresponding output value, and the predetermined function has a property that, given a second quantity of data generated by modifying each of N elements of a first quantity of data by combining, using the first combination function, each of those N of elements of the first quantity of data with the output value generated by applying the predetermined function to the f
    Type: Application
    Filed: March 30, 2015
    Publication date: March 29, 2018
    Applicant: IRDETO B.V.
    Inventor: Michel KINASZ
  • Publication number: 20180091296
    Abstract: A cryptographic method comprising sequentially performing a number of rounds, each round comprising performing a respective round function on respective input data for that round to generate respective output data for that round, wherein for each of the second and subsequent rounds, the input data for that round is the output data of the preceding round, wherein for each round the respective round function comprises: applying a respective bijective operation to a first amount of data to produce a first result, the bijective operation corresponding to at least part of a cryptographic key; and processing a second amount of data by applying a plurality of processing operations to produce a second result, wherein at least one of the processing operations is the bijective operation; wherein the first amount of data and the second amount of data are based on the input for said round and wherein the output data for said round is based on the first result and the second result; wherein one or both of the following ap
    Type: Application
    Filed: March 30, 2016
    Publication date: March 29, 2018
    Applicant: IRDETO B.V.
    Inventors: HAROLD JOHNSON, JEROEN DOUMEN, MICHAEL WIENER
  • Patent number: 9928350
    Abstract: There is disclosed a method of controlling use of encrypted content by a plurality of client terminals each provided with a digital rights management (DRM) client and a content decryption module separate to the DRM client. First key information is provided for use by one or more selected ones of the DRM clients, and second key information is provided for use by one or more selected ones of the content decryption modules. Content key information is encrypted to form encrypted content key information such that the selected ones of the content decryption modules are enabled by the second key information to recover the content key information from the encrypted content key information. The encrypted content key information is further encrypted to form super-encrypted content key information such that the selected ones of the DRM clients are enabled by the first key information to recover the encrypted content key information from the super-encrypted content key information.
    Type: Grant
    Filed: February 17, 2012
    Date of Patent: March 27, 2018
    Assignee: IRDETO B.V.
    Inventor: Peter Roelse
  • Publication number: 20180068118
    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: Application
    Filed: November 3, 2017
    Publication date: March 8, 2018
    Applicant: Irdeto B.V.
    Inventor: Ron Vandergeest
  • Publication number: 20180068117
    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: Application
    Filed: November 3, 2017
    Publication date: March 8, 2018
    Applicant: Irdeto B.V.
    Inventor: Ron Vandergeest
  • Patent number: 9910971
    Abstract: Methods and devices for thwarting code and control flow based attacks on software. The source code of a subject piece of software is automatically divided into basic blocks of logic. Selected basic blocks are amended so that their outputs are extended. Similarly, other basic blocks are amended such that their inputs are correspondingly extended. The amendments increase or create dependencies between basic blocks such that tampering with one basic block's code causes other basic blocks to malfunction when executed.
    Type: Grant
    Filed: January 12, 2016
    Date of Patent: March 6, 2018
    Assignee: IRDETO B.V.
    Inventors: Harold Joseph Johnson, Yuan Xiang Gu, Yongxin Zhou
  • Patent number: 9910970
    Abstract: The invention provides a method, a hardware circuit and a hardware device for enabling a software application to be executed on a hardware device in dependence of the hardware circuit, while preventing the execution of a binary copy of the application in another hardware device. Challenge data originating from the software application is input to a hardware circuit of the hardware device, wherein the hardware circuit is configured to perform a deterministic function. Response data is generated by the hardware device, which is used to manipulate at least a part of the software application to thereby enable the software application to be executed.
    Type: Grant
    Filed: March 19, 2012
    Date of Patent: March 6, 2018
    Assignee: IRDETO B.V.
    Inventor: Jeroen Mathias Doumen
  • Publication number: 20180060571
    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: Application
    Filed: November 6, 2017
    Publication date: March 1, 2018
    Applicant: Irdeto B.V.
    Inventor: Ron Vandergeest
  • Publication number: 20180060570
    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: Application
    Filed: November 5, 2017
    Publication date: March 1, 2018
    Applicant: Irdeto B.V.
    Inventor: Ron Vandergeest
  • Patent number: 9906360
    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: February 27, 2018
    Assignee: IRDETO B.V.
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
  • Patent number: 9892272
    Abstract: A flexible software library in which the software modules are defined as an abstract intermediate representation. The flexible library allows security transformation and performance attribute selections to be made by the end-user, rather than the library creator. Furthermore, since the flexible library contains an abstract representation of the software modules, the library can also be provisioned to contain an arbitrary number of named instances, representing specific sets of values for security and performance decisions, along with the corresponding native object-code resulting from those decisions. This permits distribution of software modules in a completely platform-independent manner while avoiding the disclosure of proprietary information, such as source-files.
    Type: Grant
    Filed: March 31, 2010
    Date of Patent: February 13, 2018
    Assignee: IRDETO B.V.
    Inventors: Grant Stewart Goodes, Clifford Liem
  • Publication number: 20180032746
    Abstract: A flexible software library in which the software modules are defined as an abstract intermediate representation. The flexible library allows security transformation and performance attribute selections to be made by the end-user, rather than the library creator. Furthermore, since the flexible library contains an abstract representation of the software modules, the library can also be provisioned to contain an arbitrary number of named instances, representing specific sets of values for security and performance decisions, along with the corresponding native object-code resulting from those decisions. This permits distribution of software modules in a completely platform-independent manner while avoiding the disclosure of proprietary information, such as source-files.
    Type: Application
    Filed: October 8, 2017
    Publication date: February 1, 2018
    Applicant: IRDETO B.V.
    Inventors: Grant Stewart Goodes, Clifford Liem
  • Patent number: 9866381
    Abstract: Embodiments of the invention provide an improved method and an improved receiver for obtaining a control word. Two or more subkeys are obtained in a receiver. Each subkey was encrypted under control of a key received in an entitlement message or transformed under control of a seed received in an entitlement message. After decryption or transformation, the subkeys are combined to obtain the control word. Typically at least one of the entitlement messages is a positive entitlement message and at least one of the entitlement messages is a negative entitlement message. Embodiments of the invention can be used in a conditional access system such as a Pay-TV system.
    Type: Grant
    Filed: January 12, 2015
    Date of Patent: January 9, 2018
    Assignee: IRDETO B.V.
    Inventors: Philip Allan Eisen, Ettore Benedetti, Arnoud Evert Van Foreest, Andrew Augustine Wajs
  • Patent number: 9811666
    Abstract: A method and system is provided to automatically propagate dependencies from one part of a software application to another previously unrelated part. Propagation of essential code functionality and data to other parts of the program serves to augment common arithmetic functions with Mixed Boolean Arithmetic (MBA) formulae that are bound to pre-existing parts of the program. A software application is first analyzed on a compiler level to determine the program properties which hold in the program. Thereafter, conditions are constructed based on these properties and encoded in formulae that encode the condition in data and operations. Real dependencies throughout the application are therefore created such that if a dependency is broken the program will no longer function correctly.
    Type: Grant
    Filed: March 24, 2011
    Date of Patent: November 7, 2017
    Assignee: IRDETO B.V.
    Inventors: Clifford Liem, Yongxin Zhou, Yuan Xiang Gu
  • Patent number: 9787479
    Abstract: There is described a challenge-response method for a client device. The method comprises steps of: (a) receiving challenge data, wherein the challenge data is content encrypted using an encryption key, the content including a nonce; (b) using a secured module of the client device to access the content by decrypting the challenge data using a decryption key of the secured module, the decryption key corresponding to the encryption key; (c) processing a version of the content output by the secured module so as to obtain the nonce; and (d) providing the nonce as a response. There is also described a client device for implementing the above challenge-response method. There is also described a computer program which, when executed by a processor, causes the processor to carry out the above challenge-response method. Finally, there is described a computer readable medium storing the above-mentioned computer program.
    Type: Grant
    Filed: March 27, 2013
    Date of Patent: October 10, 2017
    Assignee: IRDETO B.V.
    Inventors: Andrew Augustine Wajs, Calin Ciordas, Fan Zhang