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: 11354410Abstract: 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: GrantFiled: March 30, 2015Date of Patent: June 7, 2022Assignee: IRDETO B.V.Inventors: Yuan Xiang Gu, Harold Johnson
-
Patent number: 11281769Abstract: 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 mType: GrantFiled: December 15, 2016Date of Patent: March 22, 2022Assignee: IRDETO B.V.Inventors: Yuan Xiang Gu, Harold Johnson
-
Publication number: 20210034343Abstract: 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: ApplicationFiled: July 31, 2019Publication date: February 4, 2021Inventors: Bahman SISTANY, Harold JOHNSON
-
Publication number: 20200065480Abstract: 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 mType: ApplicationFiled: December 15, 2016Publication date: February 27, 2020Inventors: Yuan Xiang Gu, Harold Johnson
-
Patent number: 10409966Abstract: 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: GrantFiled: March 31, 2015Date of Patent: September 10, 2019Assignee: IRDETO B.V.Inventors: Yuan Gu, Harold Johnson, Yaser Eftekhari, Bahman Sistany, Robert Durand
-
Patent number: 9965623Abstract: 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: GrantFiled: March 28, 2013Date of Patent: May 8, 2018Assignee: IRDETO B.V.Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Publication number: 20180091296Abstract: 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 apType: ApplicationFiled: March 30, 2016Publication date: March 29, 2018Applicant: IRDETO B.V.Inventors: HAROLD JOHNSON, JEROEN DOUMEN, MICHAEL WIENER
-
Patent number: 9906360Abstract: 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: GrantFiled: March 28, 2013Date of Patent: February 27, 2018Assignee: IRDETO B.V.Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Publication number: 20170213027Abstract: 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: ApplicationFiled: March 30, 2015Publication date: July 27, 2017Inventors: Yuan Xiang Gu, Harold Johnson
-
Patent number: 9698973Abstract: 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: GrantFiled: March 28, 2013Date of Patent: July 4, 2017Assignee: IRDETO B.V.Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
-
Publication number: 20170116410Abstract: 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: ApplicationFiled: March 31, 2015Publication date: April 27, 2017Applicant: IRDETO B.V.Inventors: Andrew Wajs, Harold Johnson, Yuan Gu, Wim Mooij, Hans Dekker, Calin Ciordas, Fan Zhang
-
Publication number: 20170116396Abstract: 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: ApplicationFiled: March 31, 2015Publication date: April 27, 2017Applicant: IRDETO B.V.Inventors: Yuan Gu, Harold Johnson, Yaser Eftekhari, Bahman Sistany, Robert Durand
-
Patent number: 9491173Abstract: 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: GrantFiled: December 17, 2015Date of Patent: November 8, 2016Assignee: Sprint Communications Company L.P.Inventors: Harold Johnson, Timothy Euler
-
Patent number: 9252838Abstract: 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: GrantFiled: November 2, 2012Date of Patent: February 2, 2016Assignee: Sprint Communications Company L.P.Inventors: Harold Johnson, Timothy Euler
-
Publication number: 20150326389Abstract: 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: ApplicationFiled: March 28, 2013Publication date: November 12, 2015Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
-
Publication number: 20150238789Abstract: 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: ApplicationFiled: February 17, 2015Publication date: August 27, 2015Inventors: Harold Johnson, Dwayne L. Bracy
-
Publication number: 20150082425Abstract: 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: ApplicationFiled: March 28, 2013Publication date: March 19, 2015Inventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Publication number: 20150067874Abstract: 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: ApplicationFiled: March 28, 2013Publication date: March 5, 2015Applicant: IRDETO CANADA CORPORATIONInventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener
-
Publication number: 20150067875Abstract: 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: ApplicationFiled: March 28, 2013Publication date: March 5, 2015Applicant: IRDETO CANADA CORPORATIONInventors: Harold Johnson, Yuan Xiang Gu, Michael Wiener, Yongxin Zhou
-
Patent number: 8340625Abstract: 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: GrantFiled: June 6, 2007Date of Patent: December 25, 2012Assignee: Sprint Communications Company L.P.Inventors: Harold Johnson, Timothy Euler