CN109426727A - 数据加密方法、解密方法、加密系统及解密系统 - Google Patents
数据加密方法、解密方法、加密系统及解密系统 Download PDFInfo
- Publication number
- CN109426727A CN109426727A CN201710738501.3A CN201710738501A CN109426727A CN 109426727 A CN109426727 A CN 109426727A CN 201710738501 A CN201710738501 A CN 201710738501A CN 109426727 A CN109426727 A CN 109426727A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- response data
- encryption
- processor
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- 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)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (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模块当前的真实响应数据,得到第一真实响应数据,再基于第一真实响应数据得到用于对数据进行加密的加密密钥,相对于将加密密钥的掩码运算结果存储在第二存储器中,可以增加加密密钥的破解难度,提高数据的安全性。并且,由于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模块(SRAM PUF),也可以是其它类型的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=Hash(R0)。之后,所述处理器12可以将加密密钥A0发送至加密装置13。
在具体实施中,所述加密装置13可以利用加密密钥A0对待加密数据进行加密。比如,当所述处理器12为FPGA芯片时,所述待加密数据可以为FPGA芯片的位流文件,所述加密装置13可以为与FPGA芯片耦接,且适于接收用户操作指令的PC或服务器,所述PC或服务器与FPGA芯片之间可以通过联合测试工作组(Joint Test Action Group,JTAG)接口进行通信,FPGA芯片与第二存储器11之间可以通过串行外设接口(Serial PeripheralInterface,SPI)接口进行通信。由加密装置13对位流文件进行加密,并存储在第一存储器14中。
在具体实施中,所述第一存储器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还适于根据所述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=Hash(R1)。
图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、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (24)
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模块当前的响应数据,得到所述第二存储器中存储的辅助数据对应的响应数据,并基于所述第二存储器中存储的辅助数据对应的响应数据得到更新后的加密密钥,利用所述更新后的加密密钥对所述第一存储器中存储的更新后的加密数据进行解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738501.3A CN109426727B (zh) | 2017-08-24 | 2017-08-24 | 数据加密方法、解密方法、加密系统及解密系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710738501.3A CN109426727B (zh) | 2017-08-24 | 2017-08-24 | 数据加密方法、解密方法、加密系统及解密系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109426727A true CN109426727A (zh) | 2019-03-05 |
CN109426727B CN109426727B (zh) | 2021-01-19 |
Family
ID=65500884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710738501.3A Active CN109426727B (zh) | 2017-08-24 | 2017-08-24 | 数据加密方法、解密方法、加密系统及解密系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109426727B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430060A (zh) * | 2019-07-12 | 2019-11-08 | 东南大学 | 一种基于puf密钥的专用压缩系统 |
CN114553411A (zh) * | 2022-02-25 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 用于分布式内存加密装置和用于分布式内存解密装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681657A (zh) * | 2007-06-12 | 2010-03-24 | Nxp股份有限公司 | 安全存储器 |
CN103152164A (zh) * | 2011-08-17 | 2013-06-12 | Nxp股份有限公司 | 密码电路及其方法 |
CN103748828A (zh) * | 2011-08-23 | 2014-04-23 | 西门子公司 | 用于安全传输数据的系统与方法 |
CN106778205A (zh) * | 2015-10-28 | 2017-05-31 | 德州仪器公司 | 运用物理不可克隆函数的无数据库验证 |
-
2017
- 2017-08-24 CN CN201710738501.3A patent/CN109426727B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101681657A (zh) * | 2007-06-12 | 2010-03-24 | Nxp股份有限公司 | 安全存储器 |
CN103152164A (zh) * | 2011-08-17 | 2013-06-12 | Nxp股份有限公司 | 密码电路及其方法 |
CN103748828A (zh) * | 2011-08-23 | 2014-04-23 | 西门子公司 | 用于安全传输数据的系统与方法 |
CN106778205A (zh) * | 2015-10-28 | 2017-05-31 | 德州仪器公司 | 运用物理不可克隆函数的无数据库验证 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430060A (zh) * | 2019-07-12 | 2019-11-08 | 东南大学 | 一种基于puf密钥的专用压缩系统 |
CN114553411A (zh) * | 2022-02-25 | 2022-05-27 | 苏州浪潮智能科技有限公司 | 用于分布式内存加密装置和用于分布式内存解密装置 |
CN114553411B (zh) * | 2022-02-25 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 用于分布式内存加密装置和用于分布式内存解密装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109426727B (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104486315B (zh) | 一种基于内容属性的可撤销密钥外包解密方法 | |
CN105553951B (zh) | 数据传输方法和装置 | |
CN105760764B (zh) | 一种嵌入式存储设备文件的加解密方法、装置及终端 | |
CN102138300B (zh) | 消息认证码预计算在安全存储器中的应用 | |
CN105722067B (zh) | 移动终端上数据加/解密方法及装置 | |
CN109714307B (zh) | 一种基于国密算法的云平台客户端数据加解密系统及方法 | |
CN105260668A (zh) | 一种文件加密方法及电子设备 | |
CN107257350B (zh) | 一种“可穿戴”设备的离线认证或支付方法 | |
CN104363215A (zh) | 一种基于属性的加密方法和系统 | |
CN108768647B (zh) | 一种区块链的随机数产生方法 | |
CN103378971A (zh) | 一种数据加密系统及方法 | |
CN111538479B (zh) | 开标过程中的随机参数生成方法及装置 | |
CN105306194A (zh) | 供加密档案和/或通讯协定的多重加密方法与系统 | |
CN106101150A (zh) | 加密算法的实现方法和系统 | |
WO2001084766A2 (en) | System and method for encryption using transparent keys | |
CN110213052A (zh) | 数据处理方法与装置 | |
GB2498063A (en) | Checking acceptance of a string by automaton | |
CN105262586B (zh) | 汽车防盗设备的密钥分配方法及装置 | |
CN108965279A (zh) | 数据处理方法、装置、终端设备及计算机可读存储介质 | |
CN109428712A (zh) | 数据加、解密方法及数据加、解密系统 | |
CN109145613A (zh) | 安全加密芯片及含有该芯片的电子设备 | |
CN109426727A (zh) | 数据加密方法、解密方法、加密系统及解密系统 | |
CN112822010B (zh) | 一种基于量子密钥和区块链的可移动存储介质管理方法 | |
CN105915345A (zh) | 一种家庭网关设备生产测试中授权生产和改制的实现方法 | |
CN109428720A (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 |