# Beveiliging van WZCom (kort overzicht)

## Wat je echt moet weten
- Inloggen gebeurt alleen via je bestaande Microsoft- of Google-account. Geen nieuwe wachtwoorden in WZCom.
- Zet **twee-staps verificatie** aan op alle Microsoft- en Google-accounts die WZCom gebruiken; we gaan dit later technisch verplicht maken.
- Gegevens blijven in versleutelde opslag en gaan over een beveiligde verbinding.
- Loggen en auditsporen maken misbruik en fouten traceerbaar.
- Hosting gebruikt standaard bescherming (firewall, certificaten) en back-ups.

## Voor artsen en zorgteams
- Je gebruikt je vertrouwde account; geen extra wachtwoorden onthouden.
- De verbinding is beveiligd (zie voetnoot over HTTPS[^https]).
- Uitloggen wist je sessie zodat niemand kan meekijken.
- Foutmeldingen zijn beknopt en delen geen medische inhoud.
- Documentatie vind je onder `/documentatie/` en gedeelde bestanden staan in `/documentatie/files/`.

## Voor de IT-dienst
- Aanmelding via de beveiligde standaard OpenID Connect[^oidc] met alleen de scopes “openid”, “email” en “profile”. Geen impliciete flow; tokens komen niet in de URL.
- **Actiepunt**: Twee-staps verificatie inschakelen voor alle Microsoft- en Google-accounts die toegang geven tot WZCom. We leggen dit later hard vast in de applicatie.
- Sessies: cookies zijn alleen-HTTP, “secure” bij HTTPS, en SameSite=Lax; sessie-id wordt vernieuwd na login. Uitloggen leegt en vernietigt de sessie.
- Foutafhandeling: buiten debug-modus geen stacktraces; alleen generieke meldingen.
- Audit: elke auditregel heeft een hash-keten met een authenticatiecode op basis van een geheime sleutel (HMAC[^hmac]); manipulatie valt op.
- Sleutelbeheer: versleuteling gebruikt een cloud “Key Management Service” (sleutelkluis) bij OVH; de sleutel voor audit en de dataversleuteling worden daar omhuld en alleen in geheugen ontsleuteld.
- Data-encryptie: gevoelige velden (certificaten, wachtwoorden, SAML-asserties) krijgen veldversleuteling met AES-GCM[^aesgcm] en extra context (AAD) zodat het niet kan worden hergebruikt buiten de juiste plaats.
- Database: alleen prepared statements, verbindingsparameters uit de omgeving; ontbrekende variabelen blokkeren de start.
- Hosting: standaard WAF, Anti-DDoS en automatische certificaten; back-ups tot 14 dagen.

## Contact
Vragen of een rondleiding? Mail koen@thomeer.be.

---

[^oidc]: OpenID Connect, de beveiligde standaard voor aanmelden bovenop OAuth 2.0.
[^https]: HTTPS is de beveiligde variant van HTTP; verkeer is versleuteld tussen browser en server.
[^hmac]: Hash-based Message Authentication Code: een manier om te controleren of data niet is gewijzigd door iemand zonder de geheime sleutel.
[^aesgcm]: Advanced Encryption Standard in Galois/Counter Mode: moderne versleuteling met integriteitscontrole.
