πŸ“– Dokumentation

Willkommen zur technischen Dokumentation von iKeePass. Hier findest du alle Informationen zur Nutzung und den unterstΓΌtzten Formaten.


πŸ“š Dokumentations-Uebersicht

Thema Beschreibung
πŸ“± iOS App Features Alle Funktionen der iPhone & iPad App
πŸ–₯️ macOS App Features Alle Funktionen der Mac App
⌨️ AutoType Automatisches Eintippen von Anmeldedaten (macOS)
πŸ”‘ AutoFill Automatisches Ausfuellen von Passwoertern (iOS/iPadOS)
πŸ“± AutoFill Anleitung Schritt-fuer-Schritt: Einrichten, Testen, Multi-Provider
☁️ Cloud-Speicherung Datenbank in der Cloud speichern (iOS)
πŸ“œ Versionshistorie Alle Versionen seit 2009

πŸ” UnterstΓΌtzte Formate

KDBX 3.x βœ… VollstΓ€ndig unterstΓΌtzt

Komponente Status
VerschlΓΌsselung AES-256-CBC
KDF AES-KDF
Kompression GZIP
Passwort βœ… UnterstΓΌtzt
Keyfile βœ… UnterstΓΌtzt

KDBX 4.x βœ… UnterstΓΌtzt

Komponente Status
VerschlΓΌsselung AES-256-CBC, ChaCha20
KDF AES-KDF, Argon2d, Argon2id
Kompression GZIP
HMAC-Authentifizierung βœ… UnterstΓΌtzt

πŸ”’ Sicherheitsarchitektur

VerschlΓΌsselungs-Pipeline

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   KDBX File     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Header Parse   β”‚ ← Field IDs: 0-10
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Key Derivation β”‚ ← AES-KDF / Argon2
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  AES Decrypt    β”‚ ← AES-256-CBC / ChaCha20
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Block Stream    β”‚ ← SHA-256 verified
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ GZIP Decompress β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   XML Parse     β”‚ ← KeePassFile
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Key Derivation Functions

AES-KDF

  • Standard KDF fΓΌr KDBX 3.x
  • Konfigurierbare Rundenzahl
  • Typisch: 6.000 - 60.000 Runden

Argon2d

  • Memory-hard KDF
  • Resistent gegen GPU/ASIC Angriffe
  • Parameter: Memory, Iterations, Parallelism

Argon2id

  • Hybrid aus Argon2d und Argon2i
  • Beste Balance aus Sicherheit und Performance
  • Empfohlen fΓΌr neue Datenbanken

☁️ Cloud-Speicherung (iOS)

iKeePass iOS nutzt den nativen iOS-Dateien-Dialog, um deine Datenbank in verschiedenen Cloud-Diensten zu speichern:

Cloud-Dienst Status
Apple iCloud Drive βœ… Nativ integriert
Nextcloud βœ… Unterstuetzt
Google Drive βœ… Unterstuetzt
Microsoft OneDrive βœ… Unterstuetzt
Dropbox βœ… Unterstuetzt

So funktioniert’s

  1. Installiere die Cloud-App (z.B. Nextcloud, Google Drive)
  2. Aktiviere den Dienst in der iOS “Dateien”-App
  3. Waehle beim Speichern/Oeffnen in iKeePass den Cloud-Speicherort

Vollstaendige Anleitung zur Cloud-Speicherung


πŸ“± Plattform-Spezifisches

macOS (iKeePass)

Komponente Technologie
Language Swift 6.0
UI Framework SwiftUI
Min. OS macOS 14.0 (Sonoma)
State @Observable
Layout NavigationSplitView

iOS (iKeePassIOS)

Komponente Technologie
Language Swift 5.9
UI Framework SwiftUI
Min. OS iOS 17.0
State @Observable
Navigation TabView + NavigationStack
Biometrie LocalAuthentication

πŸ”§ KeePass-KompatibilitΓ€t

iKeePass ist vollstΓ€ndig kompatibel mit:

  • βœ… KeePass 2.x (Windows)
  • βœ… KeePassXC (Cross-Platform)
  • βœ… KeePassium (iOS/macOS)
  • βœ… KeePass2Android (Android)
  • βœ… MacPass (macOS)

Getestete Datenbanken

Format Version Status
KDBX 3.1 βœ… VollstΓ€ndig
KDBX 4.0 βœ… VollstΓ€ndig
KDBX 4.1 βœ… VollstΓ€ndig
KDB 1.x ⏳ Geplant

πŸ“Š Features im Detail

Security Dashboard

Das integrierte Dashboard analysiert deine PasswΓΆrter:

Analyse Beschreibung
Security Score Gesamtbewertung 0-100%
Schwache PasswΓΆrter Kurz, einfach, keine Sonderzeichen
Doppelte PasswΓΆrter Gleiche PasswΓΆrter mehrfach verwendet
Alte PasswΓΆrter Nicht geΓ€ndert seit >90 Tagen

TOTP/OTP Support

Integrierte Zwei-Faktor-Authentifizierung:

  • TOTP (Time-based One-Time Password)
  • RFC 6238 kompatibel
  • 30-Sekunden Intervalle
  • 6-stellige Codes (Standard)

πŸ› οΈ Entwickler-Informationen

Architektur

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   Views                      β”‚
β”‚  (SwiftUI - ContentView, EntryDetailView)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  AppState                    β”‚
β”‚           (@Observable, @MainActor)          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           KeePassDatabaseService             β”‚
β”‚     (CRUD, Encryption, Decryption)          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                      β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              KeePassModels                   β”‚
β”‚  (iKeePassDatabase, iKeePassEntry, etc.)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Dependencies

  • CommonCrypto - AES VerschlΓΌsselung
  • CryptoKit - SHA-256, HMAC
  • zlib - GZIP Kompression
  • Argon2 - Key Derivation (extern)