基于国密算法的固件传输认证保护方法及系统技术方案

技术编号:39276652 阅读:10 留言:0更新日期:2023-11-07 10:53
本发明专利技术属于软件认证保护技术领域,提供了基于国密算法的固件传输认证保护方法及系统,其技术方案为:当客户端向云端发送请求文件传输时,云端验证客户端的权限,并在数据库中检索所求文件信息;计算整个文件的哈希值;将文件按照大小分为若干数据包,并为分包数据信息,双端明文信息和包序号进行加密,加密后的数据信息一起组成新的包;将处理后的数据包发送给客户端,客户端接收数据包并对数据包进行验证;客户端每接收一个数据包,则进行一次验证,计算其哈希值并作对比;对客户端接收到的数据包按照顺序排列组合到一起,并计算组合后文件的哈希值,将其与云端发送的整个文件的哈希值作对比,实现了传输效率高且安全性高的数据传输保护方法。据传输保护方法。据传输保护方法。

【技术实现步骤摘要】
基于国密算法的固件传输认证保护方法及系统


[0001]本专利技术属于固件保护
,尤其涉及基于国密算法的固件传输认证保护方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本专利技术相关的
技术介绍
信息,不必然构成在先技术。
[0003]为了保护固件传输过程中的安全,开发者通常采用加密、身份验证、防篡改等措施。首先,加密算法虽然能够对固件数据进行保护,但是如果密钥管理不当或者加密算法本身存在漏洞,仍然会使固件数据遭到攻击。其次,身份验证虽然可以限制固件的访问权限,但是如果攻击者破解了身份认证系统,仍然可能对固件进行攻击。最后,防篡改措施虽然可以限制对固件的非法篡改和下载注入,但是如果防护策略和措施不够完善,在恶意软件和攻击行为产生的数据篡改、下载注入等方面仍然存在一定的局限。

技术实现思路

[0004]为了解决上述
技术介绍
中存在的至少一项技术问题,本专利技术提供基于国密算法的固件传输认证保护方法,其使用秘钥协商技术对固件信息进行安全加密并实现在云端与目标模块间安全传输的方法,通过连接客户端、云端和WiFi模块,基于国产密码算法秘钥协商系统对固件信息进行加固,并且采用逐包加固和校验重传的方法来确保数据安全。与以往的技术相比,本专利技术实现了系统稳定、传输效率高且安全性高的数据传输保护方法。
[0005]为了实现上述目的,本专利技术采用如下技术方案:
[0006]本专利技术的第一个方面提供基于国密算法的固件传输保护认证保护方法,包括如下步骤:
[0007]当应用程序于客户端上打开时,与云端进行秘钥协商,生成统一的的会话秘钥K;
[0008]客户端向云端发起请求固件数据的申请,云端验证客户端的权限,并且在数据库中检索所求文件的信息;
[0009]云端依据文件大小,将文件分为若干个包,将分包数据信息、双端明文信息和包序号组成新包一起计算得到其哈希值,然后使用国密算法对新包进行加密,密钥采用会话秘钥K,将加密的数据包处理后发送给客户端;
[0010]客户端接收分包数据后进行解密处理得到原数据,对其进行哈希计算,并与原哈希值进行验证,验证分包哈希值来确保数据完整性;
[0011]客户端接收所有分包数据后,将所有分包数据按照包序号顺序排列组合到一起,并计算组合后文件的哈希值;将客户端计算的哈希值与云端发送的整个文件哈希值作对比,结果一致则通过,不一致则说明文件在传输过程中损坏,发送失败;
[0012]客户端对文件数据格式进行解析处理,并将数据发送给WiFi模块。
[0013]本专利技术的第二个方面提供基于国密算法的固件传输保护认证保护系统,包括:
[0014]秘钥协商模块,其被配置为:当应用程序于客户端上打开时,与云端进行秘钥协商,生成统一的的会话秘钥K;
[0015]验证和检索模块,其被配置为:客户端向云端发起请求固件数据的申请,云端验证客户端的权限,并且在数据库中检索所求文件的信息;
[0016]加密处理模块,其被配置为:云端依据文件大小,将文件分为若干个包,将分包数据信息、双端明文信息和包序号组成新包一起计算得到其哈希值,然后使用国密SM4算法对新包进行加密,密钥采用会话秘钥K,将加密的数据包处理后发送给客户端;
[0017]传输模块,其被配置为:客户端接收分包数据后进行解密处理得到原数据,对其进行哈希计算,并与原哈希值进行验证,验证分包哈希值来确保数据完整性;客户端接收所有分包数据后,将所有分包数据按照包序号顺序排列组合到一起,并计算组合后文件的哈希值;将客户端计算的哈希值与云端发送的整个文件哈希值作对比,结果一致则通过,不一致则说明文件在传输过程中损坏,发送失败;
[0018]解密处理模块,其被配置为:客户端对文件数据格式进行解析处理,并将数据发送给WiFi模块。
[0019]与现有技术相比,本专利技术的有益效果是:
[0020]本专利技术提出了一种使用秘钥协商技术对固件信息进行安全加密并实现在云端与目标模块间安全传输的方法,通过连接客户端、云端和WiFi模块,基于国产密码算法秘钥协商系统对固件信息进行加固,并且采用逐包加固和校验重传的方法来确保数据安全。与以往的技术相比,实现了系统稳定、传输效率高且安全性高的数据传输保护方法。
[0021]本专利技术附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0022]构成本专利技术的一部分的说明书附图用来提供对本专利技术的进一步理解,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。
[0023]图1是本专利技术实施例提供的基于国密算法的固件传输保护认证保护方法流程图;
[0024]图2是本专利技术实施例提供的格式加密的数据包处理的过程的字节流格式;
[0025]图3是本专利技术实施例提供的格式组合后最终得到的字节流。
具体实施方式
[0026]下面结合附图与实施例对本专利技术作进一步说明。
[0027]应该指出,以下详细说明都是例示性的,旨在对本专利技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本专利技术所属
的普通技术人员通常理解的相同含义。
[0028]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本专利技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0029]实施例一
[0030]如图1所示,本实施例提供基于国密算法的固件传输认证保护方法,包括如下步骤:
[0031]S101:当应用程序于客户端上打开时,与云端进行秘钥协商,生成统一的的会话秘钥K;
[0032]S102:客户端向云端发起请求固件数据的申请,云端验证客户端的权限,并且在数据库中检索所求文件的信息;
[0033]S103:云端依据文件大小,将文件分为若干个包,将分包数据信息、双端明文信息和包序号组成新包一起计算得到其哈希值,然后使用国密SM4算法对新包进行加密,密钥采用会话秘钥K,将加密的数据包处理后发送给客户端;
[0034]S104:客户端接收分包数据后进行解密处理得到原数据,对其进行哈希计算,并与原哈希值进行验证,验证分包哈希值来确保数据完整性,如果校验失败,则要求云端重新发送该分包数据;如果校验成功,则通过;
[0035]S105:客户端接收所有分包数据后,将所有分包数据按照包序号顺序排列组合到一起,并计算组合后文件的哈希值;将客户端计算的哈希值与云端发送的整个文件哈希值作对比,结果一致则通过,不一致则说明文件在传输过程中损坏,发送失败;
[0036]S106:客户端对文件数据格式进行解析处理,并将数据发送给WiFi模块。
[0037]作为具体的实施例,其中,S102中所求文件的信息,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于国密算法的固件传输保护认证保护方法,其特征在于,包括如下步骤:当应用程序于客户端上打开时,与云端进行秘钥协商,生成统一的的会话秘钥K;客户端向云端发起请求固件数据的申请,云端验证客户端的权限,并且在数据库中检索所求文件的信息;云端依据文件大小,将文件分为若干个包,将分包数据信息、双端明文信息和包序号组成新包一起计算得到其哈希值,然后使用国密算法对新包进行加密,密钥采用会话秘钥K,将加密的数据包处理后发送给客户端;客户端接收分包数据后进行解密处理得到原数据,对其进行哈希计算,并与原哈希值进行验证,验证分包哈希值来确保数据完整性;客户端接收所有分包数据后,将所有分包数据按照包序号顺序排列组合到一起,并计算组合后文件的哈希值;将客户端计算的哈希值与云端发送的整个文件哈希值作对比,结果一致则通过,不一致则说明文件在传输过程中损坏,发送失败;客户端对文件数据格式进行解析处理,并将数据发送给WiFi模块。2.如权利要求1所述的基于国密算法的固件传输保护认证保护方法,其特征在于,所述云端依据文件大小,将文件分为若干个包,具体包括:通过文件的字节数,得到文件的数据包个数;循环读取原始文件,并将每次读取的1024字节数据放入一个数据包中直至读取完毕。3.如权利要求1所述的基于国密算法的固件传输保护认证保护方法,其特征在于,加密处理后的数据包,其生成过程包括:确定每个数据包的包序号,并将其与将双端明文信息分别转换为字节流;对于分包数据信息,采用二进制编码将其转换为字节流;将上述三个字节流按照包序号、双端明文信息、分包数据信息的顺序组合成一个新的字节流;在组合后的字节流中添加头部信息,包括长度,盐值和CRC校验;计算添加了盐值后的字节流的CRC校验和,并将其添加到头部信息中;对添加了盐值的字节流使用SM4算法进行加密处理,得到处理后的数据包。4.如权利要求3所述的基于国密算法的固件传输保护认证保护方法,其特征在于,所述将上述三个字节流按照包序号、双端明文信息、分包数据信息的顺序组合成一个新的字节流,具体包括:其中每个字段的大小以比特为单位给出,按照上述格式组合后,得到最终的字节流,其中第1

2个字节表示包序号,第3

6个字节表示双端明文信息,第7

14个字节表示分包数据信息,包序号使用2个字节来表示,双端明文信息使用4个字节来表示,分包信息数据使用8个字节来表示。5.如权利要求3所述的基于国密算法的固件传输保护认证保护方法,其特征在于,所述在组合后的字节流中添加头部信息,包括长度,盐值和CRC校验,包括:添加长度信息,将数据包长度作为一个固定的头部信息添加到数据包的最前面,用2个字节来表示长度信息;添加盐值信息,使用伪随机数生成器来产生一个随机字符串或二进制码作为盐值,长度选择8

16字节,并将盐值添加到数据包的头部;
添加校验和信息,对于数据包的内容进行校验和计算,并将计算得到的结果添加到数据包的头部,校验和采用CRC来实现。6.如权利要求3所述的基于国密算法的固件传输保护认证保护方法,其特征在于,所述对添加了盐值的字节流使用SM4算法进行加密处理,具体包括:对输入数据进行填充,在末尾行添加需要填充的字节数以满足SM4算法加密数据的数据长度要求;将生成的会话秘钥K转换为KeyParameter类型,并将其作为参数传递给CBC模式的BlockCipher对象,用来初始化加密引擎;创建一个BufferedBlockCipher实例,在加密时自动处理缓冲区和填充细节;调用BufferedBlockCipher的ProcessBytes方法对填充后的输入数据进行加密,加密结果存储在encryptedData数组中;同时,根据输入数据长度和加密算法块大小计算输出缓冲区的大小,并设置encryptedData数组的大小为输出缓冲区大小;将加密结果复制到新的result数组中,并将encryptedData数组替换为result数组来保存正...

【专利技术属性】
技术研发人员:王坤付勇高绍锋陈鑫泽赵大伟陈丽娟王继志杨光
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

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

1