嘿!您似乎在 United States,您想使用我们的 English 网站吗?
Switch to English site
Skip to main content
shopping_basket 购物车 0
登录

工业安全第1部分:关于密钥和加密

shutterstock_1012057858_eb152d1607cf86ceed427c77d778631afdb9fee1.jpg

到目前为止,许多工程师认为工业安全性是指限制对安全性相关系统的物理访问。产生这种想法的主要原因是,过程控制通常在所谓的车间层级shop floor level(也称为现场层级field level)进行,而与较高层级(“包含MES和ERP的SCADA层级和企业层级”)的连接极少。甚至在车间层级的机器对机器的连接性通常也被降低到最低限度。

考虑到这种情况,它仅需要对控制器进行有限的物理访问即可达到足够的安全级别。您将它们锁在机柜中,然后仅将钥匙交给选定的人员。

但是,当您实施更大规模的连接性和TCP/IP网络,以在计算机之间或现场层级与企业层级之间传输数据时,情况确实会发生巨大变化。突然之间,入侵者有了强有力的切入点。在这种情况下,需要提高安全性水平。当我们在互联网连接上使用https协议或VPN时,我们都知晓并使用这种安全机制。即使办理网上银行业务,我们也要依靠此安全级别。但是对于我们许多工程师来说,这种安全技术是一个未知领域。

以下是关于安全技术的六篇系列文章。它们面向嵌入式和自动化工程师。我将在第1至第4部分中介绍基本概念。在第5和第6部分中,我将展示嵌入式系统和硬件的可能实施方式。如果您熟悉安全概念,建议您查看前四个部分的标题是否涉及未知术语,然后等待第5部分发布。只需关注我,您就不会错过。

使用密钥代替秘密机制

shutterstock_1603306912_0a2772f5224f05839a2df68675acf6dc3c1ab1d1.jpg

假如您想将密信放入密封盒中来保护它的机密性。您可以使用带有隐藏机关的盒子。由于您自己建立的这套机制,并且从未告诉任何人如何打开它,所以您信任它的保护能力。它为您提供了足够的安全性。但是,如果您需要将这个盒子发给一百英里外的朋友海伦,该怎么办?那么她也需要知晓这个秘密机关。所以您需要先拜访她,私下告诉她这个秘密机关(发一封信,附上如何打开盒子的说明,这样做并不是最好的办法)。现在,假设您有几个朋友,并且想要与每个人共享机密信件。但是您不希望雪莉读到您发给海伦的信。您就需要为每个朋友发明不同的秘密机制。而且,您甚至无法将盒子再次用于其他人,因为一旦您与海伦共享了秘密,便无法再与其他朋友安全地使用盒子了。

这就是锁和钥匙的作用,它可以解决您的问题:

shutterstock_329705747_0399055db9218ee60bd2bdfdae0e6c618280d5a2.jpg

您使用钥匙和锁,而不是秘密机制。每个人都知道锁的一般构造以及如何用钥匙打开它。但是,如果没有合适的钥匙,即使具备这方面的知识也对打开盒子毫无帮助。因此,您无需共享秘密,而只需共享密钥。拥有合适钥匙的任何人都可以打开盒子并阅读里面的机密信件。以下是这个概念的一些优点:

  • 每个锁可以有多把钥匙。
  • 您可以轻松地为每个盒子配几把锁,以强制使用多把钥匙。
  • 如果钥匙丢失,您可以换锁。
  • 与保守机密相比,复制钥匙是不可能的,或者至少是非常困难的(如果有两个以上的人知晓机密,您甚至都不知道谁泄露了机密)。
  • 您可以使用复杂的主副钥匙系统,其中一把钥匙能打开这一组中的多把锁,而其他钥匙只能打开其中的某一把锁。

是的,我知道您在想什么:钥匙可以复制,可能丢失,也可以撬锁。这就对了:您刚刚发现了另一个安全概念:

百分百的安全性不存在,也永远不会存在

每种安全概念都有若干种可以攻破的方法。您只能划分不同的安全级别。安全级别越高,入侵者克服安全措施的困难或代价就越大。例如,IT中的现代安全概念确实使用了可以由入侵者重建的密钥。但是即使用现有最高的计算能力,他们也需要数百年时间才能做到这一点。这自然而然地向我们展示了安全性的另一个基本原则:

正如计算能力不是一个静态值,而是随着时间呈现指数增长一样,安全性概念也不是静态的。他们与入侵者的概念进行永久斗争,其主要目标是超越入侵者的概念。

您是否意识到在自动化行业中改变想法的必要性?您无法制造出能够提供20年足够安全级别的机器。安全性无所不包,而不仅仅是“绝不接触正在运行的系统”。 安全设备在其生命周期中需要不断进行安全更新。

但是回到密钥的概念。你们都知道密码锁。因此,您已经知道密钥不一定是您拥有的物理设备,它很可能是秘密知识:也就是所谓的密钥代码。

通常的做法是同时使用物理所有权和秘密知识这两方面的安全概念,从而实现两种类型的互补:如果您丢失了密钥或密钥被盗,新拥有者将无法在不知晓秘密知识的情况下使用它。如果有人从远处窥得秘密知识,您还需要获得物理密钥。

因此,密钥可以是数字或数值。我们如何在IT中使用这个概念?这就是下面这个术语的内在核心:

加密

shutterstock_1070929982_d8b6b676e20ac3307b70b7b4b634d91d916039e5.jpg

密码术是一种通过加密来锁定秘密信息的方法。加密消息的最简单方法是,例如,用数字代替每个字母(A=1,B=2,依此类推)。但这又是一个秘密方法。与秘密方法相比,使用密钥具备上述所有优点。一种常见的已知方法是使用转换表作为密钥。每个符号都由从转换表派生的代码代替。这种方法称为“编码”,编码矩阵是解密的关键。但是还有更复杂的方法:假设您将信息写在一张纸上,然后以随机方式在纸上放置许多其他字母。您的信息字母将嵌入在其他字母之间。如要读取信息,您需将带有切口的遮蔽层放在包含信息的纸上。通过密钥遮盖层,您看到的只有与信息相关的字母。注:您正在使用带有密钥机制的加密方法。我将在本系列的后面部分向您展示数字加密方法。但是您可以将其视为数学计算规则。加密结果X是通过从原始消息M进行计算得出的,该计算(方法)始终相同,但每次对消息进行加密时使用的参数K(密钥)不同。X = M + K是一条简单的加密规则。在不知道K的情况下,您将无法从M计算出X。您需要知道解密消息M的密钥。但是,通过这条简单的加密规则,您也可以完美地发现陷阱:

假设M为消息的ASCII码。为了对单词“HELLO”进行编码,可以使用数字表示形式72、69、76、76、79。使用密钥K = 10,您将获得82 79 86 86 89(R)的加密数字表示形式。在具备一定的规则知识后,入侵者就已经有了一些猜测关键值的线索。您需要查找字母间距为0,-3,+4,+4,+7的单词。 因此,您将从A到Z的每个字母用作第一个单词。您会得到一个列表,从AXEEH、BYFFI、CZGGJ到ZWDDG。

请下载随附的EXCEL表格以及完整的计算列表。您也可以用不同的密钥值尝试这种方法。

能得出现有英语单词的唯一密钥值为10!因此,在得出足够多的M之后,在本例中只有5个(单词HELLO的五个字母),您就会找到一条完美的线索来得出密钥K。换句话说:这个加密公式的安全级别很弱,因为它是数字代码的简单转换。您可以通过在计算规则中使用多个密钥值来获取加密项,从而改进这个公式:

X = (N + K1 –K2).

这条规则就像使用两个这样的挂锁:shutterstock_11170444041_b48ba8b62ca9cb46013ca820eb0d1ff30038490e.jpg

它根本不会提高您的安全性。但是使用两个更智能的密钥确实有帮助:

shutterstock_1503776084_4a51800568bc73f204e1a0710d4a8944c6889a0a.jpg

X = (M+K1)*K2.

是的,我们也可以为该公式构建一个EXCEL工作表,但是我们需要检查26 * 26 = 676行。这也增加了得出不止一个有效英语单词的概率。

请注意,这些算法都不能用于安全加密。它们只是易于理解的示例,以展示在寻找有用的加密原理时必须解决的问题。

如果您想了解有关密钥和工业安全性的更多信息,请等待本系列的第二部分。它将探讨非对称密钥。

现在进入第2部分非对称密钥

Volker de Haas started electronics and computing with a KIM1 and machine language in the 70s. Then FORTRAN, PASCAL, BASIC, C, MUMPS. Developed complex digital circuits and analogue electronics for neuroscience labs (and his MD grade). Later: database engineering, C++, C#, industrial hard- and software developer (transport, automotive, automation). Designed and constructed the open-source PLC / IPC "Revolution Pi". Now offering advanced development and exceptional exhibits.
DesignSpark Electrical Logolinkedin