Skip to content

Add initial version of Feature Request for Crypto & Security in docs. #1490

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

marcmo
Copy link
Contributor

@marcmo marcmo commented Jul 23, 2025

originates from CR #132926

Change-Id: Ie816f6354dba2e35b1dc5994001af4e3f51b1fb0
Copy link

The created documentation from the pull request is available at: docu-html

* The cryptographic subsystem should be aware that certain attacks will try to observe the overall
system to analyze its inner workings to guess secrets (side channel/timing attacks) or to influence
it to limit its availability for system critical tasks.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HW separation to specify what is done in S-CORE and what in a TEE/HSW/Hardware and many supported by the OS as well. To be detailed.
Think if combination of key mangmt and cert mngmt possible.
Potentially del line 72


* The cryptographic subsystem typically needs to 'rely on hardware acceleration' to execute operations
efficiently or to access a TRNG (True random number generator) for entropy. Additionally, it MAY be a
good idea to as well have a software-only solution.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Considering PQC and using SW for that if the HW may not support it.

to ensure it is protected (memory, CPU) from applications and the normal operating system while still offering its functionality to
applications and middleware services.
* 'Time' in the sense of real world wall clock is crucial for the cryptographic subsystem to ensure
that for example a certificate or token is only used within its validity period.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Integrity of time should be an additional requirement (e.g. signed by a backend and verified on S-CORE).

* The cryptographic subsystem typically needs to 'rely on hardware acceleration' to execute operations
efficiently or to access a TRNG (True random number generator) for entropy. Additionally, it MAY be a
good idea to as well have a software-only solution.
* Will use system level means (co-processor, hardware security module, Trusted Execution Environment, ...)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add that we want to rely on HW as primary computational resource and add as well a SW algorithm if the HW does not support specific cases)

|
|
|------------------|
| KeyStore |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Local in-device key generation and derivate strategies is still missing and should be considered.

| --> Signature (create / verify)
| --> Symmmetic crypto (encrypt, decrypt)
| --> KeyMngmt (generate, import, update, delete, check)
| --> CertificateManagement (add, update, verify)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Certificates could be protected by means of filesystem OS protection means and ACLs.

* Key exchange (ECDH)
* Hashing (SHA-2, SHA-3, BLAKE3)
* Random number generation (ChaCha20Rng)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially missing here are RSA for a-sym, EDDSA, MLDSA, SLDSA.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need maybe a stakeholder requirement for other markets, e.g. China.


Finally the security subsystem needs to consider the production scenario where potentially several
'initial production keys' are brought into the system.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACL for the APIs - add this as well. (manifest, whitelist/blacklist)

Following the white house cybersecurity plan and other industry voices to improve robustness of
critical systems by using memory safe languages S-CORE decided to have Rust as a 1st class
citizen. The security subsystem SHALL be developed entirely in Rust.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compatibility with existing and already hardened libraries in C++.
In general I admit the feature request is not the place to take a design decision right here.

* Trusted computing environmeent / HSM
* Roles and capability rights management
* Connection to IDS / anomaly detection
* Zero trust - BS or where to use ?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Defense in depth, least right privilege;
  • Assumptions of use of the overall system not being directly exposed to the internet but behind further security controls.

* OS security mechanisms
* Trusted computing environmeent / HSM
* Roles and capability rights management
* Connection to IDS / anomaly detection

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Check with UNECE 155.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Potentially add that a tamper proof-able or tamper-detetable log/journal is in used.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Time budget, observation and process observation.


Post quantum readiness
----------------------

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Latest version of WolfSSL, latest version and OpenSSL,v 3.5 already have support here.

Due to the nature of our overall system to be deployed for 10+ years in an embedded systems
such a security plan needs to as well cover 'software-update strategy', 'field observation', 'crypto
algorithm updates', 'repairability', and 'whitstand reverse engineering of secrets'.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use "best practices" and follow industry standards like ISO21434.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants