我正在试图找出基于物联网的解决方案采用的加密/安全策略。 这是我的评估。
任何安全系统的基本假设都是可以破解算法,因此密钥必须受到保护。
TLS将充当通过空中发送的数据包的保护层。这主要由无线设备照顾。这还不够&必须进一步保护数据。
必须加密的数据我们可以使用各种加密算法。其中AES似乎是最可靠的。我无法确认AES是公钥 - 私钥算法还是对称密钥(编码 - 解码的单一密钥)算法。请详细说明一下。
有没有人遇到过以下策略:
每个设备/节点都有不同的加密密钥。这非常重要,因为黑客可以在不了解底层加密的情况下模拟某些定期数据。因此,如果黑客能够发现xyz数据包在设备中产生某些行为,那么加密就不那么重要了。
我们可以动态更改密钥,因此每次创建会话时,服务器会更新下一次连接的密钥吗?
我的假设是对的吗?如果你能在物联网环境中建议我的安全最佳实践,那也很棒。
问候,
Chaitannya
答案 0 :(得分:3)
您的评估并不完全正确。
假设不是算法可以破解,而是攻击者知道算法和密钥以外的所有输入数据。在AES的情况下,该标准被广泛发布,但是这并没有使其无效,因为它被设计成使得在不应用密钥的情况下不能容易地解密数据。 AES128和其他(更高)的密钥尺寸被认为足以抵御现代暴力攻击。
假设您使用的是WPA / WPA2,无线设备将通过无线方式加密流量,但是一旦在无线接入点收到数据包,加密就会停止应用。它们不会在接入点和最终目的地之间加密。
AES是一种对称密钥算法。您需要考虑两种加密策略。源和目标之间的传输加密以及静态加密。目前还不清楚你指的是哪一个,但每个都需要单独考虑和实施。如果您指的是服务器之间的传输加密,请考虑使用加密协议,例如HTTPS / SSL,它旨在使用各种密码加密传输中的数据。 AES广泛用作静态加密的适当密码,可以在文件系统级别使用,也可以在存储到数据库之前使用库对数据进行编码。
对于HTTPS,强烈建议每个客户端/服务器都有自己的私钥。在AES的情况下,每个服务器应该使用它自己的密钥加密静态数据。
您担心数据包捕获和重放的可能性来控制您的服务器,但是如果您使用类似于SSL的协议,它将为每个会话使用不同的密钥以防止通过窃听进行模式分析。如果您要自己加密数据以进行发送,则向编码数据添加简单时间戳或序列号将确保每次加密输出都有很大差异。例如,CONTROL|START|10:20pm
将导致与CONTROL|START|10:21pm
完全不同的加密数据。 AES还允许使用所谓的初始化矢量(IV),通过使用随机种子,每次将相同的数据编码成完全不同的输出。
微软和亚马逊等云提供商也提供了许多物联网消息系统,其中包含一些可能对您有用的加密策略。
关于最佳做法,我不推荐任何特定供应商,但是此链接可能有助于向您展示此类设置的运作方式:AWS IoT Security
答案 1 :(得分:0)
物联网(IoT)通过在操作级别引入自动化已对多个行业产生了深远的影响。根据Statista的最新报告,2018年的IoT连接设备数量为231.4亿,并且这个数字没有停止的迹象。随着数十亿互联设备充斥我们的家庭,办公室和工厂,现在对数据安全的关注变得越来越重要。
在这种情况下,专家认为区块链物联网安全性是传统模型的可行替代方案。这似乎是解决与物联网应用开发的互联生态系统相关的安全性相关问题的唯一出路。
区块链–安全网络 区块链是一种去中心化的网络,与物联网不同,物联网相信集中式控制机制。基于这种平台的安全协议更具可扩展性。区块链物联网安全性的安全性和保护机制足够强大,可以防止在连接的设备生态系统中传输虚假信息。
答案 2 :(得分:-1)
我正在为物联网开放协议通信项目。此项目使用AES(对称密钥)和RSA(不对称密钥)加密协议,其中AES加密字符串请求,RSA使用RSA公钥加密AES密钥。这些加密协议在每个请求中协同工作。
应用程序和设备之间的通信也是排序,因此如果请求被“嗅探”"并且"重新发送"通过网络,它将无法工作,因为请求只有一次有效。每个新请求必须都有一个新的序列号,序列号也是加密的。
每个应用程序和每个设备都有自己的一对RSA密钥(公钥和私钥),但它们只将公钥保存在本地数据库中。
这些功能提高了通信过程的安全性(应用程序和设备),不需要保持RSA私钥彼此。私钥存储在项目数据库中。
看一下followzup项目wiki。