Kedjesignering ger säkra domännamn

Internets domännamnsystem (DNS) har allvarliga säkerhetsbrister. Tänk bara vad som skulle kunna hända om någon ville manipulera www.amazon.com eller e-postadresser i DNS-systemet. Därför arbetar en grupp inom IETF med att komma till rätta med problemen med säkerheten i DNS.

DNS (Domain Name Systems) är en viktig del av Internets infrastruktur, något som vi mer eller mindre tar för givet när vi klickar på en länk eller skickar e-post. Datorer på Internet adresseras med upp till tolv siffror långa IP-nummer. Enkelt för datorer, men med sifferminnet hos oss människor är det lite si och så.

Vi handskas hellre med www.regeringen.se som adress till regeringskansliets webbserver än det motsvarande IP-numret 194.52.220.6

Alltså behöver Internet DNS, en katalogtjänst för översättning av datornamn till IP-nummer. Eftersom Internet omfattar tiotals miljoner datorer är det ogörligt att upprätthålla en central katalog. En sådan skulle inte bara bli gigantiskt stor, den skulle också vara konstant inaktuell, på samma sätt som tryckta telefonkataloger.

Lösningen ligger i att distribuera domännamnsystemet över ett stort antal DNS-servrar världen över.

Varje sådan server ansvarar för sin egen zon (en eller flera underdomäner). Detta delegerade system gör att administratörerna för respektive server bara behöver hålla reda på förändringar som sker inom den egna zonen. När datorer läggs till eller tas bort, behöver bara en server uppdateras, vilken gör förändringen tillgänglig för hela Internet.

Hierarkisk struktur
DNS-systemet är organiserat i en upp och nervänd trädstruktur, ungefär som filsystemet i en dator. Högst upp finns rotservrarna, som administreras av InterNIC (Internet Network Information Center). Steget under utgörs av toppdomänerna vars uppbyggnad följer en internationell standard. I Sverige heter toppdomänen se i Danmark är det dk etc. Utöver de nationella toppdomänerna finns de traditionella amerikanska com, edu, org etc. Längre ned i hierarkin följer underdomäner i flera nivåer.

Så här går det till
När vi kopplar upp oss till Regeringskansliet via en webbläsare skulle vi kunna skriva in IP-adressen 194.52.220.6, men de flesta av oss tycker att det är enklare med www.regeringen.se Webbläsaren vänder sig därför till sin DNS-klient, som kontaktar en DNS-server för att översätta www.regeringen.se till motsvarande IP-nummer. Klienten har konfigurerats med en DNS-server på Internet som kontaktas i första hand (till exempel 197.71.220.10 för dns1. telia.com om man har Telia som Internetleverantör). Om servern inte känner till efterfrågad adress sker hänvisning till andra servrar steg för steg, tills adressen hittats.

Information lagras på DNS-servrar som resursposter (resource records, RR). Bland RR-typerna kan nämnas Adress som innehåller datornamn och dess IP-nummer, och Mail Exchanger som används för att översätta e-postadresser till datornamn. Canonical Name används för alias som pekar på datorns officiella domännamn. Det är användbart när man byter namn på en dator och under en övergångsperiod vill kunna använda både det nya och det gamla namnet.

Så förbättras säkerheten
För att komma till rätta med DNS säkerhetsproblem har IETF (Internet Engineering Task Force) tillsatt arbetsgruppen DNSSEC (Domain Name System Security). De arbetar med DNS-protokollets säkerhetsmässiga utbyggnad, under namnet Secure DNS.

Det befintliga systemet har där utökats med kryptografisk integritetskontroll av resursposterna, för att förhindra obehörig manipulation. Man använder traditionell kryptering med publika nycklar. Varje domän (DNS-zon) genererar en publik nyckel och motsvarande privata nyckel, och använder sedan sin privata nyckel för att signera de resursposter som de publicerar. Mottagaren använder sedan zonens publika nyckel för att bekräfta att posten signerats av domänens ägare. De publika nycklarna görs tillgängliga genom att de lagras i speciella resursposter.

Varje domäns publika nyckel signeras även av dess moderdomän. Exempelvis signeras den publika nyckeln för www.w3.org av w3.org, vars nyckel i sin tur signeras av org. Slutligen signeras nyckeln för org av InterNIC, som administrerar DNS toppdomän. Detta kedjesystem försvårar manipulation av en enskild nyckel i systemet. Eftersom kedjan följer DNS-systemets hierarkiska struktur, är det enkelt att verifiera giltigheten hos den publika nyckeln för en given domän.

Signaturerna är försedda med giltighetsdatum, för att minska riskerna för återuppspelning av tidigare trafik. Giltighetstiden bestäms av respektive domäns ägare, så att de själva kan avgöra hur de vill kompromissa mellan säkerhet och bekvämlighet.

På köpet ger de nya resursposterna i Secure DNS en bekväm infrastruktur för publicering av publika nycklar och certifikat. X.509-certifikat, PGP-nycklar och nycklar för virtuella privatnät distribueras via DNS. Applikationer får på så sätt tillgång till en global nyckeldatabas.

DNS Security tillåter att resursposter signeras off-line, för att sedan flyttas till en DNS-server. Fördelen med detta är att den privata nyckeln hålls utanför Internetanslutna servrar, oåtkomlig för inkräktare (såvida de inte gör inbrott i lokalen där nyckeln förvaras).

9911.gif (29706 bytes)
Exempel på DNS-systemets sårbarhet. Genom en attack mot DNS-servern hos företag B, kommer all dess utgående e-post att slussas via företag C. På grund av DNS-systemets distribuerade natur kan en attack många gånger pågå under lång tid och förbli oupptäckt.

 

Exportrestriktioner
Ett problem med alla kryptografiska system är att vissa regeringar infört exportrestriktioner. Syftet med dessa regleringar är att förhindra förmedling av insynsskyddad information. Inom Secure DNS används kryptering uteslutande för att verifiera resursposternas äkthet, inte för att dölja information. Tyvärr är regleringarna lite missriktade och slår därför i en del fall mot Secure DNS. Med undantag av fem eller sex totalstoppade länder har dock Secure DNS godkänts av de amerikanska myndigheterna för export.

Michael Seemann
Fler artiklar