EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
尽管开发人员已经采取最大努力,但是仍然可能将物联网 ( IoT) 设计暴露在预期用来维护安全性的代码攻击之下。黑客经常会用受损代码替换固件,以攻击看似安全的设计。安全引导方法可以缓解这些攻击,但可能难以确保正确实现。 开发人员需要更简单的方法来实现安全引导,将其作为确保物联网器件安全性的整体策略的一部分。 本文简要回顾了物联网器件设计中的常见攻击面,以及安全密钥存储、加密和身份验证等基本安全方法的作用;然后介绍了一种安全芯片,能让开发人员在整体策略所需的其他功能中添加安全引导,以确保物联网器件的安全。 物联网器件漏洞 对于黑客而言,物联网器件带来了可用以破坏器件本身、其网络甚至是最终应用的多个入口点。虽然开发人员可以使用各种技术来增强网络和应用安全性,但由于物联网器件上可用的存储器和处理资源有限,因此确保其安全性仍是一项挑战。 尽管开发人员在采用加密方法来保护数据,但许多器件都不具备所需的安全身份验证功能,无法防止黑客伪装成授权服务器、网关或其他物联网器件来拦截通信。某些情况下,如果器件使用有效但较弱的身份验证方法,仍然容易受到复杂的漏洞程序攻击,这些攻击会拦截看似私密的通信会话中所用的有效安全密钥,然后加以重复使用。 物联网器件更新 一个更加底层的安全漏洞涉及数量快速增长的物联网器件中内置的空中升级 (OTA) 功能。空中升级为快速发展的物联网市场提供了一项重要功能。开发人员可通过升级已部署器件的固件,响应客户对新功能不断变化的需求(或修复错误)。在典型的空中升级流程中,物联网器件将定期寻找更新,在新代码可用时下载新代码,并执行一系列系统调用以完成更新流程。 例如,对于 Microchip Technology 基于 SAM D21 mcu 的物联网器件,其固件将包含空中升级代码,用于从某个预设端点下载镜像,之后固件会检查是否执行成功,然后切换到新的固件集(列表 1)。在 Microchip 高级软件框架包提供的这个列表中,OTA 固件初始化 (m2m_ota_init()) 之后,回调例程 OtaUpdateCb() 会在 OTA 固件下载新代码镜像后,切换到新固件集 (m2m_ota_switch_firmware()),然后系统复位即会引导 MCU 重启到已更新
|