ID.nl logo
Zo hack je de software in je hardware
© Reshift Digital
Huis

Zo hack je de software in je hardware

Bij hacken denken we vaak aan software die op een computer draait, maar er draait ook heel wat software in allerlei andere elektronische apparaten, zoals ESP8266- of ESP32-microcontrollerbordjes, een bluetooth-beacon of een Apple AirTag. Hoe haal je daar gevoelige informatie uit of pas je de werking van het apparaat aan?

Hardware-hacken is een heel breed domein en in deze ene masterclass kunnen we daar helemaal geen recht aan doen. Maar we tonen je enkele voorbeelden van wat er zoal mogelijk is. We hopen dat je daardoor geïnspireerd raakt om zelf op onderzoek uit te gaan.

Laten we beginnen met iets eenvoudigs. In PCM hebben we al vaak gewerkt met ESP8266- en ESP32-microcontrollerbordjes. Je schreef je code daarvoor, compileerde die en schreef die dan naar het ontwikkelbordje. Dat deed je bijvoorbeeld met:

- Arduino IDE;

- Arduino IoT Cloud;

- PlatformIO;

- ESPHome;

- esptool.

Wifi-wachtwoorden ontfutselen

Met een ESP8266 of ESP32 wil je bijna altijd met een wifi-netwerk verbinden. In je code geef je dus de SSID en het bijbehorende wachtwoord op van het gewenste wifi-netwerk. Dat wordt door esptool naar het flashgeheugen van je microcontroller geschreven. Vaak is dit gewoon onversleuteld, zodat iedereen met toegang tot de microcontroller je wifi-wachtwoord kan uitlezen. De ESP32 ondersteunt wel flash-encryptie met een sleutel die zich in de registers van de microcontroller bevindt. Maar dit wordt nog niet al te vaak gebruikt.

Je mag er dus van uitgaan dat heel wat ESP8266- en ESP32-bordjes, ook degene die jij in je huis hebt ingezet, je wifi-wachtwoord onversleuteld hebben opgeslagen. Iemand die een van je ontwikkelbordjes steelt, kan hier dus je wifi-wachtwoord uit ontfutselen en zo in je netwerk inbreken. Dit is ook iets om mee rekening te houden als je een defect ontwikkelbordje weggooit: hier kunnen nog allerlei gevoelige gegevens uitgehaald worden. Als je het flashgeheugen niet kunt overschrijven of vernietigen, dan zit er niet anders op dan het bordje bij je te houden tot je je wifi-wachtwoord hebt veranderd.

Flashgeheugen uitlezen

Het flashgeheugen van een ESP8266 of ESP32 uitlezen is even eenvoudig als er firmware naar schrijven. Dat doe je met het programma esptool. Als je de programmeertaal Python hebt geïnstalleerd en de bijbehorende pakketbeheerder pip, dan installeer je esptool eenvoudig met de opdracht:

pip3 install esptool

Sluit nu je ESP8266- of ESP32-ontwikkelbordje via een usb-kabel op je computer aan en identificeer de chip met:

esptool.py flash_id

Je krijgt dan iets te zien als:

esptool.py v3.1

Found 1 serial ports

Serial port /dev/ttyUSB0

Connecting....

Detecting chip type... ESP8266

Chip is ESP8266EX

Features: WiFi

Crystal is 26MHz

MAC: 2c:3a:e8:10:db:a3

Uploading stub...

Running stub...

Stub running...

Manufacturer: ef

Device: 4016

Detected flash size: 4MB

Hard resetting via RTS pin...

Je ziet dat het hier om een ESP8266EX gaat en dat die 4 MB flashgeheugen heeft. Dat laatste is belangrijk als je het hele flashgeheugen wilt uitlezen. Dat doe je nu met de volgende opdracht:

esptool.py read_flash 0x0 0x400000 esp8266.bin

Deze opdracht leest het flashgeheugen van adres 0 tot 0x400000 (hexadecimaal voor 4 MB) uit en slaat dit op in het bestand esp8266.bin.

©PXimport

Firmware analyseren

Je hebt nu een kopie van de firmware die op je ESP8266 draait en deze kun je verder op je computer analyseren. Als je op een Linux-computer werkt, is de tool strings meestal standaard geïnstalleerd (onderdeel van het pakket binutils): die toont je alle leesbare tekenreeksen in een binair bestand. In Windows maakt een gelijknamig en bijna identiek programmaonderdeel uit van Windows Sysinternals.

Je past het als volgt toe in een opdrachtvenster:

strings esp8266.bin

Toen we dit toepasten op ESPHome-firmware in onze ESP8266, vonden we onmiddellijk de SSID en wachtwoord van ons wifi-netwerk. Die kwamen zelfs bij herhaling voor in het bestand.

De opdracht strings is ook handig om te weten te komen met wat voor soort firmware je te maken hebt. Je ziet er snel functieaanroepen, versienummers en zelfs volledige html-code van een ingebouwde webinterface.

Via een entropiegrafiek krijg je een idee in welk deel van de firmware iets versleuteld is

-

Binwalk

Als je wat meer informatie te weten wilt komen over de structuur van het firmwarebestand, is het programma binwalk handig. Dit scant de inhoud van een firmwarebestand op bepaalde signatures, en zo kan het bestandssystemen of bestanden in de firmware detecteren en zelfs uitpakken.

Stel dat je binwalk uitvoert op een firmwarebestand en je krijgt het volgende te zien:

2837765 0x2B4D05 JPEG image data, EXIF standard

Dan weet je dat op adres 0x2B4D05 een jpeg-bestand start. Hoe haal je dit nu uit de firmware? Je kunt eenvoudig alle herkende bestandstypes extraheren met de opdracht:

binwalk -e firmware.bin

Je kunt het extraheren ook beperken tot een specifiek type data waarin je geïnteresseerd bent:

binwalk -D jpeg firmware.bin

Een andere nuttige functie van binwalk is de berekening van entropie (wanorde):

binwalk -E firmware.bin

Dit toont een grafiek met op de horizontale as de geheugenadressen en op de verticale as de entropie van 0 tot 1.

Entropie is een maat voor wanorde of willekeur. De geheugengebieden waar de entropie 0 is, zijn gebieden waar dezelfde byte (bijvoorbeeld 0x00 of 0xFF) herhaald wordt. Gebieden waar de entropie 1 is, bevatten volledig willekeurige bytes. Meestal is dat een teken dat deze gebieden versleuteld zijn. Licht de entropie dicht tegen 1 en schommelt die wat, dan is het gebied waarschijnlijk gecomprimeerd. En zie je dat een specifiek gebied een merkelijk lagere entropie heeft dan andere gebieden, dan weet je dat hierin veel herhaling voorkomt. De entropiegrafiek is dus een handige manier om te onderzoeken welke geheugengebieden in de firmware extra aandacht verdienen.

©PXimport

ImHex

Een grafisch programma om firmware te analyseren is ImHex, het is een hexeditor voor reverse-engineering. Het programma is te downloaden voor Windows, Linux en macOS. Open je firmwarebestand in ImHex en vink in het menu View de weergaven aan die je wilt zien.

Met Hex editor krijg je de data in het bestand te zien, met links de hexadecimale waardes van de bytes en rechts de overeenkomstige leesbare tekens die deze bytes als hun ASCII-code hebben. Met Strings kun je ImHex laten zoeken naar leesbare tekenreeksen van een opgegeven minimumlengte.

©PXimport

Chips identificeren

Niet alle elektronica heeft een eenvoudige seriële aansluiting via usb. Vaak moet je specifieke pinnen of testpunten op een printplaatje verbinden om het geheugen van de microcontroller uit te lezen. Als je geen technische documentatie over het product vindt, dien je eerst de chip te identificeren. Een vergrootglas of een digitale microscoop kan hierbij helpen. Zelf proberen we dit uit met een bluetooth-beacon dat we op AliExpress hadden gekocht.

Wanneer we de chip onder de microscoop leggen, zien we duidelijk dat het om een nRF51822 van Nordic Semiconductor gaat, een populaire ARM-chip met bluetooth-ondersteuning. Er lopen ook duidelijke sporen van de pinnetjes aan de zijkant van de chip naar een rij met testpunten. We willen vervolgens te weten komen waarvoor die testpunten dienen, en of ze ons kunnen helpen om het geheugen van de processor uit te lezen.

©PXimport

Testpunten identificeren

Om de pinnetjes van een microprocessor te identificeren, moeten we in de datasheet van de processor duiken. We zoeken in het InfoCenter van Nordic Semiconductor naar de product specification van de nRF51822. Op pagina 11 vinden we de pinnen van de QFN48-uitvoering van de nRF51822. De labels op de chip begint met QF, net zoals bij ons exemplaar.

Let op het zwarte bolletje in de linkerbovenhoek op de afbeelding met de pintoewijzing (zie boven/onder/plaatsaanduiding). Dit komt overeen met het bolletje op de chipbehuizing op je printplaatje. Oriënteer de chip hetzelfde. Je ziet dan in de afbeelding dat de pin rechtsonder in de onderste rij SWDCLK is en links ernaast SWDIO. Helemaal links zie je VSS, wat de negatieve spanning is (GND). In het rijtje pinnen links zie je twee keer VDD, de positieve spanning. Met deze vier pinnen weten we genoeg om verder te gaan. We hoeven alleen de sporen van die pinnen naar de overeenkomende testpunten te volgen. Voor SWDCLK en SWDIO is dat eenvoudig te zien: dat zijn de twee testpunten aan de rechterkant van de rij.

©PXimport

Serial Wire Debug (SWD)

De nRF51822 is een ARM Cortex-M0 32bit-processor, uitgerust met Serial Wire Debug (SWD). Dit is een debugpoort waarover kleinere ARM-processoren wel vaker beschikken. Ze bestaat uit twee pinnen (SWDIO en SWDCLK of ook wel SWCLK), en dan uiteraard nog een voedingspin en GND. Via SWDIO worden de data uitgewisseld, terwijl SWDCLK het kloksignaal vervoert.

Er is geen algemeen geldende standaardlay-out voor de SWD-pinnen, dus die zul je moeten uitzoeken. Op de meeste printplaatjes in commerciële producten zullen er geen labels bij de pinnen afgedrukt zijn. Zo ook bij het bluetooth-beacon dat we onderzochten. Maar als je de testpunten eenmaal geïdentificeerd hebt, is het een kwestie van een SWD-debugger op de correcte testpunten aan te sluiten.

Positieve en negatieve spanning identificeren

De SWDIO- en SWDCLK-testpunten hebben we al geïdentificeerd, terwijl VDD en GND moeilijker te identificeren zijn. Daarvoor heb je een multimeter nodig. Maar eerst moet je het printplaatje goed fixeren, zodat je er eenvoudig met meetpennen spanningen op kunt meten. Wij zijn zelf fan van de PCBite Kit van Sensepeek. Je plaatst twee of meer standaarden magnetisch op een metalen onderplaat, en bovenaan de standaarden klem je het printplaatje vast.

Plaats de batterij nu in het bluetooth-beacon. Het apparaatje start op en begint bluetooth-signalen uit te zenden. De SWD-testpunten hebben we al geïdentificeerd, dus nu is het enkel belangrijk om VDD en GND te vinden. Stel je multimeter in op een gelijkspanningsbereik rond 3 V, leg de zwarte meetpen van de multimeter op één testpunt en de rode op een ander testpunt. Zodra je een continue spanning van 3,3 V tussen beide punten meet, weet je dat het testpunt met de zwarte meetpen GND is en het testpunt met de rode meetpen VDD. Je hebt nu alle vier de benodigde testpunten geïdentificeerd.

©PXimport

SWD-debugger aansluiten

Om met deze testpunten te verbinden, heb je een SWD-debugger nodig. Wij gebruiken de Black Magic Probe, een JTAG- en SWD-debugger voor ARM Cortex-microcontrollers (Cortex-M en Cortex-A). In tegenstelling tot vele andere SWD-debuggers heb je hiervoor geen speciale software nodig, alleen gdb uit de GNU Arm Embedded Toolchain. Deze kun je op de website van ARM downloaden voor Windows, Linux en macOS.

Voor dit soort bewerkingen op printplaatjes met testpunten is de combinatie van de Black Magic Probe met de testnaalden van de PCBite Kit ideaal. Deze testprobes hebben een heel dunne naald die je op het kleinste testpunt laat rusten en die dan door het gewicht op de juiste plaats blijft liggen. De arm blijft magnetisch op de metalen onderplaat bevestigd. Aan de kop met de testnaald zijn twee pinnen te vinden waarop je jumperwires kunt aansluiten. De andere kant van de jumperwires sluit je aan op de overeenkomstige pinnen van het 7-pins JTAG-adapterbordje waarmee de Black Magic Probe wordt geleverd. Sluit SWDIO aan op TMS/SWDIO, SWDCLK op TCK/SWCLK, VSS op GND en VDD op VCC/tVref.

©PXimport

Continuïteit testen

Soms zijn er meerdere testpunten voor VDD of GND. Je kunt die eventueel nog identificeren door je multimeter in de continuïteitsstand te zetten en één meetpen op een bekend testpunt te zetten en met de andere meetpen onbekende testpunten aan te raken. Laat de multimeter een bliepje horen, dan weet je dat beide testpunten op dezelfde spanning staan omdat ze intern verbonden zijn. Wie weet vind je zo nog een handiger testpunt voor VDD of GND.

De Black Magic Probe en de PCBite Kit vormen de ideale combinatie

-

SWD in GDB

Sluit nu de usb-poort van de Black Magic Probe aan op je computer en kijk welke COM-poort (in Windows) of welk TTY-apparaat (in Linux of macOS) eraan wordt toegekend. De Black Magic Probe geeft zich uit voor twee seriële apparaten: een voor SWD en een voor UART. Start nu de ARM-versie van gdb en verbind met de gdb-server op de Black Magic Probe met de opdracht:

arm-none-eabi-gdb -ex "target extended-remote /dev/ttyACM0"

Gebruik het juiste apparaatbestand voor jouw situatie. Scan daarna in de debugger naar een SWD-apparaat:

monitor swdp_scan

Als je het volgende ziet in het opdrachtvenster, dan heb je geen correcte verbinding met een of meer van de testpunten:

Target voltage: 0.0V

SW-DP scan failed!

Kijk alles dan nog eens na. Mogelijk ligt een van de testnaalden net naast een testpunt.

Je zou iets moeten zien als:

Target voltage: 3.1V

Available Targets:

No. Att Driver

1 Nordic nRF51 M0

Verbind dan met doel 1:

attach 1

De waarschuwing die je dan krijgt, mag je negeren.

Firmware uitlezen via SWD

Je wilt nu de firmware uit het geheugen uitlezen en naar een bestand schrijven. In de productspecificatie van de nRF51822 vinden we dat het flashgeheugen van de microcontroller 256 of 128 KB groot is. Voor de nRF51822-QFAA is dat 256 KB. Dan lezen we de eerste 256 KB van het geheugen uit, omdat de code zich volgens de memory-map in de productspecificatie aan het begin bevindt:

dump binary memory nrf51822-beacon.bin 0x000000 0x040000

Als je een foutmelding krijgt dat je het geheugen niet kunt uitlezen, dan heeft de fabrikant de leesbeveiliging van de nRF51822 ingeschakeld. Er zijn manieren om dit te omzeilen en er bestaan tools die je daarmee helpen, maar dat zou te ver gaan in dit artikel. Zoek maar eens op nRF51822 Read Back Protection Configuration of RBPCONF.

Verlaat nu gdb met quit en bevestig dat je het doel wilt afkoppelen.

Firmware disassembleren met ImHex

Nu kun je het opgeslagen firmwarebestand weer openen met ImHex. In plaats van tekenreeksen te zoeken, gaan we nu de machinecode disassembleren. Kies daarvoor in het menu View de Disassembler View. Vul bij Code region het adresbereik in van 0 tot 3FFFF. Kies bij Settings als architectuur ARM32, Little Endian, Thumb mode en Cortex-M mode.

Klik op Disassemble, waarna je de firmware te zien krijgt als assembler, een min of meer leesbare vorm van machinecode. Je kunt hetzelfde overigens ook op de opdrachtregel doen met de opdracht arm-none-eabi-objdump uit de GNU Arm Embedded Toolchain:

arm-none-eabi-objdump -D -bbinary -marm nrf51822-beacon.bin -Mforce-thumb > nrf51822-beacon.s

Het resultaat vind je in het bestand nrf51822-beacon.s.

Een complete analyse van de code gaat te ver in dit artikel, maar in principe kun je hier nu ook code gaan aanpassen, het firmwarebestand opslaan en daarna de aangepaste firmware met de Black Magic Probe via SWD weer naar het flashgeheugen van de chip schrijven.

©PXimport

Een kleine puls schakelt de leesbeveiliging van de nRF52832 uit

-

Apple AirTags reverse-engineeren

Een groot deel van hardware-hacken bestaat uit het reverse-engineeren van de hardware en de firmware/software die erop draait. Een goed voorbeeld hiervan vind je op de webpagina Apple AirTag Reverse Engineering van Adam Catley. Hierop heeft de beveiligingsonderzoeker alle informatie verzameld die hij over de AirTag heeft gevonden, ook van andere onderzoekers.

Interessant aan de AirTag is dat Apple gebruikmaakt van de functie Access Port Protection (APPROTECT) van de nRF52832-chip, een geavanceerdere bescherming tegen het uitlezen van het interne flashgeheugen via de SWD-poort dan RBPCONF bij de nRF51822. Maar net zoals RBPCONF is ook APPROTECT niet onfeilbaar. Hacker LimitedResults vond in 2020 een manier om APPROTECT te omzeilen.

De truc zit erin om het hardware-initialisatieproces dat de bescherming van het flashgeheugen instelt, tijdens het opstarten uit te schakelen. Dat gebeurt door enkele condensatoren van het printplaatje te verwijderen en op het juiste moment een kleine puls aan te brengen op de juiste pin. Op die manier slaagde hacker Ghidra Ninja erin om het flashgeheugen van de AirTag volledig uit te lezen.

AirTag inbouwen

Adam Catley is nog verder gegaan en hij heeft een AirTag volledig gedemonteerd en in een afstandsbediening ingebouwd. Door de demontage van de behuizing krimpt de diameter van 32 mm tot 26 mm en de hoogte van 8 mm tot 3,3 mm, waardoor het in heel wat apparaten in te bouwen is.

In zijn afstandsbediening krijgt de AirTag stroom via de batterij van de afstandsbediening. De volledige functionaliteit van de AirTag blijft behouden en de ingebouwde microfoon werkt zelfs nog beter omdat de behuizing van de afstandsbediening als diafragma werkt.

©PXimport

BitLocker-decryptiesleutel uit TPM-chip halen

Onderzoekers van de Dolos Group slaagden er onlangs in om de BitLocker-decryptiesleutel uit een TPM-chip te halen van een versleutelde laptop. De onderzoekers merkten dat er geen pincode werd gevraagd, dus de communicatie met de TPM-chip afluisteren zou voldoende moeten zijn om de decryptiesleutel te onderscheppen. In de datasheet zagen de onderzoekers dat de TPM-chip via Serial Peripheral Interface (SPI) communiceerde.  Omdat de pinnetjes van de TPM-chip zelf te klein waren voor een stabiele verbinding, gingen ze op zoek naar andere SPI-chips in de buurt, omdat er vaak meerdere chips op dezelfde SPI-bus aangesloten zijn. Zo vonden ze een CMOS-chip in SOIC-8-formaat en op die grote pinnen konden ze eenvoudig hun logic analyzer aansluiten. Ze registreerden nu alle data die over de SPI-bus gingen tijdens het opstarten van de laptop en haalden de sleutel eruit met het script bitlocker-spi-toolkit.

©PXimport

▼ Volgende artikel
Chaos in Chrome? Met tabgroepen krijg je weer overzicht (en zo werkt het)
© Copyright © 2017 Michael Burrell
Huis

Chaos in Chrome? Met tabgroepen krijg je weer overzicht (en zo werkt het)

Tabbladen zijn handig, maar kunnen al snel uitmonden in een onoverzichtelijke wirwar. Om dat probleem aan te pakken, introduceerde Google Chrome tabgroepen: een slimme manier om je openstaande tabs te ordenen en labelen.

Wat gaan we doen

In dit artikel zie je hoe je tabgroepen aanmaakt, benoemt en indeelt, zodat je browser niet langer uitpuilt. Je leert hoe je snel een nieuwe groep maakt, kleuren gebruikt om orde te scheppen en hoe je groepen verplaatst, sluit of opheft. Zo blijft je werkruimte overzichtelijk, zelfs als je tientallen tabbladen open hebt staan.

Lees ook: Trage Chrome? Zet de efficiëntiemodus uit!

Stap 1: Nieuwe groepen

Zorg eerst dat je de nieuwste versie van Chrome op je laptop hebt staan. Klik op de drie puntjes rechtsboven, kies Help / Over Google Chrome en installeer eventueel de update. Om tabbladgroepen in de vingers te krijgen, open je snel een paar tabbladen. Denk aan pagina's over hetzelfde onderwerp of project. Klik met de rechtermuisknop op een tabblad en kies Toevoegen aan een nieuwe groep.

Met de rechtermuisknop maak je een nieuwe tabbladgroep.

Stap 2: Naam en kleur

Er verschijnt een venstertje waarin je de groep een naam en kleur kunt geven. Kies een korte, herkenbare naam die het onderwerp van de groep weergeeft, zoals 'Werk', 'Recepten' of 'Vakantieplanning'. Een kleur toewijzen helpt je om snel onderscheid te maken tussen verschillende groepen. De groep verschijnt vervolgens als een gekleurde knop tussen je tabbladen. Een groot voordeel: als je op de groepsnaam klikt, worden de bijbehorende tabbladen ingeklapt, dat bespaart ruimte.

Tabbladen kun je later eenvoudig toevoegen: klik met de rechtermuisknop op het gewenste tabblad en kies de gewenste groep.

Ieder tabblad kun je snel aan een bestaande of nieuwe groep toevoegen.

Stap 3: Groep sluiten

Klik je met de rechtermuisknop op de naam van de tabbladgroep, dan krijg je andere mogelijkheden. Met de optie Nieuw tabblad in groep open je een leeg tabblad in de bestaande groep. Het is ook mogelijk om een bestaand tabblad gewoon in de groep te slepen. Kies je Groep verplaatsen naar een nieuw venster, dan opent Chrome een nieuw browservenster met daarin alle opgenomen tabbladen. Met de opdracht Groep sluiten verdwijnt de groep van je scherm. Dit doe je als je de hele groep niet meer nodig hebt en je de tabbladen niet langer wilt openhouden. Met Groep verwijderen (in sommige versies: Groep opheffen) blijven de tabbladen open, maar worden ze losgekoppeld van de groep. De kleur en de groepsnaam verdwijnen. Dit doe je als je de inhoud nog nodig hebt, maar je geen groepsindeling meer wilt.

Je kunt de groep verwijderen dan blijven de ingesloten tabbladen wel bestaan.


5x Chromebooks

Zeg je Chrome, dan denk je ook al snel aan Chromebooks. Hieronder een selectie 5 fijne modellen.

Acer Chromebook Plus 514

Compacte 14-inch Chromebook met vlotte prestaties, lichte aluminium behuizing en degelijke accuduur.

