-
公开(公告)号:US20210182175A1
公开(公告)日:2021-06-17
申请号:US16715656
申请日:2019-12-16
Applicant: NXP B.V.
Inventor: Jan HOOGERBRUGGE , Marcel MEDWED
Abstract: A system and method for accessing a tagged global variable in software, including: randomly generating tags for global variables in the software; tagging the global variables with the random tags; creating a pointer to each global variable with the random tags in unused bits of the pointer wherein the pointer points to the associated global variable; accessing one global variable indirectly using the tagged pointer; determining whether tag on the accessed global variable matches the tag on the accessed pointer; and indicating a fault when the tag on the accessed global variable does not match the tag on the accessed pointer.
-
公开(公告)号:US20140317433A1
公开(公告)日:2014-10-23
申请号:US14244757
申请日:2014-04-03
Applicant: NXP B.V.
Inventor: Hamed FATEMI , Rinze Ida Mechtildis Peter MEIJER , Ghiath AL-KADI , Surendra GUNTUR , Jan HOOGERBRUGGE
IPC: G06F1/06
Abstract: This invention provides a clock control circuit, which can be added to any pipeline-processor to solve timing problems arising from variations due to process outcome and environmental conditions. Critical instructions are detected (instructions that exercise critical paths) in conjunction with environmental sensing (such as process, temperature and voltage). This information is used to control cycle stealing.
Abstract translation: 本发明提供一种时钟控制电路,其可以被添加到任何流水线处理器以解决由于过程结果和环境条件引起的变化引起的定时问题。 检测到关键指令(执行关键路径的指令)与环境感测(如过程,温度和电压)相结合。 此信息用于控制周期窃取。
-
公开(公告)号:US20210382740A1
公开(公告)日:2021-12-09
申请号:US16893628
申请日:2020-06-05
Applicant: NXP B.V.
Inventor: Jan HOOGERBRUGGE
IPC: G06F9/455 , G06F12/02 , G06F12/1018 , G06F12/14 , G06F12/0882
Abstract: A method is provided in a data processing system having second level address translation (SLAT) controlled by a hypervisor. In the method, hashes of all memory pages accessible by a guest OS are stored (set S). Also, hashes of all memory pages previously accessed by the guest OS are stored (set T). When the guest OS attempts an access to a memory page having executable code for which it does not have permission, an exception is generated. A hash of the memory page is compared with the hashes of set T and set S. If there is not a match within set T, then the guest OS has never attempted the requested operation before and suspicious behavior is reported. If there is not a match within set S, the requested operation is reported as illegal. In another embodiment, the memory page may be encrypted to prevent the guest OS from reading the memory page.
-
公开(公告)号:US20220114002A1
公开(公告)日:2022-04-14
申请号:US17066179
申请日:2020-10-08
Applicant: NXP B.V.
Abstract: A data processing system has a processor, a system memory, and a hypervisor. The system memory stores program code and data in a plurality of memory pages. The hypervisor controls SLAT (second level address translation) read, write, and execute access rights of the plurality of memory pages. A portion of the plurality of memory pages are classified as being in a secure enclave portion of the system memory and a portion is classified as being in an unsecure memory area. The portion of the memory pages classified in the secure enclave is encrypted and a hash is generated for each of the memory pages. During an access of a memory page, the hypervisor determines if the accessed memory page is in the secure enclave or in the unsecure memory area based on the hash. In another embodiment, a method for accessing a memory page in the secure enclave is provided.
-
公开(公告)号:US20200174694A1
公开(公告)日:2020-06-04
申请号:US16206066
申请日:2018-11-30
Applicant: NXP B.V.
Inventor: Marcel MEDWED , Jan HOOGERBRUGGE , Ventzislav NIKOV
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
-
公开(公告)号:US20180359081A1
公开(公告)日:2018-12-13
申请号:US15616648
申请日:2017-06-07
Applicant: NXP B.V.
IPC: H04L9/06
CPC classification number: H04L9/0631 , H04L9/0637 , H04L9/0643 , H04L9/3242 , H04L2209/046 , H04L2209/08 , H04L2209/16 , H04L2209/34
Abstract: A method for mapping an input message to a message authentication code (MAC) by a white-box implementation of a keyed cryptographic operation in a cryptographic system that includes using a white-box implementation of the block cipher in a MAC.
-
公开(公告)号:US20200380140A1
公开(公告)日:2020-12-03
申请号:US16427977
申请日:2019-05-31
Applicant: NXP B.V.
Inventor: Marcel MEDWED , Jan HOOGERBRUGGE , Ventzislav NIKOV , Asier GOIKOETXEA YANCI
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.
-
公开(公告)号:US20190132116A1
公开(公告)日:2019-05-02
申请号:US15795890
申请日:2017-10-27
Applicant: NXP B.V.
Inventor: Wilhelmus Petrus Adrianus Johannus MICHIELS , Marcel MEDWED , Jan HOOGERBRUGGE , Ventzislav NIKOV , Bruce MURRAY , Joppe Willem BOS
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.
-
公开(公告)号:US20190081797A1
公开(公告)日:2019-03-14
申请号:US15703597
申请日:2017-09-13
Applicant: NXP B.V.
Inventor: Joppe Willem BOS , Jan HOOGERBRUGGE , Wilhelmus Petrus Adrianus Johannus MICHIELS , Rudi VERSLEGERS
CPC classification number: H04L9/3252 , H04L9/002 , H04L9/0643 , H04L9/3066 , H04L63/123 , H04L2209/16
Abstract: Various embodiments relate to a method for producing a digital signature using a white-box implementation of a cryptographic digital signature function, including: receiving a input message; hashing the input message; generating a nonce based upon the input message and the white-box implementation of the cryptographic digital signature function; and computing a digital signature of the input using the nonce.
-
公开(公告)号:US20180359082A1
公开(公告)日:2018-12-13
申请号:US15617940
申请日:2017-06-08
Applicant: NXP B.V.
Inventor: Joppe Willem BOS , Jan HOOGERBRUGGE , Marc JOYE , Wilhelmus Petrus Adrianus Johannus MICHIELS
CPC classification number: H04L9/0631 , G09C1/00 , H04L9/002 , H04L9/30 , H04L2209/12 , H04L2209/16
Abstract: A method for producing a white-box implementation of a cryptographic function using garbled circuits, including: producing, by a first party, a logic circuit implementing the cryptographic function using a plurality of logic gates and a plurality of wires; garbling the produced logic circuit, by the first party, including garbling the plurality of logic gates and assigning two garbled values for each of the plurality of wires; and providing a second party the garbled logic circuit and a first garbled circuit input value.
-
-
-
-
-
-
-
-
-