VPP: Virtual Primary Platform 虚拟主平台
2021年12月,GP发布了VPP 2.0。
随着安全芯片生态系统的发展,集成已成为一个显著的趋势。为了支持这一点,GP已经定义了虚拟主平台(VPP)
规范集概述并标准化了新的SE形式因素的安全数字服务的执行,比如托管在芯片系统(SoC)中的集成安全元件(iSEs)。GP将这些服务扩展到其他形式的因素,如这个新规范版本中的嵌入式安全元素(ese)。
VPP规范支持在防篡改硬件平台内创建一个标准化的“虚拟”安全区域, 并定义在该平台上运行的安全服务,为托管和执行安全数字服务提供了一个新的通用形式因素。同时,规范保持了其他(以前)SE形式因素所达到的高水平安全性和抗篡改性。
与这些现有的SE形式一样,VPP能够安全地托管VPP应用程序(VPP应用程序)及其机密和加密数据,并能够运行多个应用程序,以满足不同实现的需求和业务需求。
VPP创建了一种通用的方法,可以应用于不同的硬件设计,同时为VPP应用程序开发人员提供可互操作的安全服务。
以往GP专注于在操作系统级别上管理api,以使应用程序能够被移植和管理。有了VPP技术,全球平台提供了新的低级api,它抽象了制造商提供的硬件,以便能够创建VPP应用程序。这允许多个第三方——如VPP应用提供商或服务提供商——构建基于自己的高级操作系统的服务,并将其部署到共享硬件平台。
隔离性: VPP将VPP应用程序彼此和底层VPP实现隔离。该技术使他们能够独立访问该平台提供的安全服务和功能,即使是在多个独家VPP应用程序运行在同一平台上。
标准化: 此外,VPP规范还标准化了接口、api的行为以及利益相关者对防篡改硬件平台的责任。该技术还可以帮助应用程序开发者简化VPP应用程序的移植、测试和部署。重要的是,与所有全球平台安全组件技术一样,VPP规范独立于VPP应用程序用例。
firmware:开发人员可以移植现有的执行环境或在VPP上运行本地代码,为现有解决方案提供一个直接的迁移路径。VPP应用程序从程序代码和数据中执行,称为固件(符合VPP固件格式规范)。
固件管理接口:VPP规范提供了一个管理固件的接口。此接口支持加载、更新、启用、禁用和删除固件。使用固件管理界面需要特定的访问权限,而全局平台已经将开放固件加载器标准化,作为管理此过程的一种方式。
接口管理系统:VPP规范定义了一个接口管理系统,它促进了VPP应用程序、VPP本身、设备内存在的其他组件和外部世界之间的通信
规范:
GPC_VPP_Concepts_Interfaces: 本文档规定了与虚拟主平台(VPP)相关的概念、规则、要求和接口,如[IUICC Req]所述,旨在简化为安全和抗篡改元件设计的VPP固件的可移植性。
GPC_VPP_Concepts_Interfaces
虚拟主平台(VPP)的主要目标在[IUICC Req]中描述。它们可以被分割为如下部分:
- 使VPP应用程序尽可能独立于底层的主平台,从而减少了使VPP应用程序适应于每个不同的主平台的工程工作。
- 至少提供与传统的安全平台相同级别的灵活性,以支持[IUICC Req]中定义的所有用例。
- 通过使用预先认证的主平台启用复合认证,简化VPP应用程序认证(如果需要)。
VPP制造商应提供以下规格:
- CPU的架构及其参考
- 由VPP应用程序可访问的硬件功能的规范
- 低级操作系统(LLOS)应用程序二进制接口(ABI)描述,使该接口适应于给定CPU的LLOS实现
- 第7节中定义的主平台相关参数
主要平台由LLOS、VPP服务和硬件平台组成
VPP: 抽象和虚拟化,使与任何主平台的界面实际上相同, 从VPP应用程序的角度来看,VPP隐藏了主平台。
Hardware Platform
(TRE): Tamper Resistant Element
SoC可以是移动宽带调制解调器、应用处理器、微控制器或专用控制器(例如,NFC控制器)。