Ik hoop dat die orthodontist z’n webbouwer aansprakelijk stelt voor die 12.000 euro boete

De Autoriteit Persoonsgegevens heeft een boete van 12.000 euro uitgedeeld aan een orthodontistenpraktijk omdat die op een aanmeldformulier geen ssl-verbinding gebruikte. Dat meldde Tweakers vorige week. Door het ontbrekende ‘slotje’ liepen patiënten de kans dat gevoelige gegevens, zoals hun BSN, in verkeerde handen zouden terechtkomen. Opmerkelijk dat die basale beveiligingsmaatregel er niet was, maar minstens zo opmerkelijk dat de AP er voor in actie kwam gezien de beperkte scope. Maar goed, ik ben dus fan van kleine boetes voor kleine overtredingen.

De betreffende website bood klanten van de orthodontist gelegenheid afspraken te maken voor een behandeling. Op zich logischerwijs vroeg men om onder meer NAW-gegevens, geboortedatum, BSN, telefoonnummers van de patiënt en de ouders, gegevens over de school, huisarts, tandarts en de verzekeringsmaatschappij.” Dat formulier werd zonder beveiliging (dus SSL-, TLS-certificaat oftewel “slotje”) opgestuurd, wat inderdaad een beveiligings-dingetje is.

Is het heel erg? Mwa. Technisch betekent het dat iedereen die in het netwerk tussen de klant en de orthodontist zit, de data kan onderscheppen. Het klassieke voorbeeld is het internetcafé of bibliotheek, waar je met de juiste software alles kunt zien dat anderen in diezelfde ruimte opsturen naar websites. Door https te gebruiken, is dit niet langer inzichtelijk – de communicatie naar de site is versleuteld en daarmee niet meer te lezen.

Het aantal scenario’s waarin dit een reëel risico is, is dus beperkt. Vanuit huis is dit bijvoorbeeld geen issue, de buren die ook bij Ziggo zitten kunnen sowieso niet meelezen. Huisgenoten mogelijk wel. Werk je met mobiel internet, dan is dit ook geen serieus risico. Maar natuurlijk is er een niet te verwaarlozen groep mensen die alleen via publieke terminals (zoals de bieb) kan werken, en ook die moet gewoon veilig internet op kunnen.

Daar komt bij: al sinds jaar en dag weet iedereen dat zo’n slotje weinig moeite is, zeker sinds initiatieven als Let’s Encrypt die je gratis certificaten geven om het slotje te realiseren. Dus het voelt als “oké beperkt risico maar het is zo gedaan, doe het dus gewoon” voor mij. Ik blogde er ooit in 2013 over en concludeerde dat het eigenlijk onvermijdelijk is, behalve wellicht bij triviale formulieren zoals de plek hieronder waarin u het hartgrondig met mij oneens gaat zijn.

In het boetebesluit kan de AP het nog simpeler houden: het gaat hier om persoonsgegevens in de zorg, daarbij is NEN 7510-2 leidend en daaruit volgt het gebruik van TLS. Punt, klaar, next. En dan gaat het om zeer gevoelige gegevens, ook nog eens (vooral) van kinderen en dan mag dat al helemaal niet gebeuren. Normaal kom je dan op een boete van een ton, maar omdat deze orthodontist dat absoluut niet kan betalen wordt deze gematigd naar 12.000 euro.

En dan gooi ik met dit citaat even de knuppel in het hoenderhok:

[Betrokkene] heeft erkend dat de oude website geen gebruik maakte van een versleutelde verbinding. De ontwikkelaar van de oude website heeft haar nooit gewezen op die mogelijkheid. Anders had zij daar zeker gebruik van gemaakt, aldus [betrokkene].
We hebben het dus over 2019. Let’s Encrypt was toen al best bekend, en het algemene idee dat SSL-certificaten verstandig waren ook. Om dus nog maar niet te spreken van die NEN-norm in de zorg. Dan wil ik van een kleine orthodontie-praktijk nog wel geloven dat die weinig verstand van internet heeft (de nieuwe site heeft geen online formulier meer maar een uit te printen pdf, ik bedoel maar)  maar van de webbouwer mag dit wel verwacht worden toch?

Oftewel, die orthodontist mag de webbouwer op grond van schending zorgplicht aansprakelijk houden voor die 12.000 euro wat mij betreft.

Arnoud

Duh, natuurlijk is iemands OV-saldo in kunnen zien een datalek

Via de website van de ov-chipkaart is eenvoudig te checken wat het saldo is van een willekeurige ov-chipkaart, las ik op de blog van Loran Kloeze. De saldochecker van Trans Link Systems blijkt te werken zonder ingelogd te zijn, enkel door invullen van een kaartnummer krijg je het huidige saldo op die kaart te zien. De vraag is dan, is dat een datalek? Het antwoord is, eh, nee dat is geen vraag dat spreekt voor zich. Toch?

De saldochecker is een simpel en op zich handig tooltje waarmee je je saldo kunt checken. Bij een anonieme kaart kan ik me voorstellen dat je dit als feature aanbiedt, maar bij een persoonsgebonden kaart klopt het volgens mij niet dat er buiten het account om persoonlijke informatie te achterhalen is.

En ja, het saldo op je persoonsgebonden kaart is een persoonsgegeven. Die kaart staat op naam en dus zijn alle gegevens die met de kaart samenhangen persoonsgegevens, geen twijfel over mogelijk. Dat het niet triviaal is om naam en adres van de kaarthouder te achterhalen, doet daarbij niet ter zake. Die link is er, dus zijn het persoonsgegevens.

Helemaal als je de update van Kloeze leest: ook je geboortedatum is te achterhalen zonder inlog, wanneer je via de webshop van de NS iets koopt, geeft TLS je geboortedatum door enkel op basis van een OV-chipkaartnummer.

TLS zegt hierover:

Goed gezien, geen authenticatie. Saldo inzichtelijk, dit is een grote wens van vele reizigers. Wekelijks meer dan 30.000 raadplegingen. Probeer het uit! ^MdeG

Ik denk niet dat ze bedoelen dat het een grote wens van veel reizigers is om elkaars saldo in te zien. Maar het is en blijft een datalek, je bent eenvoudigweg niet bevoegd om andermans saldo in te zien dus daar moet een authenticatiestap tussen.

Arnoud

Mag ik mijn klanten verplichten SSL/TLS te gebruiken?

security-beveiliging-ketting-slot-chainEen lezer vroeg me:

Mag ik, als hostingprovider, klanten dwingen om SSL/TLS te gebruiken? Via een aantal scripts is het gehele proces te automatiseren, zodat er tijdens het aanmaken van een account een certificaat wordt aangemaakt (via Let’s Encrypt, dus geen meerkosten) en verbindingen vervolgens over SSL/TLS forceren (mod_rewrite en HSTS header). Ik heb veel kleine ondernemers als klant die hier écht steken laten vallen en ik wil ze tegen zichzelf beschermen.

Ik denk dat dit in principe wel kan. Je kunt in je algemene voorwaarden opnemen dat je verlangt dat klanten hun websites en software goed beveiligen, en dat jij maatregelen mag nemen, zoals SSL/TLS beveiligde verbindingen, om dat af te dwingen.

Dit is wel een tikje ongebruikelijk (helaas) dus je moet de klant daar wel expliciet over informeren. Ik zou zelf dat heel proactief willen zien: stuur ze een mail dat er wat mis is, vraag of ze dat binnen 14 dagen willen herstellen en anders doe jij het. Aangenomen dat dit geen nadelige effecten heeft voor de site, zie ik dan het probleem niet.

Maak je dingen wél stuk, dan komt dat op jouw bordje te liggen. En natuurlijk heb je als hoster in je algemene voorwaarden je aansprakelijkheid beperkt, maar bij dit soort handelen gaat dat niet zomaar op. Voor opzettelijk handelen ben je altijd volledig aansprakelijk, en dit neigt daar toch wel een tikje naar. Een hoster zou er dan ook voor kunnen kiezen om te zeggen, binnen 14 dagen herstellen en anders de site in een sandbox of op zwart. (Ja, de wet vindt het erger dat je iets half doet dan wanneer je iemand op zwart zet.)

Arnoud

Waarom is je geslacht relevant bij een ov-chipkaartrestitutie?

ov-chipkaart-paal-inchecken-saldoEen lezer vroeg me:

Binnenkort verlopen de eerste OV chipkaarten omdat ze maar 5 jaar geldig zijn. Nu was ik aan het uitzoeken hoe je kan verlengen of je saldo terug kan krijgen? Je kan een formulier ‘Teruggave saldo ANONIEME OV-chipkaart’ downloaden, afdrukken en volledig ingevuld mét je verlopen anonieme OV kaart opsturen. En wat schets mijn verbazing? Ze eisen hierbij best wel veel gegevens van je. Mogen ze dat werkelijk allemaal vragen?

