Virtuella privata nätverk Mats Neovius Institutionen för informationsbehandling Åbo Akademi, FIN 20500 Åbo, Finland E-post: mats.neovius@abo.nospam.fi
Abstrakt Alla kan säkert enas om Internets fördel som ett fantastiskt redskap för informations förmedling. Internet öppnar möjligheter till sådant som förr ansågs vara omöjligt. Lokala och regionala aspekter blir globala liksom även riskerna, konkurrensen och hoten. Eftersom vem som helst kan komma in på Internet och kontrollen där är vag. Föreliggande text berättar om hur man kan kommunicera skyddat över Internet genom användning av virtuella privata nätverk (VPN) och om vilka byggstenar som bör finnas för att nå detta mål. Texten behandlar även de metoder dessa byggstenar använder.
Innehållsförteckning 1.0 Inledning 2.0 Brandväggar och routrar 2.1 Brandväggar och routrars användning 2.2 Alternativ hårdvara för VPN 3.0 Virtuella privata nätverk (VPN) 3.1 Kontakten 3.2 Säkerhetsaspekter 3.2.1. Tunneling 3.2.2. Nycklar och hash funktionen 3.2.3. Algoritmer för kryptering 4.0 Övriga aspekter 5.0 Slutord ACM klasser: C.2.1, C.2.3, C.2.5, C.2.6, E.3 ACM SIG: SIGCOMM
1.0 Inledning Alla uppgifter som man har lagrat på sin dator är "synliga" för vem som helst och med andra ord utan skydd. För att skydda den bör datorn endera ha en så kallad brandvägg eller inte vara kopplad till Internet överhuvudtaget. Brandväggar förekommer i form av program samt externa fysiska enheter. Dessa brandväggar tillåter skyddad kommunikation. Ofta innehåller de konfiguration möjligheter för virtuellt privat nätverk (VPN) och möjliggör det man förr använde leasade telefonlinjer till. Det är fördelaktigare att andvända VPN än en leasad telefonlinje. För att kunna skicka data över Internet skyddat måste data krypteras eller gömmas. Okrypterad text kallas klartext och krypterad text kallas chiffertext. Endast då man har en leasad telefonlinje är data osynligt eftersom data i detta fall inte använder det publika nätet. Genom att ringa normalt med modem leasar man en telefonlinje och betalar per impuls för användningen. Ett sådant nätverk kallas för hybridnätverk. För att åstadkomma en säker förbindelse över Internet behövs en särskild enhet med VPN egenskap. Varför alls använda Internet kan man fråga sig. Ja, eftersom Internet använder den allmänna infrastrukturen som kommunikationsväg vilket är överlägset billigast på längsikt, eftersom den säkra förbindelsen används för att flytta stora mängder data. Säkerheten uppnås genom kryptering, som sker enligt VPN manickens regler, där användarens destination utgör ett specifikt nätverk. Det finns två grundläggande tekniker för VPN. Den ena fungerar som en "tunnel" från nätverk/nod A till nätverk/nod B (tunneling). Den andra fungerar genom kryptering (encryption) till exempel mellan hemmet och arbetsgivaren. Virtuell betyder i detta fall att de nätverk som ser ut som ett, är fysiskt två skilda, kopplade av "tunneln" över det "vanliga" publika nätverket till exempel Internet. Privat betyder att kontakten är skydda och oförståelig för utomstående. VPN "tunneln" fungerar likadant som då man surfar på nätet men istället för att destinationen kan skrivas in i form av adress är den färdigt definierad och "tunneln" har inga "vägskäl" till andra nätverk. Noden skickar data paketet till en förmedlings nod (gateway), oftast router, som vidarebefordrar paketet till Internet leverantören (Internet service provider, ISP) genom användning av det publika Internet. Säkerheten nås genom att kryptera informationen enligt en viss algoritm som enbart sändaren och mottagaren känner till. För detta används "nycklar", som fullbordar algoritmen som systemet använder för att kryptera data paketen med. Arbetsgivare vill
inte att man surfar på Internet utanför arbetsgivarens säkerhets policy ifall man har en VPN kopplad. Om man trots allt måste surfa, bör man göra det via VPN kontakten och kontakta Internet med företagets uppkoppling. Då skyddar företagets Internet policy kontakten. 2.0 Brandväggar och routrar För att nå ett säkert virtuellt privat nätverk måste två saker tas i beaktande. De lokala noderna måste vara skyddade och data som skickas över Internet måste vara krypterat. De lokala noderna skyddas med en brandvägg, som måste vara strängt konfigurerad. Ifall hackern (hacker) känner till nycklarna som VPN kontakten krypteras med, är hela systemet öppet för hackern. Därför bör enbart paket från en VPN kontakt krypterat på ett visst sätt godkännas. En brandvägg är även en viktig säkerhetsenhet för vem som helst som använder Internet. Figur 1: Brandväggen Brandväggen är den enhet som filtrerar trafiken, likt en vägspärr, som använder vissa specificerade regler för att uppnå målet. Den skyddar andvändaren från både inkommande och utgående obehörig data och därmed även mot fientliga attacker. Därför blir VPN funktionaliteten en logisk fortsättning på en brandvägg, som vid anskaffning naturligtvis måste beakta både vad kostnadsökning och restriktioner på utvidgning bekommer och därför är en sådan lösning inte vanligen lämplig för företag. Brandväggen kan inte skydda data från att bli läst i det publika Internet, vilket innebär att så fort som data lämnat det lokala nätverket (local area network, LAN) är det utan en VPN tunnel/transport synligt för hackaren. En router är manicken som kopplar ihop två nätverk. Till dess funktioner hör även att skilja på trafiken mellan dem. Detta betyder att det alltid finns en router mellan hemdatorn och Internet, oberoende av om man har ett privat nätverk hemma eftersom en mängd hem utgör ett nätverk på samma sätt som Internet utgör ett mycket stort nätverk. Routrarna har i sin tur en
enhet kallad nätverks adress översättare (network address translation, NAT) som är mycket effektiv. Med NAT kan man andvända en viss adress i LAN och visa en annan adress utåt mot Internet (wide area network, WAN). Andra egenskaper som ofta är integrerade i en router är VPN och brandvägg. 2.1 Brandväggar och routrars användning Fysiskt är brandväggen en extern enhet (hårdvara) eller programvara (mjukvara) installerad på den lokala noden. Routern är alltid extern och således är kombinationen av router och brandvägg också extern. Hårdvara brandväggar är säkrare eftersom de är kopplade och aktiva hela tiden i motsats till mjukvara brandväggen, som vid start av datorn laddas och först efter det skyddar. Maskinen är en stund oskyddad, det vill säga mellan det att systemet har laddat nätverks rutiner och brandväggen. Då har en hacker tillfället att tränga sig in i systemet och "plantera" ett program som överkör brandväggen. Brandväggar har ett varierande antal konfigurerbara funktioner. Mjukvara brandväggar är flexiblare, för att de hela tiden samverkar i den lokala noden och inte är externa enheter. De flesta meddelar varje gång som någon ny tilldragelse sker och något program försöker kontakta en server och frågar användaren ifall detta skall tillåtas. Negativt med detta är som redan tidigare framkommit, att mjukvara brandväggen måste laddas varje gång datorn startas och att den upptar maskinens begränsade resurser. Administrationen av mjukvara brandväggar är också arbetsammare jämfört med hårdvara brandväggar. Mjukvara brandväggar måste påträffas i varje nod medan hårdvara brandväggarnas antal bestäms av antalet Internet uppkopplingar företaget har. Som redan nämnts är routern den enhet som kopplar två fysiska nätverk ihop. Istället för ett stort nätverk kan man dela up det till två mindre med hjälp av en router och på det sättet minska förekomsten av paket kollisioner. Ifall man till exempel har ett totalt nätverk med 100 datorer är det osannolikt att en nod kommunicerar med alla de andra noderna. Med NAT funktionen blir det möjligt att koppla ett LAN bakom skyddande hårdvara router/brandvägg. Denna lösning sparar även på Internet protokoll 1 version 4 (IPv4, figur 7) adresser, med 32 bitars adressrymd. IPv4 adresser som börjar ta slut på grund av ineffektiv allokering har därför blivit 1 Protokoll är specificerade kommunikations regler, hur paketet som skickas skall se ut.
dyrare. Detta medför att istället för att hyra en IP adress åt varje nod skilt, hyres en, som alla noder använder för att kommunicera med WAN. Man kan då också förenkla administrerandet av nätverket genom att konfigurera dynamic host configuration protocol (DHCP) funktionen. Vid omstartning söker varje nod åt sig en ny dynamisk 2 adress. Största nyttan nås ifall det är frågan om ett trådlöst nätverk där klienter ofta byts. Vid trådlöshet måste vissa andra aspekter tas i beaktande. Den interna trafiken måste krypteras för att förhindra oönskade datorers kontakt med LAN. Den för närvarande allmännaste trådlösa nätverket använder radiosignaler som inte kan "riktas" (spread spectrum) och därför kan alla lyssna på trafiken. Idag sker krypteringen med 128 bits symmetriska WEP (Wired Equivalent Privacy) nycklar som inte är säkra nog vilket är allmänt accepterat. I medeltal behövs det c. 3500 paket för att knäcka krypteringen. Mjukvaran som lyssnar på trafiken och bryter krypteringen finns tillgänglig för vem som helst på Internet. 3500 paket är inte mycket och ett genomsnittföretag som använder trådlösa nätverk har denna mängd kommunikation på en dag. En hackare kan således bryta krypteringen och bryta sig in i systemet samt lyssna på företagets trådlösa kommunikation i värsta fall efter några timmars arbete. Det enda möjliga sättet att kommunicera skyddat med trådlösa nätverk är VPN. 2.2 Alternativ hårdvara för VPN Flera olika företag har gjort manicker för att möta marknadens efterfrågan. Med en router innehållande VPN kan man skapa en VPN kontakt. Stora företag har naturligtvis behov av flera samtidiga kontakter såsom en per kund eller en per filial, som har tillgång till lagret eller databasen. För detta behov finns det VPN koncentrerare (concentrators) som stöder ett högt antal simultana VPN kontakter och effektivare Figur 2: VPN arkitektur VPN routrar samt VPN mjukvara som exekveras i en server. Varje kontakt måste krypteras skilt 2 Dynamisk, ändras enligt behov, motsats till statisk.
vilket medför ett stort resursbehov. Som exempel kan Cisco 3 7400 seriens VPN router nämnas. Den klarar av trafik till 120 Mega bit per sekund (Mbps). Detta betyder att den klarar av att chiffrera eller dechiffrera trafik på upp till 120Mbps. Det förekommer såväl snabbare som långsammare enheter. Idén är naturligtvis att möta marknadens efterfrågan, olika stora företags behov och göra det hela både kostnadseffektivt vad gäller form av anskaffning och underhåll. Naturligtvis är snabbare och större enheter också dyrare. Arbetsgivaren kan även ha konfigurerat en remote access server (RAS) till vilken man kan ringa upp med modem över det hybrida nätverket och få tillgång till nätet på det sättet. En RAS var vanlig förut men dagens teknologi möjliggör snabbare och kostnadseffektivare lösningar. RAS finns och behövs dock ännu. Då exempelvis en arbetstagare önskar arbeta på tåget kan han/hon ringa med sin mobiltelefon RAS servern istället för ISP: n. Om VPN är konfigurerat är det dock sannolikare att kontakten idag sker via ISP:n och VPN. 3 Cisco, ett av världens största datakommunikation företag.
3.0 Virtuella privata nätverk (VPN) VPN nätverk kan kategoriseras till tre olika typer. Dessa är: -Distans access VPN. Tillåter arbetstagaren att kontakta företagets informationsresurser genom användning av Internet. -Intranät baserad VPN. Ett internt TCP/IP baserat lösenordskyddat nätverk som företag använder för att dela information åt arbetstagare och övriga med autentisering. -Extra-nät baserad VPN. Nätverk som tillåter kontrollerad informations spridning till externa nätverk såsom exempelvis kunder, affärspartners, leverantörer, filialer med mera eller när ett företag har behov av att dela med sig någon information och koppla sitt eget LAN till någon annans LAN. VPN skapas antingen lokalt på företaget eller som ett uppdrag av företagets ISP. Det som gör ett virtuellt privat nätverk "virtuellt privat" är tunneln och krypteringen. Tunneln är dock inte en tunnel i ordets bemärkelse av en fixerad väg över Internet, utan inkapslar in data i oförståeliga krypterade paket. Själva data framskrider över Internet som vilka som helst andra data paket, genom routrar, olika vägar till destinationen. Vid tunneling inkapslas destinationen och sändaren i ett krypterat paket försett med destinationens respektive sändarens nätverks IP adress, figur 4, (IP-in-IP encapsulation). ESP (encapsulated security payload) används för att kryptera innehållet. Skillnaden är att då endast ESP används vet hackaren både sändarens och mottagarens noder, således kan han/hon koncentrera sig på Figur 3: VPN användning att "lyssna" på till exempel verkställande direktörens Internet trafik. Hackaren kan ändå inte veta ifall paketet är elektronisk post eller något annat. Med tunneling (IP-in-IP, figur 4) vet ingen den exakta sändaren eller mottagaren, dessa dekrypteras vid VPN manicken, varefter de sänds inom LAN till rätt nod med den IP adressen som fanns krypterad. Således kan en hackare inte skilja på
VD: ns och de övriga anställdas trafik. Att kunna kalla detta privat data är i en viss utsträckning oriktig eftersom alla kan läsa denna, men krypteringen skyddar data från att bli förstått. Idén med detta är att andvända den publika, fördelade infrastrukturen för privata syften, likaväl som vi kör med bil på allmänna vägar utan att någon kan se vad vi transporterar i bilen om inte vi så vill. Storandvändare av VPN är stora företag med ett utspritt kontors nätverk och/eller flera instanser som bör ha tillgång till företagets data. På detta sätt kan utsträckningen av LAN ytterligare förlängas och flera instanser kan ta del av fördelen som den "gränsfria" informationsförmedlingen i realtid möjliggör. VPN möjliggör även distansarbete och arbete under resor. 3.1 Kontakten Det finns två olika sätt att nå en säker kontakt, endera med hjälp av RAS server och modem som man ringer med eller med hjälp av "dagens" metod med VPN. Allmänt anses 512kbps Internet uppkoppling vara tillräcklig för att överföra tangentbordets och grafik kortets data. Man kör applikationer på maskinen på kontoret men ser bilden i den lokala noden. Trafiken minimeras och man tar "kontroll" över en arbetsstation på distans och slutsatsen är den, att man kan göra allt det som man kan sittande på kontoret. Med traditionella modemuppkopplingar når man endast en hastighet på 56kbps så ökningen i förhållande till detta är alltså avsevärd. Dessutom har man en fast kostnad för uppkopplingen och behöver inte betala per impuls. I dag erbjuder Figur 4: IP-in-IP
flera hotell bredbands Internet förbindelse som möjliggör arbete från andra sidan jordklotet till en rimlig kostnad. Vissa undersökningar visar att VPN systemets uppförning betalar sig tillbaka inom ett fåtal månader jämfört med kostnaderna för långdistans telefonsamtal. Dagens globalisering tvingar flera företag att lägga upp ett globalt kontorsnätverk och VPN efterfrågan ökar därefter. I sådana fall där man arbetar på distans och rör på sig är det föredelaktigast ifall datorn exekverar ett VPN klientprogram som sköter om krypteringen och tunnlingen, företagets VPN mottagare dekrypterar paketet och autentiserar det. Själva den fysiska kontakten är likadan som tidigare, endera kopplas maskinen till Internet med en kabel eller med ett trådlöst kort via en ISP. Denna möjlighet är en värdefull tillgång och effektiverar systemet samt ökar trivsamheten att alla de, som har VPN uppkopplingen, kan sköta ärenden då det bäst passar individen själv. Ett paket som tillåts framskrida till Internet eller över gränsen av ett LAN måste ha en IP adress som finns i headern på samma sätt som man, då man skickar ett brev, måste känna till adressen som skrivs på. Headern innehåller information som måste vara läsbar för alla under "resan" på Internet. Om det inte vore så skulle Internet blockeras av paket som inte vet vart de skall eller hur länge de skall "leva" (se figur 7, time to live, TTL), eftersom ett brev med felaktig adress inte skickas i all evighet mellan postkontor. Routern har en tabell som känner till vilka paket som skall inkapslas och i så fall vilken adress som skall läggas i headern. VPN manicken måste vid tunnling vara en router eller kunna fungera som en. IP-in-IP inkapslingen gör att brevet känner till gatuadressen och staden men inte mottagaren på företaget. Det vanliga paketet krypteras varefter det läggs in i ett nytt paket vars header ersätts med destination samt sändarens nätverks adresser. Vardera ändan av VPN systemet känner den till nyckel som den dekrypteras med och får fram den slutliga noden. Den exakta adressen som stod på brevet vet endast mottagaren som öppnar brevet och hittar nästa brev med namn på personen i företaget. Med VPN sker det med den manick som har nyckeln, enligt vilken dekrypteringen lyckas, då paketet blir klartext och dess header kan tolkas rätt. 3.2 Säkerhetsaspekter Hittills har vi sett på vilka fördelar man har av en VPN kontakt samt vissa grundläggande säkerhetsaspekter. Under alla dessa ligger de "stora" frågorna om hur man kan försäkra sig om datas integritet (data integrity), tillgänglighet (availability), bemyndigande (authorization),
hemlighållande samt konfidentiell (privacy and confidentiality) och autentisering (authentication). Datas integritet försäkras genom att endast vissa instanser kan ändra på data inom vissa områden. Oberoende av ifall ändringen beror på okunskap eller hackare, kan en oönskad ändring förorsaka systemet instabilitet och således stora konsekvenser. Olika användare delas in i olika grupper så att de har rätt att operera endast på specificerade delar av systemet. Det Figur 5: IPsec paketet finns även programvara som följer med alla förändringar i systemet och stoppar otillåtna ändringar. Om stoppandet lyckas och det används RAID (Redundant Array of Independent Disks) med samma data på vardera skivan (mirroring mode) är även tillgängligheten säkrad. Meningen är ju att obehöriga inte skall ha fysiskt tillgång till systemet och därmed kunna ändra på säkerheten. Mobiltelefoners PIN kod, där telefonen låser sig efter tre felaktiga försök är ett exempel på bemyndigande genom lösenord. Autentisering med dataformler beskrivs närmare i 3.2.1. Hemlighållande och konfidentiell nås genom kraftig krypterings algoritm, som beskrivs i kapitel 3.2.3. Frågan om hur data kan hemlighållas ifall krypterings algoritm är allmänt känd besvaras med nycklar. Mera om nycklar i 3.2.2.
3.2.1 Tunneling Implementering av tunneling har tagits upp i korthet redan tidigare. Tunneling betyder alltså att paketen eller ramen inkapslas in i andra paket eller ramar, likt att lägga ett normalt brev in i ett annat. Det som syns utåt är ett nätverks adress, inte noden, för sannolikt har noden en privat IP adress och nätverket en publik IP adress. Tunnlarna skapas i OSImodellens 4 nätverks nivå. Figur 6: NAT och VPN Figur 7: IPv4 header VPN tunneln möjliggör användning av annat format än IP, därför kan LAN med tunnel använda till exempel IPX (Novell server protokoll), SNA (IBM: s Systems Network Architecture) eller AppleTalk. Data flyttas över Internet inkapslat i ett paket med IP protokollets struktur. Således blir IP-paketet data i ett IP-paket som kan transporteras i Internet, likaså blir ett IPX paket inkapslat i ett IP paket som kan transporteras. IP protokollets struktur framgår av figur 7, detta är alltså det enda accepterade formatet på data som skickas över Internet. De mest använda tunneling protokollen utvidgar de specificerade fälten med bland annat kryptering och 4 OSI-modell, Open System Interconnection, protokollen delade i sju hierarkiska delar, varje "nivå" har en specifik
autentisering. Det finns ett antal olika tunneling protokoll som används allmänt i VPN. I denna text tas fram de allra allmännaste, de är IPsec, PPTP och L2TP. Av dessa är IPsec allmännast och mest tidlöst för den stöder IPv6 (vidareutvecklad IPv4). Alla fungerar för att inkapsla data i ett annat paket för att kunna transportera det samma skyddat över den allmänna infrastrukturen. Dessa protokoll möjliggör kommunikation med IP paket skyddat och intakt. Ofta används idag också L2TP för att skapa tunneln och IPsec ESP del för att kryptera innehållet. För att kommunicera skyddat skall data krypteras av sändaren och dekrypteras av mottagaren, med hjälp av nycklar. Mer om nycklar i kapitel 3.2.2. Man hänvisar ofta till IPsec (IP security) som ett protokoll trots att detta inte stämmer, IPsec är en kombination av olika protokoll. IPsec "utvecklades" av IETF för att vara öppen kod. Då kontakten etableras måste parterna av kommunikationen byta sessions nycklar och komma överens om vilken krypterings algoritm som används. ESP krypterar och autentiserar paketet så att först kommer den nya IP headern, som efterföljs av ESP paketet (figur 8). IPsec stöder autentisering, hemlighållande och datas integritet. Dessa möjliggörs 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- Security Parameters Index (SPI) ^Auth. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Cov- Sequence Number erage +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- Payload Data* (variable) ^ ~ ~ Conf. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Cov- Padding (0-255 bytes) erage* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Pad Length Next Header v v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------ Authentication Data (variable) ~ ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figur 8: ESP paketets struktur av ESP paketets headers, som finns i data fältet (figur 7, åskådligjord i figur 8) där data berättar avsändaren och krypterings algoritm. Autentisering och datas integritet sköts med ett extra fält, i ESP headern som finns mellan IP headern och data fältet, genom en hash 5 algoritm. uppgift. 5 Röra till, söndra strukturen
IPsec anses vara det bästa tunneling protokollet för IP baserade nätverk. PPTP (Point to Point Tunneling Protocol) är det populäraste tunneling protokollet som fungerar på OSI-modellens nivå 2. PPTP planerades ursprungligen för att transportera chifferskrift mellan en användare på distans och ett företags server. PPTP bildar VPN kontakten genom att tunnla PPP (Point to Point Protocol) ramarna i TCP/IP format över ett TCP/IP baserat nätverk. PPTP utvecklades av Microsoft, ECI/Telematics, Ascen communications och US Robotics, och är använt inom VPN. Orsaker varför PPTP blev populärt är bland annat: -Effektiv marknadsföring, Microsofts finansiering och kanaler samt deras inverkan på programvara gjorde att PPTP stöds av operativsystem och program. -Tidpunkten, PPTPs utvecklare var en av de första som observerade behovet av en sådan implementering fungerande på den allmänna telefonkopplingsinfrastrukturen, Internet. Därför var PPTP ett av de första tunneling protokollen på marknaden. -Flexibilitet, PPTP är flexibelt, liksom IPsec och kan transportera andra nätverks protokoll. L2TP (Layer 2 Tunneling Protocol) utvecklades av bland annat Microsoft och Cisco för att kombinera de bästa egenskaperna av L2F (Layer 2 Forwarding, av Cisco) och PPTP protokollen. Tanken på att kombinera dessa kom från IETF (Internet Engineering Task Force). PPP paketen inkapslas i L2TP paket, själva tunneln skapas av LAC (L2TP Access Concentrator) och dekrypteras av LNS (L2TP Network Server). Resultatet har blivit att L2TP stöds av flera produkter men innehåller inget "revolutionerande" som skulle fälla IPsec från posten av att vara det vanligaste protokollet. L2TP stöder även IPsec ESP då detta används för att kryptera innehållet.
VPN Technology Standards Compared PPTP L2TP IPSec Mode Client-server Client-server Host-to-host Purpose Remote access Remote access Intranets, extranets, via tunneling via tunneling remote access via tunneling OSI Layer Layer-2 Layer-2 Layer-3 Protocols Encapsulated IP, IPX, AppleTalk, IP, IPX, Appletalk, IP etc. etc. Security: User authentication None (use PAP, None (use PAP, None (use PAP, CHAP, Kerberos, CHAP, Kerberos, CHAP, Kerberos, Token ID, etc.) Token ID, etc.) Token ID, etc.) Packet authentication None 1 None 3 AH header Packet encryption None 2 None 3 ESP header Key management None 1 None 3 ISAKMP/Oakley, SKIP Tunnel Services Single point-to- Single point-to- Multipoint tunnels, point tunnel, point tunnel, simultaneous VPN no simultaneous no simultaneous and public access Internet access Internet access Notes 1. Not in standard, not offered 2. Vendor-specific implementation only' 3. Refers to IPSec for implementation 1997 Infonetics Research, Inc. Tabell 1: Jämförelse av de olika tunneling protokollen 3.2.2 Nycklar och hash funktionen Nycklar i datakommunikation fungerar som vanliga "dörr" nycklar. De förekommer i form av
symmetriska och asymmetriska nycklar med ett antal olika möjligheter, beroende på nyckelns längd. I datavärlden talas det alltid om bitar. En bit är antingen 1 eller 0 och således kan till exempel en nyckel med längden 16 bitar kryptera ett paket på 2 16 (65536) olika sätt. I trådlösa nätverk nämnes det att det används nycklar som är 128 bitar långa och således ger 2 128 olika möjligheter. Snabbt tänkt låter det mäktigt men man måste ta i beaktande att datorerna idag är effektiva och att de blir effektivare hela tiden. Orsaken till varför man kan bryta en kryptering snabbt är att språket har en struktur, vissa ord förekommer oftare än andra, vissa bokstäver är vanligare än andra. I svenskan används till exempel a ofta och q sällan. Enligt en rapport text 6, utgiven i januari 1996, kan en kryptering till vilken det använts en nyckel på 56 bitar brytas av en hackar organisation på 12 sekunder om den hade 300 USD miljoner till sitt förfogande medan en 90 bits nyckel skulle ta 20 år. Därför använder dagens VPN produkter upp till 168 bitars nycklar 3.74 * 10 50, närmare i kapitel 3.2.3. Alla nycklar kan brytas men frågan är hur snabbt. Med 168 bitar tar det för de snabbaste datorerna idag en signifikant tid men inte oändligt länge. Det är lockande att använda den längsta tillgängliga nyckeln men då måste det tas i beaktande att dess dekryptering också kräver en längre tid. Man bör komma ihåg att processorernas beräkningshastighet ökar till det dubbla på 2 år har varit takten de senaste åren. Säkraste slutresultatet når man då nyckeln byts med jämna intervaller och då den är tillräckligt lång. Hur stor är en lång nyckel? För att ge en bild av saken, se följande tabell. Reference Magnitude Seconds in a year 3x10 7 Age of our solar system (years) 6x10 9 Seconds since creation of solar system 2x10 17 Clock cycles per year, 50 MHz computer 1,6x10 15 Binary strings of length 64 2 64 = 1,8x10 19 Binary strings of length 128 2 128 = 3,4x10 38 Binary strings of length 256 2 256 = 1,2x10 77 Electrons in the universe 8,37x10 77 Tabell 2: Reference numbers comparing relative magnitudes. 6 http://theory.lcs.mit.edu/~rivest/bsa-final-report.pdf, January 1996
Symmetriska nycklar är nycklar som krypterar och dekrypterar ett meddelande med samma nyckel, liksom en vanlig dörr går att låsa och öppnas med samma nyckel. Således måste sändaren och mottagaren vara överens om med vilken nyckel meddelandet är krypterat. Nyckeln används också för att skapa hash resultatet, därför måste båda parterna ha kommit överens om nyckeln som används, detta sägs vara en säkerhetsallians mellan noderna. Problem uppstår då dessa nycklar skall bytas. Nyckeln måste bytas första gången manuellt, det vill säga per normal post, flyttbar media, hårdvara dockning eller genom att använda en asymmetrisk nyckel och algoritm. Asymmetriska nycklar är ofta mycket längre än de motsvarande symmetriska. Den största fördelen med symmetriska nycklar och därmed "enklare" kryptering är en större datagenomströmning. Därför föredras symmetriska nycklar i normal kommunikation och asymmetriska vid utbyte av de symmetriska. Nackdelarna är många. För att nämna några måste nyckeln förbli hemlig men ändå bytas ut med jämna intervall, varje kommunicerande nod måste ha en egen nyckel och därför blir tabellen av nycklarna snabbt stor. Asymmetriska nycklar är lite mer komplicerade men logistiskt enklare att underhålla. Dessa upptäcktes först på 1970 talet. En asymmetrisk nyckel består i själva verket av två skilda nycklar, en publik och en privat. Dessa är konstruerade enligt en algoritm då något krypterat med den publika nyckeln endast kan dekrypteras med den motsvarande privata nyckeln. Man kan alltså inte gå tillbaka samma väg för att dechiffrera meddelandet fastän man skulle känna till den publika nyckeln med vilken meddelandet ursprungligen blivit krypterat. Vid sändning av krypterad text mellan nod A och B, frågar nod A B: s publika nyckel, denna är inte hemlig och skickas över Internet, nod A krypterar meddelandet och skickar det till B. B: s privata nyckel är den enda nyckeln som kan dekryptera meddelandet och således är B den enda som kan läsa det, alla andra som försöker bryta krypteringen måste försöka med olika möjligheter. Asymmetriska nycklar möjliggör även användbar autentisering, om vi tänker oss två kommunicerande parter A och B. A mottar ett paket vars sändare påstår sig vara B, A väljer ett nummer som den krypterar med B:s publika nyckel och skickar paketet till adressen som det ursprungliga paketet kom ifrån, B dekrypterar paketet med sin privata nyckel och krypterar det igen med A:s publika nyckel. Då A mottar samma nummer som den skickade B kan A vara säker om att B:s identitet. De största fördelarna är att endast den privata nyckeln måste hållas hemlig och beroende på användningen behöver inte nyckeln ändras så ofta, för att nämna några.
IKE (Internet Key Exchange) är ett protokoll som möjliggör nyckel utbyte mellan parter, med jämna intervaller, utan kostsamma manuella konfigurationer. Med andra ord klarar maskinerna av detta krypterat och säkert. Fördelarna är att: -Man kan specificera tunneln en gång varefter den underhåller sig själv. -Nycklarna tillåts att ändras under kontakten. I ett stort företag med flera tunnlar kan det vara svårt att hitta en tidpunkt då ingen används. -Tillåter dynamisk autentisering av noder. IKE är ett hybrid protokoll som ursprungligen utvecklades för att stöda IPsec, idag stöder andra protokoll IKE. Det utvecklades för att implementera Oakley och Skeme nyckel utbyte innanför ISAKMP (the Internet Security Association and Key Management Protocol) protokollet som är mycket invecklat enligt Tanenbaum [ 8 ] och tas inte närmare upp i denna text. Ofta använda hash algoritmer är MD5 (Message Digest 5) och SHA (Secure Hash Algortihm) för att röra ihop IP headern, nyckeln och data till en 128 bitar lång sekvens för MD5 eller 168 bitar för SHA, som avbildar hela paketet. Alltså bildar hash funktionen ett slags fingeravtryck av paketet, hash kalkyleringen sker före krypteringen. Om någon då ändrar på innehållet av paketet motsvarar hash bitarna inte mera det ursprungliga data och mottagaren vet att detta paket inte skall noteras. Algoritmerna utesluter vid kalkyleringen TTL (figur 7) fältet från headern ty denna ändras på vägen. Autentisering headern innehåller information varav de viktigaste i ESP är: -32-bitars heltal kallad SPI (security parameter index) som associerar data med ett specifikt säkerhets förhållande mellan de kommunicerande noderna. -32-bitars sekvens nummer som ökar efter varje paket, med start från initial tillståndet 0, då en ny kontakt bildats eller då gränsen överskrids. Det ger 2 32 olika möjligheter. -Hash funktionens resultat. Padding fältet är till för endel krypterings algoritmer kräver en viss sekvens för att beskriva det krypterade fältets slut. De 2 32 olika sekvens nummer möjligheterna för en monoton sekvens stoppar data återanvändning och således spelar ingen roll ifall någon kopierar det. Om inte detta skulle finnas skulle till exempel någon som "sniffat" 7 åt sig paketet med en transaktion på 100e 7 Programvara som lyssnar på trafiken över Internet.
mellan banken och kunden, kunna skicka detta på nytt oförändrat före sessionen stängts. Då skulle den som "sniffat" kunna duplicera paketet utan att detta märks och transaktionen skulle ske två gånger. Name Bit length Rounds X Steps per round Relative speed MD4 128 3X16 1:00 MD5 128 4X16 0:68 RIPEMD-128 128 4X16 twice (in parallel) 0:39 SHA-1 160 4X20 0:28 RIPEMD-160 160 5X16 twice (in parallel) 0:24 Tabell 3: Summary of selected hash functions based on MD4. 3.2.3 Algoritmer för kryptering I kryptering spelar primtalen en stor roll. Detta för man kan komma till rätt slutsats endast en "väg", om inte det vore för primtalen skulle resultatet kunna nås med olika kombinationer av multiplikation och division. Krypteringen används tillsammans med nycklarna, krypterings algoritm är den till vilken nyckeln används för att slutresultatet skall bero på nyckeln. Makten av kryptering får inte underskattas för till exempel i båda världskrigen har knäckandet av motpartens kryptering spelat en stor roll i slutresultatet. Förr ansågs chifferspråk vara militärens intresseområde men idag gäller det oss alla i viss mån, så fort som vi flyttar något hemligt över Internet, exempelvis användarnamn och lösenord till elektronisk post servern eller ringer med mobil telefonen i GSM nätverket. Krypterings algoritmerna kan delas upp i två delar, symmetriska och asymmetriska. Bland dessa finns två huvudgrupper, strömchiffer (stream ciphers) och blockchiffer (block ciphers). Blockchiffer går ut på att data delas upp i paket och vidare krypteras med någon metod, strömchiffer krypterar varefter data kommer. Strömchiffer krypterar saken på olika sätt, det vill säga "a" krypteras inte alltid till samma chiffertext, vilket också är snabbare och inte kräver lika invecklade kretsar. Generellt kan vi alltså säga att blockchiffer används vid normal kommunikation, exempelvis vid e-post och strömchiffer exempelvis i GSM nätverk, där det använda chiffret kallat A5/1. Likaså kan det sägas generellt, att symmetriska chiffer algoritmer används då stora mängder data skickas mellan parterna och de har etablerat en säkerhets allians, asymmetriska då parterna inte "känner" varandra eller små
mängder data överförs. Blockchiffer baserade på symmetriska nycklar används ofta i VPN för data som skickas är "block" (paket). Olika egenskaper som ett blockchiffer önskas och eftersträvas att uppfylla är bland annat: -Varje bit av chiffertexten skall vara beroende av nyckelns alla bitar och alla bitar i den läsbara texten. -Ett statistiskt förhållande mellan den läsbara texten och chiffertexten förekommer inte. -Varje bit skall vara av sannolikheten 1/2 i förhållande till den ursprungliga biten. -Förändring i chiffertext skall leda till oförutspåbara ändringar i den läsbara texten. Om inte dessa riktgivande "regler" uppfylls är chiffret relativt enkelt att bryta eftersom det finns tabeller och det är lätt att göra statistik på förekomsten av olika bokstäver och bokstavskombinationer i olika språk. DES (Data Encryption Standard) uppfyller dessa krav. DES var den första kommersiella chiffer algoritm, utgiven på 1970-talet. DES använder en 56 bits nyckel, ursprungligen 64 bitar som blir förkortad. Senare har en vidare utveckling av DES gjorts, kallad 3DES. Iden är den samma men istället gör 3DES först en kryptering, sedan dekrypteras texten med en annan nyckel och till slut krypteras den igen med en tredje nyckel. Andra ofta använda blockchiffer är IDEA (International Data Encryption Algorithm) som krypterar 64 bitars ren text till 64 bitars chiffer text block genom att använda sig av en 128 bitar lång nyckel. Blockchiffer baserade på asymmetriska nycklar är mer komplicerade och används till en del av VPN. Dessa chiffers funktioner är mycket långsammare än de som använder symmetriska nycklar. Som redan nämnts är de dock säkrare och lättare att underhålla. Det absolut vanligaste asymmetriska block chiffret är RSA, namngivet av dess uppfinnare R. Rivest, A. Shamir, and L. Adleman. För dessa gäller samma "regler" som för alla andra som använder asymmetriska nycklar, se kapitel 3.2.2.
Symmetric Asymmetric Speed Fast Slow Key Size Relatively Small Extremely Large Key Usage Shared Secret Public/Private Usual Usage Bulk Data Transfer Authentication Examples DES, Triple Pass RSA, PGP DES, 3DES, rc4 Tabell 4: Symmetric Versus Asymmetric Cryptography 4.0 Övriga aspekter En hel del fördelar i form av implementering av VPN har tagits fram i denna uppsats. Som vi alla vet är det pengar som styr investeringar och det väntas maximal avkastning av varje investerad slant. Beräknat i pengar jämfört med leasade linjer är VPN i många fall en sådan. De indirekta fördelarna är minst lika många och stora, företagen kan genom uppföljning av förfrågan estimera marknadens behov och kan således införa JIT (just in time) system till lager. Kapitalet är således minimalt bundet i lager för att allt sker i real tid. Detta är synnerligen viktigt inom data branschen då värdet på produkterna sjunker snabbt, det vill säga ju mindre tid det tar för en produkt från produktion till konsument, desto större är vinsten. Generellt ger VPN en fördel till Logistiska frågor, försäljaren ser i real tid hur mycket det finns av en viss vara på lagret eller hur länge det tar för varan att komma till lagret. Hela produktens livscykel kan effektiveras och detta betyder större vinster. VPN möjliggjorde distansarbete och indirekt betyder detta trivsammare arbete och därmed mindre sjukfrånvaro. Alternativt kan man befinna sig i ett annat land och delta i företagets rutiner som normalt eller till och med i konferenser över Internet. Åter igen betyder detta inbesparing av pengar. Inte så mycket gott att inte det skulle finnas dåliga sidor också för inget system är totalt säkert. Överföring av hemligheter över allmän infrastruktur kan leda till att data hamnar i orätta händer. Således är det inte konstigt att företag är villiga att satsa på data säkerhet och realtids kommunikation. För producenter eller serviceerbjudande företag ligger det i deras intresse att "späda" på skräcken. Detta får inte tas med en nypa salt, dock behöver man ju inte tro på saken ordagrant utan att ha hittat stödande undersökningar av opartiska instanser.
Fördröjningarna i VPN blir naturligtvis större än annars, ju längre nyckel desto längre fördröjning. En studie av Samir Al-Khayatt, Siraj A. Shaikh, Babak Akhgar och Jawed Siddiqi vid School of Computing & Management Sciences, Sheffield Hallam University 2002 gav intressanta resultat. Manicker som användes vid denna test var Cisco 2621 router/brandvägg, en VPN server samt två noder. Dessa testades då serverns operativsystem var Novell Border Manager respektive Microsoft Windows 2000 med okrypterade paket och med IPsec tunnlade paket. De skickade paketen var olika stora och deras medeltal togs i beaktande, varefter prestanda minskningen räknades ut. Slutresultatet blev att med Novells operativ system minskade prestandan med 22.33%, med Windows med 1.63% 5.0 Slutord Redan idag är det uppskattat att 50 % av belastningen på telefon infrastrukturen är data. Kort sagt betyder detta att människorna har skapat ett beroende för data. Producenterna försöker utveckla behov för att försäkra efterfrågan på deras följande produkt och garantera vinsten. Detta kommer enligt min, även andras, åsikt att dela utvecklingen i två delar, snabbhet och tillgänglighet. Snabbheten utvecklas genom nya teknologier som använder den infrastruktur som redan finns, idag med andra ord bland annat telefonlinjer och elnätverket. Tillgängligheten utvecklas så att vi kan nå data och kommunicera oberoende av position och tid. Då utspridningen av mobila telefoner tas i beaktande är det sannolikt att det är en tidsfråga tills mobiltelefonnätverket står inför samma belastning. Med GSM kommer man upp till kommunikationshastigheter på 14.4 Kbps vilket inte är mycket. Den tredje generationens mobiltelefon system borde förse oss med snabbare kommunikation, detta i avseende på data för det går ju bra att tala med GSM. Det finns och uppbyggs ett behov för detta. Som Bruce Permutter och Jonathan Zarkower börjar sitt kapitel om framtiden lånande Albert Einstein, slutar jag denna uppsats, med en sanning för datorvärlden i denna "Internet" era, "Jag tänker aldrig på framtiden. Den kommer snabbt nog ändå".
Referenser: [ 1 ] Samir Al-Khayatt, Siraj A.Shaikh, Babak Akhgar and Jawed Siddiqi, "A Study of Encrypted, Tunneling Models in Virtual Private Networks", School of Computing & Management Sciences, Sheffield Hallam University, City Campus, 2002, URL: http://csdl.computer.org/dl/proceedings/itcc/2002/1506/00/15060139.pdf [ 2 ] Douglas E. Comer, "Internetworking with TCP/IP" fourth edition, Department of Computer Sciences, Purdue University, Prentice Hall. [ 3 ] K. Egevang, P. Francis, "The IP Network Address Translator (NAT)" RFC 1631, May 1994. URL: http://www.faqs.org/rfcs/rfc1631.html [ 4 ]S. Kent BBN Corp, R. Atkinson @Home Network, IP Encapsulating Security Payload (ESP), RFC 2406, November 1998, URL: http://www.faqs.org/rfcs/rfc2406.html [ 5 ] Kory Hamzeh, Gurdeep Singh Pall, William Verthein, Jeff Taarud, W. Andrew Little, "Point-to-Point Tunneling Protocol--PPTP", June 1996, URL: http://support.3com.com/infodeli/tools/remote/general/pptp/draft-00.pdf [ 6 ] Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone "Handbook of applied cryptography", fifth printing, August 2001, URL: http://www.cacr.math.uwaterloo.ca/hac/ [ 7 ] Bruce Permlmutter, Jonathan Zarkower, "Virtual Private Networking", Prentice Hall 2000. [ 8 ] Andrew S. Tanenbaum, "Computer Networks", Prentice hall, 4 th edition, 2003. [ 9 ] "Cisco IPsec white paper", November 2000, URL: http://www.cisco.com/warp/public/cc/so/neso/sqso/eqso/ipsec_wp.htm
[ 10 ] Dataterminologi översättningar från engelska till svenska, URL: http://www.nada.kth.se/dataterm/rek.html [ 11 ] "Understanding Virtual Private Networking", URL: http://www.adtran.com/adtranpx/doc/0/eu0gpr0pefb139rf038be81id8/eu0gpr0pefb13 9RF038BE81ID8.pdf, September 2001. [ 12 ] Zyxel, "Users guide for Zyxel prestige 312 broadband access security gateway" version 3.00, May 2000. Figurer: 1.Brandväggen, URL: http://computer.howstuffworks.com/firewall.htm 2.VPN arkitektur, URL: http://www.cisco.com/en/us/netsol/ns340/ns394/ns171/ns125/networking_solutions_package. html 3.VPN användning, URL: http://computer.howstuffworks.com/vpn.htm 4.IP-in-IP, URL: http://www.netbook.cs.purdue.edu/figures/f40_5.htm 5.IPsec paketet, URL: http://www.cs.man.ac.uk/solaris/sun_docs/c/solaris_9/sunwaadm/sysadv3/p77.html 6.NAT och VPN, URL: http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_sw/v_62/config/sit2site.htm 7. IPv4 header, URL: http://www.erg.abdn.ac.uk/users/gorry/course/inet-pages/ip-packet.html 8.ESP paketets struktur, URL: http://www.faqs.org/rfcs/rfc2406.html Tabeller: 1.Jämförelse av de olika tunneling protokollen, URL: http://www1.avaya.com/enterprise/whitepapers/vpnetworkswp.pdf 2.Reference numbers comparing relative magnitudes, kapitel 1, sid. 44, URL: http://www.cacr.math.uwaterloo.ca/hac/about/chap1.pdf 3.Summary of selected hash functions based on MD4, URL:
http://www.cacr.math.uwaterloo.ca/hac/about/chap9.pdf 4.Symmetric Versus Asymmetric Cryptography, URL: http://www.intel.com/support/si/vpn/lanrover/bi0113.htm#p60_2852