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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Docker 引擎与最小容器运行时

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

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

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

信任的根源从哪里开始?

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

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

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

物联网设备信任链

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

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

  1. 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一第1章 C语言与内存1.1 引言...

    本节书摘来自异步社区<嵌入式Linux与物联网软件开发--C语言内核深度解析>一书中的第1章,第1.1节,作者朱有鹏 , 张先凤,更多章节内容可以访问云栖社区"华章计算机&quo ...

  2. 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一2.4 位运算构建特定二进制数...

    本节书摘来自异步社区<嵌入式Linux与物联网软件开发--C语言内核深度解析>一书中的第2章,第2.4节,作者朱有鹏 , 张先凤,更多章节内容可以访问云栖社区"异步社区" ...

  3. 嵌入式Linux搭建物联网网关,基于嵌入式Linux的物联网网关研究与实现

    摘要: 随着物联网发展速度日益加快,作为连接感知网络和传统通信网络的物联网网关正在其中扮演着重要角色.然而,目前针对物联网网关的统一标准尚未制定,物联网网关的设备类型千差万别.人们往往针对某一具体应用 ...

  4. 嵌入式Linux与物联网软件开发:C语言内核深度解析

    嵌入式Linux与物联网软件开发:C语言内核深度解析     1.C语言与内存         1.引言         2.计算机程序运行的目的         3.位.半字.字的概念和内存位宽   ...

  5. 嵌入式Linux启动过程中的问题积累

    嵌入式Linux启动过程中的问题积累 Dongas 07-12-19 1.Bad Magic Number ## Booting image at 33000000 ... Bad Magic Num ...

  6. 嵌入式 Linux 与物联网软件开发 ——C 语言内核深度解析

    C 语言是嵌入式 Linux 领域的主要开发语言. 对于学习嵌入式.单片机.Linux 驱动开发等技术来说,C 语言是必须要过的一关.C 语言学习的特点是入门容易.深入理解难.精通更是难上加难.很多用 ...

  7. AM335 嵌入式 linux,am335x开发板建立嵌入式 Linux NFS 开发环境

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 am335x开发板嵌入式开发板系统 NFS客户端的配置 首先运行在嵌入式开发板系统的 Linux 内核支持 NFS 客 户端, 运行 #make menu ...

  8. 嵌入式系统和物联网中的软件安全

    文章目录 您需要了解的嵌入式系统软件的功能安全与信息安全 为什么C与C++对于嵌入式系统软件的功能安全及信息安全很重要 为什么静态分析对于嵌入式系统软件的功能安全及信息安全很重要 为什么编码标准对于嵌 ...

  9. 嵌入式系统在物联网中的应用及架构

    如果说其他技术涉及到的是物联网的某个特定方向,如感知.计算.通信等.嵌入式系统则是物联网中各种物品的表现形式. 首先要谈一下关于架构 在接触嵌入式之后,就出现了一系列的XX架构之类的狼虎之词,什么物联 ...

最新文章

  1. Garbage First(G1)垃圾收集器
  2. day04--课后练习
  3. Pluto - iOS 上一个高性能的排版渲染引擎
  4. 安装Microsoft Hololens开发环境
  5. hashmap应用场景_Redis 5种数据结构 及使用场景分析
  6. 高等数学下-赵立军-北京大学出版社-题解-练习9.1
  7. 联手友盟+打造云上数据增长“样板间”, 好兔视频成功逆势突围
  8. 软件设计原则:内聚、耦合有哪几种类型?内聚度、耦合度如何比较?
  9. C语言课后习题(1)
  10. Pow,Pos,Dpos共识机制比较
  11. jsp点击按钮弹出输入框_【问答3】需要点击虚拟键盘上发送(搜索)按钮的写法...
  12. jQuery将json对象转为字符串,将json字符串转为对象
  13. 报错command line option ‘-std=c11‘ is valid for C/ObjC but not for C++
  14. 一文说清:可逆与不可逆加密算法,对称与非对称加密算法-据说BCrypt比MD5要好?
  15. Meta-learning algorithms for Few-Shot Computer Vision论文解读(三)
  16. paypal php 对接
  17. 08年十大可能被炒CEO出炉 AMD鲁毅智位列第一
  18. 【ninja】Ninja安装和基本使用
  19. mysql 字段中有括号的查询方法
  20. win10搜索框突然不能使用了

热门文章

  1. 阿里云服务器绑定域名,阿里云esc绑定域名,阿里云域名备案相关完整情况
  2. 基于微博评论的文本情感分析与关键词提取的实战案例~
  3. Java 平衡二叉树之单旋(左旋,右旋)与双旋
  4. 什么是非拜占庭错误?什么是拜占庭错误?
  5. 为什么要学Markdown?有什么用?
  6. 数据库:数据的独立性
  7. 工规/车规 LDO SCT71403F,替代TPS7B82-Q1 , TPS7B81-Q1,TPS7B69-Q1,MPQ2013, MPQ2013A
  8. 局域网arp攻击_MAC与IP不得不说的故事--深入ARP工作原理
  9. Linux安装mysql并配置外网访问
  10. enable 华为交换机ntdp_华为交换机设置