EP1573507A2 - Device for storing a list of elements and method of storing an element in one such device - Google Patents

Device for storing a list of elements and method of storing an element in one such device

Info

Publication number
EP1573507A2
EP1573507A2 EP03780166A EP03780166A EP1573507A2 EP 1573507 A2 EP1573507 A2 EP 1573507A2 EP 03780166 A EP03780166 A EP 03780166A EP 03780166 A EP03780166 A EP 03780166A EP 1573507 A2 EP1573507 A2 EP 1573507A2
Authority
EP
European Patent Office
Prior art keywords
memory
presented
elements
stored
memorized
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.)
Withdrawn
Application number
EP03780166A
Other languages
German (de)
French (fr)
Inventor
Eric Diehl
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of EP1573507A2 publication Critical patent/EP1573507A2/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/2101Auditing as a secondary aspect

Definitions

  • the present invention relates generally to the field of security in systems which require the storage of a secure history. It relates more particularly to a device for memorizing a list of elements and to a method for memorizing an element in such a device.
  • a typical example concerns a recording device which is only authorized to make a single copy (or a limited number of copies) of each content which it is capable of recording. This is necessary with digital recording devices to avoid the proliferation of illegal copies while allowing copying for private use.
  • An immediate solution to guarantee this consists in keeping in the recording device a list of all the contents (or more precisely a list of identifiers of all the contents) already recorded by it. Each time the recording device receives a command to record a particular content, it checks before this content is not present in the list of already recorded content. If the content (or more precisely its identifier) is present in the list, the recording device refuses to record it.
  • FIFO type memory (acronym for "First In First Out” meaning “First Entered First Exit”) is usually used to store a list as above.
  • the present invention aims to solve the aforementioned problems.
  • This device relates to a device for memorizing a list of elements intended to memorize any element which was last presented to it.
  • This device comprises a first memory and it further comprises according to the invention means responsible, when the first memory is full and a new element must be memorized, to randomly select an element memorized in the first memory to erase this selected element. and to memorize the new element presented.
  • the device is capable of storing N elements, N being a natural integer, and it further comprises a second memory intended for permanently storing the M elements which were last presented to said device, M being a natural integer less than N, the first memory being intended to memorize the NM other elements.
  • the device according to the invention even if it is presented with more than N elements to memorize, there is no way of knowing at the end which (s) element (s) is (are) no longer in the device .
  • the device is further adapted to provide information indicating whether the element which was last presented to it is already present in the device. According to yet another characteristic, the device contains only a single copy of each memorized element.
  • the device also stores, with each element, the number of times this element has been presented to it.
  • the device is adapted to supply information indicating whether the element which was last presented to it has already been presented to it a number of times which exceeds a predetermined number.
  • the invention also relates to a method for storing an element in a device as described above. It includes the steps of (a) receiving an item which is presented to the device; (b) check whether this element is already present in the device; and - in the event of a positive verification, designate the element as the element memorized last, and
  • the oldest element stored in the second memory is transferred to the first memory; ii) the element received is stored in the second memory (2); and iii) if the first memory is full, then an element stored in the first memory is randomly selected to be deleted so that the oldest element stored in the second memory can be transferred to the first memory.
  • the storage device of the invention is designed to contain a maximum of N elements, for example identifiers of content to be recorded.
  • This device which bears the reference 5 in the single figure, is in particular integrated in a digital recording device.
  • the device 5 comprises two memories A and B.
  • Memory A always contains the M last elements which have been memorized in the device.
  • Memory B contains elements which were memorized before the last M elements.
  • element J is already present in memory A, then it is marked in memory A as the last memorized element. If element J is already present in memory B, then it is moved to memory A at the location of the last memorized element. In these two cases, the device 5 then returns the information according to which the element J is present.
  • J is memorized in memory A. If memory A already contained M elements, then the oldest element memorized in memory A is transmitted to memory B to be recorded there. It is at the same time erased from memory A to make room for element J. If memory B is also full, that is to say if it already contains P elements, then an element already memorized in memory B is randomly selected to be deleted and replaced by the oldest element in memory A. The device 5 then returns the information according to which the element J was not present but is now memorized.
  • the storage device 5 comprises a management device 1 and two memories A and B referenced 2 and 3 respectively.
  • the management device 1 has three inputs 10, 13 and 15 and three outputs 11, 12 and 14.
  • the input 10 receives the element J to be memorized which is then transmitted to the output 12 of the management device.
  • the output 11 is a boolean signal which indicates whether the element J is already memorized in the storage device 5.
  • the signal present at the output 11 is worth “1” (for "true") if the element J is already memorized and is worth “0"
  • Inputs 13 and 15 and output 14 are also Boolean signals which will be described below.
  • the memory A has two inputs 20 and 21 and two outputs 22 and 23.
  • the input 20 receives the output 12 of the management device which transmits to it the element J to be memorized or whose presence must be sought in the memory A.
  • the input 21 which is connected to the output 14 of the management device 1 is a Boolean signal which indicates, when its value is "1"("true") that the element J received at the input 20 must be stored in memory A.
  • the output 22 of memory A is also a Boolean signal which indicates, when its value is "1" ("true"), that the element J presented at input 20 is already present in memory A. This output 22 is connected to input 15 of the management device 1.
  • the output 23 of memory A is used only when memory A is full and a new element present at input 20 must be memorized. In this case, output 23 provides the oldest element stored in memory A. Otherwise, output 23 provides no signal.
  • the memory B has two inputs 30 and 32 and an output 31.
  • the input 30 is connected to the output 12 of the management device 1 and receives the element J whose presence in the memory B must be verified.
  • the output 31 is a Boolean signal whose value is "1" ("true") when the element J received at the input 30 is present in the memory B; it is connected to input 13 of the management device 1.
  • the input 32 of the memory B receives the element to be memorized which comes from the memory A when the latter is full.
  • the input 32 is for this purpose connected to the output 23 of the memory A.
  • the operation of the assembly is as follows.
  • the management device 1 receives an element J at its input 10, it supplies this element J at its output 12. If this element J is present in memory A, a signal “1" (for "true”) is received on the input 15 of the management device 1. If the element J is present in the memory B, a signal “1” (for "true”) is received at the input 13 of the management device 1.
  • the management device 1 provides on its output 11 a signal "0" (“false") and on its output 14 a signal "1" signifying that the element
  • the management device 1 If the boolean signal received on input 15 has a value "1"("true"), signifying that the element J is already present in memory A, then the management device 1 provides on its output 11 a signal “ 1 "(" true ") and on its output 14 a signal” 0 ". In the case where the boolean signal received on the input 13 has a value "1"("true"), signifying that the element J is already present in the memory B, then the management device 1 supplies on its output 11 a signal "1"("true") and on its output 14 a signal "1".
  • memory A When memory A receives an element J at its input 20, it first checks whether it already contains this element. If element J is already present in memory A, then the signal at output 22 takes the value "1" ("true"). Element J is then designated as the element memorized last by memory A. For example, element J is placed at the head of the stack if memory A has a stack structure, or else an index table elements stored in memory A is updated.
  • output 22 takes the value "0" ("false").
  • Memory B behaves differently from memory A.
  • the signal 31 is "false"
  • the memory B contains fewer than P elements and it stores the new element J
  • memory B already contains P elements, that is to say that it is full. In the latter case, it randomly selects an item already memorized in memory B and it erases it to memorize instead the new element received on its input 32.
  • Memory B is therefore emptied randomly.
  • a hacker who wishes to eliminate an element from the storage device 5 should therefore make many more attempts than in the case of a simple FIFO type memory. Indeed, if the overall memory size is N elements, an attacker will have to make on average many more than N attempts to eliminate an element from memory.
  • memories A and B which are shown separately in the single figure can in reality be two subsets of the same physical memory.
  • the storage device 5 may in fact include a memory A of zero size.
  • a user is allowed to present a determined number of times each element to the storage device. For example, if this device is integrated into a recording device, and if this device is authorized to make a number x of copies of each content, it will be stored in the memory, with each identifier of content already recorded by the device, the number y of times the content was presented to the device for recording. When the number y of presentation of a given content reaches the number x, then it is no longer possible to record this content and the storage device 5 will return corresponding information to the recording apparatus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Time Recorders, Dirve Recorders, Access Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

The invention relates to a device (5) for storing a list of elements, in which any element (J) that has been presented thereto is stored last. The inventive device comprises a first memory unit (3) and means for randomly selecting an element stored in the first memory unit, such that said selected element can be deleted and a new presented element stored when the first memory unit is full and a new element must be stored. The invention also relates to a method of storing an element (J) in one such device (5).

Description

Dispositif de mémorisation d'une liste d'éléments et procédé de mémorisation d'un élément dans un tel dispositif Device for memorizing a list of elements and method for memorizing an element in such a device

Domaine de l'inventionField of the invention

La présente invention se rapporte d'une manière générale au domaine de la sécurité dans des systèmes qui nécessitent la mémorisation d'un historique sécurisé. Elle concerne plus particulièrement un dispositif de mémorisation d'une liste d'éléments et un procédé de mémorisation d'un élément dans un tel dispositif.The present invention relates generally to the field of security in systems which require the storage of a secure history. It relates more particularly to a device for memorizing a list of elements and to a method for memorizing an element in such a device.

Etat de la techniqueState of the art

Pour se prémunir contre des tentatives illégales d'accès à des données ou des opérations frauduleuses sur des données, il est courant dans les systèmes dits « sécurisés » de conserver un historique d'événements ou une liste d'opérations effectuées.To guard against illegal attempts to access data or fraudulent operations on data, it is common in so-called "secure" systems to keep a history of events or a list of operations carried out.

Un exemple typique concerne un dispositif d'enregistrement qui n'est autorisé à effectuer qu'une copie unique (ou un nombre limité de copies) de chaque contenu qu'il est susceptible d'enregistrer. Ceci est nécessaire avec les dispositifs d'enregistrement numériques pour éviter la prolifération de copies illégales tout en autorisant la copie à usage privé. Une solution immédiate pour garantir ceci consiste à conserver dans le dispositif d'enregistrement une liste de tous les contenus (ou plus précisément une liste d'identifiants de tous les contenus) déjà enregistrés par lui. Chaque fois que le dispositif d'enregistrement reçoit une commande d'enregistrement d'un contenu particulier, il vérifie avant que ce contenu n'est pas présent dans la liste des contenus déjà enregistrés. Si le contenu (ou plus précisément son identifiant) est présent dans la liste, le dispositif d'enregistrement refuse de l'enregistrer.A typical example concerns a recording device which is only authorized to make a single copy (or a limited number of copies) of each content which it is capable of recording. This is necessary with digital recording devices to avoid the proliferation of illegal copies while allowing copying for private use. An immediate solution to guarantee this consists in keeping in the recording device a list of all the contents (or more precisely a list of identifiers of all the contents) already recorded by it. Each time the recording device receives a command to record a particular content, it checks before this content is not present in the list of already recorded content. If the content (or more precisely its identifier) is present in the list, the recording device refuses to record it.

Le problème qui ressort de l'exemple ci-dessus est que le nombre potentiel de contenus à enregistrer est sans limite. Il faudrait donc pour garantir la sécurité du système que la liste des contenus déjà enregistrés soit aussi sans limite, ce qui n'est pas possible dans les appareils d'électronique grand public. Dans ce type d'appareil, on utilise habituellement une mémoire de type FIFO (acronyme de « First In First Out » signifiant « Premier Entré Premier Sorti ») pour mémoriser une liste telle que ci-dessus. Mais si le but de cette liste est de garantir une certaine sécurité dans un système, comme dans l'exemple ci-dessus où la liste est tenue pour éviter la copie illicite de contenus, ou bien dans le cas d'une liste de révocation contenant des identifiants de clés cryptographiques ou d'appareils qui ne sont plus considérés comme conformes ou licites par un organisme de confiance, alors la solution consistant à mémoriser une telle liste dans une mémoire FIFO n'est pas satisfaisante. En effet, si la mémoire a une taille lui permettant de mémoriser n éléments, il suffira à un pirate de présenter n+1 éléments au dispositif mémorisant la liste pour être sûr que le premier élément mémorisé est effacé de la liste, ce qui compromet bien évidemment la sécurité du système.The problem that emerges from the example above is that the potential number of contents to be recorded is limitless. To guarantee the security of the system, the list of content already recorded should also be unlimited, which is not possible in consumer electronics devices. In this type of device, a FIFO type memory (acronym for "First In First Out" meaning "First Entered First Exit") is usually used to store a list as above. But if the aim of this list is to guarantee a certain security in a system, as in the example above where the list is kept to avoid the illicit copying of contents, or in the case of a revocation list containing identifiers of cryptographic keys or devices which are no longer considered as compliant or lawful by a trusted organization, then the solution consisting in storing such a list in a FIFO memory is not satisfactory. Indeed, if the memory has a size allowing it to memorize n elements, it will be enough for a pirate to present n + 1 elements to the device memorizing the list to be sure that the first memorized element is erased from the list, which compromises well obviously system security.

Exposé de l'invention La présente invention vise à résoudre les problèmes précités.DESCRIPTION OF THE INVENTION The present invention aims to solve the aforementioned problems.

Elle a pour objet un dispositif de mémorisation d'une liste d'éléments destiné à mémoriser tout élément qui lui a été présenté en dernier lieu. Ce dispositif comprend une première mémoire et il comporte en outre selon l'invention des moyens chargés, lorsque la première mémoire est pleine et qu'un nouvel élément doit être mémorisé, de sélectionner aléatoirement un élément mémorisé dans la première mémoire pour effacer cet élément sélectionné et pour mémoriser le nouvel élément présenté.It relates to a device for memorizing a list of elements intended to memorize any element which was last presented to it. This device comprises a first memory and it further comprises according to the invention means responsible, when the first memory is full and a new element must be memorized, to randomly select an element memorized in the first memory to erase this selected element. and to memorize the new element presented.

Selon une caractéristique particulière de l'invention, le dispositif est capable de mémoriser N éléments, N étant un entier naturel, et il comporte en outre une deuxième mémoire destinée à mémoriser en permanence les M éléments qui ont été présentés en dernier lieu audit dispositif, M étant un entier naturel inférieur à N, la première mémoire étant destinée à mémoriser les N-M autres éléments.According to a particular characteristic of the invention, the device is capable of storing N elements, N being a natural integer, and it further comprises a second memory intended for permanently storing the M elements which were last presented to said device, M being a natural integer less than N, the first memory being intended to memorize the NM other elements.

Grâce au dispositif selon l'invention, même si on lui présente plus de N éléments à mémoriser, il n'y a aucun moyen de savoir à la fin quel(s) élément(s) ne se trouve(nt) plus dans le dispositif.Thanks to the device according to the invention, even if it is presented with more than N elements to memorize, there is no way of knowing at the end which (s) element (s) is (are) no longer in the device .

Selon une autre caractéristique, le dispositif est en outre adapté à fournir une information indiquant si l'élément qui lui a été présenté en dernier lieu est déjà présent dans le dispositif. Selon encore une autre caractéristique, le dispositif ne contient qu'un seul exemplaire de chaque élément mémorisé.According to another characteristic, the device is further adapted to provide information indicating whether the element which was last presented to it is already present in the device. According to yet another characteristic, the device contains only a single copy of each memorized element.

Selon un aspect particulier de l'invention, le dispositif mémorise en outre, avec chaque élément, le nombre de fois où cet élément lui a été présenté. Selon un autre aspect de l'invention, le dispositif est adapté à fournir une information indiquant si l'élément qui lui a été présenté en dernier lieu lui a déjà été présenté un nombre de fois qui dépasse un nombre prédéterminé. L'invention concerne également un procédé de mémorisation d'un élément dans un dispositif tel que décrit ci-dessus. Il comprend les étapes consistant à (a) recevoir un élément qui est présenté au dispositif ; (b) vérifier si cet élément est déjà présent dans le dispositif ; et - en cas de vérification positive, désigner l'élément comme élément mémorisé en dernier lieu, etAccording to a particular aspect of the invention, the device also stores, with each element, the number of times this element has been presented to it. According to another aspect of the invention, the device is adapted to supply information indicating whether the element which was last presented to it has already been presented to it a number of times which exceeds a predetermined number. The invention also relates to a method for storing an element in a device as described above. It includes the steps of (a) receiving an item which is presented to the device; (b) check whether this element is already present in the device; and - in the event of a positive verification, designate the element as the element memorized last, and

- en cas de vérification négative, mémoriser l'élément dans le dispositif.- in the event of negative verification, memorize the element in the device.

Selon un mode de réalisation particulier, en cas de vérification négative à l'étape (b) :According to a particular embodiment, in the event of negative verification in step (b):

- si la deuxième mémoire n'est pas pleine, l'élément reçu est mémorisé dans la deuxième mémoire ; et- if the second memory is not full, the element received is stored in the second memory; and

- si la deuxième mémoire est pleine : i) l'élément le plus ancien mémorisé dans la deuxième mémoire est transféré vers la première mémoire ; ii) l'élément reçu est mémorisé dans la deuxième mémoire (2) ; et iii) si la première mémoire est pleine, alors un élément mémorisé dans la première mémoire est sélectionné aléatoirement pour être effacé de sorte que l'élément le plus ancien mémorisé dans la deuxième mémoire puisse être transféré vers la première mémoire.- if the second memory is full: i) the oldest element stored in the second memory is transferred to the first memory; ii) the element received is stored in the second memory (2); and iii) if the first memory is full, then an element stored in the first memory is randomly selected to be deleted so that the oldest element stored in the second memory can be transferred to the first memory.

