Patents by Inventor David Darmon
David Darmon 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: 10642971Abstract: In one embodiment a device is described, the device including a memory operative to store an program, a storage operative to store a reference check value for at least one operation in the program, a processor operative to execute the program, including, determining a run-time check value upon execution of the at least one operation in the program, comparing the stored reference check value with the run-time check value, storing the run-time check value as a pre-branch run-time check value prior to entering a conditional branch of the program when the compared stored reference check value and the run-time check value are equal values, resetting the run-time check value of the executing program to the pre-branch run-time check value upon exiting the conditional branch of the program, wherein the reference check value, the run-time check value, and the pre-branch run-time check value are determined as a result of a single function. Related apparatus, methods and systems are also described.Type: GrantFiled: September 4, 2017Date of Patent: May 5, 2020Assignee: Cisco Technology, Inc.Inventors: David Darmon, Lev Yudalevich, Leonid Frenkel, Yair Arzi, Yigal Dahan, Eyal Wasserman, Yaacov Belenky
-
Patent number: 10396043Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.Type: GrantFiled: February 26, 2019Date of Patent: August 27, 2019Assignee: Cisco Technology, Inc.Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
-
Publication number: 20190189571Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.Type: ApplicationFiled: February 26, 2019Publication date: June 20, 2019Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
-
Patent number: 10262956Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.Type: GrantFiled: July 3, 2017Date of Patent: April 16, 2019Assignee: Cisco Technology, Inc.Inventors: David Darmon, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
-
Publication number: 20190073472Abstract: In one embodiment a device is described, the device including a memory operative to store an program, a storage operative to store a reference check value for at least one operation in the program, a processor operative to execute the program, including, determining a run-time check value upon execution of the at least one operation in the program, comparing the stored reference check value with the run-time check value, storing the run-time check value as a pre-branch run-time check value prior to entering a conditional branch of the program when the compared stored reference check value and the run-time check value are equal values, resetting the run-time check value of the executing program to the pre-branch run-time check value upon exiting the conditional branch of the program, wherein the reference check value, the run-time check value, and the pre-branch run-time check value are determined as a result of a single function. Related apparatus, methods and systems are also described.Type: ApplicationFiled: September 4, 2017Publication date: March 7, 2019Inventors: David Darmon, Lev Yudalevich, Leonid Frenkel, Yair Arzi, Yigal Dahan, Eyal Wasserman, Yaacov Belenky
-
Publication number: 20190028266Abstract: In one embodiment, a system and method is described for dynamic encryption of CPU registers. A data item, encrypted according to a first key is stored in one register in a CPU register file. A second data item is encrypted according to a second key, and is written to another of the registers. A flag, associated with each of the registers, is stored, indicating whether the data item is encrypted according to the first or second key. One of the data items is decrypted by retrieving its associated flag, thereby determining according to which key the data item is encrypted. Thereupon, the data item is decrypted according to the determined key. The keys are updated by a controller once each of the flags are set. The controller changes the second key to be the first key, stores a new second key, and clears each of the flags. Related apparatus, systems and methods are also described.Type: ApplicationFiled: July 23, 2017Publication date: January 24, 2019Inventors: David DARMON, Avi Klein, Yaacov Belenky
-
Publication number: 20180247902Abstract: In one embodiment, a chip comprising a circuit, the circuit comprising a plurality of components, wherein the circuit is adapted to perform a function that is dependent on timing behavior of the circuit, and wherein a geometry of a layout of the circuit is substantially the same as another geometry of another layout of another circuit adapted to perform another function that is dependent on different timing behavior.Type: ApplicationFiled: July 3, 2017Publication date: August 30, 2018Inventors: David DARMON, Avi Klein, Yehuda Salmon, Aharon Grabovsky, Ruben Attia
-
Patent number: 8621186Abstract: Obfuscating a multi-threaded computer program is carried out using an instruction pipeline in a computer processor by streaming first instructions of a first thread of a multi-threaded computer application program into the pipeline, the first instructions entering the pipeline at the fetch stage, detecting a stall signal indicative of a stall condition in the pipeline, and responsively to the stall signal injecting second instructions of a second thread of the multi-threaded computer application program into the pipeline. The injected second instructions enter the pipeline at an injection stage that is disposed downstream from the fetch stage up to and including the register stage for processing therein. The stall condition exists at one of the stages that is located upstream from the injection stage.Type: GrantFiled: November 14, 2011Date of Patent: December 31, 2013Assignee: Cisco Technology Inc.Inventors: David Darmon, Uri Kaluzhny
-
Publication number: 20130262825Abstract: Obfuscating a multi-threaded computer program is carried out using an instruction pipeline in a computer processor by streaming first instructions of a first thread of a multi-threaded computer application program into the pipeline, the first instructions entering the pipeline at the fetch stage, detecting a stall signal indicative of a stall condition in the pipeline, and responsively to the stall signal injecting second instructions of a second thread of the multi-threaded computer application program into the pipeline. The injected second instructions enter the pipeline at an injection stage that is disposed downstream from the fetch stage up to and including the register stage for processing therein. The stall condition exists at one of the stages that is located upstream from the in injection stage.Type: ApplicationFiled: November 14, 2011Publication date: October 3, 2013Applicant: Cisco Technology Inc.Inventors: David Darmon, Uri Kaluzhny