CN111585976B - 通信方法、装置、存储介质和电子设备 - Google Patents

通信方法、装置、存储介质和电子设备 Download PDF

Info

Publication number
CN111585976B
CN111585976B CN202010307374.3A CN202010307374A CN111585976B CN 111585976 B CN111585976 B CN 111585976B CN 202010307374 A CN202010307374 A CN 202010307374A CN 111585976 B CN111585976 B CN 111585976B
Authority
CN
China
Prior art keywords
client
ssl
certificate
key
validity period
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
CN202010307374.3A
Other languages
English (en)
Other versions
CN111585976A (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.)
Qax Technology Group Inc
Beijing Institute of Technology BIT
Original Assignee
Qax Technology Group Inc
Beijing Institute of Technology BIT
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 Qax Technology Group Inc, Beijing Institute of Technology BIT filed Critical Qax Technology Group Inc
Publication of CN111585976A publication Critical patent/CN111585976A/zh
Application granted granted Critical
Publication of CN111585976B publication Critical patent/CN111585976B/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
    • 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
    • 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/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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
    • 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/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

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)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种通信方法、装置、存储介质和电子设备,发送SSL单向证书,所述SSL单向证书包含本机标识信息;接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。本发明避免了SSL协议在长连接方式下占用多个TCP连接数,且不能自动断开,消耗了较多的通信资源。

Description

