-
Die
Erfindung betrifft ein Verfahren zum Authentifizieren eines Anwenders,
der in einer verteilten Umgebung im Client/Server-Betrieb arbeitet.
-
Allgemein
scheint es bei der Informationsverarbeitung und insbesondere bei
den komplexen Netzen verteilter Systeme unabdingbar zu sein, Dienste
vorzusehen und zu organisieren, die ermöglichen, die Sicherheit der
verteilten Umgebung zu gewährleisten.
Die Verwendung einer offenen und verteilten Informationsverarbeitung
weist nämlich
enorme Vorteile auf, weil es dann einem Anwender möglich ist,
unabhängig
davon, wo er sich geographisch betrachtet befindet, und unabhängig von
dem System, auf dem die Daten liegen, auf verschiedene Daten derartiger
Systeme zuzugreifen. Wenn der Anwender von diesen Vorteilen profitieren
möchte, wünscht er
jedoch auch, dass bestimmte Daten, die als vertraulich oder kritisch
angesehen werden, geschützt
werden und dass es nur bestimmten Anwendern erlaubt wird, auf sie
zuzugreifen, und dies unter Bedingungen und gemäß Vereinbarungen, die vorher festgelegt
wurden. Bekanntermaßen
sind die Sicherheitsdienste, insbesondere bei der verteilten Informationsverarbeitung,
aus Funktionen gebildet, die jene ergänzen, die durch die Plattformen
oder Einzelanwendungen geliefert werden, wie etwa die Zugangskontrolle,
das Auditing, die Integritätsprüfung und
die Authentifizierung des Ursprungs von Daten, die die Anforderungen
und die Antworten von Anwendern betreffen.
-
So
ist üblicherweise
die Bedingung, die notwendig ist, um die Kommunikationen zu autorisieren, indem
die Unsicherheit, die der Nutzung derartiger Systeme eigen ist,
reduziert wird, dass die Anwender oder die verschiedenen Systeme,
die eine Verbindung aufbauen möchten,
authentifiziert sind, was das Aktivieren eines "Aufrufs" bei der anfänglichen Anmeldung bedeutet.
Es ist jedoch anzumerken, dass die herkömmlichen Authentifizierungstechniken
unter Verwendung der Direktübertragung
(d. h. wie durch den Anwender an das Datenverarbeitungsendgerät übermittelt)
eines Passworts über
eine Nachrichtenübertragungsleitung
sich als zu verwundbar bei einer bestimmten Anzahl von Angriffen
erwiesen haben, um eine wirksame und einzige Antwort auf diese Sicherheitsanforderung
darzustellen. Derzeit geht die Tendenz vielmehr dahin, einer Authentifizierung
den Vorrang zu geben, die auf kryptographischen Techni ken basiert,
die eine ganz anders wirksame Lösung liefern.
Einfache chiffrierte Passwörter
sind jedoch nicht ausreichend, und es folglich notwendig gewesen,
leistungsfähigere
Technologien zu entwickeln, wie etwa jene der Systeme mit nur einmal
verwendbaren Passwörtern,
vom Fachmann "One-time
Passwords" (OTP)
genannt, die eine ausreichend lange geheime Information verwenden, "Passphrase" (vom Englischen "passe-phrase") genannt, wie jene,
die in dem Dokument mit dem Titel "A One-Time Password System", veröffentlicht
als "INTERNET DRAFT" und herausgegeben
von Neil Haller und Craig Metz am 23. Oktober 1995, beschrieben
ist, S/Key (S/Key ist eine Marke von Bellcore), ein ideales Beispiel
(da nämlich
die verschiedenen derzeitigen Systeme dieses Typs von dem S/Key-System
abgeleitet sind), wobei eine Beschreibung dieses Systems durch Neil Haller
im Konferenzband des ISOC-Symposiums zur Sicherheit von Netzen und
verteilten Systemen, San Diego, mit dem Titel "The S/KEY One-Time Password System", veröffentlicht
im Februar 1994, vorgenommen worden ist, oder aber die Systeme des
Typs Kerberos (Kerberos ist durch das Massachusetts Institute of
Technology entwickelt worden), deren Protokoll in dem Dokument RFC
1510, "The Kerberos Network
Authentication Service [V5]",
September 1993, veröffentlicht
durch die IETF (Internet Engineering Task Force), sowie in der Publikation
mit dem Titel "Kerberos:
An Authentication Service for Computer Networks", erschienen in IEEE Communications Magazine,
September 1994, beschrieben ist. Verfahren zum Modifizieren von "Passphrasen" sind im Stand der
Technik bekannt, der beispielsweise in dem Dokument "METHOD OF AUTHENTICATED PASSWORD
OR PASSPHRASE CHANGING",
IBM TECHNICAL DISCLOSURE BULLETIN, Bd, 36, Nr. 11, 1. November 1993
(1993-11-01), S. 285–289,
offenbart ist.
-
Die
Technologie zur Authentifizierung von Systemen mit nur einmal verwendbaren
Passwörtern (in
der Folge vereinfacht und prägnant
OTP genannt), wobei diese Passwörter,
wie der Name angibt, nur ein einziges Mal als Authentifizierungsmittel verwendet
werden können,
ist entwickelt worden, um den Zugang zu Systemen und verschiedenen
Anwendungen zu autorisieren, die eine durchdachte Authentifizierung
erfordern, um sogenannte passive Angriffe, d. h. die auf der Benutzung
von wiederverwendbaren Passwörtern,
die während
einer Verbindung in dem Netz abgefangen wurden, mit betrügerischer
Absicht beruhen, zu vereiteln. Eine solche Form des Angriffs gegen
als Netz ausgelegte Verarbei tungssysteme kann infolge eines "Abhörens" der Verbindungen
in dem Netz, um Informationen abzufangen, die sich auf eine Authentifizierung
beziehen, ausgeführt
werden, wobei diese Informationen, wenn sie erst einmal abgefangen
worden sind, dann benutzt werden, um sich Zugang zu dem Verarbeitungssystem
zu verschaffen. Die OTP-Systeme sind ersonnen worden, um diesen
Angriffstyp, den der Fachmann üblicherweise
auch Angriff durch Wiedereinspielung ("replay attack") nennt, abzuwehren. Ein OTP-System
verwendet nämlich
eine geheime "Passphrase", die nur dem Anwender
bekannt ist, um eine Folge von Passwörtern des OTP-Typs zu erzeugen.
Die geheime "Passphrase" des Anwenders wird folglich
bei diesem System niemals dem Netz präsentiert, was das System unverwundbar
durch passive Angriffe macht. Dieses System weist jedoch eine gewisse
Anzahl von Nachteilen auf, denn, auch wenn es angesichts passiver
Angriffe besonders leistungsfähig
ist, es erweist sich als unwirksam bei sogenannten aktiven Angriffen,
d. h. dass es keinen Schutz gegen einen Angriff bietet, bei dem
ein Eindringling in Übertragung
befindliche Informationen abfängt,
blockiert und dann "wieder
einspielt" oder
modifiziert. Was insbesondere das S/Key-System anbelangt, das der
OTP-Mechanismus ist, von dem die verschiedenen OTP-Systeme abgeleitet
worden sind, so wird das Passwort, das vom Netz gesehen wird, niemals zweimal
verwendet, wie schon der Name sagt. Dieses Passwort wird ausgehend
von einer geheimen "Passphrase", die nur dem Anwender
bekannt ist, berechnet, was bedeutet, dass der Server diese "Passphrase" niemals kennt. Der
Server speichert zunächst
entweder einen Anfangswert, der dazu bestimmt ist, das erste zu
empfangende OTP oder aber das letzte empfangene OTP im Anschluss
an eine erfolgreiche Authentifizierung zu verifizieren. Außerdem speichert
er die Anzahl der noch zu empfangenden Werte.
-
Der
Anfangswert, der dazu bestimmt ist, das erste zu empfangende OTP
zu verifizieren, wird gemäß den folgenden
Schritten berechnet: Ein vorausgehender Schritt besteht darin, die "Passphrase" mit einem "Kern" (vom Fachmann auch "Seed" genannt, der für den Server
spezifisch ist, zu verketten. Dies ermöglicht, dieselbe "Passphrase" für mehrere
Senner zu verwenden. Danach, im nachfolgenden Schritt, wird eine
nicht invertierbare Kompressionsfunktion (vom Fachmann "Hash" genannt) n + 1-mal angewendet,
und das Ergebnis wird dann übermittelt und
anschließend
in dem dieser Zählung "n + 1" zugeordneten Server
gespeichert.
-
Bei
einer Authentifizierung übermittelt
der Server den Wert des "Kerns" und die aktuelle
Zählung
m.
-
Diese
Zählung
m gibt dem Anwender die Anzahl der Iterationen an, die bei der Anwendung
der nicht invertierbaren Kompressionsfunktion auszuführen sind.
-
Beim
Verifizieren nimmt der Server eine und nur eine zusätzliche
Iteration der nicht invertierbaren Kompressionsfunktion an dem empfangenen
Wert vor und dann, wenn er einen Wert erhält, der dem gespeicherten Wert
gleich ist, sieht er die Authentifizierung als gelungen an, ersetzt
dann den empfangenen Wert und dekrementiert seine Zählung um
eine Einheit.
-
Diese
Technik kann auf zwei unterschiedliche Arten angewendet werden:
- 1) entweder ausgehend von einem vertrauenswürdigen Endgerät (vom Fachmann "Trusted Terminal" genannt),
- 2) oder aber ausgehend von einem beliebigen Endgerät (vom Fachmann "Untrusted Terminal") genannt.
-
Im
ersten Fall übermittelt
der Anwender die "Passphrase" an das Endgerät, das die
vorerwähnten
Berechnungen ausführt.
-
Im
zweiten Fall berechnet der Anwender im Voraus auf einem vertrauenswürdigen Endgerät eine bestimmte
Anzahl von OTPs und kopiert diese Information auf ein Papier. Er
wird dann diese Werte je nach seinem Authentifizierungsbedarf eingeben
können,
ohne zu vergessen, nach jeder erfolgreichen Authentifizierung den
entsprechenden Wert durchzustreichen.
-
Aus
Sicherheitsgründen,
aber auch aus praktischen Gründen
wegen des Wertes der aktuellen Zählung
m, der die Nutzungsdauer des OTP-Systems begrenzt, muss die "Passphrase" am Ende der Nutzung
reinitialisiert werden können.
Allgemein gibt es derzeit kein Reinitialisierungsverfahren für ein System
des Typs OTP als solches. Eine Veröffentlichung in "IBM Technical Disclosure
Bulletin", November
1993, mit dem Titel "Method
of Authenticated Password or Passphrase Changing" beschreibt ein Protokoll, das auf Schlüsselpaaren
basiert, wovon jedes aus einem Schlüssel zum Erzeugen eines Nachrichtenauthentifizierungscodes
(MAC Key) und einem Schlüssel
zum Schlüsselverschlüsseln (KEK) besteht.
Dieses Protokoll beruht auf der Verwendung eines ersten Schlüssel paares,
das aus der "Passphrase" berechnet ist, und
eines zweiten Schlüsselpaares,
das nach der gleichen Methode aus der neuen "Passphrase" berechnet ist. Das zweite Schlüsselpaar
wird mit dem ersten Schlüsselpaar
chiffriert, bevor es an den Server geschickt wird. Auf dem Server
ist das erste Schlüsselpaar
im Voraus installiert worden, um das Dechiffrieren des zweiten Schlüsselpaares
und seine Installation zu ermöglichen.
-
Kerberos
ist das erste System gewesen, das der Sicherheit einer verteilten
Umgebung gewidmet ist. Kerberos beruht einzig und allein auf der
Benutzung von geheimen Schlüsseln
und ist besonders gut an eine Verwendung durch Organisationen von
bescheidener Größe angepasst.
Bei der gegenwärtigen Technik,
die von Kerberos angewendet wird, ist es erforderlich, eine Information,
die in der Antwort des Authentifizierungsservers enthalten ist,
mit Hilfe eines gemeinsamen geheimen Schlüssels dechiffrieren zu können. Außerdem wird
die Information, die zum Dechiffrieren dient, direkt aus dem Kerberos-Passwort
abgeleitet. Kerberos ermöglicht,
einen Client beispielsweise anhand seiner Identität oder eines
Namens zu authentifizieren, unterstützt jedoch kein weiteres Privileg
(Zugangskennung, Rolle, Zugehörigkeit
zu einer Gruppe, Kapazitäten
usw.). Außerdem
unterstützt
Kerberos die gegenseitige Authentisierung ebenso wie die Integrität und die
Vertraulichkeit der Daten, umfasst jedoch keine Autorisierungsfunktion.
Die Authentifizierungstechnik von Kerberos basiert auf der Verwendung
eines Passworts, Kerberos-Passwort genannt. Dieses Passwort muss
der Anwender einem vertrauenswürdigen
Endgerät
mitteilen. Wenn es nämlich
durch das Endgerät "gestohlen" werden würde, dann
könnte
der Nutznießer
dieses Diebstahls anstelle des rechtmäßigen Anwenders authentifiziert
werden. Außerdem
sei angemerkt, dass es bisher keine veröffentlichte Technik für eine risikofreie
Verwendung von Kerberos auf einem beliebigen Endgerät gibt.
-
Um
die Schwächen
von Kerberos auszugleichen, wurde die Möglichkeit einer Kombination
mit weiteren Systemen, wie einem öffentlichen Chiffrierschlüssel oder
aber einem OTP-System vorgeschlagen ("Kerberos: An Authentication Service
for Computer Networks",
September 1994), ohne jedoch verwirklicht worden zu sein. Sogar
eine Erweiterung der Spezifikation des Kerberos-Protokolls (RFC
1510, "The Kerberos
Network Authentication Service [Version 5]", September 1993) ist in OTP-Systeme
integriert worden und bietet ein Verfahren, durch dessen Vermittlung
verschiedene OTP-Mechanismen innerhalb des Protokolls unter stützt werden
können,
wobei diese Kombination aus der Benutzung von OTPs und Kerberos
hauptsächlich
zur Folge hat, dass der Anwender gezwungen wird, zwei Informationen
zu verwenden, das Kerberos-Passwort und die "Passphrase". Dies läuft dem allgemeinen Trend zuwider, nach
dem nur eine Information verwendet wird, um das Gedächtnis des
Anwenders nicht überzustrapazieren.
Insbesondere spezifiziert das Kerberos-Protokoll Version 5 ein standardmäßiges Hilfsmittel, durch
das die Vorauthentifizierungsdaten und die Fehleranzeigefelder in
den Nachrichten unter Kerberos verwendet werden können, um
Daten des Typs OTP zu transportieren, wobei dieses Verfahren selbstverständlich auch
die gleichen schwerwiegenden Nachteile aufweist, da sich der Anwender
unbedingt zwei Informationen von nicht zu vernachlässigender
Größe einprägen muss:
die "Passphrase", die lang genug
sein muss, um eine zufriedenstellende Sicherheit zu gewährleisten,
wodurch das Kennen der "Passphrase" impraktikabel wird,
und das Kerberos-Passwort. Außerdem
kann sich der Anwender nicht risikofrei dieses Verfahrens von einem
beliebigen Endgerät
aus bedienen, in das er das Kerberos-Passwort eingeben würde. Bei
einem solchen Endgerät
könnte
dieses Passwort gestohlen werden, und folglich könnte der Anwender es nicht
mehr in dieser isolierten Weise anwenden, was ihn dazu zwingen würde, sich
systematisch der Kombination aus Kerberos-Passwort und "Passphrase" zu bedienen, wobei
diese Kombination bei einer wiederholten oder sogar täglichen
Verwendung eher umständlich und
mühselig
ist.
-
Die
vorliegende Erfindung hat zum Ziel, den verschiedenartigen Nachteilen
der verschiedenen Verfahren des Standes der Technik abzuhelfen,
und schafft ein Verfahren, bei dem sich der Anwender eine einzige
Authentifizierungsinformation einprägen muss und das zwei Varianten
besitzt, je nach dem, ob der Anwender mit Hilfe eines vertrauenswürdigen Endgeräts oder
eines beliebigen Endgeräts
Zugang zu seinem Informationssystem erlangt, wobei es zugleich ermöglicht,
auf einfache und wirksame Weise ein hohes Sicherheitsniveau zu bewahren.
-
Dazu
zeichnet sich das im Oberbegriff angegebene Verfahren zum Authentifizieren
eines Anwenders, der in einer verteilten Umgebung im Client/Server-Betrieb
arbeitet, dadurch aus, dass jede Authentifizierung ausgehend von
einer einzigen zu speichernden Authentifizierungsinformation, der "Passphrase", die eine bestimmte
Länge und
eine bestimmte Nutzungsdauer (abhängig von einem Zählwert)
hat, ausgeführt
wird, sei es in einem System des Typs mit nur einmal verwendbarem
Passwort OTP, das in ein Kerberos-System integriert ist, oder aber
in einem System des Typs mit nur einmal verwendbarem Passwort OTP,
das allein verwendet wird.
-
Folglich
muss gemäß dem Erfindungsgedanken
und entgegen allen Erwartungen nur eine einzige Authentifizierungsinformation
gemerkt werden: die "Passphrase", und dies, ob nun
ein OTP-System allein oder in Kombination mit einem Kerberos-System verwendet
wird, und ob der zu authentifizierende Anwender zu einem vertrauenswürdigen Endgerät oder zu
einem beliebigen Endgerät
Zugang hat.
-
Insbesondere
erfordert das Authentifizierungsverfahren der vorliegenden Erfindung,
wenn ein System des Typs mit nur einmal verwendbarem Passwort OTP
integriert in ein Kerberos-System verwendet wird, im Voraus zwei
spezifische Informationstypen auf dem Authentifizierungsserver zu
installieren, wobei die Informationen alle von einer einzigen und
eindeutigen "Passphrase" mit ausreichender Länge abgeleitet
werden, indem der erste Informationstyp gemäß dem OTP-Verfahren berechnet
wird, das einen Verifikationswert, einen "Kern" und
einen Zählwert,
der die aktuelle Zählung
m darstellt, liefert, und der zweite Informationstyp folgendermaßen berechnet
wird:
Kerberos-Passwort = nicht invertierbare Funktion("Passphrase", Konstante 1)
wobei
die Konstante 1 ein öffentlicher
Wert ist, d. h. ein zugänglicher
und nicht geheimer Wert, der die Verwendung eines einzigen nicht
invertierbaren Funktionstyps für
die Gesamtheit der Verfahren ermöglicht.
-
Bemerkenswerterweise
wird, wenn ein System des Typs mit nur einmal verwendbarem Passwort
OTP integriert in ein Kerberos-System verwendet wird, ein eindeutiges
Kommunikationsprotokoll zwischen dem Server und dem Endgerät verwendet, das
ein vertrauenswürdiges
Endgerät
oder ein beliebiges Endgerät
sein kann, wobei der Authentifizierungsserver nicht weiß, ob ein
vertrauenswürdiges Endgerät oder ein
beliebiges Endgerät
verwendet wird. Dieses eindeutige Kommunikationsprotokoll ist das
folgende:
- – in
der Informationsaustauschrichtung vom Endgerät des Anwenders zum Authentifizierungsserver
schickt der Anwender seine Kennung und ein nur einmal verwendbares
Passwort OTP; wenn die Authentifizierung erfolgreich ist, entspricht
die folgende Phase dem Schicken einer Antwort vom Authentifizierungsserver
zum Endgerät
des Anwenders, wobei diese Antwort eine chiffrierte Information
enthält,
die unter Verwendung eines Schlüssels
erhalten wird, der folgendermaßen
berechnet wird:
Chiffrierschlüssel = nicht invertierbare
Funktion(Kerberos-Passwort, empfangenes einmal verwendbares Passwort
OTP),
während
der Schlüssel
zum Dechiffrieren der Antwortnachricht des Servers auf Seiten des
Clients unter Verwendung der folgenden Formel berechnet wird:
Dechiffrierschlüssel = nicht
invertierbare Funktion(Kerberos-Passwort, letztes nur einmal verwendbares
Passwort OTP, das geschickt worden ist),
wobei das Endgerät des Anwenders
dann in der Lage ist,
- – entweder
aus der vom Anwender gelieferten "Passphrase" das nur einmal verwendbare Passwort
sowie im Fall der Verwendung eines vertrauenswürdigen Endgeräts den Dechiffrierschlüssel zu
berechnen,
- – oder
aber im Fall der Verwendung eines beliebigen Endgeräts diese
beiden Informationen zu empfangen.
-
Es
sollte hier Nachdruck darauf gelegt werden, dass die "Passphrase" von ausreichender
Länge,
d. h. mindestens zehn Zeichen lang, sein muss, um von einer gründlichen
Untersuchung der "Passphrase", ausgehend von einem
nur einmal verwendbaren Passwort, abzuschrecken, es sei denn, man will
eine maßlos
lange Zeit damit zubringen. Ebenso ist zu unterstreichen, dass auf
vorteilhafte Weise das Kommunikationsprotokoll, das zwischen dem
Server und dem Endgerät
des zu authentifizierenden Anwenders verwendet wird, eindeutig ist,
d. h. dass ein und dasselbe Protokoll verwendet wird, unabhängig davon,
ob das Endgerät,
dessen sich der Anwender bedient, ein vertrauenswürdiges Endgerät oder aber ein
beliebiges Endgerät
ist. Folglich weiß der
Authentifizierungsserver nicht, ob ein vertrauenswürdiges Endgerät oder ein
beliebiges Endgerät
verwendet worden ist.
-
Bei
einem System des Typs mit nur einmal verwendbarem Passwort OTP,
das in ein Kerberos-System integriert verwendet wird, liefert typisch dann,
wenn ein vertrauenswürdiges
Endgerät
benutzt wird, der Anwender die "Passphrase", und das Kerberos-Passwort
wird dann unter Verwendung der folgenden Formel gefolgert:
Kerberos-Passwort
= nicht invertierbare Funktion("Passphrase", Konstante 1)
-
Dann
ist es möglich,
daraus den Dechiffrierschlüssel
unter Verwendung der folgenden Formel zu folgern:
Dechiffrierschlüssel = nicht
invertierbare Funktion(Kerberos-Passwort, letztes nur einmal verwendbares
Passwort OTP, das geschickt worden ist).
-
Der
Dechiffrierschlüssel,
der auf Seiten des Clients zum Dechiffrieren der Antwortnachricht
des Servers dient, wird folglich mit einer Formel berechnet, die
jener gleich ist, die dem Chiffrierschlüssel entspricht. Der Client
kann folglich die Antwortnachricht des Servers unter Verwendung
dieses Schlüssels
dechiffrieren und hat auf keinen Fall auch nur die mindeste Information
zu chiffrieren.
-
Wenn
ein beliebiges Endgerät
benutzt wird, ist es wichtig, dass das Kerberos-Passwort dem Endgerät zu keinem Zeitpunkt von dem
Anwender mitgeteilt wird. Die beanspruchte Technik ermöglicht,
diese Bedingung auf einfache und wirksame Weise zu berücksichtigen.
-
Bemerkenswerterweise
kann, wenn ein System des Typs mit nur einmal verwendbarem Passwort
OTP in ein Kerberos-System integriert verwendet wird, das Authentifizierungsverfahren
gemäß der vorliegenden
Erfindung auch mit einem beliebigen Endgerät verwendet werden, wobei in
diesem Fall zwei Informationen gebraucht werden: das nur einmal
verwendbare Passwort OTP und der Dechiffrierschlüssel, jenen des Verfahrens
konform, die beide im Voraus berechnet und registriert (beispielsweise auf
ein Blatt Papier gedruckt) worden sind, wobei diese zwei Informationen
(zur einmaligen Verwendung) dann wieder in das beliebige Endgerät eingegeben werden,
während
das Kerberos-Passwort mit einem vertrauenswürdigen Endgerät verwendet
wird.
-
Folglich
muss der Anwender, wenn er ein beliebiges Endgerät verwendet, vorher mit Hilfe
eines vertrauenswürdigen
Endgeräts
die Dechiffrierschlüssel
berechnen, und er kann sie dann registrieren, indem er sie beispielsweise
auf Papier überträgt. Sein Papier
wird also die folgenden Informationen enthalten: für jeden
Zählwert
m den Wert des OTP sowie den zugeordneten Dechiffrierschlüssel.
-
Die
vorliegende Erfindung bietet folglich auch einen zweiten vorteilhaften
Aspekt dadurch, dass diese Technik risikofrei von einem beliebigen Endgerät aus anwendbar
ist. Bei derartigen Endgeräten
genügt
es, dazu vorzusehen, sich Informationen (zur einmaligen Verwendung)
zu bedienen, die auf irgendeinem Träger registriert sind (beispielsweise vorher
gedruckt worden sind), und das Kerberos-Passwort bei einem vertrauenswürdigen Endgerät zu verwenden.
-
Vorteilhaft
wird gemäß einem
Merkmal der Erfindung außerdem
eine Technik vorgeschlagen, gemäß der es
möglich
ist, die "Passphrase" ausgehend von derselben
zu merkenden Information sicher zu reinitialisieren, und dies auch
im Fall eines aktiven Abfangens, wobei im Gedächtnis zu behalten ist, dass
bislang die verwendeten Techniken nur einem passivem Abhören eine
Widerstand entgegensetzen. Wie vorher angemerkt wurde, ist nämlich die "Passphrase" nur m-mal, wie im Voraus
festgelegt, verwendbar, und wenn die Zählung m gleich null wird, dann
ist es erforderlich, die "Passphrase" zu ändern, wobei
jedoch im vorliegenden Kontext, wenn diese Änderung auf einfache Weise
erfolgen soll, sie zudem bei Gewährleistung
einer hohen Sicherheit durchgeführt
werden muss.
-
Deswegen
erfordert die Technik, bemerkenswerterweise, wenn ein System des
Typs mit nur einmal verwendbarem Passwort OTP integriert in ein Kerberos-System verwendet
wird, zum Reinitialisieren der "Passphrase" am Ende der Nutzungsdauer, dass
im Voraus auf Seiten des Servers eine zusätzliche Information installiert
wird, die aus einer einzigen und eindeutigen "Passphrase" mit ausreichender Länge (mindestens 10 Zeichen)
abgeleitet ist, wobei diese zusätzliche
Information "Modifizierungsschlüssel" genannt wird, dessen
aktuelle Berechnung folgendermaßen
geschieht, wobei der "Kern" für den Server
spezifisch ist:
Modifizierungsschlüssel = nicht invertierbare
Funktion("Passphrase", "Kern", Konstante 2)
wobei
Konstante 2 ein öffentlicher
Wert ist, wobei der Anwender dann, wenn er die "Passphrase" ändern möchte und
eine neue "Passphrase" wählt, von
einem notwendigen vertraulichen Endgerät eine Information in Form
einer Nach richt abschickt, die durch Verknüpfung der drei folgenden Felder
erhalten wird, wobei die Gesamtheit dieser Felder mit Hilfe des
Modifizierungsschlüssels
versiegelt wird, um jede nicht autorisierte Modifikation des Inhalts
dieser Felder erfassen zu können:
- – der
momentane Wert des OTP-Passworts mit einmaliger Nutzung,
- – der
neue Wert zur Verifikation der OTP-Passwörter mit einmaliger Nutzung,
die im Server im Fall einer erfolgreichen Reinitialisierung zu speichern
sind, wobei dieser neue Wert dem Zählwert bezüglich der Nutzungsdauer der "Passphrase" und einem für den Server
spezifischen "Kern" zugeordnet ist und
ermöglicht,
dieselbe "Passphrase" mit mehreren Servern,
die sich nicht gegenseitig vertrauen, zu nutzen,
- – der
neue Wert des Kerberos-Passworts und zugleich der neue Wert des
Modifizierungsschlüssels,
die durch den momentanen Wert des Modifizierungsschlüssels chiffriert
sind,
wobei der neue Verifikationswert, der dazu bestimmt ist,
das zu empfangende erste OTP-Passwort mit einmaliger Nutzung zu
steuern, durch das Endgerät
des Anwenders berechnet wird, indem in das Endgerät (n + 1)-fach
die nicht invertierbare Funktion nach der Verknüpfung der neuen "Passphrase" mit einem für den Server
spezifischen "Kern"-Wert eingegeben
wird, was somit ermöglicht,
dieselbe "Passphrase" für verschiedene
Server zu nutzen, während
der Server seinerseits gemäß der OTP-Methode
zunächst
verifiziert, ob das geschickte erste Feld korrekt ist, dann mit
Hilfe des aktuellen Modifizierungsschlüssels, den er besitzt, die
Integrität
der Gesamtheit der drei Felder verifiziert, dann, wenn die Verifikation
erfolgreich ist, den OTP-Mechanismus mit Hilfe des neuen Verifikationswertes,
der maximalen Anzahl von Nutzungen und des "Kerns" reinitialisiert, dann mit Hilfe des
Modifizierungsschlüssels
das chiffrierte Feld dechiffriert und den neuen Wert des Modifizierungsschlüssels und
das Kerberos-Passwort extrahiert und schließlich den neuen Wert des Modifizierungsschlüssels und
den neuen Wert des Kerberos-Passworts lokal aktualisiert.
-
Es
ist wichtig, hier außerdem
festzustellen, dass die "Passphrase" dem Server zu keinem
Zeitpunkt bekannt ist oder von ihm erkannt werden kann.
-
Dieses
Verfahren kann, selbstverständlich gemäß dem Erfindungsgedanken,
auch auf wirksame Weise auf die Änderung
der "Passphrase" bei einem OTP-System allein oder
kombiniert mit einem Kerberos-System angewendet werden.
-
In
diesem Fall wird, um die "Passphrase" am Ende der Nutzungsdauer
zu reinitialisieren, die gleiche Technik verwendet, wobei im Voraus
auf Seiten des Servers eine zusätzliche
Information installiert wird, die aus einer einzigen und eindeutigen "Passphrase" mit ausreichender
Länge (mindestens
zehn Zeichen) abgeleitet ist. Diese zusätzliche Information ist der
Modifizierungsschlüssel,
dessen aktuelle Berechnung folgendermaßen geschieht, wobei der "Kern" für den Server
spezifisch ist:
Modifizierungsschlüssel = nicht invertierbare
Funktion("Passphrase", "Kern", Konstante 2)
wobei
die Konstante 2 ein öffentlicher
Wert ist.
-
Dieser
Modifizierungsschlüssel
ist vertraulich. Allein die Tatsache, seinen Wert zu kennen, ermöglicht jedoch
nicht, auf direktem Wege eine betrügerische Handlung zu begehen.
So wird auf ähnliche Weise
wie im vorhergehenden Fall, der Anwender dann, wenn es notwendig
wird, die "Passphrase" zu ändern, und
eine neue "Passphrase" gewählt ist,
unbedingt von einem vertrauenswürdigen
Endgerät
aus eine Information in Form einer Nachricht abschicken, die durch
Verknüpfung
der drei folgenden Felder erhalten wird, wobei die Gesamtheit dieser
Felder mit Hilfe des Modifizierungsschlüssels versiegelt wird, um jede
nicht autorisierte Modifikation des Inhalts dieser Felder erfassen
zu können:
- – der
momentane Wert des OTP-Passworts mit einmaliger Nutzung,
- – der
neue Wert zur Verifikation der OTP-Passwörter mit einmaliger Nutzung,
die im Server im Fall einer erfolgreichen Reinitialisierung zu speichern
sind, wobei dieser neue Wert dem Zählwert bezüglich der Nutzungsdauer der "Passphrase" und einem für den Server
spezifischen "Kern" zugeordnet ist und
ermöglicht,
dieselbe "Passphrase" mit mehreren Servern,
die sich nicht gegenseitig vertrauen, zu nutzen,
- – der
neue Wert des Modifizierungsschlüssels, der
durch den momentanen Wert des Modifizierungsschlüssels chiffriert ist.
-
Der
neue Verifikationswert, der dazu bestimmt ist, das zu empfangende
erste OTP-Passwort mit einmaliger Nutzung zu steuern, wird berechnet, indem
in das Endgerät
(n + 1)-fach die nicht invertierbare Funktion nach der Verknüpfung der
neuen "Passphrase" mit einem für den Server
spezifischen "Kern"-Wert eingegeben
wird, was somit ermöglicht, dieselbe "Passphrase" für verschiedene
Server zu nutzen, während
der Server seinerseits gemäß der OTP-Methode
zunächst
verifiziert, ob das geschickte erste Feld korrekt ist, dann mit
Hilfe des aktuellen Modifizierungsschlüssels, den er besitzt, die
Integrität
der Gesamtheit der drei Felder verifiziert, dann, wenn die Verifikation
erfolgreich ist, den OTP-Mechanismus mit Hilfe des neuen Verifikationswertes,
der maximalen Anzahl von Nutzungen und des "Kerns" reinitialisiert, dann mit Hilfe des
aktuellen Modifizierungsschlüssels
das chiffrierte Feld dechiffriert und den neuen Wert des Modifizierungsschlüssels extrahiert
und schließlich
den neuen Wert des Modifizierungsschlüssels lokal aktualisiert.
-
Es
ist wichtig, an dieser Stelle Nachdruck darauf zu legen, dass diese
zwei Verfahren zum Ändern
der "Passphrase" jeweils die Benutzung
eines vertrauenswürdigen
Endgeräts
erfordern und auf keinen Fall auf einem beliebigen Endgerät ausgeführt werden
dürfen.
-
Für ein besseres
Begreifen des Erfindungsgedankens wird die folgende Beschreibung,
die selbstverständlich
nicht einschränkend
ist, verständlich
machen, in welche Umgebung sich die Erfindung einfügt und wie
sie verwirklicht werden kann.
-
Zunächst einige
Gedanken und Präzisionen im
Vergleich mit dem Stand der Technik, der durch die Systeme des OTP-Typs
gebildet wird. Die zwei grundlegenden Elemente, die zu betrachten
sind, der Client und der Server, arbeiten in derartigen Systemen
folgendermaßen:
Der Server muss eine Information, vom Fachmann "Challenge" genannt, schicken, wobei "Challenge" aus der Anzahl der
auszuführenden
Iterationen und dem Wert des für
den Server spezifischen "Kerns" gebildet ist. Der
Client muss das entsprechende OTP-Passwort schicken, das aus der
geheimen "Passphrase", die vom Anwender
eingegeben wird, und aus der sogenannten "Challenge"-Information, die vom Server geliefert
wird, erzeugt wird. Der Server muss dann das empfangene OTP-Passwort
verifizieren, das letzte empfangene, korrekte Passwort mit dem entsprechenden
Zählwert speichern.
Außerdem
muss der Server die Änderung der
geheimen "Passphrase" des Anwenders autorisieren,
und zwar auf einfache Weise und völlig sicher.
-
In
dem OTP-System schickt der Client seinerseits die geheime "Passphrase" mit dem Wert von "Kern", Teil von "Challenge", der vom Server
empfangen wurde, und die nicht invertierbare Kompressionsfunktion
wird iterativ, mit einer Anzahl von Iterationen, die dem aktuellen
Zählwert
entspricht, angewendet, um das OTP-Passwort zu erhalten, wobei folglich
bei jeder Anwendung die Iterationsanzahl der nicht invertierbaren
Funktion um eine Einheit dekrementiert wird. Auf diese Weise wird
eine eindeutige Passwortfolge erzeugt. Der Server verifiziert das
vom Client erhaltene OTP-Passwort, indem er ein einziges Mal die
nicht invertierbare Funktion anwendet und das erhaltene Ergebnis
mit dem zuvor ordnungsgemäß empfangenen
OTP-Passwort vergleicht. Bekanntermaßen beruht nämlich die
Sicherheit eines OTP-Systems auf der Leistungsfähigkeit der nicht invertierbaren
Kompressionsfunktion, die vorgesehen werden muss, um die Ausführung einer
einfachen Berechnung in einer Richtung, der Vorwärtsrichtung, zu ermöglichen,
jedoch die Berechnung in der Gegenrichtung zu unterbinden oder zumindest
quasi unmöglich
zu machen.
-
Bisher
wurde einmütig
anerkannt und als unvermeidbar angenommen, dass es unmöglich wäre, die "Passphrase" zu ändern und
einen neuen Zählwert
auszuwählen,
der im Server gespeichert wird, wenn der aktuelle Zählwert m
gleich null ist, ohne die Vorteile des den OTP-Systemen eigenen
Prinzips aufzugeben, dass nämlich
das System auch im Fall des Mitwissens der im Server enthaltenen
Information sicher bleiben muss.
-
Im
Folgenden ist erläutert,
warum eine Person, die den Wert des Modifizierungsschlüssels und die
Verifikationsparameter kennt, keine direkte Einwirkungsmöglichkeit
hat. Wie vorher schon ausgesagt worden ist, erlaubt allein die Tatsache,
den Wert des Modifizierungsschlüssels
zu kennen, nicht, auf direktem Wege eine betrügerische Handlung zu begehen.
Ein komplizierterer Angriff ist jedoch möglich, wobei dieser Angriff
eine Mittäterschaft
einer Person voraussetzt, die vorher den Wert des Modifizierungsschlüssels lesen
und dann einen aktiven Angriff vornehmen kann. Daher muss, wenn
eine Person in einem ersten Schritt den Wert des Modifizierungsschlüssels erhält, diese
Person oder eine andere Person in einem zweiten Schritt abwarten,
bis ein Anwender einen Befehl zur Änderung der "Passphrase" aktiviert, dann
die Information blockieren und flugs bestimmte Felder durch seine
eigenen Werte ersetzen und anschließend flugs den Integritätsprüfwert über die
Daten neu berechnen. Ein solcher Angriff muss jedoch vorher vorbereitet
werden, und es sei zudem angemerkt, dass er in Echtzeit die Anwendung
von Integritäts-
und Chiffrieralgorithmen erfordert. Da keine vollständige Vorausberechnung
durchführbar
ist, ist es folglich unmöglich,
eine betrügerische
Handlung zu begehen, indem einfach ein Austausch von Feldern vorgenommen
wird.
-
Zusammenfassend
und abschließend:
Dieses Verfahren kann erfolgreich in einem System des Typs mit nur
einmal verwendbarem Passwort OTP, das in ein Kerberos-System integriert
ist, oder aber in einem System des Typs mit nur einmal verwendbarem
Passwort OTP bei alleiniger Verwendung angewendet werden. Gemäß einem
wesentlichen Merkmal besteht dann, wenn sich der Anwender eines vertrauenswürdigen Endgeräts bedient,
die vorliegende Erfindung darin, nur eine einzige Information zu
verwenden und folglich sich einzuprägen, die "Passphrase", wobei nämlich das Kerberos-Passwort
im Fall der Verwendung eines Systems des Typs mit nur einmal verwendbarem
Passwort OTP, das in ein Kerberos-System integriert ist, von dieser "Passphrase" abgeleitet wird.
Gemäß einem
weiteren wichtigen Merkmal kann die weiter oben beschriebene Technik
auch ausgehend von einem beliebigen Endgerät erfolgreich angewendet werden.
Dazu genügt
es, dass der Anwender im Voraus zwei Informationen berechnet und
registriert hat (beispielsweise indem er sie auf ein Blatt Papier
gedruckt hat), ein nur einmal verwendbares Passwort und einen Dechiffrierschlüssel, wobei
diese zwei registrierten Informationen (zur einmaligen Verwendung)
dann wieder über
das beliebige Endgerät
eingegeben werden, während
das Kerberos-Passwort mit einem vertrauenswürdigen Endgerät benutzt
wird. Schließlich
wird gemäß der Erfindung
auch eine Technik vorgeschlagen, durch die es möglich ist, die "Passphrase" am Ende der Nutzungsdauer
auf sichere Weise zu reinitialisieren, und zwar auch im Fall eines
aktiven Abfangens und unabhängig
davon, ob dies in einem System des Typs mit nur einmal verwendbarem Passwort
OTP, das in ein Kerberos-System integriert ist, oder aber in einem
System des Typs mit nur einmal verwendbarem Passwort OTP, das allein
verwendet wird, geschieht.