Dnssec är ett tillägg till dns, internets katalogtjänst, som tjänar till att bland annat webbadresser kan säkras och leder rätt. Med dnssec ska du slippa oroa sig för mellanhandsattacker (”man-in-the-middle”), det vill säga att någon tar över kommunikationen mellan till exempel en internetbank och bankkunden.
Det finns förstås gott om säkerhetsproblem som inte avhjälps med dnssec, men genom att zoner kan verifieras försvinner i alla fall en del av osäkerheten hos internet. Det blir helt enkelt troligare att man verkligen vet varifrån information kommer.
Spelar zonförsvar
Med dnssec signeras zonerna kryptografiskt, med publik nyckel. Vad menas då med det? En zon är i princip en domän, och domäner sorteras in i en tydlig hierarki. Först har man rot-zonen, den som finns högst upp i hierarkin och som ansvarar för tilldelning av zoner som representeras av ändelser såsom .com, .org eller .se, det vill säga toppdomäner. Sedan finns varje toppdomäns zon, till exempel den svenska toppdomänen .se som administreras av .SE (Stiftelsen för Internetinfrastruktur). Under dessa kommer i sin tur olika domäner som ägs av företag eller privatpersoner, såsom idg.se. För var och en av de nivåerna krävs en dns-uppslagning, som ser till att logiska adresser (till exempel techworld.idg.se) översätts till ip-adresser.
Dnssec tillför som sagt signering av zonerna. Vid en uppslagning med dnssec, till skillnad från med öppen dns, kontrolleras signaturen i uppslagningen mot en nyckel för den zon som kontrollerar den uppslagna domänen. Därmed får man en extra kontroll i själva uppslagningen. Man får helt enkelt veta att den som svarar på frågan om en viss domän verkligen är den som har rättighet att svara.
Med dnssec tillför man alltså information som inte finns i det ursprungliga protokollet för dns. Dessa tillägg åstadkommer tre saker: autenticering av varifrån dns-data kommer, kontroll av dataintegritet, samt autenticering av svaret att en uppslagning inte ger något data.
Råstark bugg, men svag för dnssec
Ett av de säkerhetsproblem som dnssec löser är känt som Kaminsky-buggen. Den är uppkallad efter säkerhetsforskaren Dan Kaminsky, som 2008 upptäckte och publicerade denna svaghet i själva dns-protokollet.
En dns kan ha två olika, väsensskilda funktioner, auktoritativ namnserver och rekursiv resolver. Historiskt sett har man sammanfört dessa funktioner i en och samma instans av programmet. Om man i stället separerar dem isolerar man sina egna zondata från cache-förgiftning, och klargör dessutom vad som är de olika sidorna av systemet dns, vilket hjälper vid felsökning.
Den auktoritativa namnservern är den som har grunddata för en viss domän, och den påverkas inte direkt av Kaminskybuggen. Det gör däremot den rekursiva resolvern, som är det som används när en dator ska slå upp en viss adress. Principen för dns är ju att hela systemet är distribuerat, så att man inte ska behöva gå direkt till den auktoritativa namnservern för att få en uppslagning, utan kan få svar av vilken dns som helst som är rätt konfigurerad för internet.
Kaminskybuggen går i korthet ut på att det är för lätt att genom råstyrka få en dator att gissa ett svar från en dns, villket öppnar för möjligheter att till exempel stoppa in falska webbplatser eller stjäla e-post. De flesta rekursiva resolvers har i dag en fix som gör det betydligt svårare att utnyttja Kaminskybuggen, men i grunden ligger svagheten som sagt i själva dns-protokollet och kan därför inte lagas helt. Den långsiktiga lösningen är i stället dnssec.
Innehållsförteckning
- dns, domain name system: Protokoll som används för namnuppslagning. Kallas även för internets katalogtjänst.
- dnssec, domain name system security extensions: Tillägg till dns-protollet för att införa autentisering av varifrån datan ursprungligen kommer.
- dns record: Data som man frågar efter vid en dns-uppslagning. Med dnssec har ett antal nya records lagts till dns-protokollet.
- toppdomän: Övergripande domän som syns som den sista delen av ett domännamn. Till exempel är .se den svenska toppdomänen.
- zon: En logisk indelning av ansvar för namnuppslagning, i princip motsvarande domäner.