Inderdaad, dat is me nogal een waslijst die ze op dat restitutieformulier van je vragen:

  • Bankrekeningnummer
  • Volledige naam
  • Volledige adres
  • Geboortedatum
  • Geslacht
  • Telefoonnummer overdag

Oké, dat bankrekeningnummer slaat wel ergens op want hoe valt er te restitueren zonder bankrekening? Maar waar is al die andere informatie goed voor? Zelfs over je naam twijfel ik, is die echt nodig bij een bankoverschrijving? En hoezo moeten ze weten of ik de heer dan wel mevrouw Engelfriet ben die z’n geld terug wil, laat staan hoe oud ik ben of waar ik te bereiken ben?

Het voelt als een gevalletje “vraag maar want wie weet”, maar de Wet Chihuahua persoonsgegevens denkt daar toch echt anders over. Je mag alleen gegevens vrágen die daadwerkelijk nodig zijn voor het doel waarvoor je ze nodig hebt.

Onderaan staat dan de geruststellende tekst:

Privacybeleid
De op dit formulier verstrekte gegevens worden uitsluitend gebruikt om restitutie van het saldo uit te kunnen voeren. Uw gegevens worden door ons niet opgeslagen.

Maar eh, hóe dan? Wat doe je met dat geslacht als je het niet opvraagt en je het ook niet bij een bankafschrijving nodig hebt?

Arnoud

Wanneer is een API reverse engineeren computervredebreuk?

chip-paspoort.jpgEen lezer vroeg me:

Onlangs is de OV-Chipkaart app uitgekomen. Uit analyse blijkt dat de app per request een specifieke signature meestuurt, en zonder die signature komt er geen reactie vanuit de server van Trans Link Systems. De methode waarop de signature gemaakt wordt is te achterhalen met decompileren en daarna eenvoudig na te maken. Het is erg moeilijk te achterhalen door puur naar het verkeer te kijken. Mijn vraag is: als iemand API calls doet op basis van die kennis, is er dan sprake van computervredebreuk?

Als ik het goed begrijp, dan doet die app dus aanroepen op de server van TLS. Om te bewijzen dat de app echt de app is, wordt daarbij een signature/code gemaakt op basis van een sleutel die in de app aanwezig zit. Heb je de sleutel, dan kun je dus de code namaken en je eigen aanroepen als echt presenteren.

Van computervredebreuk is sprake als je binnendringt in andermans computer. Een ov-chipkaart is een computer, en die heb je te leen van TLS. Binnendringen daarin is dus mogelijk. Maar een app op je eigen telefoon, daar kun je niet in binnendringen. De app is geen ‘geautomatiseerd werk’, de telefoon wel maar die is van jezelf.

Binnendringen in de server van TLS is mogelijk en dat kan wel computervredebreuk zijn. Alleen, er moet dan sprake zijn van binnendringen zonder recht, wederrechtelijk dus. Je zegt dan, je mag inloggen met de app maar handmatig/eigen app inloggen mag niet. Ik twijfel of dat werkt. Als ik zeg “hier is de sleutel” en jij maakt een sleutel erbij, dan pleeg je geen huisvredebreuk als je met die extra sleutel binnengaat. Het gaat om de plek waar je mag zijn, niet het middel waarmee je daar komt. Een undocumented feature aanroepen door de API-URL te manipuleren (misschien doet &debug=1 iets leuks?) zou ik wel computervredebreuk noemen.

Auteursrechtelijk is het spannender. Je decompileert en achterhaalt de werking van de app. Als het doel dan is een kloon van de app te maken, dan botst dat met het auteursrecht op de app. Maar ‘kloon’ is een beperkt begrijp. En een nieuwe app die alleen dezelfde API calls doet, zou ik niet snel een ‘kloon’ noemen. De wet hanteert “computerprogramma, dat niet als een nieuw, oorspronkelijk werk kan worden aangemerkt” als criterium. Dus echt pure nabouw, dezelfde functionaliteit en layout.

Je kunt je ook afvragen of je wel de ‘werking’ van de app aan het achterhalen bent. Je wilt in feite alleen het algoritme voor het maken van de code achterhalen, en natuurlijk het element zelf dat daarvoor nodig is. Hoe de rest van de app werkt, is minder van belang.

Arnoud