DE102021123058A1 - Maskieren von sensiblen informationen in einem dokument - Google Patents

Maskieren von sensiblen informationen in einem dokument Download PDF

Info

Publication number
DE102021123058A1
DE102021123058A1 DE102021123058.6A DE102021123058A DE102021123058A1 DE 102021123058 A1 DE102021123058 A1 DE 102021123058A1 DE 102021123058 A DE102021123058 A DE 102021123058A DE 102021123058 A1 DE102021123058 A1 DE 102021123058A1
Authority
DE
Germany
Prior art keywords
token
document
tokens
metadata
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102021123058.6A
Other languages
English (en)
Inventor
Michael Baessler
Albert Maier
Mike W. Grasselt
Yannick Saillet
Lars Bremer
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 DE102021123058A1 publication Critical patent/DE102021123058A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management 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/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/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6254Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
    • 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/82Protecting input, output or interconnection devices
    • G06F21/84Protecting input, output or interconnection devices output devices, e.g. displays or monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die beispielhaften Ausführungsformen offenbaren ein Verfahren, ein Computerprogrammprodukt und ein Computersystem zum Schutz von sensiblen Informationen. Zu den beispielhaften Ausführungsformen kann ein Verwenden eines invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines Indextokens des invertierten Textindex, ein Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines Satzes von Kandidatentoken, ein Entnehmen von Metadaten aus dem invertierten Textindex, ein Zuordnen des Satzes von Kandidatentoken zu jeweiligen Tokenmetadaten, ein Zerlegen von mindestens einem Dokument in Token, was ein oder mehrere Dokumenttoken ergibt, ein Vergleichen des einen oder der mehreren Dokumenttoken mit dem Satz von Kandidatentoken, ein Auswählen eines Satzes von zu maskierenden Dokumenttoken, ein Auswählen von mindestens einem Teil des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist, ein Maskieren des mindestens einen Teils des Satzes von Dokumenttoken und ein Bereitstellen von einem oder mehreren maskierten Dokumenten gehören.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft das Gebiet der digitalen Computersysteme und insbesondere ein Verfahren zum Maskieren von sensiblen Informationen in einem Dokument.
  • Datenschutz und die Geheimhaltung von sensiblen Informationen ist für Unternehmen und deren Kunden sehr wichtig. Jedoch nehmen die technischen Anforderungen an den Datenschutz zu, wobei es mit steigender Diversität der Daten einen Trend zur Verlagerung von Services an Dritte und in die Cloud gibt.
  • KURZDARSTELLUNG
  • Die beispielhaften Ausführungsformen offenbaren ein Verfahren, ein Computerprogrammprodukt und ein Computersystem zum Schutz von sensiblen Informationen. Zu den beispielhaften Ausführungsformen kann ein Verwenden eines invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines Indextokens des invertierten Textindex, ein Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines Satzes von Kandidatentoken, ein Entnehmen von Metadaten aus dem invertierten Textindex, ein Zuordnen des Satzes von Kandidatentoken zu jeweiligen Tokenmetadaten, ein Zerlegen von mindestens einem Dokument in Token, was ein oder mehrere Dokumenttoken ergibt, ein Vergleichen des einen oder der mehreren Dokumenttoken mit dem Satz von Kandidatentoken, ein Auswählen eines Satzes von zu maskierenden Dokumenttoken, ein Auswählen von mindestens einem Teil des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist, ein Maskieren des mindestens einen Teils des Satzes von Dokumenttoken und ein Bereitstellen von einem oder mehreren maskierten Dokumenten gehören.
  • Figurenliste
  • Die folgende ausführliche Beschreibung, die als Beispiel dient und die beispielhaften Ausführungsformen nicht allein darauf beschränken soll, lässt sich am besten in Verbindung mit den beiliegenden Zeichnungen verstehen, in denen:
    • 1 ein beispielhaftes Blockschaltbild eines Systems gemäß den beispielhaften Ausführungsformen darstellt.
    • 2 stellt einen beispielhaften Ablaufplan dar, der ein Verfahren zum Schutz von sensiblen Informationen in Dokumenten gemäß den beispielhaften Ausführungsformen veranschaulicht.
    • 3 stellt einen beispielhaften Ablaufplan dar, der ein Verfahren zum Bereitstellen eines Satzes von Kandidatentoken, die sensible Informationen aufweisen können, gemäß den beispielhaften Ausführungsformen veranschaulicht.
    • 4 stellt einen beispielhaften Ablaufplan dar, der ein Verfahren zum Schutz von sensiblen Informationen in Dokumenten gemäß den beispielhaften Ausführungsformen veranschaulicht.
    • 5 stellt einen beispielhaften Ablaufplan dar, der ein Verfahren zum Schutz von sensiblen Informationen in Dokumenten gemäß den beispielhaften Ausführungsformen veranschaulicht.
    • 6 stellt ein beispielhaftes Blockschaltbild dar, das die Hardwarekomponenten des Systems gemäß den beispielhaften Ausführungsformen darstellt.
    • 7 stellt eine Cloud-Computing-Umgebung gemäß den beispielhaften Ausführungsformen dar.
    • 8 stellt Abstraktionsmodellschichten gemäß den beispielhaften Ausführungsformen dar.
  • Die Zeichnungen sind nicht unbedingt maßstabsgetreu. Bei den Zeichnungen handelt es sich lediglich um schematische Darstellungen, die keine bestimmten Parameter der beispielhaften Ausführungsformen wiedergeben sollen. Die Zeichnungen sollen lediglich typische beispielhafte Ausführungsformen darstellen. In den Zeichnungen stellt eine gleiche Nummerierung gleiche Elemente dar.
  • AUSFÜHRLICHE BESCHREIBUNG DER DIVERSEN ANSICHTEN DER ZEICHNUNGEN
  • Ausführliche Ausführungsformen der beanspruchten Strukturen und Verfahren werden hierin offenbart; jedoch kann darauf hingewiesen werden, dass die offenbarten Ausführungsformen die beanspruchten Strukturen und Verfahren lediglich veranschaulichen, welche in verschiedenen Formen realisiert werden können. Die beispielhaften Ausführungsformen sind lediglich veranschaulichend und können jedoch in vielen verschiedenen Formen realisiert werden und sollten nicht als auf die hierin dargelegten beispielhaften Ausführungsformen beschränkt ausgelegt werden. Vielmehr werden diese beispielhaften Ausführungsformen bereitgestellt, damit diese Offenbarung gründlich und vollständig ist und dem Fachmann den durch die beispielhaften Ausführungsformen abzudeckenden Umfang vollständig vermittelt. In der Beschreibung werden Einzelheiten von hinlänglich bekannten Merkmalen und Techniken gegebenenfalls weggelassen, um eine unnötige Überfrachtung der dargestellten Ausführungsformen zu vermeiden.
  • Verweise in der Spezifikation auf „eine einzelne Ausführungsform“, „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. geben an, dass die beschriebene Ausführungsform ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft enthalten kann, jede Ausführungsform das/die bestimmte Merkmal, Struktur oder Eigenschaft gegebenenfalls aber nicht unbedingt enthält. Überdies beziehen sich diese Formulierungen nicht zwangsläufig auf die gleiche Ausführungsform. Des Weiteren, wenn ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, versteht es sich, dass es innerhalb des Wissens des Fachmanns liegt, ein(e) solche(s) Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Ausführungsformen auszuführen, unabhängig davon, ob es/sie ausdrücklich beschrieben ist oder nicht.
  • Um die Darstellung der beispielhaften Ausführungsformen nicht zu überfrachten, wurden in der folgenden ausführlichen Beschreibung einige in der Technik bekannte Verarbeitungsschritte oder Operationen zu Darstellungs- und Veranschaulichungszwecken gegebenenfalls miteinander verbunden und in manchen Fällen gegebenenfalls nicht ausführlich beschrieben. In anderen Fällen werden einige in der Technik bekannte Verarbeitungsschritte oder Operationen gegebenenfalls überhaupt nicht beschrieben. Es sollte klar sein, dass sich die folgende Beschreibung auf die charakteristischen Merkmale oder Elemente gemäß den verschiedenen beispielhaften Ausführungsformen konzentriert.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung erfolgen zum Zweck der Veranschaulichung, sollen jedoch nicht erschöpfend oder auf die offenbarten Ausführungsformen beschränkt sein. Viele Änderungen und Varianten sind für den Fachmann erkennbar, ohne vom Umfang und Wesen der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber auf dem Markt befindlicher Technologien am besten zu erklären bzw. um anderen Fachleuten das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.
  • Bei dem angeforderten Dokument kann es sich um ein strukturiertes oder ein unstrukturiertes Dokument handeln. Im Gegensatz zu einem strukturierten Dokument kann das unstrukturierte Dokument unstrukturierte Informationen aufweisen, die entweder über kein vordefiniertes Datenmodell verfügen oder nicht in einer vordefinierten Weise organisiert sind. Dies kann ein Verständnis solcher Dokumente schwierig machen, wenn Programme im Vergleich zu Daten verwendet werden, welche in feldspezifischer Form in Datenbanken gespeichert oder in Dokumenten von strukturierten Dokumenten mit Anmerkungen versehen sind. Das Dokument kann zum Beispiel ein elektronisches Dokument sein. Bei dem elektronischen Dokument kann es sich um einen elektronischen Medieninhalt handeln, der zur Verwendung entweder in einer elektronischen Form oder als gedruckte Ausgabe bestimmt ist. Das elektronische Dokument kann zum Beispiel eine Webseite, ein Dokument, das in einer Webseite eingebettet ist und in der Webseite wiedergegeben werden kann, ein Arbeitsblatt, eine E-Mail, ein Buch, ein Bild und eine Darstellung aufweisen, die über einen zugehörigen Benutzeragenten wie beispielsweise einen Dokumentenleser, einen Editor oder Media-Player verfügen.
  • Zu einem typischen Anwendungsfall für Dokumente kann ein Laden eines Dokuments und ein Anzeigen des Dokuments für verschiedene Benutzer auf Benutzeroberflächen gehören. Dies kann jedoch dazu führen, dass Daten, die sensible Informationen enthalten, in eine weniger vertrauenswürdige Umgebung kopiert werden. Die sensiblen Informationen können persönliche Daten wie beispielsweise Sozialversicherungsnummern, Passdaten, Kreditkartennummern, Patientenaktendetails usw. aufweisen, die nicht in die Hände von nicht vertrauenswürdigen Parteien gelangen sollten. Der vorliegende Gegenstand kann dieses Problem lösen, indem eine Datenmaskierung verwendet wird. Der Zweck einer Datenmaskierung kann darin bestehen, die Daten zu desensibilisieren, um sensible Datenelemente zu verbergen oder zu maskieren, so dass die Daten als Ganzes für ihren vorgesehenen Zweck von Nutzen bleiben. Die Datenmaskierung kann durchgeführt werden, damit der Zugriff auf das Dokument vordefinierte Datenzugriffsregeln erfüllt. Die Datenzugriffsregeln können Governance-Richtlinien und/oder Benutzerzugriffsrechte aufweisen. Zum Beispiel können die Governance-Regeln den Schutz einer beliebigen Art von sensiblen Informationen wie beispielsweise personenbezogenen Daten erfordern.
  • Jedoch kann eine herkömmliche Datenmaskierung sehr ressourcenintensiv sein, da sie gegebenenfalls eine große Infrastrukturverarbeitung, Einstellungen und Konfigurationen erforderlich macht, damit sie funktioniert. Der vorliegende Gegenstand kann dieses Problem lösen, indem eine effiziente und optimierte Datenmaskierung von Dokumenten bereitgestellt wird. Der vorliegende Gegenstand kann insofern effizient sein, als er den gleichen Satz von Kandidatentoken, die möglicherweise sensible Informationen enthalten, verwenden kann, um den in mehreren angeforderten Dokumenten zu maskierenden Inhalt anzugeben. Dies kann Verarbeitungsressourcen sparen, die andernfalls benötigt würden, um jedes Dokument einzeln zu verarbeiten. Der vorliegende Gegenstand kann insofern optimal sein, als der invertierte Textindex (auch als invertierter Index bezeichnet) in einem unterschiedlichen Format, z.B. einem komprimierten Format, bereitgestellt werden kann, das eine ressourcensparende Verarbeitung ermöglicht. Bei dem invertierten Textindex kann es sich um eine Indexdatenstruktur handeln, die eine Zuordnung von Token, wie beispielsweise Wörtern oder Zahlen, zu ihren Speicherpositionen in einem Dokument oder in mehreren Dokumenten des Satzes von Dokumenten speichert. Zum Beispiel kann der invertierte Textindex eine Hashzuordnungs-Datenstruktur sein. Die Token des invertierten Textindex können als die Indextoken bezeichnet werden.
  • Gemäß einer einzelnen Ausführungsform umfasst das Verfahren des Weiteren: Feststellen von Themenmetadaten des Satzes von Kandidatentoken. Die Themenmetadaten eines jeden Tokens des Satzes von Kandidatentoken geben ein Thema der Token oder ein Thema eines Dokuments an, das das Token enthält, wobei die Tokenmetadaten des Tokens des Weiteren die Themenmetadaten aufweisen.
  • Die Themenmetadaten eines Tokens können einen Attributwert, der das Thema des Tokens darstellt, und einen oder mehrere Werte von Attributen aufweisen, die das Thema des Tokens beschreiben. Wenn das Token zum Beispiel morbus-addison lautet, was eine seltene Krankheit ist, kann das Thema für dieses Token ‚Krankheit‘ sein und einige Themenmetadaten können Indikatoren wie ‚seltene Krankheit‘ sein. Es kann auch möglich sein, dass ein Token zu mehreren Themen gehört. Dem vorstehenden Beispiel folgend können die Themen des Tokens morbus-addison Krankheitsthema und das Thema ‚seltene Krankheit‘ sein. Die Themenmetadaten des Tokens können zusätzlich oder alternativ eine Governance-Regel aufweisen, die Werte der Token dieses Themas angibt, welche vertraulich sein müssen. Zum Beispiel kann das Thema eines gegebenen Tokens ein Gesundheitssystem betreffen, und die Governance-Regel kann angeben, dass Informationen über Patienten vertraulich behandelt werden sollten. Der Inhalt der Tokenmetadaten eines jeden Kandidatentokens kann somit verarbeitet werden, um festzustellen, ob er sensible Informationen enthält, wobei z.B. ein Klassifikator „Daten sensibel-nicht sensibel“ verwendet wird. Der Klassifikator kann zum Beispiel die Domäne des Tokens verwenden, um es dem Governance-Katalog zuzuordnen, und die für die Domäne definierten Regeln können verwendet werden, um das Token zu klassifizieren. Diese Verarbeitung kann zum Beispiel des Weiteren Data-Mining aufweisen, um Regeln zu interpretieren und sie auf in den Tokenmetadaten vorhandene Attributwerte anzuwenden. Das Data-Mining kann es ermöglichen, die Metadaten erneut mit einem Unternehmensglossar abzugleichen, um festzustellen, was über Metadaten „bekannt“ ist und ob damit irgendeine Art von Sensitivitätsklassifikation verbunden ist.
  • Diese Ausführungsform kann eine genaue Auswahl des mindestens einen Teils des Satzes von Kandidatentoken ermöglichen, da die Auswahl auf einem reichhaltigen Inhalt der Metadaten beruhen kann.
  • Gemäß einer einzelnen Ausführungsform umfasst das Verfahren des Weiteren ein Eingeben des Tokenthemas in ein Informations-Governance-Tool and ein Empfangen der Themenmetadaten als Ausgabe auf. Bei dem Informations-Governance-Tool kann es sich zum Beispiel um eine Governance-Katalog-Lösung eines Unternehmens handeln.
  • Gemäß einer einzelnen Ausführungsform weist das statistische Maß des Indextokens eines von oder eine Kombination auf aus: Anzahl der Dokumente des Satzes von Dokumenten, der das Indextoken enthält, die Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten, die Häufigkeit des Vorkommens eines Tokentyps des Indextokens in dem Satz von Dokumenten, wobei ein Auswählen des Satzes von Kandidatentoken ein Vergleichen des statistischen Maßes mit einem vorher definierten Schwellenwert aufweist. Bei dem Tokentyp kann es sich um einen Texttyp, einen Zahlentyp oder eine Kombination daraus handeln. Zum Beispiel kann ein konfigurierbarer Schwellenwert für jeden Tokentyp bereitgestellt werden, der angibt, wie oft ein Token in dem Satz von Dokumenten vorkommen darf (Posting-Liste von Token). Falls die Häufigkeit des Vorkommens eines Indextokens zum Beispiel geringer als der konfigurierbare Schwellenwert ist, kann es als ein Kandidatentoken ausgewählt werden, das möglicherweise sensible Informationen enthalten kann. Das heißt, je weniger häufig ein Indextoken ist, desto wahrscheinlicher ist es, dass es sich dabei um eine einzelne Information handelt, die verdächtig ist und möglicherweise maskiert werden muss. In einem weiteren Beispiel kann mehr als ein statistisches Maß verwendet werden, um zu entscheiden, ob ein Indextoken ein Kandidatentoken ist, das möglicherweise sensible Informationen enthält. Dem vorstehenden Beispiel folgend kann, wenn die Häufigkeit des Vorkommens eines Indextokens geringer als der konfigurierbare Schwellenwert ist, des Weiteren festgestellt werden, ob die Anzahl der Dokumente des Satzes von Dokumenten, der das Indextoken enthält, kleiner als ein weiterer konfigurierbarer Schwellenwert ist, und wenn ja, kann das Indextoken als ein Kandidatentoken ausgewählt werden.
  • Gemäß einer einzelnen Ausführungsform wird der invertierte Textindex aktualisiert, falls sich der Satz von Dokumenten ändert. Das Verfahren umfasst des Weiteren: Speichern des Satzes von Kandidatentoken zusammen mit den Tokenmetadaten in einem Speichersystem oder einem Datenspeicher und wiederholtes: Durchführen der Auswahl des Satzes von Kandidatentoken und der Entnahme der Metadaten und entsprechendes Aktualisieren des Speichersystems, wobei das aktualisierte Speichersystem zum Auswählen der Dokumenttoken verwendet wird, die maskiert werden.
  • Das vorliegende Verfahren kann ein erstes Verfahren zum Bereitstellen des Satzes von Kandidatentoken, gefolgt von einem zweiten Verfahren zum Maskieren eines angeforderten Dokuments umfassen. Das erste Verfahren umfasst die Schritte des vorliegenden Verfahrens, die ausgeführt werden, bevor die Anforderung des Dokuments empfangen wird. Und das zweite Verfahren umfasst den Schritt des Empfangens der Anforderung des Dokuments und folgende Schritte des vorliegenden Verfahrens. Das zweite Verfahren kann unabhängig von dem ersten Verfahren durchgeführt werden. Zum Beispiel kann das Speichersystem nach dem Empfang einer Anforderung eines Dokuments gelesen werden, um den Satz von Kandidatentoken abzurufen. Das Speichersystem kann unter Verwendung des ersten Verfahrens mit einem neuen Satz von Kandidatentoken unabhängig von dem zweiten Verfahren aktualisiert werden. Somit kann diese Ausführungsform die Genauigkeit der Datenmaskierung weiter verbessern, da sie auf aktuellen Daten beruhen kann.
  • Gemäß einer einzelnen Ausführungsform weist ein Auswählen des mindestens einen Teils des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist, ein Ausführen eines Klassifikators auf den Tokenmetadaten und ein Klassifizieren des Satzes von Dokumenttoken als sensible oder nicht sensible Token auf, wobei die Auswahl auf der Grundlage der Klassifikation durchgeführt wird. Wenn die Tokenmetadaten zum Beispiel den Tokentyp aufweisen, kann er verwendet werden, um zu entscheiden, ob ein Dokumenttoken maskiert werden soll oder nicht. Wenn es sich bei dem Dokumenttoken um eine Kombination aus Zahlen und Zeichenfolgen handelt, kann dies angeben, dass es sensible Informationen darstellt. Das heißt, nur Kandidatentoken einer bestimmten Kategorie oder eines bestimmten Typs können maskiert werden. Die Häufigkeit des Vorkommens eines Tokens kann als die Anzahl der Vorkommnisse des Tokens geteilt durch die Anzahl der Dokumente des Satzes von Dokumenten definiert werden (erste Definition). In einem weiteren Beispiel kann die Häufigkeit des Vorkommens als die Anzahl der Dokumente, die das Token enthalten, geteilt durch die Anzahl der Dokumente in dem Satz von Dokumenten definiert werden (zweite Definition). Wenn die Tokenmetadaten zum Beispiel des Weiteren die Dokument-IDs der Dokumente aufweisen, in denen das Indextoken vorkommt, können die Dokument-IDs vorteilhafterweise verwendet werden, um das Dokumenttoken zu maskieren oder nicht zu maskieren, wenn die Häufigkeit des Vorkommens, gemäß der ersten Definition, der Dokumenttoken gering ist, d.h. kleiner als ein Schwellenwert. Da die Häufigkeit in Bezug auf alle Dokumente definiert wird, kann die Häufigkeit zum Beispiel selbst dann noch gering sein, wenn das gleiche Token in nur einem Dokument vorkommt, da die Häufigkeit unter Verwendung aller Dokumente berechnet wird. Das heißt, wenn das gleiche Dokumenttoken in nur einem Dokument vorkommt, kann es zehn Mal angeben, dass es nicht sensibel ist, obgleich die Häufigkeit möglicherweise gering ist. Die Verwendung der zusätzlichen Dokument-IDs kann es somit ermöglichen, solche Fälle z.B. als nicht sensibel zu erkennen. Wenn zum Beispiel die Tokenmetadaten des Weiteren eine Governance-Regel aufweisen, die angibt, dass die in einer bestimmten Region befindlichen Benutzer nicht auf Informationen wie beispielsweise Adressen von Personen zugreifen dürfen, kann der Klassifikator den Standort des Benutzers feststellen, der das Dokument angefordert hat, und kann entscheiden, ob die Adressinformation (die Teil des Satzes von Dokumenttoken ist) auf der Grundlage dieses Standorts und gemäß der Regel maskiert werden soll.
  • Gemäß einer einzelnen Ausführungsform umfasst das Verfahren des Weiteren: Feststellen einer durch einen Inhalt des angeforderten Dokuments dargestellten Domäne, wobei der Satz von Dokumenten die festgestellte Domäne darstellt und das angeforderte Dokument ausschließt. Anders ausgedrückt, das angeforderte Dokument wurde möglicherweise nicht verwendet, um den invertierten Index zu erzeugen; jedoch kann der invertierte Index gemäß dieser Ausführungsform vorteilhaft verwendet werden, da er es erforderlich macht, dass das angeforderte Dokument und der Satz von Dokumenten des invertierten Index die gleiche Domäne haben. Dies kann es zum Beispiel ermöglichen, Testdaten, die zum Bereitstellen der Kandidatentoken verwendet werden, von Daten zu trennen, die verwendet werden, um zu maskierende Token zu klassifizieren.
  • Gemäß einer einzelnen Ausführungsform weist der Satz von Dokumenten das angeforderte Dokument auf. Dies kann vorteilhaft sein, da es eine genaue Auswahl eines Satzes von Dokumenttoken und somit eine genaue Datenmaskierung bereitstellen kann, da die Dokumenttoken Teil der Indextoken sein können.
  • 1 ist ein Blockschaltbild, das ein Dokumentbereitstellungssystem 100 gemäß einem Beispiel des vorliegenden Gegenstandes veranschaulicht. Das Dokumentbereitstellungssystem 100 weist ein Dokumentabrufsystem 101 und ein Benutzercomputersystem 102 auf. Das Dokumentabrufsystem 101 und das Benutzercomputersystem 102 können zum Datenaustausch über ein Netzwerk 103 betrieben werden. Das Netzwerk 103 kann zum Beispiel das Internet, ein lokales Netz, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk sein.
  • Das Dokumentabrufsystem 101 hat Zugriff auf Dokumente in einem Speicher, der hier durch eine Datenbank 105 dargestellt ist, die mit dem Dokumentabrufsystem 101 betriebsfähig verbunden ist. Die Datenbank 105 enthält Dokumente, die im Betrieb an das Benutzercomputersystem 102 gesendet werden sollen. Bei diesen Dokumenten kann es sich um eine beliebige Art von hauptsächlich unstrukturiertem Text wie beispielsweise Zeitungsartikel, Immobilienverzeichnisse oder Abschnitte in einem Handbuch handeln. Das Dokumentabrufsystem 101 kann einen Dokumentabruf ermöglichen. Der Dokumentabruf kann als ein Abgleich einer angegebenen Benutzerabfrage des Benutzercomputersystems 102 mit einem oder mehreren Dokumenten in der Datenbank 105 definiert werden. Die in der Datenbank 105 gespeicherten Dokumente 108 können einen Satz von einer oder mehreren Domänen darstellen. Zum Beispiel können die Dokumente 108 mehrere Sätze von Dokumenten aufweisen, die jeweils unterschiedliche Domänen darstellen. Eine Domäne stellt Konzepte oder Kategorien dar, die zu einem Teil der Welt gehören, wie beispielsweise Biologie oder Politik. Die Domäne modelliert üblicherweise domänenspezifische Definitionen von Begriffen. Zum Beispiel kann sich eine Domäne auf das Gesundheitswesen, auf Werbung, Handel, ein medizinisches und/oder biomedizinspezifisches Gebiet beziehen. Die Datenbank 105 kann des Weiteren einen invertierten Textindex 109 aufweisen. Bei dem invertierten Textindex kann es sich um eine Indexdatenstruktur handeln, die eine Zuordnung von Indextoken, wie beispielsweise Wörtern oder Zahlen, zu ihren Speicherpositionen in einem Dokument oder in mehreren Dokumenten der Dokumente 108 speichert. Zur Vereinfachung der Beschreibung ist nur ein invertierter Textindex gezeigt, er ist jedoch nicht auf z.B. die Datenbank 105 beschränkt, die einen invertierten Index für jeden Satz der mehreren Sätze von Dokumenten speichern kann.
  • Das Dokumentabrufsystem 101 kann so konfiguriert werden, dass es sensible Informationen gemäß dem vorliegenden Gegenstand schützt. Zum Beispiel kann das Dokumentabrufsystem 101 einen dynamischen Datenmaskierungsprozess ausführen, durch den nach Bedarf auf Dokumente zugegriffen werden kann, sie maskiert und an das Benutzercomputersystem 102 gesendet werden können. Im Einzelnen kann das an das Benutzercomputersystem 102 zu sendende Dokument bestimmte Token enthalten, die maskiert werden können, bevor das Dokument verschickt wird. Zum Beispiel können die zu maskierenden Token auf der Grundlage des Kontexts, in dem das Dokument angefordert wird oder an das Benutzercomputersystem 102 gesendet werden soll, dynamisch festgestellt werden. Zum Beispiel könnte, je nach den Datenzugriffsregeln, das gleiche Dokument je nach dem Standort des Benutzercomputersystems 102 und des Benutzers, der die Abfrage zum Zugriff auf das Dokument übergibt, unterschiedlich maskiert werden. Zum Beispiel können Daten aus Europa (EU) oder den Vereinigten Staaten (US) gemäß der Datenschutz-Grundverordnung (GDPR, General Data Protection Regulation) oder nach Bundesrecht (Federal Law) maskiert werden.
  • Das Benutzercomputersystem 102 kann das maskierte Dokument über das Netzwerk 103 empfangen und es speichert das maskierte Dokument im Speicher, der hier durch die Datenbank 106 dargestellt ist, welche mit dem Benutzercomputersystem 102 betriebsfähig verbunden ist.
  • 2 ist ein Ablaufplan eines Verfahrens zum Schutz von sensiblen Informationen in Dokumenten gemäß einem Beispiel des vorliegenden Gegenstands. Zum Zweck der Erklärung kann das in 2 beschriebene Verfahren in dem in 1 veranschaulichten System ausgeführt werden, es ist jedoch nicht auf diese Ausführung beschränkt. Das Verfahren von 2 kann zum Beispiel von dem Dokumentabrufsystem 101 durchgeführt werden.
  • Der invertierte Textindex 109 kann im Schritt 201 zum Auswerten von einem oder mehreren statistischen Maßen von Indextoken des invertierten Textindex 109 verwendet werden. Das statistische Maß des Indextokens kann eines von oder eine Kombination aufweisen aus: Anzahl der Dokumente des Satzes von Dokumenten 108, der das Indextoken enthält, die Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten und die Häufigkeit des Vorkommens eines Tokentyps des Indextokens in dem Satz von Dokumenten. Die statistischen Maße können unter Verwendung von Informationen ausgewertet werden, die in dem invertierten Textindex 109 enthalten sind. Die Kombination aus der Anzahl von Dokumenten und der Häufigkeit kann zum Beispiel eine Matrix oder ein Vektor oder eine Liste usw. mit zwei Elementen sein, die die Anzahl der Dokumente und die Häufigkeit aufweisen.
  • Die ausgewerteten statistischen Maße können verwendet werden, um im Schritt 203 aus den Indextoken des invertierten Textindex 109 einen Satz von Kandidatentoken auszuwählen, die sensible Informationen enthalten können. Dafür kann das statistische Maß eines jeden Indextokens des invertierten Textindex 109 mit einem Schwellenwert verglichen werden. Der Schwellenwert kann ein konfigurierbarer Schwellenwert sein. Auf der Grundlage des Vergleichsergebnisses kann jedes Indextoken als Kandidatentoken ausgewählt werden. Zum Beispiel kann, wenn ein Indextoken in dem Satz von Dokumenten 108 nicht häufig vorkommt, dieses Token als ein Kandidatentoken ausgewählt werden. Dafür kann die Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten 108 mit einem maximalen Häufigkeitswert verglichen werden. Wenn die Häufigkeit des Vorkommens geringer als der maximale Häufigkeitswert ist, kann das Indextoken als ein Kandidatentoken ausgewählt werden. Dies kann einen Satz von N Kandidatentoken Tcand1, Tcand2...TcandN. ergeben.
  • Metadaten, die den Satz von Kandidatentoken beschreiben, können im Schritt 205 dem invertierten Textindex 109 entnommen werden. Die entnommenen Metadaten des Indextokens können mindestens einen Tokentyp des Indextokens und eine Dokumentkennung eines Dokuments aufweisen, welches das Indextoken enthält.
  • Der Satz von Kandidatentoken kann im Schritt 207 jeweiligen Tokenmetadaten zugeordnet werden, wobei die Tokenmetadaten des Tokens die entnommenen Metadaten des Tokens aufweisen. Der Satz von Kandidatentoken kann zum Beispiel in einem Datenspeicher zusammen mit den Tokenmetadaten gespeichert werden, z.B. können die Kandidatentoken mit einigen Metadaten um den Tokentyp, die Dokumenthäufigkeit und möglichen anderen Informationen wie Dokumentmetadaten (z.B. Typ), die in dem invertierten Textindex vorkommen, gespeichert werden, wobei dazu auch die Dokument-IDs der Dokumente, in denen sich dieses Token befand, gehören.
  • Eine Anforderung von mindestens einem Dokument der Dokumente 108 kann im Schritt 209 empfangen werden. Die Anforderung kann zum Beispiel eine Benutzerabfrage sein, die von vollständigen, aus mehreren Sätzen bestehenden Beschreibungen eines Informationsbedarfs bis hin zu ein paar Wörtern reichen kann. Die Anforderung des Dokuments kann von dem Benutzercomputersystem 102 empfangen werden. Das Benutzercomputersystem 102 kann zum Beispiel eine Datenanalyseanforderung von einem Benutzer des Benutzercomputersystems 102 empfangen. Die Datenanalyseanforderung kann Daten in natürlicher Sprache aufweisen. Eine Verarbeitung natürlicher Sprache der Datenanalyseanforderung kann von dem Benutzercomputersystem 102 durchgeführt werden, was die Anforderung ergibt, die von dem Benutzercomputersystem 102 gesendet wird. Der Begriff „Benutzer“ bezieht sich auf eine Entität, z.B. eine Einzelperson, einen weiteren Computer oder eine auf dem Benutzercomputersystem 102 ausgeführte Anwendung.
  • Nach dem Empfang der Anforderung kann das angeforderte Dokument im Schritt 211 in Token zerlegt werden, um Dokumenttoken zu erhalten. Dies kann ein in Token zerlegtes Dokument ergeben, bei dem es sich um ein Dokument handeln kann, das als eine Sammlung von Wörtern (Dokumenttoken) dargestellt wird. Dieser Schritt 211 kann optional sein, wenn der invertierte Textindex zum Beispiel Indextoken des angeforderten Dokuments aufweist. In diesem Fall können diese Indextoken als die Dokumenttoken des angeforderten Dokuments bereitgestellt werden, z.B., ohne dass das angeforderte Dokument erneut in Token zerlegt werden muss.
  • Die Dokumenttoken des angeforderten Dokuments können im Schritt 213 mit dem Satz von Kandidatentoken verglichen werden. Dafür kann der Satz von Kandidatentoken aus dem Datenspeicher gelesen werden. Dies kann vorteilhaft sein, da der Datenspeicher die aktuelle Version des Satzes von Kandidatentoken aufweisen kann.
  • Auf der Grundlage des Vergleichsergebnisses kann im Schritt 215 ein Satz von zu maskierenden Dokumenttoken aus allen Dokumenttoken des angeforderten Dokuments ausgewählt werden. Das Vergleichsergebnis kann zum Beispiel angeben, welche Dokumenttoken Teil des Satzes von Kandidatentoken sind. Somit kann der ausgewählte Satz von Dokumenttoken Dokumenttoken aufweisen, die zu dem Satz von Kandidatentoken gehören. Ferner kann das Vergleichsergebnis zum Beispiel die Dokumenttoken angeben, die mit dem Satz von Kandidatentoken semantisch verbunden sind. Diese semantisch verbundenen Dokumenttoken können Teil des Satzes von Dokumenttoken sein. Wenn das Kandidatentoken zum Beispiel das Alter eines Patienten angibt (das in bestimmten Kontexten vertraulich sein sollte), kann ein das Geburtsdatum aufweisendes Dokumenttoken mit diesem Kandidatentoken semantisch verbunden sein. Die Information über semantische Beziehungen eines Tokens können zum Beispiel Teil der Tokenmetadaten sein. Dieser Schritt 215 kann einen Satz von M Dokumenttoken Tdoc1, Tdoc2...TdocM ergeben. Jedes der M Dokumenttoken Tdoc1, Tdoc2...TdocM kann einem oder mehreren Kandidatentoken Tcand1, Tcand2...TcandN zugeordnet werden. Zum Beispiel können zwei oder mehr Dokumenttoken verschiedenen Kandidatentoken oder einem gleichen Kandidatentoken zugeordnet werden. Jedes Dokumenttoken des Satzes von M Dokumenttoken kann den Tokenmetadaten des/der entsprechenden Kandidatentoken(s) zugeordnet werden.
  • Mindestens ein Teil des Satzes von Dokumenttoken, der sensible Informationen gemäß den zugehörigen Tokenmetadaten aufweist, kann im Schritt 217 ausgewählt werden. Der mindestens eine Teil des Satzes von Dokumenttoken kann L Dokumenttoken Tdoc1, Tdoc2...TdocL aufweisen, wobei L ≤ M. Die Auswahl kann durchgeführt werden, indem die Tokenmetadaten verarbeitet werden, die zu dem Satz von Dokumenttoken gehören. Dieser Schritt 217 kann zum Beispiel automatisch durchgeführt werden. Wenn das Token zum Beispiel zu einem Thema/Begriff gehört, das/der ebenfalls innerhalb des Governance-Katalogs gefunden oder einem Geschäftsbegriff zugeordnet werden kann, können für diesen Geschäftsbegriff definierte Regeln angewendet werden. Wenn der Geschäftsbegriff z.B. als sensibel definiert ist, kann das Kandidatentoken maskiert werden.
  • Der mindestens eine Teil des Satzes von Dokumenttoken kann im Schritt 219 in dem Dokument maskiert werden, was ein maskiertes Dokument ergibt. Zum Beispiel kann die Maskierung über Hashing durchgeführt werden. Hier kann ein Dokumenttoken zusammen mit einem langfristigen Hashschlüssel hashverschlüsselt werden. Das Dokumenttoken kann dann durch den sich ergebenden Hashwert in dem an den Benutzer gesendeten maskierten Dokument ersetzt werden. Andere bekannte Verfahren, die auf Substitutions-, Shuffling-, Lösch-(„Nulling“-), Verschleierungs- oder Perturbationstechniken beruhen, können verwendet werden, um die Maskierung durchzuführen.
  • Das maskierte Dokument kann dann im Schritt 221 bereitgestellt werden. Zum Beispiel kann das Dokumentabrufsystem 101 als Reaktion auf die Anforderung das maskierte Dokument an das Benutzercomputersystem 102 senden.
  • Die Schritte 211 bis 221 können für jedes im Schritt 209 angeforderte Dokument wiederholt werden. Zum Beispiel können die angeforderten Dokumente durch die Schritte 211 bis 221 gleichzeitig oder parallel verarbeitet werden.
  • 3 ist ein Ablaufplan eines Verfahrens zum Bereitstellen eines Satzes von Kandidatentoken, die sensible Informationen aufweisen können, gemäß einem Beispiel des vorliegenden Gegenstands. Zum Zweck der Erklärung kann das in 3 beschriebene Verfahren in dem in 1 veranschaulichten System ausgeführt werden, es ist jedoch nicht auf diese Ausführung beschränkt. Das Verfahren von 3 kann zum Beispiel von dem Dokumentabrufsystem 101 durchgeführt werden.
  • Im Schritt 300 kann ein invertierter Textindex 109 bereitgestellt werden. Der invertierte Textindex 109 wird aus einem Satz von Dokumenten abgerufen, z.B. werden die Indextoken und zugehörige Informationen des invertierten Textindex aus dem Satz von Dokumenten abgerufen.
  • Der invertierte Textindex 109 kann im Schritt 301 zum Auswerten von einem oder mehreren statistischen Maßen von Indextoken des invertierten Textindex 109 verwendet werden. Das statistische Maß des Indextokens kann eines von oder eine Kombination aufweisen aus: Anzahl der Dokumente des Satzes von Dokumenten 108, der das Indextoken enthält, die Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten und die Häufigkeit des Vorkommens eines Tokentyps des Indextokens in dem Satz von Dokumenten. Die statistischen Maße können unter Verwendung von Informationen ausgewertet werden, die in dem invertierten Textindex 109 enthalten sind.
  • Die ausgewerteten statistischen Maße können verwendet werden, um im Schritt 303 aus den Indextoken des invertierten Textindex 109 einen Satz von Kandidatentoken auszuwählen, die sensible Informationen enthalten können. Dafür kann das statistische Maß eines jeden Indextokens des invertierten Textindex 109 mit einem Schwellenwert verglichen werden. Der Schwellenwert kann ein konfigurierbarer Schwellenwert sein. Auf der Grundlage des Vergleichsergebnisses kann jedes Indextoken als ein Kandidatentoken ausgewählt werden. Zum Beispiel kann, wenn ein Indextoken in dem Satz von Dokumenten 108 nicht häufig vorkommt, dieses Indextoken als Kandidatentoken ausgewählt werden. Dafür kann die Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten 108 mit einem maximalen Häufigkeitswert verglichen werden. Wenn die Häufigkeit des Vorkommens geringer als der maximale Häufigkeitswert ist, kann das Indextoken als ein Kandidatentoken ausgewählt werden.
  • Metadaten, die den Satz von Kandidatentoken beschreiben, können im Schritt 305 dem invertierten Textindex 109 entnommen werden. Die entnommenen Metadaten des Indextokens können mindestens einen Tokentyp des Indextokens und eine Dokumentkennung eines Dokuments aufweisen, welches das Indextoken enthält.
  • Der Satz von Kandidatentoken kann im Schritt 307 jeweiligen Tokenmetadaten zugeordnet werden, wobei die Tokenmetadaten des Tokens die entnommenen Metadaten des Tokens aufweisen. Der Satz von Kandidatentoken kann in einem Datenspeicher gespeichert werden.
  • Es kann festgestellt werden (Anfrageschritt 308), ob sich der Satz von Dokumenten geändert hat, die durch den invertierten Index dargestellt werden. Die Änderung kann zum Beispiel das Hinzufügen von einem oder mehreren Dokumenten zu dem Satz von Dokumenten, das Entfernen von einem oder mehreren Dokumenten des Satzes von Dokumenten und/oder das Ändern des Inhalts von einem oder mehreren Dokumenten des Satzes von Dokumenten aufweisen. Wenn sich der Satz von Dokumenten geändert hat, können die Schritte 300 bis 308 wiederholt werden, um einen neuen invertierten Index zu erzeugen und den Datenspeicher mit dem neuen festgestellten Satz von Kandidatentoken zu aktualisieren. Wenn sich der Satz von Dokumenten nicht geändert hat, kann der zuletzt bereitgestellte oder erzeugte Satz von Kandidatentoken beibehalten werden.
  • 4 ist ein Ablaufplan eines Verfahrens zum Schutz von sensiblen Informationen in Dokumenten gemäß einem Beispiel des vorliegenden Gegenstands. Zum Zweck der Erklärung kann das in 4 beschriebene Verfahren in dem in 1 veranschaulichten System ausgeführt werden, es ist jedoch nicht auf diese Ausführung beschränkt. Das Verfahren von 4 kann zum Beispiel von dem Dokumentabrufsystem 101 durchgeführt werden.
  • Im Schritt 400 kann ein Satz von Kandidatentoken bereitgestellt werden. Bei dem Satz von Kandidatentoken handelt es sich um Token, die möglicherweise sensible Informationen darstellen können. In einem Beispiel kann der Satz von Kandidatentoken unter Verwendung des Verfahrens von 3 bereitgestellt werden, z.B. kann der aktuelle Inhalt des Datenspeichers den im Schritt 400 bereitgestellten Satz von Kandidatentoken aufweisen. In einem weiteren Beispiel kann der Satz von Kandidatentoken von einem oder mehreren Benutzern definiert werden, z.B. können der eine oder die mehreren Benutzer mit dem Satz von Dokumenten 108 aufgefordert werden, die Kandidatentoken bereitzustellen, die möglicherweise sensible Informationen aufweisen können, und der Satz von Kandidatentoken kann von dem einen oder den mehreren Benutzern an dem Dokumentabrufsystem empfangen werden. Die Schritte 409 bis 421 sind jeweils die Schritte 209 bis 221 von 2. Die Schritte 409 bis 421 können durchgeführt werden, indem der Inhalt des Datenspeichers gelesen wird. Da der Inhalt des Datenspeichers durch ein unabhängiges Verfahren, z.B. von 3, bereitgestellt wird, kann sich der bereitgestellte Satz von Kandidatentoken des Schritts 400 im Laufe der Zeit ändern.
  • 5 ist ein Ablaufplan eines Verfahrens zum Schutz von sensiblen Informationen in Dokumenten gemäß einem Beispiel des vorliegenden Gegenstands. Zum Zweck der Erklärung kann das in 5 beschriebene Verfahren in dem in 1 veranschaulichten System ausgeführt werden, ist jedoch nicht auf diese Ausführung beschränkt. Das Verfahren von 5 kann zum Beispiel von dem Dokumentabrufsystem 101 durchgeführt werden.
  • Das Verfahren von 5 ist ähnlich dem Verfahren von 4, wobei die Schritte 409 bis 421 für jede weitere empfangene Anforderung unter Verwendung des im Schritt 400 bereitgestellten Satzes von Kandidatentoken wiederholt werden. Zum Beispiel kann der aktuelle Dateninhalt des Datenspeichers, der durch das Verfahren von 3 gefüllt wird, in jeder Iteration verwendet werden.
  • 6 stellt ein Blockschaltbild von Einheiten innerhalb eines Systems gemäß den beispielhaften Ausführungsformen dar. Es ist darauf hinzuweisen, dass 6 lediglich eine einzelne Ausführung veranschaulicht und keine Einschränkungen in Bezug auf die Umgebungen bedeutet, in denen verschiedene Ausführungsformen ausgeführt werden können. An der dargestellten Umgebung können viele Änderungen vorgenommen werden.
  • Zu hierin verwendeten Einheiten können ein oder mehrere Prozessoren 02, ein oder mehrere durch einen Computer lesbare RAMs 04, ein oder mehrere durch einen Computer lesbare ROMs 06, ein oder mehrere durch einen Computer lesbare Speichermedien 08, Einheitentreiber 12, ein(e) Schreib-/Lese-Laufwerk oder -Schnittstelle 14, ein(e) Netzadapter oder Schnittstelle 16 gehören, die alle über eine Übertragungsstruktur 18 verbunden sind. Die Übertragungsstruktur 18 kann mit einer beliebigen Architektur ausgeführt sein, die dafür ausgelegt ist, Daten und/oder Steuerinformationen zwischen Prozessoren (wie beispielsweise Mikroprozessoren, Übertragungs- und Netzwerkprozessoren usw.), einem Systemspeicher, peripheren Einheiten und beliebigen weiteren Hardware-Komponenten innerhalb eines Systems zu übergeben.
  • Ein oder mehrere Betriebssysteme 10 und ein oder mehrere Anwendungsprogramme 11 sind auf einem oder mehreren der durch einen Computer lesbaren Speichermedien 08 zur Ausführung durch einen oder mehrere der Prozessoren 02 über einen oder mehrere der jeweiligen RAMs 04 (zu denen üblicherweise ein Cachespeicher gehört) gespeichert. In der veranschaulichten Ausführungsform kann jedes der durch einen Computer lesbaren Speichermedien 08 eine Magnetplattenspeichereinheit eines internen Festplattenlaufwerks, ein CD-ROM, eine DVD, ein Speicher-Stick, ein Magnetband, eine Magnetplatte, eine optische Platte, eine Halbleiterspeichereinheit wie beispielsweise ein RAM, ROM, EPROM, ein Flash-Speicher oder eine beliebige andere durch einen Computer lesbare, physische Speichereinheit sein, die ein Computerprogramm und digitale Informationen speichern kann.
  • Zu hierin verwendeten Einheiten können auch ein(e) RW-Laufwerk oder - Schnittstelle 14 gehören, um von einem oder mehreren durch einen Computer lesbaren Wechselspeichermedien 26 zu lesen und darauf zu schreiben. Die Anwendungsprogramme 11 auf den Einheiten können auf einem oder mehreren der durch einen Computer lesbaren Wechselspeichermedien 26 gespeichert sein, die über das/die jeweilige RW-Laufwerk oder - Schnittstelle 14 gelesen und in die jeweiligen durch einen Computer lesbaren Speichermedien 08 geladen werden.
  • Zu hierin verwendeten Einheiten können auch ein(e) Netzadapter oder Netzschnittstelle 16 wie beispielsweise eine TCP/IP-Adapterkarte oder ein Drahtloskommunikationsadapter (wie beispielsweise ein 4G-Drahtloskommunikationsadapter, der die OFDMA-Technologie verwendet) gehören. Die Anwendungsprogramme 11 auf den Datenverarbeitungseinheiten können von einem externen Computer oder einer externen Speichereinheit über ein Netzwerk (zum Beispiel das Internet, ein lokales Netz oder ein anderes Weitverkehrsnetz oder drahtloses Netz) und eine(n) Netzadapter oder Netzschnittstelle 16 in die Datenverarbeitungseinheit heruntergeladen werden. Von dem/der Netzadapter oder Netzschnittstelle 16 können die Programme auf die durch einen Computer lesbaren Speichermedien 08 geladen werden. Das Netzwerk kann Kupferkabel, Lichtwellenleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Rechner und/oder Edge-Server aufweisen.
  • Zu hierin verwendeten Einheiten können auch ein Bildschirm 20, eine Tastatur oder ein Ziffernblock 22 und eine Computermaus oder ein Touchpad 24 gehören. Die Einheitentreiber 12 sind über eine Schnittstelle mit dem Bildschirm 20 zur Bilderstellung, mit der Tastatur oder dem Ziffernblock 22, der Computermaus oder dem Touchpad 24 und/oder dem Bildschirm 20 zur Druckerfassung bei der Eingabe von alphanumerischen Zeichen und bei Benutzerauswahlmöglichkeiten verbunden. Die Einheitentreiber 12, das/die RW-Laufwerk oder -Schnittstelle 14 und der/die Netzadapter oder Netzschnittstelle 16 können Hardware und Software aufweisen (die auf den durch einen Computer lesbaren Speichermedien 08 und/oder dem ROM 06 gespeichert sind).
  • Die hierin beschriebenen Programme werden auf der Grundlage der Anwendung angegeben, für die sie in einer bestimmten Ausführungsform der beispielhaften Ausführungsformen ausgeführt werden. Es ist jedoch darauf hinzuweisen, dass jedwede bestimmte Programm-Nomenklatur hierin lediglich aus Gründen der Zweckmäßigkeit verwendet wird, und somit sollten die beispielhaften Ausführungsformen nicht auf eine ausschließliche Verwendung in einer bestimmten Anwendung, die von dieser Nomenklatur angegeben und/oder durch diese Nomenklatur stillschweigend vorausgesetzt wird, beschränkt sein.
  • Auf der Grundlage des Vorstehenden wurden ein Computersystem, ein Verfahren und ein Computerprogrammprodukt offenbart. Jedoch können zahlreiche Änderungen und Ersetzungen vorgenommen werden, ohne vom Umfang der beispielhaften Ausführungsformen abzuweichen. Daher wurden die beispielhaften Ausführungsformen als Beispiel und nicht als Einschränkung offenbart.
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing umfasst. Stattdessen können Ausführungsformen gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften umfassen, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle.
  • Bei den Eigenschaften handelt es sich um die folgenden:
    • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Nutzung von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die folgenden:
    • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (laaS): Die dem Nutzer bereitgestellte Funktion besteht darin, das Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die folgenden:
    • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten umfasst.
  • Unter Bezugnahme auf 7 ist die veranschaulichende Cloud-Computing-Umgebung 50 dargestellt Wie gezeigt ist, umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 40, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie beispielsweise ein elektronischer Assistent (PDA, personal digital assistant) oder ein Mobiltelefon 54A, ein Desktop-Computer 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computer-System 54N Daten austauschen können. Die Knoten 40 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 7 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 40 und die Cloud-Computing-Umgebung 50 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 8 ist ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
    • Eine Hardware- und Softwareschicht 60 umfasst Hardware- und Softwarekomponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 61; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke sowie Netzwerkkomponenten 66. In einigen Ausführungsformen umfassen Softwarekomponenten eine Netzwerk-Anwendungsserver-Software 67 und Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • In einem Beispiel kann eine Verwaltungsschicht 80 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 82 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 84 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 85 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 90 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 91; Software-Entwicklung und Lebenszyklusverwaltung 92; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 93; Datenanalytikverarbeitung 94; Transaktionsverarbeitung 95; und Maskierung von sensiblen Informationen 96.
  • Bei den beispielhaften Ausführungsformen kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen Integrationsstufe technischer Details handeln. Das Computerprogrammprodukt kann ein durch einen Computer lesbares Speichermedium (oder -medien) mit durch einen Computer lesbaren Programmanweisungen darauf umfassen, um einen Prozessor dazu zu veranlassen, Aspekte der beispielhaften Ausführungsformen auszuführen.
  • Bei dem durch einen Computer lesbaren 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 durch einen Computer lesbaren 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 spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder erhabene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares 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 übermittelte elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren 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 aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der beispielhaften Ausführungsformen kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, zustandssetzende Daten, Konfigurationsdaten für eine integrierte Schaltung 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 prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen 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 Gatter-Anordnungen (FPGA, field-programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der beispielhaften Ausführungsformen durchzuführen.
  • Aspekte der beispielhaften Ausführungsformen sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den beispielhaften Ausführungsformen beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren 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 durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren 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 einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Der Ablaufplan und die Blockschaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen beispielhaften Ausführungsformen. In diesem Zusammenhang kann jeder Block in dem Ablaufplan oder in den Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweist. In einigen alternativen Ausführungen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den FIGUREN gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit weitgehend gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.

Claims (12)

  1. Durch einen Computer ausgeführtes Verfahren zum Schutz von sensiblen Informationen in Dokumenten, das umfasst: Bereitstellen eines invertierten Textindex für einen Satz von Dokumenten; Verwenden des invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines Indextokens des invertierten Textindex; Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines Satzes von Kandidatentoken, die sensible Informationen enthalten können; Entnehmen von Metadaten aus dem invertierten Textindex, die den Satz von Kandidatentoken beschreiben, wobei die entnommenen Metadaten mindestens einen Tokentyp des Indextokens und eine Dokumentkennung eines Dokuments, welches das Indextoken enthält, aufweisen; Zuordnen des Satzes von Kandidatentoken zu jeweiligen Tokenmetadaten, wobei die Tokenmetadaten des Tokens die entnommenen Metadaten des Tokens aufweisen; Empfangen einer Anforderung von mindestens einem Dokument; Zerlegen des mindestens einen Dokuments in Token, was ein oder mehrere Dokumenttoken ergibt; Vergleichen des einen oder der mehreren Dokumenttoken mit einem Satz von Kandidatentoken; Auswählen eines Satzes von zu maskierenden Dokumenttoken auf der Grundlage des Vergleichs; Auswählen von mindestens einem Teil des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist; Maskieren des mindestens einen Teils des Satzes von Dokumenttoken in dem einen oder den mehreren Dokumenten, was ein oder mehrere maskierte Dokumente ergibt; und Bereitstellen des einen oder der mehreren maskierten Dokumente.
  2. Verfahren nach Anspruch 1, das des Weiteren umfasst: Feststellen von Themenmetadaten des Satzes von Kandidatentoken, wobei die Themenmetadaten des Satzes von Kandidatentoken ein Thema des Satzes von Kandidatentoken oder ein Thema eines Dokuments aufweisen, das den Satz von Kandidatentoken enthält, wobei die Tokenmetadaten des Tokens des Weiteren die Themenmetadaten aufweisen.
  3. Verfahren nach Anspruch 2, das des Weiteren umfasst: Feststellen einer Tokenkategorie eines jeden Tokens des Satzes von Kandidatentoken; Eingeben der Tokenkategorien in ein Informations-Governance-Tool; und Empfangen der Themenmetadaten als Ausgabe.
  4. Verfahren nach Anspruch 1, wobei: das statistische Maß des Indextokens eines oder mehrere von einer Anzahl von Dokumenten des Satzes von Dokumenten, die das Indextoken enthalten, eine Häufigkeit des Vorkommens des Indextokens in dem Satz von Dokumenten oder eine Häufigkeit des Vorkommens eines Tokentyps des Indextokens in dem Satz von Dokumenten aufweist; und ein Auswählen des Satzes von Kandidatentoken ein Vergleichen des statistischen Maßes mit einem vordefinierten Schwellenwert aufweist.
  5. Verfahren nach Anspruch 4, wobei der Tokentyp einen oder mehrere eines Texttyps oder eines Zahlentyps aufweist.
  6. Verfahren nach Anspruch 1, das des Weiteren umfasst: Speichern des Satzes von Kandidatentoken zusammen mit den Tokenmetadaten in einem Speichersystem; Verwenden eines aktualisierten invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines aktualisierten Indextokens des aktualisierten invertierten Textindex; Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines aktualisierten Satzes von Kandidatentoken, die sensible Informationen enthalten können; Entnehmen von aktualisierten Metadaten aus dem aktualisierten invertierten Textindex, die den aktualisierten Satz von Kandidatentoken beschreiben, wobei die entnommenen aktualisierten Metadaten mindestens einen Tokentyp des aktualisierten Indextokens und eine Dokumentkennung eines Dokuments, welches das aktualisierte Indextoken enthält, aufweisen; und entsprechendes Aktualisieren des Speichersystems, wobei das aktualisierte Speichersystem zum Auswählen von aktualisieren Dokumenttoken, die maskiert werden, verwendet wird.
  7. Verfahren nach Anspruch 1, wobei: ein Auswählen des mindestens einen Teils des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist, ein Ausführen eines Klassifikators auf den Tokenmetadaten und ein Klassifizieren des Satzes von Dokumenttoken als sensible oder nicht sensible Token aufweist; und die Auswahl auf der Grundlage der Klassifikation durchgeführt wird.
  8. Verfahren nach Anspruch 1, das des Weiteren umfasst: Feststellen einer durch einen Inhalt des angeforderten Dokuments dargestellten Domäne, wobei der Satz von Dokumenten die festgestellte Domäne darstellt und das angeforderte Dokument ausschließt.
  9. Verfahren nach Anspruch 1, wobei der Satz von Dokumenten das angeforderte Dokument aufweist.
  10. Verfahren nach Anspruch 1, wobei das angeforderte Dokument ein unstrukturiertes Dokument ist.
  11. Computerprogrammprodukt zum Schutz von sensiblen Informationen in Dokumenten, wobei das Computerprogrammprodukt aufweist: ein oder mehrere nicht flüchtige, durch einen Computer lesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren nicht flüchtigen, durch einen Computer lesbaren Speichermedien gespeichert sind, die ein Verfahren durchführen können, wobei das Verfahren umfasst: Bereitstellen eines invertierten Textindex für einen Satz von Dokumenten; Verwenden des invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines Indextokens des invertierten Textindex; Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines Satzes von Kandidatentoken, die sensible Informationen enthalten können; Entnehmen von Metadaten aus dem invertierten Textindex, die den Satz von Kandidatentoken beschreiben, wobei die entnommenen Metadaten mindestens einen Tokentyp des Indextokens und eine Dokumentkennung eines Dokuments, welches das Indextoken enthält, aufweisen; Zuordnen des Satzes von Kandidatentoken zu jeweiligen Tokenmetadaten, wobei die Tokenmetadaten des Tokens die entnommenen Metadaten des Tokens aufweisen; Empfangen einer Anforderung von mindestens einem Dokument; Zerlegen des mindestens einen Dokuments in Token, was ein oder mehrere Dokumenttoken ergibt; Vergleichen des einen oder der mehreren Dokumenttoken mit dem Satz von Kandidatentoken; Auswählen eines Satzes von zu maskierenden Dokumenttoken auf der Grundlage des Vergleichs; Auswählen von mindestens einem Teil des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist; Maskieren des mindestens einen Teils des Satzes von Dokumenttoken in dem einen oder den mehreren Dokumenten, was ein oder mehrere maskierte Dokumente ergibt; und Bereitstellen des einen oder der mehreren maskierten Dokumente.
  12. Computersystem zum Schutz von sensiblen Informationen in Dokumenten, wobei das Computersystem aufweist: einen oder mehrere Computerprozessoren, ein oder mehrere durch einen Computer lesbare Speichermedien und auf dem einen oder den mehreren der durch einen Computer lesbaren Speichermedien gespeicherte Programmanweisungen zur Ausführung von mindestens einem des einen oder der mehreren Prozessoren, der/die ein Verfahren durchführen kann/können, wobei das Verfahren umfasst: Bereitstellen eines invertierten Textindex für einen Satz von Dokumenten; Verwenden des invertierten Textindex zum Auswerten von einem oder mehreren statistischen Maßen eines Indextokens des invertierten Textindex; Verwenden des einen oder der mehreren statistischen Maße zum Auswählen eines Satzes von Kandidatentoken, die sensible Informationen enthalten können; Entnehmen von Metadaten aus dem invertierten Textindex, die den Satz von Kandidatentoken beschreiben, wobei die entnommenen Metadaten mindestens einen Tokentyp des Indextokens und eine Dokumentkennung eines Dokuments, welches das Indextoken enthält, aufweisen; Zuordnen des Satzes von Kandidatentoken zu jeweiligen Tokenmetadaten, wobei die Tokenmetadaten des Tokens die entnommenen Metadaten des Tokens aufweisen; Empfangen einer Anforderung von mindestens einem Dokument; Zerlegen des mindestens einen Dokuments in Token, was ein oder mehrere Dokumenttoken ergibt; Vergleichen des einen oder der mehreren Dokumenttoken mit dem Satz von Kandidatentoken; Auswählen eines Satzes von zu maskierenden Dokumenttoken auf der Grundlage des Vergleichs; Auswählen von mindestens einem Teil des Satzes von Dokumenttoken, der gemäß den zugehörigen Tokenmetadaten sensible Informationen aufweist; Maskieren des mindestens einen Teils des Satzes von Dokumenttoken in dem einen oder den mehreren Dokumenten, was ein oder mehrere maskierte Dokumente ergibt; und Bereitstellen des einen oder der mehreren maskierten Dokumente.
DE102021123058.6A 2020-10-19 2021-09-07 Maskieren von sensiblen informationen in einem dokument Pending DE102021123058A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/073,436 2020-10-19
US17/073,436 US20220123935A1 (en) 2020-10-19 2020-10-19 Masking sensitive information in a document

Publications (1)

Publication Number Publication Date
DE102021123058A1 true DE102021123058A1 (de) 2022-04-21

Family

ID=78497856

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021123058.6A Pending DE102021123058A1 (de) 2020-10-19 2021-09-07 Maskieren von sensiblen informationen in einem dokument

Country Status (5)

Country Link
US (1) US20220123935A1 (de)
JP (1) JP2022067087A (de)
CN (1) CN114386085A (de)
DE (1) DE102021123058A1 (de)
GB (1) GB2600823A (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755445B2 (en) * 2021-02-17 2023-09-12 Microsoft Technology Licensing, Llc Distributed virtual data tank for cross service quota management
US20220374345A1 (en) * 2021-05-24 2022-11-24 Infor (Us), Llc Techniques for similarity determination across software testing configuration data entities

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8179556B2 (en) * 2007-03-26 2012-05-15 Xerox Corporation Masking of text in document reproduction
US7908279B1 (en) * 2007-05-25 2011-03-15 Amazon Technologies, Inc. Filtering invalid tokens from a document using high IDF token filtering
US9489376B2 (en) * 2013-01-02 2016-11-08 International Business Machines Corporation Identifying confidential data in a data item by comparing the data item to similar data items from alternative sources
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
JP7009802B2 (ja) * 2017-07-12 2022-01-26 富士フイルムビジネスイノベーション株式会社 文書管理装置、文書管理システム及びプログラム
US20210303791A1 (en) * 2018-10-10 2021-09-30 Koninklijke Philips N.V. Free text de-identification

Also Published As

Publication number Publication date
GB2600823A (en) 2022-05-11
GB202113984D0 (en) 2021-11-17
CN114386085A (zh) 2022-04-22
JP2022067087A (ja) 2022-05-02
US20220123935A1 (en) 2022-04-21

Similar Documents

Publication Publication Date Title
DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
DE112018001876T5 (de) Adaptive beurteilung von metabeziehungen in semantischen graphen
DE112020001688B4 (de) Richtlinienbasiertes auslösen einer überarbeitung von zugriffssteuerungsinformationen
DE112016003626T5 (de) Natürlichsprachliche Schnittstelle zu Datenbanken
DE112019003042B4 (de) Erkennung von verdächtigen aktivitäten in computernetzwerken
DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
DE112018005167T5 (de) Aktualisieren von trainingsdaten
DE112012005037T5 (de) Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds
DE112012005032T5 (de) Entfernen der Datenremanenz in deduplizierten Speicher-Clouds
DE112018005616T5 (de) Blockweise extraktion von dokumentmetadaten
DE112019001433T5 (de) Datenanonymisierung
DE112021004689T5 (de) Kontextbasierte risikobeurteilung einer schwachstelle in datenverarbeitungsressourcen
DE112018002266T5 (de) Kognitives Datenfiltern für Speicherumgebungen
DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
DE102021123135A1 (de) Leistungs- und upgrade-verwaltung für anlagegüter mit hilfe von digitalen zwillingen
DE112020000891T5 (de) Erzeugung von nativem code für cloud-services
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112021005364T5 (de) Abwehr von gezielten datenbankangriffen durch dynamische generierung von honeypot-datenbankantworten
DE102021131418A1 (de) Dedizierte registerdatei mit begrenzungsinformationen zum schützen vor speicherreferenzen ausserhalb der begrenzungen
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112020004806T5 (de) Cluster-sicherheit auf der grundlage von inhalten virtueller maschinen
DE112021003031T5 (de) Archivieren von nur-beschleuniger-datenbanktabellen
DE112021000621T5 (de) Primärschlüssel mit mehreren werten für eine mehrzahl von eindeutigen kennungen von entitäten

Legal Events

Date Code Title Description
R012 Request for examination validly filed