DE69213062T2 - Authentisierungsprotokolle für Kommunikationsnetzwerke - Google Patents
Authentisierungsprotokolle für KommunikationsnetzwerkeInfo
- Publication number
- DE69213062T2 DE69213062T2 DE69213062T DE69213062T DE69213062T2 DE 69213062 T2 DE69213062 T2 DE 69213062T2 DE 69213062 T DE69213062 T DE 69213062T DE 69213062 T DE69213062 T DE 69213062T DE 69213062 T2 DE69213062 T2 DE 69213062T2
- Authority
- DE
- Germany
- Prior art keywords
- user
- request
- response
- answer
- equation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000004891 communication Methods 0.000 title claims description 14
- 230000004044 response Effects 0.000 claims description 61
- 238000000034 method Methods 0.000 claims description 45
- 230000006870 function Effects 0.000 claims description 31
- 230000014509 gene expression Effects 0.000 claims description 10
- 238000007620 mathematical function Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- CYJRNFFLTBEQSQ-UHFFFAOYSA-N 8-(3-methyl-1-benzothiophen-5-yl)-N-(4-methylsulfonylpyridin-3-yl)quinoxalin-6-amine Chemical compound CS(=O)(=O)C1=C(C=NC=C1)NC=1C=C2N=CC=NC2=C(C=1)C=1C=CC2=C(C(=CS2)C)C=1 CYJRNFFLTBEQSQ-UHFFFAOYSA-N 0.000 description 1
- 241001391944 Commicarpus scandens Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
- G06F21/445—Program or device authentication by mutual authentication, e.g. between devices or programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3271—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2103—Challenge-response
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
- Computer And Data Communications (AREA)
Description
- Die Erfindung bezieht sich im allgemeinen auf Verfahren, die für die nötige Sicherheit sorgen, damit unberechtigte Netzwerkbenutzer oder andere Netzwerkentitäten, zum Beispiel ein Programm, nicht eindringen können. Insbesondere bezieht sich die Erfindung auf Verfahren, um zu authentisieren, daß ein Benutzer, der versucht, Kommunikationen mit anderen Netzwerkbenutzern oder Netzknoten herzustellen, tatsächlich der Benutzer ist als den er sich selbst darstellt.
- Die Authentisierung von Benutzern in einem Netz ermöglicht es einem Benutzerpaar, das kommunizieren möchte, seine Identitäten zu nachzuweisen. Es viele unterschiedliche Authentisierungsprotokolle, die in der Literatur erörtert wurden. Einige erfordern die Benutzung eines gemeinsamen Geheimnisses, zum Beispiel einen geheimen digitalen Schlüssel oder eine geheime mathematische Funktion, das auf einen passenden Parameter oder Parameter angewendet wird; andere benutzen öffentliche Schlüsselarten von Protokollen. Diese Erfindung befaßt sich primär mit Authentisierungsprotokollen, welche gemeinsame Geheimnisse benutzen, obwohl diese zur Benutzung in öffentlichen Schlüsselsystemen einfach angepaßt werden können.
- Mit Bezug auf den Stand der Technik beschreibt die US Patentschrift 4,890,323, "Data Communication Systems and Methods", die am 26. Dezember 1989 von Beker veröffentlicht wurde, ein Datei- und Senderauthentisierungsverfahren, in dem eine verschlüsselte Kontrollsumme zu den Inhalten einer Nachricht addiert wird, die einen ersten privaten Schlüssel benutzt. Diese Prüf summe wird als "Aufforderung" an einen Benutzer ausgegeben, der ein Ergebnis mittels eines zweiten privaten Schlüssels berechnet. Das Ergebnis wird als Authentisierungscode vor Rückübertragung an die Antwort angehängt. Ein Empfänger der Antwort, der über die gleichen ersten und zweiten kryptographischen Schlüssel verfügt, kann deshalb sowohl die Inhalte der Nachricht als auch die Identität des Senders kontrollieren, indem ein erwarteter Authentisierungscode aus der empfangenen Antwort berechnet und mit dem empfangen Code verglichen wird.
- Die US Patentschrift 4,919,545, "Distributed Security Procedure for Intelligent Networks", die am 24. April 1990 von C. Yu herausgegeben wurde, beschreibt ein Dateiauthentisierungsverfahren. Ein Ausführungsknoten überträgt eine Fähigkeit und eine Unterschrift an einen Aufrufknoten. Die Fähigkeit enthält einen Namen von der Datei und Zugriff srechte zu einer Datei. Die Unterschrift wird aus dem Ausführungsknoten durch Verschlüsselung der Fähigkeit mit einem Schlüssel gebildet, der in dem Aufrufknoten einmalig ist und nur in dem Ausführungsknoten gespeichert wird. Eine Anforderung zum Zugriff auf die Datei wird mit der Fähigkeit und der Unterschrift von dem Aufrufknoten zum Ausführungsknoten übertragen. In dem Ausführungsknoten wird die Aufforderung durch Verschlüsselung der Fähigkeit mit dem Chiffrierschlüssel, der zum Aufrufknoten gehört, authentisiert. Der Zugriff auf die Datei wird nur erlaubt, wenn die Unterschrift, die von dem Ausführungsknoten erzeugt wurde, mit der Unterschrift übereinstimmt, die von dem Aufrufknoten empfangen wurde.
- US Patentschrift 4,193,131, mit dem Titel "Cryptographic Venfication of Operational Keys Used in Communication Networks", am 11. März 1980 von R. Lennon et al. herausgegeben. Dieses Patent beschreibt ein Verfahren zur Chiffrierschlüsselverteilung und Benutzerauthentisierung über einen gemeinsamen privaten Schlüssel. Eine erste Station chiffriert mit dem Schlüssel eine erste Prüfungsnummer, um Verschlüsselungstext zur Übertragung an die zweite Station zu liefern. In der zweiten Station wird der Verschlüsselungstext der ersten Station weiter mit dem Schlüssel chiffriert, um der zweiten Station Verschlüsselungstext zur Rückübertragung an die erste Station zu liefern. Die erste Station verschlüsselt wieder den ersten zur Prüfung dienenden Verschlüsselungstext und vergleicht diesen mit dem von der zweiten Station empfangenen Verschlüsselungstext, um zu überprüfen, daß die zweite Station die Quelle des Verschlüsselungstextes aus der zweiten Station ist. Diese Authentisierung ist nur möglich, wenn die Operationsschlüssel beider Stationen identisch sind.
- Die US Patentschrift 4,386,233, "Cryptographic Key Notarization Methods and Apparatus", die am 31. Mai 1983 von M.E. Smid et al. herausgegeben wurde, beschreibt auch ein Schlüsselverteilungssystem und Benutzerauthentisierungsverfahren, in dem kryptographische Schlüssel durch Chiffrieren der Schlüssel mittels eines Beglaubigungsschlüssels, der von den Namen abgeleitet wird, die zu den fraglichen Benutzern gehören und eines Austauschschlüssels, der nur für berechtigte Benutzer der kryptographischen Funktion zugänglich ist, beglaubigt werden. Die Identität eines Benutzers der kryptographischen Funktion wird als eine Bedingung zum Zugriff auf einen Austauschschlüssel authentisiert. Diese Authentisierung wird durchgeführt, indem eine Paßwortbezeichnung, die von dem Benutzer mit einer vorgespeicherten Version des Paßwortes geliefert wird, die beglaubigt wurde, indem diese mit der Chiffrierfunktion mittels eines zu beglaubigenden, kryptographischen Schlüssels, der von dem Namen des entsprechenden berechtigten Benutzers und einem Austauschschlüssel abgeleitet wurde, verschlüsselt wird.
- Die US Patentschrift 4,218,738, "Method for Authenticating the Identity of a User of an Information System", die am 19. August 1980 von M. Matyas et al. herausgegeben, beschreibt noch ein weiteres Verfahren, um zu versuchen, Benutzer in einem Netzwerk zu authentisieren. Eine Benutzerprüfungsnummer ist eine Funktion der Benutzeridentität, ein separat eingegebenes Paßwort, das zum Benutzer gehört, und ein gespeichertes Prüfmuster. Das Prüfmuster für einen Benutzer wird unter physischer Sicherheit von einem zentralen Rechner erzeugt, der eine Abweichung von einem Hauptschlüssel eines Hauptrechners ist.
- US Patentschrift 4,549,075, "Method of Certifying the Origin of at Least One Item of Information Stored in the Memory of a First Electronic Device and Transmitted to a Second Electronic Device, and System for Carrying Out the Method", am 22. Oktober 1985 von Charles Saada herausgegeben. Dieses Patent beschreibt ein gemeinsam benutztes geheimes Authentisierungsprotokoll, das einige Probleme im Stand der Technik des darin zusammengefaßten Authentisierungsverfahrens überwinden soll. In diesem Stand der Technik authentisiert ein Benutzer B einen Benutzer A. Sowohl A als auch B benutzen gemeinsam ein Informationselement I, ein Geheimnis S und eine Funktion f(). Um eine Authentisierung zu beginnen, sendet A an B I. B antwortet mit einer Zufallszahl, einer Aufforderung, Nb. Sowohl A als auch B berechnen f(I,Nb,S). A sendet seine berechnete Antwort an B und B vergleicht diese Antwort mit seiner Berechnung. Es wird gesagt, daß A B auf ähnliche Weise authentisieren kann. Saada weist nicht darauf hin, daß dieses Protokoll des Stands der Technik in einer allgemeinen Netzwerkumgebung einfach gebrochen werden kann. Saada versucht vielmehr das Problem zu lösen, das durch das Verfahren im Stand der Technik gestellt wird, wenn A und B ein Informationselement I nicht gemeinsam benutzen sondern vielmehr ihre eigenen individuellen Informationselemente Ia und Ib haben. Saada wendet das zusammengefaßte Verfahren aus dem Stand der Technik in diesem neuen Szenario an und folgert, daß das resultierende Protokoll einfach gebrochen werden kann.
- Somit besteht die Erfindung von Saada darin, den Benutzern zu erlauben, sich einander zu authentisieren, wenn jeder unterschiedliche Informationseinheiten Ia und Ib hat. A und B benutzen wiederum eine Funktion f () und ein Geheimnis S gemeinsam. A hat ein Informationselement Ia; B hat ein Informationselement Ib. A sendet Ia und eine Ankündigung Na an B. B schickt Element Ib und eine andere Ankündigung Nb an A zurück. A berechnet R1 = f (Na,S,p(Ia,Ib)) und K1 = f(Nb,S,p(Ia,Ib)) und sendet K1 an B. p() ist eine symmetrische Funktion, die sowohl A als auch B bekannt ist. Die Symmetrie bedeutet, daß p(Ia,Ib) p(Ib,Ia). B berechnet K2 = f(Na,S,p(Ib,Ia)) und R2 = f(Nb,S,p(Ib,Ia)) und sendet K2 an A. A vergleicht K2 mit dessen Ergebnis R1, um B zu authentisieren und B vergleicht K1 mit dessen Ergebnis R2, um A zu authentisieren. Es wird gesagt, daß dieses Protokoll sicherstellt, daß A und B aufgrund des Geheimnisses Teil der gleichen Gruppe sind, und daß A und B die sind, die sie sagen, weil die Elemente Ia und Ib gegenseitig über die symmetrische Funktion p() authentisiert werden. Es wird festgestellt, daß der Algorithmus von Saada ein Minimum von vier Nachrichtenflüssen benötigt. Es ist der vierte Fluß, der verhindert, daß dieses Verfahren durch Verfahren gebrochen wird, die nachstehend kurz beschrieben werden.
- In noch keinem anderen bekannten Authentisierungsverfahren sendet Benutzer A zuerst eine Aufforderung Na in Form einer Ankündigung (Nachricht 1). B sendet einen verschlüsselten Wert von der Ankündigung mittels eines privaten, gemeinsam benutzten Schlüssels, um die Verschlüsselung durchzuführen, plus eine zweite Ankündigung Nb in Klartext (Nachricht 2). A schickt dann einen verschlüsselten Wert der zweiten Ankündigung an B (Nachricht 3), der überprüft, daß diese Antwort mit dem gemeinsam benutzten Schlüssel richtig verschlüsselt wurde. Dieses Protokoll verlangt drei Nachrichten. Dieses Protokoll kann jedoch, wie gezeigt werden wird, auch einfach gebrochen werden.
- Wie aus der oben zusammengefaßten Technik ersichtlich ist, benutzen Authentisierungsverfahren verschiedene Formen von gemeinsam benutzten Geheimnissen und Datenverschlüsselung von Benutzern mittels eines gemeinsam benutzten Schlüssels, um sicherzustellen, daß die Benutzer die sind, die sie sagen. Die vorhandenen Verfahren leiden unter einer Anzahl von Problemen. In der Theorie authentisiert jeder Benutzer den anderen, da die korrekten Verschlüsselungen und/oder Entschlüsselungen nicht von einem Benutzer erzeugt werden können, der das gemeinsam benutzte Geheimnis nicht kennt. In der Praxis erfordern diese Authentisierungsverfahren jedoch entweder zu viele Nachrichtenflüsse oder zu viele Verschlüsselungs- und Entschlüsselungsoperationen oder unterliegen einer Vielzahl von erfolgreichen Angriffen.
- Mittels des letztgenannten Authentisierungsverfahren ruft zum Beispiel in einer ersten erfolgreichen Anriffsart ein Eindringling X, der vorgibt A zu sein, den Angriff auf, indem die erste Aufforderung Na an B (Nachricht 1) gesendet wird. B sendet den verschlüsselten Wert der ersten Aufforderung E(Na) zurück, plus der zweiten Aufforderung Nb (Nachricht 2). X, der den Geheimschlüssel nicht kennt, erhält die korrekte Verschlüsselung von Nb durch Aufrufen einer anderen Verbindung (wird in der ganzen Beschreibung Referenzverbindung genannt) mit dem echten A oder einem anderen Benutzer C, der den Schlüssel kennt und überträgt Nb als erste Aufforderung der Referenzverbindung. A oder C sendet E(Nb) an X als Antwort zurück. X sendet E(Nb) an B als Antwort auf die zweite Aufforderung der anfänglichen Angriffsverbindung.
- In einer zweiten Angriffsart als weiteres Beispiel fängt X die erste Nachricht ab, die Na von A erhält, die für B bestimmt ist. X, der vorgibt B zu sein, ruft eine Referenzverbindung mit A (oder C) auf und sendet Na als Nachricht 1 der Referenzverbindung. A (oder C) antwortet mit E(Na) und einer zweiten Ankündigung Nb. x beendet dann die Referenzverbindung und sendet E(Na) in der zweiten Nachricht an A in der Angriffsverbindung.
- Es gibt eine Anzahl von Abweichungen bei dem oben genannten Aufruf und den Abfangangriffen. In allen diesen Angriffen jedoch sammelt der Eindringling X, der das Geheimnis, das von den berechtigten Benutzern gemeinsam benutzt wird, nicht kennt, Informationen aus anderen Verbindungen und nutzt diese Information, um die erforderlichen Antworten aus den von den angegriffenen Benutzern angebotenen Aufforderungen abzuleiten. Die Verbindungen, aus denen die gesammelten Informationen erhalten werden, können bei dem angegriffenen Benutzer sein oder nicht. Soweit festgestellt werden kann, können alle bekannten Verfahren aus dem Stand der Technik, die nur drei Nachrichtenflüsse enthalten, gebrochen werden oder sind unwirksam und unnötigerweise komplex, um diese zu benutzen oder auszuwerten. Andere bekannte Verfahren, die mehr als drei Flüsse enthalten, können sicher sein oder nicht. Sogar bei den sicheren Verfahren kann jedoch die steigende Anzahl von Nachrichtenflüssen, die erforderlich sind, eine starke Verkehrsbelastung in einem Netzwerk bedeuten. Diese zusätzliche Belastung ist sonst unproduktiv und begrenzt vom Gesichtspunkt der Benutzer die Kapazität des Netzwerkes.
- Es besteht somit ein klarer Bedarf, ein Authentisierungsprotokoll und -verfahren zu erstellen, das ansonsten immun gegen erfolgreiche Angriffe von Eindringlingen ist, die das Authentisierungsgeheimnis nicht kennen. Außerdem ist es in einer praktischen Implementierung eines Protokolls wichtig, daß die Anzahl von Nachrichtenflüssen, die erforderlich sind, um die Authentisierung auszuführen, so klein wie möglich gehalten werden, vorzugsweise drei, mit dem Risiko ansonsten das Netzwerk zu überlasten.
- Ein Ausführungsbeispiel der Erfindung enthält das Verfahren und Mittel, um einen Benutzer für eine Kommunikationsverbindung in einem Netzwerk zu authentisieren. Ein erster Benutzer A sendet eine Aufforderung N1 an einen zweiten Benutzer B. Benutzer B sendet eine Antwort auf die Aufforderung an Benutzer A, der überprüft, daß die Antwort korrekt ist. Die Antwort ist in der Mindestform
- f(S1, N1, D1...), wobei S1 ein gemeinsam benutztes Geheimnis zwischen den Benutzern ist, D1 eine Angabe von der Richtung des Nachrichtenflußes, der f() enthält und f() eine ausgewählte Funktion ist, so daß
- f'(S1, N1', D1',...) = f(S1, N1, D1,...) für N1' ohne Kenntnis von S1 nicht gelöst werden kann. f'(), N1' und D1' stellen Ausdrücke in einer Referenzverbindung dar. Ein Protokoll, das gemäß der oben genannten Erfindung konzipiert wurde, ist vor sogenannten Abfangattacken sicher. Abfangattacken sind solche, in denen ein Eindringling wartet und eine Nachricht abfängt, welche eine Aufforderung von einem Benutzer A enthält. Der Eindringling ruft dann eine Referenzverbindung mit einem anderen Benutzer als dem beabsichtigten Empfänger der abgefangenen Aufforderung auf und versucht, Informationen in der Referenzverbindung zu sammeln, um die richtige Antwort in der abgefangenen Aufforderung zu erzeugen.
- Ein zweites Ausführungsbeispiel der Erfindung ist ein Verfahren und Mittel von sich gegenseitig authentisierenden Benutzern. Eine erste Aufforderung N1 wird von einem Benutzer A an einen zweiten Benutzer B übertragen. Als Reaktion auf die erste Aufforderung erzeugt B eine erste Antwort auf die Aufforderung und eine zweite Aufforderung N2 an A und sendet diese. A überprüft, daß die erste Antwort korrekt ist. A erzeugt dann eine zweite Antwort auf die zweite Aufforderung an B und sendet diese, wobei die zweite Antwort überprüft wird. Die erste Antwort muß in einer Mindestform sein von
- f(S1, N1,...) und die zweite Antwort muß in der Mindestform
- g(S2, N2,...) sein. S1 und S2 sind gemeinsam benutzte Geheimnisse zwischen A und B. Außerdem werden f() und g() ausgewählt, so daß die Gleichung f'(S1, N1',...) = g(S2, N2,...) für N1' ohne Kenntnis von S1 und S2 nicht gelöst werden kann. f'() und N1' stellen Ausdrücke in einer Referenzverbindung dar, die ein Eindringling benutzt, Informationen in einem Versuch zu sammeln, um das Protokoll in einer Angriffsverbindung zu brechen.
- Ein spezifisches Authentisierungsprotokoll, das gemäß dem zweiten Ausführungsbeispiel konzipiert ist, ist vor sogenannten Aufrufangriffen sicher. Aufrufangriffe sind solche, bei denen ein Eindringling zuerst eine Verbindung mit einem Benutzer aufruft, indem er diesem die erste Aufforderung sendet und nachdem er die Antwort und die zweite Aufforderung erhalten hat, ruft der Eindringling eine zweite Referenzverbindung mit einem Benutzer auf, um Informationen zu erhalten, die ihm bei seiner Antwort auf die zweite Aufforderung helfen.
- In einigen Protokollen, welche die oben genannten zusammengefaßten Anforderungen erfüllen, können die Geheimnisse in den spezifischen Funktionen f() und g() vorhanden sein, die benutzt werden. In anderen Protokollen kann die Datenverschlüsselung mit dem Geheimnis benutzt werden, das sich in dem verwendeten Chiffnerschlüssel oder den verwendeten Chiffnerschlüsseln befindet.
- Beide Ausführungsbeispiele der Erfindung können in einem Protokoll kombiniert werden. In diesem Fall enthält die Funktion f() eine Richtungsangabe D1 des Nachrichtenflußes, der f() wie in f(S1, N1, D1,...) enthält. Diese Protokolle, die alle die oben genannten Bedingungen der kombinierten Ausführungsbeispiele erfüllen, sind sowohl vor Aufruf- als auch Abfangattacken sicher wie das darunterliegende Geheimnis oder gemeinsam benutzte Geheimnis von berechtigten Benutzern. Es sollte vermerkt werden, daß ggf. S1 gleich S2 sein kann. Ferner kann das Geheimnis oder können die Geheimnisse virtuell von irgendeiner Art sein. Somit könnte der besondere Schlüssel oder die besonderen Schlüssel ein Geheimnis sein, der bzw. die zur Verschlüsselung von Daten benutzt werden. Alternativ könnten die Geheimnisse die besonderen Funktionen f() und g() sein, die zwischen berechtigten Benutzern benutzt werden. Oder das Geheimnis könnte der besondere Algorithmus oder die Algorithmen sein, der bzw. die zum Verschlüsseln oder Entschlüsseln von Daten, usw. verwendet werden.
- Das Verfahren zur Authentisierung von einer Vielzahl von Benutzern oder einem einzigen Benutzer gemäß der vorliegenden Erfindung enthält die Schritte, die in den Ansprüchen 1 und 5 ausgeführt sind.
- Dieses Verfahren ist in Verbindung mit einer Anordnung zu benutzen, die in Anspruch 12 ausgeführt ist und für die Authentisierung von einer Vielzahl von Benutzern bestimmt ist und in Anspruch 18 für die Authentisierung eines einzelnen Benutzers bestimmt ist.
- In der Zeichnung,
- Fig. 1 zeigt eine allgemeine Ansicht von einem Beispiel eines Datenkommunikationssystems, in dem die Erfindung praktisch umgesetzt werden kann;
- Fig. 2 zeigt die allgemeine Form von Protokollen gemäß der Erfindung, die vor Aufrufangriffen von Eindringlingen schützt.
- Fig. 3 zeigt Einzelheiten eines Aufrufsangriffs durch einen Eindringling;
- Fig. 4 und Fig. 5 zeigen jeweils ein Beispiel eines Protokolls, das durch einen Aufrufangriff verletzt werden kann;
- Fig. 6 zeigt ein spezifisches Protokoll, das sicher vor Aufrufen aber nicht sicher vor Abfangangriffen ist;
- Fig. 7 zeigt Einzelheiten eines Abfangangriffs;
- Fig. 8 zeigt die allgemeine Form der Protokolle, die vor Abfangangriffen sicher sind;
- Fig. 9 zeigt Beispiel eines Protokolls, das sowohl vor Abfang- als auch vor Aufrufangriffen nicht sicher ist;
- Fig. 10 und Fig. 11 zeigt ein Beispiel eines Protokolls, das sicher vor Abfangangriffen aber nicht sicher vor Aufrufangriffen ist;
- Fig. 12 zeigt ein Beispiel eines Protokolls, das sowohl vor Aufruf- als auch vor Abfangangriffen sicher ist;
- Fig. 13 zeigt eine alternative Darstellung einer allgemeinen Form des Protokolls gemäß der Erfindung, die sicher vor Aufruf- und Abrufangriffen ist;
- Fig. 14 bis Fig. 16 zeigen Beispiele von spezifischen Protokollen, die sicher sind und welche die allgemeinen Formen aus Fig. 13, 8 und 2 anwenden; und
- Fig. 17 bis Fig. 21 zeigen Beispiele von Flußdiagrammen der Programme, die in einem Mehrzweckrechner oder einem speziellen Computer verwendet werden können, um das Verfahren der Erfindung durchzuführen.
- Fig. 1 zeigt eine allgemeine Ansicht von einem Beispiel eines Datenkommunikationssystems, in dem die Erfindung praktisch umgesetzt werden kann. Dieses Systembeispiel enthält eine Anzahl von datenverarbeitenden Benutzern 100, 102 und 104. Jeder Benutzer enthält oder hat Zugriff auf einen Computer oder eine Datenverarbeitungseinheit, zum Beispiel 106, und die entsprechenden Peripheneeinheiten 108, um mit anderen Benutzern des Systems über Kanäle, zum Beispiel 110, zu kommunizieren. Ein Computer bei einem Benutzer kann ein Mehrzweckrechner oder spezieller Computer sein, der gemäß den hier beschriebenen Grundsätzen programmiert werden kann. In dem bevorzugten Ausführungsbeispiel enthalten diese Computer System 370 Computer, die von der IBM Company vertrieben werden.
- In Fig. 1, wenn ein Benutzer 100, versucht, eine logische Verbindung mit einem anderen Benutzer 102 herzustellen, ist es erforderlich, daß beide Benutzer gemeinsam das Geheimnis S kennen und sich die Benutzer gegenseitig mittels eines geeigneten Authentisierungsprotokoll authentisieren können, bevor die verständliche Kommunikation über die logische Verbindung erlaubt wird.
- Fig. 2, zeigt die allgemeine Form einer Protokollfamilie, die vor Angriffen durch einen Eindringling X sicher sein kann. Ein Benutzer A, der eine Verbindung aufruft, sendet eine Nachricht 1, die eine Aufforderung N1 enthält, an den Benutzer B, mit dem die Kommunikation erstellt wird. N1 und alle Aufforderungen sind vorzugsweise Zufallsnummern oder Ankündigungen. In jedem Fall sollten Aufforderungen neu erzeugt werden, so daß es für Eindringlinge keine Möglichkeit der Nutzung gibt, die auf historischen Ereignissen basiert. B sendet eine Nachricht 2 an A in der Form f(S, N1, N2, X2) zurück. N2; wobei f() eine Funktion ist, welche die Antwort auf die Aufforderung N1 ist, S stellt ein Geheimnis dar, das von den berechtigten Benutzern A und B gemeinsam benutzt wird, das erforderlich ist, um die Antwort zu erzeugen, und N2 ist eine Aufforderung von B an A. Die Variablen S und N1 in f() sind fett in Fig. 2 dargestellt, um anzugeben, daß diese Variablen in einer Form in Funktion f() vorhanden sein müssen. Die verbleibenden Variablen N2 und X2 können oder können nicht vorhanden sein. X2 ist eine allgemeine Variable, die hier verwendet wird, um irgendeine gewünschte Konstante oder irgendeinen Ausdruck darzustellen, der in f() enthalten sein könnte. X2 enthält zum Beispiel Zugriffsinformation, Namen, Zeitstempel, usw. Es wird angenommen, daß nichts, was in X2 enthalten ist, Teil des Geheimnisses S ist. Mit anderen Worten es wird angenommen, daß ein Eindringling X X2 kennt. Benutzer A sendet dann die Nachricht 3, welche die Antwort g(S, N2, N1, X3) enthält, an die Aufforderung N2. Die Variablen S und N2 in g() sind ähnlich fett dargestellt, um anzugeben, daß diese in einer Form in Funktion g() vorhanden sein müssen. X3 ist ähnlich wie X2, da diese irgendeine gewünschte Konstante oder irgendeinen Ausdruck darstellt, der in g() enthalten sein könnte. Es wird angenommen, daß X X3 kennt. Außerdem muß, damit das Protokoll vor Angriffen sicher ist, in denen ein Eindringling X versucht, Verbindungen aufzurufen, f() eine erste Bedingung erfüllen, die ein Eindringling nicht aus einer ersten Aufforderung N1' in einer Referenzverbindung auswählen kann, so daß f'() = g(), wobei f'() f() in einer Referenzverbindung darstellt. Wenn diese Bedingung erfüllt wird, dann ist das resultierende Protokoll sicher vor Aufrufangriffen wie dies das darunterliegende Geheimnis S ist.
- Die Bedeutung der vorbereiteten Notation ( ' ) wie oben wird besser mit Bezug auf Fig. 3 ersichtlich, welche die Benutzung einer Referenzverbindung durch einen Eindringling zeigt, um Informationen zu sammeln, um eine wirkliche Verbindung anzugreifen. In Fig. 3 ruft der Eindringling X eine Verbindung mit Benutzer A auf, indem er die erste Aufforderung N1 in Nachricht 1 der Angriff sverbindung sendet. A sendet seine Antwort f() auf die Aufforderung zurück und eine Aufforderung N2 an X in Nachricht 2 der Angriff sverbindung. X kennt nicht das Geheimnis S, das benötigt wird, um die Antwort auf N2 zu erzeugen. Bei einem Versuch, diese Information zu erhalten, ruft X eine Referenzverbindung auf, indem er eine weitere erste Aufforderung N1' an einen Benutzer in 300 sendet. Dieser zweite Benutzer A oder ein anderer Benutzer B oder C sein. Dies spielt keine Rolle, solange der andere ausgewählte Benutzer das Geheimnis S kennt. Benutzer 300 beantwortet die Aufforderung N1' mit der Antwort
- 1. Gleichung f'() = (S, N1', N2', x2').
- X versucht nun, die von 300 empfangene Information zu manipulieren, um die Antwort g() in Nachricht der Angriffsverbindung zu erzeugen. Somit ist eine erforderliche Bedingung, diesen Angriff zu verhindern
- C1: X kann nicht N1' wählen, so daß f'() = g() ist.
- Fig. 4 zeigt ein spezifisches Protokoll, das sicher zu sein scheint, aber tatsächlich einfach gebrochen werden kann, da es nicht die Bedingung C1 erfüllt. Die Funktion f() in Nachricht 2 von Fig. 4 ist
- 2. Gleichung f() = E[N1] + N2,
- wobei E die Verschlüsselung mit einem Geheimschlüssel K darstellt. Das + Operationszeichen in der Gleichung ist anhand des Beispiels die Boolesche Operation EXKLUSIV-ODER. Somit erfüllt f() die Anforderungen, da es eine Funktion von N1 und S ist (S ist die Verschlüsselung E mit Schlüssel K). Um das Protokoll zu prüfen, legen wir mathematisch die Bedingung C1 an:
- Bedingung C1:
- 3. Gleichung f'() = g(), oder
- 4. Gleichung E[N1] + N2' = E.
- Fig. 5 zeigt eine Angriff sverbindung und eine Referenzverbindung, die ein Eindringling X benutzen könnte, um zu versuchen, das Protokoll zu brechen. Es ist zu bemerken, daß die Antwort in Nachricht 2 der Referenzverbindung
- ist, die genau das gleiche Format wie die oben genannte Gleichung 4 hat. Somit, indem nur N1' = N2 ausgewählt wird, das aus Nachricht 2 von der Angriffsverbindung bekannt ist, empfängt X in Nachricht 2 der Referenzverbindung
- E[N2] + N2', N2'.
- N2' ist eine neue Aufforderung in der Referenzverbindung und nicht gleich N2. Nichtsdestoweniger kennt X jetzt E[N2] + N2'. Da N2' auch bekannt ist, weil dieses als Klartextaufforderung in der gleichen Nachricht 2 der Referenzverbindung empfangen wird, leitet X nur E[N2] durch EXLUSIV-ODER Operation N2' mit E[N2] + N2' ab.
- 5. Gleichung E[N2] + N2' + N2' = E[N2]
- und sendet diesen Wert als Antwort in Nachricht 3 der Angriffsverbindung.
- Fig. 6 zeigt ein Beispiel eines Protokolls das sicher vor Aufrufangriffen ist. In diesem Protokoll
- 6. Gleichung f() = E[N1 + E[N1]] und
- 7.Gleichung g() = E[N2].
- f() erfüllt die Bedingungen, d.h. ist eine Funktion der Aufforderung N1 und ein Geheimnis S und daß g() eine Funktion von Aufforderung N2 und Geheimnis S ist. Nun prüfen wir Bedingung C1, um zu bestimmen, ob das Protokoll tatsächlich vor Aufrufangriffen sicher ist.
- Bedingung C1:
- 8. Gleichung f'() = g(), oder
- 9. Gleichung E[N1' + E[N1']] = E[N2].
- Die Prüfung der Gleichung 9 zeigt, daß es keinen bekannten Wert von N1' gibt, der ersetzt werden kann, der in E[N2] resultiert, ohne den Chiffnerschlüssel K zu kennen. Durch Entfernen der Verschlüsselung, die auf beiden Seiten der Gleichung angelegt wurde, ergibt sich außerdem die
- 10. Gleichung N1' + E[N1] = N2, oder
- 11. Gleichung N1' = E[N1'] + N2.
- Da X E nicht kennt, gibt es keinen Weg, daß X N1' ableiten kann. Deshalb ist dieses besondere Protokoll vor Aufrufangriffen sicher.
- Es gibt jedoch einen zweiten Angriffsmodus, der sogar Protokolle, die sicher vor Aufrufangriffen sind, auch angreifbar machen kann. Wir bezeichnen diesen Angriffsmodus als Abfangangriffe. Fig. 7 zeigt einen solchen Angriff in Form einer Angriffsverbindung und einer Referenzverbindung. Bei dieser Art des Angriffs wartet X und fängt eventuell eine Aufrufaufforderung von Benutzer A ab, die für den Benutzer B bestimmt ist. X ruft dann eine Referenzverbindung mit einem dritten Benutzer auf. Der dritte Benutzer kann A oder C sein. Es ist für Analysezwecke bemerkenswert, daß der Referenzbenutzer nicht der ursprünglich beabsichtigte Empfänger sein kann. Abfangangriffe, bei denen ein Eindringling X nur Nachrichten von A abf ängt und diese an ihre beabsichtigte Bestimmung B sendet, sind äquivalent zu dem Eindringling X, der nur den Datenfluß von A nach B beobachtet. Diese Angriffe können niemals mit Benutzerauthentisierungsprotokollen geschützt werden. Wenn man von solchen Angriffen betroffen ist, weil zum Beispiel seine Datenleitungen physisch nicht vor Anzapfungen qeschützt werden können, dann muß man den in der Verbindung nachfolgenden Datenfluß durch zusätzliche Maßnahmen schützen, zum Beispiel durch Datenverschlüsselung.
- Mit Bezug auf Fig. 7 wird festgestellt, daß, um erfolgreich in der Abfangangriffsverbindung zu sein, X die Antwort auf die Aufforderung N1 in der Nachricht 1 der Angriffsverbindung ableiten muß. Um versuchen, dies so zu machen, sendet X eine Aufforderung N1' an einen dritten Benutzer A oder C als erste Nachricht einer Referenzverbindung. X empfängt f'(S, N1',...) als Antwort auf seine Aufforderung und eine zweite Aufforderung N2' in der zweiten Nachricht der Referenzverbindung. Somit benötigt X, um die Gleichung zu lösen
- 12. Gleichung f'(S, N1',...) = f(S, N1,...).
- Eine notwendige Bedingung C2, welche ein Protokoll sicher vor Abfangangriffen machen würde, ist deshalb, daß X nicht in der Lage ist, eine Aufforderung N1' zu wählen, so daß
- 13. Gleichung f'() = f().
- Die bloße Überprüfung der Gleichung 13 ergibt jedoch, daß dies immer in dem Protokollformat von Fig. 7 gemacht werden kann. Somit ist das Brechen des Protokolls von Fig. 6 bei der Benutzung eines Abfangangriffs belanglos. Alles was ein Eindringling braucht, ist N1' = N1 zu wählen.
- Um dieses Problem zu lösen, ist eine notwendige Anforderung, um die Abfangart des Angriffs zu verhindern, daß ein Anzeiger D in f() eingeschlossen wird, der die Richtung des Nachrichtenflußes anzeigt, wie dies in Fig. 8 abgebildet ist. Dies wird als f(S,N1,D,...) in Nachricht 2 dargestellt, wobei D der Flußrichtungsanzeiger ist. Es spielt keine Rolle, welche Form D an- nimmt, solange wie diese in einer bestimmten Richtung einmalig ist. D könnte zum Beispiel gleich mit der gesendeten Benutzerkennung sein, die in Fig. 8 B ist. Alternativ dazu, wenn A und B die fraglichen Benutzer sind, könnte A B als seinen Richtungsanzeiger benutzen und B könnte A benutzen. Alles, was in einer gegebenen Verbindung erforderlich ist, ist, daß der Flußanzeiger für jede Flußrichtung einer Nachricht einmalig ist.
- Es ist erforderlich, daß D in f() wie oben gezeigt eingeschlossen wird. Dies ist jedoch noch nicht ausreichend. Es ist mathematisch noch erforderlich, die Bedingung C2 zu prüfen, wie dies dargestellt werden wird.
- Nehmen wir das Beispiel von Fig. 9, in der f() genommen wird, um E[N1 + D], D = A als Fluß von A nach B und D = B als Fluß von B nach A zu sein. Zum Zwecke der Analyse sollte ausgeführt werden, daß die Werte von A und B, usw. einem Eindringling X bekannt sind. Es wird angenommen, daß der Eindringling X eine Referenzverbindung mit A erstellt. Anwendung von Bedingung C2,
- 14. Gleichung f'() = f(),
- 15. Gleichung E[N1' + A'] = E[N1 + B].
- Es muß klar sein, daß die vorbereitete Notation in A' in den Gleichungen 14 und 15 und ähnliche Notation woanders nur bedeuten, daß die Variable in einer Referenzverbindung vorhanden ist. Mit anderen Worten A' = A. Gleichung 15 kann ohne Kenntnis des Chiffrierschlüssels K nicht gelöst werden, weil A' und B unterschiedlich und in den Daten codiert sind. Durch Entfernen des Chiffrieroperationszeichens E von beiden Seiten der Gleichung erhalten wir
- 16. Gleichung N1' + A' = N1 + B oder
- 17. Gleichung N1' = N1 + B + A'.
- Da X sowohl B als auch A' kennt, muß X nur N1' in Nachricht 1 der Referenzverbindung auf N1 + B + A' setzen, wobei N1 aus Nachricht 1 der Angriffsverbindung erhalten wird. X wird
- 18. Gleichung E[N1 + B + A' + A'] = E[N1 + B]
- in Nachricht 2 der Referenzverbindung erhalten. Dies ist natürlich die Antwort, die in Nachricht 2 der Angriffsverbindung benötigt wird. Somit ist dieses Protokoll vor Abfangarten von Angriffen nicht sicher. Es ist zu bemerken, daß dieses Protokoll auch nicht vor Aufrufangriffen sicher ist. Dies kann einfach durch die Prüfbedingung C1 [f'() = g()], die zuvor erörtert wurde, überprüft werden.
- Fig. 10 zeigt ein Beispiel eines Protokolls, das die Bedingung C2 durchläuft. D.h. es ist vor Abfangangriffen sicher. Es wird jedoch festgestellt, daß das Protokoll nicht vor Aufrufangriffen sicher ist. In diesem Protokoll
- 19. Gleichung f() = E[D + E[N1]] und
- 20. Gleichung g() = E[D + E[N2]],
- wobei D der Flußrichtungsanzeiger ist. Es wird daran erinnert, daß D für f() und g() unterschiedlich ist, da die Flußrichtung für jede dieser Funktionen anders ist. X ruft die Nachricht 1 von Benutzer A ab, die für B bestimmt ist. X ruft dann eine Referenzverbindung mit C auf, um Informationen zu sammeln. Bei Anwendung von Bedingung C2 in Fig. 10
- 21. Gleichung f'() = f()
- 22. Gleichung E[C' + E[N1']] = E[B + E[N1] oder
- 23. Gleichung C' + E[N1'] = B + E[N1].
- Gleichung 23 kann in zwei unterschiedliche Gleichungen geteilt werden, um zu versuchen, diese zu lösen. Somit
- 24. Gleichung C' = B und
- 25. Gleichung E[N1'] = E[N1].
- Da es für C' unmöglich ist, gleich B zu sein, ist dieses Protokoll vor Abfangangriffen sicher. Das Protokoll ist jedoch vor Aufrufangriffen noch nicht sicher. Fig. 11 zeigt den Aufrufangriff auf dieses Protokoll. Es wird daran erinnert, daß X sich als B ausgibt, somit ist der Richtungsanzeiger in Nachricht der Angriffsverbindung B. Bei Anwendung von C1:
- 26. Gleichung f'() = g()
- 27. Gleichung E[B' + E[N1']] = E[B + E[N2]] oder
- 28. Gleichung B' + E[N1'] = B + E[N2].
- Durch Teilung der Gleichung 28 Ergebnisse
- 29. Gleichung E[N1'] = E[N2] oder
- 30. Gleichung N1' = N2.
- Somit kann X erfolgreich einen Angriff auf dieses Protokoll starten, indem er nur N1' in Nachricht 1 der Referenzverbindung gleich N2 setzt, die von A in Nachricht 2 der Angriffsverbindung empfangen wird.
- Fig. 12 zeigt ein spezifisches Protokoll, das sowohl vor Aufruf- als auch Abfangattacken sicher ist. In diesem Protokoll
- 32. Gleichung f() = E[B + E[N1]] und
- 33. Gleichung g() = E[N2]].
- Es ist zu bemerken, daß das Protokoll dem von Fig. 11 sehr ähnlich ist, das gezeigt wurde und vor Abfangangriffen nicht sicher ist. Dies zeigt sehr gut die Notwendigkeit der Prüfbedingungen C1 und C2 für irgendein spezifisches Protokoll, sogar obwohl das Protokoll den anderen, aufgezählten Anforderungen entspricht. Bei Anwendung von C1 (und angenommen, daß die Referenzverbindung mit A gehalten wird):
- 34. Gleichung f'() = g(),
- 35. Gleichung E[A' + E[N1']] = E[N2],
- 36. Gleichung A' + E[N1'] = N2,
- 37. Gleichung E[N1'] = N2 + A'.
- Obowohl ein Eindringling X E[N1'] ableiten kann, bevor die Referenzverbindung aufgerufen wird, kann X N1' noch nicht für die Aufrufaufforderung in der Referenzverbindung ohne Kenntnis des Schlüssels K ableiten. Somit ist C1 erfüllt.
- Bei Anwendung der Bedingung C2:
- 38. Gleichung f'() = f(),
- 39. Gleichung E[A' + E[N1']] = E[B + E[N1]].
- Durch Entfernen des Operationszeichens von beiden Seiten der letzten Gleichung und Teilung des Ergebnisses in zwei Teile er gibt
- 40. Gleichung A' = B und
- 41. Gleichung N1' = N1.
- A' kann jedoch niemals gleich B sein. Somit wird C2 erfüllt und das Protokoll ist sicher.
- Die oben genannten Analysen sind nun ausreichend, um jedem Fachmann zu ermöglichen, Protokollfamilien auf völlige Authentisierungssicherheit zu konzipieren und zu analysieren. Die Bedingungen für völlige Sicherheit vor Aufruf- und Abfangangriffen kann in knappen Worten wie folgt angegeben werden:
- 1. Die Antwort auf eine erste Aufforderung von A an B muß eine geheime Funktion der Aufforderung sein,
- 2. Die Antwort auf eine zweite Aufforderung von B an A muß eine geheime Funktion der zweiten Aufforderung sein,
- 3. Die Antwort auf die erste Aufforderung von A an B muß eine Angabe des Richtungsflußes der Antwort enthalten, und
- 4. Beide Bedingungen C1 und C2 müssen erfüllt werden.
- Fig. 13 zeigt das allgemeine Format einer Protokollfamilie, die den vier Forderungen entspricht, die oben bezüglich der Sicher- heit ausgeführt wurden. Einige der spezifischen Protokolle, die dieser allgemeinen Form entsprechen sind sicher und einige sind nicht sicher. Die Bedingungen C1 und C2 müssen für ein spezifisches Protokoll geprüft werden. Die Antwort auf die erste Aufforderung N1 ist in Form von
- E[q op E[r]].
- Die Antwort auf die zweite Aufforderung N2 ist in Form von
- E[t].
- In einer Familie, die in dieser allgemeinen Form definiert ist:
- 42. Gleichung q = q(N1,...),
- 43. Gleichung r = r(D,...), und
- 44. Gleichung t = t(N2,...).
- In einer anderen Familie
- 45. Gleichung q = q(D,...),
- 46. Gleichung r = r(N1,...), und
- 47. Gleichung t = t(N2,...).
- Wir prüfen nun einige Beispiele von Protokollen, welche das eine oder das andere dieser beiden allgemeinen Formate erfüllen und außerdem die Bedingungen C1 und C2 erfüllen.
- Mittels einer Analyse, die ähnlich der ist, die für Fig. 12 benutzt wird, kann gezeigt werden, daß das Protokolldoppel von Fig. 12, nämlich
- 48. Gleichung f() = E[N1 + E[D]] und
- 49. Gleichung g() = E[N2]
- völlig sicher ist. Der Schlüssel zu diesen letzten beiden Protokollen und eine Myriade von zugehörigen Protokollen, die als sicher gezeigt werden können, ist die Verschlüsselung des Richtungsanzeigers (oder der ersten Aufforderung), verbunden mit der verschachtelten Verschlüsselung der ersten Aufforderung (oder Richtungsanzeiger).
- Fig. 14 zeigt ein bevorzugtes Ausführungsbeispiel eines Protokolls gemäß der Erfindung. In diesem bevorzugten Ausführungs beispiel
- 50. Gleichung f() = E[j() + k()] und
- 51. Gleichung g() = k() + E[N1], wobei
- 52. Gleichung j() = N1 + B und
- 53. Gleichung k() = E[N2 + E[N1]].
- Das Folgende liefert die rationale Erklärung für die spezifischen Elemente der Funktionen f() und g(). Das erste Element von j() ist für die oben ausgeführten Bedingungen nicht unbedingt erforderlich. Dieses Element fügt zusätzliche Zufälligkeiten zu dem gesamten Ausdruck f() hinzu. Das Element kann weggelassen werden und das Protokoll wird noch zufriedenstellend arbeiten. Das Hinzufügen von Zufälligkeiten in f() erhlht die kryptographische Stärke des Protokolls und macht es einem Eindringlich schwerer, den codierten Algorithmus selbst mittels Techniken zum Brechen von Schlüsseln zu knacken.
- Die inklusive-ODER Schaltung von Element B (der Name des aufgerufenen Benutzers) in j() wird von der Bedingung C2 benötigt und verhindert Abf angangriffe.
- Das Element N2 in k() fügt weitere Zufälligkeiten zu der Antwort in Nachricht 2 hinzu. Dieses Element könnte auch entfernt werden, und das Protokoll wurde zufriedenstellend arbeiten. Das Element E(N1) in k() ist für die Bedingung C1 erforderlich. Es ist wichtig, die Aufforderung von Benutzer A in der Antwort von B zu haben. Da es nicht wichtig ist, daß dieses Element verschlüsselt wird, wird somit dem Protokoll eine zusätzliche Stärke hinzugefügt.
- Ein letztes Beispiel für eine Protokollfamilie, welche das allgemeine Format und die Bedingungen erfüllt, die oben ausgeführt wurden, wird nur vorgestellt. Diese Familie enthält den Richtungsanzeiger des Nachrichtenflußes im Geheimschlüssel, der zu Verschlüsselung benutzt wird, als diesen vielmehr in die Daten zu integrieren, die zu verschlüsseln sind. Ein Mitglied der Familie ist in Fig. 16 dargestellt. Sowohl Benutzer A als auch B kennt einen Geheimschlüssel K. B bereitet seine Antwort in Nachricht 2 auf die Aufforderung N1 von A vor, indem diese mit K + B verschlüsselt wird, wobei B die Identität von B darstellt. Das '+' Operationszeichen wird wiederum als Boolesche EXKLUSIV-ODER Operation genommen, obwohl es irgendeine Art von Boolescher oder mathematischer Operation sein kann. A verschlüsselt seine Antwort in der Aufforderung N2 von B, indem er diese mittels des unveränderten Wertes von K verschlüsselt. Wie dies von der Erfindung verlangt wird, ist die Antwort von B auf die Aufforderung N1 eine Geheimfunktion der Aufforderung N1. Ähnlich ist die Antwort von A auf die Aufforderung N2 eine geheime Funktion von N2. Der Richtungsfluß einer Nachricht wird in die Antworten auf eine Weise integriert, die sowohl A als auch B ableiten können, indem verschiedene Chiffrierschlüssel verwendet werden, um die Antworten zu codieren. Nun lassen Sie uns das Ergebnis gemäß den Bedingungen C1 und C2 prüfen. C1:
- 54. Gleichung f'() = g(), oder
- 55. Gleichung Eb[N1'] = E[N2], wobei
- E = die Verschlüsselung mit dem Geheimschlüssel K und Eb = Verschlüsselung mit K + B ist.
- Das Schreiben der Bedingung spricht für sich selbst. Es gibt keinen Weg, um mathematisch Glieder zu löschen, um die benötigte N1' abzuleiten, da die Chiffnerschlüssel auf beiden Seiten der Gleichung unterschiedlich und einem Eindringling unbekannt sind. Jemand der K nicht kennt, kann die Gleichung nicht lösen.
- 56. Gleichung f'() = f() oder
- 57. Gleichung Eb[N1'] = Ea[N1].
- Es ist zu bemerken, daß die rechte Seite der Gleichung mit Schlüssel Ea chiffriert wird. Dies bedeutet für Benutzer A oder irgendeinen anderen Benutzer, mit Ausnahme von B, daß ein Eindringling in eine Referenzverbindung gelangen könnte, um Informationen zu sammeln. Ea unterscheidet sich jedoch von Eb, das benutzt wird, um die linke Seite der Gleichung zu codieren. Wenn die Referenzverbindung bei A ist, dann ist KA = K + A. Somit kann ohne die Kenntnis des Schlüssels K die Gleichung für N1' nicht gelöst werden. Somit ist diese völlig sicher.
- Flußdiagramme als Beispiele für das Authentisierungsverfahren sind in den Figuren 17 bis 21 dargestellt. Diese besonderen Beispiele für Flußdiagramme basieren auf dem Protokoll, das in Fig. 15 gezeigt wird und der Benutzung eines Chiffnerschlüsseis (Kab), der von A und B gemeinsam benutzt wird. Jedes dieser Verfahren aus den Figuren 17 bis 21 ist jedem Benutzer bekannt und wird zu der passenden Zeit ausgeführt, was von der besonderen Rolle des Benutzers abhängt, primär (Benutzer A) oder sekundär (Benutzer), und dem Punkt innerhalb des Protokollaustauschs. Fig. 17 wird von A ausgeführt, der versucht die Kommunikationen mit B aufzurufen. Schritt 1700 erzeugt eine Ankündigung N1 als Aufforderung an B. Schritt 1702 sendet die Aufforderung N1 an B, und das Verfahren wird beendet, indem auf das Eintreffen der Antwort auf N1 und eine neue Aufforderung N2 gewartet wird.
- Fig. 18 wird von B ausgeführt, wenn dieser eine Aufrufanforderung N1 empfängt. Schritt 1800 erzeugt zuerst eine Aufforderung N2, die als neue Aufforderung an A benutzt wird. Schritt 1804 führt die Subroutine ENTSCHLÜSSELN aus, die in Fig. 21 dargestellt ist, indem diese an die Variablen N1, N2 und den entsprechenden Schlüssel Kab gegeben wird, der gemeinsam mit Benutzer A benutzt wird, um die Antwort auf die Aufforderung N1 vorzubereiten. Mit Bezug auf Fig. 21, verschlüsselt Schritt 2100 der Subroutine VERSCHLÜSSELN zuerst den Wert von N1 mittels des Schlüssels Kab und illustrativ den DES Algorithmus. Das verschlüsselte Ergebnis wird temporär in der Variablen S1 gespeichert. Schritt 2102 führt EXKLUSIV-ODER N2 mit S1 aus und speichert das Ergebnis temporär in der Variablen S2. Schritt 2104 führt EXKLUSIV-ODER N1 mit der Identität dieses Benutzers (B) aus und dann wird mittels EXKLUSIV-ODER das Ergebnis mit S2 ausgeführt, um einen verschlüsselten Wert R zu erhalten, der an das Aufrufverfahren in Fig. 18 zurückgegeben wird. Schritt 1806 von Fig. 18 ordnet den zurückgesendeten, verschlüsselten Wert R der Variablen R1 zu und sendet R1 zusammen mit der neuen Aufforderung N2 an Benutzer A in Schritt 1808 zurück.
- Das Verfahren in Fig. 19 wird in A als Reaktion auf den Empfang von R1 und die Aufforderung N2 ausgeführt. N1, N2 und der gemeinsam benutzte Schlüssel Kab werden dann an die Subroutine VERSCHLÜSSELN gegeben. Wie zuvor erörtert, VERSCHLÜSSELN berechnet die richtige Antwort auf die Aufrufanforderung N1 und sendet die Antwort an Variable R. Schritt 1904 vergleicht die richtige Antwort in R mit der Antwort R1, die von Benutzer B empfangen wurde. Wenn R nicht gleich R1 ist, ist die Authentisierung fehlerhaft und Schritt 1906 beendet sofort diese Kommunikation. Wenn R gleich R1 dann hat sich B bei A jedoch selbst richtig authentisiert.
- A muß sich jetzt selbst bei B authentisieren. Schritt 1907 ordnet den Wert von S2 aus der Subroutine VERSCHLÜSSELN der Antwort R2 zu, die an B als dritter Nachrichtenfluß zu senden ist. Wie in Fig. 14 gezeigt, ist diese Antwort
- E[N2 + E[N1]].
- Der Wert von R2 = E[N2 + E[N1]] wird von der Variablen S2 erzielt, ohne daß ein anderer Verschlüsselungsschritt durchzuführen ist und mittels Schritt 1908 an B gesendet.
- Fig. 20 zeigt die Schritte, die von Benutzer B durchgeführt werden, wenn dieser Nachricht 3 erhält, die Antwort von Benutzer A auf die Aufforderung N2 von Benutzer B. Es wird daran erinnert, daß in diesem Ausführungsbeispiel diese Antwort die Form g() hat, wobei Nachricht 2 die Form f() = j() + g() hat. Der Wert von g() = E[N2 + E[N1]] ist in der Variablen S2 bei Benutzer B verfügbar, wobei dieser früher durch die Ausführung der Schritte in Fig. 18 erzeugt wurde. In Fig. 20 vergleicht Schritt 2000 die Variable S2 mit der Antwort R2 von A. Wenn dieser Vergleich nicht genau übereinstimmt, dann hat sich A bei B selbst nicht richtig authentisiert. In diesem Fall beendet Schritt 2002 sofort die Kommunikation. Wenn die Werte übereinstimmen, dann hat sich A richtig authentisiert. In diesem Fall dient das Verfahren in Fig. 20 nur dazu, daß die Benutzern weiter miteinander kommunizieren können.
Claims (18)
1. Ein Verfahren zur Authentisierung von Benutzern in einer
Kommunikationsverbindung in einem Netzwerk, das Schritte
enthält um
(a) eine erste Aufforderung N1 von einem ersten Benutzer
A an einen zweiten Benutzer B zu übertragen,
(b) eine erste Antwort an die erste Aufforderung N1 und
eine zweite Aufforderung N2 von dem zweiten Benutzer
B an den ersten Benutzer A zu übertragen,
(c) bei dem ersten Benutzer A zu überprüfen, daß die
erste Antwort richtig ist,
(d) eine zweite Antwort an die zweite Aufforderung N2 von
dem ersten Benutzer A an den zweiten Benutzer B zu
übertragen, und
(e) bei dem zweiten Benutzer B zu überprüfen, daß die
zweite Antwort richtig ist,
wobei das Verfahren zur Authentisierung dadurch
gekennzeichnet wird, daß
die erste und zweite Antwort jeweils von minimalen Formen
sind
f(S1, N1, ...) und g(S2, N2, ...),
wobei S1 und S2 gemeinsame Geheimnisse zwischen dem ersten
und zweiten Benutzer (A,B) sind und f() und g()
ausgewählte Funktionen sind, so daß
f'(S1, N1', ...) = g(S2, N2, ...)
für N1' ohne die Kenntnis von S1 und S2 nicht gelöst
werden kann, wobei f'() und N1' Ausdrücke in einer
Referenzverbindung mit einem Benutzer darstellen, der S1 oder S2
kennt und der die richtigen ersten oder zweiten Antworten
überträgt.
2. Das Verfahren aus Anspruch 1, wobei das Geheimnis S1 die
mathematische Funktion f() ist und S2 die mathematische
Funktion g () ist.
3. Das Verfahren aus den Ansprüchen 1 oder 2, wobei S1 = S2 =
S ist und S ein Datenchiffrierschlüssel ist.
4. Das Verfahren aus Anspruch 3, wobei in f() außerdem eine
Angabe von der Richtung D1 des Nachrichtenflußes
integriert ist, der f() enthält wie in
f(S1, N1, D1, ...) und f() ausgewählt wird, so daß
f'(S, N1', D1', ...) = f(S, N2, D1, ...)
für N1' ohne die Kenntnis von S1 und S2 nicht gelöst
werden kann, wobei D1' die Flußrichtungsanzeige der Nachricht
ist, welche f'() in der Referenzverbindung mit einem
Benutzer enthält, der S1 oder S2 kennt und der die richtige
erste oder die richtige zweite Antwort überträgt.
5. Das Verfahren aus Anspruch 1, das auf ein Verfahren zur
Authentisierung eines Benutzers in einer
Kommunikationsverbindung in einem Netzwerk eingeschränkt werden kann,
indem
- in Schritt (b) vergessen wird, diese zweite
Aufforderung N2 von dem zweiten Benutzer B an den
ersten Benutzer A zu übertragen;
- vergessen wird, diese zweite Antwort an die
zweite Aufforderung N2 von dem ersten Benutzer A
an den zweiten Benutzer B zu übertragen; und
- bei dem ersten Benutzer A nur überprüft wird, daß
die erste Antwort richtig ist, wobei die erste
Antwort von minimaler Form ist
f(S1, N1, D1...),
wobei S1 ein gemeinsames Geheimnis zwischen dem ersten und
zweiten Benutzer (A,B) ist, D1 eine Flußrichtungsanzeige
der Nachricht ist, die f() enthält und f() eine
ausgewählte Funktion ist, so daß
f'(S1, N1', D1', ...) = f(S', N1, D',...)
für N1' ohne die Kenntnis von S1 nicht gelöst werden kann,
wobei f'(), N1' und D1' Ausdrücke in einer
Referenzverbindung mit einem Benutzer darstellen, der das Geheimnis S1
kennt und die richtige erste Antwort überträgt.
6. Das Verfahren aus Anspruch 5, wobei das Geheimnis S1 die
mathematische Funktion f() ist und S1 ein
Datenchiffnerschlüssel ist.
7. Das Verfahren wie in den Ansprüchen 4 bis 5 ausgeführt,
wobei
f() = E[q op E[r]], und
g() = E[t], wobei
op eine mathematische oder logische Funktion ist,
q = q(N1, mm.),
r = r(D1, mm.),
t = t(N2, am.),
E = Datenverschlüsselung mit einem
Chiffnerschlüssel.
8. Das Verfahren wie in den Ansprüchen 4 bis 5 ausgeführt,
wobei
f() = E[q op E[r]], und
g() = E[t), wobei
op eine mathematische oder logische Funktion ist,
q = q(D1, mm.),
r = r(N1, mm.),
t = t(N2, mm.),
E = Datenverschlüsselung mit einem
Chiffnerschlüssel.
9. Das Verfahren wie in den Ansprüchen 4, 5 oder 8
ausgeführt, wobei
f() = E[D1 op E[N1]] und
g() = E[N2].
10. Das Verfahren wie in den Ansprüchen 4, 5 oder 8
ausgeführt, wobei
f() = E[N1 op E[D1]] und
g() = E[N2].
11. Das Verfahren wie in den Ansprüchen 4, 5 oder 8
ausgeführt, wobei
f() = E[N1 op [D1 op E[N2 op E[N1]]]] und
g() = E[N2 op E[N1 op E[N1]]].
12. Das Verfahren wie in den Ansprüchen 4, 5 oder 8
ausgeführt, wobei
f() = E[N1 op [D1 op E[N2 op E[N1]]]] und
g() = E[N2 op E[N1]].
13. Das Verfahren wie in den Ansprüchen 4, 5 oder 8
ausgeführt, wobei
f() = Eb[N1] und
g() = E[N2].
wobei Eb = Verschlüsselung mit Datenchiffnerschlüssel K
op D1.
14. Eine Anordnung in einem Netzwerkknoten zur Authentisierung
von Netzwerkbenutzern mit
Mitteln, um eine erste Aufforderung N1 an einen Benutzer
zu übertragen,
Mitteln, um eine erste Antwort auf die erste Aufforderung
und eine zweite Aufforderung N2 von dem Benutzer zu
empfangen,
Mitteln, um die erste Antwort zu überprüfen,
Mitteln, um eine zweite Antwort auf die zweite
Aufforderung an den Benutzer zu übertragen, und
Mitteln, um die zweite Antwort bei dem Benutzer zu
überprüfen, dadurch gekennzeichnet, daß
die erste Antwort von minimaler Form ist
f(S1, N1, ...)
und die zweite Antwort von minimaler Form ist
g(S2, N2, ...),
wobei S1 und S2 gemeinsame Geheimnisse zwischen
berechtigten Benutzern sind und f() und g() ausgewählte Funktionen
sind, so daß
f'(S1, N1', ...) = g(S2, N2, ...)
für N1' ohne die Kenntnis von S1 und S2 nicht gelöst
werden kann, wobei f'() und N1' Ausdrücke in einer
Referenzverbindung mit einem Benutzer darstellen, der S1 oder S2
kennt und der die richtigen ersten oder zweiten Antworten
überträgt.
.
15. Die Anordnung aus Anspruch 14, wobei das Geheimnis S1 die
mathematische Funktion f() ist und S2 die mathematische
Funktion g () ist.
16. Die Anordnung aus den Ansprüchen 14 oder 15, wobei S1 = S2
= S ist und S ein Datenchiffrierschlüssel ist.
17. Die Anordnung aus den Ansprüchen 14, 15 oder 16, wobei in
f() außerdem eine Angabe von der Richtung D1 des
Nachrichtenflußes integriert ist, der f() enthält wie in
f(S1, N1, D1, mm.)
und f() ausgewählt wird, so daß
f'(S, N1', D1', ...) = f(S, N2, D1, ...)
für N1' ohne die Kenntnis von S1 und S2 nicht gelöst
werden kann, wobei f'() einen Ausdruck in der
Referenzverbindung darstellt und D1' die Flußrichtungsanzeige der
Nachricht ist, welche f'() in der Referenzverbindung mit einem
Benutzer enthält, der S1 oder S2 kennt und der die
richtige erste oder die richtige zweite Antwort überträgt.
18. Eine Anordnung in einem Netzwerkknoten zur Authentisierung
eines Netzwerkbenutzers mit
Mitteln, um eine erste Aufforderung N1 an einen Benutzer
zu übertragen, und
Mitteln, um eine Antwort auf die Aufforderung von dem
Benutzer zu empfangen, und
Mitteln, um die Antwort zu überprüfen, dadurch
gekennzeichnet, daß die Antwort von minimaler Form ist
f(S1, N1, D1...),
wobei S1 ein gemeinsames Geheimnis zwischen dem ersten und
zweiten Benutzer ist, D1 eine Flußrichtungsanzeige der
Nachricht ist, die f() enthält und f() eine ausgewählte
Funktion ist, so daß
f'(S1, N1', D1', mm.) = f(S1, N1, D1,...)
für N1' ohne die Kenntnis von S1 nicht gelöst werden kann,
wobei f' (), N1' und D1' Ausdrücke in einer
Referenzverbindung mit einem Benutzer darstellen, der S1 kennt und die
richtige erste Antwort überträgt.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/672,226 US5148479A (en) | 1991-03-20 | 1991-03-20 | Authentication protocols in communication networks |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69213062D1 DE69213062D1 (de) | 1996-10-02 |
DE69213062T2 true DE69213062T2 (de) | 1997-03-13 |
Family
ID=24697681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69213062T Expired - Fee Related DE69213062T2 (de) | 1991-03-20 | 1992-02-11 | Authentisierungsprotokolle für Kommunikationsnetzwerke |
Country Status (5)
Country | Link |
---|---|
US (1) | US5148479A (de) |
EP (1) | EP0505302B1 (de) |
JP (1) | JP2823103B2 (de) |
CA (1) | CA2059172C (de) |
DE (1) | DE69213062T2 (de) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL9101796A (nl) * | 1991-10-25 | 1993-05-17 | Nederland Ptt | Werkwijze voor het authenticeren van communicatiedeelnemers, systeem voor toepassing van de werkwijze en eerste communicatiedeelnemer en tweede communicatiedeelnemer voor toepassing in het systeem. |
US5276735A (en) * | 1992-04-17 | 1994-01-04 | Secure Computing Corporation | Data enclave and trusted path system |
US5369705A (en) * | 1992-06-03 | 1994-11-29 | International Business Machines Corporation | Multi-party secure session/conference |
US5596718A (en) * | 1992-07-10 | 1997-01-21 | Secure Computing Corporation | Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor |
US5311596A (en) * | 1992-08-31 | 1994-05-10 | At&T Bell Laboratories | Continuous authentication using an in-band or out-of-band side channel |
US5491752A (en) * | 1993-03-18 | 1996-02-13 | Digital Equipment Corporation, Patent Law Group | System for increasing the difficulty of password guessing attacks in a distributed authentication scheme employing authentication tokens |
US5475763A (en) * | 1993-07-01 | 1995-12-12 | Digital Equipment Corp., Patent Law Group | Method of deriving a per-message signature for a DSS or El Gamal encryption system |
US5483598A (en) * | 1993-07-01 | 1996-01-09 | Digital Equipment Corp., Patent Law Group | Message encryption using a hash function |
US5351295A (en) * | 1993-07-01 | 1994-09-27 | Digital Equipment Corporation | Secure method of neighbor discovery over a multiaccess medium |
US5544246A (en) * | 1993-09-17 | 1996-08-06 | At&T Corp. | Smartcard adapted for a plurality of service providers and for remote installation of same |
DE69312328T2 (de) * | 1993-09-20 | 1998-01-08 | Ibm | System und verfahren zur änderung des schlüssels oder des kennwortes in einem kommunikationsnetzwerk mit schlüssel- verteilung |
US5381480A (en) * | 1993-09-20 | 1995-01-10 | International Business Machines Corporation | System for translating encrypted data |
EP0656708A1 (de) * | 1993-12-03 | 1995-06-07 | International Business Machines Corporation | System und Verfahren zur Übertragung und Gültigkeitsprüfung eines aktualisierten kryptographischen Schlüssels zwischen zwei Benutzern |
US5594921A (en) * | 1993-12-17 | 1997-01-14 | Object Technology Licensing Corp. | Authentication of users with dynamically configurable protocol stack |
US5491749A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for entity authentication and key distribution secure against off-line adversarial attacks |
US5491750A (en) * | 1993-12-30 | 1996-02-13 | International Business Machines Corporation | Method and apparatus for three-party entity authentication and key distribution using message authentication codes |
ATE362264T1 (de) | 1994-05-24 | 2007-06-15 | Sony Corp | Datenbuskommunikation |
USRE38898E1 (en) | 1994-05-24 | 2005-11-29 | Sony Corporation | Video data bus communication system and method |
EP0693836A1 (de) * | 1994-06-10 | 1996-01-24 | Sun Microsystems, Inc. | Verfahren und Einrichtung für ein Schlüsselmanagementschema für Internet-Protokolle |
GB9422389D0 (en) * | 1994-11-05 | 1995-01-04 | Int Computers Ltd | Authenticating access control for sensitive functions |
US5822431A (en) * | 1996-01-19 | 1998-10-13 | General Instrument Corporation Of Delaware | Virtual authentication network for secure processors |
GB9606593D0 (en) * | 1996-03-29 | 1996-06-05 | Symmetricom Inc | An antenna system |
US20060195595A1 (en) | 2003-12-19 | 2006-08-31 | Mendez Daniel J | System and method for globally and securely accessing unified information in a computer network |
US20020133412A1 (en) * | 1997-03-07 | 2002-09-19 | David M. Oliver | System for management of transactions on networks |
US7324972B1 (en) * | 1997-03-07 | 2008-01-29 | Clickshare Service Corporation | Managing transactions on a network: four or more parties |
US5953424A (en) * | 1997-03-18 | 1999-09-14 | Hitachi Data Systems Corporation | Cryptographic system and protocol for establishing secure authenticated remote access |
JP3864401B2 (ja) * | 1997-04-23 | 2006-12-27 | ソニー株式会社 | 認証システム、電子機器、認証方法、および記録媒体 |
US6591291B1 (en) * | 1997-08-28 | 2003-07-08 | Lucent Technologies Inc. | System and method for providing anonymous remailing and filtering of electronic mail |
US7328350B2 (en) * | 2001-03-29 | 2008-02-05 | Arcot Systems, Inc. | Method and apparatus for secure cryptographic key generation, certification and use |
US6263446B1 (en) * | 1997-12-23 | 2001-07-17 | Arcot Systems, Inc. | Method and apparatus for secure distribution of authentication credentials to roaming users |
US6151676A (en) * | 1997-12-24 | 2000-11-21 | Philips Electronics North America Corporation | Administration and utilization of secret fresh random numbers in a networked environment |
US6243811B1 (en) * | 1998-07-31 | 2001-06-05 | Lucent Technologies Inc. | Method for updating secret shared data in a wireless communication system |
US6941454B1 (en) | 1998-10-14 | 2005-09-06 | Lynn Spraggs | System and method of sending and receiving secure data with a shared key |
IL136746A0 (en) * | 1998-10-14 | 2001-06-14 | Aegis Systems Inc | System and method of sending and receiving secure data using anonymous keys |
US6349338B1 (en) * | 1999-03-02 | 2002-02-19 | International Business Machines Corporation | Trust negotiation in a client/server data processing network using automatic incremental credential disclosure |
US6507908B1 (en) | 1999-03-04 | 2003-01-14 | Sun Microsystems, Inc. | Secure communication with mobile hosts |
US7810152B2 (en) * | 2002-05-08 | 2010-10-05 | Broadcom Corporation | System and method for securely controlling access to device functions |
US6424953B1 (en) * | 1999-03-19 | 2002-07-23 | Compaq Computer Corp. | Encrypting secrets in a file for an electronic micro-commerce system |
US7549056B2 (en) | 1999-03-19 | 2009-06-16 | Broadcom Corporation | System and method for processing and protecting content |
US7257554B1 (en) | 1999-03-19 | 2007-08-14 | Hewlett-Packard Development Company, L.P. | Anonymous purchases while allowing verifiable identities for refunds returned along the paths taken to make the purchases |
US6826686B1 (en) * | 2000-04-14 | 2004-11-30 | International Business Machines Corporation | Method and apparatus for secure password transmission and password changes |
US7870599B2 (en) * | 2000-09-05 | 2011-01-11 | Netlabs.Com, Inc. | Multichannel device utilizing a centralized out-of-band authentication system (COBAS) |
US7596223B1 (en) | 2000-09-12 | 2009-09-29 | Apple Inc. | User control of a secure wireless computer network |
US6769060B1 (en) | 2000-10-25 | 2004-07-27 | Ericsson Inc. | Method of bilateral identity authentication |
JP4149126B2 (ja) | 2000-12-05 | 2008-09-10 | ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー | 画像処理方法、画像処理装置および画像撮影装置 |
US7116668B2 (en) * | 2001-10-09 | 2006-10-03 | Telefunaktiebolaget Lm Ericsson (Publ) | Method for time stamp-based replay protection and PDSN synchronization at a PCF |
ATE413060T1 (de) * | 2002-04-05 | 2008-11-15 | Abb Research Ltd | Verfahren zur fernsteuerung eines systems |
US7293284B1 (en) | 2002-12-31 | 2007-11-06 | Colligo Networks, Inc. | Codeword-enhanced peer-to-peer authentication |
US8108429B2 (en) | 2004-05-07 | 2012-01-31 | Quest Software, Inc. | System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services |
US7565661B2 (en) | 2004-05-10 | 2009-07-21 | Siew Yong Sim-Tang | Method and system for real-time event journaling to provide enterprise data services |
US7680834B1 (en) | 2004-06-08 | 2010-03-16 | Bakbone Software, Inc. | Method and system for no downtime resychronization for real-time, continuous data protection |
US7979404B2 (en) | 2004-09-17 | 2011-07-12 | Quest Software, Inc. | Extracting data changes and storing data history to allow for instantaneous access to and reconstruction of any point-in-time data |
US7904913B2 (en) | 2004-11-02 | 2011-03-08 | Bakbone Software, Inc. | Management interface for a system that provides automated, real-time, continuous data protection |
KR100848541B1 (ko) * | 2005-05-13 | 2008-07-25 | 삼성전자주식회사 | 이동 아이피 버전 6에서 재전송 공격을 방지하기 위한 방법 |
US7689602B1 (en) | 2005-07-20 | 2010-03-30 | Bakbone Software, Inc. | Method of creating hierarchical indices for a distributed object system |
US7788521B1 (en) | 2005-07-20 | 2010-08-31 | Bakbone Software, Inc. | Method and system for virtual on-demand recovery for real-time, continuous data protection |
US8059819B2 (en) | 2007-01-17 | 2011-11-15 | Panasonic Electric Works Co., Ltd. | Systems and methods for distributing updates for a key at a maximum rekey rate |
US8131723B2 (en) | 2007-03-30 | 2012-03-06 | Quest Software, Inc. | Recovering a file system to any point-in-time in the past with guaranteed structure, content consistency and integrity |
US8364648B1 (en) | 2007-04-09 | 2013-01-29 | Quest Software, Inc. | Recovering a database to any point-in-time in the past with guaranteed data consistency |
CN101447872B (zh) * | 2007-11-27 | 2011-09-28 | 阿里巴巴集团控股有限公司 | 一种用户身份验证方法、***及验证码生成维护子*** |
KR20090067551A (ko) * | 2007-12-21 | 2009-06-25 | 삼성전자주식회사 | 클러스터 기반의 컨텐츠 사용 제한 및 컨텐츠 사용 방법,컨텐츠 접근 권한 인증 방법, 장치, 및 기록매체 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4193131A (en) * | 1977-12-05 | 1980-03-11 | International Business Machines Corporation | Cryptographic verification of operational keys used in communication networks |
US4218738A (en) * | 1978-05-05 | 1980-08-19 | International Business Machines Corporation | Method for authenticating the identity of a user of an information system |
US4386233A (en) * | 1980-09-29 | 1983-05-31 | Smid Miles E | Crytographic key notarization methods and apparatus |
FR2530053B1 (fr) * | 1982-07-08 | 1986-04-25 | Bull Sa | Procede pour certifier la provenance d'au moins une information enregistree dans une memoire d'un premier dispositif electronique et transmise a un deuxieme dispositif electronique, et systeme pour la mise en oeuvre d'un tel procede |
US4723284A (en) * | 1983-02-14 | 1988-02-02 | Prime Computer, Inc. | Authentication system |
US4926480A (en) * | 1983-08-22 | 1990-05-15 | David Chaum | Card-computer moderated systems |
JPS619052A (ja) * | 1984-06-25 | 1986-01-16 | Toshiba Corp | 通信ネツトワ−クシステム |
US4649233A (en) * | 1985-04-11 | 1987-03-10 | International Business Machines Corporation | Method for establishing user authenication with composite session keys among cryptographically communicating nodes |
LU86203A1 (fr) * | 1985-12-11 | 1987-07-24 | Cen Centre Energie Nucleaire | Procede et appareil verifiant l'authenticite de documents lies a une personne et l'identite de leurs porteurs |
DE3763872D1 (de) * | 1986-03-05 | 1990-08-30 | Holger Sedlak | Kryptographie-verfahren und kryptographie-prozessor zur durchfuehrung des verfahrens. |
JPS62210791A (ja) * | 1986-03-12 | 1987-09-16 | Pioneer Electronic Corp | Catvシステムの盗視聴防止方式 |
EP0246823A3 (en) * | 1986-05-22 | 1989-10-04 | Racal-Guardata Limited | Data communication systems and methods |
US4748668A (en) * | 1986-07-09 | 1988-05-31 | Yeda Research And Development Company Limited | Method, apparatus and article for identification and signature |
GB2194415B (en) * | 1986-08-20 | 1990-10-17 | Plessey Co Plc | Improvements in or relating to methods of achieving key variable exchange with mutual authentication of participants |
US4850017A (en) * | 1987-05-29 | 1989-07-18 | International Business Machines Corp. | Controlled use of cryptographic keys via generating station established control values |
US4933970A (en) * | 1988-01-19 | 1990-06-12 | Yeda Research And Development Company Limited | Variants of the fiat-shamir identification and signature scheme |
JP2521785B2 (ja) * | 1988-02-08 | 1996-08-07 | 日本電信電話株式会社 | 端末認証処理システム |
EP0407465B1 (de) * | 1988-03-16 | 2000-11-15 | DigiCash Incorporated | Blindunterschriftensysteme mit einer einzigen vorlage |
AU622915B2 (en) * | 1988-05-19 | 1992-04-30 | Ncr Corporation | Method and device for authentication |
IL87549A0 (en) * | 1988-08-24 | 1989-01-31 | Amos Fiat | Rsa computation method for efficient batch processing |
JPH082051B2 (ja) * | 1988-08-31 | 1996-01-10 | 日本電信電話株式会社 | 資格認証方法 |
US4919545A (en) * | 1988-12-22 | 1990-04-24 | Gte Laboratories Incorporated | Distributed security procedure for intelligent networks |
US4932056A (en) * | 1989-03-16 | 1990-06-05 | Yeda Research And Development Company Limited | Method and apparatus for user identification based on permuted kernels |
DE69019593T2 (de) * | 1989-04-27 | 1996-01-25 | Ibm | Sichere Handhabung von Schlüsseln unter Verwendung von Kontrollvektoren mit Mehrwegüberwachung. |
-
1991
- 1991-03-20 US US07/672,226 patent/US5148479A/en not_active Expired - Fee Related
-
1992
- 1992-01-10 CA CA002059172A patent/CA2059172C/en not_active Expired - Fee Related
- 1992-02-11 EP EP92480018A patent/EP0505302B1/de not_active Expired - Lifetime
- 1992-02-11 DE DE69213062T patent/DE69213062T2/de not_active Expired - Fee Related
- 1992-03-17 JP JP4060593A patent/JP2823103B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0505302B1 (de) | 1996-08-28 |
CA2059172C (en) | 1996-01-16 |
JPH07170257A (ja) | 1995-07-04 |
DE69213062D1 (de) | 1996-10-02 |
EP0505302A1 (de) | 1992-09-23 |
CA2059172A1 (en) | 1992-09-21 |
JP2823103B2 (ja) | 1998-11-11 |
US5148479A (en) | 1992-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69213062T2 (de) | Authentisierungsprotokolle für Kommunikationsnetzwerke | |
DE69230489T2 (de) | Verfahren zur Aufstellung und Durchführung eines geheimen Netzwerksicherheitsverfahrens in einem Kryptosystem mit öffentlichem Schlüssel | |
EP0472714B1 (de) | Verfahren zur authentifizierung eines eine datenstation benutzenden anwenders | |
DE69416809T2 (de) | Verbesserungen der Sicherheit in Datenverarbeitungssystemen | |
DE60029722T2 (de) | Verfahren und vorrichtungen zur sicheren verteilung von öffentlichen und privaten schlüsselpaaren | |
DE69311581T2 (de) | Verfahren und system zur authentifizierten sicheren schlüsselverteilung in einem kommunikationssystem | |
DE69217428T2 (de) | Auf Steuervektoren beruhendes Schlüsselverteilungsverfahren mit hybridem Public-Key/DES-Algorithmus | |
DE60036112T2 (de) | Serverunterstützte wiedergewinnung eines starken geheimnisses aus einem schwachen geheimnis | |
DE69221017T2 (de) | Verfahren und Vorrichtung zur gegenseitigen Authentifizierung von Benutzern in einen Kommunikationssystem | |
DE69230429T2 (de) | Sicherung/Rückgewinnung der Umgebung einer Geheimübertragungseinrichtung und Vervielfältigung in einem Kryptosystem mit öffentlichem Schlüssel | |
DE69534192T2 (de) | Verfahren zur gemeinsamen Nutzung einer geheimen Information, zur Erzeugung einer digitalen Unterschrift und zur Ausführung einer Beglaubigung in einem Kommunikationssystem mit mehreren Informationsverarbeitungseinrichtungen und Kommunikationssystem zur Anwendung dieses Verfahrens | |
DE69725659T2 (de) | Verfahren und Einrichtung zur Ablage eines in einem RSA-Kryptosystem benutzten Geheimschlüssels | |
DE60001630T2 (de) | Sichere gegenseitige Netzwerkauthenifizierung und Schlüselaustauschprotokoll | |
DE69629857T2 (de) | Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel | |
DE69328334T2 (de) | Geschäftliche Datenmaskierung | |
EP0477180B1 (de) | Schlüsselverteilung in offenen kommunikationsnetzen unter berücksichtigung von sicherheitsabstufungen | |
EP1777907B1 (de) | Vorrichtungen und Verfahren zum Durchführen von kryptographischen Operationen in einem Server-Client-Rechnernetzwerksystem | |
DE10151277A1 (de) | Verfahren zur Authentifizierung eines Netzwerkzugriffservers bei einem Authentifizierungsserver | |
DE69431426T2 (de) | System und Verfahren zur Nachrichtenauthentisierung in einem nicht-schmiedbaren Kryptosystem mit öffentlichen Schlüssel | |
DE60203277T2 (de) | Verfahren und system zur authentifizierung eines personal security device gegenüber mindestens einem fernrechnersystem | |
EP1368929B1 (de) | Verfahren zur authentikation | |
DE102013221159B3 (de) | Verfahren und System zum manipulationssicheren Bereitstellen mehrerer digitaler Zertifikate für mehrere öffentliche Schlüssel eines Geräts | |
DE112012000971B4 (de) | Datenverschlüsselung | |
EP3672142A1 (de) | Verfahren und system zur sicheren übertragung eines datensatzes | |
EP4097948B1 (de) | Verfahren zur datenübermittlung und kommunikationssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |