DE112017004160T5 - Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung - Google Patents

Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung Download PDF

Info

Publication number
DE112017004160T5
DE112017004160T5 DE112017004160.0T DE112017004160T DE112017004160T5 DE 112017004160 T5 DE112017004160 T5 DE 112017004160T5 DE 112017004160 T DE112017004160 T DE 112017004160T DE 112017004160 T5 DE112017004160 T5 DE 112017004160T5
Authority
DE
Germany
Prior art keywords
function
computer system
server computer
string
application
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.)
Pending
Application number
DE112017004160.0T
Other languages
English (en)
Inventor
Marco Melillo
Paolo Bianchini
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112017004160T5 publication Critical patent/DE112017004160T5/de
Pending 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/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

Zum Schützen der Kommunikation zwischen einem Server-Computer und einem Client-Computer wird ein Konzept bereitgestellt. Eine erste Zeichenfolge wird an den Client gesendet in Reaktion auf eine Anforderung, die Ausführung einer Anwendung durch den Client-Computer zu gestatten, um auf eine erste Funktion zuzugreifen. Eine zweite Zeichenfolge, die einen Parameter einer zweiten Funktion enthält, wird empfangen. Die zweite Zeichenfolge ist ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl und einer Ausführung des Befehls durch den Client. Die zweite Zeichenfolge wird in einen Aufruf an die zweite Funktion umgewandelt. Unter Verwendung des Aufrufs führt der Server die zweite Funktion aus. Auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion, und ohne eine Umsetzung von nativem Code zu erfordern, bestimmt der Server, ob (i) der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft ein Schützen von Kommunikationen zwischen einem Client und einem Server, und insbesondere ein Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung eines Mobilgeräts.
  • Mobile Hybridmodus-Anwendungen können JavaScript®-Code in einem nativen Container ausführen, was eine plattformübergreifende Entwicklung vereinfacht, Backend-Server jedoch einer Möglichkeit aussetzt, von nicht autorisierten Anwendungen aufgerufen zu werden. JavaScript ist eine eingetragene Marke von Oracle America Inc. mit Sitz in Redwood Shores, Kalifornien. Ein Angreifer kann den mit der Anwendung bereitgestellten JavaScript®-Code untersuchen und die eigene Anwendung des Angreifers schreiben, die nicht autorisierte Aufrufe an den Server ausführt. Einige bekannte Entwicklungs-Frameworks von Mobilanwendungen können den Server vor modifiziertem Code auf einem Mobiltelefon schützen, indem eine native Umsetzung verwendet wird (z.B. ein von einem Server an die Anwendung gesendetes Abfrage-Token wird durch kompilierten nativen Code verarbeitet, sodass ein außenstehender Angreifer die Logik der Verarbeitung nicht sehen kann).
  • KURZDARSTELLUNG DER ERFINDUNG
  • In einer ersten Ausführungsform stellt die vorliegende Erfindung ein Verfahren zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer bereit. Das Verfahren enthält ein Senden einer ersten Zeichenfolge durch den Server-Computer an den Client-Computer in Reaktion auf eine Anforderung an den Server-Computer, eine Authentizität einer Anwendung zu prüfen, die durch den Client-Computer ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch den Server-Computer ausgeführt wird. Das Verfahren enthält ferner in Reaktion auf ein Senden der ersten Zeichenfolge ein Empfangen einer zweiten Zeichenfolge durch den Server-Computer, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computers ist. Die zweite Zeichenfolge ist ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch den Client-Computer und einer lokalen Ausführung des Befehls durch den Client-Computer. Das Verfahren enthält ferner ein Umwandeln der zweiten Zeichenfolge durch den Server-Computer in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen. Das Verfahren enthält ferner ein Ausführen der zweiten Funktion durch den Server-Computer unter Verwendung des Aufrufs an die zweite Funktion. Das Verfahren enthält ferner auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ein Bestimmen durch den Server-Computer, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  • In einer zweiten Ausführungsform stellt die vorliegende Erfindung ein Computerprogrammprodukt bereit, das ein computerlesbares Speichermedium und einen computerlesbaren Programmcode enthält, der in dem computerlesbaren Speichermedium gespeichert ist. Der computerlesbare Programmcode enthält Anweisungen, die durch eine Zentraleinheit (CPU) eines Server-Computersystems ausgeführt werden, um ein Verfahren zum Schützen von Kommunikation zwischen dem Server-Computersystem und einem Client-Computersystem umzusetzen. Das Verfahren enthält ein Senden einer ersten Zeichenfolge durch das Server-Computersystem an das Client-Computersystem in Reaktion auf eine Anforderung an das Server-Computersystem, eine Authentizität einer Anwendung zu prüfen, die durch das Client-Computersystem ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch das Server-Computersystem ausgeführt wird. Das Verfahren enthält ferner in Reaktion auf ein Senden der ersten Zeichenfolge ein Empfangen einer zweiten Zeichenfolge durch das Server-Computersystem, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computersystems ist. Die zweite Zeichenfolge ist ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch das Client-Computersystem und einer lokalen Ausführung des Befehls durch das Client-Computersystem. Das Verfahren enthält ferner ein Umwandeln der zweiten Zeichenfolge durch das Server-Computersystem in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen. Das Verfahren enthält ferner ein Ausführen der zweiten Funktion durch das Server-Computersystem unter Verwendung des Aufrufs an die zweite Funktion. Das Verfahren enthält ferner auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ein Bestimmen durch das Server-Computersystem, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  • In einer dritten Ausführungsform stellt die vorliegende Erfindung ein Computersystem bereit, das eine Zentraleinheit (CPU), einen mit der CPU verbundenen Arbeitsspeicher und eine mit der CPU verbundene computerlesbare Speichereinheit enthält. Die Speichereinheit enthält Anweisungen, die durch die CPU über den Arbeitsspeicher ausgeführt werden, um ein Verfahren zum Schützen von Kommunikation zwischen dem Server-Computersystem und einem Client-Computersystem umzusetzen. Das Verfahren enthält ein Senden einer ersten Zeichenfolge durch das Server-Computersystem an das Client-Computersystem in Reaktion auf eine Anforderung an das Server-Computersystem, eine Authentizität einer Anwendung zu prüfen, die durch das Client-Computersystem ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch das Server-Computersystem ausgeführt wird. Das Verfahren enthält ferner in Reaktion auf ein Senden der ersten Zeichenfolge ein Empfangen einer zweiten Zeichenfolge durch das Server-Computersystem, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computersystems ist. Die zweite Zeichenfolge ist ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch das Client-Computersystem und einer lokalen Ausführung des Befehls durch das Client-Computersystem. Das Verfahren enthält ferner ein Umwandeln der zweiten Zeichenfolge durch das Server-Computersystem in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen. Das Verfahren enthält ferner ein Ausführen der zweiten Funktion durch das Server-Computersystem unter Verwendung des Aufrufs an die zweite Funktion. Das Verfahren enthält ferner auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ein Bestimmen durch das Server-Computersystem, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  • Ausführungsformen der vorliegenden Erfindung validieren die Authentizität einer Mobilanwendung, um nicht autorisierte Anwendungen daran zu hindern, einen Server aufzurufen, ohne eine native Umsetzung zum Prüfen einer Anwendungsauthentizität zu erfordern. Ausführungsformen der vorliegenden Erfindung können in jeder Client-Server-Architektur umgesetzt werden oder zu einem Authentifizierungs-Framework hinzugefügt werden, das bereits in der Client-Server-Architektur umgesetzt ist, wenn das Authentifizierungs-Framework so konfiguriert ist, dass der Client nach einer Authentifizierung gefragt wird (z.B. nach einem Passwort gefragt wird).
  • Figurenliste
    • 1 ist ein Blockschaubild eines Systems zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer gemäß Ausführungsformen der vorliegenden Erfindung.
    • 2 ist ein Ablaufplan eines Prozesses zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer, wobei der Prozess in dem System von 1 gemäß Ausführungsformen der vorliegenden Erfindung umgesetzt wird.
    • 3 ist ein Blockschaubild eines Computers, der den im System von 1 enthaltenen Server-Computer enthält und der den Prozess von 2 gemäß Ausführungsformen der vorliegenden Erfindung umsetzt.
  • AUSFÜHRLICHE BESCHREIBUNG
  • ÜBERBLICK
  • Ausführungsformen der vorliegenden Erfindung validieren eine Anwendung in einer Client/Server-Umgebung oder einer mobilen Hybridmodus-Anwendung als für den Zugriff auf einen Server autorisiert. Die Anwendung arbeitet in einem Framework, das eine Sicherheitsprüfung umsetzt, sodass, wenn der Client eine Funktion aufruft, die durch den Server offenbart wird, der Server an den Client eine Abfrage sendet, die es dem Client ermöglicht, sich selbst zu authentifizieren und zu autorisieren, die Funktion des Servers auf geschützte Weise aufzurufen. In einer Ausführungsform wird eine JavaScript®-Datei der mobilen Hybridmodus-Anwendung mit Code ergänzt, der notwendig ist, um jede in der Datei selbst verfügbare Funktion durch Hinzufügen einer Code-Ausführungsfunktion zu erhalten. Ein Angreifer ist nicht fähig, die Technik zu identifizieren, die zum Schützen des Codes verwendet wird, da die Code-Ausführungsfunktion den während der Laufzeit empfangenen Code in einer Zeichenfolgevariablen ausführt. Der Server kann den Code über Fernzugriff modifizieren und die Modifizierung des Codes während der Laufzeit validieren. Die Sicherheitstechnik kann in jeder Client/Server-Architektur mit einer Datei verwendet werden, die in einer interpretierten Programmiersprache geschrieben ist, d.h. einer funktionalen Programmiersprache (z.B. Lisp, Scheme, Haskell, ML, lambda usw.), oder eine funktionale Programmierung unterstützt, wie beispielsweise die JavaScript®-Web-Skriptsprache. Die Programmiersprache muss fähig sein zum: (1) Umwandeln einer Funktion in eine Zeichenfolge; (2) Modifizieren einer Funktion während der Laufzeit; und (3) Umformen einer Zeichenfolge in eine Funktion.
  • Ausführungsformen der vorliegenden Erfindung ermöglichen es dem Server, jeden Typ von Code einzufügen, der auf einer Mobileinheit oder einem anderen Client-Computer ausgeführt wird, um die relevanten Sicherheits- und Authentizitätsprüfungen umzusetzen, bevor Funktionsaufrufe zugelassen werden. Derartige Routinen stehen in den Quelldateien nicht zur Verfügung (z.B. JavaScript®-Quelldateien), sondern werden nur vom Server selbst in kontrollierter Weise ausgeführt. Die Sicherheit wird dadurch verstärkt, dass der Server in der Lage ist, die Sicherheitsumsetzung im Laufe der Zeit zu modifizieren und zusätzliche Prüfungen auszuführen, zum Beispiel für Ausführungszeit und -verhalten der Client-Anwendung.
  • Ausführungsformen der vorliegenden Erfindung schützen die Kommunikation zwischen dem Server und dem Client durch Ausführen der folgenden Schritte: (1) wenn der Client eine durch den Server offenbarte Funktion aufruft, Ausführen einer Sicherheitsabfrage auf der Client-Seite; (2) der Server sendet eine auszuführende Zeichenfolge (z.B. Abrufen und Senden eines speziellen Teils der JavaScript®-Quelldatei); (3) der Client führt den Code aus und sendet das Ergebnis an den Server und kann die ursprüngliche Funktion als eine Zeichenfolge senden; und (4) der Server liest das Ergebnis und entscheidet, ob der Client authentisch ist.
  • Schutz während der Übertragung und Codeverschleierung sind erforderlich, um einen Angreifer daran zu hindern, den Gesamtprozess zu verstehen. In einer Ausführungsform verwendet die Technik zum Schützen von Kommunikation zwischen Client und Server JavaScript®-Code und verwendet keine native Umsetzung.
  • SYSTEM ZUM SCHÜTZEN VON KOMMUNIKATION ZWISCHEN EINEM SERVER UND EINEM CLIENT
  • 1 ist ein Blockschaubild eines Systems 100 zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer gemäß Ausführungsformen der vorliegenden Erfindung. System 100, ein Server-Computer 102, der Authentizitätsinformationen 104 speichert und serverseitige Authentifizierungskomponenten 106 auf Grundlage von Software ausführt. Das System 100 enthält auch einen Client-Computer 108, der eine Anwendung 110 auf Software-Grundlage ausführt (z.B. eine mobile Anwendung), die eine clientseitige Authentifizierungskomponente 112 und ein Abfragedienstprogramm 114 enthält.
  • Vor einer Freigabe der Anwendung 110 wird ein Anwendungs-Authentifizierungswerkzeug 116 auf Software-Grundlage auf einem Computer (z.B. dem Server-Computer 102 oder einem anderen, nicht gezeigten Computer) ausgeführt, um Authentizitätsinformationen 104 und das Abfragedienstprogramm 114 zu erstellen. Die Authentifizierungsinformationen 104 werden in einem Datenspeicher gespeichert und enthalten Sicherheitsabfragen und die richtigen Antworten auf die Sicherheitsabfragen. Das Anwendungs-Authentifizierungswerkzeug 116 liest aus einem Datenspeicher, der Anwendungsquelldateien 118 speichert, bei denen es sich um die Quelldateien der Anwendung 110 handelt, d.h. eine Anwendung, deren Authentizität durch eine Sicherheitsabfrage validiert werden muss in Reaktion darauf, dass die Anwendung versucht, auf eine Funktion des Server-Computers 102 zuzugreifen.
  • Das Abfragedienstprogramm 114 ist ein Code, der ausgeführt wird, um auf die Sicherheitsabfrage zu antworten, die durch den Server-Computer 102 an den Client-Computer 108 gesendet wird. Das Abfragedienstprogramm 114 ist nicht innerhalb der Anwendung 110 geschrieben, sondern wird in die Anwendung 110 durch das Anwendungs-Authentifizierungswerkzeug 116 eingefügt. In einer Ausführungsform ist das Abfragedienstprogramm 114 in der JavaScript®-Sprache geschrieben. Wie hierin verwendet, ist eine Abfrage oder Sicherheitsabfrage eine Anforderung vom Server 102, die an den Client-Computer 108 gesendet wird, um mit Code-Informationen zu antworten, die einer Funktion zugehörig sind, wobei die Code-Informationen durch Modifizieren der Funktion während der Laufzeit, Erhalten eines Abschnitt des Codes der Funktion oder Ausführen des Codes der Funktion erhalten werden.
  • Die serverseitige Authentifizierungskomponente 106 wählt eine Sicherheitsabfrage aus den in den Authentifizierungsinformationen 104 gespeicherten Abfragen und sendet die ausgewählte Sicherheitsabfrage zu der clientseitigen Authentifizierungskomponente 112, um die Authentizität der Anwendung 110 zu validieren. Die clientseitige Authentifizierungskomponente 112 empfängt die Sicherheitsabfrage und sendet eine Antwort auf die Sicherheitsabfrage an die serverseitige Authentifizierungskomponente 106, die die Antwort mit der richtigen Antwort in den Authentifizierungsinformationen 104 vergleicht. Wenn die Antwort mit der richtigen Antwort in den Authentifizierungsinformationen 104 übereinstimmt, validiert die serverseitige Authentifizierungskomponente 106 die Authentizität der Anwendung 110 und gestattet der Anwendung 110, auf die Funktion des Server-Computers 102 zuzugreifen; andernfalls hindert die serverseitige Authentifizierungskomponente 106 die Anwendung 110 daran, auf die Funktion des Server-Computers 102 zuzugreifen.
  • Die Funktionsweise der in 1 gezeigten Komponenten wird ausführlicher in den nachstehenden Erläuterungen unter Bezugnahme auf 2 und 3 beschrieben.
  • PROZESS ZUM SCHÜTZEN VON KOMMUNIKATION ZWISCHEN EINEM SERVER UND EINEM CLIENT
  • 2 ist ein Ablaufplan eines Prozesses zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer, wobei der Prozess in dem System von 1 gemäß Ausführungsformen der vorliegenden Erfindung umgesetzt wird. Der Prozess von 2 beginnt in Schritt 200. Vor Schritt 202 führt der Client-Computer (siehe 1) die Anwendung 110 (siehe 1) aus, und die Anwendung 110 (siehe 1) versucht eine erste Funktion auszuführen, die durch den Server-Computer 102 (siehe 1) ausgeführt wird, und die erste Funktion wird durch ein Sicherheits-Framework geschützt. In einer Ausführungsform ist die Anwendung 110 (siehe 1) eine mobile Hybridmodus-Anwendung.
  • In Schritt 202 empfängt der Server-Computer 102 (siehe 1) eine Anforderung vom Client-Computer 108 (siehe 1) für den Server-Computer 102 (siehe 1), die Authentizität der Anwendung 110 (siehe 1) zu validieren und damit der Anwendung 110 (siehe 1) zu gestatten, auf die erste Funktion zuzugreifen, die durch den Server-Computer 102 (siehe 1) ausgeführt wird. In einer Ausführungsform empfängt die serverseitige Authentifizierungskomponente 106 (siehe 1) die vorher erwähnte Anforderung von der clientseitigen Authentifizierungskomponente 112 (siehe 1). Alternativ weist der Server-Computer 102 (siehe 1) in Reaktion auf den Versuch durch die Anwendung 110 (siehe 1), auf die erste Funktion zuzugreifen, die serverseitige Authentifizierungskomponente 106 (siehe 1) an, die Authentizität der Anwendung 110 (siehe 1) zu validieren.
  • Nach Schritt 202 und vor Schritt 204 wählt die serverseitige Authentifizierungskomponente 106 (siehe 1) in Reaktion auf die in Schritt 202 empfangene Anforderung eine Sicherheitsabfrage aus mehreren Sicherheitsabfragen aus, die in den Authentizitätsinformationen 104 (siehe 1) enthalten sind, und generiert Code für einen Befehl, der eine Aktion ausführt, um eine Antwort auf die Sicherheitsabfrage zu erhalten. In Schritt 204 sendet die serverseitige Authentifizierungskomponente 106 (siehe 1) in Reaktion auf (1) die in Schritt 202 empfangene Anforderung, (2) die ausgewählte Sicherheitsabfrage und (3) den Code des Befehls, der generiert wird, eine erste Zeichenfolge an den Client-Computer 108 (siehe 1). Die erste Zeichenfolge enthält den Code des Befehls, der die Aktion ausführt, um die Antwort auf die ausgewählte Sicherheitsabfrage zu erhalten. Der Befehl ist durch den Client-Computer 108 (siehe 1) auszuführen. In einer Ausführungsform enthält die durch den Befehl ausgeführte Aktion ein Modifizieren von Code einer zweiten Funktion, die in der Anwendung 110 (siehe 1) enthalten ist, ein Lesen und ein Erhalten von mindestens einem Abschnitt des Codes der zweiten Funktion, wobei der Code in einer interpretierten Programmiersprache geschrieben ist, die eine funktionale Programmiersprache ist oder eine funktionale Programmierung unterstützt, und die die folgenden Fähigkeit hat: (1) Umwandeln einer Funktion in eine Zeichenfolge; (2) Modifizieren einer Funktion während der Laufzeit; und (3) Umformen einer Zeichenfolge in eine Funktion.
  • Nach Schritt 204 und vor Schritt 206 empfängt die clientseitige Authentifizierungskomponente 112 (siehe 1) die erste Zeichenfolge, wodurch ein clientseitiges Sicherheits-Framework aufgerufen wird. Die clientseitige Authentifizierungskomponente 112 (siehe 1) wandelt die empfangene erste Zeichenfolge in den Befehl um und sendet den Befehl anschließend an das Abfragedienstprogramm 114 (siehe 1). In Reaktion auf das Empfangen des Befehls führt das Abfragedienstprogramm 114 (siehe 1) den Befehl lokal aus. Durch Ausführen des Befehls führt das Abfragedienstprogramm 114 (siehe 1) die vorgenannte Aktion aus, erhält eine zweite Zeichenfolge, die ein Ergebnis des Ausführens der Aktion ist, und sendet die zweite Zeichenfolge an die serverseitige Authentifizierungskomponente 106 (siehe 1), wobei die zweite Zeichenfolge einen Parameter einer zweiten Funktion enthält, auf die durch den Server-Computer 102 (siehe 1) zugegriffen werden soll.
  • In Schritt 206 empfängt die serverseitige Authentifizierungskomponente 106 (siehe 1) die zweite Zeichenfolge in Reaktion auf ein Senden der ersten Zeichenfolge in Schritt 204, die Umwandlung der ersten Zeichenfolge in den Befehl, die lokale Ausführung des Befehls, die Aktion auszuführen, das Erhalten der zweiten Zeichenfolge, die das Ergebnis des Ausführens der Aktion ist, und das Senden der zweiten Zeichenfolge.
  • In Schritt 208 wandelt die Authentifizierungskomponente 106 (siehe 1) die zweite Zeichenfolge in einen Aufruf an die zweite Funktion, die eine interne Serverfunktion ist, und in Daten zum Validieren der Authentizität der Anwendung 110 (siehe 1) um.
  • In Schritt 210 führt die serverseitige Authentifizierungskomponente 106 (siehe 1) die zweite Funktion durch Verwendung des Aufrufs an die zweite Funktion aus, die sich aus der Umwandlung der zweiten Zeichenfolge in Schritt 208 ergeben hat. In einer Ausführungsform verwendet die Ausführung in Schritt 210 eine Spiegelungsfähigkeit der zweiten Funktion, um Code der zweiten Funktion zu modifizieren, mindestens einen Abschnitt des Codes der zweiten Funktion zu lesen und zu erhalten, oder den Code der zweiten Funktion auszuführen.
  • Nach Schritt 210 und vor Schritt 212 erhält die serverseitige Authentifizierungskomponente 106 (siehe 1) ein Ergebnis der Ausführung der zweiten Funktion in Schritt 210.
  • Vor Schritt 212 bestimmt die serverseitige Authentifizierungskomponente 106 (siehe 1), ob das Ergebnis der Ausführung der zweiten Funktion in Schritt 210 mit der richtigen Antwort auf die ausgewählte Sicherheitsabfrage übereinstimmt, wobei die richtige Antwort in den Authentizitätsinformationen 102 (siehe 1) gespeichert ist. In Schritt 212 bestimmt die serverseitige Authentifizierungskomponente 106 (siehe 1) auf Grundlage des Ergebnisses des Ausführens der zweiten Funktion in Schritt 210 und der Bestimmung, ob das Ergebnis mit der richtigen Antwort auf die ausgewählte Sicherheitsabfrage übereinstimmt, und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung 110 (siehe 1) prüft, ob (i) die Authentizität der Anwendung 110 (siehe 1) validiert und damit der Anwendung 110 (siehe 1) gestattet werden soll, auf die erste Funktion zuzugreifen, die auf dem Server 102 (siehe 1) ausgeführt wird, oder (ii) die Anwendung 110 (siehe 1) daran gehindert werden soll, auf die erste Funktion zuzugreifen.
  • Wenn die serverseitige Authentifizierungskomponente 106 (siehe 1) bestimmt, dass das Ergebnis der Ausführung der zweiten Funktion in Schritt 210 mit der richtigen Antwort auf die ausgewählte Sicherheitsabfrage übereinstimmt, validiert die serverseitige Authentifizierungskomponente 106 (siehe 1) die Authentizität der Anwendung 110 (siehe 1) und gestattet der Anwendung 110 (siehe 1), auf die erste Funktion zuzugreifen. Nach dem gestattet wurde, auf die erste Funktion zuzugreifen, führt der Server-Computer 102 den ursprünglichen Aufruf an die erste Funktion aus. Wenn die serverseitige Authentifizierungskomponente 106 (siehe 1) bestimmt, dass das Ergebnis nicht mit der richtigen Antwort übereinstimmt, hindert die serverseitige Authentifizierungskomponente 106 (siehe 1) die Anwendung 110 (1) daran, auf die erste Funktion zuzugreifen. In einer Ausführungsform enthält ein Verhindern, dass die Anwendung 110 (1) auf die erste Funktion zugreift, dass der Server-Computer (siehe 1) eine Fehlerbenachrichtigung generiert und nicht zu dem ursprünglichen Aufruf an die erste Funktion zurückkehrt.
  • Nach Schritt 212 endet der Prozess von 2 in Schritt 214.
  • In einer alternativen Ausführungsform werden in einer Client-Server-Architektur ohne bereits umgesetztes Sicherheits-Framework die folgenden Schritte in Reaktion darauf ausgeführt, dass der Client-Computer 108 (siehe 1) versucht, auf eine Aufruffunktion f1 auf dem Server-Computer 102 (siehe 1) zuzugreifen: (1) der Client-Computer 108 (siehe 1) ruft eine CommandGenerator-Funktion auf dem Server-Computer 102 (siehe 1) auf, wobei der CommandGenerator einen Befehl generiert, der clientseitig auszuführen ist; (2) der Server-Computer 102 (siehe 1) sendet den Befehl an den Client-Computer 108 (siehe 1); (3) der Client-Computer 108 (siehe 1) ruft eine RunCommand-Funktion auf, um den Befehl lokal auszuführen; (4) der Client-Computer 108 (siehe 1) erhält das Ergebnis des Ausrufs von RunCommand als eine Zeichenfolge s1; (5) der Client-Computer 108 (siehe 1) ruft die Funktion f1 auf dem Server-Computer 102 (siehe 1) auf und übergibt die Zeichenfolge s1 in dem Aufruf an die Funktion f1; und (6) der Server-Computer 102 (siehe 1) führt eine interne Serverfunktion, CheckProtection, aus, um zu bestimmen, ob die Zeichenfolge s1 das Ergebnis ist, das von einem Aufruf an die Funktion f1 von einer authentischen Anwendung erwartet wird. Wenn die Zeichenfolge s1 das erwartete Ergebnis ist, führt der Server-Computer 102 (siehe 1) den ursprünglichen Aufruf an die Funktion f1 aus. Wenn die Zeichenfolge s1 nicht das erwartete Ergebnis ist, löst der Server-Computer 102 (siehe 1) anschließend einen Fehler aus und nimmt den ursprünglichen Aufruf an die Funktion f1 nicht wieder auf.
  • COMPUTERSYSTEM
  • 3 ist ein Blockschaubild eines Computers 300, der den im System von 1 enthaltenen Server-Computer enthält, und der den Prozess von 2 gemäß Ausführungsformen der vorliegenden Erfindung umsetzt. Der Computer 300 ist ein Computersystem, dass im Allgemeinen eine Zentraleinheit (CPU) 302, einen Arbeitsspeicher 304, eine Eingabe/Ausgabe- (E/A) Schnittstelle 306 und einen Bus 308 enthält. Ferner ist der Computer 300 mit E/A-Einheiten 310 und einer Computer-Datenspeichereinheit 312 verbunden. In einer Ausführungsform enthält der Computer 300 den Server-Computer 102 (siehe 1). Die CPU 302 führt Berechnungs- und Steuerfunktionen des Computers 300 aus, einschließlich einem Ausführen von Anweisungen, die in einem Programmcode 314 für die serverseitige Authentifizierungskomponente 106 (siehe 1) enthalten sind, um ein Verfahren zum Schützen von Kommunikation zwischen Server- und Client-Computern auszuführen, wobei die Anweisungen durch die CPU 302 über den Arbeitsspeicher 304 ausgeführt werden. In einer weiteren Ausführungsform enthält der Computer 300 den Client-Computer 108 (siehe 1), und die CPU 302 führt Berechnungs- und Steuerfunktionen des Computers 300 aus, einschließlich einem Ausführen von Anweisungen, die in dem Programmcode 314 für die clientseitige Authentifizierungskomponente 112 (siehe FIG, 1) enthalten sind, um ein Verfahren zum Schützen von Kommunikation zwischen Server- und Client-Computern auszuführen. Die CPU 302 kann eine einzelne Verarbeitungseinheit enthalten oder über eine oder mehrere Verarbeitungseinheiten an einer oder mehrere Positionen (z.B. auf einem Client und einem Server) verteilt sein.
  • Der Arbeitsspeicher 304 enthält ein bekanntes computerlesbares Speichermedium, das im Folgenden beschrieben wird. In einer Ausführungsform können Cache-Speicherelemente des Arbeitsspeichers 304 eine vorübergehende Speicherung von zumindest einigem Programmcode bereitstellen (z.B. Programmcode 314), um die Anzahl der Abrufe von Code aus dem Massenspeicher zu verringern, während Anweisungen aus dem Programmcode ausgeführt werden. Des Weiteren kann sich der Arbeitsspeicher 304, der einen oder mehrere Typen eines Datenspeichers aufweist, ähnlich wie die CPU 302 an einer einzigen physischen Position befinden oder über eine Mehrzahl von physischen Systemen in verschiedenen Formen verteilt sein. Ferner kann der Arbeitsspeicher 304 jeweils Daten enthalten, die zum Beispiel über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) verteilt sind.
  • Die E/A-Schnittstelle 306 enthält jedes System zum Austauschen von Informationen für oder von einer externen Quelle. Die E/A-Einheiten 310 enthalten jeden bekannten Typ einer externer Einheit, einschließlich einer Zwei-Ebenen-Anzeige 104 (siehe 1), einer Tastatur usw. Der Bus 308 stellt eine Kommunikationsverbindung zwischen jeder der Komponenten im Computer 300 bereit und kann jeden Typ von Übertragungsverbindung enthalten, einschließlich elektrisch, optisch, drahtlos usw.
  • Die E/A-Schnittstelle 306 ermöglicht auch, dass der Computer 300 Informationen (z.B. Daten oder Programmanweisungen, wie beispielsweise den Programmcode 314) auf der Computer-Datenspeichereinheit 312 oder einer anderen Computer-Datenspeichereinheit (nicht gezeigt) speichert und von dort abruft. Die Computer-Datenspeichereinheit 312 enthält ein bekanntes computerlesbares Speichermedium, das im Folgenden beschrieben wird. In einer Ausführungsform ist die Computer-Datenspeichereinheit 312 eine nicht flüchtige Datenspeichereinheit wie beispielsweise eine Magnetplatte (d.h. ein Festplattenlaufwerk) oder ein optisches Laufwerk (z.B. ein CD-ROM-Laufwerk, das einen CD-ROM-Datenträger aufnimmt).
  • Der Arbeitsspeicher 304 und/oder die Speichereinheit 312 können den Computerprogrammcode 314 speichern, der Anweisungen enthält, die von der CPU 302 über den Arbeitsspeicher 304 zum Schützen von Kommunikation zwischen Server- und Client-Computern ausgeführt werden. Obwohl 3 den Arbeitsspeicher 304 so veranschaulicht, dass er Programmcode enthält, zieht die vorliegende Erfindung Ausführungsformen in Betracht, in denen der Arbeitsspeicher 304 nicht den gesamten Code 314 gleichzeitig enthält, sondern jeweils nur einen Abschnitt des Codes 314 enthält.
  • Ferner kann der Arbeitsspeicher 304 ein Betriebssystem (nicht gezeigt) enthalten und kann andere, in 3 nicht gezeigte Systeme enthalten.
  • Die Speichereinheit 312 und/oder eine oder mehrere andere Computer-Datenspeichereinheiten (nicht gezeigt), die mit dem Computer 300 verbunden sind, können jede Kombination von Authentizitätsinformationen 104 (siehe 1) und Anwendungsquelldateien 118 (siehe 1) enthalten.
  • Wie dem Fachmann klar sein dürfte, kann die vorliegende Erfindung in einer ersten Ausführungsform ein Verfahren sein; in einer zweiten Ausführungsform kann die vorliegende Erfindung ein System sein; und in einer dritten Ausführungsform kann die vorliegende Erfindung ein Computerprogrammprodukt sein.
  • Jede der Komponenten einer Ausführungsform der vorliegenden Erfindung kann von einem Dienstanbieter bereitgestellt, verwaltet, gepflegt werden usw., der anbietet, eine Datenverarbeitungs-Infrastruktur in Bezug auf ein Schützen von Kommunikation zwischen Server- und Client-Computern bereitzustellen oder zu integrieren. Somit offenbart eine Ausführungsform der vorliegenden Erfindung einen Prozess zum Unterstützen einer Computer-Infrastruktur, wobei der Prozess ein Bereitstellen von mindestens einem Unterstützungsdienst für mindestens eines von einem Integrieren, Hosten, Verwalten und Bereitstellen von computerlesbarem Code (z.B. Programmcode 314) in einem Computersystem (z.B. Computer 300) enthält, das einen oder mehrere Prozessoren enthält (z.B. CPU 302), wobei der bzw. die Prozessoren Anweisungen ausführt bzw. ausführen, die in dem Code enthalten sind, um das Computersystem zu veranlassen, eine Kommunikation zwischen Server- und Client-Computern zu schützen. Eine andere Ausführungsform offenbart einen Prozess zum Unterstützen einer Computer-Infrastruktur, wobei der Prozess ein Integrieren von computerlesbarem Programmcode in ein Computersystem mit einem Prozessor enthält. Der Schritt des Integrierens enthält ein Speichern des Programmcodes in einer computerlesbaren Speichereinheit des Computersystems unter Verwendung des Prozessors. Wenn der Programmcode durch den Prozessor ausgeführt wird, setzt er ein Verfahren zum Schützen von Kommunikation zwischen Server- und Client-Computern um.
  • Obwohl klar sein sollte, dass der Programmcode 314 zum Schützen von Kommunikation zwischen Server- und Client-Computern bereitgestellt werden kann, indem er über ein manuelles Laden eines computerlesbaren Speichermediums (z.B. Computer-Datenspeichereinheit 312) direkt in die Client-, Server- und Proxy-Computer (nicht gezeigt) geladen wird, kann der Programmcode 314 auch automatisch oder halbautomatisch für den Computer 300 bereitgestellt werden, indem der Programmcode 314 an einen zentralen Server oder eine Gruppe von zentralen Servern gesendet wird. Der Programmcode 314 wird anschließend in Client-Computer (z.B. Computer 300) heruntergeladen, die den Programmcode 314 ausführen. Alternativ wird der Programmcode 314 per eMail direkt an den Client-Computer gesendet. Der Programmcode 314 wird anschließend entweder in ein Verzeichnis auf dem Client-Computer gestellt oder mittels einer Schaltfläche auf der eMail, die ein Programm ausführt, das den Programmcode 314 in ein Verzeichnis stellt, in ein Verzeichnis auf dem Client-Computer geladen. Eine andere Alternative besteht darin, den Programmcode 314 direkt an ein Verzeichnis auf der Festplatte des Client-Computers zu senden. Falls Proxy-Server vorhanden sind, wählt der Prozess den Proxy-Servercode, bestimmt, auf welchen Computern der Code der Proxy-Server angegeben werden soll, überträgt den Proxy-Servercode und installiert anschließend den Proxy-Servercode auf dem Proxy-Computer. Der Programmcode 314 wird zum Proxy-Server übertragen und anschließend auf dem Proxy-Server gespeichert.
  • Eine weitere Ausführungsform der Erfindung stellt ein Verfahren bereit, das die Prozessschritte auf Grundlage eines Abonnements, von Werbung und/oder von Gebühren ausführt. Das heißt, ein Dienstanbieter, wie beispielsweise ein Lösungsintegrator, kann anbieten, einen Prozess zum Schützen von Kommunikation zwischen Server- und Client-Computern zu erstellen, zu verwalten, zu unterstützen usw. In diesem Fall kann der Dienstanbieter eine Computer-Infrastruktur erstellen, verwalten, unterstützen usw., die die Prozessschritte für einen oder mehrere Kunden ausführt. Im Gegenzug kann der Dienstanbieter eine Bezahlung von dem oder den Kunden gemäß einem Abonnement und/oder einer Gebührenvereinbarung erhalten und/oder der Dienstanbieter kann eine Bezahlung aus dem Verkauf von Werbeinhalt an eine oder mehrere dritte Parteien erhalten.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium oder -medien (d.h. Arbeitsspeicher 304 und Computer-Datenspeichereinheit 312) enthalten, auf denen computerlesbare Programmanweisungen 314 gespeichert sind, um einen Prozessor (z.B. CPU 302) dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen (z.B. Programmcode 314) zur Verwendung durch eine Einheit (z.B. Computer 300) zur Ausführung von Anweisungen beibehalten und speichern kann. Das durch einen Computer lesbare Speichermedium kann zum Beispiel eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiter-Speichereinheit oder jede geeignete Kombination aus dem Vorgenannten sein, es ist aber nicht darauf beschränkt. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer CD-ROM, eine DVD, ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination des Vorgenannten. Ein computerlesbares Speichermedium soll, wie hierin verwendet, nicht als flüchtige Signale per se aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene computerlesbare Programmanweisungen (z.B. Programmcode 314) können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten (z.B. Computer 300) oder über ein Netzwerk (nicht gezeigt) wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit (z.B. Computer-Datenspeichereinheit 312) heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte (nicht gezeigt) oder Netzwerkschnittstelle (nicht gezeigt) in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen (z.B. Programmcode 314) zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch jeden Typ von Netzwerk verbunden werden, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, feldprogrammierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung werden hierin unter Bezugnahme auf Veranschaulichungen von Ablaufplänen (z.B. 2) und/oder Blockschaubildern (z.B. 1 und 3) von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es sollte klar sein, dass jeder Block in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern und Kombinationen von Blöcken in den Veranschaulichungen von Ablaufplänen und/oder den Blockschaubildern durch computerlesbare Programmanweisungen (z.B. Programmcode 314) umgesetzt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor (z.B. CPU 302) eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung (z.B. Computer 300) bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. die andere programmierbare Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium (z.B. Computer-Datenspeichereinheit 312) gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Fertigungsprodukt aufweist, darunter Anweisungen, die Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Schritts umsetzen.
  • Die computerlesbaren Programmanweisungen (z.B. Programmcode 314) können auch auf einen Computer (z.B. Computer 300), eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Arbeitsschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen durch einen Computer umgesetzten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegebenen Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder den Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Umsetzen der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Umsetzungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten. Zum Beispiel können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen parallel ausgeführt werden, oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden, was von der beteiligten Funktionalität abhängt. Es ist ferner anzumerken, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die angegebenen Funktionen oder Handlungen durchführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Zwar wurden hierin Ausführungsformen der vorliegenden Erfindung zu Veranschaulichungszwecken beschrieben, doch werden für den Fachmann viele Modifizierungen und Änderungen offenkundig. Dementsprechend sollen die Ansprüche im Anhang alle derartigen Modifizierungen und Änderungen mit einschließen, die unter den Erfindungsgedanken und Schutzumfang dieser Erfindung fallen.

Claims (15)

  1. Verfahren zum Schützen von Kommunikation zwischen einem Server-Computer und einem Client-Computer, wobei das Verfahren die Schritte aufweist zum: Senden einer ersten Zeichenfolge durch den Server-Computer an den Client-Computer in Reaktion auf eine Anforderung an den Server-Computer, eine Authentizität einer Anwendung zu prüfen, die auf dem Client-Computer ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch den Server-Computer ausgeführt wird; Empfangen, in Reaktion auf den Schritt eines Sendens der ersten Zeichenfolge, einer zweiten Zeichenfolge durch den Server-Computer, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computers ist, wobei die zweite Zeichenfolge ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch den Client-Computer und einer lokalen Ausführung des Befehls durch den Client-Computer ist; Umwandeln der zweiten Zeichenfolge durch den Server-Computer in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen; Ausführen der zweiten Funktion durch den Server-Computer unter Verwendung des Aufrufs an die zweite Funktion; und Bestimmen durch den Server-Computer, auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll, oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  2. Verfahren nach Anspruch 1, wobei die erste Funktion in einer interpretierten Programmiersprache geschrieben ist, die konfiguriert ist, um in der interpretierten Programmiersprache geschriebene Funktionen in jeweilige Zeichenfolgen umzuwandeln, die Funktionen während der Laufzeit zu modifizieren und die Zeichenfolgen in jeweilige Funktionen umzuwandeln, die in der interpretierten Programmiersprache geschrieben sind.
  3. Verfahren nach Anspruch 1 oder 2, wobei die lokale Ausführung des Befehls durch den Client-Computer ein Lesen von mindestens einem Abschnitt des Codes der zweiten Funktion, ein Ausführen des Codes der zweiten Funktion oder ein Modifizieren des Codes der zweiten Funktion enthält.
  4. Verfahren nach einem der Ansprüche 1 bis 3, ferner aufweisend den Schritt zum Hinzufügen der Schritte eines Sendens der ersten Zeichenfolge, eines Empfangens der zweiten Zeichenfolge, eines Umwandelns der zweiten Zeichenfolge, eines Ausführens der zweiten Zeichenfolge und eines Bestimmens, ob (i) die Authentizität des Client-Computers validiert und dem Client-Computer ein Zugriff auf die erste Funktion gestattet werden soll, oder (ii) der Client-Computer am Zugriff auf die erste Funktion über ein Authentifizierungs-Framework, das in einer Client-Server-Architektur umgesetzt ist, gehindert werden soll, wobei das Authentifizierungs-Framework vom Client-Computer eine Authentifizierung verlangt.
  5. Verfahren nach einem der Ansprüche 1 bis 4, das des Weiteren die Schritte aufweist zum: Empfangen einer Mehrzahl von Dateien einer hybriden Anwendung durch den Server-Computer, wobei die Mehrzahl der Dateien in einer Programmiersprache geschrieben ist, die eine funktionale Programmierung unterstützt und fähig ist, Funktionen in jeweilige Zeichenfolgen umzuwandeln, Funktionen während der Laufzeit zu modifizieren und Zeichenfolgen in jeweilige Funktionen umzuformen; Generieren einer Code-Ausführungsdatei durch den Server-Computer und Verknüpfen der Code-Ausführungsdatei mit der Mehrzahl von Dateien, sodass die Code-Ausführungsdatei Zugriff auf Funktionen in der Mehrzahl von Dateien hat, wobei die Code-Ausführungsdatei Code enthält, der die Umwandlung der ersten Zeichenfolge in den Befehl ausführt; und Erhalten von Code-Informationen von der Mehrzahl von Dateien durch den Server-Computer und Speichern der Informationen in dem Server-Computer, wobei der Schritt zum Bestimmen, ob (i) die Authentizität des Client-Computers validiert und dem Client-Computer ein Zugriff auf die erste Funktion gestattet werden soll, oder (ii) der Client-Computer am Zugriff auf die erste Funktion gehindert werden soll, auf Grundlage einer Übereinstimmung zwischen dem Ergebnis der Ausführung der zweiten Funktion und den Code-Informationen beruht, die von der Mehrzahl von Dateien erhalten wurden.
  6. Verfahren nach Anspruch 5, wobei der Schritt des Empfangens der Mehrzahl von Dateien ein Empfangen der Mehrzahl von Dateien enthält, die in einer JavaScript-Programmiersprache geschrieben sind.
  7. Verfahren nach Anspruch 5 oder 6, das des Weiteren die Schritte aufweist zum: Empfangen, durch den Server-Computer, einer Anforderung von der hybriden Anwendung, die auf dem Client-Computer ausgeführt wird, um auf die erste Funktion zuzugreifen; und Bestimmen durch den Server-Computer, in Reaktion auf den Schritt eines Empfangens der Anforderung, dass die erste Funktion durch ein Sicherheits-Framework geschützt wird, das auf dem Server-Computer umgesetzt ist, und dass ein Zugriff auf die erste Funktion eine Validierung der Authentizität des Client-Computers erfordert, wobei der Schritt eines Sendens der ersten Zeichenfolge an den Client-Computer in Reaktion auf den Schritt eines Bestimmens ausgeführt wird, dass der Zugriff auf die erste Funktion die Validierung der Authentizität des Client-Computers erfordert.
  8. Verfahren nach einem der Ansprüche 1 bis 7, das des Weiteren die Schritte aufweist zum: Abgleichen, durch den Server-Computer, des Ergebnisses der Ausführung der zweiten Funktion mit Code-Informationen, die aus Dateien der Anwendung erhalten wurden, die durch den Client-Computer ausgeführt wird; Abgleichen der Code-Informationen auf Grundlage des Ergebnisses der Ausführung der zweiten Funktion, wobei ein Sicherheits-Framework des Server-Computers automatisch die erste Funktion für den Client-Computer ausführt; und Senden eines Ergebnisses des Schritts eines Ausführens der ersten Funktion an den Client-Computer durch den Server-Computer.
  9. Verfahren nach einem der Ansprüche 1 bis 8, das des Weiteren den Schritt aufweist zum: Bereitstellen zumindest eines Unterstützungsdienstes für mindestens eines von einem Erstellen, Integrieren, Hosten, Verwalten und Bereitstellen von computerlesbarem Programmcode in dem Computer, wobei der Programmcode durch einen Prozessor des Computers ausgeführt wird, um die Schritte eines Sendens der ersten Zeichenfolge, eines Empfangens der zweiten Zeichenfolge, eines Umwandelns der zweiten Zeichenfolge in den Aufruf an die zweite Funktion, eines Ausführens der zweiten Zeichenfolge und eines Bestimmens umzusetzen, ob (i) die Authentizität des Client-Computers validiert und dem Client-Computer ein Zugriff auf die erste Funktion gestattet werden soll, oder (ii) der Client-Computer am Zugriff auf die erste Funktion gehindert werden soll.
  10. Computerprogrammprodukt, aufweisend: ein computerlesbares Speichermedium; und einen computerlesbaren Programmcode, der in dem computerlesbaren Speichermedium gespeichert ist, wobei der computerlesbare Programmcode Anweisungen enthält, die durch eine Zentraleinheit (CPU) eines Server-Computersystems ausgeführt werden, um ein Verfahren zum Schützen von Kommunikation zwischen dem Server-Computersystem und einem Client-Computersystem umzusetzen, wobei das Verfahren die Schritte aufweist zum: Senden einer ersten Zeichenfolge durch das Server-Computersystem an das Client-Computersystem in Reaktion auf eine Anforderung an das Server-Computersystem, eine Authentizität einer Anwendung zu prüfen, die durch das Client-Computersystem ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch das Server-Computersystem ausgeführt wird; Empfangen, in Reaktion auf den Schritt eines Sendens der ersten Zeichenfolge, einer zweiten Zeichenfolge durch das Server-Computersystem, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computersystems ist, wobei die zweite Zeichenfolge ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch das Client-Computersystem und einer lokalen Ausführung des Befehls durch das Client-Computersystem ist; Umwandeln der zweiten Zeichenfolge durch das Server-Computersystem in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen; Ausführen der zweiten Funktion durch das Server-Computersystem unter Verwendung des Aufrufs an die zweite Funktion; und Bestimmen durch das Server-Computersystem, auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  11. Computerprogrammprodukt nach Anspruch 10, wobei die lokale Ausführung des Befehls durch das Client-Computersystem ein Lesen von mindestens einem Abschnitt des Codes der zweiten Funktion, ein Ausführen des Codes der zweiten Funktion oder ein Modifizieren des Codes der zweiten Funktion enthält.
  12. Computerprogrammprodukt nach Anspruch 10 oder 11, wobei das Verfahren ferner die Schritte aufweist zum: Abgleichen, durch das Server-Computersystem, des Ergebnisses der Ausführung der zweiten Funktion mit Code-Informationen, die aus Dateien der Anwendung erhalten wurden, die durch das Client-Computersystem ausgeführt wird; Abgleichen, auf Grundlage des Ergebnisses der Ausführung der zweiten Funktion der Code-Informationen, eines Sicherheits-Framework des Server-Computersystems, das die erste Funktion automatisch für das Client-Computersystem ausführt; und Senden eines Ergebnisses des Schritts einer Ausführung der ersten Funktion an das Client-Computersystem durch das Server-Computersystem.
  13. Server-Computersystem, aufweisend: eine Zentraleinheit (CPU): einen Arbeitsspeicher, der mit der CPU verbunden ist; und eine computerlesbare Speichereinheit, die mit der CPU verbunden ist, wobei die Speichereinheit Anweisungen enthält, die von der CPU über den Arbeitsspeicher ausgeführt werden, um ein Verfahren zum Schützen von Kommunikation zwischen dem Server-Computersystem und einem Client-Computersystem umzusetzen, wobei das Verfahren die Schritte aufweist zum: Senden einer ersten Zeichenfolge durch das Server-Computersystem an das Client-Computersystem in Reaktion auf eine Anforderung an das Server-Computersystem, eine Authentizität einer Anwendung zu prüfen, die durch das Client-Computersystem ausgeführt wird, und der Anwendung zu gestatten, auf eine erste Funktion zuzugreifen, die durch das Server-Computersystem ausgeführt wird; Empfangen, in Reaktion auf den Schritt eines Sendens der ersten Zeichenfolge, einer zweiten Zeichenfolge durch das Server-Computersystem, die einen Parameter einer zweiten Funktion enthält, die eine interne Funktion des Server-Computersystems ist, wobei die zweite Zeichenfolge ein Ergebnis einer Umwandlung der ersten Zeichenfolge in einen Befehl durch das Client-Computersystem und einer lokalen Ausführung des Befehls durch das Client-Computersystem ist; Umwandeln der zweiten Zeichenfolge durch das Server-Computersystem in einen Aufruf an die zweite Funktion, um die Authentizität der Anwendung zu prüfen; Ausführen der zweiten Funktion durch das Server-Computersystem unter Verwendung des Aufrufs an die zweite Funktion; und Bestimmen durch das Server-Computersystem, auf Grundlage eines Ergebnisses der Ausführung der zweiten Funktion und ohne eine Umsetzung von nativem Code zu erfordern, der die Authentizität der Anwendung prüft, ob (i) die Authentizität der Anwendung validiert und der Anwendung ein Zugriff auf die erste Funktion gestattet werden soll oder (ii) die Anwendung am Zugriff auf die erste Funktion gehindert werden soll.
  14. Server-Computersystem nach Anspruch 13, wobei die lokale Ausführung des Befehls durch das Client-Computersystem ein Lesen von mindestens einem Abschnitt des Codes der zweiten Funktion, ein Ausführen des Codes der zweiten Funktion oder ein Modifizieren des Codes der zweiten Funktion enthält.
  15. Server-Computersystem nach Anspruch 13 oder 14, wobei das Verfahren ferner die Schritte aufweist zum: Abgleichen, durch das Server-Computersystem, des Ergebnisses der Ausführung der zweiten Funktion mit Code-Informationen, die aus Dateien der Anwendung erhalten wurden, die durch das Client-Computersystem ausgeführt wird; Abgleichen der Code-Informationen, auf Grundlage des Ergebnisses der Ausführung der zweiten Funktion, eines Sicherheits-Framework des Server-Computersystems, das die erste Funktion automatisch für das Client-Computersystem ausführt; und Senden eines Ergebnisses des Schritts der Ausführung der ersten Funktion an das Client-Computersystem durch das Server-Computersystem.
DE112017004160.0T 2016-11-28 2017-11-27 Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung Pending DE112017004160T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/361,967 2016-11-28
US15/361,967 US10063533B2 (en) 2016-11-28 2016-11-28 Protecting a web server against an unauthorized client application
PCT/IB2017/057409 WO2018096505A1 (en) 2016-11-28 2017-11-27 Protecting a web server against an unauthorized client application

Publications (1)

Publication Number Publication Date
DE112017004160T5 true DE112017004160T5 (de) 2019-06-19

Family

ID=62192962

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017004160.0T Pending DE112017004160T5 (de) 2016-11-28 2017-11-27 Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung

Country Status (6)

Country Link
US (2) US10063533B2 (de)
JP (1) JP6967074B2 (de)
CN (1) CN109891415B (de)
DE (1) DE112017004160T5 (de)
GB (1) GB2573422B (de)
WO (1) WO2018096505A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10063533B2 (en) 2016-11-28 2018-08-28 International Business Machines Corporation Protecting a web server against an unauthorized client application
US11748460B2 (en) * 2020-04-27 2023-09-05 Imperva, Inc. Procedural code generation for challenge code
CN111651146B (zh) * 2020-04-29 2024-04-16 宁波吉利汽车研究开发有限公司 一种函数生成方法、装置、设备和介质
CN111544893B (zh) * 2020-04-30 2023-09-01 福建天晴在线互动科技有限公司 一种基于游戏中防止代码流程伪造的加固方法及其系统
CN112804246B (zh) * 2021-01-27 2023-07-28 上海淇玥信息技术有限公司 一种本地能力权限开放和控制方法、装置和电子设备

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4023654B2 (ja) * 2001-09-28 2007-12-19 日立ソフトウエアエンジニアリング株式会社 アプリケーションの監視方法およびプログラム
JP4020376B2 (ja) * 2002-10-02 2007-12-12 日立ソフトウエアエンジニアリング株式会社 Wwwサーバシステム保護方法
US20060053080A1 (en) 2003-02-03 2006-03-09 Brad Edmonson Centralized management of digital rights licensing
US20060294390A1 (en) * 2005-06-23 2006-12-28 International Business Machines Corporation Method and apparatus for sequential authentication using one or more error rates characterizing each security challenge
JP4636607B2 (ja) * 2005-06-29 2011-02-23 株式会社日立ソリューションズ セキュリティ対策アプリケーションの機密ファイル保護方法
US9191793B2 (en) * 2007-10-19 2015-11-17 Duc Anh Ngo Interactive system and process
US20080178273A1 (en) 2007-01-23 2008-07-24 Elmar Weber Automated Authentication Process for Application Clients
MY180093A (en) * 2007-08-06 2020-11-21 Monseignat Bernard De System and method for authentication, data transfer, and protection against phishing
US8756579B1 (en) 2007-12-03 2014-06-17 Appcelerator, Inc. Client-side and server-side unified validation
WO2009103742A2 (en) * 2008-02-18 2009-08-27 Martin Boesgaard Authenticating a web page with embedded javascript
KR101074624B1 (ko) * 2008-11-03 2011-10-17 엔에이치엔비즈니스플랫폼 주식회사 브라우저 기반 어뷰징 방지 방법 및 시스템
US20100306076A1 (en) 2009-05-29 2010-12-02 Ebay Inc. Trusted Integrity Manager (TIM)
US8646062B2 (en) * 2010-11-09 2014-02-04 International Business Machines Corporation Remote authentication based on challenge-response using digital certificates
US8868915B2 (en) 2010-12-06 2014-10-21 Verizon Patent And Licensing Inc. Secure authentication for client application access to protected resources
EP2678798A1 (de) 2011-02-27 2014-01-01 Redigi Inc. Verfahren und vorrichtung zur gemeinsamen nutzung, übertragung und entfernung von zuvor im besitz befindlichen digitalen medien
US9100245B1 (en) 2012-02-08 2015-08-04 Amazon Technologies, Inc. Identifying protected media files
CN107451472B (zh) * 2012-03-08 2021-06-04 阿里巴巴集团控股有限公司 表单验证方法、装置和系统
US9154568B2 (en) 2012-03-20 2015-10-06 Facebook, Inc. Proxy bypass login for applications on mobile devices
US9130926B2 (en) 2012-12-27 2015-09-08 Microsoft Technology Licensing, Llc Authorization messaging with integral delegation data
US9465586B2 (en) * 2013-02-27 2016-10-11 Google Inc. Third party application scriptability
US9021248B2 (en) 2013-08-22 2015-04-28 SolidMobile, Inc. Secure access of mobile devices using passwords
JP6033990B2 (ja) * 2013-09-20 2016-11-30 オラクル・インターナショナル・コーポレイション 単一のフレキシブルかつプラガブルOAuthサーバを備える複数のリソースサーバ、OAuth保護したREST式OAuth許諾管理サービス、およびモバイルアプリケーションシングルサインオンするOAuthサービス
US9584515B2 (en) * 2014-04-30 2017-02-28 Citrix Systems, Inc. Enterprise system authentication and authorization via gateway
CN104113552B (zh) 2014-07-28 2017-06-16 百度在线网络技术(北京)有限公司 一种平台授权方法、平台服务端及应用客户端和系统
CN105743839A (zh) 2014-12-08 2016-07-06 深圳云之家网络有限公司 一种认证授权的方法、装置及系统
CN104850789B (zh) 2015-04-01 2017-10-27 河海大学 一种基于Web浏览器帮助对象的远程代码注入漏洞检测方法
CN106100848B (zh) * 2016-06-14 2019-02-05 东北大学 基于智能手机和用户口令的双因子身份认证系统及方法
US10063533B2 (en) 2016-11-28 2018-08-28 International Business Machines Corporation Protecting a web server against an unauthorized client application

Also Published As

Publication number Publication date
CN109891415B (zh) 2023-03-10
US10574642B2 (en) 2020-02-25
US10063533B2 (en) 2018-08-28
JP6967074B2 (ja) 2021-11-17
GB201909170D0 (en) 2019-08-07
JP2020501239A (ja) 2020-01-16
GB2573422A (en) 2019-11-06
US20180152427A1 (en) 2018-05-31
GB2573422B (en) 2020-04-01
US20180343242A1 (en) 2018-11-29
CN109891415A (zh) 2019-06-14
WO2018096505A1 (en) 2018-05-31

Similar Documents

Publication Publication Date Title
DE112018002031B4 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE112017004160T5 (de) Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung
DE112011101831B4 (de) Schutz vor websiteübergreifenden Scripting-Attacken
DE112018004753T5 (de) Automatisches aufrüsten von einstufiger berechtigungsprüfung auf zweistufige berechtigungsprüfung über eine anwendungsprogrammierschnittstelle
DE102016222034A1 (de) Dynamische Kennworterzeugung
DE112018002984T5 (de) Konformitätsbewusste Laufzeiterzeugung auf Grundlage von Anwendungsmustern und Risikobeurteilung
DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
DE112017004033T5 (de) Verfahren zum Erhalten von geprüften Zertifikaten durch Mikrodienste in elastischen Cloud-Umgebungen
DE112010004135T5 (de) Sicherung Asynchroner Client-Server-Transaktionen
DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE112006001933B4 (de) Stillegen eines Prozessorbusagenten
DE112013002539B4 (de) Validierung mobiler Einheiten
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE112015003926T5 (de) Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
DE112018000525T5 (de) Systeme und Verfahren für die Authentifizierung von Platform Trust bzw. Plattform-Vertrauen in einerNetzwerkfunktions-Virtualisierungsumgebung
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112020004760T5 (de) Steuern von interaktionen mit einer skalierbaren anwendung
DE102018207314A1 (de) Software-definierte mikrodienste
DE112021005026T5 (de) Persistente quellwerte für angenommene alternative identitäten
DE102021123288A1 (de) Regelbasiertes filtern zum sichern von kennwortanmeldungen
DE112021004695T5 (de) Umgang mit zurückstellbaren netzwerkanforderungen
DE112018006175T5 (de) Fehlerbehandlung
DE102010004786A1 (de) Verfahren zum rechnergestützten Bereitstellen einer Entwicklungsumgebung zur Implementierung von Sicherheitsanwendungen in einer Fahrzeug-Architektur
DE102021122507A1 (de) Bereitstellen von isolierten containern zur verarbeitung von benutzeranforderungen

Legal Events

Date Code Title Description
R012 Request for examination validly filed