Pretty-Good-Privacy onder Linux

ArticleCategory:

Applications

AuthorImage:

[Foto van de Auteur]

TranslationInfo:

original in en Angel Lopez

en to nl Tom Uijldert

AboutTheAuthor:

Angel Lopez is de auteur van dit artikel.

Abstract:

Dit artikel laat zien hoe je PGP onder Linux kan gebruiken.

ArticleIllustration:

[Illustratie]

ArticleBody:

Inleiding

PGP staat voor Pretty Good Privacy en refereert aan één van de populairste cryptografische toepassingen in de wereld van computers.

PGP is hét middel voor veilige informatieoverdracht over onveilige openbare netwerken als het Internet en biedt privacy alsook een verificatie van echtheid betreffende de verzender.

Met privacy wordt bedoeld dat alleen de ontvanger van de informatieoverdracht het bericht kan lezen. Indien het bericht door een ander wordt onderschept dan is de informatie nutteloos omdat deze niet door een ander gedecodeerd kan worden.

Met verificatie wordt eenduidig vastgesteld dat informatie die van afzender "A" lijkt te komen ook daadwerkelijk van "A" afkomstig is en dat er tijdens de overdracht niet aan is gesleuteld door een derde partij.

PGP is gebaseerd op een cryptografisch systeem wat ook wel wordt aangeduid met openbare sleutel (public key), wat ingezet kan worden bij onveilige verbindingen. Hierdoor is het ideaal voor privacy gevoelige toepassingen binnen netwerken als het Internet.

Het is niet noodzakelijk om aan industriële spionage te doen:) om behoefte te hebben aan privacy en dus aan cryptografie. Iets eenvoudigs als E-mail kan al een reden zijn voor het toepassen van PGP. Laten we eens kijken naar de redenen waarom:

E-mail kun je vergelijken met briefkaarten. Eenieder die het in handen krijgt kan het lezen omdat er niets in de weg ligt óm het te lezen. Een brief in een envelop is al wat meer privé. Derden kunnen de envelop verschepen maar de brief niet lezen. Daarvoor moeten ze de envelop openscheuren.
PGP werkt hetzelfde als de enveloppen waar het E-mail betreft. PGP staat niet toe dat anderen dan de daadwerkelijke ontvanger het bericht kan lezen. Dit is één van de vele voordelen van het gebruik van PGP.

De werking van cryptografie met openbare sleutels

In dergelijke systemen heeft iedereen twee elkaar aanvullende sleutels, een openbare en een privé- (geheime-) sleutel.

De openbare sleutel kan vrijelijk bekend worden gemaakt aan de buitenwereld. Dit maakt het voor die buitenwereld mogelijk om jou beveiligde informatie te sturen. Deze openbare sleutel tast de veiligheid van de privé-sleutel niet aan.

Laten we als voorbeeld twee vrienden, Jan en Piet, nemen. Jan kan beveiligde informatie naar Piet sturen met behulp van de openbare sleutel van Piet. Piet zal in staat zijn om het bericht te decoderen met behulp van zijn privé-sleutel. Indien een derde persoon, Mark, het bericht onderschept dan zal hij niets met het bericht kunnen doen omdat hij niet de privé-sleutel van Piet heeft en dus niet kan decoderen. Zelfs Jan, als afzender, kan het niet decoderen. Alleen degene met de privé-sleutel, Piet, kan het bericht decoderen.

De veiligheid van een systeem staat of valt dus met het geheim houden van de privé-sleutel, ook al kent iedereen de openbare sleutel. Indien iemand zonder privé-sleutel toch probeert te decoderen dan zal hem dit jaren kosten en zou het daarmee dus nutteloos zijn.

Zoals in het begin al gezegd biedt PGP, naast privacy, ook verificatie van de afzender. Laten we eens zien waarom:

De privé-sleutel kan niet alleen coderen maar ook een "handtekening" zetten, vergelijkbaar met een handtekening op papier.

Een (met de privé-sleutel) digitaal getekend document kan worden gedecodeerd met behulp van de openbare sleutel. Deze verificatie geeft de mogelijkheid om je van de echtheid van een document te vergewissen. Dat het afkomstig is van de persoon die zegt het te hebben gestuurd en dat het bericht niet is veranderd of vervalst.

Beide mechanismen, coderen en handtekeningen zetten, kunnen worden toegepast om privacy en verificatie te verkrijgen. Eerst wordt het document van een handtekening voorzien met de privé-sleutel, waarna het wordt gecodeerd met de openbare sleutel van de ontvanger.

Als de ontvanger het bericht heeft gekregen worden de mechanismen omgedraaid door het document te decoderen met zijn privé-sleutel en te verifiëren met onze openbare sleutel.

Dit kan worden geautomatiseerd, zoals we verderop kunnen lezen.

Een openbare sleutel wordt normaal gesproken opgeslagen in wat men een key certificate noemt. Dit bevat gewoon de sleutel, tezamen met de naam van de eigenaar en de datum waarop de sleutel was gegenereerd.

De privé-sleutel wordt beschermd met een wachtwoord, waardoor het gebruik door derden onmogelijk wordt gemaakt.

Beide sleutels worden opgeslagen in een bestand wat bekend staat als de sleutelhanger (key ring), waarin verder diverse key certificates op kunnen worden geslagen. Meestal is er een sleutelhanger voor openbare sleutels en één voor privé-sleutels.

De sleutels worden intern opgeslagen middels een referentie (key ID), die bestaat uit de laatste 64 bit van een sleutel.

Wanneer er informatie over de sleutel wordt gegeven, worden alleen de laatste 32 bit van de betreffende sleutel getoond. Een dergelijke referentie wordt door PGP bijvoorbeeld gebruikt om een benodigde sleutel op te zoeken op het moment van decoderen.

Bij het tekenen van een document genereert PGP 128 bit die het document identificeert. Deze handtekening is een soort checksum of CRC , waarmee veranderingen in het document kunnen worden waargenomen. In tegenstelling echter tot de CRC of checksum, kan een bedrieger deze niet opnieuw genereren om zo een gewijzigd document weer geldig te maken. De handtekening kan alleen worden gemaakt met de privé-sleutel van de afzender en deze zal normaal gesproken niet bekend zijn bij de bedrieger.

Versies van PGP

Nu je weet waarvoor je PGP kunt gebruiken, zul je er ook wel mee aan de slag willen.

Op dit punt moeten we even waarschuwen voor het feit dat er behoorlijk wat beperkingen zijn in de Verenigde Staten betreffende de export van cryptografische technieken, waardoor er diverse versies zijn ontstaan, vergezeld van specifieke wetten betreffende het gebruik ervan. Om wat orde in deze chaos te scheppen zal ik hier de diverse in omloop zijnde versies van PGP op een rij zetten.


Freeware (vrij te verkrijgen en distribueren) PGP versies: Commercieel verkrijgbare versies van PGP (alleen in de VS en Canada): In ons geval (buiten de VS) is versie 2.6.3i de juiste versie om te gebruiken. In de VS zullen we terug moeten grijpen naar versies 2.6.2 of 2.6.3.

Houdt er rekening mee dat in sommige landen zoals Frankrijk, Iran, Irak, Rusland en China het gebruik van cryptografie aan banden is gelegd of zelfs verboden is.

Een aantal leuke links voor het verkrijgen van versie 2.6.3i voor diverse smaken Linux:

Installatie van PGP

Laten we even aannemen dat je PGP versie 2.6.3i hebt opgehaald van het net en op je schijf hebt gezet. Je bent nu een bestand pgp263is.tar.gz rijker.

Eerste stap is het aanmaken van een directory voor de broncode:

$ mkdir pgp
Nu het archiefbestand de-comprimeren:
$ tar -C ./pgp -xzvf pgp263is.tar.gz
Dan naar de nieuwe directory:
$ cd pgp
Nu het bestand pgp263ii.tar uitpakken, waarin de documentatie en de broncode zit:
$ tar -xvf pgp263ii.tar
Hier aangekomen ben je klaar voor het compileren van PGP. Als je geen broncode maar executeerbare programma's op hebt gehaald (zoals a.out of ELF) kun je deze stap overslaan. De compilatie kan nu als volgt worden gedaan:
$ cd src
$ make linux
Als alles goed is gegaan zal de Makefile een executeerbaar pgp programma hebben aangemaakt. In geval van een systeemwijde installatie kun je dit programma nu in /usr/local/bin of in /usr/bin zetten. Anders laat je hem gewoon in je eigen directory staan.

Systeemwijd kun je dan ook nog de helppagina pgp.1 in /usr/man/man1 zetten.

Standaard configuratie

Normalerwijze zal PGP in ~/.pgp zoeken naar sleutelhangers en configuratiebestanden. Laten we dus maar als eerste een directory in HOME aanmaken:
$ cd
$ mkdir .pgp
Bij de bestanden uit de distributie zal ook een bestand config.txt zijn die een aantal aspecten van PGP instelt. Om een eigen configuratie aan te maken zul je dit bestand moeten kopiëren naar je zojuist aangemaakte directory:

Een andere mogelijkheid is om in plaats van ~/.pgp/config.txt, het bestand te hernoemen in .pgprc en dit in je HOME te zetten waarmee je dus ~/.pgprc krijgt.

Hierin kun je onder andere de gebruikte taal instellen via de parameter Language. Mogelijke waarden zijn:

Language = en (Engels)
Language = es (Spaans)
Language = ja (Japans)
Het bestand kent nog andere parameters. Om hiervan gebruik te kunnen maken moet je het bestand language.txt naar je ~/.pgp directory kopiëren.

Nog iets wat is aan te bevelen is het kopiëren van het online help bestand in je eigen taal naar ~/.pgp. In het geval van Nederlands sprekende gebruikers kan men het bestand nl.hlp kopiëren.

Aanmaken van het sleutelpaar

Om te beginnen met het gebruik van PGP moet eenieder zijn eigen sleutelpaar aanmaken (openbaar/privé). Voer hiertoe het volgende commando uit:
$ pgp -kg
Er zal je worden gevraagd de maximale grootte van de sleutel te kiezen (512, 768 of 1024 bytes). Hoe groter, hoe meer veiligheid, ten koste van wat snelheidsverlies.

Na het kiezen van de grootte zal je worden gevraagd een naam te hangen aan de openbare sleutel. Men kiest hierbij meestal voor de eigen naam of het E-mail adres. In mijn geval is dit:

Angel Lopez Gonzalez <[email protected]>
Dan nu het password ter beveiliging van je privé-sleutel. Kies een eenvoudig te onthouden combinatie. Deze beveiliging is nodig zodat, wanneer iemand deze sleutel steelt, deze toch niet kan worden gebruikt zonder het password.

Als laatste vraagt het programma om zomaar wat toetsen op het toetsenbord in te drukken om zo een willekeurige set getallen te krijgen. Het programma zal deze baseren op het interval tussen twee toetsaanslagen.

PGP zal nu de sleutels genereren en na een paar seconden melden dat dit klaar is. Na het genereren dienen ze in de bestanden pubring.pgp en secring.pgp te worden gezet in de directory ~/.pgp.

De eerste, pubring.pgp is de sleutelhanger met de openbare sleutels. Op dit moment zit alleen onze sleutel eraan.

De tweede, secring.pgp, is, je raadt het al, de sleutelhanger met privé-sleutels waaraan op dit moment alleen de onze hangt.

De mate van beveiliging staat of valt met het geheim houden van de privé-sleutel; berg hem daarom goed op en vergewis je ervan dat niemand bij de sleutelhanger kan. Controleer de toegangrechten op secring.pgp. Alleen jij mag hem lezen en schrijven, anderen mogen er totaal geen toegang op hebben.

Verder zij nog opgemerkt dat je de naam van de sleutels en het password erop kunt veranderen met het commando:

$ pgp -ke naam [ring]

Nieuwe sleutels aan je bos hangen

Op dit punt aangekomen wil je waarschijnlijk de openbare sleutels van je vrienden aan de sleutelbos hangen. Hiervoor moet je op de één of andere manier aan de sleutels zien te komen; via een sleutel-server; direct van de persoon zelf; via finger op zijn gebruikerscode; via E-mail enz. Laten we vooral niet vergeten dat de openbare sleutel vrijelijk kan worden gedistribueerd en er geen behoefte is aan beveiligingsmechanismen. Dit in tegenstelling tot cryptologie die is gebaseerd op een enkele sleutel.

Wanneer het bestand eensleutel.pgp een sleutel bevat dan kan deze aan je sleutelbos worden gehangen met:

$ pgp -ka eensleutel [ring]
De toevoeging .pgp betekent standaard dat het bestand een sleutel bevat en normaliter zullen de sleutelbossen pubring.pgp en secring.pgp worden gebruikt voor het toevoegen van de sleutels.

Wanneer je een sleutel toevoegt kan PGP je een seintje geven dat de sleutel niet gecertificeerd is; wat aangeeft of de betreffende sleutel onomstotelijk afkomstig is van de betreffende persoon of niet.

Indien je "zekerheid" hebt over de echtheid van de sleutel, omdat die bijvoorbeeld persoonlijk is overhandigd of via een beveiligd kanaal, dan kun je hem zelf certificeren. Dit betekent dat we een handtekening zetten als bewijs voor de echtheid van de sleutel.

Hiermee kunnen we deze sleutels weer doorgeven aan anderen die ons vertrouwen en geloven dat we ze een echte en originele sleutel doorgeven.

Deze procedure heeft zelfs een naam: web of trust (vertrouwensweb). In de Verenigde Staten zijn er zelfs groepen PGP gebruikers die elkaar gecertificeerde openbare sleutels doorschuiven :)

Laten we eens een voorbeeld met naam en toenaam nemen om dit concept duidelijk te maken. Laten we weer uitgaan van twee vrienden, Jan en Piet. Jan geeft zijn openbare sleutel aan Piet. Piet is zeker van de echtheid van Jan's sleutel omdat zij elkaar vertrouwen. Thuisgekomen zal hij hem aan zijn sleutelbos hangen en certificeren met zijn eigen privé-sleutel.

Twee nieuwe personen komen het toneel op: Leo en Maria. Leo krijgt via Piet de sleutel van Jan en stuurt deze door naar Maria. Maria vertrouwt Leo niet maar ziet dat de sleutel van Jan door Piet is gecertificeerd. Maria kan nu, dankzij Piet zijn handtekening, de echtheid van de sleutel van Jan controleren. Ze heeft de openbare sleutel van Piet omdat hij deze haar persoonlijk heeft overhandigd, waarmee ze dus de echtheid van datgene wat Leo haar heeft gegeven kan controleren door het controleren van de echtheid van de handtekening van Piet op deze sleutel. Waarmee we zien hoe een gegeven sleutel van een onbetrouwbaar sujet als Leo, toch kan worden vertrouwd en gebruikt.

Het is rommelig:) maar noodzakelijk om je te beschermen tegen het enige zwakke punt van dit type cryptografie: het feit dat openbare sleutels vals kunnen zijn.

Sleutels verwijderen

De volgende stap in onze kleine gebruikershandleiding voor PGP, nadat we nu weten hoe we sleutels toe moeten voegen, is te weten komen hoe we sleutels weer kunnen verwijderen. Dat kan met het volgende commando:
$ pgp -kr naam [ring]
Bijvoorbeeld "$ pgp -kr jan" verwijdert iedere sleutel die de naam jan in zich heeft. Standaard wordt de openbare sleutelbos doorzocht.

Een sleutel gebruiken

Na een aantal sleutels van vrienden aan de openbare sleutelbos te hebben gehangen kunnen we hun nu onze openbare sleutel toesturen. Hiervoor moet onze sleutel worden gebruikt:
$ pgp -kx naam bestand [ring]
Bijvoorbeeld "$ pgp -kx angel mykey" haalt de openbare sleutel met de naam angel van de bos en kopieert deze naar het bestand mykey.pgp.

Het betreffende bestand is niet in ASCII formaat (probeer hem met cat maar eens te bekijken). Als we echter een dergelijk bestand willen om te versturen via E-mail of om op te nemen in een finger bestand dan kan dit met:

$ pgp -kxa naam bestand [ring]
"$ pgp -kxa angel mykey" zal bijvoorbeeld de openbare sleutel met de naam angel naar het bestand mykey.asc kopiëren.

Met de sleutel worden ook alle eventuele certificaten meegegeven.

Inhoud van een sleutelbos

Om alle sleutels die aan een bos hangen te kunnen zien typt men het volgende:
$ pgp -kv [naam] [ring]
Wederom, standaard wordt pubring.pgp gebruikt. Als geen naam wordt gegeven dan worden alle sleutels getoond.

Om alle certificaten voor de sleutels te bekijken typt men:

$ pgp -kvv [naam] [ring]

Coderen van een bericht

We hebben nu gezien hoe we met sleutels om moeten gaan, laten we er eens iets nuttigs mee gaan doen. Laten we eens kijken hoe we een bestand kunnen coderen:
$ pgp -e bestand naam
Als voorbeeld: een leraar wil een collega een tentamen opsturen per E-mail. Gecodeerd, zodat studenten het niet kunnen onderscheppen:) Laten we aannemen dat de tweede leraar Mark heet en dat de naam van zijn openbare sleutel zijn naam bevat. De betreffende leraar tikt dan in:
$ pgp -e examen.doc mark
Dit genereert het bestand examen.pgp wat het bestand examen.doc bevat, dusdanig gecodeerd dat alleen Mark het kan decoderen via zijn privé-sleutel.

Merk op dat het gegenereerde bestand geen ASCII bestand is. Voor E-mail is het daarom aan te bevelen om de optie -a te gebruiken zodat de uitvoer een ASCII-bestand is, als volgt:

$ pgp -ea examen.doc mark
Uit beveiligingsoverwegingen willen we soms het originele bestand meteen weggooien. Dit kan automatisch met het toevoegen van de optie -w:
$ pgp -eaw examen.doc mark

Coderen van een bericht voor meerdere ontvangers

Stel je voor dat de leraar het tentamen naar alle collegae van zijn afdeling wil versturen. Hiervoor hoeft hij slechts meerdere namen toe te voegen:
$ pgp -ea examen.doc mark jan alicia
Merk op dat de -a optie is gebruikt zodat de uitvoer een ASCII- bestand is, geschikt voor E-mail.

Hoe een bericht te ondertekenen

Zoals reeds eerder vermeld gelijkt een digitale handtekening op een normale handtekening op papier. Het stelt de ontvanger in staat vast te stellen dat dit echt een bericht van jou is en dat er niet aan is geknoeid.

Voor het tekenen hebben we onze privé-sleutel nodig:

$ pgp -s bestand [-u naam]
Als we meerdere sleutels gebruiken kunnen we er één uit het bestand secring.pgp kiezen door het gebruik van de naam.

Wanneer de leraar in ons voorbeeld besluit om het bericht te ondertekenen zodat zijn collegae weten dat dit niet van een student met humor:) afkomstig is zal hij het volgende typen:

$ pgp -s examen.doc
Dit genereert een bestand genaamd examen.doc.pgp wat niet in ASCII formaat is omdat PGP een poging doet het bestand te comprimeren. Als je hem daarentegen in leesbaar formaat wilt versturen dan gaat dat als volgt:
$ pgp -sta examen.doc
Dit laatste commando is nuttig voor het ondertekenen van E-mail die nog steeds leesbaar is voor mensen zonder PGP of diegenen die de handtekening niet willen verifiëren.

Het is ook nog mogelijk een handtekening te zetten en vervolgens het bericht te coderen als volgt:

$ pgp -es bestand naam_ontvanger [-u mijn_naam]
Bijvoorbeeld:
$ pgp -es examen.doc mark -u angel
Dit zal het bestand examen.doc ondertekenen en coderen in het bestand examen.pgp. De gebruikte openbare sleutel voor het coderen is degene met de naam "mark" dus alleen diegene die die sleutel bezit kan het decoderen. Vervolgens gebruik ik de privé-sleutel met de naam "angel" omdat ik meerdere sleutels heb.

Zelfs in dit geval kan ik een ASCII-bestand aanmaken door de optie -a te gebruiken.

Een andere leuke mogelijkheid is om een handtekening aan te maken voor het bericht in een apart bestand. Hiervoor hebben we de optie -b nodig:

$ pgp -sb examen.doc
Dit commando maakt het bestand examen.sig aan, waarin de handtekening zit.

Decoderen

Voor het decoderen van een bestand en/of het controleren van een handtekening kan het volgende commando worden gebruikt:
$ pgp invoer_bestand [-o uitvoer_bestand]
Standaard neemt het programma aan dat invoer_bestand eindigt op de extensie .pgp. uitvoer_bestand is optioneel en bevat het gedecodeerde bericht. Als dit niet wordt opgegeven dan zal het bericht in invoer_bestand worden gezet zonder de .pgp extensie.

Echter, we kunnen ook specificeren dat het gedecodeerde bericht naar standaard uitvoer wordt geschreven met de optie -m:

$ pgp -m bestand
Er is nog een andere mogelijkheid; het gebruik van invoer- en uitvoer-pipes met de -f optie:
$ pgp -fs naam < invoer_bestand > uitvoer_bestand
Nog een leuk scenario is het decoderen van een bericht met handtekening waarbij we de handtekening willen behouden omdat we het geheel weer willen coderen en doorsturen naar een derde persoon. Hiervoor is de optie -d:
$ pgp -d examen
Het bestand examen.pgp wordt nu gedecodeerd maar de handtekening wordt in het bericht gelaten. Nu kan men weer verder coderen met de sleutel van een derde persoon die, na ontvangst, de echtheid van het bericht na kan gaan.

Omgaan met tekstbestanden

PGP wordt vaak gebruikt voor het coderen van E-mail wat meestal uit tekst bestaat. Probleem daarvan is dat verschillende machines hier verschillend mee om gaan. Alle regels in MSDOS bijvoorbeeld eindigen met CR en LF; onder Linux met alleen LF, onder Macintosh met alleen CR enzovoorts. Om dit soort problemen tussen verschillende machines te voorkomen kunnen we bij PGP expliciet aangeven dat we een tekstbestand coderen zodat hij bij het uitpakken de conventie kan gebruiken van de machine waarop uit wordt gepakt en we van de verschillen dus geen last meer hebben. Hiervoor kunnen we de optie -t gebruiken. Bijvoorbeeld:
$ pgp -sta tekstbestand naam

"Vingerafdruk"

Een vingerafdruk is een aaneenschakeling van 16 bytes die een sleutel identificeert. Je kunt nagaan of een persoon de juiste sleutel heeft door alleen deze 16 bytes te testen in plaats van alle 1024 bytes één voor één.

Voor het laten zien van een vingerafdruk kan het volgende commando worden gegeven:

$ pgp -kvc naam [ring]

Het gebruik van PGP in shells

PGP heeft een optie die met name nuttig is bij het automatisch uitvoeren van shell scripts.
 +batchmode 
Hiermee zal PGP niets aan de gebruiker vragen wat niet strikt noodzakelijk is. Gebruik deze optie voor het automatisch verifiëren van een handtekening. Als het bestand geen handtekening bevat zal de foutcode "1" worden geretourneerd; als het bestand er wel een heeft en hij is correct dan zal een "0" worden teruggegeven.
$ pgp +batchmode bestand

+force
Deze optie forceert het overschrijven van een bestand of het verwijderen van een sleutel.
$ pgp +force +kr mark
In een script is het nuttig als PGP geen vragen stelt over wachtwoorden tijdens het coderen. Dit kan men voorkomen met de omgevingsvariabele PGPPASS.

Hier een voorbeeld:

$ PGPPASS="wachtwoord"
$ export PGPPASS
$ pgp -s bestand.txt mark
Een alternatieve manier om PGP het wachtwoord niet-interactief mee te geven is het gebruik van de -z optie.

Zoals hier:

$ pgp -sta examen.txt angel -z "wachtwoord"
Nog een nuttige optie voor gebruik in scripts is om PGP in verbose stand te zetten met +verbose. Hierbij zal PGP zijn mond houden over wat hij doet, behalve in het geval van fouten.
$ pgp bestand.pgp +verbose=0

Integratie met mail-lezers

Het integreren van PGP met lezers van mail voor het automatisch coderen, decoderen en tekenen van mail is heel eenvoudig en nauwelijks afhankelijk van het gebruikte leesprogramma.

Als voorbeeld zal ik de integratie van PGP met Pine behandelen. Hopelijk is dat het leesprogramma wat de lezer gebruikt.

Hoewel ik inga op de samenwerking tussen PGP en Pine, zullen de principes ook gelden voor andere leesprogramma's. De configuratie keuzen zal voor andere programma's uiteraard anders zijn.

Om een mail automatisch te decoderen alvorens het te lezen zal er een filter nodig zijn dat de decodeerstap uitvoert voordat het bericht wordt weergegeven. Een andere mogelijkheid is het schrijven van een macro die het decoderen en weergeven combineert.

In het geval van Pine is er een optie waarmee je filters kunt definiëren die uit worden gevoerd voor het weergeven van het bericht. Deze optie heet 'display-filters' en kan gevonden worden op het configuratiemenu van Pine. Hier voegen we een nieuw filter toe dat er als volgt uitziet:

_BEGINNING("-----BEGIN PGP MESSAGE-----")
_ /usr/local/bin/pgp
Ieder bericht wat met PGP is gecodeerd bevat twee specifieke regels met als inhoud "-----BEGIN PGP MESSAGE-----" en "-----END PGP MESSAGE-----". Uitvinden of een bericht gecodeerd is is dus een kwestie van het vinden van één van deze twee regels. Het filter uit Pine doet dat voor je. Voor het weergeven doorzoekt het de tekst op die specifieke regel met als beperking dat het aan het begin van een regel moet staan. Als deze wordt gevonden zal het filter het programma /usr/local/bin/pgp uitvoeren.

Als er daadwerkelijk een gecodeerd bericht in zit zal PGP dus worden uitgevoerd. Het zal om je wachtwoord vragen, waarna je het bericht kan lezen. Wanneer je dit nog meer geautomatiseerd wilt laten verlopen dan kun je het ingeven van het wachtwoord overslaan door PGPPASS te definiëren of de -z optie te gebruiken, zoals eerder reeds beschreven.

Nu hoeven we alleen nog een filter te hebben wat een te versturen bericht automatisch codeert met de openbare sleutels van de ontvangers. Pine komt hier wederom te hulp geschoten met de mogelijkheid tot het configureren van 'sending-filters'. Dat filter ziet er als volgt uit:

/usr/local/bin/pgp -etaf _RECIPIENTS_
Na het ingeven van het bericht en CTRL-X om het te versturen, zal Pine vragen of je dit direct wenst te versturen of dat er nog door filters heen moet worden gegaan. Om het bericht ongecodeerd te versturen moet bevestigend worden geantwoord. Als je het wilt coderen echter dan moet je CTRL-N of CTRL-P indrukken, waarmee je langs de lijst van bekende filters wordt geleid. In ons geval zal het alleen het hierboven weergegeven filter zijn.

Dit is een eenvoudige en basale configuratie die je in staat stelt op PGP te gebruiken onder Pine met gebruikmaking van slechts 2 filters. Om meer te weten te komen over het integreren met Pine en andere programma's kan het beste één van de volgende links worden gevolgd:

elm | GNUEmacs | tin | mailx | MH | Pine | sendmail | vi | zmail 

Voor meer informatie: