CN112187726A - 数据传输方法、装置、存储介质及终端 - Google Patents

数据传输方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN112187726A
CN112187726A CN202010920536.0A CN202010920536A CN112187726A CN 112187726 A CN112187726 A CN 112187726A CN 202010920536 A CN202010920536 A CN 202010920536A CN 112187726 A CN112187726 A CN 112187726A
Authority
CN
China
Prior art keywords
terminal device
data
public key
encrypted data
private key
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
Application number
CN202010920536.0A
Other languages
English (en)
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.)
Yulong Computer Telecommunication Scientific Shenzhen Co Ltd
Original Assignee
Yulong Computer Telecommunication Scientific Shenzhen 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 Yulong Computer Telecommunication Scientific Shenzhen Co Ltd filed Critical Yulong Computer Telecommunication Scientific Shenzhen Co Ltd
Priority to CN202010920536.0A priority Critical patent/CN112187726A/zh
Publication of CN112187726A publication Critical patent/CN112187726A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本申请实施例公开了一种数据传输方法、装置、存储介质及终端,属于计算机技术领域。所述方法包括:第一终端设备基于无线网络建立与第二终端设备的Socket套接字通信连接,接收来自第二终端设备通过Socket通信连接发送的第二公钥,基于第二公钥对第一原始数据进行加密处理得到第一加密数据,并将第一加密数据发送到第二终端设备,以使第二终端设备根据第二私钥对第一加密数据进行解密处理,通过非对称加密算法得到第一终端设备和第二终端设备各自对应的私钥和公钥后,基于Socket通信连接交换第一终端设备和第二终端设备各自对应的公钥,并利用对方的公钥对需要传输给对方的数据进行加密后传输,增强了终端间的数据传输通信的安全性。

Description

数据传输方法、装置、存储介质及终端
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输方法、装置、存储介质及终端。
背景技术
随着物联网时代的到来,智能终端日益普及,智能终端之间的通信方式也随之变得多样化,如:移动通信、蓝牙通信、近场通信(Near Field Communication,NFC)等,用户之间可通过各自的智能终端以数据传输的方式进行通信交互,但在相关技术中,用户在通过智能终端传输私密信息(如:个人隐私信息)时,可能会因为网络漏洞或黑客攻击等原因导致所传输的数据被盗取,使用户需要传输的数据安全性不能得到保障,且不能实现大量数据的传输。
发明内容
本申请实施例提供了一种数据传输方法、装置、存储介质及终端,可以解决相关技术中用户通过终端传输数据的安全性低的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种数据传输方法,所述方法包括:
基于无线网络建立与第二终端设备的Socket套接字通信连接;
接收来自所述第二终端设备通过所述Socket通信连接发送的第二公钥;其中,所述第二公钥和与所述第二公钥关联的第二私钥是所述第二终端设备基于非对称加密算法生成;
基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,以使所述第二终端设备根据所述第二私钥对所述第一加密数据进行解密处理。
第二方面,本申请实施例提供了一种数据传输方法,所述方法包括:
基于无线网络建立与第一终端设备的Socket套接字通信连接;
基于非对称加密算法生成第二公钥和与所述第二公钥关联的第二私钥;
通过所述Socket通信连接向所述第一终端设备发送所述第二公钥;
接收来自所述第一终端设备发送第一加密数据,并基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据。
第三方面,本申请实施例提供了一种数据传输装置,所述装置包括:
连接模块,用于基于无线网络建立与第二终端设备的Socket套接字通信连接;
接收模块,用于接收来自所述第二终端设备通过所述Socket通信连接发送的第二公钥;其中,所述第二公钥和与所述第二公钥关联的第二私钥是所述第二终端设备基于非对称加密算法生成;
处理模块,用于基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,以使所述第二终端设备根据所述第二私钥对所述第一加密数据进行解密处理。
第四方面,本申请实施例提供了一种数据传输装置,所述装置包括:
连接模块,用于基于无线网络建立与第一终端设备的Socket套接字通信连接;
生成模块,用于基于非对称加密算法生成第二公钥和与所述第二公钥关联的第二私钥;
发送模块,用于通过所述Socket通信连接向所述第一终端设备发送所述第二公钥;
处理模块,用于接收来自所述第一终端设备发送第一加密数据,并基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据。
第五方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第六方面,本申请实施例提供一种终端,包括:处理器、存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请实施例的方案在执行时,第一终端设备基于无线网络建立与第二终端设备的Socket套接字通信连接,接收来自第二终端设备通过Socket通信连接发送的第二公钥,基于第二公钥对第一原始数据进行加密处理得到第一加密数据,并将第一加密数据发送到第二终端设备,以使第二终端设备根据第二私钥对第一加密数据进行解密处理,通过非对称加密算法得到第一终端设备和第二终端设备各自对应的私钥和公钥后,基于Socket通信连接交换第一终端设备和第二终端设备各自对应的公钥,并利用对方的公钥对需要传输给对方的数据进行加密后传输,增强了终端间的数据传输通信的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据传输的系统架构示意图;
图2是本申请实施例提供的一种数据传输方法的流程示意图;
图3是本申请实施例提供的一种数据传输方法的另一流程示意图;
图4是本申请实施例提供的一种数据传输方法的另一流程示意图;
图5是本申请实施例提供的一种数据传输方法的另一流程示意图;
图6是本申请实施例提供的一种数据传输装置示意图;
图7是本申请实施例提供的一种数据传输装置示意图;
图8是本申请实施例提供的一种数据传输装置示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参见图1,其示出了本申请实施例提供的一种数据传输的系统架构示意图,包括第一终端设备101、第二终端设备102和服务器103。
第一终端设备101可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、便携式计算机和台式计算机等等。第一终端设备101可以是硬件,也可以是软件。当第一终端设备101为软件时,可以是安装于上述所列举的电子设备中,其可以实现呈多个软件或软件模块,也可以实现成单个软件或软件模块,在此不作具体限定。当第一终端设备101为硬件时,其上还可以安装有显示设备,显示设备显示可以是各种能实现显示功能的设备,如:显示设备可以是阴极射线管显示器(Cathode ray tubedisplay,简称CR)、发光二极管显示器(Light-emitting diode display,简称LED)、电子墨水屏、液晶显示屏(Liquidcrystal display,简称LCD)、等离子显示面板(Plasma displaypanel,简称PDP)等。用户可以利用第一终端设备101上的显示设备,与第二终端设备102建立通信连接,并通过通信连接传输数据实现与第二终端设备102的通信交互。
第二终端设备102可以是与第一终端设备101类似的终端设备,也可以是内置有无线保真(WIreless FIdelity,WiFi)模块的智能硬件设备,如:追踪器、智能手表等。第二终端设备102可为第一终端设备103提供WiFi信号,在第一终端设备103注册到第二终端设备提供的WiFi网络后,第一终端设备101和第二终端设备102建立套接字(Socket)通信连接,在基于RSA算法对需要传输的数据进行非对称加密处理后,可通过该Socket通信连接进行数据传输,以增强数据传输的安全性,同时也能实现双向的大数据传输。
服务器103可以是硬件,也可以是软件。当服务器103为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器103为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
应理解,图1中的第一终端设备、第二终端设备和服务器的数目仅是示意性的。根据现实需要,可以是任意数量的第一终端设备、第二终端设备和服务器。
下面将结合附图2至图5,对本申请实施例提供的数据传输方法进行详细介绍。
请参见图2,为本申请实施例提供了一种数据传输方法的流程示意图。本实施例以一种数据传输方法应用于终端(第一终端设备)来举例说明,该数据传输方法可以包括以下步骤:
S201,基于无线网络建立与第二终端设备的Socket套接字通信连接。
其中,Socket套接字是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,并与处于同一网络中的其他应用程序进行通信,也即套接字与同一个域中的套接字交换数据,各种进程使用这个相同的域互相之间用Internet因特网协议簇来进行通信。Socket是支持传输控制协议/网际协议(TransmissionControl Protocol/Internet Protocol,TCP/IP)的路通信的基本操作单元,可以将套接字看作不同主机(终端)间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。本申请实施例的执行主体为第一终端设备,第二终端设备与第一终端设备相对应,是与第一终端设备进行通信交互的另一终端设备,第二终端设备内置有WiFi模块,可为第一终端设备提供WiFi网络服务。
一般的,第一终端设备与第二终端设备建立Socket通信连接之前,需要建立无线网络连接,第二终端设备可为第一终端设备提供无线网络服务。用户对第一终端设备进行网络设置后,如:打开网络连接开关,第一终端设备会开始搜索周围的无线网络,包括对目标无线网络的搜索,目标无线网络是指由第二终端设备提供的无线网络,在用户根据当前搜索到的无线网络及第二终端设备可提供的无线网络的名称,选取目标无线网络,并输入与该目标无线网络对应的预设连接密码,第一终端设备将响应于用户针对目标无线网络的连接操作,建立无线网络连接,第一终端设备会基于无线网络连接建立与第二终端设备的Socket通信连接。
其中,Socket主要有两种操作方式:面向连接的(流Socket)和无连接的(数据报Socket)。面向连接的Socket操作必须建立一个连接和一个呼叫,所有数据包的到达顺序和发出顺序一致,使用TCP协议,此时Socket必须在发送数据之前与目的地的Socket取得连接,安全性较高;面向无连接的Socket操作中一个数据报是一个独立的单元,它包含了本次投递的所有信息,数据包到达顺序和发出顺序不保证一致,但安全性较差。本申请实施例中可采用面向连接的Socket操作,也可采用面向无连接的Socket操作,在大多数情况下采用的是面向连接的Socket操作的Socket通信连接。
在采用面向连接的Socket操作时,应用层通过传输层进行数据通信,TCP连接会遇到同时为多个应用程序进程提供并发服务的问题,多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为区别不同的应用程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提供了Socket接口,应用层和传输层可通过Socket接口区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。建立Socket通信连接至少需要一对套接字,其中一个运行于客户端(第一终端设备/第二终端设备),称为客户端套接字ClientSocket;另一个运行于服务器端(第一终端设备/第二终端设备),称为服务端套接字ServerSocket。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。由此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
S202,接收来自第二终端设备通过Socket通信连接发送的第二公钥。
其中,第二公钥和与第二公钥关联的第二私钥是第二终端设备基于非对称加密算法生成,第一公钥和与第一公钥关联的第一私钥是第一终端设备基于非对称加密算法生成;第一终端设备可基于第二公钥对需要传输给第二终端设备的数据进行加密保护,对应地,第二终端设备也可基于第二私钥对接收到的由第一终端设备发送的加密数据进行解密处理;第二终端设备可基于第一公钥对需要传输给第一终端设备的数据进行加密保护,对应地,第一终端设备也可基于第一私钥对接收到的由第二终端设备发送的加密数据进行解密处理;同时,第二终端设备也可利用其的第二私钥对期望传输给第一终端设备的原始数据进行签名处理得到签名数据,对应地,第一终端设备可基于自己的第一公钥对第二终端设备发送的签名数据进行验证;第一终端设备也可利用其的第一私钥对期望传输给第二终端设备的原始数据进行签名处理得到签名数据,对应地,第二终端设备可基于自己的第二公钥对第一终端设备发送的签名数据进行验证,由此可防止传输的数据被篡改。
一般的,通过非对称加密算法可生成两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥);公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;由于加密和解密使用的是两个不同的密钥,故称为非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方在回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验证签名。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
S203,基于第二公钥对第一原始数据进行加密处理得到第一加密数据,并将第一加密数据发送到第二终端设备,以使第二终端设备根据第二私钥对第一加密数据进行解密处理。
其中,第一原始数据是指第一终端设备期望传输给第二终端设备的数据,也即在通过Socket通信连接传输之前的未进行加密的数据;第一加密数据与第一原始数据对应,是指第一原始数据经过非对称加密处理后得到的数据,也即第一终端设备利用第二终端设备的第二公钥对第一原始数据进行加密处理后得到的数据。第二私钥是指第二终端设备基于非对称加密算法生成的,同时生成的还有第二公钥。
一般的,基于非对称加密算法第一终端设备可生成对应的第一公钥和第一私钥,第一终端设备会将第一私钥存储于其内部的存储器中;基于非对称加密算法第二终端设备可生成对应的第二公钥和第二私钥,第二终端设备会将第二私钥存储于其内部的存储器中。在第一终端设备与第二终端设备建立Socket通信连接后,第一终端设备和第二终端设备可基于Socket通信连接交换彼此的公钥,也即第一终端设备通过Socket通信连接将第一公钥发送给第二终端设备,第二终端设备通过Socket通信连接将第二公钥发送给第一终端设备。第一终端设备可利用第二终端设备的第二公钥对第一终端设备需要传输给第二终端设备的第一原始数据进行加密处理得到加密后的第一加密数据,进而第一终端设备可通过Socket通信连接将该第一加密数据发送给第二终端设备,第二终端设备则可利用自己的第二私钥对该第一加密数据进行解密处理得到对应的解密数据,也即得到第一终端设备期望通过Socket通信连接传输给第二终端设备的第一原始数据。而在终端设备(第一终端设备、第二终端设备)重新建立Socket通信连接时,会将先前生成的RSA密钥对(如:第一终端设备的第一公钥和第一私钥,第二终端设备的第二公钥和第二私钥)废弃和/或删除,并重新生成新的RSA密钥对,基于新的RSA密钥对对需要传输的数据进行加密,以保证RSA密钥对的安全性。
由上述内容可知,本方案提供数据传输方法,第一终端设备基于无线网络建立与第二终端设备的Socket套接字通信连接,接收来自第二终端设备通过Socket通信连接发送的第二公钥,基于第二公钥对第一原始数据进行加密处理得到第一加密数据,并将第一加密数据发送到第二终端设备,以使第二终端设备根据第二私钥对第一加密数据进行解密处理,通过非对称加密算法得到第一终端设备和第二终端设备各自对应的私钥和公钥后,基于Socket通信连接交换第一终端设备和第二终端设备各自对应的公钥,并利用对方的公钥对需要传输给对方的数据进行加密后传输,增强了终端间的数据传输通信的安全性。
请参见图3,为本申请实施例提供了一种数据传输方法的另一流程示意图。本实施例以一种数据传输方法应用于终端(第一终端设备)中来举例说明。该数据传输方法可以包括以下步骤:
S301,搜索目标无线网络。
其中,目标无线网络是指第二终端设备可提供的无线网络,也即目标无线网络是由内置有WiFi模块的第二终端设备提供的WiFi网络,或由内置有SIM卡模块的第二终端设备提供的WiFi热点,WiFi热点是由第二终端设备将接收的蜂窝网络信号转换为WiFi网络信号后发出的。
一般的,为使第一终端设备和第二终端设备能建立Socket通信连接,需要时第一终端设备和第二终端设备连接到同一网络,第二终端设备可为第一终端设备提供无线网络信号,在用户对第一终端设备进行网络设置后,如:打开网络连接开关,第一终端设备会开始搜索周围的无线网络,包括对目标无线网络的搜索,在第二终端设备开启无线网络信号时,第一终端设备将对应搜索到该无线网络信号。
S302,响应于用户针对目标无线网络的连接操作,建立无线网络连接。
一般的,第二终端设备能为第一终端设备提供无线网络信号,第一终端设备可根据历史无线网络连接记录,或基于用户对无线网络的连接操作(用户基于所搜索到的无线网络的名称确定目标无线网络,并输入与该目标无线网络对应的预设连接密码),连接上第二终端设备提供的无线网络,也即使第一终端设备和第二终端设备连接上同一无线网络。
S303,基于无线网络连接建立与第二终端设备的Socket通信连接。
具体地,请参见S201步骤,此处不再赘述。
S304,基于非对称加密算法生成第一公钥和第一私钥。
其中,第一公钥和与第一公钥关联的第一私钥是第一终端设备通过非对称加密算法生成的一对密钥,第一终端设备可将第一公钥通过Socket通信连接发送给第二终端设备,使第二终端设备可基于该第一公钥对需要传输给第一终端设备的数据进行加密处理,并将经过第一公钥加密处理后的数据通过Socket通信连接传输给第一终端设备,第一终端设备可基于自己的第一私钥对该加密数据进行解密处理得到第二终端设备期望传输的原始数据。
一般的,通过非对称加密算法可生成两个密钥:公开密钥(公钥)和私有密钥(私钥);公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;由于加密和解密使用的是两个不同的密钥,故称为非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方在回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验证签名。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
S305,通过Socket通信连接将第一公钥发送到第二终端设备。
一般的,在第一终端设备与第二终端设备建立Socket通信连接后,第一终端设备与第二终端设备可通过该Socket通信连接交互彼此的公钥,也即第一终端设备将自己的第一公钥通过Socket通信连接发送给第二终端设备,第二终端设备将自己的第二公钥通过Socket通信连接发送给第一终端设备。
S306,接收来自第二终端设备通过Socket通信连接发送的第二公钥。
一般的,第二公钥和与第二公钥关联的第二私钥是第二终端设备通过非对称加密算法生成的一对密钥,第二终端设备可将第二公钥通过Socket通信连接发送给第一终端设备,使第一终端设备可基于该第二公钥对需要传输给第二终端设备的数据进行加密处理,并将经过第二公钥加密处理后的数据通过Socket通信连接传输给第二终端设备,第二终端设备可基于自己的第二私钥对该加密数据进行解密处理得到第一终端设备期望传输的原始数据。
S307,基于第一私钥对第一原始数据进行加密处理得到第一签名数据。
其中,第一原始数据是指第一终端设备准备传输的数据,也即在通过Socket通信连接传输之前的未进行加密的数据;第一签名数据是指第一终端设备通过自己的第一私钥对第一原始数据进行签名处理后得到的与第一原始数据相关的签名数据,对第一原始数据进行签名处理能防止数据被篡改。
S308,基于第二公钥对第一原始数据进行加密处理得到第一加密数据。
其中,第一加密数据与第一原始数据对应,是指第一原始数据经过非对称加密处理后得到的数据。第二公钥是指第二终端设备基于非对称加密算法生成的,同时生成的还有第二私钥,第一终端设备可通过Socket通信连接获取由第二终端设备发送的第二公钥。
S309,将第一签名数据和第一加密数据进行关联后发送到第二终端设备。
一般的,第一签名数据是第一终端设备基于第一私钥对第一原始数据进行签名处理后得到的签名数据,第一加密数据是第一终端设备基于第二终端设备的第二公钥对第一原始数据进行加密处理后得到的加密数据,第一终端设备在准备通过Socket通信连接将第一加密数据发送给第二终端设备的同时,也会将第一签名数据与第一加密数据关联后一起发送给第二终端设备,防止第一加密数据被泄露和/或篡改,保证传输数据的安全性。在第二终端设备接收到由第一终端设备发送的第一签名数据和第一加密数据后,会先利用自己的第二公钥对第一签名数据进行身份验证,在确定该第一签名数据的身份信息与第一加密数据一致时,则表明第一加密数据在传输时未被篡改,进而第二终端设备可基于第二私钥对第一加密数据进行解密处理得到第一终端设备期望传输的原始数据。
S310,接收由第二终端设备发送的第二加密数据。
其中,第二加密数据是指第二终端设备对期望发送给第一终端设备的原始数据经加密处理后得到的数据,第二加密数据由第二终端设备基于第一终端设备的第一公钥加密得到。
一般的,第二终端设备在接收到由第一终端设备发送的第一加密数据和第一签名数据后,将通过自己的第二公钥对第一签名数据进行身份验证,在确定身份合法后,基于自己的第二私钥对第一加密数据进行解密处理得到第一原始数据,并解析该第一原始数据,基于解析后的第一原始数据生成第二原始数据,该第二原始数据是基于第一原始数据生成的,该第二原始数据可以是针对第一原始数据的回复数据,也可以是第二终端设备主动发送给第一终端设备的交互数据。进而第二终端设备将基于自己的第二私钥对第二原始数据进行加密处理得到第二签名数据,并基于第一终端设备的第一公钥对第二原始数据进行加密处理得到第二加密数据,将第二签名数据和第二加密数据进行关联后发送到第一终端设备,以使第一终端设备可根据第一私钥对第二加密数据进行解密处理。
S311,基于第一私钥对第二加密数据进行解密处理得到第二原始数据。
其中,第二原始数据与第二加密数据对应,第二原始数据是第二加密数据处于未加密状态的数据,也即第二终端设备期望发送给第一终端设备的数据。
一般的,第二终端设备在得到第一终端设备发送的第一原始数据后,第二终端设备会解析该第一原始数据并由此生成对应的第二原始数据,和/或使用该第二终端设备的用户会基于该第一原始数据进行相应的回应处理,对应生成第二原始数据,第二终端设备会利用第一终端设备的第一公钥对第二原始数据进行相应的非对称加密处理后得到第二加密数据,并将第二加密数据发送给第一终端设备,第一终端设备可利用自己的第一私钥对其进行解密处理,进而可得到第二终端设备期望第一终端设备接收到的原始数据,由此实现第一终端设备与第二终端设备间的通信交互,通信交互的内容数据不局限于文字、图片、视频、音频等形式。其中,第一终端设备对第二加密数据进行解密之前还可对第二加密数据关联的第二签名数据进行身份验证处理,以确定第二加密数据在传输过程中是否被篡改。
由上述内容可知,本方案提供的数据传输方法,第一终端设备搜索目标无线网络,响应于用户针对目标无线网络的连接操作,建立无线网络连接,基于无线网络连接建立与第二终端设备的Socket通信连接,基于非对称加密算法生成第一公钥和第一私钥,通过Socket通信连接将第一公钥发送到第二终端设备,接收来自第二终端设备通过Socket通信连接发送的第二公钥,基于第一私钥对第一原始数据进行加密处理得到第一签名数据,基于第二公钥对第一原始数据进行加密处理得到第一加密数据,将第一签名数据和第一加密数据进行关联后发送到第二终端设备,接收由第二终端设备发送的第二加密数据,基于第一私钥对第二加密数据进行解密处理得到第二原始数据,通过对需要传输的数据进行非对称加密处理(对数据进行签名处理和加密处理),并通过Socket通信连接对非对称加密处理后的数据进行传输,有效增强了数据传输的安全性,防止传输的数据遭到泄露或篡改,同时基于无线网络的Socket通信连接也能实现大数据的保密传输。
请参见图4,为本申请实施例提供了一种数据传输方法的流程示意图。本实施例以一种数据传输方法应用于终端(第二终端设备)来举例说明,该数据传输方法可以包括以下步骤:
S401,基于无线网络建立与第一终端设备的Socket套接字通信连接。
其中,Socket套接字是一种抽象层,应用程序通过它来发送和接收数据,使用Socket可以将应用程序添加到网络中,并与处于同一网络中的其他应用程序进行通信,也即套接字与同一个域中的套接字交换数据,各种进程使用这个相同的域互相之间用Internet因特网协议簇来进行通信。Socket是支持传输控制协议/网际协议的路通信的基本操作单元,可以将套接字看作不同主机(终端)间的进程进行双间通信的端点,它构成了单个主机内及整个网络间的编程界面。本申请实施例的执行主体为第二终端设备,第一终端设备与第二终端设备相对应,是与第二终端设备进行通信交互的另一终端设备,第二终端设备内置有WiFi模块,可为第一终端设备提供WiFi网络服务。
一般的,第一终端设备与第二终端设备建立Socket通信连接之前,需要建立无线网络连接,第二终端设备可为第一终端设备提供无线网络服务,用户可可通过开启第二终端设备的无线网络信号,以使第一终端设备能搜索到该无线网络信号。用户对第一终端设备进行网络设置后,如:打开网络连接开关,第一终端设备会开始搜索周围的无线网络,包括对目标无线网络的搜索,目标无线网络是指由第二终端设备提供的无线网络,在用户根据当前搜索到的无线网络及第二终端设备可提供的无线网络的名称,选取目标无线网络,并输入与该目标无线网络对应的预设连接密码,第一终端设备将响应于用户针对目标无线网络的连接操作,建立无线网络连接,第一终端设备会基于无线网络连接建立与第二终端设备的Socket通信连接。
其中,Socket主要有两种操作方式:面向连接的(流Socket)和无连接的(数据报Socket)。面向连接的Socket操作必须建立一个连接和一个呼叫,所有数据包的到达顺序和发出顺序一致,使用TCP协议,此时Socket必须在发送数据之前与目的地的Socket取得连接,安全性较高;面向无连接的Socket操作中一个数据报是一个独立的单元,它包含了本次投递的所有信息,数据包到达顺序和发出顺序不保证一致,但安全性较差。本申请实施例中可采用面向连接的Socket操作,也可采用面向无连接的Socket操作,在大多数情况下采用的是面向连接的Socket操作的Socket通信连接。
在采用面向连接的Socket操作时,应用层通过传输层进行数据通信,TCP连接会遇到同时为多个应用程序进程提供并发服务的问题,多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为区别不同的应用程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提供了Socket接口,应用层和传输层可通过Socket接口区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。建立Socket通信连接至少需要一对套接字,其中一个运行于客户端(第一终端设备/第二终端设备),称为客户端套接字ClientSocket;另一个运行于服务器端(第一终端设备/第二终端设备),称为服务端套接字ServerSocket。
套接字之间的连接过程分为三个步骤:服务器监听,客户端请求,连接确认。服务器监听:服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态,等待客户端的连接请求。客户端请求:指客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。由此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,双方就正式建立连接。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
S402,基于非对称加密算法生成第二公钥和与第二公钥关联的第二私钥。
其中,第二公钥和与第二公钥关联的第二私钥是第二终端设备基于非对称加密算法生成,第二私钥存储与第二终端设备内部的存储器中;第一公钥和与第一公钥关联的第一私钥是第一终端设备基于非对称加密算法生成,第一私钥存储与第一终端设备内部的存储器中;第一终端设备可基于第二公钥对需要传输给第二终端设备的数据进行加密保护,对应地,第二终端设备也可基于第二私钥对接收到的由第一终端设备发送的加密数据进行解密处理;第二终端设备可基于第一公钥对需要传输给第一终端设备的数据进行加密保护,对应地,第一终端设备也可基于第一私钥对接收到的由第二终端设备发送的加密数据进行解密处理;同时,第二终端设备也可利用其的第二私钥对期望传输给第一终端设备的原始数据进行签名处理得到签名数据,对应地,第一终端设备可基于自己的第一公钥对第二终端设备发送的签名数据进行验证;第一终端设备也可利用其的第一私钥对期望传输给第二终端设备的原始数据进行签名处理得到签名数据,对应地,第二终端设备可基于自己的第二公钥对第一终端设备发送的签名数据进行验证,由此可防止传输的数据被篡改。而在终端设备(第一终端设备、第二终端设备)重新建立Socket通信连接时,会将先前生成的RSA密钥对(如:第一终端设备的第一公钥和第一私钥,第二终端设备的第二公钥和第二私钥)废弃和/或删除,并重新生成新的RSA密钥对,基于新的RSA密钥对对需要传输的数据进行加密,以保证RSA密钥对的安全性。
一般的,通过非对称加密算法可生成两个密钥:公开密钥(公钥)和私有密钥(私钥);公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;由于加密和解密使用的是两个不同的密钥,故称为非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方在回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验证签名。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
S403,通过Socket通信连接向第一终端设备发送第二公钥。
一般的,第二终端设备通过Socket通信连接可将自己的第二公钥发送给第一终端设备,使第一终端设备可基于该第二公钥对期望传输给第二终端设备的数据进行加密处理。同时,第一终端设备也可通过Socket通信连接将自己的第一公钥发送给第二终端设备,使第二终端设备可基于该第一公钥对期望传输给第一终端设备的数据进行加密处理。
S404,接收来自第一终端设备发送第一加密数据,并基于第二私钥对第一加密数据进行解密处理得到第一原始数据。
其中,第一原始数据是指第一终端设备期望传输给第二终端设备的数据,也即在通过Socket通信连接传输之前的未进行加密的数据;第一加密数据与第一原始数据对应,是指第一原始数据经过非对称加密处理后得到的数据,也即第一终端设备利用第二终端设备的第二公钥对第一原始数据进行加密处理后得到的数据。
一般的,第二终端设备在接收到来自第一终端设备发送第一加密数据后,第二终端设备可利用自己的第二私钥对该第一加密数据进行解密处理得到对应的解密数据,也即得到第一终端设备期望通过Socket通信连接传输给第二终端设备的第一原始数据。
由上述内容可知,本方案提供数据传输方法,第二终端设备基于无线网络建立与第一终端设备的Socket套接字通信连接,基于非对称加密算法生成第二公钥和与第二公钥关联的第二私钥,通过Socket通信连接向第一终端设备发送第二公钥,接收来自第一终端设备发送第一加密数据,并基于第二私钥对第一加密数据进行解密处理得到第一原始数据,通过非对称加密算法得到第一终端设备和第二终端设备各自对应的私钥和公钥后,基于Socket通信连接交换第一终端设备和第二终端设备各自对应的公钥,并利用对方的公钥对需要传输给对方的数据进行加密后传输,增强了终端间的数据传输通信的安全性。
请参见图5,为本申请实施例提供了一种数据传输方法的另一流程示意图。本实施例以一种数据传输方法应用于终端(第二终端设备)中来举例说明。该数据传输方法可以包括以下步骤:
S501,基于无线网络建立与第一终端设备的Socket套接字通信连接。
具体地,请参见S401步骤,此处不再赘述。
S502,接收来自第一终端设备通过Socket通信连接发送的第一公钥。
一般的,在第一终端设备与第二终端设备建立Socket通信连接后,第一终端设备与第二终端设备可通过该Socket通信连接交互彼此的公钥,也即第一终端设备将自己的第一公钥通过Socket通信连接发送给第二终端设备,第二终端设备将自己的第二公钥通过Socket通信连接发送给第一终端设备。
S503,基于非对称加密算法生成第二公钥和与第二公钥关联的第二私钥。
其中,第二公钥和与第二公钥关联的第二私钥是第二终端设备基于非对称加密算法生成,第一公钥和与第一公钥关联的第一私钥是第一终端设备基于非对称加密算法生成;第一终端设备可基于第二公钥对需要传输给第二终端设备的数据进行加密保护,对应地,第二终端设备也可基于第二私钥对接收到的由第一终端设备发送的加密数据进行解密处理;第二终端设备可基于第一公钥对需要传输给第一终端设备的数据进行加密保护,对应地,第一终端设备也可基于第一私钥对接收到的由第二终端设备发送的加密数据进行解密处理;同时,第二终端设备也可利用其的第二私钥对期望传输给第一终端设备的原始数据进行签名处理得到签名数据,对应地,第一终端设备可基于自己的第一公钥对第二终端设备发送的签名数据进行验证;第一终端设备也可利用其的第一私钥对期望传输给第二终端设备的原始数据进行签名处理得到签名数据,对应地,第二终端设备可基于自己的第二公钥对第一终端设备发送的签名数据进行验证,由此可防止传输的数据被篡改。
一般的,通过非对称加密算法可生成两个密钥:公开密钥(publickey:简称公钥)和私有密钥(privatekey:简称私钥);公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密;由于加密和解密使用的是两个不同的密钥,故称为非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将公钥公开,需要向甲方发送信息的其他角色(乙方)使用该密钥(甲方的公钥)对机密信息进行加密后再发送给甲方;甲方再用自己私钥对加密后的信息进行解密。甲方在回复乙方时正好相反,使用乙方的公钥对数据进行加密,同理乙方使用自己的私钥来进行解密。另一方面,甲方可以使用自己的私钥对机密信息进行签名后再发送给乙方;乙方再用甲方的公钥对甲方发送回来的数据进行验证签名。非对称加密算法的保密性比较好,它消除了最终用户交换密钥的需要。
S504,通过Socket通信连接向第一终端设备发送第二公钥。
一般的,第二终端设备通过Socket通信连接可将自己的第二公钥发送给第一终端设备,使第一终端设备可基于该第二公钥对期望传输给第二终端设备的数据进行加密处理。同时,第一终端设备也可通过Socket通信连接将自己的第一公钥发送给第二终端设备,使第二终端设备可基于该第一公钥对期望传输给第一终端设备的数据进行加密处理。
S505,接收来自第一终端设备发送第一加密数据,并基于第二公钥对第一加密数据关联的第一签名数据进行解密处理得到身份信息。
其中,第一加密数据与第一原始数据对应,是指第一原始数据经过非对称加密处理后得到的数据,也即第一终端设备利用第二终端设备的第二公钥对第一原始数据进行加密处理后得到的数据,第一原始数据是指第一终端设备期望传输给第二终端设备的数据,也即在通过Socket通信连接传输之前的未进行加密的数据。第一签名数据是指第一终端设备通过自己的第一私钥对第一原始数据进行签名处理后得到的与第一原始数据相关的签名数据,对第一原始数据进行签名处理能防止数据被篡改。
一般的,第二终端设备在接收到来自第一终端设备发送第一加密数据后,接收来自第一终端设备发送第一加密数据,并基于第二公钥对第一加密数据关联的第一签名数据进行解密处理得到身份信息,第一签名数据是第一终端设备利用其的第一私钥进行签名加密处理后得到的签名数据,在第二终端设备的第二公钥传输给第一终端设备的过程中,可能会存在密钥泄露的问题,进而导致第一加密数据在传输过程中可能会存在被截获并被伪造其内容,但与第一加密数据关联的第一签名数据是基于第一终端设备的第一私钥进行签名处理得到的,故该第一签名数据是无法被伪造的。在第二终端设备利用其的第二公钥对第一签名数据进行解密处理得到对应的身份信息,在验证其身份信息与第一加密数据一致时,表明第一加密数据在传输过程中未被篡改。
S506,在确认身份信息合法时,基于第二私钥对第一加密数据进行解密处理得到第一原始数据。
其中,第一原始数据是指第一终端设备期望传输给第二终端设备的数据,也即在通过Socket通信连接传输之前的未进行加密的数据。
一般的,第一加密数据关联有与其对应的第一签名数据,第一签名数据用于验证第一加密数据字啊传输过程中是否被篡改,在确定第一签名数据的身份信息合法时,也即第一签名数据的身份信息与第一加密数据一致,则表明第一加密数据在传输过程中未被篡改,进而第二终端设备可利用自己的第二私钥对第一加密数据进行解密处理以得到第一终端设备期望传输给第二终端设备的原始数据。
S507,解析第一原始数据,基于解析后的第一原始数据生成第二原始数据。
其中,第二原始数据与第二加密数据对应,第二原始数据是第二加密数据处于未加密状态的数据,也即第二终端设备期望发送给第一终端设备的数据,也即在通过Socket通信连接传输之前的未进行加密的数据。
一般的,第二终端设备在得到第一终端设备发送的第一原始数据后,第二终端设备会解析该第一原始数据并由此生成对应的第二原始数据,和/或使用该第二终端设备的用户会基于该第一原始数据进行相应的回应处理,并对应生成第二原始数据,并将得到的第二原始数据进行相应的非对称加密处理后发送给第一终端设备,由此实现第一终端设备与第二终端设备间的通信交互,通信交互的内容数据不局限于文字、图片、视频、音频等形式。
S508,基于第二私钥对第二原始数据进行加密处理得到第二签名数据。
其中,第二签名数据是指第二终端设备通过自己的第二私钥对第二原始数据进行签名处理后得到的与第二原始数据相关的签名数据,对第二原始数据进行签名处理能防止数据被篡改。第二私钥是指第二终端设备基于非对称加密算法生成的,同时生成的还有第二公钥。
S509,基于第一公钥对第二原始数据进行加密处理得到第二加密数据。
其中,第二加密数据与第二原始数据对应,是指第二原始数据经过非对称加密处理后得到的数据。第一公钥是指第一终端设备基于非对称加密算法生成的,同时生成的还有第一私钥,第二终端设备可通过Socket通信连接获取由第一终端设备发送的第一公钥。
S510,将第二签名数据和第二加密数据进行关联后发送到第一终端设备,以使第一终端设备根据第一私钥对第二加密数据进行解密处理。
一般的,第二签名数据是第二终端设备基于第二私钥对第二原始数据进行签名处理后得到的签名数据,第二加密数据是第二终端设备基于第一终端设备的第一公钥对第二原始数据进行加密处理后得到的加密数据,第二终端设备在准备通过Socket通信连接将第二加密数据发送给第一终端设备的同时,也会将第二签名数据与第二加密数据关联后一起发送给第一终端设备,防止第二加密数据被泄露和/或篡改,保证传输数据的安全性。在第一终端设备接收到由第二终端设备发送的第二签名数据和第二加密数据后,会先利用自己的第一公钥对第二签名数据进行身份验证,在确定该第二签名数据的身份信息与第二加密数据一致时,则表明第二加密数据在传输时未被篡改,进而第一终端设备可基于第一私钥对第二加密数据进行解密处理得到第二终端设备期望传输的原始数据。
由上述内容可知,本方案提供数据传输方法,第二终端设备基于无线网络建立与第一终端设备的Socket套接字通信连接,接收来自第一终端设备通过Socket通信连接发送的第一公钥,基于非对称加密算法生成第二公钥和与第二公钥关联的第二私钥,通过Socket通信连接向第一终端设备发送第二公钥,接收来自第一终端设备发送第一加密数据,并基于第二公钥对第一加密数据关联的第一签名数据进行解密处理得到身份信息,在确认身份信息合法时,基于第二私钥对第一加密数据进行解密处理得到第一原始数据,解析第一原始数据,基于解析后的第一原始数据生成第二原始数据,基于第二私钥对第二原始数据进行加密处理得到第二签名数据,基于第一公钥对第二原始数据进行加密处理得到第二加密数据,将第二签名数据和第二加密数据进行关联后发送到第一终端设备,以使第一终端设备根据第一私钥对第二加密数据进行解密处理,通过对需要传输的数据进行非对称加密处理(对数据进行签名处理和加密处理),并通过Socket通信连接对非对称加密处理后的数据进行传输,有效增强了数据传输的安全性,防止传输的数据遭到泄露或篡改,同时基于无线网络的Socket通信连接也能实现大数据的保密传输。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图6,其示出了本申请一个示例性实施例提供的数据传输装置的结构示意图,以下简称装置6。装置6可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置6应用于终端,装置6包括:
连接模块601,用于基于无线网络建立与第二终端设备的Socket套接字通信连接;
接收模块602,用于接收来自所述第二终端设备通过所述Socket通信连接发送的第二公钥;其中,所述第二公钥和与所述第二公钥关联的第二私钥是所述第二终端设备基于非对称加密算法生成;
处理模块603,用于基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,以使所述第二终端设备根据所述第二私钥对所述第一加密数据进行解密处理。
可选地,所述装置6,还包括:
生成单元,用于基于所述非对称加密算法生成第一公钥和第一私钥;
第一发送单元,用于通过所述Socket通信连接将所述第一公钥发送到所述第二终端设备。
可选地,所述装置6,还包括:
接收单元,用于接收由所述第二终端设备发送的第二加密数据;其中,所述第二加密数据由所述第二终端设备基于所述第一公钥对第二原始数据进行加密处理得到;
解密单元,用于基于所述第一私钥对所述第二加密数据进行解密处理得到所述第二原始数据。
可选地,所述装置6,还包括:
第一加密单元,用于基于所述第一私钥对所述第一原始数据进行加密处理得到第一签名数据;
第二加密单元,用于基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据;
第二发送单元,用于将所述第一签名数据和所述第一加密数据进行关联后发送到所述第二终端设备。
可选地,所述连接模块601,包括:
搜索单元,用于搜索目标无线网络;其中,所述目标无线网络由所述第二终端设备提供;
第一连接单元,用于响应于用户针对所述目标无线网络的连接操作,建立无线网络连接;
第二连接单元,用于基于所述无线网络连接建立与所述第二终端设备的所述Socket通信连接。
需要说明的是,上述实施例提供的数据传输装置6在执行数据传输方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与图2~图3的数据传输方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
下述为本申请另一装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图7,其示出了本申请一个示例性实施例提供的数据传输装置的结构示意图,以下简称装置7。装置7可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置7应用于终端,装置7包括:
连接模块701,用于基于无线网络建立与第一终端设备的Socket套接字通信连接;
生成模块702,用于基于非对称加密算法生成第二公钥和与所述第二公钥关联的第二私钥;
发送模块703,用于通过所述Socket通信连接向所述第一终端设备发送所述第二公钥;
处理模块704,用于接收来自所述第一终端设备发送第一加密数据,并基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据。
可选地,所述装置7,还包括:
接收单元,用于接收来自所述第一终端设备通过所述Socket通信连接发送的第一公钥;其中,所述第一公钥和与所述第一公钥关联的第一私钥是第一终端设备基于非对称加密算法生成的。
可选地,所述处理模块704,包括:
第一解密单元,用于基于所述第二公钥对所述第一加密数据关联的第一签名数据进行解密处理得到身份信息;
第二解密的单元,用于在确认所述身份信息合法时,基于所述第二私钥对所述第一加密数据进行解密处理得到所述第一原始数据。
可选地,所述装置7,还包括:
解析单元,用于解析所述第一原始数据;
生成单元,用于基于解析后的第一原始数据生成第二原始数据。
可选地,所述装置7,还包括:
第一加密单元,用于基于所述第二私钥对所述第二原始数据进行加密处理得到第二签名数据;
第二加密单元,用于基于所述第一公钥对所述第二原始数据进行加密处理得到第二加密数据;
处理单元,用于将所述第二签名数据和所述第二加密数据进行关联后发送到所述第一终端设备,以使所述第一终端设备根据所述第一私钥对所述第二加密数据进行解密处理。
需要说明的是,上述实施例提供的数据传输装置7在执行数据传输方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与图4~图5的数据传输方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
图8为本申请实施例提供的一种数据传输装置结构示意图,以下简称装置8,装置8可以集成于前述服务器或终端设备中,如图8所示,该装置包括:存储器802、处理器801、输入装置803、输出装置804和通信接口。
存储器802可以是独立的物理单元,与处理器801、输入装置803和输出装置804可以通过总线连接。存储器802、处理器801、输入装置803和输出装置804也可以集成在一起,通过硬件实现等。
存储器802用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器801调用该程序,执行以上方法实施例的操作。
输入装置802包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置包括但限于显示屏。
通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。
可选地,当上述实施例的分布式任务调度方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。
处理器可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器可以包括易失性存储器(volatile memory),例如存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatile memory),例如快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器还可以包括上述种类的存储器的组合。
需要说明的是,上述实施例提供的装置8在执行数据传输方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述的方法步骤。
本申请还提供了一种终端,包括处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

Claims (14)

1.一种数据传输方法,其特征在于,所述方法包括:
基于无线网络建立与第二终端设备的Socket套接字通信连接;
接收来自所述第二终端设备通过所述Socket通信连接发送的第二公钥;其中,所述第二公钥和与所述第二公钥关联的第二私钥是所述第二终端设备基于非对称加密算法生成;
基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,以使所述第二终端设备根据所述第二私钥对所述第一加密数据进行解密处理。
2.根据权利要求1所述的方法,其特征在于,所述基于无线网络建立与第二终端设备的Socket套接字通信连接之后,还包括:
基于所述非对称加密算法生成第一公钥和第一私钥;
通过所述Socket通信连接将所述第一公钥发送到所述第二终端设备。
3.根据权利要求1或2所述的方法,其特征在于,所述方法,还包括:
接收由所述第二终端设备发送的第二加密数据;其中,所述第二加密数据由所述第二终端设备基于所述第一公钥对第二原始数据进行加密处理得到;
基于所述第一私钥对所述第二加密数据进行解密处理得到所述第二原始数据。
4.根据权利要求1~3任一项所述的方法,其特征在于,所基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,包括:
基于所述第一私钥对所述第一原始数据进行加密处理得到第一签名数据;
基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据;
将所述第一签名数据和所述第一加密数据进行关联后发送到所述第二终端设备。
5.根据权利要求1所述的方法,其特征在于,所述基于无线网络建立与第二终端设备的Socket套接字通信连接,包括:
搜索目标无线网络;其中,所述目标无线网络由所述第二终端设备提供;
响应于用户针对所述目标无线网络的连接操作,建立无线网络连接;
基于所述无线网络连接建立与所述第二终端设备的所述Socket通信连接。
6.一种数据传输方法,其特征在于,所述方法包括:
基于无线网络建立与第一终端设备的Socket套接字通信连接;
基于非对称加密算法生成第二公钥和与所述第二公钥关联的第二私钥;
通过所述Socket通信连接向所述第一终端设备发送所述第二公钥;
接收来自所述第一终端设备发送第一加密数据,并基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据。
7.根据权利要求6所述的方法,其特征在于,所述基于无线网络建立与第一终端设备的Socket套接字通信连接之后,还包括:
接收来自所述第一终端设备通过所述Socket通信连接发送的第一公钥;其中,所述第一公钥和与所述第一公钥关联的第一私钥是第一终端设备基于非对称加密算法生成的。
8.根据权利要求6所述的方法,其特征在于,所述基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据,包括:
基于所述第二公钥对所述第一加密数据关联的第一签名数据进行解密处理得到身份信息;
在确认所述身份信息合法时,基于所述第二私钥对所述第一加密数据进行解密处理得到所述第一原始数据。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据之后,还包括:
解析所述第一原始数据;
基于解析后的第一原始数据生成第二原始数据。
10.根据权利要求9所述的方法,其特征在于,所述基于解析后的第一原始数据生成第二原始数据之后,还包括:
基于所述第二私钥对所述第二原始数据进行加密处理得到第二签名数据;
基于所述第一公钥对所述第二原始数据进行加密处理得到第二加密数据;
将所述第二签名数据和所述第二加密数据进行关联后发送到所述第一终端设备,以使所述第一终端设备根据所述第一私钥对所述第二加密数据进行解密处理。
11.一种数据传输装置,其特征在于,所述装置包括:
连接模块,用于基于无线网络建立与第二终端设备的Socket套接字通信连接;
接收模块,用于接收来自所述第二终端设备通过所述Socket通信连接发送的第二公钥;其中,所述第二公钥和与所述第二公钥关联的第二私钥是所述第二终端设备基于非对称加密算法生成;
处理模块,用于基于所述第二公钥对第一原始数据进行加密处理得到第一加密数据,并将所述第一加密数据发送到所述第二终端设备,以使所述第二终端设备根据所述第二私钥对所述第一加密数据进行解密处理。
12.一种数据传输装置,其特征在于,所述装置包括:
连接模块,用于基于无线网络建立与第一终端设备的Socket套接字通信连接;
生成模块,用于基于非对称加密算法生成第二公钥和与所述第二公钥关联的第二私钥;
发送模块,用于通过所述Socket通信连接向所述第一终端设备发送所述第二公钥;
处理模块,用于接收来自所述第一终端设备发送第一加密数据,并基于所述第二私钥对所述第一加密数据进行解密处理得到第一原始数据。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~10任意一项的方法步骤。
14.一种终端,其特征在于,包括:处理器、存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~10任意一项的方法步骤。
CN202010920536.0A 2020-09-04 2020-09-04 数据传输方法、装置、存储介质及终端 Pending CN112187726A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010920536.0A CN112187726A (zh) 2020-09-04 2020-09-04 数据传输方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010920536.0A CN112187726A (zh) 2020-09-04 2020-09-04 数据传输方法、装置、存储介质及终端

Publications (1)

Publication Number Publication Date
CN112187726A true CN112187726A (zh) 2021-01-05

Family

ID=73924883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010920536.0A Pending CN112187726A (zh) 2020-09-04 2020-09-04 数据传输方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN112187726A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852604A (zh) * 2021-08-13 2021-12-28 青岛海尔科技有限公司 明文数据的发送方法及装置、存储介质及电子装置
CN115022012A (zh) * 2022-05-30 2022-09-06 中国银行股份有限公司 一种数据传输方法、装置、系统、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106031120A (zh) * 2014-02-18 2016-10-12 诺基亚技术有限公司 密钥管理
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
WO2018056582A1 (ko) * 2016-09-20 2018-03-29 주식회사 수산아이앤티 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
CN108429751A (zh) * 2018-03-15 2018-08-21 广州优视网络科技有限公司 文件传输控制方法、装置及计算机可读存储介质、终端
EP3477919A1 (en) * 2018-01-25 2019-05-01 Apple Inc. Protocol for establishing a secure communications session with an anonymous host over a wireless network
CN110061996A (zh) * 2019-04-25 2019-07-26 深圳市元征科技股份有限公司 一种数据传输方法、装置、设备及可读存储介质
CN110336774A (zh) * 2019-04-17 2019-10-15 中国联合网络通信集团有限公司 混合加密解密方法、设备及系统
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106031120A (zh) * 2014-02-18 2016-10-12 诺基亚技术有限公司 密钥管理
WO2018056582A1 (ko) * 2016-09-20 2018-03-29 주식회사 수산아이앤티 보안 소켓 계층 통신을 이용하는 패킷을 검사하는 방법
CN107682141A (zh) * 2017-10-26 2018-02-09 广州市雷军游乐设备有限公司 用于数据传输的数据加密方法和系统
EP3477919A1 (en) * 2018-01-25 2019-05-01 Apple Inc. Protocol for establishing a secure communications session with an anonymous host over a wireless network
CN108429751A (zh) * 2018-03-15 2018-08-21 广州优视网络科技有限公司 文件传输控制方法、装置及计算机可读存储介质、终端
CN110336774A (zh) * 2019-04-17 2019-10-15 中国联合网络通信集团有限公司 混合加密解密方法、设备及系统
CN110061996A (zh) * 2019-04-25 2019-07-26 深圳市元征科技股份有限公司 一种数据传输方法、装置、设备及可读存储介质
CN110401677A (zh) * 2019-08-23 2019-11-01 RealMe重庆移动通信有限公司 数字版权密钥的获取方法、装置、存储介质及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
流水潺湲: "Android Wifi热点 数据传输Socket 通信", 《简书》, 18 April 2018 (2018-04-18) *
网垠科技: "万能钥匙传奇 加密与解密实例教程", 珠海出版社, pages: 9 - 15 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113852604A (zh) * 2021-08-13 2021-12-28 青岛海尔科技有限公司 明文数据的发送方法及装置、存储介质及电子装置
CN115022012A (zh) * 2022-05-30 2022-09-06 中国银行股份有限公司 一种数据传输方法、装置、系统、设备及存储介质
CN115022012B (zh) * 2022-05-30 2024-04-16 中国银行股份有限公司 一种数据传输方法、装置、系统、设备及存储介质

Similar Documents

Publication Publication Date Title
US10412061B2 (en) Method and system for encrypted communications
CN110492990B (zh) 区块链场景下的私钥管理方法、装置及系统
US10601590B1 (en) Secure secrets in hardware security module for use by protected function in trusted execution environment
US20110197059A1 (en) Securing out-of-band messages
CN109714176B (zh) 口令认证方法、装置及存储介质
US11736304B2 (en) Secure authentication of remote equipment
US9912484B2 (en) Secure neighbor discovery (SEND) using pre-shared key
US11824854B2 (en) Communication system and computer readable storage medium
CN108449357B (zh) 一种授权登录方法、装置、智能设备及存储介质
CN111737366A (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
JP2019514314A (ja) 暗号化メッセージを送受信するために動的公開鍵インフラストラクチャを用いる方法、システム、及び媒体
CN104378379A (zh) 一种数字内容加密传输方法、设备和系统
US11652640B2 (en) Systems and methods for out-of-band authenticity verification of mobile applications
CN112437044B (zh) 即时通讯方法和装置
WO2020237880A1 (zh) 基于非对称加密技术的数据交换方法、发送终端和计算机可读存储介质
CN112187726A (zh) 数据传输方法、装置、存储介质及终端
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
CN112966287A (zh) 获取用户数据的方法、系统、设备和计算机可读介质
CN114513345A (zh) 信息传输系统以及使用者装置与信息安全硬件模块
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN116232700A (zh) 登录认证方法、装置、计算机设备、存储介质
WO2023141876A1 (zh) 数据传输方法、装置、系统、电子设备及可读介质
US20210400492A1 (en) Secure pairing and pairing lock for accessory devices
CN115686542A (zh) 应用安装方法、装置、设备及存储介质
CN114117404A (zh) 一种用户认证方法、装置、设备、系统及存储介质

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210105

RJ01 Rejection of invention patent application after publication