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 deviceInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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/80—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2101—Auditing 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
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
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)
| 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)
| 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 |
-
2002
- 2002-10-16 FR FR0213333A patent/FR2846114A1/en active Pending
-
2003
- 2003-10-14 JP JP2004544311A patent/JP2006515441A/en active Pending
- 2003-10-14 MX MXPA05003915A patent/MXPA05003915A/en active IP Right Grant
- 2003-10-14 KR KR1020057006614A patent/KR100952803B1/en not_active Expired - Fee Related
- 2003-10-14 US US10/530,899 patent/US20060155666A1/en not_active Abandoned
- 2003-10-14 CN CNB2003801016435A patent/CN100565444C/en not_active Expired - Fee Related
- 2003-10-14 WO PCT/EP2003/050718 patent/WO2004036411A2/en not_active Ceased
- 2003-10-14 EP EP03780166A patent/EP1573507A2/en not_active Withdrawn
- 2003-10-14 AU AU2003288268A patent/AU2003288268A1/en not_active Abandoned
Non-Patent Citations (1)
| 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 |