Mjukvarurealiserad bildtelefoni

Storlek: px
Starta visningen från sidan:

Download "Mjukvarurealiserad bildtelefoni"

Transkript

1 Mjukvarurealiserad bildtelefoni Examensarbete 20p, Umeå Universitet P-O Östberg

2 Abstract With the ever increasing popularity of the Internet a staggering increase in the number of computer users has followed the last five years. The daily lives and communication patterns of ordinary people have been forever altered by the presence of computers in the home as well as in the workplace. Today there are few people in the developed world who have not heard of the Internet or used it, the question is no longer if the internet will change the way we communicate but how it has changed it and how it in the future will change it. This thesis, which has been produced at Umeå University, attempts to provide a glimpse of the theories and techniques used in construction of image based communication tools for use on the Internet. The focus has been directed toward image based telephony systems and how these can be produced without the support of dedicated hardware. The thesis consists of three main parts: it starts off with a short introduction to the field of image based telephony, continues with a theoretical overview of (image) compression and cryptography respectively, and concludes with a model for a software realised image based telephony system. Hopefully it will serve as a comprehensive introduction to the field for the interested reader. 2

3 Innehållsförteckning Abstract 2 Innehållsförteckning 3 Inledning 4 Bildtelefoni 6 Komprimering och kryptering som företeelser 8 Kryptering 9 Symmetrisk kryptering 12 Asymmetrisk kryptering 15 Komprimering 21 Redundans 23 Förlustfri komprimering 24 Dataförstörande komprimering 26 Frekvensdomänanalys 30 Transformbaserad komprimering 33 Transformbaserad bildkompression med DCT 36 Trunkering av transformkoefficienter 39 Kvantifiering av transformkoefficienter 43 Modellbaserad komprimering 44 Spektral redundans 46 Temporal redundans 48 Ett bildtelefonisystem 51 Bildkälla 53 Komprimeringsmodul 57 Krypteringssystem 62 Kommunikationsstack 64 Implementation 66 Slutsatser 70 Ordlista 73 Källhänvisningar 75 Appendix A Systembeskrivning kompressionsmodul 77 Appendix B Interaktiva demonstrationer 86 Pad Demo 87 Block Demo 88 DCT Demo 89 Quantization Demo 90 Frame Compression Demo 91 Stream Compression Demo 93 Animated Stream Compression Demo 94 3

4 Inledning Detta examensarbete har utförts som en del av civilingenjörsutbildningen Teknisk Datavetenskap 180p vid Umeå Universitet och omfattar 20 högskolepoäng, motsvarandes en termins heltidsstudier. Ämnesområdet har valts av författaren själv, efter personligt intresse för de involverade teknikerna och inte på uppdrag av någon extern organisation eller intressegrupp. Mål Detta arbete studerar i första hand de olika delar som ingår i mjukvarurealiserade applikationer för bildtelefoni, med fördjupning mot ämnesområdena bildbehandling (framförallt bildkompression) samt säkerhet. Målet med detta arbete har varit att studera och öka studentens förståelse för några av de metoder och komponenter som vanligen ingår i dagens system för visuell kommunikation. Arbetets fokus har medvetet förlagts mot studier av teorierna snarare än produktionen av en prototyp för ett sådant system. Metod I tidsdispositionen för detta arbete har en stor del av arbetstiden förlagts gentemot studier av teorier och implementationsdetaljer hos bildkomprimeringsalgoritmer och symmetriska krypteringsalgoritmer. Detta speglas inte alltid på ett rättvist sätt i redovisningen av detta arbete men motiveras av att dessa två områden är oerhört komplexa och beräkningsintensiva. Dessa måste sålunda implementeras på ett så effektivt sätt som möjligt för att kunna användas i rena mjukvarulösningar. Den naturliga (eller snarare industriella) ansatsen av detta problem är att realisera dessa delar i dedikerad hårdvara eftersom detta dels kommer att avlasta systemet och dels kommer att resultera i en fysisk produkt som är lättare att föra ekonomiskt. Undvikandet av detta har varit ett medvetet val en av grundstenarna i detta examensarbete har hela tiden varit att undersöka vad som går att göra med endast de resurser som gemene datoranvändare har till sitt förfogande. Den praktiska delen av det här arbetet har bestått i att utveckla en modell för ett bildtelefonisystem samt att implementera delar av denna modell. Huvudsakligen har det gällt kompressionsdelarna, men även en symmetrisk krypteringsalgoritm (DES) samt en klient för bildanskaffning via TWAIN har implementerats. Andra implementationsdelar som studerats i detta arbete har varit alternativa metoder för bildanskaffning, överföring av bilddata på paketbaserade nät samt utbytesförhållanden mellan olika samverkande delar av arbetets mer komplicerade algoritmer. Det finns ett flertal naturliga förlängningar av detta arbete, exempelvis hur audiell information skulle inkorporeras i systemet eller hur systemet skulle kunna realiseras på en viss plattform. De verktyg som utvecklats i detta examensarbete har gjorts så i pedagogiskt syfte och står naturligtvis till andra studenter av ämnesområdets förfogande. Översikt Det här arbetet består huvudsakligen av tre delar, det inleds med en kortare introduktion till applikationsområdet bildtelefoni, där inledande definitioner och frågeställningar ställs upp. Efter detta följer en teoretisk genomgång av fälten kryptering och komprimering, var för sig och ur applikationsområdets synvinkel. Som tredje del finns sedan en diskussion av en modell för ett mjukvarurealiserat bildtelefonisystem, där vissa utbytesförhållanden demonstreras med hjälp av 4

5 programvara som tagits fram för pedagogisk effekt. Avslutningsvis finns en sammanfattning där arbetets mest påtagliga slutsatser och resultat redovisas. Arbetets upplägg har varit att skriva översiktligt för en målgrupp med teknisk bakgrund och med detaljdjup för läsaren med intresse för bildtelefoni. Förhoppningen är att materialet skall kunna fungera som en introduktion till ämnesområdet för den intresserade. 5

6 Bildtelefoni Kommunikation människor emellan handlar mycket om information som oftast är svår att förmedla med begränsade media. Exempelvis tillför det visuella elementet mycket i mänsklig kommunikation, det underlättar processen att ta till sig information och tolka densamma. Människor lär sig redan under sin uppväxt att tolka andra människors ansiktsuttryck för att extrapolera ytterligare information utöver vad som ligger i det sagda ordet. En icke föraktlig del av information överförs också via förmågan att avläsa dolda meningar eller undertoner förmedlade med kroppsspråk och gester. Forskning inom fältet Människa Dator Interaktion konstaterar att en av de mest önskvärda egenskaper för kommunikationssystem är förmågan att förmedla en känsla av närvaro för de kommunicerande parterna. Det är viktigt att definiera kommunikation i termer av upplevelse snarare än i termer av de media som används. Tyvärr finns det dock kraftiga begränsningar i de tekniska möjligheter som står till hand för att implementera kommunikation och det är framförallt samtidens lösningar på dessa som detta arbete fokuserar på. Dagens bästa kompromisser (vilka givetvis utgörs av datorbaserade system) använder sig av kameror, mikrofoner och datornätverk för att förmedla olika former av koordinerade hypermedia (såsom data, audiell och videoinformation), oftast med ansatsen att erbjuda så fri och ohämmad kommunikation som möjligt. I detta arbete har den audiella biten medvetet valts bort, detta för att kunna bortse från svårigheterna involverade i att upprätthålla synkronisering av den presenterade informationen (vilket främst är en utmaning mellan audio och video). Givetvis ignoreras inte detta viktiga media, telefonen är förmodligen det mest utbredda distanskommunikationsverktyget i historien här antas dock helt enkelt att den audiella informationen överförs via en icke här definierad separat kanal vars bruk inte inverkar på de komponenter som tas upp i detta arbete. Vad är bildtelefoni? Bildtelefoni är med lite välvilja i sig en gammal tanke som omnämnts i litteratur sedan åtminstone första halvan av 1800 talet och demonstrerades praktiskt av Bell Telephone Laboratories redan i början på 1930 talet. Det som diskuterades då var telefoni med en visuell komponent, d.v.s. att det utöver en audiell tvåvägskommunikation även fanns en visuell presentation av sin motpart. Den definition av bildtelefoni som används i det här arbetet har av praktiska skäl utöver detta även lagt till en del detaljer såsom att kameran är fixt monterad, att det är begränsad rörlighet i bilden samt att slutanvändaren är mänsklig. Denna utökning gör området bildtelefoni till ett förhållandevis tacksamt område att arbeta med eftersom detta gör det möjligt att anta en hel del om hur bilderna genereras och vad de innehåller. Detta innebär i praktiken betydligt mer effektiv kompression än då en godtycklig videosignal skall bearbetas. Omfattande forskning har utförts på detta område då det naturligt finner ett mycket brett spektra av användningsområden kring mänsklig kommunikation över avstånd, inte minst bland de hörselskadade vilka inte kan förlita sig på enbart audiell information för kommunikation. Verktygen inom detta fält finner också användningar bland närbesläktade områden såsom automatisering, övervakning och underhållning. 6

7 Vad är ett bildtelefonisystem? Centralt i bildtelefonisystem är kommunikationsklienten, vilken utöver audiell och visuell information även också ofta erbjuder möjlighet att utbyta filer, textmeddelanden och att dela ett gemensamt ritblock. Ofta finns det även en eller flera former av katalogtjänster där användare av systemet kan presenteras sig själv, se vilka användare som använder systemet för tillfället samt gå med i diskussionskanaler orienterade efter ämnen. Vanligtvis fungerar kommunikationsklienten fristående från katalogtjänsters infrastruktur och går att använda fullt ut utan denna, men i en ständigt växande kommunikationsvärld är ofta dessa eller något motsvarande nödvändigt för att smidigt lokalisera ens kommunikationspart. Vad är säkerhet? Definitionen av säkerhet varierar stort från person till person, organisation till organisation samt (inte minst) från applikation till applikation. Det brukar sägas att säkerhet inte är en lösning utan ett pågående arbete, där hotbilder mot ens verksamhet kontinuerligt får identifieras och uppdateras. Viktigt är även att identifiera vilken nivå av säkerhet som är önskvärd i en värld där ledningar kan kapas, radiovågor avlyssnas och krypteringar knäckas är absolut säkerhet en utopi. Vad som istället bör eftersträvas är att etablera den nivå av säkerhet som är rimlig för den kostnad som kan accepteras. Idiomet Det finns inget system som är idiotsäkert så länge det är människor som använder det håller sant. Hur genialiskt ett system än är designat finns det alltid brister i det ofta faller system genom att det oavsiktligt används på fel sätt eller helt enkelt medvetet korrumperas av dess användare. Det är viktigt att vara medveten om behovet av flera olika lager av säkerhet ett företags virtuella privata nät (som krypterar kommunikationen mellan företagets kontor) skyddar exempelvis inte dess anställda mot arbetsgivarens egna försök att avlyssna dem. Varje enskild applikation bör utveckla sitt egna och självständiga säkerhetssystem då robust säkerhet eftersträvas. Vad är säkerhet inom bildtelefoni? Som i alla kommunikationssystem kan den information som överförs i bildtelefoni vara av privat eller i övrigt hemlig natur och bör skyddas mot de hot som finns vid överföring över Internet av idag. Exempel på dessa är avlyssning, identitetsförfalskning, sessionsövertagande med mycket mera. Det idag enda praktiska alternativet som erbjuder en lösning för de flesta av dessa problem består av en kombination av olika former av kryptering asymmetrisk kryptering för autenticering, signering och utväxling av sessionssnycklar samt symmetrisk kryptering för skydd av kommunikationskanalen. Kryptering bör i ett bildtelefonisystem implementeras så transparent för slutanvändaren som möjligt kommunikationsparternas identiteter är det enda som slutanvändaren behöver veta något om säkerhetsmässigt sätt. För de som har möjligheten och behovet av att göra så är det naturligtvis även möjligt att dra egna ledningar och skydda dessa mot dylika hot, men eftersom detta är en oerhört kostsam lösning så brukar detta endast göras då även bandbreddsbehoven kräver detta. Det är betydligt billigare att använda virtuella privata nät och andra krypteringslösningar för att undvika farorna med publika nät. Dras egna ledningar för att undvika avlyssning är för övrigt fiberledningar att föredra eftersom dessa är avsevärt svårare att avlyssna jämfört med vanliga kopparledningar (där ledningens inducerande magnetfält kan användas för avlyssning utan att störa datatrafiken eller på annat vis röja avlyssnaren). 7

8 Komprimering och kryptering som företeelser Även om de vid första anblicken verkar vara två vitt skilda områden, så har komprimering och kryptering en hel del gemensamt. Båda är beräkningsintensiva, arbetar ofta på stora datamängder och strävar efter att reducera redundans i de datamängder de opererar på dock för skilda syften. En komprimering strävar efter att identifiera strukturer hos data i syfte att kunna beskära eller representera detsamma på ett mer effektivt vis och därigenom minska storleken hos representationen. En kryptering strävar efter att eliminera redundans hos datamängden i syftet att obfuscera data till oigenkännlighet, oftast utan att förändra storleken på det producerade resultatet. Ifall båda dessa komponenter existerar i ett system så bör alltid kompressionen appliceras före krypteringen! Motivationen för detta ligger i att komprimeringsprocessen är beroende av den inneboende dataredundansens struktur för att kunna erbjuda någon effektiv kompression, men noteras bör även att säkerheten i ett krypteringssystem kan öka genom att applicera en komprimering på data före krypteringen. Detta eftersom komprimering i sig en reducerar redundansen, vilket försvårar en av de första metoderna för en attack mot systemet baserat på kryptoanalys att försöka gissa sig till eller tolka innehållet i det skyddade materialet baserat på dess struktur. Som processer betraktat kan komprimering och kryptering båda ses som transformationer som översätter data mellan olika värdedomäner, men det ligger en viktig skillnad mellan de två även här. En kryptering måste per definition vara fullständigt reversibel 1, d.v.s. med inga andra verktyg än dekrypteringsalgoritmen (och dess eventuella parametrar) skall det vara möjligt att återskapa ursprungsdata utan avvikelser. Detsamma gäller inte för komprimering då det finns klasser av komprimeringsalgoritmer som arbetar enligt hypotesen att det i data finns irrelevanta portioner som kan beskäras utan att introducera alltför stora fel i återskapat data. Dessa inriktar sig istället på att resultera i en, för den aktuella applikationen, acceptabel approximation av ursprungsdata. Kompressionsalgoritmer brukar på detta vis klassificeras i de två undergrupperna förlustfria och dataförstörande kompressionsalgoritmer, där de förstnämnda är reversibla och de övriga inte. Relationsmässigt kan detta ses som att förlustfri komprimering har en 1 1 relation mellan ursprungsdata och komprimerat data, medan dataförstörande algortimer har en n 1 relation (flera datauppsättningar kan resultera i samma komprimerade data givet samma algoritm). Krypteringar har med samma resonemang också en 1 1 relation mellan indata och utdata. 1 Det finns en klass av krypteringsalgoritmer som kallas envägskrypteringar som inte är reversibla. Dessa är dock ämnade att användas som hashfunktioner och därför inte menade att kunna dekrypteras. 8

9 Kryptering Motiv för kryptering Dagens kommunikationsnätverk går mer och mer mot användandet av paketbaserade nät, där slutanvändaren inte har någon kontroll över (eller sällan ens information om) vilken väg paketen tar. Det naturliga exemplet på detta är Internet, vilket till majoriteten består av IP baserade nät, där avlyssning i olika former inte längre är en möjlighet utan snarare en realitet. Introduktionen av kryptering ger inte här enbart ett skydd mot avlyssning utan skapar även en hel rad andra funktioner såsom innehållsverifikation, användarautenticering och meddelandesignering. Dessa tekniska grundstenar möjliggör i sin tur förflyttandet av många av vardagliga mänskliga aktiviteter till det elektroniska mediet. Exempel på detta är kommunikation, handel, demokratiska val med mycket mer. De krypteringsmetoder som är allmänt tillgängliga idag erbjuder om än inte ett absolut skydd så väl garantin att den information som krypteras kommer att vara skyddad länge nog för att den skall hinna bli inaktuell innan någon knäcker din kryptering. Detta dessutom föresatt att den som vill knäcka en kryptering är intresserad nog av detta att lägga ner mycket pengar, tid och resurser på detta oftast utan någon slags garanti att lyckas. Naturligtvis förutsätter alla dessa resonemang att kryptering används på ett korrekt vis, något som tyvärr har visat sig vara eftersatt i många stora applikationer av idag. För en utförligare överblick över kryptering och dess användning se [15], [19], [21], [22] och [23]. [13] och [14] erbjuder en god introduktion till det praktiska användandet av kryptering (sett ur Java programmerarens perspektiv). Vad är en krypteringsalgoritm? Den definition av en krypteringsalgoritm som tidigare nämndes var en reversibel funktion som efter ett förbestämt mönster obfuscerade data och eliminerade redundans. Denna definition är dock på intet vis absolut och varierar ofta med tillämpningens krav på krypteringsalgoritmen. Några klassiska exempel på krypteringalgoritmer är Spartanernas scytales och romarnas Caesar skiffer, vilka användes i antiken av militärer för att kryptera meddelanden som skulle överföras med kurir. Spartanernas scytale var en träkäpp vilken konstruerades till identiska dimensioner i två exemplar en för avsändare och en för mottagare. Krypterade meddelanden skapades genom att en remsa lindades upp på käppen och meddelandet skrevs i käppens längdriktning (d.v.s. vinkelrätt mot remsans lindningsriktning med ett tecken per lindningsvarv och rad). När remsan sedan lindades av käppen så tedde den sig som en remsa med godtyckliga tecken och var oläslig utan mottagarens käpp. Scytalen är ett exempel på ett transpositionsschiffer, där tecknen i meddelandet ordnas om efter en i förväg given metod. Transpositionsschiffrens svaghet är att om metoden för hur meddelandet ordnats om röjs så röjs även meddelandet. Ett exempel på en liknande metod som kallas substitutionschiffer är romarnas Casear skiffer. Ett substitutioneschiffer obfuscerar ett meddelande genom att varje tecken bytes mot ett annat efter en i förväg uppgjord mall. Caesar skiffren skapade denna mall genom att cykliskt förskjuta bokstäverna i alfabetet ett visst antal steg. Exempelvis var Caesar +3 en kod som försköt dem tre steg a byttes ut mot d, b mot e osv. Svagheten hos substitutionsschiffer är att det inte är en oöverkommelig svårighet att gissa sig fram till vilket tecken som byts ut mot vilket. En metod för att göra detta baserar sig på att studera tecknens relativa förekomst i meddelandets språk, vilken bevaras även om tecknen i sig bytes ut. Även tecknens grupperingar i meddelandet kan ge led- 9

