Opgavesamling
til NP:
Netværk og Protokoller
Niels Christian Juul
Datalogi / RUC
Version af 20. september 2001
Indhold
1. Datakommunikation og netværk
1.1 Dynamisk rutning
1.2 Surfing med Netscape
1.3 Opkobling til Linux maskine
1.4 Flytning af filer
1.5 Ping
1.6 Traceroute og Ping i praksis
1.7 ARP, Netstat og Tcpdump i praksis
1.8 Konfiguration af Domain Name Service
1.9 Konfiguration af Linux som Router
1.10 Brug af telnet og listen til protokolanalyse af HTTP
1.11 Netværksstyring med SNMP
1.12 Planlægning og konfigurering af virksomhedens e-post
1.13 Sikkerhedsovervejelser for virksomhedens e-post
1.14 Installation og konfiguration af Apache webserver
1.15 Installation og konfiguration af SAMBA - LAN Manager
server
1.16 Telnet til port 25 på mail-serveren
2. Kryptologi
2.1 Check spørgsmål
2.2 RSA
2.3 PGP
2.4 Kodebrydning
1. Datakommunikation og netværk
1.1 Dynamisk rutning
I et netværk med 6 knuder: A, B, C, D, E og F er knuderne forbundne
således:
Hvor vejlængden (omkostningen ved at bruge en forbindelse) er
angivet på vejen mellem to knuder.
-
Opret de seks rutningstabeller og indsæt de initielle værdier.
-
Opdater tabellerne med værdier modtaget fra naboknuderne indtil en
optimal situation er opnået.
Nu fjernes forbindelsen mellem C og F, dvs, den sættes til
¥
(uendelig) i rutningstabellen for C og F.
-
Vis hvordan tabellerne opdateres ved hjælp af naboværdier indtil
en ny stabil tilstand opnås.
1.2 Surfing med Netscape
Start PC'en og derefter Windows eller Linux og Netscape. Undervejs i det
følgende nedskrives adressen på de besøgte sider (URL):
-
Gå til URL: http://www.inf.cbs.dk/ og
kig dig omkring.
-
Gå til URL: http://info.denet.dk/dk-infoservers.html
Klik dig omkring nogle af de danske servere og se hvad de serverer.
-
Snus rundt ad følgende spor herfra: Copenhagen Business School -
Erhvervsøkonomiske fakultet - INF - Instituttets egen hjemmeside
- listen over medarbejdere - ......
-
Find INFO-2000 rapporten og regeringens IT-handlingsplan fra forskningsministeriet
via www.fsk.dk
-
Via TeleDanmark (www.teledanmark.dk) er der også adgang til den store
opslagsbog over danske e-mail adresser: http://www.katalog.tele.dk/
Prøv at slå nogle af lærerne fra Handelshøjskolen
op i kataloget. Hvem vedligeholder denne opslagsservice?
-
Prøv f.eks. JuBii oversigten over danske WWW servere og find noget
om et emne, som interesserer dig (www.jubii.dk). Fortæl hvordan du
fandt det?
1.3 Opkobling til Linux maskine
Find ud af hvordan du kobler dig op til en Linux maskine og beskriv de
besværgelser der skal til indtil du når det punkt hvor du har
adgang til at afvikle programmer på maskinen.
Tips: Fra en PC kan man anvende programmet telnet til at koble
op til andre maskiner som der er fysisk forbindelse til gennem PC'ens netkort
og det netværk den er tilsluttet.
1.4 Flytning af filer
Brug enten Netscape eller programmet FTP under Windows eller Linux til
at flytte en fil fra PC'en til en Linux maskine.
-
Hvad er forskellen på de to programmers virkemåde m.h.t. flytning
af filer?
-
Kan du også flytte filer den anden vej?
1.5 Ping
Ping protokollen bruges til at sende en pakke over et netværk til
en bestemt modtager, som straks returnerer pakken til afsenderen. Ping
bruges til fejlfinding på netværk med mange hop og til at måle
hvor hurtigt en lille besked kan sendes fra en maskine til en anden.
-
Bruger ping en løs eller fast forbindelse?
-
Sendes ping-pakker over en pålidelig eller en upålidelig kanal?
-
Hvor mange gange skal en ping-pakke passerer gennem (hvilke?) lag i Internets
lagmodel?
-
Hvis en ping-pakke kommer tilbage til afsenderen efter 6 ms, hvor lang
tid tager det så at sende en tilsvarende data-pakke til den anden
modtager, når der ikke ventes på "acknowledgement"?
-
Hvorfor måler man ikke bare tiden det tager at sende en pakke fra
en maskine til en anden?
1.6 Traceroute og Ping i praksis
Prøv ping og traceroute fra en PC til:
-
en anden PC i samme lokale
- www.it-c.dk
-
www.sunsite.auc.dk
- www.jubii.dk
- www.diku.dk
-
cs.ucr.edu
-
june.cs.washington.edu
-
gil.di.uminho.pt
Hvad kan du udlede af svartiderne for ping og meddelelserne om alle hop
i traceroute?
Tips: Under windows findes programmet Ping, som kan lave ping
og programmet tracert, som kan lave traceroute.
Et tilsvarende program Ws-Ping findes også tilgængeligt
som shareware/freeware på Internet. Find John Junods program i TUCOWS
arkivet og installer dette. TUCOWS arkivet kan findes via JuBii hos f.eks.
CyberCity eller Aaborg Universitet Center.
Under Linux findes også ping og traceroute.
1.7 ARP, Netstat og Tcpdump i praksis
Programmerne arp og netstat findes som kommando under såvel en DOS-shell
(Win95), som under linux (root shell er nogen gange nødvendig).
Linux har også kommandoen tcpdump.
Hunt, kapitel 11 giver en del forklaringer til disse kommandoer.
Prøv disse kommandoer og ned/ud-skriv resultatet. Der føres
logbog (dagbog) over eksperimenterne.
-
Hvilke informationer er det muligt at få v.h. af ARP?
-
NETSTAT kan give mange varianter af informationer, overvej hvad disse informationer
kan bruges til f.eks. i forbindelse med indkøring af socket/winSock-programmer
som tilsyneladende ikke virker.
-
TCPDUMP giver en voldsom mængde data. Forklar de enkelte linier i
uddata. Hvorfor begrænses brugen af dette program oftest til priviligerede
brugere (root f.eks.) ?
-
For alle kommandoerne beskrives hvilken relation de forskellige værdier
(numre) har til OSI-modellens syv lag?
1.8 Konfiguration af Domain Name Service
Denne opgave handler om at få en DNS-server (Domain Name Service)
for lokalnettet til at fungere på en linux maskine og få såvel
linux maskinen, som andre maskiner i netværket til at anvende denne
server.
Der skal installeres og konfigureres en DNS-server (named - se Hunt
kapitel 8) under Linux og denne skal benyttes fra såvel maskinen
selv som fra en Windows arbejdsstation i samme net.
Der skal føres dagbog (logbog) over installation og konfigurering.
Konfigureringsfiler udskrives og medbringes til øvelserne.
-
Installer og konfigurer samt test en cachende DNS server.
-
Installer og konfigurer samt test en DNS server for et lille privat netværk.
-
Prøv her at definere dit eget netværk (private netværksadresser
for klasse C netværk kan anvendes, bare de ikke er i konflikt med
andre tilsvarende på samme fysiske netværk, se Hunt side 83ff).
Lad de maskiner du kører med (såvel Linux som Windows) have
disse private IP-numre samtidig med at de også har de eksisterende
numre.
-
Giv maskinerne domain-navne under dit eget domain og knyt de alternative
IP-numre hertil. Lad din DNS-server være primær navne server
for dette domain.
-
Virker din nye navne service, hvis du omkonfigurerer Windows maskinen til
at bruge din name-server?
Husk at fjerne brugen af den alternative name server og de alternative
IP-adresser igen fra maskinerne.
Tips. Da det kan være et problem at rette i netværksopsætningen
under windows fordi nogle systemadministratorer fjerner dele af kontrolpanelet
henvises her til en lille utility, netswitcher, som kan bruges til at omkonfigurere
netværksdelen under win9x. Hent programmet hos: www.netswitcher.com
Vigtigt. Husk at gemme den eksisterende opsætning inden
I foretager ændringer. NetSwitcher tilbyder den mulighed. Det gør
det meget nemmere at reetablere systemet igen.
1.9 Konfiguration af Linux som Router
Denne opgave går ud på at få linux maskinen til at fungere
som router mellem to netværk. I praksis ville man selvfølgelig
indsætte flere netværkskort (NIC) i maskinen og lade hvert
NIC håndtere sit netværk. I vores tilfælde lader vi vores
linux maskine være router mellem to private netværk, som tilfældigvis
sidder på det samme fysiske Ethernet, men som ikke kan "se" hinanden
på IP-niveau. Hunt beskriver i første del af kapitel 7 hvordan
netværksdelen i Unix kan opsættes med statisk rutning mellem
netværk. I RedHat 5.2 findes der yderligere grafiske værktøjer
til at lave denne opsætning udover kommandoerne beskrevet i Hunt.
-
Tag udgangspunkt i det ekstra private netværk I definerede i opgave
1.8
og lav yderligere et ekstra privat netværk, så I har to private
netværk, med en windows maskine på hvert net. De to windows
maskiner kan så ikke længere se hinanden (ping IP-no) via deres
private netværk.
-
Definer begge private netværk på jeres linux maskine og opsæt
statisk rutning på denne mellem de to netværk.
-
Test af jeres to windows maskiner nu kan se hinanden.
-
Hvis jeres linux maskine også definere rutning mellem de private
netværk og højskolens internet, så burde jeres windows
maskiner kunne komme up på internettet.
-
Virket det (prøv med ping til eksterne IP-no) ?
-
Hvorfor / hvorfor ikke ?
Husk igen at reetablere windows maskinerne med de oprindelige netværksadresser.
Bemærk at ovenstående opgave forudsætter at de eksisterende
lovlige standard adresser fjernes helt fra windows maskinerne under forsøget.
1.10 Brug af telnet og listen til protokolanalyse af
HTTP
Denne opgave går ud på at analysere en protokol (HTTP i dette
tilfælde) ved successivt at udskifte server og client med pseudo-programmer
og efterligne de enkelte trin i protokol dialogen manuelt. Det går
godt når protokol dialogen i virkeligheden foregår læsbart,
dvs. som klar tekst/kommandoer.
Til analysen anvender vi skiftevis den rigtige server og klient, dvs. en web-server
og en web-browser, og et sæt snydeprogrammer som klient og server. Vi benytter
telnet (standard program under både windows og unix) som klientprogram og
programmet listen (programkode vedlagt i C til afvikling under
Unix), som pseudo server.
Før du går videre med opgaven skal programmet listen.c bringes
til at køre (som C program oversat med gcc under f.eks. Linux eller omskrives
i Java og oversættes med javac). Dette er den implementationstunge del
af opgaven. Selvom den ikke lykkes for dig, kan du godt gå i gang med
trin 2 nedenfor.
Når vi skal analysere hvad der egentlig sker i f.eks. HTTP når
vi browser på WWW kan vi gøre følgende:
-
Trin 1. Et http-request
-
Start listen-serveren på maskine med IP nummer x.x.x.x og lad den
lytte på port yyy (listen programmer fortæller også selv
hvilken port det lytter på).
-
Start din favorit web-browser på en anden maskine og indtast en URL,
der peger på listen serveren, f.eks.
http://x.x.x.x:yyy/etfilnavnellerhvadsomhelst.html
-
Listen-serveren har nu udskrevet den forespørgsel som din browser
sender til web-serveren.
Det svar kan vi bruge i næste trin hvor vi skal lave en pseudo-forespørgsel
til en rigtigt server.
-
Trin 2. Et http-response
-
Udvælg en rigtig web-server og beslut dig for en normal URL
-
Start telnet programmet ved at lade det forbinde sig til maskinen med web-serveren
på port 80 (http-porten i henhold til standarden, port-protokol std.
kan ses i filen /etc/services). Slå lokalt ekko til i telnet programmet,
det letter arbejdet. Husk også at telnet sender dine tastetryk afsted
med det samme, så du kan ikke rette i linien men skal skrive rigtigt
med det samme.
-
Når telnet har forbindet sig til serveren (det er en TCP forbindelse),
kan vi skrive den tekst i telnet-vinduet, som skal sendes til serveren.
Teksten indeholder typisk en GET-kommando med et filnavn efter.
-
Når kommandoen er sendt afsted (husk "return") sender web-serveren
et svar tilbage. Med lidt held kan det hele stå på skærmen,
ellers kan telnet også sættes til at gemme ("log") al tekst
fra vinduet i en fil.
-
Vi har nu et standard web-server svar
-
Trin 3. udfordringen!!!
-
Hvis man vil påbegynde en simpel web-server programmering, kan man
udbygge listen-serveren til at genkende GET-kommandoen og (udover det den
i forvejen gør) til at sende en tekst retur, svarende til det vi
lærte i forrige trin.
-
Prøv nu at forbinde dig til denne server med såvel telnet
som din web-browser.
Analyseopgaven illustrerer hvordan man kan skaffe sig viden om mange af
internettets protokoller og dermed skrive sine egne programmer til disse.
Samtidig er metoden god til afprøvning af den type programmer.
Husk at udskrive resultatet af de enkelte trin i forsøget incl
udskrift af uddata fra begge sider.
1.11 Netværksstyring med SNMP
SNMP er behandlet i Hunt, kapitel 11, side 356ff og i Stamper, kapitel
18, side 512ff.
-
Lav en tegning over et simpelt men typisk "ledelses informations træ"
(LIT).
Træet skal illustrere et Universitets eller Handelshøjskolens
netværk.
Man skal minimum forudsætte 4 - 5 LAN forbundet ved routere.
-
Nævn de 5 brugertjenester (services) dvs. primitiverne associeret
med SNMP-protokollen og forklar deres anvendelse i forhold til LIT.
-
Definer PDU-navne svarende til hver tjenestes primitiv.
1.12 Planlægning og konfigurering af virksomhedens
e-post
En større virksomhed fordelt på flere geografiske lokationer
(i samme tidszone) forbundet med et bro-koblet internet (intelligent bridge
mellem net-segmenterne), ønsker at etablere e-post til samtlige
medarbejdere (godt 1000 voksende til 2000 i løbet af kort tid).
Alle medarbejdere skal med tiden have adgang til forskellige intranet services,
så en løsning baseret på et centralt brugerregister
(LDAP server) er at foretrække. Virksomheden har et stort kommunkationsbehov
(initielt afsender eller modtager hver medarbejder 20 beskeder/døgn
i gennemsnit) både internt og i forhold til eksterne samarbejdspartnere.
En stor del af beskederne forventes at formidle indlejrede dokumenter mellem
afsender og modtager. Kommunikationen med e-post forventes at udgøre
rygraden i virksomhedens work-flow system, hvorfor det er kritisk at beskeder
ikke tabes eller forsinkes idet arbejdsopgaver herved risikerer at gå
tabt. Så vidt muligt skal al virksomhedens interne post kunne afvikles
med kvittering til afsenderen, når modtageren har "læst" beskeden.
Den tekniske platform for medarbejdernes maskiner er meget varieret
(store og små arbejdsstationer, PC, Mac, Windows9x, NT, Unix, MacOS
osv), men alle platforme understøtter TCP/IP og der findes allerede
en række forskellige e-mail klient programmer, som f.eks. Pine, Eudora,
Netscape, Outlook, Pegasus installeret.
-
Planlæg server siden af virksomhedens e-post. Dvs. postkontor for
intern post, samt postkontor for post ud og ind af virksomheden. Hvilke
protokoller skal understøttes på server(en/ne) og hvorfor?
Hvilke programmer kan bruges hertil? Hvilke maskiner og styresystemer?
-
Beregn omkostningerne ved etablering af et sådan system målt
i KKr og/eller persontimer.
-
Overvej og beskriv hvilke arbejdsopgaver der er ved driften af et sådan
system og estimer omkostningerne.
1.13 Sikkerhedsovervejelser for virksomhedens e-post
Virksomheden fra opgave 1.12 og dennes e-post løsning udsættes
nu for diverse angreb over Internettet. En gruppe der kalder sig ORBS (se:
http://www.orbs.org
) har besluttet at sortliste virksomheden fordi en e-post server i virksomheden
har været anvendt som SPAM-relæ. Det har resulteret i at virksomhedens
eksterne kommunikation via e-post i en lang række situationer går
galt idet såvel den udgående som den indgående e-post
forsvinder uden at modtageren bliver klar over det. Overvej hvordan virksomheden
kan sætte et antal indbrydes forbundne e-post servere op således
at virksomheden kan blive taget af ORBS liste og således at virksomheden
heller ikke selv bliver angrebet af disse SPAM-beskeder. Det er dog stadig
et krav at virksomhedens medarbejdere kan abonnere på eksterne post-lister
og at virksomheden selv kan stå for driften af andre post-lister,
hvor der er både interne og eksterne abonnenter.
-
Tegn et diagram med din løsning og angiv forbindelser og protokoller
mellem serverne, Internettet og Intranettet.
-
Beskriv de sikkerhedsmæssige tiltag og hvilken konfiguration af særlige
programmer, som er nødvendige
1.14 Installation og konfiguration af Apache webserver
Forberedelser inden workshoppen:
-
RedHat kommer med en Apache webserver installeret.
-
Find installationsvejledningen og konfigurationsfilerne. Se også
diverse forklaringer i HOWTO katalogerne. Hvor ligger log-filerne?
-
Der findes et grafisk editeringsprogram til vedligeholdelse af Apache's
konfiguration, ellers bruges alm. teksteditering af konfigurationsfilerne.
Forbered hvad du vil bruge.
-
Check er Apache kører og virker ved at kalde web-serveren på
din installation med en browser (enten på samme maskine eller fra
en anden maskine i lokalet).
-
Check Apache's hjemmeside,
om der findes yderligere nyttige tips.
-
Hvis Apache ikke er startet eller evt slet ikke er installeret, så
gøres disse trin i henhold til vejledningerne.
-
Du får brug for nogle HTML-sider, som du kan lægge op på
serveren. Medbring disse hjemmefra. F.eks. en gruppe side og en side per
gruppemedlem.
Workshop opgaver:
-
Hvor ligger hovedsiden på serverens filsystem, når man blot
angiver maskinnavnet som sin URL?
Kan det ændres? Hvordan?
-
Hvor ligger brugernes sider? Kan det ændres?
-
Indlæg gruppens fælles hjemmeside som serverens hovedside
-
Indlæg de personlige hjemmesider under de enkelte gruppemedlemmers
individuelle kataloger. Hver Linux bruger skal som standard have et web-katalog
i sit hjemmekatalog. Den personlige hjemmeside skal ligge som filen index.html
i web-kataloget.
-
Apache muliggør hjemmesider på flere sprog, hvor serveren
afhængigt af browserens præferencer for sprog, vælger
den sprogvariant af en URL, som passer bedst. Prøv det for dansk
og engelsk på en af siderne (i to sprog varianter selvfølgelig).
-
Hvordan begrænses adgangen til de sider en enkelt bruger har liggende,
således at de kun kan tilgås fra web-browsere indenfor HHK's
net, eller andet sub-net. Prøv det.
-
En webserver har brug for at sende fil-typen med i HTTP headeren til browseren.
Hertil bruger web-serveren en tabel over MIME type/subtype og fil-efternavne
(.suffix). Check at f.eks. en powerpoint fil får den rette type sendt
med over til browseren når den loades fra serveren og find det sted
hvor dette skal gøres.
1.15 Installation og konfiguration af SAMBA - LAN Manager
server
Forberedelser inden workshoppen:
-
RedHat kommer med en Sambaserver installeret.
-
Find installationsvejledningen og konfigurationsfilerne. Der er f.x. udemærkede
manual sider til smb.conf. Se også diverse forklaringer i HOWTO katalogerne.
Hvor ligger log-filerne?
-
Check Samba's hjemmeside,
om der findes yderligere nyttige tips.
-
Installer Samba fra RedHat CDen eller den nyeste version fra hjemmesiden.
-
Check er Samba kører (komandoen 'ps' med passende options lister
alle kørende processer, smbd og nmbd skal køre) og virker
(find serveren og det den "share" i stifinder/explore på en anden
maskine i lokalet, default workgroup navn er workgroup).
-
På hjemmesiden findes forskellige grafisk editeringsprogram til konfigurering
af Samba fra en Windows PC eller web-browser. Installer dette og læs
vejledning hertil i forvejen, eller brug alm. teksteditering af konfigurationsfilerne.
Workshop opgaver:
-
Lav din egen workgroup (definer jeres eget gruppenavn) og lav en pæn
præsentations tekst for din server. Genstart sambaserveren og check
fra en Win95 PC.
-
Opret et tomt filkatalog på serveren, som gøres tilgængeligt
for alle der logger på serveren via samba fra en PC.
-
Sørg for at hver bruger på Linux maskinen kan få adgang
til netop sit katalog under Linux fra en Windows maskine. Og at andre ikke
kan. Det skal være både læsning og skrivning.
-
Lav et område på serveren, som uddeles til en gruppe af brugere
(husk at oprette gruppen under Linux), og check at gruppens medlemmer kan
anvende dette og at andre ikke kan.
-
FAT-filsystemet på linux maskinen kan gøres tilgængeligt
under Linux ved at sikre at det er beskrevet i /etc/fstab (der findes grafiske
programmer, som kan vedligeholde denne fil, ellers gør det med en
teksteditor). Sørg for at Win95 partitionen er tilgængelig
men kun som læsning, bortset fra en udvalgt bruger under Linux, som
også har skriverettigheder.
-
Forlæng ovenstående rettigheder af FAT-filsystemet på
Linux maskinen til brugerne på Windows PCerne.
-
Hvordan sikres fornuftig håndtering af filnavne (små/store
bogstaver, blanktegn i linux-filnavne, Dos8.3 begrænsninger etc)
på tværs af disse platforme?
-
Kan man begrænse adgangen til sambaserveren til bestemte subnets?
-
Hvordan kan man dele printere?
-
Som supplement til begrebet workgroup i LAN-Manager findes begrebet domain
(mest kendt fra NT). Ret sambaserveren så windows PC'ere kan logge
på domainet. Check derefter, at det virker.
-
(tricky) I Windows98 anvendes krypterede password ved login på smb-shares
i stedet for at sende password ukrypteret over nettet. Sambaserveren kan
sættes til at håndtere dette fornuftigt, find ud af hvordan
og prøv. Der findes nogle filer der beskriver dette i installationen.
Win95 kan også sættes til at bruge krypteret logon ved at ændre
en enkelt oplysnining i registery, ligesom win98 kan slå det fra
samme sted. Diskuter fordele og ulemper ved de to metoder.
-
Kig i log-filerne og medbring "hardcopy" af disse til næste øvelsesgang
for nærmere analyse.
1.16 Telnet til port 25 på mail-serveren
I denne opgave vil vi se hvordan det er muligt at simulere en postagent,
og aflevere et elektronisk brev til en SMTP-server. Herved får vi adgang til
at studere SMTP-serverens brug af SMTP-protokollen. Sådan kan man gøre i forhold
til mange andre TCP/IP baserede servere, ihvertfald når deres kommando syntaks
er normal ASCII tekst.
- Opgaven går i korthed ud på at starte en telnet-session til SMTP-serveren
på en af IT-højskolens mail-server maskiner (port 25, maskine mail.it-c.dk)
og aflevere et brev til brugeren ncjuul på denne.
- Tillægsspørgsmål Brug samme telnet-session til først at checke om brugeren,
der skal modtage beskeden, findes og/eller om brugeren får videredirigeret
sin post.
- Udvidet opgave:
Find portnummeret på POP3 serveren, og forsøg tilsvarende
at læse din elektroniske post fra serveren ved hjælp af en telnet-session.
Hjælp:
- Protokollen hedder SMTP, "Simple Mail Transfer Protocol", og findes beskrevet
i RFC 821. Den beskriver, hvordan en elektronisk post besked udveksles mellem
to postformidlere. Protokollen bruges i dag til at udveksle post mellem
to "posthus" maskiner og til at aflevere post fra individuelle postbrugere
til deres posthus. Protokollen beskriver bl.a. den dialog under brug af
korte engelske kommandoer, hvormed en postagent (SMTP-client), som ønsker
at aflevere et brev til en bruger via et posthus (SMTP-server), kan aflevere
sit brev på posthuset.
- En SMTP-server lytter normalt på port 25 efter opkald om aflevering af
post.
- Et elektronisk brev består ligesom et traditionelt brev af en kuvert (header
information) og selve brevet (message data).
- SMTP-servere er normalt ikke-sensitive overfor om du bruger store eller
små bogstaver. Severen melder status tilbage v.h.af en trecifret status-kode
og lidt forklarende tekst.
- Et lille eksempel med brug af kommandoerne: HELO, MAIL FROM, RCPT TO,
DATA og QUIT illustrerer protokollen. Brugeren laver en telnet-session til
post-serveren på post-maskinen. Brugerens indtastning er vist med FED skrift.
- Under Windows9x Run/Kør kommandoen eller i et DOS vindue oprettes et vindue
/ en telnet-session ved at taste: telnet mail.it-c.dk 25 resten af
dialogen foregår i dette vindue (bemærk at det du taster normalt ikke vises,
og at der kun er begrænsede muligheder for at rette i en linie).
- Jeg har på min hjemmenetværk (ncjuul.dk) forbundet mig til
min server (mufasa) med telnet mufasa 25
220 mufasa.ncjuul.dk ESMTP Sendmail 8.8.5/8.8.5; Sun, 25 Jan 1998 19:42:07 +0100
helo nordpolen
250 mufasa.ncjuul.dk Hello zazu [192.38.109.165], pleased to meet you
mail from:
250 ... Sender ok
rcpt to:
500 Command unrecognized
rcpt to:
250 ... Recipient ok
data
354 Enter mail, end with "." on a line by itself
Her skriver du dit brev til modtageren.
Du kan skrive så mange linier du vil.
Til sidst sluttes med en linie hvor der kun står et punktum ".".
.
250 TAA18335 Message accepted for delivery
quit
221 mufasa.ncjuul.dk closing connection
Hvis du forbinder dig til en SMTP-server ved hjælp af telnet til serverens
port 25 kan du få det aktuelle SMTP-serverprogram til at fortælle om sine
kommandoer ved at taste HELP
2. Kryptologi
2.1 Check spørgsmål
1. Hvad er svag og stærk kryptering? (disk. forskelle og ligheder,
hvorfor er det interessant?)
2. Hvilke krypteringsmetoder sikre ubrydelighed?
3. Hvad er forskellen på metoder med en versus to nøgler? Forklar
de to principper.
4. Hvad er et nøglecenter? Hvorfor er det interessant?
5. Er tripple-DES tre gange så god som DES? (svaret skal begrundes)
5. Hvilke RSA chanlenges er løst og hvilke står for tur til at
blive brudt?
2.2 RSA
RSA - algoritmen.
Metoden er opfundet af Rivest, Shamir & Adleman. Metoden
er baseret på principper fra talteorien.
- 1) Vælg to store primtal, p og q, (typisk større
end 10100)
- 2) Udregn n = p * q og z = (p-1) * (q-1)
- 3) Vælg et tal relativt primtal til z og kald det d
- 4) Find e således at e * d = 1 modulo z
Med disse parametre kan vi kryptere.
Del "plainteksten" (opfattet som bitstrenge) i blokke, således at hver plaintekst
besked, P, kan indeholdes i intervallet 0 < P < n. Dette kan gøres
ved at gruppere plainteksten i blokke af længden k bits, hvor k er
det største heltal for hviklet 2k < n er sandt.
For at kryptere budskabet, P , udregn C = Pe (mod n). For dekryptere
C, udregn P = Cd (mod n). Det kan bevises at for alle P inden for det
specificerede interval, er krypterings- og dekrypteringsfunktionen hinandens omvendte.
For at kryptere, behøver man e og n. Til at udføre dekrypteringen,
skal man bruge d og n. Derfor består den offentlige nøgle af parret
(e, n) og den private nøgle består af (d, n).
Nedenstående eksempel skulle belyse metoden. Her anvendes små primtal:
p = 3 og q = 11, hvilke valg giver n = 33 og z = 20. En passende værdi
for d er d = 7, eftersom 7 og 20 ikke har nogen fælles divisor. Med disse
valg kan e findes ved at løse ligningen 7e = 1 (mod 20), hvilket
giver e = 3. Cifferteksten C svarende til plainteksten P er givet
ved C = P3 (mod 33). Cifferteksten dekrypteres af modtager svarende
til reglen P = C7 (mod 33).
Antag at BOB vil sende bogstavet S til Alice, som svarer til den numeriske
værdi 19.
- Bob udregner nu
- P3= 193 = 6859
- 6859 (mod 33) = 28 = C, som er ciffeteksten, som BOB sender til Alice
- Når Alice modtager beskeden C,
- udregner hun C7 = 13492928512
- og derefter 13492928512 (mod 33) = 19
- som Alice konverterer til bogstavet S.
Opgave: Anvend RSA-metoden. Lad bogstavernes værdi
svare til (a= 1, b=2, osv.)
- a) Hvis p = 7 og q = 11, udregne 5 gyldige værdier for d.
- b) Hvis p = 13, q = 31 og d = 7, find e.
- c) Anvend p = 5, q = 11 og d = 27, find e og krypter "abcdefghij".
Hvilke RSA chanlenges er løst og hvilke står for tur til at blive
brudt?
2.3 PGP
Hvordan virker PGP ?
2.4 Kodebrydning
Bryd nedenstående ciffertekst:
-
aauan cvlre rurnn dltme aeepb ytust iceat npmey iicgo gorch srsoc nntii
imiha oofpa gsivt tpsit lbolr otoex
Vink:
- Plainteksten er et citat fra en amerikansk bog om datalogi.
- Det vides at ordet "computer" indgår i teksten.
- Krypteringensmetoden er TRANSPOSITION.
- Cifferteksten er i blokke med 5 tegn i hver udelukkende for læsbarhedens
skyld.
- Prøv at bryde uden anvendelse af nøglen.
- Nøglen er "ABCINT".