FINGERPRINTING AV HÅRDVARULIKA ENHETER

Storlek: px
Starta visningen från sidan:

Download "FINGERPRINTING AV HÅRDVARULIKA ENHETER"

Transkript

1 FINGERPRINTING AV HÅRDVARULIKA ENHETER Precisionsmätning med fingerprinting på mobila enheter FINGERPRINTING OF HARDWARE LIKE DEVICES Precision measurement of fingerprinting on mobile devices Examensarbete inom huvudområdet Datalogi Grundnivå 30 Högskolepoäng Vårtermin 2014 Kristoffer Frisell Handledare: Mikael Lebram Examinator: Mikael Berndtsson

2 Sammanfattning Fingerprinting är en teknik för att unikt identifiera användare för olika ändamål. Dessa ändamål är i huvudsak antibedrägeri, riktad annonsering och Paywalls. Det finns ett antal fingerprintingtekninger som används, men de flesta involverar instickningsprogram som Flash och Silverlight, vilka inte stöds av alla mobila enheter. Arbetet undersöker hur stor skillnad existerande fingerprintingtekniker, vid exkludering av cookies och tredjepartsprogram, kan påvisa för hårdvarulika mobila enheter. Fingerprintingteknikerna klockning av renderingstid och renderingsdifferens används för att samla in information om enheter. Experiment används som undersökningsmetod för att ta reda på hur bra teknikerna fungerar. Ingen av de två fingerprintingteknikerna visar sig vara verkligt användabara. Nyckelord: Fingerprinting. Mobile. Canvas

3 Innehållsförteckning 1 Introduktion Bakgrund Appliceringsområden Tekniker Mobila enheter Fingerprint-precision Problemformulering Metod Experiment Avgränsningar Forskningsetiska aspekter Genomförande Litteraturstudie Implementation Pilotstudie Utvärdering Presentation av undersökning Analys Slutsatser Avslutande diskussion Sammanfattning Diskussion Framtida arbete...33 Referenser... 34

4 1 Introduktion Artikeln handlar om fingerprinting på webben för mobila enheter. Fingerprinting är en teknik för att unikt identifiera användare för olika ändamål. Dessa ändamål är i huvudsak antibedrägeri, annonsering och Paywalls. Varje gång en webbsida laddas skickar webbläsaren med en viss mängd information till webbservern som kan användas som fingerprint. Detta kan göras med ett antal olika tekniska lösningar. För hårdvarulika mobila enheter krävs ett annorlunda sätt att fingerprinta. En mobil enhet används ofta på ett annat sätt än traditionella datorer och har ofta sämre stöd för de tekniker som normalt används för fingerprinting. Fler och fler använder sina mobila enheter för deras vardagliga internetbaserade ärenden. Detta gör att det är viktigt att fingerprinting fungerar lika bra på mobila enheter som traditionella datorer. I slutet av bakgrundsdelen förklaras vad fingerprinting-precision innebär och hur det är möjligt att skilja enheter från varandra. Problemet kan sammanfattas som Hur stor skillnad kan existerande fingerprintingtekniker, vid exkludering av cookies och tredjepartsprogram, påvisa för hårdvarulika mobila enheter? och hypotesen är att renderingstiden för text och grafik kan variera enheter emellan. Tillsammans med mätningar av renderingstider kan kompletterande basinformation som webbläsarversion och operativsystem hjälpa till att identifiera olika mobila enheter unikt. Metoden som används för att ta fram och evaluera resultatet av de olika mätningarna är experiment. Data som extraheras sparas undan för att senare kunna analyseras och dras slutsatser ifrån. För experimentet kommer ett antal hårdvarulika mobila enheter att fingerprintas. Fokus ligger på att ha så många smartphones av samma modell som möjligt och den valda modellen är iphone 5. Detta för att iphone 5 bland annat saknar stöd för de vanligaste fingerprintingteknikerna. 1

5 2 Bakgrund Likt rättsliga utredningar kan fingeravtryck användas även på webben för att unikt identifiera en användare. Men som olikt rättsliga utredningar istället används för att knyta användare till specifika enheter eller maskiner. Detta görs med hjälp av ett flertal olika tekniker som ofta används tillsammans för att ge bättre precision. Tekniken i sig kallas för fingerprinting och kan göras med bland annat JavaScript, Flash, PHP (HTTP) och Java där man kan utvinna information om till exempel webbläsare, operativsystem, installerade plugin med mera, för att hålla reda på vem användaren är (Nikiforakis et al. 2013a). Fingerprinting har i huvudsak tre användningsområden, vilka är att förebygga bedrägeri (Anti-fraud), annonsering (Advertising) och Paywalls (Nikiforakis et al. 2013a). 2.1 Appliceringsområden Tre vanliga appliceringsområden är förhållandevis konstruktiva och har mer eller mindre goda avsikter. Men som Mowery et al. (2011) menar kan webbplatser med sämre avsikter utnyttja informationen från fingerprintingteknikerna för att bland annat attackera specifika webbläsare och system. Detta tillsammans med kunskapen om svagheterna hos respektive system Antibedrägeri Webbsidor kan använda fingerprinting för att avgöra om användaren som försöker använda tjänsten är den som han eller hon utger sig för att vara. Ett bra användningsområde att applicera tekniken på är därmed vid autentisering hos till exempel internetbanker. Som Nikiforakis et al. (2013a) menar kan banken nämligen komplettera sin redan existerande autentiseringsteknik med fingerprinting för att erhålla bättre säkerhet. Skulle någon obehörig få tillgång till en annan användares konto kan dennes behörighet ifrågasättas av systemet då det upptäcker ett ovanligt mönster i användarens gränssnitt mot bankkontot. Ett exempel på åtgärd från banken skulle kunna vara att systemet ställer kontrollfrågor som bara den behöriga användaren känner till. Skulle till exempel användaren använda en bekants dator vid tillfälle av bankärende borde inte han eller hon direkt blockas av från banksidan, utan borde ha en möjlighet att legitimera sig på något bra sätt. Med hjälp av fingerprintingtekniker kan webbsidans ägare även få ett bra skydd mot XSS (Cross site scripting) eftersom det vid tillfälle av en sessions-kapning innebär att attackeraren då måste ha liknande fingerprint för att kunna utnyttja den riktiga användarens session (Unger et al. 2013). Detta skyddar webbsidans kontohavare. Men fingerprinting kan även skydda tjänster i sig. Ett exempel på en sådan tjänst kan vara en webbplats där användare betalar en prenumerationsavgift. Fingerprinting kan då se till att bara användaren som betalar, kan använda tjänsten (Nikiforakis et al. 2013a) Annonsering Genom att känna till vem användaren är och vad denne tidigare har sökt eller klickat på kan man rikta reklam som är potentiellt intressant för just den användaren. Som Nikiforakis et al. (2013a) beskriver visar många webbsidor idag reklam länkade till det ämne som webbsidan berör. Detta kallas för kontextuell annonsering. Beteendebaserad annonsering är istället reklam som inte enbart länkar genom nuvarande sidas ämne, utan även tidigare sidor användaren har besökt. 2

6 Ett exempel som Nikiforakis et al. (2013a) förklarar är att om en användare som besöker en sida som har Beteendemässig annonsering och användaren tidigare var på en sida som säljer böcker och kollade på en bok hon aldrig köpte där, kan den nya sidan genom den informationen visa reklam om samma bok användaren tittade på. Relevansen för reklamen blir därmed högre och personen kommer med större sannolikhet lägga märke till den. Funktioner som beteendebaserad och kontextuell annonsering har traditionellt varit webbläsar-cookies uppgift att hålla koll på (Gumzej & Grgić, 2013). I september 2011 startades en diskussion i ämnet Do Not Track standard utav en tracking protection -grupp under WWW Consortium. Diskussionen handlar om att användare skall kunna tala om att de inte vill bli spårade, vilket gör att företag enligt lag inte får spåra användaren (Zuiderveen Borgesius, 2013). Eftersom cookies sedan 2011 är hårdare reglerat och lagstadgat runt om i världen, samt att användare mer och mer regelbundet raderar cookies i sina webbläsare innebär detta ett större behov för alternativa tekniker att hålla koll på sådan information om användaren (Nikiforakis et al. 2013a) Paywalls Paywalls är ett system för att blockera användare som inte betalar prenumerations-avgift för innehåll på en webbsida. Många tidningssidor på nätet tillhandahåller möjligheten för icke betalande kunder att läsa ett mindre antal artiklar utan att betala. Besökaren måste därmed skriva upp sig för en prenumeration för att kunna läsa fler artiklar. Skulle till exempel en nyhetstidningssida erbjuda potentiella kunder ett antal gratisartiklar att läsa per dag skulle det vara praktiskt att användaren inte skaffar sig möjlighet att läsa fler gratisartiklar genom att till exempel radera cookies (Nikiforakis et al. 2013a). 3

7 2.2 Tekniker Det finns ett många tekniker för att samla in data för att tillsammans ge en hög precision av ett fingerprint. Då alla dessa kompletterar varandra och faktumet att alla har sina för- och nackdelar innebär detta att det behövs fler tekniker för bättre fingerprinting. För att fingerprinting ska vara användbart måste tekniken uppfylla ett antal olika baskriterier vilka enligt Homem & Carvalho (2011) är: Skall inkludera ett minimalt antal funktioner som beskriver användaren i ett kompakt format Skall tillåta uppdateringar av användare, med ny information om sådan ändras för användaren Skall tillåta en snabb jämförelseprocess så snart en ny sessions-ägare behöver bli identifierad Skall ha skalbarhet. Det vill säga, prestanda skall inte påverkas avsevärt Skall ha flexibilitet. Det vill säga, nya användare skall lätt kunna inkluderas då information finns tillgänglig PHP (HTTP) Då en sida begärs av användaren genom till exempel en länk eller adress direkt i adressfältet följer det med information från webbläsaren. För varje http request överförs ett antal http headers som innehåller information om användarens webbläsare samt klientens ip-adress. I headern följer även en sträng med som kallas för UserAgent string. Denna innehåller information som går att läsa i klartext Unger et al. (2013). Nedan rad är ett exempel på hur ett sådant kan se ut: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:26.0) Gecko/ Firefox/26.0 Exempel 1 UserAgent string Som exemplet illustrerar kan information om bland annat operativsystem och webbläsare hämtas ut som klartext för servern. För att få del av denna information kan PHP kolla med servervariabeln $_SERVER['HTTP_USER_AGENT']. Det är förövrigt möjligt för användaren att ändra denna information vilket därmed kan ge ett missvisande fingerpring men som Unger et al. (2013) menar är en sådan informationsändring ofta ett tecken på att en så kallad session-kapning håller på att ske, då den ändras under en öppen session. Detta eftersom en attackerare kan klona offrets http header-information JavaScript JavaScript är ett program som webbläsaren laddar hem till klienten för att köras lokalt tillsammans med html-sidan på användarens dator. Då skripten körs på klienten har de tillgång till information utvunnen ur webbläsaren. Det finns ett större antal JavaScript-motorer och de största webbläsarna har olika sådana. Detta gör att det finns stora skillnader mellan vad de olika webbläsarna exponerar, olika antal möjliga API-anrop med olika namnval, vilket i sin tur gör att man kan urskilja dessa 4

8 från varandra ganska lätt (Nikiforakis, Kapravelos, Joosen, Kruegel, Piessens, Vigna, 2013b). Med hjälp av JavaScript är det bland annat möjligt att få information om skärmupplösning och färgdjup samt vilken webbläsare användaren har. Dessutom kan JavaScript testa huruvida Java och cookies är aktiverat i webbläsaren. Även om de flesta webbläsare idag är utrustade med en JavaScriptmotor är det för en användare möjligt att stänga av JavaScript i webbläsaren. Enligt Zakas (2010) på Yahoo Developer network är det ganska låg andel internetsurfande som faktiskt stänger av JavaScript i webbläsaren (se tabell 1). JavaScript avaktiverat av användaren i webbläsaren i respektive listat land USA 2.06% Storbritannien 1.29% Frankrike 1.46% Spanien 1.28% Brasilien 0.26% Tabell 1 JavaScript avaktiverat i webbläsaren (Zakas, 2010) Tredjepartsprogram Tredjepartsprogram i webbläsaren är små program som behövs för köra vissa script skapade i till exempel Flash, Silverlight eller Java. Dessa tekniker har liknande funktionalitet och används till liknande ändamål. Det vanligast använda av dessa insticksprogram är Adobe Flash (w3techs.com, 2014). Figur 2 Användning av populära tredjepartsprogram (W3Techs, 13 feb 2014) 5

9 Adobe Flash är en plattform främst avsett för vektorgrafik, animationer och spel i webbläsaren men kan även köras utanför webbläsaren på många enheter. I webbläsaren behövs ett plugin installeras för att kunna köra spelen eller applikationerna gjorda i Flash. Flash är utrustat med flera bibliotek som går att använda för fingerprinting, vilken genom dessa har tillgång till information som traditionellt sett inte är möjligt genom webbläsarens API. Tack vare att flashapplikationer har denna möjlighet att samla information om användarens webbläsare och system lämpar det sig att, genom olika tillvägagångssätt utföra fingerprinting som är osynlig för användaren (Nikiforakis et al. 2013b). Alla moderna webbläsare som stödjer tredjepartsprogram erhåller inställningen att inte tillåta plugins som Flash och Silverlight att laddas initialt, utan att användaren klickar på det själv. Eftersom det är meningen att fingerprintfunktionaliteten skall köras utan att användaren behöver interagera med funktionaliteten för att fingerprintas innebär detta att själva metoden inte fungerar som normalt. Det finns dock metoder som gör att JavaScript kan fläta in exekveringen av Flashs SWF-filer och köra dessa ändå (Nikiforakis et al. 2013b). En större nackdel med tredjepartsprogram som Flash är just att de kräver plugin installerade i webbläsaren. Som Apple.com (2014) skriver har enheter som iphone och ipad inte stöd för Flash, samtidigt som inställningen är att aldrig stödja det heller. Det innebär att alla de värdefulla funktioner som finns i biblioteken går förlorade i ett försök att fingerprinta dessa enheter och som nämnts tidigare är många fingerprintingmetoder mer eller mindre beroende av just dessa bibliotek Browser cookies Informationen som normalt sparas i en cookie är språkinställningar användaren valt på sidan, kundvagnar på webbshopar och annan information som kan avlasta användaren nästa gång denne besöker sidan. Därmed slipper användaren välja språk igen då han eller hon återbesöker sidan. Men enligt Nikiforakis et al. (2013a) har cookies även länge varit god hjälp för webbtjänster att även hålla reda på annan information om användare. Nikiforakis et al. (2013a) beskriver fortsatt att fler och fler internetanvändare väljer att radera sina cookies regelbundet. Faktumet att även lagar har skapats som gör att ägare av webbsidor synligt måste meddela användarna om att cookies används på sidan, resulterar i ett ökat behov av andra fingerprintingmetoder HTML5 canvas HTML5 canvas är ett html-element som är till för att rita ut grafik i realtid med hjälp av JavaScript. Elementet besitter flertalet metoder för att bland annat rita ut linjer, boxar, cirklar, bitmap-bilder och text (W3schools.com, u.åa.). Enligt Mowery et al. (2012) kan HTML5 canvas-elementet ge möjlighet att hjälpa till men att få fram unika Fingerprints. Med hjälp av att rendera ut texter i en canvas kan en base64 hashtag hämtas ut med hjälp av en metod på canvas-elementet. Detta gör att användaren inte behöver ladda upp någon bildfil för att fingerprintingen skall fungera, utan hashen förklarar pixel för pixel hur bilden ser ut. Canvas-elementet erbjuder även en annan metod som returnerar ett ImageData-objekt, som också går att använda i förmån för fingerprinting (Mowery et al. 2012). Enligt Caniuse.com. (2014a) har de flesta webbläsare idag fullt stöd för HTML5 canvas och 81.36% ( ) av alla internetanvändare har en av dessa webbläsare. 6

10 2.2.6 WebGL WebGL är ett royalty-fritt API som används tillsammans med HTML5 canvas för att skapa 3D-grafik i webbläsaren. WebGL är baserat på OpenGL som är en grafikstandard som är brett utspridd och populär och i och med att det använder canvasen för att rita ut grafik är det många webbläsare som har eller kommer ha stöd för tekniken (Khronos.org, 2011). Tekniken lämpar sig enligt Mowery et al. (2012) bra för fingerprinting då WebGL-grafiken är hårdvaru-accelererad och använder bland annat grafikkortet för att rendera ut canvasen. Detta gör det möjligt att få fram synliga skillnader mellan olika hårdvara hos olika system Mowery et al. (2012). Nackdelen med WebGL som fingerprintingmetod idag är att tekniken inte stöds av bland annat Safari i ios. Enligt Caniuse.com (2014b) har endast 40,83% ( ) av alla internetanvändare har en webbläsare med stöd för WebGL. Statistiken påvisar också att de webbläsarna som generellt inte har stöd för WebGL är webbläsare i mobila enheter, där Blackberry Browser och Opera Mobile är de enda med fullt stöd för tekniken (Caniuse.com, 2014b) CSS Stilmallar, på engelska Cascaded Style Sheet (CSS) används till att beskriva för webbläsaren hur informationen skall presenteras på en webbsida. Detta görs genom att sätta upp regler för de olika html-elementen som finns i dokumentstrukturen. Dessa regler kallas för deklarationer och kan göras inbäddat i html-element, i egen sektion i html-dokumentet eller i en extern fil (W3schools.com, u.åc). Med hjälp av CSS-attributet :visited är det möjligt att kolla igenom vilka webbsidor användaren har besökt genom att studera färgen på länkar till URL-er renderade på sidan. Färgen på en sådan länk kan bestämmas med hjälp av att deklarera attributet :visited en vald färg, vilket sedan kan hämtas fram i länklistan med hjälp av JavaScript. Denna metod kräver dock att JavaScriptet erhåller en lista av URL-er som användaren kan ha besökt (Olejnik et al. 2012). 7

11 2.3 Mobila enheter Tack vare smartphones fördelar använder fler och fler människor telefonen till att besöka webbplatser de tidigare endast har använt stationära datorer till. Fler och fler gör sina vardagliga ärenden från mobila enheter vilket bevisar den växande rollen smarta telefoner har för i vårt dagliga liv (Tang, Hidenori, Urano, 2010). Skillnaden mellan mobila enheter och stationära enheter är främst att de mobila enheterna bär användaren med sig på resande fot. Med hjälp av PHP kan användarens IP-adress läsas ut, vilken sedan kan användas mot en tjänst för att ta reda på ungefär var användaren befinner sig på planeten. Ett exempel på en sådan tjänst är Denna tjänst erhåller även ett API som gör det möjligt att med hjälp av PHP skicka en http-förfrågan få ut enhetens position i form av longitud- och latitud-koordinater (Fiori, 2014). HTML5 canvas är som sagt till för grafisk representation och stöds av de flesta moderna webbläsarna. Även om WebGL inte stöds på alla mobila webbläsare kan de flesta moderna webbläsare idag utnyttja hårdvaruaccelerering för CSS3 transformationer (Caniuse.com, 2014c). Som Fuchs (2010) specifikt skriver kan även ios-enheter triggas till hårdvaruaccelerering med CSS-transformationer. Vidare menar Mclaughlin (2011) även att SVG-grafik (scalable vector graphics) som renderas ut i en canvas triggar hårdvaruaccelerering vilken också stöds i de flesta moderna webbläsare (Caniuse.com, 2014d). Figur 3 Andel uppkopplade smartphones i Sverige (Statistiska centralbyrån, 2013) Enligt Statistiska centralbyrån (2013a) använder 6 av 10 svenskar sin smartphone för att koppla upp sig mot Internet. Som Figur 3 illustrerar använder över 60 procent av alla män och strax över 50 procent av alla kvinnor i Sverige (2012), sin smartphone för att koppla upp sig mot webben. Då Statistiska centralbyrån (2013b) vidare påvisar att det näst vanligaste ärendet svenskar har på Internet är att besöka sina internetbanker (77 procent), vilket har ett särskilt syfte för fingerprinting som tidigare nämnts i kap Antibedrägeri, (Nikiforakis et al. 2013a). 8

12 2.4 Fingerprint-precision Fingerprintingteknikers precision kan avgöras genom att samla ihop data om olika enheter för att sedan granska skillnader mellan dessa enheter (Eckersley, 2010). Skulle en enhet mätas två gånger är ett fingerprint lyckat då den specifika enheten identifieras som samma enhet, båda gångerna. Figur 4 - Misslyckade kontra lyckade fingerprint Figur 4 illustrerar de tre utsagor ett fingerprint kan ha. Skulle enhet A identifieras som enhet B, eller som en ny enhet ( A A ) innebär detta ett misslyckat fingerprint när enheten redan har ett tidigare registrerat fingerprint. Precisionen för en fingerprintingteknik avgörs genom att ta reda på antalet överlapp och missmatchningar som existerar. 9

13 3 Problemformulering Fingerprinting på mobila enheter låter sig inte göras på samma sätt som på stationära och bärbara datorer, då många mobila enheter saknar stöd för en eller flera underliggande tekniker som till exempel Flash och Silverlight (Caniuse.com, 2014b, Apple.com, 2014). Dock är det fortfarande möjligt att med hjälp av andra tekniker kontrollera om till exempel cookies eller java är aktiverat i webbläsaren, vilket går att göra med bland annat JavaScript (W3schools.com, u.åb). Som Tang, Hidenori, Urano (2010) menar använder fler och fler människor sina mobila enheter för att utföra många av deras dagliga sysslor på webben. Som nämnts i kap 2.3 Mobila enheter, påvisar Statistiska centralbyrån att 6 av 10 svenskar (2012) använder sin smartphone till Internetsurf. Detta innebär att det är viktigt att fingerprinting fungerar minst lika bra på dessa enheter, som det gör för traditionella datorer. Därmed är problemställningen likt följande: Hur stor skillnad kan existerande fingerprintingtekniker, vid exkludering av cookies och tredjepartsprogram, påvisa för hårdvarulika mobila enheter? Hypotesen är att renderingstiden för text eller andra grafiska objekt i HTML5 canvas, kan skilja sig åt beroende på bland annat processorlast och minnesanvändning. Mowery et al. (2011) föreslår mätning av exekveringstid som ett sätt att skapa fingeravtryck med hjälp av JavaScript. Det kan alltså vara möjligt att till exempel två lika modeller av samma telefon och operativsystem renderar olika fort beroende på hur mycket minne och processorkraft som används. Vidare kan en sådan skillnad bero på bland annat hur många appar som ligger och körs i bakgrunden på enheten. Uppgiften är att med hjälp av bland annat PHP, JavaScript och HTML5 canvas-elementet ta fram information som bas för ett fingerprint och komplettera detta fingerprint med renderingstiden. Därpå är det möjligt att ta reda på i vilken utsträckning det kan förväntas vara möjligt att fingerprinta hårdvarulika mobila enheter. De tekniker som skall användas bör tillämpa Homem & Carvalho s (2011) kriterier för att uppfylla användbara fingerprint. Arbetet är inspirerat av artikeln Pixel Perfect: Fingerprinting canvas in HTML5 som handlar om att åstadkomma en god fingerprinting enbart genom canvas-elementet med WebGL och JavaScript. Experimentet bakom artikeln involverar många traditionella datorsystem men få mobila enheter som till exempel smartphones och surfplattor. Olikt artikeln som inspirerat till detta arbete är att identifieringen av mobila enheter troligtvis inte ger lika bra resultat som för stationära system, bland annat på grund av att WebGL inte stödjs fullt ut i samtliga webbläsare (Caniuse.com, 2014b). Möjligheten är därför att det endast är webbläsarens renderingsmotor som påverkar hur resultatet blir, vilket troligtvis medför ett sämre resultat i en fingerprint då skillnaderna mellan bland annat liknande mobila ios-enheter därmed inte kan urskiljas på hårdvaruspecifikationerna med hjälp av WebGL. 10

14 4 Metod Experiment är metoden som används, där ett antal mobila enheter ingår för mätningen av fingerprintingen. Detta för att bedöma och evaluera ställda hypoteser och antaganden, vilket experiment lämpar sig bra för (Wohlin et al. 2012). Metoden är kvantitativ där flertalet fingerprintingtekniker testas och används på flertalet hårdvarulika mobila enheter. Problemet är datalogiskt eftersom data samlas in med hjälp av en fingerprintingalgoritm. Då data som samlas in är i form av bland annat renderingstider lämpar sig inte kvalitativa metoder som enkäter och intervjuer för att undersöka huruvida ett fingerprint är lyckat eller inte. Styrkan med experiment som metod i detta arbete är också, baserat på Wohlin et al. (2012) påstående att det går att undersöka vilken situation hävdanden är sanna. Experiment kan även tillhandahålla klarhet i vilka metoder som är rekommenderade att använda (Wohlin et al. 2012). En alternativ metod skulle kunna vara fallstudie, vilken lämpar sig bra för många typer av programvaruteknisk forskning eftersom det ofta rör sig om samtida fenomen som utgör resultatet. Dessa fenomen kan vara svåra att studera isolerat från de andra samtidiga fenomenen (Wohlin et al. 2012). Eftersom det bland annat inte är samtidiga fenomen som behandlas vid fingerprinting är fallstudie inte passande som metod för detta arbete. 4.1 Experiment Som beskrevs i kap 2.4 Fingerprint-precision, kan en enhets fingerprint vara misslyckat eller lyckat. Resultatet i en mätning är därmed antal misslyckade fingerprint genom antalet enheter som ingår i mätningen, vilket utgör en procentuell skillnad. En artefakt kommer byggas för att göra det möjligt att utföra fingerprintmätningen. Artefakten kommer vara en webbsida som samlar ihop data från flera fingerprintingtekniker. Data som samlas in kommer lagras i en databas som är kopplad till webbsidan för att sedan kunna utvärderas. Många av fingerprintingteknikerna som presenterades i kap 2.2 Tekniker, används för att ta fram information om operativsystem, webbläsare, cookie- och javastöd, skärmstorlek med mera. Denna information används som bas i fingerprintingen och kompletteras med klockning av renderingstiden vid rendering av text och grafik i en canvas. Varje teknik kan analyseras för sig men samtliga tekniker kommer tillsammans utvisa resultatet av lyckad eller misslyckad fingerprint. Renderingstiden kommer mätas flertalet gånger vid varje besök av webbsidan och ett medel av de samlade klockningstiderna sparas. Anledningen till detta är att kunna utesluta spikar i tid för mätningen. Eftersom renderingstiderna kan variera mellan tillfällen måste ett toleransspann tas fram som baseras på observation av ihopsamlad data, vilket bör ge en indikation för vilken enhet det är. 4.2 Avgränsningar Eftersom utvärderingen är tänkt att göras mot mobila enheter som är väldigt lika hårdvarumässigt, kommer testerna avgränsas till att fokusera på ios-enheter. Detta för att dessa påvisat minst stöd för traditionella fingerprintingmetoder. För att resultatet skall vara intressant är det viktigt att ha så lika enheter som möjligt med så många olikheter som möjligt. Andra smartphones kan användas som referenspunkter i mätningarna. 11

15 4.3 Forskningsetiska aspekter Allt material och källkod som skapas för detta arbete kommer publiceras som bilagor för att möjliggöra replikation och reproducerbara resultat. Därmed kan tester återskapas och påvisa legitimiteten hos rapporten. Fullständiga grafer med potentiellt brus, utan modifiering kommer även dessa bifogas i appendix, om dem inte redan finns i dokumentet. Det finns en växande medvetenhet hos användare på webben att cookies är ett stort hot mot deras integritet. Många användare blockar därmed cookies i sina webbläsare eller raderar dem regelbundet (Eckersley, 2010). Ur en etisk aspekt kan artefakten användas för att extrahera känslig information om system för att utnyttja vid attacker mot specifika enheter (Mowery & Shacham, 2012). I brist på tid kan antalet enheter som testas i fingerprintingen vara för låg för att säkerställa att resultatet är fullständigt trovärdigt. Alla deltagare som ingår i experimentet är informerade om avsikten med deras medverkan, samt hur data relaterat till dem används. Direkta och indirekta kopplingar till personen som den tillhandahållna informationen om enheterna är relaterad till kommer inte presenteras i något av materialet, utan kommer censureras ut. 12

16 5 Genomförande 5.1 Litteraturstudie Arbetet är till grunden inspirerat av artikeln Pixel Perfect: Fingerprinting canvas in HTML5 (Mowery & Shacham, 2012), vilket beskrivs i kap 3 Problemformulering. Experimentet involverar till mestadels stationära system. Då användandet av smartphones och surfplattor ökar i användning på webben innebär detta ett ökat intresse för fingerprinting som även fungerar på mobila enheter Rendering i canvas Författarna av artikeln Pixel Perfect: Fingerprinting canvas in HTML5 använder sig av text och grafik i en HTML5 canvas för att få fram ett unikt fingerprint. I det här arbetet används HTML5 canvas-elementet för liknande teknik för att fingerprinta men med komplettering i form av klockning av renderingstid. Klockningen görs olika på olika webbläsare då till exempel Safari för ios inte har stöd för W3C High Resolution Timer (w3.org, 2012) och därmed får luta sig tillbaka på JavaScript Date-objektet som endast har upplösning i millisekunder. Inspiration för användandet av W3C High Resolution Timer är från Microsecond timing in JavaScript (StackOverflow, 2014a). Figur 5 - Fallbackfunktionalitet för klockning av renderingstider illustrerar funktionen för klockning av renderingstiderna av grafik i HTML5 canvas. Figur 5 - Fallback-funktionalitet för klockning av renderingstider 13

17 5.1.2 Grundläggande tekniker I arbetet används andra bakomliggande tekniker för att utgöra ett fingerpring, vilket nämns i kap 3 Problemformulering. Renderingen i canvas kan analyseras för sig men kan även behöva stöd från andra tekniker för att ge en grund till ett användbart fingerprint. De grundläggande tekniker som är valda att använda håller sig inom JavaScript, PHP (Hypertext Preprocessor) och CSS (Cascading Style Sheet) för att säkerställa att de flesta webbläsare och enheter har stöd för teknikerna. För att ta del av information om användarens operativsystem och webbläsare används JavaScript. Den text-sträng webbläsaren gör synlig för JavaScript ser olika ut för olika webbläsarversioner och operativsystemsversioner. En lista (se Figur 6 - Ian Ippolitos lista över useragent-strängar med regex validering för operativsystem) över de flesta operativsystem och webbläsare är inspirerat av Ian Ippolitos inlägg i How can I find the OS name and OS version using JavaScript? (StackOverflow, 2014b). Figur 6 - Ian Ippolitos lista över useragent-strängar med regex validering för operativsystem 5.2 Implementation En prototyp av en webbapplikation har skapats för insamlingen av data från olika enheter. Applikationen består av en klient-del och en server-del. På klienten körs initialt ett JavaScript som renderar en vektorgrafisk figur i ett HTML5 canvas-element i webbapplikationen och klockar renderingstiderna. Data om webbläsare och operativsystem sparas undan i en Array tillsammans med tiderna för klockningen. Slutligen skickas datan i Arrayen till servern med hjälp av JavaScript Ajax där ett PHP-script lagrar all den insparade datan om användaren och enheten i en mysql-databas (se Figur 7 - Grovskiss av webbapplikation). 14

18 Figur 7 - Grovskiss av webbapplikation Rendering i canvas En klockning görs precis före renderingen startar och precis efter renderingen är klar. Renderingen och klockningarna görs 10 gånger för att kunna avgöra om klockningen visar spikar i renderingstiden. Mätningen resulterar därmed i 10 tidsstämplar för varje enhet vid varje tillfälle enheten anropar sidan. En statistisk standardavvikelse görs på de klockade tiderna för att sortera bort spikar med hjälp av formeln i Figur 8 - Standardavvikelseformel för renderingstider, där kvadratroten ur variansen på medelvärdet tas fram. 15

19 Figur 8 - Standardavvikelseformel för renderingstider Normalfördelningen i Figur 9 - Diagram av normalfördelning illustrerar värdena nära medeltiden för klockningarna i de två mellersta banden. De värden som hamnar utanför normalen sållas bort och ett medelvärde av de kvarvarande värdena sparas undan, samt högsta och lägsta klockningarna inom normalen. Figur 9 - Diagram av normalfördelning Operativsystemsspecifik information Med hjälp av Ian Ippolitos lista presenterad i kap Grundläggande tekniker och JavaScript hämtas namnet på operativsystemet och versionsnumret ut och mellanlagras i data-arrayen som tidigare nämnts, till dess att användaren klicka på spara-knappen i webbapplikationen. Då användaren har fyllt i ett formulär och klickat på spara-knappen skickas datan i Arrayen till servern Webbläsarspecifik information Med hjälp av enkla JavaScript-kommandon hämtas information om skärmstorlek, fönsterstorlek och färgdjup ut. Tre tester görs för att testa om Flash och Cookies stöds av webbläsaren likt Figur 10 - cookiesenabled-funktion & flashenabled-funktion. Java-stöd kontrolleras också genom metoden javaenabled() på navigator-objektet likt Exempel 1 UserAgent string. navigator.javaenabled(); Exempel 2 javaenabled method 16

