Patents by Inventor Clifford Liem

Clifford Liem has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11722529
    Abstract: A method and system for managing shared use of an asset. An asset device and an owner device accomplish an initial setup procedure to register the owner with the asset. One or more secure policies are then sent from the owner device, or another device authorized to create policies, to one or more user devices. The policies express user conditions and limitations for using the asset. Subsequently, the user device transmits the secure policy to the asset device. Once the policy has been transferred from the user device to the asset device, user associated with the user device can request use of the asset and will be granted the requested use if the requested use is permitted by the policy.
    Type: Grant
    Filed: February 8, 2022
    Date of Patent: August 8, 2023
    Assignee: Irdeto B.V.
    Inventors: Yaser Eftekhari Roozbehani, Clifford Liem
  • Patent number: 11637835
    Abstract: Methods and systems for providing secure digital access to services are described. Embodiments include user behavior tracking, learning, and updating one or more contextual access algorithms and thereafter can act as multi-factor authentications. The method may include receiving data for a group of users and initializing a machine learning algorithm with the group data. The method may also collect individual user data and context data periodically, including characteristic behavior data, and update the machine learning algorithm with the individual user data. The method may further calculate a threshold for tolerance based on the updated algorithm, and verify user requests for access to the service. A multi-factor authentication may be presented to the user when the verifications are not acceptable, such as by being below a threshold. A permissions data structure can be generated and used to control access to the service.
    Type: Grant
    Filed: June 17, 2020
    Date of Patent: April 25, 2023
    Assignee: Irdeto B.V.
    Inventors: Clifford Liem, Martin Soukup, Daniel Murdock
  • Patent number: 11606211
    Abstract: A method of operating a system, wherein the system comprises a plurality of components, the method comprising: maintaining a distributed ledger, wherein the distributed ledger comprises data records, wherein each data record stores information concerning one or more respective components of the plurality of components; at least one component of the plurality of components processing the information stored in one or more respective data records of the distributed ledger to determine whether the system meets one or more respective security criteria; and one or both of: (i) the at least one component performing a respective first action if the at least one component determines that the system meets the one or more respective security criteria; and (ii) the at least one component performing a respective second action if the at least one component determines that the system does not meet the one or more respective security criteria.
    Type: Grant
    Filed: March 8, 2018
    Date of Patent: March 14, 2023
    Assignee: Irdeto B.V.
    Inventors: Clifford Liem, John O'Connor
  • Publication number: 20220166802
    Abstract: A method and system for managing shared use of an asset. An asset device and an owner device accomplish an initial setup procedure to register the owner with the asset. One or more secure policies are then sent from the owner device, or another device authorized to create policies, to one or more user devices. The policies express user conditions and limitations for using the asset. Subsequently, the user device transmits the secure policy to the asset device. Once the policy has been transferred from the user device to the asset device, user associated with the user device can request use of the asset and will be granted the requested use if the requested use is permitted by the policy.
    Type: Application
    Filed: February 8, 2022
    Publication date: May 26, 2022
    Applicant: IRDETO B.V.
    Inventors: Yaser Eftekhari Roozbehani, Clifford Liem
  • Patent number: 11316898
    Abstract: A method and system for managing shared use of an asset. An asset device and an owner device accomplish an initial setup procedure to register the owner with the asset. One or more secure policies are then sent from the owner device, or another device authorized to create policies, to one or more user devices. The policies express user conditions and limitations for using the asset. Subsequently, the user device transmits the secure policy to the asset device. Once the policy has been transferred from the user device to the asset device, user associated with the user device can request use of the asset and will be granted the requested use if the requested use is permitted by the policy.
    Type: Grant
    Filed: June 28, 2018
    Date of Patent: April 26, 2022
    Assignee: IRDETO B.V.
    Inventors: Yaser Eftekhari Roozbehani, Clifford Liem
  • Publication number: 20210400048
    Abstract: Methods and systems for providing secure digital access to services are described. Embodiments include user behavior tracking, learning, and updating one or more contextual access algorithms and thereafter can act as multi-factor authentications. The method may include receiving data for a group of users and initializing a machine learning algorithm with the group data. The method may also collect individual user data and context data periodically, including characteristic behavior data, and update the machine learning algorithm with the individual user data. The method may further calculate a threshold for tolerance based on the updated algorithm, and verify user requests for access to the service. A multi-factor authentication may be presented to the user when the verifications are not acceptable, such as by being below a threshold. A permissions data structure can be generated and used to control access to the service.
    Type: Application
    Filed: June 17, 2020
    Publication date: December 23, 2021
    Inventors: Clifford LIEM, Martin SOUKUP, Daniel MURDOCK
  • Publication number: 20210397683
    Abstract: Methods and systems for continuously authenticating a user of a device by comparing current sensor data of the device being used with a fingerprint generated from sensor data collected from the device during use by an authorized user. A likelihood value, indicating the likelihood that the user is an authorized user of the device, is generated and the user is authenticated when the likelihood value is determined to be acceptable.
    Type: Application
    Filed: June 17, 2021
    Publication date: December 23, 2021
    Inventors: Clifford LIEM, Martin SOUKUP, Daniel MURDOCK, Fernando Berra Kossik
  • Publication number: 20200007342
    Abstract: A method of operating a system, wherein the system comprises a plurality of components, the method comprising: maintaining a distributed ledger, wherein the distributed ledger comprises data records, wherein each data record stores information concerning one or more respective components of the plurality of components; at least one component of the plurality of components processing the information stored in one or more respective data records of the distributed ledger to determine whether the system meets one or more respective security criteria; and one or both of: (i) the at least one component performing a respective first action if the at least one component determines that the system meets the one or more respective security criteria; and (ii) the at least one component performing a respective second action if the at least one component determines that the system does not meet the one or more respective security criteria.
    Type: Application
    Filed: March 8, 2018
    Publication date: January 2, 2020
    Inventors: Clifford Liem, John O'Connor
  • Publication number: 20190215342
    Abstract: A method and system for managing shared use of an asset. An asset device and an owner device accomplish an initial setup procedure to register the owner with the asset. One or more secure policies are then sent from the owner device, or another device authorized to create policies, to one or more user devices. The policies express user conditions and limitations for using the asset. Subsequently, the user device transmits the secure policy to the asset device. Once the policy has been transferred from the user device to the asset device, user associated with the user device can request use of the asset and will be granted the requested use if the requested use is permitted by the policy.
    Type: Application
    Filed: June 28, 2018
    Publication date: July 11, 2019
    Applicant: IRDETO B.V.
    Inventors: Yaser Eftekhari Roozbehani, Clifford Liem
  • Patent number: 10318271
    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: February 7, 2017
    Date of Patent: June 11, 2019
    Assignee: IRDETO CANADA CORPORATION
    Inventors: Clifford Liem, Hongrui Dong, Sam Martin, Yuan Xiang Gu, Michael Wiener
  • Patent number: 10185837
    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: October 8, 2017
    Date of Patent: January 22, 2019
    Assignee: IRDETO B.V.
    Inventors: Grant Stewart Goodes, Clifford Liem
  • 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
  • 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: 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: 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: 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: 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
  • 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: 9454666
    Abstract: In the present disclosure, a hash function is computed over a known image, for example, an address range in a program. The result of the hash function is known to be the same at two distinct points in time, before the program is run, i.e. signing at build-time, and during the running of the program, i.e. run time. The value that the programmer wishes to hide, i.e. the secret value, is also known at build-time. At build-time, the secret value is combined with the hash in such a way that the combining operation can be reversed at run time. This combined value, i.e. the salt, is stored along with the program. Later, at runtime, the program computes the same hash value as was computed at signing time, and does the reverse combining operation in order to reveal the secret value.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: September 27, 2016
    Assignee: Irdeto B.V.
    Inventors: Robert Krten, Hongrui Dong, Clifford Liem