推广密码学手册Ch5

加密实现:硬件vs.软件

2020年5月27日
密码手册系列的第5部分深入探讨了通过硬件和软件实现密码解决方案的差异,以及安全启动连接设备的基本步骤。

这篇文章是沟通系列:加密技术手册

现代密码算法可以使用运行在通用硬件上的专用密码硬件或软件来实现。由于各种原因,专用加密硬件为大多数应用程序提供了更好的解决方案。的表格下面列出了为什么更需要基于硬件的密码解决方案的原因。


安全引导和安全下载它们是什么?为什么重要?

使用嵌入式硬件的日常物联网设备包括:

  • 家庭设备:Wi-Fi摄像头、物联网恒温器和烟雾探测器
  • 医疗设备
  • 可穿戴设备、健身追踪器或智能手表
  • 工业机器,如工厂里的机械臂

几乎所有这些设备(图1)包含启动固件或可下载的数据访问互联网,这使他们处于危险之中。引导固件基本上保存在设备内部的非易失性内存中。它是这个设备的大脑。本软件不时更新,以纠正和增强某些功能。这可以是任何东西,从Wi-Fi摄像头的新入侵者检测算法,或工业机器人手臂的角度,以更好地定位焊缝。


本文介绍了在连接的设备中安全引导和上传新固件所需的所有必要步骤。

为什么要保护物联网设备固件或数据?

物联网设备必须是可信任的,这意味着设备固件和关键数据必须被验证为真实。在理想的情况下,引导固件和配置数据将被锁在工厂里,但客户希望通过互联网进行固件更新和重新配置。这就是问题所在,恶意行为者可以利用这些网络接口作为恶意软件的管道。

如果有人获得物联网设备的控制权,他们可能会出于恶意目的控制该设备。出于这个原因,任何声称来自授权源代码的代码都必须经过身份验证,才能被允许使用。

攻击者可以通过各种方式向物联网设备发送恶意软件(图2):

  • 如果攻击者可以获得对设备的物理访问,那么恶意软件可能会通过物理连接引入(如USB、以太网等)。
  • 操作系统的漏洞通常在通过补丁被发现时是关闭的。如果攻击者可以访问未打补丁的系统,他们可能会引入恶意软件。
  • 通常,物联网设备会联系更新服务器,以确定是否可用更新的固件或配置数据。攻击者可能拦截DNS请求,并将物联网设备重定向到恶意源,该恶意源承载了恶意软件或破坏了配置数据。
  • 真实的网站可能会被错误配置,从而允许攻击者控制网站,并将真实的固件替换为包含攻击者恶意软件的固件。


我们可以通过安全引导和安全下载来防止渗透和恶意软件的注入。因此,物联网设备可以信任从命令/控制中心接收到的更新。

通过安全引导/下载保护免受恶意软件注入,意味着物联网设备可以信任从命令/控制中心收到的更新。

请注意,如果命令/控制中心希望完全信任物联网设备,还有一个额外的步骤,涉及到验证物联网设备的数据。我们如何使用安全引导和安全下载来保护这些设备?

固件的认证和完整性

身份验证和完整性可以提供一种方法:

  • 确保目标嵌入式设备只运行授权的固件或配置数据。
  • 确认数据为受信任的不是随后修改。
  • 允许使用密码学来证明数据两者都是真实的并已的完整性。
  • 利用加密数字签名例如在信的底部加盖印章或手写签名。

通过身份验证和完整性,固件和配置数据将在制造阶段加载,所有后续更新都进行数字签名。通过这种方式,数字签名可以在设备的整个生命周期内实现信任。数码签署的下列特点对保障保安至为重要:

  • 所使用的数字签名必须由密码算法计算。
  • 为了带来最高级别的安全,算法需要公开并经过充分验证。

对于我们的安全解决方案,我们将研究非对称密码算法,特别是FIBS 186 ECDSA。

应用于安全启动/下载的非对称密码


非对称密码术使用公钥/私钥对进行算法计算(图3):

  • 任何密钥对生成的开始都包括选择a随机数作为私钥使用。
  • 的随机数输入键生成器计算开始输出一个公钥。
  • 公钥是公开的(它可以免费分发给所有人,没有任何安全风险)。
  • 然而,私钥是必须保密的重要信息。

