DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_Cryptography FIG-e9f8d5a94d25edde 825 × 515 px 1 Release(s)

Figure 7.7: Key deployment

SHA-256 Inhalts-Fingerabdruck: e9f8d5a94d25edde78fe2c7edf679a5db046499ff3d2c18f84c38b041ef32081
✦ 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: AUTOSAR M2-Metamodell (UML-Klassendiagramm) zur Spezifikation von Software-Architektur und Deployment-Artefakten (ARXML).
  • Technischer Zweck & Einordnung: Spezifikation des Bereitstellungsmechanismus (Key Deployment) innerhalb des Functional Clusters Cryptography der AUTOSAR Adaptive Platform (AP, Release R20-11). Es definiert die strukturelle Entkopplung zwischen prozessunabhängigem Schnittstellenentwurf (Application Design) und prozessgebundener Zielsystemkonfiguration (Deployment). Über typisierte Mapping-Klassen wird festgelegt, wie kryptografische Schlüssel-Slots (CryptoKeySlot) und Treiber-Instanzen (CryptoProvider) auf Betriebssystem-Prozesse (Process) und Anwendungs-Ports (RPortPrototype) abgebildet werden.

2. Komponenten, Entitäten & Schnittstellen

Paket Application Design (Prozess- und plattformunabhängige Entwurfsebene)
  • PortInterface («ARElement», «AtpBlueprint», «AtpBlueprintable», «AtpType»): Abstrakte Basisklasse aller Schnittstellen.
  • CryptoInterface: Spezialisiert PortInterface; abstrakter Anker für kryptografische Schnittstellen.
  • CryptoKeySlotInterface: Spezialisiert CryptoInterface. Definiert die logischen Mindestanforderungen einer Applikation an einen Schlüsselspeicher. Attribute:
    • allocateShadowCopy: Boolean [0..1]: Flag zur Allokation eines Schattenpuffers (ermöglicht atomare Updates / Rollbacks).
    • cryptoAlgId: String [0..1]: Algorithmen-Identifikator, an den der Slot gebunden ist.
    • cryptoObjectType: CryptoObjectTypeEnum [0..1]: Typ des Objekts (z. B. symmetrischer/asymmetrischer Schlüssel, Zertifikat).
    • slotCapacity: PositiveInteger [0..1]: Maximale Nutzlastkapazität in Bytes.
    • slotType: CryptoKeySlotTypeEnum [0..1]: Persistenzcharakteristik (z. B. flüchtig/RAM, nicht-flüchtig/NVM).
  • CryptoProviderInterface: Spezialisiert CryptoInterface. Schnittstelle für allgemeine kryptografische Operationen eines Providers.
  • RPortPrototype («AbstractRequiredPortPrototype»): Client-Port der Applikation.
    • Assoziation +requiredInterface (0..1, Stereotyp «isOfType», Constraint {redefines atpType}) referenziert PortInterface.
Paket Deployment (Instanziierungs- und Ausführungskontext, Execution/Service-Manifest)
  • Process («AbstractExecutionContext»): Repräsentiert den OS-Prozesskontext mit Attributen functionClusterAffiliation: String [0..1], numberOfRestartAttempts: PositiveInteger [0..1], preMapping: Boolean [0..1].
  • CryptoProvider («Identifiable»): Repräsentiert die konkrete Implementierung/Instanz des Krypto-Stacks (z. B. HSM-Treiber, Software-Krypto-Engine).
    • Assoziation +cryptoProviderDocumentation (0..1) zu Documentation («ARElement»).
  • CryptoKeySlot («Identifiable»): Konkrete physische/logische Speicherressource auf dem Zielsystem. Führt dieselben Konfigurationsattribute wie das Interface (allocateShadowCopy, cryptoAlgId, cryptoObjectType, slotCapacity, slotType).
    • Komposition: CryptoProvider besitzt 0..* CryptoKeySlot (+keySlot, Stereotyp «atpSplitable» für die dateiübergreifende ARXML-Definition).
  • CryptoKeySlotToPortPrototypeMapping («UploadablePackageElement»): Bindeglied für Schlüsselspeicher.
    • Referenz +process (0..1): Zielprozess.
    • Referenz +keySlot (0..1): Zugeordneter CryptoKeySlot.
    • Instanz-Referenz +portPrototype («instanceRef», 0..1): Verknüpfter RPortPrototype im Anwendungsmodell.
  • CryptoProviderToPortPrototypeMapping («UploadablePackageElement»): Bindeglied für Krypto-Treiber.
    • Referenz +process (0..1): Zielprozess.
    • Referenz +cryptoProvider (0..1): Zugeordneter CryptoProvider.
    • Instanz-Referenz +portPrototype («instanceRef», 0..1): Verknüpfter RPortPrototype im Anwendungsmodell.

