Verfiering och validering av klient genom Proof-of-work och Challenge-response
|
|
- Rolf Fredriksson
- för 6 år sedan
- Visningar:
Transkript
1 Verfiering och validering av klient genom Proof-of-work och Challenge-response SAMUEL WEJÉUS Examensrapport vid NADA Handledare: Mikael Goldmann Examinator: Mads Dam
2 Referat Denna essä kommer att analysera grunderna i två tekniker vid namn Proof-of-work och Challenge-response samt presentera ett förslag till hur dessa kan kombineras till ett protokoll för att säkerställa både identitet och intention för en klient som önskar utnyttja någon serverresurs. Jag kommer visa hur detta nya protokoll kan motverka Brute-force attacker och därtill hur en klient kan identifieras utan att behöva skicka känslig information så som ett lösenord. En grundläggande realisering av protokollet kommer att presenteras, implementerad som en klient/servermodell. Som en konsekvens av arbetet med realiseringen, kommer ett förslag till ett effektivt designmönster för klient/server-protokoll att ges.
3 Abstract Verification and validation of client using Proof-of-work and Challenge-response This essay will analyze the basics of two techniques called Proof-of-work and Challenge-response and present a proposal for how these can be combined into a protocol to ensure both the identity and intention of a client who wishes to use any server resources. I will show how this new protocol can prevent Brute-force attacks and further more, how a client can be identified without having to send sensitive information such as a password. A basic realization of the protocol will be presented, implemented as a client/server model. As a consequence of the process of realization, a proposal for an efficient design pattern for client/serverprotocol to be presented.
4 Innehåll 1 Introduktion Bakgrund Problemformulering Undersökning av använda koncept Proof-of-Work Hashbaserade pussel Challenge-response Resultat Autentisering av klient Exempel på lyckad inloggningsprocedur Möjliga svagheter Shared-command - ett utökat design mönster Slutsats 15 Figurer 17 Tabeller 17 Litteratur 18
5 Kapitel 1 Introduktion Denna kandidatuppsatsen ingår i kursen DD143X - Examensarbete inom datalogi, grundnivå. Syftet med uppsatsen är att undersöka hur challenge-response kan kombineras med proof-of-work och därefter realiseras genom klient/server modellen samt visa på hur en implementation av detta kan se ut. I och med arbetet att implementera klient/server modellen har även ett förslag till reviderat designmönster, benämnt Shared-command, upptäckts och kommer presenteras i kapitel 3. Challenge-response är ett abstrakt protokoll som beskriver hur en klient kan styrka sin identitet genom att besvara en auktoritets utmaning. Denna utmaning kan bestå av en förfrågan efter uppgifter som endast en unik klient har vetskap om med syftet att fastställa dess identitet. Proof-of-work är ett liknande protokoll för verifiering av utmaning med den utmärkande skillnaden att inga antaganden tas huruvida en klient har någon kunskap om lösning för en efterfrågad utmaning i den inledande fasen av protokollet. Istället för att verifiera identitet är avsikten med proof-of-work att validera en klients uppriktighet genom att denne först måste utföra ett beräkningstungt arbete som en auktoritet sedan enkelt kan bekräfta. I resten av denna text kommer challenge-response och proof-of-work även att refereras till som CR respektive PoW. 1.1 Bakgrund Proof-of-work föreslogs redan på -90 talet av Dwork och Naor[6] som en lösning på problemet med oönskad e-post. Detta genom att låta en användare utföra en beräkningsmässigt tung operation för varje meddelande denna önskar sända. Konceptet har utforskat vidare och har fått viss användning för bekämpning av bland annat Denial-of-service attacker[7]. Mark Handley och 1
6 KAPITEL 1. INTRODUKTION Adam Greenhalg[8] har lagt fram förslag om hur en miljö fri från DoS attacker i framtiden kan komma att realiseras, men under tiden finns det fortfarande ett behov av skyddsmekanismer för att förhindra dessa. DoS-attacker har även blivit mer sofistikerade, angripare har nu upptäckt olika sätt att initiera DoS-attacker så högt som i lager 7 i OSI-modellen [9] vilket visar på att ett grundläggande DoS skydd, som från och med upprättandet av länken enbart skyddar sessionen, inte är tillräckligt och ytterligare motåtgärder måste implementeras även på applikationsnivå. PoW konceptet har även utökats till att vara mer än bara ett skydd mot DoS attacker, detta bland annat genom arbetet utfört av Aura et al[1] som visade hur en klient kan visa uppriktigheten i sin vilja att använda någon serverresurs genom PoW. Validering genom PoW kommer förklaras ytterligare i sektion Problemformulering I de situationer där det även är av intresse att säkerställa identiteten hos en klient krävs det ytterligare bevis för att klienten är vem denne utger sig för att vara. Alla former av autentisering kan generaliseras till att tillhöra en av tre följande kategorier[14], nämligen: Något en användare är (röstidentifiering, ögonscanning) Något en användare har (ID kort, smartcards) Något en användare vet (lösenord, PINs) En vanlig lösning som uppfyller punkt tre är att använda sig av challengeresponse. Ett protokoll av denna typ kan implementeras och utökas på flertalet sätt och det är denna kategori av autentisering jag ämnar undersöka. Ett problem med denna typ av autentisering är att en angripare kan ta reda på någon annan klients kunskap, i detta fall ett lösenord, genom att helt enkelt göra en uttömmande sökning, s.k. brute-force [2], av lösenordet dvs testa alla möjliga kombinationer tills den rätta har blivit funnen. En gemensam nämnare mellan tidigare diskuterade DoS och brute-force attacker ligger i hur svagheter kan utnyttjas. I båda fallen kan en angripare initiera en massiv mängd uppkopplingar, för just fallet brute-force attacker, innebär det att varje uppkoppling har som mål att gissa ett lösenord. Utifrån detta resonemang ges en antydan till hur ett skydd mot DoS attacker även kan mildra brute-force attacker. Det är även möjligt att motverka denna typ av attack genom att uppmuntra klienter att använda bättre och säkrare lösenord[3]. I denna rapport kommer ett 2
7 KAPITEL 1. INTRODUKTION antagandet göras nämligen att en klient redan använder ett säkert lösenord och en fråga jag ämnar försöka besvara är hur detta kan skyddas ytterligare. Jag vill här understryka att jag kommer göra skillnad på validering och verifiering. Att validera en klient innebär ett test av dess ändamål och verifiering en bekräftelse av dess identitet. Kopplingen mellan dessa begrepp och Proof-of-work respektive challenge-response är att jag kommer visa hur det första kan användas till att verifera, och det senare kan således användas till att validera en klient. Det huvudsakliga målet med denna uppsats är att kombinera de två koncepten, proof-of-work och challenge-response. Jag kommer även att undersöka hur denna kombination kan användas för att säkra en användares identitet, förhindra DoS attacker samt skydda en användares inloggningsuppgifter genom att motverka brute-force attacker. Nödvändigheten i att kombinera de två nämnda koncepten ligger i det faktum att vid enbart användning av proofof-work är det endast möjligt att styrka en klients intentioner, men omöjligt att fastställa någon form av identitet. Kravet på identitet uppfylls, som senare kommer förklaras, av CR. Dock så lider enbart användning av challengeresponse av risken att utsättas för riktade brute-force attacker. 3
8 Kapitel 2 Undersökning av använda koncept Jag kommer här förtydliga de grundläggande koncept som kommer användas samt undersöka de egenskaper dessa besitter. Avslutningsvis kommer jag undersöka hur CR och PoW kan modifieras för att i slutändan kunna sammanfogas utan att förlora viktiga säkerhetaspekter. För de två begreppen; proof-of-work och challenge-response kommer ursprungs varianten beskrivet i DOS-resistant Authentication with Client Puzzles[1] respektive Challengeresponse authentication[4] att förklaras då detta ger en trivial koppling till tidigare forskning. 2.1 Proof-of-Work Ett proof-of-work är, som tidigare nämnt, en pusselbaserad utmaning mellan server och klient där klienten ombeds bevisa sin uppriktighet. En beräkningstung operation, som först nämnt i introduktionen, kan vara ett anings svagt uttryck, vad som menas med detta är en operation som bör ta en viss tid för en klient att utföra. Ett pussel bör vara helt autonomt och det ska inte vara möjligt att beräkna lösningar i förhand, detta skulle då omintetgöra syftet med pusslet. Svårigheten på ett pussel bör kunna anpassas dynamiskt med intentionen att svårigheten för en klients pussel skall ökas då en attack mot denna klient identifierats. Med dynamisk syftas på tiden det tar att lösa detta pussel och bör kunna varieras från noll till oändlig. Användningen av denna kostnad tvingar klienten att betala för varje försök till anslutning. Ju fler anslutningar klienten försöker göra, desto mer måste denna betala, och som ett resultat minskar risken för att en angripare som försöker utnyttja systemet lyckas fullfölja en attack. Ett bra pussel bör uppfylla följande egenskaper [6]: Att skapa ett pussel och validera dess lösning är billigt för en server. 4
9 KAPITEL 2. UNDERSÖKNING AV ANVÄNDA KONCEPT Kostnaden för att lösa ett pussel ska enkelt, på ett dynamisk sätt, kunna ökas från noll till omöjligt. Det skall inte vara möjligt att förberäkna lösningar till pussel. Ett pussel bör kunna lösas oavsett hårdvara (dock kommer det ta längre tid vid användning av långsammare hårdvara). Det finns många typer av pussel som uppfyller kraven på bra pussel. Som exempel på bra pussel kan nämnas det svåra (men inte omöjliga) problemet att finna rötter till ett tal a modulu något primtal p, finna inverser till hashfunktioner eller ett Fiat-Shamir baserat schema (ett teoretiskt tyngre pussel som har likheter med båda tidigare nämnda pussel)[6]. Ett system där Proofof-work används är Hashcash som är ett e-postsystem för vilket en användare måste köpa frimärken (genom att offra ett antal av sina CPU cykler) för att kunna sända e-post. Hashcash har nått viss framgång och existerar som plugins till diverse e-postklienter och som spamfilter i olika bloggsystem. Då syftet är att kombinera proof-of-work med challenge-response kommer endast ett, det så kallade hash-pusslet, att används i undersökningen på grund av enkelheten i dess implementation Hashbaserade pussel I ett hash-pussel föreslås att en klient löser ett hash-pussel genom att finna en sträng som genererar ett hashvärde vars strängrepresentation inleds med m nollor[1]. Denna sträng erhålls enklast genom brute-force då det än så länge är det mest effektiva tillvägagångssättet att finna inverser till denna typ av funktioner. Valet av att finna ett hash med känt begynnelse värde är godtyckligt och anledningen till valet är att då motsatsen, finna inverser till hash, är i praktiken (dvs. inom rimligt tid) omöjligt för strängar längre än några få tecken. resterande hash {}}{ h(s, X) = } {{} + Y m nollor Här är h en hash funktion, m Z, samt s är en sträng. Utmaningen ligger således i att finna strängen X. En auktoritet kan enkelt validera en lösning genom att enbart beräkna ett hashvärde utifrån en klients påstådda lösning och jämföra denna med den korrekta. Värt att notera, är att implementationen som kommer att presenteras är oberoende av vilket pussel som används så när som på mindre modifikationer. 5
10 KAPITEL 2. UNDERSÖKNING AV ANVÄNDA KONCEPT Nedanstående figur illustrerar tillvägagångssättet för verifikation med proofof-work genom användning av ett hashbaserat pussel. :Klient :Server Efterfrågar tjänst S (m,s) Genererar S Löser pussles genom att finna en sträng X sådan att hash(s,x) är en sträng med m inledande nollor. X S Verifierar lösningen genom att beräkna hash(s,x) Figur 2.1. Proof-of-work protokoll 2.2 Challenge-response Den enklaste formen av challenge-response är ett autenticeringsprotokoll där en klient valideras genom att en auktoritär komponent ställer en fråga ( challenge ) och en tjänande komponent måste ge ett korrekt svar ( response ). Den vanligaste förekomsten av protokollet är lösenordsautentisering, där utmaningen är en förfrågan om lösenord och ett korrekt svar är det rätta lösenordet. CR kan även användas för att säkerställa svar på en utmaning som inte innehåller hemlig information, tex CAPTCHA s, vilket är en variant av Turing testet [12]. Att utföra CR för att validera en klient kan med fördel genomföras genom användning av ett Zero-knowledge password proof [10] genom att en klient inleder en handskaknings procedur där denne utbyter användarnamn och påföljande lösenord i form av en hashsträng. På serversidan lagras samma lösenord, även här i hashad form, och en jämförelse av dessa kan således påvisa om en klient angett korrekt lösenord. En uppenbar svaghet är möjligheten till att 6
11 KAPITEL 2. UNDERSÖKNING AV ANVÄNDA KONCEPT bygga tabeller över vanliga lösenord och dess hashvärde med resultatet att en angripare effektivt kan göra en uppslagning på hashvärden och därmed få ut motsvarande lösenord sk. Dictionary Attacks även känt som Rainbow Tables [11]. Detta har lett till utvecklingen, och användningen, av SALT s som motverkar denna typ av attack genom tillägget av ett slumpgenererat värde till varje lösenordshash[13]. Ett sådant tillägg omintetgör den praktiska nyttan av förberäknade värden på grund av mängden tabeller som måste upprättas och storleken på dessa. Figur 2.2 visar en grafisk representation av CR protokollet. Figur 2.2. Challenge-response protokoll [4] 7
12 Kapitel 3 Resultat 3.1 Autentisering av klient Att verifiera och validera en klient består av två steg som beskrivet tidigare. Först måste en server validera att en klient utfört ett visst arbete för att visa sin uppriktighet, sedan verifiera dennes inloggningsuppgifter för att kunna säkerhetsställa identiteten. Jag kommer nu att ge en beskrivning på hur dessa två steg kan kombineras till ett. Protokollet består av två faser. I initieringsfasen begär en klient att få upprätta en ny uppkoppling. Servern svarar genom att skicka ut ett nytt, individuellt anpassat, pussel. Detta pussel består av två delar: en global tidsbunden del bestående av en sträng som används vid samtliga klienters uppkopplingsförsök, samt en lokal som är unik för varje klient. Genom användning av den globala delen kan en attack riktad mot servern (dvs. inte någon specifik klient) enkelt motverkas genom att höja säkerheten (svårigheten på pusslet) globalt. Den globala delen är även låst till ett visst tidsrum för att motverka att en klient skall kunna förberäkna eller återanvända tidigare pussel. Pusslet har även en del som är direkt knuten till en unik användare. Den användarknutna delen existerar för att ge möjligheten att på användarnivå styra svårighetsgrad och därmed motverka attacker (i form av brute-force) mot enskilda användare utan att påverka övriga klienter. Det pussel som skickas ut skiljer sig från tidigare föreslagna lösningar (2.1) på flertalet sätt. För att enklare förstå de två delarna av pusslet och motivationen bakom, vill jag först beskriva den lösning som servern förväntar sig att se. Klienten löser nu pusslet genom brute-force för att få fram den unika sträng som servern genererat. Vid lösning av pusslet inkluderar klienten även en hashad form av sitt eget lösenord och konstruerar lösningen utifrån dessa värden. Klien- 8
13 KAPITEL 3. RESULTAT tens lösenord används därmed som en del av lösningen till pusslet. Ett nytt uppkopplingsförsök utförs varefter en lösnings proposition sänds till servern. Servern kontrollerar föreslagen lösningen genom att göra en uppslagning och hämta ut användarens lösenord samt unik klientsträng och testar om det är en korrekt lösning i förhållande till tidigare lagrade värden. Om lösningen är korrekt måste det innebära att (1) klienten har utfört ett arbete i och med att korrekt unik sträng har använts, samt (2) korrekt lösenord måste ha blivit angivet. Klienten är därmed validerad samt verifierad och tillåts därefter tillgång till serverns resurser. Fördelar med denna lösning är att det går att motverka brute-force attacker på användarnivå genom att server kan höja säkerheten (svårigheten på individuellt pussel) vid upptäckt av felaktig lösning på pussel. Med andra ord används PoW som en dynamiskt motåtgärd för brute-forcing av lösenord vid inloggningsprocedurer: svårigheten ökar med antal felaktiga inloggningsförsök (baserat på klient id). En grafisk representation av protokollet är beskriven nedan. :Klient :Server Klien skapar h (lösenord,cid,h'(x)), finner X som genererar hash med k inledande nollor genom brute-force Hello : (användarnamn) pussel / utmaning: k, Cid Autentisera : användarnamn, h'(x) Cid = slump genererad sträng bestående av en global+lokal del, k = svårigheten på pusslet S validates C by calculating h'(user_pass, Cid) and compares to h Klient godkänd Vid misslyckad autentisering genereras nytt Cid, svårigheten ökar Figur 3.1. Challenge-response + Proof-of-work protokoll Genom givet protokollförslag sänds aldrig något lösenord över någon osäker kanal, enbart en lösning på ett pussel där en klients lösenord är ett krav för korrekt lösning. Detta ger fördelar såsom att en angripare aldrig kan ta reda på en klients personliga information (här: lösenord). Det är därmed omöjligt att utföra brute-force på känslig information i icke-uppkopplat läge. Ur detta 9
14 KAPITEL 3. RESULTAT perspektiv kan lösenordets betydelse i förslagen lösning ses som ett klientgenererat SALT. Alla test av lösenord en angripare försöker sig på måste gå via en server där angriparen tvingas lösa ett nytt pussel. Användning av pussel på detta sätt uppfyller kraven på bra pussel givet i sektion Att skapa pussel och generera hashvärden kan anses vara billigt för en server. Genom användning av en klientanpassad säkerhetsnivå är det möjligt att dynamiskt variera svårighetsgraden på ett pussel. Med tillägget av den globala och tidbestämda delen motverkas möjligheten att beräkna lösningar i förväg. Sist men inte minst så kan ett hashpussel lösas oberoende av hårdvara då en hashfunktion i grund och botten är en aritmetisk operation. 3.2 Exempel på lyckad inloggningsprocedur För att enklare beskriva arbetsflödet i det exempel som följer inför jag några definitioner av värden som kommer att användas. INITIAL antas server och klient inneha kunskap om definitionerna enligt vad som framkommer i tabell 3.1 och 3.2. Övriga värden som genereras under protokollets livslängd är hypotetiska och specificeras allt eftersom. Klient definitioner Användarnamn Användares lösenord Hashvärde för lösenord john.doe@runlevel5.se supersercret eee17a904efdafc1835dbbc0015b095f Tabell 3.1. Information känd av klient. Server definitioner AnvändarID john.doe@runlevel5.se Hashvärde för lösenord eee17a904efdafc1835dbbc0015b095f Global pusselsträng (slumpgenererad dxj för visst tidskvan- ta) Klient specifik pusselsträng iw3k Aktuell säkerhetsnivå 3 Tabell 3.2. Information känd av server (för användare john.doe@runlevel5.se) Inledningsvis skickar klienten en signal till servern att påbörja inloggningsproceduren genom att skicka sitt eget användarnamn (john.doe@runlevel5.se). 10
15 KAPITEL 3. RESULTAT Servern svarar genom att hämta ut information om pussel för denna klient, dvs unik pusselsträng samt aktuell säkerhetsnivå för denna klient, iw3k resp. 3. Den specifika klient delen av pusslet kombineras med den globala delen, vilket för tillfället är dxj. Jag påminner om att den globala delen är tidsbunden och en ny global del genereras med ett visst tidsintervall. Servern skickar nu ett paket bestående av (3, iw3kdxj ) till klienten och avslutar därefter uppkopplingen. Klienten sammanfogar den mottagna strängdelen av pusslet med den hashade formen av sitt eget lösenord ( supersecret ) och inleder en brute-forcing procedur enligt sektion för att finna ett tal X vars hashrepresentation, h, genererar h(s, h (X)) så att h består av m inledande nollor. I detta exempel är m = 3 (säkerhetsnivån för pusslet) och s består av klientslösenord+pussel. s = eee17a904ef daf c1835dbbc0015b095f iw3kdxj Klienten löser detta pussel med resultatet att h (X) = a94a8fe5ccb19b.., vilket därmed genererar h med 3 inledande nollor. Jag kommer att kalla hashvärdet h (X) för lösningen till ett pussel. En ny uppkoppling initieras av klienten med en signal till servern att den nu skall verifiera en lösning. Den information som klienten skickar tillbaka till servern består av användarnamn samt lösning. Servern konstruerar nu en egen version av lösningen för denna användare genom att generera en hashsträng utifrån bifogad lösningssträng, lösenordshash lagrat på server sidan samt lokalt och globalt pussel. Den server genererade versionen testas ifall den består av lika många inledande nollor som angivet i säkerhetsnivån för klienten. h(94a8f e5ccb19b.., h(supersecret), iw3kdxj) = 3 inledande nollor? Då testet ger ett godkänt utfall, innebär det att klienten har använt samma lösenord som finns lagrat hos servern vid lösning av pusslet och som tidigare påpekat, någon form av arbete har blivit utfört. Anledningen till varför klienten söker efter en hashsträng som generar en lösning är för att påtvinga en större sökrymd. Om istället enbart den numeriska lösningen i exemplet skulle skickas för verifikation skulle det kraftigt begränsa antal möjliga lösningar vilket då skulle förenkla för en angripare som försöker utföra en brute-force attack. 11
16 KAPITEL 3. RESULTAT 3.3 Möjliga svagheter Om en genuin användare försöker upprätta en ny förbindelse kan det hända att denna får ett potentiellt svårt pussel till följd av ett tidigare försökt till attack, men vid korrekt lösning så nollställs svårigheten återigen. Resultatet är att det blir ointressant för en angripare att fortsätta attacken då knäckandet av flertalet pussel tar lång tid (pga svårt pussel) och genuin användare inte påverkas nämnvärt (effekten av en angripares inloggningsförsök) då denne enbart behöver lösa ett svårt pussel en enda gång. En ständigt överhängande risk vid nätverkskommunikation över icke säkra kanaler är man-in-the-middle attacker. Det existerar en svaghet i föreslaget protokoll där en angripare eventuellt kan snappa upp användarnamn och lösning till ett pussel och använda detta för att auktorisera sig för en server. Detta kräver att angriparen både stjäl informationen och hindrar klientens förfrågan att nå server, alternativt, i sin tur skickar vidare informationen så den når servern innan den ursprungliga klientens information når fram. Servern kan då inte veta vem som skickade vad och tillåter därmed tillgång till den vars information når fram först. Ytterligare ett krav för genomförbarhet är att en angripare inte enbart stjäl en klients information, utan hela sessionen, vilket ställer andra krav på säkerhet som är utanför ramen för denna text men som exempel kan nämnas att en angripare då behöver genomföra en lyckad spoofing attack. Genom de ytterligare externa krav som ställs för denna typ av attack dras slutsatsen att genom användning av Proof-of-work så minskar sannolikheten för lyckad attack genom att ställa ytterligare krav för genomförbarhet. I fallet att återanvända en korrekt lösning av pussel (inom tidsramen för pusslet) kan det omintetgöras genom att markera lösning som icke längre giltig. Detta bör ske på specifik användare och inte på pussel då flera användare kan, med stor sannolikhet, ha samma lösenord. 3.4 Shared-command - ett utökat design mönster Istället för att skriva ett protokoll som hanterar vissa förutbestämda kommandon har jag velat ha ett sätt att enkelt kunna utöka med fler kommandon utan att behöva förändra underliggande arkitektur av systemet. En populär lösning på detta problem är designmönstret Command [5], vilket är ett designmönster som möjliggör för en klient att utföra godtyckligt kommando utan att ha någon tidigare kunskap om tillvägagångssätt. Fördelar med en sådan ansats är att det underlättar vid skapandet av generiska komponenter som kan utföra eller delegera funktioner, oberoende av varand- 12
17 KAPITEL 3. RESULTAT ra. Kommandon kan även utföras utan att en kallande klass behöver känna till ägaren, funktionalitet eller nödvändiga parametrar. Genom användning av Command mönster går det att säkerhetsställa att enbart godkända kommandon utförs hos varje part för sig. Problem uppstår när målet var att generalisera konceptet för Command att gälla för kommunikation mellan klient och server, då Command enbart bryr sig om att lösa problemet med hur kommandon utförs, men inte i vilken ordning. Speciellt ordningen på kommandon är viktig vid nätverkskommunikation då det är en förutsättning att kunna förutse vilket tillstånd som är aktuellt för inblandande parter. Önskan var att kompilatorn skulle hjälpa till genom att förbjuda två olika typer av kommandon att utföras vid kommunikation mellan klient och server. En proposition till ett nytt, eller rättare sagt utökat, designmönster som kan användas för implementation av klient/server-system kommer nu presenteras. Föreslaget designmönster har stora likheter med Command designmönstret, men skiljer sig på det sättet att det använder sig av en delad vy för kommandon, därav det logiska namnet: Shared-command. Designmål har varit att den som implementerar ett nytt kommando som ska utföras över nätverket ska tvingas att implementera både server och klient sidan av protokollet, samt att en klientklass som vill använda detta nya kommando inte ska behöva göra några grundläggande strukturella förändringar av underliggande arkitektur. Övriga designmål är vetskapen att ett protokollkommando även måste kunna hantera alla möjliga framtida önskemål, dvs vi kan inte bestämma på förhand vilka, och hur många, tillstånd varje kommando kan ha. Detta är upp till kommandot själv. En översikt beskrivet i UML av Shared-command kan ses i figure 3.2. Styrkan och anledningen till utvecklandet av Shared-command är att det drastiskt underlättar för en programmerare vid utveckling av protokoll speciellt förenklas hanteringen av tillstånd. En förenkling av tillstånd kan inses genom följande exempel: vid utveckling av ett nytt kommando tvingas utvecklaren att utöka det så kallade Protocol interfacet för att applikationen ska kunna utföra kommandot. Att använda sig av Protocol innebär att utvecklaren måste implementera både klientens och serverns funktionalitet genom de två abstrakta metoderna: executeclientsid(), executeserver Den fördel en programmerare får vid avlusning av applikationen är att om ett fel uppstår i ett visst tillstånd för något kommando så garanterar designmönstret att inget annat kommando kan ha påverkat resultatet. Med andra ord möjliggör Shared-command atomisering av kommandon. 13
18 KAPITEL 3. RESULTAT Creates a command instance Client Invoker Asks to execute some command << transmit >> << instantiate >> Network ConcreteCommand - header + getheader() : header + executeserverside() + executeclientside() Creates a command instance << transmit >> << instantiate >> Server <<interface>> Protocol + getheader() <<interface>> ServerProtocol + executeserverside() <<interface>> ClientProtocol + executeclientside() Figur 3.2. Shared-command designmönster Fördelar: Ger bättre översikt då varje kommando enbart behöver hålla reda på och instansiera de delar som det kommer att behöva. Kommandon kan med fördel kombineras rekursivt med varandra (sk: chaining). Design filosofie: små delar som gör sin sak bra kombineras ihop till något större. Både server och klientdel av protokoll skapas samtidigt, ger bättre intryck av att vara en enda entitet, samt tvingar utvecklare att hela tiden tänka på både server och klientsidans del i konversationen. Nackdelar: Då både server och klientdel av kommandon utvecklas tillsammans som en entitet, innebär det även att båda delarna kommer att distribueras till både server och klientinstans av ett program. Att låta en klient ha tillgång till server kod kan utgöra en potentiell säkerhetsrisk ifall en utvecklare inte vill tillåta tredje part att ha vetskap om servertillstånd för kommandon. Att sätta sig in i hur servernkommandon fungerar internt är då möjligt genom användning av reverse engineering. 14
19 Kapitel 4 Slutsats Genom stora likheter är det enkelt att kombinera Proof-of-work med Challengeresponse. Den utmaning som en server ställer i Challenge-responseprotokollet kan ses som en specialanpassning av Proof-of-work. I fallet med att implementera denna lösning som en klient/server-applikation ligger svårigheten istället i att skapa ett stabilt ramverk för kommunikation mellan klient och server vid realisering i godtyckligt objekt orienterat språk. Ett förslag för att underlätta vid implementationen av klient/server protokollet är givet i sektion 3.4. Designidéen är att en server inte ska utföra något arbete, eller rättare sagt så lite som möjligt, innan en klient är validerad. Det leder till att en server bör stänga en uppkoppling så fort arbete blivit utfört och ej vänta på bekräftelse om ej nödvändigt, detta för att minska de tillfällen en server kan fastna i ett väntande stadium då ett sådant tillstånd potentiellt kan utnyttjas vid överbelastningsattacker. När servern svarar på en förfrågan kan det ske på två legitima sätt. Antingen är det en ny klient som vill skapa en ny anslutning eller så är det en klient som har utfört ett arbete och vill få bekräftelse på detta och sedemera få tillgång till serverns resurser. Servern kan anta att detta är de enda former av uppkoppling som kommer att ske, då det är de enda vi är intresserade av, - och därmed kan övriga typer (potentiella attacker) ignoreras. Tilläggas kan att en server inte behöver hålla reda tillstånd för klienter mellan uppkopplingar, det vill säga, mellan det att ett pussel lämnas ut till dess att en lösning mottas. Den information som används för att auktorisera en klient, nämligen lokal och global pusselsträng, är oberoende av vilket tillstånd en klient förtillfället befinner sig i. Exempelvis kan det ske att en klient som inte orsakar en förändring av sin egen säkerhetsnivå, genom att möjligtvis ange fel lösenord, kan mottaga ett pussel där lokaldelen är samma som vid ett tidigare tillfälle. Dock så påverkas inte pusslet av denna upprepning på grund av av utökningen med en global del. 15
20 KAPITEL 4. SLUTSATS I mitt förslag till autenticeringsprotokoll görs antagandet att säkerhetsnivån ska ökas för varje misslyckat inloggningsförsök. Anledningen till denna ökning är att jag såg ett behov av att på ett enkelt sätt kunna avgöra om ett användarkonto potentiellt var under attack. Det mest troliga beteendet för en användare som glömt bort sitt lösenord är att göra ett par inloggningsförsök, om dessa inte lyckas, gå vidare och försöka använda någon form av återställningsmekanism. En slutsats som då kan dras är att om säkerhetsnivån för ett konto har ökat till en relativt hög nivå har kontot troligtvis varit utsatt för en attack. Funktionalitet för att upptäcka attacker kunde även ha skapats genom användning av en simple räknare som inkrementeras. Men genom att istället använda en dynamiskt ökande säkerhetsnivå innebär det att ju fler attacker en angripare försöker utföra desto svårare blir de att slutföra. 16
21 Figurer 2.1 Proof-of-work protokoll Challenge-response protokoll [4] Challenge-response + Proof-of-work protokoll Shared-command designmönster Tabeller 3.1 Information känd av klient Information känd av server (för användare john.doe@runlevel5.se) 10 17
22 Litteratur [1] Tuomas Aura, Pekka Nikander och Jussipekka Leiwo. DOS-resistant Authentication with Client Puzzles. [2] Brute force attacks. Jan url: http : / / www. owasp. org / index. php / Blocking _ Brute _ Force _ Attacks # Finding _ Other _ Countermeasures. [3] Microsoft Safety & Security Center. Online Privacy & Safety. Mars url: passwords-create.aspx. [4] Challenge-response Authentication. Mars url: http : / / en. wikipedia.org/wiki/challenge-response_authentication. [5] Command pattern. Jan url: Command_pattern. [6] Cynthia Dwork och Moni Naour. Pricing via Processing or Combatting Junk Mail. I: Crypto 92 (1992). [7] Virgil D. Gligor. Guaranteeing Access in Spite of Distributed Service- Flooding Attacks. [8] Mark Handley och Adam Greenhalg. Steps Towards a DoS-resistant Internet Architecture. [9] Sean Michael Kerner. Denial of Service Attacks Get more Sophisticated. Jan url: article.php/ /denial- of- Service- Attacks- Get- more- Sophisticated.htm. [10] Steven M.Ballvin och Michael Merritt. Augmented Encrypted Key Exchange: a Password-Based Protocol Secure Against Dictionary Attacks and Password File Compromise. [11] Rainbow table. Mars url: Rainbow_table. 18
23 LITTERATUR [12] Carnegie Mellon University. CAPTCHA: Telling Humans and Computers Apart Automatically. Mars url: [13] Christoph Wille. Storing Passwords - done right! Juni url: http: // [14] Thomas Wu. The Secure Remote Password Protocol*. I: Internet Society Symposium on Network and Distributed System Security (1998). 19
Instruktion för integration mot CAS
IT-enheten Instruktion för integration mot CAS Per Hörnblad Instruktion 2010-10-29 Sid 1 (7) Instruktion för integration mot CAS Projektnamn Instruktioner för Integration mot CAS Fastställt av Per Hörnblad
EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011
EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................
Datasäkerhet. Petter Ericson pettter@cs.umu.se
Datasäkerhet Petter Ericson pettter@cs.umu.se Vad vet jag? Doktorand i datavetenskap (naturliga och formella språk) Ordförande Umeå Hackerspace Sysadmin CS 07-09 (typ) Aktiv från och till i ACC m.fl. andra
Lösenord och ditt Axxell IT-konto
Lösenord och ditt Axxell IT-konto Ditt Axxell IT-konto ger dig tillgång till olika IT tjänster på Axxell, däribland möjlighet att logga in på en Axxell dator, Wilma, Office 365, It slearning, och andra
Säkerhet. Säker kommunikation - Nivå. Secure e-mail. Alice wants to send secret e-mail message, m, to Bob.
Säkerhet Förra gången Introduktion till säkerhet och nätverkssäkerhet Kryptografi Grunder Kryptografiska verktygslådan Symmetriska algoritmer Envägs hashfunktioner Asymmetriska algoritmer Digitala signaturer
Proof of Work. En studie av proof-of-work som skydd mot överbelastningsattacker. FREDRIK HENRIQUES och NIKLAS NORDMARK
Proof of Work En studie av proof-of-work som skydd mot överbelastningsattacker FREDRIK HENRIQUES och NIKLAS NORDMARK Examensarbete Stockholm, Sverige 2011 Proof of Work En studie av proof-of-work som skydd
Designmönster, introduktion. Vad är det? Varför skall man använda mönster?
Designmönster, introduktion. Vad är det? Varför skall man använda mönster? Kent Petersson EMW, Mölndal Datavetenskap, Chalmers epost1: kentp@cs.chalmers.se epost2: kent.petersson@emw.ericsson.se URL: http://www.cs.chalmers.se/~kentp
Säkra Designmönster (Secure Design Patterns)
Säkra Designmönster (Secure Design Patterns) Marcus Bendtsen Institutionen för Datavetenskap (IDA) Avdelningen för Databas- och Informationsteknik (ADIT) Säkra designmönster Beskrivningar eller mallar
Ekonomiportalen Sa kommer du iga ng
Ekonomiportalen Sa kommer du iga ng Innehållsförteckning Inloggningssidan... 2 Så här loggar du in... 3 Glömt ditt lösenord? Så här återställer du ditt lösenord... 4 Glömt lösenord till kundgemensamt rapportkonto?...
Lösenordsregelverk för Karolinska Institutet
Lösenordsregelverk för Karolinska Institutet Dnr 1-213/2015 Version 2.0 Gäller från och med 2015-05-18 Sida 2 av 7 Lösenordsregelverk för Karolinska Institutet - Sammanfattning Syfte Det övergripande syftet
EIT060 Datasäkerhet - Projekt 2. Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011
EIT060 Datasäkerhet - Projekt 2 Jacob Ferm, dt08jf0 Johan Paulsson, dt08jp8 Erik Söderqvist, dt08es8 Magnus Johansson, dt08mj9 26 februari 2011 Innehåll 1 Introduktion 1 2 SSL 1 2.1 Anslutningsprocessen.........................
Säkerhet. Säkerhet. Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449
Säkerhet Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering
Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document
Programutvecklingsprojekt 2003-04-24 Projektgrupp Elvin Detailed Design Document Björn Engdahl Fredrik Dahlström Mats Eriksson Staffan Friberg Thomas Glod Tom Eriksson engdahl@kth.se fd@kth.se d94-mae@nada.kth.se
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.
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
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
Distribuerade affärssystem
Distribuerade affärssystem Kursens mål Bygga upp, strukturera och programmera distribuerade system med en flerskiktsarkitektur Beskriva och förklara teorier och uttryck som används inom affärskritiska
Installationsguide Junos Pulse för iphone/ipad
1 (11) Installationsguide Junos Pulse för iphone/ipad 1 Inledning Denna guide beskriver hur du installerar klienten Junos Pulse i iphone/ipad. Junos Pulse är en VPN-klient som används i tjänsten Telia
SSL/TLS-protokollet och
Tekn.dr. Göran Pulkkis Överlärare i Datateknik SSL/TLS-protokollet och SSL-baserade applikationer Innehåll Secure Socket Layer (SSL) / Transport Layer Security (TLS) protokollet SSL-baserade applikationer
TDDI16: Datastrukturer och algoritmer
. TDDI16: Datastrukturer och algoritmer Lab 2: Knäcka lösenord Höstterminen 2018 2018-06-27 1 Upplägg Första delen av instruktionen, avsnitt 2 till 7, innehåller en fullständig beskrivning av problemet
Telia Centrex IP Administratörswebb. Handbok
Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com
Towards Blocking---resistant Communication on the Internet
Towards Blocking---resistant Communication on the Internet SLUTRAPPORT Stefan Lindskog Karlstads universitet SE---651 88 Karlstad stefan.lindskog@kau.se 2 Innehållsförteckning Innehållsförteckning... 3
Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier
Arv Fundamental objekt-orienterad teknik arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier Programmeringsmetodik -Java 165 Grafisk respresentation: Arv
Startanvisning för Bornets Internet
Startanvisning för Bornets Internet Denna guide kommer att hjälpa dig igång med Bornets Internet. Sidan 1 av 41 Innehållsförteckning Titel Sidan Kapitel 1. Introduktion... 3 Kapitel 2. TCP/IP-inställningar
Webbtjänster med API er
Webbtjänster med API er Mål med lektionen! Veta kursmålen. Lite grunder om WCF Vem är jag? Mitt namn är Björn Jönsson och jobbar på Tahoe Solutions, ni når mig via mail: bjorn.jonsson@tahoesolutions.se
Introduktion till protokoll för nätverkssäkerhet
Tekn.dr. Göran Pulkkis Överlärare i Datateknik Introduktion till protokoll för nätverkssäkerhet Innehåll Varför behövs och hur realiseras datasäkerhet? Datasäkerhetshot Datasäkerhetsteknik Datasäkerhetsprogramvara
Installera SoS2000. Kapitel 2 Installation Innehåll
Kapitel 2 Installation Innehåll INSTALLATION MDAC och ODBC...2 Installera SoS2000 i arbetsplatsen...2 SoS2000 serverprogramvara...2 SoS2000 och övriga Office program...3 Avinstallera SoS2000...3 Brandväggar...3
Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document
Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document Användarhandledning inloggning Logga in Gå till denna webbsida för att logga in: http://csportal.u4a.se/
Granskning av intern IT - säkerhet. Juni 2017
Landskrona stad Granskning av intern IT - säkerhet Juni 2017 Bakgrund och syfte 2 Bakgrund och syfte Av kommunallagen och god revisionssed följer att revisorerna årligen ska granska styrelser, nämnder
WWW. Exempel på klientsidan. Överföring av en html-fil. Snyggare variant. Verkligt format. Meddelandeformat för begäran HTTP
Exempel på klientsidan WWW Javascript-interpretator XML-interpretator HTML-interpretator Java-interpretator CSS-interpretator Använder TCP Kan återanvända uppkoppling Inga tillstånd hos servern OS API
Filleveranser till VINN och KRITA
Datum Sida 2017-04-25 1 (10) Mottagare: Uppgiftslämnare till VINN och KRITA Filleveranser till VINN och KRITA Sammanfattning I detta dokument beskrivs översiktligt Vinn/Kritas lösning för filleveranser
Decentraliserad administration av gästkonton vid Karlstads universitet
Datavetenskap Opponent(er): Markus Fors Christian Grahn Respondent(er): Christian Ekström Per Rydberg Decentraliserad administration av gästkonton vid Karlstads universitet Oppositionsrapport, C/D-nivå
Instruktioner för Axxell's Trådlösa Nät
Tobias Ahlfors Revisionshistorik Revision 1.1 2 Dec 2014 Innehållsförteckning Snabbguide... 1 Instruktioner... 1 Steg 1 - Network and Sharing Center... 1 Steg 2 - Skapa en ny nätverksprofil...
Nätverksprogrammering, EDA095
Nätverksprogrammering, EDA095 Projekt: Chess game, 2013-05-21 Handledare: Roger Henriksson Axel Hildingsson, a.hildingson@gmail.com Hoang Huyuh Truong, artiq90@yahoo.se Lisa Lindberg, rys07lli@student.lu.se
Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449
Säkerhet Föreläsning 6 Säkerhet Webbteknik II, 1DV449 Johan Leitet johan.leitet@lnu.se twitter.com/leitet facebook.com/leitet F06 Säkerhet Dagens agenda HTTPS Autentisiering - Egen autentisiering - Lösenordshantering
Att använda ELSA. Vad behövs för att använda ELSA?. Felrapportering och support
KI Biobank Instruktion Användarmanual för ELSA Innehållsförteckning Allmänt... 1 Vad är ELSA?... 1 Vad behövs för att använda ELSA?... 2 Felrapportering och support... 2 Att använda ELSA... 2 Viktig information...
Handledning hantera förfrågan och lämna offert i IBX Quote
Handledning hantera förfrågan och lämna offert i IBX Quote Vid frågor kring IBX Quote kontakta IBX Support. Email: support@ibxgroup.com Telefon: +46 8 5534 6000 Innehåll Handledning hantera förfrågan och
Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.
Schenker har interna system som handhar information som är av intresse för våra kunder/partners. Idag finns ett flertal av dem tillgängliga via Internet, sk Online-tjänster. Dessa erbjuder inte bara hämtning
TELIA CENTREX IP ADMINISTRATÖRSWEBB HANDBOK
TELIA CENTREX IP ADMINISTRATÖRSWEBB HANDBOK Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com
INNEHÅLL. Konfigurering av SQL Server. Egenskaper Kommunikationsprotokoll
INNEHÅLL Konfigurering av SQL Server Egenskaper Kommunikationsprotokoll 1 KONFIGURERING AV SQL SERVER SQL Server är nästan självkonfigurerande. Minne, anslutningar och buffrar hanteras dynamiskt. Man kan
Autentisering av klient genom Proof-of-work och Challenge-response SAMUEL WEJÉUS
Autentisering av klient genom Proof-of-work och Challenge-response SAMUEL WEJÉUS Examensarbete Stockholm, Sverige 2011 Autentisering av klient genom Proof-of-work och Challenge-response SAMUEL WEJÉUS Examensarbete
Försättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2010-10-08 Sal Tid 8-12 Kurskod Provkod Kursnamn/benämning TDDD36 TEN2 Projekttermin: Säkra Mobila System Institution
3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.
Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så
EAs krav vid ackreditering av flexibel omfattning
SWEDAC DOC 12:1 2012-05-10 Utgåva 1 Inofficiell översättning av EA 2/15 M:2008 EAs krav vid ackreditering av flexibel omfattning Swedac, Styrelsen för ackreditering och teknisk kontroll, Box 878, 501 15
Autentisering och Code-Based Access Control
2D1395, Datasäkerhet Autentisering och Code-Based Access Control Datum: 2006-09-12 Skribent: Carl Lundin Föreläsare: Gunnar Kreitz Den här föreläsningen behandlade autentisering och Code-Based Access Control.
Logging Module into the PRIME Core
Datavetenskap Opponent: Andreas Lavén Respondenter: Anders Ellvin, Tobias Pulls Implementing a Privacy-Friendly Secure Logging Module into the PRIME Core Oppositionsrapport, E-nivå 2005:xx 1 Sammanfattat
Logisk Access I MicroWeb
Logisk access 1.0 Sidan 1 av 5 Logisk Access I MicroWeb 1(6) Logisk access 1.0 Sidan 2 av 5 Inloggning till MicroWeb sker via SSO (Single sign-on). Länken säkerställer att rätt person får access till systemet
Telia Centrex IP Administratörswebb Handbok
Telia Centrex IP Administratörswebb Handbok Telia Centrex IP Administratörswebb Handbok 2 Handbok Telia Centrex IP Administratörswebb Du hittar alltid senaste versionen av denna handbok på https://ipac.telia.com
Avancerade Webbteknologier 2. AD11g Göteborg 2012 Säkerhet
Avancerade Webbteknologier 2 AD11g Göteborg 2012 Säkerhet Korta punkter Projekt: Något som behöver redas ut? Product: Public Guid CategoryID {g; s;} Public virtual Category Category {g; s;} Category: Public
Grundläggande datavetenskap, 4p
Grundläggande datavetenskap, 4p Kapitel 4 Nätverk och Internet Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-23 IT och medier 1 Innehåll Nätverk Benämningar Topologier Sammankoppling
Kryptering. Krypteringsmetoder
Kryptering Kryptering är att göra information svårläslig för alla som inte ska kunna läsa den. För att göra informationen läslig igen krävs dekryptering. Kryptering består av två delar, en algoritm och
Installationsguide fo r CRM-certifikat
Installationsguide fo r CRM-certifikat För att säkerställa en säker inloggning till CRM Finance webb så behöver alla kunder installera ett kund-unikt klientcertifikat innan man kan försöka logga in i systemet.
Datum 2012-12-28. Den första bilden i installationsprogrammet visar vilken version det är. Klicka på Nästa eller tryck Enter för att fortsätta.
Installation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Installationen består av tre steg som automatiskt körs efter varandra. Steg 1: Programmet installeras och man
Extern åtkomst Manual för leverantör
Extern åtkomst Manual för leverantör 1. Webbresurserna i portalen körs i klientlöst läge och kräver ingen klient för att starta. Däremot krävs det att Citrix Receiver finns installerat om man ska köra
DIG IN TO Nätverkssäkerhet
DIG IN TO Nätverkssäkerhet CCNA 1 1.- Inledning 1a.- Risker på Internet 1b.- Säkerhetsområde 1c.- Attack och försvasmetoder 2.- Nätverksinfrastruktur 2a.- Säkerhetskonfigurationer 2b.- SSH konfiguration
Kontorsinstallation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare
Kontorsinstallation av SDCs insändningsprogram Sender för filer från skördare, skotare eller drivare Vid installation kommer programmet att automatiskt att sparas på datorns C-enhet. Det går inte att ändra
Wilhelm Käll. Rapport Trådlösa nätverk 2014-05-21
Rapport Trådlösa nätverk Wilhelm Käll 2014-05-21 Innehåll Introduktion... 1 Site survey... 2 Kabelhantering... 8 Säkerhet och felsökning... 9 Reflektioner... 10 Appendix... 18 Appendix A D204... Appendix
Kihl & Andersson: , 4.5 Stallings: , , (7.3)
Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) (eller digital signal) Om en sändare bara skickar en bitström över länken skulle mottagaren ha väldigt svårt för att tolka datan. Det krävs
OWASP Topp 10 2013. De 10 allvarligaste riskerna i webbapplikationer. 2013-10-03 OWASP East Sweden: Uppstartsmöte
OWASP Topp 10 2013 De 10 allvarligaste riskerna i webbapplikationer 2013-10-03 OWASP East Sweden: Uppstartsmöte Vad är OWASP Topp 10? Är ett av OWASP mest populära projekt Är inte en standard Fokuserad
Krypteringteknologier. Sidorna 580-582 (647-668) i boken
Krypteringteknologier Sidorna 580-582 (647-668) i boken Introduktion Kryptering har traditionellt handlat om skydda konfidentialiteten genom att koda meddelandet så att endast mottagaren kan öppna det
TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,
Java Secure Sockets Extension JSSE. F5 Secure Sockets EDA095 Nätverksprogrammering! Roger Henriksson Datavetenskap Lunds universitet
Java Secure Sockets Extension JSSE F5 Secure Sockets EDA095 Roger Henriksson Datavetenskap Lunds universitet Secure Sockets Layer SSL Transport Layer Security - TLS Protokoll och algoritmer för säker kommunikation
Att använda kryptering. Nyckelhantering och protokoll som bygger på kryptering
Att använda kryptering Nyckelhantering och protokoll som bygger på kryptering 1 Nyckelhantering Nycklar måste genereras på säkert sätt Nycklar måste distribueras på säkert sätt Ägaren av en nyckel måste
Användarhandbok. Trio Visit Web. Trio Enterprise 4.1
Användarhandbok Trio Visit Web Trio Enterprise 4.1 COPYRIGHT NOTICE: No part of this document may be reproduced, distributed, stored in a retrieval system or translated into any language, including but
Gränssnitt och identiteter. - strategiska frågor inom Ladok3
- strategiska frågor inom Ladok3 Sida 2 av 9 er Revision Datum Av Kommentar Granskare Godkännare 0.1 2011-05-26 Daniel Lind Utkast 0.2 2011-05-30 Daniel Lind Synpunkter från Catherine 0.3 2011-06-16 Daniel
Programmering B med Visual C++ 2008
Programmering B med Visual C++ 2008 Innehållsförteckning 1 Repetition och lite nytt...5 I detta kapitel... 5 Programexekvering... 5 Loop... 5 Källkod... 6 Verktyg... 6 Säkerhetskopiera... 6 Öppna, kompilera,
Datasäkerhet. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 10. Hot mot datorsystem. Datorsäkerhet viktigare och viktigare.
Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Datasäkerhet Slideset 10 Agenda Hot mot
Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.
Informationsinfrastruktur 7.5 hp Mattias Nordlindh Inledning Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer. Dokumentet består av
Blockkedjor. en introduktion för datavetare. Rikard Hjort, 24 maj 2019
Blockkedjor en introduktion för datavetare Vem är jag? Varför ska ni lära er om blockkedjor? Alla ska gå härifrån och kunna... förklara Bitcoin är uppbyggt bygga en egen blockkedja läsa på själva om blockkedjeprojekt
Modul 8 Hantering av indata
Modul 8 Hantering av indata Indata De flesta webbplatser idag tillåter användare att mata in data Utan denna möjlighet hade inte webben varit vad den är idag Tyvärr innebär detta stora säkerhetsrisker
Konfigurera Microsoft Outlook 2007-klient.
Konfigurera Microsoft Outlook 2007-klient. I det fulla Microsoft Office paketet ingår Microsoft Outlook vilket har blivit en mycket väl använd e-postklient runt om i världen. Microsoft Outlook förutsätter
Installationsguide Junos Pulse för MAC OS X
1 (14) Installationsguide Junos Pulse för MAC OS X 1 Inledning Denna guide beskriver hur du installerar programmet Junos Pulse på MAC OS X Junos Pulse är en klientprogramvara som används i tjänsten Telia
Installationsanvisning Boss delad databas
Installationsanvisning Boss delad databas sid 2 (25) Innehåll 1 Inledning 3 2 Systemkrav klient 3 3 Serverinstallation 3 3.1 Systemkrav 3 3.2 SQL Server 3 3.3 Behörighet vid installation 4 3.4 Behörighetskontroll
Services + REST och OAuth
Services + REST och OAuth Syftet med Services Skapa ett Drupal API för att exponera webb- API:er. Officiella versionen - Create a unified Drupal API for web services to be exposed in a variety of different
Karlstads universitet Institutionen för Informationsteknologi Datavetenskap
Karlstads universitet Institutionen för Informationsteknologi Datavetenskap OMTENTAMEN I DATAKOMMUNIKATION, VT2008 Tisdag 08-06-10 kl. 08.15 13.15 Ansvarig lärare: Katarina Asplund Hjälpmedel: Miniräknare
Säkra trådlösa nät - praktiska råd och erfarenheter
Säkra trådlösa nät - praktiska råd och erfarenheter Emilie Lundin Barse Informationssäkerhetsdagen 2007, Karlstad 1 Om mig och Combitech Informationssäkerhetskonsult på Combitech Stationerad på Karlstadskontoret
Vitec Connect. Teknisk beskrivning REVIDERAT SENAST: VITEC. VITEC Affärsområde Mäklare
VITEC Vitec Connect Teknisk beskrivning REVIDERAT SENAST: 2016-02-10 VITEC Affärsområde Mäklare www.vitec.se/maklare info.maklare@vitec.se GÖTEBORG: REDEGATAN 1 B, 426 77 V. FRÖLUNDA VÄXEL: 031-360 61
PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI
PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg
Proof-of-Work. En modern betraktelse. Namn: Aron Sharma & Damon Shahrivar. Examenrapport vid NADA Handledare: Mikael Goldmann Examinator: Mads Dam
Proof-of-Work En modern betraktelse Namn: Aron Sharma & Damon Shahrivar Examenrapport vid NADA Handledare: Mikael Goldmann Examinator: Mads Dam Referat Proof-Of-Work protokollet är en konceptuell idé,
Telia Connect för Windows
Telia Connect för Windows Version 3.0 Användarguide Updaterad: 3 juli 2007 Innehåll Ansluta till Internet...3 Information som presenteras av Telia Connect...4 Konfiguration av Telia Connect...7 Fliken
Övningen vill visa på vikten av valet av datastruktur, trots att de ofta erbjuder samma funktionalitet genom sina gränssnitt.
1 Samlingar 1.1 Frekvenstabell En Integer är icke-muterbar (precis som String, Float, Boolean et.c.). Ickemuterbarhet har många fördelar, men en nackdel är att ett helt nytt objekt måste skapas när ett
Konsten att få eduroam säkert. Anders Nilsson Hans Berggren
Konsten att få eduroam säkert Anders Nilsson Hans Berggren The story so far.. Alla vill köra eduroam och trycket från användarna att få access är hård på alla IT avdelningar Brist på instruktioner leder
Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad:
I N T E R N T Säkerhetskrav på extern part För enskild individs direktåtkomst till Datum: 2011-02-10 Version: Författare: Christina Danielsson Senast ändrad: Dokumentnamn: Säkerhetskrav på extern part
Översikt av kapitlet. Ge databasen ett lösenord. Förhindra ändringar av koden i databasen
Översikt av kapitlet Ge databasen ett lösenord Förhindra ändringar av koden i databasen 10 Säkraochdelaut information I detta kapitel kommer du att få lära dig att: Tilldela ett lösenord till en databas.
God nätverksdesign och distribuerade brandväggar. Patrik Fältström <paf@cisco.com>
God nätverksdesign och distribuerade brandväggar Patrik Fältström Brandväggar? Brandvägg är en funktion En bra brandvägg får man enbart genom att kombinera olika skyddsmekanismer Färist
Användarguide: Pagero Web Portal Skapa och skicka fakturor
Användarguide: Pagero Web Portal Skapa och skicka fakturor Aktivera ditt Pagero Online-konto 1. När ditt företag har blivit registrerat skickas ett mail till din e-postadress. I mailet hittar du en länk
Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg
Datavetenskap Opponenter: Erik Hansen Mats Almgren Respondent: Martin Landälv ioftpd-verktyg Oppositionsrapport, C-nivå 2006:12 1 Sammanfattat omdöme av examensarbetet Examensarbetet är intressant eftersom
Objektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
BRUKSANVISNING FÖR NÄTVERKSANVÄNDARE
BRUKSANVISNING FÖR NÄTVERKSANVÄNDARE Lagra utskriftsloggen i nätverket Version 0 SWE Beskrivning av anmärkningar Följande symboler används i den här bruksanvisningen: I anmärkningar med rubriken Obs får
Garantianspråk. Manual
2014 Garantianspråk Manual Innehåll Åtkomst till systemet... 2 Inloggning... 2 Glömt lösenordet... 3 Registrering... 4 Garantianspråk... 6 Startsida... 6 Navigering... 6 Garantianspråk konsument... 7 Mina
Ladda upp filer fra n PLC till PC
Supportdokument Ladda upp filer fra n PLC till PC Synpunkter, felaktigheter, önskemål etc. för dokumentet meddelas Fil: Malthe_Suppo_Ladda upp filer från.docx Innehållsförteckning 1. Allmänt... 2 2. Installation
2014-2015 Alla rättigheter till materialet reserverade Easec
1 2 Innehåll Introduktion... 3 Azure Client SDK Libraries... 4 Översikt: Azure Client Libraries... 5 Azure SDK... 6 Azure SDK (forts.)... 7 Azure SDK (forts.)... 8 Cloud Services... 10 Cloud Services...
Teoretisk och praktisk genomgång av IPv6 och dess säkerhetsaspekter
Datavetenskap Opponenter: William Hemmingsson, Emil Vieweg Respondent: David Andersson Teoretisk och praktisk genomgång av IPv6 och dess säkerhetsaspekter Oppositionsrapport, C-nivå 2012-06-07 1 Sammanfattning
Laboration 2: Designmönster
Laboration 2: Designmönster Bakgrund Det har visat sig väldigt svårt att beskriva hur ett system, eller en dellösning, skall konstrueras på ett bra sätt. Det har överhuvud taget varit svårt att veta om
Remote Access Services Security Architecture Notes
Remote Access Services Security Architecture Notes Martin Fredriksson m@crt.se 2001-10-17 Copyright 2001 Carlstedt Research & Technology. Varför säkerhet? Vilken säkerhet? Behov av säkerhet? Större beroende
DNSSec. Garanterar ett säkert internet
DNSSec Garanterar ett säkert internet Vad är DNSSec? 2 DNSSec är ett tillägg i Domain Name System (DNS), som säkrar DNS-svarens äkthet och integritet. Tekniska åtgärder tillämpas vilket gör att den dator
Denna laboration skapades för elever vid Roslagens Högskola men kan användas av vem som helst. Namnen på servrarna måste i så fall ändras.
Laboration 1, Databashantering med MySQL Av: Marcus Rejås I denna laboration skall du se till att du kommer åt databasmotorn och att det fungerar. Du kommer också att skapa en tabell
Denna genomgång behandlar följande: Trådlösa tekniker WLAN Utrustning Säkerhet Konfiguration
itlararen.se Denna genomgång behandlar följande: Trådlösa tekniker WLAN Utrustning Säkerhet Konfiguration Förutom trådbundna nätverk så finns det tekniker som möjliggör trådlös kommunikation Trådlös kommunikation
Fördjupande uppsats i datalogi
Fördjupande uppsats i datalogi Design Patterns: Elements of Reusable Object-Oriented Software Inledning Jag har läst boken Design Patterns: Elements of Reusable Object-Oriented Software. Boken, som myntade
tisdag 8 november 11
Hur bygger vi SSO-lösningar utan att påverka IT-infrastrukturen? 2011-11-07 Tommy Almström Product Manager www.nordicedge.se/talmstrom Dagens mest aktuella fråga: Hur många konton samt lösenord har