10 trådar till innehållets natur, exempelvis är ett tecken som förekommer två gånger efter varandra i det svenska språket med hög sannolikhet en konsonant. En lite mer modern ansats för att kryptera meddelanden som uppstod i slutet av första världskriget kallas engångsblock (One Time Pads), vilket får sitt namn från att ett block av samma storlek som meddelandet och innehållande en sträng av godtyckliga tecken tas fram och används för att kryptera varje meddelande. Detta schiffer baseras på Vignere schiffret (även känt som Le Chiffre Indechiffrable) och fungerar så att varje tecken i meddelandet bytes ut mot ett tecken som slås upp i en tabell med blocktecknets plats i alfabetet som tabellindex. Denna metod benämns ibland som den ideala krypteringen och är teoretiskt hållbar förbehållet att engångsblocken tagits fram fullständigt slumpmässigt! Detta (fullständig slumpmässighet) visar sig dock vara ett praktiskt problem eftersom det idag saknas matematiska metoder för att generera äkta slumptal idag används istället matematiska talserier för att generera s.k. pseudoslumptal. Det stora praktiska problemet med denna ansats är dock distributionen av de i förväg konstruerade engångsblocken, vilka måste vara minst lika stora som meddelandet (vars storlek kanske inte är känd i förväg). Kryptering och kryptoanalys Historiskt sett har det förekommit många metoder för kryptering och minst lika många metoder för kryptoanalys, d.v.s. knäckande av kryptering. Klassisk kryptoanalys var en mycket tidsödande verksamhet där alla genvägar som gick att ta utforskades en klassisk kryptoanalytiker studerade meddelandets avsändare, struktur, språk och krypteringsmetod för att få ledtrådar till meddelandets innehåll. Av denna och många andra anledningar använder sig därför dagens krypteringssystem av numeriska representationerna i det binära talsystemet av meddelanden, vilka krypteras på bitnivå istället för på teckennivå. Dessa metoder baserar sin säkerhet på matematiska egenskaper hos krypteringsalgoritmen snarare än försök att hemlighålla hur meddelandet framställts eller vad det innehåller. Kryptoanalys av idag består av försök att finna matematiska genvägar till dekryptering, vilket bedrivs som legitim akademisk och industriell forskning efter principen bevis genom avsaknaden av motbevis, samt av (massivt parallella) försök att testa samtliga möjliga permutationer av krypteringsnyckeln för dekryptering. Denna senare metod kallas exhaustive key search eller brute force och förenklas stort ifall en del av meddelandet är känt. Den är dock även möjlig att använda om så inte är fallet genom att undersöka dekrypterat data och se om det är av något format som kan förväntas likna det som krypterats. Krypteringsstyrka Det antal olika krypteringsnycklar som maximalt måste testas i en brute force attack av en kryptering är 2 n, där n är antalet bitar i den binära representationen av krypteringsnyckeln. Matematiska krypteringars styrka brukar av denna anledning mätas i antal bitar i krypteringsnyckeln. Här bör noteras att krypteringens styrka beror på utbytesförhållandet mellan algoritmens exekveringshastighet (vilken förändras över tid med teknisk utveckling) och antal bitar i nyckeln, varför antal bitar i sig inte generellt kan användas som ett mått på önskad krypteringsstyrka. 256 bitars XOR kryptering kommer att vara mycket svagare än 256 bitars AES kryptering ända till dess AES kan beräknas lika snabbt som XOR. I vissa fall kan även matematiska svagheter i krypteringsalgoritmen användas för att reducera det antal permutationer som behövs testas i en brute force attack. Detta sägs då sänka krypteringens styrka. Noterbart för den tidigare nämnda metoden med engångsblock är att även om den har en mycket låg beräkningsintensitet (en XOR operation per byte) så är en brute force attack värdelös här att testa varje möjlig permutation av krypteringsnyckel kommer att generera varje möjlig permutation av utdata eftersom nyckeln är fullständigt slumpmässig och lika lång som indata. 10

11 Egenskaper hos en krypteringsalgoritm En mycket önskvärd egenskap hos en krypteringsalgoritm är förmågan att kunna använda nycklar av olika storlek genom att förändra krypteringsnyckelns storlek kan en krypterings styrka anpassas för att förlänga dess livstid. Detta resonemang förutsätter dock att även algoritmens beräkningskomplexitet (läs exekveringshastighet) kan anpassas efter den hårdvara som finns tillgänglig när den skall användas. Beräkningsintensiteten hos en krypteringsalgoritm bör med andra ord (tillsammans med nyckelstorleken) vara anpassad sådan att den dels är så snabb att den går att använda transparent och dels ändå är så långsam att den tar opraktiskt lång tid att attackera med en brute force metod. På grund av detta (och andra matematiska anledningar) brukar krypteringsalgoritmer ibland designas till att vara mycket komplexa eftersom detta försvårar konstruktionen av specialiserad hårdvara som utför krypteringsoperationer i mycket hög hastighet (och därmed kan användas för attacker av algoritmen). I design av asymmetriska krypteringsalgoritmer kan ett liknande resonemang användas för att belysa ett annat utbytesförhållande. Där gäller att om krypteringsprocessen är (mycket) snabbare än dekrypteringsprocessen så ökas livslängden för algoritmen avsevärt av samma anledning. Viktigt att komma ihåg i de här resonemangen är att målet med en kryptering inte är att uppnå absolut säkerhet utan bara att fördröja när meddelandet blir känt tills dess det inte längre är av intresse för någon. En annan och mer matematisk egenskap som är önskvärd hos en krypteringsalgoritm är att den skall ha en hög lavineffekt. Med detta avses att förändring av ett litet antal bitar i indata skall ge en förändring av ett stort antal bitar i utdata för samma krypteringsnyckel. Idealiskt skall hälften av bitarna i utdata förändras när en av bitarna i indata ändras matematiskt uttryckt maximerar detta variansen för utdata (eller minimerar redundansen i indata). Grundantagandet för en matematisk krypteringsalgoritm är att det är den enda (eller åtminstone den enklaste eller snabbaste) algoritm som givet indata och krypteringsnyckel genererar utdata. 11

12 Symmetrisk kryptering Symmetrisk kryptering får sitt namn från att kryptering och dekryptering är symmetriska processer dekryptering är ofta inversen av kryptering och samma nyckel används i båda fall. Symmetrisk kryptering kallas även av denna anledning för hemlig nyckel kryptering eftersom den använda nyckeln hålls hemlig av de parter som delar den. De flesta av dagens symmetriska krypteringsalgoritmer består av komplexa blockschiffer som opererar på binärt data och itererar flera operationer designade att göra det så svårt som möjligt att (utan krypteringsnyckel) återskapa indata från utdata. Blockskiffer Ett blockskiffer är en krypteringsfunktion som översätter ett givet indatablock till ett krypterat utdatablock av samma storlek. Storleken på dessa datablock är oftast fix för algoritmen och därför brukar större datablock delas upp i flera mindre block av den rätta storleken. Krypteras ett datablock som är mindre än algoritmens blockstorlek brukar något slags paddningschema användas för att se till att få ett jämt antal bitar i blocket. Vid dekryption av blocket så antas detta paddningsschema vara känt och dessa extra bitar tas bort vid återskapande av ursprungsmeddelandet. Typiska storlekar på datablock för dagens blockskiffer är 64 eller 128 bitar. Symmetrisk kryptering med blockskiffer illustreras med där C = E(K, M) M = D(K, C) E står för encryption eller kryptering D står för decryption eller dekryptering C är ciphertext eller krypterat data M är meddelande eller okrypterat data K står för key eller krypteringsnyckel För att ytterligare höja säkerheten i blockskiffer kan även olika former av kedjekodning användas för att försvåra attacker på individuella block i meddelandet. Om exempelvis alla block logiskt kombineras (via XOR) med föregående blocks krypterade motsvarighet (och det första blocket kombineras med ett i förväg bestämt block kalla initialiseringsvektor) innan kryptering, så skapas en blockkedja av meddelandet. I denna blockkedja är alla block beroende av tidigare block. För att läsa den första meningen i detta meddelande måste därför alla block i meddelandet dekrypteras (samt initialiseringsvektorn vara känd), från sista till första. Vore de inte kedjade så skulle det räcka med att dekryptera det första blocket för att läsa den första meningen i meddelandet. Denna specifika metod av kedjning kallas Cipher Block Chaining mode (CBC) och används ofta tillsammans med exempelvis DES kryptering. Kryptering av block utan kedjning kallas Electronic Code Book mode (ECB). Det går även att till viss del att höja säkerheten i ett krypteringssystem genom att upprepa kryptering av samma block flera gånger med olika nycklar. Detta ger dock inte säkerhetsmässigt samma resultat som att använda samma algoritm med en tre gånger så lång nyckel och kan resultera i svagare kryptering om en s.k. svag nyckelkombination används. Det är heller inte alla blockskiffer som går att använda på detta vis. Ett exempel på denna ansats är trippel DES (eller 3DES), vilken använder tre stycken nycklar för att kryptera, dekryptera och sedan återigen kryptera samma block. 12

13 På samma vis illustreras detta med C = E(K 3, D(K 2, E(K 1,M))) M = D(K 1, E(K 2, D(K 3,C))) Där K 1, K 2 och K 3 är de tre krypteringsnycklar som används Strömskiffer Ett strömskiffer är ett skiffer som designats till att vara mycket snabbt och arbeta på små datamängder (grupper av bitar) åt gången som extraherats ur dataströmmar. Till skillnad från blockskiffer där samma datablock alltid krypteras till samma kryptoblock för en given nyckel så är strömskiffers krypterade data även beroende av när i dataströmmen det krypterats. Strömskiffer krypterar vanligen genom att generera en nyckelström och sedan logiskt kombinera denna med dataströmmen med XOR eller någon liknande (snabb) funktion. Strömskiffer illustreras på samma vis som blockskiffer C = E(K S, M) M = D(K S, C) Med skillnaden att K S betecknar den nyckelström som används för kryptering istället för en fast nyckel. Engångsblock i strömskifferform erbjuder teoretiskt ideal kryptering men används sällan eftersom den är omständlig att använda i praktiken nyckelströmmen skall genereras fullständigt slumpmässigt, vara lika lång som dataströmmen, användas endast en gång samt distribueras till alla mottagare fullständigt säkert. Dagens vanligaste strömskiffer är RC4 vilken erbjuder en mer praktisk lösning på dessa problem men samtidigt då tvingas göra avkall på säkerheten. Det finns även ett kedjekodningsschema kallat Cipher Feedback mode (CFB) vilket låter i stort vilket blockskiffer som helst att fungera som en nyckelgenerator för strömskiffer. Detta dock oftast utan den efterfrågade hastigheten i krypteringen. Data Encryption Standard (DES) ANSI standard nummer X9.32 (även känd som Federal Information Processing Standard (FIPS) 46 3) definierar en algoritm som vanligen benämns the Data Encryption Standard, eller DES. Detta är en av världens mest kända och använda krypteringsalgoritmer som finns representerad i ett flertal standarder. DES tillkom när amerikanska myndighetsorgan i början av 1970 talet vidareutvecklade en algoritm från IBM som hette Lucifer. DES är ett blockskiffer som använder sig av 64 bitars datablock och 56 bitars nyckel (egentligen 64 bitar där nyckelns paritetsbitar tagits bort). Innan kryptering påbörjas permuterar DES nyckeln till ett längre nyckelschema efter en algoritm bestående av rotationer och substitutionsboxar (vilka i dagligt tal kallas S boxar). Eftersom en cyklisk rotation går att uttrycka som en substitution går denna algoritm att förenkla till kombinationen av nyckeln och en enda S box per instans i nyckelschemat. Själva krypteringen i DES består av en initial permutation följd av 16 stycken iterationer av algoritmen nedan och avslutas sedan med en sista permutation (vilken är inversen av den initiala). 13

