AUTOSAR_SRS_CryptoStack 中文翻译

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

本翻译覆盖原文档 1-36 页正文,约 0.78 MB / 36 页。
原文为系统需求规约(SRS, System Requirements Specification),定义 AUTOSAR 密码栈(Crypto Stack)的需求——含 CSM、CRYIF、CRYPTO、KeyM 四个模块与 Sem 扩展。
本翻译校对区块:7 章 + 6 大节(5.1.1 Crypto Stack / 5.1.2 Key Manager / 5.1.3 CSM / 5.1.4 CRYIF / 5.1.5 Crypto Driver / 5.1.6 Security Event Memory) + ~40 条 SRS_CryptoStack_NNNNN 需求 ID + 30+ 密码算法缩略语 + 7 项参考文献。


1 范围(Scope of Document)

本文档规约密码栈(Crypto Stack)的需求:

2 约定(Conventions to be used)

AUTOSAR 文档中需求的表示遵循 [TPS_STDT_00078] 中指定的表格格式。在需求中,使用以下特定语义(基于 IETF):

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

缩略语描述
µCMicrocontroller(微控制器)
AESAdvanced Encryption Standard(高级加密标准)
CBCCipher Block Chaining(密码块链)
CDDComplex Device Driver(复杂设备驱动)
CFBCipher Feedback(密码反馈)
CMACCipher-based Message Authentication Code(基于密码的消息认证码)
CPUCentral Processing Unit(中央处理器)
CRYPTO / CryptoCrypto Driver(密码驱动)
CRYIF / CryIfCrypto Interface(密码接口)
CSM / CsmCrypto Service Manager(密码服务管理器)
DET / DetDefault Error Tracer(默认错误追踪器)
ECBElectronic Code Book(电子密码本)
ECCElliptic Curve Cryptography(椭圆曲线密码学)
ECDHElliptic Curve Diffie–Hellman(椭圆曲线 Diffie-Hellman)
ECDSAElliptic Curve Digital Signature Algorithm(椭圆曲线数字签名算法)
ECIESElliptic Curve Integrated Encryption Scheme(椭圆曲线集成加密方案)
ECUElectronic Control Unit(电子控制单元)
GCMGalois Counter Mode(伽罗瓦计数器模式)
GMACGalois-based Message Authentication Code(基于伽罗瓦的消息认证码)
HMACHash-based Message Authentication Code(基于哈希的消息认证码)
HSM / HsmHardware Security Module(硬件安全模块)
HWHardware(硬件)
KEMKey Encapsulation Mechanism(密钥封装机制)
KeyMKey Manager(密钥管理器)
MACMessage Authentication Code(消息认证码)
MCALMicro Controller Abstraction Layer(微控制器抽象层)
OEMOriginal Equipment Manufacturer(原始设备制造商)
OFBOutput Feedback(输出反馈)
PKIPublic Key Infrastructure(公钥基础设施)
PRNGPseudo-Random Number Generator(伪随机数生成器)
RACERapid Automatic Cryptographic Equipment(快速自动密码设备)
RAMRandom Access Memory(随机存取存储器)
RIPEMDRACE Integrity Primitives Evaluation Message Digest(RACE 完整性原语评估消息摘要)
RSARivest-Shamir-Adleman Cryptosystem(RSA 加密系统)
RTERun Time Environment(运行时环境)
SHASecure Hash Algorithm(安全哈希算法)
SECOC / SecOcSecure Onboard Communication(安全车载通信)
SWSoftware(软件)
SWCSoftware Component(软件组件)
SWSSoftware Specification(软件规范)
TRNGTrue Random Number Generator(真随机数生成器)
ViVendorId(厂商 ID)
XEXXor-Encrypt-Xor(异或-加密-异或)
XTSXEX-based tweaked-codebook mode with ciphertext stealing(基于 XEX 的调整码本模式与密文窃取)

3.1 术语表(Glossary of Terms)

术语描述
密码驱动对象(Crypto Driver Object)密码驱动对象是密码模块(硬件或软件)的实例,能够执行一个或多个不同的密码操作。
用户(User)用户是具有 ID 与已配置作业的已配置对象。
通道(Channel)通道是从密码服务管理器队列经密码接口到特定密码驱动对象的路径。
作业(Job)作业是用户已配置的密码原语的实例。
密码原语(Crypto Primitive)密码原语是已配置密码算法的实例。
操作(Operation)密码原语的操作声明应执行密码原语的哪一部分。有三种不同的操作:START(指示密码原语的新请求,且应取消所有先前请求)、UPDATE(指示密码原语期望输入数据)、FINISH(指示此后所有数据被完全馈送,密码原语可完成计算)。也可通过连接 operation_mode 参数的对应位一次执行多于一个操作。
优先级(Priority)用户的优先级定义其重要性。优先级越高(值越大),用户的作业将被越即时地执行。密码作业的优先级是用户配置的一部分。

4 功能概述(Functional Overview)

密码栈提供对密码服务的标准化访问,应用于应用与系统功能。密码服务包括例如:哈希计算、签名验证、加密/解密、随机数生成、密钥管理。

4.1 支持的算法(Supported Algorithms)

AUTOSAR 密码栈支持的密码算法族(详见 SWS_Crypto):

5 需求规约(Requirements Specification)

5.1 功能需求(Functional Requirements)

5.1.1 密码栈(Crypto Stack)

5.1.1.1 配置(Configuration)

[SRS_CryptoStack_00003] The crypto stack shall be able to incorporate modules of the crypto library(密码栈应能纳入密码库的模块) ⌈

Type: Valid

Description: 密码栈应能纳入密码库的模块。

Rationale: 密码库本身在 AUTOSAR 栈中须可用。

Use Case: 密码原语的 SW 实现。

Dependencies: --

Supporting Material: --

⌋(RS_BRF_02032)

[SRS_CryptoStack_00007] The Crypto Stack shall provide scalability for the cryptographic features(密码栈应为密码功能提供可扩展性) ⌈

Type: Valid

Description: 密码栈应保证未使用的密码功能不被编译到二进制中。

Rationale: 不同安全功能需要不同的加密解决方案(如对称/非对称加密、哈希),有或无硬件支持。可用的硬件配置提供不同功能(内部 NVM、随机数生成器、安全 CPU 核...)。密码功能的可扩展性允许在某些功能不需要时实现不同策略,从而最小化 SW 或 HW 资源使用。

Use Case: 密码栈与微控制器硬件功能的映射使硬件厂商能为其 HSM 开发通用驱动。

Dependencies: --

⌋(RS_BRF_01456RS_BRF_02031)

[SRS_CryptoStack_00008] The Crypto Stack shall allow static configuration of keys used for cryptographic jobs(密码栈应允许密码作业使用的密钥的静态配置) ⌈

Type: Valid

Description: 密码栈应允许用于密码服务的对称与非对称密钥对的静态配置。

Rationale: 应能单独使用密钥。

Use Case: 使用 HSM 中受保护密钥的数据加密。

⌋(RS_BRF_02031RS_BRF_01946)

[SRS_CryptoStack_00105] The Crypto Stack shall only allow unique key identifiers(密码栈应仅允许唯一密钥标识符) ⌈

Type: Valid

Description: 每个密码密钥配置一个 keyId。

Rationale: 应能单独处理密钥。

⌋(RS_BRF_02031RS_BRF_01946)

[SRS_CryptoStack_00013] The modules of the crypto stack shall support only pre-compile time configuration(密码栈的模块应仅支持预编译时配置) ⌈

Type: Valid

Description: 密码栈的模块应仅支持预编译时配置。

Rationale: 无适用的 PostBuild 或 LinkTime 参数。

⌋(RS_BRF_01136)

[SRS_CryptoStack_00094] The configuration files of the crypto stack modules shall be readable for human beings(密码栈模块的配置文件应对人可读) ⌈

Type: Valid

Description: 密码栈模块的配置文件应对人可读:如通过集成注释或工具支持。

Rationale: 人须阅读并理解配置。

⌋(RS_BRF_01456)

5.1.1.2 正常运行(Normal Operation)

[SRS_CryptoStack_00009] The Crypto Stack shall support reentrancy for all crypto services(密码栈应支持所有密码服务的可重入性) ⌈

Type: Valid

Description: 密码栈应支持密码相关接口的可重入性,以在多用户请求时启用同一或不同类型的并行操作。本需求还涵盖应用位于不同核上的场景。

Rationale: 密码作业应可同时处理。

Use Case: 不同应用可并行使用密码服务。同时处理不同任务是必要的。

⌋(RS_BRF_02033)

[SRS_CryptoStack_00010] The Crypto Stack shall conceal symmetric keys from the users of crypto services(密码栈应对密码服务用户隐藏对称密钥) ⌈

Type: Valid

Description: 不应存在将对称密钥值直接提取到用户的接口。密钥应通过标识符被用户寻址。此类密钥仅应以加密格式导出。

Rationale: 若密钥存储于应用中,会增加密钥失效或泄露的概率。

Use Case: 驻留在 HSM 中的密钥。

⌋(RS_BRF_02031RS_BRF_01946)

[SRS_CryptoStack_00011] The Crypto Stack shall conceal asymmetric private keys from the users of Crypto services(密码栈应对密码服务用户隐藏非对称私钥) ⌈

Type: Valid

Description: 不应存在将非对称私钥值直接提取到用户的接口。密钥应通过标识符被用户寻址。此类密钥仅应以加密格式导出。

Rationale: 若密钥存储于应用中,会增加密钥失效或泄露的概率。

Use Case: 驻留在 HSM 中的密钥。

⌋(RS_BRF_02031RS_BRF_01946)

[SRS_CryptoStack_00019] The Crypto Stack shall identify random number generation as a cryptographic primitive which can be requested to a driver(密码栈应将随机数生成标识为可向驱动请求的密码原语) ⌈

Type: Valid

Description: 密码栈应将随机数生成标识为可向驱动请求的密码原语。

Rationale: 驻留在不同密码驱动上的随机数生成器应使用统一接口访问。

Use Case: 生成随机数。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00020] The Crypto Stack shall identify symmetric encryption/decryption as a cryptographic primitive which can be requested to a driver(密码栈应将对称加密/解密标识为可向驱动请求的密码原语) ⌈

Type: Valid

Description: 密码栈应将对称加密/解密标识为可向驱动请求的密码原语。

Rationale: 驻留在不同密码驱动上的对称算法应使用统一接口访问。

Use Case: 加密通信。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00021] The Crypto Stack shall identify asymmetric encryption/decryption as a cryptographic primitive which can be requested to a driver(密码栈应将非对称加密/解密标识为可向驱动请求的密码原语) ⌈

Type: Valid

Description: 密码栈应将非对称加密/解密标识为可向驱动请求的密码原语。

Rationale: 驻留在不同密码驱动上的非对称算法应使用统一接口访问。

Use Case: 异构硬件与软件解决方案的统一接口。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00022] The Crypto Stack shall identify MAC generation/verification as a cryptographic primitive which can be requested to a driver(密码栈应将 MAC 生成/验证标识为可向驱动请求的密码原语) ⌈

Type: Valid

Description: 密码栈应将 MAC 生成/验证标识为可向驱动请求的密码原语。

Rationale: 驻留在不同密码驱动上的 MAC 算法应使用统一接口访问。

Use Case: SecOC 使用 MAC 验证消息。

Dependencies: --

⌋(RS_BRF_02031)

[SRS_CryptoStack_00023] The Crypto Stack shall identify asymmetric signature generation/verification as a cryptographic primitive which can be requested to a driver(密码栈应将非对称签名生成/验证标识为可向驱动请求的密码原语) ⌈

Type: Valid

Description: 密码栈应将非对称签名生成/验证标识为可向驱动请求的密码原语。

Use Case: 签名创建/验证。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00024] The Crypto Stack shall identify hash calculation as a cryptographic primitive which can be requested to a driver(密码栈应将哈希计算标识为可向驱动请求的密码原语) ⌈

Type: Valid

Use Case: 签名验证。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00026] The Crypto Stack shall provide an interface for the generation of asymmetric keys(密码栈应提供用于非对称密钥生成的接口) ⌈

Type: Valid

Description: 密码栈应提供用于非对称密钥对生成服务的抽象接口。

Rationale: 驻留在不同密码驱动上的密钥生成服务应使用统一接口访问。

Use Case: 在 ECU 内部生成非对称密钥对。然后,私钥永远不必在 ECU 外部可用。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00027] The Crypto Stack shall provide an interface for the generation of symmetric keys(密码栈应提供用于对称密钥生成的接口) ⌈

Type: Valid

Use Case: 基于密码的密钥输入。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00103] The Crypto Stack shall provide an interface for the derivation of symmetric keys(密码栈应提供用于对称密钥派生的接口) ⌈

Use Case: 基于密码的密钥输入。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00028] The Crypto Stack shall provide an interface for key exchange mechanisms(密码栈应提供用于密钥交换机制的接口) ⌈

Type: Valid

Use Case: 会话处理。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00029] The Crypto Stack shall provide an interface for key wrapping/extraction mechanisms(密码栈应提供用于密钥包装/提取机制的接口) ⌈

Type: Valid

Use Case: 会话处理。

⌋(RS_BRF_02031)

[SRS_CryptoStack_00031] The Crypto Stack shall provide an interface for parsing certificates(密码栈应提供用于解析证书的接口) ⌈

Type: Valid

Use Case: 对于 PKI,需要从证书中获取公钥。

⌋(RS_BRF_01946)

[SRS_CryptoStack_00061] The Crypto Stack shall support detection of invalid keys(密码栈应支持无效密钥的检测) ⌈

Type: Valid

Use Case: RSA 与多种椭圆曲线密码系统。

⌋(RS_BRF_02031RS_BRF_01946)

5.1.2 密钥管理器(Key Manager, KeyM)

5.1.2.1 通用(General)

[SRS_CryptoStack_00106] Key manager operation shall either run synchronously or asynchronously(密钥管理器操作应支持同步或异步) ⌈

Type: Valid

Description: 密钥管理器操作应支持同步模式或异步模式(如果计算耗时)。对于后者,回调应指示操作已完成。

Rationale: 为避免多次任务激活,密钥管理操作应在后台执行。

Use Case: 密钥派生可能需要相当长时间。

⌋(链接到 RS_Main_0001)

[SRS_CryptoStack_00107] Key manager shall provide interfaces to generate or update key material(密钥管理器应提供生成或更新密钥材料的接口) ⌈

Type: Valid

Description: KeyM 模块应提供允许软件组件或 DCM 生成或更新 ECU 密钥材料的 API。KeyM 应使用 CSM 进行所需密码操作与密钥存储。

Rationale: 基础软件模块(如 DCM 或软件组件)触发生成或重新生成密钥材料。KeyM 生成密钥材料并通过调用 CSM 适当函数将其存储在密码驱动中。

Use Case: 密钥服务器希望提供密钥材料。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00108] Key manager shall be able to negotiate a shared secret by exchanging messages with other ECUs(密钥管理器应能通过与其他 ECU 交换消息协商共享密钥) ⌈

Type: Valid

Use Case: 板载密钥协商。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00109] Key manager shall be able to manage derivation of key material from a common secret(密钥管理器应能管理从公共密钥派生密钥材料) ⌈

Type: Valid

Use Case: 密钥服务器提供公共密钥,密钥管理器从该公共密钥派生多个对称密钥。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00110] The KeyM module shall support on-board generated keys(KeyM 模块应支持板载生成的密钥) ⌈

Type: Valid

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00111] The KeyM module shall support verification of certificates based on configured rules(KeyM 模块应支持基于已配置规则的证书验证) ⌈

Type: Valid

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00112] The KeyM module shall support retrieving arbitrary elements of a certificate(KeyM 模块应支持检索证书的任意元素) ⌈

Type: Valid

⌋(链接到 RS_Main_00514)

5.1.2.2 配置(Configuration)

[SRS_CryptoStack_00113] Keys in the crypto stack can be uniquely identified(密码栈中的密钥可唯一标识) ⌈

Type: Valid

Description: KeyM 维护的所有密钥须被唯一寻址,以便由密钥服务器提供的新密钥材料可被分配到密码驱动中的对应密钥。

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00114] Crypto driver shall place keys into specific key slots(密码驱动应将密钥放入特定密钥槽) ⌈

