AUTOSAR_SWS_Cryptography
FIG-a42bfda30cc1044b
778 × 522 px
1 Release(s)
Figure 7.6: Application interface
SHA-256 Inhalts-Fingerabdruck:
a42bfda30cc1044b5b8845708f4de66220b318931e12b492c63ffbc4f33f9359
✦
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 Subsystemara::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ät0..1, redefiniertatpType) aufPortInterface.
- Client-Port einer Adaptive Application. Typisiert über die Assoziation
CryptoInterface:- Abstrakte Spezialisierung (
Generalization) vonPortInterface; fungiert als Basis-Klasse für alle kryptografischen Port-Schnittstellen.
- Abstrakte Spezialisierung (
Konkrete Schnittstellen (CryptoInterface-Spezialisierungen)
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 (machinevs.application).
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.
CryptoTrustMasterInterface:- Spezialisierte Schnittstelle für administrative Trust-Anchor- und Root-Zertifikatsoperationen.
CryptoProviderInterface:- Einstiegspunkt zur Instanziierung spezifischer Krypto-Treiber-/Bibliotheks-Backends (
CryptoProvider).
- Einstiegspunkt zur Instanziierung spezifischer Krypto-Treiber-/Bibliotheks-Backends (
Aggregationen von CryptoKeySlotInterface
CryptoKeySlotAllowedModification(Komposition+keySlotAllowedModification, Kardinalität0..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ät0..*):- 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
- Da es sich um ein statisches Struktur-/Metamodell-Diagramm handelt, ist kein zeitlicher Kontrollfluss abgebildet.
- Laufzeit-Bindung:
- Die Applikation deklariert einen
RPortPrototype, der einCryptoKeySlotInterfacereferenziert. - 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. - 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).
- Die Applikation deklariert einen
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 dieara::crypto-Plattformarchitektur den Zugriff auf Key-Slots und Zertifikate.
- Entwickler müssen über diese Metaklassen festlegen, welche Krypto-Objekte eine Adaptive Application konsumieren darf. Fehlt ein entsprechendes Interface am
- Sicherheits- & Rechte-Restriktionen:
exportability = falseverhindert das Auslesen von Rohschlüsseln über dieara::crypto-API (Export als Klartext-Objekt unzulässig).slotType = machineerfordert privilegierte Plattformrechte; reguläre Adaptive Applications sind i. d. R. aufslotType = applicationbeschränkt.allocateShadowCopy = truemuss 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
CryptoKeySlotInterfacemappen in C++ direkt auf Instanzen vonara::crypto::keys::KeySlotund steuern das Verhalten vonara::crypto::keys::KeySlotPrototypeProps.
- Instanzen von
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.