SiFive Shield: 一个开放的、可扩展的安全平台架构

2020年03月06日

SiFive Shield是一个开放的,可扩展的平台架构,旨在为基于RISC-V的设计提供完整的SoC安全方法。现代SoC设计的需求决定了对安全性的可扩展解决方案的需求,该解决方案提供了一种降低可信计算基础中组件的明确可信根(root-of-trust),其至关重要的一点在于,它是可审核的。自定义的功能也很关键,因为单一产品要适合所有的方法,这并不符合目前正在设计的下一代特定领域处理器的需求。

要为RISC-V革命保驾护航,需要一种可扩展的架构,该架构应提供内存保护的区域和多核的特权模式。SiFive Shield和SiFive WorldGuard支持可扩展的架构,并具有提供更大隔离度的能力。

一、SiFive WorldGuard

SiFive WorldGuard是用于隔离代码执行和数据保护的细致化的安全模型。SiFive Worldguard提供具有高级隔离控制的SoC级别信息控制能力,这一能力是基于每个运算世界的多个特权级别和无限数量的运算世界。SiFive WorldGuard提供了内核驱动和进程ID驱动的模式以实现多域安全性,从而为内核、缓存、互连、外围设备和内存提供数据保护。

在上面所显示的多核处理器中,World ID标记用来将进程彼此隔离,以确保保护和隔离的运算执行。在SoC内部,WID标记从内核扩展到了高速缓存、互连、外围设备、总线主控器、DMA区域和存储器。在高性能多核系统中,应用程序或OS环境都可以被隔离和保护。对于更为普遍的单核嵌入式系统,例如,使用PID驱动的运算WID来保护和隔离用户模式和机器模式之间的执行。

SiFive WorldGuard硬件加速的多域安全性使整个行业远远超出了单个信任区域。

二、信任根

明确的可信根对实现安全性至关重要。SiFive Shield采用每个设备的唯一ID来提供安全的设备密钥存储。这使得灵活的密钥管理能够在制造时支持密钥和证书的供应,这对于安全生命周期管理的开始阶段尤为重要。出于清晰的辨别度的考虑,SiFive的信任根就是基于开放规范和开源软件平台。

三、威胁防护服务

精准的威胁建模可实现安全的SoC设计。在SoC内部,用于处理的信息流需要一系列技术。SoC的故障检测器可确保操作按预期进行,以阻止物理篡改攻击。RISC-V指令集架构支持物理内存保护(PMP)和物理内存特性(PMA),SiFive Shield正是基于此,利用特权级别对内存范围和内存映射外围设备的设置进行限制,从而实现了可扩展域的安全性。

SiFive Shield在开放且免费可用的RISC-V指令集架构的基础上,可以实现一种新的安全性方法。其主要目标就是构建可扩展的、安全的安全平台架构。

四、经过验证的加密引擎

SiFive Shield架构包括一个NIST SP 800-90A/B/C兼容的真随机数生成器(TRNG),可启用基于密码或信息熵的安全功能。加密引擎可以防止SPA/DPA/EMA攻击,并支持常见使用案例。AES加密引擎提供分组密码和身份验证加密支持,而安全哈希(hash)加密引擎支持SHA-2和SHA-3标准。并且AES加密引擎还提供公钥加密的RSA和ECDSA支持。密码库需要经过外部实验室验证,以确保正确的操作和有效性。

五、软件

SiFive提供基于开源软件的单一软件平台。前面图中的数字n显示了社区开源软件的集合,包括对基于SiFive RISC-V指令集架构的SoC对于FreeRTOS和Linux OS的支持。通过提供完整开发环境的SiFive Freedom Metal和Freedom SDK工具链可以实现进一步的开发。

总结

SiFive Shield是一种新型的革新技术,用于保护基于RISC-V指令集架构的SoC。凭借开放、自上而下的安全平台规范,用以提供明确的信任根、低信任的代码库、有效的生命周期管理以及一流的SiFive WorldGuard安全模型,SiFive Shield可以为RISC-V革命保驾护航。

本文源自SiFive Blog,作者:James Prior, Senior Director of Product Marketing Communications, SiFive。经翻译后进行转载,其目的在于传递更多信息,版权归原作者所有。

原文链接:

https://www.sifive.com/blog/sifive-shield-an-open-scalable-platform-architecture

返回