Abstract Our aim of this project was to use a website to teach a user/reader more about encryption and how to build a safe password. We read about different sorts of attacks towards passwords and how encryption works to get a greater understanding of how we shall protect a password and how it shall be built. We learnt about brute-force attacks where people use words from wordbooks and documents with a combination of numbers, they test the passwords thousands of times a second to probably get access to an account. Therefore we realised quickly that maybe you shouldn t use words or names as your password, you should mix random numbers and letters to therefore make it harder for a hacker. We built a website as a method to teach our readers how to construct a password. Our front page is made to easily give the user an overall look what our project is all about, we used clear and appropiate pictures with a theme of mobile-phones and computers to ressemble internet security. We want our users to go to the other pages of the website, therefore we linked them in appealing buttons on our front page. 1. Inledning 1.1 bakgrund Nästan alla företag, myndigheter och organisationer av alla möjliga slag använder sig utav någon form av IT-struktur. En simpel sak som en kassa-apparat till större och mer komplexa former av nätverk. Hela 98% av alla svenska företag med fler än tio anställda använder sig utav datorer och lika stor andel använder sig också utav internet. 1 Teknologi utvecklas ständigt inom flera områden och IT spelar större roll idag än det någonsin förr har gjort. Detta på grund av att den har enorma fördelar och användningsområden. Men i och med att digitaliseringen har stor betydelse uppstår fler och fler säkerhetsproblem. Enorma mängder information och flertal miljarder människor förlitar sig på deras lösenord. Allt från statlig dyrbar information till personlig säkerhet och privatliv hänger på att ett lösenord ska vara säkert och fylla dess syfte. Därför bestämde vi oss för att skriva om ämnet och upplysa allmänheten om vikten av ett säkert lösenord och vilka hot som finns mot informationssäkerheten. 1 http://www.scb.se/statistik/_publikationer/nv0116_2012a01_br_it02br1301.pdf
1.2 syfte Syftet med detta arbete är att lära människor att konstruera ett säkrare lösenord, med kunskap om kryptering och hur lösenord fungerar, så tror vi att fler lär sig att konstruera säkrare lösenord. Syftet med detta arbete är att lära allmänheten mer djupgående om lösenord och kryptering samt hur de själva bör skapa ett säkert lösenord. 1.3 Avgränsningar Ämnet kryptering och lösenord är breda ämnen ochmycket kan skrivas om dessa men då vi riktar oss in på säkerhet av lösenord, är arbetet begränsat till att översiktligt beröra ämnet kryptering i kombination med lösenord och databaser. Viktiga begrepp och funktioner, exempelvis asymmetrisk kryptering och salt etc, redogörs också på en tillräcklig nivå för läsaren att kunna förstå och lära sig. Arbetet kunde ha gjorts bredare men eftersom att ämnet lösenord är i fokus och vår tid samt kunskap är begränsad har vi inte gått in mer djupgående på ämnet kryptering. Fetstil ska vara i diskussion 1.4 Frågeställning Vad är kryptering och vad har det för inverkan på lösenord? Hur skapar man ett starkt och säkert lösenord? Kan vi skapa en hemsida för att lära ut om lösenordssäkerhet och kryptering?
1.5 Metod och material Om hemsidan Hemsidan är uppbyggd med ett bibliotek av css-filer som heter Bootstrap, det är ett bibliotek som kommer med färdiga koder för allt möjligt, t.ex. karusellen som jag använder, den kräver bara lite extra css-kod för att fungera som jag vill, om vi inte hade använt bootstrap så hade den krävt javascript också. Ett plugin har lagts till på hemsidan vid namn font-awesome, den gör det möjligt att använda sociala ikoner och andra ikoner, men jag använder den främst för de sociala ikonerna. Hemsidan ligger på ett dynamiskt system vid namn wordpress, den kommer med en massa funktioner, bl.a. användarsystem och system för att redigera inlägg och hemsidor i webläsaren. Denna hemsida bygger på flera system som används ute i arbetslivet, på många håll, både stora och små företag använder sig av bl.a. wordpress och bootstrap. Philip har skapat ett tema från grunden med hjälp av bootstrap, han har använt sig av en tutorial, för att därmed skapa en grund till hemsidan, därefter har classer skapats i css på egen hand för att ändra på hemsidans utseende. Målet med hemsidan är lära ut om kryptering och hur användare ska bygga ett säkert lösenord. Därför beslutade vi oss för att skapa en enkel framsida som dirigerar användaren till de olika informationssidorna på hemsidan. Vi använder oss av stora och klara bilder i HD kvalitet med fulla rättigheter. Enkla men koncisa texter är en självklarhet på hemsidan så att vem som helst ska kunna förstå arbetet. Bilder är hämtade från Pexels.com, en hemsida som ger gratis bilder i HDkvalitet med fulla rättigheter till att använda de. För att skapa en större helhet i hemsidan så har bilder redigerats med hjälp av photoshop för att skapa en
helhet för hemsidan, bilder har valts i ett tema som har med teknik att göra. Färgerna är också betydelsefull för hemsidan, en röd nyans har valts för att vara välkomnande för användaren. Andra färger som har valts är nyanser av vitt och svart för att visa på en professionell hemsida. källa r valts är nyanser av vitt och svart för att visa på en professionell hemsida. källa 2. Resultat 2.1 - Vad är kryptering och vad har det för inverkan på lösenord? Vad är kryptering? Själva behovet av att vilja dölja ett meddelande från någon är någonting som troligen funnits under en större del av mänsklighetens historia. Man använde sig redan från början av olika tekniker av kryptering som stenografi och kryptografi, men den typen kryptering som kommer tas upp är kryptografi, den kommer från grekiskans kryptos som betyder gömd och ändelsen grafi kommer från grafein och kan översättas till att skriva. Kryptering är en teknologi som utvecklats för att ändra på information. 2 Ändringen av information har syftet att man inte vill att obehöriga avlyssnare ska ta reda på information som är tillgänglig via öppen anslutning. Man använder kryptering i regel för att öka säkerheten, främst vid lösenord men är även ett sätt att direkt dölja annan information som skickas via öppna anslutningar, detta gör det omöjligt för andra att kunna läsa det man krypterat även fast man hittat det. Det finns många olika typer av kryptering, de två huvudklasserna av krypteringsalgoritmer är symmetrisk och asymmetrisk kryptering. Vidare finns det en tredje typ som heter hybridkryptering. När man krypterar en datamängd, information, använder man sig av en matematisk algoritm och en nyckel för att omvandla informationen till en så kallad kryptotext 3. För att omvandla denna kryptotext använder man sig av samma nyckel som användes för krypteringen så att den önskade mottagaren kan få informationen i klartext, denna omvända metod kallas enkelt för dekryptering. 2 http://www.intranetica.com/intranetica/kds/krypto.shtml - 04/03-2015 3 http://www8.tfe.umu.se/courses/dator/wc/docs/chapter_03/kryptering.pdf - 09/03-2015
Man brukar säga att det är användarens uppgift att göra sitt lösenord säkert på de webbplatser eller andra system denne besöker, men ansvaret ligger också på den som skapat systemet. Vart du än vänder dig på en öppen kanal som Internet eller lokalt, så har du förmodligen stött på ett informationssystem. Dessa system finns överallt och majoriteten av dem använder sig utav en autentiseringslösning. 4 Denna lösning består av ett användarnamn och ett lösenord. Lösenorden och annan information användarna i ett system använder sig av ligger lagrad i databasen hos utgivaren. Utgivaren lagrar sällan lösenord i klartext eftersom att det då är lätt att få tag på lösenordet, istället finns det olika sätt att kryptera denna information. Symmetrisk kryptering 5 : Denna teknik är den äldsta och mest välfungerande tekniken av kryptering. Vid symmetrisk kryptering gäller det att man använder sig av likadan nyckel vid kryptering och dekryptering, innebärandes att både avsändare och mottagare måste känna till och kunna använda samma nyckel, denna nyckel får ingen annan än dessa två parter veta om. Denna nyckel man använder sig av kan vara ett ord, en siffra, en sifferkombination eller bara att man trycker ner en tangent, som tillämpas på innehållet och förvandlar det på just detta specifika sätt. Svagheten med denna krypteringsmetod är att man måste hålla nyckeln hemlig. Asymmetrisk kryptering utvecklades för att göra det ännu säkrare än det redan var på 1970-talet, att hålla information hemlig. Idén var att den ena parten skulle kryptera meddelandet med en nyckel och att den andra i sin tu skulle dekryptera det med en annan nyckel. Asymmetrisk kryptering kräver mer datorkraft och tar längre tid än vanlig symmetrisk kryptering, vilket beror på de stora beräkningarna av enorma tal. Den som vill kryptera något skapar två nycklar, en privat och en offentlig/ öppen som alla har tillgång till. Då man skickar ett meddelande till någon så använder man sig utav personen öppna nyckel för att kryptera meddelandet och 4 http://bada.hb.se/bitstream/2320/4079/1/2008ki13.pdf - 06/03-2015 s.1 5 http://support2.microsoft.com/kb/246071
den enda nyckeln som kan dekryptera meddelandet igen är samma persons privata nyckel. När man krypterar lösenord, gäller det att det finns någon person som står för databasen i systemet, för att göra det. När det kommer till själva krypteringen av lösenord i ett system vill man inte att någon ska kunna se dessa, alltså vill man förhålla sig till att använda enkelriktade tekniker, alltså att du använder en metod som endast tillåter dig att kryptera lösenordet för att sedan själv inte kunna dekryptera det. Då kanske man undrar varför? Varför ska man som administratör inte kunna dekryptera ett lösenord? Jo, för om administratören i ett system skulle använda sig av en nyckelbaserad metod för att kryptera lösenorden så uppstår helt plötsligt en stor fara, obehöriga kan ta reda på nyckeln, och det är precis det man vill undgå, för om någon kan nyckeln, kan de också dekryptera, förmodligen alla lösenord samtidigt. Man använder man sig av en envägs metod, alltså att krypteringen bara går åt ena hållet, så försvinner den risken helt. Det ska inte finnas någon annan alls, än användaren själv, som ska kunna se lösenorden, inte ens en administratör. Tänk om någon användare glömmer sitt lösenord? Ja, då nollställer man helt enkelt lösenordets värde och ber användaren att skapa ett nytt. Då man vill logga in i ett system så är det ett snäpp bättre om administratören kör lösenordet igenom en hashfunktion och denna lagrar bara resultatet av ett lösenord i en databas. Då en användare sedan ska logga in, hashar man bara lösenord som angivits och sedan jämför man med hashen i databasen för att verifiera. Poängen är att det ska vara omöjligt att, utifrån hashen kunna ta reda på lösenordet. Om man på något sätt får tillgång till databasen så finner man den full med hashar, och för att kunna knäcka en sådan hash, krävs det att man genererar hashar för alla tänkbara lösenord och sedan se vilka som matchar. Detta tar väldigt lång tid och därmed blir du väldigt mycket säkrare genom denna metod. Det finns en nackdel, många hackare har lagt ner massvis med tid åt att skapa uppslagstabeller för alla möjliga olika hashar, för just den metoden som använts på lösenorden. För att göra det betydligt mycket svårare att använda uppslagstabellerna för hasharna så kan man lägga till ett salt till lösenordet. Ett salt är ett tillägg, oftast en sträng, som läggs till på lösenordet. För att verifiera
inloggning så letas saltet för användaren fram och läggs till på lösenordet och sedan hashas det och resultatet jämförs med den från början lagrade hashen. Saltet gör att hashen blir helt annorlunda och det som krävs för att knäcka ett saltat lösenord blir då att alla tabeller måste göras om för att ens komma nära just ditt lösenord. En brute-force attack eller en biblioteksattack mot saltade lösenord blir då betydligt mycket mer krävande eftersom att varje attack måste göras mot varje enskild användare på grund av den unika hashen. En ordboksattack eller dictionary-attack är någorlunda likt en brute-force attack. Den fungerar genom att en ordlista körs igenom ett program som testar varje ord i listan mot det lösenord som man vill knäcka. Om man har en lista med hashade lösenord kan attacken utföras för att få fram lösenorden i klartext då man bara jämför de hashade lösenorden med hasharna i ordlistan. En dictionary-attack är oanvändbar om lösenorden är saltade eller inte finns med i ordlistan. Brute-force attack En brute-force attack är ett program som går igenom alla möjliga kombinationer av tecken för att sedan eventuellt hitta rätt matchning mellan hasharna som testats och de som finns lagrade i databasen. Det kan ta olika lång tid beroende på svårighetsgraden av lösenorden, en vanlig hemdator kan genomföra mer än 180 miljoner MD5-hashningar per sekund. 3.2 - Hur skapar man ett starkt och säkert lösenord? Hur gör man sitt lösenord säkrare? En valig autentisieringslösning i ett system består i regel av ett användarnamn och ett lösenord. Lösenordets funktion är att göra det omöjligt för någon annan att kunna ha åtkomst till din personliga information och allt du vill dölja med lösenordet, det gäller alltså att ha ett så starkt lösenord som möjligt. Här följer några punkter och förklaringar till hur du gör dina lösenord så säkra som möjligt. 1. Välj ett lösenord som är minst åtta tecken långt.
Lösenord som är allt för korta är i sin tu mycket enkla att knäcka med t.ex Genom att ha minst åtta tecken blir det hashen mycket svårare att knäcka med de metoder som finns. Ett enda litet tecken extra gör kombinationerna för ett nytt lösenord enormt mycket fler, vilket är mycket dåligt för den som använder sig av t.ex. brute force. 2. Använd gärna stora och små bokstäver och olika tecken på hela tangentbordet. Genom att göra detta blir det mycket svårare och mer jobb för en hackare att kunna knäcka ditt hashade lösenord då hashen blir mycket längre, mer komplex och unik. Blanda därför stora bokstäver, små bokstäver, skiljetecken, siffror och specialtecken i ditt lösenord. 3. Använd inte ord som anses normala. Att ha ett felstavat, eller påhittat lösenord eliminerar att ditt lösenord ska kunna bli taget av en ordboksattack. 4. Gör ditt lösenord olikt andra lösenord du har. Använd inte samma lösenord på jobbet som på andra webbtjänster eller e-mail. Alla webbplatser har olika säkerhet i sina databaser. Detta gör, om du har samma lösenord på alla flera webblplatser, enklare att knäcka det, ytterligare gör det att hackaren direkt får tillgång till alla webbplatser och tjänster där samma lösenord använts, även där ditt lösenord faktiskt är säkert. 5. Använd inte information som är kopplad till dig. Detta kan vara ditt användarnamn, din e-post, adress, husdjur, bil eller liknande. Har dels med ordböcker att göra 6. Se till att endast du kan lösenordet och gör det oåtkomligt för andra. Den mänskliga faktorn är en stor brist för säkerheten av lösenord och systemet. 2.3 - Kan vi skapa en hemsida för att lära ut om lösenordssäkerhet och kryptering? Vi har lyckats skapa en hemsida som fokuserar på att lära användarna om kryptering och säkerhet för lösenord. Vi har använt oss av stora bilder, kalla färger samt stora färglada knappar för att skapa en bild av proffesionalism
kring området, samt för att skapa en känsla för hemsidan. Vi har använt oss av Bootstrap och Wordpress för att hemsidan ska fungera på en server. Med de olika sidorna lyckas vi uppfylla syftet med hemsidan, och vi lyckas lära användare om kryptering med hjälp av guider och fakta sidor. 3. Diskussion För att kunna ge en så sanningsenlig bild som möjligt på problemet och lösningen till det krävs det mer tid och kunskap inom ämnet kryptering och lösenord samt programmering. Eftersom att ämnena är otroligt breda och tar lång tid att behärska har arbetet inte allt som krävs för att ge någon en så sanningsenlig bild som man kan önska. Därför är arbetet också avgränsat till den nivå som behärskas. Mer kan skrivas på samma nivå men på grund av den faktorn att det tar lång tid att behärska nya begrepp, sätt att skriva/språk och bakgrund till det, för att ge en sann bild, har vi inte gjort det. Detta leder till att det kan finnas saknad av information inom ämnet men tack vare avgränsningen och syftet som formulerats så uppfyller arbetet fortfarande sitt mål. Syftet med arbetet är att lära besökare om lösenord och kryptering samt att skapa ett starkt och säkert lösenord, vilket klart är uppfyllt då sidan är upplagd och klar för användning. Människor kan enkelt orientera sig till sidan, och om intresse finns, också läsa och lära sig utav den. Dock finns nackdelen att hemsidan är på svenska vilket kommer att utesluta alla som talar ett annat språk från att orientera sig till sida och läsa den. Guiden till ett säkrare och starkare lösenord utgår ifrån att man har översiktliga kunskaper om kryptering i samband med lösenord vilket presenteras i arbetet. På så sätt kopplas de två delarna till varandra, men inte helt. Detta leder till att att de två delarna inte fullbordar varandra och viss information som presenteras blir svårare att begripa. Med ett plugin vid namn Google analytics, detta kan man installera i wordpress direkt och man kan få fram uppgifter om vad för användare det är som klickar sig runt på hemsidan, vad de interegerar med och vad de läser om.
4. Källförteckning Källor: http://www.math.chalmers.se/math/grundutb/gu/mmgl99/v13/ VT13-3001-05%20Linnea%20Flojt.pdf Historia och användningsområden, en vetenskaplig studie från Chalmers, den är pålitlig då den faktiskt är publicerad på Chalmers hemsida. http://www.diva-portal.org/smash/get/diva2:538011/fulltext01.pdf Kryptografi och kryptering, ett trovärdigt examensarbete som är godkänt av en examinator. http://bada.hb.se/bitstream/2320/4079/1/2008ki13.pdf : s1 Trovärdig med tanke på att en handledare har godkänt artikeln. http://apprikos.se/2013/03/hur-lagrar-man-anvandarnas-losenord-sakert Denna källa är inte 100% tillförlitlig då många källor på denna sida länkar till wikipedia.org. salt teknik http://www8.tfe.umu.se/courses/dator/wc/docs/chapter_03/kryptering.pdf Källan är tillförlitlig då tre olika lärare har godkänt arbetet. http://www.jasypt.org/howtoencryptuserpasswords.html Källan är till viss del tillförlitlig, de har bra illustrationer, men deras källhanvisningar leder till wikipedia.org http://www.tldp.org/howto/security-howto/password-security.html Det som är taget härifrån ska inte anses som fakta, dock är det information från välutildade personer, därför anses denna källa nog tillförlitlig. http://www.scb.se/statistik/_publikationer/ NV0116_2012A01_BR_IT02BR1301.pdf En väl tillförlitlig källa från Statistiska central byrån, en statlig förvaltningsmyndighet.