本发明专利技术的各个实施方案涉及在与微控制器接口连接的外部存储器中交织有用载荷数据和完整性控制数据以改进数据完整性校验、增强数据机密性和节省内部存储器的系统、设备和方法。接收多个数据字和多个逻辑地址以用于储存在外部存储器中。每个数据字用于基于完整性校验方法产生各自的完整性字,而相关联的逻辑地址根据数据映射方法被转换为外部存储器中用于该数据字的第一物理地址和用于该完整性字的第二物理地址。数据字可以在被储存在安全微控制器中的外部存储器中之前被加密。用于数据字和相关联的完整性字的物理地址在外部存储器中交织,有时按周期性方案交织。具体地讲,每个数据字可以与具有与数据字的长度相同的长度的完整性字中所包括的完整性子字相关联。外部存储器可以是ROM、RAM或闪存,并且可以具有分别用于数据字和完整性字的专用区域。
【技术实现步骤摘要】
本专利技术总地涉及一种使用外部存储器的安全微控制器,更具体地,涉及用于通过在与安全微控制器接口连接的外部存储器中交织有用载荷数据(payload data)和完整性控制数据(integrity control data)来执行完整性校验的方法、系统和设备。
技术介绍
微控制器通常是包括中央处理单元(CPU)内核、存储器和输入/输出(I/O)外设的单个集成电路。安全微控制器用于涉及在不安全环境下对贵重资产的可信操作的应用,在所述不安全环境下,盗贼或黑客可以进入用于传送和处理敏感数据的处理器内核、存储器设备或I/o外设。该敏感数据可以包括账号、存取码、个人识别号码(PIN)、加密密钥、财务交易/平衡、权限管理和计量(比如,能量、单位)。特别地,该敏感数据可以是用于控制CPU内核或I/O外设的程序或指令。各种安全特征已用于避免对这些敏感数据的未授权存 取。迄今为止,安全微控制器已应用于大范围的安全关键应用,诸如电子银行业务、商业交易和付费电视接入控制或者要求专有软件和方法的保护的任何应用。因为敏感数据可以储存在安全微控制器的外部存储器中,所以存储器内容机密性和完整性是应该解决的两种截然不同的威胁。第一种威胁引起敏感信息公开(即,数据机密性),在所述敏感信息公开中,机密数据被泄露,并且程序中的弱点被暴露。第二种威胁弓I起应用程序行为的修改(即,数据完整性),其涉及程序和数据在外部存储器中被修改,并且导致数据完整性问题。安全微控制器被设计来对储存在外部存储器中的敏感数据提供某一级别的安全性。例如,可以通过防篡改附件来建立物理安全防御探查。然而,该解决方案可能是昂贵的,并且不覆盖基于来自电源失灵、光、同步或异步激光或放射性粒子的故障注入的新型攻击方法。安全特征还可以包括存储器加密,在所述存储器加密中,在数据交换处理期间在安全微控制器中使用加密密钥对储存在外部存储器中的敏感数据进行加密或解密。加密密钥本地储存在安全微控制器中。结果,物理安全周界可以限于微控制器,而外部存储器及其通讯总线可以在物理上保持暴露。应该注意的是,通常,加密不独自提供足够的完整性保护。例如,加密算法与电子密码本模式(ECB) —起使用,并且在外部存储器中的损坏的密码文本上检测不到任何修改。损坏的密码文本被解密为明码文本,并且由于实际数据修改/损坏,该明码文本与和预期值不同的值相关联。然而,因为解密算法本身不标记任何错误,所以所得的明码文本仍被认为是合法值。底层数据格式可以用于识别数据损坏,并且对于一些数据格式,该损坏可能难以识别。微控制器中的不充足的数据完整性的典型例子是其中仅钱数被加密的财务交易。修改的密码文本将导致损坏的明码文本,该损坏的明码文本可能对应于比实际量大的量。不充足的数据完整性还发生在基于代码加密储存在的存储器中的微控制器指令的保护中。当存储器被篡改时,随机修改的密码文本指令将被解密为与原始的明码文本指令不匹配的修改的明码文本指令。该错误的明码文本指令可以根据特定的微处理器指令集及其明码空间(plain space)的覆盖范围而被认为是合法的。例如,MIPS 4KSd内核指令为32位长。任何32位指令中仅56%与有效的内核指令相关联,其余44%的32位指令被微控制器认为是非法的,并且通过发出微控制器异常而被拒绝。在另一种情况下,64位加密算法(诸如数据加密标准(DES))用于在加密/解密时处理两个32位的字。当64位密码文本指令被修改时,对应的解密的明码文本包括两个32位的字,并且这两个字都为合法的内核指令的概率大约为30%。结果,有70%的概率在损坏的64位DES系统中检测到密码文本修改和非法的32位指令。对于储存在外部存储器中的敏感数据实现数据完整性控制,以检测最初发送用于储存的内容与储存在存储器中的内容之间的任何自愿或不自愿的损坏。特定的完整性校验方法用于在存储器写操作期间产生完整性控制数据(即,标签或签名),并且所储存的数据的有效性在存储器读操作期间通过其与对应的完整性控制数据的一致性来进行验证。完整性控制构成防御故障注入攻击的充分保护,并且完整性控制模块可以嵌入在安全微控制器中,以确保对于利益相关者的足够的信任级别。 可以利用几种完整性校验方法。最简单的完整性校验方法是I位偶/奇同位校验,其中,一个完整性控制位被产生以在数据中的所有比特之间保持偶或奇同位。可供选择的完整性校验方法的范围从循环冗余校验(CRC)或纠错码(ECC)的简单方法到强有力的、经过证实的方法,诸如消息认证码(MAC)。尽管它们的安全抵抗性低,但是简单的完整性校验方法大部分足以防御不自愿的损坏;然而,强有力的、经过证实的方法对于防御自愿的或主动的损坏是强制性的。简单的方法(比如,ECC)通常不涉及秘密密钥,所以攻击者可以容易地产生一致的完整性数据,同时修改敏感数据。秘密元素(即,加密密钥)可以合并在一些强有力的、经过证实的完整性校验方法中。因为首先需要恢复秘密元素,所以防止了攻击者容易地进行修改。图I示出了与加密的存储器104接口连接的安全微控制器102。在该微控制器中考虑了前述数据机密性和完整性相关事项。安全微控制器102包括CPU内核106、存储器控制器110以及用于数据、地址和密钥的总线。用于完整性校验、数据加密或数据解密的方法合并在CPU内核102中。在存储器写操作期间,原始数据在CPU内核106中被加密为有用载荷数据以用于储存在存储器104中。在存储器读操作期间,来自存储器104的有用载荷数据在CPU内核106中被解密为原始数据。完整性控制数据在存储器写操作期间产生并且通常储存在CPU内核106内部的内部存储器中,并且在随后的存储器读操作期间被提取以用于数据完整性校验。完整性控制数据通常使用静态存储器地址来被储存在专用位置中。该解决方案在许多现有技术的微控制器中用于储存它们各自的完整性控制数据,比如,美国专利No. 5,708,274中的参考散列值和法国专利No. I, 885,709中的完整性校验值。这样的常规解决方案可能需要密集使用内部存储器,因此,可能是昂贵的解决方案,即使数据存取速率是满意的。
技术实现思路
本专利技术的各种实施方案涉及一种使用外部存储器的安全微控制器,更具体地,涉及用于通过在与安全微控制器接口连接的外部存储器中交织有用载荷数据和完整性控制数据来执行完整性校验的方法、系统和设备。在微控制器中产生多个数据字和多个逻辑地址,并且每个数据字与逻辑地址相关联。每个数据字用于基于完整性校验方法产生各自的完整性字,而相关联的逻辑地址被转换为外部存储器中用于该数据字的第一物理地址和用于该完整性字的第二物理地址。在外部存储器中基于数据映射方法交织数据字和相关联的完整性字,并且动态地确定该数据字和该完整性字的物理地址。外部存储器可以是只读存储器(ROM)、随机存取存储器(RAM)或闪存,并且可以具有分别用于数据字和完整性字的专用区域。在外部存储器中按周期性方案交织数据字和完整性字。具体地讲,每个数据字可以与完整性子字相关联,并且几个完整性子字形成具有与数据字的长度相同的长度的完整性字。因此,相关联的数据字以周期性 方案与该完整性字交替。使用外部存储器储存数据字和完整性字的微控制器被构造来在外部存储器中产生用于每个数据字和相关联的本文档来自技高网...

【技术保护点】
一种用于将数据字和完整性字安全地储存在微控制器的外部存储器内的方法,所述方法包括:接收多个数据字和多个逻辑地址;使所述多个数据字之中的每个数据字与所述多个逻辑地址之中的一对应的逻辑地址相关联;基于完整性校验方法从所述多个数据字产生多个完整性字,每个完整性字与所述多个数据字之中的至少一个数据字相关联;基于数据映射将所述多个逻辑地址转换为所述外部存储器内的多个第一物理地址和所述外部存储器内的多个第二物理地址;将所述多个数据字加密为多个加密数据字;将所述多个加密数据字储存在所述外部存储器中的所述多个第一物理地址中;以及将所述多个完整性字储存在所述外部存储器中的所述多个第二物理地址中。
【技术特征摘要】
...
【专利技术属性】
技术研发人员:V·德伯特,F·莱尔米特,Y·洛邑塞尔,A·C·罗莱特,
申请(专利权)人:马克西姆综合产品公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。