Regelmatig krijg ik de vraag “Hoe beveiligen jullie persoonsgegevens?”. Deze vraag is vaak ingegeven vanuit de wetenschap dat je - als je gegevens van personen verwerkt - je moet voldoen aan de privacywetgeving in de landen waar je je dienst aanbiedt. Voor de hele Europese Unie (EU) is sinds 2018 de Algemene verordening gegevensbescherming (AVG) van toepassing.
Maar zijn persoonsgegevens voor jou de enige belangrijke gegevens? Waarschijnlijk niet. Volgens mij moet je met alle (bedrijfs)informatie bewust en zorgvuldig omgaan. Wat als die gegevens in handen van concurrenten komen? Of in handen komen van buitenlandse overheden of andere instanties die het iets minder nauw nemen met intellectueel eigendom?
Hieronder leg ik in 6 tips uit hoe hoe jij bedrijfs- en persoonsgegevens het beste kunt beschermen.
1. Beoordeel alle gegevens
Bij het ontwerpen van een platform moet je alle gegevens beoordelen die je mogelijk wil verwerken. Verwerk alleen die gegevens die nodig zijn voor het functioneren van je platform of dienst.
Noteer ook meteen of een gegeven een persoonsgegeven is of niet. Deze informatie heb je nodig om aan de AVG te kunnen voldoen.
Beargumenteer ook hoe lang de bewaartermijnen voor gegevens binnen je platform moeten zijn. En leg vast waarom je voor een bepaalde termijn kiest.
Doe je bovenstaande goed, dan heb je de eerste winst al behaald, je kunt als je deze bewaartermijnen naleeft geen gegevens meer verliezen die je eigenlijk niet (meer) nodig hebt.
Heb je binnen je organisatie een compliance afdeling? Betrek die dan zo vroeg mogelijk. Zij hebben vaak al regels op papier staan met betrekking tot het classificeren van informatie. Het voorkomt dat je verkeerde keuzes maakt die later onnodig tot vertraging kunnen leiden.
2. Beperk toegang tot gegevens
Je beveiligt gegevens door in eerste instantie te zorgen dat alleen die personen en systemen toegang tot de gegevens krijgen, die deze gegevens nodig hebben voor het uitvoeren van hun taak. Dus een platform moet kunnen vaststellen wie toegang wil tot gegevens, dit noemen we authenticatie. En daarnaast moet het platform kunnen bepalen wat die gebruiker (persoon of systeem) met de gegevens mag doen. Dat noemen we autorisatie.
Andersom moet je voorkomen dat gegevens die zijn opgeslagen (data-at-rest) en gegevens die worden uitgewisseld (data-in-transit) zomaar gelezen of gemanipuleerd kunnen worden door onbekenden.
Authenticatie
Authenticatie kennen we allemaal. Vaak moet je ergens inloggen met een gebruikersnaam - een e-mailadres, telefoonnummer of zelfgekozen naam - en een wachtwoord. Als de combinatie met het wachtwoord klopt weet een systeem wie je bent. Je bent dan geauthenticeerd.
De zwakste schakel hierin is en blijft de mens. Nog steeds worden te eenvoudige of te korte wachtwoorden worden gebruikt, worden wachtwoorden hergebruikt of worden wachtwoorden via een makkelijk te raden vuistregel bedacht.
Een oplossing voor je (eind)gebruikers is de zogenaamde passwordless log in, oftewel inloggen zonder wachtwoord. Als je wil inloggen geef je alleen je gebruikersnaam op en vervolgens ontvang je een tijdelijke link waarmee je eenmalig kunt inloggen via e-mail, SMS of ander kanaal. Een voorbeeld hiervan is de magic link die de app Slack je kan versturen om in te loggen op jullie omgeving.
Voor toegang tot belangrijke of persoonsgegevens is het altijd verstandig om nog een extra verificatiestap te eisen. Dit wordt twee-factor authenticatie (2FA) genoemd. Dit kan bijvoorbeeld door het eisen van een extra code die bijvoorbeeld verstuurd wordt via SMS of gegenereerd wordt door een device of aparte app.
Niet alle gebruikers zijn hetzelfde. Afhankelijk van de rol die een gebruiker heeft moet je vaststellen of en op welke manier je extra zekerheden wil met betrekking tot authenticatie. Want hoe meer eisen je gaat stellen hoe lastiger het voor de eindgebruiker wordt. Zo kan de authenticatie voor particuliere gebruikers van je platform wellicht minder streng zijn dan die voor je eigen medewerkers (die toegang hebben tot alle gegevens).
Autorisatie
Om gegevens zo veilig mogelijk te houden is het van belang te zorgen dat een persoon of systeem alleen de toegang heeft die noodzakelijk is voor de taak die uitgevoerd moet worden.
Data-at-rest
Als gegevens worden opgeslagen - het maakt niet uit of dat in de cloud is of op je eigen laptop - dan dienen ze versleuteld te worden opgeslagen. Een persoon of systeem zonder wachtwoord of sleutel kan dan niet de informatie op de schijf lezen, waardoor verlies of diefstal minder impact hebben op de veiligheid van je gegevens.
Data-in-transit
De uitwisseling van gegevens tussen systemen vindt vaak plaats over het publieke internet. Denk aan jouw bank-app die gegevens uitwisselt met de bank. Niemand wil dat een onbekende zomaar zijn of haar transacties ziet. En je wil al helemaal niet dat een onbekende bedragen van jouw bankrekening overmaakt naar zichzelf.
Om meekijken te voorkomen en zeker te weten dat gegevens niet met een nep-server worden uitgewisseld moet uitwisseling van gegevens alleen plaatsvinden via versleutelde verbindingen. In de browser zijn deze verbindingen herkenbaar aan het slotje in je browser - het https protocol.
3. Houd gegevens beschikbaar
Beschikbaarheid van gegevens kent meerdere aspecten. Denk aan de geografische locatie of regio waar de gegevens opgeslagen worden, dubbel opslaan van gegevens (redundantie) en backups.
Locatie of regio
Gegevens zijn sneller beschikbaar als deze geografisch dichter bij de gebruikers van die gegevens zijn opgeslagen. Daarnaast spelen juridische aspecten een rol. De meeste klanten van ons zitten in de EU en leveren hun diensten ook in de EU. Voor die klanten zorgen wij ervoor dat hun gegevens opgeslagen zijn in datacenters in Europa. Dat geeft in het kader van de AVG een geruststellend gevoel.
Redundantie
Om de kans te verkleinen dat gegevens tijdelijk niet toegankelijk zijn kun je gegevens redundant (meerdere keren) opslaan. Gegevens kunnen automatisch worden gedupliceerd naar verschillende datacenters binnen of buiten de regio. Mocht een datacenter uitvallen, dan kunnen de gegevens altijd nog uit een ander datacenter worden opgehaald.
Backups
Om verloren of verminkte gegevens te kunnen herstellen moeten regelmatig backups (reservekopieën) worden gemaakt. Het backupschema - hoe vaak backups worden gemaakt en hoe lang backups worden bewaard - hangt af van de aard van de gegevens. Bij een aantal cloudproviders kan je ook je databases continu laten backuppen, waardoor de kans dat je gegevens mist tussen twee backups nihil is.
4. Monitor je software en servers
Om zeker te weten dat je gegevens veilig zijn en blijven moet je alle bouwblokken van het platform waarin de gegevens zijn opgeslagen continu monitoren. Grofweg kan je monitoring (het bewaken) onderverdelen in twee categorieën, te weten het bijhouden van een logboek en het bijhouden van een audit trail.
Logboek
In een logboeken houden software en servers bij wat ze doen, of er fouten optreden en of er afwijkingen worden gedetecteerd. Met deze logging kun je in in feite het gedrag van het platform in de gaten houden. Daarbij kun je een onderscheid maken tussen normaal gedrag en onverwacht gedrag. Voor onverwacht gedrag kun je alarmen configureren, zodat je bijvoorbeeld automatisch via e-mail of SMS een melding krijgt als er iets vreemds gebeurt. Omdat je deze notificaties krijgt, kun je snel - eventueel geautomatiseerd - actie ondernemen om bijvoorbeeld je gegevens veilig te houden.
Audit trail
In een audit trail wordt bijgehouden wie zich toegang verschaft tot je software en servers en welke relevante aanpassingen hij of zij doet. Ook hier kun je voor onverwachte zaken alarmen configureren en eventueel geautomatiseerd actie ondernemen.
5. Ontwikkel robuuste software
Foutjes in software kunnen leiden tot datalekken. Om dat te voorkomen is het belangrijk dat je software van goede kwaliteit is. Goed gestructureerde software is makkelijker veilig te houden dan wat we 'spaghetti-code' noemen. Door daarnaast beveiligingen op meerdere niveaus in de software in te bouwen, kan je beter voorkomen dat een probleem op één niveau leidt tot een datalek.
Vraag je softwareontwikkelaar hoe hij of zij robuuste software maakt. Werkwijzen die hij of zij in ieder geval zou moeten toepassen zijn test driven development (TDD) en defensief programmeren.
Test driven development (TDD)
Test driven development is een methode waarbij de ontwikkelaar voordat hij of zij een bepaalde functionaliteit gaat programmeren eerst bedenkt hoe deze functionaliteit automatisch kan worden getest. De ontwikkelaar programmeert daarvoor eerst allemaal kleine testjes - unit tests. Pas daarna wordt de echte functionaliteit geprogrammeerd en continue automatisch getest op juiste werking met behulp van de eerder gemaakte unit tests.
Defensief programmeren
Defensief programmeren is een manier van programmeren waarbij de ontwikkelaar anticipeert op problemen en die adequaat afhandelt. Met deze manier van programmeren zorg je ervoor dat de software alleen maar gebruikt kan worden zoals deze (oorspronkelijk) bedoeld is. Daardoor voorkom je misbruik.
6. Neem je eigen verantwoordelijkheid
Wij kunnen hele veilige software en systemen bouwen, maar om ze echt veilig te houden moet iedereen meewerken. De veiligheid van jouw gegevens in de cloud is een gedeelde verantwoordelijkheid van de cloudprovider, softwareleverancier en gebruiker.
Een aantal dingen die jij nu kan doen om je steentje bij te dragen aan de veiligheid van bedrijfs- en persoonsgegevens:
Gebruik een password manager voor het verzinnen en onthouden van wachtwoorden.
Als een dienst twee-factor-authenticatie (2FA) aanbiedt, gebruik die dan.
Deel geen gebruikersnamen en wachtwoorden met anderen. En als het niet anders kan stuur dan niet alle gegevens in één bericht.
Bewaar geen (kopieën van) belangrijke gegevens langer dan noodzakelijk op je eigen laptop/PC.
Zorg dat je je besturingssysteem, browser en andere software op je apparatuur regelmatig updatet. Dan weet je zeker dat je de laatste beveiligingsupdates hebt.
Versleutel standaard de gegevens op je of laptop/PC.
Vaak wordt ook privé-apparatuur gebruikt om bedrijfsinformatie te raadplegen. Vergeet die apparatuur dus ook niet te updaten.