DE102016102945A1 - Code-Analyse zum Bereitstellen von Datenschutz in ETL-Systemen - Google Patents

Code-Analyse zum Bereitstellen von Datenschutz in ETL-Systemen

Info

Publication number
DE102016102945A1
DE102016102945A1 DE201610102945 DE102016102945A DE102016102945A1 DE 102016102945 A1 DE102016102945 A1 DE 102016102945A1 DE 201610102945 DE201610102945 DE 201610102945 DE 102016102945 A DE102016102945 A DE 102016102945A DE 102016102945 A1 DE102016102945 A1 DE 102016102945A1
Authority
DE
Grant status
Application
Patent type
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
DE201610102945
Other languages
English (en)
Inventor
Ivan M. Milman
Martin Oberhofer
Yannick Saillet
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

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for supporting authentication of entities communicating through a packet data network
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/30Information retrieval; Database structures therefor ; File system structures therefor
    • G06F17/30286Information retrieval; Database structures therefor ; File system structures therefor in structured data stores
    • G06F17/30557Details of integrating or interfacing systems involving at least one database management system
    • G06F17/30563Details for extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K999/00PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS dummy group
    • H05K999/99PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS dummy group dummy group

Abstract

Bei einem Ansatz zum Bereitstellen von Datenschutz in Informationsintegrationssystemen empfängt ein während einer Kompilierung eines Informationsintegrationsvorgangs durchgeführtes Verfahren Informationen zu einer Datenflussstruktur des auszuführenden Informationsintegrationsvorgangs, wobei die Datenflussstruktur mindestens ein Quellsystem, eine oder mehrere Zieleinheiten und mindestens einen Operator zum Ändern von Ausgabedaten aufweist, die durch das Quellsystem bereitgestellt werden. Das Verfahren ermittelt Datenausstiegspunkte, an denen Ausgabedaten den Zieleinheiten bereitgestellt werden, und ermittelt mindestens eine nicht vertrauenswürdige Zieleinheit. Für jede nicht vertrauenswürdige Zieleinheit ermittelt das Verfahren, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, und ändert – wenn dies der Fall ist – den Informationsintegrationsvorgang, indem unmittelbar vor einem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.

Description

  • HINTERGRUND
  • [0001]
    Die Erfindung bezieht sich auf Informationsintegrationsumgebungen. Im Besonderen bezieht sich die Erfindung auf ein Verfahren zum Bereitstellen von Datenschutz in Informationsintegrationsumgebungen.
  • [0002]
    Geschäftsinformationen wie z. B. Kunden-, Patienten- oder Mitarbeiterinformationen können in vielen Ländern Datenschutzregelungen unterliegen (z. B. dem deutschen Bundesdatenschutzgesetz oder der EU-Richtlinie 95/46/EC zum Schutz von personenbezogenen Daten) und müssen gegen unberechtigten Zugriff geschützt werden. Andere Datenobjekte sind unter Umstände aus Wettbewerbsgründen sensibel und sollten daher gegen unberechtigten Zugriff geschützt werden. Dies sollte auch während einer Informationsintegrationsverarbeitung der Fall sein, ist jedoch derzeit nicht gegeben, so dass sensible Daten aufgrund von unberechtigtem Zugriff gefährdet sind.
  • [0003]
    Bei der Informationsintegrationsverarbeitung wird ein Satz von Daten aus einem oder mehreren Quellsystemen extrahiert, unter Verwendung von einem oder mehreren Operatoren umgewandelt und einer oder mehreren Zieleinheiten bereitgestellt. Derartige Informationsintegrationssysteme sind auch als „Extract Transform Load”-Systeme (ETL-Systeme) bekannt. ETL-Systeme werden häufig verwendet, um Daten aus mehreren Anwendungen zu integrieren. So kann ein Kostenrechnungssystem z. B. Daten aus Gehaltsabrechnungs-, Vertriebs- und Einkaufsquellsystemen kombinieren. Die oben erwähnten Datenschutzregelungen müssen auch während der Informationsintegrationsverarbeitung berücksichtigt werden.
  • [0004]
    Unvorteilhafterweise weisen Informationsintegrationssysteme wie z. B. ETL-Systeme keine wirksamen Instrumente zum Umsetzen der Datenschutzregelungen auf.
  • KURZDARSTELLUNG
  • [0005]
    Ein Ziel von Ausführungsformen der Erfindung besteht darin, ein Verfahren zum Umsetzen eines wirksamen Datenschutzes in Informationsintegrationssystemen bereitzustellen. Bevorzugte Ausführungsformen werden in den Unteransprüchen dargelegt. Wenn nicht ausdrücklich anderweitig angegeben, können Ausführungsformen der Erfindung frei miteinander kombiniert werden.
  • [0006]
    Gemäß einem ersten Aspekt wird ein Verfahren zum Bereitstellen von Datenschutz in Informationsintegrationssystemen bereitgestellt. Das Verfahren führt während einer Kompilierung eines Informationsintegrationsvorgangs die folgenden Schritte durch:
    • – Empfangen von Informationen zu einer Datenflussstruktur des auszuführenden Informationsintegrationsvorgangs, wobei die Datenflussstruktur mindestens ein Quellsystem, mindestens eine Zieleinheit und mindestens einen Operator zum Ändern oder Umwandeln von Daten aufweist, die durch das Quellsystem bereitgestellt werden;
    • – Ermitteln von mindestens einem Datenausstiegspunkt, an dem Ausgabedaten einer Zieleinheit bereitgestellt werden;
    • – Ermitteln von mindestens einer nicht vertrauenswürdigen Zieleinheit;
    • – für jede nicht vertrauenswürdige Zieleinheit Ermitteln, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, sensible Informationen aufweist;
    • – wenn mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die einer nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, sensible Informationen aufweist, entweder Markieren des Informationsintegrationsvorgangs, um eine Ausführung des Informationsintegrationsvorgangs zu deaktivieren, oder Ändern des Informationsintegrationsvorgangs, indem unmittelbar vor dem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.
  • [0007]
    Vorteilhafterweise werden die Datenfelder auf unverschlüsselte Weise durch die Datenflussstruktur übertragen. Auf diese Weise sind die Datenfelder in einer nicht verschlüsselten Form verfügbar und können somit durch die betreffenden Operatoren, die in der Datenflussstruktur enthalten sind, geändert oder umgewandelt werden. Die sensiblen Informationen sind nur an Datenausstiegspunkten maskiert, an denen sensible Informationen die gesicherte Datenflussstruktur in Richtung von nicht vertrauenswürdigen Zieleinheiten verlassen, z. B. von Zieleinheiten, in denen Daten auf unverschlüsselte Weise gespeichert werden.
  • [0008]
    Gemäß weiteren Ausführungsformen wird die mindestens eine nicht vertrauenswürdige Zieleinheit auf Grundlage von Metadaten ermittelt, die mit der betreffenden Zieleinheit korreliert werden. So kann das Informationsintegrationssystem z. B. ein Metadaten-Repository zum Speichern von Metadaten aufweisen, die mit den Zieleinheiten korreliert werden. Die Metadaten können die Vertrauensstufe einer betreffenden Zieleinheit angeben. So kann das Informationsintegrationssystem in der Lage sein, die Zieleinheiten in vertrauenswürdige und nicht vertrauenswürdige Zieleinheiten einzustufen.
  • [0009]
    Gemäß weiteren Ausführungsformen werden nicht vertrauenswürdige Zieleinheiten auf Grundlage der Identifizierungsdaten des Benutzers ermittelt, dessen Berechtigung in dem Informationsintegrationssystem und/oder der Zieleinheit geprüft wurde. Zieleinheiten können auch durch eine Benutzerschnittstelle gebildet werden, die Daten in einer Datenanzeige-Anwendung anzeigt (z. B. einer Datenanzeige-Option eines Persistenzkonnektors wie beispielsweise einer Datenbank-Konnektor-Stage oder einer Datei-Stage). Administratoren oder Entwicklern des Informationsintegrationssystems können auf diese Weise sensible Informationen in übersichtlicher Form angezeigt werden. Die Vertrauensstufe einer derartigen Zieleinheit kann von dem Benutzer abhängig sein, dessen Berechtigung geprüft wurde. Um eine Verletzung von Datenschutzregelungen zu vermeiden, wird die Vertrauensstufe der Zieleinheit auf Grundlage der Vertrauensstufe des Benutzers ermittelt, dessen Berechtigung geprüft wurde. Auf diese Weise wird auch in Entwicklungsumgebungen des Informationsintegrationssystems ein Datenschutz erzielt.
  • [0010]
    Gemäß weiteren Ausführungsformen wird jedes Datenfeld, das durch ein Quellsystem oder durch einen Operator bereitgestellt wird, auf sensible Informationen analysiert, um zu ermitteln, ob die aus dem Datenfeld erhaltenen Ausgabedaten sensible Informationen aufweisen. Dabei kann das einen Datenschutz bereitstellende Modul während des Analysierens zurückgehen und analysieren, woher die Ausgabedaten kommen, um daraus Informationen zur Sensibilität von Daten abzuleiten.
  • [0011]
    Gemäß weiteren Ausführungsformen erfolgt ein Einstufen von Ausgabedaten oder eines Felds von Daten, die durch ein Quellsystem oder durch einen Operator bereitgestellt werden, als sensible Informationen auf Grundlage einer Analyse von Metadaten, die in Zusammenhang mit dem betreffenden Datenfeld bereitgestellt werden. So kann das Informationsintegrationssystem z. B. ein Metadaten-Repository zum Speichern von Metadaten aufweisen, die mit jedem Datenfeld korreliert werden. Die Metadaten können die Sensibilitätsstufe der Informationen angeben, die in dem Datenfeld enthalten sind. So kann das Informationsintegrationssystem in der Lage sein, die Datenfelder in sensible und nicht sensible Datenfelder einzustufen.
  • [0012]
    Die Einstufung von Datenfeldern in sensible und nicht sensible Datenfelder und die Einstufung von Zieleinheiten in vertrauenswürdige und nicht vertrauenswürdige Zieleinheiten kann auf Grundlage von Datenschutzrichtlinien durchgeführt werden, die in einem Repository wie z. B. dem Metadaten-Repository gespeichert sind. Die Einstufungen können von der Striktheit einer betreffenden Datenschutzrichtlinie abhängig sein. So kann bei einer schwachen Datenschutzrichtlinie ein Datenfeld z. B. als nicht sensibel eingestuft werden, während bei einer strikteren Datenschutzrichtlinie dasselbe Datenfeld als sensibel eingestuft würde.
  • [0013]
    Gemäß weiteren Ausführungsformen erfolgt ein Einstufen von Ausgabedaten oder eines Felds von Daten, die durch ein Quellsystem oder durch einen Operator bereitgestellt werden, als sensible Informationen auf Grundlage einer Textanalyse oder auf Grundlage von Dateneinstufungsalgorithmen, die ein Datenfeld auf Grundlage einer Dateneinstufung als sensible Informationen kennzeichnen. Anhand einer Textanalyse werden die in einem Datenfeld enthaltenen Informationen auf ein spezifisches Muster analysiert, um Informationen darüber zu erhalten, welche Art von Daten in dem betreffenden Datenfeld enthalten ist. Auf diese Weise können auch Datenfelder, die in dem Metadaten-Repository unter Umständen nicht aufgeführt sind, bezüglich einer Sensibilität von Informationen eingestuft werden.
  • [0014]
    Gemäß weiteren Ausführungsformen wird ein Ausgabedatenfeld oder ein Datenfeld, die durch einen Operator bereitgestellt wurden, auf Grundlage einer Kombination von mindestens zwei Datenfeldern erhalten, und das aus dieser Kombination resultierende Datenfeld wird abhängig von den kombinierten Datenfeldern als sensibel identifiziert. So kann z. B. ein Datenfeld, das nicht sensible Informationen aufweist, mit einem Datenfeld kombiniert werden, das sensible Informationen aufweist. Das durch dieses Kombinieren erhaltene Datenfeld kann ebenfalls sensibel sein. Gemäß einem weiteren Beispiel weist keines der beiden zu kombinierenden Datenfelder sensible Informationen auf, nach der Kombination kann jedoch das beide Informationen aufweisende Datenfeld sensibel sein (z. B. ein Name, der einer Kreditkartennummer zugehörig ist).
  • [0015]
    Gemäß weiteren Ausführungsformen wird ein Datenfeld, die durch einen Operator bereitgestellt werden, auf Grundlage des Operatortyps und/oder der Funktionalität des Operators als sensible Informationen identifiziert.
  • [0016]
    Gemäß weiteren Ausführungsformen wird nach einem Identifizieren eines Felds von Daten als sensible Informationen der Informationsintegrationsvorgang analysiert, um mindestens ein weiteres Datenfeld zu ermitteln, das identische Daten aufweist, und dieses weitere Datenfeld ebenfalls als sensible Informationen zu kennzeichnen. Auf diese Weise kann die Sensibilitätseinstufung von Datenfeldern beschleunigt und Verarbeitungsleistung zum Ermitteln der Sensibilitätsstufe gespart werden.
  • [0017]
    Gemäß weiteren Ausführungsformen wird die Zieleinheit, der das weitere Datenfeld (auch als sensible Daten aufweisend eingestuft) bereitgestellt wird, auf Grundlage von Metadaten, die der Zieleinheit bereitgestellt werden, und/oder auf Grundlage der Identifizierungsdaten des Benutzers, dessen Berechtigung in dem Informationsintegrationssystem und/oder der Zieleinheit geprüft wurde, als nicht vertrauenswürdige Zieleinheit eingestuft. Somit muss auch das weitere sensible Datenfeld durch einen Maskierungsoperator maskiert werden, um die sensiblen Informationen gegen unberechtigten Zugriff zu schützen.
  • [0018]
    Falls die einer Zieleinheit zugehörigen Zieleinheitsinformationen parametriert werden und zur Kompilierzeit bekannt ist, dass durch die Zieleinheit sensible Daten empfangen werden, wird gemäß weiteren Ausführungsformen die Parametrisierung deaktiviert. So kann anstelle eines Parameters, der während der Laufzeit des Informationsintegrationsvorgangs empfangen wird, z. B. ein Dummy-Parameter verwendet werden, um ein Weiterleiten sensibler Informationen an eine nicht vertrauenswürdige Zieleinheit zu vermeiden.
  • [0019]
    Falls die einer Zieleinheit zugehörigen Zieleinheitsinformationen parametrisiert werden und zur Kompilierzeit bekannt ist, dass durch die Zieleinheit sensible Daten empfangen werden, kann gemäß weiteren Ausführungsformen ein verschachtelter Vorgang realisiert werden, um den Wert der parametrisierten Zieleinheitsinformationen zu beurteilen und zu ermitteln, ob die von der Zieleinheit bereitgestellten Informationen maskiert werden müssen. Auf diese Weise wird die Bereitstellung von Ausgabedaten an eine Zieleinheit, die durch ein Empfangen eines Parameters definiert ist, weiter unterstützt, ohne dass es zu einer wie auch immer gearteten Verletzung von Datenschutzregelungen kommt.
  • [0020]
    Gemäß weiteren Ausführungsformen ist der Maskierungsoperator so konfiguriert, dass er die sensiblen Informationen maskiert, indem die sensiblen Informationen entfernt werden oder indem die sensiblen Informationen durch einen Dummy-Wert ersetzt werden.
  • [0021]
    Gemäß weiteren Ausführungsformen werden die Daten von dem Quellsystem in unverschlüsselter Form über den mindestens einen Operator an die Zieleinheit übertragen. Somit können innerhalb der Datenflussstruktur des Informationsintegrationssystems alle Operatoren funktionieren, da die Daten nicht verschlüsselt sind. Die Datenschutzregelungen werden nur an Ausstiegspunkten der Datenflussstruktur umgesetzt, an denen sensible Informationen nicht vertrauenswürdigen Zieleinheiten bereitgestellt werden.
  • [0022]
    Gemäß einem zweiten Aspekt wird ein Datenverarbeitungssystem bereitgestellt, das eine Speichereinheit und eine Verarbeitungseinheit aufweist Das Datenverarbeitungssystem ist so konfiguriert, dass es einen Informationsintegrationsvorgang verarbeitet, wobei das Datenverarbeitungssystem des Weiteren konfiguriert ist, um:
    • – während einer Kompilierung des Informationsintegrationsvorgangs Informationen zu einer Datenflussstruktur des auszuführenden Informationsintegrationsvorgangs zu empfangen, wobei die Datenflussstruktur mindestens ein Quellsystem, mindestens eine Zieleinheit und mindestens einen Operator zum Ändern von Daten aufweist, die durch das Quellsystem bereitgestellt werden;
    • – während einer Kompilierung des Informationsintegrationsvorgangs mindestens einen Datenausstiegspunkt zu ermitteln, an dem Ausgabedaten einer Zieleinheit bereitgestellt werden;
    • – während einer Kompilierung des Informationsintegrationsvorgangs mindestens eine nicht vertrauenswürdige Zieleinheit zu ermitteln;
    • – während einer Kompilierung des Informationsintegrationsvorgangs für jede nicht vertrauenswürdige Zieleinheit zu ermitteln, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, sensible Informationen aufweist;
    • – wenn mindestens ein Feld, das in den Ausgabedaten enthalten ist, die einer nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, sensible Informationen aufweist, entweder den Informationsintegrationsvorgang zu markieren, um eine Ausführung des Informationsintegrationsvorgangs zu deaktivieren, oder den Informationsintegrationsvorgang zu ändern, indem unmittelbar vor dem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.
  • [0023]
    Gemäß einem dritten Aspekt wird ein computerlesbares Medium bereitgestellt. Das computerlesbare Medium weist darauf enthaltenen computerlesbaren Programmcode auf, der bei Ausführung durch einen Prozessor den Prozessor veranlasst, ein Verfahren wie oben beschrieben auszuführen.
  • [0024]
    Der Begriff „Zieleinheit”, wie er hier verwendet wird, erstreckt sich auf eine beliebige Hardware- oder Software-Einheit, die so konfiguriert sein kann, dass sie Daten, konkret Ausgabedaten, über einen Datenausstiegspunkt der Datenflussstruktur empfängt. Zieleinheiten können Datenbanken, Speichereinheiten, Benutzerschnittstellen, Protokolldateien oder anderweitige Mittel zum Bereitstellen von Daten an ein Datenverarbeitungssystem oder einen Informationsempfänger sein, ohne jedoch darauf beschränkt zu sein.
  • [0025]
    Der Begriff „Operator”, wie er hier verwendet wird, erstreckt sich auf eine beliebige Art von Funktion, die so gestaltet ist, dass sie Daten verarbeitet oder behandelt. Operatoren können JOIN-Operatoren, FILTER-Operatoren, TRANSFORM-Operatoren, SWITCH-Operatoren, COPY-Operatoren oder MODIFY-Operatoren sein, ohne jedoch darauf beschränkt zu sein.
  • [0026]
    Der Begriff „Ausgabedaten”, wie er hier verwendet wird, kann sich auf jede Art von Daten beziehen, welche die Datenflussstruktur in Richtung einer Zieleinheit verlassen. Anders ausgedrückt werden Ausgabedaten an einem Datenausstiegspunkt bereitgestellt, der sich am Ende der Datenflussstruktur unmittelbar vor der Zieleinheit befindet.
  • [0027]
    Der Begriff „sensible Informationen”, wie er hier verwendet wird, kann sich auf jede Art von Informationen beziehen, die gegen unberechtigten Zugriff auf Grundlage von Datenschutzrichtlinien geschützt werden müssen.
  • [0028]
    Der Begriff „nicht vertrauenswürdige Zieleinheit” oder „unsichere Zeiteinheit” wie er hier verwendet wird, kann sich auf jede Zieleinheit beziehen, die eine oder mehrere Datenschutzrichtlinien nicht erfüllt. Eine nicht vertrauenswürdige Zieleinheit kann z. B. eine Datenbank sein, in der Daten auf unverschlüsselte Art und Weise gespeichert sind.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • [0029]
    1 veranschaulicht auf schematische Weise eine als Beispiel dienende Datenflussstruktur eines Informationsintegrationssystems gemäß einer Ausführungsform der vorliegenden Erfindung;
  • [0030]
    2 veranschaulicht auf schematische Weise eine Informationsintegrationsumgebung, die eine Kompilierereinheit zum Bereitstellen von Datenschutz für sensible Informationen gemäß einer Ausführungsform der vorliegenden Erfindung enthält;
  • [0031]
    3 veranschaulicht auf schematische Weise eine als Beispiel dienende Datenflussstruktur eines Informationsintegrationssystems, die einen Datenmaskierungsoperator gemäß einer Ausführungsform der vorliegenden Erfindung enthält;
  • [0032]
    4 ist ein Blockschaubild eines als Beispiel dienenden Computersystems gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • [0033]
    Der Fachmann weiß, dass Aspekte der vorliegenden Offenbarung als ein System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Entsprechend können Aspekte der vorliegenden Offenbarung in Gestalt einer vollständig in Hardware realisierten Ausführungsform, einer vollständig in Software realisierten Ausführungsform (z. B. Firmware, residente Software, Mikrocode usw.) oder in Gestalt einer Ausführungsform vorliegen, die Software- und Hardware-Aspekte vereint, welche zusammenfassend als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Offenbarung in Gestalt eines Computerprogrammprodukts vorliegen, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, auf denen computerlesbarer Programmcode enthalten ist.
  • [0034]
    Die vorliegende Erfindung kann ein System, ein Verfahren und/oder ein Computerprogrammprodukt sein. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit darauf enthaltenen computerlesbaren Programmbefehlen beinhalten, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung durchzuführen.
  • [0035]
    Das computerlesbare Speichermedium kann eine physische Einheit sein, die Befehle zur Verwendung durch eine Befehlsausführungseinheit beibehalten und speichern kann. Das computerlesbare Speichermedium kann z. B. eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination der vorgenannten Einheiten sein, ohne jedoch darauf beschränkt zu sein. Eine nicht vollständige Liste konkreterer Beispiele des computerlesbaren Speichermediums beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren, programmierbaren Nur-Lese-Speicher (EPROM- oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren CD-ROM, eine DVD, einen Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie z. B. Lochkarten oder erhabene Strukturen in einer Rille mit darauf aufgezeichneten Befehlen sowie eine beliebige geeignete Kombination der vorgenannten Elemente. Ein computerlesbares Speichermedium wie es hier verwendet wird, sollte nicht so verstanden werden, als bestünde es an sich aus flüchtigen Signalen wie z. B. Funkwellen oder anderen, sich frei verbreitenden elektromagnetischen Wellen, elektromagnetischen Wellen, die sich durch einen Hohlleiter oder ein anderes Übertragungsmedium verbreiten (z. B. Lichtimpulse, die durch ein Lichtwellenkabel geleitet werden), oder elektrischen Signalen, die durch einen Draht übertragen werden.
  • [0036]
    Hier beschriebene computerlesbare Programmbefehle können über ein Netzwerk wie beispielsweise das Internet, ein lokales Netz (Local Area Network, LAN), ein Weitverkehrsnetz (Wide Area Network, WAN) und/oder ein drahtloses Netzwerk von einem computerlesbaren Speichermedium auf entsprechende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt computerlesbare Programmbefehle von dem Netzwerk und leitet die computerlesbaren Programmbefehle zur Speicherung auf einem computerlesbaren Speichermedium innerhalb der betreffenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • [0037]
    Bei computerlesbaren Programmbefehlen zum Durchführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Befehle, ISA-Befehle (Instruction-Set-Architecture), Maschinenbefehle, maschinenabhängige Befehle, Mikrocode, Firmware-Befehle, einen Zustand festlegende Daten oder aber entweder um Quellcode oder um Objektcode handeln, die in einer beliebigen Kombination von einer oder mehreren Programmiersprachen wie z. B. einer objektorientierten Programmiersprache wie Smalltalk, C++ oder dergleichen, sowie in herkömmlichen prozeduralen Programmiersprachen wie z. B. der Programmiersprache „C” oder ähnlichen Programmiersprachen geschrieben sind. Die computerlesbaren Programmbefehle 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 entfernt angeordneten Computer oder aber vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernt angeordnete Computer über eine beliebige Art von Netzwerk, unter anderem ein LAN oder ein WAN, mit dem Computer des Benutzers verbunden sein, oder die Verbindung kann mit einem externen Computer (z. B. über das Internet unter Verwendung eines Internet-Dienstanbieters) hergestellt werden. Bei manchen Ausführungsformen kann ein elektronischer Schaltkreis wie z. B. ein programmierbarer Logikschaltkreis, Field-Programmable Gate Arrays (FPGAs) oder Programmable Logic Arrays (PLAs) die computerlesbaren Programmbefehle ausführen, indem er Zustandsdaten der computerlesbaren Programmbefehle verwendet, um die elektronische Schaltung zu personalisieren und Aspekte der vorliegenden Erfindung durchzuführen.
  • [0038]
    Aspekte der vorliegenden Erfindung werden hier unter Bezugnahme auf Darstellungen von Ablaufplänen und/oder Blockschaubildern von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Dabei dürfte klar sein, dass jeder Block der Ablaufplan-Darstellungen und/oder Blockschaubilder sowie Kombinationen von Blöcken in den Ablaufplan-Darstellungen und/oder Blockschaubildern durch computerlesbare Programmbefehle realisiert werden kann/können.
  • [0039]
    Diese computerlesbaren Programmbefehle können einem Prozessor eines Universalcomputers, Spezialcomputers oder einer anderweitigen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Befehle, die über den Prozessor des Computers oder der anderweitigen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, mit dem die Funktionen/Handlungen realisiert werden können, die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegeben werden. Diese computerlesbaren Programmbefehle können auch auf einem computerlesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass das computerlesbare Speichermedium mit darauf gespeicherten Befehlen einen Herstellungsartikel aufweist, der Befehle enthält, welche Aspekte der in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktion/Handlung realisieren.
  • [0040]
    Die computerlesbaren Programmbefehle können zudem in einen Computer, eine anderweitige programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um zu veranlassen, dass eine Reihe von Betriebsschritten auf dem Computer, der anderweitigen programmierbaren Datenvorrichtung oder der anderen Einheit ausgeführt wird, so dass die Befehle, die auf dem Computer, der anderweitigen Datenverarbeitungsvorrichtung oder der anderen Einheit ausgeführt werden, die in dem Block bzw. den Blöcken des Ablaufplans und/oder des Blockschaubilds angegebenen Funktionen/Handlungen realisieren.
  • [0041]
    Der Ablaufplan und die Blockschaubilder in den Figuren stellen die Architektur, Funktionalität und den Betrieb möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung bereit. Somit kann jeder Block der Ablaufpläne oder Blockschaubilder ein Modul, Segment oder einen Teil von Befehlen darstellen, das/der ein oder mehrere ausführbare Befehle aufweist, mit denen sich die eine oder mehreren angegebenen logischen Funktionen realisieren lassen. Bei manchen alternativen Ausführungsformen können die in dem Block erwähnten Funktionen in einer anderen Reihenfolge als der in den Figuren genannten auftreten. So können zwei aufeinanderfolgend dargestellte Blöcke tatsächlich im Wesentlichen gleichzeitig stattfinden, oder die Blöcke können mitunter in umgekehrter Reihenfolge ausgeführt werden, wobei dies abhängig von der betreffenden Funktionalität ist. Zu erwähnen ist ebenfalls, dass jeder Block der Blockschaubilder und/oder der Ablaufplan-Darstellungen sowie Kombinationen von Blöcken in den Blockschaubildern und/oder den Ablaufplan-Darstellungen durch Spezialsysteme auf Grundlage von Hardware, welche die angegebenen Funktionen oder Handlungen oder Kombinationen hiervon ausführen, oder durch Kombinationen von Spezial-Hardware- und Computerbefehlen realisiert bzw. durchgeführt werden kann/können.
  • [0042]
    Die hier verwendete Begrifflichkeit dient lediglich zur Beschreibung bestimmter Ausführungsformen und ist nicht als Beschränkung der Erfindung gedacht. Im hier verwendeten Sinne sollen die Singularformen „ein/e/r” und ”der/die/das” auch die Pluralformen beinhalten, sofern der Kontext dies nicht eindeutig anderweitig vorgibt. Ebenso offensichtlich dürfte sein, dass die Verben „weist auf” und/oder „aufweisend” in dieser Patentschrift das Vorhandensein der genannten Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponenten angeben, ohne jedoch das Vorhandensein oder die Hinzufügung ein oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponente und/oder Gruppen derselben auszuschließen.
  • [0043]
    Die betreffenden Strukturen, Materialien, Handlungen und Äquivalente aller Mittel oder Schritte zusätzlich zu den Funktionselementen in den nachstehenden Ansprüchen sollen sämtliche Strukturen, Materialien oder Handlungen beinhalten, mit denen die Funktion in Verbindung mit anderen beanspruchten Elementen durchgeführt werden kann, wie sie hier ausdrücklich beansprucht sind.
  • [0044]
    1 veranschaulicht die Datenflussstruktur in einem Informationsintegrationssystem 1 auf Grundlage eines schematischen Blockschaubilds gemäß einer Ausführungsform der vorliegenden Erfindung. Die Datenflussstruktur weist einen Satz von Quellen auf, bei denen es sich gemäß der vorliegenden Ausführungsform um ein erstes Quellsystem S1 und um ein zweites Quellsystem S2 zum Bereitstellen von Daten wie beispielsweise Eingabedaten handelt, die in einer Datenbank gespeichert sind. Die Datenflussstruktur weist des Weiteren einen Satz von Operatoren Op1 bis Op6 auf. Die Operatoren Op1 bis Op6 können eine Datenumwandlungsstruktur bilden, um die von den Quellsystemen S1, S2 bereitgestellten Daten in Ausgabedaten umzuwandeln, die den Zieleinheiten T1 bis T6 bereitgestellt werden. Die Operatoren Op1 bis Op6 können gemäß einem Datenflussentwurf angeordnet sein, der in einem der Quellsysteme S1, S2 gespeichert ist. Der Datenflussentwurf definiert die Art von Operatoren Op1 bis Op6 und die Verbindungen zwischen den Operatoren Op1 bis Op6, um an dem Ausgang der Datenverarbeitungsstruktur geeignete Ausgabedaten zu erhalten. Die Datenverarbeitungsstruktur kann verschiedene Arten von Operatoren Op1 bis Op6 beinhalten, z. B. einen oder mehrere JOIN-Operatoren, FILTER-Operatoren, TRANSFORM-Operatoren, SWITCH-Operatoren und/oder MODIFY-Operatoren.
  • [0045]
    Die Datenumwandlungsstruktur kann eine baumartige Struktur aufweisen, um verschiedenen Zieleinheiten T1 bis T6 Ausgabedaten bereitzustellen, die von verschiedenen Zweigen des Baums erhalten wurden. Die Zieleinheiten T1 bis T6 können Daten-Repositorys des Informationsintegrationssystems sein (z. B. Arbeitsdatenträger eines ETL-Systems). Zusätzlich können die Zieleinheiten T1 bis T6 eine Datenanzeigeeinheit (vgl. Zieleinheit T1), einen Debugger (vgl. Zieleinheit T2), konkret einen interaktiven Debugger zum Beheben von Fehlern in Daten, die durch einen Operator Op1 bis Op6 bereitgestellt werden, oder eine Protokolleinheit (vgl. Zieleinheit T3) beinhalten. Die Datenanzeigeeinheit kann in dem Quellsystem S1, S2 enthalten sein, z. B. in einer Datenbank-Konnektor-Stage oder einer Datei-Stage, um Entwicklern oder Administratoren eine Benutzerschnittstelle zum Anzeigen von Daten bereitzustellen, die in dem Quellsystem S1, S2 in übersichtlicher Form gespeichert sind. Die oben erwähnten Debugger sind so konfiguriert, dass sie die Unterbrechung eines Teils einer Informationsintegrationslogik oder ETL-Logik während der Laufzeit ermöglichen, um die zu diesem Zeitpunkt im Hauptspeicher gespeicherten momentanen Datenwerte zu überprüfen. Zusätzlich kann die Datenflussstruktur eine Protokolleinheit als eine Zieleinheit T3 definieren. Falls während der Datenverarbeitung ein Fehler auftritt, können sensible Informationen durch die Protokolleinheit in Trace-Dateien geschrieben werden, um einem Administrator und/oder Entwickler Informationen zu dem aufgetretenen Fehler bereitzustellen. Anders ausgedrückt können die Zieleinheiten T1 bis T6 nicht nur Ziele, die in der üblichen Datenflussstruktur des Informationsintegrationssystems enthalten sind, sondern auch Benutzerschnittstellen (Debugging-Werkzeuge, ETL-Vorgangsdesigner, Vorgangsadministratoren usw.) und Protokolldateien des Informationsintegrationssystems selbst beinhalten.
  • [0046]
    Gemäß der vorliegenden Erfindung empfängt das Informationsintegrationssystem einen ersten Satz von Eingabedaten von dem ersten Quellsystem S1 und einen zweiten Satz von Eingabedaten von dem zweiten Quellsystem S2. Der erste und zweite Satz von Eingabedaten können durch einen JOIN-Operator OP1 empfangen werden, um den ersten und zweiten Satz von Eingabedaten zu einem einzigen Satz von Daten zu verknüpfen. Der erste Satz von Daten kann einen oder mehrere weitere Operatoren Op2, Op3 durchlaufen, z. B. einen FILTER-Operator Op2 und einen TRANSFORM-Operator Op3. Im Folgenden werden die durch die vorangegangenen Operatoren bereitgestellten Daten einem SWITCH-Operator Op4 bereitgestellt. Der SWITCH-Operator Op4 ist so gestaltet, dass er den einzigen Satz von Daten in mehrere Teilsätze von Daten aufteilt, wobei jeder Teilsatz von Daten einige oder alle Daten aufweist, die in dem einzigen Satz von Daten enthalten sind. Anders ausgedrückt wird die Datenflussstruktur anhand des SWITCH-Operators Op4 in mehrere Datenflusszweige aufgeteilt. Nach dem SWITCH-Operator können zusätzliche Operatoren Op5, Op6 vorhanden sein, die innerhalb der Datenflussstruktur bereitgestellt werden, um die durch den SWITCH-Operator bereitgestellten Daten weiter umzuwandeln. Dabei sollte erwähnt werden, dass die obige Anordnung von Operatoren lediglich ein Beispiel für eine Datenflussstruktur eines Informationsintegrationsvorgangs und nicht als Beschränkung der vorliegenden Erfindung zu betrachten ist.
  • [0047]
    Gemäß der vorliegenden Ausführungsform weist die Datenflussstruktur drei Zieleinheiten T1 bis T3 auf, die Daten in den Quellsystemen S1, S2 oder innerhalb des Datenflusses der Datenflussstruktur empfangen, sowie drei Zieleinheiten T4 bis T6 auf, die Ausgabedaten an den Endknoten der Datenflussstruktur empfangen, d. h. Ausgabedaten, die durch die gesamte Datenflussstruktur hindurchgeleitet werden.
  • [0048]
    Die von der ersten und/oder zweiten Quelle S1, S2 bereitgestellten Daten können sensible Informationen beinhalten. Genauer gesagt können die erste und/oder zweite Quelle S1, S2 Eingabedaten bereitstellen, die ein oder mehrere Datenfelder aufweisen, wobei die Datenfelder sensible Informationen aufweisen können, die gegen unberechtigten Zugriff geschützt werden müssen. Die sensiblen Informationen werden in 1 durch fett gedruckte Feldbezeichner hervorgehoben und durch ein „(S)” nach dem Feldbezeichner kenntlich gemacht.
  • [0049]
    Die Beurteilung, ob die in den Eingabedaten enthaltenen Datenfelder sensible Informationen enthalten, kann auf mehrere Arten erfolgen. So können die Datenfelder z. B. mit Metadaten verglichen werden, die von Geschäftsglossaren, Werkzeugen für die Erstellung von Datenprofilen usw. bereitgestellt werden. Die Sensibilität von Daten kann auf Grundlage der Metadaten beurteilt werden. Ein Werkzeug für die Erstellung von Datenprofilen kann auf Grundlage des erkannten Formatmusters z. B. bestimmte Eingabedatenfelder als Sozialversicherungsnummer, Kreditkartennummer usw. gekennzeichnet haben. Das Informationsintegrationssystem kann ein Metadaten-Repository aufweisen, in dem Einstufungsinformationen gespeichert sind. Die den betreffenden Datenfeldern zugehörigen Einstufungsinformationen können das Datenfeld, welches die erkannten sensiblen Informationen aufweist, als sensibel kennzeichnen. Alternativ kann die Sensibilität der Informationen auf Grundlage einer Textanalyse beurteilt werden, die für die Daten oder Datenmodelle durchgeführt wird, die in einem Repository enthalten sind. Schließlich kann die Sensibilität von Informationen erhalten werden, indem Anmerkungen von Daten, speziell von Datenmodellen, analysiert werden, die in dem Quellsystem S1, S2 enthalten sind. Auf Grundlage einer Einstufung der Datenfelder können die Anmerkungen die Datenfelder als sensibel kennzeichnen. Zusätzlich kann die Entscheidung, ob ein Datenfeld sensible Informationen enthält, auf Grundlage der Art von Operator, welcher das betreffende Datenfeld verarbeitet, und/oder auf Grundlage der Kenntnis der Funktion des Operators erfolgen.
  • [0050]
    Schließlich kann die Sensibilität von Datenfeldern zu einer Kombination oder Umwandlung von sensiblen Daten und nicht sensiblen Daten führen. So kann das Datenfeld „Adresse” z. B. aus einer Kombination von Datenfeldern „Straße”, „Ort” und „Bundesland” resultieren. Das Datenfeld „Straße” wurde in dem Quellsystem S1 als sensible Daten beurteilt. Somit wird auch das Datenfeld „Adresse”, das die sensiblen Informationen „Straße” aufweist, als sensible Informationen beurteilt (vgl. TRANSFORM-Operator OP3).
  • [0051]
    Um Datenschutz in Informationsintegrationssystemen bereitzustellen, wird der Datenschutz an Ausstiegspunkten hergestellt, an denen die Daten die Datenflussstruktur verlassen, um in einem Zielsystem gespeichert, auf einer Benutzerschnittstelle einer Datenanzeigeeinheit oder eines interaktiven Debuggers angezeigt oder in eine Protokolldatei geschrieben zu werden. Anders ausgedrückt werden alle Daten innerhalb des Informationsintegrationssystems unverschlüsselt übertragen, und Datenschutz wird an den Ausstiegspunkten des Informationsintegrationssystems bereitgestellt, an denen die Daten das System verlassen. Das System gemäß der Ausführungsform aus 1 enthält die Ausstiegspunkte Ex1 bis Ex6.
  • [0052]
    Datenschutzregelungen müssen nur an nicht vertrauenswürdigen Datenausstiegspunkten berücksichtigt werden, bei denen es sich in der vorliegenden Ausführungsform um die Datenausstiegspunkte Ex4 und Ex6 handelt, die durch die Zieleinheiten T4 und T6 gebildet werden. Das Weiteren müssen Datenschutzregelungen nur für Datenfelder berücksichtigt werden, die sensible Informationen aufweisen. Neben einem Ermitteln von Datenfeldern, die sensible Informationen aufweisen, muss das Informationsintegrationssystem also unter Umständen die nicht vertrauenswürdigen Datenausstiegspunkte identifizieren, die mit nicht vertrauenswürdigen Zieleinheiten korreliert sind. Gemäß einer Ausführungsform können die nicht vertrauenswürdigen Zieleinheiten T4, T6 auf Grundlage von Metadaten ermittelt werden, die mit den betreffenden Zieleinheiten T4, T6 korreliert sind. So kann das Informationsintegrationssystem z. B. ein Metadaten-Repository aufweisen, wobei in dem Metadaten-Repository Metadaten gespeichert sind, die Informationen zur Vertrauensstufe der betreffenden Zieleinheiten T1 bis T6 aufweisen. Insbesondere können die Metadaten angeben, ob es sich bei den Zieleinheiten T1 bis T6 jeweils um vertrauenswürdige Zieleinheiten oder um nicht vertrauenswürdige Zieleinheiten handelt. Somit kann die Vertrauensstufe einer betreffenden Zieleinheit ermittelt werden, indem auf das Metadaten-Repository zugegriffen wird.
  • [0053]
    Das Informationsintegrationssystem kann so gestaltet sein, dass es verschiedene Datenschutzrichtlinien umsetzt. So kann es unter Umständen mehrere Datenschutzrichtlinien geben, wobei sich die Richtlinien bezüglich der Strenge eines Datenschutzes voneinander unterscheiden. Um verschiedene Datenschutzrichtlinien umzusetzen, kann das Metadaten-Repository mehrere Einträge für jede Zieleinheit T bis T6 enthalten, wobei sich jeder Eintrag auf eine konkrete Datenschutzrichtlinie bezieht. Auf ähnliche Art und Weise kann auch die Entscheidung, ob ein Datenfeld sensible Informationen aufweist, mit Bezug auf Datenschutzrichtlinien getroffen werden, d. h. die in einem Datenfeld enthaltenen Informationen können bei einer strikteren Datenschutzrichtlinie als sensible Informationen behandelt werden, während die Informationen desselben Datenfelds bei einer weniger strikten Datenschutzrichtlinie als nicht sensible Informationen behandelt werden können.
  • [0054]
    Wenn Informationen einer Benutzerschnittstelle (z. B. einer Datenanzeigeeinheit oder einem interaktiven Debugger) bereitgestellt werden, oder wenn sie einer Protokollierungseinheit bereitgestellt werden, wird die Entscheidung über die Vertrauensstufe des Datenausstiegspunkts auf Grundlage des momentanen Benutzers getroffen, dessen Berechtigung geprüft wurde. So kann z. B. jeder Benutzer, dessen Berechtigung geprüft wurde, Metadaten zugehörig sein, welche die Vertrauensstufe des Benutzers angeben. Wenn die Berechtigung eines Benutzers mit einer hohen Vertrauensstufe geprüft wurde, kann der betreffende Datenausstiegspunkt als vertrauenswürdiger Ausstiegspunkt behandelt werden, während in einem Fall, in dem die Berechtigung eines Benutzers mit einer niedrigen Vertrauensstufe geprüft wurde, der betreffende Datenausstiegspunkt als nicht vertrauenswürdiger Ausstiegspunkt behandelt werden kann.
  • [0055]
    2 zeigt die Architektur einer Informationsintegrationsumgebung, konkret die Architektur einer ETL-Umgebung 10 (Extract-Transform-Load) gemäß einer Ausführungsform der vorliegenden Erfindung. Die ETL-Umgebung 10 weist einen Anwendungsserver 11 auf, der die ETL-Anwendung bereitstellt. Der Anwendungsserver 11 ist mit einem Anwendungsclient 12 verbunden. Der Anwendungsclient 12 stellt eine Benutzerschnittstelle zum Verwenden der ETL-Anwendung bereit. Genauer gesagt kann ein Benutzer auf Grundlage des Datenflussdesigners eine Datenflussstruktur eines ETL-Vorgangs entwerfen, oder er kann unter Verwendung eines Vorgangsadministrators einen ETL-Vorgang verwalten.
  • [0056]
    Der Anwendungsserver 11 kann einen ETL-Vorgangskompilierer 13 aufweisen. Der ETL-Vorgangskompilierer 13 ist so gestaltet, dass er eine Datenflussstruktur empfängt, die in einem Datenfluss-Entwurfswerkzeug entworfen wurde, und auf Grundlage der bereitgestellten Datenflussstruktur einen ETL-Vorgang erzeugt. Der ETL-Vorgangskompilierer 13 kann mit einem Metadaten-Repository 14 und einem Datenfluss-Repository 15 verbunden sein. Das Metadaten-Repository 14 kann Metadaten bereitstellen, die mit Quellsystemen S1, S2 und Zieleinheiten T1 bis T6 korreliert sind. Das Weiteren kann das Metadaten-Repository 14 Datenschutzrichtlinien bereitstellen, auf deren Grundlage verschiedene Stufen von Datenschutz realisiert werden können. Zusätzlich kann das Metadaten-Repository 14 Metadateninformationen aufweisen, die mit Eingabedaten korrelieren, konkret Metadateninformationen zur Sensibilität von Informationen, die in einem spezifischen Datenfeld enthalten sind. Das Datenfluss-Repository 15 kann einen Satz von Datenflussentwürfen bereitstellen, der zum Entwerfen des ETL-Vorgangs verwendet werden kann.
  • [0057]
    Der ETL-Vorgangskompilierer 13 ist so gestaltet, dass er einen Auslöser des Anwendungsclients 12 zum Kompilieren eines ETL-Vorgangs auf Grundlage einer Datenflussstruktur empfängt, um einen ETL-Vorgang zu erzeugen, der in einer ETL-Engine 16 ausführbar ist. Der ETL-Vorgangskompilierer 13 weist ein Datenschutzmodul 13.1 auf, das Datenschutzaktionen ausführt, um Datenschutzrichtlinien umzusetzen. Genauer gesagt kann das Datenschutzmodul 13.1 die durch den Anwendungsclient 12 bereitgestellte Datenflussstruktur analysieren, um Quellsysteme S1, S2 und Zieleinheiten T1 bis T6 zu ermitteln, die in der Datenflussstruktur verwendet werden. Des Weiteren kann das Datenschutzmodul 13.1 die Eingabedaten oder Metadaten analysieren, die mit den Eingabedaten korreliert sind, um zu ermitteln, welche Datenfelder sensible Informationen aufweisen. Zusätzlich kann das Datenschutzmodul 13.1 Informationen zur Vertrauensstufe der Zieleinheiten T1 bis T6 sammeln, die Ausgabedaten empfangen, um vertrauenswürdige Zieleinheiten T1, T2, T3 und T5 und nicht vertrauenswürdige Zieleinheiten T4 und T6 zu ermitteln.
  • [0058]
    Das Datenschutzmodul 13.1 kann des Weiteren ermitteln, welche Ausgabedaten, die an einem Datenausstiegspunkt Ex1 bis Ex6 der Datenflussstruktur einer Zieleinheit T1 bis T6 bereitgestellt werden, sensible Datenfelder aufweisen, d. h. welches Datenfeld mit Blick auf die verwendete Datenschutzrichtlinie sensible Informationen aufweist. Auf Grundlage der gesammelten Informationen kann das Datenschutzmodul 13.1 ermitteln, ob sensible Datenfelder nicht vertrauenswürdigen Zieleinheiten bereitgestellt werden. Falls sensible Datenfelder nicht vertrauenswürdigen Zieleinheiten (z. B. Zieleinheit T6 aus 1) bereitgestellt werden, kann das Datenschutzmodul 13.1 den ETL-Vorgang ändern oder neu schreiben, indem es einen Datenmaskierungsoperator MO einfügt, um sensible Datenfelder zu verbergen, bevor sie den Datenausstiegspunkt Ex6 in Richtung der nicht vertrauenswürdigen Zieleinheit T6 verlassen. Alternativ kann das Datenschutzmodul 13.1 den kompilierten ETL-Vorgang kennzeichnen oder markieren, um ein Ausführen des ETL-Vorgangs zu verhindern. Das Kennzeichnen kann dann erforderlich sein, wenn der ETL-Vorgang Parameter aufweist, die zu Sicherheitslücken führen können, so dass die Einhaltung von Datenschutzregelungen nicht gewährleistet werden kann.
  • [0059]
    Nach dem Durchführen der Datenschutzaktionen kann der geänderte ETL-Vorgang der ETL-Engine 16 bereitgestellt werden, um den ETL-Vorgang auszuführen. Aufgrund der durch das Datenschutzmodul 13.1 vorgenommenen Änderungen können sensible Datenfelder gegen unberechtigten Zugriff geschützt werden, indem Datenschutzrichtlinien gewährleistet werden.
  • [0060]
    3 zeigt gemäß einer Ausführungsform der vorliegenden Erfindung eine geänderte Datenflussstruktur, die durch das Datenschutzmodul 13.1 geändert wurde, um Schutz gegen unberechtigten Zugriff zu gewährleisten. Die Datenflussstruktur weist einen zusätzlichen Datenmaskierungsoperator MO auf, der sich unmittelbar vor dem Datenausstiegspunkt Ex6 befindet, über den sensible Daten der nicht vertrauenswürdigen Zieleinheit T6 hätten bereitgestellt werden sollen. Der Datenmaskierungsoperator MO kann ein oder mehrere Datenfelder empfangen. Datenfelder, die sensible Informationen aufweisen, können eine Kennzeichnung oder Markierung aufweisen, um das betreffende Datenfeld (wie durch die Markierung (S) verdeutlicht) als sensibel kenntlich zu machen. Der Datenmaskierungsoperator MO kann so gestaltet sein, dass er die sensiblen Datenfelder maskiert. Das Maskieren kann sensible Informationen ausblenden, d. h. die sensiblen Informationen sind nicht mehr lesbar. So können die sensiblen Informationen zumindest teilweise durch zufällige Daten wie z. B. XXXaXXXbXXXc ersetzt werden. Alternativ kann das sensible Datenfeld vollständig entfernt werden, um Datenschutzrichtlinien zu gewährleisten. Sobald das sensible Datenfeld den Maskierungsoperator MO durchlaufen hat, wird das sensible Datenfeld aufgrund der Maskierung in ein nicht sensibles Datenfeld umgewandelt (wie in 3 kenntlich gemacht, indem der Fettdruck entfernt und nach dem Feldbezeichner eine Kennzeichnung „(maskiert)” angezeigt wird).
  • [0061]
    Dabei sollte erwähnt werden, dass auch Zieleinheit T4 eine nicht vertrauenswürdige Zieleinheit ist. Allerdings weisen die Datenfelder, die am Datenausstiegspunkt Ex4 der Zieleinheit T4 bereitgestellt werden, ausschließlich nicht sensible Informationen auf. Aus diesem Grund wird unmittelbar vor Datenausstiegspunkt Ex4 kein Datenmaskierungsoperator benötigt.
  • [0062]
    in manchen Fällen weist die dem ETL-Vorgangskompilierer 13 bereitgestellte Datenflussstruktur Parameter auf, wobei diese Parameter eine Schwankungsbreite der Zieleinheit ermöglichen. Anders ausgedrückt kann während der Ausführung des ETL-Vorgangs das Zielsystem, dem Ausgabedaten bereitgestellt werden, gemäß dem Zieleinheitsparameter geändert werden. Infolge einer solchen Parametrisierung können Sicherheitslücken entstehen, da die Zieleinheit zur Kompilierzeit nicht ermittelt werden kann. Damit Datenschutzrichtlinien gewährleistet sind, kann es daher notwendig sein, den kompilierten ETL-Vorgang als nicht ausführbar zu markieren, um derartige Sicherheitslücken zu vermeiden. Alternativ kann es möglich sein, eine Überschreibungsaktion des Parameters, der in dem ETL-Vorgang enthalten ist, zu deaktivieren. Auf diese Weise wird der Parameter auf einen Standardwert gesetzt, und indem die Änderung des Parameters blockiert wird, wird die Änderung der Zieleinheit verhindert. Gemäß einer weiteren alternativen Lösung des Problems kann während der Kompilierung ein verschachtelter Vorgang in den ETL-Vorgang aufgenommen werden, um den eingegebenen Parameter, der die Zieleinheit definiert, zu beurteilen. Nach einem Beurteilen der Vertrauensstufe der Zieleinheit, die durch den eingegebenen Parameter identifiziert wird, kann eine Maskierung auf die sensiblen Ausgabedaten angewendet werden, falls eine nicht vertrauenswürdige Zieleinheit durchlaufen wird, oder die sensiblen Ausgabedaten können durchgeleitet werden (bei einer vertrauenswürdigen Zieleinheit).
  • [0063]
    4 ist ein Blockschema eines Computersystems/Servers 12 gemäß einer Ausführungsform der vorliegenden Erfindung. Das Computersystem 12 dient lediglich zu Beispielzwecken und ist nicht als eine wie auch immer geartete Beschränkung von Verwendungsumfang oder Funktionalität von Ausführungsformen der hier beschriebenen Erfindung gedacht.
  • [0064]
    4 zeigt das Computersystem/den Server 12 in Gestalt einer Universal-Datenverarbeitungseinheit. Bei einer Ausführungsform steht das Computersystem/der Server 12 für ein Datenverarbeitungssystem. Die Komponenten des Computersystems/Servers 12 können einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemarbeitsspeicher 28 und einen Bus 18 beinhalten, der verschiedene Systemkomponenten wie z. B. den Systemarbeitsspeicher 28 mit der Verarbeitungseinheit 16 verbindet, ohne jedoch darauf beschränkt zu sein.
  • [0065]
    Der Bus 18 steht für mindestens eine von mehreren Arten von Busstrukturen, z. B. ein Speicherbus oder eine Arbeitsspeicher-Steuereinheit, ein Peripheriebus, ein Accelerated Graphics Port (AGP) und ein Prozessor oder lokaler Bus, wobei eine beliebige aus einer Vielfalt von Busarchitekturen verwendet werden kann. Beispielhaft und nicht als Beschränkung zu verstehen, beinhalten derartige Architekturen den ISA-Bus (Industry Standard Architecture), den MCA-Bus (Micro Channel Architecture), den EISA-Bus (Enhanced ISA), den lokalen VESA-Bus (Video Electronics Standards Association) und den PCI-Bus (Peripheral Component Interconnect).
  • [0066]
    Das Computersystem/der Server 12 beinhaltet üblicherweise eine Vielfalt von Medien, die von einem Computersystem gelesen werden können. Derartige Medien können beliebige verfügbare Medien sein, auf die das Computersystem/der Server 12 zugreifen kann, und beinhalten sowohl flüchtige als auch nicht flüchtige, enternbare und nicht entfernbare Medien.
  • [0067]
    Der Systemarbeitsspeicher 28 kann ein von einem Computersystem lesbares Medium in Form eines flüchtigen Arbeitsspeichers wie z. B. eines Direktzugriffsspeichers (Random Access Memory, RAM) 30 und/oder eines Cache-Speichers 32 beinhalten. Das Computersystem 12 kann des Weiteren andere entfernbare/nicht entfernbare, flüchtige/nicht flüchtige Computersystem-Speichermedien oder computerlesbare Speichermedien beinhalten. Ausschließlich zu Beispielzwecken kann ein Speichersystem 34 zum Lesen von und Schreiben auf ein nicht entfernbares, nicht flüchtiges magnetisches Medium (das nicht abgebildet ist und das üblicherweise als ein Festplattenlaufwerk bezeichnet wird) bereitgestellt werden. Obwohl hier nicht abgebildet, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine entfernbare, nicht flüchtige Magnetplatte (z. B. eine Diskette) sowie ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine entfernbare, nicht flüchtige optische Platte wie z. B. einen CD-ROM, einen DVD-ROM oder ein anderes optisches Medium bereitgestellt werden. In diesen Fällen kann jedes Laufwerk über eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie weiter unten ausführlicher dargestellt und beschrieben, kann der Arbeitsspeicher 28 mindestens ein Programmprodukt mit einem Satz von (z. B. mindestens einem) Programmmodulen beinhalten, wobei diese so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung durchführen.
  • [0068]
    Ein Programm/Dienstprogramm 40 mit einem Satz von (mindestens einem) Programmmodulen 42 kann beispielsweise, und ohne als Beschränkung verstanden zu werden, im Arbeitsspeicher 28 gespeichert sein, ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Das Betriebssystem, das eine oder die mehreren Anwendungsprogramme, die anderen Programmmodule und die Programmdaten oder eine Kombination hiervon können jeweils eine Realisierung einer Netzwerkumgebung beinhalten. Die Programmmodule 42 führen im Allgemeinen die Funktionen und/oder Methoden von Ausführungsformen der hier beschriebenen Erfindung aus.
  • [0069]
    Das Computersystem/der Server 12 kann zudem mit einer oder mehreren externen Einheiten 14 Daten austauschen, z. B. mit einer Tastatur, einer Zeigeeinheit, einer Anzeige 24 usw., mit einer oder mehreren Einheiten, die einem Benutzer gestatten, mit dem Computersystem/Server 12 zu interagieren, und/oder mit beliebigen Einheiten (z. B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenübertragungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 22 erfolgen. Des Weiteren kann das Computersystem/der Server 12 über einen Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, z. B. einem LAN, einem WAN und/oder einem öffentlichen Netz (z. B. dem Internet). Wie abgebildet, tauscht der Netzwerkadapter 20 über den Bus 18 Daten mit den anderen Komponenten des Computersystems/Servers 12 aus. Dabei sollte klar sein, dass – obwohl sie hier nicht abgebildet sind – auch andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten. Beispiele hierfür sind, ohne darauf beschränkt zu sein, Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerksstapel, RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
  • [0070]
    Die obige Beschreibung von Ausführungsformen dient zur Veranschaulichung und Beschreibung. Sie erhebt nicht den Anspruch, vollständig zu sein oder Ausführungsformen der vorliegenden Erfindung auf die präzise Form, wie sie hier offenbart wird, zu beschränken. In Zusammenhang mit den obigen Ausführungen sind zahlreiche Änderungen und Anpassungen möglich bzw. aus der praktischen Umsetzung verschiedener Ausführungsformen ableitbar. Die Ausführungsformen wurden ausgewählt und beschrieben, um die Grundsätze und die Art der verschiedenen Ausführungsformen und ihre praktische Anwendung zu erläutern und Fachleuten die Möglichkeit zu geben, die vorliegende Erfindung in verschiedenen Ausführungsformen und mit verschiedenen Abwandlungen zu nutzen, wie sie für die jeweilige, in Erwägung gezogene Verwendung geeignet sind. Die Merkmale der hier beschriebenen Ausführungsformen können in allen möglichen Zusammenstellungen miteinander kombiniert werden, ohne vom Geltungsumfang der zugrundeliegenden Gedanken abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • [0071]
    Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
  • [0072]
    • EU-Richtlinie 95/46/EC [0002]

Claims (16)

  1. Computerrealisiertes Verfahren zum Bereitstellen von Datenschutz in einem Informationsintegrationssystem, wobei das Verfahren während einer Kompilierung eines Informationsintegrationsvorgangs die folgenden Schritte aufweist: Empfangen von Informationen zu einer Datenflussstruktur eines auszuführenden Informationsintegrationsvorgangs, wobei die Datenflussstruktur mindestens ein Quellsystem, eine oder mehrere Zieleinheiten und mindestens einen Operator zum Ändern von Ausgabedaten aufweist, die durch das mindestens eine Quellsystem bereitgestellt werden; Ermitteln eines Satzes von Datenausstiegspunkten, an denen die Ausgabedaten den einen oder mehreren Zieleinheiten bereitgestellt werden; Ermitteln von mindestens einer nicht vertrauenswürdigen Zieleinheit der einen oder mehreren Zieleinheiten; für jede nicht vertrauenswürdige Zieleinheit Ermitteln, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird; und wenn mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, Ändern des Informationsintegrationsvorgangs, indem unmittelbar vor einem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.
  2. Verfahren nach Anspruch 1, wobei die mindestens eine nicht vertrauenswürdige Zieleinheit auf Grundlage von Metadaten ermittelt wird, die mit den einen oder mehreren Zieleinheiten korreliert werden.
  3. Verfahren nach Anspruch 1, wobei die mindestens eine nicht vertrauenswürdige Zieleinheit auf Grundlage von Identifizierungsdaten eines Benutzers ermittelt wird, dessen Berechtigung durch eine oder mehrere der folgenden Optionen geprüft wird: das Informationsintegrationssystem und die Zieleinheit.
  4. Verfahren nach Anspruch 1, wobei jedes Datenfeld, das durch ein Quellsystem oder durch einen Operator bereitgestellt wird, auf sensible Informationen analysiert wird, um zu ermitteln, ob die aus dem Datenfeld erhaltenen Ausgabedaten als sensible Informationen eingestuft werden.
  5. Verfahren nach Anspruch 1, wobei ein Einstufen eines Ausgabedatenfelds, das durch das mindestens eine Quellsystem bereitgestellt wird, als sensible Informationen auf Grundlage einer Analyse von Metadaten erfolgt, die in Zusammenhang mit dem Ausgabedatenfeld bereitgestellt werden.
  6. Verfahren nach Anspruch 1, wobei ein Einstufen eines Ausgabedatenfelds, das durch das mindestens eine Quellsystem bereitgestellt wird, als sensible Informationen auf Grundlage einer oder mehrerer der folgenden Optionen erfolgt: Textanalyse und Kennzeichnen eines Felds von Daten als sensible Informationen auf Grundlage einer Dateneinstufung durch Dateneinstufungsalgorithmen.
  7. Verfahren nach Anspruch 1, wobei ein Ausgabedatenfeld auf Grundlage einer Kombination von mindestens zwei Datenfeldern erhalten wird und das aus dieser Kombination resultierende Datenfeld abhängig von den kombinierten Datenfeldern als sensibel identifiziert wird.
  8. Verfahren nach Anspruch 1, wobei ein Datenfeld, das durch einen Operator bereitgestellt wird, auf Grundlage von mindestens einer der folgenden Optionen als sensible Informationen identifiziert wird: eines Operatortyps und einer Funktionalität des Operators.
  9. Verfahren nach Anspruch 1, wobei nach einem Identifizieren eines Datenfelds als sensible Informationen der Informationsintegrationsvorgang analysiert wird, um mindestens ein weiteres Datenfeld zu ermitteln, das identische Daten aufweist, und dieses weitere Datenfeld ebenfalls als sensible Informationen zu kennzeichnen.
  10. Verfahren nach Anspruch 9, wobei eine Zieleinheit, der das weitere Datenfeld bereitgestellt wird, auf Grundlage von mindestens einer der folgenden Optionen als eine nicht vertrauenswürdige Zieleinheit eingestuft wird: Metadaten, die der Zieleinheit bereitgestellt werden, und Identifizierungsdaten eines Benutzers, dessen Berechtigung in dem Informationsintegrationssystem geprüft wurde.
  11. Verfahren nach Anspruch 1, des Weiteren aufweisend ein Parametrisieren von Zieleinheitsinformationen, die einer Zieleinheit zugehörig sind, ein Ermitteln zur Kompilierzeit, dass sensible Daten durch die Zieleinheit empfangen werden, und ein Deaktivieren der Parametrisierung.
  12. Verfahren nach Anspruch 1, wobei, wenn mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, Markieren des Informationsintegrationsvorgangs, um eine Ausführung des Informationsintegrationsvorgangs zu deaktivieren.
  13. Verfahren nach Anspruch 1, wobei der Maskierungsoperator so konfiguriert ist, dass er die sensiblen Informationen durch mindestens eine der folgenden Optionen maskiert: Entfernen der sensiblen Informationen und Ersetzen der sensiblen Informationen durch einen Dummy-Wert.
  14. Datenverarbeitungssystem, das eine Speichereinheit und eine Verarbeitungseinheit aufweist, wobei das Datenverarbeitungssystem so konfiguriert ist, dass es einen Informationsintegrationsvorgang verarbeitet, wobei das Datenverarbeitungssystem des Weiteren so konfiguriert ist, dass es: während einer Kompilierung des Informationsintegrationsvorgangs Informationen zu einer Datenflussstruktur eines auszuführenden Informationsintegrationsvorgangs empfängt, wobei die Datenflussstruktur mindestens ein Quellsystem, eine oder mehrere Zieleinheiten und mindestens einen Operator zum Ändern von Ausgabedaten aufweist, die durch das mindestens eine Quellsystem bereitgestellt werden; während einer Kompilierung des Informationsintegrationsvorgangs einen Satz von Datenausstiegspunkten ermittelt, an denen die Ausgabedaten den einen oder mehreren Zieleinheiten bereitgestellt werden; während einer Kompilierung des Informationsintegrationsvorgangs mindestens eine nicht vertrauenswürdige Zieleinheit der einen oder mehreren Zieleinheiten ermittelt; während einer Kompilierung des Informationsintegrationsvorgangs für jede nicht vertrauenswürdige Zieleinheit ermittelt, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird; und wenn mindestens ein Feld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, den Informationsintegrationsvorgang ändert, indem unmittelbar vor einem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.
  15. Verfahren nach Anspruch 1, wobei, wenn mindestens ein Feld, das in den Ausgabedaten enthalten ist, die einer nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, das Verfahren aufweist, den Informationsintegrationsvorgang zu markieren, um eine Ausführung des Informationsintegrationsvorgangs zu deaktivieren.
  16. Computerlesbares Speichermedium, das computerlesbare Befehle aufweist, die bei Ausführung durch einen Prozessor eines Datenverarbeitungssystems den Prozessor veranlassen, ein Verfahren zum Bereitstellen von Datenschutz in einem Informationsintegrationssystem auszuführen, wobei das Verfahren während einer Kompilierung eines Informationsintegrationsvorgangs die folgenden Schritte durchführt: Empfangen von Informationen zu einer Datenflussstruktur eines auszuführenden Informationsintegrationsvorgangs, wobei die Datenflussstruktur mindestens ein Quellsystem, eine oder mehrere Zieleinheiten und mindestens einen Operator zum Ändern von Ausgabedaten aufweist, die durch das mindestens eine Quellsystem bereitgestellt werden; Ermitteln eines Satzes von Datenausstiegspunkten, an denen die Ausgabedaten den einen oder mehreren Zieleinheiten bereitgestellt werden; Ermitteln von mindestens einer nicht vertrauenswürdigen Zieleinheit der einen oder mehreren Zieleinheiten; für jede nicht vertrauenswürdige Zieleinheit Ermitteln, ob mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird; und wenn mindestens ein Datenfeld, das in den Ausgabedaten enthalten ist, die der nicht vertrauenswürdigen Zieleinheit bereitgestellt werden, als sensible Informationen eingestuft wird, Ändern des Informationsintegrationsvorgangs, indem unmittelbar vor einem Datenausstiegspunkt, welcher der nicht vertrauenswürdigen Zieleinheit zugehörig ist, ein Maskierungsoperator eingefügt wird, um die sensiblen Informationen zu maskieren.
DE201610102945 2015-02-19 2016-02-19 Code-Analyse zum Bereitstellen von Datenschutz in ETL-Systemen Pending DE102016102945A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14626366 US9716700B2 (en) 2015-02-19 2015-02-19 Code analysis for providing data privacy in ETL systems
US14/626,366 2015-02-19

Publications (1)

Publication Number Publication Date
DE102016102945A1 true true DE102016102945A1 (de) 2016-08-25

Family

ID=55590341

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201610102945 Pending DE102016102945A1 (de) 2015-02-19 2016-02-19 Code-Analyse zum Bereitstellen von Datenschutz in ETL-Systemen

Country Status (3)

Country Link
US (2) US9716700B2 (de)
DE (1) DE102016102945A1 (de)
GB (1) GB2536348B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9716700B2 (en) 2015-02-19 2017-07-25 International Business Machines Corporation Code analysis for providing data privacy in ETL systems
US20160246990A1 (en) * 2015-02-24 2016-08-25 International Business Machines Corporation Fine-Grained User Control Over Usages Of Sensitive System Resources Having Private Data With Applications In Privacy Enforcement

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US20030088783A1 (en) * 2001-11-06 2003-05-08 Dipierro Massimo Systems, methods and devices for secure computing
US7827234B2 (en) 2005-01-10 2010-11-02 International Business Machines Corporation Privacy entitlement protocols for secure data exchange, collection, monitoring and/or alerting
US20070300306A1 (en) 2006-06-21 2007-12-27 Basit Hussain Method and system for providing granular data access control for server-client applications
US8590034B2 (en) 2006-06-21 2013-11-19 Basit Hussain Method, system and apparatus for providing stateful information redaction
US20080189769A1 (en) * 2007-02-01 2008-08-07 Martin Casado Secure network switching infrastructure
US20090132419A1 (en) 2007-11-15 2009-05-21 Garland Grammer Obfuscating sensitive data while preserving data usability
US8856869B1 (en) * 2009-06-22 2014-10-07 NexWavSec Software Inc. Enforcement of same origin policy for sensitive data
US8930381B2 (en) 2011-04-07 2015-01-06 Infosys Limited Methods and systems for runtime data anonymization
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US20130117802A1 (en) 2011-11-03 2013-05-09 Patrick Fendt Authorization-based redaction of data
US8762406B2 (en) 2011-12-01 2014-06-24 Oracle International Corporation Real-time data redaction in a database management system
US20130191185A1 (en) 2012-01-24 2013-07-25 Brian R. Galvin System and method for conducting real-time and historical analysis of complex customer care processes
EP2672673B1 (de) 2012-06-07 2016-05-25 Alcatel Lucent Vorrichtung und Verfahren für sichere Datenverarbeitung
US9665722B2 (en) 2012-08-10 2017-05-30 Visa International Service Association Privacy firewall
US9087209B2 (en) 2012-09-26 2015-07-21 Protegrity Corporation Database access control
US20140096261A1 (en) 2012-10-01 2014-04-03 Nokia Corporation Method and apparatus for providing privacy policy for data stream
US20150012467A1 (en) * 2013-01-31 2015-01-08 Lf Technology Development Corporation Limited Computer-Aided Decision Systems
US9716700B2 (en) 2015-02-19 2017-07-25 International Business Machines Corporation Code analysis for providing data privacy in ETL systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EU-Richtlinie 95/46/EC

Also Published As

Publication number Publication date Type
US20160248743A1 (en) 2016-08-25 application
US9716700B2 (en) 2017-07-25 grant
US20160246986A1 (en) 2016-08-25 application
GB201601584D0 (en) 2016-03-16 grant
GB2536348B (en) 2017-06-21 grant
GB2536348A (en) 2016-09-14 application
US9716704B2 (en) 2017-07-25 grant

Similar Documents

Publication Publication Date Title
Dias Neto et al. A survey on model-based testing approaches: a systematic review
Kraemer et al. Human and organizational factors in computer and information security: Pathways to vulnerabilities
Bruntink et al. An evaluation of clone detection techniques for crosscutting concerns
Vanhatalo et al. The refined process structure tree
US20080082380A1 (en) Method for evaluating system risk
DE102014204827A1 (de) Auflösen ähnlicher Entitäten aus einer Transaktionsdatenbank
US20060107313A1 (en) Method, system, and medium for the analysis of information system security
Umar et al. Analyzing non-functional requirements (nfrs) for software development
Höhn et al. Rubacon: automated support for model-based compliance engineering
Boritz et al. A content analysis of auditors' reports on IT internal control weaknesses: The comparative advantages of an automated approach to control weakness identification
Hadavi et al. Security Requirements Engineering; State of the Art and Research Challenges
Mannhardt et al. The Multi-perspective Process Explorer.
Hassan et al. Governance requirements extraction model for legal compliance validation
Rybnícek et al. The benefits of tree-ring curves detrending for dating archaeological wood
US20130325731A1 (en) Systems and methods for providing organizational compliance monitoring
Zalewski et al. Threat modeling for security assessment in cyberphysical systems
EP1760623A2 (de) Sicherheitseinrichtung für elektronische Geräte
Moreira et al. Aspect-oriented requirements engineering
Tripathi et al. Towards standardization of vulnerability taxonomy
DE102004011488A1 (de) Schutz von Software gegen Angriffe
Faltin et al. Toe the line: no more WorldComs
US20150052129A1 (en) Weighting sentiment information
Weil Reciprocal or mutual holdings: allocating earnings and selecting the accounting method
US20080010237A1 (en) System and Method for Managing Multi-Dimensional Data
Mokhov The use of machine learning with signal-and NLP processing of source code to fingerprint, detect, and classify vulnerabilities and weaknesses with MARFCAT

Legal Events

Date Code Title Description
R012 Request for examination validly filed