【技术实现步骤摘要】
一种基于国密算法的工控编程平台安全通信方法及系统
[0001]本专利技术涉及一种基于国密算法的工控编程平台安全通信方法及系统,属于工控平台安全加密通信控制
技术介绍
[0002]目前,工控系统已在我国电力、燃气、供热、交通、制造等涉及国计民生的关键领域广泛应用。工控编程平台是工控系统的核心组件,包括上位机组态与编程环境IDE和下位机运行时环境RTE;IDE包括编程软件和组态监控软件,编程软件部署于工程师站,组态监控软件部署于操作员站,RTE部署于PLC、DCS等工业控制器。
[0003]工控编程平台的通信分为两类:一类是IDE编程软件与控制器间的通信,工程师使用编程软件编写控制程序、配置运行参数,下装或更新到控制器的RTE中,控制器按照控制程序的逻辑,周期性地通过输入口采集现场设备的运行数据,并通过输出口发送给操作员站的组态监控软件。另一类是IDE组件监控软件与控制器间的通信,操作员通过组态监控软件,根据现场设备的类型和连接方式,在软件上画出和现场设备执行顺序一直的界面,形象地实时监控现场设备的运行状况,并可根据需要向控制器发送控制指令调整现场设备的运行。可见,IDE功能强大,权限很高,控制IDE就可以对控制器植入病毒、木马、后门等恶意代码,任意控制现场设备的运行,甚至对工控系统造成毁灭性的破坏。因此,确保IDE与RTE间的安全通信至关重要。
[0004]IDE与RTE间主要采用底层基于TCP/IP协议的客户端/服务器网络通信方式,IDE为客户端,主动向控制器RTE发起连接请求。编程软件与控 ...
【技术保护点】
【技术特征摘要】
1.一种基于国密算法的工控编程平台安全通信方法,其特征在于:基于工程师应用IDE编程软件执行程序安全加载方法,实现控制程序到控制器中安全RTE的下载与更新,进而应用IDE组态监控软件执行安全数据通信方法,实现IDE组态监控软件对控制器运行过程的安全监控;其中,程序安全加载方法包括基于依次执行工程师应用IDE编程软件向控制器中安全RTE发起网络连接请求时的工程师身份认证、控制程序下载与更新前IDE编程软件与安全RTE间的双向身份认证、以及控制程序可信验证,进而执行控制程序到控制器中安全RTE的下载与更新。2.根据权利要求1所述一种基于国密算法的工控编程平台安全通信方法,其特征在于:工程师应用IDE编程软件按如下步骤a至步骤j,执行程序安全加载方法,实现控制程序到控制器中安全RTE的下载与更新;步骤a. 工程师应用IDE编程软件向控制器中安全RTE发起网络连接请求,并进入步骤b;步骤b. 安全RTE判断网络连接请求中是否检测到IDE编程软件的硬件身份模块,是则进入步骤c;否则进入步骤j;步骤c. 安全RTE验证硬件身份模块中工程师数字证书是否合法,是在待IDE编程软件接收工程师输入的二次认证口令,并转发至安全RTE,再进入步骤d;否则进入步骤j;步骤d. 安全RTE判断来自IDE编程软件的二次认证口令是否正确,是则进入步骤e;否则进入步骤j;步骤e. 由IDE编程软件应用其公私钥对控制程序进行签名和完整性保护,并下载至安全RTE,再进入步骤f;步骤f. 安全RTE验证IDE编程软件的数字证书是否合法,是则针对验证结果进行签名和完整性保护,并返回至IDE编程软件,再进入步骤g;否则进入步骤j;步骤g.IDE编程软件验证安全RTE的数字证书是否合法,是则回复验证通过结果至安全RTE,再进入步骤h;否则进入步骤j;步骤h. 安全RTE验证控制程序的完整性是否一致,是则进入步骤i;否则进入步骤j;步骤i. 安全RTE验证控制程序签名是否通过,是则由安全RTE安装控制程序,然后结束IDE编程软件与安全RTE之间的通信;否则直接结束IDE编程软件与安全RTE之间的通信;步骤j. 返回结果至IDE编程软件,结束IDE编程软件与安全RTE之间的网络连接。3.根据权利要求1所述一种基于国密算法的工控编程平台安全通信方法,其特征在于:安全数据通信方法包括IDE组态监控软件与控制器中安全RTE之间的双向身份认证、以及彼此间通信过程中的数据安全保护,其中,IDE组态监控软件与控制器中安全RTE之间的双向身份认证采用基于SM2签名数字证书的双向认证方式,数据安全保护分为两种情况,一种是针对IDE组态监控软件下发至控制器中安全RTE的控制指令,采用基于SM3和SM4算法的加密和完整性保护;另一种是控制器中安全RTE向IDE组态监控软件上报的业务数据或运行状态数据,采用基于SM3的完整性保护。4.根据权利要求3所述一种基于国密算法的工控编程平台安全通信方法,其特征在于:基于SM2数字证书及公私钥对预置到IDE组态监控软件和控制器的安全RTE中,以及硬件安全模块安全存储,应用IDE组态监控软件按如下步骤I至步骤VIII,执行安全数据通信方法,
实现IDE组态监控软件对控制器运行过程的安全监控;步骤I. IDE组态监控软件向控制器的安全RTE发起网络连接请求,并进入步骤II;步骤II. IDE组态监控软件先生成随机数R
n
,并采用安全RTE的公钥D
c
对随机数R
n
进行加密,再对随机生成的通信序列号SN、以及加密后的随机数,应用SM3算法生成散列,接着应用IDE组态监控软件的私钥P
e
针对散列进行签名,并发送至安全RTE请求身份验证,然后进入步骤III;步骤III. 安全RTE验证IDE组态监控软件的数字证书是否合法,是则采用安全RTE私钥P
c
解密获得随机数R
n
,并进入步骤IV;否则向IDE组态监控软件返回验证结果,结束IDE组态监控软件与安全RTE之间的网络连接;步骤IV. 安全RTE获得随机数R
n
按位非运算的结果,并采用SM3算法计算对应HASH值,再采用IDE组态监控软件公钥D
e
进行加密、安全RTE私钥P
c
进行签名,并返回至IDE组态监控软件,进入步骤V;步骤V. IDE组态监控软件验证安全RTE的数字证书是否合法,是则采用私钥P
e
解密获得对应HASH值,并进入步骤VI;否则向安全RTE返回验证结果,结束IDE组态监控软件与安全RTE之间的网络连接;步骤VI. IDE组态监控软件针对随机数R
n
按位非运算的结果,采用SM3算法计算HASH值,并判断是否与来自安全RTE的HASH值一致,是则将随机数R
n
作为会话密钥,进而开启IDE组态监控软件与安全RTE之间的通信,并进入步骤VII;否则向安全RTE返回验证结果,结束IDE组态监控软件与安全RTE之间的网络连接;步骤VII. 安全RTE检查是否收到来自IDE组态监控软件的控制指令,是则安全RTE应用会话密钥R
n
进行解密、并执行相应指令,然后返回步骤I;否则进入步骤VIII;步骤VIII. 控制器按预设周期性,采集其所设现场设备运行数据...
【专利技术属性】
技术研发人员:陈飞,胡静,张胜,
申请(专利权)人:信联科技南京有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。