产学研创新服务平台(开云优惠体育网页版入口)
专利申请类型:发明专利;专利名称:一种工业控制器多播通讯密钥分发方法及系统
专利类型:发明专利
专利申请号:CN202111555495.0
专利申请(专利权)人:中控技术股份有限公司
权利人地址:浙江省杭州市滨江区六和路309号(高新区)
专利发明(设计)人:陈银桃,马纳,章维,张高达
专利摘要:本发明涉及一种工业控制器多播通讯密钥分发方法及系统,该方法应用于组成员与密钥分发服务器之间,该方法包括:组成员生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器;密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员;组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址。
主权利要求:
1.一种工业控制器多播通讯密钥分发方法,其特征在于,所述方法应用于组成员与密钥分发服务器之间,其中组成员为DCS控制网络内任意一个参与组播通讯终端节点设备,所述方法包括:S1、组成员生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器;
所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳;
S2、密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员;
S3、组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址;
所述S1包括:
S11、组成员生成多播密钥请求信息;
S12、组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息;
S13、组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器。
2.根据权利要求1所述的方法,其特征在于,所述S2包括:
S21、密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息;
S22、密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息;
S23、密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥;
S24、若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员。
3.根据权利要求2所述的方法,其特征在于,所述S24包括:
S241、密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息;
所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息;
S242、密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息;
S243、密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。
4.根据权利要求3所述的方法,其特征在于,所述S3包括:
S31、组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息;
S32、组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确;
S33、若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。
5.一种工业控制器多播通讯秘钥分发系统,其特征在于,包括:
组成员,用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器;
所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳;
密钥分发服务器,用于根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员;
组成员,还用于对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址;
组成员用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器,具体包括:组成员生成多播密钥请求信息;
组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息;
组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器;
密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员,具体包括:密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息;
密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息;
密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥;
若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员;
组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址,具体包括:组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息;
组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确;
若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。
6.根据权利要求5所述的系统,其特征在于,
所述密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员,具体包括:密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息;
所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息;
密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息;
密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。
7.根据权利要求6所述的系统,其特征在于,
所述密钥分发服务器,还用于生成多播通讯密钥更新信息,并使用多播通讯密钥生成多播通讯密钥更新信息的消息认证码HMAC;密钥分发服务器将多播通讯密钥更新信息及消息认证码HMAC使用多播通讯密钥加密后作为多播通讯密钥更新报文发送至组成员;
所述多播通讯密钥更新信息包括密钥更新时间戳、多播通讯更新密钥;
所述组成员,还用于接收多播通讯密钥更新报文后,使用多播通讯密钥进行解密,获取并验证多播通讯密钥更新信息及消息认证码HMAC,若正确,则将所述多播通讯密钥更新信息中的多播通讯更新密钥作为新的多播通讯密钥。
8.根据权利要求7所述的系统,其特征在于,
所述密钥分发服务器,还用于将组成员设备标识、设备证书及其多播组地址进行存储完成组成员注册授权。 说明书 : 一种工业控制器多播通讯密钥分发方法及系统技术领域[0001] 本发明涉及工业信息安全技术领域,尤其涉及一种工业控制器多播通讯密钥分发方法及系统。背景技术[0002] 一个DCS系统包括部署DCS控制器、操作员站、工程师、组态服务器、历史数据服务器等,操作站(工程师站)需通过相关通讯协议对控制器进行组态配置、数据采集、命令下发,固件升级等操作。DCS系统通讯网络存在多种形式的通讯方式其通讯形式,包括了单播通讯、组播通讯以及广播通讯,其中组播通讯一般用于某类消息需通知多个对象(例如控制器状态数据、自身诊断信息发布以及协同控制),从而降低通讯流量,提升网络通讯效率。在传统控制系统中,控制系统组播通讯未考虑安全机制,例如加密通讯,身份认证机制,其通讯信息以明文方式进行传输,因此其通讯过程易被监听,攻击者可通过中间人攻击,伪造携带错误状态或者控制指令的数据包,欺骗控制系统控制节点或者监控节点,可对系统进行破坏,同时可使用户无法及时发现控制系统异常。因此从实际应用的角度考虑,控制系统的组播通讯的安全性将对控制系统整体安全产生重要影响。因此根据控制系统本身特点出发,考虑增加适用控制系统的组播通讯身份认证及通讯加密方法成为亟需解决的问题。[0003] 控制系统对通讯实时性以及可靠性要求较高,进一步,控制器自身计算资源有限,通常无法支持需较大计算能力安全加密协议,例如TLS/DTLS协议。另一方面,传统的设备多采用基于基于数字证书的公钥加密技术进行身份认证,而数字证书在日常系统维护中存在繁琐不便的问题。发明内容[0004] (一)要解决的技术问题[0005] 鉴于现有技术的上述缺点、不足,本发明提供一种工业控制器多播通讯密钥分发方法及系统,其解决了传统DCS控制系统中涉及的组播通讯无法建立有效的安全通讯机制,存在组播组成员无法进行身份认证、组播数据未加密导致多种安全风险的技术问题。[0006] (二)技术方案[0007] 为了达到上述目的,本发明采用的主要技术方案包括:[0008] 第一方面,本发明实施例提供一种工业控制器多播通讯密钥分发方法,所述方法应用于组成员与密钥分发服务器之间,其中组成员为DCS控制网络内任意一个参与组播通讯终端节点设备,所述方法包括:[0009] S1、组成员生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器;[0010] 所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳;[0011] S2、密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员;[0012] S3、组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址。[0013] 优选的,所述S1包括:[0014] S11、组成员生成多播密钥请求信息;[0015] S12、组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息;[0016] S13、组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器。[0017] 优选的,所述S2包括:[0018] S21、密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息;[0019] S22、密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息;[0020] S23、密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥;[0021] S24、若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员。[0022] 优选的,所述S24包括:[0023] S241、密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息;[0024] 所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息;[0025] S242、密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息;[0026] S243、密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。[0027] 优选的,所述S3包括:[0028] S31、组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息;[0029] S32、组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确;[0030] S33、若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。[0031] 另一方面,本实施例还提供一种工业控制器多播通讯秘钥分发系统,包括:[0032] 组成员,用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器;[0033] 所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳;[0034] 密钥分发服务器,用于根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员;[0035] 组成员,还用于对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址。[0036] 优选的,[0037] 组成员用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器,具体包括:[0038] 组成员生成多播密钥请求信息;[0039] 组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息;[0040] 组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器;[0041] 密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员,具体包括:[0042] 密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息;[0043] 密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息;[0044] 密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥;[0045] 若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员;[0046] 组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址,具体包括:[0047] 组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息;[0048] 组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确;[0049] 若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。[0050] 优选的,[0051] 所述密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员,具体包括:[0052] 密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息;[0053] 所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息;[0054] 密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息;[0055] 密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。[0056] 优选的,[0057] 所述密钥分发服务器,还用于生成多播通讯密钥更新信息,并使用多播通讯密钥生成多播通讯密钥更新信息的消息认证码HMAC;密钥分发服务器将多播通讯密钥更新信息及消息认证码HMAC使用多播通讯密钥加密后作为多播通讯密钥更新报文发送至组成员;[0058] 所述多播通讯密钥更新信息包括密钥更新时间戳、多播通讯更新密钥;[0059] 所述组成员,还用于接收多播通讯密钥更新报文后,使用多播通讯密钥进行解密,获取并验证多播通讯密钥更新信息及消息认证码HMAC,若正确,则将所述多播通讯密钥更新信息中的多播通讯更新密钥作为新的多播通讯密钥。[0060] 优选的,[0061] 所述密钥分发服务器,还用于将组成员设备标识、设备证书及其多播组地址进行存储完成组成员注册授权。[0062] (三)有益效果[0063] 本发明的有益效果是:本发明的一种工业控制器多播通讯密钥分发方法及系统,由于采用组成员与密钥分发服务器之间通过多播密钥请求报文和多播通讯密钥分发报文,实现组成员的身份合法性认证,以及组播数据加密,提高了安全性,另一方面,通过轻量级通讯密钥分发机制,通讯流程实现了简化。附图说明[0064] 图1为本发明的一种工业控制器多播通讯密钥分发方法示意图;[0065] 图2为本发明实施例中DCS多播通讯网络拓扑图;[0066] 图3为本发明的一种工业控制器多播通讯密钥分发系统结构示意图。具体实施方式[0067] 为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。[0068] 为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更清楚、透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。[0069] 参见图1,本实施例提供一种工业控制器多播通讯密钥分发方法,所述方法应用于组成员与密钥分发服务器之间,其中组成员为DCS控制网络内任意一个参与组播通讯终端节点设备,所述方法包括:[0070] S1、组成员生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器。[0071] 所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳。[0072] S2、密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员。[0073] S3、组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址。[0074] 本实施例提供的一种工业控制器多播通讯密钥分发方法,所述方法应用于DCS控制系统内DCS控制器、操作站、工程师间的多通讯身份认证、通讯加密。典型的DCS多播通讯网络拓扑如图2所示。所述方法涉及多播组成员(即组成员)和密钥分发服务器,其中组成员可以为DCS控制网络内任意一个参与组播通讯终端节点设备,例如DCS控制器、操作站、工程师站。[0075] 在本实施例的实际应用中,所述S1包括:[0076] S11、组成员生成多播密钥请求信息;[0077] S12、组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息;[0078] S13、组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器。[0079] 在本实施例的实际应用中,所述S2包括:[0080] S21、密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息。[0081] S22、密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息;(设备证书公钥信息已经存储在密钥分发服务器上)。[0082] S23、密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥。[0083] 具体的,密钥分发服务器将已经注册授权的组成员中的设备标识、设备证书及其多播组地址进行存储。[0084] S24、若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员。[0085] 具体的,如果查询失败(也就是在密钥分发服务器中没有查询到该组成员的设备标识、设备证书及其多播组地址),则停止后续流程。设备其实就是数字证书,是代表身份的一个东西,里面含有公钥信息,对应一个私钥信息。[0086] 在本实施例的实际应用中,所述S24包括:[0087] S241、密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息;[0088] 所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息;[0089] S242、密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息;(根证书预先存储在组成员设备上,根证书为密钥分服务器拥有的数字证书)。[0090] S243、密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。[0091] 在本实施例的实际应用中,所述S3包括:[0092] S31、组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息。[0093] S32、组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确。[0094] S33、若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。[0095] 另一方面,参见图3本实施例还提供一种工业控制器多播通讯密钥分发系统,包括:[0096] 组成员,用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器。[0097] 所述多播密钥请求信息包含了:组成员随机数、组成员的设备标识、组成员时间戳。[0098] 密钥分发服务器,用于根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员。[0099] 组成员,还用于对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址。[0100] 在本实施例的实际应用中,组成员用于生成多播密钥请求信息,并对该多播密钥请求信息进行签名,获取第一签名信息,以及进一步基于该多播密钥请求信息和该第一签名信息生成多播密钥请求报文,并发送至密钥分发服务器,具体包括:[0101] 组成员生成多播密钥请求信息。[0102] 组成员使用组成员设备证书私钥对所述多播密钥请求信息进行签名,获取第一签名信息。[0103] 组成员将所述多播密钥请求信息和所述第一签名信息使用密钥分发服务器根证书公钥加密,生成多播密钥请求报文,并将该多播密钥请求报文发送至密钥分发服务器。[0104] 密钥分发服务器根据该多播密钥请求报文,并使用组成员设备标识查询其所存储的组成员所在多播组地址以及多播组通讯密钥,进一步基于该多播密钥请求报文、多播组地址、多播组通讯密钥生成多播通讯密钥分发报文并发送至组成员,具体包括:[0105] 密钥分发服务器接收多播密钥请求报文,并使用密钥分发服务器根证书的私钥针对该多播密钥请求报文进行解密,获取多播密钥请求信息和第一签名信息。[0106] 密钥分发服务器采用其所含的设备证书公钥验证该第一签名信息是否正确,若正确,则记录该多播密钥请求信息。[0107] 密钥分发服务器使用组成员设备标识查询密钥分发服务器中所预先存储的组成员所在多播组地址以及多播组通讯密钥。[0108] 若查询成功,则密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员。[0109] 组成员对该多播通讯密钥分发报文进行验证,并存储验证结果为正确的多播通讯密钥分发报文中所对应的多播通讯密钥及多播组地址,具体包括。[0110] 组成员接收多播通讯密钥分发报文,并使用组成员设备证书私钥对多播通讯密钥分发报文进行解密,获取第二签名信息和多播通讯密钥分发信息。[0111] 组成员使用根证书公钥验证第二签名信息及多播通讯密钥分发信息所含组成员随机数、密钥分发服务器时间戳信息是否正确。[0112] 若正确,则组成员存储验证结果为正确的多播通讯密钥分发信息中的多播通讯密钥及多播组地址。[0113] 在本实施例的实际应用中,所述密钥分发服务器基于所述多播密钥请求信息、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息,并基于该多播通讯密钥分发信息获取多播通讯密钥分发报文,进一步将该多播通讯密钥分发报文发送至组成员,具体包括:[0114] 密钥分发服务器基于所述多播密钥请求信息中的组成员随机数、多播组地址以及多播组通讯密钥,生成多播通讯密钥分发信息。[0115] 所述多播通讯密钥分发信息包括:组成员随机数、组成员多播组地址、多播通讯密钥以及密钥分发服务器时间戳信息。[0116] 密钥分发服务器使用根证书私钥对多播通讯密钥分发信息进行签名,获取第二签名信息。[0117] 密钥分发服务器将多播通讯密钥分发信息及第二签名信息使用组成员设备证书所含的设备证书公钥进行加密,获取多播通讯密钥分发报文,并将该多播通讯密钥分发报文发送至组成员。[0118] 在本实施例的实际应用中,所述密钥分发服务器,还用于生成多播通讯密钥更新信息,并使用多播通讯密钥生成多播通讯密钥更新信息的消息认证码HMAC;密钥分发服务器将多播通讯密钥更新信息及消息认证码HMAC使用多播通讯密钥加密后作为多播通讯密钥更新报文发送至组成员。[0119] 所述多播通讯密钥更新信息包括密钥更新时间戳、多播通讯更新密钥。[0120] 本实施例中的工业控制器多播通讯密钥分发系统实现了组播密钥更新功能,基于共享密钥技术实现组播密钥更新通信信息的来源真实性鉴别以及通讯数据的加密,共享密钥技术相比公钥加密技术效率高,因此组播密钥更新速率快,在保障通讯安全性的同时,提升了密钥分发效率。通过定期性更新组播通讯密钥,提高了系统安全。[0121] 所述组成员,还用于接收多播通讯密钥更新报文后,使用多播通讯密钥进行解密,获取并验证多播通讯密钥更新信息及消息认证码HMAC,若正确,则将所述多播通讯密钥更新信息中的多播通讯更新密钥作为新的多播通讯密钥。[0122] 在本实施例的实际应用中,所述密钥分发服务器,还用于将组成员设备标识、设备证书及其多播组地址进行存储完成组成员注册授权。[0123] 本实施例中的一种工业控制器多播通讯密钥分发方法及系统,由于采用组成员与密钥分发服务器之间通过多播密钥请求报文和多播通讯密钥分发报文,实现组成员的身份合法性认证,以及组播数据加密,提高了安全性,另一方面,通过轻量级通讯密钥分发机制,通讯流程实现了简化。[0124] 由于本发明上述实施例所描述的系统,为实施本发明上述实施例的方法所采用的系统,故而基于本发明上述实施例所描述的方法,本领域所属技术人员能够了解该系统/装置的具体结构及变形,因而在此不再赘述。凡是本发明上述实施例的方法所采用的系统都属于本发明所欲保护的范围。[0125] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD?ROM、光学存储器等)上实施的计算机程序产品的形式。[0126] 本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。[0127] 应当注意的是,在权利要求中,不应将位于括号之间的任何附图标记理解成对权利要求的限制。词语“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的词语“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的权利要求中,这些装置中的若干个可以是通过同一个硬件来具体体现。词语第一、第二、第三等的使用,仅是为了表述方便,而不表示任何顺序。可将这些词语理解为部件名称的一部分。[0128] 此外,需要说明的是,在本说明书的描述中,术语“一个实施例”、“一些实施例”、“实施例”、“示例”、“具体示例”或“一些示例”等的描述,是指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。[0129] 尽管已描述了本发明的优选实施例,但本领域的技术人员在得知了基本创造性概念后,则可对这些实施例作出另外的变更和修改。所以,权利要求应该解释为包括优选实施例以及落入本发明范围的所有变更和修改。[0130] 显然,本领域的技术人员可以对本发明进行各种修改和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也应该包含这些修改和变型在内。
专利地区:浙江
专利申请日期:2021-12-17
专利公开日期:2024-11-29
专利公告号:CN114422118B