AUTOSAR_SWS_CryptoInterface 中文翻译

文档编号:806 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-41 页正文,约 0.85 MB / 41 页。
原文为软件规范(SWS, Software Specification),定义密码接口(Crypto Interface, CRYIF)模块的功能、API 与配置——含 Job Processing、Job Cancellation、Key Management 三类 API。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、~70 条 SWS_CryIf_NNNNN 规范项 ID、错误分类、配置参数;详细 C 签名以"函数签名表"形式覆盖。


1 引言与功能概述(Introduction and functional overview)

本文档规约密码接口(Crypto Interface, CRYIF)模块的功能、API 与配置。CRYIF 是密码栈中的硬件抽象层(HAL)模块,位于密码服务管理器(CSM)与密码驱动(CRYPTO)之间。

CRYIF 的主要功能:

  1. 转发 CSM 的请求到对应的 CRYPTO;
  2. 管理虚拟通道(Virtual Channel)映射;
  3. 支持同步/异步作业处理;
  4. 支持作业取消;
  5. 提供统一的密钥管理接口;
  6. 支持多 CRYPTO 驱动模块的并发操作。

2 缩略语与缩写(Acronyms and abbreviations)

缩略语描述
APIApplication Programming Interface(应用程序编程接口)
BSWBasic Software(基础软件)
CDOCrypto Driver Object(密码驱动对象)
CRYIFCrypto Interface(密码接口)
CRYPTOCrypto Driver(密码驱动)
CSMCrypto Service Manager(密码服务管理器)
DETDefault Error Tracer(默认错误追踪器)
ECUElectronic Control Unit(电子控制单元)
HSMHardware Security Module(硬件安全模块)
OSOperating System(操作系统)

2.1 术语表(Glossary of Terms)

本节定义贯穿全文使用的核心术语:

3 相关文档(Related documentation)

4 约束与假设(Constraints and assumptions)

4.1 限制(Limitations)

本 SWS 仅适用于 CRYIF 模块,不涵盖 CSM、CRYPTO 与 KeyM 的完整规范。

4.2 适用性(Applicability to car domains)

CRYIF 适用于所有汽车域。

5 与其他模块的依赖(Dependencies to other modules)

5.1 文件结构(File structure)

5.1.1 代码文件结构(Code file structure)

CryIf.c                    # 主源文件
CryIf_Cfg.c               # Link-time 配置

头文件结构遵循 SPAL 通用结构。

6 需求可追溯性(Requirements traceability)

CRYIF 满足的 RS_BRF_NNNNN 需求:

需求描述
RS_BRF_01000AUTOSAR 架构应将 BSW 组织为硬件独立与硬件依赖两层
RS_BRF_01016AUTOSAR 应在软件层内提供模块化设计
RS_BRF_01456AUTOSAR 服务应提供系统范围的密码功能
RS_BRF_02032AUTOSAR 安全应允许密码原语集成到密码服务管理器

CRYIF 自身的 SWS_CryIf_NNNNN 规范项 ID 约 70+ 条(详细列表见原文第 6 章追溯表)。

7 功能规范(Functional specification)

7.1 错误分类(Error classification)

7.1.1 开发错误(Development Errors)

错误码含义
CRYIF_E_UNINIT0x00CRYIF 未初始化
CRYIF_E_INV_DRIVER_ID0x01无效的驱动 ID
CRYIF_E_INV_CHANNEL_ID0x02无效的通道 ID
CRYIF_E_INV_KEY_ID0x03无效的密钥 ID
CRYIF_E_INV_KEY_ELEMENT_ID0x04无效的密钥元素 ID
CRYIF_E_INV_POINTER0x05无效的指针
CRYIF_E_PARAM_HANDLE0x06无效的句柄
CRYIF_E_PARAM_VALUE0x07无效的参数值
CRYIF_E_JOB_CANCELLED0x08作业被取消

7.1.2 运行时错误(Runtime Errors)

无(CRYIF 不在运行时产生错误)。

7.1.3 瞬态故障(Transient Faults)

无。

7.1.4 生产错误(Production Errors)

无。

7.1.5 扩展生产错误(Extended Production Errors)

无。

8 API 规范(API specification)

8.1 导入类型(Imported types)

8.2 类型定义(Type Definitions)

