CN109428720B - 一种数据加密方法、解密方法、加密系统及解密系统 - Google Patents
一种数据加密方法、解密方法、加密系统及解密系统 Download PDFInfo
- Publication number
- CN109428720B CN109428720B CN201710738513.6A CN201710738513A CN109428720B CN 109428720 B CN109428720 B CN 109428720B CN 201710738513 A CN201710738513 A CN 201710738513A CN 109428720 B CN109428720 B CN 109428720B
- Authority
- CN
- China
- Prior art keywords
- data
- key
- encryption
- memory
- response data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
- H04L9/3278—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0894—Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
一种数据加密方法、解密方法、加密系统及解密系统。所述加密方法包括:处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据得到第一密钥数据,并将所述第一密钥数据发送至加密装置;所述加密装置生成对待加密数据进行加密的加密密钥,利用所述加密密钥对待加密数据进行加密,将加密后的数据存储在第一存储器中;并利用所述第一密钥数据对所述加密密钥进行加密,得到第二密钥数据;第二存储器获取所述第一真实响应数据对应的辅助数据及所述第二密钥数据并进行存储。应用上述方案,可以提高数据的安全性。
Description
技术领域
本发明涉及加解密技术领域,具体涉及一种数据加密方法、解密方法、加密系统及解密系统。
背景技术
现场可编程门阵列(Field-Programmable Gate Array,FPGA),是在可编程逻辑阵列(Programmable Logic Array,PAL)和通用逻辑阵列(Generic logic Array,GAL)等可编程器件的基础上进一步发展而来的。FPGA作为专用集成电路(ASIC)领域中的一种半定制电路,既解决了定制电路的不足,又克服了原有可编程器件门电路数量有限的缺点。
运用FPGA开发的产品最终都会生成具有特定功能的位流配置文件。FPGA启动时,需要从外部读取并下载位流配置文件。为了保证位流配置文件的安全性,所下载的位流配置文件通常都是加密的。FPGA需要利用密钥对所下载的位流配置文件进行解密。
由于FPGA中没有存储器,因此,FPGA需要从外部的存储器中获取用于加密位流配置文件的密钥。早期的FPGA,大都采用带电池的随机存取存储器(Random-Access Memory,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模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到第一密钥数据,进而利用第一密钥数据对第二密钥数据进行解密才能够得到加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。
进一步地,在加密装置向处理器发送更新所述加密密钥的指令后,第二存储器可以获取所述当前的响应数据对应的辅助数据并替换所述第一真实响应数据对应的辅助数据进行存储,以及获取更新后的第二密钥数据并替换更新前的第二密钥数据进行存储,进而可以在对数据进行解密的过程中,直接利用更新后的第一密钥数据对所述第二存储器中存储的更新后的第二密钥数据进行解密,得到更新后的加密密钥,从而可以对第一存储器中的加密后的数据进行解密,无须处理器与加密装置之间进行密钥协商,即可完成密钥的更新,有效节省数据传输资源。
附图说明
图1是本发明实施例中一种数据加密系统的结构示意图;
图2是本发明实施例中一种数据解密系统的结构示意图;
图3是本发明实施例中一种数据加密过程的数据交互示意图;
图4是本发明实施例中一种密钥更新过程的数据交互示意图;
图5是本发明实施例中一种数据解密方法的流程图。
具体实施方式
目前,FPGA采用存储器来保存密钥时,通常在数据加密过程中,将对密钥进行掩码运算的结果存储在存储器中,进而在数据解密过程中,FPGA可以获取存储器中的掩码运算结果并恢复出密钥,完成数据解密。
由于掩码运算结果与密钥之间的关联性较大,攻击者通过获取存储器中的掩码运算结果,可以轻松地破解密钥,最终导致数据泄露,难以满足用于对数据安全性的要求。
针对上述问题,本发明实施例提供了一种数据加密方法,在对数据进行加密的过程中,通过将PUF模块的第一真实响应数据对应的辅助数据及第二密钥数据存储在第二存储器中,进而在对数据进行解密时,需要先基于预先存储的辅助数据以及PUF模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到第一密钥数据,进而利用第一密钥数据对第二密钥数据进行解密才能够得到加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。
为使本发明的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1为本发明实施例提供的一种数据加密系统1。所述数据加密系统1可以包括:PUF模块10,第二存储器11,处理器12,加密装置13以及第一存储器14。其中:
所述PUF模块10,适于在初始化后产生第一真实响应数据;
所述处理器12,适于获取PUF模块10初始化产生的第一真实响应数据,基于所述第一真实响应数据得到第一密钥数据,并将所述第一密钥数据发送至加密装置13;
所述加密装置13,适于生成对待加密数据进行加密的加密密钥,利用所述加密密钥对待加密数据进行加密,将加密后的数据存储在第一存储器14中;并利用所述第一密钥数据对所述加密密钥进行加密,得到第二密钥数据并发送至所述第二存储器11;
所述第一存储器14,适于存储加密后的数据;
所述第二存储器11,适于存储所述第二密钥数据和所述第一真实响应数据所对应的辅助数据。
在具体实施中,所述PUF模块10可以为SRAM PUF或其它类型PUF。所述PUF模块10在输入挑战后所产生的响应,称为第一真实响应数据。第一真实响应数据及其对应的辅助数据之间存在一定的关系。
在本发明的一实施例中,为了提高密钥的破解难度,所述第一真实响应数据对应的辅助数据可以是通过对随机数据进行编码,并利用编码结果对所述第一真实响应数据进行相应运算得到的。其中,所述随机数据可以通过设置在PUF模块10内部或外部的随机数发生器获得。所述第一真实响应数据对应的辅助数据可以是PUF模块10产生的,也可以是与PUF模块10耦接的其它设备产生的,比如,所述加密装置13、所述处理器12或者其它设备可以产生述第一真实响应数据对应的辅助数据。
在具体实施中,参照图1,所述PUF模块10可以集成在所述处理器12内。当然,所述PUF模块10也可以与所述处理器12独立设置,具体不作限制。
在具体实施中,所述第二存储器11可以通过多种方式获取所述第一真实响应数据对应的辅助数据并进行存储。
在本发明的一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是从所述PUF模块10获取的。也就是说,所述PUF模块10可以产生所述第一真实响应数据所对应的辅助数据并进行存储。
在本发明的另一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是所述第二存储器11通过所述处理器12获取的。也就是说,所述处理器12可以先获取所述第一真实响应数据所对应的辅助数据,进而将所获取到的辅助数据发送至所述第二存储器11。
在本发明的又一实施例中,所述预先存储的与所述第一真实响应数据所对应的辅助数据,可以是所述第二存储器11通过加密装置13从所述处理器12获取的。也就是说,所述加密装置13可以先获取所述第一真实响应数据所对应的辅助数据,再将所获取到的辅助数据发送至所述处理器12,由所述处理器12将该辅助数据发送至所述第二存储器11。
在具体实施中,所述处理器12可以任意需要对存储器中数据进行保护的器件,比如,所述处理器可以为FPGA芯片。
在具体实施中,所述处理器12适于利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到第一密钥数据。其中,所述预设的密钥生成算法可以为压缩算法,也可以为扩展算法,还可以为裁剪算法,具体不作限制。
以所述预设的密钥生成算法为哈希(Hash)算法为例,在具体实施中,所述处理器12可以通过对第一真实响应数据R0进行哈希运算,得到第一密钥数据K0,即K0=Hash(R0)。之后,所述处理器12可以将第一密钥数据K0发送至所述加密装置13。
在具体实施中,所述加密装置13可以生成对待加密数据进行加密的加密密钥A0,并利用所述加密密钥A0对待加密数据进行加密。比如,当所述处理器12为FPGA芯片时,所述待加密数据可以为FPGA芯片的位流文件,所述加密装置13可以为与FPGA芯片耦接,且适于接收用户操作指令的PC或服务器,所述PC或服务器与FPGA芯片之间可以通过联合测试工作组(Joint Test Action Group,JTAG)接口进行通信,FPGA芯片与所述第二存储器11之间可以通过串行外设接口(Serial Peripheral Interface,SPI)接口进行通信。由所述加密装置13对位流文件进行加密,并将加密后的文件存储在所述第一存储器14中。
除对待加密数据进行加密外,所述加密装置13还可以利用所述第一密钥数据K0对所述加密密钥A0进行加密,得到所述第二密钥数据C0并发送至所述第二存储器11。具体如何利用所述第一密钥数据K0对所述加密密钥A0进行加密,不作限制。比如,可以将第一密钥数据K0作为密钥,利用AES加密算法对加密密钥A0进行加密,得到第二密钥数据C0。
在具体实施中,所述第一存储器14可以为闪存(FLASH)、电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,E2PROM)等存储设备。当然,为了减少电路面积,所述第一存储器14也可以为第二存储器11。也就是说,所述加密装置13可以将加密后的数据存储在第二存储器11中。
在具体实施中,所述处理器12通常在终端用户手中,而非生产者手中。为了便于更新加密密钥,可以在所述加密装置13中预先存储第一真实响应数据R0。具体密钥更新过程如下:
在具体实施中,所述加密装置13,还适于向所述处理器12发送更新所述加密密钥的指令。所述处理器12还适于基于所述更新所述加密密钥的指令,获取所述PUF模块10当前的响应数据R1对应的辅助数据D1,并发送至所述加密装置13。
所述加密装置13,还适于产生更新后的加密密钥A1,并利用更新后的加密密钥A1对待加密数进行加密,得到加密后的数据并存储在所述第一存储器14中;根据所述PUF模块10当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,得到更新后的第一密钥数据K1,并利用所述更新后的第一密钥数据K1对所述更新后的加密密钥A1进行加密,得到更新后的第二密钥数据C1。
所述第二存储器11,还适于获取更新后的第二密钥数据C1并替换更新前的第二密钥数据C0进行存储,以及获取所述当前的响应数R1据对应的辅助数据D1并替换所述第一真实响应数据R0对应的辅助数据D0进行存储。
在具体实施中,所述加密装置13可以先根据PUF模块10当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,恢复出PUF模块10当前的响应数据R1,进而根据PUF模块10当前的响应数据R1,利用预设的密钥生成算法,得到更新后的第一密钥数据K1。
其中,所述加密装置13根据PUF模块10当前的响应数据R1得到更新后的第一密钥数据K1时所采用的密钥生成算法,与所述处理器12通过对第一真实响应数据R0得到第一密钥数据K0时所采用的密钥生成算法相同。以所述预设的密钥生成算法为Hash算法为例,K1=Hash(R1)。
在具体实施中,所述加密装置13利用所述更新后的第一密钥数据对所述更新后的加密密钥进行加密时所采用的加密算法,与所述加密装置13利用原第一密钥数据对原加密密钥进行加密时所采用的加密算法相同,此处不再赘述。
图2为本发明实施例提供的一种数据解密系统2。所述数据解密系统2与所述数据加密系统1相对应,用于对所述数据加密系统1加密后的数据进行解密。
具体地,所述数据解密系统2可以包括:PUF模块20,第二存储器21,第一存储器22以及处理器23。其中:
所述PUF模块20,适于在初始化后产生第一真实响应数据;
所述第一存储器22,适于存储利用加密密钥对待加密数据进行加密后的数据;
所述第二存储器21,适于存储第二密钥数据和所述第一真实响应数据所对应的辅助数据;
所述处理器23,适于获取所述PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据;基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;基于所述第一真实响应数据得到第一密钥数据,并利用所述第一密钥数据对所述第二密钥数据进行解密,得到加密密钥,利用所述加密密钥对所述加密后的数据进行解密。
在具体实施中,所述第二存储器21预先存储的与所述第一真实响应数据所对应的辅助数据,是从所述PUF模块20获取的,或者通过所述处理器23获取的,或者通过加密装置从所述处理器23获取的;其中,所述加密装置,适于在对数据进行加密的过程中产生所述加密密钥,并利用所述加密密钥对所述待加密数据进行加密。
在具体实施中,所述PUF模块20可以集成于所述处理器23内,也可以与所述处理器23相互独立设置,具体不作限制。
关于所述PUF模块20,具体可以参照上述数据加密系统1中PUF模块10的描述进行实施,此处不再赘述。
关于所述加密装置,具体可以参照上述数据加密系统1中加密装置13的描述进行实施,此处不再赘述。
在具体实施中,所述处理器23可以基于所述第一真实响应数据对应的辅助数据以及PUF模块20当前的响应数据,恢复得到所述第一真实响应数据,再利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到第一密钥数据。此时,所述处理器23对第一真实响应数据进行运算时所采用的密钥生成算法,与上述数据加密系统1中处理器12对第一真实响应数据进行运算时所采用的密钥生成算法相同,具体可以参照上述关于处理器12基于第一真实响应数据得到第一密钥数据的过程进行实施,不再赘述。
得到第一密钥数据后,所述处理器23还可以利用第一密钥数据对所述第二密钥数据进行解密,得到加密密钥。其中,所述处理器23利用所述第一密钥数据对所述加密密钥进行解密的过程,与上述数据加密系统的实施例中,所述加密转置13利用第一密钥数据对所述加密密钥进行加密的过程互逆。
比如,当所述加密转置13将第一密钥数据作为密钥,利用AES加密算法对加密密钥进行加密,得到第二密钥数据时,所述处理器23可以将第一密钥数据作为密钥,利用AES加密算法对第二密钥数据进行解密,得到加密密钥。
在本发明的一实施例中,所述第一存储器22可以为所述第二存储器。
在本发明的一实施例中,所述处理器23,还适于基于所述当前的响应数据R1对应的辅助数据D1及最新的响应数据,得到所述PUF模块20当前的响应数据R1;基于所述当前的响应数据R1得到更新后的第一密钥数据K1,利用所述更新后的第一密钥数据K1对所述PUF模块20中存储的更新后的第二密钥数据C1进行解密,得到更新后的加密密钥A1,并利用所述更新后的加密密钥A1对所述第一存储器22中的加密后的数据进行解密。
当所述第二存储器21中存储的辅助数据为当前的响应数据R1对应的辅助数据D1,且所述第二密钥数据为更新后的第二密钥数据C1时,表明加密装置在对数据进行加密的过程中对加密密钥进行了更新。
为了获得更新后的加密密钥,处理器23可以先基于所述当前的响应数据R1对应的辅助数据D1及PUF模块20最新的响应数据,恢复得到PUF模块20当前的响应数据R1,进而利用预设的密钥生成算法,对PUF模块20当前的响应数据R1进行运算,可以得到更新后的第一密钥数据K1。
此处,处理器23基于PUF模块20当前的响应数据R1得到更新后的第一密钥数据K1时所采用的密钥生成算法,与上述数据加密系统1中所述加密装置13根据PUF模块10当前的响应数据R1得到更新后的第一密钥数据K1时所采用的密钥生成算法相同,比如,所述预设的密钥生成算法为哈希算法。具体可以参照上述加密装置13根据PUF模块10当前的响应数据R1得到更新后的加密密钥A1的描述进行实施,不再赘述。
获得更新后的第一密钥数据K1后,所述处理器23可以利用所述更新后的第一密钥数据K1对所述PUF模块20中存储的更新后的第二密钥数据C1进行解密,得到更新后的加密密钥。具体可以参照上述加密装置13利用第一密钥数据对第二密钥数据C1进行解密来得到加密密钥的描述进行实施,此处不再赘述。
由于处理器23可以直接利用当前的响应数据对应的辅助数据及所述第一真实响应数据,得到所述PUF模块20当前的响应数据,并基于所述当前的响应数据得到更新后的加密密钥,从而可以对数据进行加密,而无须处理器23与加密装置之间进行密钥协商,即可完成密钥的更新,故可以有效节省数据传输资源。
为了使本领域技术人员更好地理解和实现本发明,以下对上述数据加密系统及数据解密系统对应的方法进行详细描述。
图3为本发明实施例提供的一种数据加密过程的数据交互过程示意图。参照图3,所述方法可以包括如下步骤:
步骤31,处理器获取PUF模块初始化产生的第一真实响应数据R0,基于所述第一真实响应数据R0得到第一密钥数据K0;
步骤32,处理器将所述第一密钥数据K0发送至加密装置。
步骤33,所述加密装置生成对待加密数据进行加密的加密密钥A0,利用所述加密密钥A0对待加密数据进行加密,以及利用所述第一密钥数据K0对所述加密密钥A0进行加密,得到第二密钥数据C0;
步骤34,所述加密装置将加密后的数据存储在第一存储器中;
步骤35,所述第二存储器获取所述第一真实响应数据R0对应的辅助数据D0及所述第二密钥数据K0并进行存储。
在具体实施中,所述处理器可以利用预设的密钥生成算法,对所述第一真实响应数据R0进行运算,得到所述第一真实响应数据K0。
在本发明的一实施例中,所述预设的密钥生成算法为哈希算法。
在具体实施中,所述第一存储器为所述第二存储器。
在具体实施中,所述第二存储器可以采用以下任意一种方式获取所述第一真实响应数据对应的辅助数据:
所述第二存储器从所述PUF模块获取所述第一真实响应数据R0生成对应的辅助数据D0;
所述第二存储器通过所述处理器获取所述第一真实响应数据R0对应的辅助数据D0;
所述第二存储器通过所述加密装置从所述处理器获取所述第一真实响应数据R0对应的辅助数据D0。
在具体实施中,所述第一存储器为所述第二存储器。
在本发明的一实施例中,参照图4,可以采用如下方法进行密钥更新:
步骤41,所述加密装置向所述处理器发送更新所述加密密钥的指令;
步骤42,所述处理器基于所述更新所述加密密钥的指令,获取所述PUF模块当前的响应数据R1对应的辅助数据D1,并发送至所述加密装置;
步骤43,所述加密装置产生更新后的加密密钥A1,并利用所述更新后的加密密钥A1对所述待加密数据进行加密;以及根据所述PUF模块当前的响应数据R1对应的辅助数据D1以及预先获取到的所述第一真实响应数据R0,得到更新后的第一密钥数据K1,并利用所述更新后的第一密钥数据K1对更新后的加密密钥A1进行加密,得到更新后的第二密钥数据C1;
步骤44,将加密后的数据存储在所述第一存储器中;
步骤45,所述第二存储器获取更新后的第二密钥数据C1并替换更新前的第二密钥数据C0进行存储,以及获取所述当前的响应数据R1对应的辅助数据D1并替换所述第一真实响应数据R0对应的辅助数据D0进行存储。
图5为本发明实施例提供的一种数据解密方法的流程图。参照图5,所述方法可以包括如下步骤:
步骤51,处理器获取PUF模块当前的响应数据,以及获取所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据,所述PUF模块初始化产生的第一真实响应数据所对应的辅助数据预先存储在第二存储器中;
步骤52,所述处理器基于所述第一真实响应数据对应的辅助数据以及PUF模块当前的响应数据,得到所述第一真实响应数据;
步骤53,所述处理器基于所述第一真实响应数据得到第一密钥数据,并利用所述第一密钥数据对预先存储在所述第二存储器中的第二密钥数据进行解密,得到加密密钥,利用所述加密密钥对存储在第一存储器中的加密后的数据进行解密。
在具体实施中,所述处理器可以利用预设的密钥生成算法,对所述第一真实响应数据进行运算,得到第一密钥数据。
在本发明的一实施例中,所述预设的密钥生成算法为哈希算法。
在具体实施中,所述第二存储器预先存储的与所述第一真实响应数据所对应的辅助数据,是所述PUF模块产生的,或者通过所述处理器获取的,或者通过加密装置从所述处理器获取的。其中,所述加密装置,适于利用所述加密密钥对待加密数据进行加密。
在具体实施中,所述第一存储器为所述第二存储器。
在具体实施中,所述方法还包括:
所述处理器基于所述当前的响应数据对应的辅助数据及所述第一真实响应数据,得到所述PUF模块当前的响应数据,并基于所述当前的响应数据得到更新后的第一密钥数据,利用所述更新后的第一密钥数据对所述第一存储器中存储的更新后的第二密钥数据进行解密,得到更新后的加密密钥,并利用所述更新后的加密密钥对所述第一存储器中的加密后的数据进行解密。
由上述内容可知,在对数据进行加密的过程中,通过将PUF模块的第一真实响应数据对应的辅助数据以及第二密钥数据存储在第二存储器中,进而在对数据进行解密时,需要先基于预先存储的辅助数据以及PUF模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到用于对数据进行第一密钥数据,最终基于第一密钥数据对第二密钥数据进行解密才能够得到加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (24)
1.一种数据加密方法,其特征在于,包括:
处理器获取PUF模块初始化产生的第一真实响应数据,基于所述第一真实响应数据得到第一密钥数据,并将所述第一密钥数据发送至加密装置;
所述加密装置生成对待加密数据进行加密的加密密钥,利用所述加密密钥对待加密数据进行加密,将加密后的数据存储在第一存储器中;并利用所述第一密钥数据对所述加密密钥进行加密,得到第二密钥数据;
第二存储器获取所述第一真实响应数据对应的辅助数据及所述第二密钥数据并进行存储,以在对数据解密时,由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模块最新的响应数据,得到所述PUF模块当前的响应数据;
所述处理器基于所述当前的响应数据得到更新后的第一密钥数据,利用所述更新后的第一密钥数据对所述第一存储器中存储的更新后的第二密钥数据进行解密,得到更新后的加密密钥,并利用所述更新后的加密密钥对所述第一存储器中的加密后的数据进行解密。
13.一种数据加密系统,其特征在于,包括:
PUF模块,适于在初始化后产生第一真实响应数据;
处理器,适于获取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模块当前的响应数据;基于所述当前的响应数据得到更新后的第一密钥数据,利用所述更新后的第一密钥数据对所述第二存储器中存储的更新后的第二密钥数据进行解密,得到更新后的加密密钥,并利用所述更新后的加密密钥对所述第一存储器中的加密后的数据进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738513.6A CN109428720B (zh) | 2017-08-24 | 2017-08-24 | 一种数据加密方法、解密方法、加密系统及解密系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738513.6A CN109428720B (zh) | 2017-08-24 | 2017-08-24 | 一种数据加密方法、解密方法、加密系统及解密系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109428720A CN109428720A (zh) | 2019-03-05 |
CN109428720B true CN109428720B (zh) | 2021-09-21 |
Family
ID=65500735
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710738513.6A Active CN109428720B (zh) | 2017-08-24 | 2017-08-24 | 一种数据加密方法、解密方法、加密系统及解密系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109428720B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378139B (zh) * | 2019-07-25 | 2021-07-30 | 江苏芯盛智能科技有限公司 | 一种数据密钥保护方法、系统及电子设备和存储介质 |
CN112417521B (zh) * | 2020-11-05 | 2023-09-05 | 中国航空工业集团公司西安航空计算技术研究所 | 基于fpga+处理器架构的信息安全系统及其工作方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219044A (zh) * | 2014-09-22 | 2014-12-17 | 杭州华澜微科技有限公司 | 一种用于加密存储装置的密钥保密方法 |
CN104468094A (zh) * | 2013-09-24 | 2015-03-25 | 瑞萨电子株式会社 | 加密密钥提供方法、半导体集成电路及加密密钥管理设备 |
-
2017
- 2017-08-24 CN CN201710738513.6A patent/CN109428720B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468094A (zh) * | 2013-09-24 | 2015-03-25 | 瑞萨电子株式会社 | 加密密钥提供方法、半导体集成电路及加密密钥管理设备 |
CN104219044A (zh) * | 2014-09-22 | 2014-12-17 | 杭州华澜微科技有限公司 | 一种用于加密存储装置的密钥保密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109428720A (zh) | 2019-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9553722B2 (en) | Generating a key based on a combination of keys | |
JP6226197B2 (ja) | 証明書発行システム、クライアント端末、サーバ装置、証明書取得方法、及び証明書発行方法 | |
US9530017B2 (en) | Secure printing between printer and print client device | |
CN107078904B (zh) | 混合密码密钥导出 | |
TWI809292B (zh) | 資料的加解密方法、裝置、存儲介質及加密文件 | |
KR20120079639A (ko) | 화이트박스 암호 테이블을 이용한 콘텐츠 보호 장치, 콘텐츠 암호화 및 복호화 장치 | |
JP2017538353A5 (zh) | ||
CN109428712B (zh) | 数据加、解密方法及数据加、解密系统 | |
CN113890731B (zh) | 一种密钥管理方法、装置、电子设备及存储介质 | |
CN109428720B (zh) | 一种数据加密方法、解密方法、加密系统及解密系统 | |
CN111431917B (zh) | 升级包加密方法及装置,升级包解密方法及装置 | |
CN110719160A (zh) | 一种基于量子随机数和国密算法的数据库加密方法 | |
JP2001249901A5 (zh) | ||
CN109426727B (zh) | 数据加密方法、解密方法、加密系统及解密系统 | |
CN103024734B (zh) | 防止Apk被非授权手机安装的加密、解密方法及装置 | |
CN105915345A (zh) | 一种家庭网关设备生产测试中授权生产和改制的实现方法 | |
CN105577650A (zh) | 一种动态令牌的远程时间同步方法及系统 | |
CN113326518A (zh) | 一种数据处理方法及装置 | |
CN108256346B (zh) | 关键数据的保护方法、加密保护装置及嵌入式系统装置 | |
WO2018033017A1 (zh) | 一种授信的终端状态转换方法和系统 | |
US11042488B2 (en) | Diversifying a base symmetric key based on a public key | |
WO2020073314A1 (zh) | 密钥生成方法、获取方法、私钥更新方法、芯片和服务器 | |
JP6348273B2 (ja) | 情報処理システム | |
WO2016078382A1 (zh) | Hsm加密信息同步实现方法、装置和系统 | |
CN107872312B (zh) | 对称密钥动态生成方法、装置、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |