Internet stamt uit de jaren tachtig en dat is te merken. Het is geen geheim dat protocollen als tcp/ip en dns niet bepaald perfect zijn, en vandaag de dag totaal anders ontworpen zouden worden. Zo bevat tcp/ip van origine geen vorm van encryptie.
Een van de technieken die fundamenteel zijn voor de werking van internet is misschien nog wel het meest gebrekkig en tegelijk relatief onbekend. Het border gateway protocol knoopt alle individuele netwerken aan elkaar, maar doet dat op een manier die eigenlijk niet meer past bij het internet van vandaag de dag.
Om dat te kunnen begrijpen is het eerst nodig om te weten wat het bgp doet (Werk je bij een internetprovider? Ga dan gerust door naar de volgende pagina). Zonder het bgp zou het internet een grote verzameling van individuele netwerken zijn, die niet met elkaar kunnen praten. Het bgp zorgt ervoor dat netwerken elkaar kunnen vinden.
In zekere zin is het bgp vergelijkbaar met het dns. Waar het dns vertelt welk ip-adres bij een domeinnaam hoort, zorgt het bgp ervoor dat providers weten welk netwerk vervolgens bij dat ip-adres hoort. Dat is niet triviaal; het internet bestaat uit honderdduizenden netwerken, die onmogelijk altijd van elkaar kunnen weten waar ze zich bevinden. Als je zelf een eigen netwerk aanlegt met verschillende routes, kun je die nog wel handmatig invoeren, maar op internet is dat niet realistisch. Er zijn zoveel mogelijke routes, die bovendien kunnen veranderen, dat er een manier nodig is om dat te automatiseren.
Gossip based protocol
Die manier is het bgp. De wijze waarop het bgp werkt is relatief simpel. Elke border gateway protocol-router vertelt aan de bgp-routers waarmee hij is verbonden welke routes het autonomous system waarvan hij deel uitmaakt accepteert, bijvoorbeeld route 202.22.22.0/30. Autonomous systems zijn bijvoorbeeld internetproviders of grote internetbedrijven. Vervolgens vertellen die routers weer aan hun 'buren' dat je bij die router terechtkunt voor pakketjes in die reeks.
Op die manier kunnen routers volautomatisch een routingtabel aanleggen. Als een gebruiker uit Australië een website in IJsland wil bezoeken, is die route dankzij het bgp direct toegankelijk, hoewel dat een route is die waarschijnlijk weinig zal worden gebruikt. Tcp/ip of udp zorgt er vervolgens voor dat die pakketjes daadwerkelijk op hun plek komen, maar zonder bgp zouden die transportprotocollen als een kip zonder kop functioneren.
Het protocol werkt vaak prima, maar wat de opstellers van de eerste versie van het bgp niet konden bedenken, is dat internet zou evolueren tot een plek waar mensen niet per se eerlijk tegen elkaar zijn. Soms is het zelfs een gevaarlijke plek, waar mensen elkaar proberen te hacken om toegang te krijgen tot geld of data, waar criminelen actief zijn, maar ook overheden die burgers of andere overheden in de gaten willen houden.
Doordat de opstellers van het bgp dat niet zagen aankomen, en wie kan hun dat kwalijk nemen gezien de bescheiden grootte van internet in 1989, bevat het bgp geen mogelijkheid tot authenticatie. Als je een bgp-router hebt, kun je in principe elke route aankondigen die je wil. Vervolgens vertellen alle routers waarmee je een verbinding hebt gemaakt dat weer door aan andere routers. "We noemen het bgp daarom ook wel een gossip based protocol", zei Andree Toonk van BGPmon op de Black Hat-beveiligingsconferentie, begin deze maand in Las Vegas.
Foto op frontpage: Stilfehler