AUTOSAR_AP_TR_SystemTests
FIG-a9bf5b8c89105061
932 × 672 px
1 Release(s)
Figure 15.9: Sequence diagram of STS_CRYPTO_00010.
SHA-256 Inhalts-Fingerabdruck:
a9bf5b8c8910506131d1e14f9a35cca5d1f335b0ad67f5d3e7d5468f723af2fe
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08
1. Diagrammtyp & Architektur-Kontext
- Klassifikation: UML-Sequenzdiagramm (
sd STS_CRYPTO_00010) aus der AUTOSAR Adaptive Platform Test-Spezifikation (AUTOSAR_AP_TR_SystemTests). - Architektur-Kontext: System-Integrationstestfall (
STS) zur funktionalen Konformitätsprüfung des Adaptive Crypto-Stacks (ara::crypto). - Technischer Zweck: Verifikation der asymmetrischen Schlüsselvereinbarung (Diffie-Hellman / ECDH) via
AgreeKey()sowie der anschließenden operativen Verwendbarkeit des resultierenden symmetrischen Schlüssels (<SK1>) gemäß konfigurierter Nutzungsbeschränkungen (<Usage1>) durch Bit-genauen Ergebnisabgleich mit einem Referenzwert.
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
CRYPTO Tester: Test-Harness / Testmaster; steuert die Testsequenz, hält Referenzvektoren und prüft Status- und Vergleichsergebnisse.CRYPTOApp01: Adaptive Application (System under Test, SUT); konsumiert die standardisierteara::crypto-C++-Schnittstelle.
- Schnittstellen & APIs:
ara::crypto::cryp::KeyAgreementPrivateCtx::AgreeKey(): API-Aufruf zur Ableitung/Berechnung des gemeinsamen Geheimnisses bzw. symmetrischen Schlüssels<SK1>unter Verwendung des öffentlichen Schlüssels der Gegenstelle (<TDHPbK1>).- Inter-Process / Test Interface: Nachrichtenbasierte Trigger-, Status- und Datenübergaben (
Step 1,3,5,7,9,11) zwischen Tester und Applikation (z. B. viaara::com/ SOME/IP oder dedizierten Test-IPC).
- Datenstrukturen & Entitäten:
<TDHPbK1>: Target/Test Diffie-Hellman Public Key (ara::crypto::cryp::PublicKey).<SK1>: Vereinbarter symmetrischer Schlüssel (ara::crypto::cryp::SymmetricKey).<Usage1>: Autorisierte kryptographische Operation (definiert überAllowedKeyUsageFlags, z. B. AES-Verschlüsselung oder MAC-Generierung).<Result1>: Vom Tester unabhängig berechneter Referenzwert (Sollwert).<Result1'>: VonCRYPTOApp01via<SK1>berechneter Istwert.
3. Dynamisches Verhalten & Sequenzablauf
- Initialisierung & Key Agreement (Schritte 1–4):
Step 1:CRYPTO Testersendet Trigger zur Durchführung des DH/ECDH Key Agreements anCRYPTOApp01.Step 2:CRYPTOApp01ruft lokal synchronAgreeKey()mit<TDHPbK1>auf;ara::cryptogeneriert das Schlüsselobjekt<SK1>.Step 3 & 4:CRYPTOApp01gibt den Status (success/failure) an den Tester zurück; Tester evaluiert die erfolgreiche Ausführung.
- Kryptographische Nutzungsphase (Schritte 5–8):
Step 5: Tester triggert eine spezifikationsgemäße Operation<Usage1>unter Verwendung von<SK1>.Step 6:CRYPTOApp01führt<Usage1>über den entsprechenden Krypto-Kontext (z. B.EncryptorPublicCtxoderMessageAuthnCodeCtx) aus und erhält<Result1'>.Step 7 & 8:CRYPTOApp01meldet den Ausführungsstatus zurück; Tester validiert diesen.
- Verifikation & Testabschluss (Schritte 9–12):
Step 9: Tester übermittelt seinen Referenzwert<Result1>anCRYPTOApp01.Step 10:CRYPTOApp01führt einen In-Memory-Vergleich zwischen<Result1'>und<Result1>durch.Step 11 & 12:CRYPTOApp01meldet das Vergleichsergebnis (matched/unmatched) an den Tester; Tester prüft aufmatchedals Pass-Kriterium für den TestfallSTS_CRYPTO_00010.
4. Normative Relevanz & Entwickler-Hinweise
- API-Vertrag (
ara::crypto):- Die Implementierung von
AgreeKey()muss die Vorgaben vonRS_CRYPTO_02007undRS_CRYPTO_02102erfüllen. Das Schlüsselmaterial darf zu keinem Zeitpunkt im Klartext in den Userspace exponiert werden, sondern muss gekapselt alsCryptoObjectbzw. im HSM/CryptoProvider verbleiben. - Das aus
AgreeKey()resultierende Objekt muss strikt die im Kontext definierten Nutzungsflags (AllowedKeyUsageFlagsgem.RS_CRYPTO_02105) erben, sodass der Schlüssel ausschließlich für<Usage1>freigegeben ist.
- Die Implementierung von
- Fehler- und Ausnahmenbehandlung:
- Methoden müssen
ara::core::Resultzurückgeben. Inkompatible Kurven-Parameter oder ungültige Schlüsselformate in<TDHPbK1>müssen deterministisch zu Krypto-Fehlercodes führen (z. B.SecurityErrorDomain::kIncompatibleObject,kBadObjectSize).
- Methoden müssen
- Black-Box-Teststrategie für Entwickler:
- Da sichere Krypto-Stacks den direkten Export von Schlüsseln verweigern (
kAllowExport = false), weist dieser Testfall die Korrektheit des DH/ECDH-Ablaufs indirekt über den funktionellen Folgeaufruf (<Usage1>) und den anschließenden Nutzdaten-Abgleich nach.
- Da sichere Krypto-Stacks den direkten Export von Schlüsseln verweigern (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.