在听说了很多硬件漏洞比如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

阅读全文,请先
您可能感兴趣
面对AI时代带来的差异化趋势、软件应用及开发时间长、软硬件协同难、高复杂度高成本等挑战,国产EDA仍需不断探索和创新。
通过机器学习技术,EDA工具可以获取更精确的模型来预测设计中存在的问题,如布线拥塞、信号干扰、热效应等,从而为用户提供更准确快速的指导,避免后期返工。
该小组汇集了国内外领先的芯片及IP、嵌入式开发工具、操作系统等厂商,形成强有力的组织,使命是通过一站式功能安全认证服务,帮助企业提升认证价值,满足IEC 61508、ISO 26262等国际功能安全认证标准,从而更高效地达成功能安全要求。
在ICCAD 2024主峰会上,中国半导体行业协会集成电路设计分会理事长魏少军教授带来“中国芯片设计业要自强不息”主题报告演讲,深入解读了过去一年中国IC设计业的发展机遇与挑战,权威分析中国IC设计业各环节的主要数据及其背后的意义。
近日,华为终端BG CEO何刚在和紫牛基金创始合伙人张泉灵的对话中表示,华为Mate 70系列每一颗芯片都有国产的能力。此外,日前在深圳宝安中学的一场讲座中,华为终端BG 董事长余承东也自豪地宣布Mate70实现了芯片的100%国产化。
常情况下,英特尔的CEO在65岁时退休,而现年63岁的基辛格突然被退休,让市场感到意外。为了确保平稳过渡,英特尔董事会立即着手寻找新的CEO人选……
目前,智能终端NFC功能的使用频率越来越高,面对新场景新需求,ITMA多家成员单位一起联合推动iTAP(智能无感接近式协议)标准化项目,预计25年上半年发布1.0标准,通过功能测试、兼容性测试,确保新技术产业应用。
中科院微电子所集成电路制造技术重点实验室刘明院士团队提出了一种基于记忆交叉阵列的符号知识表示解决方案,首次实验演示并验证了忆阻神经-模糊硬件系统在无监督、有监督和迁移学习任务中的应用……
C&K Switches EITS系列直角照明轻触开关提供表面贴装 PIP 端子和标准通孔配置,为电信、数据中心和专业音频/视频设备等广泛应用提供创新的多功能解决方案。
投身国产浪潮向上而行,英韧科技再获“中国芯”认可
今日,长飞先进武汉基地建设再次迎来新进展——项目首批设备搬入仪式于光谷科学岛成功举办,长飞先进总裁陈重国及公司主要领导、嘉宾共同出席见证。对于半导体行业而言,厂房建设一般主要分为四个阶段:设备选型、设
来源:苏州工业园区12月17日,江苏路芯半导体技术有限公司掩膜版生产项目迎来重要进展——首批工艺设备机台成功搬入。路芯半导体自2023年成立以来,专注于半导体掩膜版的研发与生产,掌握130nm至28n
投资界传奇人物沃伦·巴菲特,一位94岁的亿万富翁,最近公开了他的遗嘱。其中透露了一个惊人的决定:他计划将自己99.5%的巨额财富捐赠给慈善机构,而只将0.5%留给自己的子女。这引起了大众对于巴菲特家庭
12月18日,珠海京东方晶芯科技举行设备搬入仪式。插播:加入LED显示行业群,请加VX:hangjia188在10月31日,珠海京东方晶芯科技有限公司发布了Mini/Micro LED COB显示产品
有博主基于曝光的信息绘制了iPhone 17系列渲染图,对比iPhone 16系列,17系列最大变化是采用横置相机模组,背部DECO为条形跑道设计,神似谷歌Pixel 9系列,这是iPhone六年来的
来源:IT之家12 月 18 日消息,LG Display 韩国当地时间今日宣布,已将自行开发的“AI 生产系统”投入到 OLED 生产线的日常运行之中,该系统可提升 LG Display 的 OLE
对于华为来说,今年的重磅机型都已经发完了,而明年的机型已经在研发中,Pura 80就是期待很高的一款。有博主爆料称,华为Pura 80将会用上了豪威OV50K传感器,同时电池容量达到5600毫安时。至
阿里资产显示,随着深圳柔宇显示技术有限公司(下称:“柔宇显示”)旗下资产一拍以流拍告终,二拍将于12月24日开拍,起拍价为9.8亿元。拍卖标的包括位于深圳市龙岗区的12套不动产和一批设备类资产,其中不
在上海嘉定叶城路1688号的极越办公楼里,最显眼的位置上,写着一句话:“中国智能汽车史上,必将拥有每个极越人的名字。”本以为这句话是公司的企业愿景,未曾想这原来是命运的嘲弄。毕竟,极越用一种极其荒唐的
上个月,亿万富翁埃隆·马斯克谈到了年轻一代的生育问题。他强调生育的紧迫性,认为无论面临何种困难,生育后代都是必要的,否则人类可能会在无声中走向消亡。他认为人们对于生育的担忧有些过头,担心经济压力等问题