ID.nl logo
Detecteer personen in je huis met Frigate
© Reshift Digital
Huis

Detecteer personen in je huis met Frigate

Aanwezigheidsdetectie in een domoticasysteem als Home Assistant gebeurt vaak met bewegingssensoren of met hulpmiddelen zoals bluetooth-beacons, maar dat werkt niet altijd even nauwkeurig. Er is ook een andere oplossing: met machine learning automatisch camerabeelden analyseren op de aanwezigheid van personen. In dit artikel implementeren we dat met de software Frigate en de Google Coral USB Accelerator op een Raspberry Pi 4, zodat we Home Assistant automatisch kunnen laten reageren op onze aanwezigheid of die van andere personen.

Realtime detectie van personen in camerabeelden is mogelijk dankzij machine learning. We gebruiken daarvoor een neuraal netwerk dat getraind is op beelden van personen. Als je dit netwerk daarna nieuwe beelden toont, kan het met de kennis die het tijdens de training opgedaan heeft personen detecteren. Dat werkt vrij goed: de technologie is de laatste jaren met rasse schreden vooruitgegaan.

01 Raspberry Pi 4 met Coral USB Accelerator

Er is één nadeel: deze detectie vereist heel wat rekenwerk. Gelukkig bestaat er speciale hardware die geoptimaliseerd is voor de berekeningen in neurale netwerken. Een van die hardwareversnellers is de Google Coral USB Accelerator, die voor rond de 70 euro te koop is. Het is een klein kastje ter grootte van een wat brede usb-stick, en wordt via een meegeleverde usb-c-kabel op een usb3-poort aangesloten voor de communicatie met de computer.

Als computer waarop we de herkenningssoftware draaien, kiezen we voor de energiezuinige Raspberry Pi (maar het kan ook op een Ubuntu-server, bijvoorbeeld met Ansible-NAS (zie Computer!Totaal 9). Hoewel de eerdere modellen in principe ook kunnen, raden we de nieuwe Raspberry Pi 4 aan omdat die twee usb3-poorten heeft; anders wordt de snelheid van de Coral USB Accelerator afgeknepen door de usb2-poort. Een ander voordeel van de Pi 4 is dat die naast de basisversie met 1 GB RAM ook versies met 2 en 4 GB RAM heeft. Wij hebben deze masterclass met succes uitgevoerd op een Pi 4 met 2 GB RAM.

We gaan ervan uit dat je Raspbian Buster Lite op je Raspberry Pi 4 geïnstalleerd hebt. Dat doe je door het image met balenaEtcher op een micro-sd-kaart te schrijven, er een leeg bestand ssh in op te slaan en eventueel (als je wifi gebruikt in plaats van ethernet) een bestand wpa_supplicant.conf met de wifi-configuratie. Steek de micro-sd-kaart daarna in je Pi, sluit de Coral USB Accelerator op een usb3-poort van de Pi aan, sluit eventueel de ethernetkabel aan en tot slot de voedingsadapter om je Pi op te starten.

©PXimport

02 Domoticacontroller en mqtt-broker

Als domoticacontroller maken we gebruik van Home Assistant. Dat kun je op een Raspberry Pi installeren (eventueel zelfs dezelfde die de beeldherkenning doet), of op je nas of een Linux-server via Docker. Een eenvoudige manier om Home Assistant te installeren is via Hass.io. In de masterclass in Computer!Totaal 7/8 vind je uitgebreide instructies.

Ook met een ander domoticasysteem kun je deze masterclass uitvoeren, zolang je het systeem maar met een mqtt-broker kunt laten communiceren. Die mqtt-broker dien je zelf nog te installeren: Eclipse Mosquitto is een populaire keuze. Gebruik je Hass.io, dan installeer je Mosquitto eenvoudig via de add-on Mosquitto MQTT broker.

Een mqtt-broker is een centrale server die verbonden clients toelaat om boodschappen uit te wisselen zonder dat ze van elkaars bestaan hoeven te weten. Wanneer onze Pi 4 een persoon detecteert in het camerabeeld, stuurt die via mqtt een boodschap naar de broker en wanneer de persoon weer uit beeld is een andere boodschap. Home Assistant heeft zich ondertussen geabonneerd op de boodschappen, zodat het domoticasysteem onmiddellijk door de mqtt-broker op de hoogte gehouden wordt bij het verschijnen of verdwijnen van een persoon.

03 Camera’s

Dan ontbreekt nog maar één component in onze opstelling: de camera’s. De software Frigate kan personen in streams van meerdere camera’s tegelijk detecteren. Dat werkt in principe met elke ip-camera die rtsp (Real Time Streaming Protocol) ondersteunt, dus die camera’s kunnen overal in je huis staan.

De detectie van personen verloopt dan als volgt. De Pi 4 leest continu één of meer streams van ip-camera’s in via het netwerk, laat er zijn neuraal netwerk op los, dat via de aangesloten Coral USB Accelerator versneld wordt uitgevoerd, en stuurt dan de boodschap dat er een persoon verschijnt of verdwijnt via mqtt-boodschappen over het netwerk. Home Assistant pikt die boodschappen op en reageert erop, bijvoorbeeld door verlichting aan of uit te doen of je een notificatie te sturen.

04 Configuratiebestand

De volgende stap is om een configuratiedirectory op je Pi 4 aan te maken en daarin een configuratiebestand in te vullen:

mkdir frigate_confignano frigate_config/config.yml

De inhoud daarvan hangt van je situatie af. Gebruik als inspiratie het voorbeeldconfiguratiebestandvan de GitHub-pagina van Frigate. Het resultaat zal er ongeveer zo uitzien:

web_port: 5000
mqtt:
host: 192.168.0.63
topic_prefix: frigate
cameras:
voordeur:
rtsp:
user: frigate
host: 192.168.0.118
port: 5540
password: geheim
path: /ch0
take_frame: 5
regions:
- size: 200
x_offset: 140
y_offset: 340
min_person_area: 5000
threshold: 0.5

Sla dit op met Ctrl+O en sluit nano dan af met Ctrl+X.

De variabele web_port stelt de poort voor waarop Frigate de mjpeg-stream en jpg-snapshots van de gedetecteerde personen ter beschikking stelt. Onder mqtt definieer je de hostname of het ip-adres van de machine waarop je mqtt-broker draait en het prefix waaronder Frigate al zijn mqtt-boodschappen publiceert.

Onder cameras definieer je één of meerdere camera’s, in dit geval slechts één (voordeur). Onder rtsp vul je de gegevens in over de hostnaam, poort, gebruikersnaam en wachtwoord en het pad waaronder het beeld van de camera beschikbaar is. Als je camera geen authenticatie vereist, vul je een willekeurige gebruikersnaam en wachtwoord in. Met take_frame: 5 zeggen we dat Frigate maar elke vijf frames moet verwerken. Dat is handig voor camera’s waarvan je de framerate niet kunt instellen.

05 Naar personen zoeken

Onder regions tot slot definieer je in welke regio’s Frigate naar personen zoekt. We hebben hier één regio gedefinieerd, maar om rekentijd uit te sparen definieer je er beter enkele kleinere. De juiste waardes hangen van de resolutie van je camera af en waar je personen verwacht.

De variabele min_person_area stelt het product van lengte en breedte in pixels voor dat iemand minimum van oppervlakte moet hebben om als persoon gedetecteerd te worden. En met de drempelwaarde in de laatste regel stellen we in dat we van het detectie-algoritme minstens 50% kans dat het om een persoon gaat verwachten voor we op mqtt publiceren dat we een persoon hebben gevonden. Met al deze waardes zul je wat moeten experimenteren zodra je het beeld ziet.

06 Docker installeren

Frigate wordt verspreid in de vorm van een Docker-container. Installeer dus eerst Docker. Helaas bevatte de versie van Docker in Raspbian Buster tijdens de redactiesluiting een fout, waardoor je die niet met een eenvoudig sudo apt install docker.io kon installeren. Download daarom in de plaats het installatiescript van de website van Docker en voer het uit:

curl -sSL https://get.docker.com | sh

Geef dan je gebruiker toestemming om Docker te gebruiken:

sudo usermod pi -aG docker

Log uit met exit en log dan weer in, zodat de gebruikersrechten van toepassing zijn.

07 Frigate installeren

Download nu de broncode van Frigate:

git clone https://github.com/blakeblackshear/frigate.git

Tijdens de redactiesluiting werkte Frigate nog niet out-of-the-box op een Raspberry Pi, maar met één wijziging werkt het wel. Open het bestand Dockerfile:

cd frigatenano Dockerfile

En zoek dan naar de volgende regels:

# VAAPI drivers for Intel hardware accellibva-drm2 libva2 i965-va-driver vainfo \

Plaats een hekje (#) voor de tweede regel, want deze pakketten bestaan niet voor de Raspberry Pi. Sla je wijzigingen op met Ctrl+O en sluit nano af met Ctrl+X.

Daarna creëren we de Docker-container van Frigate met:

docker build -t frigate .

Dat duurt een tijdje, je kunt de stappen van het bouwproces (van 1 tot 24) volgen terwijl ze worden uitgevoerd. Daarna kunnen we de Docker-container van Frigate installeren:

docker run --privileged -v /dev/bus/usb:/dev/bus/usb -v /home/pi/frigate_config:/config:ro -p 5000:5000 frigate:latest

Op deze lange opdrachtregel zie je onder andere dat we verwijzen naar het eerder aangemaakte configuratiebestand en dat we poort 5000 in de Docker-container laten forwarden naar poort 5000 op de Raspberry Pi.

©PXimport

Houd je Pi koel!

De configuratie die we hier voorstellen, is gevoelig voor oververhitting. De Raspberry Pi 4 wordt snel heet, wat je al wel gemerkt zult hebben als je per ongeluk wat te dicht met je hand bij het bordje bent geweest. Maar ook de Coral USB Accelerator verstookt stevig wat warmte. Als je de Pi 4 in een behuizing steekt, heeft die voldoende ventilatie nodig om de warmte te kunnen afvoeren. Een heatsink of ventilator is dan ook geen luxe met dit nieuwe model van de Pi. Zonder behuizing is ook prima, maar zorg altijd dat er voldoende warmteafvoer is voor de Pi en het versnellerbordje van Google.

08 Persoon gevonden

Als je nu een foutmelding te zien krijgt, moet je misschien in het configuratiebestand van Frigate enkele zaken aanpassen. Probeer de framerate bijvoorbeeld te verlagen en de regio’s te verkleinen. Zo mag een regio niet deels buiten het gezichtsveld van de camera vallen. Als alles goed gaat, kun je nu in je webbrowser een stream van het beeld van elke camera opvragen via http://IP:5000/voordeur.

De regio’s voor de detectie worden als witte vierkanten getoond. Als deze verkeerd staan, pas de regio’s dan in het configuratiebestand aan, sluit de Docker-container af met Ctrl+C en start hem opnieuw op met de laatste opdracht uit de vorige stap.

Als er nu een persoon in het beeld gedetecteerd wordt, krijg je er in het rood ‘person’ en een percentage bij te zien. Dat is de kans dat het volgens het neurale netwerk om een persoon gaat. Misschien zie je ergens in beeld ook een ander object herkend worden, zoals een ‘refrigerator’ of ‘cat’. Naast ‘person’ kent het gebruikte neurale netwerk immers ook andere objecten. Op de url http://IP:5000/voordeur/best_person.jpg vind je het recentste beeld van de persoon met het beste herkenningspercentage.

©PXimport

09 Camerabeeld in Home Assistant

Dit statische jpg-beeld kun je eenvoudig in Home Assistant (of een ander domoticasysteem) integreren door de url als een camera te definiëren. Zet daarvoor de volgende code in je configuration.yaml:

camera:- name: Laatste persoonplatform: genericstill_image_url: http://IP:5000/voordeur/best_person.jpg

Deze ‘virtuele camera’ kun je nu in het dashboard van je Home Assistant tonen om altijd een beeld van de laatst herkende persoon te zien. Dat kan bijvoorbeeld met de volgende Lovelace-configuratie:

- type: picture-glancetitle: Voordeurentities: []camera_image: camera.laatste_persoon

©PXimport

10 Mqtt-boodschappen

Je hebt nu altijd een beeld van de laatste persoon die in het camerabeeld kwam, maar als we van de mqtt-boodschappen die Frigate uitstuurt gebruikmaken, kunnen we Home Assistant ook op de aanwezigheid van personen in beeld laten reageren.

Dat gaat als volgt: als Frigate een persoon in de camera voordeur vindt, publiceert het programma een boodschap {"person": "ON"} op het mqtt-onderwerp frigate/voordeur/objects. Gaat de persoon daarna uit beeld, dan stuurt Frigate de boodschap {"person": "OFF"} naar hetzelfde onderwerp. Heb je nu ook een camera achterdeur gedefinieerd waarvan je door Frigate het beeld laat analyseren, dan verschijnen dezelfde boodschappen op het onderwerp frigate/achterdeur/objects. De boodschappen zelf hebben de vorm van een json-dictionary.

11 Persoonssensor in Home Assistant

Daarmee weten we nu genoeg om Home Assistant te laten reageren op de aanwezigheid van personen. Creëer een nieuwe binaire sensor in je configuration.yaml van Home Assistant:

binary_sensor:- name: Camera persoonplatform: mqttstate_topic: "frigate/voordeur/objects"value_template: '{{ value_json.person }}'device_class: motionavailability_topic: "frigate/available"

Als je Home Assistant daarna herstart, krijg je een extra binaire sensor te zien die aan of uit is naargelang er een persoon in het camerabeeld gedetecteerd wordt. En omdat Frigate op het mqtt-onderwerp frigate/available met de boodschap online respectievelijk offline aangeeft wanneer het programma start en stopt, kun je ook van in Home Assistant zien of Frigate wel draait. Als Frigate om een of andere reden gecrasht is, zie je dan in Home Assistant ‘Niet beschikbaar’ als status bij je sensor.

©PXimport

12 Op personen reageren in Home Assistant

Nu kun je Home Assistant in een automatisering laten reageren op de persoonssensor. Open in de webinterface van Home Assistant links Instellingen / Automatisering en klik dan rechtsonder op het plusteken om een nieuwe automatisering aan te maken. Geef je automatisering een naam.

Bij de triggers laat je het type op Staat staan en kies je als entiteit je binaire sensor, bijvoorbeeld binary_sensor.camera_persoon. Zorg dat bij de van-waarde off staat en bij de naar-waarde on. Zo laat je deze automatisering reageren op het verschijnen van een persoon. Wil je daarentegen bij het verdwijnen van een persoon een actie uitvoeren, draai dan beide waardes om.

Vul eventueel bij Voor een duur in, bijvoorbeeld als je de automatisering alleen wilt uitvoeren als een persoon minstens een bepaalde tijd aanwezig of afwezig is. Dat helpt ook om niet op elke snelle schakeling tussen on en off te reageren, want in sommige configuraties doet Frigate dat wel eens, terwijl er gewoon de hele tijd een persoon in beeld is.

©PXimport

13 Voorwaarden

Het volgende onderdeel zijn de voorwaarden. Je wilt immers waarschijnlijk niet elke keer dat Frigate een persoon detecteert iets doen. Misschien wil je bijvoorbeeld alleen als je afwezig bent alarm slaan terwijl er een persoon op het camerabeeld van je voordeur te zien is. Klik dan op Voorwaarde toevoegen en vul hier als voorwaarde toe dat je afwezig bent, bijvoorbeeld op basis van het bluetooth-signaal van je smartphone of fitnesstracker. In Computer!Totaal 7/8 vind je hoe je dat doet.

Kies je als type voorwaarde voor Tijd, dan kun je ook instellen dat de gedefinieerde actie alleen uitgevoerd wordt als de persoon ná of vóór een tijdstip of tussen twee tijdstippen gedetecteerd wordt. Je kunt zoveel voorwaarden toevoegen als je wilt.

14 En … actie!

Als laatste onderdeel van de automatisering komen de acties. Wat je hier doet, hangt natuurlijk af van wat je in Home Assistant allemaal gedefinieerd hebt. In de meeste gevallen zul je als type actie Service aanroepen gebruiken, in het uitklapmenu eronder een service kiezen en dan eronder service data toevoegen. De details hiervan hangen van de service af, en daarvoor verwijzen we naar de documentatie van Home Assistant.

Om je wat inspiratie te geven enkele ideeën die je hier kunt uitvoeren wanneer Frigate een persoon detecteert: stuur een notificatie naar je smartphone inclusief een foto van de persoon op de camera, activeer een willekeurig script, laat je verwelkomen met een gesproken boodschap, of stuur je Philips Hue-verlichting aan. Mogelijkheden genoeg!

Onder de motorkap van Frigate

Frigate maakt voor zijn objectdetectie gebruik van OpenCV, een opensource-bibliotheek voor computervisie, en TensorFlow, een opensource-bibliotheek van Google die vaak gebruikt wordt voor machine learning. Het machinaal leren zelf gebeurt met behulp van de Google Coral USB Accelerator, die TensorFlow Lite ondersteunt, een uitgeklede versie van TensorFlow die geoptimaliseerd is voor mobiele apparaten. In TensorFlow (Lite) kun je een neuraal netwerk uitvoeren dat op voorhand getraind is, en dat netwerk komt in de vorm van een model. Frigate maakt gebruik van het model MobileNet SSD v2 COCO, dat 90 types objecten herkent in afbeeldingen van 300 bij 300 pixels. Frigate verwerkt dus de frames van je camera’s, zet de aangeduide regio’s om naar afbeeldingen van 300 bij 300 pixels, laat die door TensorFlow Lite op de Coral USB Accelerator verwerken en stuurt het resultaat over mqtt. Als je wat wilt experimenteren, kun je ook je eigen TensorFlow Lite-model in Frigate gebruiken om andere types objecten te ontdekken.

©PXimport

▼ Volgende artikel
Waar voor je geld: 5 betaalbare pizzarettes voor minder dan 100 euro
© ID.nl
Huis

Waar voor je geld: 5 betaalbare pizzarettes voor minder dan 100 euro

Bij ID.nl zijn we dol op kwaliteitsproducten waar je niet de hoofdprijs voor betaalt. Een paar keer per week speuren we binnen een bepaald thema naar zulke deals. Gek op Italiaans eten? Kijk dan eens naar een pizzarette: een elektrische tafeloven waarbij iedereen aan tafel zijn eigen mini-pizza's kan beleggen en bakken. Wij vonden er vijf voor je.

Een pizzarette is een elektrische tafeloven met een terracotta koepel, vergelijkbaar met gourmetten. Iedereen aan tafel belegt zijn eigen mini-pizza en schuift deze via openingen in de oven. Binnen enkele minuten heb je een versgebakken, krokante pizza. Het is een gezellige, sociale manier om samen te eten. Wij vonden vijf mooie modellen voor een gezellige avond voor minder dan 100 euro.

Emerio PO‑115848 Pizzarette

Dit model van Emerio is geschikt voor zes personen maar heeft een iets ander ontwerp. De terracottadom is gecombineerd met een stevige kunststof basis met antislipvoetjes. Het apparaat gebruikt ongeveer 1200 watt, wat betekent dat de pizzarette snel op temperatuur komt. De bakplaat is voorzien van een antiaanbaklaag waardoor deeg niet blijft plakken en je weinig tot geen olie nodig hebt. Je kunt de pizzarette niet alleen voor pizza gebruiken; met de zes bijgeleverde spatels maak je ook minipannenkoekjes of wraps. Bovenop de dom bevinden zich kleine openingen zodat stoom kan ontsnappen, wat een knapperige korst bevordert. Een controlelampje laat zien wanneer de oven klaar is voor gebruik.

Review.nlis hét testpanel-platform van Kieskeurig.nl waar je als consument de unieke kans krijgt om de nieuwste producten, zoals elektronica en huishoudelijke apparaten, uitgebreid thuis te proberen. Het concept is eenvoudig: je meldt je aan voor specifieke testacties die jou aanspreken. Word je geselecteerd, dan ontvang je het product om het enkele weken in je eigen omgeving te gebruiken.

In ruil voor deze ervaring deel je jouw ongezouten, eerlijke mening in een review om andere kopers te helpen. Na de testperiode is het zelfs soms mogelijk om het product met een mooie korting over te nemen.

Ariete 919 pizzaoven

Wat deze pizzarette uniek maakt, is de speciale 'Pre-Bake' functie op de platte bovenkant van de handgemaakte terracotta koepel. Hiermee bak je het deeg kort voor voordat je het belegt, wat garandeert dat je pizza’s een perfecte, krokante bodem krijgen en niet zompig worden door de tomatensaus. De poreuze terracotta koepel absorbeert bovendien vocht tijdens het bakken, wat bijdraagt aan die authentieke steenoven-smaak. Dankzij het krachtige vermogen van 1500 Watt zijn de creaties in slechts enkele minuten gaar en knapperig. De set is compleet uitgevoerd met acht geïsoleerde bakspatels en een handige deeguitsteker, zodat je direct aan de slag kunt. Of het nu voor een kinderfeestje is of een uitgebreid diner, met deze Emerio Pizzarette wordt samen eten een culinair feestje zonder gedoe.

Emerio PO‑115985 Pizzarette

Voor kleinere gezelschappen is er de Emerio PO‑115985. Deze compacte pizzarette is ontworpen voor vier personen en heeft een vermogen van 900 watt. Net als bij de andere modellen zorgt een terracottadom voor een gelijkmatige warmteverdeling. De bakplaat is voorzien van een antiaanbaklaag waardoor je deeg of andere ingrediënten eenvoudig omdraait. Het apparaat wordt geleverd met vier hittebestendige spatels en heeft ventilatieopeningen om overtollige stoom af te voeren. Met dit toestel bak je niet alleen pizza’s; je kunt er ook kleine broodjes of taartjes mee maken. Doordat het model compacter is, neemt het minder ruimte in op tafel.

Tristar PZ‑9160 Pizza Festa Gourmet

De Tristar PZ‑9160 onderscheidt zich doordat hij drie functies combineert: pizza’s bakken, raclette en gourmetten. Dit tafeltoestel van 1800 watt heeft een grote ronde bakplaat waarboven je een terracottadom plaatst voor pizza’s. Onder dezelfde kap kun je ook kleine pannetjes gebruiken voor kaas of vlees; ze zijn voorzien van een antiaanbaklaag en worden verlicht door een indicatielampje. De temperatuur stel je handmatig in via een draaiknop en een controlelampje geeft aan wanneer het toestel warm is. De set wordt geleverd met zes spatels, zodat je met zes personen kunt koken. Dankzij de antislipvoetjes blijft de unit stabiel op tafel. De PZ‑9160 is sinds 2021 verkrijgbaar.

Emerio Pizzarette PO‑1158471

De Emerio PO‑1158471 is de vierpersoonsversie van de bekende pizzarette. Dit apparaat verbruikt ongeveer 1100 watt en heeft een keramische bakplaat met een antiaanbaklaag, zodat pizza’s niet vastplakken. De terracottadom zorgt voor een gelijkmatige warmte en een knapperige korst. Openingen aan de bovenkant laten stoom ontsnappen en voorkomen dat de pizza te vochtig wordt. Bij de set krijg je vier spatels met geïsoleerde handvatten. Omdat dit model kleiner is, neemt het niet veel plaats in op tafel en is het ook geschikt voor kleinere huishoudens. De pizzarette is geschikt voor gebruik met kant‑en‑klare pizzabodems of zelfgemaakt deeg.

▼ Volgende artikel
Slim wachtwoordbeheer: zo houd je je accounts écht veilig
© Queenmoonlite Studio - stock.adobe.com
Huis

Slim wachtwoordbeheer: zo houd je je accounts écht veilig

Hoewel wachtwoordloze technieken als toegangssleutels snel terrein winnen, doe je er voorlopig goed aan slim om te gaan met je huidige wachtwoorden. De tips en (gratis) tools in dit artikel helpen je bij het opzetten van degelijk wachtwoordbeheer.

Dit gaan we doen

Sterke wachtwoorden en tweestapsverificatie blijven voorlopig onmisbaar, ook nu toegangssleutels opkomen. In dit artikel lees je hoe je veilig en praktisch met wachtwoorden omgaat. Je ontdekt welke gratis tools je helpen – zoals Bitwarden voor cloudbeheer of KeePassXC voor lokale opslag – en hoe je 2FA en authenticatie-apps toevoegt voor extra bescherming. Verder komt aan bod hoe je datalekken opspoort, phishing voorkomt, herstelcodes bewaart en aparte browserprofielen instelt voor gevoelige accounts. Tot slot lees je hoe toegangssleutels werken, de toekomst van wachtwoordloos inloggen.

Lees ook: Bescherm je data: voorkom digitale beveiligingslekken

Cloudbeheer

Telkens hetzelfde wachtwoord gebruiken voor meerdere apps en diensten is sterk af te raden, maar verschillende complexe wachtwoorden onthouden lukt haast niet zonder een wachtwoordbeheerder. Een degelijke, gratis optie is het opensource Bitwarden. Kies eerst een hoofdwachtwoord en installeer daarna de desktop-app, browserextensies (voor automatisch invullen) en/of de mobiele app. Je wachtwoordkluis wordt end-to-end versleuteld in de cloud bewaard en wordt via je account gesynchroniseerd. Kies bij voorkeur bitwarden.eu als serverlocatie. Je kunt ook creditcards en andere gevoelige gegevens in je kluis bewaren.

De webversie van Bitwarden is nog handiger als je ook de browserextensie installeert.

Lokaal beheer

Bitwarden is een uitstekende wachtwoordmanager, maar functies als TOTP-authenticatie (Time-based One-Time Password) zijn alleen beschikbaar in de betaalde versie. Misschien stoort het je ook dat je wachtwoordkluis in de cloud wordt opgeslagen. Een gratis, opensource-alternatief is KeePassXC. Deze bewaart alles lokaal in een versleuteld bestand, van wachtwoorden en creditcards tot notities. De app werkt volledig offline, ondersteunt ook TOTP-authenticatie en vult inloggegevens automatisch in via een browserextensie. Wil je toch synchronisatie, dan kun je de database delen via een cloudopslagdienst als Google Drive of Dropbox, of met Syncthing.

KeePassXC is een volwaardige wachtwoordmanager, weliswaar offline.

Algoritme

Bij wachtwoordbeheerders als Bitwarden en KeePassXC worden je wachtwoorden opgeslagen. LessPass pakt het anders aan. Deze bewaart niets, maar genereert je wachtwoorden telkens opnieuw via een algoritme op basis van je hoofdwachtwoord, gebruikersnaam en sitenaam. Uit veiligheidsoverwegingen gebruik je hiervoor liefst de browserextensie of mobiele app, zodat alles lokaal gebeurt. Omdat nergens iets wordt opgeslagen, is dit systeem veilig, maar je moet bij elke herberekening wel exact dezelfde gegevens ingeven. Automatisch invullen of ondersteuning voor notities ontbreekt helaas.

LessPass: veiliger, maar het luistert nauw en is omslachtiger.

Browsers

Gebruik je bijna uitsluitend je browser voor allerlei aanmeldingen, dan kun je ook de ingebouwde wachtwoordbeheerfunctie gebruiken. Deze zit in de meeste Chromium-browsers en in Firefox. In Chrome ga je naar Instellingen / Jij en Google / Synchronisatie en Google-services. Schakel de functie in en zorg dat bij Beheren wat je synchroniseert ook Wachtwoorden en toegangssleutels is aangevinkt. Wil je liever niet synchroniseren, dan kun je wachtwoorden ook handmatig exporteren en importeren via Instellingen / Automatisch invullen en wachtwoorden / Google Wachtwoordmanager. Kies daar Instellingen en Wachtwoorden exporteren. Je kunt het opnieuw inladen via Wachtwoorden importeren. Verwijder eventueel het csv-bestand na gebruik. Firefox biedt vergelijkbare opties.

In onder meer Chrome kun je wachtwoorden (en meer) via je account laten synchroniseren.

2FA

Zelfs met een degelijke wachtwoordbeheerder blijven wachtwoorden een zwakke schakel: ze zijn te eenvoudig, je vergeet of verliest ze, je geeft ze in op phishing-sites of malware onderschept ze. Daarom is het aangeraden om 2FA, oftewel tweestapsverificatie, te activeren. Daarbij is naast je wachtwoord een extra factor nodig, zoals een pincode, TOTP, sms, pushmelding, biometrie of een beveiligingssleutel. Een handig overzicht van sites en diensten die 2FA ondersteunen, met info over de gebruikte methoden en links naar de instelinstructies, vind je op https://2fawebsites.github.io en op de thematische https://2fa.directory.

Een uitgebreide lijst met diensten die 2FA ondersteunen.

Authenticator

Er bestaan meerdere verificatiemethoden voor 2FA, maar vrijwel alle diensten ondersteunen verificatie zowel via sms als via TOTP. Bij TOTP is geen internet of gsm-netwerk nodig, wat het minder kwetsbaar maakt voor onderschepping of sim-swapping. Om zulke codes te genereren heb je een TOTP-authenticator-app nodig. Goede gratis opties zijn Google Authenticator, Microsoft Authenticator (ondersteunt geen wachtwoordbeheer en autofill meer), Aegis Authenticator en Authy. Alle vier ondersteunen TOTP en bieden een back-upfunctie. Wil je je codes exporteren, dan lukt dit het best met Google of Aegis. Deze laatste is ook opensource, maar is enkel beschikbaar voor Android. Authy is veelzijdigst, want bruikbaar op Android, iOS, macOS en Windows.

Export van TOTP-codes in Google Authenticator (voor gebruik op een ander apparaat).

Herstelcodes

De meeste diensten met 2FA laten je ook herstelcodes gebruiken. Deze bieden een uitweg als je tijdelijk geen toegang hebt tot andere aanmeldopties, bijvoorbeeld bij verlies van je smartphone. Bewaar deze herstelcodes tevens digitaal, zoals in het notitiegedeelte van je favoriete wachtwoordmanager, in een versleutelde VeraCrypt-container of in een versleuteld cloudbestand. Bij Google vind je tot 10 herstelcodes via https://myaccount.google.com/security, bij Back-upcodes. Bij Microsoft is dit beperkt tot één code: ga naar https://account.microsoft.com/security, klik op Beheren hoe ik me aanmeld en kies Een nieuwe code genereren.

Bij Microsoft kun je slechts één herstelcode tegelijk activeren.

Gehackt?

Het is verstandig om regelmatig te controleren of een van je login-id's al in een online datalek voorkomt. Dit kan via Have I Been Pwned. Hier vul je e-mailadres in en je ziet meteen hoeveel en welke datalekken er zijn. Klik bovenaan op Notify Me voor een gratis melding zodra je adres in een nieuw lek opduikt. Klik op Passwords om te controleren of een wachtwoord reeds voorkomt in een datalek.

In Chrome kun je via chrome://password-manager/checkup?start=true eveneens een wachtwoordcheck uitvoeren. Je ziet ook hoeveel wachtwoorden zwak zijn of worden hergebruikt.

Een weinig opbeurend rapport: zestien datalekken gevonden.

Anti-phishing

Wachtwoorden bieden weinig bescherming tegen phishing-sites, dus zorg ervoor dat je hiertegen zo goed mogelijk beveiligd bent. In je browser, zoals Chrome, ga je naar Instellingen, kies Privacy en beveiliging / Beveiliging en activeer bij voorkeur Geoptimaliseerde beveiliging bij Safe Browsing, of anders Standaardbeveiliging. Daarnaast kun je via DNS phishing-sites al blokkeren voor ze laden. Een optie is het gebruik van de nieuwe Europese publieke DNS4EU-resolvers. Kies hier voor Protective resolution (86.54.11.1 en 86.54.11.201), eventueel aangevuld met kinderbescherming en/of advertentieblokkering. Op de site vind je stap-voor-stap-instructies.

De EU biedt nu ook eigen publieke DNS-filters aan.

E-mailadres

Veel diensten laten je een e-mailadres opgeven ingeval je je wachtwoord vergeet of je account wordt geblokkeerd. Je ontvangt dan een mail om je identiteit te bevestigen en een herstellink te krijgen. Gebruik hiervoor liefst niet je hoofdadres, want als iemand dat via een datalek bemachtigt, kan die herstelmails onderscheppen en je accounts via wachtwoordherstel overnemen. Je kiest dus beter een apart e-mailadres dat je nergens anders voor gebruikt. Bij Google kun je dit instellen op https://myaccount.google.com/security, bij Herstelmailadres.

Je gebruikt bij voorkeur een afzonderlijk adres voor het wachtwoordherstel.

Lees ook: Zo meld je phishing in Outlook en Gmail

Browserprofiel

Voor gevoelige accounts zoals online bankieren of je wachtwoordkluis kun je overwegen een apart browserprofiel te gebruiken. Malafide scripts of extensies uit je standaardprofiel worden zo niet geactiveerd. Zo beperk je ook tracering en fingerprinting, en voorkom je dat je per ongeluk ingelogd blijft, aangezien je in dat profiel geen andere sites bezoekt.

In Chrome maak je een nieuw profiel aan via het profielicoon rechtsboven. Kies Chrome-profiel toevoegen. Je kunt inloggen met een Google-account of klikken op Doorgaan zonder account. Kies een zoekmachine, vul een profielnaam in, selecteer een opvallend thema en klik op Klaar.

Overweeg een afzonderlijk browserprofiel voor privacygevoelige online diensten.

Aanmeldpogingen

Bij sommige diensten, zoals Google en Microsoft, ontvang je automatisch een e-mail of pushmelding zodra een nieuw apparaat of een nieuwe browser inlogt. Zo kun je snel ingrijpen, bijvoorbeeld door je wachtwoord aan te passen of verdachte sessies uit te loggen. Bij Google ga je naar https://myaccount.google.com/security. Scrol naar Je apparaten en klik op Apparaten beheren. Selecteer een sessie en kies Uitloggen. Bij Microsoft ga je naar https://account.microsoft.com/security en klik je op Mijn aanmeldactiviteiten weergeven.

Ook bij Google kun je de recentste sessies (en gekoppelde diensten) bekijken.

Beveiligingssleutel

Je kunt een fysieke beveiligingssleutel (zoals de meeste YubiKeys) ook gebruiken om je wachtwoordkluis te openen in combinatie met je hoofdwachtwoord.

Installeer eerst Yubikey Manager en start dit programma. Ga naar Applications/OTP en klik op Configure bij een vrij slot. Kies Challenge-response en klik op Generate voor een geheime sleutel. Vink Require touch aan voor extra veiligheid. Bevestig met Finish.

Open vervolgens je database in KeePassXC en ga naar Database / Databasebeveiliging. Kies Aanvullende bescherming toevoegen / Challenge-Response toevoegen. Selecteer het juiste slot van je ingeplugde beveiligingssleutel en bevestig met OK.

Voortaan is deze wachtwoordkluis alleen toegankelijk met wachtwoord en token.

Yubikey kopen?

Dan kan gewoon

Browserwachtwoorden

Gebruik je meerdere browsers en zoek je het wachtwoord van een specifieke site, wil je alle wachtwoorden exporteren voor import in een andere browser, of is je systeem gecrasht en wil je de wachtwoorden uit je browserprofielen halen? Dan kan het gratis WebBrowserPassView handig van pas komen (let op: je virusscanner kan een foutpositief geven). Pak het zip-bestand uit met het wachtwoord wbpv28821@ en start de portable app. Je krijgt een overzicht van alle gevonden sites en log-ins. Via Bestand / Geselecteerde items opslaan kun je exporteren naar diverse csv-formaten, zoals voor Chrome, KeePass en Firefox.

Je browserlogins op een presenteerblaadje.

Toegangssleutels

Een mooie afsluiter lijkt ons een tip rond passkeys, oftewel toegangssleutels. Immers, steeds meer diensten (en wachtwoordmanagers) ondersteunen deze aanmeldmethode waarbij je geen wachtwoord meer hoeft in te voeren. Een passkey is een cryptografisch sleutelpaar: de publieke sleutel wordt bewaard bij de onlinedienst, terwijl de (afgeleide) private sleutel veilig op je toestel blijft, zoals je pc, smartphone of een fysieke beveiligingssleutel zoals een Yubikey.

Zo maak je een toegangssleutel aan bij Google. Ga naar https://g.co/passkeys en meld je aan. Klik twee keer op Toegangssleutel maken. Je toestel stelt nu een methode voor, zoals gezichtsherkenning, vingerafdruk of pincode. Bevestig de koppeling. Vanaf nu kun je je bij Google aanmelden vanaf dit toestel, zonder wachtwoord.

Je kunt meerdere toegangssleutels maken voor diverse apparaten.

View post on TikTok