The present invention generally relates to the field of computer vision and image processing. More particularly, the present invention relates to systems and methods for performing authentication based on de-identified data.
Protected representations are defined as media objects (e.g., images, audio, or video files) that are manipulated to reduce the ability of classifiers to classify them correctly as their original class (e.g., an image of a face with a protected representation will not be recognized with the same confidence as its original identity on an identifying image that may be used to identify a person using face recognition algorithms for instance), also indicated as de-identified data. Generally, de-identified data may be created by manipulating data items with a predefined set of perturbations and/or permutations, for example applying perturbation and/or permutation on an image of a face until it is no longer recognizable by face recognition algorithms. For example, some methods allow swapping of faces, or aligning a face to a generic pose in images in order to enable publication of images while limiting the ability of identifying individuals in the published images, for instance using generative adversarial networks (GANs). In another example, two different images may be blended together until a blended image is created where it is not possible to perform identification of the person appearing in the original image.
Currently there are several methods for de-identification of images, but there is no solution to allow recognition of users based on the de-identified data. Thus, for example, an ATM machine that requires face recognition would have to store an unmodified image data of a user in order to authenticate the user's identity and may not authenticate the user's identity based on a de-identified image data.
There is thus provided, in accordance with some embodiments of the invention, a method of performing identity authentication based on de-identified data, including: receiving, by a processor, at least one data item from a user, creating, by the processor, at least one de-identified data item and a corresponding authentication key, based on the received at least one data item, storing, by the processor, the at least one de-identified data item in a database coupled to the processor, receiving at least one new data item for authentication, retrieving, by the processor, the authentication key corresponding to the user, generating, by the processor, at least one new de-identified data item based on the received at least one new data item, and comparing, by the processor, the at least one new de-identified data item with the stored at least one de-identified data item to authenticate the identity of the user.
In some embodiments, the authentication key may be stored in the database. In some embodiments, the at least one new data item may be received form a user's computerized device. In some embodiments, a computerized neural network may be trained to generate authentication keys capable of modifying a received data item into a de-identified data item that corresponds to a de-identified data item of the same user. In some embodiments, the at least one computerized neural network may be trained on a data set of pairs of original data and de-identified data. In some embodiments, a key generation algorithm may be created to generate one-way authentication keys for future authentication of de-identified data, wherein the key generation algorithm is created by the at least one computerized neural network.
In some embodiments, a transformation function may be applied on the newly received data item, and the result may be sent to a comparing function in order to compare the de-identified data item with the newly received data item transformed according to the authentication key. In some embodiments, a de-identification algorithm that performs at least one of perturbation and permutation may be executed on received data items with a corresponding authentication key. In some embodiments, a recognition function may be applied on the received data items to return a probability of the data items belonging to the same identity. In some embodiments, the authentication key may be re-generated.
There is thus provided, in accordance with some embodiments of the invention, a data authentication system, including: at least one computerized device, including data items for authentication, at least one database, including de-identified data, and a processor, coupled to the at least one computerized device and to the at least one database, wherein the processor is configured to: receive at least one data item from a user, create at least one de-identified data item and a corresponding authentication key, based on the received at least one data item, store the at least one de-identified data item in a database coupled to the processor, receive at least one new data item for authentication, retrieve the authentication key corresponding to the user, generate at least one new de-identified data item based on the received at least one new data item, and compare the at least one new de-identified data item with the stored at least one de-identified data item to authenticate the identity of the user.
In some embodiments, the system may further include at least one computerized neural network, coupled to the processor, and configured to analyze the de-identified data from the at least one database. In some embodiments, the at least one computerized neural network may be configured to train a machine learning model that analyzes received data for authentication according to the authentication key. In some embodiments, the authentication key may have a predefined length corresponding to the data item it was generated for. In some embodiments, the system may further include a detector, to detect at least one data item.
In some embodiments, the system may further include an enrollment module to create the de-identified data item, and an authentication module to authenticate identity of new data items. In some embodiments, the enrollment module may include an authentication key generator and a de-identification function, configured to store at least one de-identified data item at the database. In some embodiments, the authentication module may receive the de-identified data item and corresponding authentication key from the database to carry out authentication of a newly received data item. In some embodiments, the authentication key may be re-generated.
The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:
It will be appreciated that, for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components, modules, units and/or circuits have not been described in detail so as not to obscure the invention. Some features or elements described with respect to one embodiment may be combined with features or elements described with respect to other embodiments. For the sake of clarity, discussion of same or similar features or elements may not be repeated.
Although embodiments of the invention are not limited in this regard, discussions utilizing terms such as, for example, “processing”, “computing”, “calculating”, “determining”, “establishing”, “analyzing”, “checking”, or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulates and/or transforms data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information non-transitory storage medium that may store instructions to perform operations and/or processes. Although embodiments of the invention are not limited in this regard, the terms “plurality” and “a plurality” as used herein may include, for example, “multiple” or “two or more”. The terms “plurality” or “a plurality” may be used throughout the specification to describe two or more components, devices, elements, units, parameters, or the like. The term set when used herein may include one or more items. Unless explicitly stated, the method embodiments described herein are not constrained to a particular order or sequence. Additionally, some of the described method embodiments or elements thereof can occur or be performed simultaneously, at the same point in time, or concurrently.
Reference is made to
The operating system 115 may be or may include any code segment (e.g., one similar to executable code 125 described herein) designed and/or configured to perform tasks involving coordinating, scheduling, arbitrating, supervising, controlling or otherwise managing operation of computing device 100, for example, scheduling execution of software programs or enabling software programs or other modules or units to communicate.
Memory 120 may be or may include, for example, a Random Access Memory (RAM), a read only memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a double data rate (DDR) memory chip, a Flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short term memory unit, a long term memory unit, or other suitable memory units or storage units. Memory 120 may be or may include a plurality of, possibly different memory units. Memory 120 may be a computer or processor non-transitory readable medium, or a computer non-transitory storage medium, e.g., a RAM.
Executable code 125 may be any executable code, e.g., an application, a program, a process, task or script. Executable code 125 may be executed by controller 105 possibly under control of operating system 115. For example, executable code 125 may be a software application that performs methods as further described herein. Although, for the sake of clarity, a single item of executable code 125 is shown in
Storage 130 may be or may include, for example, a hard disk drive, a universal serial bus (USB) device or other suitable removable and/or fixed storage unit. In some embodiments, some of the components shown in
Input devices 135 may be or may include a keyboard, a touch screen or pad, one or more sensors or any other or additional suitable input device. Any suitable number of input devices 135 may be operatively connected to computing device 100. Output devices 140 may include one or more displays or monitors and/or any other suitable output devices. Any suitable number of output devices 140 may be operatively connected to computing device 100. Any applicable input/output (I/O) devices may be connected to computing device 100 as shown by blocks 135 and 140. For example, a wired or wireless network interface card (NIC), a universal serial bus (USB) device or external hard drive may be included in input devices 135 and/or output devices 140.
Some embodiments of the invention may include an article such as a computer or processor non-transitory readable medium, or a computer or processor non-transitory storage medium, such as for example a memory, a disk drive, or a USB flash memory, encoding, including or storing instructions, e.g., computer-executable instructions, which, when executed by a processor or controller, carry out methods disclosed herein. For example, an article may include a storage medium such as memory 120, computer-executable instructions such as executable code 125 and a controller such as controller 105. Such a non-transitory computer readable medium may be for example a memory, a disk drive, or a USB flash memory, encoding, including or storing instructions, e.g., computer-executable instructions, which when executed by a processor or controller, carry out methods disclosed herein. The storage medium may include, but is not limited to, any type of disk including, semiconductor devices such as read-only memories (ROMs) and/or random-access memories (RAMs), flash memories, electrically erasable programmable read-only memories (EEPROMs) or any type of media suitable for storing electronic instructions, including programmable storage devices. For example, in some embodiments, memory 120 is a non-transitory machine-readable medium.
A system according to some embodiments of the invention may include components such as, but not limited to, a plurality of central processing units (CPU), GPUs, or any other suitable multi-purpose or specific processors or controllers (e.g., controllers similar to controller 105), a plurality of input units, a plurality of output units, a plurality of memory units, and a plurality of storage units. A system may additionally include other suitable hardware components and/or software components. In some embodiments, a system may include or may be, for example, a personal computer, a desktop computer, a laptop computer, a workstation, a server computer, a network device, or any other suitable computing device.
Reference is now made to
Data authentication system 200 may include a processor 201 and/or server 202 (similar to controller 105 shown in
In some embodiments, the processor 201 and/or server 202 may be coupled to at least one database 205, such that data items 206 received from the at least one computerized device 203 may be authenticated with corresponding analysis of de-identified data from the at least one database 205, as further described hereinafter. In some embodiments, the processor 201 and/or server 202 may further be coupled to at least one computerized neural network 210 configured to analyze the de-identified data from the at least one database 205.
According to some embodiments, the at least one computerized neural network 210 may be configured to train a machine learning model that analyzes received data for authentication according to a dedicated authentication key 207.
In some embodiments, the algorithm for generation of the authentication key 207 may be improved during training of the at least one computerized neural network 210. The at least one computerized neural network 210 may be trained on a substantially large data set of pairs of original data and de-identified data. For example, computerized neural network 210 may receive as input a data set of image pairs (e.g., from an external source), with each pair including an original image and its corresponding de-identified image, such that the output of the computerized neural network 210 may be an optimized key generation algorithm configured to generate one-way authentication keys 207 for future authentication of de-identified data. It should be noted that the generation of the authentication keys 207 may be carried out without the possibility to invert the de-identification algorithm applied on the data (e.g., applied on images to prevent identification of users) if the authentication keys 207 do not include instructions or code to identify the identity of the user of the corresponding de-identified data, for instance the authentication keys 207 may be generated as a one-way function.
Reference is now made to
Data authentication system 220 may include two modules to carry out authentication of data items 206 (e.g., of a particular user), an enrollment module 230 to create the de-identified data item and an authentication module 240 to authenticate identity of new data items. The enrollment module 230 may include an authentication key generator 231 and a de-identification function 232 that are configured to store at least one de-identified data item at the database 205, for instance created by a dedicated de-identification algorithm that performs perturbations and/or permutations on received data items with a corresponding authentication key 207 that may be associated with the user.
The authentication module 240 may receive the de-identified data item 241 and corresponding authentication key 207 from the database 205 to carry out authentication of a newly received data item 242. Processor 201 may receive the authentication key 207 (associated with the user) and the newly received data item 242 to a transformation function on the newly received data item 242 and send the result to a comparing function 243 in order to compare the de-identified data item 241 with the newly received data item 242 transformed according to the authentication key 207 associated with the user. In case that the comparison is successful, the identity of the user may be authenticated.
Reference is now made to
The processor 201 and/or the at least one computerized neural network 210 may apply a recognition function as defined in formula 1 below:
f:I×I→[0, 1] (eq. 1)
where ‘I’ indicates the space of all possible data items, such that ‘f’ may receive a pair of data items (xi, xj)∈I×I, and return the probability, as a number between zero and one, of the two data items 206 belonging to the same identity.
The processor 201 may accordingly create 302 at least one de-identified data item (e.g., by a dedicated de-identification algorithm that performs perturbations and/or permutations on the original data item) and a corresponding authentication key 207. For instance, processor 201 and/or the at least one computerized neural network 210 may apply a de-identification function, such as in the enrollment module 230 shown in
r:I→I (eq. 2)
that accepts any data item ‘x’ and returns a corresponding protected representation or de-identified data item ‘r(x)’, for instance ‘r(x)’ may be a de-identification algorithm for a given data sample (e.g., an image).
Each authentication key 207 may have a predefined length (e.g., length ‘n’=1000) corresponding to the data item 206 it was generated for. In some embodiments, the created at least one de-identified data item and corresponding authentication key 207 may be stored 303 at database 205. It should be noted that the original (identifiable) data item, for example an image of the user's face, may not be stored and for instance destroyed in order to prevent any malicious attempt to use that data.
The processor 201 and/or the at least one computerized neural network 210 may apply a key generation function, such as in the enrollment module 230 shown in
k:I×I→r
n (eq. 3)
that generates an authentication key 207 for a pair of original data item ‘x’ and corresponding de-identified data item ‘r(x)’.
When the same user attempts to access the system 200 for authentication, for instance the user's attempting to enter the building of an organization that requires all visitors to be recognized, the processor 201 may again receive 304 at least one new data item for authentication, where the at least one new data item may be different from the previously received 301 data item 206 (e.g., receiving different images of the same user). The system 200 may retrieve 305 the stored 303 authentication key 207 corresponding to the user and accordingly generate 306 a new at least one de-identified data item that should be matchable (e.g., recognized by processor 201) to the stored 303 at least one de-identified data item. The new at least one de-identified data item may be compared 307 (e.g., with a dedicated comparing function such as in authentication module 240 shown in
The processor 201 and/or the at least one computerized neural network 210 may apply a transformation function as defined in formula 4 below:
p:I×r
n
→I (eq. 4)
that receives new data items ‘x’ and corresponding authentication keys ‘k’, such that
f(r(xi),p(xj,kx
In some embodiments, the score of the recognition function ‘f’, given the correct authentication key, may be maintained by the at least one computerized neural network 210 and thereby allowing authentication of new data items where the only input is the new data item for a particular user and the corresponding key.
In some embodiments, only the de-identified data items and/or corresponding authentication keys are stored, such that there is no need to access the de-identification algorithm in order to perform authentication of newly received data items. In some embodiments, only the de-identified data items may be stored by system 200, and the corresponding authentication keys may be provided by the user during the authentication process (e.g., the user may carry the key on a portable storage device).
According to some embodiments, the at least one computerized neural network 210 (e.g., deep neural network) may train a machine learning algorithm to achieve optimal results, for instance where the transformation function ‘p’ may be trained together with the key generation function ‘k’. In some embodiments, the at least one computerized neural network 210 may be trained on a dataset of data item pairs (e.g., pairs of face images), including both pairs for the same identity as well as pairs for different identities. In order to achieve the optimal results, the loss function for training the key generation function ‘k’ and the transformation function ‘p’ may include:
d
1(f(r(xi),p(xj,kx
where d1 is a machine learning function such as a regularization function, a cross entropy function and the like.
According to some embodiments, the de-identification function ‘r’ (e.g., a vector) may not be invertible, for instance given a specific key generation function ‘k’, as defined in formula 7 below:
r=−d
2(s(r(x)),x,kx) (eq. 7)
where ‘s’ may be trained together with the ‘p’ and ‘k’ functions in order to minimize d2(s(r(x)),x), and d2 is also a function (e.g., L2, L1, cross entropy, etc.). The goal of ‘s’ may be to reconstruct the original data item given the appropriate authentication key, such that training with the ‘p’, ‘k’ functions against it makes it hard (e.g., requiring additional tools, such as automated brute force tools, to bypass) to invert the de-identification function ‘r’ given ‘k’.
In some embodiments, the at least one computerized neural network 210 may be trained to also identify human similarity (e.g., as perceived by a human observer) between the transformation function ‘p’ and the de-identification function ‘r’, for instance when face images are involved.
In some embodiments, at least one authentication key 207 may be re-generated with a different content, for instance at a request of the user (e.g., in case of a data leak). In some embodiments, at least one authentication key 207 may be re-generated for specific users, for instance in a predetermined time period, similarly to changing a password (e.g., every six months).
It should be noted that, while face images are given as examples above, the same authentication method may apply to any other data item (e.g., video audio, etc.) as well.
While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.
Various embodiments have been presented. Each of these embodiments may of course include features from other embodiments presented, and embodiments not specifically described may include various features described herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IL2019/050993 | 9/5/2019 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62727155 | Sep 2018 | US |