14 1) dela det 64 bitar långa datablocket i två lika stora delar 2) expandera den högra halvan av datablocket till 48 bitar 3) kombinera dessa 48 bitar med en del av nyckelschemat (via XOR) 4) dela in de 48 bitarna i 8 lika stora delar och applicera DES S boxarna på dem 5) konkatenera resultaten från S boxarna till en 32 bitars sträng 6) permutera dessa 32 bitar enligt ett givet schema 7) kombinera de resulterande 32 bitarna slutligen med den vänstra halvan från 1) 8) byt plats på högra och vänstra halvan av datablocket inför nästa permutation Dekryptering i DES går till på samma sätt som kryptering, med skillnaden att de 16 iterationerna utförs med nyckelschemat i omvänd ordning. DES säkerhet har under hela dess livstid debatterats och det har visats att DES är känslig för olika typer av matematiska attacker. Under januari 1999 bröts en generell DES baserad kryptering på 22 timmar med hjälp av exhaustive key search och DES betraktas nu som mer eller mindre föråldrad. För mer information om DES se [8], [19] och [22]. Advanced Encryption Standard (AES) 1997 utlyste ett amerikanskt myndighetsorgan kallat the National Institute of Standards and Technology (NIST) något som kallades the AES initiative. Detta var en form av tävling, där forskare och privatpersoner världen över inbjöds till att konstruera en krypteringsalgoritm designad för att ersätta DES. Kriterierna var (förenklat) att tävlingsbidragen skulle gå att använda på samma vis som DES, kryptera med 128, 192 respektive 256 bitars nycklar samt operera på 128 bitars datablock. Under 2000 utsågs algoritmen Rijndael (dubbad så efter dess belgiska skapare Joan Daemen och Vincent Rijmen) som vinnare och har sedan dess etablerats som en standard för blockskiffer. AES består av ett linjärt substitutionsnätverk vilket itereras 10, 12 eller 14 gånger beroende på nyckelns storlek. AES arbetar på 128 bitars datablock och kan använda nycklar av storlek 128, 192 eller 256 bitar. Ett datablock som skall krypteras med AES delas upp i byte baserade matriser vilka sedan behandlas parallellt. Den interna del av AES som itereras består av fyra lager en 8 8 S box, två lager där matrisens rader skiftas och kolumnerna blandas (genom en multiplikation med en konstantmatris) samt slutligen ett lager där matrisens element logiskt kombineras (via XOR) med cykliskt nyckeldata. Kolumnblandningen utförs ej under den sista iterationen. AES erbjuder för närvarande mycket god säkerhet med sina variabla nyckelstorlekar, är (ännu) inte känsliga för några matematiska attacker och är designad på ett vis som gör den lämplig för ett brett spektra av applikationer (vilka sträcker sig från generell datorbaserad kryptering till implementation på smartcards). AES kan använda, men är inte beroende av, alla DES operation modes. För mer information om AES se [7] och [19]. 14

15 Asymmetrisk kryptering Asymmetrisk kryptering får sitt namn från att kryptering och dekryptering är asymmetriska processer kryptering och dekryptering är matematiska funktioner och är inte besläktade annat än genom att dess resultat är varandras inverser. Man talar även om asymmetriska nycklar eller nyckelpar eftersom det inte är samma nyckel som används för dekryptering som för kryptering. Dessa nycklar benämns som publika / privata nyckelpar och krypteringen även därför som publik nyckel kryptering. Diffie Hellman 1976 lade Diffie och Hellman fram idén om att till skillnad från tidigare då en hemlig nyckel (som användes för både kryptering och dekryptering) istället ha en publik nyckel som sprids och en privat nyckel som hålls hemlig. Tanken var att båda nycklar skulle behövas i systemet, en för kryptering och den andra för dekryptering. Vad den här tankegången tillförde var två nya funktioner. Dels blev det nu möjligt att kryptera ett meddelande så att endast den tänkta mottagaren kunde läsa det och dels tillhandahölls en metod för att autenticera avsändaren genom att signera meddelandet! För att kryptera ett meddelande som endast mottagaren kan läsa så krypteras det med mottagarens publika nyckel. Endast mottagaren antas ha tillgång till sin privata nyckel och är därför ensam om att kunna dekryptera meddelandet. För att signera ett meddelande som endast kan ha skickats av avsändaren krypteras meddelandet med avsändarens privata nyckel. Meddelandet blir då endast läsbart om det dekrypteras med avsändarens publika nyckel, vilken alla mottagare antas ha tillgång till. För att verifiera en signatur behövs både meddelandets signatur och meddelandet själv detta sker genom att dekryptera signaturen och se att resultatet (verifikatet) överensstämmer med det ursprungliga meddelandet. Asymmetrisk kryptering illustreras med Där C = E(K P, M) M = D(K S, C) S = E(K S, M) V = D(K P, S) E står för encryption eller kryptering D står för decryption eller dekryptering C är ciphertext eller krypterat data M är meddelande eller okrypterat data S är signaturen för meddelandet M V är verifikatet av S, V = M om M är oförändrat K P står för public key eller publik krypteringsnyckel K S står för secret key eller hemlig krypteringsnyckel (K S, K P ) utgör tillsammans ett asymmetriskt nyckelpar Det är även möjligt att kombinera dessa funktioner för att skapa meddelanden som är både signerade och krypterade. Detta illustreras på motsvarande vis med C = E(K PB, E(K SA, M)) M = D(K SB, D(K PA, C)) 15

16 där K PA är part As publika krypteringsnyckel K SA är part As hemliga krypteringsnyckel K PB är part Bs publika krypteringsnyckel K SB är part Bs hemliga krypteringsnyckel Notera att om en signatur skall användas för att verifiera att ett meddelande inte har förändrats så bör meddelandet även översändas tillsammans med signaturen. Alternativt kan en kryptologisk checksumma användas för detta. För mer information om RSA se [18], [21] och [22]. Hybridsystem Viktigt att notera är att symmetrisk och asymmetrisk kryptering är menade att komplettera, inte ersätta varandra. Asymmetrisk kryptering tillför många praktiska funktioner till krypteringssystem men är också svåra att implementera effektivt nog att använda i många applikationer. Symmetrisk kryptering är dock jämförelsevis oftast mycket snabb och av denna anledning brukar dessa båda användas i kombination i hybridsystem. Det stora problemet med symmetrisk kryptering är att både avsändare och mottagare av hemliga meddelanden i förväg måste enas om den nyckel som krypteringen skall använda, något som är känt som nyckelspridningsproblemet. Med asymmetrisk kryptering kan denna problematik övervinnas eftersom både sändare och mottagare kan utnyttja asymmetriskt krypterade och signerade meddelanden för att utväxla en temporär sessionsnyckel att använda för symmetrisk kryptering av en kommunikationskanal. Man in the middle Nyckelspridningsproblemet är dock inte fullständigt löst med asymmetrisk kryptering det finns fortfarande risken att någon ställer sig mellan sändare och mottagare och inför båda utger sig att vara den andre. Detta kallas en man in the middle eller en proxy attack och är möjligt om avsändaren (som antas initiera kommunikationen) inte redan har mottagarens publika nyckel utan måste slå upp den i en publik katalog. Angriparen ser till att avsändaren då får angriparens publika nyckel istället för mottagarens och utger sig därefter för att vara mottagaren inför avsändaren. På samma vis, efter att ha dekrypterat, läst (möjligen ändrat) och krypterat om avsändarens meddelande, utger han sig sedan inför mottagaren att vara avsändaren. Eftersom angriparen har fullständig kontroll över kommunikationskanalen kan denna inte användas till att verifiera kommunikationspartens identitet. Man in the middle attacker kan användas till avlyssning, sessionsövertagande, förfalskade meddelanden och i förlängningen även till att utföra fler liknande attacker mot andra (där angriparen förfalskar ett intyg från avsändaren eller mottagaren att han är någon annan). Avsändare Angripare Mottagare Figur 1. Man in the middle attack 16

17 Certifieringssystem Den mest spridda lösningen på den här problematiken är att använda certifieringssystem som består av pålitliga enheter kallade certifieringsenheter (Certificate Authority eller CA). Certifieringsenheter utfärdar certifikat som garanterar att en viss publik nyckel verkligen hör till en viss identitet. Dessa certifikat innehåller en kedja av publika nycklar, där varje nyckel är signerad av den föregående och den första i kedjan är certifieringsenhetens egna publika nyckel signerad av sig själv. Certifieringsenhetens publika nyckel antas vara känd av alla och i distribueras i praktiken med webläsare och andra programvarupaket för kommunikation. Denna lösning kräver dock att alla mottagare av sessionsinitieringar är kända hos någon certifieringsenhet, något som i praktiken ännu endast håller för större websiter och företag. Alternativa lösningar för spridning av publika nycklar som är populära hos privatpersoner inkluderar via signaturer i , publicering på websidor samt via elektroniska visitkort. Implementation av asymmetrisk kryptering När Diffie och Hellman lade fram idén och designade grundläggande protokoll för asymmetrisk kryptering så specificerade de bara systemet i det abstrakta de hade ingen färdig metod att implementera ett sådant system. System för asymmetrisk kryptering baserar sig på matematiska problem som är beräkningsmässigt svåra att lösa och har vissa specifika karaktäristika. Envägsfunktioner (one way functions) är funktioner som är lätta att lösa åt ena hållet men avsevärt mycket svårare att lösa åt det andra är önskvärda. En underklass till dessa funktioner är lönndörrsfunktioner (trapdoor one way functions), där det existerar en genväg (lönndörr) för lösningen från det svåra hållet givet viss information om problemet går det enkelt att lösa även från det svåra hållet. Dagens system för asymmetrisk kryptering baserar sig på sådana lönndörrsfunktioner, där själva lönndörren utgör den privata nyckeln. Kryptering och signaturverifikation använder sig av den publika nyckeln medan dekryptering och signaturgeneration använder sig av den privata nyckeln, och därmed är mycket svårt att utföra utan lönndörren. Värt att notera är att de system som idag används för asymmetrisk kryptering baserar sig på problem som antas vara mycket svåra att lösa utan tillgång till lönndörr, avsaknaden av en generell lönndörr har dock vare sig bevisats eller motbevisats för dessa problem. Skulle en sådan upptäckas för ett specifikt problem (d.v.s. om ett sätt att lösa problemet utan lönndörr skulle upptäckas) skulle de system som baseras på det problemet omedelbart bli värdelösa för krypteringsapplikationer. RSA Rivest, Shamir och Adleman skapade och gav 1977 namn åt RSA, vilket idag är i det närmaste en de facto standard när det gäller val av algoritm för asymmetrisk kryptering. Det svåra problem de använde i algoritmen var primtalsfaktorisering, d.v.s. att givet produkten av två stora primtal finna dessa primtal. Nyckelgeneration i RSA fungerar enligt följande Välj två stora primtal, p och q, och beräkna deras produkt n = p q. Välj sedan ett tal e som är mindre än n och relativt primt till (p 1) (q 1), (d.v.s. att gcd (e, (p 1) (q 1)) = 1). Finn nu ytterligare ett tal d så att (e d) 1 är jämnt delbart med (p 1) (q 1). Den publika nyckeln är nu talparet (n, e) och den privata nyckeln är talparet (n, d). När sedan en nyckel är genererad så används den för av systemet enligt följande modell 17

18 Kryptering: Dekryptering: Signering: Verifiering av signatur: c = m e mod n m = c d mod n s = m d mod n v = s e mod n Där m är ursprungsmeddelandet, c det krypterade meddelandet, s signaturen för meddelandet, v verifikatet för signaturen s samt mod och gcd de matematiska funktionerna modulo respektive största gemensamma nämnare. Givetvis i det signerade fallet måste avsändaren skicka både meddelandet och signaturen för meddelandet för att mottagaren skall kunna verifiera att signaturen stämmer (d.v.s. att meddelandet är oförändrat och verkligen kommer från avsändaren). Eftersom RSA använder sig av väldigt stora primtal (man brukar rekommendera primtal på åtminstone 512 bitar för p och q) så kan nyckelgeneration vara tidsödande. För att simulera en sannare slumpmässighet i denna process är det även brukligt att interaktivt låta användaren få bidra med ett fysiskt element, exempelvis genom att mäta rörelser och fördröjningar för datorns mus och använda dessa som initialvärden till slumpgeneratorn, för att assistera vid valet av dessa tal. Värt att nämna om RSA är också att det har rått viss debatt om huruvida speciell klass av primtal som kallas starka primtal exklusivt bör användas för nycklar. Dessa starka primtal är primtal som matematiskt är svårare att faktorisera än andra, men den rådande uppfattningen i litteraturen brukar vara att det är viktigare att använda en tillräckligt stor nyckel än att bekymra sig för detta. Det har även tidigare funnits en del kritik mot RSAs säkerhet eftersom det varit svårt att avgöra om de stora talen p och q verkligen är primtal men på senare tid har det framkommit nya metoder för detta. För mer information om RSA se [19], [22] och [23]. Elliptiska kurvor Det finns även en del andra ansatser till asymmetrisk kryptering än RSA såsom ElGamal, Merkl Hellman knapsack och LUC. De mest intressanta alternativen kallas dock elliptiska kurv system, efter den geometriska problemklass de använder sig av för krypteringsfunktionen. System för asymmetrisk kryptering baserade på elliptiska kurvor delas vanligen in i två kategorier efter de problemklasser de använder sig av, primtalsfaktorisering och diskreta logaritm problemet för elliptiska kurvor. Den förstnämnda av dessa använde sig av samma typ av problem som RSA och har i stort därför jämförbar prestanda med densamma. Den senare av dessa två baserar sig på diskreta logaritm problemet för elliptiska kurvor som formuleras som givet två punkter X och Y på en elliptisk kurva, finn k sådant att Y = k X. Dessa varianter har rönt mer och mer uppmärksamhet de senaste åren och framförallt då den andra kategorin eftersom den erbjuder samma nivå av säkerhet som likvärdiga system för asymmetrisk kryptering (läs RSA) för kortare nycklar. Det finns heller inte (ännu) någon mer effektiv attack på dessa system än brute force. System baserade på elliptiska kurvor är relativt nya och ännu inte lika etablerade som RSA. Kryptologiska funktioner Krypteringssystem av idag erbjuder betydligt mer än bara kryptering och dekryptering av data. 18

19 Idag talas det om autenticering, certifiering och signering som naturliga delar av asymmetriska krypteringssystem eftersom dessa funktioner erbjuder systemets användare mycket mer än bara avlyssningsskydd. När man talar autenticering så talar man om möjligheten för användare av systemet att säkert kunna identifiera sig själva och andra kommunicerande parter. Involveras certifiering så innebär det att låta en (redan autenticerad) tredje part garantera identiteten för en annan användare. Signering innebär att en användare låter placera en digital signatur på en uppsättning data som visar att meddelandet verkligen kommer från den användaren och inte har förändrats. Dessa funktioner kan kombineras för att generera meddelanden som verkligen kommer från en viss avsändare, inte har förändrats och dessutom endast kan läsas av den tilltänkta mottagaren, samt givetvis att både avsändare och mottagare autenticerats av pålitliga tredje parter. Alla dessa funktioner skapar tillsammans en plattform för asymmetrisk kryptering som möjliggör en mängd tjänster för användare av systemet. Dessa tjänster är inte alltid beroende av en kring dem existerade infrastruktur, men de brukar storligen underlättas av det. Denna infrastruktur, som då består av servrar för certifierings och autenticeringssystem brukar generellt benämnas Public Key Infrastructure (PKI). Huvuduppgiften för denna infrastruktur är då att på ett säkert vis distribuera publika nycklar. En PKI sätts ofta upp av egna företag och organisationer och kan betraktas topologiskt på samma vis som dagens nätverk är uppbyggda som samverkande självständiga segment. Hashfunktioner Kryptologiska hashfunktioner (även kallade message digests) är funktioner som från en datamängd beräknar ett hashvärde vilket har egenskaperna att det är enkelt att beräkna, (betydligt) mindre än datamängden, är unikt för den speciella datauppsättningen samt att det inte går att återskapa den ursprungliga datamängden från hashvärdet. Inom kryptering brukar hashfunktioner ofta användas för signering av data eftersom det går mycket snabbare att beräkna en hashfunktion för en datamängd och signera hashvärdet än att istället signera hela datamängden. Vanligen använda exempel på kryptologiska hashfunktioner är MD5 och SHA1. En underklass till kryptologiska hashfunktioner är envägskrypteringar (one way encryption), vilket är en typ av kryptering som är icke reversibel, d.v.s. inte går att dekryptera. Dessa funktioner är istället tänkta att användas i situationer där det (exempelvis för verifikation) är nödvändigt att lagra känsligt data i en opålitlig miljö. Exempel på detta är lösenord i UNIX, vilka lagras krypterade med en envägskryptering som kort och gott kallas crypt. När en användare skall autenticeras så krypteras det av användaren tillhandahållna lösenordet med samma envägs kryptering och jämförs med det lagrade för verifiering. Message Authentication Codes (MACS) En Message Authentication Code (MAC) är en checksumma associerad med en krypteringsnyckel. Det finns fyra typer av MACs absolut säkra, hashfunktions baserade, strömskiffer baserade och blockskiffer baserade där namnen antyder hur checksumman är anskaffad 2. Eftersom checksumman i MACen är konstruerad med hjälp av den associerade krypteringsnyckeln så är det endast de som har tillgång till den nyckeln som kan skapa eller verifiera den, vilket erbjuder skydd mot att någon skulle förändra ett meddelande innan det når mottagaren. Ett exempel på en Message Authentication Code är DES CBC MAC vilken beräknar en kedjekodad DES kryptering på meddelandet med den associerade krypteringsnyckeln och spar det sista krypterade blocket i 2 Absolut säkra MACs använder engångsblock eller asymmetriska engångsnycklar för att generera checksummor 19

20 kedjan som checksumma. På samma vis kan för övrigt de flesta blockskiffer (inklusive AES) användas för att beräkna MACs. Lager av säkerhet Även om ett skyddande yttre lager av kryptering används för att omsluta protokolltrafik är det inte alltid önskvärt att i klartext översända autenticeringsdata (såsom par av användarnamn och lösenord eller fingeravtrycksavläsningar) över nätverk. Skulle en eventuell angripare lyckas kringgå, exempelvis genom att scanna av internminnet på måldatorn eller lyssna av nätverkstrafiken innanför ett virtuellt privat nätverk (VPN), knäcka eller på annat vis forcera det yttre krypteringslagret så skulle denna person då ha direkt tillgång till all information som krävs för att skaffa sig tillträde till systemet. Även om det är svårt att uppnå i vissa fall bör ett robust säkerhetssystem inte vara designat på ett vis som gör att systemet sammantagna säkerhet fullständigt kollapsar om en del av det gör så. Detta brukar benämnas av varandra oberoende lager av säkerhet och visualiseras ofta som lager av skal på en lök. Eftersom de antal olika attacker som finns är minst lika många som de olika former av säkerhetsscenarios som implementerats är det viktigt att i sammanhanget komma ihåg att olika lager skyddar mot olika saker och behöver kombineras för att uppnå högsta möjliga säkerhet. Challenge Response Ett sätt att skydda delat data består av att använda envägskrypteringar för känslig information. Detta innebär i lagringsfallet att data är oläsbart för en utomstående betraktare, men i överföringsfallet erbjuder en sådan lösning möjligheter för repetitionsattacker (där attacken består av att repetera tidigare inspelad information i syfte att återetablera en session). Ett bättre vis att skydda känsligt data vid autenticeringar över nätverk är då att implementera ett Challenge Response scenario i protokollet. Detta antar att systemet är uppbyggd så att användare av systemet autenticeras av en hemlig kod (lösenord, fingeravtrycksavläsning eller liknande) som kombineras med en användaridentitet för access till systemet. Scenariot initieras genom att klienten kontaktar servern och översänder data som unikt identifierar användaridentiteten (vanligen ett användarnamn) som skall användas. Servern svarar med en slumpmässigt framtagen datamängd (kallad challenge eller utmaning) vilken klienten konkatenerar med den hemliga koden och beräknar en kryptologisk hashsumma på (kallad response eller svar). När klienten överför denna hashsumma till servern så utför servern samma beräkning på den hemliga kod som den har lagrad. När de två hashsummorna sedan jämförs kan användaren autenticeras eller refuseras överensstämmer hashsummorna så har klienten och servern samma hemliga kod associerad med det angivna användarnamnet. Eftersom den kryptologiska hashfunktionen per definition är unik och inte går att reversera för att ta fram ursprungsdata så har användaren autenticerats utan att känslig information överförts över nätverket. Det är även vanligt att på något vis kombinera en tidstämpel med utmaningen eller svaret för att på så vis ytterligare undvika upprepningsattacker, detta är dock i teorin onödigt ifall utmaningen är framtagen slumpmässigt. Sammanfattningsvis om kryptering Sammanfattningsvis om kryptering kan sägas att det största motivet för bruket av kryptering idag är att det är det flexibla alternativet för säkerhet. Bruket av kryptering är sällan beroende av någon speciell infrastruktur eller specialiserad hårdvara (även om sådana ofta används för att minska svarstider och höja säkerhet), kryptering kan implementeras som transparenta lager i de flesta system och krypteringens styrka kan skalas efter behov hos applikationer. Idag bör säkerhet i form av kryptering alltid vara en naturlig del vid design av en ny applikation eller ett nytt protokoll för kommunikation. 20

Grundfrågor för kryptosystem

Grundfrågor för kryptosystem Kryptering Ett verktyg, inte en tjänst! Kryptering förvandlar normalt ett kommunikationssäkerhetsproblem till ett nyckelhanteringsproblem Så nu måste du lösa nycklarnas säkerhet! 1 Kryptering fungerar

Läs mer

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller

Kryptografi - När är det säkert? Föreläsningens innehåll. Kryptografi - Kryptoanalys. Kryptering - Huvudsyfte. Kryptografi - Viktiga roller Föreläsningens innehåll Grunder Kryptografiska verktygslådan Symmetriska algoritmer MAC Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer Slumptalsgeneratorer Kryptering i sitt sammanhang

Läs mer

Krypteringteknologier. Sidorna 580-582 (647-668) i boken

Krypteringteknologier. Sidorna 580-582 (647-668) i boken Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det

Läs mer

Metoder för sekretess, integritet och autenticering

Metoder för sekretess, integritet och autenticering Metoder för sekretess, integritet och autenticering Kryptering Att dölja (grekiska) Sekretess Algoritmen Att dölja Ordet kryptering kommer från grekiskan och betyder dölja. Rent historiskt sett har man

Läs mer

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI 1/7 Kryptering Se kap. 6 HEMLIG SKRIFT STEGANOGRAFI Dolt data KRYPTOGRAFI Transformerat data - Transposition (Permutation) Kasta om ordningen på symbolerna/tecknen/bitarna. - Substitution Byt ut, ersätt.

Läs mer

Datasäkerhet. Petter Ericson pettter@cs.umu.se

Datasäkerhet. Petter Ericson pettter@cs.umu.se Datasäkerhet Petter Ericson pettter@cs.umu.se Vad vet jag? Doktorand i datavetenskap (naturliga och formella språk) Ordförande Umeå Hackerspace Sysadmin CS 07-09 (typ) Aktiv från och till i ACC m.fl. andra

Läs mer

256bit Security AB Offentligt dokument 2013-01-08

256bit Security AB Offentligt dokument 2013-01-08 Säkerhetsbeskrivning 1 Syfte Syftet med det här dokumentet är att översiktligt beskriva säkerhetsfunktionerna i The Secure Channel för att på så vis öka den offentliga förståelsen för hur systemet fungerar.

Läs mer

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Kryptoteknik. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Kryptoteknik Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) XOR XOR används ofta i kryptering: A B A B 0 0 0 0 1 1 1 0 1 Bit-flipping Om XOR

Läs mer

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering

Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering Att använda kryptering Nyckelhantering och protokoll som bygger på kryptering 1 Nyckelhantering Nycklar måste genereras på säkert sätt Nycklar måste distribueras på säkert sätt Ägaren av en nyckel måste

Läs mer

Grundläggande krypto och kryptering

Grundläggande krypto och kryptering Krypto, kryptometoder och hur det hänger ihop Stockholm Crypto Party 2013 Released under Creative Commons BY-NC-SA 3.0 $\ CC BY: C Innehåll Presentation av mig 1 Presentation av mig 2 3 4 5 6 7 Vem är

Läs mer

Kryptering. Krypteringsmetoder

Kryptering. Krypteringsmetoder Kryptering Kryptering är att göra information svårläslig för alla som inte ska kunna läsa den. För att göra informationen läslig igen krävs dekryptering. Kryptering består av två delar, en algoritm och

Läs mer

Protokollbeskrivning av OKI

Protokollbeskrivning av OKI Protokollbeskrivning av OKI Dokument: Protokollbeskrivning av OKI Sida 1 / 17 1 Syfte Det här dokumentet har som syfte att beskriva protokollet OKI. 2 Sammanfattning OKI är tänkt som en öppen standard

Läs mer

NÅGOT OM KRYPTERING. Kapitel 1

NÅGOT OM KRYPTERING. Kapitel 1 Kapitel 1 NÅGOT OM KRYPTERING Behovet av att skydda information har funnits mycket länge, men först i samband med utvecklingen av datatekniken har det blivit ett allmänt problem för alla moderna samhällen.

Läs mer

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin

Kryptering. Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin Kryptering Av: Johan Westerlund Kurs: Utveckling av webbapplicationer Termin: VT2015 Lärare: Per Sahlin Inledning Den här rapporten ska hjälpa en att få insikt och förståelse om kryptering. Vad betyder

Läs mer

Modul 3 Föreläsningsinnehåll

Modul 3 Föreläsningsinnehåll 2015-02-03 2015 Jacob Lindehoff, Linnéuniversitetet 1 Modul 3 Föreläsningsinnehåll Vad är ett certifikat? Användningsområden Microsoft Certificate Services Installation Laboration Ingår i Klustringslabben

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

Säker e-kommunikation 2009-04-22

Säker e-kommunikation 2009-04-22 Säker e-kommunikation 2009-04-22 Leif Forsman Logica 2008. All rights reserved Agenda - Inledning - Bakgrund och historik - Vilka risker och hot finns? - Vilka säkerhetslösningar finns det för att skydda

Läs mer

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Björn von Sydow 21 november 2006 Kryptografins historia Fyra faser Kryptografins historia Fyra faser Antiken ca 1920 Papper och penna.

Läs mer

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: 2003-10-13 Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson

Kryptering. Wearable Computers D 10p. Namn: Josef Israelsson Datum: 2003-10-13 Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson Kryptering Wearable Computers D 10p Namn: Datum: 2003-10-13 Lärare: Björne Lindberg Ulf Brydsten Lars Karlsson Sammanfattning Målet med denna rapport är att ge en helhetstäckande men samtidigt också djupare

Läs mer

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob.

Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob. Säkerhet Förra gången Introduktion till säkerhet och nätverkssäkerhet Kryptografi Grunder Kryptografiska verktygslådan Symmetriska algoritmer Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer

Läs mer

Introduktion till protokoll för nätverkssäkerhet

Introduktion till protokoll för nätverkssäkerhet Tekn.dr. Göran Pulkkis Överlärare i Datateknik Introduktion till protokoll för nätverkssäkerhet Innehåll Varför behövs och hur realiseras datasäkerhet? Datasäkerhetshot Datasäkerhetsteknik Datasäkerhetsprogramvara

Läs mer

Offentlig kryptering

Offentlig kryptering 127 Offentlig kryptering Johan Håstad KTH 1. Inledning. Denna uppgift går ut på att studera ett offentligt kryptosystem. Med detta menas ett kryptosystem där det är offentligt hur man krypterar, men trots

Läs mer

Föreläsning 7. DD2390 Internetprogrammering 6 hp

Föreläsning 7. DD2390 Internetprogrammering 6 hp Föreläsning 7 DD2390 Internetprogrammering 6 hp Innehåll Krypteringsöversikt (PKI) Java Secure Socket Extension (JSSE) Säkerhetsproblem 1. Vem är det man kommunicerar med Autentisering 2. Data kan avläsas

Läs mer

Skydd för känsliga data

Skydd för känsliga data Skydd för känsliga data Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem (IKS), Mittuniversitetet, Sundsvall. data.tex 1674 2014-03-19 14:39:35Z danbos 1 Detta verk är tillgängliggjort

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

RIV Tekniska Anvisningar Kryptografi. Version ARK_

RIV Tekniska Anvisningar Kryptografi. Version ARK_ RIV Tekniska Anvisningar Kryptografi ARK_0036 Innehåll 1. Inledning... 2 1.1 Målgrupp... 2 2. Om kryptografiska inställningar... 2 2.1 Cipher suites... 2 3. Krav och rekommendationer... 3 3.1 Cipher Suites...

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016

Objektorienterad Programkonstruktion. Föreläsning 16 8 feb 2016 Objektorienterad Programkonstruktion Föreläsning 16 8 feb 2016 Kryptering För ordentlig behandling rekommenderas kursen DD2448, Kryptografins Grunder Moderna krypton kan delas in i två sorter, baserat

Läs mer

RSA-kryptering och primalitetstest

RSA-kryptering och primalitetstest Matematik, KTH Bengt Ek augusti 2016 Material till kurserna SF1630 och SF1679, Diskret matematik: RSA-kryptering och primalitetstest Hemliga koder (dvs koder som används för att göra meddelanden oläsbara

Läs mer

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH

Att bygga VPN. Agenda. Kenneth Löfstrand, IP-Solutions AB. kenneth@ip-solutions.se. Olika VPN scenarios. IPsec LAN - LAN. IPsec host - host SSH Att bygga VPN Kenneth Löfstrand, IP-Solutions AB kenneth@ip-solutions.se 1 IP-Solutions AB Agenda Olika VPN scenarios LAN - LAN host - host SSH 2 IP-Solutions AB IP-Solutions - Konsultverksamhet Oberoende

Läs mer

TDDI16: Datastrukturer och algoritmer

TDDI16: Datastrukturer och algoritmer . TDDI16: Datastrukturer och algoritmer Lab 2: Knäcka lösenord Höstterminen 2018 2018-06-27 1 Upplägg Första delen av instruktionen, avsnitt 2 till 7, innehåller en fullständig beskrivning av problemet

Läs mer

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster

Cipher Suites. Rekommendationer om transportkryptering i e-tjänster Cipher Suites Rekommendationer om transportkryptering i e-tjänster Innehåll 1. Bakgrund och syfte... 2 2. Revisionshistorik... 2 3. Inledning... 2 3.1 Cipher suites... 2 4. Protokoll för transportkryptering...

Läs mer

Test av kryptobiblioteket

Test av kryptobiblioteket Test av kryptobiblioteket 1 Syfte Det här dokumentet är en testplan som beskriver hur kryptobibliotekets olika implementationer ska testas. Dokumentet beskriver inte de tester som redan ingår i utvecklingsprocessen

Läs mer

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info: www.kvadratrot.se.

Utdrag från Verklighetens Kvadratrötter: Sida 1 en bok om matematikens användningsområden skriven av Marcus Näslund. Mer info: www.kvadratrot.se. Utdrag från Verklighetens Kvadratrötter: Sida 1 KRYPTOLOGI Hur matematiken skyddar dina hemligheter Talteori, primtal, moduloräkning Bakgrund Den hemliga kod som under andra världskriget användes av Nazityskland

Läs mer

Kravspecifikation Fredrik Berntsson Version 1.1

Kravspecifikation Fredrik Berntsson Version 1.1 Kravspecifikation Fredrik Berntsson Version 1.1 Status Granskad FB 2016-02-01 Godkänd FB 2015-02-01 Dokumenthistorik Version Datum Utförda ändringar Utförda av Granskad 1.0 2015-02-01 Första versionen

Läs mer

5. Internet, TCP/IP tillämpningar och säkerhet

5. Internet, TCP/IP tillämpningar och säkerhet 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

Läs mer

PGP håller posten hemlig

PGP håller posten hemlig PGP håller posten hemlig Även den som har rent mjöl i påsen kan vilja dölja innehållet i sin e-post. Ett sätt är att kryptera den med PGP, Pretty Good Privacy, som har blivit en succé efter den inledande

Läs mer

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT)

