CN113381855B - 通信方法和系统 - Google Patents

通信方法和系统 Download PDF

Info

Publication number
CN113381855B
CN113381855B CN202110651830.0A CN202110651830A CN113381855B CN 113381855 B CN113381855 B CN 113381855B CN 202110651830 A CN202110651830 A CN 202110651830A CN 113381855 B CN113381855 B CN 113381855B
Authority
CN
China
Prior art keywords
certificate
private key
server
target
memory
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
CN202110651830.0A
Other languages
English (en)
Other versions
CN113381855A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202110651830.0A priority Critical patent/CN113381855B/zh
Publication of CN113381855A publication Critical patent/CN113381855A/zh
Application granted granted Critical
Publication of CN113381855B publication Critical patent/CN113381855B/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
    • 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/0825Key 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 asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • 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
    • 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

Abstract

本申请提供了一种通信方法,用于服务器中,服务器配置有服务器程序,所述服务器程序的程序代码中内置有目标证书和目标私钥;所述方法包括:当服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和目标私钥在服务器程序启动或运行时被加载到服务器的内存中;及响应于所述访问请求,根据加载于内存中的目标证书和目标私钥,与终端设备进行加密通信。在本申请中,持久化存储的目标证书和目标私钥被隐藏于程序代码中,而非磁盘的固定位置,并在服务器程序启动或运行时,随程序代码一起加载到内存中以用于加密验证。因此,证书和私钥不容易被登录所述服务器的非法用户所发现甚至盗用,提高了服务器的安全性,进而提升通信安全。

Description

通信方法和系统
技术领域
本申请涉及通信技术领域,尤其涉及一种通信方法、系统、计算机设备及计算机可读存储介质。
背景技术
随着计算机技术的发展,为了实现服务器与终端设备之间的安全连接,关于证书对应的私钥在服务器中的保护变得尤为重要。然而,发明人发现,私钥和证书在服务器中通常被存放在固定的配置目录位置,那么有权限或者有能力登录第三方服务器或自身服务器的人员会容易在软件的配置目录位置找到私钥和证书,使得服务器中的私钥存在极大的被盗风险,并且使得服务器中的证书存在被吊销的风险,继而使得服务器中的数据传输存在泄漏的风险。因此,如何实现证书和私钥在服务器中更安全地存储,以提升通信安全,是急需解决的问题。
发明内容
本申请的目的是提供一种通信方法、系统、计算机设备以及计算机可读存储介质,用于解决服务器中的证书和私钥容易被获取甚至利用而导致服务器安全隐患大的问题。
本申请实施例的一个方面提供了一种通信方法,用于服务器中,所述服务器配置有服务器程序,其中,所述服务器程序的程序代码中内置有目标证书和目标私钥;所述方法包括:
当所述服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器的内存中;及
响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信。
可选的,所述服务器还配置有伪造证书和伪造私钥,所述伪造证书和所述伪造私钥位于所述服务器的磁盘的指定存放位置。
可选的,所述方法还包括:
所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中;当所述伪造证书和所述伪造私钥被加载到所述内存中,则清除所述内存中的伪造证书和伪造私钥。
可选的,所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中,包括:
通过证书调用函数,将位于所述磁盘的所述伪造证书的证书内容加载到所述内存中;及
通过私钥调用函数,将位于所述磁盘的所述伪造私钥加载到所述内存中。
可选的,所述方法还包括:
预先配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中。
可选的,所述方法配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中包括:
配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;
配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;
将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;及
将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。
可选的,所述方法还包括:
若所述目标证书和所述目标私钥被加载到内存中,则执行以下操作:
解析位于所述内存中的目标证书,以得到所述内存中的真实证书;
解析位于所述内存中的目标私钥,以得到所述内存中的真实私钥;及
将所述内存中的真实证书和所述内存中的真实私钥设置到动态接口中,以供调用。
可选的,所述响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信,包括:
响应于所述访问请求,根据所述内存中的真实证书生成第一响应消息;
将所述第一响应消息发送给所述终端设备,以使所述终端设备根据所述第一响应消息中的真实证书加密生成第二响应消息并返回所述第二响应消息至所述服务器;
接收所述第二响应消息,根据所述内存中的真实私钥解密所述第二响应消息以得到解密数据;及
根据所述解密数据生成会话密钥,并根据所述会话密钥与所述终端设备建立加密通道。
本申请实施例的一个方面又提供了一种通信系统,用于服务器中,所述服务器配置有服务器程序,其中,所述服务器程序的程序代码中内置有目标证书和目标私钥;所述系统包括:
接收模块,用于当所述服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器的内存中;及
响应模块,响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信。
本申请实施例的一个方面又提供了一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述通信方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,包括存储器、处理器以及存储在存储器上并可在至少一个处理器上运行的计算机程序,所述至少一个处理器执行所述计算机程序时实现如上述通信方法的步骤。
本申请实施例提供的通信方法、系统、计算机设备以及计算机可读存储介质,在所述服务器程序启动或运行时内置于程序代码中的目标证书和目标私钥会被加载到所述服务器的内存中,以得到所述内存中的目标证书和目标私钥,响应于终端设备发送的访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信;持久化存储的目标证书和目标私钥被隐藏于程序代码中,而非磁盘的固定位置,并在服务器程序启动或运行时,随程序代码一起加载到内存中用于加密验证。由于被隐藏于程序代码中,因此,证书和私钥不容易被登录所述服务器的非法用户所发现甚至盗用,提高了服务器的安全性,进而提高了服务器与终端设备之间的加密通信的安全性。
附图说明
图1示意性示出了根据本申请实施例的通信系统的架构示意图;
图2示意性示出了根据本申请实施例的通信系统的加密通信示意图;
图3示意性示出了根据本申请实施例一的通信方法的流程图;
图4示意性示出了根据本申请实施例一的通信方法中加载所述伪造证书和所述伪造私钥至内存中的流程图;
图5示意性示出了根据本申请实施例一的通信方法中配置所述目标证书和所诉目标私钥的流程图;
图6示意性示出了根据本申请实施例一的通信方法中解密位于内存中的目标证书和位于内存中的目标私钥的流程图;
图7示意性示出了根据本申请实施例一的通信方法中SSL动态加载的流程图;
图7-1示意性示出了根据本申请实施例一的通信方法中TCP握手和TLS/SSL连接的流程图;
图8示意性示出了根据本申请实施例一的通信方法的操作流程图;
图9示意性示出了根据本申请实施例二的通信系统的框图;
图10示意性示出了根据本申请实施例三的通信配置方法的流程图;及
图11示意性示出了根据本申请实施例四的适于实现通信方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
下面为本申请涉及的术语解释:
OpenSSL:安全套接字层密码库,包括SSL协议库、应用程序命令工具以及密码算法库(libcrypto)。
SSL:Secure Sockets Layer安全套接字协议。
TLS:即Transport Layer Security,传输安全层,通过加密的方式使HTTP的交互更加安全。
HTTPS:比HTTP(超文本传输协议)更安全的应用层协议,即HTTP+TLS或SSL,对原HTTP内容进行加密传输。
TCP:即Transmission Control Protocol,传输控制协议;在基于TCP的HTTPS的请求中进行TLS连接或者SSL(Secure Sockets Layer,安全套接层)连接前,会有TCP的三次握手建立连接。
证书:防止中间人攻击,认证公钥的合法性,由CA(Certificate Authority,颁发证书的机构)签发,包括公钥、证书颁发者、有效期、证书持有公司、数字签名等信息。
对称加密:加密双方使用一对相同的密钥。
非对称加密:加密双方使用不同的密钥(公钥和私钥):公钥是对外开放的,私钥是自己的;公钥加密的数据,能通过私钥进行解密;私钥加密的数据,只能通过公钥进行解密。
数字签名:一种hash(哈希)算法,保证信息的完整性,
hash算法:单向算法,从hash值不能反推出原始数据;对输入数据敏感,一个bit(位)的变化,最后的hash值也很大不同。
AES(Advanced Encryption Standard,高级加密标准),为一种对称加密算法,常用的AES算法包括aes-128-cbc算法、aes-128-gcm算法、aes-256-gcm算法等。
Lua:一种嵌入式脚本语言。
Nginx:一种高性能的Web Server(网页服务器)、反向代理服务器或代理网关。
Openresty:一个基于Nginx的开源项目,在够在Nginx上跑Lua脚本。
本发明人了解到:现有技术中,通常会把私钥和证书放在服务器固定的位置。如果服务部署在第三方机房或边缘节点上,存放在这些节点上的私钥会被第三方人员或有权限登录这些服务器的非法人员通过查看软件配置目录获取到,从而使得私钥被盗和证书被吊销,继而导致在数据传输过程中存在数据泄漏的风险;最终影响服务器的HTTPS服务的可用性,同时还会给服务器带来声誉和金钱上的损失。
本申请旨在:
(1)于Nginx服务器的固定证书私钥位置放置一个伪造私钥和一个伪造证书来欺骗非法用户,以降低非法用户通过容易查找到的真实私钥和真实证书窥探服务器的数据的风险;甚至降低非法用户利用容易查找到真实的私钥和真实的证书来趁机谋利的风险;
(2)把真实私钥和真实证书经过加密编码后存放在代码内存(即服务器程序启动或者运行后服务器代码所占用的内存)中,从而提高非法用户的通信破坏难度。
下文将提供多个实施例,下文提供的各个实施例可以用于解决上述描述的缺陷。
图1示意性示出了根据本申请实施例的通信系统的系统架构图。
在示例性的实施例中,如图1所示,所述通信系统包括至少一个终端设备2和至少一个服务器4,终端设备2可以通过网络6与服务器4建立网络连接。其中,终端设备2和服务器4是可以是移动电话、平板个人计算机(tablet personal computer)、膝上型计算机(laptop computer)等计算机设备。所述网络6可以是因特网。
在示例性的实施例中,所述服务器4配置有服务器程序。
参考图2,示意性示出了根据本申请实施例的通信系统的加密通信示意图。在示例性的实施例中,服务器4可以为Nginx服务器,服务器程序可以为Nginx程序。所述服务器程序的程序代码(即Lua代码)中内置有目标证书和目标私钥。其中,目标证书为对真实证书加密编码之后的加密证书并被存放在程序代码中。目标私钥为对真实私钥加密编码之后的加密私钥并被存放在程序代码中。所述程序代码中配置有与目标证书和目标私钥相应的解密算法。服务器4内置有配置文件。服务器4的磁盘还配置有伪造证书和伪造私钥,所述伪造证书和所述伪造私钥位于所述服务器4的磁盘的指定存放位置(即配置文件有指向伪造证书和伪造私钥的位置)。示例性的,通过OpenSSL生成伪造证书和伪造私钥,并将伪造证书和伪造私钥放进Nginx服务器的配置文件中用于存放证书和私钥的目录位置。
在终端设备2与服务器4之间进行TCP的三次握手之后,终端设备2可以根据其产生的HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,基于安全套接层协议的超文本传输协议)请求与服务器4进行TLS/SSL握手,以建立终端设备2与服务器4之间的加密通信。在进行TLS/SSL握手的操作过程中,服务器4会给终端设备2下发Lua代码中经过解密得到的真实证书,而不是磁盘上的伪造证书;服务器4也会通过Lua代码中经过解密得到的真实私钥进行TLS/SSL握手,而不是使用磁盘上的伪造私钥进行TLS/SSL握手,使得服务器4和终端设备2协商出对称密钥,以建立终端设备2与服务器4之间的加密通信。
实施例一
下面以服务器4为执行主体进行示例性的描述。在本申请实施例中,服务器4配置有服务器程序,其中,服务器程序的程序代码中内置有目标证书和目标私钥。
参考图3,示出了本申请实施例之通信方法的流程图。
如图3所示,所述通信方法可以包括步骤S300~S302,其中:
步骤S300,当所述服务器程序运行时,接收终端设备2发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器4的内存中。
步骤S302,响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备2进行加密通信。
内置于程序代码中的目标证书和目标私钥为用于加密传输的有效证书和有效私钥。加载于所述内存中的目标证书和目标私钥,为在建立服务器4与终端设备2之间的加密通道过程中实际使用的证书和私钥。服务器程序启动或运行时,内置于程序代码中的目标证书和目标私钥会被复制到内存中,以得到所述内存中的目标证书和目标私钥,以用于加密验证操作。可知,由于持久化存储的目标证书和目标私钥被隐藏于程序代码中,而非磁盘的固定位置,并在服务器程序启动或运行时,才随程序代码一起加载到内存中以用于加密验证操作,因此,不容易被登录所述服务器4的非法用户发现甚至盗用,有效地保护了证书和私钥,提高了服务器4的安全性,进而提高了服务器4与终端设备2之间的加密通信的安全性。
作为示例,所述服务器4还配置有伪造证书和伪造私钥,所述伪造证书和所述伪造私钥位于所述服务器4的磁盘的指定存放位置。例如,所述伪造证书和所述伪造私钥可以被放置在磁盘中用于存储证书和私钥的常规放置位置,以增加非法用户破坏所述目标证书和目标私钥的难度,进而提高非法用户的通信破坏难度。
为了服务器程序能够有效地运行,服务器程序启动或运行时,位于所述服务器4的磁盘的指定存放位置的伪造证书和伪造私钥会随所述服务器程序启动或运行被加载到所述服务器4的内存中。如图4所示,将位于所述磁盘的指定存放位置的所述伪造证书和所述伪造私钥加载到所述内存中的操作还可以包括步骤S400~S402,其中:步骤S400,通过证书调用函数,将位于所述磁盘的所述伪造证书的证书内容加载到所述内存中;步骤S402,通过私钥调用函数,将位于所述磁盘的所述伪造私钥加载到所述内存中。
为了避免加载在内存中的伪造证书和伪造私钥对后续通信的影响,以确保服务器能够正确地将加载于所述内存中的目标证书和目标私钥用于加密通信中,在本实施例中,所述方法还包括:所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中,当所述伪造证书和所述伪造私钥被加载到所述内存时,则清除所述内存中的伪造证书和伪造私钥,使得服务器无需判断证书和私钥的真伪,直接根据位于内存中的目标证书和目标私钥,执行后续的加密验证操作,以提高服务器的响应速度。需要说明的是,每个TLS/SSL连接(即访问请求)过来时,先清除之前服务器4初始化启动时被加载在内存中的伪造证书和伪造私钥,而持久化存储于磁盘的指定存放位置(证书和私钥存放目录位置)中的伪造证书和伪造私钥不会被清除,从而可以通过位于磁盘的指定存放位置中而容易被发现的伪造证书和伪造私钥,达到防范登录所述服务器4的非法用户的目的。
为了进一步提高位于所述程序代码中的目标证书和目标私钥的安全性,目标证书可以是对真实证书加密编码之后的加密证书并被存放在程序代码中。目标私钥可以是对真实私钥加密编码之后的加密私钥并被存放在程序代码中。示例性的,所述方法还包括:预先配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中。参考图5,预先配置所述目标证书和所述目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中还可以通过以下操作得到:步骤S500,配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;步骤S502,配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;步骤S504,将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;及步骤S506,将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。举例而言,服务器4可以通过aes-128-cbc算法分别对真实证书和真实私钥进行加密,其中aes-128-cbc算法为AES算法中的cbc(Cipher BlockChaining,加密块链)模式。服务器4可以通过base64的编码方式对加密后的真实证书和真实私钥分别进行编码,以编码得到所述目标证书和所述目标私钥,并将所述目标证书和所述目标私钥存放在所述程序代码中。需要说明的是,编码得到的目标证书和目标私钥符合服务器4的程序语言的相关规则。
为了提高目标证书和目标私钥调用的效率,如图6所示,若所述目标证书和所述目标私钥被加载到内存中,则执行以下操作:步骤S600,解析位于所述内存中的目标证书,以得到所述内存中的真实证书;步骤S602,解析位于所述内存中的目标私钥,以得到所述内存中的真实私钥;及步骤S604,将所述内存中的真实证书和所述内存中的真实私钥设置到动态接口中,以供调用。在本实施例中,获取与目标证书对应的解密算法,对位于内存中的目标证书进行反编码和解密,以得到所述内存中的真实证书。获取与目标私钥对应的解密算法,对位于内存中的目标私钥进行反编码和解密,以得到所述内存中的真实私钥。再将位于内存中的真实证书和位于内存中的真实私钥以参数的形式设置到用于TLS/SSL握手连接过程的TLS/SSL动态接口中,以通过TLS/SSL动态接口将位于内存中的真实证书下发到终端设备2,进一步提高服务器4对于访问请求的响应效率。
在示例性的实施例中,所述方法可以通过建立TLS/SSL的握手连接来提高服务器4与终端设备2之间的通信安全性。如图7所示,所述响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备2进行加密通信还可以包括以下步骤,其中:步骤S700,响应于所述访问请求,根据所述内存中的真实证书生成第一响应消息;步骤S702,将所述第一响应消息发送给所述终端设备2,以使所述终端设备2根据所述第一响应消息中的真实证书加密生成第二响应消息并返回所述第二响应消息至所述服务器4;步骤S704,接收所述第二响应消息,根据所述内存中的真实私钥解密所述第二响应消息以得到解密数据;及步骤S706,根据所述解密数据生成会话密钥,并根据所述会话密钥与所述终端设备2建立加密通道。在示例性的实施例中,在进行TLS/SSL的握手连接之前,所述方法还包括通过TCP的三次握手建立终端设备2与服务器4之间端对端的连接。
为了更加清晰明白,下面结合图7和图7-1示例性说明上述TCP的三次握手操作和TLS/SSL的握手连接的操作:
(1)TCP的三次握手(TCP Handshake)操作具体如下:
①终端设备2发送握手数据包(SYN包)给服务器4请求连接。
②服务器4回应握手数据确认包(SYN/ACK包)给终端设备2,其中,SYN/ACK包中的ACK表示接收到终端设备2的连接请求,握手数据确认包表示服务器4确认与终端设备2建立连接。
③终端设备2回应确认字符包(ACK包)给服务器4,其中,确认字符包表示终端设备2接收到服务器4的确认连接请求,且终端设备2确认与服务器4建立连接。
(2)TLS/SSL的握手连接(TLS/SSL Handshake)的操作具体如下:
①终端设备2发送访问请求:
服务器4接收终端设备2发送的访问请求。
访问请求包括终端设备2支持的协议版本(SSL Protocol version)、会话标识(Session ID)、客户端随机数、加密套件(List of Cipher Suites)、扩展信息(ClientHello Extensions)等参数。
②服务器4返回第一响应消息:
响应于访问请求,服务器4向终端设备2返回第一响应消息。
第一响应消息包括服务器内存提供的真实证书(Server Certificate)、服务器随机数、服务器4选择的加密套件(Selected Cipher)、与终端设备2协商好的协议版本(SSLProtocol version)、会话标识(Session ID)、客户端证书请求(Client CertifitateRequest)等参数。需要说明的是,客户端证书请求为可选参数。
③终端设备2生成会话密钥并发送加密后的随机数:
终端设备2在接收第一响应消息,根据第一响应消息验证服务器4发送过来的真实证书以及真实证书所持有的网络站点,若该真实证书以及真实证书所持有的网络站点验证通过,终端设备2则会生成会话密钥(session key creation)。
在本实施例中,会话密钥(session key)可以通过以下操作生成:
i)终端设备2计算生成一个随机数(pre-master secret),终端设备2通过接收到的真实证书中的公钥对所述随机数进行加密,将加密后的随机数发送给服务器4。
若终端设备2接收到客户端证书请求,且该终端设备2有相应的客户端证书,则将终端设备2的客户端证书和所述加密后的随机数发送至服务器4,以使服务器4验证该客户端证书。
ii)终端设备2根据其自身的客户端随机数、第一响应消息中的服务器随机数和所述随机数,计算得到会话密钥。
④终端设备2发送用于表示已完成TLS/SSL握手的信息:
终端设备2在计算得到会话密钥之后,结合终端设备2与服务器4通信过程中终端设备2的所有通信参数的hash值与其他相关信息生成客户端握手完成消息,根据会话密钥与加密算法对客户端握手完成消息进行加密,将加密后的客户端握手完成消息发送给服务器4,以用于数据与握手验证;客户端握手完成消息表示终端设备2完成TLS/SSL连接。
⑤在服务器4接收到所述加密后的随机数后,服务器4根据位于内存中的真实私钥解密所述加密后的随机数,得到解密数据(即pre-master secret)。
⑥服务器4发送用于表示已完成TLS/SSL握手的信息:
服务器4通过解密得到的所述随机数、客户端随机数和服务器4自身的服务器随机数,计算出会话密钥,服务器4中计算得到的会话密钥与终端设备2中计算得到的会话密钥相同。在服务器4计算得到会话密钥之后,服务器4结合会话密钥以及终端设备2与服务器4通信过程中服务器4的所有通信参数的hash值,解密客户端握手完成消息,以验证数据和会话密钥的正确性。若验证结果表示数据和会话密钥验证正确,服务器4则结合在终端设备2与服务器4通信过程中服务器4的所有通信参数的hash值、会话密钥和加密算法,加密生成服务器握手完成消息发送到终端设备2。其中,服务器握手完成消息表示服务器4完成TLS/SSL连接。
综上,终端设备2和服务器4通过会话密钥实现两端之间消息的加密通信。
为了使得本申请更加容易理解,下面结合图8提供一个具体示例。
在该示例中,服务器4为Nginx服务器。Nginx服务器内置有Lua代码,该Lua代码内置有目标证书和目标私钥。该目标证书和目标私钥会随所述Lua代码的加载而被载入到Nginx服务器的内存中。该目标证书和目标私钥是经过加密后的证书和密钥,Lua代码中配置有解密算法。
步骤S800,Nginx服务器启动时,读取磁盘的配置文件,并从配置文件中用于存放伪造证书和伪造私钥的目录位置获取伪造证书和伪造私钥。通过证书调用函数(OPENSSL中用于调用证书的函数指令),将伪造证书加载到Nginx服务器的内存中,通过私钥调用函数(OPENSSL中用于调用私钥的函数指令),将伪造私钥加载到所述内存中,以将磁盘中的伪造证书和伪造私钥加载到所述内存中。
其中,伪造私钥(private.key)可以通过用于指示生成私钥的命令行生成。伪造证书(public.crt)可以通过用于指示生成证书的命令行生成。其中,用于指示生成证书的命令行包括但不限于以下参数:新生成的证书的格式,例如x509;新生成的证书的有效期限,例如days365;新生成的证书的相关信息,例如:证书地址、邮箱地址、证书拥有者信息等。
(1)伪造证书的加载过程如下:
调用连接证书调用函数中的下载证书的函数,加载位于磁盘中的伪造证书(public.crt),并生成X509格式的伪造证书的证书内容。再调用OPENSSL的库函数中使用证书的函数,将磁盘中的伪造证书加载到所述内存中,即通过参数的形式将伪造证书设置到SSL动态接口中:第一个参数设置为当前ssl_connection(SSL连接),第二个参数设置为X509格式的伪造证书的证书内容。
(2)伪造私钥的加载过程如下:
加载位于磁盘中的伪造私钥的私钥内容,再调用OPENSSL的库函数中ssl使用私钥的函数,将位于磁盘中的伪造私钥加载到所述内存中,即通过参数的形式将伪造私钥设置到SSL动态接口中:第一个参数设置为当前ssl_connection(SSL连接),第二个参数设置为伪造私钥的私钥内容。
在磁盘中的伪造证书和在磁盘中的伪造私钥均加载到所述内存后,进入步骤S802。
步骤S802,若接收到终端设备2的访问请求,则清除所述内存中的伪造证书和伪造私钥;进入步骤S804。
步骤S804,解析位于所述内存中的目标私钥和目标证书,以得到位于所述内存中的真实证书和真实私钥。
可从Lua代码中获取用于解析位于内存中的目标私钥和目标证书的解密算法;解析位于内存中的目标证书使用的解密算法与上述对真实证书的加密算法相对应,解析位于内存中的目标私钥使用的解密算法与上述对真实私钥的加密算法相对应。
所述目标证书和目标私钥可以通过各种算法加密而成,例如对称加密算法或非对称加密算法。下面以对称加密的加密方式来示例性说明所述目标证书和目标私钥的生成过程:
(1)加密真实私钥,以得到所述目标私钥:
①通过用于指示加密真实私钥的命令行加密真实私钥(real_private.key),其中,所述用于指示加密真实私钥的命令行包括但不限于以下参数:加密算法,例如aes-128-cbc;真实私钥的加密密码,例如K;真实私钥的初始化向量,用于使得真实私钥的加密报文特征随机化产生,例如iv。
②通过用于指示编码加密后的真实私钥的命令行对加密后的真实私钥进行编码,编码得到base64_enc_real_private.key(即目标私钥);再把“base64_enc_real_private.key”存放在所述Lua代码中的SSL解密代码中的第二预设变量里。
(2)加密真实证书,以得到目标证书:
①通过用于指示加密真实证书的命令行加密真实证书(real_public.crt),其中,所述用于指示加密真实证书的命令行包括但不限于以下参数:加密算法,例如aes-128-cbc;真实证书的加密密码,例如K;真实证书的初始化向量,用于使得真实证书的加密报文特征随机化产生,例如iv。
②通过用于指示编码加密后的真实证书的命令行对加密后的真实证书编码得到base64_enc_real_public.crt(即目标证书);再把“base64_enc_real_public.crt”存放在所述Lua代码中的SSL解密代码中的第一预设变量里。
在示例性的实施例中,可以借助OpenResty的lua-resty-core的ngx.ssl模块提供的相关函数对加载于内存中的目标证书和位于内存中的目标私钥进行解密;具体操作如下:
(1)加载于所述内存中的目标证书的解密过程如下:
①调用解编码函数对“base64_enc_real_public.crt(即目标证书)”进行解编码,以得到enc_real_public_crt(加密后的真实证书),再根据若干个解密参数和与aes-128-cbc的对称加密算法对应的解密算法生成一个证书解密变量,然后通过用于指示解密位于所述内存中加密后的真实证书的命令行解密得到public_crt(位于所述内存中的真实证书),其中,所述用于指示解密位于所述内存中加密后的真实证书的命令行包括但不限于以下参数:空值(nil);加密套件(aes.cipher);加密位数,例如128;加密模式,例如cbc。
②调用pem格式(Privacy Enhanced Mail,安全加密函件标准格式)的证书加载函数,生成pem_public_crt(位于所述内存中且为pem格式的真实证书)。
(2)加载于内存中的目标私钥的解密过程如下:
①调用解编码函数对“base64_enc_real_private.key(即目标私钥)”进行解编码,以得到enc_real_private_key(加密后的真实私钥),再根据若干个解密参数和与aes-128-cbc的对称加密算法对应的解密算法生成一个私钥解密变量,然后通过用于指示解密位于所述内存中加密后的真实私钥的命令行解密得到private_key(位于所述内存中的真实私钥),其中,所述用于指示解密位于所述内存中加密后的真实私钥的命令行包括但不限于以下参数:空值(nil);加密套件(aes.cipher);加密位数,例如128;加密模式,例如cbc。
②调用pem格式的私钥加载函数,生成pem_private_key(位于所述内存中且为pem格式的真实私钥)。
对位于内存中的真实证书和位于内存中的真实私钥均解密完成后,进入步骤S806。
步骤S806,通过调用设置私钥的函数,将解密得到的真实私钥设置到TLS/SSl动态接口里,通过调用设置证书的函数,将解密得到的真实证书设置到TLS/SSl动态接口里。当TLS/SSL接口被调用成功后,服务器4会将位于内存中的真实证书的证书内容下发给终端设备2,后续再根据位于内存中的真实私钥加密协商出对称的会话密钥,从而根据对称的会话密钥完成TLS/SSL后续握手的动态加载;进入步骤S808。
步骤S808,Nginx服务器对于一个访问请求的响应过程结束,可以在后续基于协商好的加密方式(即对称的会话密钥和对称加密算法)进行数据的安全交互。服务器4与其他的终端设备2之间的TLS/SSL连接的交互可以参考上述步骤S802~步骤S808。
实施例二
图9示意性示出了根据本申请实施例二的通信系统的框图,该通信系统可以被分割成程序模块,一个或者多个程序模块被存储于存储介质中,并由处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。
如图9所示,所述通信系统900用于服务器4中,所述服务器配置有服务器程序,所述服务器程序的程序代码中内置有目标证书和目标私钥。该通信系统900可以包括接收模块910和响应模块920。其中:
接收模块910,用于当所述服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器的内存中。
响应模块920,响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信。
在示例性的实施例中,所述服务器还配置有伪造证书和伪造私钥,所述伪造证书和所述伪造私钥位于所述服务器的磁盘的指定存放位置。
在示例性的实施例中,所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中;所述通信系统900还包括清除模块(未标识),所述清除模块用于:当所述伪造证书和所述伪造私钥被加载到所述内存时,则清除所述内存中的伪造证书和伪造私钥。
在示例性的实施例中,所述通信系统900还包括配置模块(未标识),所述配置模块用于将位于所述磁盘的指定存放位置的所述伪造证书和所述伪造私钥加载到所述内存中。所述配置模块还用于:通过证书调用函数,将位于所述磁盘的所述伪造证书的证书内容加载到所述内存中;通过私钥调用函数,将位于所述磁盘的所述伪造私钥加载到所述内存中。
在示例性的实施例中,所述配置模块还用于:预先配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中。
在示例性的实施例中,所述配置模块用于配置所述目标证书和所述目标私钥。所述配置模块还用于配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;及将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。
在示例性的实施例中,所述方法还包括解密模块(未标识),若所述目标证书和所述目标私钥被加载到内存中,所述解密模块用于:解析位于所述内存中的目标证书,以得到所述内存中的真实证书;解析位于所述内存中的目标私钥,以得到所述内存中的真实私钥;将所述内存中的真实证书和所述内存中的真实私钥设置到SSL动态接口中,以供调用。
在示例性的实施例中,所述响应模块920还用于:根据所述访问请求,根据所述内存中的真实证书生成第一响应消息;将所述第一响应消息发送给所述终端设备2,以使所述终端设备2根据所述第一响应消息中的真实证书加密生成第二响应消息并返回所述第二响应消息至所述服务器;接收所述第二响应消息,根据所述内存中的真实私钥解密所述第二响应消息以得到解密数据;及根据所述解密数据生成会话密钥,并根据所述会话密钥与所述终端设备2建立加密通道。
实施例三
为用于实施例一的通信配置方法。
参考图10,示出了本申请实施例之通信配置方法的流程图。下面以服务器4为主体进行示例性描述所述通信配置方法,具体如下:
如图10所示,所述服务器内置服务器程序;所述通信配置方法可以包括步骤S1000~S1002,其中:
步骤S1000,配置伪造证书和伪造私钥,并将所述伪造证书和所述伪造私钥存储于所述服务器的磁盘的指定存放位置;及
步骤S1002,配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中。
作为示例,所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中;所述通信配置方法还包括:配置内存清除指令,用于若所述伪造证书和所述伪造私钥被加载到所述内存中,则清除所述内存中的伪造证书和伪造私钥。
作为示例,所述方法还包括配置加载指令:通过证书调用函数,将位于所述磁盘的所述伪造证书的证书内容加载到所述内存中;通过私钥调用函数,将位于所述磁盘的所述伪造私钥加载到所述内存中。
作为示例,所述配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中,包括:配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。
实施例四
图11示意性示出了根据本申请实施例四的适于实现通信方法的计算机设备10000的硬件架构示意图。所述计算机设备1000可以作为终端设备2和服务器4中的任何一个。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或者多个服务器所组成的服务器集群)、网关等。如图11所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如通信方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图11仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的通信方法还可以被分割为一个或者多个程序模块,并由处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例五
本申请还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的通信方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中通信方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种通信方法,用于服务器中,其特征在于,所述服务器配置有服务器程序,其中,所述服务器程序的程序代码中内置有目标证书和目标私钥;所述方法包括:
当所述服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器的内存中;及
响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信;
所述方法还包括:
配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;
配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;
将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;及
将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。
2.根据权利要求1所述的通信方法,其特征在于,所述服务器还配置有伪造证书和伪造私钥,所述伪造证书和所述伪造私钥位于所述服务器的磁盘的指定存放位置。
3.根据权利要求2所述的通信方法,其特征在于,该方法还包括:
所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中;
当所述伪造证书和所述伪造私钥被加载到所述内存中时,则清除所述内存中的伪造证书和伪造私钥。
4.根据权利要求3所述的通信方法,其特征在于,所述伪造证书和所述伪造私钥随所述服务器程序启动或运行被加载到所述服务器的内存中,包括:
通过证书调用函数,将位于所述磁盘的所述伪造证书的证书内容加载到所述内存中;及
通过私钥调用函数,将位于所述磁盘的所述伪造私钥加载到所述内存中。
5.根据权利要求1~4任意一项所述的通信方法,其特征在于,所述方法还包括:
预先配置目标证书和目标私钥,并将所述目标证书和所述目标私钥存放到所述服务器程序的程序代码中。
6.根据权利要求1所述的通信方法,其特征在于,所述方法还包括:
若所述目标证书和所述目标私钥被加载到内存中,则执行以下操作:
解析位于所述内存中的目标证书,以得到所述内存中的真实证书;
解析位于所述内存中的目标私钥,以得到所述内存中的真实私钥;及
将所述内存中的真实证书和所述内存中的真实私钥设置到动态接口中,以供调用。
7.根据权利要求6所述的通信方法,其特征在于,所述响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信,包括:
响应于所述访问请求,根据所述内存中的真实证书生成第一响应消息;
将所述第一响应消息发送给所述终端设备,以使所述终端设备根据所述第一响应消息中的真实证书加密生成第二响应消息并返回所述第二响应消息至所述服务器;
接收所述第二响应消息,根据所述内存中的真实私钥解密所述第二响应消息以得到解密数据;及
根据所述解密数据生成会话密钥,并根据所述会话密钥与所述终端设备建立加密通道。
8.一种通信系统,用于服务器中,其特征在于,所述服务器配置有服务器程序,其中,所述服务器程序的程序代码中内置有目标证书和目标私钥;所述系统包括:
接收模块,用于当所述服务器程序运行时,接收终端设备发送的访问请求;其中,所述目标证书和所述目标私钥在所述服务器程序启动或运行时被加载到所述服务器的内存中;及
响应模块,响应于所述访问请求,根据加载于所述内存中的目标证书和目标私钥,与所述终端设备进行加密通信;
配置模块,用于:配置真实证书,并对所述真实证书进行加密操作,以得到所述目标证书;配置真实私钥,并对所述真实私钥进行加密操作,以得到所述目标私钥;将所述目标证书放入所述程序代码中的解密代码的第一预设变量中;及将所述目标私钥放入所述程序代码中的解密代码的第二预设变量中。
9.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1~7中任意一项所述的通信方法的步骤。
10.一种计算机可读存储介质,其特征在于,其内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1~7中任意一项所述的通信方法的步骤。
CN202110651830.0A 2021-06-11 2021-06-11 通信方法和系统 Active CN113381855B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110651830.0A CN113381855B (zh) 2021-06-11 2021-06-11 通信方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110651830.0A CN113381855B (zh) 2021-06-11 2021-06-11 通信方法和系统

Publications (2)

Publication Number Publication Date
CN113381855A CN113381855A (zh) 2021-09-10
CN113381855B true CN113381855B (zh) 2022-12-27

Family

ID=77573895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110651830.0A Active CN113381855B (zh) 2021-06-11 2021-06-11 通信方法和系统

Country Status (1)

Country Link
CN (1) CN113381855B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973703A (zh) * 2014-05-23 2014-08-06 杭州智屏科技有限公司 一种用于应用程序和服务器之间交换数据安全的请求方法
CN106161366A (zh) * 2015-04-03 2016-11-23 上海庆科信息技术有限公司 一种减少ssl占用空间的方法及系统
CN109302369A (zh) * 2017-07-24 2019-02-01 贵州白山云科技股份有限公司 一种基于密钥验证的数据传输方法及装置
CN109657170A (zh) * 2018-10-17 2019-04-19 平安普惠企业管理有限公司 网页加载方法、装置、计算机设备及存储介质
CN109768965A (zh) * 2018-12-14 2019-05-17 广州华多网络科技有限公司 一种服务器的登录方法、设备及存储装置
CN111526159A (zh) * 2020-05-25 2020-08-11 普联技术有限公司 建立数据连接的方法、装置、终端设备及存储介质
CN112564912A (zh) * 2020-11-24 2021-03-26 北京金山云网络技术有限公司 建立安全连接的方法、系统、装置和电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181762B2 (en) * 2001-01-17 2007-02-20 Arcot Systems, Inc. Apparatus for pre-authentication of users using one-time passwords
US20030154376A1 (en) * 2001-02-05 2003-08-14 Yeoul Hwangbo Optical storage medium for storing, a public key infrastructure (pki)-based private key and certificate, a method and system for issuing the same and a method for using
CN109831311B (zh) * 2019-03-21 2022-04-01 深圳市网心科技有限公司 一种服务器验证方法、系统、用户终端及可读存储介质
CN110740124A (zh) * 2019-09-20 2020-01-31 平安普惠企业管理有限公司 账户密码分发方法、装置、存储介质和计算机设备
CN111177749B (zh) * 2019-12-18 2022-06-14 深圳市金蝶天燕云计算股份有限公司 加密源代码文件处理方法、装置、计算机设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973703A (zh) * 2014-05-23 2014-08-06 杭州智屏科技有限公司 一种用于应用程序和服务器之间交换数据安全的请求方法
CN106161366A (zh) * 2015-04-03 2016-11-23 上海庆科信息技术有限公司 一种减少ssl占用空间的方法及系统
CN109302369A (zh) * 2017-07-24 2019-02-01 贵州白山云科技股份有限公司 一种基于密钥验证的数据传输方法及装置
CN109657170A (zh) * 2018-10-17 2019-04-19 平安普惠企业管理有限公司 网页加载方法、装置、计算机设备及存储介质
CN109768965A (zh) * 2018-12-14 2019-05-17 广州华多网络科技有限公司 一种服务器的登录方法、设备及存储装置
CN111526159A (zh) * 2020-05-25 2020-08-11 普联技术有限公司 建立数据连接的方法、装置、终端设备及存储介质
CN112564912A (zh) * 2020-11-24 2021-03-26 北京金山云网络技术有限公司 建立安全连接的方法、系统、装置和电子设备

Also Published As

Publication number Publication date
CN113381855A (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN109347835B (zh) 信息传输方法、客户端、服务器以及计算机可读存储介质
CN110380852B (zh) 双向认证方法及通信系统
WO2019174187A1 (zh) 基于区块链的多端间消息通信的方法、终端及存储介质
WO2021196915A1 (zh) 基于加密、解密操作的数据传输方法、系统和计算机设备
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
KR101744747B1 (ko) 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법
CN106788989B (zh) 一种建立安全加密信道的方法及设备
CN109302369B (zh) 一种基于密钥验证的数据传输方法及装置
CN112714053B (zh) 通信连接方法及装置
CN113572740B (zh) 一种基于国密的云管理平台认证加密方法
CN111639325B (zh) 基于开放平台的商户认证方法、装置、设备和存储介质
CN113572741A (zh) 一种基于国密sm2-sm3-sm4算法实现数据的安全传输的方法
WO2014067925A1 (en) Telecommunications chip card
CN111131416A (zh) 业务服务的提供方法和装置、存储介质、电子装置
CN114143117B (zh) 数据处理方法及设备
CN115913672B (zh) 电子档案加密传输方法、系统、终端设备及计算机介质
CN110635901A (zh) 用于物联网设备的本地蓝牙动态认证方法和系统
JP2012100206A (ja) 暗号通信中継システム、暗号通信中継方法および暗号通信中継用プログラム
CN111654503A (zh) 一种远程管控方法、装置、设备及存储介质
JP2007104118A (ja) 秘密情報の保護方法及び通信装置
CN111884810A (zh) 交易签名方法、装置、移动终端和系统
CN115473655B (zh) 接入网络的终端认证方法、装置及存储介质
CN113381855B (zh) 通信方法和系统
CN111064577A (zh) 一种安全认证方法、装置及电子设备
CN112367329B (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