【问题标题】:Encryption/Security strategy for IoT solution物联网解决方案的加密/安全策略
【发布时间】:2016-08-03 04:24:55
【问题描述】:

我正在尝试找出对基于物联网的解决方案采用什么加密/安全策略。 这是我的评价。

  1. 任何安全系统的基本假设是算法可以被破解,因此密钥必须受到保护。

  2. TLS 将充当通过空中发送的数据包的保护层。这主要由无线设备负责。这还不够,必须进一步保护数据。

  3. 必须加密的数据我们可以使用各种加密算法。其中AES似乎是最可靠的。我无法确认 AES 是公钥 - 私钥算法还是对称密钥(用于编码 - 解码的单一密钥)算法。请对此进行更多说明。

有没有人遇到过以下策略:

  1. 每个设备/节点都有不同的加密密钥。这非常重要,因为黑客可以在不了解底层加密的情况下模拟某些周期性数据。因此,如果黑客能够弄清楚 xyz 数据包在设备中产生了某种行为,那么加密就没有什么影响了。

  2. 我们能否即时更改密钥,这样对于创建的每个会话,服务器都会更新下一个连接的密钥?

我的假设正确吗?此外,如果您能向我推荐物联网环境中的安全最佳实践,那就太好了。

问候,

柴坦尼亚

【问题讨论】:

  • 我投票决定将此问题作为题外话结束,因为寻求安全建议更适合 Information Security Stack Exchange 而不是 Stack Overflow。
  • 你说的 TLS 是什么意思……还不够,还需要进一步保护数据。?如果您使用 TLS 在设备之间进行通信,那么您不需要任何进一步的加密......
  • 虽然我没有投票权,但我同意 Scott 的观点,即这是题外话。一个主题问题的示例可能是如何扩展这种安全性。
  • 如果您要创建大众市场物联网设备,您确实需要聘请具有物联网设备经验的加密领域专家。从长远来看,这将为您节省开支,并且您将能够在晚上睡个好觉。否则几乎可以肯定会有安全漏洞。
  • 我投票结束这个问题,因为如上所述,这是安全建议而不是编程建议。

标签: security encryption aes iot


【解决方案1】:

您的评估并不完全正确。

  1. 假设不是算法可以被破解,而是算法和除密钥以外的所有输入数据对攻击者都是已知的。就 AES 而言,该标准已广泛发布,但这并不会使其无效,因为它的设计目的是在不应用密钥的情况下无法轻松解密数据。 AES128 和其他(更高)密钥大小被认为足够安全,可以抵御现代暴力攻击。

  2. 假设您使用的是 WPA/WPA2,无线设备将对空中流量进行加密,但是一旦在无线接入点中接收到数据包,加密将停止应用。它们不会在接入点和最终目的地之间加密。

  3. AES 是一种对称密钥算法。有两种加密策略供您考虑。源和目标之间传输中的加密,以及静态加密。目前尚不清楚您指的是哪两个,但是每个都需要单独考虑和实施。如果您指的是服务器之间传输的加密,请考虑使用加密协议,例如 HTTPS/SSL,该协议旨在使用各种密码对传输中的数据进行加密。 AES 被广泛用作静态加密的适当密码,无论是在文件系统级别,还是在存储到数据库之前使用库对数据进行编码。

  4. 在 HTTPS 的情况下,强烈建议每个客户端/服务器都有自己的私钥。同样,对于 AES,每个服务器都应该使用自己的密钥加密静态数据。

  5. 您担心数据包捕获和重放以控制您的服务器的可能性,但是如果您使用类似于 SSL 的协议,它将为每个会话使用不同的密钥,以防止通过窃听进行模式分析。如果您要自己加密要发送的数据,则向编码数据添加一个简单的时间戳或序列号将确保它每次都具有截然不同的加密输出。例如CONTROL|START|10:20pm 将导致与CONTROL|START|10:21pm 完全不同的加密数据。 AES 还允许使用所谓的初始化向量 (IV),通过使用随机种子,每次都将相同的数据编码为完全不同的输出。

还有一些由云提供商(例如 Microsoft 和 Amazon)提供的 IOT 消息传递系统,其中包含一些可能对您有用的加密策略。

关于最佳实践,我不推荐任何特定供应商,但此链接可能有助于向您展示此类设置如何运作:AWS IoT Security

【讨论】:

  • 我的大部分问题都得到了解决。截至点号。 3 我说的是静态加密。为此问题仍然存在,是否建议为不同的设备/节点使用不同的加密密钥?
  • 对不同的服务器/节点使用不同的密钥是有意义的,这样一个受感染的服务器或节点就不会影响其余服务器或节点的安全性。最大的问题将是找到一种方法将密钥存储在与数据本身不同的位置。通常,您可以通过加密设备中的数据,然后根据您的需要将其存储在设备外数据库或存储桶中来解决此问题。这还取决于您是否尝试保护数据免受基于物理或网络的攻击者的攻击。
  • 另请参阅本网站的开发人员部分,了解物联网安全注意事项的良好初学者owasp.org/index.php/IoT_Security_Guidance
  • 实际上,密钥大小为 128 位的 AES 被认为足够安全,可以抵御现代攻击。没有大于 256 位的 AES 密钥。
  • 同意。 128 足以抵抗经典计算攻击,并且 128、192 和 256 是唯一的密钥大小。我已经更正了文字。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-28
  • 2016-02-19
  • 2017-07-30
  • 2022-07-12
  • 2023-02-20
  • 1970-01-01
相关资源
最近更新 更多