Brève description des dessinsBrief description of the drawings

D'autres caractéristiques et avantages de l'invention apparaîtront à travers la description d'un mode de réalisation particulier non limitatif de celle-ci, explicité à l'aide de la figure unique annexée qui représente de manière schématique un dispositif de mémorisation selon l'invention.Other characteristics and advantages of the invention will become apparent through the description of a particular non-limiting embodiment thereof, explained with the aid of the appended single figure which schematically represents a storage device according to the invention. 'invention.

Description détaillée de modes de réalisation de l'invention Le dispositif de mémorisation de l'invention est prévu pour contenir au maximum N éléments, par exemple des identifiants de contenus à enregistrer. Ce dispositif, qui porte la référence 5 sur la figure unique, est notamment intégré dans un appareil d'enregistrement numérique.Detailed description of embodiments of the invention The storage device of the invention is designed to contain a maximum of N elements, for example identifiers of content to be recorded. This device, which bears the reference 5 in the single figure, is in particular integrated in a digital recording device.

Le dispositif 5 comprend deux mémoires A et B. La mémoire A, référencée 2, contient au maximum M éléments et la mémoire B, référencée 3, contient au maximum P éléments, de sorte que N = M + P, où, N, M et P sont des entiers naturels. La mémoire A contient toujours les M derniers éléments qui ont été mémorisés dans le dispositif. La mémoire B contient quant à elle des éléments qui ont été mémorisés avant les M derniers éléments.The device 5 comprises two memories A and B. The memory A, referenced 2, contains at most M elements and the memory B, referenced 3, contains at most P elements, so that N = M + P, where, N, M and P are natural numbers. Memory A always contains the M last elements which have been memorized in the device. Memory B contains elements which were memorized before the last M elements.

Lorsqu'un nouvel élément J est présenté au dispositif, par exemple lorsqu'une commande d'enregistrement d'un nouveau contenu est reçue par l'appareil d'enregistrement, l'identifiant du contenu (correspondant à l'élémentWhen a new element J is presented to the device, for example when a command to register new content is received by the recording device, the identifier of the content (corresponding to the element

J) est présenté au dispositif de mémorisation 5 pour vérifier s'il est déjà contenu dans la liste mémorisée dans le dispositif 5 ou non.J) is presented to the storage device 5 to check whether it is already contained in the list stored in the device 5 or not.

Si l'élément J est déjà présent dans la mémoire A, alors il est marqué dans la mémoire A comme dernier élément mémorisé. Si l'élément J est déjà présent dans la mémoire B, alors il est déplacé dans la mémoire A à l'emplacement du dernier élément mémorisé. Dans ces deux cas, le dispositif 5 retourne alors l'information selon laquelle l'élément J est présent.If element J is already present in memory A, then it is marked in memory A as the last memorized element. If element J is already present in memory B, then it is moved to memory A at the location of the last memorized element. In these two cases, the device 5 then returns the information according to which the element J is present.

Si l'élément J n'est présent ni dans la mémoire A ni dans la mémoire B, alors J est mémorisé dans la mémoire A. Si la mémoire A contenait déjà M éléments, alors l'élément le plus ancien mémorisé dans la mémoire A est transmis à la mémoire B pour y être enregistré. Il est en même temps effacé de la mémoire A pour laisser la place à l'élément J. Si la mémoire B est également pleine, c'est à dire si elle contient déjà P éléments, alors un élément déjà mémorisé dans la mémoire B est sélectionné aléatoirement pour être effacé et remplacé par l'élément le plus ancien de la mémoire A. Le dispositif 5 retourne alors l'information selon laquelle l'élément J n'était pas présent mais est maintenant mémorisé.If element J is neither present in memory A nor in memory B, then J is memorized in memory A. If memory A already contained M elements, then the oldest element memorized in memory A is transmitted to memory B to be recorded there. It is at the same time erased from memory A to make room for element J. If memory B is also full, that is to say if it already contains P elements, then an element already memorized in memory B is randomly selected to be deleted and replaced by the oldest element in memory A. The device 5 then returns the information according to which the element J was not present but is now memorized.

En se référant plus particulièrement à la figure unique, le dispositif de mémorisation 5 comprend un dispositif de gestion 1 et deux mémoires A et B référencées respectivement 2 et 3.Referring more particularly to the single figure, the storage device 5 comprises a management device 1 and two memories A and B referenced 2 and 3 respectively.

Le dispositif de gestion 1 possède trois entrées 10, 13 et 15 et trois sorties 11, 12 et 14. L'entrée 10 reçoit l'élément J à mémoriser qui est ensuite transmis à la sortie 12 du dispositif de gestion.The management device 1 has three inputs 10, 13 and 15 and three outputs 11, 12 and 14. The input 10 receives the element J to be memorized which is then transmitted to the output 12 of the management device.

La sortie 11 est un signal booléen qui indique si l'élément J se trouve déjà mémorisé dans le dispositif de mémorisation 5. Le signal présent à la sortie 11 vaut « 1 » (pour « vrai ») si l'élément J est déjà mémorisé et vaut « 0 »The output 11 is a boolean signal which indicates whether the element J is already memorized in the storage device 5. The signal present at the output 11 is worth "1" (for "true") if the element J is already memorized and is worth "0"

(pour « faux ») dans le cas contraire. Les entrées 13 et 15 et la sortie 14 sont également des signaux booléens qui seront décrits ci-dessous.(for "false") otherwise. Inputs 13 and 15 and output 14 are also Boolean signals which will be described below.

La mémoire A possède deux entrées 20 et 21 et deux sorties 22 et 23. L'entrée 20 reçoit la sortie 12 du dispositif de gestion qui lui transmet l'élément J à mémoriser ou dont la présence doit être recherchée dans la mémoire A. L'entrée 21 qui est reliée à la sortie 14 du dispositif de gestion 1 est un signal booléen qui indique, lorsque sa valeur est « 1 » (« vrai ») que l'élément J reçu à l'entrée 20 doit être mémorisé dans la mémoire A.The memory A has two inputs 20 and 21 and two outputs 22 and 23. The input 20 receives the output 12 of the management device which transmits to it the element J to be memorized or whose presence must be sought in the memory A. The input 21 which is connected to the output 14 of the management device 1 is a Boolean signal which indicates, when its value is "1"("true") that the element J received at the input 20 must be stored in memory A.

La sortie 22 de la mémoire A est également un signal booléen qui indique, lorsque sa valeur vaut « 1 » (« vrai »), que l'élément J présenté à l'entrée 20 est déjà présent dans la mémoire A. Cette sortie 22 est reliée à l'entrée 15 du dispositif de gestion 1.The output 22 of memory A is also a Boolean signal which indicates, when its value is "1" ("true"), that the element J presented at input 20 is already present in memory A. This output 22 is connected to input 15 of the management device 1.

La sortie 23 de la mémoire A est utilisée seulement lorsque la mémoire A est pleine et qu'un nouvel élément présent à l'entrée 20 doit être mémorisé. Dans ce cas, la sortie 23 fournit l'élément le plus ancien mémorisé dans la mémoire A. Dans le cas contraire, la sortie 23 ne fournit aucun signal.The output 23 of memory A is used only when memory A is full and a new element present at input 20 must be memorized. In this case, output 23 provides the oldest element stored in memory A. Otherwise, output 23 provides no signal.

La mémoire B comporte quant à elle deux entrées 30 et 32 et une sortie 31. L'entrée 30 est reliée à la sortie 12 du dispositif de gestion 1 et reçoit l'élément J dont la présence dans la mémoire B doit être vérifiée. La sortie 31 est un signal booléen dont la valeur est « 1 » (« vrai ») lorsque l'élément J reçu à l'entrée 30 est présent dans la mémoire B ; elle est reliée à l'entrée 13 du dispositif de gestion 1.The memory B has two inputs 30 and 32 and an output 31. The input 30 is connected to the output 12 of the management device 1 and receives the element J whose presence in the memory B must be verified. The output 31 is a Boolean signal whose value is "1" ("true") when the element J received at the input 30 is present in the memory B; it is connected to input 13 of the management device 1.

L'entrée 32 de la mémoire B reçoit quant à elle l'élément à mémoriser qui provient de la mémoire A lorsque cette dernière est pleine. L'entrée 32 est à cet effet reliée à la sortie 23 de la mémoire A.The input 32 of the memory B receives the element to be memorized which comes from the memory A when the latter is full. The input 32 is for this purpose connected to the output 23 of the memory A.

Le fonctionnement de l'ensemble est le suivant. Lorsque le dispositif de gestion 1 reçoit un élément J sur son entrée 10, il fournit cet élément J à sa sortie 12. Si cet élément J est présent dans la mémoire A, un signal « 1 » (pour « vrai ») est reçu sur l'entrée 15 du dispositif de gestion 1. Si l'élément J est présent dans la mémoire B, un signal « 1 » (pour « vrai ») est reçu à l'entrée 13 du dispositif de gestion 1.The operation of the assembly is as follows. When the management device 1 receives an element J at its input 10, it supplies this element J at its output 12. If this element J is present in memory A, a signal "1" (for "true") is received on the input 15 of the management device 1. If the element J is present in the memory B, a signal "1" (for "true") is received at the input 13 of the management device 1.

