ID.nl logo
Node-RED: programmeren zonder coderen
© Piscine26 - stock.adobe.com
Huis

Node-RED: programmeren zonder coderen

Met Node-RED kun je allerlei apparaten en diensten aan elkaar koppelen zonder dat je daarvoor iets hoeft te programmeren. Door nodes naar een werkblad te slepen en verbindingen te leggen, bouw je in feite op een visuele manier alle logica op. Hoewel het breed inzetbaar is, gaan we het in dit artikel gebruiken als alternatief voor de automatiseringen in Home Assistant.

In dit artikel gaan we Node-RED gebruiken binnen Home Assistant. Ook geven we enkele praktische voorbeelden voor automatiseringen mee, zoals:

  • Ledstrip automatisch aan laten gaan als een deur opengaat
  • Lamp aan laten gaan bij beweging
  • Lamp vanzelf weer uit laten gaan

Lees ook: Zo automatiseer je slimme verlichting voor buiten

Ouderwets code inkloppen behoort steeds meer tot het verleden. Veel programmacode komt uit de koker van ChatGPT of Copilot. Je hoeft zelf alleen nog maar de eindjes aan elkaar te knopen. Een andere trend is het visuele programmeren, waarbij je helemaal geen programmacode meer ziet, maar bouwstenen die je op een logische manier kunt koppelen.

Node-RED is een treffend voorbeeld waarmee je kunt automatiseren aan de hand van zogenoemde flows. Hoewel het breed inzetbaar is, richten we ons in dit artikel grotendeels op het gebruik in combinatie met Home Assistant. De installatie heb je snel geregeld als je de add-on binnen Home Assistant OS gebruikt.

Desgewenst kun je het ook op andere systemen installeren. Dat kan zelfs een desktop met Windows of macOS zijn. Dat is echter niet heel praktisch als het systeem altijd actief moet zijn om je automatiseringen te laten werken. Andere installatiemethoden behandelen we hier niet, maar er zijn online genoeg aanwijzingen voor te vinden (zie kader ‘Installatie Node-RED’).

Na de installatie gaan we enkele eenvoudige automatiseringen maken en daarbij steeds meer de diepte in. Je kunt uiteraard nog steeds automatiseringen in Home Assistant maken zoals je dat gewend bent. Als je wat langer met Node-RED werkt, zul je merken dat deze tool vooral voor wat complexere automatiseringen veel praktischer is.

Installatie Node-RED Je kunt Node-RED op uiteenlopende manieren installeren. De Getting Started-gids geeft hier veel aanwijzingen voor. Op een Raspberry Pi met Raspberry Pi OS of op een server met Debian of Ubuntu raden we aan het installatiescript voor de Raspberry Pi te gebruiken. Via een parameter heb je hierbij nog invloed op de versie van Node.js. Let daar goed op, want Node-RED 4.0 zal geen Node 14.x meer ondersteunen, dat rond die tijd ook aan het einde van zijn levenscyclus is. Het is dus aan te raden om alvast Node 18.x of 20.x te gebruiken.

Op veel systemen is overigens ook een installatie via Docker mogelijk. Hier is Node.js al ingebakken. Er kunnen wel andere beperkingen zijn. Zo is het wat uitdagender om vanuit de container toegang te krijgen tot bepaalde apparaten op de host, zoals de seriële poort of de GPIO-poorten van bijvoorbeeld een Raspberry Pi.

In de Getting Started-gids vind je uiteenlopende installatiemethoden voor Node-RED.

1 Wat heb je nodig

Als je een systeem met Home Assistant OS gebruikt, kun je Node-RED eenvoudig als add-on installeren. Dit behandelen we in de volgende paragrafen. Voor dit artikel gebruiken we zelf de Odroid N2+, maar op andere systemen zal het geen problemen geven, omdat het een relatief lichte toepassing is. Voor de add-on is geen verdere configuratie nodig. Kies je voor een andere installatiemethode, dan zijn er wél extra stappen. Het is handig als je al wat integraties hebt toegevoegd aan Home Assistant, zodat je daarmee kunt oefenen.

Gebruik je niet de add-on, voeg dan de nodes voor Home Assistant apart toe.

2 Accessoires

