AUTOSAR_AP_TR_SystemTests
FIG-2c61b2de91cac90a
932 × 945 px
6 Release(s)
Figure 15.7: Sequence diagram of STS_CRYPTO_00008 Steps 21-40.
SHA-256 Inhalts-Fingerabdruck:
2c61b2de91cac90a72810c3e8f9f9b3d0cd3347eb863060678207fdf4f34d059
✦
KI-generierte Bildanalyse & technische Beschreibung
Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07
1. Diagrammtyp & Architektur-Kontext
- Diagrammtyp: UML-2.0-Sequenzdiagramm (
sd STS_CRYPTO_00008 Steps 21-40). - Architektur-Kontext: AUTOSAR Adaptive Platform System Tests (
AUTOSAR_AP_TR_SystemTests), Kapitel Crypto Stack Verification. - Technischer Zweck: Spezifikation eines Teilszenarios des Abnahmetests
STS_CRYPTO_00008zur normativen Verifikation von Key Wrapping und Key Unwrapping gemäßRS_CRYPTO_02008. Der Test validiert, ob ein zuvor via Key Encapsulation Mechanism (KEM, Schritt 2) gewonnener symmetrischer Schlüssel<SK1>erfolgreich in derara::crypto-Laufzeit als Wrapping-Key genutzt werden kann, um einen transportierten gewrappten Schlüssel<WSK2>(Wrapped Symmetric Key 2) zu entpacken (<SK2>), diesen für symmetrische Verschlüsselungsoperationen zu instanziieren und anschließend<SK2>deterministisch wieder zu wrappen.
2. Komponenten, Entitäten & Schnittstellen
- Akteure / Lifelines:
CRYPTO Tester: Test-Harness / Test-Orchestrator zur Stimulierung, Dateninjektion und Statusevaluation.CRYPTOApp01: Adaptive Application (AUTOSAR System-Under-Test / SUT), die gegen das funktionale Clusterara::crypto(ara::crypto::cryp/ara::crypto::keys) linkt.
- Kryptografische Entitäten & Datenobjekte:
<SK1>: Symmetrischer Basisschlüssel (aus Schritt 2 via Decapsulation ermittelt), fungiert als Key-Encrypting Key (KEK) für Wrapping/Unwrapping.<WSK2>: Wrapped Symmetric Key 2 (Ciphertext des Nutzschlüssels).<SK2>: Entpackter symmetrischer Zielschlüssel (Plaintext Key Object innerhalb der Crypto-Hardware/des Key-Storage).<Plaintext2>/<Ciphertext2>/<Ciphertext2'>: Nutzdaten zur operativen Verifikation der kryptografischen Funktionsfähigkeit von<SK2>.<WSK2'>: Durch das SUT neu gewrappter Schlüssel zur Re-Wrapping-Prüfung gegen<WSK2>.
- Schnittstellen & Interaktionsmodi:
- Inter-Process- / Test-Kommunikation zwischen Tester und SUT (synchroner Request/Response-Zyklus via IPC/SOME/IP bzw. Test-RPC-Interface).
- Interne Kapselung: Aufruf von
ara::crypto::cryp::KeyWrapperCtx/ara::crypto::cryp::SymmetricBlockCipherCtxinnerhalb vonCRYPTOApp01.
3. Dynamisches Verhalten & Sequenzablauf
Der Ablauf gliedert sich in drei synchrone Phasen (Schritte 21 bis 40):
Phase A: Key Unwrapping & Statusprüfung (Schritte 21–24)
- Step 21:
CRYPTO Testersendet<WSK2>anCRYPTOApp01zur Triggerung des Unwrappings. - Step 22:
CRYPTOApp01führt das Unwrapping von<WSK2>unter Verwendung von<SK1>aus und instanziiert das In-Memory/Hardware-Schlüsselobjekt<SK2>. - Step 23 & 24:
CRYPTOApp01meldet den Ausführungsstatus (ara::core::Result<void>) an den Tester zurück; der Tester verifiziert den Status auf Fehlerfreiheit.
Phase B: Funktionale Validierung des entpackten Schlüssels <SK2> (Schritte 25–32)
- Step 25:
CRYPTO Testerübermittelt den Testvektor<Plaintext2>anCRYPTOApp01. - Step 26:
CRYPTOApp01verschlüsselt<Plaintext2>unter Verwendung von<SK2>zu<Ciphertext2'>. - Step 27 & 28: Rückmeldung und Verifikation des Verschlüsselungsstatus beim Tester.
- Step 29: Tester sendet die Referenzchiffre
<Ciphertext2>zur Verifikation anCRYPTOApp01. - Step 30:
CRYPTOApp01vergleicht<Ciphertext2'>bitgenau mit dem Sollwert<Ciphertext2>. - Step 31 & 32:
CRYPTOApp01liefert das Vergleichsergebnis (matched/unmatched) an den Tester, welcher dieses assertiert.
Phase C: Key Wrapping & Validierung (Schritte 33–40)
- Step 33:
CRYPTO Testertriggert das Wrapping von<SK2>anCRYPTOApp01. - Step 34:
CRYPTOApp01wrappt<SK2>mittels<SK1>und erzeugt den gewrappten Chiffretext<WSK2'>. - Step 35 & 36: Statusübermittlung und -überprüfung des Wrapping-Vorgangs.
- Step 37: Tester triggert den Vergleich von Re-Wrapping zu Original.
- Step 38:
CRYPTOApp01vergleicht<WSK2'>mit<WSK2>. - Step 39 & 40: Übertragung des Vergleichsergebnisses an den Tester und finale Assertion.
4. Normative Relevanz & Entwickler-Hinweise
- API- und Kontext-Verträge (
ara::crypto):- Entwickler müssen sicherstellen, dass die verwendeten Key-Slots (
CryptoProvider) für<SK1>und<SK2>die erforderlichenKeyUsageFlagsbesitzen:<SK1>benötigt Flags fürkAllowKeyWrappingundkAllowKeyUnwrapping.<SK2>benötigt Berechtigungen für Transformationen (kAllowDataEncryption) sowie Exportfähigkeit (kAllowKeyExport/kAllowSecuredKeyExport).
- Entwickler müssen sicherstellen, dass die verwendeten Key-Slots (
- Determinisierung des Algorithmus:
- Der Test setzt für Phase C ein deterministisches Wrapping-Verfahren (z. B. AES Key Wrap gemäß RFC 3394 / NIST SP 800-38F ohne zufällige Nonce bzw. mit fest definiertem Initial Vector) voraus, da der direkte Bit-Vergleich
Compare <WSK2'> with <WSK2>in Step 38 andernfalls fehlschlägt.
- Der Test setzt für Phase C ein deterministisches Wrapping-Verfahren (z. B. AES Key Wrap gemäß RFC 3394 / NIST SP 800-38F ohne zufällige Nonce bzw. mit fest definiertem Initial Vector) voraus, da der direkte Bit-Vergleich
- Isolierung & Sicherheitsdomänen:
- Schlüssel-Export/Import im Adaptive Stack muss sicherstellen, dass der Klartextschlüssel
<SK2>zu keinem Zeitpunkt ungesichert im User-Space-Speicher exponiert wird (Nutzung von Crypto-Hardware/HSM/SE-Backed CryptoProvider). - Fehler in den Einzelschritten (z. B. Ungültiger MAC/Integrity-Check beim Unwrapping) müssen zwingend auf standardisierte
ara::crypto::SecurityErrc-Fehlercodes mappen.
- Schlüssel-Export/Import im Adaptive Stack muss sicherstellen, dass der Klartextschlüssel
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.