一种鉴别交易信息完整性的方法技术

技术编号:19099212 阅读:46 留言:0更新日期:2018-10-03 02:55
一种鉴别交易信息完整性的方法及装置,该方法包括:终端设备接收上位机发送的交易指令,解析交易指令得到第一消息验证码和待验证的交易信息;对待验证的交易信息分块得到交易信息块,根据第一密钥生成第三密钥,根据第二密钥生成第四密钥,根据交易信息块、第一密钥、第二密钥、第三密钥和第四密钥进行计算生成鉴别消息验证码;判断鉴别消息验证码是否与第一消息验证码相匹配,如果是,交易信息完整,执行交易指令,向上位机返回交易结果,结束;否则,交易信息不完整,拒绝执行交易指令,向上位机返回错误码,结束。因此,根据待验证的交易信息计算验证码的过程中对待验证的交易信息经过多次处理,交易信息中的重要数据在验证过程中更加安全。

【技术实现步骤摘要】
一种鉴别交易信息完整性的方法
本专利技术涉及信息安全领域,特别涉及一种鉴别交易信息完整性的方法。
技术介绍
随着信息技术的发展,信息安全日益受到人们的重视,如上位机与终端设备通过对通信数据进行加密并共享密钥来保障信息安全、服务器通过验证网络客户端传送的密码认证来保障信息安全,现有技术中,通信双方通信过程中的通信数据一般会涉及重要数据,如交易金额、用户名、密码等,而这些重要数据会储存在交易信息中,一旦交易信息被非法截取会给用户的利益带来安全隐患。
技术实现思路
为了解决以上提到的问题,根据本专利技术提供了一种鉴别交易信息完整性的方法,包括:步骤a:终端设备接收上位机发送的交易指令,解析所述交易指令得到第一消息验证码及待验证的交易信息;步骤b:所述终端设备对所述待验证的交易信息进行分块得到交易信息块;根据内部储存的第一密钥生成第三密钥,根据内部储存的第二密钥生成第四密钥;所述终端设备根据所述交易信息块、所述第一密钥、所述第二密钥、所述第三密钥和所述第四密钥进行计算生成鉴别消息验证码;步骤c:所述终端设备判断所述鉴别消息验证码是否与所述第一消息验证码相匹配,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束。根据本专利技术还提供了一种鉴别交易信息完整性的方法,包括:步骤a’:终端设备接收上位机发送的交易指令,解析所述交易指令得到第一消息验证码和待验证的交易信息;步骤b’:所述终端设备根据储存空间中的已知密钥给第一导出密钥赋值;根据所述第一导出密钥和已知常数生成第一子密钥、第二子密钥以及第三子密钥;所述终端设备根据所述第一子密钥、所述第三子密钥、所述已知常数,以及所述待验证的交易信息生成鉴别消息验证码;步骤c’:所述终端设备判断所述第一消息验证码是否与所述鉴别消息验证码相匹配,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束。根据本专利技术还提供了一种鉴别交易信息完整性的装置,包括:接收模块,用于接收上位机发送的交易指令;解析模块,用于解析所述接收模块接收到的所述交易指令得到第一消息验证码和待验证的交易信息;切分模块,用于将所述解析模块解析得到的所述待验证的交易信息进行分块得到交易信息块;储存模块,用于储存第一密钥和第二密钥;第一生成模块,用于根据所述储存模块储存的第一密钥生成第三密钥,根据所述储存模块储存的第二密钥生成第四密钥;计算模块,用于根据所述切分模块得到的所述交易信息块、所述储存模块储存的所述第一密钥、第二密钥、所述生成模块生成的第三密钥和第四密钥进行计算生成鉴别消息验证码;判断模块,用于判断所述计算模块计算得到的所述鉴别消息验证码是否与所述解析模块得到的所述第一消息验证码相匹配;执行返回模块,用于当所述判断模块判断出所述计算模块计算得到的所述鉴别消息验证码与所述解析模块得到的所述第一消息验证码相匹配时,执行交易指令,并向上位机返回执行结果;当所述判断模块判断出所述计算模块计算得到的所述鉴别消息验证码与所述解析模块得到的所述第一消息验证码不相匹配时,拒绝执行交易指令,并向上位机返回错误码。根据本专利技术还提供了一种鉴别交易信息完整性的装置,包括:接收模块,用于接收上位机发送的交易指令;解析模块,用于解析所述接收模块接收到的所述交易指令得到第一消息验证码和待验证的交易信息;赋值模块,用于储存已知密钥,并根据储存空间中的已知密钥给第一导出密钥赋值;第二生成模块,用于根据所述第一导出密钥和已知常数生成第一子密钥、第二子密钥以及第三子密钥;第三生成模块,用于根据所述第二生成模块生成的所述第一子密钥、所述第二子密钥、所述第三子密钥,以及所述已知常数和所述解析模块得到的所述待验证的交易信息生成鉴别消息验证码;判断模块,用于判断所述解析模块得到的所述第一消息验证码是否与所述第三生成模块生成的所述鉴别消息验证码相匹配。本专利技术技术方案和现有技术相比,具有如下优点:通过本专利技术的方法,终端设备验证交易信息时,根据待验证的交易信息计算验证码的过程中对待验证的交易信息经过多次处理,使得交易信息中的重要数据在验证的过程中更加安全。附图说明图1为实施例1提供的一种鉴别交易信息完整性的方法的流程图;图2为实施例1提供的一种消息验证码计算流程的流程图;图3为实施例2提供的又一种鉴别交易信息完整性的方法的流程图;图4为实施例3提供的一种鉴别交易信息完整性的装置的方框图;图5为实施例4提供的一种鉴别交易信息完整性的装置的方框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术的保护范围。为便于对本专利技术实施例的理解,下面将结合附图做进一步的解释说明,实施例并不构成对本专利技术的限定。实施例1根据本专利技术实施例1,提供了一种鉴别交易信息完整性的方法,如图1所示,包括:步骤s101:终端设备接收上位机发送的交易指令,解析交易指令得到第一消息验证码及待验证的交易信息。步骤s102:终端设备根据内部储存的第一密钥生成第三密钥;根据内部储存的第二密钥生成第四密钥;其中,第一密钥和第二密钥为预置的已知密钥;具体地,从第一密钥的第四个比特组开始,每隔四比特交替取补得到第三密钥,从第二密钥的第四个比特组开始,每隔四比特交替取补得到第四密钥。例如:第一密钥为0123456789ABCDEF,则第三密钥为0E2C4A6886A4C2E0;第二密钥为FEDCBA9876543210,则第四密钥为F1D3B597795B3D1F。步骤s103:终端设备根据待验证的交易信息、第一密钥和第二密钥进行消息验证码计算流程得到第二消息验证码;根据待验证的交易信息、第三密钥和第四密钥进行消息验证码计算流程得到第三消息验证码;步骤s104:终端设备根据第二消息验证码和第三消息验证码生成鉴别消息验证码;具体地,将第二消息验证码和第三消息验证码进行异或运算生成鉴别消息验证码。步骤s105:终端设备判断鉴别消息验证码是否与第一消息验证码匹配,如果是,则交易信息完整,执行交易指令,向上位机返回执行结果,结束;如果否,则交易信息不完整,拒绝执行交易指令,向上位机返回错误码,结束。具体地,步骤s105为:终端设备判断鉴别消息验证码是否等于第一消息验证码,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束。其中,如图2所示,步骤s103中所述的消息验证码计算流程具体包括:步骤s201:判断待验证的交易信息的长度是否为密钥长度的整数倍,如果是,执行步骤s202;如果否,对待验证的交易信息进行填充,直至待验证的交易信息的长度为密钥的整数倍,执行步骤s202;具体地,判断待验证的交易信息的长度是否为密钥长度的整数倍具体为:判断待验证的交易信息的长度是否可以整除n/8(例如,n可以取128,则n/8=16),本文档来自技高网...

【技术保护点】
1.一种鉴别交易信息完整性的方法,其特征在于,包括:步骤a:终端设备接收上位机发送的交易指令,解析所述交易指令得到第一消息验证码及待验证的交易信息;步骤b:所述终端设备对所述待验证的交易信息进行分块得到交易信息块和第一变量,所述第一变量用来记录所述交易信息块的总个数;根据内部储存的第一密钥生成第三密钥,根据内部储存的第二密钥生成第四密钥;步骤c:所述终端设备对所述交易信息块、第一密钥和第二密钥执行消息验证码计算流程生成第二消息验证码;对所述交易信息块、第三密钥和第四密钥执行所述消息验证码计算流程生成第三消息验证码;步骤d:所述终端设备对所述第二消息验证码和所述第三消息验证码执行异或运算生成所述鉴别消息验证码;步骤e:所述终端设备判断所述鉴别消息验证码是否与所述第一消息验证码相匹配,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束;所述消息验证码计算流程具体包括:步骤c1:判断所述第一变量是否满足第一预设条件,如果是,执行步骤c8;如果否,执行步骤c2;步骤c2:判断待验证的交易信息中的交易信息块偏移是否小于待验证的交易信息的长度,如果是,执行步骤c3;如果否,执行步骤c9;步骤c3:设置密钥为第一密钥变量,对所述待验证的交易信息中偏移指针指向的当前交易信息块执行分组加密运算得到加密后的第一密文数据;步骤c4:判断所述偏移指针指向的当前交易信息块是否位于起始位置,如果是,执行步骤c5;如果否,执行步骤c6;步骤c5:设置密钥为第三密钥变量,对所述第一密文数据执行分组加密运算,用得到的加密运算结果更新所述第一密文数据;步骤c6:判断所述待验证的交易信息是否满足第二预设条件,如果是,执行步骤c7;如果否,执行步骤c9;步骤c7:根据所述第一密文数据和所述偏移指针指向的当前交易信息块的下一个交易信息块生成第一结果,用所述第一结果更新所述偏移指针指向的当前交易信息块的下一个交易信息块,返回步骤c2;步骤c8:设置密钥为所述第一密钥变量,对待验证交易信息中偏移指针指向的当前交易信息块执行分组加密运算得到第二密文数据,设置密钥为所述第三密钥变量,对所述第二密文数据执行分组加密运算得到所述第一结果;步骤c9:设置密钥为第二密钥变量,对所述第一结果执行分组加密运算得到加密后的第三密文数据,根据需求,取所述第三密文数据最左边固定长度的数据作为消息验证码。...

【技术特征摘要】
1.一种鉴别交易信息完整性的方法,其特征在于,包括:步骤a:终端设备接收上位机发送的交易指令,解析所述交易指令得到第一消息验证码及待验证的交易信息;步骤b:所述终端设备对所述待验证的交易信息进行分块得到交易信息块和第一变量,所述第一变量用来记录所述交易信息块的总个数;根据内部储存的第一密钥生成第三密钥,根据内部储存的第二密钥生成第四密钥;步骤c:所述终端设备对所述交易信息块、第一密钥和第二密钥执行消息验证码计算流程生成第二消息验证码;对所述交易信息块、第三密钥和第四密钥执行所述消息验证码计算流程生成第三消息验证码;步骤d:所述终端设备对所述第二消息验证码和所述第三消息验证码执行异或运算生成所述鉴别消息验证码;步骤e:所述终端设备判断所述鉴别消息验证码是否与所述第一消息验证码相匹配,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束;所述消息验证码计算流程具体包括:步骤c1:判断所述第一变量是否满足第一预设条件,如果是,执行步骤c8;如果否,执行步骤c2;步骤c2:判断待验证的交易信息中的交易信息块偏移是否小于待验证的交易信息的长度,如果是,执行步骤c3;如果否,执行步骤c9;步骤c3:设置密钥为第一密钥变量,对所述待验证的交易信息中偏移指针指向的当前交易信息块执行分组加密运算得到加密后的第一密文数据;步骤c4:判断所述偏移指针指向的当前交易信息块是否位于起始位置,如果是,执行步骤c5;如果否,执行步骤c6;步骤c5:设置密钥为第三密钥变量,对所述第一密文数据执行分组加密运算,用得到的加密运算结果更新所述第一密文数据;步骤c6:判断所述待验证的交易信息是否满足第二预设条件,如果是,执行步骤c7;如果否,执行步骤c9;步骤c7:根据所述第一密文数据和所述偏移指针指向的当前交易信息块的下一个交易信息块生成第一结果,用所述第一结果更新所述偏移指针指向的当前交易信息块的下一个交易信息块,返回步骤c2;步骤c8:设置密钥为所述第一密钥变量,对待验证交易信息中偏移指针指向的当前交易信息块执行分组加密运算得到第二密文数据,设置密钥为所述第三密钥变量,对所述第二密文数据执行分组加密运算得到所述第一结果;步骤c9:设置密钥为第二密钥变量,对所述第一结果执行分组加密运算得到加密后的第三密文数据,根据需求,取所述第三密文数据最左边固定长度的数据作为消息验证码。2.如权利要求1所述的方法,其特征在于,步骤c1之前还包括:判断所述待验证的交易信息的长度是否为密钥长度的整数倍,如果是,执行步骤c1;否则,对所述待验证的交易信息进行填充,直至所述待验证的交易信息的长度为所述密钥的整数倍,执行步骤c1。3.如权利要求1所述的方法,其特征在于,所述步骤c1之前,还包括:根据所述第二密钥变量生成所述第三密钥变量。4.如权利要求1所述的方法,其特征在于,所述步骤c1具体为:判断所述第一变量是否等于1,如果是,执行步骤c8;如果否,执行步骤c2。5.如权利要求1所述的方法,其特征在于,所述步骤c3中所述的待验证的交易信息中的交易信息块偏移指针最初指向起始位置。6.如权利要求1所述的方法,其特征在于,所述步骤c7还包括:每次返回步骤c2之前偏移指针向后移动到下一个交易信息块。7.如权利要求1所述的方法,其特征在于,所述步骤c6具体为:判断所述待验证的交易信息中是否还存在下一个交易信息块,如果是,执行步骤c7;如果否,执行步骤c9。8.一种鉴别交易信息完整性的方法,其特征在于,包括:步骤a’:终端设备接收上位机发送的交易指令,解析所述交易指令得到第一消息验证码和待验证的交易信息;步骤b’:所述终端设备根据储存空间中的已知密钥给第一导出密钥赋值;根据所述第一导出密钥和已知常数生成第一子密钥、第二子密钥以及第三子密钥;所述终端设备根据所述第一子密钥、所述第三子密钥、所述已知常数,以及所述待验证的交易信息生成鉴别消息验证码;步骤c’:所述终端设备判断所述第一消息验证码是否与所述鉴别消息验证码相匹配,如果是,则所述交易信息完整,执行所述交易指令,向上位机返回执行结果,结束;如果否,则所述交易信息不完整,拒绝执行所述交易指令,向上位机返回错误码,结束。9.如权利要求8所述的方法,其特征在于,所述步骤b’之前,还包括:所述终端设备判断所述储存空间中的所述已知密钥是否符合第三预设条件,如果是,执行步骤b’;如果否,重复拼接所述已知密钥,取最左边16字节的数据更新所述已知密钥,执行步骤b’。10.如权利要求9所述的方法,其特征在于,所述终端设备判断所述其储存空间的所述已知密钥是否符合第三预设条件具体为:所述终端设备判断所述储存空间中的所述已知密钥的长度是否为16字节,如果是,执行步骤b’;如果否,重复拼接所述已知密钥,取最左边16字节的数据更新所述已知密钥,执行步骤b’。11.如权利要求8所述的方法,其特征在于,所述步骤b’中所述终端设备根据储存空间中的已知密钥给所述第一导出密钥赋值之后,所述终端设备根据所述第一子密钥、所述第三子密钥、所述已知常数以及所述待验证的交易信息生成鉴别消息码之前,还包括:设置第二变量用来记录常数字的总个数,所述终端设备判断所述第二变量是否满足第四预设条件,如果是,根据第二变量,对子密钥块和已知常数进行计算得到附加常数,并将得到的所述附加常数设置到轮函数中,继续判断第二变量是否满足第四预设条件;如果否,所述终端设备根据所述第一子密钥、所述第三子密钥、所述已知常数以及所述待验证的交易信息生成鉴别消息验证码。12.如权利要求11所述的方法,其特征在于,所述终端设备判断第二变量是否满足第四预设条件具体为:所述终端设备判断所述第二变量是否小于80。13.如权利要求8所述的方法,其特征在于,所述步骤b’中根据所述第一导出密钥和已知常数生成第一子密钥、第二子密钥以及第三子密钥具体包括:步骤b’1:根据已知第一常数、已知第二常数和已知第三常数用拼接的方式得到第四常数、第五常数和第六常数;步骤b’2:根据所述第一导出密钥和所述第四常数计算得到所述第一子密钥,根据所述第一导出密钥和所述第五常数计算得到所述第二子密钥,根据所述第一导出密钥和所述第六常数计算得到所述第三子密钥。14.如权利要求13所述的方法,其特征在于,步骤b’中所述终端设备根据所述第一子密钥、所述第三子密钥、所述已知常数以及所述待验证的交易信息生成鉴别消息验证码具体包括:步骤d’1:所述终端设备将所述第一子密钥设置为杂凑函数的初始值,计算所述待验证的交易信息杂凑值生成第一比特串;步骤d’2:所述终端设备根据所述第三子密钥、所述已知第一常数、所述已知第二常数和所述已知第三常数生成中间密钥;步骤d’3:所述终端设备根据所述中间密钥和所述第一比特串执行轮函数计算生成第二比特串;步骤d’4:所述终端设备截取所述第二比特串最左边长度与密钥长度相同的数据作为所述鉴别消息验证码。15.一种鉴别交易信息完整性的装置,其特征在于,包括:接收模块,用于接收上位机发送的交易指令;解析模块,用于解析所述接收模块接收到的所述交易指令得到第一消息验证码和待验证的交易信息;切分模块,用于将所述解析模块解析得到的...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京,11

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

1