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 GuideAI-GEGENEREERD

Stelt een 128-bits veiligheidsteller uit twee 64-bits waarden voor lage en hoge bits beschikbaar.
DOOR AI GEGENEREERD ongecontroleerd Model: gemini-3.8-flash-medium · Inspanning: medium · Temperatuur: niet regelbaar · Prompt: b4749477e882 Herkomst Open vragen (3)
vertaald uit de Duitse handleidinggemini-3.8-flash-low · 2026-10-13 · Duits origineel

Stelt een 128-bits veiligheidsteller uit twee 64-bits waarden voor lage en hoge bits beschikbaar.

De structuur ara::crypto::SecureCounter dient in de module crypto als een 128-bits veiligheidsteller, bestaande uit twee 64-bits gehele getallen voor de minst significante bits ([SWS_CRYPT_30002]) en de meest significante bits ([SWS_CRYPT_30003]). Aanroepende componenten gebruiken dit datatype voor de representatie van robuuste tellerstanden, waarbij incrementaties en overdrachtslogica tussen de deelwoorden handmatig moeten worden aangestuurd. Als zuiver waardetype biedt de structuur geen interne synchronisatie, waardoor parallelle toegangen in multithreading-omgevingen dwingend extern moeten worden gecoördineerd.

Context

De structuur ara::crypto::SecureCounter fungeert binnen de module crypto van het AUTOSAR Adaptive Platform als fundamenteel datatype voor de representatie van een 128-bits brede cryptografische teller. Gedefinieerd in het headerbestand ara/crypto/common/base_id_types.h, is de datastructuur opgebouwd uit twee 64-bits gehele getallen van het type std::uint64_t: het data-element mLSQW voor de minst significante 64 bits conform [SWS_CRYPT_30002] en het data-element mMSQW voor de meest significante 64 bits conform [SWS_CRYPT_30003]. In beveiligingsarchitecturen dienen tellerwaarden van deze omvang om de temporele versheid van berichten te waarborgen en replay-aanvallen effectief af te weren. Interpretatie: Als gestandaardiseerd datatype dient de structuur vermoedelijk primair als interface- en opslagformaat voor monotone tellers of sequentienummers die worden uitgewisseld door cryptografische protocollen, stuurprogramma's en hardware-nabije beveiligingscomponenten. Vraag Q-57197e2ecabd5cab (open) Omdat de specificatie ara::crypto::SecureCounter als een zuivere datacontainer zonder directe algoritmische binding declareert, interageren bovenliggende lagen rechtstreeks met de twee deelelementen om tellerstanden te controleren, te preserveren of in protocolberichten in te bedden.

Levenscyclus

Als klassieke C++-structuur (struct) kent ara::crypto::SecureCounter een lichtgewicht levenscyclus zonder dynamisch geheugenbeheer of toestandshoudende beheerlogica. De instantiëring vindt gewoonlijk direct op de stack plaats als lokaal waardetype of ingebed als veldelement in bovenliggende contexten zoals security-event-headers of cryptografische sessiedescriptoren. Vermoedelijk vertoont de structuur als eenvoudige datacontainer een reguliere C++-waardesemantiek met impliciet kopieer- en toekenningsgedrag, maar biedt deze geen interne synchronisatiemechanismen voor gelijktijdige toegang. Vraag Q-a4d95542ea77870d (open) Voor ontwikkelaars betekent dit dat gelijktijdige lees- en schrijftoegangen vanuit verschillende threads moeten worden beveiligd met externe synchronisatieprimitieven om datainconsistenties bij telleractualisaties te voorkomen. De levenscyclus van een instantie eindigt automatisch bij het verlaten van de desbetreffende scope, waarbij geen expliciete vrijgaven of opschoonacties nodig zijn.

Gebruikspad

Het typische gebruikspad omvat initialisatie, stapsgewijze incrementatie en het uitlezen van de gecombineerde 128-bits tellerwaarde via de twee structurele componenten. Een aanroeper instantieert eerst de structuur en wijst aan het lage deelwoord mLSQW ([SWS_CRYPT_30002]) en het hoge deelwoord mMSQW ([SWS_CRYPT_30003]) de initiële tellerstanden toe. Bij doorlopende telprocessen wordt primair het lage woord mLSQW geïncrementeerd. Bereikt mLSQW de maximale waarde van het 64-bits bereik, dan vindt een rekenkundige overdracht plaats naar het hoge woord mMSQW, dat met één wordt verhoogd. Interpretatie: De rekenkundige bewerkingen zoals incrementatie en overdrachtsafhandeling worden vermoedelijk aan de aanroeperszijde gerealiseerd, aangezien de specificatie voor ara::crypto::SecureCounter geen eigen lidfuncties declareert. Vraag Q-68babc70b53a5745 (open) Bij verzending of persistente opslag worden de twee 64-bits delen gestructureerd geserialiseerd, waarbij op een consistente byte- en woordvolgorde moet worden gelet om misinterpretaties van de totale waarde aan de ontvangende zijde uit te sluiten.

Foutscenario's

Omdat ara::crypto::SecureCounter een zuivere datastructuur zonder eigen methoden is, genereert de structuur bij operaties geen excepties en levert deze evenmin foutspecificaties of foutcodes van het type ara::core::ErrorCode op. Foutscenario's ontstaan dan ook niet binnen de structuur zelf, maar door foutieve afhandeling van de twee deelwoorden in de aanroepende softwarelagen. Een kritiek foutscenario is de onopgemerkte rekenkundige overloop van de totale teller wanneer zowel mLSQW ([SWS_CRYPT_30002]) als mMSQW ([SWS_CRYPT_30003]) hun maximale waardebereik uitputten en terugspringen naar nul, wat in mechanismen voor replay-bescherming tot beveiligingslekken kan leiden. Verdere schendingen van pre- en postcondities treden op wanneer bij updates de overdracht van mLSQW naar mMSQW wordt nagelaten of wanneer bij onvolledige initialisatie ongedefinieerde geheugenwaarden in berekeningen terechtkomen. Aanroepende componenten moeten daarom vóór de verdere verwerking waarborgen dat beide data-elementen consistent zijn geïnitialiseerd en dat overdrachtslogica foutloos is geïmplementeerd.

Deze tekst is gegenereerd door een AI op basis van de AUTOSAR-specificatie R25-11.

UML-klassendiagram

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

G nara__crypto__SecureCounter126 «struct» SecureCounter + mLSQW + mMSQW

Constanten

mLSQW variabele

least significant 64 bits

mMSQW variabele

most significant 64 bits

Documentatie van constanten / variabelen

variabele 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#a8b5765e
Content hash
a8b5765e
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

variabele 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#154a1e00
Content hash
154a1e00
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