基于国密算法的终端认证信息生成方法及系统技术方案

技术编号:25756741 阅读:33 留言:0更新日期:2020-09-25 21:05
本发明专利技术公开了基于国密算法的终端认证信息生成方法及系统,包括:从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。

【技术实现步骤摘要】
基于国密算法的终端认证信息生成方法及系统
本公开涉及认证信息生成
,特别是涉及基于国密算法的终端认证信息生成方法及系统。
技术介绍
本部分的陈述仅仅是提到了与本公开相关的
技术介绍
,并不必然构成现有技术。终端认证信息的生成方法通常利用终端生成的信息利用加密算法生成认证信息,但是该方法存在认证信息长度较短的问题,有可能被第三方定位到认证信息并针对性的进行分析和攻击的可能;同时认证信息数据来源单一,无法对软件形成有效的保护。
技术实现思路
为了解决现有技术的不足,本公开提供了基于国密算法的终端认证信息生成方法及系统;第一方面,本公开提供了基于国密算法的终端认证信息生成方法;基于国密算法的终端认证信息生成方法,包括:从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。第二方面,本公开提供了基于国密算法的终端认证信息生成系统;基于国密算法的终端认证信息生成系统,包括:读取模块,其被配置为:从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;验证模块,其被配置为:解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;认证信息生成模块,其被配置为:生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。第三方面,本公开还提供了一种电子设备,包括:一个或多个处理器、一个或多个存储器、以及一个或多个计算机程序;其中,处理器与存储器连接,上述一个或多个计算机程序被存储在存储器中,当电子设备运行时,该处理器执行该存储器存储的一个或多个计算机程序,以使电子设备执行上述第一方面所述的方法。第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。第五方面,本公开还提供了一种计算机程序(产品),包括计算机程序,所述计算机程序当在一个或多个处理器上运行的时候用于实现前述第一方面任意一项的方法。与现有技术相比,本公开的有益效果是:本专利技术提出了一种新颖的认证信息生成方法,利用随机数和国密算法对终端硬件信息指纹进行处理后将终端认证信息和有效期隐藏到随机生成的长数据段中,有效增加了抗攻击水平。同时本方法生成的有限期具有一定的随机性,安全性和隐蔽性更好。此外,本方法将利用其他核心文件的特征值作为输入参数,可有效防止核心文件被恶意篡改。最后本方法将程序中的核心数据进行加密后隐藏到数据段,可保护核心数据安全。此外本方法可对硬件指纹文件中的信息进行验证,可有效检测信息篡改和异常情况。附图说明构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。图1为第一个实施例的方法流程图;图2为第一个实施例的数据段信息生成流程图。具体实施方式应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属
的普通技术人员通常理解的相同含义。需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互组合。实施例一本实施例提供了基于国密算法的终端认证信息生成方法;如图1所示,基于国密算法的终端认证信息生成方法,包括:S104:从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;S105:解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;S106:生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。基于国密算法的终端认证信息生成方法,还包括:S101:计算文件校验值;输入待加密数据,获取待加密数据长度和待加密数据的有效期,获取文件校验值,获取硬件指纹信息文件位置;S102:根据硬件指纹信息文件位置,打开硬件指纹信息文件;判断是否打开成功,如果是则进入下一步,如果否就将错误信息写入终端认证信息文件,结束;S103:读取硬件指纹信息,创建并打开终端认证信息文件,判断是否打开成功,如果是就进入下一步,如果否,结束。应理解的,所述终端认证信息文件,保存了终端认证必须的信息和加密数据、有效期等。应理解的,S104中,从硬件指纹信息中读取并解密序列号,是指将加密混淆过的序列号修改为原始序列号。应理解的,S104中,从硬件指纹信息中读取并解密校验信息,是指将加密混淆过的校验信息修改为原始的校验信息。进一步地,所述计算文件校验值,具体步骤包括:使用SM3算法计算一个核心文件的哈希值,将哈希值平均分解为2个16字节的子块,按照字节异或得到16字节的文件校验值CRC。所述核心文件,是指:库文件或参数文件。例如:应用程序执行必须的动态链接库、储存参数的文件等。进一步地,所述S101中,待加密数据,例如:程序执行中的核心函数需要的常参数;进一步地,硬件指纹信息的生成步骤包括:SA101:创建空白文件,检测CPU指令支持情况,若满足要求,则进入SA102;如果不满足要求,则将本文档来自技高网
...

【技术保护点】
1.基于国密算法的终端认证信息生成方法,其特征是,包括:/n从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;/n解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;/n生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。/n

【技术特征摘要】
1.基于国密算法的终端认证信息生成方法,其特征是,包括:
从硬件指纹信息中读取并解密序列号;从硬件指纹信息中读取并解密校验信息;从硬件指纹信息中读取并解密数据段数据;计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果是就进入下一步,如果否,就将错误信息写入文件,结束;
解密数据段,从文件中提取序列号、硬件指纹信息、信息生成时间和CPU信息;进行数据一致性验证,如果计算得到的值与存储的值一致,则验证成功,就进入下一步,如果否,就将错误信息写入文件,结束;
生成随机数;基于随机数与文件校验值,生成数据段信息,将信息段和数据段信息写入文件,结束。


2.如权利要求1所述的方法,其特征是,基于国密算法的终端认证信息生成方法,还包括:
计算文件校验值;输入待加密数据,获取待加密数据长度和待加密数据的有效期,获取文件校验值,获取硬件指纹信息文件位置;
根据硬件指纹信息文件位置,打开硬件指纹信息文件;判断是否打开成功,如果是则进入下一步,如果否就将错误信息写入终端认证信息文件,结束;
读取硬件指纹信息,创建并打开终端认证信息文件,判断是否打开成功,如果是就进入下一步,如果否,结束。


3.如权利要求2所述的方法,其特征是,创建并打开终端认证信息文件,包括:创建并打开终端认证信息文件;生成描述性信息,保存至终端认证信息字符串bsinfoX。


4.如权利要求1所述的方法,其特征是,从硬件指纹信息中读取并解密序列号;具体步骤包括:
S104a1:从硬件指纹信息字符串bsinfo中查找序列号标识信息,如没有找到,将错误信息追加到终端认证信息字符串bsinfoX,将终端认证信息字符串bsinfoX写入文件,返回错误信息,退出;
S104a2:取出32字节的序列号信息,如果失败,将错误信息追加到终端认证信息字符串bainfoX,将终端认证信息字符串bsinfoX写入文件,返回错误信息,退出;否则将序列号复制到无符号64位整形数组u64DA[4];
S104a3:对u64DA数组进行8字节大小端置换。


5.如权利要求1所述的方法,其特征是,读取并解密校验信息,具体步骤包括:
S104b1:从硬件指纹信息字符串bsinfo中查找校验值标识信息,如果没有找到,将错误信息追加到终端认证信息字符串bsinfoX,将终端认证信息字符串bsinfoX写入文件,返回错误信息,退出;
S104b2:取出32字节的校验值,如果失败,将错误信息追加到终端认证信息字符串bainfoX,将终端认证信息字符串bsinfoX写入文件,返回错误信息,退出;否则将校验值复制到无符号64位整形数组u64D[4];对u64D数组进行8字节大小端置换。


6.如权利要求1所述的方法,其特征是,利用国密算法计算数据段校验值并进行验证,验证计算得到的校验值与存储的校验值是否一致,如果...

【专利技术属性】
技术研发人员:王英龙付勇杨美红陈丽娟
申请(专利权)人:山东省计算中心国家超级计算济南中心
类型:发明
国别省市:山东;37

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

1