In dit artikel richten we ons zoals gezegd op de combinatie met Home Assistant. Om wat praktische voorbeelden te kunnen maken, hebben we verschillende Zigbee-accessoires toegevoegd aan Home Assistant. Het gaat om een deur- en raamsensor, een bewegingssensor met ingebouwde lichtsensor en een schakelaar in de vorm van een tussenstekker. Verder gebruiken we een programmeerbare ledstrip met WLED-software die via wifi is aangesloten.

Voor Zigbee hebben we Zigbee2MQTT gebruikt, maar je kunt ook prima Zigbee Home Automation (ZHA) gebruiken, de directe integratie van Zigbee in Home Assistant. Dit maakt in Node-RED niet veel verschil, omdat je daarin gewoon de entiteiten van Home Assistant gebruikt, ongeacht wat daar achter zit. Een voordeel van Zigbee2MQTT is dat je er wel voor zou kunnen kiezen om Zigbee2MQTT rechtstreeks aan te spreken in Node-RED, zonder tussenkomst van Home Assistant.

We hebben diverse accessoires toegevoegd, onder meer via Zigbee2MQTT. 

3 Bibliotheek met nodes

Er is een enorme bibliotheek met nodes die je kunt toevoegen vanuit de beheeromgeving van Node-RED. De add-on voor Node-RED voor Home Assistant OS bevat de meest gangbare nodes. Ook voor Home Assistant zijn de vereiste nodes al toegevoegd en vooraf geconfigureerd. Dit neemt veel werk uit handen.

De entiteiten die in Home Assistant beschikbaar zijn, kun je direct binnen Node-RED gebruiken. Bij een installatie op een aparte server zijn wat extra configuratiestappen nodig. Zo moet je minimaal de module node-red-contrib-home-assistant-websocket toevoegen. Zodra je een van de nodes voor Home Assistant gaat gebruiken, moet je eenmalig de server met Home Assistant configureren. Hierbij heb je een toegangstoken met lange levensduur nodig, die je via je profiel in Home Assistant kunt maken.

Er is een enorme bibliotheek met nodes die je kunt installeren. 

4 Installatie add-on

Als je Home Assistant OS gebruikt, kun je de Node-RED-uitbreiding eenvoudig als add-on toevoegen onder Instellingen / Add-ons. Klik hier op Add-on winkel. Je vindt Node-RED onder het kopje Home Assistant Community Add-ons. Klik erop en kies Installeer. Zet vinkjes bij Watchdog en Weergeven in zijbalk. Klik daarna op Starten. Voor eventuele bijzonderheden kijk je op het tabblad Logboek.

Afhankelijk van je systeem kan het nodig zijn om op het tabblad Configuratie via een vinkje de optie ssl uit te zetten. Je opent Node-RED met de optie Open web-ui (op het tabblad Informatie) of rechtstreeks via de link in de zijbalk links. Het is niet nodig om in te loggen.

Als je de add-on gebruikt, hoef je Node-RED in principe niet te herstarten als je namen van entiteiten in Home Assistant wijzigt, of nieuwe entiteiten toevoegt, al kan dit eventueel wel via de add-on. Bij een installatie op een aparte server is het in zo’n geval meestal wel nodig om te herstarten.

Je kunt Node-RED als add-on installeren binnen Home Assistant OS.

5 Werking testen

Node-RED gebruikt zoals de naam al aangeeft nodes voor elk onderdeel van een automatisering. Aan de linkerkant zie je je palet met alle beschikbare nodes. Onder het kopje home assistant zie je ook nodes die specifiek zijn voor Home Assistant.

Je kunt een node naar je werkruimte slepen en verbinden met andere nodes. Om de werking te testen kun je de node events: all (onder het kopje home assistant) naar je werkblad slepen. Deze node luistert naar alle gebeurtenissen in Home Assistant. Dubbelklik vervolgens op deze node. Zorg dat onder Properties bij het veld Server de optie Home Assistant actief is. Deze hoef je als je de add-on gebruikt niet te configureren. Klik vervolgens op Done.

Als je nu op Deploy klikt, wordt de flow in werking gesteld. Als het goed is, zie je de regel onder de node events: all kort veranderen als er ook maar iets gebeurt in Home Assistant, bijvoorbeeld het schakelen van een lamp. Als je hier een debug-node aanhangt (die bespreken we in paragraaf 10 en in het kader ‘Debug-meldingen bekijken’), dan zie je dat er zeer veel berichten langskomen. Daarom zul je in de praktijk veel specifieker willen zijn.

Via een speciale node kun je de werking van Node-RED controleren.

6 Flows

Je hebt in de vorige paragraaf je eerste flow gemaakt. Aan de bovenkant zie je voor elke flow een tabblad. Via het plusteken maak je aanvullende flows en met het icoontje daarnaast kun je flows bijvoorbeeld verbergen of uitschakelen. Dubbelklik je op een flow dan kun je de naam of omschrijving veranderen of de flow verwijderen. In de zijbalk rechts kun je onder andere informatie over nodes raadplegen of onderdelen configureren.

Het is handig om je flows een logische naam te geven. Merk op dat je in de praktijk vaak meerdere (gerelateerde) automatiseringen in één flow zult opnemen om het aantal flows binnen de perken te houden.

Aan de bovenkant kun je flows maken en beheren via tabbladen.

Lees ook: Blueprints voor Home Assistant: nog gemakkelijker je huis automatiseren

7 Trigger

Binnen Home Assistant begint een automatisering met een trigger en eventuele aanvullende voorwaarden die worden getest. In Node-RED bereik je dit door de status van een bepaalde entiteit uit te lezen. Als voorbeeld willen we een ledstrip in de berging aanzetten als het luik open is. Daarvoor is het luik voorzien van een deur- en raamsensor.

We slepen eerst de node genaamd events:state naar de werkruimte. Dubbelklik op de node en vul een herkenbare naam in. Zorg dat achter Server de optie Home Assistant is geselecteerd. Bij Entity zoek je de bewuste sensor op. De sensor geeft de status on voor open en off voor gesloten. Daarom kies je bij If State de optie is met de string on.

De mogelijke statussen kun je voor elke sensor opzoeken in Home Assistant. Ga daarvoor naar Ontwikkelhulpmiddelen / Statussen en zoek de sensor op. Klik op Done als je klaar bent. Je kunt de werking controleren via Deploy. Onder de node kun je nu steeds de status (on of off) van de deursensor aflezen. Rechts van de zojuist toegevoegde node zie je twee uitgangen: de bovenste voor als de status waar is (het luik is open), de tweede voor onwaar (het luik is dicht). We gaan in de volgende paragraaf deze uitgangen gebruiken en verbinden met de gewenste acties.

Deze node controleert alleen de status van onze deursensor.

8 Service aanroepen

We kunnen nu acties toevoegen voor het aan- of uitzetten van de verlichting. De bovenste uitgang moet de lamp via een serviceaanroep aanzetten als het luik opengaat. Sleep hiervoor de node call service naar de werkruimte, rechts van de bestaande node, en verbind deze met de bovenste uitgang. Dubbelklik op de node. Kies bij Domain de optie light, bij Service selecteer je turn_on en bij Entitity zoek je de gewenste lamp op. Je kunt onder Data extra opties of ‘properties’ meegeven, zoals kleur en helderheid. Als je naar onderen bladert, zie je hier suggesties voor. Je kunt ook de ontwikkelhulpmiddelen van Home Assistant gebruiken om waarden te achterhalen voor bijvoorbeeld kleur en helderheid (zie kader ‘Ontwikkelhulpmiddelen Home Assistant’). Als voorbeeld kiezen we bij Data de optie JSON en vullen het volgende in:

{"transition":"3","rgb_color":[127,172,255],"brightness_pct":"100"}

Klik op Done. Sleep nu een tweede node call service naar je werkruimte en sluit die op de tweede uitgang aan. Herhaal de stappen, maar kies nu bij Service uiteraard turn_off. Gebruik voor een rustige overgang eventueel onderstaande JSON-code achter Data.

{"transition":"3"}

Klik tot slot op Deploy om je automatisering in werking te stellen.

Door de service aan te roepen schakelen we de lamp met een bepaalde kleur.

Ontwikkelhulpmiddelen Home Assistant Met de ontwikkelhulpmiddelen van Home Assistant kun je vooraf alvast onderzoeken op welke manier je een service moet aanroepen. Dit helpt je bij het opstellen van je acties in Node-RED. Voor de ledstrip kun je bijvoorbeeld een gewenste kleur en helderheid meegeven. Het kan lastig zijn om de waarde voor een bepaalde kleur te vinden. Wat je kunt doen, is de lamp instellen via de beheeromgeving. De waarde kun je dan aflezen onder Ontwikkelhulpmiddelen / Statussen.

In ons voorbeeld kiezen we voor een rustige overgang (transition) en bepaalde RGB-kleur en helderheid. De RGB-kleur zijn drie gehele getallen tussen 0 en 255 die de waarden rood, groen en blauw vertegenwoordigen. We kozen lichtblauw (127, 172, 255). Voor de helderheid kiezen we 100 procent. De serviceaanroep kun je oefenen in Home Assistant onder Ontwikkelhulpmiddelen / Services. Kies bijvoorbeeld de service light.turn_on om een lamp aan te zetten. Klik dan op Entiteit kiezen en selecteer de entiteit, in ons voorbeeld light.wled. Je ziet dat je voor deze entiteit nu ook de extra details op kunt geven, waaronder de gewenste RGB-kleur en helderheid.

Via de ontwikkelhulpmiddelen kun je oefenen met serviceaanroepen.

9 Lamp aan bij beweging

In dit tweede voorbeeld gaan we de bewegingssensor gebruiken. We willen een lamp aanzetten bij beweging en vervolgens na een bepaalde periode weer uitzetten. Er zijn meerdere manieren om dit op te lossen.

We beginnen met een node events:state voor de statusverandering van de bewegingssensor. Die sensor geef na een detectie de status on. Daarom zoek je bij Entity de bewegingssensor op en kies je bij If State de optie is met de string on. Voeg een node call service toe, zoals uitgelegd in de vorige paragraaf, om de lamp aan te zetten. Sleep dan een node delay naar je werkruimte. Deze node geeft in feite een bericht na een instelbare vertraging door aan de volgende node. Als voorbeeld kiezen we een vertraging van vijf minuten. Voeg tot slot weer een node call service toe. Deze moet de lamp uitzetten na de gekozen vertraging.

Verbind alle nodes met elkaar en test de werking. Er is één praktische beperking: na bewegingsdetectie wordt de lamp na de gekozen vertraging uitgezet, óók als er binnen die periode nog een keer iemand langs de bewegingssensor loopt. Liever wil je dat de lamp aan blijft en pas vijf minuten na de laatste detectie uitgaat. We zullen twee methoden laten zien om dat op te lossen.

Deze flow zet een lamp vijf minuten aan na detectie van beweging.

10 Trigger met vertraging

Bij de eerste methode voegen we zoals eerder de node events:state voor de bewegingssensor toe. Voeg vervolgens de node genaamd trigger toe. Deze vind je onder het kopje function. Voeg als laatste weer een node call service toe voor het aan- of uitzetten van de verlichting. Dubbelklik op de node trigger en vul bij Send de onderstaande regel in (dit is de serviceaanroep voor het aanzetten van de lamp).

{"service": "turn_on"}

Kies bij then de optie wait for. Vul dan de tijd in (bijvoorbeeld twintig seconden of wederom vijf minuten). Zet een vinkje bij extend delay if new message arrives. Dit zorgt ervoor dat de tijd steeds opnieuw ingaat na een detectie door de bewegingssensor. Bij then send vul je de serviceaanroep voor het uitzetten van de lamp in:

{"service": "turn_off"}

Bij het zoeken naar fouten is het handig om de node debug te gebruiken, zoals we in dit voorbeeld doen (zie de afbeelding). Deze node kun je met een uitgang verbinden, om te zien welke berichten daar passeren (zie kader ‘Debug-meldingen bekijken’).

Bij deze automatisering zetten we de lamp via een trigger uit en voegen we voor het debuggen van de flow een speciale node toe.

Debug-meldingen bekijken Om Node-RED beter te begrijpen, is het erg nuttig om een debug-node aan een uitgang te hangen. Je kunt er ook meerdere gebruiken en ze een eigen naam geven. In paragraaf 10 hebben we drie nodes van dit type gebruikt die we debug 1, debug 2 en debug 3 noemen. Je ziet nu steeds bij welke node een bericht hoort.

In de zijbalk rechts kun je de berichten bekijken die deze nodes ontvangen. Deze zijbalk kun je met Ctrl+Spatie tonen of verbergen. Open dan het venster Debug messages (of Ctrl+G en dan D). Selecteer in dit venster de filteroptie current flow om alleen de berichten voor de huidige flow te kunnen zien. Via het prullenbakicoontje kun je eventueel het venster leegmaken, zodat je alleen nieuwe meldingen te zien krijgt.

11 Extra node toevoegen

Een andere manier om de bewegingsdetectie te verbeteren, is het toevoegen van een tweede node die actief wordt als er een bepaalde tijd geen beweging is, zoals vijf minuten of twintig seconden (de duur bepaal je zelf). De eerste node events:state gebruiken we ook, nu voor de detectie van beweging waarbij de sensor een on-status geeft. De tweede events:state-node zet je eronder. Deze wacht gedurende de ingestelde tijd tot er geen beweging is gedetecteerd. Bij de configuratie van deze tweede node kies je bij If State de optie is met de optie string en de waarde off. Bij For kies je de gewenste tijd, in dit voorbeeld vijf minuten. De bovenste node zet de lamp aan bij beweging, de onderste zet de lamp uit als er niets is gedetecteerd, ofwel: na vijf minuten lang de status off te hebben.

In deze flow hebben we een extra node toegevoegd voor de bewegingssensor.

12 Conditie toevoegen

Je kunt relatief eenvoudig extra condities toevoegen aan de bovenstaande flow, zodat de lamp bijvoorbeeld alleen aan wordt gezet als deze uit staat en als het donker is. In het voorbeeld testen we eerst of de lamp aan is, met een node van het type current state. We gebruiken de tweede uitgang (lamp is uit). Deze node zorgt dat er niet onnodig wordt geschakeld. Daarachter voegen we een tweede node toe, ook van het type current state, die test of het donker is. Merk op dat onze bewegingssensor zelf deze helderheid rapporteert via een sensor. Voor deze node kiezen we bij If State het kleiner-dan-teken (<), en dan de optie number met het gewenste helderheidsniveau (hier kiezen we 600 lux). Bij het ontwerpen zul je merken dat je een node gewoon tussen bestaande nodes kunt slepen, waarbij automatisch de verbindingen worden gemaakt.

We testen in deze flow of de lamp al aan staat en of het donker is.

13 Schakelen op tijd

Wil je schakelen op tijd of herinneringen versturen op vaste tijden, dan komt de node bigtimer goed van pas. Je kunt het zien als een tijdschakelaar die een aan- of uitsignaal geeft. Bij de add-on is deze module al toegevoegd, bij een aparte installatie van Node-RED kun je hem toevoegen via het menu, onder Manage palette / Install.

Bij de configuratie van deze node geef je bij On Time en Off Time aan wanneer de schakelaar een aan- en uitsignaal moet sturen. Bij On Msg vul je on in en bij OFF Msg de waarde off. Er is één uitgang (one-off message) die je aansluit op een node van het type switch. We gaan in het grote vak twee uitgangen toevoegen voor de berichten on en off. Vul bij de eerste uitgang de string on in. Voeg met add een tweede uitgang toe met de string off. De twee uitgangen kun je nu gebruiken voor het aan- en uitzetten van een lamp.

We voegen twee uitgangen toe aan de node van het type switch.

14 Schakelen met de zon

Naast een specifieke tijd kun je bij de node bigtimer ook kiezen voor onder andere Sunset (zonsondergang) of Sunrise (zonsopgang) om te schakelen aan de hand van de stand de zon. Bij de velden On Offset en Off Offset kun je bovendien een offset invullen, om verlichting bijvoorbeeld een uur voor zonsondergang in te schakelen. Voor correcte tijden voor zonsondergang en -opgang moet je de velden Latitude en Longitude invullen. In Home Assistant vind je deze door onder Ontwikkelhulpmiddelen / Statussen te zoeken naar zone.home.

De node bigtime kan ook schakelen als de zon onder is.

Voor een uitgebreider artikel over hoe je je huis samen laat werken met de zon, lees je: Zo laat je je huis reageren op de zon

Importeren en exporteren Als je gaat oefenen met Node-RED zul je vaak gebruikmaken van voorbeelden die je op internet tegenkomt. Node-RED biedt een handige import- en exportvoorziening voor zulke voorbeelden. Hiervoor open je het menu via de drie streepjes rechtsboven. Kies dan Import (Ctrl+I) of Export (Ctrl+E). Voorbeelden die je hebt gekopieerd, kun je importeren vanaf je klembord onder Clipboard. Daarna pas je ze uiteraard voor jouw situatie aan.

▼ 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.