一种安全的数据传输方法及装置制造方法及图纸

技术编号:14494137 阅读:94 留言:0更新日期:2017-01-29 17:00
本发明专利技术公开了一种安全的数据传输方法及装置,涉及信息安全领域。所述方法包括:系统生成随机数作为当前随机数并发送给终端设备,根据当前随机数和与终端设备对应的预置密钥计算出第一密钥和第二密钥;使用第一密钥对待传输报文进行加密得到第一数据域,根据预设的协议头数据组织头域,使用第二密钥对头域和第一数据域计算出第一校验值;根据头域、第一数据域和第一校验值组织指令并发送给终端设备;接收并解析终端设备返回的应答数据得到操作结果,如操作成功,则根据预设方式更新当前随机数,结束;如操作失败,则结束。本发明专利技术中的技术方案,在终端设备与系统进行数据传输时,每次采用不同的密钥对数据进行加解密,保证了数据传输的安全性。

【技术实现步骤摘要】

本专利技术涉及信息安全领域,尤其涉及一种安全的数据传输方法及装置
技术介绍
在终端设备和系统进行数据的传输过程中,需要对数据进行加密;而对数据进行加密则是依靠存储于终端设备内部和系统内部的对称密钥完成。现有技术中,普遍的方法是分别在终端设备内部和后台系统的内部存储相同的固定的数据作为对称密钥,每次数据的传输均使用固定不变的对称密钥对数据进行加密,使得数据传输的安全性降低,存在容易被黑客破解,数据被篡改的问题。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种安全的数据传输方法及装置。一方面,本专利技术提供了一种安全的数据传输方法,包括:步骤A1:系统生成随机数作为当前随机数,发送所述当前随机数给终端设备,并根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;步骤A2:所述系统使用所述第一密钥对待传输报文进行加密得到第一数据域,根据预设的协议头数据组织头域,使用所述第二密钥对所述头域和所述第一数据域计算出第一校验值;步骤A3:所述系统根据所述头域、所述第一数据域和所述第一校验值组织指令,并将所述指令发送给所述终端设备;步骤A4:所述系统接收并解析所述终端设备返回的应答数据得到操作结果,如所述操作结果为操作成功,则根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则结束。本专利技术还提供了一种安全的数据传输方法,包括:步骤B1:终端设备接收系统发送来的随机数,将其作为当前随机数;步骤B2:所述终端设备接收所述系统发送来的指令,解析接收到的指令得到头域、第一数据域和第一校验值;步骤B3:所述终端设备根据当前随机数和自身的预置密钥计算出第一密钥和第二密钥;步骤B4:所述终端设备根据所述第二密钥和所述第一校验值校验所述头域和所述第一数据域,如校验成功,则执行步骤B5;如校验失败,则返回错误码给系统,结束;步骤B5:所述终端设备使用所述第一密钥解密所述第一数据域得到传输报文,将所述传输报文发送给卡片并接收所述卡片返回的操作结果,如所述操作结果为操作成功,则组织成功应答数据并返回给所述系统,根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则组织失败应答数据并返回给所述系统,结束。另一方面,本专利技术提供了一种安全的数据传输系统,包括:生成模块,用于生成随机数作为当前随机数;第一发送模块,用于发送所述生成模块生成的当前随机数给终端设备;第一计算模块,用于根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;加密模块,用于使用所述第一计算模块计算出的第一密钥对待传输报文进行加密得到第一数据域;第一组织模块,用于根据预设的协议头数据组织当前头域;第二计算模块,用于使用所述第一计算模块计算出的第二密钥对所述头域和所述第一数据域计算出第一校验值;第二组织模块,用于根据所述头域、所述第一数据域和所述第一校验值组织指令;第二发送模块,用于将所述第二组织模块组织的指令发送给所述终端设备;接收模块,用于接收所述终端设备返回的应答数据;解析模块,用于解析所述接收模块接收到的应答数据得到操作结果;更新模块,用于当所述解析模块得到的操作结果为操作成功时,根据预设方式更新所述当前随机数。本专利技术还提供了一种安全的数据传输设备,其特征在于,包括:第一接收模块,用于接收系统发送来的随机数,将其作为当前随机数;第二接收模块,用于接收所述系统发送来的指令;解析模块,用于解析所述第二接收模块接收到的指令得到头域、第一数据域和第一校验值;第一计算模块,用于根据当前随机数和自身的预置密钥计算出第一密钥和第二密钥,所述当前随机数与所述系统中的随机数相同;校验模块,用于根据所述第二密钥和所述第一校验值校验所述头域和所述第一数据域;发送模块,用于当所述校验模块校验失败时,返回错误码给系统,结束;解密模块,用于当所述校验模块校验成功时,使用所述第一密钥解密所述第一数据域得到传输报文;所述发送模块,还用于将所述解密模块得到的传输报文发送给卡片;所述接收模块,还用于接收所述卡片返回的操作结果;组织模块,用于当所述接收模块接收到的操作结果为操作成功时,组织成功应答数据;还用于当所述接收模块接收到的操作结果为操作失败时,组织失败应答数据;所述发送模块,还用于将所述组织模块组织的成功应答数据返回给所述系统;还用于将所述组织模块组织的失败应答数据返回给所述系统;更新模块,用于当所述发送模块将所述组织模块组织的成功应答数据返回给系统之后,根据预设方式更新所述当前随机数。本专利技术与现有技术相比,具有以下优点:在终端设备与系统进行数据传输时,每次采用不同的密钥对数据进行加解密,保证了数据传输的安全性。附图说明为了更清楚的说明本专利技术实施例或现有技术中的技术方案,下面将对本专利技术实施例或现有技术描述中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种安全的数据传输方法中系统的处理方法流程图;图2为本专利技术实施例一提供的一种安全的数据传输方法中终端设备的处理方法流程图;图3为本专利技术实施例二提供的一种安全的数据传输方法中系统的处理方法程图;图4为本专利技术实施例三提供的一种安全的数据传输方法中终端设备的处理方法流程图;图5为本专利技术实施例四提供的一种安全的数据传输系统的模块组成框图;图6为本专利技术实施例五提供的一种安全的数据传输设备的模块组成框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在本专利技术中的方法,应用于包含系统、终端设备和卡片的数据交互过程中,其中,系统通过终端设备将数据发送给卡片,卡片根据终端设备发送来的数据执行相应操作得到操作结果,并将操作结果通过终端设备返回给系统;终端设备和系统之间是以PC端或者移动终端中的应用程序作为传输媒介进行数据交互,例如:电脑中的应用程序、手机中的应用程序等。实施例一本专利技术实施例一提供一种安全的数据传输方法中系统的处理方法,如图1所示,包括:步骤A1:系统生成随机数作为当前随机数,发送当前随机数给终端设备,并根据当前随机数和与终端设备对应的预置密钥计算出第一密钥和第二密钥;在本实施例中,步骤A1之前,发送当前随机数给终端设备,具体为:系统根据当前随机数组织设置命令,发送设置命令给终端设备;或者,系统根据预设加密算法对当前随机数进行加密得到密文随机数,发送密文随机数给终端设备;在本实施例中,步骤A1中,发送当前随机数给终端设备之后,还包括:步骤a:系统接收终端设备返回的第三校验值,并判断接收到的第三校验值是否正确,是则根据当前随机数和与终端设备对应的预设密钥计算出第一密钥和第二密钥,否则结束。上述步骤a中,判断接收到的的第三校验值是否正确,具体为:系统将当前随机数与第一预设数据做预设运算得到运算结果,读取运算结果中预设字节上的数据作为第二校验码,判断第二校验值与第二校验码是否相等,是则确认第二校验值正确,否则确本文档来自技高网...
一种安全的数据传输方法及装置

【技术保护点】
一种安全的数据传输方法,其特征在于,包括:步骤A1:系统生成随机数作为当前随机数,发送所述当前随机数给终端设备,并根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;步骤A2:所述系统使用所述第一密钥对待传输报文进行加密得到第一数据域,根据预设的协议头数据组织头域,使用所述第二密钥对所述头域和所述第一数据域计算出第一校验值;步骤A3:所述系统根据所述头域、所述第一数据域和所述第一校验值组织指令,并将所述指令发送给所述终端设备;步骤A4:所述系统接收并解析所述终端设备返回的应答数据得到操作结果,如所述操作结果为操作成功,则根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则结束。

【技术特征摘要】
1.一种安全的数据传输方法,其特征在于,包括:步骤A1:系统生成随机数作为当前随机数,发送所述当前随机数给终端设备,并根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;步骤A2:所述系统使用所述第一密钥对待传输报文进行加密得到第一数据域,根据预设的协议头数据组织头域,使用所述第二密钥对所述头域和所述第一数据域计算出第一校验值;步骤A3:所述系统根据所述头域、所述第一数据域和所述第一校验值组织指令,并将所述指令发送给所述终端设备;步骤A4:所述系统接收并解析所述终端设备返回的应答数据得到操作结果,如所述操作结果为操作成功,则根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则结束。2.根据权利要求1所述的方法,其特征在于:所述步骤A1中,所述发送所述当前随机数给终端设备,具体为:所述系统根据所述当前随机数组织设置命令,发送所述设置命令给所述终端设备;或者,所述系统根据预设加密算法对所述当前随机数进行加密得到密文随机数,发送所述密文随机数给所述终端设备。3.根据权利要求1所述的方法,其特征在于,所述步骤A1中,所述发送所述当前随机数给终端设备之后,还包括:步骤a:所述系统接收所述终端设备返回的第三校验值,并判断所述第三校验值是否正确,是则根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥,否则结束。4.根据权利要求3所述的方法,其特征在于,所述步骤a中,所述判断所述第三校验值是否正确,具体为:所述系统将所述当前随机数与第一预设数据做预设运算得到运算结果,读取所述运算结果中预设字节上的数据作为第三校验码,判断所述第三校验值与所述第三校验码是否相等,是则确认所述第三校验值正确,否则确认所述第三校验值不正确。5.根据权利要求1所述的方法,其特征在于,所述步骤A1之前,还包括:所述系统接收应用程序发送来的终端设备的设备信息,并将所述设备信息保存;所述步骤A1中,发送所述当前随机数给终端设备之后,还包括:所述系统根据保存的设备信息获取预置的与所述终端设备对应的第一预设密钥和第二预设密钥;所述步骤A1中,所述根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥,具体为:所述系统根据预设算法使用所述第一预设密钥对所述当前随机数加密得到第一密钥,使用所述第二预设密钥对所述当前随机数加密得到第二密钥。6.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述系统根据所述第一密钥对待传输报文进行加密得到第一数据域,具体包括:步骤D1:所述系统判断所述待传输报文是否需要填充,是则在所述待传输报文的预定位置填充预设数据得到第一待加密数据,执行步骤D2,否则将所述待传输报文作为第一待加密数据,执行步骤D2;步骤D2:所述系统使用所述第一密钥对所述第一待加密数据进行加密得到第一密文数据,将所述第一密文数据作为第一数据域。7.根据权利要求6所述的方法,其特征在于,所述步骤D1中,所述系统判断待传输报文是否需要填充,具体为:所述系统将待传输报文的长度与第一预设长度求和,判断求得的和是否为第二预设长度的整数倍,是则确认所述待传输报文无需填充;否则,确认所述待传输报文需要填充;所述在待传输报文的预定位置填充预设数据得到第一待加密数据,具体为:在所述待传输报文的左端填充所述待传输报文的长度,并在所述待传输报文的右端填充一个字节的第二预设数据和最少字节的第三预设数据,使所述第一待加密数据的长度为所述第二预设长度的整数倍。8.根据权利要求1所述的方法,其特征在于,所述步骤A2中,所述使用所述第二密钥对所述头域和所述第一数据域计算出当前第一校验值,具体为:所述系统将所述头域和所述第一数据域顺序拼接后的数据填充第四预设数据得到第一待校验数据,根据预设算法使用所述第二密钥对所述第一待校验数据进行计算得到计算结果,读取所述计算结果中预设字节上的数据作为当前第一校验值。9.根据权利要求1所述的方法,其特征在于,所述步骤A3中,所述根据所述头域、所述第一数据域和所述第一校验值组织指令,具体为:所述系统将所述头域、所述第一数据域和所述第一校验值顺序拼接得到指令。10.根据权利要求1所述的方法,其特征在于,所述步骤A4中,所述系统接收并解析所述终端设备返回的应答数据得到操作结果,具体为:所述系统接收并解析所述终端设备返回的应答数据得到第二数据域和第二校验值,根据所述第二密钥和所述第二校验值校验所述第二数据域,如果校验成功,则根据所述第一密钥解密所述第二数据域得到第二待加密数据,解析所述第二待加密数据得到明文应答数据,解析所述明文应答数据得到操作结果;否则交易失败,结束。11.根据权利要求1所述的方法,其特征在于,所述步骤A4中,所述根据预设方式更新所述随机数,具体为:所述系统将所述当前随机数改变预设步长,将改变预设步长后的值作为当前随机数;或者,所述系统将所述当前随机数作为种子随机数,根据所述种子随机数生成新的随机数,将所述新的随机数作为当前随机数;或者,所述系统根据预设算法对所述当前随机数进行计算得到计算结果,将所述计算结果作为当前随机数。12.根据权利要求1所述的方法,其特征在于,所述步骤A4中,还包括:当所述操作结果为操作成功时,若还有待传输报文,则返回步骤A1。13.根据权利要求1所述的方法,其特征在于,所述步骤A1中,所述系统生成随机数作为当前随机数,发送所述当前随机数给终端设备,还可以为:所述系统发送获取随机数请求给终端设备,接收所述终端设备返回的随机数,将接收到的随机数作为当前随机数并保存。14.一种安全的数据传输方法,其特征在于,包括:步骤B1:终端设备接收系统发送来的随机数,将其作为当前随机数;步骤B2:所述终端设备接收所述系统发送来的指令,解析接收到的指令得到头域、第一数据域和第一校验值;步骤B3:所述终端设备根据当前随机数和自身的预置密钥计算出第一密钥和第二密钥;步骤B4:所述终端设备根据所述第二密钥和所述第一校验值校验所述头域和所述第一数据域,如校验成功,则执行步骤B5;如校验失败,则返回错误码给系统,结束;步骤B5:所述终端设备使用所述第一密钥解密所述第一数据域得到传输报文,将所述传输报文发送给卡片并接收所述卡片返回的操作结果,如所述操作结果为操作成功,则组织成功应答数据并返回给所述系统,根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则组织失败应答数据并返回给所述系统,结束。15.根据权利要求14所述的方法,其特征在于,所述步骤B1,具体为:终端设备接收系统发送来的设置命令,解析所述设置命令得到随机数,将得到的随机数作为当前随机数;或者,终端设备接收系统发送来的密文随机数,根据预设加密算法对所述密文随机数解密得到随机数,将得到的随机数作为当前随机数。16.根据权利要求14所述的方法,其特征在于,所述步骤B1之后,还包括:所述终端设备根据接收到的随机数计算第三校验值,并将所述第三校验值发送给所述系统。17.根据权利要求16所述的方法,其特征在于,所述终端设备根据接收到的随机数计算第三校验值,具体为:所述终端设备将接收到的随机数与第一预设数据做预设运算得到运算结果,读取所述运算结果中预设字节上的数据作为第三校验值。18.根据权利要求14所述的方法,其特征在于,所述步骤B3,具体为:所述终端设备读取自身预置的第一预设密钥和第二预设密钥,根据预设算法使用所述第一预设密钥对所述当前随机数加密得到第一密钥,使用所述第二预设密钥对所述当前随机数加密得到第二密钥。19.根据权利要求14所述的方法,其特征在于,所述步骤B4中,所述终端设备根据所述第二密钥和所述第一校验值校验所述头域和所述第一数据域,具体为:所述终端设备将所述头域和所述第一数据域顺序拼接后的数据填充第四预设数据得到第一待校验数据,根据预设算法使用所述第二密钥对所述第一待校验数据计算得到计算结果,读取所述计算结果中预设字节上的数据作为第一校验码,判断所述第一校验码与所述第一校验值是否相同,是则确认校验成功,否则,确认校验失败。20.根据权利要求14所述的方法,其特征在于,所述步骤B5中,所述终端设备根据所述第一密钥解密所述第一数据域得到传输报文,具体为:所述终端设备根据预设算法使用所述第一密钥解密所述第一数据域得到第一待加密数据,解析所述第一待加密数据得到传输报文的长度,根据所述传输报文的长度,读取相应数据得到传输报文。21.根据权利要求14所述的方法,其特征在于,所述步骤B5中,组织应答数据,具体包括:所述终端设备根据所述操作结果组织明文应答数据,根据所述明文应答数据组织第二待加密数据,使用所述第一密钥对所述第二待加密数据进行加密得到第二数据域,将所述第二数据域填充第四预设数据得到当前第二待校验数据,根据预设算法使用所述第二密钥对所述第二待校验数据计算出第三校验值,将所述第二数据域、所述第三校验值拼接得到应答数据。22.根据权利要求14所述的方法,其特征在于,所述步骤B5中,所述根据预设方式更新所述随机数,具体为:所述终端设备将所述当前随机数改变预设步长,将改变预设步长后的值作为当前随机数;或者,所述终端设备将所述当前随机数作为种子随机数,根据所述种子随机数生成新的随机数,将所述新的随机数作为当前随机数;或者,所述终端设备根据预设算法对所述当前随机数进行计算得到计算结果,将所述计算结果作为当前随机数。23.根据权利要求14所述的方法,其特征在于,所述步骤B5中,所述根据预设方式更新所述当前随机数之后,还包括:所述终端设备判断等待接收数据时长是否超过预设时长,是则关机,结束,否则返回步骤B2。24.根据权利要求14所述的方法,其特征在于,所述步骤B1,还可以为:步骤f:终端设备接收系统发送来的获取随机数请求,并将预设的随机数作为当前随机数返回给所述系统。25.一种安全的数据传输系统,其特征在于,包括:生成模块,用于生成随机数作为当前随机数;第一发送模块,用于发送所述生成模块生成的当前随机数给终端设备;第一计算模块,用于根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;加密模块,用于...

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

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

1