DEENESPTFRRUARHIKOZHNL

구조체 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

사용자 가이드AI 생성

하위 및 상위 비트를 위한 두 개의 64비트 값으로 구성된 128비트 보안 카운터를 제공합니다.
AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: b4749477e882 출처 열린 질문 (3)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

하위 및 상위 비트를 위한 두 개의 64비트 값으로 구성된 128비트 보안 카운터를 제공합니다.

구조체 ara::crypto::SecureCounter은(는) crypto 모듈에서 최하위 비트([SWS_CRYPT_30002])와 최상위 비트([SWS_CRYPT_30003])를 위한 두 개의 64비트 정수로 구성된 128비트 보안 카운터 역할을 합니다. 호출 컴포넌트는 강력한 카운터 값을 표현하기 위해 이 데이터 타입을 사용하며, 부분 워드 간의 증분 및 캐리 로직은 수동으로 제어되어야 합니다. 순수 값 타입으로서 구조체는 내부 동기화를 제공하지 않으므로, 멀티스레딩 환경에서의 병렬 접근은 반드시 외부에서 조정되어야 합니다.

컨텍스트

구조체 ara::crypto::SecureCounter은(는) AUTOSAR Adaptive Platform의 crypto 모듈 내에서 128비트 너비의 암호화 카운터를 표현하기 위한 기본 데이터 타입으로 기능합니다. 헤더 파일 ara/crypto/common/base_id_types.h에 정의된 이 데이터 구조는 std::uint64_t 타입의 64비트 정수 두 개로 구성됩니다: [SWS_CRYPT_30002]에 따른 최하위 64비트를 위한 데이터 요소 mLSQW 및 [SWS_CRYPT_30003]에 따른 최상위 64비트를 위한 데이터 요소 mMSQW입니다. 보안 아키텍처에서 이 규모의 카운터 값은 메시지의 시간적 신선도를 보장하고 재생 공격(replay attack)을 효과적으로 방어하는 데 사용됩니다. 해석: 표준화된 데이터 타입으로서 이 구조체는 암호화 프로토콜, 드라이버 및 하드웨어 인접 보안 컴포넌트 간에 교환되는 단조 카운터 또는 시퀀스 번호를 위한 인터페이스 및 스토리지 포맷으로 주로 사용될 것으로 보입니다. 질문 Q-57197e2ecabd5cab (열림) 사양에서 ara::crypto::SecureCounter을(를) 직접적인 알고리즘 바인딩이 없는 순수 데이터 컨테이너로 선언하므로, 상위 계층은 카운터 값을 확인, 지속 또는 프로토콜 메시지에 임베드하기 위해 두 하위 멤버와 직접 상호작용합니다.

수명 주기

고전적인 C++ 구조체(struct)로서 ara::crypto::SecureCounter은(는) 동적 메모리 관리나 상태 유지 관리 로직이 없는 경량 라이프사이클을 따릅니다. 인스턴스화는 일반적으로 로컬 값 타입으로서 스택에 직접 수행되거나, 보안 이벤트 헤더 또는 암호화 세션 디스크립터와 같은 상위 컨텍스트의 필드 요소로 임베드되어 수행됩니다. 단순 데이터 컨테이너로서 이 구조체는 암시적 복사 및 할당 동작을 갖춘 일반적인 C++ 값 시맨틱을 가질 것으로 추정되지만, 동시 접근을 위한 내부 동기화 메커니즘은 제공하지 않습니다. 질문 Q-a4d95542ea77870d (열림) 개발자에게 이는 카운터 갱신 시 데이터 불일치를 방지하기 위해 서로 다른 스레드에서의 동시 읽기 및 쓰기 접근을 외부 동기화 프리미티브로 보호해야 함을 의미합니다. 인스턴스의 라이프사이클은 각 스코프를 벗어날 때 자동으로 종료되며, 명시적인 해제나 정리 작업은 필요하지 않습니다.

사용 경로

일반적인 사용 경로는 두 구조적 컴포넌트를 통한 결합된 128비트 카운터 값의 초기화, 단계별 증분 및 읽기를 포함합니다. 호출자는 먼저 구조체를 인스턴스화하고 하위 부분 워드 mLSQW([SWS_CRYPT_30002]) 및 상위 부분 워드 mMSQW([SWS_CRYPT_30003])에 초기 카운터 값을 할당합니다. 연속적인 카운팅 작업에서는 주로 하위 워드 mLSQW이(가) 증분됩니다. mLSQW이(가) 64비트 범위의 최댓값에 도달하면 상위 워드 mMSQW(으)로의 산술 캐리가 발생하여 1만큼 증가합니다. 해석: ara::crypto::SecureCounter에 대한 사양에서 자체 멤버 함수를 선언하지 않으므로 증분 및 캐리 처리와 같은 산술 연산은 호출자 측에서 구현될 것으로 보입니다. 질문 Q-68babc70b53a5745 (열림) 전송 또는 영속화 시 두 64비트 멤버는 구조화된 방식으로 직렬화되며, 이때 수신자 측에서 전체 값의 오해석을 방지하기 위해 일관된 바이트 및 워드 순서에 주의를 기울여야 합니다.

오류 시나리오

ara::crypto::SecureCounter은(는) 자체 메서드가 없는 순수 데이터 구조이므로 연산 시 예외를 발생시키지 않으며 ara::core::ErrorCode 타입의 오류 사양이나 오류 코드를 반환하지도 않습니다. 따라서 오류 시나리오는 구조체 자체 내부에서 발생하는 것이 아니라, 호출하는 소프트웨어 계층에서 두 부분 워드를 잘못 처리함으로써 발생합니다. 중요한 오류 시나리오는 mLSQW([SWS_CRYPT_30002])과(와) mMSQW([SWS_CRYPT_30003]) 모두 최대 값 범위를 소진하고 0으로 되돌아갈 때 발생하는 전체 카운터의 감지되지 않은 산술 오버플로이며, 이는 재생 보호 메커니즘에서 보안 취약점을 유발할 수 있습니다. 추가적인 사전 및 사후 조건 위반은 업데이트 시 mLSQW에서 mMSQW(으)로의 캐리가 누락되거나 불완전한 초기화로 인해 정의되지 않은 메모리 값이 계산에 포함될 때 발생합니다. 따라서 호출 컴포넌트는 추가 처리 전에 두 데이터 요소가 일관되게 초기화되고 캐리 로직이 오류 없이 구현되었는지 확인해야 합니다.

이 텍스트는 AUTOSAR 사양 R25-11을 기반으로 AI에 의해 생성되었습니다.

UML 클래스 다이어그램

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

G nara__crypto__SecureCounter126 «struct» SecureCounter + mLSQW + mMSQW

상수

mLSQW 변수

least significant 64 bits

mMSQW 변수

most significant 64 bits

상수 / 변수 문서

변수 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#e9886fc2
Content hash
e9886fc2
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

변수 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#607fa03d
Content hash
607fa03d
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