【发明授权】数据加密方法、解密方法、加密系统及解密系统_上海复旦微电子集团股份有限公司_201710738501.3 

申请/专利权人:上海复旦微电子集团股份有限公司

申请日:2017-08-24

发明/设计人:俞军;刘丹;李清;王立辉;雷婉;刘帅;张弛

公开(公告)日:2021-01-19

代理机构:北京集佳知识产权代理有限公司

公开(公告)号:CN109426727B

代理人:张凤伟;吴敏

主分类号:G06F21/60(20130101)

地址:200433 上海市杨浦区国泰路127号复旦国家大学科技园4号楼

分类号:G06F21/60(20130101);H04L9/08(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.01.19#授权;2019.03.29#实质审查的生效;2019.03.05#公开

摘要:一种数据加密方法、解密方法、加密系统及解密系统。所述加密方法包括:处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密装置利用所述加密密钥对待加密数据进行加密,并将加密后的数据存储在第一存储器中;所述第二存储器获取所述第一真实响应数据对应的辅助数据并进行存储。应用上述方案,可以提高数据的安全性。

主权项:1.一种数据加密方法,其特征在于,包括:处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密密钥具有随机性;所述加密装置利用所述加密密钥对待加密数据进行加密,并将加密后的数据存储在第一存储器中;第二存储器获取所述第一真实响应数据对应的辅助数据并进行存储,以便在对所述加密后的数据进行解密时,基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;其中,所述基于所述第一真实响应数据生成加密密钥,包括:所述处理器利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥;所述第一真实响应数据对应的辅助数据,是通过对随机数据进行编码,并利用编码结果对所述第一真实响应数据进行运算得到的。

全文数据:数据加密方法、解密方法、加密系统及解密系统技术领域本发明实施例涉及加解密技术领域,具体涉及一种数据加密方法、解密方法、加密系统及解密系统。背景技术现场可编程门阵列Field-ProgrammableGateArray,FPGA,是在可编程逻辑阵列ProgrammableLogicArray,PAL和通用逻辑阵列GenericlogicArray,GAL等可编程器件的基础上进一步发展而来的。FPGA作为专用集成电路ASIC领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数量有限的缺点。运用FPGA开发的产品最终都会生成具有特定功能的位流配置文件。FPGA启动时,需要从外部读取并下载位流配置文件。为了保证位流配置文件的安全性,所下载的位流配置文件通常都是加密的。FPGA需要利用密钥对所下载的位流配置文件进行解密。由于FPGA中没有存储器,因此,FPGA需要从外部的存储器中获取用于加密位流配置文件的密钥。早期的FPGA,大都采用带电池的随机存取存储器Random-AccessMemory,RAM或者电编程熔丝eFuse来保存密钥。但是利用RAM及eFuse保存密钥的方法安全性都较差,容易被获取。为了提高密钥的安全性,目前的FPGA采用存储器来保存掩码后的密钥。但是现有利用存储器保存掩码后的密钥仍容易被破解,数据的安全性仍无法满足用户的需求。发明内容本发明实施例解决的技术问题是如何提高数据的安全性。为解决上述技术问题,本发明实施例提供一种数据加密方法,所述方法包括:处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密装置利用所述加密密钥对待加密数据进行加密,并将加密后的数据存储在第一存储器中;第二存储器获取所述第一真实响应数据对应的辅助数据并进行存储。可选地,所述第二存储器采用以下任意一种方式获取所述第一真实响应数据对应的辅助数据:所述第二存储器从所述PUF模块获取所述第一真实响应数据对应的辅助数据;所述第二存储器通过所述处理器获取所述第一真实响应数据对应的辅助数据;所述第二存储器通过所述加密装置从所述处理器获取所述第一真实响应数据对应的辅助数据。可选地,所述基于所述第一真实响应数据生成加密密钥,包括:所述处理器利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥。可选地,所述预设的密钥生成算法为哈希算法。可选地,所述第一存储器为所述第二存储器。可选地,所述方法还包括:所述加密装置向所述处理器发送更新所述加密密钥的指令;所述处理器基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据对应的辅助数据,并发送至所述加密装置;所述加密装置根据所述PUF模块当前的响应数据对应的辅助数据以及预先获取到的所述第一真实响应数据,得到更新后的加密密钥,并利用所述更新后的加密密钥对待加密数据进行加密,将加密后的数据存储在所述第一存储器中;所述第二存储器获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储。本发明实施例还提供了一种数据解密方法,所述方法包括:处理器获取PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据,所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据预先存储在第二存储器中;所述处理器基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;所述处理器基于所述第一真实响应数据得到对加密后的数据进行解密的加密密钥,利用所述加密密钥对存储在第一存储器中所述加密后的数据进行解密。可选地,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的,其中,所述加密装置,适于利用所述加密密钥对待加密数据进行加密。可选地,所述处理器基于所述第一真实响应数据得到对所述加密后的数据进行解密的加密密钥,包括:所述处理器利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行解密的加密密钥。可选地,所述预设的密钥生成算法为哈希算法。可选地,所述第一存储器为所述第二存储器。可选地,所述方法还包括:所述处理器基于所述第二存储器中存储的辅助数据及所述PUF模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所得到的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。本发明实施例还提供了一种数据加密系统,所述系统包括:PUF模块,适于在初始化后产生第一真实响应数据;处理器,适于获取所述PUF模块产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密装置,适于利用所述加密密钥对待加密数据进行加密;第一存储器,适于存储加密后的数据;第二存储器,适于获取所述第一真实响应数据对应的辅助数据并进行存储。可选地,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者是通过加密装置从所述处理器获取的。可选地,所述处理器适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥。可选地,所述预设的密钥生成算法为哈希算法。可选地,所述第一存储器为所述第二存储器。可选地,所述加密装置还适于向所述处理器发送更新所述加密密钥的指令;所述处理器还适于基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据对应的辅助数据,并发送至所述加密装置;所述加密装置还适于根据所述PUF模块当前的响应数据对应的辅助数据以及预先获取到的所述第一真实响应数据,得到更新后的加密密钥,并利用所述更新后的加密密钥对待加密数据进行加密,将加密后的数据存储在所述第一存储器中;所述第二存储器还适于获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储。本发明实施例还提供了一种数据解密系统,所述系统包括:PUF模块,适于在初始化后产生第一真实响应数据;第一存储器,适于存储利用加密密钥对待加密数据进行加密后的数据;第二存储器,适于存储所述第一真实响应数据所对应的辅助数据;处理器,适于获取所述PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据;基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;基于所述第一真实响应数据得到所述加密密钥,利用所述加密后的数据进行解密。可选地,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的;其中,所述加密装置,适于产生所述加密密钥,并利用所述加密密钥对所述待加密数据进行加密。可选地,所述处理器适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行加密的加密密钥。可选地,所述预设的密钥生成算法为哈希算法。可选地,所述第一存储器为所述第二存储器。可选地,所述处理器,还适于基于所述第二存储器中存储的辅助数据及所述PUF模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所述第二存储器中存储的辅助数据对应的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。相对于现有技术,本发明实施例的优点在于:采用上述方案,在对数据进行加密的过程中,通过将PUF模块的第一真实响应数据对应的辅助数据存储在第二存储器中,进而在对数据进行解密时,需要先基于预先存储的辅助数据以及PUF模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到用于对数据进行加密的加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。并且,由于PUF模块的响应数据具有随机性,故利用PUF模块的响应数据生成加密密钥时,所生成的加密密钥也具有随机性,由此使得利用加密密钥对待加密数据进行加密,得到的加密后的数据具有唯一性,数据的安全性更高。进一步地,在加密装置向处理器发送更新所述加密密钥的指令后,第二存储器可以获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储,进而可以在对数据进行解密的过程中,直接利用当前的响应数据对应的辅助数据及所述第一真实响应数据,得到所述PUF模块当前的响应数据,并基于所述当前的响应数据得到更新后的加密密钥,从而可以对数据进行加密,无须处理器与加密装置之间进行密钥协商,即可完成密钥的更新,有效节省数据传输资源。附图说明图1是本发明实施例中一种数据加密系统的结构示意图;图2是本发明实施例中一种数据解密系统的结构示意图;图3是本发明实施例中一种数据加密过程的数据交互示意图;图4是本发明实施例中一种密钥更新过程的数据交互示意图;图5是本发明实施例中一种数据解密方法的流程图。具体实施方式目前,FPGA采用存储器来保存密钥时,通常在数据加密过程中,将对密钥进行掩码运算的结果存储在存储器中,进而在数据解密过程中,FPGA可以获取存储器中的掩码运算结果并恢复出密钥,完成数据解密。由于掩码运算结果与密钥之间的关联性较大,攻击者通过获取存储器中的掩码运算结果,可以轻松地破解密钥,最终导致数据泄露,难以满足用于对数据安全性的要求。针对上述问题,本发明实施例提供了一种数据加密方法,在对数据进行加密的过程中,通过将PUF模块的第一真实响应数据对应的辅助数据存储在第二存储器中,进而在对数据进行解密时,需要先基于预先存储的辅助数据以及PUF模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到用于对数据进行加密的加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。图1为本发明实施例提供的一种数据加密系统1。所述数据加密系统1可以包括:PUF模块10,第二存储器11,处理器12,加密装置13以及第一存储器14。其中:所述PUF模块10,适于在初始化后产生第一真实响应数据;所述处理器12,适于获取所述PUF模块产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置13;所述加密装置13,适于利用所述加密密钥对待加密数据进行加密;所述第一存储器14,适于存储加密后的数据;第二存储器11,适于获取所述第一真实响应数据对应的辅助数据并进行存储。在具体实施中,所述PUF模块10可以为静态PUF模块SRAMPUF,也可以是其它类型的PUF。所述PUF模块10在初始化上电后所产生的响应,称为第一真实响应数据。第一真实响应数据及其对应的辅助数据之间存在一定的关系。在本发明的一实施例中,为了提高密钥的破解难度,所述第一真实响应数据对应的辅助数据可以是通过对随机数据进行编码,并利用编码结果对所述第一真实响应数据进行相应运算得到的。其中,所述随机数据可以通过设置在PUF模块10内部或外部的随机数发生器获得。所述第一真实响应数据对应的辅助数据可以是PUF模块10产生的,也可以是与PUF模块10耦接的其它设备产生的,比如,所述加密装置13、所述处理器12或者其它设备可以产生述第一真实响应数据对应的辅助数据。在具体实施中,参照图1,所述PUF模块10可以集成在所述处理器12内。当然,所述PUF模块10也可以与所述处理器12独立设置,具体不作限制。在具体实施中,所述第二存储器11可以通过多种方式获取所述第一真实响应数据对应的辅助数据并进行存储。在本发明的一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是所述PUF模块10产生的。也就是说,所述第二存储器11可以从直接从PUF模块10获取所述第一真实响应数据所对应的辅助数据并进行存储。在本发明的另一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是所述第二存储器11通过所述处理器12获取的。也就是说,所述处理器12可以先获取所述第一真实响应数据所对应的辅助数据,进而将所获取到的辅助数据发送至所述第二存储器11。在本发明的又一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是所述第二存储器11通过加密装置13从所述处理器12获取的。也就是说,所述加密装置13可以先获取所述第一真实响应数据所对应的辅助数据,再将所获取到的辅助数据发送至所述处理器12,由所述处理器12将该辅助数据发送至所述第二存储器11。在具体实施中,所述处理器12可以任意需要对存储器中数据进行保护的器件,比如,所述处理器可以为FPGA芯片。在具体实施中,所述处理器12适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥。其中,所述预设的密钥生成算法可以为压缩算法,也可以为扩展算法,还可以为裁剪算法,具体不作限制。以所述预设的密钥生成算法为哈希Hash算法为例,在具体实施中,所述处理器12可以通过对第一真实响应数据R0进行哈希运算,得到加密密钥A0,即A0=HashR0。之后,所述处理器12可以将加密密钥A0发送至加密装置13。在具体实施中,所述加密装置13可以利用加密密钥A0对待加密数据进行加密。比如,当所述处理器12为FPGA芯片时,所述待加密数据可以为FPGA芯片的位流文件,所述加密装置13可以为与FPGA芯片耦接,且适于接收用户操作指令的PC或服务器,所述PC或服务器与FPGA芯片之间可以通过联合测试工作组JointTestActionGroup,JTAG接口进行通信,FPGA芯片与第二存储器11之间可以通过串行外设接口SerialPeripheralInterface,SPI接口进行通信。由加密装置13对位流文件进行加密,并存储在第一存储器14中。在具体实施中,所述第一存储器14可以闪存FLASH、电可擦可编程只读存储器ElectricallyErasableProgrammableRead-OnlyMemory,E2PROM等存储设备。在具体实施中,为了减少电路面积,所述第一存储器14也可以为第二存储器11。也就是说,所述加密装置13可以将加密后的数据存储在第二存储器11中。在具体实施中,所述处理器12通常在终端用户手中,而非生产者手中。为了便于更新加密密钥,可以在所述加密装置13中预先存储第一真实响应数据R0。具体密钥更新过程如下:在具体实施中,所述加密装置13还适于向所述处理器12发送更新所述加密密钥的指令。所述处理器12还适于基于所述更新所述加密密钥的指令,获取所述PUF模块10当前的响应数据R1对应的辅助数据D1,并发送至所述加密装置13。所述加密装置13还适于根据所述PUF模块10当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,得到更新后的加密密钥A1,并利用所述更新后的加密密钥A1对待加密数据进行加密,将加密后的数据存储在所述第一存储器14中。所述第二存储器11还适于获取所述当前的响应数据R1对应的辅助数据D1并替换所述第一真实响应数据R0对应的辅助数据D0进行存储。在具体实施中,所述加密装置13可以先根据PUF模块10当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,恢复出PUF模块11当前的响应数据R1,进而根据PUF模块11当前的响应数据R1,利用预设的密钥生成算法,得到更新后的加密密钥A1。其中,所述加密装置13根据PUF模块11当前的响应数据R1得到更新后的加密密钥A1时所采用的密钥生成算法,与所述处理器12通过对第一真实响应数据R0得到加密密钥A0时所采用的密钥生成算法相同。以所述预设的压缩算法为Hash算法为例,A1=HashR1。图2为本发明实施例提供的一种数据解密系统2。所述数据解密系统2与所述数据加密系统1相对应,用于对所述数据加密系统1加密后的数据进行解密。具体地,所述数据解密系统2可以包括:PUF模块20,第二存储器21,第一存储器22以及处理器23。其中:所述PUF模块20,适于在初始化后产生第一真实响应数据;所述第一存储器22,适于存储利用加密密钥对待加密数据进行加密后的数据;所述第二存储器21,适于存储所述第一真实响应数据所对应的辅助数据所述处理器23,适于获取所述PUF模块20当前的响应数据,以及获取所述PUF模块20初始化产生的第一真实响应数据所对应的辅助数据;基于所述第一真实响应数据对应的辅助数据以及PUF模块20当前的响应数据,得到所述第一真实响应数据;基于所述第一真实响应数据得到对所述加密后的数据进行解密的加密密钥,利用所述加密后的数据进行解密。在具体实施中,所述第二存储器21预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块21获取的,或者通过所述处理器23获取的,或者通过加密装置从所述处理器23获取的;其中,所述加密装置,适于产生所述加密密钥,并利用所述加密密钥对所述待加密数据进行加密。在具体实施中,所述PUF模块20可以集成于所述处理器23内,也可以与所述处理器23相互独立设置,具体不作限制。关于所述PUF模块20,具体可以参照上述数据加密系统1中PUF模块10的描述进行实施,此处不再赘述。关于所述加密装置,具体可以参照上述数据加密系统1中加密装置13的描述进行实施,此处不再赘述。在具体实施中,所述处理器23可以基于所述第一真实响应数据对应的辅助数据以及PUF模块20当前的响应数据,恢复得到所述第一真实响应数据,再利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行加密的加密密钥。此时,所述处理器23对第一真实响应数据进行运算时所采用的密钥生成算法,与上述数据加密系统1中处理器12进行运算时所采用的密钥生成算法相同,具体可以参照上述关于处理器12基于第一真实响应数据得到所述加密密钥的过程进行实施,不再赘述。在本发明的一实施例中,所述第一存储器22可以为所述第二存储器21。在本发明的一实施例中,所述处理器23,还适于基于所述第二存储器21中存储的辅助数据D1及所述PUF模块当前的响应数据,得到所述第二存储器21中存储的辅助数据D1对应的响应数据R1,并基于所述第二存储器21中存储的辅助数据D1对应的响应数据R1得到更新后的加密密钥A1,利用所述更新后的加密密钥A1对所述第一存储器22中存储的更新后的加密数据进行解密。当所述第二存储器21中存储的辅助数据为当前的响应数据R1对应的辅助数据D1时,表明加密装置对数据进行加密的过程中对加密密钥进行了更新。为了获得更新后的加密密钥,处理器23可以先基于所述第二存储器21中存储的辅助数据D1及所述PUF模块20当前的响应数据,恢复得到第二存储器21中存储的辅助数据D1对应的响应数据R1,进而利用预设的密钥生成算法,对响应数据R1进行运算,可以得到更新后的加密密钥A1。其中,所述PUF模块20当前的响应数据为所述PUF模块20最新的响应数据,不同于第一响应数据R0以及响应数据R1。此处,处理器23基于PUF模块20当前的响应数据得到更新后的加密密钥A1时所采用的密钥生成算法,与上述数据加密系统1中所述加密装置13根据PUF模块10当前的响应数据R1得到更新后的加密密钥A1时所采用的密钥生成算法相同,比如,所述预设的密钥生成算法可以为Hash算法。具体可以参照上述加密装置13根据PUF模块10当前的响应数据R1得到更新后的加密密钥A1的描述进行实施,不再赘述。由于处理器23可以直接利用第二存储器21中存储的辅助数据及所述PUF模块20当前的响应数据,得到所述第二存储器21中存储的辅助数据对应的响应数据,并基于所得到的响应数据得到更新后的加密密钥,从而可以对数据进行加密,而无须处理器23与加密装置之间进行密钥协商,即可完成密钥的更新,故可以有效节省数据传输资源。为了使本领域技术人员更好地理解和实现本发明,以下对上述数据加密系统及数据解密系统对应的方法进行详细描述。图3为本发明实施例提供的一种数据加密过程的数据交互过程示意图。参照图3,所述方法可以包括如下步骤:步骤31,处理器获取PUF模块初始化产生的第一真实响应数据R0,基于所述第一真实响应数据R0生成加密密钥A0;步骤32,处理器将所述加密密钥A0发送至加密装置。步骤33,所述加密装置利用所述加密密钥A0对待加密数据进行加密;步骤34,将加密后的数据发送并存储在第一存储器中;步骤35,所述第二存储器获取所述第一真实响应数据R0对应的辅助数据D0并进行存储。在具体实施中,所述处理器可以利用预设的密钥生成算法,对所述第一真实响应数据R0进行运算,生成所述加密密钥A0。在本发明的一实施例中,所述预设的密钥生成算法为Hash算法。在具体实施中,所述第二存储器可以采用以下任意一种方式获取所述第一真实响应数据对应的辅助数据:所述第二存储器可以从所述PUF模块获取所述第一真实响应数据R0生成对应的辅助数据D0;所述第二存储器可以通过所述处理器获取所述第一真实响应数据R0对应的辅助数据D0;所述第二存储器可以通过所述加密装置从所述处理器获取所述第一真实响应数据R0对应的辅助数据D0。在具体实施中,所述第一存储器为所述第二存储器。在本发明的一实施例中,参照图4,可以采用如下方法进行密钥更新:步骤41,所述加密装置向所述处理器发送更新所述加密密钥的指令;步骤42,所述处理器基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据R1对应的辅助数据D1,并发送至所述加密装置;步骤43,所述加密装置根据所述PUF模块当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,得到更新后的加密密钥A1,并利用所述更新后的加密密钥A1对待加密数据进行加密;步骤44,将加密后的数据发送并存储在所述第一存储器中;步骤45,所述第二存储器获取所述当前的响应数据R1对应的辅助数据D1并替换所述第一真实响应数据R0对应的辅助数据D0进行存储。图5为本发明实施例提供的一种数据解密方法的流程图。参照图5,所述方法可以包括如下步骤:步骤51,处理器获取PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据,所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据预先存储在所述第二存储器中;步骤52,所述处理器基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;步骤53,所述处理器基于所述第一真实响应数据得到对所述加密后的数据进行解密的加密密钥,利用所述加密密钥对存储在第一存储器中的加密后的数据进行解密。在具体实施中,所述处理器可以利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行解密的加密密钥。在本发明的一实施例中,所述预设的密钥生成算法为Hash算法。在具体实施中,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的。其中,所述加密装置,适于利用所述加密密钥对待加密数据进行加密。在具体实施中,所述方法还可包括:所述处理器基于所述第二存储器中存储的辅助数据及所述PUF模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所得到的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。由上述内容可知,在对数据进行加密的过程中,通过将PUF模块的第一真实响应数据对应的辅助数据存储在第二存储器中,进而在对数据进行解密时,需要先基于预先存储的辅助数据以及PUF模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到用于对数据进行加密的加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

权利要求:1.一种数据加密方法,其特征在于,包括:处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密装置利用所述加密密钥对待加密数据进行加密,并将加密后的数据存储在第一存储器中;第二存储器获取所述第一真实响应数据对应的辅助数据并进行存储。2.如权利要求1所述的数据加密方法,其特征在于,所述第二存储器采用以下任意一种方式获取所述第一真实响应数据对应的辅助数据:所述第二存储器从所述PUF模块获取所述第一真实响应数据对应的辅助数据;所述第二存储器通过所述处理器获取所述第一真实响应数据对应的辅助数据;所述第二存储器通过所述加密装置从所述处理器获取所述第一真实响应数据对应的辅助数据。3.如权利要求1所述的数据加密方法,其特征在于,所述基于所述第一真实响应数据生成加密密钥,包括:所述处理器利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥。4.如权利要求3所述的数据加密方法,其特征在于,所述预设的密钥生成算法为哈希算法。5.如权利要求1所述的数据加密方法,其特征在于,所述第一存储器为所述第二存储器。6.如权利要求1~5任一项所述的数据加密方法,其特征在于,还包括:所述加密装置向所述处理器发送更新所述加密密钥的指令;所述处理器基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据对应的辅助数据,并发送至所述加密装置;所述加密装置根据所述PUF模块当前的响应数据对应的辅助数据以及预先获取到的所述第一真实响应数据,得到更新后的加密密钥,并利用所述更新后的加密密钥对待加密数据进行加密,将加密后的数据存储在所述第一存储器中;所述第二存储器获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储。7.一种数据解密方法,其特征在于,包括:处理器获取PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据,所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据预先存储在第二存储器中;所述处理器基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;所述处理器基于所述第一真实响应数据得到对加密后的数据进行解密的加密密钥,利用所述加密密钥对存储在第一存储器中所述加密后的数据进行解密。8.如权利要求7所述的数据解密方法,其特征在于,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的,其中,所述加密装置,适于利用所述加密密钥对待加密数据进行加密。9.如权利要求7所述的数据解密方法,其特征在于,所述处理器基于所述第一真实响应数据得到对所述加密后的数据进行解密的加密密钥,包括:所述处理器利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行解密的加密密钥。10.如权利要求9所述的数据解密方法,其特征在于,所述预设的密钥生成算法为哈希算法。11.如权利要求7所述的数据解密方法,其特征在于,所述第一存储器为所述第二存储器。12.如权利要求7~11任一项所述的数据解密方法,其特征在于,还包括:所述处理器基于所述第二存储器中存储的辅助数据及所述PUF模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所得到的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。13.一种数据加密系统,其特征在于,包括:PUF模块,适于在初始化后产生第一真实响应数据;处理器,适于获取所述PUF模块产生的第一真实响应数据,基于所述第一真实响应数据生成加密密钥,并将所述加密密钥发送至加密装置;所述加密装置,适于利用所述加密密钥对待加密数据进行加密;第一存储器,适于存储加密后的数据;第二存储器,适于获取所述第一真实响应数据对应的辅助数据并进行存储。14.如权利要求13所述的数据加密系统,其特征在于,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者是通过加密装置从所述处理器获取的。15.如权利要求13所述的数据加密系统,其特征在于,所述处理器适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,生成所述加密密钥。16.如权利要求15所述的数据加密系统,其特征在于,所述预设的密钥生成算法为哈希算法。17.如权利要求13所述的数据加密系统,其特征在于,所述第一存储器为所述第二存储器。18.如权利要求13~17任一项所述的数据加密系统,其特征在于,所述加密装置还适于向所述处理器发送更新所述加密密钥的指令;所述处理器还适于基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据对应的辅助数据,并发送至所述加密装置;所述加密装置还适于根据所述PUF模块当前的响应数据对应的辅助数据以及预先获取到的所述第一真实响应数据,得到更新后的加密密钥,并利用所述更新后的加密密钥对待加密数据进行加密,将加密后的数据存储在所述第一存储器中;所述第二存储器还适于获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储。19.一种数据解密系统,其特征在于,包括:PUF模块,适于在初始化后产生第一真实响应数据;第一存储器,适于存储利用加密密钥对待加密数据进行加密后的数据;第二存储器,适于存储所述第一真实响应数据所对应的辅助数据;处理器,适于获取所述PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据;基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;基于所述第一真实响应数据得到对所述加密后的数据进行解密的加密密钥,利用所述加密后的数据进行解密。20.如权利要求19所述的数据解密系统,其特征在于,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块获取的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的;其中,所述加密装置,适于产生所述加密密钥,并利用所述加密密钥对所述待加密数据进行加密。21.如权利要求19所述的数据解密系统,其特征在于,所述处理器适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到对所述加密后的数据进行解密的加密密钥。22.如权利要求21所述的数据解密系统,其特征在于,所述预设的密钥生成算法为哈希算法。23.如权利要求19所述的数据解密系统,其特征在于,所述第一存储器为所述第二存储器。24.如权利要求19~23任一项所述的数据解密系统,其特征在于,所述处理器,还适于基于所述第二存储器中存储的辅助数据及所述PUF模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所述第二存储器中存储的辅助数据对应的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。

百度查询: 上海复旦微电子集团股份有限公司 数据加密方法、解密方法、加密系统及解密系统