AUTOSAR_TPS_ManifestSpecification
FIG-d8f6ed6707ccf3ef
838 × 685 px
1 Release(s)
Figure 3.63: CryptoInterfaces for modeling of the interaction of the Application with the Crypto software
SHA-256 Inhalts-Fingerabdruck:
d8f6ed6707ccf3ef253247a7c6ad2dbbcf030da1374a5ce978d0642da43e3a52
✦
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-Klassendiagramm / AUTOSAR M2-Metamodell-Ausschnitt (Manifest-Modellierung, Adaptive Platform).
- Technischer Zweck: Spezifikation von Software-Schnittstellen (
PortInterface) für das Subsystemara::crypto. Dient der deklarativen Modellierung des Zugriffs einer Adaptive Application über standardisierte Ports (RPortPrototype) auf kryptografische Ressourcen (Key Slots, Zertifikate, Crypto Provider, Trust Master) im Application/Execution Manifest (gemäß RS_MANI_00031, TPS_MANI_03253, Release R20-11).
2. Komponenten, Entitäten & Schnittstellen
Metamodell-Klassen & Schnittstellen
PortInterface(Stereotypen:ARElement,AtpBlueprint,AtpBlueprintable,AtpType):- Generische Basisklasse aller AUTOSAR-Port-Schnittstellen.
- Beziehung: Wird über die Assoziation
+requiredInterface(0..1, «isOfType», redefiniertatpType) anAbstractRequiredPortPrototypebzw.RPortPrototypegebunden.
CryptoInterface(abstrakt):- Spezialisiert
PortInterface. - Wurzelklasse für sämtliche typspezifischen Crypto-Schnittstellen der Adaptive Platform.
- Spezialisiert
- Spezialisierungen von
CryptoInterface:CryptoKeySlotInterface: Modelliert den typsicheren Zugriff auf persistente oder flüchtige Schlüssel-Slots (ara::crypto::keys::KeySlot).allocateShadowCopy: Boolean [0..1]: Steuert, ob für Transaktionssicherheit ein Shadow-Puffer allokiert wird.cryptoAlgId: String [0..1]: Spezifiziert den Krypto-Algorithmus (z. B. Algorithmen-Identifier / Crypto Primitives).cryptoObjectType: CryptoObjectTypeEnum [0..1]: Art des gespeicherten Objekts.slotCapacity: PositiveInteger [0..1]: Maximale Kapazität des Slots in Bytes.slotType: CryptoKeySlotTypeEnum [0..1]: Gültigkeits- bzw. Isolationsbereich (machinevs.application).
CryptoCertificateInterface: Repräsentiert Schnittstellen für X.509-Zertifikate.isPrivate: Boolean [0..1]: Kennzeichnung als privates/vertrauliches Zertifikat.writeAccess: Boolean [0..1]: Erlaubt schreibenden/aktualisierenden Zugriff auf das Zertifikat.
CryptoProviderInterface: Repräsentiert die Fabrik- und Initialisierungsschnittstelle zu einem spezifischen Crypto Provider Driver/Plugin.CryptoTrustMasterInterface: Modelliert administrative/Root-of-Trust-Schnittstellen (z. B. Trust Anchor Management, Key Management Privilege).
Kompositionen & Unterstrukturen von CryptoKeySlotInterface
CryptoKeySlotAllowedModification(Komposition+keySlotAllowedModification, Kardinalität0..1):- Definiert Schreib-, Update- und Exportrestriktionen des Schlüssel-Slots.
- Attribute:
allowContentTypeChange: Boolean [0..1],exportability: Boolean [0..1],maxNumberOfAllowedUpdates: PositiveInteger [0..1],restrictUpdate: Boolean [0..1].
CryptoKeySlotContentAllowedUsage(Komposition+keySlotContentAllowedUsage, Kardinalität0..*):- Regelt granulare Verwendungszwecke des Schlüssels.
- Attribut:
allowedKeyslotUsage: String [0..1].
Enumerationen
CryptoObjectTypeEnum:Undefined,SymmetricKey,PrivateKey,PublicKey,Signature,SecretSeed.CryptoKeySlotTypeEnum:machine(maschinenweiter Shared Slot),application(applikationsisolierter Slot).CryptoKeySlotUsageEnum:verification,encryption.
3. Dynamisches Verhalten & Sequenzablauf
- Als statisches M2-Strukturdiagramm enthält das Schaubild keine direkten Laufzeit-Zustandsübergänge; es definiert jedoch das statische Berechtigungs- und Deployment-Gerüst für das Laufzeitverhalten:
- Manifest-Parsing & Slot-Mapping (Startup): Execution Management und der Crypto Daemon werten das Manifest der Adaptive Application aus. Ein
RPortPrototype, der einCryptoKeySlotInterfacereferenziert, wird gegen den physischen Key Storage gemappt. - Zugriffsbeschränkung & Validierung: Bei Aufruf von
ara::crypto::keys::OpenKeySlot()validiert der Crypto-Stack die Operationen gegenslotType,slotCapacityundCryptoKeySlotAllowedModification(z. B. Abbruch/Error bei Schreibversuch, wennrestrictUpdate == trueoder Update-LimitmaxNumberOfAllowedUpdatesüberschritten ist). - Usage Enforcement: Krypto-Operationen (Signieren, Verschlüsseln) schlagen fehl, wenn der beabsichtigte Modus nicht durch
keySlotContentAllowedUsagebzw.CryptoKeySlotUsageEnumabgedeckt ist.
- Manifest-Parsing & Slot-Mapping (Startup): Execution Management und der Crypto Daemon werten das Manifest der Adaptive Application aus. Ein
4. Normative Relevanz & Entwickler-Hinweise
- Applikations-Entwickler (
ara::crypto):- Schnittstellen stellen keine klassischen Client-Server- oder Service-Interfaces (wie
ara::com) dar, sondern dienen als formale Typisierung von Ports zur Konfiguration von Zugriffsrechten, Speicherlimits und Berechtigungs-Tokens. - Im C++-Code wird kein Code-Generator für Skeleton/Proxy generiert; die ARXML-Ports dienen dem Security-Policy-Enforcement und der Verknüpfung mit dem Plattform-Schlüsselspeicher.
- Schnittstellen stellen keine klassischen Client-Server- oder Service-Interfaces (wie
- Manifest- & Integrations-Konfiguration:
- Bei
slotType = machineist auf systemweite Eindeutigkeit und geteilte Zugriffsrechte zwischen Prozessen zu achten. - Fehlen Attribute wie
slotCapacityodercryptoObjectType, greifen standardmäßig plattformspezifische Defaults des Crypto Providers oder der Typ bleibtUndefined. allocateShadowCopy = trueerhöht die Ausfallsicherheit bei Stromausfall während Key-Updates (A/B-Swapping), benötigt aber den doppelten physischen NVM-/HSM-Speicher.
- Bei
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.