Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
de:int:wvdsshell:notes:01-auth-architecture:start [2026/03/05 19:06] – [Auth-Architektur — Gesamtübersicht] Wolfgang van der Stillede:int:wvdsshell:notes:01-auth-architecture:start [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
- 
-====== 1. Auth-Architektur — Gesamtübersicht ====== 
- 
-//Stand: 2026-03-05// 
- 
-Übergeordnet: [[de:int:wvdsshell:notes:start|WvdS-Plattform — Gesamtübersicht]] 
-Verwandt: [[de:int:wvdsshell:notes:01-auth-architecture:auth-shell|2. WvdS.Shell]] | [[de:int:wvdsshell:notes:01-auth-architecture:auth-gateway|3. Gateway.Service]] | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|4. Datenschicht]] | [[de:int:wvdsshell:notes:01-auth-architecture:auth-migration|5. Migration]] 
- 
-===== Konzept ===== 
- 
-Die Auth-Architektur der WvdS-Plattform ist in **drei Schichten** aufgeteilt — 
-GUI-Schicht (WvdS.Shell), Service-Schicht (Gateway.Service) und Datenschicht (ENIVERSSIAM) 
-— sowie einem separaten Migrations-Track für Legacy-Systeme. 
- 
-==== Zweischichtiges Auth-Modell ==== 
- 
-^ Schicht                ^ Träger              ^ Zweck                                                           ^ 
-| **1. PFX-Zertifikat**  | WvdS.Shell (lokal)  | Installations- und Lizenznachweis, offline-fähig                | 
-| **2. Identity Provider** | Gateway.Service   | Benutzer-Authentifizierung: Kerberos (SSO) oder MFA-Flow (extern) | 
- 
-Beide Schichten müssen erfolgreich abgeschlossen sein, bevor Extensions laden oder 
-Business-Daten sichtbar sind. 
- 
-Details zur Shell-seitigen Umsetzung: [[de:int:wvdsshell:notes:01-auth-architecture:auth-shell|2. WvdS.Shell Auth-Architektur]] 
- 
-==== Auth-Modi ==== 
- 
-^ Kontext        ^ Verfahren                  ^ Bedingung                               ^ 
-| Corpnet / VPN  | Kerberos (SSPI Negotiate)  | Domain-joined, DC erreichbar            | 
-| Extern / BYOD  | Username + Passwort + TOTP | DC nicht erreichbar, Gateway erreichbar | 
-| Offline        | PFX als Credential         | Gateway nicht erreichbar                | 
- 
-===== Auth-Flow (Detail) ===== 
- 
-<code> 
-WvdS.Shell                 Gateway.Service            DC / ENIVERSSIAM 
-     │                            │                          │ 
-     │  1. PFX prüfen (lokal)     │                          │ 
-     │     ↓ Schicht 1 OK         │                          │ 
-     │                            │                          │ 
-     │  2a. SSPI Negotiate ──────►│── Kerberos-Ticket ──────►│ 
-     │      (Corpnet / VPN)       │◄─ Identität bestätigt ───│ 
-     │◄─── JWT (access+refresh) ──│                          │ 
-     │                            │                          │ 
-     │  2b. username+pw ─────────►│── LDAP/DB-Check ────────►│ 
-     │      (Extern / BYOD)       │◄─ OK ────────────────────│ 
-     │◄─── TOTP-Challenge ────────│                          │ 
-     │──── TOTP-Code ────────────►│── HMAC-SHA1 intern       │ 
-     │◄─── JWT (access+refresh) ──│                          │ 
-     │                            │                          │ 
-     │  3. GET /api/v1/features ─►│── ENIVERSASYS-DB         │ 
-     │◄─── Feature-Flags JSON ────│                          │ 
-     │                            │                          │ 
-     │  4. Extension-Scan, UI     │                          │ 
-</code> 
- 
-===== Token-Lebensdauer ===== 
- 
-^ Token          ^ Lebensdauer ^ Speicherort (Client)               ^ 
-| Access Token   | 15 Minuten  | RAM (Shell SessionManager)         | 
-| Refresh Token  | 30 Tage     | DPAPI SecretStorage                | 
-| TOTP Challenge | 5 Minuten   | Gateway-RAM (nach Ablauf gelöscht) | 
- 
-===== CWE-Referenzen (Auth-spezifisch) ===== 
- 
-^ CWE     ^ Beschreibung                    ^ Umsetzung                                                      ^ 
-| CWE-208 | Timing Side-Channel             | ConstantTimeEqual für Basic/ApiKey-Auth                        | 
-| CWE-256 | Plaintext-Passwort              | Legacy-Passwörter nicht migriert; FillChar nach Validierung    | 
-| CWE-287 | Improper Authentication         | Kerberos-Ticket vollständig validiert (kein Presence-Check)    | 
-| CWE-290 | Token Spoofing                  | JWT-Signatur (ML-DSA-65) bei jedem Request geprüft             | 
-| CWE-316 | Heap Inspection                 | SecureZeroString / FillChar für Credentials im RAM            | 
-| CWE-384 | Session Fixation                | ''jti'' (JWT ID) einmalig; Replay via jti-Blacklist            | 
-| CWE-532 | Log Information Exposure        | Credentials und Tokens werden nie geloggt                      | 
-| CWE-613 | Insufficient Session Expiration | Refresh Token: 30 Tage, serverseitig revokierbar               | 
-| CWE-620 | Unverified Password Change      | TOTP-Enrollment erfordert bestätigten ersten Code              | 
- 
-===== Dokumente dieser Sektion ===== 
- 
-^ Nr ^ Dokument                                                                                              ^ Inhalt                                                        ^ 
-| 1  | [[de:int:wvdsshell:notes:01-auth-architecture:start|Auth-Architektur — Gesamtübersicht]]              | Diese Seite                                                   | 
-| 2  | [[de:int:wvdsshell:notes:01-auth-architecture:auth-shell|WvdS.Shell — GUI-Schicht]]                   | PFX-Validator, Context-Detector, JWT-Manager, TOTP-Dialog     | 
-| 3  | [[de:int:wvdsshell:notes:01-auth-architecture:auth-gateway|Gateway.Service — Service-Schicht]]        | Auth-Endpoints, JWT (ML-DSA-65), TOTP-Service, Kerberos/SSPI | 
-| 4  | [[de:int:wvdsshell:notes:01-auth-architecture:auth-database|Datenschicht — DB-Schemas]]               | ENIVERSSIAM Schema (auth.* + core.person), ENIVERSCAFM, PIMS | 
-| 4.1 | [[de:int:wvdsshell:notes:01-auth-architecture:auth-db-functions|DB-Funktionen — Auth Controller]]    | Stored Procedures, Functions, Views für Controller.Auth       | 
-| 5  | [[de:int:wvdsshell:notes:01-auth-architecture:auth-migration|Auth-Migration — Legacy-Systeme]]        | Phasen 1–5, Mapping-Tabellen, SQL-Skripte                     | 
  
Zuletzt geändert: den 05.03.2026 um 19:06