一种密钥备份及恢复的安全实现装置及其方法

文档序号:9491649阅读:542来源:国知局
一种密钥备份及恢复的安全实现装置及其方法
【技术领域】
[0001]本发明涉及用于S0C芯片的密钥备份及恢复的实现技术。
【背景技术】
[0002]当今社会已进入信息化时代,计算机和网络已渗透到社会的各个领域。伴随国民经济信息化进程的推进和电子商务等网络新业务的兴起,社会对计算机和网络的依赖程度越来越高。信息化时代呼唤信息安全,人们对信息安全的要求也越来越高。
[0003]在现代的信息系统中用密码技术对信息进行保密,其安全性实际取决于对密钥的安全保护。在一个信息安全系统中,密码体制、密码算法可以公开,甚至所用的密码设备丢失,只要密钥没有被泄露,保密信息仍是安全的。而密钥一旦丢失或出错,不但合法用户不能提取信息,非法用户还可能会窃取信息。因此密钥管理在整个保密系统中占有非常重要的地位,成为信息安全系统中一个关键问题,其目的就是要保证数据保密系统的安全性。
[0004]多数的密码系统一般都要求支持数据加密标准(Data Encrypt1n Standard,DES)、三重 DES (Triple-DES,TDES)和高级加密标准(Advanced Encrypt1n Standard,AES)算法,而不同的算法的安全性是不一样的。DES的安全性完全依赖于密钥,而56位的密钥太短,很难抵御穷举攻击。为了提高DES的抗攻击能力,人们设计出了用3个密钥进行3次运算的TDES算法,密钥长度的增加可使攻击的难度按指数级增长,有效克服了 DES算法面临的穷举攻击风险,同时增强了 DES算法抗差分分析和线性分析的能力。虽然TDES算法相比DES算法密钥长度增加了,但明文分组的长度并没有变化,仍为64位,就效率和安全性而言,与密钥长度的增加不匹配,因此TDES算法只是在DES算法变得不安全的情况下的一种临时解决办法,并未从根本上解决DES算法的安全缺陷,已经不足以保证信息的安全。为了替代即将退役的DES算法,更安全和高效的AES算法被推到了历史舞台。AES算法采用S盒作为非线性组件,结构简单,同时具有足够的安全性能,利用掩码技术非常利于防止能量攻击和计时攻击,却并未显著降低其执行性能。
[0005]而在传统的密钥备份与恢复流程中,并未对密钥的应用场景和目的地址做任何限制,一旦出现用在AES算法的密钥被攻击者用在TDES算法甚至DES算法上,备份密钥遭破解的难度大大降低,或者原来处于安全环境中密钥被攻击者用在非安全环境中,备份密钥遭泄露的几率大大增加,这些都会给传统备份恢复系统带来安全隐患。

【发明内容】

[0006]本发明为了解决上述现有技术的问题,提出一种密钥备份及恢复的安全实现装置,包括:若干个通道,每个通道包括用于存储密钥的密钥寄存器;向量表,被划分成若干行,每行由多个存储空间组成,所述存储空间分别用于存储密钥、存储密钥的密钥寄存器对应的通道号:控制器,在备份时,将密钥、密钥所在通道的通道号备份到向量表中的指定行;在恢复时,先比较备份的通道号与指定恢复的通道号是否相等,若相等则将备份的密钥恢复到指定的通道,若不相等则终止恢复,这样可以防止恢复的密钥被不同通道滥用。
[0007]每个通道除了设置各自独立的密钥寄存器,还设置了独立的算法寄存器,密钥寄存器用来存储来自软件配置的密钥或者由向量表中的密钥恢复过来的密钥。算法寄存器用来存储来自软件配置的算法选择或者由向量表中的算法恢复过来的算法选择。
[0008]在备份密钥的同时,将其对应的算法寄存器中的值也备份,恢复时将算法寄存器中的原值直接覆盖,之后一旦算法选择被被其他软件或本装置中的软件修改,已经被恢复到密钥寄存器中的密钥会被强制清除,防止泄露。
[0009]向量表的每行除了存储密钥和通道号的两个存储空间,还设有存储算法选择以及有效标志两个存储空间。为了防止备份的密钥在恢复后因算法弱化而遭泄露,在备份密钥的同时,将其对应的算法寄存器中的值也备份,恢复时将算法寄存器中的原值直接覆盖,之后一旦算法选择被其他软件或本装置中的软件修改,已经被恢复到密钥寄存器中的密钥会被强制清除,防止泄露。有效标志则用来标识向量表中的某行是否被初始化。在备份之前,向量表中所有行的有效标志都会被置无效。在每次备份时,向量表指定行的有效标志会被置有效。而在每次恢复时,向量表指定行的有效标志会被检查是否有效:有效则继续恢复;无效则终止恢复。
[0010]本发明还提出一种密钥备份及恢复的安全实现方法,包括如下步骤:
步骤S201、向量表中所有行的有效标识位置为无效,软件指定通道号、向量表的行号以及操作方向后,启动控制器;
步骤S202、控制器根据所述操作方向判断是备份操作还是恢复操作;若为备份操作,则执行步骤S203,若为恢复操作,则执行步骤S205 ;
步骤S203、控制器置向量表指定行的有效标识位有效,并完成向量表指定行的初始化;
步骤S204、控制器将指定的通道号的值保存到向量表指定行的通道号存储空间中,完成对密钥源地址的备份,作为恢复时与目的地址的比较参考;
控制器将指定通道的算法寄存器的值保存到向量表指定行的算法存储空间中,完成对密钥应用场景的备份;
控制器将指定通道的密钥寄存器的值保存到向量表指定行的密钥存储空间中,完成对密钥的备份;
步骤S205、控制器判断向量表指定行的有效标识位是否为有效状态;若为有效状态,执行步骤S206 ;若为无效状态,执行步骤S208 ;
步骤S206、如果有效标识位有效,控制器比较向量表指定行中通道号存储空间的值与即将恢复的指定通道号是否相等;若相等,执行步骤S207 ;若不相等,则执行步骤S208 ;
步骤S207、继续执行恢复操作,控制器将向量表指定行中密钥存储空间和算法存储空间的值恢复到指定通道号的密钥寄存器和算法寄存器;
步骤S208、恢复终止,控制器上报错误状态。
[0011]本发明面对日益复杂的攻击手段,对传统密钥备份与恢复的实现方式进行一些改进,以增强安全性。本发明将密钥所在的通道号进行备份,严格限制密钥恢复的路径,防止密钥滥用,同时将密钥对应的算法选择一起备份,实现了密钥应用场景的备份,防止密钥泄露。
【附图说明】
[0012]图1是本发明的结构示意图;
图2是本发明的方法流程图。
【具体实施方式】
[0013]在实现密钥备份与恢复的基础上,本发明提出了如图1所示的装置,该装置包括若干个通道,每个通道具有各自独立的密钥寄存器101和算法寄存器102 ;被划分为若干行的向量表,每行包括分别用于存储密钥、算法选择、通道号、有效标识位四个存储空间;控制器在备份时,将密钥、密钥所在通道的通道号、密钥对应的算法选择备份到向量表中的指定行;在恢复时,先比较备份的通道号与指定恢复的通道号是否相等,若相等则将备份的密钥以及算法选择恢复到指定的通道,若不相等则终止恢复,上报错误状态,防止密钥滥用。恢复后,一旦检测到恢复的算法选择被修改,立即清除恢复的密钥,防止密钥泄露。
[0014]上述密钥寄存器101用来存储来自软件配置的密钥或者由向量表中的密钥存储空间111恢复过来的密钥。一旦检测到算法寄存器102中的算法选择被修改,即软件的配置的值与寄存器当前的值不一致,则立即清除密钥寄存器101中的密钥,防止密钥泄露。因此软件在更新算法寄存器时,正确的操作顺序应该是先更新算法寄存器102,再更新密钥寄存器101,而一旦密钥恢复成功,算法寄存器102应避免更新,以防算法选择更新导致密钥被强制清除。
[0015]算法寄存器102用来存储来自软件配置的算法选择或者由向量表中的算法存储空间112恢复过来的算法选择。本发明密钥对应的算法选择可采用现有的各种安全算法,例如DES算法、TDES算法和AES算法等。不同的算法安全性也不同,如【背景技术】中提到的TDES算法和AES算法,很显然TDES算法的安全性要低于AES算法。如果某备份的AES算法密钥恢复后被用在TDES算法,就给了攻击者可乘之机,其遭破解的可能性大大提高。因此为了防止备份的密钥在恢复后因算法弱化而遭泄露,在备份密钥的同时,将其对应的算法寄存器102中的值也备份,恢复时将算法寄存器102中的原值直接覆盖,之后一旦算法选择被其他软件或者本装置的软件修改,已经被恢复到密钥寄存器101中的密钥会被强制清除,防止泄露。
[0016]向量表被划分成若干行,每行由密钥存储空间111、算法存储空间112、通道号存储空间113和有效标识位存储空间114四个存储空间组成,其中:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1