Si les deux signaux booléens reçus sur les entrées 13 et 15 du dispositif de gestion ont une valeur « 0 » (c'est à dire « faux »), cela signifie que l'élément J reçu en entrée 10 n'est présent ni dans la mémoire A ni dans la mémoire B. Dans ce cas, le dispositif de gestion 1 fournit sur sa sortie 11 un signal « 0 » (« faux ») et sur sa sortie 14 un signal « 1 » signifiant que l'élémentIf the two Boolean signals received on inputs 13 and 15 of the management device have a value "0" (ie "false"), this means that the element J received at input 10 is neither present nor in memory A nor in memory B. In this case, the management device 1 provides on its output 11 a signal "0" ("false") and on its output 14 a signal "1" signifying that the element

J doit être enregistré dans la mémoire A.J must be saved in memory A.

Si le signal booléen reçu sur l'entrée 15 a une valeur « 1 » (« vrai »), signifiant que l'élément J est déjà présent dans la mémoire A, alors le dispositif de gestion 1 fournit sur sa sortie 11 un signal « 1 » (« vrai ») et sur sa sortie 14 un signal « 0 ». Dans le cas où le signal booléen reçu sur l'entrée 13 a une valeur « 1 » (« vrai »), signifiant que l'élément J est déjà présent dans la mémoire B, alors le dispositif de gestion 1 fournit sur sa sortie 11 un signal « 1 » (« vrai ») et sur sa sortie 14 un signal « 1 ».If the boolean signal received on input 15 has a value "1"("true"), signifying that the element J is already present in memory A, then the management device 1 provides on its output 11 a signal " 1 "(" true ") and on its output 14 a signal" 0 ". In the case where the boolean signal received on the input 13 has a value "1"("true"), signifying that the element J is already present in the memory B, then the management device 1 supplies on its output 11 a signal "1"("true") and on its output 14 a signal "1".

Lorsque la mémoire A reçoit sur son entrée 20 un élément J, elle vérifie tout d'abord si elle contient déjà cet élément. Si l'élément J est déjà présent dans la mémoire A, alors le signal en sortie 22 prend la valeur « 1 » (« vrai »). L'élément J est alors désigné comme l'élément mémorisé en dernier lieu par la mémoire A. Par exemple, l'élément J est placé en tête de pile si la mémoire A a une structure de pile, ou bien une table d'index des éléments stockés dans la mémoire A est mise à jour.When memory A receives an element J at its input 20, it first checks whether it already contains this element. If element J is already present in memory A, then the signal at output 22 takes the value "1" ("true"). Element J is then designated as the element memorized last by memory A. For example, element J is placed at the head of the stack if memory A has a stack structure, or else an index table elements stored in memory A is updated.

Dans le cas contraire (J non présent dans la mémoire A), la sortie 22 prend la valeur « 0 » (« faux »). Lorsque le signal reçu sur l'entrée 21 de la mémoire A est « vrai »Otherwise (J not present in memory A), output 22 takes the value "0" ("false"). When the signal received on input 21 of memory A is "true"

(valeur « 1 »), signifiant que l'élément J présent sur l'entrée 20 doit être mémorisé dans la mémoire A, il existe deux possibilités. Soit la mémoire A contient moins de M éléments et elle mémorise le nouvel élément J qui devient l'élément mémorisé en dernier lieu. Soit la mémoire A contient déjà M éléments. Dans ce dernier cas, elle place sur sa sortie 23 l'élément le plus ancien et elle l'efface de sa mémoire pour mémoriser le nouvel élément J comme élément le plus récent.(value "1"), meaning that the element J present on input 20 must be memorized in memory A, there are two possibilities. Either memory A contains fewer than M elements and it memorizes the new element J which becomes the element memorized last. Or memory A already contains M elements. In the latter case, it places on its output 23 the oldest element and it erases it from its memory to memorize the new element J as the most recent element.

La mémoire B a un comportement différent de la mémoire A.Memory B behaves differently from memory A.

Lorsqu'un élément J est reçu sur l'entrée 30 de la mémoire B, celle-ci vérifie si elle contient déjà cet élément J. Si cela est vrai, alors la sortie 31 prend la valeur « 1 », sinon (J pas présent dans la mémoire B), la sortie 31 prend la valeur « 0 ».When an element J is received on the input 30 of the memory B, the latter checks if it already contains this element J. If this is true, then the output 31 takes the value "1", otherwise (J not present in memory B), output 31 takes the value "0".

Si un élément J provenant de la mémoire A est reçu sur l'entrée 32 de la mémoire B, alors deux possibilités se présentent : soit le signal 31 est « vrai » (valeur « 1 ») soit le signal 31 est « faux » (valeur « 0 »).If an element J from memory A is received on input 32 of memory B, then two possibilities arise: either signal 31 is "true" (value "1") or signal 31 is "false" ( value "0").

Si le signal 31 est « vrai », alors le nouvel élément reçu sur l'entrée 32 de la mémoire B remplace l'élément dont la valeur est présente sur l'entrée 30 (qui est déplacé vers la mémoire A).If the signal 31 is “true”, then the new element received on input 32 of memory B replaces the element whose value is present on input 30 (which is moved to memory A).

Si le signal 31 est « faux », il existe encore deux possibilités : soit la mémoire B contient moins de P éléments et elle mémorise le nouvel élément J ; soit la mémoire B contient déjà P éléments, c'est à dire qu'elle est pleine. Dans ce dernier cas, elle sélectionne de manière aléatoire un élément déjà mémorisé dans la mémoire B et elle l'efface pour mémoriser à la place le nouvel élément reçu sur son entrée 32.If the signal 31 is "false", there are still two possibilities: either the memory B contains fewer than P elements and it stores the new element J; or memory B already contains P elements, that is to say that it is full. In the latter case, it randomly selects an item already memorized in memory B and it erases it to memorize instead the new element received on its input 32.

La mémoire B se vide donc de manière aléatoire. Un pirate qui souhaiterait éliminer un élément du dispositif de mémorisation 5 devrait donc faire beaucoup plus de tentatives que dans le cas d'une simple mémoire de type FIFO. En effet, si la taille globale de la mémoire est de N éléments, un pirate devra effectuer en moyenne bien plus de N tentatives pour éliminer un élément de la mémoire.Memory B is therefore emptied randomly. A hacker who wishes to eliminate an element from the storage device 5 should therefore make many more attempts than in the case of a simple FIFO type memory. Indeed, if the overall memory size is N elements, an attacker will have to make on average many more than N attempts to eliminate an element from memory.

On notera que les mémoires A et B qui sont représentées de manière séparée sur la figure unique peuvent en réalité être deux sous- ensembles d'une même mémoire physique.It will be noted that memories A and B which are shown separately in the single figure can in reality be two subsets of the same physical memory.

L'invention ne se limite pas à l'exemple de réalisation qui vient d'être décrit. En variante, le dispositif de mémorisation 5 peut en effet comporter une mémoire A de taille nulle. Dans une autre variante, on permet à un utilisateur de présenter un nombre déterminé de fois chaque élément au dispositif de mémorisation. Par exemple, si ce dispositif est intégré dans un appareil d'enregistrement, et que l'on autorise cet appareil à réaliser un nombre x de copies de chaque contenu, on stockera dans la mémoire, avec chaque identifiant de contenu déjà enregistré par l'appareil, le nombre y de fois où le contenu a été présenté à l'appareil pour enregistrement. Lorsque le nombre y de présentation d'un contenu donné atteint le nombre x, alors il n'est plus possible d'enregistrer ce contenu et le dispositif de mémorisation 5 retournera une information correspondante à l'appareil d'enregistrement. The invention is not limited to the embodiment which has just been described. As a variant, the storage device 5 may in fact include a memory A of zero size. In another variant, a user is allowed to present a determined number of times each element to the storage device. For example, if this device is integrated into a recording device, and if this device is authorized to make a number x of copies of each content, it will be stored in the memory, with each identifier of content already recorded by the device, the number y of times the content was presented to the device for recording. When the number y of presentation of a given content reaches the number x, then it is no longer possible to record this content and the storage device 5 will return corresponding information to the recording apparatus.

Claims

REVENDICATIONS 1. Dispositif (5) de mémorisation d'une liste d'éléments destiné à mémoriser tout élément (J) qui lui a été présenté en dernier lieu et comprenant une première mémoire (3), caractérisé en ce qu'il comporte en outre des moyens chargés, lorsque la première mémoire est pleine et qu'un nouvel élément doit être mémorisé, de sélectionner aléatoirement un élément mémorisé dans la première mémoire pour effacer cet élément sélectionné et pour mémoriser le nouvel élément présenté.1. Device (5) for memorizing a list of elements intended to memorize any element (J) which was last presented to it and comprising a first memory (3), characterized in that it also comprises means, when the first memory is full and a new element must be memorized, to randomly select an element memorized in the first memory to erase this selected element and to memorize the new element presented. 2. Dispositif selon la revendication 1 capable de mémoriser N éléments, N étant un entier naturel, caractérisé en ce qu'il comporte en outre une deuxième mémoire (2) destinée à mémoriser en permanence les M éléments qui ont été présentés en dernier lieu audit dispositif, M étant un entier naturel inférieur à N, la première mémoire (3) étant destinée à mémoriser les N-M autres éléments.2. Device according to claim 1 capable of storing N elements, N being a natural integer, characterized in that it further comprises a second memory (2) intended to permanently memorize the M elements which were last presented at said device, M being a natural integer less than N, the first memory (3) being intended to memorize the NM other elements. 3. Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce qu'il est en outre adapté à fournir une information indiquant si l'élément (J) qui lui a été présenté en dernier lieu est déjà présent dans ledit dispositif.3. Device according to one of claims 1 or 2, characterized in that it is further adapted to provide information indicating whether the element (J) which was last presented to it is already present in said device. 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce qu'il ne contient qu'un seul exemplaire de chaque élément mémorisé.4. Device according to one of claims 1 to 3, characterized in that it contains only a single copy of each stored element. 5. Dispositif selon l'une des revendications précédentes, caractérisé en ce qu'il mémorise en outre, avec chaque élément, le nombre de fois où cet élément lui a été présenté.5. Device according to one of the preceding claims, characterized in that it also stores, with each element, the number of times that this element has been presented to it. 6. Dispositif selon la revendication 5, caractérisé en ce qu'il est adapté à fournir une information indiquant si l'élément qui lui a été présenté en dernier lieu lui a déjà été présenté un nombre de fois qui dépasse un nombre prédéterminé.6. Device according to claim 5, characterized in that it is adapted to provide information indicating whether the element which was last presented to it has already been presented to it a number of times which exceeds a predetermined number. 7. Procédé de mémorisation d'un élément (J) dans un dispositif (5) selon l'une des revendications 2 à 4, caractérisé en ce qu'il comprend les étapes consistant à (a) recevoir un élément (J) qui est présenté au dispositif (5) ;7. Method for storing an element (J) in a device (5) according to one of claims 2 to 4, characterized in that it comprises the steps consisting in: (a) receiving an element (J) which is presented to the device (5); (b) vérifier si ledit élément (J) est déjà présent dans ledit dispositif (5) ; et(b) checking whether said element (J) is already present in said device (5); and - en cas de vérification positive, désigner ledit élément (J) comme élément mémorisé en dernier lieu, et- in the event of a positive verification, designate said element (J) as the element memorized last, and - en cas de vérification négative, mémoriser ledit élément (J) dans le dispositif.- in the event of negative verification, memorize said element (J) in the device. 8. Procédé selon la revendication 7, caractérisé en ce qu'en cas de vérification négative à l'étape (b) :8. Method according to claim 7, characterized in that in the event of negative verification in step (b): - si la deuxième mémoire (2) n'est pas pleine, l'élément reçu (J) est mémorisé dans la deuxième mémoire (2) ; et- if the second memory (2) is not full, the element received (J) is stored in the second memory (2); and - si la deuxième mémoire (2) est pleine : i) l'élément le plus ancien mémorisé dans ladite deuxième mémoire est transféré vers la première mémoire (3) ; et ii) l'élément reçu (J) est mémorisé dans la deuxième mémoire (2) ; et iii) si la première mémoire (3) est pleine, alors un élément mémorisé dans ladite première mémoire est sélectionné aléatoirement pour être effacé de sorte que l'élément le plus ancien mémorisé dans ladite deuxième mémoire puisse être transféré vers ladite première mémoire (3). - if the second memory (2) is full: i) the oldest element stored in said second memory is transferred to the first memory (3); and ii) the received element (J) is stored in the second memory (2); and iii) if the first memory (3) is full, then an element stored in said first memory is randomly selected to be deleted so that the oldest element stored in said second memory can be transferred to said first memory (3 ).
EP03780166A 2002-10-16 2003-10-14 Device for storing a list of elements and method of storing an element in one such device Withdrawn EP1573507A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0213333 2002-10-16
FR0213333A FR2846114A1 (en) 2002-10-16 2002-10-16 Equipment for memorizing elements, comprises two memories and management unit such that when necessary an element is displaced at random from the first memory to make space for element from second
PCT/EP2003/050718 WO2004036411A2 (en) 2002-10-16 2003-10-14 Device for storing a list of elements and method of storing an element in one such device

Publications (1)

Publication Number Publication Date
EP1573507A2 true EP1573507A2 (en) 2005-09-14

Family

ID=32050668

Family Applications (1)

Application Number Title Priority Date Filing Date
EP03780166A Withdrawn EP1573507A2 (en) 2002-10-16 2003-10-14 Device for storing a list of elements and method of storing an element in one such device

Country Status (9)

Country Link
US (1) US20060155666A1 (en)
EP (1) EP1573507A2 (en)
JP (1) JP2006515441A (en)
KR (1) KR100952803B1 (en)
CN (1) CN100565444C (en)
AU (1) AU2003288268A1 (en)
FR (1) FR2846114A1 (en)
MX (1) MXPA05003915A (en)
WO (1) WO2004036411A2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11626010B2 (en) * 2019-02-28 2023-04-11 Nortek Security & Control Llc Dynamic partition of a security system
US12165495B2 (en) * 2019-02-28 2024-12-10 Nice North America Llc Virtual partition of a security system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4008460A (en) * 1975-12-24 1977-02-15 International Business Machines Corporation Circuit for implementing a modified LRU replacement algorithm for a cache
GB2251323B (en) * 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5381539A (en) * 1992-06-04 1995-01-10 Emc Corporation System and method for dynamically controlling cache management
US5450562A (en) * 1992-10-19 1995-09-12 Hewlett-Packard Company Cache-based data compression/decompression
JP3218107B2 (en) * 1993-01-29 2001-10-15 ローム株式会社 Fuzzy neuron
US5623627A (en) * 1993-12-09 1997-04-22 Advanced Micro Devices, Inc. Computer memory architecture including a replacement cache
EP0675436B1 (en) * 1994-03-31 1999-10-27 STMicroelectronics, Inc. Recoverable set associative cache
JP3568110B2 (en) * 1999-10-15 2004-09-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Cache memory control method, computer system, hard disk drive, and hard disk controller
EP1179240B1 (en) * 2000-03-09 2014-01-08 Panasonic Corporation Audio data playback management system
EP1182570A3 (en) * 2000-08-21 2004-08-04 Texas Instruments Incorporated TLB with resource ID field
US20020069341A1 (en) * 2000-08-21 2002-06-06 Gerard Chauvel Multilevel cache architecture and data transfer
US7174194B2 (en) * 2000-10-24 2007-02-06 Texas Instruments Incorporated Temperature field controlled scheduling for processing systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2004036411A2 *

Also Published As

Publication number Publication date
WO2004036411A2 (en) 2004-04-29
MXPA05003915A (en) 2005-08-16
CN1705931A (en) 2005-12-07
KR100952803B1 (en) 2010-04-14
JP2006515441A (en) 2006-05-25
AU2003288268A1 (en) 2004-05-04
KR20050084855A (en) 2005-08-29
FR2846114A1 (en) 2004-04-23
AU2003288268A8 (en) 2004-05-04
US20060155666A1 (en) 2006-07-13
CN100565444C (en) 2009-12-02
WO2004036411A3 (en) 2005-03-24

Similar Documents

Publication Publication Date Title
EP0426541B1 (en) Method of protection against fraudulent use of a microprocessor card and device for its application
WO1998013991A2 (en) Method and system for ensuring the security of telephone call management centres
WO1995030975A1 (en) System for secure telephone transactions
WO2011051595A1 (en) Method and client agent for monitoring the use of protected content
EP1008252A1 (en) Method and system for ensuring the security of computer servers of games
WO2004070538A3 (en) Distribution and rights management of digital content
EP1602024A1 (en) Secure computer data storage method and device
WO1998013971A1 (en) Method and system for ensuring the security of the remote supply of services of financial institutions
FR2867871A1 (en) Hardware unit for controlling access to e.g. memory, has latch generating and delivering electric validation signal of access request signal to logic combination unit, when access authorization code and preset reference value are equal
FR2762417A1 (en) Security system preventing unauthorised copying of computer software from distribution disks
EP1460593B1 (en) Secure payment terminal
EP1008256B1 (en) Method and system for ensuring the security of service supplies broadcast on a computer network of the internet type
WO1998013990A2 (en) Method and system for ensuring the security of the supply of services of telecommunication operators
FR2795579A1 (en) PROCESS FOR SECURING A COMMUNICATION OF DATA BETWEEN A DATA MEDIUM AND A VEHICLE AND DEVICE FOR MONITORING THE OPERATION OF A VEHICLE
EP1977365A1 (en) Electronic document management method
FR2528196A1 (en) APPARATUS FOR PROTECTING COMPUTER PROGRAMS
EP1573507A2 (en) Device for storing a list of elements and method of storing an element in one such device
FR2618926A1 (en) MEMORY DEVICE FOR CONTROLLING THE USE OF SOFTWARE, OF THE KEY TYPE
EP1609326B1 (en) Method of protecting a mobile-telephone-type telecommunication terminal
EP0246119B1 (en) Optional system for protecting access to a computer
EP2356608B1 (en) Method and device for diagnosing the first reception of an identifier, detection method, storage medium and computer software for said method
WO2003065181A1 (en) Method for controlling the use of digital contents by means of a security module or a chipcard comprising said module
EP1643404A3 (en) Distribution and rights management of digital content
FR2700864A1 (en) System for detecting falsification of stored information.
FR2856497A1 (en) Virtual prepaid card usage code determining process, involves selecting user number associated with selected serial number, and using selected user number during certificate generation time, to determine specific usage

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20050401

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL LT LV MK

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: THOMSON LICENSING

DAX Request for extension of the european patent (deleted)
RBV Designated contracting states (corrected)

Designated state(s): DE ES FR GB IT

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: THOMSON LICENSING

17Q First examination report despatched

Effective date: 20160125

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20160705