• Buro Jansen & Janssen, gewoon inhoud!
    Jansen & Janssen is een onderzoeksburo dat politie, justitie, inlichtingendiensten, overheid in Nederland en de EU kritisch volgt. Een grond- rechten kollektief dat al 40 jaar, sinds 1984, publiceert over uitbreiding van repressieve wet- geving, publiek-private samenwerking, veiligheid in breedste zin, bevoegdheden, overheidsoptreden en andere staatsaangelegenheden.
    Buro Jansen & Janssen Postbus 10591, 1001EN Amsterdam, 020-6123202, 06-34339533, signal +31684065516, info@burojansen.nl (pgp)
    Steun Buro Jansen & Janssen. Word donateur, NL43 ASNB 0856 9868 52 of NL56 INGB 0000 6039 04 ten name van Stichting Res Publica, Postbus 11556, 1001 GN Amsterdam.
  • Publicaties

  • Migratie

  • Politieklachten

  • Encryptie in de praktijk

    Een poging tot privé-communicatie

    Cryptografie, of kortweg crypto, wordt tegenwoordig in veel dingen toegepast: in GSM’s, Pin-betaalautomaten, Chipper en Chipknip, de decoder van de TV (Canal+), enz. enz. Waar datastromen afgeschermd moeten worden voor anderen, of als er voor diensten betaald moet worden, komt cryptografie in beeld.
    Maar als we kijken waar we crypto voor onze eigen veiligheid kunnen gebruiken, is het vaak in computerprogramma’s of in computergerelateerde toepassingen. Er zijn crypto-programma’s om losse bestanden te versleutelen, om een deel van je harde schijf te versleutelen,om je e-mail te coderen, om afgeschermde webpagina’s mee te bekijken, en er is zelfs software om je spraak (telefonie) te crypten.


    In recente jaren heeft de hoeveelheid crypto een enorme vlucht genomen. Het Internet heeft een grote revolutie in het gebruik van cryptografie teweeg gebracht. Er was ineens de noodzaak voor mensen en bedrijven om veilig met elkaar te kunnen communiceren over een open netwerk. Door de jaren heen werd duidelijk dat grote softwarehuizen vaak achterdeurtjes in hun beveiligingsprogramma’s inbouwden waardoor inlichtingendiensten of andere overheidsinstaties toegang hebben, of dat de software zo slecht geprogrammeerd was dat de beveiliging heel snel teniet kon worden gedaan.
    Een alternatief voor deze programma’s is het gebruik van OpenSource crypto-programma’s. Dit zijn programma’s die vrij en gratis te gebruiken zijn en waarvan de broncode(1) beschikbaar is.

    Toepassingen van Crypto-software

    Crypto op het Internet

    E-mail versturen op het Internet is per definitie onveilig omdat het Internet geen veilig medium is. Mail passeert tijdens de verzending allerlei tussenstations (routers en mail-servers) en is kwetsbaar voor (al dan niet legaal) aangebrachte taps bij de verzender, de ontvanger of (in Echelon-achtige situaties) ergens op een groot knooppunt onderweg. Iemand die onderzoek doet kan geïnteresseerd zijn in de inhoud van een e-mailbericht, maar kan ook al heel tevreden zijn met een database waarin bijgehouden wordt wie er precies wanneer met wie mailt (een zogenaamde verkeersanalyse). Om je e-mail te beschermen tegen dit soort pottenkijkers kun je gebruik maken van een aantal populaire encryptie-programma’s en -diensten. We bespreken er hier een aantal kort, en we geven voor- en nadelen.

    PGP

    De ongekroonde koning van de e-mail encryptie-programma’s. PGP is het meest toegepaste OpenSource crypto-programma ter wereld. De twee populairste versies zijn PGP 2.6 en PGP 6.X. Het verschil zit hem er in dat in PGP 6.X geen crypto-algoritmen worden gebruikt waar patent op zit. Verder zijn beide versies gelijkwaardig als het om veiligheid op cryptogebied gaat. PGP 6.X kan door middel van plug in-modules samen werken met verschillende e-mail programma’s zoals Eudora, Microsoft Exchange, Outlook en Outlook Express. Deze plug ins zorgen er voor dat je met een simpele muisklik je e-mail kunt ver- en ontsleutelen. Verder zit in PGP een disk wipe tool die de bestanden veilig van je hard disk haalt door ze meerdere keren te overschrijven. Een andere ingebouwde functie is PGP disk, dat in staat is om een deel van je harde schijf te versleutelen. PGP is gratis verkrijgbaar voor Windows, Mac en Unix systemen.

    S/MIME

    S/MIME is een encryptie-standaard die in erg veel populaire programma’s, zoals bijvoorbeeld Outlook en Netscape-mail, zit ingebouwd en die gebruik maakt van sterke encryptie. Het grote nadeel van S/MIME is echter dat de programmeurs de broncode niet hebben blootgegeven. Hierdoor is onafhankelijke controle niet mogelijk. Bovendien maken de gangbare browsers buiten de VS gebruik van 40-bits algoritmes, en dat is bij lange na niet sterk genoeg. De programma’s zijn vaak wel erg gebruikersvriendelijk, maar er is niet altijd te zien met welke encryptie een bericht precies versleuteld wordt. Ook gaat deze structuur uit van, soms onhandige, centrale certificate authorities die de sleutels van alle deelnemers aan communicatie moeten ondertekenen. Als je S/MIME zinvol wilt gebruiken moeten alle deelnemers de VS-versie van hun browser of een 128-bit SSL-update hebben. Verder is het recent aan het licht gekomen feit dat Microsoft Windows encryptieprogrammatuur een reservesleutel voor de NSA bleek te hebben wellicht een argument om de encryptie-mogelijkheden van Internet Explorer niet te gebruiken.

    Remailers

    Remailers zijn programma’s waarmee je kan versluieren wie er met wie e-mailt. Om van een remailer-service gebruik te maken, moet je een e-mail versturen die versleuteld is met de PGP-sleutel van de remail-service. De remailer neemt de e-mail aan en ontsleutelt hem. Hij bekijkt de bestemming, “hakt” de headers er van af en stuurt het bericht vervolgens door. Vaak wordt het ook nog eerst naar een andere remailer doorgestuurd, die ook weer de headers eraf “hakt”, het opnieuw encrypt, en het vervolgens doorstuurt naar degene waar de e-mail heen moet. Bij de afzender staat zoiets als “Anonymus” of “Anon@retail.com”. De weg naar de echte afzender is zo natuurlijk niet meer terug te volgen. Wanneer de tekst zelf ook met PGP gecodeerd is, is zowel de inhoud als de geadresseerde onbekend. Je hebt verschillende soorten anonieme remailers. Allereerst heb je ouderwetse en onveilige remailers zoals Anon.pnet.fi. Bij deze remailer kreeg je een naam en werd vervolgens geregistreerd wie bij welk “anoniem” adres hoorde. Deze remailer kreeg op een dag een gerechtelijke uitspraak om de anonimiteit van een gebruiker op te heffen en aldus geschiedde. Korte tijd later ontstonden de Cypherpunks, een los verband van allerlei Californische anarchisten, die besloten een anonieme remailer te bouwen, de Cypherpunk-remailer. Alles wat deze remailer in of uit ging was PGP-gecrypt, en wat er verder allemaal gebeurde werd nergens geregistreerd. De opvolger van deze remailer was de Mixmaster-remailer. Deze remailer knoopt een aantal remailers aan elkaar, die onderling de hele dag allerlei willekeurige data aan het uitwisselen zijn. Wanneer er dan een e-mailt binnenkomt gaat die mee in die enorme stroom data en is het zo goed als onmogelijk om daar een verkeersanalyse op los te laten. Via remailers kan je voor een anonimisering van de afzender én geadresseerde zorgen. Soms is het echter handig om alleen de geadresseerde te anonimiseren. Behalve voor aftappers is de adressering ook door de ontvanger van een e-mail te lezen. Dat is natuurlijk geen enkel probleem wanneer er een één-op-één-verzending plaatsvindt (een persoon verstuurt een berichtje aan een andere persoon). Maar wanneer een bericht aan een groep van personen wordt verstuurd kan dit vervelende consequenties hebben. Een goed voorbeeld is de verzending van een links-radicaal elektronisch tijdschrift, waarbij alle abonnees voor alle ontvangers zichtbaar meegestuurd waren. Deze abonnees ontvingen vervolgens van diverse mede-geabonneerden allerlei ongevraagde post, onder andere van een rechts-extremist, die onder valse voorwendsels op de verzendlijst was gekomen. Deze persoon beschikte na dit foutje over een flink bestand met linkse e-mailadressen. Om de ontvangers van een e-mailbericht onzichtbaar te maken moeten de adressen van die ontvangers ingevuld worden bij BCC: (Blind Carbon Copy) in het adresveld van het e-mailprogramma. Ontvangers zullen dan in het geadresseerden-veld Recipient-list Suppressed zien staan.

    Goede Starpagina’s over Remailers:
    http://www.cs.berkeley.edu/~raph/remailer-list.html
    http://anon.efga.org/Remailers

    Praktijkvoorbeeld

     

    ZipLip

    ZipLip is een dienst die veiligheid belooft doordat je met je browser een SSL-verbinding opent naar ZipLip. Daar maak je dan op een webpagina een bericht dat je aan een bepaald e-mailadres richt. ZipLip stuurt dan een e-mailtje naar dit adres, met de mededeling dat er een beveiligd bericht klaar ligt. De ontvanger maakt vervolgens verbinding met ZipLip en haalt het bericht op. Het grote probleem is dat het bericht dus in klare taal op de harde schijven van ZipLip staat, en dat ZipLip, mits geconfronteerd met het juiste papierwerk, dit bericht zal moeten afgeven. Ziplip is wel bruikbaar om de verkeersanalyse lastiger te maken, door de dienst te gebruiken om een reeds (bijvoorbeeld met PGP) gecodeerd bericht te versturen. ZipLip biedt wel een dienst aan om de mail op hun schijf te coderen, maar dat wordt pas gedaan nadat het bericht in klare taal van je ontvangen is. Bovendien gebruikt ZipLip een raar en gammel systeem waarbij je de ontvanger een hint kunt geven om het password te raden.

    HushMail

    HushMail is ook een web-gebaseerde dienst. Deze keer krijg je van de website echter een klein programmaatje dat het coderen en decoderen voor jou doet. Als er e-mail verstuurd wordt tussen twee HushMail accounts beschikt HushMail dus nooit over de klare taal. Maar het is onduidelijk of je inderdaad een goed werkend programma van ze hebt gekregen. Als iemand (een overheid) HushMail kan dwingen om bij een groep gebruikers een namaak-programma te installeren dat er precies zo uitziet als de echte HushMail, is het programma lek. Bovendien moet je er met alle web-services rekening mee houden dat de meeste mensen gebruik maken van browsers met slechts 40-bit encryptie en dat is volstrekt onvoldoende

    Freedom

    Freedom is een nieuwe dienst waarbij je een eigen programma (client) op je computer krijgt. Het is opgezet door een Canadees bedrijfje, Zero Knowledge. De client codeert al je e-mail en web-verkeer en verstuurt alles via een netwerk van verschillende servers, waardoor analyse van de inhoud (bij mail tussen twee Freedom-gebruikers) en verkeersanalyse onmogelijk worden. Een geniaal systeem waarbij geen enkele partij in het Freedom network weet wie er wat aan het doen is. Je kunt omschakelen tussen meerdere identiteiten (nyms), die niemand aan elkaar of aan je echte identiteit kan koppelen. Het gebruik van deze nyms gaat in de toekomst geld kosten, maar de betaling gebeurt op zo’n manier dat niemand weet welke nyms van jou zijn. Het enige probleem is dat de software op dit moment nog in de testfase verkeert en bij het verschijnen van dit boek nog niet te koop is. Maar Freedom is, als het af is, zonder twijfel de highest-tech in het versturen en ontvangen van veilige e-mail en in het geheim houden waar je precies naartoe surft. Daarom is het absoluut een ontwikkeling om in de gaten te houden. Tot Freedom volledig functioneert is het aan te bevelen om, waar mogelijk, PGP en remailers te gebruiken. De web-gebaseerde diensten zijn wel iets makkelijker te gebruiken, maar bieden bij lange na niet dezelfde mate van veiligheid.
    Freedom is vanaf 1 januari 2000 beschikbaar gesteld door de provider XS4ALLterug naar top

    Browsers

    Browsers bezitten ook de mogelijkheid om via een gecrypte verbinding met een website te communiceren. Dit gebeurt via het SSL protocol. Dit protocol kan verschillende sterkten van encryptie gebruiken. Ook hierbij is de sterke encryptie voornamelijk door de VS gemonopoliseerd, waardoor het browsen op niet-Amerikaanse websites direct terugvalt tot 56 bits-encryptie. Met Fortify is Netscape in ieder geval ook te bewapenen met encryptie op volle sterkte. Fortify is een programma dat Netscape vertelt dat er toestemming is om sterke crypto te gebruiken. Normaal gesproken wordt deze sterke encryptie alleen toegestaan bij door bepaalde instanties goedgekeurde websites. Overigens geldt hetzelfde voor de Microsoft Internet Explorer, maar hier is helaas geen Fortify-programma voor beschikbaar. Wel kun je van sites zoals http://www.zedz.net de sterke encryptie varianten downloaden. Op de URL http://www.fortify.net/sslcheck.html kun je controleren of je browser sterke encryptie gebruikt of niet.

    SecureSHell

    (SSH)

    Tunnel-surfen is een mogelijke oplossing voor veel afluisterproblematiek tussen de provider en de computer thuis. Wanneer er een versleutelde tunnel wordt aangelegd tussen een PC thuis en een provider, is het data-verkeer tussen die twee tegen direct afluisteren van de telefoonlijn beschermd. Wanneer er echter bij de provider of verder op het Internet wordt afgeluisterd is alles weer gewoon leesbaar. Er bestaan programma’s om zo’n tunnel aan te leggen, bijvoorbeeld SSH (SecureSHell). De provider moet dit programma ondersteunen. Na het inbellen legt het programma een crypto-tunnel aan. Vervolgens moeten alle Internet-programma’s zo ingesteld worden dat ze gegevens opvragen en versturen via deze tunnel. E-mail, webrequests of andere data zijn dan niet meer van de telefoonlijn af te plukken. SSH is vrij verkrijgbaar en OpenSource. Er is nu ook een nieuwere versie van SSH (versie 2) die niet helemaal vrij te gebruiken is en dus door de meeste computers op het Internet niet gebruikt wordt. Voor Windows is er een aantal SSH-programma’s. De twee meest gebruikte programma’s zijn F-Secure van DataFellows en SecureCRT van Van Dyke. Van beide programma’s zijn evaluatie-versies te downloaden van http://www.zedz.net. De commerciële versies zijn buiten Amerika niet te koop in verband met export-restricties. Sterk in opkomst zijn Putty en TeraTerm. Beide OpenSource programma’s waren oorspronkelijk Telnet-programma’s, maar zijn uitgebreid met het SSH-protocol. Ook deze programma’s zijn van Zedz.net te downloaden.

    Data-versleuteling thuis

    Behalve voor activiteiten op het Internet kan er ook crypto worden gebruikt om gegevens op je eigen computer te versleutelen. Hierboven werd het programma PGP Disk al behandeld.

    Scramdisk

    Scramdisk reserveert een deel van je harde schijf. In plaats van elke bestand apart te versleutelen gebruikt Scramdisk dit deel van je harde schijf om al jouw data in versleutelde versie op te slaan. De gebruiker kan aangeven hoeveel MB op de schijf gebruikt mag worden voor deze data. Deze ruimte wordt dan door de computer gezien als een extra harde schijf, maar kan alleen met het juiste wachtwoord geopend worden. Je kan er (na intypen van het wachtwoord) gewoon bestanden van en naar kopiëren, van verwijderen enzovoorts. Na afsluiting van de disk staat er slechts een groot versleuteld bestand, waar alle data veilig in opgeborgen zitten. Omdat Scramdisk wat slimme trucjes uithaalt is het bovendien niet aantoonbaar dat het bestand een Scramdisk-file is, tenzij je het wachtwoord kent. Scramdisk is ook in staat om een file te verbergen, in bijvoorbeeld een .WAV-bestand (geluid). Dit verstoppen heet steganografie. Dit is een handige functie, omdat het dan wel heel moeilijk te bewijzen is dat je crypto gebruikt. Scramdisk ondersteunt een aantal verschillende crypto-algoritmen, waaronder IDEA, Blowfish en DES, is OpenSource en is erg gebruikersvriendelijk. Helaas bestaat er momenteel alleen een Windows-versie.

    Spraakversleuteling

    Een derde toepassing van cryptografie is spraakversleuteling. Deze toepassing is te gebruiken wanneer je belt via je computer. Dat kan wanneer je via het Internet contact maakt met een ander die over hetzelfde spraakprogramma beschikt.

    Speakfreely

    Speakfreely is een programma dat het mogelijk maakt om veilig via het Internet te praten. Hoewel de makers van het programma erg hun best hebben gedaan om Speakfreely simpel in het gebruik te houden, zal je de documentatie die bij het programma wordt geleverd goed moeten lezen om te begrijpen hoe het werkt. Het heeft echter een aantal grote voordelen. Speakfreely gebruikt verschillende spraakcompressie-algoritmen, die het mogelijk maken om zelfs op 2400 baud(2) met elkaar te praten. Hierdoor is het mogelijk om zelfs via hele ouderwetse modems of bijvoorbeeld via de GSM gecrypte spraak het Internet op te sturen. Maar Speakfreely werkt pas echt goed bij modernere modems. Het programma kan de digitale spraak met IDEA, Blowfish of DES versleutelen of met meerdere van deze algoritmen tegelijkertijd. Internet-gebruikers met een permanente verbinding (kabel, huurlijn) kunnen Speakfreely op hun PC gewoon als telefoon dienst laten doen, wanneer het programma in stand by-stand staat. Het is mogelijk om een belsignaal naar een andere computer te sturen zodat die rinkelt en er zit zelfs een antwoordapparaat-functie in. Met de hoge snelheden van de kabelmodems is de kwaliteit van de verbinding niet te onderscheiden van een normale telefoon, met het verschil dat je met Speakfreely niet meer afgeluisterd kunt worden. Al met al een heel nuttig programma. Speakfreely is OpenSource en beschikbaar voor Windows en Unix en er is ook een versie zonder crypto, Spook freely, voor de landen waar crypto verboden is.

    Nautilus

    Nautilus gaat van modem naar modem zonder Internetverbinding. Dit programma klinkt na versleuteling en ontsleuteling erg slecht en de sleuteluitwisseling is bovendien een probleem. Om aan een sleutel te komen waarmee de ontvanger de versleutelde spraak kan ontsleutelen, moet deze sleutel opgestuurd of afgegeven worden. Bovendien gebruiken gesprekspartners altijd dezelfde sleutel waardoor ontsleuteling achteraf mogelijk is. Wanneer een geheime dienst jarenlang versleutelde gesprekken heeft opgenomen en dan achter de sleutel komt, zijn alle oude gesprekken ook te ontsleutelen.

    PGP-phone

    PGP-phone is een mooi vormgegeven programma, dat een goede sleutelonderhandeling doet en eenmalige sleutels aanmaakt. De sleutels worden voorafgaand aan het gesprek aangemaakt en bovendien nergens bewaard. Helaas crasht het programma de hele tijd en komen er geen nieuwe versies van uit. Overigens is het goed om te bedenken dat het niet nodig is om het afluisteren van een telefoon onmogelijk te maken. Wanneer je het namelijk ingewikkeld maakt om een telefoon af te luisteren wordt het voor de dienst die probeert af te luisteren al snel rendabel om de ruimte af te luisteren waarin de telefoon staat.

    Crypto en besturingssystemen

    Er is natuurlijk altijd een risico dat de software staat op een site die door de verkeerde mensen is opgezet, en dus foute programma’s kan bevatten. Vaak bevat de meeste crypto-software wel een digitale handtekening, die met PGP is te controleren. Rest natuurlijk wel de vraag hoe PGP zélf veilig geïnstalleerd kan worden. Er rijst zelfs een nog veel belangrijkere vraag. Kun je het besturingssysteem van je computer wel vertrouwen? Het antwoord daarop is eigenlijk nee, maar sommige besturingssystemen zijn onveiliger dan andere. Microsoft Windows is de koploper wat betreft beveiligingsproblemen. Hoewel de meeste problemen in de browser zitten (en daar heeft Netscape ook een handje van) en dan met name in Java en Javascript, is het probleem bij Microsoft nu juist de sterke koppeling van applicaties. Door koppelingen van allerlei Microsoft-programma’s als Access, Word, Outlook en de browser heb je voor dat je het weet een supergeheim Word-document met database-gegevens per e-mail naar je aartsvijand gestuurd. Maar ook de crypto van Microsoft laat vaak te wensen over. Microsoft’s manier van gecrypt aanmelden (PPTP) is al diverse manieren door programmeurs onderuit gehaald: of de beveiliging was triviaal te omzeilen, of de feitelijke encryptie was veel te zwak.

    Naast de beveiliging door middel van encryptie-software is er een aantal andere mogelijkheden om ongewenst afluisteren van computers tegen te gaan. Hieronder nog een aantal van die mogelijkheden, waarbij vermeld dient te worden dat de ontwikkelingen soms erg snel gaan. Voor recente informatie verwijzen we naar de website, die bij dit boek hoort.

    Tempest

    Zoals je elders in dit boekje hebt kunnen lezen is het mogelijk om je beeldscherm (en zelfs toetsenbord en processor) met speciale ontvangers af te luisteren. De verzamelnaam voor deze techniek is Tempest. Je tegen deze techniek te wapenen is niet eenvoudig, maar er zijn een paar oplossingen. We beginnen maar met de meest radicale (en dure) oplossing : een “Tempest proof tent”. Deze lichtgewicht tent is gemaakt van een speciale stof die alle straling tussen de 10 Khz en de 2 Ghz tegenhoudt (tot 65 Db). Duur is het wel, de eenpersoonsuitvoering kost $ 15.000 , de ‘vergaderkamer-uitvoering’ wel $40.000. Volgens een woordvoerder kan de Amerikaanse overheid niet meer zonder haar tenten. Informatie over de tempest-tent vind je op http://cryptome.org/bema-se.htm Een andere oplossing tegen het monitor afluisteren is de “tempest font” oplossing. Studenten aan de universiteit van Cambridge hebben een lettertype (font) ontwikkeld dat er op jouw beeldscherm normaal uitziet, maar bij de afluisteraar als onleesbare onzin overkomt. Door met kleurverschillen te werken die voor het menselijk oog nauwelijks zijn waar te nemen, maar waar afluister-ontvangers juist heel gevoelig voor zijn, hebben ze een doeltreffende (en gratis) oplossing gevonden tegen het beeldschermafluisteren. Het font geeft voor de gebruiker een iets waziger beeld, maar afluisterontvangers zien niets meer. Helaas is het font nog niet in software als PGP e.d. verwerkt, maar je kunt het met enige moeite wel op je eigen PC instaleren; enige kennis van zaken is dan wel vereist. http://www.cl.cam.ac.uk/~mgk25/st-fonts.zip
    Ondertussen zit in pgp 6.0 en hoger het tempest font ingebakken, en kun je de lezende partij ‘dwingen’ het tempest font op te roepen als jouw bericht aan hen gedecodeerd op het scherm komt. Als je het bericht wilt versleutelen met die optie
    moet je dat ‘aanvinken’ tijdens het selecteren van de pulieke sleutel(s). Links onderin zul je ‘use tempest attack font’ zien staan.

    Het wissen van bestanden

    Over diskwipe tools kunnen we kort maar duidelijk zijn: ze werken niet (goed genoeg). Althans, niet als het om extreme situaties gaat. Als men echt gaat spitten op je harde schijf, is de kans groot dat een deel van de informatie die jij dacht te hebben gewist nog te achterhalen is. De kop van je harde schijf schrijft namelijk niet altijd op precies dezelfde plaats op de disk. Als je dus later een file wilt wissen kom je een klein beetje naast het originele spoor (of track) te zitten, waardoor je het midden van het spoor wel overschrijft, maar de rand niet. De originele disk-kop zal die rand niet kunnen lezen, maar speciale apparatuur heeft daar geen moeite mee. Hoe vaak je de track dus ook overschrijft, je kunt nooit meer op die “rand track” komen. Floppies die op een andere computer beschreven zijn kun je per definitie niet wissen, omdat het verschil in stand van de koppen te groot is. Het is duur om een schijf zo te ontleden, en het lukt niet altijd … maar het kan dus wel. Programma’s als PGP hebben een ingebouwde wisfunctie, waarbij instelbaar is hoe vaak een file overschreven moet worden. De super paranoia Gutmann standaard staat op 35 keer overschrijven, met bepaalde karakters. PGP wipe zit bij PGP tools, source code beschikbaar.

    Firewalls

    Als je iets hoort over veilige manieren om Internet te gebruiken, dan hoor je vaak de term firewall. Er wordt helaas al te vaak mee geadverteerd als dé oplossing voor de veiligheid van een netwerk. Niets is minder waar. Het probleem met een netwerk is dat het veel onderhoud vergt. Er staan vaak vele soorten computers en andere electronica door elkaar heen. En allemaal bevatten ze wel bugs (programmeer-fouten) die gevaarlijk kunnen zijn. De ene keer is het een bug in het besturingssysteem Windows, dan weer een bug in de webserver Apache, en dan weer in een scripting tool PHP die zowel op Windows als Linux platformen draait. Hoe zorg je nu dat je daar als systeembeheerder adequaat op kunt reageren? Of hoe bescherm je je eigen computer adequaat? Als eerste natuurlijk door op de hoogte te blijven van de laatste ontwikkelingen in beveiligingsniveaus. Goede websites om in de gaten te houden zijn http://www.rootshell.com, http://slashdot.org, http://www.ntbugtraq.com, http://www.2600.org, en wellicht is de beste van allemaal de Bugtraq mailinglist en website op http://www.netspace.org. Goed, je hebt de informatie, maar wat nu? Je hoort bijvoorbeeld dat alle werkplek-PC’s vatbaar zijn voor voor een bepaalde bug die ze kan laten crashen. Hoe bescherm je nu in één keer alle PC’s, zodat je ze op je gemak kunt updaten? Het makkelijkste punt om dat te doen is aan de ingang van je netwerk met de buitenwereld, vaak het Internet. Als je de Internetverbinding zo zou kunnen filteren dat men die bepaalde bug niet meer kan misbruiken, dan kunnen de werkplek-PC’s nog gewoon veilig werken, ondanks dat ze vatbaar zijn voor die bug. Zo’n centraal “filter station” noemt men een firewall. Deze Engelse term komt uit de Middeleeuwen, waar de eerste verdedigingslijn van een stad of kasteel een muur was waar men brandende pek vanaf goot als de aanvallers eroverheen probeerden te klimmen. Er zijn in principe twee soorten firewalls, application firewalls en packet filter firewalls. De eerste weet meer van de inhoud van netwerkpakketten en kan daarom beter zien of de inhoud van een netwerkpakket schadelijk is. De tweede soort kijkt alleen naar de adressing en baseert op basis daarvan of het bewuste datapakketje de firewall mag passeren. Op het eerste gezicht lijkt de application firewall dus veel beter. In de praktijk zie je echter eigenlijk alleen maar packet filter firewalls. Computers op het Internet communiceren met elkaar via het TCP/IP protocol. Als een computer met de ander informatie via het Internet uitwisselt, gebeurt dat in kleine brokken: netwerkpakketten. Al deze pakketten hebben een afzender en een geadresseerde. Maar behalve dat hebben ze ook nog een zogenaamde “bronpoort” en “doelpoort”. Deze poorten (een nummer tussen de 1 en 65535) zijn ingangen tot een computer. Als je bijvoorbeeld een e-mail stuurt, dan stuur je die naar een mailserver op een bepaald IP-adres, met poortnummer 25. Maar die mailserver kan ook best een webserver zijn. Als je de webpagina’s van die server wilt zien, moet je poort 80 gebruiken. De programma’s op je computer (je e-mail software en browser) kennen deze poortnummers. Voor Windows kun je die bijvoorbeeld vinden in het bestand c:windowsservices, voor Linux vind je ze in het bestand /etc/services. Het komt er dus op neer dat filteren op adres en poort eigenlijk al filteren op applicatieniveau is, omdat specifieke applicaties specifieke poorten gebruiken. Sommige applicaties gebruiken meerdere poorten, en een enkele applicatie gebruikt zelfs willekeurige poorten die per sessie afgesproken worden. Deze applicaties zijn moeilijker te controleren voor een firewall, en geven dan ook vaak problemen als een netwerk door een firewall goed dichtgespijkerd wordt. Met name FTP, ICQ en diverse multimedia-applicaties en conferentie-programma’s gebruiken een onvoorspelbare mengelmoes van poorten. Deze programma’s werken alleen goed als de firewall de manier van communiceren van deze programma’s kent. Omdat een firewall eigenlijk slechts een filter is, hoeft het niet per se op een apart apparaat te draaien. Een bestaande computer kan ook zijn eigen verbinding filteren. Vandaar dat er diverse firewall-software oplossingen zijn. De Windows en Macintosh firewall-oplossingen schermen vaak de orginele TCP/IP implementatie van de computer helemaal af en gebruiken hun eigen versie van TCP/IP. Vooral op Windows NT is dit gebruikelijk, bijvoorbeeld de Raptor Firewall van Axent. Andere programma’s nestelen zich alleen in de bestaande TCP/IP implementatie, iets dat gebruikelijk is voor Windows 95/98 computers. Voor Unix computers (Linux, FreeBSD ed.) ligt de situatie iets anders. Deze hebben standaard al een enorm goede firewall-mogelijkheid. Alleen de configuratie hiervan is beduidend moeilijker. De meest bekende hardware firewall is de Firewall-1 van Checkpoint. Overigens bezitten de meeste Internet-routers ook firewall-mogelijkheden die vaak ruim voldoende zijn, en tegenwoordig via een web browser ook nog eens makkelijk geconfigureerd kunnen worden.

    En andere taktiek die tegenwoordig sterk in opkomst is, is het gebruik van privé IP-adressen. Er is een speciale groep IP-adressen (onder andere het bereik 10.*.*.*) die nooit echt uitgedeeld gaat worden en die bedoeld is voor interne netwerken. Gebruik deze 10.*.*.* adressen intern, en geef slechts één machine (de firewall) een “echt” IP-adres. Alle computers in het netwerk kunnen slechts via de firewall het Internet bereiken. De firewall vertaalt al deze 10.*.*.* nummers naar zijn eigen (geldige) IP-adres en onthoudt voor welke computer hij een bepaalde opdracht heeft verstuurd. Het antwoord van het Internet komt terecht bij de firewall (de andere computer denkt dat de firewall het in eerste instantie verstuurd heeft) en deze vertaalt het terug voor de originele computer en stuurt het het lokale netwerk op. Deze truc wordt om meer dan alleen veiligheidsredenen gebruikt. Je krijgt bij de meeste Internet-abonnementen (of het nu om Internet via telefoon of kabel gaat) slechts één IP-nummer. Op deze manier kunnen in een huis toch meerdere computers via één IP-nummer van de Internet-verbinding gebruik maken. Deze methode wordt wel Network Address Translation (NAT) of masquerading genoemd.

    Ten slotte vind je in grote bedrijven vaak een nog iets ander type firewall. Dit laatste type is behalve een beveiliging voor gerommel van buitenaf, ook een instrument om Internetverkeer van de eigen werknemers te censureren. De baas wil immers dat er gewerkt wordt. In dit geval vindt alle communicatie met buiten plaats via een tussenpersoon, de proxy firewall. Deze proxy (een computer die eerder opgevraagde sites een tijdje opslaat, zie hoofdstuk 11) regelt bijvoorbeeld de filtering (geen websites met sex bekijken, slechts nieuwsgroepen die voor het werk van belang zijn) maar kan ook als centrale mailverwerker gebruikt worden. (Een overigens niet zo’n fraaie toepassing van de commerciële tak van PGP is een mailserver die alleen mail doorlaat die of uit gewone leesbare tekst bestaat, of met de geheime bedrijfs-encryptiesleutel leesbaar is.) Behalve de afscherming van individuele gebruikers of diensten, zorgt zo’n proxy ook voor een ontlasting van de Internetverbinding. Web-pagina’s die door meerdere personen worden geraadpleegd, hoeven slechts eenmaal van het Internet gehaald te worden. De proxy server bewaart de pagina’s na de eerste raadpleging, zodat iemand anders die dezelfde pagina raadpleegt, de bewaarde kopie krijgt te zien. Uiteraard zitten er diverse mechanismen in om ervoor te zorgen dat geen verouderde of dynamisch gegenereerde pagina’s bewaard worden. Soms dient de proxy ook als een beveiligde deur naar buiten. Om dan een bepaald type verbinding naar de buitenwereld te realiseren dient men eerst een verbinding met de proxy server te maken. Daar plaatst men een verzoek voor een verbinding naar buiten, die dan door de proxy server opgezet en doorgegeven wordt. Dit type kom je nog wel eens tegen bij de diverse geavanceerde opties op Windows computers, onder de naam SOCKS. Het grootste probleem met dit type verbinding is dat de applicatie op de PC er specifieke SOCKS-ondersteuning voor nodig heeft. Daarom werkt de eerder genoemde NAT-methode veel beter. Een firewall beschermt je netwerk zeker tegen een hoop vreemde dingen van buitenaf. Hij beschermt je ook tegen configuratiefouten van computers in je eigen netwerk. Als het delen van bestanden en printers door de firewall geblokkeerd wordt, dan maakt het niet meer zoveel uit dat Jantje zijn C:-drive lees- en schrijfbaar deelt met de hele wereld, zonder wachtwoord. In dat opzicht is een firewall zeker waardevol, ook voor het kleine thuisnetwerk van een of twee computers. Als je een Windows PC met modem of netwerkkaart hebt, kijk dan zelf maar eens bij de eigenschappen van je C:-drive. Wordt die gedeeld zonder wachtwoord? Als het antwoord hierop “ja” is, dan kun je er vrijwel zeker van zijn dat iemand je hele registry, een speciaal bestand waarin veel programma’s (inclusief Windows zelf) een heleboel wachtwoorden en andere persoonlijke informatie opslaan, heeft gekopieerd. En dat iemand waarschijnlijk daaruit zelfs je Internet-gebruikersnaam en -wachtwoord heeft gehaald, en vervolgens jouw Internet-abonnement gebruikt om nare dingen op andere computers te proberen. Het gevaar van een firewall is echter dat men zich te veilig gaat voelen. “Er is toch een firewall, mij kan niets gebeuren.” En vervolgens krijgt die persoon het Melissa-virus gemailed en stuurt het virus vervolgens het laatste bewerkte Word-document naar de eerste 50 mensen in zijn e-mail adresboek, inclusief het virus. Of een via het web gedownload bestand, Java applet of Javascript programma mailt je registry naar een Hotmail account. Een firewall maakt het direct benaderen van je PC moeilijk tot onmogelijk, maar er zijn nog genoeg indirecte methoden om iemands PC ongemerkt te benaderen. Gebruik nieuwe versies van software, gebruik anti-virusprogramma’s, en als informatie werkelijk zó kostbaar is, zorg dan dat die informatie niet in de buurt van een computer komt die wel eens, direct of indirect, aan het Internet wordt gekoppeld. Het is mogelijk zelf eens te spelen met firewalls of proxies. Behalve dan met de hardware firewalls, die tienduizenden guldens kosten. Een veel gebruikt product voor Windows is het shareware programma Wingate (http://www.wingate.com). Ook de nieuwe versie van Windows (Windows 2000) zou deze functionaliteit moeten hebben.

    Voor Unix zijn er diverse mini-distributies gespecialiseerd voor gebruik als firewall. Een Linux gebaseerde firewall is het Linux Router Project (www.linuxrouter.org) en een op BSD gebaseerde firewall is het picoBSD project (www.freebsd.org/~picobsd/). Deze laatste twee firewalls zijn OpenSource-producten, dus vrij verkrijgbaar, en alle broncode is in te zien.

    Ook voor besturingssystemen geldt dat het, uit veiligheidsoogpunt, de voorkeur geniet ook hier de broncode in te kunnen zien. Dat kan bij de commerciële besturingssystemen als DOS, Windows, Macintosh en OS2 niet. Er zijn gelukkig een aantal OpenSource-besturingssystemen waar dat wel het geval is, zoals Linux, FreeBSD of OpenBSD. Vooral Linux is momenteel sterk in opkomst(3).

    Windows-problemen

    Lekken in Windows

    Naast de surfprogramma’s heeft ook Windows zelf een aantal veiligheidsproblemen. Dit operating-system (OS) is zeer fragiel en wanneer het standaard geïnstalleerd is, biedt het geen enkele bescherming. Hier volgt een aantal tips om Windows een beetje veiliger te maken:

    • Geen onbekende of onvertrouwde netwerk- of Internetprogramma’s draaien.
    • Geen servers installeren die dingen aan het Internet aanbieden (FTP-servers), onder andere de standaardserver die bij FrontPage wordt geïnstalleerd.
    • Geen Wingate installeren, dat is erg onveilig. Het is een tunnel van binnen naar buiten en andersom. Het doet zijn naam eer aan.
    • Een goede ge-update virusscanner draaien.
    • Windows-Networking/Netwerk moet op alle mogelijke manieren uitgezet worden wanneer er geen netwerk is geïnstalleerd. Wanneer een computer wel in een netwerk staat moet het zoveel mogelijk worden ingeperkt. Dat werkt als volgt:

    Wanneer je geen netwerk hebt:

    • Alle protocollen behalve TCP/IP (dat is het protocol dat je voor het Internet nodig hebt) deïnstalleren. Dat doe je door in het configuratiescherm op Netwerk te klikken en daar alle protocollen, behalve TCP/IP, te verwijderen.
    • Bestands- en Printerdeling uitzetten. Via Bestands- en Printerdeling geef je anderen op een netwerk toegang tot je bestanden en printers. Via Internet kunnen anderen dan echter ook toegang krijgen tot je computer. Dit schakel je uit via het configuratiescherm. Daar ga je naar het Netwerk, klik je op Bestands- en Printerdeling en vink je alle hokjes uit.

    Daarmee zijn de belangrijkste veiligheidsproblemen van Windows Networking verholpen.

    Wanneer je wel een netwerk aan het Internet hebt gekoppeld:

    • Windows gebruikt de poortnummers 137 en 139 voor zijn eigen interne netwerk. Die moet je dus dichtmaken voor de buitenwereld. Dat moet je bij je netwerkrouter instellen. Wanneer er vanaf het Internet een pakketje binnenkomt voor poort 137 of poort 139 dan moet je dat pakketje weggooien. Een netwerkrouter is een programma dat in- en uitgaande datapakketjes bekijkt en ze binnen een netwerk verdeelt. Je kan voor je computer ook een firewall installeren, zoals Atguard of NukeNabber. Via deze programma’s kan je heel precies instellen welke soorten data er via welke poorten de computer mogen verlaten of binnengaan.
    • Wanneer dit niet kan of lukt moet je in ieder geval TCP/IP scheiden van je Bestands- en Printerdeling. Je gaat via het configuratiescherm naar Netwerk, klikt op TCP/IP en klikt op Eigenschappen en Bindingen. Je moet dan de binding tussen de Windows-networkingdienst en TCP/IP uitzetten.

    NSA-lek

    In augustus 1999 ontdekte de Amerikaanse organisatie Cryptonym, die onderzoek deed naar veiligheidsproblemen met Windows, dat Microsoft in alle Windows-versies een achterdeur heeft ingebakken voor de NSA. Dit achterdeurtje maakt de versleutelingstechnieken van Windows toegankelijk voor deze luistervinken. Daarmee is elk gebruik van met Windows meegeleverde cryptografie zo lek als een mandje. Gelukkig heeft Cryptonym, behalve deze ontdekking ook een oplossing aangedragen en biedt ze op haar website (http://www.cryptonym.com) een programmaatje aan dat dit lek dicht.

    Identificatiecodes

    Middels de pers is nogal wat verwarring gezaaid over unieke identificatiecodes die door Windows 98 en Office 97 geproduceerd worden. De heren en dames van de pers snapten niet dat het in principe om twee verschillende privacy-lekken gaat en husselden de twee verhalen door elkaar, zodat een onbegrijpelijke warboel ontstond.

    Windows 98 registratie

    Het eerste lek betreft Windows 98. Windows 98 heeft een Registration Wizard die het gebruikers eenvoudig maakt hun kopie van Windows 98 via het Internet bij Microsoft te registreren. Deze Wizard heeft een optie die je kunt selecteren en die er zorg voor draagt dat een samenvatting van jouw hardware-gegevens naar Microsoft wordt opgestuurd. De bedoeling hiervan is de helpdeskmedewerkers van Microsoft te voorzien van informatie die ze nodig kunnen hebben om de gebruiker te ondersteunen bij voorkomende problemen. Nu blijkt dit hardware-overzicht meestal sowieso naar Microsoft gestuurd te worden ook al heeft de gebruiker de betreffende optie niet geselecteerd. Het is uiteraard fout van Microsoft dat zij op deze wijze informatie verzamelt. Temeer omdat bepaalde hardware-gegevens uniek zijn (bijvoorbeeld allerhande serienummers) en deze informatie eenvoudig voor andere doeleinden te gebruiken is.

    Office 97 Document GUID

    Het tweede probleem betreft Office 97. Office 97 geeft een zogenaamde Globally Unique IDentifier (GUID) aan elk document dat door een Office-programma wordt gemaakt. In alle software, programma’s en besturingssytemen moeten alle componenten een unieke naam of nummer hebben. Dit is om er zorg voor te dragen dat verschillende componenten niet met elkaar verwisseld kunnen worden. Software-ontwikkelaars hebben daarom het concept GUID ontwikkeld. Een GUID is een 128-bits nummer, dat wordt samengesteld door een complexe wiskundige formule die gebruik maakt van diverse gegevens van de computer van de gebruiker. Die computergegevens betreffen bijvoorbeeld datum, tijd, hardware-specifieke informatie en eventueel andere (wellicht gebruiker gerelateerde) data. Al deze informatie wordt in de formule gestopt, die daarmee een uniek nummer genereert. Een tweede berekening met dezelfde formule en andere gegevens mag nooit een zelfde GUID opleveren. Een voorbeeld van zo’n GUID is: 0A479B20-DE86-21d2-9154-333553640000. Het privacy-probleem met Office 97 betreft het feit dat Microsoft een GUID koppelt aan elk Office 97 document. Volgens Microsoft is de bedoeling hiervan dat andere ontwikkelaars die softwarehulpmiddelen maken, dit GUID kunnen gebruiken om verwijzingen tussen documenten te controleren en automatische hersteloperaties uit te voeren, wat in het geval van een complex web van samenhangende documenten vaak een probleem is. Het GUID van een Office document is niet direct gerelateerd aan de informatie die de Windows 98 Wizard naar Microsoft zendt en deze GUID’s zelf worden ook niet verzonden. Dat betekent uiteraard niet dat het niet vervelend is dat elk Office-document op een netwerk tevens een uniek nummer in zich draagt, dat te relateren is aan de PC waarop het gemaakt is of aan de gebruiker die van deze PC gebruik maakt. Tot voor kort had niemand hier weet van. Het is een potentieel controle-instrument voor de werkgever en een krachtig hulpmiddel bij een eventueel politie-onderzoek. Het gebruik van zulke unieke identificaties beperkt zich niet tot Microsoft. Ook bijvoorbeeld de Pentium III-processor bevat een uniek identificatienummer dat via het Internet op te vragen is. Verder zijn er geen technische belemmeringen om dergelijke gegevens te combineren met op andere wijze verkregen data. Er zijn nu bijvoorbeeld al bedrijven die het klikgedrag van de websurfer ten behoeve van gerichte reclame opslaan in een database (1). Niemand belet allerlei staatsdiensten dergelijke databases, met nog meer gegevens, ten behoeve van andere doeleinden op te slaan. Vanwege de mogelijk verstrekkende consequenties reageren organisaties als Electronic Privacy Information Center daarom furieus bij het bekend worden van het ongecontroleerde en ongeautoriseerde gebruik van GUID’s. Tegen Pentium-fabrikant Intel hebben Amerikaanse consumentenorganisaties zelfs een klacht ingediend bij de Federal Trade Commission. Microsoft heeft beloofd bovengenoemde mogelijkheid uit Office 2000 te laten en heeft wat programma’s op haar site gezet om deze GUID-productie uit de bestaande Office 97 te halen. (Zie hiervoor http://officeupdat.microsoft.com/Articles/Metadata.htm waar een programma is te vinden om uit bestaande documenten de GUID te verwijderen.) Verder heeft de software-gigant haar website aangepast, zodat deze geen hardware-samenvattingen accepteert zonder dat de gebruiker deze optie in de Wizard heeft gekozen. Ook zouden reeds aanwezige hardware-samenvattingen die zonder gebruikersautorisatie plaatsvonden uit hun database verwijderd zijn. In nieuwe Windows-versies wordt een verbeterde versie van de Registration Wizard gestopt.

    1) Van bijna de helft van het Internetverkeer registreert firma Doubleclick het klikgedrag. De onderneming houdt bij welke webpagina’s een websurfer bezoekt en welke informatie hij opvraagt bij elektronische zoekdiensten als Yahoo, Lycos en AltaVista. Al deze informatie wordt opgeslagen in een database. Deze informatie wordt gebruikt om met grote precisie adverteerders in contact te brengen met potentiële consumenten. Van een bezoeker van AltaVista stelt Doubleclick in een oogwenk vast uit welk land de surfer komt, bij welke Internet-provider hij is aangesloten en wie weet welke gegevens meer (zie Het Parool, 25 februari 1999).

    Broncodes

    Jaren geleden, toen computers nog alleen bij bedrijven en universiteiten stonden, was er nog niet zo heel erg veel software. En toen al kwam een van de grondleggers van het UNIX besturingssysteem, Ken Thompson, tot de realisatie dat software in principe gewoon nooit te vertrouwen is. Hoe kwam hij tot deze conclusie?

    Programmeurs schrijven hun programma in een programmeertaal die door mensen nog te lezen is. Vroeger was dat vaak Pascal of BASIC, tegenwoordig is het vaak de taal C of Java. Deze programmeertaal noemt met de broncode. Deze broncode wordt nu met een speciaal programma omgezet in een programma dat niet meer mensen, maar alleen nog maar door de computer kan worden gelezen en uitgevoerd. Dat omzetten heet compileren. Als de broncode eenmaal is gecompileerd, dan heb je een uitvoerbaar programma. Dit programma draait dan op één type computer, bijvoorbeeld een Windows PC, of een Macintosh. Thompson heeft samen met Dennis Ritchie de taal C ontworpen en een compiler geschreven voor deze taal. Zo’n compiler kan uiteraard niet in broncode geschreven worden, want om broncode om te zetten in een draaibaar programma heb je immers een compiler nodig! Een “kip en ei” probleem. Ze moesten dus zelf, zonder compiler, een machine-leesbare code schrijven voor de compiler. Toen ze deze (niet zeer uitgebreide) compiler af hadden, konden ze natuurlijk wèl in een programmeertaal een compiler schrijven met allerlei toeters en bellen en die met de simpele compiler compileren. En toen realiseerde Thompson zich het gevaar. Stel, je verandert de broncode van de compiler zo, dat elke keer als het de broncode van een bepaalde soort (bijvoorbeeld een cryptografie-algoritme, of alle bestanden die pgp.c heten) moet compileren, er een achterdeur wordt ingebouwd. Stel dat je nu de broncode van encryptie-software van het internet downloadt. Je controleert braaf de digitale handtekening en je weet zeker dat niemand met de broncode geknoeid heeft. Vervolgens compileer je de software en blijkt er tóch een achterdeur in te zitten. Nu kan je denken, “Maar dat is toch te zien in de broncode van de compiler, immers daar staat ergens “als er cryptosoftware gecompileerd wordt, voeg dan de achterdeur toe”. Ook daar had Thompson al het antwoord op. We knoeien nog meer met onze compiler. Behalve de extra routine die cryptoprogramma’s aantast als ze door de compiler gecompileerd worden, doen we het volgende: elke keer als we een compiler compileren, voegen we de crypto-aantast-routines aan die nieuwe compiler toe, én onze compiler-aanpassing om compilers aan te tasten. Je hebt nu een soort virus gemaakt dat zichzelf verspreidt onder compilers en cryptosoftware aantast. Nu zul je zeggen, dat we om het probleem te verbergen dit alleen maar erger hebben gemaakt. We hebben nu immers niet één maar twee veranderingen te verbergen in de broncode. Is dat wel zo? We compileren een nieuwe compiler. Deze heeft vervolgens beide aanpassingen om compilers en cryptosoftware aan te tasten. Nu verwijderen we alle veranderingen die we gemaakt hadden voor die aanpassingen uit de broncode, en gebruiken we die “schoongemaakte” compiler om nogmaals een compiler te compileren. En verdwenen is de broncode van onze aanpassingen, ze zijn alleen nog in machine-leesbare taal aanwezig. Vervolgens geven we de compiler (als programma en als broncode) aan iedereen die het wil hebben. In principe kun je de aanpassing nog zien zitten in de machine-leesbare versie van het programma, maar tegenwoordig kan bijna niemand dat soort taal nog lezen, omdat computerchips enorm ingewikkeld zijn. Voordat je een, als computerexpert, zo’n programma helemaal nageplozen hebt, zijn er alweer tien andere programma’s die mensen om je heen gebruiken voor veilige communicatie. Uit het voorbeeld mag duidelijk zijn dat er een punt is waar je als eindgebruiker niet meer zeker kunt zijn van de veiligheid van je software. Eigenlijk is het analoog aan de veiligheid van je huis. Dat kun je ook niet helemaal afbreken om te zien of er ergens in de muur een tap zit. Er resten dan twee mogelijkheden. Of je wordt super paranoïde, en draait helemaal door. Of je accepteert de beperkingen en de bijbehorende risico’s. Voor software kun je een aantal maatregelen nemen. Als eerste verdient het sterk de voorkeur alleen programma’s te gebruiken met broncode. Zoals we gezien hebben is het geen garantie dat er niet geknoeid is, maar het is in elk geval zeer onwaarschijnlijk dat er onbekende achterdeuren in zitten. Ten tweede is het van belang dat niemand je computersysteem zelf benaderen kan (fysiek of via het Internet). Ook dit laaste is weer een onhaalbaar ideaal, maar je kunt in ieder geval je best doen. Zie hiervoor Windows-problemen

    CESA

    De laatste weken voordat de redactie dit boekje moest samenstellen is in de VS de zogenaamde CESA-wet geopenbaard. De wet maakt het exporteren van ietsje sterkere crypto mogelijk, en wordt daarom in de pers vooral gezien als een knieval van de regering Clinton voor de high-tech industrie, die software en hardware met sterkere crypto wilde kunnen exporteren. Wie het ontwerp goed bekijkt stelt echter vast dat de export van die sterke crypto nog steeds aan vergunningen gebonden is en dat de Amerikaanse inlichtingenwereld zich nog steeds het recht voorbehoudt om de uitvoer van bepaalde producten lange tijd uit te stellen. Verder regelt de wet een aantal interessante zaken. Zo hoeft de aanklager in een strafzaak niet meer te openbaren hoe bepaalde gegevens van de verdachte zijn gedecodeerd. De achterliggende gedachte is wellicht het beschermen van de industrie die, op verzoek van de inlichtingen- en veiligheidsdiensten, achterdeuren in software en hardware heeft ingebouwd. Ook bevat de CESA-wet een provisie die het voor wetshandhavers mogelijk maakt woningen en kantoren heimelijk binnen te dringen, om daar veranderingen in hard- en software aan te brengen die de op de machine(s) aanwezige crypto verzwakken. Deze provisie is geschrapt, maar geeft wel duidelijk aan dat men op het gebied van crypto graag vergaande nieuwe bevoegdheden wil hebben. Wat betreft heimelijke inbraak om bij je computer te komen valt er een aantal dingen op te merken:

    – Zo’n voorstel suggereert dat de overheid er niet slechts over nadenkt om zoiets in de toekomst wellicht een keer te gaan doen. Een wetsvoorstel voor nieuwe strafvorderingsbevoegdheden dient in de regel om de resultaten van reeds in gebruik zijnde methoden in rechtszaken te kunnen gebruiken.

    – De inlichtingenwereld bedient zich al sinds het begin van haar bestaan van gespecialiseerde teams die high-tech inbraken uitvoeren bij ambassades en goed beveiligde woningen. Een goed slot op de deur en een degelijk alarmsysteem kunnen je beschermen tegen de junk op de hoek en de professionele inbreker. Maar tegen deze teams kun je alleen iets doen als je bereid bent veel geld uit te geven en je hele huis/kantoor te verbouwen.

    – Er helpt niets tegen iemand die ongemerkt bij je computer is geweest. Zelfs als je software-modificaties uitsluit (en wie kan dat nog effectief als de vijand bijvoorbeeld de BIOS wijzigt?), kan men immers een klein zendertje geplaatst hebben dat al je toetsaanslagen uitzendt In dat geval zendt je dus elke keer als je het intypt je PGP-wachtwoord uit.

    – Inbreken kan een kwaadwillende overheid echter maar op een beperkt aantal plekken. Het kan een geschikt middel zijn om meer te weten te komen over een kleine groep reeds bekende mensen. Maar voor grootschalige schendingen van de privacy van ons allemaal zal men de telecommunicatie moeten afluisteren.

    Noten

    1. De broncode is de leesbare tekst van een programma in zijn originele programmeertaal. Via de broncode kunnen experts zien hoe veilig het crypto-programma werkelijk is. Om een programma voor computers leesbaar te maken dient de broncode gecompileerd te worden tot machinetaal. Het resultaat is een zogenaamd binary programme (bijvoorbeeld een Windows EXE-bestand). Bij commerciële software is alleen deze binary-versie beschikbaar en krijg je de broncode bijna nooit te zien. Als er dus een achterdeur in een crypto-programma zit, dan kom je dat niet te weten. Hoe mooi en aantrekkelijk de folder, de advertentie of de doos van een programma ook is, zonder broncode zegt het niets over de betrouwbaarheid van de programmeurs. Bovendien kunnen softwarehuizen gedwongen worden door hun regering om alleen zwakke crypto in het programma te stoppen of om een achterdeur in de programma’s te stoppen (Key Escrow).

    2. . De snelheid van computer-communicatie wordt aangegeven in Baud. 2400 Baud is de snelheid van een zeer oud modem, de huidige standaardmodems halen ruim 56000 Baud.

    3. . Op de ftp server ftp.kerneli.org vind je een verzameling van crypto-extensies voor de Linux kernel, het eigenlijke Linux-programma. Er bestaan onder andere extensies met crypto voor netwerkverbindingen en voor het versleutelen van bestanden of hele disks. Op http://www.xs4all.nl/~freeswan vind je de Linux-implementatie van IPsec, een uitbreiding van het Internet Protocol met ingebouwde encryptie en autentificatie. Samen met de Linux crypto-software van http://www.zedz.net maakt dat van je PC een hoogstaand crypto-apparaat. Ook voor de BSD varianten zijn er crypto-extensies te vinden op http://www.kame.net. Overigens moet nog wel even vermeld worden dat het gebruik van deze OpenSource besturingssystemen wel een stuk moeilijker is dan het gebruik van een Windows PC of een Apple computer. Deze besturingssystemen, met name Linux, zijn echter wel sterk bezig deze achterstand in te halen. Linux distributies als RedHat of SuSe (in elke boekhandel te koop) zijn zeker het experimenteren waard, als crypto belangrijk voor je is.

    Helemaal zeker kun je dus nooit zijn van gedwonloade software, maar http://www.zedz.net is een betrouwbaar adres om via het internet crypto-software te downloaden. Dit is een site die zich in Nederland bevind, en de mensen die hem runnen staan als betrouwbaar te boek. (Disclaimer : Software download en instaleer je natuurlijk altijd op eigen risico.)