DE102021129179A1 - Sichere intelligente container zum steuern des zugriffs auf daten - Google Patents

Sichere intelligente container zum steuern des zugriffs auf daten Download PDF

Info

Publication number
DE102021129179A1
DE102021129179A1 DE102021129179.8A DE102021129179A DE102021129179A1 DE 102021129179 A1 DE102021129179 A1 DE 102021129179A1 DE 102021129179 A DE102021129179 A DE 102021129179A DE 102021129179 A1 DE102021129179 A1 DE 102021129179A1
Authority
DE
Germany
Prior art keywords
data
access
user
computer
secure container
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102021129179.8A
Other languages
English (en)
Inventor
Arielle Tovah Orazio
Matthias SEUL
Christopher Pepin
Lloyd Wellington Mascarenhas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102021129179A1 publication Critical patent/DE102021129179A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • 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/602Providing cryptographic facilities or services
    • 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/604Tools and structures for managing or administering access control systems
    • 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
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • 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
    • 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
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/63Image based installation; Cloning; Build to order

Landscapes

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

Abstract

Ein Computersystem steuert den Zugriff auf Daten. Ein sicherer Container, der auf einer Abbilddatei basiert, wird an einer Endpunkteinheit eines Benutzers instanziiert, wobei der sichere Container verschlüsselte Daten umfasst, die dem Benutzer entsprechen. Durch Verifizieren von Anmeldedaten des Benutzers wird eine Zugriffsanforderung auf den sicheren Container authentifiziert. In Reaktion auf das Verifizieren der Anmeldedaten des Benutzers wird der Zugriff auf die Daten gewährt. Der Zugriff auf die Daten wird durch Entschlüsseln eines Teils der Daten und Ermöglichen des Zugriffs darauf gesteuert, wobei weitere Teile der Daten auf Grundlage des Benutzerverhaltens entschlüsselt und zugriffsfähig gemacht werden.

Description

  • HINTERGRUND
  • Ausführungsformen der vorliegenden Offenbarung betreffen den Datenzugriff und insbesondere sichere intelligente Container, welche Daten speichern und den Zugriff auf die gespeicherten Daten steuern.
  • Benutzer tauschen oft Daten aus, die als empfindlich, vertraulich oder es in anderer Weise wert angesehen werden, sie vor anderen zu sichern. Herkömmliche Lösungen zum Steuern des Zugriffs auf Daten, z.B. Verschlüsselung mit öffentlichen Schlüsseln und nutzerbasierte Zugriffssteuerungen, weisen verschiedene Stärken und Schwächen auf. Herkömmliche Ansätze können jedoch nicht Sicherheitsbedrohungen erfassen, die entstehen, wenn eine unberechtigte Person Zugriff auf Daten erhält oder wenn ein berechtigter Benutzer beginnt, unzulässige Handlungen vorzunehmen. Beispielsweise kann ein Mitglied einer Organisation entscheiden, die passwortgeschützten Handelsgeheimnisse der Organisation zu verraten, oder ein Hacker kann über illegale Mittel Zugriff auf verschlüsselte Daten erhalten. Daher besteht ein Bedarf, den Zugriff auf Daten auf eine Weise zu steuern, wodurch nicht nur ein unberechtigter Zugriff verhindert wird, sondern der Schutz auch auf zugriffsfähige Daten erweitert wird.
  • KURZDARSTELLUNG
  • Gemäß einer Ausführungsform der vorliegenden Offenbarung steuert ein Computersystem den Zugriff auf Daten. Ein sicherer Container, der auf einer Abbilddatei basiert, ist an einer Endpunkteinheit eines Benutzers instanziiert, wobei der sichere Container verschlüsselte Daten umfasst, welche dem Benutzer entsprechen. Eine Zugriffsanforderung auf den sicheren Container wird authentifiziert, indem Anmeldedaten des Benutzers verifiziert werden. In Reaktion auf das Verifizieren der Anmeldedaten des Benutzers wird Zugriff auf die Daten gewährt. Der Zugriff auf die Daten wird durch Entschlüsseln eines Teils der Daten und Ermöglichen des Zugriffs darauf gesteuert, wobei auf Grundlage des Benutzerverhaltens weitere Teile der Daten entschlüsselt und zugriffsfähig gemacht werden.
  • Figurenliste
  • Im Allgemeinen werden gleiche Bezugszahlen in den verschiedenen Figuren verwendet, um gleiche Komponenten zu bezeichnen.
    • 1 ist ein Blockschaubild, welches eine Datenverarbeitungsumgebung zum Steuern des Zugriffs auf Daten gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet;
    • 2 ist ein Blockschaubild, welches ein Datenverarbeitungssystem zum Steuern des Zugriffs auf Daten gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet;
    • 3 ist ein Ablaufplan, welcher ein Verfahren zum Erzeugen eines Daten-Containers gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet;
    • 4 ist ein Ablaufplan, welcher ein Verfahren zum Zugreifen auf Daten, die in einem Daten-Container gespeichert sind, gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet;
    • 5 ist ein Ablaufplan, welcher ein Verfahren zum Erkennen einer Datenzugriffsverletzung gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet; und
    • 6 ist ein Blockschaubild, welches eine Datenverarbeitungseinheit gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet.
  • DETAILLIERTE BESCHREIBUNG
  • Ausführungsformen der vorliegenden Offenbarung betreffen den Datenzugriff und insbesondere sichere intelligente Container, welche Daten speichern und den Zugriff auf die gespeicherten Daten steuern. Ein Container ist ein Software-Paket, welches Code für Anwendungen und andere Daten umfassen kann. Ausgestaltet für Übertragbarkeit, umfasst ein Container typischerweise abhängige Daten für alle umfassten Anwendungen, wodurch ermöglicht wird, dass eine containerisierte Anwendung schnell und zuverlässig über verschiedene Datenverarbeitungsumgebungen ausgeführt werden kann. Zusätzlich zum Unterstützen der Ausführung von Anwendungen können Container auch alle gewünschten Daten speichern. Beispielsweise kann ein Container Daten in einem firmeneigenen Format umfassen, welches einem Benutzer durch eine Anwendung zugänglich gemacht wird, die ebenfalls in dem Container enthalten ist.
  • Ein Container kann von einer Abbilddatei instanziiert werden, welche zwischen Datenverarbeitungseinheiten übertragen werden kann, z.B. per E-Mail. Durch das Instanziieren eines Containers an einer Datenverarbeitungseinheit werden dem Benutzer ein virtuelles Dateisystem und virtuelle Dateien bereitgestellt. Das virtuelle Dateisystem kann alle Daten, für welche Schutz erwünscht ist, in einer verschlüsselten Form speichern und umfasst außerdem ausführbaren Code für eine Vollzugsmaschine, welche ermöglicht, dass berechtigte Benutzer auf die Daten zugreifen, während sie den Zugriff überwacht. Die Vollzugsmaschine kann den Zugriff auf Daten auf Grundlage verschiedener Faktoren steuern, z.B. der Art des Zugriffs, der Datenverarbeitungsumgebung, der Identität des Benutzers und/oder des Benutzerverhaltens.
  • Somit ermöglichen Ausführungsformen der vorliegenden Offenbarung, dass Daten sicher geteilt werden können und darauf zugegriffen werden kann und dabei während der Zugriffsereignisse der Schutz auf die Daten erweitert wird. Insbesondere bleiben Daten, auf die nicht aktuell zugegriffen wird, verschlüsselt und sogar ein berechtigter Benutzer kann nur auf einen Teil der Daten zugreifen, auf den der Benutzer zu einer Zeit zugreifen darf. Außerdem wird, wenn ein Benutzer auf Daten zugreift, das Verhalten des Benutzers überwacht, um ein etwaiges verdächtiges Verhalten zu identifizieren, z.B. einen Versuch, auf mehr Daten gleichzeitig zuzugreifen, als vernünftigerweise erforderlich ist, um den speziellen Verwendungsfall zu unterstützen, oder ein Suchen nach verdächtigen Schlüsselwörtern in den Daten. Entsprechend stellen Ausführungsformen der vorliegenden Offenbarung Verbesserungen der Datenzugriffssteuerung bereit, mit der praktischen Anwendung, dass der Schutz nicht nur auf den Anfangspunkt des Zugriffs bezogen ist, sondern auf die gesamte Zeit erweitert wird, während der ein Benutzer auf die Daten zugreift.
  • Es sei angemerkt, dass Bezugnahmen überall in der vorliegenden Beschreibung auf Merkmale, Vorteile oder ähnliche Ausdrücke hierin nicht implizieren, dass alle der Merkmale und Vorteile, die mit den hierin offenbarten Ausführungsformen realisiert werden können, in einer einzigen Ausführungsform der Offenbarung vorliegen oder vorliegen sollten. Stattdessen sollen Ausdrücke, die sich auf die Merkmale und Vorteile beziehen, bedeuten, dass ein spezielles Merkmal, ein spezieller Vorteil oder eine spezielle Eigenschaft, das/der/die in Verbindung mit einer Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Somit kann sich eine Erörterung der Merkmale, Vorteile und ähnlicher Ausdrücke überall in der vorliegenden Beschreibung auf die gleiche Ausführungsform beziehen, muss dies aber nicht notwendigerweise tun.
  • Ferner können die beschriebenen Merkmale, Vorteile und Eigenschaften der Offenbarung in einer oder mehreren Ausführungsformen in beliebiger geeigneter Weise kombiniert werden. Der Fachmann erkennt, dass die Offenbarung ohne eines/einen oder mehrere der speziellen Merkmale oder Vorteile einer speziellen Ausführungsform ausgeübt werden kann. In anderen Fällen können in bestimmten Ausführungsformen zusätzliche Merkmale und Vorteile erkannt werden, welche nicht in allen Ausführungsformen der Offenbarung vorliegen müssen.
  • Diese Merkmale und Vorteile werden aus den folgenden Zeichnungen, der Beschreibung und den anhängenden Ansprüchen umfassender ersichtlich oder können durch das Ausüben der Ausführungsformen der Offenbarung erlernt werden, wie hierin im Folgenden ausgeführt.
  • Im Folgenden werden Ausführungsformen der vorliegenden Offenbarung detailliert unter Bezugnahme auf die Figuren beschrieben. 1 ist ein Blockschaubild, welches eine Datenverarbeitungsumgebung 100 zum Steuern des Zugriffs auf Daten gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet. Wie abgebildet, umfasst die Datenverarbeitungsumgebung 100 eine erste Client-Einheit 105A, eine oder mehrere zusätzliche Client-Einheiten 105B bis 105N und ein Netzwerk 150. Es versteht sich, dass die funktionelle Aufteilung zwischen Komponenten der Datenverarbeitungsumgebung 100 zu Zwecken der Erläuterung von Ausführungsformen der vorliegenden Offenbarung ausgewählt worden ist und nicht als ein beschränkendes Beispiel auszulegen ist.
  • Jede Client-Einheit 105A bis 105N umfasst eine Netzwerk-Schnittstelle (I/F) 106, mindestens einen Prozessor 107 und Speicher 110, welcher eine Host-Anwendung 115 umfasst. Jede Client-Einheit 105A bis 105N kann einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal-Computer (PC), einen Desktop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Smartphone, einen Thin Client oder eine beliebige programmierbare elektronische Einheit umfassen, die in der Lage ist, computerlesbare Programmanweisungen auszuführen. Die Netzwerk-Schnittstelle 106 ermöglicht Komponenten jeder Client-Einheit 105A bis 105N, Daten über ein Netzwerk zu senden und zu empfangen, z.B. über das Netzwerk 150. Im Allgemeinen ermöglichen die Client-Einheiten 105A bis 105N Benutzern, Daten-Container gemeinsam zu benutzen und in kontrollierter Weise auf Daten zuzugreifen. Beispielsweise kann ein Benutzer der Client-Einheit 105A einem Container Daten hinzufügen, welche sicher als eine Abbilddatei gespeichert werden und für einen Zugriff durch einen anderen Benutzer auf eine andere Einheit, z.B. die Client-Einheit 105B, übertragen werden. Jede Client-Einheit 105A bis 105N kann interne und externe Hardware-Komponenten umfassen, wie sie in Bezug auf 6 in weiteren Einzelheiten dargestellt und beschrieben werden.
  • Die Host-Anwendung 115 kann ein oder mehrere Module oder Einheiten zum Ausführen verschiedener Funktionen von nachstehend beschriebenen Ausführungsformen der vorliegenden Offenbarung umfassen. Die Host-Anwendung 115 kann durch eine beliebige Kombination einer beliebigen Menge an Software- und/oder Hardware-Modulen oder -Einheiten realisiert werden und kann zur Ausführung durch einen Prozessor, z.B. durch den Prozessor 107, innerhalb des Speichers 110 einer beliebigen der Client-Einheiten 105A bis 105N angeordnet sein.
  • In einigen Ausführungsformen ermöglicht die Host-Anwendung 115 einem Benutzer, einen sicheren Container zu erzeugen und dem Container Daten hinzuzufügen. Ein Benutzer der Client-Einheit 105A kann einen Container gemäß einem oder mehreren Parametern definieren, z.B. gemäß einer Größe des Containers, einem Dateisystemtyp für den Container, einem Datenverschlüsselungstyp für Daten, die in dem Container sicher gespeichert werden, und dergleichen. Außerdem kann, wenn ein Benutzer über die Host-Anwendung 115 einen Container definiert, der Benutzer Optionen auswählen, um zu definieren, welche Handlungen oder Geschehnisse Datenzugriffsverletzungen darstellen. Beispielsweise kann die Vollzugsmaschine eines Containers eine Zugriffsverletzung erkennen und anschließend einen Benutzer für ein Zugreifen auf Daten sperren, wenn der Container in einer unberechtigten Datenverarbeitungsumgebung instanziiert ist, wenn der Benutzer versucht, mit einem speziellen Wort oder Ausdruck Daten abzufragen, oder wenn der Benutzer versucht, in einer Geschwindigkeit auf Daten zuzugreifen, die jeden legitimen Verwendungsfall übersteigt. Sobald der Benutzer die Konfiguration für einen Container finalisiert, können dem Container Daten hinzugefügt werden und es können Benutzerzugriffsberechtigungen für die Daten definiert werden. Beispielsweise können die Daten verschlüsselt werden, so dass verschiedene Benutzer unter Verwendung einzigartiger Passwörter oder Zugriffsschlüssel auf verschiedene Teile der Daten zugreifen können. Wenn ein Container finalisiert ist, kann eine Abbilddatei, welche dem Container entspricht, auf einem nicht-flüchtigen Speichermedium, z.B. dem Speicher 120, gespeichert werden. Die Containererzeugung wird nachstehend in Bezug auf 3 in weiteren Einzelheiten dargestellt und beschrieben.
  • Sobald eine Abbilddatei eines Containers erzeugt ist, kann ein Benutzer der Client-Einheit 105A die Abbilddatei mit anderen Benutzern und/oder Einheiten teilen, z.B. mit den Client-Einheiten 105B bis 105N. Die Abbilddatei eines Containers kann über eine beliebige herkömmliche oder andere Datenübertragungstechnik übertragen werden, z.B. durch eine Datenübertragung, die durch ein Datenaustausch-Netzwerk (z.B. das Netzwerk 150) ermöglicht wird, oder durch physisches Befördern der Abbilddatei unter Verwendung einer entnehmbaren Speichereinheit. Wenn die Abbilddatei an einer anderen Datenverarbeitungseinheit, z.B. den Client-Einheiten 105B bis 105N, empfangen wird, kann die Abbilddatei als ein Container instanziiert werden, und sobald ein Benutzer authentifiziert ist, kann an der Datenverarbeitungseinheit auf die sicheren Daten zugegriffen werden. Die Client-Einheiten 105B bis 105N können Client-Einheiten anderer Benutzer und/oder andere Client-Einheiten umfassen, die zu dem Erzeuger des Containers (z.B. dem Benutzer der Client-Einheit 105A) gehören. Wenn eine Datenzugriffssitzung beendet wird, können etwaige Änderungen an den Daten in der Abbilddatei gespeichert werden, welche dann an weitere Benutzer und/oder Datenverarbeitungseinheiten verteilt werden kann. In einigen Ausführungsformen können Benutzer durch gemeinsames Nutzen eines Links zu einer Abbilddatei zusammenarbeiten, welche an einer über ein Netzwerk zugänglichen Stelle gespeichert ist. Das Zugreifen auf Daten in einem Daten-Container wird nachstehend in Bezug auf 2 und 4 in weiteren Einzelheiten dargestellt und beschrieben.
  • Der Speicher 120 kann beliebige nicht-flüchtige Speichermedien umfassen, die auf dem Fachgebiet bekannt sind. Beispielsweise kann der Speicher 120 mit einer Bandbibliothek, einer optischen Bibliothek, einem oder mehreren unabhängigen Festplattenlaufwerken oder mehreren Festplattenlaufwerken in einem redundanten Array unabhängiger Platten (Redundant Array of Independent Disks, RAID) realisiert werden. In ähnlicher Weise können Daten im Speicher 120 an jede geeignete Speicherarchitektur angepasst werden, die auf dem Fachgebiet bekannt ist, z.B. eine Datei, eine relationale Datenbank, eine objektorientierte Datenbank und/oder eine oder mehrere Tabellen. In einigen Ausführungsformen speichert der Speicher 120 Daten, die auf Abbilddateien bezogen sind, Datenverarbeitungsumgebungs-Daten (z.B. Betriebssystemdaten, Programmdaten, Metadaten wie Versionierungsinformationen usw.), Daten, die zu Containern hinzugefügt oder von diesen erhalten werden, und Ähnliches.
  • Das Netzwerk 150 kann ein lokales Netzwerk (Local Area Network, LAN), ein Weitverkehrsnetz (Wide Area Network, WAN) wie das Internet oder eine Kombination der beiden umfassen und umfasst drahtgebundene, drahtlose oder faseroptische Verbindungen. Im Allgemeinen kann das Netzwerk 150 gemäß Ausführungsformen der vorliegenden Offenbarung eine beliebige Kombination von auf dem Fachgebiet bekannten Verbindungen und Protokollen sein, welche den Datenaustausch zwischen den Client-Einheiten 105A bis 105N über ihre entsprechenden Netzwerk-Schnittstellen unterstützen.
  • 2 ist ein Blockschaubild, welches ein Datenverarbeitungssystem 200 zum Steuern des Zugriffs auf Daten gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet. Wie abgebildet, umfasst das Datenverarbeitungssystem 200 eine Client-Einheit 205, eine Netzwerk-Schnittstelle 206, einen Prozessor 207, einen Speicher 210 und einen Speicher 240. Der Speicher 210 kann ein Betriebssystem 212, eine Host-Anwendung 215, einen Container 220 mit einer Vollzugsmaschine 225 und verschlüsselten Daten 230 und zugriffsfähige Daten 235 umfassen. Der Speicher 240 kann eine oder mehrere Abbilddateien umfassen, z.B. die Abbilddatei 245.
  • Die Client-Einheit 205 kann durch eine der Client-Einheiten 105A bis 105N der Datenverarbeitungsumgebung 100 realisiert werden, die in Bezug auf 1 in weiteren Einzelheiten dargestellt und beschrieben wird. Die Client-Einheit 205 kann einen Laptop-Computer, einen Tablet-Computer, einen Netbook-Computer, einen Personal-Computer (PC), einen Desktop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Smartphone, einen Thin Client oder eine beliebige programmierbare elektronische Einheit umfassen, die in der Lage ist, computerlesbare Programmanweisungen auszuführen. Die Netzwerk-Schnittstelle 106 ermöglicht Komponenten der Client-Einheit 205, Daten über ein Netzwerk zu senden und zu empfangen. Im Allgemeinen ermöglicht die Client-Einheit 205 einem Benutzer, auf einen sicheren Daten-Container zuzugreifen. Die Client-Einheit 205 kann interne und externe Hardware-Komponenten umfassen, wie sie in Bezug auf 6 in weiteren Einzelheiten dargestellt und beschrieben werden.
  • Das Betriebssystem 212, die Host-Anwendung 215, der Container 220 und die Vollzugsmaschine 225 können ein oder mehrere Module oder Einheiten zum Ausführen verschiedener Funktionen von nachstehend beschriebenen Ausführungsformen der vorliegenden Offenbarung umfassen. Das Betriebssystem 212, die Host-Anwendung 215, der Container 220 und die Vollzugsmaschine 225 können durch eine beliebige Kombination einer beliebigen Menge an Software- und/oder Hardware-Modulen oder -Einheiten realisiert werden und können zur Ausführung durch einen Prozessor, z.B. durch den Prozessor 207, innerhalb des Speichers 210 der Client-Einheit 205 angeordnet sein.
  • Das Betriebssystem 212 kann eine beliebige herkömmliche oder andere Betriebssystem-Software für eine Datenverarbeitungseinheit umfassen, wie z.B. Microsoft® Windows® oder ein System von Linux®. Die Host-Anwendung 215 kann so in dem Betriebssystem 212 installiert sein, dass instanziierte Container in das Betriebssystem 212 integriert und als ein virtuelles Dateisystem präsentiert werden können.
  • Die Host-Anwendung 215 ermöglicht, dass Abbilddateien erzeugt werden, und ermöglicht, dass Abbilddateien als Container instanziiert werden. Die Host-Anwendung 215 kann ein Daemon-Prozess sein, welches eine oder mehrere Anwendungsprogrammierungs-Schnittstellen (Application Programming Interfaces, APIs) nutzt, um zu ermöglichen, dass containerisierte Anwendungen mit Software außerhalb des Containers interagiert, z.B. mit dem Betriebssystem 212 der Client-Einheit 205 und/oder beliebigen Anwendungen, die auf der Client-Einheit 205 installiert sind. Wenn die Host-Anwendung 215 einen Container, z.B. den Container 220, instanziiert, kann der Container in das Betriebssystem 212 der Client-Einheit 205 als ein virtuelles Dateisystem oder ein virtueller Ordner, ein Netzwerk-Laufwerk oder beliebige herkömmliche oder andere Formen eines Datenmediums integriert werden. In einigen Ausführungsformen werden zugriffsfähige Daten einem Benutzer der Client-Einheit 205 unter Verwendung einer Betriebssystem-Integrationskomponente, z.B. eines Treibers (z.B. FUSE für macOS®), präsentiert, oder ein virtuelles Dateisystem kann in ähnlicher Weise wie ein montiertes Laufwerk verfügbar gemacht werden.
  • Der Container 220 ist ein sicherer Daten-Container, der derart durch die Host-Anwendung 215 in den Speicher 210 der Client-Einheit 205 instanziiert wird, dass ein Benutzer auf ausführbare Dateien und Daten zugreifen kann, die in dem Container 220 gespeichert sind. Der Container 220 wird auf Grundlage einer Abbilddatei, z.B. der Abbilddatei 245, instanziiert. Der Container 220 kann verschlüsselte Daten 230 und einen Teil umfassen, der nicht Gegenstand einer Verschlüsselung ist und der die Vollzugsmaschine 225 umfasst. In einigen Ausführungsformen umfasst der Container 220 ein Betriebssystem, das von dem Betriebssystem 212 getrennt ist, und/oder abhängige Daten, welche die Vollzugsmaschine 225 benötigt, um Aspekte von Ausführungsformen der vorliegenden Offenbarung auszuführen. Beispielsweise kann der Container 220 ein Lightweight-Betriebssystem wie CentOS™ und/oder Verschlüsselungs-Software wie Amazon® Elastic File System oder VeraCrypt umfassen.
  • Die Vollzugsmaschine 225 ist in einem nicht-verschlüsselten Teil des Containers 220 angeordnet und umfasst ausführbaren Code zum Authentifizieren eines Benutzers zum Zugreifen auf Daten, die sich in den verschlüsselten Daten 230 befinden. Außerdem kann die Vollzugsmaschine 225 einen Benutzer überwachen, den Zugriff auf Daten steuern und Sicherheitshandlungen ausführen, falls erforderlich. Die Vollzugsmaschine 225 kann über die Host-Anwendung 215 auf Komponenten der Client-Einheit 205 zugreifen, welche sich außerhalb des Containers 220 befinden. Beispielsweise kann die Vollzugsmaschine 225 auf Peripherieeinheiten der Client-Einheit 205 zugreifen, um Benutzereingaben zu verfolgen, kann auf andere Teile des Speichers 210 zugreifen, um bösartige oder andere Software zu erkennen, die auf der Client-Einheit 205 ausgeführt wird, kann auf den Speicher 240 zugreifen, um gespeicherte Daten zu identifizieren, und Ähnliches.
  • Wenn ein berechtigter Benutzer einen Schlüssel zum Zugreifen auf verschlüsselte Daten übermittelt, kann die Vollzugsmaschine 225 den Schlüssel verifizieren und die verschlüsselten Daten 230 verarbeiten, wobei einige oder alle der Daten entschlüsselt werden und die entschlüsselten Daten als zugriffsfähige Daten 235 dem Speicher bereitgestellt werden. In einigen Ausführungsformen werden die zugriffsfähigen Daten 235 dem Betriebssystem 212 der Client-Einheit 205 durch Virtualisieren der zugriffsfähigen Daten 235 als eine Netzwerkverbindung oder ein Daten-Stream präsentiert. Die zugriffsfähigen Daten 235 können als ein virtuelles Laufwerk präsentiert werden, welches von dem virtuellen Laufwerk des Containers 220 getrennt ist, oder die zugriffsfähigen Daten 235 können in dem gleichen virtuellen Laufwerk wie der Container 220 präsentiert werden. Die Vollzugsmaschine 225 setzt möglicherweise nur einen Teil der verschlüsselten Daten 230 zu einer Zeit in die zugriffsfähigen Daten 235, so dass verhindert wird, dass ein Benutzer auf die Gesamtheit der Daten zugreift, die in den verschlüsselten Daten 230 enthalten sind. Wenn ein Benutzer den Zugriff auf einen aktuellen Teil der Daten beendet hat können die zugriffsfähigen Daten 235 mit dem nächsten Teil der Daten aktualisiert werden, indem der nächste Teil von den verschlüsselten Daten 230 zu den zugriffsfähigen Daten 235 entschlüsselt und übertragen wird.
  • Wenn ein Benutzer einen Schlüssel zum Anfordern des Zugriffs auf Daten übermittelt, kann die Vollzugsmaschine 225 auch andere Umstände der Zugriffsanforderung verifizieren. In einigen Ausführungsformen authentifiziert die Vollzugsmaschine 225 die Anforderung auf Grundlage der Datenverarbeitungsumgebung der Client-Einheit 205. Beispielsweise können die Zugriffssteuerungseinstellungen für einen Container anzeigen, dass nur von bestimmten Einheiten auf den Container zugegriffen werden kann, welche durch einen Hostnamen, eine Media-Access-Control(MAC)-Adresse, eine Internet-Protocol(IP)-Adresse oder eine andere einzigartige Kennung auf Software-Basis oder Hardware-Basis definiert sein können. In einigen Ausführungsformen kann die Vollzugsmaschine 225 den Zugriff auf gesicherte Daten auf Grundlage einer geographischen Position der Client-Einheit 205 ermöglichen, welche über das Global Positioning System (GPS), Funkturmtriangulation und Ähnliches erhalten werden kann. Beispielsweise kann auf Daten in einem Container nur zugegriffen werden, wenn sich ein Benutzer in einer bestimmten Stadt, in einem bestimmten Staat oder in einem bestimmten Land befindet, oder die Tatsache, dass sich die Client-Einheit 205 an bestimmten Positionen befindet, kann verhindern, dass auf Daten zugegriffen werden kann. In einigen Ausführungsformen vergleicht die Vollzugsmaschine 225 eine aktuelle Zugriffsposition mit einer vorhergehenden Zugriffsposition, was einen Vergleich geographischer Positionen, logischer Positionen (z.B. Datenverarbeitungsumgebungen) oder von beidem umfassen kann. Somit kann zum Beispiel die Vollzugsmaschine 225 einen Zugriff verhindern, wenn eine aktuelle Zugriffsposition einen Entfernungs-Schwellenwert von einer vorhergehenden Zugriffsposition übersteigt und/oder wenn zuvor unter Verwendung eines anderen Betriebssystems auf den Container zugegriffen wurde.
  • Die Vollzugsmaschine 225 kann Interaktionen eines Benutzers mit den zugriffsfähigen Daten 235 überwachen, um den Zugriff auf Daten zu steuern. Wenn die Vollzugsmaschine 225 bestimmt, dass eine Zugriffsverletzung (z.B. ein unberechtigter Zugriff auf Daten) erfolgt ist, kann die Vollzugsmaschine 225 Handlungen ausführen, um einen Benutzerzugriff auf die zugriffsfähigen Daten 235 in der Folge zu verhindern. In verschiedenen Ausführungsformen kann die Vollzugsmaschine 225 bestimmen, dass eine Zugriffsverletzung erfolgt ist, wenn ein Benutzer nach einem bestimmten Wort oder Ausdruck sucht, das/der auf einer Liste steht, wenn ein Benutzer versucht, zu schnell auf Daten zuzugreifen, und Ähnliches. Die Vollzugsmaschine 225 kann eine auf Regeln basierende Bewertung des Benutzerverhaltens einsetzen, um zu bestimmen, dass eine Zugriffsverletzung erfolgt ist, wenn das Benutzerverhalten bewirkt, dass eine Gesamt-Risikobewertung einen vorgegebenen Schwellenwert übersteigt.
  • Der Speicher 240 kann beliebige nicht-flüchtige Speichermedien umfassen, die auf dem Fachgebiet bekannt sind. Beispielsweise kann der Speicher 240 mit einer Bandbibliothek, einer optischen Bibliothek, einem oder mehreren unabhängigen Festplattenlaufwerken oder mehreren Festplattenlaufwerken in einem redundanten Array unabhängiger Platten (RAID) realisiert werden. In ähnlicher Weise können Daten im Speicher 240 an jede geeignete Speicherarchitektur angepasst werden, die auf dem Fachgebiet bekannt ist, z.B. eine Datei, eine relationale Datenbank, eine objektorientierte Datenbank und/oder eine oder mehrere Tabellen. In einigen Ausführungsformen speichert der Speicher 240 Daten, die auf eine oder mehrere Abbilddateien bezogen sind, z.B. die Abbilddatei 245. Wenn ein Benutzer den Container 220 deinstalliert, werden alle Änderungen an den geschützten Daten gespeichert und die Abbilddatei 245 wird entsprechend aktualisiert.
  • Wenn ein Benutzer den Container 220 deinstalliert, kann ein Zugriffsprotokoll, welches den geschützten Daten entspricht, aktualisiert werden, umfassend einen Zeitstempel aller Lese- und Schreiboperationen. Es kann eine Versionssteuerung realisiert werden, um nach Änderungen an dem Container Versionsnummern bereitzustellen.
  • 3 ist ein Ablaufplan, welcher ein Verfahren 300 zum Erzeugen eines Daten-Containers gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet.
  • Bei der Operation 310 wird die Erzeugung einer Abbilddatei begonnen. Ein Benutzer kann anfordern, dass eine neue Abbilddatei erzeugt wird, indem Eigenschaften des resultierenden Containers definiert werden, z.B. die Datengröße des Containers, Verschlüsselungseinstellungen für den verschlüsselten Datenteil des Containers, Betriebssystemeinstellungen für den Container, falls zutreffend, ein Name für den Container und andere Einstellungen, z.B. optionale ausführbare Dateien, die in den Container zu integrieren sind, und Ähnliches. Ein Benutzer kann auch die Dateisystemeinstellungen für etwaige virtuelle Dateisysteme definieren, die von dem Container präsentiert werden.
  • Bei der Operation 320 werden der Abbilddatei Daten hinzugefügt. Ein Benutzer kann alle Daten, für welche Schutz erwünscht wird, in die Abbilddatei integrieren. In einigen Ausführungsformen kann ein Benutzer Daten hinzufügen, welche in Verzeichnissen organisiert sind, welche mehrere Dateien und Ordner umfassen können.
  • Bei der Operation 330 werden Zugriffssteuerungseinstellungen konfiguriert, umfassend Benutzeranmeldedaten, Benutzerberechtigungen und/oder Zugriffsverletzungseinstellungen. Der Erzeuger einer Abbilddatei kann Benutzerkonten hinzufügen, welche auf den Container zugreifen können, zusammen mit entsprechenden Zugriffsschlüsseln für jedes Konto. In einigen Ausführungsformen kann jedes Benutzerkonto eines oder mehreres aus einem Benutzerkontonamen, einem Namen des Benutzers (z.B. einem Echtnamen oder einem Synonym), einer Aufgabe oder einer Stellung in einer Organisation, einer Zeitbegrenzung oder einem Ablaufdatum für den Datenzugriff und einem einzigartigen Zugriffsschlüssel umfassen. Es können Regeln für die Benutzerkontozulassung auf einer Basis Datei für Datei erstellt werden. Wenn beispielsweise ein Container zweihundert Dateien umfasst, die fortlaufend nummeriert sind, kann ein erster Benutzer in der Lage sein, auf die Dateien eins bis einhundert zuzugreifen, ein zweiter Benutzer kann nur in der Lage sein, auf die Dateien sechs bis neun zuzugreifen, und ein dritter Benutzer kann in der Lage sein, auf alle zweihundert Dateien zuzugreifen. In einigen Ausführungsformen können Regeln erstellt werden, welche die Art des Zugriffs auf Dateien betreffen. Beispielsweise kann ein erster Benutzer Lesezugriff haben und ein zweiter Benutzer kann Lese- und Schreibzugriff haben. In einigen Ausführungsformen können Dokumente gemäß zunehmenden Empfindlichkeitsstufen klassifiziert werden und für jedes Benutzerkonto kann eine Zugriffsstufe definiert werden, welche ermöglicht, dass Benutzer auf alle Daten auf oder unterhalb ihrer Zugriffsstufe zugreifen.
  • Bei der Operation 340 werden die Daten verschlüsselt und es wird ein finalisiertes Abbild gespeichert. Die Daten, für welche Schutz erwünscht wird, werden verschlüsselt und das Abbild wird finalisiert, indem ausführbarer Code hinzugefügt wird, z.B. der Code für die Vollzugsmaschine 225 und alle abhängigen Daten, Betriebssystem-Code und Ähnliches. Die resultierende Abbilddatei kann für eine anschließende Übertragung und/oder Verwendung in einem nicht-flüchtigen Speicher gespeichert werden.
  • 4 ist ein Ablaufplan, welcher ein Verfahren 400 zum Zugreifen auf Daten, die in einem Daten-Container gespeichert sind, gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet.
  • Bei der Operation 410 wird ein Container instanziiert. Ein Benutzer einer Datenverarbeitungseinheit, z.B. einer der Client-Einheiten 105A bis 105N, kann eine Abbilddatei erhalten oder empfangen, welche über eine Host-Anwendung, die auf der Datenverarbeitungseinheit des Benutzers installiert ist, in einen Container instanziiert werden kann. In einigen Ausführungsformen wird die Abbilddatei lokal an der Datenverarbeitungseinheit gespeichert und in anderen Ausführungsformen kann die Abbilddatei an einer über ein Netzwerk zugänglichen Stelle angeordnet sein.
  • Bei der Operation 420 wird der Zugriffsschlüssel empfangen. Anfänglich können Zugriffsschlüssel bei der Erzeugung einer neuen Abbilddatei erzeugt werden, und/oder wenn zu einem Container ein neuer berechtigter Benutzer hinzugefügt wird. Der Erzeuger oder eine andere berechtigte Person kann berechtigten Benutzern Zugriffsschlüssel bereitstellen. Beispielsweise kann einem Benutzer sein Zugriffsschlüssel über einen anderen Datenaustauschkanal als den bereitgestellt werden, über den der Benutzer auf die Abbilddatei zugreift. Wenn ein Benutzer einen Container instanziiert, wird ein virtuelles Dateisystem an der Datenverarbeitungseinheit des Benutzers installiert und die Vollzugsmaschine 225 kann mit der Ausführung beginnen, wobei sie den Benutzer auffordert, einen Zugriffsschlüssel bereitzustellen. Außerdem oder alternativ kann die Vollzugsmaschine 225 Einzelheiten bezüglich der lokalen Umgebung erhalten, in welcher die Zugriffsanforderung abgegeben wird, z.B. das Betriebssystem der Datenverarbeitungseinheit, die geographische Position der Datenverarbeitungseinheit und Ähnliches.
  • Bei der Operation 430 wird bestimmt, ob die Zugriffsanforderung alle Zugriffsbedingungen erfüllt. In einigen Ausführungsformen wird der Zugriffsschlüssel des Benutzers verifiziert. Außerdem oder alternativ können die Informationen, die über die lokale Umgebung zusammengestellt wurden, von der Vollzugsmaschine 225 verifiziert werden. Beispielsweise kann die Vollzugsmaschine 225 verifizieren, dass der Container an der gleichen Datenverarbeitungseinheit wie der instanziiert worden ist, über welchen zuvor auf den Container zugegriffen wurde, oder die Vollzugsmaschine 225 kann verifizieren, dass der Container nicht von einer Datenverarbeitungseinheit in einem anderen Land instanziiert wird.
  • Wenn die Zugriffsanforderung, umfassend den Zugriffsschlüssel und andere Bedingungen, die Zugriffsbedingungen erfüllt, dann wird bei der Operation 440 der Zugriff auf Daten gewährt. Die Vollzugsmaschine 225 kann Teile oder alle der verschlüsselten Daten entschlüsseln, wodurch die Daten für den berechtigten Benutzer verfügbar gemacht werden. Zugriffsfähige Daten können ad hoc als Dateien erzeugt werden, die in einem virtuellen Dateisystem präsentiert werden. Während die Daten für den Benutzer zugriffsfähig sind, können die Aktivität der Datenverarbeitungseinheit und das Benutzerverhalten von der Vollzugsmaschine 225 überwacht und analysiert werden, um die geschützten Daten zu sichern.
  • In einigen Ausführungsformen werden jeweils Teile der verschlüsselten Daten zu einer Zeit zugriffsfähig gemacht, und wenn ein Benutzer mit einem speziellen Teil fertig ist, kann ein folgender Teil verfügbar gemacht werden. Somit wird zu keiner Zeit die Gesamtheit der geschützten Daten in dem Speicher verfügbar gemacht. Beispielsweise kann ein Benutzer, der eine Textdatei liest oder editiert, an einem Ende eines Teils der Datei ankommen und kann angewiesen werden, die Datei zu schließen und wieder zu öffnen. Wenn der Benutzer die Datei schließt, kann die Vollzugsmaschine 225 die Datei in dem virtuellen Dateisystem mit Daten überschreiben, welche einem folgenden Teil der geschützten Daten entsprechen. In einigen Ausführungsformen kann die Vollzugsmaschine 225 die Quelle der zugriffsfähigen Daten als einen Netzwerk-Daten-Stream virtualisieren, wodurch ermöglicht wird, dass eine Anwendung in dem Fall, dass die Anwendung anderenfalls nicht in der Lage wäre, eine unvollständige Datei zu öffnen, auf die Daten zugreift und sie präsentiert.
  • Wenn die Zugriffsbedingungen nicht erfüllt sind, dann wird bei der Operation 450 der Zugriff auf die Daten verweigert. In einigen Ausführungsformen kann nach einem oder mehreren fehlgeschlagenen Versuchen verhindert werden, dass ein Benutzer versucht, auf die Daten zuzugreifen. In einigen Ausführungsformen kann der Container von der Datenverarbeitungseinheit deinstalliert werden, wenn der Zugriff auf die Daten verweigert wird. Die Vollzugsmaschine 225 kann nach dem Deinstallieren des Containers zusätzliche Sicherheitshandlungen ausführen, z.B. Löschen der verschlüsselten Daten oder Bewirken, dass die Abbilddatei gelöscht wird. Somit kann sich ein Container selbst zerstören, um Daten zu schützen.
  • In einigen Ausführungsformen kann ein Benutzer bei der Operation 420 einen alternativen Schlüssel bereitstellen, der kein Zugriffsschlüssel ist, sondern stattdessen ein Notfall-Code oder eine andere Anzeige eines Notfalls ist. Beispielsweise kann ein Benutzer statt des Eingebens des Zugriffsschlüssels des Benutzers eine Kette von Nullen eingeben, welche anzeigt, dass der Benutzer genötigt wird. Wenn eine Notfallanzeige empfangen wird, kann die Vollzugsmaschine 225 Scheindaten anzeigen, welche echt aussehen, aber in Wirklichkeit nicht die Daten sind, die von dem Container geschützt werden. Die Scheindaten können sich vollständig von den tatsächlichen Daten unterscheiden oder können auf den tatsächlichen Daten basieren. Die Scheindaten können eindeutig identifiziert werden, indem ein Geheimausdruck oder Wasserzeichen eingefügt wird, so dass, wenn die Scheindaten verraten werden, die Identität der Quelle und/oder des Täters identifiziert werden können.
  • 5 ist ein Ablaufplan, welcher ein Verfahren 500 zum Erkennen einer Datenzugriffsverletzung gemäß einer Ausführungsform der vorliegenden Offenbarung abbildet.
  • Bei der Operation 510 wird der Zugriff auf Daten überwacht. Wenn der Zugriff auf einen Container durch einen Benutzer authentifiziert wird, kann die Vollzugsmaschine 225 das Benutzerverhalten überwachen, indem sie auf das Betriebssystem der Datenverarbeitungseinheit des Benutzers zugreift oder indem sie die Lese- und/oder Schreiboperationen des Benutzers in Bezug auf die zugriffsfähigen Daten überwacht. Die Vollzugsmaschine 225 kann kontinuierlich auf jede Aktivität achten, die verdächtig oder möglicherweise verdächtig ist, solange geschützte Daten für den Benutzer zugriffsfähig gemacht werden.
  • Bei der Operation 520 wird bestimmt, ob ein Ereignis eines unberechtigten Zugriffs aufgetreten ist. Es kann ein auf Regeln basierender Ansatz verwendet werden, so dass die Vollzugsmaschine 225 bestimmen kann, wann ein Ereignis eines unberechtigten Zugriffs aufgetreten ist. Die Regeln können bei der Erzeugung der Abbilddatei definiert werden und können Regeln für eine beliebige Aktivität umfassen, z.B. Suchen nach einem Wort oder Ausdruck, das/der auf einer Liste verdächtiger Abfragen erscheint, durch den Benutzer, Kopieren-Einfügen-Operationen, Speichern von Daten, auf die zugegriffen wurde, auf einer Festplatte, Weiterleiten von Daten, auf die zugegriffen wurde, in einer E-Mail, Ausführen bestimmter Anwendungen und Ähnliches. In einigen Ausführungsformen können herkömmliche oder andere Maschinenlerntechniken angewendet werden, indem ein Modell trainiert wird, verdächtiges Benutzerverhalten zu erkennen und entsprechend Regeln zu erzeugen, um Ereignisse eines unberechtigten Zugriffs zu erkennen. Wenn kein unberechtigter Zugriff erfolgt ist, setzt die Vollzugsmaschine 225 bei der Operation 510 die Überwachung fort.
  • Bei der Operation 530 wird eine Teil-Risikobewertung bestimmt, welche dem Zugriffsereignis entspricht. In einigen Ausführungsformen können unterschiedlichen Ereignissen eines unberechtigten Zugriffs unterschiedliche Werte einer Teil-Risikobewertung zugeordnet werden, so dass die Ereignisse gemäß ihrer Schwere bewertet werden können. Beispielsweise können Teil-Risikobewertungen gemäß Tabelle 1 vorgesehen sein. Tabelle 1
    Ereignis unberechtigten Zugriffs Benutzeraktivität Teil-Risikobewertung
    Benutzer fragt Daten mit Wort oder Ausdruck auf Liste unzulässiger Wörter ab Ja - ein Wort/Ausdruck (z.B. „Ange bot“) 2
    Benutzer fragt Daten mit Wort oder Ausdruck auf Liste unzulässiger Wörter ab Ja, drei oder mehr Wörter/Ausdrücke (z.B. „Angebot“, „Konkurrent“, „Hacken“) 10
    Benutzer markiert Text aus Dokument oder kopiert ihn und fügt ihn ein Ja - eine verdächtige Zeile (z.B. „Forschung von Konkurrenten“) 2
    Benutzer markiert Text aus Dokument oder kopiert ihn und fügt ihn ein Ja - zwei oder mehr verdächtige Zeilen 10
    Benutzer sucht nach Wort oder Ausdruck ohne Bezug zu aktuellem Thema Ja - ein verdächtiges Wort oder verdächtiger Ausdruck (z.B. Thema = Marketing und Ausdruck = „Forschung von Konkurrenten“) 5
    Benutzer sucht nach Wort oder Ausdruck ohne Bezug zu aktuellem Thema Ja - drei oder mehr verdächtige Wörter oder Ausdrücke 8
    Benutzer greift von unterschiedlichen Positionen auf Dateien/Dokumente zu Ja - eine Einheit, zwei Positionen 2
    Benutzer greift von unterschiedlichen Positionen auf Dateien/Dokumente zu Ja - eine Einheit ohne Bezug zur Organisation, drei Positionen 10
    Benutzer versucht, Dokumente an unberechtigten Benutzer weiterzuleiten Ja - E-Mail-Adresse derselben Organisation 2
    Benutzer versucht, Dokumente an unberechtigten Benutzer weiterzuleiten Ja - externe E-Mail-Adresse 9
    Benutzer versucht, Datei in anderem Format zu speichern Ja - unter Verwendung des Powershell-Skripts 5
    Benutzer versucht, Datei in anderem Format zu speichern Ja - Dokument reicht hinaus zu anderer IP-Adresse oder unter Verwendung eines Makros 10
  • Bei der Operation 540 wird bestimmt, ob die Gesamt-Risikobewertung einen vorgegebenen Schwellenwert erreicht. Insbesondere wird die Gesamt-Risikobewertung berechnet, indem alle Teil-Risikobewertungen addiert werden, und die Gesamt-Risikobewertung wird mit einem vorgegebenen Schwellenwert verglichen. Wenn die Gesamt-Risikobewertung den Schwellenwert nicht erreicht, dann überwacht die Vollzugsmaschine 225 weiterhin den Zugriff auf Daten, und wenn weitere Ereignisse eines unberechtigten Zugriffs erkannt werden, wird die Gesamt-Risikobewertung nach jedem Ereignis eines unberechtigten Zugriffs wieder aktualisiert. In einigen Ausführungsformen verfällt die Gesamt-Risikobewertung mit der Zeit.
  • Wenn die Gesamt-Risikobewertung einen vorgegebenen Schwellenwert erreicht, wird bei der Operation 550 ein weiterer Zugriff auf die Daten verhindert. In verschiedenen Ausführungsformen können einem Benutzer Scheindaten präsentiert werden, der Container kann deinstalliert werden und der Zugriffsschlüssel des Benutzers kann ungültig gemacht werden oder die Abbilddatei kann automatisch zerstört werden.
  • 6 ist ein Blockschaubild, welches Komponenten eines Computers 10 abbildet, der zur Ausführung der hierin offenbarten Verfahren geeignet ist. Der Computer 10 kann die Client-Einheit 105A bis 105N und/oder die Client-Einheit 205 gemäß Ausführungsformen der vorliegenden Offenbarung realisieren. Es versteht sich, dass 6 nur eine Veranschaulichung einer Ausführungsform liefert und keine Beschränkungen hinsichtlich der Umgebungen impliziert, in welchen verschiedene Ausführungsformen realisiert werden können. Es können viele Modifikationen an der abgebildeten Umgebung vorgenommen werden.
  • Wie abgebildet, umfasst der Computer 10 die Datenaustauschstruktur 12, welche für einen Datenaustausch zwischen dem Computerprozessor (den Computerprozessoren) 14, dem Speicher 16, dem Permanentspeicher 18, der Datenaustauscheinheit 20 und der Eingabe/Ausgabe(E/A)-Schnittstelle (den E/A-Schnittstellen) 22 sorgt. Die Datenaustauschstruktur 12 kann mit einer beliebigen Architektur realisiert werden, die zum Übermitteln von Daten und/oder Steuerungsinformationen zwischen Prozessoren (z.B. Mikroprozessoren, Datenaustausch- und Netzwerkprozessoren usw.), Systemspeicher, Peripherieeinheiten und beliebigen anderen Hardware-Komponenten innerhalb eines Systems entworfen ist. Beispielsweise kann die Datenaustauschstruktur 12 mit einem oder mehreren Bussen realisiert werden.
  • Der Speicher 16 und der Permanentspeicher 18 sind computerlesbare Speichermedien. In der abgebildeten Ausführungsform umfasst der Speicher 16 den Direktzugriffsspeicher (RAM) 24 und den Cache-Speicher 26. Im Allgemeinen kann der Speicher 16 jedes geeignete flüchtige oder nicht-flüchtige computerlesbare Speichermedium umfassen.
  • In dem Permanentspeicher 18 können ein oder mehrere Programme zur Ausführung durch einen oder mehrere der jeweiligen Computerprozessoren 14 über einen oder mehrere Speicher des Speichers 16 gespeichert sein. Der Permanentspeicher 18 kann ein magnetisches Festplattenlaufwerk, ein Solid-State-Festplattenlaufwerk, eine HalbleiterSpeichereinheit, ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM), ein Flash-Speicher oder ein beliebiges anderes computerlesbares Speichermedium sein, welches in der Lage ist, Programmanweisungen oder digitale Informationen zu speichern.
  • Die Medien, die von dem Permanentspeicher benutzt werden, können auch entnehmbar sein. Beispielsweise kann für den Permanentspeicher 18 ein entnehmbares Festplattenlaufwerk benutzt werden. Andere Beispiele umfassen optische und magnetische Platten, Speichersticks und Smart-Cards, welche zum Transfer auf ein anderes computerlesbares Speichermedium, welches ebenfalls Teil des Permanentspeichers 18 ist, in ein Laufwerk eingeführt werden.
  • Die Datenaustauscheinheit 20 sorgt in diesen Beispielen für Datenaustausch mit anderen Datenverarbeitungssystemen oder -einheiten. In diesen Beispielen umfasst die Datenaustauscheinheit 20 eine oder mehrere Netzwerk-Schnittstellenkarten. Die Datenaustauscheinheit 20 kann durch die Verwendung physischer oder drahtloser Datenaustauschverbindungen oder beider für Datenaustausch sorgen.
  • Die E/A-Schnittstelle(n) 22 ermöglicht (ermöglichen) Eingabe und Ausgabe von Daten mit anderen Einheiten, die mit dem Computer 10 verbunden sein können. Beispielsweise kann die E/A-Schnittstelle 22 eine Verbindung zu den externen Einheiten 28 bereitstellen, z.B. zu einer Tastatur, einem Tastenfeld, einem Touch Screen und/oder einer anderen geeigneten Eingabeeinheit. Die externen Einheiten 28 können auch tragbare computerlesbare Speichermedien umfassen, wie zum Beispiel Speichersticks, tragbare optische oder magnetische Platten und Speicherkarten.
  • Software und Daten, die verwendet werden, um Ausführungsformen der vorliegenden Offenbarung auszuführen, können auf solchen tragbaren computerlesbaren Speichermedien gespeichert sein und können über die E/A-Schnittstelle(n) 22 auf den Permanentspeicher 18 geladen werden. Die E/A-Schnittstelle(n) 22 kann (können) auch mit einer Anzeigevorrichtung 30 verbinden. Die Anzeigevorrichtung 30 stellt einen Mechanismus bereit, um einem Benutzer Daten anzuzeigen, und kann zum Beispiel ein Computermonitor sein.
  • Die hierin beschriebenen Programme werden auf Grundlage der Anwendung identifiziert, für welche sie in einer speziellen Ausführungsform der Offenbarung realisiert werden. Es versteht sich jedoch, dass jede spezielle Programmnomenklatur hierin lediglich der Einfachheit halber verwendet wird, und somit sollte die Offenbarung nicht auf eine Verwendung allein in einer speziellen Anwendung beschränkt werden, die durch eine solche Nomenklatur identifiziert und/oder impliziert wird.
  • Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern (z.B. Abbilddateidaten, Containerdaten, geschützte Daten, Benutzerberechtigungsdaten, Regeln für Ereignisse eines verdächtigen Zugriffs, Zugriffshistoriendaten usw.), können in beliebigen herkömmlichen oder anderen Datenstrukturen (z.B. Dateien, Arrays, Listen, Stapeln, Warteschlangen, Aufzeichnungen usw.) gespeichert werden und können in einer beliebigen gewünschten Speichereinheit (z.B. einer Datenbank, Daten- oder anderen Repositorys, einer Warteschlange usw.) gespeichert werden. Die Daten, die zwischen den Client-Einheiten 105A bis 105N übertragen werden, können ein beliebiges gewünschtes Format und eine beliebige gewünschte Anordnung umfassen und können eine beliebige Menge beliebiger Arten von Feldern beliebiger Größe zum Speichern der Daten umfassen. Die Definition und das Datenmodell für beliebige Datensätze können die Gesamtstruktur in beliebiger gewünschter Weise anzeigen (z.B. in computerbezogenen Sprachen, einer graphischen Darstellung, einer Auflistung usw.).
  • Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern (z.B. Abbilddateidaten, Containerdaten, geschützte Daten, Benutzerberechtigungsdaten, Regeln für Ereignisse eines verdächtigen Zugriffs, Zugriffshistoriendaten usw.), können beliebige Informationen umfassen, die den Client-Einheiten 105A bis 105N bereitgestellt werden oder von diesen erzeugt werden. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern, können ein beliebiges gewünschtes Format und eine beliebige gewünschte Anordnung umfassen und können eine beliebige Menge beliebiger Arten von Feldern beliebiger Größe zum Speichern beliebiger gewünschter Daten umfassen. Die Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern, können beliebige Daten, die durch einen beliebigen Zusammenstellungsmechanismus über Einheiten zusammengestellt werden, eine beliebige Kombination zusammengestellter Informationen und beliebige Informationen umfassen, die durch Analysieren zusammengestellter Informationen abgeleitet werden.
  • In den Ausführungsformen der vorliegenden Offenbarung kann eine beliebige Anzahl von Benutzerschnittstellen beliebiger Art (z.B. eine graphische Benutzeroberfläche (Graphical User Interface, GUI), eine Befehlszeile, ein Prompt usw.) zum Erhalten oder Bereitstellen von Informationen (z.B. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern) eingesetzt werden, wobei die Schnittstelle beliebige Informationen umfassen kann, die in beliebiger Weise angeordnet sind. Die Schnittstelle kann eine beliebige Anzahl beliebiger Arten von Eingabe- oder Betätigungsmechanismen (z.B. Tasten, Icons, Felder, Kästen, Links usw.) umfassen, die an beliebigen Stellen angeordnet sind, um über beliebige geeignete Eingabeeinheiten (z.B. eine Maus, eine Tastatur usw.) Informationen einzugeben/anzuzeigen und gewünschte Handlungen auszulösen. Die Schnittstellen-Bildflächen können beliebige geeignete Betätigungselemente (z.B. Links, Registerkarten usw.) zum Navigieren zwischen den Bildflächen in beliebiger Weise umfassen.
  • Es versteht sich, dass die oben beschriebenen und in den Zeichnungen veranschaulichten Ausführungsformen nur einige der vielen Wege zur Verbesserung der Sicherheit von Daten durch Verhindern eines unberechtigten Datenzugriffs und Erweitern des Schutzes während zulässiger oder anderer Zugriffsereignisse repräsentieren.
  • Die Umgebung der Ausführungsformen der vorliegenden Offenbarung kann eine beliebige Anzahl an Computer- oder anderen Verarbeitungssystemen (z.B. Client- oder Endbenutzersystemen, Server-Systemen usw.) und Datenbänken oder andere Repositorys umfassen, die in einer beliebigen gewünschten Weise angeordnet sind, wobei die Ausführungsformen der vorliegenden Offenbarung auf jede beliebige gewünschte Art von Datenverarbeitungsumgebung (z.B. Cloud Computing, Client-Server, Netzwerk-Datenverarbeitung, Hauptrechner, selbständige Systeme usw.) angewendet werden können. Die Computer- oder anderen Verarbeitungssysteme, die bei den Ausführungsformen der vorliegenden Offenbarung eingesetzt werden, können durch eine beliebige Anzahl beliebiger persönlicher Computer- oder Verarbeitungssysteme oder Computer- oder Verarbeitungssysteme anderer Art (z.B. Desktop-, Laptop-, PDA-, mobile Einheiten usw.) realisiert werden und können ein beliebiges kommerziell erhältliches Betriebssystem und eine beliebige Kombination aus kommerziell erhältlicher und maßgefertigter Software (z.B. Datenaustausch-Software, Betriebssystem-Software, Host-Anwendung 115, Host-Anwendung 215, Vollzugsmaschine 225 usw.) umfassen. Diese Systeme können beliebige Arten von Monitoren und Eingabeeinheiten (z.B. Tastatur, Maus, Spracherkennung usw.) zum Eingeben und/oder Ansehen von Informationen umfassen.
  • Es versteht sich, dass die Software (z.B. Datenaustausch-Software, Betriebssystem-Software, Host-Anwendung 115, Host-Anwendung 215, Vollzugsmaschine 225 usw.) der Ausführungsformen der vorliegenden Offenbarung in einer beliebigen gewünschten Computersprache realisiert werden kann und von einem Fachmann auf dem Gebiet der Computertechnik auf Grundlage der funktionellen Beschreibungen, die in der Beschreibung enthalten sind, der Ablaufpläne, die in den Zeichnungen veranschaulicht sind, entwickelt werden könnte. Ferner bezieht sich jede Bezugnahme hierin auf Software, die verschiedene Funktionen ausführt, allgemein auf Computersysteme oder Prozessoren, die diese Funktionen unter Steuerung durch Software ausführen. Die Computersysteme der Ausführungsformen der vorliegenden Offenbarung können alternativ durch Hardware und/oder andere Verarbeitungsschaltungen beliebiger Art realisiert werden.
  • Die verschiedenen Funktionen der Computer- oder anderen Verarbeitungssysteme können auf beliebige Weise unter einer beliebigen Anzahl an Software- und/oder Hardware-Modulen oder -Einheiten, Verarbeitungs- und/oder Computersystemen und/oder -Schaltungen aufgeteilt sein, wobei die Computer- oder Verarbeitungssysteme lokal oder voneinander entfernt angeordnet sein können und über ein beliebiges geeignetes Datenaustauschmedium (z.B. LAN, WAN, Intranet, Internet, festverdrahtet, Modem-Verbindung, drahtlos usw.) Daten austauschen können. Beispielsweise können die Funktionen der Ausführungsformen der vorliegenden Offenbarung auf beliebige Weise unter den verschiedenen Endbenutzer/Client- und Server-Systemen und/oder beliebigen anderen zwischengeschalteten Verarbeitungseinheiten aufgeteilt sein. Die Software und/oder die Algorithmen, die oben beschrieben werden und in den Ablaufplänen dargestellt sind, können auf beliebige Weise modifiziert werden, wenn damit die hierin beschriebenen Funktionen ausgeübt werden. Außerdem können die Funktionen in den Ablaufplänen oder der Beschreibung in beliebiger Reihenfolge ausgeführt werden, wenn damit eine gewünschte Operation durchgeführt wird.
  • Die Software der Ausführungsformen der vorliegenden Offenbarung (z.B. Datenaustausch-Software, Betriebssystem-Software, Host-Anwendung 115, Host-Anwendung 215, Vollzugsmaschine 225 usw.) kann auf einem nicht-flüchtigen von einem Computer verwendbaren Medium (z.B. magnetischen oder optischen Medien, magnetooptischen Medien, Disketten, einer CD-ROM, einer DVD, Speichereinheiten usw.) einer stationären oder tragbaren Programmproduktvorrichtung oder -einheit zur Verwendung mit selbständigen Systemen oder Systemen verfügbar sein, die durch ein Netzwerk oder ein anderes Datenaustauschmedium verbunden sind.
  • Das Datenaustausch-Netzwerk kann durch eine beliebige Anzahl an Datenaustausch-Netzwerken beliebiger Art (z.B. LAN, WAN, Internet, Intranet, VPN usw.) realisiert werden. Die Computer- oder anderen Verarbeitungssysteme der Ausführungsformen der vorliegenden Offenbarung können beliebige herkömmliche oder andere Datenaustauscheinheiten zum Austauschen von Daten über das Netzwerk über beliebige herkömmliche oder andere Protokolle umfassen. Die Computer- oder anderen Verarbeitungssysteme können zum Zugreifen auf das Netzwerk eine beliebige Art von Verbindung (z.B. drahtgebunden, drahtlos usw.) nutzen. Lokale Datenaustauschmedien können durch beliebige geeignete Datenaustauschmedien (z.B. ein lokales Netzwerk (LAN), eine Festverdrahtung, eine drahtlose Verbindung, ein Intranet usw.) realisiert werden.
  • Bei dem System kann eine beliebige Anzahl beliebiger herkömmlicher oder anderer Datenbanken, Datenspeicher oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder anderen Repositorys usw.) zum Speichern von Informationen (z.B. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern) eingesetzt werden. Das Datenbanksystem kann durch eine beliebige Anzahl beliebiger herkömmlicher oder anderer Datenbanken, Datenspeicher oder Speicherstrukturen (z.B. Dateien, Datenbanken, Datenstrukturen, Daten- oder anderen Repositorys usw.) zum Speichern von Informationen (z.B. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern) realisiert werden. Das Datenbanksystem kann in den Client- und/oder Server-Systemen enthalten oder damit verbunden sein. Die Datenbanksysteme und/oder Speicherstrukturen können entfernt von oder lokal zu den Computer- oder anderen Verarbeitungssystemen angeordnet sein und können beliebige gewünschte Daten speichern (z.B. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern).
  • In den Ausführungsformen der vorliegenden Offenbarung kann eine beliebige Anzahl von Benutzerschnittstellen beliebiger Art (z.B. eine graphische Benutzeroberfläche (Graphical User Interface, GUI), eine Befehlszeile, ein Prompt usw.) zum Erhalten oder Bereitstellen von Informationen (z.B. Daten, welche sich auf sichere intelligente Container beziehen, die den Zugriff auf Daten steuern) eingesetzt werden, wobei die Schnittstelle beliebige Informationen umfassen kann, die in beliebiger Weise angeordnet sind. Die Schnittstelle kann eine beliebige Anzahl beliebiger Arten von Eingabe- oder Betätigungsmechanismen (z.B. Tasten, Icons, Felder, Kästen, Links usw.) umfassen, die an beliebigen Stellen angeordnet sind, um über beliebige geeignete Eingabeeinheiten (z.B. eine Maus, eine Tastatur usw.) Informationen einzugeben/anzuzeigen und gewünschte Handlungen auszulösen. Die Schnittstellen-Bildflächen können beliebige geeignete Betätigungselemente (z.B. Links, Registerkarten usw.) zum Navigieren zwischen den Bildflächen in beliebiger Weise umfassen.
  • Die Ausführungsformen der vorliegenden Offenbarung sind nicht auf die oben beschriebenen speziellen Aufgaben oder Algorithmen beschränkt, sondern können für eine beliebige Anzahl an Anwendungen auf den betreffenden Gebieten genutzt werden, umfassend, ohne darauf beschränkt zu sein, Steuern des Zugriffs auf Daten, um einen unberechtigten Zugriff zu verhindern.
  • Die hierin verwendete Terminologie dient nur der Beschreibung spezieller Ausführungsformen und soll die Offenbarung nicht beschränken. Wie hierin verwendet, sollen die Singularformen „ein“, „eine“ und „der“, „die“, „das“ ebenso die Pluralformen umfassen, sofern dies nicht durch den Kontext eindeutig anders angezeigt ist. Es versteht sich ferner, dass mit den Begriffen „umfasst“, „umfassend“, „weist auf“, „aufweisen“ „aufweisend“, „mit“ und dergleichen, wenn sie in dieser Beschreibung verwendet werden, das Vorliegen angegebener Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente und/oder Komponenten beschrieben wird, jedoch nicht das Vorliegen oder das Hinzufügen ein oder mehrerer anderer Merkmale, ganzer Zahlen, Schritte, Operationen, Elemente, Komponenten und/oder Gruppen davon ausgeschlossen wird.
  • Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Step-plus-function-Elemente in den folgenden Patentansprüchen sollen jede Struktur, jedes Material oder jede Handlung zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen als speziell beansprucht umfassen. Die Beschreibung der vorliegenden Offenbarung dient dem Zweck der Veranschaulichung, soll aber nicht erschöpfend oder auf die Offenbarung in der offenbarten Form beschränkt sein. Dem Fachmann werden viele Modifikationen und Variationen ersichtlich sein, die vorgenommen werden können, ohne vom Umfang und von der Idee der Offenbarung abzuweichen. Die Ausführungsform wurde ausgewählt und beschrieben, um die Prinzipien der Offenbarung und die praktische Anwendung bestmöglich zu erläutern und anderen Fachleuten zu ermöglichen, die Offenbarung für verschiedene Ausführungsformen mit verschiedenen Modifikationen zu verstehen, wie sie für die spezielle vorgesehene Verwendung geeignet sind.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Offenbarung dienen den Zwecken der Veranschaulichung, sollen aber nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Dem Fachmann werden viele Modifikationen und Variationen ersichtlich sein, die vorgenommen werden können, ohne vom Umfang und von der Idee der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde ausgewählt, um die Prinzipien der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber marktüblichen Technologien bestmöglich zu erläutern oder anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Bei der vorliegenden Offenbarung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt mit einem beliebigen Integrationsgrad technischer Details handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Offenbarung auszuführen.
  • Bei dem computerlesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste speziellerer Beispiele des computerlesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine DVD (Digital Versatile Disk), ein Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein computerlesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server umfassen. Eine Netzwerk-Adapterkarte oder Netzwerk-Schnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmanweisungen aus dem Netzwerk und leitet die computerlesbaren Programmanweisungen zur Speicherung in einem computerlesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei computerlesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Offenbarung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gate-Arrays (Field Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA) die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Offenbarung auszuführen.
  • Aspekte der vorliegenden Offenbarung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaubildern mittels computerlesbaren Programmanweisungen ausgeführt werden können.
  • Diese computerlesbaren Programmanweisungen können einem Prozessor eines Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Schritte erzeugen. Diese computerlesbaren Programmanweisungen können auch auf einem computerlesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das computerlesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt umfasst, darunter Anweisungen, welche Aspekte der in dem Block oder den Blöcken des Ablaufplans und/oder der Blockschaubilder angegebenen Funktion/Handlung realisieren.
  • Die computerlesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um ein auf einem Computer realisiertes Verfahren zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder festgelegten Funktionen/Handlungen realisieren.
  • Die Ablaufpläne und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Offenbarung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zum Realisieren der bestimmten logischen Funktion(en) umfassen. In einigen alternativen Realisierungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen als ein Schritt erfolgen, gleichzeitig ausgeführt werden, im Wesentlichen gleichzeitig, teilweise oder vollständig überlappend, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es sei ferner angemerkt, dass jeder Block der Blockschaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme realisiert werden können, welche die festgelegten Funktionen oder Handlungen ausführen oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (9)

  1. Durch einen Computer realisiertes Verfahren zum Steuern des Zugriffs auf einen sicheren Container, umfassend: Instanziieren eines sicheren Containers, der auf einer Abbilddatei basiert, an einer Endpunkteinheit eines Benutzers, wobei der sichere Container verschlüsselte Daten umfasst, die dem Benutzer entsprechen; Authentifizieren einer Zugriffsanforderung auf den sicheren Container durch Verifizieren von Anmeldedaten des Benutzers; Gewähren des Zugriffs auf die Daten in Reaktion auf das Verifizieren der Anmeldedaten des Benutzers; und Steuern des Zugriffs auf die Daten durch Entschlüsseln eines Teils der Daten und Ermöglichen des Zugriffs darauf, wobei weitere Teile der Daten auf Grundlage des Benutzerverhaltens entschlüsselt und zugriffsfähig gemacht werden.
  2. Durch einen Computer realisiertes Verfahren nach Anspruch 1, ferner umfassend: Analysieren des Benutzerverhaltens, um zu bestimmen, dass eine Zugriffsverletzung erfolgt ist; und Aussetzen des Zugriffs auf die Daten durch den Benutzer in Reaktion auf das Bestimmen, dass eine Zugriffsverletzung erfolgt ist.
  3. Durch einen Computer realisiertes Verfahren nach Anspruch 2, wobei das Benutzerverhalten analysiert wird, um ein oder mehrere Ereignisse zu identifizieren, und wobei die Zugriffsverletzung bestimmt wird durch: Berechnen einer Gesamt-Risikobewertung auf Grundlage einer oder mehrerer Teil-Risikobewertungen, welche dem einen oder den mehreren identifizierten Ereignissen entsprechen; und Bestimmen, dass die Gesamt-Risikobewertung einen vorgegebenen Schwellenwert erreicht.
  4. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei das Benutzerverhalten eine Geschwindigkeit des Zugriffs auf die Daten umfasst.
  5. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei das Benutzerverhalten umfasst, dass der Benutzer die Daten unter Verwendung eines oder mehrerer unzulässiger Suchbegriffe abfragt.
  6. Durch einen Computer realisiertes Verfahren nach Anspruch 1, wobei das Authentifizieren der Zugriffsanforderung ferner auf einem oder mehrerem aus einer Gruppe von Folgendem basiert: einer Datenverarbeitungsumgebung der Endpunkteinheit, einer aktuellen Position der Endpunkteinheit und einer vorhergehenden Zugriffsposition auf den sicheren Container.
  7. Durch einen Computer realisiertes Verfahren nach Anspruch 1, ferner umfassend: Präsentieren von Scheindaten in Reaktion auf das Bestimmen, dass eine Zugriffsverletzung erfolgt ist, oder in Reaktion darauf, dass die Zugriffsanforderung eine Notfallanzeige umfasst.
  8. Computersystem zum Steuern des Zugriffs auf einen sicheren Container, wobei das Computersystem umfasst: einen oder mehrere Computerprozessoren; ein oder mehrere computerlesbare Speichermedien; Programmanweisungen, die zur Ausführung durch mindestens einen des einen oder der mehreren Computerprozessoren auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert sind, wobei die Programmanweisungen Anweisungen umfassen zum: Instanziieren eines sicheren Containers, der auf einer Abbilddatei basiert, an einer Endpunkteinheit eines Benutzers, wobei der sichere Container verschlüsselte Daten umfasst, die dem Benutzer entsprechen; Authentifizieren einer Zugriffsanforderung auf den sicheren Container durch Verifizieren von Anmeldedaten des Benutzers; Gewähren des Zugriffs auf die Daten in Reaktion auf das Verifizieren der Anmeldedaten des Benutzers; und Steuern des Zugriffs auf die Daten durch Entschlüsseln eines Teils der Daten und Ermöglichen des Zugriffs darauf, wobei weitere Teile der Daten auf Grundlage des Benutzerverhaltens entschlüsselt und zugriffsfähig gemacht werden.
  9. Computerprogrammprodukt zum Steuern des Zugriffs auf einen sicheren Container, wobei das Computerprogrammprodukt ein oder mehrere computerlesbare Speichermedien umfasst, mit welchen gemeinsam Programmanweisungen verkörpert sind, wobei die Programmanweisungen von einem Computer ausführbar sind, um den Computer zu veranlassen zum: Instanziieren eines sicheren Containers, der auf einer Abbilddatei basiert, an einer Endpunkteinheit eines Benutzers, wobei der sichere Container verschlüsselte Daten umfasst, die dem Benutzer entsprechen; Authentifizieren einer Zugriffsanforderung auf den sicheren Container durch Verifizieren von Anmeldedaten des Benutzers; Gewähren des Zugriffs auf die Daten in Reaktion auf das Verifizieren der Anmeldedaten des Benutzers; und Steuern des Zugriffs auf die Daten durch Entschlüsseln eines Teils der Daten und Ermöglichen des Zugriffs darauf, wobei weitere Teile der Daten auf Grundlage des Benutzerverhaltens entschlüsselt und zugriffsfähig gemacht werden.
DE102021129179.8A 2020-12-10 2021-11-10 Sichere intelligente container zum steuern des zugriffs auf daten Granted DE102021129179A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/117,457 US11880482B2 (en) 2020-12-10 2020-12-10 Secure smart containers for controlling access to data
US17/117,457 2020-12-10

Publications (1)

Publication Number Publication Date
DE102021129179A1 true DE102021129179A1 (de) 2022-06-15

Family

ID=80038512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021129179.8A Granted DE102021129179A1 (de) 2020-12-10 2021-11-10 Sichere intelligente container zum steuern des zugriffs auf daten

Country Status (5)

Country Link
US (1) US11880482B2 (de)
JP (1) JP2022092579A (de)
CN (1) CN114626084A (de)
DE (1) DE102021129179A1 (de)
GB (1) GB2603593B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11977653B2 (en) * 2022-03-07 2024-05-07 Recolabs Ltd. Systems and methods for securing files and/or records related to a business process

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598161B1 (en) * 1999-08-09 2003-07-22 International Business Machines Corporation Methods, systems and computer program products for multi-level encryption
US7515717B2 (en) 2003-07-31 2009-04-07 International Business Machines Corporation Security containers for document components
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US8869288B2 (en) * 2007-06-08 2014-10-21 Sandisk Technologies Inc. Method for using time from a trusted host device
US8424098B2 (en) * 2008-12-01 2013-04-16 General Electric Company System and method for enhanced data security
US20120158953A1 (en) * 2010-12-21 2012-06-21 Raytheon Bbn Technologies Corp. Systems and methods for monitoring and mitigating information leaks
US20140096270A1 (en) 2012-09-28 2014-04-03 Richard T. Beckwith Secure data containers and data access control
US9904791B1 (en) * 2012-09-30 2018-02-27 Emc Corporation Processing device having secure container for accessing enterprise data over a network
US20140108793A1 (en) 2012-10-16 2014-04-17 Citrix Systems, Inc. Controlling mobile device access to secure data
RU2525481C2 (ru) 2012-11-01 2014-08-20 Открытое акционерное общество "Научно-производственное объединение Русские базовые информационные технологии" Способ обеспечения безопасности информационных потоков в защищенных информационных системах с мандатным и ролевым управлением доступом
US20160308839A1 (en) 2013-06-14 2016-10-20 Richard Chuang Piracy prevention and usage control system using access-controlled encrypted data containers
US9432369B2 (en) 2014-04-16 2016-08-30 Bank Of America Corporation Secure data containers
CN104573507A (zh) 2015-02-05 2015-04-29 浪潮电子信息产业股份有限公司 一种安全容器及其设计方法
AU2016392715B2 (en) 2016-02-12 2020-07-23 Sophos Limited Encryption techniques
US10554690B2 (en) 2016-11-10 2020-02-04 International Business Machines Corporation Security policy inclusion with container deployment
US10496610B2 (en) 2017-03-07 2019-12-03 Code 42 Software, Inc. Self destructing portable encrypted data containers
CN107634951A (zh) 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
US11095652B2 (en) 2018-02-20 2021-08-17 International Business Machines Corporation Implementing a separation of duties for container security
FR3081062B1 (fr) 2018-05-09 2020-06-19 Raphael Louiset Procede et systeme securises de partage retarde de donnees entre un utilisateur emetteur et plusieurs utilisateurs destinataires, avec creation distante d'un conteneur.
US11363042B2 (en) * 2019-01-21 2022-06-14 Netapp, Inc. Detection of anomalies in communities based on access patterns by users
US11449623B2 (en) * 2019-03-22 2022-09-20 Fortinet, Inc. File access control based on analysis of user behavior patterns
CN110768792B (zh) 2019-09-30 2023-09-05 奇安信科技集团股份有限公司 主密钥生成方法、装置及敏感安全参数的加解密方法

Also Published As

Publication number Publication date
CN114626084A (zh) 2022-06-14
GB2603593A (en) 2022-08-10
JP2022092579A (ja) 2022-06-22
US20220188445A1 (en) 2022-06-16
GB202117000D0 (en) 2022-01-12
GB2603593B (en) 2023-06-14
US11880482B2 (en) 2024-01-23

Similar Documents

Publication Publication Date Title
DE60218615T2 (de) Verfahren und Architektur zur durchdringenden Absicherung von digitalen Gütern
DE60301177T2 (de) Programm, Verfahren und Vorrichtung zum Datenschutz
DE112018002031T5 (de) Sichern einer betriebssystemkonfiguration unter verwendung von hardware
DE102013203126B4 (de) System, Verfahren und Programmprodukt zum transparenten Zugreifen auf verschlüsselte nicht-relationale Daten in Echtzeit
JP6932175B2 (ja) 個人番号管理装置、個人番号管理方法、および個人番号管理プログラム
DE112014000584T5 (de) Erreichen von Speichereffizienz bei durchgängiger Verschlüsselung unter Verwendung von nachgelagerten (Downstream-)Decryptern
US20230394175A1 (en) Tagging and auditing sensitive information in a database environment
US11947704B2 (en) Tagging and auditing sensitive information in a database environment
DE10126752A1 (de) Virusprüfung und -meldung für Suchergebnisse von Computerdatenbanken
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE112020000694T5 (de) Erzeugung und ausführung von sicheren containern
DE202014011089U1 (de) System zum Kopieren von Dateien zwischen verschlüsselten und unverschlüsselten Datenspeichereinrichtungen
DE112021001413T5 (de) Verwaltung eines privilegierten zugriffs mit geringer vertrauenswürdigkeit
DE112016000576T5 (de) Sicheres Booten eines Computers von einer für den Benutzer vertrauenswürdigen Einheit aus
DE112011103580B4 (de) Verfahren, sichere Einheit, System und Computerprogrammprodukt für das sichere Verwalten des Benutzerzugriffs auf ein Dateisystem
DE102009054128A1 (de) Verfahren und Vorrichtung zum Zugriff auf Dateien eines sicheren Fileservers
DE112020002155T5 (de) Einwilligung zu gemeinsamen personenbezogenen informationen
US10860697B2 (en) Private content in search engine results
DE112020002859T5 (de) Verschlüsselter wissens-graph
DE102020110034A1 (de) Überwachungssystem mit mehrstufiger Anfrageprüfung
DE102021129179A1 (de) Sichere intelligente container zum steuern des zugriffs auf daten
DE112012004308B4 (de) Verfahren, System, Vermittlungsserver, Client und Computerprogramm zum Löschen von Daten zum Aufrechterhalten einer Sicherungsstufe
DE102015208665B4 (de) Verfahren und System zum Implementieren eines sicheren Sperrbildschirms
DE112020003438T5 (de) Datenintegrität und konsens mit blockchain
DE112022003983T5 (de) Berechtigte, sichere datenverschiebung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division