CH720073A1 - DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT - Google Patents

DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT Download PDF

Info

Publication number
CH720073A1
CH720073A1 CH001139/2022A CH11392022A CH720073A1 CH 720073 A1 CH720073 A1 CH 720073A1 CH 001139/2022 A CH001139/2022 A CH 001139/2022A CH 11392022 A CH11392022 A CH 11392022A CH 720073 A1 CH720073 A1 CH 720073A1
Authority
CH
Switzerland
Prior art keywords
virtual machine
user
communication interface
computer
processor
Prior art date
Application number
CH001139/2022A
Other languages
German (de)
Inventor
Blättler Rémy
Original Assignee
Supertext Ag
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 Supertext Ag filed Critical Supertext Ag
Priority to CH001139/2022A priority Critical patent/CH720073A1/en
Publication of CH720073A1 publication Critical patent/CH720073A1/en

Links

Classifications

    • 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/102Entity profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • 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/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)

Abstract

Es wird ein Cloud-basierter Server-Computer (1) und ein Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments offenbart, wobei das Verfahren Folgendes umfasst: Erstellen und Konfigurieren einer virtuellen Maschine (14) unter Verwendung einer Konfigurationsdatei, Ausführen der virtuellen Maschine (14), Empfangen eines Datensatzes, der vertrauliche Informationen beinhaltet, und Weiterleiten des Datensatzes an die virtuelle Maschine (14), Verbinden eines Client-Computers (2) eines Benutzers, um dem Benutzer den Zugriff auf die vertraulichen Informationen zu ermöglichen; Empfangen und Weiterleiten von Benutzereingaben von dem Client-Computer (2) und Speichern der Benutzereingaben in einem elektronischen Dokument, das mit den vertraulichen Informationen assoziiert ist; Abrufen des elektronischen Dokuments von der virtuellen Maschine (14) und sicheres Übertragen des elektronischen Dokuments über die Kommunikationsschnittstelle (13) an einen Dokumentenserver (3); und Terminieren und Löschen der virtuellen Maschine (14).A cloud-based server computer (1) and a method for processing a secure electronic document are disclosed, the method comprising: creating and configuring a virtual machine (14) using a configuration file, executing the virtual machine (14), receiving a data set containing confidential information and forwarding the data set to the virtual machine (14), connecting a user's client computer (2) to allow the user to access the confidential information; receiving and forwarding user inputs from the client computer (2) and storing the user inputs in an electronic document associated with the confidential information; retrieving the electronic document from the virtual machine (14) and securely transmitting the electronic document to a document server (3) via the communications interface (13); and terminating and deleting the virtual machine (14).

Description

BEREICH DER OFFENBARUNGAREA OF REVELATION

[0001] Die vorliegende Offenbarung bezieht sich auf eine Vorrichtung und ein Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments. Insbesondere bezieht sich die vorliegende Offenbarung auf eine Server-Computer-Vorrichtung, ein Verfahren und ein Computerprogrammprodukt, die es menschlichen Benutzern ermöglichen, ein sicheres elektronisches Dokument sicher zu bearbeiten. [0001] The present disclosure relates to an apparatus and method for editing a secure electronic document. In particular, the present disclosure relates to a server computer apparatus, method, and computer program product that enable human users to securely edit a secure electronic document.

HINTERGRUND DER OFFENBARUNGBACKGROUND OF REVELATION

[0002] Bei der Bearbeitung eines sicheren elektronischen Dokuments sind häufig mehrere Benutzer beteiligt. So stellt beispielsweise ein erster Benutzer die für das Dokument relevanten Informationen bereit, ein zweiter Benutzer erstellt das Dokument, und ein dritter Benutzer überprüft, korrigiert und schließt das Dokument ab. [0002] When editing a secure electronic document, multiple users are often involved. For example, a first user provides the information relevant to the document, a second user creates the document, and a third user reviews, corrects, and finalizes the document.

[0003] In einem typischen computerimplementierten Prozess, bei dem mehrere Benutzer über das Internet an einem solchen sicheren elektronischen Dokument arbeiten, werden vertrauliche Informationen, die die Grundlage des sicheren elektronischen Dokuments bilden, in der Regel auf einen Server-Computer hochgeladen und die Benutzer verbinden sich über Client-Computer mit dem Server-Computer, um die vertraulichen Informationen einzusehen. [0003] In a typical computer-implemented process in which multiple users collaborate on such a secure electronic document over the Internet, confidential information forming the basis of the secure electronic document is typically uploaded to a server computer and users connect to the server computer via client computers to view the confidential information.

[0004] In der Regel erstellt der erste Benutzer das Dokument lokal auf seinem Client-Computer und lädt es auf den Server hoch. Während das Dokument bei der Übertragung zum Server in der Regel verschlüsselt wird, wird es auf dem Server oft nicht verschlüsselt gespeichert. Wenn mehrere Benutzer auf das Dokument zugreifen oder es bearbeiten sollen, muss das Dokument von einem Benutzer zum anderen übertragen oder vom Server auf andere Benutzer heruntergeladen werden, was häufig dazu führt, dass Kopien des Dokuments an mehreren Orten vorhanden sind, z. B. auf dem Server und auf den Client-Computern. Alternativ kann das sichere elektronische Dokument auf einem File-Sharing-Server abgelegt werden, der nur ausgewählten Benutzern Zugriff auf das Dokument gewährt. In diesem Fall kann das Dokument oft auch vom File-Sharing-Server auf den Client-Computer des Benutzers kopiert werden. Dies stellt ein unnötiges Sicherheitsrisiko dar, da das Dokument von einem der Client-Computer des Benutzers abgerufen oder weitergegeben werden könnte. Außerdem können nach Fertigstellung des sicheren elektronischen Dokuments Kopien des Dokuments auf den Client-Computern sowie weitere Kopien auf dem File-Sharing-Server ungelöscht bleiben. Darüber hinaus können die Daten auch nach dem Löschen des sicheren elektronischen Dokuments mit Hilfe von Datenwiederherstellungssoftware abrufbar sein. [0004] Typically, the first user creates the document locally on their client computer and uploads it to the server. While the document is typically encrypted during transmission to the server, it is often stored unencrypted on the server. If multiple users are to access or edit the document, the document must be transferred from one user to another or downloaded from the server to other users, often resulting in copies of the document existing in multiple locations, such as the server and the client computers. Alternatively, the secure electronic document may be placed on a file sharing server that allows only selected users access to the document. In this case, the document may often also be copied from the file sharing server to the user's client computer. This poses an unnecessary security risk because the document could be accessed or shared by any of the user's client computers. In addition, after the secure electronic document is completed, copies of the document on the client computers as well as further copies on the file sharing server may remain undeleted. In addition, the data can be retrieved even after the secure electronic document has been deleted using data recovery software.

[0005] Eine virtuelle Maschine ist eine Virtualisierung eines physischen Computersystems, wobei die virtuelle Maschine softwarebasierte (oder „virtuelle“) Hardware umfasst, z. B. einen Prozessor, Speicher und Eingabe-Ausgabe-Hardware (z. B. Kommunikationsschnittstellen und eine Benutzeroberfläche). Die virtuelle Maschine wird in der Regel mit einem vorinstallierten Betriebssystem und Treibern für die emulierte Hardware geliefert. Die virtuelle Maschine wird in einer Computerdatei im Speicher des Computers gespeichert und kann auf vielen Arten von Computern ausgeführt werden, z. B. auf Client-Computern oder Server-Computern. Virtuelle Maschinen werden häufig verwendet, um Softwareanwendungen zu entwickeln und auf ihre Kompatibilität mit verschiedenen zugrundeliegenden Computerhardware- oder Betriebssystemen zu testen oder um Softwareanwendungen in einer im Voraus bestimmten und festen Computerumgebung einzusetzen. Eine virtuelle Maschine erstellt eine zusätzliche Ebene der Trennung zwischen einer Softwareanwendung, die auf der virtuellen Maschine läuft, und der zugrunde liegenden physischen Computerhardware. Das Erstellen, Konfigurieren oder Ausführen einer virtuellen Maschine kann je nach der zugrundeliegenden Computerhardware eine Verwaltungssoftware für virtuelle Maschinen, wie z. B. einen Hypervisor oder einen Manager für virtuelle Maschinen, erfordern, wie dem Fachmann bekannt ist. [0005] A virtual machine is a virtualization of a physical computer system, where the virtual machine includes software-based (or "virtual") hardware, such as a processor, memory, and input/output hardware (e.g., communications interfaces and a user interface). The virtual machine typically comes with a pre-installed operating system and drivers for the emulated hardware. The virtual machine is stored in a computer file in the computer's memory and can run on many types of computers, such as client computers or server computers. Virtual machines are often used to develop software applications and test them for compatibility with various underlying computer hardware or operating systems, or to deploy software applications in a predetermined and fixed computing environment. A virtual machine creates an additional level of separation between a software application running on the virtual machine and the underlying physical computer hardware. Creating, configuring, or running a virtual machine may require virtual machine management software, such as a virtual machine application program, depending on the underlying computer hardware. B. a hypervisor or a virtual machine manager, as is known to those skilled in the art.

[0006] Eine Softwareanwendung, die auf der virtuellen Maschine ausgeführt wird, läuft in den meisten Fällen nicht anders als auf einer identisch konfigurierten physischen Computerhardware und ist sich der Tatsache, dass sie auf der virtuellen Maschine läuft, nicht bewusst. [0006] A software application running on the virtual machine will in most cases run no differently than on identically configured physical computer hardware and will be unaware of the fact that it is running on the virtual machine.

[0007] Eine virtuelle Maschine belegt einen Teil des Speichers des Computers, auf dem sie implementiert ist. Insbesondere belegt die virtuelle Maschine einen Teil des nichtflüchtigen Speichers (z. B. die Festplatte) und, wenn sie läuft, einen Teil des flüchtigen Speichers (z. B. das RAM). Die auf der virtuellen Maschine laufende Softwareanwendung wird von der virtuellen Maschine mit virtuellem Speicher bereitgestellt, wobei der virtuelle Speicher in dem Teil des nichtflüchtigen und flüchtigen Speichers der zugrunde liegenden Computerhardware liegt, der von der virtuellen Maschine belegt wird. Der virtuelle Speicher wird der virtuellen Maschine in der Regel zum Zeitpunkt der Erstellung der virtuellen Maschine zugewiesen, kann jedoch zur Laufzeit dynamisch erweitert werden, je nach den Rechenanforderungen der virtuellen Maschine. [0007] A virtual machine occupies a portion of the memory of the computer on which it is implemented. In particular, the virtual machine occupies a portion of the non-volatile memory (e.g., the hard disk) and, when running, a portion of the volatile memory (e.g., the RAM). The software application running on the virtual machine is provided by the virtual machine with virtual memory, where the virtual memory resides in the portion of the non-volatile and volatile memory of the underlying computer hardware that is occupied by the virtual machine. The virtual memory is typically allocated to the virtual machine at the time the virtual machine is created, but may be dynamically expanded at runtime depending on the computing needs of the virtual machine.

[0008] In ähnlicher Weise ist die virtuelle Maschine in einem oder mehreren Verarbeitungsthreads des Computers ausgeführt, auf dem die virtuelle Maschine implementiert ist. Der auf der virtuellen Maschine laufenden Softwareanwendung werden Verarbeitungsressourcen des Computers bereitgestellt, insbesondere ein oder mehrere Prozessoren der zugrunde liegenden Computerhardware, die von der virtuellen Maschine vermittelt werden. Diese Prozessoren der zugrunde liegenden Computerhardware werden von der virtuellen Maschine als ein oder mehrere virtuelle Prozessoren bereitgestellt. [0008] Similarly, the virtual machine is executed in one or more processing threads of the computer on which the virtual machine is implemented. The software application running on the virtual machine is provided with processing resources of the computer, in particular one or more processors of the underlying computer hardware, which are mediated by the virtual machine. These processors of the underlying computer hardware are provided by the virtual machine as one or more virtual processors.

[0009] In ähnlicher Weise verbindet sich die virtuelle Maschine mit dem Internet oder anderen Kommunikationsnetzwerken über eine oder mehrere Netzwerkschnittstellen des zugrunde liegenden Computers. Diese Netzwerkschnittstellen werden der Softwareanwendung, die auf der virtuellen Maschine läuft, als eine oder mehrere virtuelle Netzwerkschnittstellen bereitgestellt. [0009] Similarly, the virtual machine connects to the Internet or other communications networks through one or more network interfaces of the underlying computer. These network interfaces are provided to the software application running on the virtual machine as one or more virtual network interfaces.

ALLGEMEINE BESCHREIBUNG DER OFFENBARUNGGENERAL DESCRIPTION OF REVELATION

[0010] Ein Ziel dieser Offenbarung ist es, eine Vorrichtung und ein Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments bereitzustellen. Insbesondere ist es ein Ziel der vorliegenden Offenbarung, eine Vorrichtung und ein Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments bereitzustellen, die zumindest einige der Nachteile des Standes der Technik nicht aufweisen. [0010] An object of this disclosure is to provide an apparatus and a method for processing a secure electronic document. In particular, an object of the present disclosure is to provide an apparatus and a method for processing a secure electronic document that do not have at least some of the disadvantages of the prior art.

[0011] Gemäß der vorliegenden Offenbarung werden diese Ziele durch die Merkmale der unabhängigen Ansprüche erreicht. Darüber hinaus ergeben sich weitere vorteilhafte Ausführungsformen aus den abhängigen Ansprüchen und der Beschreibung. [0011] According to the present disclosure, these objects are achieved by the features of the independent claims. Furthermore, further advantageous embodiments emerge from the dependent claims and the description.

[0012] Die vorliegende Offenbarung bezieht sich auf einen Server-Computer, der einen Prozessor, einen Speicher und eine Kommunikationsschnittstelle umfasst. Der Prozessor ist so konfiguriert, dass er eine virtuelle Maschine unter Verwendung einer Konfigurationsdatei erstellt und konfiguriert, und er ist so konfiguriert, dass er die virtuelle Maschine in dem Speicher speichert. Der Prozessor ist so konfiguriert, dass er die virtuelle Maschine ausführt. Der Prozessor ist so konfiguriert, dass er über die Kommunikationsschnittstelle einen Datensatz empfängt, der vertrauliche Informationen beinhaltet, und er ist so konfiguriert, dass er den Datensatz an die virtuelle Maschine weiterleitet, wobei die virtuelle Maschine den Datensatz in einem virtuellen Speicher speichert. Der Prozessor ist konfiguriert, um eine sichere Fernsitzung auf der virtuellen Maschine zu initiieren, die einen Client-Computer eines Benutzers über die Kommunikationsschnittstelle mit der virtuellen Maschine verbindet. Dabei ist die virtuelle Maschine so konfiguriert, dass sie dem Benutzer den Zugriff auf die vertraulichen Informationen ermöglicht. Während der Fernsitzung ist der Prozessor so konfiguriert, dass er über die Kommunikationsschnittstelle Benutzereingaben empfängt und diese an die virtuelle Maschine weiterleitet. Die virtuelle Maschine speichert die Benutzereingaben in einem elektronischen Dokument, das mit den vertraulichen Informationen assoziiert ist. Der Prozessor ist so konfiguriert, dass er die sichere Fernsitzung terminiert, das elektronische Dokument von der virtuellen Maschine über die Kommunikationsschnittstelle abruft und sicher an einen Server für Dokumente überträgt. Der Prozessor ist so konfiguriert, dass er die virtuelle Maschine terminiert und löscht. [0012] The present disclosure relates to a server computer comprising a processor, a memory, and a communications interface. The processor is configured to create and configure a virtual machine using a configuration file, and is configured to store the virtual machine in the memory. The processor is configured to execute the virtual machine. The processor is configured to receive a record containing confidential information via the communications interface, and is configured to forward the record to the virtual machine, wherein the virtual machine stores the record in a virtual memory. The processor is configured to initiate a secure remote session on the virtual machine that connects a user's client computer to the virtual machine via the communications interface, wherein the virtual machine is configured to allow the user to access the confidential information. During the remote session, the processor is configured to receive user input via the communications interface and forward it to the virtual machine. The virtual machine stores the user input in an electronic document associated with the confidential information. The processor is configured to terminate the secure remote session, retrieve the electronic document from the virtual machine through the communications interface, and securely transmit it to a document server. The processor is configured to terminate and delete the virtual machine.

[0013] In einer Ausführungsform ist der Prozessor des Server-Computers ferner so konfiguriert, dass er über die Kommunikationsschnittstelle eine Zugriffsliste empfängt, die die Benutzeranmeldedaten eines oder mehrerer Benutzer umfasst, und dass er die Zugriffsrechte für die virtuelle Maschine unter Verwendung der Zugriffsliste konfiguriert. [0013] In one embodiment, the processor of the server computer is further configured to receive, via the communication interface, an access list comprising the user credentials of one or more users, and to configure the access rights for the virtual machine using the access list.

[0014] In einer Ausführungsform ist der Prozessor des Server-Computers ferner so konfiguriert, dass er von der Kommunikationsschnittstelle zur virtuellen Maschine eine Benutzerzugangsanforderung von einem Client-Computer eines Benutzers empfängt und weiterleitet. Die Benutzerzugangsanforderung umfasst Benutzerzugangsinformationen. Der Prozessor überträgt über die Kommunikationsschnittstelle eine Benutzerzugangsbestätigung an den Client-Computer des Benutzers über die Kommunikationsschnittstelle. Dies geschieht, wenn die virtuelle Maschine die Benutzerzugangsanforderung unter Verwendung der Benutzerzugangsinformationen und der gespeicherten Benutzeranmeldedaten autorisiert hat. [0014] In one embodiment, the processor of the server computer is further configured to receive and forward a user access request from a user's client computer from the communication interface to the virtual machine. The user access request includes user access information. The processor transmits a user access confirmation to the user's client computer via the communication interface. This occurs when the virtual machine has authorized the user access request using the user access information and the stored user credentials.

[0015] In einer Ausführungsform ist der Prozessor des Server-Computers so konfiguriert, dass er über die Kommunikationsschnittstelle die Benutzerzugangsbestätigung an den Client-Computer des Benutzers überträgt. Dies geschieht, nachdem eine Aufforderungsnachricht an eine weitere Vorrichtung des Benutzers übertragen wurde und eine passende Antwortnachricht entweder vom Client-Computer oder der weiteren Vorrichtung empfangen wurde. [0015] In one embodiment, the processor of the server computer is configured to transmit the user access confirmation to the user's client computer via the communication interface. This occurs after a request message has been transmitted to another device of the user and an appropriate response message has been received from either the client computer or the other device.

[0016] In einer Ausführungsform ist die virtuelle Maschine außerdem so konfiguriert, dass sie jede Installation oder Ausführung von Software verbietet, die nicht in der Konfigurationsdatei angegeben ist; dass sie nur vordefinierte Netzwerkkommunikation über die Kommunikationsschnittstelle erlaubt und/oder dass sie das Kopieren von Daten von der virtuellen Maschine auf den Client-Computer während der sicheren Fernsitzung unterbindet. [0016] In one embodiment, the virtual machine is further configured to prohibit any installation or execution of software not specified in the configuration file; to allow only predefined network communication via the communication interface; and/or to prohibit copying of data from the virtual machine to the client computer during the secure remote session.

[0017] Zusätzlich zu einem Server-Computer bezieht sich die vorliegende Offenbarung auch auf ein Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments. Das Verfahren umfasst das Erstellen und Konfigurieren einer virtuellen Maschine in einem Prozessor eines Cloud-basierten Server-Computers unter Verwendung einer Konfigurationsdatei. Das Verfahren umfasst das Speichern der virtuellen Maschine durch den Prozessor in einem Speicher des Server-Computers. Das Verfahren umfasst das Ausführen der virtuellen Maschine in dem Prozessor. Das Verfahren umfasst das Empfangen eines Datensatzes, der vertrauliche Informationen beinhaltet, über eine Kommunikationsschnittstelle des Server-Computers und das Weiterleiten des Datensatzes an die virtuelle Maschine. Das Verfahren umfasst das Initiieren einer sicheren Fernsitzung auf der virtuellen Maschine durch den Prozessor, die einen Client-Computer eines Benutzers über die Kommunikationsschnittstelle mit der virtuellen Maschine verbindet und dem Benutzer den Zugriff auf die vertraulichen Informationen ermöglicht. Das Verfahren umfasst das Empfangen von Benutzereingaben des Client-Computers über die Kommunikationsschnittstelle und das Weiterleiten an die virtuelle Maschine während der sicheren Fernsitzung. Das Verfahren umfasst, dass die virtuelle Maschine die Benutzereingaben in einem elektronischen Dokument speichert, das mit den vertraulichen Informationen assoziiert ist. Das Verfahren umfasst das Terminieren der sicheren Fernsitzung. Das Verfahren umfasst das Abrufen des elektronischen Dokuments von der virtuellen Maschine und das sichere Übertragen des elektronischen Dokuments an einen Server über die Kommunikationsschnittstelle. Das Verfahren umfasst das Terminieren und Löschen der virtuellen Maschine im Cloud-basierten Server-Computer, insbesondere im Prozessor. [0017] In addition to a server computer, the present disclosure also relates to a method for processing a secure electronic document. The method includes creating and configuring a virtual machine in a processor of a cloud-based server computer using a configuration file. The method includes storing the virtual machine, by the processor, in a memory of the server computer. The method includes executing the virtual machine in the processor. The method includes receiving a set of data including confidential information via a communication interface of the server computer and forwarding the set of data to the virtual machine. The method includes initiating, by the processor, a secure remote session on the virtual machine that connects a user's client computer to the virtual machine via the communication interface and allows the user to access the confidential information. The method includes receiving user input from the client computer via the communication interface and forwarding it to the virtual machine during the secure remote session. The method includes the virtual machine storing the user input in an electronic document associated with the confidential information. The method includes terminating the secure remote session. The method includes retrieving the electronic document from the virtual machine and securely transmitting the electronic document to a server via the communication interface. The method includes terminating and deleting the virtual machine in the cloud-based server computer, in particular in the processor.

[0018] In einer Ausführungsform empfängt das Verfahren ferner über die Kommunikationsschnittstelle eine Zugriffsliste, die die Benutzeranmeldedaten eines oder mehrerer Benutzer umfasst, und konfiguriert im Prozessor die Zugriffsrechte für die virtuelle Maschine unter Verwendung der Zugriffsliste. [0018] In one embodiment, the method further receives, via the communication interface, an access list comprising the user credentials of one or more users, and configures, in the processor, the access rights for the virtual machine using the access list.

[0019] In einer Ausführungsform umfasst das Verfahren ferner das Empfangen einer Benutzerzugangsanforderung von einem Client-Computer eines Benutzers über die Kommunikationsschnittstelle und das Weiterleiten an die virtuelle Maschine, wobei die Benutzerzugangsanforderung Benutzerzugangsinformationen umfasst. Das Verfahren umfasst das Übertragen einer Benutzerzugangsbestätigung über die Kommunikationsschnittstelle an den Client-Computer des Benutzers, nachdem die virtuelle Maschine die Benutzerzugangsbestätigung unter Verwendung der Benutzerzugangsinformationen und der gespeicherten Benutzeranmeldedaten autorisiert hat. [0019] In one embodiment, the method further comprises receiving a user access request from a user's client computer via the communication interface and forwarding it to the virtual machine, the user access request comprising user access information. The method comprises transmitting a user access confirmation via the communication interface to the user's client computer after the virtual machine has authorized the user access confirmation using the user access information and the stored user credentials.

[0020] In einer Ausführungsform umfasst das Verfahren ferner das Übertragen der Benutzerzugangsbestätigung über die Kommunikationsschnittstelle an den Client-Computer des Benutzers, nachdem eine Aufforderungsnachricht an eine weitere Vorrichtung des Benutzers übertragen wurde, und das Empfangen einer passenden Antwortnachricht entweder von dem Client-Computer oder der weiteren Vorrichtung. [0020] In one embodiment, the method further comprises transmitting the user access confirmation via the communication interface to the user's client computer after transmitting a request message to another device of the user, and receiving an appropriate response message from either the client computer or the another device.

[0021] In einer Ausführungsform umfasst das Verfahren ferner das Konfigurieren der virtuellen Maschine im Prozessor, um die Installation oder Ausführung jeglicher Software, die nicht in der Konfigurationsdatei angegeben ist, zu verbieten und nur vordefinierte Netzwerkkommunikation über die Kommunikationsschnittstelle zu erlauben und/oder das Kopieren jeglicher Daten von der virtuellen Maschine auf den Client-Computer während der sicheren Fernsitzung zu unterbinden. [0021] In one embodiment, the method further comprises configuring the virtual machine in the processor to prohibit the installation or execution of any software not specified in the configuration file and to allow only predefined network communication via the communication interface and/or to prohibit the copying of any data from the virtual machine to the client computer during the secure remote session.

[0022] Zusätzlich zu dem Server-Computer und dem Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments bezieht sich die vorliegende Offenbarung auch auf ein Computerprogrammprodukt, das ein nichtflüchtiges computerlesbares Medium umfasst, auf dem Computerprogrammcode gespeichert ist, der so konfiguriert ist, dass ein Prozessor eines Cloud-basierten Computer-Servers das hier beschriebene Verfahren ausführt. [0022] In addition to the server computer and method for processing a secure electronic document, the present disclosure also relates to a computer program product comprising a non-transitory computer-readable medium having stored thereon computer program code configured to enable a processor of a cloud-based computer server to execute the method described herein.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

[0023] Die vorliegende Offenbarung wird beispielhaft und ohne Einschränkung der in den beigefügten Ansprüchen beschriebenen Erfindung unter Bezugnahme auf die Zeichnungen näher erläutert, in denen: Figur 1: ein Blockdiagramm zeigt, das schematisch einen Server-Computer zur Bearbeitung eines sicheren elektronischen Dokuments darstellt; Figur 2: ein Flussdiagramm zeigt zur Veranschaulichung einer Ausführungsform zur Bearbeitung eines sicheren elektronischen Dokuments gemäß der vorliegenden Offenbarung; Figur 3: ein Flussdiagramm zeigt, das eine weitere Ausführungsform für die Bearbeitung eines sicheren elektronischen Dokuments gemäß der vorliegenden Offenbarung illustriert.[0023] The present disclosure will be further explained by way of example and without limitation of the invention described in the appended claims with reference to the drawings, in which: Figure 1: shows a block diagram schematically illustrating a server computer for processing a secure electronic document; Figure 2: shows a flow chart illustrating an embodiment for processing a secure electronic document according to the present disclosure; Figure 3: shows a flow chart illustrating a further embodiment for processing a secure electronic document according to the present disclosure.

AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF THE EMBODIMENTS

[0024] Es wird nun im Detail auf bestimmte Ausführungsformen verwiesen, von denen Beispiele in den beigefügten Zeichnungen dargestellt sind, in denen einige, aber nicht alle Merkmale gezeigt werden. In der Tat können die hier offengelegten Ausführungsformen in vielen verschiedenen Formen verkörpert werden und sollten nicht als auf die hier dargelegten Ausführungsformen beschränkt ausgelegt werden; vielmehr werden diese Ausführungsformen bereitgestellt, damit diese Offenbarung den geltenden rechtlichen Anforderungen entspricht. Wann immer möglich, werden gleiche Referenznummern verwendet, um sich auf gleiche Komponenten oder Teile zu beziehen. [0024] Reference will now be made in detail to specific embodiments, examples of which are illustrated in the accompanying drawings, in which some, but not all, features are shown. Indeed, the embodiments disclosed herein may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will conform to applicable legal requirements. Wherever possible, like reference numerals are used to refer to like components or parts.

[0025] Figur 1zeigt ein Blockdiagramm, das schematisch einen Cloud-basierten Server-Computer 1 zur Bearbeitung eines sicheren elektronischen Dokuments darstellt. Der Server-Computer 1 umfasst mindestens einen Prozessor 11, einen Speicher 12 und eine Kommunikationsschnittstelle 13. [0025] Figure 1 shows a block diagram schematically illustrating a cloud-based server computer 1 for processing a secure electronic document. The server computer 1 comprises at least a processor 11, a memory 12 and a communication interface 13.

[0026] Der Server-Computer 1 ist Cloud-basiert, d. h. der Server-Computer 1 ist ein Cloud-basiertes Computersystem, das Client-Computern 2 oder anderen externen Vorrichtungen Rechenressourcen zur Verfügung stellt, die Verarbeitungs- und Speicherkapazitäten beinhalten. [0026] The server computer 1 is cloud-based, i.e. the server computer 1 is a cloud-based computer system that provides computing resources, including processing and storage capabilities, to client computers 2 or other external devices.

[0027] Der Prozessor 11 umfasst eine zentrale Verarbeitungseinheit (CPU) zum Ausführen von Computerprogrammcode, der im Speicher 12 gespeichert ist. Der Prozessor 11 kann beispielsweise spezifischere Verarbeitungseinheiten wie anwendungsspezifische integrierte Schaltungen (ASICs), umprogrammierbare Verarbeitungseinheiten wie feldprogrammierbare Gate-Arrays (FPGAs) oder Verarbeitungseinheiten beinhalten, die speziell zur Beschleunigung bestimmter Anwendungen konfiguriert sind. [0027] The processor 11 includes a central processing unit (CPU) for executing computer program code stored in the memory 12. The processor 11 may, for example, include more specific processing units such as application specific integrated circuits (ASICs), reprogrammable processing units such as field programmable gate arrays (FPGAs), or processing units specifically configured to accelerate certain applications.

[0028] Der Speicher 12 umfasst eine oder mehrere flüchtige (transitorische) und/oder nicht flüchtige (nicht transitorische) Speicherkomponenten. Die Speicherkomponenten können herausnehmbar und/oder nicht herausnehmbar sein und können auch ganz oder teilweise in den Server-Computer 1 integriert sein. Beispiele für Speicherkomponenten beinhalten RAM (Random Access Memory), Flash-Speicher, Festplatten, Datenspeicher und/oder andere Datenspeicher. Je nach Ausführungsform umfasst der Speicher 12 eine Datenbank, die lokal auf einer bestimmten physischen Vorrichtung des Servers oder dezentral, beispielsweise verteilt auf dem Cloud-basierten Computersystem, implementiert sein kann. In dem Speicher 12 ist Computerprogrammcode gespeichert, der zur Kontrolle des Prozessors 11 des Server-Computers 1 konfiguriert ist, so dass der Server-Computer 1 einen oder mehrere Verfahrensschritte und/oder Funktionen wie hierin beschrieben durchführt. [0028] The memory 12 comprises one or more volatile (transitory) and/or non-volatile (non-transitory) memory components. The memory components may be removable and/or non-removable and may also be fully or partially integrated into the server computer 1. Examples of memory components include RAM (random access memory), flash memory, hard disks, data storage and/or other data storage. Depending on the embodiment, the memory 12 comprises a database that may be implemented locally on a particular physical device of the server or decentrally, for example distributed on the cloud-based computer system. Computer program code is stored in the memory 12 that is configured to control the processor 11 of the server computer 1 so that the server computer 1 performs one or more method steps and/or functions as described herein.

[0029] Insbesondere ist der Speicher 12 zum Speichern einer virtuellen Maschine 14 konfiguriert. Je nachdem, ob der Server-Computer 1 in Betrieb ist oder nicht, wird die virtuelle Maschine 14 in dem flüchtigen und/oder nichtflüchtigen Speicher gespeichert, wie im Folgenden näher erläutert wird. [0029] In particular, the memory 12 is configured to store a virtual machine 14. Depending on whether the server computer 1 is in operation or not, the virtual machine 14 is stored in the volatile and/or non-volatile memory, as will be explained in more detail below.

[0030] Je nach Ausführungsform handelt es sich bei dem Computerprogrammcode um kompilierten oder nicht kompilierten Programmcode und/oder Maschinencode. Der Server-Computer 1 ist konfiguriert, um einen oder mehrere Schritte und/oder Funktionen gemäß dem Computerprogrammcode durchzuführen. Insbesondere führt der Prozessor 11 den einen oder die mehreren Schritte und/oder Funktionen gemäß dem Computerprogrammcode aus. Der Computerprogrammcode definiert und/oder ist Teil einer eigenständigen Softwareanwendung. Der Fachmann wird verstehen, dass der Computerprogrammcode auch über eine Vielzahl von Softwareanwendungen verteilt sein kann, wobei diese Softwareanwendungen auf einer Vielzahl von Vorrichtungen, die zusammen den Server-Computer 1 bilden, verteilt und ausgeführt werden können. [0030] Depending on the embodiment, the computer program code is compiled or uncompiled program code and/or machine code. The server computer 1 is configured to perform one or more steps and/or functions according to the computer program code. In particular, the processor 11 performs the one or more steps and/or functions according to the computer program code. The computer program code defines and/or is part of a stand-alone software application. Those skilled in the art will understand that the computer program code may also be distributed across a plurality of software applications, which software applications may be distributed and executed on a plurality of devices that together form the server computer 1.

[0031] Die Software-Anwendung(en) werden auf dem Server-Computer 1 installiert. Alternativ kann der Computerprogrammcode auch auf Anforderung vom Server-Computer 1 abgerufen und ausgeführt werden. In einer Ausführungsform stellt der Computerprogrammcode außerdem Schnittstellen wie APIs (Application Programming Interfaces) bereit, so dass auf Funktionen und/oder Daten des Server-Computers 1 aus der Ferne zugegriffen werden kann, z. B. über eine Client-Anwendung oder über einen Webbrowser. [0031] The software application(s) are installed on the server computer 1. Alternatively, the computer program code can also be retrieved and executed on request from the server computer 1. In one embodiment, the computer program code also provides interfaces such as APIs (Application Programming Interfaces) so that functions and/or data of the server computer 1 can be accessed remotely, e.g. via a client application or via a web browser.

[0032] Der Prozessor 11 ist so konfiguriert, dass er eine virtuelle Maschine 14 erstellt und konfiguriert, die virtuelle Maschine 14 im Speicher 12 speichert und die virtuelle Maschine 14 ausführt, wie mit Bezug auf die Figuren 2 und 3 näher erläutert wird. Die virtuelle Maschine 14 ist so konfiguriert, dass sie Teile eines Computersystems emuliert, wie z.B. Hardware, Speicher und Schnittstellen. Die virtuelle Maschine 14 ist auch so konfiguriert, dass sie über Software verfügt, wie z. B. ein Betriebssystem, Softwarebibliotheken und/oder Treiber. [0032] The processor 11 is configured to create and configure a virtual machine 14, store the virtual machine 14 in the memory 12, and execute the virtual machine 14, as will be explained in more detail with reference to Figures 2 and 3. The virtual machine 14 is configured to emulate portions of a computer system, such as hardware, memory, and interfaces. The virtual machine 14 is also configured to have software, such as an operating system, software libraries, and/or drivers.

[0033] Die virtuelle Maschine 14 stellt eine emulierte, in sich geschlossene Computerumgebung für Softwareanwendungen bereit, die auf ihr laufen (als Gastsoftware bezeichnet), indem sie das erforderliche Betriebssystem und andere Software sowie emulierte Hardware bereitstellt, damit die Gastsoftware ausgeführt werden kann. Die Gastsoftware wird natürlich letztlich auf dem Server-Computer 1 ausgeführt, wobei die virtuelle Maschine 14 eine zusätzliche Hardware-Abstraktionsebene bereitstellt. [0033] The virtual machine 14 provides an emulated, self-contained computing environment for software applications running on it (referred to as guest software) by providing the necessary operating system and other software, as well as emulated hardware, to enable the guest software to run. The guest software, of course, ultimately runs on the server computer 1, with the virtual machine 14 providing an additional hardware abstraction layer.

[0034] Indem die hier beschriebenen Schritte und/oder Funktionen in der virtuellen Maschine 14 und nicht auf dem Server-Computer 1 selbst ausgeführt werden, wird sichergestellt, dass andere Prozesse oder Software des Server-Computers 1 nicht auf die genannten Schritte und/oder Funktionen zugreifen oder sie anderweitig beeinträchtigen können. Die Ausführung dieser Schritte und/oder Funktionen ist daher sicherer. Dies liegt daran, dass die Schritte und/oder Funktionen für andere Prozesse des Server-Computers 1 durch die virtuelle Maschine 14 abgeschirmt sind. Dies gilt auch für die in der virtuellen Maschine 14 gespeicherten Daten, auf die Prozesse oder Software, die auf dem Server-Computer 1 arbeiten, außerhalb der virtuellen Maschine 14 keinen Zugriff haben. [0034] By carrying out the steps and/or functions described here in the virtual machine 14 and not on the server computer 1 itself, it is ensured that other processes or software of the server computer 1 cannot access the steps and/or functions mentioned or otherwise interfere with them. The execution of these steps and/or functions is therefore safer. This is because the steps and/or functions are shielded from other processes of the server computer 1 by the virtual machine 14. This also applies to the data stored in the virtual machine 14, to which processes or software running on the server computer 1 have no access outside the virtual machine 14.

[0035] Die verschiedenen Komponenten des Server-Computers 1 sind durch Verbindungsleitungen miteinander verbunden. Der Begriff „Verbindung“ bezieht sich auf Mittel, die die Energieübertragung und/oder Datenkommunikation zwischen zwei oder mehreren Modulen, Vorrichtungen, Systemen, Teilsystemen oder anderen Einheiten ermöglichen. Eine gegebene Verbindungsleitung kann eine drahtgebundene Verbindung, z. B. über ein Kabel oder einen Systembus, oder eine drahtlose Verbindung über direkte oder indirekte drahtlose Übertragungen umfassen. [0035] The various components of the server computer 1 are interconnected by interconnections. The term "interconnection" refers to means that enable power transfer and/or data communication between two or more modules, devices, systems, subsystems or other entities. A given interconnection may comprise a wired connection, e.g. via a cable or a system bus, or a wireless connection via direct or indirect wireless transmissions.

[0036] Darüber hinaus ist der Server-Computer 1 über eine Kommunikationsschnittstelle 13 mit einem oder mehreren Netzwerken verbunden, die lokale Netzwerke wie ein lokales Rechnernetz (LAN) und andere Netzwerke wie das Internet beinhalten. Die Kommunikationsschnittstelle 13 ist so konfiguriert, dass sie eine drahtgebundene und/oder drahtlose Datenübertragung zwischen dem Server-Computer 1 und einer oder mehreren weiteren Vorrichtungen und/oder Computersystemen, insbesondere dem Cloud-basierten Computersystem, entweder direkt oder über ein zwischengeschaltetes Netzwerk ermöglicht. Insbesondere ist die Kommunikationsschnittstelle 13 konfiguriert, um vertrauliche Daten und Login-Benutzerdaten zu empfangen und weiterzuleiten. [0036] Furthermore, the server computer 1 is connected via a communication interface 13 to one or more networks, which include local area networks such as a local computer network (LAN) and other networks such as the Internet. The communication interface 13 is configured to enable wired and/or wireless data transmission between the server computer 1 and one or more further devices and/or computer systems, in particular the cloud-based computer system, either directly or via an intermediate network. In particular, the communication interface 13 is configured to receive and forward confidential data and login user data.

[0037] Ein Client-Computer 2, ein Dokumentenserver 3 und eine optionale weitere Client-Vorrichtung 4 sind mit dem Server-Computer 1 kommunikativ verbunden. Insbesondere sind der Client-Computer 2, der Dokumentenserver 3 und die optionale weitere Client-Vorrichtung 4 über ein oder mehrere Netzwerke mit der Kommunikationsschnittstelle 13 verbunden. Diese Vorrichtungen umfassen typischerweise auch einen Prozessor, einen Speicher und eine Kommunikationsschnittstelle, über die sie mit dem Server-Computer 1 kommunizieren können. Je nach Ausführungsform verfügen der Client-Computer 2 und die weitere Vorrichtung 4 über eine Mensch-Maschine-Schnittstelle (HMI), die Ausgabemittel und/oder Eingabemittel umfasst. Die Ausgabemittel können ein Display (mit oder ohne Berührung) und/oder einen Lautsprecher umfassen. Die Eingabemittel können ein Touch-Interface, eine Tastatur, eine Maus, einen Stift, etc. umfassen. Der Client-Computer 2 und die weitere Vorrichtung 4 können als Laptop-Computer, als Desktop-Computer, als Server-Computer, als Smartphone und/oder als Computersystem, das mehrere verbundene Computer umfasst, ausgestaltet sein. [0037] A client computer 2, a document server 3 and an optional further client device 4 are communicatively connected to the server computer 1. In particular, the client computer 2, the document server 3 and the optional further client device 4 are connected to the communication interface 13 via one or more networks. These devices typically also comprise a processor, a memory and a communication interface via which they can communicate with the server computer 1. Depending on the embodiment, the client computer 2 and the further device 4 have a human-machine interface (HMI) which comprises output means and/or input means. The output means can comprise a display (with or without touch) and/or a loudspeaker. The input means can comprise a touch interface, a keyboard, a mouse, a pen, etc. The client computer 2 and the further device 4 can be designed as a laptop computer, as a desktop computer, as a server computer, as a smartphone and/or as a computer system comprising several connected computers.

[0038] Der Dokumentenserver 3 ist je nach Ausführungsform als Server-Computer und/oder als Computersystem, das mehrere verbundene Computer umfasst, realisiert. Dem Fachmann ist bekannt, dass einige oder alle der in Bezug auf den Dokumentenserver 3 beschriebenen Funktionalitäten je nach Ausführungsform auch von dem Cloud-basierten Server-Computer 1 bereitgestellt werden können. Der Cloud-basierte Server-Computer 1 ist besonders gut geeignet, einen großen Speicher zum Speichern von Daten, beispielsweise in einer Datenbank, bereitzustellen. [0038] Depending on the embodiment, the document server 3 is implemented as a server computer and/or as a computer system comprising a plurality of connected computers. It is known to those skilled in the art that some or all of the functionalities described in relation to the document server 3 can also be provided by the cloud-based server computer 1, depending on the embodiment. The cloud-based server computer 1 is particularly well suited to providing a large memory for storing data, for example in a database.

[0039] In den folgenden Abschnitten werden unter Bezugnahme auf dieFiguren 2-3eine Reihe von Schritten beschrieben, die der Prozessor 11 zur Bearbeitung eines sicheren elektronischen Dokuments durchführt. [0039] In the following sections, a series of steps performed by the processor 11 to process a secure electronic document are described with reference to Figures 2-3.

[0040] Wie inFigur 2dargestellt, wird der Prozessor 11 in einem Vorbereitungsschritt S0 so konfiguriert, dass er die virtuelle Maschine 14 erstellt, konfiguriert und im Speicher 12 speichert. Der Prozessor 11 konfiguriert die virtuelle Maschine 14 gemäß der Konfigurationsdatei. Insbesondere speichert die Konfigurationsdatei Konfigurationsinformationen, die zum Einrichten der virtuellen Maschine 14 erforderlich sind, und der Prozessor 11 konfiguriert die virtuelle Maschine 14 entsprechend der Konfigurationsdatei. Während der Erstellung der virtuellen Maschine 14 weist der Prozessor 11 der virtuellen Maschine 14 einen Teil des physischen Speichers 13 zu, wobei dieser Teil des physischen Speichers 13 als virtueller Speicher bezeichnet wird. Der virtuelle Speicher wird von der virtuellen Maschine 14 verwendet, um Anwendungen und Bibliotheken sowie Daten zu speichern, insbesondere einen Datensatz, der vertrauliche Informationen beinhaltet, und das elektronische Dokument, das mit den vertraulichen Informationen assoziiert ist, wie im Folgenden näher erläutert wird. [0040] As shown in Figure 2, in a preparation step S0, the processor 11 is configured to create, configure and store the virtual machine 14 in the memory 12. The processor 11 configures the virtual machine 14 according to the configuration file. In particular, the configuration file stores configuration information required to set up the virtual machine 14 and the processor 11 configures the virtual machine 14 according to the configuration file. During the creation of the virtual machine 14, the processor 11 allocates a portion of the physical memory 13 to the virtual machine 14, this portion of the physical memory 13 being referred to as virtual memory. The virtual memory is used by the virtual machine 14 to store applications and libraries as well as data, in particular a data set containing confidential information and the electronic document associated with the confidential information, as will be explained in more detail below.

[0041] In einer Ausführungsform definiert die Konfigurationsdatei Zugriffsrechte und Beschränkungen in Bezug auf die virtuelle Maschine 14 sowie die Art des Betriebssystems, das auf der virtuellen Maschine 14 läuft, und/oder bestimmte Software, die auf der virtuellen Maschine 14 installiert ist. Die abhängigen Ansprüche zeigen weitere Ausführungsformen, bei denen die Konfigurationsdatei mehr Konfigurationen enthält, die auf der virtuellen Maschine 14 zu konfigurieren sind. [0041] In one embodiment, the configuration file defines access rights and restrictions with respect to the virtual machine 14 as well as the type of operating system running on the virtual machine 14 and/or certain software installed on the virtual machine 14. The dependent claims show further embodiments in which the configuration file contains more configurations to be configured on the virtual machine 14.

[0042] In einer Ausführungsform ist die virtuelle Maschine 14 gemäß der Konfigurationsdatei so konfiguriert, dass die virtuelle Maschine 14 die Installation oder Ausführung von Software verbietet, die nicht in der Konfigurationsdatei angegeben ist. [0042] In one embodiment, the virtual machine 14 is configured according to the configuration file such that the virtual machine 14 prohibits the installation or execution of software that is not specified in the configuration file.

[0043] In einer Ausführungsform ist die virtuelle Maschine 14 gemäß der Konfigurationsdatei so konfiguriert, dass die virtuelle Maschine 14 nur vordefinierte Netzwerkkommunikation über die Kommunikationsschnittstelle 13 erlaubt. Insbesondere werden sichere Protokolle wie die mit Secure Sockets Layer (SSL) verschlüsselte Datenübertragung verwendet. [0043] In one embodiment, the virtual machine 14 is configured according to the configuration file such that the virtual machine 14 only allows predefined network communication via the communication interface 13. In particular, secure protocols such as data transmission encrypted with Secure Sockets Layer (SSL) are used.

[0044] In einer Ausführungsform ist die virtuelle Maschine 14 gemäß der Konfigurationsdatei so konfiguriert, dass die virtuelle Maschine 14 während der sicheren Fernsitzung das Kopieren jeglicher Daten von der virtuellen Maschine 14 auf den Client-Computer 2 unterbindet. Auch außerhalb der aufgebauten sicheren Fernsitzung ist es nicht möglich, Daten aus der virtuellen Maschine 14 zu kopieren, da der Zugriff auf die virtuelle Maschine 14 nur während der sicheren Fernsitzung möglich ist. [0044] In one embodiment, the virtual machine 14 is configured according to the configuration file such that the virtual machine 14 prevents the copying of any data from the virtual machine 14 to the client computer 2 during the secure remote session. Even outside of the established secure remote session, it is not possible to copy data from the virtual machine 14, since access to the virtual machine 14 is only possible during the secure remote session.

[0045] In einem Schritt S1 wird der Prozessor 11 des Server-Computers 1 zum Ausführen der virtuellen Maschine 14 konfiguriert. Die virtuelle Maschine 14 läuft auf dem Prozessor 11 in einem oder mehreren Prozessen und stellt der auf der virtuellen Maschine 14 laufenden Software ein Betriebssystem und Anwendungen zur Verfügung. Insbesondere ist die virtuelle Maschine 14 so konfiguriert, dass sie über die Kommunikationsschnittstelle 13 des Server-Computers 1 Zugriff auf das Netzwerk hat. Der virtuellen Maschine 14 wird durch den Prozessor 11 ein Teil des Speichers 12 zugewiesen, der als virtueller Speicher bezeichnet wird, in dem die virtuelle Maschine 14, einschließlich des Betriebssystems, der Anwendungen, der Bibliotheken und weiterer Daten, insbesondere des hier beschriebenen Datensatzes, gespeichert sind. Der virtuelle Speicher umfasst, wie oben erläutert, einen virtuellen flüchtigen Speicher und einen virtuellen nichtflüchtigen Speicher. [0045] In a step S1, the processor 11 of the server computer 1 is configured to run the virtual machine 14. The virtual machine 14 runs on the processor 11 in one or more processes and provides an operating system and applications to the software running on the virtual machine 14. In particular, the virtual machine 14 is configured to have access to the network via the communication interface 13 of the server computer 1. The processor 11 assigns to the virtual machine 14 a portion of the memory 12, which is referred to as virtual memory, in which the virtual machine 14, including the operating system, the applications, the libraries and other data, in particular the data set described here, are stored. The virtual memory comprises, as explained above, a virtual volatile memory and a virtual non-volatile memory.

[0046] Je nach Ausführungsform kann der Prozessor 11 die Ausführung der virtuellen Maschine 14 vorübergehend aussetzen, wobei die virtuelle Maschine 14 und je nach Ausführungsform alle Daten, die sich auf die derzeit auf der virtuellen Maschine 14 ausgeführten Anwendungen beziehen, sowie weitere Daten, die derzeit im virtuellen flüchtigen Speicher gespeichert sind, im virtuellen nichtflüchtigen Speicher gespeichert werden. [0046] Depending on the embodiment, the processor 11 may temporarily suspend execution of the virtual machine 14, wherein the virtual machine 14 and, depending on the embodiment, all data relating to the applications currently executing on the virtual machine 14, as well as other data currently stored in the virtual volatile memory, are stored in the virtual non-volatile memory.

[0047] In einem Schritt S2 empfängt der Prozessor 11 des Server-Computers 1 einen Datensatz, der vertrauliche Informationen beinhaltet, von der Kommunikationsschnittstelle 13 und leitet ihn an die virtuelle Maschine 14 weiter. Die virtuelle Maschine 14 speichert den Datensatz dann in dem virtuellen flüchtigen Speicher und/oder dem virtuellen nichtflüchtigen Speicher. Der Empfang und die Weiterleitung des Datensatzes von der Kommunikationsschnittstelle 13 an die virtuelle Maschine 14 hängt von der spezifischen Implementierung der virtuellen Maschine 14 ab, die jede auf dem Server-Computer 1 laufende Hilfssoftware beinhaltet, die zur Implementierung der virtuellen Maschine 14 erforderlich ist. [0047] In a step S2, the processor 11 of the server computer 1 receives a data set containing confidential information from the communication interface 13 and forwards it to the virtual machine 14. The virtual machine 14 then stores the data set in the virtual volatile memory and/or the virtual non-volatile memory. The reception and forwarding of the data set from the communication interface 13 to the virtual machine 14 depends on the specific implementation of the virtual machine 14, which includes any auxiliary software running on the server computer 1 that is required to implement the virtual machine 14.

[0048] In einer Ausführungsform wird die Speicherung des Datensatzes unter Verwendung des virtuellen Speichers verschlüsselt. Dadurch wird der Datensatz auch sicher in dem zugrunde liegenden Speicher 12 des Server-Computers 1 gespeichert. Die Verschlüsselung des Speichers erfolgt typischerweise mit symmetrischer Verschlüsselung, zum Beispiel nach dem Advanced Encryption Standard (AES) 256. [0048] In one embodiment, the storage of the data set is encrypted using the virtual memory. As a result, the data set is also securely stored in the underlying memory 12 of the server computer 1. The encryption of the memory is typically carried out using symmetric encryption, for example according to the Advanced Encryption Standard (AES) 256.

[0049] In einem Schritt S3 initiiert der Prozessor 11 des Server-Computers 1 eine sichere Fernsitzung mit dem Client-Computer 2, der mit dem Server-Computer 1 über die Kommunikationsschnittstelle 13 verbunden ist. Die sichere Fernsitzung ermöglicht einem Benutzer des Client-Computers 2 den Zugriff auf die vertraulichen Informationen des im virtuellen Speicher gespeicherten Datensatzes. Eine Sitzung ist eine verbindungsbasierte Kommunikationsform zwischen Server- und Client-Einheiten. Eine erhöhte Sicherheit der Sitzung kann auf verschiedene Weise bereitgestellt werden, z. B. durch Verschlüsselung und/oder Authentifizierung. Insbesondere greift der Client-Computer 2 auf die vertraulichen Informationen zu, indem er im flüchtigen Speicher des Client-Computers 2 eine Kopie der vertraulichen Informationen vorübergehend speichert, so dass der Benutzer auf diese Informationen zugreifen kann. Je nach Art der vertraulichen Informationen umfasst der Zugriff auf die Informationen das Ansehen und/oder Anhören der vertraulichen Informationen über ein Display und/oder einen Lautsprecher des Client-Computers 2. [0049] In a step S3, the processor 11 of the server computer 1 initiates a secure remote session with the client computer 2, which is connected to the server computer 1 via the communication interface 13. The secure remote session enables a user of the client computer 2 to access the confidential information of the data set stored in the virtual memory. A session is a connection-based form of communication between server and client units. Increased security of the session can be provided in various ways, e.g. by encryption and/or authentication. In particular, the client computer 2 accesses the confidential information by temporarily storing a copy of the confidential information in the volatile memory of the client computer 2 so that the user can access this information. Depending on the type of confidential information, accessing the information includes viewing and/or listening to the confidential information via a display and/or a speaker of the client computer 2.

[0050] In einer Ausführungsform wird die Datenkommunikation zwischen dem Server-Computer 1 und dem Client-Computer 2 während der sicheren Fernsitzung mit erhöhter Sicherheit durchgeführt, insbesondere mit Secure Sockets Layer/Transport Layer Security (SSL/TLS), wobei die sichere Fernverbindung unter Verwendung eines digitalen Zertifikats authentifiziert wird, das von einer vertrauenswürdigen Zertifizierungsstelle bereitgestellt wird, die sich bei angeforderter Validierung für die Authentizität des Zertifikats verbürgt, und wobei die Datenübertragung verschlüsselt wird. Insbesondere sendet der Client-Computer 2 eine Anforderungsnachricht an den Server-Computer 1, woraufhin der Server-Computer 1 mit einer Antwortnachricht an den Client-Computer 2 antwortet, wobei der Server-Computer 1 vorzugsweise auch ein digitales Zertifikat sendet, um sich gegenüber dem Client-Computer 2 zu authentifizieren. Der Client-Computer 2 validiert dann das Zertifikat. Optional kann der Server-Computer 1 auch den Client-Computer 2 mit dem vom Client-Computer 2 empfangenen digitalen Zertifikat validieren. Das Herstellen der authentifizierten Verbindung umfasst das Erzeugen eines gemeinsamen symmetrischen Schlüssels, der sowohl dem Server-Computer 1 als auch dem Client-Computer 2 bekannt ist. Nach dem Aufbau der authentifizierten Verbindung werden die zwischen dem Server-Computer 1 und dem Client-Computer 2 übertragenen Daten mit dem gemeinsamen symmetrischen Schlüssel verschlüsselt. [0050] In one embodiment, the data communication between the server computer 1 and the client computer 2 during the secure remote session is carried out with increased security, in particular with Secure Sockets Layer/Transport Layer Security (SSL/TLS), wherein the secure remote connection is authenticated using a digital certificate provided by a trusted certification authority that vouches for the authenticity of the certificate when validation is requested, and wherein the data transmission is encrypted. In particular, the client computer 2 sends a request message to the server computer 1, whereupon the server computer 1 responds with a response message to the client computer 2, wherein the server computer 1 preferably also sends a digital certificate to authenticate itself to the client computer 2. The client computer 2 then validates the certificate. Optionally, the server computer 1 can also validate the client computer 2 with the digital certificate received from the client computer 2. Establishing the authenticated connection involves generating a common symmetric key that is known to both the server computer 1 and the client computer 2. After establishing the authenticated connection, the data transmitted between the server computer 1 and the client computer 2 is encrypted with the common symmetric key.

[0051] In einem Schritt S4 empfängt der Prozessor 11 des Server-Computers 1 während der sicheren Fernsitzung Benutzereingaben von dem Client-Computer2 über die Kommunikationsschnittstelle 13. Der Server-Computer 1 ist so konfiguriert, dass er die Benutzereingaben an die virtuelle Maschine 14 weiterleitet, wobei die virtuelle Maschine 14 die Benutzereingaben in einem elektronischen Dokument speichert, das mit den vertraulichen Informationen assoziiert ist. Das elektronische Dokument wird mit den vertraulichen Informationen assoziiert, indem es beispielsweise an die vertraulichen Informationen angehängt wird oder umgekehrt. Alternativ oder zusätzlich wird das elektronische Dokument zusammen mit den vertraulichen Informationen gespeichert, enthält einen mit den vertraulichen Informationen verknüpften Identifikator oder verweist auf andere Weise auf die vertraulichen Informationen. Alternativ ist das elektronische Dokument mit den vertraulichen Informationen assoziiert, indem die vertraulichen Informationen das elektronische Dokument identifizieren oder mit ihm verknüpft sind. Die Benutzereingaben umfassen z. B. Tastatureingaben, Mausbewegungen und/oder aufgezeichnete Sprache des Benutzers. [0051] In a step S4, the processor 11 of the server computer 1 receives user inputs from the client computer 2 via the communication interface 13 during the secure remote session. The server computer 1 is configured to forward the user inputs to the virtual machine 14, wherein the virtual machine 14 stores the user inputs in an electronic document associated with the confidential information. The electronic document is associated with the confidential information, for example by being attached to the confidential information or vice versa. Alternatively or additionally, the electronic document is stored together with the confidential information, contains an identifier associated with the confidential information, or otherwise refers to the confidential information. Alternatively, the electronic document is associated with the confidential information by the confidential information identifying or being associated with the electronic document. The user inputs include, for example, keyboard inputs, mouse movements, and/or recorded speech of the user.

[0052] Die vorliegende Offenbarung bezieht sich insbesondere auf elektronische Dokumente, die Informationen in schriftlicher Form enthalten. Es ist jedoch auch die Erstellung, der Zugriff und die Bearbeitung anderer Arten von Dokumenten vorgesehen. Diese beinhalten z. B. Audio-, Grafik- und/oder Videodokumente. [0052] The present disclosure particularly relates to electronic documents containing information in written form. However, the creation, access and editing of other types of documents is also envisaged. These include, for example, audio, graphic and/or video documents.

[0053] Die vorliegende Offenbarung ist besonders nützlich für die Übersetzung vertraulicher Daten oder für die Erstellung von Berichtsdokumenten auf der Grundlage vertraulicher Informationen. Zum Beispiel ist der hochgeladene Datensatz ein Textdokument in einer bestimmten Sprache, das von einem ersten Benutzer hochgeladen wurde, und das elektronische Dokument ist eine Übersetzung der vertraulichen Informationen des Datensatzes in eine andere Sprache. Die Übersetzung in Form des elektronischen Dokuments wird in der Regel von einem anderen zweiten Benutzer erstellt. Ein dritter Benutzer, der mit dem ersten Benutzer identisch sein kann, kann das elektronische Dokument Korrektur lesen oder anderweitig überprüfen. [0053] The present disclosure is particularly useful for translating confidential data or for creating report documents based on confidential information. For example, the uploaded dataset is a text document in a particular language uploaded by a first user, and the electronic document is a translation of the confidential information of the dataset into another language. The translation in the form of the electronic document is typically created by another second user. A third user, who may be the same as the first user, may proofread or otherwise review the electronic document.

[0054] In einer Ausführungsform wird das elektronische Dokument während seiner Bearbeitung im virtuellen flüchtigen Speicher und/oder im virtuellen nichtflüchtigen Speicher der virtuellen Maschine 14 gespeichert. [0054] In one embodiment, the electronic document is stored in the virtual volatile memory and/or the virtual non-volatile memory of the virtual machine 14 during its processing.

[0055] In einer Ausführungsform wird das elektronische Dokument in verschlüsselter Form gespeichert, zum Beispiel mit AES 256, wie oben beschrieben. [0055] In one embodiment, the electronic document is stored in encrypted form, for example with AES 256, as described above.

[0056] In einem Schritt S5 terminiert der Prozessor 11 des Server-Computers 1 die sichere Fernsitzung zum Client-Computer 2. Insbesondere wird die Verbindung zwischen Server und Client mit dem Terminierungs-Handshake des zugrunde liegenden sicheren Fernsitzungsprotokolls terminiert. In einem Schritt S6 ruft der Prozessor 11 des Server-Computers 1 das elektronische Dokument von der virtuellen Maschine 14 ab und überträgt das elektronische Dokument sicher über die Kommunikationsschnittstelle 13 an einen Dokumentenserver 3. Dazu lädt der Prozessor 11 das elektronische Dokument aus dem virtuellen flüchtigen Speicher und/oder dem virtuellen nichtflüchtigen Speicher, wandelt es in ein Kommunikationsprotokollpaket um und sendet es an den Dokumentenserver 3. Eine erhöhte Sicherheit der Übertragung kann durch Verschlüsselung und/oder Authentifizierung bereitgestellt werden. [0056] In a step S5, the processor 11 of the server computer 1 terminates the secure remote session to the client computer 2. In particular, the connection between server and client is terminated with the termination handshake of the underlying secure remote session protocol. In a step S6, the processor 11 of the server computer 1 retrieves the electronic document from the virtual machine 14 and transmits the electronic document securely to a document server 3 via the communication interface 13. To do this, the processor 11 loads the electronic document from the virtual volatile memory and/or the virtual non-volatile memory, converts it into a communication protocol packet and sends it to the document server 3. Increased security of the transmission can be provided by encryption and/or authentication.

[0057] In einer Ausführungsform wird die Verschlüsselung und/oder Authentifizierung durch Verwendung der SSL/TLS-Authentifizierung und Verschlüsselung des elektronischen Dokuments ermöglicht. [0057] In one embodiment, encryption and/or authentication is enabled by using SSL/TLS authentication and encryption of the electronic document.

[0058] In einem Schritt S7 terminiert der Prozessor 11 des Server-Computers 1 die virtuelle Maschine 14 und löscht die virtuelle Maschine 14 im Speicher 12. Dazu werden laufende Prozesse gestoppt und die virtuelle Maschine 14 wird heruntergefahren und anschließend vom Server-Computer 1 gelöscht. Dabei löscht der Prozessor 11 das elektronische Dokument und den Datensatz mit den vertraulichen Informationen aus dem Speicher 12. [0058] In a step S7, the processor 11 of the server computer 1 terminates the virtual machine 14 and deletes the virtual machine 14 in the memory 12. To do this, running processes are stopped and the virtual machine 14 is shut down and then deleted from the server computer 1. In doing so, the processor 11 deletes the electronic document and the data set with the confidential information from the memory 12.

[0059] In einer Ausführungsform löscht der Prozessor 11 das elektronische Dokument und den Datensatz, der die vertraulichen Informationen enthält, in einer nicht wiederherstellbaren Weise, beispielsweise durch Löschen aller Verschlüsselungsschlüssel, die zur Verschlüsselung des elektronischen Dokuments und/oder des Datensatzes verwendet wurden, oder durch Überschreiben des elektronischen Dokuments und/oder des Datensatzes mit Zufallsdaten (oder z. B. Nullen) oder durch Abschalten der Stromversorgung des virtuellen flüchtigen Speichers für eine ausreichende Zeitspanne. [0059] In one embodiment, the processor 11 deletes the electronic document and the record containing the confidential information in a non-recoverable manner, for example by deleting all encryption keys used to encrypt the electronic document and/or the record, or by overwriting the electronic document and/or the record with random data (or, e.g., zeros), or by turning off power to the virtual volatile memory for a sufficient period of time.

[0060] Figur 3zeigt die fakultativen Schritte S2a bis S2d, die zusätzlich zu den oben unter Bezugnahme auf Figur 2 beschriebenen Schritten durchgeführt werden können. [0060] Figure 3 shows the optional steps S2a to S2d, which can be performed in addition to the steps described above with reference to Figure 2.

[0061] In einem Schritt S2a empfängt der Prozessor 11 des Server-Computers 1 über die Kommunikationsschnittstelle 13 eine Zugriffsliste, die die Benutzeranmeldedaten eines oder mehrerer Benutzer umfasst, und konfiguriert in einem Schritt S2b die Zugriffsrechte für die virtuelle Maschine 14 anhand der Zugriffsliste. Es sei darauf hingewiesen, dass dieser Schritt auch zu einem früheren Zeitpunkt erfolgen kann, und dass diese Informationen auch in der Konfigurationsdatei der virtuellen Maschine 14 bereitgestellt werden können. [0061] In a step S2a, the processor 11 of the server computer 1 receives an access list comprising the user login data of one or more users via the communication interface 13 and, in a step S2b, configures the access rights for the virtual machine 14 based on the access list. It should be noted that this step can also take place at an earlier point in time and that this information can also be provided in the configuration file of the virtual machine 14.

[0062] In einem Schritt S2c empfängt der Prozessor 11 des Server-Computers 1 über die Kommunikationsschnittstelle 13 eine Benutzerzugangsanforderung von dem Client-Computer 2 des Benutzers, wobei die Benutzerzugangsanforderung Anmeldeinformationen umfasst. Der Prozessor 11 leitet dann die Benutzerzugangsanforderung an die virtuelle Maschine 14 weiter. Insbesondere im Rahmen des Aufbaus der sicheren Fernsitzung zwischen dem Server-Computer 1 und dem Client-Computer 2 sendet der Benutzer über die Kommunikationsschnittstelle 13 seine Benutzeranmeldedaten an den Server-Computer 1, um sich zu authentifizieren. [0062] In a step S2c, the processor 11 of the server computer 1 receives a user access request from the user's client computer 2 via the communication interface 13, the user access request comprising login information. The processor 11 then forwards the user access request to the virtual machine 14. In particular, as part of establishing the secure remote session between the server computer 1 and the client computer 2, the user sends his user login data to the server computer 1 via the communication interface 13 in order to authenticate himself.

[0063] In einem Schritt S2d überträgt der Prozessor 11 des Server-Computers 1 über die Kommunikationsschnittstelle 13 eine Benutzerzugangsbestätigung an den Client-Computer2 des Benutzers, nachdem die virtuelle Maschine 14 die Benutzerzugangsanforderung unter Verwendung der Benutzerzugangsinformationen und der gespeicherten Benutzeranmeldedaten autorisiert hat. [0063] In a step S2d, the processor 11 of the server computer 1 transmits a user access confirmation to the user's client computer 2 via the communication interface 13 after the virtual machine 14 has authorized the user access request using the user access information and the stored user login data.

[0064] Insbesondere initiiert die virtuelle Maschine 14 in einer Ausführungsform, wenn die Benutzerzugangsanforderung vom Prozessor 11 an die virtuelle Maschine 14 übertragen wird, einen Identifizierungsprozess, bei dem die virtuelle Maschine 14 überprüft, ob der Benutzername in der gespeicherten Zugriffsliste enthalten ist. Im weiteren Verlauf des Autorisierungsprozesses wird das vom Benutzer gesendete Benutzerpasswort mit einem in den Anmeldedaten gespeicherten Passwort innerhalb der virtuellen Maschine 14 verglichen. In der Regel werden nicht die Benutzer-Passwörter selbst, sondern gehashte Passwörter verglichen. [0064] In particular, in one embodiment, when the user access request is transmitted from the processor 11 to the virtual machine 14, the virtual machine 14 initiates an identification process in which the virtual machine 14 checks whether the user name is included in the stored access list. As the authorization process continues, the user password sent by the user is compared with a password stored in the login data within the virtual machine 14. Typically, it is not the user passwords themselves that are compared, but hashed passwords.

[0065] In den folgenden Abschnitten werden weitere mögliche Schrittfolgen vorgestellt, die der Prozessor 11 zur Bearbeitung eines sicheren elektronischen Dokuments durchführt. [0065] The following sections present further possible sequences of steps that the processor 11 performs to process a secure electronic document.

[0066] In einer Ausführungsform überträgt der Prozessor 11 des Server-Computers 1 in einem weiteren Schritt über die Kommunikationsschnittstelle 13 die Benutzerzugangsbestätigung an den Client-Computer 2 des Benutzers und sendet darüber hinaus eine Aufforderungsnachricht an eine weitere Vorrichtung 4 des Benutzers. Entweder die weitere Vorrichtung 4 oder der Client-Computer 2 sendet eine passende Antwortnachricht über die Kommunikationsschnittstelle 13 an den Prozessor. Im Einzelnen beinhaltet der Prozess der Authentifizierung die Übertragung von Informationen von der virtuellen Maschine 14 an die weitere Vorrichtung, die dann entweder über den Client-Computer 2 oder die weitere Vorrichtung 4 an die virtuelle Maschine 14 zurückgesendet werden. In der Regel werden diese Informationen pseudozufällig oder zufällig generiert und sind nur für einen begrenzten Zeitraum gültig, in der Regel eine halbe Minute oder weniger. Diese Verknüpfung mit einer weiteren Vorrichtung erhöht die Sicherheit weiter, insbesondere in Bezug auf den Anmeldeprozess. [0066] In one embodiment, the processor 11 of the server computer 1 transmits the user access confirmation to the user's client computer 2 via the communication interface 13 in a further step and also sends a request message to another device 4 of the user. Either the other device 4 or the client computer 2 sends a suitable response message to the processor via the communication interface 13. In detail, the process of authentication involves the transmission of information from the virtual machine 14 to the other device, which is then sent back to the virtual machine 14 via either the client computer 2 or the other device 4. Typically, this information is generated pseudorandomly or randomly and is only valid for a limited period of time, typically half a minute or less. This linking to another device further increases security, particularly with regard to the login process.

[0067] Es sei darauf hingewiesen, dass in der Beschreibung der Computerprogrammcode mit bestimmten Funktionsmodulen assoziiert wurde und die Abfolge der Schritte in einer bestimmten Reihenfolge dargestellt wurde; ein Fachmann wird jedoch verstehen, dass der Computerprogrammcode anders strukturiert sein kann und dass die Reihenfolge zumindest einiger der Schritte geändert werden könnte, ohne vom Umfang der Offenbarung abzuweichen. [0067] It should be noted that in the description the computer program code has been associated with particular functional modules and the sequence of steps has been presented in a particular order; however, one skilled in the art will understand that the computer program code may be structured differently and that the order of at least some of the steps could be changed without departing from the scope of the disclosure.

Claims (11)

1. Ein Cloud-basierter Server-Computer (1), umfassend einen Prozessor (11), einen Speicher (12) und eine Kommunikationsschnittstelle (13), wobei der Prozessor (11) konfiguriert ist, um: eine virtuelle Maschine (14) zu erstellen und zu konfigurieren (S0) unter Verwendung einer Konfigurationsdatei, und die virtuelle Maschine (14) im Speicher (12) zu speichern; die virtuelle Maschine (14) auszuführen (S1); über die Kommunikationsschnittstelle (13) einen Datensatz zu empfangen (S2), der vertrauliche Informationen beinhaltet, und den Datensatz an die virtuelle Maschine (14) weiterzuleiten, wobei die virtuelle Maschine (14) den Datensatz in einem virtuellen Speicher speichert; auf der virtuellen Maschine (14) eine sichere Fernsitzung zu initiieren (S3), die einen Client-Computer (2) eines Benutzers über die Kommunikationsschnittstelle (13) mit der virtuellen Maschine (14) verbindet und dem Benutzer den Zugriff auf die vertraulichen Informationen ermöglicht; während der sicheren Fernsitzung über die Kommunikationsschnittstelle (13) Benutzereingaben von dem Client-Computer (2) zu empfangen (S4) und an die virtuelle Maschine (14) weiterzuleiten, wobei die virtuelle Maschine (14) die Benutzereingaben in einem elektronischen Dokument speichert, das mit den vertraulichen Informationen assoziiert ist; die sichere Fernsitzung zu terminieren (S5); das elektronische Dokument von der virtuellen Maschine (14) abzurufen (S6) und das elektronische Dokument über die Kommunikationsschnittstelle (13) an einen Dokumentenserver (3) sicher zu übertragen; und die virtuelle Maschine (14) zu terminieren und zu löschen (S7).1. A cloud-based server computer (1) comprising a processor (11), a memory (12) and a communication interface (13), wherein the processor (11) is configured to: create and configure (S0) a virtual machine (14) using a configuration file, and store the virtual machine (14) in the memory (12); execute the virtual machine (14) (S1); receive (S2) a data set containing confidential information via the communication interface (13) and forward the data set to the virtual machine (14), wherein the virtual machine (14) stores the data set in a virtual memory; initiate (S3) a secure remote session on the virtual machine (14) that connects a user's client computer (2) to the virtual machine (14) via the communication interface (13) and allows the user to access the confidential information; to receive (S4) user inputs from the client computer (2) during the secure remote session via the communication interface (13) and to forward them to the virtual machine (14), wherein the virtual machine (14) stores the user inputs in an electronic document associated with the confidential information; to terminate the secure remote session (S5); to retrieve (S6) the electronic document from the virtual machine (14) and to securely transmit the electronic document to a document server (3) via the communication interface (13); and to terminate and delete (S7) the virtual machine (14). 2. Der Cloud-basierte Server-Computer (1) nach Anspruch 1, wobei der Prozessor (11) ferner konfiguriert ist, um: über die Kommunikationsschnittstelle (13) eine Zugriffsliste zu empfangen (S2a), die Benutzeranmeldedaten von einem oder mehreren Benutzern umfasst; und die Zugriffsrechte für die virtuelle Maschine (14) anhand der Zugriffsliste zu konfigurieren (S2b).2. The cloud-based server computer (1) according to claim 1, wherein the processor (11) is further configured to: receive (S2a) an access list via the communication interface (13) comprising user login data of one or more users; and configure the access rights for the virtual machine (14) based on the access list (S2b). 3. Der Cloud-basierte Server-Computer (1) nach einem der Ansprüche 1 bis 2, wobei der Prozessor (11) ferner konfiguriert ist, um: über die Kommunikationsschnittstelle (13) eine Benutzerzugangsanforderung von dem Client-Computer (2) eines Benutzers zu empfangen (S2c) und an die virtuelle Maschine (14) weiterzuleiten, wobei die Benutzerzugangsanforderung Benutzerzugangsinformationen umfasst; und über die Kommunikationsschnittstelle (13) eine Benutzerzugangsbestätigung an den Client-Computer (2) des Benutzers zu übertragen (S2d), wenn die virtuelle Maschine (14) die Benutzerzugangsbestätigung unter Verwendung der Benutzerzugangsinformationen und der gespeicherten Benutzeranmeldedaten autorisiert hat.3. The cloud-based server computer (1) according to one of claims 1 to 2, wherein the processor (11) is further configured to: receive (S2c) a user access request from the client computer (2) of a user via the communication interface (13) and forward it to the virtual machine (14), wherein the user access request comprises user access information; and transmit (S2d) a user access confirmation to the client computer (2) of the user via the communication interface (13) if the virtual machine (14) has authorized the user access confirmation using the user access information and the stored user login data. 4. Der Cloud-basierte Server-Computer (1) nach Anspruch 3, wobei der Prozessor (11) konfiguriert ist, um: die Benutzerzugangsbestätigung über die Kommunikationsschnittstelle (13) an den Client-Computer (2) des Benutzers zu übertragen, nachdem eine Aufforderungsnachricht an eine weitere Vorrichtung (4) des Benutzers übertragen und eine passende Antwortnachricht entweder von dem Client-Computer (2) oder der weiteren Vorrichtung (4) empfangen wurde.4. The cloud-based server computer (1) of claim 3, wherein the processor (11) is configured to: transmit the user access confirmation to the user's client computer (2) via the communication interface (13) after a request message has been transmitted to another device (4) of the user and a matching response message has been received from either the client computer (2) or the another device (4). 5. Der Cloud-basierte Server-Computer (1) nach einem der Ansprüche 1 bis 4, wobei die virtuelle Maschine (14) so konfiguriert ist, um: die Installation oder Ausführung von Software zu verbieten, die nicht in der Konfigurationsdatei angegeben ist; nur vordefinierte Netzwerkkommunikationen über die Kommunikationsschnittstelle (13) zu erlauben; und/oder das Kopieren jeglicher Daten von der virtuellen Maschine (14) auf den Client-Computer (2) während der sicheren Fernsitzung zu unterbinden.5. The cloud-based server computer (1) according to any one of claims 1 to 4, wherein the virtual machine (14) is configured to: prohibit the installation or execution of software not specified in the configuration file; allow only predefined network communications via the communication interface (13); and/or prevent the copying of any data from the virtual machine (14) to the client computer (2) during the secure remote session. 6. Ein computer-implementiertes Verfahren zur Bearbeitung eines sicheren elektronischen Dokuments, wobei das Verfahren umfasst: Erstellen und Konfigurieren (S0) einer virtuellen Maschine (14) in einem Prozessor (11) eines Cloud-basierten Server-Computers (1) unter Verwendung einer Konfigurationsdatei, und Speichern der virtuellen Maschine (14) in einem Speicher (12) des Cloud-basierten Server-Computers (1); Ausführen (S1) der virtuellen Maschine (14) in dem Prozessor (11); Empfangen (S2) eines Datensattes über die Kommunikationsschnittstelle (13), der vertrauliche Informationen beinhaltet, und Weiterleiten (S2) des Datensatzes an die virtuelle Maschine (14) des Cloud-basierten Server-Computers (1); Initiieren (S3) einer sicheren Fernsitzung auf der virtuellen Maschine (14), die einen Client-Computer (2) eines Benutzers über die Kommunikationsschnittstelle (13) mit der virtuellen Maschine (14) verbindet und dem Benutzer den Zugriff auf die vertraulichen Informationen ermöglicht; Empfangen (S4) von Benutzereingaben von dem Client-Computer (2) über die Kommunikationsschnittstelle (13) und Weiterleiten an die virtuelle Maschine (14) während der sicheren Fernsitzung, wobei die virtuelle Maschine (14) die Benutzereingaben in einem elektronischen Dokument speichert, das mit den vertraulichen Informationen assoziiert ist; Terminieren (S5) der sicheren Benutzer-Fernsitzung; Abrufen (S6) des elektronischen Dokuments von der virtuellen Maschine (14) und sicheres Übertragen des elektronischen Dokuments an einen Server (3) über die Kommunikationsschnittstelle (13); und Terminieren und Löschen (S7) der virtuellen Maschine (14) im Cloud-basierten Server-Computer (1).6. A computer-implemented method for processing a secure electronic document, the method comprising: Creating and configuring (S0) a virtual machine (14) in a processor (11) of a cloud-based server computer (1) using a configuration file, and storing the virtual machine (14) in a memory (12) of the cloud-based server computer (1); Executing (S1) the virtual machine (14) in the processor (11); Receiving (S2) a data set via the communication interface (13) that includes confidential information and forwarding (S2) the data set to the virtual machine (14) of the cloud-based server computer (1); Initiating (S3) a secure remote session on the virtual machine (14) that connects a user's client computer (2) to the virtual machine (14) via the communication interface (13) and allows the user to access the confidential information; Receiving (S4) user inputs from the client computer (2) via the communication interface (13) and forwarding them to the virtual machine (14) during the secure remote session, wherein the virtual machine (14) stores the user inputs in an electronic document associated with the confidential information; terminating (S5) the secure remote user session; retrieving (S6) the electronic document from the virtual machine (14) and securely transmitting the electronic document to a server (3) via the communication interface (13); and terminating and deleting (S7) the virtual machine (14) in the cloud-based server computer (1). 7. Verfahren nach Anspruch 6, das ferner Folgendes umfasst: Empfangen (S2a), über die Kommunikationsschnittstelle (13), einer Zugriffsliste, die Benutzeranmeldedaten eines oder mehrerer Benutzer umfasst; und Konfigurieren (S2b) der Zugriffsrechte für die virtuelle Maschine im Prozessor (11) unter Verwendung der Zugriffsliste.7. The method of claim 6, further comprising: receiving (S2a), via the communication interface (13), an access list comprising user login data of one or more users; and configuring (S2b) the access rights for the virtual machine in the processor (11) using the access list. 8. Verfahren nach einem der Ansprüche 6 oder 7, das ferner Folgendes umfasst: Empfangen (S2c), über die Kommunikationsschnittstelle (13), und Weiterleiten an die virtuelle Maschine (14), einer Benutzerzugangsanforderung von einem Client-Computer (2) eines Benutzers, wobei die Benutzerzugangsanforderung Benutzerzugangsinformationen umfasst; und Übertragen (S2d), über die Kommunikationsschnittstelle (13), einer Benutzerzugangsbestätigung an den Client-Computer (2) des Benutzers, wenn die virtuelle Maschine (14) die Benutzerzugangsbestätigung unter Verwendung der Benutzerzugangsinformationen und der gespeicherten Benutzeranmeldedaten autorisiert.8. The method of claim 6 or 7, further comprising: receiving (S2c), via the communication interface (13), and forwarding to the virtual machine (14), a user access request from a user's client computer (2), the user access request comprising user access information; and transmitting (S2d), via the communication interface (13), a user access confirmation to the user's client computer (2) if the virtual machine (14) authorizes the user access confirmation using the user access information and the stored user login data. 9. Verfahren nach Anspruch 8, umfassend das Übertragen der Benutzerzugangsbestätigung über die Kommunikationsschnittstelle (13) an den Client-Computer (2) des Benutzers, nachdem eine Aufforderungsnachricht an eine weitere Vorrichtung (4) des Benutzers übertragen und eine passende Antwortnachricht entweder von dem Client-Computer (2) oder der weiteren Vorrichtung (4) empfangen wurde.9. The method of claim 8, comprising transmitting the user access confirmation via the communication interface (13) to the user's client computer (2) after a request message has been transmitted to another device (4) of the user and an appropriate response message has been received from either the client computer (2) or the another device (4). 10. Verfahren nach einem der Ansprüche 6 bis 9, umfassend das Konfigurieren der virtuellen Maschine (14) in dem Prozessor (11), um: die Installation oder Ausführung von Software zu verbieten, die nicht in der Konfigurationsdatei angegeben ist; nur vordefinierte Netzwerkkommunikationen über die Kommunikationsschnittstelle (13) zu erlauben; und/oder das Kopieren jeglicher Daten von der virtuellen Maschine (14) auf den Client-Computer (2) während der sicheren Fernsitzung zu unterbinden.10. The method of any of claims 6 to 9, comprising configuring the virtual machine (14) in the processor (11) to: prohibit the installation or execution of software not specified in the configuration file; to allow only predefined network communications via the communication interface (13); and/or to prevent the copying of any data from the virtual machine (14) to the client computer (2) during the secure remote session. 11. Ein Computerprogrammprodukt, umfassend ein nichtflüchtiges computerlesbares Medium, auf dem Computerprogrammcode gespeichert ist, der so konfiguriert ist, dass ein Prozessor (11) eines Cloud-basierten Server-Computers (1) das Verfahren nach einem der Ansprüche 6 bis 10 ausführt.11. A computer program product comprising a non-transitory computer-readable medium having stored thereon computer program code configured to enable a processor (11) of a cloud-based server computer (1) to execute the method of any of claims 6 to 10.
CH001139/2022A 2022-09-30 2022-09-30 DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT CH720073A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH001139/2022A CH720073A1 (en) 2022-09-30 2022-09-30 DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH001139/2022A CH720073A1 (en) 2022-09-30 2022-09-30 DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT

Publications (1)

Publication Number Publication Date
CH720073A1 true CH720073A1 (en) 2024-04-15

Family

ID=84360527

Family Applications (1)

Application Number Title Priority Date Filing Date
CH001139/2022A CH720073A1 (en) 2022-09-30 2022-09-30 DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT

Country Status (1)

Country Link
CH (1) CH720073A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170372080A1 (en) * 2016-06-28 2017-12-28 International Business Machines Corporation Dynamically provisioning virtual machines
US20180343257A1 (en) * 2017-05-25 2018-11-29 Bank Of America Coporation Data Leakage and Information Security Using Access Control
US20190087596A1 (en) * 2015-06-02 2019-03-21 Alibaba Group Holding Limited Generating a stub file corresponding to a classified data file

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190087596A1 (en) * 2015-06-02 2019-03-21 Alibaba Group Holding Limited Generating a stub file corresponding to a classified data file
US20170372080A1 (en) * 2016-06-28 2017-12-28 International Business Machines Corporation Dynamically provisioning virtual machines
US20180343257A1 (en) * 2017-05-25 2018-11-29 Bank Of America Coporation Data Leakage and Information Security Using Access Control

Similar Documents

Publication Publication Date Title
DE102016123651B4 (en) AUTHENTICATION COOPERATION SYSTEM
DE102007033615B4 (en) Method and apparatus for converting authentication tokens to enable interactions between applications
DE112010004930B4 (en) Secure Kerberized Access to an Encrypted File System
DE60024696T2 (en) System and method for manipulating a computer stock and / or a program
DE60201854T2 (en) Negotiation of secure connections by a proxy server
DE112011101729B4 (en) Management of resource access
DE112015005024T5 (en) Open local browser applications
DE112020000538T5 (en) FINE-GRAINED TOKEN-BASED ACCESS CONTROL
DE102011077218B4 (en) Access to data stored in a cloud
DE112018005203T5 (en) Authentication using delegated identities
DE102012213807A1 (en) Control lightweight document access using access control lists in cloud storage or on the local file system
DE112018004753T5 (en) AUTOMATICALLY UPGRADES FROM ONE STAGE CHECK TO TWO STAGE CHECK THROUGH AN APPLICATION PROGRAMMING INTERFACE
DE112011102224B4 (en) Identity mediation between client and server applications
DE112010004135T5 (en) Backup asynchronous client-server transactions
DE112014001363T5 (en) Method, apparatus and computer-readable medium for data tokenizing
DE112014000584T5 (en) Achieving storage efficiency with end-to-end encryption using downstream (downstream) decryptors
DE112016000291T5 (en) Secure data management techniques
DE102015003236A1 (en) Method and system for providing temporary, secure access enabling virtual resources
DE112013002539T5 (en) Validation of mobile units
DE60221861T2 (en) SERVER WITH FILE REQUEST
EP3198826B1 (en) Authentication stick
DE102021123288A1 (en) RULE-BASED FILTERING TO SECURE PASSWORD LOGINS
DE202020005753U1 (en) Managing user identities in a multi-tenant managed service
CH720073A1 (en) DEVICE AND METHOD FOR PROCESSING A SECURE ELECTRONIC DOCUMENT
EP3244331B1 (en) Method for reading attributes from an id token