CN110493236A - 一种通信方法、计算机设备及存储介质 - Google Patents

一种通信方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN110493236A
CN110493236A CN201910786643.6A CN201910786643A CN110493236A CN 110493236 A CN110493236 A CN 110493236A CN 201910786643 A CN201910786643 A CN 201910786643A CN 110493236 A CN110493236 A CN 110493236A
Authority
CN
China
Prior art keywords
client
user
operation requests
communication channel
certification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910786643.6A
Other languages
English (en)
Other versions
CN110493236B (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.)
Transwarp Technology Shanghai Co Ltd
Original Assignee
Xinghuan Information Technology (shanghai) 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 Xinghuan Information Technology (shanghai) Co Ltd filed Critical Xinghuan Information Technology (shanghai) Co Ltd
Priority to CN201910786643.6A priority Critical patent/CN110493236B/zh
Publication of CN110493236A publication Critical patent/CN110493236A/zh
Application granted granted Critical
Publication of CN110493236B publication Critical patent/CN110493236B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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

Abstract

本发明实施例公开了一种通信方法、计算机设备及存储介质,其中,方法包括:通过预设加密通信协议与客户端建立通信信道连接;接收所述客户端发送的认证机密信息;通过可插拔的认证服务对所述认证机密信息进行认证;根据认证结果执行与所述客户端匹配的通信操作。本发明实施例的技术方案能够完善通信过程中的加密认证机制,从而减轻系统认证的负担。

Description

