Notera att skyddet avser data såväl som både maskinvara och programkod.

Storlek: px
Starta visningen från sidan:

Download "Notera att skyddet avser data såväl som både maskinvara och programkod."

Transkript

1 1 1 C. F. Gauss. Upptäckter är resultatet av planmässigt famlande. 1.1 Datasäkerhet En önskvärd egenskap vid databehandling är pålitlighet. Ett delmål av detta är datasäkerhet. Funktioner för detta ändamål är betingade av minst två orsaker. Alla system är behäftade med oavsiktliga felaktigheter och brukare vill ibland försöka tillförskansa sig tjänster utöver de ramar som tilldelats eller köpts. Det är inom denna referensram som ämnet datasäkerhet kan ses. Notera att skyddet avser data såväl som både maskinvara och programkod. Datorer byggdes en gång i tiden för att "knäcka koder" som framställdes mekaniskt. Här kan nämnas t ex Alan Turings insatser. Den bästa källan rörande kryptohistoria fram till andra världskriget är David Kahns bok The Codebreakers. I och med datorsystems allmänna användbarhet har de kommit att utnyttjas för sådan databehandling som kräver skydd. Kryptologin eller läran om chiffersystem har kommit till heders igen. Säkerhet, informationskrig och kryptologi kan ses ur flera synvinklar. Ronald Rivest har skrivit att "Cryptography is about communication in the presence of an adversary", Dorothy Denning betraktar 'information warefare' ur dels en defensiv och dels en offensiv synvinkel; där den offensiva går ut på att t ex reducera integriteten, medan den defensiva strategin är att öka den. Dieter Gollman, för att ta ett tredje exempel, framhåller att säkerhet handlar om att skydda tillgångar. Ett gemensamt drag i alla dessa karakteristika är att minst två parter är involverade. Not. Spelets huvudpersoner brukar kallas A och B (eller Alice och Bob; författaren har förgäves försökt lansera de svenska namnen Agneta och Berit). Vid sidan förekommer opponenter, inkräktare, verifierare, pålitliga individer, m fl: Något nedslagen avstår jag från att standardisera namn som Caroline, Dorothy, Ewa, Systemtjänster Några mål/tjänster som man vill uppnå är följande. De är delvis angivna av ISO:s säkerhetsaddendum till OSI-modellen. De avser visserligen primärt och specifikt datornät, men kan ju också ses generellare. i. Konfidentialitet (sekretess, 'secrecy') Vissa data/viss information skulle om den kom i orätta händer förorsaka allt ifrån mindre missnöje till katastrof. Dessa sekretessaspekter på säkerhet berör också det som på svenska lite felaktigt kallas den "personliga integriteten". Den klassiska metoden för detta är kryptografin, som ofta behövs som komplement till åtkomstkontroll, tex vid kommunikation över öppna medier. Begreppet kan illustreras med följande skiss. C erhåller genom intrång budskapet från A ämnat endast för B. A ok, dear A C ok, dear A B Figur 1.1. Avsteg från konfidentialitet

2 2 ii. Autenticitet (äkthet) Denna äkthetsfråga finns enligt ISO i två skepnader. a. Den första, 'peer entity authentication', brukar vanligen kallas identifiering och kan illustreras av följande scenario. C maskerar sig som A. Detta mål kan också avse ömsesidig identifiering. Är det du A? A C Javisst! B Figur 1.2. Avsaknad av autenticitet b. Den andra aspektens, 'data origin authentication', betydelse kan illustreras så här. Det är skikt n som ska ge denna service till skikt n+1 enligt ISO. Identitet är här kopplat till ett meddelande. En alternativbenämning är 'message authenticity'. A ok, dear A C ok, dear C B Figur 1.3. Felaktig datakälla I båda fallen är det alltså tal om att verifiera identiteter. Eftersom rättigheter att utnyttja systemresurser, att se information och att förändra system ofta förknippas med identiteter (processnamn, person etc) är subjektidentifiering av central roll. Många speciella identifikationsmetoder har utvecklats för exempelvis s k smarta kort. iii. Integritet (helhet; jfr 'integer' = heltal och integral) Här avses förmågan hos ett system att hålla meddelandet som sådant helt eller oförvanskat. a. Borttappade, mångfaldigade eller förändrade meddelanden ska inte få förekomma. En s k 'active wiretapping' bör förhindras. ok, dear no, sorry A C B Figur 1.4. Meddelandeintegritet saknas Ibland, t ex i USA som inte är så ISO-orienterat, används benämningen 'authenticity' även för denna tjänst. b. För att skydda sig mot oavsiktliga förvrängningar kan snabbare metoder användas än då intrånget är avsiktligt; t ex 'cyclic redundancy checks', CRC eller Hammingkoder. Dessa koder är emellertid helt försvarslösa mot aktiva intrång. Metoder för att uppfylla integritet är alltså olika beroende på om förvanskningen härleds från oavsiktliga ("naturfenomen") respektive avsiktliga ("kulturfenomen") ingrepp. iv. Åtkomstkontroll ('access control', 'protection') Denna tjänst reglerar tillåtna operationer relaterade till par av subjekt och objekt. Begreppet åtkomstkontroll står också för en mekanism. I dessa anteckningar delas mekanismerna in i objektskydd ('discretionary protection') och informationsflödeskontroll (oftast 'mandatory' och 'multi-level').

3 3 read (B) O A no, no! S B Figur 1.5. Åtkomstkontroll 'Discretionary' betyder att det är användaren som avgör åtkomstpolicyn; jfr filsystem, medan i fallet 'mandatory' det är systemadminstrationen som gör det. 'Multi level' innebär att bl a fler rangordnade behörighetsgrupper är inblandade. v. Icke-förnekbarhet ('non-repudiation') Ett avsänt meddelande eller ett resursutnyttjande från ett subjekt (process) bör inte senare kunna "bortförklaras". Ömsesidig trovärdighet är önskvärd. Här kommer s k digitala signaturer väl till pass. Följande ska alltså inte kunna förekomma. En variant är att inte kunna förneka sin signatur (s k 'undeniable signatures'). A ok, dear A det sa jag inte! A??? B Figur 1.6. Förnekande av utsaga vi. Anonymitet. Vid användande av elektroniska medel för t ex betalningar eller röstning vill avsändaren ofta vara anonym. I andra tillämpningar anonymiteten vara vital för mottagaren eller så kan den omfatta hela kommunikationen. Fullständig anonymitet är dock inte alltid önskvärd; jfr "det perfekta brottet". Se ovanstående som ett sätt att indela målen i; det finns förvisso andra. Man kan notera att många av dessa tjänster sällan eller aldrig kan uppfyllas ovillkorligt; man förtröstar då i stället på att en "inkräktares" bearbetningsprocess kräver så mycket tid och/eller minne att systemet ändå uppfyller de mål som A och B önskar Frågeställningar Här är ett antal konkreta exempel på osäkerhet i datorsystem. i. Användande av system där någon annan är in-loggad: Här fungerar inte autenticeringen. Många gånger har en användare anlänt till en terminal eller arbetsstation som lämnats av en företrädare med ett program som simulerar den vanliga inloggningssekvensen i syfte att samla in par av användaridentiteter och lösenord. ii. Forcering av lösenord. Symptom på samma sjukdom. Lösenord allena ger svag identifiering. En förskräckande liten andel utgörs av "rimliga" lösenord i verkliga system. Detta förklarar förhållandet att så enkla program som crack kan fylla en funktion för vissa. Det är vidare olämpligt att sända lösenord, betalkortsnuummer eller pin-koder i klartext över publika nät. iii. Genomläsning ('browsing') av gammalt minnesinnehåll: Att detta lyckas beror på att åtkomstkontrollen inte är korrekt implementerad. Återanvändning ('object reuse') tycks kräva korrekt initiering; radering, nollställning; skriv 0-or/1-or slumpmässigt många gånger på disk/band! En lite speciell risk ligger i att många system "dumpar" minnesinnehåll före en "krash". Om "dumparean" kan läsas av obehöriga efter återstart kan alltså tidigare skyddad information, t ex krypteringsnycklar, avslöjas.

4 4 iv. Avlyssning. Detta är oftast möjlig på kommunikationskanaler. Det är dock möjligt att via kryptering skydda information även om data är åtkomligt för avlyssnaren. Avlyssningen kan vara passiv ('eavesdropping') eller aktiv ('tampering'). En aktiv avlyssning innebär att informationsutvinningen paras med modifikation. Forcering av chiffer är dessutom inte sällan möjlig. v. Fall-luckefunktioner ('trap doors'). Oavsiktligt tillgänglig sidoinformation om t ex alternativa 'entry'-punkter i program eller annan "sidoinformation" kan utnyttjas för att komma förbi åtkomstspärrar. Vid t ex systemanrop utgör operativsystems begränsningar vid validering av parametrar en uppenbar risk. vi. Trojanska hästar. Programdelar som vid sidan av väl specificerad eller dokumenterad funktion även, för att kringgå systemets normala åtkomstkontroller, utnyttjar det faktum att de instansieras i ett "lånat" kontext med felaktiga (för stora) åtkomsträttigheter. En inplanterad falsk editor kan lätt läcka textfiler. Frågeställningen är relevant vid studiet och användandet av mobila agenter. vii.virus, maskar och bakterier. Populära namn på program som innehåller trojanska hästar. De genererar kopior av sig själva och sprids ofta via oskyddade kommunikationskanaler inklusive lånade disketter och dåligt skyddade persondatorer eller t o m ännu mer indirekt via "infekterade" kompilatorer, editorer, &c. Den 15 augusti 1989 kände man till ca 75 olika virus för PC-världen och cirka 25 för Macintosh. Maskar emanerade ursprungligen genom försök att åstadkomma god lastbalansering i lokala nät! Här är några förslag på definitioner: Definition # Virus Mask 1 Malign Benign 2 "Lever i" andra program Fristående programdelar 3 Sprids exponentiellt Vandrar från punkt till punkt Tabell 1.1 Virus och maskar viii. Exempel Följande utgör två konkreta exempel på vad som hänt i datorsystem. - En student lade in en trojansk häst i sin lab-lösning. Läraren provkörde och fick sin fil med kommande tentamensfrågor läst; ett s k kontextfel. - En lärare skapade en "jättearray" för en process, "glömde" att initiera den, och förutsåg att OS inte raderade innehållet i det virtuella minnet före allokeringen. Utskrift av denna array gav ny och intressant information. ix. En taxonomi. C. Landwehr et al har publicerat följande taxonomi om säkerhetsfels ursprung. (ταξοσ = ordning, νοµοσ = lag.) Tabell 1.2. Jag hänvisar till artikeln för en diskussion om dessa fel och om system där dessa fel hittats. Som komplement till denna "ursprungsklassificering" fortsätter författarna med en analys av platsen i system för felen. Inte överraskande finner de att programvaran och speciellt operativsystemen är de platser där de flesta felen sker. Vidare konstateras att felen oftast har sitt ursprung i utvecklingsfasen, speciellt vid specifikationen. En slutsats som kan dras är att säkerhet och tillförlitlighet är ömsesidigt beroende.

5 5 Säkerhetsfel Avsiktliga Oavsiktliga Förstörande Bevarande Valideringsfel Kontextfel Synkroniseringsfel Resursfel Autenticeringsfel Övriga Trojansk häst Logisk bomb Covert channel Diverse Argument P(S) utan V(S) Baklås Jag är inte jag Pekare i C Mot finare indelning Replikerbar Icke replikerbar Tidskanal Minneskanal Virus Fallucka. Tabell 1.2 En "fel"taxonomi Medel för åtkomstkontroll Det är vanligt att medel, liksom i andra sammanhang t ex processhantering och minneshantering i samband med operativsystem, delas in i 'policies' och mekanismer. De förra specificerar vad man vill åstadkomma, de senare hur detta realiseras. 'Policies' bygger på principer som - "minsta möjliga rättigheter" för användare, d v s små skyddsdomäner, - enkla och verifierbara mekanismer, - "öppen" konstruktion, - fullständigt utnyttjande, - separation av ansvar och - psykologisk acceptans. Mekanismerna sägs företrädesvis vara snabba, penetrerande och öppna. - Snabba: Annars använder inga dem. - Penetrerande: Annars är det lätt att gå förbi dem. - Öppna: Annars har vi glömt att programvara har en benägenhet att spridas. Åtkomstpolicies kan klassificeras som - 'Mandatory access control' (MAC): Rättigheter åsätts oberoende av subjektens aktiviteter: av systemadministratören. Eftersom sådana kontroller (oftast) bygger på etikettering av information så är integritetsfrågan för sådana etiketter viktig. Etiketterna ordnas ofta i fler nivåer t ex i ett lattice; man talar då om 'multi level security', MLS. - 'Discretionary access control' (DAC): Rättigheter kan sättas efter subjektens gottfinnande. Detta är normalt vad som sker i filsystem där användarna på eget bevåg sätter rättigheter för sina filer och kataloger i s k 'access control lists' (ACL). Sid- och segmentdeskriptorer för minnesskydd klassas också som DAC eftersom rättigheterna däri tillkommer via kompileringar på användarnas uppdrag.

6 6 Återanvändning ('object reuse') av minne måste beaktas: Radering av gamla data är nödvändig före reallokering. En filradering som normalt katalogiseras med en bit i en katalog är ibland otillräcklig: Här rekommenderas i stället upprepade faktiska överskrivningar med slumpbitmönster. I ett (virtuellt) minne bör man kunna vara övertygad om att det minne man själv använt "suddas ut" innan en annan användare allokerar detta block. DAC och MAC är centrala begrepp i US DoDs 'trusted computer system evaluation criteria', TCSEC som alltså är ytterligare en "säkerhetsmodell" Mekanismer; översikt De vanligaste mekanismerna/teknikerna som används för att åstadkomma säkerhet i datorsystem är följande. Det finns kanske fler. i. Direkt åtkomstkontroll (Minnesskydd, 'protection'). Läs-, skriv- m fl rättigheter för subjekt till objekt. De helt dominerande teknikerna utgörs av kontroll av rättigheter till sidor och filer via sidtabeller respektive filkataloger, som ibland kallas 'capability lists' (CL) respektive 'access control lists' (ACL). De förra är arrangeras så att det för varje subjekt anges tillhörande rättigheter till objekt, medan i andra fallet det för varje objekt anges vilka subjekt som har rättigheter till objektet. ii. Informationsflödeskontroll. 'Mandatory access control' för att reglera hur information tillåts spridas. Ett svårhanterligt problem är här de s k 'covert channels'; informationsbärande kanaler som uppstår oavsiktligt. Att ett program för vissa indata går in i en oändlig slinga är ett tecken på en oplanerad kanal som överför en bits information (minst). iii. Kryptografi och chiffer. Kan användas för att skydda data med avseende på konfidentialitet. Tekniken bygger på att data må vara tillgängliga för avlyssning (passiv eller aktiv (= avlyssning med modifiering)), men att informationen inte gör det. Informationen transformeras så att endast den rättmätiga mottagaren kan återvinna denna ur observerade data med hjälp av nycklar. iv. Digitala signaturer. Används för att åstadkomma avsändarautenticitet (och därmed implicit även integritet) och 'non-repudiation'. Realiseras ofta via kryptobaserade funktioner. De är motsvarighten till handskrivna signaturer, med den viktiga skillnaden att de är beroende av såväl meddelandet som avsändaren, för att i en automatiserad värld användas för att bestyrka äktheten hos ett elektroniskt dokument. v. Identifieringsmetoder utgår från "personnummer" lagrade på smarta kort och bygger på kryptografiska protokoll mellan dessa kort och datorsystem i akt och mening att undvika att skicka lösenord edyl i klartext över befarat avlyssnade nät. Senare beskrivs skillnader mellan dessa och digitala signaturer. vi. Felkorrigerande koder (redundans, återhämtning) och autenticeringskoder. För att säkerställa integritet i samband med avsiktliga eller oavsiktliga felaktigheter vid lagring eller kommunikation av information; kallas MAC ('message authentication codes') i de fall då de är nyckelbaserade och MDC ('modification detection codes') i de fall då de är framställda utan nyckel. vii. Kompaktering och 'hashing'. En teknik i grunden avsedd för helt andra ändamål (sparande av utrymme eller tabellhantering) som ofta utnyttjas tillsammans med kryptografi. Många chiffer blir starkare om det underliggande klartextspråket framställs med minskad redundans genom eliminering av överflödiga bitar och de flesta signaturmetoderna bygger på att meddelanden 'hash'-as. Skillnaden mellan kompaktering och kompression ligger i att kompakterade data kan återskpas medan kompaktering förstör information. viii. Inferenskontroll för att förhindra utvinnande av information ur statistiska databaser. Ett 'query'-villkor som uppfylls av en (1) individ kan utnyttjas för att undersöka om denna har ytterligare katalogiserade attribut trots att de bör betraktas som konfidentiella.

7 7 ix. Slumptalsgenerering. För många chiffer behövs slumptal med speciell karakteristik; t ex för nycklar. Området har därför blivit ett viktigt delområde av kryptologin också. x. Kryptobaserade protokoll varav en del bygger på s k 'zero-knowledge'. xi. Steganografi. Detta är en process som döljer det verkliga meddelandet i "brus". Exempel utgörs av akrostikon, ändring i insignifikanta bildpunkter, osynligt bäck, &c. Metoden anses av goda skäl inte allmänt pålitlig. 1.2 Kryptologi i. Allmänt. Kryptologin (λογοσ = ord) som studieområde kan uppdelas i konstruktion av chiffer och forcering av sådana; kryptografi respektive kryptoanalys. Krypto kommer från grekiskans κρψπτοσ som betyder dold eller hemlig. Grafi härleds från grekiskans γραφια som betyder skrift. Data som sänds över kanaler som kan avlyssnas eller modifieras kan inte skyddas via vanliga åtkomstkontrolltekniker som baseras på läs/skrivrättigheter. Informationen kan däremot skyddas genom att den kodas så att motsvarande data blir obegripliga ('secrecy') eller så att modifikationer av data kan upptäckas eller korrigeras ('integrity'). En sådan kodning kallas ett chiffer (fr. chiffre, siffra av arabiska sifr, nolla). Det är en avbildning från en mängd klartexter till en mängd kryptogram. Informationen chiffreras (krypteras) på ena sidan innan den sänds och dechiffreras (dekrypteras) på mottagande sidan innan den vidarebehandlas. Chiffer antas vanligen bygga på kända (öppna) algoritmer. Konfidentialitet eller integritet och autenticitet säkerställs genom att en chifferparameter (nyckel) k hålls privat. Ett chiffer betraktas vanligen som en funktion som avbildar klartexter till kryptogram. Som vanligt sammanblandas ofta funktionen med funktionsvärdet så att kryptogram också kallas chiffer. Givet en klartextmängd {m} och en kryptogram/chiffermängd {c} kan ett chiffersystem ses som en mängd av transformationer {e k, d k } sådana att c = e k (m) m = d k (c) Sambandet d k e k = I (= enhetstransformationen) gäller alltså alltid. Observera att e alltså måste vara en injektiv (1-1-) funktion för varje k. Figur 1.7 visar ett kryptosystem i bildform. Figuren antyder att kryptografernas motspelare heter forcörer eller ibland också kryptoanalytiker. En sådan har i uppgift att härleda m eller k eller approximationer (m', k') av dessa utan att känna till nyckeln k. En kryptoforcör Chiffrering F m' Dechiffrering m c m e d k Kanal för distribution av k Figur 1.7. Ett kryptosystem

8 8 ii. Definition. Några önskvärda egenskaper hos chiffer framgår av följande tabell. Önskemål 2 utgår från förhållandet att krypteringsprogram svårligen kan bevaras privata. Det brukar kallas Kerkhoffs princip efter 1800-talsprofessorn Jean Guillaume Hubert Victor Francois Alexandre Auguste Kerkhoff von Niewenhof ( ), som i sin bok La Cryptographie militaire postulerat följande desiderata. K1. The system should be, if not theoretically unbreakable, unbreakable in practice. K2. Compromise of the system should not inconvenience the correspondents. K3. The method for choosing the particular member (key) of the cryptographic system to be used should be easy to memorize and change. K4. Ciphertext should be transmittable by telegraph. K5. The apparatus should be portable. K6. Use of the system should not require a long list of rules or mental strain. En definition av ett (block-) kryptosystem ges i tabell 1.4. Observera att punkten 3.b. i tabellen nedan måste tas med en nypa salt: Beroende på det underliggande språket kan det mycket väl vara så att varje c' ger upphov till ett meningsfullt meddelande. Detta kan t ex vara fallet om slumpmässiga nycklar eller andra slumpelement chiffreras. För att erhålla integritet i sådana fall måste andra metoder tillämpas. Konfidentialitet och integritet är oberoende begrepp! 1. Funktionerna e k och d k måste, givet k, kunna beräknas snabbt. 2. Algoritmerna e och d förutsätts vara öppet tillgängliga. 3. Det ska vara svårt att utan att veta k systematiskt beräkna a. för konfidentialitet - d k från c även om motsvarande m är känt. - klartexten m från c. b. för integritet/autenticitet - e k från c även om visst m är känt. - ett c' så att d k (c') utgör ett meningsfullt meddelande. Tabell 1.3. Önskemål för kryptosystem D E F I N I T I O N Ett kryptosystem är en quintipel <M, C, K, E, D>, där 1. M är ett klartextalfabet (en ändlig mängd) 2. C är ett chifferalfabet 3. K är ett nyckelalfabet 4. För varje k K finns ett e k E och ett motsvarande d k D, så att d k (e k (m)) = m, för alla m M. Tabell 1.4. Definition av kryptosystem; blockchiffer

9 9 Om avsändaren vill skicka en sträng m = m 1... m n, m j M, m M *, kan transformationen e k utvidgas för att ge c = c 1... c n på följande sätt: c i = e k (m i ) m i = d k (c i ). Om kardinaliteten hos alfabetet är "stor" och nyckeln återanvänds som ovan brukar chiffret kallas ett blockchiffer. Mängden M kan t ex vara {0, 1}, {0,..., 7}, {a,..., z}, {0,..., }, {0, 1,..., } eller mängden av ord i ett lexikon. I praktiken är de förstås bitsträngar. 1.3 Symmetriska system I de klassiska (symmetriska) systemen är nyckeln k för e och d densamma, eller så kan den andra nyckeln beräknas trivialt ur den första. Så gott som alla chiffer bygger på upprepade substitutioner och permutationer. En permutation är en bijektion (en funktion som är 1-1 och 'onto') från en mängd M till M. En substitution är en 1-1-funktion som ersätter en symbol (eller en sekvens av symboler) med andra symboler (eller sekvenser av symboler). Det enklast tänkbara chiffret är det s k Caesarchiffret, som innebär att klartextens bokstäver substitueras en efter en genom ett alfabetiskt skift tre steg (a d,..., z c). På formelspråk skrivs alltså e k=3 : m char ((ord(m) + 3) mod 26). Två typer av chiffer är vanliga; blockchiffer och flödeschiffer ('stream ciphers'). En intressant reflexion är den att flödeschiffer länge synes ha varit populära i Europa, medan blockchiffer är och har varit populärast i USA Blockchiffer i. Exempel. En standardalgoritm (en ANSI- och FIPS-standard från 1977 giltig fram till 1998 (?)) kallas DES eller 'Data Encryption Standard'. I denna chiffreras 64-bits block med en 56-bits nyckel via 33 (sic!) permutationer och substitutioner. 64 m DES k c Figur 1.8. DES Ett meddelande delas inledningsvis upp i 64-bits block. Samma nyckel kan användas för flera block. Denna tillämpning av DES (eller ett annat blockchiffer) kallas vanligen 'electronic code book'; ECB. Efterföljaren till DES, som kommer att kallas Advanced Encryption Standard och offentligöras under år 2000, AES, arbetar med blocklängden 128 bits och med alternativ nyckellängd 128, 192 eller 256 bits. I skrivande stund utvärderas 5 kandidater för AES. Ryssland har även en blockchifferstandard. Den innefattas i paketet ΓΟΣΤ. Det chiffrerar 64 bitars block med en 256 bitars nyckel. Andra populära chiffer heter IDEA, RC5 och Blowfish. De två senare har 1998 vidareutvecklats till RC6 respektive Twofish.

10 10 ii. 'Cipher block chaining'. För att undvika att lika klartextblock resulterar i lika chifferblock, vilket är ett problem i fil- och databassystem, kan en algoritm som t ex DES tillämpas för att framställa "kedjade" chifferblock. Metoden kallas CBC, 'cipher block chaining': c i = DES k (m i xor c i-1 ). Uttrycket a xor b skrivs ibland a b eller (a + b) mod 2. Om operanderna omfattar mer än en bit definieras operationen som bitvisa 'exclusive or'. Processen inleds med ett valt c 0 = IV, initialvektor, som ibland kallas 'seed' eller frö. IV ska väljas slumpmässigt och på nytt för varje chiffrering. Dechiffreringen blir m i = DES -1 k (c i ) xor c i-1, så att det näst sista chifferblocket måste kommas ihåg på mottagarsidan såväl som på sändarsidan. Metoden kan (delvis) beskrivas med följande figur. CBC Register m xor e c Figur 1.9. CBC iii. MAC. Sista chifferblocket blir funktionellt beroende av alla klartextblock och kan därför också tjäna som kryptografisk checksumma (kallas vanligen 'message authentication code' eller MAC), så att (vissa) överföringsfel kan upptäckas (integritetsaspekten). En sådan checksumma kallas förstås en CBC-MAC. Avsändarem av ett meddelande x bildar y = MAC(x) och skickar paret <x, y> till B. B återberäknar nu MAC(x) = y' och accepterar x som äkta precis då y = y'. Att finna bra MACalgoritmer är minst lika svårt som att finna goda chiffer. Initialvärdet c 0 = 0 används eftersom konfidentialitet inte är en fråga av vikt här. Skillnaden mellan en MAC och en "kompression", t ex via en 'hash'-funktion är att en MAC är baserad på en (privat) nyckel. Ibland kallas ett 'hash'-värde framställt utan nyckel för en 'modification detection code'; MDC. Om både konfidentialitet och integritet är önskvärt används en nyckel för det ena och en annan oberoende nyckel för det andra ändamålet. Två alternativ är möjliga:

11 11 <e k (m), MAC k' (m)> <e k (m, MAC k' ((m))> Observera att det inte går att klara sig med bara en transformation för båda ändamål: MACvärdet skulle bli e k (0) oberoende av klartexten. Observera också att kryptering allena inte ger någon garanti för integritet: I ECB-modus kan block omordnas utan att mottagaren upptäcker det, vid kryptering av slumptal, t ex nycklar, är mottagaren oförmögen att upptäcka en modifikation, &c Flödeschiffer En annan typ av symmetriska chiffer är de s k flödeschiffren. i. Allmänt. Nästan alla sådana chiffer fungerar enligt följande mall: Klartexten m = m 1 m 2... krypteras bitvis eller teckenvis till c = c 1 c 2... via c i = m i xor z i, med en ny nyckel z i för varje m i, åtminstone upp till ett visst i, efter vilket vanligen nyckelsekvensen repeteras. Följande tabell 1.5 definierar. D E F I N I T I O Ett flödeskryptosystem är en sextupel <M, C, K, E, D, F>, där 1. M är ett klartextalfabet (en ändlig mängd) 2. C är ett chifferalfabet 3. K är ett (bas)nyckelalfabet 4. Z är ett nyckelströmalfabet 5. F är en nyckelgenerator F = (f 1, f 2,...) f i : K M i-1 Z, vars uppgift är att ge nya nycklar z Z, för varje kryptering/dekryptering. 6. För varje z Z finns ett e z E och ett motsvarande d z D, så att d z (e z (m)) = m, för alla m M. N Tabell 1.5. Flödeskrypton Ofta blir z-sekvensen periodisk med period, säg, d. Det är en smaksak om man då vill kalla detta ett flödeschiffer eller ett blockchiffer med blockstorlek d (åtminstone om d är "litet"). Ett blockchiffer kan betraktas som ett specialfall av ett flödeschiffer; sätt z = K = konstant. ii. 'One time pad'. Bland de klassiska chiffren återfinns det sk 'one time pad', OTP, som är det enda teoretiskt oforcerbara chiffer man känner till. Detta bevisas i kapitel senare.

12 12 Definition. I detta är nyckelsekvensen {z i } en icke-repetitiv slumpföljd (minst lika lång som m) som alltså används bara en gång. Observation 1. Ingen information (statistik) om m överförs därför till c och forcörens uppgift är omöjlig. För varje givet chiffer är varje klartext lika möjlig/sannolik. Observation 2. Sannolikheten p(c = m xor z) = 1 / 2 n, för alla m och c av längd n. Nyckelhanteringen blir emellertid ett svårt problem varför approximationer till 'one time pad' oftast används. Vissa slumptalsgeneratorer eller ett blockchiffer kan då användas för att generera {z i }. Flödeschiffer är bra för tillämpningar där data inte kan buffras i block, t ex vid satellitkommunikation eller vid telefoni. Flödeschiffer indelas i två kategorier; synkrona och självsynkrona. iii. I synkrona flödeschiffer härleds nyckelsekvensen oberoende av klartextsymbolerna. Ett exempel är följande. - 'Output block feedback mode' (OFB): Ett initialvärde transformeras via ett blockchiffer. Ur resultatet plockas en bit/byte (kallas 1- respektive 8-bits OFB) ut som [ny] nyckelsymbol, varefter utdata från blockchiffret återkopplas och blir nytt indata till nästa transformation för nästa nyckelsymbol: c i = m i xor z i, z i = e k (z i-1 ). Lite allmännare kan ett synkront flödeschiffer beskrivas av ett initialtillstånd σ 0, en nästatillstånds-funktion f, en nyckelgenerator g och en utdatafunktion h via σ i+1 = f(σ i, k) z i = g(σ i, k) c i = h(z i, m i ) iv. I självsynkroniserande (eller asynkrona) flödeschiffer härleds nyckelsekvensen ur en begränsad mängd av föregående chiffersymboler; sådana chiffer kallas därför ibland autoklavsystem. Ett exempel är följande. - 'Cipher feedback mode' (CFB): Detta liknar lite grand OFB i så måtto att ett blockchiffer används. Indata till detta utgörs denna gång av ett skiftregister med givet initialvärde. Från utdata omhändertas en bit/byte som [ny] nyckelsymbol och resten kastas. I detta fall återkopplas emellertid erhållet chiffer c = m xor z till skiftregistret: c i = m i xor z i, z i = e k (c i-1 ). Lite allmännare kan ett asynkront flödeschiffer beskrivas av ett initialtillstånd σ 0, en nästatillstånds-funktion f, en nyckelgenerator g och en utdatafunktion h via

13 13 σ i+1 = <c i-t,..., c i-1 > z i = g(σ i, k) c i = h(z i, m i ) De flesta enkla pseudoslumptalsgeneratorer avsedda t ex för simuleringar, t ex x i+1 = ax i + b mod n är olämpliga eftersom nyckelsekvensen x i bestäms av bara tre kvantiteter (a, b och n), som om de kan härledas av forcören gör chiffret obrukbart. En pseudo-slumptalsgenerator bör, intuitivt uttryckt, vara sådan att det är beräkningsmässigt ogenomförbart att i "polynomiell tid" skilja dess utdata från en sann slumptalsgenerator. Följande figur 1.10 visar OFB och CFB. OFB Register CFB Register skift e e leftmost bits m xor c m xor c Figur Några vanliga flödeschiffer v. Anmärkningar. 1. Både OFB och CFB kan användas för att ge blockchiffer. Då återkopplas hela utdatablocket från respektive e k. 2. CFB kan också användas för att skapa MAC: Här väljs startvektorn som m 1, forma därefter n - 1 chiffer c 1,..., c n-1 och sätt slutligen MAC = e K (c n-1 ). Det går att visa att denna MAC blir densamma som man erhåller med hjälp av CBC och IV = Några jämförelser Om snabbhet och enkelhet är det viktigaste är ECB vårt val. Men p g a svagheter vid upprepade klartexter och att ECB-modus är den enklaste att forcera så: "Var försiktig". ECB rekommenderas inte för användning vid godtyckliga klartexter. Däremot kan ECB väl användas t ex för att kryptera nycklar (Jo, det behövs faktiskt ibland). För normala klartexter använd alltså CBC, CFB eller OFB. CBC är sannolikt bäst för att kryptera filer. För att kryptera (8-bits) teckensträngar där varje tecken hanteras separat rekommenderas CFB.

14 14 OFB rekommenderas för felbenägna medier och används ofta för höghastighetskommunikation över synkrona medier och för tillämpningar där felutbredning inte kan tolereras. Blockchiffer lämpar sig bättre än flödeschiffer för programvaruimplementeringar. Analogt är flödeschiffer effektivt implementerbara i maskinvara. CBC har ringa felfortplantning: Om c i mottas med överföringsfel så kommer bara m i och m i+1 att bli fel efter dekryptering; inte m i+2 och framåt. Vid OFB ger ett bitfel i c bara ett bitfel i m efter dekryptering. Observera också att {z i } kan beräknas innan klartexten föreligger. Detta kan också vara en nackdel: Genom att ändra c i kan m i lätt manipuleras. OFB rekommenderas inte allmänt för "små" block. En variant av OFB är "räknaremetoden" CM ('counter method'), där nyckeln definieras som z i = e k (i + IV), där IV = en startvektor. Ett visst z i kan beräknas utan att z i-1, z i-2,... behövs. En variant till CBC är PCBC ('propagating cipher block chaining'). Den sprider bitfel för att lättare upptäcka transmissionsfel. Definitionen kan skrivas c i = e k (m i xor m i-1 xor c i-1 ). Vad blir dechiffreringen? Metoden togs fram för att kunna göra chiffrering och MAC-bildande samtidigt. Om två chifferblock kastas om så blir dekrypteringen förstås fel, men MAC oförändrad och felet går oupptäckt för mottagaren. Den rekommenderas därför sällan Randomiserade xor-blockchiffer Mihir Bellare föreslår följande randomisering av blockchifffer. Meddelandet m uppdelas i block m 1,..., m n och givet ett blockchiffer e k produceras chiffret c = <r, e k (r + 1) xor m 1,..., e k (r + n) xor m n >, via ett slumptal r. På så sätt behöver inte k väljas på nytt för varje block som i ECB och chiffret blir enklare än CBC, dock till priset av att c > m. Detta är ofrånkomligt för alla s k probabilistiska chiffer. Operationen + räknas ut modulo 2 l, där l är blocklängden. 1.4 Asymmetriska system Sedan 1976 existerar allmänt kända system som är sådana att bara endera e k eller d k behöver hemlighållas. Den andra kan vara öppen (publik). Man talar då om 'public key systems' (PKS) eller system med öppna nycklar eller asymmetriska system. Dessa bygger på falllucke envägsfunktioner, 'trap door one way functions', för att etablera korrespondens mellan den öppna och den privata nyckeln. - En envägsfunktion är sådan att den är enkel att beräkna medan dess invers är svår att beräkna. - En envägsfunktion med fallucka är en envägsfunktion vars invers kan beräknas enkelt med tillgång till viss sidoinformation. Den ena nyckeln är möjlig att härleda ur den andra bara för den som besitter extra information, d v s fall-luckeparametern, om systemets envägsfunktion.

15 15 I ett PKS råder naturligtvis ett matematiskt förhållande mellan e och d så att det i teorin är möjligt att härleda den ena ur den andra. Ett PKS är inte ovillkorligt säkert; har inte perfekt sekretess. Konfidentialitet/integritet säkerställs genom att det beräkningsmässigt är ogenomförbart att (inom rimlig tid/rimligt stort minne) praktiskt härleda den ena ur den andra. Man säger/tror/antar att föreslagna PKS-algoritmer erbjuder beräkningsmässig säkerhet Allmänt i. Konfidentialitet. Om d k hålls privat men e k är öppen kan alla tillverka kryptogram men bara den rättmätiga mottagaren återvinna klartexten. ii. Integritet. I det omvända fallet kan information återvinnas av alla bara om den rättmätige sändaren har tillverkat chiffret. Detta brukar användas som grundidé för att erhålla integritet eller autenticitet. En identifierare (eller lösenord) transformeras privat men kan verifieras av alla. iii. Både/och. För att samtidigt uppnå konfidentialitet och integritet måste dubbla transformationer användas; en för vardera syfte. Detta kräver att e k d k = d k e k = I. Det är inte självklart att e k och d k kommuterar, men för det mest använda PKS, den så kallade RSA-algoritmen, gäller detta (under vissa förutsättningar). Antag att A har transformationer e a och d a och B har motsvarande e b och d b, där e är publika och d är privata. För att säkerställa konfidentialitet och äkthet för ett meddelande m framställer A kvantiteten x = e b (d a (m)) som sänds till B. Genom att d a är privat uppfylls äktheten. I praktiken används RSA endast för signering och nyckeltransport. Kryptering för konfidentialitet utförs med symmetriska chiffer eftersom de är mycket (1000 gånger?) snabbare. iv. Digitala signaturer. Kvantiteten sig a (m) där h är en 'hash'-funktion kallas för en digital signatur: sig a (m) = d a (h(m)). Signaturen sänds tillsammans med m och alla mottagare kan verifiera m h a den publika transformationen e a. Om konfidentialitet samtidigt önskas är det alltså vanligt att m chiffreras med ett konventionellt chiffer; ett hybridsystem uppstår. Likheten med MAC är slående men den springande punkten är att är att A och B i signaturfallet inte behöver komma överens om och dela en hemlig nyckel RSA; introduktion i. Förutsättningar. Den mycket omtalade RSA-algoritmen (från 1977, publicerad 1978) bygger alltså på att e är "lätt" att beräkna men att d i praktiken låter sig beräknas endast via tillgång till extra information (fall-lucke-parametern), d v s den privata nyckeln. Metoden består av ett blockchiffer som bygger på exponentiering (modulo n) och svårigheterna att faktorisera (stora) primtal. Konstruktören utgår från två stora, t ex 200-siffriga, primtal p och q och bildar produkten

16 16 n = p * q. Talet n omfattar då t ex 1328 bitar. Faktorerna i n hålls hemliga, eller "kastas bort" efter det att systemet har definierats, medan n ges ut publikt. Att återvinna p och q kräver att det är möjligt att primtalsfaktorisera STORA tal. Ingen har ännu konstruerat en tillräckligt snabb metod för detta ändamål. Med givna p och q bildar konstruktören φ(n) = (p - 1) * (q - 1), som är antalet tal som är prima relativt n. Relationen mellan den privata och den publika nyckeln är e * d mod φ(n) = 1; en ekvation som är enkel att lösa, men bara om falluckeparametern φ(n) är given och att beräkna φ förutsätter tillgång till p och q. Ekvationen har en entydig lösning d för givet e och givet φ(n) precis då e och φ(n) är relativt prima, d v s gcd (e, φ(n)) = 1. ii. Definition. Om a och b är heltal och m > 0 så skrivs a b (mod m) om m dividerar a - b och a och b kallas kongruenta modulo m. Om vi heltalsmässigt dividerar a och b med m kan vi skriva a = k 1 m + r 1 och b = k 2 m + r 2, där 0 r i m - 1, och se att a b (mod m) är uppfyllt precis då r 1 = r 2. Beteckningen a mod m används för resten i intervallet [0, m - 1] då a divideras med m. Det gäller då att a b (mod m) precis då a mod m = b mod m. iii. RSA. Chiffrering ges av ekvation (1). c = e (n,e) (m) = m e mod n (1) Den publika nyckeln är alltså (n,e). Klartexten kan uppdelas i block om log n bitar och bitsekvensen tolkas som ett heltal. Dechiffrering sker genom att beräkna m = d (n,d) (c) = c d mod n (2) med den privata nyckeln (n,d). Det finns mycket, mycket mer att säga om RSA; detaljerna kommer senare. Notera den "vackra symmetrin"; den är i klass med den hos Maxwells ekvationer. iv. Nyckeldistribution kan ske med RSA genom A B: e B (key), där A väljer nyckeln key, krypterar den med Bs öppna nyckel och skickar chiffret till B, som är den enda som kan dechiffrera. A och B kan sedan använda key för chiffrering av meddelanden med tex DES. En förutsättning är att B litar på att A är den han utger sig för!

17 17 iii. Noter om stora tal mm 1. Forcörens möjlighet att göra kryptoanalys genom att invertera (1) är beräkningsmässigt utesluten (lika svårt som att faktorisera primtal). Exponeneten e och meddelandet m bör dock vara så stora att (1) innebär en modulo-reduktion, annars kan man "lätt" beräkna e:te roten. 2. I vad som kommer refereras ofta till "stora tal". För att få lite perspektiv: - Talet n i RSA = Universums livstid (om det är slutet) år = 2 37 år = sek = 2 61 sek - Universums ålder år = 2 34 år - Antalet atomer i universum = Antalet atomer på jorden = Virtuellt adressrum i en 64-bitars processor = Antalet nycklar i AES = Risk att omkomma i bilolycka per år i USA 2*10-4 = 2-12 = 1/ Kom ihåg minnesregeln 10 x 2 3.3x "Bevis". Om 10 x = 2 y så är (framgår genom logaritmering) x = y log 10 2 och y = x log Numeriskt gäller att log och log Kryptoanalys Att forcera ett chiffer eller att lyckas med kryptoanalys innebär att man tillförskansar sig kunskap om klartexten eller nyckeln tvärtemot användarnas avsikt med chiffret. Någon gång är detta möjligt genom att förutsättningslöst prova alla nycklar, uttömmande nyckelsökning, till dess framgång nås; 'exhaustive search' eller 'brute force'. Att forcera chiffer förstås dock vanligen som ett tillvägagångssätt där klartext eller nyckel kan härledas systematiskt med [mycket] mindre arbete än med uttömmande nyckelprövning. En attack kan rikta sig mot både kryptoalgoritmen i sig men ofta också mot det sätt på vilket den används, d v s på protokollet. Framförallt kan nyckelhanteringen vara känslig. Minns Uppsalaprofessorn Arne Beurling (jfr biblioteket på MIC) som 1942 med briljans lyckades "knäcka koder" delvis beroende på tyska kryptoteknikers indolens vid nyckelhanteringen. Kryptologin som vetenskap består alltså dels av kryptografi, dels av kryptoanalys; två grenar som fortlöpande tävlar med varandra. Notera dock att de personer som tävlar växlar mellan de olika lägren/lagen. Man brukar kalla ett kryptosystem för ovillkorligt säkert om det oberoende av forcörens beräkningskapacitet motstår analys. Endast ett chiffer brukar räknas till denna klass; 'one time pad'. Många system är däremot beräkningsmässigt säkra. Egenskapen betyder att den tid det tar för forcören att lyckas överstiger den tid användarnas policy anger; t ex µsek.

18 18 Not (fantasisiffror; energi förstörs inte, den bara omvandlas; men.... ) Om ett chiffer med en 256-bitars nyckel ska forceras med uttömmande nyckelsökning och varje nyckelprov tar 20 nanosekunder på en maskin som kräver 5 watt kommer att åtgå ca Joule. Med antagandet att universum omfattar atomer med medelatomvikten 70 dras, enligt Einsteins ekvation E = mc 2, slutsatsen att hela universums energiinnehåll är ca Joule Algoritmforcering Beroende på förutsättningarna räknar man med olika klasser av forcering. Metoderna som anges här är ordnade efter "styrka". i. Endast chiffer. I detta fall antas forcören bara ha tillgång till chiffer. Detta ur användarens synpunkt mest ideala fallet är knappast realistiskt. Enkla chiffer som t ex Caesar-dito kan forceras under denna förutsättning. ii. Känd klartext. I många fall vet forcören (med stor sannoliket) vissa par <m, c>. Forcering med känd klartext innebär att dennes uppgift är att med dessa uppskatta andra klartexter och/eller nycklar. Text av typen "login" brukar inleda många sessioner. En karakteristik är att säga att forcören fått tillfällig tillgång till e k. iii. Vald klartext. Ibland är forcörens läge ännu mer gynnsamt. Detta kan vara för handen i databassystem om samtliga användare tillåts lägga in poster i systemet. Vid denna attack är det alltså möjligt för forcören att lista ut chiffer för vissa valda klartexter. En karakteristik är att säga att forcören fått tillfällig tillgång till d k. Ett för forcören attraktivt sätt är att kunna göra en sådan attack adaptivt, d v s att kunna välja nya klartexter efter utfall av försök med tidigare. iv. Valt chiffer. I PKS (med öppen chiffreringsnyckel) utgör detta en fjärde typ av möjlighet för kryptoanalytikern. v. 'Timing'analys. En nyupptäckt teknik som bygger på att beräkningstider är beroende av nyckelstorlekar i PKS. Kan troligen förhindras via "förblindning" e dyl. vi. Ett exempel. I en danslokal finns ett anslag: Red ut vad följande betyder: EMDNAT MNODSDIA LASSGROUH AAGLXY PATMHNO WWEA Chiffret blir trivialt att forcera med upplysningen/sidoinformationen: 'Square Dance Formations'! En kryptografiker måste alltid räkna med att kryptoanalytikern besitter mycken sidoinformation, som t ex språkkännedom/språkstatistik Protokollforcering i. Chiffer. Även om en algoritm/mekanism i sig förefaller svår/omöjlig att forcera är det ibland möjligt att forcera användningen. Återanvändning av nycklar eller andra parametrar eller dåliga nyckelval är gissel i detta sammanhang. Ett nytt resultat är sk 'fault-based cryptanalysis'. Genom fel i smarta kort kan i västa fall uppstå ett läge i vilket den privata nyckeln oavsiktligen yppas. ii. Dgitala signaturer, identifieringsmetoder, 'hash'-funktioner och MAC. Här föreligger lite andra omständigheter.

19 19 För digitala signaturer anges tex följande attacker: endast-nyckel, känd-signatur och vald klartext. För 'hash'-funktioner och MAC talas om kolllisionsfrihet m m. Beträffande identifieringsmetoder talas om sundhet. 1.6 Kryptoöversikt i. Tekniker. Chiffer kan vara, som vi sett, endera konventionella/symmetriska/'one-key' eller av typen PKS. De kan också klassifieceras som - blockorienterade - flödesorienterade. DES är ett blockchiffer som byggs upp som en "produkt" av enkla transformationer; - produktchiffer. RSA är ett chiffer av formen - exponentiellt. Med dagens implementeringar är DES cirka 1000 gånger snabbare än RSA, varför RSA används för mekanismer som behövs "sällan" t ex för hantering av nycklar, signaturer och identifiering, medan DES (och kusiner) används för "bulkdata"-chiffrering. Vissa PKS kan också varieras för att skapa - digitala signaturer, d v s namnteckningar som binds till dokument för att bestyrka dess äkthet. Eftersom ett chiffers värdeförråd vanligen har samma kardinalitet som definitionsområdet brukar klartexter ofta kompakteras via - 'hashing' innan de signeras. Denna redundansminskning visar sig också försvåra förfalskning av signaturer. Det finns många speciella 'hash'-funktioner konstruerade att användas i kryptosammanhang. Krypteringsfunktioner kan också användas för att hantera nycklar; - 'key agreement' - 'key [pre]distribution' - 'key generation'. Ofta används hierarkier av nycklar, vilket innebär att en "huvudnyckel" blir en sällsamt värdefull enhet. För att skydda sådana används tekniker som kallas - 'secret sharing'. Chifferliknande metoder kan användas för att åstadkomma - identifikationsmetoder för att undvika att lösenord, PIN-koder, et c sänds i klartext över nät. En sammanfattning av olika tekniker och mål ges av följande tabell 1.6.

20 20 Algoritmtyp vs. mål Konfidentialitet Autenticitet Integritet Nyckelhantering Symmetriska chiffer ja nej ja/nej ja Asymmetriska chiffer ja nej ja/nej ja Digitala signaturalgoritmer nej ja ja nej Nyckelhanteringsalgoritmer nej nej nej ja 'Hash'- funktioner nej nej ja nej Identifikationsalgoritmer nej ja nej nej 'Secret sharing' nej nej nej ja Tabell 1.6. Mål och medel för kryptofunktioner ii. En taxonomi. Ett annat sätt att indela kryptofunktioner är följande, tabell 1.7. Kommentarer. 1. En en-vägsfunktion f är sådan att f är "enkel" att beräkna medan f -1 är "svår" att beräkna. 2. En 'hash'-funktion är en-vägs med ett värdeförråd (mycket) mindre än definitionsområdet. 3. En 'hash'-liknande funktion som bygger på en hemlig nyckel är en MAC. 4. ID-protokoll är generaliseringar av konventionella inloggningssekvenser. 1 Säkerhetsprimitiv 1.1 Utan nyckel Envägsfunktioner Hashfunktioner 1.2 Privat nyckel Chiffer med privat nyckel Blockchiffer Flödeschiffer Hashfunktioner med nyckel (MAC) ID protokoll 1.3 Publik nyckel Chiffer Blockchiffer Flödeschiffer ID protokoll Protokoll för nyckelutbyte Signaturer Enkla - med appendix - med 'recovery' Blinda Ickeförnekbara m fl Tabell 1.7. Krypto-taxonomi iii. En sammansättning. I paketet PGP ('pretty good privacy') sammankopplas flera olika typer av kodning enligt följande tabell. Åtskillaga detaljer är utelämnade. Systemet är ganska populärt och utvecklas kontinuerligt. Elementet w i stället för m skickas via nätet från A till B: A B.

21 21 Steg Element Kommentar 1 m, k = k-gen(frö) Klartext m given. Nyckel k genereras med X x = hash(m) Här används Rivests metod MD5 3 y = sig A (x) Avsändaren A signerar med RSA 4 z = compact(m, y) Här kompakteras med metoden ZIP 5 u = e k (z) Chiffrering med IDEA-algoritmen och nyckeln k 6 v = e B (k) RSA-chiffrera nyckeln k med Bs publika nyckel 7 w = convert(u, v) Konvertera till ASCII enligt radix-64; skrivbara tecken I bildform ter sig detta så här: Tabell 1.8. PGP m hash MD5 x sig RSA y comp ZIP k-gen X9.17 As privata Bs publika k encrypt RSA w convert R-16 u encrypt IDEA z v Avsändarsidans transformationer Figur PGP Det är värt att notera hur symmetriska respektive asymmetriska system används: De förra för att chiffrera 'bulk data', det andra för att chiffrera en nyckel för det första ändamålet. En 'hash'-funktion appliceras på meddelandet innan detta signeras. För detta finns minst två skäl; dels bör signaturen bli av rimlig omfattning, dels bidrar detta till säkerheten.

22 22 Nyckeln för chiffret för konfidentialitet tas fram som ett pseudoslumptal. Avsändarens publika RSA-nyckel distribueras utanför systemet. Funktionen 'compact' reducerar redundansen i paret <meddelande, signatur>; detta sparar utrymme såväl som att det gör chiffret säkrare. Funktionen 'convert' har ingen säkerhetsmässig relevans. Den är bara till för att texten ska kunna hanteras av vissa e-post-system. Radix-64-metoden fungerar så: 1. Ett godtyckligt 24-biatrs block delas in i 4 lika stora delar (om 6 bits.) 2. Varje 6-bits block motsvarar enligt en enkel kodning ett tecken i alfabetet {A,..., Z, a,..., z, 0,..., 9, +, /} -- notera att det är 64 tecken = {0, 1,..., 63} 3. Motsvarande tecken skrivs ut i 8-bitars block enligt ASCII. iv. Hur upptäcks om en fil är krypterad? Många filtyper kan se slumpmässiga ut vid en första inspektion. Här är några tips. 1. ASCII är lätt att kontrollera. Andra typer som tex TEX, Postscript och Excel och till och med binärkod har standardidentifierare. 2. Försök att göra uncompress: Om filen bara är kompakterad så ger detta sannolikt en filtyp enligt Försök att göra compress: Om filen är krypterad så är sannolikheten att detta ska krympa filen mer än några % liten (om chiffret är bra). Noter Nästan alla böcker om kryptologi och datasäkerhet behandlar det som beskrivits i dessa anteckningar. Se t e x böckerna av D. Stinson [Sti95] och W. Stallings [Sta99]. De inledande "spelreglerna" kan man finna mer om i [Den99] och [Gol99]. David Kahns historiska epos är [Kah67]. ISO-dokumentet är [ISO88]. TCSEC dokumenteras i [TCSEC]. Taxonomin i tabell 1.2 är från [Lan94]. RSA-artikeln [RSA78] finns on-line. Läs: Andra tjänster som tillgänglighet, 'safety' och feltolerans har samband med säkerhet men studeras vanligen under rubriken tillförlitliga system. 'Timing'-analys är från [Ko95]. 'Fault-based'-analys är från [BDL96]. Tabell 1.7 är från [BP95]. Övningar 1.1. Dechiffrera följande text som är framställd med ett Caesarchiffer. vrvrv hdpvw uhvv 1.2. Skriv ett program, ju kortare dess bättre, som när det kompileras och körs skriver ut en kopia av sig själv i källtextformat. (En fråga relaterad till virus-begreppet; se t ex [Tho84].)

23 Vad kan man dra för slutsats av följande anvisning. "Det är strängeligen förbjudet att vid telegrafi sända klartext och kryptogram vid samma tidpunkt även om adressaterna skulle vara olika." 1.4. Redogör för skillnader mellan virus och maskar Vilka av följande funktioner utgör chiffer över Z 29? - e K (x) = x 2 mod K = 2 - e K (x) = x 3 mod K = 3 - e K (x) = x 5 mod K = Antag att du vill definiera ett RSA-system baserat på primtalen p = 5 och q = 7. Vad blir då φ(n)? Antag vidare att du väljer den privata nyckeln d = 11. Vad blir den öppna nyckeln e? Vilket chiffer c erhålls om klartexten m = 2? Visa att dechiffreringen återskapar m Antag att det i:te chiffret c i i en fil, som är krypterad med ett synkront flödeschiffer, stryks och resten av filen dechiffreras och återchiffreras med den ursprungliga nyckelsekvensen men nu så att c i+1 erhålls med k i, c i+2 erhålls med k i+1, osv. Visa att k j och m j för j i kan bestämmas från de båda chiffren om m i är känt Antag att en DES-nyckel bara består av 7 bokstäver (bytes) i [a,..., z]. Uppskatta hur lång tid 'brute force' tar om varje nyckel kan testas på 1 µs. Hur lång tid tar det om alla 56 bitarna utnyttjas? 1.9. Visa att de båda MAC som omnämns i slutet av avsnitt blir lika Om p är ett primtal så gäller att p 1 (mod 4) eller att p 3 (mod 4). Sant eller falskt? Ange en approximation till log Om x är udda så gäller x 2 1 (mod 8). Sant eller falskt? Låt de de sex utfallen x 1,..., x 6 förekomma med följande sannolikheter: p(x 1 ) = p(x 2 ) = p(x 3 ) = 1/4 p(x 4 ) = 1/8 p(x 5 ) = p(x 6 ) = 1/16. Beräkna värdet av uttrycket H = - Σ 1 i 6 p(x i ) log 2 p(x i ). Försök visa att detta H aldrig, oberoende av värdena p(x i ), kan bli större än log Diskutera möjliga attacker på signatursystem: Endast-nyckel, känd-signatur och valdklartext och förfalskningar av typ existensiell, selektiv, universell och 'total break' En följd block x 1,..., x n chiffreras med DES för att ge y 1,..., y n. Antag att ett block, säg y i, förvrängs (men inte tappas bort eller dupliceras) vid överföringen. Hur många block blir felaktiga efter dechiffrering om ECB ('electronic code book'), OFB ('output block feedback'), CBC ('cipher block chaining') respektive CFB ('cipher feedback') används.

Grundfrågor för kryptosystem

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

Läs mer

Kryptering HEMLIG SKRIFT SUBSTITUTION STEGANOGRAFI KRYPTOGRAFI

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

Läs mer

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

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

Läs mer

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

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

Läs mer

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

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

Läs mer

Metoder för sekretess, integritet och autenticering

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

Läs mer

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

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

Läs mer

Kryptering. Krypteringsmetoder

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

Läs mer

Skydd för känsliga data

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

Läs mer

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

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

Läs mer

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

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

Läs mer

NÅGOT OM KRYPTERING. Kapitel 1

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

Läs mer

Introduktion till protokoll för nätverkssäkerhet

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

Läs mer

256bit Security AB Offentligt dokument 2013-01-08

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

Läs mer

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

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

Läs mer

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

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

Läs mer

RSA-kryptering och primalitetstest

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

Läs mer

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

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

Läs mer

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det

Behörighetssystem. Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Behörighetssystem Ska kontrollera att ingen läser, skriver, ändrar och/eller på annat sätt använder data utan rätt att göra det Systemet måste kunna registrera vilka resurser, d v s data och databärande

Läs mer

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

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

Läs mer

Några satser ur talteorin

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

Läs mer

Protokollbeskrivning av OKI

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

Läs mer

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

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

Läs mer

Modul 3 Föreläsningsinnehåll

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

Läs mer

MA2047 Algebra och diskret matematik

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

Läs mer

Grundläggande krypto och kryptering

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

Läs mer

Kryptering & Chiffer Del 2

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

Läs mer

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

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

Läs mer

Kryptografiska mekanismer och valutor

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

Läs mer

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

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

Läs mer

Grundläggande kryptering & chiffer

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

Läs mer

Offentlig kryptering

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

Läs mer

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

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

Läs mer

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

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

Läs mer

Introduktion. 1DV425 Nätverkssäkerhet. Patrik Brandt

Introduktion. 1DV425 Nätverkssäkerhet. Patrik Brandt Introduktion 1DV425 Nätverkssäkerhet dagens agenda Viktiga begrepp och mål Verktyg för att upprätthålla målen Principer Grunderna i kryptering Åtkomstlista (ACL) Attacker (Läs delvis själva) Litteratur

Läs mer

Kryptografiska mekanismer och valutor

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

Läs mer

RIV Tekniska Anvisningar Kryptografi. Version ARK_

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

Läs mer

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

Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet. Säkerhet. Grundbegrepp (1/5) Modern telekommunikation 2002-11-13. Föreläsning 10 Datasäkerhet grundbegrepp datasäkerhet i nätet Säkerhetsstandarder och program brandväggar IPSEC SSH PGP SSL 2002-11-13 Bengt Sahlin 1 Säkerhet Olika former av säkerhet (företagsperspektiv

Läs mer

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Metoder för datasäkerhet. Vad handlar en sådan kurs om??? Metoder för datasäkerhet Vad handlar en sådan kurs om??? Vad avses då media rapporterar om datasäkerhet? Oftast resultat av brister i säkerheten Allt möjligt av helt olika karaktär, som Försvunna viktiga

Läs mer

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

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

Läs mer

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

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

Läs mer

Övning 6. Komprimering, kryptering, dokumentering & testning

Övning 6. Komprimering, kryptering, dokumentering & testning Per Sedholm DD1320 (tilda11) 2011-10-05 1. Smittskydd Övning 6 Komprimering, kryptering, dokumentering & testning Du har fått ett mail som innehåller tips mot spridning av virus. Informationen är komprimerad

Läs mer

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

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

Läs mer

Den mest väsentliga skillnaden mellan

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

Läs mer

Säkerhet. Vad är det vi pratar om??

Säkerhet. Vad är det vi pratar om?? Vad är det vi pratar om?? Hindra personer att komma in i ett system? Hindra personer att läsa data? Hindra personer att ändra data? Hindra personer att modifiera systemet? Hindra personer att läsa information

Läs mer

SLU Säkerhets instruktioner avseende kryptering av filer

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

Läs mer

Policy Underskriftstjänst Svensk e-legitimation

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

Läs mer

Metoder för datasäkerhet. Vad handlar en sådan kurs om???

Metoder för datasäkerhet. Vad handlar en sådan kurs om??? Metoder för datasäkerhet Vad handlar en sådan kurs om??? Vad avses då media rapporterar om datasäkerhet? Oftast resultat av brister i säkerheten Allt möjligt av helt olika karaktär, som Försvunna viktiga

Läs mer

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

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

Läs mer

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

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

Läs mer

Kravspecifikation Fredrik Berntsson Version 1.1

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

Läs mer

Primtal, faktorisering och RSA

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

Läs mer

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg

Läs mer

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

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

Läs mer

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

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

Läs mer

Dölja brott med datorns hjälp

Dölja brott med datorns hjälp Dölja brott med datorns hjälp Användandet av kryptering för att dölja brott har funnits länge(1970) Datorer har ändrat förutsättningarna Telefoni, fax och realtidskommunikation Svårare att bugga kommunikation

Läs mer

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

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

Datastrukturer och algoritmer. Innehåll. Tabell. Tabell - exempel. Gränsyta till Tabell. Tabell. Modell. Hashtabell Relation, lexikon. Datastrukturer och algoritmer Föreläsning 7 Tabell, hashtabell Relation & lexikon Innehåll Tabell Tabell Hashtabell Relation, lexikon Modell Uppslagsbok Organisation Ändlig avbildning av argument på värden

Läs mer

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

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

Läs mer

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

KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET. Carl Önne carl.onne@certezza.net KRYPTERING - MÖJLIGHET ELLER OMÖJLIGHET Carl Önne carl.onne@certezza.net Kerckhoffs principer (något modifierade) Systemet i praktiken oknäckbart, helst även teoretiskt Designen av systemet öppet, det

Läs mer

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

Direktkoppling till Girolink Internet. Filöverföring av betalningar och betalningsinformation via Girolink Internet. Version 1.0 Direktkoppling till Girolink Internet Filöverföring av betalningar och betalningsinformation via Girolink Internet Version 1.0 Maj 2007 Innehållsförteckning 0. DOKUMENTHISTORIK 1 ALLMÄNT - DIREKTKOPPLING

Läs mer

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

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

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

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

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

Läs mer

Säkerhetsbrister & intrång

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

Läs mer

Datastrukturer. föreläsning 6. Maps 1

Datastrukturer. föreläsning 6. Maps 1 Datastrukturer föreläsning 6 Maps 1 Avbildningar och lexika Maps 2 Vad är ett lexikon? Namn Telefonnummer Peter 031-405937 Peter 0736-341482 Paul 031-405937 Paul 0737-305459 Hannah 031-405937 Hannah 0730-732100

Läs mer

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce

Läs mer

Datasäkerhet och integritet

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

Läs mer

Informationssäkerhet - en översikt. Louise Yngström, DSV

Informationssäkerhet - en översikt. Louise Yngström, DSV Informationssäkerhet - en översikt Louise Yngström, DSV Närmaste 50 minuterna... Informationssäkerhet? Definition Mål Krav Medel Datasäkerhet säkerhet beträffande skydd av datorsystem och dess data syftande

Läs mer

Övning 6 - Tillämpad datalogi 2012

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

Läs mer

Transportstyrelsens föreskrifter om hantering av krypteringsnycklar och certifikat för tillverkning av digitala färdskrivare;

Transportstyrelsens föreskrifter om hantering av krypteringsnycklar och certifikat för tillverkning av digitala färdskrivare; Transportstyrelsens föreskrifter om hantering av krypteringsnycklar och certifikat för tillverkning av digitala färdskrivare; beslutade den 13 december 2012. Transportstyrelsen föreskriver följande med

Läs mer

DNSSec. Garanterar ett säkert internet

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

Läs mer

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

Säkerhet. Olika former av säkerhet (företagsperspektiv [1]) Mål Föreläsning 12 Förse en kort introduktion till säkerhet Förse en introduktion till datasäkerhet Behandla grundbegrepp inom datasäkerhet Behandla grundprotokoll för säkerhet inom nätet Säkerhet Olika

Läs mer

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

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

Läs mer

Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef

Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem. Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef Hot mot nyckelhantering i DNSSEC och lite om hur man undviker dem Anne-Marie Eklund Löwinder Kvalitets- och säkerhetschef Överväganden Införandet av DNSSEC nödvändiggör en juridisk analys. Vilken riskexponering

Läs mer

Definitionsmängd, urbild, domän

Definitionsmängd, urbild, domän 5B1493, lekt 5, HT06 Funktioner Definition av begreppet Definition: Låt X och Y vara två mängder. En funktion f av typ X Y är detsamma som en delmängd av X Y, sådan att 1. Om (x, y) och (x, z) f, så är

Läs mer

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4

ÄNDLIGT OCH OÄNDLIGT AVSNITT 4 VSNITT ÄNDLIGT OCH OÄNDLIGT Är det möjligt att jämföra storleken av olika talmängder? Har det någon mening om man säger att det finns fler irrationella tal än rationella? Är det överhuvudtaget möjligt

Läs mer

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor Papegojor Yanee är fågelentusiast. Sedan hon läst om IP over Avian Carriers (IPoAC), har hon spenderat mycket tid med att träna en flock papegojor att leverera meddelanden över långa avstånd. Yanees dröm

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

Läs mer

Diskret matematik, lektion 2

Diskret matematik, lektion 2 Diskret matematik, lektion Uppgifter med (*) är överkurs, och potentiellt lite klurigare. Ni behöver inte kunna lösa dessa. 1 Uppgifter 1. Låt A = {1,, 3}, B = {a, b}. Vilka element finns med i... a) A

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

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

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

Läs mer

Vinjetter TDDC91 Datastrukturer och algoritmer

Vinjetter TDDC91 Datastrukturer och algoritmer Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.

Läs mer

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12

Aritmetisk kodning. F (0) = 0 Exempel: A = {1, 2, 3} k=1. Källkodning fö 5 p.1/12 Aritmetisk kodning Vi identifierar varje sekvens av källsymboler med ett tal i intervallet [0, 1). Vi gör det med hjälp av fördelningsfunktionen (cumulative distribution function) F. För enkelhets skull

Läs mer

repetitionskoder blockkoder Felrättande koder

repetitionskoder blockkoder Felrättande koder Antag att en följd av nollor och ettor ska skickas genom en kanal: 0 0 0 0 0 0... Om det finns en viss risk (sannolikhet) för fel kanske vi får ut: 0 0 0 0 0 0... Hur kan man rätta till felen med så lite

Läs mer

TDDI16: Datastrukturer och algoritmer

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

Läs mer

Välkommen till en översikt av...

Välkommen till en översikt av... Välkommen till en översikt av... Data Integrity (In the context of networked file systems) Björn Lalin (d00-bla) Gör exjobb på IBM Research Lab, Schweiz Vad det kommer handla om Motivering Modell och sammanhang

Läs mer

Moderna krypteringssystem

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

Läs mer

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

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

Läs mer

Elektroniska signaturer - säker identifiering?

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

Läs mer

Försöksnomineringssystem 2013

Försöksnomineringssystem 2013 Försöksnomineringssystem 2013 Försöksnomineringssystem 2013... 1 1 Nominering... 2 1.1 Nominera sig själv... 2 1.2 Nominera någon annan... 2 1.3 Nominera som förening m.fl.... 2 2 Deltagaruppgifter...

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

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

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

Läs mer

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

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

Läs mer

Övningshäfte 3: Funktioner och relationer

Övningshäfte 3: Funktioner och relationer GÖTEBORGS UNIVERSITET MATEMATIK 1, MAM100, HT2014 INLEDANDE ALGEBRA Övningshäfte 3: Funktioner och relationer Övning H Syftet är att utforska ett av matematikens viktigaste begrepp: funktionen. Du har

Läs mer

Att forcera Caesar-krypto är inte så svårt. Antalet möjliga nycklar är bara

Att forcera Caesar-krypto är inte så svårt. Antalet möjliga nycklar är bara Nämnarens kryptoskola 11. Forcering av Caesarkrypto och enkel substitution lärarsida Att forcera Caesar-krypto är inte så svårt. Antalet möjliga nycklar är bara 28. En lämplig teknik för denna forcering

Läs mer

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1 Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut

Läs mer

En introduktion till några klassiska chiffer

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

Läs mer

DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen 2010-10-18

DD1320 Tillämpad datalogi. Lösnings-skiss till tentamen 2010-10-18 DD1320 Tillämpad datalogi Lösnings-skiss till tentamen 2010-10-18 1. Mormors mobil 10p M O R M O R S M O B I L M O R M O R S M O B I L i 1 2 3 4 5 6 7 8 9 10 11 12 next[i] 0 1 1 0 1 1 4 0 1 3 1 1 Bakåtpilarna/next-värde

Läs mer

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

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

Läs mer