5. Internet, TCP/IP tillämpningar och säkerhet Syfte: Förstå begreppen förbindelseorienterade och förbindelselösa tjänster. Kunna grundläggande egenskaper hos IP (från detta ska man kunna beskriva de viktigaste fälten i ett IP-huvud): o Datagram, paketförmedling o Ingen garanti om bibehållen ordning hos paket o Risk för dubbletter och paketförluster o Fragmentering o Möjlighet till multiplexering för olika transportlagerprotokoll (dvs TCP och UDP), men också för protokoll på andra nivåer (t ex ICMP, vilket oftast anses ligga på nätverksnivå) o Feldetekteringsförmåga o Gräns för paketets livslängd Kunna beskriva skillnaden mellan router, brygga och nav. Förstå sambandet mellan MAC-adresser och IP-adresser (läs om ARP-protokollet i labanvisningarna och i kursboken). Känna till demultiplexeringsmöjligheten på länklagernivå. Känna robustheten hos IP-vägval. Känna till grundläggande egenskaper hos TCP och UDP, såsom feldetekterande förmåga. Garanti eller ej garanti vad gäller leverans av deras paket. Dessutom demultiplexeringsmöjlighet för olika applikationer (portnummer). Känna till några vanliga Internetapplikationer. 5.1 INTERNET Vad är ett internet? 5.2 GRUNDBEGREPP Repetera kortfattat begreppen: a) Datagramnät och virtuellt kretskopplat nät Ge exempel! b) Förbindelselös och förbindelseorienterad transporttjänst. Ge exempel! 5.3 ARP Vad används ARP-protokollet till? Beskriv till exempel vad som sker i ett Ethernet då en nod ska skicka iväg ett IP-paket. 5.4 IP INTERNET PROTOCOL Vilken tjänst tillhandahåller IP? 5.5 FRAGMENTERING a) Vad innebär fragmentering och defragmentering (även kallat segmentation and reassembly (SAR))? b) Varför behövs detta i ett internet? 1
5.6 PAKETUPPDELNING a) En IP-router ska skicka ett IP-paket med storleken 5 kbyte över en Ethernet-länk. Ett Ethernetpaket kan maximalt innehålla 1500 byte data så paketet kommer att fragmenteras. Beskriv vad som kommer att skickas över Ethernet-länken. Räkna med att ett IP-huvud är av storleken 20 byte och ett Ethernethuvud 14 byte, samt bortse från länk-specifik inramning såsom preamble med mera. b) Finns det ett IP-huvud i varje Ethernetpaket? 5.7 TRANSPORT-PAKET Ett meddelande från transportnivå består av 1500 bitar data och ett huvud på 160 bitar. Det lämnas till en Internetnivå som lägger 160 bitar till huvudet. Meddelandet skickas sedan över två olika typer av lokala nätverk som båda har ett pakethuvud på 24 bitar. Det sista lokala nätverket har även en maximal paketstorlek på 800 bitar. Hur många bitar, inklusive huvuden, kommer till protokollet på nätverksnivå hos mottagaren 5.8 IP subnetmask Antag att datorn H1 har IP-adress 130.237.15.202 och motsvarande nätmask 255.255.255.240. Dessa finns givna i binär form nedan. a) Skriv nätverksidentifieraren på standard-decimalform ( dotted quad ). b) Hur många enheter kan finnas på samma subnet som H1? c) Hör IP-adresserna 130.237.15.206 och 130.237.15.210 till samma IP-delnät som H1? 5.9 ADRESSERING Studera nedanstående nätverk. Bryggan och routern har två MAC-adresser, en per anslutet segment. Routern har dessutom två IP-adresser, en per anslutet nät. Rita de tre ramarna a-c och fyll i korrekta värdena på: D-MAC = Destination MAC address S-MAC = Source MAC address D-IP = Destination IP address S-IP = Source IP address OBS! B är en brygga och R är en router. 2
5.10 IP:s vägvalstabell Figuren nedan visar en enkel tabell för H1 (130.237.15.202) i uppgift 5.8 (prova kommandot 'netstat -r' eller 'route -r' i unix eller 'netstat -r' i Windows för att se vägvalstabellen). Man kan se att H1 har två gränssnitt. "eth0" är ett Ethernetgränssnitt och "lo" är det så kallade loopback ("lo" är ett virtuellt gränssnitt som kan användas till exempel för testning och för intern kommunikation). a) Förklara vad rad ett och rad tre i routing-tabellen betyder. b) Förklara vad som händer när H1 vill skicka ett paket till 130.237.15.210, givet att H1:s ARP-cache har följande utseende: 130.237.15.198 at 00:C0:4F:C3:17:6A [ether] on eth0 130.237.15.193 at 00:00:0C:45:E1:73 [ether] on eth0 5.11 PING Vad används programmet ping till och hur är det implementerat? 3
5.12 TRACEROUTE Vad används programmet traceroute till och hur är det implementerat? 5.13 UDP USER DATAGRAM PROTOCOL Vilken tjänst tillhandahåller UDP? Vilka är de huvudsakliga skälen till att man använder UDP och inte TCP i vissa tillämpningar? Varför används inte IP direkt? 5.14 FTP a) Vad är FTP? Vad används det till? b) Vilket transportprotokoll använder FTP? c) När öppnar FTP (transport-) förbindelser och när stängs de? Vilken nod öppnar förbindelsen? 5.15 SMTP Simple Mail Transfer Protocol E-post på Internet levereras normalt inte direkt mellan användare utan mellanlagras i servrar. Varför? Redogör för de olika stegen i överföringen av ett e-post-meddelande, samt ange vilka protokoll som används. 5.16 RSA-kryptografi a) Förklara kortfattat parametrna som används i RSA. b) Konstruera den publika (öppna) och privata (hemliga) nyckeln för p = 7, q = 11 och illustrera krypterings- och dekrypteringsprocessen för ett meddelande i klartext med innehållet M = 9. c) Redogör för hur ett klartextmeddelande signeras med hjälp av RSA. 5.17 DES-kryptografi Antag att du arbetar på en underrättelsetjänst och att du upptäcker en 24 byte långt DES-krypterat meddelande från en misstänkt spion. a) Hur många olika nycklar finns det som meddelandet kan ha krypterats med? b) Om underrättelsetjänsten har tillgång till 1024 servrar som kan utföra 10 9 DESkrypteringar eller dekrypteringar per sekund, hur lång tid tar det att undersöka alla möjliga kombinationer? c) Efter denna tid, kommer man att kunna bestämma säkert vilken nyckel som använts? Om inte, vad skulle mera behövas för att avgöra detta? d) Antag att spionen misstänker att meddelandet riskerar att knäckas och använder därför trippel-des. Hur många möjliga nycklar finns det? e) Om du kommit over klartextmeddelandet och motsvarande krypterade meddelande från spionen, hur lång tid skulle det ta för dina servrar att hitta den nyckel som använts? f) Varför beräknas triple-des enligt: kryptering(k1,dekryptering(k2,kryptering(k1,m)))? Varför inte: kryptering(k1, kryptering(k2,kryptering(k1,m)))? 4
5.18 Säker kommunikation Du arbetar som säkerhetsspecialist hos en operator som vill kunna erbjuda tjänsten säker röstkommunikation över publika IP-nät. Din tanke är att använda PCM för röstkodning med samplingsfrekvensen 8000 Hz, 8 bitar per sample och 20 millisekunders ramar. Vilken lösning föreslår du för att erbjuda autentisering, dataintegritet och avskildhet (privacy)? Hur mycket overhead medför din lösning? Hur mycket skulle man kunna tjäna genom att använda ett specialdesignat protokoll för denna tillämpning? 5.19 PGP för mailkommunikation I PGP (Pretty Good Privacy) används en kombination av öppna nycklar och delade (hemliga) nycklar. En engångsnyckel, som är en delad nyckel, används för att kryptera ett meddelande och för att signera sammandraget av meddelandet. Varför använder inte PGP mottagarens publika nyckel istället? Om någon tjuvkikar och får reda på mottagaren privata nyckel, kan han/hon då ändra meddelandet utan att mottagaren upptäcker detta? 5.20 IPSec VPN Betrakta ett IPSec-baserat VPN mellan privata nätverk vid olika avdelningskontor på ett företag. MTU på de externa länkar som ansluter routrarna vid de olika kontoren till Internet är 1500 byte. Vilken MTU kommer att användas för kommunikation mellan kontoren? Vad skulle hända om en MTU på 1500 byte används för kommunikation mellan två noder som befinner sig på olika privata nätverk? 5