本章探讨了将区块链技术用于传感器数据的一种方法,特别是在必须验证数据的完整性和来源的情况下。区块链对于嵌入式系统的另一部分也很有用:命令和控制。
在许多情况下,嵌入式系统的“控制”部分是直接连接的执行器的一系列命令。其中一些系统,例如飞行控制,可能对性能敏感 - 实际上是延迟敏感的。其他情况,例如设置地下水修复的化学注入速率,可能会每小时或每天更改一次。控制器的常见要求是能够验证和验证命令,以及维护可验证的命令历史记录。
考虑自主无人机的情况。向无人机发出的关键命令将包括目的地以及是否在到达目的地时释放有效载荷。有效负载可以是检测或其他高价值项。
为了确保无人机执行有效的任务,应该有多个授权。授权任务的缔约方可能包括科学小组、供资或治理小组以及行动小组。在这种情况下,将有一个系统,在无人机接受之前,所有这三个组都必须批准和授权一个位置。该系统需要防伪或防欺骗,理想情况下维护所有命令的安全历史记录。
区块链可以通过验证(包括验证服务器和验证策略)提供这种保证。验证服务器通过对建议的事务进行加密签名来工作。在自主无人机示例中,将无人机发送到特定任务的命令将被视为事务。
最简单的情况是单个验证服务器对每个事务进行签名。验证策略可以创建更复杂的授权,如示例中所示,该示例将调用三个验证服务器,每个服务器在事务生效之前对事务进行签名(批准)。更复杂的情况也是可能的:例如,弹性系统可能有 20 个验证服务器,并且需要由大多数服务器(11 个服务器)签名,或者在另一种情况下,相同的 20 个验证服务器只需要 5 个验证服务器签名即可进行有效事务。不同的系统可能有一个必须签名的主验证服务器,以及五个辅助服务器中的任何两个进行签名。
称为拜占庭容错的验证策略即使在验证服务器出现故障以及存在受损或恶意验证服务器的情况下也能正常工作。使用拜占庭容错破坏系统需要破坏一半以上的验证服务器,即使存在系统故障和恶意破坏,这种方法也很可靠。拜占庭容错的细节有点太晦涩难懂,无法在这里讨论,但它仍然是区块链强大和灵活性的一个例子。
验证服务器通过对事务进行加密签名来工作。这是使用私钥/公钥对完成的,私钥/公钥对在每个验证服务器上都不同。此加密签名可以在软件中完成,利用主机系统的性能。也可以使用硬件安全模块 (HSM) 来完成此操作,该模块是专用于安全操作的特殊强化模块。HSM 可以是高性能/高成本模块或低性能/低成本单元,例如受信任的平台模块 (TPM) 甚至智能卡。
使用软件签名时,私钥存在于系统上,可能会被泄露。使用 HSM,私钥包含在硬件模块中,不会泄露。(虽然这种说法并不完全正确,但现代 HSM 被认为对国家级参与者以外的任何内容都是安全的。
无人机示例中区块链的美妙之处在于,无人机验证其收到的命令的有效性,验证命令是否已由批准的机构发出和验证,并确认它们已按正确的顺序接收。这些步骤避免了与修改传输中的命令相关的风险,甚至避免了将命令输入无人机的人更改命令的风险。除了无人机之外,区块链生态系统中的其他所有人都可以验证命令的顺序以及谁授权和批准它们。
请注意,实际的命令内容不必对每个人都可见。区块链有效负载可以加密,以便只有授权实体才能实际读取内容。此操作将生成一个非常强大的系统,每个人都可以验证所有命令的顺序和权限,但只有需要实现特定命令的实体才能确定该命令是什么。
关于指挥和控制系统的一个主要问题是在通信系统中断和退化的情况下运行的能力。区块链的一个关键优势是它对重传的容忍度极高:用户可以发送(和接收)一千次区块,最终得到一个命令或交易,而不是一千个。一个块可以有多个部分传输,然后被重建为单个可验证的块;区块可能会乱序,因为无论您以什么顺序接收区块,区块链都使区块能够以正确的顺序组装。
这种属性组合使区块链成为构建强大、安全、高信任系统的强大工具。除了支持低性能的应用程序,如前面示例中的无人机目标目的地,区块链还可以支持高性能应用程序。这一切的关键是什么?足够的计算能力、充足的网络带宽和足够低的延迟来支持所需的性能。
区块链是构建无懈可击系统的完美技术吗?是和不是。..如果您关注媒体,您就会知道使用区块链的加密货币系统经常受到损害。但是,如果您深入研究故障,您会发现这些故障是由于人为错误和错误的实施造成的。实际的区块链算法和协议令人惊讶地强大。这很像加密的其他应用:算法是健壮的,但使用它们的人员、软件和系统不一定是健壮的。
这些例子展示了区块链技术如何用于构建更强大、更安全的分布式系统,包括那些提供可验证变化历史的系统。密码学是一个强大的工具,具有许多实际应用。
审核编辑:郭婷
-
传感器
+关注
关注
2548文章
50768浏览量
752300 -
控制器
+关注
关注
112文章
16232浏览量
177559 -
无人机
+关注
关注
228文章
10360浏览量
179765
发布评论请先 登录
相关推荐
评论