DE102018123653A1 - Verfahren und vorrichtung zur authentifizierung von anwendungen - Google Patents

Verfahren und vorrichtung zur authentifizierung von anwendungen Download PDF

Info

Publication number
DE102018123653A1
DE102018123653A1 DE102018123653.0A DE102018123653A DE102018123653A1 DE 102018123653 A1 DE102018123653 A1 DE 102018123653A1 DE 102018123653 A DE102018123653 A DE 102018123653A DE 102018123653 A1 DE102018123653 A1 DE 102018123653A1
Authority
DE
Germany
Prior art keywords
application
port
request
address
signed certificate
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
Application number
DE102018123653.0A
Other languages
English (en)
Inventor
Ramie Phillips III
Thomas M. Forest
Yuval Polevoy
Karl B. Leboeuf
Evripidis Paraskevas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of DE102018123653A1 publication Critical patent/DE102018123653A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/108Network architectures or network communication protocols for network security for controlling access to devices or network resources when the policy decisions are valid for a limited amount of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein Verfahren und eine Vorrichtung zum Authentifizieren einer Anwendung sind vorgesehen. Das Verfahren beinhaltet das Verbinden einer Authentifizierungsanwendung mit der ersten Vorrichtung zu einer zweiten Anwendung auf einer zweiten Vorrichtung auf einer zweiten Adresse und einem Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung, Empfangen einer zweiten Anforderung einschließlich eines signierten Zertifikats der zweiten Vorrichtung, Bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion darauf, dass das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme der Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, und Ausführen einer Funktion, wenn die Anforderung akzeptiert wird.

Description

  • EINLEITUNG
  • Vorrichtungen und Verfahren, die mit exemplarischen Ausführungsformen in Einklang stehen, beziehen sich auf die Authentifizierung einer Anwendung. Insbesondere beziehen sich Vorrichtungen und Verfahren in Übereinstimmung mit exemplarischen Ausführungsformen auf die Authentifizierung einer ersten Anwendung auf einer entfernten Vorrichtung zur Kommunikation mit einer zweiten Anwendung auf einer lokalen Vorrichtung.
  • KURZDARSTELLUNG
  • Eine oder mehrere exemplarische Ausführungsformen stellen ein Verfahren und eine Vorrichtung bereit, die einen sicheren Zugriff zwischen einer Anwendung auf einer entfernten Vorrichtung, wie beispielsweise einer mobilen Vorrichtung, und einer Anwendung auf einer lokalen Vorrichtung, wie beispielsweise einem Zentralstapelmodul, ermöglicht. Insbesondere bieten eine oder mehrere exemplarische Ausführungsformen ein Verfahren und eine Vorrichtung, die eine Authentifizierungs- oder Netzwerk-Broker-Anwendung beinhalten, die einen sicheren Zugriff zwischen einer Anwendung auf einer mobilen Vorrichtung und einer Anwendung auf einem Zentralstapelmodul ermöglicht.
  • Gemäß einem Aspekt einer exemplarischen Ausführungsform ist ein Verfahren zur Authentifizierung einer Anwendung vorgesehen. Das Verfahren beinhaltet das Erfassen einer Eingabe, um in einen Registrierungsmodus auf einer ersten Vorrichtung einzutreten, und das Eintreten in den Registrierungsmodus für eine vorbestimmte Zeitspanne, während der vorbestimmten Zeitspanne, das Verbinden einer Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung auf einer zweiten Vorrichtung auf einer zweiten Adresse und einem zweiten Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung, Empfangen einer zweiten Anforderung einschließlich eines signierten Zertifikats der zweiten Vorrichtung, Bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion darauf, dass das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme der Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, und Speichern der Anforderung, wenn die Anforderung akzeptiert wird.
  • Die zweite Anforderung einschließlich des signierten Zertifikats kann unter anderem eine oder mehrere Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung beinhalten.
  • Das Verbinden der Authentifizierungsanwendung auf der ersten Vorrichtung mit der zweiten Anwendung der zweiten Vorrichtung auf der zweiten Adresse und dem Port als Reaktion auf das Empfangen der ersten Anforderung auf der ersten Adresse und dem Port von der zweiten Anwendung kann das Beantworten der Anforderung durch Bereitstellen der zweiten Adresse und des Ports auf die zweite Anwendung beinhalten.
  • Die erste Anforderung der ersten Adresse und des Ports der zweiten Anwendung kann eine Multicast Domain Name System-(mDNS)-Anforderung beinhalten, wobei die erste Adresse und der erste Port ein UDP-ratenbegrenzter Port sein können. Zudem kann die zweite Adresse und der zweite Port ein TCP-ratenbegrenzter Port sein.
  • Der Bildschirm zur Annahme der Anforderung kann eine erste Option zur Annahme einer Verbindung von der zweiten Anwendung, eine zweite Option zur Annahme einer Verbindung von der zweiten Anwendung für die empfangene Anforderung und eine dritte Option zur Ablehnung einer Verbindung von der zweiten Anwendung für die empfangene Anforderung beinhalten.
  • Gemäß einem Aspekt einer exemplarischen Ausführungsform ist ein Verfahren zur Authentifizierung einer Anwendung vorgesehen. Das Verfahren beinhaltet das Verbinden einer Authentifizierungsanwendung auf einer ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung, das Empfangen einer zweiten Anforderung einschließlich eines signierten Zertifikats der zweiten Vorrichtung, das Bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion auf das Bestimmen, dass das signierte Zertifikat gültig ist, das Anzeigen eines Bildschirms zur Annahme einer Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, Senden einer ersten verschlüsselten Zufallszahl und einer zweiten verschlüsselten Zufallszahl an die erste Anwendung auf der ersten Vorrichtung und die zweite Anwendung auf der zweiten Vorrichtung, Empfangen eines ersten Hash der entschlüsselten ersten Zufallszahl und eines ersten gemeinsamen vordefinierten Kontextstrings durch die Authentifizierungsanwendung, Verifizieren des empfangenen ersten Hash bei der Authentifizierungsanwendung und Schließen eines Firewall-Sync-Ports, wenn die Verifizierung des empfangenen ersten Hash fehlschlägt, oder Öffnen eines angeforderten TLS-Ports, wenn die Verifizierung des empfangenen ersten Hash erfolgreich ist.
  • Das Verfahren kann auch das Empfangen eines zweiten Hash der zweiten entschlüsselten Zufallszahl und eines zweiten gemeinsamen vordefinierten Kontextstrings durch die erste Anwendung, das Verifizieren des zweiten Hash an der ersten Anwendung und das Einrichten eines TLS PSK basierend auf dem verifizierten zweiten Hash und der zweiten Zufallszahl beinhalten.
  • Die zweite Anforderung einschließlich des signierten Zertifikats kann unter anderem eine oder mehrere Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung beinhalten.
  • Die erste Anforderung an der ersten Adresse und des Ports von der zweiten Anwendung kann eine Multicast Domain Name System-(mDNS)-Anforderung beinhalten, wobei die erste Adresse und der erste Port einen UDP-ratenbegrenzter Port beinhalten und die zweite Adresse und der zweite Port einen TCP-ratenbegrenzten Port umfassen.
  • Das Verbinden der Authentifizierungsanwendung auf der ersten Vorrichtung mit der zweiten Anwendung der zweiten Vorrichtung auf der zweiten Adresse und dem Port als Reaktion auf das Empfangen der Anforderung auf der ersten Adresse und dem Port von der zweiten Anwendung kann das Beantworten der Anforderung durch Bereitstellen der zweiten Adresse und des Ports auf die zweite Anwendung beinhalten.
  • Der Bildschirm zur Annahme der Anforderung kann eine erste Option zur Annahme einer Verbindung von der zweiten Anwendung, eine zweite Option zur Annahme einer Verbindung von der zweiten Anwendung für die empfangene Anforderung und eine dritte Option zur Ablehnung einer Verbindung von der zweiten Anwendung für die empfangene Anforderung beinhalten.
  • Gemäß einem Aspekt einer exemplarischen Ausführungsform ist eine Vorrichtung zur Authentifizierung einer Anwendung vorgesehen. Die Vorrichtung beinhaltet: mindestens einen Speicher mit computerausführbaren Anweisungen und mindestens einen Prozessor, der konfiguriert ist, um die computerausführbaren Anweisungen zu lesen und auszuführen. Die computerausführbaren Anweisungen veranlassen den mindestens einen Prozessor zum Verbinden einer Authentifizierungsanwendung auf einer ersten Vorrichtung mit einer zweiten Anwendung auf einer zweiten Vorrichtung auf einer zweiten Adresse und einem zweiten Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung, Empfangen einer zweiten Anforderung einschließlich eines signierten Zertifikats der zweiten Vorrichtung, Bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion darauf, dass das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme der Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, und Ausführen einer Funktion, wenn die Anforderung akzeptiert wird.
  • Die computerausführbaren Anweisungen können den mindestens einen Prozessor veranlassen, die Funktion auszuführen, wenn die Anforderung durch Speichern der Anforderung akzeptiert wird.
  • Die computerausführbaren Anweisungen können den mindestens einen Prozessor veranlassen, die Funktion auszuführen, wenn die Anforderung akzeptiert wird durch: Senden einer ersten verschlüsselten Zufallszahl und einer zweiten verschlüsselten Zufallszahl an die erste Anwendung auf der ersten Vorrichtung und die zweite Anwendung auf der zweiten Vorrichtung; Empfangen eines ersten Hash der entschlüsselten ersten Zufallszahl und eines ersten gemeinsamen vordefinierten Kontextstrings durch die Authentifizierungsanwendung; Verifizieren des empfangenen ersten Hash bei der Authentifizierungsanwendung; und Schließen eines Firewall-Synchronisierungsports, wenn die Verifizierung des empfangenen ersten Hash fehlschlägt oder Öffnen eines angeforderten TLS-Ports, wenn die Verifizierung des empfangenen ersten Hash erfolgreich ist.
  • Die computerausführbaren Anweisungen veranlassen den mindestens einen Prozessor, die Funktion auszuführen, wenn die Anforderung akzeptiert wird durch: Empfangen eines zweiten Hash der zweiten entschlüsselten Zufallszahl und eines zweiten gemeinsamen vordefinierten Kontextstrings; Verifizieren des zweiten Hash an der ersten Anwendung; und Einrichten eines TLS PSK basierend auf dem verifizierten zweiten Hash und der zweiten Zufallszahl.
  • Die Anforderung einschließlich des signierten Zertifikats kann unter anderem eine oder mehrere Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung beinhalten.
  • Die computerausführbaren Anweisungen können den mindestens einen Prozessor veranlassen, die Authentifizierungsanwendung auf der ersten Vorrichtung mit der zweiten Anwendung der zweiten Vorrichtung auf der zweiten Adresse und dem Port als Reaktion auf das Empfangen der Anforderung auf der ersten Adresse und dem Port von der zweiten Anwendung durch Reagieren auf die Anforderung durch Bereitstellen der zweiten Adresse und des Ports an die zweite Anwendung.
  • Der Bildschirm zur Annahme der Anforderung kann eine erste Option zur Annahme einer Verbindung von der zweiten Anwendung, eine zweite Option zur Annahme einer Verbindung von der zweiten Anwendung für die empfangene Anforderung und eine dritte Option zur Ablehnung einer Verbindung von der zweiten Anwendung für die empfangene Anforderung beinhalten.
  • Die Anforderung an der ersten Adresse und des Ports von der zweiten Anwendung kann eine Multicast Domain Name System-(mDNS)-Anforderung beinhalten, wobei die erste Adresse und der erste Port ein UDP-ratenbegrenzter Port sein kann und die zweite Adresse und der zweite Port einen TCP-ratenbegrenzten Port umfassen.
  • Weitere Zwecke, Vorteile und neuartige Merkmale der Ausführungsformbeispiele ergeben sich aus der nachfolgenden detaillierten Beschreibung der Ausführungsbeispiele und den beigefügten Zeichnungen.
  • Figurenliste
    • 1 zeigt ein Blockdiagramm einer Vorrichtung, die eine Anwendung gemäß einem Aspekt einer exemplarischen Ausführungsform authentifiziert;
    • 2 zeigt ein Blockdiagramm einer Vorrichtung, die eine Anwendung gemäß einem Aspekt einer exemplarischen Ausführungsform authentifiziert;
    • 3 zeigt ein Diagramm eines Systems, die eine Anwendung gemäß einer exemplarischen Ausführungsform authentifiziert;
    • 4 zeigt ein Flussdiagramm zur Authentifizierung einer Anwendung gemäß einer weiteren exemplarischen Ausführungsform;
    • 5 zeigt ein Flussdiagramm zur Authentifizierung einer Anwendung gemäß einer weiteren exemplarischen Ausführungsform; und
    • 6 zeigt ein Flussdiagramm für ein Verfahren zur Authentifizierung einer Anwendung gemäß einer exemplarischen Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine Vorrichtung und ein Verfahren, die eine Anwendung authentifizieren, werden nun im Detail unter Bezugnahme auf die 1 - 6 der beigefügten Zeichnungen, in denen sich gleiche Bezugszeichen durchgehend auf gleiche Elemente beziehen, beschrieben.
  • Die folgende Offenbarung ermöglicht es Fachleuten Erfindungsgedanken auszuüben. Jedoch sind die hierin offenbarten exemplarischen Ausführungsformen lediglich exemplarisch und beschränken nicht den Erfindungsgedanken der hierin beschriebenen Ausführungsbeispiele. Außerdem sollten Beschreibungen der Merkmale oder Aspekte jeder exemplarischen Ausführungsform normalerweise als verfügbar für Aspekte von anderen Ausführungsbeispielen berücksichtigt werden.
  • Es versteht sich auch, dass dort, wo es hierin angegeben ist, ein erstes Element mit einem zweiten Element „verbunden mit“, „gebildet auf“ oder „angelegt“ ist, das erste Element direkt verbunden mit, direkt gebildet auf oder direkt auf dem zweiten Element angeordnet sein kann, dass Zwischenelemente zwischen dem ersten Element und dem zweiten Element vorhanden sein können, es sei denn, es wird angegeben, dass ein erstes Element „direkt“ mit dem zweiten Element verbunden, daran befestigt, darauf ausgebildet oder auf diesem angeordnet ist. Wenn darüber hinaus ein erstes Element dazu konfiguriert ist, Informationen von einem zweiten Element zu „senden“ oder auf diesem zu „empfangen“, kann das erste Element die Informationen direkt zu dem zweiten Element senden oder von diesem empfangen, die Informationen über einen Bus senden oder von diesem empfangen, die Informationen über ein Netzwerk senden oder empfangen, oder die Information über Zwischenelemente senden oder empfangen, es sei denn, das erste Element wird angezeigt, um Informationen „direkt“ zu dem zweiten Element zu senden oder von diesem zu empfangen.
  • In der gesamten Offenbarung können eines oder mehrere der offenbarten Elemente zu einer einzigen Vorrichtung kombiniert oder zu einer oder mehreren Vorrichtungen kombiniert werden. Zusätzlich können einzelne Elemente auf separaten Vorrichtungen vorgesehen sein.
  • Fahrzeuge und andere Maschinen beinhalten inzwischen verschiedene Vorrichtungen, wie beispielsweise Infotainmentsysteme, Tablets, Computer und Radios, die Anwendungen ausführen. Die vorstehend genannten Vorrichtungen oder ähnliche Vorrichtungen können sich drahtlos mit einem anderen Vorrichtungen, wie beispielsweise einer entfernten Vorrichtung oder einer mobilen Vorrichtung, verbinden, um Informationen über eine drahtlose Verbindung oder ein drahtloses Netzwerk auszutauschen. In einem Fall muss eine Anwendung, die auf einem Infotainmentsystem eines Fahrzeugs ausgeführt wird, Informationen mit einer Anwendung austauschen, die auf der entfernten oder mobilen Vorrichtung ausgeführt wird.
  • Außerdem ist es wünschenswert, dass die drahtlose Verbindung zwischen dem Infotainmentsystem und der mobilen Vorrichtung sicher ist und/oder dass die mobile Vorrichtung vor dem Austausch von Informationen authentifiziert wird, um zu gewährleisten, dass das Infotainmentsystem keine Informationen von unerwünschten Vorrichtungen empfängt oder an diese überträgt. Um dieses Problem anzugehen, kann ein Verfahren zur Authentifizierung der mobilen Vorrichtung unter Verwendung eines Backends implementiert werden, bevor eine Verbindung zum Austausch von Informationen mit der mobilen Vorrichtung geöffnet wird. Die Authentifizierung kann über einen Backend-Server erfolgen, der sich sowohl mit der mobilen Vorrichtung als auch mit der Fahrzeugvorrichtung oder dem Infotainmentsystem verbindet.
  • 1 zeigt ein Blockdiagramm einer Vorrichtung, die eine Anwendung 100 gemäß einem Aspekt einer exemplarischen Ausführungsform authentifiziert. Wie in 1 dargestellt, beinhaltet die Vorrichtung zum Authentifizieren einer Anwendung 100 gemäß einer exemplarischen Ausführungsform eine Steuerung 101, eine Stromversorgung 102, einen Speicher 103, einen Ausgang 104, eine Benutzereingabe 106 und eine Kommunikationsvorrichtung 108. Die Vorrichtung zum Authentifizieren einer Anwendung 100, ist jedoch nicht auf die zuvor erwähnte Konfiguration beschränkt und kann so konfiguriert werden, dass diese zusätzliche Elemente enthält und/oder dass diese eine oder mehrere der zuvor genannten Elemente nicht umfasst. Die Vorrichtung zum Authentifizieren einer Anwendung 100 kann als Teil eines Fahrzeugs, als eigenständige Komponente, als Hybrid zwischen einer Fahrzeug- und einer nicht Fahrzeugvorrichtung oder einem anderen Computergerät implementiert sein.
  • Die Steuerung 101 steuert den gesamten Betrieb und die Funktion der Vorrichtung zum Authentifizieren einer Anwendung 100. Die Steuerung 101 kann einen oder mehrere Speicher 103, einen Ausgang 104, eine Benutzereingabe 106 und eine Kommunikationsvorrichtung 108 der Vorrichtung zum Authentifizieren einer Anwendung 100 steuern. Die Steuerung 101 kann einen oder mehrere aus einem Prozessor, einem Mikroprozessor, einer zentralen Verarbeitungseinheit (CPU), einem Grafikprozessor, anwendungsspezifischen integrierten Schaltungen (ASICs), feldprogrammierbaren Gate-Arrays (FPGAs), Zustandsmaschinen, Schaltungen und einer Kombination von Hardware-, Software- und Firmware-Komponenten beinhalten.
  • Die Steuerung 101 ist konfiguriert, um Informationen von einen oder mehreren Speichern 103, dem Ausgang 104, dem Benutzereingang 106 und der Kommunikationsvorrichtung 108 der Vorrichtung zum Authentifizieren einer Anwendung 100 zu senden und/oder zu empfangen. Die Information kann über einen Bus oder ein Netzwerk gesendet und empfangen werden oder kann direkt von/auf einem oder mehreren von dem Speicher 103, des Ausgangs 104, der Benutzereingabe 106 und der Kommunikationsvorrichtung 108 der Vorrichtung zum Authentifizieren einer Anwendung 100 bereitstellt, gelesen oder geschrieben werden. Beispiele geeigneter Netzwerkverbindungen beinhalten ein Controller Area Network (CAN), einen medienorientierten Systemtransfer (MOST), ein lokales Kopplungsstrukturnetzwerk (LIN), ein lokales Netzwerk (LAN), Drahtlosnetzwerke, wie beispielsweise Bluetooth und 802.11, und andere geeignete Verbindungen, wie z. B. Ethernet.
  • Die Stromversorgung 102 liefert Strom an eine oder mehrere der Steuerungen 101, den Speicher 103, den Ausgang 104, die Benutzereingabe 106 und die Kommunikationsvorrichtung 108 der Vorrichtung zum Authentifizieren einer Anwendung 100. Die Stromversorgung 102 kann eine oder mehrere aus einer Batterie, einem Auslass, einem Kondensator, einer Solarenergiezelle, einem Generator, einer Windenergievorrichtung, einem Wechselstromgenerator usw. beinhalten.
  • Der Speicher 103 ist zum Speichern von Informationen und zum Abrufen von Informationen konfiguriert, die von der Vorrichtung zum Authentifizieren einer Anwendung 100 verwendet werden. Die Informationen können Anwendungsinformationen beinhalten, die von Anwendungen gesendet/empfangen werden, die auf der Vorrichtung ausgeführt werden, die eine Anwendung 100 authentifiziert, Authentifizierungsinformationen, die zur Authentifizierung einer Anwendung verwendet werden, usw. Der Speicher 103 kann auch die computerausführbaren Anweisungen beinhalten, die konfiguriert sind, um von einem Prozessor ausgeführt zu werden, um die Funktionen der Vorrichtung zum Authentifizieren einer Anwendung 100 auszuführen.
  • Die Authentifizierungsinformationen können ein signiertes Zertifikat und unter anderem eine oder mehrere Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung beinhalten.
  • Der Speicher 103 kann ein oder mehrere aus Disketten, optischen Platten, CD-ROMs (Compact Disc-Read Only Memories), magnetooptischen Platten, ROMs (Read Only Memories), RAMs (Random Access Memories), EPROMs (löschbare programmierbare Nur-Lese-Speicher), EEPROMs (elektrisch löschbare programmierbare Nur-Lese-Speicher), magnetische oder optische Karten, Flash-Speicher, Cache-Speicher und andere Arten von Medien/maschinenlesbaren Medien beinhalten, die zum Speichern von maschinenausführbaren Anweisungen geeignet sind.
  • Der Ausgang 104 gibt Informationen in einer oder mehreren Formen aus, einschließlich: visuell, hörbar und/oder haptisch. Der Ausgang 104 kann durch die Steuerung 101 gesteuert werden, um Ausgaben an den Benutzer der Vorrichtung zum Authentifizieren einer Anwendung 100 zur Verfügung zu stellen. Zusätzlich kann der Ausgang 104 einen oder mehrere aus einem Lautsprecher, einer Audiovorrichtung, einer Anzeige, einer zentral gelegenen Anzeige, einem Head-Up-Display, einer Windschutzscheibenanzeige, einer haptischen Rückmeldungsvorrichtung, einer Schwingungsvorrichtung, einer taktilen Rückmeldungsvorrichtung, einer Tap-Rückmeldungsvorrichtung, einer holografischen Anzeige, einer Instrumentenleuchte, einer Kontrollleuchte usw. beinhalten. Die dem Benutzer zur Verfügung gestellten Ausgaben können beim Ausführen einer Anwendung erzeugt werden.
  • In einem Beispiel kann der Ausgang 104 den Bildschirm anzeigen, um eine Anforderung zur Verbindung mit einer Anwendung zu akzeptieren, die zuvor nicht genehmigt wurde, oder dass die Genehmigung der Verbindungsanforderung nicht im Speicher abgelegt ist. Der Bildschirm kann Schaltflächen, Symbole oder andere grafische Funktionen beinhalten, die über die Benutzereingabe 104 ausgewählt werden können. Die grafischen Funktionen können eine oder mehrere der ersten Optionen darstellen, um stets eine Verbindung von der Anwendung zu akzeptieren, eine zweite Option, um eine Verbindung von der zweiten Anwendung für die empfangene Anforderung zu akzeptieren, und eine dritte Option, um eine Verbindung von der Anwendung für die empfangene Anforderung abzulehnen.
  • Die Benutzereingabe 106 ist dazu konfiguriert, Informationen und Befehle für die Vorrichtung zum Authentifizieren einer Anwendung 100 zur Verfügung zu stellen. Die Benutzereingabe 106 kann verwendet werden, um Benutzereingaben usw. für die Steuerung 101 bereitzustellen. Die Benutzereingabe 106 kann einen oder mehrere aus einem Touchscreen, einer Tastatur, einer Softtastatur, einer Schaltfläche, einem Bewegungsdetektor, einem Spracheingabedetektor, einem Mikrofon, einer Kamera, einem Trackpad, einer Maus, einem Touchpad usw. beinhalten. Die Benutzereingabe 106 kann konfiguriert werden, um eine Benutzereingabe zur Eingabe von Informationen zu empfangen, die durch eine Anwendung verarbeitet werden.
  • Die Kommunikationsvorrichtung 108 kann von der Vorrichtung zum Authentifizieren einer Anwendung 100 verwendet werden, um mit verschiedenen Arten von externen Vorrichtungen gemäß verschiedenen Kommunikationsverfahren zu kommunizieren. Die Kommunikationsvorrichtung 108 kann zum Senden/Empfangen von Informationen verwendet werden, einschließlich Anwendungsinformationen einer Anwendung, die auf der Vorrichtung zum Authentifizieren einer Anwendung 100 oder einer entfernten Vorrichtung ausgeführt werden. Die Kommunikationsvorrichtung 108 kann auch zum Senden/Empfangen von Authentifizierungsinformationen verwendet werden, um Anwendungen zu authentifizieren, die auf der Vorrichtung zum Authentifizieren einer Anwendung 100 oder einer entfernten Vorrichtung ausgeführt werden.
  • Die Kommunikationsvorrichtung 108 kann verschiedene Kommunikationsmodule beinhalten, wie etwa ein oder mehrere Rundfunkempfangsmodule, ein Nahbereichskommunikations-(NFC)-Modul, ein GPS-Modul und ein Drahtloskommunikationsmodul. Das Rundfunkempfangsmodul kann ein terrestrisches Rundfunkempfangsmodul beinhalten, welches eine Antenne beinhaltet, um ein terrestrisches Rundfunksignal, einen Demodulator und einen Entzerrer usw. zu empfangen. Das NFC-Modul ist ein Modul, das mit einer externen Vorrichtung kommuniziert, die sich in einer nahe gelegenen Entfernung gemäß einem NFC-Verfahren befindet. Der GPS-Empfänger ist ein Modul, das ein GPS-Signal von einem GPS-Satelliten empfängt und einen aktuellen Standort erkennt. Das drahtgebundene Kommunikationsmodul kann ein Modul sein, das Informationen über ein drahtgebundenes Netzwerk, wie etwa ein lokales Netzwerk, ein Controller Area Network (CAN) oder ein externes Netzwerk, empfängt. Das drahtlose Kommunikationsmodul ist ein Modul, das über ein drahtloses Kommunikationsprotokoll, wie beispielsweise ein IEEE 802.11-Protokoll, WiMAX-, WLAN- oder IEEE-Kommunikationsprotokoll mit einem externen Netzwerk verbunden ist und mit dem externen Netzwerk kommuniziert. Das drahtlose Kommunikationsmodul kann ferner ein Mobilkommunikationsmodul beinhalten, das auf ein Mobilkommunikationsnetzwerk zugreift und eine Kommunikation gemäß verschiedenen Mobilkommunikationsstandards, wie etwa 3.Generation (3G), 3.Generation Partnerschaftsprojekt (3GPP), Langzeitentwicklung (LTE), Bluetooth, EVDO, CDMA, GPRS, EDGE oder Zigbee, durchführt.
  • Gemäß einer exemplarischen Ausführungsform kann die Steuerung 101 der Vorrichtung zum Authentifizieren einer Anwendung 100 konfiguriert werden, um eine Anforderung einschließlich eines signierten Zertifikats der zweiten Vorrichtung zu empfangen, zu bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion auf das Bestimmen, ob das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zum Annehmen einer Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, und Ausführen einer Funktion, wenn die Anforderung akzeptiert wird.
  • Gemäß einer exemplarischen Ausführungsform kann die Steuerung 101 der Vorrichtung zum Authentifizieren einer Anwendung 100 konfiguriert werden, um einen Eingang zum Eintritt in einen Registrierungsmodus auf einer ersten Vorrichtung und zum Eintritt in den Registrierungsmodus für eine vorbestimmte Zeitspanne zu erkennen, während der vorbestimmten Zeitspanne, eine Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem Port als Reaktion auf das Empfangen einer Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung verbinden, eine Anforderung mit einem signierten Zertifikat der zweiten Vorrichtung empfangen, bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion auf das Bestimmen, dass das signierte Zertifikat gültig ist, das Anzeigen eines Bildschirms zur Annahme einer Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, und Speichern der Anforderung, wenn die Anforderung akzeptiert wird.
  • Gemäß einer exemplarischen Ausführungsform kann die Steuerung 101 der Vorrichtung zum Authentifizieren einer Anwendung 100 konfiguriert werden, um eine Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem zweiten Port als Reaktion auf das Empfangen einer Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung zu verbinden, eine Anforderung mit einem signierten Zertifikat der zweiten Vorrichtung zu empfangen, um zu bestimmen, ob das signierte Zertifikat gültig ist, als Reaktion auf das Bestimmen, dass das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme einer Anforderung, wenn das signierte Zertifikat nicht genehmigt ist, Senden einer ersten verschlüsselten Zufallszahl und einer zweiten verschlüsselten Zufallszahl an die erste Anwendung auf der ersten Vorrichtung und die zweite Anwendung auf der zweiten Vorrichtung, Empfangen eines ersten Hash der entschlüsselten ersten Zufallszahl und eines ersten vordefinierten gemeinsamen Kontextstrings durch die Authentifizierungsanwendung, Überprüfen des empfangenen ersten Hash bei der Authentifizierungsanwendung und Schließen des Firewall-Synchronisierungsports, wenn die Überprüfung des empfangenen Hash fehlschlägt oder Öffnen eines angeforderten TLS-Ports, wenn die Überprüfung des empfangenen Hash erfolgreich ist.
  • Gemäß einer exemplarischen Ausführungsform kann die Steuerung 101 der Vorrichtung zum Authentifizieren einer Anwendung 100 konfiguriert werden, um die Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf der zweiten Adresse und dem Port als Reaktion auf das Empfangen der Anforderung auf der ersten Adresse und dem Port von der zweiten Anwendung durch Bereitstellen der zweiten Adresse und des Ports als Reaktion auf die Anforderung zu verbinden.
  • Die Steuerung 101 kann auch konfiguriert werden, um durch die erste Anwendung einen zweiten Hash der zweiten entschlüsselten Zufallszahl und einen zweiten gemeinsamen vordefinierten Kontextstring zu empfangen, um den zweiten Hash bei der ersten Anwendung zu überprüfen; und eine TLS PSK basierend auf dem überprüften zweiten Hash und der zweiten Zufallszahl einzurichten.
  • Die Anforderung an der ersten Adresse und dem Port aus der zweiten Anwendung kann eine Multicast Domain Name System-(mDNS)-Anforderung an einen Benutzer-Datagramm-Protokoll-(UDP)-ratenbegrenzten Port sein. Die zweite Adresse und der zweite Port können ein TCP-ratenbegrenzter Port sein.
  • 2 zeigt ein Blockdiagramm einer zweiten Vorrichtung gemäß einem weiteren Aspekt einer exemplarischen Ausführungsform. Wie in 2 dargestellt, beinhaltet die zweite Vorrichtung 200 eine Steuerung 201, eine Stromversorgung 202, einen Speicher 203, einen Ausgang 204, eine Benutzereingabe 206 und eine Kommunikationsvorrichtung 208. Jedoch ist die zweite Vorrichtung 200 nicht auf die vorstehend erwähnte Konfiguration beschränkt und kann so konfiguriert sein, dass sie zusätzliche Elemente beinhaltet und/oder ein oder mehrere der vorgenannten Elemente weglässt.
  • Die zweite Apparatur 200 kann als mobile Vorrichtung, tragbares Computergerät, Tablet, Smartphone, Laptop usw. verkörpert sein. Darüber hinaus sind die Steuerung 201, die Stromversorgung 202, der Speicher 203, der Ausgang 204, die Benutzereingabe 206 und die Kommunikationsvorrichtung 208 ähnlich wie die Steuerung 101, die Stromversorgung 102, der Speicher 103, der Ausgang 104, die Benutzereingabe 106 bzw. die Kommunikationsvorrichtung 108, die ähnliche Funktionen ausführen und ähnliche Komponenten enthalten. Dadurch können wiederholte Beschreibungen dieser Elemente weggelassen werden.
  • 3 zeigt ein Diagramm eines Systems zum Authentifizieren einer Anwendung gemäß einer exemplarischen Ausführungsform.
  • Unter Bezugnahme auf 3 verbindet sich eine zweite Anwendung 303, die auf einer zweiten Vorrichtung zum Authentifizieren einer Anwendung 200 ausgeführt wird, mit einem Authentifikator und einer Netzwerk-Broker-Anwendung 302, die auf der ersten Vorrichtung zum Authentifizieren einer Anwendung 100 ausgeführt wird im Vorgang 304. In diesem Beispiel kann die zweite Vorrichtung zum Authentifizieren einer Anwendung 200 ein Smartphone oder eine andere mobile Vorrichtung sein und die erste Vorrichtung zum Authentifizieren einer Anwendung 100 kann ein Zentralstapelmodul oder ein Infotainmentsystem sein.
  • Die Authentifizierungs- und Netzwerk-Broker-Anwendung 302 authentifiziert die zweite Anwendung 303 unter Verwendung eines Backend-Servers und weist die erste Anwendung 301 an, die auf einer ersten Vorrichtung ausgeführt wird und eine Anwendung 100 authentifiziert, eine Verbindung mit der zweiten Anwendung 303 zu öffnen, die auf einer zweiten Vorrichtung ausgeführt wird und eine Anwendung 200 im Vorgang 305 authentifiziert. Im Vorgang 306 tauschen die zweite Anwendung 303 und die erste Anwendung 301 Informationen über die neu geöffnete Verbindung aus.
  • 4 zeigt ein Flussdiagramm zum Authentifizieren einer Anwendung gemäß einer weiteren exemplarischen Ausführungsform. Das Verfahren von 4 kann durch die Vorrichtungen zum Authentifizieren einer Anwendung 100 und 200 durchgeführt werden oder kann in ein computerlesbares Medium als Anweisungen codiert werden, die von einem Computer ausführbar sind, um das Verfahren durchzuführen.
  • Unter Bezugnahme auf 4 wird ein erstes Beispiel für den Betriebs- und Informationsfluss zwischen einem Bediener 450, einer ersten Anwendung 301 und einer zweiten Anwendung 302 auf der ersten Vorrichtung zum Authentifizieren einer Anwendung 100 und einer dritten Anwendung 303 auf einer zweiten Vorrichtung zum Authentifizieren einer Anwendung 200 während eines Registrierungsprozesses dargestellt. In diesem Fall kann die erste Anwendung 301 eine verbraucherorientierte Anwendung sein, die auf der ersten Vorrichtung zum Authentifizieren einer Anwendung 100 ausgeführt wird, die zweite Anwendung 303 kann ein Netzwerk-Broker und eine Authentifizierungsanwendung sein, die auf der ersten Vorrichtung zum Authentifizieren einer Anwendung 100 ausgeführt wird, und die dritte Anwendung 303 kann eine Verbraucheranwendung sein, die auf der zweiten Vorrichtung zum Authentifizieren einer Anwendung 200 ausgeführt wird. Die erste Vorrichtung zum Authentifizieren einer Anwendung 100 kann ein Infotainmentsystem oder ein Zentralstapelmodul sein. Die zweite Vorrichtung zum Authentifizieren einer Anwendung 200 kann eine mobile Vorrichtung, wie beispielsweise ein Smartphone, sein.
  • In 4 kann die zweite Vorrichtung zum Authentifizieren einer Anwendung 200 eine Verbindung zu der ersten Vorrichtung zum Authentifizieren einer Anwendung 100 über ein drahtloses Kommunikationsnetzwerk, wie beispielsweise ein Wi-Fi-Netzwerk im Vorgang 401, herstellen. Darüber hinaus kann ein Bediener 450 eine Taste drücken, um die erste Vorrichtung zum Authentifizieren einer Anwendung 100 in einen Registrierungsmodus im Vorgang 402 zu schalten, wodurch die zweite Anwendung 302 für einen vorbestimmten Zeitraum im Vorgang 403 in den Registrierungsmodus wechselt.
  • Während der vorbestimmten Zeitdauer kann die dritte Anwendung 303 geöffnet sein und auf der zweiten Vorrichtung 200 im Vorgang 404 ausgeführt werden. Im Vorgang 405 empfängt die zweite Anwendung 302 eine mDNS-Anfrage auf einem UDP-ratenbegrenzten Port von der dritten Anwendung 303. Im Vorgang 406 reagiert die zweite Anwendung auf den mDNS-Werbeauthentifizierungsdienst, eine IP-Adresse, die Dienst- und Übertragungssteuerungsprotokoll-(TCP)-Verbindungsinformationen. Im Vorgang 407 verbindet sich die zweite Anwendung 302 mit der dritten Anwendung 303 über die durch die mDNS-Antwort beworbene TCP-Verbindung.
  • Die dritte Anwendung 303 leitet ein öffentliches/privates Schlüsselpaar ein und signiert dann mit dem privaten Schlüssel und sendet einen öffentlichen Schlüssel mit dem signierten Zertifikat im Vorgang 408. Die zweite Anwendung 302 empfängt dann eine Anforderung mit einem signierten Zertifikat der dritten Anwendung 303 im Vorgang 409. Das signierte Zertifikat kann unter anderem Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung beinhalten.
  • Im Vorgang 410 ermittelt die zweite Anwendung 302, ob das signierte Zertifikat gültig ist, indem sie prüft, ob das signierte Zertifikat vom Back-Office signiert wurde. Als Reaktion auf das Bestimmen, ob das signierte Zertifikat gültig ist, wird in Vorgang 411 ein Bildschirm zur Annahme der Anforderung angezeigt, wenn das signierte Zertifikat nicht genehmigt ist. Wenn beispielsweise das Zertifikat nie durch die zweite Anwendung genehmigt wurde oder eine vorherige Genehmigung der zweiten Anwendung abgelaufen ist. Die Verbindungsanforderung wird dann in Vorgang 412 geprüft und in Vorgang 413 gespeichert. Die gespeicherten Informationen können dazu verwendet werden, um bei zukünftigen Anforderungen die Genehmigung der Anwendung zu bestimmen.
  • 5 zeigt ein Flussdiagramm zum Authentifizieren einer Anwendung gemäß einer weiteren exemplarischen Ausführungsform. Das Verfahren von 5 kann durch die Vorrichtungen zum Authentifizieren einer Anwendung 100 und 200 durchgeführt werden oder kann in ein computerlesbares Medium als Anweisungen codiert werden, die von einem Computer ausführbar sind, um das Verfahren durchzuführen.
  • Unter Bezugnahme auf 5 wird ein zweites Beispiel für den Betriebs- und Informationsfluss zwischen einem Bediener, einer ersten Anwendung und einer zweiten Anwendung auf der ersten Vorrichtung zum Authentifizieren einer Anwendung und einer dritten Anwendung auf einer zweiten Vorrichtung zum Authentifizieren einer Anwendung während der Ausführung eines Prozesses dargestellt. Der Bediener, die erste Anwendung und die zweite Anwendung auf der ersten Vorrichtung zum Authentifizieren einer Anwendung und die dritte Anwendung auf einer zweiten Vorrichtung zum Authentifizieren einer Anwendung sind den vorstehend in Bezug auf 1-4 beschriebenen ähnlich. Somit entfallen wiederholte Beschreibungen. Zudem sind die Vorgänge 501 und 504-511 den Vorgängen 401 und 404-411 ähnlich. Somit entfallen auch wiederholte Beschreibungen der Vorgänge 501 und 504-511.
  • Im Vorgang 512 wird ermittelt, ob die Anforderung der dritten Anwendung 303 gültig ist. Wenn die Anforderung ungültig ist, kehrt der Prozess zum Registrierungsprozess zurück. Wenn die Anforderung jedoch gültig ist, fährt der Prozess mit dem Vorgang 514 fort. Im Vorgang 514 werden von der zweiten Anwendung 302 zwei eindeutige Zufallszahlen erzeugt und im Vorgang 515 verschlüsselt. Die zweite Zufallszahl wird von der zweiten Anwendung 302 im Vorgang 516 an die erste Anwendung 301 gesendet. Im Vorgang 517 werden die erste Zufallszahl und die zweite Zufallszahl mit dem öffentlichen Schlüssel der dritten Anwendung verschlüsselt und von der zweiten Anwendung 302 mit einem vom Back-Office signierten Zertifikat der ersten Vorrichtung an die dritte Anwendung 303 gesendet.
  • Die dritte Anwendung 303 prüft das Zertifikat der ersten Vorrichtung, indem sie prüft, ob dieses vom Back Office im Vorgang 518 signiert wurde. Wenn das Zertifikat nicht vom Back-Office signiert ist, wird es von der dritten Anwendung abgelehnt. Wenn es vom Back-Office signiert ist, werden die verschlüsselten ersten und zweiten Zufallszahlen mit einem privaten Schlüssel der dritten Anwendung 303 im Vorgang 519 entschlüsselt und ein erster Hash der entschlüsselten ersten Zufallszahl und ein erster gemeinsamer vordefinierter Kontextstring an die zweite Anwendung im Vorgang 520 gesendet.
  • Im Vorgang 521 überprüft die zweite Anwendung 302 den empfangenen ersten Hash und falls die Überprüfung fehlschlägt, wird der Firewall-Synchronisierungsport aktiv geschlossen. Wenn die Überprüfung erfolgreich ist, wird ein angeforderter Transportschicht-Sicherheitsport (TLS) im Vorgang 522 für einen vorbestimmten Zeitraum (z. B. sechzig Sekunden) geöffnet, wie in einem bei der Registrierung vorgelegten Zertifikat definiert.
  • Wenn der vorher vereinbarte TLS-Schlüssel (PSK-Pre-Shared Key) nicht dem Vorgang 522 folgt, empfängt die erste Anwendung 301 einen zweiten Hash der zweiten entschlüsselten Zufallszahl und einen zweiten gemeinsamen vordefinierten Kontextstring in Vorgang 523. Anschließend wird in Vorgang 524 der zweite Hash durch die erste Anwendung 301 überprüft und eine TLS PSK-Verbindung basierend auf dem überprüften zweiten Hash und der zweiten Zufallszahl aufgebaut.
  • 6 zeigt ein Flussdiagramm für ein Verfahren zur Authentifizierung einer Anwendung gemäß einer exemplarischen Ausführungsform. Das Verfahren von 6 kann durch die Vorrichtung zum Authentifizieren einer Anwendung 100 durchgeführt werden oder kann in ein computerlesbares Medium als Anweisungen codiert werden, die von einem Computer ausführbar sind, um das Verfahren durchzuführen.
  • Unter Bezugnahme auf 6 und Vorgang 610 verbindet sich eine Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem zweiten Port als Reaktion auf das Empfangen einer Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung. Im Vorgang 620 wird eine Anforderung mit einem signierten Zertifikat der zweiten Vorrichtung empfangen. Anschließend wird im Vorgang 630 ermittelt, ob das signierte Zertifikat gültig ist. Als Reaktion auf das Bestimmen, ob das signierte Zertifikat gültig ist, wird in Vorgang S650 ein Bildschirm zur Annahme der Anforderung angezeigt, wenn das signierte Zertifikat nicht genehmigt ist. Im Vorgang 640 wird eine Funktion ausgeführt, wenn die Anforderung akzeptiert wird.
  • Die hierin offenbarten Prozesse, Verfahren oder Algorithmen können von einer Verarbeitungsvorrichtung, einer Steuerung oder einem Computer, die jede vorhandene programmierbare elektronische Steuervorrichtung oder eine dedizierte elektronische Steuervorrichtung beinhalten können, geliefert/implementiert werden. Desgleichen können die Prozesse, Verfahren oder Algorithmen als Daten oder ausführbare Anweisungen durch eine Steuerung oder einen Computer in vielfältiger Weise gespeichert werden, darunter ohne Einschränkung die dauerhafte Speicherung auf nicht beschreibbaren Speichermedien, wie einem ROM, und als änderbare Information auf beschreibbaren Speichermedien, wie Disketten, Magnetbändern, CDs, RAM sowie anderen magnetischen und optischen Medien. Die Prozesse, Verfahren oder Algorithmen können auch in einem softwareausführbaren Objekt implementiert werden. Alternativ können die Prozesse, Verfahren oder Algorithmen ganz oder teilweise mit geeigneten Hardwarekomponenten, wie beispielsweise anwendungsspezifischen integrierten Schaltungen (ASICs), feldprogrammierbaren Gate Arrays (FPGAs), Zustandsmaschinen, Steuerungen oder anderen Hardwarekomponenten oder Vorrichtungen oder einer Kombination von Hardware, Software und Firmwarekomponenten verkörpert werden.
  • Es wurden oben ein oder mehrere Ausführungsbeispiele anhand der Zeichnungen beschrieben. Die oben beschriebenen Ausführungsbeispiele sollten nur im beschreibenden Sinne betrachtet werden und nicht der Begrenzung dienen. Außerdem können die Ausführungsbeispiele ohne Abweichen vom Geist und Schutzumfang des Erfindungsgedankens modifiziert werden, was in den folgenden Ansprüchen definiert ist.

Claims (10)

  1. Verfahren zur Authentifizierung einer Anwendung, das Verfahren umfassend: Erfassen einer Eingabe, um in einen Registrierungsmodus auf einer ersten Vorrichtung einzutreten, und Eintreten in den Registrierungsmodus für einen vorbestimmten Zeitraum; während des vorbestimmten Zeitraums, Verbinden einer Authentifizierungsanwendung auf der ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung; Empfangen einer zweiten Anforderung mit einem signierten Zertifikat der zweiten Vorrichtung; Bestimmen, ob das signierte Zertifikat gültig ist; als Reaktion auf das Bestimmen, ob das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme der Anforderung, wenn das signierte Zertifikat nicht genehmigt ist; und Speichern der Anforderung, wenn die Anforderung akzeptiert wird.
  2. Verfahren nach Anspruch 1, worin die zweite Anforderung, die das signierte Zertifikat beinhaltet, eine oder mehrere von Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung umfasst.
  3. Verfahren nach Anspruch 1, worin das Verbinden der Authentifizierungsanwendung auf der ersten Vorrichtung mit der zweiten Anwendung der zweiten Vorrichtung auf der zweiten Adresse und dem Port als Reaktion auf das Empfangen der ersten Anforderung auf der ersten Adresse und dem Port von der zweiten Anwendung das Reagieren auf die Anforderung durch Bereitstellen der zweiten Adresse und des Ports an die zweite Anwendung umfasst.
  4. Verfahren nach Anspruch 1, worin die erste Anforderung an die erste Adresse und den Port aus der zweiten Anwendung eine Multicast Domain Name System-(mDNS)-Anforderung umfasst, und worin die erste Adresse und der erste Port einen UDP-ratenbegrenzten Port umfasst.
  5. Verfahren nach Anspruch 1, worin die zweite Adresse und der zweite Port einen TCP-ratenbegrenzten Port umfassen.
  6. Verfahren nach Anspruch 1, worin der Bildschirm zum Akzeptieren der Anforderung eine erste Option zum Akzeptieren einer Verbindung von der zweiten Anwendung, eine zweite Option zum Akzeptieren einer Verbindung von der zweiten Anwendung für die empfangene Anforderung und eine dritte Option zum Ablehnen einer Verbindung von der zweiten Anwendung für die empfangene Anforderung beinhaltet.
  7. Verfahren zur Authentifizierung einer Anwendung, das Verfahren umfassend: Verbinden einer Authentifizierungsanwendung auf einer ersten Vorrichtung mit einer zweiten Anwendung einer zweiten Vorrichtung auf einer zweiten Adresse und einem Port als Reaktion auf das Empfangen einer ersten Anforderung auf einer ersten Adresse und einem Port von der zweiten Anwendung; Empfangen einer zweiten Anforderung mit einem signierten Zertifikat der zweiten Vorrichtung; Bestimmen, ob das signierte Zertifikat gültig ist; als Reaktion auf das Bestimmen, ob das signierte Zertifikat gültig ist, Anzeigen eines Bildschirms zur Annahme der Anforderung, wenn das signierte Zertifikat nicht genehmigt wurde; Senden einer ersten verschlüsselten Zufallszahl und einer zweiten verschlüsselten Zufallszahl an die erste Anwendung auf der ersten Vorrichtung und die zweite Anwendung auf der zweiten Vorrichtung; Empfangen eines ersten Hash der entschlüsselten ersten Zufallszahl und eines ersten gemeinsamen vordefinierten Kontextstrings durch die Authentifizierungsanwendung; Überprüfen des empfangenen ersten Hash an der Authentifizierungsanwendung; und Schließen eines Firewall-Sync-Ports, wenn die Überprüfung des empfangenen ersten Hash fehlschlägt oder Öffnen eines angeforderten TLS-Ports, wenn die Überprüfung des empfangenen ersten Hash erfolgreich ist.
  8. Verfahren nach Anspruch 7, des Weiteren umfassend: Empfangen, durch die erste Anwendung, eines zweiten Hash der zweiten entschlüsselten Zufallszahl und eines zweiten gemeinsamen vordefinierten Kontextstrings; Überprüfen des zweiten Hash an der ersten Anwendung; und Einrichten eines TLS PSK basierend auf dem überprüften zweiten Hash und der zweiten Zufallszahl.
  9. Verfahren nach Anspruch 7, worin die zweite Anforderung, die das signierte Zertifikat beinhaltet, eine oder mehrere von Informationen zur Benutzeridentifizierung, Informationen zur Anwendungsidentifizierung, einen angeforderten Dienstnamen, einen angeforderten Dienstport, ein Zertifikat der zweiten Vorrichtung und einen öffentlichen Schlüssel der zweiten Vorrichtung umfasst.
  10. Verfahren nach Anspruch 7, worin die erste Anforderung an die erste Adresse und den Port aus der zweiten Anwendung und eine Multicast Domain Name System-(mDNS)-Anforderung umfasst, und worin die erste Adresse und der Port einen UDP-ratenbegrenzten Port und die zweite Adresse und der Port einen TCP-ratenbegrenzten Port umfassen.
DE102018123653.0A 2017-09-28 2018-09-25 Verfahren und vorrichtung zur authentifizierung von anwendungen Withdrawn DE102018123653A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/718,228 2017-09-28
US15/718,228 US20190097814A1 (en) 2017-09-28 2017-09-28 Method and apparatus for application authentication

Publications (1)

Publication Number Publication Date
DE102018123653A1 true DE102018123653A1 (de) 2019-03-28

Family

ID=65638287

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018123653.0A Withdrawn DE102018123653A1 (de) 2017-09-28 2018-09-25 Verfahren und vorrichtung zur authentifizierung von anwendungen

Country Status (3)

Country Link
US (1) US20190097814A1 (de)
CN (1) CN109587107A (de)
DE (1) DE102018123653A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102020202882A1 (de) * 2020-03-06 2021-09-09 Robert Bosch Gesellschaft mit beschränkter Haftung Gesicherter und dokumentierter Schlüsselzugriff durch eine Anwendung

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20010293A (fi) * 2001-02-15 2002-08-16 Ssh Comm Security Corp Menetelmä turvattujen yhteyksien luomiseen
US7207061B2 (en) * 2001-08-31 2007-04-17 International Business Machines Corporation State machine for accessing a stealth firewall
CN100426719C (zh) * 2003-09-01 2008-10-15 台均科技(深圳)有限公司 用户端设备与本地客户端应用服务器或远程网络服务器间鉴权的方法
US7496750B2 (en) * 2004-12-07 2009-02-24 Cisco Technology, Inc. Performing security functions on a message payload in a network element
KR101084938B1 (ko) * 2007-10-05 2011-11-18 인터디지탈 테크날러지 코포레이션 Uicc와 단말기간 보안 채널화를 위한 기술
US8788810B2 (en) * 2009-12-29 2014-07-22 Motorola Mobility Llc Temporary registration of devices
CN104468074A (zh) * 2013-09-18 2015-03-25 北京三星通信技术研究有限公司 应用程序之间认证的方法及设备
EP3111716A1 (de) * 2014-02-24 2017-01-04 Telefonaktiebolaget LM Ericsson (publ) Verfahren zum zugreifen auf lokale dienste in wlans
US11228569B2 (en) * 2016-03-01 2022-01-18 Ford Global Technologies, Llc Secure tunneling for connected application security
CN107040513B (zh) * 2016-06-30 2020-06-02 郭铮铮 一种可信访问认证处理方法、用户终端和服务端

Also Published As

Publication number Publication date
CN109587107A (zh) 2019-04-05
US20190097814A1 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
DE102016123276B4 (de) Verfahren zur kommunikation über eine bluetooth low energy (ble)-verbindung in einem fahrzeug
EP2415228B1 (de) Verfahren zum lesen von attributen aus einem id-token über eine mobilfunkverbindung
EP2962439B1 (de) Lesen eines attributs aus einem id-token
DE102018129843A1 (de) Einrichten einer sicheren drahtlosen Nahbereichs-Kommunikationsverbindung an einem Fahrzeug
DE102015202308A1 (de) Computerimplementiertes Verfahren zur Zugriffskontrolle
DE102009042141B4 (de) System und Verfahren zum Bestätigen, dass ein Benutzer einer elektronischen Vorrichtung ein autorisierter Benutzer eines Fahrzeuges ist
DE112017002032T5 (de) Verfahren und Vorrichtung zur Verwendung einer biometrischen Vorlage zum Steuern des Zugangs zu einer Benutzeranmeldeinformation für ein gemeinsam genutztes drahtloses Kommunikationsgerät
EP3246839B1 (de) Zugangskontrolle mit einem mobilfunkgerät
EP2567345B1 (de) Verfahren zum lesen eines rfid-tokens, rfid-karte und elektronisches gerät
EP2631836A1 (de) Computerimplementiertes Verfahren für eine Nutzungskontrolle, Computerprogrammprodukt, Datenverarbeitungssystem und Transportsystem
DE102021110171A1 (de) System zum steuern von vorgängen eines fahrzeugs unter verwendung von mobilen vorrichtungen und verwandte verfahren davon
DE112017000633T5 (de) Sichere archivierung und wiederherstellung von multifaktor-authentifizierungsschablonen
DE102019115419A1 (de) Energieübertragungssysteme und -verfahren
EP3300406B1 (de) Aufbau einer verbindung zwischen einem mobilen gerät und einer telematikeinheit eines nutzfahrzeugs
DE102020102921A1 (de) System und verfahren zum auffinden einer vorrichtung in einer lauten umgebung
DE102018123653A1 (de) Verfahren und vorrichtung zur authentifizierung von anwendungen
DE112019003528T5 (de) Verfahren zum Einrichten einer anonymen digitalen Identität
CN105721489A (zh) 基于数字证书对ip白名单中的ip认证方法与系统
DE102017115064A1 (de) Sicheres ermitteln von zeitwerten bei angeschlossenen vorrichtungen
CN110191438B (zh) 一种用于车车通信的认证方法及相关产品
DE102016215628A1 (de) Kommunikationssystem zur Verwaltung von Nutzungsrechten an einem Fahrzeug
WO2016146726A1 (de) Verfahren zur erzeugung eines zertifikats für einen sicherheitstoken
EP2381712B1 (de) Sicheres Auslesen von Daten aus einem Funkgerät mit festintegriertem TPM
DE102012011838A1 (de) Nahfeldkommunikationsmodul zum Austausch von Daten
DE102022122289A1 (de) Verwaltung der kommunikation zwischen einem fahrzeug und einer benutzervorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: MANITZ FINSTERWALD PATENT- UND RECHTSANWALTSPA, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee