CN115955303A - 可信校验方法、装置、可读存储介质及电子设备 - Google Patents
可信校验方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN115955303A CN115955303A CN202211627538.6A CN202211627538A CN115955303A CN 115955303 A CN115955303 A CN 115955303A CN 202211627538 A CN202211627538 A CN 202211627538A CN 115955303 A CN115955303 A CN 115955303A
- Authority
- CN
- China
- Prior art keywords
- client
- server
- encrypted
- encryption
- key
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本公开涉及一种可信校验方法、装置、可读存储介质及电子设备,该方法包括:集群中的客户端能够接收来自于集群中的服务端的加密共享密钥,基于加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,构建客户端的许可信息,使用加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息,将加密许可信息发送至服务端,加密许可信息用于指示服务端利用加密密钥和客户端初始化向量解密加密许可信息得到许可信息,及指示服务端校验许可信息得到校验结果,使用加密密钥和服务端初始化向量对校验结果加密得到加密校验结果;客户端接收服务端反馈的加密校验结果,使用加密密钥和服务端初始化向量解密加密校验结果,得到校验结果。
Description
技术领域
本公开涉及通信加密领域,具体地,涉及一种可信校验方法、装置、可读存储介质及电子设备。
背景技术
集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度是集群系统中的核心技术。集群包括一组相互独立的、通过网络互联的计算机,这些计算机构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群可以比作是一个独立的服务器。集群配置是用于提高可用性和可缩放性。然而,目前没有一种可靠的方法用于校验集群中的计算机设备的可靠性和安全性。
发明内容
本公开的目的是提供一种可信校验方法、装置、可读存储介质及电子设备。
根据本公开实施例的第一方面,提供一种可信校验方法,应用于集群中的客户端,所述方法包括:接收来自于所述集群中的服务端的加密共享密钥;基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息;将所述加密许可信息发送至所述服务端;所述加密许可信息用于指示服务端利用所述加密密钥和所述客户端初始化向量解密所述加密许可信息得到所述许可信息,及指示所述服务端校验所述许可信息得到校验结果,使用所述服务端初始化向量对所述校验结果加密得到加密校验结果;接收来自于所述服务端的所述加密校验结果,使用所述服务端初始化向量解密所述加密校验结果,得到所述校验结果。
可选地,根据所述校验结果确定所述客户端是否具备运行权限;截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于所述客户端对所述服务端下一次生成的加密校验结果进行解密。
可选地,所述接收来自于所述集群中的服务端的加密共享密钥的步骤之前,还包括:发送建立连接请求至所述服务端;接收到所述服务端对所述建立连接请求的响应后,发送通信协议及加密算法至所述服务端;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对共享密钥加密以得到所述加密共享密钥;接收到所述服务端发送的对所述通信协议及所述加密算法的响应后,生成所述加密算法的公钥和私钥,并将所述公钥发送至所述服务端。
可选地,所述基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,包括:利用所述加密算法的私钥对所述加密共享密钥解密得到所述共享密钥;将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
可选地,所述构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息,包括:使用所述加密密钥和所述客户端初始化向量对客户端主机信息和所述许可信息加密,生成加密许可信息;将所述加密许可信息发送至所述服务端;截取所述加密许可信息的指定位置的数字得到新的客户端初始化向量;所述新的客户端初始化向量用于对所述客户端下一次生成的许可信息进行加密。
根据本公开实施例的第二方面,提供一种可信校验方法,用于集群中的服务端,所述方法包括:对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端;基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;接收所述客户端发送的加密许可信息,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息;校验所述许可信息以得到校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;将所述加密校验结果发送至所述客户端。
可选地,所述对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端的步骤之前,还包括:接收所述客户端发送的建立连接请求;发送所述建立连接请求的响应至所述客户端;接收所述客户端发送的通信协议及加密算法;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对所述共享密钥加密以得到所述加密共享密钥;响应所述客户端发送的所述通信协议及所述加密算法后,接收到所述客户端发送的所述加密算法的公钥。
可选地,所述基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,包括:将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
可选地,所述接收所述客户端发送的加密许可信息,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息的步骤之后,还包括:记录解密所述加密许可信息的次数;在所述次数大于预定阈值的情况下,清空所述共享密钥和所述加密算法的密钥对,生成新的加密算法密钥对和新的共享密钥;在所述次数小于或等于所述预定阈值的情况下,校验所述许可信息得到所述校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于对所述服务端下一次生成的校验结果进行加密。
可选地,所述接收所述客户端发送的加密许可信息的步骤之后,还包括:截取所述加密许可信息指定位置的数字得到新的客户端端向量;所述新的客户端初始化向量用于所述服务端对所述客户端下一次生成的加密许可信息进行解密。
根据本公开实施例的第三方面,提供一种可信校验装置,应用于集群中的客户端,所述装置包括:接收模块,用于接收来自于所述集群中的服务端的加密共享密钥;第一生成模块,用于基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;加密模块,用于构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息;第一发送模块,用于将所述加密许可信息发送至所述服务端;所述加密许可信息用于指示服务端利用所述加密密钥和所述客户端初始化向量解密所述加密许可信息得到所述许可信息,及指示所述服务端校验所述许可信息得到校验结果,使用所述加密密钥和所述服务端初始化向量对所述校验结果加密得到加密校验结果;第一解密模块,用于接收来自于所述服务端的所述加密校验结果,使用所述加密密钥和所述服务端初始化向量解密所述加密校验结果,得到所述校验结果。
根据本公开实施例的第四方面,提供一种可信校验装置,应用于集群中的服务端,所述装置包括:第二生成模块,用于对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端;所述第二生成模块,还用于基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;第二解密模块,用于接收所述客户端发送的加密许可请求,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息;校验模块,用于校验所述许可信息以得到校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;第二发送模块,用于将所述加密校验结果发送至所述客户端。
根据本公开实施例的第五方面,提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述第一方面或第二方面提供的可信校验方法的步骤。
根据本公开实施例的第六方面,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现前述第一方面或第二方面提供的可信校验方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:集群中的客户端能够接收来自于集群中的服务端的加密共享密钥,基于加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,构建客户端的许可信息,使用加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息,将加密许可信息发送至服务端,加密许可信息用于指示服务端利用加密密钥和客户端初始化向量解密加密许可信息得到许可信息,及指示服务端校验许可信息得到校验结果,使用加密密钥和服务端初始化向量对校验结果加密得到加密校验结果;客户端接收服务端反馈的加密校验结果,使用加密密钥和服务端初始化向量解密加密校验结果,得到校验结果;将集群中的一个节点作为服务端,其他节点作为客户端,客户端将加密许可信息发送服务端,服务端对加密许可信息进行解密得到许可信息,并对许可信息进行校验得到校验结果,对校验结果进行加密得到加密校验结果,客户端接收加密校验结果,对加密校验结果进行解密得到校验结果,从而得到客户端许可信息的可靠性和安全性,通过加密算法对许可信息和校验结果进行加密,保障了集群中节点通信的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是本公开示例性实施例示出的集群的结构示意图。
图2是本公开示例性实施例示出的一种可信校验方法的流程图。
图3是本公开示例性实施例示出的一种可信校验方法的流程图。
图4是本公开示例性实施例示出的一种可信校验方法的流程图。
图5是本公开示例性实施例示出的一种可信校验装置框图。
图6是本公开示例性实施例示出的一种可信校验装置框图。
图7是本公开示例性实施例示出的一种电子设备的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
集群包括一组相互独立的、通过网络互联的计算机,这些计算机构成了一个组,并以单一系统的模式加以管理。将集群中的一个节点作为服务端,其他节点作为客户端,服务端可以对客户端的信息进行校验,如图1所示,请参阅图1,图1示出了本公开一个示例性实施例提供的集群的结构示意图,该计算机系统包括客户端120和服务端140。
客户端120与服务端140之间通过有线或者无线网络相互连接。
客户端120包括第一存储器和第一处理器。第一存储器中存储有第一程序;上述第一程序被第一处理器调用执行以实现本公开提供的可信校验方法。第一存储器可以包括但不限于以下几种:随机存取存储器(Random Access Memory,RAM)、只读存储器(Read OnlyMemory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM)、以及电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)。
第一处理器可以是一个或者多个集成电路芯片组成。可选地,第一处理器可以是通用处理器,比如,中央处理器(Central Processing Unit,CPU)或者网络处理器(NetworkProcessor,NP)。
服务端140包括第二存储器和第二处理器。第二存储器中存储有第二程序,上述第二程序被第二处理器调用来实现本公开提供的可信校验方法。可选地,第二存储器可以包括但不限于以下几种:RAM、ROM、PROM、EPROM、EEPROM。可选地,第二处理器可以是通用处理器,比如,CPU或者NP。
请参阅图2,图2为本公开示例性实施例示出的一种可信校验方法的流程图。该方法由计算机设备来执行,例如,由图1所示的集群中的客户端来执行。图2所示的可信校验方法包括以下步骤:
在步骤S201中,接收来自于集群中的服务端的加密共享密钥。
示例性的,可以选择集群中的一个节点作为服务端,其他节点作为客户端,以便于服务端对客户端的许可信息进行校验。许可信息可以体现为一个许可文件,其中包括客户端是否可以运行,可以运行哪些软件,可以使用什么功能等信息。
客户端接受集群中的服务端发送的加密共享密钥;加密共享密钥是服务端利用加密算法对共享密钥加密得到的,共享密钥是服务端生成的。在一种实施方式中,服务端可以通过算法随机生成256位的共享密钥,加密算法可以是但不限于RSA加密算法,例如,服务端可以使用RSA加密算法的公钥对共享密钥加密得到加密共享密钥;共享密钥用于生成加密密钥、客户端初始化向量和服务端初始化向量。其中,加密密钥和客户端初始化向量可以一起用于加密/解密客户端的许可信息,加密密钥和服务端初始化向量可以一起用于加密/解密服务端的校验结果。具体为:客户端可以通过密码分组链接模式结合客户端初始化向量和加密密钥对客户端生成的许可信息进行加密,以及通过密码分组链接模式结合服务端初始化向量和加密密钥对服务端生成的加密校验结果进行解密;服务端可以通过密码分组链接模式结合服务端初始化向量和加密密钥对服务端生成的校验结果进行加密,以及通过密码分组链接模式结合客户端初始化向量和加密密钥对客户端生成的加密许可信息进行解密。在一种实施方式中,加密密钥为基于高级加密标准(Advanced Encryption Standard,AES)算法生成的加密密钥,可以称为AES密钥。
需要说明的是,密码分组链接模式是指将一个密文分组和一个明文分组按位异或经过分组密码加密得到密文的一种加密方式,又叫CBC模式。
在步骤S202中,基于加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量。
由于加密共享密钥是服务端利用加密算法对共享密钥加密得到的,因此先基于与服务端相同的加密算法对加密共享密钥进行解密,得到共享密钥,然后基于共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量。示例性的,将共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取随机串的指定位置的数字分别作为加密密钥、客户端初始化向量和服务端初始化向量,需要说明的是,指定长度和指定位置可以基于人为经验确定,也可以基于其他可行的方式确定,本公开对此不做限制。
在步骤S203中,构建客户端的许可信息,使用加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息。
客户端构建的许可信息可以体现为一个许可文件,这个许可文件包括以下信息的至少一种:客户端的授权信息、客户端的节点信息、客户端的限制信息,其中,客户端的授权信息是用于衡量客户端是否可以授权的信息,客户端的节点信息是客户端的节点位置及节点数量,客户端的限制信息是对每个客户端的单独限制信息,例如允许客户端使用一些软件和功能或禁止客户端使用一些软件和功能。构建好许可信息以后,通过密码分组链接模式结合加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息。
在步骤S204中,将加密许可信息发送至服务端。
将加密许可信息发送至服务端,服务端接收加密许可信息,加密许可信息指示服务端利用密码分组链接模式结合加密密钥和客户端初始化向量解密加密许可信息,得到许可信息,然后校验许可信息得到校验结果,使用密码分组链接模式结合加密密钥和服务端初始化向量对校验结果加密得到加密校验结果,服务端还用于将加密校验结果发送至客户端。
需要说明的是,校验结果是服务端根据许可信息校验得到的,其中包括客户端是否可以运行,可以运行哪些软件,可以使用什么功能等信息。
在步骤S205中,接收来自于服务端的加密校验结果,使用加密密钥和服务端初始化向量解密加密校验结果,得到校验结果。
客户端接收服务端反馈的加密校验结果,使用密码分组链接模式结合加密密钥和服务端初始化向量对加密校验结果进行解密,得到校验结果,根据校验结果确定自身是否可以运行,以及可以运行哪些软件,可以使用什么功能等。
请参阅图3,图3为本公开示例性实施例示出的一种可信校验方法的流程图。该方法由计算机设备来执行,例如,由图1所示的集群中的客户端来执行。图3所示的可信校验方法包括以下步骤:
在步骤S301中,发送建立连接请求至服务端。
示例性的,可以选择集群中的一个节点作为服务端,其他节点作为客户端,以便于服务端对客户端的许可信息进行校验。
客户端首先发送建立连接请求至服务端,建立连接请求用于向服务端请求连接。服务端接收到建立连接请求后,可以响应该建立连接请求,或拒绝该建立连接请求。
在步骤S302中,接收到服务端对建立连接请求的响应后,发送通信协议及加密算法至服务端。
在服务端接收到客户端发送的建立连接请求,同意客户端的建立连接请求的情况下,发出对建立连接请求的响应;客户端接收到服务端发送的对建立连接请求的响应,发送通信协议及加密算法至服务端,使服务端确认通信协议及加密算法。
需要说明的是,通信协议是客户端与服务端之间的通信协议,通信协议中包含协议的名称及版本号等信息,加密算法可以是但不限于RSA加密算法,还可以是其他的非对称加密算法,本公开对此不作限制。
在步骤S303中,接收到服务端发送的对通信协议及加密算法的响应后,生成加密算法的公钥和私钥,并将公钥发送至服务端。
客户端发送通信协议及加密算法至服务端,服务端确认通信协议及加密算法,并发送确定响应至客户端,客户端接收到服务端发送的对通信协议及加密算法的响应后,生成加密算法的公钥和私钥,并以明文的形式将公钥发送至服务端,加密算法可以是但不限于RSA加密算法。在一种实施方式中,服务端接收到公钥后,生成256位的共享密钥,然后基于共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,具体为:将共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取随机串的指定位置的数字作为加密密钥、客户端初始化向量和服务端初始化向量。公钥用于服务端对生成的共享密钥进行加密,私钥用于客户端对加密后的共享密钥进行解密,服务端利用公钥对共享密钥进行加密,得到加密共享密钥,然后将加密共享密钥发送至客户端。
在步骤S304中,接收集群中的服务端的加密共享密钥。
客户端接受集群中的服务端发送的加密共享密钥;加密共享密钥是服务端利用加密算法对共享密钥加密得到的,例如,可以使用RSA加密算法的公钥对共享密钥加密得到加密共享密钥;共享密钥用于在后续步骤中生成加密密钥、客户端初始化向量和服务端初始化向量。
在步骤S305中,基于加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量。
首先基于与服务端相同的加密算法对加密共享密钥进行解密,得到共享密钥,然后基于共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量。示例性的,假设服务端利用RSA加密算法的公钥对共享密钥加密得到加密共享密钥,那么客户端可以利用RSA加密算法的私钥对加密共享密钥进行解密得到共享密钥,然后将共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取随机串的指定位置的数字分别作为加密密钥、客户端初始化向量和服务端初始化向量,需要说明的是,指定长度和指定位置可以基于人为经验确定,也可以基于其他可行的方式确定,本公开对此不做限制。
在步骤S306中,构建客户端的许可信息,使用加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息。
本步骤中许可信息含义与步骤S203中所述的许可信息一致,具体可以参考上述描述。
构建好许可信息以后,通过密码分组链接模式结合加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息。示例性的,通过密码分组链接模式结合加密密钥和客户端初始化向量对客户端主机信息和许可信息加密,生成加密许可信息,并截取加密许可信息的指定位置的数字得到新的客户端初始化向量,新的客户端初始化向量用于对客户端下一次生成的许可信息进行加密。需要说明的是,主机信息可以是客户端的主机名或IP地址等信息;指定位置可以基于人为经验确定,也可以基于其他可行的方式确定,本公开对此不做限制。
在步骤S307中,将加密许可信息发送至服务端。
加密许可信息用于指示服务端利用密码分组链接模式结合加密密钥和客户端初始化向量解密该加密许可信息得到许可信息,及校验许可信息得到校验结果,使用密码分组链接模式结合加密密钥和服务端初始化向量对校验结果加密得到加密校验结果。
示例性的,客户端将加密许可信息发送至服务端,服务端接收加密许可信息,并利用密码分组链接模式结合加密密钥和客户端初始化向量解密加密许可信息,得到许可信息和客户端主机信息,然后校验许可信息和客户端主机信息得到校验结果,使用密码分组链接模式结合加密密钥和服务端初始化向量对校验结果加密得到加密校验结果,并截取加密校验结果指定位置的数字得到得到新的服务端初始化向量,服务端还用于将加密校验结果发送至客户端,其中,新的服务端初始化向量用于服务端对下一次生成的校验结果进行加密。
需要说明的是,校验结果是服务端根据许可信息校验得到的,其中包括客户端是否具备运行权限,可以运行哪些软件,可以使用什么功能等信息。例如,客户端的许可信息不正确,或超出服务端的许可限制的情况下,客户端不能运行。
在步骤S308中,接收来自于服务端的加密校验结果,使用加密密钥和服务端初始化向量解密加密校验结果,得到校验结果。
客户端接收服务端反馈的加密校验结果,接收到服务端反馈的加密校验结果后,截取加密校验结果指定位置的数字得到新的服务端初始化向量;新的服务端初始化向量用于客户端对服务端下一次生成的加密校验结果进行解密。
客户端使用密码分组链接模式结合加密密钥和服务端初始化向量对加密校验结果进行解密,得到校验结果,根据校验结果确定自身是否具备运行权限,以及可以运行哪些软件,可以使用什么功能等。
在客户端得到当前许可信息的校验结果后,等待一定时间后,可以构建新的许可信息,并使用加密密钥和新的客户端初始化向量对新的许可信息进行加密,生成新的加密许可信息,并发送至服务端,重复执行步骤S306-308,以确保新的许可信息的授权。
请参阅图4,图4为本公开示例性实施例示出的一种可信校验方法的流程图。该方法由计算机设备来执行,例如,由图1所示的集群中的服务端来执行。服务端首先接收到客户端发送的建立连接请求,发送建立连接请求的响应至客户端,客户端接收到响应后发送通信协议及加密算法至服务端进行确认,服务端接收客户端发送的通信协议及加密算法并进行确认,客户端接收到服务端对通信协议及加密算法的确认响应后,生成加密算法密钥对,即加密算法的公钥和私钥,并将公钥以明文的形式发送至服务端,服务端接收到公钥后,执行如图4所示的步骤:
在步骤S401中,对共享密钥加密以生成加密共享密钥,将加密共享密钥发送至客户端。
服务端接收到公钥后,生成加密共享密钥,将加密共享密钥发送至客户端。加密共享密钥是利用加密算法对共享密钥加密得到的。在一种实施方式中,服务端接收到公钥后,生成256位的共享密钥,利用公钥对256位的共享密钥的进行加密得到加密共享密钥,并将加密共享密钥发送至客户端。
在步骤S402中,基于共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量。
示例性的,将共享密钥作为初始值,使用与客户端相同的伪随机算法生成指定长度的随机串,截取随机串的指定位置的数字分别作为加密密钥、客户端初始化向量和服务端初始化向量,需要说明的是,指定长度和指定位置可以基于经验数据确定,也可以基于其他可行的方式确定,本公开对此不做限制。其中,加密密钥、客户端初始化向量和服务端初始化向量的含义与作用与步骤S201中所描述的加密密钥、客户端初始化向量和服务端初始化向量的含义与作用,具体可以参考步骤S201中的描述。
在步骤S403中,接收客户端发送的加密许可信息,根据加密密钥和客户端初始化向量解密加密许可信息以得到许可信息。
接收客户端发送的加密许可信息后,截取加密许可信息指定位置的数字得到新的客户端端向量;新的客户端初始化向量用于服务端对客户端下一次生成的加密许可信息进行解密。
接收客户端发送的加密许可信息后,使用密码分组链接模式结合加密密钥和客户端初始化向量解密该加密许可信息得到客户端主机信息和许可信息,记录客户端主机信息。客户端主机信息可以是客户端的主机名、IP地址等。
需要说明的是,许可信息可以体现为一个许可文件,这个许可文件包括以下信息的至少一种:客户端的授权信息、客户端的节点信息、客户端的限制信息,其中,客户端的授权信息是用于衡量客户端是否可以授权的信息,客户端的节点信息是客户端的节点位置及节点数量,客户端的限制信息是对每个客户端的单独限制信息,例如允许客户端使用一些软件和功能或禁止客户端使用一些软件和功能。
需要说明的是,使用密码分组链接模式结合加密密钥和客户端初始化向量解密加密许可信息得到许可信息之后还包括:记录解密加密许可信息的次数,在次数大于预定阈值的情况下,表明共享密钥已经达到使用上限,再使用可能具备安全风险,此时需要发送重置响应,即清空共享密钥和加密算法的密钥对,生成新的加密算法密钥对和新的共享密钥,并基于新的共享密钥生成第一加密密钥、第一客户端初始化向量和第一服务端初始化向量,第一加密密钥和第一客户端初始化向量可以一起用于加密/解密客户端的新的许可信息,第一加密密钥和第一服务端初始化向量可以一起用于加密/解密服务端的新的校验结果,以保障客户端与服务端数据交互的安全性;在次数小于或等于预定阈值的情况下,执行步骤S404。
在步骤S404中,校验许可信息以得到校验结果,根据加密密钥和服务端初始化向量对校验结果加密以得到加密校验结果。
服务端校验客户端的许可信息得到校验结果,示例性的,服务端根据客户端的许可信息和客户端的主机信息得到校验结果;然后使用密码分组链接模式结合加密密钥和服务端初始化向量对校验结果加密得到加密校验结果,并截取加密校验结果指定位置的数字得到新的服务端初始化向量,服务端还用于将加密校验结果发送至客户端。其中,新的服务端初始化向量用于服务端对下一次生成的校验结果进行加密。
需要说明的是,校验结果是服务端根据许可信息校验得到的,其中包括客户端是否具备运行权限,可以运行哪些软件,可以使用什么功能等信息。
在步骤S405中,将加密校验结果发送至客户端。
服务端将加密校验结果发送至客户端,客户端接收到加密校验结果后,利用密码分组链接模式结合加密密钥和服务端初始化向量对加密校验结果进行解密,得到校验结果,根据校验结果确定自身是否具备运行权限,以及可以运行哪些软件,可以使用什么功能等。例如,客户端的许可信息不正确,或超出服务端的许可限制的情况下,客户端不能运行。
需要说明的是,在服务端将加密校验结果发送至客户端后,等待一定时间后,可以接收到新的加密许可信息,然后重复执行步骤S401-405,即使用密码分组链接模式结合加密密钥和新的客户端初始化向量解密该新的加密许可信息,得到新的许可信息,然后对新的许可信息进行校验,得到新的校验结果,使用加密密钥和新的服务端初始化向量对新的校验结果进行加密,得到新的加密校验结果,将新的加密校验结果发送至客户端。
综上所述,本公开提供的可信校验方法,包括:集群中的客户端能够接收来自于集群中的服务端的加密共享密钥,基于加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,构建客户端的许可信息,使用加密密钥和客户端初始化向量对许可信息进行加密,得到加密许可信息,将加密许可信息发送至服务端,加密许可信息用于指示服务端利用加密密钥和客户端初始化向量解密加密许可信息得到许可信息,及指示服务端校验许可信息得到校验结果,使用加密密钥和服务端初始化向量对校验结果加密得到加密校验结果;客户端接收服务端反馈的加密校验结果,使用加密密钥和服务端初始化向量解密加密校验结果,得到校验结果;将集群中的一个节点作为服务端,其他节点作为客户端,客户端将加密许可信息发送服务端,服务端对加密许可信息进行解密得到许可信息,并对许可信息进行校验得到校验结果,对校验结果进行加密得到加密校验结果,客户端接收加密校验结果,对加密校验结果进行解密得到校验结果,从而得到客户端许可信息的可靠性和安全性,通过加密算法对许可信息和校验结果进行加密,保障了集群中节点通信的安全性。
图5是本公开示例性实施例示出的一种可信校验装置框图。参照图5,可信校验装置50包括接收模块501、第一生成模块502、加密模块503、第一发送模块504和第一解密模块505。
该接收模块501,用于接收来自于所述集群中的服务端的加密共享密钥;
该第一生成模块502,用于基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
该加密模块503,用于构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息;
该第一发送模块504,用于将所述加密许可信息发送至所述服务端;所述加密许可信息用于指示服务端利用所述加密密钥和所述客户端初始化向量解密所述加密许可信息得到所述许可信息,及指示所述服务端校验所述许可信息得到校验结果,使用所述加密密钥和所述服务端初始化向量对所述校验结果加密得到加密校验结果;
该第一解密模块505,用于接收来自于所述服务端的所述加密校验结果,使用所述加密密钥和所述服务端初始化向量解密所述加密校验结果,得到所述校验结果。
可选地,该第一解密模块505,还用于根据所述校验结果确定所述客户端是否具备运行权限;截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于所述客户端对所述服务端下一次生成的加密校验结果进行解密。
可选地,该第一发送模块504,还用于发送建立连接请求至所述服务端;
该接收模块501,还用于接收到所述服务端对所述建立连接请求的响应后,发送通信协议及加密算法至所述服务端;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对共享密钥加密以得到所述加密共享密钥;
接收到所述服务端发送的对所述通信协议及所述加密算法的响应后,生成所述加密算法的公钥和私钥,并将所述公钥发送至所述服务端。
可选地,该第一生成模块502,还用于利用所述加密算法的私钥对所述加密共享密钥解密得到所述共享密钥;
将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
可选地,该第一发送模块504,还用于使用所述加密密钥和所述客户端初始化向量对客户端主机信息和所述许可信息加密,生成加密许可信息;
将所述加密许可信息发送至所述服务端;
截取所述加密许可信息的指定位置的数字得到新的客户端初始化向量;所述新的客户端初始化向量用于对所述客户端下一次生成的许可信息进行加密。
图6是本公开示例性实施例示出的一种可信校验装置框图。参照图6,可信校验装置60包括第二生成模块601、第二解密模块602、校验模块603、第二发送模块604。
该第二生成模块601,用于对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端;
该第二生成模块601,还用于基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
该第二解密模块602,用于接收所述客户端发送的加密许可信息,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息;
该校验模块603,用于校验所述许可信息以得到校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;
该第二发送模块604,用于将所述加密校验结果发送至所述客户端。
可选地,该第二解密模块602,还用于接收所述客户端发送的建立连接请求;
该第二发送模块604,还用于发送所述建立连接请求的响应至所述客户端;
该第二解密模块602,还用于接收所述客户端发送的通信协议及加密算法;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对所述共享密钥加密以得到所述加密共享密钥;
响应所述客户端发送的所述通信协议及所述加密算法后,接收到所述客户端发送的所述加密算法的公钥。
可选地,该第二生成模块601,还用于将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
可选地,该校验模块603,还用于记录解密所述加密许可信息的次数;
在所述次数大于预定阈值的情况下,清空所述共享密钥和所述加密算法的密钥对,生成新的加密算法密钥对和新的共享密钥;
在所述次数小于或等于所述预定阈值的情况下,校验所述许可信息得到所述校验结果,根据所述服务端初始化向量对所述校验结果加密以得到加密校验结果;
截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于对所述服务端下一次生成的校验结果进行加密。
可选地,该校验模块603,还用于截取所述加密许可信息指定位置的数字得到新的客户端端向量;所述新的客户端初始化向量用于所述服务端对所述客户端下一次生成的加密许可信息进行解密。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图7是根据一示例性实施例示出的一种电子设备500的框图。例如,电子设备500可以被提供为图1所示的客户端或服务端。参照图7,电子设备500包括处理器522,其数量可以为一个或多个,以及存储器532,用于存储可由处理器522执行的计算机程序。存储器532中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器522可以被配置为执行该计算机程序,以执行上述的可信校验方法。
另外,电子设备500还可以包括电源组件526和通信组件550,该电源组件526可以被配置为执行电子设备500的电源管理,该通信组件550可以被配置为实现电子设备500的通信,例如,有线或无线通信。此外,该电子设备500还可以包括输入/输出(I/O)接口558。电子设备500可以操作基于存储在存储器532的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的可信校验方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器532,上述程序指令可由电子设备500的处理器522执行以完成上述的可信校验方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的可信校验方法的代码部分。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (14)
1.一种可信校验方法,其特征在于,应用于集群中的客户端,所述方法包括:
接收来自于所述集群中的服务端的加密共享密钥;
基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息;
将所述加密许可信息发送至所述服务端;所述加密许可信息用于指示服务端利用所述加密密钥和所述客户端初始化向量解密所述加密许可信息得到所述许可信息,及指示所述服务端校验所述许可信息得到校验结果,使用所述加密密钥和所述服务端初始化向量对所述校验结果加密得到加密校验结果;
接收来自于所述服务端的所述加密校验结果,使用所述加密密钥和所述服务端初始化向量解密所述加密校验结果,得到所述校验结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述校验结果确定所述客户端是否具备运行权限;
截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于所述客户端对所述服务端下一次生成的加密校验结果进行解密。
3.根据权利要求1所述的方法,其特征在于,所述接收来自于所述集群中的服务端的加密共享密钥的步骤之前,还包括:
发送建立连接请求至所述服务端;
接收到所述服务端对所述建立连接请求的响应后,发送通信协议及加密算法至所述服务端;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对共享密钥加密以得到所述加密共享密钥;
接收到所述服务端发送的对所述通信协议及所述加密算法的响应后,生成所述加密算法的公钥和私钥,并将所述公钥发送至所述服务端。
4.根据权利要求3所述的方法,其特征在于,所述基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,包括:
利用所述加密算法的私钥对所述加密共享密钥解密得到所述共享密钥;
将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
5.根据权利要求1所述的方法,其特征在于,所述构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息,包括:
使用所述加密密钥和所述客户端初始化向量对客户端主机信息和所述许可信息加密,生成加密许可信息;
将所述加密许可信息发送至所述服务端;
截取所述加密许可信息的指定位置的数字得到新的客户端初始化向量;所述新的客户端初始化向量用于对所述客户端下一次生成的许可信息进行加密。
6.一种可信校验方法,其特征在于,应用于集群中的服务端,所述方法包括:
对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端;
基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
接收所述客户端发送的加密许可信息,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息;
校验所述许可信息以得到校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;
将所述加密校验结果发送至所述客户端。
7.根据权利要求6所述的方法,其特征在于,所述对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端的步骤之前,还包括:
接收所述客户端发送的建立连接请求;
发送所述建立连接请求的响应至所述客户端;
接收所述客户端发送的通信协议及加密算法;所述通信协议用于所述客户端与所述服务端之间的通信,所述加密算法用于对所述共享密钥加密以得到所述加密共享密钥;
响应所述客户端发送的所述通信协议及所述加密算法后,接收到所述客户端发送的所述加密算法的公钥。
8.根据权利要求7所述的方法,其特征在于,所述基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量,包括:
将所述共享密钥作为初始值,使用伪随机算法生成指定长度的随机串,截取所述随机串的指定位置的数字作为所述加密密钥、所述客户端初始化向量和所述服务端初始化向量。
9.根据权利要求6所述的方法,其特征在于,所述接收所述客户端发送的加密许可信息,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息的步骤之后,还包括:
记录解密所述加密许可信息的次数;
在所述次数大于预定阈值的情况下,清空所述共享密钥和所述加密算法的密钥对,生成新的加密算法密钥对和新的共享密钥;
在所述次数小于或等于所述预定阈值的情况下,校验所述许可信息得到所述校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;
截取所述加密校验结果指定位置的数字得到新的服务端初始化向量;所述新的服务端初始化向量用于对所述服务端下一次生成的校验结果进行加密。
10.根据权利要求6所述的方法,其特征在于,所述接收所述客户端发送的加密许可信息的步骤之后,还包括:
截取所述加密许可信息指定位置的数字得到新的客户端端向量;所述新的客户端初始化向量用于所述服务端对所述客户端下一次生成的加密许可信息进行解密。
11.一种可信校验装置,其特征在于,应用于集群中的客户端,所述装置包括:
接收模块,用于接收来自于所述集群中的服务端的加密共享密钥;
第一生成模块,用于基于所述加密共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
加密模块,用于构建所述客户端的许可信息,使用所述加密密钥和所述客户端初始化向量对所述许可信息进行加密,得到加密许可信息;
第一发送模块,用于将所述加密许可信息发送至所述服务端;所述加密许可信息用于指示服务端利用所述加密密钥和所述客户端初始化向量解密所述加密许可信息得到所述许可信息,及指示所述服务端校验所述许可信息得到校验结果,使用所述加密密钥和所述服务端初始化向量对所述校验结果加密得到加密校验结果;
第一解密模块,用于接收来自于所述服务端的所述加密校验结果,使用所述加密密钥和所述服务端初始化向量解密所述加密校验结果,得到所述校验结果。
12.一种可信校验装置,其特征在于,应用于集群中的服务端,所述装置包括:
第二生成模块,用于对共享密钥加密以生成加密共享密钥,将所述加密共享密钥发送至客户端;
所述第二生成模块,还用于基于所述共享密钥生成加密密钥、客户端初始化向量和服务端初始化向量;
第二解密模块,用于接收所述客户端发送的加密许可请求,根据所述加密密钥和所述客户端初始化向量解密所述加密许可信息以得到许可信息;
校验模块,用于校验所述许可信息以得到校验结果,根据所述加密密钥和所述服务端初始化向量对所述校验结果加密以得到加密校验结果;
第二发送模块,用于将所述加密校验结果发送至所述客户端。
13.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤,或被处理器执行时实现权利要求6-10中任一项所述方法的步骤。
14.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序以实现权利要求1-5中任一项所述方法的步骤,或执行所述存储器中的所述计算机程序以实现权利要求6-10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627538.6A CN115955303A (zh) | 2022-12-16 | 2022-12-16 | 可信校验方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211627538.6A CN115955303A (zh) | 2022-12-16 | 2022-12-16 | 可信校验方法、装置、可读存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115955303A true CN115955303A (zh) | 2023-04-11 |
Family
ID=87296495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211627538.6A Pending CN115955303A (zh) | 2022-12-16 | 2022-12-16 | 可信校验方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115955303A (zh) |
-
2022
- 2022-12-16 CN CN202211627538.6A patent/CN115955303A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347835B (zh) | 信息传输方法、客户端、服务器以及计算机可读存储介质 | |
US10693848B2 (en) | Installation of a terminal in a secure system | |
US9590954B2 (en) | Transferring encrypted and unencrypted data between processing devices | |
KR102469979B1 (ko) | 제1 애플리케이션과 제2 애플리케이션 사이의 상호 대칭 인증을 위한 방법 | |
CN103166958B (zh) | 一种文件的保护方法及系统 | |
US9491174B2 (en) | System and method for authenticating a user | |
CN113225352B (zh) | 一种数据传输方法、装置、电子设备及存储介质 | |
JP2020530726A (ja) | サプライチェーン資産管理を保護するアプリケーションを有する遠隔サーバへのnfcタグ認証 | |
KR20010004791A (ko) | 인터넷 환경의 이동통신시스템에서 사용자 정보 보안 장치 및그 방법 | |
WO2005008950A1 (en) | Secure seed generation protocol | |
CN110505055B (zh) | 基于非对称密钥池对和密钥卡的外网接入身份认证方法和系统 | |
CN113411187B (zh) | 身份认证方法和系统、存储介质及处理器 | |
CN109995739B (zh) | 一种信息传输方法、客户端、服务器及存储介质 | |
CN105959648B (zh) | 一种加密方法、装置及视频监控系统 | |
WO2023151427A1 (zh) | 量子密钥传输方法、装置及系统 | |
CN115333839A (zh) | 数据安全传输方法、系统、设备及存储介质 | |
CN110519222B (zh) | 基于一次性非对称密钥对和密钥卡的外网接入身份认证方法和系统 | |
KR102219086B1 (ko) | 드론(Unnamed Aerial vehicle)시스템을 위한 HMAC기반의 송신원 인증 및 비밀키 공유 방법 및 시스템 | |
CN117675285A (zh) | 一种身份验证方法、芯片及设备 | |
CN116866029A (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
CN114785527B (zh) | 数据传输方法、装置、设备及存储介质 | |
CN115801252A (zh) | 一种结合量子加密技术的安全云桌面系统 | |
JP2005175992A (ja) | 証明書配布システムおよび証明書配布方法 | |
KR20190115489A (ko) | 보안기술을 활용한 iot기기 보안인증 시스템 | |
Toğay et al. | Secure gateway for the internet of things |
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 |