GoBD Compliance Report.
Technische Dokumentation der implementierten Sicherheits- und Compliance-Funktionen in Xevono.
Kernsicherheit
Kryptografische Verfahren
AES-256-GCM (NIST SP 800-38D)
Authentifizierte Verschlüsselung mit Galois/Counter Mode
- 256-Bit Schlüssellänge (Symmetrisch)
- Galois/Counter Mode (GCM) für garantierte Datenintegrität
- Einmalige 96-Bit Nonce pro Operation (NIST konform)
- Auth-Tag Validierung vor Entschlüsselung (Vermeidung von Padding-Oracle-Angriffen)
- Verwendet hardware-beschleunigte AES-Instruktionen (Apple Secure Enclave wenn verfügbar)
SHA-256 (FIPS 180-4)
Kryptographischer Hash-Algorithmus für Datenintegrität
- 256-Bit Digest-Länge
- Verwendung: HMAC-Signaturen, Schlüssel-Fingerprints, Datei-Integrität
- Resistent gegen Kollisionsangriffe
- Deterministische Berechnung gemäß FIPS 180-4 Standard
HKDF-SHA256 (RFC 5869)
HMAC-basierte Schlüsselableitungsfunktion
- Extract-and-Expand Schlüsselableitung
- Verwendung eines 32-Byte kryptographisch sicheren Zufalls-Salts
- Kontext-gebundene Info-Strings ('Xevono-Session-v2')
- Gewährleistet Unabhängigkeit der Sitzungsschlüssel vom Hauptschlüssel
Schlüsselverwaltung
Sichere Systemspeicherung
Geschützte Schlüsselspeicherung im Betriebssystem
- Zugriff nur bei entsperrtem Gerät
- Schlüssel nur bei Gerätefreigabe verfügbar
- Lokale Speicherung ohne Cloud-Synchronisation
Cloud-Schlüsselsynchronisation
Optionale Schlüsselsynchronisation für mehrere Geräte
- Sichere Synchronisation über Cloud-Dienst
- Geräteübergreifende Schlüsselverwaltung
- Separater Schlüssel für Cloud-Sicherungen
Schlüssel-Fingerabdruck
Kryptographischer Hash des Hauptschlüssels zur Identifikation
- Eindeutige Identifikation ohne Offenlegung des Schlüssels
- Ermöglicht Schlüsselverifikation
- Gespeichert in Sicherungsmetadaten
Schlüssel-Identifikator
Erweiterter Schlüsselabgleich für automatische Cloud-Synchronisation
- Kryptographischer Hash des Cloud-Hauptschlüssels
- Automatische Schlüsselvalidierung bei Synchronisation
- Verhindert Wiederherstellung mit falschem Schlüssel
- Prüfung vor jeder Synchronisationsoperation
Automatische Synchronisationsverschlüsselung
Automatische Ende-zu-Ende-Verschlüsselung für Cloud-Dienst
- Industriestandard-Verschlüsselung für alle Cloud-Daten
- Schlüssel verbleibt im geschützten Schlüsselspeicher
- Keine unverschlüsselten Daten in der Cloud gespeichert
- Transparente Ver- und Entschlüsselung
Biometrischer Schutz
Biometrische Authentifizierung
iOS LocalAuthentication Framework Integration
- Asynchrone Authentifizierungsanfrage
- System-Policy-Evaluierung für Gerätefreigabe
- Geschützte Aktionen: Schlüsselexport, Datenlöschung
- Audit Trail: Protokollierung ohne sensible Daten
Authentifizierungs-Fallback
Mehrstufige Authentifizierung mit automatischem Fallback
- Primär: FaceID / TouchID
- Sekundär: Geräte-Passcode
- Legacy-Unterstützung für ältere Exportmethoden
- Authentifizierungspflicht für kritische Aktionen
Jailbreak-Erkennung
Umfassende Geräteintegritätsprüfung
Native Implementierung ohne externe Abhängigkeiten
- Prüfung auf bekannte Jailbreak-URL-Schemata
- Dateisystem-Analyse auf verdächtige Pfade (40+)
- Prüfung auf lesbare System-Verzeichnisse
- Sandbox-Integritätsprüfung
- Symbolische Link-Erkennung
Runtime-Integritätsprüfungen
Low-Level Systemprüfungen
- Dynamische Bibliotheks-Analyse
- Erkennt: Bekannte Injection-Frameworks und Debugger
- Prozess-Isolationsprüfung
- Sandbox-Verletzung = Jailbreak erkannt
- Sofortige Reaktion bei Erkennung
Datenschutz-Konformität
Alle Checks lokal, keine Datenübertragung
- Simulator-Modus: Prüfungen deaktiviert
- Mac Catalyst: Separate Behandlung
- Keine Telemetrie, keine Server-Reports
- Ergebnis nur lokal für View-Only-Modus genutzt
Datenintegrität
Datenintegrität & Manipulationsschutz
Prüfsummen auf Eintragsebene
Jeder Fahrtenbucheintrag erhält eine SHA-256 Prüfsumme
- SHA-256 Hash über: ID, Fahrzeug, Fahrer, Datum, Orte, Kilometerstand, Zweck
- ISO8601-Zeitstempel mit Millisekundenpräzision (.withFractionalSeconds)
- Pipe-separierte Feldverkettung für deterministische Berechnung
- Automatische Neuberechnung bei jeder Änderung
Prüfsummen auf Protokollebene
Jeder Audit-Log-Eintrag erhält eigene SHA-256 Prüfsumme
- Berechnet aus: ID, Eintragsreferenz, Zeitstempel, Änderungstyp, Feldänderungen
- Base64-kodierte Feldänderungen in Prüfsumme einbezogen
- Checksumme wird bei Erstellung berechnet und gespeichert
- Nachträgliche Manipulation erkennbar
HMAC-SHA256 Signaturen
Backup-Signaturen verwenden HMAC-SHA256 (RFC 2104) statt einfachem Hash
- Constant-Time Comparison verhindert Timing-Attacken
- Legacy-Signatur-Fallback für Abwärtskompatibilität
- Validierung vor Entschlüsselung – Abbruch bei Mismatch
- XOR-basierter Byte-Vergleich ohne Early-Exit
Unveränderliches Änderungsprotokoll
Persistenter Audit Trail
Jede Änderung wird als eigene Entität mit Prüfsumme gespeichert
- Änderungstypen: erstellt, geändert, abgeschlossen, gelöscht
- Erfasste Daten: Zeitstempel, Fahrer, Beschreibung, Prüfsumme
- Strukturierte Feldänderungen mit Vorher/Nachher-Werten
- Automatische Zeitstempelsetzung bei Erstellung
Referenzerhaltung bei Löschung
Verknüpfung wird getrennt, Audit-Eintrag bleibt erhalten
- Protokolleinträge werden bei Löschung nicht mitgelöscht
- Gelöschte Fahrt → Audit-Historie bleibt vollständig
- Jeder Löschvorgang wird als eigener Audit-Eintrag erfasst
- Vollständige forensische Nachvollziehbarkeit
System-Ereignisse
Restore-Vorgänge werden mit Versionsinformation protokolliert
- Backup-Wiederherstellung wird automatisch protokolliert
- Erfasst: Zeitstempel, App-Version, Backup-Version
- Automatische Kennzeichnung als System-Aktion
- Ressourcenlimits zur Speichererschöpfungs-Prävention
Lösch-Zeitstempel
Gelöschte Daten werden markiert, nicht physisch entfernt
- Löschzeitpunkt auf allen Hauptentitäten erfasst
- Einträge, Fahrer und Fahrzeuge mit Archivierungsfunktion
- Historische Nachvollziehbarkeit gewährleistet
Sicherungs-Export
Gelöschte Daten werden vollständig in Sicherungen aufgenommen
- Alle Entitäten einschließlich Löschstatus in Sicherungsstruktur
- Änderungsprotokoll enthält Löschvorgänge
- Wiederherstellung mit originalem Archivierungsstatus
Zeitstempel & Protokollierung
Erstellungs- und Änderungszeitstempel
Automatische Zeiterfassung bei allen Datenoperationen
- Erstellungszeitpunkt des Eintrags
- Zeitpunkt der letzten Änderung
- Start- und Endzeiten der Fahrten
Standardisiertes Zeitformat
Einheitliches Zeitformat für Prüfsummenberechnung
- Internationaler Standard für Datums- und Zeitangaben
- Millisekundenpräzision
- Deterministische Darstellung für Hash-Berechnung
Server & Backup
Serverseitige Verifizierung & WORM-Speicher
Immutable WORM Storage (Schweiz)
Physisch unveränderliche Datenspeicherung in Azure Switzerland North (Zürich)
- Write-Once-Read-Many (WORM) Technologie erzwingt Unveränderlichkeit
- Gesetzliche Aufbewahrungsrichtlinien technisch erzwungen
- Datenresidenz ausschließlich in der Schweiz
- Azure Blob Storage mit Time-Based Retention Policies
Serverseitige Notarisierung
Unabhängige Beglaubigung der Prüfsummen durch einen vertrauenswürdigen Server
- Unabhängige Verifizierung der Client-Daten vor Speicherung
- SHA-256-Prüfsumme mit Server-Zeitstempel serverseitig hinterlegt
- WORM-Speicher macht notarisierte Einträge unveränderlich
- Echtzeit-Validierung von App Check Tokens
App Attestation & Integrität
Sicherstellung der App-Authentizität durch Firebase App Check
- Verifizierung der binären Integrität der Xevono App
- Blockiert Anfragen von manipulierten Apps oder Skripten
- Schutz vor API-Missbrauch und gefälschten Einträgen
- DeviceCheck / App Attest Integration (iOS)
Sicherungsformat
Verschlüsselter Container
Proprietäres Format mit Versionserkennung und Integritätsprüfung
- Magic Bytes Header zur Formatidentifikation
- Strukturierte Metadaten: Version, Zeitstempel, Verschlüsselungstyp
- Backup-Informationen: Geräte-ID, Größen, Verschlüsselungsmodus
- Abwärtskompatibilität mit älteren Formatversionen
Backup-Metadaten
Strukturierte Informationen zu jeder Sicherung
- Eindeutige Gerätekennung
- Anzahl gesicherter Fahrtenbucheinträge
- Größen-Tracking: Original → Komprimiert → Verschlüsselt
- Verschlüsselungsmodus-Indikator
Verarbeitungskette
JSON → Komprimierung → Verschlüsselung → Prüfsumme
- 1. Serialisierung der Fahrtenbuchdaten
- 2. zlib-Komprimierung
- 3. AES-256-GCM Verschlüsselung mit Sitzungsschlüssel
- 4. SHA-256 Prüfsumme über verschlüsselte Daten
- 5. Container-Verpackung mit Header
Export & Compliance
GDPdU/GoBD Export
CSV-Dateien
Vier separate Dateien für IDEA-Prüfsoftware
- fahrten.csv: Alle Fahrtenbucheinträge mit Prüfsumme
- fahrzeuge.csv: Fahrzeugstammdaten inkl. FIN
- fahrer.csv: Fahrerstammdaten mit Adresse
- aenderungsprotokoll.csv: Vollständiger Audit Trail
index.xml (GDPdU DTD)
Metadaten-Beschreibung gemäß gdpdu-01-08-2002.dtd
- DOCTYPE DataSet SYSTEM 'gdpdu-01-08-2002.dtd'
- Semikolon (;) als Feldtrennzeichen
- Datumsformat: yyyy-MM-dd, DateTime: yyyy-MM-dd HH:mm:ss
- NSFileCoordinator für atomare ZIP-Erstellung
- DataSupplier: Valeford UG (haftungsbeschränkt)
Lückenerkennung
Intelligente Lückenerkennung
Automatische Erkennung von Kilometerstand-Abweichungen
- Vergleich: Erwarteter vs. tatsächlicher Kilometerstand
- Erkennung bei Fahrtstart und -ende
- Benutzer-Prompt zur Lückendokumentation
- Automatische Generierung von Korrektureinträgen
Compliance-Konformität
Lückenlose Fahrtenbuchführung nach gesetzlichen Vorgaben
- Kilometerstand-Validierung bei jeder Fahrt
- Änderungsprotokoll für nachträgliche Korrekturen
- Automatische Kennzeichnung von Nachtragungen
- Zeitraum-Überbrückung für Lückenfahrten
Übersicht
Technische Übersicht
| Komponente | Verfahren | Sicherheitsniveau | Technologie |
|---|---|---|---|
| Verschlüsselung | Galois/Counter Mode | 256 Bit | CryptoKit (Apple) |
| Schlüsselableitung | Hash-basiert (HKDF) | 256 Bit | CryptoKit (Apple) |
| Prüfsummenfunktion | SHA-256 Hash | 256 Bit | CryptoKit (Apple) |
| Komprimierung | zlib (DEFLATE) | – | zlib Bibliothek |
| Schlüsselspeicher | Secure Enclave / Keychain | – | iOS / iPadOS |