DE60112205T2 - Methode und Verfahren zum Schutz von aus einer Datenbank abgerufenen Daten - Google Patents

Methode und Verfahren zum Schutz von aus einer Datenbank abgerufenen Daten Download PDF

Info

Publication number
DE60112205T2
DE60112205T2 DE60112205T DE60112205T DE60112205T2 DE 60112205 T2 DE60112205 T2 DE 60112205T2 DE 60112205 T DE60112205 T DE 60112205T DE 60112205 T DE60112205 T DE 60112205T DE 60112205 T2 DE60112205 T2 DE 60112205T2
Authority
DE
Germany
Prior art keywords
data
credit card
database
client
access
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.)
Expired - Lifetime
Application number
DE60112205T
Other languages
English (en)
Other versions
DE60112205D1 (de
Inventor
Donald R. Pederson
Frederick S. Kaufmann
Gregory H. Milby
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.)
NCR International Inc
Original Assignee
NCR International Inc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24709767&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60112205(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by NCR International Inc filed Critical NCR International Inc
Application granted granted Critical
Publication of DE60112205D1 publication Critical patent/DE60112205D1/de
Publication of DE60112205T2 publication Critical patent/DE60112205T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99939Privileged access

Description

  • Die Erfindung betrifft allgemein das Speichern von, das Schützen von und das Zugreifen auf Daten.
  • Einer der Schlüsselvorteile des Speicherns großer Mengen von Daten in einer Datenbank ist, dass eine bestimmte Teilmenge der gespeicherten Daten in einer organisierten Weise abgefragt werden kann. Oft wird die abgefragte Teilmenge der gespeicherten Daten analysiert, um verschiedene Indikatoren zu studieren, wie beispielsweise Wirtschaftstrends, Kundenreaktionen und ähnliches. Um über Kunden zu lernen, sammeln Unternehmen verschiedene Typen von Information über ihre Kunden, wie beispielsweise personenbezogene Daten, geographische/demographische Daten, Einkaufs-Gewohnheiten usw. Solche Kundendaten werden in einem Datenbank-System gespeichert, wie beispielsweise in einem Verwaltungssystem für relationale Datenbanken (Relational Database Management System, RDBMS), wo die Daten in ein Format verarbeitet und sortiert werden können, das zum Berichten oder Analysieren geeignet ist. Ein Beispiel eines Datenbank-Systems, in dem eine solche Information gesammelt wird, ist ein Datenlager (data warehouse), in dem Daten von einer Vielfalt von Quellen eingegeben werden und in ein Format gebracht werden, das zur Abfrage und Analyse oder zum Report strukturiert ist. Das Volumen der gesammelten Daten in einem großen Datenlager ist typischerweise im Gigabyte-Bereich und manchmal im Terabyte-Bereich oder höher.
  • Um die immense Menge an in solchen Datenlagern gesammelten und verarbeiteten Daten zu handhaben, werden üblicherweise aufwändige Plattformen verwendet. Die Plattformen schließen parallel verarbeitende Systeme ein, wie beispielsweise massiv parallel verarbeitende (Massive Parallel Processing, MPP) Systeme oder symmetrisch simultan verarbeitende (Symmetric Multiprocessing, SMP) Systeme. Ein MPP-System ist üblicherweise ein Multi-Knoten-System, das eine Mehrzahl von durch ein Netz verbundene physische Knoten aufweist. Ein SMP-System ist üblicherweise ein Einzel-Knoten-System, das mehrere Prozessoren aufweist. Gesammelte Daten werden in Speichervorrichtungen in solchen Systemen gespeichert, auf welche die verschiedenen Knoten oder Prozessoren zugreifen können, um eine Verarbeitung auszuführen. In einem parallelen System sind gespeicherte Datenportionen parallel zugreifbar, um Zugriffsgeschwindigkeiten zu erhöhen.
  • Oft werden Daten aus einer Speicher-Datenbank zur Kunden-Profilbildung entnommen. Beispielsweise kann unter Verwendung von Datensätzen von Einzelhandels-Transaktionen eines Kunden ein Kunden-Profil erstellt werden, das Ausgabe-Gewohnheiten einschließt. Die Ausgabe-Gewohnheiten des Kundenprofils können die Typen der gekauften Waren und das Verfahren der Zahlungen, wie beispielsweise die Typen und Nummern der verwendeten Kreditkarten, einschließen. Es ist allgemein wünschenswert, den Zugriff auf solch empfindliche Daten zu beschränken, um die Wahrscheinlichkeit eines Betrugs zu reduzieren. Empfindliche Daten, die Kreditkarteninformationen enthalten, können zwischen einer Datenbank und einer Anzahl von Client-Computersystemen, die entfernt angeordnet sein können, übertragen werden; daher sind Maßnahmen zur Sicherung der Daten wichtig.
  • Zur Zeit wird der Zugriff auf in einer relationalen Datenbank gespeicherte empfindliche Daten, wie beispielsweise Kreditkarteninformationen, beschränkt unter Verwendung von Einschränkungen in der Benutzer-Schnittstelle, die zum Ansehen der Daten verwendet wird. Während diese Einschränkungen vor unautorisiertem Zugriff durch solch eine Benutzer-Schnittstelle schützen, hindern sie nicht unautorisierte Parteien daran, die Datenübertragung, wie beispielweise von einem Server-Computersystem zu einem Client-Computersystem, abzuhören. Außerdem verhindern die vorliegenden Verfahren nicht, dass empfindliche Daten durch Arbeitspersonal abgehört werden, die Computer-Absturz-Speicherauszug-Daten (Computer Crash Dump Data) analysieren. Ein einfaches Verschlüsseln der empfindlichen Daten kann vor dieser Art von unautorisiertem Zugriff schützen, es führt jedoch auch zu einer exorbitanten Menge an Verarbeitungs-Overhead, wenn komplexe Vergleiche oder Aggregationen mit den Daten durchgeführt werden.
  • „An Access Control Mechanism for Object-Oriented Database Systems", Tadashi Araki et al., IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, Vol. E76-A, Nr. 1, 1993, S. 112–121 beschreibt ein Objektorientiertes Datenbank-System, in dem den Daten-Objekten Sicherheitsstufen zugewiesen werden.
  • Die US-A-5,559,888 offenbart ein gesichertes Informations-Abfragesystem, das drei Stufen von vertrauenswürdigem Zugriff auf eine Datenbank umfasst.
  • Gemäß einem ersten Aspekt besteht die Erfindung in einem Verfahren zur Übergabe von gesicherten Informationen aus einem Datenbank-System nach Anspruch 1.
  • Andere Merkmale und Ausführungsformen werden aus der folgenden Beschreibung, aus den Zeichnungen und aus den Ansprüchen deutlich werden.
  • Ausführungsformen der vorliegenden Erfindung werden nun unter Bezugnahme auf die beiliegenden Zeichnungen, in denen gleiche Bezugszeichen gleiche Elemente identifizieren, beschrieben, wobei die Figuren zeigen:
  • 1 ist ein Blockdiagramm eines Beispiel-Datenbank-Kommunikations-Systems, das Datenbank-Controller enthält und in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung ist;
  • 2 zeigt eine alternative Darstellung des Datenbank-Kommunikations-Systems der 1, das Datenbank-Controller enthält;
  • 3 zeigt eine genauere Darstellung einer Ausführungsform der in den 2 und 3 dargestellten Datenbank-Controller;
  • 4 zeigt eine Ausführungsform der Datenbank, die in dem Kommunikationssystem der 2 und 3 verwendet werden kann;
  • 5 zeigt eine Flussdiagramm-Darstellung einer Ausführungsform der Verfahren, die Datenkommunikation unter Verwendung von Benutzer-definierten Typen unterstützen; und
  • 6 zeigt eine genauere Darstellung einer Ausführung des Durchführens des in der 5 beschriebenen Benutzer-definierter-Typ-Sicherheits-Protokolls.
  • Allgemein ist ein bestimmtes Ausmaß an Sicherheit zum Schutz von Daten gewünscht, wenn die Daten von einer Vorrichtung zu einer anderen, wie beispielsweise von einem Server-System zu einem Client-System, übertragen werden. Oft werden empfindliche Daten von einem Computer-System zu einem anderen übertra gen, wobei Sicherheits-Maßnahmen benötigt werden, welche die Daten vor einem unautorisierten Zugriff schützen. Ausführungsformen von Systemen, die verwendet werden, um zwischen Vorrichtungen übertragene Daten zu schützen, werden unten beschrieben.
  • Unter Bezugnahme auf 1 ist ein System dargestellt, das eine erste Datenbank 120, einen ersten Datenbank-Controller 210 und einen Server 185 in Übereinstimmung mit einer Anordnung der vorliegenden Erfindung umfasst. In einer Ausführungsform ist der erste Datenbank-Controller 210 fähig, angeforderte oder angefragte Daten von der ersten Datenbank 120 zu sammeln in Antwort auf Anforderungen oder Anfragen von einem Client 195. In einer Anordnung enthält der erste Datenbank-Controller 210 eine Schnittstelle, die eine Übertragung auf einer Netzverbindung 145 unterstützt. Das in der 1 beschriebene System ist fähig, Datenübertragungen in einer gesichert organisierten Weise von einer Datenbank zu einer anderen oder von einer Datenbank zu einem Client 195 zu unterstützen. In einer Ausführungsform unterstützt das System der 1 Datensicherheit durch Zuweisen eines Benutzerdefinierten Datentyps oder eines kundenspezifischen Datentyps, um durch die Verwendung von Verfahren Daten zu schützen und den Zugriff zu beschränken.
  • In der dargestellten Ausführungsform empfängt der Server 185 Anforderungen von dem Client 195. Die Anforderungen, die in einem Beispiel Hypertext-Transfer-Protocol(HTTP)-Anfragen sind, werden in ein Format übersetzt, das von dem Datenbank-Controller 210 verstanden werden kann, der wiederum Anfragen, wie beispielsweise Structure-Query-Language(SQL)-Anfragen, an die Datenbank 120 ausgibt. In einer anderen Anordnung ist der Client 195 direkt an den Datenbank-Controller 210 gekoppelt, ohne über den Server 185 zu laufen.
  • In einer Ausführungsform ist die Netzverbindung 145 üblicherweise entweder eine private Netzverbindung oder eine öffentliche Netzverbindung oder eine Kombination von beiden. Beispiele der Netzverbindung 145 schließen Kommunikations-Netze, Kanäle, Links oder Pfade und Systeme oder Vorrichtungen (wie beispielsweise Router) ein, die dazu verwendet werden, Daten über solche Netze, Kanäle, Links oder Pfade zu leiten. Eine private Netzverbindung 145 enthält üblicherweise einen Großrechner-Zugang und lokal ausgedehnte Netze (Local Area Networks, LANs) oder weit ausgedehnte Netze (Wide Are Networks, WANs), während ein Beispiel für eine öffentliche Netzverbindung das Internet ist. Die Typen von Vorrichtungen oder Systemen, die Zugriff auf die Kommunikationsnetze haben, schließen sowohl verkabelte als auch kabellose Vorrichtungen oder Systeme ein. Beispiele von verkabelten Vorrichtungen enthalten persönliche Schreibtisch-Computer-Systeme, die auf die Netzverbindung 145 durch Telefonwähldienste oder andere Typen von Datennetzverbindungsdiensten Zugriff haben. Drahtlose Vorrichtungen (beispielsweise tragbare Computer mit drahtlosen Modems, personale digitale Assistenten (Personal Digital Assistants), Mobiltelefone) haben Zugriff auf die Netzverbindung 145 über drahtlose Infrastrukturen.
  • Fortschreitend zu 2 enthält eine andere Ausführungsform des Systems einen zweiten Datenbank-Controller 220, eine zweite Datenbank 180 und einen zweiten Server 230. Der Client 195 kann verwendet werden, um eine Anforderung an den Server 185 zu senden, einen Satz von Daten auszugeben, der organisiert, verglichen oder abgefragt wird von der ersten Datenbank 120, wobei die ausgelesenen Daten zu der zweiten Datenbank 180 gesendet werden. Als Antwort auf eine Anforderung sammelt der Server 185 Daten von der ersten Datenbank 120 und führt Sicherheits-Funktionen in Übereinstimmung mit der vor liegenden Erfindung aus, wobei die eingesammelten Daten an die zweite Datenbank 180 über den zweiten Server 230 und den zweiten Datenbank-Controller 220 gesendet werden.
  • Fortschreitend zu der 3 wird eine genauere Darstellung einer Ausführungsform des ersten Datenbank-Controllers 210 gezeigt. Der erste Datenbank-Controller 210 enthält einen Anfrage-Koordinator 410, eine Client-spezifische Anwendung 415, ein Interface 425 und eine Speichereinheit 440. Der Anfrage-Koordinator 410 lokalisiert die durch den Client 195 angefragten Daten in der ersten Datenbank 120 und bestimmt einen Datentyp der angefragten Daten. Die Client-spezifische Anwendung 415 enthält ein Datentyp-spezifisches Programm 420, das ausgeführt wird, um den Zugriff auf bestimmte Typen von geschützten Daten in der Datenbank 120 zu kontrollieren. In einer Ausführungsform platziert das Datentyp-spezifische Programm 420 zumindest eine Beschränkung auf den Daten, worin der Zugang zum Ansehen der Daten durch den Client 195 kontrolliert werden kann. Beispielsweise können die von der ersten Datenbank 120 ausgelesenen Daten einen Datentyp aufweisen, der als Kreditkarten-Datentyp definiert ist. Ein Satz von vorbestimmten Beschränkungen kann auf den Kreditkarten-Datentyp platziert werden, wie beispielsweise Beschränkungen zum Ansehen der Daten. Unter Verwendung von Datentyp-Attributen kann eine Kreditkartennummer als ein Identifizierer verwendet werden, um einen Satz von Daten von der ersten Datenbank 120 zu empfangen, die Kreditkartennummer selbst kann jedoch durch Einschränken der Ansicht der Kreditkartennummer gesichert gehalten werden.
  • In einer Ausführungsform ist das Datentyp-spezifische Programm 420 ein JAVA-Programm. Alternativ kann das Datentypspezifische Programm 420 auch ein Computerprogramm sein, das in einer anderen Programmiersprache geschrieben ist. Das Da tentyp-spezifische Programm 420 wird verwendet, um einen Benutzerdefinierten Typ (User Defined Type, UDT) zu erzeugen, um einen bestimmten Typ von Daten, wie beispielsweise Kreditkartennummern zu speichern und um auf sie zuzugreifen. Die Client-spezifische Anwendung 415 ist fähig, die angefragten Daten zu verschlüsseln. Die von dem Client 195 angeforderten Daten können durch die Schnittstelle 425 über die Netzschnittstelle 145 zu dem Client 195 oder zu dem zweiten Server 220 zur Speicherung in der zweiten Datenbank 180 gesendet werden. Der zweite Datenbank-Controller 220 und der Client 195 sind fähig, die angefragten Daten zu entschlüsseln. In einer Ausführungsform können Verfahren oder Funktionen verwendet werden, um zu das beschränken, was durch einen Benutzer gesehen wird. Beispielsweise können Verfahren oder Funktionen verwendet werden, um eine gesamte Kreditkartennummer zu blockieren oder um alle Nummern außer den letzten vier Ziffern zu blockieren, wobei es jedoch einem Benutzer noch erlaubt wird, andere mit der Kreditkartennummer verknüpfte Details, wie beispielsweise die Ausgabegewohnheiten einer Person, die eine Kreditkarte verwendet, die analysiert wird, zu sehen.
  • Die Speichereinheit 440 in dem ersten Datenbank-Controller 210 speichert eine oder mehrere Privilegien-Tabellen 450 und Verfahren 460. Die Privilegien-Tabelle 450 enthält vorbestimmte Privilegien-Information, die durch die Clientspezifische Anwendung 415 verwendet wird, um einen Zugriff auf Daten zu beschränken. Die Verfahren 460 umfassen vorbestimmte Verfahren, die durch die Client-spezifische Anwendung 415 aufgerufen werden, um Beschränkungen für einen Zugriff auf Daten zu implementieren. Die Client-spezifische Anwendung 415 ist fähig, die Privilegien-Tabelle 450 zu prüfen, um den Privilegien-Typ zu bestimmen, der an die Daten von der ersten Datenbank 120 angefügt wird. Daher kann der Zugriff auf Daten von der ersten Datenbank 120 durch Verwendung der in der Privilegien-Tabelle 450 gespeicherten vorbestimmten Privilegien-Definitionen gesichert werden.
  • Die Client-spezifische Anwendung 415 ist auch fähig, auf die in der Speichereinheit 440 gespeicherten Verfahren 460 zuzugreifen, um verschiedene Verfahren auszuführen, um den Daten von der ersten Datenbank 120 Beschränkungen zu implementieren. In einer Anordnung verwendet die Client-spezifische Anwendung 415 in Antwort auf die Anforderungen von dem Client 195 die Verfahren 460 in Anfragen, wie beispielsweise SQL-Anfragen, an die Datenbank 120.
  • Fortschreitend zu 4 ist eine Ausführungsform eines Datenbank-Systems 500 dargestellt. Das dargestellte Datenbank-System 500 ist ein Beispiel des aus der Datenbank 120 und dem Datenbank-Controller 210 zusammengesetzten Datenbank-Systems. In der dargestellten Ausführungsform ist das Datenbank-System 500 ein paralleles Multi-Knoten-System, das eine Mehrzahl von durch ein Verbindungsnetz 510 verbundene Knoten 520, 530, 540 aufweist. Das Datenbank-System 500 umfasst auch eine Analysemaschine 570, die fähig ist, Daten von der Mehrzahl der Knoten 520, 530, 540 zu analysieren. In einer alternativen Ausführungsform umfasst das Datenbank-System 500 den ersten Datenbank-Controller 210 und die erste Datenbank 120. In einer weiteren anderen alternativen Ausführungsform umfasst das Datenbank-System 500 den ersten Datenbank-Controller 210, die erste Datenbank 120 und den Server 185. Jeder Knoten 520, 530, 540 umfasst eine oder mehrere Speichervorrichtungen 550 und zumindest einen Speicher-Controller 560. Die Anordnung der 4 ist ein Beispiel eines parallelen Datenbank-Systems. In weiteren Ausführungsformen können andere Typen von Anordnungen verwendet werden, wie beispielsweise Einzel-Knoten-Systeme.
  • Fortschreitend zu 5 identifiziert der erste Datenbank-Controller 210 einen Satz von Daten, der in einer gesicherten Weise zu speichern ist und auf den in einer gesicherten Weise zuzugreifen ist (Schritt 580). In einer Ausführungsform enthalten diese Daten Kreditkartennummern und entsprechende Transaktionen. Wenn ein Satz von Daten, der in einer gesicherten Weise zu speichern ist und auf den in einer gesicherten Weise zuzugreifen ist, identifiziert ist, führt der erste Datenbank-Controller 210 ein Benutzer-definierter-Datentyp-Sicherheits-Protokoll an den Daten aus (Schritt 585). Auf die Daten wird dann von dem Client 195 zugegriffen, nachdem sie entschlüsselt wurden (Schritt 590).
  • 6 zeigt eine Technik zur Verwendung beim Ausführen eines Benutzer-definierter-Datentyp-Sicherheits-Protokolls. Zuerst wird ein Benutzer-definierter Datentyp durch den ersten Datenbank-Controller 210 erzeugt und den Daten zugewiesen, die eine Sicherheit benötigen (Schritt 610). In einer Ausführungsform wird das Erzeugen und Zuweisen des Benutzerdefinierten Datentyps von dem ersten Datenbank-Controller 210 an den Daten in der ersten Datenbank 120 durchgeführt. Ein Beispiel eines Benutzer-definierten Datentyps ist ein Kreditkartentyp, der mit einem vorbestimmten Feld von Zeichen (characters) verknüpft ist. Als ein illustratives Beispiel wird die folgende Funktion verwendet, um einen mit einem Datenfeld verknüpften Kreditkartendatentyp zuzuweisen.
  • Figure 00100001
  • Die die Kreditkartennummer enthaltenden Daten werden in dem Datenfeld CC_Num_Private gespeichert. Der Zugriff auf die gespeicherten Daten wird durch den ersten Datenbank-Controller 210 beschränkt (Schritt 620). Dies bietet die Möglichkeit, ein vorbestimmtes Zugriffs-Privileg innerhalb des Datentyps zu setzen (beispielsweise Kreditkartendatentyp). Das Attribut CC_Num_Private ist nicht ohne weitere Ausführung von zuvor definierten Verfahren sichtbar. Vorbestimmte Privilegien, um die Daten zu sehen, können basierend auf besonderen Verfahren zugewiesen werden. In einer Ausführungsform können Privilegien in dem Client 195 errichtet werden, so dass Kreditkartendaten nur durch Ausführen eines Verfahrens in dem Client 195 lediglich gelesen werden können. Als ein Beispiel der oben beschriebenen Privilegien kann das folgende Verfahren verwendet werden, um auf den Kreditkarten-Datentyp zuzugreifen, falls ein Benutzer ein Privileg aufweist, den Typ der Kreditkartendaten zu sehen.
  • Figure 00110001
  • Das folgende Verfahren kann verwendet werden, um es autorisierten Benutzern zu erlauben, die beschränkten Kreditkartennummerdaten zu sehen.
  • Figure 00110002
  • Autorisierte Benutzer des Client-Computer-System 195 können die Kreditkartennummern unter Verwendung des Verfahrens "Number" sehen. Weitere Beschränkungen können eingeführt werden, um verschiedene Zugriffsebenen auf die beschränkten Daten zu ermöglichen. Beispielsweise können einige Benutzer dazu autorisiert werden, die letzten vier Ziffern einer Kreditkartennummer für eine Marktanalyse zu sehen, wie beispielsweise durch Verwendung des unten stehenden Verfahrens.
  • Figure 00120001
  • Der erste Datenbank-Controller 210 weist auch Verfahren auf, um einen Vergleich der gespeicherten Kreditkartendaten für einen Abfrageaufruf zu ermöglichen (Schritt 630). Beispielsweise können Vergleiche von Kreditkartennummern über einige Transaktionen durchgeführt werden, um die Anzahl von Transaktionen zu bestimmen, die eine bestimmte Kreditkarte einschließen. Die folgenden Verfahren unterstützen den Vergleich einer Kreditkartennummer mit einer anderen, wobei das Verfahren in SQL-Abfragen implementiert werden kann:
  • Figure 00120002
  • Unter Verwendung der oben beschriebenen "Compare"-Verfahren wird ein Zugriff auf eine Kreditkartennummer selbst nicht ermöglicht (solange nicht eines der zuvor beschriebenen Verfahren verwendet wird), obwohl die Kreditkartennummer in Anfragen an die Datenbank verwendet werden kann.
  • Ein illustratives Beispiel basierend auf den obigen Verfahren wird unten angegeben. Das folgende Beispiel zeigt eine Routine zum Erzeugen einer Verkaufs-Tabelle, die verkaufte Objekte und die für den Verkauf verwendeten entsprechenden Kreditkarten tabelliert.
  • Figure 00120003
  • Figure 00130001
  • Der folgende SQL-Befehl erlaubt es einem Benutzer, die Kreditkartennummer-Eintragsinhalte der Verkaufstabelle anzusehen, falls der Benutzer Zugriffsrechte auf das "Number"-Verfahren aufweist.
  • Figure 00130002
  • Falls ein Benutzer, der keinen Zugriff auf das "Number"-Verfahren hat, versucht, den Inhalt der Verkaufstabelle unter Verwendung des obigen SQL-Befehls zu sehen, wird ein „Zugriffsrecht-Verletzungs"-Fehler zurückgegeben. Der folgende Befehl erlaubt es einem Benutzer, an eine Einzelperson gestern und heute verkaufte Objekte zu tabellieren.
  • Figure 00130003
  • Die Ausführung des obigen Befehls wird in dem ersten Datenbank-Controller 210 durchgeführt. In einer alternativen Ausführungsform kann der obige Befehl in dem Client 195 ausgeführt werden oder als weitere Alternative in dem zweiten Datenbank-Controller 220. Der obige Befehl tabelliert an eine Einzelperson verkaufte Objekte wie auch die für die Transaktion verwendete Kreditkartennummer. Das „Compare"-Verfahren wird verwen det, um die in den Transaktionen verwendete Kreditkartennummer zu vergleichen und gibt eine Mitteilung zurück, die angibt, ob dort eine Kreditkarten-Übereinstimmung vorliegt. Mit anderen Worten wird das „Compare"-Verfahren einen Benutzer informieren, ob dieselbe Kreditkarte durch eine Einzelperson für mehrere Transaktionen verwendet wurde.
  • In einer Ausführungsform können Sicherheits-Anforderungen für die Datentransaktionen (beispielsweise der Datentransfer von der ersten Datenbank 120 zu dem Client 195) in der ersten Datenbank 120 definiert sein. Daher werden die durch den ersten Datenbank-Controller 210 definierten Sicherheitsbeschränkungen auf die Daten der ersten Datenbank 120 angewendet. Für eine zusätzliche Sicherheit werden die in der ersten Datenbank 120 gespeicherten Daten für die Übertragung von dem ersten Datenbank-Controller 210 zu einer entfernten Vorrichtung, wie beispielsweise dem Client 195 verschlüsselt (Schritt 640). In einer Ausführungsform wird die Verschlüsselung ausgeführt, nachdem die Datenvergleichsfunktionen abgeschlossen sind. In einer Ausführungsform können zuvor definierte Verfahren verwendet werden, um eine öffentlich-private Schlüssel-Verschlüsselung (Public-Private Key Encryption) auszuführen. Allgemein wird bei Verwendung einer öffentlich-privaten Schlüssel-Verschlüsselung Information unter Verwendung eines öffentlichen Schlüssels verschlüsselt und an dem empfangenden Ende werden die Daten unter Verwendung eines privaten Schlüssels entschlüsselt.
  • Die Client-spezifische Anwendung 415 enthält den öffentlichen Schlüssel des Servers 185. Die Client-spezifische Anwendung 415 verwendet den öffentlichen Schlüssel, um die Kreditkartennummer-Daten zu verschlüsseln, bevor sie die Kreditkartennummer-Daten an den Server 185 für eine Abfrage sendet. Eine entfernte Vorrichtung, wie beispielsweise der Client 195, sendet seinen öffentlichen Schlüssel zu dem Server 185. Der öffentliche Schlüssel wird verwendet, um die Kreditkartendaten zu verschlüsseln, bevor die Daten an den Client 195 gesendet werden. Dies erlaubt eine gesicherte Übertragung der Kreditkartennummer-Daten von dem Server 185, der mit der ersten Datenbank 120 verbunden ist, zu dem Client 195 oder zu der zweiten Datenbank 180 über den zweiten Datenbank-Controller 220. Übertragungen in der entgegengesetzten Richtung (d.h. von dem Client 185 zu dem Server 195) können auch unter Verwendung der oben beschriebenen Verfahren gesichert werden. Die unten definierten Verfahren, die in einer Ausführungsform durch den ersten Datenbank-Controller 210 ausgeführt werden, werden verwendet, um Daten-Verschlüsselung und -Entschlüsselung durchzuführen und um auf verschlüsselte Daten zuzugreifen.
  • Figure 00150001
  • Das Verfahren "Encrypt" (Verschlüsseln) und das Verfahren "Decrypt" (Entschlüsseln) werden durch die Client-spezifische An wendung 415 in dem ersten Datenbank-Controller 210 aufgerufen. Die Client-spezifische Anwendung 415 ruft das Verfahren „Encrypt" mit dem öffentlichen Schlüssel des Servers 185 auf, um die Kreditkartennummer-Daten zu verschlüsseln. In einer Ausführungsform übergibt die Client-spezifische Anwendung 415 die verschlüsselten Kreditkartennummer-Daten an den Client 195. In einer alternativen Ausführungsform übergibt die Client-spezifische Anwendung 415 die verschlüsselten Kreditkartennummer-Daten an den zweiten Datenbank-Controller 220. Die verschlüsselten Kreditkartendaten werden durch den Client 195 oder den zweiten Datenbank-Controller 220 entschlüsselt unter Verwendung des privaten Schlüssels des Clients 195, der privat dem Client-Computer-System 195 oder dem zweiten Datenbank-Controller 220 zugeordnet ist.
  • Nachdem die zu übertragenden Daten verschlüsselt sind, überträgt der Server 185 die verschlüsselten Daten von der ersten Datenbank 120 zu einer entfernten Vorrichtung, wie beispielsweise dem Client 195 (Schritt 650). Die Vollendung des Schritts des Übertragens der verschlüsselten Daten vervollständigt im Wesentlichen den Akt des Ausführens eines Benutzer-definierter-Typ-Sicherheits-Protokolls, wobei das Ausführen im Schritt 585 in 5 dargestellt ist.
  • Das Bereitstellen einer Übertragungssicherheit ermöglicht Zugriff auf die Daten durch Mittel Dritter, wobei die Mittel nicht den Unternehmens-spezifischen oder den Daten-spezifischen Sicherheitscode eingebaut haben. Die Übertragungssicherheits-Anforderungen sind in der Datenbank definiert und in den Standard-Anwendungsprogramm-Schnittstellen (Application Program Interfaces, APIs) implementiert, welche die Mittel Dritter nutzen. Beispielsweise kann man unter Verwendung des oben beschriebenen Benutzer-definierter-Typ-Sicherheits-Protokolls eine Sicherheitsrichtlinie implementieren, die erfordert, dass alle Kreditkartennummern mit einem 128-Bit-Verschlüsselungsalgorithmus verschlüsselt sind. Allgemein wären mit dieser Beschränkung Datenanfragen, die nach einer zurückzugebenden Kreditkartennummer fragen, von einer Anwendung abhängig, die lokal bei dem Datenbank-Server 185 wäre. In einer Ausführungsform würde die lokale Anwendung die Kreditkartennummer verschlüsseln und die verschlüsselten Daten übertragen. Die Kreditkartennummer würde dann auf der Empfangsseite (beispielsweise im Client 195) durch eine andere Anwendung entschlüsselt. Dies macht die Implementierung von Standardmitteln Dritter und Datenanfrage- oder Datensuch-(Data-Mining)Mitteln bei diesen Datentypen schwierig. Unter Benutzung des oben beschriebenen Benutzerdefinierter-Typ-Sicherheits-Protokolls werden die Daten jedoch in Datenbank-Datentyp-Definitionen definiert. Daher wird die Übertragungssicherheit gehandhabt, bevor auf die Daten durch die Mittel Dritter zugegriffen wird. Daher können die Mittel Dritter verwendet werden, um auf gesicherte Datentypen direkt zuzugreifen, ohne dass andere Sicherheitsverfahren in den Mitteln Dritter codiert sind.
  • Unter Verwendung des oben beschriebenen Benutzer-definierter-Typ-Sicherheits-Protokolls kann eine zusätzliche Datensicherheit realisiert werden. Allgemein ist, wenn nur der Datentyp verschlüsselt ist, eine unautorisierte Entschlüsselung der Daten schwieriger. In vielen Fällen schließen Verschlüsselungsaufbrechende Verfahren ein, zu versuchen, unautorisierte Daten durch Verwenden von Entschlüsselungs-Schlüsseln zu entschlüsseln, die einige lesbare Zeichen produzieren. Wenn eine gesamte Datenübertragung verschlüsselt ist, sind zusätzliche Informationen, wie beispielsweise Namen, in den verschlüsselten Daten enthalten. Nichtautorisierte Versuche, die Daten zu entschlüsseln, können eine Verwendung von Entschlüsselungs-Schlüsseln einschließen, bis ein Name entziffert ist. In einer Ausführungsform unter Verwendung des oben beschriebenen Benutzer definierter-Typ-Sicherheits-Protokolls würde nur die Kreditkartennummer verschlüsselt. Daher wäre dort kein ASCII-Text vorhanden, den eine eine unautorisierte Entschlüsselung versuchende Person verwenden kann. Allgemein implementieren Benutzer ein vollständiges Mitteilungs-Verschlüsselungsschema für über ein öffentliches Netz, wie beispielsweise das Internet, übertragene Mitteilungen. Da verschlüsselte Daten vollständiger Mitteilungen allgemein Text enthalten, sind sie leichter zu entschlüsseln. Falls jedoch nur Teile einer übertragenen Mitteilung (d.h. spezifische Datentypen wie beispielsweise Kreditkartennummern) verschlüsselt werden, wird ein nichtautorisierter Benutzer es schwerer finden, diese Teile zu entschlüsseln.
  • Zurückkommend auf die 5, speichert der Client 195 die verschlüsselten Daten. In einer alternativen Ausführungsform speichert der zweite Datenbank-Controller 220 die verschlüsselten Daten. Auf die verschlüsselten Daten kann durch den Client 195 zugegriffen werden, nachdem die Daten entschlüsselt sind (Schritt 590). In einer Ausführungsform werden die Daten in einem verschlüsselten Format auf einem Speichermedium (beispielsweise einer Speicherplatte) in der zweiten Datenbank 180 gespeichert, die Sicherheit bietet, die zusätzlich zu der durch die Verwendung der Benutzer-definierten Typen und Verfahren geschaffenen Sicherheit bietet.
  • Falls durch einen autorisierten Benutzer angefordert, verwendet der erste Datenbank-Controller 210 das „Number"-Verfahren, um eine Kreditkartennummer zu empfangen. Das in dem ersten Datenbank-Controller 210 ausgeführte „Number"-Verfahren entschlüsselt die Kreditkartennummer-Daten unter Verwendung des „Decrypt"-Verfahrens und des privaten Verschlüsselungs-Schlüssels des Servers. Der erste Datenbank-Controller 210 verschlüsselt die Daten wieder unter Verwendung des „Encrypt"-Verfahrens mit dem durch den Client 195 bereitgestellten öffentlichen Ver schlüsselungs-Schlüssel. Der erste Datenbank-Controller 210 sendet dann die angeforderten Daten an den Client 195 oder in einer alternativen Ausführungsform an den zweiten Datenbank-Controller 220 in einem verschlüsselten Format. Allgemein werden die verschlüsselten angeforderten Daten unter Verwendung des privaten Verschlüsselungs-Schlüssels des Clients mit dem „Decrypt"-Verfahren und dem privaten Verschlüsselungs-Schlüssel des Clients 195 entschlüsselt.
  • Das „Compare"-Verfahren überprüft den Status des Verschlüsselungs-Flags, wenn es für verschlüsselte Daten verwendet wird. Falls er wahr (true) ist, entschlüsselt das „Compare"-Verfahren die Kreditkartennummer-Daten unter Verwendung des „Decrypt"-Verfahrens und des privaten Verschlüsselungs-Schlüssels des Servers, bevor ein Vergleich ausgeführt wird. Dies wird es dem ersten Datenbank-Controller 210 ermöglichen, Verbindungen, Zusammenfügungen, etc. unter Verwendung der Kreditkartennummer-Daten auszuführen, ohne die Kreditkartennummer-Daten für den Client 195 sichtbar zu machen.
  • Die Verwendung der Verschlüsselung mit einem öffentlichen Schlüssel mit den oben beschriebenen Verfahren kann es Anwendungen Dritter und Benutzern erlauben, Daten, wie beispielsweise Kreditkartennummern, in einer gesicherten Weise zu senden, zu speichern und zu empfangen. Die Verwendung der verschiedenen oben beschriebenen Verfahren erlaubt eine einfachere Implementierung der oben beschriebenen Sicherheitsmaßnahmen. Weiterhin können verschiedene Vorrichtungen in dem System auf dieselben Verfahren zugreifen.
  • Die verschiedenen beschriebenen Vorrichtungen und Systeme enthalten alle verschiedene Software-Ebenen, -Routinen oder -Module. Solche Software-Ebenen, -Routinen oder -Module sind auf entsprechenden Kontroll-Einheiten ausführbar. Die verschiedenen Kontrolleinheiten in den Vorrichtungen oder Systemen können jede einen Mikroprozessor, einen Mikrocontroller, eine Prozessorkarte (einschließlich einer oder mehrerer Mikroprozessoren oder Mikrocontroller) oder andere Kontroll- oder Rechen-Vorrichtungen enthalten. Wie hier verwendet, bezeichnet ein „Controller" eine Hardwarekomponente, eine Softwarekomponente oder eine Kombination dieser beiden.
  • Die in dieser Beschreibung bezeichneten Speichervorrichtungen können eine oder mehrere maschinenlesbare Speichermedien zum Speichern von Daten und Anweisungen enthalten. Das Speichermedium kann verschiedene Formen von Speicher enthalten, einschließlich Halbleiter-Speichervorrichtungen, wie beispielsweise dynamische oder statische Schreib-Lese-Speicher (DRAMs oder SRAMs), löschbare und programmierbare Nur-Lese-Speicher (EPROMs), elektronisch löschbare und programmierbare Nur-Lese-Speicher (EEPROMs) und Flash-Speicher; Magnetplatten wie beispielsweise Festplatten, Floppies und entfernbare Platten; andere magnetische Medien, einschließlich Bändern, und optische Medien, wie beispielsweise Compact-Discs (CDs) oder digitale Videodisks (DVDs). Anweisungen, aus denen die verschiedenen Software-Routinen, -Module oder -Lagen in den verschiedenen Vorrichtungen oder Systemen zusammengesetzt sind, können in entsprechenden Speichervorrichtungen gespeichert werden. Wenn die Anweisungen durch eine entsprechende Kontrolleinheit ausgeführt werden, veranlassen sie die entsprechende Vorrichtung oder das entsprechende System dazu, programmierte Schritte auszuführen.
  • Die Anweisungen der Software-Routinen, -Module oder -Ebenen können auf jede Vorrichtung oder jedes System auf einem von vielen verschiedenen Wegen geladen oder übertragen werden. Beispielsweise können Codeabschnitte einschließlich Anweisungen, die auf Floppy-Discs, CD- oder DVD-Medien oder einer Festplatte gespeichert sind oder durch eine Netz-Schnittstellen-Karte, ein Modem oder eine andere Schnittellen-Vorrichtung übertragen werden, in die Vorrichtung oder das System geladen werden und als entsprechende Software-Routinen, -Module oder -Ebenen ausgeführt werden. In dem Lade- oder Übertragungs-Prozess können Datensignale, die in Trägerwellen (übertragen durch Telefonleitungen, Netzwerk-Leitungen, drahtlose Verbindungen, Kabel u.ä.) eingebettet sind, die Code-Abschnitte einschließlich Anweisungen zu der Vorrichtung oder dem System übertragen. Solche Trägerwellen können in der Form von elektrischen, optischen, akustischen, elektromagnetischen oder anderen Typen von Signalen sein.

Claims (2)

  1. Verfahren zum Übergeben gesicherter Information aus einem Datenbank-System, wobei das Verfahren die folgenden Schritte umfasst: Abspeichern von Kreditkartendaten in einem Datenbank-System; Zuordnen eines kundenspezifisch definierten Datentyps zu den gespeicherten Kreditkartendaten, wobei der kundenspezifisch definierte Datentyp den Kreditkartendaten eine Zugriffsbeschränkung zuordnet; Empfang einer Anforderung zur Verwendung der in dem Datenbank-System gespeicherten Kreditkartendaten; gekennzeichnet durch Aufrufen eines mit dem kundenspezifisch definierten Datentyp verknüpften Vergleichsverfahrens basierend auf der Zugriffsbeschränkung, um auf die Kreditkartendaten zuzugreifen, um die Kreditkartendaten zu verwenden; Entschlüsseln der Kreditkartendaten in dem Fall, dass ein mit den Kreditkartendaten verknüpftes Verschlüsselungs-Flag gesetzt ist; Vergleichen der Kreditkartendaten mit anderen Kreditkartendaten in der Datenbank, um eine Mitteilung zu erzeugen; Benachrichtigen des Benutzers über die Mitteilung.
  2. Artikel, der ein oder mehrere Speichermedien aufweist, die Anweisungen enthalten, die, wenn sie ausgeführt werden, eine Vorrichtung dazu veranlassen, das Verfahren nach Anspruch 1 auszuführen.
DE60112205T 2000-09-29 2001-09-20 Methode und Verfahren zum Schutz von aus einer Datenbank abgerufenen Daten Expired - Lifetime DE60112205T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US675275 2000-09-29
US09/675,275 US6671687B1 (en) 2000-09-29 2000-09-29 Method and apparatus for protecting data retrieved from a database

Publications (2)

Publication Number Publication Date
DE60112205D1 DE60112205D1 (de) 2005-09-01
DE60112205T2 true DE60112205T2 (de) 2006-06-08

Family

ID=24709767

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60112205T Expired - Lifetime DE60112205T2 (de) 2000-09-29 2001-09-20 Methode und Verfahren zum Schutz von aus einer Datenbank abgerufenen Daten

Country Status (3)

Country Link
US (1) US6671687B1 (de)
EP (1) EP1193588B1 (de)
DE (1) DE60112205T2 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063167A (ja) * 2000-08-16 2002-02-28 Fuji Xerox Co Ltd オブジェクト管理方法および装置
JP2002099513A (ja) * 2000-09-25 2002-04-05 Pioneer Electronic Corp データ通信システム
JP2002236767A (ja) * 2001-02-07 2002-08-23 Sony Corp 情報処理装置および方法、プログラム格納媒体、並びにプログラム
US7593946B2 (en) * 2001-11-02 2009-09-22 Geographic Solutions, Inc. Labor market information analyzer for researchers, employers, staff and others
US6850957B2 (en) * 2002-03-12 2005-02-01 Hitachi, Ltd. Information system and data access method
EP1540957A4 (de) * 2002-04-30 2009-07-08 Gen Dynamics Advanced Inf Sys Verfahren und vorrichtung zur seriellen inline-datenverschlüsselung
US7418600B2 (en) * 2003-03-13 2008-08-26 International Business Machines Corporation Secure database access through partial encryption
US20040267766A1 (en) * 2003-06-26 2004-12-30 Andreas Marek Defining user-defined data types and/or user-defined methods using an interpreted programming language
US8166101B2 (en) 2003-08-21 2012-04-24 Microsoft Corporation Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system
US8238696B2 (en) 2003-08-21 2012-08-07 Microsoft Corporation Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system
US6941316B2 (en) * 2003-10-23 2005-09-06 Microsoft Corporation System and method for object persistence in a database store
US7284010B2 (en) * 2003-10-23 2007-10-16 Microsoft Corporation System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined
US20050091231A1 (en) * 2003-10-24 2005-04-28 Shankar Pal System and method for storing and retrieving XML data encapsulated as an object in a database store
US6976029B2 (en) * 2004-02-10 2005-12-13 Microsoft Corporation System and method for providing user defined types in a database system
US7376656B2 (en) 2004-02-10 2008-05-20 Microsoft Corporation System and method for providing user defined aggregates in a database system
US8548429B2 (en) 2004-03-08 2013-10-01 Rafi Nehushtan Cellular device security apparatus and method
US7548901B2 (en) 2004-06-29 2009-06-16 Microsoft Corporation System and method for delayed fetching of designated members of a user defined type
US7237268B2 (en) * 2004-07-13 2007-06-26 Fields Daniel M Apparatus and method for storing and distributing encrypted digital content and functionality suite associated therewith
US8145686B2 (en) * 2005-05-06 2012-03-27 Microsoft Corporation Maintenance of link level consistency between database and file system
US20060271383A1 (en) * 2005-05-27 2006-11-30 Microsoft Corporation Entity synchronization using filtering
US7720904B2 (en) * 2005-05-27 2010-05-18 Microsoft Corporation Entity projection
US20060271384A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Reference data aggregate service population
US20060282372A1 (en) * 2005-06-09 2006-12-14 Endres Timothy G Method to secure credit card information stored electronically
US8126921B2 (en) * 2005-09-23 2012-02-28 Regions Asset Company System and method of transferring information
US8127000B2 (en) * 2006-06-30 2012-02-28 Tealeaf Technology, Inc. Method and apparatus for monitoring and synchronizing user interface events with network data
US8583772B2 (en) 2008-08-14 2013-11-12 International Business Machines Corporation Dynamically configurable session agent
US8868533B2 (en) 2006-06-30 2014-10-21 International Business Machines Corporation Method and apparatus for intelligent capture of document object model events
US8949406B2 (en) 2008-08-14 2015-02-03 International Business Machines Corporation Method and system for communication between a client system and a server system
US8639896B2 (en) * 2006-08-02 2014-01-28 International Business Machines Corporation Locating and altering sensitive information in core dumps
US7788250B2 (en) * 2006-08-04 2010-08-31 Mohammad Salman Flexible request and response communications interfaces
US20080082837A1 (en) 2006-09-29 2008-04-03 Protegrity Corporation Apparatus and method for continuous data protection in a distributed computing network
US7624131B2 (en) * 2007-01-18 2009-11-24 Microsoft Corporation Type restriction and mapping for partial materialization
US8042055B2 (en) 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8914736B2 (en) 2010-03-30 2014-12-16 International Business Machines Corporation On-page manipulation and real-time replacement of content
US8930818B2 (en) 2009-03-31 2015-01-06 International Business Machines Corporation Visualization of website analytics
US9934320B2 (en) 2009-03-31 2018-04-03 International Business Machines Corporation Method and apparatus for using proxy objects on webpage overlays to provide alternative webpage actions
US8533532B2 (en) 2010-06-23 2013-09-10 International Business Machines Corporation System identifying and inferring web session events
US9635094B2 (en) 2012-10-15 2017-04-25 International Business Machines Corporation Capturing and replaying application sessions using resource files
US9536108B2 (en) 2012-10-23 2017-01-03 International Business Machines Corporation Method and apparatus for generating privacy profiles
US9535720B2 (en) 2012-11-13 2017-01-03 International Business Machines Corporation System for capturing and replaying screen gestures
US10474735B2 (en) 2012-11-19 2019-11-12 Acoustic, L.P. Dynamic zooming of content with overlays
US11282592B2 (en) * 2015-03-31 2022-03-22 Change Healthcare Holdings, Llc Healthcare information system and method for controlling access to a data projection
CN104820701B (zh) * 2015-05-11 2018-02-06 北京瑞星信息技术股份有限公司 数据记录和同步方法及系统
US11416852B1 (en) * 2017-12-15 2022-08-16 Worldpay, Llc Systems and methods for generating and transmitting electronic transaction account information messages
US20230083083A1 (en) * 2021-09-14 2023-03-16 International Business Machines Corporation Storing diagnostic state of secure virtual machines

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5181162A (en) * 1989-12-06 1993-01-19 Eastman Kodak Company Document management and production system
US5931917A (en) * 1996-09-26 1999-08-03 Verifone, Inc. System, method and article of manufacture for a gateway system architecture with system administration information accessible from a browser
US5996076A (en) * 1997-02-19 1999-11-30 Verifone, Inc. System, method and article of manufacture for secure digital certification of electronic commerce
US6038563A (en) * 1997-10-31 2000-03-14 Sun Microsystems, Inc. System and method for restricting database access to managed object information using a permissions table that specifies access rights corresponding to user access rights to the managed objects
US6182142B1 (en) * 1998-07-10 2001-01-30 Encommerce, Inc. Distributed access management of information resources
US6356905B1 (en) * 1999-03-05 2002-03-12 Accenture Llp System, method and article of manufacture for mobile communication utilizing an interface support framework
US6405203B1 (en) * 1999-04-21 2002-06-11 Research Investment Network, Inc. Method and program product for preventing unauthorized users from using the content of an electronic storage medium

Also Published As

Publication number Publication date
US6671687B1 (en) 2003-12-30
EP1193588B1 (de) 2005-07-27
DE60112205D1 (de) 2005-09-01
EP1193588A2 (de) 2002-04-03
EP1193588A3 (de) 2002-12-11

Similar Documents

Publication Publication Date Title
DE60112205T2 (de) Methode und Verfahren zum Schutz von aus einer Datenbank abgerufenen Daten
Li et al. Toward privacy-assured and searchable cloud data storage services
DE69629857T2 (de) Datenkommunikationssystem unter Verwendung öffentlicher Schlüssel
DE60037771T2 (de) Vorrichtung zur kryptographischen Kommunikation
DE69736310T2 (de) Erzeugung und Verteilung digitaler Dokumente
DE60016972T2 (de) Anpassbarer sicherheitsmechanismus, um unerlaubten zugang zu digitalen daten zu verhindern
TWI388183B (zh) 用以使敏感資料及關聯記錄無法識別之系統和方法
DE202020106393U1 (de) Datenaustausch
DE102011077218B4 (de) Zugriff auf in einer Cloud gespeicherte Daten
DE102012218576B4 (de) Verschlüsseln von Daten und Charakterisierungsdaten, die den gültigen Inhalt einer Spalte beschreiben
DE60037639T2 (de) Sicherung gegen unbefugten Zugriff zu einem tragbaren Speichermedium
CN107370604A (zh) 一种大数据环境下的多粒度访问控制方法
DE60317498T2 (de) Verfahren und System zur Schlüsseldistribution mit einem Authentifizierungschritt und einem Schlüsseldistributionsschritt unter Verwendung von KEK (key encryption key)
Sesay et al. A secure database encryption scheme
US20050044366A1 (en) Method for making databases secure
DE102019113249A1 (de) Wertevergleichsserver, wertevergleichsverschlüsselungssystem und wertevergleichsverfahren
EP3552141B1 (de) Server-computersystem zur bereitstellung von datensätzen
CN113127927B (zh) 一种许可链数据共享及监管的属性重构加密方法及系统
Motro et al. Blind custodians: A database service architecture that supports privacy without encryption
EP3552140B1 (de) Datenbankindex aus mehreren feldern
DE102013019487A1 (de) Verfahren, Vorrichtungen und System zur Online-Datensicherung
DE112019003808B4 (de) Zweckspezifische Zugriffssteuerung auf Grundlage einer Datenverschlüsselung
DE10307996B4 (de) Verfahren zum Ver- und Entschlüsseln von Daten durch verschiedene Nutzer
CN110689463A (zh) 一种教学管理平台
EP1163559B1 (de) Verfahren zur sicherung des zugangs zu einer datenverarbeitungseinrichtung und entsprechende vorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)