Nothing Special   »   [go: up one dir, main page]

WO2007107658A1 - Method for access control, method for using a database, installation, computer program and database - Google Patents

Method for access control, method for using a database, installation, computer program and database Download PDF

Info

Publication number
WO2007107658A1
WO2007107658A1 PCT/FR2007/050857 FR2007050857W WO2007107658A1 WO 2007107658 A1 WO2007107658 A1 WO 2007107658A1 FR 2007050857 W FR2007050857 W FR 2007050857W WO 2007107658 A1 WO2007107658 A1 WO 2007107658A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
user
database
date
class
Prior art date
Application number
PCT/FR2007/050857
Other languages
French (fr)
Inventor
Didier Guerin
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of WO2007107658A1 publication Critical patent/WO2007107658A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Definitions

  • Access control method method of using a database, installation, computer program and database.
  • the present invention relates to a method of controlling access of a user to data stored in at least one database, a method of using a database, an installation for using a database of data, a computer program and a database.
  • This method is implemented for example as follows. First of all, the user authenticates himself to a server in the database. Then, the server consults a digital file including the access rights of all users of the database, including the authenticated user. This file is managed by an administrator of the database.
  • the server assigns an authorization and / or a prohibition of access to data of the database.
  • the database administrator manages a user's access rights to data in the database globally, relative to a set of data.
  • the administrator of the database manages the user's access rights to an entire folder. and not to each of the documents contained in the digital file.
  • this access prohibition is assigned globally, for the entire digital folder to which the user had access.
  • the user following a prohibition of access to a digital file, the user, during the access control, will be granted a prohibition of access to all documents in this digital file.
  • the prohibition legitimately concerns documents that are generally unknown to the user and that are added to the digital file after the date of the prohibition.
  • the prohibition of access concerns, in a more questionable way, documents that the user was able to see that existed in the digital file prior to the date of prohibition.
  • the invention aims to allow a more relevant control of permissions and access bans.
  • the subject of the invention is a method for managing a user's access rights to data stored in at least one database, of the aforementioned type, characterized in that for each datum the attribution authorization and / or prohibition depends on a date associated with the data, said date being a date of creation or modification of said data.
  • this method allows a more relevant control of the access rights of the user since the access rights do not only depend on a possible membership of the data to a subset of data but also an associated date to the data.
  • access is allowed to all data previously assigned access authorization and not only during a predefined time interval.
  • a control method according to the invention may further include one or more of the following features.
  • the granting of authorization and / or prohibition also depends on at least one date associated with the user.
  • the method includes a step of comparing the date associated with the data and the date associated with the user.
  • the granting of authorization and / or prohibition depends on first and second dates associated with the user and defining a subscription period of the user to a data class to which the data belongs, the first date being earlier on the second date.
  • the user may subscribe during a subscription period to different classes of data, and the method includes a step of consulting a user's subscription history to the data classes, the history including, for each data class, two dates defining the subscription period of the user to the data class.
  • the allocation step is such that an access authorization is assigned to each data item of a data class to which the user has subscribed, whose modification or creation date is earlier than the second date of the user's subscription period to the data class.
  • the assignment step is such that a prohibition of access is assigned to each data item of a data class to which the user has subscribed, whose modification or creation date is earlier than the first date of the user's subscription period to the data class.
  • the invention also relates to a method of using a database, of the type comprising a data loading method in the database, a method for controlling access to data from the database, and a method of downloading data from the database, characterized in that the access control method is according to the invention defined above.
  • the method of loading, by a user, a piece of data in a data class of the database comprises the following steps:
  • each piece of data is encrypted by means of an encryption key of its own which increases the security of the database.
  • the calculation of the first key is performed by calculating, for each user subscribed to the data class, a key that depends on an identifier of the user and a root key common to all users. This is particularly advantageous because there is only one key to keep in the database.
  • the loading method further comprises the steps of: storing, in a data consultation server, the identifier of the data, calculating, for the encrypted data, an index based on the encryption key of the data, and when loading the encrypted data into the data class of the database, the data is associated with the index.
  • the method for downloading a user of a data from a data class of the database comprises the following steps: - selection from the data consultation server of the identifier of the data to be downloaded for which a been granted access authorization when implementing the access control method,
  • the invention also relates to an installation for the use of a database, characterized in that it comprises means for implementing a method of use as defined above.
  • the invention also relates to a computer program, characterized in that it comprises instructions for the execution of a method of use as previously defined.
  • the invention also relates to a database, characterized in that it is part of an installation as previously defined.
  • the invention will be better understood on reading the description which follows, given solely by way of example and with reference to the appended drawings in which:
  • FIG. 1 is a diagram of a database access installation according to the invention
  • FIG. 2 is a diagram of the steps of a method of authenticating a user with the database; represented in FIG.
  • FIG. 3 is a diagram of the steps of a method according to the invention for controlling a user's access to data stored in the database represented in FIG. 1;
  • FIG. 4 is a diagram of the steps of FIG. a method of downloading data stored in the database shown in the figure
  • FIG. 5 is a diagram of the steps of a method of loading a datum in the database represented in FIG. 1.
  • FIG. 1 diagrammatically shows an installation 8 for the use of a database of FIG. data 10 capable of storing data D 1 in digital form.
  • the installation 8 includes an authentication server 12, a server 14 for consulting the data D 1 stored in the database 10 and an encryption server 16.
  • the database 10 comprises three units 18, 30 and 34 of storage respectively connected to the servers 16, 12 and 14.
  • the first unit 18 is a data storage unit D 1 .
  • the data D, stored in the storage unit 18 are classified in n classes CD 1 ,..., CD j ,..., CD n of data.
  • CD (D 1 ) CD j the data class comprising the data D 1 .
  • the data D 1 of the database 10 are intended to be downloaded by users U 1 ,..., U k ,..., U m from the database 10.
  • Each user U k belongs to at least one CU class 1 , ..., CU j , ..., CU n of users and can access the data D 1 stored in the database 10 from terminals connected to the database 10 by the Internet network 28.
  • Each user U k has three types of keys: a first pair of keys public and private encryption, a second pair of public and private key signature and a third key K (U k ) used when encrypting the data to be stored in the server. 18.
  • Each user U k also has a personal identifier l (U k ) which is stored in the storage base 30. The user Ui accesses the database 10 from the terminal 26.
  • the classes CD 1 ,..., CD j ,..., CD n of data are respectively associated with the classes CU 1,..., CU 1,..., CU n of users U 1 ,. , ..., U m .
  • the number of data classes is equal to the number of user classes and for the sake of clarity, the indices relating to two classes of users and associated data are the same.
  • each class of data must be associated with at least one class of users. Users U 1 , ..., U k , ..., U m are likely to adhere to classes CU 1 , ...,
  • the membership of a user U k to a user class CU j triggers the subscription of this user U k to the data class CD j associated with this user class CU j .
  • the resignation of a user U k of a user class CU j triggers the unsubscription of the user of the data class CD j associated with this user class CU j .
  • the user U 1 which at a time t represented by FIG. 1, belongs to the user class CU 1 . Since the user U 1 belongs to the user class CU 1 , he is subscribed to the data class CD 1 . At times earlier than the instant t, the user U 1 was part of other user classes than the class CU 1 . In the example described, the user U 1 belonged to the classes CU 2 and CU 3 and was therefore subscribed to the data classes CD 2 and CD 3 .
  • This history includes, for each data class CD j , first d ⁇ (U 1 , CD j ) and second d 2 (U 1 , CD J ) dates defining a subscription period of the user U 1 to the data class CD j , the first date being earlier than the second date.
  • the authentication server 12 is connected to the second storage unit 30 which is a unit for storing the subscription histories H Uk of the users U 1 ,..., U k ,..., U m with the different classes CD 1 , ..., CD j , ..., CD n of data.
  • the user U 1 has a smart card 32 on which is stored a personal digital token including its history Hu 1 subscription to classes CD 1 to CD 3 data.
  • the personal digital token is issued by the authentication server 12 at the request of the user Ui. This personal digital token is certified by a signature private key of the authentication server 12. The method of issuing the personal digital token will be described later, with reference to FIG. 2.
  • each user U k of a user class CU j has access to all data D, of the data class CD j associated with this user class CU j . Over time, data can be added to this class CD j , others can be modified or deleted. In other words, the cardinal of the data class CD j evolves over time.
  • the consultation server 14 is connected to the third storage unit which is an identifier storage unit 1 (D 1 ) of the data D 1 stored in the database 10.
  • Each identifier 1 (D 1 ) is associated with the class CD (D 1 ) of data to which the data belongs and a date d (D,) of creation or modification of the data D, in the base 10.
  • This method of use comprises a method of loading data into the database which will be described later with reference to FIG. 5, a method for controlling access to data of the database according to the invention which will be described later. with reference to FIG. 3, and a method for downloading data from the database that will be described with reference to FIG. 4.
  • the user Ui To access the data D 1 stored in the database 10, the user Ui must first authenticate with the authentication server 12.
  • the purpose of the authentication is to obtain the delivery of the personal digital token comprising the subscriber Hm history of the user U 1 to the data classes CD 1 to CD 3 .
  • the authentication method is described with reference to FIG.
  • the user U 1 transmits his personal identifier 1 (U 1 ) to the authentication server 12.
  • the authentication server 12 responds to the user by transmitting a random.
  • the user U 1 signs, by means of his signature private key, the pair comprising his personal identifier 1 (U 1 ) and the hazard transmitted during transmission.
  • step 202 by the authentication server 12 then transmits this signed pair to the authentication server 12 during a step 206.
  • the authentication server 12 verifies the authenticity of the user Ui by verifying the validity of the signature of the couple by means of the user's public signature key associated with his private key. signature.
  • the authentication server 12 then generates, during a step 208, a personal digital token comprising the subscription history Hm of the user Ui to the data classes CD 1 to CD 3 . To obtain the subscriber Hui history of the user U 1 , the authentication server 12 consults the storage unit 30.
  • This personal digital token is certified by the signature private key of the authentication server 12.
  • the personal digital token includes in particular the date on which it was generated, that is to say the date from which this digital token personal is valid.
  • the subscription history Hu 1 of the user U 1 to the data classes CD 1 to CD 3 includes, for each data class CD j , first di (U i , CD j ) and second d 2 (U 1 , CD J ) dates defining a subscription period of the user U 1 to the data class CD j .
  • the first date corresponds to the date of subscription to the class and the second date corresponds to the date of unsubscription of the class.
  • the first date corresponds to the date of subscription to the class and the second date corresponds to the date on which the digital token is generated.
  • the authentication server 12 transmits the personal digital token user U 1 .
  • the user can then store the personal digital token that has been transmitted to him by the authentication server 12 on any digital medium that he has, in particular on his smart card 32.
  • the subscription history Hu 1 contained on the personal digital token allows the user U 1 to be assigned permissions and / or prohibitions of access to data from the database 10, when it connects to the database 10.
  • the access control method of the invention is described hereinafter with reference to FIG.
  • the user U 1 sends to the consultation server 14 a request to consult the data stored in the database 10 to which he has access.
  • the consultation server 14 transmits the user U 1 a random.
  • the user signs, during a step 304, his personal digital token and the random received from the consultation server 14 by means of his private key signature and transmits them during a step 306 to the consultation server 14. After verifying the validity of the personal token received, the consultation server
  • the consultation server 14 has access, for each data item D 1 stored in the database 10, to its date d (D,) of creation and / or modification and to the data class CD (D 1 ) to which the data D 1 belongs.
  • the consultation server 14 is able to implement the control method of the user. Ui user access to data stored in the database of the invention.
  • This method comprises a step of granting authorization and / or prohibition of access to data of the database in which the granting of authorization and / or prohibition depends on a date associated with the data, at least one date associated with the user and a data class to which the data belongs.
  • Permissions and access bans are assigned as follows.
  • An access authorization is given to each data item D, of a data class CD (D 1 ) to which the user Ui subscribes, whose modification, creation date d (D,) is earlier than the second date d 2 (Ui, CD (D,)) of the subscription period of the user Ui to the data class CD (D 1 ).
  • an access authorization is assigned to each data item D 1 of the data class CD 2 to which the user U 1 has subscribed, whose modification or creation date is earlier than the date d 2 (U 1 , CD 2 ) of unsubscription of the user U 1 of the class CD 2 .
  • access authorization is granted to each data item of the data class CD 1 to which the user subscribes, the modification or creation date of which is earlier than the date Cl 2 (U 1 , CD 1 ). to which the digital token has been generated.
  • consultation server 14 is assured that the user U 1 is subscribed to the data class CD 1 until the date of creation of the personal digital token.
  • the consultation server 14 trusts only the information of the personal digital token issued by the authentication server 12 because it can not access itself.
  • the function of the personal digital token is to avoid submitting queries to the storage unit 30.
  • the consultation server 14 can possibly assign a prohibition of access to each data item D, of a data class CD (D,). to which the user Ui subscribed, whose date (D,) of modification or creation is earlier than the first date di (Ui, CD (D 1 )) of the subscription period of the user U 1 to the data class CD (D 1 ). In this case, the user will only have access to data created or modified during his subscription period to the data class.
  • the consultation server 14 can assign a denial of access to each data item D, of the data class CD 3 to which the user Ui has subscribed, whose date d (D, ) modification or creation is prior to the first date di (Ui, CD 3 ) of the subscription period of the user Ui to the data class CD 3 .
  • the consultation server 14 is able to transmit to the user Ui, during a step 310, a list, stored in the control unit. storage 34, identifiers I (D,) of data to which the user is authorized to access.
  • the data is stored in the data storage unit 18 in encrypted form.
  • the encryption key of a data D, of a data class CD (D,) depends on the identifier 1 (D 1 ) of the data D 1 and a key of the user class associated with the data class CD (D 1 ).
  • the key of the user class is calculated from the third keys K (U k ) of each of the users belonging to the class of users at the moment at which the data has been stored in the storage unit 18.
  • K (U k ) of a user U k depends on the identifier l (U k ) of the user and a root key common to all users.
  • the root key is kept in memory by the encryption server 16 which needs it to calculate the third keys K (U k ) of the users.
  • each piece of data stored in the storage unit 18 of the database 10 is encrypted by means of a key of its own.
  • the data stored in the storage unit 18 of the database 10 are identified by an index distinct from the identifier I (D,) of the data D, this index being calculated from the encryption key of the database. given.
  • the index is the identifier 1 (D 1 ) of the data D, encrypted by the encryption key.
  • the user Ui has obtained a list of identifiers I (D,) D data, which has been granted access authorization.
  • the user Ui selects and then transmits to the encryption server 16 his personal digital token, the identifier 1 (D 1 ) of the data D 1 that the user U 1 wants to download and the class of data CD (D 1 ) to which this data belongs. These three elements are signed with the signature private key of the user U 1 .
  • the encryption server 16 verifies the signature by means of the public signature key of the user U 1 .
  • the encryption server 16 retrieves from the storage unit 30, the identifiers I (U k ) of each of the users who, on the date of loading the data in the database 10, subscribed to the data class CD (D 1 ) of which data D 1 belongs.
  • the encryption server 16 calculates the encryption key of the data D 1 from the identifier 1 (D 1 ) of the data D 1 , the identifiers I (U k ) associated with each users, and the root key.
  • the encryption key of the data also allows the encryption server 16 to calculate the index of the data.
  • the encryption server 16 sends the storage unit 18 data, a query containing the index of the data to download.
  • the data storage unit 18 transmits the requested data D 1 to the encryption server 16.
  • This data item D 1 is encrypted by means of the encryption key calculated during the step 406.
  • the encryption server 16 encrypts all the encrypted data and the encryption key of the data by means of the public encryption key of the user U 1 . Then, it transmits this to the user U 1 during a step 414.
  • the user U 1 After reception, the user U 1 uses his private encryption key to retrieve the encrypted data and the encryption key of the data then decrypts this encrypted data by means of this encryption key.
  • the user then obtains the data D, which he wanted to download.
  • the method of loading, by the user subscribing to a data class, a datum D, in the database is described with reference to FIG. This method is relatively close to the download method previously described since it consists in substantially performing the inverse steps.
  • the user Ui During a first step 500, the user Ui generates a temporary key specifically dedicated to the loading of the data D in the database.
  • the user encrypts the data D 1 to be loaded by means of this temporary key and encrypts the temporary key by means of the public encryption key of the encryption server 16.
  • a next step 502 the user transmits the encrypted data with the temporary key and the temporary key encrypted with the encryption public key of the encryption server to the encryption server 16.
  • the user U 1 also transmits to the server the class of data to which it is subscribed and to which the data item to be loaded in the database must be attached.
  • the encryption server 16 obtains the temporary key and decrypts the data to be loaded in the storage unit 18. It then randomly generates an identifier 1 (D 1 ) of the data it transmits. to the consultation server 14.
  • the encryption server then calculates a key associated with the user class to which the user belongs, this key being a function of each of the users of the class.
  • the encryption server 16 transmits, during a step 506, a request to the storage unit 30 so as to know the list of users subscribed to the data class. This list is transmitted to the encryption server 16 during a step 508.
  • the encryption server 16 calculates, for each user subscribed to this class, the third key K (U k ) associated with the user who depends on the identifier l (U k ) of the user and the root key common to all users.
  • the server 16 then calculates the key associated with the data class which is a function of each of the users subscribed to the class.
  • the encryption server 16 calculates the encryption key of the data according to the identifier 1 (D 1 ) of the data and the key associated with the previously calculated data class.
  • step 510 the encryption server 16 encrypts the data D by means of the encryption key of the data and loads this encrypted data into the storage unit 18 during a step 512.
  • loaded in the storage unit 18 is identified by an index calculated from the encryption key of the data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method for controlling the access of a user (Uk) to data (Di) stored in at least one database (10), said method comprising a step of authorisation allocation and/or prohibition of access to data (Di) in the database (10). For each datum (Di), the authorisation allocation and/or prohibition depend on the date (d(Di)) of creation or modification of the datum (Di).

Description

Procédé de contrôle d'accès, procédé d'utilisation d'une base de données, installation, programme d'ordinateur et base de données. Access control method, method of using a database, installation, computer program and database.
La présente invention concerne un procédé de contrôle d'accès d'un utilisateur à des données stockées dans au moins une base de données, un procédé d'utilisation d'une base de données, une installation pour l'utilisation d'une base de données, un programme d'ordinateur et une base de données.The present invention relates to a method of controlling access of a user to data stored in at least one database, a method of using a database, an installation for using a database of data, a computer program and a database.
On connaît dans l'état de la technique un procédé de contrôle d'accès d'un utilisateur à des données stockées dans au moins une base de données, du type comprenant une étape d'attribution d'autorisation et/ou d'interdiction d'accès à des données de la base.It is known in the state of the art a method of controlling access of a user to data stored in at least one database, of the type comprising a step of granting authorization and / or prohibition of access to data from the database.
Ce procédé est mis en œuvre par exemple de la façon suivante. Tout d'abord, l'utilisateur s'authentifie auprès d'un serveur de la base de données. Puis, le serveur consulte un fichier numérique comprenant les droits d'accès de tous les utilisateurs de la base de données, notamment de l'utilisateur authentifié. Ce fichier est géré par un administrateur de la base de données.This method is implemented for example as follows. First of all, the user authenticates himself to a server in the database. Then, the server consults a digital file including the access rights of all users of the database, including the authenticated user. This file is managed by an administrator of the database.
Enfin, en fonction des droits d'accès de l'utilisateur authentifié, le serveur attribue une autorisation et/ou une interdiction d'accès à des données de la base.Finally, depending on the access rights of the authenticated user, the server assigns an authorization and / or a prohibition of access to data of the database.
Habituellement, l'administrateur de la base de données gère les droits d'accès d'un utilisateur à des données de la base de manière globale, relativement à un ensemble de données.Usually, the database administrator manages a user's access rights to data in the database globally, relative to a set of data.
Par exemple, dans le cas d'une base de données comprenant des moyens de stockage de documents numériques classés dans des dossiers numériques, l'administrateur de la base gère les droits d'accès de l'utilisateur à l'ensemble d'un dossier et non pas à chacun des documents contenus dans le dossier numérique.For example, in the case of a database comprising digital document storage means classified in digital folders, the administrator of the database manages the user's access rights to an entire folder. and not to each of the documents contained in the digital file.
En particulier, lorsque l'administrateur de la base autorise l'accès de l'utilisateur à un dossier numérique, cette autorisation reste valable quelles que soient les modifications apportées au contenu du dossier.In particular, when the database administrator allows the user access to a digital folder, this authorization remains valid regardless of the changes made to the contents of the folder.
De même, lorsque l'administrateur de la base interdit l'accès de l'utilisateur à des documents de la base, cette interdiction d'accès est attribuée de manière globale, pour l'ensemble du dossier numérique auquel l'utilisateur avait accès.Similarly, when the database administrator prohibits the access of the user to documents in the database, this access prohibition is assigned globally, for the entire digital folder to which the user had access.
Ainsi, à la suite d'une interdiction d'accès à un dossier numérique, l'utilisateur, lors du contrôle d'accès, se verra attribuer une interdiction d'accès à tous les documents de ce dossier numérique. De ce fait, l'interdiction concerne de façon légitime des documents dont l'utilisateur n'a généralement jamais pris connaissance et qui sont ajoutés au dossier numérique postérieurement à la date de l'interdiction. Toutefois, l'interdiction d'accès concerne, de façon plus discutable, des documents dont l'utilisateur a pu prendre connaissance qui existaient dans le dossier numérique antérieurement à la date d'interdiction.Thus, following a prohibition of access to a digital file, the user, during the access control, will be granted a prohibition of access to all documents in this digital file. As a result, the prohibition legitimately concerns documents that are generally unknown to the user and that are added to the digital file after the date of the prohibition. However, the prohibition of access concerns, in a more questionable way, documents that the user was able to see that existed in the digital file prior to the date of prohibition.
L'invention a pour but de permettre un contrôle plus pertinent des autorisations et des interdictions d'accès.The invention aims to allow a more relevant control of permissions and access bans.
A cet effet, l'invention a pour objet un procédé de gestion de droits d'accès d'un utilisateur à des données stockées dans au moins une base de données, du type précité, caractérisé en ce que pour chaque donnée, l'attribution d'autorisation et/ou d'interdiction dépend d'une date associée à la donnée, ladite date étant une date de création ou de modification de ladite donnée.For this purpose, the subject of the invention is a method for managing a user's access rights to data stored in at least one database, of the aforementioned type, characterized in that for each datum the attribution authorization and / or prohibition depends on a date associated with the data, said date being a date of creation or modification of said data.
Ainsi, ce procédé permet un contrôle plus pertinent des droits d'accès de l'utilisateur puisque les droits d'accès ne dépendent pas uniquement d'une appartenance éventuelle de la donnée à un sous-ensemble de données mais également d'une date associée à la donnée. En outre, avec le procédé selon l'invention l'accès est autorisé à toutes les données auxquelles a été attribuée auparavant une autorisation d'accès et non uniquement au cours d'un intervalle temporel prédéfini.Thus, this method allows a more relevant control of the access rights of the user since the access rights do not only depend on a possible membership of the data to a subset of data but also an associated date to the data. In addition, with the method according to the invention access is allowed to all data previously assigned access authorization and not only during a predefined time interval.
Un procédé de contrôle selon l'invention peut en outre comporter l'une ou plusieurs des caractéristiques suivantes.A control method according to the invention may further include one or more of the following features.
L'attribution d'autorisation et/ou d'interdiction dépend en outre d'au moins une date associée à l'utilisateur.The granting of authorization and / or prohibition also depends on at least one date associated with the user.
Le procédé comprend une étape de comparaison de la date associée à la donnée et la date associée à l'utilisateur.The method includes a step of comparing the date associated with the data and the date associated with the user.
L'attribution d'autorisation et/ou d'interdiction dépend de première et seconde dates associées à l'utilisateur et définissant une période d'abonnement de l'utilisateur à une classe de données dont fait partie la donnée, la première date étant antérieure à la seconde date. L'utilisateur est susceptible de s'abonner durant une période d'abonnement à différentes classes de données, et le procédé comprend une étape de consultation d'un historique d'abonnement de l'utilisateur aux classes de données, l'historique comprenant, pour chaque classe de données, deux dates définissant la période d'abonnement de l'utilisateur à la classe de données.The granting of authorization and / or prohibition depends on first and second dates associated with the user and defining a subscription period of the user to a data class to which the data belongs, the first date being earlier on the second date. The user may subscribe during a subscription period to different classes of data, and the method includes a step of consulting a user's subscription history to the data classes, the history including, for each data class, two dates defining the subscription period of the user to the data class.
- L'étape d'attribution est telle qu'une autorisation d'accès est attribuée à chaque donnée d'une classe de données à laquelle l'utilisateur s'est abonné, dont la date de modification ou de création est antérieure à la seconde date de la période d'abonnement de l'utilisateur à la classe de données.- The allocation step is such that an access authorization is assigned to each data item of a data class to which the user has subscribed, whose modification or creation date is earlier than the second date of the user's subscription period to the data class.
- L'étape d'attribution est telle qu'une interdiction d'accès est attribuée à chaque donnée d'une classe de données à laquelle l'utilisateur s'est abonné, dont la date de modification ou de création est antérieure à la première date de la période d'abonnement de l'utilisateur à la classe de données.- The assignment step is such that a prohibition of access is assigned to each data item of a data class to which the user has subscribed, whose modification or creation date is earlier than the first date of the user's subscription period to the data class.
Ainsi, grâce à l'invention, on est assuré que si l'utilisateur a pu prendre connaissance d'une donnée du fait qu'il a été abonné à une classe de données comprenant la donnée, cet utilisateur se verra attribuer une autorisation d'accès à cette donnée quelles que soient les classes de données auxquelles l'utilisateur est abonné ultérieurement.Thus, thanks to the invention, it is ensured that if the user was able to become acquainted with a datum because he has subscribed to a data class comprising the datum, this user will be given an authorization of access to this data regardless of the classes of data to which the user is subscribed later.
Le contrôle de l'accès de l'utilisateur à la base est donc bien plus pertinent que dans l'état de la technique puisque l'on ne rencontre pas de situations discutables dans lesquelles un utilisateur n'a plus accès à une donnée dont il a pu prendre connaissance auparavant.The control of the access of the user to the database is therefore much more relevant than in the state of the art since we do not encounter questionable situations in which a user no longer has access to a data item he could have seen before.
L'invention a également pour objet un procédé d'utilisation d'une base de données, du type comprenant un procédé de chargement de données dans la base de données, un procédé de contrôle d'accès à des données de la base de données, et un procédé de téléchargement de données de la base de données, caractérisé en ce que le procédé de contrôle d'accès est selon l'invention définie précédemment.The invention also relates to a method of using a database, of the type comprising a data loading method in the database, a method for controlling access to data from the database, and a method of downloading data from the database, characterized in that the access control method is according to the invention defined above.
De préférence, le procédé de chargement, par un utilisateur, d'une donnée dans une classe de données de la base de données comprend les étapes suivantes :Preferably, the method of loading, by a user, a piece of data in a data class of the database comprises the following steps:
- génération aléatoire d'un identifiant de la donnée, - calcul d'une première clé associée aux utilisateurs abonnés à la classe de données à l'instant du chargement, calcul d'une clé de chiffrement de la donnée fonction de l'identifiant de la donnée et de la première clé, chiffrement de la donnée au moyen de la clé de chiffrement de la donnée, - chargement de la donnée chiffrée dans la classe de données de la base.random generation of an identifier of the data, calculation of a first key associated with the users subscribing to the data class at the moment of loading, calculation of an encryption key of the data function of the identifier of the data. the data and the first key, encrypting the data by means of the encryption key of the data, - loading the encrypted data in the data class of the database.
Grâce à ce procédé de chargement, chaque donnée est chiffrée au moyen d'une clé de chiffrement qui lui est propre ce qui augmente la sécurité de la base de données.Thanks to this loading method, each piece of data is encrypted by means of an encryption key of its own which increases the security of the database.
De préférence, le calcul de la première clé est effectué en calculant, pour chaque utilisateur abonné à la classe de données, une clé qui dépend d'un identifiant de l'utilisateur et d'une clé racine commune à tous les utilisateurs. Cela est particulièrement avantageux car il n'y a qu'une seule clé à conserver dans la base de données. De préférence, le procédé de chargement comprend en outre les étapes suivantes : stockage, dans un serveur de consultation de données, de l'identifiant de la donnée, calcul, pour la donnée chiffrée, d'un index fonction de la clé de chiffrement de la donnée, et lors du chargement de la donnée chiffrée dans la classe de données de la base, la donnée est associée à l'index.Preferably, the calculation of the first key is performed by calculating, for each user subscribed to the data class, a key that depends on an identifier of the user and a root key common to all users. This is particularly advantageous because there is only one key to keep in the database. Preferably, the loading method further comprises the steps of: storing, in a data consultation server, the identifier of the data, calculating, for the encrypted data, an index based on the encryption key of the data, and when loading the encrypted data into the data class of the database, the data is associated with the index.
Ainsi, il est particulièrement difficile, pour un pirate, de retrouver les documents stockés dans la base de données puisque ceux-ci ne sont pas classés en fonction de leur identifiant mais en fonction d'un index dont la signification ne peut être comprise qu'après calcul de la clé de chiffrement du document. Cela permet donc d'améliorer la sécurité de la base de données.Thus, it is particularly difficult for an attacker to find the documents stored in the database since they are not classified according to their identifier but according to an index whose meaning can only be understood as after calculating the encryption key of the document. This therefore improves the security of the database.
De façon optionnelle, le procédé de téléchargement par un utilisateur d'une donnée d'une classe de données de la base comprend les étapes suivantes : - sélection auprès du serveur de consultation de données de l'identifiant de la donnée à télécharger pour laquelle a été attribuée une autorisation d'accès lors de la mise en œuvre du procédé de contrôle d'accès,Optionally, the method for downloading a user of a data from a data class of the database comprises the following steps: - selection from the data consultation server of the identifier of the data to be downloaded for which a been granted access authorization when implementing the access control method,
- calcul de la clé de chiffrement de la donnée à partir : o de l'identifiant de la donnée, o des identifiants associés à chacun des utilisateurs qui, à la date du chargement de la donnée dans la base, étaient abonnés à la classe de données dont fait partie la donnée, et o de la clé racine,calculation of the encryption key of the data from: o the identifier of the data, o identifiers associated with each of the users who, at the date of loading the data in the database, were subscribed to the class of data. data of which the data belongs, and o of the root key,
- calcul de l'index de la donnée à partir de la clé de chiffrement de la donnée,calculation of the index of the data from the encryption key of the data,
- recherche de la donnée chiffrée dans la base grâce à l'index, déchiffrement de la donnée chiffrée au moyen de la clé de chiffrement.- Search for the encrypted data in the database through the index, decryption of the encrypted data by means of the encryption key.
L'invention a également pour objet une installation pour l'utilisation d'une base de données, caractérisée en ce qu'elle comprend des moyens pour la mise en œuvre d'un procédé d'utilisation tel que précédemment défini.The invention also relates to an installation for the use of a database, characterized in that it comprises means for implementing a method of use as defined above.
L'invention a également pour objet un programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour l'exécution d'un procédé d'utilisation tel que précédemment défini.The invention also relates to a computer program, characterized in that it comprises instructions for the execution of a method of use as previously defined.
L'invention a également pour objet une base de données, caractérisée en ce qu'elle fait partie d'une installation telle que précédemment définie. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés dans lesquels :The invention also relates to a database, characterized in that it is part of an installation as previously defined. The invention will be better understood on reading the description which follows, given solely by way of example and with reference to the appended drawings in which:
- la figure 1 est un schéma d'une installation d'accès à une base de données selon l'invention, - la figure 2 est un schéma des étapes d'un procédé d'authentification d'un utilisateur auprès de la base de données représentée sur la figure 1 ,FIG. 1 is a diagram of a database access installation according to the invention; FIG. 2 is a diagram of the steps of a method of authenticating a user with the database; represented in FIG.
- la figure 3 est un schéma des étapes d'un procédé selon l'invention de contrôle d'accès d'un utilisateur à des données stockées dans la base représentée sur la figure 1 , - la figure 4 est un schéma des étapes d'un procédé de téléchargement d'une donnée stockée dans la base de données représentée sur la figureFIG. 3 is a diagram of the steps of a method according to the invention for controlling a user's access to data stored in the database represented in FIG. 1; FIG. 4 is a diagram of the steps of FIG. a method of downloading data stored in the database shown in the figure
1 , la figure 5 est un schéma des étapes d'un procédé de chargement d'une donnée dans la base de données représentée sur la figure 1. On a schématisé sur la figure 1 une installation 8 pour l'utilisation d'une base de données 10 apte à stocker des données D1 sous forme numérique.1, FIG. 5 is a diagram of the steps of a method of loading a datum in the database represented in FIG. 1. FIG. 1 diagrammatically shows an installation 8 for the use of a database of FIG. data 10 capable of storing data D 1 in digital form.
Outre la base de données 10, l'installation 8 comprend un serveur d'authentification 12, un serveur 14 de consultation des données D1 stockées dans la base de données 10 et un serveur de chiffrement 16. La base de données 10 comprend trois unités 18, 30 et 34 de stockage reliées respectivement aux serveurs 16, 12 et 14.In addition to the database 10, the installation 8 includes an authentication server 12, a server 14 for consulting the data D 1 stored in the database 10 and an encryption server 16. The database 10 comprises three units 18, 30 and 34 of storage respectively connected to the servers 16, 12 and 14.
La première unité 18 est une unité de stockage des données D1. Les données D, stockées dans l'unité de stockage 18 sont classées dans n classes CD1, ..., CDj, ..., CDn de données. On note CD(D1) = CDj la classe de données comprenant la donnée D1.The first unit 18 is a data storage unit D 1 . The data D, stored in the storage unit 18 are classified in n classes CD 1 ,..., CD j ,..., CD n of data. We denote CD (D 1 ) = CD j the data class comprising the data D 1 .
Les données D1 de la base de données 10 sont destinées à être téléchargées par des utilisateurs U1, ..., Uk , ...,Um de la base de données 10. Chaque utilisateur Uk appartient à au moins une classe CU1, ..., CUj , ...,CUn d'utilisateurs et peut accéder aux données D1 stockées dans la base de données 10 depuis des terminaux reliés à la base de données 10 par le réseau Internet 28.The data D 1 of the database 10 are intended to be downloaded by users U 1 ,..., U k ,..., U m from the database 10. Each user U k belongs to at least one CU class 1 , ..., CU j , ..., CU n of users and can access the data D 1 stored in the database 10 from terminals connected to the database 10 by the Internet network 28.
Chaque utilisateur Uk possède trois types de clés : un premier couple de clés publique et privée de chiffrement, un deuxième couple de clés publique et privée de signature et une troisième clé K(Uk) utilisée lors du chiffrement des données à stocker dans l'unité 18. Chaque utilisateur Uk possède également un identifiant personnel l(Uk) qui est stocké dans la base de stockage 30. L'utilisateur Ui accède à la base de données 10 depuis le terminal 26.Each user U k has three types of keys: a first pair of keys public and private encryption, a second pair of public and private key signature and a third key K (U k ) used when encrypting the data to be stored in the server. 18. Each user U k also has a personal identifier l (U k ) which is stored in the storage base 30. The user Ui accesses the database 10 from the terminal 26.
Les classes CD1, ..., CDj, ..., CDn de données sont respectivement associées aux classes CUi, ..., CUj , ...,CUn d'utilisateurs Ui, ..., Uk , ...,Um.The classes CD 1 ,..., CD j ,..., CD n of data are respectively associated with the classes CU 1,..., CU 1,..., CU n of users U 1 ,. , ..., U m .
Dans l'exemple décrit, le nombre de classes de données est égal au nombre de classes d'utilisateurs et pour des raisons de clarté, les indices relatifs à deux classes d'utilisateurs et de données associées sont les mêmes.In the example described, the number of data classes is equal to the number of user classes and for the sake of clarity, the indices relating to two classes of users and associated data are the same.
Il est également possible que ces deux nombres soient différents. Il est cependant nécessaire que chaque classe de données soit associée à au moins une classe d'utilisateurs. Les utilisateurs U1, ..., Uk , ...,Um sont susceptibles d'adhérer aux classes CU1, ...,It is also possible that these two numbers are different. However, each class of data must be associated with at least one class of users. Users U 1 , ..., U k , ..., U m are likely to adhere to classes CU 1 , ...,
CUj , ...,CUn d'utilisateurs et/ou d'en démissionner.CU j , ..., CU n users and / or resign.
L'adhésion d'un utilisateur Uk à une classe d'utilisateurs CUj déclenche l'abonnement de cet utilisateur Uk à la classe de données CDj associée à cette classe d'utilisateurs CUj. La démission d'un utilisateur Uk d'une classe d'utilisateurs CUj déclenche le désabonnement de l'utilisateur de la classe de données CDj associée à cette classe d'utilisateurs CUj.The membership of a user U k to a user class CU j triggers the subscription of this user U k to the data class CD j associated with this user class CU j . The resignation of a user U k of a user class CU j triggers the unsubscription of the user of the data class CD j associated with this user class CU j .
On considère plus particulièrement l'utilisateur U1 qui, à un instant t auquel est représentée la figure 1 , appartient à la classe d'utilisateurs CU1. Comme l'utilisateur U1 appartient à la classe d'utilisateurs CU1, il est abonné à la classe de données CD1. A des instants antérieurs à l'instant t, l'utilisateur U1 a fait partie d'autres classes d'utilisateurs que la classe CU1. Dans l'exemple décrit, l'utilisateur U1 a fait partie des classes CU2 et CU3 et était donc abonné aux classes de données CD2 et CD3.More particularly, the user U 1, which at a time t represented by FIG. 1, belongs to the user class CU 1 . Since the user U 1 belongs to the user class CU 1 , he is subscribed to the data class CD 1 . At times earlier than the instant t, the user U 1 was part of other user classes than the class CU 1 . In the example described, the user U 1 belonged to the classes CU 2 and CU 3 and was therefore subscribed to the data classes CD 2 and CD 3 .
Il est ainsi possible de construire un historique Hu1 d'abonnement de l'utilisateur U1 aux classes de données CD1 , ..., CDj, ..., CDn. Cet historique comprend notamment, pour chaque classe de données CDj, des première d^ (U1 , CDj) et seconde d2(U1,CDJ) dates définissant une période d'abonnement de l'utilisateur U1 à la classe de données CDj, la première date étant antérieure à la seconde date.It is thus possible to build a subscription history Hu 1 of the user U 1 to the data classes CD 1 , ..., CD j , ..., CD n . This history includes, for each data class CD j , first d ^ (U 1 , CD j ) and second d 2 (U 1 , CD J ) dates defining a subscription period of the user U 1 to the data class CD j , the first date being earlier than the second date.
De même, on peut construire, pour un utilisateur Uk quelconque, son historique HUk d'abonnement aux classes de données CD1, ..., CDj, ..., CDn. Le serveur d'authentification 12 est relié à la deuxième unité de stockage 30 qui est une unité de stockage des historiques d'abonnement HUk des utilisateurs U1, ..., Uk , ...,Um aux différentes classes CD1, ..., CDj, ..., CDnde données.Similarly, one can build, for any user U k , his H Uk subscription history to data classes CD 1 , ..., CD j , ..., CD n . The authentication server 12 is connected to the second storage unit 30 which is a unit for storing the subscription histories H Uk of the users U 1 ,..., U k ,..., U m with the different classes CD 1 , ..., CD j , ..., CD n of data.
L'utilisateur U1 possède une carte à puce 32 sur laquelle est stocké un jeton numérique personnel comprenant son historique Hu1 d'abonnement aux classes CD1 à CD3 de données. Le jeton numérique personnel est délivré par le serveur d'authentification 12 sur requête de l'utilisateur Ui . Ce jeton numérique personnel est certifié par une clé privée de signature du serveur d'authentification 12. Le procédé de délivrance du jeton numérique personnel sera décrit ultérieurement, en référence à la figure 2. A un instant donné, chaque utilisateur Uk d'une classe CUj d'utilisateurs a accès à toutes les données D, de la classe de données CDj associée à cette classe d'utilisateurs CUj. Au cours du temps, des données peuvent être ajoutées à cette classe CDj, d'autres peuvent être modifiées ou supprimées. En d'autres termes, le cardinal de la classe CDj de données évolue au cours du temps. Le serveur de consultation 14 est relié à la troisième unité de stockage qui est une unité de stockage d'identifiants 1(D1) des données D1 stockées dans la base de données 10. A chaque identifiant 1(D1) est associé la classe CD(D1) de données à laquelle appartient la donnée et une date d(D,) de création ou de modification de la donnée D, dans la base 10. L'utilisation de la base de données 10 par l'utilisateur Ui , conformément au procédé d'utilisation de l'invention, va être décrite dans la suite de la description.The user U 1 has a smart card 32 on which is stored a personal digital token including its history Hu 1 subscription to classes CD 1 to CD 3 data. The personal digital token is issued by the authentication server 12 at the request of the user Ui. This personal digital token is certified by a signature private key of the authentication server 12. The method of issuing the personal digital token will be described later, with reference to FIG. 2. At a given instant, each user U k of a user class CU j has access to all data D, of the data class CD j associated with this user class CU j . Over time, data can be added to this class CD j , others can be modified or deleted. In other words, the cardinal of the data class CD j evolves over time. The consultation server 14 is connected to the third storage unit which is an identifier storage unit 1 (D 1 ) of the data D 1 stored in the database 10. Each identifier 1 (D 1 ) is associated with the class CD (D 1 ) of data to which the data belongs and a date d (D,) of creation or modification of the data D, in the base 10. The use of the database 10 by the user Ui according to the method of use of the invention, will be described in the following description.
Ce procédé d'utilisation comprend un procédé de chargement de données dans la base de données qui sera décrit ultérieurement relativement à la figure 5, un procédé de contrôle d'accès à des données de la base de données selon l'invention qui sera décrit ultérieurement relativement à la figure 3, et un procédé de téléchargement de données de la base de données qui sera décrit relativement à la figure 4.This method of use comprises a method of loading data into the database which will be described later with reference to FIG. 5, a method for controlling access to data of the database according to the invention which will be described later. with reference to FIG. 3, and a method for downloading data from the database that will be described with reference to FIG. 4.
Pour accéder aux données D1 stockées dans la base de données 10, l'utilisateur Ui doit tout d'abord s'authentifier auprès du serveur d'authentification 12. L'authentification a pour but d'obtenir la délivrance du jeton numérique personnel comprenant l'historique Hm d'abonnement de l'utilisateur U1 aux classes de données CD1 à CD3. Le procédé d'authentification est décrit en référence à la figure 2.To access the data D 1 stored in the database 10, the user Ui must first authenticate with the authentication server 12. The purpose of the authentication is to obtain the delivery of the personal digital token comprising the subscriber Hm history of the user U 1 to the data classes CD 1 to CD 3 . The authentication method is described with reference to FIG.
Au cours d'une première étape 200, l'utilisateur U1 transmet son identifiant personnel 1(U1) au serveur d'authentification 12.During a first step 200, the user U 1 transmits his personal identifier 1 (U 1 ) to the authentication server 12.
Au cours d'une deuxième étape 202, le serveur d'authentification 12 répond à l'utilisateur en lui transmettant un aléa.During a second step 202, the authentication server 12 responds to the user by transmitting a random.
A la réception de l'aléa, au cours d'une étape 204, l'utilisateur U1 signe, au moyen de sa clé privée de signature, le couple comprenant son identifiant personnel 1(U1) et l'aléa transmis lors de l'étape 202 par le serveur d'authentification 12, puis transmet ce couple signé au serveur d'authentification 12 au cours d'une étape 206. A la réception de ce couple, le serveur d'authentification 12 vérifie l'authenticité de l'utilisateur Ui en vérifiant la validité de la signature du couple au moyen de la clé publique de signature de l'utilisateur, associée à sa clé privée de signature.At the reception of the hazard, during a step 204, the user U 1 signs, by means of his signature private key, the pair comprising his personal identifier 1 (U 1 ) and the hazard transmitted during transmission. step 202 by the authentication server 12, then transmits this signed pair to the authentication server 12 during a step 206. Upon receipt of this pair, the authentication server 12 verifies the authenticity of the user Ui by verifying the validity of the signature of the couple by means of the user's public signature key associated with his private key. signature.
Le serveur d'authentification 12 génère ensuite, au cours d'une étape 208, un jeton numérique personnel comprenant l'historique Hm d'abonnement de l'utilisateur Ui aux classes de données CD1 à CD3. Pour obtenir l'historique Hui d'abonnement de l'utilisateur U1, le serveur d'authentification 12 consulte l'unité de stockage 30.The authentication server 12 then generates, during a step 208, a personal digital token comprising the subscription history Hm of the user Ui to the data classes CD 1 to CD 3 . To obtain the subscriber Hui history of the user U 1 , the authentication server 12 consults the storage unit 30.
Ce jeton numérique personnel est certifié par la clé privée de signature du serveur d'authentification 12. Le jeton numérique personnel comprend notamment la date à laquelle il a été généré, c'est-à-dire la date à partir de laquelle ce jeton numérique personnel est valable.This personal digital token is certified by the signature private key of the authentication server 12. The personal digital token includes in particular the date on which it was generated, that is to say the date from which this digital token personal is valid.
Comme mentionné plus haut, l'historique Hu1 d'abonnement de l'utilisateur U1 aux classes de données CD1 à CD3 comprend, pour chaque classe de données CDj, des première di(Ui ,CDj) et seconde d2(U1,CDJ) dates définissant une période d'abonnement de l'utilisateur U1 à la classe de données CDj.As mentioned above, the subscription history Hu 1 of the user U 1 to the data classes CD 1 to CD 3 includes, for each data class CD j , first di (U i , CD j ) and second d 2 (U 1 , CD J ) dates defining a subscription period of the user U 1 to the data class CD j .
Pour chaque classe de données CD2 et CD3 à laquelle l'utilisateur U1 n'est plus abonné, la première date correspond à la date d'abonnement à la classe et la seconde date correspond à la date de désabonnement de la classe.For each data class CD 2 and CD 3 to which the user U 1 is no longer subscribed, the first date corresponds to the date of subscription to the class and the second date corresponds to the date of unsubscription of the class.
Pour la classe de données CD1 à laquelle l'utilisateur U1 est abonné à l'instant de génération du jeton numérique, la première date correspond à la date d'abonnement à la classe et la seconde date correspond à la date à laquelle le jeton numérique est généré.For the data class CD 1 to which the user U 1 is subscribed at the time of generation of the digital token, the first date corresponds to the date of subscription to the class and the second date corresponds to the date on which the digital token is generated.
Au cours d'une étape 210, le serveur d'authentification 12 transmet le jeton numérique personnel à l'utilisateur U1.During a step 210, the authentication server 12 transmits the personal digital token user U 1 .
L'utilisateur peut ensuite stocker le jeton numérique personnel qui lui a été transmis par le serveur d'authentification 12 sur tout moyen numérique dont il dispose, notamment sur sa carte à puce 32.The user can then store the personal digital token that has been transmitted to him by the authentication server 12 on any digital medium that he has, in particular on his smart card 32.
L'historique d'abonnement Hu1 contenu sur le jeton numérique personnel permet à l'utilisateur U1 de se voir attribuer des autorisations et/ou des interdictions d'accès à des données de la base de données 10, lorsqu'il se connecte à la base de données 10. Le procédé de contrôle d'accès de l'invention est décrit par la suite en référence à la figure 3.The subscription history Hu 1 contained on the personal digital token allows the user U 1 to be assigned permissions and / or prohibitions of access to data from the database 10, when it connects to the database 10. The access control method of the invention is described hereinafter with reference to FIG.
Au cours d'une première étape 300, l'utilisateur U1 envoie au serveur de consultation 14 une requête de consultation des données stockées dans la base de données 10 auxquelles il a accès. Au cours d'une étape suivante 302, le serveur de consultation 14 transmet à l'utilisateur U1 un aléa. A la réception de cet aléa, l'utilisateur signe, au cours d'une étape 304, son jeton numérique personnel ainsi que l'aléa reçu du serveur de consultation 14 au moyen de sa clé privée de signature et les transmet au cours d'une étape 306 au serveur de consultation 14. Après vérification de la validité du jeton personnel reçu, le serveur de consultationDuring a first step 300, the user U 1 sends to the consultation server 14 a request to consult the data stored in the database 10 to which he has access. During a next step 302, the consultation server 14 transmits the user U 1 a random. Upon receipt of this hazard, the user signs, during a step 304, his personal digital token and the random received from the consultation server 14 by means of his private key signature and transmits them during a step 306 to the consultation server 14. After verifying the validity of the personal token received, the consultation server
14 consulte, au cours d'une étape 308, l'historique Hui d'abonnement de l'utilisateur Ui aux classes de données, contenu dans le jeton numérique personnel.14 during a step 308, consults the subscription history Hui of the user Ui to the data classes, contained in the personal digital token.
Grâce à l'unité de stockage 34, le serveur de consultation 14 a accès, pour chaque donnée D1 stockée dans la base de données 10, à sa date d(D,) de création et/ou de modification ainsi qu'à la classe de données CD(D1) à laquelle la donnée D1 appartient.With the storage unit 34, the consultation server 14 has access, for each data item D 1 stored in the database 10, to its date d (D,) of creation and / or modification and to the data class CD (D 1 ) to which the data D 1 belongs.
En mettant en relation les informations contenues dans l'unité de stockage 34 et les informations contenues dans le jeton numérique personnel qui lui a été transmis par l'utilisateur Ui, le serveur de consultation 14 est apte à mettre en œuvre le procédé de contrôle d'accès de l'utilisateur Ui à des données stockées dans la base de données de l'invention.By relating the information contained in the storage unit 34 to the information contained in the personal digital token transmitted to it by the user Ui, the consultation server 14 is able to implement the control method of the user. Ui user access to data stored in the database of the invention.
Ce procédé comprend une étape d'attribution d'autorisation et/ou d'interdiction d'accès à des données de la base dans lequel l'attribution d'autorisation et/ou d'interdiction dépend d'une date associée à la donnée, d'au moins une date associée à l'utilisateur et d'une classe de données à laquelle appartient la donnée. Les autorisations et les interdictions d'accès sont attribuées de la façon suivante.This method comprises a step of granting authorization and / or prohibition of access to data of the database in which the granting of authorization and / or prohibition depends on a date associated with the data, at least one date associated with the user and a data class to which the data belongs. Permissions and access bans are assigned as follows.
On attribue une autorisation d'accès à chaque donnée D, d'une classe de données CD(D1) à laquelle l'utilisateur Ui s'est abonné, dont la date d(D,) de modification ou de création est antérieure à la seconde date d2(Ui, CD(D,)) de la période d'abonnement de l'utilisateur Ui à la classe de données CD(D1). Par exemple, dans l'exemple décrit, on attribue une autorisation d'accès à chaque donnée D1 de la classe de données CD2 à laquelle a été abonné l'utilisateur U1 , dont la date de modification ou de création est antérieure à la date d2(U1, CD2) de désabonnement de l'utilisateur U1 de la classe CD2.An access authorization is given to each data item D, of a data class CD (D 1 ) to which the user Ui subscribes, whose modification, creation date d (D,) is earlier than the second date d 2 (Ui, CD (D,)) of the subscription period of the user Ui to the data class CD (D 1 ). For example, in the example described, an access authorization is assigned to each data item D 1 of the data class CD 2 to which the user U 1 has subscribed, whose modification or creation date is earlier than the date d 2 (U 1 , CD 2 ) of unsubscription of the user U 1 of the class CD 2 .
De même, on attribue une autorisation d'accès à chaque donnée de la classe de données CD1 à laquelle est abonné l'utilisateur, dont la date de modification ou de création est antérieure à la date Cl2(U 1, CD1) à laquelle le jeton numérique a été généré.Similarly, access authorization is granted to each data item of the data class CD 1 to which the user subscribes, the modification or creation date of which is earlier than the date Cl 2 (U 1 , CD 1 ). to which the digital token has been generated.
En effet, le serveur de consultation 14 n'est assuré que l'utilisateur U1 est abonné à la classe de données CD1 que jusqu'à la date de création du jeton numérique personnel.Indeed, the consultation server 14 is assured that the user U 1 is subscribed to the data class CD 1 until the date of creation of the personal digital token.
Le serveur de consultation 14 fait confiance aux seules informations du jeton numérique personnel délivré par le serveur d'authentification 12 car il ne peut pas lui-même accéder à l'unité 30 de stockage des historiques d'abonnement des utilisateurs aux différentes classes de données.The consultation server 14 trusts only the information of the personal digital token issued by the authentication server 12 because it can not access itself. the unit 30 for storing user subscription histories for the different classes of data.
La fonction du jeton numérique personnel est d'éviter de submerger de requêtes l'unité de stockage 30. Le serveur de consultation 14 peut éventuellement attribuer une interdiction d'accès à chaque donnée D, d'une classe de données CD(D,) à laquelle l'utilisateur Ui s'est abonné, dont la date d(D,) de modification ou de création est antérieure à la première date di(Ui , CD(D1)) de la période d'abonnement de l'utilisateur U1 à la classe de données CD(D1). Dans ce cas, l'utilisateur n'aura accès qu'aux données créées ou modifiées pendant sa période d'abonnement à la classe de données.The function of the personal digital token is to avoid submitting queries to the storage unit 30. The consultation server 14 can possibly assign a prohibition of access to each data item D, of a data class CD (D,). to which the user Ui subscribed, whose date (D,) of modification or creation is earlier than the first date di (Ui, CD (D 1 )) of the subscription period of the user U 1 to the data class CD (D 1 ). In this case, the user will only have access to data created or modified during his subscription period to the data class.
Par exemple, dans l'exemple décrit, le serveur de consultation 14 peut attribuer une interdiction d'accès à chaque donnée D, de la classe de données CD3 à laquelle l'utilisateur Ui a été abonné, dont la date d(D,) de modification ou de création est antérieure à la première date di(Ui, CD3) de la période d'abonnement de l'utilisateur Ui à la classe de données CD3.For example, in the example described, the consultation server 14 can assign a denial of access to each data item D, of the data class CD 3 to which the user Ui has subscribed, whose date d (D, ) modification or creation is prior to the first date di (Ui, CD 3 ) of the subscription period of the user Ui to the data class CD 3 .
A l'issue de la mise en œuvre de ce procédé de contrôle d'accès, le serveur de consultation 14 est apte à transmettre à l'utilisateur Ui, au cours d'une étape 310, une liste, stockée dans l'unité de stockage 34, d'identifiants I(D,) de données auxquelles l'utilisateur est autorisé à accéder.At the end of the implementation of this access control method, the consultation server 14 is able to transmit to the user Ui, during a step 310, a list, stored in the control unit. storage 34, identifiers I (D,) of data to which the user is authorized to access.
Les données sont stockées dans l'unité 18 de stockage de données sous une forme chiffrée.The data is stored in the data storage unit 18 in encrypted form.
La clé de chiffrement d'une donnée D, d'une classe de données CD(D,) dépend de l'identifiant 1(D1) de la donnée D1 et d'une clé de la classe d'utilisateurs associée à la classe de données CD(D1). La clé de la classe d'utilisateurs est calculée à partir des troisièmes clés K(Uk) de chacun des utilisateurs appartenant à la classe d'utilisateurs à l'instant auquel la donnée a été stockée dans l'unité de stockage 18. La troisième cléThe encryption key of a data D, of a data class CD (D,) depends on the identifier 1 (D 1 ) of the data D 1 and a key of the user class associated with the data class CD (D 1 ). The key of the user class is calculated from the third keys K (U k ) of each of the users belonging to the class of users at the moment at which the data has been stored in the storage unit 18. third key
K(Uk) d'un utilisateur Uk dépend de l'identifiant l(Uk) de l'utilisateur et d'une clé racine commune à tous les utilisateurs. La clé racine est gardée en mémoire par le serveur de chiffrement 16 qui en a besoin pour calculer les troisièmes clés K(Uk) des utilisateurs.K (U k ) of a user U k depends on the identifier l (U k ) of the user and a root key common to all users. The root key is kept in memory by the encryption server 16 which needs it to calculate the third keys K (U k ) of the users.
Ainsi, chaque donnée stockée dans l'unité de stockage 18 de la base de données 10 est chiffrée au moyen d'une clé qui lui est propre.Thus, each piece of data stored in the storage unit 18 of the database 10 is encrypted by means of a key of its own.
Les données stockées dans l'unité de stockage 18 de la base de données 10 sont repérées par un index distinct de l'identifiant I(D,) de la donnée D,, cet index étant calculé à partir de la clé de chiffrement de la donnée. Par exemple, l'index est l'identifiant 1(D1) de la donnée D, chiffré par la clé de chiffrement. Le procédé de téléchargement d'une donnée chargée dans la base de données est décrit par la suite en référence à la figure 4.The data stored in the storage unit 18 of the database 10 are identified by an index distinct from the identifier I (D,) of the data D, this index being calculated from the encryption key of the database. given. For example, the index is the identifier 1 (D 1 ) of the data D, encrypted by the encryption key. The method of downloading data loaded into the database is described below with reference to FIG. 4.
Grâce au procédé de contrôle d'accès précédemment décrit, l'utilisateur Ui a obtenu une liste des identifiants I(D,) des données D, auxquelles lui a été attribué une autorisation d'accès.Using the access control method described above, the user Ui has obtained a list of identifiers I (D,) D data, which has been granted access authorization.
Au cours d'une étape 400, l'utilisateur Ui sélectionne puis transmet au serveur de chiffrement 16 son jeton numérique personnel, l'identifiant 1(D1) de la donnée D1 que l'utilisateur U1 souhaite télécharger et la classe de données CD(D1) à laquelle appartient cette donnée. Ces trois éléments sont signés avec la clé privée de signature de l'utilisateur U1.During a step 400, the user Ui selects and then transmits to the encryption server 16 his personal digital token, the identifier 1 (D 1 ) of the data D 1 that the user U 1 wants to download and the class of data CD (D 1 ) to which this data belongs. These three elements are signed with the signature private key of the user U 1 .
Au cours d'une étape 402, le serveur de chiffrement 16 vérifie la signature au moyen de la clé publique de signature de l'utilisateur U1.During a step 402, the encryption server 16 verifies the signature by means of the public signature key of the user U 1 .
Au cours d'une étape 404 suivante, le serveur de chiffrement 16 récupère auprès de l'unité de stockage 30, les identifiants l(Uk) de chacun des utilisateurs qui, à la date du chargement de la donnée dans la base 10, étaient abonnés à la classe de données CD(D1) dont fait partie la donnée D1.During a next step 404, the encryption server 16 retrieves from the storage unit 30, the identifiers I (U k ) of each of the users who, on the date of loading the data in the database 10, subscribed to the data class CD (D 1 ) of which data D 1 belongs.
Au cours d'une étape 406, le serveur de chiffrement 16 calcule la clé de chiffrement de la donnée D1 à partir de l'identifiant 1(D1) de la donnée D1, des identifiants l(Uk) associés à chacun des utilisateurs, et de la clé racine. La clé de chiffrement de la donnée permet également au serveur de chiffrement 16 de calculer l'index de la donnée.During a step 406, the encryption server 16 calculates the encryption key of the data D 1 from the identifier 1 (D 1 ) of the data D 1 , the identifiers I (U k ) associated with each users, and the root key. The encryption key of the data also allows the encryption server 16 to calculate the index of the data.
Au cours d'une étape 408, le serveur de chiffrement 16 envoie à l'unité de stockage 18 des données, une requête contenant l'index de la donnée à télécharger.During a step 408, the encryption server 16 sends the storage unit 18 data, a query containing the index of the data to download.
Au cours d'une étape 410, l'unité de stockage 18 de données transmet la donnée D1 demandée au serveur de chiffrement 16. Cette donnée D1 est chiffrée au moyen de la clé de chiffrement calculée lors de l'étape 406.During a step 410, the data storage unit 18 transmits the requested data D 1 to the encryption server 16. This data item D 1 is encrypted by means of the encryption key calculated during the step 406.
Au cours d'une étape suivante 412, le serveur de chiffrement 16 chiffre l'ensemble de la donnée chiffrée et de la clé de chiffrement de la donnée au moyen de la clé publique de chiffrement de l'utilisateur U1. Puis, il transmet ceci à l'utilisateur U1 lors d'une étape 414.During a next step 412, the encryption server 16 encrypts all the encrypted data and the encryption key of the data by means of the public encryption key of the user U 1 . Then, it transmits this to the user U 1 during a step 414.
Après réception, l'utilisateur U1 utilise sa clé privée de chiffrement pour récupérer la donnée chiffrée et la clé de chiffrement de la donnée puis déchiffre cette donnée chiffrée au moyen de cette clé de chiffrement.After reception, the user U 1 uses his private encryption key to retrieve the encrypted data and the encryption key of the data then decrypts this encrypted data by means of this encryption key.
L'utilisateur obtient alors la donnée D, qu'il souhaitait télécharger. Le procédé de chargement, par l'utilisateur abonné à une classe de données, d'une donnée D, dans la base de données est décrit en référence à la figure 5. Ce procédé est relativement proche du procédé de téléchargement précédemment décrit puisqu'il consiste à effectuer sensiblement les étapes inverses.The user then obtains the data D, which he wanted to download. The method of loading, by the user subscribing to a data class, a datum D, in the database is described with reference to FIG. This method is relatively close to the download method previously described since it consists in substantially performing the inverse steps.
Au cours d'une première étape 500, l'utilisateur Ui génère une clé temporaire spécifiquement dédiée au chargement de la donnée D, dans la base de données. L'utilisateur chiffre la donnée D1 à charger au moyen de cette clé temporaire et chiffre la clé temporaire au moyen de la clé publique de chiffrement du serveur de chiffrement 16.During a first step 500, the user Ui generates a temporary key specifically dedicated to the loading of the data D in the database. The user encrypts the data D 1 to be loaded by means of this temporary key and encrypts the temporary key by means of the public encryption key of the encryption server 16.
Au cours d'une étape suivante 502, l'utilisateur transmet la donnée chiffrée avec la clé temporaire et la clé temporaire chiffrée avec la clé publique de chiffrement du serveur de chiffrement au serveur de chiffrement 16. L'utilisateur U1 transmet également au serveur de chiffrement 16 la classe de données à laquelle il est abonné et à laquelle doit être rattachée la donnée à charger dans la base de données.In a next step 502, the user transmits the encrypted data with the temporary key and the temporary key encrypted with the encryption public key of the encryption server to the encryption server 16. The user U 1 also transmits to the server the class of data to which it is subscribed and to which the data item to be loaded in the database must be attached.
Si l'utilisateur n'est abonné qu'à une seule classe de données, alors, il est évident que la donnée doit être rattachée à cette classe de données.If the user subscribes to only one class of data, then it is obvious that the data must be attached to this class of data.
Au cours d'une étape 504 suivante, le serveur de chiffrement 16 obtient la clé temporaire et déchiffre la donnée à charger dans l'unité de stockage 18. Il génère ensuite aléatoirement un identifiant 1(D1) de la donnée qu'il transmet au serveur de consultation 14.During a next step 504, the encryption server 16 obtains the temporary key and decrypts the data to be loaded in the storage unit 18. It then randomly generates an identifier 1 (D 1 ) of the data it transmits. to the consultation server 14.
Le serveur de chiffrement calcule ensuite une clé associée à la classe d'utilisateurs à laquelle appartient l'utilisateur, cette clé étant fonction de chacun des utilisateurs de la classe.The encryption server then calculates a key associated with the user class to which the user belongs, this key being a function of each of the users of the class.
Pour cela, le serveur de chiffrement 16 émet, au cours d'une étape 506, une requête à l'attention de l'unité 30 de stockage de façon à connaître la liste des utilisateurs abonnés à la classe de données. Cette liste est transmise au serveur de chiffrement 16 au cours d'une étape 508. Au cours d'une étape 510, le serveur de chiffrement 16 calcule, pour chaque utilisateur abonné à cette classe, la troisième clé K(Uk) associée à l'utilisateur qui dépend de l'identifiant l(Uk) de l'utilisateur et de la clé racine commune à tous les utilisateurs. Le serveur 16 calcule ensuite la clé associée à la classe de données qui est fonction de chacun des utilisateurs abonnés à la classe. Enfin, le serveur de chiffrement 16 calcule la clé de chiffrement de la donnée en fonction de l'identifiant 1(D1) de la donnée et de la clé associée à la classe de données précédemment calculée.For this, the encryption server 16 transmits, during a step 506, a request to the storage unit 30 so as to know the list of users subscribed to the data class. This list is transmitted to the encryption server 16 during a step 508. During a step 510, the encryption server 16 calculates, for each user subscribed to this class, the third key K (U k ) associated with the user who depends on the identifier l (U k ) of the user and the root key common to all users. The server 16 then calculates the key associated with the data class which is a function of each of the users subscribed to the class. Finally, the encryption server 16 calculates the encryption key of the data according to the identifier 1 (D 1 ) of the data and the key associated with the previously calculated data class.
Au cours de l'étape 510, le serveur de chiffrement 16 chiffre la donnée D, au moyen de la clé de chiffrement de la donnée et charge cette donnée chiffrée dans l'unité de stockage 18 au cours d'une étape 512. La donnée chargée dans l'unité de stockage 18 est repérée par un index calculé à partir de la clé de chiffrement de la donnée. In step 510, the encryption server 16 encrypts the data D by means of the encryption key of the data and loads this encrypted data into the storage unit 18 during a step 512. loaded in the storage unit 18 is identified by an index calculated from the encryption key of the data.

Claims

REVENDICATIONS
1. Procédé de contrôle d'accès d'un utilisateur (Uk) à des données (D1) stockées dans au moins une base de données (10), du type comprenant une étape d'attribution d'autorisation et/ou d'interdiction d'accès à des données (D1) de la base (10), caractérisé en ce que pour chaque donnée (D,), l'attribution d'autorisation et/ou d'interdiction dépend d'une date (d(D,)) associée à la donnée (D1), ladite date étant une date de création ou de modification de ladite donnée.A method for controlling a user's access (U k ) to data (D 1 ) stored in at least one database (10), of the type comprising an authorization assignment step and / or prohibition of access to data (D 1 ) of the base (10), characterized in that for each datum (D,), the allocation of authorization and / or prohibition depends on a date (d (D,)) associated with the data item (D 1 ), said date being a date of creation or modification of said data item.
2. Procédé selon la revendication 1 , dans lequel l'attribution d'autorisation et/ou d'interdiction dépend en outre d'au moins une date (d^Uk, CD(D1)), d2(Uk, CD(D1))) associée à l'utilisateur (Uk).2. The method according to claim 1, in which the granting of authorization and / or prohibition also depends on at least one date (d U k , CD (D 1 )), d 2 (U k , CD (D 1 ))) associated with the user (U k ).
3. Procédé selon la revendication 2, comprenant une étape de comparaison de la date (d(D,)) associée à la donnée et de la date (di(Uk,CD(D,)), d2(Uk,CD(Dι))) associée à l'utilisateur (Uk). 3. Method according to claim 2, comprising a step of comparing the date (d (D,)) associated with the datum and the date (di (U k , CD (D,)), d 2 (U k , CD (Dι))) associated with the user (U k ).
4. Procédé selon la revendication 2 ou 3, dans lequel l'attribution d'autorisation et/ou d'interdiction dépend de première (di(Uk,CD(D,))) et seconde (d2(Uk,CD(D,))) dates associées à l'utilisateur (Uk) et définissant une période d'abonnement de l'utilisateur (Uk) à une classe de données (CD(D1)) dont fait partie la donnée (D1), la première date (di(Uk,CD(D,))) étant antérieure à la seconde date (d2(Uk,CD(D,))). 4. Method according to claim 2 or 3, wherein the allocation of authorization and / or prohibition depends on first (di (U k , CD (D,))) and second (d 2 (U k , CD (D,))) dates associated with the user (U k ) and defining a subscription period of the user (U k ) to a data class (CD (D 1 )) to which the data (D 1 ), the first date (di (U k , CD (D,))) being earlier than the second date (d 2 (U k , CD (D,))).
5. Procédé selon la revendication 4, dans lequel l'utilisateur (Uk) est susceptible de s'abonner durant une période d'abonnement à différentes classes de données (CDj), et dans lequel le procédé comprend une étape de consultation d'un historique (HUk) d'abonnement de l'utilisateur (Uk) aux classes de données (CDj), l'historique (HUk) comprenant, pour chaque classe de données (CDj), deux dates (di(Uk,CDj), d2(Uk,CDj)) définissant la période d'abonnement de l'utilisateur (Uk) à la classe de données (CDj).5. Method according to claim 4, wherein the user (U k ) is able to subscribe during a subscription period to different data classes (CD j ), and wherein the method comprises a consultation step d a history (H Uk ) of the user's subscription (U k ) to the data classes (CD j ), the history (H Uk ) comprising, for each data class (CD j ), two dates (di (U k , CD j ), d 2 (U k , CD j )) defining the subscription period of the user (U k ) to the data class (CD j ).
6. Procédé selon la revendication 5, dans lequel l'étape d'attribution est telle qu'une autorisation d'accès est attribuée à chaque donnée (D1) d'une classe de données (CDj) à laquelle l'utilisateur (Uk) s'est abonné, dont la date (Cl(D1)) de modification ou de création est antérieure à la seconde date (d2(Uk,CDj)) de la période d'abonnement de l'utilisateur (Uk) à la classe de données (CDj).The method of claim 5, wherein the assigning step is such that access permission is assigned to each data item (D 1 ) of a data class (CD j ) to which the user ( U k ) has subscribed, whose date (Cl (D 1 )) of modification or creation is earlier than the second date (d 2 (U k , CD j )) of the subscription period of the user (U k ) to the data class (CD j ).
7. Procédé selon la revendication 6, dans lequel l'étape d'attribution est telle qu'une interdiction d'accès est attribuée à chaque donnée (D,) d'une classe de données (CDj) à laquelle l'utilisateur (Uk) s'est abonné, dont la date (Cl(D1)) de modification ou de création est antérieure à la première date (di(Uk,CDj)) de la période d'abonnement de l'utilisateur (Uk) à la classe de données (CDj). The method of claim 6, wherein the assigning step is such that access prohibition is assigned to each data (D,) of a data class (CD j ) to which the user ( U k ) has subscribed, whose date (Cl (D 1 )) of modification or creation is earlier than the first date (di (U k , CD j )) of the subscription period of the user ( U k ) to the data class (CD j ).
8. Procédé d'utilisation d'une base de données (10), du type comprenant un procédé de chargement de données (D,) dans la base de données (10), un procédé de contrôle d'accès à des données (D1) de la base de données (10), et un procédé de téléchargement de données (D,) de la base de données (10), caractérisé en ce que le procédé de contrôle d'accès est selon l'une quelconque des revendications précédentes.8. A method of using a database (10), of the type comprising a data loading method (D,) in the database (10), a method for controlling access to data (D) 1 ) of the database (10), and a method for downloading data (D,) from the database (10), characterized in that the access control method is according to any one of the claims preceding.
9. Procédé d'utilisation selon la revendication 8, dans lequel le procédé de contrôle d'accès est selon l'une quelconque des revendications 4 à 7 et dans lequel le procédé de chargement, par un utilisateur (Uk), d'une donnée (D1) dans une classe de données (CDj) de la base de données (10) comprend les étapes suivantes : - génération (504) aléatoire d'un identifiant (1(D1)) de la donnée (D1),9. The method of use according to claim 8, wherein the access control method is according to any one of claims 4 to 7 and wherein the method of loading, by a user (U k ), a data (D 1 ) in a data class (CD j ) of the database (10) comprises the following steps: - random generation (504) of an identifier (1 (D 1 )) of the data item (D 1 )
- calcul d'une première clé associée aux utilisateurs (Uk) abonnés à la classe de données (CDj) à l'instant du chargement, calcul (510) d'une clé de chiffrement de la donnée (D,) fonction de l'identifiant (1(D1)) de la donnée (D1) et de la première clé, - chiffrement (510) de la donnée (D,) au moyen de la clé de chiffrement de la donnée (D1), chargement (512) de la donnée chiffrée dans la classe de données (CDj) de la base (10).calculating a first key associated with the users (U k ) subscribed to the data class (CD j ) at the moment of loading, calculating (510) a data encryption key (D,) function of the identifier (1 (D 1 )) of the datum (D 1 ) and the first key, - encryption (510) of the datum (D,) by means of the encryption key of the datum (D 1 ), loading (512) the encrypted data into the data class (CD j ) of the base (10).
10. Procédé d'utilisation selon la revendication 9, dans lequel le calcul de la première clé est effectué en calculant, pour chaque utilisateur (Uk) abonné à la classe de données (CDj), une clé (K(Uk)) qui dépend d'un identifiant (l(Uk)) de l'utilisateur (Uk) et d'une clé racine commune à tous les utilisateurs (Uk).10. The method of use according to claim 9, wherein the calculation of the first key is performed by calculating, for each user (U k ) subscribed to the data class (CD j ), a key (K (U k )). ) which depends on an identifier (l (U k )) of the user (U k ) and a root key common to all users (U k ).
1 1. Procédé d'utilisation selon la revendication 10, dans lequel le procédé de chargement comprend en outre les étapes suivantes : - stockage, dans un serveur (14) de consultation de données (D1), de l'identifiant (1(D1)) de la donnée (D1), calcul, pour la donnée chiffrée, d'un index fonction de la clé de chiffrement de la donnée (D1), et dans lequel, lors du chargement de la donnée chiffrée dans la classe de données (CDj) de la base (10), la donnée est associée à l'index.1 1. A method of using according to claim 10, wherein the charging method further comprises the steps of: - storing in a server (14) consulting data (D 1) of the identifier (1 ( D 1 )) of the data item (D 1 ), calculation, for the encrypted data, of an index based on the data encryption key (D 1 ), and in which, when the encrypted data is loaded into the data class (CD j ) of the base (10), the data is associated with the index.
12. Procédé d'utilisation selon la revendication 1 1 , dans lequel le procédé de téléchargement par un utilisateur (Uk) d'une donnée d'une classe de données (CDj) de la base (10) comprend les étapes suivantes : sélection (400) auprès du serveur (14) de consultation de données de l'identifiant (1(D1)) de la donnée (D1) à télécharger pour laquelle a été attribuée une autorisation d'accès lors de la mise en œuvre du procédé de contrôle d'accès,12. The method of use according to claim 1 1, wherein the method of downloading by a user (U k ) of a data of a data class (CD j ) of the base (10) comprises the following steps: selecting (400) from the data access server (14) of the identifier (1 (D 1 )) of the data (D 1 ) to be downloaded for which has been assigned an access authorization when implementing the access control method,
- calcul (406) de la clé de chiffrement de la donnée (D1) à partir : o de l'identifiant (1(D,)) de la donnée (D,), o des identifiants (l(Uk)) associés à chacun des utilisateurs (Uk) qui, à la date du chargement de la donnée (D,) dans la base (10), étaient abonnés à la classe de données (CD(D1)) dont fait partie la donnée (D1), et o de la clé racine, - calcul de l'index de la donnée (D1) à partir de la clé de chiffrement de la donnée (D1),calculation (406) of the data encryption key (D 1 ) from: o the identifier (1 (D,)) of the data item (D,), o identifiers (l (U k )) associated with each of the users (U k ) which, at the date of loading the data (D,) into the database (10), were subscribed to the data class (CD (D 1 )) to which the data belongs ( D 1 ), and o of the root key, - calculating the index of the data item (D 1 ) from the data encryption key (D 1 ),
- recherche (408, 410) de la donnée chiffrée dans la base grâce à l'index, déchiffrement de la donnée chiffrée au moyen de la clé de chiffrement.- Search (408, 410) of the encrypted data in the database through the index, decryption of the encrypted data by means of the encryption key.
13. Installation (8) pour l'utilisation d'une base de données (10), caractérisée en ce qu'elle comprend des moyens pour la mise en œuvre d'un procédé d'utilisation selon l'une quelconque des revendications 8 à 12.13. Installation (8) for the use of a database (10), characterized in that it comprises means for the implementation of a method of use according to any one of claims 8 to 12.
14. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour l'exécution d'un procédé d'utilisation selon l'une quelconque des revendications 8 à 12. 14. Computer program, characterized in that it comprises instructions for the execution of a method of use according to any one of claims 8 to 12.
15. Base de données (10), caractérisée en ce qu'elle fait partie d'une installation selon la revendication 13. 15. Database (10), characterized in that it forms part of an installation according to claim 13.
PCT/FR2007/050857 2006-03-22 2007-02-28 Method for access control, method for using a database, installation, computer program and database WO2007107658A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0602500 2006-03-22
FR0602500 2006-03-22

Publications (1)

Publication Number Publication Date
WO2007107658A1 true WO2007107658A1 (en) 2007-09-27

Family

ID=36939232

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/050857 WO2007107658A1 (en) 2006-03-22 2007-02-28 Method for access control, method for using a database, installation, computer program and database

Country Status (1)

Country Link
WO (1) WO2007107658A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679980A1 (en) * 1994-04-25 1995-11-02 International Business Machines Corporation Method and apparatus enabling software trial with computer-dependent identification
US20010037379A1 (en) * 2000-03-31 2001-11-01 Noam Livnat System and method for secure storage of information and grant of controlled access to same
US20040015445A1 (en) * 2002-07-16 2004-01-22 John Heaven Content distribution system and method
EP1528455A1 (en) * 2003-10-31 2005-05-04 Adobe Systems Incorporated Offline access in a document control system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0679980A1 (en) * 1994-04-25 1995-11-02 International Business Machines Corporation Method and apparatus enabling software trial with computer-dependent identification
US20010037379A1 (en) * 2000-03-31 2001-11-01 Noam Livnat System and method for secure storage of information and grant of controlled access to same
US20040015445A1 (en) * 2002-07-16 2004-01-22 John Heaven Content distribution system and method
EP1528455A1 (en) * 2003-10-31 2005-05-04 Adobe Systems Incorporated Offline access in a document control system

Similar Documents

Publication Publication Date Title
US11431835B2 (en) Method of enabling digital music content to be downloaded to and used on a portable wireless computing device
EP3547202B1 (en) Method for access to anonymised data
EP3547203B1 (en) Method and system for managing access to personal data by means of an intelligent contract
EP2884716B1 (en) Token-based authentication mechanism
US9491215B2 (en) Electronic media distribution system
KR101238490B1 (en) Binding content licenses to portable storage devices
EP2294776B1 (en) Method and system for user access to at least one service offered by at least one other user
EP2494489A1 (en) Method and client agent for monitoring the use of protected content
EP3357212A1 (en) Improved method and device for authentication
EP3185465A1 (en) A method for encrypting data and a method for decrypting data
US20090025061A1 (en) Conditional peer-to-peer trust in the absence of certificates pertaining to mutually trusted entities
WO2013105863A1 (en) System and method related to drm
WO2007107658A1 (en) Method for access control, method for using a database, installation, computer program and database
FR3073998B1 (en) DIGITAL METHOD FOR CONTROLLING ACCESS TO AN OBJECT, A RESOURCE OR SERVICE BY A USER
EP2071799B1 (en) Method and server for accessing an electronic strongbox via several entities
WO2008084154A2 (en) Processing of data associated with a digital service
EP2284756A2 (en) Method for managing digital content, management unit and rendering device
EP2911365A1 (en) Method and system for protecting transactions offered by a plurality of services between a mobile device of a user and an acceptance point
WO2006056667A1 (en) Public key certificate for the transfer of confidential information
WO2008135692A1 (en) Access management to resources of an exploitation system
WO2013045793A1 (en) Method of distributing contents, device for obtaining and computer program corresponding thereto

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07731674

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07731674

Country of ref document: EP

Kind code of ref document: A1