你猜,回复的是什么笑脸 | 大话OPC UA中的对称加密
尊重原创 勿抄袭
勿私放其他平台
提到OPC UA,大家都会说它在安全方面做得很好。
可是如果量化分析的话,到底有多好啊?
01
概述
信息安全包含CIA三要素:保密性(confidentiality), 完成性(integrity)和可用性(availability)。
这三项是信息安全的目标,那么实现这些目标的手段是什么呢?
02
对称加密的算法
加密有很多种方式,这里举一个小白的例子:
当然,实际在行业中应用的算法要比异或算法复杂特别多。如果不是相关专业的朋友,一般很难理解那些天马行空(枯燥乏味)的算法。这里我也不做过多介绍,只是甩出几个高大上的算法名字,DES,3DES,AES。道高一尺魔高一丈,一般加密算法都会有个有效期,过上几十年,一旦被破解,曾经的王者就会变成青铜。
另外除了算法本身,还有一个影响算法安全的因素就是密钥长度。上面的异或算法中就是用了一个长度为8bit的密钥。
下表列出一些算法与不同长度密钥的组合,破解他们的耗时是明显不一样的。如下图所示,DES一个小时就可以破解了。当然,天下没有免费的午餐,越安全的组合就需要越多的资源(内存,CPU)。
03
对称加密流程
其次是流程的问题。以最简单的异或算法为例,如果密钥长度为256位,则每次只能对256位数据加密。那么如果需要对1M的数据进行加密时,流程上应该怎么操作呢。
采用这种简单的ECB模式是有风险的。
老王
去撸串吗?
老张
老张怕回复被老婆截获。用加密算法将图片中的每一个像素加密,把所有的黄色加密成红色,黑色变为白色。
信息加密
信息被老婆截获
老张的老婆看着回复,虽然并不知道红色和白色的原始色彩是什么,但是她依然知道老张给老王回复的是一个笑脸。
因此,这里面就需要一些使密文变得混淆的办法。
比如这种CBC(Cipher Block Chaining)模式,可以看到这种模式将上一组加密得到的密文与和本组的原文进行异或运算,然后再对结果进行加密。解密的时候也是如此。这样就能将有规律的原文通过加密后生成毫无规律的密文。
除了上面介绍的ECB和CBC模式之外,还有很CFB,OFB等模式。感兴趣的朋友自行百度查看更多细节。
有了加密算法和加密流程,对称加密就能将任意长度的原文加密成很难破解的密文了。
04
OPC UA 用了什么对称加密法
扯了半天,到底OPCUA到底有没有加密,用的又是什么方式呢?可以做个简单的测试,运行Unified automation公司出品的Demo服务器,然后用该公司的UAExpert去连接,可以看到如下endpoint。
先选择不签名,不加密的裸奔模式,用Wireshark抓包看一下,是不是报文都能被Wireshark解析出来;
然后换成basic256sha256签名且加密模式了,是不是Wireshark对这些报文解析的时候就无能为力了?
啥是
basic256sha256?
又扯了几句,这个测试和上面扯了半天的对称加密又有什么关系呢?
可以在下表中看出 basic256sha256这种安全策略所使用的对称加密方式:算法为AES,块加密方式为CBC,密钥长度为256bit。
05
对称加密存在的问题
但是,对称加密存在一些问题:
第一,发送者和接受者需要共享一个第三者不知道的密钥,所以,如果在一个大的群体里通讯时,分配和管理密钥是个问题。想想看,如果公司里有200个员工,如果采用对称加密,每个员工都需要存储另外199个员工的密钥。如何很好的管理这些密钥呢?每个密钥能否永久有效,如果一旦丢失了怎么办?
第二,密钥如何传输呢?我们上面的讨论都是基于发送者和接收者已经有了共享密钥。但是,万里长征第一步是如何让发送者先把密钥安全的传输给接收者?
作者简介
平凡的码农:
往期精选
人气推荐
more+
1.Smart200&V90伺服系统:已更新15课
2.贝加莱直播课程:已更新16课
3.力控科技产品培训:已更新5课
6.专家课堂:已更新12课