一种远程管控方法、装置、设备及存储介质
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种远程管控方法、装置、设备及存储介质。
背景技术
随着计算机技术和网络技术的快速发展,对网络设备进行远程管控的需求越来越多。而且大多数交换机、路由器以及家庭、办公和公共场所的无线设备等网络设备具有远程终端管理功能。通过远程管控设备可以对这些网络设备进行远程管控。
目前,在远程管控过程中,管控相关报文多是通过明文方式进行传输,在网络传输过程中很容易被截获篡改,给被管控设备的正常运行带来安全风险。
发明内容
本申请的目的是提供一种远程管控方法、装置、设备及存储介质,以提高管控过程中相关报文在网络传输过程中的安全性,减少被截获篡改的风险。
为解决上述技术问题,本申请提供如下技术方案:
一种远程管控方法,应用于远程管控设备,所述方法包括:
确定与被管控设备建立连接;
与所述被管控设备协商对称密钥;
在对所述被管控设备进行管控过程中,使用所述对称密钥对控制指令进行加密后,发送给所述被管控设备,所述被管控设备使用所述对称密钥对反馈信息进行加密后,返回给所述远程管控设备。
在本申请的一种具体实施方式中,所述确定与被管控设备建立连接,包括:
向被管控设备发送连接请求;
接收所述被管控设备返回的认证指令,所述认证指令中携带待认证信息;
对所述待认证信息进行签名,获得签名信息,并将所述签名信息发送给所述被管控设备;
在接收到所述被管控设备返回的认证成功信息的情况下,确定与所述被管控设备建立连接。
在本申请的一种具体实施方式中,所述对所述待认证信息进行签名,包括:
使用预先获得的非对称密钥对所述待认证信息进行签名。
在本申请的一种具体实施方式中,在所述获得签名信息之后,还包括:
对所述签名信息进行完整性校验;
在确认所述签名信息完整的情况下,执行所述将所述签名信息发送给所述被管控设备的步骤。
在本申请的一种具体实施方式中,在所述接收所述被管控设备返回的认证指令之后、所述对所述待认证信息进行签名之前,还包括:
对操作者进行身份认证;
如果认证通过,则执行所述对所述待认证信息进行签名的步骤。
在本申请的一种具体实施方式中,所述与所述被管控设备协商对称密钥,包括:
获得与所述被管控设备获得的随机数相同的随机数;
与所述被管控设备分别使用相同的密钥生成算法基于所述随机数生成对称密钥。
在本申请的一种具体实施方式中,所述与所述被管控设备协商对称密钥,包括:
生成对称密钥;使用预先获得的公钥对所述对称密钥进行加密后,发送给所述被管控设备,所述被管控设备使用私钥解密获得所述对称密钥;
或者,
接收所述被管控设备发送的使用公钥加密后的对称密钥;使用私钥解密获得所述对称密钥。
一种远程管控装置,应用于远程管控设备,所述装置包括:
连接建立确定模块,用于确定与被管控设备建立连接;
密钥协商模块,用于与所述被管控设备协商对称密钥;
设备管控模块,用于在对所述被管控设备进行管控过程中,使用所述对称密钥对控制指令进行加密后,发送给所述被管控设备,所述被管控设备使用所述对称密钥对反馈信息进行加密后,返回给所述远程管控设备。
一种远程管控设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述远程管控方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述远程管控方法的步骤。
应用本申请实施例所提供的技术方案,远程管控设备在确定与被管控设备建立连接,并与被管控设备协商对称密钥之后,在对被管控设备进行管控过程中,无论是远程管控设备发往被管控设备的控制指令,还是被管控设备发往远程管控设备的反馈信息,都通过协商好的对称密钥进行加密处理后再传输,这样即使在传输过程中控制指令或者反馈信息被截获,因进行了加密处理,所以并不容易被篡改,可以提高管控过程中相关报文在网络传输过程中的安全性,减少被截获篡改的风险,可以保障被管控设备的正常运行。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种远程管控方法的实施流程图;
图2为本申请实施例中远程管控***的整体结构图;
图3为本申请实施例中一种远程管控装置的结构示意图;
图4为本申请实施例中一种远程管控设备的结构示意图。
具体实施方式
本申请的核心是提供一种远程管控方法,该方法可以应用于远程管控设备。远程管控设备确定与被管控设备建立连接后,可以与被管控设备协商对称密钥,在对被管控设备进行管控过程中,可以使用对称密钥对控制指令进行加密后,发送给被管控设备,同样,被管控设备也可以使用对称密钥对反馈信息进行加密后,返回给远程管控设备。在远程管控设备对被管控设备进行管控过程中,无论是控制指令还是反馈信息,都是加密后传输的,可以提高管控过程中相关报文在网络传输过程中的安全性,减少被截获篡改的风险。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种远程管控方法的实施流程图,该方法可以包括以下步骤:
S110:确定与被管控设备建立连接。
在本申请实施例中,远程管控设备可以计算机、平板电脑等终端设备,被管控设备可以是服务器、交换机、路由器等网络设备,被管控设备上可以运行Windows、Linux等操作***。
远程管控设备可以向被管控设备发起连接请求,在得到被管控设备的响应后,即可确定与被管控设备建立连接。
或者,远程管控设备在与被管控设备建立连接时,双方可以先进行相应的身份认证,认证通过,则确定与被管控设备建立连接。
S120:与被管控设备协商对称密钥。
远程管控设备确定与被管控设备建立连接后,可以通过协商方式,与被管控设备协商一组对称密钥。
S130:在对被管控设备进行管控过程中,使用对称密钥对控制指令进行加密后,发送给被管控设备,被管控设备使用对称密钥对反馈信息进行加密后,返回给远程管控设备。
远程管控设备在确定与被管控设备建立连接,并与被管控设备协商对称密钥之后,远程管控设备与被管控设备上都有了相同的对称密钥。远程管控设备可以对被管控设备进行管控。
在远程管控设备对被管控设备进行管控过程中,需要向被管控设备发送控制指令,被管控设备也会向远程管控设备返回基于控制指令进行相应动作执行后的反馈信息。控制指令和反馈信息等管控相关报文都需要通过网络传输,为了提高管控相关报文在网络传输过程中的安全性,在本申请实施例中,远程管控设备在对被管控设备进行管控过程中,可以使用协商好的对称密钥对控制指令进行加密后,发送给被管控设备。被管控设备接收到经过加密处理的控制指令,可以使用对称密钥对其进行解密,获得解密后的控制指令,然后可以基于该控制指令执行相应动作。被管控设备在进行相应动作执行后,同样可以使用协商好的对称密钥对反馈信息进行加密后,返回给远程管控设备,这样远程管控设备使用相同的对称密钥对其进行解密,可以得到解密后的反馈信息,进而可以对其进行分析显示。
远程管控设备和被管控设备在使用协商好的对称密钥对相关信息进行加密之后,进一步可以对加密后的数据进行完整性校验,如采用SM3等国密HASH算法进行数据完整性校验处理。
以图2所示***结构对本申请实施例进行说明。
该***可以包括远程管控设备和被管控设备。在远程管控设备上可以部署客户端,在被管控设备上可以部署服务端,通过客户端与服务端的套接字socket连接,可以使得远程管控设备与被管控设备建立连接,并协商对称密钥。在安装有Linux操作***的被管控设备中可以部署主、从伪终端。远程管控设备在对被管控设备进行管控过程中,远程管控设备的客户端可以使用对称密钥对控制指令进行加密后,发送给被管控设备的服务端,被管控设备的服务端接收到经过加密处理的控制指令后,可以使用对称密钥对其进行解密,获得解密后的控制指令,然后将解密后的控制指令发送给被管控设备的伪终端,伪终端登录到被管控设备,基于该控制指令执行相应动作,并在进行相应动作执行后,将反馈信息返回给服务端,服务端再使用协商好的对称密钥对反馈信息进行加密后,发送给远程管控设备的客户端。被管控设备的服务端与伪终端之间可以通过管道通信,伪终端具有标准输入stdin、标准输出stdout接口。
应用本申请实施例所提供的方法,远程管控设备在确定与被管控设备建立连接,并与被管控设备协商对称密钥之后,在对被管控设备进行管控过程中,无论是远程管控设备发往被管控设备的控制指令,还是被管控设备发往远程管控设备的反馈信息,都通过协商好的对称密钥进行加密处理后再传输,这样即使在传输过程中控制指令或者反馈信息被截获,因进行了加密处理,所以并不容易被篡改,可以提高管控过程中相关报文在网络传输过程中的安全性,减少被截获篡改的风险,可以保障被管控设备的正常运行。
在本申请的一个实施例中,步骤S110可以包括以下步骤:
步骤一:向被管控设备发送连接请求;
步骤二:接收被管控设备返回的认证指令,认证指令中携带待认证信息;
步骤三:对待认证信息进行签名,获得签名信息,并将签名信息发送给被管控设备;
步骤四:在接收到被管控设备返回的认证成功信息的情况下,确定与被管控设备建立连接。
为便于描述,将上述四个步骤结合起来进行说明。
在实际应用中,根据实际需要,远程管控设备可以向被管控设备发送连接请求。被管控设备在接收到远程管控设备的连接请求后,可以向远程管控设备返回认证指令,认证指令中可以携带待认证信息,待认证信息可以包括版本号、随机数、算法套件等信息。
远程管控设备接收到被管控设备返回的认证指令后,可以对待认证信息进行签名,获得签名信息,然后将签名信息发送给被管控设备,被管控设备基于签名信息,可以对远程管控设备进行身份认证。具体的,被管控设备可以使用相同算法对待认证信息进行签名,将获得的签名信息与接收到的签名信息进行比较,如果一致,则可以确定认证通过,如果不一致,则确定认证未通过。
认证通过后,被管控设备可以向远程管控设备返回认证成功信息。如果认证未通过,则被管控设备可以不做任何响应,或者将认证失败信息返回给远程管控设备。远程管控设备在接收到被管控设备返回的认证成功信息的情况下,可以确定与被管控设备建立连接,可以继续执行进一步对称密钥协商、设备管控等操作。远程管控设备在接收到被管控设备返回的认证失败信息,或者在设定时间段内未接收到被管控设备返回的任何信息的情况下,可以确定当前未与被管控设备建立连接,可以重复向被管控设备发送连接请求及其以下步骤。如果重复执行次数达到设定次数阈值,可以输出告警信息,以便操作者及时进行问题排查。
在进行身份认证通过后,才确定远程管控设备与被管控设备之间的连接建立起来了,进而才会进行进一步的对称密钥协商、设备管控等操作,可以保证被管控设备是被合法的远程管控设备管控,远程管控设备所管控的是合法的被管控设备。
在本申请的一种具体实施方式中,可以使用预先获得的非对称密钥对待认证信息进行签名,获得签名信息。
在实际应用中,可以预先为远程管控设备和被管控设备下发一组支持国密算法的证书和非对称密钥。其中,证书和非对称密钥可以采用单证模式或者双证模式。所谓单证模式,是指操作过程中数据签名和加密都采用同一个证书和对应的非对称密钥;所谓双证模式,是指操作过程中,签名和加密分别采用不同的证书及其对应的对称密钥。
远程管控设备在接收到被管控设备返回的认证指令后,可以获得被管控设备的待认证信息,使用预先获得的非对称密钥对待认证信息进行签名,获得签名信息,然后将签名信息发送给被管控设备。
在本申请的一种具体实施方式中,在获得签名信息之后,还可以对签名信息进行完整性校验,在确认签名信息完整的情况下,执行将签名信息发送给被管控设备的步骤。这样可以避免不完整信息妨碍身份认证的准确性。
在本申请的一种具体实施方式中,远程管控设备在接收被管控设备返回的认证指令之后、对待认证信息进行签名之前,还可以对操作者进行身份认证,如果认证通过,则可以执行对待认证信息进行签名的步骤。
对操作者进行身份认证,具体可以通过口令、USBKEY、指纹等方式进行,以便加强安全认证,确认操作者的合法性。有效避免非法操作者对被管控设备进行管控操作。
在本申请的一个实施例中,远程管控设备与被管控设备协商对称密钥可以通过以下步骤进行:
步骤一:获得与被管控设备获得的随机数相同的随机数;
步骤二:与被管控设备分别使用相同的密钥生成算法基于随机数生成对称密钥。
在本申请实施例中,远程管控设备与被管控设备可以获得相同的随机数。
如,被管控设备可以生成一个随机数,在发给远程管控设备的认证指令携带的待认证信息中可以包含随机数的信息。远程管控设备在接收到认证指令后,即可获得该随机数。
在交互过程中,远程管控设备与被管控设备可以对传输数据进行加密处理,如采用SM1、SM4等国密算法。
然后,远程管控设备和被管控设备可以分别使用相同的密钥生成算法基于该随机数生成对称密钥,这样,远程管控设备和被管控设备上有了相同的对称密钥。可以使用该对称密钥进行相应信息的加密和解密操作。
在本申请的另一个实施例中,远程管控设备与被管控设备协商对称密钥可以通过以下步骤进行:
生成对称密钥;使用预先获得的公钥对对称密钥进行加密后,发送给被管控设备,被管控设备使用私钥解密获得对称密钥;
或者,接收被管控设备发送的使用公钥加密后的对称密钥;使用私钥解密获得对称密钥。
在本申请实施例中,远程管控设备可以生成一个对称密钥,然后使用预先获得的公钥对对称密钥进行加密后,发送给被管控设备,这样被管控设备就获得了加密后的对称密钥。被管控设备可以使用私钥对其进行解密,获得对称密钥。
或者,被管控设备可以生成一个对称密钥,然后使用预先获得的公钥对对称密钥进行加密后,发送给远程管控设备,这样远程管控设备就获得了加密后的对称密钥。远程管控设备可以使用私钥对其进行解密,获得对称密钥。
相应于上面的方法实施例,本申请实施例还提供了一种远程管控装置,应用于远程管控设备,下文描述的远程管控装置与上文描述的远程管控方法可相互对应参照。
参见图3所示,该装置可以包括以下步骤:
连接建立确定模块310,用于确定与被管控设备建立连接;
密钥协商模块320,用于与被管控设备协商对称密钥;
设备管控模块330,用于在对被管控设备进行管控过程中,使用对称密钥对控制指令进行加密后,发送给被管控设备,被管控设备使用对称密钥对反馈信息进行加密后,返回给远程管控设备。
应用本申请实施例所提供的装置,远程管控设备在确定与被管控设备建立连接,并与被管控设备协商对称密钥之后,在对被管控设备进行管控过程中,无论是远程管控设备发往被管控设备的控制指令,还是被管控设备发往远程管控设备的反馈信息,都通过协商好的对称密钥进行加密处理后再传输,这样即使在传输过程中控制指令或者反馈信息被截获,因进行了加密处理,所以并不容易被篡改,可以提高管控过程中相关报文在网络传输过程中的安全性,减少被截获篡改的风险,可以保障被管控设备的正常运行。
在本申请的一种具体实施方式中,连接建立确定模块310,用于:
向被管控设备发送连接请求;
接收被管控设备返回的认证指令,认证指令中携带待认证信息;
对待认证信息进行签名,获得签名信息,并将签名信息发送给被管控设备;
在接收到被管控设备返回的认证成功信息的情况下,确定与被管控设备建立连接。
在本申请的一种具体实施方式中,连接建立确定模块310,用于:
使用预先获得的非对称密钥对待认证信息进行签名。
在本申请的一种具体实施方式中,连接建立确定模块310,还用于:
在获得签名信息之后,对签名信息进行完整性校验;
在确认签名信息完整的情况下,执行将签名信息发送给被管控设备的步骤。
在本申请的一种具体实施方式中,连接建立确定模块310,还用于:
在接收被管控设备返回的认证指令之后、对待认证信息进行签名之前,对操作者进行身份认证;
如果认证通过,则执行对待认证信息进行签名的步骤。
在本申请的一种具体实施方式中,密钥协商模块320,用于:
获得与被管控设备获得的随机数相同的随机数;
与被管控设备分别使用相同的密钥生成算法基于随机数生成对称密钥。
在本申请的一种具体实施方式中,密钥协商模块320,用于:
生成对称密钥;使用预先获得的公钥对对称密钥进行加密后,发送给被管控设备,被管控设备使用私钥解密获得对称密钥;
或者,
接收被管控设备发送的使用公钥加密后的对称密钥;使用私钥解密获得对称密钥。
相应于上面的方法实施例,本申请实施例还提供了一种远程管控设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述远程管控方法的步骤。
如图4所示,为远程管控设备的组成结构示意图,远程管控设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行远程管控方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
确定与被管控设备建立连接;
与被管控设备协商对称密钥;
在对被管控设备进行管控过程中,使用对称密钥对控制指令进行加密后,发送给被管控设备,被管控设备使用对称密钥对反馈信息进行加密后,返回给远程管控设备。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作***,以及至少一个功能(比如网络连接功能、数据传输功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如密钥数据、指令数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者***连接。
当然,需要说明的是,图4所示的结构并不构成对本申请实施例中远程管控设备的限定,在实际应用中远程管控设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述远程管控方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。