3. Dynamisches Verhalten & Sequenzablauf

Das Diagramm modelliert primär statische Manifest-Strukturen. Das resultierende dynamische Auflösungsverhalten zur Systemlaufzeit gestaltet sich wie folgt:

  1. Manifest-Resolution beim Prozess-Start: Der Execution Management / Crypto Daemon parst das Execution- und Service-Instance-Manifest. Anhand von CryptoKeySlotToPortPrototypeMapping wird ermittelt, welcher physische CryptoKeySlot für den jeweiligen OS-Prozesskontext reserviert ist.
  2. Port-to-Slot-Binding (SWS_CRYPT_10000): Wenn eine Applikation (AdaptiveApplicationSwComponentType) über ihren RPortPrototype (typisiert durch CryptoKeySlotInterface) auf Krypto-Funktionen zugreift, wird dieser Port transparent auf die gemappte CryptoKeySlot-Instanz im Host-System bzw. HSM aufgelöst.
  3. Provider-Lookup über Key-Slot (SWS_CRYPT_10003): Ruft die Applikation die API-Funktion zur Ermittlung des zugehörigen Providers auf (MyProvider), traversiert der Crypto-Stack die Kompositionsbeziehung vom CryptoKeySlot zu dessen aggregierendem CryptoProvider. Die Zuordnung des Providers erfolgt implizit über den Key-Slot, ohne dass die Applikation hardwarenahe Provider-Instanznamen kennen muss.

4. Normative Relevanz & Entwickler-Hinweise

  • Gelockerte Kardinalitäten (R22-11): Die Multiplizitäten der Referenzen an CryptoKeySlotToPortPrototypeMapping (+process, +keySlot, +portPrototype) und CryptoProviderToPortPrototypeMapping (+process, +cryptoProvider, +portPrototype) wurden von 1 auf 0..1 gelockert.
  • Modellierungsflexibilität: Die Lockerung ermöglicht eine inkrementelle ARXML-Erstellung und modulare Manifest-Verwaltung; Referenzen auf Prozess, Port oder Ressource können während früherer Entwicklungsschritte oder in Vorlagen zunächst ungebunden bleiben.
  • Attribut-Konsistenz: Die Konfigurationsparameter (cryptoAlgId, cryptoObjectType, slotCapacity, slotType, allocateShadowCopy) des logischen CryptoKeySlotInterface müssen mit den Merkmalen des im Deployment gebundenen CryptoKeySlot übereinstimmen.
  • Prozess-Isolation: Die optionale Prozessbindung (process [0..1]) gestattet bei gesetzter Referenz weiterhin die prozessspezifische Isolation und Rechteprüfung auf Betriebssystemebene.

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

