Labo PGP - GPG
Vermits de vrij te gerbuiken versie 8 van pgp niet meer functioneert vanaf
Fedora4, gebruiken we voor dit labo GnuPG, een volledige en vrij te gebruiken
vervanging van PGP. GnuPG is een toepassing die volledig compatibel is met RFC2440 (OpenPGP)
en die standaard geïnstalleerd is onder linux.
Alle verdere informatie over GnuPG vind je hier.
Documentatie
Algemene informatie over PGP kan je vinden in
Meer specifieke informatie over GnuPG kan je vinden in
De bedoeling van dit labo is om de belangrijkste mogelijkheden van gpg
uit te proberen als gewone gebruiker.
Verslag
Van al je activiteiten schrijf je een elektronisch verslag.
Vermeld steeds
-
vraagnummer
-
wat je doet
-
met welke commando's
-
problemen die je tegenkomt
-
hoe je ze oplost.
Geef ook het antwoord op de gestelde vragen.
Dit elektronisch verslag is een niet opgemaakt
tekstbestand met als naam pgp.txt dat je
plaatst op je U-drive binnen de map beveiliging/pgp.
Uiterste datum om in te dienen: 3/12/2009 om 13u30.
Opgave uit te voeren als gewone gebruiker
Om synchronisatieproblemen te vermijden voer je eerst (als root) volgend commando's uit:
service ntpd stop
ntpdate time.hogent.be
1. Maak voor jezelf minstens drie sleutelparen aan (DSA+ElGamal, DSA en RSA) met
een verschillend userID. Je gebruikt best iets in de aard van "voornaam familienaam".
Kies een verschillende geldigheidsperiode voor deze sleutels.
Vraag 1: waarvoor wordt de passphrase gebruikt?
Vraag 2: waarom wordt er bij het aanmaken van een
sleutel soms naar extra toetsaanslagen gevraagd en soms niet?
2. Exporteer al je publieke sleutels naar meerdere bestanden die je aan
andere gebruikers kan aanbieden.
Exporteer in 2 verschillende formaten, waarvan er één geschikt is voor
transport via e-mail of publicatie op een webserver.
Vraag: wat is het formaat van deze bestanden?
3. Wissel dergelijke bestanden uit met minstens 4 andere gebruikers.
Dit kan via diskette, publieke directory, usbstick, e-mail, ...
We gaan er op dit ogenblik van uit dat sleutels die op deze manier zijn verkregen,
volledig te vertrouwen zijn.
4. Voeg deze publieke sleutels toe aan je publieke sleutelhanger.
Verifieer of ze wel zijn opgenomen. Verwijder een van de sleutels
uit de sleutelhanger. Controleer. Voeg hem er nadien weer bij.
5. Editeer een van je sleutels: verander de passeerzin.
6. Check je sleutels en de handtekeningen die er bij horen.
Verifieer de fingerprint van je sleutels bij je correspondenten.
Zorg er voor dat al je sleutels in je sleutelhanger volledig vertrouwd worden,
indien dit niet het geval zou zijn.
Teken al je eigen sleutels en die
van de personen van wie je de sleutel vertrouwt.
7. Maak vijf korte tekstbestanden aan die je aan andere gebruikers
wil overmaken.
- het eerste encrypteer je met conventionele encryptie op twee manieren:
een eerste keer met het default algortime (welk?), de tweede keer geef je
ook het algoritme op (bv. AES256).
- het tweede bestand encrypteer je zodat alleen één van
je correspondenten uit je sleutelhanger het bestand kan decrypteren.
Vraag: met welk algoritme is de encryptie gebeurd?
- het derde encrypteer je zodat die door minstens twee gebruikers
is te ontvangen en te gebruiken. Zorg dat de encryptie met een ander
dan het default algoritme gebeurt.
- het vierde encrypteer je zodat de ontvanger hem niet zonder meer kan
opslaan op zijn harddisk.
- het vijfde encrypteer je conventioneel maar het resultaat is in radix64.
8. Veeg de originele plaintextbestanden uit. Probeer nu
de plaintext te herstellen uitgaande van de ciphertext van elk bestand.
Controleer wat er al dan niet nog kan gebeuren.
9. Wissel de geëncrypteerde bestanden uit met je collega's.
10. Decrypteer alle ontvangen bestanden.
Beschrijf in elk van de gevallen wat er gebeurt.
Vraag 1: wat is het verschil tussen het al dan niet gebruiken
van de optie -d. Test uit.
11. Maak drie nieuwe tekstbestanden aan. Behandel ze als volgt:
- teken het eerste bestand en encrypteer het voor een van je correspondenten.
- plaats een handtekening op het tweede bestand
- maak van de derde een gehandtekende file die bruikbaar is voor e-mail.
Maak een kopie van een van de bestanden en verander het zodat de handtekening
niet meer klopt. Wissel al deze files uit met je collega's.
12. Decrypteer de ontvangen bestanden en verifieer de handtekening.
13. Maak van een nieuwe tekstbestand een apart handtekeningcertificaat.
Zorg er voor dat deze tekst ook door 2 of 3 andere gebruikers wordt getekend.
Wissel de tekst en de handtekenigen uit en controleer.
Test wat er gebeurt indien je het originele tekstbestand verwijderd hebt.
14. Maak van een tekstbestand een clearsigned document. Wat is de inhoud?
Verstuur het via e-mail naar een correspondent. Verifieer de handtekening van een
ontvangen bestand en decrypteer.
15. PGP maakt geen gebruik van 1 CA, maar wel van een web-of-trust. We simuleren
dit hier met 5 gebruikers A, B, C, D en E. Jij bent gebruiker A en je buren zijn
gebruikers B, C , D en E. Indien je onafhankelijk wil werken, kan je ook op je eigen
machine lokale gebruikers aanmaken
Noteer duidelijk in je verslag wat je precies gedaan hebt en wat je bevindingen zijn
in onderstaande situaties. Geef eventueel een verklaring.
Situatie 1:
- B importeert een sleutel van C, tekent hem en vertrouwt hem volledig.
- B exporteert de sleutel van C, geeft deze door aan A.
- A importeert de sleutel van B en de door B geëxporteerde sleutel van C.
- A verifieert nu de status van sleutels B en C. Wat valt er op.
- A tekent nu de sleutel van B en vertrouwt hem volledig.
- A verifieert nu opnieuw de status van sleutel C. Wat is er veranderd?
Situatie 2:
- B, C en D importeren dezelfde sleutel van E, tekenen hem en vertrouwen hem marginaal.
- B, C en D exporteren deze sleutel van E, geven deze door aan A.
- A importeert de sleutel van B, C en D, tekent deze en vertrouwt ze marginaal.
- A importeert sleutel E getekend door B. Verifieer de status van sleutel E.
- A importeert sleutel E getekend door C. Verifieer de status van sleutel E.
- A importeert sleutel E getekend door D. Verifieer de status van sleutel E.
|