一种通信方法、计算机设备及存储介质
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种通信方法、计算机设备及存储介质。
背景技术
数据库是按照数据结构来组织、存储和管理数据的仓库。在现有的数据库中,会采用加密认证的方式来保障通信的安全性。
现有的数据库可以利用gRPC(google Remote Procedure Call,谷歌远程过程调用)实现传输层以及应用层的加密和认证。其中,传输层的加密认证方法目前支持TLS(Transport Layer Security,安全传输层协议)认证。TLS要求通信的双发持有各自的证书以及其所信任的CA(Certificate Authority,证书管理机构)的证书,连接开始时验证对方的证书是否为所信赖的CA签发。如果通过验证,则生成一个通信密钥并使用证书里的RSA(Rivest-Shamir-Adleman,密码系统)公钥进行交换,在接下来的通信中所有的信息都会使用这个密钥进行加密。应用层的加密认证方法用于服务器端认证调用者身份并进行细粒度的权限控制,该方法在每次RPC(Remote Procedure Call,远程过程调用)调用时,都需要interceptor(拦截器)从客户端发送的元数据中读取令牌信息进行认证。上述传输层的加密认证方式需要复杂的配置,且易用性和兼容性较差,认证方式也较为单一,应用层的加密认证方式则会导致较大的额外开销。
发明内容
本发明实施例提供一种通信方法、计算机设备及存储介质,以完善通信过程中的加密认证机制,从而减轻系统认证的负担。
第一方面,本发明实施例提供了一种通信方法,包括:
通过预设加密通信协议与客户端建立通信信道连接;
接收所述客户端发送的认证机密信息;
通过可插拔的认证服务对所述认证机密信息进行认证;
根据认证结果执行与所述客户端匹配的通信操作。
第二方面,本发明实施例还提供了一种通信装置,包括:
通信信道连接建立模块,用于通过预设加密通信协议与客户端建立通信信道连接;
认证机密信息接收模块,用于接收所述客户端发送的认证机密信息;
认证机密信息认证模块,用于通过可插拔的认证服务对所述认证机密信息进行认证;
通信操作执行模块,用于根据认证结果执行与所述客户端匹配的通信操作。
第三方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,存储器用于存储指令,当指令执行时使得处理器执行以下操作:
通过预设加密通信协议与客户端建立通信信道连接;
接收所述客户端发送的认证机密信息;
通过可插拔的认证服务对所述认证机密信息进行认证;
根据认证结果执行与所述客户端匹配的通信操作。
第四方面,本发明实施例还提供了一种存储介质,存储介质用于存储指令,指令用于执行:
通过预设加密通信协议与客户端建立通信信道连接;
接收所述客户端发送的认证机密信息;
通过可插拔的认证服务对所述认证机密信息进行认证;
根据认证结果执行与所述客户端匹配的通信操作。
本发明实施例的技术方案,在通过预设加密通信协议与客户端建立通信信道连接后,通过可插拔的认证服务对接收的客户端发送的认证机密信息进行认证,并根据认证结果执行与客户端匹配的通信操作,解决现有数据库加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,从而完善通信过程中的加密认证机制,减轻系统认证的负担。
附图说明
图1是本发明实施例提供的一种数据库系统模型的原理框图;
图2a是本发明实施例一提供的一种通信方法的流程图;
图2b是本发明实施例一提供的一种客户端与服务器之间建立通信连接的流程示意图;
图3a是本发明实施例二提供的一种通信方法的流程图;
图3b是本发明实施例二提供的一种存储用户权限的示意图;
图4a是本发明实施例三提供的一种通信方法的流程图;
图4b是本发明实施例三提供的一种审计功能模块示意图;
图5是本发明实施例四提供的一种通信方法的流程图;
图6是本发明实施例五提供的一种通信装置的示意图;
图7为本发明实施例六提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“预设加密通信协议”可以是用于对传输层通信信道进行加密的协议,可选的,预设加密通信协议可以采用TLS(Transport Layer Security,安全传输层协议)。
本文使用的术语“认证机密信息”可以是用于对用户身份进行认证的信息,如用户名/密码、指纹以及人像识别等信息。
本文使用的术语“可插拔的认证服务”可以是模块插件化的认证服务。
本文使用的术语“第一次握手关联信息”、“第二次握手关联信息”以及“第三次握手关联信息”可以是根据TLS协议三次握手过程中涉及到的信息。
本文使用的术语“第一随机数”、“第二随机数”以及“第三随机数”可以是三种随机数,用于生成客户端与服务器之间的通信密钥。
本文使用的术语“操作请求”可以是数据库中所涉及到的各种命令请求,如查询、修改或删除等操作。
本文使用的术语“第一运算结果”可以是用户各权项级别对应的等级权限进行逻辑运算得到的运算结果。
本文使用的术语“第二运算结果”可以是第一运算结果与用户的操作请求匹配的权限等级进行逻辑运算得到的运算结果。
本文使用的术语“设定通信信道”可以是服务器内部信道或其他无需加密认证的安全信道。
本文使用的术语“设定用户身份”可以是具有执行所有操作请求权限的身份,如超级用户。
本文使用的术语“操作行为数据”可以是用户执行操作请求所产生的关联数据,如Session(会话控制)、用户身份信息、事物ID、数据库操作记录以及操作结果等各类信息。
本文使用的术语“预设分析工具”可以是数据分析工具,如Kibana等分析工具。
为了便于理解,将本发明实施例的主要发明构思进行简述。
Vitess是现有技术中用于部署、扩展和管理大型MySQL实例集群的数据库解决方案。它由若干服务器进程、命令行工具和基于web的工具组成,具有一致性元数据存储支持。
在Vitess数据库解决方案中,可以利用gRPC实现客户端与服务器之间通信过程的加密和认证。gRPC支持传输凭证Transport Credential和RPC凭证PerRPC Credential两种认证方式。其中,Transport Credential位于传输层,目前支持TLS认证。TLS要求通信的双发持有各自的证书以及它们所信任的CA的证书,连接开始时验证对方的证书是否是自己所信赖的CA所签发,如果通过验证,则生成一个通信密钥并使用证书里的RSA公钥进行交换,在接下来的通信中所有的信息都会使用这个密钥进行加密。PerRPC Credential位于应用层,一般是指令牌token这种类型的信息,用于服务器端认证调用者身份并进行细粒度的权限控制。PerRPC Credential认证方式在每次执行RPC调用时,都需要在interceptor从客户端发送的元数据中读取token信息进行认证。interceptor通过定义UnaryInterceptor方法,获得调用者的身份信息,拦截非法的gRPC调用。
由于gRPC使用TLS认证,存在配置复杂、易用性和兼容性较差等问题,TLS认证方式将证书上使用的公用名CommonName作为客户端身份信息,而无法使用用户现有的账户信息,比如最常用的用户名和密码信息来认证。Vitess提供的intercept机制认证对于某些形式的token,例如常用的用户名和密码,需要服务器端每次RPC都去询问认证服务,带来较大的额外开销。
发明人针对现有数据库解决方案中加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,考虑是否可以通过对传输层的加密认证方式进行改善,以减轻系统认证的负担。
基于上述思考,发明人创造性的提出,在通过预设加密通信协议与客户端建立通信信道连接后,通过可插拔的认证服务对接收的客户端发送的认证机密信息进行认证,并根据认证结果执行与客户端匹配的通信操作,解决现有数据库加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,从而完善通信过程中的加密认证机制,减轻系统认证的负担。
相应的,本发明实施例为解决Vitess数据库解决方案中加密认证机制存在的缺陷,提出了一种新的数据库解决方案。图1是本发明实施例提供的一种数据库系统模型的原理框图。如图1所示,本发明实施例提供的数据库系统模型主要由以下角色或模块组成:Client表示客户端,Query Router模块表示轻量级路由服务器,负责接收应用端请求,查询路由,并做简单的计算和结果汇总。Computer Engine模块用于执行复杂计算的服务器集群,可以执行对触发器、存储过程和复杂视图的计算,以及复杂查询等。AuthorizationService模块负责认证服务,是独立的外部系统,负责账户的创建、删除、修改密码或其他属性。Audit Service模块负责审计服务,用于采集系统内各类信息,以及时有效的发现异常安全事件及违规操作。Transaction Manager模块表示事务管理器。Shard模块表示逻辑数据库,用于按照特定方式划分形成的单元。一个或多个Shard可以组成一个逻辑数据库。Topology Service模块负责全局协调和发现服务,存储各数据库、Shards及元数据信息等,供其他服务调用。该数据库解决方案支持使用Apache ZooKeeper或etcd工具来提供拓扑服务。KunCtld模块表示数据库控制面板,是Web图形管理界面,可以监控系统状态,查看拓扑结构,并执行部分管理命令。KunCtl模块表示命令行管理工具,用于管理数据库集群,进行标记主从数据库、建表、故障转移及分片等操作。
实施例一
图2a是本发明实施例一提供的一种通信方法的流程图,本实施例可适用于对客户端与服务器之间的通信信道进行加密认证的情况,该方法可以由通信装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在服务器中,与用于完成数据库功能的客户端配合使用。相应的,如图2a所示,该方法包括如下操作:
步骤110、通过预设加密通信协议与客户端建立通信信道连接。
其中,预设加密通信协议可以是用于对传输层通信信道进行加密的协议,可选的,预设加密通信协议可以采用TLS。
在本发明实施例中,在通信信道建立阶段,可以首先通过预设加密通信协议与客户端建立通信信道连接。
在本发明的一个可选实施例中,所述通过预设加密通信协议与客户端建立通信信道连接,可以包括:接收所述客户端发送的第一次握手关联信息,并根据所述第一次握手关联信息向所述客户端反馈第二次握手关联信息;其中,所述第一次握手关联信息包括第一随机数,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥;接收所述客户端对所述服务器证书认证通过后反馈的第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书;对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密;根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
其中,第一次握手关联信息、第二次握手关联信息和第三次握手关联信息可以是根据TLS协议三次握手过程中涉及到的信息。第一随机数、第二随机数和第三随机数可以是三种随机数,用于生成客户端与服务器之间的通信密钥。
图2b是本发明实施例一提供的一种客户端与服务器之间建立通信连接的流程示意图。在一个具体的例子中,如图2b所示,服务器通过TLS加密通信协议与客户端建立通信信道连接的具体流程是:客户端(Client)向服务器发送第一次握手关联信息ClientHello,其中,Client Hello中包括第一随机数Random1及其他的关联信息。服务器接收到Client Hello后,向客户端反馈第二次握手关联信息Service Hello,其中,Service Hello中包括第二随机数Random2、服务器证书及其他的关联信息。客户端接收到Service Hello后,校验认证服务器证书是否合法。如果合法则取出服务器证书中的服务器公钥,否则对服务器告警。在之后的与服务器之间的通信中则使用服务器证书上的认证信息作为服务器的身份。当客户端对服务器证书校验认证通过后,生成第三随机数Random3,并使用服务器公钥对Random3加密,并将加密后的Random3与客户端证书一同发送给服务器。服务器接收到Random3和客户端证书后,对客户端证书进行校验认证,并在校验认证通过后从客户端证书中获取客户端公钥,同时使用服务器私钥对Random3进行解密。在之后的与客户端之间的通信中则使用客户端证书上的认证信息作为客户端的身份。随后,客户端与服务器根据Random1、Random2和Random3生成通信密钥,从而完成通信信道连接的建立。
步骤120、接收所述客户端发送的认证机密信息。
其中,认证机密信息可以是用于对用户身份进行认证的信息,如用户名/密码、指纹以及人像识别等信息。任何可以用于对用户身份进行认证的信息均可以作为认证机密信息,本发明实施例并不对认证机密信息的具体形式进行限定。
相应的,在通信信道连接建立后,客户端可以与服务器建立二次握手,向服务器发送用于对用户身份进行认证的认证机密信息,服务器则接收该认证机密信息,完成用户身份认证。需要说明的是,二次握手是否执行是可选的。
示例性的,如图2b所示,客户端可以使用生成的通信密钥对称加密,以向服务器传输扩展的认证机密信息。
步骤130、通过可插拔的认证服务对所述认证机密信息进行认证。
其中,可插拔的认证服务可以是模块插件化的认证服务,例如,LDAP(LightweightDirectory Access Protocol,轻量目录访问协议)。
相应的,如果客户端与服务器建立二次握手,那么在该二次握手的过程中,服务器可以通过可插拔的认证服务,例如LDAP,对客户端传输的扩展的认证机密信息进行认证。
步骤140、根据认证结果执行与所述客户端匹配的通信操作。
在本发明实施例中,服务器与客户端建立通信信道连接后,还可以根据服务器对认证机密信息的认证结果来执行与客户端匹配的通信操作,从而实现对客户端与服务器之间传输层认证机制的扩展。
在本发明的一个可选实施例中,所述根据认证结果执行与所述客户端匹配的通信操作,可以包括:如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
具体的,如果认证机密信息认证失败,则服务器断开已经建立的通信信道连接。如果认证机密信息认证成功,则将认证的结果关联到通信信道的包括通信信道属性信息的元信息中,在之后的通信中直接将这次的认证结果作为客户端的身份信息。这种设置的好处是:第一,可以兼容客户端现有的认证服务,共享同一个用户源。例如,用户现有的信息系统都已经在使用指纹进行用户身份的认证。第二,通信信道是一个逻辑的概念,在建立通信信道时即进行二次认证,适用于不面向连接的RPC协议。第三,这种传输层认证机制能够避免每次RPC调用时都要需要重新传输认证机密信息并对认证机密信息重新进行认证的问题,从而降低认证次数,缩减系统认证开销,以减轻系统认证的负担。
在本发明的一个可选实施例中,在确认认证通过之后,还可以包括:接收用户通过所述客户端发送的操作请求;根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
在本发明的一个可选实施例中,所述根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求,可以包括:将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
在本发明的一个可选实施例中,在接收用户通过所述客户端发送的操作请求之前,还可以包括:在设定通信信道中,利用设定用户身份执行操作请求;在接收用户通过所述客户端发送的操作请求之后,还可以包括:在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份,并根据所述用户的有效身份执行操作请求。
在本发明的一个可选实施例中,所述方法还可以包括:获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
在本发明的一个可选实施例中,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
本发明实施例的技术方案,在通过预设加密通信协议与客户端建立通信信道连接后,通过可插拔的认证服务对接收的客户端发送的认证机密信息进行认证,并根据认证结果执行与客户端匹配的通信操作,解决现有数据库加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,从而完善通信过程中的加密认证机制,减轻系统认证的负担。
实施例二
图3a是本发明实施例二提供的一种通信方法的流程图,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合,在本发明实施例中,给出了根据认证结果确认认证通过之后的具体操作。相应的,如图3a所示,本实施例的方法可以包括:
步骤210、通过预设加密通信协议与客户端建立通信信道连接。
步骤220、接收所述客户端发送的认证机密信息。
步骤230、通过可插拔的认证服务对所述认证机密信息进行认证。
步骤240、确认认证通过,将所述认证结果添加至所述通信信道的元信息中。
步骤250、在设定通信信道中,利用设定用户身份执行操作请求。
其中,设定通信信道可以是服务器内部信道或其他无需加密认证的安全信道。设定用户身份可以是具有执行所有操作请求权限的身份,如超级用户。操作请求可以是数据库中所涉及到的各种命令请求,如查询、修改或删除等操作。
可以理解的是,在复杂的分布式数据库系统中,通信信道在系统启动时就已经建立。例如在Vitess中,vttablet通过一个连接池预先建立多个到MySQL的连接。后续的用户连接仅需在服务接入时进行一次认证,在内部通信中均会复用已有的信道,以避免信道建立的额外的开销。因此,数据库系统中这些内部角色通信的信道是无法通过一次认证获得用户的身份信息,用户的身份信息必须在RPC调用时在不同的模块或角色间进行透传。其中,透传指的是在分布式数据库系统下,在客户端身份认证成功时,将其用户身份信息传输到各个模块或角色中,每个模块或角色中存有相同的用户信息。因此,当前Vitess里对于用户身份的权限检查方法是静态的。它根据语句直接计算权限,比如依赖于数据具体的值的if else语句,或者语句中包含嵌套操作其他表等情况。静态的权限检查方法无法获得准确的权限需求。
在本发明实施例中,服务器没有接收到客户端发送的操作请求时,可以以设定用户身份如代理用户(Proxy User)的方式将用户身份透传到异构的系统中。例如,从QueryRouter透传到Compute Engine或者MySQL中。具体来说,Proxy User可以是在内部模块或角色建立通信信道时,或者在其他无需加密认证的安全信道中,使用超级用户的身份来代理真实的用户执行所有操作请求。
步骤260、接收用户通过所述客户端发送的操作请求。
相应的,当用户通过客户端连接数据库时,可以通过客户端向数据库的服务器发送操作请求。
步骤270、在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份。
在本发明实施例中,当设定用户身份在设定通信信道中执行操作请求时,接收到用户发送的操作请求,则临时改变设定通信信道上用户的有效身份ID(Identitydocument,身份标识号),以发起操作请求的真实用户的身份作为有效身份来执行操作请求。用户身份变更的过程需要在操作请求所涉及的所有角色之间进行传递,这一过程对用户来说是完全透明的。
步骤280、根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
可以理解的是,不同用户在数据库系统中的权限级别也不相同。例如,用户A可以对数据库系统中的所有表具有所有操作权限,用户B只对数据库系统中的部分表具有部分操作权限。也即,同一用户对数据库系统的不同模块或角色的权限也不同。因此,服务器在接收到用户通过所述客户端发送的操作请求后,具体需要根据用户的操作请求以及用户的权限级别进行响应,以根据用户的有效身份执行用户发送的操作请求。
具体的,步骤280可以包括下述操作:
步骤281、将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果。
其中,第一运算结果可以是用户各权项级别对应的等级权限进行逻辑运算得到的运算结果。
在本发明实施例中,可以以发起操作请求的真实用户的身份作为有效身份来进行权限检查。由此可见,本发明实施例所提供的通信方法可以实现在数据库系统运行期间动态执行权限检查,在语言层支持DCL(Data Control Language,数据库控制语言)语句以及细粒度的权限控制,权限检查更完整且准确性更高。可以理解的是,用户权限涉及的对象分为多个级别。图3b是本发明实施例二提供的一种存储用户权限的示意图。如图3b所示,在一个具体的例子中,数据库系统为用户每种级别的权限都可以使用一个bit vector(位向量容器)进行存储,该向量的每一位表示一种操作权限,如select、delete或create等,并使用0或1填充,0表示没有权限,1表示有权限。
具体的,当用户执行操作请求时,服务器可以为用户新建一个bit vector表示用户查询需要的权限要求,1表示需要该权限,0为不需要。例如,用户需要执行select,则在表示select的位上设置为1。然后可以将数据库系统中用户各个级别的权限等级进行或运算,得到第一运算结果。
步骤282、将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果。
其中,第二运算结果可以是第一运算结果与用户的操作请求匹配的权限等级进行逻辑运算得到的运算结果。
相应的,在得到第一运算结果后,可以继续将第一运算结果与用户的操作请求匹配的权限等级进行与运算,得到第二运算结果。
步骤283、判断第二运算结果与用户的操作请求对应的权限等级是否保持一致,若是,则执行步骤284;否则,执行步骤285。
步骤284、执行所述操作请求。
步骤285、拒绝执行所述操作请求。
具体的,如果第二运算结果和用户的操作请求需要的权限等级要求结果一致,则表示用户可以执行该操作请求;否则,拒绝用户的操作请求。
本发明实施例在客户端与服务器之间成功建立通信连接后,通过在异构的分布式数据库系统中实现用户身份在不同模块或角色之间透传,使得权限检查总是可以在实际执行操作请求的角色上进行,从而保证权限检查的完整性和准确性。
实施例三
图4a是本发明实施例三提供的一种通信方法的流程图,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合,在本发明实施例中,给出了根据认证结果执行与所述客户端匹配的通信操作之后的具体操作。相应的,如图4a所示,本实施例的方法可以包括:
步骤310、通过预设加密通信协议与客户端建立通信信道连接。
步骤320、接收所述客户端发送的认证机密信息。
步骤330、通过可插拔的认证服务对所述认证机密信息进行认证。
步骤340、确认认证通过,将所述认证结果添加至所述通信信道的元信息中。
步骤350、在设定通信信道中,利用设定用户身份执行操作请求。
步骤360、接收用户通过所述客户端发送的操作请求。
步骤370、在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份。
步骤380、根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
步骤390、获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储。
其中,操作行为数据可以是用户执行操作请求所产生的关联数据,如Session(会话控制)、用户身份信息、事物ID、数据库操作记录以及操作结果等各类信息。
在本发明实施例中,数据库系统中的审计模块还可以采集用户的操作行为数据,对操作行为数据进行规范化、过滤以及归并等处理分析后,可以将其处理后的操作行为数据形成日志数据并进行存储。
步骤3110、根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
其中,预设分析工具可以是数据分析工具,如Kibana等分析工具。
具体的,在得到日志数据后,审计模块可以结合丰富的日志统计结果进一步取证,得到比如系统的性能、潜在的攻击行为、告警关联等分析结果,以及利用机器学习的方法学习预测用户行为。
图4b是本发明实施例三提供的一种审计功能模块示意图。如图4b所示,用户在操作数据库的过程中,审计模块Audit Log可以保存操作行为数据,再传入日志解析器LogParser进行解析后,把生成的日志数据存入日志存储Log Storage中,最后利用例如日志分析工具Log Analyzer,如Kibana等分析工具,获得日志分析结果。
在本发明的一个可选实施例中,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
在本发明实施例中,数据库系统的审计模块可以独立于业务系统设置,因此,审计模块可以通过插件机制来扩展不同的需求。相应的,审计模块对于操作行为数据的处理也可以独立执行,其灵活性和功能性更强,能够有效保证数据库系统的安全性和可靠性。
本发明实施例通过在客户端与服务器之间成功建立通信连接后,通过流处理机制获取用户的操作行为数据以生成日志数据,并通过可扩展的、独立于业务系统的审计服务对数据库系统的运行进行审计和复杂的分析,从而保证数据库系统的安全性和可靠性。
实施例四
图5是本发明实施例四提供的一种通信方法的流程图,本发明实施例可以与上述一个或者多个实施例中各个可选方案结合,在本发明实施例中,给出了客户端与服务器之间具体的通信操作。相应的,如图5所示,本实施例的方法可以包括:
步骤410、客户端向服务器发送第一次握手关联信息。其中,所述第一次握手关联信息包括第一随机数。
步骤420、服务器根据第一次握手关联信息向客户端反馈第二次握手关联信息,其中,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥。
步骤430、客户端对所述服务器证书认证通过后向服务器反馈第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书。
步骤440、服务器对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密。
步骤450、客户端和服务器根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
步骤460、客户端向服务器发送认证机密信息。
步骤470、服务器通过可插拔的认证服务对所述认证机密信息进行认证。
可选的,如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
步骤480、服务器在设定通信信道中,利用设定用户身份执行操作请求。
步骤490、用户通过所述客户端向服务器发送操作请求。
步骤4110、服务器在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份。
步骤4120、服务器根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
可选的,将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
步骤4130、获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储。
步骤4140、根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
本发明实施例的技术方案,在通过预设加密通信协议与客户端建立通信信道连接后,通过可插拔的认证服务对接收的客户端发送的认证机密信息进行认证,并根据认证结果执行与客户端匹配的通信操作,解决现有数据库加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,从而完善通信过程中的加密认证机制,减轻系统认证的负担。认证通过后,通过在异构的分布式数据库系统中实现用户身份在不同模块或角色之间透传,使得权限检查总是可以在实际执行操作请求的角色上进行,从而保证权限检查的完整性和准确性。同时,还可以通过流处理机制获取用户的操作行为数据以生成日志数据,并通过可扩展的、独立于业务系统的审计服务对数据库系统的运行进行审计和复杂的分析,从而保证数据库系统的安全性和可靠性。
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
实施例五
图6是本发明实施例五提供的一种通信装置的示意图,该装置可采用软件和/或硬件的方式实现,并一般可集成在服务器中。如图6所示,所述装置包括:通信信道连接建立模块510、认证机密信息接收模块520、认证机密信息认证模块530以及通信操作执行模块530,其中:
通信信道连接建立模块510,用于通过预设加密通信协议与客户端建立通信信道连接;
认证机密信息接收模块520,用于接收所述客户端发送的认证机密信息;
认证机密信息认证模块530,用于通过可插拔的认证服务对所述认证机密信息进行认证;
通信操作执行模块540,用于根据认证结果执行与所述客户端匹配的通信操作。
本发明实施例的技术方案,在通过预设加密通信协议与客户端建立通信信道连接后,通过可插拔的认证服务对接收的客户端发送的认证机密信息进行认证,并根据认证结果执行与客户端匹配的通信操作,解决现有数据库加密认证方法存在的配置复杂,易用性和兼容性较差,且额外开销较大的问题,从而完善通信过程中的加密认证机制,减轻系统认证的负担。
可选的,通信信道连接建立模块510,具体用于接收所述客户端发送的第一次握手关联信息,并根据所述第一次握手关联信息向所述客户端反馈第二次握手关联信息;其中,所述第一次握手关联信息包括第一随机数,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥;接收所述客户端对所述服务器证书认证通过后反馈的第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书;对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密;根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
可选的,通信操作执行模块540,具体用于如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
可选的,所述装置还包括:操作请求接收模块,用于接收用户通过所述客户端发送的操作请求;操作请求响应模块,用于根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
可选的,操作请求响应模块,具体用于:将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
可选的,所述装置还包括:第一操作请求执行模块,用于在设定通信信道中,利用设定用户身份执行操作请求;第二操作请求执行模块,用于在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份,并根据所述用户的有效身份执行操作请求。
可选的,所述装置还包括:日志数据存储模块,用于获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;日志数据分析模块,用于根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
可选的,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
上述通信装置可执行本发明任意实施例所提供的通信方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的通信方法。
由于上述所介绍的通信装置为可以执行本发明实施例中的通信方法的装置,故而基于本发明实施例中所介绍的通信方法,本领域所属技术人员能够了解本实施例的通信装置的具体实施方式以及其各种变化形式,所以在此对于该通信装置如何实现本发明实施例中的通信方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中通信方法所采用的装置,都属于本申请所欲保护的范围。
实施例六
图7为本发明实施例六提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的计算机设备612的框图。图7显示的计算机设备612仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备612典型的是承担服务器功能的计算设备。
如图7所示,计算机设备612以通用计算设备的形式表现。计算机设备612的组件可以包括但不限于:一个或者多个处理器616,存储装置628,连接不同系统组件(包括存储装置628和处理器616)的总线618。
总线618表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、视频电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机设备612典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备612访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置628可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)630和/或高速缓存存储器632。计算机设备612可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统634可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线618相连。存储装置628可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块626的程序636,可以存储在例如存储装置628中,这样的程序模块626包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块626通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备612也可以与一个或多个外部设备614(例如键盘、指向设备、摄像头、显示器624等)通信,还可与一个或者多个使得用户能与该计算机设备612交互的设备通信,和/或与使得该计算机设备612能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口622进行。并且,计算机设备612还可以通过网络适配器620与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器620通过总线618与计算机设备612的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备612使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arraysof Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器616通过运行存储在存储装置628中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的通信方法。
也即,所述处理单元执行所述程序时实现:通过预设加密通信协议与客户端建立通信信道连接;接收所述客户端发送的认证机密信息;通过可插拔的认证服务对所述认证机密信息进行认证;根据认证结果执行与所述客户端匹配的通信操作。
在上述各实施例的基础上,处理器616是设置为通过以下方式通过预设加密通信协议与客户端建立通信信道连接:接收所述客户端发送的第一次握手关联信息,并根据所述第一次握手关联信息向所述客户端反馈第二次握手关联信息;其中,所述第一次握手关联信息包括第一随机数,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥;接收所述客户端对所述服务器证书认证通过后反馈的第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书;对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密;根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
在上述各实施例的基础上,处理器616是设置为通过以下方式根据认证结果执行与所述客户端匹配的通信操作:如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
在上述各实施例的基础上,处理器616是设置为通过以下方式完成在确认认证通过之后执行的操作:接收用户通过所述客户端发送的操作请求;根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
在上述各实施例的基础上,处理器616是设置为通过以下方式响应所述操作请求:将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
在上述各实施例的基础上,处理器616是设置为通过以下方式完成在接收用户通过所述客户端发送的操作请求之前执行的操作:在设定通信信道中,利用设定用户身份执行操作请求;处理器616是设置为通过以下方式完成在接收用户通过所述客户端发送的操作请求之后执行的操作:在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份,并根据所述用户的有效身份执行操作请求。
在上述各实施例的基础上,处理器616还设置为执行以下操作:获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
在上述各实施例的基础上,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
实施例六
本发明实施例六还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本发明上述实施例任一所述的通信方法:通过预设加密通信协议与客户端建立通信信道连接;接收所述客户端发送的认证机密信息;通过可插拔的认证服务对所述认证机密信息进行认证;根据认证结果执行与所述客户端匹配的通信操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器((Erasable Programmable ReadOnly Memory,EPROM)或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (17)

1.一种通信方法,其特征在于,包括:
通过预设加密通信协议与客户端建立通信信道连接;
接收所述客户端发送的认证机密信息;
通过可插拔的认证服务对所述认证机密信息进行认证;
根据认证结果执行与所述客户端匹配的通信操作。
2.根据权利要求1所述的方法,其特征在于,所述通过预设加密通信协议与客户端建立通信信道连接,包括:
接收所述客户端发送的第一次握手关联信息,并根据所述第一次握手关联信息向所述客户端反馈第二次握手关联信息;其中,所述第一次握手关联信息包括第一随机数,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥;
接收所述客户端对所述服务器证书认证通过后反馈的第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书;
对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密;
根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
3.根据权利要求1所述的方法,其特征在于,所述根据认证结果执行与所述客户端匹配的通信操作,包括:
如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
4.根据权利要求3所述的方法,其特征在于,在确认认证通过之后,还包括:
接收用户通过所述客户端发送的操作请求;
根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
5.根据权利要求4所述的方法,其特征在于,所述根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求,包括:
将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;
将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;
如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
6.根据权利要求4所述的方法,其特征在于,在接收用户通过所述客户端发送的操作请求之前,还包括:
在设定通信信道中,利用设定用户身份执行操作请求;
在接收用户通过所述客户端发送的操作请求之后,还包括:
在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份,并根据所述用户的有效身份执行操作请求。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;
根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
8.根据权利要求7所述的方法,其特征在于,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
9.一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
通过预设加密通信协议与客户端建立通信信道连接;
接收所述客户端发送的认证机密信息;
通过可插拔的认证服务对所述认证机密信息进行认证;
根据认证结果执行与所述客户端匹配的通信操作。
10.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式通过预设加密通信协议与客户端建立通信信道连接:
接收所述客户端发送的第一次握手关联信息,并根据所述第一次握手关联信息向所述客户端反馈第二次握手关联信息;其中,所述第一次握手关联信息包括第一随机数,所述第二次握手关联信息包括第二随机数和服务器证书,所述服务器证书用于所述客户端进行认证以获取服务器公钥;
接收所述客户端对所述服务器证书认证通过后反馈的第三次握手关联信息,其中,所述第三次握手关联信息包括第三随机数和客户端证书;
对所述客户端证书进行认证,获得客户端公钥,并使用服务器私钥对所述第三随机数进行解密;
根据所述第一随机数、第二随机数以及第三随机数生成通信密钥,完成通信信道连接的建立。
11.根据权利要求9所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式根据认证结果执行与所述客户端匹配的通信操作:
如果确认认证通过,则将所述认证结果添加至所述通信信道的元信息中;其中,所述元信息包括所述通信信道的属性信息;否则,断开所述通信信道连接。
12.根据权利要求11所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式完成在确认认证通过之后执行的操作:
接收用户通过所述客户端发送的操作请求;
根据所述用户的操作请求以及所述用户的权限级别响应所述操作请求。
13.根据权利要求12所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式响应所述操作请求:
将所述用户的权限级别匹配的各等级权限进行或运算,得到第一运算结果;
将所述第一运算结果与所述用户的操作请求匹配的权限等级进行与运算,得到第二运算结果;
如果所述第二运算结果与所述用户的操作请求对应的权限等级保持一致,则执行所述操作请求;否则,拒绝执行所述操作请求。
14.根据权利要求12所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式完成在接收用户通过所述客户端发送的操作请求之前执行的操作:
在设定通信信道中,利用设定用户身份执行操作请求;
所述处理器是设置为通过以下方式完成在接收用户通过所述客户端发送的操作请求之后执行的操作:
在所述设定通信信道中,将所述设定用户身份转变为所述用户的有效身份,并根据所述用户的有效身份执行操作请求。
15.根据权利要求9所述的计算机设备,其特征在于,所述处理器还设置为执行以下操作:
获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;
根据预设分析工具对所述日志数据进行分析,得到日志分析结果。
16.根据权利要求15所述的计算机设备,其特征在于,所述获取用户的操作行为数据,根据所述操作行为数据形成日志数据并进行存储;根据预设分析工具对所述日志数据进行分析,得到日志分析结果的操作,独立执行。
17.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的通信方法。
CN201910786643.6A 2019-08-23 2019-08-23 一种通信方法、计算机设备及存储介质 Active CN110493236B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910786643.6A CN110493236B (zh) 2019-08-23 2019-08-23 一种通信方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910786643.6A CN110493236B (zh) 2019-08-23 2019-08-23 一种通信方法、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN110493236A true CN110493236A (zh) 2019-11-22
CN110493236B CN110493236B (zh) 2020-09-25

Family

ID=68553769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910786643.6A Active CN110493236B (zh) 2019-08-23 2019-08-23 一种通信方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN110493236B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822214A (zh) * 2021-02-09 2021-05-18 广州慧睿思通科技股份有限公司 网络攻击的防御方法及装置、系统、存储介质、电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098282A (zh) * 2010-12-02 2011-06-15 东方口岸科技有限公司 数据库的安全加密方法
CN103109495A (zh) * 2010-05-17 2013-05-15 捷讯研究有限公司 用于认证并登记设备的方法
EP2604017A2 (en) * 2010-08-10 2013-06-19 General instrument Corporation Device and method for cognizant transport layer security
US20140143537A1 (en) * 2012-11-21 2014-05-22 Kabushiki Kaisha Toshiba Communication apparatus and communication method
CN104137112A (zh) * 2012-02-28 2014-11-05 西里克斯系统公司 安全的单点登录
CN107196914A (zh) * 2017-04-25 2017-09-22 北京潘达互娱科技有限公司 身份认证方法及装置
CN108959908A (zh) * 2018-08-03 2018-12-07 深圳市思迪信息技术股份有限公司 一种与接入sdk的移动平台进行认证的方法、计算机设备及存储介质
CN109413111A (zh) * 2018-12-21 2019-03-01 郑州云海信息技术有限公司 一种基于智慧数据中心的安全访问系统及方法
CN110069916A (zh) * 2019-03-29 2019-07-30 郑州信大捷安信息技术股份有限公司 一种密码安全管理系统和方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103109495A (zh) * 2010-05-17 2013-05-15 捷讯研究有限公司 用于认证并登记设备的方法
EP2604017A2 (en) * 2010-08-10 2013-06-19 General instrument Corporation Device and method for cognizant transport layer security
CN102098282A (zh) * 2010-12-02 2011-06-15 东方口岸科技有限公司 数据库的安全加密方法
CN104137112A (zh) * 2012-02-28 2014-11-05 西里克斯系统公司 安全的单点登录
US20140143537A1 (en) * 2012-11-21 2014-05-22 Kabushiki Kaisha Toshiba Communication apparatus and communication method
CN107196914A (zh) * 2017-04-25 2017-09-22 北京潘达互娱科技有限公司 身份认证方法及装置
CN108959908A (zh) * 2018-08-03 2018-12-07 深圳市思迪信息技术股份有限公司 一种与接入sdk的移动平台进行认证的方法、计算机设备及存储介质
CN109413111A (zh) * 2018-12-21 2019-03-01 郑州云海信息技术有限公司 一种基于智慧数据中心的安全访问系统及方法
CN110069916A (zh) * 2019-03-29 2019-07-30 郑州信大捷安信息技术股份有限公司 一种密码安全管理系统和方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112822214A (zh) * 2021-02-09 2021-05-18 广州慧睿思通科技股份有限公司 网络攻击的防御方法及装置、系统、存储介质、电子设备

Also Published As

Publication number Publication date
CN110493236B (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
Lim et al. Blockchain technology the identity management and authentication service disruptor: a survey
US10560476B2 (en) Secure data storage system
US7913084B2 (en) Policy driven, credential delegation for single sign on and secure access to network resources
CN105027107B (zh) 迁移计算资源的计算机实现的方法及计算系统
US9846778B1 (en) Encrypted boot volume access in resource-on-demand environments
US10270757B2 (en) Managing exchanges of sensitive data
CN107257334A (zh) 用于Hadoop集群的身份认证方法
CN114553568A (zh) 一种基于零信任单包认证与授权的资源访问控制方法
CN110572258B (zh) 一种云密码计算平台及计算服务方法
KR20140127303A (ko) 다중 팩터 인증 기관
CN102893575B (zh) 借助于ipsec和ike第1版认证的一次性密码
CN114584307B (zh) 一种可信密钥管理方法、装置、电子设备和存储介质
CN111954211B (zh) 一种移动终端新型认证密钥协商系统
CN108881222A (zh) 基于pam架构的强身份认证系统及方法
US10990692B2 (en) Managing data handling policies
JP7223067B2 (ja) ユーザリクエストを処理するための方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプロブラム
CN109587100A (zh) 一种云计算平台用户认证处理方法及系统
CN107819570A (zh) 一种基于可变Cookie的跨域单点登录方法
CN115001841A (zh) 一种身份认证方法、装置及存储介质
TW202137199A (zh) 生物支付設備的認證方法、裝置、電腦設備和儲存媒體
WO2022262322A1 (zh) 认证方法、装置、系统、电子设备及存储介质
US10516655B1 (en) Encrypted boot volume access in resource-on-demand environments
CN110572392A (zh) 一种基于Hyperledger网络的身份认证方法
Tuan et al. A blockchain-based authentication and access control for smart devices in sdn-enabled networks for metaverse
CN117081736A (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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee after: Star link information technology (Shanghai) Co.,Ltd.

Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd.