一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于HMAC控件的消息认证方法、系统及介质与流程

2022-04-16 15:33:54 来源:中国专利 TAG:

一种基于hmac控件的消息认证方法、系统及介质
技术领域
1.本发明涉及消息加密认证技术领域,特别是涉及一种基于hmac控件的消息认证方法、系统及介质。


背景技术:

2.目前在证券行业中,很多项目数据在各种终端之间进行传递均需要进行校验,且由于行业的特殊要求,这种数据校验的安全性要求极高,故以此为出发点,需要研发一种高安全性且低耦合性的用于证券项目相关实际需求中对特定信息进行数据加密和认证的方法。


技术实现要素:

3.本发明的主要目的是,研发一种高安全性且低耦合性的用于证券项目相关实际需求中对特定信息进行数据加密和认证的方法。
4.为实现上述目的,本发明采用的一个技术方案是:提供一种基于hmac控件的消息认证方法,包括以下步骤:
5.初始配置步骤:
6.配置中间件平台、第一文件、控件目录识别程序、第一控件和第一散列函数;设置基准计算参数和基准拼接位;
7.进阶配置步骤:
8.基于所述第一文件、所述控件目录识别程序和所述第一控件执行进阶配置操作,得到第一计算处理接口和待运行文件;
9.消息认证步骤:
10.获取消息认证需求,基于所述中间件平台、所述第一散列函数、所述基准计算参数、所述基准拼接位、所述第一计算处理接口、所述待运行文件和所述消息认证需求执行消息认证操作,得到认证结果。
11.作为一种改进的方案,所述基准计算参数包括:第一共享密钥、第一填充数值、第一分组长度、第一十六进制码和第二十六进制码;
12.所述基准拼接位包括:第一拼接位和第二拼接位。
13.作为一种改进的方案,所述进阶配置操作包括:
14.获取所述第一控件的第一控件策略,基于所述第一控件策略开发所述第一计算处理接口;调用所述控件目录识别程序识别所述第一控件所对应的第一安装目录;将所述第一文件导入所述第一安装目录;设定位于所述第一安装目录下的所述第一文件为所述待运行文件。
15.作为一种改进的方案,所述消息认证操作包括:
16.识别所述消息认证需求,若所述消息认证需求为存在第一消息认证码需要认证,则运行所述待运行文件,得到第一调用组件;通过所述第一调用组件调用所述中间件平台
获取所述第一消息认证码;
17.通过所述第一调用组件调用所述第一计算处理接口基于所述第一散列函数、所述基准计算参数、所述基准拼接位和所述第一消息认证码执行mac值计算步骤,得到第一mac值;
18.通过所述第一调用组件调用所述中间件平台将所述第一mac值发送至所述消息认证需求所对应的应用端;通过所述第一调用组件调用所述中间件平台获取所述应用端对于所述第一mac值的认证结果。
19.作为一种改进的方案,所述mac值计算步骤包括:
20.识别所述第一共享密钥的第一长度;基于所述第一散列函数、所述第一填充数值、所述第一分组长度、所述第一拼接位和所述第一长度执行密钥确认步骤,得到待计算密钥;
21.基于所述第一散列函数、所述第一十六进制码、所述第二十六进制码、所述第一拼接位、所述第二拼接位、所述第一消息认证码和所述待计算密钥执行拼接计算步骤,得到所述第一mac值。
22.作为一种改进的方案,所述密钥确认步骤包括:
23.比对所述第一长度和所述第一分组长度;
24.若所述第一长度小于所述第一分组长度,则计算所述第一分组长度与所述第一长度的第一差值,按照所述第一差值在所述第一共享密钥的所述第一拼接位填充若干所述第一填充数值,得到所述待计算密钥;
25.若所述第一长度大于所述第一分组长度,则调用所述第一散列函数计算所述第一共享密钥的第一散列值,设定所述第一散列值为所述待计算密钥;
26.若所述第一长度等于所述第一分组长度,则设定所述第一共享密钥为所述待计算密钥。
27.作为一种改进的方案,所述拼接计算步骤包括:
28.将所述待计算密钥与所述第一十六进制码进行xor运算,得到第一xor运算值;将所述第一xor运算值拼接至所述第一消息认证码的所述第二拼接位,得到第一组合消息码;
29.调用所述第一散列函数计算所述第一组合消息码的第二散列值;将所述待计算密钥与所述第二十六进制码进行xor运算,得到第二xor运算值;将所述第二散列值拼接至所述第二xor运算值的所述第一拼接位,得到第一组合散列值;
30.调用所述第一散列函数计算所述第一组合散列值的第三散列值,设定所述第三散列值为所述第一mac值。
31.作为一种改进的方案,所述应用端中设有与所述第一消息认证码相匹配的第二mac值;
32.所述一种基于hmac控件的消息认证方法还包括:
33.当所述应用端收到所述第一mac值后,所述应用端比对所述第一mac值和所述第二mac值;若所述第一mac值与所述第二mac值相匹配,则所述应用端设定所述认证结果为消息认证成功;若所述第一mac值与所述第二mac值非匹配,则所述应用端设定所述认证结果为消息认证失败。
34.本发明还提供一种基于hmac控件的消息认证系统,包括:
35.初始配置模块、进阶配置模块和消息认证模块;
36.所述初始配置模块用于配置中间件平台、第一文件、控件目录识别程序、第一控件和第一散列函数;所述初始配置模块还用于设置基准计算参数和基准拼接位;
37.所述进阶配置模块用于根据所述第一文件、所述控件目录识别程序和所述第一控件执行进阶配置操作,得到第一计算处理接口和待运行文件;
38.所述消息认证模块用于获取消息认证需求,并基于所述中间件平台、所述第一散列函数、所述基准计算参数、所述基准拼接位、所述第一计算处理接口、所述待运行文件和所述消息认证需求执行消息认证操作,得到认证结果。
39.本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于hmac控件的消息认证方法的步骤。
40.本发明的有益效果是:
41.1、本发明所述的基于hmac控件的消息认证方法,可以实现基于hmacsha256控件的相关逻辑,开发相关的数据认证接口,通过接口开发中所设计的相关认证逻辑,对证券项目相关实际需求中的特定信息进行数据加密和认证,安全性和处理效率均极高,且耦合性低,具有极高的应用价值。
42.2、本发明所述的基于hmac控件的消息认证系统,可以通过初始配置模块、进阶配置模块和消息认证模块的相互配合,进而实现基于hmacsha256控件的相关逻辑,开发相关的数据认证接口,通过接口开发中所设计的相关认证逻辑,对证券项目相关实际需求中的特定信息进行数据加密和认证,安全性和处理效率均极高,且耦合性低,具有极高的应用价值。
43.3、本发明所述的计算机可读存储介质,可以实现引导初始配置模块、进阶配置模块和消息认证模块进行配合,进而实现基于hmacsha256控件的相关逻辑,开发相关的数据认证接口,通过接口开发中所设计的相关认证逻辑,对证券项目相关实际需求中的特定信息进行数据加密和认证,安全性和处理效率均极高,且耦合性低,具有极高的应用价值,并有效提高所述基于hmac控件的消息认证方法的可操作性。
附图说明
44.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
45.图1是本发明实施例1所述基于hmac控件的消息认证方法的流程图;
46.图2是本发明实施例1所述基于hmac控件的消息认证方法的具体流程示意图;
47.图3是本发明实施例2所述基于hmac控件的消息认证系统的架构图。
具体实施方式
48.下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
49.在本发明的描述中,需要说明的是,本发明所描述的实施例是本发明一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有做出创造性
劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.在本发明的描述中,需要说明的是,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
51.在本发明的描述中,需要说明的是:hmac(hash-based message authentication code)是哈希运算消息认证码;mac(message authentication code)是带密钥的hash函数;xor(exclusive or)是异或。
52.实施例1
53.本实施例提供一种基于hmac控件的消息认证方法,如图1和图2所示,包括以下步骤:
54.s100、初始配置步骤,具体包括:
55.s110、配置中间件平台、第一文件、控件目录识别程序、第一控件和第一散列函数;设置基准计算参数和基准拼接位;在本实施例中,中间件平台为终端设备和应用端进行数据传输的中间服务平台;控件目录识别程序基于系统调用函数编译,用于识别第一空间所在安装目录;第一文件在本实施例中为经过ocx注册后的.bat文件,用于安装ocx控件,进而对本方法中的控件、接口以及平台之间进行相互调用交互控制;第一控件在本实施例中为hmacsha256控件,第一散列函数为单向散列函数;本发明的目的即为基于hmacsha256控件的相关逻辑,设计对于证券项目相关实际需求中的特定信息进行数据加密和认证的方法,安全性高,耦合性低,处理效率高。
56.具体的,所述基准计算参数包括:第一共享密钥、第一填充数值、第一分组长度、第一十六进制码和第二十六进制码;在本实施例中,第一共享密钥即为在流程开始时,本流程处理端与应用端所约定好的共享密钥,用于作为消息加密认证的基准;第一填充数值在本实施例中设置为0,可以根据具体需求在0~9中进行选取设置;第一分组长度为单向散列函数的通常分组长度;第一十六进制码在本实施例中设定为0x36,可根据具体情况具体设置;第二十六进制码在本实施例中设定为0x5c,同样可根据具体情况具体设置;对应的,基准计算参数用于主要的数据加密认证中;本实施例中的数据加密认证主要为了对接应用端的加签需求,进而实现心跳报文的加签数据的传输和认证;
57.具体的,所述基准拼接位包括:第一拼接位和第二拼接位;在本实施例中,第一拼接位为数据的末位,第二拼接位为数据的首位。
58.s200、进阶配置步骤,具体包括:
59.s210、基于所述第一文件、所述控件目录识别程序和所述第一控件执行进阶配置操作,得到第一计算处理接口和待运行文件;
60.具体的,所述进阶配置操作包括:
61.获取所述第一控件的第一控件策略,第一控件策略即为hmacsha256方法;故基于所述第一控件策略开发所述第一计算处理接口,在本实施例中,第一计算处理接口为gethmacsha256接口,用于实现数据加密认证的相关逻辑;调用所述控件目录识别程序识别所述第一控件所在第一安装目录;将所述第一文件导入所述第一安装目录,进而实现对于第一文件的初始配置,只有在该安装目录下运行第一文件,才能实现ocx控件的部署,以及后续ocx控件对于其他空间和接口的调用;故设定位于所述第一安装目录下的所述第一文件为所述待运行文件。
62.s300、消息认证步骤,具体包括:
63.s310、获取消息认证需求,基于所述中间件平台、所述第一散列函数、所述基准计算参数、所述基准拼接位、所述第一计算处理接口、所述待运行文件和所述消息认证需求执行消息认证操作,得到认证结果;在本实施例中,消息认证需求即为应用端是否下发需要传输认证的第一消息,若应用端下发了,则对应的第一消息中会携带对应的消息认证码用于本方法中的高安全性的消息认证;
64.具体的,所述消息认证操作包括:
65.识别所述消息认证需求,若所述消息认证需求为存在第一消息认证码需要认证,则说明应用端需要传递心跳报文的加签数据,故运行所述待运行文件,得到第一调用组件,在本实施例中,第一调用组件即为安装后可调控的ocx控件;故在ocx层,即通过所述第一调用组件访问所述中间件平台,并获取所述中间件平台获取到的应用端所下发的需要传输的第一消息;进而识别该第一消息中所携带的第一消息认证码;
66.故后续需要进行主要的认证操作,在本实施例中,基于mac值进行数据认证,故通过所述第一调用组件调用所述第一计算处理接口基于所述第一散列函数、所述基准计算参数、所述基准拼接位和所述第一消息认证码执行mac值计算步骤,得到第一mac值;得到第一mac值后,通过所述第一调用组件调用所述中间件平台将所述第一mac值发送至所述消息认证需求所对应的应用端;通过所述第一调用组件调用所述中间件平台获取所述应用端对于所述第一mac值的认证结果;若认证结果为认证成功则保存数据完成数据的传递;
67.具体的,本实施例中,mac值计算步骤的整个逻辑即为本方法的的核心,即根据hmacsha256方法所自主开发的数据认证逻辑,第一计算处理接口(gethmacsha256接口)在本方法中为实现该逻辑的相关模块单元;故所述mac值计算步骤主要包括如下逻辑流程:
68.首先对第一共享密钥进行判断,根据判断结果进行密钥的填充或设置,进而得到用于数据认证的待计算密钥,即识别所述第一共享密钥的第一长度;基于所述第一散列函数、所述第一填充数值、所述第一分组长度、所述第一拼接位和所述第一长度执行密钥确认步骤,得到待计算密钥;得到待计算密钥后,可以根据本实施例描述方法中设定的基准参数和基准拼接位进行相关的mac值计算,故基于所述第一散列函数、所述第一十六进制码、所述第二十六进制码、所述第一拼接位、所述第二拼接位、所述第一消息认证码和所述待计算密钥执行拼接计算步骤,得到所述第一mac值。
69.具体的,所述密钥确认步骤包括:
70.比对所述第一长度和所述第一分组长度;若所述第一长度小于所述第一分组长度,则需要在第一共享密钥的末位补0,直至补0后的第一共享密钥的长度达到该第一分组长度后才能用于后续的mac计算,故计算所述第一分组长度与所述第一长度的第一差值,按照所述第一差值在所述第一共享密钥的所述第一拼接位填充若干所述第一填充数值,得到待计算密钥;若所述第一长度大于所述第一分组长度,则需要采用该第一共享密钥的散列值作为待计算密钥,故调用所述第一散列函数计算所述第一共享密钥的第一散列值,即将第一共享密钥输入单向散列函数,得到对于第一共享密钥的散列值,该散列值为所述第一散列值;故设定所述第一散列值为所述待计算密钥;若所述第一长度等于所述第一分组长度,则不用进行相关的处理,直接设定所述第一共享密钥为所述待计算密钥。
71.具体的,所述拼接计算步骤包括:
72.将所述待计算密钥与所述第一十六进制码进行xor运算,得到第一xor运算值,在本实施例中,第一十六进制码对应的数据名为i_pad;将所述第一xor运算值拼接至所述第一消息认证码的所述第二拼接位,即将第一xor运算值附加在第一消息认证码的开头处,得到第一组合消息码;调用所述第一散列函数计算所述第一组合消息码的第二散列值,即将第一组合消息码输入单向散列函数,得到对于第一组合消息码的散列值,该散列值为所述第二散列值;将所述待计算密钥与所述第二十六进制码进行xor运算,得到第二xor运算值,在本实施例中,第二十六进制码对应的数据名为o_pad;将所述第二散列值拼接值所述第二xor运算值的所述第一拼接位,即将第二散列值拼接在第二xor运算值的末位,故得到第一组合散列值;调用所述第一散列函数计算所述第一组合散列值的第三散列值,即将第一组合散列值输入单向散列函数,得到对于第一组合散列值的散列值,该散列值为所述第三散列值,且设定所述第三散列值为所述第一mac值。
73.具体的,所述应用端中设有与所述第一消息认证码相匹配的第二mac值;第二mac值为应用端根据第一消息认证码所预先设置的mac值,用于判断认证结果;当所述应用端收到所述第一mac值后,所述应用端比对所述第一mac值和所述第二mac值;若所述第一mac值与所述第二mac值相匹配,则所述应用端设定所述认证结果为消息认证成功;若所述第一mac值与所述第二mac值非匹配,则所述应用端设定所述认证结果为消息认证失败。
74.实施例2
75.本实施例基于与实施例1中所述的一种基于hmac控件的消息认证方法相同的发明构思,提供一种基于hmac控件的消息认证系统,如图3所示,包括:初始配置模块、进阶配置模块和消息认证模块;
76.所述基于hmac控件的消息认证系统中,初始配置模块用于配置中间件平台、第一文件、控件目录识别程序、第一控件和第一散列函数;所述初始配置模块还用于设置基准计算参数和基准拼接位;
77.具体的,所述基准计算参数包括:第一共享密钥、第一填充数值、第一分组长度、第一十六进制码和第二十六进制码;所述基准拼接位包括:第一拼接位和第二拼接位。
78.所述基于hmac控件的消息认证系统中,进阶配置模块用于根据所述第一文件、所述控件目录识别程序和所述第一控件执行进阶配置操作,得到第一计算处理接口和待运行文件;
79.具体的,所述进阶配置操作包括:进阶配置模块获取所述第一控件的第一控件策略,进阶配置模块基于所述第一控件策略开发所述第一计算处理接口;进阶配置模块调用所述控件目录识别程序识别所述第一控件所对应的第一安装目录;进阶配置模块将所述第一文件导入所述第一安装目录;进阶配置模块设定位于所述第一安装目录下的所述第一文件为所述待运行文件。
80.所述基于hmac控件的消息认证系统中,消息认证模块用于获取消息认证需求,并基于所述中间件平台、所述第一散列函数、所述基准计算参数、所述基准拼接位、所述第一计算处理接口、所述待运行文件和所述消息认证需求执行消息认证操作,得到认证结果;
81.具体的,所述消息认证操作包括:消息认证模块识别所述消息认证需求,若所述消息认证需求为存在第一消息认证码需要认证,则消息认证模块运行所述待运行文件,得到第一调用组件;消息认证模块通过所述第一调用组件调用所述中间件平台获取所述第一消
息认证码;消息认证模块通过所述第一调用组件调用所述第一计算处理接口基于所述第一散列函数、所述基准计算参数、所述基准拼接位和所述第一消息认证码执行mac值计算步骤,得到第一mac值;消息认证模块通过所述第一调用组件调用所述中间件平台将所述第一mac值发送至所述消息认证需求所对应的应用端;消息认证模块通过所述第一调用组件调用所述中间件平台获取所述应用端对于所述第一mac值的认证结果。
82.具体的,所述mac值计算步骤包括:消息认证模块识别所述第一共享密钥的第一长度;消息认证模块基于所述第一散列函数、所述第一填充数值、所述第一分组长度、所述第一拼接位和所述第一长度执行密钥确认步骤,得到待计算密钥;消息认证模块基于所述第一散列函数、所述第一十六进制码、所述第二十六进制码、所述第一拼接位、所述第二拼接位、所述第一消息认证码和所述待计算密钥执行拼接计算步骤,得到所述第一mac值;
83.具体的,所述密钥确认步骤包括:消息认证模块比对所述第一长度和所述第一分组长度;若所述第一长度小于所述第一分组长度,则消息认证模块计算所述第一分组长度与所述第一长度的第一差值,消息认证模块按照所述第一差值在所述第一共享密钥的所述第一拼接位填充若干所述第一填充数值,得到所述待计算密钥;若所述第一长度大于所述第一分组长度,则消息认证模块调用所述第一散列函数计算所述第一共享密钥的第一散列值,消息认证模块设定所述第一散列值为所述待计算密钥;若所述第一长度等于所述第一分组长度,则消息认证模块设定所述第一共享密钥为所述待计算密钥;
84.具体的,所述拼接计算步骤包括:消息认证模块将所述待计算密钥与所述第一十六进制码进行xor运算,得到第一xor运算值;消息认证模块将所述第一xor运算值拼接至所述第一消息认证码的所述第二拼接位,得到第一组合消息码;消息认证模块调用所述第一散列函数计算所述第一组合消息码的第二散列值;消息认证模块将所述待计算密钥与所述第二十六进制码进行xor运算,得到第二xor运算值;消息认证模块将所述第二散列值拼接至所述第二xor运算值的所述第一拼接位,得到第一组合散列值;消息认证模块调用所述第一散列函数计算所述第一组合散列值的第三散列值,设定所述第三散列值为所述第一mac值。
85.实施例3
86.本实施例提供一种计算机可读存储介质,包括:
87.所述存储介质用于储存将上述实施例1所述的基于hmac控件的消息认证方法实现所用的计算机软件指令,其包含用于执行上述为所述基于hmac控件的消息认证方法所设置的程序;具体的,该可执行程序可以内置在实施例2所述的基于hmac控件的消息认证系统中,这样,基于hmac控件的消息认证系统就可以通过执行内置的可执行程序实现所述实施例1所述的基于hmac控件的消息认证方法。
88.此外,本实施例具有的计算机可读存储介质可以采用一个或多个可读存储介质的任意组合,其中,可读存储介质包括电、光、电磁、红外线或半导体的系统、装置或器件,或者以上任意组合。
89.区别于现有技术,采用本技术一种基于hmac控件的消息认证方法、系统及介质可以通过本方法实现基于hmacsha256控件的相关逻辑开发相关的数据认证接口,通过接口开发中所设计的相关认证逻辑,对证券项目相关实际需求中的特定信息进行数据加密和认证,通过本系统为本方法提供有效的技术支撑,且安全性和处理效率均极高,耦合性低,具
有极高的应用价值。
90.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
91.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
92.以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献