Type: Valid

Description: 密钥应被放置到特定密钥槽。SHE 需要此以提供正确的密钥更新信息。

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00115] KeyM shall be highly configurable to support different OEM use cases(KeyM 应高度可配置以支持不同 OEM 用例) ⌈

Type: Valid

⌋(链接到 RS_Main_00514)

5.1.2.3 初始化(Initialization)

[SRS_CryptoStack_00116] Keys shall use a default value if configured(密钥在配置时应使用默认值) ⌈

Type: Valid

Use Case: 开发阶段的系统测试。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00117] Keys shall not be used if they are empty or corrupted(密钥为空或损坏时不应被使用) ⌈

Type: Valid

Rationale: 没有正确初始化密钥的系统不应提供任何未确定的密码结果。

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

5.1.2.4 正常运行(Normal Operation)

[SRS_CryptoStack_00118] Key material shall be securely stored either in NVM or CSM(密钥材料应安全存储于 NVM 或 CSM) ⌈

Type: Valid

Description: KeyM 应使用 CSM 接口安全存储密钥。

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00119] Provide a proof that the key has been programmed correctly(提供密钥已正确编程的证明) ⌈

Type: Valid

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

5.1.2.5 关闭操作(Shutdown Operation)

[SRS_CryptoStack_00120] Cleanup all key material on shutdown operation(在关闭操作时清理所有密钥材料) ⌈

Type: Valid

Description: 密钥可临时存储在 RAM 中。关闭操作可通过从 RAM 移除密钥数据来清理这些密钥。

Rationale: 出于安全原因,RAM 中的密钥应被销毁。

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

5.1.2.6 故障操作(Fault Operation)

[SRS_CryptoStack_00121] Pass security related events to security event memory (SEM) for secure logging(将安全相关事件传递给安全事件内存(SEM)以进行安全记录) ⌈

Type: Draft

Use Case: C2 – 密钥管理。

⌋(链接到 RS_Main_00514)

5.1.3 密码服务管理器(CSM)

5.1.3.1 通用(General)

[SRS_CryptoStack_00006] Each primitive of the CRYIF shall belong to exactly one service of the CSM(CRYIF 的每个原语应属于 CSM 的恰好一个服务) ⌈

Type: Valid

⌋(RS_BRF_02032)

5.1.3.2 配置(Configuration)

[SRS_CryptoStack_00079] The job processing mode (synchronous or asynchronous) of a CSM service shall be defined by static configuration(CSM 服务的作业处理模式(同步或异步)应由静态配置定义) ⌈

Type: Valid

Use Case: 同步哈希计算。

⌋(RS_BRF_01456RS_BRF_01136)

[SRS_CryptoStack_00102] The priority of a user and its crypto jobs shall be defined by static configuration(用户及其密码作业的优先级应由静态配置定义) ⌈

Type: Valid

Use Case: 优先级作业处理。

⌋()

[SRS_CryptoStack_00080] The set of cryptographic services provided by the CSM shall be defined by static configuration(CSM 提供的密码服务集应由静态配置定义) ⌈

Type: Valid

⌋(RS_BRF_01456RS_BRF_01136)

[SRS_CryptoStack_00081] The CSM module specification shall specify which other modules are required(CSM 模块规约应规约需要哪些其他模块) ⌈

Type: Valid

⌋(RS_BRF_01456RS_BRF_01064)

[SRS_CryptoStack_00082] The CSM module specification shall specify the interface and behavior of the callback function, if the asynchronous job processing mode is selected(如果选择异步作业处理模式,CSM 模块规约应规约回调函数的接口和行为) ⌈

Type: Valid

⌋(RS_BRF_01456RS_BRF_01064)

5.1.3.4 正常运行(Normal Operation)

[SRS_CryptoStack_00084] The CSM module shall use the streaming approach for some selected services(CSM 模块应对某些选定服务使用流式方法) ⌈

Type: Valid

Use Case: 应能将输入数据以小块形式传递给服务。

⌋(RS_BRF_01456)

5.1.3.6 故障操作(Fault Operation)

[SRS_CryptoStack_00086] The CSM module shall distinguish between error types(CSM 模块应区分错误类型) ⌈

Type: Valid

Description: CSM 模块应区分以下两类错误:

⌋(RS_BRF_02168RS_BRF_02272)

[SRS_CryptoStack_00087] The CSM module shall report detected development errors to the Default Error Tracer(CSM 模块应将检测到的开发错误报告给默认错误追踪器) ⌈

Type: Valid

⌋(RS_BRF_02168RS_BRF_02272)

[SRS_CryptoStack_00087-2] The CSM module shall not return specific development error codes via the API(CSM 模块不应通过 API 返回特定开发错误码) ⌈

Type: Valid

Description: 在检测到开发错误的情况下,错误应仅被报告给 DET。如果检测到错误的 API 函数返回类型为 Std_ReturnType,则应返回 E_NOT_OK

⌋(RS_BRF_00129RS_BRF_02168)

[SRS_CryptoStack_00088] The CSM shall check passed API parameters for validity(CSM 应检查传入的 API 参数的有效性) ⌈

Type: Valid

Description: CSM 应检查传入的 API 参数的有效性。此检查对于仅在开发期间可能发生的错误应可静态配置。

Use Case: 调试。

⌋(RS_BRF_00129RS_BRF_02168RS_BRF_02232)

5.1.4 密码接口(Crypto Interface, CRYIF)

5.1.4.1 配置(Configuration)

[SRS_CryptoStack_00014] The Crypto Interface shall have an interface to the static configuration information of the Crypto Driver(密码接口应具有到密码驱动静态配置信息的接口) ⌈

Type: Valid

Use Case: 推导厂商 API Infix 以支持多个密码驱动。

⌋(RS_BRF_01008)

[SRS_CryptoStack_00015] Channels mapped to different Crypto Driver Objects shall be uniquely configurable in Crypto Interface(映射到不同密码驱动对象的通道应在密码接口中唯一可配置) ⌈

Type: Valid

Use Case: 两个硬件资源:一个用于对称密码学,一个用于非对称密码学。

⌋(RS_BRF_02032RS_BRF_01456RS_BRF_01136)

5.1.4.5 故障操作(Fault Operation)

[SRS_CryptoStack_00034] The Crypto Interface shall report detected development errors to the Default Error Tracer(密码接口应将检测到的开发错误报告给默认错误追踪器) ⌈

Type: Valid

⌋(RS_BRF_02232)

5.1.5 密码驱动(Crypto Driver, CRYPTO)

5.1.5.1 配置(Configuration)

[SRS_CryptoStack_00036] The Crypto Driver shall allow static configuration of Crypto Driver Objects(密码驱动应允许密码驱动对象的静态配置) ⌈

Type: Valid

Use Case: 对称操作与非对称操作的并行处理。

⌋(RS_BRF_01456RS_BRF_01136)

[SRS_CryptoStack_00104] Crypto Interface keys mapped to different Crypto Driver Keys shall be uniquely configurable in the Crypto Interface(密码接口中映射到不同密码驱动密钥的密钥应在密码接口中唯一可配置) ⌈

Type: Valid

Use Case: 多个密码驱动模块,其中每个模块都有自己的密钥标识符。

⌋(RS_BRF_02032RS_BRF_01456RS_BRF_01136)

5.1.5.3 正常运行(Normal Operation)

[SRS_CryptoStack_00098] The Crypto Driver shall provide access to all cryptographic algorithms supported by the hardware(密码驱动应提供对硬件支持的所有密码算法的访问) ⌈

Type: Valid

Rationale: 硬件支持的使用与性能优势。

Use Case: HSM 支持的原语应可通过密码驱动访问。

⌋()

5.1.6 安全事件内存(Security Event Memory, Sem)

[SRS_CryptoStack_00122] Log security events reported by basic software modules and SWC(记录由基础软件模块与 SWC 报告的安全事件) ⌈

Type: Valid

Description: 安全事件内存(SEM)应能记录由 BSW 模块或 SWC 监控的安全事件(SE)。应能存储安全事件的类型以及用于取证分析的有用数据。

Use Case: UC1.1:BSW 模块或 SWC 将安全相关事件写入 SEM。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00123] Configure security event properties(配置安全事件属性) ⌈

Type: Valid

Use Case: UC1.1:BSW 模块或 SWC 将安全相关事件写入 SEM。

⌋(链接到 RS_Main_00514)

[SRS_CryptoStack_00124] Allow authorized users to read SEM data via diagnostic interfaces(允许授权用户通过诊断接口读取 SEM 数据) ⌈

Type: Valid

Use Case: UC1.2:授权利益相关者从 SEM 读取数据以进行板外取证分析。

⌋(链接到 RS_Main_00514)

5.2 非功能需求(Non-Functional Requirements)

5.2.2 密码服务管理器(CSM)

[SRS_CryptoStack_00088-2] The CSM module shall provide an abstraction layer which offers a standardized interface to higher software layers to access cryptographic algorithms(CSM 模块应提供抽象层,为更高软件层提供访问密码算法的标准化接口) ⌈

Type: Valid

Rationale: 抽象层封装内部行为并降低复杂性。它还提高可维护性,改善可移植性并简化可测试性。

Use Case: 会话处理。

⌋(RS_BRF_01456RS_BRF_01016RS_BRF_01056)

[SRS_CryptoStack_00089] The CSM module shall be located in the AUTOSAR service layer(CSM 模块应位于 AUTOSAR 服务层) ⌈

Type: Valid

⌋(RS_BRF_01016RS_BRF_01408)

[SRS_CryptoStack_00090] The CSM shall provide an interface to be accessible via the RTE(CSM 应提供可通过 RTE 访问的接口) ⌈

Type: Valid

⌋(RS_BRF_01408RS_BRF_01280)

[SRS_CryptoStack_00091] The CSM shall provide one Provide-Port for each configuration(CSM 应为每个配置提供一个 Provide-Port) ⌈

Type: Valid

⌋(RS_BRF_01056RS_BRF_01280RS_BRF_01408RS_BRF_01456)

[SRS_CryptoStack_00092] The CSM shall provide one Require-Port for each configuration(CSM 应为每个配置提供一个 Require-Port) ⌈

Type: Valid

⌋(RS_BRF_01056RS_BRF_01280RS_BRF_01408RS_BRF_01456)

5.2.3 密码接口(CRYIF)

[SRS_CryptoStack_00075] The Crypto Interface shall be the interface layer between the underlying crypto driver(s) and upper layers(密码接口应作为底层密码驱动与上层之间的接口层) ⌈

Type: Valid

⌋(RS_BRF_01000RS_BRF_01008RS_BRF_01016)

[SRS_CryptoStack_00076] The Crypto Interface implementation and interface shall be independent from underlying Crypto Hardware or Software(密码接口实现与接口应独立于底层密码硬件或软件) ⌈

Type: Valid

⌋(RS_BRF_01000RS_BRF_02031)

5.2.4 密码驱动(CRYPTO)

[SRS_CryptoStack_00095] The Crypto Driver module shall strictly separate error and status information(密码驱动模块应严格区分错误与状态信息) ⌈

Type: Valid

⌋(RS_BRF_00129RS_BRF_02168RS_BRF_02232RS_BRF_02272)

6 需求追溯(Requirements Tracing)

下表引用 RS_BRF_NNNNN 需求(来自 AUTOSAR_RS_Features)并链接到本 SRS 中对这些需求的实现:

需求描述由(… 满足)
RS_BRF_00129AUTOSAR 应支持数据损坏检测与保护SRS_CryptoStack_00087SRS_CryptoStack_00088SRS_CryptoStack_00095
RS_BRF_01000AUTOSAR 架构应将 BSW 组织为硬件独立与硬件依赖两层SRS_CryptoStack_00075SRS_CryptoStack_00076
RS_BRF_01008AUTOSAR 应将硬件依赖层组织为微控制器独立与微控制器依赖两层SRS_CryptoStack_00014SRS_CryptoStack_00075
RS_BRF_01016AUTOSAR 应在软件层内提供模块化设计SRS_CryptoStack_00075SRS_CryptoStack_00088SRS_CryptoStack_00089
RS_BRF_01056AUTOSAR BSW 模块应提供标准化接口SRS_CryptoStack_00088SRS_CryptoStack_00091SRS_CryptoStack_00092
RS_BRF_01064AUTOSAR BSW 应提供回调函数以访问上层模块SRS_CryptoStack_00081SRS_CryptoStack_00082
RS_BRF_01136AUTOSAR 应支持系统启动后解析的 BSW 数据变体SRS_CryptoStack_00013SRS_CryptoStack_00015SRS_CryptoStack_00036SRS_CryptoStack_00079SRS_CryptoStack_00080SRS_CryptoStack_00104
RS_BRF_01280AUTOSAR RTE 应提供 SWC 之间与 SWC-BSW 之间的外部接口SRS_CryptoStack_00090SRS_CryptoStack_00091SRS_CryptoStack_00092
RS_BRF_01408AUTOSAR 应提供可从每个基础软件层访问的服务层SRS_CryptoStack_00089SRS_CryptoStack_00090SRS_CryptoStack_00091SRS_CryptoStack_00092
RS_BRF_01456AUTOSAR 服务应提供系统范围的密码功能SRS_CryptoStack_00007SRS_CryptoStack_00015SRS_CryptoStack_00036SRS_CryptoStack_00079SRS_CryptoStack_00080SRS_CryptoStack_00081SRS_CryptoStack_00082SRS_CryptoStack_00084SRS_CryptoStack_00088SRS_CryptoStack_00091SRS_CryptoStack_00092SRS_CryptoStack_00094SRS_CryptoStack_00100SRS_CryptoStack_00101SRS_CryptoStack_00104
RS_BRF_01946AUTOSAR 微控制器抽象应提供对密码硬件的访问SRS_CryptoStack_00008SRS_CryptoStack_00010SRS_CryptoStack_00011SRS_CryptoStack_00031SRS_CryptoStack_00061SRS_CryptoStack_00105
RS_BRF_02031AUTOSAR 应提供对软件或硬件实现的密码方案的统一访问SRS_CryptoStack_00007SRS_CryptoStack_00008SRS_CryptoStack_00010SRS_CryptoStack_00011SRS_CryptoStack_00019SRS_CryptoStack_00020SRS_CryptoStack_00021SRS_CryptoStack_00022SRS_CryptoStack_00023SRS_CryptoStack_00024SRS_CryptoStack_00026SRS_CryptoStack_00027SRS_CryptoStack_00028SRS_CryptoStack_00029SRS_CryptoStack_00061SRS_CryptoStack_00076SRS_CryptoStack_00103SRS_CryptoStack_00105
RS_BRF_02032AUTOSAR 安全应允许密码原语集成到密码服务管理器SRS_CryptoStack_00003SRS_CryptoStack_00006SRS_CryptoStack_00015SRS_CryptoStack_00104
RS_BRF_02033AUTOSAR 应提供对密码服务的并发访问SRS_CryptoStack_00009
RS_BRF_02168AUTOSAR 诊断应提供异常运行条件的中心分类与处理SRS_CryptoStack_00086SRS_CryptoStack_00087SRS_CryptoStack_00088SRS_CryptoStack_00095
RS_BRF_02232AUTOSAR 应支持带运行时断言检查的开发SRS_CryptoStack_00034SRS_CryptoStack_00088SRS_CryptoStack_00095
RS_BRF_02272AUTOSAR 应提供应用软件行为的跟踪SRS_CryptoStack_00086SRS_CryptoStack_00087SRS_CryptoStack_00095

追溯表共 18 行 RS_BRF_NNNNN 上级需求;链接 1-20 个 SRS_CryptoStack_* 需求 ID;下游 SRS 需求 ID 完整覆盖密码栈的 5.1.1-5.1.6 子节。

7 参考文献(References)

7.1 AUTOSAR 交付物

  1. AUTOSAR_SRS_BSWGeneral — 基础软件模块通用需求
  2. AUTOSAR_EXP_LayeredSoftwareArchitecture — 分层软件架构
  3. AUTOSAR_TPS_StandardizationTemplate — 软件标准化模板
  4. AUTOSAR_TPS_SystemTemplate — 系统模板规约
  5. AUTOSAR_RS_Features — AUTOSAR 特性需求

7.2 相关标准与规范

无。


📋 校对记录

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