安全漏洞是致命的,但在设计中采用防范措施,如将安全相关硬件隔离到“信任区”,可约束从该区域外对内容的访问,还可持续监控温度和电压的变化。
信任区是建立IoT安全的基石
在安全防范措施中,系统分区时将安全相关硬件、软件和数据隔离到“信任区”中,严格约束所有从外部区域对信任内容的访问。不安全的软件无法直接访问安全资源。信任区隔离安全相关的微控制器单元(MCU)硬件、软件与外部设备(图1)。
图1:一般安全嵌入式系统构架必须隔离安全相关的MCU硬件、软件和外部设备。(图源:作者)
信任区内
安全启动和安全下载
若攻击者成功欺骗嵌入式系统将假代码视为真代码接受,则所有数据都会丢失。所有代码必须验证为可信代码。设备制造期间,在工厂生成公/私钥对。公钥储存在MCU的安全位置,通常位于一次编程(OTP)存储器中。MCU在开机启动或接收下载内容时,会对照密钥验证代码,拒绝不一致的代码。
硬件加速器
实施高级加密标准(AES)、Rivest–Shamir–Adleman公钥密码系统(RSA)或椭圆曲线Diffie-Hellman(ECDH)算法都需要密集计算,因此,安全嵌入式系统中的微控制器通常都包含硬件加速器,以加快日常密码运算的速度。然后,MCU中的专用指令下达给加速器,以执行诸如AES加密和解密等功能。
安全的实时时钟(RTC)
安全的实时时钟(RTC)通过在时钟设置中禁用系统运行来防止黑客篡改。此功能通常与监控设备结合在一起,可持续检查系统电压,一旦主电源断电立即切换至备用电池;若备用电池电压下降,监控器将发出篡改事件信号。
真随机数发生器(TRNG)
安全系统中的随机数至关重要,用于生成随机的密码密钥,从而实现安全的数据传输。软件算法可生成较长的伪随机序列。但它是固定不变的,因此易于受到攻击。所以,安全的微控制器应配置硬件真随机数发生器(TRNG),以生成无法预测的输出。TRNG的历史颇为精彩——早期源自蜡团的线上TRNG的数字通过蜡灯生成,但现代化的发生器采用热噪声或几个自由运行振荡器之间的互动作为随机源。
温度和电压监控
在侧信道攻击中,通过对物理硬件参数进行测量和分析来获取系统或芯片的加密运行并提取保密的密钥。例如,巨大的温度和电压变化可能被用来实施硬件攻击。若系统电压中断,片上环境监控器会切换到备用电池,同时私钥归零。
为IoT应用实施信任区
为嵌入式物联网(IoT)应用实施信任区有好几种方法。其中一种方法就是使用外部设备来替代或增强MCU的安全性能,并提供构建其他安全相关特性所需的信任安全区。外部设备还能将安全组件与复杂的MCU或内存保护单元(MPU)硬件隔离开来,使其更容易保护信任区免受安全相关的故障与攻击。Microchip ATECC608A就是一款理想的安全设备,能够支持并增强任何基于MPU或MCU的IoT应用。
Microchip ATECC608A作为IoT的信任区
Microchip ATECC608A占位尺寸极小,可满足IoT应用的关键安全要求,不仅功耗极低,具有易于连接的接口,而且在宽电压范围内只需一个GPIO。作为一种“不可知的”设备,该器件能与各种MPU和MCU器件搭配使用。ATECC608A甚至能为极强健的IoT应用提供所有安全和加密功能,而且占位面积极小。其中一些高级功能包括:
可储存16个密钥、证书或数据的安全硬件密钥存储
硬件支持非对称签名、验证和密钥协议,采用ECDSA(FIPS186-3椭圆曲线数字签名)算法
ECDH:FIPS SP800-56A椭圆曲线Diffie-Hellman
支持NIST标准P256椭圆曲线
支持SHA-256与AES-128
支持安全启动
Ephemeral临时密钥生成
随机数生成(RNG),符合FIPS 800-90 A/B/C
两个高耐久性单调计数器
保证唯一的72位序列号
ATEC608A有三种不同的型号,每一种都预设有基本功能,以便更加轻松地支持常见安全应用。三种型号如下:
ATECC608A Trust&GO型号,优化用于基于TLS的网络安全认证。该器件预先配置并提供默认指纹证书及密钥。配置与证书锁定在机器中,无法更改。云基础设施不需要通过证书颁发机构来验证指纹证书,极大地简化了实施与部署工作。ATECC608A-TNGTLS集成的其他重要功能包括AES128硬件加速器、基于硬件的加密密钥存储以及密码对策,消除了与软件缺陷有关的潜在安全攻击。ATECC608A Trust&Go器件兼容AWS IoT多账号注册构架。
ATECC608A TrustFLEX型号,优化用于基于TLS的网络安全认证。该器件预先配置为安全器件,其用途比设备对云安全认证Trust&GO型号更多。云基础设施,不论是公共网络还是私有网络,均可实施基于口令的认证或客户证书认证(传统PKI型号)。它提供的预构架实施可用于额外认证、固件验证、安全启动协助、密钥轮替等功能。ATECC608A TrustFlex型号兼容AWS IoT、Microsoft Azure、Google Cloud Platform以及一般Transport Layer Security(TLS)网络,具有用于WolfSSL、mBedTLS和CycloneSSL的代码示例。
ATECC608A TrustCUSTOM型号是完全可根据应用进行定制的安全组件,可满足超出Trust&GO和TrustFLEX用例的安全要求。
Microchip ATECC608A用DM320118开发套件
为加速基于ATECC608A应用的开发,Microchip提供了DM320118开发套件。该套件包含全部三种型号的ATECC608A器件,以及一个用于应用开发的板载MCU(ATSAMD21)(图2)。该套件使用USB端口下载和调试应用代码。三个型号的ATECC608A器件共享一个I2C总线,控制以信任安全区为特色的MCU。
图2:ATECC608A与框图(图源:Microchip)
有众多软件工具可帮助开发人员创建针对套件的应用项目:
Microchip CryptoAuthentication信任平台包含用于常见用途的各种示例、配置器以及培训资料。
CryptoAuthLib使得与Microchip的CryptoAuthentication器件搭配使用简单直接。CryptoAuthLib设计支持硬件抽象层(HAL),以便更轻松地扩展到其他微控制器。
MPLABX IDE是一款可在Windows、macOS和Linux 环境下运行的集成开发环境(IDE)。这些工具可利用板载SAM D21微控制器开发新的嵌入式应用。该工具将自动使用板载nEDBG调试器对SAM D21微控制器进行编程。调试器也可用于将主控制器的调试信息通过COM端口传回终端窗口。
可从贸泽产品页面了解关于DM320118的详细信息。
结语
IoT应用的强大安全性必须建立在具有安全功能的信任区的坚实基础之上,才能保护应用避免黑客攻击和软件故障。Microchip ATCC608A器件及相关开发平台可大幅加快IoT稳健安全实施的开发速度。
审核编辑 :李倩
-
微控制器
+关注
关注
48文章
7423浏览量
150778 -
IOT
+关注
关注
186文章
4155浏览量
195888
原文标题:你的系统安全吗?考验IoT信任区的时候来了!
文章出处:【微信号:贸泽电子,微信公众号:贸泽电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论