DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_Cryptography FIG-3d58e8a388279e78 748 × 612 px 2 Release(s)

Figure 7.6: Application interface

SHA-256 Inhalts-Fingerabdruck: 3d58e8a388279e78d9926797c46a06a8c10fa493c273eba0a2ec7a3684a233f7
✦ 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: 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 Basis-Klasse für alle kryptografischen Port-Schnittstellen.
Konkrete Schnittstellen (CryptoInterface-Spezialisierungen)
  1. CryptoKeySlotInterface:
    • Schnittstelle zur Allokation, Definition und Restriktion persistenter oder flüchtiger Schlüsselspeicher (Key Slots).
    • Attribute:
      • allocateShadowCopy: Boolean [0..1] – Steuert die Allokation einer Schattenkopie für atomare Updates/Rollbacks.
      • cryptoAlgId: String [0..1] – Krypto-Algorithmus-Identifikator (z. B. standardisierter Crypto-Primitive-String).
      • cryptoObjectType: CryptoObjectTypeEnum [0..1] – Typ des Krypto-Objekts.
      • slotCapacity: PositiveInteger [0..1] – Maximale Kapazität des Slots in Bytes.
      • slotType: CryptoKeySlotTypeEnum [0..1] – Scope/Lebensdauer des Slots (machine vs. application).
  2. CryptoCertificateInterface:
    • Schnittstelle zur Verwaltung von X.509- bzw. Krypto-Zertifikaten.
    • Attribute:
      • isPrivate: Boolean [0..1] – Zugriffsbeschränkung auf den Kontext der besitzenden Applikation.
      • writeAccess: Boolean [0..1] – Erlaubt Schreib-/Aktualisierungsoperationen auf dem Zertifikatsspeicher.
  3. CryptoTrustMasterInterface:
    • Spezialisierte Schnittstelle für administrative Trust-Anchor- und Root-Zertifikatsoperationen.
  4. CryptoProviderInterface:
    • Einstiegspunkt zur Instanziierung spezifischer Krypto-Treiber-/Bibliotheks-Backends (CryptoProvider).
Aggregationen von CryptoKeySlotInterface
  • CryptoKeySlotAllowedModification (Komposition +keySlotAllowedModification, Kardinalität 0..1):
    • Definiert Restriktionen für Runtime-Modifikationen des Schlüsselslots.
    • Attribute: allowContentTypeChange: Boolean [0..1], exportability: Boolean [0..1], maxNumberOfAllowedUpdates: PositiveInteger [0..1], restrictUpdate: Boolean [0..1].
  • CryptoKeySlotContentAllowedUsage (Komposition +keySlotContentAllowedUsage, Kardinalität 0..*):
    • Feingranulare Beschränkung der erlaubten Operationen für Schlüssel im Slot.
    • Attribute: allowedKeyslotUsage: String [0..1].
Enumerationen
  • CryptoObjectTypeEnum: Undefined, SymmetricKey, PrivateKey, PublicKey, Signature, SecretSeed.
  • CryptoKeySlotTypeEnum: machine (maschinenweiter Key-Slot, z. B. ECU-Identität), application (applikationsspezifischer Key-Slot).
  • CryptoKeySlotUsageEnum: verification, encryption.

3. Dynamisches Verhalten & Sequenzablauf (falls zutreffend)

  • Da es sich um ein statisches Struktur-/Metamodell-Diagramm handelt, ist kein zeitlicher Kontrollfluss abgebildet.
  • Laufzeit-Bindung:
    1. Die Applikation deklariert einen RPortPrototype, der ein CryptoKeySlotInterface referenziert.
    2. Zur Initialisierungszeit löst der Plattform-Stack (ara::crypto::keys::EntryAccessor / ara::crypto) über das Execution Management / Service Discovery den Port auf die physisch im Manifest konfigurierte Krypto-Storage-Instanz auf.
    3. Bei Schreibversuchen validiert der Stack statisch und dynamisch die Richtlinien (restrictUpdate, maxNumberOfAllowedUpdates, writeAccess). Bei Verletzung der Constraints schlägt die Operation synchron fehl (ara::core::ErrorCode / CryptoErrc::kAccessViolation).

4. Normative Relevanz & Entwickler-Hinweise

  • Manifest-Design (ARXML):
    • Entwickler müssen über diese Metaklassen festlegen, welche Krypto-Objekte eine Adaptive Application konsumieren darf. Fehlt ein entsprechendes Interface am RPortPrototype, verweigert die ara::crypto-Plattformarchitektur den Zugriff auf Key-Slots und Zertifikate.
  • Sicherheits- & Rechte-Restriktionen:
    • exportability = false verhindert das Auslesen von Rohschlüsseln über die ara::crypto-API (Export als Klartext-Objekt unzulässig).
    • slotType = machine erfordert privilegierte Plattformrechte; reguläre Adaptive Applications sind i. d. R. auf slotType = application beschränkt.
    • allocateShadowCopy = true muss bei Update-Fähigkeit (z. B. OTA-Schlüsseltausch) gesetzt sein, um Ausfallsicherheit bei Spannungsabfall während des Schreibvorgangs im NVM zu garantieren.
  • API-Mapping:
    • Instanzen von CryptoKeySlotInterface mappen in C++ direkt auf Instanzen von ara::crypto::keys::KeySlot und steuern das Verhalten von ara::crypto::keys::KeySlotPrototypeProps.

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

R21-11 → R22-11 redaktionell Nachfolger: FIG-a42bfda30cc1044b
  • Layout-Anpassung: Die Enumeration CryptoObjectTypeEnum wurde aus dem unteren rechten Bereich in die obere linke Diagrammhälfte unterhalb von RPortPrototype verschoben.
  • Beschriftungs-Layout: Die Multiplizitäts- und Rollenbezeichner der Komposition +keySlotContentAllowedUsage wurden visuell neu ausgerichtet.

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 | + 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 (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_Cryptography S. 46 7.6 Figure 7.6: Application interface
R20-11 AUTOSAR_SWS_Cryptography S. 46 7.6 Figure 7.6: Application interface
R21-11 AUTOSAR_SWS_Cryptography S. 49 7.6 Figure 7.6: Application interface
R21-11 AUTOSAR_SWS_Cryptography S. 49 7.6 Figure 7.6: Application interface