HP Chromebook x360 14b‑cd0625nd

14″ touchscreen Chromebook met 8 GB RAM en 128 GB opslag; geschikt voor alle dagelijkse taken.

Acer Chromebook Plus 515 CB515-2H-32UH

Stevige 15,6″ Chromebook met Full HD-scherm, Intel Core-i3, 8 GB RAM en 128 GB SSD, geschikt voor werk, school, surfen en media.

Lenovo IdeaPad / Slim 3 Chrome / 83BN0038MH

Compacte 14″ Chromebook met Full HD-scherm en Intel Core i3, prima voor school, mail, web en licht werk.

HP Chromebook 14a-nf0050nd

Lichte 14″ Chromebook met Full HD-scherm, Intel N-processor, 4 GB RAM en 128 GB opslag; geschikt voor internet, mail, documenten en basisgebruik op school of werk.

Ook je papieren overzichtelijk?

Berg ze op in sorteermappen
▼ Volgende artikel
Parfum, eau de parfum of eau de toilette: wat is het verschil en wat moet je kiezen?
© Leonid Iastremskyi
Gezond leven

Parfum, eau de parfum of eau de toilette: wat is het verschil en wat moet je kiezen?

Je staat in de parfumerie en ziet drie flacons die er bijna identiek uitzien. De naam is hetzelfde en het merk is hetzelfde, maar het prijsverschil tussen die drie is groot. Dat komt doordat er eigenlijk drie verschillende varianten zijn: parfum, eau de parfum en eau de toilette. Hoewel het verleidelijk is om simpelweg op het prijskaartje af te gaan, is het slim om te weten wat je precies koopt. De verschillen tussen die drie zijn namelijk groter dan je denkt. Hoe dat precies zit, lees je hier.

Dit artikel in het kort

Twijfel je in de winkel vaak tussen parfum, eau de parfum of eau de toilette? In dit artikel leggen we precies uit wat de verschillen zijn in prijs, geursterkte en houdbaarheid. Je ontdekt welke variant het beste past bij jou en we geven praktische tips om te voorkomen dat je dure luchtje te snel vervliegt.

Lees ook: Zo kies je een parfum dat écht bij je past

Om de juiste keuze te maken, moet je eerst begrijpen hoe een geur eigenlijk in elkaar zit. In de basis bestaat elk luchtje uit een mengsel van alcohol, water en geurstoffen (ook wel parfumolie genoemd). De alcohol fungeert als de drager: zodra je sprayt, verdampt de alcohol en blijven de geurstoffen achter op je huid. Het grote onderscheid tussen de verschillende varianten zit hem puur in de concentratie van die parfumolie. De vuistregel is simpel: hoe hoger het percentage geurstoffen, hoe intenser de geur is en hoe langer je er plezier van hebt.

Parfum (extrait de parfum)

Als we het in de volksmond hebben over 'parfum', bedoelen we vaak gewoon een lekker luchtje. Maar in de officiële termen is parfum (of extrait de parfum) de meest pure en kostbare variant die je kunt kopen. Met een concentratie aan geurstoffen die meestal tussen de 20 en 40 procent ligt, is dit de absolute topklasse.

Omdat de concentratie zo hoog is, bevat deze variant relatief weinig alcohol. Dit maakt puur parfum vaak een uitstekende keuze voor mensen met een gevoelige huid, omdat alcohol de huid kan uitdrogen. De geur is vol, diep en blijft met gemak de hele dag - en vaak zelfs de volgende ochtend nog - hangen. Je hebt er extreem weinig van nodig; vaak wordt parfum daarom niet in een sprayfles verkocht, maar in een klein flesje waarmee je een paar druppels op de huid dept.

Eau de parfum (EDP)

Kijk je in het badkamerkastje van de gemiddelde Nederlander, dan is de kans groot dat je daar een eau de parfum aantreft. Met een geurconcentratie van 15 tot 20 procent biedt deze variant de gulden middenweg. Het is minder zwaar en olieachtig dan puur parfum, maar krachtig genoeg om een hele werkdag of een avond uit mee te gaan. Meestal blijft een eau de parfum zo'n zes tot acht uur goed waarneembaar.

