一种安全芯片中数据加解密的方法及系统的制作方法

文档序号:9376174阅读:732来源:国知局
一种安全芯片中数据加解密的方法及系统的制作方法
【技术领域】
[0001]本发明涉及信息安全和集成电路领域,更具体地说,涉及一种安全芯片中数据加解密的方法及系统。
【背景技术】
[0002]当前,以智能卡和USBKey为代表安全芯片在各种信息系统中应用广泛。这种安全芯片的主要作用是信任根源,即用于身份认证和权限控制。安全芯片自身的安全性对整个信息系统的安全性具有关键作用。安全芯片内部一般存储用户的机密信息,特别是用户的私有密钥。安全芯片往往是恶意组织或黑客破解的目标,只要安全芯片内机密信息或私钥被破解,安全芯片即可被复制和非法使用。现有研究表明,基于芯片功耗、运行时间、电磁辐射等信息和错误注入的旁路破解、基于芯片反向工程的侵入式物理破解是破解安全芯片的有效手段,现有安全芯片往往缺乏全面的防护措施。为保护安全芯片内部的机密信息或私钥,对其进行加密存储是一种有效手段,但这种措施必然涉及加密密钥及加解密装置自身的安全问题。
[0003]因此,如何怎样防止芯片内部加密密钥和加解密电路,被硬件木马或者方向工程等手段破解,是现在需要解决的问题。

【发明内容】

