ID.nl logo
Zo kun je programmeren in Python - Deel 3
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 3

Nu je hebt gezien hoe je gegevens structureert in lijsten en dictionary’s, wordt het tijd om ook in je programma’s wat structuur te brengen. In deze les ga je van start met de Python-ontwikkelomgeving Thonny en schrijf je je eerste Python-programma’s.

Tot nu toe heb je al je Python-opdrachten in een interactieve sessie in de Python-interpreter uitgevoerd. Dat is handig voor wat kleine berekeningen, maar voor complexere zaken dien je een volwaardig programma te schrijven. En dat gaan we in deze les dan ook doen, waarbij we ook veel opdrachten zien die Python aanbiedt om een programma op te bouwen.

Thonny

Als je Python-programma’s begint te schrijven die voor meer dienen dan eenvoudige bewerkingen, volstaat de Python-interpreter niet: je hebt dan een ontwikkelomgeving nodig die je helpt bij het opbouwen van je programma. In deze les gebruiken we Thonny, dat standaard wordt geïnstalleerd met Python vanaf versie 3.7.

Als je Thonny opstart, krijg je twee tekstvelden te zien. In het tekstveld bovenaan typ je je Python-programma in. Het tekstveld onderaan is een ‘shell’: dit is hetzelfde als de Python-interpreter die we in de vorige lessen gebruikten. Om kort wat opdrachten uit te proberen terwijl je een programma aan het schrijven bent, kan dit tekstveld handig zijn.

©PXimport

Waar of niet waar

Maar voordat we een programma schrijven, dienen we eerst nog één datatype van Python uit te leggen, en wel een heel eenvoudig: bool. Dit stelt een booleaanse waarde voor: waar of niet waar, of in Python: True of False. Heel wat functies en operatoren in Python geven een van deze waardes terug. Voer de volgende opdrachten maar eens in het shell-tekstveld van Thonny in:

>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> 'kees' in namenTrue>>> 'aniek' in namenFalse>>> namen[0] == 'lies'True>>> namen[1] != 'kees'True>>> 2 < 5True>>> 2 > 5False>>> 3.1.is_integer()False>>> 3.0.is_integer()True

Zoals je ziet, kun je met in testen of een element zich in een lijst bevindt. Met == test je op de gelijkheid van twee objecten en met != op de ongelijkheid. Vergelijkingen zoals < (kleiner dan) en > (groter dan) geven ook een booleaanse waarde terug. Daarnaast heb je ook <= (kleiner dan of gelijk aan) en >= (groter dan of gelijk aan). En een functie zoals is_integer() is handig om van een float te bepalen of het een gehele waarde is.

Met booleaanse waarden zelf kun je ook ‘rekenen’, namelijk met de operatoren and, or en not. De uitdrukking xor y is True als x of y of beide objecten True zijn; x and y is True als beide objecten True zijn; en not x is True als x False is en andersom.

Waardes testen: if

Dan gaan we nu ons eerste Python-programma schrijven. Het programma vraagt de gebruiker om een geheel getal van 1 tot 10 in te vullen en toont het getal dan in een woord uitgeschreven. Maar als de gebruiker een getal kleiner dan 1 of groter dan 10 invult, krijgt hij een foutmelding. Het programma ziet er zo uit:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal < 1:

print("Het getal is kleiner dan 1.")

elif getal > 10:

print("Het getal is groter dan 10.")

else:

print(getallen[getal])

Op de eerste regel maken we een dictionary aan met de getallen van 1 tot 10 als sleutel, met telkens als bijbehorende waarde een string met het getal in een woord uitgedrukt. Daarna roepen we de functie input aan met als argument een string met de vraag om een getal in te voeren. De functie input geeft als waarde de string terug die de gebruiker heeft ingevoerd. Die string zetten we met int om naar een geheel getal, op voorwaarde natuurlijk dat de gebruiker daadwerkelijk een getal heeft ingevoerd.

Daarna testen we met if getal < 1 of het getal kleiner is dan 1. In dat geval wordt de regel erna uitgevoerd. Als aan die eerste voorwaarde niet voldaan is, controleert Python de voorwaarde in de regel elif getal > 10. Zo ja, dan wordt de regel erna uitgevoerd; zo nee, dan wordt de regel na else: uitgevoerd.

Zo’n blok als hierboven kan meerdere controles met elif bevatten: die worden dan één voor één getest tot er aan een voorwaarde is voldaan. Overigens zijn de controles met elif en else optioneel. Je kunt dus eenvoudig alleen met if een voorwaarde testen: in het geval niet aan die voorwaarde is voldaan, gebeurt er niets en gaat het programma gewoon verder.

Voer je programma uit

Voer de code in het programmatekstveld van Thonny in. Je merkt dat Thonny de regels automatisch met vier tekens inspringt nadat je op Enter drukt na een regel met if, elif of else. Let op: zonder deze inspringing is de Python-code niet geldig. Nadat je de volledige code ingetypt hebt, sla je het bestand in Thonny op. Druk daarna op het groene icoontje met het driehoekje om het programma uit te voeren.

Als je een tikfout hebt gemaakt, krijg je in het onderste tekstveld een foutmelding te zien. Dat is bijvoorbeeld het geval als je een : op het einde van een regel met if, elif of else vergeet of als je de code niet correct inspringt. Verbeter dan je code en voer het programma opnieuw uit.

