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
Slimme tweestapsverificatie: zo werk je met fysieke beveiligingssleutels
Zekerheid & gemak

Slimme tweestapsverificatie: zo werk je met fysieke beveiligingssleutels

Inloggen met enkel een wachtwoord blijft riskant. Steeds vaker stappen diensten daarom over op tweestapsverificatie of op volledig wachtwoordloos inloggen. In combinatie met een fysieke beveiligingssleutel leveren beide een nog robuustere bescherming op. Hoe werkt dit precies en wat zijn enkele concrete mogelijkheden?

We hoeven je niet meer uit te leggen dat inloggen met alleen een wachtwoord niet veilig is, zeker niet als je hetzelfde eenvoudige wachtwoord bij meerdere diensten gebruikt. Een wachtwoordbeheerder als Bitwarden helpt je wel complexere en verschillende wachtwoorden te gebruiken, maar de zwakheden blijven: wachtwoorden kunnen via phishing worden onderschept, bij een datalek buitgemaakt of met brute-force achterhaald. Daarom winnen alternatieve loginmethodes aan populariteit. Denk aan tweestapsverificatie, waarbij je naast je wachtwoord nog een extra factor gebruikt, zoals een code of biometrie, en aan wachtwoordloos inloggen, een methode op basis van een cryptografisch sleutelpaar. Beide methoden verhogen de beveiliging, maar met een fysieke beveiligingssleutel kun je het nog veiliger maken.

Fysieke sleutel

Zo’n fysieke sleutel is een stukje hardware van doorgaans zo’n 4 cm lang en 2 cm breed, enkele mm dik en met een gewicht van circa 4 gram. Er bestaan ook wel kleinere sleutels in de vorm van een usb-c-dongel, die nauwelijks uitsteken uit de poort van een computer. Verderop bekijken we enkele concrete, uiteenlopende toepassingen, maar hoe werkt zo’n sleutel eigenlijk?

Wanneer je een sleutel voor het eerst koppelt aan een dienst of account, wordt er een cryptografisch sleutelpaar aangemaakt. De private sleutel blijft altijd veilig in een aparte chip van de beveiligingssleutel, terwijl de publieke sleutel naar de server van de betreffende dienst wordt doorgestuurd. Wanneer je vervolgens inlogt op de site, vraagt de server via je browser de sleutel om een cryptografische handtekening te zetten.

De meeste beveiligingssleutels wegen slechts een paar gram en kun je altijd meenemen.

Veiligheid

De sleutel checkt daarbij welke domeinnaam in de browser actief is, bijvoorbeeld account.google.com, en zet de handtekening alleen als dit overeenkomt met het domein waarvoor je de sleutel eerder hebt geregistreerd. Daardoor is het systeem nagenoeg phishing-bestendig, in tegenstelling tot bijvoorbeeld sms- of OTP-codes. Zo’n code kun je immers ook op een valse site intypen, waarna een aanvaller deze meteen kan doorsturen naar de echte site. Bij wachtwoorden, sms en OTP bestaan bovendien gedeelde geheimen, zoals codes of hashes, die bij een datalek gestolen kunnen worden, terwijl er bij een fysieke sleutel zelfs bij een serverdatalek niets bruikbaars te halen valt. Een smartphone kan bovendien malware bevatten of gestolen worden, waardoor een aanvaller toegang kan forceren; een fysieke sleutel daarentegen bewaart de geheime sleutel veilig in een niet-uitleesbare chip.

Een beveiligingssleutel vormt (vaak samen met een wachtwoord) een solide log-in.

Nadelen

Zo’n fysieke sleutel geldt dus als een van de veiligste methoden, al zijn er ook enkele praktische nadelen. Zo moet je de sleutel bij je hebben tijdens het inloggen en bij verlies of diefstal riskeer je buitengesloten te raken als je geen back-up hebt, bijvoorbeeld in de vorm van back-upcodes of een tweede, veilig bewaarde sleutel. Bovendien ondersteunen nog niet alle sites of diensten zo’n sleutel. Op onder meer www.kwikr.nl/f2sup en www.kwikr.nl/yubisup vind je wel lijsten met diensten die via een of ander protocol inloggen met een fysieke sleutel ondersteunen. Tot slot kost een sleutel ook wel iets: tussen de 30 en 80 euro, afhankelijk van de ondersteunde functies en standaarden.

Yubico laat je kiezen tussen onder meer protocol, apptype en sleuteltype.
Meerdere protocollen

Er zijn verschillende producenten van beveiligingssleutels, zoals Feitian, Nitrokey, SoloKeys en Yubico, elk met een divers aanbod. In dit artikel focussen we op de populaire multi-protocol YubiKey 5-serie, die de protocollen FIDO U2F, FIDO2/WebAuthn, OTP, OpenPGP en PIV smartcard ondersteunt (zie ook www.kwikr.nl/yubi5). Zonder ons in technische details te verliezen, gaan we kort in op deze protocollen.

FIDO U2F (Fast IDentity Online Universal 2nd Factor) gebruikt de sleutel als tweede factor naast je wachtwoord. Bij het inloggen raak je de sleutel aan en die bewijst cryptografisch dat jij aanwezig bent. FIDO2/WebAuthn is de algemeen geaccepteerde opvolger van U2F, waarbij je niet alleen een tweede factor kunt gebruiken, maar ook volledig wachtwoordloos inlogt via een uniek sleutelpaar (passkeys). Met OTP (One-Time Password) kan de sleutel een eenmalige code genereren, zoals bij een authenticator-app. Je tikt de sleutel aan en er verschijnt een unieke code die je als extra log-infactor inzet. Met OpenPGP (Pretty Good Privacy) kan de sleutel je private PGP-sleutels opslaan, zodat je bijvoorbeeld e-mails kunt versleutelen en ondertekenen. Met PIV smartcard (Personal Identity Verification) functioneert de sleutel als slimme chipkaart, zoals een bedrijfsbadge. Je gebruikt dit bijvoorbeeld voor digitale handtekeningen, inloggen op Windows-domeinen of VPN-verbindingen. 

Inloggen via 2FA

We weten nu hoe een sleutel eruitziet, hoe die werkt en waarom die zo veilig is. Dat volstaat om er zelf mee aan de slag te gaan, in verschillende scenario’s en met diverse protocollen. In dit artikel gebruiken we een YubiKey 5(C) NFC die ongeveer 65 euro kost, maar je kunt ook andere sleutels inzetten zolang ze de vereiste protocollen ondersteunen. Sleutels die enkel FIDO U2F en FIDO2 ondersteunen, zijn al verkrijgbaar vanaf 15 euro.

Laten we als voorbeeld starten met de sleutel als tweede factor bij een Facebook-account. Hiervoor volstaat een sleutel met FIDO U2F, al accepteren niet alle diensten U2F. Zo vereisen Apple en Microsoft in dit geval een FIDO2-sleutel.

Meld je aan bij je Facebook-account via https://accountscenter.facebook.com. Ga in Accountinstellingen naar Wachtwoord en beveiliging. Open Tweestapsverificatie en selecteer je Facebook-account. Na het invullen van een verificatiecode via mail kies je de gewenste methode. Klik op Beveiligingssleutels en bevestig met Doorgaan. Na de controle van de beveiligingscode klik je op Beveiligingssleutel registreren. Selecteer Beveiligingssleutel, druk op Volgende en OK. Plaats de sleutel, raak deze even aan en klik opnieuw op OK. Bevestig ten slotte met je wachtwoord zodat de sleutel als tweede factor wordt toegevoegd.

De beveiligingssleutel is zojuist als tweede factor bij Facebook (Meta) toegevoegd.

2FA in Bitwarden

Zolang je nog met wachtwoorden werkt, is een wachtwoordbeheerder sterk aan te raden. Een degelijke en gratis te gebruiken tool is Bitwarden. We gaan ervan uit dat je deze hebt gedownload en geïnstalleerd (via www.kwikr.nl/bwpers; beschikbaar voor Windows, macOS en Linux) en dat je een Bitwarden-account hebt aangemaakt. Handig is ook de Bitwarden-browserextensie, die automatisch invullen en opslaan van wachtwoorden in je browser veel eenvoudiger maakt, maar daar gaan we hier niet verder op in. We bekijken hier namelijk vooral het koppelen van je fysieke sleutel aan je Bitwarden-account.

Meld je aan op https://vault.bitwarden.com. Open Instellingen en kies Beveiliging. Ga naar het tabblad Tweestapsaanmelding en klik op Beheren bij FIDO2 WebAuthn. Vul je Bitwarden-hoofdwachtwoord in en voer bij Naam een korte beschrijving van de sleutel in. Plaats je sleutel (via usb of NFC) en klik op Sleutel lezen. Als de sleutel om een pincode vraagt, vul je die in en raak je de sleutel kort aan. Bevestig met OK en klik op Opslaan zodat de sleutel wordt toegevoegd. Op dezelfde manier kun je ook een andere sleutel als reserve koppelen (zie ook verderop ‘10 Voorzorgsmaatregelen’). Bij het inloggen, ook via de Bitwarden-app, moet je nu naast je wachtwoord ook je sleutel gebruiken.

Bitwarden vraagt naast je wachtwoord ook om je beveiligingssleutel.

Inloggen met passkey

Steeds meer diensten ondersteunen wachtwoordloze aanmeldingen via toegangssleutels, oftewel passkeys. Wil je hiervoor je fysieke sleutel gebruiken, dan moet deze FIDO2/WebAuthn ondersteunen, waarbij de private sleutel van het cryptografische sleutelpaar op de sleutel zelf wordt bewaard. Om in te loggen hoef je de sleutel enkel te plaatsen of via NFC op je smartphone te gebruiken, als dit wordt ondersteund, en daarna te bevestigen met pincode en aanraaksensor. Kortom, je sleutel wordt je loginmiddel. We tonen dit met een Google-account.

Log in via https://myaccount.google.com. Ga naar Beveiliging en klik bij Inloggen bij Google op Tweestapsverificatie. Klik indien nodig op Tweestapsverificatie aanzetten. Voeg desgewenst een telefoonnummer toe en klik bij Toegangssleutels en beveiligingssleutels op Beveiligingssleutel toevoegen. Klik vervolgens op + Toegangssleutel maken en kies Ander apparaat gebruiken. Selecteer in het pop-upvenster Beveiligingssleutel. Druk op Volgende en daarna tweemaal op OK. Plaats nu de sleutel en voer de pincode in, of maak een nieuwe aan als de sleutel nieuw of gereset is. Bevestig met OK en raak de sleutel kort aan. De sleutel staat nu in de lijst met toegangssleutels in je Google-account.

Wanneer je je daarna bij Google afmeldt en opnieuw aanmeldt, zul je merken dat je je wachtwoord – op ondersteunde browsers en platformen – niet meer hoeft in te geven en met de sleutel kunt aanmelden. Google acht deze methode namelijk veilig genoeg. Wil je dit toch niet, open dan opnieuw Beveiliging, klik bij Inloggen bij Google op Wachtwoord overslaan als dat mogelijk is en schakel deze optie uit. Je sleutel fungeert dan enkel nog als tweede factor, waarvoor in principe FIDO U2F volstaat.

De beveiligingssleutel is zojuist aan ons Google-account toegevoegd.

Passkey bij Microsoft

Bij veel diensten werkt het koppelen vergelijkbaar als bij Google. We tonen je wel kort hoe je een beveiligingssleutel inzet in een wachtwoordloze oplossing bij Microsoft, die hiervoor een wat eigenzinnige werkwijze en terminologie hanteert.

Meld je aan via https://account.microsoft.comen open Beveiliging. Klik op Beheren hoe ik me aanmeld en kies Een methode voor aanmelden of verifiëren kiezen. Selecteer Gezicht, vingerafdruk, pincode of beveiligingssleutel en kies Beveiligingssleutel. Druk op Volgende en daarna tweemaal op OK, plaats de sleutel, voer desgevraagd de pincode in en raak de sleutel aan. Klik opnieuw op OK, geef de sleutel een naam en bevestig met Volgende en OK. De sleutel verschijnt nu in de lijst bij Een wachtwoordcode gebruiken (waar je hem ook kunt hernoemen of verwijderen). Je kunt de sleutel vanaf nu als tweede inlogfactor inzetten, ook op andere apparaten.

Wil je de sleutel volledig wachtwoordloos gebruiken, dan verplicht Microsoft je eerst de Microsoft Authenticator-app te installeren en hier via de plusknop je Microsoft-account toe te voegen. Klik daarna op je accountpagina in de rubriek Beveiliging op Inschakelen bij Account zonder wachtwoord en druk op Volgende. In de Authenticator-app verschijnt nu een melding die je bevestigt met Goedkeuren, waarna op de website wordt gemeld dat je wachtwoord is verwijderd. Voortaan kun je ook zonder wachtwoord inloggen, met je beveiligingssleutel.

Het opzetten van een wachtwoordloze login via je beveiligingssleutel bij Microsoft is wat complexer.
Lokaal Windows-account

Het leek veelbelovend: open je in Windows de Instellingen en ga je naar Accounts / Aanmeldingsopties, dan zie je wellicht Beveiligingssleutel staan. Voor lokale of persoonlijke Microsoft-accounts werkt dit helaas niet. Dit blijkt enkel mogelijk bij zakelijke Active Directory- of Entra ID-accounts.

Heb je een compatibele Yubico-sleutel, zoals de YubiKey 5(C) NFC, dan kun je deze wel als tweede inlogfactor gebruiken voor een lokaal Windows-account. Hiervoor heb je de gratis tool Yubico Login for Windows nodig (www.kwikr.nl/yubilogin). Zorg wel dat je de gebruikersnaam en het wachtwoord van het lokale account kent. Installeer de tool en herstart Windows. Meld je daarna aan met je lokale account via de optie Yubico Login en start de app Login Configuration als administrator. Gemakshalve kun je Express configuration kiezen. Plaats de sleutel en volg de instructies (zie ook www.kwikr.nl/yubiwin). Bewaar de herstelcode zorgvuldig. Voor de gekozen gebruiker is voortaan naast gebruikersnaam en wachtwoord ook de beveiligingssleutel vereist.

Je kunt een YubiKey ook als tweede factor inzetten voor je Windows-login.

Inloggen met TOTP

Als je beveiligingssleutel ook OATH-TOTP ondersteunt (Initiative for Open AuTHentication - Time-based One-Time Password), kun je die gebruiken om een eenmalige code te genereren, net als met authenticator-apps van Google, Microsoft, Proton of Authy. Veel apps en diensten ondersteunen deze 2FA-methode.

We nemen Dropbox als voorbeeld. Meld je aan op www.dropbox.com, klik op je profielicoon rechtsboven, kies Instellingen en open het tabblad Beveiliging. Schakel Tweestapsverificatie in, selecteer Authenticatie-app en druk op Verzenden. Je ziet nu een QR-code en de bijbehorende geheime sleutel.

Download en installeer vervolgens de gratis app Yubico Authenticator (www.kwikr.nl/yubiauth). Start de app, plaats je beveiligingssleutel en open Accounts. Klik op Add account en kies Scan QR code als je een camera hebt, of voer de geheime code handmatig in bij Secret Key. Vul bij Issuer bijvoorbeeld Dropbox in en bij Account name het e-mailadres van je Dropbox-account. Bevestig met Save. In de app verschijnt een cijfercode die je op de Dropbox-site invult bij Bevestigingscode. Noteer de herstelcodes, bewaar ze goed en rond af met Voltooien.

Bij het aanmelden op Dropbox tik je eerst je wachtwoord in en daarna de actuele eenmalige code die je in Yubico Authenticator bij je Dropbox-account ziet.

Net als veel andere diensten ondersteunt ook Dropbox TOTP (op een beveiligingssleutel) als 2FA-methode.

Challenge/Response

Tot slot tonen we je nog de challenge-response-methode. Hierbij genereert een dienst of app een willekeurige wiskundige vraag (challenge) in de vorm van een bitreeks. Deze gaat naar je beveiligingssleutel, die de overeenkomstige cryptografische response berekent en terugstuurt. Als de codes overeenkomen, krijg je toegang. We lichten dit kort toe voor de gratis wachtwoordbeheerder KeePassXC (www.keepassxc.org; Windows, macOS, Linux) om een lokaal bewaarde wachtwoordkluis te openen.

Verschillende sleutels ondersteunen deze methode, waaronder de meeste YubiKeys. Download en installeer voor zo’n sleutel eerst de gratis YubiKey Manager (zie kader ‘Sleutelbeheer’). Start de app, ga naar Applications/OTP en klik op Configure bij een vrij slot. Kies Challenge-response, klik op Generate voor de geheime sleutel, zet eventueel een vinkje bij Require touch voor extra veiligheid en sluit af met Finish.

Open vervolgens KeePassXC en laad je database. Ga naar Database / Database beveiliging, kies Aanvullende bescherming toevoegen / Challenge-Response toevoegen, selecteer het juiste slot van je geplaatste sleutel en bevestig met OK. Voortaan is je wachtwoordkluis enkel toegankelijk met je wachtwoord en je beveiligingssleutel.

Je (lokale) wachtwoordkluis is voortaan alleen toegankelijk met je beveiligingssleutel.
Sleutelbeheer

Beschik je over een beveiligingssleutel, dan zul je vroeg of laat de beheertool van de producent nodig hebben. Als voorbeeld nemen we de YubiKey Manager (www.kwikr.nl/yuman), die je het best als administrator opstart. Hiermee kun je functies of interfaces uitschakelen (OTP, FIDO U2F, FIDO2, OpenPGP, PIV en OATH), een pincode instellen of resetten voor FIDO2 of PIV, statische wachtwoorden of OTP-slots programmeren en certificaten beheren in PIV-modus (smartcardfunctie).

In de beheertool kun je ook specifieke protocollen uitschakelen, mocht je dat willen (hier: YubiKey Manager).

Voorzorgsmaatregelen

In het artikel hebben we al, ook tussen de regels door, enkele tips gegeven om (veiligheids)problemen te vermijden. We sommen ze kort nog even op.

Zo registreer je best altijd twee fysieke sleutels bij elke dienst, zodat je bij verlies of diefstal via de back-upsleutel toegang behoudt. Bewaar deze op een veilige plaats en test af en toe of de sleutel nog werkt. Activeer daarnaast bij elke dienst een alternatieve 2FA- of noodmethode, zoals TOTP-toegang via een authenticator-app, en druk back-upcodes af die je veilig bewaart. Zo kun je ook zonder sleutel nog aanmelden, al is dit wat minder robuust. Tot slot, ook al beschermt een beveiligingssleutel je technisch goed tegen phishing, blijf alert. Krijg je bijvoorbeeld een onverwachte vraag om de PIN-code van je sleutel in te voeren, wees dan op je hoede.

Heel wat diensten voorzien in (eenmalige) back-upcodes (hier: Google).
▼ Volgende artikel
Review Tefal Snack Collection - klein formaat, veel mogelijkheden
© Tefal
Huis

Review Tefal Snack Collection - klein formaat, veel mogelijkheden

Tefal lanceert een compact model tosti-ijzer dat met allerlei extra platensets te gebruiken is voor allerlei gerechten: van panini's en wafels in allerlei vormen en maten tot aan donuts en madeleines. Is de Snack Collection echt zo veelzijdig? ID.nl ging ermee aan de slag.

Uitstekend
Conclusie

De Tefal Snack Collection is een compact tosti-apparaat met verwisselbare platen, bedoeld voor wie met één toestel meerdere snacks wil bereiden. In de test leverde het apparaat goede resultaten met tosti’s en panini’s; de platen klikken stevig vast, zijn uitneembaar en vaatwasserbestendig. Met zijn kleine formaat, snoeropbergsysteem, 700 watt vermogen, maximale temperatuur van 230 graden en voorverwarm-indicator is het toestel praktisch, al is het grillvlak aan de krappe kant en is de temperatuur niet instelbaar. Per saldo is dit een ruimtebesparende keuze voor tostiliefhebbers die graag variëren.

Plus- en minpunten
  • Compact formaat en makkelijk opbergen
  • Goede grill-prestaties
  • Veel uitbreidingsmogelijkheden
  • Opwarmen duurt zo'n 4 minuten
  • Temperatuur niet instelbaar

Tafelgrills en tosti-apparaten zijn in bijna elk huishouden te vinden. Vaak gaat het om apparaten met een geribbelde grillplaat boven en onder, waar je je tosti tussen legt om die een paar minuten erna bruin en krokant uit te halen, met een lekker warme vulling. Het zijn eenvoudige apparaten die goed zijn in waarvoor ze ontwikkeld zijn. Meer dan je tosti erin maken kan vaak niet. Tefal komt nu met de compacte Snack Collection, een apparaat dat je koopt met twee bijgeleverde typen grillplaten en nog eens kunt uitbreiden door losse sets erbij te kopen.

©Saskia van Weert

Testexemplaar en meegeleverde platen

Ter review ontving de redactie een blauw testmodel, voorzien van twee grill/panini-platen (één boven, één onder in het apparaat) en twee platen om Brusselse wafels mee te maken. De Snack Collection is met zijn 28,5 centimeter breedte, 20,6 centimeter lengte en 34,5 centimeter hoogte een betrekkelijk klein apparaat dat makkelijk op te bergen is. Het snoer is aan de onderkant op te bergen, er zit een aan-uitknop aan de voorzijde, net als een vergrendeling om het ijzer op slot te zetten. Ook zit er een lampje aan de voorzijde dat groen oplicht als het apparaat is voorverwarmd. Hij heeft een vermogen van 700 watt en een maximale temperatuur van 230 graden. De temperatuur is niet handmatig in te stellen.

©Saskia van Weert

Inhoud van de doos en wisselen van platen

In de machine zit al een set grillplaten. Verder vind je in de doos twee verpakkingen die nog het meest doen denken aan videobandhoezen van vroeger. Ze zijn van harde kunststof en gaan wat lastig open. De ene doos is uiteraard leeg, want daar zaten de panini-platen in, maar we vinden er wel een receptenboekje in. In de andere doos zit de uitbreiding; in ons testexemplaar zijn dat de wafelplaten. De platen zijn los te halen uit de machine via een knopje boven en onder, en de platen kunnen er op maar één manier in vastklikken. Je kunt ze dus niet verkeerd bevestigen. Ze mogen in de vaatwasser; de machine zelf uiteraard niet.

©Saskia van Weert

Gebruik en bediening

Zoals wel vaker bij dit type apparaten is de werking enorm simpel. Je bevestigt de gewenste platen in de machine, doet de stekker in het stopcontact en zet hem aan. Dan wacht je tot het groene lampje aangaat, open je de machine, doe je je gerecht erin, sluit je alles weer netjes en wacht je tot je eten klaar is. Eet smakelijk!

©Saskia van Weert

Test: tosti's

De bijgeleverde grill/panini-plaat is net wat te klein voor een reguliere tosti van boterhammen uit de supermarkt; het korstje steekt net wat boven de plaat uit. Maar dat bleek voor het resultaat niet uit te maken: alle geteste tosti’s kwamen prima uit de Tefal. Opwarmen duurde wel wat lang, ongeveer 4 minuten.

Lees ook: Gezonde tosti’s om de hele middag op door te gaan

Brand je handen niet!

Gebruik een tang om je tosti's te serveren

Test: panini

De test met een panini had wat voeten in de aarde. De supermarkten in onze woonplaats verkochten geen panini-broodjes, maar een XL-shop in een andere plaats wel. Panini-broodjes zijn hoger dan normale afbakbroodjes en standaard voorzien van grillstrepen. Het deksel van de Snack Collection moest wel wat worden aangedrukt om de machine te kunnen sluiten met de vergrendeling, maar ook dat verliep verder prima.

Schoonmaken en opbergen 

De platen komen weer brandschoon uit de vaatwasser en klikken makkelijk vast in het apparaat. Door de betrekkelijk kleine afmetingen van dit keukenapparaat is het makkelijk op te bergen.

©Tefal

Uitbreidingssets (assortiment)

Dan de uitbreidingssets. Deze hebben we niet kunnen testen, maar zijn uiteraard te bekijken via de site van Tefal. Er is een aantal platen voor tosti’s in bijzondere vormen, zoals een schelpvorm of juist meteen als driehoek. Verder zijn er onder meer vormen voor bagels te verkrijgen. Tefal mikt duidelijk op een internationaal publiek, want er is ook een vorm voor madeleines (Franse zoete cakejes) verkrijgbaar.

Conclusie

De Tefal Snack Collection is een compact tosti-apparaat met verwisselbare platen, bedoeld voor wie met één toestel meerdere snacks wil maken. In de test leverde het apparaat nette resultaten op: tosti's kwamen goed uit de grill en panini's lukten eveneens prima na het sluiten met de vergrendeling. De platen klikken stevig vast, zijn uitneembaar en kunnen in de vaatwasser. Dankzij het kleine formaat en het opbergsysteem voor het snoer is het toestel eenvoudig weg te zetten. Het apparaat heeft een vermogen van 700 watt, een maximale temperatuur van 230 graden en een indicatielampje dat aangeeft wanneer voorverwarmen is voltooid.

Aandachtspunten: het grillvlak is aan de krappe kant voor standaardboterhammen, de opwarmtijd ligt rond de 4 minuten en de temperatuur is niet handmatig regelbaar. De uitbreidingsmogelijkheden zijn groot (onder meer wafels, donuts, madeleines en bagels), maar deze extra platen zijn in deze test niet inhoudelijk beoordeeld.

Per saldo is de Snack Collection een praktisch en ruimtebesparend apparaat voor de liefhebbers van tosti's die ook graag eens experimenteren met andere bereidingen.