Authentication method and system by garbled circuit
AssigneeSafran Identity & Security
InventorsHerve CHABANNE, Constance MOREL
Life of this patent
Estimating the term…
Abstract
the invention proposes a method and an associated system for authenticating a user, by means of the redundancy present between several images of a video, the method using garbled circuits, named variant garbled circuits, associated with the alternative bits between the images of the video and a garbled circuit named invariant garbled circuit, associated with the invariant bits between the images of the video, so that the invariant garbled circuit only needs to be evaluated a single time.
Claims15
A method for authenticating a user applied by means of the system comprising:
- a first client unit comprising a memory in which is stored a reference biometric datum (b),
- a second client unit comprising means for acquiring at least one test biometric datum (b′), and
- a server, configured for generating garbled circuits (GC) for evaluating functions, each garbled circuit (GC) having as inputs a set of encryption keys of input data bits of the function to be evaluated and as an output the encryption keys corresponding to the bits of the result of the evaluated function, and wherein the steps for calculating the function are broken down into the form of elementary logical operations, each garbled circuit further comprising a set of encoding keys of each of the possible inputs and outputs of each elementary logic operation,
- the method comprising the comparison of a number C of test data (b′1, . . . , b′C) acquired on the user by the second client unit with the reference datum, said comparison comprising the calculation, by means of garbled circuits, of a distance between the reference datum (b) and each test datum (b′1, . . . , b′C),
- wherein the comparison comprises the application of the following steps:
- (E3, F3) from a set S comprising indices of the test data (b′1, . . . , b′C), such that the value of the bit of each test datum associated with an index of the set S is invariant on the whole of the C test data (b′1, . . . , b′C), the server breaks down the function to be evaluated into:
- a sub-function fS which comprises all the logical operations for which the output exclusively depends on input bits for which the index belongs to said set S and generates for the evaluation of this sub-function fS a single garbled circuit (GCS) a garbled circuit, named invariant garbled circuit,
- a sub-function fS which comprises all the logical operations of the function f non-evaluated by the sub-function fS and generates, for each of the C test data (b′1, . . . , b′C), a garbled circuit, named variant garble circuit (GC1S, . . . , GCCS), for evaluation of the sub-function fS,
- (E4, F4) the server randomly generates encoding keys (kS, k1S, . . . , kCS) for the single invariant garbled circuit (GCS) and for the C variant garbled circuits (GC1S, . . . , GCCS),
- (E5, F5) the server sends the garbled circuits (GCS, GC1S, . . . , GCCS) to one of the client units,
- (E6, F6) both client units recover from the server by oblivious transfer (OT):
- encoding keys (kb, kb′) corresponding to the values of the input bits of the function (f) to be evaluated depending on the reference data (b) and on the C test data (b′) respectively at their disposal, the first client unit recovering a set of keys (kb) relative to the reference biometric datum (b) and the second client unit recovering a set of keys (kb′) comprising a key for each bit associated with an index belonging to the set S and C keys for each bit associated with an index not belonging to S, and
- (E7, F7) the client unit having received the garbled circuits recovers the encoding keys (kb, kb′) from the other client unit, and (E8, F8) evaluates the function (f) for each of the C test data, with as inputs the recovered keys, by executing the garbled circuits (GCS, GC1S, . . . , GCCS)
- (E9, F9) depending on said evaluations of f, either authentication or not of the user or of the object.
A server, comprising a calculator adapted for generating garbled circuits (GC) for evaluating a function (f) comprising the comparison of a reference datum with a plurality C of test data,
- the server being wherein it is adapted for, from a set S comprising indices of test data, such that the value of the bit of each test datum associated with an index of the set S is invariant on whole of the C test data (b′1, . . . , b′C), breaking down the function (f) to be evaluated into:
- a sub-function fS which comprises all the logical operations for which the output exclusively depends on the input bits for which the index belongs to said set S, and
- a sub-function fS which comprises all the logical operations of the function f non-evaluated by the sub-function fS,
- and for generating a single garbled (GCS) circuit, named invariant garbled circuit, for evaluation of the sub-function fS, and for each of the C test data (b′1, . . . , b′C), a garbled circuit (GC1S, . . . , GCCS), named variant garbled circuit, for evaluating the sub-function fS.
A computer program product, comprising code instructions for applying a method comprising the generation of garbled circuits (GC) for evaluation of a function (f) comprising the comparison of a reference datum with a plurality C of test data (b′1, . . . , b′C), said generation comprising:
- from a set S comprising indices of the test data, such that the value of the bit of each test datum (b′1, . . . , b′C) associated with an index of the set S is invariant on all the C test data (b′1, . . . , b′C), the breaking down of the function (f) to be evaluated into:
- a sub-function fS which comprises all the logical operations for which the output exclusively depends on input bits for which the index belongs to said set S, and
- a sub-function fS which comprises all the logical operations of the non-evaluated function f by the sub-function fS,
- and the generation:
- of a single garbled circuit (GCS), named invariant garbled circuit for evaluating the sub-function fS, and,
- for each of the C test data (b′1, . . . , b′C), of a garbled circuit (GC1S, . . . , GCCS), named variant garbled circuit, for evaluation of the sub-function fS,
- when it is executed by a calculator.
Dependencies are inferred from the claim text.