电源技术论坛
直播中

硬件工程师1

9年用户 1561经验值
擅长:可编程逻辑
私信 关注
[文章]

如何支持物联网安全性和低功耗要求设计


物联网等连接设备(如可穿戴设备)的设计人员越来越认识到面对数据机密性,完整性和真实性的威胁时需要进行安全性和身份验证。然而,挑战在于在消耗最小功率的同时保护设备并且不损害用户体验。


在设计用于替代传统产品的电池供电可穿戴设备或物联网设备时,符合用户期望的能力尤为重要。

位置跟踪健身可穿戴设备,电子锁和其他设备对用户在现实世界中以及全球连接的虚拟社区中的健康和安全具有重要意义。然而,有效的安全解决方案不仅需要满足技术要求,而且还要以对用户直观的方式实现。复杂的水龙头序列或需要连接硬件加密狗以管理安全性,损害用户体验并最终损害制造商的收入流。
但是,使用MCU和专用IC中的安全功能,开发人员可以解决日益增加的安全问题,同时不会影响用户对智能产品的期望。

隐形情报
为了符合这一更广泛的用户期望,安全性分享了低功耗智能设备设计中的许多设计挑战。设计师必须通过在智能产品设计中嵌入一种无形的智能,以一种在用户世界中无缝工作的方式找到解决这些挑战的解决方案。

这种对隐形强健安全性的要求不再是一种选择。如果产品中的安全漏洞破坏用户数据完整性或损坏设备本身,任何公司都无法承担收入或声誉的损害。用户合理地期望他们的智能产品可以保护他们的数据和他们的操作免受网络攻击。

对于设计人员而言,这种期望转化为需要支持安全的基本原则:
  • 防止未经授权访问数据的机密性
  • 完整的数据和操作说明,以防止修改
  • 消息或命令的真实性以确保其有效性

如果不能满足对互联产品安全性的基本期望,很快就会以令人不安的频率进入国家标题。

从根本上讲,这些相同的问题表现在因熟悉的产品(如打印机)或任务关键型产品(如医疗设备)中使用假冒伪劣零件和消耗品而导致的产品故障。尽管这些假冒产品很少得到与黑客入侵的电子系统相同的关注,但它们可能会对用户和公司产生严重影响,从而导致损失不小。

尽管有这些后果,但由于多种原因,开发组织有时会回避使用强大的安全解决方案。例如,实现安全性可能会增加设计的增量成本,因为它通常需要安全机制和协议的深层背景。
然而,最近,Maxim Integrated的 Darwin MCU和专用安全IC等具有安全功能的IC的可用性使开发人员能够支持机密性,完整性和真实性的核心安全要求。

MCU安全性

Darwin MCU系列专为支持物联网安全性和低功耗要求而设计。除了“ 构建更有效的智能设备:第1部分 - 采用MCU和PMIC的低功耗设计 ”中描述的低功耗特性外,Darwin MCU(包括MAX32620,MAX32625和MAX32630)还具有专用的高级加密标准(AES)硬件它支持128位,192位和256位的密钥大小,符合NIST FIPS 197.虽然这些MCU中的AES引擎支持机密性,但Darwin MCU的安全版本(如MAX32631)还包括一个全面的信任保护单元(TPU) )扩展了对完整性和真实性的支持(图1)。


图1:安全Darwin MCU(如MAX32631)为构成安全系统基础的机密性,完整性和真实性机制提供全面支持。(图像来源:Maxim Integrated)

为了完全保护智能产品和主机之间的典型事务,需要多种安全机制来确保机密性,完整性和真实性。使用AES等加密标准进行数据加密有助于确保机密性。需要生成消息签名以确保完整性。使用非对称认证方法(例如椭圆曲线数字签名算法(ECDSA))是认证协议的基础。

这些相同的机制为涉及智能产品的任何操作提供了安全基础,无论是将新的智能产品调试到网络中,保护产品与其他资源之间的持续通信,还是可靠地执行产品固件的无线更新。

因此,在智能产品中支持这些算法而不会使开发人员的设计复杂化或干扰用户的产品交互的能力至关重要。

MAX32631内置的TPU和其他安全的Darwin MCU提供了支持这些算法所需的多种硬件功能。作为TPU的核心,模块化算术加速器(MAA)模块执行这些复杂的算法,具有必要的高性能,以确保安全性无形地进行,对用户的应用程序不产生任何影响或延迟。与AES引擎一样,MAA在没有任何CPU参与的情况下执行计算,进一步加快了应用程序性能。开发人员只需将密钥和输入参数加载到专用于每个引擎的内存映射寄存器中。完成每个引擎的所需操作后,结果可在相应的映射寄存器组中获得。

尽管硬件加速的安全算法对性能至关重要,但它们的有效性又取决于真正的随机数生成器(TRNG)和安全密钥存储。随机数在基于身份验证的协议中使用的安全机制中起着重要作用,包括生成加密密钥。然而,传统的随机数生成算法不可避免地产生可重复的模式或已知的分布,黑客可以利用它来对私钥进行逆向工程。因此,TRNG是任何安全系统的基本构建块。

TRNG通常将传统的伪随机数发生器(PRNG)算法与高熵源(例如半导体中的热噪声)组合,以模糊所生成序列中的任何先天模式。(注意,图1将MAX32631 TPU的随机数发生器称为PRNG,但在器件中使用熵源在功能上提供了TRNG。)

保护秘密

