首页 > 汽车技术 > 正文

汽车基础软件信息安全与AUTOSAR

2023-02-03 19:59:20·  来源:汽车测试网  
 
4、Crypto Stack

为了汽车软件提供统一的安全加密 / 解密接口,AUTOSAR 在 4.3 版本推出 Crypto Stack 模块。Crypto Stack 是 AUTOSAR 架构体系中负责数据加密保护和密钥管理的模块,由 Crypto Service Man- ager, Crypto Interface, Crypto Driver 三个部分组成,为应用程序和系统服务提供了标准化的密码服务接口。密码服务可以是哈希计算,非对称签名验证,对称加密等。其主要应用于 ECU 通信加密、Securi- ty Access 流程保护和 KEY 的管理等使用场景。CSM(Crypto Service Manager)是加密服务管理器,位于 AUTOSAR 的 SYS 模块最高层的服务层。服务层是基础软件的最高层,它的任务是为应用软件和基本软件模块提供基本服务,即为应用软件和基 本软件模块提供最相关的功能。CSM 基于一个依赖于软件库或硬件模块的加密驱动程序来提供加密功能的服务,也可以使用多个加密驱动程序的混合设置。CSM 通过 CryIf(Crypto Interface)访问不同的加密驱动程序。

图片

图4.1-4 CSM和邻近模块的关系CSM 作为服务层,为 SWC 或BSW 提供加密操作的接口。CSM 的主要任务是对服务进行调度和排序, 并调用加密接口(CryIf)进行进一步操作。CryIf 将请求调度到加密驱动程序及其静态分配给该服务的加密驱动程序对象。CSM 使用基元(CsmPrimitives,已配置加密算法的实例)的静态配置来定义加密操作。然后将这样的基元分配给 Job(Job 是配置过的 CsmJob,指的是密钥、密码原语和参考信道),该配置决定进一步的属性,如优先级、异步或同步执行以及程序执行中应使用的密钥。需要注意的是,密钥总是位于加密驱动程序本身中,CSM 只使用对它的引用。密钥和基元的分离允许加密操作和密钥管理 API  分离。这使得应用程序可以专注于所需的加密操作, 如 MAC 计算和验证,而密钥管理器则在配置设置期间提供密钥。CSM 的API 大致可以分为两类:直接 AP(I主要用于密钥管理)和基于 Job 的AP(I主要用于加密操作)(见下图)直接 API 与 CryIf 和 Crypto Driver 中的函数有直接对应关系,这些函数只能同步调用,CSM 将把参数从应用程序直接传递给函数调用。基于 Job 的 API 使用一个 Job 结构,即 Crypto_JobType, 它包含静态和动态参数以及对结构的引用,为执行该 Job 的加密驱动程序提供所有必要的信息,使用Job 的每个服务都将使用此结构。服务的所有必要参数将由 CSM 打包到结构的元素中,然后调用 CryIf, 然后调用配置好的 Crypto Driver。

图片

图4.1-5 CSM、CryIf和Crypto的Job API和直接API调用树Job 可以同步运行,也可以异步运行,这取决于静态配置。加密服务信息、加密算法族和模式的参数决定了加密驱动程序中要执行的确切的加密算法。CryIf(Crypto Interface)是加密接口模块,位于 BSW(Basic SoftWare)的抽象层。CryIf 模块提供了唯一的接口来管理不同的加密硬件和软件解决方案,如 HSM、SHE 或基于软件的 CDD。

图片

图4.1-6 AUTOSAR Layered View with Crypto-InterfaceCryDrv 有如下两种实现方式:

  1. Crypto(HW based):硬件加密模块的驱动程序,用于控制 HSM(Hardware Security Module) 或 SHE(Security Hardware Extensions),和具体芯片有关。

  2. Crypto(SW based):基于软件的 CDDs(Complex Device Drivers) 实现的加密算法, 如AES-128 等算法。


基于以上两种不同的实现方式,CryIf 模块提供了唯一的接口来管理不同的加密硬件和软件解决方案。因此,基于 CryIf 维护的映射方案,CSM 模块可以使用多个底层的Crypto HW 以及 Crypto SW 解决方案。此外,CryIf 还确保了对加密服务的并发访问,从而能够同时处理多个加密任务。
与 CP AUTOSAR 不同,AUTOSAR 自适应平台支持用于通用加密操作和安全密钥管理的 API。该API 支持在运行时动态生成密钥和加密作业,以及对数据流进行操作。API 实现可以引用一个中央单元(加密服务管理器)来实现平台级任务,例如跨应用程序一致地进行访问控制和证书存储。该实现还可以使用加密服务管理器来协调功能到加密驱动程序的卸载,例如硬件安全模块(HSM)。为了在潜在的应用程序受损的情况下支持密钥的安全远程管理,Crypto Stack 集成了密钥管理体系结构,其中密钥和相关数据以端到端的保护形式进行管理。密钥可以基于现有的供应密钥以受信任的方式引入系统,也可以通过本地密钥生成以不受信任的方式引入系统。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026620号