Der Dichter Robert Frost schrieb einst, dass gute Zäune gute Nachbarn schaffen. Heute denken viele Entwickler genauso über das Internet - sie sehnen sich nach einer Welt, in der Websites und ihre Server jeweils in separaten Räumen leben, frei von Verstrickungen. Diese Idee finden jedoch nicht nur Entwickler, sondern eigentlich jeder gut - mit Ausnahme einiger Oligarchen vielleicht.
Der Begriff "föderal" spielt auf den Föderalismus an - das staatliche Organisationsprinzip der USA. Dabei behalten die einzelnen Bundesstaaten ihre Souveränität - das ganze Land soll von dieser Unabhängigkeit profitieren. Das Internet funktioniert ähnlich: Im Idealfall bietet es eine Kombination aus Widerstandsfähigkeit, Flexibilität und verteilter Macht. In der Realität ist das Internet von heute allerdings ein Mix aus unabhängigen Inseln und eng integrierten Silos. Es gibt viele Beispiele für Webseiten, die ein föderiertes Webdesign verkörpern. Es gibt aber auch jede Menge "Walled Gardens", in denen ein zentraler Administrator alle Interaktionen beherrscht und die Kontrollinstanz als Modus Operandi verkörpert.
Der Föderalismus ist tief in der Hochtechnologie verwurzelt: Die Internet-Protokolle waren immer dazu gedacht, kleine, separate Netze zu unterstützen. Bis heute findet das Netz von Kommunikationsprotokollen, das den Kern des Internets bildet, auf allen darüber liegenden Ebenen Widerhall und fördert sowohl ein strukturiertes Management als auch kommerzielle und kreative Unabhängigkeit. John Gilmore, einem der Gründer der Electronic Frontier Foundation, wird die Beobachtung zugeschrieben, dass "das Netz Zensur als Schaden ansieht und sie umgeht".
Users should be able to share content online without their voices being censored by government authorities because their views are oppositional to that of the powerful. Governments should not be involved in content moderation. https://t.co/ipq1VX0cmQ
— EFF (@EFF) October 23, 2022
9 dunkle Open-Web-Geheimnisse
Trotz aller vermeintlichen Vorteile bringt ein föderiertes, freies Web auch Nachteile mit sich. Darunter befinden sich auch einige versteckte Probleme, denen nur die Wenigsten gerne ins Auge sehen. Die rechtfertigen allerdings nicht, sich komplett vom Ideal des Open Web zu verabschieden - vielmehr können sie dabei unterstützen, ausgewogenere, technische Lösungen zu entwickeln.
1. Keine "Economies of Scale"
Viele Merger und Zusammenschlüsse sind auf Economies of Scale zurückzuführen. Hunderte oder Tausende von unabhängigen Websites bedeuten Hunderte oder Tausende von Datenbanken, die Konten, Protokolle und anderen Overhead beinhalten. Jede Website benötigt einen eigenen Systemadministrator, Datenbankadministrator oder ein DevOps-Team. Gehen die Zahlen in die Millionen oder Milliarden, ist der wirtschaftliche Druck groß, alles unter einem Dach zu vereinen.
Open-Source-Plattformen wie Drupal oder WordPress bieten an dieser Stelle eine Lösung und ermöglichen einzelnen Websites, ihre Unabhängigkeit zu bewahren und gleichzeitig einen Großteil der Entwicklungskomplexität und des Overheads an ein größeres System abzugeben.
2. Mehr Protokollierung
Wenn zwei oder mehrere Websites im föderierten Web zusammenarbeiten wollen, müssen sie zunächst die Berechtigungen überprüfen. Das geschieht durch den Austausch von Datenpaketen. Diese Informationen erhöhen jedoch sowohl die Bandbreitengebühren als auch die Kosten für die Speicherung der Protokolle. Während Datenspeicherung billig ist und Bandbreitenkosten bei kleinen Paketen nicht ins Gewicht fallen, kann sich der unaufhörliche Autorisierungs- und Koordinationsstrom ganz schnell zu einer stattlichen Rechnung summieren.
Einige Entwickler wollen hier noch einen Schritt weiter gehen und Technologien wie die Blockchain nutzen, um einen endlosen Strom von Transaktionen und Ereignissen tracken zu können. Das bedeutet noch mehr Overhead, insbesondere, wenn der rechenintensive Proof-of-Work-Konsensalgorithmus dabei verwendet wird. Selbst leichtere Algorithmen wie Proof of Stake oder eine Managed Blockchain erhöhen den organisatorischen Aufwand.
3. Digitale Signaturen überall
Die Kryptografie hat uns viele gute Algorithmen beschert, um digitale Signaturen zu erstellen, mit denen jede Interaktion im Open Web zertifiziert werden kann. Und obwohl die Mathematik dahinter nicht perfekt ist, kann sie die Authentizität von Datenpaketen erheblich verbessern.
Die gute Nachricht für den Traum vom Open Web: Einige Organisationen beginnen damit, diese Sicherheitsmaßnahmen auch in ihren internen Netzen einzusetzen. Auch wenn die Datenbanken und Server alle von demselben Unternehmen betrieben werden, setzen viele Sicherheitsexperten auf eine Zero-Trust-Architektur, bei der jeder Rechner jedes Paket abfragt.
4. Kompliziertes Caching
Ein Großteil der Geschwindigkeit im Internet beruht auf intelligenten Caching-Richtlinien. Es gibt jedoch einen Nachteil für föderierte Architekturen, die bei der Zwischenspeicherung auf rechtliche und praktische Probleme stoßen können. Ein Bekannter verbrachte Monate damit, das Kassensystem eines Onlineshops für den er arbeitete, neu zu gestalten. Dabei verursachten die Vorschriften, denen die Kreditkarten-Zahlungsdienstleister in Sachen Caching unterliegen, für einige schwerwiegende Performance-Probleme.
Föderierte Websites können Informationen einmalig weitergeben, legen mitunter aber strenge Regeln dafür an, wie viele Informationen das Betreiberunternehmen behalten darf. Daten zwischenzuspeichern, ist bei föderierten Webseiten in jedem Fall ein häufiges Problem.
5. Vergessene Sicherheitslücken
Eine Möglichkeit, mit der Websites föderierte Beziehungen vereinfachen wollen, besteht darin, Berechtigungen zu speichern und über Monate oder Jahre hinweg aufrechtzuerhalten.
Es gibt an dieser Stelle keine simple Lösung: Werden Benutzer zu oft zur Autorisierung aufgefordert, empfinden sie das als lästig und zeitaufwändig. Werden sie nicht oft genug gefragt, entstehen Sicherheitslücken. Einige Websites senden alle paar Monate eine Nachricht, in der sie die Benutzer auffordern, ihre autorisierten Verbindungen zu überprüfen.
6. Kaskadierende Sicherheitslücken
Idealerweise sollte eine föderierte Architektur resilient sein, insbesondere mit Blick auf Security-Ausfälle. Es kann jedoch vorkommen, dass sich Systeme gegenseitig beeinflussen, so dass ein Problem in einem einzelnen System alle anderen zum Absturz bringen kann.
Sind mehrere Standorte in einem Verbund von einem Partner abhängig sind, etwa bei der Autorisierung oder Identifizierung, dann wird dieser Partner zur potenziellen Schwachstelle. Es ist nicht ungewöhnlich, dass ein Ausfall eines Standorts zu einer Kaskade von Sicherheitsausfällen führt.
7. Anfällige Abhängigkeiten
Wenn Sie einem Java-Entwickler Angst einjagen wollen, erwähnen Sie einfach Log4j. Als in diesem in Java-Applikationen allgegenwärtigen Framework eine schwerwiegende Sicherheitslücke entdeckt wurde, versuchten Entwickler aus aller Welt dazu beizutragen, die bislang unbekannten Sicherheitslecks zu stopfen. Die Developer müssen sich darauf verlassen können, dass ihre Bibliotheken sicher sind. Es gibt es jedoch keine andere Möglichkeit, die Codesicherheit zu gewährleisten, als jede einzelne Codezeile zu testen.
Das föderierte Web birgt eine ähnliche Gefahr: Ihr Code mag sauber sein, aber können Sie das mit Sicherheit auch von den anderen Websites sagen, mit denen Sie zusammenarbeiten - oder deren Partner? Open-Web-Idealisten träumen von einer riesigen, reichhaltigen Sammlung miteinander verbundener Websites, die so öffentlich oder so anonym sein können, wie sie es sein müssen. Die Herausforderung: innerhalb dieses Systems eine echte Verantwortlichkeit zu schaffen. Schließlich möchte niemand, dass sein Code von einem Team analysiert wird, das keine Ahnung hat. Gleiches gilt für Webseiten im Open Web.
8. Monolithen regieren
Monolithische Unternehmen wie Amazon und eBay bestehen in Wirklichkeit aus einer Vielzahl kleinerer Unternehmen. Auch wenn sie den Nutzern wie ein einziges riesiges System erscheinen, steckt in ihrem Inneren oft ein ganzes Unternehmensbündel. Den Unterschied macht die Machtkonzentration: Das zentrale Unternehmen trifft die Entscheidungen, die kleineren tun, was ihnen gesagt wird.
Das Problem: Die gesamte Arbeit, die erforderlich ist, um ein föderiertes Netz aufrechtzuerhalten, muss erledigt werden. Das Unternehmen, das diese Aufgabe übernimmt, rückt zwangsläufig in eine zentrale Machtposition. Egal wie sehr die Architekten versuchen gegenzusteuern: Das System entwickelt sich in Richtung zentrale Kontrolle.
9. Zu viel Komplexität
Letztendlich haben die Menschen - sowohl die Benutzer als auch die Ingenieure - mit Komplexität an allen Ecken und Enden zu kämpfen. Ein einfaches Beispiel dafür, wie Benutzer das föderierte Web untergraben, ist die Wiederverwendung von Passwörtern. Die Menschen können sich nicht Hunderte von verschiedenen Passwörtern merken und verwenden daher immer wieder dieselben. Theoretisch sollte jede Website eine unabhängige Sicherheitsebene bieten, in der Realität können die Benutzer aber nicht mit so viel Komplexität umgehen.
Wettbewerb und Wahlfreiheit sind wunderbare Optionen, die für einen Großteil der Vielfalt verantwortlich sind, die das Internet so unwiderstehlich macht. Echten Föderalismus zu managen, bringt jedoch ein Maß an Komplexität mit sich, das oft mehr ist, als Menschen und die Systeme, die sie bauen, bewältigen können. (fm)
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation InfoWorld.