本发明属于工业控制通信技术领域,具体涉及一种保证现场总线上多个工业控制模块间进行安全加密通信的工业控制安全通信系统及通信方法。
背景技术:
现场总线(fieldbus)是一种应用于生产现场,在现场设备之间、现场设备与控制装置之间实行双向、串行、多节点数字通信的技术。它主要解决工业现场的控制器、智能化仪器仪表、执行机构等现场设备间的数字通信以及这些现场控制设备和高级控制系统之间的信息传递问题。它作为工业数据通信网络的基础,沟通了生产过程现场级控制设备之间及其与更高控制管理层之间的联系,它不仅是一个基层网络,而且还是一种开放式、新型全分布式控制系统。由于现场总线简单、可靠、经济实用等一系列突出的优点,因而受到了许多标准团体和计算机厂商的高度重视,成为当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网。在一条现场总线上可以连接有多个工业控制模块,这些工业控制模块之间可以相互便捷高效地传递相关的控制和数据信息。
然而,在现场总线为多个工业控制模块之间的通信带来方便快捷实用的同时,也存在着不可忽视的安全隐患。比如,工业控制模块身份被假冒、工业控制模块之间传输的信息被窃听、篡改、重放等,这些安全威胁很可能造成重大事故、严重经济损失或其它不良影响。
作为新一代移动通信技术,5g不仅用于人与人之间的通信,还用于人与物以及物与物之间的通信,从而实现真正的万物互联。5g在技术上规划了三大应用场景:embb(增强型移动宽带)、mmtc(海量机器类通信)和urllc(超高可靠、超低时延通信),以应对垂直应用对大带宽数据传输、海量网络连接、超低时延控制的需求。
如何根据现场总线上多个工业控制模块间相互通信的上述特点和问题,利用超高可靠、超低时延通信的5g技术,进行现场总线上多个工业控制模块间的安全加密通信,是目前急需解决的问题。
技术实现要素:
本发明的目的在于克服现有技术的不足而提供一种使得在现场总线上多个工业控制模块间的相互通信既安全可靠、又简单高效的工业控制安全通信系统及通信方法。
为了实现上述目的,本发明所采用的技术方案是这样实现的:
一种工业控制安全通信系统,包括云端、与云端通过5g网络相连接的至少两个控制端;其中云端还包括证书服务器、云端安全模块以及分别与证书服务器和云端安全模块相连接的工业控制服务器;所述控制端包括5g通信模块、控制端安全模块以及分别与5g通信模块和控制端安全模块相连接的工业控制模块;
所述云端的工业控制服务器通过5g网络与所述控制端的5g通信模块通信连接,以实现云端与控制端之间的双向通信;
各个控制端之间通过现场总线通信连接,以实现相互通信;
所述云端安全模块和控制端安全模块用于提供密码服务功能和安全存储功能;所述密码服务功能包括随机数生成、签名验签运算、加解密运算、会话密钥生成和杂凑运算;
所述工业控制服务器调用由云端安全模块提供的相应密码服务功能;所述工业控制模块调用由控制端安全模块提供的相应密码服务功能和安全存储功能;
所述证书服务器为云端生成并保存相应的公钥证书,通过离线方式将云端的公钥证书中的公钥写入所述控制端的控制端安全模块内;所述云端安全模块保存与其相应公钥证书中的公钥相对应的私钥。
所述各个控制端之间通过现场总线通信连接具体是指所述控制端的工业控制模块通过现场总线通信连接,工业控制模块分别通过现场总线的通信连接实现相互通信。
所述控制端安全模块和所述云端安全模块均为安全智能芯片,所述安全智能芯片支持的商用密码算法包括sm1、sm2和sm3中的至少一种,支持的国际常用密码算法包括3des、aes、rsa、sha-1和sha-256中的至少一种;所述安全智能芯片支持存储数字证书;所述安全智能芯片提供安全存储区域,支持重要信息的安全存储;所述安全智能芯片支持随机数的生成;所述证书服务器维护证书撤销列表,提供证书撤销列表查询功能。
一种利用所述工业控制安全通信系统进行工业控制安全通信的方法,所述工业控制安全通信方法包括准备阶段、组会话密钥协商阶段和组安全加密通信阶段;
步骤1)、准备阶段具体包括如下步骤:
至少为两个的所述控制端均作为安全通信组会话密钥协商的成员,统一用cei表示,其中i=1,2,…,n;n为大于1的自然数;在所述控制端的控制端安全模块内设置控制端组会话密钥安全存储区;所述控制端组会话密钥安全存储区统一用kzi表示,其中i=1,2,…,n;n为大于1的自然数;k为待协商的组会话密钥;
所述云端的工业控制服务器生成以下系统参数:g1与g2分别是阶均为q的循环加法群与循环乘法群,双线性映射dl:g1×g1→g2,p∈g1,随机选取
每个cei随机选取
步骤2)、组会话密钥协商阶段具体包括下列步骤:
步骤21)、每个cei各自生成ei=ciqi和vi=sip,然后分别将三元组<idi,vi,ei>发送给每个cej,其中i=1,2,…,n;j=1,2,…,n,j≠i,n为大于1的自然数;
步骤22)、cej收到cei发来的三元组<idi,vi,ei>后,从所述工业控制服务器处获取与idi相对应的di,然后分别计算dl(vi,ei)和dl(qip,di)并比较两者的值以对cei进行验证,如果值不相同,则验证失败,所述cej向每个cei和所述工业控制服务器发送验证失败标识verfail,组会话密钥协商过程终止;若该两值相同,则表示验证通过,继续下一步;
步骤23)、cei计算mi=cip,然后分别发送给每个cej,其中i=1,2,…,n;j=1,2,…,n,j≠i,n为大于1的自然数;
步骤24)、cej收到cei发来的mi后,计算nji=gjmi,然后将nji发送给cei;
步骤25)、cei收到cej发来的nji后,计算
步骤3)、组安全加密通信阶段具体包括如下步骤:
成功协商建立组会话密钥k后,各个cei之间,其中i=1,2,…,n;n为大于1的自然数,就可以使用所述组会话密钥k进行组安全加密通信。
本发明具有如下积极效果:
本发明所提供的一种工业控制安全通信系统及通信方法,通过基于身份的公钥密码体制,提出一种安全高效的组会话密钥协商协议,在各工业控制模块之间建立用于安全通信的组会话密钥,解决了在现场总线上各工业控制模块之间相互安全通信的问题;通过在组会话密钥协商过程中,通过超高可靠超低时延通信的5g网络由云端来生成协商所需的系统参数,并为各参与方提供所需的相关数据,协助各方解决在组会话密钥协商过程中的身份认证的问题。
综上所述,本发明所提供的一种工业控制安全通信系统及通信方法,根据5g和现场总线上多个工业控制模块间相互通信的特点,实现了各工业控制模块之间的身份认证和组安全加密通信,有效地解决了现有技术安全性不足的问题,使得进行现场总线上多个工业控制模块之间的身份认证及组安全加密通信既安全可靠,又简单高效。
附图说明
图1为本发明一个实施例的架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种工业控制安全通信方法,可应用于如图1所示的环境中,包括云端、至少两个控制端;所述云端包括证书服务器、云端安全模块以及分别与所述证书服务器和所述云端安全模块连接的工业控制服务器;所述控制端包括5g通信模块、控制端安全模块以及分别与所述5g通信模块和所述控制端安全模块连接的工业控制模块;所述云端的工业控制服务器通过5g网络与所述控制端的5g通信模块通信接连,以实现所述云端与所述控制端之间的双向通信;
所述至少为两个的控制端之间通过现场总线通信连接,以实现相互通信;所述云端安全模块和所述控制端安全模块用于提供密码服务功能和安全存储功能;所述密码服务功能包括随机数生成、签名验签运算、加解密运算、会话密钥生成和杂凑运算;所述工业控制服务器调用由所述云端安全模块提供的相应密码服务功能;所述工业控制模块调用由所述控制端安全模块提供的相应密码服务功能和安全存储功能;
所述证书服务器为所述云端生成并保存相应的公钥证书,通过离线方式将所述云端的公钥证书中的公钥写入所述控制端的控制端安全模块内;所述云端的云端安全模块保存与其相应公钥证书中的公钥相对应的私钥。
所述工业控制安全通信方法包括准备阶段、组会话密钥协商阶段和组安全加密通信阶段;
准备阶段具体包括如下步骤:
步骤1)、所述至少为两个的所述控制端均作为安全通信组会话密钥协商的成员,统一用cei表示,其中i=1,2,…,n;n为大于1的自然数;在所述控制端的控制端安全模块内设置控制端组会话密钥安全存储区;所述控制端组会话密钥安全存储区统一用kzi表示,其中i=1,2,…,n;n为大于1的自然数;k为待协商的组会话密钥;
所述云端的所述工业控制服务器生成以下系统参数:g1与g2分别是阶均为q的循环加法群与循环乘法群,双线性映射dl:g1×g1→g2,p∈g1,随机选取
此处所述的公开是指每个cei都可以获取相关信息,其中i=1,2,…,n;n为大于1的自然数;
每个cei随机选取
步骤2)、组会话密钥协商阶段具体包括下列步骤:
步骤21,每个cei各自生成ei=ciqi和vi=sip,然后分别将三元组<idi,vi,ei>发送给每个cej,其中i=1,2,…,n;j=1,2,…,n,j≠i,n为大于1的自然数;
步骤22,cej收到cei发来的三元组<idi,vi,ei>后,从所述工业控制服务器处获取与idi相对应的di,然后分别计算dl(vi,ei)和dl(qip,di)并比较两者的值以对cei进行验证,正常情况下dl(vi,ei)=dl(sip,ciqi)=dl(biqip,ciqi)=dl(qip,qi)bici;dl(qip,di)=dl(qip,cisi)=dl(qip,cibiqi)=dl(qip,qi)bici;cej在计算上述两值后,如果值不相同,则验证失败,所述cej向每个cei和所述工业控制服务器发送验证失败标识verfail,组会话密钥协商过程终止;若该两值相同,则表示验证通过,继续下一步;
步骤23,cei计算mi=cip,然后分别发送给每个cej,其中i=1,2,…,n;j=1,2,…,n,j≠i,n为大于1的自然数;
步骤24,cej收到cei发来的mi后,计算nji=gjmi,然后将nji发送给cei;
步骤25,cei收到cej发来的nji后,计算
步骤3)、组安全加密通信阶段具体包括如下步骤:
成功协商建立组会话密钥k后,各个cei之间,其中i=1,2,…,n;n为大于1的自然数,就可以使用所述组会话密钥k进行组安全加密通信。
在本实施例中,所述云端调用所述密码服务功能具体是指所述云端的工业控制服务器调用由所述云端的云端安全模块提供的相应密码服务功能;
所述云端通过5g网络与所述控制端进行双向通信具体是指所述云端的工业控制服务器与所述控制端的工业控制模块经所述5g通信模块通过5g网络进行双向通信,所述控制端调用所述密码服务功能和安全存储功能具体是指所述控制端的工业控制模块调用由所述控制端的控制端安全模块所提供的相应密码服务功能和安全存储功能;
所述控制端之间通过现场总线通信连接具体是指所述控制端的工业控制模块通过现场总线通信连接;所述至少为两个的所述控制端相互通信具体是指所述控制端的工业控制模块分别通过现场总线的通信连接所实现的相互通信;
所述证书服务器所述控制端生成并保存相应的公钥证书;所述控制端的控制端安全模块保存与其相应公钥证书中的公钥相对应的私钥;
所述控制端安全模块和所述云端安全模块均为安全智能芯片,所述安全智能芯片支持的商用密码算法包括sm1、sm2和sm3中的至少一种,支持的国际常用密码算法包括3des、aes、rsa、sha-1和sha-256中的至少一种;所述安全智能芯片支持存储数字证书;所述安全智能芯片提供安全存储区域,支持重要信息的安全存储;所述安全智能芯片支持随机数的生成;所述证书服务器维护证书撤销列表,提供证书撤销列表查询功能。
本发明通过在各工业控制模块之间采用基于身份的公钥密码体制协商出用于通信加密的组会话密钥,然后在各方通信时使用该组会话密钥对通信内容进行加密保护;组会话密钥协商的过程中,在各工业控制模块相互交互完成认证和协商。认证和协商过程中,使用了双线性对。双线性对定义如下:
令g1为由p生成的循环加法群,阶为q,g2是具有相同阶q的循环乘法群,双线性对是指满足下列性质的映射dl:g1×g1→g2:
1)双线性:对所有的p、q∈g1,dl(ap,bq)=e(p,q)ab;
2)非退化性:存在p、q∈g1,使e(p,q)≠1;
3)可计算性:对所有的p、q∈g1,存在有效的算法计算dl(p,q)。
所述基于身份的公钥密码体制中的所述身份就是指一串跟用户相关的有意义的数字,比如身份证号、邮箱地址等。加密者在加密的过程中,使用代表接收者身份的这串数字作为公钥对内容进行加密,加密者不再需要向可信第三方询问接收者的公钥了,这为公钥信息的管理提供了极大的便利,接收者使用身份对应的私钥进行解密。1984年,shamir提出了基于身份的公钥密码体制的思想(identity-basedcryptosystem),并且构造了基于身份的签名体制(identity-basedsignature,ibs)。即,签名体制中的公钥是用户的身份,验证签名时,验证者使用签名者的身份作为公钥进行验证。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域的普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,这些都属于本发明的保护范围。因此,本发明的保护范围应以所附权利要求为准。