虽然随机数生成的性质可能削弱或加强安全性,但私钥的配置是安全性的关键因素。密码学家早就了解密钥保护的重要性。事实上,19 个世纪的公理,现在叫柯克霍夫原则,指出,即使一切都知道关于除了其关键的加密系统,该系统将保持安全。使用非对称认证算法(如ECDSA)间接有助于确保密钥安全性。与需要在通信系统之间共享私钥的对称方案不同,像ECDSA这样的非对称方法不需要共享这些关键数据。即便如此,MAX32631和其他安全的Darwin MCU也为关键安全性提供了更直接的支持。

作为TPU的一部分,四个32位寄存器提供专用密钥存储。因此,开发人员可以使用该设备生成用于身份验证的私钥和公钥对,并将私钥存储在安全存储区域中。这个安全密钥存储区位于达尔文电力生态系统的“永远在线”电源域。因此,即使在最低功耗模式下,MAX32631 MCU也能保留这些安全数据。如果供电电流低于维持此功率模式所需的标称600毫微安(nA)水平,则此数据将会丢失。

除了它们的加速器和支持功能外,安全的Darwin MCU还提供了两种额外的安全机制。第一个有助于模糊软件和数据。为此,MCU在内部闪存中存储之前,会根据内容和位置自动对所有代码和数据进行加扰。然后,当从内部闪存中获取代码或数据时,设备会自动对它们进行解扰。这些扰乱的写入和解扰读取都是透明地发生的。此自动保护仅适用于存储在MCU内部闪存中的代码和代码。

然而,开发人员可以使用MCU的安全机制来实现存储在外部闪存中的数据的类似机制。同时,存储在外部闪存中的代码必须保持未加密状态,以利用Darwin内置的就地执行(XIP)功能,直接从外部闪存运行应用程序代码。

第二个安全功能在MCU架构本身的层面上运行。作为TPU支持电路的一部分,Maxim Integrated集成了一个称为Crypto Oscillator的专用时钟源(图2)。该振荡器以44 MHz运行,为TPU功能提供定时源,包括AES和MAA引擎以及TRNG模块。


图2:安全Darwin MCU(如MAX32631)包括一个隔离弛张振荡器,为信任保护单元(TPU)提供时钟,从而降低设备对定时攻击等旁路威胁的脆弱性。(图像来源:Maxim Integrated)

Crypto振荡器不使用外部振荡器,而是依赖于内部张弛振荡器。因此,无论当前系统时钟速率如何,TPU功能都以一致的方式进行。由于无法从芯片外部观察到加密振荡器的时序,因此这种方法有助于减少确定的黑客经常使用的时序或功率分析攻击带来的威胁。

实现身份验证

凭借其广泛的功能,安全的Darwin MCU如MAX32631可为智能产品提供强大的平台。使用Maxim Integrated MAX32631-EVKIT开发套件,开发人员可以通过内置于该MCU的全面安全功能快速获得经验。

然而,并非每个需要某种形式安全性的应用程序都需要基于MCU的全面设计。例如,确保使用授权消耗品或其他外围设备通常仅需要外围设备内置的认证机制。对于这些应用,开发人员可以使用专用认证IC快速创建安全,经济高效的解决方案,例如Maxim IntegratedDS28E15,DS28C36或支持1-Wire的变体DS28E36。

过去,外设验证主要依赖于外设内置的唯一序列号。使用算法方法或查找表,主机设备将使用这些ID来确认外围设备。伪造者通过将有效的ID刻录到未经授权的产品中来轻易欺骗这些方法。凭借DS28E15,DS28C36和其他认证IC的可用性,开发人员可以使用单个芯片保护外设(图3)。


图3:DS28E15等单芯片验证器使开发人员能够轻松地为外围设备和耗材(如电池组)添加验证功能。(图像来源:Maxim Integrated)

DS28E15和DS28C36分别支持对称和非对称认证,为开发人员提供了最适合其应用的认证方法的插入式解决方案。开发人员可以使用Maxim Integrated DS28E15的DS28E15EVKIT开发套件和DS28C36的MAXAUTHDEMO1开发套件快速探索这些认证方法和其他器件特性。

与这些套件一样,使用这些设备的硬件实现非常简单,因为每个芯片都提供了完整的身份验证解决方案。每个设备都集成了硬件认证引擎和EEPROM。对于对称认证,DS28E15支持使用存储在其受保护存储器中的私钥的FIPS 180-3安全散列算法(SHA-256)认证,以及用于受保护应用程序数据的额外512位EEPROM。对于非对称认证,DS28C36支持使用集成的256位椭圆曲线加密(ECC)引擎,SHA-256引擎,TRNG和8 kbits安全EEPROM进行ECDSA认证。

在此类应用程序中使用身份验证时,身份验证协议的性质对于强大的安全性至关重要。一个重要的安全漏洞在于仅向主机验证客户端的应用程序,或者仅向客户端验证主机(如在大多数Web浏览器中)。

相反,双向认证对于确保只有授权的外围设备连接到主机并且只有授权的主机向外围设备发送命令才是至关重要的。DS28E15和DS28C36都支持这种双向认证协议。

结论

不断扩大的网络威胁阵列迫切需要为任何连接的设备构建安全性。但是,对于用户而言,安全功能需要保留在后台,保护设备和用户数据,而不会干扰整体产品设计或用户的交互。使用Maxim Integrated的安全MCU和认证IC,开发人员可以克服传统安全实施的障碍,创建为智能产品添加隐形智能的设计。

回帖(2)

李萍

2018-12-26 16:34:51
物联网安全问题很重要,感谢楼主分享
举报

王栋春

2018-12-26 21:07:58
非常不错的资料  
举报

更多回帖

发帖
×
20
完善资料,
赚取积分