20 Figur 10 - cookiesenabled-funktion & flashenabled-funktion Progression I den första versionen av webbapplikation användes JavaScript Date-objektet för att ta fram klockningar för renderingstider av vektorgrafiken i HTML5 canvas. W3C High Resolution Timer ersatte funktionaliteten delvis men visade sig senare inte fungera i bland annat Safari på mobila enheter. Dock körs funktionaliteten vid tillfälle då den stöds. Klockningarna gjordes till en början endast en gång per anslutning till sidan vilket senare visade sig vara missvisande. Felet korrigerades genom att rendera ut vektorgrafiken i HTML5 canvas fler antal gånger, samt sålla bort felaktig data, så att spikar elimineras i utvärderingen. Bortsorterad data lagras i separata fält i databasen och tas därmed inte bort helt för experimentets skull. I senare versioner av webbapplikationen tillades fler alternativ av enheter och modeller av smartphones och surfplattor, i formuläret som användaren fyller i. Detta för att möjliggöra fler referensvärden till utvärderingen av experimentet. Fokus för experimentet ligger på iosenheter men antas vara mer värd med fler referenspunkter. 5.3 Pilotstudie Pilotstudien av experimentet påvisar skillnader enheter emellan i klockningar av renderingstiden av vektorgrafiken i HTML5 canvas. Dock påvisas även överlapp för smartphones av samma modell (se tabell 2). I pilotstudien ingick 1 iphone 5, 2 iphone 4 och 1 iphone 4s. 17

21 Enhet # Modell Operativsystem Skärmupplösning Webbläsare Stöd Klockning 1 (ms) Klockning 2 (ms) 1 iphone x 480 ios cookies iphone x 480 ios cookies iphone 4s 320 x 480 ios cookies iphone x 568 ios cookies Tabell 2 Resultat av mätningar i pilotstudie 18

22 6 Utvärdering 6.1 Presentation av undersökning Undersökningen genomfördes på 50 enheter. De olika enheter som användes var varierande i form-faktor och modell. För varje mätning görs 20 klockningar av renderingstiden för att simulera flera besök på sidan. Hälften av klockningarna för varje mätning, det vill säga 10 stycken, görs för rendering av en större och mer avancerad figur för att kunna avgöra om det finns skillnader i renderingstid mellan avancerade och simpla figurer för varje enhet. I mätningarna fick enbart en av enheterna en godkänd klockning över 0 millisekunder för den enkla figuren, vilket gjorde det omöjligt att mäta mot de andra enheterna. Anledningen till att klockningarna på den enkla figuren inte kunde klockas tros vara den låga upplösningen för klockningarna i JavaScript Date-objektet. Då detta arbete främst fokuserar på ios-enheter används dessa i analysen tillsammans med de andra enheterna som referenspunkter. Referenspunkterna påvisar om det är större skillnader mellan ios-enheter och andra enheter än till exempel en ios-enhet från en annan. När en mätning är genomförd sparas 28 värden in i en databas. De värden som sparas undan förutom identifierare bestående av deltagarens namn, enhetens modellnamn, är skärmstorlek (i pixlar), fönsterstorlek (i pixlar), färgdjup, färgupplösning, webbläsare samt version, om enheten är en mobil enhet eller inte, operativsystem samt version och de olika klockningsvärdena. Enhetens stöd för Java, cookies och Flash skrivs även in i databasen tillsammans med 2 base64 hash-strängar som finns till för att påvisa skillnader i hur grafiken renderas i HTML5 canvas för de olika enheterna Renderingstid Klockningarna gjordes med JavaScript Date-objektet för de enheter som inte stödjer W3C High Resolution Timer, vilket bland annat är ios-enheter med webbläsaren Safari. Ett typvärde av renderingstiderna tas fram för att avgöra precisionen för varje enhet i dess fingerprint. Eftersom i princip inga renderingstillfällen kommer infalla på samma millisekund i mätningarna går det inte med säkerhet påvisa ett typvärde på exakta millisekunder. Typvärdet måste där med få ett tidsspann som fungerar som ett typvärde med flera värden i. Som beskrevs i kap 4.1 Experiment, måste ett toleransspann tas fram som baseras på observation av ihopsamlad data, vilket bör ge en indikation för vilken enhet det är. Exempel på hur renderingstidernas klockningar kan räknas ut som en komponent i ett fingerprint. Exemplet förutsätter att toleransspannet är satt till 5 millisekunder. Tabell 3 - Exempel på klockningstider Exempel # Exempel på klockningstider (ms) 1 5,5,6,7,4,4,6,32,50,7 2 5,6,7,8,32,7,15,16,17 3 5,10,15,20,25,30,35,40,45,50 På första raden i Tabell 3 - Exempel på klockningstider visas en mätserie på 10 renderingstider i millisekunder. Klockningstillfällena som renderingen görs på 32 samt 50 19

23 millisekunder sållas bort med hjälp av den statistiska standardavvikelsen beskriven i kap Rendering i canvas. Resterande värden ligger inom ett spann på ± 5 millisekunder vilket därmed anses som samma enhet i analysen och utvärderingen. På andra raden sållas siffran 32 bort och kvar är 5, 6, 7, 7, 8, 15, 16 och 17 i ordning från lägsta till högsta. Vid tillfället där mätningen är på 15, 16 och 17 millisekunder skiljer det mer än 5 millisekunder från de flest förekommande värdena av mätningen. Fingerprinting skall enligt Homem & Carvalho (2011) lära sig förändring för en användare och anpassa sig efter förändring. I verkligheten är det möjligt att en enhet ändrar renderingstid på grund av olika hårdvarurelaterade faktorer så som till exempel minnesanvändning. Skulle de kommande renderingstiderna i serien efter 15, 16 och 17 hålla sig inom spannet på ± 5 millisekunder kommer enheten i fingerprintet klassas som en ny enhet från vilken den klassades som de första 5 gångerna den klockades. Över tid spelar det mindre roll om enheten hädanefter fortsätter hålla sig inom det godkända spannet. På tredje raden i tabellen finns värdena 5, 10, 15, 20, 25, 30, 35, 40, 45, 50 millisekunder och ingen standardavvikelse är identifierad. Ökningen i renderingstid är linjär och varje värde ligger inom spannet på ± 5 millisekunder från vardera värde men det första skiljer 10 millisekunder från det tredje vilket gör att det faller utanför det godkända spannet för att påvisas vara samma enhet Renderingsdifferential Renderingstiden togs fram genom att rendera ut grafiska objekt i en HTML 5 canvas likt Figure 11 - Grafiska objekt renderade i HTML 5 Canvas. Två olika objekt renderades ut för varje mätning för att avgöra om renderingstiderna skilde sig åt beroende på hur grafiskt avancerade objekten var. Figure 11 - Grafiska objekt renderade i HTML 5 Canvas 20

24 Förutom de två grafiska objekten renderas även en textsträng ut i en canvas för att få fram en renderingsdifferens. Textsträngen sparas i databasen som en base64-enkodad bild i jpgformat och png-format. De båda base64-enkodade bilderna jämförs med varandra för varje enhet för att sedan analyseras för att finna olikheter i rendering mellan de olika enheterna. Textsträngen används för renderingsdifferensmätningen, istället för de grafiska objekten så strängarna inte blir för långa och svårhanterliga, samt av anledningen att text renderat i canvas inte säkert har samma kantutjämning i olika webbläsare och grafikkort. De framtagna base64-enkodade bilderna från mätningarna jämförs sedan med varandra. 6.2 Analys Renderingstider Figur 12 - iphone 5 21

25 I Figur 12 - iphone 5, visas tre iphone-telefoners sammanställda renderingstider, där det görs tio likadana renderingar per telefon. Inom varje telefons olika renderingar är skillnaden större än mellan de olika telefonernas renderingar. Vid jämförelse mellan de olika telefonernas sammanställda renderingstider syns en del överlappningar och visar därmed på dålig fingerprint-underlag. Det finns även höga spikar för de olika telefonerna som räknas som brus i den här analysen då dessa inte är relevanta för analysen. Figure 13 - Illustration för överlappning av iphone 5 Figure 13 - Illustration för överlappning förtydligar överlappen mellan de tre iphone 5- telefonerna. Alla de tre telefonerna ligger mestadels på liknande tider vilket innebär överlapp. Telefonerna blir på grund av överlappen svåridentifierade som unika telefoner. Detta visar på att fingerprintingmetoden kan vara mindre användbar. Telefonerna har renderingstider som kan korsa de olika telefonernas renderingstider vilket också innebär överlapp. iphone 5 #2 ligger under renderingsiteration 8 och 9 kring 756 millisekunder. Under renderingsiteration 10 för iphone 5 #1 ligger renderingstiden på 755 millisekunder. Utifrån detta kan fingerprintingmetoden missta de två telefonerna som samma telefon. Detta för att de ligger inom samma renderingstid. Även iphone 5 #3 ligger inom 756 millisekunder under första renderingsiterationen. 22

26 Figur 14 - Medelsnitt av mobila enheters renderingstider Figur 14 - Medelsnitt av mobila enheters renderingstider, påvisar ganska stora skillnader i renderingstid mellan olika märken. Utifrån den här grafen är det möjligt att förutspå vilket märke och modell enheten har beroende på renderingstiden. De tider som presenteras i grafen är medelsnitt av samtliga mätningar per enhet. När renderingstiden överskrider 2 sekunder kan det antas att det är en iphone 4-telefon som besöker webbsidan. När renderingstiden hamnar under 50 millisekunder kan det antas vara en Samsung Galaxy S4 eller S5. # Modell Renderingstider (ms) 1 ipad ,1240,1236,1241,1241,1239,1463,1260,1292, ipad ,1273,1249,1255,1249,1281,1262,1252,1236, ipad ,1388,1376,1384,1380,1371,1273,1334,1421, ipad 3 793,622,602,625,620,598,596,597,601,712 5 ipad Mini 2 406,338,331,318,317,322,314,316,316,315 6 iphone ,2268,2487,2828,2401,2255,2332,2243,2288, iphone ,3601,3951,2727,2621,2600,2453,2453,2648,

27 8 iphone ,4023,2822,2726,2959,2798,3096,2567,2686, iphone 4s 1887,1632,1840,1561,1586,1522,1561,1528,1541, iphone 4s 1816,1549,1555,1563,1596,1570,1548,1544,1543, iphone 5 756,650,645,631,630,633,627,630,630, iphone ,682,641,645,645,643,646,642,635, iphone 5 811,749,650,646,647,646,641,648,638, Nokia Lumia ,344,333,259,222,294,268,236,230, Samsung Galaxy Core 354,207,156,162,153,155,158,158,153, Samsung Galaxy S2 542,344,260,276,268,270,268,271,282, Samsung Galaxy S4 410,94,39,47,43,46,45,43,40,41 18 Samsung Galaxy S4 206,70,26,26,26,27,27,27,26,34 19 Samsung Galaxy S4 207,307,35,35,35,35,35,35,35,35 20 Samsung Galaxy S5 169,56,24,27,22,20,20,20,23,24 21 Samsung Galaxy S5 206,54,40,36,24,18,17,30,19,21 22 Samsung Galaxy S5 661,316,124,64,36,35,36,41,36,35 Tabell 4 Renderingstider i millisekunder för samtliga mobila enheter i mätningen Tabell 4 - Renderingstider i millisekunder för samtliga mobila enheter i mätningen, visar renderingstiderna för alla mobila enheter som ingick i mätningarna. Det som kan anses vara intressant här är skillnaderna mellan alla smartphones av märket Samsung, där vardera telefon har relativt liknande renderingstid vid varje mätning. Varje mätning skiljer sig i regel enbart med fåtalet millisekunder från de tidigare mätvärdena. Den enda ipad 2 som var med i mätningen har majoriteten renderingstider runt 1200 millisekunder vilket även den första ipad 3 i listan har. Av de ipad 3 som deltog i mätningen är skillnaden i renderingstid större än det är mellan ipad 2 och ipad 3 på rad 2. De enheter som har flest liknande renderingstider enligt Tabell 4 - Renderingstider i millisekunder för samtliga mobila enheter i testet, är Samsungs Galaxy-modeller. I de flesta mätningarna i serierna skiljer det inte mer än några få millisekunder. Samsung Galaxy S5 på rad nummer 20 har mätvärde 35 millisekunder för 8 av 10 mätningar i mätserien. 24

28 Figure 15 Illustration för skillnader och överlapp för iphone 4 De tre iphone 4 skiljer sig i regel med några hundra millisekunder från varandra men överlappar varandra i vissa mätningar. I Figure 15 Illustration för skillnader och överlapp för iphone 4, påvisas ett fåtal överlapp men att enheterna mestadels skiljer sig åt. Vid de 3 första iterationerna har iphone 4-telefonerna en ojämn nivå för att sedan dala ut sig till jämnare nivå. 25

29 Figur 16 - Renderingstider Samsung Galaxy S-serien I Figur 16 - Renderingstider Samsung Galaxy S-serien, framgår det tydligt att de högsta spikarna i renderingstid är de i början av mätningen för att sedan jämna ut sig till jämnare nivå med liknande resultat. Grafen i Figur 16 - Renderingstider Samsung Galaxy S-serien visar en överblick över renderingstiderna innan exkludering av spikar och tydliggörs i grafen nedan, se Figure 17 - Samsung Galaxy S-serien med spikar borttagna. 26

30 Figure 17 - Samsung Galaxy S-serien med spikar borttagna Figure 17 - Samsung Galaxy S-serien med spikar borttagna, visar hur enheterna smått skiljer sig från varandra och håller jämna renderingstider, vilket ger potential till rättvist fingerprint i och med det jämna mönster som kan ses för Samsungs olika enheter. # Variant Renderingstider (ms) Webbläsare Version OS Version 1 desctoppc 38, 36, 7, 6, 7, 6, 7, 7, 6, 6 Chrome Windows 7 2 desctoppc 96, 52, 63, 49, 50, 63, 49, 48, 66, 52 Firefox 29 Windows 7 3 desctoppc 39, 28, 6, 7, 6, 7, 7, 9, 7, 7 Chrome Windows 7 4 desctoppc 116, 54, 69, 53, 53, 67, 54, 52, 69, 53 Firefox 29 Windows 8 5 desctoppc 81, 35, 36, 33, 31, 32, 31, 30, 30, 30 MS IE 11 Windows 7 6 desctoppc 123, 81, 63, 59, 59, 94, 62, 60, 58, 93 Firefox 28 Windows 7 7 desctoppc 204, 18, 5, 4, 3, 3, 3, 3, 3, 3 Chrome Windows 7 8 desctoppc 114, 55, 69, 53, 52, 64, 52, 52, 66, 55 Firefox 29 Windows 8 9 desctoppc 38, 14, 6, 6, 6, 6, 5, 6, 6, 7 Chrome Windows 7 10 desctoppc 87, 48, 62, 47, 47, 59, 47, 46, 61, 48 Firefox 29 Windows 7 11 desctoppc 97, 28, 44, 33, 102, 72, 113, 185, 114, Chrome Windows desctoppc 52, 18, 9, 7, 7, 9, 7, 7, 7, 9 Chrome Windows desctoppc 24, 8, 3, 3, 3, 3, 3, 3, 3, 3 Chrome Windows desctoppc 28, 10, 4, 4, 4, 4, 4, 4, 4, 4 Chrome Windows 7 15 desctoppc 35, 13, 5, 4, 5, 5, 5, 4, 5, 5 Chrome Windows desctoppc 24, 14, 4, 3, 4, 3, 4, 3, 4, 4 Chrome Windows 7 17 desctoppc 25, 18, 4, 4, 4, 4, 4, 4, 4, 4 Chrome Windows desctoppc 46, 18, 4, 5, 4, 4, 5, 4, 4, 4 Chrome Windows desctoppc 23, 7, 9, 7, 7, 7, 9, 7, 7, 7 Chrome Windows

31 20 desctoppc 25, 13, 5, 4, 4, 5, 4, 5, 5, 4 Chrome Windows laptoppc 148, 51, 19, 17, 19, 17, 17, 17, 17, 20 Chrome Windows laptoppc 267, 25, 7, 5, 6, 6, 6, 6, 6, 6 Chrome Windows 7 23 laptoppc 23, 8, 9, 7, 7, 7, 9, 7, 8, 9 Chrome Windows laptoppc 259, 171, 172, 169, 165, 177, 152, 125 Firefox 29 Windows 7, 158, laptoppc 141, 62, 78, 47, 62, 63, 62, 63, 62, 62 Firefox 29 Windows 7 26 desktopmac 48, 13, 5, 5, 5, 5, 5, 5, 5, 5 Chrome Mac OS X 27 laptopmac 22, 9, 61, 131, 119, 66, 82, 57, 134, 5 Safari Mac OS X 28 laptopmac 27, 8, 113, 158, 145, 147, 156, 133, Safari Mac OS 217, 89 X Tabell 5 Renderingstider i millisekunder för stationära och bärbara persondatorer Tabell 5 Renderingstider i millisekunder för stationära och bärbara persondatorer, visar samtliga persondatorer som deltog i mätningarna. I tabellen framgår det tydligt att det är svårare att skilja dessa system från varandra än mobila enheter från varandra. Renderingstiderna skiljer sig mer mellan webbläsare än datorer i sig. Operativsystem verkar inte påverka mätningarna alls. Samtliga datorer som använder webbläsaren Chrome håller renderingstiderna under 10 millisekunder i alla fall utom 1 (rad 11 i tabellen) medan Firefox håller sig runt 60 millisekunder respektive Internet Explorer på 30 millisekunder Figure 18 Illustration av renderingstider för samtliga persondatorer i mätningen Figure 18 Illustration av renderingstider för samtliga persondatorer i mätningen, påvisar att samband datorer emellan är mindre än likheten mellan varje maskins olika mätningar. Det finns dock mycket överlapp mellan datorer med samma webbläsare. 28

32 6.2.2 Renderingsdifferential # Enhet #1 Enhet #2 Jpg (skilje) Png (skilje) 1 iphone 4 ios Safari iphone 4S ios Safari ipad 2 ios Safari ipad 3 ios Safari ipad 3 ios Safari iphone 4 ios Safari Desctop-pc Windows 7 Firefox 29.0 iphone 4S ios Safari 7.0 ipad 2 ios Safari 6.0 ipad 3 ios Safari 7.0 ipad 3 ios Safari 7.0 iphone 4 ios Safari 7.0 Desctop-pc Windows 7 Firefox 29.0 Desctop-pc Windows 7 Chrome Identiska Identiska Identiska 80/1000 tecken 989/1000 tecken 80/1000 tecken Identiska Identiska Identiska Identiska 750/1000 tecken 78/1000 tecken 870/1000 tecken 69/1000 tecken # Desctop-pc Windows 7 Chrome Desctop-mac Mac OS X Chrome /1000 tecken 80/1000 tecken Tabell 6 Utplock av base64-enkodade textdifferenser Tabell 6 Utplock av base64-enkodade textdifferenser, visar ett utplock enheter jämförda med varandra med hjälp av ett textjämförelseprogram. Den första enheten på första raden jämförs med den andra enheten på första raden. Därefter jämförs den andra enheten på första raden med andra enheten på andra raden. Sedan jämförs den andra enheten på andra raden med andra enheten på tredje raden och så vidare fram till och med rad 7. 29

33 Figure 19 Exempel på strängar jämförda med textjämförelseprogram ( Utplocket är exempel till för att påvisa generella återkommande liknelser uppmärksammade i analysen för renderingsdifferensen. På rad 1, 4 och 5 i Tabell 6 - Utplock av base64-enkodade textdifferenser, visas resultaten från ios-enheter med webbläsarversion 7.0 av Safari. Resultatet från renderingsdifferensen mellan dessa enheter visar sig vara identiska. På rad 2 och 3 jämförs två ios-enheter varav en med Safari 6.0 och en med Safari 7.0. I dessa fall skiljer sig bilderna i renderingen sig åt. På rad 8 i Tabell 6 - Utplock av base64-enkodade textdifferenser, jämförs en Mac med en PC med olika operativsystem men med samma versionsnummer på webbläsaren. Tidigare resultat har påvisat att skillnader i första hand kan synas mellan webbläsare. På rad 8 skiljer detta sig från de andra resultaten och påvisar skillnader med samma webbläsare och versionsnummer. 6.3 Slutsatser För att renderingstider för utritning av grafik i webbläsaren ska kunna användas som fingerprintingmetod krävs det att ett godkänt tidsspann tas fram. Då olika resultat för olika sorters enheter har observerats i mätningarna bör toleransspannssiffran inte vara en konstant. För en enhet, som med hjälp av andra fingerprintingmetoder har identifierats som till exempel en iphone 5 kan toleransspannssiffran ligga på ± 10 eller 15. För en Samsung Galaxy S4 eller S5 kanske det räcker med ett toleransspann på ± 5, eftersom S4 och S5 har mindre differens i mätvärdena. Även med ett toleransspann är det svårt att unikt identifiera en specifik användare genom en specifik enhet. De iphone 5-telefoner som deltog i mätningarna överlappar varandra vid flera tillfällen, vilket innebär misslyckat fingerprint då en specifik enhet kan identifieras som en annan. Det finns dock stora skillnader mellan olika märken av mobila enheter vilket framgår i Figur 14 - Medelsnitt av mobila enheters renderingstider. Dessa resultat är emellertid inte heller av tillräckligt hög precision för att peka ut en unik enhet i ett fingerprint. Precisionen är snarare endast hög nog att ge en fingervisning vilket märke enheten har. När renderingstiden överskrider 2 sekunder kan det antas att det är en iphone 4-telefon som besöker webbsidan. När renderingstiden hamnar under 50 millisekunder kan det antas vara en Samsung Galaxy S4 eller S5. Samsungs Galaxy S-serie visade sig i Figur 16 - Renderingstider Samsung Galaxy S-serien, ha förhållandevis liknande renderingstider för varje unik telefon vid varje mätning. Hypotesen är att dessa mobila enheters webbläsare cachar renderad data och laddar in på nytt, istället för att på nytt rendera ut objektet. Skulle samma enhet mätas vid senare tillfälle igen, är det möjligt att renderingstiderna vid detta tillfälle inte påvisar ett så positivt resultat. 30

Mobile First Video on demand och livesändningar på Internet. Juni 2012

Mobile First Video on demand och livesändningar på Internet. Juni 2012 Mobile First Video on demand och livesändningar på Internet Juni 2012 1 Om detta dokument Marknaden och tekniken kring film (video on demand och livesändningar) på Internet utvecklas blixtsnabbt. Video

Läs mer

Procedurell renderingsmotor i Javascript och HTML5

Procedurell renderingsmotor i Javascript och HTML5 Procedurell renderingsmotor i Javascript och HTML5 TNM084 Procedurella Metoder för bilder Gustav Strömberg - gusst250@student.liu.se http://gustavstromberg.se/sandbox/html5/shademe/texture_stop_final.html

Läs mer

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion Webbteknik En kort introduktion Innehåll Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender 1 Historisk återblick 89 CERN Tim Berners Lee Ett plattformsoberoende sätt att sprida

Läs mer

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare

ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare ADOBE FLASH PLAYER 10.3 Lokal inställningshanterare PRERELEASE 03/07/2011 Juridisk information Juridisk information Juridisk information finns på http://help.adobe.com/sv_se/legalnotices/index.html. iii

Läs mer

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie 2017-03-09 Justering för krav på Windows Server 2012 1.2 Micke 2017-04-07 Vitec Ekonomi från x.60 kräver IIS 8 och websocket.

Läs mer

Användarhandledning. edwise Webbläsarinställningar 2013-10-24

Användarhandledning. edwise Webbläsarinställningar 2013-10-24 Användarhandledning edwise Webbläsarinställningar 2013-10-24 Sida 2/22 Innehållsförteckning 1 Webbläsarinställningar... 3 1.1 Internet Explorer Kompabilitetsläge... 3 1.1.1 Inställningar för kompabilitetsvyn...

Läs mer

Modul 6 Webbsäkerhet

Modul 6 Webbsäkerhet Modul 6 Webbsäkerhet Serverskript & Säkerhet Webbservrar & serverskript exponerar möjlighet för fjärranvändare att skicka data och köra kod vilket medför risker. Man ska aldrig lita på att alla vill göra

Läs mer

Behandling av personuppgifter innefattar all hantering av personuppgifter såsom insamling, registrering och lagring.

Behandling av personuppgifter innefattar all hantering av personuppgifter såsom insamling, registrering och lagring. EMG EDUCATIONS MEDIA GROUPS INTEGRITETSPOLICY Avseende Happy Students Senast uppdaterad: 2017-[10]-[06] EMG Educations Media Group AB, org.nr 556652-1653, ( EMG, Vi eller Oss ), är ansvarig för behandlingen

Läs mer

Webbprogrammering. Sahand Sadjadee

Webbprogrammering. Sahand Sadjadee Webbprogrammering Sahand Sadjadee Agenda Webb The World Wide Web (WWW) is a network of online content that is formatted in HTML and accessed via HTTP. The term refers to all the interlinked HTML pages

Läs mer

Hja lp till Mina sidor

Hja lp till Mina sidor Hja lp till Mina sidor Vanliga Frågor Varför godkänner inte Mina sidor mitt personnummer trots att jag har prövat flera gånger och är säker på att jag skrivit rätt? Du behöver använda ett 12 siffrigt personnummer

Läs mer

Denna Sekretesspolicy gäller endast för webbsidor som direkt länkar till denna policy när du klickar på "Sekretesspolicy" längst ner på webbsidorna.

Denna Sekretesspolicy gäller endast för webbsidor som direkt länkar till denna policy när du klickar på Sekretesspolicy längst ner på webbsidorna. Sekretesspolicy Elanco, en division inom Eli Lilly and Company (Lilly), (härefter "Elanco" eller "Lilly" i denna Sekretesspolicy) respekterar integriteten hos dem som besöker våra webbsidor och det är

Läs mer

Användarhandledning. edwise Webbläsarinställningar 2012-10-24

Användarhandledning. edwise Webbläsarinställningar 2012-10-24 Användarhandledning edwise Webbläsarinställningar 2012-10-24 Sida 2/11 Innehållsförteckning 1 Webbläsarinställningar... 3 1.1 Internet Explorer Kompatibilitetsläge... 3 1.1.1 Inställningar för kompatibilitetsvyn...

Läs mer

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka

Hur hänger det ihop? För att kunna kommunicera krävs ett protokoll tcp/ip, http, ftp För att veta var man skall skicka Webben som verktyg Idag: Hur hänger det ihop? Viktiga tekniker Stegen i ett webbprojekt Verktyg Dreamweaver Photoshop Joomla CMS Storyboard och flödesschema Fixa webbhotell Hur hänger det ihop? För att

Läs mer

Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014

Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014 Fejjan för alla 1.0 Användarmanual för webbapplikationen Fejjan för alla. Manualens version:1.0. Datum: 5 februari 2014 Fejjan för alla gör det lättare för personer med olika typer av funktionsnedsättningar

Läs mer

Systemkrav WinServ II Edition Release 2 (R2)

Systemkrav WinServ II Edition Release 2 (R2) Systemkrav WinServ II Edition Release 2 (R2) Observera: Alla rekommendationer är aktuella vid den tid då dokumentet publicerades och visar den senaste informationen för nödvändig mjukvara. Systemkrav för

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Viktigt angående Kund- och Förskrivarportalen

Viktigt angående Kund- och Förskrivarportalen Viktigt angående Kund- och Förskrivarportalen Webbläsare Intern Explorer v6.0 eller senare stöds. Andra webbläsare kan fungera men omfattas inte av någon support. Skärmupplösning Kund- och Förskrivarportalen

Läs mer

Sammanfattning. Nyckelord: Renderingstid, Canvas, Attribut och iterationer.

Sammanfattning. Nyckelord: Renderingstid, Canvas, Attribut och iterationer. Sammanfattning På grund av att Javascript har utökats inom webben de senaste åren är även Canvas på uppgång. Javascript möjliggör dynamiskt genererad grafik vilket gör Canvas möjligt att skapa grafik via

Läs mer

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense September 2017 Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna.

Läs mer

ATT ARBETA MED VEKTORGRAFIK

ATT ARBETA MED VEKTORGRAFIK ATT ARBETA MED VEKTORGRAFIK Helene Brogeland Vektorgrafik och animation VT 2014 2014-04-29 Inledning Före aktuell kurs hade jag bara en vag uppfattning av innebörden av vektorgrafik och hade aldrig jobbat

Läs mer

Avancerade Webbteknologier

Avancerade Webbteknologier Projektledning, Business Knowledge Användbarhet & Layout Avancerade Webbteknologier Lkti Lektion 1 Kommunikation Tobias Landén tobias.landen@chas.se Avancerade webbteknologier del 1 (4 KY poäng) Syfte

Läs mer

Användarhandledning. edwise Webbläsarinställningar 2013-01-11

Användarhandledning. edwise Webbläsarinställningar 2013-01-11 Användarhandledning edwise Webbläsarinställningar 2013-01-11 Sida 2/14 Innehållsförteckning 1 Webbläsarinställningar... 3 1.1 Internet Explorer Kompatibilitetsläge... 3 1.1.1 Inställningar för kompatibilitetsvyn...

Läs mer

Webbservrar, severskript & webbproduktion

Webbservrar, severskript & webbproduktion Webbprogrammering Webbservrar, severskript & webbproduktion 1 Vad är en webbserver En webbserver är en tjänst som lyssnar på port 80. Den hanterar tillgång till filer och kataloger genom att kommunicera

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q3 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Systemkrav för Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense June 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense June 2017 Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna.

Läs mer

ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING

ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING ÅGIT PRESENTERAR FILR SMIDIG OCH SÄKER FILÅTKOMST OCH DELNING Novell Filr är som Dropbox, men betydligt säkrare. Från och med nu kan alla anställda och studerande inom Ålands gymnasium arbeta med sina

Läs mer

Guide företagskonto. HantverksParken. www.malerirad.se www.hantverksparken.se. Box 576, 136 25 Haninge 08-776 30 90 support@malerirad.

Guide företagskonto. HantverksParken. www.malerirad.se www.hantverksparken.se. Box 576, 136 25 Haninge 08-776 30 90 support@malerirad. Guide företagskonto HantverksParken TM Box 576, 136 25 Haninge 08-776 30 90 support@malerirad.se www.malerirad.se www.hantverksparken.se 2015 Innehållsförteckning Sida 3: Användningsenheter Sida 4: Rekommenderade

Läs mer

Systemkrav Bilflytt 1.4

Systemkrav Bilflytt 1.4 Systemkrav 1.4 Systemkrav 2018-08-28 2 (9) Systemkrav 1.4 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet. Nedan

Läs mer

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande:

Undervisningen i ämnet webbutveckling ska ge eleverna förutsättningar att utveckla följande: WEBBUTVECKLING Ämnet webbutveckling behandlar de tekniker som används för att presentera och bearbeta information i webbläsaren samt utifrån dessa tekniker skapa och vidareutveckla statiska och dynamiska

Läs mer

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna.

Qlik Sense Desktop. Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Qlik Sense Desktop Qlik Sense 1.1 Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2015 QlikTech International AB. Alla rättigheter förbehållna. Qlik, QlikTech,

Läs mer

Visma Proceedo. Att logga in - Manual. Version 1.4. Version 1.4 / 151016 1

Visma Proceedo. Att logga in - Manual. Version 1.4. Version 1.4 / 151016 1 Visma Proceedo Att logga in - Manual Version 1.4 Version 1.4 / 151016 1 Innehåll 1) INLOGGNING VIA MEDARBETARWEBBEN... 4 2) INTERNET EXPLORER... 7 2.1 Java... 7 2.2 Popup- fönster... 9 2.3 Browser, 32-64-bitars

Läs mer

Sekretesspolicy. 1 Allmänt. 2 Vilka uppgifter behandlar MyNumbers om dig? De sammanfattande punkterna är inte en del av policyn.

Sekretesspolicy. 1 Allmänt. 2 Vilka uppgifter behandlar MyNumbers om dig? De sammanfattande punkterna är inte en del av policyn. Sekretesspolicy De sammanfattande punkterna är inte en del av policyn. 1 Allmänt Vi är bäst i världen på att berätta hur ett företag mår ekonomiskt. Denna sekretesspolicy gäller användare av MyNumbers

Läs mer

Guide för Google Cloud Print

Guide för Google Cloud Print Guide för Google Cloud Print Version A SWE Beskrivning av anmärkningar Följande anmärkning används i den här bruksanvisningen: Information om hur du agerar i en viss situation eller hur du använder en

Läs mer

Webbprogrammering - 725G54 PHP. Foreläsning II

Webbprogrammering - 725G54 PHP. Foreläsning II Webbprogrammering - 725G54 PHP Foreläsning II Agenda Serverskript PHP Validering av data med serverskript Säkerhet Lab 2. Live coding Serverskript Kör ett program på servern och resultatet skickas till

Läs mer

1. Hur öppnar jag Polisens blanketter / formulär, trycksaker och annat som är i PDF-format?

1. Hur öppnar jag Polisens blanketter / formulär, trycksaker och annat som är i PDF-format? PDF-tips Vill du veta mer eller har problem med att ladda ner eller att öppna PDF-filer på polisen.se? Här får du några tips. 1. Hur öppnar jag Polisens blanketter / formulär, trycksaker och annat som

Läs mer

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense September 2017 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense September 2017 Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2017 QlikTech International AB. Alla rättigheter förbehållna.

Läs mer

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA)

TDP013. Webbprogrammering och interaktivitet. AJAX, CORS & jquery. Marcus Bendtsen Institutionen för Datavetenskap (IDA) TDP013 Webbprogrammering och interaktivitet AJAX, CORS & jquery Marcus Bendtsen Institutionen för Datavetenskap (IDA) Innan AJAX Ett synkront webb 1. Användaren klickar länk, formulär, bild etc 2. Anrop

Läs mer

Systemkrav för Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense 3.0 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense 3.0 Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Qlik,

Läs mer

Sekretesspolicy. Insamlingen syftar till att stödja vårt arbete inom ett antal områden:

Sekretesspolicy. Insamlingen syftar till att stödja vårt arbete inom ett antal områden: Sekretesspolicy Insamlingen av personuppgifter på vår webbplats sker inom ramen för gällande lagstiftning och EU:s allmänna dataskyddsförordning (GDPR). Vi samlar in personuppgifter på några olika sätt:

Läs mer

Guide för Google Cloud Print

Guide för Google Cloud Print Guide för Google Cloud Print Version B SWE Beskrivning av anmärkningar Följande anmärkning används i den här bruksanvisningen: Information om hur du agerar i en viss situation eller hur du använder en

Läs mer

Policy för kakor. Policydokument

Policy för kakor. Policydokument Policy för kakor Policydokument Innehåll 1. Policy för kakor 3 1.1. VAD ÄR KAKOR EGENTLIGEN? 3 1.2. VILKA SLAGS KAKOR KAN VI ANVÄNDA? 3 1.3. HUR INHÄMTAR VI DITT INFORMERADE SAMTYCKE? 5 1.4. INVÄNDNINGAR

Läs mer

Visma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1

Visma Proceedo. Att logga in - Manual. Version 1.3 / 140414 1 Visma Proceedo Att logga in - Manual Version 1.3 / 140414 1 Innehållsförteckning 1) INLOGGNING VIA VERKTYG OCH SYSTEM... 3 2) INTERNET EXPLORER... 6 2.1 Java... 6 2.2 Popup-fönster... 8 2.3 Browser, 32-

Läs mer

Systemkrav för Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense 3.1 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense 3.1 Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Qlik,

Läs mer

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I

L04.1 Marodören. Inledning. Mål. Genomförande. Uppgift 1 Hello World. Moment I L04.1 Marodören Inledning Genom att öva sig på de grundläggande koncepten i JavaScript öppnas vägen allteftersom till de mer avancerade funktionerna. Man måste lära sig krypa innan man kan gå, även i JavaScript!

Läs mer

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser.

Undervisningen ska ge eleverna tillfälle att arbeta i projekt samt möjlighet att utveckla kunskaper om projektarbete och dess olika faser. WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

Kort om World Wide Web (webben)

Kort om World Wide Web (webben) KAPITEL 1 Grunder I det här kapitlet ska jag gå igenom allmänt om vad Internet är och vad som krävs för att skapa en hemsida. Plus lite annat smått och gott som är bra att känna till innan vi kör igång.

Läs mer

FJÄRRENDERING AV CANVAS GRAFIK FÖR INTERAKTIVA DIAGRAM REMOTE RENDERING OF CANVAS GRAPHICS FOR INTERACTIVE DIAGRAMS

FJÄRRENDERING AV CANVAS GRAFIK FÖR INTERAKTIVA DIAGRAM REMOTE RENDERING OF CANVAS GRAPHICS FOR INTERACTIVE DIAGRAMS M a lskapad av Henrik FJÄRRENDERING AV CANVAS GRAFIK FÖR INTERAKTIVA DIAGRAM REMOTE RENDERING OF CANVAS GRAPHICS FOR INTERACTIVE DIAGRAMS Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng

Läs mer

B. Hur vi samlar in dina personuppgifter Följande typer av personuppgifter kan samlas in, lagras och användas:

B. Hur vi samlar in dina personuppgifter Följande typer av personuppgifter kan samlas in, lagras och användas: Privat policy A. Introduktion 1. Sekretess för våra besökare på webbplatsen är mycket viktigt för oss, och vi är engagerade i att skydda den. Denna policy förklarar vad vi gör med din personliga information.

Läs mer

Systemkrav för Qlik Sense. Qlik Sense 2.2 Copyright QlikTech International AB. Alla rättigheter förbehållna.

Systemkrav för Qlik Sense. Qlik Sense 2.2 Copyright QlikTech International AB. Alla rättigheter förbehållna. Systemkrav för Qlik Sense Qlik Sense 2.2 Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Copyright 1993-2016 QlikTech International AB. Alla rättigheter förbehållna. Qlik,

Läs mer

Systemkrav Bilflytt 1.3

Systemkrav Bilflytt 1.3 Systemkrav 1.3 Systemkrav Systemkrav 2016-11-22 2 (9) Systemkrav 1.3 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för

Läs mer

2 Inloggning. 3 Inställningar. Användarmanual systeminställningar Förskrivarportalen

2 Inloggning. 3 Inställningar. Användarmanual systeminställningar Förskrivarportalen 1 Introduktion Förskrivarportalen Dokumentet riktar sig till användare av Förskrivarportalen i 10-gruppen Skåne. Dokumentet beskriver eventuella systeminställningar som kan behöva göras för att Förskrivarportalen

Läs mer

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Klient/server Översikt Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning. Lektion 1: Webbtekniker från Microsoft Microsoft webbtekniker. ASP.NET. Klientsidan. Internet Information Server.

Läs mer

Elektronisk publicering TNMK30

Elektronisk publicering TNMK30 Elektronisk publicering TNMK30 Förra gången Usability & interaktionsdesign Projektintroduktion Bildbehandling. Byte av handledare Istället för Martin Johansson Annsofi Pettersson, annpe655@student.liu.se

Läs mer

Karlstads universitetsbibliotek

Karlstads universitetsbibliotek Karlstads universitetsbibliotek 2015 Guide till Zotero Med referenshanteringsprogrammet Zotero kan du enkelt samla dina referenser till böcker, artiklar m.m. och infoga källhänvisningar samt skapa litteraturlistor

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

WEBBTEKNIK. Ämnets syfte

WEBBTEKNIK. Ämnets syfte WEBBTEKNIK Webbteknik används för att utveckla och vidareutveckla statiska och dynamiska webbsidor, webbplatser, webbapplikationer eller andra applikationer där webbtekniker används, till exempel applikationer

Läs mer

1. Revisionsinformation

1. Revisionsinformation 7.4.2 Systemkrav Systemkrav 2018-12-06 2 (27) Systemkrav 7.4.2 Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

2. Komma igång. 3. Komma åt Salut Chat. 4. Uppdatera webbläsare och plugin

2. Komma igång. 3. Komma åt Salut Chat. 4. Uppdatera webbläsare och plugin Neuropsykiatriska behandlingsenheten, Solhem Södra Älvsborgs sjukhus 501 82 BORÅS Tel.: 033-616 29 60, e- mail: lena.y.johannesson@vgregion.se 1. Inledning Syftet med den här studien är att utvärdera om

Läs mer

E12 "Evil is going on"

E12 Evil is going on E12 "Evil is going on" Föreläsning 12, HT2014 AJAX Kurs: 1dv403 Webbteknik I Johan Leitet E12 Evil is going on Dagens agenda AJAX XMLHttpRequest-objektet JSON Vad är AJAX? Asynchronous JavaScript and XML

Läs mer

Systemkrav Tekis-Bilflytt 1.3

Systemkrav Tekis-Bilflytt 1.3 Systemkrav 1. Systemkrav Systemkrav 2015-06-09 2 (8) Systemkrav 1. Dokumentet beskriver de krav som systemet ställer på maskinvara och programvara i de servrar och klientdatorer som ska användas för systemet.

Läs mer

Termen "Leverantör" avser en anställd hos en organisation som levererar Comforta till produkter eller tjänster.

Termen Leverantör avser en anställd hos en organisation som levererar Comforta till produkter eller tjänster. Sekretesspolicy (Integritetspolicy) 1. Introduktion Tack för att du har interagerat med Comforta BLP AB, svenskt registreringsnummer 556594-0607 eller BLP i Älmhult AB, svenskt registreringsnummer 556726-5425

Läs mer

Statistik från webbplatser

Statistik från webbplatser Statistik från webbplatser problem och möjligheter Ulf Kronman Föredragets huvuddelar Frågorna och motfrågorna Vilka frågor ställer chefen, BIBSAM och ISO? Varför ställer webmastern krångliga motfrågor?

Läs mer

sektionsdata webb Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare.

sektionsdata webb Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare. sektionsdata webb För dig som har ett aktivt abonnemang i sektionsdata, ingår även sektionsdata webb. Nu kan du ta med dig dina kalkyler vart du än är, på en surfplatta, smartphone eller dator. Sektionsdata

Läs mer

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog.

Åtkomst Du kommer till ditt system via en webblänk som erhålles från oss. Via denna länk ges tillgång till sökning i bibliotekets katalog. Handledning för BIBBLAN bibliotekssystem BIBBLAN är ett svensktutvecklat biblioteksprogram helt webbaserat, som innebär att man endast behöver en uppkopplad dator mot nätet. Man slipper dessutom tänka

Läs mer

iphone/ipad Snabbguide för anställda på HB

iphone/ipad Snabbguide för anställda på HB iphone/ipad Snabbguide för anställda på HB Innehållsförteckning: Första uppstarten... 1 Apple-ID... 1 Hitta min iphone... 1 Trådlöst nätverk (Wi-Fi)... 2 Kalender, E-post & Kontakter... 3 GW-Sync konfiguration...

Läs mer

Webbserver och HTML-sidor i E1000 KI

Webbserver och HTML-sidor i E1000 KI 1 Funktion och användningsområde E1000-terminalen (E1032-E1151) kan användas som webbserver. En webbserver är ett program som hanterar filer som ska visas i en webbläsare som exempelvis Internet Explorer.

Läs mer

Lärarhandledning. Felix börjar skolan

Lärarhandledning. Felix börjar skolan Lärarhandledning för Felix börjar skolan Felixonline är en digital anpassning av barnboksserien Felix börjar skolan utgiven av Bonnier utbildning. Syftet med läromedlet är i första hand att skapa läsupplevelse

Läs mer

Genom att använda vår webbplats godkänner du att din personliga information behandlas i enlighet med denna integritetspolicy

Genom att använda vår webbplats godkänner du att din personliga information behandlas i enlighet med denna integritetspolicy Integritetspolicy SmartProvider i Sverige AB (SmartProvider) värderar skyddet av personuppgifter, och vi lägger därför stor vikt vid att skydda din integritet. Denna integritetspolicy förklarar och förtydligar

Läs mer

Visma Proceedo. Att logga in - Manual. Version Version /

Visma Proceedo. Att logga in - Manual. Version Version / Visma Proceedo Att logga in - Manual Version 1.4.1 Version 1.4.1 / 170510 1 Innehåll 1) INLOGGNING VIA MEDARBETARWEBBEN... 4 2) INTERNET EXPLORER... 7 2.1 Java... 7 2.2 Popup- fönster... 9 2.3 Browser,

Läs mer

Rekommenderad IT-miljö

Rekommenderad IT-miljö Rekommenderad IT-miljö INNEHÅLL SIDNUMMER Dator 1 Internetuppkoppling Webbläsare Webbläsare Inställningar Telefoner 2 Smartphone Inloggning med säkerhetsdosa Bilder Internet Explorer 3 Mozilla Firefox

Läs mer

Laglig grund Avtal och intresseavvägning.

Laglig grund Avtal och intresseavvägning. Behandling av personuppgifter inom Akademibokhandeln Vi på Akademibokhandeln vill att du ska känna dig trygg över vår hantering av dina personuppgifter. Här kan du läsa om vad en personuppgift är, hur

Läs mer

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor http://w3.msi.vxu.se/multimedia Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor Rune Körnefors Innehåll Variabler i JavaScript

Läs mer

Manual Lead tracking. Version 1.0 2013-12-12

Manual Lead tracking. Version 1.0 2013-12-12 Manual Lead tracking Version 1.0 2013-12-12 Innehållsförteckning 1 Inledning... 3 1.1 Om manualen... 3 1.2 Om tjänsten... 3 2 Använd tjänsten för första gången... 4 2.1 Installera applikationen... 4 2.2

Läs mer

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET

Olika slags datornätverk. Föreläsning 5 Internet ARPANET, 1971. Internet började med ARPANET Olika slags datornätverk Förberedelse inför laboration 4. Historik Protokoll, / Adressering, namnservrar WWW, HTML Föreläsning 5 Internet LAN Local Area Network student.lth.se (ganska stort LAN) MAN Metropolitan

Läs mer

Visma Proceedo Att logga in - Manual

Visma Proceedo Att logga in - Manual Visma Proceedo Att logga in - Manual Version 1.1 / 131028 1 Innehållsförteckning 1) INLOGGNING VIA VERKTYG OCH SYSTEM... 3 2) INTERNET EXPLORER... 6 2.1 Java... 6 2.2 Popup-fönster... 8 2.3 Browser, 32-

Läs mer

Det finns olika typer av Cookies och pixlar

Det finns olika typer av Cookies och pixlar EntryDraft s cookiepolicy Entrydraft är ett dotterbolag till GetIT Nordic och precis som dem använder vi cookies, tracking pixels och liknande teknologier på vår hemsida www.entrydraft.se för att samla

Läs mer

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare.

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare. sektionsdata webb För dig som har ett aktivt abonnemang i sektionsdata, ingår även sektionsdata webb. Nu kan du ta med dig dina kalkyler vart du än är, på en surfplatta, smartphone eller dator. Sektionsdata

Läs mer

Grunder. Grafiktyper. Vektorgrafik

Grunder. Grafiktyper. Vektorgrafik 2 Grunder All vår början bliver svår eller hur det nu brukar heta, och detta är något som gäller även Flash. För den som är ovan vid Flash gäller det säkert extra mycket, då det kan vara knepigt att förstå

Läs mer

KARLSTADS UNIVERSITETSBIBLIOTEK

KARLSTADS UNIVERSITETSBIBLIOTEK 1 (7) Guide till Zotero Med referenshanteringsprogrammet Zotero kan du enkelt samla dina referenser till böcker, artiklar m.m. och infoga källhänvisningar samt skapa litteraturlistor i MS Word, OpenOffice

Läs mer

On-line produktion TDDC61

On-line produktion TDDC61 On-line produktion TDDC61 Sök till Legionen! Förra gången MuddyCards PHP Lab 4. Agenda Webbtermer och annat som är bra att veta Bildoptimering Javascript jquery Portfolio Avstämning kurs. Webbsida Webbsida

Läs mer

Web Client. Produktinformation

Web Client. Produktinformation Web Client Produktinformation Inledning Web Client Industrin ställer allt högre krav på flexibla lösningar. WideQuick Web Client ger operatören möjlighet att styra och övervaka anläggningen oavsett tid

Läs mer

SKOLFS. På Skolverkets vägnar. GENERALDIREKTÖREN Enhetschef

SKOLFS. På Skolverkets vägnar. GENERALDIREKTÖREN Enhetschef Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:248) om ämnesplan för ämnet webbteknik i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj 2015. Med

Läs mer

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum: 2012-10-09

Projektanvisning. Webbsideprojekt. Författare: Johan Leitet Version: 2 Datum: 2012-10-09 Projektanvisning Webbsideprojekt Författare: Johan Leitet Version: 2 Datum: 2012-10-09 Inledning Du har nu under ett antal laborationer i webbteknik fått relativt styrda uppgifter där du ensam fått lösa

Läs mer

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2013.Q2 För att 3L Pro skall fungera krävs att nedanstående hårdvarukrav och mjukvarukrav är uppfyllda. Viktigt är att tänka på att

Läs mer

Mångdubbla din försäljning med målsökande marknadsföring

Mångdubbla din försäljning med målsökande marknadsföring Mångdubbla din försäljning med målsökande marknadsföring Av alla besökare i en webbutik är det statistiskt sett bara en liten andel som handlar något. Tänk om du kunde återengagera den stora andelen potentiella

Läs mer

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare.

Sektionsdata webb är anpassat för att du ska kunna justera, jobba i eller visa dina kalkyler för kollegor, kunder och beställare. sektionsdata webb För dig som har ett aktivt abonnemang i sektionsdata, ingår även sektionsdata webb. Nu kan du ta med dig dina kalkyler vart du än är, på en surfplatta, smartphone eller dator. Sektionsdata

Läs mer

Innehålls förteckning

Innehålls förteckning Programmering Uppsats i skrivteknik Axxell Företagsekonomi i informationsteknik 19.3.2015 Respondent: Tomas Björklöf Opponent: Theo Wahlström Handledare: Katarina Wikström Innehålls förteckning 1. Inledning...3

Läs mer

Sekretesspolicy. för MyLyconet Website

Sekretesspolicy. för MyLyconet Website Sekretesspolicy för MyLyconet Website Lyoness och ägaren ( ägare ) till denna MyLyconet website ( Website ) [namn på ägaren] tror starkt på skyddet av dina personuppgifter. Följande information förklarar

Läs mer

Instruktion för installation av etikettskrivare 2.31

Instruktion för installation av etikettskrivare 2.31 Instruktion för installation av etikettskrivare 2.31 1/20 Dokumenthistorik: Revision Datum Utförd av Kommentar 1.0 2017-10-20 Jonte Rydberg Första utgåva 1.7 2018-11-08 Jonte Rydberg Uppdaterat info för

Läs mer

ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online.

ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online. ico-worker.com Användarvillkor och andra saker som du bör känna till för att kunna vara säker online. Vi har alla ansvar för säkerheten En del av IKEA andan är att Jag gör lite grann, du gör lite grann,

Läs mer

On-line produktion TDDC61

On-line produktion TDDC61 On-line produktion TDDC61 Förra gången MuddyCards Animation Portfolio Lab 3. Muddycards - resultat Positiva kommentarer Tempo föreläsningar Labbhandledning, pedagogik Mer labbhandledning Instruktioner

Läs mer

eklient Objekt 1 Livscykelplaner i Samverkan 2016-02-09 Livscykelplaner eklient 1.5

eklient Objekt 1 Livscykelplaner i Samverkan 2016-02-09 Livscykelplaner eklient 1.5 eklient Objekt 1 Livscykelplaner i Samverkan 2016-02-09 1 eklient Livscykelplan Revisionshistorik Datum Version Förändring 2014-04-25 0.96 Windows 7 SP1 som sekundärt OS från 1 okt 2015 2014-09-27 0.97

Läs mer

Zimplit CMS Manual. Introduktion. Generell Information

Zimplit CMS Manual. Introduktion. Generell Information Zimplit CMS Manual Introduktion Detta dokument ger en överblick av Zimplit CMS (Content Management System) användargränssnitt och dess funktioner. (För mer information och hjälp-forum, se zimplit.org.)

Läs mer

Kakpolicy för paneler och undersökningar

Kakpolicy för paneler och undersökningar Kakpolicy för paneler och undersökningar Senast uppdaterad: 24 maj 2018 Innehållsförteckning 1 Om kakor, liknande tekniker och loggfiler... 2 1.1 Vad är kakor? 2 1.2 Vad är lokal lagring? 2 1.3 Vad är

Läs mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (12) Skolverkets föreskrifter om ämnesplan för ämnet webbutveckling i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning i form av ett fjärde tekniskt år; beslutade

Läs mer

Mobilt Efos och ny metod för stark autentisering

Mobilt Efos och ny metod för stark autentisering Mobilt Efos och ny metod för stark autentisering I och med lanseringen av E-identitet för offentlig sektor, Efos, kommer Inera att leverera komponenter som möjliggör att en användare ska kunna logga in

Läs mer

Arbetssätt i Skola24 Schema

Arbetssätt i Skola24 Schema Arbetssättet i Skola24 Schema liknar till allra största delen arbetssättet i Novaschem 2013, med den skillnaden att flera användare samtidigt kan göra ändringar i samma schema. I det här dokumentet beskrivs

Läs mer

Webbprogrammering TDDD52

Webbprogrammering TDDD52 Webbprogrammering TDDD52 ERD MySQL+PHP. Förra gången Idag Javascript jquery Progressive enhancement XML & AJAX Lab 4 och 5 Sammanfattning av kursen. Om databastabeller varje tabell ska beskriva en typ

Läs mer

E-legitimationsnämndens legitimeringstjänster för test

E-legitimationsnämndens legitimeringstjänster för test E-legitimationsnämndens legitimeringstjänster för test 2015-11-11 Inledning E-legitimationsnämnden) tillhandahåller två legitimeringstjänster för test. Den första legitimeringstjänsten har endast gränssnitt

Läs mer

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Insamlingsverktyg - teknisk beskrivning av metadataformuläret Digitala leveranser Insamlingsverktyg - teknisk beskrivning av metadataformuläret Innehåll: Allmänt Layout och uppbyggnad Hur man använder programmet Starta Fylla i metadata Skapa metadatafiler och leverera

Läs mer