Je programma vraagt nu in het tekstveld onderaan om een getal van 1 tot 10 in te voeren. Test de verschillende onderdelen van je programma eens uit door een getal in te voeren dat te klein, te groot of binnen het bereik ligt. Na elke invoer druk je op Enter en krijg je het resultaat te zien. Voer het programma daarna opnieuw uit voor een volgende poging.

Programma’s op de opdrachtregel uitvoeren

Je hoeft je programma’s niet in Thonny uit te voeren. Als je op de Opdrachtprompt (onder Windows) of de Terminal (onder Linux of macOS) naar de directory gaat waarin je je Python-programma hebt opgeslagen, kun je het programma uitvoeren met de opdracht python3 naamvanprogramma.py.

Een bereik van getallen

Ons programma is ingewikkelder dan nodig. We hoeven eigenlijk niet te weten of het ingevoerde getal kleiner dan 1 is of groter dan 10: we willen gewoon weten of het in het gevraagde bereik van 1 tot 10 ligt. Daarbij kunnen we gebruikmaken van de functie range, die een bereik van getallen voorstelt. Zo kunnen we ons voorgaande programma vereenvoudigen tot:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

if getal - 1 in range(len(getallen)):

print(getallen[getal])

else:

print("Het getal ligt niet binnen het bereik van 1 tot 10.")

We hebben nu nog maar één test met if nodig, zonder elif. In die controle testen we immers of het ingevoerde getal in het bereik ligt. Dat bereik berekenen we door de lengte van de dictionary met getallen door te geven aan de functie range. Omdat Python altijd vanaf 0 begint te tellen, is het bereik voor die dictionary met lengte 10 gelijk aan de getallen van 0 tot 9. Maar omdat wij mensen vanaf 1 beginnen te tellen, trekken we 1 van het ingevoerde getal af voordat we testen of het getal zich in het bereik bevindt. En zo komen we aan deze regel:

if getal - 1 in range(len(getallen)):

Voorwaardelijke lussen

Ons programma heeft nog één groot minpunt: als de gebruiker een waarde buiten het bereik invoert, stopt het programma gewoon en moet de gebruiker het programma opnieuw uitvoeren. Waarom kan het programma in dat geval niet uit zichzelf opnieuw naar een getal vragen? Dat kan, namelijk met while:

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'}

getal = 0

while getal - 1 not in range(len(getallen)):

getal = int(input("Voer een geheel getal van 1 tot 10 in: "))

print(getallen[getal])

In de regel met while testen we met not in of het ingevoerde getal zich niet binnen het bereik bevindt. In dat geval wordt de ingesprongen opdracht eronder uitgevoerd. En daarna gebeurt de test in de regel met while opnieuw, zolang het getal zich niet binnen het bereik bevindt. Pas wanneer het getal zich wel binnen het bereik bevindt, stopt het while-blok en gaat het programma verder met de laatste regel. Zo’n while-blok noemen we een lus, omdat het programma als het ware in rondjes draait zolang aan de voorwaarde op de while-regel is voldaan.

Let op: we kennen in het begin van het programma 0 toe aan de variabele getal zodat de while-lus de eerste keer sowieso wordt uitgevoerd.

Samenvatting

In deze les hebben we de stap gezet van afzonderlijke Python-opdrachten naar Python-programma’s. Dat deden we in de ontwikkelomgeving Thonny. We bekeken het datatype bool en werkten met voorwaarden in if-blokken en while-lussen. Daarbij maakten we ook gebruik van de functie range voor een bereik van getallen. We gebruikten input en print voor invoer en uitvoer. De volgende les besteden we volledig aan invoer en uitvoer, en bespreken we ook hoe je door elementen in een lijst of dictionary loopt.

Opdracht

Ons laatste programma heeft nog één nadeel: het vraagt bij de invoer van een getal buiten het bereik van 1 tot 10 gewoon opnieuw een getal zonder extra melding dat je iets verkeerds hebt ingetypt. Voeg die extra melding toe, zoals we wel in het programma met if hadden.

Uitwerking

getallen = {1: 'één', 2: 'twee', 3: 'drie', 4: 'vier', 5: 'vijf', 6: 'zes', 7: 'zeven', 8: 'acht', 9: 'negen', 10: 'tien'} getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) while getal - 1 not in range(len(getallen)): print("Het getal ligt niet binnen het bereik van 1 tot 10.") getal = int(input("Voer een geheel getal van 1 tot 10 in: ")) print(getallen[getal]) Dit programma combineert de ideeën achter onze twee vorige programma’s. We initialiseren getal nu niet met 0, maar met de invoer van de gebruiker. Als deze eerste keer het getal onmiddellijk in het bereik van 1 tot 10 ligt, is aan de voorwaarde van de while-lus niet voldaan en wordt het getal getoond. In het andere geval wordt de lus gestart, waarbij zolang het getal niet in het bereik ligt de gebruiker een melding daarvan krijgt en de vraag om een getal in te voeren.

Cheatsheet

argument: een waarde die je aan een functie doorgeeft. bool (‘booleaanse waarde’): waar (True) of niet waar (False). if: een test of er aan een voorwaarde is voldaan. ontwikkelomgeving (development environment): software die je ondersteunt bij het schrijven van programma’s. while: een lus die uitgevoerd wordt zolang er aan een voorwaarde is voldaan.

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