通信方法、装置、存储介质和电子设备
技术领域
本发明涉及通信领域,具体而言,涉及一种通信方法、装置、存储介质和电子设备。
背景技术
SSL(Secure Sockets Layer安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层:SSL记录协议:它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议:它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道。SSL证书主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和网络服务器程序中,可通过SSL证书实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性。
但是SSL协议在短连接方式下,每次SSL握手消耗的CPU资源比较多。SSL协议在长连接方式下占用多个TCP连接数,且不能使长时间无活动的多个TCP连接被服务器断开。
发明内容
为了解决上述问题,本发明实施例提供了一种通信方法、装置、存储介质和电子设备。
第一方面,本发明实施例提供了一种通信方法,包括以下步骤:
发送SSL单向证书,所述SSL单向证书包含本机标识信息;
接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;
基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。
可选地,所述方法还包括:
若所述密钥有效期过期,终止与所述服务器端的通信。
可选地,所述加密算法为使用CPU硬件指令进行加速的算法。
可选地,所述加密算法为通过AESNI指令集实现的加密算法。
第二方面,本发明实施例提供了另一种通信方法,包括以下步骤:
接收SSL单向证书,所述SSL单向证书包含客户端标识信息;
基于所述客户端标识信息,生成SSL客户端证书;
基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
基于所述加密算法、密钥及密钥有效期,与客户端进行通信。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识绑定有对应的客户端证书,确定所述对应的客户端证书为所述SSL客户端证书。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识为非法标识,向所述客户端返回错误信息。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识未绑定对应的客户端证书且所述客户端标识符合安全许可,发送客户端证书生成请求信息。
第三方面,本发明实施例提供了一种通信装置,包括:
发送单元,用于发送SSL单向证书,所述SSL单向证书包含本机标识信息;
接收单元,用于接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;
协商单元,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元,用于基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。
第四方面,本发明实施例提供了另一种通信装置,包括:
接收单元,用于接收SSL单向证书,所述SSL单向证书包含客户端标识信息;
生成单元,用于基于所述客户端标识信息,生成SSL客户端证书;
协商单元,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元,用于基于所述加密算法、密钥及密钥有效期,与客户端进行通信。
第五方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项方法的步骤。
第六方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项方法的步骤。
本发明提供的通信方法、装置、存储介质和电子设备,发送安全套接层SSL单向证书,所述SSL单向证书包含本机标识信息;接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。本发明以密钥有效期来控制客户端与服务器端的通信过程,可根据双方具体的通信需求设定合理的密钥有效期。在密钥有效期内,双方可通过加密算法进行安全通信。本发明避免了SSL协议在短连接方式下,双方需要多次重复地建立连接,消耗大量的CPU资源。同时,在密钥有效期过期的情况下,双方连接自动断开。本发明还避免了SSL协议在长连接方式下占用多个TCP连接数,且不能自动断开,消耗了较多的通信资源。
附图说明
图1是本发明实施例提供的一种通信方法的流程示意图;
图2是本发明实施例提供的另一种通信方法的流程示意图;
图3是本发明实施例提供的又一种通信方法的数据流示意图;
图4是本发明实施例提供的一种通信装置的结构示意图;
图5是本发明实施例提供的另一种通信装置的结构示意图;
图6是本发明实施例所涉及的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行进一步的介绍。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
参见图1,图1是本发明实施例提供的一种通信方法的流程示意图,上述方法应用于客户端,所述方法包括:
101、发送安全套接层SSL单向证书,所述SSL单向证书包含本机标识信息。
SSL单向认证只要求站点部署了SSL证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些。
本机标识信息为可唯一确定客户端的信息,包括但不限于以下信息及其组合:客户端MAC地址、客户端IP地址、客户端对应的用户ID等。
102、接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的。
在所述客户端标识绑定有对应的客户端证书的情况下,服务器端确定所述对应的客户端证书为所述SSL客户端证书。在所述客户端标识为非法标识,服务器端向所述客户端返回错误信息。在所述客户端标识未绑定对应的客户端证书且所述客户端标识符合安全许可,服务器端发送客户端证书生成请求信息。
103、基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期。
可选地,所述加密算法为使用CPU硬件指令进行加速的算法。
可选地,所述加密算法为通过AESNI指令集实现的加密算法。
采用CPU硬件指令进行加速的加密算法,相对于单纯采用软件加密的方式,较充分的利用了硬件资源,有助于提高系统运行时间,提高系统运行的整体效率。
104、基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。
可选地,所述方法还包括:
若所述密钥有效期过期,终止与所述服务器端的通信。
在密钥有效期之内,服务器端与客户端可通过建立一次连接,多次互相发送数据。从而解决了现有技术中SSL协议在短连接方式下,双方需要多次重复地建立连接,消耗大量的CPU资源的问题。同时,在密钥有效期过期的情况下,双方连接自动断开。从而解决了现有技中术SSL协议在长连接方式下占用多个TCP连接数,且不能自动断开,消耗了较多的通信资源的问题。
参见图2,图2是本发明实施例提供的另一种通信方法的流程示意图,所述方法应用服务器端,所述方法包括:
201、接收SSL单向证书,所述SSL单向证书包含客户端标识信息。
SSL单向认证只要求站点部署了SSL证书就行,任何用户都可以去访问(IP被限制除外等),只是服务端提供了身份认证。而双向认证则是需要是服务端需要客户端提供身份认证,只能是服务端允许的客户能去访问,安全性相对于要高一些。
本机标识信息为可唯一确定客户端的信息,包括但不限于以下信息及其组合:客户端MAC地址、客户端IP地址、客户端对应的用户ID等。
202、基于所述客户端标识信息,生成SSL客户端证书。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识绑定有对应的客户端证书,确定所述对应的客户端证书为所述SSL客户端证书。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识为非法标识,向所述客户端返回错误信息。
可选地,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识未绑定对应的客户端证书且所述客户端标识符合安全许可,发送客户端证书生成请求信息。
如此,服务器端可根据客户端的不同情况,进行相应处理,以保证通信双方的通信安全。
203、基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期。
采用CPU硬件指令进行加速的加密算法,相对于单纯采用软件加密的方式,较充分的利用了硬件资源,有助于提高系统运行时间,提高系统运行的整体效率。
204、基于所述加密算法、密钥及密钥有效期,与客户端进行通信。
在密钥有效期之内,服务器端与客户端可通过建立一次连接,多次互相发送数据。从而解决了现有技术中SSL协议在短连接方式下,双方需要多次重复地建立连接,消耗大量的CPU资源的问题。同时,在密钥有效期过期的情况下,双方连接自动断开。从而解决了现有技中术SSL协议在长连接方式下占用多个TCP连接数,且不能自动断开,消耗了较多的通信资源的问题。
为更好地阐述本发明的技术方案,下面讲解一个具体实施例。图3是本发明实施例提供的一种通信方法的流程示意图,在本发明实施例中,所述方法包括:
步骤1:本步骤的关键点是:发送客户端证书并采用单向SSL证书通信方式。客户端获取本机唯一标识信息,并通过单向证书SSL方式发送到服务器。服务器收到后有三种反馈方式:1)此标识已经绑定有证书,直接将此标识所绑定的双向SSL证书通信用客户端证书返回给客户端。2)如果客户端发送来的标识为非法标识,直接返回错误信息并拒绝进一步服务。3)如果此标识符合初步安全许可,需要等待管理员进一步确认以及生成该客户端标识所用的SSL客户端证书,需要返回确切的状态通知客户端稍后重新获取它的标识所绑定的SSL客户端证书。
步骤2:本步骤的关键点是是使用步骤1下发的SSL客户端证书与服务器端建立双向证书验证SSL通信连接。建立连接后,根据配置或设定的方式协调一个对称加密用的算法、密钥以及密钥有效期。双方保存此密钥及有效期备用。
步骤3:使用步骤2协调的对称加密算法、密钥和密钥有效期对要传输的数据进行加密。在非加密的TCP协议(如http)上传输已经加密好的数据。加密算法可以使用软件实现或者CPU的硬件加速指令(如AES-NI)或者加密卡实现。此过程是短连接通信过程,可以根据应用的需要在密钥有效期内重复进行多次以避免SSL握手过程的CPU开销。如果超出密钥有效期,需要重新进行身份验证并协调新的通信密钥,即重复步骤1和2以获取协商后的新的加密算法、密钥以及密钥有效期。为了提高CPU效率并降低成本,优先选用可以使用CPU硬件指令进行加速的算法,如AES-NI或SM4算法。
以下以AES-NI指令为例执行加速算法。AES-NI指令分别如下:
AESENC 执行一轮AES加密
AESENCLAST 执行最后一轮的AES加密
AESDEC 执行一轮AES解密
AESDELAST 执行最后一轮的AES解密
AESIMC 相当于AES的逆向列混合操作(InvMixColumns)
AESKEYGENASSIST 用来辅助密钥扩展操作
我们以使用C语言来实现密码算法为例,6条指令对应的C函数分别如下:
1 AESENC__m128i_mm_aesenc_si128(__m128i a,__m128i RoundKey)
2 AESENCLAST__m128i_mm_aesenclast_si128(__m128i a,__m128i RoundKey)
3 AESDEC__m128i_mm_aesdec_si128(__m128i a,__m128i RoundKey)
4 AESDELAST__m128i_mm_aesenclast_si128(__m128i a,__m128i RoundKey)
5 AESIMC__m128i_mm_aesimc_si128(__m128i a)
6 AESKEYGENASSIST__m128i_mm_aeskeygenassist_si128(__m128i a,constintimm8)
利用测试环境:intel i7-4770 3.4GHZ的处理器,64位Windows7操作系统,编译器为vs2010。编程用标准C语言实现。对比是否使用AES-NI指令的加解密速度如下:
AES-NI实现AES-128加密 14.6(循环/比特)
普通指令实现AES-128加密 328(循环/比特)
AES-NI实现AES-128解密 14.7(循环/比特)
普通指令实现AES-128解密 331(循环/比特)
由以上可以看出,无论是加密还是解密,利用AES-NI指令加速效率都提高了22.5倍(328/14.6≈22.5;331/14.7≈22.5)。
步骤4:因为应用登出或其它异常(如密钥有效期过期),需要结束本次通信会话,客户端和服务器端仅简单清除会话环境,终止本次通信。
本发明在整个应用的会话期中的数据传送过程中仅作数据加密,避免SSL握手过程而不会降低加密通信过程的安全性。应用程序在工作时需要多次重复地与服务器建立连接,此过程的SSL握手需要消耗大量的CPU时间,特别是服务器CPU时间,导致服务器的负载能力大量下降。本发明避免了应用程序与服务器会话过程中大量的SSL握手开销,极大提高了服务器的负载能力,可以为更多的应用程序客户端服务。
多个应用程序客户端需要服务器端提供服务能力并需要同时严格保证服务器和客户端双向的身份可信。在此情况下,将通信过程按标识,认证及服务分为三个阶段,服务器在标识阶段下发通过硬件标识绑定的对应的SSL客户证书,在第二阶段进行双向SSL证书通信,提供严格的身份认证并在此过程中协商在第三阶段可以保证数据安全和身份安全的对称加密算法和密钥相关信息,在第三阶段用协调出来的算法和密钥进行通信。
服务器和客户端用协商出来的密钥和算法进行成功的通信即可证明双方的身份又可保证数据本身的安全。在此重复的大量的数据传输过程中节省了大量的SSL握手时间。本专利第二阶段协商的对称加密算法可以是软件实现算法或硬件指令加密算法,优先协商可以用CPU硬件指令进行运算的算法,如AES或SM4算法,以尽量减轻服务器负载,向尽可能多的客户端提供服务能力。
上述图1~图3详细阐述了本申请实施例的通信方法。请参见图4,图4是本发明实施例提供的一种通信装置的结构示意图,如图4所示,所述通信装置包括:
发送单元401,用于发送SSL单向证书,所述SSL单向证书包含本机标识信息;
接收单元402,用于接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;
协商单元403,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元404,用于基于所述加密算法、密钥及密钥有效期,与服务器端进行通信。
可选地,所述通信单元404还用于:
若所述密钥有效期过期,终止与所述服务器端的通信。
可选地,所述加密算法为使用CPU硬件指令进行加速的算法。
可选地,所述加密算法为通过AESNI指令集实现的加密算法。
请参见图5,图5是本发明实施例提供的另一种通信装置的结构示意图,如图5所示,所述通信装置包括:
接收单元501,用于接收SSL单向证书,所述SSL单向证书包含客户端标识信息;
生成单元502,用于基于所述客户端标识信息,生成SSL客户端证书;
协商单元503,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元504,用于基于所述加密算法、密钥及密钥有效期,与客户端进行通信。
可选地,所述生成单元502具体用于:
若所述客户端标识绑定有对应的客户端证书,确定所述对应的客户端证书为所述SSL客户端证书。
可选地,所述生成单元502具体用于:
若所述客户端标识为非法标识,向所述客户端返回错误信息。
可选地,所述所述生成单元502具体用于:
若所述客户端标识未绑定对应的客户端证书且所述客户端标识符合安全许可,发送客户端证书生成请求信息。
本领域的技术人员可以清楚地了解到本发明实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
本发明实施例的各处理单元和/或模块,可通过实现本发明实施例所述的功能的模拟电路而实现,也可以通过执行本发明实施例所述的功能的软件而实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述通信方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
参见图6,其示出了本发明实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施上述实施例中通信方法。具体来讲:
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器620还可以包括存储器控制器,以提供处理器680和输入单元630对存储器620的访问。
输入单元630可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元630可包括触敏表面631(例如:触摸屏、触摸板或触摸框)。触敏表面631,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面631上或在触敏表面631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面631。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及终端设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元640可包括显示面板641,可选的,可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等形式来配置显示面板641。进一步的,触敏表面631可覆盖显示面板641,当触敏表面631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触敏表面631与显示面板641是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面631与显示面板641集成而实现输入和输出功能。
处理器680是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。可选的,处理器680可包括一个或多个处理核心;其中,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
具体在本实施例中,终端设备的显示单元是触摸屏显示器,终端设备还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含实现上述基于终端的避难方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上介绍仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种通信方法,其特征在于,所述方法包括:
发送安全套接层SSL单向证书,所述SSL单向证书包含本机标识信息;
接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;
基于所述SSL客户端证书,建立通信连接,与服务器端进行通信:
基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
基于所述加密算法、密钥及密钥有效期,与服务器端进行通信;
判断所述密钥是否处于有效期,若处于有效期,则使用协商的加密算法、密钥对要传输的数据进行加密,并传输已经加密好的数据;
若所述密钥有效期过期,则终止与所述服务器端的通信。
2.根据权利要求1所述的方法,其特征在于,
加密算法为使用CPU硬件加速指令进行的算法。
3.根据权利要求2所述的方法,其特征在于,
所述加密算法为通过AESNI指令集实现的加密算法。
4.一种通信方法,其特征在于,所述方法包括:
接收SSL单向证书,所述SSL单向证书包含客户端标识信息;
基于所述客户端标识信息,生成SSL客户端证书;
基于所述SSL客户端证书,建立通信连接,与客户端进行通信:
基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
基于所述加密算法、密钥及密钥有效期,与客户端进行通信;
在密钥有效期之内,与客户端可通过建立一次连接,多次互相发送数据,在密钥有效期过期的情况下,与客户端的连接自动断开。
5.根据权利要求4所述的方法,其特征在于,所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识绑定有对应的客户端证书,确定所述对应的客户端证书为所述SSL客户端证书。
6.根据权利要求4所述的方法,其特征在于,
所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识为非法标识,向所述客户端返回错误信息。
7.根据权利要求4所述的方法,其特征在于,
所述基于所述客户端标识信息,生成SSL客户端证书包括:
若所述客户端标识未绑定对应的客户端证书且所述客户端标识符合安全许可,发送客户端证书生成请求信息。
8.一种通信装置,其特征在于,所述装置包括:
发送单元,用于发送SSL单向证书,所述SSL单向证书包含本机标识信息;
接收单元,用于接收SSL客户端证书,所述客户端证书是根据所述本机标识信息生成的;
协商单元,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元,用于基于所述加密算法、密钥及密钥有效期,与服务器端进行通信;判断所述密钥是否处于有效期,若处于有效期,则使用协商的加密算法、密钥对要传输的数据进行加密,并传输已经加密好的数据;
若所述密钥有效期过期,则终止与所述服务器端的通信。
9.一种通信装置,其特征在于,所述装置包括:
接收单元,用于接收SSL单向证书,所述SSL单向证书包含客户端标识信息;
生成单元,用于基于所述客户端标识信息,生成SSL客户端证书;
协商单元,用于基于所述SSL客户端证书,建立通信连接,并协商加密算法、密钥及密钥有效期;
通信单元,用于基于所述加密算法、密钥及密钥有效期,与客户端进行通信;在密钥有效期之内,与客户端可通过建立一次连接,多次互相发送数据,在密钥有效期过期的情况下,与客户端的连接自动断开。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时使处理器执行如权利要求1-7任意一项所述的方法。
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1-7中任一项所述方法的步骤。
CN202010307374.3A 2020-04-09 2020-04-17 通信方法、装置、存储介质和电子设备 Active CN111585976B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2020102763703 2020-04-09
CN202010276370 2020-04-09

Publications (2)

Publication Number Publication Date
CN111585976A CN111585976A (zh) 2020-08-25
CN111585976B true CN111585976B (zh) 2021-11-23

Family

ID=72111497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010307374.3A Active CN111585976B (zh) 2020-04-09 2020-04-17 通信方法、装置、存储介质和电子设备

Country Status (1)

Country Link
CN (1) CN111585976B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113259096B (zh) * 2021-04-27 2021-11-12 江南信安(北京)科技有限公司 一种适于物联网通信环境的密钥在线协商方法及系统
CN114615309B (zh) * 2022-01-18 2024-03-15 奇安信科技集团股份有限公司 客户端接入控制方法、装置、系统、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702611A (zh) * 2015-03-15 2015-06-10 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
CN106657135A (zh) * 2017-01-12 2017-05-10 上海艾讯云计算有限公司 一种基于安全套接层协议认证的文件传输方法及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7360075B2 (en) * 2001-02-12 2008-04-15 Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols
CN101459506B (zh) * 2007-12-14 2011-09-14 华为技术有限公司 密钥协商方法、用于密钥协商的系统、客户端及服务器
CN102594822B (zh) * 2012-02-20 2014-12-10 南京邮电大学 一种基于安全套接层的安全的网络电话的实现方法
CN103312731B (zh) * 2012-03-06 2017-10-17 杭州华为企业通信技术有限公司 同时支持tls短连接和长连接的处理方法和系统及设备
CN109246053B (zh) * 2017-05-26 2022-05-24 阿里巴巴集团控股有限公司 一种数据通信方法、装置、设备和存储介质
US10567348B2 (en) * 2017-07-06 2020-02-18 Citrix Systems, Inc. Method for SSL optimization for an SSL proxy
CN108880821B (zh) * 2018-06-28 2021-07-13 中国联合网络通信集团有限公司 一种数字证书的认证方法及设备
CN109257365B (zh) * 2018-10-12 2021-08-13 深信服科技股份有限公司 一种信息处理方法、装置、设备和存储介质
CN109120405B (zh) * 2018-10-29 2021-11-09 全球能源互联网研究院有限公司 一种终端安全接入方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702611A (zh) * 2015-03-15 2015-06-10 西安电子科技大学 一种保护安全套接层会话密钥的设备及方法
CN106657135A (zh) * 2017-01-12 2017-05-10 上海艾讯云计算有限公司 一种基于安全套接层协议认证的文件传输方法及设备

