Kryptering. Krypteringsmetoder

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

Krypteringteknologier. Sidorna ( ) i boken

Grundläggande krypto och kryptering

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

Grundfrågor för kryptosystem

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

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

Metoder för sekretess, integritet och autenticering

256bit Security AB Offentligt dokument

Skydd för känsliga data

Föreläsning 7. DD2390 Internetprogrammering 6 hp

PGP håller posten hemlig

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

Introduktion till protokoll för nätverkssäkerhet

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

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

Protokollbeskrivning av OKI

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

Datasäkerhet och integritet

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

Grundläggande kryptering & chiffer

Trådlösa nätverk. Säkerhetsprotokoll WEP och WPA. I den här rapporten går vi igenom säkerheten i trådlösa nätverk, i synnerhet krypteringsprocess

Datasäkerhet. Petter Ericson

Kryptografiska mekanismer och valutor

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

Kryptografiska mekanismer och valutor

Säkerhet. Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Moderna krypteringssystem

MA2047 Algebra och diskret matematik

Primtal, faktorisering och RSA

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation

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

Modul 3 Föreläsningsinnehåll

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

Säkerhet. Olika former av säkerhet (företagsperspektiv [1])

SSL. Kristoffer Silverhav Robin Silverhav

TDDI16: Datastrukturer och algoritmer

Riksgäldskontorets författningssamling

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

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

RSA-kryptering och primalitetstest

Riksgäldskontorets författningssamling

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

Ett säkert Internet. Betalningsformer för säkra transaktioner över Internet. Författare: Anders Frånberg. Examensarbete I, 10p Vårterminen - 00

Karlstads Universitet, Datavetenskap 1

RIV Tekniska Anvisningar Kryptografi. Version ARK_

Grunderna i PKI, Public Key Infrastructure

Säkerhetsbrister & intrång

Elektroniska signaturer - säker identifiering?

Offentlig kryptering

Skydda din Dropbox med säker kryptering!

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

Kapitel 10, 11 o 12: Nätdrift, Säkerhet. Publika telenätet. Informationsöverföring. Jens A Andersson. Telenäten är digitala.

LABORATIONSRAPPORT Säkerhet & Sårbarhet VPN

SSL/TLS-protokollet och

Javadoc. Internet, WorldWideWeb, HTML, och Java. Webbläsarkomponenten. JEditorPane p. HyperlinkListener. Javadoc exempel:

Direktkoppling till Girolink Internet. Filöverföring av betalningar och betalningsinformation via Girolink Internet. Version 1.0

Test av kryptobiblioteket

Säker e-kommunikation

Abstract. 1. Inledning

Övning 6 - Tillämpad datalogi 2012

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

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

PGP & S/MIME En översikt

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

Utvärdering av säkerhetsspecifikationer för XML

Förra gången. Dagens föreläsning. Digitala Certifikat. Vilka man litar på! X.509. Nyckeldistribution. Säkerhetsprotokoll

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

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

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

Föreläsningens innehåll. Säker kommunikation - Nivå. IPSec. IPSec - VPN. IPSec - Implementation. IPSec - Består av vad?

Användarmanual för Pagero Kryptering

Anpassning av GNU Nettle för inbyggda system

Webbsäkerhet för IT-tekniker VT2014 Johan Leitet Nätverkssäkerhet, 1DV425 johan.leitet.se twitter.com/leitet facebook.

Utvärdering av nätverkssäkerheten på J Bil AB

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon.

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

SPARBANKENS NÄTBETALNING BRUKSANVISNING OCH POSTBESKRIVNINGAR

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

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

KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET. Carl Önne carl.onne@certezza.net

5. Internet, TCP/IP och Applikationer

SFTP (Secure Shell FTP using SSH2 protocol) Teknisk manual

Inte bara det, vi har dessutom fått allt fler arbetsredskap. När vi inte har kontroll på enheterna är det svårare att skydda dem.

Säkerhet. Föreläsning 6 Säkerhet. Johan Leitet twitter.com/leitet facebook.com/leitet. Webbteknik II, 1DV449

Introduktion till krypteringsmetoderna RSA och Merkle-Hellman

Steganografi - en översikt

Vägledning för grundläggande kryptering

Programmering för språkteknologer II, HT2014. Rum

Kapitel 10 , 11 o 12: Nätdrift, Säkerhet

Keywords: anonymous p2p, networking, p2p implementations, peer-to-peer.

Version Datum Kommentar Etablering av dokumentet Efter första genomgång av Cygate och SITHS PA

Tentamen i Kryptologi 1DT

Kryptering. Kryptering Hashar Digitala signaturer, PKI Krypto FS Lösenord. Repetition to slide 29

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

Magisteruppsats 20p vt98. Säker Elektronisk Transaktion. Sammanfattning

Hashing Bakom kulisserna på Pythons dictionary

Hashing Bakom kulisserna på Pythons dictionary. Leta i listor Osorterade listor. Leta i listor Sorterade listor

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

Mjukvarurealiserad bildtelefoni

Transkript:

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 en nyckel. När man ska kryptera information använder man både algoritm och en nyckel. Nyckeln är hemlig och algoritmen är publik. Under dekryptering av informationen måste man ha tillgång till den hemliga nyckeln och algoritmen. Källa: http://sv.wikipedia.org/wiki/kryptering 1 Krypteringsmetoder 1. Symmetrisk kryptering 2. Asymmetrisk kryptering 3. Kryptografiska Hashfunktioner 2 1

Symmetrisk kryptering Samma nyckel används vid kryptering och dekryptering. Vid informationsutbyte mellan sändaren och mottagaren måste båda ha tillgång till samma nyckel. Fördelen är snabbheten. Nackdelen är att flera personer måste ha tillgång till samma nyckel. 3 Symmetriska krypteringsalgoritmer Triple-DES (3DES) Säkrare version av krypteringsalgoritmen DES, "Data Encryption Standard". Sändaren och mottagaren använder tre nycklar för att kryptera meddelandet. Nyckelstorlek är 168 bitar. Advanced Encryption Standard (AES) AES är tillräckligt effektiv i processor och ram för att det skall fungera i mobila telefoner. 4 2

Jämförelse mellan DES, 3DES och AES Källa: http://sv.wikipedia.org/wiki/kryptering 5 Asymmetrisk kryptering Asymmetrisk kryptering innebär att man använder två olika nycklar: en öppen nyckel ("Public Key") en egen personlig nyckel "Private Key". Den öppna nyckeln används för att kryptera informationen. För dekryptering används den personliga nyckeln. RSA-kryptering är den vanligaste algoritmen för asymmetrisk kryptering. Namnet kommer från upphovsmännen: Ron Rivest, Adi Shamir och Len Adleman. 6 3

Säkerhet En vanlig nyckellängd för symmetrisk kryptering är 128 bitar, vilket resulterar i att det totala antalet möjliga nycklar är 2 128. I genomsnitt så måste man pröva hälften av alla nycklar innan man kan hitta den rätta vilket ger 2 127 nycklar som måste testas innan meddelandet kan läsas. Testar man 100 miljarder nycklar per sekund så tar det 5 * 10 19 år innan man hittar den rätta nyckeln. I asymmetrisk kryptering använder man sig av nyckelstorlekar som är från 512 upp till 4096 bitar. 7 Illustration av hur ett digitalt dokument skickas med "Asymmetrisk kryptering" Källa: http://sv.wikipedia.org/wiki/kryptering 8 4

Kryptografiska Hashfunktioner En hashfunktion är en algoritm som gör om någon sorts data till ett heltal (oftast i hexformat) som kan fungera som index till en array. Kryptografiska hashfunktioner används exempelvis för att spara lösenord i databaser, då man inte önskar att användarnas lösenord syns i klartext utifall databasen skulle bli stulen. Några välkända kryptografiska hashfunktioner är MD5, SHA och PBKDF2 (RFC 2898). 9 MD5 MD5 står för Message-Digest algorithm 5. MD5 är en kryptografisk hashfunktion som skapar ett 128 bitar stort hashvärde av valfri data. MD5 används bland annat som checksumma vid vissa typer av filöverföring, digital signering och för lösenordsverifiering. MD5 anses idag inte vara en kryptografisk säker funktion 10 5

SHA SHA står för Secure Hash Algorithm. SHA är en kryptografisk hash-funktion utvecklad av amerikanska National Security Agency (NSA). Det finns idag flera olika SHA-algoritmer SHA-0, SHA-1, SHA-256, SHA-512 osv. Läs mer här http://en.wikipedia.org/wiki/sha-3 11 Att salta Ett salt är ett slumpmässigt tillägg till ett lösenord som gör det svårare för en lösenordstjuv att lista ut det riktiga lösenordet. En annan fördel är t.ex. om man väljer samma lösenord på två olika konton. Utan salt skulle detta lösenord lagras som samma hashsträng, och om man känner till en lösenordshashsträng så kommer man åt det andra kontot. Saltning av lösenord med två slumpmässiga tecken gör att, även om de båda kontona använder samma lösenord, ingen kan upptäcka detta genom att läsa hashsträngar. Tips: http://sv.wikipedia.org/wiki/salt_(kryptografi) 12 6

PBKDF2 (RFC 2898) PBKDF2 står för Password-Based Key Derivation Function 2 Specifikationen om denna krypteringsmetod är publicerad av Internet Engineering Task Force's (RFC 2898) http://tools.ietf.org/html/rfc2898 Algoritmen använder 128-bitars salt och 256- bitars nyckel och 1000 iterationer. Exempel på system som använder PBKDF2 WiFi (WPA och WPA2), Apple's ios mobile (tex iphone) och Mac OSX. 13 Implementera kryptering i ASP.NET med hjälp av klassen Crypto Crypto är en statisk klass som finns i namnrymden System.Web.Helpers Några användbara metoder Hash() Metoden hashar en sträng med hjälp av algoritmen SHA-256 (standard) SHA-1 eller MD5. GenerateSalt() Generar ett salt som kan läggas till ett lösenord inför hashing. HashPassword() Metoden använder algoritmen PBKDF2 (RFC 2898) bool VerifyHashedPassword(hashedPassword, password) Returnerar true om det krypterade lösenordet matchar lösenordet i klartext 14 7

Klassen Crypto Exempel Del 1 HTML <body> <form method="post"> <input type="password" name="password" > <input type="submit" value="submit"> </form> <pre> Lösenord @password Salt @salt MD5 @md5 SHA256 @sha256 SHA1 @sha1 HashedPassword @hashedpassword Verify @verify.tostring() </pre> </body> Spara i en cshtml-fil 15 @{ } Klassen Crypto Exempel Del 2 Razor C# var password = ""; Once hashed, it var md5 = ""; var sha256 = ""; is impossible to var sha1 = ""; convert back! var salt = ""; var hashedpassword = ""; var verify = false; if (IsPost) { password = Request.Form["password"]; salt = Crypto.GenerateSalt(); // password += salt; // Testa med och utan salt sha256 = Crypto.Hash(password); md5 = Crypto.Hash(password, "MD5"); sha1 = Crypto.Hash(password, "SHA1"); hashedpassword = Crypto.HashPassword(password); verify = Crypto.VerifyHashedPassword(hashedPassword, password); } 16 8