CH720073B1 - Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments - Google Patents

Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments Download PDF

Info

Publication number
CH720073B1
CH720073B1 CH001139/2022A CH11392022A CH720073B1 CH 720073 B1 CH720073 B1 CH 720073B1 CH 001139/2022 A CH001139/2022 A CH 001139/2022A CH 11392022 A CH11392022 A CH 11392022A CH 720073 B1 CH720073 B1 CH 720073B1
Authority
CH
Switzerland
Prior art keywords
virtual machine
user
communication interface
computer
processor
Prior art date
Application number
CH001139/2022A
Other languages
English (en)
Other versions
CH720073A1 (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/CH720073B1/de
Publication of CH720073A1 publication Critical patent/CH720073A1/de
Publication of CH720073B1 publication Critical patent/CH720073B1/de

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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • 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).

Description

BEREICH DER OFFENBARUNG
[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.
HINTERGRUND DER OFFENBARUNG
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
ALLGEMEINE BESCHREIBUNG DER OFFENBARUNG
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
[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.
AUSFÜHRLICHE BESCHREIBUNG DER AUSFÜHRUNGSFORMEN
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[0051] In einem Schritt S4 empfängt der Prozessor 11 des Server-Computers 1 während der sicheren Fernsitzung Benutzereingaben von dem Client-Computer 2 ü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.
[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.
[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.
[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.
[0055] In einer Ausführungsform wird das elektronische Dokument in verschlüsselter Form gespeichert, zum Beispiel mit AES 256, wie oben beschrieben.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[0065] In den folgenden Abschnitten werden weitere mögliche Schrittfolgen vorgestellt, die der Prozessor 11 zur Bearbeitung eines sicheren elektronischen Dokuments durchführt.
[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.
[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.

Claims (11)

1. 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).
2. Cloud-basierter 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).
3. Cloud-basierter 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.
4. Cloud-basierter 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.
5. Cloud-basierter 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.
6. 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 Datensatzes über eine Kommunikationsschnittstelle (13) des Cloud-basierten Server-Computers (1), 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).
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.
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.
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.
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.
11. 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.
CH001139/2022A 2022-09-30 2022-09-30 Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments CH720073B1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CH001139/2022A CH720073B1 (de) 2022-09-30 2022-09-30 Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH001139/2022A CH720073B1 (de) 2022-09-30 2022-09-30 Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments

Publications (2)

Publication Number Publication Date
CH720073A1 CH720073A1 (de) 2024-04-15
CH720073B1 true CH720073B1 (de) 2025-01-31

Family

ID=84360527

Family Applications (1)

Application Number Title Priority Date Filing Date
CH001139/2022A CH720073B1 (de) 2022-09-30 2022-09-30 Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments

Country Status (1)

Country Link
CH (1) CH720073B1 (de)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106295386B (zh) * 2015-06-02 2021-04-27 阿里巴巴集团控股有限公司 数据文件的保护方法、装置及终端设备
US10162973B2 (en) * 2016-06-28 2018-12-25 International Business Machines Corporation Dynamically provisioning virtual machines
US10447697B2 (en) * 2017-05-25 2019-10-15 Bank Of America Corporation Data leakage and information security using access control

Also Published As

Publication number Publication date
CH720073A1 (de) 2024-04-15

Similar Documents

Publication Publication Date Title
DE112020000538B4 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE60307736T2 (de) Serverarchitektur für sichere Plug-ins in digitalen Rechteverwaltungsssystemen
DE102016123651B4 (de) Authentisierungskooperationssystem
DE102007033615B4 (de) Verfahren und Vorrichtung zum Umwandeln von Authentisierungs-Token zur Ermöglichung von Interaktionen zwischen Anwendungen
DE112010004930B4 (de) Sicherer kerberisierter Zugriff auf ein verschlüsseltes Dateisystem
DE69619136T2 (de) Sichere durchgangsystemschnittstelle
DE60201854T2 (de) Verhandlung von sicheren Verbindungen durch einen Proxy-Server
DE60024696T2 (de) System und Verfahren zur Manipulation eines Rechnersbestandes und/oder eines Programms
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112018005203T5 (de) Authentifizierung unter Verwendung von delegierten Identitäten
DE112015005024T5 (de) Öffnen lokaler Anwendungen von Browsern
DE112018004753T5 (de) Automatisches aufrüsten von einstufiger berechtigungsprüfung auf zweistufige berechtigungsprüfung über eine anwendungsprogrammierschnittstelle
DE112015004555T5 (de) Verarbeiten eines Gast-Ereignisses in einem von einem Hypervisor gesteuerten System
DE112020002343B4 (de) Verteilung von Sicherheitsberechtigungsnachweisen
DE112011102224B4 (de) Identitätsvermittlung zwischen Client- und Server-Anwendungen
DE102015003236A1 (de) Verfahren und System zum Bereitstellen von temporären, sicheren Zugang ermöglichenden virtuellen Betriebsmitteln
DE112017004160B4 (de) Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung
EP3198826B1 (de) Authentisierungs-stick
DE60221861T2 (de) Server mit dateiverifikation
DE112021004115B4 (de) Sicherheitssystem für eine Segmentierung von Computerdatei-Metadaten
DE102024117778A1 (de) System und verfahren zum scannen von dateien zwischen einer quelle und einem client in einer vertrauensfreien umgebung
CH720073B1 (de) Cloud-basierter server-computer, verfahren und computerprogrammprodukt zur bearbeitung eines sicheren elektronischen dokuments
EP3244332B1 (de) Verfahren zum lesen von attributen aus einem id-token
EP3244331B1 (de) Verfahren zum lesen von attributen aus einem id-token
DE102013210837A1 (de) Startanwendung kryptographischer Schlüsselspeicher

Legal Events

Date Code Title Description
PK Correction

Free format text: REGISTERAENDERUNG SACHPRUEFUNG

U11 Full renewal or maintenance fee paid

Free format text: ST27 STATUS EVENT CODE: U-0-0-U10-U11 (AS PROVIDED BY THE NATIONAL OFFICE)

Effective date: 20251001