# Security & Privacy

# Introductie security en privacy



# Uitleg

#### **Belang van security en privacy**

Security en privacy zijn twee kanten van dezelfde medaille: waar security zich richt op het beschermen van systemen tegen ongeautoriseerde toegang en manipulatie, gaat privacy over het waarborgen dat persoonlijke gegevens van gebruikers correct en vertrouwelijk worden behandeld. In een wereld waarin we dagelijks enorme hoeveelheden data genereren—denk aan social media, e-commerce en smart devices—kan een lek of inbreuk leiden tot identiteitsdiefstal, reputatieschade en grote financiële verliezen.

- **Praktijkvoorbeeld:** In 2018 werd bij een groot socialmediabedrijf een datalek bekend waarbij de gegevens van miljoenen gebruikers werden blootgesteld. Gebruikersnamen, e-mailadressen en persoonlijke voorkeuren kwamen op straat te liggen. Dit incident toonde aan hoe belangrijk goede beveiligingsmaatregelen zijn, maar ook dat organisaties transparant moeten zijn over hun privacypraktijken.

#### **Basisbegrippen: vertrouwelijkheid, integriteit, beschikbaarheid (CIA-triad)**

- **Vertrouwelijkheid (Confidentiality):** Alleen geautoriseerde gebruikers mogen toegang hebben tot gevoelige informatie. Voorbeeld: versleutelen van persoonsgegevens in een database.
- **Integriteit (Integrity):** Gegevens mogen niet ongewenst of onopgemerkt gewijzigd worden. Voorbeeld: digitale handtekeningen op e-mailberichten om wijziging te detecteren.
- **Beschikbaarheid (Availability):** Systeem en data moeten toegankelijk zijn voor geautoriseerde gebruikers wanneer nodig. Voorbeeld: redundante servers en back-ups om uitval te voorkomen.

#### **Privacyprincipes: data minimalisatie en purpose limitation**

- **Data minimalisatie:** Verzamel en bewaar alleen de gegevens die noodzakelijk zijn voor het doel. Hiermee verklein je risico’s op misbruik. Voorbeeld: een inschrijfformulier vraagt alleen om naam en e-mail, niet om woonadres als dit niet nodig is.
- **Purpose limitation:** Gebruik gegevens uitsluitend voor het doel waarvoor ze zijn verzameld. Als je data verzamelt om nieuwsbrieven te sturen, mag je deze niet gebruiken voor gerichte advertenties zonder expliciete toestemming.

#### **Wet- en regelgeving in vogelvlucht**

Hoewel we de wetgeving in een volgend hoofdstuk behandelen, is het belangrijk om de rol van regels als de AVG (Algemene Verordening Gegevensbescherming) al te begrijpen. De AVG verplicht organisaties om:

- **Transparant** te zijn over welke data ze verzamelen.
- **Toestemming** te verkrijgen voor verwerking van persoonsgegevens.
- **Meldplicht** bij datalekken binnen 72 uur.

#### **Risico’s en impact**

Elke organisatie moet zich bewust zijn van potentiële risico’s:

- **Insider threats:** Medewerkers met verkeerde motieven of slordig gedrag.
- **Cyberaanvallen:** DDoS, phishing, malware.
- **Technische kwetsbaarheden:** Verouderde software, onveilige configuraties.

Een korte case: een universiteit die phishing e-mails ontving, waarbij studenten werden gevraagd hun wachtwoord in te voeren. Dit leidde tot overname van accounts en verstoring van examenplanning.

#### **Reflectie en discussie**

- Waarom is data minimalisatie niet altijd gemakkelijk toepasbaar?
- Hoe kun je beschikbaarheid garanderen in een cloudomgeving?
- Welke afwegingen maak je tussen security en gebruiksvriendelijkheid?

# Opdracht

Schrijf een onderzoeksverslag over twee recente data-incidenten of beveiligingsinbreuken. Per incident moet je beschrijven:

1. **Beschrijving van het incident:** Wat is er gebeurd? Welke organisatie was betrokken?
2. **Oorzaak en kwetsbaarheid:** Hoe kon de inbreuk plaatsvinden? Welke technische of organisatorische tekortkomingen leidden tot het incident?
3. **Geschonden privacyprincipes:** Welke principes (bijvoorbeeld data minimalisatie, purpose limitation, vertrouwelijkheid) waren niet nageleefd?
4. **Gevolgen voor gebruikers en organisatie:** Financiële, juridische en reputatieschade.
5. **Aanbevelingen:** Formuleer voor elk incident twee concrete maatregelen die voorkomen dat een soortgelijk incident zich opnieuw voordoet.

Lever je verslag in als PDF met structuur (inhoudsopgave, duidelijke koppen) en waar mogelijk illustraties (diagrammen, screenshots van nieuwsartikelen).

# Soorten cyberdreigingen

In dit hoofdstuk gaan we dieper in op de verschillende soorten cyberdreigingen waar je mee te maken kunt krijgen. Kennis hierover helpt je om jezelf en anderen beter te beschermen.
Wat ga je leren?

Malware begrijpen: Wat is het en hoe werkt het?
Phishing herkennen: Hoe kun je valse berichten identificeren?
Social engineering doorzien: Welke trucs gebruiken cybercriminelen?


# Cyberdreigingen

[![image.png](https://www.digitaallab.nl/uploads/images/gallery/2024-10/scaled-1680-/7aYimage.png)](https://www.digitaallab.nl/uploads/images/gallery/2024-10/7aYimage.png)

### Wat is Malware?

Malware is schadelijke software die is ontworpen om schade aan te richten aan een computer, server of netwerk. Het kan je gegevens stelen, je apparaat beschadigen of zelfs overnemen.

### Soorten Malware

- **Virussen:** Hechten zich aan bestanden en verspreiden zich wanneer je deze opent.
- **Wormen:** Verspreiden zich automatisch via netwerken zonder dat je iets hoeft te doen.
- **Trojaanse paarden:** Lijken op legitieme software maar bevatten schadelijke code.
- **Ransomware:** Vergrendelt je bestanden en eist geld om ze terug te geven.

### Wat is Phishing?

Phishing is een methode waarbij cybercriminelen proberen gevoelige informatie te verkrijgen door zich voor te doen als een betrouwbare bron, zoals je bank of een bekende website.

### Hoe herken je Phishing?

- **Ongebruikelijke afzenderadressen:** Controleer altijd het e-mailadres van de afzender.
- **Urgente of dreigende taal:** Zoals "Je account wordt gesloten als je niet reageert."
- **Grammaticale fouten en slecht taalgebruik.**
- **Vragen om persoonlijke informatie:** Betrouwbare organisaties vragen hier niet om via e-mail.

### Wat is Social Engineering?

Dit is het manipuleren van mensen om vertrouwelijke informatie te verkrijgen. Cybercriminelen maken gebruik van menselijke psychologie, zoals nieuwsgierigheid of angst.

### Voorbeelden

- **Bellen en zich voordoen als iemand van de IT-afdeling om je wachtwoord te vragen.**
- **Verleidelijk aanbod dat te mooi is om waar te zijn.**

# Opdracht: Anti-phishing poster

**Doel:** Bewustzijn creëren over phishing onder je medeleerlingen en leraren.

**Opdracht:**

- Ontwerp een poster met tips om phishing te herkennen en te voorkomen.
- Gebruik creatieve visuals en duidelijke teksten.
- Hang je poster op in de klas of op een centrale plek in de school ( na goedkeuring van de leraar ;) ).

[![image.png](https://www.digitaallab.nl/uploads/images/gallery/2024-12/scaled-1680-/image.png)](https://www.digitaallab.nl/uploads/images/gallery/2024-12/image.png)

# Authenticatie en toegangsbeheer



# Uitleg

####  **Verificatie vs. Autorisatie**

**Authenticatie (verificatie):** Bevestigen dat een gebruiker is wie hij beweert te zijn. Methoden zijn onder andere:

- **Wachtwoorden:** Gebruikers kiezen een geheim wachtwoord. Eenvoudig, maar vatbaar voor sterke/brute-force aanvallen als niet goed ingericht.
- **Multi-factor authenticatie (MFA):** Combineert iets dat je weet (wachtwoord) met iets dat je hebt (smartphone-app, SMS-code) of iets dat je bent (biometrie).
- **Biometrie:** Vingerafdruk, gezichtsherkenning of irisscan. Comfortabel, maar kan privacyrisico’s en false positives/negatives hebben.

**Autorisatie:** Na succesvolle authenticatie bepaalt het systeem welke resources en acties een gebruiker mag uitvoeren. Veelgebruikte modellen:

- **Role-Based Access Control (RBAC):** Gebruikers krijgen rollen, en rollen krijgen permissies. Eenvoudig beheer bij groeiende aantallen rechten.
- **Attribute-Based Access Control (ABAC):** Beslissingen op basis van attributen (tijdstip, locatie, type apparaat) naast gebruikerskenmerken.

#### **Wachtwoordbeveiliging**

- **Sterkte eisen:** Minimaal 8-12 tekens, combinatie van hoofdletters, cijfers en speciale tekens.
- **Hashing en salting:** Sla wachtwoorden nooit in platte tekst op. Gebruik een cryptografische hashfunctie (bijvoorbeeld bcrypt of Argon2) en voeg een unieke salt per wachtwoord toe om rainbow-table aanvallen te voorkomen.
- **Opslag en beleid:** Denk aan periodieke reset, lockout na mislukte pogingen en geblokkeerde accounts na verdachte activiteiten.

#### **MFA en moderne methoden**

- **SMS- of e-mailcodes:** Gemakkelijk, maar kwetsbaar voor SIM-swaps of onderschepping.
- **TOTP-apps (Time-based One-Time Password):** Google Authenticator, Authy. Veiliger omdat codes lokaal gegenereerd worden.
- **Push-notificaties:** Gebruiksvriendelijk: een push naar de telefoon ter bevestiging.
- **WebAuthn en FIDO2:** Standaarden voor wachtwoordloze authenticatie met hardware tokens (zoals YubiKey) of biometrie.

#### **Autorisatiemodellen**

- **RBAC:** Eenvoudig in te richten: definieer rollen zoals “student”, “docent” en “beheerder”. Wijs per rol rechten toe (bijv. lezen, schrijven, beheren).
- **ABAC:** Complexer, biedt fijnmazige controle. Voorbeeld: alleen docenten mogen lesmateriaal bewerken én alleen binnen werktijden.
- **Least privilege:** Geef gebruikers altijd de minimaal noodzakelijke rechten.

#### **Beveiligingspatronen en anti-patronen**

- **Fail-secure vs. fail-open:** Bepaal hoe je systeem reageert bij fouten. Bij fail-secure is toegang geblokkeerd; bij fail-open blijft het open, wat risico’s geeft.
- **Session management:** Gebruik secure flags op cookies, stel een redelijke sessietimeout in en forceer herauthenticatie voor kritieke acties.
- **Password reset flows:** Vereisen kennisvragen of extra verificatie om social engineering te voorkomen.

#### **Praktijkvoorbeeld**

Stel je bouwt een onderwijsportal:

1. Gebruiker logt in met username+password (bcrypt-hashing).
2. Bij gevoelige data (cijfers, persoonlijke gegevens) is MFA verplicht via TOTP-app.
3. De portal werkt met RBAC:
    
    
    - **Student:** Bekijkt opdrachten en resultaten.
    - **Docent:** Plaatst opdrachten, beoordeelt werk.
    - **Beheerder:** Beheert gebruikers en systeeminstellingen.
4. Session cookies bevatten een secure en HttpOnly-flag en verlopen na 30 minuten inactiviteit.
5. Voor het resetten van wachtwoord krijgt de gebruiker een e-mail met een eenmalige link die na 10 minuten verloopt.

# Opdracht

### Authenticatie- en Autorisatieschema

1. **Schets een systeemarchitectuur:** Teken de componenten (frontend, backend, database, externe providers) van een fictieve applicatie en beschrijf hoe authenticatie en autorisatie verlopen.
2. **Definieer rollen en rechten:** Maak een tabel met ten minste drie rollen en hun permissies.
3. **Ontwerp de login flow:** Beschrijf globaal hoe een gebruikerssessie tot stand komt, inclusief hashing, salting en MFA.
4. **Beschrijf beveiligingsmaatregelen:** Licht toe hoe je wachtwoordbeleid, sessiemanagement en password reset veilig inricht.
5. **Evaluatie:** Reflecteer op mogelijke zwakke punten en stel verbeteringen voor (bijvoorbeeld integratie van WebAuthn).

Lever je schema en beschrijvingen in als PDF, met diagrammen en stappen voor de flows.

# Data encryptie en veilige communicatie



# Uitleg

 **Waarom encryptie?** Encryptie is het omzetten van leesbare data (plaintext) naar onleesbare data (ciphertext) met een sleutel. Alleen wie de juiste sleutel heeft, kan de ciphertext weer omzetten naar plaintext. Hierdoor blijft informatie vertrouwelijk, zelfs als iemand de data onderschept.

**Praktijkvoorbeeld:** Stel je stuurt een e-mail met een wachtwoord in plaintext. Als een aanvaller het netwerkverkeer afluistert, kan die het wachtwoord gemakkelijk stelen. Met encryptie is dit onmogelijk zonder de sleutel.

#### **Symmetrische encryptie**

- **Werking:** Dezelfde sleutel wordt gebruikt om te versleutelen én ontsleutelen.
- **Voordelen:** Snel en efficiënt, geschikt voor grote hoeveelheden data.
- **Nadelen:** Sleutelbeheer is lastig: hoe deel je de sleutel veilig met de ontvanger?

**Algoritmevoorbeeld:** AES (Advanced Encryption Standard) is de meest gebruikte symmetrische cipher. AES-256 gebruikt een 256-bits sleutel en wordt beschouwd als zeer veilig.

#### **Asymmetrische encryptie**

- **Werking:** Er is een sleutel-paar: een publieke sleutel (public key) en een private sleutel (private key).
- **Gebruik:** Iedereen kan met de publieke sleutel versleutelen, maar alleen de houder van de private sleutel kan ontsleutelen.
- **Voordelen:** Oplost het sleuteluitwisselingsprobleem.
- **Nadelen:** Trager dan symmetrische encryptie, niet geschikt voor grote bestanden.

**Algoritmevoorbeeld:** RSA gebruikt twee grote priemgetallen om sleutelparen te genereren. Een bericht geëncrypt met de publieke sleutel kan alleen ontsleuteld worden met de private sleutel.

#### **Hybride encryptiesystemen**

In de praktijk combineer je beide: gebruik asymmetrische encryptie om een symmetrische sessiesleutel uit te wisselen, en symmetrische encryptie voor de eigenlijke data-overdracht.

**Voorbeeld:** HTTPS (TLS) werkt zo:

1. **Handshak:** Browser en server wisselen certificaten uit en genereren een gedeelde sessiesleutel via asymmetrische cryptografie.
2. **Data-overdracht:** Met de sessiesleutel wordt alle HTTP-verkeer symmetrisch versleuteld.

#### **SSL/TLS en HTTPS**

- **SSL (Secure Sockets Layer):** Oudere standaard, vervangen door TLS.
- **TLS (Transport Layer Security):** Huidige protocol voor veilige communicatie op internet.
- **Certificaten:** Uitgegeven door Certificate Authorities (CA). Een certificaat bevat de publieke sleutel van de server en wordt digitaal ondertekend.

**Stappen bij HTTPS-verbinding:**

1. **ClientHello:** Browser geeft ondersteunde cipher suites en TLS-versies.
2. **ServerHello + Certificaat:** Server kiest cipher suite en stuurt certificaat.
3. **Verifiëren certificaat:** Browser controleert validiteit en of de certificaatketen klopt.
4. **Key Exchange:** Uitwisseling van sleutels, vaak via ECDHE (Elliptic Curve Diffie-Hellman Ephemeral).
5. **Encrypted Communication:** Al het verkeer is vanaf dat moment versleuteld.

#### **End-to-end encryptie (E2EE)**

End-to-end encryptie zorgt dat alleen de communicerende partijen de inhoud kunnen lezen, niet eens de server zelf.

**Voorbeeld:** WhatsApp gebruikt het Signal-protocol. Berichten worden geëncrypt op de smartphone van de verzender en alleen ontgrendeld op de telefoon van de ontvanger.

**Voordelen:** Maximale privacy. **Nadelen:** Minder mogelijkheden voor server-side features, zoals zoekfunctionaliteit in berichten of back-up op de server.

# Opdracht

Kies een encryptie algoritme en probeer uit te zoeken hoe het werkt.

Beschrijf in een verslag de werking en toepassing van het algoritme.

# Privacybeleid en wet & regelgeving



# Uitleg

**Inleiding privacywetgeving** Privacywetgeving is ontworpen om de rechten van individuen te beschermen en organisaties verantwoordelijk te houden voor de verwerking van persoonsgegevens. De Algemene Verordening Gegevensbescherming (AVG of GDPR) is sinds 2018 van kracht in de EU en geldt voor alle organisaties die in Europa actief zijn of Europese burgers bedienen.

- **Persoonsgegevens:** Alles wat een persoon direct of indirect identificeert, zoals naam, e-mailadres, locatiegegevens.
- **Verwerkingsverantwoordelijke (controller):** Organisatie die doelen en middelen van verwerking bepaalt.
- **Verwerker (processor):** Partij die persoonsgegevens verwerkt namens de controller.

#### **Belangrijkste AVG-principes**

- **Rechtmatigheid, behoorlijkheid en transparantie:** Verwerk data op een wettelijke manier en wees duidelijk naar betrokkenen.
- **Doelbinding (purpose limitation):** Verwerk alleen voor expliciete en legitieme doelen.
- **Dataminimalisatie:** Verzamel alleen wat echt nodig is.
- **Juistheid (accuracy):** Houd data actueel en correct.
- **Opslagbeperking:** Bewaar data niet langer dan nodig.
- **Integriteit en vertrouwelijkheid:** Bescherm data tegen ongeoorloofde toegang.
- **Verantwoording (accountability):** Documenteer maatregelen en toon naleving aan.

#### **Rechten van betrokkenen**

Gebruikers hebben verschillende rechten onder de AVG:

- **Recht op informatie:** Duidelijke privacyverklaring en inzage.
- **Recht van inzage:** Recht om te zien welke data is opgeslagen.
- **Recht op correctie:** Onjuiste gegevens laten aanpassen.
- **Recht op wissing (‘recht om vergeten te worden’):** Data laten verwijderen.
- **Recht op dataportabiliteit:** Ontvangen van eigen data in machineleesbaar formaat.
- **Recht van bezwaar:** Verzet tegen bepaalde verwerkingen, zoals direct marketing.

#### **Privacybeleid opstellen**

Een privacybeleid (privacyverklaring) bevat:

- **Doeleinden:** Waarom je data verwerkt.
- **Basis voor verwerking:** Toestemming of gerechtvaardigd belang.
- **Categorieën persoonsgegevens:** Welke data je verzamelt.
- **Bewaartermijnen:** Hoelang je data bewaart.
- **Rechten van gebruikers:** Hoe zij hun rechten kunnen uitoefenen.
- **Datalekprocedure:** Hoe je omgaat met en meldt datalekken.

#### **Data Protection Impact Assessment (DPIA)**

Een DPIA is een risicobeoordeling voor verwerkingen die waarschijnlijk een hoog privacyrisico hebben, zoals grootschalige monitoring of verwerking van gevoelige data.

Stappen in een DPIA:

1. **Beschrijving van de verwerking:** Proces en doelen.
2. **Beoordeling noodzaak en proportionaliteit:** Waarom is de verwerking nodig?
3. **Risicoanalyse:** Identificeer privacyrisico’s voor betrokkenen.
4. **Maatregelen en mitigatie:** Beschrijf technische en organisatorische maatregelen.
5. **Consultatie:** Raadpleeg belanghebbenden of autoriteit.
6. **Documentatie en goedkeuring:** Leg vast en laat het interne reviewproces doorlopen.

#### **Praktijkvoorbeeld**

Een gezondheidsapp die hartslaggegevens verzamelt:

1. **Persoonsgegevens:** Naam, leeftijd, hartslagmetingen.
2. **Doel:** Monitoren van fitnessdoelen.
3. **Rechte grondslag:** Toestemming van de gebruiker.
4. **DPIA:** Risico’s bij misbruik van gezondheidsdata -&gt; maatregelen zoals sterke encryptie en pseudonimisering.

# Opdracht

1. **Concept privacyverklaring:** Schrijf een privacyverklaring (minimaal 400 woorden) voor een fictieve app die locatiegegevens gebruikt om lokale aanbiedingen te tonen. Beschrijf doelen, rechtsgrondslag, bewaartermijnen en rechten van gebruikers.
2. **DPIA-rapport:** Maak een DPIA (minimaal 500 woorden) voor deze app:
    
    
    - Beschrijving van de verwerking en doeleinden.
    - Identificeer ten minste vijf privacyrisico’s voor betrokkenen.
    - Formuleer per risico passende technische of organisatorische maatregelen.
    - Beschrijf het proces van toestemming en hoe gebruikersrechten worden gegarandeerd.
3. **Reflectie (200 woorden):**
    
    
    - Bespreek uitdagingen bij het formuleren van transparante tekst voor gebruikers.
    - Reflecteer op de balans tussen functionaliteit en privacybescherming.