R21-11 → R22-11 normative Änderung Vorgänger: FIG-7bb9a04c8334397e
  • CryptoKeySlotToPortPrototypeMapping: Multiplizität der Referenz +portPrototype von 1 auf 0..1 geändert.
  • CryptoKeySlotToPortPrototypeMapping: Multiplizität der Referenz +process von 1 auf 0..1 geändert.
  • CryptoKeySlotToPortPrototypeMapping: Multiplizität der Referenz +keySlot von 1 auf 0..1 geändert.
  • CryptoProviderToPortPrototypeMapping: Multiplizität der Referenz +portPrototype von 1 auf 0..1 geändert.
  • CryptoProviderToPortPrototypeMapping: Multiplizität der Referenz +process von 1 auf 0..1 geändert.
  • CryptoProviderToPortPrototypeMapping: Multiplizität der Referenz +cryptoProvider von 1 auf 0..1 geändert.
R22-11 → R23-11 normative Änderung Nachfolger: FIG-825a0e8ccdc69525
  • CryptoKeySlotToPortPrototypeMapping: Stereotyp von «UploadablePackageElement» auf «UploadableDeploymentElement» geändert.
  • CryptoProviderToPortPrototypeMapping: Stereotyp von «UploadablePackageElement» auf «UploadableDeploymentElement» geändert.
  • Documentation: Zusätzliches Stereotyp «UploadableDesignElement» ergänzt (neben «ARElement»).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

Deployment | Application Design | Identifiable | CryptoKeySlot | + allocateShadowCopy: Boolean [0..1] + cryptoAlgId: String [0..1] + cryptoObjectType: CryptoObjectTypeEnum [0..1] + slotCapacity: PositiveInteger [0..1] + slotType: CryptoKeySlotTypeEnum [0..1] | UploadablePackageElement | CryptoKeySlotToPortPrototypeMapping | AbstractExecutionContext | Process | + functionClusterAffiliation: String [0..1] + numberOfRestartAttempts: PositiveInteger [0..1] + preMapping: Boolean [0..1] | Identifiable | CryptoProvider | UploadablePackageElement | CryptoProviderToPortPrototypeMapping | ARElement | Documentation | 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 | CryptoInterface | +keySlot | 0..1 | «instanceRef» | +portPrototype | 0..1 | «atpSplitable» | +keySlot | 0..* | +process | 0..1 | «isOfType» | +requiredInterface | 0..1 {redefines atpType} | +cryptoProvider | 0..1 +process 0..1 | «instanceRef» | +portPrototype | 0..1 | +cryptoProviderDocumentation 0..1

Begleitender Spezifikationstext:

Specification of Cryptography AUTOSAR AP R22-11 signatures, hash, MAC HMAC tags). These cryptographic objects are represented as a Key Slots. Key Slots used by application are defined by the integrator in the manifest via CryptoKeySlot. CryptoKeySlotInterface and CryptoKeySlotToPortPrototypeMapping [SWS_CRYPT_10000]{DRAFT} ⌈The FC Crypto shall provide access to the CryptoKeySlots for every AdaptiveApplicationSwComponentType. Every CryptoKeySlot is represented by RPortPrototype typed by CryptoKeySlotInterface in application design.⌋(RS_CRYPTO_02004, RS_CRYPTO_02305) Assignment of CryptoKeySlots to a CryptoProvider is described in the manifest. So with the usage of a RPortPrototype that is typed by a CryptoKeySlotInterface the assignment to CryptoProvider is established. [SWS_CRYPT_10003]{DRAFT} ⌈The CryptoAPI shall provide a function to obtain Crypto Provider. With a call of ara::crypto::cryp::CryptoContext::- MyProvider the FC Crypto provides the correspinding Crypto Provider of a Key Slot.⌋(RS_CRYPTO_02009) The manifest contains separate deployment data for each Process. The class CryptoKeySlotToPortPrototypeMapping defines the mapping between a Process, a CryptoKeySlot, and an RPortPrototype. Furthermore, the class CryptoProviderToPortPrototypeMapping defines the mapping between a Process, a CryptoProvider, and an RPortPrototype. Figure 7.7 shows the relevant model elements. Additional model elements and links are only shown for context. Deployment Application Design Iden

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R22-11 AUTOSAR_SWS_Cryptography S. 97 7.7 Figure 7.7: Key deployment