[0004]本发明的目的在于提供一种安全芯片中数据加解密的方法及系统,以防止芯片内部加密密钥和加解密电路,被硬件木马或者方向工程等手段破解。
[0005]为实现上述目的,本发明实施例提供了如下技术方案:
[0006]—种安全芯片中数据加解密的方法,包括:
[0007]根据预设位宽值,将待处理数据切分成位宽为所述预设位宽值的X个数据切片序列;
[0008]将所述X个数据切片序列送至加解密模块,通过所述加解密模块对所述X个数据切片序列进行加密处理或解密处理;其中,所述加解密模块和密钥均通过反熔丝查找表标准单元实现;
[0009]若检测到所述加解密模块输出有效数据,则对连续输出X周期的数据切片进行采样;其中,所述连续输出X周期的数据切片为与所述待处理数据对应的加密数据或解密数据。
[0010]优选的,将所述X个数据切片序列送至加解密模块时,包括:
[0011]在输入所述X个数据切片序列时,将输入所述加解密模块的输入数据有效使能信号MIVLD置为高电平,并持续X个周期;
[0012]在输入第一个数据切片序列时,将输入所述加解密模块的输入数据序列头标志信号MIHEAD置为高电平,并持续一个周期;
[0013]在输入最后一个数据切片序列时,将输入所述加解密模块的输入数据序列尾标志信号MITAIL置为高电平,并持续一个周期;
[0014]在输入所述X个数据切片序列时,若对所述X个数据切片进行加密处理,则将输入所述加解密模块的加解密标准信号ENC置为高电平;若对所述X个数据切片进行解密处理,则将输入所述加解密模块的加解密标准信号ENC置为低电平。
[0015]优选的,若检测到所述加解密模块输出有效数据,则对连续输出X周期的数据切片进行采样,包括:
[0016]所述加解密模块输出X周期的数据切片时,将输出数据有效使能信号MOVLD置为高电平,并持续X个周期;
[0017]所述加解密模块输出第一个周期的数据切片时,将输出数据序列头标志信号MOHEAD置为高电平,并持续一个周期;
[0018]所述加解密模块输出最后一个周期的数据切片时,将输出数据序列尾标志信号MOTAIL置为高电平,并持续一个周期。
[0019]优选的,所述根据预设位宽值,将待处理数据切分成位宽为预设值的X个数据切片序列之前,还包括:
[0020]设定固定时钟周期;
[0021]其中,在所述输入数据有效使能信号MIVLD置为高电平并持续所述固定时钟周期后,将所述输出数据有效使能信号MOVLD置为高电平,并输出有效的数据切片。
[0022]优选的,若最后一个数据切片序列不足所述预设位宽值,则进行加零补位。
[0023]—种安全芯片中数据加解密的系统,包括:
[0024]数据切片模块,根据预设位宽值,将待处理数据切分成位宽为所述预设位宽值的X个数据切片序列;
[0025]加解密模块,用于对所述X个数据切片序列进行加密处理或解密处理;其中,所述加解密模块和密钥均通过反熔丝查找表标准单元实现;
[0026]采样模块,用于当检测到所述加解密模块输出有效数据时,对连续输出X周期的数据切片进行采样;其中,所述连续输出X周期的数据切片为与所述待处理数据对应的加解密数据或解密数据。
[0027]优选的,所述加解密模块,包括:
[0028]第一接收单元,用于在输入所述X个数据切片序列时,接收持续X个周期高电平的输入数据有效使能信号MIVLD ;
[0029]第二接收单元,用于在输入第一个数据切片序列时,接收持续一个周期的输入数据序列头标志信号MIHEAD ;
[0030]第三接收单元,用于在输入最后一个数据切片序列时,接收持续一个周期的将输入数据序列尾标志信号MITAIL ;
[0031]第四接收单元,用于在对所述X个数据切片序列进行加密处理时,接收高电平加解密标准信号ENC ;在对所述X个数据切片序列进行解密处理时,接收低电平加解密标准信号 NEC。
[0032]优选的,所述加解密模块,包括:
[0033]第一输出设置单元,用于在所述加解密模块输出X周期的数据切片时,将输出数据有效使能信号MOVLD设置为高电平,并持续X个周期;
[0034]第二输出设置单元,用于在所述加解密模块输出第一个周期的数据切片时,将输出数据序列头标志信号MOHEAD设置为高电平,并持续一个周期;
[0035]第三输出设置单元,用于在所述加解密模块输出最后一个周期的数据切片时,将输出数据序列尾标志信号MOTAIL设置为高电平,并持续一个周期。
[0036]优选的,所述加解密模块还包括:
[0037]时钟设定模块,用于设定固定时钟周期;
[0038]其中,在所述输入数据有效使能信号MIVLD置为高电平并持续所述固定时钟周期后,将所述输出数据有效使能信号MOVLD置为高电平,并输出有效的数据切片。
[0039]优选的,所述数据切片模块,包括:
[0040]补位单元,用于当最后一个数据切片序列不足所述预设位宽值,则进行加零补位。[0041 ] 通过以上方案可知,本发明实施例提供的一种安全芯片中数据加解密的方法及系统,包括:根据预设位宽值,将待处理数据切分成位宽为所述预设位宽值的X个数据切片序列;将所述X个数据切片序列送至加解密模块,通过所述加解密模块对所述X个数据切片序列进行加密处理或解密处理;其中,所述加解密模块和密钥均通过反熔丝查找表标准单元实现;若检测到所述加解密模块输出有效数据,则对连续输出X周期的数据切片进行采样;其中,所述连续输出X周期的数据切片为与所述待处理数据对应的加密数据或解密数据。由于本实施例中的加解密模块中的加解密算法逻辑电路和密钥均由反熔丝查找表标准单元实现,且反熔丝电路在编程之后不具有可逆性,且只能编程一次,即使运用反向工程也无法破解反熔丝电路在编程之后的状态,因此,本实施例能防止芯片内部加密密钥和加解密电路,被硬件木马或者方向工程等手段破解,保证了数据的安全性。
【附图说明】
[0042]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本发明实施例公开的一种安全芯片中数据加解密的方法流程示意图;
[0044]图2为本发明实施例公开的数据加密过程时序图;
[0045]图3为本发明实施例公开的数据解密过程时序图;
[0046]图4为本发明实施例公开的一种安全芯片中数据加解密的系统结构示意图。
【具体实施方式】
[0047]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0048]本发明实施例公开了一种安全芯片中数据加解密的方法及系统,以防止芯片内部加密密钥和加解密电路,被硬件木马或者方向工程等手段破解。
[0049]参见图1,本发明实施例提供的一种安全芯片中数据加解密的方法,包括:
[0050]S101、根据预设位宽值,将待处理数据切分成位宽为所述预设位宽值的X个数据切片序列;
[0051 ] S102、将所述X个数据切片序列送至加解密模块,通过所述加解密模块对所述X个数据切片序列进行加密处理或解密处理;其中,所述加解密模块和密钥均通过反熔丝查找表标准单元实现;
[0052]具体的,在本实施例中,加解密模块采用对称密码算法实现数据加解密,所涉及的密码算法既可以是公开的标准密码算法,也可以是芯片设计者指定的非公开密码算法。此处所指对称密码算法指的是加
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1