【技术实现步骤摘要】
本专利技术涉及信息安全领域,尤其涉及一种安全的数据传输方法及装置。
技术介绍
在终端设备和系统进行数据的传输过程中,需要对数据进行加密;而对数据进行加密则是依靠存储于终端设备内部和系统内部的对称密钥完成。现有技术中,普遍的方法是分别在终端设备内部和后台系统的内部存储相同的固定的数据作为对称密钥,每次数据的传输均使用固定不变的对称密钥对数据进行加密,使得数据传输的安全性降低,存在容易被黑客破解,数据被篡改的问题。
技术实现思路
本专利技术的目的是为了克服现有技术的不足,提供一种安全的数据传输方法及装置。一方面,本专利技术提供了一种安全的数据传输方法,包括:步骤A1:系统生成随机数作为当前随机数,发送所述当前随机数给终端设备,并根据所述当前随机数和与所述终端设备对应的预置密钥计算出第一密钥和第二密钥;步骤A2:所述系统使用所述第一密钥对待传输报文进行加密得到第一数据域,根据预设的协议头数据组织头域,使用所述第二密钥对所述头域和所述第一数据域计算出第一校验值;步骤A3:所述系统根据所述头域、所述第一数据域和所述第一校验值组织指令,并将所述指令发送给所述终端设备;步骤A4:所述系统接收并解析所述终端设备返回的应答数据得到操作结果,如所述操作结果为操作成功,则根据预设方式更新所述当前随机数,结束;如所述操作结果为操作失败,则结束。本专利技术还提供了一种安全的数据传输方法,包括:步骤B1:终端设备接收系统发送来的随机数,将其作为当前随机数;步骤B2:所述终端设备接收所述系统发送来的指令,解析接收到的指令得到头域、第一数据域和第一校验值;步骤B3:所述终端设备根据当前随机 ...
【技术保护点】
一种安全的数据传输方法,其特征在于,包括:步骤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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。