AoU Component Requirements#

Crypto Component AoU
status: draft
security: YES
safety: ASIL_B
tags: crypto
version: 1

Hash Assumptions of Use#

Use canonical hash identifiers
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

The component user shall select SHA-256, SHA-384, and SHA-512 with the canonical identifiers SHA256, SHA384, and SHA512. Hyphenated aliases such as SHA-256 are not part of the current API contract.

Allocate hash output from the reported digest size
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

The component user shall provide a writable output buffer whose size is at least the value returned by IHashContext::GetDigestSize() and shall use the returned byte count when consuming the digest. A returned digest size of zero indicates that the daemon query failed and shall be treated as an operation failure rather than as a valid output size.

Verify provider and mechanism availability
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

The integrator shall ensure that the selected provider is configured and available. For a PKCS#11 provider, the selected token shall advertise the required SHA mechanism. Applications shall handle an unsupported-algorithm or provider-unavailable result without assuming a silent provider fallback.

Keep caller-owned buffers valid for each hash call
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

The component user shall keep input and output buffers valid and unmodified for the duration of the corresponding synchronous Update(), Finalize(), or SingleShot() call.

Handle daemon and operation failures
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

The component user shall check every returned Result and define an application-level reaction for daemon unavailability, operation timeout, provider failure, invalid stream state, and insufficient output buffer.

Do not claim safety qualification for the current hash path
status: valid
security: YES
safety: ASIL_B
tags: crypto
reqtype: Process
version: 1

The integrator shall not use the current client, IPC and shared-memory, daemon, and OpenSSL or PKCS#11 hash path as an ISO 26262-qualified safety mechanism unless the complete deployed path has been independently qualified and the resulting safety case explicitly permits that use.

Restrict new migrations to approved hash algorithms
status: valid
security: YES
safety: QM
tags: crypto
reqtype: Process
version: 1

New Baselibs migrations shall use SHA256, SHA384, or SHA512. Existing SHA-224, SHA-1, and MD5 provider support is retained only for compatibility and shall not be interpreted as a recommendation for new use.