Domenenavn med særnorske bokstaver.

Et tilleggsdokument til bruk i dataundervisningen ved Oslo By Steinerskole.

Tema: DNS (Domain Name Service), URL (Uniform Resource Locator),
IDN (Internationalized Domain Names).

Det er nå gått en tid siden Post og Teletilsynet (de som driver NORID) åpnet for å registrere domenenavn med de særnorske bokstavene “Æ”, “Ø” og “Å”. Domenenavn som øl.no og vær.no er registrert og i drift. Denne nye, utvidede muligheten i domenenavn gjør at en URL ikke lenger er så begrenset som den var. Tidligere var det slik at domenenavn bare kunne baseres på ASCII (American Standard Code for Information Interchange), og ikke alle tegnene i denne koden var tilgjengelige heller. Alle bokstavene og tallene 0-9 er tilgjengelige, men mange av spesialtegnene kan ikke brukes i en URL, de er forbeholdt spesielle formål. For eksempel er “:” (kolon) ikke tillatt. Kolon angir hvilken port som skal brukes og kan derfor ikke være en del av en URL.

Den nye måten å skrive en URL kalles IDN (Internationalized Domain Names) og baserer seg på Unicode i steden for ASCII.
ASCII er en kode som er basert på 7 bits, mens Unicode er 16 bits koder. Unicode har koder for stort sett alle tegn i alle alfabeter.
Dette er kanskje viktigst for sprog som kinesisk, thai, japansk og lignende, men et firmanavn eller varemerker ser jo unektelig bedre ut når de skrives riktig. Ukebladet Se og Hør foretrekker sikkert domenenavnet seoghør.no fremfor seoghor.no...
I praksis er det allikevel ikke fullt så lettvint at vi bare sier at fra og med nå, bruker vi Unicode i steden for ASCII. Det ene problemet er at alle DNS rootservere bruker ASCII og ikke Unicode, og i tillegg er det slik at Unicode ofte kodes i det som heter UTF (Unicode Text Format). I UTF er det slik at de vanlige (gode gamle ;) tegnene fra ASCII blir kodet med en byte slik at de beholder den opprinnelige bitkoden. For eksempel vil A kodes som 01000001 (= 65) helt likt i ASCII og UNICODE, mens spesialtegn som Æ, Ø, og Å (eller andre sprogs alfabeter) vil bli kodet med to eller tre byte. Dette gjør man for at tekst som hovedsaklig består av ASCII tegn blir mest mulig kompakt. Det er nok fremdeles slik at en overveiende del av tekst som ligger på Internett er skrevet på engelsk eller et annet vestlig sprog hvor de fleste tegn har en ASCII koding.
Det er imidlertid ikke slik at alle Unicode tegn automatisk blir gjort tilgjengelige i Norge. Både Folkeregisteret, Sametinget og Sprakrad har vært med (sammen med andre instanser) på å bestemme hvilke tegn som skal kunne brukes på toppnivådomenet .no. Det er altså ikke slik at du uten videre får registrert et domenenavn med Unicode fra Kinesisk eller Tysk. Daßtømmer.no (med tysk “dobbel-s”) er neppe tilgjengelig. Et annet problem med dette navnet er at norsk ø ikke er samme Unicode som Svensk ö. Det er mange slike problemer.

Hvordan foregår nå egentlig dette? For det første sa vi tidligere at DNS servere ikke bruker Unicode, de bruker ASCII. Vi må altså jukse dette til på en eller annen måte. Det vi gjør er å installere en tilleggskomponent til weblesern og e-postklienten. Det sier seg også selv at tastatur og fontene som brukes støtter de tegnene du ønsker å bruke.
Her er det viktig å forstå at de fleste bedrifter og institusjoner som vil ha domenenavn med særnorske bokstaver også må, eller bør, ha et domenenavn basert på ASCII. Det som gjøres (i alle fall på Windowsmaskiner) er at det installeres IDNA (IDN in Applications). Denne applikasjonen ligger som et slags mellomledd mellom programmet som bruker Internett (f.eks. e-post programmet) og DNS serveren som skal oversette domenenavnet til IP-adresse.

IDNA vil oversette Unicode til ASCII tekst. Her er det en konverteringsalgoritme (kalt puny-code). Dette betyr at vi ikke kan bruke vanlig ASCII (tegnene er ikke der!), og vi bruker en spesialisert ASCII koding som kalles ACE (ASCII Compatible Encoding). IDNA har også en algoritme for å konvertere tilbake, altså fra ACE til Unicode. Denne konverteringsalgoritmen er ganske komplisert. For eksempel vil “blåbær.no” bli kodet som “xn—blbr-roah”. ACE kodingen har et fast prefix som er “xn--” efterfulgt av ASCII tegnene og så kommer en ny “-” og derefter ikke-ASCII tegn.

Man er helt avhengige av at DNS fungerer likt over hele verden. DNS tjenerne er avhengige av å få sine forespørsler i ASCII. Ved å bruke IDNA i klientmaskinene sikrer vi oss at rotserverene får forespørslene i ren ASCII. IDNA kan godt innføres i deler av Internett uten at det implementeres (settes opp) over alt. Engelsksproglige brukere påvirkes ikke av at norske Internettbrukere kan skrive øl.no, de får bare problemer med å gjøre det selv... Altså, registrer to navn, både øl.no og ol.no og ikke bruk øl.no i e-postadresser hvis du vil ha svar fra andre enn norske brukere av Internett. Navnetjenerene vil ikke merke noe spesielt, de støtter ACE, ikke Unicode men vi har konvertert Unicode til ACE. Det er altså nødvendig å konvertere Unicode domenenavn til ACE koder i DNS masterfile. Tidligere har det vært foreslått andre måter å gjøre Unicode tilgjengelig i URL, men disse forslagene har alle gått ut på å endre infrastrukturen (for eksempel la DNS rotserverene bruke Unicode direkte, men alle disse forslagene er blitt forkastet. Det å oppdatere alle navnetjenerene på Internett til å bruke Unicode ville vært en formidabel oppgave. Det ville helt sikker ha forsinket prosessen med å få inn nasjonale tegn i URL.

Dette er sakset fra Computerworld en stund efter at denne artikkelen ble skrevet:

Sendes til forfalsket nettsted

• Av Clas Mehus
• Publisert 09.02 2005 kl. 12:06

Svindlere kan utnytte muligheten for spesielle tegn i domenenavn til å sette opp falske nettsteder.

Problemet er relatert til nye løsninger rundt domenenavn og bruk av utvidet tegnsett, noe som også gir muligheten for domenenavn med bl.a. æ, ø og å. Tidligere har domenenavnene vært begrenset til tegn som har inngått i det amerikanske ASCII-tegnsettet.

Problemet nå er at det i enkelte tegnsett finnes tegn som i basis er lik kjente tegn – bl.a. i det kyrilliske tegnsettet, som brukes i russland, finnes det et tegn likt ’a’, men som i et domenenavn ikke vil identifiseres som a. Som eksempel på sikkerhetsproblemet dette kan gi er det satt opp en side på www.paypal.com som ikke er de egentlige Paypal-sidene. Følges adressen via en link vil man altså bli sendt til ett annet Web-sted, og man kan videre forsøke å få brukere til å gi fra seg informasjon, som f.eks. brukernavn og passord, til ett annet Web-sted.

De fleste nettlesere har fått støtte for domenenavn basert på utvidet tegnsett, men ikke Internet Explorer. Internet Explorer blir imidlertid rammet hvis et tillegg for å gi denne støtten installeres.

Bare så du vet det :-)