DEENESPTFRRUARHIKOZHNL

struct ara::crypto::SecureCounter

[SWS_CRYPT_30001] Upstream: RS_CRYPTO_02401

struct SecureCounter {...};

128 bit secure counter made up of two uint64_t’s representing the most significant and least significant bits

Header-Datei#include "ara/crypto/common/base_id_types.h"
Forwarding-Header#include "ara/crypto/crypto_fwd.h"
Scopenamespace ara::crypto

User GuideKI-GENERIERT

Stellt einen 128-Bit-Sicherheitszähler aus zwei 64-Bit-Werten für nieder- und höherwertige Bits bereit.
KI-GENERIERT ungeprüft Modell: gemini-3.8-flash-medium · Aufwand: medium · Temperatur: nicht steuerbar · Prompt: b4749477e882 Herkunft Offene Fragen (3)
KI-generiertgemini-3.8-flash-medium · 2026-10-13

Stellt einen 128-Bit-Sicherheitszähler aus zwei 64-Bit-Werten für nieder- und höherwertige Bits bereit.

Die Struktur ara::crypto::SecureCounter dient im Modul crypto als 128-Bit-Sicherheitszähler, der aus zwei 64-Bit-Ganzzahlen für die niederwertigsten Bits ([SWS_CRYPT_30002]) und die höchstwertigsten Bits ([SWS_CRYPT_30003]) besteht. Aufrufende Komponenten nutzen diesen Datentyp zur Repräsentation robuster Zählerstände, wobei Inkrementierungen und Übertragslogiken zwischen den Teilwörtern manuell gesteuert werden müssen. Als reiner Wertetyp bietet die Struktur keine interne Synchronisation, weshalb parallele Zugriffe in Multithreading-Umgebungen zwingend extern koordiniert werden müssen.

Kontext

Die Struktur ara::crypto::SecureCounter fungiert innerhalb des Moduls crypto der AUTOSAR Adaptive Platform als grundlegender Datentyp zur Repräsentation eines 128-Bit breiten kryptografischen Zählers. Definiert in der Header-Datei ara/crypto/common/base_id_types.h, setzt sich die Datenstruktur aus zwei 64-Bit-Ganzzahlen vom Typ std::uint64_t zusammen: dem Datenelement mLSQW für die niederwertigsten 64 Bit gemäß [SWS_CRYPT_30002] sowie dem Datenelement mMSQW für die höchstwertigen 64 Bit gemäß [SWS_CRYPT_30003]. In Sicherheitsarchitekturen dienen Zählerwerte dieser Größenordnung dazu, die zeitliche Frische von Nachrichten sicherzustellen und Replay-Angriffe wirksam abzuwehren. Interpretation: Als standardisierter Datentyp dürfte die Struktur primär als Schnittstellen- und Speicherformat für monotone Zähler oder Sequenznummern dienen, die von kryptografischen Protokollen, Treibern und hardwarenahen Sicherheitskomponenten ausgetauscht werden. Frage Q-57197e2ecabd5cab (offen) Da die Spezifikation ara::crypto::SecureCounter als reinen Datenbehälter ohne direkte algorithmische Bindung deklariert, interagieren übergeordnete Schichten unmittelbar mit den beiden Teilgliedern, um Zählerstände zu prüfen, zu persistieren oder in Protokollnachrichten einzubetten.

Lebenszyklus

Als klassische C++-Struktur (struct) unterliegt ara::crypto::SecureCounter einem leichtgewichtigen Lebenszyklus ohne dynamische Speicherverwaltung oder zustandsbehaftete Verwaltungslogik. Die Instanziierung erfolgt üblicherweise direkt auf dem Stack als lokaler Wertetyp oder eingebettet als Feldelement in übergeordneten Kontexten wie Security-Event-Headern oder kryptografischen Sitzungsdeskriptoren. Vermutlich weist die Struktur als einfacher Datenbehälter eine reguläre C++-Wertesemantik mit implizitem Kopier- und Zuweisungsverhalten auf, bietet jedoch keine internen Synchronisationsmechanismen für den nebenläufigen Zugriff. Frage Q-a4d95542ea77870d (offen) Für Entwickler bedeutet dies, dass gleichzeitige lesende und schreibende Zugriffe aus unterschiedlichen Threads durch externe Synchronisationsprimitive abgesichert werden müssen, um Dateninkonsistenzen bei Zähleraktualisierungen zu verhindern. Der Lebenszyklus einer Instanz endet automatisch beim Verlassen des jeweiligen Gültigkeitsbereichs, wobei keine expliziten Freigaben oder Bereinigungen notwendig sind.

Nutzungspfad

Der typische Nutzungspfad umfasst die Initialisierung, die schrittweise Inkrementierung sowie das Auslesen des kombinierten 128-Bit-Zählerwerts über die beiden strukturellen Komponenten. Ein Aufrufer instanziiert zunächst die Struktur und weist dem niederwertigen Teilwort mLSQW ([SWS_CRYPT_30002]) sowie dem höherwertigen Teilwort mMSQW ([SWS_CRYPT_30003]) die initialen Zählerstände zu. Bei fortlaufenden Zählvorgängen wird primär das niederwertige Wort mLSQW inkrementiert. Erreicht mLSQW den Maximalwert des 64-Bit-Bereichs, erfolgt ein rechnerischer Übertrag auf das höherwertige Wort mMSQW, welches um eins erhöht wird. Interpretation: Die arithmetischen Operationen wie Inkrementierung und Übertragsbehandlung dürften aufruferseitig realisiert werden, da die Spezifikation für ara::crypto::SecureCounter keine eigenen Elementfunktionen deklariert. Frage Q-68babc70b53a5745 (offen) Bei der Übertragung oder Persistierung werden die beiden 64-Bit-Glieder strukturiert serialisiert, wobei auf eine konsistente Byte- und Wortreihenfolge geachtet werden muss, um Fehlinterpretationen des Gesamtwerts auf Empfängerseite auszuschließen.

Fehlerszenarien

Da ara::crypto::SecureCounter eine reine Datenstruktur ohne eigene Methoden darstellt, wirft die Struktur bei Operationen weder Ausnahmen noch liefert sie Fehlerspezifikationen oder Fehlercodes des Typs ara::core::ErrorCode zurück. Fehlerszenarien entstehen folglich nicht innerhalb der Struktur selbst, sondern durch fehlerhafte Behandlung der beiden Teilwörter in den aufrufenden Softwareschichten. Ein kritisches Fehlerszenario ist der unbemerkte arithmetische Überlauf des Gesamtzählers, wenn sowohl mLSQW ([SWS_CRYPT_30002]) als auch mMSQW ([SWS_CRYPT_30003]) ihren maximalen Wertebereich ausschöpfen und auf null zurückspringen, was in Replay-Schutz-Mechanismen zu Sicherheitslücken führen kann. Weitere Vor- und Nachbedingungsverletzungen treten auf, wenn bei Aktualisierungen der Übertrag von mLSQW auf mMSQW versäumt wird oder wenn bei unvollständiger Initialisierung undefinierte Speicherwerte in Berechnungen einfließen. Aufrufende Komponenten müssen daher vor der Weiterverarbeitung sicherstellen, dass beide Datenelemente konsistent initialisiert und Übertragslogiken fehlerfrei implementiert sind.

Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation R25-11 generiert.

UML-Klassendiagramm

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__crypto__SecureCounter126 «struct» SecureCounter + mLSQW + mMSQW

Konstanten

mLSQW variable

least significant 64 bits

mMSQW variable

most significant 64 bits

Dokumentation der Konstanten / Variablen

variable mLSQW [SWS_CRYPT_30002] Upstream: RS_CRYPTO_02401

std::uint64_t mLSQW;

least significant 64 bits

Header-Datei#include "ara/crypto/common/base_id_types.h"
Scopestruct ara::crypto::SecureCounter
SymbolmLSQW
Typstd::uint64_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_30002
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30002@rel:R25-11#cc293c04
Content hash
cc293c04
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30002
Status: valid/unmigrated Version: rel:R25-11#9c1bba58 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_30002@rel:R25-11#9c1bba58
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#cc293c042026-09-30
  • R19-11rel:R19-11#5e8b1de42026-10-14
  • R20-11rel:R20-11#2cbc47402026-10-14
  • R21-11rel:R21-11#2cbc47402026-10-14
  • R22-11rel:R22-11#7b43d24b2026-10-14
  • R23-11rel:R23-11#2949b7102026-10-14
  • R24-11rel:R24-11#2949b7102026-10-14
  • R25-11rel:R25-11#9c1bba582026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

variable mMSQW [SWS_CRYPT_30003] Upstream: RS_CRYPTO_02401

std::uint64_t mMSQW;

most significant 64 bits

Header-Datei#include "ara/crypto/common/base_id_types.h"
Scopestruct ara::crypto::SecureCounter
SymbolmMSQW
Typstd::uint64_t

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_CRYPT_30003
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_CRYPT_30003@rel:R25-11#2c3bfe79
Content hash
2c3bfe79
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Cryptography.pdf#nameddest=SWS_CRYPT_30003
Status: valid/unmigrated Version: rel:R25-11#f08f9154 Versionshistorie & Revisions (1 transition, 8 revision)
Current State
valid/unmigrated
Reason
mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
Campaign
2026-08-13-status-backfill
Active Version
AUTOSAR/AP/record/SWS_CRYPT_30003@rel:R25-11#f08f9154
Point-in-Time History:
Recorded Revisions (8):
  • R25-11rel:R25-11#2c3bfe792026-09-30
  • R19-11rel:R19-11#5f040e0b2026-10-14
  • R20-11rel:R20-11#df9cc1732026-10-14
  • R21-11rel:R21-11#64ce58302026-10-14
  • R22-11rel:R22-11#f838a21c2026-10-14
  • R23-11rel:R23-11#e9d5ab982026-10-14
  • R24-11rel:R24-11#0cbd132d2026-10-14
  • R25-11rel:R25-11#f08f91542026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill