DE19827659A1 - Systeme und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff - Google Patents
Systeme und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten ZugriffInfo
- Publication number
- DE19827659A1 DE19827659A1 DE19827659A DE19827659A DE19827659A1 DE 19827659 A1 DE19827659 A1 DE 19827659A1 DE 19827659 A DE19827659 A DE 19827659A DE 19827659 A DE19827659 A DE 19827659A DE 19827659 A1 DE19827659 A1 DE 19827659A1
- Authority
- DE
- Germany
- Prior art keywords
- key
- data elements
- user
- encrypted
- authentication
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2211/00—Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
- G06F2211/007—Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
- G06F2211/008—Public Key, Asymmetric Key, Asymmetric Encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2149—Restricted operating environment
Description
Die Erfindung betrifft Systeme und Verfahren, welche zentrale
Dienste vorsehen, um geheime Kerndaten, wie Paßworte, kryptogra
phische Schlüssel und sensible, persönliche und finanzielle Codes,
sicher zu speichern.
Finanzielle und andere sensible Transaktionen werden zunehmend von
Personalcomputern durchgeführt. Dadurch ist der Bedarf an einer
sicheren Speicherung der Daten gewachsen. Häufig werden moderne
Verschlüsselungstechniken dazu eingesetzt, solche Daten gegen ei
nen nichtauthorisierten Zugriff zu schützen.
Neue Sicherheitsverfahren haben es jedoch nötig gemacht, geheime
"Kern"daten zu schützen, wie private kryptographische Schlüssel
oder Verschlüsselungs-Schlüssel, Kreditkartennummern und andere
kleine Stücke geheimer Daten. Die Verantwortung hierfür wird heute
den einzelnen Anwendungsprogrammen oder den Benutzern der Perso
nalcomputer selbst überlassen. Obwohl Programme zur Verfügung ste
hen, mit denen die Benutzer Daten verschlüsseln und speichern kön
nen, können diese Programme üblicherweise von anderen Anwendungs
programmen nicht genutzt werden. Momentan muß jedes Anwendungspro
gramm ein sicheres Verfahren zum Speichern solcher Daten selbst
vorsehen.
Als ein Beispiel der Probleme, auf die man im heutigen Stand der
Technik stößt, seien die Punkte betrachtet, die bei der Nutzung
der Smartcard-Technologie Thema sind. Eine Smartcard oder Chip-
Karte eignet sich besonders gut, um geheime Kerndaten, wie die
oben beschriebenen, aufzunehmen. Zusätzlich können Smartcards dazu
verwendet werden, Benutzer zu authentisieren, weil sie von jedem
Benutzer verlangen, seine persönliche Smartcard in eine Aufnahme
vorrichtung einzuführen, die dem Personalcomputer des Benutzers
zugeordnet ist. Es wurden fälschungssichere Smartcards nur für
diesen Zweck entwickelt.
Ohne allgemeingültige Normen entstehen bei der Verwendung solcher
Vorrichtungen Probleme. Obwohl ein Entwickler Möglichkeiten vorse
hen könnte, mit einer begrenzten Anzahl von Smartcards zu arbei
ten, wäre es schwierig oder unmöglich, alle verschiedenen Varia
tionen vorauszusehen, die schließlich auftauchen können. Diese
Tatsache macht es bei vielen verschiedenen Anwendungen unpraktika
bel, die Smartcard-Technologie zu realisieren.
Obwohl einige Speichermedien, wie magnetische Festplatten nicht
die Herausforderungen der Smartcard darstellen, haben viele Soft
wareentwickler einfach nicht den Hintergrund oder die Kenntnis,
die zum sicheren Realisieren moderner Verschlüsselungstechniken
erforderlich sind. Selbst wenn sie diese hätten, wäre es ineffi
zient, wenn jeder Entwickler die komplexe Aufgabe der Entwicklung
eines Verfahrens zum Speichern von geheimen Kerndaten auf sich
nehmen würde. Ferner wären die resultierenden Lösungen inkompati
bel. Es ist dagegen viel besser, ein gemeinsames Verfahren zum
Speichern solcher Daten zu übernehmen und zu verhindern, daß für
jedes unterschiedliche Anwendungsprogramm eine neue Lösung umge
setzt werden muß.
Die im folgenden beschriebene Erfindung sieht zentrale geschützte
Speicherdienste vor, die von einem Anwendungsprogramm aufgerufen
werden können, um geheime Kerndaten, oder Kerngeheimnisse, zu
speichern. Eine Ausführungsform der Erfindung ist als ein Server
prozeß oder Dienstprozeß mit zugehörigen Schnittstellen reali
siert, der von Anwendungsprogrammen aufgerufen werden kann, um
kleine Dateneinheiten oder Datenfelder zu speichern und wiederzu
gewinnen.
Das Verfahren und die Architektur umfassen grundsätzlich einen
Speicherserver und mehrere installierbare Speicherprovider sowie
Authentisierungsprovider (Server = Diensteinheit; Provider =
Dienstanbieter). Jeder Speicherprovider kann Daten mit Hilfe eines
bestimmten Medientyps, wie einem magnetischen Medium oder Smart
cards, sicher speichern. Die Einzelheiten des Speichermediums wer
den vor dem aufrufenden Anwendungsprogramm verborgen. Authentisie
rungsprovider werden dazu benutzt, Benutzer mit unterschiedlichen
Verfahren zu authentisieren, d. h. für gültig zu erklären, z. B.
durch Abfragen von Paßworten, durch Lesen von Smartcards, durch
Abscannen der Retina oder auf andere Arten, die in der Zukunft
konzipiert werden mögen. Nochmals, die Einzelheiten der Authenti
sierung werden vor den auf rufenden Anwendungsprogrammen im allge
meinen verborgen.
Anwendungsprogramme interagieren mit dem Speicherserver über genau
definierte Schnittstellen. Ein Datenelement kann mit einem einfa
chen Aufruf des Speicherservers gespeichert und später mit einem
ähnlichen Aufruf wiedergewonnen werden. Die gesamte Verschlüsse
lung, Entschlüsselung, Überprüfung der Unversehrtheit der Daten
elemente und Authentisierung der Benutzer werden von dem Speicher
server und seinen zugehörigen Providern durchgeführt. Deshalb kön
nen die Anwendungsprogramme die verbesserten Sicherheitsmerkmale
ausnutzen, ohne daß die Anwendungsprogramme selber komplizierter
würden.
Wenn Datenelemente mit den geschützten Speicherdiensten gespei
chert werden, kann ein Anwendungsprogramm Regeln spezifizieren,
die bestimmen, wann auf das Datenelement zugegriffen werden darf.
Der Zugriff ist im allgemeinen auf den Benutzer des Rechners be
schränkt, der das Datenelement erzeugt hat. Der Zugriff kann ähn
lich auf bestimmte Anwendungsprogramme oder auf eine Klasse von
Anwendungsprogrammen beschränkt werden. Der Speicherserver authen
tisiert die anfragenden Anwendungsprogramme bevor er die Daten an
sie übergibt.
Ein Standard-Authentisierungsprovider authentisiert Benutzer ge
stützt auf ihre Rechner- oder Netzanmeldung. Es können auch andere
Authentisierungsprovider installiert werden.
Ein Standard-Speicherprovider erlaubt die Speicherung von Daten
elementen auf magnetischen Medien, wie einer Festplatte oder einem
Diskettenlaufwerk. Datenelemente werden vor der Speicherung ver
schlüsselt. Die Verschlüsselung verwendet einen Schlüssel, der aus
der Authentisierung des Benutzers abgeleitet wird. Der Schlüssel
wird insbesondere aus dem Paßwort des Benutzers abgeleitet, das
während der Anmeldung auf dem Rechner oder in dem Netz geliefert
wird. Zusätzlich können ein Anwendungsprogramm oder der Benutzer
spezifizieren, daß für bestimmte Elemente ein zusätzliches Paßwort
eingegeben werden muß, wenn Zugriff auf die Daten verlangt wird.
Der Standard-Speicherprovider realisiert ein Verschlüsselungsver
fahren mit einem mehrschichtigen Schlüssel, um den Umfang der Ver
schlüsselung zu minimieren, die wiederholt werden muß, wenn der
Benutzer ein Paßwort ändert. Jedes Datenelement wird mit einem
Elementschlüssel verschlüsselt, der von dem System nach dem Zu
fallsprinzip erzeugt wird. Der Elementschlüssel wird seinerseits
mit einem Masterschlüssel verschlüsselt, der selbst mit einem
Schlüssel verschlüsselt wird (wie unten beschrieben ist), der aus
dem von dem Benutzer gelieferten Paßwort (z. B. dem Anmeldepaßwort
des Benutzers) abgeleitet wird.
Die Erfindung ist im folgenden anhand bevorzugter Ausführungsfor
men mit Bezug auf die Zeichnung näher erläutert. In den Figuren
zeigt:
Fig. 1 ein Blockdiagramm des Beispiels eines Rechnersystems,
das bei der Realisierung der Erfindung verwendet wer
den kann;
Fig. 2 zeigt ein Blockdiagramm eines geschützten Speichersys
tems und eines auf rufenden Anwendungsprogramms gemäß
der Erfindung; und
Fig. 3 zeigt in einem Prozeß-Ablaufdiagramm, wie Datenelemen
te erfindungsgemäß verschlüsselt und authentisiert
werden.
Grundsätzlich ist die Kryptographie oder Verschlüsselung das Ver
fahren zum Verschlüsseln oder Durcheinandermischen von Nachrich
ten, so daß die Nachrichten sicher gespeichert und übertragen wer
den können. Die Kryptographie kann dazu eingesetzt werden, sichere
Datenübertragungen selbst dann zu erhalten, wenn das Übertragungs
medium (z. B. das Internet) nicht verläßlich ist. Nutzer von Rech
nern setzen die Kryptographie auch dazu ein, sensible Dateien zu
verschlüsseln, so daß sie von einem Eindringling dicht verstanden
werden können. Die Kryptographie wird dazu verwendet, die Daten
integrität oder Unversehrtheit der Daten sicherzustellen und deren
Geheimhaltung zu bewahren. Es ist auch möglich, den Ursprung der
Datenelemente mittels der Kryptographie zu überprüfen, wenn digi
tale Signaturen eingesetzt werden. Wenn Verschlüsselungsverfahren
verwendet werden, müssen nur die Verschlüsselungs-Schlüssel ge
heimgehalten werden. Die Algorithmen, die Schlüsselgrößen und Da
teiformate können ohne Gefährdung der Sicherheit veröffentlicht
werden.
Bei der Datenverschlüsselung kann ein Datenelement oder Datenfeld
durcheinandergemischt werden, so daß es wie zufälliger Unsinn aus
sieht, und es sehr schwierig ist, das Datenfeld in die ursprüng
lichen Daten zurückzutransformieren, wenn man den geheimen Schlüs
sel nicht kennt. Die Nachricht kann aus einem ASCII-Text, einer
Datenbankdatei oder aus beliebigen anderen Daten bestehen.
Wenn ein Datenelement einmal verschlüsselt wurde, kann es auf un
gesicherten Medien gespeichert oder über ein ungesichertes Netz
übertragen werden, und es bleibt dennoch geheim. Später kann die
Nachricht in ihre ursprüngliche Form entschlüsselt werden.
Wenn ein Datenelement verschlüsselt wird, wird ein Verschlüssel
ungsschlüssel verwendet. Dies ist vergleichbar mit einem Schlüs
sel, der zum Verschließen eines Vorhängeschlosses verwendet wird.
Zum Entschlüsseln der Nachricht muß ein Entschlüsselungs-Schlüssel
verwendet werden. Die Verschlüsselungs- und der Entschlüsselungs-
Schlüssel sind häufig, jedoch nicht immer identisch.
Bei den Verschlüsselungsalgorithmen gibt es zwei Hauptklassen:
symmetrische Algorithmen und Algorithmen mit öffentlichem Schlüs sel (die auch als asymmetrische Algorithmen bekannt sind). Syste me, welche symmetrische Algorithmen verwenden, werden manchmal als konventionell bezeichnet.
symmetrische Algorithmen und Algorithmen mit öffentlichem Schlüs sel (die auch als asymmetrische Algorithmen bekannt sind). Syste me, welche symmetrische Algorithmen verwenden, werden manchmal als konventionell bezeichnet.
Symmetrische Algorithmen sind die üblichste Art der Verschlüssel
ungsalgorithmen. Sie sind als symmetrisch bekannt, weil für die
Verschlüsselung und die Entschlüsselung derselbe Schlüssel verwen
det wird. Anders als die Schlüssel, die bei den Algorithmen mit
öffentlichem Schlüssel verwendet werden, werden die symmetrischen
Schlüssel häufig verändert.
Im Vergleich zu den Algorithmen mit öffentlichem Schlüssel sind
die symmetrischen Algorithmen sehr schnell, und deshalb werden sie
zum Verschlüsseln sehr großer Datenmengen bevorzugt. Einige der
üblicheren symmetrischen Algorithmen sind RC2, RC4 und die Daten
verschlüsselungsnorm DES (Data Encryption Standard).
Algorithmen mit öffentlichem Schlüssel (asymmetrische Algorithmen)
verwenden zwei unterschiedliche Schlüssel: den öffentlichen
Schlüssel und den privaten Schlüssel. Der private Schlüssel wird
von dem Besitzer des Schlüsselpaars privat gehalten, und der öf
fentliche Schlüssel kann an alle verteilt werden, die ihn anfor
dern (häufig über ein Zertifikat). Wenn der eine Schlüssel zum
Verschlüsseln einer Nachricht verwendet wird, benötigt man den
anderen Schlüssel zum Entschlüsseln der Nachricht.
Algorithmen mit öffentlichem Schlüssel sind sehr langsam - in der
Größenordnung von 1000 mal langsamer als die symmetrischen Algo
rithmen. Demzufolge werden sie üblicherweise nur zum Verschlüsseln
von Sitzungsschlüsseln verwendet. Sie werden auch zum Versehen von
Nachrichten mit einer digitalen Signatur verwendet.
Einer der üblichsten Algorithmen mit öffentlichem Schlüssel ist
die RSA-Public-Key-Cipher (RSA-Schiffrierung mit öffentlichem
Schlüssel).
Digitale Signaturen können zum Verteilen eines unverschlüsselten
Datenelementes verwendet werden, wobei die Empfänger überprüfen
können, ob die Nachricht von ihrem angegebenen Sender stammt und
nicht manipuliert oder gefälscht wurde. Das Signieren einer Nach
richt ändert die Nachricht nicht, es erzeugt einfach eine digitale
Signatur-Zeichenkette (String), die entweder zusammen mit der
Nachricht oder getrennt übertragen werden kann.
Digitale Signaturen werden mittels Signaturalgorithmen mit öffent
lichem Schlüssel erzeugt. Ein privater Schlüssel wird zum Erzeugen
der Signatur verwendet, und der entsprechende öffentliche Schlüs
sel wird zum Überprüfen der Signatur verwendet.
Die Authentisierung umfaßt die Überprüfung der Identität einer
Person oder Einheit. Zertifikate sind eine übliche Art, eine Au
thentisierung zu erhalten. Ein Zertifikat ist ein Datensatz, der
eine Einheit vollständig identifiziert, und es wird von einer aut
horisierten Zertifizierungsstelle (CA) erst ausgegeben, wenn die
ses Stelle überprüft hat, daß die Einheit diejenige ist, die sie
vorgibt zu sein. Der Datensatz umfaßt den öffentlichen Verschlüs
selungs-Schlüssel der Einheit. Wenn der Sender einer Nachricht
Daten mit seinem privaten Schlüssel signiert (und eine Kopie sei
nes Zertifikats mit der Nachricht übersendet), kann der Empfänger
der Nachricht den öffentlichen Schlüssel des Senders (den er mit
dem Zertifikat erhält) dazu verwenden, zu überprüfen, daß der Sen
der der ist, der er vorgibt zu sein. Zertifikate können auch dazu
verwendet werden, zu überprüfen, daß Daten (einschließlich Anwen
dungsprogramme) von einer zuverlässigen Quelle quittiert wurden.
In einem Netz gibt es häufig ein zuverlässiges oder vertrauenswür
diges Anwendungsprogramm, daß auf einem sicheren Rechner läuft,
der als die authorisierte Zertifizierungsstelle bekannt ist. Die
ses Anwendungsprogramm kennt den öffentlichen Schlüssel jedes Be
nutzers. Die authorisierten Zertifizierungsstellen geben Nachrich
ten aus, die als Zertifikate bekannt sind, und von denen jede den
öffentlichen Schlüssel einer seiner Klienten/Benutzer enthält.
Jedes Zertifikat wird mit dem privaten Schlüssel der Zertifizie
rungsstelle signiert.
Die im folgenden beschriebene Erfindung verwendet Techniken, wie
die an sich bekannte digitale Verschlüsselung, Signierung und Au
thentisierungstechniken, die oben beschrieben sind. Weitere Infor
mation zu diesen Techniken findet man bei Bruce, Schneier: Applied
Cryptography Second Edition: Protocols, Algorithms, and Source
Code in C; John Wiley & Sons, 1996, auf das hier Bezug genommen
wird. In der folgenden Erörterung der Erfindung wird angenommen,
daß der Leser mit diesen Themen grundsätzlich vertraut ist.
Fig. 1 und die folgende Erläuterung sollen eine kurze allgemeine
Beschreibung einer geeigneten Rechenumgebung vorsehen, in der die
Erfindung realisiert werden kann. Obwohl nicht erforderlich, wird
die Erfindung allgemein in Verbindung mit von Computern aus führ
baren Befehlen, wie Programmodulen, beschrieben, die von einem
Personalcomputer aus geführt werden. Die Programmodule umfassen im
allgemeinen Routinen, Programme, Objekte, Komponenten, Datenstruk
turen etc., die bestimmte Aufgaben ausführen oder bestimmte ab
strakte Datentypen realisieren. Der Fachmann wird darüberhinaus
verstehen, daß die Erfindung auch mit anderen Rechnersystem-Kon
figurationen realisiert werden kann, einschließlich Handgeräten,
Multiprozessorsystemen, mikroprozessor-gestützter oder program
mierbarer Verbraucherelektronik, Netzwerk-PCs, Minicomputern,
Mainframe-Rechnern und dergleichen. Die Erfindung kann auch in
verteilten Rechnerumgebungen praktiziert werden, bei denen Aufga
ben von voneinander entfernten Verarbeitungsvorrichtungen ausge
führt werden, die über ein Übertragungsnetz verbunden sind. In
einer verteilten Rechnerumgebung können die Programmodule sowohl
in örtlichen (zentralen) als auch in entfernten (dezentralen)
Speichereinrichtungen liegen.
In Fig. 1 ist ein beispielhaftes System zur Realisierung der Er
findung gezeigt, das eine Allzweck-Rechenvorrichtung in der Form
eines üblichen Personalcomputers 20 aufweist, mit einer Verarbei
tungseinheit 21, einem Systemspeicher 22 und einem Systembus 23,
der verschiedene Systemkomponenten, einschließlich des Systemspei
chers, mit der Verarbeitungseinheit 21 verbindet. Der Systembus 23
kann eine von verschiedenen Arten von Busstrukturen aufweisen,
einschließlich einem Speicherbus oder einer Speicher-Steuerein
richtung, einem Peripheriebus und einem lokalen Bus mit einer von
vielen verschiedenen Busarchitekturen. Der Systemspeicher umfaßt
einen Festspeicher (ROM) 24 und einen Arbeitsspeicher (RAM) 25.
Ein Basis-Ein-Ausgabe-System (BIOS) 26, das die Basisroutinen ent
hält, die bei der Übertragung von Informationen zwischen Elementen
innerhalb des Personalcomputers 20 helfen, z. B. während des Hoch
fahrens, ist im ROM 24 gespeichert. Der Personalcomputer 20 umfaßt
ferner ein Festplattenlaufwerk 27 zum Lesen von und Schreiben auf
eine Festplatte (nicht gezeigt), ein Magnetplattenlaufwerk 28 zum
Lesen von und Schreiben auf eine entfernbare Magnetplatte 24 und
ein optisches Plattenlaufwerk 30 zum Lesen von und Schreiben auf
eine entfernbare optische Platte 31, wie eine CD-ROM oder ein an
deres optisches Medium. Das Festplattenlaufwerk 27, das Magnet
plattenlaufwerk 28 und das optische Plattenlaufwerk 30 sind über
eine Festplattenlaufwerk-Schnittstelle 32, eine Magnetplattenlauf
werk-Schnittstelle 33 bzw. eine optische Laufwerk-Schnittstelle 34
mit dem Systembus 23 verbunden. Die Laufwerke und ihre zugehörigen
computerlesbaren Medien bieten einen nichtflüchtigen Speicher für
computerlesbare Befehle, Datenstrukturen, Programmodule und andere
Daten für den Personalcomputer 20. Obwohl die hier beschriebene
beispielhafte Umgebung eine Festplatte, eine entfernbare Magnet
platte 29 und eine entfernbare optische Platte 31 verwendet, würde
der Fachmann auf diesem Gebiet verstehen, daß in der beispielhaf
ten Betriebsumgebung auch andere Arten computerlesbarer Medien
verwendet werden können, die Daten speichern können, auf die von
einem Computer zugegriffen werden kann, wie Magnetkassetten,
Blitzspeicher-Karten (Flash-Speicher-Karten), digitale Bildplat
ten, Bernoulli-Kassetten, Arbeitsspeicher (RAMs), Festspeicher
(ROMs) und dergleichen.
Auf der Festplatte, der Magnetplatte 29, der optischen Platte 31,
dem ROM 24 oder dem RAM 25 können mehrere Programmodule gespeichert
werden, einschließlich eines Betriebssystems 35, eines oder mehre
rer Anwendungsprogramme 36, anderer Programmodule 37 und Programm
daten 38. Der Benutzer kann Befehle und Informationen in dem Per
sonalcomputer über Eingabeeinrichtungen, wie eine Tastatur 40 und
eine Lenkvorrichtung 42, eingeben. Andere Eingabeeinrichtungen
(nicht gezeigt) können ein Mikrophon, einen Joystick, ein Spiel
pad, eine Satellitenschüssel, einen Scanner oder dergleichen umfas
sen. Diese und andere Eingabevorrichtungen sind mit der Verarbei
tungseinheit 21 häufig über eine serielle Portschnittstelle 26
verbunden, die mit dem Systembus gekoppelt ist, sie können jedoch
auch über andere Schnittstellen angeschlossen sein, wie einen par
allelen Port, einen Game-Port oder einen universellen seriellen
Bus (USB). Ein Monitor 47 oder eine andere Art Anzeigeeinrichtung
ist ebenfalls über eine Schnittstelle mit dem Systembus 23 verbun
den, z. B. über einen Videoadapter 48. Zusätzlich zu dem Monitor
weisen Personalcomputer üblicherweise andere Peripherieausgabege
räte (nicht gezeigt) auf, wie Lautsprecher und Drucker.
Der Personalcomputer 20 kann in einer vernetzten Umgebung arbei
ten, die logische Verbindung zu einem oder mehreren entfernten
Computern nutzt, wie dem entfernten Computer 49. Der entfernte
Computer 49 kann ein anderer Personalcomputer, ein Server, eine
Leitwegsteuereinrichtung (Router), ein Netzwerk-PC, ein gleichran
giges Gerät oder ein anderer üblicher Netzknoten sein, und er um
faßt üblicherweise viele oder alle der oben in bezug auf den Per
sonalcomputer 20 beschriebenen Elemente, obwohl in Fig. 1 nur
eine Speichervorrichtung 50 abgebildet ist. Die in Fig. 1 gezeig
ten logischen Verbindungen umfassen ein lokales Netz (LAN) 51 und
ein Fernnetz (WAN) 52. Solche Netzumgebungen sind in Büros, unter
nehmensweiten Computernetzen, Intranetzen und dem Internet allge
mein üblich.
Wenn der Personalcomputer 20 in einer LAN-Netzumgebung eingesetzt
wird, ist er mit dem lokalen Netz 51 über eine Netzschnittstelle
oder einen Adapter 53 verbunden. Wenn er in einer WAN-Netzumgebung
eingesetzt wird, umfaßt der Personalcomputer 20 üblicherweise ein
Modem 54 oder eine andere Vorrichtung zum Aufbauen von Datenüber
tragungen über das Fernnetz 52, z. B. das Internet. Das Modem 54,
das im oder außerhalb des Computers liegen kann, ist mit dem Sy
stembus 23 über die serielle Portschnittstelle 46 verbunden. In
einer Netzumgebung können Programmodule, die in bezug auf den Per
sonalcomputer 20 dargestellt sind, oder deren Teile in der ent
fernten Speichervorrichtung gespeichert sein. Man wird verstehen,
daß die gezeigten Netzverbindungen lediglich Beispiele sind, und
daß auch andere Vorrichtungen zum Einrichten eines Übertragungs
weges zwischen den Computern eingesetzt werden können.
Der gezeigte Computer verwendet ein Betriebssystem, z. B. aus der
Windows-Betriebssystemreihe, die von der Microsoft Corportion er
hältlich sind. Die im folgenden beschriebene Funktionsweise wird
mit üblichen Programmiertechniken realisiert, welche die Verwen
dung von OLE- und COM-Schnittstellen umfaßt, die z. B. von Kraig
Brockschmidt in: Inside OLE 2; Microsoft Press, 1994 beschrieben
wurden, worauf Bezug genommen wird.
Die jüngeren Windows-Betriebssysteme verwenden etwas, das Win32
API genannt wird: eine genau definierte Gruppe aus Schnittstellen,
welche es den Anwendungsprogrammen ermöglichen, die von den Wind
ows-Betriebssystemen vorgesehenen Funktionen zu nutzen. Win32 API
ist in zahlreichen Veröffentlichen dokumentiert, einschließlich
von Richard Simon: Windows 95 Win32 Programming API Bible; Wait
Group Press, 1996, auf das Bezug genommen wird. In der folgenden
Erläuterung der Erfindung wird angenommen, daß der Leser mit die
ser Art der Programmierung grundsätzlich vertraut ist.
Fig. 2 zeigt die Komponenten der Architektur eines geschützten
Speichersystems gemäß der Erfindung zum Speichern von Datenelemen
ten und zum Schützen derselben gegen einen unerlaubten Zugriff.
Das geschützte Speichersystem erlaubt es Anwendungsprogrammen,
Datenelemente sicher zu speichern, die privat gehalten und nicht
manipuliert werden sollen. Solche Datenelemente umfassen krypto
graphische Schlüssel oder Verschlüsselungs-Schlüssel, Paßworte,
Finanzinformation, vertrauliche Berichte etc. Das Speichersystem
ist so konzipiert, daß es kleine Einheiten aus geheimen Kerndaten
bei einer zentralen gemeinsamen Speicherstelle aufbewahren kann;
wenn viele Daten geschützt werden sollen, kann anstelle der Daten
selbst geheime Urladeinformation (wie ein Verschlüsselungs-Schlüs
sel) in dem Speichersystem gespeichert werden. Dadurch können die
Datenelemente gegebenenfalls auf kleine sichere Hardwareeinrich
tungen, wie Smartcards, übertragen werden, und dadurch wird auch
ein unnötiger Verwaltungsaufwand vermieden, der anderenfalls zum
Sichern großer Datenfelder notwendig wäre.
Das geschützte Speichersystem wird von einem Computer betrieben,
wie dem oben mit Bezug auf Fig. 1 beschriebenen. Anwendungspro
gramme, wie das in Fig. 2 gezeigte Anwendungsprogramm 102, werden
ebenfalls von dem Computerprogramm ausgeführt.
Das Speichersystem 100 umfaßt eine Speicherserverkomponente 104,
die auch als Verteiler (Dispatcher) bezeichnet ist. Grundsätzlich
empfängt der Speicherserver über die Pstore-Schnittstelle 110 Da
tenelemente von den Anwendungsprogrammen, speichert die Datenele
mente sicher und gibt die Datenelemente abhängig von Anfragen der
Anwendungsprogramme zurück. Der Speicherserver führt auch Authen
tisierungs- und Überprüfungsprozeduren in bezug auf die anfragen
den Anwendungsprogramme durch, wie unten mit weiteren Einzelheiten
beschrieben ist.
Dem Speicherserver zugeordnet sind mehrere installierbare Spei
cherprovider 106 und mehrere installierbare Authentisierungsprovi
der 108. Bestimmte Speicherprovider werden von dem Speicherserver
aufgerufen, um Datenelemente sicher zu speichern und wiederzuge
winnen. Einer oder mehrere Authentisierungsprovider werden von dem
Speicherserver aufgerufen, um die momentanen Benutzer des Rechners
zu identifizieren und/oder zu authentisieren.
In dem Speichersystem ist ein Standard-Speicherprovider reali
siert. Der Standard-Speicherprovider verschlüsselt Datenelemente
und speichert sie dann auf einer Festplatte oder einer Diskette.
Die Verschlüsselung stützt sich auf einen oder mehrere Schlüssel,
die aus der Authentisierung des momentanen Benutzers des Computers
abgeleitet werden. Der Standard-Speicherprovider prüft auch die
Unversehrtheit der Datenelemente, wenn er diese wiedergewinnt und
entschlüsselt.
Ferner ist ein Standard-Authentisierungsprovider in dem Speicher
system realisiert. Der Standard-Authentisierungsprovider wird von
dem Speicherserver aufgerufen, um den momentanen Benutzer des Com
puters gestützt auf zuvor abgeschlossene Anmeldungsprozeduren des
Betriebssystems zu identifizieren. Insbesondere identifiziert der
Standard-Authentisierungsprovider den momentanen Benutzer des Com
puters gestützt auf die Anmeldeidentifikation und das Paßwort, die
von dem Benutzer geliefert werden, wenn er sich in dem Betriebs
system des Computers oder dem Betriebssystem eines Netzes anmeldet
(log-on).
Obwohl Standard-Speicher- und Authentisierungsprovider realisiert
sind, können in der Zukunft zusätzliche Provider installiert wer
den, um neue Speicher- und Authentisierungstechnologien auszunut
zen. Es könnte z. B. ein Smartcard-Speicherprovider installiert
werden, um die Speicherung von Kerndatenelementen auf einer Smart
card zu ermöglichen. Ähnlich könnte ein Smartcard-Authentisie
rungsprovider vorgesehen werden, um Benutzer zu authentisieren,
die ihre Smartcard in einen Smartcard-Leser einführen müßten. In
beiden Fällen könnte die Smartcard Verschlüsselungstechniken mit
öffentlichem Schlüssel verwenden.
Zwischen dem Speicherserver und den verschiedenen Providern werden
genau definierte COM-Schnittstellen verwendet, wodurch neue Provi
der leicht installiert und auf dem Speicherserver registriert wer
den können. Anwendungsprogramme können unabhängig davon, welche
Provider verwendet werden, dieselben Aufrufe an den Speicherserver
102 richten. Dadurch können die Anwendungsprogramme so geschrieben
werden, daß sie zukünftige Technologien ausnutzen, indem sie ein
fach mit dem Speicherserver 102 eine Wechselbeziehung aufbauen,
ohne sich selbst mit den Einzelheiten dieser zukünftigen Technolo
gien auseinandersetzen zu müssen.
Zur Erhöhung der Sicherheit wird das geschützte Speichersystem in
einem anderen Adressraum realisiert als das auf rufende Anwen
dungsprogramm. Datenübertragungen über die Prozeß- oder Adress
raumgrenze finden mit Hilfe von Prozeßfernaufrufen (RPC; remote
process calls) statt. Solche Aufrufe können unter dem Windows-Be
triebssystem und auch beim Arbeiten mit anderen Betriebssystemen
durchgeführt werden. Die Funktion und Formatierung von RPC-Aufru
fen ist in Microsoft Win32 Software Development Kit dokumentiert.
Obwohl Anwendungsprogramme RPC-Aufrufe direkt ausführen können,
ist es weniger kompliziert, wenn man eine dynamische Bibliothek
(DLL; dynamically linked library) vorsieht, die in den Adressräu
men der Anwendungsprogramme ausgeführt werden kann. Diese Biblio
thek, die in Fig. 2 als Pstore-Schnittstelle 110 bezeichnet ist,
realisiert mehrere Schnittstellen und zugehörige Verfahren, die
von den Anwendungsprogrammen aufgerufen werden können, um die
vollständige Funktionspalette des geschützten Speichersystems aus
zunutzen. Die Schnittstellen umfassen Verfahren zum Erzeugen und
Lesen von Datenelementen sowie andere nützliche Funktionen. Die
Schnittstellen und Verfahren sind bei mittels COM-Schnittstellen
des Betriebssystems Windows realisiert (COM = Component Object
Model; Komponenten-Objektmodell).
Das hier beschriebene geschützten Speichersystem hat leistungsfä
hige Möglichkeiten zum Steuern des Datenzugangs. Das Speichersy
stem bietet zwei Ebenen des Datenschutzes: einen Schutz auf der
Anwendungsebene und einen Schutz auf der Benutzerebene. Auf der
Anwendungsebene gibt der Speicherserver angeforderte Datenelemente
nur an authorisierte anfordernde Anwendungsprogramme zurück. Fer
ner authentisiert der Speicherserver die anfordernden Anwendungs
programme, bevor er die einzelnen Datenelemente zurückgibt. Die
Authentisierung der Anwendungsprogramme bezeichnet einen Vorgang,
bei dem ermittelt wird, ob ein Anwendungsprogramm manipuliert wur
de, oder einen anderen Prozeß zum Überprüfen der Vertrauenswürdig
keit eines Programms durch die Verwendung digitaler Verschlüssel
ungssignaturen mit öffentlichen/privaten Schlüsseln, oder anderer
Mittel. Der Authenticode von Microsoft ist ein Mechanismus, der
dafür zur Verfügung steht, mittels digitaler Signaturen zu über
prüfen, ob ein Anwendungsprogramm von einer bestimmten Person,
Gruppe oder Organisation veröffentlicht wurde und daher vertrau
enswürdig ist. Die Authenticode-Funktion ist von der Microsoft
Corporation als Teil ihres Win32 Software Development Kits öffent
lich erhältlich.
Bei der hier beschriebenen Ausführungsform werden Datenelemente
hierarchisch durch Spezifizieren von Typen und Untertypen wie
folgt organisiert:
Typ -- Untertyp -- Datenelement.
Typ -- Untertyp -- Datenelement.
Es gibt vordefinierte Typen und Untertypen, und Anwendungsprogram
me können neue Typen und Untertypen erzeugen. Für die Datenelemen
te, die zu bestimmten Typen und Untertypen gehören, können unter
schiedliche Schutzebenen eingerichtet werden. Insbesondere wird
für jeden Untertyp ein Zugangsregelsatz spezifiziert. Ein Zusatz
regelsatz enthält Regeln für verschiedene Typen und Untertypen der
Datenelemente. Der Zugang zu einem Datenelement eines bestimmten
Untertyps wird gewährt, wenn eine einzige Regel des entsprechenden
Regelsatzes erfüllt ist. Jede Zugangsregel umfaßt einen Modus und
eine oder mehrere Zugangsklauseln; alle Zugangsklauseln müssen er
füllt sein, bevor die Regel als erfüllt angesehen wird. Der Modus
gibt die Zugangsart an, welche genehmigt wird, wenn die Klauseln
einer Regel erfüllt sind. Derzeit sind zwei Zugangsmodi definiert:
Lese- und Schreibzugang.
Lese- und Schreibzugang.
Derzeit gibt es drei Arten von Zugangsklauseln: Authenticode (Au
thentisierungscode), Binary Check (binäre Überprüfung) und Securi
ty Descriptor (Sicherheits-Descriptor). Authenticode überprüft, ob
das Anwendungsprogramm, das Zugang auf die geschützten Daten an
fordert, sicher ist, und kann optimal ermitteln, ob der Erzeuger,
und somit die Anwendung des Erzeugers, vertrauenswürdig ist. Bina
ry Check stellt sicher, daß ein Programm seit der Installation
nicht manipuliert wurde. Die Security Descriptor-Klausel gewährt
Zugang gestützt auf Windows NTC-Zugangssteuerlisten (ACLs; access
control list).
Authenticode ist ein gut dokumentiertes Produkt und ein Dienst,
der von der Microsoft Corporation erhältlich ist. Wenn die Authen
ticode-Klausel zur Zeit der Erzeugung des Untertyps spezifiziert
wird, wird überprüft, ob die anfordernde Anwendung signiert ist
oder nicht, und wenn sie signiert ist, von wem. Die Klausel kann
eine bestimmte Quelle, einen bestimmten Aussteller von Zertifika
ten, Veröffentlicher (Signierer), einen Programmnamen oder eine
Kombination aus vorstehendem spezifizieren. Der Zugang wird nur
gewährt, wenn die spezifizierten Kriterien erfüllt sind. Wenn kei
ne Kriterien spezifiziert sind, führt die Überprüfung dazu, daß
jede von Authenticode überprüfte Anwendung oder jedes überprüfte
Modul Zugang zu den Daten erhält. Die Überprüfung mittels Authen
ticode verifiziert auch das binäre Bild des untersuchten Moduls.
Binary Check wird realisiert, indem eine Prüfsumme (Hash) eines
binären Bildes eines Anwendungsprogramms bei der Initialisierung
herangezogen wird. Wenn das Anwendungsprogramm später nach Daten
fragt, zieht das Speichersystem die Prüfsumme des Speicherbildes
heran und vergleicht sie mit der ursprünglichen Prüfsumme. Die
beiden Prüfsummen müssen übereinstimmen, bevor das geschützte
Speichersystem dem Anwendungsprogramm Zugang zu den angeforderten
Daten gewährt. Wenn sich somit das Anwendungsprogramm geändert
hat, seit es installiert wurde, und es somit wahrscheinlich ist,
daß es manipuliert wurde, sind die Daten geschützt, und der Anwen
dung wird der Zugang zu den Daten verweigert.
Die Security Descriptor-Klausel soll nur bestimmten Benutzergrup
pen Zugang gewähren, und sie wird daher auf Windows-NT-Plattformen
durchgesetzt. Diese Klausel holt sich die notwendige Information
über die Benutzer und Gruppen aus den ACLS, die in dem Windows
NT-Sicherheitsdescriptor enthalten sind.
Auf der Benutzerebene gewährt der Speicherserver Zugang zu einzel
nen Datenelementen abhängig von dem momentanen Benutzer des Compu
ters; gemäß dem Standard oder der Voreinstellung erhält nur der
Benutzer Zugang zu einem Datenelement, der es erzeugt hat. Ein
Benutzer kann diese Voreinstellung jedoch verändern, indem er beim
Erzeugen und Speichern von Datenelementen geeignete Optionen spe
zifiziert, oder der Benutzer kann die Zugangsrechte zu den Daten
später verändern.
Benutzer- und Anwendungsprogramme können Sicherheitsstile (Styles)
spezifizieren, die einen Grad oder eine Art der Bestätigung oder
Authentisierung spezifizieren, der zum Zugreifen auf ein bestimm
tes Datenelement erforderlich ist; z. B., ob ein Paßwort notwendig
ist. Die heutige Ausführungsform - mit dem Standard-Authentisie
rungsprovider - unterstützt die folgenden Zugangsstile:
- - stummer Zugang: es ist keine Interaktion des Benutzers not wendig. Die Authentisierung stützt sich auf eine zuvor abge schlossene Authentisierungsprozedur des Betriebssystems des Computers oder Netzes. In den meisten Fällen verläßt sich diese Art der Authentisierung darauf, daß der Benutzer wäh rend einer vorhergehenden Anmeldeprozedur das richtige Paß wort eingeben kann, und wenn auf die geschützten Daten tat sächlich zugegriffen wird, ist keine weitere Interaktion notwendig.
- - Anmeldepaßwort: Es wird ein Dialogkasten angezeigt, der den Benutzer auffordert, das Paßwort einzugeben, daß er zuvor beim Anmelden auf dem Computer oder in dem Netz verwendet hat.
- - Benutzerdefiniertes Paßwort: Der Benutzer spezifiziert ein Paßwort, wenn ein Element erstmalig gespeichert wird, und er muß das Paßwort eingeben, bevor er erneut auf die Daten zu greifen kann. Solche Paßworte können sich für unter schiedliche Datenelemente unterscheiden, oder Gruppen aus Datenelementen können unter demselben Paßwort gespeichert werden.
- - OK/Löschen: Wenn ein Anwendungsprogramm versucht, auf die Daten zuzugreifen, erscheint ein Dialogkasten. Der Benutzer reagiert auf den Dialogkasten durch Anklicken einer OK- oder Verweigerungstaste, wodurch er einem anf ragenden Anwen dungsprogramm den Zugang zu den Daten gewährt oder den Zu gang verweigert.
Wie aus den verschiedenen Arten der Zugangsstile offensichtlich
wird, kann das Zugreifen auf Elemente in dem geschützten Speicher
die Interaktion des Benutzers erfordern. Diese Interaktion wird
durch die Verwendung eines Benutzerwarn-Dialogkastens realisiert.
Üblicherweise muß der Benutzer ein Paßwort eingeben, wenn ein Be
nutzerwarn-Dialogkasten auftaucht. Jedoch können verschiedene Au
thentisierungsprovider unterschiedliche Arten von Reaktionen er
warten (wie das physische Einfügen eines Hardware-Tokens oder bio
metrische Authentisierungsprozeduren).
Um zu verhindern, daß angreifende Programme ähnliche Benutzerwarn
dialoge darstellen und dadurch Zugang zu geheimen Daten erlangen,
können die Benutzerwarndialoge von dem Benutzer angepaßt werden.
Insbesondere kann ein Benutzer ein bestimmtes Hintergrund- oder
digitales Wasserzeichen spezifizieren, daß in dem Benutzerwarn-
Dialogkasten verwendet wird. Alternativ kann ein solches Wasser
zeichen für den Benutzer nach dem Zufallsprinzip erzeugt werden.
Der Benutzer wird mit dem gewählten Wasserzeichen vertraut und
erkennt dadurch nicht authorisierte Dialogkästen, die von angrei
fenden Anwendungsprogrammen erzeugt wurden.
Verschiedene Speicherprovider können gespeicherte Daten auf unter
schiedliche Arten schützen. Üblicherweise wird jedoch immer ir
gendeine Art der Verschlüsselung verwendet. Der hier beschriebene
Standard-Provider verwendet ein Verschlüsselungsverfahren, daß
sich auf ein Paßwort stützt, bei dem Datenelemente gestützt auf
ein vom Benutzer geliefertes Paßwort oder einen anderen Code, der
mit der Authentisierung des Benutzers in Verbindung steht, ver
schlüsselt werden, bevor die Datenelemente gespeichert werden.
Wenn die Datenelemente wiedergewonnen werden, stützt sich die Ent
schlüsselung auf dasselbe Paßwort oder denselben Code.
Wenn ein Datenelement durch den erläuterten Sicherheitsstil mit
"benutzerdefiniertem Paßwort" geschützt ist, gibt der Benutzer
während eines Authentisierungsschrittes ein Paßwort für jedes Da
tenelement explizit ein, wobei dieser Schritt ausgelöst wird, be
vor Zugang zu einem einzelnen Datenelement gewährt wird. Im Falle
eines "stummen Zugangs" stützen sich die Verschlüsselung und die
Entschlüsselung auf ein Paßwort oder einen anderen Code, der von
dem momentanen Benutzer des Computers während einer vorhergehenden
Authentisierungs- oder Anmeldeprozedur des Betriebssystems des
Computers oder des Netzes geliefert wurde. Üblicherweise werden
der Anmeldename und das Paßwort des Benutzers dazu verwendet, ei
nen Schlüssel zu bilden oder abzuleiten, der zum Verschlüsseln und
Entschlüsseln der Datenelemente verwendet wird.
Bei der beschriebenen Ausführungsform wird eine Technik mit
Schlüsseln in mehreren Ebenen verwendet, um Datenelemente gestützt
auf vom Benutzer gelieferte Codes oder Paßworte zu verschlüsseln.
Diese Technik ist in Fig. 3 gezeigt. Bei dieser Ausführungsform
verwenden die Verschlüsselung und die Entschlüsselung einen oder
mehr Schlüssel, die aus den gelieferten Paßworten oder Anmelde
codes abgeleitet werden. Wie erwähnt, können das Paßwort oder der
Code entweder aus einem vorhergehenden Authentisierungsschritt
entnommen werden, oder das Speichersystem kann den momentanen Be
nutzer des Computers nach einem Paßwort fragen.
Im allgemeinen wird für jedes Datenelement nach dem Zufallsprinzip
ein Elementschlüssel erzeugt. Das Datenelement wird mit seinem
entsprechenden Elementschlüssel verschlüsselt. Ein Elementauthen
tisierungsschlüssel wird ebenfalls für jedes Datenelement nach dem
Zufallsprinzip erzeugt und zum Erzeugen eines Elementauthentisie
rungscodes verwendet. Elementauthentisierungscodes werden während
der Entschlüsselung verwendet, um sicherzustellen, daß die Daten
elemente richtig entschlüsselt werden.
Der Elementschlüssel und der Elementauthentisierungsschlüssel wer
den dann mit einem Masterschlüssel verschlüsselt. Der Master
schlüssel ist eine nach dem Zufallsprinzip erzeugte Zahl. Es wird
auch ein Masterauthentisierungsschlüssel erzeugt und zum Berechnen
eines Schlüsselauthentisierungscodes verwendet, so daß später die
richtige Entschlüsselung des Elementschlüssels und des Elementau
thentisierungsschlüssels überprüft werden kann. Schließlich werden
der Masterschlüssel und der Masterauthentisierungsschlüssel mit
einem Paßwort verschlüsselt, das aus der Authentisierung oder
Identifikation des Benutzers abgeleitet wird.
Bei den spezifischen Schritten der Fig. 3 ist ein einzelnes Da
tenelement, das verschlüsselt und gespeichert werden soll, mit dem
Bezugszeichen 130 bezeichnet. Zum Verschlüsseln des Datenelementes
130 mit einem Elementschlüssel 132 wird ein Schritt oder eine Ope
ration 131 ausgeführt. Insbesondere wird der Verschlüsselungs-
Schlüssel 132 dazu verwendet, mit dem Datenelement 130 eine
DES-Verschlüsselung durchzuführen. Der Elementschlüssel 132 wird von
dem Standard-Speicherprovider als eine Zufallszahl erzeugt.
Der Speicherprovider führt auch einen Schritt 133 aus, in dem er
für das einzelne Datenelement 130 einen Elementauthentisierungs
code erzeugt. Der Elementauthentisierungscode wird mit Hilfe eines
MAC (message authentication code; Nachrichtenauthentisierungscode)
in Verbindung mit einem nach dem Zufallsprinzip erzeugten Element
authentisierungsschlüssel 134 erzeugt. MACs sind in dem oben er
wähnten Text von Schneier beschrieben.
Dann wird ein weitere Schritt 140 ausgeführt, in dem der Element
schlüssel 132 und der Elementauthentisierungsschlüssel 134 mit
einem Masterschlüssel 141 verschlüsselt werden, wobei wiederum die
oben erwähnte DES-Verschlüsselung verwendet wird. Der Master
schlüssel ist eine Zufallszahl. In einem Schritt 142 wird ein
Schlüsselauthentisierungscode für die Kombination aus dem Element
schlüssel und dem Elementauthentisierungsschlüssel erzeugt. Der
Schlüsselauthentisierungscode wird mit einem MAC in Verbindung mit
einem nach dem Zufallsprinzip erzeugten Masterauthentisierungs
schlüssel 143 erzeugt.
In einem Schritt 145 wird die Verschlüsselung des Masterschlüssels
und des Masterauthentisierungsschlüssels mit einem Benutzerschlüs
sel 146 durchgeführt. Hierbei handelt es sich wiederum um eine
DES-Verschlüsselung.
Der Benutzerschlüssel wild aus einem vom Benutzer gelieferten Paß
wort oder Code abgeleitet, das in Fig. 3 durch das Bezugszeichen
147 bezeichnet ist. Zum Erzeugen des Masterschlüssels wird das vom
Benutzer gelieferte Paßwort 147 an eine Zufallszahl angehängt, die
als Salz (salt) 148 bezeichnet ist, und in einem Schritt 149 wird
mit eine SHA-1-Hash-Funktion ein Hash-Code gebildet. Dies führt zu
einer Zahl, die als der Benutzerschlüssel verwendet wird.
Nach Ausführung dieser Schritte speichert der Speicherserver die
verschlüsselten einzelnen Datenelemente, den Elementauthentisie
rungscode, den verschlüsselten Elementschlüssel, den verschlüssel
ten Elementauthentisierungsschlüssel, den Schlüsselauthentisie
rungscode, den verschlüsselten Masterschlüssel und den verschlüs
selten Masterauthentisierungscode, damit sie später wiedergewonnen
werden können, wenn ein authorisiertes Anwendungsprogramm sie be
nötigt.
Das Wiedergewinnen umfaßt den umgekehrten Vorgang. Die verschlüs
selten Elemente werden aus dem Speicher abgerufen. Der Speicher
provider leitet aus dem vom Benutzer gelieferten Paßwort den Be
nutzerschlüssel ab und verwendet den Benutzerschlüssel zum Ent
schlüsseln des Masterschlüssels und des Masterauthentisierungs
schlüssels. Der Masterauthentisierungsschlüssel wird in Verbindung
mit dem spezifizierten MAC dazu verwendet, zu überprüfen, ob der
Masterschlüssel richtig entschlüsselt wurde. Dann wird der Master
schlüssel zum Entschlüsseln eines geeigneten Elementschlüssels und
eines entsprechenden Elementauthentisierungsschlüssels verwendet.
Der Elementauthentisierungsschlüssel wird in Verbindung mit dem
MAC dazu verwendet, zu überprüfen, ob der Elementschlüssel richtig
entschlüsselt wurde. Dann wird der Elementschlüssel dazu verwen
det, das eigentliche Datenelement zu entschlüsseln.
Dieser Prozeß ermöglicht es, alle Datenelemente eines Benutzers
mit Hilfe eines einzigen Masterschlüssels zu kontrollieren, der
seinerseits als Funktion des Paßwortes des Benutzers verschlüsselt
wird. Der Vorteil dieses Verfahrens liegt darin, daß Datenelemente
nicht neu verschlüsselt werden müssen, wenn der Benutzer sein
Paßwort ändert. Statt dessen muß nur der Masterschlüssel neu ver
schlüsselt werden.
Der Speicherserver, die Speicherprovider und die Authentisierungs
provider verwenden Sicherheits-Verriegelungsmechanismen, um Si
cherheitsverletzungen zu verhindern, die sich aus der Manipulation
der Systemkomponenten ergeben könnten. Diese Mechanismen nutzen
Verschlüsselungstechniken.
Eine Motivation für die Sicherheitsverriegelungsmechanismen liegt
darin, zu verhindern, daß nicht authorisierte Provider von dem
Speicherserver geladen werden. Es ist besonders wichtig, zu ver
hindern, daß sich ein nichtauthorisiertes Modul als ein authori
sierter Provider verkleidet, weil ein nichtauthorisiertes Modul
geheime Daten aus dem System stehlen könnte. Eine andere Motiva
tion liegt darin, zu verhindern, daß der Speicherserver selbst
manipuliert wird.
Wenn der Server und die Provider versandt werden, sind sie mit dem
privaten Schlüssel eines öffentlichen/privaten Verschlüsselungs-
Schlüsselpaares digital signiert - der private Schlüssel hat einen
entsprechenden öffentlichen Schlüssel. Der öffentliche Schlüssel
wird dann in den verschiedenen Modulen des Servers und der Provi
der fest codiert. Der Server und die Provider sind so konfigu
riert, daß sie die Signaturen des jeweils anderen mit Hilfe des
öffentlichen Verschlüsselungs-Schlüssels immer dann überprüfen,
wenn eine einzelne Komponente geladen und ausgeführt wird. Wenn
der Server geladen wird, überprüft er zunächst seine eigene Unver
sehrtheit, indem er seine eigene digitale Signatur mit dem öffent
lichen Schlüssel überprüft. Der Server prüft dann die digitalen
Signaturen anderer Kernkomponenten immer dann, wenn sie geladen
werden. Während jede Komponente geladen wird, überprüft sie die
digitale Signatur des Servers. Wenn eine Überprüfung auf Unver
sehrtheit negativ ausfällt, arbeitet keine der Komponenten.
Wie oben erläutert, kann der Zugang zu Datenelementen gestützt
darauf beschränkt werden, welche Anwendungsprogramme versuchen,
auf die Datenelemente zuzugreifen. Damit dieses Merkmal zuverläs
sig arbeitet, muß das Speichersystem überprüfen, daß sie Anwen
dungsprogramme sind, wer sie vorgeben zu sein, und daß sie nicht
manipuliert wurden. Dieser Prozeß wird als Programmauthentisierung
bezeichnet. Eine Option besteht darin, Programme gestützt auf eine
binäre Überprüfung zu Authentisieren. Eine solche Authentisierung
wird in zwei Speicherservermodulen ausgeführt: Dem Indentifika
tionsmodul und dem Durchsetzungsmodul.
Das Identifikationsmodul ist verantwortlich für die Abfrage des
Klienten, der den Speicherserver aufruft. Um einen Prozeß zu iden
tifizieren, der zu einer Anfrage gehört, werden die folgenden
Schritte ausgeführt:
- 1. Das Klient-Anwendungsprogramm identifiziert sich gegenüber dem Server selbst, indem es diesem zwei Informationsstücke liefert: eine Prozeß-ID (Prozeßidentifikation) und ein Thread Handle (Zugangsparameter zu Anwendungsprogrammeinhei ten). Die Prozeß-ID wird mit dem Systemaufruf GetCurrentPro cessId() erhalten; der Threat Handle wird mit den Systemauf rufen GetCurrentThreat() und DuplicateHandle() erhalten.
- 2. Der Speicherserver öffnet einen Handle (Zugriffsparameter) zu dem Klienten, indem er die Prozeß-ID in einem Aufruf an den Systemaufruf OpenProcess() verwendet. Der Speicherserver speichert diesen Handle zum späteren Gebrauch.
- 3. Der Klient fordert Datenelemente an.
- 4. Der Server verwendet den oben erhaltenen Process Handle zum Analysieren des Speicheradressraums, der zu dem Klientprozeß gehört. Der Server verwendet diesen Handle auch dazu, das darunterliegende Betriebssystem nach ausführbaren Modulen (.exe, .dll, etc. Dateien) abzufragen, die in dem zugehöri gen Prozeß vorkommen, zusätzlich zu der Ermittlung der Mo dul-Ladeadresse; das genaue Verfahren, das zum Abfragen des Betriebssystems verwendet wird, hängt von dem Betriebssystem ab.
- 5. Der Server hat nun eine vollständig Liste der Module, die zu dem Klienten gehören, und verwendet diese zum Analysieren des Aufrufstapels, der zu dem oben erhaltenen Threat Handle gehört. Der Systemaufruf StackWalk() wird dazu verwendet, die Kette der aufrufenden Programmeinheiten zu ermitteln, die zu dem Klient gehören.
Das Durchsetzungsmodul verwendet die von dem Identifikationsmodul
gelieferten Ergebnisse für folgende Überprüfungen:
- 1. Überprüfen, ob die in den Klientprozeß geladene Abbildung
nicht auf der Platte manipuliert wurde. Dies erreicht man
durch Speichern einer verschlüsselten Darstellung der Da
tei(en), auf die Zugriff gewährt werden soll. Diese Ver
schlüsselte Darstellung wird zusammen mit den Darstellungen
gespeichert. Zwei verschlüsselte Darstellungen der Datei
sind möglich:
- - Die gesamte Datei wird gelesen und dann dem Hash-Ver schlüsselungsalgorithmus SHA-1 unterworfen. Das Aus gangssignal der Hash-Funktion wird zusammen mit den Daten gespeichert. Wenn später auf die Daten zugegrif fen werden soll, wird die Hash-Funktion mit der auf der Platte gespeicherten Datei erneut berechnet und dann mit dem gemeinsam mit den Daten gespeicherten Er gebnis verglichen. Wenn diese gleich sind, geht der Prozeß zu dem zweiten Überprüfungsschritt unten wei ter.
- - Die Datei wird auf der Grundlage eines Zertifikats mit öffentlichem Schlüssel einer Gültigkeitsprüfung unter zogen. Dazu werden Microsoft Authenticode-Aufrufe ver wendet, um zu überprüfen, daß die Abbildung nicht ma nipuliert wurde. Der Authenticode sorgt intern für die Hash-Verarbeitung der Plattenabbildung. Diese Ver schlüsselungsdarstellung der Datei ist flexibler, weil sie auch eine Gültigkeitsprüfung im Verhältnis zu ver schiedenen Feldern in dem Zertifikat ermöglicht, das an die spezielle Datei angehängt ist. Nach der Über prüfung mit Authenticode analysiert das System den Inhalt des Zertifikats, um sicherzustellen, daß er mit dem gemeinsam mit den Daten, auf die zugegriffen wer den soll, gespeicherten Inhalt übereinstimmt.
- 2. Überprüfung, ob die Abbildung auf der Platte der Abbildung
entspricht, die in den Klientprozeß geladen wird.
- - Das zu überprüfende Modul wird auf dem Serveradress raum "abgebildet", wobei die System-API-Aufrufe Crea teFileMapping() und MapViewOfFile() verwendet werden.
- - Falls notwendig, wird das abgebildete Bild neu ange ordnet - nur wenn die Abbildung nicht bei der bevor zugten Adresse in dem Adressraum des Klienten geladen wurde.
- - Das System macht eine Schleife um den Kopfteil (Header) der Abbildung und sucht nach Nur-Lese-Ab schnitten, wie Codeabschnitten, Betriebsmitteln und Nur-Lese-Daten. Für jeden Abschnitt aktualisiert es einen Hash-Verschlüsselungswert auf der Grundlage von SHA-1.
- - Der Prozeßhandle-Ausgangswert aus dem Identifikations modul wird dann dazu verwendet, den Speicheradressraum zu lesen, bei dem das Modul geladen wurde. Dies er reicht man mit dem Systemaufruf ReadProcessMemory() Jeder Abschnitt des Speichers wird auf die oben be schriebene Weise gelesen, wobei mit fortlaufendem Pro zeß ein Hash-Verschlüsselungswert aktualisiert wird.
- - Das System vergleicht die beiden Hash-Werte, die sich aus den unmittelbar vorhergehenden Schritten ergeben. Wenn sie übereinstimmen, wurde die Abbildung in dem Speicher nicht manipuliert.
Wie oben beschrieben werden an die Schnittstellen Anwendungspro
gramme angelegt, so daß die Anwendungsprogramme die geschützten
Speichermerkmale ausnutzen können, ohne daß sie selbst komplizier
te Verschlüsselungsverfahren realisieren und RPC-Aufrufe machen
müssen.
Die vorliegende Erfindung sieht eine vielseitige und effiziente
Architektur vor, die im Vergleich zum Stand der Technik eine Reihe
von Vorteilen bietet. Ein wichtiger Vorteil besteht darin, daß
unterschiedliche Anwendungsprogramme einen einzelnen vorgegebenen
Server (Dienst) dazu verwenden können, geheime Kerndaten in einem
zentralen Speicherbereich zu speichern. Dies fördert die Konsi
stenz unter den Anwendungen und beseitigt einen erheblichen Ver
waltungsaufwand aus den Anwendungen. Die Benutzerschnittstelle ist
ein Bereich, der von dieser Konsistenz profitiert, die von dem
oben beschriebenen Speichersystem vorgesehen wird, weil die Auf
forderung an den Benutzer von dem System anstelle von den einzel
nen Anwendungsprogrammen erzeugt werden. Das Speichern von Daten
elementen auf gleichförmige Weise ermöglicht es auch, daß sie von
einem einzigen Managementprogramm verwaltet werden, das unabhängig
von dem Anwendungsprogrammen selbst ist.
Ein weiterer bedeutender Vorteil der Erfindung ist, daß die zu
grundeliegenden Details zur Sicherung der Datenelemente den aufru
fenden Anwendungsprogrammen verborgen sind. Somit müssen Programm
entwickler keine komplizierten Sicherheitsmechanismen realisieren;
solche Mechanismen können durch einfache Aufrufe an das hier be
schriebene Speichersystem realisiert werden. Ein zusätzlicher Vor
teil liegt darin, daß neue Technologien, wie Smartcards, von den
Anwendungsprogrammen genutzt werden könne, ohne daß eine umfang
reiche Neuprogrammierung notwendig ist.
Die Erfindung schützt Geheimnisse gegen Angriffen von Benutzer-
oder Softwareseite, einschließlich Zugriffe durch Viren. Wichtig
ist, daß die Zugangssteuerung außerhalb der Anwendungsprogramme
verwaltet wird, welche die Datenelemente erzeugen und auf diese
zugreifen. Da die Anwendungsprogramme keinen direkten Zugang zu
dem Verschlüsselungsmaterial oder anderen Steuerdaten haben, im
pliziert der Zugriff auf eine Dateneinheit nicht den Zugriff auf
andere Daten. Ferner behält das Speichersystem nicht selbst die
Information zurück, die zum Entschlüsseln der gespeicherten Daten
elemente erforderlich ist. Vielmehr muß ein Benutzer anwesend sein
und ein richtiges Paßwort liefern, um die Datenentschlüsselung zu
ermöglichen.
Ein weitere wichtiger Vorteil der Erfindung besteht darin, daß die
Benutzer nicht explizit ihre Paßworte eingeben müssen, wenn Zugang
zu den Daten benötigt wird. Vielmehr wird die Authentisierung des
Benutzers einmal ausgeführt, wenn sich der Benutzer auf dem Rech
ner oder in dem Netz anmeldet. Diese Anmeldeinformation wird so
wohl für die Authentisierung des Benutzers als auch zum Ableiten
von Schlüsseln für die Verschlüsselung und Entschlüsselung der
Daten verwendet.
Obwohl die Erfindung anhand von Vorrichtungsmerkmalen und/oder
Verfahrensschritten beschrieben wurde, muß man verstehen, daß die
in den Ansprüchen definierte Erfindung nicht notwendig auf die
speziellen beschriebenen Merkmale und Schritte beschränkt ist. Die
speziellen Merkmale und Schritte sind vielmehr als Ausführungsbei
spiele zur Realisierung der Erfindung offenbart. Die in der vor
stehenden Beschreibung, den Ansprüchen und den Zeichnungen offen
barten Merkmale können sowohl einzeln als auch in beliebiger Kom
bination für die Realisierung der Erfindung in ihren verschiedenen
Ausführungsformen von Bedeutung sein.
Claims (72)
1. System zum Speichern von Datenelementen und zum Schützen
dieser Datenelemente gegen unerlaubten Zugriff, mit
einem Speicherserver (104), der Datenelemente von Anwen dungsprogrammen empfängt und diese Datenelemente abhängig von Anfragen der Anwendungsprogramme zurückgibt;
einem oder mehreren Speicherprovidern (106), die von dem Speicherserver aufgerufen werden und die Datenelemente si cher speichern und wiedergewinnen; und
einem oder mehreren Authentisierungsprovidern (108), die von dem Speicherserver aufgerufen werden, um momentane Be nutzer des Systems zu identifizieren.
einem Speicherserver (104), der Datenelemente von Anwen dungsprogrammen empfängt und diese Datenelemente abhängig von Anfragen der Anwendungsprogramme zurückgibt;
einem oder mehreren Speicherprovidern (106), die von dem Speicherserver aufgerufen werden und die Datenelemente si cher speichern und wiedergewinnen; und
einem oder mehreren Authentisierungsprovidern (108), die von dem Speicherserver aufgerufen werden, um momentane Be nutzer des Systems zu identifizieren.
2. System nach Anspruch 1, bei dem der Speicherserver so kon
figuriert ist, daß er installierbare Speicherprovider auf
ruft.
3. System nach Anspruch 1 oder 2, bei dem der Speicherserver
so konfiguriert ist, daß er installierbare Authentisie
rungsprovider aufruft.
4. System nach einem der vorangehenden Ansprüche, bei dem der
Speicherserver in einem anderen Adressraum läuft als die
Anwendungsprogramme.
5. System nach Anspruch 4, bei dem der Speicherserver über
Prozedurfernaufrufe aufgerufen wird.
6. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Authentisierungsprovider einen Au
thentisierungsprovider umfassen, der Benutzer gestützt auf
eine vorhergehenden Netzauthentisierung identifiziert.
7. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der Datenelemente vor der Speicherung ver
schlüsselt und vor der Wiedergewinnung entschlüsselt.
8. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der die Unversehrtheit der Datenelemente
bei der Wiedergewinnung überprüft.
9. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der die Datenelemente mit einem oder mehre
ren Schlüsseln, die aus der Authentisierung des momentanen
Benutzers des Systems abgeleitet werden, verschlüsselt und
entschlüsselt.
10. System nach Anspruch 9, bei dem der eine oder die mehreren
Schlüssel aus einem vom Benutzer gelieferten Code abgelei
tet werden, wobei der Speicherserver den momentanen Benut
zer nach dem vom Benutzer gelieferten Code fragt.
11. System nach Anspruch 9, bei dem der eine oder die mehreren
Schlüssel aus einem Netzwerk-Anmeldecode abgeleitet werden,
der von dem momentanen Benutzer des Systems geliefert wird.
12. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der Datenelemente unter Verwendung eines
oder mehrerer Schlüssel, die aus einem vom Benutzer gelie
ferten Code abgeleitet werden, sicher speichert und wieder
gewinnt.
13. System nach Anspruch 12, bei dem der vom Benutzer geliefer
te Code ein Netzwerk-Anmeldecode ist.
14. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der Datenelemente nach Maßgabe der folgen
den Schritte speichert;
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus einem vom Benutzer gelieferten Code ab geleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der verschlüsselten Elementschlüssel und des verschlüsselten Masterschlüssels.
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus einem vom Benutzer gelieferten Code ab geleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der verschlüsselten Elementschlüssel und des verschlüsselten Masterschlüssels.
15. System nach einem der Ansprüche 1 bis 13, bei dem der eine
oder die mehreren Speicherprovider einen Speicherprovider
umfassen, der Datenelementen nach Maßgabe der folgenden
Schritte speichert:
Speichern;
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Erzeugen von Schlüsselauthentisierungscodes für einzelne Datenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der Elementschlüssel und der Elementauthenti sierungsschlüssel mit einem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes für Element schlüssel und Elementauthentisierungsschlüssel mit einem Masterauthentisierungsschlüssel;
Verschlüsseln des Masterschlüssels und des Masterauthenti sierungsschlüssels mit einem Benutzerschlüssel, der aus einem vom Benutzer gelieferten Code abgeleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der Elementauthentisierungscodes, der verschlüsselten Element schlüssel, der verschlüsselten Elementauthentisierungs schlüssel, der Schlüsselauthentisierungscodes, des ver schlüsselten Masterschlüssels und des verschlüsselten Ma sterauthentisierungsschlüssel.
Speichern;
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Erzeugen von Schlüsselauthentisierungscodes für einzelne Datenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der Elementschlüssel und der Elementauthenti sierungsschlüssel mit einem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes für Element schlüssel und Elementauthentisierungsschlüssel mit einem Masterauthentisierungsschlüssel;
Verschlüsseln des Masterschlüssels und des Masterauthenti sierungsschlüssels mit einem Benutzerschlüssel, der aus einem vom Benutzer gelieferten Code abgeleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der Elementauthentisierungscodes, der verschlüsselten Element schlüssel, der verschlüsselten Elementauthentisierungs schlüssel, der Schlüsselauthentisierungscodes, des ver schlüsselten Masterschlüssels und des verschlüsselten Ma sterauthentisierungsschlüssel.
16. System nach einem der vorangehenden Ansprüche, bei dem der
eine oder die mehreren Speicherprovider einen Speicherpro
vider umfassen, der Datenelemente nach Maßgabe der folgen
den Schritte wiedergewinnt:
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssels;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus einem von dem Benutzer ge lieferten Code abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssels;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus einem von dem Benutzer ge lieferten Code abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
17. System nach einem der vorangehenden Ansprüche, bei dem der
Speicherserver Zugang zu einzelnen Datenelementen abhängig
von dem momentanen Benutzer des Systems gewährt.
18. System nach einem der vorangehenden Ansprüche, bei dem der
Speicherserver angeforderte Datenelemente nur an authori
sierte anfordernde Anwendungsprogramme zurückgibt.
19. System nach Anspruch 18, bei dem der Speicherserver anfor
dernde Anwendungsprogramme authentisiert, bevor er einzelne
Datenelemente zurückgibt.
20. System nach Anspruch 18 oder 19, bei dem der Speicherserver
die anfordernden Anwendungsprogramme authentisiert, indem
er eine Verschlüsselung mit öffentlichem Schlüssel verwen
det, bevor er einzelne Datenelemente zurückgibt.
21. System nach einem der vorangehenden Ansprüche, bei dem der
Speicherserver auf Anforderungen von Anwendungsprogrammen
reagiert, indem er einen Dialog mit dem Benutzer eröffnet,
in dem der momentane Benutzer des Systems Paßworte spezifi
zieren kann, die von dem Speicherprovider verwendet werden
sollen, um Datenelemente sicher zu speichern und wiederzu
gewinnen.
22. System nach einem der vorangehenden Ansprüche, bei dem der
Speicherserver, die Speicherprovider und die Authentisie
rungsprovider einzeln mit einem privaten Verschlüsselungs-
Schlüssel signiert sind, der einem öffentlichen Verschlüs
selungs-Schlüssel entspricht; wobei der Speicherserver, die
Speicherprovider und die Authentisierungsprovider so kon
figuriert sind, daß sie die Signaturen der jeweils anderen
mit dem öffentlichen Verschlüsselungs-Schlüssel überprüfen.
23. System zum Speichern von Datenelementen und zum Schützen
dieser Datenelemente gegen unerlaubten Zugriff, mit
einem Speicherserver, der Datenelemente von Anwendungspro grammen empfängt und diese Datenelemente abhängig von An forderungen der Anwendungsprogramme zurückgibt, wobei der Speicherserver in einem anderen Adressraum läuft als die Anwendungsprogramme und über Prozedurfernaufrufe aufgerufen wird;
einem Speicherprovider, der von dem Speicherserver aufgeru fen wird, um die Datenelemente sicher zu speichern und wie derzugewinnen, wobei der Speicherprovider die Datenelemente vor der Speicherung mit einem oder mehreren Schlüsseln ver schlüsselt, die aus einer Authentisierung des momentanen Benutzers des Systems abgeleitet sind, und die Unversehrt heit der Datenelemente bei der Wiedergewinnung überprüft;
einem Authentisierungsprovider, der von dem Speicherprovi der aufgerufen wird, um den momentanen Benutzer des Systems zu identifizieren, wobei der Authentisierungsprovider den Benutzer gestützt auf eine vorhergehende Anmeldeprozedur in dem Betriebssystem identifiziert.
einem Speicherserver, der Datenelemente von Anwendungspro grammen empfängt und diese Datenelemente abhängig von An forderungen der Anwendungsprogramme zurückgibt, wobei der Speicherserver in einem anderen Adressraum läuft als die Anwendungsprogramme und über Prozedurfernaufrufe aufgerufen wird;
einem Speicherprovider, der von dem Speicherserver aufgeru fen wird, um die Datenelemente sicher zu speichern und wie derzugewinnen, wobei der Speicherprovider die Datenelemente vor der Speicherung mit einem oder mehreren Schlüsseln ver schlüsselt, die aus einer Authentisierung des momentanen Benutzers des Systems abgeleitet sind, und die Unversehrt heit der Datenelemente bei der Wiedergewinnung überprüft;
einem Authentisierungsprovider, der von dem Speicherprovi der aufgerufen wird, um den momentanen Benutzer des Systems zu identifizieren, wobei der Authentisierungsprovider den Benutzer gestützt auf eine vorhergehende Anmeldeprozedur in dem Betriebssystem identifiziert.
24. System nach Anspruch 23, bei dem der eine oder die mehreren
Schlüssel aus einem Betriebssystem-Anmeldecode abgeleitet
werden, der von dem momentanen Benutzer des Systems gelie
fert wird.
25. System nach Anspruch 23, bei dem der eine oder die mehreren
Schlüssel aus einem vom Benutzer gelieferten Code abgelei
tet werden.
26. System nach einem der Ansprüche 23 bis 25, bei dem der
Speicherprovider Datenelemente nach Maßgabe der folgenden
Schritte speichert:
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus einem vom Benutzer gelieferten Code ab geleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der verschlüsselten Elementschlüssel und des verschlüsselten Speicherschlüssels.
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus einem vom Benutzer gelieferten Code ab geleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der verschlüsselten Elementschlüssel und des verschlüsselten Speicherschlüssels.
27. System nach einem der Ansprüche 23 bis 25, bei dem der
Speicherprovider Datenelemente nach Maßgabe der folgenden
Schritte speichert:
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Erzeugen von Elementauthentisierungscodes für einzelne Da tenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der .Elementschlüssel und der Elementauthenti sierungsschlüssel mit einem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes für Element schlüssel und Elementauthentisierungsschlüssel mit einem Masterauthentisierungsschlüssel;
Verschlüsseln des Masterschlüssels und des Masterauthenti sierungsschlüssels mit einem Benutzerschlüssel, der aus einem vom Benutzer gelieferten Code abgeleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der Elementauthentisierungscodes, der verschlüsselten Element schlüssel, der verschlüsselten Elementauthentisierungs schlüssel, der Schlüsselauthentisierungscodes, des ver schlüsselten Masterschlüssels und des verschlüsselten Ma sterauthentisierungsschlüssel.
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Erzeugen von Elementauthentisierungscodes für einzelne Da tenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der .Elementschlüssel und der Elementauthenti sierungsschlüssel mit einem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes für Element schlüssel und Elementauthentisierungsschlüssel mit einem Masterauthentisierungsschlüssel;
Verschlüsseln des Masterschlüssels und des Masterauthenti sierungsschlüssels mit einem Benutzerschlüssel, der aus einem vom Benutzer gelieferten Code abgeleitet wird;
Speichern der verschlüsselten einzelnen Datenelemente, der Elementauthentisierungscodes, der verschlüsselten Element schlüssel, der verschlüsselten Elementauthentisierungs schlüssel, der Schlüsselauthentisierungscodes, des ver schlüsselten Masterschlüssels und des verschlüsselten Ma sterauthentisierungsschlüssel.
28. System nach einem der Ansprüche 23 bis 27, bei dem der
Speicherprovider Datenelemente nach Maßgabe der folgenden
Schritte wiedergewinnt:
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssels;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus einem von dem Benutzer ge lieferten Code abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssels;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus einem von dem Benutzer ge lieferten Code abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
29. System nach einem der Ansprüche 23 bis 28, bei dem der
Speicherserver angeforderte Datenelemente nur an authori
sierte anfordernde Anwendungsprogramme zurückgibt.
30. System nach Anspruch 29, bei dem der Speicherserver anfor
dernde Anwendungsprogramme authentisiert, bevor er einzelne
Datenelemente zurückgibt.
31. System nach einem der Ansprüche 23 bis 30, bei dem der
Speicherserver die anfordernden Anwendungsprogramme authen
tisiert, indem er eine Verschlüsselung mit öffentlichem
Schlüssel verwendet, bevor er einzelne Datenelemente zu
rückgibt.
32. System nach einem der Ansprüche 23 bis 31, bei dem der
Speicherserver auf Anforderungen von Anwendungsprogrammen
reagiert, indem er einen Dialog mit dem Benutzer eröffnet,
in dem der momentane Benutzer des Systems Paßwort spezifi
zieren kann, die von dem Speicherprovider verwendet werden
sollen, um Datenelemente sicher zu speichern und wiederzu
gewinnen.
33. System nach einem der Ansprüche 23 bis 32, bei dem der
Speicherserver und der Speicherprovider einzeln mit einem
privaten Verschlüsselungs-Schlüssel signiert sind, der ei
nem öffentlichen Verschlüsselungs-Schlüssel entspricht;
wobei der Speicherserver und die Speicherprovider so kon
figuriert sind, daß sie die Signaturen der jeweils anderen
mit dem öffentlichen Verschlüsselungs-Schlüssel überprüfen.
34. Verfahren zum Speichern von geheimen Benutzer- und Anwen
dungsdaten und zum Schützen dieser Daten gegen unerlaubten
Zugriff, mit folgenden Verfahrensschritten:
Authentisieren eines momentanen Benutzers eines Rechners gestützt auf eine vorhergehenden Anmeldeauthentisierung, die von einem Betriebssystem ausgeführt wird;
Empfang einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus der vorhergehenden Anmeldeauthentisie rung des momentanen Benutzers des Rechners abgeleitet wer den; und
Speichern der verschlüsselten Datenelemente.
Authentisieren eines momentanen Benutzers eines Rechners gestützt auf eine vorhergehenden Anmeldeauthentisierung, die von einem Betriebssystem ausgeführt wird;
Empfang einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus der vorhergehenden Anmeldeauthentisie rung des momentanen Benutzers des Rechners abgeleitet wer den; und
Speichern der verschlüsselten Datenelemente.
35. Verfahren nach Anspruch 34, bei dem der Speicherschritt das
Speichern verschlüsselter Datenelemente aus verschiedenen
Anwendungsprogrammen in einem gemeinsamen Speicherbereich
umfaßt.
36. Verfahren nach Anspruch 34 oder 35, bei dem der eine oder
die mehreren Schlüssel gestützt auf ein Rechneranmelde-Paß
wort abgeleitet werden.
37. Verfahren nach einem der Ansprüche 34 bis 36, bei dem der
Verschlüsselungsschritt folgende Schritte umfaßt:
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus der vorhergehenden Authentisierung des momentanen Benutzers des Rechners abgeleitet wird; und
bei dem die verschlüsselten Elementschlüssel und der ver schlüsselte Masterschlüssel gespeichert werden.
Verschlüsseln einzelner Datenelemente mit Elementschlüs seln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus der vorhergehenden Authentisierung des momentanen Benutzers des Rechners abgeleitet wird; und
bei dem die verschlüsselten Elementschlüssel und der ver schlüsselte Masterschlüssel gespeichert werden.
38. Verfahren nach einem der Ansprüche 34 bis 37, mit folgenden
weiteren Verfahrensschritten:
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssel;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus der vorhergehenden Authenti sierung des momentanen Benutzers des Rechners abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
Wiedergewinnen verschlüsselter einzelner Datenelemente, verschlüsselter Elementschlüssel, die den verschlüsselten einzelnen Datenelementen entsprechen, und eines verschlüs selten Masterschlüssel;
Entschlüsseln des verschlüsselten Masterschlüssels mit ei nem Benutzerschlüssel, der aus der vorhergehenden Authenti sierung des momentanen Benutzers des Rechners abgeleitet wird;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel; und
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
39. Verfahren nach einem der Ansprüche 34 bis 38, bei dem ab
hängig von dem momentanen Benutzer des Rechners Zugang zu
einzelnen Datenelementen gewährt wird.
40. Verfahren nach einem der Ansprüche 34 bis 39, bei dem ange
forderte Datenelemente nur an authorisierte anfordernde
Anwendungsprogramme zurückgegeben werden.
41. Verfahren nach Anspruch 40, bei dem anfordernde Anwendungs
programme authentisiert werden, bevor einzelne Datenelemen
te zurückgegeben werden.
42. Verfahren nach einem der Ansprüche 34 bis 41, bei dem ab
hängig davon, daß ein Anwendungsprogramm Datenelemente an
fordert, ein Dialog mit dem Benutzer eröffnet wird, wobei
der Dialog es dem momentanen Benutzer des Rechners erlaubt,
Paßworte zu spezifizieren, die vom Speicherprovider zum
Entschlüsseln von Datenelementen verwendet werden.
43. Verfahren zum Speichern von geheimen Benutzer- und Anwen
dungsdaten und zum Schützen dieser Daten gegen unerlaubten
Zugriff mit folgenden Verfahrensschritten:
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der einzelnen Datenelemente mit Element schlüsseln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel;
Speichern der verschlüsselten Datenelemente, der verschlüs selten Elementschlüssel und des verschlüsselten Master schlüssels.
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der einzelnen Datenelemente mit Element schlüsseln;
Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel;
Speichern der verschlüsselten Datenelemente, der verschlüs selten Elementschlüssel und des verschlüsselten Master schlüssels.
44. Verfahren nach Anspruch 43 mit den folgenden weiteren
Schritten:
Erzeugen von Elementauthentisierungscodes für einzelne Da tenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der Elementauthentisierungsschlüssel mit dem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes der Element schlüssel und Elementauthentisierungsschlüssel mit dem Ma sterauthentisierungsschlüssel;
Verschlüsseln des Masterauthentisierungsschlüssel mit dem Benutzerschlüssel;
Speichern der Elementauthentisierungscodes, der verschlüs selten Elementschlüssel, der verschlüsselten Elementauthen tisierungschlüssel, der Schlüsselauthentisierungscodes und des verschlüsselten Masterauthentisierungscodes.
Erzeugen von Elementauthentisierungscodes für einzelne Da tenelemente mit Elementauthentisierungsschlüsseln;
Verschlüsseln der Elementauthentisierungsschlüssel mit dem Masterschlüssel;
Erzeugen von Schlüsselauthentisierungscodes der Element schlüssel und Elementauthentisierungsschlüssel mit dem Ma sterauthentisierungsschlüssel;
Verschlüsseln des Masterauthentisierungsschlüssel mit dem Benutzerschlüssel;
Speichern der Elementauthentisierungscodes, der verschlüs selten Elementschlüssel, der verschlüsselten Elementauthen tisierungschlüssel, der Schlüsselauthentisierungscodes und des verschlüsselten Masterauthentisierungscodes.
45. Verfahren nach Anspruch 43 oder 44 mit den folgenden weite
ren Verfahrensschritten:
Wiedergewinnen verschlüsselter einzelner Datenelemente, der verschlüsselten Elementschlüssel, die den wiedergewonnenen entschlüsselten einzelnen Datenelementen entsprechen, und des verschlüsselten Masterschlüssels;
Entschlüsseln der verschlüsselten Masterschlüssel mit dem Benutzerschlüssel;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel;
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
Wiedergewinnen verschlüsselter einzelner Datenelemente, der verschlüsselten Elementschlüssel, die den wiedergewonnenen entschlüsselten einzelnen Datenelementen entsprechen, und des verschlüsselten Masterschlüssels;
Entschlüsseln der verschlüsselten Masterschlüssel mit dem Benutzerschlüssel;
Entschlüsseln der verschlüsselten Elementschlüssel mit dem entschlüsselten Masterschlüssel;
Entschlüsseln der verschlüsselten einzelnen Datenelemente mit den entsprechenden entschlüsselten Elementschlüsseln.
46. Verfahren nach einem der Ansprüche 43 bis 45, bei dem der
Benutzerschlüssel in einem Benutzerauthentisierungsschritt
abgeleitet wird.
47. Verfahren nach einem der Ansprüche 43 bis 45, bei dem der
Benutzerschlüssel aus einem Rechneranmeldecode abgeleitet
wird.
48. Verfahren nach einem der Ansprüche 43 bis 45, bei dem der
Benutzerschlüssel aus einer vorhergehenden Authentisierung
des momentanen Benutzers des Rechners abgeleitet wird.
49. Verfahren nach einem der Ansprüche 43 bis 45, bei dem der
Benutzerschlüssel aus einer Netzauthentisierung des momen
tanen Benutzers des Rechners abgeleitet wird.
50. Verfahren zum Speichern von geheimen Benutzer- und Anwen
dungsdaten und zum Schützen dieser Daten gegen unerlaubten
Zugriff, mit folgenden Verfahrensschritten:
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus einem oder mehreren vom Benutzer gelie ferten Paßworten abgeleitet werden;
Speichern der verschlüsselten Datenelemente;
Wiedergewinnen und Entschlüsseln der gespeicherten ver schlüsselten Datenelemente abhängig von Anfragen von Anwen dungsprogrammen.
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus einem oder mehreren vom Benutzer gelie ferten Paßworten abgeleitet werden;
Speichern der verschlüsselten Datenelemente;
Wiedergewinnen und Entschlüsseln der gespeicherten ver schlüsselten Datenelemente abhängig von Anfragen von Anwen dungsprogrammen.
51. Verfahren nach Anspruch 50, bei dem abhängig davon, daß das
Anwendungsprogramm Datenelemente anfordert, ein Dialog mit
dem Benutzer aufgebaut wird, der es dem momentanen Benutzer
des Rechners ermöglicht, das vom Benutzer gelieferte Paß
wort zu spezifizieren.
52. Verfahren nach Anspruch 50 oder 51, bei dem der Benutzer
einen Benutzerauthentisierungstyp spezifizieren kann, der
vor dem Wiedergewinnen und Entschlüsseln ausgeführt wird.
53. Verfahren nach einem der Ansprüche 50 bis 52, bei dem ein
während der Rechneranmeldeprozedur vom Benutzer geliefertes
Paßwort erhalten wird.
54. Verfahren nach Anspruch 53, bei dem das vom Benutzer gelie
ferte Standardpaßwort ein Rechneranmeldepaßwort umfaßt.
55. Verfahren nach einem der Ansprüche 50 bis 54, bei dem fer
ner
während einer Netzwerkanmeldeprozedur ein vom Benutzer ge liefertes Standardpaßwort erhalten wird; und
ein zusätzliches vom Benutzer geliefertes Paßwort erhalten wird, indem ein Dialog mit dem Benutzer eingerichtet wird, der dem momentanen Benutzer des Rechner ermöglicht, dieses zusätzliche vom Benutzer gelieferte Paßwort zu spezifizie ren.
während einer Netzwerkanmeldeprozedur ein vom Benutzer ge liefertes Standardpaßwort erhalten wird; und
ein zusätzliches vom Benutzer geliefertes Paßwort erhalten wird, indem ein Dialog mit dem Benutzer eingerichtet wird, der dem momentanen Benutzer des Rechner ermöglicht, dieses zusätzliche vom Benutzer gelieferte Paßwort zu spezifizie ren.
56. Verfahren nach Anspruch 50, bei dem abhängig davon, daß ein
Anwendungsprogramm Datenelemente anfordert; ein Dialog mit
dem Benutzer eröffnet wird, wobei der Dialog es dem momen
tanen Benutzer des Rechners erlaubt, Paßworte zu spezifi
zieren, die vom Speicherprovider zum Entschlüsseln von Da
tenelementen verwendet werden.
57. Verfahren nach einem der Ansprüche 50 bis 57, bei dem ab
hängig von dem momentanen Benutzer des Rechners Zugang zu
einzelnen Datenelementen gewährt wird.
58. Verfahren nach einem der Ansprüche 50 bis 56, bei dem ange
forderte Datenelemente nur an authorisierte anfordernde
Anwendungsprogramme zurückgegeben werden.
59. Verfahren nach einem der Ansprüche 50 bis 58, bei dem der
Verschlüsselungsschritt das Verschlüsseln der einzelnen
Datenelemente mit Elementschlüsseln umfaßt, und mit den
folgenden weiteren Schritten:
Empfangen einzelner Datenelemente von Anwendungsprogrammen; Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus dem einen oder den mehreren von dem Be nutzer gelieferten Paßworten abgeleitet wird.
Empfangen einzelner Datenelemente von Anwendungsprogrammen; Verschlüsseln der Elementschlüssel mit einem Masterschlüs sel;
Verschlüsseln des Masterschlüssels mit einem Benutzer schlüssel, der aus dem einen oder den mehreren von dem Be nutzer gelieferten Paßworten abgeleitet wird.
60. Verfahren zum Speichern geheimer Benutzer- und Anwendungs
daten und zum Schützen der Daten gegen unerlaubten Zugriff
mit folgenden Verfahrensschritten:
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus einem oder mehreren von einem Benutzer gelieferten Paßworten abgeleitet werden;
Speichern der verschlüsselten Datenelemente;
Wiedergewinnen und Entschlüsseln der gespeicherten ver schlüsselten Datenelementen abhängig von Anfragen von An wendungsprogrammen;
Gewähren eines Zugriffs auf einzelne Datenelemente abhängig von dem momentanen Benutzer des Rechners; und
Zurückgeben angeforderter Datenelemente nur an authorisier te anfordernde Anwendungsprogramme.
Empfangen einzelner Datenelemente von Anwendungsprogrammen;
Verschlüsseln der Datenelemente mit einem oder mehreren Schlüsseln, die aus einem oder mehreren von einem Benutzer gelieferten Paßworten abgeleitet werden;
Speichern der verschlüsselten Datenelemente;
Wiedergewinnen und Entschlüsseln der gespeicherten ver schlüsselten Datenelementen abhängig von Anfragen von An wendungsprogrammen;
Gewähren eines Zugriffs auf einzelne Datenelemente abhängig von dem momentanen Benutzer des Rechners; und
Zurückgeben angeforderter Datenelemente nur an authorisier te anfordernde Anwendungsprogramme.
61. Verfahren nach Anspruch 60, bei dem ein Anwendungsprogramm
Anwendungsprogramme spezifiziert, die auf entsprechende
Datenelemente zugreifen dürfen.
62. Verfahren nach Anspruch 60 oder 61, bei dem ein Anwendungs
programm Computernutzer spezifiziert, die auf entsprechende
Datenelemente zugreifen dürfen.
63. Verfahren nach einem der Ansprüche 60 bis 62, bei dem aut
horisierte anfordernde Anwendungsprogramme mit einem Ver
schlüsselungsverfahren mit öffentlichem Schlüssel authenti
siert werden, bevor einzelne Datenelemente zurückgegeben
werden.
64. Verfahren nach einem der Ansprüche 60 bis 63, bei dem beim
Speichern die verschlüsselten Datenelemente aus verschiede
nen Anwendungsprogrammen in einem gemeinsamen Speicherbe
reich gespeichert werden.
65. Verfahren zum Speichern von geheimen Benutzer- und Anwen
dungsdaten und zum Schützen dieser Daten gegen unerlaubten
Zugriff mit folgenden Verfahrensschritten:
Empfangen einzelner Datenelemente von verschiedenen Anwen dungsprogrammen;
Verschlüsseln der Datenelemente;
Speichern der verschlüsselten Datenelemente aus den ver schiedenen Anwendungsprogrammen in einem gemeinsamen Spei cherbereich.
Empfangen einzelner Datenelemente von verschiedenen Anwen dungsprogrammen;
Verschlüsseln der Datenelemente;
Speichern der verschlüsselten Datenelemente aus den ver schiedenen Anwendungsprogrammen in einem gemeinsamen Spei cherbereich.
66. Verfahren nach Anspruch 65, bei dem abhängig von dem momen
tanen Benutzer eines Rechners Zugang auf einzelne Datenele
mente gewährt wird.
67. Verfahren nach Anspruch 65 oder 66, bei dem angeforderte
Datenelemente nur zu authorisierten anfordernden Anwen
dungsprogrammen zurückgegeben werden.
68. Verfahren nach Anspruch 67, bei dem die anfordernden Anwen
dungsprogramme authentisiert werden, bevor einzelne Daten
elemente zurückgegeben werden.
69. Verfahren nach einem der Ansprüche 65 bis 68, bei dem ab
hängig davon, daß ein Anwendungsprogramm Datenelemente an
fordert, ein Dialog mit dem Benutzer eröffnet wird, wobei
der Dialog es dem momentanen Benutzer des Rechners erlaubt,
Paßworte zu spezifizieren, die vom Speicherprovider zum
Entschlüsseln von Datenelementen verwendet werden.
70. Verfahren nach einem der Ansprüche 65 bis 69, bei dem die
Verschlüsselung sich auf einen oder mehrere Schlüssel
stützt, die aus der Authentisierung des momentanen Benut
zers des Rechners abgeleitet werden.
71. Verfahren nach einem der Ansprüche 65 bis 69, bei dem sich
die Verschlüsselung auf einen oder mehrere Schlüssel
stützt, die aus einem vom Benutzer gelieferten Code abge
leitet werden.
72. Verfahren nach einem der Ansprüche 65 bis 69, bei dem sich
die Verschlüsselung auf einen oder mehrere Schlüssel
stützt, die aus einem Rechneranmeldecode abgeleitet werden,
der von dem momentanen Benutzer des Rechners geliefert
wird.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/884,864 US6272631B1 (en) | 1997-06-30 | 1997-06-30 | Protected storage of core data secrets |
US08/884,864 | 1997-06-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19827659A1 true DE19827659A1 (de) | 1999-01-07 |
DE19827659B4 DE19827659B4 (de) | 2010-01-28 |
Family
ID=25385594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19827659A Expired - Lifetime DE19827659B4 (de) | 1997-06-30 | 1998-06-22 | System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff |
Country Status (5)
Country | Link |
---|---|
US (4) | US6272631B1 (de) |
JP (1) | JP4463887B2 (de) |
DE (1) | DE19827659B4 (de) |
FR (1) | FR2767208B1 (de) |
GB (2) | GB9812614D0 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19925389A1 (de) * | 1999-06-02 | 2000-12-21 | Beta Res Gmbh | Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards |
DE10347751A1 (de) * | 2003-10-14 | 2005-05-19 | Siemens Ag | Verfahren und Anordnungen zur Verschlüsselung von Speicherdateien auf mobilen Endgeräten |
WO2005079038A1 (fr) * | 2004-01-14 | 2005-08-25 | France Telecom | Procede, terminal mobile, systeme et equipement pour la fourniture d’un service de proximite accessible par l’intermediaire d’un terminal mobile |
Families Citing this family (512)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361802B1 (en) | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
US6151643A (en) | 1996-06-07 | 2000-11-21 | Networks Associates, Inc. | Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer |
US7080260B2 (en) * | 1996-11-19 | 2006-07-18 | Johnson R Brent | System and computer based method to automatically archive and retrieve encrypted remote client data files |
US6259739B1 (en) * | 1996-11-26 | 2001-07-10 | Matsushita Electric Industrial Co., Ltd. | Moving picture variable bit rate coding apparatus, moving picture variable bit rate coding method, and recording medium for moving picture variable bit rate coding program |
US5930804A (en) * | 1997-06-09 | 1999-07-27 | Philips Electronics North America Corporation | Web-based biometric authentication system and method |
US6754820B1 (en) * | 2001-01-30 | 2004-06-22 | Tecsec, Inc. | Multiple level access system |
US6317829B1 (en) * | 1998-06-19 | 2001-11-13 | Entrust Technologies Limited | Public key cryptography based security system to facilitate secure roaming of users |
US7756986B2 (en) | 1998-06-30 | 2010-07-13 | Emc Corporation | Method and apparatus for providing data management for a storage system coupled to a network |
US6263445B1 (en) * | 1998-06-30 | 2001-07-17 | Emc Corporation | Method and apparatus for authenticating connections to a storage system coupled to a network |
US7165152B2 (en) * | 1998-06-30 | 2007-01-16 | Emc Corporation | Method and apparatus for managing access to storage devices in a storage system with access control |
EP1105798B1 (de) * | 1998-08-19 | 2004-01-07 | Siemens Aktiengesellschaft | Verfahren, anordnung sowie ein satz mehrerer anordnungen zum schutz mehrerer programme und/oder mehrerer dateien vor einem unbefugten zugriff durch einen prozess |
US6915375B2 (en) * | 1998-08-31 | 2005-07-05 | Sony Corporation | Memory apparatus and a data-processing apparatus, and method for using the memory apparatus |
US20020062451A1 (en) * | 1998-09-01 | 2002-05-23 | Scheidt Edward M. | System and method of providing communication security |
US6502192B1 (en) | 1998-09-03 | 2002-12-31 | Cisco Technology, Inc. | Security between client and server in a computer network |
US6981222B2 (en) | 1998-10-22 | 2005-12-27 | Made2Manage Systems, Inc. | End-to-end transaction processing and statusing system and method |
US6253327B1 (en) * | 1998-12-02 | 2001-06-26 | Cisco Technology, Inc. | Single step network logon based on point to point protocol |
US6266774B1 (en) | 1998-12-08 | 2001-07-24 | Mcafee.Com Corporation | Method and system for securing, managing or optimizing a personal computer |
US6499109B1 (en) * | 1998-12-08 | 2002-12-24 | Networks Associates Technology, Inc. | Method and apparatus for securing software distributed over a network |
US6470450B1 (en) * | 1998-12-23 | 2002-10-22 | Entrust Technologies Limited | Method and apparatus for controlling application access to limited access based data |
US6449652B1 (en) | 1999-01-04 | 2002-09-10 | Emc Corporation | Method and apparatus for providing secure access to a computer system resource |
US6802006B1 (en) * | 1999-01-15 | 2004-10-05 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6601171B1 (en) * | 1999-02-18 | 2003-07-29 | Novell, Inc. | Deputization in a distributed computing system |
US6820204B1 (en) | 1999-03-31 | 2004-11-16 | Nimesh Desai | System and method for selective information exchange |
US20050192008A1 (en) * | 1999-03-31 | 2005-09-01 | Nimesh Desai | System and method for selective information exchange |
US6792424B1 (en) * | 1999-04-23 | 2004-09-14 | International Business Machines Corporation | System and method for managing authentication and coherency in a storage area network |
US7644439B2 (en) * | 1999-05-03 | 2010-01-05 | Cisco Technology, Inc. | Timing attacks against user logon and network I/O |
EP1055990A1 (de) | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Registrierung von Ereignissen in einer Computerplattform |
EP1056010A1 (de) * | 1999-05-28 | 2000-11-29 | Hewlett-Packard Company | Datenintegritätsüberwachung in einer vertrauten Rechnereinheit |
US7146505B1 (en) * | 1999-06-01 | 2006-12-05 | America Online, Inc. | Secure data exchange between date processing systems |
US6694025B1 (en) * | 1999-06-02 | 2004-02-17 | Koninklijke Philips Electronics N.V. | Method and apparatus for secure distribution of public/private key pairs |
US6754661B1 (en) | 1999-07-13 | 2004-06-22 | Microsoft Corporation | Hierarchical storage systems for holding evidentiary objects and methods of creating and operating upon hierarchical storage systems |
US7650504B2 (en) * | 1999-07-22 | 2010-01-19 | Macrovision Corporation | System and method of verifying the authenticity of dynamically connectable executable images |
US6484259B1 (en) * | 1999-07-23 | 2002-11-19 | Microsoft Corporation | Methods and arrangements for mapping widely disparate portable tokens to a static machine concentric cryptographic environment |
US7770016B2 (en) | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
US7885899B1 (en) * | 2000-02-08 | 2011-02-08 | Ipass Inc. | System and method for secure network purchasing |
US6289455B1 (en) * | 1999-09-02 | 2001-09-11 | Crypotography Research, Inc. | Method and apparatus for preventing piracy of digital content |
EP1085396A1 (de) | 1999-09-17 | 2001-03-21 | Hewlett-Packard Company | Betrieb von gesicherten Zustand in einer Computerplattform |
AU1430801A (en) * | 1999-09-29 | 2001-04-30 | Senetas Corp. Ltd. (Usa) | Remotely accessible global personal information database |
US6742126B1 (en) | 1999-10-07 | 2004-05-25 | Cisco Technology, Inc. | Method and apparatus for identifying a data communications session |
US7043553B2 (en) * | 1999-10-07 | 2006-05-09 | Cisco Technology, Inc. | Method and apparatus for securing information access |
US6467049B1 (en) | 1999-10-15 | 2002-10-15 | Cisco Technology, Inc. | Method and apparatus for configuration in multi processing engine computer systems |
US6918044B1 (en) | 1999-10-15 | 2005-07-12 | Cisco Technology, Inc. | Password protection for high reliability computer systems |
DE20010200U1 (de) * | 2000-06-09 | 2001-10-18 | Wittkoetter Erland | Vorrichtung zum Entschlüsseln eines verschlüsselten elektronischen Dokuments |
US7401115B1 (en) | 2000-10-23 | 2008-07-15 | Aol Llc | Processing selected browser requests |
US6718467B1 (en) | 1999-10-28 | 2004-04-06 | Cisco Technology, Inc. | Password based protocol for secure communications |
US7143144B2 (en) | 1999-11-30 | 2006-11-28 | Ricoh Company, Ltd. | System, method and computer readable medium for certifying release of electronic information on an internet |
US6704787B1 (en) * | 1999-12-03 | 2004-03-09 | Intercard Payments, Inc. | Date of birth authentication system and method using demographic and/or geographic data supplied by a subscriber that is verified by a third party |
US7412462B2 (en) * | 2000-02-18 | 2008-08-12 | Burnside Acquisition, Llc | Data repository and method for promoting network storage of data |
EP2290577B1 (de) * | 2000-02-18 | 2017-08-16 | Vasco Data Security International GmbH | Token-Vorrichtung mit USB-Anschluss |
FR2805691B1 (fr) * | 2000-02-29 | 2002-05-03 | Safelogic | Procede de controle d'integrite de fichiers informatiques et equipement pour la mise en oeuvre de ce procede |
US7043641B1 (en) * | 2000-03-08 | 2006-05-09 | Igt | Encryption in a secure computerized gaming system |
US7065646B1 (en) * | 2000-03-16 | 2006-06-20 | International Business Machines Corporation | Remote notification of print or fax hardcopy recipient using standard identification data |
JP2001352321A (ja) | 2000-04-06 | 2001-12-21 | Sony Corp | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体 |
US7237114B1 (en) * | 2000-04-26 | 2007-06-26 | Pronvest, Inc. | Method and system for signing and authenticating electronic documents |
EP1158743B1 (de) * | 2000-05-23 | 2008-07-09 | Hitachi, Ltd. | Rechnersystem mit Fernkopiereinrichtung |
CN1249972C (zh) * | 2000-06-05 | 2006-04-05 | 凤凰技术有限公司 | 使用多个服务器的远程密码验证的系统和方法 |
US7225331B1 (en) * | 2000-06-15 | 2007-05-29 | International Business Machines Corporation | System and method for securing data on private networks |
US7913078B1 (en) | 2000-06-22 | 2011-03-22 | Walter Mason Stewart | Computer network virus protection system and method |
US6901519B1 (en) | 2000-06-22 | 2005-05-31 | Infobahn, Inc. | E-mail virus protection system and method |
KR100632549B1 (ko) * | 2000-06-29 | 2006-10-09 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
AU2001271704A1 (en) * | 2000-06-29 | 2002-01-14 | Cachestream Corporation | Digital rights management |
US6925566B1 (en) * | 2000-07-07 | 2005-08-02 | Motorola, Inc. | Remote system integrity verification |
US7117354B1 (en) * | 2000-07-20 | 2006-10-03 | International Business Machines Corporation | Method and apparatus for allowing restarted programs to use old process identification |
GB0020416D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Trusted system |
GB0020441D0 (en) * | 2000-08-18 | 2000-10-04 | Hewlett Packard Co | Performance of a service on a computing platform |
GB2369202B (en) * | 2000-08-31 | 2003-03-19 | Sun Microsystems Inc | Computer system and method of operating a computer system |
US7222233B1 (en) | 2000-09-14 | 2007-05-22 | At&T Corp. | Method for secure remote backup |
GB2367933B (en) * | 2000-10-10 | 2002-10-23 | F Secure Oyj | Encryption |
TW548535B (en) * | 2000-10-17 | 2003-08-21 | Ericsson Telefon Ab L M | Security system |
US7900057B2 (en) * | 2000-11-03 | 2011-03-01 | Enova Technology Corporation | Cryptographic serial ATA apparatus and method |
GB2368950B (en) * | 2000-11-09 | 2004-06-16 | Ncr Int Inc | Encrypting keypad module |
DE60039890D1 (de) * | 2000-11-17 | 2008-09-25 | Sony Deutschland Gmbh | Informationsübertragung via einem ad hoc Netz |
GB2376763B (en) | 2001-06-19 | 2004-12-15 | Hewlett Packard Co | Demonstrating integrity of a compartment of a compartmented operating system |
US7225219B2 (en) * | 2000-11-29 | 2007-05-29 | Broadspider Networks, Inc. | Distributed caching architecture for computer networks |
US7047563B1 (en) | 2000-12-07 | 2006-05-16 | Cisco Technology, Inc. | Command authorization via RADIUS |
US20020071565A1 (en) * | 2000-12-11 | 2002-06-13 | Kurn David Michael | Software process pre-authorization scheme for applications on a computer system |
US7389354B1 (en) | 2000-12-11 | 2008-06-17 | Cisco Technology, Inc. | Preventing HTTP server attacks |
US20020141593A1 (en) * | 2000-12-11 | 2002-10-03 | Kurn David Michael | Multiple cryptographic key linking scheme on a computer system |
US6985935B1 (en) | 2000-12-20 | 2006-01-10 | Cisco Technology, Inc. | Method and system for providing network access to PPP clients |
DE10065067B4 (de) * | 2000-12-21 | 2006-11-30 | Vodafone Holding Gmbh | Verfahren zum Verifizieren nutzerspezifischer Informationen in einem Daten- und/oder Kommunikationssystem sowie Daten- und/oder Kommunikationssystem |
US7260636B2 (en) * | 2000-12-22 | 2007-08-21 | Emc Corporation | Method and apparatus for preventing unauthorized access by a network device |
DE10101918A1 (de) * | 2001-01-16 | 2002-07-18 | Philips Corp Intellectual Pty | Verfahren zum Übertragen von Datensignalen |
GB0102518D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted operating system |
GB0102516D0 (en) * | 2001-01-31 | 2001-03-21 | Hewlett Packard Co | Trusted gateway system |
FR2820916B1 (fr) * | 2001-02-15 | 2004-08-20 | Gemplus Card Int | Module d'identification pourvu d'un code d'authentification securise |
AU742639B3 (en) * | 2001-02-15 | 2002-01-10 | Ewise Systems Pty Limited | Secure network access |
GB2372345A (en) * | 2001-02-17 | 2002-08-21 | Hewlett Packard Co | Secure email handling using a compartmented operating system |
GB2372594B (en) * | 2001-02-23 | 2004-10-06 | Hewlett Packard Co | Trusted computing environment |
GB2372591A (en) * | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of investigating transactions in a data processing environment |
GB2372593B (en) * | 2001-02-23 | 2005-05-18 | Hewlett Packard Co | Electronic communication |
GB2372592B (en) | 2001-02-23 | 2005-03-30 | Hewlett Packard Co | Information system |
GB2372595A (en) | 2001-02-23 | 2002-08-28 | Hewlett Packard Co | Method of and apparatus for ascertaining the status of a data processing environment. |
US7181017B1 (en) | 2001-03-23 | 2007-02-20 | David Felsher | System and method for secure three-party communications |
US20020138554A1 (en) * | 2001-03-26 | 2002-09-26 | Motorola, Inc. | Method for remotely verifying software integrity |
US7526795B2 (en) * | 2001-03-27 | 2009-04-28 | Micron Technology, Inc. | Data security for digital data storage |
US7987510B2 (en) | 2001-03-28 | 2011-07-26 | Rovi Solutions Corporation | Self-protecting digital content |
US7028293B2 (en) * | 2001-03-30 | 2006-04-11 | Microsoft Corporation | Constant return optimization transforming indirect calls to data fetches |
US6981144B2 (en) * | 2001-04-06 | 2005-12-27 | International Business Machines Corporation | System console device authentication in a network environment |
JP2002319932A (ja) * | 2001-04-19 | 2002-10-31 | Sony Corp | 情報記録装置、情報再生装置、および情報記録方法、情報再生方法、並びにプログラム |
GB0114898D0 (en) * | 2001-06-19 | 2001-08-08 | Hewlett Packard Co | Interaction with electronic services and markets |
GB2376765B (en) * | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments with verifiable environment identities |
GB2376761A (en) * | 2001-06-19 | 2002-12-24 | Hewlett Packard Co | An arrangement in which a process is run on a host operating system but may be switched to a guest system if it poses a security risk |
GB2376764B (en) | 2001-06-19 | 2004-12-29 | Hewlett Packard Co | Multiple trusted computing environments |
GB2378013A (en) * | 2001-07-27 | 2003-01-29 | Hewlett Packard Co | Trusted computer platform audit system |
EP1282023A1 (de) * | 2001-07-30 | 2003-02-05 | Hewlett-Packard Company | Auswertung einer vertrauten Rechnerplattform |
GB2378272A (en) * | 2001-07-31 | 2003-02-05 | Hewlett Packard Co | Method and apparatus for locking an application within a trusted environment |
DE10142351A1 (de) * | 2001-08-30 | 2003-03-20 | Giesecke & Devrient Gmbh | Initialisieren einer Chipkarte |
FR2829603A1 (fr) * | 2001-09-11 | 2003-03-14 | St Microelectronics Sa | Procede et dispositif de stockage et de lecture de donnees numeriques sur un support physique |
US7526654B2 (en) * | 2001-10-16 | 2009-04-28 | Marc Charbonneau | Method and system for detecting a secure state of a computer system |
US6704432B2 (en) | 2001-10-18 | 2004-03-09 | Microsoft Corporation | Extensible file format |
US20030084301A1 (en) * | 2001-10-30 | 2003-05-01 | Krawetz Neal A. | System and method for secure data transmission |
JP2003141267A (ja) * | 2001-11-05 | 2003-05-16 | Sony Corp | 通信教育システム及び通信教育方法 |
US20030086122A1 (en) * | 2001-11-06 | 2003-05-08 | Parry Travis J. | Imaging device communication via email |
US7333616B1 (en) | 2001-11-14 | 2008-02-19 | Omniva Corp. | Approach for managing access to messages using encryption key management policies |
US20030093689A1 (en) * | 2001-11-15 | 2003-05-15 | Aladdin Knowledge Systems Ltd. | Security router |
US7000109B2 (en) * | 2001-11-21 | 2006-02-14 | Intel Corporation | Method and apparatus for unlocking a computer system hard drive |
GB2382419B (en) * | 2001-11-22 | 2005-12-14 | Hewlett Packard Co | Apparatus and method for creating a trusted environment |
US7117505B2 (en) * | 2001-11-29 | 2006-10-03 | Veritas Operating Corporation | Methods, systems, and apparatus to interface with storage objects |
US7194762B2 (en) * | 2001-11-30 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Method of creating password list for remote authentication to services |
US20030110076A1 (en) * | 2001-12-10 | 2003-06-12 | Holt Laurence E. | Payment to user for access to user information by others |
US7921284B1 (en) | 2001-12-12 | 2011-04-05 | Gary Mark Kinghorn | Method and system for protecting electronic data in enterprise environment |
US8006280B1 (en) | 2001-12-12 | 2011-08-23 | Hildebrand Hal S | Security system for generating keys from access rules in a decentralized manner and methods therefor |
US10360545B2 (en) | 2001-12-12 | 2019-07-23 | Guardian Data Storage, Llc | Method and apparatus for accessing secured electronic data off-line |
USRE41546E1 (en) | 2001-12-12 | 2010-08-17 | Klimenty Vainstein | Method and system for managing security tiers |
US8065713B1 (en) | 2001-12-12 | 2011-11-22 | Klimenty Vainstein | System and method for providing multi-location access management to secured items |
US7930756B1 (en) | 2001-12-12 | 2011-04-19 | Crocker Steven Toye | Multi-level cryptographic transformations for securing digital assets |
US6948062B1 (en) * | 2001-12-12 | 2005-09-20 | Intel Corporation | Location dependent encryption and/or decryption |
US10033700B2 (en) * | 2001-12-12 | 2018-07-24 | Intellectual Ventures I Llc | Dynamic evaluation of access rights |
US7178033B1 (en) | 2001-12-12 | 2007-02-13 | Pss Systems, Inc. | Method and apparatus for securing digital assets |
US7783765B2 (en) | 2001-12-12 | 2010-08-24 | Hildebrand Hal S | System and method for providing distributed access control to secured documents |
US7921288B1 (en) | 2001-12-12 | 2011-04-05 | Hildebrand Hal S | System and method for providing different levels of key security for controlling access to secured items |
US7562232B2 (en) * | 2001-12-12 | 2009-07-14 | Patrick Zuili | System and method for providing manageability to security information for secured items |
US7565683B1 (en) | 2001-12-12 | 2009-07-21 | Weiqing Huang | Method and system for implementing changes to security policies in a distributed security system |
US7921450B1 (en) | 2001-12-12 | 2011-04-05 | Klimenty Vainstein | Security system using indirect key generation from access rules and methods therefor |
US7380120B1 (en) | 2001-12-12 | 2008-05-27 | Guardian Data Storage, Llc | Secured data format for access control |
US7478418B2 (en) | 2001-12-12 | 2009-01-13 | Guardian Data Storage, Llc | Guaranteed delivery of changes to security policies in a distributed system |
US7260555B2 (en) * | 2001-12-12 | 2007-08-21 | Guardian Data Storage, Llc | Method and architecture for providing pervasive security to digital assets |
US7631184B2 (en) * | 2002-05-14 | 2009-12-08 | Nicholas Ryan | System and method for imposing security on copies of secured items |
US7681034B1 (en) | 2001-12-12 | 2010-03-16 | Chang-Ping Lee | Method and apparatus for securing electronic data |
US7950066B1 (en) | 2001-12-21 | 2011-05-24 | Guardian Data Storage, Llc | Method and system for restricting use of a clipboard application |
US20030131087A1 (en) * | 2002-01-04 | 2003-07-10 | Shippy Keith L. | Method of using billing log activity to determine software update frequency |
EP1333350A1 (de) * | 2002-01-30 | 2003-08-06 | STMicroelectronics Limited | Speichersicherungseinrichtung |
GB0202431D0 (en) | 2002-02-02 | 2002-03-20 | F Secure Oyj | Method and apparatus for encrypting data |
KR100711913B1 (ko) * | 2002-02-04 | 2007-04-27 | 엘지전자 주식회사 | 컴퓨터 시스템의 하드디스크에 저장된 데이터 보안방법 |
US8176334B2 (en) | 2002-09-30 | 2012-05-08 | Guardian Data Storage, Llc | Document security system that permits external users to gain access to secured files |
US7136490B2 (en) * | 2002-02-21 | 2006-11-14 | International Business Machines Corporation | Electronic password wallet |
US6954762B2 (en) * | 2002-02-28 | 2005-10-11 | Veritas Operating Corporation | System and method for characterizing logical storage devices |
US7251667B2 (en) | 2002-03-21 | 2007-07-31 | International Business Machines Corporation | Unicode input method editor |
US7496952B2 (en) * | 2002-03-28 | 2009-02-24 | International Business Machines Corporation | Methods for authenticating a user's credentials against multiple sets of credentials |
US20030188186A1 (en) * | 2002-04-01 | 2003-10-02 | Cherry Darrel D. | System and method for authorizing printing services |
US7545931B2 (en) * | 2002-04-12 | 2009-06-09 | Microsoft Corporation | Protection of application secrets |
US7748045B2 (en) * | 2004-03-30 | 2010-06-29 | Michael Frederick Kenrich | Method and system for providing cryptographic document retention with off-line access |
US8613102B2 (en) | 2004-03-30 | 2013-12-17 | Intellectual Ventures I Llc | Method and system for providing document retention using cryptography |
US20040025039A1 (en) * | 2002-04-30 | 2004-02-05 | Adam Kuenzi | Lock box security system with improved communication |
US7061367B2 (en) * | 2002-04-30 | 2006-06-13 | General Electric Company | Managing access to physical assets |
US7774611B2 (en) * | 2002-05-06 | 2010-08-10 | Hewlett-Packard Development Company, L.P. | Enforcing file authorization access |
JP2003333024A (ja) * | 2002-05-09 | 2003-11-21 | Nec Corp | 暗号化/復号化システム及びその暗号解読防止/改竄防止方法 |
US6804777B2 (en) * | 2002-05-15 | 2004-10-12 | Threatguard, Inc. | System and method for application-level virtual private network |
KR100477645B1 (ko) * | 2002-05-25 | 2005-03-23 | 삼성전자주식회사 | 일련번호 발생 방법 및 그 장치 |
GB0212318D0 (en) * | 2002-05-28 | 2002-07-10 | Symbian Ltd | Tamper evident removable media storing executable code |
US20030226024A1 (en) * | 2002-06-04 | 2003-12-04 | Qwest Communications International Inc. | Secure internet documents |
US7596692B2 (en) | 2002-06-05 | 2009-09-29 | Microsoft Corporation | Cryptographic audit |
US7017144B2 (en) * | 2002-06-17 | 2006-03-21 | Microsoft Corporation | Combined image views and method of creating images |
JP4007873B2 (ja) * | 2002-07-09 | 2007-11-14 | 富士通株式会社 | データ保護プログラムおよびデータ保護方法 |
AU2003259197A1 (en) * | 2002-07-24 | 2004-02-09 | Congruence Llc. | Code for object identification |
US7620699B1 (en) * | 2002-07-26 | 2009-11-17 | Paltalk Holdings, Inc. | Method and system for managing high-bandwidth data sharing |
US7958144B2 (en) | 2002-08-30 | 2011-06-07 | Boss Logic, Llc | System and method for secure reciprocal exchange of data |
US7512810B1 (en) | 2002-09-11 | 2009-03-31 | Guardian Data Storage Llc | Method and system for protecting encrypted files transmitted over a network |
US7363377B1 (en) * | 2002-10-09 | 2008-04-22 | Unisys Corporation | Method for protecting the program environment of a microsoft component object model (COM) client |
US8447990B2 (en) * | 2002-10-25 | 2013-05-21 | Cambridge Interactive Development Corp. | Password encryption key |
US7836310B1 (en) | 2002-11-01 | 2010-11-16 | Yevgeniy Gutnik | Security system that uses indirect password-based encryption |
US20040088563A1 (en) * | 2002-11-01 | 2004-05-06 | Hogan Dirk J. | Computer access authorization |
DE10251642A1 (de) * | 2002-11-06 | 2004-06-03 | Fujitsu Siemens Computers Gmbh | Zugriffssicherung für serielle Bussysteme |
US20040093517A1 (en) * | 2002-11-13 | 2004-05-13 | Cihula Joseph F. | Protection of shared sealed data in a trusted computing environment |
CN1276363C (zh) * | 2002-11-13 | 2006-09-20 | 深圳市朗科科技有限公司 | 借助半导体存储装置实现数据安全存储和算法存储的方法 |
US20040098591A1 (en) * | 2002-11-15 | 2004-05-20 | Fahrny James W. | Secure hardware device authentication method |
US20040117318A1 (en) * | 2002-12-16 | 2004-06-17 | Grawrock David W. | Portable token controlling trusted environment launch |
US7428587B2 (en) * | 2002-12-19 | 2008-09-23 | Microsoft Corporation | Generating globally unique device identification |
US7577838B1 (en) * | 2002-12-20 | 2009-08-18 | Alain Rossmann | Hybrid systems for securing digital assets |
US7890990B1 (en) | 2002-12-20 | 2011-02-15 | Klimenty Vainstein | Security system with staging capabilities |
US7207058B2 (en) | 2002-12-31 | 2007-04-17 | American Express Travel Related Services Company, Inc. | Method and system for transmitting authentication context information |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
US7716736B2 (en) * | 2003-04-17 | 2010-05-11 | Cybersoft, Inc. | Apparatus, methods and articles of manufacture for computer virus testing |
DE10318031A1 (de) * | 2003-04-19 | 2004-11-04 | Daimlerchrysler Ag | Verfahren zur Sicherstellung der Integrität und Authentizität von Flashware für Steuergeräte |
AU2003229299A1 (en) * | 2003-05-14 | 2005-01-21 | Threatguard, Inc. | System and method for application-level virtual private network |
US7231662B2 (en) | 2003-05-28 | 2007-06-12 | International Business Machines Corporation | Automated security tool for storage system |
US8707034B1 (en) | 2003-05-30 | 2014-04-22 | Intellectual Ventures I Llc | Method and system for using remote headers to secure electronic files |
US7730543B1 (en) | 2003-06-30 | 2010-06-01 | Satyajit Nath | Method and system for enabling users of a group shared across multiple file security systems to access secured files |
DE10330089B4 (de) * | 2003-07-03 | 2014-02-27 | Bt Ignite Gmbh & Co. | Verfahren und Vorrichtung zum Übermitteln von Entschlüsselungscodes für frei übertragene, verschlüsselte Programminhalte an eindeutig identifizierbare Empfänger |
EP2570918A1 (de) * | 2003-07-07 | 2013-03-20 | Rovi Solutions Corporation | Neuprogrammierbare Sicherheit zur Raubkopiekontrolle und Aktivierung interaktiven Inhalts |
US7555558B1 (en) | 2003-08-15 | 2009-06-30 | Michael Frederick Kenrich | Method and system for fault-tolerant transfer of files across a network |
GB2405561B (en) * | 2003-08-28 | 2006-07-26 | Motorola Inc | Computer network security system and method for preventing unauthorised access of computer network resources |
EP1665254A1 (de) * | 2003-09-10 | 2006-06-07 | Koninklijke Philips Electronics N.V. | Inhaltsschutzverfahren und -system |
US7703140B2 (en) | 2003-09-30 | 2010-04-20 | Guardian Data Storage, Llc | Method and system for securing digital assets using process-driven security policies |
US8127366B2 (en) | 2003-09-30 | 2012-02-28 | Guardian Data Storage, Llc | Method and apparatus for transitioning between states of security policies used to secure electronic documents |
US7480382B2 (en) * | 2003-09-30 | 2009-01-20 | Microsoft Corporation | Image file container |
US20050091496A1 (en) * | 2003-10-23 | 2005-04-28 | Hyser Chris D. | Method and system for distributed key management in a secure boot environment |
US8037515B2 (en) | 2003-10-29 | 2011-10-11 | Qualcomm Incorporated | Methods and apparatus for providing application credentials |
US7565702B2 (en) * | 2003-11-03 | 2009-07-21 | Microsoft Corporation | Password-based key management |
KR100982513B1 (ko) * | 2003-11-12 | 2010-09-16 | 삼성전자주식회사 | 사용자 키를 이용한 저장 매체 디스크 사용 제한 방법 및장치 |
KR101022465B1 (ko) * | 2003-11-13 | 2011-03-15 | 삼성전자주식회사 | 암호화된 디지털 데이터의 복사 및 복호화 방법 및 장치 |
US7437764B1 (en) * | 2003-11-14 | 2008-10-14 | Symantec Corporation | Vulnerability assessment of disk images |
US7376968B2 (en) * | 2003-11-20 | 2008-05-20 | Microsoft Corporation | BIOS integrated encryption |
US8060752B2 (en) * | 2003-12-02 | 2011-11-15 | Victor Gorelik | Twisted signature |
JP2005165738A (ja) * | 2003-12-03 | 2005-06-23 | Fusionsys:Kk | 電子コンテンツ管理システム、電子コンテンツ管理方法、及びそのプログラム |
US20050144459A1 (en) * | 2003-12-15 | 2005-06-30 | Zeewaves Systems, Inc. | Network security system and method |
US7702909B2 (en) * | 2003-12-22 | 2010-04-20 | Klimenty Vainstein | Method and system for validating timestamps |
US20050138148A1 (en) * | 2003-12-22 | 2005-06-23 | At&T Corporation | Signaling managed device presence to control security |
US20050188199A1 (en) * | 2004-02-20 | 2005-08-25 | Hoke Smith | Securing computer data |
US7385942B2 (en) * | 2004-03-03 | 2008-06-10 | International Business Machines Corporation | System for maintaining the integrity of remote data by making it disposable |
US8117595B2 (en) | 2004-03-23 | 2012-02-14 | Microsoft Corporation | Method for updating data in accordance with rights management policy |
US7430754B2 (en) * | 2004-03-23 | 2008-09-30 | Microsoft Corporation | Method for dynamic application of rights management policy |
US7363364B2 (en) * | 2004-03-30 | 2008-04-22 | At&T Delaware Intellectual Property, Inc. | Methods, systems, and products for verifying integrity of web-server served content |
US7426556B2 (en) * | 2004-03-30 | 2008-09-16 | At&T Intellectual Property I, L.P. | Methods, systems, and products for verifying integrity of web-server served content |
US7216256B2 (en) * | 2004-03-30 | 2007-05-08 | Bellsouth Intellectual Property Corporation | Methods, systems, and products for verifying integrity of web-server served content |
US7437551B2 (en) * | 2004-04-02 | 2008-10-14 | Microsoft Corporation | Public key infrastructure scalability certificate revocation status validation |
US7379551B2 (en) * | 2004-04-02 | 2008-05-27 | Microsoft Corporation | Method and system for recovering password protected private data via a communication network without exposing the private data |
JP2005327235A (ja) * | 2004-04-13 | 2005-11-24 | Hitachi Ltd | 暗号化バックアップ方法および復号化リストア方法 |
US7493492B2 (en) * | 2004-04-17 | 2009-02-17 | International Business Machines Corporation | Limiting access to publicly available object-oriented interfaces via password arguments |
GB2415064B (en) * | 2004-06-10 | 2008-01-09 | Symbian Software Ltd | Computing device with a process-based keystore and method for operating a computing device |
US7533265B2 (en) * | 2004-07-14 | 2009-05-12 | Microsoft Corporation | Establishment of security context |
US7707427B1 (en) | 2004-07-19 | 2010-04-27 | Michael Frederick Kenrich | Multi-level file digests |
US20060041940A1 (en) * | 2004-08-21 | 2006-02-23 | Ko-Cheng Fang | Computer data protecting method |
US20060053177A1 (en) * | 2004-09-07 | 2006-03-09 | Riku Suomela | System and method for backup and restoration |
JP4235824B2 (ja) * | 2004-09-09 | 2009-03-11 | 村田機械株式会社 | 暗号化装置 |
US8839090B2 (en) * | 2004-09-16 | 2014-09-16 | International Business Machines Corporation | System and method to capture and manage input values for automatic form fill |
FR2880485B1 (fr) * | 2005-01-06 | 2007-03-16 | Canon Europa Nv Naamlooze Venn | Procedes de stockage et de lecture d'un contenu, du type mettant en oeuvre un protocole de protection de contenu, dispositifs source, de stockage et recepteur correspondants. |
US20060159269A1 (en) * | 2005-01-20 | 2006-07-20 | Matsushita Electric Industrial Co., Ltd. | Cryptographic system for resource starved CE device secure upgrade and re-configuration |
JP4534796B2 (ja) * | 2005-02-25 | 2010-09-01 | セイコーエプソン株式会社 | 制御システム |
JP4595600B2 (ja) * | 2005-03-16 | 2010-12-08 | ソニー株式会社 | コンテンツ再生装置,コンテンツ再生方法,およびプログラム |
US7849512B2 (en) * | 2005-03-21 | 2010-12-07 | Fortressware, Inc. | Method and system to create secure virtual project room |
EP1866825A1 (de) | 2005-03-22 | 2007-12-19 | Hewlett-Packard Development Company, L.P. | Verfahren, einrichtungen und datenstrukturen für vertrauenswürdige daten |
US8127147B2 (en) * | 2005-05-10 | 2012-02-28 | Seagate Technology Llc | Method and apparatus for securing data storage while insuring control by logical roles |
US20060294395A1 (en) * | 2005-06-28 | 2006-12-28 | Ogram Mark E | Executable software security system |
US8838974B2 (en) * | 2005-07-15 | 2014-09-16 | The Mathworks, Inc. | System and method for verifying the integrity of read-only components in deployed mixed-mode applications |
EP1911191B1 (de) * | 2005-08-05 | 2017-12-06 | Hewlett-Packard Enterprise Development LP | System, verfahren und vorrichtung zur kryptographieschlüssel-verwaltung für mobile geräte |
US8127142B2 (en) * | 2005-09-09 | 2012-02-28 | University Of South Florida | Method of authenticating a user on a network |
US20070061790A1 (en) * | 2005-09-13 | 2007-03-15 | Steeve Kay | Partially compiled data security software |
US20070078775A1 (en) * | 2005-09-14 | 2007-04-05 | Huapaya Luis M | System and method for preventing unauthorized use of digital works |
US20070073850A1 (en) * | 2005-09-29 | 2007-03-29 | Rockwell Automation Technologies, Inc. | Industrial control device configuration and discovery |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
US8341127B1 (en) * | 2006-02-02 | 2012-12-25 | Emc Corporation | Client initiated restore |
US8886902B1 (en) | 2006-02-02 | 2014-11-11 | Emc Corporation | Disk backup set access |
US8042172B1 (en) * | 2006-02-02 | 2011-10-18 | Emc Corporation | Remote access architecture enabling a client to perform an operation |
US9158467B2 (en) * | 2006-02-21 | 2015-10-13 | Spectra Logic Corporation | Optional data encryption by partition for a partitionable data storage library |
US9258124B2 (en) * | 2006-04-21 | 2016-02-09 | Symantec Corporation | Time and event based one time password |
US7681048B2 (en) * | 2006-04-27 | 2010-03-16 | Matthew Thomas Starr | Data encryption using a key and moniker for mobile storage media adapted for library storage |
US7752123B2 (en) * | 2006-04-28 | 2010-07-06 | Townsend Analytics Ltd. | Order management system and method for electronic securities trading |
WO2007131190A2 (en) | 2006-05-05 | 2007-11-15 | Hybir Inc. | Group based complete and incremental computer file backup system, process and apparatus |
US7992203B2 (en) * | 2006-05-24 | 2011-08-02 | Red Hat, Inc. | Methods and systems for secure shared smartcard access |
US8364952B2 (en) * | 2006-06-06 | 2013-01-29 | Red Hat, Inc. | Methods and system for a key recovery plan |
US8495380B2 (en) | 2006-06-06 | 2013-07-23 | Red Hat, Inc. | Methods and systems for server-side key generation |
US8098829B2 (en) * | 2006-06-06 | 2012-01-17 | Red Hat, Inc. | Methods and systems for secure key delivery |
US8180741B2 (en) | 2006-06-06 | 2012-05-15 | Red Hat, Inc. | Methods and systems for providing data objects on a token |
US8332637B2 (en) * | 2006-06-06 | 2012-12-11 | Red Hat, Inc. | Methods and systems for nonce generation in a token |
US9769158B2 (en) * | 2006-06-07 | 2017-09-19 | Red Hat, Inc. | Guided enrollment and login for token users |
US8412927B2 (en) | 2006-06-07 | 2013-04-02 | Red Hat, Inc. | Profile framework for token processing system |
US8589695B2 (en) * | 2006-06-07 | 2013-11-19 | Red Hat, Inc. | Methods and systems for entropy collection for server-side key generation |
US8099765B2 (en) | 2006-06-07 | 2012-01-17 | Red Hat, Inc. | Methods and systems for remote password reset using an authentication credential managed by a third party |
US8707024B2 (en) * | 2006-06-07 | 2014-04-22 | Red Hat, Inc. | Methods and systems for managing identity management security domains |
US8095966B1 (en) * | 2006-06-28 | 2012-01-10 | Emc Corporation | Methods and apparatus for password management |
US8826023B1 (en) * | 2006-06-30 | 2014-09-02 | Symantec Operating Corporation | System and method for securing access to hash-based storage systems |
US20080072066A1 (en) * | 2006-08-21 | 2008-03-20 | Motorola, Inc. | Method and apparatus for authenticating applications to secure services |
JP2008053767A (ja) * | 2006-08-22 | 2008-03-06 | Hitachi Global Storage Technologies Netherlands Bv | データ記録装置およびデータ管理方法 |
US8787566B2 (en) * | 2006-08-23 | 2014-07-22 | Red Hat, Inc. | Strong encryption |
US8806219B2 (en) * | 2006-08-23 | 2014-08-12 | Red Hat, Inc. | Time-based function back-off |
US8977844B2 (en) | 2006-08-31 | 2015-03-10 | Red Hat, Inc. | Smartcard formation with authentication keys |
US8356342B2 (en) | 2006-08-31 | 2013-01-15 | Red Hat, Inc. | Method and system for issuing a kill sequence for a token |
US9038154B2 (en) * | 2006-08-31 | 2015-05-19 | Red Hat, Inc. | Token Registration |
US8074265B2 (en) | 2006-08-31 | 2011-12-06 | Red Hat, Inc. | Methods and systems for verifying a location factor associated with a token |
US7725622B2 (en) * | 2006-11-29 | 2010-05-25 | Townsend Analytics, Ltd. | Data distribution system and method |
US20080127230A1 (en) * | 2006-11-29 | 2008-05-29 | Townsend Analytics, Ltd. | Method and system for transmitting data |
US8693690B2 (en) | 2006-12-04 | 2014-04-08 | Red Hat, Inc. | Organizing an extensible table for storing cryptographic objects |
US9021605B2 (en) * | 2007-01-03 | 2015-04-28 | International Business Machines Corporation | Method and system for protecting sensitive data in a program |
US20080229416A1 (en) * | 2007-01-09 | 2008-09-18 | G. K. Webb Services Llc | Computer Network Virus Protection System and Method |
US8813243B2 (en) | 2007-02-02 | 2014-08-19 | Red Hat, Inc. | Reducing a size of a security-related data object stored on a token |
US8300818B2 (en) * | 2007-02-27 | 2012-10-30 | Sony Corporation | System and method for effectively protecting electronic content information |
US8639940B2 (en) * | 2007-02-28 | 2014-01-28 | Red Hat, Inc. | Methods and systems for assigning roles on a token |
US8832453B2 (en) | 2007-02-28 | 2014-09-09 | Red Hat, Inc. | Token recycling |
US7873170B2 (en) * | 2007-03-08 | 2011-01-18 | International Business Machines Corporation | Maintaining keys removed from a keystore in an inactive key repository |
US9081948B2 (en) | 2007-03-13 | 2015-07-14 | Red Hat, Inc. | Configurable smartcard |
US8782403B1 (en) * | 2007-03-28 | 2014-07-15 | Symantec Corporation | Method and apparatus for securing confidential data for a user in a computer |
US9670694B2 (en) * | 2007-04-12 | 2017-06-06 | Utc Fire & Security Americas Corporation, Inc. | Restricted range lockbox, access device and methods |
WO2009022376A1 (ja) * | 2007-08-10 | 2009-02-19 | Hitachi Software Engineering Co., Ltd. | 認証処理システム、及び認証処理方法、並びにプログラム |
US9158933B2 (en) * | 2007-08-17 | 2015-10-13 | Sybase, Inc. | Protection of encryption keys in a database |
WO2009105107A1 (en) * | 2008-02-21 | 2009-08-27 | Oberon Associates, Inc. | Systems and methods for secure watchlisting |
AU2008353513B2 (en) * | 2008-03-25 | 2013-08-08 | Oneempower Pte Ltd | Health monitoring system with biometric identification |
US8108935B1 (en) * | 2008-03-31 | 2012-01-31 | Symantec Corporation | Methods and systems for protecting active copies of data |
US7882202B2 (en) * | 2008-04-01 | 2011-02-01 | International Business Machines Corporation | System to delegate virtual storage access method related file operations to a storage server using an in-band RPC mechanism |
US8893242B2 (en) * | 2008-04-29 | 2014-11-18 | Ebay Inc. | System and method for pool-based identity generation and use for service access |
US9501635B2 (en) | 2008-06-25 | 2016-11-22 | Microsoft Technology Licensing, Llc | Isolation of services or processes using credential managed accounts |
US9053295B1 (en) * | 2009-02-04 | 2015-06-09 | Sprint Communications Company L.P. | Facilitating application development using protected components |
JP2010267097A (ja) * | 2009-05-15 | 2010-11-25 | Sanyo Electric Co Ltd | ロック装置 |
EP2325773B1 (de) * | 2009-10-30 | 2018-06-06 | Nxp B.V. | Vorrichtung und Methode zum Erhalten eines Authorisierungsschlüssels zur Benutzung eines Produkts |
EP2500839A4 (de) * | 2009-11-09 | 2016-11-16 | Nec Corp | Zugangssteuerungssystem, kommunikationsendgerät, server und zugangssteuerungsverfahren |
US8776245B2 (en) * | 2009-12-23 | 2014-07-08 | Intel Corporation | Executing trusted applications with reduced trusted computing base |
KR20110128567A (ko) * | 2010-05-24 | 2011-11-30 | 삼성전자주식회사 | 사용자 인터페이스에 포함되는 오브젝트의 제어 방법 및 상기 방법이 채용된 장치 |
US8971535B2 (en) * | 2010-05-27 | 2015-03-03 | Bladelogic, Inc. | Multi-level key management |
US8504526B2 (en) * | 2010-06-04 | 2013-08-06 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations |
US11449394B2 (en) | 2010-06-04 | 2022-09-20 | Commvault Systems, Inc. | Failover systems and methods for performing backup operations, including heterogeneous indexing and load balancing of backup and indexing resources |
US8924733B2 (en) * | 2010-06-14 | 2014-12-30 | International Business Machines Corporation | Enabling access to removable hard disk drives |
US8447983B1 (en) | 2011-02-01 | 2013-05-21 | Target Brands, Inc. | Token exchange |
WO2012158890A1 (en) * | 2011-05-17 | 2012-11-22 | Datavode Inc. | Providing access to mainframe data objects in a heterogeneous computing environment |
US9330245B2 (en) * | 2011-12-01 | 2016-05-03 | Dashlane SAS | Cloud-based data backup and sync with secure local storage of access keys |
EP2795460B1 (de) * | 2011-12-22 | 2018-11-07 | AbbVie Inc. | Rahmen für anwendungssicherheit |
WO2013130561A2 (en) | 2012-02-29 | 2013-09-06 | Good Technology Corporation | Method of operating a computing device, computing device and computer program |
CN104145444B (zh) | 2012-02-29 | 2018-07-06 | 黑莓有限公司 | 操作计算设备的方法、计算设备及计算机程序 |
WO2013130555A2 (en) * | 2012-02-29 | 2013-09-06 | Good Technology Corporation | Method of operating a computing device, computing device and computer program |
CA2818439A1 (en) | 2012-07-05 | 2014-01-05 | Cyber-Ark Software Ltd. | System and method for out-of-band application authentication |
US9106411B2 (en) * | 2012-09-30 | 2015-08-11 | Apple Inc. | Secure escrow service |
US11126418B2 (en) * | 2012-10-11 | 2021-09-21 | Mcafee, Llc | Efficient shared image deployment |
WO2014066610A2 (en) * | 2012-10-24 | 2014-05-01 | Holyfield Brian | Methods and systems for the secure exchange of information |
US9294267B2 (en) * | 2012-11-16 | 2016-03-22 | Deepak Kamath | Method, system and program product for secure storage of content |
US9231930B1 (en) | 2012-11-20 | 2016-01-05 | Amazon Technologies, Inc. | Virtual endpoints for request authentication |
US9444800B1 (en) | 2012-11-20 | 2016-09-13 | Amazon Technologies, Inc. | Virtual communication endpoint services |
US9990478B2 (en) | 2012-11-30 | 2018-06-05 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to encode auxiliary data into relational database keys and methods, apparatus, and articles of manufacture to obtain encoded data from relational database keys |
US9042554B2 (en) | 2012-11-30 | 2015-05-26 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data |
US9087459B2 (en) | 2012-11-30 | 2015-07-21 | The Nielsen Company (Us), Llc | Methods, apparatus, and articles of manufacture to encode auxilary data into text data and methods, apparatus, and articles of manufacture to obtain encoded data from text data |
US20140188949A1 (en) * | 2013-01-03 | 2014-07-03 | Dell Products L.P. | Methods and systems for supply chain assurance of information handling system code |
CN105359159A (zh) * | 2013-03-13 | 2016-02-24 | 詹普托媒体公司 | 加密的网络存储空间 |
US9071429B1 (en) * | 2013-04-29 | 2015-06-30 | Amazon Technologies, Inc. | Revocable shredding of security credentials |
BR112015027633A2 (pt) * | 2013-04-30 | 2017-08-22 | Token One Pty Ltd | Autenticação de usuário |
US9483364B2 (en) | 2013-05-08 | 2016-11-01 | Commvault Systems, Inc. | Synchronization of local secondary copies with a remote storage management component |
US9992017B2 (en) * | 2013-06-28 | 2018-06-05 | Telefonaktiebolaget L M Ericsson (Publ) | Encrypting and storing data |
EP2851833B1 (de) | 2013-09-20 | 2017-07-12 | Open Text S.A. | Anwendungs-Gateway-Architektur mit mehrstufigen Sicherheitspolitik- und Regelverkündigungen |
US10116697B2 (en) * | 2013-09-20 | 2018-10-30 | Open Text Sa Ulc | System and method for geofencing |
US9237019B2 (en) | 2013-09-25 | 2016-01-12 | Amazon Technologies, Inc. | Resource locators with keys |
US9311500B2 (en) | 2013-09-25 | 2016-04-12 | Amazon Technologies, Inc. | Data security using request-supplied keys |
US9542563B2 (en) * | 2013-10-24 | 2017-01-10 | Globalfoundries Inc. | Accessing protected content for archiving |
US9639710B2 (en) | 2013-12-23 | 2017-05-02 | Symantec Corporation | Device-based PIN authentication process to protect encrypted data |
US9563518B2 (en) | 2014-04-02 | 2017-02-07 | Commvault Systems, Inc. | Information management by a media agent in the absence of communications with a storage manager |
US9729583B1 (en) | 2016-06-10 | 2017-08-08 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US10181051B2 (en) | 2016-06-10 | 2019-01-15 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US9910655B1 (en) * | 2014-11-06 | 2018-03-06 | Accellion, Inc. | Secure content platform software developer kit |
WO2016118216A2 (en) | 2014-11-06 | 2016-07-28 | Intertrust Technologies Corporation | Secure application distribution systems and methods |
US10043015B2 (en) | 2014-11-20 | 2018-08-07 | At&T Intellectual Property I, L.P. | Method and apparatus for applying a customer owned encryption |
US10642976B2 (en) * | 2015-06-27 | 2020-05-05 | Mcafee, Llc | Malware detection using a digital certificate |
US9813446B2 (en) | 2015-09-05 | 2017-11-07 | Nudata Security Inc. | Systems and methods for matching and scoring sameness |
US11593075B2 (en) | 2015-11-03 | 2023-02-28 | Open Text Sa Ulc | Streamlined fast and efficient application building and customization systems and methods |
WO2017113353A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 数据传输方法、装置和设备 |
US11388037B2 (en) | 2016-02-25 | 2022-07-12 | Open Text Sa Ulc | Systems and methods for providing managed services |
DE102016205289A1 (de) * | 2016-03-31 | 2017-10-05 | Siemens Aktiengesellschaft | Verfahren, Prozessor und Gerät zur Integritätsprüfung von Nutzerdaten |
US20220164840A1 (en) | 2016-04-01 | 2022-05-26 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10706447B2 (en) | 2016-04-01 | 2020-07-07 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
US11004125B2 (en) | 2016-04-01 | 2021-05-11 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US11244367B2 (en) | 2016-04-01 | 2022-02-08 | OneTrust, LLC | Data processing systems and methods for integrating privacy information management systems with data loss prevention tools or other tools for privacy design |
US10423996B2 (en) | 2016-04-01 | 2019-09-24 | OneTrust, LLC | Data processing systems and communication systems and methods for the efficient generation of privacy risk assessments |
RU2637433C2 (ru) * | 2016-04-25 | 2017-12-04 | Акционерное общество "Лаборатория Касперского" | Система и способ противодействия несанкционированному доступу к данным микрофона |
US10496803B2 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US11038925B2 (en) | 2016-06-10 | 2021-06-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11328092B2 (en) | 2016-06-10 | 2022-05-10 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11100444B2 (en) | 2016-06-10 | 2021-08-24 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11544667B2 (en) | 2016-06-10 | 2023-01-03 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11392720B2 (en) | 2016-06-10 | 2022-07-19 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US10848523B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10706379B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for automatic preparation for remediation and related methods |
US11636171B2 (en) | 2016-06-10 | 2023-04-25 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10878127B2 (en) | 2016-06-10 | 2020-12-29 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10783256B2 (en) | 2016-06-10 | 2020-09-22 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11727141B2 (en) | 2016-06-10 | 2023-08-15 | OneTrust, LLC | Data processing systems and methods for synching privacy-related user consent across multiple computing devices |
US10169609B1 (en) | 2016-06-10 | 2019-01-01 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10467432B2 (en) | 2016-06-10 | 2019-11-05 | OneTrust, LLC | Data processing systems for use in automatically generating, populating, and submitting data subject access requests |
US10242228B2 (en) | 2016-06-10 | 2019-03-26 | OneTrust, LLC | Data processing systems for measuring privacy maturity within an organization |
US10909488B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Data processing systems for assessing readiness for responding to privacy-related incidents |
US10776517B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US10944725B2 (en) | 2016-06-10 | 2021-03-09 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10726158B2 (en) | 2016-06-10 | 2020-07-28 | OneTrust, LLC | Consent receipt management and automated process blocking systems and related methods |
US11336697B2 (en) | 2016-06-10 | 2022-05-17 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10509920B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US11675929B2 (en) | 2016-06-10 | 2023-06-13 | OneTrust, LLC | Data processing consent sharing systems and related methods |
US11210420B2 (en) | 2016-06-10 | 2021-12-28 | OneTrust, LLC | Data subject access request processing systems and related methods |
US10706176B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data-processing consent refresh, re-prompt, and recapture systems and related methods |
US10713387B2 (en) | 2016-06-10 | 2020-07-14 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US11416798B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for providing training in a vendor procurement process |
US11138242B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US11438386B2 (en) | 2016-06-10 | 2022-09-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10592648B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Consent receipt management systems and related methods |
US10565397B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10803200B2 (en) | 2016-06-10 | 2020-10-13 | OneTrust, LLC | Data processing systems for processing and managing data subject access in a distributed environment |
US11057356B2 (en) | 2016-06-10 | 2021-07-06 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US10776518B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Consent receipt management systems and related methods |
US10565236B1 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11228620B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11087260B2 (en) | 2016-06-10 | 2021-08-10 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US11520928B2 (en) | 2016-06-10 | 2022-12-06 | OneTrust, LLC | Data processing systems for generating personal data receipts and related methods |
US10853501B2 (en) | 2016-06-10 | 2020-12-01 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10565161B2 (en) | 2016-06-10 | 2020-02-18 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10452866B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10685140B2 (en) | 2016-06-10 | 2020-06-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US10235534B2 (en) | 2016-06-10 | 2019-03-19 | OneTrust, LLC | Data processing systems for prioritizing data subject access requests for fulfillment and related methods |
US10776514B2 (en) | 2016-06-10 | 2020-09-15 | OneTrust, LLC | Data processing systems for the identification and deletion of personal data in computer systems |
US10430740B2 (en) | 2016-06-10 | 2019-10-01 | One Trust, LLC | Data processing systems for calculating and communicating cost of fulfilling data subject access requests and related methods |
US11025675B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11403377B2 (en) | 2016-06-10 | 2022-08-02 | OneTrust, LLC | Privacy management systems and methods |
US11294939B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10678945B2 (en) | 2016-06-10 | 2020-06-09 | OneTrust, LLC | Consent receipt management systems and related methods |
US10585968B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10706174B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems for prioritizing data subject access requests for fulfillment and related methods |
US11481710B2 (en) | 2016-06-10 | 2022-10-25 | OneTrust, LLC | Privacy management systems and methods |
US11341447B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Privacy management systems and methods |
US11277448B2 (en) | 2016-06-10 | 2022-03-15 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10949170B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US10642870B2 (en) | 2016-06-10 | 2020-05-05 | OneTrust, LLC | Data processing systems and methods for automatically detecting and documenting privacy-related aspects of computer software |
US10454973B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US11222309B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10885485B2 (en) | 2016-06-10 | 2021-01-05 | OneTrust, LLC | Privacy management systems and methods |
US10798133B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10438017B2 (en) * | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10509894B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10318761B2 (en) | 2016-06-10 | 2019-06-11 | OneTrust, LLC | Data processing systems and methods for auditing data request compliance |
US11023842B2 (en) | 2016-06-10 | 2021-06-01 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11074367B2 (en) | 2016-06-10 | 2021-07-27 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11625502B2 (en) | 2016-06-10 | 2023-04-11 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US10440062B2 (en) | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Consent receipt management systems and related methods |
US10706131B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Data processing systems and methods for efficiently assessing the risk of privacy campaigns |
US10740487B2 (en) | 2016-06-10 | 2020-08-11 | OneTrust, LLC | Data processing systems and methods for populating and maintaining a centralized database of personal data |
US11295316B2 (en) | 2016-06-10 | 2022-04-05 | OneTrust, LLC | Data processing systems for identity validation for consumer rights requests and related methods |
US11146566B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US10873606B2 (en) | 2016-06-10 | 2020-12-22 | OneTrust, LLC | Data processing systems for data-transfer risk identification, cross-border visualization generation, and related methods |
US10282700B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10496846B1 (en) | 2016-06-10 | 2019-12-03 | OneTrust, LLC | Data processing and communications systems and methods for the efficient implementation of privacy by design |
US10275614B2 (en) | 2016-06-10 | 2019-04-30 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11188615B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Data processing consent capture systems and related methods |
US10614247B2 (en) | 2016-06-10 | 2020-04-07 | OneTrust, LLC | Data processing systems for automated classification of personal information from documents and related methods |
US10949565B2 (en) | 2016-06-10 | 2021-03-16 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US11416590B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11138299B2 (en) | 2016-06-10 | 2021-10-05 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10846433B2 (en) | 2016-06-10 | 2020-11-24 | OneTrust, LLC | Data processing consent management systems and related methods |
US11651106B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11151233B2 (en) | 2016-06-10 | 2021-10-19 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11222139B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems and methods for automatic discovery and assessment of mobile software development kits |
US11651104B2 (en) | 2016-06-10 | 2023-05-16 | OneTrust, LLC | Consent receipt management systems and related methods |
US10592692B2 (en) | 2016-06-10 | 2020-03-17 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10452864B2 (en) | 2016-06-10 | 2019-10-22 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US10769301B2 (en) | 2016-06-10 | 2020-09-08 | OneTrust, LLC | Data processing systems for webform crawling to map processing activities and related methods |
US11200341B2 (en) | 2016-06-10 | 2021-12-14 | OneTrust, LLC | Consent receipt management systems and related methods |
US10909265B2 (en) | 2016-06-10 | 2021-02-02 | OneTrust, LLC | Application privacy scanning systems and related methods |
US10607028B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US11586700B2 (en) | 2016-06-10 | 2023-02-21 | OneTrust, LLC | Data processing systems and methods for automatically blocking the use of tracking tools |
US10796260B2 (en) | 2016-06-10 | 2020-10-06 | OneTrust, LLC | Privacy management systems and methods |
US10586075B2 (en) | 2016-06-10 | 2020-03-10 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11418492B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing systems and methods for using a data model to select a target data asset in a data migration |
US10896394B2 (en) | 2016-06-10 | 2021-01-19 | OneTrust, LLC | Privacy management systems and methods |
US10437412B2 (en) | 2016-06-10 | 2019-10-08 | OneTrust, LLC | Consent receipt management systems and related methods |
US11562097B2 (en) | 2016-06-10 | 2023-01-24 | OneTrust, LLC | Data processing systems for central consent repository and related methods |
US10353673B2 (en) | 2016-06-10 | 2019-07-16 | OneTrust, LLC | Data processing systems for integration of consumer feedback with data subject access requests and related methods |
US11301796B2 (en) | 2016-06-10 | 2022-04-12 | OneTrust, LLC | Data processing systems and methods for customizing privacy training |
US10997318B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for generating and populating a data inventory for processing data access requests |
US11157600B2 (en) | 2016-06-10 | 2021-10-26 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US10204154B2 (en) | 2016-06-10 | 2019-02-12 | OneTrust, LLC | Data processing systems for generating and populating a data inventory |
US10606916B2 (en) | 2016-06-10 | 2020-03-31 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10503926B2 (en) | 2016-06-10 | 2019-12-10 | OneTrust, LLC | Consent receipt management systems and related methods |
US11475136B2 (en) | 2016-06-10 | 2022-10-18 | OneTrust, LLC | Data processing systems for data transfer risk identification and related methods |
US11343284B2 (en) | 2016-06-10 | 2022-05-24 | OneTrust, LLC | Data processing systems and methods for performing privacy assessments and monitoring of new versions of computer code for privacy compliance |
US11354434B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for verification of consent and notice processing and related methods |
US11227247B2 (en) | 2016-06-10 | 2022-01-18 | OneTrust, LLC | Data processing systems and methods for bundled privacy policies |
US11238390B2 (en) | 2016-06-10 | 2022-02-01 | OneTrust, LLC | Privacy management systems and methods |
US10282559B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US11222142B2 (en) | 2016-06-10 | 2022-01-11 | OneTrust, LLC | Data processing systems for validating authorization for personal data collection, storage, and processing |
US11366786B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing systems for processing data subject access requests |
US10708305B2 (en) | 2016-06-10 | 2020-07-07 | OneTrust, LLC | Automated data processing systems and methods for automatically processing requests for privacy-related information |
US11354435B2 (en) | 2016-06-10 | 2022-06-07 | OneTrust, LLC | Data processing systems for data testing to confirm data deletion and related methods |
US10839102B2 (en) | 2016-06-10 | 2020-11-17 | OneTrust, LLC | Data processing systems for identifying and modifying processes that are subject to data subject access requests |
US11134086B2 (en) | 2016-06-10 | 2021-09-28 | OneTrust, LLC | Consent conversion optimization systems and related methods |
US10284604B2 (en) | 2016-06-10 | 2019-05-07 | OneTrust, LLC | Data processing and scanning systems for generating and populating a data inventory |
US10762236B2 (en) | 2016-06-10 | 2020-09-01 | OneTrust, LLC | Data processing user interface monitoring systems and related methods |
US10997315B2 (en) | 2016-06-10 | 2021-05-04 | OneTrust, LLC | Data processing systems for fulfilling data subject access requests and related methods |
US11366909B2 (en) | 2016-06-10 | 2022-06-21 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11416589B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Data processing and scanning systems for assessing vendor risk |
US11416109B2 (en) | 2016-06-10 | 2022-08-16 | OneTrust, LLC | Automated data processing systems and methods for automatically processing data subject access requests using a chatbot |
US11188862B2 (en) | 2016-06-10 | 2021-11-30 | OneTrust, LLC | Privacy management systems and methods |
US11144622B2 (en) | 2016-06-10 | 2021-10-12 | OneTrust, LLC | Privacy management systems and methods |
US11461500B2 (en) | 2016-06-10 | 2022-10-04 | OneTrust, LLC | Data processing systems for cookie compliance testing with website scanning and related methods |
US10416966B2 (en) | 2016-06-10 | 2019-09-17 | OneTrust, LLC | Data processing systems for identity validation of data subject access requests and related methods |
US10510031B2 (en) | 2016-06-10 | 2019-12-17 | OneTrust, LLC | Data processing systems for identifying, assessing, and remediating data processing risks using data modeling techniques |
US10572686B2 (en) | 2016-06-10 | 2020-02-25 | OneTrust, LLC | Consent receipt management systems and related methods |
US10116633B2 (en) | 2016-09-16 | 2018-10-30 | Bank Of America Corporation | Systems and devices for hardened remote storage of private cryptography keys used for authentication |
US10474548B2 (en) | 2016-09-30 | 2019-11-12 | Commvault Systems, Inc. | Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, using ping monitoring of target virtual machines |
US10574648B2 (en) | 2016-12-22 | 2020-02-25 | Dashlane SAS | Methods and systems for user authentication |
US10594481B2 (en) | 2017-02-21 | 2020-03-17 | International Business Machines Corporation | Replicated encrypted data management |
US10608822B2 (en) * | 2017-04-26 | 2020-03-31 | Nxp B.V. | Efficient calculation of message authentication codes for related data |
US10432397B2 (en) | 2017-05-03 | 2019-10-01 | Dashlane SAS | Master password reset in a zero-knowledge architecture |
US10013577B1 (en) | 2017-06-16 | 2018-07-03 | OneTrust, LLC | Data processing systems for identifying whether cookies contain personally identifying information |
US10848312B2 (en) | 2017-11-14 | 2020-11-24 | Dashlane SAS | Zero-knowledge architecture between multiple systems |
US10904004B2 (en) | 2018-02-27 | 2021-01-26 | Dashlane SAS | User-session management in a zero-knowledge environment |
US11144675B2 (en) | 2018-09-07 | 2021-10-12 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US11544409B2 (en) | 2018-09-07 | 2023-01-03 | OneTrust, LLC | Data processing systems and methods for automatically protecting sensitive data within privacy management systems |
US10803202B2 (en) | 2018-09-07 | 2020-10-13 | OneTrust, LLC | Data processing systems for orphaned data identification and deletion and related methods |
US11200124B2 (en) | 2018-12-06 | 2021-12-14 | Commvault Systems, Inc. | Assigning backup resources based on failover of partnered data storage servers in a data storage management system |
EP3696698A1 (de) * | 2019-02-18 | 2020-08-19 | Verimatrix | Verfahren zum schutz eines softwareprogramms vor manipulation |
US11563563B2 (en) * | 2019-11-07 | 2023-01-24 | Sap Se | SQL extension for secure encryption key transfer |
US11575657B2 (en) * | 2020-02-25 | 2023-02-07 | International Business Machines Corporation | Mitigating misinformation in encrypted messaging networks |
US11099956B1 (en) | 2020-03-26 | 2021-08-24 | Commvault Systems, Inc. | Snapshot-based disaster recovery orchestration of virtual machine failover and failback operations |
CN111625814B (zh) * | 2020-05-12 | 2022-11-04 | 卓尔智联(武汉)研究院有限公司 | 风控计算的处理设备、处理方法、处理装置和存储介质 |
WO2022011142A1 (en) | 2020-07-08 | 2022-01-13 | OneTrust, LLC | Systems and methods for targeted data discovery |
US11316658B2 (en) | 2020-07-20 | 2022-04-26 | Bank Of America Corporation | System and method for securing a database by scrambling data |
EP4189569A1 (de) | 2020-07-28 | 2023-06-07 | OneTrust LLC | Systeme und verfahren zur automatischen blockierung der verwendung von verfolgungswerkzeugen |
US11475165B2 (en) | 2020-08-06 | 2022-10-18 | OneTrust, LLC | Data processing systems and methods for automatically redacting unstructured data from a data subject access request |
US11436373B2 (en) | 2020-09-15 | 2022-09-06 | OneTrust, LLC | Data processing systems and methods for detecting tools for the automatic blocking of consent requests |
US11526624B2 (en) | 2020-09-21 | 2022-12-13 | OneTrust, LLC | Data processing systems and methods for automatically detecting target data transfers and target data processing |
EP4241173A1 (de) | 2020-11-06 | 2023-09-13 | OneTrust LLC | Systeme und verfahren zur identifizierung von datenverarbeitungsaktivitäten auf der basis von datenentdeckungsergebnissen |
US11687528B2 (en) | 2021-01-25 | 2023-06-27 | OneTrust, LLC | Systems and methods for discovery, classification, and indexing of data in a native computing system |
US11442906B2 (en) | 2021-02-04 | 2022-09-13 | OneTrust, LLC | Managing custom attributes for domain objects defined within microservices |
WO2022170254A1 (en) | 2021-02-08 | 2022-08-11 | OneTrust, LLC | Data processing systems and methods for anonymizing data samples in classification analysis |
US11601464B2 (en) | 2021-02-10 | 2023-03-07 | OneTrust, LLC | Systems and methods for mitigating risks of third-party computing system functionality integration into a first-party computing system |
US11645175B2 (en) | 2021-02-12 | 2023-05-09 | Commvault Systems, Inc. | Automatic failover of a storage manager |
US11775348B2 (en) | 2021-02-17 | 2023-10-03 | OneTrust, LLC | Managing custom workflows for domain objects defined within microservices |
US11546661B2 (en) | 2021-02-18 | 2023-01-03 | OneTrust, LLC | Selective redaction of media content |
WO2022192269A1 (en) | 2021-03-08 | 2022-09-15 | OneTrust, LLC | Data transfer discovery and analysis systems and related methods |
US11562078B2 (en) | 2021-04-16 | 2023-01-24 | OneTrust, LLC | Assessing and managing computational risk involved with integrating third party computing functionality within a computing system |
US11783095B2 (en) | 2021-06-21 | 2023-10-10 | Crowdstrike, Inc. | System and method for managing secure files in memory |
US11620142B1 (en) | 2022-06-03 | 2023-04-04 | OneTrust, LLC | Generating and customizing user interfaces for demonstrating functions of interactive user environments |
Family Cites Families (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224160A (en) * | 1987-02-23 | 1993-06-29 | Siemens Nixdorf Informationssysteme Ag | Process for securing and for checking the integrity of the secured programs |
GB8704883D0 (en) * | 1987-03-03 | 1987-04-08 | Hewlett Packard Co | Secure information storage |
US4919545A (en) * | 1988-12-22 | 1990-04-24 | Gte Laboratories Incorporated | Distributed security procedure for intelligent networks |
US5560008A (en) * | 1989-05-15 | 1996-09-24 | International Business Machines Corporation | Remote authentication and authorization in a distributed data processing system |
JPH03131139A (ja) * | 1989-10-16 | 1991-06-04 | Hitachi Ltd | 暗号鍵の鍵管理方式 |
US5202923A (en) * | 1989-11-30 | 1993-04-13 | Kabushiki Kaisha Toshiba | Portable electronic device capable of registering subprograms |
US5263165A (en) | 1990-02-15 | 1993-11-16 | International Business Machines Corporation | System for providing user access control within a distributed data processing system having multiple resource managers |
FR2662007B1 (fr) * | 1990-05-10 | 1992-07-10 | Bull Sa | Procede d'obtention d'une attestation en clair securisee dans un environnement de systeme informatique distribue. |
DE69130461T2 (de) | 1990-05-11 | 1999-06-10 | Int Computers Ltd | Zugriffsteuerung in einem verteilten Rechnersystem |
US5050212A (en) * | 1990-06-20 | 1991-09-17 | Apple Computer, Inc. | Method and apparatus for verifying the integrity of a file stored separately from a computer |
GB9104909D0 (en) * | 1991-03-08 | 1991-04-24 | Int Computers Ltd | Access control in a distributed computer system |
US5276444A (en) * | 1991-09-23 | 1994-01-04 | At&T Bell Laboratories | Centralized security control system |
JP3073590B2 (ja) * | 1992-03-16 | 2000-08-07 | 富士通株式会社 | 電子化データ保護システム、使用許諾者側装置および使用者側装置 |
US5235642A (en) * | 1992-07-21 | 1993-08-10 | Digital Equipment Corporation | Access control subsystem and method for distributed computer system using locally cached authentication credentials |
IL110891A (en) * | 1993-09-14 | 1999-03-12 | Spyrus | System and method for controlling access to data |
AU7707894A (en) * | 1993-09-29 | 1995-04-18 | Pumpkin House Incorporated | Enciphering/deciphering device and method and enciphering/deciphering communication system |
US5432851A (en) * | 1993-10-21 | 1995-07-11 | Tecsec Incorporated | Personal computer access control system |
JPH07146788A (ja) * | 1993-11-22 | 1995-06-06 | Fujitsu Ltd | ウイルス診断機構の作成システムと作成方法並びにウイルス診断機構と診断方法 |
US5509074A (en) * | 1994-01-27 | 1996-04-16 | At&T Corp. | Method of protecting electronically published materials using cryptographic protocols |
US5495533A (en) * | 1994-04-29 | 1996-02-27 | International Business Machines Corporation | Personal key archive |
US5530758A (en) * | 1994-06-03 | 1996-06-25 | Motorola, Inc. | Operational methods for a secure node in a computer network |
US5530757A (en) * | 1994-06-28 | 1996-06-25 | International Business Machines Corporation | Distributed fingerprints for information integrity verification |
US5748735A (en) * | 1994-07-18 | 1998-05-05 | Bell Atlantic Network Services, Inc. | Securing E-mail communications and encrypted file storage using yaksha split private key asymmetric cryptography |
US5634012A (en) * | 1994-11-23 | 1997-05-27 | Xerox Corporation | System for controlling the distribution and use of digital works having a fee reporting mechanism |
US5689638A (en) | 1994-12-13 | 1997-11-18 | Microsoft Corporation | Method for providing access to independent network resources by establishing connection using an application programming interface function call without prompting the user for authentication data |
EP1431864B2 (de) * | 1995-02-13 | 2012-08-22 | Intertrust Technologies Corporation | Systeme und Verfahren zur gesicherten Transaktionsverwaltung und elektronischem Rechtsschutz |
US5625693A (en) * | 1995-07-07 | 1997-04-29 | Thomson Consumer Electronics, Inc. | Apparatus and method for authenticating transmitting applications in an interactive TV system |
US5649103A (en) * | 1995-07-13 | 1997-07-15 | Cabletron Systems, Inc. | Method and apparatus for managing multiple server requests and collating reponses |
US5757915A (en) * | 1995-08-25 | 1998-05-26 | Intel Corporation | Parameterized hash functions for access control |
US5757914A (en) * | 1995-10-26 | 1998-05-26 | Sun Microsystems, Inc. | System and method for protecting use of dynamically linked executable modules |
DE19542910B4 (de) * | 1995-11-17 | 2005-01-05 | Deutsche Telekom Ag | Verfahren und Vorrichtung zum Schutz gespeicherter Daten |
US5870468A (en) * | 1996-03-01 | 1999-02-09 | International Business Machines Corporation | Enhanced data privacy for portable computers |
KR100224552B1 (ko) * | 1996-03-15 | 1999-10-15 | 하나와 요시카즈 | 자동차용 로크 방지 브레이크 제어 시스템 |
US5818936A (en) * | 1996-03-15 | 1998-10-06 | Novell, Inc. | System and method for automically authenticating a user in a distributed network system |
US5978484A (en) * | 1996-04-25 | 1999-11-02 | Microsoft Corporation | System and method for safety distributing executable objects |
US5778070A (en) * | 1996-06-28 | 1998-07-07 | Intel Corporation | Method and apparatus for protecting flash memory |
GB2315575A (en) | 1996-07-19 | 1998-02-04 | Ibm | Encryption circuit in I/O subsystem |
US5889860A (en) * | 1996-11-08 | 1999-03-30 | Sunhawk Corporation, Inc. | Encryption system with transaction coded decryption key |
US5835727A (en) * | 1996-12-09 | 1998-11-10 | Sun Microsystems, Inc. | Method and apparatus for controlling access to services within a computer network |
US5953422A (en) * | 1996-12-31 | 1999-09-14 | Compaq Computer Corporation | Secure two-piece user authentication in a computer network |
US5935249A (en) * | 1997-02-26 | 1999-08-10 | Sun Microsystems, Inc. | Mechanism for embedding network based control systems in a local network interface device |
US6049877A (en) * | 1997-07-16 | 2000-04-11 | International Business Machines Corporation | Systems, methods and computer program products for authorizing common gateway interface application requests |
-
1997
- 1997-06-30 US US08/884,864 patent/US6272631B1/en not_active Expired - Lifetime
- 1997-11-25 US US08/978,215 patent/US6532542B1/en not_active Expired - Lifetime
- 1997-12-23 US US08/996,637 patent/US6253324B1/en not_active Expired - Lifetime
- 1997-12-23 US US08/996,634 patent/US6044155A/en not_active Expired - Lifetime
-
1998
- 1998-06-11 GB GBGB9812614.7A patent/GB9812614D0/en active Pending
- 1998-06-22 DE DE19827659A patent/DE19827659B4/de not_active Expired - Lifetime
- 1998-06-26 GB GB9813901A patent/GB2328047B/en not_active Expired - Lifetime
- 1998-06-29 FR FR9808214A patent/FR2767208B1/fr not_active Expired - Lifetime
- 1998-06-30 JP JP18454698A patent/JP4463887B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19925389A1 (de) * | 1999-06-02 | 2000-12-21 | Beta Res Gmbh | Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards |
DE10347751A1 (de) * | 2003-10-14 | 2005-05-19 | Siemens Ag | Verfahren und Anordnungen zur Verschlüsselung von Speicherdateien auf mobilen Endgeräten |
DE10347751B4 (de) * | 2003-10-14 | 2005-10-27 | Siemens Ag | Verfahren und Anordnungen zur Verschlüsselung von Speicherdateien auf mobilen Endgeräten |
WO2005079038A1 (fr) * | 2004-01-14 | 2005-08-25 | France Telecom | Procede, terminal mobile, systeme et equipement pour la fourniture d’un service de proximite accessible par l’intermediaire d’un terminal mobile |
Also Published As
Publication number | Publication date |
---|---|
GB2328047B (en) | 1999-08-18 |
GB9813901D0 (en) | 1998-08-26 |
US6253324B1 (en) | 2001-06-26 |
GB2328047A (en) | 1999-02-10 |
GB9812614D0 (en) | 1998-08-12 |
JP4463887B2 (ja) | 2010-05-19 |
DE19827659B4 (de) | 2010-01-28 |
FR2767208A1 (fr) | 1999-02-12 |
US6532542B1 (en) | 2003-03-11 |
US6272631B1 (en) | 2001-08-07 |
US6044155A (en) | 2000-03-28 |
JPH1185622A (ja) | 1999-03-30 |
FR2767208B1 (fr) | 2005-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19827659B4 (de) | System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff | |
DE60200323T2 (de) | Verfahren zum Schutz der Integrität von Programmen | |
DE69819485T2 (de) | Verfahren und vorrichtung zur sicheren verarbeitung kryptographischer schlüssel | |
DE69725833T2 (de) | Gesicherte zweiteilige Benutzer-Authentifizierung in einem Rechnernetz | |
DE69727198T2 (de) | Durchführen digitaler Unterschriften für Datenströme und Archive | |
DE69534757T2 (de) | System und Verfahren zur sicheren Speicherung und Verteilung von Daten unter Verwendung digitaler Unterschriften | |
DE69731714T2 (de) | Dynamische Dienstklassen für eine internationale kryptographische Struktur | |
DE69704684T2 (de) | Vorrichtung und Verfahren zur Authentifizierung von Zugangsrechten eines Benutzers zu Betriebsmitteln nach dem Challenge-Response-Prinzip | |
DE60301177T2 (de) | Programm, Verfahren und Vorrichtung zum Datenschutz | |
DE60130172T2 (de) | Eine gesicherte und offene Rechnerplattform | |
DE69724235T2 (de) | Computersystem und Verfahren zum Schutz von Software | |
DE112004002470B4 (de) | Zertifikat-Basiertes Digitales Rechte-Management | |
DE69837303T2 (de) | Informationsverarbeitungsvorrichtung und Verfahren und Aufzeichnungsmedium zum Ausführen mittels öffentlicher Schlüssel verschlüsselter Programme | |
US5978484A (en) | System and method for safety distributing executable objects | |
Sandhu et al. | Authentication, Access Controls, and Intrusion Detection. | |
DE60007724T2 (de) | Chipkarten-benutzerschnittstelle für eine vertraute computerplattform | |
DE69720614T2 (de) | Verschlüsselungseinheit mit Kontaktpunktlogik | |
DE60320612T2 (de) | Dienstleistungssystem, in dem Dienste über ein Netzwerk von einer Dienstleistervorrichtung einer Dienstnehmervorrichtung zur Verfügung gestellt werden | |
DE102018104679A1 (de) | In Tonken übersetzte Hardware-Sicherheitsmodule | |
DE60224219T2 (de) | Sicheres drucken eines dokuments | |
DE112006001151T5 (de) | Computersicherheitssystem und -Verfahren | |
DE112011100182T5 (de) | Transaktionsprüfung für Datensicherheitsvorrichtungen | |
DE112008003931T5 (de) | Systeme und Verfahren für Datensicherheit | |
DE112009004762T5 (de) | System und verfahren zum durchführen einer verwaltunosoperation | |
DE102011077218B4 (de) | Zugriff auf in einer Cloud gespeicherte Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE |
|
R081 | Change of applicant/patentee |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, REDMOND, US Free format text: FORMER OWNER: MICROSOFT CORP., REDMOND, WASH., US Effective date: 20150126 |
|
R082 | Change of representative |
Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE Effective date: 20150126 |
|
R071 | Expiry of right |