DE102016106602A1 - Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) - Google Patents
Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) Download PDFInfo
- Publication number
- DE102016106602A1 DE102016106602A1 DE102016106602.8A DE102016106602A DE102016106602A1 DE 102016106602 A1 DE102016106602 A1 DE 102016106602A1 DE 102016106602 A DE102016106602 A DE 102016106602A DE 102016106602 A1 DE102016106602 A1 DE 102016106602A1
- Authority
- DE
- Germany
- Prior art keywords
- network device
- message
- signature
- secret
- data
- 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.)
- Withdrawn
Links
Images
Classifications
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
-
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Abstract
Die Erfindung betrifft ein Verfahren zum Aufbau einer sicheren Kommunikation zwischen einer ersten Netzwerkeinrichtung (Initiator) und einer zweiten Netzwerkeinrichtung (Responder) in einem Kommunikationsnetzwerk und eine hierfür geeignete Anordnung von Netzwerkeinrichtung, welche sich dadurch auszeichnen, dass unter Verwendung eines symmetrischen Kryptosystems, bei welchem somit beide Netzwerkeinrichtungen jeweils dieselben Geheimnisse als Schlüssel zur Ver- und Entschlüsselung von Datensätzen einsetzen, jeweils eine separate Authentisierung/Authentifizierung in Bezug auf die erste und die zweite Netzwerkeinrichtung vor Erzeugung eines für die sichere Kommunikation als gemeinsamen Schlüssel zu verwendenden Geheimnisses durchgeführt wird.The invention relates to a method for establishing a secure communication between a first network device (initiator) and a second network device (responder) in a communication network and an arrangement of network device suitable therefor, which are characterized in that by using a symmetric cryptosystem in which both network devices each use the same secrets as keys for encrypting and decrypting data records, each performing a separate authentication / authentication with respect to the first and the second network device before generating a secret to be used for the secure communication as a shared key.
Description
Die Erfindung betrifft ein Verfahren zur sicheren Kommunikation zwischen einer ersten Netzwerkeinrichtung (Initiator) und einer zweiten Netzwerkeinrichtung (Responder) in einem Kommunikationsnetzwerk und eine hierfür geeignete Anordnung von Netzwerkeinrichtungen, insbesondere zwischen als eingebettete Systeme ausgebildete Netzwerkeinrichtungen. The invention relates to a method for secure communication between a first network device (initiator) and a second network device (responder) in a communication network and an arrangement of network devices suitable for this, in particular between network devices designed as embedded systems.
In der nachfolgenden Beschreibung und den angehängten Ansprüchen werden als Netzwerkeinrichtungen Geräte bezeichnet, welche sowohl eigenständig als auch von einem Benutzer veranlasst über mindestens ein Netzwerk mit anderen Geräten kommunizieren, zuzüglich Softwarekomponenten, welche mittels Laufzeitumgebung Zugang zu mindestens einem Netzwerk haben und darüber eigenständig als auch von einem Benutzer veranlasst mit anderen Einrichtungen kommunizieren. In the following description and the appended claims are referred to as network devices devices that communicate both independently and by a user communicate via at least one network with other devices, plus software components that have runtime environment access to at least one network and independent of it as well prompt a user to communicate with other devices.
Bekanntermaßen ist in bestimmten Fällen die Kommunikation zwischen Netzwerkeinrichtungen sicher zu führen, zum Beispiel um die Integrität, Vertraulichkeit und/oder Verfügbarkeit der Kommunikation zu gewährleisten. As is known, in certain cases, the communication between network devices can be securely managed, for example to ensure the integrity, confidentiality and / or availability of the communication.
Die Integrität der Kommunikation ist zum Beispiel aufgrund von störenden Einflüssen gefährdet, welche Kommunikationsinhalte verfälschen, oder durch einen aktiven Angriff, bei dem ein Dritter Kommunikationsinhalte zu seinem Vorteil verändert, unterdrückt und/oder hinzufügt. The integrity of the communication is jeopardized, for example, by disturbing influences which corrupt communication contents or by an active attack in which a third party modifies, suppresses and / or adds communication contents to its advantage.
Die Vertraulichkeit der Kommunikation ist zum Beispiel gefährdet, wenn Kommunikationsinhalte versehentlich an den falschen Adressaten übermittelt werden oder ein Angreifer Kommunikationsinhalte in Erfahrung bringen kann. Confidentiality of communications, for example, is compromised when communication content is inadvertently transmitted to the wrong addressee or an attacker can learn communication content.
Die Verfügbarkeit ist beispielsweise dann gefährdet, wenn versehentlich oder absichtlich Kommunikationsressourcen durch Netzwerkeinrichtungen in Anspruch genommen werden, mit denen keine Kommunikation beabsichtigt oder erwünscht ist, so dass für die Kommunikation mit den beabsichtigten oder erwünschten Netzwerkeinrichtungen zu wenig Ressourcen übrig sind. Ressourcen können beispielsweise Speicherplatz oder Rechengeschwindigkeit sein, wobei insbesondere eingebettete Systeme häufig in ihren Ressourcen beschränkt sind. Availability is jeopardized, for example, when inadvertently or intentionally recourse is made to communication resources by network devices with which no communication is intended or desired so that there are too few resources left for communication with the intended or desired network devices. For example, resources may be memory or computational speed, with embedded systems often being limited in their resources.
So bezeichnet eine als eingebettetes System ausgebildete Netzwerkeinrichtung eine in einen technischen Kontext eingebundene (eingebettete) Netzwerkeinrichtung, die aufgrund dessen typischerweise stark einschränkenden Randbedingungen unterliegt und nur stark reduzierte Ressourcen besitzt. Thus, a network device embodied as an embedded system designates an embedded network device which, because of this, is typically subject to highly restrictive boundary conditions and has only greatly reduced resources.
Zur Sicherung der Kommunikation existiert mannigfaltiger Stand der Technik. Üblicherweise weisen sich Kommunikationspartner beim Verbindungsaufbau einander ihre Identität nach und authentisieren sich gegenseitig, d.h. sie übergeben Informationen, die eine Verifizierung der Identität durch den jeweils anderen Kommunikationspartner erlaubt, wobei daraufhin eben dieser jeweils andere Kommunikationspartner überprüft, ob die vorgegebene Identität durch die Authentisierungsdaten bestätigt werden kann, d.h. eine Authentifizierung durchführt. Ferner erzeugen die Kommunikationspartner vor der Authentisierung/Authentifizierung, währenddessen oder darauf aufbauend in der Regel temporäre gemeinsame Geheimnisse und verwenden solche Geheimnisse für die Absicherung von Nachrichten. Die temporären gemeinsamen Geheimnisse dienen zum Authentisieren/Authentifizieren und/oder zum Verschlüsseln der nach der Authentisierung/Authentifizierung ausgetauschten Nachrichten. To secure the communication exists manifold state of the art. Typically, communication partners identify each other in establishing their identity and authenticate each other, i.e., each other. they hand over information that permits verification of the identity by the respective other communication partner, whereupon the respective other communication partner then checks whether the given identity can be confirmed by the authentication data, ie. performs an authentication. Furthermore, prior to authentication / authentication, during or subsequent to the authentication, the communication partners generally create temporary shared secrets and use such secrets to secure messages. The temporary shared secrets serve to authenticate / authenticate and / or encrypt the messages exchanged after the authentication / authentication.
Dabei können die als Kommunikationspartner agierenden Netzwerkeinrichtungen üblicherweise sowohl ihre eigene Identität mittels eigener Geheimnisse als auch alternativ oder ergänzend die Identität ihres Benutzers auf dessen Veranlassung zusammen mit dessen Geheimnissen zur Authentisierung/Authentifizierung verwenden. In this case, the network devices acting as communication partners can usually use both their own identity by means of their own secrets and alternatively or additionally the identity of their user on his initiative together with its secrets for authentication / authentication.
Der IETF(Internet Engineering Task Force)-Standard beschreibt z.B. ein Verfahren (
SKEYSEED wird dann mittels zu bekannten Identitäten gehörenden, dauerhaften Geheimnissen PrivKey-I, PrivKey-R authentisiert, indem sich die Kommunikationspartner gegenseitig Signaturen AUTH-I, AUTH-R zu den für den Diffie-Hellmann-Schlüsselaustausch ausgetauschten Nachrichten zusenden, wobei die Signaturen mit Hilfe der dauerhaften Geheimnisse erzeugt und vom jeweils anderen Kommunikationspartner mittels Prüfkriterien CERT-I, CERT-R verifiziert, d.h. authentifiziert werden. Dabei und nachfolgend leiten beide Kommunikationspartner jeweils aus SKEYSEED ein zweites temporäres gemeinsames Geheimnis ab, welches als Komposition von mehreren kryptographischen Schlüsseln verwendet wird (beispielsweise SK_d, SK_ai, SK_ar, SK_ei, SK_er, SK_pi, SK_pr), von denen einige zur Authentisierung/Authentifizierung und einige zur Verschlüsselung bestimmter weiterer Nachrichten verwendet werden. Je Kommunikationsrichtung kommen unterschiedliche Schlüssel zur Anwendung. Optional wird nachfolgend von jedem Kommunikationspartner aus einem Teil des zweiten gemeinsamen Geheimnisses SK_d ein drittes temporäres gemeinsames Geheimnis abgeleitet (KEYMAT genannt; in
Eine Übersicht der in
- i:
- Geheime vom Initiator gewählte Zufallszahl;
- M1:
- Erste Nachricht, enthaltend:
- KEi:
- Vom Initiator erzeugte Schlüsselaustauschdaten,
- Ni:
- Vom Initiator gewählte Zufallszahl zur einmaligen Verwendung;
- r:
- Geheime vom Responder gewählte Zufallszahl;
- M2:
- Zweite Nachricht, enthaltend:
- KEr:
- Vom Responder erzeugte Schlüsselaustauschdaten,
- Nr:
- Vom Initiator gewählte Zufallszahl zur einmaligen Verwendung;
- SKEYSEED:
- erstes temporäres gemeinsames Geheimnis – Größe zum Berechnen des zweiten temporären gemeinsamen Geheimnisses, enthaltend: mehrere Geheimnisse/Schlüssel, enthaltend:
- SK_d:
- Geheimer Schlüssel zur Ableitung von weiteren Schlüsseln,
- SK_ai:
- Geheimer Schlüssel zum Authentisieren/Authentifizieren von durch den Initiator gesendeten Nachrichten,
- SK_ar:
- Geheimer Schlüssel zum Authentisieren/Authentifizieren von durch den Responder gesendeten Nachrichten,
- SK_ei:
- Geheimer Schlüssel zum Verschlüsseln von durch den Initiator gesendeten Nachrichten,
- SK_er:
- Geheimer Schlüssel zum Verschlüsseln von durch den Responder gesendeten Nachrichten,
- SK_pi:
- Geheimer Schlüssel zum Initialisieren eines Pseudozufallszahlengenerators zur Verwendung durch den Initiator,
- SK_pr:
- Geheimer Schlüssel zum Initialisieren eines Pseudozufallszahlengenerators zur Verwendung durch den Responder;
- PrivKey-I:
- Privater Schlüssel des Initiators (dauerhaftes Geheimnis);
- CERT-I:
- Zertifikat zur Identität des Initiators – enthält den öffentlichen Schlüssel des Initiators;
- PrivKey-R:
- Privater Schlüssel des Responders (dauerhaftes Geheimnis);
- CERT-R:
- Zertifikat zur Identität des Responders – enthält den öffentlichen Schlüssel des Responders;
- M3:
- Dritte Nachricht;
- IDi:
- Identität des Initiators;
- AUTH-I:
- Daten, mit denen sich der Initiator authentisiert;
- M4:
- Vierte Nachricht;
- IDr:
- Identität des Responders;
- AUTH-R:
- Daten, mit denen sich der Responder authentisiert.
- i:
- Secret random number chosen by the initiator;
- M1:
- First message containing:
- KEi:
- Key exchange data generated by the initiator,
- Ni:
- Random number chosen by the initiator for single use;
- r:
- Secret random number chosen by the responder;
- M2:
- Second message containing:
- KBr:
- Key exchange data generated by the responder,
- No:
- Random number chosen by the initiator for single use;
- SKEYSEED:
- first temporary shared secret - size for computing the second temporary shared secret, containing: multiple secrets / keys, containing:
- SK_d:
- Secret key for deriving further keys,
- SK_ai:
- Secret key to authenticate / authenticate messages sent by the initiator,
- SK_ar:
- Secret key to authenticate / authenticate messages sent by the responder,
- SK_ei:
- Secret key for encrypting messages sent by the initiator,
- SK_er:
- Secret key for encrypting messages sent by the responder,
- SK_pi:
- Secret key to initialize a pseudorandom number generator for use by the initiator,
- SK_pr:
- Secret key for initializing a pseudorandom number generator for use by the responder;
- PrivKey-I:
- Private key of the initiator (permanent secret);
- CERT-I:
- Certificate of identity of the initiator - contains the public key of the initiator;
- PrivKey-R:
- Private Key of the Responder (Permanent Secret);
- CERT-R:
- Responder Identity Certificate - contains the public key of the responder;
- M3:
- Third message;
- IDi:
- Identity of the initiator;
- AUTH I:
- Data with which the initiator authenticates;
- M4:
- Fourth message;
- I Dr:
- Identity of the responder;
- AUTH-R:
- Data with which the responder authenticates itself.
Dauerhafte Geheimnisse werden hier als dauerhaft bezeichnet, weil sie üblicherweise für mehrere Verbindungsaufbauten verwendet werden und selten gewechselt werden, während die temporären Geheimnisse nur kurzfristig verwendet werden, zum Beispiel nicht länger als für eine Kommunikationsbeziehung. Beispielsweise erklärt der entsprechende, vorerwähnte IETF-Standard explizit, dass die erzeugten temporären Geheimnisse bei verschiedenen Kommunikationsprotokollen nur für eine bestimmte Dauer und Menge an Daten angewendet werden dürfen und danach neue temporäre Geheimnisse verwendet werden müssen. Durable secrets are referred to herein as persistent because they are commonly used for multiple connection setups and are rarely changed while the temporary secrets are used only for a short time, for example, no longer than for a communication relationship. For example, the corresponding, aforementioned IETF standard explicitly states that the generated temporary secrets may only be applied to different communication protocols for a certain amount of time and amount of data, and then new temporary secrets must be used.
Der Beginn des Kommunikationsaufbaus nach IKEv2 erfordert jedoch für den dort stattfindenden Diffie-Hellmann-Schlüsselaustausch Berechnungen, wie z.B. Exponentiationen, mit großen Ganzzahlen, deren Speicherung üblicherweise jeweils wesentlich mehr Bits erfordert als in das Register eines üblichen Prozessors passen. Damit bedarf es für IKEv2 während des Beginns des Verbindungsaufbaus zwangsweise relativ hoher Ressourcen an Hauptspeicher und Rechenzeit, die insbesondere bei eingebetteten Systemen knapp ist. Für Echtzeitsysteme (d.h. Systeme zur unmittelbaren Steuerung und Abwicklung von Prozessen, bei denen ein jeweiliges Ergebnis innerhalb eines vorher fest definierten Zeitintervalls garantiert vorliegen muss) ist ferner der Bedarf an Rechenzeit problematisch, weil hier üblicherweise kurze Reaktionszeiten erforderlich sind. Industrielle Steuerungen sind in der Regel eingebettete Echtzeitsysteme mit eingeschränkten Ressourcen und kurzer Reaktionszeit. However, the beginning of the IKEv2 communication set-up requires calculations, such as exponentiations, with large integers, which typically require significantly more bits each for the Diffie-Hellmann key exchange than fit into the register of a conventional processor. Thus, IKEv2 requires relatively high resources of main memory and computation time during the start of connection setup, which is scarce especially in embedded systems. For Real-time systems (ie systems for the immediate control and execution of processes in which a respective result within a previously defined time interval must be guaranteed) is also the need for computational time problematic, because usually short response times are required. Industrial controllers are typically embedded real-time systems with limited resources and fast response time.
Insbesondere bei kleinen eingebetteten Systemen mit sehr geringen Ressourcen ist es besonders nachteilig, dass eben ganz am Anfang des Kommunikationsaufbaus, wenn noch keine Identitäten bekannt sind, der ressourcenmäßig anspruchsvolle Diffie-Hellmann-Schlüsselaustausch stattzufinden hat. Dieser muss durchgeführt werden, bevor anhand der nachfolgend ausgetauschten Identität die Netzwerkeinrichtungen feststellen können, ob der Verbindungsaufbau mit der jeweils anderen Netzwerkeinrichtung erwünscht, beziehungsweise beabsichtigt ist. Der verzögerte Austausch der Identitäten nach dem IKEv2-Prinzip eröffnet zwar die Möglichkeit, die Identitäten mit bereits vorhandenen gemeinsamen temporären Schlüsseln verschlüsselt und damit einigermaßen vertraulich zu übertragen. Bei sehr geringen Ressourcen überwiegt allerdings der Nachteil, dass versehentlich oder absichtlich irgendwelche Netzwerkeinrichtungen den Beginn des Kommunikationsaufbaus veranlassen können und damit besonders leicht hohe Ressourcenbelegung auf einem eingebetteten Gerät erzeugen, ohne dafür berechtigt zu sein und ohne dafür leicht von unerwünschten Netzwerkeinrichtungen unterschieden werden zu können. Especially with small embedded systems with very low resources, it is particularly disadvantageous that just at the beginning of the communication structure, if no identities are known, the resource-demanding Diffie-Hellmann key exchange has to take place. This must be carried out before the network devices can determine from the subsequently exchanged identity whether the connection establishment with the other network device is desired or intended. Although the delayed exchange of identities according to the IKEv2 principle opens up the possibility of encrypting the identities with existing shared temporary keys and thus transmitting them with some confidentiality. With very small resources, however, the disadvantage prevails that accidentally or deliberately any network devices can cause the beginning of the communication structure and thus particularly easy to generate high resource usage on an embedded device, without being authorized and without being easily distinguished from unwanted network facilities can.
In der Patentschrift
- SD:
- Erstes Datum;
- M1:
- Erste Nachricht;
- GS:
- Erstes gemeinsames Geheimnis;
- R:
- Zweites Datum;
- M2:
- Zweite Nachricht;
- PS:
- Zweites gemeinsames Geheimnis;
- KE, KA:
- Drittes gemeinsames Geheimnis.
- SD:
- First date;
- M1:
- First message;
- GS:
- First shared secret;
- R:
- Second date;
- M2:
- Second message;
- PS:
- Second common secret;
- KE, KA:
- Third common secret.
Eine Authentisierung/Authentifizierung der Netzwerkeinrichtungen entsteht somit erst während der sicheren Kommunikation implizit durch das Verwenden des korrekten dritten Geheimnisses KE, KA. Denn wüsste eine der beiden Netzwerkeinrichtungen das erste gemeinsame Geheimnis GS nicht, so würde mit von der Güte der Algorithmen abhängiger Wahrscheinlichkeit kein drittes gemeinsames Geheimnis KE, KA entstehen, sondern die Netzwerkeinrichtungen hätten als Ergebnis hierfür unterschiedliche Werte. Als Folge davon können die nachfolgend ausgetauschten und mittels einer der Varianten des dritten gemeinsamen Geheimnisses KE, KA gesicherten Nachrichten nur mit der Variante des dritten gemeinsamen Geheimnisses authentifiziert und/oder entschlüsselt werden, mit der sie auch signiert und/oder verschlüsselt wurden. Ohne drittes gemeinsames Geheimnis bestünde also keine sichere Kommunikation je nach Kommunikationsprotokoll eventuell sogar gar keine weitere Kommunikationsmöglichkeit. An authentication / authentication of the network devices thus arises only during the secure communication implicitly by using the correct third secret KE, KA. For if one of the two network devices did not know the first shared secret GS, then depending on the quality of the algorithms dependent probability would not create a third shared secret KE, KA, but the network devices would have as a result different values. As a consequence, the messages subsequently exchanged and secured by means of one of the variants of the third shared secret KE, KA can be authenticated and / or decrypted only with the variant of the third shared secret with which they were also signed and / or encrypted. Without a third shared secret, there would be no secure communication depending on the communication protocol, possibly even no further communication option.
Ferner ist es bei diesem Verfahren zumindest sehr aufwendig, zwei Fehlerfälle zu unterscheiden, wenn tatsächlich unterschiedliche dritte gemeinsame Geheimnisse entstanden sind. So ist es fraglich, ob solche unterschiedlichen dritten gemeinsamen Geheimnisse aufgrund einer Verwechslung erzeugt worden sind oder ob die für deren Berechnung ausgetauschten Nachrichten bei der Übertragung versehentlich, zum Beispiel durch Störungen, oder absichtlich, zum Beispiel durch Dritte, verändert wurden. Furthermore, it is at least very complicated to distinguish two error cases in this method, if actually different third common secrets have arisen. Thus, it is questionable whether such different third common secrets have been generated due to a confusion or whether the messages exchanged for their computation were inadvertently altered during transmission, for example by disturbances, or deliberately, for example by third parties.
Verwechslungen können zum Beispiel leicht entstehen, wenn versehentlich eine falsche Produktionszelle beim Verbindungsaufbau mit einer Netzwerkeinrichtung angesprochen wurde, die Produktionszellen aber gleich aufgebaut und parametriert sind, wie es beim Serienmaschinenbau üblich ist. Hier würden sich Netzwerkeinrichtungen ggf. nur durch das vorab gespeicherte erste gemeinsame Geheimnis unterscheiden. For example, confusion can easily arise if a wrong production cell was accidentally addressed when establishing a connection with a network device, but the production cells are constructed and parameterized the same way as is usual in series machine construction. Here, network devices would possibly only differ by the first shared secret shared in advance.
Weiter ist an diesem Verfahren nachteilig, dass von beiden Netzwerkeinrichtungen zunächst alle Schritte des Verfahrens abgearbeitet werden müssen, bevor anhand eines nicht übereinstimmenden dritten Geheimnisses Fehler festgestellt werden können. Während des Verbindungsaufbaus sind demnach Ressourcen für sämtliche der Schritte und Algorithmen in Verwendung, die entsprechend nicht für andere Verbindungsaufbauten zur Verfügung stehen. Furthermore, it is disadvantageous in this method that first of all the steps of the method must be processed by both network devices before errors can be detected on the basis of a third secret that does not correspond. Thus, during call setup, resources are in use for all of the steps and algorithms that are not available for other call setups.
Als weiterer Stand der Technik beschreibt das sogenannte Transport Layer Security Protocol, abgekürzt als TLS-Protokoll oder auch TLS, wie es in der Version 1.2 erklärt ist (z.B. in
Bei diesen beiden TLS-Verfahren für die gegenseitige Authentisierung/Authentifizierung ist bei beiden Kommunikationspartnern, hier Client und Server genannt, vorab ein asymmetrisches Schlüsselpaar gespeichert, bestehend aus einem jeweils Individuellen privaten Schlüssel, d.h. Bezug nehmend auf
Bei dem ersten dieser Verfahren gemäß
Eine Übersicht der in
- Ps:
- Privater Schlüssel des Servers;
- Pc:
- Privater Schlüssel des Clients;
- M1:
- Erste Nachricht;
- Rc:
- Vom Client erzeugte Zufallszahl;
- M2:
- Zweite Nachricht;
- Rs:
- Vom Server erzeugte Zufallszahl;
- Cs:
- Zertifikat des Servers;
- pms:
- Erstes gemeinsames Geheimnis;
- M3:
- Dritte Nachricht;
- Cc:
- Zertifikat des Clients;
- Epms:
- Verschlüsseltes erstes gemeinsames Geheimnis;
- AuthC:
- Daten, mit denen sich der Client authentisiert;
- VDc:
- Durch Client gesendete Verifikationsdaten;
- ms:
- Zweites gemeinsames Geheimnis;
- M4:
- Vierte Nachricht;
- VDs:
- Durch den Server gesendete Verifikationsdaten;
- cwMk:
- (client write MAC key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swMk:
- (server write MAC key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- cwk:
- (client write key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swk:
- (server write key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- cwI:
- (client write initialization vector) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swI:
- (server write initialization vector) – Bestandteil des dritten gemeinsamen Geheimnisses.
- ps:
- Private key of the server;
- pc:
- Private key of the client;
- M1:
- First message;
- rc:
- Client-generated random number;
- M2:
- Second message;
- rs:
- Server-generated random number;
- Cs:
- Certificate of the server;
- pms:
- First shared secret;
- M3:
- Third message;
- cc:
- Certificate of the client;
- ePMS:
- Encrypted first shared secret;
- AUTHC:
- Data with which the client authenticates itself;
- VDc:
- Verification data sent by the client;
- ms:
- Second common secret;
- M4:
- Fourth message;
- VDS:
- Verification data sent by the server;
- cwMk:
- (client write MAC key) - part of the third shared secret;
- swMk:
- (server write MAC key) - part of the third shared secret;
- cwk:
- (client write key) - part of the third common secret;
- swk:
- (server write key) - part of the third shared secret;
- CWI:
- (client write initialization vector) - part of the third shared secret;
- SWI:
- (server write initialization vector) - part of the third shared secret.
Vorteilhaft beim diesem Verfahren nach TLS ist zwar, dass die Identitäten zu Beginn des Verfahrens ausgetauscht werden, bevor nennenswert Rechenzeit und Ressourcen verbraucht wurden. Durch Versehen irregeleitete Kommunikationspartner können also mit geringem Ressourcenaufwand abgelehnt werden. Although it is advantageous in this method according to TLS that the identities are exchanged at the beginning of the process before significant computing time and resources have been consumed. Accidentally misdirected communication partners can therefore be rejected with little resources.
Nachteilig für die Schutzwirkung bei diesem Verfahren nach TLS ist allerdings insbesondere, dass es allein von der Vertrauenswürdigkeit des Clients abhängt, dass das erste gemeinsame Geheimnis pms wirklich ein Geheimnis ist. Denn allein der Client bestimmt den Wert von pms. Deshalb wird das Verfahren nur noch selten angewendet. However, a disadvantage of the protection effect of this method according to TLS is, in particular, that it depends solely on the trustworthiness of the client that the first shared secret pms is really a mystery. Because only the client determines the value of pms. Therefore, the method is rarely used.
Bei dem zweiten dieser Verfahren gemäß
Eine Übersicht der in
- Ps:
- Privater Schlüssel des Servers;
- Pc:
- Privater Schlüssel des Clients;
- M1:
- Erste Nachricht;
- Rc:
- Vom Client erzeugte Zufallszahl;
- pYs:
- Geheimer Anfangswert des Servers für den Diffie-Hellmann-Schlüsselaustausch;
- Ys:
- Abgeleiteter öffentlicher Anfangswert des Servers für den Diffie-Hellmann-Schlüsselaustausch;
- M2:
- Zweite Nachricht;
- Rs:
- Vom Server erzeugte Zufallszahl;
- Cs:
- Zertifikat des Servers;
- SYs:
- Abgeleiteter öffentlicher Anfangswert des Servers für den Diffie-Hellmann-Schlüsselaustausch in Kombination mit einer Signatur des Servers;
- pYc:
- Geheimer Anfangswert des Clients für den Diffie-Hellmann-Schlüsselaustausch;
- M3:
- Dritte Nachricht;
- Cc:
- Zertifikat des Clients;
- AuthC:
- Daten, mit denen sich der Client authentisiert;
- VDc:
- Durch Client gesendete Verifikationsdaten;
- Yc:
- Abgeleiteter öffentlicher Anfangswert des Clients für den Diffie-Hellmann-Schlüsselaustausch;
- pms:
- Erstes gemeinsames Geheimnis;
- ms:
- Zweites gemeinsames Geheimnis;
- M4:
- Vierte Nachricht;
- VDs:
- Durch Server gesendete Verifikationsdaten;
- cwMk:
- (client write MAC key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swMk:
- (server write MAC key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- cwk:
- (client write key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swk:
- (server write key) – Bestandteil des dritten gemeinsamen Geheimnisses;
- cwI:
- (client write initialization vector) – Bestandteil des dritten gemeinsamen Geheimnisses;
- swI:
- (server write initialization vector) – Bestandteil des dritten gemeinsamen Geheimnisses.
- ps:
- Private key of the server;
- pc:
- Private key of the client;
- M1:
- First message;
- rc:
- Client-generated random number;
- Pyś:
- Secret server initial value for the Diffie-Hellmann key exchange;
- Ys:
- Derived public initial value of the server for the Diffie-Hellmann key exchange;
- M2:
- Second message;
- rs:
- Server-generated random number;
- Cs:
- Certificate of the server;
- SYs:
- Derived public seed value of the Diffie-Hellmann key exchange server in combination with a signature of the server;
- PYC:
- Secret initial value of the client for the Diffie-Hellmann key exchange;
- M3:
- Third message;
- cc:
- Certificate of the client;
- AUTHC:
- Data with which the client authenticates itself;
- VDc:
- Verification data sent by the client;
- yc:
- Derived public initial value of the client for the Diffie-Hellmann key exchange;
- pms:
- First shared secret;
- ms:
- Second common secret;
- M4:
- Fourth message;
- VDS:
- Verification data sent by the server;
- cwMk:
- (client write MAC key) - part of the third shared secret;
- swMk:
- (server write MAC key) - part of the third shared secret;
- cwk:
- (client write key) - part of the third common secret;
- swk:
- (server write key) - part of the third shared secret;
- CWI:
- (client write initialization vector) - part of the third shared secret;
- SWI:
- (server write initialization vector) - part of the third shared secret.
Nachteilig bei diesem zweiten Verfahren nach TLS ist, dass für die Generierung des Wertes SYs der Server noch ohne Kenntnis der Identität des Clients asymmetrische Kryptographie anwendet, und zwar für den Beginn des Diffie-Hellman-Austausches und für die Erstellung der Signatur zu Ys, bei der er somit Ressourcen an Hauptspeicher und Rechenaufwand einsetzt, die für eingebettete Geräte bereits signifikant sind. Dieser Ressourcenverbrauch fällt also auch bei versehentlich oder absichtlich irregerichteten Verbindungsaufbauten statt und kann schlecht abgewehrt werden. A disadvantage of this second method according to TLS is that for the generation of the value SYs, the server still applies without knowledge of the identity of the client asymmetric cryptography, namely for the beginning of the Diffie-Hellman exchange and for the creation of the signature to Ys, at He therefore uses resources of memory and computation that are already significant to embedded devices. This resource consumption thus also occurs in the case of accidentally or intentionally misdirected connection setups and can be badly repulsed.
Nachteilig bei beiden Verfahren nach TLS ist ferner, dass zur Authentisierung/Authentifizierung in beiden Fällen asymmetrische Kryptographie und damit Rechenoperationen mit großen Ganzzahlen erforderlich sind, also Speicher und Rechenzeit besonders beansprucht werden. A disadvantage of both methods according to TLS is further that for authentication / authentication in both cases asymmetric cryptography and thus arithmetic operations with large integers are required, so memory and computing time are particularly stressed.
In
Konkret tauschen, wiederum Bezug nehmend auf
Eine Übersicht der in
- PSK:
- Im Voraus gespeichertes erste gemeinsames Geheimnis;
- M1:
- Erste Nachricht;
- Rc:
- Vom Client erzeugte Zufallszahl;
- M2:
- Zweite Nachricht;
- Rs:
- Vom Server erzeugte Zufallszahl;
- IDh:
- Hinweis auf die Identität des Servers;
- pms:
- Zweites gemeinsames Geheimnis;
- ms:
- Drittes gemeinsames Geheimnis;
- M3:
- Dritte Nachricht;
- VDc:
- Durch Client gesendete Verifikationsdaten;
- IDc:
- Hinweis auf die Identität des Clients;
- M4:
- Vierte Nachricht;
- VDs:
- Durch den Server gesendete Verifikationsdaten;
- cwMk:
- (client write MAC key) – Bestandteil des vierten gemeinsamen Geheimnisses;
- swMk:
- (server write MAC key) – Bestandteil des vierten gemeinsamen Geheimnisses;
- cwk:
- (client write key) – Bestandteil des vierten gemeinsamen Geheimnisses;
- swk:
- (server write key) – Bestandteil des vierten gemeinsamen Geheimnisses;
- cwI:
- (client write initialization vector) – Bestandteil des vierten gemeinsamen Geheimnisses;
- swI:
- (server write initialization vector) – Bestandteil des vierten gemeinsamen Geheimnisses.
- PSK:
- Pre-stored first shared secret;
- M1:
- First message;
- rc:
- Client-generated random number;
- M2:
- Second message;
- rs:
- Server-generated random number;
- IDh:
- Reference to the identity of the server;
- pms:
- Second common secret;
- ms:
- Third common secret;
- M3:
- Third message;
- VDc:
- Verification data sent by the client;
- IDc:
- Reference to the identity of the client;
- M4:
- Fourth message;
- VDS:
- Verification data sent by the server;
- cwMk:
- (client write MAC key) - part of the fourth shared secret;
- swMk:
- (server write MAC key) - part of the fourth shared secret;
- cwk:
- (client write key) - part of the fourth common secret;
- swk:
- (server write key) - part of the fourth shared secret;
- CWI:
- (client write initialization vector) - part of the fourth shared secret;
- SWI:
- (server write initialization vector) - part of the fourth shared secret.
Nachteilig an diesem Verfahren „TLS mit PSK" ist, dass zwar eine Identifikation der Kommunikationseinrichtungen durchgeführt wird, aber keine explizite Authentisierung/Authentifizierung. Wenn eine Seite ihre Identität nur behauptet oder verwechselt, aber nicht das zugehörige gemeinsame Geheimnis kennt, dann entstehen am Ende unterschiedliche Schlüssel für die Authentisierung/Authentifizierung und/oder Verschlüsselung der nachfolgenden Kommunikation. Auch bei diesem Verfahren ist es nachfolgend somit aufwändig, die zwei Fehlerfälle zu unterscheiden, wie sie bei dem Verfahren gemäß der Patentschrift
Die OPC Foundation hat für die OPC Unified Architecture (OPC UA) in
Bezugnehmend auf
In einer ersten Nachricht Ml des Authentisierungs-/Authentifizierungsvorganges sendet der Client sein Zertifikat Cc, welches seine Identität und seinen öffentlichen Schlüssel enthält, zusammen mit einem Wert Nc und einer Signatur AuthC an den Server. Die Signatur AuthC erzeugt der Client als digtale Signatur über relevante Teile der Nachricht Ml, mindestens das Zertifikat Cc und den Wert Nc umfassend, unter Verwendung seines privaten Schlüssels Pc, der dem Zertifikat Cc zugeordnet ist. Vor dem Absenden der Nachricht Ml verschlüsselt der Client Teile der Nachricht, mindestens den Wert Nc und die Signatur AuthC, mit dem öffentlichen Schlüssel des Servers aus dem Zertifikat Cs, so dass statt des Wertes Nc tatsächlich dessen Verschlüsselung eNc und anstatt der Signatur AuthC tatsächlich deren Verschlüsselung eAuthC übertragen wird. Der Server entschlüsselt die Nachricht Ml mit Hilfe seines privaten Schlüssels Ps, der dem Zertifikat Cs zugeordnet ist und überprüft die Signatur AuthC mittels des öffentlichen Schlüssels aus diesem Zertifikat Cc. Zusammen mit der Überprüfung des Zertifikates Cc erhält der Server sichere Kenntnis über die Identität des Clients und Kenntnis über die geheime Zufallszahl Nc. In a first message Ml of the authentication / authentication process, the client sends its certificate Cc, which contains its identity and its public key, together with a value Nc and a signature AuthC to the server. The signature AuthC is generated by the client as a digital signature about relevant parts of the message Ml, comprising at least the certificate Cc and the value Nc, using its private key Pc associated with the certificate Cc. Before sending the message Ml, the client encrypts parts of the message, at least the value Nc and the signature AuthC, with the public key of the server from the certificate Cs, so that instead of the value Nc actually its encryption eNc and instead of the signature AuthC actually their Encryption eAuthC is transmitted. The server decrypts the message Ml using its private key Ps assigned to the certificate Cs and verifies the signature AuthC using the public key from this certificate Cc. Together with the verification of the certificate Cc, the server obtains secure knowledge about the identity of the client and knowledge of the secret random number Nc.
In einer zweiten Nachricht M2 sendet der Server dem Client analog einen Wert Ns zusammen mit einer Signatur AuthS an den Client. Die Signatur AuthS erzeugt der Server als digitale Signatur über relevante Teile der Nachricht M2, mindestens den Wert Ns und eine Prüfsumme oder andersartige Referenzierung des Zertifikates Cs einbeziehend. Vor dem Absenden der Nachricht M2 verschlüsselt der Server Teile der Nachricht, mindestens den Wert Ns, mit dem öffentlichen Schlüssel des Clients aus dem Zertifikat Cc. Der Client entschlüsselt die Nachricht M2 mit Hilfe seines privaten Schlüssels Pc und überprüft mit dem öffentlichen Schlüssel aus dem Zertifikat Cs die Signatur AuthS. Zusammen mit der Überprüfung des Zertifikates Cs erhält auch der Client sichere Kenntnis über die Identität des Servers und Kenntnis über die geheime Zufallszahl Ns. In a second message M2, the server analogously sends the client a value Ns together with a signature AuthS to the client. The signature AuthS generated by the server as a digital signature on relevant parts of the message M2, at least the value Ns and a checksum or other type of referencing of the certificate Cs involving. Before sending the message M2, the server encrypts parts of the message, at least the value Ns, with the public key of the client from the certificate Cc. The client decrypts the message M2 using its private key Pc and verifies with the public key from the certificate Cs the signature AuthS. Along with the verification of the certificate Cs, the client also obtains secure knowledge about the identity of the server and knowledge of the secret random number Ns.
Nach dem Austausch der Nachrichten Ml und M2 leiten Client und Server jeweils ein gemeinsames Geheimnis G aus den ausgetauschten geheimen Zufallszahlen Nc und Ns ab. Dieses gemeinsame Geheimnis wird als Kombination mehrerer kryptographischer Schlüssel verwendet, um die nachfolgende Kommunikation zu authentisieren/authentifizieren oder zu authentisieren/authentifizieren und zu verschlüsseln. Die bei dem Ableiten verwendeten Algorithmen und die Algorithmen für die nachfolgende Authentisierung/Authentifizierung bzw. Verschlüsselung der Kommunikation werden während des Austausches der Nachrichten Ml und M2 bestimmt. After exchanging the messages Ml and M2, the client and the server each derive a shared secret G from the exchanged secret random numbers Nc and Ns. This shared secret is used as a combination of multiple cryptographic keys to authenticate / authenticate or authenticate / authenticate and encrypt the subsequent communication. The algorithms used in the derivation and the algorithms for the subsequent authentication / encryption of the communication are determined during the exchange of messages Ml and M2.
Eine Übersicht der in
- Ps:
- Privater Schlüssel des Servers;
- Pc:
- Privater Schlüssel des Clients;
- Cs:
- Zertifikat des Servers;
- Nc:
- Vom Client erzeugte Zufallszahl;
- AuthC:
- Durch den Client erzeugte Signatur;
- M1:
- Erste Nachricht;
- Cc:
- Zertifikat des Clients;
- eNc:
- Verschlüsselung von Nc;
- eAuthC:
- Verschlüsselung von AuthC;
- Ns:
- Vom Server erzeugte Zufallszahl;
- AuthS:
- Durch den Server erzeugte Signatur;
- M2:
- Zweite Nachricht;
- eNs:
- Verschlüsselung von Ns;
- eAuthS:
- Verschlüsselung von AuthS;
- G:
- gemeinsames Geheimnis.
- ps:
- Private key of the server;
- pc:
- Private key of the client;
- Cs:
- Certificate of the server;
- nc:
- Client-generated random number;
- AUTHC:
- Client generated signature;
- M1:
- First message;
- cc:
- Certificate of the client;
- ENC:
- Encryption of Nc;
- eAuthC:
- Encryption of AuthC;
- ns:
- Server-generated random number;
- AUTHs:
- Signature generated by the server;
- M2:
- Second message;
- ENS:
- Encryption of Ns;
- eAuthS:
- Encryption of AuthS;
- G:
- shared secret.
Der Erfindung liegt als Aufgabe zugrunde, einen gegenüber dem vorbeschriebenen Stand der Technik nochmals verbesserten Aufbau einer sicheren Kommunikation zwischen zwei Netzwerkeinrichtungen zu schaffen, welcher einen geringen Ressourceneinsatz bedingt und insbesondere auch ein einfaches, differenziertes Erkennen unterschiedlicher Fehlerfälle während des Aufbaus ermöglicht. It is an object of the invention to provide a further improved set-up of secure communication between two network devices compared with the above-described prior art, which requires a low use of resources and, in particular, enables a simple, differentiated recognition of different error cases during the construction.
Die Lösung nach der Erfindung ist durch ein Verfahren, ein Computerprogrammprodukt und eine Anordnung mit den Merkmalen der unabhängigen Ansprüche gegeben. Bevorzugte Weiterbildungen sind Gegenstand der abhängigen Ansprüche. The solution according to the invention is given by a method, a computer program product and an arrangement having the features of the independent claims. Preferred developments are the subject of the dependent claims.
Demgemäß schlägt die Erfindung ein Verfahren zum Aufbau einer sicheren Kommunikation zwischen einer ersten Netzwerkeinrichtung (Initiator) und einer zweiten Netzwerkeinrichtung (Responder) in einem Kommunikationsnetzwerk vor, bei welchem unter Verwendung eines symmetrischen Kryptosystems jeweils eine separate Authentisierung/Authentifizierung in Bezug auf die erste und die zweite Netzwerkeinrichtung vor Erzeugung eines für die sichere Kommunikation als gemeinsamen Schlüssel zu verwendenden Geheimnisses durchgeführt wird. Durch das symmetrische Kryptosystem setzen somit beide Netzwerkeinrichtungen jeweils dieselben Geheimnisse als Schlüssel zur Ver- und Entschlüsselung von Datensätzen ein. Accordingly, the invention proposes a method for establishing a secure communication between a first network device (initiator) and a second network device (responder) in a communication network, in which using a symmetric cryptosystem respectively a separate authentication / authentication with respect to the first and the second network device is performed prior to generating a secret to be used for secure communication as a shared key. Due to the symmetric cryptosystem, both network devices thus use the same secrets as keys for encryption and decryption of data records.
Demgemäß wird ferner ein Computerprogrammprodukt vorgeschlagen, welches die Durchführung eines solchen Verfahrens veranlasst, sowie eine insbesondere zur Durchführung des Verfahrens geeignete Anordnung mit einer ersten Netzwerkeinrichtung und einer zweiten Netzwerkeinrichtung in einem Kommunikationsnetzwerk. Accordingly, a computer program product is also proposed, which causes the implementation of such a method, as well as a particularly suitable for carrying out the method arrangement with a first network device and a second network device in a communication network.
Wesentliche Vorteile sind folglich darin zu sehen,
- – dass die Lösung nach der Erfindung auf einem vorher vereinbarten geteilten Geheimnis basiert und folglich kein großer Rechenaufwand, wie ansonsten bei asymmetrischen Kryptographien bzw. Kryptosystemen notwendig ist,
- – dass die Lösung nach der Erfindung die Überprüfung, ob die vorgegebenen Identitäten der Kommunikationspartner bestätigt werden können, frühzeitig erlaubt, so dass bei versehentlichem oder absichtlich regelwidrigem Kommunikationsaufbau hierbei belegte Ressourcen wieder schneller freigegeben werden können,
- – dass aufgrund der jeweiligen separaten Authentisierung/Authentifizierung mögliche Fehlerfälle auf einfache Weise unterschieden werden können, wobei am Ende geheime und zwischen den Kommunikationspartnern geteilte Schlüssel für die Sicherung der nachfolgenden Kommunikation bereitstellt werden und,
- – dass mit dem erfolgreichen Abschluss des Verbindungsaufbaus für eine sichere Kommunikation sicherstellt ist, dass beide Seiten dieselben geteilten Schlüssel errechnet haben können.
- That the solution according to the invention is based on a previously agreed shared secret and consequently no large amount of computation, as is otherwise necessary in asymmetric cryptosystems or cryptosystems,
- - That the solution according to the invention, the review of whether the predetermined identities of the communication partners can be confirmed, allowed early on, so that in case of accidental or deliberately irregular communication setup here occupied resources can be released faster again,
- - That due to the respective separate authentication / authentication possible errors can be easily distinguished, in the end secret and shared between the communication partners keys are provided for securing the subsequent communication and,
- - that successful completion of secure communication establishment of the connection ensures that both parties have calculated the same shared keys.
Die Erfindung eignet sich somit in bevorzugten Ausführungen insbesondere für eingebettete Systeme mit sehr geringen Ressourcen, insbesondere für als eingebettete Echtzeitsysteme mit eingeschränkten Ressourcen und kurzer Reaktionszeit realisierte industrielle Steuerungen. Thus, in preferred embodiments, the invention is particularly suitable for embedded systems with very low resources, in particular for industrial controls implemented as embedded real-time systems with limited resources and a short reaction time.
Vorstehend beschriebene und weitere Eigenschaften, Merkmale und Vorteile der Erfindung werden noch ersichtlicher aus der nachfolgenden Beschreibung bevorzugter Ausführungsbeispiele unter Bezugnahme auf die beigefügten Zeichnungen, in den zeigen: The above-described and other features, features and advantages of the invention will become more apparent from the following description of preferred embodiments with reference to the accompanying drawings, in which:
und
and
Nachfolgend wird insbesondere auf
Im Einzelnen zeigt hierbei
Die Erfindung kombiniert demgemäß eine Authentisierung/Authentifizierung mittels vorab geteiltem Geheimnis unter Verwendung symmetrischer kryptographischer Algorithmen mit einem separaten Authentisierungs-/Authentifizierungsschritt vor der Ableitung geteilter Schlüssel für die Sicherung der nachfolgenden Kommunikation. Ein separater Authentisierungs-/Authentifizierungsschritt ist sonst nur aus der Authentisierung/Authentifizierung mittels asymmetrischer Kryptographie bekannt. Der separate Schritt ist bei Verwendung asymmetrischer Algorithmen notwendig, weil im Stand der Technik nach asymmetrischer Authentisierung die nachfolgende Kommunikation mit symmetrischen Verfahren abgesichert wird. Bei symmetrischen Verfahren findet er hingegen im Stand der Technik, wie eingangs diskutiert, keine Verwendung. The invention accordingly combines pre-shared secret authentication / authentication using symmetric cryptographic algorithms with a separate authentication / authentication step prior to deriving shared keys for backup of the subsequent communication. Otherwise, a separate authentication / authentication step is known only from authentication / authentication using asymmetric cryptography. The separate step is necessary when using asymmetric algorithms, because in the prior art after asymmetric authentication, the subsequent communication is secured with symmetric methods. In symmetrical methods, however, it finds no use in the prior art, as discussed at the beginning.
Bevor anhand der in
- Pw:
- vorab geteiltes Geheimnis bzw. im Voraus bekanntes gemeinsames Geheimnis;
- M1:
- Erste Nachricht;
- IDi:
- Identität des Clients;
- Ni:
- Vom Client neu erzeugte Zufallszahl;
- Pi:
- Optionaler Parametersatz vom Client;
- M2:
- Zweite Nachricht;
- IDr:
- Identität des Servers;
- Nr:
- Vom Server neu erzeugte Zufallszahl;
- Pr:
- Optionaler Parametersatz vom Server;
- M3:
- Dritte Nachricht
- AuthI:
- Mit symmetrischem kryptographischem Algorithmus vom Client erzeugte Signatur zwecks seiner Authentisierung;
- AuthI‘:
- Vom Server zu Prüfzwecken nachgerechnete Signatur zum Vergleich mit AuthI zwecks Authentifizierung des Clients;
- M4:
- Vierte Nachricht;
- AuthR:
- Mit symmetrischem kryptographischem Algorithmus vom Server erzeugte Signatur zwecks seiner Authentisierung;
- AuthR‘:
- Vom Client zu Prüfzwecken nachgerechnete Signatur zum Vergleich mit AuthR zwecks Authentifizierung des Servers;
- G:
- Zweites geteiltes Geheimnis bzw. zweites gemeinsames Geheimnis mit folgenden Bestandteilen:
- SK2_ai:
- „Secret key for authenticating messages sent by the initiator“; Geheimer Schlüssel zum Authentisieren der vom Client gesendeten Nachrichten;
- SK2_ar:
- „Secret key for authenticating messages sent by the responder“; Geheimer Schlüssel zum Authentisieren der vom Server gesendeten Nachrichten
- SK2_ei:
- „Secret key for encrypting messages sent by the initiator“; Geheimer Schlüssel zum Verschlüsseln der vom Client gesendeten Nachrichten
- SK2_er:
- „Secret key for encrypting messages sent by the responder“; Geheimer Schlüssel zum Verschlüsseln der vom Server gesendeten Nachrichten
- Pw:
- pre-shared secret or shared secret in advance;
- M1:
- First message;
- IDi:
- Identity of the client;
- Ni:
- Client newly generated random number;
- Pi:
- Optional parameter set from the client;
- M2:
- Second message;
- I Dr:
- Identity of the server;
- No:
- Newly generated random number by the server;
- Pr:
- Optional parameter set from the server;
- M3:
- Third message
- AuthI:
- Signature generated by the client for symmetric cryptographic algorithm for authentication;
- AuthI ':
- Served by the server for verification purposes recalculated signature for comparison with AuthI for authentication of the client;
- M4:
- Fourth message;
- AUTHR:
- Signature generated by the server for symmetric cryptographic algorithm for its authentication;
- AUTHR ':
- Client replicated signature for verification purposes for comparison with AuthR for authentication of the server;
- G:
- Second shared secret or second shared secret with the following components:
- SK2_ai:
- "Secret key for authenticating messages sent by the initiator"; Secret key for authenticating messages sent by the client;
- SK2_ar:
- "Secret key for authenticating messages sent by the responder"; Secret key to authenticate the messages sent by the server
- SK2_ei:
- "Secret key for encrypting messages sent by the initiator"; Secret key to encrypt the messages sent by the client
- SK2_er:
- "Secret key for encrypting messages sent by the responder"; Secret key to encrypt the messages sent by the server
Basierend auf
Nach Empfang der ersten Nachricht M1 kann daraufhin auf der zweiten Netzwerkeinrichtung (bei
Von Vorteil ist, dass bereits mit der Initiierung die Identität der ersten Netzwerkeinrichtung der zweiten Netzwerkeinrichtung mitgeteilt wird, so dass der zweiten Netzwerkeinrichtung auch die Möglichkeit eröffnet wird, zu entscheiden, ob mit der ersten Netzwerkeinrichtung überhaupt eine sichere Kommunikation innerhalb des Kommunikationsnetzwerks durchgeführt werden kann oder darf. In einer zweckmäßigen Weiterbildung ist daher ferner vorgesehen, dass nach Empfang der ersten Nachricht M1 von der zweiten Netzwerkeinrichtung zunächst eine Prüfung der von der ersten Netzwerkeinrichtung übersandten Identitätskennung IDi durchgeführt wird und basierend auf dem Ergebnis dieser Prüfung von der zweiten Netzwerkeinrichtung entschieden wird, ob überhaupt die Nachricht M2, wie zuvor beschrieben, von der zweiten Netzwerkeinrichtung an die erste Netzwerkeinrichtung gesandt wird oder, ob bereits nach Kenntnis der Identität der ersten Netzwerkeinrichtung der Aufbau abgebrochen wird. Stimmt die zweite Netzwerkeinrichtung dem Aufbau zu, bekommt somit auch die erste Netzwerkeinrichtung mit der Nachricht M2 die Identität der zweiten Netzwerkeinrichtung von dieser zugesandt. Auch dies eröffnet nochmals die frühzeitige Möglichkeit, auf Seiten der ersten Netzwerkeinrichtung zu entscheiden, ob die von der zweiten Netzwerkeinrichtung übersandte Identität auch tatsächlich der Netzwerkeinrichtung entspricht, mit welcher die erste Netzwerkeinrichtung eine Verbindung für eine sichere Kommunikation aufzubauen beabsichtigte. In einer zweckmäßigen Weiterbildung ist daher vorgesehen, dass nach Empfang der zweiten Nachricht M2 von der ersten Netzwerkeinrichtung zunächst eine Prüfung der von der zweiten Netzwerkeinrichtung übersandten Identitätskennung IDr durchgeführt wird und basierend auf dem Ergebnis dieser Prüfung von der ersten Netzwerkeinrichtung entschieden wird, ob überhaupt der Aufbau fortgesetzt wird oder abgebrochen wird. It is advantageous that the identity of the first network device of the second network device is already communicated with the initiation, so that the second network device is also given the opportunity to decide whether secure communication within the communication network can be carried out with the first network device or may. In an expedient development, it is therefore further provided that, after receiving the first message M1 from the second network device, a check of the identity IDi sent by the first network device is first carried out and, based on the result of this check, it is decided by the second network device, if at all Message M2, as described above, is sent from the second network device to the first network device or whether already after knowledge of the identity of the first network device, the structure is aborted. If the second network device agrees with the structure, the first network device with the message M2 thus also receives the identity of the second network device from the latter. This again opens up the early possibility of deciding on the part of the first network device whether the identity transmitted by the second network device actually corresponds to the network device with which the first network device intended to establish a connection for secure communication. In an expedient refinement, it is therefore provided that, after receiving the second message M2, the first network device first carries out a check of the identity identifier IDr sent by the second network device and, based on the result of this check, decides whether the structure is at all established by the first network device is continued or canceled.
Vorteilhaft ist somit ferner, dass auf beiden Seiten bereits zu diesen Zeitpunkten die Möglichkeit eröffnet ist, frühzeitig zu erkennen, ob eine Anfrage für einen Aufbau einer sicheren Kommunikation bzw. eine Reaktion hierauf fehlgeleitet ist, ohne dass kryptographische Operationen notwendig sind. Die Erzeugung der die Zufallszahl Ni oder Nr enthaltenen Datensätze bedarf hierbei keiner kryptographischen Operationen und also keiner großen Ressourcenbelegung. Folglich kann diese Erzeugung in der Absicht, diese Datensätze gegebenenfalls dann für eine spätere Authentisierung/Authentifizierung einsetzen zu können in zweckmäßiger Weise bereits frühzeitig durchgeführt werden ohne, dass hierfür noch ein separater Nachrichtenaustausch notwendig ist. It is thus also advantageous that the possibility is already opened on both sides at an early stage to recognize whether a request for establishing a secure communication or a response thereto is misdirected without the need for cryptographic operations. The generation of the random numbers Ni or Nr contained records requires no cryptographic operations and therefore no large resource allocation. Consequently, this generation, with the intention of being able to use these data records for subsequent authentication / authentication if appropriate, can advantageously be carried out early without a separate message exchange being necessary for this purpose.
Unter der Annahme, dass der Aufbau weitergeführt wird, sieht die Erfindung nach Erhalt der zweiten Nachricht M2 vor, dass auf der ersten Netzwerkeinrichtung ein Datensatz erzeugt wird, der eine erste Signatur AuthI enthält, der dann in einer dritten Nachricht M3 von der ersten Netzwerkeinrichtung an die zweite Netzwerkeinrichtung gesandt wird. Die erste Netzwerkeinrichtung authentisiert sich somit hierüber bei der zweiten Netzwerkeinrichtung. Die Erzeugung der ersten Signatur AuthI erfolgt hierbei durch Ausführen eines ersten Algorithmus unter Verwendung eines ersten Geheimnisses Pw und von zu signierenden Daten, die aus einem ersten Nachrichtenteil der ersten Nachricht M1 und einem zweiten Nachrichtenteil der zweiten Nachricht M2 zusammengesetzt werden. Assuming that the setup continues, upon receipt of the second message M2, the invention provides that a record containing a first signature AuthI is generated on the first network device, which is then transmitted in a third message M3 from the first network device the second network device is sent. The first network device thus authenticates to this at the second network device. The first signature AuthI is generated by executing a first algorithm using a first secret Pw and data to be signed, which are composed of a first message part of the first message M1 and a second message part of the second message M2.
Ferner wird auf der zweiten Netzwerkeinrichtung ein Datensatz erzeugt, der eine zweite Signatur AuthI' enthält, und zwar auch durch Ausführen des ersten Algorithmus und unter Verwendung des ersten Geheimnisses Pw sowie von zu signierenden Daten, die aus dem gleichem ersten Nachrichtenteil der ersten Nachricht M1 und dem gleichem zweiten Nachrichtenteil der zweiten Nachricht M2 zusammengesetzt werden, wie bei der Erzeugung des die erste Signatur „AuthI“ enthaltenen Datensatzes. Die zweite Netzwerkeinrichtung kann folglich nach Erhalt der dritten Nachricht M3 eine Authentifizierung der ersten Netzwerkeinrichtung durchführen. Hierzu wird auf der zweiten Netzwerkeinrichtung der von der ersten Netzwerkeinrichtung erzeugte, die erste Signatur AuthI enthaltene Datensatz mit dem von der zweiten Netzwerkeinrichtung erzeugten, die zweite Signatur AuthI' enthaltenen Datensatz verglichen. Furthermore, a data record containing a second signature AuthI 'is generated on the second network device, also by executing the first algorithm and using the first secret Pw and data to be signed, which are from the same first message part of the first message M1 and the same second message part of the second message M2, as in the generation of the first signature "AuthI" contained record. The second network device can thus perform an authentication of the first network device after receiving the third message M3. For this purpose, the data record generated by the first network device and containing the first signature AuthI is compared on the second network device with the data record generated by the second network device and containing the second signature AuthI '.
Folglich können beide Netzwerkeinrichtungen einen symmetrischen kryptographischen Algorithmus zur Erzeugung der Signaturen AuthI bzw. AuthI' einsetzen, da beide hierzu jeweils auf das erste und also gemeinsame Geheimnis Pw aufsetzen und die zu signierenden Daten aus den gleichen Nachrichtenteilen der Nachrichten M1 und M2 zusammensetzen. Consequently, both network devices can use a symmetric cryptographic algorithm for generating the AuthI or AuthI 'signatures, since for this purpose both of them rely on the first and thus shared secret Pw and compile the data to be signed from the same message parts of the messages M1 and M2.
Somit wird durch die separate Authentisierung/Authentifizierung der Identität der ersten Netzwerkeinrichtung der zweiten Netzwerkeinrichtung die Möglichkeit eröffnet, wiederum zu entscheiden, ob mit der ersten Netzwerkeinrichtung der Aufbau einer sicheren Kommunikation weiter fortgeführt wird. In einer zweckmäßigen Weiterbildung ist daher ferner vorgesehen, dass von der zweiten Netzwerkeinrichtung unter Ansprechen auf das Ergebnis des Vergleichens der ersten Signatur AuthI mit der zweiten Signatur AuthI' entschieden wird, ob der Aufbau einer sicheren Kommunikation weiter fortgeführt wird oder das Verfahren an dieser Stelle abgebrochen wird. Thus, by virtue of the separate authentication / authentication of the identity of the first network device of the second network device, it is possible to decide once again whether the establishment of secure communication continues with the first network device. In an expedient development, it is therefore further provided that the second network device, in response to the result of the comparison of the first signature AuthI with the second signature AuthI ', decides whether the structure of a secure communication is continued or the process is terminated at this point.
Unter der Annahme, dass der Aufbau weitergeführt wird, sieht die Erfindung vor, dass daraufhin auf der zweiten Netzwerkeinrichtung ein Datensatz erzeugt wird, der eine dritte Signatur AuthR enthält und in einer vierten Nachricht M4 von der zweiten Netzwerkeinrichtung an die erste Netzwerkeinrichtung gesandt wird. Die zweite Netzwerkeinrichtung authentisiert sich somit hierüber bei der ersten Netzwerkeinrichtung. Die Erzeugung der dritten Signatur AuthI erfolgt hierbei zweckmäßig durch Ausführen eines zweiten Algorithmus unter Verwendung des ersten Geheimnisses Pw und von zu signierenden Daten, die aus einem dritten Nachrichtenteil der ersten Nachricht M1 und einem vierten Nachrichtenteil der zweiten Nachricht M2 zusammengesetzt werden, wobei der dritte Nachrichtenteil ein anderer Nachrichtenteil als der erste Nachrichtenteil und/oder der vierte Nachrichtenteil ein anderer Nachrichtenteil als der zweite Nachrichtenteil ist. Assuming that the setup is continued, the invention provides that then a record is generated on the second network device, which contains a third signature AuthR and is sent in a fourth message M4 from the second network device to the first network device. The second network device thus authenticates itself to the first network device. The generation of the third signature AuthI is expediently carried out by executing a second algorithm using the first secret Pw and of data to be signed, which are composed of a third message part of the first message M1 and a fourth message part of the second message M2, the third message part another message part than the first message part and / or the fourth message part is a message part other than the second message part.
Ferner wird auf der ersten Netzwerkeinrichtung ein Datensatz erzeugt, der eine vierte Signatur AuthR' enthält, und zwar durch Ausführen des zweiten Algorithmus unter Verwendung des ersten Geheimnisses Pw und von zu signierenden Daten, die entsprechend der dritten Signatur AuthR aus dem gleichem dritten Nachrichtenteil der Nachricht M1 und dem gleichem vierten Nachrichtenteil der Nachricht M2 zusammengesetzt werden, wie bei der Erzeugung der dritten Signatur AuthR. Die erste Netzwerkeinrichtung kann folglich nach Erhalt der vierten Nachricht M4 eine Authentifizierung der zweiten Netzwerkeinrichtung durchführen. Hierzu wird auf der ersten Netzwerkeinrichtung der von der zweiten Netzwerkeinrichtung erzeugte, die dritte Signatur AuthR enthaltene Datensatz mit dem von der ersten Netzwerkeinrichtung erzeugten, die vierte Signatur AuthR' enthaltenen Datensatz verglichen. Furthermore, a record containing a fourth signature AuthR 'is generated on the first network device by executing the second algorithm using the first secret Pw and data to be signed, corresponding to the third signature AuthR from the same third message part of the message M1 and the same fourth message part of the message M2 as in the generation of the third signature AuthR. The first network device can thus perform an authentication of the second network device after receiving the fourth message M4. For this purpose, the data set generated by the second network device and containing the third signature AuthR is compared with the data record generated by the first network device and contains the fourth signature AuthR 'on the first network device.
Somit wird durch die separate Authentisierung/Authentifizierung der Identität der zweiten Netzwerkeinrichtung wiederum der ersten Netzwerkeinrichtung die Möglichkeit eröffnet, zu entscheiden, ob mit der zweiten Netzwerkeinrichtung der Aufbau einer sicheren Kommunikation weiter fortgeführt wird. In einer zweckmäßigen Weiterbildung ist daher ferner vorgesehen, dass von der ersten Netzwerkeinrichtung unter Ansprechen auf das Ergebnis des Vergleichens der dritten Signatur AuthR mit der vierten Signatur AuthR' entschieden wird, ob der Aufbau einer sicheren Kommunikation weiter fortgeführt wird oder das Verfahren an dieser Stelle abgebrochen wird. Thus, by virtue of the separate authentication / authentication of the identity of the second network device, the first network device in turn has the possibility of deciding whether the establishment of secure communication is continued with the second network device. In an expedient refinement, it is therefore further provided that the first network device, in response to the result of the comparison of the third signature AuthR with the fourth signature AuthR ', decides whether the establishment of secure communication will be continued or the method aborted at this point becomes.
Unter der Annahme, dass der Aufbau weitergeführt wird, sieht die Erfindung vor, dass daraufhin auf der ersten Netzwerkeinrichtung und auf der zweiten Netzwerkeinrichtung jeweils ein zweites Geheimnis G erzeugt werden kann, und zwar jeweils durch Ausführen eines dritten Algorithmus sowie unter Verwendung des ersten Geheimnisses Pw und zumindest einem der zuvor auf der ersten Netzwerkeinrichtung und/oder auf der zweiten Netzwerkeinrichtung erzeugten Datensätze, d.h.
- – des wenigstens die Zufallszahl Ni enthaltenen Datensatzes,
- – des wenigstens die Zufallszahl Nr enthaltenen Datensatzes,
- – des die erste Signatur AuthI enthaltenen Datensatzes,
- – des die zweite Signatur AuthI‘ enthaltenen Datensatzes,
- – des die dritte Signatur AuthR enthaltenen Datensatzes, und/oder
- – des die vierte Signatur AuthR‘ enthaltenen Datensatzes.
- The set of data containing at least the random number Ni,
- The at least the random number Nr contained record,
- The record containing the first signature AuthI,
- The record containing the second signature AuthI ',
- The record containing the third signature AuthR, and / or
- The record containing the fourth signature AuthR '.
Es sei angemerkt, dass die Erzeugung des zweiten Geheimnisses G auf der zweiten Netzwerkeinrichtung bereits nach positiven Vergleich auf der zweiten Netzwerkeinrichtung des von der ersten Netzwerkeinrichtung erzeugten, die erste Signatur AuthI enthaltenen Datensatzes mit dem von der zweiten Netzwerkeinrichtung erzeugten, die zweite Signatur AuthI' enthaltenen Datensatz eingeleitet wird. It should be noted that the generation of the second secret G on the second network device already after positive comparison on the second network device of the generated from the first network device, the first signature AuthI contained record with the generated by the second network device, the second signature AuthI 'contained Record is initiated.
Dieses zweite gemeinsame Geheimnis G wird daraufhin durch die erste Netzwerkeinrichtung und die zweite Netzwerkeinrichtung als gemeinsamer Schlüssel für eine sichere Kommunikation zwischen der ersten Netzwerkeinrichtung und der zweiten Netzwerkeinrichtung eingesetzt, insbesondere, zum Signieren und/oder Verschlüsseln der hierbei kommunizierten Datensätze. This second shared secret G is then used by the first network device and the second network device as a common key for secure communication between the first network device and the second network device, in particular, for signing and / or encrypting the data records thereby communicated.
In praktischer Ausführung werden auf der ersten und der zweiten Netzwerkeinrichtung zur jeweiligen Erzeugung des zweiten Geheimnisses G jeweils nur auf erzeugte Datensätze mit den jeweils gleichen Daten zurückgegriffen. Insbesondere ist somit vorgesehen, dass auf der ersten und der zweiten Netzwerkeinrichtung jeweils auf wenigstens einen der Datensätze zurückgegriffen wird, welcher eine Zufallszahl Ni, Nr enthält und/oder zweckmäßig in Bezug auf die erste Netzwerkeinrichtung auf wenigstens einen der Datensätze, welcher die erste Signatur AuthI, dritte Signatur AuthR oder vierte Signatur AuthR‘ enthält sowie zweckmäßig in Bezug auf die zweite Netzwerkeinrichtung auf wenigstens einen der Datensätze, welche die erste Signatur AuthI, zweite Signatur AuthI‘ oder dritte Signatur AuthR enthält. In a practical embodiment, in each case only generated data records with the respectively same data are used on the first and the second network device for respectively generating the second secret G. In particular, it is thus provided that in each case at least one of the data sets is used on the first and the second network device, which contains a random number Ni, Nr and / or expedient with respect to the first network device to at least one of the data records, which the first signature AuthI , third signature AuthR or fourth signature AuthR 'and expediently with respect to the second network device to at least one of the data sets, which contains the first signature AuthI, second signature AuthI' or third signature AuthR.
In einer zweckmäßigen Ausgestaltung kann im Rahmen der Erfindung ferner das erste Geheimnis Pw auf der ersten Netzwerkeinrichtung sowie auf der zweiten Netzwerkeinrichtung dauerhaft gespeichert oder über eine Eingabeschnittstelle eingeben werden. Im Falle einer Eingabe des Geheimnisses Pw kann diese hierbei jeweils für eine einmalige Verwendung, d.h. jeweils vor dem erneuten Initiieren eines Aufbaus einer sicheren Kommunikation vorgesehen sein oder für eine mehrmalige Verwendung, d.h. für das mehrmalige Initiieren eines Aufbaus einer sicheren Kommunikation. Für die jeweilige Verwendung dieses ersten Geheimnisses Pw kann hierbei vorteilhafterweise auf beiden Netzwerkeinrichtungen entweder direkt das erste Geheimnis Pw eingesetzt werden oder auf beiden Netzwerkeinrichtungen ein auf dem ersten Geheimnis Pw basierender, jedoch identisch abgeleiteter Wert. In an expedient embodiment, within the scope of the invention, furthermore, the first secret Pw can be stored permanently on the first network device as well as on the second network device or entered via an input interface. In the case of an input of the secret Pw, this can in each case be provided for a single use, ie in each case before the renewed initiation of a construction of a secure communication or for a repeated use, ie for the multiple initiation of a structure of secure communication. For the respective use of this first secret Pw, advantageously either the first secret Pw can be used directly on both network devices, or a value based on the first secret Pw on both network devices, but with the same derived value.
Alternativ kann jedoch auch auf einer der beiden Netzwerkeinrichtungen das erste Geheimnis Pw und auf der anderen der beiden Netzwerkeinrichtungen ein basierend auf dem ersten Geheimnis Pw abgeleiteter Wert gespeichert oder über eine Eingabeschnittstelle eingeben werden, wobei in diesem Fall bei der jeweiligen Verwendung des ersten Geheimnisses Pw für beide Netzwerkeinrichtungen ein auf dem ersten Geheimnis Pw basierender, identisch abgeleiteter Wert eingesetzt wird. Alternatively, however, the first secret Pw can also be stored on one of the two network devices and a value derived based on the first secret Pw can be stored on the other of the two network devices or entered via an input interface, in which case the respective secret Pw is used for both network devices employ an identically derived value based on the first secret Pw.
Auf beiden Netzwerkeinrichtungen wird somit stets das gleiche Geheimnis Pw oder ein gleicher, jedoch aus dem Geheimnis Pw abgeleiteter Wert eingesetzt. Die Ableitung eines solches Wertes kann hierbei folglich je nach Ausführungsform auf einer jeweiligen solchen Netzwerkeinrichtung oder alternativ vor Eingabe eines solches Wertes in die Netzwerkeinrichtung erfolgen. Thus, the same secret Pw or an identical value derived from the secret Pw is always used on both network devices. Depending on the embodiment, the derivation of such a value can thus be effected on a respective such network device or, alternatively, prior to input of such a value into the network device.
Bei Einsatz eines identisch abgeleiteten Wertes kann ein hierfür angewandtes identisches Ableitungsverfahren je nach spezifischer praktischer Umsetzung somit zweckmäßig jeweils sowohl auf der Netzwerkeinrichtung oder vor der Einbringung in die Netzwerkeinrichtung für die Netzwerkeinrichtung durchgeführt werden. When an identically derived value is used, an identical derivation method used for this purpose can thus be carried out, depending on the specific practical implementation, in each case expediently both on the network device or before it is introduced into the network device for the network device.
Wie bei
Wie aus
Die Erfindung bietet darüber hinaus die Möglichkeit, dass die vorbeschriebenen Schritte zum Aufbauen einer sicheren Kommunikation in praktischer Umsetzung auch für den Fall durchgeführt werden können, dass bereits eine vorhandene Kommunikationsbeziehung zwischen der ersten Netzwerkeinrichtung und der zweiten Netzwerkeinrichtung besteht, und diese bereits vorhandene Kommunikationsbeziehung nachträglich abzusichern ist. The invention also offers the possibility that the steps described above for establishing a secure communication in practical implementation can also be carried out in the event that there is already an existing communication relationship between the first network device and the second network device, and subsequently hedge this existing communication relationship is.
Auf der ersten Netzwerkeinrichtung sind ein erstes Verarbeitungsmittel V1, ein erstes Kommunikationsmittel K1 und ein erstes sicheres Kommunikationsmittel sK1 gezeigt und auf der zweiten Netzwerkeinrichtung ein zweites Verarbeitungsmittel V2, ein zweites Kommunikationsmittel K2 und ein zweites sicheres Kommunikationsmittel sK2. Eine ungesicherte Kommunikationsverbindung erfolgt somit insbesondere über die Kommunikationsmittel K1 und K2. Insbesondere die Verarbeitungsmittel V1, V2 und die sicheren Kommunikationsmittel sK1, sK2 können Hardware- und/oder Softwarekomponenten umfassen. Bei einer hardwaretechnischen Umsetzung kann das jeweilige Mittel ganz oder teilweise als Vorrichtung oder als Teil einer Vorrichtung, zum Beispiel als Computer oder als Mikroprozessor ausgebildet sein. Bei einer softwaretechnischen Umsetzung kann das jeweilige Mittel ganz oder teilweise als Computerprogrammprodukt, als eine Funktion, als eine Routine, als Teil eines Programmcodes oder als ausführbares Objekt ausgebildet sein. Insbesondere zur Durchführung eines Verfahrens nach der Erfindung, sind die Verarbeitungsmittel V1 und V2, die Kommunikationsmittel K1 und K2 sowie die sicheren Kommunikationsmittel sK1 und sK2 zweckmäßig, wie nachfolgend ausgeführt, eingerichtet. On the first network device a first processing means V1, a first communication means K1 and a first secure communication means sK1 are shown and on the second network means a second processing means V2, a second communication means K2 and a second secure communication means sK2. An unsecured communication connection thus takes place in particular via the communication means K1 and K2. In particular, the processing means V1, V2 and the secure communication means sK1, sK2 may comprise hardware and / or software components. In a hardware implementation, the respective means may be wholly or partly designed as a device or as part of a device, for example as a computer or as a microprocessor. In a software implementation, the respective means can be used in whole or in part as Computer program product, be designed as a function, as a routine, as part of a program code or as an executable object. In particular for carrying out a method according to the invention, the processing means V1 and V2, the communication means K1 and K2 and the secure communication means sK1 and sK2 are expediently set up, as explained below.
Das erste Verarbeitungsmittel V1 ist zunächst eingerichtet zum Erzeugen eines Datensatzes, der wenigstens eine Zufallszahl Ni enthält, und das erste Kommunikationsmittel K1 zum Senden von der ersten Netzwerkeinrichtung an die zweite Netzwerkeinrichtung einer ersten Nachricht, die diesen Datensatz und zumindest eine Identitätskennung IDi der ersten Netzwerkeinrichtung enthält. The first processing means V1 is first set up to generate a data record containing at least one random number Ni, and the first communication means K1 for sending from the first network device to the second network device of a first message containing this data record and at least one identity identifier IDi of the first network device ,
Das zweite Verarbeitungsmittel V2 ist eingerichtet zum Erzeugen eines Datensatzes, der wenigstens eine Zufallszahl Nr enthält, und das zweite Kommunikationsmittel K2 zum Senden von der zweiten Netzwerkeinrichtung an die erste Netzwerkeinrichtung einer zweiten Nachricht, die diesen Datensatz und zumindest eine Identitätskennung IDr der zweiten Netzwerkeinrichtung enthält. The second processing means V2 is arranged to generate a data record containing at least a random number Nr and the second communication means K2 to send from the second network device to the first network device of a second message containing this data record and at least one identity identifier IDr of the second network device.
Die Kommunikationsmittel K1 und K2 sind darüber hinaus zweckmäßig auch zum Empfangen von Nachrichten, die über das Kommunikationsmittel K2 bzw. K1 gesendet worden sind, geeignet eingerichtet. The communication means K1 and K2 are also suitably set up to receive messages sent via the communication means K2 or K1.
Ferner ist das erste Verarbeitungsmittel V1 eingerichtet, zum Ausführen eines ersten Algorithmus A1 zum Erzeugen eines Datensatzes, der eine erste Signatur AuthI enthält, und zwar unter Verwendung eines ersten Geheimnisses Pw und von zu signierenden Daten, wobei das erste Verarbeitungsmittel V1 eingerichtet ist, diese zu signierenden Daten aus einem ersten Nachrichtenteil der ersten Nachricht M1 und einem zweiten Nachrichtenteil der zweiten Nachricht M2 zusammenzusetzen. Das erste Kommunikationsmittel K1 ist ferner zum Senden einer dritten Nachricht M3 von der ersten Netzwerkeinrichtung an die zweite Netzwerkeinrichtung eingerichtet, die diesen erzeugten Datensatz enthält. Further, the first processing means V1 is arranged to execute a first algorithm A1 for generating a record containing a first signature AuthI using a first secret Pw and data to be signed, the first processing means V1 being arranged to compose signing data from a first message part of the first message M1 and a second message part of the second message M2. The first communication means K1 is further adapted to send a third message M3 from the first network device to the second network device containing this generated data set.
Das zweite Verarbeitungsmittel V2 ist ferner eingerichtet, zum Ausführen des ersten Algorithmus A1 zum Erzeugen eines Datensatzes, der eine zweite Signatur AuthI' enthält, und zwar unter Verwendung des ersten Geheimnisses Pw und von zu signierenden Daten, wobei das zweite Verarbeitungsmittel V2 eingerichtet ist, diese zu signierenden Daten aus dem gleichem ersten Nachrichtenteil der ersten Nachricht M1 und dem gleichem zweiten Nachrichtenteil der zweiten Nachricht M2 zusammenzusetzen, wie das erste Verarbeitungsmittel V1 bei der Erzeugung des die erste Signatur AuthI enthaltenen Datensatzes. Das zweite Verarbeitungsmittel V2 ist darüber hinaus eingerichtet zum Vergleichen des von der ersten Netzwerkeinrichtung erzeugten, die erste Signatur AuthI enthaltenen Datensatzes mit dem auf der zweiten Netzwerkeinrichtung erzeugten, die zweite Signatur AuthI' enthaltenen Datensatzes. The second processing means V2 is further adapted to execute the first algorithm A1 for generating a record containing a second signature AuthI 'using the first secret Pw and data to be signed, the second processing means V2 being arranged to assemble data to be signed from the same first message part of the first message M1 and the same second message part of the second message M2, as the first processing means V1 in the generation of the record containing the first signature AuthI. The second processing means V2 is furthermore set up for comparing the data record generated by the first network device and containing the first signature AuthI with the data record generated on the second network device and containing the second signature AuthI '.
Ferner ist das zweite Verarbeitungsmittel V2 eingerichtet, zum Ausführen eines zweiten Algorithmus A2 zum Erzeugen eines Datensatzes, der eine dritte Signatur AuthR enthält, unter Verwendung des ersten Geheimnisses Pw und von zu signierenden Daten, wobei das zweite Verarbeitungsmittel V2 eingerichtet ist, diese zu signierenden Daten aus einem dritten Nachrichtenteil der ersten Nachricht M1 und einem vierten Nachrichtenteil der zweiten Nachricht M2 zusammenzusetzen, wobei der dritte Nachrichtenteil ein anderer Nachrichtenteil als der erste Nachrichtenteil und/oder der vierte Nachrichtenteil ein anderer Nachrichtenteil als der zweite Nachrichtenteil ist, und wobei das zweite Kommunikationsmittel K2 ferner eingerichtet ist, zum Senden einer vierten Nachricht M4, enthaltend diesen erzeugten Datensatz, von der zweiten Netzwerkeinrichtung an die erste Netzwerkeinrichtung. Further, the second processing means V2 is arranged to execute a second algorithm A2 for generating a record containing a third signature AuthR, using the first secret Pw and data to be signed, the second processing means V2 being arranged to write these data to be signed from a third message part of the first message M1 and a fourth message part of the second message M2, wherein the third message part is a message part other than the first message part and / or the fourth message part is a message part other than the second message part, and wherein the second communication means K2 is further arranged to send a fourth message M4 containing this generated record from the second network device to the first network device.
Auch das erste Verarbeitungsmittel V1 ist eingerichtet zum Ausführen des zweiten Algorithmus A2 auf der ersten Netzwerkeinrichtung zum Erzeugen eines Datensatzes, der eine vierte Signatur AuthR' enthält, unter Verwendung des ersten Geheimnisses Pw und von zu signierenden Daten, wobei das erste Verarbeitungsmittel V1 ferner eingerichtet ist, diese zu signierenden Daten entsprechend der dritten Signatur AuthR aus dem gleichem dritten Nachrichtenteil der Nachricht M1 und dem gleichem vierten Nachrichtenteil der Nachricht M2 zusammenzusetzen, wie das zweite Verarbeitungsmittel V2 bei der Erzeugung des die dritte Signatur AuthR enthaltenen Datensatzes, und wobei das erste Verarbeitungsmittel V1 eingerichtet sind, zum Vergleichen des von der zweiten Netzwerkeinrichtung erzeugten, die dritte Signatur AuthR enthaltenen Datensatzes mit dem von der ersten Netzwerkeinrichtung erzeugten, die vierte Signatur AuthR' enthaltenen Datensatz. Also, the first processing means V1 is arranged to execute the second algorithm A2 on the first network device to generate a record containing a fourth signature AuthR 'using the first secret Pw and data to be signed, the first processing means V1 being further established to assemble these data to be signed according to the third signature AuthR from the same third message part of the message M1 and the same fourth message part of the message M2 as the second processing means V2 in the generation of the record containing the third signature AuthR, and wherein the first processing means V1 are set up for comparing the generated by the second network device, the third signature AuthR contained record with the generated by the first network device, the fourth signature AuthR 'contained record.
Sowohl das erste V1 und das zweite Verarbeitungsmittel V2 ist ferner eingerichtet zum Ausführen eines dritten Algorithmus A3, zum jeweiligen Erzeugen von einem gemeinsamen zweiten Geheimnis G unter Verwendung des ersten Geheimnisses Pw und zumindest einem der Datensätze, die die Zufallszahl Ni, die Zufallszahl Nr, erste Signatur AuthI, die zweite Signatur AuthI‘, die dritte Signatur AuthR oder die vierte Signatur AuthR‘ enthalten; Both the first V1 and the second processing means V2 are further arranged to execute a third algorithm A3 to respectively generate a common second secret G using the first secret Pw and at least one of the random number Ni, the random number Nr, first Signature AuthI, the second signature AuthI ', the third signature AuthR or the fourth signature AuthR' included;
Die ersten und zweiten sicheren Kommunikationsmittel sK1 und sK2 sind schließlich eingerichtet, zum Verwenden des gemeinsamen zweiten Geheimnisses G als gemeinsamen Schlüssel für eine sichere Kommunikation zwischen der ersten Netzwerkeinrichtung und der zweiten Netzwerkeinrichtung, d.h. insbesondere zum Authentisieren/Authentifizieren und/oder zur Ver- und Entschlüsselung von Datensätzen zur Durchführung einer sicheren Kommunikation. Das Senden und Empfangen entsprechend abgesicherter Datensätze kann in praktischer Umsetzung einrichtungsspezifisch dann auch über die sicheren Kommunikationsmittel sK1 und sK2 oder wiederum über die Kommunikationsmittel K1 und K2 erfolgen. The first and second secure communication means sK1 and sK2 are finally arranged to use the shared second secret G as a common key for one secure communication between the first network device and the second network device, ie in particular for authentication / authentication and / or for encryption and decryption of data records for performing secure communication. The transmission and reception of correspondingly secured data sets can then take place in a practical implementation device-specifically also via the secure communication means sK1 and sK2 or again via the communication means K1 and K2.
Wie bereits angeführt, sind folglich die Kommunikationsmittel K1 und K2 in praktischer Umsetzung auch zum Empfangen von Nachrichten, die über das Kommunikationsmittel K2 bzw. K1 gesendet worden sind, geeignet eingerichtet, d.h. insbesondere das Kommunikationsmittel K1 zumindest zum Empfangen der Nachrichten M2 und M4 sowie das Kommunikationsmittel K2 zumindest zum Empfangen der Nachrichten M1 und M3. Consequently, as already stated, the communication means K1 and K2 are also suitably arranged in practical implementation for receiving messages sent via the communication means K2 and K1, respectively. in particular the communication means K1 at least for receiving the messages M2 and M4 and the communication means K2 at least for receiving the messages M1 and M3.
Bei der Anordnung gemäß
Je nach spezifischer Ausbildung kann jedoch auch z.B. der erste Algorithmus, der zweite Algorithmus, der dritte Algorithmus, eine Vorschrift zur Ableitung eines auf dem ersten Geheimnis Pw basierenden Wertes und/oder eine Identifizierung von jeweiligen Nachrichtenteilen zur Erzeugung von Signaturen vom Server an den Client gesandt werden, welche dann z.B. im Speicherbereich S1a abgelegt werden. Auch im Speicherbereich S2a des Servers können z.B. das erste Geheimnis Pw, die Identitätskennung IDr sowie der erste, der zweite und der dritte Algorithmus A1, A2 und A3 jeweils dauerhaft gespeichert und/oder über eine Eingabeschnitte Es eingegeben werden. However, depending on the specific configuration, e.g. the first algorithm, the second algorithm, the third algorithm, a rule for deriving a value based on the first secret Pw and / or an identification of respective message parts for generating signatures are sent from the server to the client, which then e.g. be stored in the memory area S1a. Also in the memory area S2a of the server, e.g. the first secret Pw, the identity identifier IDr and the first, second and third algorithms A1, A2 and A3 are each stored permanently and / or entered via an input section Es.
Je nach spezifischer Ausbildung kann jedoch auch z.B. der erste Algorithmus, der zweite Algorithmus, der dritte Algorithmus, eine Vorschrift zur Ableitung eines auf dem ersten Geheimnis Pw basierenden Wertes, eine Identifizierung von jeweiligen Nachrichtenteilen zur Erzeugung von Signaturen und/oder eine Identitätskennung der zweiten Netzwerkeinrichtung vom Client an den Server gesandt werden, welche dann z.B. im Speicherbereich S1a abgelegt werden. However, depending on the specific configuration, e.g. the first algorithm, the second algorithm, the third algorithm, a rule for deriving a value based on the first secret Pw, an identification of respective message parts for generating signatures, and / or an identity identifier of the second network device are sent from the client to the server, which then eg be stored in the memory area S1a.
In den Speicherbereichen S1b und S2b des Clients bzw. des Servers können z.B. die Zufallszahlen Ni und Nr, das zweite Geheimnis G sowie die Signaturen AuthI, AuthR und AuthR‘ bzw. die Zufallszahlen Ni und Nr, das zweite Geheimnis G sowie die AuthI, AuthI‘ und AuthR für die jeweils benötigte abgelegt werden. In the memory areas S1b and S2b of the client or server, e.g. the random numbers Ni and Nr, the second secret G as well as the signatures AuthI, AuthR and AuthR 'or the random numbers Ni and Nr, the second secret G and the AuthI, AuthI' and AuthR are stored for the respectively required.
Auch die Identitätskennung Idi kann im Speicherbereich S2a oder S2b des Servers gespeichert sein bzw. abgelegt werden, zumindest, sofern je nach weiterer, nachfolgend noch beschriebener Ausführung das Verarbeitungsmittel V2 in der Lage sein soll, auf diese gegebenenfalls zurückgreifen kann. The identity identifier Idi can also be stored or stored in the memory area S2a or S2b of the server, at least if, depending on the further embodiment described below, the processing means V2 should be able to fall back on it.
Nochmals insbesondere mit Bezugnahme auf die
Die Bekanntmachung kann vor jedem Verbindungsaufbau geschehen, zum Beispiel, wenn an einer Netzwerkeinrichtung eine Eingabeeinheit bzw. Eingabeschnittstelle vorhanden ist und ein Benutzer der Netzwerkeinrichtung das Geheimnis Pw direkt vor dem Verbindungsaufbau eingibt. Die Bekanntmachung von Pw kann auch einmalig für mehrere oder alle nachfolgende Verbindungsaufbauten geschehen, wenn zum Beispiel die Netzwerkeinrichtung ein eingebettetes System im Feldeinsatz ist, bei deren Betrieb kein Benutzer vor Ort ist. Bei letzterem Beispiel kann das Geheimnis Pw z.B. auch in der Konfiguration der Netzwerkeinrichtung oder eines diese Netzwerkeinrichtung enthaltenen Gerätes enthalten sein. The announcement may be made prior to each connection setup, for example, if there is an input unit at a network device and a user of the network device enters the secret Pw immediately before the connection is established. Pw advertising may also be unique for several or all of the subsequent connection setups, for example, if the network device is an embedded system in the field where there is no user on site. In the latter example, the secret Pw may e.g. also be included in the configuration of the network device or a device containing this network device.
Insbesondere kann somit auf beiden Netzwerkeinrichtung das Geheimnis Pw vorab gespeichert werden oder auf der zweiten Netzwerkeinrichtung kann das Geheimnis Pw vorab gespeichert und auf der ersten Netzwerkeinrichtung das Geheimnis Pw durch einen Benutzer vor jedem Verbindungsaufbau eingegeben werden oder auf der zweiten Netzwerkeinrichtung kann das Geheimnis Pw vorab gespeichert und auf dem Client das Geheimnis Pw durch einen Benutzer vorab zur Verwendung für eine Menge folgender Verbindungsaufbauten eingegeben werden. In particular, the secret Pw can thus be stored in advance on both network devices or the secret Pw can be stored in advance on the second network device and the secret Pw can be entered on the first network device by a user before each connection establishment or on the second network device the secret Pw can be stored in advance and on the client, the secret Pw is pre-entered by a user for use with a set of the following connection setups.
Zunächst erzeugt der Client in einem bei
Dann verarbeitet der Server in einem bei
Falls der Server dem Verbindungsaufbau zustimmt, antwortet er in einem bei
In einem bei
In einem bei
Anschließend versendet der Server in einem bei
Alternative zweckmäßige Variationsmöglichkeiten in Bezug auf die Signaturen AuthI und AuthR können zum Beispiel sein:
- a) AuthI = Signatur von M1 und M2 sowie unter Verwendung von Pw und AuthR = Signatur von M1 und M2, jedoch ohne Nr sowie unter Verwendung von Pw;
- b) AuthI = Signatur von M1 und M2 jedoch ohne Nr sowie unter Verwendung von Pw und AuthR = Signatur von M1 und M2 sowie unter Verwendung von Pw;
- c) AuthI = Signatur von M1 und M2 sowie unter Verwendung von Pw und AuthR = Signatur von M1 jedoch ohne Ni und M2 sowie unter Verwendung von Pw;
- d) AuthI = Signatur von M1 jedoch ohne Ni und M2 sowie unter Verwendung von Pw und AuthR = Signatur von M1 und M2 sowie unter Verwendung von Pw.
- a) AuthI = signature of M1 and M2 and using Pw and AuthR = signature of M1 and M2, but without Nr and using Pw;
- b) AuthI = signature of M1 and M2 but without Nr as well as using Pw and AuthR = signature of M1 and M2 as well as using Pw;
- c) AuthI = signature of M1 and M2 and using Pw and AuthR = signature of M1 but without Ni and M2 as well as using Pw;
- d) AuthI = signature of M1 but without Ni and M2 and using Pw and AuthR = signature of M1 and M2 as well as using Pw.
Wesentlich im Rahmen besonders zweckmäßiger Ausführungen der Erfindung ist es, dass die Werte AuthI und AuthR nicht gleich sind. Andernfalls könnte ein Angreifer gegebenenfalls eine sehr einfache Attacke durchführen, wenn er die ausgetauschten Nachrichten manipulieren kann. Denn er würde zur Berechnung von AuthR ja nicht mehr das Geheimnis Pw benötigen, sondern setzt einfach den Wert von AuthI in die Nachricht M4 als Wert von AuthR ein. Es wäre dem Angreifer also insbesondere ohne Kenntnis von Pw möglich, vom ihm gewählte Inhalte für die Nachrichten M1 und M3 so zu bestimmen, dass vom Server keine Manipulation erkannt wird. Essential in the context of particularly expedient embodiments of the invention is that the values AuthI and AuthR are not the same. Otherwise, an attacker could possibly make a very simple attack if he can manipulate the exchanged messages. Because he would no longer need the secret Pw to calculate AuthR, but simply sets the value of AuthI in the message M4 as the value of AuthR. Thus, it would be possible for the attacker, in particular without knowledge of Pw, to be of the content selected for the messages M1 and M3 determine that the server does not detect tampering.
Aus den Signaturen AuthI und AuthR leiten Server und Client in bei
Als Varianten können anstatt der Signaturen AuthI und AuthR in den bei
Mögliche Variationen in Bezug auf die zweiten Geheimnisse können folglich zum Beispiel sein:
- a) G = Ausführen von A3 unter Verwendung von Pw, Ni, Nr;
- b) G = Ausführen von A3 unter Verwendung von Pw, AuthI, AuthR;
- c) G = Ausführen von A3 unter Verwendung von Pw, Ni, AuthR;
- d) G = Ausführen von A3 unter Verwendung von Pw, AuthI, Nr;
- a) G = performing A3 using Pw, Ni, Nr;
- b) G = execution of A3 using Pw, AuthI, AuthR;
- c) G = performing A3 using Pw, Ni, AuthR;
- d) G = execution of A3 using Pw, AuthI, Nr;
Erst nach dem erfolgreichen Absenden der Nachricht M4 beim Server beziehungsweise dem Empfangen der Nachricht M4 beim Client beginnen die Netzwerkeinrichtungen mit der Absicherung der nachfolgenden sicheren Kommunikation mithilfe der symmetrischen Schlüssel, die sie mit dem zweiten geteilten Geheimnis G erzeugt haben. Hierbei ist vorteilhaft, dass im Falle einer negativen Prüfung der Signatur AuthI durch den Server, der Server noch eine Antwort im Klartext mit der Ursachenbeschreibung an den Client senden kann. Only after the successful sending of the message M4 at the server or receiving the message M4 at the client, the network devices begin to secure the subsequent secure communication using the symmetric keys that they have generated with the second shared secret G. In this case, it is advantageous that in the case of a negative check of the signature AuthI by the server, the server can still send an answer in plain text with the cause description to the client.
Weil gemäß der Erfindung die Identifikation und Authentisierung/Authentifizierung in getrennten Schritten stattfindet bzw. eingeleitet wird, die Identifikation mit dem Austausch der Nachrichten M1 und M2, die Authentisierung/Authentifizierung mit dem Austausch der Nachrichten M3 und M4, können sehr leicht die Fehlerfälle unterschieden werden, die durch nicht passende Identitäten oder andererseits durch nicht identische Geheimnisse Pw entstehen. Because according to the invention the identification and authentication / authentication takes place in separate steps, the identification with the exchange of the messages M1 and M2, the authentication / authentication with the exchange of the messages M3 and M4, the error cases can be distinguished very easily which arise due to mismatched identities or otherwise due to non-identical secrets Pw.
Vorteilhaft ist an den separaten Authentisierungen/Authentifizierungen, welche Versand, Empfang und Verarbeitung der Nachrichten M3 oder M4 umfassen, dass durch die jeweilige Prüfung von AuthR und AuthI Client und Server sicher sind, dass sie im Besitz desselben Pw und derselben Werte von Ni und Nr sind. Folglich verwenden Sie für die nachfolgende Absicherung der Kommunikation denselben Wert für G und damit ist für Fehler bei der Prüfung der nachfolgenden Kommunikation (zum Beispiel deren Signaturen) keine fehlerhafte Authentisierung/Authentifizierung ursächlich, sondern stets ein Übertragungsfehler oder eine Manipulation. Folglich können diese Fehler unterschieden werden. Wie bereits vorstehend erwähnt, setzt nicht voraus, dass zwischen der ersten und zweiten Netzwerkeinrichtung noch keine Kommunikationsbeziehung besteht, bevor das Verfahren eingesetzt wird. Eine bereits vorhandene Kommunikationsbeziehung kann nachträglich durch das Anwenden des Verfahrens erfindungsgemäß abgesichert werden. It is advantageous for the separate authentications / authentications, which include sending, receiving and processing of the messages M3 or M4, that the respective check of AuthR and AuthI client and server is sure that they possess the same Pw and the same values of Ni and No are. Consequently, you use the same value for G for the subsequent protection of the communication and thus errors in the check of the subsequent communication (for example, their signatures) are not caused by incorrect authentication / authentication, but always a transmission error or a manipulation. Consequently, these errors can be distinguished. As already mentioned above, it does not assume that there is no communication relationship between the first and second network device before the method is used. An existing communication relationship can be hedged later by applying the method according to the invention.
Wie bereits vorstehend aufgezeigt, entstehen in Bezug auf das erste Geheimnis Pw darüber hinaus vorteilhafte Varianten, wenn während des gesamten Verbindungsaufbaus (d.h. für eine sichere Kommunikation) die Netzwerkeinrichtungen bei der Verwendung des ersten Geheimnisses anstelle von Pw einen aus Pw abgeleiteten Wert einsetzen, zum Beispiel einen Wert, welcher mittels einer HMAC(keyed-hash message authentication code)-Funktion oder einer Key-Derivation-Function aus Pw erzeugt wurde, beispielsweise mittels bereits erwähnter HMAC-MD5 oder der in RSA Laboratories,
Bei der Ableitung können in vorteilhafter Weise Merkmale einfließen, welche für das beabsichtigte Kommunikationsprotokoll individuell sind. Dieses erhöht die Sicherheit, wenn dasselbe Geheimnis bei einer Netzwerkeinrichtung für verschiedene Kommunikationsprotokolle verwendet werden soll. Besonders vorteilhaft ist die Verwendung von PBKDF2, wenn bei der ersten Netzwerkeinrichtung größere Ressourcen existieren, wie zum Beispiel ein schnelles Rechenwerk, und ein Benutzer das Geheimnis Pw eingibt und auf der zweiten Netzwerkeinrichtung nur der mittels PBKDF2 abgeleitete Wert gespeichert wird, weil dann auf der zweiten, ressourcenarmen Netzwerkeinrichtung wesentlich weniger Rechenarbeit anfällt, durch das Kopieren des aus Pw per PBKDF2 abgeleiteten Wertes aber nicht Pw zurückgewonnen werden kann. In the derivation can advantageously incorporate features that are individual to the intended communication protocol. This increases security if the same secret is to be used in a network setup for various communication protocols. The use of PBKDF2 is particularly advantageous when there are larger resources in the first network device, such as a fast arithmetic unit, and a user enters the secret Pw and only the value derived by PBKDF2 is stored on the second network device, because then on the second , resource-poor network device significantly less arithmetic work, can be recovered by copying the derived from Pw per PBKDF2 value but not Pw.
Folglich können die Netzwerkeinrichtungen im Rahmen der Erfindung bei der Verwendung des ersten Geheimnisses Pw anstelle von Pw auch einen aus Pw abgeleiteten Wert einsetzen, wobei bei der Ableitung Pw zweckmäßig mit einer Konstanten kombiniert wird, wobei die Konstante z.B. das nach dem Verbindungsaufbau verwendete Kommunikationsprotokoll identifiziert. Dies ist somit besonders vorteilhaft, wenn dieselben beiden Netzwerkeinrichtungen mit verschiedenen Protokollen kommunizieren und für jedes Protokoll jeweils eine sichere Verbindung nach den beschriebenen Verfahren aufbauen. Es können dann anstelle von Pw für jedes Kommunikationsprotoll unterschiedliche Geheimnisse abgeleitet und eingesetzt werden. Für einen Angreifer ist es folglich schwieriger, für das jeweilige Kommunikationsprotokoll das Geheimnis zu erraten. Thus, in the context of the invention, when using the first secret Pw instead of Pw, the network devices may also employ a value derived from Pw, where in the derivative Pw is suitably combined with a constant, the constant being e.g. identifies the communication protocol used after establishing the connection. This is thus particularly advantageous if the same two network devices communicate with different protocols and establish a secure connection for each protocol according to the methods described. Different secrets can then be deduced and used instead of Pw for each communication protocol. For an attacker, it is therefore more difficult to guess the secret for each communication protocol.
Alternativ kann im Rahmen der Erfindung zum Verbindungsaufbau für die sichere Kommunikation z.B. auch auf einer Netzwerkeinrichtung nicht das Geheimnis Pw selbst, sondern ein von ihm abgeleiteter Wert gespeichert werden, zum Beispiel ein Wert, der nach Anwendung einer Key-Derivation-Function auf Pw entsteht. Auf der anderen Netzwerkeinrichtung wird hingegen das Geheimnis Pw gespeichert oder vor jedem Verbindungsaufbau neu eingegeben und vor jeder Verwendung erneut ein abgeleiteter Wert errechnet und eingesetzt. Dies ist somit besonders vorteilhaft, wenn von zentraler Stelle mit demselben Geheimnis Pw auf viele verschiedene Netzwerkeinrichtungen oder diese beherbergenden Geräte zugegriffen werden soll und die Ableitung von Pw jeweils eine Netzwerk- und/oder Geräteidentität einbezieht. Denn dann ist es einem Angreifer, der eine dieser Netzwerkeinrichtungen oder eines dieser Gerät „stielt“ und der Ableitung des Geheimnisses Pw habhaft wird, trotzdem im Wesentlichen nicht möglich, anstelle der Zentrale auf die anderen Geräte zuzugreifen, weil sich aus der Ableitung des Geheimnisses Pw nicht das Geheimnis selbst bestimmen lässt, jedenfalls nur mit hohem Aufwand. Alternatively, in the context of the invention for connection establishment for secure communication e.g. Also stored on a network device not the secret Pw itself, but a value derived from it, for example, a value that arises after applying a key-derivation function on Pw. On the other network device, on the other hand, the secret Pw is stored or reentered before each call is established, and before each use, a derived value is again calculated and used. This is thus particularly advantageous if a number of different network devices or devices accommodating them are to be accessed from a central location with the same secret Pw and the derivation of Pw in each case incorporates a network and / or device identity. Because then it is an attacker who "steals" one of these network devices or one of these devices and gets hold of the derivative of the secret Pw, but essentially not possible to access the other devices instead of the control center, because the derivation of the secret Pw do not let the secret determine itself, at least only with great effort.
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- DE 102012220990 B3 [0016, 0016, 0034, 0051] DE 102012220990 B3 [0016, 0016, 0034, 0051]
Zitierte Nicht-PatentliteraturCited non-patent literature
- "RFC 5996 Internet Key Exchange Protocol Version 2“, C. Kaufmann, P. Hoffmann, Y. Nir and P. Eronen; The Internet Engineering Task Force (IETF), 2010 [0010] "RFC 5996 Internet Key Exchange Protocol Version 2", C. Kaufmann, P. Hoffmann, Y. Nir and P. Eronen; The Internet Engineering Task Force (IETF), 2010 [0010]
- „RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2", T. Dierks und E. Rescorla; The Internet Engineering Task Force, 2008 [0021] "RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2", T. Dierks and E. Rescorla; The Internet Engineering Task Force, 2008 [0021]
- „RFC 4279 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", P. Eronen und H. Tschofenig, The Internet Engineering Task Force [0031] "RFC 4279 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", P. Eronen and H. Tschofenig, The Internet Engineering Task Force [0031]
- "OPC Unified Architecture Part 2: Security Model", 2009 [0035] "OPC Unified Architecture Part 2: Security Model", 2009 [0035]
- „OPC Unified Architecture Part 4: Services", 2009 [0035] "OPC Unified Architecture Part 4: Services", 2009 [0035]
- „OPC Unified Architecture Part 6: Mappings", 2009 [0035] "OPC Unified Architecture Part 6: Mappings", 2009 [0035]
- H. Krawczyk, M. Bellare and R. Canetti, "RFC 2104 – HMAC: Keyed-Hashing for Message Authentication," Internet Engineering Task Force (IETF), 1997 [0105] H. Krawczyk, M. Bellare and R. Canetti, "RFC 2104 - HMAC: Keyed Hashing for Message Authentication," Internet Engineering Task Force (IETF), 1997 [0105]
-
"PKCS #5 v2.0: Password-Based Cryptography Standard," 1999 [0116] "
PKCS # 5 v2.0: Password-Based Cryptography Standard," 1999 [0116]
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016106602.8A DE102016106602A1 (en) | 2016-04-11 | 2016-04-11 | Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016106602.8A DE102016106602A1 (en) | 2016-04-11 | 2016-04-11 | Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102016106602A1 true DE102016106602A1 (en) | 2017-10-12 |
Family
ID=59929895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102016106602.8A Withdrawn DE102016106602A1 (en) | 2016-04-11 | 2016-04-11 | Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102016106602A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023160916A1 (en) * | 2022-02-22 | 2023-08-31 | Mercedes-Benz Group AG | Method for securely negotiating symmetric keys between two participants of a communication |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120611A1 (en) * | 2000-11-01 | 2003-06-26 | Kenji Yoshino | Content distribution system and content distribution method |
DE102012220990B3 (en) | 2012-11-16 | 2014-01-23 | Siemens Aktiengesellschaft | Method and arrangement for secure communication between network devices in a communication network |
US20140149742A1 (en) * | 2012-11-28 | 2014-05-29 | Arnold Yau | Method and system of providing authentication of user access to a computer resource via a mobile device using multiple separate security factors |
-
2016
- 2016-04-11 DE DE102016106602.8A patent/DE102016106602A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030120611A1 (en) * | 2000-11-01 | 2003-06-26 | Kenji Yoshino | Content distribution system and content distribution method |
DE102012220990B3 (en) | 2012-11-16 | 2014-01-23 | Siemens Aktiengesellschaft | Method and arrangement for secure communication between network devices in a communication network |
US20140149742A1 (en) * | 2012-11-28 | 2014-05-29 | Arnold Yau | Method and system of providing authentication of user access to a computer resource via a mobile device using multiple separate security factors |
Non-Patent Citations (14)
Title |
---|
"OPC Unified Architecture Part 2: Security Model", 2009 |
"PKCS #5 v2.0: Password-Based Cryptography Standard," 1999 |
"RFC 5996 Internet Key Exchange Protocol Version 2", C. Kaufmann, P. Hoffmann, Y. Nir and P. Eronen; The Internet Engineering Task Force (IETF), 2010 |
„OPC Unified Architecture Part 4: Services", 2009 |
„OPC Unified Architecture Part 6: Mappings", 2009 |
„RFC 4279 Pre-Shared Key Ciphersuites for Transport Layer Security (TLS)", P. Eronen und H. Tschofenig, The Internet Engineering Task Force |
„RFC 5246 The Transport Layer Security (TLS) Protocol Version 1.2", T. Dierks und E. Rescorla; The Internet Engineering Task Force, 2008 |
Dierks, T, u.a.: RFC 5246, The Transport Layer Security (TLS) Protocol Version 1.2, Internet Engineering Task Force, 2008. * |
Eronen, P, u.a.: RFC 4279, Pre-Shared Key Ciphersuites for Transport Layer Security (TLS), Internet Engineering Task Force, 2005. * |
H. Krawczyk, M. Bellare and R. Canetti, "RFC 2104 – HMAC: Keyed-Hashing for Message Authentication," Internet Engineering Task Force (IETF), 1997 |
Kaufmann, C., u.a.: RFC 5996, Internet Key Exchange Protocol Version 2 (IKEv2), Internet Engineering Task Force (IETF), 2010. * |
Norm DIN EN 62541-2 2008-12-00. OPC Unified Architecture – Teil 2: Modell für die IT-Sicherheit. * |
Norm DIN EN 62541-4 2015-10-00. OPC Unified Architecture – Teil 4: Dienste. * |
Norm DIN EN 62541-6 2015-11-00. OPC Unified Architecture – Teil 6: Protokollabbildungen. * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023160916A1 (en) * | 2022-02-22 | 2023-08-31 | Mercedes-Benz Group AG | Method for securely negotiating symmetric keys between two participants of a communication |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
LU93024B1 (en) | Method and arrangement for establishing secure communication between a first network device (initiator) and a second network device (responder) | |
EP0472714B1 (en) | Process for authenticating a user using a data station | |
DE69633590T2 (en) | Procedure for signature and session key generation | |
DE102018216915A1 (en) | System and method for secure communications between controllers in a vehicle network | |
EP1793525B1 (en) | Method for changing the group key in a group of network elements in a network | |
EP1308017B1 (en) | Method of key exchange for a cryptographic secure point to multipoint connection | |
DE102009037469A1 (en) | Update and distribution of encryption keys | |
DE102015214267A1 (en) | Method and system for creating a secure communication channel for terminals | |
DE112015002927B4 (en) | Password-based secret encryption key generation and management | |
EP3562115A1 (en) | Protected transmission of data using post-quantum cryptography | |
EP2656535B1 (en) | Cryptographic method | |
EP2929648A1 (en) | Method for setting up a secure connection between clients | |
DE102020003739A1 (en) | Procedure for the distribution and negotiation of key material | |
EP3157192A1 (en) | Method and system for asymmetric key derivision | |
DE102018202176A1 (en) | Master-slave system for communication via a Bluetooth low-energy connection | |
EP3220575B1 (en) | Method for establishment of secure communication between a client and a server | |
DE102016106602A1 (en) | Method and device for establishing a secure communication between a first network device (initiator) and a second network device (responder) | |
EP3525414A1 (en) | Method for the encoded transmission of data on a cryptographically protected unencrypted communication link | |
DE102015208899A1 (en) | Apparatus and method for flexibly generating cryptographic private keys and device with flexibly generated cryptographic private keys | |
DE102014212443A1 (en) | Reduction of memory requirements for cryptographic keys | |
EP3050244B1 (en) | Provision and use of pseudonymous keys in hybrid encryption | |
DE10216396A1 (en) | Authentication of participating cryptographic instances involves second instance decoding challenge, comparing serial numbers, sending random number from challenge to first instance for comparison | |
DE102022000638B9 (en) | Method for securely negotiating symmetrical keys between two participants in a communication | |
DE102021000645B3 (en) | Procedure for checking cryptographic secrets for equality | |
EP3955511B1 (en) | Secure data transmission within a qkd network node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R120 | Application withdrawn or ip right abandoned |