非对称密码学中安全下载的基本原则是:

  • 固件开发人员使用私钥签字。
  • 嵌入式设备(或物联网设备)使用公钥验证

那么为什么要使用非对称密钥加密呢?

  • 其优点是在嵌入式设备上不存储私钥。
  • 当使用非对称加密时,攻击者无法检索私钥。
  • 最后,所选择的算法(即ECDSA)使得从公钥导出私钥在数学上是不可行的。

首先,让我们看一个示例,说明在使用非对称密钥加密的研发设施中必须发生什么。

研发设施

  • 我们从complete开始固件。
  • 固件必须通过sha - 256多个块哈希计算。
  • 私钥哈希被输入到ECDSA签名算法.输出是唯一的签名,只能由私钥签名。
  • 将我们的固件与签名结合起来,并根据要求发送出去现场使用

图4更详细地说明了这些要点。现在让我们看看字段的使用情况。


现场使用

  • 嵌入式设备接收到固件和签名。
  • 固件将通过SHA-256多块哈希计算。
  • 我们的嵌入式设备将已经包含公钥在研发中心的密钥生成过程中产生的。
  • 签名其他成分将用作ECDSA验证的输入。
  • 结果来自ECDSA的验证将决定是否固件可以被嵌入式设备
  • 如果结果是通过,则嵌入式设备接受既具有真实性又具有完整性的固件。
  • 如果结果是失败,那么固件将被拒绝。

下面的视频解释了如何安全地下载固件到远程系统:

使用DS28C36进行安全启动和安全下载

许多嵌入式设备没有一个具有计算能力的安全微控制器来执行所需的计算来验证下载固件或数据的真实性和完整性。一种具有成本效益的基于硬件的IC解决方案是DS28C36DeepCover安全身份验证(图5)


安全引导和安全下载的步骤:

  1. 如前所述,在研发设施中建立了用于安全引导或安全下载功能的系统公私密钥对。此对的系统私钥用于签名固件或数据,这些固件或数据最终由嵌入在最终系统中的DS28C36验证。这个系统私钥永远不会离开受控的开发环境。这对系统公钥安装在DS28C36的密钥寄存器位置,该位置具有“授权密钥”属性,这在DS28C36中是可配置的设置。
  2. 系统私钥用于计算固件或数据的数字签名。
  3. 带有预编程系统公钥的DS28C36位于主机处理器的接口上。
  4. 当固件需要由处理器运行时,它首先由处理器引导管理器检索,并以顺序的64字节块交付给DS28C36,以计算SHA-256哈希。
  5. DS28C36完成SHA-256哈希计算后,处理器发送固件的ECDSA签名或在开发环境中计算并附加到文件中的数据。
  6. DS28C36收到ECDSA签名后,处理器会发送命令使用预安装的系统公钥进行签名验证。
  7. 如果DS28C36验证签名,则传递结果参数字节和设置为逻辑0的GPIO引脚将被发送到处理器。这个引脚和参数字节结果的状态作为运行/不运行的结果给处理器,以运行现在已知的可信固件或数据更新。
  8. 此外,如果命令/控制中心希望信任DS28C36,还可以选择使用一个额外的ECDSA签名引擎。

总之,我们展示了一个经过验证的安全启动或安全下载解决方案,使用DS28C36解决了对物联网设备的威胁。这种安全的身份验证器IC免去了验证固件或数据更新的真实性和完整性所涉及的繁重计算。

有关Maxim的安全启动和安全下载解决方案的更多信息,请查看:

安全实验室工具来执行这个序列示例,或者使用Maxim的其他硬件实验室。

IP保护双向认证

双向(或相互)身份验证是安全通信的重要组成部分。沟通的双方都应该确定对方是可以信任的。这可以通过证明拥有私人信息来实现。这些信息可以在双方之间共享,或完全保密,只要有能力证明占有。

