加密方法、装置及安全芯片与流程

文档序号:12009117阅读:214来源:国知局
加密方法、装置及安全芯片与流程
本发明涉及微电子芯片技术领域,更具体而言,涉及一种加密方法、装置及安全芯片。

背景技术:
片上系统(SOC,SystemOnChip)是指将必要的电子电路,如中央处理器、存储器、电源系统、接口电路等,集成在一个芯片之上的有专用功能的完整系统。作为体积小、高度集成、应用灵活方便的系统级芯片,SOC被广泛应用于微电子芯片领域。一般的,安全芯片SOC使用非易失性存储器(NVM,NonvolatileMemory),NVM主要用于存储安全密钥或证书等重要的数据或者信息,为了提高安全芯片SOC的NVM的安全性,通常通过固定密钥加密的方式对NVM中的数据和信息进行保护,然而,固定密钥加密的方式,相关的技术人员可以使用存储器总线侦测等方法对芯片进行攻击,从而破解密钥,获取到NVM中的数据或者信息,造成了芯片安全性差的问题。

技术实现要素:
本发明实施例提供了一种加密方法、装置及安全芯片,解决了采用固定密钥进行加密时密钥容易被获取,导致芯片安全性差的问题。第一方面,本发明实施例提供了一种加密方法,包括:芯片侦测是否有擦除命令发出;当侦测到擦除命令后,为被执行擦除操作的数据区域配置修改密钥,所述修改密钥用于对所述数据区域进行加密。在第一方面的第一种可能的实现方式中,所述为所述被执行擦除操作的数据区域配置修改密钥包括:获取所述被执行擦除操作的数据区域的地址;生成修改密钥;将所述修改密钥写入所述地址确定的数据区域。结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述生成修改密钥,包括:读取所述被执行擦除操作的数据区域内的原密钥;生成与所述原密钥不同的修改密钥。结合第一方面或第一方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,所述生成修改密钥,具体包括:读取所述被执行擦除操作的数据区域内的原密钥;对所述原密钥进行运算,将所述运算结果确定为修改密钥。结合第一方面或第一方面的第一种或第二种或第三种可能的实现方式,在第四种可能的实现方式中,在所述芯片侦测是否有擦除命令发出前,还包括:为每个数据区域配置原始密钥,其中,所述每个数据区域的原始密钥与其他数据区域的原始密钥都不相同。第二方面,本发明实施例还提供了一种加密装置,包括:侦测单元,用于侦测是否有擦除命令发出;第一配置单元,用于当侦测到擦除命令后,为被执行擦除操作的数据区域配置修改密钥,所述修改密钥用于对所述数据区域进行加密。在第二方面的第一种可能实现方式中,所述第一配置单元包括:获取单元、读取单元、生成单元和写入单元,其中,所述获取单元,用于在所述侦测单元侦测到擦除命令后,获取所述被执行擦除操作的数据区域的地址;所述读取单元,用于在所述侦测单元侦测到擦除命令后,读取所述被执行擦除操作的数据区域内的原密钥;所述生成单元,用于生成修改密钥;所述写入单元,用于将所述生成单元生成的修改密钥写入所述获取单元获取的地址所确定的数据区域。结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述生成单元,具体用于对所述读取单元读取到的原密钥进行运算,将所述运算结果确定为修改密钥。结合第二方面或第二方面的第一种或第二种可能的实现方式,在第三种可能的实现方式中,还包括:第二配置单元,所述第二配置单元,用于在所述侦测单元侦测是否有擦除命令发出前,为每个数据区域配置原始密钥,其中,所述每个数据区域的原始密钥与其他数据区域的原始密钥都不相同。第三方面,本发明实施例还提供了一种安全芯片,所述安全芯片包括第二方面所提供的加密装置。由以上技术方案可知,本发明实施例所提供的加密方法、装置及安全芯片,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,这种动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本发明的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本发明的主旨。图1为本发明实施例提供的加密方法流程图;图2为本发明实施例提供的加密方法的另一种流程图;图3为本发明实施例提供的加密装置的结构示意图;图4为本发明实施例提供的加密装置的另一种结构示意图;图5为本发明实施例提供的安全芯片的结构示意图;图6为本发明实施例提供的芯片数据区结构图;图7为本发明实施例提供的数据区分区结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参见图1,为本发明实施例提供的加密方法流程图,所述方法包括如下步骤:步骤101:芯片侦测是否有擦除命令发出;若检测到擦除命令,执行步骤102;其中,可以通过侦测寄存器来侦测程序或CPU是否有擦除命令发出。需要指出的,每个数据段所在的数据区域的密钥,可以是设计者根据需要随机配置的,本发明对此不做限制。步骤102:为被执行擦除操作的数据区域配置修改密钥,所述修改密钥用于对所述数据区域进行加密;其中,所述为所述被执行擦除操作的数据区域配置修改密钥,包括:获取所述被执行擦除操作的数据区域的地址;生成修改密钥;将所述修改密钥写入所述地址确定的数据区域。可选的,还包括,读取所述被执行擦除操作的数据区域内的原密钥,生成与所述原密钥不同的修改密钥;所述生成修改密钥,具体为,对所述原密钥进行运算,将所述运算结果确定为密钥。需要指出的,在所述芯片侦测是否有擦除命令发出前,还包括:为每个数据区域配置原始密钥,其中,所述每个数据区域的原始密钥与其他数据区域的原始密钥都不相同。此外,所述每个数据区域的原始密钥,可以是设计者根据需要随机配置的,本发明对此不做限制。由本实施例可知,本发明实施例所提供的加密方法,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,这种动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。在上述实施例的基础上,参见图2,为本发明实施例提供的加密方法的另一种流程图,所述方法包括以下步骤:步骤201,为每个数据区域配置原始密钥;一般的,使用NVM存储数据,在读取所存储的数据之前首先要先进行擦除操作,其次,在完成擦除操作的数据区域执行写入操作,最后对写入数据区域的数据段执行读取操作。考虑到在芯片使用中,对各个功能的数据段的擦除、写入、读取的次数不同,分别为每个功能数据段所在的数据区域设置原始密钥,实现对芯片分区加密,当擦除某一个数据段时,只针对该数据区域动态配置修改密钥,对数据段多了一层保护,更进一步提高了芯片的安全性。需要指出的,所述每个数据区域的密钥存储在所述数据区域中的位置可以随机设置,所述存储位置也可以使用具有物理不可复制功能(PUF,PhysicalUnclonableFunctions)器件获取,本发明对此不做限制。步骤202,芯片侦测是否有擦除命令发出;若有擦除命令发出,同时执行步骤203和步骤204;其中,所述擦除命令通过程序或CPU发出后,存储在寄存器中,芯片通过侦测寄存器侦测是否有擦除命令发出,如果有,针对被执行擦除操作的数据区域设置修改密钥;如果没有,继续侦测。其中,所述侦测方式为本领域技术人员所熟知的技术,本发明在此不再赘述。需要指出的,在芯片使用过程中,每次只能对一个数据区域的数据段执行擦除操作。步骤203,获取所述被执行擦除操作的数据区域的地址;该步骤与步骤204同时执行;可选的,所述获取所述被执行擦除操作的数据区域的地址,可以根据所述擦除命令直接获取,也可以通过分析所述擦除命令得到所述地址。芯片根据所述地址确定被执行擦除操作的数据区域。步骤204:读取所述被执行擦除操作的数据区域内的原密钥;该步骤与步骤203同时执行;其中,在侦测到所述擦除命令后,对所述数据区域执行擦除操作前,读取所述数据区域的密钥,并将所述密钥发送到生成密钥的生成装置。需要指出的,在所述擦除命令发出一定时间后,执行擦除操作,其中,所述时间可以在发出擦除命令时,根据需要预先设置,本发明对此不做限制。步骤205,对所述原密钥进行运算,将所述运算结果确定为修改密钥;其中,对所述原密钥进行运算,可以为任意对数据处理的算法,例如,哈希算法,本发明对此不做限制。需要指出的,为任意一个数据区域重新配置修好密钥时,所采用的算法是固定的,例如,如果配置修改密钥时,使用的是哈希算法,则对每个数据区域、每次配置修改密钥时,均是对原密钥进行哈希运算,并将所述运算结果确定为修改密钥。此外,由于所述设置的修改密钥是对所述原密钥的进一步处理得到的,所以所述修改密钥与所述原密钥不相同。步骤206,将所述修改密钥写入所述地址确定的数据区域;其中,将所述修改密钥写入所述地址确定的数据区域时,将所述修改密钥与所述将要写入所述数据区域的数据段共同写入所述数据区域,以便于对所述数据区域的数据段进行加密。在芯片使用过程中,对所存储的数据段无任何操作时,继续执行步骤202。需要指出的,除了在芯片使用过程中,针对数据区域的数据段会执行擦除操作,在芯片重新上电时,部分数据区域的数据段也会有擦除、写入的操作发生,此时,芯片也会对所述被执行擦除操作的数据区域设置修改密钥。该实施例中,对所述数据段分区加密,当对任意数据区域执行擦除操作时,对该区域进行动态的密钥配置,不仅每个数据区域的密钥不易获取,而且分区加密的方式,对芯片存储器中的所有数据增加了一层保护,提高了芯片的安全性。与上述实现方法相对应的,本发明实施例还提供了加密装置,如图3所示,为本发明实施例提供的加密装置的结构示意图,所述装置包括:侦测单元11、第一配置单元12,其中,所述侦测单元11,用于侦测是否有擦除命令发出;所述第一配置单元12,用于当所述侦测单元11侦测到擦除命令后,为被执行擦除操作的数据区域配置修改密钥,所述修改密钥用于对所述数据区域进行加密。其中,在本实施例中,所述第一配置单元12包括:获取单元、读取单元、生成单元和写入单元。所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。本发明实施例提供的生成密钥的装置,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,这种动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。参见图4,为本发明实施例提供的加密装置的另一种结构示意图,所述装置包括,第二配置单元21、侦测单元22、获取单元23、读取单元24、生成单元25和写入单元26,其中,所述侦测单元22的功能和作用与上述实施例类似,在此不再赘述;所述第二配置单元21,用于在所述侦测单元22侦测是否有擦除命令发出前,为每个数据区域配置原始密钥;所述获取单元23,用于在所述侦测单元22侦测到擦除命令后,获取所述被执行擦除操作的数据区域的地址;所述读取单元24,用在所述侦测单元22侦测到擦除命令后,读取所述被执行擦除操作的数据区域内的原密钥;所述生成单元25,用于生成修改密钥;所述写入单元26,用于将所述生成单元25生成的修改密钥写入所述获取单元23获取的地址所确定的数据区域,对所述数据区域进行加密。其中,所述第二配置单元对每个数据区域所配置的密钥是不相同的。其中,所述生成单元,具体用于对所述原密钥进行运算,将所述运算结果确定为修改密钥,所述生成单元生成的修改密钥与所述原密钥不相同。所述装置中各个单元的功能和作用的实现过程详见上述方法中对应的实现过程,在此不再赘述。该实施例提供的生成密钥的装置,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,这种动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。相应的,本发明实施例还提供了一种安全芯片,如图5所示,为本发明实施例提供的安全芯片的结构示意图,所述安全芯片1包括,加密装置1001,其中,所述加密装置如上述实施例所述,在此不再赘述。由以上技术方案可知,本发明实施例所提供的加密方法、装置及安全芯片,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,这种动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。为了更加清楚、详细的说明本发明实施例所提供的技术方案,下面以一个具体的示例为例对本发明进行详细的描述。如图6所示,为本发明实施例提供的芯片数据区域结构图,该实例中,将芯片存储区的数据区,按照数据段及数据段的字节数可划分为图中所示的结构。若所述数据区包括M行数据段,所述M行数据段中最大的数据段为N字节,存储区的数据区大小可以认为是M*N字节。参见图7,为本发明实施例提供的数据区分区结构图,在上述结构的基础上,当为每个数据段配置密钥时,所述密钥写入该数据段所在的区域中的某个位置,每个数据段长度变为N+1个字节,虽然存储器的大小变为M*(N+1),但是实际存储的数据量不变。需要指出的,本示例中,密钥在数据区域中存储的位置根据PUF获取的,这种存储方式更加增强了芯片的安全性。本示例中,当需要读取第一行数据时,首先发出擦除第一行数据段的命令,当芯片侦测到所述擦除命令,根据所述擦除命令获取到第一行数据段的地址,根据所述地址确定所述第一行数据区域的位置;同时读取所述第一行数据段的密钥,即密钥1,将所述密钥1发送给芯片中的密钥生成装置,对所述密钥1进行哈希运算,得到一个数值,该数值即为第一行数据区域的新的密钥,然后芯片将新的密钥和将要第一行数据区域的数据段一起写入所述第一行数据区域,然后对所述写入的数据段进行读取,在读取时,首先读取到存储在所述第一行数据区域的密钥,对所述数据区域存储的数据段进行解密后,才能读取到该区域所存储的数据段,实现了对该区域数据段的加密。需要指出的是,上述仅是以第一行数据段为例进行描述本发明实施例所提供的加密方法,当需要读取其他区域的数据段时,其加密过程是相同的,本发明在此不再赘述。需要指出的,上述具体示例仅为本发明的优选实施例,对本发明的技术方案并不造成任何限制。本发明实施例所提供的加密方法、装置及安全芯片,对每个数据区域分别配置密钥,当数据区域被执行擦除操作后,对所述数据区域重新配置密钥,实现对所述数据区域的加密,对数据段分区化加密,对存储器中数据增添了一层保护,动态设置密钥的加密方式,使芯片中数据区域的密钥不易被获取,对所述数据区域的数据和信息进行了有效的保护,提高了芯片的安全性。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例披露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1