Die Erfindung betrifft ein Zutrittskontrollverfahren für Geräte, welche erst nach Identifikation des Benutzers die Durchführung gewisser geschützter Operationen, bzw. den Zutritt zu geschützten Dateien ermöglichen und eine Vorrichtung zur Durchführung des Verfahrens.
In der modernen Datenverwaltung und der Datenübermittlung besteht sehr oft das Bedürfnis und/oder die Notwendigkeit, den Zutritt zu bestimmten Dateien und Daten bzw. den Zugriff auf bestimmte Funktionen des Gerätes auf einen bestimmten Anwenderkreis zu beschränken. Insbesondere im Bereich der Sicherheitstechnik (z.B. Chiffriergeräte) stellt sich häufig das Problem, dass Geräte bzw. Apparate installiert sind, welche zwei oder mehrere Klassen von Manipulationen erfordern: einerseits sind Operationen nötig, welche vom sicherheitstechnischen Standpunkt aus gesehen unkritisch sind, wie z.B. die Überwachung und Kontrolle des Zustandes der Datenleitungen, andererseits muss auch die Möglichkeit gegeben sein, sensitive Operationen, wie z.B. das Umschalten vom Chiffrierbetrieb auf Klarbetrieb, durchzuführen, also Operationen, deren Durchführung bzw.
Aktivierung verständlicherweise nur einem begrenzten Anwenderkreis nach Identifikation des Benützers zugänglich sein soll.
Es existieren viele verschiedene Möglichkeiten, eine solche Identifikation durchzuführen. Die klassische Methode besteht in der Verriegelung der entsprechenden Funktion durch ein mechanisches Schloss. Ein Benützer identifiziert sich dann durch den Besitz des dazugehörigen Schlüssels. Der Nachteil dieses klassischen Zutrittskontrollsystems aus Schlüssel und mechanischem Schloss besteht in der einfachen Reproduzierbarkeit von Schlüsseln, wodurch auch nichtautorisierte Benutzer Zutritt zu geschützt geglaubten Bereichen des Gerätes erlangen können.
Darüber hinaus kommt es oft auch vor, dass ein Benützer oft mehrere verschiedene derartige oder ähnliche Geräte bedienen muss, was im Falle des mechanischen Schlosses mit zugehörigen Schlüsseln dazu führt, dass der Benützer immer eine Vielzahl verschiedener Schlüssel bei sich tragen muss, was wiederum ein beträchtliches zusätzliches Sicherheitsrisiko beinhaltet. Der Ausweg, einen Hauptschlüssel zu verwenden, ist nicht praktikabel, da oft mehrere Benützer verschiedene Teilmengen einer Menge von Geräten gemeinsam benützen, bzw. verschiedene Klassen von Zutrittsberechtigungen für gleiche Geräte besitzen.
Neuerdings kommen oft auch elektronische Zutrittskontrollsysteme zum Einsatz, in welchen der elektronische Schlüssel als sogenanntes Token ausgebildet ist. Es handelt sich dabei um ein kleines, mobiles, portables elektronisches Gerät, welches gewisse Funktionen eines Kleinrechners übernehmen kann. Ein solches Token kann z.B. als Chipkarte realisiert sein. Die Identifikation des Benützers eines derartigen Token erfolgt auf Basis von geheimen Chiffrierschlüsseln, welche im Gerät und im Token implementiert sein müssen. Derartige bekannte elektronische Zutrittskontrollsysteme weisen die gleichen Nachteile auf, wie die bekannten klassischen.
Zusätzlich besteht die Gefahr, dass bei der Einstellung weiterer Tokens für Zutrittsberechtigungen neuer Personen, durch Umkopieren von geheimen Chriffrierschlüsseln auf diese Token diese Chriffrierschlüssel auch nichtautorisierten Personen bekannt werden können.
Es besteht daher die Aufgabe, ein Zutrittskontrollverfahren zu schaffen, welches in einfacher und sicherheitstechnisch verlässlicher Weise zwei Aufgaben erfüllt: Einerseits soll einem begrenzten Personenkreis der Zutritt zu einem Gerät, bzw. zu verschiedenen Funktionen eines Gerätes ermöglicht werden. Andererseits soll ein Token Zutritt zu mehreren Geräten verschaffen. Das Verfahren soll es erlauben, auf einfache (ohne Umweg über eine Zentrale) und sicherheitstechnisch unbedenkliche Art zusätzliche Zutrittberechtigungen entweder einer Person auf weitere Geräte auszudehnen oder einer neuen Person zu bestehenden Geräten zu schaffen. Darüber hinaus soll für jedes Gerät-Token-System nur ein einziger geheimer Chiffrierschlüssel existieren.
Diese Aufgabe wird durch ein erfindungsgemässes Verfahren, welches im Kennzeichen des Patentanspruches 1 beschrieben ist, gelöst.
Die zweite Aufgabe, eine Vorrichtung zur Durchführung des erfindungsgemässen Verfahrens zu schaffen, wird durch eine Vorrichtung gemäss Kennzeichen des Patentanspruches 2 gelöst.
Im folgenden wird eine beispielsweise Ausführungsform der Erfindung anhand der Zeichnungen näher erläutert. Es zeigen:
Fig. 1 eine symbolische Darstellung eines beispielsweise als Chipkarte ausgebildeten Tokens,
Fig. 2 den Teil des einem Token zugeordneten Gerätes, welcher die Identifizierungsfunktionen durchführt mit schematischer Blockdarstellung seiner internen Funktionen.
Fig. 3 eine schematische Blockdarstellung des Tokens und seiner internen Funktionen.
Das beispielsweise betrachtete Zutrittskontrollsystem besteht einerseits aus einem oder mehreren Geräten mit als Schloss dienenden Teilbereichen S des Gerätes, durch welches gewisse Funktionen des (der) Geräte(s) vor nicht autorisierten Benutzern geschützt werden sollen. Andererseits stehen zur Benutzeridentifikation ein oder mehrere als Schlüssel dienende Tokens T zur Verfügung.
In Fig. 1 ist ein Token T dargestellt, welches als Chipkarte 20 mit einer mehrere Speicherplätze 8 umfassenden Rechen- und Speichereinheit ausgebildet ist.
Fig. 2 zeigt schematisch den als Schloss dienenden Widerpart S zu dem Token zugeordneten Gerät mit schematischer Blockdarstellung der internen Funktionseinheiten dieses Geräteteils S.
Er umfasst einen Permanentspeicher 2, einen Zufallsgenerator 3, einen Chriffrierblock 4 und eine Vergleichseinheit 5. Übergeordnet über die zentralen Funktionseinheiten wacht und steuert eine Kontrolleinheit 1. Zusätzlich ist dieser Teil S des Gerätes mit einem Interface 6 ausgestattet, welches als Andock-port und Schnittstelle für das zugeordnete Token T dient.
Fig. 3 zeigt schematisch das Token T und seine wichtigsten Funktionsblöcke. Es umfasst in Entsprechung zu seinem Widerpart S aus zugeordnetem Gerät eine Speichereinheit 8 und einen Chiffrierblock 10, welche von einer Token-Kontrolleinheit 9 gesteuert und überwacht werden. Als Kommunikationsschnittstelle dient ein Interface 7, über welches Informationen an den zugeordneten Geräteteil S übermittelt bzw. von diesem empfangen werden können.
Die Zutrittskontrolle in dem hier betrachteten System geschieht grundsätzlich nach dem bekannten "challenged response"-Prinzip, dessen Schema durch Pfeile in Fig. 2 und 3 angedeutet ist. Die Kontrolleinheiten 1, 9 stehen in Wechselwirkung mit allen jeweils zugeordneten Funktionsblöcken. Aus Gründen einer besseren Übersichtlichkeit wurde darauf verzichtet, diese Wechselwirkung in den Fig. durch Pfeile anzudeuten.
Teil S des Gerätes und Token T verfügen über gemeinsame Geheimschlüssel in ihren (nichtflüchtigen) jeweiligen Speichern 2 bzw. 8. Zuerst wird im Teil S des Gerätes in einem Zufallsgenerator 3 ein Zufallsmuster erzeugt, welches über die Schnittstellen 6 und 7 an das Token T gesendet wird. Anschliessend wird das Zufallsmuster in Gerät und Token in einem Chiffrier-Block 4 bzw. 10 unter der Steuerung durch den aus den Speichern 2 bzw. 8 bezogenen Schlüsseln chiffriert. Das im Token T erzeugte Resultat wird über das Interface 7 bzw. 6 an das Gerät gesendet. Im Gerät geschieht ein Vergleich (Block 5). Ist der Vergleich positiv, so steuert der Vergleichsblock (5) den Kontroll-Mechanismus (1) des Gerätes, so dass die gewünschte Funktion ausgeführt wird. Die gesamten Funktionsabläufe werden in Gerät bzw. Token durch die Kontrolleinheiten 1 bzw. 9 gesteuert.
Die Funktionsfähigkeit des Tokens T und auch der Geräteteile S kann im Sinne einer weiteren Erhöhung der Sicherheit von einem einzugebenden Codewort (PIN für Personal Identification Number) abhängig gemacht werden. Dieser Mechanismus ist aus Gründen der Übersichtlichkeit in den Blockschaltbildern von Fig. 2 und 3 nicht eingezeichnet.
In Gerät S und Token T wird eine Menge von n (z.B. n=16) Schlüsseln für die Zutrittskontrolle definiert. Jeder dieser Schlüssel ist durch einen Identifikator (KID für Key Identifier) bezeichnet. Für jede Kombination Token T, Gerät S wird ein eigener Schlüssel erzeugt und in beiden Systemteilen auf korrespondierenden Speicherplätzen in Tabellenform abgelegt. Diese Tabelle ordnet insbesondere jedem KID den Inhalt des Schlüssels (z.B. 64 Bit) und eine Flagge, welche die Gültigkeit bezeichnet ("Present Flag") enthält.
Der Zustand solcher Tabellen kann nach einigen Operationen z.B. wie folgt aussehen:
<tb><TABLE> Columns=7
<tb>
<tb>Title: Schlüsseltabelle im Gerät 1
<tb>Title: Schlüsseltabelle im Gerät 2
<tb>Head Col 01 AL=L: KID
<tb>Head Col 02 AL=L: Inhalt
<tb>Head Col 03 AL=L: Present-flag
<tb>Head Col 05 AL=L: KID
<tb>Head Col 06 AL=L: Inhalt
<tb>Head Col 07 AL=L: Present-flag
<tb> <SEP>1 <SEP>...... <SEP>not present <SEP>1 <SEP>...... <SEP>not present
<tb> <SEP>2 <SEP>...... <SEP>not present <SEP>2 <SEP>...... <SEP>not present
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>5 <SEP>abcd <SEP>present <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>7 <SEP>igkl <SEP>present
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>n <SEP>...... <SEP>not present <SEP>10 <SEP>efgh <SEP>present
<tb> <SEP>.
<tb> <SEP>n <SEP>......
<SEP>not present
<tb></TABLE>
<tb><TABLE> Columns=7
<tb>
<tb>Title: Schlüsseltabelle im Token A:
<tb>Title: Schlüsseltabelle im Token B:
<tb>
<tb>Head Col 01 AL=L: KID
<tb>Head Col 02 AL=L: Inhalt
<tb>Head Col 03 AL=L: Present flag <SEP>KID
<tb>Head Col 06 AL=L: Inhalt
<tb>Head Col 07 AL=L: Present flag
<tb> <SEP>1 <SEP>...... <SEP>not present <SEP>1 <SEP>...... <SEP>not present
<tb> <SEP>2 <SEP>...... <SEP>not present <SEP>2 <SEP>...... <SEP>not present
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>5 <SEP>abcd <SEP>present <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>7 <SEP>ijkl <SEP>present <SEP>10 <SEP>efgh <SEP>present
<tb> <SEP>. <SEP>.
<tb> <SEP>. <SEP>.
<tb> <SEP>n <SEP>...... <SEP>not present <SEP>n <SEP>...... <SEP>not present
<tb></TABLE>
Bei einem neuen Gerät ist die Funktion, welche die Erzeugung eines Tokens T erlaubt, nicht sicherheitssensitiv, d.h. sie kann ohne Identifikation durchgeführt werden. Nach der Erzeugung des ersten Tokens wird die Funktion als sicherheitssensitiv betrachtet, d.h. sie kann nur nach einer Identifikation mit einem früher erzeugten Token T ausgeführt werden.
Bei der Erzeugung von neuen Zutritts-Token T stellt sich das Problem der Bestimmung des für das neue Token T zu verwendenden Schlüssels bzw. seines KID's. Dieser KID wird nach folgendem Algorithmus bestimmt:
- Wähle den ersten KID in der Menge (1..n), so dass kein entsprechender Schlüssel im Gerät oder im Token "present" ist (d.h. dass der entsprechende Platz in Gerät und Token frei ist).
- Ist dies nicht möglich, so wähle den ersten KID in der Menge (1..n), so dass im Token der entsprechende Schlüssel nicht "present" ist (d.h. dass der entsprechende Platz im Token frei ist).
Ist dies nicht möglich, so erzeuge eine Fehlermeldung, welche besagt, dass das Token schon maximal ausgenützt ist.
Ist ein solcher KID gefunden worden, so wird im Geräteteil S ein Zufallsmuster erzeugt und unter diesem KID in Geräteteil S und Token T abgespeichert.
Der Ablauf der Zutrittskontrolle wird im folgenden beschrieben. Nach Verbinden von Geräteteil S und Token T über die Interfaces 6 und 7 erfolgt einfach eine Suche durch die Menge der KID (1..n) nach einem Wert, so dass
- ein entsprechender Schlüssel in Gerät und Token "present" ist und
- ein Challenged Response - Verfahren gemäss "State of Art" einen gültigen Vergleichswert liefert.
Hat dieses Verfahren Erfolg, so wird Zutritt gewährt, andernfalls nicht.
Im vorstehend genannten Beispiel ermöglicht Token A den Zutritt zu Gerät 1, Schlüssel abcd auf KID 5 stimmt überein, und zu Gerät 2, Schlüssel igkl auf KID 7 stimmt überein. Token B hingegen erlaubt nur den Zutritt zu Gerät 2, Schlüssel efgh auf KID 10 stimmt überein, welches aber auch dem Benutzer des Token A Zutritt gewährt, Schlüssel igkl auf KID 7 stimmt überein.
Dieses neue Zutrittskontrollsystem zusammen mit dem erfindungsgemässen Verfahren zur Erzeugung von Token T, d.h. zur Generierung von Zutrittsberechtigungen, sowie der neuartige Ablauf der Zutrittskontrolle eines Benutzers weist viele Vorteile gegenüber dem Bekannten auf.
Für ein Gerät können ohne zentrale Verwaltung bis zu n verschiedene Zutritts-Tokens erzeugt werden.
Ein Token kann ohne zentrale Verwaltung für bis zu n verschiedene Geräte als Zutritts-Token verwendet werden.
Der Besitzer eines gültigen Tokens kann weitere gültige Tokens erzeugen.
Die Geheimschlüssel werden nur für ein einziges Gerät/Token Paar verwendet bzw. für jedes Paar wird ein neuer Schlüssel erzeugt.
Die Erzeugung neuer Tokens verlangt kein Umkopieren von Geheimschlüsseln, welche für andere Tokens verwendet werden (Sicherheitsrisiko!).
Das Verfahren ist sehr einfach und kann deshalb auch in einer einfachen Zutrittskontrollsystemkonfiguration Gerät mit schlossartigem Geräteteil S - Token T effizient durchgeführt werden.