ID.nl logo
Alles over kunstmatige intelligentie in processors
© Reshift Digital
Huis

Alles over kunstmatige intelligentie in processors

Meer en meer apparaten gebruiken gespecialiseerde chips voor kunstmatige intelligentie. Zo heeft de Google Pixel 6 een AI-chip en is de iPhone al jaren voorzien van een Neural Engine. Wat is er zo speciaal aan deze chips en welke taken kunnen ze versnellen?

Standaardprocessors zijn ontworpen om zo snel mogelijk instructies na elkaar uit te voeren. Die race naar steeds snellere kloksnelheden heeft al een tijdje moeten plaatsmaken voor parallellisatie: hierbij voeren meerdere processorkernen op hetzelfde moment instructies uit. Maar de meeste software maakt daarvan geen efficiënt gebruik. Je tekstverwerker haalt niet zoveel voordeel uit acht gelijktijdig werkende processorkernen.

Deep learning

Maar er zijn heel wat gespecialiseerde toepassingen die wel profiteren van verregaande parallellisatie. Vooral in AI (kunstmatige intelligentie) en dan in het bijzonder deep learning, een vorm van neurale netwerken. Deze algoritmen profiteren ervan om dezelfde instructies op grote hoeveelheden verschillende data tegelijk uit te voeren. Dat vereist een heel ander soort processor.

Neurale netwerken bootsen de werking van de hersenen na, die een biologisch neuraal netwerk vormen: een kluwen van ontzettend veel verbindingen tussen neuronen (hersencellen). Een kunstmatig neuraal netwerk bestaat meestal uit meerdere lagen: een invoerlaag van neuronen die de invoer van een probleem voorstellen (bijvoorbeeld een foto), een uitvoerlaag van neuronen die de oplossing van het probleem voorstellen (bijvoorbeeld de naam van de persoon op de foto), en een of meer tussenliggende lagen die berekeningen uitvoeren. Bij een groot aantal lagen tussen en uitvoer spreken we van deep learning.

©PXimport

Tensors

De data in deep learning worden opgeslagen in de vorm van tensors. Een tensor is een veralgemening van een vector of matrix naar meerdere dimensies. We kunnen een tensor beschrijven aan de hand van drie primaire eigenschappen: de rang, de vorm en het datatype. De rang van een tensor is het aantal assen. Zo is de rang van een matrix 2, van een vector 1 en van een getal 0.

De vorm van een tensor is het aantal elementen volgens elke as van de tensor. Stel dat je een tensor van rang 2 aanmaakt met op de eerste rij de getallen 1 en 2, op de tweede rij de getallen 3 en 4, en op de derde rij de getallen 5 en 6. Dan is de vorm van deze tensor de vector (en dus ook een tensor, namelijk van rang 1) [3, 2]. De tensor heeft namelijk drie rijen van 2 elementen.

Het datatype van een tensor beschrijft welke getallen de tensor bevat. Dat kan bijvoorbeeld float32 zijn (kommagetallen van 32 bit), of int8 (gehele getallen van 8 bit).

©PXimport

Machine learning met tensors

Voor elke taak waarvoor je een neuraal netwerk wilt trainen, moet je dus de data omzetten in tensors. Een afbeelding waarin je objecten wilt herkennen, zet je dan om in een tensor van rang 3: de vorm is dan [hoogte, breedte, kanalen], waarbij kanalen voor de kleurkanalen zoals rood, groen en blauw staat.

Vaak verwerken algoritmen in machine learning maar een deel van de data tegelijk. In ons voorbeeld van objectherkenning worden dan meerdere afbeeldingen in een batch onderverdeeld. We werken dan met een tensor van rang 4 met als vorm [samples, hoogte, breedte, kanalen]: de eerste as bevat het aantal samples in een batch.

Deep learning met GPU’s

Toen deep learning rond 2010 na jarenlange ontwikkeling eindelijk doorbrak, was dat vooral door de opkomst van snelle GPU’s (graphical processing units). Onderzoekers ontdekten dat de chips die in grafische kaarten zitten om sneller beelden te renderen, ook uitstekend uitgerust waren voor deep learning, in het bijzonder bij volledig verbonden neurale netwerken.

Computerwetenschapper Andrew Ng bepaalde dat deep learning-systemen met een factor 100 versneld konden worden door gebruik van GPU’s. Niet langer had men weken nodig om algoritmen voor handschriftherkenning of objectdetectie te trainen, maar slechts dagen.

Een GPU bestaat dan ook gemakkelijk uit duizenden processorkernen. Bovendien maakt een GPU gebruik van het SIMD-paradigma (zie kader ‘SIMD’): dezelfde bewerking wordt op duizenden stukjes data tegelijk uitgevoerd. Dat is ideaal voor deep learning, wat een heleboel tensorbewerkingen nodig heeft op grote hoeveelheden data.

Grafische kaart voor AI

In het begin werden voor AI-taken gewoon grafische kaarten voor consumenten gebruikt. Ondertussen produceert Nvidia ook GPU’s, ontwikkelbordjes en volledige servers die specifiek zijn ontworpen voor deep learning. Dat alles doet het bedrijf onder de naam Jetson. De prijzen van de Jetson Developer Kits beginnen bij 75 euro.

De prestaties van deze GPU’s variëren van 472 gigaflops (472 miljard floating-point-bewerkingen per seconde) op de 128-core Nvidia Maxwell-GPU in de Jetson Nano tot 200 tops (200 biljoen bewerkingen per seconde) op de 2048-core Nvidia Ampere-GPU met 64 tensor-cores (te vergelijken met de tensor processing units van Google, zie verder) in de later dit jaar verwachte Jetson AGX Orin. Wat al deze GPU’s gemeen hebben, is dat ze met Nvidia’s toolkit CUDA (Compute Unified Device Architecture) te programmeren zijn.

©PXimport

SIMD

Computerwetenschapper Michael J. Flynn stelde in 1966 een invloedrijke classificatie op van computerarchitecturen volgens hun parallellisme. Deze werkt op basis van twee parameters: het aantal instructies dat tegelijk wordt uitgevoerd en het aantal datastromen dat tegelijk wordt verwerkt.

Een computer zonder parallellisme, zoals de pc vóór de komst van multicore-processors, valt onder single instruction, single data (SISD). Een GPU die dezelfde instructie op meerdere data tegelijk uitvoert, valt onder single instruction, multiple data (SIMD). Maar ook moderne processors ondersteunen gedeeltelijk SIMD-instructies, zoals Advanced Vector Extensions (AVX) op Intel- en AMD-processors, de Neon-extensie op ARM-processors en AltiVec op PowerPC.

Multiple instruction, single data is nogal ongewoon. De boordcomputer van de Space Shuttle gebruikt deze aanpak voor foutentolerantie. Multiple instruction, multiple data is de architectuur voor alle vormen van gedistribueerde systemen.

Overigens zijn moderne GPU’s geen perfecte implementatie van SIMD meer, maar eerder van single instruction, multiple threads (SIMT): je voert meerdere threads uit die elk SIMD toepassen.

Tensor processing unit

Hoewel GPU’s al een hele prestatiewinst bieden ten opzichte van CPU’s voor deep learning, kunnen de prestaties nog met zeker een factor 10 verbeteren door application-specific integrated circuits (ASIC) te gebruiken. Die chips hoeven immers geen rekening te houden met de GPU-architectuur en zijn speciaal ontworpen voor berekeningen met lagere precisie. Door berekeningen bij benadering uit te voeren, in plaats van exact tot op zoveel cijfers na de komma, gaan ze veel sneller. Die precisie is immers in veel toepassingen met neurale netwerken niet nodig.

Google ontwikkelde in 2015 zijn tensor processing unit (TPU), een ASIC voor machine learning. De TPU’s zijn ontworpen om met een laag verbruik zoveel mogelijk berekeningen uit te voeren met een lage precisie (doorgaans 8 bit). Specifiek voor convolutional neural networks zijn TPU’s heel geschikt.

TPU’s in de cloud

Het bedrijf zette de TPU’s eerst in zijn eigen datacenters in, en dat blijft het ook nu nog doen. Zo verwerken TPU’s foto’s van Google Photos, tekst van Google Street View en worden de chips ook gebruikt in het zoekalgoritme RankBrain. Google Translate, Google Assistant, Gmail, al deze diensten draaien op TPU’s.

Sinds 2018 biedt Google zijn TPU’s ook aan als onderdeel van het Google Cloud Platform. De dienst heet Cloud TPU. Zo heeft de tweede generatie van de Cloud TPU een snelheid van 45 teraflops. Daarvan worden vier chips op één module geplaatst, met een totale snelheid van 180 teraflops. Google assembleert 64 van die modules tot een ‘pod’ van 256 Cloud TPU-chips met een totale snelheid van 11,5 petaflops.

©PXimport

TPU’s lokaal

In 2019 kwam Google met een nieuwe productlijn TPU’s, de Edge TPU. In tegenstelling tot de Cloud TPU’s zijn deze bedoeld voor edge computing: berekeningen op lokale apparaten. De Edge TPU is in staat om vier biljoen bewerkingen per seconde uit te voeren met een vermogensverbruik van slechts 2 W.

Google biedt zijn Edge TPU-producten aan onder de merknaam Coral. Tot de beschikbare producten behoren ontwikkelbordjes van allerlei afmetingen, M.2-insteekkaartjes en de USB Accelerator die je eenvoudig via usb op je laptop of Raspberry Pi aansluit. De Edge TPU wordt ook aan andere fabrikanten gelicentieerd. Zo biedt Asus zijn ontwikkelbordje Tinker Edge T aan, evenals een PCIe-kaart waarin 8 of 16 Edge TPU-chips zijn geïntegreerd.

De Edge TPU programmeer je met TensorFlow Lite, een lichtgewicht framework voor deep learning. Aangezien de chip alleen 8bit-bewerkingen ondersteunt, moet het neurale netwerk getraind worden zodat het hiermee rekening houdt, of je kwantiseert een netwerk tot 8 bit.

Verder zijn de bewerkingen die de Edge TPU ondersteunt ook beperkt, waardoor de chip voornamelijk nuttig is voor inference, en niet voor het trainen van netwerken. Een voorbeeld van inference is het detecteren van objecten in foto’s. De training van het neurale netwerk dat je daarvoor gebruikt, moet op een ander platform gebeuren.

©PXimport

TPU in je broekzak

In 2019 bracht Google zijn telefoon Pixel 4 uit met een Neural Core. Deze chip was een aangepaste versie van de Edge TPU en hielp met het ontgrendelen via je gezicht, een snellere Google Assistant en een slimmere camera.

In de Pixel 5 verdween de Neural Core vreemd genoeg, maar in de Pixel 6 maakte de Edge TPU een comeback, deze keer ingebouwd in een nieuwe SoC, de Google Tensor. Deze bevat zowel een CPU als een GPU, TPU en nog andere versnellerhardware.

De TPU verbetert de automatische spraakherkenning van Google Assistant en helpt ook het automatische ondertitelingssysteem Live Caption zonder de batterij snel leeg te trekken. En met het neuraal netwerk HDRnet verbetert de TPU beelden met een breed bereik aan helderheden. Door de TPU voor deze taken te gebruiken, hoeft de Pixel 6 minder vaak verbinding te leggen met de Cloud TPU’s van Google zelf. Dat komt de batterijduur ten goede.

Telefoons met AI

Google is niet de enige die gespecialiseerde AI-chips in zijn telefoons steekt. In 2018 introduceerde Samsung zijn Exynos 9820 met een neural processing unit (NPU). De AI-versnellerchip zit onder andere in de Samsung Galaxy S10.

Ook Qualcomm heeft in zijn recente Snapdragon-SoC’s een zogeheten AI Engine ingebouwd. De module die MediaTek in zijn SoC’s heeft ingebouwd, heet een artificial intelligence processing unit (APU). AI is tegenwoordig al zo ingeburgerd in telefoons dat elke serieuze SoC-fabrikant dit inbouwt.

©PXimport

Apple Neural Engine

Ook Apple heeft AI-versnellerhardware. Die dook voor het eerst op in de A11 Bionic-SoC die Apple ontwierp voor de iPhone 8, iPhone 8 Plus en iPhone X van september 2017. Apple noemt deze hardware een Neural Engine. In de A11 bestond die uit twee cores die tot 600 miljard bewerkingen per seconde konden uitvoeren. De versneller werd gebruikt voor Face ID, Animoji en andere taken waarbij intelligentie nodig is.

In de A12 (onder andere gebruikt in de iPhone XR) voerde Apple het aantal cores in de Neural Engine op naar acht, met een snelheid van 5 biljoen bewerkingen per seconde. Niet alleen was dat negen keer sneller, maar de nieuwe versie verbruikte ook tien keer minder vermogen. In de A13 (van de iPhone 11) bleef het aantal kernen op 8 steken. Het resultaat was 20% sneller (6 biljoen bewerkingen per seconde) en 15% zuiniger.

Sneller en ook voor derden

In de A14 (van de iPhone 12) werd het aantal cores van de Neural Engine verdubbeld tot 16, met een snelheid tot 11 biljoen bewerkingen per seconde. In de Apple M1, de eerste door Apple zelf ontworpen ARM-SoC voor Macs, zat zo goed als dezelfde versie van de Neural Engine. In de Apple A15 (van de iPhone 13) werd de snelheid van de 16-core Neural Engine opgevoerd tot 15,8 biljoen bewerkingen per seconde.

Oorspronkelijk was de kracht van de Neural Engine alleen beschikbaar voor apps van Apple zelf. Maar ondertussen kunnen ook third-party app-ontwikkelaars ervan gebruikmaken via het framework Core ML dat Apple aanbiedt voor machine learning. App-ontwikkelaars die zware analysetaken uitvoeren, doen er goed aan om dat via Core ML te doen. Door deze taken op de Neural Engine uit te voeren, werken ze immers energie-efficiënter en blijft de batterij van de iPhone langer meegaan.

©PXimport

Black box

Het is belangrijk om te weten dat een TPU, NPU, Neural Engine of hoe het ook heet altijd is geoptimaliseerd voor een specifiek type bewerkingen. Een neuraal netwerk bestaat altijd uit verschillende lagen en die kunnen van verschillende types zijn. Niet elke AI-versnellerchip ondersteunt alle types. Ook de ondersteunde datatypes hangen af van de hardware: alleen gehele getallen of ook kommagetallen, en 8, 16 of 32 bit?

De bijbehorende ontwikkeltools moeten je normaliter helpen om een neuraal netwerk aan te passen op de versnellerhardware. Maar de Neural Engine en Core ML van Apple zijn een black box. Apple geeft third-party ontwikkelaars geen richtlijnen over hoe ze hun modellen kunnen optimaliseren om in Core ML gebruik te maken van de Neural Engine. Er is zelfs geen documentatie over welke types lagen ondersteund worden door de Neural Engine. Matthijs Hollemans heeft door te experimenteren wel wat bevindingen over de Neural Engine kunnen publiceren.

TensorFlow-modellen 

Bij de Edge TPU ziet het plaatje er al heel wat inzichtelijker uit. Google heeft uitgebreide documentatie over de compatibiliteit van TensorFlow-modellen op de Edge TPU. Allereerst is er de beperking dat de Edge TPU alleen feed-forward neurale netwerken kan uitvoeren. Hierbij vormen de verbindingen tussen neuronen geen cyclus, maar vloeit de informatie maar in één richting. Dit in tegenstelling tot de recurrent neural networks, waarvoor CPU’s overigens nog altijd goed geschikt zijn. De tweede beperking is dat de Edge TPU alleen TensorFlow Lite-modellen met 8bit-voorstellingen van data kan uitvoeren.

Je traint een model nooit rechtstreeks met TensorFlow Lite. Je traint eerst een TensorFlow-model, dat werkt met floating-point getallen van 32 bit. Dit zet je dan met de TensorFlow Lite Converter om naar een TensorFlow Lite-model met 8bit-getallen en compileer je tot een .tflite-bestand dat je op de Edge TPU kunt uitvoeren.

©PXimport

Deels op de CPU

Zelfs als je een model voor de Edge TPU hebt gemaakt dat intern gekwantiseerd is tot 8bit-getallen, zijn de invoertensors mogelijk nog 32bit-kommagetallen. De Edge TPU-compiler heeft dan een kwantisatiebewerking in het begin van je model toegevoegd. Ook aan het einde van je model komt dan een bewerking die de 8bit-uitvoer weer omzet naar 32 bit. Beide bewerkingen worden op de CPU uitgevoerd. Dat hoeft niet zo’n probleem te zijn en levert doorgaans maar een kleine vertraging op.

Als de Edge TPU Compiler een niet-ondersteunde bewerking tegenkomt, compileert hij de bewerkingen vóór die bewerking voor de Edge TPU. Alle bewerkingen daarna worden dan op de CPU uitgevoerd. De compiler vertelt je ook hoeveel bewerkingen hij op de Edge TPU kan uitvoeren en voor hoeveel hij de CPU nodig heeft. Zelfs als maar een kleine fractie van de bewerkingen op de CPU wordt uitgevoerd, kan dat een grote impact op de prestaties hebben. Je moet er altijd naar streven om 100% van het model op de Edge TPU te kunnen draaien.

Coprocessors

Het idee van een AI-versneller, al dan niet ingebouwd in een SoC, is niet zo nieuw. Al in de jaren 1980 werden processors uitgerust met zogenoemde coprocessors om specifieke taken sneller uit te voeren. Zo hadden Intels eerste x86-CPU’s bijbehorende x87-FPU’s (floating-point units): de 8086 kreeg hulp van de 8087 voor berekeningen met kommagetallen, de 80286 van de 80287 en de 80386 van de 80387. De 80486 was de eerste in de reeks met een ingebouwde FPU.

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