DE102017210721A1 - Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer - Google Patents
Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer Download PDFInfo
- Publication number
- DE102017210721A1 DE102017210721A1 DE102017210721.9A DE102017210721A DE102017210721A1 DE 102017210721 A1 DE102017210721 A1 DE 102017210721A1 DE 102017210721 A DE102017210721 A DE 102017210721A DE 102017210721 A1 DE102017210721 A1 DE 102017210721A1
- Authority
- DE
- Germany
- Prior art keywords
- tls
- server
- session state
- client computer
- state information
- 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/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
- H04L9/0841—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Die Erfindung betrifft im Wesentlichen ein Verfahren zum effizienten Aufbau einer sicheren Datenverbindung zwischen einem TLS-Client-Rechner und mindestens einem TLS-Server-Rechner mit Anwendungsprogrammen, bei dem sich der Client-Rechner zunächst bei einem Server-Rechner für Identifikation und Zugriffsmanagement authentifiziert, bei dem der Server-Rechner für Identifikation und Zugriffsmanagement nach der Authentifizierung eine codierte TLS-Sitzungszustandsinformation an den TLS-Client-Rechner als Token sendet, bei dem der TLS-Client-Rechner die TLS-Sitzungszustandsinformation decodiert und auf dem TLS-Client-Rechner einen entsprechenden Sitzungszustand herstellt und bei dem über einen TLS-Handshake zwischen dem TLS-Client-Rechner und dem mindestens einen TLS-Server-Rechner mit Anwendungsprogrammen mit einer Authentifizierung und einer gegenseitigen Schlüsselvergabe, auf Basis der TLS-Sitzungszustands-information eine TLS-Sitzungswiederaufnahme bewirkt und eine entsprechende kryptographisch geschützte Datenverbindung aufgebaut wird. Hiermit kann die Verbindungsaufbauzeit für die jeweiligen IoT Dienste und der Energieaufwand für Kommunikation, Authentisierung und Schlüsselvereinbarung reduziert werden. Eine Trennung der Authentisierung und Autorisierung für den Service Zugang von der eigentlichen Sicherheit des Kommunikationskanals ist insbesondere bei der Verwendung von eingebetteten Systemen, z.B. im Kontext IoT, vorteilhaft. Das Verfahren eignet sich insbesondere für einfache, z. B. batteriebetriebene Geräte in industriellen Anwendungsszenarien. The invention essentially relates to a method for the efficient establishment of a secure data connection between a TLS client computer and at least one TLS server computer with application programs, in which the client computer first authenticates itself to a server computer for identification and access management, wherein the authentication and access management server computer after authentication sends encoded TLS session state information to the TLS client computer as a token in which the TLS client computer decodes the TLS session state information and on the TLS client computer establishes a corresponding session state and in which, via a TLS handshake between the TLS client computer and the at least one TLS server computer with application programs with an authentication and a mutual key assignment, based on the TLS session state information, a TLS session resumption causes and a corresponding kryp tographically protected data connection is established. This can reduce the connection establishment time for the respective IoT services and the energy consumption for communication, authentication and key agreement. A separation of the authentication and authorization for the service access from the actual security of the communication channel is particularly advantageous when using embedded systems, eg in the context of IoT. The method is particularly suitable for simple, z. B. battery-powered devices in industrial application scenarios.
Description
Die Erfindung betrifft ein Verfahren zum effizienten Aufbau einer sicheren Datenverbindung, bei dem ein Zugriff von einem Client-Rechner auf einen Internet-Dienst mit einer Serverseitigen TLS-Authentisierung erfolgt und bei dem sich der Client mit einem von einem IAM-Dienst ausgestellten Token authentisiert.The invention relates to a method for the efficient establishment of a secure data connection, in which an access from a client computer to an Internet service takes place with a server-side TLS authentication and in which the client authenticates itself with a token issued by an IAM service.
Ein Zugriff von einem Client-Rechner, z.B. einem IoT-Device, auf einen Internet-Service erfolgt üblicherweise mit einer Server-seitigen TLS-Authentisierung und der Client authentisiert sich unabhängig von TLS mit einem Token, z.B. einem JSON Web Token, das von einem IAM-Dienst ausgestellt wurde.An access from a client machine, e.g. an IoT device, an Internet service is usually done with a server side TLS authentication and the client authenticates with a token, e.g. a JSON Web token issued by an IAM service.
„TLS“ bedeutet Transport Layer Security und ist ein hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet, das auch unter der Vorgängerbezeichnung Secure Sockets Layer (SSL) bekannt ist. „IAM“ bedeutet Identity and Access Management in der Computer Sicherheit, dass die richtigen Individuen auf die richtigen Ressourcen zur richtigen Zeit und mit der richtigen Begründung zugreifen können. Ein „JSON Web Token (JWT)“ ist ein auf JSON basiertes und nach RFC 7519 genormtes Access-Token. JSON Web Token (JWT) ist ein kompaktes, URL-sicheres Mittel zum Repräsentieren von Claims, die zwischen zwei Parteien zu übertragen sind. Es dient zum Verifizieren von Claims."TLS" means Transport Layer Security and is a hybrid encryption protocol for secure data transmission over the Internet, which is also known under its predecessor Secure Sockets Layer (SSL). "IAM" means identity and access management in computer security that allows the right individuals to access the right resources at the right time and with the right rationale. A "JSON Web Token (JWT)" is a JSON based and according to RFC 7519 standardized access token. JSON Web Token (JWT) is a lightweight, URL-safe means of representing claims to be transferred between two parties. It is used to verify claims.
Die Client-Authentisierung erfolgt dabei üblicherweise über ein HTTP-Protokoll. Der Client überträgt das Client-Token bei HTTP-Anfragen (HTTP Request). Typischerweise wird dabei die HTTP-Anfrage, die ein Client-Token enthält, über das TLS-Protokoll geschützt übertragen und ist dadurch der HTTPS-Anfrage manipulationsgeschützt zuordenbar). Hierbei wird neben dem klassischen Ansatz einer unilateralen Server-Authentisierung auch eine clientbasierte Authentisierung und Autorisierung mit genutzt, die z.B. out-of-band oder aber über einen anderen Kommunikationskanal unabhängig von dem TLS-Verbindungsaufbau stattgefunden hat. Der Netzwerkzugang kann dabei z.B. über Ethernet, WLAN oder ein Mobilfunknetz erfolgen. In diesem Umfeld besteht ein Bedarf an einer verbesserten Authentisierung. Insbesondere besteht ein Bedarf, eine im Internet-Umfeld bewährte Art der Client-Authentisierung gegenüber Internet-Diensten insbesondere für einfache, z.B. batteriebetriebene Geräte zu verbessern.The client authentication is usually done via an HTTP protocol. The client transmits the client token for HTTP requests. Typically, the HTTP request, which contains a client token, is transmitted protected by the TLS protocol and can therefore be assigned to the HTTPS request tamper-proof). Here, in addition to the traditional approach of unilateral server authentication, client-based authentication and authorization is also used, e.g. out-of-band or over another communication channel, regardless of the TLS connection setup. The network access can be e.g. via Ethernet, WLAN or a mobile network. In this environment, there is a need for improved authentication. In particular, there is a need to provide an Internet-aware type of client authentication to Internet services, particularly for simple, e.g. to improve battery powered devices.
Es ist bekannt, den Zugriff auf Internet-Dienste mit einer Server-seitiger TLS-Authentisierung und einer auf JSON-Web-Token (JWT) basierenden Client-Authentisierung zu schützen. Ein Server wird hierbei durch ein digitales Zertifikat authentisiert (einseitige TLS-Authentisierung). Der Client kann sich dann in einem Applikationsprotokoll authentisieren, z.B. durch ein Passwort (z.B. HTTP Digest) oder durch ein Security-Token (JSON Web Token), das er als Teil einer HTTP- oder CoAP-Nachricht überträgt. Das Security-Token wird dabei von einem IAM-Server nach erfolgreicher Client-Authentisierung gegenüber dem IAM-Server bereitgestellt. Eine derartige Lösung ist im Internet weit verbreitet. Sie ist jedoch nur nutzbar, wenn der IAM-Server für die entsprechende Client Anfrage verfügbar ist. Daher ist ein solcher Lösungsansatz in industriellen Anwendungsszenarien nicht immer anwendbar.It is known to protect access to Internet services with server side TLS authentication and JSON web token (JWT) based client authentication. A server is authenticated by a digital certificate (one-sided TLS authentication). The client can then authenticate in an application protocol, e.g. by a password (e.g., HTTP Digest) or by a security token (JSON Web Token), which it transmits as part of an HTTP or CoAP message. The security token is provided by an IAM server after successful client authentication against the IAM server. Such a solution is widely used on the Internet. However, it is only usable if the IAM server is available for the corresponding client request. Therefore, such an approach is not always applicable in industrial application scenarios.
Bekannt sind Verfahren zur Authentisierung und Autorisierung zwischen zwei Kommunikationsteilnehmern. Diese Szenarien sind typische Webszenarien, bei denen ein Client direkt auf einen Server zugreift.Are known methods for authentication and authorization between two communication participants. These scenarios are typical Web scenarios in which a client accesses a server directly.
Das TLS-Protokoll (RFC 5246) beschreibt Möglichkeiten zur serverseitigen Authentisierung oder auch beiderseitigen (Client/Server) währen der Aushandlung der Sicherheitsparameter für eine Session. TLS ist generell erweiterbar im Sinne des Handshakes, aber auch im Record Layer.The TLS protocol (RFC 5246) describes options for server-side authentication or even mutual (client / server) during the negotiation of the security parameters for a session. TLS is generally expandable in terms of the handshake, but also in the record layer.
„TLS-Extensions“, beschreibt den generellen Ansatz den TLS Handshake zu erweitern, sowie einige konkrete Erweiterungen."TLS Extensions", describes the general approach to extend the TLS handshake, as well as some concrete extensions.
Ein sogenanntes „Client session state ticket“ ist im RFC 5077 beschrieben (https://tools.ietf.org/html/rfc5077) und ermöglicht das Auslagern des Security States des TLS Servers an den Client, um den Verbindungsaufbau unter Nutzung von Session Resumption zu beschleunigen und insbesondere die gehaltene Datenmenge zu schon gelaufenen Sessions auf dem TLS Server zu reduzieren.A so-called "client session state ticket" is described in RFC 5077 (https://tools.ietf.org/html/rfc5077) and enables the outsourcing of the security state of the TLS server to the client in order to establish a connection using session resumption in particular, to reduce the amount of data held to already running sessions on the TLS server.
„Kerberos TLS“ (https://tools.ietf.org/html/rfc2712) definiert die Nutzung von Kerberos Tickets in TLS zur Authentisierung von Client und Server. Voraussetzung ist eine Sicherheitsbeziehung zwischen TLS Server und Kerberos Server, Um die Server spezifischen Tickets mit einem gemeinsamen Geheimnis zu schützen. Der Client fordert von Kerberos-Server ein Ticket und benutzt dieses im TLS Handshake, um das premaster Secret zu etablieren."Kerberos TLS" (https://tools.ietf.org/html/rfc2712) defines the use of Kerberos tickets in TLS to authenticate client and server. The prerequisite is a security relationship between TLS Server and Kerberos Server, in order to protect server-specific tickets with a shared secret. The client requests a ticket from Kerberos server and uses it in the TLS handshake to establish the premaster secret.
„EAP-TLS“ (https://tools.ietf.org/html/rfc5216) definiert ein Verfahren, bei dem TLS zur Authentisierung in EAP getunnelt wird. Hierbei kann beiderseitige Authentisierung und auch eine Schlüsselaushandlung für potentiell weitere Dienste realisiert werden. "EAP-TLS" (https://tools.ietf.org/html/rfc5216) defines a procedure in which TLS is tunneled for authentication in EAP. In this case, mutual authentication and also a key negotiation for potentially additional services can be realized.
Das „Token Binding Protocol“,
(https://tools.ietf.org/html/draft-ietf-tokbind-protocol-11) definiert Erweiterungen, um langlebige Token an TLS Sessions zu binden. Diese langlebigeren Tokens sind im Wesentlichen asymmetrische Schlüsselpaare die vom Client erzeugt werden. Dabei können Token etabliert werden, die mit demselben Server genutzt werden. Es ist jedoch auch möglich Token zu generieren, die mit anderen Servern genutzt werden.The "Token Binding Protocol",
(https://tools.ietf.org/html/draft-ietf-tokbind-protocol-11) defines extensions to bind long-lived tokens to TLS sessions. These more durable tokens are essentially asymmetric key pairs generated by the client. It can be established tokens that are used with the same server. However, it is also possible to generate tokens that are used with other servers.
Ferner sind folgende Verfahren zur Authentisierung und Autorisierung zwischen zwei Kommunikationsteilnehmern über einen Dritten, also einen weiteren Server, bekannt:
EAP-TTLS (https://tools.ietf.org/html/rfc5281) definiert ein Verfahren, bei dem TLS zur Authentisierung durch EAP bis zu einem Access Server getunnelt wird. Hierbei kann beiderseitige Authentisierung und auch eine Schlüsselaushandlung für potentiell weitere Dienste realisiert werden.Furthermore, the following methods for authentication and authorization between two communication participants via a third party, so another server known:
EAP-TTLS (https://tools.ietf.org/html/rfc5281) defines a procedure in which TLS is tunneled up to an Access Server for authentication by EAP. In this case, mutual authentication and also a key negotiation for potentially additional services can be realized.
„JSON Web Token“ bzw. „JWT“
(https://tools.ietf.org/html/rfc7519) beschreibt einen generischen Ansatz Claims als JSON Objekte zu beschreiben. Dies können dann durch JWS (Signature) und JWE (Encryption) geschützt werden. Ein JWT besteht aus 3 Fragmenten, die durch einen „.“ Getrennt sind: Header.Payload.Signature."JSON Web Token" or "JWT"
(https://tools.ietf.org/html/rfc7519) describes a generic approach to describe claims as JSON objects. These can then be protected by JWS (Signature) and JWE (Encryption). A JWT consists of 3 fragments separated by a ".": Header.Payload.Signature.
Aus der Patentanmeldung
Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin, ein Verfahren und ein Kommunikationssystem zum effizienten Aufbau einer sicheren Datenverbindung zwischen einem Client-Rechner und einem Server-Rechner anzugeben, bei dem die oben genannten Nachteile vermieden werden und bei dem die Verbindungslaufzeit für die Server-Dienste und der Energiebedarf für Kommunikation, Authentisierung und Schlüsselvereinbarung reduziert werden.The object underlying the invention is now to provide a method and a communication system for efficiently establishing a secure data connection between a client computer and a server computer, in which the above-mentioned disadvantages are avoided and in which the connection time for the server Services and energy needs for communication, authentication and key agreement.
Diese Aufgabe wird hinsichtlich des Verfahrens durch die Merkmale des Patentanspruchs 1 und hinsichtlich des Kommunikationssystems durch die Merkmale des Patentanspruchs 5 erfindungsgemäß gelöst. Die weiteren Ansprüche betreffen bevorzugte Ausgestaltungen der Erfindung.This object is achieved in terms of the method by the features of claim 1 and in terms of the communication system by the features of claim 5 according to the invention. The further claims relate to preferred embodiments of the invention.
Die Erfindung betrifft im Wesentlichen ein Verfahren zum effizienten Aufbau einer sicheren Datenverbindung zwischen einem TLS-Client-Rechner und mindestens einem TLS-Server-Rechner mit Anwendungsprogrammen, bei dem sich der Client-Rechner zunächst bei einem Server-Rechner für Identifikation und Zugriffsmanagement (IAM Server) authentifiziert, bei dem der Server-Rechner für Identifikation und Zugriffsmanagement nach der Authentifizierung eine codierte TLS-Sitzungszustandsinformation an den TLS-Client-Rechner als Token sendet, bei dem der TLS-Client-Rechner die TLS-Sitzungszustands-information decodiert und auf dem TLS-Client-Rechner einen entsprechenden Sitzungszustand herstellt und bei dem über einen TLS-Handshake zwischen dem TLS-Client-Rechner und dem mindestens einen TLS-Server-Rechner mit Anwendungsprogrammen mit einer Authentifizierung und einer gegenseitigen Schlüsselvergabe, auf Basis der TLS-Sitzungszustandsinformation eine TLS-Sitzungswiederaufnahme bewirkt und eine entsprechende kryptographisch geschützte Datenverbindung aufgebaut wird. In einer Variante wird dem Client weiterhin eine Zuordnungsinformation gesendet, die dem gesendeten Token eine Identifizierungsinformation des TLS-Server-Rechners zuordnet. Die Zuordnungsinformation kann z.B. eine IP-Adresse, ein DNS-Name oder eine URL sein. Dies ermöglicht dem TLS-Client-Rechner vor Verbindungsaufbau zu dem TLS-Server zu prüfen, dass das bereitgestellte Token tatsächlich dem angesprochenen TLS-Server-Rechner zugeordnet ist. Weiterhin kann der Server-Rechner für Identifikation und Zugriffsmanagement eine Mehrzahl von Token mit jeweils einer TLS-Server-Zuordnungsinformation bereitstellen. Weiterhin kann in einer Variante der TLS-Client-Rechner dem Server-Rechner für Identifikation und Zugriffsmanagement eine einzelne oder eine Mehrzahl von Identifizierungsinformationen von TLS-Server-Rechnern bereitstellen, für die jeweils ein Token angefordert wird.The invention essentially relates to a method for the efficient establishment of a secure data connection between a TLS client computer and at least one TLS server computer with application programs, in which the client computer first at a server computer for identification and access management (IAM Server), in which the authentication and access management server computer sends, after authentication, encoded TLS session state information to the TLS client computer as a token at which the TLS client computer decodes and asserts the TLS session state information the TLS client computer establishes a corresponding session state and in which a TLS handshake between the TLS client computer and the at least one TLS server computer with application programs with authentication and mutual key assignment, based on the TLS session state information causes a TLS session recovery and an appropriate appropriate cryptographically protected data connection is established. In a variant, the client is further sent a mapping information that assigns the sent token identification information of the TLS server computer. The assignment information may e.g. an IP address, a DNS name or a URL. This allows the TLS client computer before connecting to the TLS server to check that the provided token is actually assigned to the addressed TLS server computer. Furthermore, the server computer for identification and access management can provide a plurality of tokens, each with a TLS server allocation information. Furthermore, in a variant, the TLS client computer can provide the server computer for identification and access management with a single or a plurality of identification information from TLS server computers, for each of which a token is requested.
Im Wesentlichen wird der eigentliche Handshake zwischen dem Client und dem Server durch einen IAM-Server beeinflusst, in dem die Token-Information von diesem bereitgestellt wird. Hiermit kann die Verbindungsaufbauzeit für die jeweiligen IoT Dienste und der Energieaufwand für Kommunikation, Authentisierung und Schlüsselvereinbarung reduziert werden. Darüber hinaus kann auch eine zentral definierte Security Policy im Sinne der gewählten Verfahren und Schlüssel leichter konsistent durchgesetzt werden, da sowohl dem Client als auch dem Server die Parameter vorgegeben werden. Eine Trennung der Authentisierung und Autorisierung für den Service Zugang von der eigentlichen Sicherheit des Kommunikationskanals ist insbesondere bei der Verwendung von eingebetteten Systemen, z.B. im Kontext IoT, vorteilhaft. Das Verfahren eignet sich insbesondere für einfache, z. B. batteriebetriebene Geräte in industriellen Anwendungsszenarien.In essence, the actual handshake between the client and the server is affected by an IAM server in which the token information is provided by it. This can reduce the connection establishment time for the respective IoT services and the energy consumption for communication, authentication and key agreement. In addition, a centrally defined security Policy in terms of the chosen procedures and keys are enforced more easily consistent, since both the client and the server, the parameters are given. A separation of the authentication and authorization for the service access from the actual security of the communication channel is particularly advantageous when using embedded systems, eg in the context of IoT. The method is particularly suitable for simple, z. B. battery-powered devices in industrial application scenarios.
Nachfolgend wird die Erfindung anhand von in der Zeichnung dargestellten Ausführungsbeispielen näher erläutert.The invention will be explained in more detail with reference to embodiments shown in the drawing.
Dabei zeigt
-
1 ein Ablaufdiagramm zur Erläuterung des erfindungsgemäßen Verfahrens, -
2 eine Prinzipdarstellung zur Erläuterung der Bereitstellung eines 3rd Party Token für eine TLS Session Resumption und -
3 zeigt eine Prinzipdarstellung für ein Anwendungsbeispiel mit einem 5G-Mobilfunksystem und einem Netzzugangsserver mit einem Mobile Access Gateway und einem IAM-Server.
-
1 a flow chart for explaining the method according to the invention, -
2 a schematic diagram for explaining the provision of a 3rd party token for a TLS Session Resumption and -
3 shows a schematic diagram for an application example with a 5G mobile radio system and a network access server with a Mobile Access Gateway and an IAM server.
Das TLS-Protokoll bietet die Möglichkeit, eine früher bereits erfolgreich aufgebaute und wieder abgebaute Session erneut aufzubauen (Session Resumption). Dies ist effizienter als ein voll-ständiger erneuter Verbindungsaufbau.The TLS protocol offers the possibility of rebuilding a previously successfully established and degraded session (session resumption). This is more efficient than a full reconnect.
Dieses TLS-Feature - Session Resumption - wird üblicherweise auf zwei Arten genutzt:
- 1. Nativ nach RFC 5246 speichern TLS Client und Server den Session Status incl. der assoziierten Security Parameter. Erlaubt es die Security Policy des Servers, kann ein Client eine schon abgebaute Session mit dem Server basierend auf dem alten Sitzungskontext wieder aufbauen. Dabei wird ausgenutzt, dass beide Seiten auf den zuvor ausgehandelten Sitzungsschlüssel zugreifen können und damit eine Bindung an die erste Session existiert. Wird eine Session resumed, wird keine Authentisierung der beiden Seiten durchgeführt.
- 2. Mittels RFC 5077 kann ein TLS-Server den Session State auch in einem Ticket gesichert speichern und an den Client senden. Die Sicherung wird über eine Verschlüsselung des Tickets mit einem, nur dem Server bekannten, Key realisiert. Der Server sendet dieses Ticket an den Client und kann damit bei Abbau der Verbindung die zugehörigen Sitzungsschlüssel bzw. den kompletten Kontext der Verbindung löschen. Will der Client die Verbindung wieder re-etablieren, sendet er das Ticket an den Server, der dieses entschlüsselt und seinen Sitzungskontext wiederherstellt, sofern es seine Security Policy. Der RFC 5077 definiert dabei nicht das Format des Token, sondern nur seinen Inhalt.
- 1. Native to RFC 5246, TLS client and server store the session status including the associated security parameters. If the security policy of the server permits, a client can rebuild an already degraded session with the server based on the old session context. It is exploited that both sides can access the previously negotiated session key and thus a binding to the first session exists. If a session is resumed, no authentication of both sides is performed.
- 2. Using RFC 5077, a TLS server can store the session state in a ticket and send it to the client. The backup is realized by encrypting the ticket with a key known only to the server. The server sends this ticket to the client and can thus delete the associated session key or the complete context of the connection when disconnecting. If the client wants to re-establish the connection, it sends the ticket to the server, which decrypts it and restores its session context, as long as it has its security policy. The RFC 5077 does not define the format of the token, but only its content.
Bei diesen beiden im Stand der Technik bekannten Ansätzen wird auf einen existierenden Master Key aufgesetzt.These two approaches known in the art are based on an existing master key.
Der Vorteil bei beiden Ansätzen ist, dass auf die asymmetrischen Crypto-Operationen verzichtet werden kann und der
Bei der Erfindung wird eine alternative, flexible Variante genutzt, um einen „TLS Session State“ einzurichten.In the invention, an alternative, flexible variant is used to set up a "TLS session state".
Dass Feldgerätes FD authentifiziert sich beim Service IAM-Service und dieser Service sendet, bspw. einen JWT-codierten, TLS session state an das Feldgerät FD zurück. Das Feldgerät erhält dabei die TLS session state Informationen in einem für das Feldgerät decodierbarer Form (z.B. verschlüsselt mit einem Schlüssel zwischen dem Feldgerät und dem IAM Service) und in einer für den IoT Service decodierbaren Form (z.B. verschlüsselt mit einem Schlüssel zwischen dem IoT Service und dem IAM Service), der im Rahmen des TLS Handshakes vom Feldgerät and den IoT Service geschickt wird.The field device FD authenticates itself to the service IAM service and this service sends, for example, a JWT-coded, TLS session state back to the field device FD. The field device receives the TLS session state information in a form decodable for the field device (eg encrypted with a key between the field device and the IAM service) and in a form decodable for the IoT service (eg encrypted with a key between the IoT service and the IAM service), which is sent by the field device and the IoT service as part of the TLS handshake.
Der TLS Server session state kann optional auch noch an den Service IoT-Service gesendet werden. Der dem TLS-Server bereitgestellte TLS Server session state kann identisch zu dem den Feldgerät FD bereitgestellten Session State sein oder er kann diesem zugeordnet sein (aber z.B. anders formatiert sein oder Zusatzinformation aufweisen, wie z.B. dem Client zugeordnete Berechtigungen).The TLS server session state can optionally also be sent to the service IoT service. The TLS server session state provided to the TLS server can be identical to that of the field device FD be provided session state or he may be assigned to this (but eg be formatted differently or have additional information, such as the client assigned permissions).
Im Feldgerät FD wird der JWT-codierten TLS session state decodiert und zwischen dem Feldgerät FD und dem Service IoT-Service erfolgt dann ein TLS-Handshake mit Authentifikation und Schlüsselvereinbarung zur Sitzungswiederaufnahme (session resumption).In the field device FD, the JWT-coded TLS session state is decoded, and then between the field device FD and the service IoT service, a TLS handshake with authentication and key agreement for session resumption takes place.
Schließlich erfolgt zwischen dem Feldgerät FD und dem Service IoT-Service auf Basis von TLS ein kryptographisch geschützter Datenaustausch.Finally, a cryptographically protected data exchange takes place between the field device FD and the service IoT service based on TLS.
Dazu wird über ein Security-Token, insbesondere ein JSON Web-Token (JWT), ein TLS-Session-State-Information auf den TLS-Client gebracht. Dieser Security-Token wird dann verwendet, um eine TLS-Verbindung über den für sich bekannten Mechanismus „TLS Session Resumption“ aufzubauen. Dadurch muss das TLS-Protokoll selbst nicht erweitert oder angepasst werden. For this purpose, a TLS session state information is transferred to the TLS client via a security token, in particular a JSON web token (JWT). This security token is then used to establish a TLS connection via the "TLS Session Resumption" mechanism known per se. As a result, the TLS protocol itself does not have to be extended or adapted.
Ein Client-Knoten erhält also von dem IAM-Server, nach Authentisierung gegenüber einem IAM-Server, zumindest eine TLS-Session-State-Information für einen weiteren TLS-Server. Der Sitzungswiederaufnahmezustand (Session-Resumption-State) wird also nicht, wie im Stand der Technik, von dem eigentlichen TLS-Server selbst eingerichtet, sondern vom IAM-Server.A client node thus receives from the IAM server, after authentication with respect to an IAM server, at least one TLS session state information for another TLS server. The session resumption state (session resumption state) is therefore not, as in the prior art, set up by the actual TLS server itself, but by the IAM server.
Vorzugsweise erfolgt ein sogenanntes „Stateless TLS Session Resumption“ nach RFC5077, bei der TLS-Server IoT-Service keinen Zustand vorhalten muss, sondern den Server-State aus der vom Client bereitgestellten verschlüsselten SessionTicket-Information ermittelt.Preferably, a so-called "Stateless TLS Session Resumption" according to RFC5077, in which TLS server IoT service does not need to hold state, but determines the server state from the provided by the client encrypted SessionTicket information.
Die vom Client bereitgestellte SessionTicket-Information ist vorzugsweise in der JWT-codierten
Da eine TLS-Session State Information für eine TLS-Verbindung unabhängig von der TLS-Verbindung aufgebaut werden kann, auf die sich die Session-State-Information bezieht, wird eine höhere Flexibilität erreicht. Insbesondere kann ein IAM-Server für IoT-Knoten den Session State für eine oder für eine Vielzahl von TLS-Verbindungen zu IoT-Backend-Diensten einrichten. Dadurch werden die Verbindungsaufbauzeit und der Energieverbrauch auf dem IoT-Knoten reduziert.Since a TLS session state information for a TLS connection can be set up independently of the TLS connection to which the session state information relates, greater flexibility is achieved. In particular, an IoT server for IoT nodes may set the session state for one or a plurality of TLS connections to IoT backend services. This will reduce call setup time and power consumption on the IoT node.
Durch die Bereitstellung des Tokens durch den IAM Server kann auch zentral eine bestimmte Security Policy für den Schutz der Kommunikationsverbindungen durchgesetzt werden, da im Session State die benutzten Cipher Suites und Schlüssel enthalten sind.The provision of the token by the IAM server can also centrally enforce a specific security policy for the protection of the communication links, as the session state contains the used cipher suites and keys.
Ferner wird der Kommunikationsaufwand für einen TLS-Verbindungsaufbau reduziert. Dies ist insbesondere bei schmalbandigen Kommunikationstechnologien vorteilhaft (z.B. IEEE 802.15.4, 6LoWPAN, cellular IoT).Furthermore, the communication effort for a TLS connection setup is reduced. This is particularly advantageous in narrowband communication technologies (e.g., IEEE 802.15.4, 6LoWPAN, cellular IoT).
Schließlich wird weniger Energie für die Kommunikation und für die Authentisierung und Schlüsselvereinbarung benötigt, sodass der Stromverbrauch reduziert ist. Dies ist insbesondere bei IoT-Geräten vorteilhaft, die durch eine Batterie oder durch Energy Harvesting mit Strom versorgt werden.After all, less energy is needed for communication and for authentication and key agreement, reducing power consumption. This is particularly advantageous in IoT devices that are powered by a battery or by energy harvesting.
Das Backend-IAM-System kann als Server oder als Cloud-Dienst realisiert sein.The backend IAM system can be implemented as a server or as a cloud service.
Der Client
Nach erfolgreicher Anmeldung des Clients
After successful login of the client
Ist der Client
Im gezeigten Beispiel übernimmt der Netzzugangsserver
Ebenso kann der Netzzugangsserver
Ein Client C1 kann beispielsweise beim Aufbau des Netzwerkzugangs einen IPsec-Tunnel (VPN) zu einem Netzzugangsserver NZS aufbauen mittels eines MOBIKE-Authentisierungsprotokolls. Der Client C1 kann sich hierbei beispielsweise mittels EAP-TLS, EAP-AKA oder EAP-SIM innerhalb von MOBIKE authentisieren.For example, a client C1 can set up an IPsec tunnel (VPN) to a network access server NZS during the establishment of the network access by means of a MOBIKE authentication protocol. The client C1 can authenticate itself here for example by means of EAP-TLS, EAP-AKA or EAP-SIM within MOBIKE.
Optional können hier die Security-Token erfindungsgemäß über das MOBIKE-Protokoll dem Client
Ein IAM-Server oder ein separater Netzzugangsserver
Der Netzzugangsserver
Ein erstes Token T-C1-AS1, mit dem der Client
Ein zweites Token T-AS1-C1, mit dem der Applikationsserver
Dieses zweite Token kann im ersten Token enthalten sein oder separat bereitgestellt werden.This second token may be included in the first token or provided separately.
Die verwendeten Token sind typischerweise kodiert (ASN.1, XML, JWT, ...) und können optional über eine kryptographisch gesicherte Kommunikationsverbindung zwischen dem IAM-Server bzw. dem Netzzugangsserver
Optional können Token auch mit einem Endpunkt-spezifischen asymmetrischen Schlüssel verschlüsselt werden, z.B. T-C1-AS1 mit einem X.509 Zertifikat (unter Nutzung von Public-Key-Verschlüsselung, z.B. mittels RSA) des Clients C1 und der zweite Token T-AS1-C1 mit einem RSA-Zertifikat des Applikationsservers AP1. Weitere existierende Verfahren wie XMLDIGSig und XMLEnc können bei XML kodierten Token verwendet werden.Optionally, tokens can also be encrypted with an endpoint-specific asymmetric key, e.g. T-C1-AS1 with an X.509 certificate (using public-key encryption, for example by means of RSA) of the client C1 and the second token T-AS1-C1 with an RSA certificate of the application server AP1. Other existing methods such as XMLDIGSig and XMLEnc can be used with XML coded tokens.
Im Falle von JWT können Mechanismen wie JWE verwendet werden, um das Token zu verschlüsseln.In the case of JWT, mechanisms such as JWE can be used to encrypt the token.
Alternativ kann auch ein symmetrischer Schlüssel zur Verschlüsselung verwendet werden. Auch hierbei wird die Information mit endpunktspezifischen Schlüsseln gesichert.Alternatively, a symmetric encryption key can be used. Again, the information is backed up with endpoint-specific keys.
Will der Client nun eine Verbindung zum Applikationsserver
Im Anschluss kann der Client
Im folgenden wird eine Session Resumption in TLS über ein 3rd Party Token, Bsp. JWT, näher beschrieben, wobei nach RFC 5077 Session Resumption zwischen Client und Server auf Basis eines vom Server ausgestellten Token (Ticket) an sich bekannt ist.In the following, a session resumption in TLS via a 3rd party token, ex. JWT, described in more detail, which according to RFC 5077 session resumption between client and server based on a issued by the server token (ticket) is known per se.
Initialer Handshake (RFC 5077, Section 3.1):
Resumed Handshake (RFC 5077, Section 3.1):
RFC 5077 schlägt für den Token (Ticket) schon ein Format vor in Section 4 (Vorschlag, nicht spezifiziert):
struct { opaque key_name[16]; opaque iv[16]; opaque encrypted_state<0..2^16-1>; opaque mac[32]; } ticket;RFC 5077 already proposes a format for the token (ticket) in Section 4 (proposal, unspecified):
struct {struct opaque key_name [16]; opaque iv [16]; opaque encrypted_state <0..2 ^ 16-1>; opaque mac [32]; ticket;
Hierbei ist die eigentliche Information über den Sitzungskontext in encrypted_state kodiert.
struct { ProtocolVersion protocol_version; CipherSuite cipher suite; CompressionMethod compression method; opaque master secret[48]; ClientIdentity client_identity; uint32 timestamp; } StatePlaintext; enum { anonymous (0), certificate_based (1), psk(2) } ClientAuthenticationType; struct { ClientAuthenticationType client authentication_type; select (ClientAuthenticationType) { case anonymous: struct {}; case certificate based: ASN.1Cert certificate_list<0..2^24-1>; case psk: opaque psk_identity<0..2^16-1>; /* from [RFC4279] */ } ; } ClientIdentity;Here, the actual information about the session context is encoded in encrypted_state.
struct {struct Protocol Version protocol_version; CipherSuite cipher suite; CompressionMethod compression method; opaque master secret [48]; ClientIdentity client_identity; uint32 timestamp; } StatePlaintext; enum { anonymous (0), certificate_based (1), PSK (2) } ClientAuthenticationType; struct {struct ClientAuthenticationType client authentication_type; select (ClientAuthenticationType) { case anonymous: struct {}; case certificate based: ASN.1Cert certificate_list <0..2 ^ 24-1>; case psk: opaque psk_identity <0..2 ^ 16-1>; / * from [RFC4279] * / }; } ClientIdentity;
Der eigentliche Handshake zwischen dem Client C1 und dem Server AP1 bzw. AP2 wird erfindungsgemäß durch einen dritten Server NZS beeinflusst, in dem die Token-Information [T-AS1-C1] und [T-C1-AS1] von diesem bereitgestellt wird.The actual handshake between the client C1 and the server AP1 or AP2 is inventively influenced by a third server NZS, in which the token information [T-AS1-C1] and [T-C1-AS1] is provided by this.
Abweichend von RFC 5077 muss die Struktur des Tokens für alle Beteiligten bekannt sein, zumindest aber zwischen dem Netzzugangsserver und dem jeweiligen Kommunikationspartner. Das Token aus RFC 5077 wird vom Server generiert und auch wieder von ihm ausgewertet. Somit muss es nicht interoperabel sein.Deviating from RFC 5077, the structure of the token must be known to all parties involved, or at least between the network access server and the respective communication partner. The token from RFC 5077 is generated by the server and evaluated again by it. So it does not have to be interoperable.
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
- US 2012042160 A1 [0015]US 2012042160 A1 [0015]
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017210721.9A DE102017210721A1 (en) | 2017-06-26 | 2017-06-26 | Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017210721.9A DE102017210721A1 (en) | 2017-06-26 | 2017-06-26 | Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102017210721A1 true DE102017210721A1 (en) | 2018-12-27 |
Family
ID=64567610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017210721.9A Withdrawn DE102017210721A1 (en) | 2017-06-26 | 2017-06-26 | Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102017210721A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3748927A1 (en) * | 2019-06-04 | 2020-12-09 | Siemens Aktiengesellschaft | Method and system for monitoring messages of a communication device |
GB2584590A (en) * | 2019-02-01 | 2020-12-16 | Arm Ip Ltd | Machine-to-machine communication mechanisms |
WO2023078769A1 (en) * | 2021-11-02 | 2023-05-11 | Uniberg GmbH | Method, computer program product and storage means for establishing a data connection in a computer network |
US11949664B2 (en) | 2019-05-10 | 2024-04-02 | Arm Limited | Machine to machine communications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042160A1 (en) | 2010-08-10 | 2012-02-16 | General Instrument Corporation | System and method for cognizant transport layer security (ctls) |
US20120174196A1 (en) * | 2010-12-30 | 2012-07-05 | Suresh Bhogavilli | Active validation for ddos and ssl ddos attacks |
US20170134424A1 (en) * | 2013-11-14 | 2017-05-11 | Avi Networks | Network devices using tls tickets for session persistence |
WO2017131564A1 (en) * | 2016-01-27 | 2017-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for setting up a secure connection between lwm2m devices |
-
2017
- 2017-06-26 DE DE102017210721.9A patent/DE102017210721A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120042160A1 (en) | 2010-08-10 | 2012-02-16 | General Instrument Corporation | System and method for cognizant transport layer security (ctls) |
US20120174196A1 (en) * | 2010-12-30 | 2012-07-05 | Suresh Bhogavilli | Active validation for ddos and ssl ddos attacks |
US20170134424A1 (en) * | 2013-11-14 | 2017-05-11 | Avi Networks | Network devices using tls tickets for session persistence |
WO2017131564A1 (en) * | 2016-01-27 | 2017-08-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for setting up a secure connection between lwm2m devices |
Non-Patent Citations (4)
Title |
---|
Dierks, The Transport Layer Security (TLS) Protocol, RFC 5246, Version 1.2, August 2008. * |
Hummen, R., Extended DTLS Session Resumption for Constrained Network Environments, October 18, 2013. * |
Jones, M, JSON Web Token (JWT), RFC 7519, Mai 2015. * |
Salowey, J.:Transport Layer Security (TLS) Session Resumption without Server-Side State, RFC 5077, Januar 2008. * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2584590A (en) * | 2019-02-01 | 2020-12-16 | Arm Ip Ltd | Machine-to-machine communication mechanisms |
US11949664B2 (en) | 2019-05-10 | 2024-04-02 | Arm Limited | Machine to machine communications |
EP3748927A1 (en) * | 2019-06-04 | 2020-12-09 | Siemens Aktiengesellschaft | Method and system for monitoring messages of a communication device |
WO2020244830A1 (en) * | 2019-06-04 | 2020-12-10 | Siemens Aktiengesellschaft | Method and system for monitoring messages of a communication link |
WO2023078769A1 (en) * | 2021-11-02 | 2023-05-11 | Uniberg GmbH | Method, computer program product and storage means for establishing a data connection in a computer network |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60024319T2 (en) | VEREINTER LOGGING PROCESS | |
EP1308017B1 (en) | Method of key exchange for a cryptographic secure point to multipoint connection | |
DE60223951T2 (en) | System, apparatus and method for SIM based authentication and encryption when accessing a wireless local area network | |
DE60114789T2 (en) | AUTHENTICATION IN A PACKAGE NETWORK | |
EP2749003B1 (en) | Method for authenticating a telecommunication terminal comprising an identity module on a server device in a telecommunication network, use of an identity module, identity module and computer program | |
DE112016002319T5 (en) | METHOD AND DEVICE FOR INITIAL CERTIFICATE REGISTRATION IN A WIRELESS COMMUNICATION SYSTEM | |
EP2494759B1 (en) | Method and device for securely transmitting data | |
DE60302276T2 (en) | Method for remotely changing a communication password | |
DE60201522T2 (en) | ENABLE LEGAL CAPTURE OF IP CONNECTIONS | |
DE102017210721A1 (en) | Method and communication system for the efficient establishment of a secure data connection between a client computer and a server computer | |
EP3125492A1 (en) | Method and system for generating a secure communication channel for terminals | |
DE102009041805A1 (en) | SIP signaling without constant re-authentication | |
EP1289227B1 (en) | Method, system and computer for negotiating a security association at application layer | |
EP2593897B1 (en) | Method for certificate-based authentication | |
DE112017000483T5 (en) | SYSTEM, DEVICE AND METHOD FOR KEY DELIVERY DELEGATION | |
DE60203277T2 (en) | METHOD AND SYSTEM FOR AUTHENTICATING A PERSONAL SECURITY DEVICE COMPRISING AT LEAST ONE REMOTE COMPUTER SYSTEM | |
DE102008024783A1 (en) | Secure, browser-based single sign-on with client certificates | |
DE10392788T5 (en) | Non-refusal of service agreements | |
DE112008002860T5 (en) | A method and apparatus for providing secure association with user identity in a digital rights management system | |
DE102006060040B4 (en) | Method and server for providing a protected data connection | |
DE102008062984A1 (en) | A process of authenticating a user with a certificate using out-of-band messaging | |
DE102017211267A1 (en) | Method for protecting a certificate request of a client computer and corresponding communication system | |
EP3432539B1 (en) | Method for establishing a communication channel between a server device and a client device | |
EP1634425A1 (en) | Method and device for forming and encrypting an encrypted message containing communication configuration data | |
DE102014212443A1 (en) | Reduction of memory requirements for cryptographic keys |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |