如何在嵌入式 Linux 和物联网中建立信任根

  随着物联网、5G 和嵌入式设备成为每个人日常生活的重要组成部分,安全和对IOT产品的信任已成为每个用户的核心关切。嵌入式设备没有良好的安全记录;在过去的几年中,出现了大量物联网设备的黑客攻击案例,这些黑客攻击可能会阻止用户对物联网设备产生安全担忧。黑客的泛滥和对基本基础设施的威胁导致了对关键软件安全性的监管,包含SBOM审核等。

物联网和嵌入式需要的不仅仅是 SBOM(软件物料清单)

  当谈到保护嵌入式设备上的软件供应链 (SSC) 时,监管和 SBOM 只是其中的一小部分。从开发人员和运营商的角度来看,更重要的问题是如何真正做到物联网设备的安全防护,并且减轻、隔离和防止对物联网络造成任何进一步的损害。

识别物联网设备中的安全漏洞

  物联网和嵌入式设备已经存在了很长一段时间,除了手机之外,它们通常是我们经常忽略的设备。以路由器为例;我们可能只在互联网出现故障时才担心它。我敢肯定,许多人从未真正登录过,甚至不知道如何升级路由器的软件和固件。

这些类型的设备上未更改的默认登录是最常见的问题之一,也是进入嵌入式设备的最简单方法。但除了默认密码外,另一个问题是何时报告了严重漏洞。您能否轻松修补和更新设备的固件和软件?

目前物联网安全的一个主要问题是,急于上市往往会降低需要内置到我们的更新过程和设备本身中的安全措施的优先级。 

随着越来越多的物联网设备上线,快速响应和更新固件和软件的能力对安全至关重要。但是,在保护和信任我们的物联网设备方面,快速更新的能力也只是解决方案的一部分,同时还需要保证我们正在更新的内容来自经过验证且受信任的来源,往往是治跟不治本。

模块化 VS 单体机构:部署与更新

 与云开发不同,嵌入式软件开发并没有采用很多较新的高速策略。造成这种情况的主要原因之一是没有采用如容器之类的方法。虽然有一些运行 Docker 容器的解决方案,但它们都需要大量资源来运行和支持官方的 Docker 引擎容器管理器。

现如今物联网设备主要由低规格设备组成。智能灯泡、恒温器和其他此类物联网设备在极其有限的资源上运行,其中一些设备使用的资源仅仅局限于K级。

大多数嵌入式设备具有单片架构,这使得它们容易出错且更新耗时。要快速更新和修补设备,当然,对于模块化架构。容器提供了这种能力,但设备上的容器管理器或引擎必须足够小且足够高效,才能在低规格环境中运行。

嵌入式 Linux 系统:单片与模块化

                                         嵌入式 Linux 系统:单片与模块化

容器化主机操作系统自动更新

嵌入式优先容器管理器的另一个优势是它能够容器化主机操作系统并在用户空间中与任何应用程序一起运行容器。基于容器的模块化架构意味着可以单独部署更新,并在必要时使用 DevOps 世界中采用的最新自动部署管道和其他敏捷策略。

嵌入式操作系统安全

 Docker 引擎与最小容器运行时        

如何在嵌入式系统中建立信任根

  物联网设备必须不断持续的满足消费者的需求,为了跟上这些需求,软件和固件必须持续部署或者更新,同时不损害最终用户和提供商之间的安全和隐私。虽然能够更新设备本身很重要,但更重要的是建立一个信任框架。 

 签署软件组件以验证其真实性并不是什么新鲜事。签名和验证技术是众所周知的,如今已用于单片嵌入式固件。但是,通过模块化软件交付推动嵌入式架构现代化意味着我们还需要将经过验证的签名验证概念提升到更高的复杂性。

信任的根源从哪里开始?

   一般来说,信任的基础始于支持安全引导加载程序的专用安全芯片。引导加载程序公钥的存储位置取决于方案的实现,私钥和签名,Secrueboot等功能一般在专用的安全加密芯片中实现;以MODSEMI的MOD8ID安全加密芯片为例,一旦 ROM 确认引导加载程序签名,引导加载程序就会启动。然后,每个进程都可通过MOD8ID进行签名进行验证,并在该点被信任以在系统中运行。这是在大多数 Linux 系统(桌面或嵌入式)或者IOT设备嵌入式软件上实现的标准信任根。 

MOD8ID的secureboot嵌入式启动安全

                嵌入式 Linux 中的安全启动过程(基于MOD8ID安全芯片信任根)

   嵌入式系统在启动时,会验证从 ROM 到堆栈的构建以及在用户空间中运行的应用程序,而且在更新失败的情况下,系统还必须能够回滚到良好状态修订并在启动时验证它。除了这一基本功能外,任何嵌入式签名和验证系统还必须足够轻巧,以便在低规格嵌入式环境中顺利运行。 采用MOD8ID加密芯片来实现此功能不仅仅能保证系统信任根的最高安全性,而且无需系统空间和计算资源,能很快的部署到架构中。

物联网设备信任链

  同理,物联网的信任链的建立也是从启动开始,重要启动过程发生在物联网设备的CPU首次启动并运行固件时。由于固件在计算机操作系统之前运行,因此黑客喜欢将恶意软件安装到固件中,以便在主要安全系统能够与之对抗之前渗透设备。为了建立对引导系统的信任,固件执行的每个代码都必须使用来自受信任方的“密钥”进行签名,此密钥存储在加密芯片MOD8ID中,以确保其绝对安全核有效。此外MOD8ID同时支持TLS安全接口,用来支持物联网在通讯过程中的认证和数据加密。我将在后续篇幅中讲述MOD8ID参与物联网安全认证的集成与架构设计。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值