Patents by Inventor Ventzislav Nikov

Ventzislav Nikov 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: 11914703
    Abstract: A method and data processing system are provided for detecting a malicious component in a data processing system. The malicious component may be of any type, such as a hardware trojan, malware, or ransomware. In the method, a plurality of counters is used to count events in the data processing system during operation, where each event has a counter associated therewith. A machine learning model is trained a normal pattern of behavior of the data processing system using the event counts. After training, an operation of the data processing system is monitored using the machine learning model. Current occurrences of events in the data processing system are compared to the normal pattern of behavior. If a different pattern of behavior is detected, an indication, such as a flag, of the different pattern of behavior is provided.
    Type: Grant
    Filed: July 3, 2019
    Date of Patent: February 27, 2024
    Assignee: NXP B.V.
    Inventors: Nikita Veshchikov, Ventzislav Nikov
  • Publication number: 20230395110
    Abstract: One example securely updates an integrated circuit to mitigate undesirable modifications and this involves an application circuit accessing an external network while a (e.g., nonvolatile) program memory is write protected; and a reset-boot circuit resetting and booting the application circuit while access to the external network is disabled, and causing an update for the application circuit. In response to an indication that an update is downloaded for installation, the downloaded update is installed in the memory while access to the external network is disabled, and execution of the reset mode is permitted after the update is installed. Also, a retrieval module may download, in response to an indication that an update is not downloaded, an update provided via the external network while the memory is write-protected and thereby permitting execution of the reset mode after the update is downloaded.
    Type: Application
    Filed: June 1, 2022
    Publication date: December 7, 2023
    Inventors: Marcel Medwed, Ventzislav Nikov, Tobias Schneider
  • Patent number: 11687678
    Abstract: A device and methods are described that comprise at least one host application and a rich execution environment. At least one interface is operably coupled to the REE for communicating with a remote server. A security sub-system comprises a security monitoring and control circuit coupled to the REE and connectable to the remote server via the REE and the at least one interface. The security monitoring and control circuit comprises an analytics circuit configured to detect an anomaly following a compromisation of the device. The security monitoring and control circuit is arranged to treat the REE as an untrusted component and in response to a detection of a compromisation of the REE or a component in the device that is accessible by the REE by the analytics circuit, the security monitoring and control circuit is configured to re-establish a secure connection to the remote server that tunnels through the REE and at least partially removes the compromisation from the device.
    Type: Grant
    Filed: October 27, 2020
    Date of Patent: June 27, 2023
    Assignee: NXP B.V.
    Inventors: Marcel Medwed, Tobias Schneider, Ventzislav Nikov, Jorge Miguel Ventuzelos Pereira, Rudi Verslegers, Nikita Veshchikov, Joppe Willem Bos, Jan Hoogerbrugge
  • Patent number: 11295025
    Abstract: A chip for securing storage of information includes a manager to access a pointer and a cipher engine to decrypt stored data. The pointer includes a first area and a second area. The first area includes an address indicating a storage location of the data and the second area includes a safety tag. The cipher engine decrypts the data output from the storage location based on a key and the safety tag in the second area of the pointer. These and other operations may be performed based on metadata that indicate probabilities that a correct safety tag was used to decrypt the data. In another embodiment, the manager may be replaced with an L1 cache.
    Type: Grant
    Filed: May 31, 2019
    Date of Patent: April 5, 2022
    Assignee: NXP B.V
    Inventors: Marcel Medwed, Jan Hoogerbrugge, Ventzislav Nikov, Asier Goikoetxea Yanci
  • Publication number: 20210133362
    Abstract: A device and methods are described that comprise at least one host application and a rich execution environment. At least one interface is operably coupled to the REE for communicating with a remote server. A security sub-system comprises a security monitoring and control circuit coupled to the REE and connectable to the remote server via the REE and the at least one interface. The security monitoring and control circuit comprises an analytics circuit configured to detect an anomaly following a compromisation of the device. The security monitoring and control circuit is arranged to treat the REE as an untrusted component and in response to a detection of a compromisation of the REE or a component in the device that is accessible by the REE by the analytics circuit, the security monitoring and control circuit is configured to re-establish a secure connection to the remote server that tunnels through the REE and at least partially removes the compromisation from the device.
    Type: Application
    Filed: October 27, 2020
    Publication date: May 6, 2021
    Inventors: Marcel Medwed, Tobias Schneider, Ventzislav Nikov, Jorge Miguel Ventuzelos Pereira, Rudi Verslegers, Nikita Veshchikov, Joppe Willem Bos, Jan Hoogerbrugge
  • Publication number: 20210004499
    Abstract: A method and data processing system are provided for detecting a malicious component in a data processing system. The malicious component may be of any type, such as a hardware trojan, malware, or ransomware. In the method, a plurality of counters is used to count events in the data processing system during operation, where each event has a counter associated therewith. A machine learning model is trained a normal pattern of behavior of the data processing system using the event counts. After training, an operation of the data processing system is monitored using the machine learning model. Current occurrences of events in the data processing system are compared to the normal pattern of behavior. If a different pattern of behavior is detected, an indication, such as a flag, of the different pattern of behavior is provided.
    Type: Application
    Filed: July 3, 2019
    Publication date: January 7, 2021
    Inventors: NIKITA VESHCHIKOV, VENTZISLAV NIKOV
  • Publication number: 20200380140
    Abstract: A chip for securing storage of information includes a manager to access a pointer and a cipher engine to decrypt stored data. The pointer includes a first area and a second area. The first area includes an address indicating a storage location of the data and the second area includes a safety tag. The cipher engine decrypts the data output from the storage location based on a key and the safety tag in the second area of the pointer. These and other operations may be performed based on metadata that indicate probabilities that a correct safety tag was used to decrypt the data. in another embodiment, the manager may be replaced with an L1 cache.
    Type: Application
    Filed: May 31, 2019
    Publication date: December 3, 2020
    Inventors: Marcel MEDWED, Jan HOOGERBRUGGE, Ventzislav NIKOV, Asier GOIKOETXEA YANCI
  • Patent number: 10824560
    Abstract: A data processing system and method for protecting a memory from unauthorized accesses are provided. The data processing system includes a system bus, a memory coupled to the system bus through a memory controller, and a processing core including a cache system. The memory controller is coupled to the system bus for controlling accesses to the memory that are requested by the processing core. A memory protection circuit uses one or more memory safety violation (MSV) indicators stored in out-of-bounds areas of the memory for detecting when the processing core attempts to access an out-of-bounds area of the memory. The processing core generates an error signal, such as an interrupt, when an attempt to access the out-of-bounds area is detected. The out-of-bounds area may be an unallocated area of the memory. The MSV indicator may be written to the memory by executing a flush instruction of the cache system, and may include the same number of bits as a cache line of the cache system.
    Type: Grant
    Filed: February 18, 2019
    Date of Patent: November 3, 2020
    Assignee: NXP B.V.
    Inventors: Jan Hoogerbrugge, Marcel Medwed, Ventzislav Nikov, Asier Goikoetxea Yanci
  • Publication number: 20200264976
    Abstract: A data processing system and method for protecting a memory from unauthorized accesses are provided. The data processing system includes a system bus, a memory coupled to the system bus through a memory controller, and a processing core including a cache system. The memory controller is coupled to the system bus for controlling accesses to the memory that are requested by the processing core. A memory protection circuit is coupled to the system bus and to the processing core. The memory protection circuit uses one or more memory safety violation (MSV) indicators stored in out-of-bounds areas of the memory for detecting when the processing core attempts to access an out-of-bounds area of the memory. The processing core generates an error signal, such as an interrupt, when an attempt to access the out-of-bounds area is detected. The out-of-bounds area may be an unallocated area of the memory.
    Type: Application
    Filed: February 18, 2019
    Publication date: August 20, 2020
    Inventors: Jan Hoogerbrugge, Marcel Medwed, Ventzislav Nikov, Asier Goikoetxea Yanci
  • Patent number: 10678474
    Abstract: A computing system using low-fat pointers, including: a memory configured to be accessed by the low-fat pointers; a processing core configured to access the memory; an interrupt controller configured to receive interrupts and to communicate interrupts to processes running on the processing core; and a memory safety peripheral configured to receive a pointer request, wherein the pointer is a low-fat pointer and to verify that the pointer request is within required memory bounds.
    Type: Grant
    Filed: November 30, 2018
    Date of Patent: June 9, 2020
    Assignee: NXP B.V.
    Inventors: Marcel Medwed, Jan Hoogerbrugge, Ventzislav Nikov
  • Patent number: 10680798
    Abstract: A secure computing device, including: a processor configured to carry out a secure operation; a memory in communication with the processer configured to store secure data; and a memory controller configured control storage of data in the memory and reading data from the memory, wherein the secure data is split into shares before being stored in the memory and wherein the memory controller is configured to: apply a masking storage transform (MST) to one of the shares to produce a masked share before storing the shares in the memory, wherein the MST is a permutation without a fixed point; apply an inverse MST to the masked share when reading the shares from the memory; and combine the read shares to reconstruct the secure data.
    Type: Grant
    Filed: February 15, 2017
    Date of Patent: June 9, 2020
    Assignee: NXP USA, Inc.
    Inventors: Miroslav Knezevic, Ventzislav Nikov
  • Publication number: 20200174694
    Abstract: A computing system using low-fat pointers, including: a memory configured to be accessed by the low-fat pointers; a processing core configured to access the memory; an interrupt controller configured to receive interrupts and to communicate interrupts to processes running on the processing core; and a memory safety peripheral configured to receive a pointer request, wherein the pointer is a low-fat pointer and to verify that the pointer request is within required memory bounds
    Type: Application
    Filed: November 30, 2018
    Publication date: June 4, 2020
    Inventors: Marcel MEDWED, Jan HOOGERBRUGGE, Ventzislav NIKOV
  • Patent number: 10630462
    Abstract: A method for implementing a pseudo-random function (PRF) using a white-box implementation of a cryptographic function in N rounds, including: receiving an input to the PRF; receiving a cryptographic key in a first round; encrypting, using the white-box implementation of the cryptographic function and the cryptographic key, an input message that is one of M possible input messages based upon a portion of the input to produce a first output; for each succeeding round: encrypting, using the white-box implementation of the cryptographic function and an ith cryptographic key, further input messages that are one of M possible input messages based upon a further portion of the input to produce an ith output, wherein the ith cryptographic key is the output from the preceding round, wherein the white-box implementation of the cryptographic function only produces a correct output for the M possible input messages and produces an incorrect output for input messages that are not one of the M possible input messages.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: April 21, 2020
    Assignee: NXP B.V.
    Inventors: Wilhelmus Petrus Adrianus Johannus Michiels, Marcel Medwed, Jan Hoogerbrugge, Ventzislav Nikov, Bruce Murray, Joppe Willem Bos
  • Patent number: 10567155
    Abstract: Methods of securing a cryptographic device against implementation attacks are described. A disclosed method comprises the steps of: generating secret values (324) using a pseudorandom generator (510); providing a key (330), an input (324) having a number of chunks and the secret values to an encryption module (340); indexing the chunks and the secret values (324); processing the input chunk wise by encrypting the secret values (324) indexed by the chunks using the key (330) and the encryption module (340); generating for each chunk a pseudorandom output (330?) of the encryption module (340), providing the pseudorandom output as the key (330?) when processing the next chunk; and performing a final transformation on the last pseudorandom output (330?) from the previous step by using it as a key to encrypt a fixed plaintext.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: February 18, 2020
    Assignee: NXP B.V.
    Inventors: Marcel Medwed, Ventzislav Nikov, Martin Feldhofer
  • Publication number: 20190132116
    Abstract: A method for implementing a pseudo-random function (PRF) using a white-box implementation of a cryptographic function in N rounds, including: receiving an input to the PRF; receiving a cryptographic key in a first round; encrypting, using the white-box implementation of the cryptographic function and the cryptographic key, an input message that is one of M possible input messages based upon a portion of the input to produce a first output; for each succeeding round: encrypting, using the white-box implementation of the cryptographic function and an ith cryptographic key, further input messages that are one of M possible input messages based upon a further portion of the input to produce an ith output, wherein the ith cryptographic key is the output from the preceding round, wherein the white-box implementation of the cryptographic function only produces a correct output for the M possible input messages and produces an incorrect output for input messages that are not one of the M possible input messages.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: Wilhelmus Petrus Adrianus Johannus MICHIELS, Marcel MEDWED, Jan HOOGERBRUGGE, Ventzislav NIKOV, Bruce MURRAY, Joppe Willem BOS
  • Publication number: 20180234233
    Abstract: A secure computing device, including: a processor configured to carry out a secure operation; a memory in communication with the processer configured to store secure data; and a memory controller configured control storage of data in the memory and reading data from the memory, wherein the secure data is split into shares before being stored in the memory and wherein the memory controller is configured to: apply a masking storage transform (MST) to one of the shares to produce a masked share before storing the shares in the memory, wherein the MST is a permutation without a fixed point; apply an inverse MST to the masked share when reading the shares from the memory; and combine the read shares to reconstruct the secure data.
    Type: Application
    Filed: February 15, 2017
    Publication date: August 16, 2018
    Inventors: Miroslav Knezevic, Ventzislav Nikov
  • Patent number: 9979543
    Abstract: An optimized hardware architecture and method introducing a simple arithmetic processor that allows efficient implementation of an Elliptical Curve Cryptography point doubling algorithm for Jacobian coordinates. The optimized architecture additionally reduces the required storage for intermediate values to one intermediate value.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: May 22, 2018
    Assignee: NXP B.V.
    Inventors: Miroslav Knezevic, Ventzislav Nikov
  • Patent number: 9965401
    Abstract: A method of obfuscating a code is provided, wherein the method comprises performing a first level obfuscating technique on a code to generate a first obfuscated code, and performing a second level obfuscating technique on the first obfuscated code. In particular, the code may be a software code or a software module. Furthermore, the first level obfuscating technique and the second obfuscating may be different. In particular, the second level obfuscating technique may perform a deobfuscation.
    Type: Grant
    Filed: October 8, 2016
    Date of Patent: May 8, 2018
    Assignee: NXP B.V.
    Inventors: Philippe Teuwen, Ventzislav Nikov
  • Patent number: 9961057
    Abstract: Methods of securing a cryptographic device against implementation attacks, are described. A disclosed method comprises the steps of obtaining a key (230) from memory of the cryptographic device; providing the key and a constant input (210) to an encryption module (240); deriving an output (250) of encrypted data bits using the encryption module (240); providing the output (250), the key (230) and an input vector (270) to a key update module (260); and using said key update module (260) to modify the key based on at least a part (270a) of the input vector (270) to derive an updated key (230a). This prevents the value of the key from being derived using the updated key or by using side-channel attacks because the input is constant for all keys. Additionally, by altering the input vector, the updated key is also altered.
    Type: Grant
    Filed: September 10, 2015
    Date of Patent: May 1, 2018
    Assignee: NXP B.V.
    Inventors: Marcel Medwed, Martin Feldhofer, Ventzislav Nikov
  • Patent number: 9929862
    Abstract: An optimized hardware architecture and method introducing a simple arithmetic processor that allows efficient implementation of an Elliptical Curve Cryptography point doubling algorithm for Jacobian coordinates. The optimized architecture additionally reduces the required storage for intermediate values.
    Type: Grant
    Filed: December 23, 2013
    Date of Patent: March 27, 2018
    Assignee: NXP B.V.
    Inventors: Miroslav Knezevic, Ventzislav Nikov