Designprinciper för säkerhet och Epilog. Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet och Epilog Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Designprinciper för säkerhet Tumregler och utgångspunkter

Läs mer

Övning 6 - Tillämpad datalogi 2012

Övning 6 - Tillämpad datalogi 2012 /home/lindahlm/activity-phd/teaching/12dd1320/exercise6/exercise6.py October 2, 20121 0 # coding : latin Övning 6 - Tillämpad datalogi 2012 Sammanfattning Idag gick vi igenom komprimering, kryptering och

Läs mer

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser

Dagens agenda. Lagring & berarbetning av data. Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser Lagring & berarbetning av data 1IK426 Introduktion till informationsteknik Patrik Brandt Filer och filformat Metadata Komprimering Kryptering Olika typer av data Filsystem Databaser Dagens agenda Filer

Läs mer

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi

Dagens föreläsning. Datasäkerhet. Tidig historik. Kryptografi Dagens föreläsning Datasäkerhet 2D1522 Datorteknik och -kommunikation 2D2051 Databasteknik och datorkommunikation http://www.nada.kth.se/kurser/kth/2d1522/ http://www.nada.kth.se/kurser/kth/2d2051/ 2006-04-12

Läs mer

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011

EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................

Läs mer

Grunderna i PKI, Public Key Infrastructure

Grunderna i PKI, Public Key Infrastructure Grunderna i PKI, Public Key Infrastructure Christer Tallberg ctg07001@student.mdh.se Philip Vilhelmsson pvn05001@student.mdh.se 0 Sammanfattning I och med dagens informationssamhälle finns ett stort behov

Läs mer

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för

Vad man vill kunna göra. Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för Vad man vill kunna göra Lagra och skicka krypterad information Säkerställa att information inte manipuleras Signera sådant som man står för Teknik Symmetrisk kryptering symmetrisk kryptering Hashfunktioner

Läs mer

DNSSEC och säkerheten på Internet

DNSSEC och säkerheten på Internet DNSSEC och säkerheten på Internet Per Darnell 1 Säkerheten på Internet Identitet Integritet Oavvislighet Alltså 2 Asymmetrisk nyckelkryptering Handelsbanken 3 Asymmetrisk nyckelkryptering 1 Utbyte av publika

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

Många företag och myndigheter sköter sina betalningar till Plusoch

Många företag och myndigheter sköter sina betalningar till Plusoch 70 80 60 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 40 20 30 Manual 2 Installation Många företag och myndigheter sköter sina betalningar till Plusoch Bankgirot

Läs mer

SSL/TLS-protokollet och

SSL/TLS-protokollet och Tekn.dr. Göran Pulkkis Överlärare i Datateknik SSL/TLS-protokollet och SSL-baserade applikationer Innehåll Secure Socket Layer (SSL) / Transport Layer Security (TLS) protokollet SSL-baserade applikationer

Läs mer

Kryptering & Chiffer Del 2

Kryptering & Chiffer Del 2 Kryptering & Chiffer Del Vigenere Vigenere är en annan krypteringsmetod som är mer avancerad än de två föregående. Denna metod är säkrare men långt ifrån säker om man använder dåliga nycklar. Det finns

Läs mer

Föreläsninsanteckningar till föreläsning 1: Introduktion

Föreläsninsanteckningar till föreläsning 1: Introduktion Föreläsninsanteckningar till föreläsning 1: Introduktion Johan Håstad, transkriberat av Marcus Dicander 2006-01-18 1 Översikt Vi börjar med en översikt av kursen ochnämner flyktigt vilka områden som kommer

Läs mer

Datasäkerhet och integritet

Datasäkerhet och integritet OH-2 v1 Kryptering Hashing Digitala signaturer Certifikat & PKI Taxonomi Säkerhet Krypteringsalgoritmer Säkerhetstjänster Hemlig nyckel (tex. DES) Publik Message nyckel diggest (tex. RSA) (tex. MD5) Hemlighetshållande

Läs mer

Din guide till en säkrare kommunikation

Din guide till en säkrare kommunikation GUIDE Din guide till en säkrare kommunikation Introduktion Internet genomsöks regelbundet i jakten på osäkra nätverk och enheter som saknar skydd för olika typer av exponering och intrång. Viktiga system

Läs mer

Uppstart av OS med resp. utan krypering

Uppstart av OS med resp. utan krypering Linnéuniversitetet Projektrapport Grundläggande Operativsystem 1DV415 Uppstart av OS med resp. utan krypering Andreas Aspernäs, August Winberg 12 januari 2014 Sammanfattning Kryptering av hårddiskar blir

Läs mer

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar

Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Kryptografi: en blandning av datavetenskap, matematik och tillämpningar Björn von Sydow 17 november 2010 Kryptografins historia Fyra faser Kryptografins historia Fyra faser Antiken ca 1920 Papper och penna.

Läs mer

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1

MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1 1 MATEMATIK I SÄKERHETENS TJÄNST OM KODNING OCH KRYPTERING 1 Juliusz Brzezinski Säkerhet i tekniska sammanhang associeras mycket ofta med säkra hus, säkra bilar, säkra broar, säkra telefonförbindelser

Läs mer

Undersökning och design av en säkerhetslösning för en molnlagringstjänst

Undersökning och design av en säkerhetslösning för en molnlagringstjänst EXAMENSARBETE INOM DATATEKNIK, AVANCERAD NIVÅ, 30 HP STOCKHOLM, SVERIGE 2017 Undersökning och design av en säkerhetslösning för en molnlagringstjänst LUDVIG CEDERFELT KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

Läs mer

Primtal, faktorisering och RSA

Primtal, faktorisering och RSA 17 november, 2007 Ett Exempel N = 93248941901237910481523319394135 4114125392348254384792348320134094 3019134151166139518510341256153023 2324525239230624210960123234120156 809104109501303498614012865123

Läs mer

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad:

Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: I N T E R N T Säkerhetskrav på extern part För enskild individs direktåtkomst till Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: Dokumentnamn: Säkerhetskrav på extern part

Läs mer

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability)

Föreläsning 10. Grundbegrepp (1/5) Grundbegrepp (2/5) Datasäkerhet. olika former av säkerhet. Hot (threat) Svaghet (vulnerability) Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet Säkerhetsstandarder och program brandväggar IPSEC SSH PGP SSL 11/19/01 Bengt Sahlin 1 Grundbegrepp (1/5) olika former av säkerhet administrativ:

Läs mer

Den mest väsentliga skillnaden mellan

Den mest väsentliga skillnaden mellan JULIUSZ BRZEZINSKI Om kryptering Matematik i säkerhetens tjänst Första delen av denna artikel handlade om kodningsteorin. I den andra delen behandlas kryptering som är en mycket gammal teori med rötter

Läs mer

Undersökning och design av en säkerhetslösning för en molnlagringstjänst

Undersökning och design av en säkerhetslösning för en molnlagringstjänst EXAMENSARBETE INOM DATATEKNIK, AVANCERAD NIVÅ, 30 HP STOCKHOLM, SVERIGE 2017 Undersökning och design av en säkerhetslösning för en molnlagringstjänst LUDVIG CEDERFELT KTH SKOLAN FÖR DATAVETENSKAP OCH KOMMUNIKATION

Läs mer

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Försättsblad till skriftlig tentamen vid Linköpings Universitet Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2010-10-08 Sal Tid 8-12 Kurskod Provkod Kursnamn/benämning TDDD36 TEN2 Projekttermin: Säkra Mobila System Institution

Läs mer

Kryptografiska mekanismer och valutor

Kryptografiska mekanismer och valutor Kryptografiska mekanismer och valutor Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem, Mittuniversitetet, SE-851 70 Sundsvall. hashsign.tex 2068 2014-11-03 10:52:07Z danbos 1 Detta

Läs mer

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115

Din manual NOKIA C111 http://sv.yourpdfguides.com/dref/824115 Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för NOKIA C111. Du hittar svar på alla dina frågor i instruktionsbok (information, specifikationer,

Läs mer

Decentraliserad administration av gästkonton vid Karlstads universitet

Decentraliserad administration av gästkonton vid Karlstads universitet Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå

Läs mer

Din guide till IP RFID. Intertex Nu ännu starkare säkerhet för SIP. Snom - marknadens säkraste IP-telefon. Ur innehållet TALK TELECOM

Din guide till IP RFID. Intertex Nu ännu starkare säkerhet för SIP. Snom - marknadens säkraste IP-telefon. Ur innehållet TALK TELECOM for you Din guide till IP Nummer 7 2010 God Jul och Gott Nytt År önskar TALK TELECOM Ur innehållet RFID Säker passage med plastbricka Intertex Nu ännu starkare säkerhet för SIP Snom - marknadens säkraste

Läs mer

Anvisningar till rapporter i psykologi på B-nivå

Anvisningar till rapporter i psykologi på B-nivå Anvisningar till rapporter i psykologi på B-nivå En rapport i psykologi är det enklaste formatet för att rapportera en vetenskaplig undersökning inom psykologins forskningsfält. Något som kännetecknar

Läs mer

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler.

Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler. Centralt innehåll 4-6 DIGITALISERING Idrott och hälsa Att orientera i den närliggande natur- och utemiljön med hjälp av kartor, såväl med som utan digitala verktyg. Kartors uppbyggnad och symboler. Matematik

Läs mer

Filleveranser till VINN och KRITA

Filleveranser till VINN och KRITA Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser

Läs mer

Datasäkerhet. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare.

Datasäkerhet. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare. Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Datasäkerhet Slideset 10 Agenda Hot mot

Läs mer

Hemligheternas Matematik

Hemligheternas Matematik En redogörelse för den matematiska aspekten av assymetrisk kryptering - hur man med matematik kan utbyta information i hemlighet trots att all kommunikation avlyssnas. Av: Hvitfeldtska gymnasiet Carl Smedstad

Läs mer

En introduktion till några klassiska chiffer

En introduktion till några klassiska chiffer En introduktion till några klassiska chiffer Daniel Bosk 1 oktober 2012 Innehåll 1 Inledning 2 2 Terminologi 2 3 Scytale 2 4 Caesarchiffer 3 4.1 Kryptanalys av Caesarchiffret.................... 4 5 Substitutionschiffer

Läs mer

Din manual NOKIA 6630 http://sv.yourpdfguides.com/dref/822860

Din manual NOKIA 6630 http://sv.yourpdfguides.com/dref/822860 Du kan läsa rekommendationerna i instruktionsboken, den tekniska specifikationen eller installationsanvisningarna för NOKIA 6630. Du hittar svar på alla dina frågor i instruktionsbok (information, specifikationer,

Läs mer

SLU Säkerhets instruktioner avseende kryptering av filer

SLU Säkerhets instruktioner avseende kryptering av filer 1 1 SLU Säkerhet Christian Nähl SLU Säkerhets instruktioner avseende kryptering av filer Nedanstående instruktioner kan tillämpas vid behov av att kryptera informationstillgångar i samband med exempelvis

Läs mer

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman Fakulteten för teknik- och naturvetenskap Avdelningen för matematik Nadia Ehsas Introduktion till krypteringsmetoderna RSA och Merkle-Hellman Introduction to the Encryption Methods RSA and Merkle-Hellman

Läs mer

Säkerhetsbrister & intrång

Säkerhetsbrister & intrång Säkerhetsbrister & intrång Internetdagarna 2001 Vem är Anders Ingeborn? Civilingenjör Datateknik KTH ixsecurity Frilansskribent Föredragshållare Innehåll Tekniska säkerhetsbrister Trender Erfarenheter

Läs mer

MA2047 Algebra och diskret matematik

MA2047 Algebra och diskret matematik MA2047 Algebra och diskret matematik Något om restklassaritmetik Mikael Hindgren 19 september 2018 Exempel 1 Klockan är nu 8.00 Vad är klockan om 78 timmar? Vad var klockan för 53 timmar sedan? 8 + 78

Läs mer

SNUS Remissvar avseende departementspromemoria: Förstärkt integritetsskydd vid signalspaning.

SNUS Remissvar avseende departementspromemoria: Förstärkt integritetsskydd vid signalspaning. SNUS Remissvar avseende departementspromemoria: Förstärkt integritetsskydd vid signalspaning. Föreningen SNUS (Swedish Network Users Society) har beretts möjlighet att lämna synpunkter på rubricerade promemoria.

Läs mer

Moderna krypteringssystem

Moderna krypteringssystem Eva-Maria Vikström Moderna krypteringssystem Seminarieuppsats Institutionen för informationsbehandling Åbo Akademi Åbo 2006 Abstrakt Kryptogra blir allt viktigare i dagens samhälle i och med att stora

Läs mer

Kryptering och primtalsfaktorisering

Kryptering och primtalsfaktorisering Institutionen för Numerisk analys och datalogi Kryptering och primtalsfaktorisering Johan Håstad Nada, KTH johanh@nada.kth.se Ett Exempel N = 9324894190123791048152332319394135 4114125392348254384792348320134094

Läs mer

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet

Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet Java Secure Sockets Extension JSSE F5 Secure Sockets EDA095 Roger Henriksson Datavetenskap Lunds universitet Secure Sockets Layer SSL Transport Layer Security - TLS Protokoll och algoritmer för säker kommunikation

Läs mer

Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009

Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009 Om trådlösa nät 2 Foto: Björn Abelin, Plainpicture, Folio bildbyrå Illustrationer: Gandini Forma Tryck: Danagårds Grafiska, 2009 Om trådlösa nät Trådlösa nät för uppkoppling mot Internet är vanliga både

Läs mer

Kryptografiska mekanismer och valutor

Kryptografiska mekanismer och valutor Digitala signaturer Hashfunktioner Kryptografiska valutor Bitcoin Referenser Kryptografiska mekanismer och valutor Daniel Bosk 1 Avdelningen för informations- och kommunikationssytem (IKS), Mittuniversitetet,

Läs mer

Grundläggande kryptering & chiffer

Grundläggande kryptering & chiffer Grundläggande kryptering & chiffer Allmänt om kryptering För att inte hackers ska kunna snappa upp den information som skickas över nätet så bör man använda sig av någon form av kryptering, d.v.s. förvrängning

Läs mer

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se

2011-11-02. E-legitimationer. Jonas Wiman. LKDATA Linköpings Kommun. jonas.wiman@linkoping.se E-legitimationer Jonas Wiman LKDATA Linköpings Kommun jonas.wiman@linkoping.se 1 Många funktioner i samhället bygger på möjligheten att identifiera personer För att: Ingå avtal Köpa saker, beställningar

Läs mer

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019

Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019 Blockkedjor en introduktion för datavetare Vem är jag? Varför ska ni lära er om blockkedjor? Alla ska gå härifrån och kunna... förklara Bitcoin är uppbyggt bygga en egen blockkedja läsa på själva om blockkedjeprojekt

Läs mer

Föreläsninsanteckningar till föreläsning 3: Entropi

Föreläsninsanteckningar till föreläsning 3: Entropi Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.

Läs mer

Beställning av certifikat v 3.0

Beställning av certifikat v 3.0 Beställning av certifikat 1 (7) Dnr 2014/1651 2016-04-07 Beställning av certifikat v 3.0 2 (7) Innehållsförteckning Inledning... 3 Undvik vanliga problem... 3 Generell information... 3 Ordlista... 3 Certifikatsansökan...

Läs mer

En jämförelse av krypteringsalgoritmer. Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson

En jämförelse av krypteringsalgoritmer. Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson En jämförelse av krypteringsalgoritmer Kandidatarbete Informationssystem Peter Broman Ola Liljerum Handledare: Bengt Carlsson Abstract Today the Internet is used more and more as a transportation for information.

Läs mer

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till?

1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till? 1. (3p) Inom MDI-området framhåller man att människor lär sig via metaforer. Hur menar man att detta går till? Att lära sig via metaforer innebär att man drar nytta av kunskap som användaren redan har,

Läs mer

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen: Modul: Algebra Del 8: Avslutande reflektion och utvärdering Distributiva lagen Cecilia Kilhamn, Göteborgs Universitet Distributiva lagen a (b + c) = a b + a c Den distributiva lagen kallas den räknelag

Läs mer

Steganografi - en översikt

Steganografi - en översikt Steganografi - en översikt Tina Lindkvist Steganografi kommer av grekiskans dold text. Krypterar man en text ser man att den försöker gömma något. Vid steganografi ska motståndaren inte ens veta att det

Läs mer

Elektroniska signaturer - säker identifiering?

Elektroniska signaturer - säker identifiering? Elektroniska signaturer - säker identifiering? Kandidatuppsats, 10 poäng, inom Informationssystem programmet Institutionen för Programvaruteknik och Datavetenskap Blekinge Tekniska Högskola Maj 2001 Handledare:

Läs mer

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl Matematiska Institutionen KTH Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL och Media, SF60 och 5B8, onsdagen den 7 augusti 0, kl 4.00-9.00. Examinator: Olof Heden Hjälpmedel: Inga

Läs mer

x 23 + y 160 = 1, 2 23 = ,

x 23 + y 160 = 1, 2 23 = , Matematiska Institutionen KTH Lösningar till några övningar, inför tentan moment B, på de avsnitt som inte omfattats av lappskrivningarna, Diskret matematik för D2 och F, vt08.. Ett RSA-krypto har n =

Läs mer

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014. Joakim Nyberg ITS Umeå universitet

Krypteringstjänster. LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014. Joakim Nyberg ITS Umeå universitet Krypteringstjänster LADOK + SUNET Inkubator dagarna GU, Göteborg, 6-7 oktober 2014 Joakim Nyberg ITS Umeå universitet Projekt mål Identifiera de behov som finns av krypteringstjänster Utred funktionsbehov

Läs mer

Identity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson

Identity Management i ett nätverkssäkerhetsperspektiv. Martin Fredriksson Identity Management i ett nätverkssäkerhetsperspektiv Martin Fredriksson Guide Konsult Göteborg AB, 2004 Varför IdM? Flera olika plattformar/tekniska system Windows, AD, Unix, routrar, VPN, etc, etc Många

Läs mer

Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt

Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt Issue 0.1 Försvarets Materielverk/CSEC 2005 Document ID Europeisk samsyn på kryptomekanismer SOGIS nya kryptolista en översikt Träffpunkt CC - 20 april 2016 Martin Bergling FMV/CSEC 1 Syfte Ge kunskap

Läs mer

Säker programmering - Java

Säker programmering - Java Säker programmering - Java Information är en värdefull tillgång i dagens värld och en effektiv hantering sätter höga säkerhetskrav på medarbetarna. Säker programmering - Java Nowsec säkerhetsgranskar dagligen

Läs mer

Switch- och WAN- teknik. F7: ACL och Teleworker Services

Switch- och WAN- teknik. F7: ACL och Teleworker Services Switch- och WAN- teknik F7: ACL och Teleworker Services Vad är en ACL? ACL = Access List En ACL Allåter eller kastar paket som matchar en regel. L3 (och i viss mån L4) Ex: Webbserver behöver endast få

Läs mer

Policy Underskriftstjänst Svensk e-legitimation

Policy Underskriftstjänst Svensk e-legitimation Policy Underskriftstjänst Svensk e-legitimation Version 1.0 2014-04-15 1 (7) 1 INLEDNING OCH SYFTE 3 1.1 AVGRÄNSNINGAR 3 1.2 DEFINITIONER 3 2 POLICYPARAMETRAR 4 2.1 DATALAGRING 4 2.1.1 LAGRING AV INFORMATION

Läs mer