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 Zugriff

Info

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
Application number
DE19827659A
Other languages
English (en)
Other versions
DE19827659B4 (de
Inventor
Matthew W Thomlinson
Scott Field
Allan Cooper
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE19827659A1 publication Critical patent/DE19827659A1/de
Application granted granted Critical
Publication of DE19827659B4 publication Critical patent/DE19827659B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • G06F2211/008Public Key, Asymmetric Key, Asymmetric Encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment

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 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.
Beispiel einer Betriebsumgebung
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.
Überblick über die Funktionalität und Architektur
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).
Zugangssteuerung zu geschützten Daten
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.
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.
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.
Datenverschlüsselung, Entschlüsselung und Authentisierung
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.
Überprüfung der Unversehrtheit des Speichersystems
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.
Authentisierung anfordernder Anwendungsprogramme
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.
Anwendungs-Schnittstellenfunktionen
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.
Schlußfolgerung
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
DE19827659A 1997-06-30 1998-06-22 System und Verfahren zum Speichern von Daten und zum Schützen der Daten gegen einen nichtauthorisierten Zugriff Expired - Lifetime DE19827659B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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