FR2767208A1 - Systeme et procede de memorisation protegee de donnees secretes - Google Patents

Systeme et procede de memorisation protegee de donnees secretes Download PDF

Info

Publication number
FR2767208A1
FR2767208A1 FR9808214A FR9808214A FR2767208A1 FR 2767208 A1 FR2767208 A1 FR 2767208A1 FR 9808214 A FR9808214 A FR 9808214A FR 9808214 A FR9808214 A FR 9808214A FR 2767208 A1 FR2767208 A1 FR 2767208A1
Authority
FR
France
Prior art keywords
user
character
key
encrypted
keys
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
FR9808214A
Other languages
English (en)
Other versions
FR2767208B1 (fr
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 FR2767208A1 publication Critical patent/FR2767208A1/fr
Application granted granted Critical
Publication of FR2767208B1 publication Critical patent/FR2767208B1/fr
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

L'invention concerne l'implémentation d'une mémorisation centralisée pour des données secrètes vitales, appelées éléments de données. L'architecture comporte un serveur de mémorisation (104), une pluralité de fournisseurs de mémorisation (106) installables, et un ou plusieurs fournisseurs d'authentification (108). Lorsqu'un élément de données est mémorisé, un programme d'application (102) peut spécifier des règles qui déterminent quand autoriser l'accès à l'élément de données. L'accès peut être limité à l'utilisateur courant de l'ordinateur ou à des programmes d'application (102) spécifiés. Le serveur (104) authentifie les programmes d'application (102) demandeurs avant de leur retourner des données. Un fournisseur d'authentification par défaut authentifie les utilisateurs sur la base de leur connexion à l'ordinateur. Un fournisseur de mémorisation par défaut permet la mémorisation sur des supports magnétiques. Les éléments de données sont cryptés avant d'être mémorisés.

Description

A La présente invention concerne un système et un
procédé qui permettent d'implémenter des services centra-
lisés pour mémoriser d'une manière sécurisée des données secrètes vitales, telles que des mots de passe, des clés
cryptographiques, ainsi que des codes personnels ou fi-
nanciers sensibles.
De plus en plus, les transactions financières
et autres transactions sensibles s'effectuent via des or-
dinateurs personnels. Ceci rend d'autant plus indispensa-
ble une mémorisation sécurisée des données. Des techni-
ques de cryptographie modernes sont souvent utilisées
afin de protéger de telles données à l'encontre d'un ac-
cès non-autorisé.
Les nouveaux procédés de sécurité, cependant, rendent nécessaires la mémorisation et la protection des
données secrètes " vitales ", comme les clés cryptogra-
phiques privées, les numéros de carte de crédit, ainsi que d'autres petits éléments de données secrètes. A
l'heure actuelle, cette responsabilité incombe aux pro-
grammes d'application individuels ou aux utilisateurs
d'ordinateurs personnels, eux-mêmes. Bien qu'il soit pos-
sible de trouver des programmes qui permettent aux utili-
sateurs de crypter et de mémoriser les données, de tels programmes ne peuvent être utilisés d'une manière typique
par d'autres programmes d'application. Actuellement, cha-
que programme d'application doit imaginer un procédé fia-
ble et sûr pour mémoriser de telles données.
A titre d'exemple des problèmes associés à l'état courant de la technique, on va s'attacher aux questions impliquées dans l'exploitation des technologies
des cartes à mémoire " intelligentes " (" smart cards ").
Une telle carte à mémoire est particulièrement bien adap-
tée, lorsque utilisée comme réceptacle, pour des données secrètes vitales telles que celles décrites ci-dessus. De plus, de telles cartes à mémoire peuvent être utilisées pour authentifier des utilisateurs en demandant à chaque utilisateur d'insérer sa carte à mémoire personnelle dans
un réceptacle associé à l'ordinateur personnel de l'uti-
lisateur. Des cartes à mémoire intraficables ont été jus-
tement conçues à cet effet.
Des problèmes se posent, en l'absence de normes agréées, quant à l'utilisation de tels dispositifs. Bien qu'il serait possible, pour un développeur, de prévoir des moyens qui permettraient de travailler avec un nombre limité de cartes à mémoire, il lui serait difficile,
voire impossible, d'anticiper toutes les différentes va-
riantes susceptibles, le cas échéant, d'être utilisées.
De ce fait, il est impossible d'implémenter la technolo-
gie de la carte à mémoire dans des applications diverses différentes. Bien que certains supports de mémorisation, tels que les disques durs magnétiques, ne représentent pas les mêmes défis que les cartes à mémoire, de nombreux développeurs de logiciels n'ont simplement pas les bases
ni les connaissances requises pour implémenter d'une ma-
nière sûre les techniques cryptographiques modernes. Même
s'ils les avaient, il serait inefficace que chaque déve-
loppeur entreprenne la tâche complexe de développer un procédé pour mémoriser des données secrètes vitales. En outre, les solutions résultantes risqueraient de ne pas
être compatibles. Il serait bien plus préférable d'adop-
ter un schéma commun pour mémoriser de telles données, et éviter d'avoir à implémenter une nouvelle solution pour
chaque programme d'application différent.
L'invention décrite ci-après permet l'implémen-
tation de services de mémorisation protégée centralisés qui peuvent être appelés par des programmes d'application afin de mémoriser des données secrètes vitales. Un mode de réalisation de la présente invention est implémenté sous la forme d'un serveur et d'interfaces associées qui peuvent être invoqués par des programmes d'application afin de mémoriser et de récupérer de petits éléments de données. Le procédé général, ainsi que l'architecture générale, comprennent un serveur de mémorisation et une
pluralité de fournisseurs de mémorisation et de fournis-
seurs d'authentification installables. Chaque fournisseur de mémorisation est adapté pour mémoriser d'une manière sécurisée des données en utilisant un type spécifique de supports, comme des supports magnétiques ou des cartes à mémoire. Les détails inhérents au support de mémorisation
sont dissimulés aux programmes d'application appelants.
Les fournisseurs d'authentification sont utilisés pour authentifier les utilisateurs par différents procédés,
comme en demandant des mots de passe, en lisant des car-
tes à mémoire, en balayant la rétine, ou d'autres maniè-
res que l'on pourra imaginer dans le futur. A nouveau,
les détails de l'authentification sont généralement dis-
simulés aux programmes d'application appelants.
Les programmes d'application interagissent avec
le serveur de mémorisation via des interfaces bien défi-
nies. Un élément de données peut être mémorisé via un
simple appel au serveur de mémorisation, et peut être ré-
cupéré ultérieurement via un appel similaire. Le cryp-
tage, le décryptage, les contrôles d'intégrité des élé-
ments, et l'authentification de l'utilisateur sont tous
effectués par le serveur de mémorisation et ses fournis-
seurs associés. De ce fait, les programmes d'application
peuvent bénéficier de caractéristiques de sûreté avan-
cées, sans rendre plus complexes les programmes d'appli-
cation, eux-mêmes.
Lors de la mémorisation d'un élément de données en utilisant les services de mémorisation protégée, un
programme d'application peut spécifier des règles qui dé-
terminent quand autoriser l'accès à l'élément de données.
L'accès est généralement limité à l'utilisateur de l'or-
dinateur qui a créé l'élément de données. L'accès peut être limité d'une manière similaire à des programmes
d'application spécifiés ou à certaines classes de pro-
grammes d'application. Le serveur de mémorisation authen-
tifie les programmes d'application demandeurs avant de
leur retourner les données.
Un fournisseur d'authentification par défaut
authentifie les utilisateurs sur la base de leur con-
nexion à l'ordinateur ou au réseau. D'autres fournisseurs
d'authentification peuvent aussi être installés.
Un fournisseur de mémorisation par défaut per-
met la mémorisation d'éléments de données sur des sup-
ports magnétiques, tels qu'un disque dur ou une dis-
quette. Les éléments de données sont cryptés avant d'être mémorisés. Le cryptage utilise une clé qui est obtenue à
partir de l'authentification de l'utilisateur. D'une ma-
nière spécifique, la clé est obtenue à partir du mot de passe de l'utilisateur, entré lors de sa connexion à
l'ordinateur ou au réseau. De plus, un programme d'appli-
cation, voire l'utilisateur, peut spécifier que certains
éléments nécessitent l'entrée d'un mot de passe addition-
nel à chaque fois qu'est demandé un accès aux données.
Le fournisseur de mémorisation par défaut im-
plémente un schéma de cryptage à clé multi-niveau afin de minimiser le volume de cryptage à réeffectuer lorsque l'utilisateur change de mot de passe. Chaque élément de données est crypté en utilisant une clé d'élément qui est générée d'une manière aléatoire par le système. La clé d'élément est à son tour cryptée en utilisant une clé maîtresse qui est elle-même cryptée (comme on le décrira ci-après) avec une clé obtenue à partir du mot de passe fourni par l'utilisateur (tel que le mot de passe utilisé
lors de la connexion de l'utilisateur).
On va maintenant décrire la présente invention, à titre d'exemple uniquement, en se reportant aux dessins annexés sur lesquels: - la figure i est un schéma fonctionnel d'un exemple de système informatique qui est adapté pour être utilisé dans l'implémentation de la présente invention, la figure 2 est un organigramme d'un système de mémorisation protégée et d'un programme d'application appelant selon la présente invention, et
- la figure 3 est un organigramme montrant com-
ment les éléments de données sont cryptés et authentifiés
selon la présente invention.
On va maintenant décrire en détail la présente invention.
On va décrire d'une manière sommaire ce qu'est
la cryptographie.
D'une manière sommaire, la cryptographie est le
traitement que l'on utilise pour crypter ou brouiller des messages de manière à ce que les messages puissent être mémorisés et transmis en toute sécurité. La cryptographie
peut être utilisée pour effectuer des communications sû-
res, même lorsque le support de transmission (par exem-
ple, l'Internet) n'est pas digne de confiance. Les utili-
sateurs d'ordinateurs utilisent aussi la cryptographie pour crypter les fichiers sensibles, de manière à ce qu'un intrus ne puisse les comprendre. La cryptographie peut être utilisée pour garantir l'intégrité des données,
ainsi que pour préserver la discrétion. Il est aussi pos-
sible de vérifier l'origine d'éléments de données en uti-
lisant la cryptographie, via l'utilisation de signatures
numériques. Lorsqu'on utilise des procédés cryptographi-
ques, seules les clés cryptographiques doivent demeurer secrètes. Les algorithmes, les tailles des clés, et les
formats des fichiers peuvent être divulgués, sans compro-
mettre la sécurité.
En utilisant un cryptage de données, un élément de données peut être brouillé de manière à apparaître comme un charabia aléatoire et il est très difficile de
le retransformer en données originelles sans une clé se-
crête. Ce message peut consister en du texte ASCII, en un
fichier de base de données, ou autres données.
Une fois qu'un élément de données a été crypté, celui-ci peut être mémorisé sur un support non-sécurisé ou transmis via un réseau nonsécurisé, et demeurer en- core secret. Ultérieurement, le message peut être ramené
par décryptage sous sa forme originelle.
Lorsqu'un élément de données est crypté, une clé de cryptage est utilisée. Celle-ci est comparable à
la clé que l'on utilise pour fermer un cadenas. Pour dé-
crypter le message, une clé de décryptage doit être uti-
lisée. Les clés de cryptage et de décryptage sont sou-
vent, mais pas toujours, la même clé.
Il existe deux classes principales d'algorith-
mes de cryptage: les algorithmes symétriques et les al-
gorithmes à clé publique (aussi connus comme algorithmes asymétriques). Les systèmes qui utilisent les algorithmes
symétriques sont parfois appelés conventionnels.
Les algorithmes symétriques constituent le type
d'algorithme de cryptage le plus commun. Ceux-ci sont ap-
pelés symétriques du fait que la même clé est utilisée à la fois pour le cryptage et le décryptage. Contrairement aux clés utilisées avec les algorithmes à clé publique,
les clés symétriques sont fréquemment changées.
Par comparaison avec les algorithmes à clé pu-
blique, les algorithmes symétriques sont très rapides et,
de ce fait, sont préférés lors du cryptage de gros volu-
mes de données. Comme algorithmes symétriques les plus communs, on mentionnera les algorithmes RC2, RC4, et la "Data Encryption Standard" (DES) ou Norme de chiffrement Américaine. Les algorithmes (asymétriques) à clé publique utilisent deux clés différentes: la clé publique et la clé privée. La clé privée est réservée au propriétaire de la paire de clés, et la clé publique peut être distribuée à quiconque la demande (souvent par l'intermédiaire d'un
certificat). Si une clé est utilisée pour crypter un mes-
sage, alors l'autre clé est nécessaire pour décrypter le message. Les algorithmes à clé publique sont très lents - de l'ordre de 1000 fois plus lents que les algo-
rithmes symétriques. En conséquence, ceux-ci ne sont uti-
lisés d'une manière typique que pour crypter des clés de
session. Ceux-ci sont aussi utilisés pour signer numéri-
quement des messages.
L'un des algorithmes à clé publique les plus communs est l'algorithme de chiffrement à clé publique RSA.
Des signatures numériques peuvent être utili-
sées pour distribuer un élément de données non-crypté, tout en permettant aux destinataires de vérifier que le message provient de l'émetteur patenté et qu'il n'a pas été trafiqué. Signer un message n'altère pas le message,
mais génère simplement une chaîne de signatures numéri-
ques qui peut être entrelacée avec le message ou trans-
mise séparément.
Les signatures numériques sont générées en uti-
lisant des algorithmes de signature à clé publique: une clé privée est utilisée pour générer la signature, et la clé publique correspondante est utilisée pour valider la
signature.
Une authentification implique le traitement qui consiste à vérifier l'identité d'une personne ou d'une
entité. Des certificats sont une manière classique d'ob-
tenir l'authentification. Un certificat est un ensemble de données qui identifie complètement une entité, et est délivré par une Autorité de Certification uniquement après que l'Autorité a vérifié que l'entité est bien qui elle affirme être. L'ensemble de données contient la clé
cryptographique publique de l'entité. Lorsque l'expédi-
teur d'un message signe des données avec sa clé privée (et envoie une copie de son certificat avec le message), le destinataire du message peut utiliser la clé publique de l'expéditeur (récupérée à partir du certificat) afin de vérifier que l'expéditeur est bien celui qu'il affirme être. Des certificats peuvent aussi être utilisés pour vérifier que les données (y compris les programmes d'ap-
plication) ont été attestées par une source digne de con-
fiance.
Sur un réseau, il existe souvent une applica-
tion digne de confiance qui tourne sur un ordinateur sé-
curisé, qui est connue comme l'Autorité de Certification.
Cette application connaît la clé publique de chaque uti-
lisateur. Les Autorités de Certification délivrent des
messages connus sous le nom de certificats, qui contien-
nent chacun la clé publique de l'un de ses utilisa-
teurs-clients. Chaque certificat est signé avec la clé
privée de l'Autorité de Certification.
L'invention décrite ci-après utilise des tech-
niques telles que les techniques de cryptage numérique, de signature et d'authentification bien connues, décrites ci-dessus. Pour de plus amples informations concernant ces techniques, on se reportera au document de Schneier, Bruce; intitulé "Applied Cryptography Second Edition: Protocols, Algorithms and Source Code in C"; John Wiley
& Sons, 1996. La description qui va suivre suppose une
certaine familiarité avec ces questions.
On va maintenant décrire un exemple de contexte d'exploitation. La figure 1, ainsi que la discussion qui va
suivre, ont pour but de fournir une brève description gé-
nérale d'un contexte informatique adapté, dans lequel
peut être implémentée la présente invention. Bien que ce-
la ne soit pas nécessaire, la présente invention sera dé-
crite dans le contexte général d'instructions exécutables par ordinateur, comme des modules de programme, exécutées par un ordinateur personnel. D'une manière générale, des
modules de programme comprennent des routines, des pro-
grammes, des objets, des composants, des structures de données, etc. qui exécutent des tâches particulières ou
implémentent des types particuliers de données abstrai-
tes. De plus, l'homme du métier appréciera que la pré-
sente invention peut être implémentée en utilisant d'au- tres configurations de système informatique, y compris des dispositifs portatifs, des systèmes multiprocesseurs, des systèmes électroniques à base de microprocesseur ou programmables destinés au consommateur, des ordinateurs
personnels communiquants, des mini-ordinateurs, des ordi-
nateurs centraux, et analogues. La présente invention
peut aussi être implémentée dans des contextes informati-
ques répartis, dans lesquels les tâches sont exécutées
par des dispositifs de traitement éloignés qui sont re-
liés entre eux via un réseau de communication. Dans un contexte informatique réparti, les modules de programme
peuvent être placés à la fois dans des dispositifs de mé-
morisation locaux et éloignés.
En se reportant à la figure 1, un exemple de
système destiné à implémenter la présente invention com-
porte un dispositif informatique universel qui se pré-
sente sous la forme d'un ordinateur personnel 20 conven-
tionnel, incluant une unité de traitement 21, une mé-
moire-système 22, et un bus-système 23 qui relie les
divers composants du système, y compris la mé-
moire-système, à l'unité de traitement 21. Le bus-système 23 peut avoir n'importe quel type de structure et peut
être un bus de mémoire ou une unité de commande de mé-
moire, un bus périphérique, et un bus local utilisant n'importe quelle architecture de bus parmi une variété d'architectures. La mémoire- système inclut une mémoire morte (ROM) 24 et une mémoire vive (RAM) 25. Un système
de gestion de base des entrées/sorties 26 (BIOS), conte-
nant les routines de base qui aident à transférer les in-
formations entre les éléments de l'ordinateur personnel , tel que pendant le démarrage, est mémorisé dans la ROM 24. L'ordinateur personnel 20 comporte en outre une mémoire à disque dur 27 destinée à permettre une lecture à partir d'un disque dur et une écriture sur un disque dur, non-représentée, une mémoire à disque magnétique 28 destinée à permettre une lecture à partir d'un disque ma- gnétique amovible 29 ou une écriture sur celui-ci, et une
mémoire à disque optique 30 destinée à permettre une lec-
ture à partir d'un disque optique amovible 31 ou une
écriture sur celui-ci, tel qu'un CD ROM ou autres sup-
ports optiques. La mémoire à disque dur 27, la mémoire à disque magnétique 28 et la mémoire à disque optique 30
sont reliées au bus-système 23 via une interface de mé-
moire à disque dur 32, une interface de mémoire à disque magnétique 33 et une interface de mémoire optique 34, respectivement. Les mémoires et leurs supports lisibles par ordinateur associés assurent la mémorisation non-volatile des instructions lisibles par l'ordinateur,
des structures de données, des modules de programme, ain-
si que d'autres données, pour l'ordinateur personnel 20.
Bien que le contexte décrit ici à titre d'exemple utilise un disque dur, un disque magnétique amovible 29 et un disque optique amovible 31, il doit être apprécié de l'homme du métier que d'autres types de supports lisibles
par ordinateur, capables de mémoriser des données aux-
quelles peut accéder un ordinateur, tels que des casset-
tes magnétiques, des cartes-mémoires flash, des disques
vidéonumériques, des cartouches de Bernoulli, des mémoi-
res vives (RAM), des mémoires mortes (ROM), et analogues,
peuvent aussi être utilisés dans le contexte d'exploita-
tion décrit à titre d'exemple.
Un certain nombre de modules de programme peu-
vent être mémorisés sur le disque dur, le disque magnéti-
que 29, le disque optique 31, la ROM 24 ou la RAM 25, y compris un système d'exploitation 35, un ou plusieurs
programmes d'application 36, d'autres modules de pro-
gramme 37 et des données de programme 38. Un utilisateur l1 peut entrer des instructions et des informations sur l'ordinateur personnel 20 via des dispositifs d'entrée,
tels qu'un clavier 40 et un dispositif de pointage 42.
D'autres dispositifs d'entrée (non-représentés) peuvent comprendre un microphone, une manette de jeu, un clavier
de jeu, une antenne-satellite, un scanner, ou analogues.
Ces dispositifs d'entrée, ainsi que d'autres, sont sou-
vent reliés à l'unité de traitement 21 via une interface
à port série 46 qui est reliée au bus-système, mais peu-
vent être reliés par d'autres interfaces, comme par un port parallèle, un port de jeu, ou un bus série universel
(USB). Un moniteur 47 ou autre type de dispositif d'affi-
chage est aussi relié au bus-système 23 via une inter-
face, telle qu'un adaptateur vidéo 48. En plus du moni-
teur, les ordinateurs personnels comportent d'une manière typique d'autres dispositifs de sortie périphériques
(non-représentés), tels que des haut-parleurs et des im-
primantes. L'ordinateur personnel 20 peut être utilisé dans un contexte d'intégration à un réseau en utilisant des connexions logiques vers un ou plusieurs ordinateurs éloignés, tels qu'un ordinateur éloigné 49. L'ordinateur éloigné 49 peut être un autre ordinateur personnel, un
serveur, un routeur, un ordinateur communiquant, un dis-
positif pair ou autre noeud de réseau commun, et comporte
d'une manière typique une grande partie, voire la totali-
té des éléments décrits ci-dessus en référence à l'ordi-
nateur personnel 20, bien que seul un dispositif de mémo-
risation 50 ait été illustré sur la figure 1. Les con-
nexions logiques représentées sur la figure 1 incluent un réseau local (LAN) 51 et un réseau étendu (WAN) 52. De tels contextes d'intégration à un réseau sont communs dans les bureaux, les réseaux informatiques d'entreprise,
les intranets, et l'Internet.
Lorsque utilisé dans un contexte d'intégration à un réseau local, l'ordinateur personnel 20 est relié au réseau local 51 via une interfaceréseau ou adaptateur 53. Lorsque utilisé dans un réseau étendu, l'ordinateur personnel 20 comporte d'une manière typique un modem 54, ou d'autres moyens, pour établir des communications via le réseau étendu 52, tel que l'Internet. Le modem 54, qui peut être interne ou externe, est relié au bus-système 23
via l'interface à port série 46. Dans un contexte d'inté-
gration à un réseau, les modules de programme décrits en référence à l'ordinateur personnel 20, ou des parties de
* ceux-ci, peuvent être mémorisés dans le dispositif de mé-
morisation éloigné. On notera que les connexions au ré-
seau qui ont été représentées ne sont données qu'à titre d'exemple et que d'autres moyens peuvent être utilisés
pour établir un lien de communication entre les ordina-
teurs.
L'ordinateur illustré utilise un système d'ex-
ploitation similaire aux systèmes d'exploitation de la
famille Windows, commercialisés par Microsoft Corpora-
tion. La fonctionnalité décrite ci-dessous est implémen-
tée en utilisant des techniques de programmation stan-
dards, y compris en utilisant les interfaces OLE et COM, décrites dans le document "Inside OLE 2"; Brockschmidt,
Kraig; Microsoft Press, 1994.
Des systèmes d'exploitation Windows plus ré-
cents utilisent ce que l'on appelle l'API Win32: un en-
semble bien défini d'interfaces qui permettent aux pro-
grammes d'application d'utiliser la fonctionnalité four-
nie par les systèmes d'exploitation Windows. L'API Win32 est décrite dans de nombreux documents, parmi lesquels
"Windows 95 Win32 Programming API Bible"; Simon, Ri-
chard; Waite Group Press, 1996. Une certaine familiarité
avec ce type de programmation est supposée dans la des-
cription qui va suivre.
On va maintenant décrire la fonctionnalité et
l'architecture globales.
La figure 2 représente les composants architec-
turaux d'un système de mémorisation protégée selon la
présente invention qui est destiné à mémoriser des élé-
ments de données et à les protéger à l'encontre d'un ac-
cès non-autorisé. Le système de mémorisation protégée permet à des programmes d'application de mémoriser d'une manière sécurisée des éléments de données qui doivent rester confidentiels et ne doivent pas être trafiqués. De tels éléments de données peuvent comprendre des clés
cryptographiques, des mots de passe, des informations fi-
nancières, des profils de confiance, etc. Le système de mémorisation est conçu pour conserver de petits éléments
de données secrètes vitales au niveau d'un site de mémo-
risation central et commun; si un grand nombre de don-
nées doivent être protégées, un code d'amorçage secret (tel qu'une clé de cryptage) peut être mémorisé dans le
système de mémorisation, plutôt que les données el-
les-mêmes. Ceci permet aux éléments de données d'être dé-
placés, lorsque approprié, vers de petits dispositifs ma-
tériels sécurisés, tels que des cartes à mémoire, et
d'éviter aussi un temps système ("overhead") inutile, né-
cessaire sinon pour sécuriser un grand nombre d'éléments
de données.
Le système de mémorisation protégée est exécuté
par un ordinateur, tel que celui décrit ci-dessus en ré-
férence à la figure 1. Des programmes d'application, tels
qu'un programme d'application 102 représenté sur la fi-
gure 2, sont aussi exécutés par l'ordinateur.
Le système de mémorisation 100 comporte un com-
posant 104 formant serveur de mémorisation, appelé aussi
dispatcheur. D'une manière générale, le serveur de mémo-
risation, via l'interface Pstore 110, reçoit des éléments
de données en provenance de programmes d'application, mé-
morise d'une manière sécurisée les éléments de données,
et retourne ces éléments de données en réponse aux deman-
des émanant des programmes d'application. Le serveur de
mémorisation exécute aussi des procédures d'authentifica-
tion et de vérification eu égard aux programmes d'appli-
cation demandeurs, comme on l'expliquera avec plus de dé-
tails par la suite.
Au serveur de mémorisation sont associés une
pluralité de fournisseurs de mémorisation 106 installa-
bles et une pluralité de fournisseurs d'authentification
108 installables. Les fournisseurs de mémorisation spéci-
fiés sont appelés par le serveur de mémorisation pour mé-
moriser et récupérer d'une manière sécurisée des éléments
de données. Un ou plusieurs fournisseurs d'authentifica-
tion sont appelés par le serveur de mémorisation afin d'identifier et/ou d'authentifier les personnes utilisant
les ordinateurs.
Un fournisseur de mémorisation par défaut est
implémenté au sein du système de mémorisation. Le four-
nisseur de mémorisation par défaut crypte les éléments de
données, puis les mémorise sur un disque dur ou une dis- quette. Le cryptage est basé sur une ou plusieurs clés qui sont obtenues à
partir de l'authentification de
l'utilisateur de l'ordinateur. Le fournisseur de mémori-
sation par défaut vérifie aussi l'intégralité des élé-
ments de données lorsqu'il les récupère et les décrypte.
Un fournisseur d'authentification par défaut
est aussi implémenté au sein du système de mémorisation.
Le fournisseur d'authentification par défaut est appelé
par le serveur de mémorisation afin d'identifier les uti-
lisateurs d'ordinateurs sur la base de procédures de con-
nexion au système d'exploitation précédemment suivies.
D'une manière spécifique, le fournisseur d'authentifica-
tion par défaut identifie la personne qui utilise l'ordi-
nateur sur la base de l'identification faite lors de la connexion et du mot de passe fourni par l'utilisateur lorsqu'il s'est connecté au système d'exploitation de
l'ordinateur ou au système d'exploitation du réseau.
Bien que des fournisseurs de mémorisation et d'authentification par défaut soient implémentés, des fournisseurs additionnels pourront être installés dans le futur afin de bénéficier des nouvelles technologies de mémorisation et d'authentification. Par exemple, un four- nisseur de mémorisation sur carte à mémoire pourra être installé afin de permettre de mémoriser des éléments de données de noyau sur une carte à mémoire. Un fournisseur d'authentification de carte à mémoire pourra être utilisé
d'une manière similaire afin d'authentifier les utilisa-
teurs en leur demandant d'insérer leur carte à mémoire dans un lecteur de carte à mémoire. Quel que soit le cas,
la carte à mémoire pourra utiliser des techniques crypto-
graphiques à clé publique.
Des interfaces COM bien définies sont utilisées
entre le serveur de mémorisation et les divers fournis-
seurs, ce qui permet à de nouveaux fournisseurs d'être facilement installés et enregistrés avec le serveur de
mémorisation. Les programmes d'application peuvent en-
voyer des appels identiques vers le serveur de mémorisa-
tion 102, sans se soucier des fournisseurs utilisés. De ce fait, des programmes d'application peuvent être écrits, afin de bénéficier des technologies futures, en interagissant simplement avec le serveur de mémorisation 102, et sans avoir à se soucier des détails inhérents à
ces technologies futures.
Afin d'accroître la sécurité, le système de mé-
morisation protégée est implémenté dans un espace
d'adressage qui diffère de celui des programmes d'appli-
cation appelants. Les communications de part et d'autre de la frontière entre traitements ou espaces d'adressage s'effectuent en utilisant des appels RPC. De tels appels
peuvent se faire lorsqu'on utilise les systèmes d'exploi-
tation Windows, ainsi que d'autres systèmes d'exploita-
tion. La fonctionnalité et le formatage des appels RPC sont décrits dans le document intitulé "Microsoft Win32
Software Development Kit".
Bien que les programmes d'application puissent faire directement des appels RPC, une telle complexité est évitée en fournissant une bibliothèque de liens dyna- miques (DLL) qui peut être exécutée dans les espaces
d'adressage des programmes d'application. Cette biblio-
thèque, appelée Interface Pstore 110 sur la figure 2, im-
plémente une pluralité d'interfaces et de procédés asso-
ciés qui peuvent être appelés par les programmes d'appli-
cation afin d'exploiter l'intégralité de la fonctionnali-
té du système de mémorisation protégée. Les interfaces comprennent des procédés pour créer et lire des éléments
de données, ainsi que d'autres fonctions utiles. Les in-
terfaces et les procédés du mode de réalisation décrit
sont implémentés en utilisant les interfaces COM ('Compo-
nent Objet Model') du système d'exploitation Windows.
On va maintenant décrire comment se gère l'ac-
cès à des données protégées.
Le système de mémorisation protégée décrit ici dispose d'une très grande aptitude à gérer l'accès aux données. Le système de mémorisation offre deux niveaux de
protection des données: une protection au niveau appli-
cation et une protection au niveau utilisateur. Au niveau
application, le serveur de mémorisation retourne les élé-
ments de données demandés uniquement aux programmes d'ap-
plication demandeurs autorisés. En outre, le serveur de
mémorisation authentifie les programmes d'application de-
mandeurs avant de retourner les éléments de données indi-
viduels. L'authentification du programme d'application fait référence à un traitement qui consiste à déterminer
si un programme d'application a été trafiqué, ou à un au-
tre traitement qui consiste à vérifier la fiabilité d'un programme par l'utilisation de signatures numériques
cryptographiques à clé publique/privée ou autres moyens.
Microsoft Authenticode est un mécanisme disponible pour vérifier, par l'utilisation de signatures numériques,
qu'un programme d'application a été publié par une per-
sonne, un groupe ou une organisation spécifié, et qu'il est par conséquent fiable. La fonctionnalité Authenticode est commercialisée auprès du public par Microsoft Corpo-
ration et fait partie de son kit de développement logi-
ciel Win32 ("Win32 Software Development Kit").
Dans le mode de réalisation décrit ici, les
éléments de données sont organisés d'une manière hiérar-
chique en spécifiant des types et des sous-types de la manière suivante: Type - Sous-Type - Elément de Données Il existe des types et des soustypes qui sont
prédéfinis, et il est possible aux programmes d'applica-
tion de créer de nouveaux types et sous-types. Des ni-
veaux de protection différents peuvent être établis pour des éléments de données tombant sous certains types et
sous-types. D'une manière spécifique, un ensemble de rè-
gles d'accès est spécifié pour chaque sous-type. Un en-
semble de règles d'accès contient des règles associées à
différents types ou sous-types d'éléments de données.
L'accès à un élément de données d'un sous-type particu-
lier est accordé si une seule règle quelconque de l'en-
semble de règles correspondant est satisfaite. Chaque rè-
gle d'accès comprend un mode et une ou plusieurs clauses
d'accès; toutes les clauses d'accès doivent être satis-
faites avant que la règle ne soit considérée comme satis-
faite. Le mode indique le type d'accès autorisé si toutes
les clauses contenues dans une règle sont satisfaites.
Actuellement, deux modes d'accès sont définis: accès en
lecture et écriture.
Il existe actuellement trois types de clauses d'accès: Authenticode, Contrôle Binaire, et Descripteur
de Sécurité. Authenticode vérifie que le programme d'ap-
plication demandant l'accès aux données protégées est fiable et peut déterminer, le cas échéant, si la source, et par conséquent, l'application de la source, est digne
de confiance. Le Contrôle Binaire garantit qu'un pro-
gramme n'a pas été trafiqué depuis son installation. La clause Descripteur de Sécurité assure l'accès sur la base de listes de contrôle d'accès (ACL) sous Windows NT.
Authenticode est un produit et service bien do-
cumenté, commercialisé par Microsoft Corporation. Si la clause Authenticode a été spécifiée lors de la création d'un sous-type, un contrôle est effectué pour déterminer si l'application dont émane la demande a été signée ou non, et si elle a été signée, par qui l'a-t-elle été. La
clause peut spécifier une racine particulière, un certi-
ficateur, un éditeur (signataire), un nom de programme particulier, ou une combinaison particulière quelconque de ce qui précède. Aucun accès ne sera accordé à moins que les critères spécifiés ne soient satisfaits. Si aucun
critère n'est spécifié, la vérification équivaut à per-
mettre à n'importe quelle application ou module vérifié par Authenticode d'accéder aux données. Un contrôle via
Authenticode vérifie aussi l'image binaire du module ins-
pecté. Le Contrôle Binaire est implémenté en formant l'identifiant (connu sous le nom de "hash") d'une image
binaire d'un programme d'application lors de l'initiali-
sation. Lorsque le programme d'application demande des
données à un instant ultérieur, le système de mémorisa-
tion forme à nouveau l'identifiant ("hash") de l'image de la mémoire et le compare à l'identifiant originel. Les deux identifiants doivent coïncider avant que le système
de mémorisation protégé n'autorise le programme d'appli-
cation à accéder aux données demandées. Ainsi, si l'ap-
plication a changé depuis qu'elle a été installée et, par conséquent, risque d'avoir été trafiquée, les données resteront protégées et l'accès aux données sera refusé à
l'application.
La clause Descripteur de Sécurité est destinée
à ne permettre l'accès qu'à des utilisateurs ou des grou-
pes spécifiés, et est implémentée sur les plates-formes
Windows NT. Cette clause obtient les informations néces-
saires concernant les utilisateurs et les groupes à par- tir des ACL contenus dans le descripteur de sécurité de
Windows NT.
Au niveau utilisateur, le serveur de mémorisa-
tion permet d'accéder à des éléments de données indivi-
duels en fonction de la personne qui utiliser couramment l'ordinateur; par défaut, seul l'utilisateur responsable
de la création de l'élément de données est admis à y ac-
céder. Cependant, un utilisateur peut modifier ce compor-
tement par défaut en spécifiant des options appropriées lors de la création et de la sauvegarde des éléments de données, ou l'utilisateur peut modifier ultérieurement
les droits d'accès aux données.
Les utilisateurs et les programmes d'applica-
tion peuvent spécifier des styles de sécurité, qui spéci-
fient qu'un degré et/ou qu'un type de confirmation ou
d'authentification est nécessaire pour accéder à un élé-
ment de données particulier; par exemple, si un mot de passe est nécessaire. Le présent mode de réalisation,
avec le fournisseur d'authentification par défaut, sup-
porte les styles d'accès suivants:
* Accès silencieux: aucune interac-
tion-utilisateur requise. L'authentification
est basée sur une procédure d'authentifica-
tion du système d'exploitation de l'ordina-
teur ou du réseau suivie précédemment. Dans
la majeure partie des cas, ce type d'authen-
tification repose sur la capacité de l'utili-
sateur à entrer le mot de passe correct lors d'une procédure de connexion précédente, et
aucune autre interaction n'est requise lors-
que les données protégées font l'objet d'un
accès dans la réalité.
* Mot de passe de connexion: une boîte de dia-
logue est présentée, priant l'utilisateur de bien vouloir entrer le mot de passe utilisé précédemment pour se connecter à l'ordinateur
ou au réseau.
* Mot de passe défini par l'utilisateur:
l'utilisateur spécifie un mot de passe lors-
qu'un élément est initialement mémorisé, et doit entrer le mot de passe avant de pouvoir accéder à nouveau aux données. De tels mots de passe peuvent différer pour des éléments
de données différents, ou des groupes d'élé-
ments de données peuvent être mémorisés sous
le même mot de passe.
* OK/annulation: lorsqu'une application tente d'accéder aux données, une boîte de dialogue apparaît. L'utilisateur répond à la boîte de
dialogue en cliquant sur un bouton OK ou 're-
fuser', autorisant ou refusant ainsi à un programme d'application demandeur l'accès aux données. Comme évident d'après les différents types de
styles d'accès, l'accès à des éléments dans une mémorisa-
tion protégée peut nécessiter une interaction avec l'uti-
lisateur. Cette interaction est implémentée par l'utili-
sation d'une boîte de dialogue d'alerte de l'utilisateur.
D'une manière typique, l'utilisateur se verra prié d'in-
troduire un mot de passe en réponse à une boîte de dialo-
gue d'alerte de l'utilisateur. Cependant, des fournis-
seurs d'authentification différents peuvent nécessiter des types de réponse qui diffèrent (comme l'insertion
physique d'un jeton matériel ou des procédures d'authen-
tification biométriques).
Pour empêcher que des programmes de piratage ne
présentent des boites de dialogue d'alerte de l'utilisa-
teur qui soient similaires, et empêcher ainsi l'accès à des données secrètes, les boîtes de dialogue d'alerte de l'utilisateur peuvent être personnalisées par l'utilisa-
teur. D'une manière spécifique, un utilisateur peut spé-
cifier un arrière-plan ou un filigrane numérique particu-
lier à utiliser dans la boîte de dialogue d'alerte de l'utilisateur. En variante, un tel filigrane peut être
généré d'une manière aléatoire pour l'utilisateur. L'uti-
lisateur se familiarisera avec le filigrane sélectionné, et reconnaîtra ainsi les boîtes de dialogue non-autorisées, générées par des applications utilisées à
des fins de piratage.
On va maintenant décrire comment s'effectuent
le cryptage, le décryptage et l'authentification de don-
nées. Des fournisseurs de mémorisation différents
peuvent protéger de différentes manières les données mé-
morisées. Cependant, un certain type de cryptographie se-
ra habituellement utilisé. Le fournisseur de mémorisation par défaut décrit ici utilise un schéma de cryptage basé sur un mot de passe, dans lequel les éléments de données sont cryptés sur la base d'un mot de passe fourni par
l'utilisateur, ou d'un autre code lié à l'authentifica-
tion de l'utilisateur, avant de mémoriser les éléments de données. Lors de la récupération des éléments de données, le décryptage s'effectue sur la base du même mot de passe
ou code.
* Lorsqu'un élément de données est protégé par le style de sécurité "mot de passe défini par l'utilisateur"
mentionné ci-dessus, l'utilisateur introduit d'une ma-
nière explicite un mot de passe pour chaque élément de
données lors d'une étape d'authentification qui est invo-
quée avant de permettre d'accéder à un élément de données
individuel. Dans le cas d'un "accès silencieux", cepen-
dant, le cryptage et le décryptage s'effectuent sur la base d'un mot de passe ou d'un autre code qui est fourni
par la personne qui utilise l'ordinateur lors d'une pro-
cédure précédente d'authentification du système d'exploi-
tation de l'ordinateur ou du réseau ou d'une procédure de connexion à celui-ci. D'une manière typique, le nom de
connexion de l'utilisateur et un mot de passe sont utili-
sés pour former ou obtenir une clé qui est utilisée pour
le cryptage et le décryptage des éléments de données.
Dans le mode de réalisation décrit, une techni-
que à clé multi-niveau est utilisée pour crypter les élé-
ments de données sur la base de codes ou de mots de passe fournis par l'utilisateur. Cette technique est illustrée sur la figure 3. Dans cette implémentation, le cryptage et le décryptage utilisent une ou plusieurs clés qui sont obtenues à partir des mots de passe ou codes de connexion fournis. Comme mentionné, le mot de passe ou le code peut être récupéré à partir d'une étape d'authentification précédente, ou le système de mémorisation peut inviter la personne qui utilise l'ordinateur à introduire un mot de passe. Généralement, une clé d'élément est générée
d'une manière aléatoire pour chaque élément de données.
L'élément de données est crypté avec sa clé d'élément correspondante. Une clé d'authentification d'élément est aussi générée d'une manière aléatoire pour chaque élément et est utilisée pour générer un code d'identification
d'élément. Les codes d'identification d'élément sont uti-
lisés pendant le décryptage afin de vérifier que les élé-
ments de données sont correctement décryptés.
La clé d'élément et la clé d'authentification
d'élément sont alors cryptées en utilisant une clé maî-
tresse. La clé maîtresse est un nombre qui est généré
d'une manière aléatoire. Une clé d'authentification maî-
tresse est aussi générée et est utilisée pour calculer un
code d'authentification de clé de manière à ce que le dé-
cryptage correct de la clé d'élément et de la clé d'au-
thentification d'élément puisse être vérifié ultérieure-
ment. Enfin, la clé maîtresse et la clé d'authentifica-
tion maîtresse sont cryptées en utilisant un mot de passe qui est obtenu à partir de l'authentification ou l'iden-
tification de l'utilisateur.
En se reportant maintenant aux étapes spécifi-
ques de la figure 3, un élément de données individuel qui est à crypter et à mémoriser est indiqué par la référence numérique 130. Une étape ou opération 131 est mise en oeuvre pour crypter l'élément de données 130 en utilisant une clé d'élément 132. D'une manière spécifique, une clé
cryptographique 132 est utilisée pour effectuer un cryp-
tage DES sur l'élément de données 130. La clé d'élément 132 est générée sous la forme d'un nombre aléatoire par
le fournisseur de mémorisation par défaut.
Le fournisseur de mémorisation exécute aussi
une étape 133 qui consiste à générer un code d'authenti-
fication d'élément pour l'élément de données 130 indivi-
duel. Le code d'authentification d'élément est généré en utilisant un MAC (code d'authentification de message) en association avec une clé d'authentification d'élément 134 générée d'une manière aléatoire. Les MAC sont décrits
dans le document de Schneier mentionné précédemment.
Une autre étape 140 est effectuée pour crypter
la clé d'élément 132 et la clé d'authentification d'élé-
ment 134 avec une clé maîtresse 141, à nouveau en utili-
sant le cryptage DES mentionné ci-dessus. La clé maî-
tresse est un nombre aléatoire. Une étape 142 consiste à
générer un code d'authentification de clé pour la combi-
naison constituée de la clé d'élément et de la clé d'au-
thentification d'élément. Le code d'authentification de clé est généré avec un MAC en association avec une clé
d'authentification maîtresse 143 générée aléatoirement.
Une étape 145 est exécutée pour crypter la clé maîtresse et la clé d'authentification maîtresse avec une clé-utilisateur 146. Il s'agit à nouveau d'un cryptage DES. La clé-utilisateur est obtenue à partir du mot de passe ou du code fourni par l'utilisateur, indiqué par la référence numérique 147 sur la figure 3. Pour générer
la clé-utilisateur, le mot de passe 147 fourni par l'uti-
lisateur est attaché à un nombre aléatoire appelé sel 148, et est haché lors d'une étape 149 en utilisant une fonction de hachage SHA-1. De ceci résulte un nombre qui
est utilisé comme clé-utilisateur.
Une fois ces étapes implémentées, le serveur de mémorisation mémorise l'élément de données individuel crypté, le code d'authentification d'élément, la clé d'élément cryptée, la clé d'authentification d'élément
cryptée, le code d'authentification de clé, la clé maî-
tresse cryptée et la clé d'authentification maîtresse cryptée, à récupérer ultérieurement lorsque le demande un
programme d'application autorisé.
La récupération s'effectue suivant l'opération
inverse. Les éléments cryptés sont extraits de la mémori-
sation. Le fournisseur de mémorisation déduit la clé- utilisateur du mot de passe fourni par l'utilisateur
et utilise la clé-utilisateur pour décrypter la clé maî-
tresse et la clé d'authentification maîtresse. La clé d'authentification maîtresse est utilisée en association avec le MAC spécifié pour vérifier que la clé maîtresse a été correctement décryptée. La clé maîtresse est alors utilisée pour décrypter une clé d'élément appropriée et la clé d'authentification d'élément correspondante. La
clé d'authentification d'élément est utilisée en associa-
tion avec le MAC pour vérifier que la clé d'élément a été
correctement décryptée. La clé d'élément est alors utili-
sée pour décrypter l'élément de données réel.
Ce traitement permet que tous les éléments de données de l'utilisateur soient gérés en utilisant une
clé maîtresse unique qui est à son tour cryptée en fonc-
tion du mot de passe de l'utilisateur. L'avantage de ce schéma est que les éléments de données n'ont pas à être recryptés lorsque l'utilisateur change de mot de passe. A la place, seule la clé maîtresse doit être à nouveau cryptée. On va maintenant décrire comment s'effectue la
vérification de l'intégrité du système de mémorisation.
Le serveur de mémorisation, les fournisseurs de
mémorisation et les fournisseurs d'authentification uti-
lisent un mécanisme de verrouillage de la sécurité afin d'empêcher les violations de la sécurité qui pourraient
résulter d'un traficage des composants du système. Ce mé-
canisme utilise des techniques cryptographiques.
Une première motivation du mécanisme de ver-
rouillage de la sécurité est d'empêcher le chargement de
fournisseurs non-autorisés par le serveur de mémorisa-
tion. Il est particulièrement important d'empêcher qu'un
module non-autorisé ne puisse se dissimuler sous l'appa-
rence d'un fournisseur autorisé, du fait qu'un tel module non-autorisé pourrait alors dérober des données secrètes au sein du système. Une autre motivation est d'empêcher que le serveur de mémorisation ne puisse lui-même être trafiqué.
Lorsque le serveur et les fournisseurs sont ex-
pédiés, ceux-ci sont signés numériquement avec la clé
privée d'une paire de clés cryptographiques publi-
que/privée - la clé privée possède une clé publique cor-
respondante. La clé publique est alors codée matérielle-
ment dans les divers modules du serveur et des fournis-
seurs. Le serveur et les fournisseurs sont configurés de manière à vérifier leur signature en utilisant la clé cryptographique publique à chaque fois qu'un composant individuel est chargé et est exécuté. Lorsque le serveur
est chargé, celui-ci contrôle tout d'abord sa propre in-
tégrité en contrôlant sa propre signature numérique avec
la clé publique. Le serveur contrôle ensuite les signatu-
res numériques des autres composants du noyau lorsque ceux-ci sont chargés. A chaque fois qu'un composant est chargé, il contrôle la signature numérique du serveur. Si le contrôle de l'intégrité se traduit par un échec, aucun des composants ne fonctionnera. On va maintenant décrire comment s'effectue
l'authentification de programmes d'application deman-
deurs. Comme décrit ci-dessus, l'accès à des éléments de données peut être limité sur la base des programmes
d'application qui tentent d'accéder aux éléments de don-
nées. Pour que cette caractéristique soit fiable, le sys-
tème de mémorisation doit vérifier que les programmes d'application sont bien ceux qu'ils prétendent être, et qu'ils n'ont pas été trafiqués. Ce traitement s'appelle une authentification de programme. Une première option
est d'authentifier les programmes sur la base d'un con-
trôle binaire. Une telle authentification est effectuée par deux modules de serveur de mémorisation: le module
d'identification et le module d'exécution.
Le module d'identification est responsable de
l'interrogation du client qui appelle le serveur de mémo-
risation. Pour identifier un traitement associé à une de-
mande, les étapes suivantes sont mises en oeuvre:
1. Le programme d'application du client s'iden-
tifie auprès du serveur, en présentant deux éléments d'information: un Identificateur de traitement ("process ID"), et un pointeur de tâche ("thread handle"). L'Identificateur
de traitement" est obtenu en utilisant l'ap-
pel-système GetCurrentProcessId(); le poin-
teur de tâche est obtenu en utilisant les
appels-système GetCurrentThread() et Dupli-
cateHandle(). 2. Le serveur de mémorisation ouvre un pointeur au client, en utilisant l'Identificateur de traitement dans un appel à l'appel-système OpenProcess(). Le serveur de mémorisation
sauvegarde ce pointeur en vue d'une utilisa-
tion ultérieure.
3. Le client formule des demandes d'accès à des
éléments de données.
4. Le serveur de mémorisation utilise le poin-
teur de traitement obtenu ci-dessus pour
analyser l'espace des adresses-mémoire asso-
cié au traitement-client. Le serveur utilise aussi ce pointeur pour demander au système d'exploitation sous-jacent quels sont les modules exécutables (fichiers.exe,.dll, etc.) présents dans l'opération associée, en
plus de déterminer les adresses de charge-
ment des modules; le procédé exact utilisé pour interroger le système d'exploitation
varie selon le système d'exploitation.
5. Le serveur a maintenant une liste complète de modules associée au client, et l'utilise pour analyser la pile d'appels associée au
pointeur de tâche obtenu ci-dessus. L'ap-
pel-système StackWalk() est utilisé pour dé-
terminer la chaîne d'appels associée au
client.
Le module d'exécution utilise les résultats fournis par le module d'identification pour effectuer les contrôles suivants:
1. Vérifier que l'image chargée dans le traite-
ment-client n'a pas été trafiquée sur le disque. Ceci s'effectue en mémorisant une
représentation cryptographique du ou des fi-
chiers auxquels est accordé l'accès. Cette représentation cryptographique est mémorisée
en même temps que les données. On peut uti-
liser deux représentations cryptographiques du fichier: a Le fichier entier est lu et est ensuite
soumis au hachage cryptographique SHA-1.
La valeur de sortie de l'identifiant ("hash") est mémorisée en même temps que les données. Lorsqu'un accès subséquent aux données est demandé, l'identifiant est recalculé pour le fichier mémorisé sur le disque, puis est comparé à celui
mémorisé en même temps que les données.
Si le résultat de la comparaison s'avère correct, on passe au contrôle 2, ci-dessous. * Le fichier est soumis à une validation
sur la base d'un certificat à clé publi-
que. Des appels à Microsoft Authenticode sont alors utilisés pour vérifier que
l'image n'a pas été trafiquée. Authenti-
code gère le hachage de l'image du dis-
que d'une manière interne. Cette repré- sentation cryptographique du fichier est plus souple, du fait qu'elle
supporte aussi une validation vis-à-vis de divers champs contenus dans le certificat joint au fichier spécifique. Après la fin de la vérification par Authenticode, le
système analyse le contenu du certifi-
cat, afin de s'assurer qu'il coïncide avec le contenu mémorisé en même temps
que les données faisant l'objet d'un ac-
cès. 2. Vérifier que l'image sur disque coïncide
avec celle chargée dans le traite-
ment-client.
* Le module à contrôler est appliqué "map-
pé" sur l'espace d'adressage du serveur, en utilisant les appels-système de l'API
CreateFileMapping() et MapViewOfFile().
* Des corrections par réallocation sont
appliquées à l'image mappée si néces-
saire - uniquement si l'image n'a pas été chargée à l'adresse préférée dans
l'espace d'adressage du client.
* Le système exécute une boucle sur l'en-
tête de l'image, en recherchant les sec-
tions validées en lecture seule, telles
que les sections de code, les ressour-
ces, et les données validées en lecture seule. Pour chaque section, il met à
jour un identifiant ("hash") cryptogra-
phique sur la base de la fonction SHA-1.
* Le pointeur de traitement ("process han-
dle") délivré en sortie par le module d'identification est maintenant utilisé pour lire l'espace des adresses- mémoire dans lequel est chargé le module. Ceci s'effectue en utilisant l'appel-système ReadProcessMemory(). Chaque section de la mémoire est lue comme souligné à l'étape précédente, en mettant à jour un identifiant ("hash") cryptographique à
mesure que s'effectue le traitement.
* Le système compare les deux identifiants
résultant des étapes immédiatement pré-
cédentes. Si ceux-ci coïncident, l'image
en mémoire n'a pas été trafiquée.
On va maintenant évoquer les fonctions de l'in-
terface application.
Comme décrit ci-dessus, les interfaces sont ex-
posées à des programmes d'application, ce qui fait que
les programmes d'application peuvent bénéficier de carac-
téristiques de mémorisation protégée sans avoir à implé-
menter de schémas de cryptage sophistiqués ni avoir à
faire des appels RPC.
En conclusion, la présente invention aboutit à une architecture polyvalente et efficace qui présente un certains nombres d'avantages par rapport à la technique antérieure. Un avantage important est que des programmes d'application différents peuvent utiliser un seul serveur fourni pour mémoriser des données de noyau secrètes dans
une zone de mémorisation centrale. Ceci favorise la com-
patibilité entre les applications et évite un
temps-système ("overhead") important aux applications.
L'interface-utilisateur est une zone qui bénéficie de la
compatibilité assurée par le système de mémorisation dé-
crit ci-dessus, du fait que des invitations-utilisateur
sont générées par le système, plutôt que par les program-
mes d'application individuels. La mémorisation uniforme des éléments de données leur permet aussi d'être gérés par un programme de gestion unique qui est indépendant
des programmes d'application, eux-mêmes.
Un autre avantage important de la présente in-
vention est que les détails sous-jacents, inhérents à la sécurisation des éléments de données, sont dissimulés aux programmes d'application appelants. Par conséquent, les
développeurs de programmes n'ont pas à implémenter de me-
sures de sécurité sophistiquées; de telles mesures peu-
vent être implémentées par de simples appels au système de mémorisation décrit ici. Un avantage supplémentaire est que les nouvelles technologies, telles que les cartes à mémoire, pourront être utilisées par les programmes d'application, sans avoir à reprogrammer d'une manière
extensive.
La présente invention protège les secrets à l'encontre des piratages orientés utilisateur et orientés logiciel, y compris à l'encontre des agressions par des virus. D'une manière significative, le contrôle des accès est géré séparément des programmes d'application qui gé- nèrent et accèdent aux éléments de données. Du fait que les applications n'ont pas directement accès aux données de cryptage ou à d'autres données de commande, un accès à une donnée n'implique pas un accès à une autre donnée. De plus, le système de mémorisation, lui-même, ne contient
pas les informations nécessaires pour décrypter les élé-
ments de données mémorisés. Au contraire, l'utilisateur doit être présent et doit fournir un mot de passe correct
pour permettre le décryptage des données.
Un autre avantage important de la présente in-
vention est que les utilisateurs ne se voient pas con-
traints d'entrer d'une manière explicite des mots de
passe lorsqu'un accès à des données est requis. Au con-
traire, l'authentification de l'utilisateur est effectuée
une fois, lorsque l'utilisateur se connecte à l'ordina-
teur ou au réseau. Cette information de connexion est utilisée pour l'authentification de l'utilisateur et pour obtenir des clés servant au cryptage et au décryptage des données. Bien que la présente invention ait été décrite
dans un langage spécifique aux caractéristiques structu-
relles et/ou aux étapes méthodologiques, il doit être
compris que la présente invention n'est pas nécessaire-
ment limitée aux caractéristiques ou aux étapes spécifi-
ques décrites. Au contraire, les caractéristiques et les étapes spécifiques ne sont décrites qu'à titre d'exemple
d'implémentation de l'invention revendiquée.

Claims (72)

REVENDICATIONS
1. Système pour mémoriser des éléments de don-
nées et les protéger à l'encontre d'un accès non-autorisé, caractérisé en ce qu'il comporte: un serveur de mémorisation (104) qui reçoit des éléments de données (130) en provenance de programmes
d'application (102) et retourne de tels éléments de don-
nées en réponse à des demandes émanant de programmes d'application, un ou plusieurs fournisseurs de mémorisation (106) qui sont appelés par le serveur de mémorisation
(104) et qui mémorisent et récupèrent d'une manière sécu-
risée les éléments de données, un ou plusieurs fournisseurs d'authentification (108) qui sont appelés par le serveur de mémorisation (104) afin d'identifier des utilisateurs d'ordinateurs courants.
2. Système selon la revendication 1, caractéri-
sé en ce que le serveur de mémorisation (104) est confi-
guré pour appeler des fournisseurs de mémorisation ins-
tallables.
3. Système selon la revendication 1, caractéri-
sé en ce que le serveur de mémorisation (104) est confi-
guré pour appeler des fournisseurs d'authentification
installables.
4. Système selon la revendication 1, caractéri-
sé en ce que le serveur de mémorisation (104) s'exécute
dans un espace d'adressage qui diffère de celui des pro-
grammes d'application (102).
5. Système selon la revendication 1, caractéri-
sé en ce que le serveur de mémorisation (104) s'exécute
dans un espace d'adressage qui diffère de celui des pro-
grammes d'application (102) et est appelé via des appels RPC.
6. Système selon la revendication 1, caractéri-
sé en ce que ledit ou lesdits fournisseurs d'authentifi-
cation (108) comprennent un fournisseur d'authentifica-
tion qui identifie les identificateurs sur la base d'une
authentification précédente du réseau.
7. Système selon la revendication 1, caractéri-
sé en ce que ledit ou lesdits fournisseurs de mémorisa- tion (106) comprennent un fournisseur de mémorisation qui crypte les éléments de données avant de les mémoriser et
décrypte les éléments de données avant de les récupérer.
8. Système selon la revendication 1, caractéri-
sé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui vérifie l'intégrité des éléments de données lorsqu'il les récupère.
9. Système selon la revendication 1, caractéri-
sé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui crypte et décrypte les éléments de données en utilisant
une ou plusieurs clés qui sont obtenues à partir de l'au-
thentification de l'utilisateur courant de l'ordinateur.
10. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui crypte et décrypte les éléments de données en utilisant une ou plusieurs clés qui sont obtenues à partir d'un code fourni par l'utilisateur, et en ce que le serveur de
mémorisation (104) invite l'utilisateur courant de l'or-
dinateur à entrer le code à fournir par l'utilisateur.
11. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui crypte et décrypte les éléments de données en utilisant une ou plusieurs clés qui sont obtenues à partir d'un
code de connexion au réseau fourni par l'utilisateur cou-
rant de l'ordinateur.
12. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui mémorise et récupère d'une manière sécurisée les éléments de données en utilisant une ou plusieurs clés qui sont
obtenues à partir d'un code fourni par l'utilisateur.
13. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui mémorise et récupère d'une manière sécurisée les éléments de données en utilisant une ou plusieurs clés qui sont obtenues à partir d'un code de connexion au réseau fourni
par l'utilisateur courant de l'ordinateur.
14. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui mémorise les éléments de données en suivant les étapes consistant à:
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), crypter les clés d'élément (132) avec une clé maîtresse (141), crypter la clé maîtresse (141) avec une clé-utilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, mémoriser les éléments de données individuels cryptés, les clés d'élément cryptées, et la clé maîtresse cryptée.
15. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui mémorise les éléments de données en suivant les étapes consistant à:
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), générer des codes d'authentification d'élément,
pour les éléments de données (130) individuels, en utili-
sant des clés d'authentification d'élément (134), crypter les clés d'élément (132) et les clés d'authentification d'élément (134) avec une clé maîtresse
(141),
générer des codes d'authentification de clé, pour les clés d'élément (132) et les clés d'authentifica-
tion d'élément (134), en utilisant une clé d'authentifi-
cation maîtresse (143),
crypter la clé maîtresse (141) et la clé d'au-
thentification maîtresse (143) avec une clé-utilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, mémoriser les éléments de données individuels cryptés, les codes d'authentification d'élément, les clés d'élément cryptées, les clés d'authentification d'élément cryptées, les codes d'authentification de clé, la clé maîtresse cryptée, la clé d'authentification maîtresse cryptée.
16. Système selon la revendication 1, caracté-
risé en ce que ledit ou lesdits fournisseurs de mémorisa-
tion (106) comprennent un fournisseur de mémorisation qui récupère les éléments de données en suivant les étapes consistant à: récupérer des éléments de données individuels cryptés, les clés d'élément cryptées correspondant aux
éléments de données individuels cryptés, et une clé maî-
tresse cryptée, décrypter la clé maîtresse cryptée avec une cléutilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, décrypter les clés d'élément cryptées avec la clé maîtresse décryptée, décrypter des éléments de données individuels
cryptés avec les clés d'élément décryptées correspondan-
tes.
17. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104) permet d'accéder à des éléments de données (130) individuels en
fonction de l'utilisateur courant de l'ordinateur.
18. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés.
19. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés, et en ce que le serveur de mémorisation (104) authentifie les programmes
d'application demandeurs avant de leur retourner des élé-
ments de données individuels.
20. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés, et en ce que le serveur de mémorisation (104) authentifie le programme d'application demandeur en utilisant la cryptographie à clé publique avant de retourner des éléments de données individuels.
21. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104) répond
aux demandes émanant de programmes d'application en pré-
sentant des dialogues-utilisateur permettant à l'utilisa-
teur courant de l'ordinateur de spécifier les mots de passe à utiliser par le fournisseur de mémorisation (106) pour mémoriser et récupérer d'une manière sécurisée des
éléments de données.
22. Système selon la revendication 1, caracté-
risé en ce que le serveur de mémorisation (104), les fournisseurs de mémorisation (106) et les fournisseurs d'authentification (108) sont signés individuellement par une clé cryptographique privée qui correspond à une clé cryptographique publique, le serveur de mémorisation (104), les fournisseurs de mémorisation (106) et les fournisseurs d'authentification (108) étant configurés de manière à vérifier les signatures des uns et des autres
en utilisant la clé cryptographique publique.
23. Système pour mémoriser des éléments de don-
nées et les protéger à l'encontre d'un accès non-autorisé, caractérisé en ce qu'il comporte: un serveur de mémorisation (104) qui reçoit des éléments de données (130) en provenance de programmes
d'application (102), et retourne de tels éléments de don-
nées en réponse à des demandes émanant de programmes d'application (102), le serveur de mémorisation (104)
s'exécutant dans un espace d'adressage qui diffère de ce-
lui des programmes d'application (102) et étant appelé via des appels RPC, un fournisseur de mémorisation (106) qui est
appelé par le serveur de mémorisation (104) afin de mémo-
riser et récupérer d'une manière sécurisée les éléments de données, le fournisseur de mémorisation (106) cryptant
les éléments de données avant de les mémoriser en utili-
sant une ou plusieurs clés qui sont obtenues à partir de
l'authentification de l'utilisateur courant de l'ordina-
teur, le fournisseur de mémorisation (106) vérifiant
l'intégrité des éléments de données lorsqu'il les récu-
père, un fournisseur d'authentification (108) qui est
appelé par le serveur de mémorisation (104) afin d'iden-
tifier les utilisateurs d'ordinateurs courants, le four-
nisseur d'authentification identifiant les utilisateurs
sur la base d'une procédure de connexion au système d'ex-
ploitation suivie précédemment.
24. Système selon la revendication 23, caracté-
risé en ce que ladite ou lesdites clés sont obtenues à partir d'un code de connexion au système d'exploitation
fourni par l'utilisateur courant de l'ordinateur.
25. Système selon la revendication 24, caracté-
risé en ce que ladite ou lesdites clés sont obtenues à
partir d'un code fourni par l'utilisateur.
26. Système selon la revendication 23, caracté-
risé en ce que le fournisseur de mémorisation (106) mémo-
rise les éléments de données en suivant les étapes con-
sistant à:
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), crypter les clés d'élément (132) avec une clé maîtresse (141), crypter la clé maîtresse (141) avec une clé-utilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, mémoriser les éléments de données individuels cryptés, les clés d'élément cryptées, et la clé maîtresse cryptée.
27. Système selon la revendication 23, caracté-
risé en ce que le fournisseur de mémorisation (106) mémo-
rise les éléments de données en suivant les étapes con-
sistant à:
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), générer des codes d'authentification d'élément,
pour les éléments de données (130) individuels, en utili-
sant des clés d'authentification d'élément (134), crypter les clés d'élément (132) et les clés d'authentification d'élément (134) avec une clé maîtresse
(141),
générer des codes d'authentification de clé,
pour les clés d'élément (132) et les clés d'authentifica-
tion d'élément (134), en utilisant une clé d'authentifi-
cation maîtresse (143),
crypter la clé maîtresse (141) et la clé d'au-
thentification maîtresse (143) avec une clé-utilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, mémoriser les éléments de données individuels cryptés, les codes d'authentification d'élément, les clés d'élément cryptées, les clés d'authentification d'élément cryptées, les codes d'authentification de clé, la clé maîtresse cryptée, et la clé d'authentification maîtresse cryptée.
28. Système selon la revendication 23, caracté-
risé en ce que le fournisseur de mémorisation (106) récu-
père des éléments de données en suivant les étapes con-
sistant à: récupérer des éléments de données individuels cryptés, les clés d'élément cryptées correspondant aux
éléments de données individuels cryptés, et une clé maî-
tresse cryptée, décrypter la clé maîtresse cryptée avec une cléutilisateur (146) qui est obtenue à partir d'un code fourni par l'utilisateur, décrypter les clés d'élément cryptées avec la clé maîtresse (141) décryptée, décrypter les éléments de données individuels
cryptés avec les clés d'élément (132) décryptées corres-
pondantes.
29. Système selon la revendication 23, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés.
30. Système selon la revendication 23, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés, et en ce que le serveur de mémorisation (104) authentifie les programmes
d'application demandeurs avant de leur retourner des élé-
ments de données individuels.
31. Système selon la revendication 23, caracté-
risé en ce que le serveur de mémorisation (104) ne re-
tourne des éléments de données demandés qu'à des program-
mes d'application demandeurs autorisés, et en ce que le serveur de mémorisation (104) authentifie les programmes d'application demandeurs en utilisant la cryptographie à clé publique avant de retourner des éléments de données individuels.
32. Système selon la revendication 23, caracté-
risé en ce que le serveur de mémorisation (104) répond
aux demandes émanant de programmes d'application en pré-
sentant des dialogues-utilisateur permettant à l'utilisa-
teur courant de l'ordinateur de spécifier les mots de passe à utiliser par le fournisseur de mémorisation pour
mémoriser et récupérer d'une manière sécurisée des élé-
ments de données.
33. Système selon la revendication 23, caracté-
risé en ce que le serveur de mémorisation (104) et le
fournisseur de mémorisation (106) sont signés individuel-
lement par une clé cryptographique privée qui correspond
à une clé cryptographique publique, le serveur de mémori-
sation (104) et le fournisseur de mémorisation (106) étant configurés de manière à vérifier leur signature en
utilisant la clé cryptographique publique.
34. Procédé pour mémoriser des données secrètes associées à des utilisateurs et à des applications et les
protéger à l'encontre d'un accès non-autorisé, caractéri-
sé en ce qu'il comporte les étapes consistant à:
authentifier un utilisateur d'ordinateur cou-
rant sur la base d'une authentification de connexion an-
térieure effectuée par un système d'exploitation,
recevoir des éléments de données (130) indivi-
duels en provenance de programmes d'application (102),
crypter les éléments de données (130) en utili-
sant une ou plusieurs clés qui sont obtenues à partir de
ladite authentification de connexion antérieure de l'uti-
lisateur d'ordinateur courant,
mémoriser les éléments de données cryptés.
35. Procédé selon la revendication 34, caracté-
risé en ce que l'étape de mémorisation consiste à mémori-
ser les éléments de données cryptés de programmes d'ap-
plication différents dans une zone de mémorisation com-
mune.
36. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte en outre une étape consistant à obtenir ladite ou lesdites clés sur la base d'un mot de
passe de connexion à l'ordinateur.
37. Procédé selon la revendication 34, caracté-
risé en ce que l'étape de cryptage consiste à:
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), crypter les clés d'élément (132) avec une clé maitresse (141), crypter la clé maîtresse (141) avec une clé-utilisateur (146) qui est obtenue à partir de ladite authentification précédente de l'utilisateur courant de l'ordinateur,
le procédé comportant en outre une étape con-
sistant à mémoriser les clés d'élément cryptées et la clé
maîtresse cryptée.
38. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte en outre les étapes supplémen-
taires consistant à: récupérer des éléments de données individuels cryptés, les clés d'élément cryptées correspondant aux
éléments de données individuels cryptés, et une clé maî-
tresse cryptée, décrypter la clé maîtresse cryptée avec une cléutilisateur (146) qui est obtenue à partir de ladite authentification précédente de l'utilisateur courant de l'ordinateur, décrypter les clés d'élément (132) cryptées avec la clé maîtresse (141) décryptée,
décrypter les éléments de données (130) indivi-
duels cryptés avec les clés d'élément (132) décryptées correspondantes.
39. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à autoriser l'accès à des éléments de données in-
dividuels en fonction de l'utilisateur courant de l'ordi-
nateur.
40. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à ne retourner des éléments de données demandés
qu'à des programmes d'application demandeurs autorisés.
41. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte les étapes additionnelles con-
sistant à: ne retourner des éléments de données qu'à des programmes d'application demandeurs autorisés,
authentifier les programmes d'application de-
mandeurs avant de retourner des éléments de données indi-
viduels.
42. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à présenter des dialogues-utilisateur en réponse
à des demandes émanant de programmes d'application con-
cernant des éléments de données, les dialo-
gues-utilisateur permettant à l'utilisateur courant de l'ordinateur de spécifier des mots de passe à utiliser par le fournisseur de mémorisation (106) pour décrypter
*les éléments de données.
43. Procédé pour mémoriser des données secrètes associées à des utilisateurs et à des applications et les
protéger à l'encontre d'un accès non-autorisé, caractéri-
sé en ce qu'il comporte les étapes consistant à:
recevoir des éléments de données (130) indivi-
duels en provenance de programmes d'application (102),
crypter les éléments de données (130) indivi-
duels avec des clés d'élément (132), crypter les clés d'élément (132) avec une clé maîtresse (141), crypter la clé maîtresse (141) avec une clé-utilisateur (146), mémoriser les éléments de données cryptés, les
clés d'élément cryptées, et la clé maîtresse cryptee.
44. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre les étapes supplémen-
taires consistant à: générer des codes d'authentification d'élément,
pour les éléments de données (130) individuels, en utili-
sant des clés d'authentification d'élément (134), crypter les clés d'authentification d'élément (134) avec la clé maîtresse (141), générer des codes d'authentification de clé,
pour les clés d'élément (132) et les clés d'authentifica-
tion d'élément (134), en utilisant la clé d'authentifica-
tion maîtresse (143), crypter la clé d'authentification maîtresse (143) avec la clé-utilisateur (146),
mémoriser les codes d'authentification d'élé-
ment, les clés d'élément cryptées, les clés d'authentifi-
cation d'élément cryptées, les codes d'authentification
de clé, et la clé d'authentification maîtresse cryptée.
45. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre les étapes supplémen-
taires consistant à:
récupérer des éléments de données (130) indivi-
duels cryptés, les clés d'élément (132) cryptées corres-
pondant aux éléments de données (130) individuels cryptés récupérés, et la clé maîtresse (141) cryptée, décrypter la clé maîtresse (141) cryptée avec la clé-utilisateur (146), décrypter les clés d'élément (132) cryptées avec la clé maîtresse (141) décryptée, décrypter les éléments de données (130) indivi- duels cryptés avec les clés d'élément (132) décryptées correspondantes.
46. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre une étape consistant à obtenir la clé-utilisateur (146) à partir d'une étape
d'authentification de l'utilisateur.
47. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre une étape consistant à obtenir la cléutilisateur (146) à partir d'un code de
connexion à l'ordinateur.
48. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre une étape consistant à
obtenir la clé-utilisateur (146) à partir d'une authenti-
fication antérieure de l'utilisateur courant de l'ordina-
teur.
49. Procédé selon la revendication 43, caracté-
risé en ce qu'il comporte en outre une étape consistant à
obtenir la clé-utilisateur (146) à partir d'une authenti-
fication de l'utilisateur courant de l'ordinateur par le
réseau.
50. Procédé pour mémoriser des données secrètes associées à des utilisateurs et à des applications et les
protéger à l'encontre d'un accès non-autorisé, caractéri-
sé en ce qu'il comporte les étapes consistant à:
recevoir des éléments de données (130) indivi-
duels en provenance de programmes d'application (102),
crypter les éléments de données (130) en utili-
sant une ou plusieurs clés qui sont obtenues à partir de un ou plusieurs mots de passe fournis par l'utilisateur,
mémoriser les éléments de données (130) cryp-
tés, récupérer et décrypter les éléments de données (130) cryptés mémorisés en réponse à des demandes émanant
de programmes d'application.
51. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte une étape supplémentaire con- sistant à présenter des dialogues-utilisateur en réponse
à des demandes émanant de programmes d'application con-
cernant des éléments de données, les dialo-
gues-utilisateur permettant à l'utilisateur courant de l'ordinateur de spécifier les mots de passe à fournir par l'utilisateur.
52. Procédé selon la revendication 34, caracté-
risé en ce qu'il comporte l'étape supplémentaire consis-
tant à: permettre à un utilisateur de spécifier un type d'authentification d'utilisateur qui sera effectué avant
d'effectuer les étapes de récupération et de décryptage.
53. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte en outre une étape consistant à
obtenir un mot de passe par défaut de l'utilisateur du-
rant une procédure de connexion à l'ordinateur.
54. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte en outre une étape consistant à
obtenir un mot de passe par défaut de l'utilisateur du-
rant une procédure de connexion à l'ordinateur, le mot de passe par défaut de l'utilisateur comprenant un mot de
passe de connexion à l'ordinateur.
55. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte les étapes supplémentaires con-
sistant à:
obtenir un mot de passe par défaut de l'utili-
sateur durant une procédure de connexion au réseau, obtenir des mots de passe supplémentaires de l'utilisateur en présentant des dialoguesutilisateur qui permettent à l'utilisateur courant de l'ordinateur de
spécifier de tels mots de passe supplémentaires.
56. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à présenter des dialogues-utilisateur en réponse à des demandes émanant de programmes d'application (102) concernant des éléments de données (130), les dialo- gues-utilisateur permettant à l'utilisateur courant de l'ordinateur de spécifier les mots de passe à utiliser par le fournisseur de mémorisation (106) pour décrypter
les éléments de données (130).
57. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à autoriser l'accès à des éléments de données (130) individuels en fonction de l'utilisateur courant de l'ordinateur.
58. Procédé selon la revendication 50, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à ne retourner des éléments de données (130) de-
mandés qu'à des programmes d'application (102) demandeurs autorisés.
59. Procédé selon la revendication 50, l'étape
de cryptage comprenant le cryptage des éléments de don-
nées (130) individuels avec des clés d'élément (132), ca-
ractérisé en ce qu'il comporte les étapes supplémentaires consistant à:
recevoir des éléments de données (130) indivi-
duels en provenance de programmes d'application (102), crypter les clés d'élément (132) avec une clé maîtresse (141), crypter la clé maîtresse (141) avec une clé-utilisateur (146) qui est obtenue à partir dudit ou
desdits mots de passe fournis par l'utilisateur.
60. Procédé pour mémoriser des données secrètes associées à des utilisateurs et à des applications et les
protéger à l'encontre d'un accès non-autorisé, caractéri- sé en ce qu'il comporte les étapes consistant à:
recevoir des éléments de données (130) indivi-
duels en provenance de programmes d'application (102),
crypter les éléments de données (130) en utili-
sant une ou plusieurs clés qui sont obtenues à partir d'un ou plusieurs mots de passe fournis par l'utilisa- teur,
mémoriser les éléments de données (130) cryp-
tés, récupérer et décrypter les éléments de données (130) cryptés mémorisés en réponse à des demandes émanant de programmes d'application (102), autoriser l'accès à des éléments de données (130) individuels en fonction de l'utilisateur courant de l'ordinateur, ne retourner des éléments de données demandés
qu'à des programmes d'application demandeurs autorisés.
61. Procédé selon la revendication 60, caracté-
risé en ce qu'un programme d'application exécute une étape consistant à spécifier les programmes d'application
qui sont autorisés à accéder aux éléments de données res-
pectifs.
62. Procédé selon la revendication 60, caracté-
risé en ce qu'un programme d'application exécute une
étape consistant à spécifier les utilisateurs d'ordina-
teurs qui sont autorisés à accéder à des éléments de don-
nées respectifs.
63. Procédé selon la revendication 60, caracté-
risé en ce qu'il comporte en outre une étape consistant à
authentifier les programmes d'application demandeurs au-
torisés en utilisant la cryptographie à clé publique
avant de retourner des éléments de données individuels.
64. Procédé selon la revendication 60, caracté-
risé en ce que l'étape de mémorisation consiste à mémori-
ser les éléments de données cryptés en provenance de pro-
grammes d'application différents dans une zone de mémori-
sation commune.
65. Procédé pour mémoriser des données secrètes associées à des utilisateurs et à des applications et les
protéger à l'encontre d'un accès non-autorisé, caractéri-
sé en ce qu'il comporte les étapes consistant à: recevoir des éléments de données (130) indivi- duels en provenance de programmes d'application (102) différents, crypter les éléments de données (130),
mémoriser les éléments de données (130) cryp-
tés, en provenance des différents programmes d'applica-
tion (102), dans une zone de mémorisation commune.
66. Procédé selon la revendication 65, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à autoriser l'accès à des éléments de données in-
dividuels en fonction de l'utilisateur courant de l'ordi-
nateur.
67. Procédé selon la revendication 65, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à ne retourner des éléments de données demandés
qu'à des programmes d'application demandeurs autorisés.
68. Procédé selon la revendication 65, caracté-
risé en ce qu'il comporte les étapes supplémentaires con-
sistant à: ne retourner des éléments de données demandés qu'à des programmes d'application demandeurs autorisés,
authentifier les programmes d'application de-
mandeurs avant de retourner des éléments de données indi-
viduels.
69. Procédé selon la revendication 65, caracté-
risé en ce qu'il comporte une étape supplémentaire con-
sistant à présenter des dialogues-utilisateur en réponse
à des demandes émanant de programmes d'application con-
cernant des éléments de données, les dialo-
gues-utilisateur permettant à l'utilisateur courant de l'ordinateur de spécifier les mots de passe à utiliser par le fournisseur de mémorisation (106) pour décrypter
les éléments de données (130).
70. Procédé selon la revendication 65, caracté-
risé en ce que l'étape de cryptage est basée sur une ou plusieurs clés qui sont obtenues à partir de l'authenti-
fication de l'utilisateur courant de l'ordinateur.
71. Procédé selon la revendication 65, caracté-
risé en ce que l'étape de cryptage est basée sur une ou
plusieurs clés qui sont obtenues à partir d'un code four-
ni par l'utilisateur.
72. Procédé selon la revendication 65, ca-
ractérisé en ce que l'étape de cryptage est basée sur une ou plusieurs clés qui sont obtenues à partir d'un code de connexion à l'ordinateur fourni par l'utilisateur courant
de l'ordinateur.
FR9808214A 1997-06-30 1998-06-29 Systeme et procede de memorisation protegee de donnees secretes Expired - Lifetime FR2767208B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/884,864 US6272631B1 (en) 1997-06-30 1997-06-30 Protected storage of core data secrets

Publications (2)

Publication Number Publication Date
FR2767208A1 true FR2767208A1 (fr) 1999-02-12
FR2767208B1 FR2767208B1 (fr) 2005-03-18

Family

ID=25385594

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9808214A Expired - Lifetime FR2767208B1 (fr) 1997-06-30 1998-06-29 Systeme et procede de memorisation protegee de donnees secretes

Country Status (5)

Country Link
US (4) US6272631B1 (fr)
JP (1) JP4463887B2 (fr)
DE (1) DE19827659B4 (fr)
FR (1) FR2767208B1 (fr)
GB (2) GB9812614D0 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2805691A1 (fr) * 2000-02-29 2001-08-31 Safelogic Procede de controle d'integrite de fichiers informatiques et equipement pour la mise en oeuvre de ce procede

Families Citing this family (514)

* 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
CN1155259C (zh) * 1996-11-26 2004-06-23 松下电器产业株式会社 运动图象可变比特率编码装置和编码方法
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
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
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
DE59908261D1 (de) * 1998-08-19 2004-02-12 Siemens Ag 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
US6499109B1 (en) * 1998-12-08 2002-12-24 Networks Associates Technology, Inc. Method and apparatus for securing software distributed over a network
US6266774B1 (en) 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
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
US20050192008A1 (en) * 1999-03-31 2005-09-01 Nimesh Desai System and method for selective information exchange
US6820204B1 (en) 1999-03-31 2004-11-16 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
EP1056010A1 (fr) * 1999-05-28 2000-11-29 Hewlett-Packard Company Surveillance de l'intégrité de données dans une unité de calcul securisée
EP1055990A1 (fr) 1999-05-28 2000-11-29 Hewlett-Packard Company Enregistrement d'évènements sur une plate-forme d'ordinateur
US7146505B1 (en) 1999-06-01 2006-12-05 America Online, Inc. Secure data exchange between date processing systems
DE19925389A1 (de) * 1999-06-02 2000-12-21 Beta Res Gmbh Verfahren und Vorrichtung zur Übertragung von Daten auf SmartCards
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 (fr) 1999-09-17 2001-03-21 Hewlett-Packard Company Fonctionnement de l'état sécurisé sur une plate-forme d'ordinateur
WO2001023978A2 (fr) * 1999-09-29 2001-04-05 Senetas Corp. Ltd. (Usa) Base de donnees mondiale d'informations personnelles accessible a distance
US7043553B2 (en) * 1999-10-07 2006-05-09 Cisco Technology, Inc. Method and apparatus for securing information access
US6742126B1 (en) 1999-10-07 2004-05-25 Cisco Technology, Inc. Method and apparatus for identifying a data communications session
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 (fr) * 2000-02-18 2017-08-16 Vasco Data Security International GmbH Dispositif de jeton disposant d'un connecteur USB
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
DE60134696D1 (de) * 2000-05-23 2008-08-21 Hitachi Ltd Rechnersystem mit Fernkopiereinrichtung
JP4833489B2 (ja) * 2000-06-05 2011-12-07 フィーニックス  テクノロジーズ  リミテッド 複数のサーバを使用した遠隔パスワード認証のためのシステム、方法およびソフトウェア
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 주식회사 하이닉스반도체 반도체 메모리 장치
US7036011B2 (en) * 2000-06-29 2006-04-25 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
EP1207707B1 (fr) * 2000-11-17 2008-08-13 Sony Deutschland GmbH Transmission d'informations via un réseau ad-hoc
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
US20020141593A1 (en) * 2000-12-11 2002-10-03 Kurn David Michael Multiple cryptographic key linking scheme on a computer system
US7389354B1 (en) 2000-12-11 2008-06-17 Cisco Technology, Inc. Preventing HTTP server attacks
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
GB2372591A (en) * 2001-02-23 2002-08-28 Hewlett Packard Co Method of investigating transactions in a data processing environment
GB2372595A (en) 2001-02-23 2002-08-28 Hewlett Packard Co Method of and apparatus for ascertaining the status of 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
GB2372594B (en) * 2001-02-23 2004-10-06 Hewlett Packard Co Trusted computing 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
GB2376764B (en) 2001-06-19 2004-12-29 Hewlett Packard Co Multiple trusted computing environments
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
GB2378013A (en) * 2001-07-27 2003-01-29 Hewlett Packard Co Trusted computer platform audit system
EP1282023A1 (fr) * 2001-07-30 2003-02-05 Hewlett-Packard Company Evaluation d'une plate-forme d'ordinateur sécurisée
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
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
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
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
US8065713B1 (en) 2001-12-12 2011-11-22 Klimenty Vainstein System and method for providing multi-location access management to secured items
US7478418B2 (en) 2001-12-12 2009-01-13 Guardian Data Storage, Llc Guaranteed delivery of changes to security policies in a distributed system
US7562232B2 (en) * 2001-12-12 2009-07-14 Patrick Zuili System and method for providing manageability to security information for secured items
US7260555B2 (en) * 2001-12-12 2007-08-21 Guardian Data Storage, Llc Method and architecture for providing pervasive security to digital assets
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
US7921450B1 (en) 2001-12-12 2011-04-05 Klimenty Vainstein Security system using indirect key generation from access rules and methods therefor
US7783765B2 (en) 2001-12-12 2010-08-24 Hildebrand Hal S System and method for providing distributed access control to secured documents
US7930756B1 (en) 2001-12-12 2011-04-19 Crocker Steven Toye Multi-level cryptographic transformations for securing digital assets
US7380120B1 (en) 2001-12-12 2008-05-27 Guardian Data Storage, Llc Secured data format for access control
US7681034B1 (en) 2001-12-12 2010-03-16 Chang-Ping Lee Method and apparatus for securing electronic data
US6948062B1 (en) * 2001-12-12 2005-09-20 Intel Corporation Location dependent encryption and/or decryption
US7631184B2 (en) * 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of 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
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 (fr) * 2002-01-30 2003-08-06 STMicroelectronics Limited Dispositif de sécurité pour mémoire
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 富士通株式会社 データ保護プログラムおよびデータ保護方法
WO2004010584A2 (fr) * 2002-07-24 2004-01-29 Congruence Llc. Code d'identification d'objets
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
WO2004040410A2 (fr) 2002-10-25 2004-05-13 Grand Virtual Inc Cle de chiffrement de mot de passe
US20040088563A1 (en) * 2002-11-01 2004-05-06 Hogan Dirk J. Computer access authorization
US7836310B1 (en) 2002-11-01 2010-11-16 Yevgeniy Gutnik Security system that uses indirect password-based encryption
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
US7890990B1 (en) 2002-12-20 2011-02-15 Klimenty Vainstein Security system with staging capabilities
US7577838B1 (en) * 2002-12-20 2009-08-18 Alain Rossmann Hybrid systems for securing digital assets
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
WO2004107646A1 (fr) * 2003-05-14 2004-12-09 Threatguard, Inc. Systeme et procede de reseau prive virtuel a niveau d'application
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
CN101241735B (zh) 2003-07-07 2012-07-18 罗威所罗生股份有限公司 重放加密的视听内容的方法
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
US20060277415A1 (en) * 2003-09-10 2006-12-07 Staring Antonius A M Content protection method and 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
DE10347751B4 (de) * 2003-10-14 2005-10-27 Siemens Ag Verfahren und Anordnungen zur Verschlüsselung von Speicherdateien auf mobilen Endgeräten
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
US20050138148A1 (en) * 2003-12-22 2005-06-23 At&T Corporation Signaling managed device presence to control security
US7702909B2 (en) * 2003-12-22 2010-04-20 Klimenty Vainstein Method and system for validating timestamps
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
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
US7216256B2 (en) * 2004-03-30 2007-05-08 Bellsouth Intellectual Property Corporation 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
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 (fr) 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Procedes, dispositifs et structures de donnees pour des donnees de confiance
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
WO2007017882A1 (fr) * 2005-08-05 2007-02-15 Hewlett-Packard Development Company L.P. Systeme, procede et appareil destines a la gestion de cle cryptographique pour des dispositifs mobiles
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
AU2007247939B2 (en) 2006-05-05 2012-02-09 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
US8332637B2 (en) * 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US8180741B2 (en) 2006-06-06 2012-05-15 Red Hat, Inc. Methods and systems for providing data objects on a token
US8364952B2 (en) * 2006-06-06 2013-01-29 Red Hat, Inc. Methods and system for a key recovery plan
US8098829B2 (en) * 2006-06-06 2012-01-17 Red Hat, Inc. Methods and systems for secure key delivery
US8495380B2 (en) 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US8412927B2 (en) 2006-06-07 2013-04-02 Red Hat, Inc. Profile framework for token processing system
US9769158B2 (en) * 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8589695B2 (en) * 2006-06-07 2013-11-19 Red Hat, Inc. Methods and systems for entropy collection for server-side key generation
US8707024B2 (en) * 2006-06-07 2014-04-22 Red Hat, Inc. Methods and systems for managing identity management security domains
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
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 データ記録装置およびデータ管理方法
US8806219B2 (en) * 2006-08-23 2014-08-12 Red Hat, Inc. Time-based function back-off
US8787566B2 (en) * 2006-08-23 2014-07-22 Red Hat, Inc. Strong encryption
US8356342B2 (en) 2006-08-31 2013-01-15 Red Hat, Inc. Method and system for issuing a kill sequence for a token
US8074265B2 (en) 2006-08-31 2011-12-06 Red Hat, Inc. Methods and systems for verifying a location factor associated with a token
US9038154B2 (en) * 2006-08-31 2015-05-19 Red Hat, Inc. Token Registration
US8977844B2 (en) 2006-08-31 2015-03-10 Red Hat, Inc. Smartcard formation with authentication keys
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
US8832453B2 (en) 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US8639940B2 (en) * 2007-02-28 2014-01-28 Red Hat, Inc. Methods and systems for assigning roles on a token
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
JP4801777B2 (ja) * 2007-08-10 2011-10-26 株式会社日立ソリューションズ 認証処理システム、及び認証処理方法、並びにプログラム
US9158933B2 (en) * 2007-08-17 2015-10-13 Sybase, Inc. Protection of encryption keys in a database
US8555354B2 (en) * 2008-02-21 2013-10-08 Anthony S. Iasso Systems and methods for secure watchlisting
US20110040574A1 (en) * 2008-03-25 2011-02-17 Ho Chung Nicholas Fung 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 (fr) * 2009-10-30 2018-06-06 Nxp B.V. méthode et procédé pour obtenir un code d'autorisation pour un produit
JP5644770B2 (ja) * 2009-11-09 2014-12-24 日本電気株式会社 アクセス制御システム、サーバ、およびアクセス制御方法
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
JP2014522011A (ja) * 2011-05-17 2014-08-28 データボード・インコーポレーテツド 異種計算環境内のメインフレームのデータオブジェクトに対するアクセスを提供する工程
US9330245B2 (en) * 2011-12-01 2016-05-03 Dashlane SAS Cloud-based data backup and sync with secure local storage of access keys
CA2859794A1 (fr) * 2011-12-22 2013-06-27 Abbvie Inc. Structure de securite d'application
EP2820793B1 (fr) 2012-02-29 2018-07-04 BlackBerry Limited Procédé de fonctionnement d'un dispositif informatique, dispositif informatique et programme informatique
WO2013130561A2 (fr) 2012-02-29 2013-09-06 Good Technology Corporation Procédé de fonctionnement d'un dispositif informatique, dispositif informatique et programme informatique
WO2013130555A2 (fr) * 2012-02-29 2013-09-06 Good Technology Corporation Procédé de fonctionnement d'un dispositif informatique, dispositif informatique et programme informatique
CA2818439A1 (fr) * 2012-07-05 2014-01-05 Cyber-Ark Software Ltd. Systeme et procede pour authentification d'application hors bande
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
US20150271146A1 (en) * 2012-10-24 2015-09-24 Brian Holyfield 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
US9444800B1 (en) 2012-11-20 2016-09-13 Amazon Technologies, Inc. Virtual communication endpoint services
US9231930B1 (en) 2012-11-20 2016-01-05 Amazon Technologies, Inc. Virtual endpoints for request authentication
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
US20160028699A1 (en) * 2013-03-13 2016-01-28 Jumpto Media Inc. Encrypted network storage space
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
US9483363B2 (en) 2013-05-08 2016-11-01 Commvault Systems, Inc. Use of temporary secondary copies in failover operations
WO2014209190A1 (fr) * 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Chiffrement et stockage de données
US10171501B2 (en) * 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
EP2851833B1 (fr) 2013-09-20 2017-07-12 Open Text S.A. Architecture de passerelle d'application avec promulgations de politique et de règles de sécurité multiples niveaux
US9311500B2 (en) 2013-09-25 2016-04-12 Amazon Technologies, Inc. Data security using request-supplied keys
US9237019B2 (en) 2013-09-25 2016-01-12 Amazon Technologies, Inc. Resource locators with 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
US9811427B2 (en) 2014-04-02 2017-11-07 Commvault Systems, Inc. Information management by a media agent in the absence of communications with a storage manager
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
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
US20160132317A1 (en) 2014-11-06 2016-05-12 Intertrust Technologies Corporation Secure Application Distribution Systems and Methods
US9910655B1 (en) * 2014-11-06 2018-03-06 Accellion, Inc. Secure content platform software developer kit
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
IL257849B2 (en) 2015-09-05 2023-12-01 Mastercard Tech Canada Ulc Systems and methods for detecting and scoring anomalies
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
WO2017113353A1 (fr) * 2015-12-31 2017-07-06 华为技术有限公司 Procédé, appareil et dispositif de transmission de données
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
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
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
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
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
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
RU2637433C2 (ru) * 2016-04-25 2017-12-04 Акционерное общество "Лаборатория Касперского" Система и способ противодействия несанкционированному доступу к данным микрофона
US11675929B2 (en) 2016-06-10 2023-06-13 OneTrust, LLC Data processing consent sharing systems and related methods
US10713387B2 (en) 2016-06-10 2020-07-14 OneTrust, LLC Consent conversion optimization systems and related methods
US11301796B2 (en) 2016-06-10 2022-04-12 OneTrust, LLC Data processing systems and methods for customizing privacy training
US11188862B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Privacy management systems and methods
US11481710B2 (en) 2016-06-10 2022-10-25 OneTrust, LLC Privacy management systems and 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
US10997315B2 (en) 2016-06-10 2021-05-04 OneTrust, LLC Data processing systems for fulfilling data subject access requests 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
US11227247B2 (en) 2016-06-10 2022-01-18 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10235534B2 (en) 2016-06-10 2019-03-19 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US11416590B2 (en) 2016-06-10 2022-08-16 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
US11416798B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US11461500B2 (en) 2016-06-10 2022-10-04 OneTrust, LLC Data processing systems for cookie compliance testing with website scanning and related methods
US10437412B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management 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
US11144622B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Privacy management systems and methods
US11157600B2 (en) 2016-06-10 2021-10-26 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11520928B2 (en) 2016-06-10 2022-12-06 OneTrust, LLC Data processing systems for generating personal data receipts and related methods
US10204154B2 (en) 2016-06-10 2019-02-12 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11651106B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11651104B2 (en) 2016-06-10 2023-05-16 OneTrust, LLC Consent receipt management systems and related methods
US10776518B2 (en) 2016-06-10 2020-09-15 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
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
US10169609B1 (en) 2016-06-10 2019-01-01 OneTrust, LLC Data processing systems for fulfilling data subject access requests 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
US10592692B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Data processing systems for central consent repository and related methods
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
US11416589B2 (en) 2016-06-10 2022-08-16 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US10282700B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing systems for generating and populating a data inventory
US11151233B2 (en) 2016-06-10 2021-10-19 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
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
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
US10846433B2 (en) 2016-06-10 2020-11-24 OneTrust, LLC Data processing consent management systems and related methods
US11134086B2 (en) 2016-06-10 2021-09-28 OneTrust, LLC Consent conversion optimization systems and related methods
US10586075B2 (en) 2016-06-10 2020-03-10 OneTrust, LLC Data processing systems for orphaned data identification and deletion and related methods
US10783256B2 (en) 2016-06-10 2020-09-22 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US10440062B2 (en) 2016-06-10 2019-10-08 OneTrust, LLC Consent receipt management systems and related 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
US10503926B2 (en) 2016-06-10 2019-12-10 OneTrust, LLC Consent receipt management systems and related 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
US11188615B2 (en) 2016-06-10 2021-11-30 OneTrust, LLC Data processing consent capture systems 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
US11403377B2 (en) 2016-06-10 2022-08-02 OneTrust, LLC Privacy management systems and methods
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
US10284604B2 (en) 2016-06-10 2019-05-07 OneTrust, LLC Data processing and scanning systems for generating and populating a data inventory
US10885485B2 (en) 2016-06-10 2021-01-05 OneTrust, LLC Privacy management systems and methods
US10607028B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing systems for data testing to confirm data deletion and related 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
US10706174B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for prioritizing data subject access requests for fulfillment and related methods
US10452866B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
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
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
US11328092B2 (en) 2016-06-10 2022-05-10 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
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
US11100444B2 (en) 2016-06-10 2021-08-24 OneTrust, LLC Data processing systems and methods for providing training in a vendor procurement process
US10678945B2 (en) 2016-06-10 2020-06-09 OneTrust, LLC Consent receipt management systems and related methods
US10438017B2 (en) * 2016-06-10 2019-10-08 OneTrust, LLC Data processing systems for processing data subject access requests
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
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
US11366909B2 (en) 2016-06-10 2022-06-21 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
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
US11238390B2 (en) 2016-06-10 2022-02-01 OneTrust, LLC Privacy management systems and methods
US11354434B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10762236B2 (en) 2016-06-10 2020-09-01 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11087260B2 (en) 2016-06-10 2021-08-10 OneTrust, LLC Data processing systems and methods for customizing privacy training
US10706379B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data processing systems for automatic preparation for remediation and related methods
US11341447B2 (en) 2016-06-10 2022-05-24 OneTrust, LLC Privacy management systems and methods
US10796260B2 (en) 2016-06-10 2020-10-06 OneTrust, LLC Privacy management systems and methods
US10949565B2 (en) 2016-06-10 2021-03-16 OneTrust, LLC Data processing systems for generating and populating a data inventory
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
US11544667B2 (en) 2016-06-10 2023-01-03 OneTrust, LLC Data processing systems for generating and populating a data inventory
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
US10242228B2 (en) 2016-06-10 2019-03-26 OneTrust, LLC Data processing systems for measuring privacy maturity within an organization
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
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
US11023842B2 (en) 2016-06-10 2021-06-01 OneTrust, LLC Data processing systems and methods for bundled privacy policies
US10572686B2 (en) 2016-06-10 2020-02-25 OneTrust, LLC Consent receipt management systems 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
US11295316B2 (en) 2016-06-10 2022-04-05 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10509920B2 (en) 2016-06-10 2019-12-17 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
US10452864B2 (en) 2016-06-10 2019-10-22 OneTrust, LLC Data processing systems for webform crawling to map processing activities and related methods
US11392720B2 (en) 2016-06-10 2022-07-19 OneTrust, LLC Data processing systems for verification of consent and notice processing and related methods
US10275614B2 (en) 2016-06-10 2019-04-30 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10565236B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10685140B2 (en) 2016-06-10 2020-06-16 OneTrust, LLC Consent receipt management systems and related methods
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
US11138299B2 (en) 2016-06-10 2021-10-05 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11366786B2 (en) 2016-06-10 2022-06-21 OneTrust, LLC Data processing systems for processing data subject access requests
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
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
US11222309B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for generating and populating a data inventory
US10565397B1 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
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
US10896394B2 (en) 2016-06-10 2021-01-19 OneTrust, LLC Privacy management systems and methods
US10878127B2 (en) 2016-06-10 2020-12-29 OneTrust, LLC Data subject access request processing systems and related methods
US10909488B2 (en) 2016-06-10 2021-02-02 OneTrust, LLC Data processing systems for assessing readiness for responding to privacy-related incidents
US10496803B2 (en) 2016-06-10 2019-12-03 OneTrust, LLC Data processing systems and methods for efficiently assessing the risk of privacy campaigns
US10708305B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Automated data processing systems and methods for automatically processing requests for privacy-related information
US10592648B2 (en) 2016-06-10 2020-03-17 OneTrust, LLC Consent receipt management systems 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
US10776514B2 (en) 2016-06-10 2020-09-15 OneTrust, LLC Data processing systems for the identification and deletion of personal data in computer systems
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
US11475136B2 (en) 2016-06-10 2022-10-18 OneTrust, LLC Data processing systems for data transfer risk identification and related methods
US11636171B2 (en) 2016-06-10 2023-04-25 OneTrust, LLC Data processing user interface monitoring systems and related methods
US11074367B2 (en) 2016-06-10 2021-07-27 OneTrust, LLC Data processing systems for identity validation for consumer rights requests and related methods
US10853501B2 (en) 2016-06-10 2020-12-01 OneTrust, LLC Data processing and scanning systems for assessing vendor risk
US11146566B2 (en) 2016-06-10 2021-10-12 OneTrust, LLC Data processing systems for fulfilling data subject access requests and related methods
US11210420B2 (en) 2016-06-10 2021-12-28 OneTrust, LLC Data subject access request processing systems 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
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
US11200341B2 (en) 2016-06-10 2021-12-14 OneTrust, LLC Consent receipt management systems 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
US10706176B2 (en) 2016-06-10 2020-07-07 OneTrust, LLC Data-processing consent refresh, re-prompt, and recapture systems 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
US10565161B2 (en) 2016-06-10 2020-02-18 OneTrust, LLC Data processing systems for processing data subject access requests
US10606916B2 (en) 2016-06-10 2020-03-31 OneTrust, LLC Data processing user interface monitoring systems and related methods
US10726158B2 (en) 2016-06-10 2020-07-28 OneTrust, LLC Consent receipt management and automated process blocking systems and related methods
US11354435B2 (en) 2016-06-10 2022-06-07 OneTrust, LLC Data processing systems for data testing to confirm data deletion 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
US11222142B2 (en) 2016-06-10 2022-01-11 OneTrust, LLC Data processing systems for validating authorization for personal data collection, storage, and processing
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
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
US10803200B2 (en) 2016-06-10 2020-10-13 OneTrust, LLC Data processing systems for processing and managing data subject access in a distributed environment
US11562097B2 (en) 2016-06-10 2023-01-24 OneTrust, LLC Data processing systems for central consent repository 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
US10417102B2 (en) 2016-09-30 2019-09-17 Commvault Systems, Inc. Heartbeat monitoring of virtual machines for initiating failover operations in a data storage management system, including virtual machine distribution logic
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 (fr) * 2019-02-18 2020-08-19 Verimatrix Procédé de protection d'un programme logiciel contre la falsification
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 卓尔智联(武汉)研究院有限公司 风控计算的处理设备、处理方法、处理装置和存储介质
EP4179435A1 (fr) 2020-07-08 2023-05-17 OneTrust LLC Systèmes et procédés pour la découverte de données ciblées
US11316658B2 (en) 2020-07-20 2022-04-26 Bank Of America Corporation System and method for securing a database by scrambling data
WO2022026564A1 (fr) 2020-07-28 2022-02-03 OneTrust, LLC Systèmes et procédés permettant de bloquer automatiquement l'utilisation d'outils de suivi
US20230289376A1 (en) 2020-08-06 2023-09-14 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
WO2022061270A1 (fr) 2020-09-21 2022-03-24 OneTrust, LLC Systèmes de traitement de données et procédés de détection automatique des transferts de données cibles et de traitement de données cibles
US11397819B2 (en) 2020-11-06 2022-07-26 OneTrust, LLC Systems and methods for identifying data processing activities based on data discovery results
WO2022159901A1 (fr) 2021-01-25 2022-07-28 OneTrust, LLC Systèmes et procédés de découverte, de classification et d'indexation de données dans un système informatique natif
WO2022170047A1 (fr) 2021-02-04 2022-08-11 OneTrust, LLC Gestion d'attributs personnalisés pour des objets de domaine définis dans des microservices
WO2022170254A1 (fr) 2021-02-08 2022-08-11 OneTrust, LLC Systèmes de traitement de données et procédés permettant de rendre anonymes des échantillons de données dans une analyse de classification
WO2022173912A1 (fr) 2021-02-10 2022-08-18 OneTrust, LLC Systèmes et procédés pour atténuer les risques d'intégration de fonctionnalité de système informatique tiers dans un système informatique de première partie
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
EP4305539A1 (fr) 2021-03-08 2024-01-17 OneTrust, LLC Systèmes de découverte et d'analyse de transfert de données et procédés associés
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0281225A2 (fr) * 1987-03-03 1988-09-07 Hewlett-Packard Company Stockage sûr d'information
EP0442839A2 (fr) * 1990-02-15 1991-08-21 International Business Machines Corporation Méthode de contrôle d'accès utilisateur à un système de traitement de données distribuées
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive

Family Cites Families (39)

* 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
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
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.
EP0456386B1 (fr) 1990-05-11 1998-11-11 International Computers Limited Commande d'accès dans un système informatique réparti
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
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
CN101303717B (zh) * 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
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
US5818936A (en) * 1996-03-15 1998-10-06 Novell, Inc. System and method for automically authenticating a user in a distributed network system
US5884986A (en) * 1996-03-15 1999-03-23 Nissan Motor Co., Ltd. Anti-lock brake control system for automotive vehicles
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0281225A2 (fr) * 1987-03-03 1988-09-07 Hewlett-Packard Company Stockage sûr d'information
EP0442839A2 (fr) * 1990-02-15 1991-08-21 International Business Machines Corporation Méthode de contrôle d'accès utilisateur à un système de traitement de données distribuées
US5495533A (en) * 1994-04-29 1996-02-27 International Business Machines Corporation Personal key archive

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2805691A1 (fr) * 2000-02-29 2001-08-31 Safelogic Procede de controle d'integrite de fichiers informatiques et equipement pour la mise en oeuvre de ce procede

Also Published As

Publication number Publication date
FR2767208B1 (fr) 2005-03-18
US6532542B1 (en) 2003-03-11
DE19827659A1 (de) 1999-01-07
GB2328047A (en) 1999-02-10
JP4463887B2 (ja) 2010-05-19
JPH1185622A (ja) 1999-03-30
US6253324B1 (en) 2001-06-26
DE19827659B4 (de) 2010-01-28
US6044155A (en) 2000-03-28
GB2328047B (en) 1999-08-18
US6272631B1 (en) 2001-08-07
GB9812614D0 (en) 1998-08-12
GB9813901D0 (en) 1998-08-26

Similar Documents

Publication Publication Date Title
FR2767208A1 (fr) Systeme et procede de memorisation protegee de donnees secretes
USRE47313E1 (en) Securing digital content system and method
US6389535B1 (en) Cryptographic protection of core data secrets
US11258591B2 (en) Cryptographic key management based on identity information
US6173402B1 (en) Technique for localizing keyphrase-based data encryption and decryption
US20010008015A1 (en) Method and apparatus for secure processing of cryptographic keys
JP2005141746A (ja) 文書制御システムにおけるオフラインアクセス
WO2011019906A1 (fr) Protection en couche et validation de données d'identité communiquées en ligne par des clients intermédiaires multiples
WO2019233951A1 (fr) Une application logicielle et un serveur informatique pour authentifier l'identité d'un créateur de contenu numérique et l'intégrité du contenu du créateur publié
CA3057398C (fr) Execution securisee d'operations cryptographiques
CA3058242C (fr) Gestion de cles cryptographiques a partir d'informations d'identite
KR102144620B1 (ko) 책 보관함을 이용한 도서 공유 시스템
FR3073998B1 (fr) Procede numerique de controle d'acces a un objet, une ressource ou service par un utilisateur
Zharkova Application Encryption with Trusted Platform Module to Implement Standards in Windows 11 Environment
WO2024039687A1 (fr) Plateforme web sécurisée pour financement décentralisé

Legal Events

Date Code Title Description
TP Transmission of property

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, US

Effective date: 20150724

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20