ID.nl logo
Welke microcontrollers bestaan er en waar zijn ze goed voor?
© https://ethereumcode.io/
Huis

Welke microcontrollers bestaan er en waar zijn ze goed voor?

Ze zitten in je auto, in je magnetron, in je wasmachine, maar ook in je pc, en ze vormen het hart van de Arduino- en ESP32-ontwikkelbordjes: microcontrollers. Onzichtbaar op de achtergrond wordt bijna ons hele leven erdoor draaiende gehouden. Welke microcontrollers bestaan er en hoe werken ze precies?

Als je een maaltijd in je magnetron zet, kies je de juiste tijd en instellingen en zet je hem aan. Aan het einde zegt je magnetron ‘ping!’ en is je maaltijd opgewarmd.

Heb je je al eens afgevraagd hoe dat werkt? Eigenlijk zit er in je magnetron een hele (kleine) computer die een programmaatje afwerkt dat enerzijds reageert op de knoppen en anderzijds, als je dat hebt, op het lcd-scherm. Ook stuurt de computer de elektronenbuis aan die de maaltijd met microgolven verwarmt. Die kleine computer is een microcontroller. Je hebt er waarschijnlijk tientallen in huis.

Een microcontroller is een chip die eigenlijk een hele computer in één pakket behuist. Daarin zitten een processor, geheugen (ram en rom) en allerlei poorten naar de buitenwereld. Terwijl je bij een gemiddelde processor voor je desktopcomputer dus nog een heel moederbord, ram-geheugen en storage nodig hebt om er iets nuttigs mee te doen, heb je bij een microcontroller slechts een beperkt aantal externe componenten nodig. Wat weerstanden en condensatoren zijn doorgaans voldoende voor een werkende microcontroller-opstelling.

Die verregaande integratie in een microcontroller is mogelijk omdat dit geen chip is voor flexibele apparaten, zoals pc’s. Microcontrollers zijn ontworpen om specifieke toepassingen uit te voeren, zoals in een magnetron, een pinautomaat, een wasmachine of een pacemaker. Een laag stroomverbruik en een lage kostprijs zijn voor die toepassingen belangrijk.

Lage prestaties met hoge impact

Low-end microcontrollers hebben dan ook een processorsnelheid van maar enkele MHz en slechts enkele kilobytes ram-geheugen. Kijk bijvoorbeeld naar de Arduino Uno, een populair ontwikkelbordje om mee te experimenteren. De microcontroller op dat bordje is de AVR ATmega328P. Die werkt op een kloksnelheid van 16 MHz, heeft 2 KB sram, 1 KB eeprom en 32 KB flashgeheugen.

Vergeleken met de gigahertzen, gigabytes en terabytes die we op onze pc’s gewend zijn, lijken die specificaties ondermaats. Maar toch kun je hiermee ongelooflijk veel projecten aansturen: muziekinstrumenten, robotautootjes, weerstations, je planten automatisch water geven... Je kunt het zo gek niet bedenken of iemand heeft het al weleens met die kleine ATmega328P gedaan.

Microcontroller of SoC? Waarschijnlijk heb je ook al gehoord van een system-on-a-chip (SoC), wat op het eerste gezicht hetzelfde lijkt: een processor geïntegreerd met andere componenten. De grens tussen wat we als een microcontroller beschouwen en wat als een SoC is nogal vaag. Maar doorgaans is een SoC met een snellere processor uitgerust, heeft die meer ram en bevat hij mogelijk radiochips (wifi en/of mobiel netwerk) of een ingebouwde gpu.  Alle smartphones en tablets zijn dan ook gebouwd rond een SoC, maar ook de Raspberry Pi, apparaten zoals een nas en slimme luidsprekers. Ook de Apple M1 is een SoC: deze integreert een arm-processor, ram, gpu, image-signal-processor, Secure Enclave (een coprocessor voor veilige opslag van sleutels) en controllers voor NVMe en thunderbolt 4.

Pinnetjes

Als je een low-end microcontroller zoals een ATmega328P van een Arduino Uno ziet, is het eerste wat opvalt de pinnetjes die eruit steken. Elk van die pinnetjes heeft een functie. Sommige sluit je aan op een voeding, zodat de chip stroom krijgt, maar de meeste dienen om met de omgeving te communiceren.

Komt de chip in een dip-behuizing, dan kun je die pinnetjes eenvoudigweg in een breadboard prikken. Door dan jumperwires in een gaatje in dezelfde rij als een pin te steken, verbind je het draadje met die pin. Op die manier bouw je eenvoudig elektronische schakelingen op met componenten die met de microcontroller kunnen communiceren.

Een Arduino Uno-bordje is dan eigenlijk gewoon een printplaatje waarop de ATmega328P is geplaatst en alle pinnetjes verbonden zijn met ofwel de headers op het bordje, ofwel met andere componenten van het printplaatje, zoals de spanningsregelaar, statusleds en de resetknop. Je kunt het eigenlijk vergelijken met een moederbord voor een processor: een Arduino Uno maakt een ATmega328P-microcontroller alleen wat handiger om te gebruiken en om andere componenten op aan te sluiten.

©PXimport

De eenvoudigste manier om met een microcontroller te communiceren is wat we GPIO noemen (general-purpose input/output). Elke GPIO-pin kunnen we aansturen door een bit op een specifiek adres in het geheugen van de microcontroller op 1 of 0 te zetten. Schrijven we er 1 naar, dan wordt een spanning van bijvoorbeeld 5 V over de pin gelegd; schrijven we er 0 naar, dan wordt de spanning 0 V.

Als je dan bijvoorbeeld tussen die pin en 0 V een led en een weerstand plaatst, gaat de led aan wanneer je 1 naar de pin schrijft en uit wanneer je er 0 naar schrijft. Bij een 1 vloeit er immers een stroom van 5 V naar 0 V. De weerstand dient om de stroom te beperken tot wat de led aankan.

Ook in de andere richting werkt dat. Als je de GPIO-pin als invoer configureert, zal de microcontroller de spanning die je aan de pin aanlegt (5 V of 0 V) interpreteren als een 1 of 0. Op die manier sluit je een knop aan op de pin. Druk je de knop in, dan maakt die intern een verbinding tussen 5 V en de pin van de microcontroller, waardoor die een 1 registreert. 

Laat je de knop los, dan wordt er doorgaans via een pull-downweerstand voor gezorgd dat de pin verbonden is met 0 V en dus een 0 registreert. Op dezelfde manier sluit je een PIR-sensor voor aanwezigheidsdetectie aan: de pin registreert dan 1 als de sensor iemand waarneemt en anders 0.

Protocols en bussen

Telkens 1 bit in of uit de microcontroller sturen, is voldoende voor eenvoudige toepassingen, maar vaak heb je complexere vormen van communicatie nodig. Daarvoor zijn er allerlei protocollen ontwikkeld. Bijvoorbeeld UART (universal asynchronous receiver-transmitter), een protocol voor seriële communicatie waarbij je bytes in twee richtingen kunt sturen. 

Het protocol beschrijft hoe je de opeenvolgende bits moet sturen. Zo bestaan er UART-modules die je in een usb-poort van je pc kunt steken. Communiceren met de microcontroller doe je dan door de RX-pin van de microcontroller met de TX-pin van de UART-module te verbinden en andersom: RX staat voor receive en TX voor transmit.

Voor communicatie met meerdere componenten, zoals sensoren, externe geheugens en schermen, maak je meestal gebruik van een bus zoals I²C (Inter-Integrated Circuit, uitgevonden door Philips) en SPI (Serial Peripheral Interface). I²C wordt ook wel Two-Wire genoemd, omdat er twee pinnen worden gebruikt: SDA om de seriële data door te sturen en SCL om een kloksignaal te sturen. 

SPI (ook weleens Four-Wire genoemd) heeft vier pinnen: SCLK voor de klok, MOSI voor communicatie van de master (meestal de microcontroller) naar de slave en MISO voor de andere richting, en SS om te selecteren met welke slave de master spreekt. Voor elke slave heb je een extra pin SS nodig. Bij de meeste microcontrollers zijn er specifieke pinnen aanwezig voor UART, I²C en SPI.

©PXimport

Digitaal of analoog

Tot nu toe hebben we het alleen maar over 0 en 1 gehad, digitale gegevens dus. Maar heel wat sensoren geven analoge gegevens door, bijvoorbeeld een temperatuursensor of druksensor waarvan de weerstand varieert met de gemeten waarde. Met een spanningsdeler haal je uit die variabele weerstand een variabele spanning, die dus een analoge voorstelling van de meetwaarde is. 

Gelukkig bestaat er een component die een analoge waarde (bijvoorbeeld een spanning) kan omzetten naar een digitale waarde (bijvoorbeeld een 10bit-getal): de ADC (analoog-digitaalomzetter).

ADC’s bestaan als losse componenten (bijvoorbeeld via I²C of SPI aan te sluiten), maar veel microcontrollers hebben ook zelf een of meer ADC’S ingebouwd. Ook in de andere richting bestaat er een component: de DAC (digitaal-analoogomzetter) zet een digitale waarde (bijvoorbeeld een 10bit-getal) om in een analoge waarde (bijvoorbeeld een spanning van 0 tot de voedingsspanning).

Sommige microcontrollers hebben ook een DAC ingebouwd. Al met al zijn microcontrollers dus de perfecte componenten om de digitale en analoge wereld te verenigen. Een Raspberry Pi bijvoorbeeld heeft geen ADC ingebouwd, terwijl een Arduino-bordje er meerdere heeft.

Microcontroller-behuizingen Dezelfde microcontroller kun je vaak in meerdere types behuizingen kopen. Op breadboards zul je vaak DIP-behuizingen tegenkomen: dual in-line package. De chip zit dan in een rechthoekig blokje met aan twee tegenovergelegen zijden pinnetjes die naar onderen uitsteken. Standaard liggen de pinnetjes 2,54 mm (een tiende inch) van elkaar, waardoor ze op een breadboard passen.  In massaproductie vind je eerder varianten van QFP (quad flat package), waarbij een vierkante behuizing aan elke zijde een rij pinnetjes heeft, met een afstand van 0,4 tot 1 mm, die op de printplaat worden gesoldeerd. Een soortgelijke behuizing is QFN (quad-flat no-leads), waarbij er geen pinnetjes uitsteken maar er onderaan de chip aan de vier zijden rijen kopersporen zijn die rechtstreeks op de banen van de printplaat aansluiten. Deze zijn moeilijk met de hand te solderen.

Microcontrollerfamilies

Net zoals er voor pc’s allerlei processorfamilies bestaan, heb je ook diverse families van microcontrollers. De belangrijkste onderverdeling is op basis van de processorarchitectuur. Populair bij hobbyisten zijn de 8bit-AVR-microcontrollers van Atmel (in 2016 overgenomen door Microchip). Ze zijn onderverdeeld in twee subfamilies: de ATtiny-serie met minder pinnen, geheugen en functies (de basismodellen hebben zelfs geen ram-geheugen, UART, I²C en SPI) en de krachtigere ATmega-serie die in de meeste Arduino-bordjes zit.

Een familie die zowel bij hobbyisten als industriële ontwikkelaars populair is, zijn de PIC-microcontrollers, die al sinds 1976 meegaan. Hun populariteit is te danken aan hun lage kostprijs, brede beschikbaarheid en heel wat bestaande code.

Een andere populaire low-end microcontroller in de industrie is de 8051. Oorspronkelijk werd deze in 1980 door Intel ontwikkeld onder de naam MCS-51. In 2007 is Intel met de productie gestopt, maar tientallen andere chipfabrikanten produceren nog altijd hun eigen klonen van de 8051, vaak met een snellere klok en extra functies. Ze worden gebruikt in auto’s, meetsystemen, transceivers voor bluetooth, Zigbee en andere draadloze protocollen, in usb-sticks enzovoort.

©PXimport

Als je naar de krachtigere microcontrollers gaat, kom je bij 32- en 64bit-families uit. De laatste jaren hebben vooral de Xtensa-processors van Tensilica (in 2013 overgekocht door Cadence) een flinke opmars gemaakt. Het zijn immers de processors in de ESP8266- en ESP32-microcontrollers van het Chinese Espressif. Deze zijn populair bij hobbyisten door hun geïntegreerde wifi en (voor de ESP32) bluetooth, en omdat ze eenvoudig te programmeren zijn in de Arduino IDE of via frameworks als ESPHome. De bordjes gebouwd rond de microcontrollers van Espressif zijn dan ook populair voor doe-het-zelf-domotica.

Tot de krachtigste en flexibelste microcontrollers behoren die gebouwd rond de ARM-architectuur. De high-end versies daarvan vind je in je smartphone en ook in computerbordjes zoals een Raspberry Pi, al spreken we dan meer van een SoC. 

ARM kent veel subfamilies, maar voor de klassieke microcontrollertoepassingen zijn vooral de ARM Cortex-M-processors (32 bit) gebruikt. Die vind je bijvoorbeeld in de AT SAM-serie van Atmel die in de krachtigere Arduino-bordjes zitten, in de populaire STM32-familie van STMicroelectronics, en in de nRF-serie van Nordic Semiconductor voor draadloze toepassingen, zoals bluetooth en thread.

Ontwikkelbordjes

Voor industriële toepassingen wordt een printplaat op maat ontworpen, waarop een microcontroller staat. Maar wie zelf aan de slag wil met een microcontroller, heeft een ontwikkelbordje nodig. Dat geeft eenvoudig toegang tot de pinnen van de microcontroller via standaard pinheaders en voegt zaken zoals een spanningsregelaar en usb-naar-UART-omzetter toe, zodat je het bordje eenvoudig op je pc kunt aansluiten.

Voor elke microcontrollerfamilie bestaan er wel ontwikkelbordjes in allerlei vormen en groottes. Voor de AVR-familie zijn de Arduino-bordjes populair. Sommige daarvan, zoals de Arduino Nano, prik je op een breadboard, maar de meeste komen in een groter formaat met vrouwelijke pinheaders waarin je jumperwires steekt. 

Voor de Espressif-microcontrollers is het kleinere formaat dat je op een breadboard prikt alomtegenwoordig. Voor de nRF-serie heeft Nordic Semicondictor grote ontwikkelborden, maar ook versies in de vorm van een stick die je in de usb-poort van je pc schuift. Ook de BBC micro:bit en micro:bit v2 zijn leuke ontwikkelbordjes voor de nRF-microcontrollers.

©PXimport

Microcontroller programmeren

Kijken we tot slot nog even naar hoe het programmeren van een microcontroller werkt. Als je gewend bent om voor een pc of een computerbordje zoals een Raspberry Pi te programmeren, krijg je zeker een cultuurschok wanneer je voor het eerst een microcontroller programmeert. Doorgaans draait er immers geen besturingssysteem op een microcontroller. Er draait slechts één programma op: wat jij schrijft. 

Dat programma schrijf je in het ingebouwde flash-geheugen. Als je de stroom uitschakelt en weer inschakelt, begint de microcontroller het programma onmiddellijk uit te voeren. Dat maakt een microcontroller betrouwbaarder in werking dan een processorbordje zoals een Raspberry Pi.

De best ondersteunde programmeertalen op microcontrollers zijn C of C++, maar die zijn niet het toegankelijkst. Het Arduino-ecosysteem lost dat op door een standaardbibliotheek en allerlei uitbreidingen aan te bieden. Die vormen een laag bovenop het onderliggende C++. 

Andere oplossingen zijn MicroPython en CircuitPython die een afgeslankte versie van Python op microcontrollers aanbieden, en Espruino dat het mogelijk maakt om JavaScript op een microcontroller te gebruiken. Voor industriële toepassingen gebruik je eerder een realtime besturingssysteem zoals Zephyr, dat je in C programmeert.

Ontwikkelomgevingen

Om het proces van code programmeren en de firmware naar je microcontroller flashen te vereenvoudigen, bestaan er allerlei ontwikkelomgevingen. Die tonen bijvoorbeeld fouten in je code, compileren met één druk op een knop je code tot machinecode in de instructieset van de processor, en flashen de firmware naar je ontwikkelbordje. 

Programmeer je een Arduino-bordje, dan doe je dat doorgaans in de Arduino IDE (wat staat voor integrated development environment). Maar dankzij de ondersteuning van andere bordjes kun je met de Arduino IDE ook ESP8266- of ESP32-bordjes programmeren.

Ook populair is PlatformIO, een opensource-plug-in die van Microsofts ontwikkelomgeving Visual Studio Code een ontwikkelomgeving voor microcontrollers maakt. Het voordeel van PlatformIO is dat je met één ontwikkelomgeving voor diverse platforms en frameworks voor microcontrollers kunt ontwikkelen, inclusief Arduino, Espressifs framework en Zephyr. 

Visual Studio Code is bovendien ook bruikbaar om voor een Raspberry Pi of je pc te programmeren. Op deze manier verenig je dus al je programmeerprojecten in één omgeving.

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