Eau de parfum richt zich vaak op de zogenoemde 'hartnoten' van een geur. Dit zijn de geuren die tevoorschijn komen nadat de eerste alcohol is verdampt. Hierdoor is de geur vaak wat dieper en warmer, wat hem geschikt maakt voor zowel dagelijks gebruik als speciale gelegenheden.

Eau de toilette (EDT)

De term 'eau de toilette' klinkt chique, maar betekent letterlijk 'toiletwater'. Dit stamt uit de tijd dat men deze geur gebruikte om zich in de ochtend mee op te frissen ('toilet maken'). Deze variant is met een percentage van 5 tot 15 procent geurstoffen een stuk lichter en vluchtiger dan (eau de) parfum.

Waar een eau de parfum de diepte in gaat, focust een eau de toilette zich meestal op de toptonen. Dit zijn vaak frisse citrus- of fruitgeuren die je direct ruikt bij het sprayen, maar die ook sneller vervliegen. Een eau de toilette blijft gemiddeld drie tot vijf uur hangen. Het is dan ook een goede keuze voor mensen die niet van zware, bedwelmende geuren houden, of voor gebruik op kantoor waar je je collega's niet wilt overweldigen. Houd er wel rekening mee dat je deze geur halverwege de dag waarschijnlijk even opnieuw moet aanbrengen.

Prijs versus kwaliteit: wat is nu echt goedkoper?

Het lijkt een simpele rekensom: een grote fles eau de toilette is aan de kassa vaak goedkoper dan een klein flesje eau de parfum. Toch kan die goedkopere fles op de lange termijn duurkoop zijn. Omdat eau de toilette sneller vervliegt, heb je de neiging om royaal te sprayen en dit gedurende de dag te herhalen. Hierdoor gaat de fles veel sneller leeg.

Bij een eau de parfum of puur parfum is de aanschafprijs hoger, maar heb je aan één keer een beetje aanbrengen in de ochtend vaak genoeg voor de hele dag. Je doet dus aanzienlijk langer met de flacon.

Wanneer draag je wat?

Als je twijfelt over welke variant je moet kopen, laat dit dan afhangen van het seizoen en de gelegenheid. Warmte versterkt namelijk geur. In de zomer, wanneer je huid warm is, kan een zwaar parfum al snel te overheersend en plakkerig aanvoelen. Een lichte, frisse eau de toilette is dan perfect. In de winter is het juist andersom: kou zorgt ervoor dat geuren minder goed vrijkomen en snel wegvallen. In die maanden, en zeker 's avonds tijdens een diner of feestje, komt een rijkere eau de parfum of parfum veel beter tot zijn recht.

Haal alles uit je geur

Heb je eenmaal je keuze gemaakt, dan wil je natuurlijk dat je zo lang mogelijk lekker ruikt. Een veelgemaakte fout is het wrijven van de polsen na het sprayen. Doe dit niet; door de wrijving creëer je warmte die de geurmoleculen kapotmaakt, waardoor vooral de frisse toptonen direct verdwijnen en de geur vlakker wordt.

Daarnaast hecht parfum slecht op een droge huid. Wil je dat je geur echt lang blijft hangen? Smeer je huid dan eerst in met een geurloze bodylotion of een crème uit dezelfde geurlijn voordat je gaat sprayen. De vetten in de crème houden de geurstoffen vast, zodat jij - of je nu kiest voor eau de toilette of parfum - de hele dag heerlijk ruikt.

Geur testen? Begin met een eau de toilette

(want die is het voordeligst)
TypeGeurconcentratieHoudbaarheidGeschikt voor
Parfum20% - 40%8 - 24 uurAvond, speciale gelegenheden
Eau de parfum15% - 20%6 - 8 uurDag en avond
Eau de toilette5% - 15%3 - 5 uurOverdag, warmer weer