Using a memory safety violation indicator to detect accesses to an out-of-bounds or unallocated memory area

    公开(公告)号:US10824560B2

    公开(公告)日:2020-11-03

    申请号:US16278246

    申请日:2019-02-18

    Applicant: NXP B.V.

    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. A data value of the MSV indicator may be a secret data value.

    Secure software components anti-reverse-engineering by table interleaving
    24.
    发明授权
    Secure software components anti-reverse-engineering by table interleaving 有权
    安全软件组件通过表交错反向工程

    公开(公告)号:US09576116B2

    公开(公告)日:2017-02-21

    申请号:US14140938

    申请日:2013-12-26

    Applicant: NXP B.V.

    CPC classification number: G06F21/14 G06F2221/0748 H04L9/002 H04L2209/16

    Abstract: A method of securely implementing functions in a secure software application, including: determining, by a processor, two functions to be implemented by the secure software application; generating a first function lookup table; encrypting the first function lookup table; sorting the first function lookup table by encrypted operand; generating a second function lookup table; encrypting the second function lookup table; sorting the second function lookup table by encrypted operand; generating a flattened lookup table from a combination of the encrypted first and second function lookup tables; permutating the flattened table indices e.g. by use of public key cryptography encryption; and sorting the flattened table by the permutated flattened table indices.

    Abstract translation: 一种在安全软件应用程序中安全地执行功能的方法,包括:由处理器确定由安全软件应用程序实现的两个功能; 生成第一个函数查找表; 加密第一个功能查找表; 通过加密操作数排序第一个函数查找表; 生成第二函数查找表; 加密第二函数查找表; 通过加密操作数排序第二个函数查找表; 从加密的第一和第二功能查找表的组合生成扁平化查找表; 排列平整的表格索引,例如 通过使用公钥密码加密; 并通过置换的平坦表索引对平坦化表进行排序。

    SECURING A CRYPTOGRAPHIC DEVICE AGAINST IMPLEMENTATION ATTACKS
    25.
    发明申请
    SECURING A CRYPTOGRAPHIC DEVICE AGAINST IMPLEMENTATION ATTACKS 有权
    保护实施违规行为的制裁手段

    公开(公告)号:US20160072779A1

    公开(公告)日:2016-03-10

    申请号:US14850886

    申请日:2015-09-10

    Applicant: NXP B.V.

    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.

    Abstract translation: 描述了保护加密设备免遭实施攻击的方法。 所公开的方法包括从密码装置的存储器获取密钥(230)的步骤; 向加密模块(240)提供密钥和恒定输入(210); 使用加密模块(240)导出加密数据比特的输出(250); 向密钥更新模块(260)提供输出(250),密钥(230)和输入向量(270); 以及使用所述密钥更新模块(260)基于所述输入向量(270)的至少一部分(270a)来修改所述密钥以导出更新的密钥(230a)。 这样可以防止使用更新的密钥或通过使用侧信道攻击来导出密钥的值,因为所有密钥的输入是不变的。 另外,通过改变输入向量,更新的密钥也被改变。

    OPTIMIZED HARDWARD ARCHITECTURE AND METHOD FOR ECC POINT ADDITION USING MIXED AFFINE-JACOBIAN COORDINATES OVER SHORT WEIERSTRASS CURVES
    26.
    发明申请
    OPTIMIZED HARDWARD ARCHITECTURE AND METHOD FOR ECC POINT ADDITION USING MIXED AFFINE-JACOBIAN COORDINATES OVER SHORT WEIERSTRASS CURVES 有权
    优化的硬件结构和使用混合的AFFINE-JACOBIAN坐标的ECC点添加方法在短时间的曲线上

    公开(公告)号:US20150180664A1

    公开(公告)日:2015-06-25

    申请号:US14139831

    申请日:2013-12-23

    Applicant: NXP B.V.

    CPC classification number: H04L9/3066 G06F7/725

    Abstract: An optimized hardware architecture and method introducing a simple arithmetic processor that allows efficient implementation of an Elliptic Curve Cryptography point addition algorithm for mixed Affine-Jacobian coordinates. The optimized architecture additionally reduces the required storage for intermediate values.

    Abstract translation: 一种优化的硬件架构和方法,引入简单的算术处理器,可以有效实现混合仿射雅可比坐标的椭圆曲线加密点加法算法。 优化的架构还减少了中间值所需的存储空间。

Patent Agency Ranking