一种基于IEC61850可信链模型的变电站数字证书管理方法
技术领域
本发明属于电力系统的通信安全领域,涉及变电站内加密、认证密钥的管理领域,具体地说是一种基于IEC61850可信链模型的变电站数字证书管理方法。
背景技术
随着网络与通信技术的广泛应用,电力系统的网络安全风险日益增加,而应用加密、认证技术是应对网络安全风险的常用技术手段。在变电站通信中应用加密、认证手段来提升网络系统的安全性,密钥分发的安全性与便捷性密钥管理的重要工作。
为解决变电站的密钥安全分发管理问题,通常需要部署PKI系统;一方面PKI系统需要权限访问控制来保障密钥分发的受控性,一方面也需要与变电站设备建立密钥分发的通信通道。PKI系统是变电站的辅助应用系统,其访问权限的管理通常与应用业务的管理有区别;而为了保障密钥分发的安全性,变电站设备需要对PKI系统的访问进行身份识别与验证;常见的账户口令相结合的身份认证方式,需要变电站设备预设PKI系统的访问账号与口令并定期管理更新,这不仅增加了账户管理的复杂度,也使PKI系统与变电站设备在权限管理上产生了耦合。
PKI系统与变电站设备常采用两种通信方式,一种是专用的OCSP、EST、SCEP协议,这些协议对于嵌入式设备过于复杂;一种是通用的SSH、SFTP等协议,而大部分这些通用协议又因安全风险原因,被电网公司严格限制应用;另外,无论专用还是通用协议,任何新增通信协议都会增加变电站通信架构与运行维护的复杂度。
发明内容
本发明所要解决的技术问题是:提供一种基于IEC61850可信链模型的变电站数字证书管理方法,其简化变电站通信结构,在权限管理方面降低PKI系统与应用业务的耦合度,以提升变电站运行管理的便捷性。
为实现上述目的,本发明采用的技术方案如下:一种基于IEC61850可信链模型的变电站数字证书管理方法,其内容为:数字证书管理模块与变电站设备应用带有证书管理角色定义数字证书实现IEC61850通信链接的身份认证,并应用通信角色的权限访问控制功能验证与限定对变电站设备的通信服务功能,建立数字证书管理模块与变电站设备的可信链模型,实现变电站数字证书的可信管理功能;
在正式管理前,数字证书管理模块预先配置具有证书管理角色的数字证书Cert和可信链证书TrustChain;变电站设备预先配置CA根证书,在IEC61850文件中建立控制模型,用于控制密钥对与证书请求文件的生成,且该控制模型仅允许拥有证书管理角色的通信链接进行控制;
上述变电站数字证书管理方法的具体步骤如下:
步骤1:数字证书管理模块向变电站设备发起IEC61850通信链接请求,在链接请求报文中,包含完整的数字证书Cert和可信链证书TrustChain,发起链接请求的当前时间信息T,和应用数字证书管理模块私钥对时间信息T的签名信息Sign;
步骤2:变电站设备应用预设CA根证书对链接请求和身份信息的合法性进行验证;通过验证后,允许数字证书管理模块创建IEC61850通信链接,并标记该链接为证书管理角色的通信链接;
步骤3:数字证书管理模块通过IEC61850控制服务操作变电站设备的控制模型,控制变电站设备生成新的密钥对与证书请求文件;
步骤4:变电站设备实时检测对控制模型的操作,若有操作请求发生且通信链接为证书管理角色的通信链接,则开放控制功能并生成新的密钥对与证书请求文件;若成功生成秘钥对与证书请求文件,则返回控制成功;否则,返回控制失败;
步骤5:数字证书管理模块通过IEC61850文件读服务获取变电站设备的证书请求文件并进行安全验证;验证通过后,签发数字证书并应用IEC61850文件写服务将数字证书下发给变电站设备;
步骤6:变电站设备成功接收到数字证书后,以密钥对与证书请求文件为输入验证数字证书中公钥内容的正确性,并以预设的CA根证书验证数字证书的签名信息;若数字证书的签名与公钥均通过验证,变电站设备则应用该密钥对与数字证书。
进一步地,上述步骤1中所述的数字证书Cert为具有证书管理角色的X509数字证书,在证书中包含一个用于描述证书角色属性的扩展项,且该扩展项的属性值为证书管理角色属性值,且证书角色属性扩展项信息包含在数字证书的签名信息中;具有证书管理角色的数字证书至少拥有通过IEC61850通信对变电站设备进行控制、文件读写服务的操作权限。
进一步地,上述步骤2中所述的变电站设备对链接请求和身份信息的合法性验证过程为,获取链接请求所携带的数字证书Cert′、可信链证书TrustChain′、时间信息T′和签名信息Sign′;若时间信息T′与变电站设备本地时间的差在设定阈值内,且数字证书Cert′中的证书角色属性字段为证书管理角色,则进一步验证数字证书Cert′的可信性;
依据数字证书Cert′、可信链证书TrustChain′的证书签发者信息,构建数字证书Cert′的信任链,并应用预设CA根证书按照信任链逐一对数字证书与可信链证书的签名信息进行验证;所有签名均通过验证后,获取数字证书Cert′的公钥,并进一步验证签名信息Sign′的可信性;
依据数字证书Cert′的签名算法信息,用相同报文摘要算法计算时间信息T′的哈希值H,并用数字证书Cert′的公钥及对应的签名算法对签名信息Sign′进行解签,获得报文摘要H′;若H≡H′,则判定验证通过,链接请求为有效的证书管理角色的通信链接;否则判定验证不通过。
进一步地,上述步骤5中所述的数字证书管理模块对变电站设备的证书请求的安全性检查方法,获取证书请求文件的证书请求信息、签名算法信息、签名信息;依据证书请求中的签名算法信息和证书请求信息中的公钥信息,验证证书请求文件的签名信息;若签名验证通过,则判定通过安全性检查;否则,则判定验证失败。
进一步地,上述步骤5中所述的数字证书管理模块对变电站设备的文件读写操作方法,变电站设备实时检测通信链接的文件操作请求,若是读取证书请求文件、写入数字证书文件的操作请求,则进一步对通信链接的角色信息进行检查;若通信链接的角色类型为证书管理角色,则开放文件操作服务;否则,拒绝文件服务。
本发明在证书管理模块与变电站设备建立通信链接时,增加了证书管理模块的数字证书的身份认证功能,依赖数字证书中内容的不可篡改性实现了证书管理模块的可信识别;并通过限定仅证书管理通信链路才能对密钥相关服务进行操作,构成了变电站证书管理的完整可信链条。本发明复用了变电站的IEC61850通信协议,实现为包括IEC61850通信在内等应用功能颁发数字证书的功能,简化了变电站通信结构的复杂度;本发明通过数字证书的角色属性字段扩展,解决了变电站设备对PKI系统的身份认证与识别问题,解决了PKI系统权限控制与证书更新与变电站设备应用权限管理耦合性问题,简化了变电站账户管理的复杂度并提升了变电站系统的可维护性。
附图说明
图1为本发明基于IEC61850可信链模型的变电站数字证书管理方法的流程图。
具体实施方式
以下将结合说明书附图,对本发明的技术方案做进一步描述,使本领域技术人员更好的理解本发明并能予以实施。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明的保护范围。
数字证书管理模块与变电站设备采用IEC61850通信,并支持IEC 62351的A-Profile通信的安全认证机制,且认证数字证书应用IEC 62351-8定义的角色数字证书。依据IEC 62351-8标准,角色证书扩展字段的OID为{1 0 62351 8 1},证书管理角色的扩展值extnValue为{RoleID(-1),Aor(*),revision(1),RoleDefinition(IEC62351-8)},其中RoleID标志角色属性,并约定-1为证书管理角色,并被分配IEC61850的控制、文件读写的服务权限。角色数字证书的报文摘要算法为SM3,签名算法为SM2。
数字证书管理模块预先配置具有证书管理角色的数字证书Cert和可信链证书TrustChain;变电站设备预先配置CA根证书。
变电站设备的IEC61850文件创建一个用于密钥管理的逻辑设备,名称为KEYMNG;逻辑设备KEYMNG的LLN0中包含一个SPC控制模型,DO名称为KeyGenEna,用于接收外部控制命令并产生新的密钥对与证书请求文件;该DO的全路径名称为KEYMNG/LLN0.CO.KeyGenEna,并且该控制模型仅支持具有证书管理角色权限通信链接的控制操作。并约定,变电站设备证书请求文件的上招路径与名称为/KEYMNG/device.req;变电站设备证书下发路径与名称为/KEYMNG/device.crt。
基于IEC61850可信链模型的变电站数字证书管理方法,如图1所示,其具体操作如下:
步骤1:数字证书管理模块向变电站设备发起支持IEC 62351的A-Profile安全协议的IEC61850通信链接请求,在链接请求报文中,包含完整的数字证书Cert和可信链证书TrustChain,发起链接请求的当前时间信息T,和应用数字证书管理模块私钥对时间信息T的签名信息Sign。
步骤2:变电站设备接收到符合IEC 62351的A-Profile安全协议的IEC61850通信链接强求,解析并获取数字证书Cert′、可信链证书TrustChain′、时间信息T′和签名信息Sign′;若时间信息T′与本地时间的差不大于10分钟,则进一步检查数字证书Cert′是否包含OID为{1 0 62351 8 1}扩展字段;若包含该OID,并且扩展值extnValue中RoleID的值为-1,则进一步验证数字证书Cert′的可信性;
依据数字证书Cert′、可信链证书TrustChain′的证书签发者信息,构建信任链;应用预设CA根证书按照信任链逐一对数字证书与可信链证书的签名信息进行验证;所有签名均通过验证后,获取数字证书Cert′的公钥,并进一步验证签名信息Sign′的可信性;
依据数字证书Cert′的签名算法信息,用摘要算法SM3计算时间信息T′的哈希值H;以数字证书Cert′公钥为输入,用签名算法SM3对签名信息Sign′解签,获得报文摘要H′;若H≡H′,则判定验证通过,标记该通信链接为证书管理角色的通信链接;否则,不做标记。
步骤3:建立通信链接后,数字证书管理模块通过IEC61850控制服务,对模型KEYMNG/LLN0.CO.KeyGenEna发起使能操作;请求变电站设备生成新的密钥对与证书请求文件。
步骤4:变电站设备实时检测对控制模型KEYMNG/LLN0.CO.KeyGenEna的操作;若有操作请求且通信链接为证书管理角色的通信链接,则开放控制使能功能并生成新的密钥对与证书请求文件;若成功生成秘钥对与证书请求文件,则返回控制成功;否则,返回控制失败。
步骤5:数字证书管理模块接收到控制成功信息后,通过IEC61850文件读服务,以/KEYMNG/device.req为文件路径信息获取变电站设备的证书请求文件。
步骤6:变电站设备实时检测对文件/KEYMNG/device.req的读操作;若有操作请求且通信链接为证书管理角色的通信链接,则开放文件读使能功能并上送证书请求文件;若文件读取成功,则返回读文件服务成功;否则,返回读文件服务失败。
步骤7:数字证书管理模块成功接收证书请求文件后,解析证书请求文件,并应用证书请求文件的签名算法、公钥信息,验证证书请求文件的签名值;签名验证通过后,根据证书请求文件内容,创建并签发数字证书数字证书;然后应用IEC61850文件写服务,以/KEYMNG/device.crt为文件路径信息将数字证书下发给变电站设备。
步骤8:变电站设备实时检测对文件/KEYMNG/device.crt的写操作;若有操作请求且通信链接为证书管理角色的通信链接,则开放文件写使能功能并接收新的数字证书文件;若文件成功接收,则返回写文件服务成功;否则,返回写文件服务失败;然后,比较密钥对和证书请求文件与数字证书中公钥的一致性,并以预设的CA根证书验证数字证书的签名值;若数字证书的公钥与签名值均通过验证,变电站设备则应用新的密钥对与数字证书。