3.9 KiB
3.9 KiB
Datenschutz und Verschlüsselung - Harheimer TC
🔒 Verschlüsselung implementiert
Verschlüsselte Daten:
- Mitgliedschaftsanträge: Alle persönlichen Daten (Name, Adresse, E-Mail, Telefon, Bankdaten)
- Benutzerdaten: E-Mail, Name, Telefon (in
users.json) - Mitgliederdaten: Name, E-Mail, Telefon, Adresse (in
members.json)
Nicht verschlüsselte Daten:
- News-Artikel: Autor-Namen (öffentlich sichtbar)
- Konfiguration: Vereinsdaten, Trainingszeiten (öffentlich)
- Termine: Event-Daten (öffentlich)
🛡️ Sicherheitsmaßnahmen
Verschlüsselung:
- Algorithmus: AES-256-GCM
- Schlüsselableitung: PBKDF2 mit 100.000 Iterationen
- Salt: 64 Bytes zufällig generiert
- IV: 16 Bytes zufällig generiert
- Auth-Tag: 16 Bytes für Integrität
Passwort-Sicherheit:
- Hashing: bcryptjs mit Salt
- Rounds: 10 (konfigurierbar)
Datenzugriff:
- Authentifizierung: JWT-Token
- Autorisierung: Rollenbasierte Zugriffskontrolle
- Session-Management: Sichere Cookies
📋 Datenverarbeitung
Mitgliedschaftsanträge:
- Eingabe: Formular auf Website
- Verschlüsselung: Sofortige Verschlüsselung aller persönlichen Daten
- Speicherung: Verschlüsselte Dateien in
server/data/membership-applications/ - E-Mail: Benachrichtigung an Vorstand/Trainer
- Genehmigung: Entschlüsselung und Übertragung in Mitgliederliste
- Archivierung: Original-Anträge bleiben verschlüsselt gespeichert
Benutzerdaten:
- Registrierung: E-Mail, Name, Telefon
- Login: E-Mail, Passwort (gehashed)
- Profil: Bearbeitbare Kontaktdaten
- Rollen: admin, vorstand, mitglied
Mitgliederdaten:
- Manuell hinzugefügt: Direkt in
members.json - Aus Anträgen: Nach Genehmigung übertragen
- Zugriff: Nur für "vorstand" Rolle sichtbar
🔄 Datenfluss
Mitgliedschaftsformular
↓
Verschlüsselung (AES-256-GCM)
↓
Speicherung (verschlüsselt)
↓
E-Mail-Benachrichtigung
↓
CMS-Verwaltung
↓
Genehmigung/Ablehnung
↓
Bei Genehmigung: Übertragung in Mitgliederliste
⚖️ GDPR-Konformität
Rechtmäßigkeit:
- Einwilligung: Explizite Zustimmung im Formular
- Vertragserfüllung: Mitgliedschaftsvertrag
- Berechtigtes Interesse: Vereinsverwaltung
Betroffenenrechte:
- Auskunft: Über gespeicherte Daten
- Berichtigung: Korrektur falscher Daten
- Löschung: Recht auf Vergessenwerden
- Einschränkung: Verarbeitung einschränken
- Datenübertragbarkeit: Export der Daten
Datenspeicherung:
- Zweckbindung: Nur für Vereinszwecke
- Minimierung: Nur notwendige Daten
- Genauigkeit: Aktuelle und korrekte Daten
- Speicherbegrenzung: Löschung nach Zweckerfüllung
🔧 Technische Implementierung
Verschlüsselungsfunktionen:
// Verschlüsselung
encryptObject(data, password)
// Entschlüsselung
decryptObject(encryptedData, password)
// Passwort-Hashing
hashPassword(password, salt)
// Passwort-Verifikation
verifyPassword(password, hash, salt)
Environment-Variablen:
# Verschlüsselungsschlüssel (MUSS in Produktion geändert werden!)
ENCRYPTION_KEY=your_secure_encryption_key_here
# JWT-Secret
JWT_SECRET=your_jwt_secret_here
🚨 Sicherheitshinweise
Produktionsumgebung:
- Verschlüsselungsschlüssel: MUSS geändert werden!
- JWT-Secret: MUSS geändert werden!
- HTTPS: Zwingend erforderlich
- Backup: Verschlüsselte Backups
Entwicklungsumgebung:
- E-Mails: Nur an
tsschulz@tsschulz.de - Test-Daten: Keine echten persönlichen Daten
- Logs: Keine sensiblen Daten in Logs
📞 Kontakt
Bei Fragen zum Datenschutz:
- E-Mail: tsschulz@tsschulz.de
- Verantwortlicher: Torsten Schulz
Stand: Januar 2025
Version: 1.0
Letzte Aktualisierung: Implementierung der Verschlüsselung