CN117749909A - 数据传输方法、数据处理方法和计算机设备 - Google Patents
数据传输方法、数据处理方法和计算机设备 Download PDFInfo
- Publication number
- CN117749909A CN117749909A CN202311648993.9A CN202311648993A CN117749909A CN 117749909 A CN117749909 A CN 117749909A CN 202311648993 A CN202311648993 A CN 202311648993A CN 117749909 A CN117749909 A CN 117749909A
- Authority
- CN
- China
- Prior art keywords
- data
- signature
- data message
- preset
- parameters
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 65
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000012795 verification Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000012546 transfer Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开一种数据传输方法、数据处理方法、和计算机设备。包括基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;基于预设的加密密钥,对待发送数据进行加密,以生成加密数据参数;发送数据报文,数据报文包括签名参数和加密数据参数。通过对待发送数据进行签名、生成签名参数,防止数据在后续的传输过程中被篡改,提高数据的可信度,防止签名被伪造、或被攻击,确保签名的有效性、安全性和唯一性,进一步增强数据的安全性;加密处理并生成加密数据参数,有效保护数据的隐私和机密性;即使数据被非法获取,加密后的数据也很难被直接获取,从而降低了数据泄露的风险。
Description
技术领域
本申请涉及网络数据安全技术领域,更具体而言,涉及一种数据传输方法、数据处理方法和计算机设备。
背景技术
网络传输是一种重要的信息分享技术。为了保证信息和数据的安全,由于互联网协议的特性,常规的网络协议如超文本传输协议(Hypertext Transfer Protocol,HTTP)等采用的是明文传输,容易出现信息泄漏的风险,导致通信安全性较低。
发明内容
本申请实施方式提供一种数据传输方法、数据处理方法、数据传输装置、数据处理装置、计算机设备、和非易失性计算机可读存储介质,通过对待发送数据进行签名和加密处理后,再发送包括签名参数和加密数据参数的数据报文,以实现对数据的加密,提高通信安全性。
本申请实施方式的数据传输方法包括基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;基于预设的加密密钥,对所述待发送数据进行加密,以生成加密数据参数;发送数据报文,所述数据报文包括所述签名参数和所述加密数据参数。
在某些实施方式中,所述数据报文还包括标识信息和时间戳,所述加密密钥与所述标识信息对应,所述时间戳根据所述数据报文的发送时间确定。。
在某些实施方式中,所述基于预设的签名私钥,对待发送数据进行签名,以生成签名参数,包括:基于预设编码标准,对所述待发送数据的所有参数键值对排序;拼接排序后的所述参数键值对,以得到源码串;基于所述签名私钥和预设的签名算法,对所述源码串进行签名,以生成所述签名参数。
在某些实施方式中,还包括:基于预设编码算法,对所述数据报文进行编码;所述发送数据报文,包括:发送编码后的所述数据报文。
在某些实施方式中,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,各个所述客户端的所述加密密钥均由所述平台端生成,各个所述客户端的所述加密密钥不同。
在某些实施方式中,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,所述签名私钥包括平台私钥和客户私钥,平台私钥存储于所述平台端,客户私钥存储于所述客户端;所述基于预设的签名密钥,对待发送数据进行签名,以生成签名参数,包括:在所述平台端发送所述数据报文的情况下,基于所述平台私钥,对待发送数据进行签名,以生成签名参数;或者在所述客户端发送所述数据报文的情况下,基于所述客户私钥,对待发送数据进行签名,以生成签名参数。
本申请实施方式的数据处理方法包括接收数据报文,所述数据报文包括签名参数和加密数据参数;基于预设的加密密钥,对所述加密数据参数进行解密,以生成解密数据参数;基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验。
在某些实施例中,所述数据报文还包括标识信息和时间戳,所述加密密钥与所述标识信息对应,所述时间戳根据所述数据报文的发送时间确定,所述方法还包括:基于预设的时间阈值和所述数据报文的接收时间,校验所述时间戳,以确定所述数据报文是否有效;其中,在所述时间戳和所述接收时间的时间差大于所述时间阈值的情况下,确定所述数据报文无效;在所述时间戳和所述接收时间的时间差小于所述时间阈值的情况下,确定所述数据报文有效。
在某些实施例中,所述基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验,包括:基于预设编码标准,对所述解密数据参数的所有参数键值对排序;拼接排序后的所述签名参数的参数键值对,以得到源码串;基于所述签名公钥、预设的签名算法及所述源码串,来对所述签名参数进行签名校验。
在某些实施例中,所述数据报文为编码后的报文;所述方法还包括:基于预设解码算法,对所述数据报文进行解码,以得到解码后的所述数据报文;所述基于预设的加密密钥,对所述加密数据参数进行解密,以生成解密数据参数,包括:基于所述加密密钥,对解码后所述加密数据参数进行解密,以生成所述解密数据参数。
在某些实施例中,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,所述签名公钥包括平台公钥和客户公钥,所述平台公钥存储于所述客户端,所述客户公钥存储于所述平台端;所述基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验,包括:在所述平台端接收所述数据报文的情况下,基于所述客户公钥,对所述签名参数进行签名校验;或者在所述客户端接收所述数据报文的情况下,基于所述平台公钥,对所述签名参数进行签名校验。
本申请的数据传输装置包括签名模块、加密模块和发送模块,签名模块用于基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;加密模块用于基于预设的加密密钥,对所述待发送数据进行加密,以生成加密数据参数;发送模块用于发送数据报文,所述数据报文包括所述签名参数和所述加密数据参数。
本申请的数据处理装置包括接收模块、解密模块和校验模块,接收模块用于接收数据报文,所述数据报文包括签名参数和加密数据参数;解密模块用于基于预设的加密密钥,对所述加密数据参数进行解密,以生成解密数据参数;校验模块用于基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验。
本申请的计算机设备包括处理器、存储器;及计算机程序,其中,所述计算机程序被存储在所述存储器中,并且被所述处理器执行,所述计算机程序包括用于执行上述任一实施方式所述的数据传输方法、及上述任一实施方式所述的数据处理方法的指令。
本申请的非易失性计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述任一实施方式所述数据传输方法或数据处理方法。
本申请的数据传输方法、数据处理方法、数据传输装置、数据处理装置、计算机设备及非易失性计算机可读存储介质,通过基于发送端预设的签名私钥,对待发送数据进行签名,生成签名参数;和基于预设的加密密钥,对待发送数据进行加密,生成加密数据参数;并将签名参数和加密数据参数进行传输发送。通过对待发送数据进行签名,可以确保数据的完整性、真实性和来源,防止数据在后续的传输过程中被篡改,提高数据的可信度,而生成和待发送数据对应的签名参数,可以防止签名被伪造、或被攻击,确保签名的有效性、安全性和唯一性,进一步增强数据的安全性;并且,对待发送数据进行加密处理,生成加密数据参数,可以有效地保护数据的隐私和机密性;即使数据被非法获取,加密后的数据也很难被直接获取,从而降低了数据泄露的风险。
对比现有的明文传输,通过对待发送数据进行签名处理,可以确保数据的完整性和确定对方身份的真实性,防止中间人伪造身份等进行攻击,通过对待发送数据进行加密,确保即使被中间人截获密文,也无法直接破解通信内容以获取信息。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的数据传输方法的流程示意图;
图2是本申请某些实施方式的数据传输方法的流程示意图;
图3是本申请某些实施方式的数据传输方法的场景示意图;
图4是本申请某些实施方式的数据传输方法的流程示意图;
图5是本申请某些实施方式的数据传输方法的场景示意图;
图6是本申请某些实施方式的数据传输方法的流程示意图;
图7是本申请某些实施方式的数据传输方法的场景示意图;
图8是本申请某些实施方式的数据传输方法的流程示意图;
图9是本申请某些实施方式的数据传输方法的流程示意图;
图10是本申请某些实施方式的数据处理方法的流程示意图;
图11是本申请某些实施方式的数据处理方法的流程示意图;
图12是本申请某些实施方式的数据处理方法的流程示意图;
图13是本申请某些实施方式的数据处理方法的流程示意图;
图14是本申请某些实施方式的数据处理方法的流程示意图;
图15是本申请某些实施方式的数据处理方法的流程示意图;
图16是本申请某些实施方式的数据处理方法的流程示意图;
图17是本申请某些实施方式的数据传输装置的模块示意图;
图18是本申请某些实施方式的数据处理装置的模块示意图;
图19是本申请某些实施方式的计算机设备的结构示意图;
图20是本申请某些实施方式的非易失性计算机可读存储介质和处理器的连接状态示意图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
为方便理解本申请,下面对本申请出现的名词进行解释:
1、中间人攻击(Man-in-the-middle attack,MITM)是攻击者与通讯的两端分别创建独立的联系,并交换其所收到的数据,使通讯的两端认为他们正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中间人攻击中,攻击者可以拦截通讯双方的通话并插入新的内容。
2、美国信息交换标准代码(American Standard Code for InformationInterchange,ASCII):是一种用于标识文本字符的编码标准,用于将数字、字母、标点符号和控制字符等以二进制形式表示。
3、Base64编码:一种基于64个可打印字符来表示二进制数据的方法,Base64,就是包括小写字母a-z、大写字母A-Z、数字0-9、符号"+"、"/"一共64个字符的字符集,任何符号都可以转换成这个字符集中的字符,这个转换过程就叫做Base64编码。
4、高级加密标准(Advanced Encryption Standard,AES):AES算法是一种对称密钥算法,在发送端和接收端使用同一套密钥,发送端把要发送的明文信息通过密钥加密后,发送给接收端;接收端使用同一密钥就能解密并获取到发送端真实的明文信息。
5、SM2椭圆曲线公钥密码算法(SM2):中国自主研发的一种公钥密码体系密码算法,一种基于椭圆曲线密码学的非对称加密和数字签名算法。
网络传输是一种重要的信息分享技术。在数据传输的过程中,特别是在公共网络上,数据容易受到窃听和截获的风险。为了保证信息和数据的安全,由于互联网协议的特性,常规的网络协议如超文本传输协议(Hypertext Transfer Protocol,HTTP)等采用的是明文传输,容易出现信息泄漏的风险,导致通信安全性较低。
超文本传输安全协议(HyperText Transfer Protocol Secure,HTTPS)是在HTTP的基础上加入网络安全协议(Secure Socket Layer,SSL)或安全传输层协议(TransportLayer Security,TLS),通过数据加密和身份验证来保护用户隐私和数据安全的一种加密方法。
尽管HTTPS提供了较高的安全性,但是,在服务端或客户端采用了弱密码或者弱加密算法等的情况下,会导致加密机制被攻击者破解,从而使得中间人攻击成为可能。
目前有使用了非对称加密算法中的RSA加密算法(RSA algorithm,RSA)对网络传输提供安全保护的,RSA算法通过使用一对密钥(公钥和私钥)来加密和解密数据。
然而,RSA算法的数学原理相对简单,在工程应用中比较易于实现,单位安全强度相对较低。随着计算机运算速度的提高和分布式计算的发展,加上因子分解方法的改进,对低位数的密钥攻击已成为可能。
因此,如何避免网络通讯传输的信息泄漏的风险,提高通信安全性,仍然是本领域需要解决的问题。
为解决上述技术问题,本申请实施例提供一种数据传输方法。
下面将对本申请的数据传输方法进行详细阐述:
请参阅图1,本申请实施方式提供一种数据传输方法,并将该数据传输方法应用于发送端,该数据传输方法包括:
步骤011:基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;
具体地,在获取发送端的待发送数据后,基于预设的签名私钥,对待发送数据进行签名,并生成签名参数。通过预设的签名私钥对待发送数据进行签名处理,可以确保数据的完整性、真实性和来源,防止数据在后续的传输过程中被篡改。
例如,以发送端预设的签名私钥为,基于SM2算法生成的发生端签名私钥Mpk为例进行说明,通过使用预设的发送端签名私钥Mpk,对待发送数据进行数据准备(如哈希运算)、签名生成等处理流程的SM2签名处理后,生成签名参数。
步骤012:基于预设的加密密钥,对待发送数据进行加密,以生成加密数据参数;
具体地,基于预设的加密密钥,对待发送数据进行加密,以对待发送数据实现加密操作,并生成加密数据参数。通过预设的加密密钥对数据进行加密,保护数据的安全性和隐私性,防止数据被篡改和窃取。
例如,以发送端预设的加密密钥为,基于AES算法生成的发送端加密密钥Ak为例进行说明,基于加密密钥Ak对待发送数据进行轮密钥加变换、字节变换等处理流程的AES算法加密处理后,生成加密数据参数。
步骤013:发送数据报文,数据报文包括签名参数和加密数据参数。
具体地,报文(message)是网络中交换与传输的数据单元,将签名后的签名参数和加密后的加密数据参数进行发送,以对签名处理、加密处理后的数据进行传输。
可选地,数据报文还包括标识信息和时间戳,加密密钥与标识信息对应,时间戳根据数据报文的发送时间确定。
具体地,数据报文还包括标识信息和时间戳,如在发送端为商户端时,标识信息包括标识商户的商户号。加密密钥与标识信息对应,通过标识信息区分待发送数据,并对不同的待发送数据对应使用不同的加密密钥进行加密处理,以提高数据加密、传输的安全性。
时间戳包括根据数据报文的发送时间确定的时间戳。通过数据报文中的时间戳,可以有效地避免重放攻击(即攻击者在未经授权的情况下重复发送已经获取的有效数据包或者请求,以达到欺骗系统的目的)的发生。不同的时间戳代表了不同的发送请求的时刻,在接收到包括时间戳的数据报文后,通过验证时间戳的有效性,如,在发送数据报文的时间戳与当前时间相差太大时,确定该数据报文无效,拒绝接收该数据报文,从而有效地防止了重放攻击的发生,进而提高通信传输的安全性。
需要指出的是,发送数据报文可以包括发送签名参数和加密数据参数;还可以包括发送签名参数和加密数据参数,及发送包括标识信息和时间戳中至少一者。例如,发送数据报文包括发送签名参数和加密数据参数;或者,发送数据报文包括发送签名参数、加密数据参数和标识信息;或者,发送数据报文包括发送签名参数、加密数据参数和时间戳;或者,发送数据报文包括发送签名参数、加密数据参数、标识信息和时间戳。
如此,通过基于发送端预设的签名私钥,对待发送数据进行签名,生成签名参数;和基于预设的加密密钥,对待发送数据进行加密,生成加密数据参数;并将签名参数和加密数据参数进行传输发送。通过对待发送数据进行签名,可以确保数据的完整性、真实性和来源,防止数据在后续的传输过程中被篡改,提高数据的可信度,而生成和待发送数据对应的签名参数,可以防止签名被伪造、或攻击,确保签名的有效性、安全性和唯一性,进一步增强数据的安全性;并且,对待发送数据进行加密处理,生成加密数据参数,可以有效地保护数据的隐私和机密性;即使数据被非法获取,加密后的数据也很难被直接获取,从而降低了数据泄露的风险。
对比现有的明文传输,通过对待发送数据进行签名处理,可以确保数据的完整性和确定对方身份的真实性,防止中间人伪造身份等进行攻击,通过对待发送数据进行加密,确保即使被中间人截获密文,也无法直接破解通信内容以获取信息。
请参阅图2,在某些实施例中,步骤011:基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数,包括:
步骤0111:基于预设编码标准,对待发送数据的所有参数键值对排序;
步骤0112:拼接排序后的参数键值对,以得到源码串;
步骤0113:基于签名私钥和预设的签名算法,对源码串进行签名,以生成签名参数。
其中,预设的签名算法为SM2算法,基于SM2算法,生成发送端对应的预设的SM2签名私钥,如以Mpk表示签名私钥;预设编码标准可以是ASCII码。
请参阅场景图3,通过分别对RSA算法和SM2算法进行测试,以N代表字符长度为例进行说明,从图可知:RSA算法使用1024的倍数作为密钥长度,而SM2算法使用较短的256位,对比RSA算法,SM2算法的存储、传输都更方便处理。
RSA算法的PKCS#1Padding填充算法(RSA算法中,一种使明文数据长度与模数相等的填充方案)和OAEP公钥加密填充算法(Optimal Asymmetric Encryption Padding,OAEPPadding)使用了填充长度,加密的明文数据最多为N的长度需要减去填充长度,也就是说,只有一部分明文会被加密;而且,RSA算法的NoPadding算法(一种没有任何填充的加密模式),在批量加密时,经常报错,但因为这种模式本来就不安全,本身也是不推荐使用的。
此外,在密文长度方面,RSA算法是固定的密文长度,而SM2算法的密文长度并不固定,SM2算法的密文长度最低是98字节(byte),每增加1byte的数据长度,密文长度也相应地增加1byte;此外,在加密耗时上面,RSA算法的计算效率相对较低,SM2算法明显比RSA算法要快一个量级。
具体地,基于预设的ASCII码编码标准,对待发送数据的所有参数键值对进行排序,并将排序后的参数键值对进行拼接以得到源码串,如得到“key1=value1&key2=value2&key3=value3”(其中,key表示参数名,而value表示参数的取值,“&”分隔不同的键值对),基于预设的SM2算法和Mpk,对源码串进行签名,以生成签名参数。
请参阅图4,在某些实施例中,步骤012:基于预设的加密密钥,对待发送数据进行加密,以生成加密数据串,包括:
步骤0121:基于预设的加密算法和加密密钥,对待发送数据进行加密,以生成加密数据参数。
其中,预设的加密算法为AES算法,基于AES算法,生成发送端对应的预设的AES加密密钥,如以Ak表示加密密钥。
具体地,基于预设的AES算法和Ak,对所有的待发送数据通过Ak进行加密,以生成加密数据参数。
请参阅场景图5,AES算法的加密和解密方式如图所示:AES算法在发送端和接收端使用同一套密钥,发送端把要发送的明文信息通过密钥加密后,发送给接收端;接收端使用同一密钥就能解密并获取到发送端真实的明文信息。
请参阅图6,在某些实施例中,数据传输方法还包括:
步骤014:基于预设编码算法,对数据报文进行编码;
步骤013:发送数据报文,包括:
步骤0131:发送编码后的数据报文。
其中,预设编码算法为Base64编码算法。
具体地,基于Base64编码算法,对数据报文进行Base64编码,并发送Base64编码后的数据报文,使得可以在保证数据报文的完整性和可逆性的情况下,对数据报文进行简单地混淆,从而使原始数据报文不易被人直接理解,进而提高通信的安全性。
例如,以发送端为商户端,数据报文包括签名参数、加密数据参数和标识信息,标识信息为商户号为例进行说明,发送的Base64编码后的数据报文的参数结构体可以是:
可选地,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,各个客户端的加密密钥均由平台端生成,各个客户端的加密密钥不同。
具体地,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,如,发送数据报文的发送端为平台端时,接收数据报文的接收端为客户端;发送数据报文的发送端为客户端时,接收数据报文的接收端为平台端。请参阅场景图7,平台端生成匹配预设的加密算法的加密密钥,并向客户端发送包括加密密钥的邮件,客户端对加密密钥进行保存,并且,为了进一步提高加密的安全性,针对不同客户端生成的加密密钥不同。
可选地,请参阅图8和图9,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,签名私钥包括平台私钥和客户私钥,平台私钥存储于平台端,客户私钥存储于客户端;
步骤011:基于预设的签名密钥,对待发送数据进行签名,以生成签名参数,包括:
步骤0114:在平台端发送数据报文的情况下,基于平台私钥,对待发送数据进行签名,以生成签名参数;或者
步骤0115:在客户端发送数据报文的情况下,基于客户私钥,对待发送数据进行签名,以生成签名参数。
具体地,请再次参阅场景图7,签名私钥包括平台私钥和客户私钥,平台端生成匹配预设的SM2签名算法的平台私钥Ppk、客户私钥Mpk和匹配预设的AES加密算法的加密密钥Ak,并向客户端发送包括客户私钥Mpk和加密密钥Ak的邮件,以使得客户端存储客户私钥Mpk和加密密钥Ak,平台端存储平台私钥Ppk和加密密钥Ak。
在平台端发送数据报文的情况下,使用平台私钥Ppk,对待发送数据进行签名,以生成签名参数;在在客户端发送数据报文的情况下,使用客户私钥Mpk,对待发送数据进行签名,以生成签名参数。也就是说,通过在平台端发送数据报文时使用平台私钥Ppk进行签名、在客户端发送数据报文时使用客户私钥Mpk进行签名的签名处理方式,针对不同的发送端使用不同的签名私钥,且只有持有正确的私钥,才能够生成与数据相关的有效签名,如此,可以有效防止数据被篡改、伪造或冒充。
请参阅图10,本申请提供一种数据处理方法,应用于接收端,方法包括:
步骤021:接收数据报文,数据报文包括签名参数和加密数据参数;
具体地,接收端接收来自发送端发送的数据报文,以实现发送端和接收端的数据传输,数据报文包括签名参数和加密数据参数。
步骤022:基于预设的加密密钥,对加密数据参数进行解密,以生成解密数据参数;
具体地,基于预设的加密密钥,对加密数据参数进行解密,以生成解密数据参数。为了正确解密数据报文,在接收端进行解密时使用的加密密钥,与数据报文在发送端被加密时所使用的加密密钥相同。
步骤023:基于发送端预设的签名公钥和解密数据参数,对签名参数进行签名校验。
具体地,基于发送端预设的签名公钥和生成的解密数据参数,对签名参数进行签名校验,以确定数据是否完整、是否被篡改等。
如此,对接收到的数据报文,基于预设的加密密钥进行解密,以生成解密数据参数,保护数据的机密性和完整性,防止数据被篡改;在对接收的数据报文进行解密后,基于预设的签名公钥和生成的解密数据参数,进行签名校验,进一步验证数据报文的完整性,以确保数据没有被篡改或损坏,并且,签名还可以验证发送端的来源身份,以确认数据的可信度,进而确保数据报文在传输和存储过程中的安全性,进一步提高通信传输的安全性。
在某些实施例中,对数据报文进行签名校验后,还会根据实际的业务需求对数据进行处理和判断以进行业务逻辑处理。
请参阅图11,在某些实施例中,数据报文还包括标识信息和时间戳,加密密钥与标识信息对应,时间戳根据数据报文的发送时间确定,数据处理方法还包括:
步骤024:基于预设的时间阈值和数据报文的接收时间,校验时间戳,以确定数据报文是否有效;
其中,在时间戳和接收时间的时间差大于时间阈值的情况下,确定数据报文无效;
在时间戳和接收时间的时间差小于时间阈值的情况下,确定数据报文有效。
具体地,预设的时间阈值可以是基于安全性要求、具体应用场景、具体业务需求等设置的时间阈值,如0.1秒(s),0.5s,1s,2s,5s,6s等预设的时间阈值。
数据报文还包括标识信息和时间戳,如发送端为客户端、接收端为平台端时,标识信息包括商户号。加密密钥与标识信息对应,通过标识信息区分接收到的数据报文,不同的数据报文对应有不同的加密密钥,那么,接收端在接收到不同的数据报文时,需要使用不同的加密密钥才能对不同的数据报文进行解密,可以提高数据的机密性、和传输的安全性。
时间戳包括根据数据报文的发送时间确定的时间戳。接收端在接收到数据报文后,根据预设的时间阈值和数据报文的接收时间,校验时间戳,以确定数据报文是否有效,在时间戳和接收时间的时间差大于时间阈值的情况下,确定数据报文无效;在时间戳和接收时间的时间差小于时间阈值的情况下,确定数据报文有效。
例如,预设的时间阈值为2s时,根据数据报文的发送时间确定的时间戳为10:00.00,接收端在时间为10:00.01时接收到数据报文,此时接收时间和发送的时间戳的时间差为1秒,小于预设的时间阈值,确定数据报文有效;假设,接收端在时间为10:00.03时接收到数据报文,此时接收时间和发送的时间戳的时间差为3秒,大于预设的时间阈值,确定数据报文无效。
需要指出的是,时间戳和接收时间的时间差等于时间阈值这一情况对本方法并不产生实质性影响。在时间戳和接收时间的时间差等于时间阈值时,可以确定数据报文为有效或者确定数据报文为无效,在实际应用本申请实施例时,可以对时间戳和接收时间的时间差等于时间阈值这一情况进行自定义设置。例如,可以设置为:在时间戳和接收时间的时间差大于或者等于时间阈值的情况下,确定数据报文无效,在时间戳和接收时间的时间差小于时间阈值的情况下,确定数据报文有效;或者,在时间戳和接收时间的时间差大于时间阈值的情况下,确定数据报文无效,在时间戳和接收时间的时间差小于或者等于时间阈值的情况下,确定数据报文有效。
请参阅图12,在某些实施例中,步骤023:基于发送端预设的签名公钥和解密数据参数,对签名参数进行签名校验,包括:
步骤0231:基于预设编码标准,对解密数据参数的所有参数键值对排序;
步骤0232:拼接排序后的签名参数的参数键值对,以得到源码串;
步骤0233:基于签名公钥、预设的签名算法及源码串,来对签名参数进行签名校验。
其中,预设的签名算法为SM2算法,基于SM2算法,生成发送端对应的预设的SM2签名公钥,如以Mpr表示签名公钥;预设编码标准可以是ASCII码。
具体地,基于预设的ASCII码编码标准,对解密数据参数的所有参数键值对排序,并将排序后的签名参数的参数键值对进行拼接,以得到源码串,基于签名公钥Mpr、预设的SM2签名算法及源码串,对签名参数进行签名校验,以确定数据是否完整、是否被篡改等,从而校验数据的完整性,确定数据报文来源的发送端的身份等。
请参阅图13,在某些实施例中,步骤022:基于预设的加密密钥,对加密数据参数进行解密,以生成解密数据参数,包括:
步骤0221:基于预设的解密算法和加密密钥,对加密数据参数进行解密,以生成解密数据参数。
其中,预设的加密算法为AES算法,基于AES算法,生成发送端对应的预设的AES加密密钥,如以Ak表示加密密钥。
具体地,基于预设的AES算法和Ak加密密钥,对数据报文中的加密数据参数进行解密,以生成解密数据参数,从而保护数据的机密性,提高通信的安全性。
请参阅图14,在某些实施例中,数据报文为编码后的报文;方法还包括:
步骤025:基于预设解码算法,对数据报文进行解码,以得到解码后的数据报文;
步骤022:基于预设的加密密钥,对加密数据参数进行解密,以生成解密数据参数,包括:
步骤0222:基于加密密钥,对解码后加密数据参数进行解密,以生成解密数据参数。
其中,预设编码算法为Base64编码算法。
具体地,基于Base64编码算法,对数据报文进行解码,以得到解码后的数据报文,再通过AES加密算法的加密密钥Ak,对基于Base64编码算法解码后的加密数据参数进行解密,以生成解密数据参数。
请参阅图15和图16,在某些实施例中,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,签名公钥包括平台公钥和客户公钥,平台公钥存储于客户端,客户公钥存储于平台端;步骤023:基于发送端预设的签名公钥和解密数据参数,对签名参数进行签名校验,包括:
步骤0234:在平台端接收数据报文的情况下,基于客户公钥,对签名参数进行签名校验;或者
步骤0235:在客户端接收数据报文的情况下,基于平台公钥,对签名参数进行签名校验。
具体地,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,如,发送数据报文的发送端为平台端时,接收数据报文的接收端为客户端;发送数据报文的发送端为客户端时,接收数据报文的接收端为平台端。
请再次参阅场景图7,平台端生成匹配预设的SM2签名算法的平台公钥Ppr、客户公钥Mpr和匹配预设的AES加密算法的加密密钥Ak,并向客户端发送包括平台公钥Ppr和加密密钥Ak的邮件,以使得客户端存储平台公钥Ppr和加密密钥Ak,平台端存储客户公钥Mpr和加密密钥Ak。
也就是说,如场景图7所示,平台端生成生成匹配预设的SM2签名算法的平台私钥Ppk、平台公钥Ppr、客户私钥Mpk、客户公钥Mpr和匹配预设的AES加密算法的加密密钥Ak,并向客户端发送包括客户私钥Mpk、平台公钥Ppr和加密密钥Ak的邮件,以使得客户端保存客户私钥Mpk、平台公钥Ppr和加密密钥Ak。
可以理解的是,签名公钥包括平台公钥Ppr和客户公钥Mpr,签名私钥包括平台私钥Ppk和客户私钥Mpk,平台公钥Ppr与平台私钥Ppk对应,客户公钥Mpr与客户私钥Mpk对应。
如此,在客户端发送数据报文、平台端接收数据报文的情况下,客户端基于客户私钥Mpk进行签名,平台端基于客户公钥Mpr进行签名校验;在平台端发送数据报文、客户端接收数据报文的情况下,平台端基于平台私钥Ppk进行签名,客户端基于平台公钥Ppr进行签名校验,使得能够有效防止数据被篡改和窃取,进而保护数据的安全性和隐私性,提高通信安全。
请参阅图17,为便于更好地实施本申请实施方式的数据传输方法,本申请实施方式还提供一种数据传输装置10。该数据传输装置10可以包括签名模块11、加密模块12和发送模块13。签名模块11用于基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;加密模块12用于基于预设的加密密钥,对待发送数据进行加密,以生成加密数据参数;发送模块13用于发送数据报文,数据报文包括签名参数和加密数据参数。
在一个实施例中,签名模块11具体还用于基于预设编码标准,对待发送数据的所有参数键值对排序;拼接排序后的参数键值对,以得到源码串;基于签名私钥和预设的签名算法,对源码串进行签名,以生成签名参数。
在一个实施例中,数据传输装置10还包括编码模块14,编码模块14用于基于预设编码算法,对数据报文进行编码;发送模块13具体还用于发送编码后的数据报文。
在一个实施例中,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,签名密钥包括平台私钥和客户私钥,平台私钥存储于平台端,客户私钥存储于客户端;签名模块11具体还用于在平台端发送数据报文的情况下,基于平台私钥,对待发送数据进行签名,以生成签名参数;或者在客户端发送数据报文的情况下,基于客户私钥,对待发送数据进行签名,以生成签名参数。
请参阅图18,为便于更好地实施本申请实施方式的数据处理方法,本申请实施方式还提供一种数据处理装置90。数据处理装置90包括接收模块91、解密模块92和校验模块93。接收模块91用于接收数据报文,数据报文包括签名参数和加密数据参数;解密模块92用于基于预设的加密密钥,对加密数据参数进行解密,以生成解密数据参数;校验模块93用于基于发送端预设的签名公钥和解密数据参数,对签名参数进行签名校验。
在一个实施例中,数据报文还包括标识信息和时间戳,加密密钥与标识信息对应,时间戳根据数据报文的发送时间确定,校验模块93具体还用于基于预设的时间阈值和数据报文的接收时间,校验时间戳,以确定数据报文是否有效;其中,在时间戳和接收时间的时间差大于时间阈值的情况下,确定数据报文无效;在时间戳和接收时间的时间差小于时间阈值的情况下,确定数据报文有效。
在一个实施例中,校验模块93具体还用于基于预设编码标准,对解密数据参数的所有参数键值对排序;拼接排序后的签名参数的参数键值对,以得到源码串;基于签名公钥、预设的签名算法及源码串,来对签名参数进行签名校验
在一个实施例中,数据报文为编码后的报文;数据处理模块90还包括解码模块94,解码模块94用于基于预设解码算法,对数据报文进行解码,以得到解码后的数据报文;解密模块92具体还用于基于加密密钥,对解码后加密数据参数进行解密,以生成解密数据参数。
在一个实施例中,发送数据报文的发送端和接收数据报文的接收端的一端为平台端,另一端为客户端,签名公钥包括平台公钥和客户公钥,平台公钥存储于客户端,客户公钥存储于平台端;校验模块93具体还用于在平台端接收数据报文的情况下,基于客户公钥,对签名参数进行签名校验;或者在客户端接收数据报文的情况下,基于平台公钥,对签名参数进行签名校验。
上文中结合附图从功能模块的角度描述了数据传输装置10和数据处理装置90,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
请参阅图19,本申请实施方式的计算机设备100包括处理器20、存储器30及计算机程序,其中,计算机程序被存储在存储器30中,并且被处理器20执行,计算机程序包括用于执行上述任一实施方式的数据传输方法或者数据处理方法的指令。
请参阅图20,本申请实施方式还提供了一种计算机可读存储介质600,其上存储有计算机程序610,计算机程序610被处理器620执行的情况下,实现上述任意一种实施方式的模型渲染方法的步骤,为了简洁,在此不再赘述。
在本说明书的描述中,参考术语“某些实施方式”、“一个例子中”、“示例地”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (12)
1.一种数据传输方法,其特征在于,包括:
基于发送端预设的签名私钥,对待发送数据进行签名,以生成签名参数;
基于预设的加密密钥,对所述待发送数据进行加密,以生成加密数据参数;
发送数据报文,所述数据报文包括所述签名参数和所述加密数据参数。
2.根据权利要求1所述的数据传输方法,其特征在于,所述数据报文还包括标识信息和时间戳,所述加密密钥与所述标识信息对应,所述时间戳根据所述数据报文的发送时间确定。
3.根据权利要求1所述的数据传输方法,其特征在于,所述基于预设的签名私钥,对待发送数据进行签名,以生成签名参数,包括:
基于预设编码标准,对所述待发送数据的所有参数键值对排序;
拼接排序后的所述参数键值对,以得到源码串;
基于所述签名私钥和预设的签名算法,对所述源码串进行签名,以生成所述签名参数。
4.根据权利要求1-3任一项所述的数据传输方法,其特征在于,还包括:
基于预设编码算法,对所述数据报文进行编码;
所述发送数据报文,包括:
发送编码后的所述数据报文。
5.根据权利要求1所述的数据传输方法,其特征在于,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,各个所述客户端的所述加密密钥均由所述平台端生成,各个所述客户端的所述加密密钥不同。
6.根据权利要求1所述的数据传输方法,其特征在于,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,所述签名私钥包括平台私钥和客户私钥,平台私钥存储于所述平台端,客户私钥存储于所述客户端;
所述基于预设的签名密钥,对待发送数据进行签名,以生成签名参数,包括:
在所述平台端发送所述数据报文的情况下,基于所述平台私钥,对待发送数据进行签名,以生成签名参数;或者
在所述客户端发送所述数据报文的情况下,基于所述客户私钥,对待发送数据进行签名,以生成签名参数。
7.一种数据处理方法,其特征在于,包括:
接收数据报文,所述数据报文包括签名参数和加密数据参数;
基于预设的加密密钥,对所述加密数据参数进行解密,以生成解密数据参数;
基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验。
8.根据权利要求7所述的数据处理方法,其特征在于,所述数据报文还包括标识信息和时间戳,所述加密密钥与所述标识信息对应,所述时间戳根据所述数据报文的发送时间确定,所述方法还包括:
基于预设的时间阈值和所述数据报文的接收时间,校验所述时间戳,以确定所述数据报文是否有效;
其中,在所述时间戳和所述接收时间的时间差大于所述时间阈值的情况下,确定所述数据报文无效;在所述时间戳和所述接收时间的时间差小于所述时间阈值的情况下,确定所述数据报文有效。
9.根据权利要求8所述的数据处理方法,其特征在于,所述基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验,包括:
基于预设编码标准,对所述解密数据参数的所有参数键值对排序;
拼接排序后的所述签名参数的参数键值对,以得到源码串;
基于所述签名公钥、预设的签名算法及所述源码串,来对所述签名参数进行签名校验。
10.根据权利要求7-9任一项所述的数据处理方法,其特征在于,所述数据报文为编码后的报文;所述方法还包括:
基于预设解码算法,对所述数据报文进行解码,以得到解码后的所述数据报文;
所述基于预设的加密密钥,对所述加密数据参数进行解密,以生成解密数据参数,包括:
基于所述加密密钥,对解码后所述加密数据参数进行解密,以生成所述解密数据参数。
11.根据权利要求7所述的数据处理方法,其特征在于,发送所述数据报文的发送端和接收所述数据报文的接收端的一端为平台端,另一端为客户端,所述签名公钥包括平台公钥和客户公钥,所述平台公钥存储于所述客户端,所述客户公钥存储于所述平台端;
所述基于发送端预设的签名公钥和所述解密数据参数,对所述签名参数进行签名校验,包括:
在所述平台端接收所述数据报文的情况下,基于所述客户公钥,对所述签名参数进行签名校验;或者
在所述客户端接收所述数据报文的情况下,基于所述平台公钥,对所述签名参数进行签名校验。
12.一种计算机设备,其特征在于,包括
处理器、存储器;及
计算机程序,其中,所述计算机程序被存储在所述存储器中,并且被所述处理器执行,所述计算机程序包括用于执行权利要求1至6任意一项所述的数据传输方法、及权利要求7至11任意一项所述的数据处理方法的指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311648993.9A CN117749909A (zh) | 2023-11-30 | 2023-11-30 | 数据传输方法、数据处理方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311648993.9A CN117749909A (zh) | 2023-11-30 | 2023-11-30 | 数据传输方法、数据处理方法和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117749909A true CN117749909A (zh) | 2024-03-22 |
Family
ID=90251847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311648993.9A Pending CN117749909A (zh) | 2023-11-30 | 2023-11-30 | 数据传输方法、数据处理方法和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749909A (zh) |
-
2023
- 2023-11-30 CN CN202311648993.9A patent/CN117749909A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2690755C (en) | System and method of per-packet keying | |
US9008312B2 (en) | System and method of creating and sending broadcast and multicast data | |
CN111245862A (zh) | 一种物联网终端数据安全接收、发送的系统 | |
EP3476078B1 (en) | Systems and methods for authenticating communications using a single message exchange and symmetric key | |
US8688996B2 (en) | Multipad encryption | |
CN108650227A (zh) | 基于数据报安全传输协议的握手方法及系统 | |
CN106357690B (zh) | 一种数据传输方法、数据发送装置及数据接收装置 | |
CN113806772A (zh) | 基于区块链的信息加密传输方法及装置 | |
CN104901935A (zh) | 一种基于cpk的双向认证及数据交互安全保护方法 | |
CN110896401A (zh) | 基于二维码的隔离网间单向数据流传输系统及方法 | |
CN113591109B (zh) | 可信执行环境与云端通信的方法及系统 | |
CN114422135A (zh) | 一种基于椭圆曲线的可验证的不经意传输方法 | |
CN114650173A (zh) | 一种加密通讯方法及系统 | |
KR20200099873A (ko) | 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템 | |
CN114928503B (zh) | 一种安全通道的实现方法及数据传输方法 | |
CN112822015B (zh) | 信息传输方法及相关装置 | |
CN210839642U (zh) | 一种物联网终端数据安全接收、发送的装置 | |
Hayden et al. | Multi-channel security through data fragmentation | |
CN117749909A (zh) | 数据传输方法、数据处理方法和计算机设备 | |
US20220069984A1 (en) | Encryption system and method employing permutation group-based cryptographic technology | |
Arora et al. | Handling Secret Key Compromise by Deriving Multiple Asymmetric Keys based on Diffie-Hellman Algorithm | |
Limniotis et al. | Cryptography threats | |
JP2014220668A (ja) | 送信側装置および受信側装置 | |
Alaidi | Enhanced a TCP security protocol by using optional fields in TCP header | |
Nguyen et al. | Developing Secure Messaging Software using Post-Quantum Cryptography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |