Saltrød Horror Show nr. 83

av Odd de Presno.


Publisert i Datatid, Norge nr. 3/1994, side 78.


Pretty Good Privacy er akkurat det: et forbaska godt program for å holde ting hemmelig. Det er så godt at US Government har reist sak mot programmereren for å ha eksportert det ulovlig! Gratisprogrammet ligger i filen PGP23A.EXE (216KB).

Den første interessante anvendelsen er å beskytte konfidensiell informasjon på harddisken. Jeg er først og fremst redd for tyver. Det er så lett å stjele en notisbokmaskin og skaffe seg adgang til alt som ligger der.

På min harddisk ligger passordene til CompuServe og andre kommersielle datatjenester, kredittkortinformasjon og annet, som det ville være ubehagelig og kostbart å bli frastjålet.

Nå har jeg imidlertid sikret meg. Ingen kan lengre lese min hemmelige passordfil. Den er kodet om til det ugjenkjennelige med PGP. Du må kjenne mitt hemmelig passord for å kunne lese innholdet i filen CONFIG.T.

Kommunikasjonsprogrammet startes med en batchfil, som blant annet inneholder følgende kommandoer:

ECHO OFF
REM Parameteren i neste linje kreves av PGP
SET TZ=MET-1DST
REM Filen CONFIG.T hentes ut av den kodede filen CONFIG.PGP.
PGP CONFIG.PGP CONFIG.T
DEL CONFIG.PGP
REM Kommunikasjonsprogrammet startes opp
YAM call start
REM CONFIG.T krypteres. Resultatet legges i CONFIG.PGP
PGP -C CONFIG.T
REM Neste kommando beskytter gamle CONFIG.T mot å bli
REM rekonstruert med et UNDELETE program.
WIPE CONFIG.T

DOS UNDELETE er normalt en velsignelse, men i dette tilfellet en uting. Gratisprogrammet WIPE (i filen WIPE11.EXE, 17KB) ødelegger en eller to filer fullstendig, døper dem om til vilkårlige navn og sletter dem. Ingen UNDELETE-kommandoer i verden kan bringe filen(e) tilbake igjen.

WIPE er laget av finnen Vesa Kolhinen. Merk: Det virker ikke like bra på komprimerte disker (f.eks. på en DoubleSpace-disk).

Beskyttelse av elektronisk post er en annen nyttig anvendelse. Selv om elektronisk post er rimelig sikkert, er det alltid en systemoperatør eller lignende, som kan lese posten om de vil. Helt sikker er du bare om dataene er kryptert.

Min anvendelse er i forbindelse med sharewareboken "The Online World". Tidligere ba jeg lesere registrere seg pr. fax eller brev, om de ville betale med kredittkort. Nå kan de bruke email.

Her er PGP brilliant! Den har en bombesikker krypteringsmetode og lar deg signere dine meldinger digitalt, slik at mottakeren kan være helt sikker på at det kommer fra deg.

Sikkerheten har imidlertid en pris. Det er litt vanskelig med første øyekast å forstå hvordan PGP virker. Jeg skal derfor forklare min anvendelse, skritt for skritt.

Planen var å gjengi en kode i boken, som lesere kunne bruke for å kode sine kredittkortdata før forsendelse. Bare jeg skulle kunne dekryptere og lese det.

Skritt 1: To personlige "nøkkelringer"

I min første anvendelse er det nok med ett hemmelig passord. Ved utveksling av kryptogrammer med andre, må hver mottaker og sender ha to personlige nøkler. En nøkkel er en liten kodet fil.

Hver bruker lager sine egne "nøkkelringer" med PGP. Den ene nøkkelen kan fritt offentliggjøres. Den andre er privat og hemmelig.

Den som vil sende en kryptert melding til meg, må bruke min offentlige nøkkel når de krypterer den med PGP. Jeg må bruke min hemmelige nøkkel for å kunne dekryptere meldingen. Selv han som har kryptert den, kan ikke dekryptere den. Metoden er bombesikker.

Min offentlige nøkkel kan spres til alle. Den kan ikke brukes for å finne ut hva som er min hemmelige nøkkel.

Skritt 2: Utsendelse av offentlige nøkkelring

Nøkkelringen inneholder tegn over hele ascii-registeret og egner seg ikke til å bli sendt ut som email. En egnet versjon lages med kommandoen:

pgp -kxa oddpresno@online.no online

Resultatet blir filen online.asc (se figur 1). Det er denne teksten jeg har gjengitt i boken min.

Skritt 3: Kryptering av hemmelig melding

Den som vil sende meg sine kredittkortdata, klipper først ut min offentlige nøkkelring av boken og lagrer på disken. La oss anta at han gir den filenavnet ONLINE.ASC .

Siden filen er kodet om til ascii, må den først føyes til hans nøkkelring. Det gjøres med kommandoen

pgp -ka online.asc

Senderens hemmelige kredittkortdata ligger i filen HEMMELIG (mine testdata er i figur 2). Han koder teksten med kommandoen:

pgp -ea hemmelig opresno@extern.uio.no

PGP svarer omtrent slik:

Key for user ID: opresno@extern.uio.no
512-bit key, Key ID 53F71D, created 1993/12/30
Transport armor file: hemmelig.asc

Innholdet i hemmelig.asc er gitt i figur 3. Det kan tas inn i en elektronisk melding og sendes til meg.

Skritt 4: Dekryptering

Meldingen kommer i min elektroniske postkasse. Jeg klipper ut kodeteksten og lagrer i filen HEMMELIG.ASC. Deretter taster jeg:

pgp hemmelig.asc

PGP varsler "You need a pass phrase to unlock your RSA secret key. Enter pass phrase:". Jeg taster inn passordet, som ligger i min hemmelige nøkkelfil. HEMMELIG.ASC blir dekryptert og innholdet kan leses.

PGP har mer for den sikkerhetshungrige, som meldingsidentifikasjon. Med dette kan gi en melding en elektronisk signatur, som bevis for at den kommer fra din hånd. Forfalskning av en slik underskrift er umulig.

Fgrep er en favoritt og har vært det i årevis. Christopher J. Dunfords versjon 1.80 bare befester stillingen. I tillegg til at forfatteren har lagt ved en noe raskere versjon for 80386- maskiner (eller bedre), er det mye annet interessant nytt:

Du kan nå søke i alle katalogene under en gitt katalog. Om du for eksempel vet du har skrevet et brev til redaktør Eirik Rossen i Datatid, men ikke finner det på harddisken, kan du finne det med kommandoen

fgrep -r 'eirik rossen' \*.*

Programmet begynner i rota og leter gjennom alle filer i alle kataloger etter søkestringen. Hurtig. Endrer du parameteren -r til -pr, får du pause etter hver skjermfull. Du kan også stille det inn for å gi statusrapporter mens det søker seg frem fra katalog til katalog.

En annen svært interessant egenskap er muligheten til å begrense et søk til en bestemt kolonne. Er det et brev, vet vi kanskje at det begynner med "Redaktør Eirik Rossen" helt til venstre i linje 1 i adressefeltet. Dette kan vi søke på med parameteren -i1.

Når vi nå først er i gang, la oss utvide eksemplet for hurtig å kunne bla gjennom funnene med LIST. Det kan gjøres med batchfilen i figur 4. Kaller du batchfilen FINN, kan du taste

FINN 1 C:\*.* Redaktør Eirik Rossen

Fgrep søker gjennom hele disken (også programmer) etter filer hvor søkeordet begynner i kolonne 1. Resultet blir vist frem på skjermen med LIST. Du trykker Alt-I (holder ALT-tasten nede mens du trykker I) og får en markør på skjermen. Flytt markøren over ønsket filnavn og trykk Enter for å lese innholdet i filen. Effektivt!

Jeg bruker bl.a. Fgrep for å fjerne uinteressant informasjon fra innfilen, etter å ha ringt oppslagstavlen min. Ved hjelp av negative søk (-v) og omdirigering av søkeresultatet fjernes linje etter linje. Med -i kan disse operasjonene nå gjøres sikrere og lettere.

Fgrep lar deg også søke ved bruk av jokertegn i søkeordet (?). Søkeordet "ros????" fant både linjer med ordet "Rossen" og "prosjekter" i en av mine tester.

En ny parameter (-t) gir kun den strengen som finnes uten å ta med resten av teksten på linjen. I eksemplet over vil Fgrep bare rapportere ROSSEN og ROSJEK om denne innstillingen brukes.

Programmet ligger i filen FGREP180.EXE (28KB, gratis).


Figur 1

Odd de Presnos offentlige nøkkelring. Bygger på epost-adressen opresno@extern.uio.no .

-----BEGIN PGP PUBLIC KEY BLOCK-----
mQBNAi0jCjcAAAECAKBK1u0JZHZSEh50P3TdgSApuZCEWQh2Nsxw1pYrC4bgy/md
bAN3UFrkgwShtnpPIjm+GcXFBiKpZ5kDuT9T9x0ABRG0FW9wcmVzbm9AZXh0ZXJu
LnVpby5ubw==
=AXgT
-----END PGP PUBLIC KEY BLOCK---


Figur 2

Teksten i HEMMELIG.TXT før kryptering med PGP

  • Økonomi. Bedriften må til enhver tid vite hvordan det går i alle deler av virksomheten. Slik at problemer kan løses før de fører til økonomiske tap. Ledelsen bruker i økende grad IT når den lager planer og for å måle i forhold til disse hvordan det går fra måned til måned.


Figur 3:

Teksten i HEMMELIG.TXT etter kryptering med PGP

 -----BEGIN PGP MESSAGE-----
 hEwCZ5kDuT9T9x0BAf4x5RPttquoLAybaCfr0B4e8uNYmJ6/mckjRHyjA6MCiDvE
 9t4WqA3phEQWMa9mmpKRWPzmuhEk55skLhcCsEOspgAAAN0Xz7VoBkUgooMQUEsk 
 9WbzhNkgSARp5uVKxnfQPOx/L/XBMygbFCrewNYOYClf3zFn4d1OupLRRokgez39 
 UeQQShmmO26mAk7pMKC8AAHp57vIUPe+cq4BHqmQ4R4crse0OkejPC9j4LQVnMlR 
 0JWFoCjcP4eByOWKDvtY4fnbSn2OgfkupiYxO1NpasFK2/wD8BDbdLBzmdxq3/JA 
 4SwRy437ufZEhLCb8i9w6x8kzz+FYFLzp7RCM3hQeuO09MP3XSThIIQH7goMYA+u 
 zkwcXVG4YCRk6Ok58dRDyA== 
 =PBsq 
 -----END PGP MESSAGE--- 


Figur 4

echo off
if (%2)==() goto hjelp
if (%4)==() goto en
if (%5)==() goto to
if (%6)==() goto tre
if (%7)==() goto fire
if (%8)==() goto fem
if (%9)==() goto seks
goto ni
:en
fgrep -@ri%1 '%3' %2 >inn
goto list
:to
fgrep -@ri%1 '%3 %4' %2 >inn
goto list
:tre
fgrep -@ri%1 '%3 %4 %5' %2 >inn
goto list
:fire
fgrep -@ri%1 '%3 %4 %5 %6' %2 >inn
goto list
:fem
fgrep -@ri%1 '%3 %4 %5 %6 %7' %2 >inn
goto list
:seks
fgrep -@ri%1 '%3 %4 %5 %6 %7 %8' %2 >inn
goto list
:syv
fgrep -@ri%1 '%3 %4 %5 %6 %7 %8 %9' %2 >inn
:list
list inn
del inn
goto slutt
:hjelp
echo Kommandoformat: FINN Kollonne-nummer Filsti Søkestreng
echo Bruk ALT-I for å peke på et filnavn og ENTER for å lese.
echo Bruk CTRL-PgUp for å gå tilbake til fillisten.
:slutt


Til artikkelmenyen | Det er forbudt å distribuere denne artikkelen - eller deler av den - i elektronisk, trykt eller kopiert form mot betaling.