高效安全让电池供电的物联网设备可以持久工作
对于许多工业物联网设备而言,电池或可再生能源是唯一可行的动力源。这些专用设备可能是可大规模迅速部署的零售信标。另一示例是在隔离设置中部署的远程气候监测系统。或者它们也可能是移动机器人,它们需要断开固定电源以提高效率。
不论哪种情况,这些系统都必须能够最大程度地提高性能,同时延长电池续航时间并保持安全。
安全性在电池供电的系统中挑战更大,因为这些系统存在严重的资源限制。使用固定电源的系统的开发人员倾向于关注尺寸、重量和发热等问题。但在基于电池的设计中,总能耗显得尤为重要。
许多工程师会忽视这样的事实:简单的 RSA 和 ECC 密码套件会消耗可观的能源(图 1)。电池供电的系统的设计人员消耗不起这种能源。
电池供电物联网系统的另一个需要考虑的事项是加密通信的延迟。一般而言,加密密钥越长(128 位、256 位等),加密能力就越强。但是较长的密钥也有一些缺点,这是因为使用它们加密信息需要额外的时间(图 2)。
延迟可能会对系统产生瀑布效应,对于电池供电的系统尤其如此。如果应用具有实时要求,延迟限制可能对在设计中使用的加密密钥的大小有要求,因此对系统的安全性也有要求。密钥长度对能耗也有影响,因为使用较长的密钥加密数据需要更多的时钟周期。内存占用空间是较长密钥的另一个问题。
借助 Trusted Platform Module (TPM) 组降低安全性开销
来自 PC 和网络世界的一个解决方案提供了在电池供电的系统中尽量降低安全性开销的可能方法。Trusted Computing Group (TCG) Trusted Platform Module (TPM) 规范于 2009 年正式获批为 ISO 标准。它指定一个安全协处理器,该处理器在内部生成并存储加密密钥(图 3)。
在本质上,原来的 TPM 标准指定用于从主机处理器卸载许多安全性操作的离散 ASIC。它还可用作可信根 (RoT),而可信根可用于对整个系统(包括外围设备和附件)的完整性进行身份验证。
通过将这些功能移动到专用芯片中,开发人员可以优化延迟和内存使用情况,而不必移动到更大、更昂贵且耗电量更大的主机处理器。
但是,离散 TPM 会带来负面影响,例如成本、大小(在印刷电路板上需要更多空间)以及它自己的能耗。在响应方面,TCG 扩展了它的产品供应,以包括提供几种不同类型的 TPM 来提供各种集成、安全性和成本选项。
图 4 概括了这些选项中最受欢迎的选项。
对于移动系统或电池供电的系统,固件 TPM 作用很大。它驻留在可信执行环境 (TEE) 中,这将它从操作系统 (OS) 和其他程序中的漏洞隔离开来。
与离散 TPM 或作为硬件集成到片上系统 (SoC) 的 TPM 相比,固件 TPM 不会增加物理面积并可降低能耗,因为不需要额外的电路。
虽然与硬件解决方案相比,基于软件和基于固件的加密历来会产生巨大的性能损失(在某些情况下,接近 50%),但是较新的实施使得差距可以忽略不计(小于 5%)。实际上,如图5 所示,固件 TPM 的某些实施现实际胜过其离散 TPM 同类。
此性能改进还有助于抵消在电池供电的设备的能耗,因为主机处理器需要更少的时钟周期来执行 TPM 命令。
电池供电设备上的安全性:固件的灵活性,离散 TPM 的性能
基于 TCG TPM 2.0 规范的英特尔® Platform Trust Technology(英特尔® PTT)是一个商业级固件 TPM 解决方案。它在上三代的众多英特尔® 处理器上可用,包括基于 Bay Trail 微体系架构的低能耗英特尔凌动® SoC 和第八代智能英特尔® 酷睿™ U、Y 和 M 变体。
英特尔 PTT 假定根密钥将存储在固件中。虽然此级别的安全性不是可能的最高级别,但是它允许在出现攻击时运行安全补丁和更新。但是,聪明的安全架构还允许设计人员将 PTT 密钥存储在硬件中,在系统内的内存子系统中。
例如,Hyperstone GmbH 出品的 X1 闪存控制器从本质上提供英特尔 PTT 等固件 TPM 的硬件辅助。对于需要闪存控制器的电池供电系统设计,X1 集成了 AES 和 ECC 模块,它们可针对存储在内存中的数据执行基于硬件的加密和解密(图 6)。此架构不但有助于降低延迟,而且有助于降低总能耗。
虽然在加密操作期间内存控制器消耗的能源比主机处理器略多,但是经过优化的 AES 和 ECC 模块使得 X1 可以更迅速地执行这些命令。在执行加密的五秒钟的时段内,处理器每秒可能会多消耗 1 瓦(总计 5 瓦)。虽然如此,X1 每秒可能会多消耗 2 瓦,但可在 1.5 秒内完成操作(总计 3 瓦)。
此外,所描述的安全性架构可以随着时间的推移扩展安全性。TPM 2.0 规范的基本理念在于它允许“算法敏捷性”,或者根据需要实施新的加密算法的敏捷性。
因为该解决方案包含部分固件和部分软件,所以它非常灵活,足以支持包括新的密码、算法、密钥大小或对 PTT 的未来更改。
Hyperstone X1 控制器包括 API 用于集成客户或使用案例特定的安全性扩展,还包括 ISO 7816 接口用于与其他安全性组件通信。后者有助于简化向 Information Technology Security Evaluation Criteria (ITSEC) 或 Common Criteria for Information Technology Security 高达评估保证级别 5 (EAL5) 等标准认证。
能源效率高的安全性有助于物联网设备拔掉电源插头
前述的许多支持 PTT 的处理器在英特尔® Next Unit of Computing(英特尔® NUC)平台上可用,MakerPro 社区中的开发人员当前用 20 V 电池组为这些平台供电。以台式机形式运行时,一个用户估计电池续航时间大约为四小时,这个时间对于使用几百美元的现成物料清单组合而成的业余爱好者项目而言并不坏。
如果有商业抱负的组织要使用这些构建模块作为较简单物联网系统的基准,则成本会低很多,而电池续航时间会延长。
借助英特尔 PTT 和 Hyperstone X1 闪存控制器,可以安全地捕捉、存储和传输此类系统上的数据。在集成加密技术的能耗或长使用寿命方面不用担心。并且该解决方案可与英特尔® Cloud Integrity Technology(英特尔® CIT)之类的平台上配合使用,以形成强大的端到端系统安全性的基础。
是时候让物联网设备“拔掉电源插头”了。