DEENESPTFRRUARHIKOZHNL
AUTOSAR_TPS_ManifestSpecification FIG-bc64dee053731e14 838 × 685 px 1 Release(s)

Figure 3.58: CryptoInterfaces for modeling of the interaction of the Application with the Crypto software

SHA-256 Inhalts-Fingerabdruck: bc64dee053731e14adb2eb2e0ec01cff72129b3ba7b7a52931f942a01547c4d9
✦ 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

  • Klassifikation: UML-Klassendiagramm / AUTOSAR M2-Metamodell-Ausschnitt (Manifest-Modellierung, Adaptive Platform).
  • Technischer Zweck: Spezifikation von Software-Schnittstellen (PortInterface) für das Subsystem ara::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», redefiniert atpType) an AbstractRequiredPortPrototype bzw. RPortPrototype gebunden.
  • CryptoInterface (abstrakt):
    • Spezialisiert PortInterface.
    • Wurzelklasse für sämtliche typspezifischen Crypto-Schnittstellen der Adaptive Platform.
  • 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 (machine vs. 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ät 0..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ät 0..*):
    • 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:
    1. Manifest-Parsing & Slot-Mapping (Startup): Execution Management und der Crypto Daemon werten das Manifest der Adaptive Application aus. Ein RPortPrototype, der ein CryptoKeySlotInterface referenziert, wird gegen den physischen Key Storage gemappt.
    2. Zugriffsbeschränkung & Validierung: Bei Aufruf von ara::crypto::keys::OpenKeySlot() validiert der Crypto-Stack die Operationen gegen slotType, slotCapacity und CryptoKeySlotAllowedModification (z. B. Abbruch/Error bei Schreibversuch, wenn restrictUpdate == true oder Update-Limit maxNumberOfAllowedUpdates überschritten ist).
    3. Usage Enforcement: Krypto-Operationen (Signieren, Verschlüsseln) schlagen fehl, wenn der beabsichtigte Modus nicht durch keySlotContentAllowedUsage bzw. CryptoKeySlotUsageEnum abgedeckt ist.

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.
  • Manifest- & Integrations-Konfiguration:
    • Bei slotType = machine ist auf systemweite Eindeutigkeit und geteilte Zugriffsrechte zwischen Prozessen zu achten.
    • Fehlen Attribute wie slotCapacity oder cryptoObjectType, greifen standardmäßig plattformspezifische Defaults des Crypto Providers oder der Typ bleibt Undefined.
    • allocateShadowCopy = true erhöht die Ausfallsicherheit bei Stromausfall während Key-Updates (A/B-Swapping), benötigt aber den doppelten physischen NVM-/HSM-Speicher.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R20-11 → R21-11 keine inhaltliche Änderung Nachfolger: FIG-d8f6ed6707ccf3ef

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

AbstractRequiredPortPrototype | RPortPrototype | ARElement AtpBlueprint AtpBlueprintable | AtpType | PortInterface | CryptoKeySlotInterface | + allocateShadowCopy: Boolean [0..1] + cryptoAlgId: String [0..1] + cryptoObjectType: CryptoObjectTypeEnum [0..1] + slotCapacity: PositiveInteger [0..1] + slotType: CryptoKeySlotTypeEnum [0..1] | CryptoProviderInterface CryptoCertificateInterface | + isPrivate: Boolean [0..1] + writeAccess: Boolean [0..1] CryptoTrustMasterInterface | «enumeration» CryptoObjectTypeEnum | Undefined SymmetricKey PrivateKey PublicKey Signature SecretSeed | CryptoKeySlotAllowedModification | + allowContentTypeChange: Boolean [0..1] + exportability: Boolean [0..1] + maxNumberOfAllowedUpdates: PositiveInteger [0..1] + restrictUpdate: Boolean [0..1] | CryptoKeySlotContentAllowedUsage | + allowedKeyslotUsage: String [0..1] | CryptoInterface | «enumeration» CryptoKeySlotTypeEnum | machine application | «enumeration» CryptoKeySlotUsageEnum | verification encryption | +keySlotContentAllowedUsage 0..* | «isOfType» +requiredInterface | 0..1 {redefines atpType} | +keySlotAllowedModification 0..1

Vorkommen in AUTOSAR-Releases (2)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_TPS_ManifestSpecification S. 154 3.58 Figure 3.58: CryptoInterfaces for modeling of the interaction of the Application with the Crypto software
R20-11 AUTOSAR_TPS_ManifestSpecification S. 154 3.58 Figure 3.58: CryptoInterfaces for modeling of the interaction of the Application with the Crypto software