嵌入式控制器权限控制及加解密技术的实现--控制网

嵌入式控制器权限控制及加解密技术的实现
企业:和利时集团 日期:2018-03-27
领域: 点击数:394

作者:北京和利时系统工程有限公司 李宗杰,刘盈

摘要:嵌入式控制器是控制系统的核心设备,而控制算法是控制器的指令集,也是控制系统的核心价值所在。本文从保护控制算法的角度,结合数字证书和传统控制技术描述了一种权限控制以及通信加解密技术的实现方案:包括工程师组态工具的权限控制,通信数据的加密处理。

关键词:数字证书;OpenVPN;嵌入式控制器

1 前言

现代工业控制系统普遍采用数据采集与监控系统(SCADA)、分布式控制系统(DCS)、可编程逻辑控制(PLC)以及其他控制系统等,而且已广泛应用于石化、电力、水力、医药、食品、汽车、钢铁、航天等工业领域,成为国家关键基础设施的重要组成部分,其是否能够安全稳定运行,已经关系到国家的战略安全。在大部分控制系统中算法是系统中的核心,决定了被控系统的行为;同时,算法是工程师智慧的结晶,尤其对于一些优化和精细化控制的应用场合,是企业核心价值所在。控制器是算法的载体,对该设备的安全保护显得尤为重要。

本文从控制器使用的角度介绍了可编程逻辑控制器的算法保护的一种方法(基于数字证书),包括工程师组态工具的权限控制,通信数据的加密处理。兼顾信息安全和工业控制系统自身的要求,系统包括证书管控平台、控制计算机软件套件、安全通信模块、可信控制器。如图1所示。

1.JPG

图1 系统示意图

2 数字签名算法和加解密算法

2.1 典型数字签名算法

数字签名算法是数字签名标准的一个子集,数字签名一般采用非对称密钥密码体制来实现。密钥运行在由SHA-1(也可以是其它哈希算法)产生的消息哈希:为了验证一个签名,要重新计算消息的哈希,使用公钥解密签名然后比较结果。缩写为DSA。签名算法多采用哈希算法或非对称算法实现,典型的算法包括:

(1)哈希算法

SHA算法

SHA(Secure Hash Algorithm,中文名为安全散列算法)是美国国家安全局(NSA)设计,美国国家标准与技术研究院(NIST)发布的一系列密码散列函数。正式名称为SHA的家族第一个成员发布于1993年,又称为SHA-0,以避免与它的后继者混淆。两年后发布了SHA-1。另外还有四种变体,曾经发布以提升输出的范围和变更一些细微设计:SHA-224、SHA-256、SHA-384 和 SHA-512(也被称为 SHA-2)。

SHA-1在许多安全协议中广为使用,包括TLS和SSL、PGP、SSH、S/MIME和IPsec,曾被视为是MD5的后继者。

MD5算法

Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321。MD5用于确保信息传输完整一致,是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有MD5实现。MD5的前身有MD2、MD3和MD4。

MD5可以为任何文件产生一个同样独一无二的“数字指纹”,如果任何人对文件做了任何改动,其MD5值也就是对应的“数字指纹”都会发生变化。

SM3算法

SM3算法也是一种哈希算法,中国国家密码管理局在2010年发布,其名称是SM3密码杂凑算法。给数据加一个固定长度的指纹,这个固定长度是32字节。

(2)基于非对称加密的签名算法

RSA算法

RSA公钥加密算法是1977年由罗纳德 李维斯特(Ron Rivest)、阿迪 萨莫尔(Adi Shamir)和伦纳德 阿德曼(Leonard Adleman)一起提出的RSA是目前最有影响力和最常用的公钥加密算法,它能够抵抗到目前为止已知的绝大多数密码攻击,已被ISO推荐为公钥数据加密标准。

该算法适用于加解密和数字签名。

SM2算法

SM2是国密算法。SM2加密使用接收方公钥加密,公钥由一个曲线坐标点组成。SM2公钥加密算法比RSA相对复杂,加密结果由3个部分组成,SM2加密过程中使用了随机数,因此同样的明文数据每一次加密结果都不一样。

该算法适用于加解密和数字签名,需要配合使用SM3算法。

DSA算法

DSA(Digital Signature Algorithm),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。DSA算法的安全性基于解离散对数的困难性,这类签字标准具有较大的兼容性和适用性,成为网络安全体系的基本构件之一。

ECDSA算法

RSA和ECC它们是基于不同的数学难题基础上的,而且不同的密码算法以及签名体制有不同的算法复杂度。ECDSA的全名是Elliptic Curve DSA ,它是DSA应用了椭圆曲线加密算法的变种。椭圆曲线算法的原理很复杂,但是具有很好的公开密钥算法特性,通过公钥无法逆向获得私钥。RSA的破译和求解难度是亚指数级的;而ECDSA的破译和求解难度基本上是指数级的。

2.2 典型通信加解密算法

根据密钥类型不同将现代密码技术分为两类:对称加密算法(秘密钥匙加密)和非对称加密算法(公开密钥加密)。对称钥匙加密系统是加密和解密均采用同一把秘密钥匙,而且通信双方都必须获得这把钥匙,并保持钥匙的秘密。非对称密钥加密系统采用的加密钥匙(公钥)和解密钥匙(私钥)是不同的。

(1)非对称加密

数字签名算法中提过的RSA、SM2均可以用来加密。

(2)对称加密

对称加密算法用来对敏感数据等信息进行加密,常用的算法包括:

DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合。

3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高。

AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高;

SM4:国密算法。密钥长度和分组长度均为128位。加密算法与密钥扩展算法都采用32轮非线性迭代结构。解密算法与加密算法的结构相同,只是轮密钥的使用顺序相反,解密轮密钥是加密轮密钥的逆序。

3 基于数字证书的身份认证

工业控制系统中工程师主要使用组态软件进行算法编辑和下装。本文提到的安全组态软件使用两级权限保护机制,一是采用MD5加密算法对口令进行加密存储;二是采用U盾的方式(存私钥)对软件的使用进行限制。如图2所示。

2.JPG

图2 工程师站组件结构图

U盾里边存储私钥和由数字证书管控平台颁发的数字证书。工程师站(安装组态软件的PC机等)存有CA母证书。安全组件是对U盾以及数字证书相关操作包括证书的读取解析、签名、验签等功能的封装。

组态软件通过安全组件可以读取解析数字证书,以及读取U盾的数字证书,利用安全组件的证书验证接口判断证书的有效性,另外采用U盾签名和数字证书的验签,来确定私钥的有效性。通过以上环节,确定U盾是否有效,在有效的情况下才可以正常使用组态软件。

控制器中存储了U盾的数字证书的公钥,通过验签等手段保证接收到的逻辑算法是由有效身份的工程师所下载的。对于重要的操作,例如影响控制器运算的在线值写入,读取工程,强制输出,控制器启动停止等,也通过私钥进行签名。

通过以上设计可以有效地保护工程师站的算法,有效地抵御控制器受非预期指令的影响。

4 基于数字证书的通信加解密

工程师站的权限控制虽然在一定程度上解决了算法逻辑编辑的权限控制问题,在下装的过程中依旧存在关键传输数据被截获、窃取等风险。本文设计了采用了OpenVPN的技术方案解决通信过程中数据泄密的风险。兼顾工业通信效率和保密性要求,采用“挑战”的方式进行密钥协商确定对称密钥,接着用对称密钥实现数据通信的加解密过程。如图3所示。

3.JPG

图3 工程师站安全通信密钥协商过程

OpenVPN收发数据包都是通过虚拟网卡。该设备既能以字符设备的方式被读写,作为系统的虚拟网卡,也具有和物理网卡相同的特点:能够配置IP地址和路由。对虚拟网卡的使用是OpenVPN实现其SSL VPN功能的关键。

OpenVPN的服务器和客户端支持tcp和udp两种连接方式,只需要在服务端和客户端预先定义好使用的连接方式(tcp或udp)和端口号,客户端和服务端在这个连接的基础上进行SSL握手。连接包括SSL的握手以及虚拟网络上的管理信息,OpenVPN将虚拟网上的网段、地址、路由发送给客户端。连接成功后,客户端和服务端建立起SSL安全连接,客户端和服务端的数据都流入虚拟网卡做SSL的处理,再在tcp或udp的连接上从物理网卡发送出去。如图4所示。

4.jpg

图4

5 结语

随着信息安全形势的日益严峻,尤其在工控领域,很多涉及到民生领域的控制系统,信息安全显得格外重要以及迫切。本文结合数字证书相关技术与传统的控制技术,从控制算法的保护的角度阐述了一个可行的实现方案,并且基于此方案可以配套有更多的衍生设备,比如独立的安全网关设备,支持路由的安全设备等。

注:本研究依托国家高技术研究发展计划“863计划”先进制造技术领域“可编程嵌入式电子装备的安全技术”项目“可编程嵌入式电子设备的安全防护技术及开发工具”课题任务进行。

作者简介:

李宗杰(1983-),男,浙江人,工程师,硕士,现任北京和利时系统工程有限公司技术中心副总经理,研究方向为计算机应用。

刘盈(1990-),男,内蒙古人,工程师,现任北京和利时系统工程有限公司信息安全系统架构师,主要从事工业控制系统信息安全解决方案的设计,以及信息安全关键技术的设计和实现方面的工作。

参考文献:

[1] 肖建荣. 工业控制系统信息安全[M]. 北京:电子工业出版社, 2015.

[2] 王志海. OpenSSL与网络信息安全——基础、结构和指令[M]. 北京:清华大学出版社, 2007.

摘自《自动化博览》2018年3月刊

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: