Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 物联网解决方案的加密/安全策略_Security_Encryption_Aes_Iot - Fatal编程技术网

Security 物联网解决方案的加密/安全策略

Security 物联网解决方案的加密/安全策略,security,encryption,aes,iot,Security,Encryption,Aes,Iot,我正试图找出基于物联网的解决方案应采用何种加密/安全策略。 这是我的评估 任何安全系统的基本假设都是算法可以被破解,因此必须保护密钥 TLS将充当通过空中发送的数据包的保护层。这主要由无线设备负责。这还不够&必须进一步保护数据 对于需要加密的数据,我们可以使用各种加密算法。其中AES似乎是最可靠的。我无法确认AES是一种公钥-私钥算法还是对称密钥(用于编码-解码的单密钥)算法。请多解释一下 有没有人遇到过这样的策略: 每个设备/节点都有不同的加密密钥。这一点非常重要,因为黑客可以在不了解底层加密

我正试图找出基于物联网的解决方案应采用何种加密/安全策略。 这是我的评估

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

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

  • 对于需要加密的数据,我们可以使用各种加密算法。其中AES似乎是最可靠的。我无法确认AES是一种公钥-私钥算法还是对称密钥(用于编码-解码的单密钥)算法。请多解释一下

  • 有没有人遇到过这样的策略:

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

  • 我们是否可以动态地更改密钥,以便对于创建的每个会话,服务器都会为下一个连接更新密钥

  • 我的假设正确吗?另外,如果您能向我推荐物联网环境中的最佳安全实践,那将是非常棒的

    问候,


    柴坦尼亚

    你的评估并不完全正确

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

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

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

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

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

  • 微软和亚马逊等云提供商也提供了许多物联网消息传递系统,其中包含一些可能对您有用的加密策略


    关于最佳实践,我不推荐任何特定的供应商,但是此链接可能有助于向您展示此类设置的操作方式:

    我投票将此问题作为离题题来结束,因为征求安全建议更适合于避免堆栈溢出。您所说的TLS是什么意思。。。这还不够,必须进一步保护数据。?如果您使用TLS在设备之间进行通信,则不需要任何进一步的加密…虽然我没有投票权,但我同意Scott的观点,这是离题的。主题问题的一个例子可能是如何扩展这种安全性。如果你正在创建一个大众市场的物联网设备,你真的需要雇佣一位具有物联网设备经验的加密领域专家。从长远来看,这将拯救你,你将能够在晚上睡个好觉。否则,几乎可以保证会有安全漏洞。我投票结束这个问题,因为如前所述,这是安全建议,而不是编程建议。我的大多数问题都得到了解决。从第三点开始,我谈论的是静态加密。为此,问题仍然存在,是否建议为不同的设备/节点使用不同的加密密钥?为不同的服务器/节点使用不同的密钥是有意义的,这样一个受损的服务器或节点就不会影响其余服务器或节点的安全性。最大的问题是找到一种方法将密钥存储在与数据本身不同的位置。通常,您可以通过加密设备中的数据,然后根据需要将其存储在非设备数据库或存储桶中来解决此问题。这还取决于您是否试图保护数据免受物理或基于网络的攻击者的攻击。有关物联网安全注意事项的优秀初学者,请参阅本网站的开发人员部分。实际上,128位密钥大小的AES被认为是足够安全的,足以抵御moder