DEENESPTFRRUARHIKOZHNL
AUTOSAR_AP_SWS_Cryptography FIG-caffa5761c31d86c 873 × 423 px 1 Release(s)

Figure 7.6: Application interface

SHA-256 Inhalts-Fingerabdruck: caffa5761c31d86c8aa09f5813944dbd05f2f0a26b76403650f4c86a582dfd46
✦ 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: Formelles UML-Klassendiagramm der AUTOSAR Adaptive Platform (M2-Metamodell-Ebene).
  • Technischer Zweck: Modellierung der Service- und Port-Schnittstellen (PortInterface) für das Subsystem ara::crypto. Es definiert die typisierte Port-basierte Interaktion zwischen einer Adaptive Application (RPortPrototype) und den kryptografischen Diensten/Ressourcen der Plattform (Key-Slots, Zertifikate, Trust-Master, Crypto-Provider) im Manifest (ARXML-Design-Phase).

2. Komponenten, Entitäten & Schnittstellen

Metamodell-Klassen & Stereotypen
  • PortInterface (Stereotypen: «ARElement», «AtpBlueprint», «AtpBlueprintable», «AtpType»):
    • Generische Basisklasse aller AUTOSAR-Schnittstellenbeschreibungen.
  • AbstractRequiredPortPrototype / RPortPrototype:
    • Client-Port einer Adaptive Application. Typisiert über die Assoziation «isOfType» (+requiredInterface, Multiplizität 0..1, redefiniert atpType) auf PortInterface.
  • CryptoInterface:
    • Abstrakte Spezialisierung (Generalization) von PortInterface; fungiert als Basisklasse für alle kryptografischen Port-Schnittstellen.
Schlüssel- und Zertifikatsschnittstellen
  1. AbstractCryptoKeySlotInterface (abstrakt):
    • Gemeinsame Basisklasse für alle Schlüsselslot-Schnittstellen, abgeleitet von CryptoInterface.
    • Attribute:
      • allocateShadowCopy: Boolean [0..1] – Allokation einer Schattenkopie für atomare Updates.
      • cryptoAlgId: String [0..1] – Algorithmen-Identifikator.
      • cryptoObjectType: CryptoObjectTypeEnum [0..1] – Typ des Krypto-Objekts.
      • slotCapacity: PositiveInteger [0..1] – Maximale Kapazität des Slots in Bytes.
      • slotType: CryptoKeySlotTypeEnum [0..1] – Lebensdauer-/Sichtbarkeitsbereich (machine vs. application).
  2. CryptoKeySlotInterface:
    • Konkrete Spezialisierung von AbstractCryptoKeySlotInterface zur Definition und Bereitstellung des Key-Slots.
  3. CryptoKeySlotClientInterface:
    • Konkrete Spezialisierung von AbstractCryptoKeySlotInterface für dedizierte Client-Zugriffe auf Schlüsselspeicher.
  4. CryptoCertificateInterface:
    • Schnittstelle zur Verwaltung von Zertifikaten.
    • Attribute:
      • isPrivate: Boolean [0..1] – Zugriffsbeschränkung auf den Applikationskontext.
      • writeAccess: Boolean [0..1] – Schreib-/Aktualisierungsberechtigung.
  5. CryptoTrustMasterInterface:
    • Spezialisierte Schnittstelle für Root-Zertifikats- und Trust-Anchor-Operationen.
  6. CryptoProviderInterface:
    • Einstiegspunkt zur Anbindung und Instanziierung von Krypto-Treibern.
Aggregationen von AbstractCryptoKeySlotInterface
  • CryptoKeySlotAllowedModification (Komposition +keySlotAllowedModification, Kardinalität 0..1):
    • Restriktionen für Laufzeit-Modifikationen des Key-Slots.
    • Attribute: allowContentTypeChange: Boolean [0..1], exportability: Boolean [0..1], maxNumberOfAllowedUpdates: PositiveInteger [0..1], restrictUpdate: Boolean [0..1].
  • CryptoKeySlotContentAllowedUsage (Komposition +keySlotContentAllowedUsage, Kardinalität 0..*):
    • Restriktionen der zulässigen Operationen für Schlüssel im Slot.
    • Attribute: allowedKeyslotUsage: String [0..1].
Enumerationen
  • CryptoObjectTypeEnum: Literale Undefined, SymmetricKey, PrivateKey, PublicKey, Signature, SecretSeed.
  • CryptoKeySlotTypeEnum: Literale machine, application.
  • CryptoKeySlotUsageEnum: Literale verification, encryption.

3. Dynamisches Verhalten & Sequenzablauf

Da es sich um ein statisches UML-Klassendiagramm des Metamodells handelt, sind keine dynamischen Interaktionen modelliert. Der Konfigurations- und Bindungsablauf im Design-Manifest:

  1. Deklaration des Servicebedarfs: Eine Adaptive Application definiert über RPortPrototype eine Abhängigkeit zu kryptografischen Diensten.
  2. Typisierung mit Schnittstellentrennung: Der Port bindet über «isOfType» (+requiredInterface) an eine Spezialisierung von CryptoInterface. Für den Schlüsselspeicherzugriff kann nun explizit zwischen CryptoKeySlotClientInterface (konsumierende Client-Schnittstelle) und CryptoKeySlotInterface differenziert werden.
  3. Sicherheits-Parametrierung: Die in AbstractCryptoKeySlotInterface definierten Attribute sowie die Aggregationen CryptoKeySlotAllowedModification und CryptoKeySlotContentAllowedUsage bestimmen die Zugriffs- und Verwendungsschranken, die vom Krypto-Stack durchgesetzt werden.

4. Normative Relevanz & Entwickler-Hinweise

  • Architekturelle Trennung (Client vs. Slot-Definition): Durch die Einführung von AbstractCryptoKeySlotInterface und CryptoKeySlotClientInterface wird im Metamodell eine saubere Trennung zwischen der Bereitstellung eines Key-Slots und der konsumierenden Client-Schnittstelle etabliert.
  • Vererbung von Metadaten und Restriktionen: Sowohl CryptoKeySlotInterface als auch CryptoKeySlotClientInterface erben alle Speicherattribute sowie die Restriktionen CryptoKeySlotAllowedModification und CryptoKeySlotContentAllowedUsage von AbstractCryptoKeySlotInterface.
  • Modellmigration: Bestehende Manifest-Modelle, die zuvor CryptoKeySlotInterface für Client-Ports verwendet haben, müssen gegebenenfalls auf CryptoKeySlotClientInterface migriert werden, sofern das Plattformprofil dies für konsumierende RPortPrototype-Instanzen vorschreibt.

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

R23-11 → R24-11 normative Änderung Vorgänger: FIG-b506c0d91f834c55
  • Metamodell-Refactoring (Klassenhierarchie): Einführung der neuen abstrakten Basisklasse AbstractCryptoKeySlotInterface als direkte Spezialisierung von CryptoInterface.
  • Attribut- und Assoziationsverschiebung: Alle Attribute (allocateShadowCopy, cryptoAlgId, cryptoObjectType, slotCapacity, slotType) sowie die Kompositionen +keySlotAllowedModification und +keySlotContentAllowedUsage wurden von CryptoKeySlotInterface in AbstractCryptoKeySlotInterface verlagert.
  • Neue Schnittstelle: Einführung der konkreten Klasse CryptoKeySlotClientInterface als Spezialisierung von AbstractCryptoKeySlotInterface für dedizierte Client-Port-Zugriffe auf Schlüsselspeicher.
  • Schnittstellen-Anpassung: CryptoKeySlotInterface erbt nun von AbstractCryptoKeySlotInterface (statt direkt von CryptoInterface) und besitzt im Diagramm keine eigenen Attribute mehr.
  • Notation: Den Enumerationen CryptoObjectTypeEnum, CryptoKeySlotTypeEnum und CryptoKeySlotUsageEnum wurde der UML-Standard-Bereichskopf literals hinzugefügt; CryptoObjectTypeEnum wurde in die obere rechte Ecke verschoben.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

AbstractRequiredPortPrototype | RPortPrototype | ARElement AtpBlueprint AtpBlueprintable | AtpType | PortInterface | CryptoKeySlotInterface | CryptoProviderInterface CryptoCertificateInterface | + isPrivate: Boolean [0..1] + writeAccess: Boolean [0..1] CryptoTrustMasterInterface | «enumeration» CryptoObjectTypeEnum | literals 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 | literals machine application | «enumeration» CryptoKeySlotUsageEnum | literals verification encryption | AbstractCryptoKeySlotInterface | + allocateShadowCopy: Boolean [0..1] + cryptoAlgId: String [0..1] + cryptoObjectType: CryptoObjectTypeEnum [0..1] + slotCapacity: PositiveInteger [0..1] + slotType: CryptoKeySlotTypeEnum [0..1] CryptoKeySlotClientInterface | +keySlotContentAllowedUsage 0..* +keySlotAllowedModification 0..1 | «isOfType» | +requiredInterface | 0..1 {redefines atpType}

Begleitender Spezifikationstext:

Specification of Cryptography AUTOSAR AP R24-11 Note: the attribute cryptoKeyName of CryptoKeySlotInterface is used to match platform Key Slots and application-manifest specified machine Key Slots. An Adaptive Application that uses a Crypto Provider without keys (e.g. Hashing, Random Number Generation) or only session keys may use the CryptoProviderInterface. Additionally, if the application requires certificates, this can be configured using the CryptoCertificateInterface. Figure 7.6 shows the model elements that are used to configure access from an Adaptive Application to elements of FC Crypto. AbstractRequiredPortPrototype RPortPrototype ARElement AtpBlueprint AtpBlueprintable AtpType PortInterface CryptoKeySlotInterface CryptoProviderInterface CryptoCertificateInterface + isPrivate: Boolean [0..1] + writeAccess: Boolean [0..1] CryptoTrustMasterInterface «enumeration» CryptoObjectTypeEnum literals

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R24-11 AUTOSAR_AP_SWS_Cryptography S. 39 7.6 Figure 7.6: Application interface