Banknummer van Campina in een plaatje
Herbert Blankesteijn
De afperser van Campina is gesnapt doordat hij een cruciaal plaatje van internet ophaalde via een anonieme webdienst, Surfola. In strijd met de eigen voorwaarden heeft Surfola informatie aan de FBI gegeven waarmee de identiteit van de afperser kon worden gevonden. Maar hoe zat het met dat plaatje? Conform de eisen was daarin het rekeningnummer en de pincode verborgen van de bankrekening waar Campina het losgeld op had gestort. Daarmee kon de afperser een pinpasje maken en zijn geld ophalen. Steganografie heet de techniek om de ene informatie te verstoppen in de andere. Na 11 september 2001 is het vermoeden geuit dat Al Quaeda deze techniek gebruikte voor communicatie tussen zijn leden, maar dit is nooit bevestigd. Hoe werkt steganografie?
Steganografie bestond al voor er computers waren. Een voorbeeld is dit bericht, tijdens de Tweede Wereldoorlog verstuurd door een Duitse spion:
Apparently neutral's protest is thoroughly discounted and ignored. Isman hard hit. Blockade issue affects pretext for embargo on byproducts, ejecting suets and vegetable oils. Neem je de tweede letter van elk woord, dan staat er: Pershing sails from NY June 1.
Bij computersteganografie wordt informatie vaak verstopt in de least significant bits. Een plaatje bestaat uit beeldpuntjes, en laten we ervan uitgaan dat van elk beeldpuntje elke primaire kleur wordt weergegeven door één byte, ofwel acht bits. Iedere kleur - rood, blauw en groen - kan dan in 256 (2 tot de achtste macht) gradaties voorkomen. Een steganografieprogramma kan de laatste van deze acht bits wijden aan de te verstoppen informatie. Zo kun je per beeldpuntje drie bits kwijt - voor elke kleur één - en de grootst mogelijke aantasting van de oorspronkelijke beeldinformatie is, dat de kleur van het betreffende beeldpuntje verandert in de naastliggende gradatie. Dat is met het blote oog niet te zien. Wat voor bestand je in een afbeelding verbergt, maakt niet uit. Het kan zelfs een andere afbeelding zijn. Sommige steganografieprogramma's coderen een bericht eerst, kiezen beeldpuntjes op willekeurige plaatsen, of beveiligen het resultaat met een wachtwoord. Op die manier kunnen onbevoegden zelfs niet bij de verstopte informatie als ze weten dat die aanwezig is. Aan een gesteganografeerd bestand kun je op geen enkele manier zien dat er informatie in verstopt is. Bij een gecodeerd bericht als hierboven rijst dat vermoeden al snel.
Een van de beste steganografieprogramma's is S-Tools. Het is gratis te downloaden op veel sites, die je makkelijk vindt wanneer je in Google 'download S-Tools' intikt. Beet heeft het volgende plaatje genomen
en heeft daar met behulp van S-Tools een boodschap in verborgen. Wie zin heeft in een leuke vingeroefening, kan proberen het bericht uit onderstaand plaatje tevoorschijn te krijgen.
(Verkorte handleiding: sla het plaatje op met behulp van de rechtermuisknop, installeer S-Tools, open het programmavenster, sleep het plaatje vanuit Verkenner naar het venster van S-Tools, klik erop met de rechtermuisknop en kies Reveal. Het wachtwoord is 'beet'. Wanneer de naam van het verstopte bestand wordt getoond klikt u dáárop met de rechtermuisknop, kies Save en open het vanuit Verkenner.)
S-tools geeft weer hoeveel informatie in een plaatje kan worden verborgen. Hier is dat ruim tien kB. In het volgende plaatje zit een bestand van bijna tien kB verborgen (het plaatje zelf is ongeveer 80 kB). Ziet iemand het verschil?
Voor wie het verborgen bestand wil zien: het wachtwoord in S-Tools is 'knaag'. Merk op dat de drie hier vertoonde foto's exact gelijk zijn in bestandsgrootte!
Tenslotte nog een voorbeeld van informatie verborgen in een geluidsbestand. Technisch werkt het hetzelfde; ook een geluidsbestand heeft least significant bits. Hier is het origineel:
En in deze versie zit informatie verstopt:
Het wachtwoord is 'kort'. Veel succes - maar doe geen ondeugende dingen met steganografie.