物联网时代工程师的安全职责
扫描二维码
随时随地手机看文章
作者:e络盟解决方案开发全球总监Cliff Ortmeyer
物联网(IoT)虽然是时下的营销热词,但大多数工程师早就意识到给任何电子设备添加连接功能都可带来诸多重要优势。因此,物联网是一个非常广泛的术语,涵盖了各种不同的应用,包括从闭路电视到IP连接的安防摄像头,以及工厂和穿戴式追踪器的连接传感器,甚至远程控制的家庭供暖系统。
所有互联网连接设备的开发人员所面临的一个挑战就是安全性问题。移动支付就是个明显的案例:银行显然希望避免手机支付的欺诈性交易。但物联网安全威胁各式各样,且影响深远。
为何安全性对物联网而言如此重要呢?由于可用数据数量前所未有,而所有物联网系统间的互联互通及其潜在威胁都极大激起了风险意识。其中不应被忽视的因素之一是,有部分工程师之前开发的系统并未接入互联网,而现在他们则必须开发联网产品。我们相信银行拥有强大的专业技术可确保金融交易的安全性,但如果工程师曾经只开发USB网络摄像头,我们又如何信任他可以确保IP连接摄像头的安全呢?
幸运的是,如若工程师花些时间遵循一些基本准则就会发现,包括半导体公司和分销商在内的供应商目前都在提供相关的技术及支持,协助开发出更具安全性的物联网产品。
风险与威胁近期在芝加哥召开的一次会议上,来自恩智浦(NXP)的Roman Budek表示,物联网设计人员需考虑及解决六项主要的安全隐患。而针对云端的数据和系统控制情况,必须考虑那些针对云服务提供商的远程攻击,而不能单纯地认为某主要服务提供商即可解决这个威胁。
物联网的性质意味着设备经常可以进行访问,外围系统遭受的物理攻击(例如使用边信道控制门禁)对许多系统而言都是风险。同样,一个脆弱、伪造或受损的设备会削弱内部网络的安全性。而许多物联网供应商认为其与其他公司产品间的互操作性对商业成功至关重要,所以该问题更是一个挑战。
网关或IP边缘节点为远程攻击提供了机会。以智能家居为例,网关通常是客户ISP提供的低成本路由器,其功能有限,甚至可能存在未修复的漏洞。
智能手机、平板电脑、智能手表也存在着安全隐患,用户可能下载流氓软件,从而让这类软件获得网络访问权限。同样,PIN码钓鱼软件可让装有应用程序的设备获得物联网系统访问权限。最终,随着物联网的发展日趋成熟,各种设备的升级换代,淘汰的设备有可能被植入特洛伊木马,给其他网络设备带去威胁。
显然,设计物联网设备时工程师需对整个系统进行全面了解,而不是仅仅把关注点放在设计的产品上。
确保嵌入式设备的安全性开发嵌入式物联网设备时,工程师必须确保实现以下三点:
数据完整性:确保数据不被窥探,仅授权人员可访问,而且还需确保数据不能被篡改导致蓄意攻击或意外性错误。
代码完整性:保护代码也至关重要。代码修改必须可检测,而且只有经授权才可修改代码。此外,许多公司也关心知识产权保护问题,这就要求采取措施避免代码失窃。
设备完整性:确保连接设备可靠,并且其关键功能不可被篡改。因此,物联网设备需要强大的加密密钥认证和保护,以防止黑客入侵和产品伪造。
为了实现目标,安全专家经常提到嵌入式物联网安全性的六个原则,以加强对开发人员的支持:身份/身份验证、授权、审核、保密、完整性及可用性,而许多这些原则的核心是密码学。
为物联网安全提供设备支持对于物联网产品开发人员而言这无疑是好消息,许多设备已为更加便捷的构建安全性提供支持。以 e络盟 合作开发的、在 NXP WaRP7 IoT 和可穿戴开发平台上使用的 NXP iMX 7Solo 应用处理器为例,该物联网原型平台包含许多处理器内置的安全功能。
图 1 - iMX 7 Solo应用处理器图示
其中最明显的特征之一是支持加密,且处理器还支持使用CAAM(加密加速和保证模块)对硬件加速加密。该模块也包含支持各种加密标准的加密和哈希引擎。
加密算法有两种基本类型:对称型和非对称型,而选择正确的算法对物联网系统设计至关重要。对称算法使用相同的密钥加密及解密数据,而且处理开销更低。
不对称加密使用“单向”方法,具有一对密钥。私钥保密,不对外分发,而公钥则公开分享。如若使用公钥加密,则需使用私钥解密,反之亦然。此法使系统更容易管理,且可拓展性更强。
随机数生成器(RNG)是加密算法的要求之一。这可用于生成密钥,而密钥必须随机生成,以防止黑客预测密匙、破解密码。
可通过提供片上硬件支持,进而开发物联网设备。这不仅可使用强大的加密功能确保更高级别的安全性,而且不会对处理器运行应用程序造成过多影响。
WaRP7板上使用的处理器还使用简单SPA或差异功率分析(DPA)以防止预测密匙。
物联网安全性也可通过其他功能加强,如WaRP7上使用的处理器及其他处理器。
图2 - ARM 信任区
处理复杂性本文仅以一个物联网板卡的某些特征可加强安全性为例。而工程师所面临的挑战正是本文所介绍的各种复杂性。显然,工程师需要支持以确保他们有时间去学习这些特征。
首先,选择正确的开发平台至关重要。许多资源(如e络盟社区的设计中心)可提供有关处理器开发平台、软件工具及中间件的详细信息。应用工程师以及像 e络盟 这样的分销商在确保生产正确组件方便扮演着重要角色,同时也缩短了选择适当工具和信息的学习周期。
当下高度集成的状态意味着开发平台通常只有几个组件,这几乎是生产的理想硬件。e络盟与许多公司合作,依照客户要求打造如树莓派这样的现有开发板,从而满足其具体需求;或依据特定要求开发硬件,使更多工程资源可应用于大部分复杂及产品差异化较大的代码中。
结论 - 安全问题是物联网最大的挑战之一现今,几乎所有电子设备都可从网络连接中获益,无论是远程控制、监控,还是简单的记录或数据分析。然而,网络连接会引起许多潜在风险,必须使用恰当的设备及系统级别安全防护工具来解决这一问题。随着半导体及软件厂商提供从加密到物理安全的安全支持,对物联网产品的开发人员而言,再也没有任何借口回避产品安全性。然而,工程师面临的挑战则是克服附加功能带来的不可避免的复杂性。因此,他们必须向如 e络盟 这样的供应商寻求帮助以应对挑战。