spring naar de tekst
spring naar het nieuws
terug naar huis woordbeeld van de NLLGG tux home zoeken sitemap contact
U bent: bezoeker <== Klik op bezoeker om in te loggen 4 februari 2012 Afdrukken
NLLGG > Wat doet de NLLGG? > Landelijke Bijeenkomsten > Vorige jaren > 2003 > Encryptie
Wat is de NLLGG?
Over Linux
Wat doet de NLLGG?
   Landelijke Bijeenkomsten
     2011
     2010
     2009
     Vorige jaren
       2008
       2007
       2006
       2005
       2004
       2003
         Zomer-activiteit
       2002
       2001
       2000
       1995
   Cursussen (LPI, OOo, ..)
   Evenementen
   Community Dagen
   Linux Zelfstudie Groepen
   Special Interest Groups
   Discussielijsten (E-mail)
   Linux Forum (publiek)
   Acties
Van de redactie
Lid worden?
Webchat


sponsor logo
(partner)

inleiding over encryptie waarin hij o.a. SSH en SCP nader bekijkt

De sheets

De sheets van de lezing cryptofoils.pdf. De toelichting bij de sheets staat hieronder.

Pagina 1

Cryptografische methoden die voor ontcijferen de zelfde sleutel gebruiken als waarmee vercijferd is. Bij een zogenaamde "brute kracht aanval" gaat de aanvaller alle mogelijke sleutels uitproberen. Daarom is het belangrijk dat er erg veel sleutels mogelijk zijn, wat erop neerkomt dat de sleutel lang genoeg moet zijn. Een des-sleutel is 56 bits lang, te kort voor echte veiligheid. Amerikaanse export-software van vór het jaar 2000 komt vaak met 40-bits encryptiesleutels, (56 minus 16 bits die als klare tekst worden bijgesloten), wat een brute force attack 65000 keer makkelijker maakt. Encryptie in de gangbare kantoorsoftware (WordPerfect, pkzip, msWord) is zo zwak dat het alleen schijnzekerheid geeft. Met 3des (triple-des) heb je veilige sleutels van 2x56 of 3x56 bit. Bij de andere cijfers is 128 bits sleutels gebruikelijk.



Pagina 2

RSA is de belangrijkste methode die met sleutelparen werkt. Wat met de ée sleutel vercijferd wordt kan alleen met de andere worden ontcijferd. Eé sleutel maak je openbaar en de andere houd je angstvallig geheim. Twee toepassingen:

  1. Wat jij met mijn openbare sleutel vercijferd kan alleen door mij ontcijferd worden. (daarmee voorkom je dus dat onbevoegden kunnen meelezen, privacy.)

  2. Wat ik met mijn privésleutel vercijfer kan iedereen ontcijferen, men weet dan dat het alleen van mij afkomstig kan zijn. (ondertekenen, de afzender ondubbelzinnig vastleggen)



Pagina 3

Omdat rsa zo traag is zullen we nooit een geheel bericht met rsa versleutelen. Daarvoor gebruik je bij voorbeeld:

  1. 3des of, nog sneller, een van de AES-finalisten, met een énmalige sleutel die je, versleuteld met rsa, bijsluit bij het bericht. Alleen de geadresseerde kan de 3des-sleutel ontcijferen en daarmee weer het hele bericht.

  2. Met je privéleutel encrypt je alleen een controlesom, ook vaak message-digest genoemd. Het is een soort vingerafdruk van het bericht van meestal 16 of 20 bytes. Zo'n vercijferde controlesom heet ' digitale handtekening' omdat het met zekerheid aantoont wie de afzender is.

Bovenstaande geldt natuurlijk alleen als je zeker weet dat de juiste publieke sleutel gebruikt Voor dit laatste zijn certificaten bedacht. Dat zijn gestandaardiseerde documentjes (X.509 standaard) verklaren b.v. "de sleutel met onderstaande vingerafdruk toebehoort aan de persoon: " Wout Pieters <WoPi@sitexxx.nl> " Dit document wordt uitgegeven en ondertekend door een officiëe Certificaten Autoriteit. áraison van ca. 15 Euro.

Voor (web)sites en (software)producenten zijn ook certificaten verkrijgbaar maar die zijn veel duurder. Met deze certificaten kun je controleren of je met de juiste site verbinding hebt, of de authentieke software gedownload hebt.

Deze technieken worden op heel veel manieren toegepast, ook op Linux-systemen. Tot de meest interessante behoren

  1. Mail (pgp en gpg)

  2. SSL onder meer (veilige WWW-transacties)

  3. SSH Opvolger van de r-series met verrassende mogelijkheden.

Pagina 4

PGP, met als open source variant GPG, is een van de oudste programma's die alle genoemde technieken uitbuit. Het ondertekent e-mailberichten met de MD5-controlesom, vercijferd met rsa. Bericht plus ondertekening kunnen met bijvoorbeeld IDEA en een willekeurige sleutel versleuteld worden, waarna die sleutel, met rsa versleuteld, wordt toegevoegd.

De pgp/gpg sleutels van je kennissen bewaar je in een "openbare sleutelbos" (keyring) zodat jij, of je mail-programma, handtekeningen kunnen zetten en verifiëren en berichten kunnen ver- en ont-sleutelen.

Om GPG te kunnen gebruiken moet je het op je systeem installeren en een sleutel-paar genereren, met : "gpg gen-key". Daarbij vraagt gpg om een "key-phrase", een wachtwoord om je sleutel vercijferd op te kunnen slaan in je privé-sleutelbos .

Daarna laat gpg iets zien als : "ID=8A06A416 "zien. Dit getal moet je invoeren in je Kmail, bij settings->identity. Bij Security kun je kiezen voor gpg of voor een pgp-variant. Dan zou het moeten werken!

Noot: De "signature" die Kmail noemt bij "settings->Identity is een soort lijfspreuk of ascii-art en heeft niets met digitale handtekeningen van te maken!

pagina 4 laat enkele gpg-opdrachten zien. Kmail meldde dat een e-mailbericht met onbekende key 0C1AFFBC ondertekend was Met de opdracht:

hansr@suske:~> gpg --keyserver wwwkeys.nl.pgp.net --recv-keys 0C1AFFBC

wordt de nog onbekende sleutel opgehaald uit de gedistribueerde databases en zo te zien meteen ge-importeerd.

PGP en GPG hebben enkele onvolkomenheden , onder andere de "inline message" waar veel mailgateways niet mee om weten te aan en de ondertekening die zich binnen het vercijferde bericht bevindt. Met de nieuwe standaard: PGP/MIME zijn onlangs opgeheven .

Alternatief

Een alternatief voor pgp/gpg heet S/MIME. Dit wordt standaard gebruikt in bijvoorbeeld. ms-outlook en in de mailers van Netscape en Mozilla. (Met de plugin "enigmail" installeer je eenvoudig gpg-beveiliging binnen Netscape en Mozilla)

S/MIME maakt gebruik van (dure) certificaten, terwijl de pgp-klant zijn sleutels zelf moet regelen.

Die heeft daarbij wel een nuttig hulpmiddel. Je kunt namelijk je sleutel laten waarmerken: Als bij voorbeeld, de secretaris van een werkgroep de sleutel van alle leden "signeert" hoeft een nieuw lid alleen de sleutel van de secretaris, als trusted persoon, aan zijn sleutelbos toe te voegen. De andere sleutels worden dan vanzelf valide verklaard.

Voor meer over gpg zie: http://webber.dewinter.com/gnupg_howto/dutch/GPGMiniHowto-1.html en verder.

Pagina 6

Het Trusted Platform Module, de Chip die op het moederbord van nieuwe PC's geplaatst wordt, heeft alles aan boord om RSA-encryptie zelfstandig uit te voeren. Ofschoon het TPM een aantal veiligheidsproblemen oplost die in software niet oplosbaar zijn, zijn beveiligingsexperts maar gedeeltelijk enthousiast. TPM levert betrouwbare systemen op, dat wil zeggen, betrouwbaar voor Redmond en Hollywood! Maar de gebruiker zelf raakt de controle over zijn systeem kwijt. Er ontstaat een mogelijkheid om op ongekende schaal de informatievoorziening wereldwijd te beheersen waar velen voor waarschuwen.

IBM stelt een tutorial, een voorbeeldapplicatie , ter beschikking van de open-sourcegemeenschap, bestaande uit:

  • grub - een aangepaste boot-loader

  • /dev/tpm - een device-driver voor het TPM

  • libtcpm - een API voor het TPM

  • loopback – een patch voor de versleutelde disk-partities via loopback

Pagina 7

Overwegingen bij het TPM:

De endorsementkey bevat een unieke identifier voor elke TPM. Wél kan deze sleutel na gebruik eventueel gewist worden zodat je identiteit alleen bij een server van je eigen keuze bekend wordt.

Het TPM zal een extra bron van fouten vormen, systemen extra kwetsbaar maken, waarvoor, zoals gebruikelijk in se software-industrie geen aansprakelijkheid zal worden aanvaard.

Het TPM lijkt grote, Amerikaanse ondernemingen te bevoordelen ten opzichte van kleine bedrijven en de Europese industrie.

Kosten van TP-licenties treffen de vooral de open-sourceonwikkelaars, door hun kleinschaligheid en frequente releases.

Pagina 8

Een belangrijke bijdrage danken we aan Netscape: SSL, het protocol voor onder meer beveiligde web-transacties: veilige transacties zelfs op een site waar je nog nooit eerder geweest bent!. Hoe dat werkt? In vereenvoudigde vorm aldus:

De browser begint met te vermelden wat hij allemaal kan. De HTTPS-server maakt daaruit een keuze en stuurt daarna ook zijn certificaat. De browser controleert of het certificaat overeenkomt met de naam van de geadresseerde site en of het niet verlopen is. Hij checkt ook de ondertekening van het certificaat aan de hand van in de browser ingeprogrammeerde openbare keys van de belangrijkste Certificate Authorities.

Als alles correct bevonden is verstuurd de browser een premasterkey, (random getal) , versleuteld met de openbare sleutel uit het certificaat. Aan de hand van de premasterkey en de beide random getallen Ra en Rb berekenen browser en server beide de session-keys.

Na de hierboven beschreven "handshake" kunnen berichten uitgewisseld worden, bestaande uit een header, vercijferd blok data en een MAC (handtekening).

Pagina 9

De bibliotheek libcrypto is onderdeel van het SSL-pakket. Het bevat alle benodigde crytografische functies als MD5, des, rsa-key-generatie etc. Openssl biedt een commandline-interface voor die bibliotheek. Je kunt dus al die functies met shell-opdrachten en script-files toepassen. Pag. 9 geeft enkele voorbeelden, waaronder het genereren van een rsa-sleutelpaar, de openbare sleutel daarvan opvragen en daarmee een korte file "dontlook.md5" versleutelen.

Probeer het volgende eens:

  1. Maak een bestand met 80 keer de letter "A" en encrypt dat bestand met des ecb en bekijk het resultaat met bijvoorbeeld. " od -vcx". Wat valt je op?

  2. Doe bovenstaande nog eens, met dezelfde sleutel. Vergelijk de resultaten.

  3. Maak een lang bestand, b.v ls -lR /usr >lange. Met de tijd waarin dit bestand met des3 vercijferd wordt. Gebruik daarbij de opdracht time (1) en niet je stopwatch! Doe hetzelfde maar dan met blowfish of rc2.





Pagina 10

Telnet en ftp behoren tot de oudste datacommunicatie-toepassingen. Voor unix-systemen onderling bestaan veel krachtiger opdrachten , de zogenaamde r-series: rsh, rcp en rlogin. Deze opdrachten zijn in onbruik geraakt omdat ze erg onveilig zijn. De libcrypto-bibliotheek van SSL stelde de Fin Tatu Ylonen in 1995 in staat van de onveilige r-serie een goed beveiligde s-serie te maken met een aantal fantastische mogelijkheden. Met scp kopieer je bestanden en directories met het zelfde gemak als waarmee je met cp kopieert binnen één systeem. sftp is makkelijker in het gebruik en veiliger dat ftp. Met ssh log je op een veilige manier in, zelfs als root, iets wat met telnet altijd verboden wordt. Maar er is meer! Met ssh kun je tunnels aanleggen waarover je bij voorbeeld met pop- of smtp-servers veilig kunt communiceren. Daarvoor hoef je niet eens root voor te zijn!

Je gebruikt liever een grafisch gebruikersinterface? Ieder z'n meug! Probeer binnen de Konqueror het url: fish://nodenaam/~user/dir .

Of start op een remote host een x-applicatie met je lokale systeem als X-server!

ssh -f -X host x-applicatie

Pag. 10 geeft nog enkele voorbeelden

Hoe werkt SSH?

De ssh-server, sshd, verstuurd om te beginnen zijn "host-key", zijn openbare rsa- of dsa-sleutel. De eerste keer moet je die controleren, aan de hand van de fingerprint (MD5-digest). De volgende keren hoeft dat niet meer omdat ssh die sleutel opslaat (.ssh/known_hosts) kan ssh dat zelf controleren. We bereiken hiermee twee dingen:

  1. We weten nu zeker dat we met de juiste server contact hebben en

  2. We hebben een sleutel om ons wachtwoord, en alle andere conversatie, mee te versleutelen.

Als we dagelijks honderden ssh- en scp-opdrachten geven zullen we willen voorkomen dat daarbij elke keer opnieuw een wachtwoord moet worden ingetikt. Dat kan op verschillende manieren worden bereikt. De veiligste methode is meteen ook de meest ingewikkelde: Je genereert een eigen sleutelpaar en slaat die versleuteld met 3DES op. De openbare sleutel copieer je in je homedirectory op de server. Vervolgens start je de ssh-agent, een process dat voor de rest van de sessie rsa-diensten blijft verlenen aan de oorspronkelijke shell-process en alle kind-processen daarvan. Het wachtwoord waarmee je rsa-sleutel vercijferd is hoef je daarna niet meer in te geven.

Ga naar begin pagina
Linux© is een geregistreerd handelsmerk van Linus Torvalds. NLLGG site design made by KovoKs.