MIT-Kurs "Sicherheit von Computersystemen". Vortrag 19: „Anonyme Netzwerke“, Teil 1 (Vortrag vom Schöpfer des Tor-Netzwerks)

Ursprünglicher Autor: Nick Mathewson
  • Übersetzung
  • Tutorial

Massachusetts Institute of Technology. Vorlesung # 6.858. "Sicherheit von Computersystemen." Nikolai Zeldovich, James Mykens. 2014


Computer Systems Security ist ein Kurs zur Entwicklung und Implementierung sicherer Computersysteme. Die Vorträge behandeln Bedrohungsmodelle, Angriffe, die die Sicherheit gefährden, und Sicherheitsmethoden, die auf der neuesten wissenschaftlichen Arbeit basieren. Zu den Themen gehören Sicherheit des Betriebssystems (Betriebssystem), Funktionen, Informationsflusssteuerung, Sprachsicherheit, Netzwerkprotokolle, Hardwareschutz und Sicherheit in Webanwendungen.

Vorlesung 1: "Einführung: Bedrohungsmodelle" Teil 1 / Teil 2 / Teil 3
Vorlesung 2: "Kontrolle von Hackerangriffen" Teil 1 / Teil 2 / Teil 3
Vorlesung 3: "Pufferüberlauf: Exploits und Schutz" Teil 1 /Teil 2 / Teil 3
Vorlesung 4: "Privilegienseparation" Teil 1 / Teil 2 / Teil 3
Vorlesung 5: "Woher kommen die Fehler des Sicherheitssystems" Teil 1 / Teil 2
Vorlesung 6: "Fähigkeiten" Teil 1 / Teil 2 / Teil 3
Vorlesung 7: "Native Client Sandbox" Teil 1 / Teil 2 / Teil 3
Vorlesung 8: "Netzwerksicherheitsmodell" Teil 1 / Teil 2 / Teil 3
Vorlesung 9: "Web Application Security" Teil 1 / Teil 2/ Teil 3
Vorlesung 10: "Symbolische Ausführung" Teil 1 / Teil 2 / Teil 3
Vorlesung 11: "Ur / Web-Programmiersprache" Teil 1 / Teil 2 / Teil 3
Vorlesung 12: "Netzwerksicherheit" Teil 1 / Teil 2 / Teil 3
Vorlesung 13: "Netzwerkprotokolle" Teil 1 / Teil 2 / Teil 3
Vorlesung 14: "SSL und HTTPS" Teil 1 / Teil 2 / Teil 3
Vorlesung 15: "Medizinische Software" Teil 1 / Teil 2/ Teil 3
Vorlesung 16: "Angriffe durch einen Seitenkanal" Teil 1 / Teil 2 / Teil 3
Vorlesung 17: "Benutzerauthentifizierung" Teil 1 / Teil 2 / Teil 3
Vorlesung 18: "Private Internet Viewing" Teil 1 / Teil 2 / Teil 3
Vorlesung 19: „Anonyme Netzwerke“ Teil 1 / Teil 2 / Teil 3

Nikolai Zeldovich: tolle Leute, lasst uns anfangen! Heute werden wir über Tor sprechen. Hier haben wir einen der Autoren des Artikels, den Sie heute lesen, Nick Mathewson. Er ist auch einer der wichtigsten Entwickler von Tor und wird Sie ausführlich über dieses System informieren.



Nick Mathewson: Ich könnte damit beginnen, dass Sie sagen: „Bitte heben Sie Ihre Hände, wenn Sie den Vortragsartikel nicht gelesen haben“, aber es wird nicht funktionieren, weil Sie sich schämen zuzugeben, dass Sie den Artikel nicht gelesen haben. Deshalb werde ich auf andere Weise fragen: Denken Sie an Ihr Geburtsdatum. Wenn die letzte Ziffer Ihres Geburtsdatums ungerade ist oder Sie den Artikel nicht gelesen haben, heben Sie bitte Ihre Hand. Nun, fast die Hälfte des Publikums. Ich glaube, dass die meisten den Artikel noch lesen.

Die Kommunikationsmittel, die unsere Vertraulichkeit bewahren, ermöglichen es uns, ehrlicher zu kommunizieren, um bessere Informationen über die Welt zu erhalten, denn aufgrund berechtigter oder ungerechtfertigter sozialer oder anderer Konsequenzen sind wir in der Kommunikation weniger entspannt.

Dies führt uns zu Tor, einem anonymen Netzwerk. In diesem Netzwerk arbeite ich zusammen mit meinen Freunden und Kollegen seit 10 Jahren. Wir haben eine Gruppe von Freiwilligen, die über 6.000 Arbeitsserver bereitgestellt haben und diese zur Unterstützung von Tor verwalten. Zunächst waren es unsere Freunde, die ich und Roger Dungledane aus meinem Studium am MIT kannten.

Danach haben wir unser Netzwerk beworben, und mehr Leute haben angefangen, Server zu betreiben. Tor wird jetzt von gemeinnützigen Organisationen, Privatpersonen, einigen Hochschulteams, vielleicht einigen der hier lebenden Personen und zweifellos auch einigen sehr zweifelhaften Personen verwaltet. Heute verfügen wir über 6.000 Knoten, die je nach Anzahl der Benutzer Hunderttausende bis Hunderte von Millionen Benutzer bedienen. Es ist schwierig, alle Benutzer zu zählen, da sie anonym sind. Daher müssen Sie statistische Methoden zur Auswertung verwenden. Unser Verkehr beträgt etwa Terabyte pro Sekunde.

Viele Menschen brauchen Anonymität für ihre gewohnte Arbeit, und nicht jeder, der Anonymität braucht, hält sie für Anonymität. Einige Leute sagen, dass sie keine Anonymität brauchen, sie identifizieren sich frei.



Es besteht jedoch weit verbreitetes Verständnis, dass Vertraulichkeit notwendig oder nützlich ist. Und wenn gewöhnliche Menschen Anonymität nutzen, tun sie dies in der Regel, weil sie bei Suchergebnissen oder bei der Durchführung von Online-Recherchen Privatsphäre wünschen. Sie wollen sich in der Lokalpolitik engagieren können, ohne die Kommunalpolitiker zu beleidigen und so weiter. Forscher verwenden häufig Anonymisierungstools, um zu vermeiden, dass vorgefertigte Daten basierend auf Geolocation erfasst werden, da es für sie möglicherweise nützlich ist, bestimmte Versionen einiger Dinge zu entwickeln.

Unternehmen verwenden Anonymitätstechnologie zum Schutz sensibler Daten. Wenn ich zum Beispiel alle Bewegungen einer Gruppe von Angestellten eines großen Internetunternehmens verfolgen kann, indem ich zuschaue, wie sie ihren Webserver von verschiedenen Orten der Welt aus besuchen oder wie verschiedene Unternehmen auf der ganzen Welt sie besuchen, kann ich es herausfinden viel darüber, mit wem sie arbeiten. Unternehmen bevorzugen es, solche Informationen geheim zu halten. Unternehmen nutzen auch Anonymitätstechnologie für die Forschung.

Ein großer Hersteller von Routern, ich weiß nicht, ob er jetzt existiert, schickte regelmäßig völlig unterschiedliche Versionen der technischen Spezifikationen seiner Produkte an die IP-Adressen seiner Konkurrenten, um deren Reverse Engineering zu verkomplizieren. Die Mitbewerber entdeckten dies mit Hilfe unseres Netzwerks und sagten zu diesem Hersteller: "Hey, Moment mal, wir haben eine ganz andere Spezifikation bekommen, als wir durch Tor gegangen sind, als die, die wir direkt von Ihnen erhalten haben!"



Strafverfolgungsbehörden benötigen auch Anonymitätstechnologien, um Verdächtige nicht mit ihrer Beobachtung einzuschüchtern. Sie möchten nicht, dass die IP-Adresse der lokalen Polizeistation in den Webprotokollen des Computers des Verdächtigen angezeigt wird. Wie ich bereits gesagt habe, brauchen normale Menschen Anonymität, um Belästigungen durch Online-Aktivitäten beim Lernen sehr sensibler Dinge zu vermeiden.

Wenn Sie in einem Land mit unsicherer Gesundheitsgesetzgebung leben, möchten Sie nicht, dass Ihre Krankheiten öffentlich gemacht werden, oder andere, um sich über einige Ihrer unsicheren Hobbys zu informieren. Viele Kriminelle verwenden auch Anonymitätstechnologie. Dies ist nicht die einzige Option, aber wenn Sie bereit sind, Zeit in einem Botnet-Netzwerk zu kaufen, können Sie ziemlich gute Privatsphäre kaufen, die für Personen unzugänglich ist, die das Botnet für unmoralisch halten.

Tor ist neben den allgemeinen Mitteln der Anonymität nicht die einzige Technologie zum Schutz der Privatsphäre. Mal sehen ... das durchschnittliche Abschlussalter beträgt 20 Jahre. Haben Sie seit Ihrer Geburt über Kryptokriege gesprochen? Nein!

In den 1990er Jahren wurde in den USA in den 90er Jahren die Frage ausgesetzt, wie legitimiert die zivile Nutzung der Kryptographie ist und inwieweit ihr Export in öffentliche Anwendungen zulässig ist. Dieses Problem wurde erst in den späten 90ern - Anfang der 2000er Jahre - gelöst. Und obwohl es immer noch Debatten über Anonymitätstechnologien gibt, ist dies nicht mehr als eine Debatte. Und ich denke, sie werden gleich enden - eine Anerkennung der Rechtmäßigkeit der Anonymität.

An der Tafel sehen Sie eine Zusammenfassung meines Vortrags. Ich habe Ihnen eine kleine Einführung gegeben, dann werden wir besprechen, was in technischer Hinsicht Anonymität ist, und ein wenig über die Motivation sprechen.



Danach gehe ich Sie Schritt für Schritt auf den Weg, an dessen Anfang die Idee besteht, dass wir etwas Anonymität brauchen, und am Ende, wie das Tor-Projekt gemäß dieser Idee aussehen sollte. Ich werde auch einige der Verzweigungspunkte dieses Themas erwähnen, durch die Sie zu anderen Projekten „gebracht“ werden können. Ich möchte auch auf einige interessante Fragen eingehen, die Sie alle gemäß Ihren Hausaufgaben für diesen Vortrag gestellt haben.

Ich erzähle Ihnen etwas über die Funktionsweise der Knotenerkennung. Dies ist ein wichtiges Thema. Danach werde ich abstimmen, welche der hier genannten zusätzlichen Themen behandelt werden sollten.



Ich denke, wir nennen sie komplementär, weil sie dem Grundmaterial der Vorlesung folgen und ich kann sie nicht alle behandeln, aber das sind wirklich coole Themen.

Ich werde einige der Tor-bezogenen Systeme erwähnen, deren Struktur Sie lesen sollten, wenn Sie an diesem Thema interessiert sind und Sie mehr darüber erfahren möchten.

Ich werde über die zukünftige Arbeit sprechen, die wir mit Tor machen wollen, und ich hoffe, dass wir irgendwann Zeit dafür haben werden. Und wenn wir nach all dem Zeit Zeit haben, um Ihre Fragen zu beantworten, werde ich alle beantworten. Ich hoffe, ich brauche keine zusätzliche Stunde Vorlesungszeit. Mein Kollege David sitzt dort im Publikum, er wird während des Vortrags unter Ihnen „rumhängen“ und mit jedem sprechen, der darüber sprechen möchte.

Also Anonymität. Was meinen wir, wenn wir über Anonymität sprechen? Es gibt viele informelle Konzepte, die in informellen Diskussionen, in Foren, im Internet usw. verwendet werden. Einige Leute glauben, dass Anonymität einfach bedeutet: "Ich werde meinen Namen nicht darauf setzen." Einige Leute glauben, dass Anonymität ist, wenn "niemand beweisen kann, dass ich es bin, auch wenn er stark vermutet".

Wir meinen eine Reihe von Konzepten, die die Fähigkeit ausdrücken, einen Benutzer oder einen Angreifer mit Aktionen im Netzwerk zu verknüpfen. Diese Begriffe stammen aus der Terminologie des Artikels von Fittsman und Hansen, einen Link dazu finden Sie in freehaven.net/anonbib/, einer Bibliographie der Anonymität, die ich unterstütze.



Diese Bibliographie umfasst die meisten guten Arbeiten auf diesem Gebiet. Wir müssen es bis 2014 auf den neuesten Stand bringen, aber selbst in seiner derzeitigen Form ist es eine recht nützliche Ressource.

Wenn ich also "Anonymität" sage, meine ich, dass Alice eine Tätigkeit ausübt. Angenommen, Alice kauft neue Socken. Und hier haben wir eine Art Angreifer, nennen wir sie Eva, Eva. Eva kann sagen, dass Alice etwas tut. Dies zu verhindern ist nicht das, was wir unter Anonymität verstehen. Dies wird als Nichtbeobachtung bezeichnet. Vielleicht kann Eve auch sagen, dass jemand Socken kauft. Das ist nicht das, was wir unter Anonymität verstehen. Wir hoffen jedoch, dass Eve nicht sagen kann, dass Alice die Person ist, die neue Socken kauft.

In diesem Fall meinen wir, dass Eve auf der Kategorieebene nicht nur nicht mit mathematischer Genauigkeit beweisen kann, dass Alice Socken kauft, sondern auch nicht davon ausgehen kann, dass Alice Socken mit einer höheren Wahrscheinlichkeit kauft als jede beliebige Person. Ich möchte auch, dass Eve Alice bei ihren Aktivitäten zuschaut, um daraus schließen zu können, dass Alice manchmal Socken kauft, selbst wenn Eva etwas über Alice herausfindet, was Alice im Bereich des Sockenkaufs besonders interessiert.



Es gibt andere Konzepte, um die Anonymität zu gewährleisten. Eine davon ist Inkohärenz oder das Fehlen direkter Verbindungen. Unverbindlich ist wie das temporäre Profil von Alice. Zum Beispiel schreibt Alice unter dem Pseudonym „Bob“ in einem politischen Blog, was ihre Karriere ruinieren kann, wenn ihre Vorgesetzten davon erfahren. Sie schreibt also wie Bob. Nicht-Konnektivität ist also die Unfähigkeit von Eva, Alice einem bestimmten Benutzerprofil zuzuordnen, in diesem Fall einem Benutzerprofil mit dem Namen Bob.



Das endgültige Konzept ist nicht beobachtbar, wenn einige Systeme versuchen, nicht einmal zu sagen, dass Alice im Internet ist, dass Alice eine Verbindung zu einem Teil des Netzwerks herstellt und dass sie Netzwerkaktivität zeigt.

Diese Systeme sind ziemlich schwer zu bauen, ich erzähle Ihnen später, wie nützlich sie sind. Die Möglichkeit, die Tatsache zu verbergen, dass Alice das Anonymitätssystem verwendet, und nicht die Tatsache, dass sie sich im Internet befindet, kann in diesem Bereich nützlich sein. Dies ist mehr erreichbar als die absolute Verschleierung der Tatsache, dass Alice im Internet ist.

Warum habe ich zuerst damit angefangen? Nun, zum Teil wegen "technischem Juckreiz". Dies ist ein cooles Problem, dies ist ein interessantes Problem, und bisher hat noch niemand daran gearbeitet. Außerdem erhielt mein Freund Roger einen Auftrag zum Abschluss eines Forschungsstillstandes, der vor Ablauf des Stipendiums abgeschlossen sein sollte. Er war so gut in diesem Job, dass ich sagte: "Hey, ich werde mich auch diesem Geschäft anschließen." Nach einiger Zeit gründeten wir eine gemeinnützige Organisation und veröffentlichten unser Open Source-Projekt.
Unter dem Gesichtspunkt tieferer Motivationen glaube ich, dass die Menschheit viele Probleme hat, die nur durch eine bessere und zielgerichtetere Kommunikation, freiere Selbstdarstellung und größere Gedankenfreiheit gelöst werden können. Und ich weiß nicht, wie ich diese Probleme lösen soll. Das einzige, was ich tun kann, ist, die Verletzung der Kommunikationsfreiheit, Gedanken und Gespräche zu verhindern.



Student: Ich weiß, dass es viele gute Gründe gibt, Tor zu verwenden. Bitte nehmen Sie das nicht als Kritik auf, aber ich bin neugierig, wie Sie sich über kriminelle Aktivitäten fühlen.

Nick Mathewson:Was ist meine Meinung zu kriminellen Aktivitäten? Einige Gesetze sind gut, andere sind schlecht. Mein Anwalt sagte mir, ich solle niemals jemandem raten, das Gesetz zu brechen. Mein Ziel war es nicht, Kriminellen die Möglichkeit zu geben, gegen die meisten Gesetze zu handeln, mit denen ich einverstanden bin. Aber wo Kritik an der Regierung illegal ist, bin ich für diese Art krimineller Aktivitäten. In diesem Fall kann also davon ausgegangen werden, dass ich diese kriminellen Aktivitäten unterstütze.

Mein Standpunkt zur Verwendung eines anonymen Netzwerks für kriminelle Aktivitäten lautet: Wenn die bestehenden Gesetze fair sind, würde ich es vorziehen, wenn die Menschen nicht gegen sie verstoßen. Darüber hinaus denke ich, dass jedes Computersicherheitssystem, das nicht von Kriminellen verwendet wird, ein sehr schlechtes Computersicherheitssystem ist.

Ich denke, wenn wir die für Verbrecher funktionierende Sicherheit verbieten, werden wir in den Bereich völlig unsicherer Systeme gebracht. Dies ist meine Meinung, obwohl ich mehr Programmierer als Philosoph bin. Daher werde ich sehr banale Antworten auf philosophische und rechtliche Fragen geben. Außerdem bin ich kein Rechtsanwalt und kann dieses Problem nicht rechtlich beurteilen. Nehmen Sie meine Aussagen daher nicht als Rechtsberatung an.

Dennoch sind viele dieser Forschungsprobleme, über die ich sprechen werde, noch lange nicht gelöst. Warum forschen wir also weiter in dieselbe Richtung? Einer der Gründe ist, dass wir es für unmöglich hielten, die Anonymitätsforschung ohne die erforderliche Testplattform voranzutreiben. Diese Ansicht wurde vollständig bestätigt, da Tor sich zu einer Forschungsplattform für das Arbeiten mit Anonymitätssystemen mit geringer Latenz entwickelt hat und in diesem Bereich eine große Hilfe war.

Aber auch jetzt, 10 Jahre später, sind viele große Probleme noch ungelöst. Wenn wir also 10 Jahre warten würden, um alles zu reparieren, würden wir vergebens warten. Wir haben erwartet, dass die Existenz eines solchen Systems der Anonymisierung der Welt langfristige Ergebnisse bringen wird. Das heißt, es ist sehr leicht zu argumentieren, dass das, was nicht existiert, verboten werden sollte. Argumente gegen die zivile Verwendung der Kryptographie waren 1990 viel einfacher zu verwenden als zu unserer Zeit, da es zu dieser Zeit praktisch keine zuverlässige Verschlüsselung für die zivile Verwendung gab. Gegner der zivilen Kryptographie könnten zu dieser Zeit argumentieren, dass die Zivilisation zusammenbricht, Kriminelle niemals gefasst werden und das organisierte Verbrechen in allen Bereichen siegt, wenn Sie etwas Stärkeres als DES schaffen.

Im Jahr 2000 hätten Sie jedoch nicht behaupten können, dass die Folgen der Verbreitung der Kryptographie eine Katastrophe für die Gesellschaft darstellen würden, denn zu dieser Zeit gab es bereits eine zivile Kryptographie, und es stellte sich heraus, dass dies nicht das Ende der Welt war. Darüber hinaus wäre es im Jahr 2000 viel schwieriger, sich für das Verbot der Kryptographie einzusetzen, da die Mehrheit der Wähler seine Verwendung favorisiert.

Wenn also jemand 1985 sagte, dass "die mächtige Kryptographie verboten werden sollte", könnte man davon ausgehen, dass die Banken dies brauchen, also könnte eine Ausnahme für den Bankensektor gemacht werden. Aber abgesehen von den Banken gab es im öffentlichen zivilen Tätigkeitsbereich nicht diejenigen, die einen starken Bedarf an Verschlüsselung hatten.

Wenn im Jahr 2000 jemand forderte, leistungsfähige Verschlüsselungssysteme zu verbieten, würde dies jedem Internet-Unternehmen einen Schlag versetzen, und jeder, der https-Seiten startet, würde schreien und mit den Händen winken.

Daher ist das Verbot der mächtigen Kryptographie derzeit praktisch nicht realisierbar, obwohl die Menschen gelegentlich auf diese Idee zurückkommen. Ich bin aber auch kein Philosoph oder politischer Analytiker dieser Bewegung.

Einige fragen mich, was ist Ihr Bedrohungsmodell? Es ist gut, in Bezug auf Bedrohungsmodelle zu denken, aber unser Bedrohungsmodell ist leider ziemlich seltsam. Wir haben nicht mit den Anforderungen der Opposition gegen den Feind begonnen, sondern mit den Anforderungen an die Verwendbarkeit. Wir haben selbst entschieden, dass die erste Anforderung an unser Produkt war, dass es für das Durchsuchen von Webseiten und interaktiven Protokollen nützlich sein sollte, und dass wir maximale Sicherheit gewährleisten wollten. Unser Bedrohungsmodell sieht also ziemlich seltsam aus, wenn Sie versuchen zu beschreiben, was ein Angreifer unter welchen Umständen und wie tun kann. Das liegt daran, dass wir uns zum Ziel gesetzt haben, dass unser Produkt vor allem im Internet funktioniert.

Ich werde in ein paar Minuten darauf zurückkommen, aber jetzt wollen wir darüber sprechen, wie wir Anonymität aufbauen.



Also vor dir Alice, die Socken kaufen will. Angenommen, Alice steuert den Computer. Wir nennen es das R-Relay, das Alices Datenverkehr an die Site weiterleitet ... Ich würde es gerne Socks.com nennen, aber ich fürchte, das wird schrecklich sein, also nenne ich es Zappos.com, sie verkaufen auch Socken.

Alice möchte also Socken bei zappos.com kaufen. Und sie geht durch dieses Relais, das sie kontrolliert. Wer zuhört und ihn ansieht, wird sagen: "Wahrscheinlich ist das Alice, das ist ihr Computer."

Nehmen wir an, zwei weitere Personen verwenden denselben Repeater - nennen wir sie nur A2 - Alice 2 und A3 - Alice 3, da mir keine kryptographischen Standardnamen fehlen. Sie kaufen Bücher und veröffentlichen Fotos von Katzen, das sind 80% der Leute, die normalerweise im Internet gemacht werden, oder?



Alle drei Benutzer verwenden einen Computer, von dem nun drei Streams ausgehen. Nun wird die Person, die sich diesen Computer ansieht, nicht leicht feststellen können, zumindest hoffen wir - wir werden später darauf zurückkommen -, dass er nicht feststellen kann, dass die erste Alice Socken kauft, die zweite Alice Bücher kauft und die dritte Alice zwickt Fotos von Katzen

Nun, außer dass er, wenn er die Verbindung auf der Seite von Alice beobachtet, sieht, wie sie zu diesem R sagt: "Bitte verbinden Sie mich mit zappos.com". In diesem Fall fügen wir ein bisschen Verschlüsselung zwischen A und R hinzu, zum Beispiel verwenden wir TLS für alle diese Links. Sofern der Angreifer nicht in der Lage ist, TLS zu hacken und Alice mit einer Anforderung zum Zugriff auf zappos.com abzugleichen, erhält Alice etwas Privatsphäre.

Das reicht aber noch nicht. Denn erstens gehen wir davon aus, dass dieses R volles Vertrauen genießt. Ich hoffe, dass Sie die Definition des Begriffs "vertraut" kennen und wissen, warum er nicht "vertrauenswürdig" bedeutet. Er ist darauf angewiesen, dass er das gesamte System zerstören kann und nicht wirklich vertrauenswürdig ist.

Wir können also mehrere Repeater oder mehrere Relais verwenden. Wir können verschiedenen Wiederholern verschiedene Personen zur Verfügung stellen. In der Tat ist dies nicht die Topologie, die wir in unserem System verwenden, aber meine Zeichentechnik ist schrecklich, und ich möchte nichts neu zeichnen. Wir können uns vorstellen, dass diese Verbindungen mehrere Repeater durchlaufen, von denen jeder eine Verschlüsselungsebene entfernt.

Der erste Repeater ganz links sieht also nur, dass Alice etwas tut. Alles, was der letzte Repeater sieht, ist, dass jemand Socken kauft. Der rechte Repeater sieht jedoch, dass jemand dank der Verbindung, die vom mittleren Repeater kam, Socken kauft. Der erste Repeater sieht einfach, wie Alice etwas tut, und schickt die Verbindung zum zweiten Repeater. Zur gleichen Zeit gibt es keinen Außenstehenden, der die wahre Verbindung und Interaktion der Teilnehmer in diesem gesamten Prozess feststellen kann.



Nun kommen wir zum grundlegenden Systemdesign. Angenommen, Eve beobachtet hier in der AR-Abteilung und hier in der R-Abteilung - Socken kaufen. Ich habe immer noch nicht erwähnt, dass es nichts gibt, was Alices Timing und Lautstärke verbergen könnte. Natürlich sollten Sie das Netzwerkrauschen berücksichtigen, das bei allen Vorgängen zum Berechnen und Dekodieren von Daten, Netzwerklatenz und dergleichen entsteht.

Wenn Alice am Ende ein Kilobyte Daten sendet, erzeugt das von mir dargestellte Konstrukt am Ausgang das gleiche Kilobyte. Und wenn die Webseite des Socks-Shops 64k lang ist und um 11 Stunden und 26 Minuten von diesem Webserver bedient wird, erhält Alice um 11:26 oder 11:27 ein 64k langes Paket.

Mithilfe einiger Statistiken kann Eve nun einige dieser Datenströme abgleichen, wenn Informationen zu Datenträgern und Timing nicht ausgeblendet werden. Es gibt Lösungen, die die Menge und die Zeit des Informationsaustauschs verdecken. Zum Beispiel ein anonymer E-Mail-Prozessor oder Remailer, Mixmaster und Dienste wie DC-Net.

Es kann sein, dass jeder dieser Knoten innerhalb einer Stunde eine große Anzahl von Anforderungen erhalten hat und diese Knoten dann austauschen und alle gleichzeitig senden. In diesem Fall können wir sagen, dass alle Anforderungen und Antworten dieselbe Größe haben müssen, z. B. Anforderungen 1 KB und Antworten - 1 Megabyte. Nach einer kurzen Bearbeitung erhalten Sie etwas, mit dem Sie eine E-Mail-Nachricht senden können, die innerhalb einer Stunde beim Empfänger eingeht oder eine Stunde nach dem Senden der Anfrage eine Webseite bereitstellt. Dies setzt voraus, dass Sie Pakete für eine einfache Hin- und Rückfahrt optimieren. Diese Systeme existierten und existierten, als wir mit der Entwicklung von Tor begonnen haben.

Sie werden nicht wirklich verwendet, obwohl ich ein Programm namens Mixminion geschrieben habe, das der Nachfolger von Mixmaster Remailer war, aber seit drei Jahren habe ich keine einzige Nachricht von Remailer erhalten. Tor hat Millionen von Benutzern, Remailer nicht mehr als ein paar Hundert.

Sie glauben vielleicht, dass diese Systeme denjenigen, die sie wirklich brauchen, immer noch eine bessere Anonymität bieten. Es gibt jedoch einen Umstand: Wenn Sie über Hunderte von Benutzern verfügen, können Sie ihnen nicht wirklich die Anonymität bieten, auf die sie sich verlassen. Denn der Hacker wird sehen, dass dort ungefähr hundert Menschen sind und die Nachricht, die ihn interessierte, an die bulgarische Website gerichtet war. Wie viele von diesen hundert Leuten sprechen Bulgarisch? Fünf! Eine solche Anonymität zu offenbaren ist daher kein besonderes Problem.



Anonymität soll Gesellschaft lieben. Wenn Sie keine große Benutzerbasis haben, kann kein System tatsächlich die Anonymität gewährleisten. Wenn also alle unsere Alice derselben Organisation angehören, sollten sie ein gemeinsames öffentliches und kein privates Unternehmenssystem haben. Wenn alle rechtmäßig am MIT arbeiten und die Aktivitäten einiger gefälschter MIT-Websites untersuchen, die gefälschte Diplome verkaufen und den legalen MIT-Anonymisierer verwenden, wird tatsächlich nicht verborgen, wer sie sind. Wenn Sie jedoch eine große Anzahl verschiedener Organisationen einsetzen, die all dies nutzen, können Sie etwas Privatsphäre bieten.

Wir werden auf die Betrachtung von Korrelationsangriffen zurückkommen, aber lassen Sie uns jetzt sagen, dass wir diesen Korrelationsangriffen nicht widerstehen. Stattdessen müssen wir die Möglichkeit minimieren, dass ein Angreifer, der beide Teile eines solchen Systems kontrolliert, die Anonymität seiner Benutzer erkennen kann.

Ich habe gerade über Messaging gesprochen. Angenommen, wir haben so etwas wie ein gemischtes Netzwerk, in dem Sie jedem dieser Repeater einen öffentlichen Schlüssel geben - K3, K2, K1. Und als Alice etwas an die Site senden möchte, die Socken verkauft, verschlüsselt sie ihre Nachricht mit drei Schlüsseln auf diese Weise: K1 (K2 (K3 "Socken"))).



Der öffentliche Schlüssel ist jedoch, wie Sie wissen, ziemlich teuer, so dass Sie ihn nicht für massiven Datenverkehr verwenden möchten.



Daher vereinbaren Sie mit jedem Server einen Schlüsselsatz. So teilt Alice einen symmetrischen Schlüssel mit dem ersten Repeater, den anderen symmetrischen Schlüssel mit dem zweiten und den dritten Schlüssel mit dem dritten Repeater. Dies hängt damit zusammen, was wir als Verkehrsmuster durch das Netzwerk bezeichnen. Nachdem der ursprüngliche öffentliche Schlüssel zum Erstellen zweier weiterer Schlüssel konfiguriert wurde, kann Alice die symmetrische Verschlüsselung verwenden, um Daten über das Netzwerk zu übertragen.

Wenn Sie an dieser Stelle aufhören, erhalten Sie eine Zwiebelwende, wie sie in den 1990ern von Cyeerson, Goldshlag und Reed entwickelt wurde. Paul Cyverson forscht noch auf diesem Gebiet, die anderen beiden Wissenschaftler arbeiten an anderen Dingen.

Sobald Sie ein ähnliches Schema hinzufügen, bei dem Daten den gemittelten Pfad durch Repeater durchlaufen, können Sie außerdem leicht einen Kanal replizieren, über den auf dieselbe Weise zurückgesendete Dinge an Alice gesendet werden, und verschlüsseln Sie bei jedem Schritt, anstatt zu entschlüsseln.
Und natürlich benötigen Sie eine Art Integritätsprüfung, sowohl zwischen Knoten als auch von Ende zu Ende. Wenn Sie die Integrität nicht prüfen, kann Folgendes auftreten. Angenommen, Sie verwenden eine XOR-basierte Stream-Verschlüsselung. Wenn Sie die Integritätsprüfung nicht durchführen, kann dieser Knoten - der erste Repeater - XOR als "Alice, Alice, Alice, Alice, Alice" in einer verschlüsselten Nachricht verwenden. Dann, wenn es nach dem dritten Repeater endgültig entschlüsselt wird, weil es ein ziemlich nachgiebiges kryptographisches Schema ist, wenn derselbe Angreifer den letzten Knoten steuert oder den Bereich zwischen dem dritten Relais und dem Zielstandort überwacht, sowie den Angreifer hier wird sehen, wie "Alice, Alice, Alice, Alice, Alice" XOR in Klartext verschlüsselt und abschließend schließen kann

27:06

Kurs MIT "Computersicherheit". Vortrag 19: "Anonyme Netzwerke", Teil 2


Die vollständige Version des Kurses ist hier verfügbar .

Danke, dass Sie bei uns bleiben. Magst du unsere Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung aufgeben oder Freunden empfehlen, 30% Rabatt für Habr-Benutzer auf ein einzigartiges Analogon der Einstiegsserver, die wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbps $ 20 oder wie kann ich den Server freigeben? (Optionen sind für RAID1 und RAID10 verfügbar, bis zu 24 Kerne und bis zu 40 GB DDR4).

VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie hier bestellen .

Dell R730xd 2 mal billiger? Nur bei uns2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV ab 249 $ in den Niederlanden und den USA! Lesen Sie mehr darüber, wie Sie ein Infrastrukturgebäude bauen. Klasse C mit Servern Dell R730xd E5-2650 v4 im Wert von 9000 Euro für einen Cent?

Jetzt auch beliebt: