Link Attestation Groups

From
Jump to navigation Jump to search

Link Attestation Groups sind ein Hilfsmittel für die Verwaltung von verteilten Systemen im Internet. Knoten im Netzwerk bewerten hierbei gegenseitig ihre "Qualität" und benutzen diese Informationen um Entscheidungen zu treffen. Die Qualitätskriterien sind hierbei abhängig von der jeweiligen Anwendung.

Ein einfaches Beispiel wäre das Kriterium uptime, also die Zeit, in der der andere Knoten auf Anfragen reagiert und zum Beispiel Pakete weiterleitet. Ein Routing-Algorithmus könnte nun nur über Knoten routen, die eine bestimmte mindest-uptime erfüllen.

Struktur der Link Attestation Groups

Die grundlegende Idee des Verfahrens ist, die Knoten eines Netzwerks in kleinere Gruppen einzuteilen. Innerhalb dieser Gruppen können sich die Knoten dann gegenseitig kontrollieren. Ein Knoten überwacht alle seine direkten Nachbarn und beschenigt ihnen gegebenenfalls positives Verhalten durch eine link attestation. Die Menge dieser Links ergibt dann den Attestationsgraphen.

Attestationsgraph

Der Attestationsgraph ist ein gerichteter Graph mit relativ wenigen Knoten (Knotenanzahl ungefähr zweistellig). Es gibt genau dann eine Kante von knoten A nach B im Attestationsgraphen, wenn

  1. A und B kommunizieren direkt miteinander.
  2. A bestätigt B ein positives Verhalten.

Der View eines Knoten A ist die Menge aller von ihm erreichbaren Knoten. Intuitiv sind das die Knoten, denen A direkt oder indirekt vertraut.

Funktionsweise der LA Groups

Jeder Knoten kann stets eine neue Gruppe erzeugen. Knoten können Mitglied in mehreren Gruppen sein. Um einer Gruppe beizutreten muß ein Knoten A:

  1. Einem Mitglied der Gruppe attestieren. (Dies führt dazu, daß die Gruppenmitglieder anfangen A zu überwachen)
  2. Erfolgreich von einem Mitglied der Gruppe attestiert werden.

Attestations werden regelmäßig erneuert, solange das überwachte Verhalten positiv bleibt. Attestations die nicht erneuert werden, Verfallen nach einer bestimmten Zeit.

Um das Fälschen von attestations zu verhindern, wird eine public-key-Struktur verwendet. Knoten signieren ihre attestations mit dem private key. Ein Knoten kann also seine Gruppenmitgliedschaft Dritten gegenüber beweisen indem er eine Sammlung von attestations vorlegt. (membership transcript)

Beispielhafte Anwendung

Trust Networks werden zum Beispiel bei der Erkennung von Internetwürmern genutzt. Um die Verbreitung von Würmern einzudämmen, benutzen ISPs Firewalls die Daten anhand von Signaturen herausfiltern können. Hierzu muß aber die Wurmsignatur bekannt sein. Dazu werden erkannte Würmer zwischen verschiedenen ISPs getauscht. Dies ist problematisch, da das Filtern einer falschen Signatur zum Verwerfen "echter" Pakete führt und somit einem DoS-Angriff entspricht.

Die klassische Lösung für dieses Problem sind Konsensprotokolle. Hierbei akzeptiert eine Firewall eine neue Wurmsignatur erst, wenn sie ihr von X Partnern mitgeteilt wurde. Dies minimiert zwar das Risiko, erhöht aber die Reaktionszeit.


Die Nutzung von LA groups bietet sich an, da man Vertrauensverhältnisse gut durch den Attestationsgraphen darstellen kann. Die Knoten im Netzwerk sind dann die Firewalls und die Links drücken Vertrauen aus. Einige Links sind vorgegeben durch bestehende Vertrauensverhältnisse (Geschäftspartnerschaften, Forschungsverträge mit Universitäten usw.). Daraus kann dann ein Attestationsgraph gebildet werden. Auch hier ist es möglich das Vertrauen eines Knotens A in einen Knoten B zu quantifizieren, zum Beispiel über die Anzahl der knotendisjunkten Pfade im Attestationsgraphen von A nach B. Dies ermöglicht Entscheidungen mit geringen Risiko wie im Konsensprotokoll mit höherer Reaktionsgeschwindigkeit.

Quelle

Freedman, Michael J. et al. "Using link attestations to manage failures" (2006)