Lectures for 2008 - KTH
Lectures for 2008 - KTH
Lectures for 2008 - KTH
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
KURSKOMPENDIUM NÄTVERKSSÄKERHETSKURS<br />
___________________________________________________________________________<br />
undviker samtidigt den traditionella betrodda tredje parten (eng. trusted third-party) som är<br />
certifikatutgivare eller liknande som en PKI brukar innehålla.<br />
I tidigare utgåvor använde PGP algoritmerna IDEA och RSA för kryptering. På grund av en<br />
lång rad problem med patent på dessa algoritmer så övergick man i ett senare skede till att<br />
använda DSS och ElGamal för signering och kryptering. PGP definierades i och<br />
användningsområden beskrevs i äldre RFC, nämligen 1991 (”PGP Message Exchange<br />
Formats”), RFC 2015 (”MIME Security with Pretty Good Privacy (PGP)”).<br />
OpenPGP är en standard definierad av IETF i RFC 2440 (”OpenPGP Message Format”), RFC<br />
3156 (”MIME Security with OpenPGP”). GPG, Gnu Privacy Guard, är en fri variant av PGP<br />
som implementerar OpenPGP. GPG finns tillgänglig från http://www.gnupg.org<br />
Secure/Multipurpose Internet Mail Extensions, populärt förkortat som S/MIME är en standard<br />
för att skicka krypterade och signerade e-postmeddelanden. S/MIME bygger på PKCS #7<br />
data<strong>for</strong>mat för meddelanden samt X.509v3 för certifikat. Många e-postklienter, inlusive<br />
outlook, har stöd för S/MIME-signerade och krypterade meddelanden. Såväl S/MIME och<br />
PGP skickas via MIME-kodade epostmeddelanden. S/MIME existerar i flera versioner, främst<br />
S/MIMEv2 och S/MIMEv3. Version 2 beror på 40-bitars nyckellängd och RSA-kryptering.<br />
Version 3 har utökat skydd och kan använda andra nyckellängder.<br />
Det finns ett antal utökningar till grundprotokollet S/MIME för att erhålla signerade<br />
mottagningskvitton, säker e-postlistor.<br />
S/MIME definieras i RFC 2630, RFC 2632 och RFC 2633<br />
5.10 Säkerhetsaspekter i ett kryptosystem<br />
Det finns flera kritiska säkerhetsaspekter att ta hänsyn till när man skapar ett kryptosystem.<br />
Den första är valet av krypteringsalgoritm. En väl publicerad algoritm som har klarat av<br />
många års analys och kritiskt granskande anses ofta vara ett säkrare alternativ än en ny,<br />
företagshemlig algoritm. En annan viktig säkerhetsaspekt är valet av längd på<br />
krypteringsnyckeln. Tumregeln är att längre kryptonycklar är svårare att attackera än kortare<br />
nycklar för samma eller liknande kryptoalgoritmer. Dessutom innebär hanteringen av nycklar<br />
speciella problem. Såväl nyckelgenerering som nyckeldistribution måste vara genomtänkt och<br />
väl utförd. Ofta är dessa moment systemets akilleshälar.<br />
Dåligt genererade nycklar kan lätt <strong>for</strong>ceras och svagheter i nyckeldistributionen öppnar blottor<br />
hos i övrigt säkra lösningar. Implementationsfrågorna är ytterligare en viktigt säkerhetsaspekt.<br />
Det gäller bland annat att inte få dåligt framtagna sessionsnycklar, inte glömma klartextkopior<br />
av data någonstans i minnet eller filsystemet och liknande.<br />
Sessionsnycklar byggs ofta med hjälp av slumptal. Är dessa inte tillräckligt slumpmässiga så<br />
går det lättare att gissa sig till sessionsnyckeln – man har minskat omfånget på vilka nycklar<br />
som skall provas. Slutligen gäller det förstås också att studera hur nycklarna hanteras i<br />
datormiljön, till exempel om de lagras på hårddisk eller i datorns arbetsminne. En annan<br />
viktig säkerhetsaspekt är att inte återanvända nycklar till andra protokoll eller i andra<br />
sammanhang. Ett exempel på farlig användning är att man brukar samma kryptonyckel för att<br />
sköta autentisering, elektronisk signering och sedan använder samma nyckel för kryptering.<br />
Copyright (c) 2003-<strong>2008</strong> Robert Malmgren AB. All rights reserved Sid 88 (139)