CN110572366A - 网络数据传输方法、装置、电子设备及存储介质 - Google Patents

网络数据传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110572366A
CN110572366A CN201910735575.0A CN201910735575A CN110572366A CN 110572366 A CN110572366 A CN 110572366A CN 201910735575 A CN201910735575 A CN 201910735575A CN 110572366 A CN110572366 A CN 110572366A
Authority
CN
China
Prior art keywords
parameters
request
encrypted
private key
data transmission
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.)
Granted
Application number
CN201910735575.0A
Other languages
English (en)
Other versions
CN110572366B (zh
Inventor
李�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201910735575.0A priority Critical patent/CN110572366B/zh
Publication of CN110572366A publication Critical patent/CN110572366A/zh
Application granted granted Critical
Publication of CN110572366B publication Critical patent/CN110572366B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络数据传输方法、装置、电子设备及存储介质,能够实现客户端与服务端之间的数据安全交互。私钥不会预先保存在客户端与服务端内,进行数据交互时,私钥是根据客户端当前的设备参数和随机参数生成的,由于随机参数的随机性,每一次生成的私钥也会不同,服务端也根据接收到的设备参数和随机参数随机生成私钥,这样能避免预先保存的私钥被窃取而造成的数据泄露的问题;并且,客户端与服务端的交互过程中,没有私钥的传递,也能进一步保证私钥的安全。

Description

网络数据传输方法、装置、电子设备及存储介质
技术领域
本发明涉及软件开发技术领域,尤其涉及网络数据传输方法、装置、电子设备及存储介质。
背景技术
客户端与服务端之间进行通信,通常是基于HTTP(HyperText TransferProtocol,超文本传输协议)。基于HTTP进行网络数据传输的过程,是由HTTP客户端发起一个网络请求,建立一个到服务端指定端口的TCP(Transmission Control Protocol,传输控制协议)连接,HTTP服务端再向HTTP客户端发回相应消息。然而这种HTTP客户端的网络请求和HTTP服务端发回的消息都是明文,该明文容易被第三方获取,难以保证数据的安全。
出于对数据安全的考虑,目前多采用HTTPS(Hypertext Transfer ProtocolSecure,超文本传输安全协议)进行网络数据传输。HTTPS就是在HTTP的基础上加入了SSL(Secure Sockets Layer,安全套接层),SSL可以验证服务端的身份,并对客户端浏览器和服务端之间的通信加密,从而增加数据传输的安全性。
但是,HTTPS方式中由于增加了SSL,就使得客户端和服务端内都需要各自保存一份相同的私钥,以分别进行加密和解密的操作。一旦客户端和服务端中任一端保存的私钥遭到泄露,任何人都可以利用该私钥对客户端请求的数据进行解密。因此,在客户端向服务端请求数据的过程中,如果客户端或者服务端保存的私钥遭到泄露,客户端发出的网络请求和接收到的数据都将会面临泄露的风险。
发明内容
本发明提供了一种网络数据传输方法、装置、电子设备及存储介质,解决目前客户端和服务端存储的私钥易泄露的问题。
第一方面,本发明提供了一种网络数据传输方法,包括:
利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数;
利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据;
利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数;
将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端;
接收服务端发回的已加密结果数据;
利用私钥对已加密结果数据进行DES解密,获得结果数据。
结合第一方面,在第一方面一种可能的实现方式中,在利用原始请求参数中的设备参数和随机参数生成私钥之前,包括:
获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求;
随机生成与网络数据传输请求指令对应的随机参数。
结合第一方面,在第一方面一种可能的实现方式中,在利用原始请求参数中的设备参数和随机参数生成私钥之前,还包括:
获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址;
生成与设备信息对应的设备参数。
结合第一方面,在第一方面一种可能的实现方式中,所述原始请求参数中还包括若干普通参数;在利用私钥对请求数据进行DES加密,获得已加密请求数据之后,包括:
利用私钥对普通参数进行DES加密,获得已加密普通参数;
将包含有已加密普通参数的网络数据传输请求发送至服务端。
结合第一方面,在第一方面一种可能的实现方式中,在利用原始请求参数中的设备参数和随机参数生成私钥之后,包括:
生成与私钥对应的标识;
将包含有标识的网络数据传输请求发送至服务端。
第二方面,本发明实施例提供了另一种网络数据传输方法,包括:
接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数;
利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数;
利用设备参数和随机参数生成私钥;
利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容;
获取与请求内容匹配的结果数据;
利用私钥对结果数据进行DES加密,获得已加密结果数据;
发送已加密结果数据至客户端。
结合第二方面,在第二方面一种可能的实现方式中,所述网络数据传输请求中还包括已加密普通参数;在利用私钥对已加密请求数据进行DES解密,获得请求数据之后,还包括:利用私钥对已加密普通参数进行DES解密,获得普通参数。
结合第二方面,在第二方面一种可能的实现方式中,所述网络数据传输请求中包括标识,所述标识用于标记所述私钥的生成方法。
第三方面,本发明实施例提供了一种网络数据传输装置,包括:
第一私钥生成模块,用于利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数;
第一加密模块,用于利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据;
第二加密模块,用于利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数;
第一发送模块,用于将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端;
第一接收模块,用于接收服务端发回的已加密结果数据;
第一解密模块,用于利用私钥对已加密结果数据进行DES解密,获得结果数据。
结合第三方面,在第三方面一种可能的实现方式中,还包括:
指令获取模块,用于获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求;
随机参数生成模块,用于随机生成与网络数据传输请求指令对应的随机参数。
结合第三方面,在第三方面一种可能的实现方式中,还包括:
信息获取模块,用于获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址;
设备参数生成模块,用于生成与设备信息对应的设备参数。
结合第三方面,在第三方面一种可能的实现方式中,所述原始请求参数中还包括若干普通参数,所述装置还包括:
第三加密模块,用于利用私钥对普通参数进行DES加密,获得已加密普通参数;
所述第一发送模块,还用于将包含有已加密普通参数的网络数据传输请求发送至服务端。
结合第三方面,在第三方面一种可能的实现方式中,还包括:
标识生成模块,用于生成与私钥对应的标识;
所述第一发送模块,还用于将包含有标识的网络数据传输请求发送至服务端。
第四方面,本发明实施例提供了另一种网络数据传输装置,包括:
第二接收模块,用于接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数;
第二解密模块,用于利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数;
第二私钥生成模块,用于利用设备参数和随机参数生成私钥;
第三解密模块,用于利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容;
结果数据获取模块,用于获取与请求内容匹配的结果数据;
第四加密模块,用于利用私钥对结果数据进行DES加密,获得已加密结果数据;
第二发送模块,用于发送已加密结果数据至客户端。
结合第四方面,在第四方面一种可能的实现方式中,所述网络数据传输请求中还包括已加密普通参数;所述装置还包括:第四解密模块,用于利用私钥对已加密普通参数进行DES解密,获得普通参数。
结合第四方面,在第四方面一种可能的实现方式中,所述第二接收模块,还用于接受网络数据传输请求中的标识,所述标识用于标记所述私钥的生成方法。
第五方面,本发明实施例提供了一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的网络数据传输方法。
第六方面,本发明实施例提供了另一种电子设备,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现第二方面所述的网络数据传输方法。
第七方面,本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,当网络数据传输装置的至少一个处理器执行所述计算机程序时,网络数据传输装置执行第一方面所述的网络数据传输方法。
第八方面,本发明实施例提供了另一种存储介质,所述存储介质中存储有计算机程序,当网络数据传输装置的至少一个处理器执行所述计算机程序时,网络数据传输装置执行第二方面所述的网络数据传输方法。
由以上技术方案可知,本发明提供的网络数据传输方法,能够实现客户端与服务端之间的数据安全交互。客户端向服务端发送数据请求之前,首先利用设备参数和随机参数生成私钥,再利用生成的私钥对请求内容进行DES加密,以及利用公钥对设备参数和随机参数进行DES加密,最后将加密后的全部内容发送给服务端。服务端利用公钥将接收到的加密设备参数和加密随机参数解密成设备参数和随机参数,再利用设备参数和随机参数生成私钥对接收到的加密请求内容解密,获得请求内容,根据请求内容获得客户端需要的数据,再用私钥将数据内容加密后发送回客户端。最后,客户端利用私钥对加密数据内容解密即可获得数据。可见,本发明中,私钥不会预先保存在客户端与服务端内,进行数据交互时的私钥都是根据当前的设备参数和随机参数各自生成的,由于随机参数的随机性,每一次生成的私钥也会不同,这样能避免预先保存的私钥被窃取而造成的数据泄露的问题;并且,客户端与服务端的交互过程中,没有私钥的传递,也能进一步保证私钥的安全。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种网络数据传输方法的流程图;
图2为本发明提供的目前的客户端与服务端之间交互的流程图;
图3为本发明实施例提供的客户端与服务端之间交互的流程图;
图4为本发明实施例提供的另一种网络数据传输方法的流程图;
图5为本发明实施例提供的电子设备硬件结构示意图。
具体实施方式
目前采用HTTPS进行网络数据传输时,其中的SSL可以验证服务端的身份,并对客户端浏览器和服务端之间的通信加密,从而增加数据传输的安全性。但是这种方式中由于增加了SSL,就使得客户端和服务端内都各自保存一份相同的私钥,以分别进行加密和解密的操作。一旦客户端和服务端中任一端保存的私钥遭到泄露,任何人都可以利用该私钥对客户端请求的数据进行解密,客户端发出的网络请求和接收到的数据都将会面临泄露的风险。为了避免客户端和服务端存储的私钥泄露,本发明中提供了一种网络数据传输方法、装置、电子设备及存储介质,客户端每进行一次网络数据传输请求,在客户端内容就会动态生成一个私钥,避免预先保存的私钥容易泄露的问题。
图1为本发明实施例提供的一种网络数据传输方法的流程图。如图1所示,本发明提供的一种网络数据传输方法,包括以下步骤:
S101,利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数。
通常网络数据传输请求是客户端发送给服务端的数据请求,在该请求中包括请求头和请求数据,在请求头中又包括原始请求参数,原始请求参数中包括设备参数、随机参数和普通参数。设备参数用于表示发出网络数据传输请求的客户端设备的型号、IP地址等信息,客户端设备不同,这个设备参数就会不同,但是对于一个客户端设备来说,其设备参数是固定不变的。随机参数是根据网络数据传输请求随机生成的,每当客户端发送一次网络数据传输请求,就会随机生成一个随机参数,本发明中利用随机参数的随机性,可每次生成不同的随机私钥,保证客户端私钥的唯一性和随机性。
在本发明实施例中,原始请求参数大约包括30多个参数,其中设备参数有若干,随机参数有若干,余下都是普通参数。
当然,在步骤S101之前,本发明的步骤还包括:
S201,获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求。
客户端通常是在接到指令的情况下,发送网络数据传输请求。当某个应用软件需要向服务器请求数据时,通常由应用软件向客户端发送数据请求指令,客户端再根据该指令,准备需要发送的请求内容。
S202,随机生成与网络数据传输请求指令对应的随机参数。每一个网络数据传输请求指令对应一个随机参数。这样能保证每一次生成的私钥都是不同的,避免私钥泄露对数据安全产生影响。
在目前的网络数据传输过程中,由于客户端和服务端中都保存了固定的私钥,每一次的数据传输结果都需要利用该固定的私钥进行加密和解密,一旦私钥泄露,任何人都可以利用该私钥窃取客户端请求的数据内容。但是本发明中客户端在每次接到网络数据传输请求指令后,才随机参数和设备参数生成私钥,保证每一次的私钥都是不相同的,即使本次的私钥泄露,其他人也无法利用该私钥窃取下一次的数据内容。
另外,本发明中的设备参数也是在生成私钥之前获取的,具体的步骤如下:
S301,获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址等。设备信息起到标记设备的作用,当某个设备上客户端向服务端请求数据之后,服务端应当知道设备的信息,才能将客户端需要的数据准确地返回给设备的客户端,设备信息应当包括可识别设备的有用信息,包括但不限于设备型号和设备IP地址。
S302,生成与设备信息对应的设备参数。
在客户端向服务端发送的请求中,每一个设备信息对应一个设备参数,例如设备型号对应的设备参数可以是7P、X27、P30等等,设备IP地址对应的设备参数可以是192.168.1.2等等。设备的IP地址是互联网为每一个设备分配的唯一的地址,设备与设备之间的IP地址不同,所以利用IP地址也可以区别设备。
值得说明的是,本发明中的设备参数的生成是在生成私钥之前,可以是客户端内预先生成的,也可以是客户端在接收到指令后再生成的,具体的设备参数生成时间本发明中并不作限制。
为了保证客户端生成的私钥与服务端生成的私钥相同,本发明中在步骤S101之后,还包括:
S401,生成与私钥对应的标识。本发明中利用一种算法生成私钥,这个算法同样在服务端使用,为了保证客户端与服务端的算法一致,在生成私钥的同时,产生一个标识,用于标记对应的算法,然后将该标识再传输到服务端,服务端根据标识就可以知道对应的算法。
S402,将包含有标识的网络数据传输请求发送至服务端。
在本发明实施例中,并不对私钥生成的算法进行限定,一般情况下,能利用几个不同参数生成一个私钥的算法,均可作为本发明中的私钥生成算法,其生成的私钥也可以被本发明实施例中的方法所使用。
S102,利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据。
请求数据的具体内容可以是客户端某个应用软件的用户名和用户密码等,获取这些数据可以帮助客户端完成对应用软件的登录验证。或者,请求数据的具体内容可以是某个应用软件需要显示的数据,比如当前软件工程师在招的职位有哪些、当前招租房屋的相关图片有哪些等等。相应的,服务端返回的结果即为用户名、用户密码、招聘软件工程师的公司或者招租房屋的具体图片信息等等。
DES(Data Encryption Standard,数据加密标准)是一种对称加密算法,使用同一个密钥进行加密和解密,在本发明实施例中客户端利用私钥对设备参数和随机参数进行加密,同理在服务端内利用相同的私钥对加密后的设备参数和随机参数进行解密。
在本发明实施例中不仅需要生成私钥,在客户端和服务端内还分别保存着相同的公钥。私钥是私有密钥,具有保密性,可根据不同的算法生成;而公钥是共开密钥,可公开发行配送。
S103,利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数。
另外,由于原始请求参数中还包括若干普通参数,该普通参数指示着网络数据传输请求中的其他数据指标,也需要发送至服务端,所有在步骤S103之后,还包括:
S501,利用私钥对普通参数进行DES加密,获得已加密普通参数。
S502,将包含有已加密普通参数的网络数据传输请求发送至服务端。
本发明实施例中的对普通参数进行加密的过程,可以在步骤S103之后,也可以在步骤S102之后,都是利用私钥分别对请求数据和普通参数进行DES加密。
在本发明实施例中,采用单独加密的方式对每个参数进行加密,例如,原始请求参数中包括参数A、B、C、D、E、F、G……,其中,A和B为设备参数,C和D为随机参数,其余的均为普通参数,那么对A、B、C和D进行DES加密后的加密参数分别为EA、EB、EC和ED,对普通参数进行DES加密后的加密参数分别为EE、EF、EG……。
S104,将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端。
结合上述步骤S401-S402以及步骤S501-S502的内容,最后发送给服务端的网络数据传输请求中还包括标识和已加密普通参数。通常网络数据传输请求是以压缩包的形式传输的。
当服务端接收到网络数据传输请求后,会解析出请求包的内容,得到原始请求参数中的已加密请求数据、已加密设备参数、已加密随机参数、标识和已加密普通数据。然后,利用与客户端相同的公钥解密出设备参数和随机参数,再利用与客户端相同的算法生成私钥,利用私钥解密出请求数据,根据请求数据查找到与之相关的结果数据,利用私钥对结果数据进行加密并传回客户端。然后客户端再根据以下步骤继续处理:
S105,接收服务端发回的已加密结果数据,这里的已加密结果数据就是在服务端加密的结果数据。
S106,利用私钥对已加密结果数据进行DES解密,获得结果数据,结果数据为与客户端发出的请求数据相对应的数据,比如,请求数据请求的是客户端某个应用软件的用户名和用户密码,那么服务端返回的结果数据就是这个应用软件的用户名和用户密码。
本发明中每一次根据网络数据传输请求生成的私钥在客户端解密返回的结果数据之后就会失效,当下一次请求发起时,再生成新的私钥。
可见,本发明提供的网络数据传输方法中,私钥不会预先保存在客户端与服务端内,进行数据交互时的私钥都是根据当前的设备参数和随机参数各自生成的,由于随机参数的随机性,每一次生成的私钥也会不同,这样能避免预先保存的私钥被窃取而造成的数据泄露的问题;并且,客户端与服务端的交互过程中,没有私钥的传递,也能进一步保证私钥的安全。
图2为本发明提供的目前的客户端与服务端之间交互的流程图。如图2所示,客户端首先利用私钥对网络数据传输请求进行加密,然后向服务端发送加密后的内容,服务端接收到加密内容后,再利用本地的私钥对其进行解密,根据请求内容获取数据,再利用私钥对数据加密,最后将加密后的数据发送回客户端。
图3为本发明实施例提供的客户端与服务端之间交互的流程图。如图3所示,本发明中,客户端首先生成私钥,利用私钥对请求数据进行加密,再利用公钥对生成私钥的设备参数和随机参数进行加密,将加密后的所有数据发送给服务端;服务端接收后,首先利用与客户端相同的公钥解密出设备参数和随机参数,再利用与客户端相同的算法生成私钥,利用私钥解密出请求数据,再获取与请求数据相对应的结果数据,利用私钥对结果数据加密后再将其发送回客户端解密。
值得说明的是,本发明实施例中的网络数据传输请求也是采用HTTPS的形式,其中SSL仅对网络数据传输请求和数据的传输通道进行验证,不负责验证请求和数据本身,也无需在进行SSL的过程利用固定的私钥进行加密和解密,而是增加了客户端与服务端自身生成的私钥保证网络数据传输请求和数据安全。
本发明中还可以使用C语言编写网络数据传输方法中所有的DES加密程序和DES解密程序,并且增加SO文件签名校验,能够加大加密数据被破解的力度,进一步保证客户端与服务端数据的安全。
图4为本发明实施例提供的另一种网络数据传输方法的流程图。该方法具体应用于服务端,如图4所示,包括:
S110,接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数。网络数据传输请求中还包括标识,所述标识用于标记所述私钥的生成方法。
S111,利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数。这里的公钥是与客户端相同的公钥。
S112,利用设备参数和随机参数生成私钥。服务端具体是根据标识确定生成私钥的算法,根据该算法,利用设备参数和随机参数生成私钥,由于服务端与客户端使用的算法相同,保证了两端生成的私钥也是相同的。进而保证了由私钥解密出的数据的准确性。
S113,利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容。
在原始参数中包括了普通参数,所以在步骤S113之后,还包括:利用私钥对已加密普通参数进行DES解密,获得普通参数。
S114,获取与请求内容匹配的结果数据。如上述步骤S102所述,请求内容可以是客户端某个应用软件的用户名和用户密码,还可以是某个应用软件需要显示的数据,那么在服务端查找到的与之匹配的结果数据即为用户名、用户密码、招聘软件工程师的公司或者招租房屋的具体图片信息等等。
S115,利用私钥对结果数据进行DES加密,获得已加密结果数据。服务端生成的私钥在服务端加密结果数据之后失效,当下一次接收到网络数据传输请求时,再重新生成。
S116,发送已加密结果数据至客户端。
本发明实施例还提供了一种网络数据传输装置,包括:第一私钥生成模块,用于利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数;第一加密模块,用于利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据;第二加密模块,用于利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数;第一发送模块,用于将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端;第一接收模块,用于接收服务端发回的已加密结果数据;第一解密模块,用于利用私钥对已加密结果数据进行DES解密,获得结果数据。
可选的,所述装置还包括:指令获取模块,用于获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求;随机参数生成模块,用于随机生成与网络数据传输请求指令对应的随机参数。
可选的,所述装置还包括:信息获取模块,用于获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址;设备参数生成模块,用于生成与设备信息对应的设备参数。
可选的,所述原始请求参数中还包括若干普通参数,所述装置还包括:第三加密模块,用于利用私钥对普通参数进行DES加密,获得已加密普通参数;所述第一发送模块,还用于将包含有已加密普通参数的网络数据传输请求发送至服务端。
可选的,所述装置还包括:标识生成模块,用于生成与私钥对应的标识;所述第一发送模块,还用于将包含有标识的网络数据传输请求发送至服务端。
本发明实施例还提供了另一种网络数据传输装置,包括:第二接收模块,用于接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数;第二解密模块,用于利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数;第二私钥生成模块,用于利用设备参数和随机参数生成私钥;第三解密模块,用于利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容;结果数据获取模块,用于获取与请求内容匹配的结果数据;第四加密模块,用于利用私钥对结果数据进行DES加密,获得已加密结果数据;第二发送模块,用于发送已加密结果数据至客户端。
可选的,所述网络数据传输请求中还包括已加密普通参数;所述装置还包括:第四解密模块,用于利用私钥对已加密普通参数进行DES解密,获得普通参数。
可选的,所述第二接收模块,还用于接受网络数据传输请求中的标识,所述标识用于标记所述私钥的生成方法。
图5为本发明实施例提供的电子设备硬件结构示意图。如图5所示,本发明实施例提供了一种电子设备,包括:存储器51,用于存储程序指令;处理器52,用于调用并执行所述存储器中的程序指令,以实现上述实施例中所述的客户端或者服务端执行的网络数据传输方法。
本发明实施例提供了一种存储介质,所述存储介质中存储有计算机程序,当网络数据传输装置的至少一个处理器执行所述计算机程序时,网络数据传输装置执行上述实施例所述的网络数据传输方法。
可见,本发明提供的网络数据传输方法、装置、电子设备及存储介质,能够实现客户端与服务端之间的数据安全交互。客户端向服务端发送数据请求之前,首先利用设备参数和随机参数生成私钥,再利用生成的私钥对请求内容进行DES加密,以及利用公钥对设备参数和随机参数进行DES加密,最后将加密后的全部内容发送给服务端。服务端利用公钥将接收到的加密设备参数和加密随机参数解密成设备参数和随机参数,再利用设备参数和随机参数生成私钥对接收到的加密请求内容解密,获得请求内容,根据请求内容获得客户端需要的数据,再用私钥将数据内容加密后发送回客户端。最后,客户端利用私钥对加密数据内容解密即可获得数据。本发明中,私钥不会预先保存在客户端与服务端内,进行数据交互时的私钥都是根据当前的设备参数和随机参数各自生成的,由于随机参数的随机性,每一次生成的私钥也会不同,这样能避免预先保存的私钥被窃取而造成的数据泄露的问题;并且,客户端与服务端的交互过程中,没有私钥的传递,也能进一步保证私钥的安全。
所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本发明实施方式并不构成对本发明保护范围的限定。

Claims (20)

1.一种网络数据传输方法,其特征在于,包括:
利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数;
利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据;
利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数;
将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端;
接收服务端发回的已加密结果数据;
利用私钥对已加密结果数据进行DES解密,获得结果数据。
2.根据权利要求1所述的方法,其特征在于,在利用原始请求参数中的设备参数和随机参数生成私钥之前,包括:
获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求;
随机生成与网络数据传输请求指令对应的随机参数。
3.根据权利要求1所述的方法,其特征在于,在利用原始请求参数中的设备参数和随机参数生成私钥之前,还包括:
获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址;
生成与设备信息对应的设备参数。
4.根据权利要求1所述的方法,其特征在于,所述原始请求参数中还包括若干普通参数;在利用私钥对请求数据进行DES加密,获得已加密请求数据之后,包括:
利用私钥对普通参数进行DES加密,获得已加密普通参数;
将包含有已加密普通参数的网络数据传输请求发送至服务端。
5.根据权利要求1所述的方法,其特征在于,在利用原始请求参数中的设备参数和随机参数生成私钥之后,包括:
生成与私钥对应的标识;
将包含有标识的网络数据传输请求发送至服务端。
6.一种网络数据传输方法,其特征在于,包括:
接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数;
利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数;
利用设备参数和随机参数生成私钥;
利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容;
获取与请求内容匹配的结果数据;
利用私钥对结果数据进行DES加密,获得已加密结果数据;
发送已加密结果数据至客户端。
7.根据权利要求6所述的方法,其特征在于,所述网络数据传输请求中还包括已加密普通参数;在利用私钥对已加密请求数据进行DES解密,获得请求数据之后,还包括:利用私钥对已加密普通参数进行DES解密,获得普通参数。
8.根据权利要求6所述的方法,其特征在于,所述网络数据传输请求中包括标识,所述标识用于标记所述私钥的生成方法。
9.一种网络数据传输装置,其特征在于,包括:
第一私钥生成模块,用于利用原始请求参数中的设备参数和随机参数生成私钥,所述原始请求参数是指网络数据传输请求中请求头内的参数;
第一加密模块,用于利用私钥对请求数据进行DES加密,获得已加密请求数据,所述请求数据包括网络数据传输请求中向服务端请求的数据;
第二加密模块,用于利用公钥对设备参数和随机参数进行DES加密,获得已加密设备参数和已加密随机参数;
第一发送模块,用于将包含已加密请求数据、已加密设备参数和已加密随机参数的网络数据传输请求发送至服务端;
第一接收模块,用于接收服务端发回的已加密结果数据;
第一解密模块,用于利用私钥对已加密结果数据进行DES解密,获得结果数据。
10.根据权利要求9所述的装置,其特征在于,还包括:
指令获取模块,用于获取网络数据传输请求指令,所述网络数据传输请求指令用于指示客户端向服务端发送一次数据请求;
随机参数生成模块,用于随机生成与网络数据传输请求指令对应的随机参数。
11.根据权利要求9所述的装置,其特征在于,还包括:
信息获取模块,用于获取设备信息,所述设备信息包括发出数据请求的客户端所在的设备型号和设备IP地址;
设备参数生成模块,用于生成与设备信息对应的设备参数。
12.根据权利要求9所述的装置,其特征在于,所述原始请求参数中还包括若干普通参数,所述装置还包括:
第三加密模块,用于利用私钥对普通参数进行DES加密,获得已加密普通参数;
所述第一发送模块,还用于将包含有已加密普通参数的网络数据传输请求发送至服务端。
13.根据权利要求9所述的装置,其特征在于,还包括:
标识生成模块,用于生成与私钥对应的标识;
所述第一发送模块,还用于将包含有标识的网络数据传输请求发送至服务端。
14.一种网络数据传输装置,其特征在于,包括:
第二接收模块,用于接收网络数据传输请求,所述网络数据传输请求中包括已加密请求数据、已加密设备参数和已加密随机参数;
第二解密模块,用于利用公钥对已加密设备参数和已加密随机参数进行DES解密,获得设备参数和随机参数;
第二私钥生成模块,用于利用设备参数和随机参数生成私钥;
第三解密模块,用于利用私钥对已加密请求数据进行DES解密,获得请求数据,所述请求数据包括客户端请求获取的数据内容;
结果数据获取模块,用于获取与请求内容匹配的结果数据;
第四加密模块,用于利用私钥对结果数据进行DES加密,获得已加密结果数据;
第二发送模块,用于发送已加密结果数据至客户端。
15.根据权利要求14所述的装置,其特征在于,所述网络数据传输请求中还包括已加密普通参数;所述装置还包括:第四解密模块,用于利用私钥对已加密普通参数进行DES解密,获得普通参数。
16.根据权利要求14所述的装置,其特征在于,所述第二接收模块,还用于接受网络数据传输请求中的标识,所述标识用于标记所述私钥的生成方法。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~5任一项所述的网络数据传输方法。
18.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求6~8任一项所述的网络数据传输方法。
19.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当网络数据传输装置的至少一个处理器执行所述计算机程序时,网络数据传输装置执行权利要求1~5任一项所述的网络数据传输方法。
20.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,当网络数据传输装置的至少一个处理器执行所述计算机程序时,网络数据传输装置执行权利要求6~8任一项所述的网络数据传输方法。
CN201910735575.0A 2019-08-09 2019-08-09 网络数据传输方法、装置、电子设备及存储介质 Active CN110572366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910735575.0A CN110572366B (zh) 2019-08-09 2019-08-09 网络数据传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910735575.0A CN110572366B (zh) 2019-08-09 2019-08-09 网络数据传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110572366A true CN110572366A (zh) 2019-12-13
CN110572366B CN110572366B (zh) 2021-08-20

Family

ID=68775047

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910735575.0A Active CN110572366B (zh) 2019-08-09 2019-08-09 网络数据传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110572366B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637836A (zh) * 2020-12-18 2021-04-09 珠海格力电器股份有限公司 一种数据处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN102333093A (zh) * 2011-09-28 2012-01-25 深圳市赛格导航科技股份有限公司 一种数据加密传输方法及系统
CN107809311A (zh) * 2017-09-30 2018-03-16 飞天诚信科技股份有限公司 一种基于标识的非对称密钥签发的方法及系统
CN108377185A (zh) * 2018-03-14 2018-08-07 四川长虹电器股份有限公司 一种物联网弱资源终端密钥安全管理方法
CN108494551A (zh) * 2018-03-16 2018-09-04 数安时代科技股份有限公司 基于协同密钥的处理方法、系统、计算机设备及存储介质
US20180278415A1 (en) * 2017-03-22 2018-09-27 Wincor Nixdorf International Gmbh System and Method to Generate Encryption Keys Based on Information of Peripheral Devices

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102025505A (zh) * 2010-12-16 2011-04-20 浪潮(北京)电子信息产业有限公司 一种基于aes算法的加密、解密方法及装置
CN102333093A (zh) * 2011-09-28 2012-01-25 深圳市赛格导航科技股份有限公司 一种数据加密传输方法及系统
US20180278415A1 (en) * 2017-03-22 2018-09-27 Wincor Nixdorf International Gmbh System and Method to Generate Encryption Keys Based on Information of Peripheral Devices
CN107809311A (zh) * 2017-09-30 2018-03-16 飞天诚信科技股份有限公司 一种基于标识的非对称密钥签发的方法及系统
CN108377185A (zh) * 2018-03-14 2018-08-07 四川长虹电器股份有限公司 一种物联网弱资源终端密钥安全管理方法
CN108494551A (zh) * 2018-03-16 2018-09-04 数安时代科技股份有限公司 基于协同密钥的处理方法、系统、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
马虹哲: "智能电网信息安全威胁及防护关键技术研究", 《信息通信》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637836A (zh) * 2020-12-18 2021-04-09 珠海格力电器股份有限公司 一种数据处理方法、装置、电子设备及存储介质
CN112637836B (zh) * 2020-12-18 2023-08-11 珠海格力电器股份有限公司 一种数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN110572366B (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN105471833B (zh) 一种安全通讯方法和装置
CN110166242B (zh) 报文传输方法及装置
CN107294937B (zh) 基于网络通信的数据传输方法、客户端及服务器
CN106790183A (zh) 登录凭证校验方法、装置
CN101860540B (zh) 一种识别网站服务合法性的方法及装置
CN107040513B (zh) 一种可信访问认证处理方法、用户终端和服务端
CN114024710B (zh) 一种数据传输方法、装置、系统及设备
JP2005102163A (ja) 機器認証システム、機器認証サーバ、端末機器、機器認証方法、機器認証プログラム、及び記憶媒体
CN110213195B (zh) 一种登录认证方法、服务器及用户终端
CN111030814A (zh) 秘钥协商方法及装置
US20170070486A1 (en) Server public key pinning by url
CN104378379A (zh) 一种数字内容加密传输方法、设备和系统
CN105262592A (zh) 一种数据交互的方法及api接口
CN105262597A (zh) 网络接入认证方法、客户终端、接入设备及认证设备
CN109684129B (zh) 数据备份恢复方法、存储介质、加密机、客户端和服务器
CN113242238A (zh) 安全通信方法、装置及系统
KR101541165B1 (ko) 모바일 메시지 암호화 방법, 이 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 및 이 방법을 저장한 다운로드 서버
CN115314313A (zh) 信息加密方法、装置、存储介质及计算机设备
CN110572366B (zh) 网络数据传输方法、装置、电子设备及存储介质
CN113783867A (zh) 一种请求认证方法及终端
CN117240453A (zh) 一种数据传输方法、装置、设备及存储介质
CN113505353A (zh) 一种认证方法、装置、设备和存储介质
CN111225001B (zh) 区块链去中心化通讯方法、电子设备及系统
CN116599719A (zh) 一种用户登录认证方法、装置、设备、存储介质
JP2009199147A (ja) 通信制御方法および通信制御プログラム

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
GR01 Patent grant
GR01 Patent grant