IPADS和瓶钵信息科技正式开源“蓬莱”:RISC-V平台的可信执行环境
2019-12-31

2019年12月31日,IPADS和瓶钵信息科技宣布正式开源“蓬莱”:RISC-V平台的可信执行环境。



 

随着自动驾驶、5G、AIoT等场景的迅速发展,RISC-V平台的系统安全能力越来越重要。可信执行环境(TEE: Trusted Execution Environment),是现代系统安全的重要支撑技术。通过创建Enclave(飞地,即由硬件保证隔离的可信执行环境实例),TEE技术可大幅度降低系统整体的可信基,增强对特定代码和数据的保护能力。

“蓬莱”是一个基于RISC-V的可扩展TEE系统。和现有系统不同,蓬莱扩展了现有RISC-V硬件原语,通过软硬件协同的方式来支持隔离环境的可扩展性。为了实现软件可信基的通用性,蓬莱架构在安全监控器(Secure monitor)和具体的硬件原语间,设计了一层“安全原语”接口。可信环境实例的管理逻辑将实现在这层通用的接口上,而不需要关心具体的硬件隔离和保护机制。

具体来说,当前的蓬莱系统实现基于一个新的RISC-V指令集扩展:特权级物理内存保护机制(s-mode Physical Memory Protection,即sPMP) ,允许在TEE OS中或者Secure monitor中实现可扩展的物理内存隔离。除了sPMP硬件扩展,蓬莱同时支持通过现有的物理内存隔离机制PMP(Physical Memory Protection)进行Enclave保护。



 

目前蓬莱的开源项目在Qemu模拟器环境下支持了新的硬件扩展,并且基于Docker容器来包装所有的开发依赖环境。开发者只需要准备好容器环境和Git就可以下载和运行Demo实例。测试显示,即使在资源受限的场景下,蓬莱也能够支持100个以上的Enclave实例。

后续,在兼容性与易用性上,我们将进一步支持更多的接口和功能,以及更多的硬件环境;在安全特性上,我们将支持内存加密引擎和内存完整性保护等功能;在性能增强方面,我们将支持Enclave快速fork、安全零拷贝数据传输等功能。

以下是具体的开源信息:

  • 蓬莱主页:http://penglai-enclave.systems/

  • 码云地址:https://gitee.com/penglai-enclave/Penglai-Enclave

  • Github地址:https://github.com/Penglai-Enclave/Penglai-Enclave

蓬莱采用木兰宽松许可证(MulanPSL),易于二次开发和商业使用。目前,蓬莱已经被RISC-V处理器IP和解决方案公司芯来科技等公司采用,作为其安全解决方案。

瓶钵信息科技成立于2015年,是一家智能设备安全产品与服务提供商,致力于为智能设备厂商和应用厂商提供基于芯片和系统级安全产品和解决方案,保护系统和应用的安全。瓶钵自创立以来一直深耕芯片和系统安全领域,坚持对ARM、X86、RISC-V等硬件架构进行研究并不断开发软硬协同的安全产品,其中可信执行环境产品已经在数亿台智能设备中得到应用。通过自身对芯片和系统安全的理解和积累,瓶钵将与产业链各方深度合作,持续为RISC-V社区带来软硬件协同设计的安全系统和可信执行环境方案,为海量应用业务保驾护航。