-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft die Sicherheit von Informationssystemen, insbesondere
die Bereitstellung von Zugriffssteuerung zwischen einem Satz automatisierter
Informationssysteme und einem anderen.
-
Hintergrund
der Erfindung
-
Bekannte
Verfahren zur Implementierung der Zugriffssteuerung für einen
bestimmten Computer in einem Netzwerk sind schwerfällig und
unflexibel, da Zugriffsregeln kodiert und von Hand von einem Systemadministrator
eingegeben werden müssen.
Dies ist unpraktisch bei Netzwerken, deren Mitglieder häufig wechseln
oder bei denen die Sicherheitsanforderungen der Mitglieder häufig wechseln.
-
Effektive
Sicherheit von Informationssystemen verhindert die unerlaubte Offenlegung,
Modifikation oder Ausführung
von Daten und Prozessen eines automatisierten Informationssystems
(AIS). Wie hierin verwendet, bezieht sich der Begriff AIS auf einen
Computer, ein Netzwerk von Computern, Internetwork (netzüberschreitende
Kommunikation) von Computern oder eine Teilmenge davon. Der Begriff "Daten" bezieht sich auf
alle Informationen, die in einem AIS resident sind, einschließlich Dateien
und Programme. Der Begriff "Prozesse" bezieht sich auf
Programme in jedem beliebigen Ausführungsstadium in einem AIS.
-
Ein "Host" ist ein Computer
mit einer zugewiesenen Netzwerkadresse, zum Beispiel einer Internet
Protokoll (IP)-Adresse. Ein "Benutzer" (User) ist ein Computer,
der keine feste, zugewiesene Netzwerkadresse hat. Um zum Beispiel
eine Verbindung zum Internet zu erhalten, muss ein Benutzer normalerweise
eine temporäre
IP-Adresse von einem Host mit einem Pool solcher Adressen erhalten.
Eine solche temporäre
IP-Adresse wird vom Benutzer nur für die Dauer einer einzelnen
Verbindungssitzung mit dem Internet beibehalten.
-
Informationen
fließen
in bestimmten Netzwerken in Paketen. Ein "Paket" ist ein Quantum an Informationen mit
einer Kopfzeile, die eine Quell- und eine Zieladresse enthält. Ein
Beispiel für
ein Paket ist ein IP-Paket. Pakete, wie zum Beispiel IP-Pakete,
haben eine Netzwerk-Protokoll-Kennung ("Protokoll") in der Paket-Kopfzeile. Das Protokoll
kennzeichnet die Versionsnummer des Protokolls, das verwendet wird,
um das Paket zu routen. Ein Beispiel für eine Netzwerk-Protokoll-Kennung
ist das IP-Protokollfeld in einem IP-Paket-Kopfzeile.
-
Pakete
in einem Netzwerk werden an und von Ports aus verschickt. Ein "Port" ist eine logische
Adresse innerhalb eines Computers, durch die ein Prozess, der auf
dem Computer abläuft,
mit anderen ablaufenden Prozessen kommuniziert. Diese anderen Prozesse
können
sich auf demselben Computer oder auf anderen Computern im Netzwerk
befinden.
-
Sicherheit
von Informationenssystemen wird mit Hilfe einer Sicherheit-Politik
implementiert, die Regeln zur Regulierung des Informationsflusses
in einem AIS umfasst. Die Regeln einer Sicherheit-Politik sind in einer "Regel-Bank" verkörpert, einem
Satz von Regeln, die angeben, ob ein Paket auf der Grundlage der
Paket-Kennung an den geplanten Empfänger weitergegeben oder fallen
gelassen werden soll. Eine Paket-Kennung sind Daten, die allgemein
in der Paket-Kopfzeile enthalten sind und dazu dienen, das Paket
zu kennzeichnen. Ein Beispiel für
eine Paket-Kennung ist eine Schaltungsnummer, die in Kopfzeilen
von Paketen auftritt, die in verbindungsorientierten (d. h. leistungsvermittelten)
Netzwerken mit Paket-Vermittlung übertragen werden. Ein weiteres
Beispiel für
eine Paket-Kennung ist ein Paket-5-Tupel, das aus der Quell- und
Zieladresse des Pakets, dem Quell- und Zielport und dem Protokoll
besteht. Pakete mit 5-Tupeln werden in verbindungslosen Netzwerken
mit Paket-Vermittlung übertragen.
-
Eine
Regel-Bank kann global oder lokal sein. Eine globale Regel-Bank
ist ein einheitlicher Satz von Regeln ("globale Regeln"), die für eine Gruppe von Benutzern,
Hosts oder beide gelten. Eine lokale Regel-Bank ist ein Satz von
Regeln ("lokale
Regeln"), die für einen
einzelnen Benutzer mit einer temporären Netzwerkadresse oder einen
Host gelten. Ein einzelner Benutzer mit einer temporären Netzwerkadresse
oder ein Host mit eigener Regel-Bank wird als "Peer" bezeichnet.
-
Ein
anderes Mittel, um Sicherheit-Politik zu implementieren, besteht
darin, den Zugriff auf ein Netzwerk auf einen vordefinierten Satz
von Benutzern und Hosts zu beschränken. Wenn ein Benutzer oder
Host eine Zugriff verlangt, muss seine Identität festgestellt und überprüft werden,
bevor der Zugriff gewährt
wird. Dieser Prozess besteht aus zwei Schritten: Identifizierung
und Authentifizierung.
-
1 zeigt
eine Möglichkeit
zur Identifizierung und Authentifizierung in Form eines Flussdiagramms, wobei
jeder Schritt durch ein Bezugszeichen gekennzeichnet ist. Ein erster
Schritt erfordert, dass eine Informationsquelle sich selbst namentlich
identifiziert, indem sie einen String von Daten liefert, die als
Benutzer-Kennung (ID) 10 bezeichnet wird. Um einen Unbefugten
daran zu hindern, die Rechte im Zusammenhang mit einer bestimmten
Benutzer-Kennung zu erhalten, wird der Benutzer hinter der Benutzer-Kennung überprüft, indem
er aufgefordert wird, ein Kennwort 11 einzugeben, das normalerweise
vertraulich behandelt wird. Solche Überprüfung wird als "Authentifizierung" bezeichnet. Das
AIS vergleicht die Kombination aus Quell-Kennung und Kennwort mit
einer Liste gültiger
Benutzer, 12. Wenn das AIS eine gültige Benutzer-ID und das entsprechende
Kennwort erkennt, gilt ein Benutzer oder Host als identifiziert
und authentifiziert 14. Anderenfalls wird die Forderung
nach Zugriff abgewiesen 13. Im Folgenden wird eine Quelle,
die identifiziert und authentifiziert wurde, der Einfachheit halber
als "authentifiziert" bezeichnet.
-
Die
Regel-Bank einer Sicherheit-Politik wird in einem Netzwerk mit Hilfe
einer Vorrichtung implementiert, die als Filter bezeichnet wird
und die Hardware und Software umfasst. Die Regel-Bank wird in den
Filter geladen, der Pakete auf dem Weg (zwischen ihrer Quelle und
dem Ziel) abfängt
und die Kennung jedes Paketes mit der Kennung vergleicht, die in
jeder Regel der Regel-Bank enthalten ist, das heißt, er überprüft, ob das Paket
der Regel entspricht. Ein Paket entspricht einer Regel, wenn die
Regel auf das Paket anwendbar ist. So "entspricht" zum Beispiel eine Regel, die für Pakete
mit einer Schaltungsnummer von 3254 gelten soll, allen Paketen mit
einer Paket-Kennung, welche die Schaltungsnummer 3254 anzeigt. Wenn
die Netzwerk-Paket-Kennung einer Regel-Kennung entspricht, führt der
Filter für
das Paket die PASS- oder DROP-Aktion aus, die von der Regel vorgeschrieben
ist. Wenn die PASS-Aktion ausgeführt
wird, kann das Paket den Filter passieren. Wenn die DROP-Aktion
ausgeführt
wird, wird das Paket fallen gelassen.
-
Ein
Filter ist häufig
mit anderer Hardware und Software kombiniert, die dazu beiträgt, den
Informationsfluss durch den Filter zu verwalten. Die Kombination
aus Hardware und Software, welche die Paket-Filterung durchführt und
unterstützt,
wird als Firewall bezeichnet. Eine Firewall befindet sich häufig zwischen
einem ersten Netzwerk, das die Firewall "besitzt" und einem zweiten Netzwerk. Das Ziel
der Firewall ist es, den Informationsfluss in und aus dem ersten
Netzwerk vom zweiten Netzwerk zu regulieren, indem sie die Regel-Bank, die
zum ersten Netzwerk gehört,
für alle
derartigen Informationen implementiert.
-
Eine
typische Anwendung für
eine Firewall ist in 2 dargestellt. Es kann ein Ziel
eines Firmen-Netzwerkes 20 sein, seinen Abonnenten Zugriff
auf Internet-Hosts 21 zu gewähren, aber den Zugriff der
Internet-Hosts 21 auf das Firmen-Netzwerk 20 zu
begrenzen, das Firmengeheimnisse und proprietäre Informationen enthalten
kann. Das Firmen-Netzwerk 20 würde eine Sicherheit-Politik
entwickeln, die von einer Firewall 22 implementiert wird,
die sich an der Schnittstelle zwischen dem Firmen-Netzwerk 20 und
den Internet-Hosts 21 befindet. Die Firewall 22 umfasst
einen Filter 23, der PASS- oder DROP-Aktionen für Pakete
von Internet-Hosts 21 an Firmen-Netzwerk-Abonnenten 20 und
umgekehrt auf der Grundlage der Quell- und Zieladressen der Pakete
durchführt.
Die Firewall wird als zum Firmen-Netzwerk gehörig betrachtet und setzt Regeln
um, die Hosts innerhalb des Firmen-Netzwerkes "schützen", die IP-Adressen
haben. Von solchen Hosts wird gesagt, dass sie sich "hinter" der Firewall des
Firmen-Netzwerkes
befinden.
-
Ein
Beispiel für
eine Regel-Bank für
das Firmen-Netzwerk
20 mit den Hosts A
24, B
25 und
C
26, verbunden durch eine Firewall
22 mit dem
Internet, das die Hosts G
27, H
28 und I
29 hat,
ist wie folgt:
-
Jede
Regel-Bank muss auch eine Vorgabe-Aktion für Transaktionen haben, die
nicht explizit in der Regel-Bank aufgeführt sind; dabei handelt es
sich normalerweise um die DROP-Aktion. So werden Pakete vom System
A, 21 an das System G, 33 fallen gelassen, weil
die oben genannte Regel-Bank nicht ausdrücklich eine Regel für eine solche Übertragung
einschließt.
-
Eine
typische Struktur, um Benutzern Zugriff auf das Internet zu ermöglichen,
ist in 3 dargestellt. Benutzer 31 und 32 haben
keine festen IP-Adressen. Stattdessen werden einem Benutzer temporäre IP-Adressen
von einem Internet-Dienstleister (ISP = Internet Service Provider) – Zugangspunkt
(POP = Point of Presence) 33 aus einem Pool solcher Adressen
zugewiesen, der vom POP 33 zu diesem Zweck verwaltet wird.
Ein POP umfasst mindestens einen Host (nicht dargestellt). Wenn
ein Benutzer 31 seine Zugriffs-Sitzung auf das Internet 35 beendet,
wird die IP-Adresse
an den POP 33 zurückgegeben.
So ist es wahrscheinlich, dass im Laufe aufeinander folgender Zugriffs-Sitzungen
ein Benutzer 31 mehrere verschiedene IP-Adressen hat.
-
Bekannte
Filter sind nicht gut geeignet, um eine geeignete Zugriffs-Steuerung
auf Netzwerke, wie ein POP, zu bieten. Das liegt daran, dass ein
bekannter Filter Regeln nur durch Eingreifen eines System-Administrators
laden und speichern kann, was einen langsamen und umständlichen
Prozess darstellt. In der Tat muss der System-Administrator im Allgemeinen
Regeln in einem Format per Hand kodieren, das für die Filter-Plattform spezifisch
ist. Bei bekannten Filtern ist es unpraktisch, die Zugriffsregeln
eines bestimmten Benutzers (bekannt als die "loka len Regeln" des Benutzers) zu implementieren, der
auf das Netzwerk mit wechselnden Netzwerk-Adressen zugreift und
es wieder verlässt.
-
Dieses
Problem wird in 5a und 5b dargestellt. 5a zeigt
eine erste Sitzung, in der ein erster Benutzer 51 Zugriff
auf das Internet angefordert hat und von einem POP authentifiziert
wurde und in der ihm eine IP-Adresse B aus dem POP-IP-Adressen-Pool 52 zugewiesen
wurde. Ähnlich
wurde ein zweiter Benutzer 53 authentifiziert und ihm wurde
eine IP-Adresse
E aus dem Pool 52 zugewiesen. Eine Regel-Bank 53 wird
in einen Filter geladen, um den Informationsfluss zwischen Benutzern 51 und 53 und
den Hosts P, U, V und W im Internet zu regulieren. Die in den 5a und 5b dargestellten
Regel-Banken zeigen nur die Quell- und Zieladressen für jede Regel,
wobei die Quell- und Zielports und das Protokoll der Einfachheit
halber ausgelassen werden.
-
Beide
Benutzer beenden den Zugriff auf das Internet und fordern den Zugriff
später
erneut und werden für
eine zweite Sitzung authentifiziert, wie in 5b dargestellt.
Diesmal wird dem ersten Benutzer 51 eine IP-Adresse E aus
dem Pool 52 zugewiesen und dem zweiten Benutzer wird die
IP-Adresse A zugewiesen. Für die
neu zugewiesenen Netzwerk-Adressen ist die Regel-Bank im Filter
jetzt veraltet und enthält
keine Regeln für
den zweiten Benutzer und die falschen Regeln für den ersten Benutzer, dem
die IP-Adresse zugewiesen wurde, die während der ersten Sitzung dem
zweiten Benutzer zugewiesen war. Selbst wenn zufällig beiden Benutzern für ihre zweite
Sitzung dieselben IP-Adressen
neu zugewiesen worden wären,
hätte eine
neue Regel-Bank in den Filter geladen werden müssen, wenn sich die Sicherheitsanforderungen
eines der beiden Benutzer zwischen den Sitzungen geändert hätten. Wie
oben ausgeführt,
ist das Laden von Regeln in bekannte Filter mühsam. Das Laden und Fallenlassen
solcher Regeln mit der Häufigkeit,
mit der Benutzer auf einen POP zugreifen und ihn verlassen, ist
bei bekannten Filtern unpraktisch.
-
Die
mangelnde Flexibilität
bekannter Filter macht häufig
die Implementierung von Regel-Banken erforderlich, die für eine bestimmte
Anwendung zu breit sind. Ohne die Möglichkeit einfacher Aktualisierungen
ist es einfacher, globale Regeln aufzustellen, die für alle AIS
hinter einem Filter gelten, als Regeln zu laden, die für bestimmte
Hosts gelten. In diesem Fall müssen
alle AIS hinter dem Filter den strengsten Sicherheitsanforderungen
aller AIS entsprechen, was zu übermäßig strenger
Filterung führt.
-
Die
Nachteile bekannter Filter werden durch einige der Strukturen verdeutlicht,
die zurzeit verwendet werden, um die Informationssystem-Sicherheit
für einen
POP zu gewährleisten.
Die in 3 dargestellte Struktur bietet ein Minimum an
Sicherheit durch ein Authentifizierungs-System 34, das
den Zugriff auf eine vordefinierte Liste authentifizierter Benutzer
beschränkt.
Diese Benutzerliste muss jedoch im Allgemeinen per Hand vom System-Administrator
eingegeben werden und kann so nicht einfach verändert werden. Außerdem ist
der Zugriff unbegrenzt, sobald er einmal genehmigt wurde. Informationen
können
ohne Regeln zu unterliegen vom Internet 35 von und an die
Benutzer 31 und 32 fließen, ohne Sicherheit, die über den
ursprünglichen Authentifizierungsprozess
hinausgeht. Dies setzt Benutzer 31 und 32 dem
Risiko von Hacker-Angriffen von Benutzern und Hosts im Internet
aus, was möglicherweise
zum Diebstahl oder zur unzulässigen
Manipulation von Benutzer-Daten führt.
-
Die
in 4 dargestellte Struktur zeigt eine andere bekannte
Lösung
zur Bereitstellung von Informationssystem-Sicherheit für einen
POP. Der bekannte Filter 46 implementiert eine Sicherheit-Politik
für Pakete, die
zwischen dem Internet 45 und Hosts 41 und 42 versandt
werden. Die Regel-Bank im Filter 46 muss jedoch nach wie
vor vom System-Administrator formuliert und geladen werden. Außerdem ist
es wahrscheinlich, dass sich die Netzwerk-Adressen der Benutzer 31 und 32 von
Sitzung zu Sitzung ändern.
Dies bedeutet; dass es nur praktisch ist, allgemeine "globale" Regeln in den Filter
zu laden, die für
alle Benutzer gültig
sind. Wenn zum Beispiel Benutzer A keine Pakete von einem bestimmten
Host im Internet empfangen möchte,
muss die Filter-Regel-Bank
all solche Pakete verwerfen und somit Benutzer B vom Empfang von
Paketen von diesem Internet-Host ebenfalls abschnei den. So ist die
globale Regel-Bank, die von den begrenzten Kapazitäten bekannter
Filter-Systeme erforderlich gemacht wird, fast immer zu breit. Ein
weiterer Nachteil ist, dass es schwierig ist, die Filter-Regel-Bank
zu ändern,
um sie an die wechselnden Sicherheitsanforderungen von Benutzer 41 oder 42 anzupassen.
-
Eine
andere Architektur, die Sicherheit für jeden Peer bietet, ist in 6 dargestellt.
Hier werden die Filter 66 und 67 zwischen den
Benutzern 61 bzw. 62 und dem POP platziert. Die
Anforderung an jeden Benutzer, einen eigenen Filter zu haben, ist
eine teure Lösung,
die unpraktisch zu implementieren ist.
-
Was
benötigt
wird, ist ein Filter-System und -Verfahren, das lokale Regel-Banken
akkurat und effizient in einem Netzwerk implementiert, dessen Konfigurations-
und Sicherheitsanforderungen sich ständig verändern. Eine solche Erfindung
würde flexible
und kostengünstige
Sicherheit auf Peer-Ebene bieten, wobei nur geringe Eingriffe von
einem System-Administrator erforderlich wären.
-
WO-A-96
05549 beschreibt eine Vorrichtung und ein Verfahren zur Beschränkung des
Zugriffs auf ein lokales Computer-Netzwerk, wobei ein Remote-Computer 12 über einen
Remote Access Server 16 Kontakt zu einem Netzwerk 14 aufnimmt.
Der Remote Access Server 16 hat Zugriffs-Filter für den Zugriff
auf den Remote-Computer 12. Gemäß WO-A-96 05549 werden Benutzer-spezifische
Filter in einer Datenbank gespeichert und jedes Mal abgerufen, wenn
ein Benutzer sich im Netzwerk authentifiziert. Die Zugriffs-Filter
sind vorgeblich Daten-Pakete oder -Wörter, die Netzwerk-Ressourcen
als Zonen oder Geräte
identifizieren. Der Netzwerk-Manager bestimmt die Filter. So benutzt
der Remote Access Server 16 die Filter, um den Remote-Computer 12 daran
zu hindern, mit bestimmten vordefinierten Netzwerk-Ressourcen zu
kommunizieren, oder um solche Kommunikation zu begrenzen, indem
ein oder mehrere Filter jedem Zugriffsversuch des Remote-Benutzers zugeordnet
werden.
-
Dennoch
bestehen bei WO-A-96 05549 Probleme, die im Abschnitt "Hintergrund der Erfindung" der vorliegenden
Offenbarung genannt sind. Unter anderem teilt WO-A-96 05549 bekannte
Filter Benutzern mit einer festen IP-Adresse zu. Dieses Ver fahren
ist nicht geeignet für
den Zugriff auf und die Steuerung von Zugangspunkt-(POP)-Systemen,
bei denen die Benutzer keine feste IP-Adresse haben. Außerdem kann WO-A-96
05549 nicht dort implementiert werden, wo die Benutzer temporäre Netzwerk-Adressen
haben oder wo sich die Benutzer-Adresse mit jeder Sitzung ändert.
-
Außerdem kann
der Filter von WO-A-96 05549 Regeln nur durch das Eingreifen des
System-Administrators laden und speichern. Dieses bekannte Verfahren
ist dort unpraktisch, wo sich die Zugriffsregeln für einen
bestimmten Benutzer mit der Änderung
der Netzwerk-Adresse des Benutzers ändern. WO-A-96 05549 berücksichtigt
auch nicht die spezifischen lokalen Regeln des Benutzers.
-
Zusammenfassung der Erfindung
-
Die
vorliegende Erfindung betrifft einen Filter und ein Verfahren zur
Bereitstellung von Zugriffs-Steuerung auf Peer-Ebene in einem Netzwerk, wie in den
Ansprüchen
1 und 11 definiert. Weitere vorteilhafte Aspekte der Erfindung sind
in den abhängigen
Ansprüchen
definiert.
-
Die
vorliegende Erfindung umfasst einen Filter, der Zugriffsregeln für einen
bestimmten Computer in einem Netzwerk mit schnell wechselnden Konfigurationen
und Sicherheitsanforderungen effizient speichert, implementiert
und verwaltet. Dies ermöglicht
einem einzelnen Computer (einem Peer) den Vorteil, seine Sicherheit-Politik
in einem Filter zu implementieren, der von vielen solchen Computern
in einem Netzwerk gemeinsam genutzt wird.
-
Wenn
eine lokale Regel-Bank nicht länger
gültig
ist, weil der Peer nicht mehr vom Filter gemäß der vorliegenden Erfindung
authentifiziert wird, wird die lokale Regel-Bank des Peers "ausgeworfen", d. h. es wird eine
logische Operation im Filter durchgeführt, durch welche die lokale
Regel-Bank aus dem Filter gelöscht wird.
Diese logische Operation von gespeicherten Daten in einem Computer
ist im Fachgebiet gut bekannt. Dadurch wird der Informationsfluss
von Sitzung zu Sitzung effektiv geregelt, was besonders vorteilhaft
in AIS ist, wo einzelne Benutzer und Hosts verschiedene Sicherheitsanforderungen
haben, die sich von Zeit zu Zeit ändern. Die vorliegende Erfindung
ist zum Beispiel nützlich
zur Einrichtung eines elterlichen Kontrollsystems, in dem die Eltern
den Zugriff auf bestimmte Arten von nicht für Kinder geeignetem Material
im Internet für
Haushalt-Internet-Zugriffskonten
regulieren können.
-
Die
vorliegende Erfindung ermöglicht
es einem einzelnen Gerät,
den Informationsfluss flexibel und effizient in Übereinstimmung mit Sicherheit-Politiken
zu regulieren, die spezifisch auf den einzelnen Benutzer oder Host
zugeschnitten sind. Als Vorteil ist normalerweise bei der normalen
Arbeitsweise der vorliegenden Erfindung kein Eingriff durch den
System-Administrator erforderlich. Anders als bei bekannten Filtern
kann die vorliegende Erfindung Benutzer mit temporären Netzwerk-Adressen
genauso leicht bedienen wie Hosts mit festen Netzwerk-Adressen.
-
Gemäß der vorliegenden
Erfindung wird jeder einzelne Peer, der den Netzwerk-Zugriff anfordert,
authentifiziert. Die lokale Regel des Peers wird dann in eine lokale
Regel-Bank des Filters der vorliegenden Erfindung geladen, entweder
vom Peer selbst oder von einem anderen Benutzer, Host oder Peer.
Wenn der Peer nicht mehr vom POP authentifiziert wird (zum Beispiel
wenn der Peer die Verbindung verliert oder sich vom POP abmeldet),
wird die lokale Regel-Bank des Peers aus dem Filter ausgeworfen
(gelöscht).
-
Kurze Beschreibung der
Zeichnungen
-
1 zeigt
den Prozess der Identifizierung und Authentifizierung.
-
2 zeigt
eine Firewall, die zwischen einem Firmen-Netzwerk und dem Internet platziert
ist.
-
3 zeigt
Benutzer, die mit dem Internet über
einen Zugangspunkt (POP) verbunden sind, der ein Authentifizierungs-System hat.
-
4 zeigt
einen POP mit einem Authentifizierungs-System und einem Filter.
-
5a zeigt
eine erste Internet-Zugriffs-Sitzung für zwei Benutzer über einen
POP, der einen Filter hat.
-
5b zeigt
eine zweite Internet-Zugriffs-Sitzung für zwei Benutzer durch einen
POP, der einen Filter hat.
-
6 zeigt
ein bekanntes Verfahren zur Bereitstellung von Zugriffs-Steuerung
auf das Internet auf Benutzer-Ebene.
-
7a zeigt
eine Regel-Bank-Architektur gemäß einer
Ausführungsform
der vorliegenden Erfindung.
-
7b zeigt
eine Implementierung der Regel-Bank-Architektur, die in 7a dargestellt
ist.
-
8a zeigt
einen POP mit einem Filter und einem Authentifizierungs-System,
der drei Peers den Zugriff auf das Internet bietet.
-
8b zeigt
eine vereinfachte Darstellung der Regel-Banken, die zu den Peers gehören, die
in 8a dargestellt sind.
-
8c zeigt
eine Hash-Funktion, die auf die Netzwerk-Adressen der drei Peers angewandt wird,
die in 8a dargestellt sind, und die
Lokal-Ein- und Lokal-Aus-Regel-Banken.
-
8d enthält eine
detaillierte Darstellung des Kastens "Prüfe
lokale Regel-Bank",
der in 7b gezeigt wird.
-
9 zeigt
eine Implementierung der vorliegenden Erfindung.
-
Detaillierte Beschreibung
-
Gemäß der vorliegenden
Erfindung zeigt 7a eine Ausführungsform einer Regel-Architektur,
welche die Funktionalität
bekannter Filter integriert, indem sie eine globale Vor-Regel-Bank 701,
eine lokale Regel-Bank 702 und eine globale Nach-Regel-Bank 703 einschließt.
-
Die
globale Vor-Regel-Bank 701 umfasst normalerweise allgemeine
Regeln, die für
alle Hosts hinter der Firewall gelten, und werden am effizientesten
vor lokalen Regeln angewandt. Ein Beispiel für eine globale Vor-Regel ist,
dass keine Telnet (Remote Login)-Anforderungen hinter der Firewall
genehmigt werden.
-
Die
lokale Regel-Bank 702 umfasst den Satz von Peer-Regel-Banken, die in den
Filter für
authentifizierte Peers geladen werden. Diese Regeln gelten für bestimmte
Hosts. Ein Beispiel für
eine lokale Regel ist, dass Host A keine E-Mail von außer halb
der Firewall empfangen darf.
-
Die
globale Nach-Regel-Bank 703 umfasst allgemeine Regeln,
die am effizientesten angewandt werden, nachdem die globale Vor-Regel-Bank und lokale
Regel-Bank durchsucht wurden. Eine Regel, die in der globalen Nach-Regel-Bank
angewandt wird, muss nicht denselben Effekt haben, wie wenn sie
in der globalen Vor-Regel-Bank
angewandt würde.
Betrachten wir das obige Beispiel, bei dem der Empfang bestimmter
Telnet-Anforderungen unterbunden wird. Wenn diese Regel in die globale
Nach-Regel-Bank gestellt wird, wird zunächst die lokale Regel-Bank
durchsucht und kann eine Regel enthalten, die eine Telnet-Anforderung
für einen bestimmten
Peer durchlässt.
Wenn eine solche Regel in der lokalen Regel-Bank gefunden wird, wird die globale
Nach-Regel-Bank nicht anschließend
durchsucht und die Telnet-Anforderung wird durchgelassen. Betrachten
wir den anderen Effekt derselben Regel, wenn sie in der globalen
Vor-Regel-Bank auftritt, der darin besteht, alle Telnet-Anforderungen
für alle
Hosts hinter der Firewall zu blockieren. Die Bedeutung der Reihenfolge
bei der Anwendung von Regeln wird aus einer gründlicheren Betrachtung des
Verfahrens der vorliegenden Erfindung heraus offensichtlich.
-
7b stellt
ein Flussdiagramm der Paket-Verarbeitung oder -Filterung gemäß der vorliegenden
Erfindung dar. Wie darin gezeigt, wird ein Paket, das in den Filter
eintritt, zunächst
mit einer globalen Vor-Regel-Bank 711 verglichen, die Regeln
für alle
Hosts und Benutzer mit Netzwerk-Adressen hinter der Firewall enthält.
-
Wenn
eine entsprechende Regel gefunden wird und die vorgeschriebene Aktion
DROP (verwerfen) ist, wird das Paket verworfen 712. Wenn
eine entsprechende Regel gefunden wird und die Aktion PASS (durchlassen)
ist, wird das Paket durchgelassen 720. Wenn keine entsprechende
Regel gefunden wird, wird die lokale Regel-Bank durchsucht 713.
-
Die
lokale Regel-Bank 702 ist der Satz aller Regel-Banken pro
Benutzer, die gemäß der vorliegenden Erfindung
bei der Authentifizierung dynamisch geladen und bei Verlust der
Authentifizierung ausgeworfen werden.
-
Wenn
eine entsprechende Regel in der lokalen Regel-Bank gefunden wird
und die Aktion DROP ist, wird das Paket fallen gelassen 714.
Wenn eine entsprechende Regel gefunden wird und die Aktion PASS
ist, wird das Paket durchgelassen 721. Wenn keine entsprechende
Regel gefunden wird, wird die globale Nach-Regel-Bank durchsucht 715.
-
Wenn
eine entsprechende Regel in der globalen Nach-Regel-Bank gefunden wird
und die Aktion DROP ist, wird das Paket fallen gelassen 716.
Wenn die Aktion PASS ist, wird das Paket durchgelassen 722. Wenn
in keiner der Regel-Banken eine entsprechende Regel gefunden wurde,
wird das Paket mit der Vorgabe-Regel 717 verglichen, deren
Aktion normalerweise darin besteht, das Paket fallen zu lassen (DROP).
Wenn das Paket der Vorgabe-Regel
entspricht, wird die Vorgabe-Aktion ausgeführt 723. Wenn das
Paket der Vorgabe-Regel nicht entspricht, tritt eine Fehlerbedingung 724 auf.
-
Diese
Regel-Bank-Architektur behält
vorteilhafter weise die Funktionalität bekannter Filter bei. Wenn es
zum Beispiel nur in der globalen Vor- oder Nach-Regel-Bank Regeln
gibt, verhält
sich der Filter ebenso wie bekannte Filter. Wenn es nur Regeln in
der lokalen Regel-Bank gibt, hat der Filter alle neuen und erfinderischen Eigenschaften
der vorliegenden Erfindung, ohne globale Regeln zu haben.
-
Es
ist vorteilhaft, die vorliegende Erfindung mit einem System zu implementieren,
das die lokale Regel-Bank effizient nach entsprechenden Regeln für ein bestimmtes
Paket durchsucht. Ein System, das eine solche Leistungsfähigkeit
bereitstellt, benutzt eine Hash-Funktion, um einen Index für die Regeln
zu generieren. Eine Hash-Funktion bildet einen String von Zeichen
auf eine ganze Zahl ab. Wie im Fachgebiet bekannt ist, wird ein
String von Zeichen innerhalb eines Computers als Binärzahlen
dargestellt. Ein Beispiel für
eine Hash-Funktion wäre,
wenn die dritten, vierten und fünften
Bytes eines Strings von Zeichen, wie sie in einem Computer gespeichert
ist, als erste, zweite und dritte Stelle einer ganzen Zahl genommen
würden,
die dem String zugeordnet werden sollte. Ein String, für den eine
Hash-Funktion ausgeführt
wurde, wird als "gehasht" bezeichnet und die
resultierende ganze Zahl wird als "Hash" des
Strings bezeichnet.
-
Dies
wird erreicht durch logische Unterteilung der lokalen Regeln in
Lokal-Ein-Regeln und Lokal-Aus-Regeln. Eine Lokal-Ein-Regel ist jede Regel,
die für
ein Paket gilt, dessen Zieladresse einer Netzwerk-Adresse hinter
der Firewall entspricht. Nehmen Sie zum Beispiel an, dass sich ein
Host mit der Netzwerk-Adresse A hinter der Firewall befindet und
Hosts B, C und D sich außerhalb
der Firewall befinden. Im Folgenden sind Beispiele für Lokal-Ein-Regeln
für Host
A aufgeführt,
die dem folgenden Format entsprechen: QUELLADRESSE, QUELLPORT → ZIELADRESSE,
ZIELPORT: Protokoll: AKTION:
B, 31 → A, 33:4:DROP
C, 64 → A, 45:4:PASS
D,
11 → A,
17:4:PASS
-
Eine
Lokal-Aus-Regel ist jede Regel, die für ein Paket gilt, dessen Quelle
eine Netzwerk-Adresse hinter der Firewall entspricht. Lokal-Aus-Regeln
für das
obige Beispiel sind:
A, 44 → B,
70:4:PASS
A, 13 → C,
64:4:DROP
A, 12 → D,
17:4:DROP
-
Entsprechend
der vorliegenden Erfindung wird eine Hash-Funktion h für die Netzwerk-Adresse des Besitzers
einer lokalen Regel-Bank ausgeführt.
Eine Hash-Funktion stellt eine Verbindung zwischen einer ganzen
Zahl und einem String her. In dem obigen Beispiel, in dem ein Host
mit Netzwerk-Adresse A ("Host
A") eine lokale
Regel-Bank hat, würde
eine Hash-Funktion für
A ausgeführt
werden:
h(A) = N, wobei N eine ganze Zahl ist.
-
Ein
Beispiel für
solch eine Hash-Funktion ist es, die letzte Dezimalstelle in jedem
Oktett einer IP-Adresse zu nehmen und eine ganze Zahl für die Hash-Nummer
zusammenzustellen. So hätte
zum Beispiel die IP-Adresse 123.4.46.135 einen Hash-Wert von 3465.
-
Nachdem
die Hash-Funktion ausgeführt
wurde, werden eine Lokal-Ein- und eine Lokal-Aus-Hash-Tabelle erstellt.
Diese Tabellen sind im Wesentlichen Indizes, die nach Hash-Nummern
durchsucht werden können,
die von Netzwerk-Adressen von Peers abgeleitet wurden, wobei jede
gehashte Peer-Netzwerk-Adresse auf die Lokal-Ein- und Lokal-Aus-Regeln
dieses Peers zeigt. Wenn also A die Netzwerk-Adresse von Peer A ist
und wenn h(A) = 32, dann zeigt 32 auf die Lokal-Ein- und Lokal-Aus-Regeln
von Peer A in der lokalen Regel-Bank.
-
Die
Vorteile dieses Indizierungs-Systems gemäß der vorliegenden Erfindung
können
mit Hilfe der 8a, 8b, 8c und 8d dargestellt
werden. 8a zeigt eine Beispiel-Architektur,
bei der Peers A 801, B 802 und C 803 sich
hinter einer Firewall 804 befinden, die einen Filter 805 hat,
der an ein Netzwerk 806 mit Hosts G 807, H 808 und
I 809 angeschlossen ist. Diese Buchstaben stehen für Netzwerk-Adressen. 8b zeigt
die lokale Regel-Bank für
jeden Host. Der Einfachheit halber ist jede Regel in den Regel-Banken nur
als eine Netzwerk-Quell- und -Zieladresse dargestellt; die Quell-
und Zielports und Protokollnummern werden nicht gezeigt. Das Sternchen
steht für
einen Platzhalter, der einen beliebigen Host angibt. Diese Funktion kann
gemäß der vorliegenden
Erfindung zum Beispiel vorteilhaft implementiert werden, indem Platzhalter
in einem oder mehreren der vier Oktette eingeschlossen werden, die
eine IP-Adresse bilden. Die folgenden IP-Adressspezifikationen sind
alle gültig
zur Verwendung in Regel-Banken gemäß der vorliegenden Erfindung:
123.*.233.2
34.*.*.155
*.*.*.32
-
Die
Platzhalter-Funktion kann gemäß der vorliegenden
Erfindung ähnlich
auch in jeder anderen Komponente im 5-Tupel verwendet werden, d.
h. den Quell- und Zielports und dem Protokoll.
-
8c zeigt
die Peer-Ein-Hash-Tabelle 821 und die Peer-Aus-Hash-Tabelle 822,
abgeleitet von den lokalen Regeln, die in 8b dargestellt
sind, und die Hash-Funktion h, die für die Netzwerk-Adressen A,
B und C 823 ausgeführt
wird. Wenn ein Paket vom Filter 805 empfangen wird, führt der
Filter dieselbe Hash-Funktion
h für die
Quell- und Ziel-Adresse 824 des Paketes aus.
-
8d zeigt
das Verfahren, mit dem die Hash-Tabellen gemäß der vorliegenden Erfindung
durchsucht werden. 8d stellt eine detaillierte
Ansicht des Kastens "Prüfe lokale
Regel-Bank" 713 in 7b dar.
-
Gemäß der vorliegenden
Erfindung wird, wenn keine entsprechende Regel in der globalen Vor-Regel-Bank 711 gefunden
wurde (7b), die Lokal-Ein-Hash-Tabelle
effizient nach einer Regel durchsucht, die dem Paket 841 entspricht.
Wenn eine entsprechende Regel gefunden wird und die Aktion DROP
ist, wird das Paket fallen gelassen 842. Wenn die Aktion
PASS ist oder es keine entsprechende Regel gibt, wird die Peer-Aus-Hash-Tabelle
durchsucht 843. Wenn eine entsprechende Regel in der Hash-Aus-Tabelle gefunden wird
und die Aktion DROP ist, wird das Paket fallen gelassen 844.
Wenn die Aktion PASS ist oder es keine entsprechende Regel gibt
und wenn mindestens eine der Hash-Tabellen eine entsprechende Regel
enthielt, wird das Paket durchgelassen 845. Wenn es in
keiner der Hash-Tabellen entsprechende Regeln 846 gab,
wird die Nach-Regel-Bank durchsucht 715, wie in 7b dargestellt.
-
Ohne
die Peer-Ein- und Peer-Aus-Hash-Tabellen müssten die Regeln viel weniger
effizient gesucht werden, indem die gesamte Regel-Bank nach Regel-Kennungen
(zum Beispiel 5-Tupel) durchsucht würde, die der Paket-Kennung
(zum Beispiel 5-Tupel) entsprechen. Der Teil der Regel, der das
Paket kennzeichnet, für das
die Regel gilt (die Regel-Kennung), wird auch als Regel-"Schlüssel" bezeichnet. Die
Verwendung von Hash-Tabellen beseitigt die Notwendigkeit, die Schlüssel aller
Regeln zu durchsuchen, und zeigt stattdessen auf die relevante Untermenge
möglicherweise
anwendbarer Regeln durch eine schnellere Suche. So werden der Umfang
und die Rechnerzeit, die benötigt
wird, um die Suche durchzuführen,
substanziell und vorteilhaft verringert, wobei auch die Verzögerung der
Paket-Durchlauf-Zeit verringert wird, die durch das Zwischenschalten
eines Filters zwischen die Paket-Quelle und das Paket-Ziel verursacht
wird.
-
Wie
in 9 dargestellt, wird ein Peer zunächst gemäß der vorliegenden
Erfindung authentifiziert 91. Bei der Authentifizierung
wird die lokale Regel-Bank des Peers in den Filter 92 geladen.
Eine Hash-Funktion wird für
die Netzwerk-Adresse 93 des Peers ausgeführt und
die Peer-Ein- und Peer-Aus-Hash-Tabellen des Filters werden mit
Zeigern auf die Peer-Ein- und Peer-Aus-Regeln des Peers aktualisiert 94.
Wenn der Peer nicht mehr authentifiziert wird 95, werden
die lokalen Regeln des Peers von der lokalen Regel-Bank 96 des Filters
ausgeworfen und die Zeiger auf die Peer-Ein- und Peer-Aus-Regeln
des Peers werden von den Peer-Ein- und Peer-Aus-Hash-Tabellen 97 des
Filters ausgeworfen.
-
Die
vorliegende Erfindung bietet Filtern und Firewalls neue Sicherheit-Funktionalität auf Benutzer-Basis
und behält
gleichzeitig die Funktionalität
bekannter Filter bei. Die vorliegende Erfindung ermöglicht die
dynamische Anpassung lokaler Regel-Banken, die dynamisch an die
wechselnden Anforderungen des einzelnen Benutzers angepasst werden
können.
-
Wenn
technische Merkmale in den Ansprüchen
mit Bezugszeichen versehen sind, so sind diese Bezugszeichen lediglich
zum besseren Verständnis
der Ansprüche
vorhanden; dementsprechend stellen solche Bezugszeichen keine Einschränkungen
des Schutzumfangs solcher Elemente dar, die nur exemplarisch durch solche
Bezugszeichen gekennzeichnet sind.