CN110768928B - 通信方法及通信装置、计算机设备和可读存储介质 - Google Patents

通信方法及通信装置、计算机设备和可读存储介质 Download PDF

Info

Publication number
CN110768928B
CN110768928B CN201810828460.1A CN201810828460A CN110768928B CN 110768928 B CN110768928 B CN 110768928B CN 201810828460 A CN201810828460 A CN 201810828460A CN 110768928 B CN110768928 B CN 110768928B
Authority
CN
China
Prior art keywords
tsocket
long connection
server
client
symmetric 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.)
Active
Application number
CN201810828460.1A
Other languages
English (en)
Other versions
CN110768928A (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201810828460.1A priority Critical patent/CN110768928B/zh
Publication of CN110768928A publication Critical patent/CN110768928A/zh
Application granted granted Critical
Publication of CN110768928B publication Critical patent/CN110768928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • 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/0435Network 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 symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0822Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key

Landscapes

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

Abstract

本公开实施例提出了一种通信方法及通信装置、计算机设备及可读存储介质,通信方法包括:自预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。本公开实施例提供的通信方案可以实现客户端和服务器间的远程调用通信,并且能够保证通信过程中数据的机密性和完整性,以及有效地降低系统性能消耗。

Description

通信方法及通信装置、计算机设备和可读存储介质
技术领域
本公开实施例涉及通信技术领域,具体而言,涉及通信方法、通信装置、计算机设备和计算机可读存储介质。
背景技术
目前,基于RPC(Remote Procedure Call,远程过程调用)协议的通信方法和系统可以通过多种方式实现,比如:基于CORBA(Common Object Request BrokerArchitecture,通用对象请求代理体系结构)、基于RMI(Remote Method Invocation,远程方法调用)、基于Hessian(一种轻量级的remoting onhttp(远程HTTP(Hyper TextTransfer Protocol,超文本传输协议))工具)、基于Thrift(一种软件框架,用来进行可扩展且跨语言的服务的开发)、基于消息队列等实现的通信方法和系统。
但是,上述基于RPC协议的通信方法和系统主要关注于如何实现客户端和服务器间的通信,并未解决如何保证数据的机密性、完整性,这就意味着恶意的访问者可以模仿、篡改或者截获客户端与服务器之间的通信数据,进而会对通信系统和业务造成不可估量的损失。
发明内容
本公开实施例正是基于上述问题,提出了一种新的技术方案,不仅能够实现客户端和服务器间的远程调用通信,并且能够保证通信过程中数据的机密性和完整性,以及有效地降低系统性能消耗。
有鉴于此,根据本公开实施例的第一方面,提出了一种通信方法,用于客户端,所述通信方法包括:自预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
在该技术方案中,预先建立线程池并对其进行维护,当需要与服务器进行远程调用通信时,使用预设线程池中维护的一组空闲的安全套接字层(SSL,Secure SocketsLayer)会话绑定资源,该绑定资源包括相互关联的基于Thrift协议的传输类TSocket长连接和对称密钥,首先使用该对称密钥对原始请求数据进行加密后再通过该TSocket长连接发送至服务器,即在Thrift协议框架基础上进行客户端与服务器间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在请求与服务器进行远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少客户端和服务器在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
在上述技术方案中,优选地,所述通信方法还包括:接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
在该技术方案中,当服务器响应了客户端进行远程调用通信的请求时,接收服务器在处理完对应的请求任务基于同组绑定资源中的TSocket长连接反馈的目标响应数据,进一步达到TSocket长连接复用的效果,并通过同组绑定资源中的对称密钥解密该目标响应数据得到相应的原始响应数据,实现通信时的数据对称解密,保证通信时响应数据的机密性和完整性。
在上述任一技术方案中,优选地,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及在所述自预设线程池中获取一组空闲的安全套接字层会话绑定资源之前,所通信方法还包括:向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接;接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥;对所述服务器证书进行验证,并在验证通过后生成对称密钥;采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器;当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该技术方案中,建立预设线程池时,先建立与服务器间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,接收服务器通过TSocket长连接响应于远程调用请求反馈的服务器证书和RSA(RSAalgorithm,RSA加密算法,一种非对称加密算法)公钥,在对服务器的身份验证通过后生成对称密钥,并通过该TSocket长连接将使用RSA公钥加密后的对称密钥发送至服务器,以及在服务器成功接收该对称密钥后将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成客户端和服务器在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
根据本公开实施例的第二方面,提出了一种通信装置,用于客户端,所述通信装置包括:获取模块,用于自预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;加密模块,用于采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;发送模块,用于将通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
在该技术方案中,预先建立线程池并对其进行维护,当需要与服务器进行远程调用通信时,使用预设线程池中维护的一组空闲的安全套接字层会话绑定资源,该绑定资源包括相互关联的基于Thrift协议的传输类TSocket长连接和对称密钥,首先使用该对称密钥对原始请求数据进行加密后再通过该TSocket长连接发送至服务器,即在Thrift协议框架基础上进行客户端与服务器间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在请求与服务器进行远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少客户端和服务器在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
在上述技术方案中,优选地,所述通信装置还包括:第一接收模块,用于接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;解密模块,用于采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
在该技术方案中,当服务器响应了客户端进行远程调用通信的请求时,接收服务器在处理完对应的请求任务基于同组绑定资源中的TSocket长连接反馈的目标响应数据,进一步达到TSocket长连接复用的效果,并通过同组绑定资源中的对称密钥解密该目标响应数据得到相应的原始响应数据,实现通信时的数据对称解密,保证通信时响应数据的机密性和完整性。
在上述任一技术方案中,优选地,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及所述通信装置还包括:第一处理模块,用于在所述获取模块自预设线程池中获取一组空闲的安全套接字层会话绑定资源之前,向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接;第二接收模块,用于接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥;验证模块,用于对所述服务器证书进行验证,并在验证通过后生成对称密钥;第二处理模块,用于采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器;管理模块,用于当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该技术方案中,建立预设线程池时,先建立与服务器间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,接收服务器通过TSocket长连接响应于远程调用请求反馈的服务器证书和RSA公钥,在对服务器的身份验证通过后生成对称密钥,并通过该TSocket长连接将使用RSA公钥加密后的对称密钥发送至服务器,以及在服务器成功接收该对称密钥后将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成客户端和服务器在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
根据本公开实施例的第三方面,提出了一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述第一方面的技术方案中任一项所述的通信方法的步骤。
根据本公开实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面的技术方案中任一项所述的通信方法的步骤。
根据本公开实施例的第五方面,提出了一种通信方法,用于服务器,所述通信方法包括:接收客户端通过TSocket长连接发送的目标请求数据;自预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥;采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据;采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据;通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
在该技术方案中,预先建立线程池并对其进行维护,当需要与客户端进行远程调用通信时,接收客户端通过预设线程池中维护的一组空闲的安全套接字层会话绑定资源的基于Thrift协议的传输类TSocket长连接发送的目标请求数据,并基于同组绑定资源中与该TSocket长连接解密该目标请求数据得到对应的原始请求数据以响应相应的请求业务得到原始响应数据,进一步通过同组绑定资源中的对称密钥加密该原始响应数据后通过同组绑定资源中的TSocket长连接反馈至客户端,即在Thrift协议框架基础上进行服务器与客户端间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加解密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在实现与客户端间的远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少服务器和客户端在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
在上述技术方案中,优选地,在所述接收客户端通过TSocket长连接发送的目标请求数据之前,所述通信方法还包括:接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接;将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端;接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥;采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息;将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该技术方案中,建立预设线程池时,先建立与客户端间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,在接收到客户端通过TSocket长连接发送的远程调用请求时,将服务器证书和RSA公钥通过该TSocket长连接发送至客户端,并在客户端对其身份验证通过后,接收客户端通过该TSocket长连接发送的确认服务器证书有效的确认信息和经RSA公钥加密的对称密钥,以及采用与该RSA公钥对应的RSA私钥解密获取该对称密钥,在向客户端反馈对称密钥接收成功的确认信息后,将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成服务器和客户端在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
根据本公开实施例的第六方面,提出了一种通信装置,用于服务器,所述通信装置包括:第一接收模块,用于接收客户端通过TSocket长连接发送的目标请求数据;获取模块,用于自预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥;解密模块,用于采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据;加密模块,用于采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据;第一发送模块,用于通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
在该技术方案中,预先建立线程池并对其进行维护,当需要与客户端进行远程调用通信时,接收客户端通过预设线程池中维护的一组空闲的安全套接字层会话绑定资源的基于Thrift协议的传输类TSocket长连接发送的目标请求数据,并基于同组绑定资源中与该TSocket长连接解密该目标请求数据得到对应的原始请求数据以响应相应的请求业务得到原始响应数据,进一步通过同组绑定资源中的对称密钥加密该原始响应数据后通过同组绑定资源中的TSocket长连接反馈至客户端,即在Thrift协议框架基础上进行服务器与客户端间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加解密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在实现与客户端间的远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少服务器和客户端在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
在上述技术方案中,优选地,所述通信装置还包括:第一处理模块,用于在所述第一接收模块接收客户端通过TSocket长连接发送的目标请求数据之前,接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接;第二发送模块,用于将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端;第二接收模块,用于接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥;第二处理模块,用于采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息;管理模块,用于将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该技术方案中,建立预设线程池时,先建立与客户端间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,在接收到客户端通过TSocket长连接发送的远程调用请求时,将服务器证书和RSA公钥通过该TSocket长连接发送至客户端,并在客户端对其身份验证通过后,接收客户端通过该TSocket长连接发送的确认服务器证书有效的确认信息和经RSA公钥加密的对称密钥,以及采用与该RSA公钥对应的RSA私钥解密获取该对称密钥,在向客户端反馈对称密钥接收成功的确认信息后,将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成服务器和客户端在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
根据本公开实施例的第七方面,提出了一种计算机设备,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如上述第五方面的技术方案中任一项所述的通信方法的步骤。
根据本公开实施例的第八方面,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第五方面的技术方案中任一项所述的通信方法的步骤。
本公开实施例的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
图1示出了本公开实施例客户端侧的通信方法的流程示意图;
图2示出了本公开实施例客户端侧的生成安全套接字层会话绑定资源的方法流程示意图;
图3示出了本公开实施例客户端侧的通信装置的示意框图;
图4示出了本公开第一实施例的计算机设备的示意框图;
图5示出了本公开实施例服务器侧的通信方法的流程示意图;
图6示出了本公开实施例服务器侧的生成安全套接字层会话绑定资源的方法流程示意图;
图7示出了本公开实施例服务器侧的通信装置的示意框图;
图8示出了本公开第二实施例的计算机设备的示意框图;
图9示出了本公开实施例的远程调用通信交互示意图。
具体实施方式
为了可以更清楚地理解本公开实施例的上述目的、特征和优点,下面结合附图和具体实施方式对本公开实施例进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开实施例,但是,本公开实施例还可以采用其他不同于在此描述的其他方式来实施,因此,本公开实施例的保护范围并不受下面公开的具体实施例的限制。
下面结合图1和图2对本公开实施例客户端侧的通信方法进行详细说明。
如图1所示,根据本公开实施例客户端侧的通信方法,具体包括以下流程步骤:
步骤S102,自预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥。
步骤S104,采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据。
步骤S106,通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
在该实施例中,预先建立线程池并对其进行维护,当需要与服务器进行远程调用通信时,使用预设线程池中维护的一组空闲的安全套接字层会话绑定资源,该绑定资源包括相互关联的基于Thrift协议的传输类TSocket长连接和对称密钥,首先使用该对称密钥对原始请求数据进行加密后再通过该TSocket长连接发送至服务器,即在Thrift协议框架基础上进行客户端与服务器间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在请求与服务器进行远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少客户端和服务器在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
进一步地,在上述实施例中,所述通信方法还包括:接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
在该实施例中,当服务器响应了客户端进行远程调用通信的请求时,接收服务器在处理完对应的请求任务基于同组绑定资源中的TSocket长连接反馈的目标响应数据,进一步达到TSocket长连接复用的效果,并通过同组绑定资源中的对称密钥解密该目标响应数据得到相应的原始响应数据,实现通信时的数据对称解密,保证通信时响应数据的机密性和完整性。
进一步地,在上述实施例中,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及如图2所示,在上述实施例中的步骤S102之前所述通信方法还具体包括以下流程步骤:
步骤S202,向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接。
步骤S204,接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥。
步骤S206,对所述服务器证书进行验证,并在验证通过后生成对称密钥。
步骤S208,采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器。
步骤S210,当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该实施例中,建立预设线程池时,先建立与服务器间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,接收服务器通过TSocket长连接响应于远程调用请求反馈的服务器证书和RSA公钥,在对服务器的身份验证通过后生成对称密钥,并通过该TSocket长连接将使用RSA公钥加密后的对称密钥发送至服务器,以及在服务器成功接收该对称密钥后将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成客户端和服务器在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
图3示出了本公开实施例客户端侧的通信装置的示意框图。
如图3所示,根据本公开实施例客户端侧的通信装置30,包括:获取模块302、加密模块304和发送模块306。
其中,所述获取模块302用于自预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;所述加密模块304用于采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;所述发送模块306用于将通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
在该实施例中,预先建立线程池并对其进行维护,当需要与服务器进行远程调用通信时,使用预设线程池中维护的一组空闲的安全套接字层会话绑定资源,该绑定资源包括相互关联的基于Thrift协议的传输类TSocket长连接和对称密钥,首先使用该对称密钥对原始请求数据进行加密后再通过该TSocket长连接发送至服务器,即在Thrift协议框架基础上进行客户端与服务器间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在请求与服务器进行远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少客户端和服务器在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
进一步地,如图3所示,在上述实施例中,所述通信装置30还包括:第一接收模块308和解密模块310。
其中,所述第一接收模块308用于接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;所述解密模块310用于采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
在实施例中,当服务器响应了客户端进行远程调用通信的请求时,接收服务器在处理完对应的请求任务基于同组绑定资源中的TSocket长连接反馈的目标响应数据,进一步达到TSocket长连接复用的效果,并通过同组绑定资源中的对称密钥解密该目标响应数据得到相应的原始响应数据,实现通信时的数据对称解密,保证通信时响应数据的机密性和完整性。
进一步地,在上述实施例中,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及如图3所示,所述通信装置30还包括:第一处理模块312、第二接收模块314、验证模块316、第二处理模块318和管理模块320。
其中,所述第一处理模块312用于在所述获取模块302自预设线程池中获取一组空闲的安全套接字层会话绑定资源之前,向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接;所述第二接收模块314用于接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥;所述验证模块316用于对所述服务器证书进行验证,并在验证通过后生成对称密钥;所述第二处理模块318用于采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器;所述管理模块320用于当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该实施例中,建立预设线程池时,先建立与服务器间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,接收服务器通过TSocket长连接响应于远程调用请求反馈的服务器证书和RSA公钥,在对服务器的身份验证通过后生成对称密钥,并通过该TSocket长连接将使用RSA公钥加密后的对称密钥发送至服务器,以及在服务器成功接收该对称密钥后将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成客户端和服务器在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
图4示出了本公开第一实施例的计算机设备的示意框图。
如图4所示,根据本公开第一实施例的计算机设备40,包括存储器402、处理器404及存储在所述存储器402上并可在所述处理器404上运行的计算机程序,其中存储器402和处理器404之间可以通过总线连接,所述处理器404用于执行存储器402中存储的计算机程序时实现如上实施例中客户端侧的所述通信方法的步骤。
优选地,所述计算机设备40为客户端,比如电脑。
根据本公开实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上实施例中客户端侧的所述通信方法的步骤。
下面结合图5和图6对本公开实施例服务器侧的通信方法进行详细说明。
如图5所示,根据本公开实施例服务器侧的通信方法,具体包括以下流程步骤:
步骤S502,接收客户端通过TSocket长连接发送的目标请求数据。
步骤S504,自预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥。
步骤S506,采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据。
步骤S508,采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据。
步骤S510,通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
在该实施例中,预先建立线程池并对其进行维护,当需要与客户端进行远程调用通信时,接收客户端通过预设线程池中维护的一组空闲的安全套接字层会话绑定资源的基于Thrift协议的传输类TSocket长连接发送的目标请求数据,并基于同组绑定资源中与该TSocket长连接解密该目标请求数据得到对应的原始请求数据以响应相应的请求业务得到原始响应数据,进一步通过同组绑定资源中的对称密钥加密该原始响应数据后通过同组绑定资源中的TSocket长连接反馈至客户端,即在Thrift协议框架基础上进行服务器与客户端间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加解密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在实现与客户端间的远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少服务器和客户端在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
进一步地,在上述实施例中步骤S502之前,所述通信方法还包括如图6所示的如下流程步骤:
步骤S602,接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接。
步骤S604,将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端。
步骤S606,接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥。
步骤S608,采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息。
步骤S610,将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该实施例中,建立预设线程池时,先建立与客户端间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,在接收到客户端通过TSocket长连接发送的远程调用请求时,将服务器证书和RSA公钥通过该TSocket长连接发送至客户端,并在客户端对其身份验证通过后,接收客户端通过该TSocket长连接发送的确认服务器证书有效的确认信息和经RSA公钥加密的对称密钥,以及采用与该RSA公钥对应的RSA私钥解密获取该对称密钥,在向客户端反馈对称密钥接收成功的确认信息后,将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成服务器和客户端在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
图7示出了本公开实施例服务器侧的通信装置的示意框图。
如图7所示,根据本公开实施例服务器侧的通信装置70,包括:第一接收模块702、获取模块704、解密模块706、加密模块708和第一发送模块710。
其中,所述第一接收模块702用于接收客户端通过TSocket长连接发送的目标请求数据;所述获取模块704用于自预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥;所述解密模块706用于采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据;所述加密模块708用于采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据;所述第一发送模块710用于通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
在该实施例中,预先建立线程池并对其进行维护,当需要与客户端进行远程调用通信时,接收客户端通过预设线程池中维护的一组空闲的安全套接字层会话绑定资源的基于Thrift协议的传输类TSocket长连接发送的目标请求数据,并基于同组绑定资源中与该TSocket长连接解密该目标请求数据得到对应的原始请求数据以响应相应的请求业务得到原始响应数据,进一步通过同组绑定资源中的对称密钥加密该原始响应数据后通过同组绑定资源中的TSocket长连接反馈至客户端,即在Thrift协议框架基础上进行服务器与客户端间的远程调用通信,并引入安全套接字层协议层,实现通信时的数据对称加解密,且由于将Tsocket长连接放入基于Thrift连接池机制的预设线程池中进行维护管理,则在实现与客户端间的远程调用通信时,通过对空闲的TSocket长连接的复用,可以减少服务器和客户端在安全套接字层进行握手操作带来的系统性能消耗,且同时保证通信时请求数据的机密性和完整性。
进一步地,如图7所示,在上述实施例中,所述通信装置70还包括:第一处理模块712、第二发送模块714、第二接收模块716、第二处理模块718和管理模块720。
其中,所述第一处理模块712用于在所述第一接收模块702接收客户端通过TSocket长连接发送的目标请求数据之前,接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接;所述第二发送模块714用于将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端;所述第二接收模块716用于接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥;所述第二处理模块718用于采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息;所述管理模块720用于将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
在该实施例中,建立预设线程池时,先建立与客户端间的基于Thrift协议的TSocket长连接,进而在thrift协议层基础上,引入安全套接字层,并基于该安全套接字层进行握手操作,具体地,在接收到客户端通过TSocket长连接发送的远程调用请求时,将服务器证书和RSA公钥通过该TSocket长连接发送至客户端,并在客户端对其身份验证通过后,接收客户端通过该TSocket长连接发送的确认服务器证书有效的确认信息和经RSA公钥加密的对称密钥,以及采用与该RSA公钥对应的RSA私钥解密获取该对称密钥,在向客户端反馈对称密钥接收成功的确认信息后,将TSocket长连接、对称密钥和RSA公钥作为一组安全套接字层会话绑定资源进行关联存储至预设线程池中,从而完成服务器和客户端在安全套接字层的握手操作,进一步在实现二者间的远程调用服务时对TSocket长连接进行复用以及基于对称密钥实现通信时的数据对称加解密。
图8示出了本公开第二实施例的计算机设备的示意框图。
如图8所示,根据本公开第一实施例的计算机设备80,包括存储器802、处理器804及存储在所述存储器802上并可在所述处理器804上运行的计算机程序,其中存储器802和处理器804之间可以通过总线连接,所述处理器804用于执行存储器802中存储的计算机程序时实现如上实施例中服务器侧的所述通信方法的步骤。
优选地,所述计算机设备80为服务器。
根据本公开实施例,提出了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上实施例中服务器侧的所述通信方法的步骤。
图9示出了本公开实施例的远程调用通信交互示意图。
如图9所示,根据本公开实施例的客户端和服务器间的RPC通信交互流程,在Thrift协议层基础上,引入SSL协议层,客户端和服务器端在进行RPC数据调用之前,先进行SSL协议层的握手,握手完成之后再进行RPC通信交互,通信时,通过SSL协议层对数据进行对称加解密,从而保证数据的机密性、数据完整性;以及通过在RPC通信交互中加入SSL协议层的握手机制,一定程度上会降低系统的性能,具体地,基于Thrift长连接池机制,客户端和服务器建立TSocket(用于实现跨进程间的数据传输/实现具体传输功能的类)连接之后,各端将TSocket连接放入连接池机制中进行维护管理,达到TSocket连接复用的效果,以此减少SSL协议层进行握手操作所带来的系统性能消耗。
在具体交互时:
<1>客户端Client向服务器Server发送RPC调用请求时,先基于Thrift协议建立TSocket长连接。
<2>TSocket长连接建立完成后,服务器将其签名证书、RSA公钥通过TSocket长连接发送给客户端Client。
<3>客户端Client收到服务器签名证书、RSA公钥之后,验证该证书的有效性和可靠性,并在验证通过后生成随机对称密钥K,用RSA公钥将对称密钥K进行加密,将加密后的对称密钥K和ACK(Acknowledgement,确认字符)发送给服务器Server;进一步地,服务器Server接收到经RSA公钥加密后的对称密钥K后,通过对应的RSA私钥对其进行解密,得到对称密钥K,继而服务端Server响应ACK给客户端Client,同时将TSocket长连接、对称密钥K作为一组绑定资源放入线程池机制进行维护管理;以及客户端Client收到ACK响应之后,将TSocket长连接、RSA公钥、对称密钥K作为一组绑定资源放入线程池机制进行维护管理,至此,客户端和服务器间的RPC通信交互的SSL协议层的握手操作完成。
<4>客户端Client从线程池机制中拿到空闲的一组TSocket长连接、RSA公钥、对称密钥K资源,先将要发送给服务器Server的请求数据用对称密钥K进行加密,再通过基于Thrift机制的TSocket长连接发送给服务器;进而,服务器Server接收到数据后,通过同组资源的对称密钥K进行解密,得到解密后的原始请求数据后,再交给服务器Server进行业务处理。
<5>服务器Server处理完业务之后,先将响应的数据通过同组资源的对称密钥K进行加密,然后将加密后的响应数据通过基于Thrift机制的TSocket长连接发送给客户端;进而,客户端接收到响应数据后,通过同组资源的对称密钥K进行解密,得到解密后的原始响应数据后,再交给客户端Client进行业务响应处理,以完成客户端Client与服务其Server间的RPC调用。
综上,本实施例提供了一套客户端与服务器间能进行RPC通信交互,且保证数据机密性、数据完整性的实现方案,同时为了不影响系统原有的吞吐量、性能,客户端和服务器引入Thrift长连接池机制,以降低系统性能消耗。
本公开实施例的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本公开实施例的通信装置和计算机设备中的单元可以根据实际需要进行合并、划分和删减。
本领域内的技术人员应明白,本发明的实施例可提供为方法、设备(系统)或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一以及第二等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (14)

1.一种通信方法,其特征在于,用于客户端,所述通信方法包括:
自预先建立的预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;
采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;
通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
2.根据权利要求1所述的通信方法,其特征在于,还包括:
接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;
采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
3.根据权利要求1或2所述的通信方法,其特征在于,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及
在所述自预设线程池中获取一组空闲的安全套接字层会话绑定资源之前,所述通信方法还包括:
向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接;
接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥;
对所述服务器证书进行验证,并在验证通过后生成对称密钥;
采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器;
当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
4.一种通信装置,其特征在于,用于客户端,所述通信装置包括:
获取模块,用于自预先建立的预设线程池中获取一组空闲的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源包括相互关联的TSocket长连接和对称密钥;
加密模块,用于采用所述对称密钥对原始请求数据进行加密处理,以得到对应的目标请求数据;
发送模块,用于将通过所述TSocket长连接将所述目标请求数据发送至服务器,以与所述服务器进行远程调用通信。
5.根据权利要求4所述的通信装置,其特征在于,还包括:
第一接收模块,用于接收所述服务器通过所述TSocket长连接反馈的与所述目标请求数据对应的目标响应数据;
解密模块,用于采用所述对称密钥对所述目标响应数据进行解密处理,以得到原始响应数据进行业务响应处理。
6.根据权利要求4或5所述的通信装置,其特征在于,所述安全套接字层会话绑定资源还包括与所述TSocket长连接、所述对称密钥相互关联的RSA公钥;以及所述通信装置还包括:
第一处理模块,用于在所述获取模块自预设线程池中获取一组空闲的安全套接字层会话绑定资源之前,向所述服务器发送远程调用请求,并建立与所述服务器间的基于Thrift协议的TSocket长连接;
第二接收模块,用于接收所述服务器通过所述TSocket长连接发送的服务器证书和RSA公钥;
验证模块,用于对所述服务器证书进行验证,并在验证通过后生成对称密钥;
第二处理模块,用于采用所述RSA公钥加密所述对称密钥,并经加密处理的所述对称密钥和第一接收确认信息通过所述TSocket长连接发送所述服务器;
管理模块,用于当接收到所述服务器针对经加密处理的所述对称密钥反馈的第二接收确认信息时,将所述TSocket长连接、所述RSA公钥和所述对称密钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
7.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至3中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述方法的步骤。
9.一种通信方法,其特征在于,用于服务器,所述方法包括:
接收客户端通过TSocket长连接发送的目标请求数据;
自预先建立的预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥;
采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据;
采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据;
通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
10.根据权利要求9所述的通信方法,其特征在于,在所述接收客户端通过TSocket长连接发送的目标请求数据之前,还包括:
接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接;
将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端;
接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥;
采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息;
将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
11.一种通信装置,其特征在于,用于服务器,所述通信装置包括:
第一接收模块,用于接收客户端通过TSocket长连接发送的目标请求数据;
获取模块,用于自预先建立的预设线程池中获取包含所述TSocket长连接的安全套接字层会话绑定资源,其中所述安全套接字层会话绑定资源还包括对称密钥;
解密模块,用于采用所述对称密钥对目标请求数据进行解密处理得到原始请求数据,以进行业务处理获取对应的原始响应数据;
加密模块,用于采用所述对称密钥对所述原始响应数据进行加密处理得到目标响应数据;
第一发送模块,用于通过所述TSocket长连接将所述目标响应数据发送至所述客户端,以与所述客户端进行远程调用通信。
12.根据权利要求11所述的通信装置,其特征在于,还包括:
第一处理模块,用于在所述第一接收模块接收客户端通过TSocket长连接发送的目标请求数据之前,接收来自所述客户端的远程调用请求,并建立与所述客户端间的基于Thrift协议的TSocket长连接;
第二发送模块,用于将服务器证书和RSA公钥通过所述TSocket长连接发送至所述客户端;
第二接收模块,用于接收所述客户端在对所述服务器证书验证通过后,通过所述TSocket长连接发送的第一接收确认信息和经所述RSA公钥加密后的对称密钥;
第二处理模块,用于采用与所述RSA公钥对应的RSA私钥对经加密处理的所述对称密钥进行解密,并向所述客户端发送第二接收确认信息;
管理模块,用于将所述TSocket长连接、所述对称密钥和所述RSA公钥作为所述安全套接字层会话绑定资源放入预设线程池中进行维护管理。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求9或10所述方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求9或10所述方法的步骤。
CN201810828460.1A 2018-07-25 2018-07-25 通信方法及通信装置、计算机设备和可读存储介质 Active CN110768928B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810828460.1A CN110768928B (zh) 2018-07-25 2018-07-25 通信方法及通信装置、计算机设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810828460.1A CN110768928B (zh) 2018-07-25 2018-07-25 通信方法及通信装置、计算机设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN110768928A CN110768928A (zh) 2020-02-07
CN110768928B true CN110768928B (zh) 2022-01-25

Family

ID=69328122

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810828460.1A Active CN110768928B (zh) 2018-07-25 2018-07-25 通信方法及通信装置、计算机设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN110768928B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383541B (zh) * 2020-11-12 2022-12-13 镇江市金舟软件有限责任公司 一种基于加密、解密算法的焊接工时采集与接收方法
CN113645294B (zh) * 2021-08-06 2022-08-26 腾讯科技(深圳)有限公司 消息获取方法、装置、计算机设备和消息传输系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034857A2 (en) * 1998-12-11 2000-06-15 Microsoft Corporation Accelerating a distributed component architecture over a network using a direct marshaling
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
CN101193723A (zh) * 2004-02-09 2008-06-04 林肯环球股份有限公司 提供自动化焊接通知的系统和方法
CN102510387A (zh) * 2011-12-29 2012-06-20 西安西电捷通无线网络通信股份有限公司 一种安全传输层协议tls握手方法和装置及ttp

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8478986B2 (en) * 2005-08-10 2013-07-02 Riverbed Technology, Inc. Reducing latency of split-terminated secure communication protocol sessions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000034857A2 (en) * 1998-12-11 2000-06-15 Microsoft Corporation Accelerating a distributed component architecture over a network using a direct marshaling
CN101193723A (zh) * 2004-02-09 2008-06-04 林肯环球股份有限公司 提供自动化焊接通知的系统和方法
CN1885771A (zh) * 2005-06-23 2006-12-27 国际商业机器公司 用于建立安全通信会话的方法与装置
CN102510387A (zh) * 2011-12-29 2012-06-20 西安西电捷通无线网络通信股份有限公司 一种安全传输层协议tls握手方法和装置及ttp

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
A. Shaikh等.BGP Model for Service Provider Networksdraft-ietf-idr-bgp-model-02.2016,全文. *
Demonstration of gRPC Telemetry for Soft Failure Detection in Elastic Optical Networks;F. Paolucci;《IEEE》;20180426;全文 *
K. Watsen等.NETCONF Server and RESTCONF Server Configuration Models draft-ietf-netconf-server-model-08.2015,全文. *
REST的安全性分析与策略研究;程飞等;《铁路计算机应用》;20131025(第10期);全文 *

Also Published As

Publication number Publication date
CN110768928A (zh) 2020-02-07

Similar Documents

Publication Publication Date Title
CN107979514B (zh) 一种对设备进行绑定的方法和设备
CN110380852B (zh) 双向认证方法及通信系统
CN109309565B (zh) 一种安全认证的方法及装置
CN100581097C (zh) 在两计算机间传输数据的系统和方法
EP3232634A1 (en) Identity authentication method and device
WO2016201732A1 (zh) 一种虚拟sim卡参数管理方法、移动终端及服务器
CN114900338B (zh) 一种加密解密方法、装置、设备和介质
CN107635227B (zh) 一种群组消息加密方法及装置
CN103036880A (zh) 网络信息传输方法、设备及系统
CN105162599A (zh) 一种数据传输系统及其传输方法
CN110839240B (zh) 一种建立连接的方法及装置
CN106533677B (zh) 一种用户登录方法、用户终端及服务器
CN110768928B (zh) 通信方法及通信装置、计算机设备和可读存储介质
CN106411520B (zh) 一种虚拟资源数据的处理方法、装置及系统
CN110690969A (zh) 一种多方协同完成双向ssl/tls认证的方法和系统
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
CN115150821A (zh) 离线包的传输、存储方法及装置
CN110611681A (zh) 一种加密方法及装置、存储介质
CN111415252A (zh) 一种基于区块链的隐私交易处理方法和装置
US20240064143A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
CN111865761B (zh) 一种基于区块链智能合约的社交聊天信息存证方法
CN110636503B (zh) 数据加密方法、装置、设备及计算机可读存储介质
CN110139163B (zh) 一种获取弹幕的方法和相关装置
CN113163399A (zh) 一种终端与服务器的通信方法和装置
CN115022012B (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
GR01 Patent grant
GR01 Patent grant