[发明专利]用于对数据进行加密和解密的方法和架构在审
申请号: | 201510427402.4 | 申请日: | 2015-07-20 |
公开(公告)号: | CN105279441A | 公开(公告)日: | 2016-01-27 |
发明(设计)人: | 于格·让·玛丽·迪佩尔蒂 | 申请(专利权)人: | 恩智浦有限公司 |
主分类号: | G06F21/60 | 分类号: | G06F21/60 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 王波波 |
地址: | 荷兰艾*** | 国省代码: | 荷兰;NL |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 数据 进行 加密 解密 方法 架构 | ||
技术领域
本公开描述了使用密钥对在计算机可读存储器上存储的数据进行加密和解密的方法。具体地,公开了对数据进行加密和解密的方法,其中密钥的有效性与计算机可读存储器中存储的数据的可靠性相关联。
背景技术
当前销售的许多设备是单一管芯集成电路(称为IC),其中精简指令集计算(RISC)微控制器(例如ARM)或复杂指令集计算(CISC)微控制器(例如8051核)控制例如串行链路、通用输入/输出(GPIO)之类的多个外部设备。在内部计算机可读存储器(例如闪存、EEPROM或ROM中)存储微控制器数据和代码。这些设备中的一些在安全性重要的应用中(例如在涉及例如电表、信用卡等汇款的情况下)使用。对于这些系统中的一些,重要的是确保保护在内部存储器中存储的代码不受对它的保密性、完整性和可靠性的攻击。
为了保护代码的保密性,通常使用闪存的加密,使得即使经由调试能力或故障分析工具来下载存储器的整个内容,内容仍然保密。然而,仅当用于加密的密钥也可以保密的时候这才适用。如果将密钥按照与密钥所保护的数据相同的技术存储,则这可能难于实现。一种解决方案是使用模糊,或者使用例如物理不可克隆功能(PUF)的不同技术来保护加密密钥,但是这或者由于密钥可能必须由CPU处理而不总有效,或者它可能太昂贵以致于不能实施。
保护数据的完整性和可靠性的其他方法可以包括使用带符号的散列。在这种方法中,公钥在不可变的存储器(例如ROM)中存储,并用于验证散列。将这种散列与CPU在引导时间计算出的散列相比较,所述引导时间将仔细校验存储器。如果不存在匹配,则将停止引导过程。这种方法的一个缺点是散列计算很昂贵,通常需要100次循环来计算每个字节,并将减慢引导过程。此外,可能足以引入错误来跳过有福好的散列和计算出的散列之间的比较。这也将不会保护源代码的修改,通过故障产生或者通过引导之后的源代码插入引起所述源代码的修改。由于签名验证和散列昂贵,它们在引导之后通常不重复。
总之,即使在系统中使用加密,仍存在以下问题:如何维持加密密钥保密性和如何保护源代码的完整性和可靠性,而不会由于在引导时以及一旦系统启动时使用签名和散列而引起高计算时间消耗。以下公开目的在于解决这些问题。
发明内容
根据发明的第一方面,提供了一种对在设备的计算机可读存储器内存储的数据进行加密的方法,所述方法包括以下步骤:提供密钥;使用所述密钥对在计算机可读存储器中存储的数据进行加密;基于在所述计算机可读存储器中存储的参数来产生验证代码;使用所述验证代码来包装密钥以生成包装后的密钥;以及将所述包装后的密钥存储在计算机可读存储器中,其中所述包装后的密钥的有效性与在所述计算机可读存储器中存储的数据的可靠性相关联。
上述方法可以应用于基于微控制器的集成电路,用于控制多个外部设备,以及应用于在应用需要一些安全性的情况下(例如当涉及金钱时,例如在用于电表的微控制器和在安全元件(例如信用卡)中)。
所述设备可以是微控制器和/或微处理器。所述设备可以是包括硬件加速度计的微控制器(例如存储器加密单元)。
使用密钥对计算机可读存储器中存储的数据进行加密包括以下步骤:使用位于计算机可读存储器内的至少一个存储器位置的密钥来生成密文。可以基于加密方法使用计数器来生成密文。可以采用的其他方法包括输出反馈或密码反馈。还可以使用XTS模式(基于“异或”-加密-“异或”的密文窃取算法的可调整的密码本模式)。允许随机访问的其他模式也适用。如果要求从微控制器执行的随机访问,则具有反馈的模式更难于使用,但是如果在引导时执行所述存储器向另一个存储器的复制,则可以执行。
用于生成验证代码的参数可以包括在使用密钥加密的存储器中的至少一个存储器位置的密文。这将验证代码的值与加密存储器的内容完整性联系起来。因此,数据内容中任意调整导致不同的验证代码。此外,这增加了加密的安全性,因为仅可以通过确定存储器中的(加密)数据的内容来生成正确的验证代码。如果存储器的整个内容用于生成验证代码,则必须知晓存储器的整个内容来重新生成正确的验证代码。
在实施例中,使用密钥对在计算机可读存储器中存储的数据加密还包括:对存储器中至少一个位置的密文执行消息验证代码的步骤。这提高了在计算机可读存储器中加密的数据的安全性。
此外,使用验证代码来包装存储器中的至少一个位置的密文可以包括以下步骤:对密文执行消息验证代码。经历这种步骤确保了由计算机可读存储器提供的密文与使用由计算机可读存储器供应的参数所生成的期望密文相匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于恩智浦有限公司,未经恩智浦有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510427402.4/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置