typedef uint16 CryIf_ChannelIdType;
typedef uint16 CryIf_KeyIdType;
typedef uint32 CryIf_CryptoKeyElementIdType;

8.3 函数定义(Function definitions)

8.3.1 通用 API(General API)

API签名功能
CryIf_Initvoid CryIf_Init(const CryIf_ConfigType* ConfigPtr)初始化 CRYIF
CryIf_GetVersionInfovoid CryIf_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息

8.3.2 作业处理接口(Job Processing Interface)

API签名功能
CryIf_ProcessJobStd_ReturnType CryIf_ProcessJob(uint32 channelId, Crypto_JobType* job)处理作业
CryIf_GetJobType...获取作业类型
CryIf_GetNumberOfCryptoKeys...获取密钥数量
CryIf_GetCryptoKeyElementIdsLength...获取密钥元素 ID 长度
CryIf_GetCryptoKeyElementIds...获取密钥元素 ID 列表
CryIf_SetCryptoKeyElement...设置密钥元素

8.3.3 作业取消接口(Job Cancellation Interface)

API签名功能
CryIf_CancelJobStd_ReturnType CryIf_CancelJob(uint32 channelId, Crypto_JobType* job)取消作业
CryIf_CancelJobs...取消多个作业

8.3.4 密钥管理接口(Key Management Interface)

API签名功能
CryIf_GetKeyElement...获取密钥元素
CryIf_SetKeyElement...设置密钥元素
CryIf_SetKey...设置密钥
CryIf_UpdateKey...更新密钥
CryIf_GenerateKey...生成密钥
CryIf_DeriveKey...派生密钥
CryIf_ExchangeKey...交换密钥
CryIf_WrapKey...包装密钥
CryIf_VerifyKey...验证密钥
CryIf_CertificateParse...解析证书
CryIf_CertificateVerify...验证证书
CryIf_GetCertElementIdsLength...获取证书元素 ID 长度
CryIf_GetCertElement...获取证书元素
CryIf_KeyElementCopy...复制密钥元素
CryIf_KeyCopy...复制密钥

共 15+ 密钥管理 API 函数。

8.4 回调通知(Call-back notifications)

8.4.1 CryIf_CallbackNotification

void CryIf_CallbackNotification(Crypto_JobType* job, Crypto_ResultType result);

CRYIF 提供回调函数:

8.5 预期接口(Expected Interfaces)

8.5.1 强制接口(Mandatory Interfaces)

8.5.2 可选接口(Optional Interfaces)

9 序列图(Sequence diagrams)

序列图 9.1 描述 CRYIF 在同步作业处理中的角色:

  1. CSM 调用 CryIf_ProcessJob()
  2. CRYIF 通过虚拟通道查找目标 CDO;
  3. CRYIF 转发到 Crypto_<vi>_<ai>_ProcessJob()
  4. CRYPTO 执行作业;
  5. 同步结果直接返回;异步结果通过回调通知。

序列图 9.2 描述异步作业处理(带回调);序列图 9.3 描述作业取消流程;序列图 9.4 描述密钥设置流程。

配置规范(Configuration specification)

10.1 容器与配置参数(Containers and configuration parameters)

10.1.1 Variants(变体)

CRYIF 支持 PreCompile 变体。

10.1.2 CryIf(根容器)

参数描述
CryIfDevErrorDetect开发错误检测开关
CryIfVersionInfoApiCryIf_GetVersionInfo() API 开关
CryIfEcucPartitionRefECU 分区引用

10.1.3 CryIfGeneral(通用配置)

参数描述
CryIfNumberOfChannels虚拟通道数量
CryIfNumberOfKeys密钥数量

10.1.4 CryIfChannel(虚拟通道)

参数描述
CryIfChannelId通道 ID
CryIfDriverRefCRYPTO 驱动引用
CryIfChannelRedirectionRef作业重定向目标引用(可选)

10.1.5 CryIfKey(密钥配置)

参数描述
CryIfKeyId密钥 ID
CryIfKeyElementList密钥元素列表引用
CryIfKeyCryptoDriverRefCRYPTO 驱动引用

10.2 发布信息(Published Information)

发布信息包括 CRYIF 模块版本、配置变体、支持的密码算法列表等。


📋 校对记录

校对轮次:L1 自动校对(2026-06-13)