ID.nl logo
Hoe gaan we om met AI?
© Reshift Digital
Huis

Hoe gaan we om met AI?

Zelfrijdende auto’s op de weg, slimme assistenten in huis en software die bepaalt of je een lening krijgt - het is allemaal geen toekomstmuziek meer. AI heeft een steeds grotere impact op ons dagelijks leven en verstookt ook heel wat energie met de bijbehorende CO₂-uitstoot. Reden te meer om eens dieper na te denken over hoe we als maatschappij met AI willen omgaan.

AI (artificial intelligence, ofwel kunstmatige intelligentie) speelt een steeds belangrijkere rol in ons dagelijks leven. De technologie biedt heel wat voordelen: slimme assistenten verstaan je spraak, je smartphone verbetert je typefouten en binnenkort hoeven we misschien zelf niet meer te rijden omdat onze auto dat voor ons doet.

Maar het gebruik van AI roept ook heel wat vragen op. Niet alleen over privacy, maar zelfs nog veel fundamenteler: wíllen we al die taken wel door computers laten uitvoeren? Willen we bijvoorbeeld wel volledig door een algoritme laten bepalen wie een lening krijgt, zonder enige menselijke inbreng? En nog extremer: willen we wel een drone in oorlogsgebied automatisch laten bepalen of iemand een burger of vijandige soldaat is om die dan neer te schieten?

01 Van grondrechten tot ethische beginselen

In april 2019 publiceerde de ‘High-Level Expert Group on AI’ van de Europese Commissie ethische richtlijnen voor betrouwbare AI. Dit deden ze om een kader te bieden om over dit soort vragen na te denken en beslissingen over het gebruik van AI te kunnen nemen die mensen in hun waarde laten.

De expertgroep baseert zich op grondrechten die in de EU-verdragen, het Handvest van de grondrechten van de EU en de internationale mensenrechtenwetgeving opgenomen zijn. Het gaat dan bijvoorbeeld om respect voor de menselijke waardigheid, vrijheid van het individu, respect voor democratie, justitie en de rechtsstaat, gelijkheid, non-discriminatie en solidariteit en rechten van burgers (zoals het recht op behoorlijk bestuur en het recht op inzage in openbare documenten). Bij de ontwikkeling en het gebruik van AI mogen die grondrechten nooit in het gedrang komen, vindt de expertgroep.

De auteurs noemen in hun rapport vier ethische beginselen die in die grondrechten geworteld zijn en die ontwikkelaars en gebruikers van AI altijd zouden moeten naleven: respect voor de menselijke autonomie, preventie van schade, rechtvaardigheid en verantwoording. Door deze beginselen na te leven, zouden we met AI het individuele en collectieve welzijn kunnen verbeteren.

©PXimport

02 Respect voor de menselijke autonomie

Een belangrijk grondrecht is de vrijheid van het individu: ieder is vrij om zijn eigen levenskeuzes te maken. Daaronder vallen ook de vrijheid van meningsuiting en het recht op een privéleven. Een AI-systeem mag mensen daarom niet onterecht onderwerpen of tot iets dwingen, maar ook niet misleiden of manipuleren.

Een AI-systeem dat dit ethische beginsel omarmt, zou juist ontworpen moeten zijn om de menselijke cognitieve, sociale en culturele vaardigheden aan te vullen en te versterken. Zo zou een AI-systeem op de werkvloer dat respect heeft voor de autonomie van de werknemers juist ondersteunend zijn en het werk nog zinvoller maken. Bovendien betekent respect voor de menselijke autonomie ook dat er altijd menselijke controle moet zijn op de werkprocessen van het AI-systeem.

03 Preventie van schade

Een AI-systeem mag geen schade veroorzaken of vergroten bij mensen, zowel op fysiek als mentaal gebied. Hieronder vallen ook regels dat het systeem robuust en veilig moet zijn, zodat het niet misbruikt kan worden. Maar het gaat verder: een AI-systeem dat bijvoorbeeld ongelijkheid vergroot of de machtsverhoudingen tussen werkgever en werknemers verandert doordat die eerste meer informatie krijgt over zijn werknemers, gaat in tegen deze richtlijn.

Ook tussen een bedrijf en zijn klanten of consumenten, of tussen een overheid en zijn burgers is er die scheeftrekking van de machtsverhoudingen. We zien dan ook momenteel dat veel bedrijven en overheden AI juist (willen) inzetten om hun macht te vergroten, en dat is een rechtstreekse inbreuk op dit beginsel.

04 Rechtvaardigheid

Rechtvaardigheid is een breed begrip dat ook nog eens cultureel bepaald is. Dit is waarschijnlijk dan ook het moeilijkste ethische beginsel om in de praktijk te brengen. Toch zijn er enkele algemene regels: een AI-systeem zou niemand mogen discrimineren, stigmatiseren, ongelijke kansen geven of arbitrair in zijn keuzevrijheid beperken.

Discriminatie hoeft overigens niet bewust ingebouwd te zijn: het kan ook een ‘bug’ zijn. Zo werkt gezichtsherkenning doorgaans minder goed bij een donkere huid, waardoor gekleurde personen vaker verkeerd geïdentificeerd worden.

Rechtvaardigheid betekent ook dat tegengestelde belangen altijd afgewogen moeten worden en dat de inzet van een AI-systeem evenredig moet zijn met het doel. De inzet van gezichtsherkenning om iemand publiekelijk aan de schandpaal te nagelen na het oversteken bij rood licht, is bijvoorbeeld een onevenredig gebruik van de technologie en dus niet rechtvaardig. Tenminste in Europa; in China vindt men dit heel normaal.

05 Verantwoording

Minstens zo belangrijk als de vorige beginselen is dat de werking van een AI-systeem verantwoord moet kunnen worden. De processen van het systeem dienen transparant te zijn en de mogelijkheden en het doel dienen openbaar te zijn. Bovendien moeten de beslissingen die een AI-systeem neemt te verklaren zijn voor wie er de gevolgen van ondervindt. Als je een aanvraag voor een lening doet en die wordt geweigerd door het systeem, heb je recht op een betere verklaring dan “Computer says no”. De computer moet een redenering kunnen geven als: je bent geweigerd omdat je loon te laag is en je in het verleden een lening tijdelijk niet hebt afbetaald. Als je zo’n antwoord krijgt, kun je dit tenminste aanvechten door tegenargumenten te geven.

06 Checklist voor bedrijven

Allemaal goed en wel, maar dat blijven vrij vage ethische richtlijnen. Hoe werk je dat in de praktijk uit? Verrassend genoeg biedt het rapport van de Europese Commissie aan de voorgaande beginselen ook heel praktische richtlijnen in de vorm van een lijst met zeven concrete vereisten waaraan elk AI-systeem zou moeten voldoen. Op basis van feedback is er in juli 2020 een herziene versie van die richtlijnen gepubliceerd: Assessment List for Trustworthy Artificial Intelligence (ALTAI) for self-assessment.

Bij elk van deze vereisten worden methodes vermeld die bedrijven kunnen gebruiken om hun AI-systeem aan de vereisten te laten voldoen. Eén van die concrete vereisten is bijvoorbeeld het belang van privacy en ‘data governance’ (gegevenskwaliteitsbeheer). De checklist beklemtoont dat verzamelde persoonsgegevens vertekend, onvolledig, onnauwkeurig, of fout kunnen zijn. Dit moet verholpen worden vóórdat het systeem met deze gegevens getraind wordt. Bovendien moet elke stap - zoals het plannen, trainen, testen en installeren - getest en gedocumenteerd worden om de integriteit te waarborgen. En de algoritmes, gegevens en ontwerpprocessen moeten te evalueren zijn door interne en externe controleurs.

Bij de vereisten staat ook dat een AI-systeem zich tegenover een gebruiker niet als mens mag voordoen: het moet altijd als AI-systeem herkenbaar zijn. Bovendien moet een AI-systeem toegankelijk zijn voor iedereen ongeacht, leeftijd, geslacht of beperkingen. Opmerkelijk is ook dat de checklist erop wijst dat de energieconsumptie tijdens het trainen van een AI-systeem geminimaliseerd moet worden. Bedrijven die met AI bezig zijn, kunnen de richtlijnen consulteren of een webtools voor de checklist volgen.

©PXimport

07 Van ethiek naar wetgeving

Ethische richtlijnen zijn nuttig. Maar volgens digitale burgerrrechtenorganisatie Acces Now en consumentenverenigingen ANEC en BEUC (die alle drie een lid in de expertgroep hadden) is dit maar een eerste stap. Zonder bijbehorende wetgeving en controles kunnen we niet verzekeren dat AI-systemen de rechten van gebruikers respecteren. Aan de wetgeving wordt al gewerkt (zie het kader ‘Europese regelgeving rond AI’), maar zal die gehandhaafd kunnen worden?

Access Now signaleert ook dat de Europese Commissie in de expertgroep voornamelijk vertegenwoordigers uit het bedrijfsleven heeft geplaatst, en dat de richtlijnen daardoor niet voldoende de mens centraal stellen. De organisatie stelt ook voor om de uitdagingen rond AI meer in termen van mensenrechten te bespreken, zoals ze in 2018 hebben gedaan in hun publicatie ‘Human rights in the age of artificial intelligence’.

08 Wie is er verantwoordelijk?

Iets anders waar het rapport van de Europese Commissie aan voorbijgaat, is het probleem van verantwoordelijkheid. Als een zelfrijdende auto door een fout een dodelijk ongeval veroorzaakt, wie is dan de schuldige? De auto? Maar apparaten zijn geen levende wezens, dus daar kunnen we geen verantwoordelijkheid aan toekennen.

De producent dan? Op zich verschilt een AI-systeem zoals een zelfrijdende auto niet zoveel van elk ander product. Als een klassieke auto door een fout plots tijdens een manoeuvre blokkeert en daardoor een ongeval veroorzaakt, zal de producent verantwoordelijk gesteld worden. Zo ook bij een zelfrijdende auto.

Europese regelgeving rond AI

De ethische richtlijnen voor betrouwbare AI die de ‘High-Level Expert Group on AI’ van de Europese Commissie in 2019 publiceerde waren slechts een eerste stap. In april heeft de expertgroep ook een voorstel gedaan voor een geharmoniseerde Europese regelgeving. De huidige wetgeving geeft immers onvoldoende garanties over het betrouwbaar inzetten van AI met respect voor mensenrechten. De nieuwe voorgestelde regelgeving wil vooral de transparantie van AI-systemen verhogen en de risico’s voor de veiligheid en fundamentele rechten minimaliseren. Daarbij ligt de focus op het gebruik van AI in toepassingen met hoge risico’s, zoals in rekrutering, bij het bepalen van de kredietwaardigheid en bij gerechtelijke besluitvorming. Aan deze systemen zullen specifieke vereisten worden opgelegd, zoals het gebruik van datasets van hoge kwaliteit en menselijke controle.

09 Complexe oorzaken

Maar het is veel complexer dan dat: een zelfrijdend systeem bestaat uit zoveel subsystemen van zoveel andere bedrijven, en is getraind op zoveel data uit allerlei bronnen, dat het heel moeilijk te bepalen is wat precies de fout veroorzaakt heeft. Misschien ligt de fout wel in een verkeerde training door een werknemer die op een vrijdagavond vroeger naar huis wilde, waardoor de auto de situatie verkeerd ingeschat heeft. Of misschien kwam de auto in een situatie waarin er gewoon geen juiste oplossing was (zie het kader ‘Het trolleyprobleem’).

Stellen we dan degene die de keuze in een algoritme gegoten heeft verantwoordelijk voor elke dode die uit die keuze voortvloeit? En die complexiteit leidt weer tot andere problemen. Elon Musk heeft aangegeven dat Tesla de verantwoordelijkheid aanvaardt in het geval van een ongeval, op voorwaarde dat de software een fout gemaakt heeft. En hoe bepaal je dat? Door de auto tijdens het rijden continu alle mogelijke gegevens te laten verzamelen en naar Tesla te sturen. We kopen de verantwoordelijkheid van de producent dus af met onze privacy.

10 Te veel vertrouwen in AI

Producenten van AI-systemen stellen de capaciteiten altijd mooier voor dan ze zijn. Daardoor hebben politici, overheidsdiensten maar ook wij allemaal te veel vertrouwen in AI, terwijl veel systemen nog helemaal niet zo goed werken dat we ze in de plaats van menselijke experts zouden kunnen gebruiken. Je kunt je schouder ophalen met de boodschap dat het allemaal wel zal verbeteren, maar ondertussen wordt AI wel in heel wat domeinen toegepast of overwogen waar het juist tot extra risico’s leidt. Het ‘Berkman Klein Center for Internet & Society’ van de Universiteit van Harvard publiceerde in 2018 een overzicht van de risico’s in het rapport ‘Artificial Intelligence & Human Rights: Opportunities & Risks’.

Het trolleyprobleem

Een klassiek gedachtenexperiment in de ethiek is het trolleyprobleem: een op hol geslagen tram staat op het punt vijf op het spoor vastgebonden personen dood te rijden, maar je kunt aan een hendel trekken om de tram van spoor te doen veranderen, waarna die een enkele vastgebonden persoon doodrijdt. Zou jij aan de hendel trekken? Door de handeling maak je jezelf immers medeplichtig aan de dood van die ene persoon. Het gedachtenexperiment, dat overigens niet zonder kritiek is, wordt ook vaak gebruikt in ethische dilemma’s op het gebied van zelfrijdende auto’s. Als een auto een botsing niet kan vermijden, kiest die dan voor een botsing met vijf inzittenden of met een enkele inzittende? Of kiest de auto er zelfs voor om zijn eigen inzittenden op te offeren en tegen een boom te crashen in plaats van tegen een andere auto? Onderzoekers van het MIT hebben op hun website Moral Machine een boel van deze scenario’s met een zelfrijdende auto voorgesteld waar ze bezoekers vragen om een verscheurende keuze te maken.

©PXimport

11 Mensenrechten onder druk

Het rapport gaat met zes domeinen in op de impact van AI op mensenrechten. Opvallend is dat er maar een domein is waarin de auteurs de positieve impact groter zien dan de negatieve impact: diagnostiek in de gezondheidszorg. In het strafrecht, de financiële sector, onderwijs, online content moderation en human resources weegt momenteel de negatieve impact door of is de impact nog onduidelijk.

De problemen zijn afhankelijk van het domein, maar hetzelfde komt vaak terug: het systeem beoordeelt iemand nog te vaak fout en er is geen enkel verweer tegen doordat de beslissing niet transparant genomen wordt. Omdat de gebruikers (politiemensen, rechters, hr-personen, bankiers) blindelings vertrouwen in de technologie waarmee ze mensen beoordelen, zijn ze niet geneigd om de bezwaren van de slachtoffers serieus te nemen. Het is nu eenmaal gemakkelijk om de verantwoordelijkheid voor een moeilijke beslissing naar een computer door te schuiven.

12 Dichter bij huis

Dit is geen ver-van-mijn-bedshow. In Nederland koppelde de overheid van 2014 tot 2020 persoonsgegevens van burgers uit verschillende databases aan elkaar om risicoprofielen op te stellen. Het systeem heette SyRI (Systeem Risico Indicatie) en was ondanks grote bezwaren van het toenmalige College Bescherming Persoonsgegevens en de Raad van State ingevoerd, zonder enige vorm van inzicht in wat er met de gegevens van burgers gebeurt.

De gemeenten, het UWV, de Sociale Verzekeringsbank, de Inspectie SZW en de Belastingdienst konden allemaal van SyRI gebruikmaken als ze bijvoorbeeld fraude met uitkeringen, toeslagen of belastingen vermoedden. Het systeem ging dan aan het rekenen en bepaalde zo welke adressen een verhoogd risico op fraude hadden. Dat kon niet zomaar: er was een hele procedure. Een gemeente kon bijvoorbeeld toestemming vragen om een specifieke wijk te onderzoeken.

In de vijf jaar dat het systeem actief was, hebben vijf gemeenten dat gedaan, maar uit onderzoek van de Volkskrant bleek dat bij geen van die algoritmische onderzoeken een fraudegeval ontdekt werd. Gegevens waren vaak niet meer actueel of verkeerd ingevuld, of er was te weinig personeel. SyRI was bovendien helemaal niet transparant: bewoners van ‘zwakkere’ wijken kwamen onder een vergrootglas te liggen terwijl ze helemaal niet wisten welke privacygevoelige gegevens over hen gebruikt werden. Door het groeiende protest over de gang van zaken besloot Rotterdam om het fraudeonderzoek met SyRI stop te zetten. In het begin van 2020 oordeelde de rechtbank dat de wetgeving die de inzet van SyRI regelde in strijd was met artikel 8 van het Verdrag voor de Rechten voor de Mens, dat het recht op respect voor het privéleven beschermt.

AI voor iedereen

Ondertussen profiteren bedrijven zoals Google, Facebook en Amazon van de grote hoeveelheden gegevens waarover ze beschikken om krachtige AI-toepassingen te trainen, die zelden in het voordeel van gebruikers zijn. Als je de website Google AI zou bezoeken, zou je niet geloven dat dit hetzelfde bedrijf is dat 80% van het webverkeer traceert met cookies of trackers. Als we even voorbijgaan aan de privacy-inbreuken van Google, bevat de website van Google AI een interessante houding tegenover AI. Google wil met AI naar eigen zeggen technologieën ontwikkelen die belangrijke problemen oplossen en mensen in hun dagelijks leven helpen.

©PXimport

De mens centraal

Het bedrijf somt zelfs enkele principes op die het volgt in zijn keuze om specifieke AI-toepassingen al dan niet te ontwikkelen. Zo mag een AI-technologie volgens Google geen vooroordelen creëren of versterken, moet ze verantwoording kunnen geven en moet ze de maatschappij van voordeel zijn. Google heeft zelfs een People + AI Guidebook gepubliceerd voor wie zelf een AI-systeem ontwikkelt en daarbij wil weten hoe dit het best de mens centraal stelt. Hoe mooi al deze principes en richtlijnen ook zien, Google krijgt veel kritiek van onderzoekers omdat het zelf deze richtlijnen vaak overtreedt.

15 Energieslokoppen

AI heeft nog een ander probleem: technieken zoals deep learning vragen enorm veel rekenkracht. Bij deep learning wordt een neuraal netwerk opgesteld met een groot aantal lagen neuronen tussen invoer en uitvoer. De beste netwerken worden altijd groter. Zo had GPT-2 van OpenAI in 2019 ‘slechts’ 1,5 miljard parameters nodig, terwijl de opvolger GPT-3 vorig jaar maar liefst 175 miljard parameters vereiste. Ook de rekenkracht die nodig was om beide modellen te trainen nam sterk toe: GPT-2 vereiste enkele tientallen petaflopdagen, terwijl dat bij GPT-3 al meerdere duizenden petaflopdagen bedroeg. Honderd keer zoveel rekenkracht, en dus energieverbruik, op een jaar tijd.

Energieverbruik betekent meestal ook een CO₂-voetafdruk. In 2019 publiceerden computerwetenschappers van de University of Massachusetts de studie ‘Energy and Policy Considerations for Deep Learning in NLP’. Daarin schatten ze dat het productieklaar maken van een enkel neuraal netwerk even veel CO₂ uitstoot als vijf auto’s tijdens hun hele levensduur. En in 2020 schatten studenten van de universiteit van Kopenhagen dat het trainen van GPT-3 een even grote CO₂-voetafdruk heeft als 700.000 km rijden met een nieuwe auto. Ze ontwikkelden een tool, carbontracker om het energieverbruik en de CO₂-voetafdruk van het trainen van een deeplearningmodel te schatten.

©PXimport

16 Inzicht in de CO₂-voetafdruk

In hun publicatie ‘Quantifying the Carbon Emissions of Machine Learning’ hebben onderzoekers van Element AI en het instituut Mila in Montréal de factoren blootgelegd die een impact hebben op de CO₂-voetafdruk van het trainen van een deeplearningmodel. Op basis hiervan hebben ze de Machine Learning Emissions Calculator ontwikkeld. Je vult hier in bij welke cloudprovider en in welke regio je het model traint, om welk hardwaretype het gaat en hoeveel uren het trainen in totaal duurde.

Je krijgt dan niet alleen de CO₂-uitstoot te zien, maar ook suggesties om die te verbeteren, bijvoorbeeld het model in een andere regio trainen of naar een andere cloudprovider overstappen. Daar zijn grote verschillen tussen. Zo draait het Google Cloud Platform voor een groter deel op hernieuwbare energie dan Amazon Web Services. Bedrijven die de impact van hun AI-toepassingen op het milieu willen beperken, kunnen op deze manier de juiste keuzes maken.

©PXimport

17 Steeds minder verbetering

Het gigantische energieverbruik van de steeds groter wordende AI-modellen is vaak ook gewoon niet meer te verantwoorden. Want de modellen worden wel beter, maar het energieverbruik groeit sterker dan de verbetering van de prestaties. Dat is al jaren zo. Het computervisiemodel ResNeXt uit 2017 verbruikte bijvoorbeeld 35% meer energie bij het trainen dan de voorganger ResNet uit 2015, maar was slechts 0,5% nauwkeuriger.

Als AI-onderzoekers op dezelfde manier blijven doorgaan, zullen ze dus grotere en grotere modellen maken die steeds meer energie vragen, en dat om steeds kleiner wordende verbeteringen te realiseren. Een van de redenen waarom deze verspilling blijft gebeuren, is omdat veel AI-onderzoekers geobsedeerd zijn om met hun algoritme op de eerste plaats te raken in een van de vele gepubliceerde benchmarks. Het levert de onderzoekers faam op, zelfs al is hun algoritme maar een fractie van een procent beter dan de nummer twee.

18 Intelligenter dan domme berekeningen

AI-onderzoekers zouden dus beter ook naar de energiekosten kijken, en wetenschappelijke artikels en onderzoeksvoorstellen zouden hierop ook beoordeeld moeten worden. Maar het is ook duidelijk dat de huidige aanpak van steeds maar grotere modellen niet meer vol te houden is. We hebben vooral nieuwe fundamentele inzichten in AI nodig. Zodat we AI-algoritmes kunnen ontwikkelen die niet alleen intelligenter zijn dan brute rekenkracht, maar ook niet zoveel kostbare energie verspillen. Zo komt ons menselijke brein toe met een gemiddeld energieverbruik van nog geen 20 watt!

▼ Volgende artikel
AMD hint naar komst van nieuwe Xbox in 2027
© Reshift Digital BV
Huis

AMD hint naar komst van nieuwe Xbox in 2027

AMD lijkt te hinten naar de mogelijkheid dat de volgende generatie Xbox-console in 2027 verschijnt.

Tijdens de bekendmaking van fiscale kwartaalcijfers meldde Lisa Su, de ceo van AMD, het volgende (via PC Mag): "Qua producten loopt Valve op schema om begin dit jaar de op AMD-technologie draaiende Steam Machine uit te brengen, en de ontwikkeling van Microsofts volgende generatie van Xbox met een deels op maat gemaakte SoC boekt progressie om een release in 2027 te ondersteunen."

Met SoC bedoelt Su 'system-on-a-chip', waarbij de meeste componenten die nodig zijn voor een computer of console op een allesomvattend circuit geplaatst worden. Dit is meestal de standaard bij spelcomputers.

2027 of later?

Microsoft kondigde eerder al aan dat het samen met AMD aan een nieuwe console werkt, maar een precieze releasedatum werd toen niet gegeven. Gezien Su's opmerking, lijkt AMD dus te verwachten dat de spelcomputer in 2027 verschijnt.

Dit terwijl de PlayStation 6 - Sony's nieuwe console - volgens geruchten mogelijk intern wordt uitgesteld zodat het pas later dit decennium verschijnt. Dit deels vanwege de stijgende kosten voor RAM in verband met de benodigdheden voor het draaiende houden van AI in combinatie met het huidige economische milieu. Officieel is niet bekend wanneer de PS6 uit moet komen, maar in deze column stelden we onlangs dat het geen slecht idee is om de console pas over een aantal jaar uit te brengen.

Wat weten we over de nieuwe Xbox?

Microsoft bevestigde eerder al dat de volgende Xbox veel eigenschappen zal delen met pc's. Zo zouden er meerdere gamewinkels op beschikbaar komen naast de Xbox Store zelf - net zoals de uitgekomen ROG Xbox Ally dus. Dat zou betekenen dat bijvoorbeeld Steam en Epic Games Store ook op het apparaat te bezoeken zijn, en er via die weg pc-games gekocht kunnen worden.

Begin dit jaar kwamen er ook geruchten naar buiten dat de nieuwe Xbox-interface zou draaien op de Full Screen Experience van de Xbox pc-app, dat onderdeel uitmaakt van Windows. De volgende Xbox zou volgens geruchten draaien op de AMD Magnus APU, die inderdaad CPU en GPU in één chip combineert.

Nieuw op ID: het complete plaatje

Misschien valt het je op dat er vanaf nu ook berichten over games, films en series op onze site verschijnen. Dat is een bewuste stap. Wij geloven dat technologie niet stopt bij hardware; het gaat uiteindelijk om wat je ermee beleeft. Daarom combineren we onze expertise in tech nu met het laatste nieuws over entertainment. Dat doen we met de gezichten die mensen kennen van Power Unlimited, dé experts op het gebied van gaming en streaming. Zo helpen we je niet alleen aan de beste tv, smartphone of laptop, maar vertellen we je ook direct wat je erop moet kijken of spelen. Je vindt hier dus voortaan de ideale mix van hardware én content.

▼ Volgende artikel
Je NAS veilig bereiken via een VPN-server, Tailscale of Cloudflare-tunnel
© ER | ID.nl
Huis

Je NAS veilig bereiken via een VPN-server, Tailscale of Cloudflare-tunnel

Wil je een NAS op afstand gebruiken, dan doe je dat liefst natuurlijk veilig. Bijvoorbeeld door een VPN-server op te zetten, of een tunnel met extra toegangscontrole. Hiervoor zijn diensten als Tailscale en Cloudflare heel geschikt. In deze masterclass nemen we de beste opties met je door. We leggen uit wat de voor- en nadelen zijn en hoe je ze kunt gebruiken in combinatie met een NAS.

Een NAS is breed inzetbaar en bij veel huishoudens de spil in het netwerk. Je kunt niet alleen je documenten centraal bewaren, maar ook bijvoorbeeld media streamen naar je tv, foto’s bekijken op je tablet en talloze extra toepassingen installeren. Heb je (een deel van) deze toepassingen ook af en toe op afstand nodig? Het openzetten van een poortje in de router of het gebruik van een reverse proxy kan daarvoor een prima optie zijn. Maar publieke toegang is niet altijd nodig. Er zijn betere opties als je vooral voor jezelf goed beveiligde externe toegang tot je NAS nodig hebt. Een eenvoudige optie is een cloudservice van de fabrikant, zoals Synology QuickConnect. Betere en veiligere opties zijn een VPN-server met een protocol als OpenVPN of WireGuard, Tailscale (dat op de achtergrond met WireGuard werkt) of een Cloudflare-tunnel. In deze masterclass leggen we uit hoe je ze gebruikt. Wat je kiest, hangt ook af van je doel. Bij elke optie behandelen we de eventuele beperkingen. Voordat je begint, is het ook verstandig de beveiliging van je NAS nog even door te lichten (zie kader).

Optimale beveiliging voor je NAS

Bij het openstellen van je NAS is een goede beveiliging extra belangrijk. Ongeoorloofde toegang tot je NAS zul je altijd willen voorkomen. Gebruik altijd sterke wachtwoorden voor je gebruikersaccounts. Deactiveer bovendien de algemene accounts zoals admin en guest. Zet tweestapsverificatie aan. Hierbij wordt na het inloggen om een extra toegangscode gevraagd die je kunt genereren met een app op je smartphone. Op vertrouwde apparaten hoef je dat maar één keer te doen. Bij Synology vind je deze opties in je configuratiescherm, onder Beveiliging / Account. Je kunt kiezen voor welke gebruikers dit moet worden ingeschakeld. Bij QNAP ga je hiervoor in je configuratiescherm naar Systeem / Beveiliging. Open dan het tabblad Verificatie in 2 stappen. Maak ook gebruik van de ingebouwde firewall van je NAS, waarin je toegangsregels kunt instellen! In deze masterclass geven we daar tips voor. Zorg ten slotte dat je een goede back-upstrategie hebt voor de bestanden op je NAS.

Het is verstandig om tweestapsverificatie aan te zetten op je NAS.

Wat is een cloudservice?

Via een cloudservice kun je toegang tot een NAS vereenvoudigen door een soort tunnel op te zetten. Bij Synology heet dit QuickConnect, QNAP noemt het myQNAPcloud link. Hierbij wordt vanaf de NAS een uitgaande verbinding opgezet met een server, waardoor het firewalls omzeilt (ook die in je NAS!). De NAS geef je een herkenbare naam, ook wel QuickConnect ID of QNAP ID genoemd, die je ook gebruikt om te verbinden. Hierbij wordt eerst geprobeerd rechtstreeks verbinding te maken, wat ook het meest efficiënt is. Als dat mislukt, wordt de verbinding automatisch omgeleid via een relayserver, die als tussenpersoon het verkeer doorstuurt. De snelheid kan dan minder hoog zijn. We noemen hieronder alleen de dienst van Synology, omdat het een betere bescherming biedt en een betere reputatie heeft dan myQNAPcloud link. Zorg wel altijd zelf voor een goede basisbeveiliging. Overweeg veiligere methoden zoals een VPN of Tailscale. Het is veiliger en je bent niet afhankelijk van andere partijen (zoals een relayserver).

Diensten als myQNAPcloud link creëren een soort tunnel naar je NAS.

Synology QuickConnect

Bij Synology QuickConnect koppel je eerst je NAS aan een Synology-account. Daarna kun je een QuickConnect ID kiezen. Je NAS is daarna bereikbaar vanuit de Synology-apps of een browser via het adres https://quickconnect.to/ met daarachter de QuickConnect ID. Dit werkt ook bij een dynamisch ip-adres, dus je hoeft niet apart een Dynamic DNS-functie (DDNS) te gebruiken. Om QuickConnect te gebruiken open je Configuratiescherm. Ga dan naar Externe toegang. Zet een vinkje bij QuickConnect inschakelen. Hierna moet je je aanmelden met je Synology-account of een nieuw account maken. Vervolgens kies je een QuickConnect ID. Via de instellingen kun je nog kiezen of de relayserver mag worden gebruikt en welke toepassingen via QuickConnect toegankelijk zijn.

Via de instellingen kies je welke toepassingen toegankelijk moeten zijn.

Wat is VPN?

Door een VPN-server te installeren, heb je een ideale voorziening om op afstand je netwerk te bereiken en alle apparaten op dat netwerk, zoals je NAS, netwerkprinters en camera’s. Je installeert de VPN-server op één systeem, zoals een router, server, Raspberry Pi of je NAS. Bij Synology kun je bijvoorbeeld standaard met OpenVPN werken en QNAP ondersteunt het snellere WireGuard. We laten zien hoe je deze opties gebruikt. Na inloggen heb je volledige toegang tot je netwerk en alle toepassingen in het netwerk, alsof je rechtstreeks op het netwerk zit. Voor toegang tot bestanden op je NAS werken daarom alle protocollen als smb, nfs en WebDAV en toepassingen als Synology Drive en QNAP File Station. Je hoeft geen poorten in je router open te zetten, behalve een enkele poort naar de VPN-server.

Bij QNAP kun je standaard werken met WireGuard.

OpenVPN op Synology

Om je Synology-NAS als VPN-server in te zetten, kun je de toepassing VPN Server installeren via Package Center. Gebruik je een firewall, controleer dan of de benodigde poorten toegankelijk zijn. Bij de installatie kun je die aanpassing via een venster direct doorvoeren. Afhankelijk van het protocol moet je ook nog één of meerdere poorten doorsturen van je router naar je NAS. De toepassing ondersteunt PPTP, OpenVPN en L2TP/IPSec. Eigenlijk is vooral OpenVPN interessant. Het is veilig en stabiel, maar niet zo snel als WireGuard. Ook geeft het soms wat uitdagingen bij het opzetten van de verbinding.

Synology ondersteunt meerdere protocollen, waaronder OpenVPN.

Activeren OpenVPN

Om OpenVPN te gebruiken open je VPN Server. Ga dan naar OpenVPN. Zet een vinkje bij OpenVPN-server inschakelen. Bij Dynamisch ip-adres zie je het subnet dat OpenVPN gebruikt. De verbonden clients krijgen een ip-adres in dat bereik. Bij Poort en Protocol zie je dat standaard udp-poort 1194 wordt gebruikt. Die poort moet je doorsturen van je router naar je NAS. Controleer of de poort toegankelijk is in de firewall van je NAS. Voor een goede balans tussen snelheid en veiligheid kun je bij Codering bijvoorbeeld AES-128-CBC kiezen en bij Verificatie de optie SHA256. De optie Compressie op de VPN-koppeling inschakelen mag uit, omdat het weinig snelheidswinst geeft. Zet de optie Clients toegang geven de LAN-server aan, zodat je andere apparaten in je thuisnetwerk kunt bereiken. Zet ook de optie Verifieer TLS auth-sleutel aan. Klik op Toepassen om de instellingen te activeren. Je kunt nu clients gaan configureren.

Bij OpenVPN kun je zelf nog enkele instellingen kiezen.

Profiel voor OpenVPN

Ga naar OpenVPN en kies Configuratie exporteren om het configuratiebestand te exporteren als zip-bestand. Hierin vind je een .ovpn-bestand dat je nodig hebt voor toegang. Je hebt ook een gebruikersaccount nodig bij het inloggen. Onder Rechten kun je aanvinken welke gebruikers toegang hebben en via welke protocollen. Maak eventueel een nieuwe gebruiker voor alleen de VPN-verbinding! Open het bestand VPNConfig.ovpn met een teksteditor. Omdat je de VPN-server extern wilt gebruiken, verander je in onderstaande regel YOUR_SERVER_IP naar je ip-adres van je internetverbinding of de hostnaam als je bijvoorbeeld Dynamic DNS gebruikt. Synology ondersteunt ook Dynamic DNS en geeft bijvoorbeeld een naam.synology.me-adres. Je kunt het activeren in je configuratiescherm onder Externe toegang / DDNS. Het gaat om deze regel:

remote YOUR_SERVER_IP 1194

Je ziet ook de onderstaande optie. Haal hier eventueel het commentaarteken weg als je wilt dat ál het verkeer, dus ook het normale internetverkeer, via de VPN-server gaat. Dat geeft minder goede prestaties, maar is wel veiliger als je bijvoorbeeld een openbare wifi-hotspot gebruikt. Dit is de regel waar je het commentaarteken weg kunt halen:

#redirect-gateway def1

Gebruik dit profiel om verbinding te maken vanaf andere apparaten. Zet hierbij de optie aan dat zonder certificaat verbinding mag worden gemaakt.

WireGuard op QNAP

We zullen laten zien hoe je WireGuard op je QNAP-NAS gebruikt in combinatie met een Windows-client. Voor meer informatie over WireGuard en het opzetten van een aparte VPN-server verwijzen we je naar een eerder artikel dat je kunt lezen via www.kwikr.nl/wgvpn waarin dat uitgebreid aan bod komt. Zorg bij QNAP dat de toepassing QVPN Service is geïnstalleerd via App Center. Open dan de toepassing en ga naar WireGuard. Zet een vinkje bij WireGuard VPN-server inschakelen. Vul een naam in achter Servernaam. Klik achter Persoonlijke sleutel op Codeparen genereren. Noteer de waarde bij Openbare sleutel: die is straks nodig bij de configuratie van clients. Achter Luisterpoort zie je de poort (udp) die je moet doorsturen in de router. Bij DNS Server vul je een openbare DNS-server in (zoals 8.8.8.8) óf een DNS-server in je lokale netwerk. Klik op Toepassen om de instellingen te bewaren. Klik op Peer toevoegen. Hier kun je clients toevoegen (zie volgende stap).

De instellingen voor WireGuard bij een NAS van QNAP.

Client instellen

Elk apparaat dat verbinding met WireGuard maakt, is een zogenoemde peer. Voor het toevoegen van een apparaat kies je bij QNAP de optie Peer toevoegen. Vul een herkenbare naam in. De waarde bij Openbare sleutel komt bij deze ‘peer’ vandaan, die gaan we nu eerst instellen. Installeer en open de Windows-client en kies de optie Add Empty Tunnel. Er worden een privé- en openbare sleutel gegenereerd. Er opent een configuratiebestand met de privésleutel waarin je onder andere deze twee regels ziet:

[Interface]

PrivateKey = +MSQ3D2+M71SotRrWC3hnPyzYSTWNuaxWwc920=

Vul deze configuratie verder aan zoals in het voorbeeld hieronder. Bij Address kies je een vrij ip-adres binnen het VPN-subnet, dat nog niet door een andere peer wordt gebruikt. Je kunt dit voor elke client ophogen, dus 198.18.7.2/32, 198.18.7.3/32, en zo verder. Belangrijk is dat je bij PublicKey de openbare sleutel die QNAP laat zien invult. Bij Endpoint vervang je ipadres door het ip-adres (of de hostnaam) van je internetverbinding thuis. Dit is de configuratie die je moet aanpassen:

[Interface]

PrivateKey = +MSQ3D2+M71SotRrWC3hnPyzYSTWNuaxWwc920=

ListenPort = 51820

Address = 198.18.7.2/32

DNS = 1.1.1.1

[Peer]

PublicKey = KsCc+cRucH4F8T3VdyatvZXjqvunEerBZapulE=

AllowedIPs = 0.0.0.0/0

Endpoint = ipadres:51820

Bewaar de configuratie met Save. Kopieer nu de waarde bij Public key van deze client. Je leest deze af in het hoofdvenster van WireGuard (zorg dat de bewuste tunnel is geselecteerd). Plak deze in QNAP bij Openbare sleutel bij de configuratie van deze peer. Je kunt nu verbinding maken met je Windows-client!

Voltooi de configuratie voor de Windows-client voor WireGuard.

Firewall instellen voor je NAS

Een firewall op je NAS biedt extra bescherming. Bij Synology open je daarvoor Configuratiescherm. Ga dan naar Beveiliging en open het tabblad Firewall. Zet een vinkje bij Firewall inschakelen en kies Toepassen. Bij Firewallprofiel kun je een profiel kiezen of bewerken. Kies Regels bewerken om het huidige profiel aan te passen. Begin met een regel die alle apparaten op het lokale netwerk toestaat. Kies bij die regel bij Poorten de optie Alles. Bij Bron-IP kies je Specifiek ip. Klik daarachter op Selecteren en kies Subnet. Je moet hier het netwerkbereik van je router kennen. In veel gevallen is dat iets als 192.168.1.0 met subnetmasker 255.255.255.0. Dit omvat dan alle adressen van 192.168.1.0 t/m 192.168.1.255. Voeg hierna nog specifieke regels toe voor toepassingen die van buitenaf toegang moeten hebben. In dit voorbeeld staan we bijvoorbeeld SSH toe vanaf een bepaald ip-adres. Heel belangrijk is dat je als laatste een regel toevoegt die alles blokkeert. De regels worden namelijk van boven naar beneden doorlopen en bij de eerste match stopt de verwerking. Het configuratiescherm van QNAP biedt ook een firewall, maar dat is meer een soort toegangsfilter. Voor uitgebreidere opties kun je QuFirewall installeren via App Center.

Het is raadzaam om de firewall op je NAS te gebruiken voor toegangsbeperking.

Wat is Tailscale?

Met Tailscale kun je een virtueel privénetwerk maken tussen al je apparaten. Dit gebeurt op basis van identiteit, met bijvoorbeeld een standaard Google-account voor autorisatie. Je kunt alle toegevoegde apparaten benaderen via een intern ip-adres of de toegekende hostnaam. Tailscale gebruikt dezelfde technologie als WireGuard, wat het snel, veilig en betrouwbaar maakt. Je hebt geen centrale server nodig en hoeft ook geen poorten in je router open te zetten. Wel moet je elk apparaat in principe afzonderlijk aan je privénetwerk toevoegen. Dat is eenvoudig, ook voor een NAS, zoals je hieronder ziet. Als alternatief kun je Tailscale ook op één apparaat in je netwerk installeren en dat apparaat als subnetrouter instellen, zodat je via dat ene systeem toegang hebt tot alle andere apparaten in je netwerk. In dat geval hoef je Tailscale niet op elk afzonderlijk apparaat te installeren. Meer uitleg over Tailscale vind je in dit artikel.

Met Tailscale kun je een privénetwerk voor je apparaten maken.

Eerste stappen

Ga naar https://tailscale.com en kies de optie Get started. Log in met een van de ondersteunde identiteitsproviders, bijvoorbeeld een standaard Google-account of een van de andere opties. Hierna wordt automatisch je Tailscale-netwerk, of kortweg tailnet, gemaakt. Dat is een soort privé-VPN-netwerkje waar jouw apparaten deel van uit gaan maken. Als je op een ander apparaat inlogt met datzelfde account, is het bereikbaar vanuit je andere apparaten in dit tailnet. Een gratis account ondersteunt tot drie gebruikers en honderd apparaten.

Log in bij Tailscale met bijvoorbeeld je Google-account.

Apparaten toevoegen

Het toevoegen van apparaten is eenvoudig. Het volstaat om de software te installeren en in te loggen met dezelfde identiteitsprovider. Om Tailscale bijvoorbeeld op een iPad te gebruiken, installeer je eerst de toepassing via de App Store. Hierbij wordt een VPN-configuratie voor je iPad gemaakt. Daarna log je in en zie je een lijst met apparaten in je privénetwerkje, waarbij je ook de namen af kunt lezen.

Op een iPad maakt Tailscale een VPN-profiel aan.

Tailscale op je NAS

Je kunt Tailscale ook op een NAS installeren. Bij Synology zoek je daarvoor in Package Center naar Tailscale. Bij QNAP kun je in App Center terecht. Installeer en open de toepassing. Er wordt gevraagd om in te loggen, waarbij je weer hetzelfde account als hiervoor gebruikt. Zet daarna de verbinding op via Connect. Als je nog een keer de Tailscale-app opent, kun je details zien over het bewuste apparaat, zoals het ip-adres en de hostnaam die je kunt gebruiken om verbinding te maken.

Tailscale is als pakket beschikbaar voor Synology en QNAP.

Wat is een Cloudflare-tunnel?

Bij een Cloudflare-tunnel installeer je op één systeem in je netwerk (bijvoorbeeld je NAS) een klein programma, dat van binnenuit een versleutelde verbinding opzet naar Cloudflare. Daarna kun je toepassingen individueel toevoegen die deze tunnel mogen gebruiken. Daarbij kun je elke toepassing een eigen subdomein geven, zoals nas.domein.nl voor je NAS. De tunnel laat geen netwerkprotocollen zoals SMB en NFS door en WebDAV is een uitdaging. Het is vooral bedoeld voor webverkeer. Je kunt incidenteel wel bijvoorbeeld DS File gebruiken, voor het browsen door je bestanden en kleine uploads of downloads.

Bij Cloudflare kun je gratis een tunnel opzetten voor toegang op afstand.

Domein registreren

Log in bij Cloudflare met een bestaand account of maak een nieuw gratis account. Registreer een domeinnaam via Add / Register a domain of voeg een bestaand domein toe via Add / Connect a domain. In dat laatste geval moet je de DNS-instellingen bij je huidige provider aanpassen, zodat de nameservers naar die van Cloudflare verwijzen. Afhankelijk van de extensie betaal je bij Cloudflare vanaf zo’n 6 dollar per jaar (circa 6 euro) per domein. Je kunt een domein eventueel direct voor meerdere jaren registreren of voor automatische verlenging kiezen. Betalen kan met creditcard of PayPal. In je dashboard vind je je domein terug onder Domain registration / Manage domains.

Registreer tegen lage kosten een domein bij Cloudflare.

Tunnel voorbereiden

Ga via het menu aan de linkerkant naar Zero Trust. Klik dan op Networks en kies Tunnels. Klik op Create a tunnel. Selecteer de optie Cloudflared. Geef je tunnel een naam. Vervolgens moet je een zogeheten connector installeren op één systeem in je netwerk om een tunnel te maken. Alle toepassingen die je straks via de Cloudflare-tunnel gaat publiceren, moeten bereikbaar zijn vanaf dat systeem. Dat is meestal alleen een probleem bij gescheiden netwerken of strikte firewallregels. Installeer Cloudflared volgens de instructies op een systeem dat altijd aanstaat. Dat kan een server of Raspberry Pi zijn, maar óók je NAS, zoals we hieronder toelichten. Hierna komt de tunnel automatisch online.

Maak een tunnel via de website van Cloudflare.

Tunnel op Synology-NAS

Voor de installatie op een NAS heeft Cloudflare geen instructies, maar de procedure is relatief eenvoudig. Kopieer de opdracht die je ziet bij bijvoorbeeld de Windows-installatie en plak deze in een editor. Je ziet hierin een lange string van 184 tekens die meest begint met eyJh…. Dat is de benodigde token. Om Cloudflared op een Synology-NAS te installeren open je Package Center. Ga naar Gemeenschap en kies Cloudflare Tunnel. Klik op Installeren. Nu wordt om de token gevraagd. Je hoeft geen geavanceerde opties te kiezen. Na het voltooien van de installatie is je tunnel klaar voor gebruik.

Vul de token in bij de installatie van de software op je Synology-NAS.

Tunnel bij QNAP

QNAP biedt geen softwarepakket, maar je kunt Cloudflare wel vrij eenvoudig via Docker configureren en starten. Het is het makkelijkst om met Docker Compose te werken. Installeer indien nodig Container Station en open het programma. Ga dan naar Toepassingen en klik op Maken. Bij Naam van de toepassing vul je een herkenbare naam in, zoals cloudflared. Bij YAML-code vul je de onderstaande code in. Achter TUNNEL_TOKEN vul je uiteraard jouw token in. Klik dan op Maken om de tunnel te maken. Dit is de benodigde code:

version: "3"

services:

  cloudflared:

    image: cloudflare/cloudflared:latest

    container_name: cloudflared

    restart: unless-stopped

    network_mode: "host"

    command: tunnel run

    environment:

      - TUNNEL_TOKEN=eyJh...

Bij QNAP kun je Cloudflared het beste via Docker installeren.

Toepassing toevoegen

Je kunt nu elke toepassing via de tunnel beschikbaar maken met een uniek subdomein. Om zo’n zogeheten route aan te maken, ga je binnen Zero Trust naar Networks / Tunnels. Bij Status geeft het systeem als het goed is aan dat de tunnel gezond is. Open het menu (via de drie puntjes) en kies Configure. Ga dan naar het tabblad Published application routes. We nemen de webinterface van een NAS die lokaal bereikbaar is op https://10.0.10.200:5001. Bij Subdomain vul je bijvoorbeeld nas in. Bij Domain kies je een domein. Bij Type kiezen we HTTPS en bij URL vullen we 10.0.10.200:5001 in. Bij de optie HTTPS moet je oppassen. De NAS heeft in ons geval geen echt certificaat. Daarom is het belangrijk om onder Additional application settings / TLS de optie No TLS Verify aan te vinken. Cloudflare zal dan negeren dat het certificaat niet ondertekend is. Klik op Save. Er zal automatisch een DNS-record worden gemaakt en je kunt vrijwel direct op afstand je NAS benaderen.

We maken een route voor de NAS.

Extra beveiliging bij Cloudflare

Na het openstellen van een toepassing via een subdomein kan in feite iedereen die dat adres kent de toepassing benaderen, zoals de webinterface van je NAS. Of ze ook binnenkomen, hangt af van je beveiliging. Een NAS kun je zelf extra beveiligen, bijvoorbeeld met tweestapsverificatie. Maar je kunt toegang óók beperken via Cloudflare zelf. Je kunt bijvoorbeeld regelen dat alleen jij bij de tunnel mag, via een tijdelijke code die je per e-mail ontvangt, of door te verplichten dat je eerst moet inloggen met een specifiek Google-account.