对称身份验证系统要求信息在通信中的所有参与者之间共享。这个信息通常被称为“秘密”。秘密是不为人所知的信息;只有需要的人才知道。该秘密与对称身份验证算法(如SHA)以及参与者之间共享的其他数据一起使用。在通信双方生成匹配签名的能力证明了秘密的所有权。

非对称身份验证系统(如ECDSA)采用不被各方共享的隐藏信息(称为“私钥”),但用于生成可为公众所知的信息(称为“公钥”)。正确使用公钥可以证明拥有私钥,因为需要私钥来解锁被公钥锁定的消息,反之亦然。

奴隶身份验证

为了在主从配置中验证从设备,一段随机数据(也称为“挑战”)被发送给从设备。与设备之间的任何共享数据一起,挑战通过一个签名操作运行,使用一个秘密或私钥来产生一个“响应”签名。响应签名可以由主服务器验证,因为主服务器拥有共享密钥,或者与从服务器的私钥相对应的公钥。此过程的一般流程如图所示图6


认证通常依赖于生成签名的算法,这些签名证明拥有参与者的隐藏信息,但却很难发现信息本身。这些被称为单向函数。SHA和ECDSA就是这种算法的例子。

主人的身份验证

为了证明各方都是可信的,主人还必须向奴隶证明其真实性。这个过程的一个示例以经过身份验证的写的形式显示(图7)


图7,主设备正在向从设备写入新数据。然而,为了完成写操作,从服务器必须验证信息的真实性,要求主服务器根据该信息以及主服务器的隐藏数据(秘密或私钥)生成签名。通过使用共享密钥或与主密钥对应的公钥,从服务器可以验证签名是真实的。

使用单向函数可能允许任何窃听者看到正在传输的所有数据,但它阻止他们确定产生与数据相关的签名的隐藏信息。没有这些隐藏的信息,窃听者就无法冒充他人。

这种双向认证模型可以很容易地用于确保存储在设备中的知识产权(IP)受到良好的保护,免受伪造者的侵害。

TRNG输出和典型使用

Maxim公司的ChipDNA安全身份验证器内置真随机数生成器(TRNG)(图8).这被设备用于内部目的。但是它们也有一个命令,如果用户请求的话,它会发送TRNG输出。此时,TRNG输出长度的最大长度为64字节。这种硬件nist兼容的随机数源可用于主机处理器生成“挑战(nonce)”等加密需求。


NIST / FIPS规范

三种不同的规范与trng相关:

  • NIST SP 800 - 90 a
  • NIST SP 800 - 90 b
  • NIST SP 800 - 90 c

欲了解更多细节,请访问NIST网站

本系列的下一篇文章将介绍加密系统面临的威胁、可用的对策类型以及如何对威胁进行计划。

更多信息请参阅沟通系列:加密技术手册

Zia a . Sardar和Stewart Merkel是技术工作人员的主要成员,Aaron Arellano是技术工作人员的成员马克西姆集成

从我们的合作伙伴

5G在工业自动化中的实际应用beplay体育手机登录

2021年6月16日
无线通信在工业自动化通信中已变得越来越重要。beplay体育手机登录现在,第五代(5G)蜂窝通信…

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

2021年7月6日
编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

超高可靠性,低延迟

当你读这篇文章时,5G正在美国推广。有些人有一个兼容5G的手机,可以连接到AT&T网络,T-Mobile,等等。

符合自动化和工业4.0标准的M12连接器编码

赞助。符合自动化和工业4.0标准的M12连接器编码连接器在任何一种电…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

5G在工业自动化中的实际应用beplay体育手机登录

无线通信在工业自动化通信中已变得越来越重要。beplay体育手机登录现在,第五代(5G)蜂窝通信…

协同处理器体系结构:一种用于快速成型的嵌入式系统体系结构

编者注:尽管它以数字处理性能和吞吐量而闻名,但协处理器体系结构提供了嵌入式系统…

超高可靠性,低延迟

当你读这篇文章时,5G正在美国推广。有些人有一个兼容5G的手机,可以连接到AT&T网络,T-Mobile,等等。

符合自动化和工业4.0标准的M12连接器编码

赞助。符合自动化和工业4.0标准的M12连接器编码连接器在任何一种电…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……
Baidu