Method for processing personal data, and associated system and computer program
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- IDEMIA PUBLIC SECURITY FRANCE
- Filing Date
- 2024-06-12
- Publication Date
- 2026-04-22
AI Technical Summary
Existing personal data processing methods for biometric identification, such as those used in customs or airport settings, face challenges in ensuring the privacy of biometric reference databases and are inefficient due to high calculation time and memory requirements, limiting the speed and number of identifications that can be made.
A method utilizing homomorphic encryption allows for the processing of biometric data in the encrypted domain using a homomorphic cryptographic scheme, specifically by determining distances between candidate and reference data through operations on encrypted vectors, optimizing calculations and memory usage by employing a SIMD architecture and specific encryption schemes like Brakerski-Fan-Vercauteren or Cheon-Kim-Kim-Song.
This approach enhances the efficiency of biometric identification by reducing calculation times and memory consumption, ensuring data privacy through encrypted operations, and enabling faster and more numerous identifications while maintaining the security of biometric data.
Smart Images

Figure PCTXMLIB-APPB-M000001 
Figure PCTXMLIB-APPB-M000002 
Figure PCTXMLIB-APPB-M000003
Abstract
Description
Method for processing personal data, associated system and computer program
[0001] The invention relates to a method for processing personal data. The invention also relates to a system and an associated computer program.
[0002] Identification schemes are already known in which a user presents to a trusted processing unit, for example a unit belonging to a customs office, an airport, etc., a newly acquired biometric data item on the user (called candidate biometric data item) which the unit compares with one or more reference biometric data items stored in a database to which it has access.
[0003] This database collects reference biometric data of authorized individuals (such as passengers on a flight before boarding).
[0004] Such a solution is satisfactory, but raises the problem of the confidentiality of the reference biometric database to guarantee the privacy of users.
[0005] To avoid any manipulation of biometric data in plaintext, one can use an encryption of a homomorphic cryptographic scheme and perform the processing on the biometric data (typically distance calculations) in the encrypted domain. A homomorphic cryptographic scheme allows certain mathematical operations to be performed on previously encrypted data instead of the plaintext data. Thus, for a given calculation, it becomes possible to encrypt the data, perform certain calculations associated with said given calculation on the encrypted data, and decrypt them, obtaining the same result as if said given calculation had been performed directly on the plaintext data.
[0006] To limit calculations in the encrypted domain while benefiting from a computer architecture with parallelism capacity, for example a SIMD architecture (abbreviation of "Single Instruction Multiple Data" in Anglo-Saxon terminology), which allows the same operation to be carried out on data, we know a method of processing personal data implemented by a system storing a database homomorphically encrypted personal reference data in the form of reference cryptograms in a group provided with a first operation which is an addition, and a second operation which is a multiplication, the method comprising the determination in the encrypted domain, for each personal reference data item of the base, of a distance between the same candidate personal data item and said personal reference data item, said distance being a scalar product of the candidate personal data item and said personal reference data item. The candidate personal data item and each personal reference data item are vectors of components, and each reference cryptogram is a vector of components, with , And natural integers strictly greater than 1, and a multiple of . For this known method, each reference cryptogram is the image, by an encryption function of a homomorphic cryptographic scheme, of the concatenation of all the components of personal reference data.
[0007] This process determines in the encrypted domain the distances between the candidate personal data and personal reference data with the following steps:a) obtaining an intermediate cryptogram in the form of a vector of pluralities of components, by applying a Hadamard product between a candidate cryptogram and the reference cryptogram associated with the personal reference data, the candidate cryptogram being the image by the encryption function, of the concatenation of iterations of the candidate personal data (i.e. iterations of all components of the candidate personal data),b) obtaining a final cryptogram in the form of a vector of pluralities of components, each component of a plurality of components of the final cryptogram, resulting from the application of the first operation between all the components of the same plurality of components of the intermediate cryptogram.
[0008] However, this solution remains expensive in terms of calculation time and memory space.
[0009] This restriction limits the speed of identification and the number of identifications that can be made in a given time.
[0010] To overcome these drawbacks, the present invention proposes, according to a first aspect, a method for processing personal data implemented by a system storing a database homomorphically encrypted personal reference data in the form of reference cryptograms in a group provided with a first operation and a second operation,- said method comprising the determination in the encrypted domain, for each personal reference data item in the base, of a distance between the same candidate personal data item and said personal reference data item, and- where the first operation is an addition and the second operation is a multiplication,- for any ranging from 1 to , the personal reference data of rank is a vector of components having respective indices ranging from 1 to ,- for everything ranging from 1 to , the rank reference cryptogram is a vector of components having respective indices ranging from 1 to , and- the candidate personal data is a vector of components having respective indices ranging from 1 to ,- with , And natural integers strictly greater than 1, said method being characterized in that:- for any ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram , is the image, by an encryption function of a homomorphic cryptographic scheme, of the concatenation of the index components of each personal reference data having a rank between And ,- for everything ranging from 1 to , the determination in the encrypted domain of the distances between the candidate personal data and each reference personal data having a rank between And , includes:a) for all ranging from 1 to , obtaining an intermediate cryptogram of rank in the form of a vector of components, by applying a Hadamard product between the reference cryptogram of rank and a candidate cryptogram of rank , the candidate cryptogram of rank being the image by the encryption function, of the concatenation of components each having the value of the index component of the candidate's personal data,b) obtaining a final cryptogram of rank in the form of a vector of components, by applying a vector addition between the intermediate cryptograms obtained, - the distance between the candidate personal data and a reference personal data of rank being the antecedent by the encryption function of the index component , of the final cryptogram of rank .
[0011] According to advantageous and non-limiting characteristics: - the method further comprises a step of obtaining the reference cryptograms, during which for all ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram is obtained by applying the encryption function to the concatenation of the components of index j of each personal reference data having a rank between And ;- the data storage module stores the reference cryptograms; - the reference cryptograms constitute the homomorphically encrypted representation of the K personal reference data;- the method further comprises a step of obtaining the candidate cryptograms, during which for any ranging from 1 to , the candidate cryptogram of rank is obtained by applying the encryption function to the concatenation of components each having the value of the index component of the candidate personal data;- the candidate personal data is acquired using an acquisition interface;- the method further comprises a step of decrypting the final cryptograms;- the decryption of each final cryptogram is by applying a decryption function of the homomorphic cryptographic scheme, to the final cryptogram concerned or to the components of said final cryptogram;- the personal data are biometric data, in particular data representing faces;- is a multiple of ;- the homomorphic cryptographic scheme is the Brakerski-Fan-Vercauteren scheme or the Cheon-Kim-Kim-Song scheme;- when the system has parallelism capacity, for example according to a SIMD architecture, allowing the same operation to be carried out on data, preferably has the value if the homomorphic cryptographic scheme is the Brakerski-Fan-Vercauteren scheme, if the homomorphic cryptographic scheme is the Cheon-Kim-Kim-Song scheme.
[0012] According to a second aspect, the invention proposes a computer program comprising instructions executable by a processor and adapted to implement a method for processing personal data as defined previously, when these instructions are executed by the processor.
[0013] This program may use any programming language, and may be in the form of source code, object code, or code intermediate between source code and object code, such as in a partially compiled form, or in any other desirable form.
[0014] According to a third aspect, the invention proposes a non-transitory medium readable by a computer and storing instructions executable by a processor for the execution of a method for processing personal data as defined previously.
[0015] A tangible or non-transitory medium may include a storage medium such as a hard disk drive, a magnetic tape device or a solid-state memory device and the like.
[0016] At least a portion of the methods of the invention may be computer-implemented. Accordingly, the present invention may take the form of an all-hardware embodiment, an all-software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware aspects, all of which may be collectively referred to herein as a "module."
[0017] According to a fourth aspect, the invention proposes a personal data processing system comprising:- a data storage module storing a database homomorphically encrypted personal reference data in the form of reference cryptograms in a group provided with a first operation and a second operation, and- a data processing module configured to determine in the encrypted domain, for each personal reference data item in the database, a distance between the same candidate personal data item and said personal reference data item,where:- the first operation is an addition and the second operation is a multiplication,-for any ranging from 1 to , the personal reference data of rank is a vector of components having respective indices ranging from 1 to ,- for everything ranging from 1 to , the rank reference cryptogram is a vector of components having respective indices ranging from 1 to , and- the candidate personal data is a vector of components having respective indices ranging from 1 to ,- with , And natural integers strictly greater than 1, the system being characterized in that:- for all ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram , is the image, by an encryption function of a homomorphic cryptographic scheme, of the concatenation of the index components of each personal reference data having a rank between And ,- for everything ranging from 1 to , the determination in the encrypted domain, by the data processing module, of the distances between the candidate personal data and each reference personal data having a rank between And , includes:a) for all ranging from 1 to , obtaining an intermediate cryptogram of rank in the form of a vector of components, by applying a Hadamard product between the reference cryptogram of rank and a candidate cryptogram of rank , the candidate cryptogram of rank being the image by the encryption function, of the concatenation of components each having the value of the index component of the candidate's personal data,b) obtaining a final cryptogram of rank in the form of a vector of components, by applying a vector addition between the intermediate cryptograms obtained, - the distance between the candidate personal data and a reference personal data of rank being the antecedent by the encryption function of the index component , of the final cryptogram of rank .
[0018] This personal data processing system may further comprise an acquisition interface configured to acquire the candidate personal data.
[0019] According to one implementation mode, the personal data is biometric data and the system comprises a biometric acquisition means for obtaining the candidate personal data.
[0020] Preferably, the data processing module is provided with parallelism capacity, for example the data processing module is according to a SIMD architecture, allowing the same operation to be carried out on data.
[0021] According to one implementation mode, when the homomorphic cryptographic scheme is the Brakerski-Fan-Vercauteren scheme, And preferably have the same value, when the homomorphic cryptographic scheme is the Cheon-Kim-Kim-Song scheme, preferably has the value .
[0022] This system can be configured to implement each of the implementation possibilities envisaged for the personal data processing method as defined above.
[0023] Of course, the various features, variants and embodiments of the invention may be combined with each other in various combinations to the extent that they are not incompatible or mutually exclusive.
[0024] Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended figures which illustrate exemplary embodiments thereof which are not limiting in nature.
[0025] In the figures:
[0026] schematically represents a preferred embodiment of a system for implementing a method according to the invention;
[0027] illustrates the steps of an embodiment of a method for processing personal data, according to the invention.
[0028] With reference to the, a system for processing personal data for the identification of individuals is schematically represented.
[0029] System 1 typically implements an identification of a candidate individual, i.e. compares a candidate personal data (newly acquired on the candidate individual), to all personal reference data from a database, in order to determine the identity of the candidate individual.
[0030] Candidate personal data means personal data intended to be acquired in a controlled and voluntary manner through an acquisition interface, for example using a biometric acquisition means, a user interface or by optical reading.
[0031] Candidate personal data is a vector of components having respective indices ranging from 1 to , with a natural integer strictly greater than 1.
[0032] The base contains personal reference data, with a natural integer strictly greater than 1, and for all ranging from 1 to , the reference personal data of rank in the base, is a vector of components having respective indices ranging from 1 to .
[0033] Personal data means in particular biometric data (and this example will be used in the remainder of this description), but it will be understood that it can be any data specific to an individual on the basis of which a user can be identified, such as alphanumeric data, a signature, etc.
[0034] This system 1 is equipment owned and controlled by an entity with whom identification must be carried out, for example a government entity, customs, a company, etc. In the remainder of this description, the example of an airport will be taken, with system 1 typically aiming to control access for passengers on a flight before they board.
[0035] The system 1 comprises a data processing module 11, that is to say a computer such as for example a processor, a microprocessor, a controller, a microcontroller, an FPGA etc. This computer is configured to execute code instructions to implement certain steps of the personal data processing method which will be presented below.
[0036] Preferably, the data processing module 11 is provided with parallelism capacity, for example the data processing module 11 is according to a SIMD architecture, allowing the same operation to be carried out on data, being a natural integer strictly greater than 1.
[0037] The system 1 also comprises a data storage module 12 (a memory, for example a hard disk or a flash memory) and where appropriate, a user interface 13 (typically a screen and / or a keyboard) and / or biometric acquisition means 14 (see below).
[0038] In the preferred biometric embodiment, the system 1 is capable of generating a so-called candidate biometric data from a biometric trait of an individual. The biometric trait may for example be the shape of the face, one or more fingerprints, or one or more irises of the individual. The extraction of the biometric data is implemented by processing the image of the biometric trait which depends on the nature of the biometric trait. Various image processing operations for extracting biometric data are known to those skilled in the art. By way of non-limiting example, the extraction of the biometric data may comprise an extraction (in particular by a neural network) of a vector representative of particular points, or of a shape of the face in the case where the image is an image of the face of the individual.
[0039] The biometric acquisition means 14 typically consist of an image sensor, for example a digital camera or a digital camera, adapted to acquire at least one image of a biometric trait of an individual, see below.
[0040] Generally speaking, we will always have a candidate personal data item and at least one reference personal data item to compare. If we use alphanumeric personal data, the candidate data item can simply be entered on the user interface 13 or, for example, be obtained by optical reading from an image.
[0041] The data storage module 12 stores a reference personal database, i.e. at least one “expected” personal data item of an authorized individual, for example the passengers checked in for the flight. Each reference personal data item is advantageously data recorded in an identity document of the individual. For example, the personal data item may be the biometric data item obtained from a facial image appearing on an identity document (for example a passport), or from a facial image, at least one fingerprint, or at least one iris of the individual recorded in a radiofrequency chip contained in the document.
[0042] Each personal reference data is stored homomorphically encrypted, i.e., using a homomorphic cryptographic scheme. Any homomorphic cryptographic scheme that meets the required properties may be used, for example, the Brakerski-Fan-Vercauteren (BFV) scheme or the Cheon-Kim-Kim-Song (CKKS) scheme.
[0043] It is assumed that the personal reference database is created in advance. For example, passengers may have presented their identity document in advance.
[0044] Where appropriate, the system 1 may also comprise an enrollment module 20, another user interface 23 (typically a screen and / or a keyboard), and / or other biometric acquisition means 24 and / or a document reader 26 to constitute the personal reference database.
[0045] The enrollment module 20 is another calculator, configured to execute code instructions to implement certain steps of the personal data processing method which will be presented below.
[0046] The information provided about the biometric acquisition means 14 applies to the other biometric acquisition means 24.
[0047] Said other biometric acquisition means 24 make it possible to obtain at least one reference biometric data item.
[0048] Generally, a reference biometric data item is generated by the enrollment module 20 from a biometric trait provided by one of the other biometric acquisition means 24, but the other biometric acquisition means 24 may include their own processing means for extracting the reference biometric data item. Such another biometric acquisition means may, if necessary, encrypt the reference biometric data item on the fly by applying an encryption function of the homomorphic cryptographic scheme in the form of a reference cryptogram (see the method described below).
[0049] Alternatively, the enrollment module 20 may encrypt the reference biometric data by applying an encryption function of the homomorphic cryptographic scheme in the form of a reference cryptogram.
[0050] The document reader 26 is typically an image sensor, such as for example a digital camera or a digital camera, adapted to acquire an image of an identity document (for example a passport), and / or a contact-type or contactless-type communication means (for example NFC, UHF, etc.) adapted to read the content of a chip of an identity document.
[0051] The document reader 26 allows obtaining personal reference data from an individual's identity document.
[0052] If alphanumeric personal data is used, the reference personal data can simply be entered on the other user interface 23 or, for example, be obtained by optical reading from an image.
[0053] The system 1 can be arranged locally (for example in the airport), but can be separated into one or more remote “cloud” type servers hosting the data processing module 11, the data storage module 12 and the enrollment module 20, the data processing module 11 being connected to the biometric acquisition means 14 which must necessarily remain on site (typically at the boarding gate for boarding control). In the example of the, the enrollment module 20 and the data storage module 12 are remote.
[0054] When several remote “cloud” type servers host the data processing module 11, the data storage module 12 and the enrollment module 20, the communication between the servers can be wired or wireless, and uses any communication protocol (Wi-Fi, Bluetooth, etc.).
[0055] The user interface 13 and the biometric acquisition means 14 are connected to the data processing module 11 by any type of connection means, wired or not (Wi-Fi, Bluetooth, Ethernet, USB, etc.).
[0056] The other user interface 23, the other biometric acquisition means 24 and the document reader 26 are connected to the enrollment module 20 by any type of connection means, wired or not (Wi-Fi, Bluetooth, Ethernet, USB, etc.).
[0057] System 1 implements an identification of the individual, that is to say compares the so-called candidate personal data (freshly acquired on the individual in the case of biometric data, or otherwise simply requested from the individual if it is alphanumeric data for example), to all the reference personal data of the said database, in order to determine the identity of the individual.
[0058] The system 1 can finally include access control means (for example an automatic door P in the) controlled according to the result of the identification: if an authorized user is recognized, access is authorized.
[0059] Said biometric acquisition means 14 can be directly mounted on said access control means.
[0060] The biometric acquisition means 14 make it possible to obtain candidate biometric data. Generally, the candidate biometric data is generated by the data processing module 11 from a biometric trait provided by the biometric acquisition means 14, but the biometric acquisition means 14 may comprise their own processing means and for example take the form of an automatic device provided by the control authorities (in the airport) to extract the candidate biometric data. Such a biometric acquisition means may, if necessary, encrypt the candidate biometric data on the fly by applying an encryption function of the homomorphic cryptographic scheme in the form of candidate cryptograms (see the method described below). Thus, the candidate biometric data are also completely protected.
[0061] Alternatively, the data processing module 11 may encrypt the candidate biometric data by applying an encryption function of the homomorphic cryptographic scheme in the form of candidate cryptograms.
[0062] Preferably, the biometric acquisition means 14 are capable of detecting the living, so as to ensure that the candidate biometric data comes from a “real” trait.
[0063] In the case where the biometric acquisition means 14 and the rest of the system are remote, the communication between the two can itself be encrypted.
[0064] Implementing the comparison involves calculating a distance between the data. The distance between the data advantageously includes calculating a scalar product.
[0065] This type of comparison and this type of distance are known to those skilled in the art and will not be described in further detail.
[0066] The individual is identified if the comparison reveals a similarity rate between the candidate personal data and a reference personal data exceeding a certain threshold, the definition of which depends on the type of personal data.
[0067] Illustrates the steps of an embodiment of a method for processing personal data, according to the invention.
[0068] This process is implemented here by system 1 and determines in the encrypted domain, for each personal reference data in a database, a distance between the same candidate personal data and said personal reference data.
[0069] The distance between a candidate personal data and a reference personal data is here the scalar product of the candidate personal data by said reference personal data.
[0070] Candidate personal data is a vector of components having respective indices ranging from 1 to , with a natural integer strictly greater than 1.
[0071] As explained, the personal reference database may have been created in advance.
[0072] System 1 stores a database of personal reference data homomorphically encrypted in the form of reference cryptograms in a group provided with a first operation and a second operation, the first operation being an addition and the second operation being a multiplication, with And natural integers strictly greater than 1.
[0073] Each personal reference data, personal reference data, is therefore stored homomorphically encrypted, typically by the data storage module 12.
[0074] For everything ranging from 1 to , the reference personal data of rank is a vector of components having respective indices ranging from 1 to .
[0075] For everything ranging from 1 to , the reference cryptogram of rank is a vector of components having respective indices ranging from 1 to .
[0076] As we will see, the invention is distinguished in that for all ranging from 1 to , that is to say for everything ranging from 1 to the upper whole part of , and for everything ranging from 1 to , the reference cryptogram of rank , is the image by an encryption function of a homomorphic cryptographic scheme, of the concatenation of the index components of each personal reference data having a rank between And , that is to say the ranks And included.
[0077] Alternatively, the personal reference database may not have been established in advance.
[0078] In this respect, with reference to figure 2, the method can begin with a step (step E102) of obtaining the reference cryptograms , during which for all ranging from 1 to and for everything ranging from 1 to , the reference cryptogram of rank is obtained by applying the encryption function to the concatenation of the components of index j of each personal reference data having a rank between And .
[0079] Typically, the reference cryptogram of rank is calculated as follows: with ENC the encryption function of the homomorphic cryptographic scheme.
[0080] For everything ranging from 1 to , we have: .
[0081] When for a value of , there is no personal reference data having a rank between And , the reference cryptogram of rank is obtained by applying the encryption function to the concatenation of: - the index components of each personal reference data having a rank between And , and- any data having the same format as a personal data component for each of the other ranks between And .
[0082] For example, if there is personal reference data for all ranks between And , but no personal reference data for ranks And , the reference cryptogram of rank is calculated as follows: with ENC the encryption function of the homomorphic cryptographic scheme, any first data having the same format as a personal data component and any second data having the same format as a personal data component.
[0083] This step is typically implemented by the enrollment module 20.
[0084] Thus, this step may further comprise the transmission to the data storage module 12 from the enrollment module 20, reference cryptograms obtained.
[0085] The data storage module 12 stores the reference cryptograms .
[0086] THE reference cryptograms constitute the homomorphically encrypted representation of the personal reference data
[0087] The step (step E102) of obtaining the reference cryptograms may also include obtaining the personal reference data.
[0088] In this case, according to a first advantageous example, each personal reference data item can be obtained from data recorded in an identity document of a reference individual, typically by the document reader 26, from an image of the face appearing on an identity document (for example a passport), or from an image of the face or at least one iris or at least one fingerprint of the individual recorded in a radiofrequency chip contained in the identity document.
[0089] According to a second example, each personal reference data can be obtained by another biometric acquisition means 24, directly from a biometric trait of a reference individual.
[0090] According to a third example, if alphanumeric personal data is used, each personal reference data can simply be entered on the other user interface 23 or for example obtained by optical reading from an image.
[0091] The method itself begins with a step (step E104) of obtaining candidate cryptograms , during which for all ranging from 1 to , a candidate cryptogram of rank is obtained by applying the encryption function to the concatenation of components each having the value of the index component of the candidate's personal data .
[0092] Thus, the candidate cryptogram of rank is the image by the encryption function, of the concatenation of components each having the value of the index component of the candidate's personal data : .
[0093] Typically, the candidate cryptogram of rank is calculated as follows: with ENC the encryption function of the homomorphic cryptographic scheme.
[0094] For all p ranging from 1 to , we have: .
[0095] This step allows the obtaining of candidate cryptograms.
[0096] It is typically implemented by the data processing module 11.
[0097] This step (step E104) of obtaining candidate cryptograms may further include obtaining the candidate personal data.
[0098] In this case, according to a first advantageous example, the candidate personal data can be obtained by a biometric acquisition means 14, directly from a biometric trait of a candidate individual.
[0099] According to a second example, if alphanumeric personal data is used, the candidate personal data can simply be entered on the user interface 13 or, for example, obtained by optical reading from an image.
[0100] The method continues with a step (step E106) of determining in the encrypted domain the distances between the candidate personal data and each personal reference data from the database.
[0101] This step is typically implemented by the data processing module 11.
[0102] During this stage, for all ranging from 1 to system 1 implements a processing of index i (processing T106_i) during which system 1 determines in the encrypted domain the distances between the candidate personal data and each personal reference data having a rank between And .
[0103] The said index treatment (T106_i treatment), includes: a) for all ranging from 1 to , obtaining an intermediate cryptogram of rank in the form of a vector of components, by applying a Hadamard product between the reference cryptogram of rank and a candidate cryptogram of rank ;b) obtaining a final cryptogram of rank in the form of a vector of components, by applying a vector addition between the intermediate cryptograms obtained.
[0104] In other words, during treatment for a given (T106_i treatment) - for all ranging from 1 to and for everything ranging from 1 to : ;- for everything ranging from 1 to : .
[0105] The calculation of a component of an intermediate cryptogram results from the application of the second operation between a component of a reference cryptogram and a component of a candidate cryptogram.
[0106] The calculation of a component of a final cryptogram results from the application of the first operation between components of intermediate cryptograms.
[0107] The step (step E106) of determining in the encrypted domain the distances between the candidate personal data and each personal reference data in the database therefore allows you to obtain final cryptograms.
[0108] The distance between the candidate personal data and a personal reference data of rank is the antecedent by the encryption function of the index component , of the final cryptogram of rank : .
[0109] In other words: with the distance between the candidate personal data and the personal reference data , that is to say here the scalar product of the candidate personal data by said personal reference data .
[0110] Index treatments (T106_i treatment), ranging from 1 to thus determine in the encrypted domain the distances between the candidate personal data and each personal reference data from the database.
[0111] The method makes it possible to limit the calculation times and the memory space consumed by system 1.
[0112] The process only requires application of vector addition between two intermediate cryptograms, that is to say that the application of first operation between components of different vectors, and does not require any application of a rotation to the components of a vector. The method also does not require the application of the first operation between components of the same vector. Finally, the distance between the candidate personal data and a reference personal data of a given rank corresponds to a single and unique final cryptogram component.
[0113] Note that according to one implementation possibility, all index processing (T106_i treatment), ranging from 1 to can be executed sequentially by system 1.
[0114] According to another implementation possibility, several of the index treatments (T106_i treatment), ranging from 1 to , can be executed in parallel by the system 1, for example by means of a processor comprising several cores, each core being configured to execute at least one processing of the plurality, and / or by means of several processors, each processor being configured to execute at least one processing of the plurality.
[0115] The method may further comprise a step (step E108) of decrypting the final cryptograms.
[0116] The decryption of each final cryptogram is by applying a decryption function of the homomorphic cryptographic scheme to the final cryptogram concerned or to the components of said final cryptogram concerned.
[0117] The method thus makes it possible to obtain, for each personal reference data item in the database, a clear distance between the candidate personal data item and said personal reference data item, while limiting the calculation times and the memory space consumed. The distance between the candidate personal data item and a personal reference data item corresponds to only one single final cryptogram component. The method therefore does not decrypt redundant components and / or does not require a selection of the final cryptogram components to be decrypted.
[0118] The method can further continue with a step (step E110) of determining a control result, during which the system 1 determines whether a distance between the candidate personal data and a reference personal data item in the database does not exceed a predetermined threshold.
[0119] Under these conditions, the system 1, typically the data processing module 11, can command in an access control step (step E112), an opening of the gate P, in order to allow the candidate individual to access a secure area.
[0120] This step (step E110) of determining a control result is typically implemented by the data processing module 11.
[0121] In practice, the control result can be a boolean.
[0122] The system 1 can determine the control result from clear distances obtained during the step (step E108) of decrypting the final cryptograms.
[0123] Alternatively, the system 1 may determine the check result directly from components of final cryptograms, operating in the group of the homomorphic cryptographic scheme, i.e. in the encrypted domain. In this case, the step (step E108) of decrypting the final cryptograms may be omitted.
[0124] As already indicated, any homomorphic cryptographic scheme with the required properties can be used, for example the Brakerski-Fan-Vercauteren (BFV) scheme or the Cheon-Kim-Kim-Song (CKKS) scheme.
[0125] When the system has parallelism capabilities, for example using SIMD architecture, allowing the same operation to be performed on data, preferably has the value:- if the homomorphic cryptographic scheme is the Brakerski-Fan-Vercauteren scheme ;- if the homomorphic cryptographic scheme is the Cheon-Kim-Kim-Song scheme, i.e. the lower integer part of .
[0126] The process is thus optimized for the parallelism capacity of the system.
[0127] Furthermore, is preferably a multiple of . In this case, there exists a non-zero integer such that K is equal to the product of this non-zero integer by .
[0128] The time performance of the process is thus optimal, each component of each reference cryptogram being the image by the encryption function of a component of a personal reference data.
[0129] Advantageously, the personal data is biometric data, in particular data representing faces.
[0130] In the above, a particular application of the method has been discussed, in which the result of the control conditions access to a secure area. It is however understood that the method described can be used for other applications.
Claims
Method for processing personal data implemented by a system (1) storing a database homomorphically encrypted personal reference data in the form of reference cryptograms in a group provided with a first operation and a second operation,- said method comprising the determination (E106) in the encrypted domain, for each personal reference data item of the base, of a distance between the same candidate personal data item and said personal reference data item, and- where the first operation is an addition and the second operation is a multiplication,- for any ranging from 1 to , the personal reference data of rank is a vector of components having respective indices ranging from 1 to ,- for everything ranging from 1 to , the rank reference cryptogram is a vector of components having respective indices ranging from 1 to , and- the candidate personal data is a vector of components having respective indices ranging from 1 to ,- with , And natural integers strictly greater than 1, said method being characterized in that:- for any ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram , is the image, by an encryption function of a homomorphic cryptographic scheme, of the concatenation of the index components of each personal reference data having a rank between And ,- for everything ranging from 1 to , the determination in the encrypted domain of the distances between the candidate personal data and each reference personal data having a rank between And , includes:a) for all ranging from 1 to , obtaining an intermediate cryptogram of rank in the form of a vector of components, by applying a Hadamard product between the reference cryptogram of rank and a candidate cryptogram of rank , the candidate cryptogram of rank being the image by the encryption function, of the concatenation of components each having the value of the index component of the candidate's personal data,b) obtaining a final cryptogram of rank in the form of a vector of components, by applying a vector addition between the intermediate cryptograms obtained, - the distance between the candidate personal data and a reference personal data of rank being the antecedent by the encryption function of the index component , of the final cryptogram of rank . Method for processing personal data according to the preceding claim, the method further comprising a step (E102) of obtaining the reference cryptograms, during which for all ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram is obtained by applying the encryption function to the concatenation of the components of index j of each personal reference data having a rank between And . Method for processing personal data according to any one of the preceding claims, the method further comprising a step (E104) of obtaining candidate cryptograms, during which for any ranging from 1 to , the candidate cryptogram of rank is obtained by applying the encryption function to the concatenation of components each having the value of the index component of the candidate's personal data. A method of processing personal data according to any one of the preceding claims, wherein the candidate personal data is acquired using an acquisition interface (13,14). Method for processing personal data according to any one of the preceding claims, the method further comprising a step (E108) of decrypting the final cryptograms. Method for processing personal data according to any one of the preceding claims in which the personal data are biometric data, in particular data representative of faces. Method for processing personal data according to any one of the preceding claims in which is a multiple of . A method of processing personal data according to any one of the preceding claims wherein the homomorphic cryptographic scheme is the Brakerski-Fan-Vercauteren scheme or the Cheon-Kim-Kim-Song scheme. Computer program comprising instructions executable by a processor and adapted to implement a method for processing personal data according to any one of the preceding claims, when these instructions are executed by the processor. Non-transitory computer-readable medium storing instructions executable by a processor for carrying out a method of processing personal data according to any one of claims 7 to 8. System (1) for processing personal data comprising:- a data storage module (12) storing a database homomorphically encrypted personal reference data in the form of reference cryptograms in a group provided with a first operation and a second operation, and- a data processing module (11) configured to determine in the encrypted domain, for each personal reference data item in the base, a distance between the same candidate personal data item and said personal reference data item,where:- the first operation is an addition and the second operation is a multiplication,-for any ranging from 1 to , the personal reference data of rank is a vector of components having respective indices ranging from 1 to ,- for everything ranging from 1 to , the rank reference cryptogram is a vector of components having respective indices ranging from 1 to , and- the candidate personal data is a vector of components having respective indices ranging from 1 to ,- with , And natural integers strictly greater than 1, the system being characterized in that:- for all ranging from 1 to and for everything ranging from 1 to , the rank reference cryptogram , is the image, by an encryption function of a homomorphic cryptographic scheme, of the concatenation of the index components of each personal reference data having a rank between And ,- for everything ranging from 1 to , the determination in the encrypted domain, by the data processing module (11), of the distances between the candidate personal data and each reference personal data having a rank between And , includes:a) for all ranging from 1 to , obtaining an intermediate cryptogram of rank in the form of a vector of components, by applying a Hadamard product between the reference cryptogram of rank and a candidate cryptogram of rank , the candidate cryptogram of rank being the image by the encryption function, of the concatenation of components each having the value of the index component of the candidate's personal data,b) obtaining a final cryptogram of rank in the form of a vector of components, by applying a vector addition between the intermediate cryptograms obtained, - the distance between the candidate personal data and a reference personal data of rank being the antecedent by the encryption function of the index component , of the final cryptogram of rank . System (1) for processing personal data according to the preceding claim further comprising an acquisition interface (13, 14) configured to acquire the candidate personal data.