在听说了很多硬件漏洞比如Spectre、Meltdown和Foreshadow之后,可能很多SoC和系统设计人员们都在思考如何在不牺牲安全性的前提下保持应用的处理效率。一颗芯片的安全设计可以有多个实体,且其上运行的不同应用程序是被隔离的。应用程序保持最高级别的安全性至关重要。本文中描述的示例演示了如何在应用程序之间建立完善的资产隔离。

一颗芯片的安全设计可以有多个实体,且其上运行的不同应用程序是被隔离的。

在听说了很多硬件漏洞比如Spectre、Meltdown和Foreshadow之后,可能很多SoC和系统设计人员们都在思考如何在不牺牲安全性的前提下保持应用的处理效率。很多设计人员正在研究如何通过RISC-V的开放式指令集架构(ISA)设计安全引擎,一种从源头开始就被保护的安全引擎。

在主CPU管理并发执行多个进程的主要工作负载时,这些安全引擎充当协处理器。然而,设计人员意识到这其中许多应用都需要安全硅IP来隔离不同应用之间的安全资产。

如果一个SoC上运行多个需要访问安全资产的应用程序,那么这些应用程序最好不能访问彼此的资产。举个例子,人们肯定不希望他们的银行应用程序能够访问他们的DRM视频回放密钥,反之亦然。这样做的另一个好处在于,一个应用程序中的安全漏洞无法泄漏另一个应用程序使用的安全资产。

要满足这些需求,安全处理器(如Rambus的CryptoManager Root of Trust(CMRT))必须支持多个硬件信任根,这些信任根在安全硅IP自身中要被彼此隔离。简而言之,每个实体都有自己的虚拟信任根,无需信任其它实体即可执行安全功能。

信任根(RoT)为可信计算环境的安全性奠定了基础。为了支持多个根,安全硅IP必须能够识别当前根(即,每个根必须具有处理器已知的唯一标识符)。

一旦信任根被识别,安全硅IP就必须应用该根的特定策略。该策略通过一组在硬件中强制执行的权限来实现。这些权限描述了根对加密处理器中可用的安全与非安全资产的访问能力。创建权限的原则为:给定根对资产的访问权限与其它根完全隔离。当然如果非常必要,也可以允许两个根访问同一组资产。

创建信任根

要创建信任根,安全硅IP应用开发人员需要创建包括公钥与私钥的密钥对。椭圆曲线加密(ECC)或RSA密钥对在这里是比较合适的选择。要计算出公钥的唯一加密值(称为散列摘要),并将此散列摘要用作根的唯一标识符。公钥的散列摘要必须安全地提供给安全硅IP的非易失性存储器(NVM)。而私钥则用于计算应用的二进制映像的数字签名,该二进制映像将在安全硅IP内执行。

在运行时,当应用程序加载到安全硅IP中时,签名、虚拟根公钥和其它元数据都附加在应用程序映像中。安全硅IP使用附加到映像的公钥来确定该公钥的散列摘要是否与存储在处理器NVM中的虚拟根ID匹配。如果找到匹配的ID,则使用公钥来验证应用本身的散列摘要签名。一旦验证了映像的签名,则安全处理器将应用的根权限应用于硬件。

请注意,创建应用程序的实体拥有私钥。安全硅IP永远看不到这个密钥,它由实体安全地保存,永远不会被暴露。

KDF在应用隔离中的作用

安全硅IP内部的硬件密钥导出函数(KDF)对于进一步隔离虚拟根不可或缺(图1)。KDF应当基于一个标准,例如美国国家标准与技术研究院(NIST)SP 800-108。KDF可以有多个用于导出密钥的输入。为实现根之间的隔离,唯一根标识符是KDF的其中一个输入。

图1:安全硅IP内部的密钥导出函数对于进一步隔离不同的虚拟根非常必要(来源:Rambus)

当应用程序加载到安全硅IP中时,根标识符被编程到KDF中。这意味着由两个不同的根私钥签名的两个不同的应用程序不会导出相同的密钥集,即使KDF的所有其它输入参数都相同也不可以。因此,在安全硅IP内执行的应用程序可以使用KDF来导出它自己唯一的应用程序对称密钥或ECC密钥对。

使用KDF导出应用程序密钥的另一个好处在于无需将密钥存储在NVM中,而存储在内存中的密钥通常易受攻击。当下一次应用程序需要使用特定密钥时,应用程序将执行与先前相同的密钥导出过程。

