RDAP

När man vill veta vem som står bakom ett domännamn använder man Whois-kommandot, ”whois example.se”, och så har man gjort sedan domännamnssystemet infördes i mitten på 1980-talet.

English translation available here.

Det faktum att IIS liksom de flesta andra toppdomänregister gör det möjligt att slå upp domännamnsinnehavare via en webbsida ändrar inte så mycket, i bakgrunden ställs det ändå en klassisk whois-fråga.

Märkt av sin ålder

WHOIS-protokollet är en av internetvärldens verkliga överlevare, den första standarden – som i allt väsentligt fortfarande är den som gäller – skrevs redan 1982 vilket gör Whois äldre än exempelvis domännamnssystemet (DNS). Tyvärr är det också märkt av sin ålder, bland annat sägs det ingenting om vilken teckenuppsättning som ska använda och formatet på svaret är inte standardiserat bortom det allra mest grundläggande: servern skickar ett antal textrader som var och en avslutas med <CR><LF>. Whois saknar också mekanismer för sådant som åtkomstkontroll och kryptering.

De här problemen, och åtskilliga andra, har IETF åtgärdat i RDAP (Registry Data Access Protocol) som är en modern ersättare till WHOIS. RDAP använder HTTP med TLS för transport av frågor och svar, frågorna är kodade som URL:er och inte minst är svarsformatet specificerat i standarden.

Motsvarigheten till frågan 

 <code>whois example.se</code>
 blir med RDAP en URL i stil med https://iis.se/rdap/domains/example.se.

Svaret levereras inte som ostrukturerad text utan levereras som ett data kodat i JSON (rejält nedkortat exempel här):


<code>
{
"objectClassName" : "domain",
"handle" : "XXXX",
"ldhName" : "example.se",
"status" : [ "locked", "transfer prohibited" ],
"nameservers" : [
{
"objectClassName" : "nameserver",
"handle" : "XXXX",
"ldhName" : "ns1.example.se",
"status" : [ "active" ],
"ipAddresses" : {
"v6": [ "2001:db8::123", "2001:db8::124" ],
"v4": [ "192.0.2.1", "192.0.2.2" ]
},
}
]
}
</code>

I och med RDAP utnyttjar HTTP(s) och JSON kan några av de allvarligaste problemen med Whois lösas på ett elegant vis.

  • Både URI:er och JSON-objekt har inbyggt stöd för UTF-8.
  • Det går att använda samma mekanismer för kryptering och inloggning som används för webbsidor.
  • Inloggning öppnar i sin tur dörren för differentierade tjänster, det vill säga att olika frågeställare kan få se olika information beroende på behörighet, roller och så vidare.
  • Ett standardiserat svarsformat gör det möjligt att skriva generella klienter som fungerar mot alla RDAP-servrar. Det blir också möjligt att bygga system som automatiskt hämtar data ur RDAP.

Exemplet ovan visar sökning efter ett domännamn, men precis som Whois kan RDAP användas till att söka efter annan registry-relaterad information., som till exempel namnservrar, utdelade IP-adresser, kontakter (personer) eller AS-nummer.

RDAP har tagits fram av en arbetsgrupp inom IETF som heter Web Extensible Internet Registration Data Service (weirds). Arbetet drog igång i början av 2012 och i slutet av 2014 var standarddokumenten klara. Standarden för RDAP har publicerats som följande RFC:er:

Styrdokumentet för arbetsgruppen bjuder på en bra beskrivning av utmaningarna liksom av några tidigare försök som gjorts att ersätta WHOIS. Det tidigare initiativet till att ersätta WHOIS för snart tio år sedan var Iris, men där blev det aldrig någon fart på användandet.

RDAP är således långt ifrån den första WHOIS-ersättaren men det finns en chans att det blir det sista, protokollet är bland annat lättare att implementera än vad som var fallet med Iris. Hos IIS pågår just nu arbete med att implementera en server för RDAP.

RDAP

When someone wants to know who is behind a domain name, they use the Whois command, ”whois example.se”, and it has been done that way since the domain name system was introduced in the middle of the 1980s.

The fact that IIS, like most other top level domain registries, make it possible to look up domain name holders via a website does not change much. In the background there is still a classic whois-question.

Marked by its age

The Whois protocol is one of the internet world’s real survivors, the first standard – which in essence is still in use – was written in 1982, which makes Whois older than, for example, the domain name system (DNS). Unfortunately, it is also marked by its age, among other things nothing is mentioned about which character set that should be used and the format of the response is not standardized beyond the most basic: the server sends a number of text rows, each ending with <CR><LF>. Whois is also missing the mechanisms for access control and encryption.

These problems, and several others, have been solved by IETF in RDAP (Registry Data Access Protocol), which is a modern replacement for Whois. RDAP uses HTTP with TLS for the transport of questions and answers, the questions are coded as URLs and not least, the answer format is specified in the standard.

The counterpart of the question 

 <code>whois example.se</code>
 becomes a URL like this: https://iis.se/rdap/domains/example.se.

and the answer is delivered not as unstructured text but as data encoded in  JSON (substantially truncated in this example):


<code>
{
"objectClassName" : "domain",
"handle" : "XXXX",
"ldhName" : "example.se",
"status" : [ "locked", "transfer prohibited" ],
"nameservers" : [
{
"objectClassName" : "nameserver",
"handle" : "XXXX",
"ldhName" : "ns1.example.se",
"status" : [ "active" ],
"ipAddresses" : {
"v6": [ "2001:db8::123", "2001:db8::124" ],
"v4": [ "192.0.2.1", "192.0.2.2" ]
},
}
]
}
</code>

Since RDAP uses HTTP(S) and JSON, some of the most serious problems with Whois can be solved in an elegant way.

  • Both URIs and JSON objects have built-in support for UTF-8.
  • It is possible to use the same mechanisms for encryption and logging in as for websites.
  • Logging in then opens the door for differentiated services, meaning different requesters may see different information depending on permissions, roles, etc.
  • A standardized answer format makes it possible to write general clients that work with all RDAP servers. It is also possible to build systems to automatically collect data from RDAP.

The example above shows a search for a domain name, but just like Whois, RDAP can be used to search for other registry related information, such as name servers, distributed IP addresses, contacts (people) or AS numbers.

RDAP was developed by a working group within the IETF called Web Extensible Internet Registration Data Service (weirds). The work started in the beginning of 2012 and was concluded at the end of 2014 when the standard documents were done. The RDAP standard has been published as a number of different RFC documents:

The charter text for the working group offers a good description of the challenges as well as some previous attempts that were made to replace the WHOIS protocol. The previous effort to replace WHOIS almost ten years ago was Iris from the crisp working group, but there was never any momentum in its use.

RDAP is thus far from the first WHOIS replacement but there is a chance for it to be the last. The protocol is, among other things, easier to implement than was the case with Iris. IIS is working now on implementing a server for RDAP.

 

Lämna en kommentar

Svara på en kommentar

Obligatoriskt

Obligatoriskt

Frivilligt

Kommentarer

Ingen har kommenterat artikeln ännu.