一种128位对称密钥生成及保护装置制造方法及图纸

技术编号:13587238 阅读:102 留言:0更新日期:2016-08-25 10:04
本发明专利技术公开了一种128位对称密钥生成及保护装置,其特征在于,设存储于装置中的种子密钥为A段密钥,由主机下发的种子密钥为B段密钥,合成的结果为密钥,装置包括以下模块:至少一个A段密钥管理模块;至少一个B段密钥管理模块;至少一个MD5算法模块;至少一个SHA1算法模块;至少一个密钥合成管理模块;至少一个密钥存储模块。本发明专利技术避免了A段密钥的暴露,从而使本装置具有抵抗软件恶意攻击的能力,本发明专利技术中一旦设备脱离主机环境,那么B段密钥与生成后的密钥将自动销毁,从而使本装置具有抵抗硬件恶意攻击的能力,进一步提升了密钥的安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全
中的密钥生成及保护方法,尤其涉及一种128位对称密钥生成及保护装置
技术介绍
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。随着信息技术的高速发展,大数据时代的来临,各类的加密算法广泛应用于各大行业,密钥作为各类加解密算法的核心,一旦暴露则会产生不可预估的损失,由此可见密钥在信息安全
中的重要性。目前对于密钥的保护方法,通常可采用两种方法,一种是将密钥存储于硬件设备中,当需要使用时通过特定方式从硬件设备中取出,这样做的目的是将密钥与算法进行隔离,通过密钥与算法所处的不同环境来保护密钥;一种是将密钥与算法同时存储于硬件设备当中,只由设备来完成加解密功能,设备不向外部输出密钥,这样做的目的是通过硬件设备的访问门槛来保护密钥。对于第一种方法,设备不论以何种方式送出密钥,都有可能会被截取密钥,导致密钥的安全性有所降低;对于第二种方式,设备虽然不输出密钥,但密钥存储于设备中,存储密钥的设备通常是ROM类的非易失存储介质,基于当前的逆向工程技术,仍然可从存储介质中获取完整密钥,对于上述的第一种方法同样存在这样的问题。同时,为保证信息的安全,通常会出现定期更新密钥、新增密钥等情况,那么就要求密钥保护设备具有在线更新的能力以适应用户对于密钥的灵活管理,在线更新的过程同样增加了密钥暴露的风险。
技术实现思路
本专利技术的目的是为了解决上述问题,提出一种128位对称密钥生成及保护装置,能够在启用本装置前存储一段种子密钥在装置的EEPROM中,能够将主机下发的种子密钥与固化r/>在装置内的密钥合成为128位的密钥,应用于集成在同硬件设备的AES、3des及RC4等流行的对称类加密算法。本专利技术将种子密钥进行分段,一段存储于硬件设备的存储介质中,一段由用户自主下发到设备中,设备通过特定的方式重新对种子密钥进行合成,进而通过种子密钥与特定算法生成对称类加解密算法可用的密钥,存储于片内RAM当中,提供给集成在同硬件设备中的AES、3des及RC4等流行的对称类加密算法进行加解密操作。为方便后续对于种子密钥的描述,在此定义存储于装置中的种子密钥为A段密钥,由主机下发的种子密钥为B段密钥,合成的结果为密钥。本专利技术提供的一种128位对称密钥生成及保护装置,包括以下模块:至少一个A段密钥管理模块;至少一个B段密钥管理模块;至少一个MD5算法模块;至少一个SHA1算法模块;至少一个密钥合成管理模块;至少一个密钥存储模块;本专利技术提供的一种128位对称密钥生成及保护装置的所有模块均通过FPGA进行实现,FPGA通过Pcie接口与主机进行通讯,用于信息和数据的接收和回传;通过SPI接口与片外EEPROM进行通讯,用于读写A段密钥。本专利技术提供的一种128位对称密钥生成及保护装置不向主机提供密钥读取接口以避免密钥暴露,为确保主机写入的种子密钥的正确性,通过二次写入并比对两次写入数据的方式对写入数据进行校验,主机通过读取校验寄存器的状态确认写入是否正确。本专利技术的优点在于:本专利技术提供的一种128位对称密钥生成及保护装置采用分段式种子密钥的目的在于提供更加安全的密钥保护机制。由于A段密钥存储于硬件设备的EEPROM中,并且只能由FPGA进行读取,在一定程度上避免了A段密钥的暴露,从而使本装置具有抵抗软件恶意攻击的能力;用户自主下发的B段密钥与硬件设备生成的密钥都存储于FPGA的片内RAM中,由于RAM的掉电丢失特性,一旦设备脱离主机环境,那么B段密钥与生成后的密钥将自动销毁,
从而使本装置具有抵抗硬件恶意攻击的能力,进一步提升了密钥的安全性。附图说明图1为本专利技术的整体结构图;图2为本专利技术的A段密钥管理流程;图3为本专利技术的B段密钥管理流程;图4为本专利技术的密钥合成流程。具体实施方式下面将结合附图和实施例对本专利技术作进一步的详细说明。图1显示了本专利技术的整体结构,由A段密钥管理模块、B段密钥管理模块、密钥合成管理模块、SHA1算法模块、MD5算法模块及密钥存储模块构成。A段密钥管理模块负责A段密钥的缓存、校验、向主机反馈A段密钥管理状态、烧写片外EEPROM及在装置上电后从片外EEPROM中读取A段密钥到片内缓存中;B段密钥管理模块负责B段密钥的缓存、校验及向主机反馈B段密钥管理状态。密钥合成模块负责从A、B段密钥缓存中读取A、B段密钥,将A、B段密钥拼合为种子密钥,将种子密钥分别送入SHA1与MD5算法模块中进行计算,将计算结果进行异或运行得到合成后的密钥,并将合成后的密钥送入密钥存储模块进行缓存。SHA1算法模块负责对种子密钥的低24字节进行计算,给出20字节的散列值。MD5算法模块负责对种子密钥的高24字节进行计算,给出16字节的散列值。密钥存储模块负责存储及分发合成后的密钥。种子密钥由A段密钥和B段密钥拼合构成,其中A段密钥为8字节,B段密钥为24字节。种子密钥的拼合规则为,将B段密钥的高12字节放在32-21字节,低12字节放在12-1字节,A段密钥放在20-13字节。这样在进行MD5运算时,所取的高24字节将包括全部的A段密钥及B段密钥的高12字节;在进行SHA1运算时,所取的低24字节将包括全部的A段密钥及B段密钥的低12字节。图2显示了本专利技术的A段密钥管理流程,下面结合图2对A段密钥管理流程进行详细说明:步骤1:主机读取A段密钥管理状态。步骤2:判断A段密钥管理状态是否空闲,是则转到步骤3,否则转到步骤1。步骤3:主机下发A段密钥写入指令,A段密钥管理模块进入数据接收状态。步骤4:主机下发A段密钥,A段密钥管理模块将下发的密钥写入相应的缓存。主机每次下发4字节的A段密钥,A段密钥管理模块按照下发的顺序将两次下发的A段密钥进行拼合后写入缓存;主机可连续下发多个A段密钥;A段密钥管理模块最多可缓存256个8字节的A段密钥。步骤5:判断所有A段密钥是否下发完成,是则转到步骤6,否则转到步骤4。步骤6:主机下发A段密钥校验指令,A段密钥管理模块进入数据校验状态。步骤7:主机再次依次写入A段密钥,每写入一个完整的A段密钥后,需要从A段密钥管理模块中读取校验状态。A段密钥管理模块首先将主机再次下发的A段密钥缓存到寄存器中,然后从首次缓存的A段密钥中读取相应的A段密钥。步骤8:A段密钥管理模块判断两次写入的A段密钥是否一致,是则转到步骤10,否则转到步骤9。步骤9:向主机返回写入错误,返回的错误中指明了两次写入数据出现不一致的bit位,并转到步骤3。步骤10:向主机返回写入正确。步骤11:判断是否所有A段校验完成,是则转到步骤12,否则转到步骤7。步骤12:A段密钥管理模块将缓存中的A段密钥通过SPI接口烧写到片外EEPROM中。图3显示了本专利技术的B段密钥管理流程,下面结合图3对B段密钥管理流程进行详细说明:步骤1:主机读取B段密钥管理状态。步骤2:判断B段密钥管理状态是否空闲,是则转到步骤3,否则转到步骤1。步骤3:主机下发B段密钥写入指令,B段密钥管理模块进入数据接收状态。步骤4:主机下发B段密钥,B段密钥管理模块将下发的密钥写入相应的缓存。主机每次下发4字节的B段密钥,B段密钥管理模块按照下发的顺序将两次下发的B段密钥进行拼合后写入缓存;主机可本文档来自技高网...

【技术保护点】
一种128位对称密钥生成及保护装置,其特征在于,设存储于装置中的种子密钥为A段密钥,由主机下发的种子密钥为B段密钥,合成的结果为密钥,装置包括以下模块:至少一个A段密钥管理模块;至少一个B段密钥管理模块;至少一个MD5算法模块;至少一个SHA1算法模块;至少一个密钥合成管理模块;至少一个密钥存储模块。

【技术特征摘要】
1.一种128位对称密钥生成及保护装置,其特征在于,设存储于装置中的种子密钥为A段密钥,由主机下发的种子密钥为B段密钥,合成的结果为密钥,装置包括以下模块:至少一个A段密钥管理模块;至少一个B段密钥管理模块;至少一个MD5算法模块;至少一个SHA1算法模块;至少一个密钥合成管理模块;至少一个密钥存储模块。2.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的A段密钥管理模块负责A段密钥的缓存、校验、向主机反馈A段密钥管理状态、烧写片外EEPROM及在装置上电后从片外EEPROM中读取A段密钥到片内缓存中。3.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的B段密钥管理模块负责B段密钥的缓存、校验及向主机反馈B段密钥管理状态。4.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的密钥合成模块负责从A、B段密钥缓存中读取A、B段密钥,将A、B段密钥拼合为种子密钥,将种子密钥分别送入SHA1与MD5算法模块中进行计算,将计算结果进行异或运行得到合成后的密钥,并将合成后的密钥送入密钥存储模块进行缓存。5.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的SHA1算法模块负责对种子密钥的低24字节进行计算,给出20字节的散列值,所取的低24字节包括全部的A段密钥及B段密钥的低12字节。6.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的MD5算法模块负责对种子密钥的高24字节进行计算,给出16字节的散列值,所取的高24字节包括全部的A段密钥及B段密钥的高12字节。7.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的密钥存储模块负责存储及分发合成后的密钥。8.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的A段密钥管理模块、B段密钥管理模块、密钥合成管理模块、SHA1算法模块、MD5算法模块和密钥存储模块均通过FPGA进行实现,FPGA通过Pcie接口与主机进行通讯,用于信息和数据的接收和回传;通过SPI接口与片外EEPROM进行通讯,用于读写A段密钥。9.根据权利要求4所述的一种128位对称密钥生成及保护装置,其特征在于,所述的种子密钥由A段密钥和B段密钥拼合构成,其中A段密钥为8字节,B段密钥为24字节,种子密钥的拼合规则为,将B段密钥的高12字节放在32-21字节,低12字节放在12-1字节,A段密钥放在20-13字节。10.根据权利要求1所述的一种128位对称密钥生成及保护装置,其特征在于,所述的A段密钥管理模块中,A段密钥管理流程包括:步骤1:主机读取A段密钥管理状态;步骤2:判断A段密钥管理状态是否空闲,是则转到步骤3,否则转到步骤1;步骤3:主机下发A段密钥写入指令,A段密钥管理模块进入数据接收状态;步骤4:主机下发A段密钥,A段密钥管理模块将下发的密钥写入相应的缓存;主机每次下发4字节的A段密钥,A段密钥管理模块按照下发的顺序将两次下发的A段密钥进行拼合后写入缓存;主机可连续下发多个A段密钥;A段密钥管理模块最多可缓存256个8字节的A段密钥;步骤5:判断所有A段密钥是否下发完成,是则转到步骤6,否则转到步骤4;步...

【专利技术属性】
技术研发人员:徐晓燕李高超周渊张露晨马秀娟唐积强徐小磊毛洪亮刘俊贤苏沐冉刘庆良何万江
申请(专利权)人:北京赛思信安技术股份有限公司国家计算机网络与信息安全管理中心
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1