AUTOSAR_EXP_SWArchitecture
FIG-00afdc9c1871b3a1
860 × 328 px
1 Release(s)
Figure 9.52: Taxonomy of Cryptographic Object Interfaces
SHA-256 Inhalts-Fingerabdruck:
00afdc9c1871b3a1965105559c7f571153854fd90937de762fca2bb736ce2987
✦
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: UML-Klassendiagramm / Schnittstellentaxonomie (statische Vererbungshierarchie von C++-Interfaces).
- Architektur-Kontext: AUTOSAR Adaptive Platform (ARA), funktionaler Cluster
ara::crypto(Cryptography Architecture, Dokument AUTOSAR_EXP_SWArchitecture, R21-11, referenzierend AUTOSAR_SWS_Cryptography). - Funktionaler Zweck: Formale Strukturierung der objektorientierten Schnittstellen zur Kapselung kryptografischer Primitive, Schlüssel und Artefakte. Das Modell trennt bewusst die Verwaltung sicherheitsrelevanter Nutzungsrestriktionen (
RestrictedUseObject) von der Serialisierbarkeit (Serializable), um unberechtigten Klartext-Export von sensitivem Schlüsselmaterial auf API-Ebene typsicher zu unterbinden.
2. Komponenten, Entitäten & Schnittstellen
Alle Schnittstellen tragen das Stereotyp «aapAPI, aapNativeInterface» (AUTOSAR Adaptive Platform Native C++ API-Interface).
CryptoObject(Basis-Schnittstelle):- Abstrakter Wurzeltyp für alle kryptografischen Entitäten im Stack.
- Stellt generische Metadaten bereit (z. B. Crypto Object Unique Identifier [COUID], Objekttyp, Provider-Zuordnung).
RestrictedUseObject:- Spezialisierung von
CryptoObject. - Ergänzt Restriktions- und Sicherheitsrichtlinien: definiert anwendungsbezogene Nutzungsmasken (Allowed Usage Flags, z. B.
kAllowSignature,kAllowDataEncryption), Gültigkeitsdauern und Algorithmen-Einschränkungen.
- Spezialisierung von
Serializable:- Orthogonale funktionale Schnittstelle für Objekte, die in Byte-Repräsentationen exportiert bzw. persistiert werden dürfen (Bereitstellung von Serialisierungsmethoden wie
ExportPublicly()).
- Orthogonale funktionale Schnittstelle für Objekte, die in Byte-Repräsentationen exportiert bzw. persistiert werden dürfen (Bereitstellung von Serialisierungsmethoden wie
- Spezialisierte Kryptografie-Objekte (Unterklassen):
SymmetricKey: SpezialisiertRestrictedUseObject. Repräsentiert symmetrische Schlüssel (z. B. AES). Nicht serialisierbar.SecretSeed: SpezialisiertRestrictedUseObject. Kapselt geheimes Entropie-/Seed-Material (z. B. für KDFs oder RNGs). Nicht serialisierbar.PrivateKey: SpezialisiertRestrictedUseObject. Repräsentiert asymmetrische private Schlüssel. Nicht serialisierbar.PublicKey: Mehrfachvererbung ausRestrictedUseObjectundSerializable. Unterliegt Nutzungsrestriktionen, ist jedoch öffentlich exportierbar.Signature: Spezialisiert direktCryptoObjectundSerializable. Kapselt das kryptografische Resultat einer Signaturoperation; benötigt keineRestrictedUseObject-Schlüsselnutzungsregeln, ist aber exportier- und transportfähig.
Vererbungs- und Beziehungstopologie:
- Generalisierung zu
CryptoObject:RestrictedUseObject→CryptoObjectSignature→CryptoObject(direkte Vererbung unter Umgehung vonRestrictedUseObject)
- Generalisierung zu
RestrictedUseObject:SymmetricKey,SecretSeed,PrivateKey,PublicKey→RestrictedUseObject
- Mehrfachvererbung zu
Serializable:PublicKey→SerializableSignature→Serializable
3. Dynamisches Verhalten & Sequenzablauf
Als statisches Schnittstellendiagramm enthält die Abbildung keine Zeitachsen oder Zustandsübergänge. Das implizierte Laufzeitverhalten innerhalb des ara::crypto-Clusters gestaltet sich wie folgt:
- Erzeugung/Lebenszyklus:
- Objekte werden nicht direkt instanziiert, sondern über Factory-Methoden des zuständigen
CryptoProvider(z. B.GeneratePrivateKey(),LoadObject()) synchron via Unique Pointer (ara::crypto::CryptoObject::Uptr) alloziert.
- Objekte werden nicht direkt instanziiert, sondern über Factory-Methoden des zuständigen
- Synchroner Kontrollfluss & Validierung:
- Vor Ausführung einer kryptografischen Operation (z. B. in
SignerPrivateCtxoderEncryptorPublicCtx) prüft der Stack synchron die Bitmaske vonRestrictedUseObject::GetAllowedUsage(). - Verletzt die angeforderte Transformation die Restriktion, bricht der Aufruf synchron ab und meldet den Fehler über
ara::core::Result(typischer Fehlercode:CryptoErrc::kUsageViolation).
- Vor Ausführung einer kryptografischen Operation (z. B. in
- Fehlerbehandlung:
- Adaptive-Plattform-spezifisch: Keine DET/DEM-Meldungen, sondern typsichere
ara::core::ErrorCode/ara::core::Result<T>-Rückgaben.
- Adaptive-Plattform-spezifisch: Keine DET/DEM-Meldungen, sondern typsichere
4. Normative Relevanz & Entwickler-Hinweise
- Architektur- und API-Vertrag:
- Security by Type Design: Geheimes Schlüsselmaterial (
PrivateKey,SymmetricKey,SecretSeed) implementiertSerializableexplizit nicht. Entwickler können diese Objekte über die Standard-API nicht versehentlich im Klartext exportieren oder serialisieren. - Persistenz & Export: Der Export oder die Persistierung geheimer Schlüssel ist ausschließlich über privilegierte Key-Management-Schnittstellen (
ara::crypto::keys::KeySlot) unter Kapselung durch Hardware-Sicherheitsmodule (HSM / Secure Elements) möglich.
- Security by Type Design: Geheimes Schlüsselmaterial (
- Auswirkungen auf C++-Entwickler:
- Abstrakte Basisschnittstellen erfordern den Einsatz von Mehrfachvererbung (
class PublicKey : public RestrictedUseObject, public Serializable). - Signatur- und Verifikationskontexte akzeptieren ausschließlich Instanzen, die den entsprechenden Schnittstellenvertrag erfüllen (z. B.
VerifierPublicCtxerwartetPublicKey, währendSignerPrivateCtxPrivateKeyverlangt). - Polymorphe Übergabe erfolgt normativ über Interface-Pointer; Destruktoren der Basisinterfaces sind
virtualausgelegt, um Ressourcenfreigabe im zugrunde liegenden Treiber sicherzustellen.
- Abstrakte Basisschnittstellen erfordern den Einsatz von Mehrfachvererbung (
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.