Also Published As

Publication number Publication date
CN111585976A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN111193695B (zh) 一种第三方账号登录的加密方法、装置及存储介质
US10601795B2 (en) Service processing method and electronic device
CN109600223B (zh) 验证方法、激活方法、装置、设备及存储介质
WO2018157858A1 (zh) 信息存储方法、装置及计算机可读存储介质
RU2297037C2 (ru) Управление защищенной линией связи в динамических сетях
WO2019120091A1 (zh) 身份认证方法、系统及计算设备
US8250151B2 (en) System and method for providing secure data transmission
KR20040094377A (ko) 온 더 플라이 암호화/복호화에 대한 usb 데이터의 동적대체
US9672367B2 (en) Method and apparatus for inputting data
CN111585976B (zh) 通信方法、装置、存储介质和电子设备
CN115001841A (zh) 一种身份认证方法、装置及存储介质
CN112987942A (zh) 键盘输入信息的方法、装置、系统、电子设备和存储介质
CN117240475B (zh) 一种智能门锁的通信方法、系统、设备及介质
WO2024124924A1 (zh) 小程序应用的密钥协商方法及装置
US8676998B2 (en) Reverse network authentication for nonstandard threat profiles
CN108989302B (zh) 一种基于密钥的opc代理连接系统和连接方法
CN114329574B (zh) 基于域管平台的加密分区访问控制方法、系统及计算设备
WO2014089968A1 (zh) 虚拟机系统数据加密方法及设备
CN113904830B (zh) 一种spa认证的方法、装置、电子设备和可读存储介质
KR20160012546A (ko) 이동단말기의 원격제어시스템
CN101499113B (zh) 安全调度显示的系统、方法及辅助显示装置
CN115001936B (zh) 一种基于管理代理的运维管理系统、方法及计算机设备
CN111970281B (zh) 基于验证服务器的路由设备远程控制方法、系统及电子设备
US20230403138A1 (en) Agentless single sign-on techniques
KR20110069873A (ko) 휴대용 단말을 이용한 데이터 통신

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