使用KDF还有一个优点是可以重复导出相同的对称密钥或ECC公钥和私钥对。它们通常通过动态加密法(on-the-fly)导出。一旦应用程序使用完密钥,密钥就被系统删除。

简而言之,两个不同的虚拟根不能创建相同的密钥,因为通过KDF能够导出的密钥使用了根标识符作为数据的一部分来导出。这就是应用程序之间实现加密隔离的方式。

其它资产的隔离

除了通过导出的密钥隔离,安全硅IP还可以进一步扩展给定虚拟根环境之下执行的应用程序的隔离。例如,应用程序通常不会共享NVM区域。另外,一般会希望限制对安全硅IP的通用输入和输出(GPIO)的访问。而应用给定虚拟根权限策略可以实现对此类资产的严格访问控制。

还有一些应用程序要求安全硅IP将导出的密钥或从NVM读出的密钥通过安全总线传送到外部处理单元。这个外部处理单元可能由于某些特定原因或出于对性能的考虑而被使用。此时必须设置虚拟根的权限,以便只有那些应该将密钥传递给外部处理单元的应用程序才能这样做。而其他不需要将密钥传递给外部处理单元的应用程序则不能访问安全总线。

保证安全硅IP内的所有应用程序都彼此隔离可以增加我们对系统安全性的信心。
拥有了如此安全保护伞,为安全硅IP开发应用程序的实体得以维护其特定的虚拟根私钥。其它实体无法访问这些导出的密钥、特定密钥总线、NVM内存地址范围、GPIO引脚或任何其它相关数据。同时也阻止了其他人尝试攻击或意外地导出这些关键数据。例如,开发人员的错误不会导致误访其他人的资产。这些资产受硬件保护。一旦在硬件中为基本密钥、NVM、安全密钥目标和其它关联资产设置权限后,应用程序就无法修改这些权限,因为它们被设置在硬件中,不能被重写。

提供对多个信任根支持的安全硅IP解决方案

在前面,我们已经讨论了系统和SoC设计人员如何在其应用程序中增加多个安全硅IP信任根并隔离它们以实现超安全性。

这种安全硅IP的解决方案是提供对多个RoT的支持,就像Rambus的CryptoManager Root of Trust。安全硅IP产品的每个根都可为安全硅IP内的多个RoT提供支持。安全硅IP内的每个根都有自己的标识符和权限集,用于建立对执行所需资产的访问权限。加载应用程序时,其请求的权限被编程到硬件寄存器中,使得该应用程序只能访问它指定的资产。根据硬件中应用的其它应用程序的权限,可以限制在安全硅IP内执行的其它应用程序访问原始应用程序的资产。

如果攻击者想要在安全硅IP上运行应用程序,则必须能够访问其虚拟根私钥。即使攻击者可以访问另一个应用程序的虚拟根私钥,他们的应用程序也无法访问原始应用的资产。

对于系统或SoC设计人员来说,要实现此功能就必须选择具有多个硬件RoT的安全硅IP,且每个RoT在安全硅IP内部都被隔离。这意味着每个实体都依赖于自己的虚拟RoT来执行安全功能,而无需信任其它虚拟RoT。

应用示例

以下是基于此类安全硅IP应用的一些具体示例。如图2所示,示例中的实体可以是数字版权管理(DRM)、银行业务或安全通信应用。

20191014-002.png
图2:应用程序实体可以是数字版权管理(DRM)、银行业务或安全通信应用。每个实体都完全相互隔离。 (来源:Rambus)

如上图所示,每个应用程序在彼此完全隔离的情况下执行。另一种不太安全的替代方案是所有三个实体共享同一组资产(下方框图)。

如前所述,系统和SoC设计人员需要考虑其设备支持的潜在客户应用程序。一些可能的应用包括视频流、银行业务和安全通信的DRM。每种应用程序对安全性和对安全硅IP资产的访问都有不同的要求。

DRM应用:DRM应用需要将安全硅IP导出的密钥输出到可以解密和解码视频流的外部引擎。在这种情况下,我们可以使用安全硅IP提供的权限模型来确保只有DRM应用程序可以导出解密视频流所需的密钥。此外,我们还可以根据安全硅IP的权限设置仅允许DRM应用程序将密钥传递给视频解码模块。

