Patents by Inventor Harold Johnson

Harold Johnson 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: 11354410
    Abstract: There is described a method of protecting an item of software so as to obfuscate a condition which causes a variation in control flow through a portion of the item of software dependent on whether the condition is satisfied, wherein satisfaction of the condition is based on evaluation of one or more condition variables. The method comprises: (i) modifying the item of software such that the control flow through said portion is not dependent on whether the condition is satisfied; and (ii) inserting a plurality of identity transformations into expressions in said portion of the modified item of software, wherein the identity transformations are defined and inserted such that, in the absence of tampering, they maintain the results of the expressions if the condition is satisfied and such that they alter the results of the expressions if the condition is not satisfied, wherein each identity transformation is directly or indirectly dependent on at least one of the one or more condition variables.
    Type: Grant
    Filed: March 30, 2015
    Date of Patent: June 7, 2022
    Assignee: IRDETO B.V.
    Inventors: Yuan Xiang Gu, Harold Johnson
  • Patent number: 11281769
    Abstract: A method comprising, during runtime of an item of software that comprises one or more portions of code and verification code: the verification code generating verification data using (a) runtime data generated by the one or more portions of code and (b) one or more predetermined parameters, the verification data representing an element of a predetermined first set of data elements; and providing the verification data to an integrity checker arranged to (i) identify that a modification relating to the verification code has not occurred if the verification data represents an element of a predetermined second set of data elements, wherein the second set is a subset of the first set, and (ii) identify that a modification relating to the verification code has occurred if the verification data does not represent an element of the second set; wherein it is computationally infeasible to determine an element of the second set without knowledge of the one or more predetermined parameters or data related to the one or m
    Type: Grant
    Filed: December 15, 2016
    Date of Patent: March 22, 2022
    Assignee: IRDETO B.V.
    Inventors: Yuan Xiang Gu, Harold Johnson
  • Publication number: 20210034343
    Abstract: Systems, methods, and storage media for producing protected code in which functionality of the protected code can be verified are disclosed. Exemplary implementations may: receive computer source code that, when compiled and executed, produces functionality in accordance with code specifications, the code including executable code and annotations; apply transformations to at least one portion of the computer source code to produce transformed code having at least one transformed portion of executable code and annotations; store the transformed source code; create an additional annotation which includes verification properties and/or verification conditions that must hold true for the transformed code if the transformed code conforms to the code specifications, the annotation also including at least one hint; and store the annotation in correspondence to the relevant at least one transformed portion of the transformed source code to produce protected code.
    Type: Application
    Filed: July 31, 2019
    Publication date: February 4, 2021
    Inventors: Bahman SISTANY, Harold JOHNSON
  • Publication number: 20200065480
    Abstract: A method comprising, during runtime of an item of software that comprises one or more portions of code and verification code: the verification code generating verification data using (a) runtime data generated by the one or more portions of code and (b) one or more predetermined parameters, the verification data representing an element of a predetermined first set of data elements; and providing the verification data to an integrity checker arranged to (i) identify that a modification relating to the verification code has not occurred if the verification data represents an element of a predetermined second set of data elements, wherein the second set is a subset of the first set, and (ii) identify that a modification relating to the verification code has occurred if the verification data does not represent an element of the second set; wherein it is computationally infeasible to determine an element of the second set without knowledge of the one or more predetermined parameters or data related to the one or m
    Type: Application
    Filed: December 15, 2016
    Publication date: February 27, 2020
    Inventors: Yuan Xiang Gu, Harold Johnson
  • Patent number: 10409966
    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: Grant
    Filed: March 31, 2015
    Date of Patent: September 10, 2019
    Assignee: IRDETO B.V.
    Inventors: Yuan Gu, Harold Johnson, Yaser Eftekhari, Bahman Sistany, Robert Durand
  • 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
  • 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: 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
  • Publication number: 20170213027
    Abstract: There is described a method of protecting an item of software so as to obfuscate a condition which causes a variation in control flow through a portion of the item of software dependent on whether the condition is satisfied, wherein satisfaction of the condition is based on evaluation of one or more condition variables. The method comprises: (i) modifying the item of software such that the control flow through said portion is not dependent on whether the condition is satisfied; and (ii) inserting a plurality of identity transformations into expressions in said portion of the modified item of software, wherein the identity transformations are defined and inserted such that, in the absence of tampering, they maintain the results of the expressions if the condition is satisfied and such that they alter the results of the expressions if the condition is not satisfied, wherein each identity transformation is directly or indirectly dependent on at least one of the one or more condition variables.
    Type: Application
    Filed: March 30, 2015
    Publication date: July 27, 2017
    Inventors: Yuan Xiang Gu, Harold Johnson
  • 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
  • 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
  • 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
  • Patent number: 9491173
    Abstract: A method, system, and computer-readable media are provided for transmitting wireless data across a coaxial cable. In one aspect, a set of computer-readable media provides a method that includes receiving a request from a mobile device for data and transmitting the data across a coaxial cable to a cable modem. The method further includes sending the data to the mobile device through a base station, wherein the base station communicates with the cable modem in order to receive the data.
    Type: Grant
    Filed: December 17, 2015
    Date of Patent: November 8, 2016
    Assignee: Sprint Communications Company L.P.
    Inventors: Harold Johnson, Timothy Euler
  • Patent number: 9252838
    Abstract: A method, system, and computer-readable media are provided for transmitting wireless data across a coaxial cable. In one aspect, a set of computer-readable media provides a method that includes receiving a request from a mobile device for data and transmitting the data across a coaxial cable to a cable modem. The method further includes sending the data to the mobile device through a base station, wherein the base station communicates with the cable modem in order to receive the data.
    Type: Grant
    Filed: November 2, 2012
    Date of Patent: February 2, 2016
    Assignee: Sprint Communications Company L.P.
    Inventors: Harold Johnson, Timothy Euler
  • Publication number: 20150326389
    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: Application
    Filed: March 28, 2013
    Publication date: November 12, 2015
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
  • Publication number: 20150238789
    Abstract: A system of fire protective sprinklers that fully cover and wet all areas of a structural roof threatened by a rapidly spreading fire, comprising a strategically placed array of roof mounted, long range water sprinkler heads, capable of fully covering the surface of the roof with a continual spray, keeping the roof wet to reduce its susceptibility to airborne embers that otherwise might ignite a fire; piping to carry water to the sprinkler heads; and a water source to provide water.
    Type: Application
    Filed: February 17, 2015
    Publication date: August 27, 2015
    Inventors: Harold Johnson, Dwayne L. Bracy
  • Publication number: 20150082425
    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: Application
    Filed: March 28, 2013
    Publication date: March 19, 2015
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
  • Publication number: 20150067874
    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: Application
    Filed: March 28, 2013
    Publication date: March 5, 2015
    Applicant: IRDETO CANADA CORPORATION
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
  • Publication number: 20150067875
    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: Application
    Filed: March 28, 2013
    Publication date: March 5, 2015
    Applicant: IRDETO CANADA CORPORATION
    Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
  • Patent number: 8340625
    Abstract: A method, system, and computer-readable media are provided for transmitting wireless data across a coaxial cable. In one aspect, a set of computer-readable media provides a method that includes receiving a request from a mobile device for data and transmitting the data across a coaxial cable to a cable modem. The method further includes sending the data to the mobile device through a base station, wherein the base station communicates with the cable modem in order to receive the data.
    Type: Grant
    Filed: June 6, 2007
    Date of Patent: December 25, 2012
    Assignee: Sprint Communications Company L.P.
    Inventors: Harold Johnson, Timothy Euler