CN103413164A - 一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 - Google Patents
一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 Download PDFInfo
- Publication number
- CN103413164A CN103413164A CN2013102903395A CN201310290339A CN103413164A CN 103413164 A CN103413164 A CN 103413164A CN 2013102903395 A CN2013102903395 A CN 2013102903395A CN 201310290339 A CN201310290339 A CN 201310290339A CN 103413164 A CN103413164 A CN 103413164A
- Authority
- CN
- China
- Prior art keywords
- data
- module
- deciphering
- encrypting
- gate array
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法。包括系统总线、信道、嵌入式微控制器和智能卡接口模块,其中,所述装置还包括由解密模块和加密模块组成的硬件加解密算法模块;所述嵌入式微控制器通过所述系统总线访问所述智能卡接口模块,以接收第一数据,并利用所述解密模块对所述第一数据进行解密后,对解密过的第一数据进行后期处理,以完成数据的接收操作;所述嵌入式微控制器将需要发送的第二数据通过所述加密模块进行加密后,将加密过的第二数据通过所述信道进行发送,以完成数据的发送操作。
Description
技术领域
本发明涉及一种在智能卡芯片内实现数据加解密功能的方法,尤其涉及一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法。
背景技术
由于智能卡芯片内含有大量的用户私人信息,所以用户数据一般都会先经过加密,然后才会在信道上进行传输,以防被第三方窃取。智能卡在接收到加密的信息后,还会将加密的信息解密后用来处理,这就是智能卡的数据加解密过程。该数据加解密过程通常是通过片上的一个数据加解密模块来进行操作的,此模块可以利用硬件电路来实现,也可以利用软件算法来实现。
如图1所示,此为用硬件电路实现数据加解密算法的智能卡芯片示意图;其具体原理为:通过总线,嵌入式微控制器访问程序区和数据区,将要发送的数据经过数据加解密硬件模块加密后放到信道上进行传输。当智能卡接收到来自信道上的数据后,其先将此数据通过数据加解密硬件模块解密后再进行后续处理。由于数据加解密算法是由硬件电路实现的,所以数据加解密的处理速度非常快,可以用于高速 的数据通信系统中。但由于其硬件电路的算法是固定的,所以一旦密钥被破解,整张智能卡便报废,或者说会给用户的数据安全性带来很大的危险,对于智能卡发行商来说,需要花费巨大的人力和物力来帮助用户重新换卡。
如图2所示,此为用软件算法实现数据加解密算法的智能卡芯片示意图;其具体原理为:通过总线,嵌入式微控制器访问程序区和数据区,数据加解密算法由软件实现,固化在片上程序区的某段空间内,当智能卡要对数据进行加密时,此数据加解密算法软件就会被嵌入式微控制器调用并执行,加密后的数据会被放到信道上进行传输。当智能卡接收到来自信道上的数据后,微控制器会先调用数据加解密算法软件对其解密,然后再进行后续处理。由于数据加解密算法是由软件算法实现的,所以灵活性非常强大,就算密钥被攻破,终端也可以立即重新下载一段新的数据加解密算法软件到智能卡上,这样一来,大大的消除了智能卡发卡商的换卡成本。但由于其是软件实现的,所以当数据加解密算法非常复杂的时候,软件所占的程序区就会变得非常大,从而增加了智能卡芯片的面积,进而导致智能卡芯片成本的增加,且加解密算法是由嵌入式微控制器调用的,所以处理速度相对于由硬件电路实现的加解密算法来说会慢很多,有时并不适合于高速的数据通信系统。
中国专利(授权公告号:CN100369017C)公开了一种静态随机存储器可编程门阵列芯片的加密装置及加密方法,该发明的加密装置包括一片FLASH FPGA芯片以及在FLASH FPGA和SRAMFPGA中 实现的握手电路以及在FLASH FPGA芯片中,将剩余逻辑用于实现系统功能中的部分低速逻辑,以进一步提高系统的安全性。该发明是基于静态随机存储器的可编程逻辑门芯片上的加密方法,因此其不可避免的会具有静态随机存储器的缺陷,如当其掉电时,其内部存储的信息就丢失了,再次上电之后需要重新进行信息的加载,这会无形中增加加密过程的时间,不适合高速的数据通信系统。
发明内容
鉴于上述问题,本发明提供一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法。
本发明解决技术问题所采用的技术方案为:
一种实现数据加解密功能的装置,所述装置包括系统总线、信道、嵌入式微控制器和智能卡接口模块,其中,所述装置还包括由解密模块和加密模块组成的硬件加解密算法模块;
所述嵌入式微控制器通过所述系统总线访问所述智能卡接口模块,以接收第一数据,并利用所述解密模块对所述第一数据进行解密后,对解密过的第一数据进行后期处理,以完成数据的接收操作;
所述嵌入式微控制器将需要发送的第二数据通过所述加密模块进行加密后,将加密过的第二数据通过所述信道进行发送,以完成数据的发送操作。
所述的实现数据加解密功能的装置,其中,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
所述的实现数据加解密功能的装置,其中,可采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
所述的实现数据加解密功能的装置,其中,所述非易失性存储单元为相变存储器、铁电存储器、电阻式存储器、磁介质存储器或闪存存储器。
所述的实现数据加解密功能的装置,其中,所述嵌入式可编程逻辑门阵列模块的最小单元可以为组合逻辑,即该嵌入式可编程逻辑门阵列模块中不包括时序逻辑,以在很大程度上减小芯片的面积。
所述的实现数据加解密功能的装置,其中,所述装置还包括一上位机,所述上位机中安装有软件程序;
所述软件程序根据所述嵌入式可编程逻辑门阵列模块资源生成配置文件。
所述的实现数据加解密功能的装置,其中,所述装置还包括一数据单元和一程序单元,所述嵌入式微控制器通过所述系统总线对所述数据单元和程序单元进行数据的读写操作。
所述的实现数据加解密功能的装置,其中,所述上位机将所述配置文件通过所述智能卡接口模块存储至所述数据单元,所述嵌入式微控制器读取所述数据单元中存储的配置文件,以对所述嵌入式可编程逻辑门阵列模块进行写入操作,以更新所述嵌入式可编程逻辑门阵列模块的数据加解密算法。
所述的实现数据加解密功能的装置,其中,所述装置还包括一直接存储器存取模块;
所述智能卡接口模块包括一缓存单元;
所述上位机将所述配置文件通过所述智能卡接口模块存储至所述缓存单元,所述直接存储器存取模块调取所述缓存单元中存储的配置文件,以对所述嵌入式可编程逻辑门阵列模块进行写操作,以更新所述嵌入式可编程逻辑门阵列模块的数据加解密算法。
所述的实现数据加解密功能的装置,其中,所述配置文件包括高速算法单元和低速算法单元;
所述实现数据加解密功能算法的装置包括第一算法模块和第二算法模块,所述第一算法模块由所述嵌入式可编程逻辑门阵列模块实现,所述第二算法模块由软件算法实现;
所述第一算法模块中被写入高速算法,以进行高速复杂数据的处理;
所述第二算法模块中被写入低速算法,以进行低速简单数据的处理。
由所述配置文件形成的数据加解密算法包括高速算法,
一种在智能卡芯片内对数据加解密算法进行更新的方法,其中,
所述软件程序基于一硬件加解密算法模块资源生成配置文件,并将此配置文件通过所述智能卡接口模块传输给所述智能卡芯片;
嵌入式微控制器通过智能卡芯片的接口将所述配置文件暂存于一数据单元上;
调取存储在所述数据单元中的配置文件,写入所述硬件加解密模块,使其具有数据加解密功能。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,可采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,所述非易失性存储单元为相变存储器、铁电存储器、电阻式存储器、磁介质存储器或闪存存储器。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,可采用纯逻辑组合作为所述嵌入式可编程逻辑门阵列模块的最小单元。
一种在智能卡芯片内对数据加解密算法进行更新的方法,其中,
所述软件程序基于一硬件加解密算法模块资源生成配置文件,并将此配置文件通过所述智能卡接口模块传输给所述智能卡芯片;
嵌入式微控制器通过智能卡芯片的接口将所述配置文件暂存于智能卡接口的缓存单元上;
直接存储器存取模块调取存储在所述缓存单元中的配置文件,将其写入所述硬件加解密模块,使其具有数据加解密功能。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,可采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,所述非易失性存储单元为相变存储器、铁电存储器、电阻式存储器、磁介质存储器或闪存存储器。
所述的在智能卡芯片内对数据加解密算法进行更新的方法,其中,可采用纯逻辑组合作为所述嵌入式可编程逻辑门阵列模块的最小单元。
一种数据解密方法,应用于智能卡芯片上,其中,
智能卡接口模块接收另一智能卡芯片发送的经过加密的用户数据;
嵌入式微控制器通过系统总线读取所述智能卡接口模块接收到的经过加密的用户数据;
采用硬件加解密算法模块中的解密模块对经过加密的用户数据进行解密操作;
对解密过的接收的用户数据进行后续处理操作。
所述的数据解密方法,其中,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
所述的数据解密方法,其中,可采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
所述的数据解密方法,其中,所述非易失性存储单元为相变存储 器、铁电存储器、电阻式存储器、磁介质存储器或闪存存储器。
所述的数据解密方法,其中,所述嵌入式可编程逻辑门阵列模块的最小单元可以为纯组合逻辑,即该嵌入式可编程逻辑门阵列模块中不包括时序逻辑,以在很大程度上减小芯片的面积。
所述的数据解密方法,其中,通过一根据所述嵌入式可编程逻辑门阵列模块资源生成的配置文件对所述可编程逻辑门阵列模块进行编程。
一种数据加密方法,其中,应用于智能卡芯片上,其中,嵌入式微控制器调取需要进行发送的未经加密的用户数据;
采用硬件加解密算法中的加密模块对未经加密的用户数据进行加密操作;
将加密后的用户数据放于信道,以进行传输。
所述的数据加密方法,其中,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
所述的数据加密方法,其中,可采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
所述的数据加密方法,其中,所述非易失性存储单元为相变存储器、铁电存储器、电阻式存储器、磁介质存储器或闪存存储器。
所述的数据加密方法,其中,所述嵌入式可编程逻辑门阵列模块的最小单元可以为纯组合逻辑,即该嵌入式可编程逻辑门阵列模块中不包括时序逻辑,以在很大程度上减小芯片的面积。
所述的数据加密方法,其中,通过一根据所述嵌入式可编程逻辑 门阵列模块资源生成的配置文件对所述可编程逻辑门阵列模块进行编程。
上述技术方案具有如下优点或有益效果:
本发明解决了用软件实现数据加解密算法时运行速度慢的问题,也使得用硬件实现数据加解密算法后,密钥一旦被破解智能卡芯片就作废的情况得到了改善。并且可以用非易失性存储单元来实现嵌入式可编程逻辑门阵列内的配置存储单元,从而使得智能卡的面积减小,功耗降低,大大地减少了成本,更能使智能卡达到上电后快速启动的目的。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成对本发明范围的限制。
图1为用硬件电路实现数据加解密算法的智能卡芯片示意图;
图2为用软件算法实现数据加解密算法的智能卡芯片示意图;
图3为本发明实施例1中的一种用嵌入式可编程逻辑门阵列实现数据加解密算法的智能卡芯片示意图;
图4为本发明实施例2中的一种用嵌入式可编程逻辑门阵列实现数据加解密算法的智能卡芯片示意图;
图5为传统的采用静态随机访问存储器单元作为开关选择的可编程逻辑门阵列内布线通道的示意图;
图6为传统的采用静态随机访问存储器单元作为数据输入的可编 程逻辑门阵列内查找表格的示意图;
图7为本发明采用相变存储器单元作为开关选择的可编程逻辑门阵列内布线通道的示意图;
图8为本发明采用相变存储器单元作为数据输入的可编程逻辑门阵列内查找表格的示意图;
图9为传统的带时序逻辑单元的可编程逻辑门阵列模块单元示意图;
图10为本发明不带时序逻辑单元的可编程逻辑门阵列模块单元示意图;
图11为本发明中减小所述可编程逻辑门阵列面积方法示意图;
图12A为本发明实施例1中将所述可编程逻辑门阵列配置文件植入可编程逻辑门阵列的步骤示意图;
图12B为本发明实施例2中将所述可编程逻辑门阵列配置文件植入可编程逻辑门阵列的步骤示意图。
具体实施方式
本发明提供了一种实现数据加解密功能的装置。图3是本发明提出的一种用嵌入式可编程逻辑门阵列实现数据加解密算法的智能卡芯片示意图;如图3所示,包括系统总线、信道(未在图中示出)、嵌入式微控制器和智能卡接口模块,其中,所述装置还包括硬件加解密算法模块,该硬件加解密算法模块中还包括一解密模块和一加密模块。本发明装置还包括一数据单元和一程序单元,嵌入式微控制器通 过系统总线对该数据单元和程序单元进行访问,以进行数据和程序的读写操作。
通过上述的组件可以实现以下的数据交互:
嵌入式微控制器可以通过系统总线对智能卡接口模块进行访问,并接收第一数据,该第一数据可以为加密后尚未进行解密的用户数据,通过解密模块可以对该第一数据进行解密,解密后的第一数据可被用于后期的处理,即上述的实现数据加解密功能的装置完成对数据的接收操作。
相应地,通过嵌入式微控制器可以将需要发送的第二数据通过硬件加解密算法中的加密算法进行加密,该第二数据可以是未经加密的用户数据,该第二数据经过加密后可以通过信道进行发送,这时,本发明实现数据加解密功能的装置完成对数据的发送操作。
优选的,上述的第一数据和第二数据的接收与发送可以在两个相同的具有数据加解密功能的装置中进行,并且其接收和发送的过程可互逆。
进一步的,上述智能卡接口包括一缓存单元,在该缓存单元内可以用于暂时存储加密后的用户信息。
当加密后的用户数据被智能卡接口接收后,暂存于该缓存单元中;嵌入式微控制器通过系统总线可对智能卡接口进行访问,以读取暂存于该缓存单元中的经加密后的用户数据,嵌入式微控制器将该用户数据发送给硬件加解密算法模块,由该硬件加解密算法模块对加密后的用户数据进行解密,解密后的用户数据由嵌入式微控制器用于后 续的处理。
当嵌入式微控制器获取到未经加密的用户信息后,嵌入式微控制器将该用户信息发送给硬件加解密算法模块,由该硬件加解密算法模块对未加密的用户数据进行加密,加密后的用户数据由嵌入式微控制器放到信道上,以进行传输。
对于上述的硬件加解密算法模块,可优选采用嵌入式可编程逻辑门阵列模块,该嵌入式可编程逻辑门阵列模块经过编程后可具有特定的数据加解密功能。另外,本装置还包括一个外接的智能卡服务器终端,在该智能卡服务器终端中存储着若干基于嵌入式可编程逻辑门阵列资源而编译完成的特定的数据加解密算法。
为了进一步优化本装置的数据加解密的安全性,该智能卡服务器终端采用以下两种方法来提高数据的安全性:
1、智能卡服务器终端定期地将嵌入式可编程逻辑门阵列模块中的数据加解密算法进行更新替换,以使得嵌入式可编程逻辑门阵列模块中的数据加解密算法能够每隔一段时间就进行替换,从而主动地提高了数据加解密算法的安全性;
2、当智能卡的密钥被破解后,即原先在嵌入式可编程逻辑门阵列模块中的数据加解密算法被破译后,此时原有的数据加解密算法已经起不到加解密数据的功能,失去了对数据的保护。对于这种情况,智能卡服务器终端可以在这时及时地对嵌入式可编程逻辑门阵列模块中的数据加解密算法进行更新替换,而不是再等待预定的更新时间才进行更新,这是被动地对数据进行安全补救。
可见,本装置中通过一个外设的智能卡服务器终端,既可以主动地对嵌入式可编程逻辑门阵列模块中的数据加解密算法进行定时地更新,又可以在原始的数据加解密算法被破解后,及时响应来对原始的算法进行更新,通过主动保护和被动补救相结合,能够灵活地对嵌入式逻辑门阵列模块中的数据加解密算法进行替换,从而使得即使当智能卡加解密算法被破解后,智能卡芯片可以不进行报废,而是继续使用,进而能够延长智能卡的使用寿命。
通过智能卡服务器终端进行数据加解密算法的更新包括:在一上位机中将配置文件通过智能卡接口模块存储至数据单元中,然后由嵌入式微控制读取数据单元中存储的配置文件,以对嵌入式可编程逻辑门阵列模块进行写入操作,进而更新嵌入式可编程逻辑门阵列模块中的数据加解密算法。
更进一步的,为了提高嵌入式逻辑门阵列模块对数据的处理速度,并提高智能卡的上电响应速度,本发明采用非易失性存储器作为嵌入式逻辑门阵列模块中的存储器,以取代传统的静态随机访问存储器,用以存储数据加解密算法。这些非易失性存储器可以为相变存储器(phase change memory,简称:PCM)、铁电存储器(Ferroelectric random access memory,简称:FRAM)、电阻式存储器(Resistive Random Access Memory,简称:ReRAM)、磁介质存储器(magnetic RAM,简称:MRAM)、闪存存储器(Flash)等。因为,这些非易失性存储器可以在掉电的情况下仍旧保持对数据的存储,即对数据加解密算法的存储,这就使得智能卡在掉电之后的下次上电时不必再重新加 载数据,大大提升了智能卡的上电响应速度。
下面结合具体实施例对本发明进行详细说明。
实施例1
为了使装置具有数据加解密功能,首先需要给嵌入式逻辑门阵列模块赋予数据加解密算法,如图12A所示,通过以下步骤完成:
步骤S1、在一个上位机上将基于嵌入式可编程逻辑门阵列资源的数据加解密算法编译完成,生成嵌入式可编程逻辑门阵列配置文件(BIT FILE);
步骤S2、由智能卡芯片的接口接收该嵌入式可编程逻辑门阵列配置文件,并发送给所述智能卡芯片;
步骤S3、智能卡芯片将接收到的嵌入式可编程逻辑门阵列配置文件暂存于智能卡芯片内的数据单元上;
步骤S4、智能卡芯片将存储于数据单元内的嵌入式可编程逻辑门阵列配置文件编程至嵌入式可编程逻辑门阵列模块内,进而使嵌入式可编程逻辑门阵列模块具有特定的数据加解密功能。
通过上述的步骤S1~步骤S4赋予了嵌入式可编程逻辑门阵列模块特定的加解密算法功能,使得该可编程逻辑门阵列模块成为整个装置中的一个硬件加解密算法模块。
然后,通过被赋予了数据加解密算法的嵌入式逻辑门阵列模块对用户数据实施加密和解密,其具体方法如下:
由嵌入式微控制器通过系统总线可对智能卡接口进行访问,以读取暂存于智能卡借口中的缓存单元中的经加密后的用户数据,并且由 该嵌入式微控制器将该用户数据发送给嵌入式逻辑门阵列模块,然后,由该嵌入式逻辑门阵列模块对加密后的用户数据进行解密,经过解密后的用户数据再由嵌入式微控制器用于后续的处理。
当嵌入式微控制器获取到未经加密的用户信息后,嵌入式微控制器将该用户信息发送给嵌入式逻辑门阵列模块,然后,由该嵌入式逻辑门阵列模块对未加密的用户数据进行加密,经加密后的用户数据由嵌入式微控制器放于信道上,以进行传输。
为了进一步提高数据加解密算法的安全性,在本实施例中还设置有一智能卡服务器终端,通过该智能卡服务器终端可以定期地将嵌入式可编程逻辑门阵列模块中的数据加解密算法进行更新。或者当智能卡的密钥被破解后,该智能卡服务器终端可以立即对嵌入式逻辑门阵列模块中的数据加解密算法进行更新,以实现灵活地、并且有针对性地提升智能卡对用户数据处理的安全性,同时也延长了智能卡的使用寿命。
由于嵌入式逻辑门阵列模块是本发明实施例的核心,因此下面对嵌入式逻辑门阵列模块进行优化以区别于传统的嵌入式逻辑门阵列模块。
为了提高嵌入式逻辑门阵列模块的对数据的处理速度,在本实施例中采用相变存储器作为嵌入式逻辑门阵列模块中的存储器,以对可编程逻辑门配置文件进行存储。下面对传统的静态随机访问存储器和本实施例中的相变存储器进行对比说明。
主要从以下两个方面进行对比说明:
1、可编辑逻辑门阵列模块内布线通道的开关方面。如图5所示,其为用静态随机访问存储器单元做开关选择的可编程逻辑门阵列内布线通道示意图。比如当开关是用N型晶体管做成的,那么在其栅极加高电平,开关就打开,让信号从源极和漏极通过,若在栅极加低电平,开关就关闭,阻止了信号从源极和漏极通过。所以,只要通过配置文件(BIT FILE)将输出连至开关栅极的配置存储单元编程至逻辑“1”或者逻辑“0”,即可控制信号的流向,起到了配置布线通道的作用。传统的可编程逻辑门阵列内布线通道配置存储单元是用静态随机访问存储器(SRAM)实现的,单元面积为120F2,在深亚微米制程下,其漏电也会很大。如图7所示,其为用相变存储器(PCM)单元做开关选择的可编程逻辑门阵列内布线通道示意图。相变存储器是一种新型的非易失性存储器,其单元面积约为10F2,在深亚微米制程下,其漏电非常小。所以,用相变存储器(PCM)来替代静态随机访问存储器(SRAM)作为可编程逻辑门阵列内布线通道配置存储单元,可以大大地减少嵌入式可编程逻辑门阵列的面积,并且大大地减小静态漏电流,使其适合于智能卡超低功耗的需求。
2、可编辑逻辑门阵列模块内的查找表方面。如图6所示,其为用静态随机访问存储器单元做数据输入的可编程逻辑门阵列内查找表格实现示意图。查找表格是可编程逻辑门阵列内的又一基本逻辑单元,图中是一个简单的四选一电路,SRAM记录着四种情况下的输出值。同样的,如图8所示,其为用相变存储器单元做数据输入的可编程逻辑门阵列内查找表格实现示意图,用PCM替代SRAM作为可编程逻 辑门阵列内查找表格配置存储单元,可以大大地减少嵌入式可编程逻辑门阵列的面积,并且大大地减小静态漏电流,使其适合于智能卡超低功耗的需求。
更进一步的,由于嵌入式可编程逻辑门阵列模块是半定制的模块,因此,当其在实现数据加解密算法的同时会产生逻辑冗余,换而言之,当数据加解密算法很复杂的时候,在可编程逻辑门阵列模块中的资源就需要得更多,这无形中就增加了智能卡芯片的物理面积,针对该问题,本实施例中从不同角度提出两种可行的优化方案。
优化方案1:由于传统的嵌入式可编程逻辑门阵列模块是由组合逻辑单元和时序逻辑单元所组成的最小单元经组合后生成的门阵列模块。而大多数的数据加解密算法是仅通过组合逻辑单元实现的,因此在本实施例中考虑将几乎不起作用的时序逻辑单元从嵌入式可编程逻辑门阵列模块中去除,如图9~10所示。通过这种方法可以大大地减少嵌入式可编程逻辑门阵列模块的面积,因此当嵌入式可编程逻辑门阵列模块需要实现相对复杂的加解密运算时,该减少的面积可以用于存放更多的可编辑逻辑门阵列资源,这就保证了在面积一定的情况下嵌入式可编程逻辑门阵列模块可以进行更为复杂的数据加解密算法。
优化方案2:根据数据加解密算法的复杂程度,将数据加解密算法拆分为两个部分。一部分为复杂算法部分,其数据处理量十分庞大,而且需要进行高速运算;另一部分为相对简单算法,其数据处理量并不十分大,且不需要进行高速运算。针对上述两种算法的特征,在本实施例中将高速复杂算法部分采用嵌入式可编程逻辑门阵列模块来实 现,而相对低速简单算法部分则采用传统的软件算法实现,如图11所示。所以当嵌入式微控制器在调用复杂的数据加解密算法时,其可以利用软硬件交替结合的方法进行处理,这既减小了智能卡芯片的物理面积,又保证了数据处理的速度。
本实施例中上述公开的技术方案可以在一定程度上兼具传统硬件数据加解密算法的速度和传统软件加解密算法的灵活性。下面通过几个方面来将本发明实施例的技术方案和传统技术进行比较说明。
如表1所示,此为传统的智能卡上用硬件或者软件实现数据加解密算法和本发明提出的一种用嵌入式可编程逻辑门阵列实现加解密算法之间的比较。由于嵌入式可编程逻辑阵列采用的是半定制技术,所以其实现面积会小于用软件算法实现数据加解密所占用的程序单元物理尺寸大小,但又由于用硬件电路实现的数据加解密算法是基于全定制的技术,所以用硬件实现后的面积是最小的。在速度上,用软件实现的算法是由微控制器调用和处理的,所以其速度最慢;而用硬件电路实现的方式在速度上是超快的,这是因为其速度在设计的时候都是被最优化过的;本发明提出的用嵌入式可编程逻辑门阵列实现的方式,由于其是半定制的,所以在速度上会小于等于用硬件实现的方式,但会远远快于用软件实现的方式。从安全灵活性考虑,用软件实现的方式是最为灵活的,从理论上来说,用软件算法可以实现任何数据加解密算法;对于用硬件电路实现的方式来说,由于其一旦经过工艺制程后,就会被永久固化下来,所以其不具有任何灵活性;而本发明提出的用嵌入式可编程逻辑门阵列实现的方式,灵活性也非常高,可以实 现任何数据加解密算法,只是当算法越复杂,那么其要求的面积也就越大,换句话说,在一定面积的限定条件下,本发明提出的实现方式的灵活性会低于或者等于用软件实现的方式。
实现方式 | 面积 | 速度 | 安全灵活性 |
硬件 | 小 | 超快 | 无 |
软件 | 大 | 慢 | 高 |
本发明 | 中 | 快 | 中高 |
表1
实施例2
本发明实施例2与实施例1的区别之处在于,在实施例2中还包括一个直接存储器存取模块(direct memory access,简称:DMA),如图4所示,该直接存储器存取模块的其中一端连接着智能卡借口的缓存单元的输出端,另一端则连接着嵌入式可编程逻辑门阵列模块的输入端。通过这种方式,对嵌入式可编程逻辑门阵列模块赋予数据加解密算法功能不需要通过嵌入式微控制器的参与,而是通过直接存储器存取模块直接将嵌入式可编程逻辑门阵列模块的配置文件快速地编程至该嵌入式可编程逻辑门阵列模块内。如图12B所示,具体通过以下步骤实现:
步骤S1、在一个上位机上将基于嵌入式可编程逻辑门阵列资源的数据加解密算法编译完成,生成嵌入式可编程逻辑门阵列配置文件 (BIT FILE);
步骤S2、由智能卡芯片的接口接收该嵌入式可编程逻辑门阵列配置文件,并发送给所述智能卡芯片;
步骤S3、智能卡芯片将接收到的嵌入式可编程逻辑门阵列配置文件暂存在所述智能卡芯片接口的缓存单元上;
步骤S4、智能卡芯片再将存储在智能卡芯片接口缓存单元上的嵌入式可编程逻辑门阵列配置文件通过直接存储器存取模块编程到嵌入式可编程逻辑门阵列模块内,使其具有特定的数据加解密功能。
通过上述的步骤S1~步骤S4赋予了嵌入式可编程逻辑门阵列模块特定的加解密算法功能,使得该可编程逻辑门阵列模块成为整个装置中的一个硬件加解密算法模块。
然后,通过被赋予了数据加解密算法的嵌入式逻辑门阵列模块对用户数据实施加密和解密,其具体方法与实施例1中相同:
由嵌入式微控制器通过系统总线可对智能卡接口进行访问,以读取暂存于智能卡借口中的缓存单元中的经加密后的用户数据,并且由该嵌入式微控制器将该用户数据发送给嵌入式逻辑门阵列模块,然后,由该嵌入式逻辑门阵列模块对加密后的用户数据进行解密,经过解密后的用户数据再由嵌入式微控制器用于后续的处理。
当嵌入式微控制器获取到未经加密的用户信息后,嵌入式微控制器将该用户信息发送给嵌入式逻辑门阵列模块,然后,由该嵌入式逻辑门阵列模块对未加密的用户数据进行加密,经加密后的用户数据由嵌入式微控制器放于信道上,以进行传输。
与实施例1相同,实施例2中同样设置有一智能卡服务器终端, 通过该智能卡服务器终端可以定期地将嵌入式可编程逻辑门阵列模块中的数据加解密算法进行更新。或者当智能卡的密钥被破解后,该智能卡服务器终端可以立即对嵌入式逻辑门阵列模块中的数据加解密算法进行更新。
在实施例2中,对于嵌入式可编程逻辑门阵列模块的改进与实施例1中相同,故在此不再进行赘述。
综上所述,本发明解决了用软件实现数据加解密算法时运行速度慢的问题,也使得用硬件实现数据加解密算法后,密钥一旦被破解智能卡芯片就作废的情况得到了改善。并且可以用非易失性存储单元来实现嵌入式可编程逻辑门阵列内的配置存储单元,从而使得智能卡的面积减小,功耗降低,大大地减少了成本,更能使智能卡达到上电后快速启动的目的。
对于本领域的技术人员而言,阅读上述说明后,各种变化和修正无疑将显而易见。因此,所附的权利要求书应看作是涵盖本发明的真实意图和范围的全部变化和修正。在权利要求书范围内任何和所有等价的范围与内容,都应认为仍属本发明的意图和范围内。
Claims (10)
1.一种实现数据加解密功能的装置,所述装置包括系统总线、信道、嵌入式微控制器和智能卡接口模块,其特征在于,所述装置还包括由解密模块和加密模块组成的硬件加解密算法模块;
所述嵌入式微控制器通过所述系统总线访问所述智能卡接口模块,以接收第一数据,并利用所述解密模块对所述第一数据进行解密后,对解密过的第一数据进行后期处理,以完成数据的接收操作;
所述嵌入式微控制器将需要发送的第二数据通过所述加密模块进行加密后,将加密过的第二数据通过所述信道进行发送,以完成数据的发送操作。
2.如权利要求1所述的实现数据加解密功能的装置,其特征在于,采用嵌入式可编程逻辑门阵列模块作为所述硬件加解密算法模块。
3.如权利要求2所述的实现数据加解密功能的装置,其特征在于,采用非易失性存储单元作为所述嵌入式可编程逻辑门阵列模块的配置存储单元。
4.如权利要求1所述的实现数据加解密功能的装置,其特征在于,所述装置还包括一上位机;
所述上位机根据所述嵌入式可编程逻辑门阵列模块资源生成配置文件。
5.如权利要求4所述的实现数据加解密功能的装置,其特征在于,所述装置还包括一数据单元和一程序单元,所述嵌入式微控制器通过所述系统总线对所述数据单元和程序单元进行数据的读写操作。
6.如权利要求5所述的实现数据加解密功能的装置,其特征在于,所述装置还包括第一算法模块和第二算法模块;
所述第一算法模块中被写入高速算法,以进行高速复杂数据的处理;
所述第二算法模块中被写入低速算法,以进行低速简单数据的处理。
7.一种在智能卡芯片内对数据加解密算法进行更新的方法,其特征在于,
一上位机基于一硬件加解密算法模块资源生成配置文件,并将所述配置文件通过一所述智能卡接口模块传输给所述智能卡芯片;
嵌入式微控制器通过智能卡芯片的接口将所述配置文件暂存于一数据单元上;
调取存储在所述数据单元中的配置文件,写入所述硬件加解密模块,使其具有数据加解密功能。
8.一种在智能卡芯片内对数据加解密算法进行更新的方法,其特征在于,
一上位机基于一硬件加解密算法模块资源生成配置文件,并将所述配置文件通过所述一智能卡接口模块传输给所述智能卡芯片;
嵌入式微控制器通过智能卡芯片的接口将所述配置文件暂存于智能卡接口的缓存单元上;
直接存储器存取模块调取存储在所述缓存单元中的配置文件,将其写入所述硬件加解密模块,使其具有数据加解密功能。
9.一种数据解密方法,应用于智能卡芯片上,其特征在于,
智能卡接口模块接收另一智能卡芯片发送的经过加密的用户数据;
嵌入式微控制器通过系统总线读取所述智能卡接口模块接收到的经过加密的用户数据;
采用硬件加解密算法模块中的解密模块对经过加密的用户数据进行解密操作;
对解密过的接收的用户数据进行后续处理操作。
10.一种数据加密方法,其特征在于,应用于智能卡芯片上,其特征在于,嵌入式微控制器调取需要进行发送的未经加密的用户数据;
采用硬件加解密算法中的加密模块对未经加密的用户数据进行加密操作;
将加密后的用户数据放于信道,以进行传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310290339.5A CN103413164B (zh) | 2013-07-10 | 2013-07-10 | 一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310290339.5A CN103413164B (zh) | 2013-07-10 | 2013-07-10 | 一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103413164A true CN103413164A (zh) | 2013-11-27 |
CN103413164B CN103413164B (zh) | 2017-08-25 |
Family
ID=49606171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310290339.5A Active CN103413164B (zh) | 2013-07-10 | 2013-07-10 | 一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103413164B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280372A (zh) * | 2018-02-23 | 2018-07-13 | 深圳国微技术有限公司 | 一种安全芯片 |
CN109932953A (zh) * | 2017-12-19 | 2019-06-25 | 陈新 | 智能超算可编程控制器 |
CN111339544A (zh) * | 2019-04-24 | 2020-06-26 | 上海安路信息科技有限公司 | 离线下载装置及离线下载方法 |
CN112668026A (zh) * | 2020-12-31 | 2021-04-16 | 兴唐通信科技有限公司 | 一种抗辐照星载tcm装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037457A1 (en) * | 2000-04-19 | 2001-11-01 | Nec Corporation | Encryption-decryption apparatus |
CN1828558A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 静态随机存储器可编程门阵列芯片的加密装置及加密方法 |
CN101419652A (zh) * | 2008-08-22 | 2009-04-29 | 航天信息股份有限公司 | 一种软硬件结合的保护程序的方法 |
CN101485576A (zh) * | 2008-12-30 | 2009-07-22 | 深圳市蓝韵实业有限公司 | 一种对设备内fpga芯片统一配置和管理的系统 |
CN101561888A (zh) * | 2009-05-12 | 2009-10-21 | 苏州国芯科技有限公司 | 一种实时加密sd卡及高速加解密方法 |
CN201689449U (zh) * | 2010-02-11 | 2010-12-29 | 江苏银邦信息技术有限公司 | 两模块智能卡 |
CN102236773A (zh) * | 2010-04-30 | 2011-11-09 | 航天信息股份有限公司 | 射频识别加密验证系统和方法 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
-
2013
- 2013-07-10 CN CN201310290339.5A patent/CN103413164B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010037457A1 (en) * | 2000-04-19 | 2001-11-01 | Nec Corporation | Encryption-decryption apparatus |
CN1828558A (zh) * | 2005-03-04 | 2006-09-06 | 中国科学院计算技术研究所 | 静态随机存储器可编程门阵列芯片的加密装置及加密方法 |
CN101419652A (zh) * | 2008-08-22 | 2009-04-29 | 航天信息股份有限公司 | 一种软硬件结合的保护程序的方法 |
CN101485576A (zh) * | 2008-12-30 | 2009-07-22 | 深圳市蓝韵实业有限公司 | 一种对设备内fpga芯片统一配置和管理的系统 |
CN101561888A (zh) * | 2009-05-12 | 2009-10-21 | 苏州国芯科技有限公司 | 一种实时加密sd卡及高速加解密方法 |
CN201689449U (zh) * | 2010-02-11 | 2010-12-29 | 江苏银邦信息技术有限公司 | 两模块智能卡 |
CN102236773A (zh) * | 2010-04-30 | 2011-11-09 | 航天信息股份有限公司 | 射频识别加密验证系统和方法 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109932953A (zh) * | 2017-12-19 | 2019-06-25 | 陈新 | 智能超算可编程控制器 |
CN108280372A (zh) * | 2018-02-23 | 2018-07-13 | 深圳国微技术有限公司 | 一种安全芯片 |
CN111339544A (zh) * | 2019-04-24 | 2020-06-26 | 上海安路信息科技有限公司 | 离线下载装置及离线下载方法 |
CN112668026A (zh) * | 2020-12-31 | 2021-04-16 | 兴唐通信科技有限公司 | 一种抗辐照星载tcm装置 |
CN112668026B (zh) * | 2020-12-31 | 2023-12-22 | 兴唐通信科技有限公司 | 一种抗辐照星载tcm装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103413164B (zh) | 2017-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101782956B (zh) | 一种基于aes实时加密的数据保护方法及装置 | |
JP5969048B2 (ja) | グローバルプラットフォーム仕様を使用した発行元セキュリティドメインの鍵管理のためのシステム及び方法 | |
CN102436423B (zh) | 通用片外NorFlash核心数据保护的控制器及方法 | |
KR102157668B1 (ko) | 호스트와 통신하는 메모리 컨트롤러, 그것의 동작 방법 및 그것을 포함하는 컴퓨팅 시스템 | |
US20140164793A1 (en) | Cryptographic information association to memory regions | |
WO2016042287A1 (en) | Puf and address dependent data encryption | |
EP3667535B1 (en) | Storage data encryption and decryption device and method | |
US10698840B2 (en) | Method and apparatus to generate zero content over garbage data when encryption parameters are changed | |
CN102129592B (zh) | 接触式智能卡 | |
CN105607865A (zh) | 安全数据储存装置、系统及其数据写入与读取方法 | |
CN108573176B (zh) | 一种密钥派生加密的移动终端数据安全删除的方法及系统 | |
US20220138113A1 (en) | Secure data communication with memory sub-system | |
CN202870835U (zh) | 一种芯片片外ram总线接口硬件加密装置 | |
CN101218609B (zh) | 带有安全的数据处理的便携式数据载体 | |
CN103413164A (zh) | 一种在智能卡芯片内用嵌入式可编程逻辑门阵列实现数据加解密功能的方法 | |
CN104834873A (zh) | 一种用于云数据信息加密解密的u盘及实现方法 | |
CN102693385A (zh) | 基于sd可信计算模块的嵌入式终端及实现方法 | |
CN111914309A (zh) | 密码保护的数据储存装置以及非挥发式存储器控制方法 | |
CN105205416A (zh) | 一种移动硬盘密码模块 | |
CN204669402U (zh) | 一种基于u盘的云数据信息加密解密系统 | |
CN114764512A (zh) | 加密密钥管理 | |
CN102346820A (zh) | 一种保密数据存储方法及装置 | |
CN102609368B (zh) | 固态硬盘数据加解密的方法及其固态硬盘 | |
CN203930840U (zh) | 一种硬件加密卡 | |
CN102567689A (zh) | 基于相变存储器的非易失内存数据机密性保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |