Nova Patents
EP1536307B1

Encryption of system paging file

Abstract

This record has no abstract on file.

EP1536307B1, drawing sheet 1
Sheet 1 of 6

Term

Term ended

Expired 25 October 2024, 1.9 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

10 claims: 10 independent, 0 dependent

  1. 1
    A method of protecting a virtual memory comprising:storing data in a plurality of pages of a volatile memory;determining to move contents of a first one of said plurality of pages from said volatile memory to a paging file (206) stored on a disk;providing said contents to a file system (208) with instructions to store said contents in a paging file, said paging file being marked for encryption, said file system causing said contents to be encrypted with a session key (302) prior to storing said contents in said paging file, said session key being required to decrypt information contained in said paging file;andwherein the file system causes said contents to be encrypted by communicating with an encryption component (304), the encryption component encrypting files that have been marked by the file system for encryption,characterised in that: said session key is stored in a manner such that a reboot of a machine on which said session key is stored causes said session key to be lost;said session key is generated upon a boot of said machine, andprior to generation of said session key, a block of said volatile memory for use as a workspace for the encryption component is reserved, whereby use of the workspace avoids the need to copy volatile memory contents to disk prior to generation of the session key. Procédé de protection d'une mémoire virtuelle comprenant : le stockage de données dans une pluralité de pages d'une mémoire volatile,la détermination du déplacement du contenu d'une première depuis ladite pluralité de pages de ladite mémoire volatile jusqu'à un fichier de pagination (206) stocké sur un disque,la fourniture dudit contenu à un système de fichiers (208) avec des instructions pour stocker ledit contenu dans un fichier de pagination, ledit fichier de pagination étant marqué en vue d'un cryptage, ledit système de fichiers provoquant le cryptage dudit contenu grâce à une clé de session (302) avant le stockage dudit contenu dans ledit fichier de pagination, ladite clé de session étant requise pour décrypter les informations contenues dans ledit fichier de pagination, etdans lequel le système de fichiers provoque le cryptage dudit contenu en communiquant avec un composant de cryptage (304), le composant de cryptage cryptant des fichiers qui ont été marqués par le système de fichiers en vue de cryptage,caractérisé en ce que : ladite clé de session est stockée de manière telle qu'un réamorçage d'une machine sur laquelle est stockée ladite clé de cryptage provoque la perte de ladite clé de session,ladite clé de session est générée sur un amorçage de ladite machine, etavant la génération de ladite clé de cryptage est réservé un bloc de ladite mémoire volatile en vue d'une utilisation comme espace de travail pour le composant de cryptage,grâce à quoi l'utilisation de l'espace de travail évite le besoin de copier le contenu de la mémoire volatile sur un disque avant la génération de la clé de session. Verfahren zum Schutz eines virtuellen Speichers, umfassend: Speichern von Daten in einer Vielzahl an Seiten eines flüchtigen Speichers;Beschließen, die Inhalte einer ersten Seite der Vielzahl an Seiten von dem flüchtigen Speicher zu einer auf einer Platte (disk) gespeicherten Auslagerungsdatei (206) zu verschieben;Bereitstellen der Inhalte einem Dateisystem (208) mit Anweisungen die Inhalte in einer Auslagerungsdatei zu speichern, wobei die Auslagerungsdatei für eine Verschlüsselung markiert wird, wobei das Dateisystem veranlasst, dass die Inhalte mittels eines Sitzungsschlüssels (302) vor dem Speichern der Inhalte in der Auslagerungsdatei verschlüsselt werden, wobei es erforderlich ist, dass der Sitzungsschlüssel in der Auslagerungsdatei enthaltene Information entschlüsselt;undwobei das Dateisystem veranlasst, dass die Inhalte durch Kommunizieren mit einer Verschlüsselungskomponente (304) verschlüsselt werden, wobei die Verschlüsselungskomponente Dateien verschlüsselt, die durch das Dateiensystem für eine Verschlüsselung markiert worden sind,dadurch gekennzeichnet, dassder Sitzungsschlüssel auf eine Art und Weise gespeichert wird, dass ein erneutes Hochfahren des Geräts, auf dem der Sitzungsschlüssel gespeichert ist, dazu führt, dass der Sitzungsschlüssel verloren geht;wobei der Sitzungsschlüssel bei einem Hochfahren des Geräts erzeugt wird, undvor der Erzeugung des Sitzungsschlüssels ein Block des flüchtigen Speichers für die Verwendung als eine Arbeitsumgebung für die Verschlüsselungskomponente reserviert wird,wobei die Verwendung der Arbeitsumgebung die Notwendigkeit ausschließt, die Inhalte des flüchtigen Speichers vor der Erzeugung des Sitzungsschlüssels auf der Platte zu speichern.
  2. 2
    Procédé selon la revendication 1, comprenant en outre :la réservation d'un bloc de ladite mémoire volatile dans laquelle peuvent être passées dans un sens et dans l'autre des données entre le système de fichiers et le composant de cryptage. The method of claim 1, further comprising: reserving a block of said volatile memory in which data may be passed back and forth between the file system and the encryption component. Verfahren nach Anspruch 1, des Weiteren umfassend: Reservieren eines Blocks des flüchtigen Speichers, in dem Daten zwischen dem Dateisystem und der Verschlüsselungskomponente hin- und hergeschoben werden können.
  3. 3
    A system for maintaining an encrypted paging file that stores virtual memory data for a computer, the system comprising:an encryption component that receives data and performs encryption and decryption operations on said data using a key;a virtual memory manager that copies or moves data from volatile memory to disk by requesting that a file system store the copied or moved data in a paging file, the file system calling upon the encryption component to encrypt the copied or moved data with said key;characterised in that: the system comprises a mechanism that generates said key upon a boot of the computer;a storage location in the computer that stores said key in a manner that causes said key not to persist across boots of the computer;and in that it is further configured such that the encryption component reserves a block of memory upon startup which is used as a workspace for the encryption component prior to generation of said key, and such that sufficient space for storage of said encryption component's operating data exists in said volatile memory prior to generation of said key. System zur Aufrechterhaltung einer verschlüsselten Auslagerungsdatei, die virtuelle Speicherdaten für einen Computer speichert, wobei das System umfasst: eine Verschlüsselungskomponente, die Daten empfängt und Verschlüsselungs- und Entschlüsselungsoperationen der Daten unter Anwendung eines Schlüssels durchführt;einen virtuellen Speicherverwalter, der Daten vom flüchtigen Speicher zu der Platte kopiert oder verschiebt, indem er fordert, dass ein Dateisystem die kopierten oder verschobenen Daten in einer Austauschdatei speichert, wobei das Dateisystem die Verschlüsselungskomponente aufruft, um die kopierten oder bewegten Daten mittels des Schlüssels zu verschlüsseln,dadurch gekennzeichnet, dass: das System einen Mechanismus umfasst, der den Schlüssel bei einem Hochfahren des Computers erzeugt;einen Speicherplatz in dem Computer, der den Schlüssel auf eine Art und Weise speichert, die dazu führt, dass der Schlüssel über Vorgänge des Hochfahrens des Computers hinweg nicht bestehen bleibt;und dadurch, dass es des Weiteren so konfiguriert ist, dass die Verschlüsselungskomponente beim Neustart vor der Erzeugung des Schlüssels einen Block des Speichers reserviert, der als eine Arbeitsumgebung für die Verschlüsselungskomponente verwendet wird,und dadurch, dass ausreichend Platz zur Speicherung der Betriebsdaten der Verschlüsselungskomponente in dem flüchtigen Speicher vor der Erzeugung des Schlüssels existiert. Système de support d'un fichier de pagination cryptée qui stocke des données de mémoire virtuelle pour un ordinateur, le système comprenant : un composant de cryptage qui reçoit des données et effectue des opérations de cryptage et de décryptage sur lesdites données en utilisant une clé,un gestionnaire de mémoire virtuelle qui copie ou déplace des données de la mémoire virtuelle sur le disque en demandant qu'un système de fichiers stocke les données copiées ou déplacées dans un fichier de pagination, le système de fichiers appelant le composant de cryptage pour qu'il crypte les données copiées ou déplacées avec ladite clé,caractérisé en ce que : le système comprend un mécanisme qui génère ladite clé lors de l'amorçage de l'ordinateur,un emplacement de stockage dans l'ordinateur qui stocke ladite clé de manière à ce que ladite clé ne persiste pas d'un amorçage à l'autre de l'ordinateur, et en ce qu'il est en outre configuré de sorte à ce que le composant de cryptage réserve un bloc de mémoire au démarrage, lequel est utilisé comme espace de travail pour le composant de cryptage avant la génération de ladite clé, et de sorte à ce qu'un espace suffisant pour le stockage desdites donnés d'exploitation du composant de cryptage soit ménagé dans ladite mémoire volatile avant la génération de ladite clé.
  4. 4
    System nach Anspruch 3, wobei der Speicherblock als ein Puffer verwendet wird, um Information zwischen dem Dateisystem und der Verschlüsselungskomponente weiterzugeben. Système selon la revendication 3, dans lequel le bloc de mémoire est utilisé comme mémoire tampon pour passer des informations entre le système de fichiers et le composant de cryptage. The system of claim 3, wherein the block of memory is used as a buffer to pass information between the file system and the encryption component.
  5. 5
    System nach Anspruch 3, wobei der Schlüssel erzeugt wird, bevor der virtuelle Speicherverwalter die Speicherung der Daten in die Auslagerungsdatei einleitet. Système selon la revendication 3, dans lequel ladite clé est générée avant que ledit gestionnaire de mémoire virtuelle oriente le stockage de données dans le fichier de pagination. The system of claim 3, wherein said key is generated before said virtual memory manager directs the storage of data into the paging file.
  6. 6
    System nach Anspruch 3, wobei der Schlüssel in dem flüchtigen Speicher gespeichert wird, und wobei keine Kopie des Schlüssels in irgendeinem nichtflüchtigen Speicher oder Speichervorrichtung des Computers gespeichert wird. Système selon la revendication 3, dans lequel ladite clé est stockée dans ladite mémoire volatile, et dans lequel aucune copie de ladite clé n'est stockée dans une quelconque mémoire non volatile ou autre dispositif de stockage de l'ordinateur. The system of claim 3, wherein said key is stored in said volatile memory, and wherein no copy of said key is stored in any non-volatile memory or storage device of the computer.
  7. 7
    System nach Anspruch 3, wobei die Verschlüsselung der Daten nach einem oder mehreren der nachstehenden Algorithmen durchgeführt wird:Daten-Verschlüsselungs-Standard (DES: Data Encryption Standard);Dreifach-DES (3DES);oderFortgeschrittener Verschlüsselungsstandard (AES: Advanced Encryption Standard). Système selon la revendication 3, dans lequel le cryptage des données est effectué en fonction de la de plusieurs des algorithmes suivants : la norme de cryptage de données (DES),la norme triple DES (3DES), oula norme de cryptage avancé (AES). The system of claim 3, wherein encryption of the data is performed according to one or more of the following algorithms: Data Encryption Standard (DES);Triple-DES (3DES);orAdvanced Encryption Standard (AES).
  8. 8
    System nach Anspruch 3, wobei das System des Weiteren die Inhalte des virtuellen Speichers schützt, indem es sicherstellt, dass alle Anwendungen und Daten im Benutzermodus, die in dem virtuellen Speicher gespeichert sind, verschlüsselt sind, wenn sie in der Auslagerungsdatei gespeichert werden. Système selon la revendication 3, dans lequel le système protège en outre le contenu de la mémoire virtuelle en garantissant que toutes les applications en mode utilisateur et les données qui sont stockées dans la mémoire virtuelle sont cryptées lorsqu'elles sont stockées dans le fichier de pagination. The system of claim 3, wherein the system further protects the contents of the virtual memory by ensuring that all user mode applications and data that are stored in the virtual memory are encrypted when being stored in the paging file.
  9. 9
    A computer-readable medium encoded with computer executable instructions to perform a method that takes place upon startup of a computer, the method comprising:retrieving information indicating that virtual memory data stored on disk is to be encrypted;marking a paging file as an encrypted file;receiving, from a memory manager, data from a volatile storage device that is to be stored on disk in the paging file;andprotecting the received data from observation by encrypting the received data with a session key prior to storing said data in the paging file;characterised in that: a session key is generated upon a boot of the computer;said session key is stored in a non-persistent manner that does not survive across machine boots;and in that a block of memory prior to generation of the session key is reserved, wherein the block of memory is used either as: a buffer to pass data between a file system that maintains the paging file and an encryption component that performs encryption and decryption of the data with the session key;ora workspace usable by the encryption component prior to generation of the session key. Computerlesbares Medium, codiert mittels computerausführbaren Anweisungen, um ein Verfahren durchzuführen, das beim Starten eines Computers stattfindet, wobei das Verfahren umfasst: Abruf von Information, die angibt, dass auf einer Platte gespeicherte virtuelle Speicherdaten verschlüsselt werden sollen;Markieren einer Auslagerungsdatei als eine verschlüsselte Datei;Empfangen, von einem Speicherverwalter, von Daten aus einer flüchtigen Speichervorrichtung, die auf einer Platte in der Auslagerungsdatei gespeichert werden sollen;undSchützen der erhaltenen Daten vor einer Beobachtung durch Verschlüsseln der empfangenen Daten mittels eines Sitzungsschlüssels vor der Speicherung der Daten in der Auslagerungsdatei;dadurch gekennzeichnet, dassein Sitzungsschlüssel bei einem Hochfahren des Computers erzeugt wird;der Sitzungsschlüssel in einer nicht-persistenten Art und Weise gespeichert wird, bei der er über Hochfahrvorgänge des Geräts hinweg nicht bestehen bleibt;und dadurch, dassein Block des Speichers vor der Erzeugung des Sitzungsschlüssels reserviert wird,wobei der Block des Speichers verwendet wird, entweder als: ein Puffer, um Daten zwischen einem Datensystem, das die Auslagerungsdatei beibehält, und einer Verschlüsselungskomponente, die die Verschlüsselung und Entschlüsselung der Daten mittels des Sitzungsschlüssels durchführt, weiterzugeben;oder alseine Arbeitsumgebung, die vor der Erzeugung des Sitzungsschlüssels durch die Verschlüsselungskomponente genutzt werden kann. Support pouvant être lu par un ordinateur codé avec des instructions exécutables par ordinateur pour réaliser un procédé qui prend place au démarrage d'un ordinateur, le procédé comprenant : la récupération d'informations indiquant que des données en mémoire virtuelle stockées sur un disque doivent être cryptées,le marquage d'un fichier de pagination comme fichier crypté,la réception, en provenance d'un gestionnaire de mémoire, de données provenant d'un dispositif de stockage volatil, lesquelles doivent être stockées sur disque dans le fichier de pagination, etla protection des données reçues de toute observation en cryptant les données reçues grâce à une clé de session avant de stocker lesdites données dans le fichier de pagination,caractérisé en ce que : une clé de session est générée lors d'un amorçage de l'ordinateur,ladite clé de session est stockée de manière non persistante, laquelle ne survit pas d'un amorçage de machine à l'autre, et en ce queun bloc de mémoire est réservé avant la génération de la clé de session, le bloc de mémoire étant utilisé soit : comme mémoire tampon pour transférer les données entre un système de fichiers qui maintient un fichier de pagination et un composant de cryptage qui effectue un cryptage et un décryptage des données avec la clé de session, soitcomme espace de travail utilisable par le composant de cryptage avant la génération de la clé de session.
  10. 10
    Computerlesbares Medium nach Anspruch 9, wobei der Sitzungsschlüssel in der flüchtigen Speichervorrichtung gespeichert wird, und keine Kopie des Sitzungsschlüssels auf einer Platte gespeichert wird. Support pouvant être lu par ordinateur selon la revendication 9, dans lequel la clé de session est stockée dans le dispositif de stockage volatil et dans lequel aucune copie de la clé de session n'est stockée sur disque. The computer-readable medium of claim 9, wherein the session key is stored in the volatile storage device, and no copy of the session key is stored on disk.