技术领域
[0001] 本申请涉及工业控制系统安全领域,尤其涉及一种安全管理系统及方法。
相关背景技术
[0002] 随着工业信息化进程的快速推进,信息、网络以及物联网技术在智能电网、智能交通、工业生产系统等工业控制领域得到了广泛的应用,极大地提高了企业的综合效益。为实现系统间的协同和信息分享,工业控制系统也逐渐打破了以往的封闭性:采用标准、通用的通信协议及硬软件系统,甚至有些工业控制系统也能以某些方式连接到互联网等公共网络中。这使得工业控制系统也必将面临病毒、木马、黑客入侵、拒绝服务等传统的信息安全威胁,而且由于工业控制系统多被应用在电力、交通、石油化工、核工业等国家重要的行业中,其安全事故造成的社会影响和经济损失会更为严重。
[0003] 为了保证工控控制系统网络的安全,安全管理平台实现了对全网中各安全设备进行监控、实时告警、流量分析等。安全管理平台对于安全设备的统一管理,是基于网络通讯技术和接口技术实现的。然而,现有的安全管理平台并不能保证管理设备和被管理设备都是安全的,某一设备的不安全都会引起整个安全管理平台被攻击的危险。
[0004] 因此,如何保证安全管理设备和被管理设备之间是互为安全的,是本申请所要解决的技术问题。
具体实施方式
[0051] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请中附图编号仅用于区分方案中的各个步骤,不用于限定各个步骤的执行顺序,具体执行顺序以说明书中描述为准。
[0052] 为了解决现有技术中存在的问题,本申请实施例提供一种安全管理系统,图1是本申请实施例的安全管理系统的架构示意图。
[0053] 如图1所示,安全管理系统包括安全管理设备2000和安全设备1000,安全管理设备2000用于对安全设备1000进行统一管理。安全设备包括接入到工业控制系统网络中的工业防火墙、监测审计设备等,安全设备支持国家商用密码算法SM2/3/4算法。
[0054] 安全设备1000首先与安全管理设备2000交换安全设备1000的第一公钥及安全管理设备2000的第二公钥。
[0055] 在一个实施例中,安全设备1000与安全管理设备2000交换公钥,具体包括:
[0056] 安全设备1000根据其设备标识生成第一密钥对,其中,第一密钥对包括第一公钥和第一私钥。安全设备的设备标识为设备的唯一标识,例如设备序列号。安全设备1000支持国家商用密码算法SM2/3/4算法,例如使用SM2密码算法生成第一密钥对。
[0057] 安全设备1000将第一密钥对中的第一公钥发送给安全管理设备2000,可以请求报文中携带第一公钥的形式发送。
[0058] 安全管理设备2000接收并保存安全设备1000发送的第一公钥。然后,根据随机数生成第二密钥对,其中,第二密钥对包括第二公钥和第二私钥。
[0059] 安全管理设备2000向安全设备1000返回第二公钥,安全设备1000接收并保存安全管理设备2000返回的第二公钥,从而完成安全设备1000的第一公钥与安全管理设备2000的第二公钥的交换。
[0060] 在另一个实施例中,安全设备1000与安全管理设备2000交换公钥,具体包括:
[0061] 安全设备1000根据其设备标识生成第一密钥对,其中,第一密钥对包括第一公钥和第一私钥。安全设备1000将第一密钥对中的第一公钥、安全设备1000的设备标识和第一签名码发送给安全管理设备2000,第一签名码是使用第一公钥对安全设备1000的设备标识进行加密生成。此时,安全设备1000可以将第一公钥、设备标识和第一签名码组装成请求报文发送给安全管理设备2000。
[0062] 安全管理设备2000接收并保存安全设备1000发送的第一公钥、设备标识和第一签名码。然后,根据第一公钥对第一签名码进行验签,在对第一签名码验签通过后,再根据随机数生成包括第二公钥和第二私钥的第二密钥对。最后,向安全设备1000返回第二公钥。
[0063] 在一个实施例中,安全设备1000发送的认证请求包括设备标识和第一密文,第一密文是安全设备1000在向安全管理设备2000发送认证请求之前,使用与安全管理设备2000交换的第二公钥,对第一随机数加密生成第一密文。
[0064] 安全管理设备2000向安全设备1000发送的第一身份验证信息包括第二密文及第二签名码,第二密文是安全管理设备2000在向安全设备1000发送第一身份验证信息之前,使用与安全设备1000交换的第一公钥,对第二随机数加密生成第二密文。然后,使用自身的第二私钥解密来自安全设备1000的第一密文,由于第一密文是安全设备1000使用第二公钥加密生成的,因此利用第二密钥对的第二私钥对第一密文进行解密,则可以得到第一随机数。最后,安全管理设备2000使用自身的第二私钥对第二随机数和第一密文解密后得到第一随机数,进行加密生成第二签名码。
[0065] 安全设备1000接收到安全管理设备2000发送的第一身份验证信息后,根据第二公钥和第一身份验证信息对安全管理设备2000进行身份验证,具体包括:
[0066] 安全设备1000使用自身的第一私钥解密第二密文,得到第二随机数。由于第二密文是安全管理设备2000使用第一公钥加密生成的,因此利用第一密钥对的第一私钥对第二密文进行解密,则可以得到第二随机数。然后,使用第一随机数、第二随机数和第二公钥对第二签名码进行验签。同样地,由于第二签名码是安全管理设备2000使用第二私钥对第一随机数和第二随机数加密生成,因此如果是安全的第二签名码,则安全设备1000使用第二公钥对第二签名码进行解密,则能够得到第一随机数和第二随机数,则验签成功,完成对安全管理设备2000的身份验证,表示当前的安全管理设备2000是安全的。否则,验签失败,对安全管理设备2000的身份验证失败,表示当前的安全管理设备2000是不安全的。
[0067] 在一个实施例中,安全设备1000对安全管理设备2000的验证通过后,向安全管理设备2000发送第二身份验证信息包括第三签名码。第三签名码是安全设备1000在向安全管理设备2000发送第二身份验证信息之前,使用第一私钥对第一随机数和第二随机数加密生成的。
[0068] 安全管理设备2000收到第二身份验证信息后,根据交换的第一公钥和第二身份验证信息对安全设备1000进行身份验证,具体包括:
[0069] 安全管理设备2000使用第一随机数、第二随机数和第一公钥对第三签名码进行验签;验签成功,则完成对安全设备1000的身份验证,表示当前的安全设备1000是安全的。否则,验签失败,对安全设备1000的身份验证失败,表示当前的安全设备1000是不安全的。
[0070] 安全管理设备2000向安全设备1000返回对安全设备1000进行身份验证的验证结果,如果所述验证结果为验证通过,安全设备1000则建立与安全管理设备2000的通信,并进行正常工作状态。否则,安全设备与安全管理设备2000之间互为不安全的,二者不建立任何通信。
[0071] 在一个实施例中,在安全管理设备2000对安全设备1000的身份验证验签成功后,安全管理设备2000还可以下发到安全设备本次认证的认证令牌。认证令牌可以包括安全设备1000的设备标识、表示下发认证令牌的时间的时间戳以及第四签名码,第四签名码为安全管理设备2000使用与安全设备1000交互的第一公钥对设备标识和时间戳进行加密得到的。安全设备1000在收到认证令牌后,利用与安全管理设备2000交互的第二公钥对第四签名吗进行验签,得到对应的设备标识和时间戳,通过判断验签的设备标识和时间戳来判断该认证令牌是否有效。
[0072] 安全设备1000验证认证令牌有效后,完成安全设备1000与安全管理设备2000之间的双向身份认证流程,安全设备1000进入正常工作状态。
[0073] 本申请实施例的安全管理系统,通过在安全管理设备与安全设备通信之前增加公钥交换和双向身份验证,能够保证安全管理设备和被管理设备之间是互为安全的,从而可有效提高安全管理平台的安全性,保证工业控制系统网络的安全。
[0074] 在一个实施例中,为了进一步增加安全管理平台的安全性,安全设备和安全管理设备所涉及的密钥对生成、随机数加解密的密文、数字签名码验证等密码运算和密钥管理功能可以由单独的密码服务设备提供。安全设备和安全管理设备从密码服务设备获取对应的密钥对、密文和/或签名码,并用于身份验证即可。安全管理装置与安全设备、密码服务设备之间的通信可采用HTTPS协议进行。
[0075] 在一个实施例中,本申请还提供了一种安全管理方法,图2是本申请第一实施例的安全管理方法的流程示意图。
[0076] 在该实施例中,安全管理方法由安全设备执行,该方法包括以下步骤:
[0077] 步骤102,与安全管理设备交换所述安全设备的第一公钥及所述安全管理设备的第二公钥;
[0078] 步骤104,向所述安全管理设备发送认证请求;
[0079] 步骤106,接收所述安全管理设备根据所述认证请求发送的第一身份验证信息,并根据所述第二公钥和所述第一身份验证信息对所述安全管理设备进行身份验证;
[0080] 步骤108,当对所述安全管理设备的验证通过后,向所述安全管理设备发送第二身份验证信息以得到所述安全管理设备对所述安全设备进行身份验证的验证结果;
[0081] 步骤110,如果所述验证结果为验证通过,建立与所述安全管理设备的通信。
[0082] 在一个实施例中,本申请还提供了一种安全管理方法,图3是本申请第二实施例的安全管理方法的流程示意图。
[0083] 在该实施例中,安全管理方法由安全管理设备执行,该方法包括以下步骤:
[0084] 步骤202,与安全设备交换所述安全管理设备的第二公钥与所述安全设备的第一公钥;
[0085] 步骤204,接收所述安全设备发送的认证请求,并根据所述认证请求向所述安全设备发送所述第一身份验证信息;
[0086] 步骤206,接收所述安全设备根据所述第二公钥和所述第一身份验证信息对所述安全管理设备身份验证通过后发送的第二身份验证信息,并根据所述第一公钥和所述第二身份验证信息对所述安全设备进行身份验证;
[0087] 步骤208,向所述安全设备发送对所述安全设备进行身份验证的验证结果。
[0088] 本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一种安全管理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read‑Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
[0089] 需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0090] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
[0091] 上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。