掌桥专利:专业的专利平台
掌桥专利
首页

一种云架构下的安全验证方法、装置及电子设备

文献发布时间:2023-06-19 11:29:13


一种云架构下的安全验证方法、装置及电子设备

技术领域

本申请涉及信息技术领域,尤其涉及一种云架构下的安全验证方法、装置及电子设备。

背景技术

近年来,云计算技术的进步推动了互联网行业的快速发展,云计算本身的资源池化、自助服务、服务计量等特性也得到了广泛使用。这里,通过云计算技术可以向用户提供不同的云计算服务,例如基础设施即服务(Infrastructure as a Service,IaaS),IaaS可以为用户提供虚拟化的计算、存储、网络等基础设施资源。

然而,随着云计算技术的广泛应用,云计算服务中的网络安全问题也成为业界广泛关注的问题。目前普遍采用加密传输以及数字鉴权的方式,通过预设的密钥进行客户端与云服务器之间的通信,但是该通信之间的安全验证机制存在一定的被破解几率,安全性较低。

发明内容

本发明实施例提供一种云架构下的安全验证方法,用于解决现有技术中客户端接入云服务器过程中安全性低的问题。

本发明实施例提供一种云架构下的安全验证方法,包括:

客户端获取当前UNIX时间戳,并基于所述UNIX时间戳生成伪随机数;

所述客户端将所述第一伪随机数和所述UNIX时间戳进行对称加密,并将所述对称加密后的密文封装进数据请求消息中;

所述客户端将所述数据请求消息发送至云服务器;

所述云服务器利用对称解密算法对所述数据请求消息中的密文进行解密,并基于所述伪随机数生成第一真随机数;

在第一周期内,所述云服务器向所述客户端发送数据响应消息,所述数据响应消息中携带所述第一真随机数;

所述客户端基于所述第一真随机数,基于跳频算法生成跳频参数;

所述客户端生成动态密钥,并将所述跳频参数封装进所述动态密钥中,发送所述动态密钥至云服务器;

在第二周期内,所述云服务器基于逆跳频算法对所述跳频参数进行降解,输出第二真随机数;

所述云服务器将所述第一真随机数与所述第二真随机数进行比对,若比对成功,则与所述客户端建立通信连接。

可选地,所述基于所述伪随机数生成第一真随机数,包括:

基于所述伪随机数设置输出长度L;

生成L个数组,该L个数组设置在预设范围内;

采用线性同余算法,在L个预设范围内的数组生成所述第一真随机数。

可选地,所述客户端基于所述第一真随机数,基于跳频算法生成跳频参数,包括:

所述客户端基于如下公式:

生成跳频参数,其中H(t)为跳频参数,m为第一真随机数,γ,λ,α,δ为常数,t为时间参数。

可选地,在所述云服务器将所述第一真随机数与所述第二真随机数进行比对之后,所述方法还包括:

所述云服务器生成第二动态密钥,并将所述动态密钥发送至所述客户端,以建立通信连接。

可选地,所述云服务器生成第二动态密钥,包括:

所述云服务器将共享密钥以及所述第一真随机数进行SHA-1加密,生成16字节长度的第二动态密钥。

可选地,所述共享密钥由所述客户端生成,并封装进所述数据请求消息中。

可选地,所述客户端将所述第一伪随机数和所述UNIX时间戳进行对称加密,包括:

所述客户端将所述第一伪随机数和所述UNIX时间戳采用AES加密方式进行对称加密。

本发明实施例还提供一种云架构下的安全验证装置,所述装置包括:

获取单元,用于获取当前UNIX时间戳,并基于所述UNIX时间戳生成伪随机数;

加密单元,用于将所述第一伪随机数和所述UNIX时间戳进行对称加密,并将所述对称加密后的密文封装进数据请求消息中;

发送单元,用于将所述数据请求消息发送至云服务器,以使所述云服务器利用对称解密算法对所述数据请求消息中的密文进行解密,并基于所述伪随机数生成第一真随机数;

接收单元,用于在第一周期内,接收所述云服务器发送的数据响应消息,所述数据响应消息中携带所述第一真随机数;

生成单元,用于基于所述第一真随机数,基于跳频算法生成跳频参数;

所述发送单元,还用于生成动态密钥,并将所述跳频参数封装进所述动态密钥中,发送所述动态密钥至云服务器,以使在第二周期内,所述云服务器基于逆跳频算法对所述跳频参数进行降解,输出第二真随机数,以使所述云服务器将所述第一真随机数与所述第二真随机数进行比对,若比对成功,则与所述客户端建立通信连接。

可选地,所述基于所述伪随机数生成第一真随机数,包括:

基于所述伪随机数设置输出长度L;

生成L个数组,该L个数组设置在预设范围内;

采用线性同余算法,在L个预设范围内的数组生成所述第一真随机数。

本发明实施例还包括一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述方法。

本发明实施例提供的方法、装置及电子设备,通过设置伪随机数设置真随机数,并通过跳频算法设置跳频参数,最终生成动态密钥,云服务器通过不同时间周期的真随机数对比进行安全验证,最终在保证了响应时间的前提下提升了云安全验证的安全性。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。

图1为一个实施例中云架构下的安全验证方法流程图;

图2为另一个实施例中云架构下的安全验证方法流程图;

图3为一个实施例中云架构下的安全验证装置结构图;

图4为一个实施例中电子设备的硬件组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

图1是本发明实施例的一种云架构下的安全验证方法流程图,如图1所示,本发明实施例提供的方法,具体为:

S101、客户端获取当前UNIX时间戳,并基于所述UNIX时间戳生成伪随机数;

客户端可以是智能终端,各类带有计算功能的节点等,例如手机,电脑,个人热点,边缘节点等。

客户端与云服务器进行连接前,获取当前unix时间戳,该UNIX时间戳为4字节,并基于该时间戳生成伪随机数。

伪随机数由伪随机数生成器(Pseudo-Random Number Generators,PRNGs)生成,该生成器是一种算法,它使用数学公式或简单的预计算表来生成随机出现的数字序列。因此,伪随机数可以根据特定算法生成,也可以经过特定逆算法进行破解,通常而言,可以在WINDOWS下采用rand(t)函数进行伪随机数的生成,取值范围可以自定义。

S102、所述客户端将所述第一伪随机数和所述UNIX时间戳进行对称加密,并将所述对称加密后的密文封装进数据请求消息中;

可选地,加密采用AES128算法进行对称加密,输出的密文为数据请求消息Request的password字段。

在本发明实施例中,客户端生成共享密钥,该共享密钥同样封装进该数据请求消息中。

S103、所述客户端将所述数据请求消息发送至云服务器;

S104、所述云服务器利用对称解密算法对所述数据请求消息中的密文进行解密,并基于所述伪随机数生成第一真随机数;

其中,云服务器同样采用对称解密算法将密文进行解密,获取解密后的第一伪随机数。

伪随机数是通过特定生成器,以时间为参数生成的,其优点是效率高,不占用客户端的处理资源,但其缺点是输出的随机数具备一定的周期性,容易遭到破解,因此,伪随机数并不是一个很好的“凭证”,需要将伪随机数进行转换,转换为真随机数。

真随机数由真随机数生成器True Random Number Generators(TRNGs)所生成。与PRNGs相比,TRNGs从物理现象中提取随机性并将其引入计算机,并不存在周期性。例如,瑞士Fourmilab的HotBits服务是通过该真随机数生成器生成的。

在本发明实施例中,基于伪随机数生成真随机数,可通过如下方式进行:

基于所述伪随机数设置输出长度L(length),例如将伪随机数进行简单的加减运算,运算结果即为输出长度Length,或者将伪随机数进行取模运算,运算后的结果即为输出长度L,在实务中,既要保证输出长度满足不能太高,否则影响运算速度,又不能过低,算法复杂度降低或导致破解的难度降低。常用的输出长度为1000以内的整数比较适中。

生成L个数组,该L个数组设置在预设范围内(例如在十进制的0-10000中选取);

采用线性同余算法,在L个预设范围内的数组生成所述第一真随机数。例如,在0-1000个数组中,随机选择其中一个数组,该数组即为真随机数。

S105、在第一周期内,所述云服务器向所述客户端发送数据响应消息,所述数据响应消息中携带所述第一真随机数;

在生成了第一真随机数后,该云服务器即将该第一真随机数封装进数据响应消息中,并将携带了该第一真随机数的数据响应消息发送给客户端。

S106、所述客户端基于所述第一真随机数,基于跳频算法生成跳频参数;

跳频(或者叫跳变)是一种典型的移动目标防御(MTD)机制,借鉴调频通信思想,通过将Token或IP地址进行动态映射,使攻击者定位不到真正的Token或IP地址,以迷惑潜在的攻击者,从而提高系统的安全性。本发明实施例中,若攻击者截获了该第一真随机数,则整个网络安全性将大打折扣,因此,本发明实施例中创造性地借鉴了上述机制,利用一定的算法原理,将真随机数进行了动态调整,可有效增加为了增加破译难度和复杂度,并可将该动态参数进行时间周期性变更。

可选地,在本发明实施例中,客户端可基于如下公式:

生成跳频参数,其中H(t)为跳频参数,与时间强相关,m为第一真随机数,γ,λ,α,δ为常数,可人为自定义,也可事先进行约定,t为时间参数。经验证,该算法复杂度为o(n

S107、所述客户端生成动态密钥,并将所述跳频参数封装进所述动态密钥中,发送所述动态密钥至云服务器;

其中,客户端可以采用AES、DES等算法生成动态密钥,并将该跳频参数作为一个类似令牌的验证参数,封装进该动态密钥中。

S108、在第二周期内,所述云服务器基于逆跳频算法对所述跳频参数进行降解,输出第二真随机数;

云服务器在收到该动态密钥后,需要对动态密钥进行验证,其中,云服务器获取跳频参数,并基于上述跳频公式的逆运算(即已知H(t),求解m),获取m的值。顾名思义,逆跳频算法即为上述跳频算法的逆运算,降解即为从跳频参数推导出真随机数的过程。

S109、所述云服务器将所述第一真随机数与所述第二真随机数进行比对,若比对成功,则与所述客户端建立通信连接。

第一周期和第二周期,由于时间不同,传输过程中难以保证消息中的跳频参数或真随机数不会发生被攻击或被篡改的现象,因此,需要将不同周期的真随机数(第一真随机数和降解得出的第二真随机数)进行比对,若一致则认为本次的传输安全,建立通信连接,若不一致则触发预警,不建立本次通信连接。

其中,在所述云服务器将所述第一真随机数与所述第二真随机数进行比对之后,所述云服务器生成第二动态密钥,并将所述动态密钥发送至所述客户端,以建立通信连接。其中,所述云服务器将共享密钥以及所述第一真随机数进行SHA-1加密,生成了该16字节长度的第二动态密钥。此外,该共享密钥由所述客户端生成,并事先封装进所述数据请求消息中。

本发明实施例提供的方法,通过设置伪随机数设置真随机数,并通过跳频算法设置跳频参数,最终生成动态密钥,云服务器通过不同时间周期的真随机数对比进行安全验证,最终在保证了响应时间的前提下提升了云安全验证的安全性。

本发明实施例还提供一种云架构下的安全验证方法,如图2所示,包括:

S201、客户端获取UNIX时间戳,生成伪随机数,并进行对称加密;

S202、客户端发送数据请求消息Request至云服务器,该消息中携带对称加密后的UNIX时间戳、伪随机数及共享密钥;

S203、云服务器进行解密,并基于伪随机数生成第一周期的第一真随机数;

S204、云服务器发送携带有第一真随机数的数据响应消息Response至客户端;

S205、客户端基于该第一真随机数,利用跳频算法生成跳频参数;

S206、客户端将跳频参数封装进生成的动态密钥中,并发送该动态密钥至云服务器;

S207、云服务器对动态密钥中的跳频参数进行降解,并验证该第二周期降解得到的第二真随机数;

S208、验证成功后,该云服务器将生成的第二动态密钥发送至客户端,该第二动态密钥中携带有共享密钥及第一真随机数;

S209、云服务器与客户端建立长连接,正常进行交互。

本发明实施例还提供一种云架构下的安全验证装置30,所述装置30包括:

获取单元31,用于获取当前UNIX时间戳,并基于所述UNIX时间戳生成伪随机数;

加密单元32,用于将所述第一伪随机数和所述UNIX时间戳进行对称加密,并将所述对称加密后的密文封装进数据请求消息中;

发送单元33,用于将所述数据请求消息发送至云服务器,以使所述云服务器利用对称解密算法对所述数据请求消息中的密文进行解密,并基于所述伪随机数生成第一真随机数;

接收单元34,用于在第一周期内,接收所述云服务器发送的数据响应消息,所述数据响应消息中携带所述第一真随机数;

生成单元35,用于基于所述第一真随机数,基于跳频算法生成跳频参数;

所述发送单元33,还用于生成动态密钥,并将所述跳频参数封装进所述动态密钥中,发送所述动态密钥至云服务器;以使在第二周期内,所述云服务器基于逆跳频算法对所述跳频参数进行降解,输出第二真随机数,以使所述云服务器将所述第一真随机数与所述第二真随机数进行比对,若比对成功,则与所述客户端建立通信连接。

其中,所述基于所述伪随机数生成第一真随机数,包括:

基于所述伪随机数设置输出长度L;

生成L个数组,该L个数组设置在预设范围内;

采用线性同余算法,在L个预设范围内的数组生成所述第一真随机数。

本发明实施例还提供一种计算机可读存储介质,其上存储有计算机可执行指令,该计算机可执行指令用于执行上述实施例中的方法。

本发明实施例还提供一种电子设备,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述方法。

图4为一个实施例中电子设备的硬件组成示意图。可以理解的是,图4仅仅示出了电子设备的简化设计。在实际应用中,电子设备还可以分别包含必要的其他元件,包含但不限于任意数量的输入/输出系统、处理器、控制器、存储器等,而所有可以实现本申请实施例的大数据管理方法的电子设备都在本申请的保护范围之内。

存储器包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read至only memory,ROM)、可擦除可编程只读存储器(erasable programmable readonly memory,EPROM)、或便携式只读存储器(compact disc read至only memory,CD至ROM),该存储器用于相关指令及数据。

输入系统用于输入数据和/或信号,以及输出系统用于输出数据和/或信号。输出系统和输入系统可以是独立的器件,也可以是一个整体的器件。

处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器还可以包括一个或多个专用处理器,专用处理器可以包括GPU、FPGA等,用于进行加速处理。

存储器用于存储网络设备的程序代码和数据。

处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read至onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。

以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

相关技术
  • 一种云架构下的安全验证方法、装置及电子设备
  • 一种基于云计算的安全验证方法、装置及电子设备
技术分类

06120112941161