图3详细图解了安全硅IP在DRM应用中的使用。非易失性存储器(NVM)保存了多个应用程序基本密钥。根据DRM应用程序的虚拟根权限设置,它唯一可访问的密钥是DRM基本密钥KD,而无法访问其它被遮蔽的密钥(KB和KC)。

20191014-003.png
图3:安全硅IP用于DRM应用(来源:Rambus)

CPU上执行的应用程序请求KDF使用KD来导出视频解密密钥KV。该应用程序还要求将KV直接输出到密钥传输(Key Transport)模块,以防止DRM应用程序中潜在的软件漏洞泄漏KV。密钥传输模块通过安全总线将KV传送到视频解密和解码模块,该模块随之对需要播放给用户的视频流进行解密和解码。

银行凭证应用:图4详细说明了安全硅IP的第二种应用可能——保护用户的银行凭证。与上述DRM应用程序一样,银行应用程序也仅具有NVM中基本密钥KB的唯一访问权限,同样无法访问NVM中的其它基本密钥。

20191014-004.png
图4:安全硅IP用于用户银行凭证(来源:Rambus)

应用程序可以请求KDF使用KB来导出解密密钥KA。KA被直接发送到高级加密标准(AES)引擎,这样CPU就不会读取其值。应用程序随后请求AES引擎解密存储在系统外部文件系统中的加密银行凭证。一旦凭证被解密,它们就被传送到安全硅IP的SRAM,以供在主CPU上执行的银行应用程序使用。

即使攻击者意图对安全硅IP内执行的银行应用程序执行反向工程,也无法获取银行凭证解密密钥KA。而且,如果攻击者可以访问另一个虚拟根私钥来签署他们自己的银行应用程序版本,该应用程序也无法导出合适的KA,其导出的密钥KA无法用于解密用户银行凭证。

安全通信应用:第三个示例为安全通信应用,如图5所示。安全通信应用程序在使用前需要进行一些设置。安全硅IP需要首先使用其安全通信基本密钥KC导出椭圆曲线加密(ECC)私钥KP,然后再使用KP导出相应的公钥KU。KU随后在证书签名请求过程中从设备导出。

20191014-005.png
图5:安全硅IP用于安全通信应用。 (来源:Rambus)

证书颁发机构(CA)根据证书签名请求生成由CA私钥签名的数字证书。该数字证书(CERT)随后被导入安全硅IP中,存储在NVM中只能由安全通信应用程序访问的位置。

在与另一方建立安全会话的初始阶段,安全通信应用程序从NVM中读取CERT。安全通信应用程序还会请求KDF使用KC重新导出私钥KP,并将KP传递给公钥引擎。随后,应用程序使用安全硅IP的散列引擎计算出安全通信参数的散列摘要,也将其传递给公钥引擎。

安全通信应用程序请求公钥引擎根据KP和安全通信参数的散列摘要生成数字签名,并放置在SRAM中,安全处理器CPU上执行的安全通信应用程序将可以访问它。最后,安全通信应用程序导出CERT、安全通信参数和数字签名,并发送到建立了安全信道的另一方。

随着安全通信协议的发展,安全硅IP被用于与另一方建立机密数据共享。安全硅IP的AES引擎(或其他对称加密算法)利用这些共享机密数据加密或解密来自/传递到另一方的数据块。

结论

应用程序保持最高级别的安全性至关重要。上文描述的示例演示了如何在应用程序之间建立完善的资产隔离。

此外,在这种保护机制之下,即使某个应用程序被攻击者执行了反向工程也没有什么价值,因为获取应用程序的虚拟根私钥才是关键。而且即使攻击者可以访问另一个应用程序的虚拟根私钥,也无法访问要攻击的应用程序资产。

本文为《电子工程专辑》10月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅

责编:Yvonne Geng

阅读全文,请先
您可能感兴趣
拍卖标的包括三项域名以及15项软件著作权和14项专利。其中,三项域名的起拍价为13879元,15项软件著作权和14项专利的起拍价为15550元……
Rambus的HBM4控制器IP还具备多种先进的特性集,旨在帮助设计人员应对下一代AI加速器及图形处理单元(GPU)等应用中的复杂需求。这些特性使得Rambus在HBMIP领域继续保持市场领导地位,并进一步扩展其生态系统支持。
一直听说x86指令集天生做不了低功耗,真的是这样吗?这篇文章着重谈谈酷睿Ultra二代是怎么考量低功耗的,有没有可能做到低功耗...
对于股价波动的原因,寒武纪表示,除了公司经营层面的因素外,还可能受到其他因素的影响。寒武纪还提醒投资者,应甄别信息来源,具体情况以公司公告为准。
此次财报也从侧面反应了半导体行业在AI业务上的强劲增长势头,但同时也暴露出非AI业务增长乏力的困境。
今年的CadenceLIVE中国用户大会上,Cadence谈到在芯片领域之外,数据中心、生命科学、航空航天等系统设计领域的仿真技术应用相当有限,这对Cadence而言是重要的市场机会。与此同时AI技术的发展,也在推动着市场前行...
• 得益于西欧、关键亚洲市场和拉丁美洲市场的增长,以及中国品牌的持续领先,全球折叠屏手机出货量在2024年第二季度同比增长了48%。 • 荣耀凭借其在西欧特别强劲的表现,成为最大的贡献者,成为该地区排名第一的品牌。 • 摩托罗拉的Razr 40系列在北美和拉丁美洲表现良好,为其手机厂商的出货量贡献了三位数的同比增长。 • 我们预计,头部中国手机品牌厂商的不断增加将至少在短期内抑制三星Z6系列在第三季度的发布。
AI技术的发展极大地推动了对先进封装技术的需求,在高密度,高速度,高带宽这“三高”方面提出了严苛的要求。
奕斯伟计算2024首届开发者伙伴大会以“绿色、开放、融合”为主题,从技术创新、产品应用、生态建设等方面,向开发者、行业伙伴等相关方发出开放合作倡议,加速RISC-V在各行各业的深度融合和应用落地,共同推动RISC-V新一代数字基础设施生态创新和产业发展。
2024年 Canalys 中国云计算渠道领导力矩阵冠军厂商分别是:阿里云、华为云和亚马逊云科技(AWS)
在全球智能手机竞争日益激烈的情况下,谁能在高端市场站稳脚跟,谁就占据了主动权。一直以来全球智能手机市场格局都是,苹果专吃高端,其他各大厂商分食全球中低端市场。但现在市场正在其变化。根据Canalys最
‍‍近期,IC 设计大厂联发科宣布了2024年上半年度的员工分红计划,与8月份薪资一起发放。据外界估算,按照上半年税前盈余约648.66亿新台币(约 144.42 亿元人民币)进行估算,此次分红总额接
近日,又一国产SiC企业宣布实现了主驱突破,并将出口海外。据“行家说三代半”的追踪统计,自2022年起,国内主驱级SiC器件/模块开始在多款车型中得到应用,尤其是2024年,本土供应商的市场份额显著上
8月28-30日,PCIM Asia 2024展在深圳举行。“行家说”进行了为期2天的探馆,合计报道了200+碳化硅相关参展企业(.点这里.)。其中,“行家说”还重点采访了骄成超声等十余家企业,深入了
展位信息深圳跨境电商展览会(CCBEC)时间:2024年9月11-13日 9:30-17:30地点:深圳国际会展中心(宝安)展馆:16号馆 16D73/16D75 展位报名注册准备好“观众注册”入场二
9月6日,“智进AI•网易数智创新企业大会”在秦皇岛正式举行,300+企业高管及代表、数字化技术专家齐聚一堂,探讨当AI从技术探索迈入实际应用,如何成为推动组织无限进化的新引擎。爱分析创始人兼CEO金
往期精选2023年度中国移动机器人产业发展研究报告发布!超200个——2024年上半年AGV/AMR行业中标项目盘点市场保有量超10000台的8大中国AGV/AMR厂商总额超190亿-盘点全球移动机器
近日,3个电驱动项目迎来最新进展,包括项目量产下线、投产、完成试验等,详情请看:[关注“行家说动力总成”,快速掌握产业最新动态]青山工业:大功率电驱项目下线9月5日,据“把动力传递到每一处”消息,重庆
随着汽车智能化升级进入深水区,车载ECU(域)以及软件复杂度呈现指数级上升趋势。尤其是多域、跨域和未来的中央电子架构的普及,以及5G/V2X等车云通信的增强,如何保障整车的信息与网络安全,以及防范外部