method of controlling access to a site
The method securely controls access to websites by using an enrollment and control phase with image verification and digital signatures to ensure only authorized individuals can access the site, effectively addressing the inadequacies of existing access control methods.
Patent Information
- Application Number
- FR2023014357
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-18
- Publication Date
- 2025-06-20
- Estimated Expiration
- 2043-12-18
AI Technical Summary
Existing methods for controlling access to websites, such as asking users to confirm they are adults, are inadequate as they do not effectively prevent motivated minors from accessing adult content.
A method involving an enrollment phase where an individual provides enrollment data, including an enrollment image and a reference image from an identity document, which is verified to match the individual and meet access conditions. A hash function is applied to the enrollment image, and the resulting digest is digitally signed and communicated to an enrollment data issuer. During a control phase, a test image and signed proof summary are used to verify access rights by matching the signed proof digest with a hash of the test image, ensuring only authorized individuals access the site.
This method securely controls access to sites by ensuring that only authorized individuals, who have successfully enrolled and been verified during the control phase, can access the site, effectively preventing unauthorized access, including by minors attempting to access adult content.
Smart Images

Figure 00000029_0000 
Figure 00000029_0001 
Figure 00000030_0000
Abstract
Description
Title of the invention: method for controlling access to a site FIELD OF THE INVENTION
[0001] The present invention relates to a method for controlling access to a site. STATE OF THE ART
[0002] Some websites have content or provide services that are not intended for certain categories of users. For example, minors are not intended to access sites with adult content.
[0003] Some adult websites ask users to confirm that they are adults by clicking on a button to do so.
[0004] This protection is not satisfactory, because it does not prevent a motivated minor from accessing adult content by clicking on this button anyway. Statement of the invention
[0005] One aim of the invention is to more securely control access to a site to which only a category of persons has the right to access.
[0006] This aim is achieved by a first method of controlling access to a site or by a second method of controlling access to a site constituting an alternative to the first method. Both methods are implemented by computer.
[0007] The first method comprises: • an enrollment phase including stages of: • obtaining enrollment data including: • an enrollment image showing an individual to be enrolled, • a reference image showing: • a photograph found on an identity document, the photograph showing a reference individual, • information found on the identity document and relating to the reference individual, • verification of a correspondence between the individual to be enrolled and the reference individual from the enrollment image and the reference image, • analysis of the information shown in the reference image, so as to determine whether or not the information meets a condition for accessing the site, • applying a hash function to the enrollment image so as to produce an enrollment digest, • digitally signing the enrollment digest using a private key, so as to produce a signed enrollment digest, • implementation of measures for communication of the signed enrollment digest to an enrollment data issuer, • in which at least one step among the application of the hash function, the digital signature and the implementation of the measures is carried out only if the following conditions are met: • the verification reveals that the individual to be enrolled and the reference individual match, and • the analysis reveals that the information meets the condition of access to the site, • a control phase comprising stages of: • obtaining test data including: • a test image showing an individual to be tested, and • a signed proof summary, • using a public key forming an asymmetric key pair with the private key, signature verification of the signed proof digest, • applying the hash function to the proof image so as to produce another proof digest, • verification of a correspondence between the signed proof digest and the other proof digest, • generation of a control result indicating that: • a proof data issuer has the right to access the site, only if the following conditions are met: • signature verification reveals that the signed proof digest was signed with the private key, • the correspondence check reveals that the signed proof digest and the other proof digest match, • the issuer of the test data does not have the right to access the site otherwise.
[0008] In the first method, the signed enrollment digest constitutes proof that the individual to be enrolled satisfies the condition of access to the site. In particular, the fact that this digest has been signed by a private key makes it possible to certify that this digest was indeed produced during the enrollment phase, by an approved trusted authority.
[0009] If the individual to be controlled during the control phase (shown in the test image) is an individual who has previously been enrolled during the enrollment phase, this implies that this individual normally has a signed enrollment hash generated from an image that shows this same individual (the enrollment image). This individual can then provide their signed enrollment hash as a signed challenge hash. Since the control phase reuses the same hash function as the one used during the enrollment phase, as well as a public key that forms an asymmetric key pair with the private key used to sign the enrollment hash, it can be deduced that the signed challenge hash is the signed enrollment hash. Thus, a user who has successfully passed the enrollment phase is logically granted access to the site. It is difficult for an attacker who does not meet the access condition to fool the proposed method.In fact, the attacker must successfully pass the enrollment phase and the control phase, which involves getting hold of the identity document of a third party who meets the access condition and also finding a photograph of the same third party.
[0010] An advantage of the first proposed method lies in the fact that the identity document is only used in the enrollment phase and not in the control phase. This separation allows the method to be implemented without the identity document being provided to the entity that carried out the control phase. Furthermore, the identity document is only used once at enrollment; the control phase can then be carried out several times for the same user to be controlled, without the latter having to provide his identity document. In fact, the enrollment image is used in the first method as a sort of temporary identity document, the signed enrollment digest making it possible to certify that the individual whose face appears in the enrollment image fulfills the required access condition.
[0011] The second method comprises: • an enrollment phase including stages of: • obtaining enrollment data including: • an enrollment image showing an individual to be enrolled, • a reference image showing: • a photograph found on an identity document, the photograph showing a reference individual, • information on the identity document relating to the reference individual, • verification of a match between the individual to be enrolled and the reference individual based on the enrollment image and the reference image, • generation of an enrollment attribute which contains the information shown in the reference image, • applying a hash function to the enrollment image so as to produce an enrollment digest, • digitally signing the enrollment digest using a private key, so as to produce a signed enrollment digest, • marking the enrollment attribute using a marking key, so as to produce a marked enrollment attribute, • implementation of measures for communication of the signed enrollment digest and the attribute to an enrollment data issuer, • in which at least one step among the generation of the enrollment attribute, the application of the hash function, the digital signature, the marking and the implementation of the measures is carried out only if the individual to be enrolled and the reference individual correspond, a control phase including steps of: • obtaining test data including: • a test image showing an individual to be tested, and • a signed proof summary, • a marked test attribute, • using a public key forming an asymmetric key pair with the private key, signature verification of the signed proof digest, • application to the marked test attribute of a complementary treatment to the marking making it possible to deduce whether the marked test attribute has been marked using the marking key or not, • applying the hash function to the proof image so as to produce another proof digest, • verification of a correspondence between the signed proof digest and the other proof digest, • verification of the marked test attribute, so as to determine whether the marked test attribute contains information that meets or does not meet a condition for access to the site, • generation of a control result indicating that: • a transmitter of test data has the right to access the site, only if the following conditions are met: • signature verification reveals that the signed proof digest was signed with the private key, • the additional processing reveals that the marked test attribute was marked using the marking key, • verification of the marked proof attribute reveals that the marked proof attribute contains information that satisfies the site access condition, and • the correspondence check reveals that the signed proof digest and the other proof digest match, • the issuer of the test data does not have the right to access the site otherwise.
[0012] The second method differs from the first method in that the condition of access to the site is evaluated not during the enrollment phase, but during the control phase. This second method has the advantage of a certain flexibility. Indeed, at the end of the enrollment phase, different control phases can be implemented for different sites imposing different access conditions.
[0013] The first method or the second method may further comprise the following optional features, taken alone or in combination where technically possible.
[0014] Optionally, the hash is a perceptual hash.
[0015] Optionally, the measures include generating an enrollment barcode representing the signed enrollment digest.
[0016] Optionally, the test data comprises a test video, and the control phase comprises the following steps: verifying the presence of a living individual in the test video, and if a living individual is present in the test video, obtaining the test image from the test video.
[0017] Optionally, the control phase comprises a verification of a correspondence between the living individual and the individual to be controlled from the test image, in which the generated control result indicates that the issuer of the test data does not have the right to access the site if the living individual and the individual to be controlled do not correspond.
[0018] Optionally, the control phase further comprises a step of detecting in the proof video a proof barcode representing the signed proof condensate.
[0019] Optionally, the control phase is implemented by a control server, and if the control result indicates that the issuer of the test data has the right to access the site, the control result is transmitted to a site access server. separate from the control server, so that the site access server accepts a site access request from the issuer of the test data.
[0020] Optionally, the test data is obtained by the control server without going through the access server.
[0021] Optionally, the control phase includes the following steps: hashing a data item dependent on the signed proof digest and a variable value, so as to produce a fingerprint, sending the fingerprint to the site access server; receipt of challenge data generated by the site access server from the fingerprint, determining whether the challenge data satisfies a validity condition or not, if the challenge data satisfies the validity condition, digitally signing the challenge data using a second private key, so as to produce a signed challenge data, If the check result indicates that the issuer of the challenge data has the right to access the site, sending the signed challenge data to the access server, the access server being configured to: • verify the validity of the signed challenge data using a second public key, the second private key and the second public key forming a second asymmetric key pair, • if the signed challenge data proves to be valid, acceptance of a request for access to the site from the issuer of the challenge data.
[0022] Optionally, the variable is a time variable.
[0023] Optionally, the access server is configured to generate the challenge data by applying a verifiable random function to the fingerprint.
[0024] Optionally, the condition of access to the site includes an age condition, for example a majority condition.
[0025] Another subject of the present disclosure is a computer program product comprising program code instructions for executing the steps of the first method or the second method, when this program is executed by at least one processor. DESCRIPTION OF FIGURES
[0026] Other characteristics, aims and advantages of the invention will emerge from the following description, which is purely illustrative and non-limiting, and which must be read in conjunction with the appended drawings in which:
[0027] [Fig.l] schematically illustrates a client device, a site, and servers for controlling access to the site by the client device.
[0028] [Fig.2] is a flowchart of steps of an enrollment phase according to a first embodiment.
[0029] [Fig.3] schematically represents enrollment data according to one embodiment.
[0030] [Fig.4] is a flowchart of steps of a control phase according to a first embodiment.
[0031] [Fig.5] schematically represents test data according to one embodiment.
[0032] [Fig.6] is a flowchart of optional steps of a control phase according to the first embodiment.
[0033] [Fig.7] is a flowchart of steps of an enrollment phase according to a second embodiment.
[0034] [Fig.8] is a flowchart of optional steps of a control phase according to the second embodiment.
[0035] Throughout the figures, similar elements bear identical references. DETAILED DESCRIPTION OF THE INVENTION
[0036] 1) System
[0037] [Fig.l] shows a site 1, an access server 2 to site 1, a client device 3 (more simply called “client 3” hereinafter), and a control server 4.
[0038] In the following it will be assumed that site 1 is an internet site, it being understood that site 1 may be a physical site.
[0039] The access server 2 comprises a communication interface for communicating with the client 3 and with the control server 4 via one or more different networks. The communication interface is of any type, wired (Ethernet) or wireless radio (Wi-Fi, Bluetooth, cellular, etc.).
[0040] The site access server 2 further comprises a processor configured to implement steps which will be described below. The processor may comprise one core or several cores (to execute different tasks simultaneously). The processor may be of any type: CPU, GPU, programmable circuit (FPGA) or not (ASIC).
[0041] The site access server 2 further comprises a memory storing a program comprising code instructions executable by the processor. The aforementioned steps are implemented when this program is executed by the processor. The memory is of any type: volatile (RAM) or non-volatile (flash, HDD, SSD, EEPROM, etc.).
[0042] In particular, the access server 2 can host the website 1, that is to say that the pages of the website can be stored in the memory of the access server 2, and the program executed by the processor of the access server 2 can comprise the code of the website.
[0043] The client 3 is a user terminal capable of requesting access to the website 1 from the access server 2. It is of any type (desktop computer, laptop, tablet, smartphone, etc.). The client 3 includes a camera.
[0044] The website 1 is not freely accessible. By this, we mean that the website 1 comprises at least one page whose access by a user of the client device 3 is conditional on compliance with a predefined access condition.
[0045] In the following, a non-limiting embodiment will be described in which the condition of access to the site includes an age condition, it being understood that alternative or additional conditions are conceivable (for example a condition of address, gender, nationality, etc.). For example, a page of the site 1 includes content reserved for adults; in this context, the user of the client device 3 should only be able to access this page if he is of legal age (the majority being, for example, 18 years old in France).
[0046] A function provided by the access server 2 is to enforce the condition of access to the site 1, by accepting or refusing requests for access to the site, depending on whether this condition is met or not.
[0047] The control server 4 has the function of evaluating whether or not the condition for access to the site is met by a user, so that the access server 2 can take the appropriate measures (acceptance or refusal of an access request).
[0048] The control server 4 comprises a communication interface for communicating with the access server 2 to the site via a network. The information provided above on the communication interface of the access server 2 is applicable to the communication interface of the control server 4.
[0049] The control server 4 further comprises a processor configured to implement steps which will be described below. The information provided above on the processor of the access server 2 is applicable to the processor of the control server 4.
[0050] The control server 4 further comprises a memory storing a program comprising code instructions executable by the processor. The aforementioned steps are implemented when this program is executed by the processor. The information provided above on the memory of the access server 2 is applicable to the processor of the control server 4.
[0051] The memory of the control server 4 stores a hash function F.
[0052] Preferably, the hash function F is a perceptual hash function. Perceptual hashing has the following advantageous property: two similar images subjected to the same perceptual hash function lead to two condensates of close values, while two very different images subjected to the same perceptual hash function lead to two condensates of values far from each other.
[0053] The memory of the control server 4 also stores a private key SK and a public key PK together forming a pair of asymmetric keys. As will be seen later, a function performed by the private key SK is to sign data, so as to certify that this data has been enrolled by the control server. A function performed by the public key PK is to verify whether data has been signed by the control server using its private key SK.
[0054] 2) Access control method (first embodiment)
[0055] We will now describe a method implemented by the control server 4, in collaboration with the site access server 2 to control access to the site 1 requested by the client 3.
[0056] In the following, we will discuss sending data between the client 3, the access server 2 and the control server 4. Unless explicitly stated otherwise, these sendings are network sendings, carried out by means of the respective communications interfaces of these devices.
[0057] There will also be a question of processing carried out by the access server 2 and the control server 4. It is understood that these processing operations are implicitly implemented by the respective processors of these devices.
[0058] The method comprises two phases: an enrollment phase and a control phase. a) Enrollment phase
[0059] It is assumed that the control server 4 detects that a user of the client 3 requests to be enrolled with it.
[0060] An embodiment of the enrollment phase will be described below in which the client 3 and the control server 4 communicate via the network, via their respective communication interfaces. In this embodiment, the control server 4 detects an enrollment request sent by the client 3 via its network communication interface.
[0061] The control server 4 invites the client 3 to provide it with enrollment data by an appropriate message. The expected enrollment data comprises two images which are conventionally called “enrollment image” and “reference image” in the present disclosure.
[0062] More precisely, the control server 4 invites the client 3 to provide it with: • an enrollment image showing the individual to be enrolled (typically the client user 3), • a reference image showing an identity document of that individual to be enrolled, such that the reference image shows a photograph of the individual to be enrolled that is on the identity document, and also information from which it can be deduced whether the user to be enrolled satisfies the access condition.
[0063] In our non-limiting example of an access condition based on the user's age, the expected information typically includes a date of birth.
[0064] In a step 100, the control server 4 receives enrollment data from the client 3 which is supposed to have the preceding content.
[0065] In one embodiment, the reference image and the enrollment image are acquired by the client's camera 3. In particular, the enrollment image may show a photograph presented on a physical medium (for example paper or a display screen), this photograph itself showing the individual to be enrolled. This photograph may be distinct from the photograph of the identity document.
[0066] In another embodiment, the enrollment image and the reference image are digital images stored in a memory of the client 3, and these digital images are uploaded to the control server 4 at the initiative of the user of the client 3, via the communication interface of the client.
[0067] In step 100, the control server 4 can verify that the enrollment data has the expected content. If not, the processor ends the enrollment phase, for example by returning to the client 3 a “KO” result indicating that the enrollment has failed. If yes, the processor goes to step 102.
[0068] [Fig. 3] shows enrollment data having the format expected by the control server 4. This enrollment data includes: • an enrollment image I showing an individual U who is conventionally called “individual to be enrolled”, • an RI reference image showing: • a photograph found on an identity document D, the photograph showing a RU individual who is conventionally called a “reference individual”, • information A also found on the identity document, this information A relating to the reference individual RU.
[0069] Identity document D is, for example, a national identity card, a passport or a driving license.
[0070] Returning to [Fig.2], the control server 4 verifies in a step 102 a biometric correspondence between the individual to be enrolled U and the reference individual RU, at from the enrollment image I and the reference image RI. During this step 102, the control server 4 for example implements facial recognition in these two images I and RI, and applies a biometric comparison processing of faces recognized in the two images R and RI, this comparison processing being known to those skilled in the art. This comparison processing can in particular consider that the reference individual and the individual to be enrolled correspond if and only if a metric representative of a distance between the faces recognized in the images I and RI is less than a predefined threshold.
[0071] If the control server 4 considers that the individual to be enrolled U and the reference individual RU do not correspond, the control server ends the enrollment phase.
[0072] If the individual to be enrolled U and the reference individual RU correspond, the control server 4 moves on to an analysis step 104.
[0073] In the analysis step 104, the control server 4 analyzes the information A found on the identity document as shown in the reference image RI, so as to determine whether the reference individual satisfies the predefined access condition or not.
[0074] In our non-limiting embodiment in which the access condition comprises an age condition, the analyzing step may comprise detecting a date of birth indicated on the identity document shown in the reference image, calculating the current age of the reference individual RU from the date of birth, and checking whether the calculated current age is greater than or equal to a minimum age required to access the site (e.g. 18 years old).
[0075] If the analysis of the information A reveals that the reference individual does not satisfy the predefined condition (in our example: calculated age < minimum required age), then the control server ends the enrollment phase.
[0076] If the analysis of the information A reveals that the reference individual satisfies the predefined condition (in our example: calculated age > minimum required age), the control server applies in a step 106 the hash function F discussed previously to the enrollment image I so as to produce an enrollment digest H. We therefore have: H = F(I). The digest is a number, the representation of which in base 2 is a binary word.
[0077] In a step 108, the control server 4 digitally signs the enrollment digest H using the private key SK, so as to produce a signed enrollment digest SH. SH is another number, the base 2 representation of which is another binary word.
[0078] The signed enrollment digest comprises for example the enrollment digest H (therefore unsigned) and a digital signature generated in step 108. In particular, the signed enrollment digest may result from a concatenation of the enrollment digest H and this digital signature generated in step 108.
[0079] The enrollment digest signed by the server 4 is representative of the fact that the control server 4 admits that the user U fulfills the predefined condition, and therefore that this user U may subsequently have the right to access the internet site 1.
[0080] Then, the control server 4 implements measures (steps 110) with a view to communicating the signed enrollment digest SH to a sender of the enrollment data (this sender being the client 3 or its user).
[0081] Preferably, these measures comprise the generation of a barcode C representing the signed enrollment condensate SH. The barcode C may be one-dimensional or two-dimensional. If it is two-dimensional, the barcode may in particular be a so-called “quick response” code (more often called a “QR code”), as illustrated in [Fig. 3], or may be a Flashcode or a “2D-Doc” type barcode.
[0082] The aforementioned measures may further comprise sending the barcode C to the client device 3 via the communication interface of the control server 4. In this embodiment, the barcode is transmitted in the form of digital data via a communication network.
[0083] We will see in the following that user U can then submit the barcode C as proof of his enrolled status (and therefore implicitly as proof of the fact that he fulfills the predefined condition for accessing the website 1).
[0084] Up to now it has been assumed that the client 3 and the control server communicate during the enrollment phase using their respective communications interfaces. However, in another embodiment, the user of the client 3 and the control server communicate by post: • The user of client 3 sends by post paper photocopies of the enrollment image and the reference image, and these paper photocopies can then be scanned so as to allow the control server 4 to obtain the enrollment image and the reference image. • The processor of the control server 4 can order a printing of the barcode C on a medium (for example a paper medium). This medium can then be communicated to the user of the client device 3 by post, which assumes that the user has informed the control server 4 in one way or another of his postal address.
[0085] We have seen previously that certain steps of the enrollment phase are conditioned on tests: the analysis step 104 is implemented only if there is a correspondence between the individual to be enrolled and the reference individual, and the step 106 of application of the hash function is implemented only if the analysis of the information A reveals that the reference individual satisfies the predefined condition.
[0086] These two tests can however be carried out at different stages of the enrollment phase, for example later. For example, step 104 could be implemented unconditionally, as could step 106. Generally, it is ensured that at least one step among the application of the hash function, the digital signature and the implementation of the measures to communicate the signed enrollment digest is carried out only if the following conditions are met: • verification 102 reveals that the individual to be enrolled and the reference individual correspond, and • analysis 104 reveals that the information satisfies the condition for access to the site.
[0087] Access server 2 does not intervene in the enrollment phase. b) Control phase
[0088] It is assumed that the control server 4 detects that a user of the client 3 requests access to the website 1 from any client device, which will be assumed to be the client 3 for simplicity. This situation is first detected by the access server 2, which sends to the control server 4 a message indicating that the client device 3 requests access.
[0089] The control phase is then implemented.
[0090] The control phase aims to verify whether a user has successfully passed the phase aforementioned enrollment. Thus, it is verified in the hollow whether this user satisfies the predefined condition which is required to access the website 1. It should be noted, however, that the control phase does not use an identity document.
[0091] With reference to [Fig.4], the control phase comprises the following steps.
[0092] In a preliminary step, the access server 2 redirects the client 3 to a page hosted by the control server 4. From this moment, a direct dialogue is established between the control server 4 and the client 3, preferably without going through the access server 2. In this way, data can be sent by the client 3 to the control server 4, without this data passing through the access server 2 to the site.
[0093] The control server 4 invites the user of the client 3, via one or more appropriate messages, to turn on the camera of the client 3 and present himself in front of the camera.
[0094] In a step 200, the control server 4 receives a test video V acquired by the camera of the client 3, then transmitted to the control server 4 via the communication interface of the client 3.
[0095] In a step 202, the control server 4 applies a liveness test ("liveness") to the test video V, in order to verify the presence of a living individual in the test video V. Such a liveness test is known to those skilled in the art. This liveness test makes it possible in particular to avoid fraud consisting of deceiving the server control 4 by presenting a photo of someone else to the camera instead of a real face. The liveness test can differentiate between a living individual and an individual represented on a medium itself placed in the camera's field of vision (for example, a photograph in paper format, or displayed on a smartphone).
[0096] If the liveness test fails (no live individual detected in the video), then the control server 4 generates a “KO” result indicating that the transmitter of the test data does not have the right to access the site.
[0097] If the liveness test succeeds (a live individual is detected in the video), the control phase continues.
[0098] The control server 4 invites the user of the client 3, via one or more appropriate messages, to provide the control server 4 with the signed enrollment digest that was given to it at the end of the enrollment phase (where appropriate in the form of a barcode), as well as the enrollment image that it had submitted during this enrollment phase.
[0099] Preferably, the control server 4 invites the user of the client 3 to present in front of the camera of the client 3 the photograph which showed the individual U to be enrolled, this photograph itself being shown in the enrollment image.
[0100] Assuming that the user of the client 3 has responded to the instructions of the control server 4, the control server 4 obtains in a step 203 a test image I' showing a user U' to be controlled (see [Fig.5]), for example by extracting it from the video V. Generally, the user U' is supposed to correspond biometrically to the user U shown in the enrollment image during the enrollment phase. More precisely, the image I' is supposed to show the photograph presented during the enrollment phase, just like the enrollment image. Thus, in a normal case, the image I' is supposed to substantially correspond to the enrollment image.
[0101] If during step 203 the control server fails to obtain the test image I', for example within a predefined time, then the control server 4 generates the result "KO".
[0102] Step 203 may further comprise or be followed by a verification of correspondence between the living individual identified in step 202 and the individual to be checked shown in the test image I'. If the two individuals do not match, then the control server 4 generates the result "KO".
[0103] Still assuming that the user of the client 3 has responded to the instructions of the control server 4, the control server obtains in a step 204 an image showing a proof barcode CC, for example by extracting it from the video V. The proof barcode is supposed to be the barcode C representing the enrollment digest signed for the user of the client 3 during the enrollment phase.
[0104] If during step 204 the control server fails to obtain the CC proof barcode, for example within a predefined time, then the control server 4 generates the result “KO”.
[0105] In a step 206, the control server retrieves the binary word represented by the barcode CC by assuming that this binary word is a signed proof condensate, noted SH'.
[0106] At this stage of the control phase, the control server has obtained test data including: • the test image I' showing the individual U' to be checked, and • a signed test digest SH' (in any case, a binary word that the control server interprets as such a digest).
[0107] In a step 208, the control server 4 verifies the signature of the signed test digest, using the public key PK forming an asymmetric key pair with the private key SK. During this step 208, it is determined whether this signature was produced by the private key or not. Thus, it is indirectly determined whether the signed test digest SH' is an enrollment digest generated by the control server during an implementation of the enrollment phase.
[0108] If the signed proof digest was not produced by the private key, the control server 4 generates the result KO indicating that the issuer of the proof data does not have the right to access the site.
[0109] Furthermore, in a step 210, the control server 4 applies the hash function F to the test image I' (the same hash function as that used during the enrollment phase), so as to produce another test digest H'. We therefore have: H' =F(I').
[0110] Step 210 may be performed before, after or during any of steps 203, 204, 206, 208.
[0111] In a step 212, the control server 4 verifies a correspondence between the signed test condensate SH (which has been deduced, if applicable, from the test barcode CC) and the other test condensate H' (which has been deduced from the test image I' showing the user to be controlled).
[0112] It is to be understood here that the correspondence carried out during step 212 does not take into consideration the signature of the signed proof digest SH. Let H” denote the unsigned version of the signed proof digest SH. The proof digest H” may constitute a portion of SH (the signature constituting another portion of SH).
[0113] During step 212, a metric representative of a distance between the two test condensates H' and H”, is calculated and this metric is compared to a threshold. There is a correspondence between the two test condensates H' and H” if and only if the metric representative of the distance is less than the predefined threshold.
[0114] The fact of having used a perceptual hash function F during the enrollment phase then during step 210 is advantageous, because it allows a certain tolerance in the correspondence verification carried out in step 212. It will thus be possible to conclude that there is a correspondence between the proof condensates H' and H” when the images I and I' are similar but not necessarily strictly identical down to the pixels. It is thus possible for the user of client 3 not to submit exactly the same image 1 = 1' during the enrollment and control phases, which is more practical for him. Such a correspondence can in particular be observed when the images I and 1' show the same photograph but positioned differently or lit differently.
[0115] If the test digests H' and H' ' do not match, the control server 4 generates the result KO indicating that the transmitter of the test data does not have the right to access the site.
[0116] If the test digests H' and H' ' match, the control server 4 generates an OK result indicating that a transmitter of the test data has the right to access the site.
[0117] Ultimately, the OK result is only obtained if the following conditions are met: • signature verification (performed in step 208) reveals that the signed proof digest was signed with the private key, • the correspondence check reveals that the test condensers H' and H” correspond, • optionally, it is found that the living individual detected in the test video V corresponds to the individual shown in the test image I'.
[0118] The result of the generated check (OK or KO, as the case may be) is then sent by the control server 4 to the access server 2, via the communication interface of the control server 4.
[0119] When the control result is OK, then the access server 2 accepts the request for access to the website 1 from the client 3. The client 3 therefore accesses the site 1.
[0120] When the control result is KO, then the access server 2 refuses the request for access to the internet site 1 coming from the client 3. The access server 2 thus prevents the client 3 from accessing the site 1.
[0121] The control phase is triggered with each new request for access to website 1.
[0122] In this embodiment, it will be noted that the identity document (providing the information A making it possible to deduce whether the individual to whom this document relates meets the condition of access to the internet site 2) is only used once, at enrollment, but is not used during the subsequent control phase.
[0123] Furthermore, the data given to the user at the end of the enrollment phase does not allow the enrollment data provided during the phase to be traced back to the enrollment, in particular to the enrollment image I, to the reference image RI, and to the information present on the identity document provided during the enrollment phase.
[0124] c) Variant of the control phase with challenge-response
[0125] [Fig.6] shows a variant of the control phase comprising additional steps implemented following step 212 of verifying the correspondence between the condensates H' and H”, when the control server concludes that these condensates H' and H' ' correspond. As will be seen below, this variant has the advantage of allowing auditability of the operations carried out.
[0126] In a step 214, the control server hashes a data item depending on the signed proof digest SH' and a variable value t. The result of this hashing is another digest a, which is instead called fingerprint a in the following to distinguish this data item from the digests discussed previously resulting from the application of the function F to an image. In this regard, it will be noted that the hash function G used in step 214 is not necessarily the function F.
[0127] The data being hashed in step 214 may be data resulting from a concatenation between the signed proof digest SH' and the variable value. We then have a = G(SH'lt).
[0128] Taking into account the variable value during step 214 makes it possible to diversify the value of the fingerprint a, which makes it possible to better protect the control server 4 against replay attacks.
[0129] The variable is for example a time variable. The value t of the variable can then be or depend on a current date, or on information extracted from the current date (for example t is the current hour, the current minute, the current second, etc.).
[0130] In a step 216, the control server 4 sends the fingerprint a to the access server 2.
[0131] The access server 2 generates a challenge data [3 from the fingerprint a and returns the challenge data to the control server 4.
[0132] Preferably, the challenge data [3 results from the application to the fingerprint a of a verifiable random function (in English: Verifiable Random Function, abbreviated as VRF). An example of a usable VRF is that described in the document “Making NSEC5 Practical for DNSSEC”, by Dimitrios Papadopoulos et al., which is notably accessible via the link https: / / eprint.iacr.org / 2017 / 099.pdf.
[0133] In a step 218, the control server receives the challenge data [3 sent by the access server.
[0134] In a step 220, the control server checks whether the challenge data [3 satisfies a predefined validity condition or not.
[0135] If the challenge data satisfies the validity condition [3, the control server puts in implements a step 222 of digitally signing the challenge data using a second private key, so as to produce signed challenge data S[3. The second private key may be different from the private key SK used during the enrollment phase.
[0136] In a step 224, the control server sends the signed challenge data S[3 to the access server 2, provided that the control result generated in step 212 is OK.
[0137] For the sending step 224 to be implemented, the following conditions must be met: • the control result generated in step 212 is OK, • verification of the proof attribute reveals that the proof attribute contains information that satisfies the condition for access to the site, • signature verification (performed in step 208) reveals that the signed proof digest was signed with the private key.
[0138] Then, the access server 2 verifies the validity of the signed challenge data S[3 using a second public key, the second private key and the second public key forming a second asymmetric key pair. If the signed challenge data S[3 turns out to be valid, the access server 2 accepts the request for access to the site from the issuer of the challenge data (the client 3). If the signed challenge data turns out not to be valid, the access server refuses the request for access to the site from the client 3.
[0139] In this variant embodiment, the method results in a positive result taking the form of data S[3 more complex than a simple “OK”. The additional steps of this variant have the advantage of making the method auditable. Indeed, it is possible to verify a posteriori whether data which appears as data S[3 truly results from the calculations described. Conversely, the variant represented in [Fig.3] is not auditable, because it is not possible to deduce from the simple result “OK” that all the upstream steps, contributing to securing the site, have indeed been implemented.
[0140] In [Fig.6], steps 214 and following are shown as all being implemented after step 212. However, this is not mandatory, because all the steps preceding step 224 can be carried out upon receipt of the signed proof condensate SH', without necessarily waiting for confirmation that H' and H” match.
[0141] 3) Access control method (second embodiment)
[0142] We will now describe a method implemented by the control server 4 according to a second embodiment. In this second embodiment, the predefined access condition for accessing the site 1 is not examined during the phase enrollment, but during the control phase.
[0143] In the enrollment phase (see [Fig.7]), step 104 is replaced by a step 105 of generation, by the processor of the control server 4, of an enrollment attribute DA containing the information A. During step 105, the control server 4 extracts the information A found on the identity document as shown in the reference image RI and reflects it in the attribute DA, but does not specifically seek to determine whether the reference individual satisfies a predefined access condition on the basis of the information A.
[0144] Step 105 is implemented unconditionally, regardless of whether or not this information A satisfies the access condition. Since the attribute DA contains the information A, this attribute can precisely be used later to determine whether or not the access condition is met by the enrolled user.
[0145] For example, when the access condition is an age condition, the DA attribute can contain a character string of the type “birthdate=A” (A here being the date of birth found on the identity document D during step 105).
[0146] Generally, the enrollment attribute is marked using a marking key. This marking thus produces a marked enrollment attribute.
[0147] The marking may be a digital signature. In this case, the marked enrollment attribute is a signed enrollment attribute, just like the signed enrollment digest. It should be noted that these two signed elements may be signed with the private key SK discussed previously (in other words, the marking key is the private key SK), either in two separate steps or in a single signing operation. Alternatively, these two elements are signed using two different keys.
[0148] Alternatively, the marking may be an encryption. In this case, the marked enrollment attribute is an encrypted enrollment attribute.
[0149] The enrollment attribute may constitute data independent of the signed enrollment digest SH, or may be included in the signed enrollment digest SH. In particular, the signed enrollment digest may result from a concatenation of the enrollment digest H, the attribute DA and the digital signature generated in step 108.
[0150] The marked enrollment attribute is given to user 3, for example according to the same terms as for the signed enrollment digest SH.
[0151] As in the first embodiment, certain tests condition the implementation of certain steps of the enrollment phase of this second embodiment, but the moment when these tests are implemented is of little importance. In general, it is ensured that at least one step among the generation of the enrollment attribute, the application of the hash function, the digital signature, the marking and implementation of measures is carried out only if the individual to be enrolled and the reference individual match.
[0152] In the control phase (see [Fig.8]), the control server 4 asks the user to provide it with the marked enrollment attribute given during the enrollment phase. Thus, in a step 201, the control server 4 receives a test attribute marked DA' supposed to correspond to the enrollment attribute.
[0153] The control server 4 also applies to the marked test attribute DA' a processing complementary to the marking carried out during the enrollment phase. This complementary processing makes it possible to deduce whether the marked test attribute has been marked using the marking key or not. The complementary processing uses a key which forms with the marking key a pair of asymmetric keys. For example, when the marking key is the private key SK, the key used by the complementary processing is the public key PK.
[0154] When the marking is a digital signature, the additional processing is a signature verification.
[0155] When the marking is an encryption, the further processing is a decryption. In this second case, it can be deduced that the marking key was not used to mark the proof attribute when the result of this decryption is unreadable, i.e. it does not have an expected format.
[0156] The additional processing to the marking can be part of the signature verification step 208, or be carried out before or after.
[0157] During step 212, the control server 4 does not only check the correspondence between the test digests H' and H”. During step 212, the control server 4 also checks, on the basis of the test attribute DA', whether the information that this attribute DA' contains verifies the condition of access to the site 1 (after their decryption, if applicable).
[0158] The OK result is only obtained in this embodiment if the following conditions are met: • the additional processing reveals that the marked test attribute was marked using the marking key, • verification of the marked test attribute reveals that the marked test attribute contains information that satisfies the site access condition, • signature verification (performed in step 208) reveals that the signed proof digest was signed with the private key, • the correspondence check reveals that the test condensers H' and H” correspond, • optionally, it is found that the living individual detected in the test video V corresponds to the individual shown in the test image I'.
[0159] Of course, the control phase of the method according to the second embodiment can include the optional challenge-response steps discussed above in relation to [Fig.6]. The data given to the user at the end of the enrollment phase does not make it possible to go back to the enrollment data other than the information A, provided during the enrollment phase, in particular to the enrollment image I, to the reference image RI, and to other information present on the identity document provided during the enrollment phase. 4) Other embodiments
[0160] Although the use of the C, CC barcodes is particularly advantageous for its practical side for the user, this use is not obligatory. The user to be enrolled can be given the signed enrollment digest SH, and / or the enrollment attribute, directly in the form of a digital file during the enrollment phase, without necessarily going through a graphic representation.
[0161] In the embodiments illustrated in the figures, the control server 4 receives a video and the test data is extracted from this video. This is not mandatory. The control server 4 can alternatively invite a user of the client 3 to upload the test data by going through an appropriate menu.
[0162] Up to now, it has been assumed that the enrollment phase and the control phase are implemented by the same server (the control server 4). Alternatively, it may be envisaged to entrust the enrollment phase to an enrollment server separate from the control server, and the control server only implements the control phase.
[0163] Embodiments have also been described in which the entity that verifies the condition of access to the site 1 (the control server 4) is distinct from the entity that makes the decision to authorize or refuse access to the site 1 (the access server 2). These embodiments are advantageous, because they make it possible to ensure that the administrators of the site 1 do not have access to the content of the identity document D. However, in other embodiments, the control server 4 and the access server 2 are one and the same server.
[0164] Until now, it has been assumed that site 1 is a website. The proposed method then seeks to control access to data. However, the preceding embodiments are also applicable to a physical site, in other words a secure area. In this alternative application, the method aims to control physical access to the secure area by an individual possessing the client 3; the function performed by the access server 2 is then to decide whether an individual has the right to physically access this secure area or not.
Claims
Claims
1. A method of controlling access to a site, the method being computer-implemented and comprising: an enrollment phase including steps of: • obtaining (100) enrollment data including: • an enrollment image (I) showing an individual to be enrolled, • a reference image (RI) showing: • a photograph found on an identity document, the photograph showing a reference individual, • information found on the identity document and relating to the reference individual, • verification (102) of a correspondence between the individual to be enrolled and the reference individual from the enrollment image (I) and the reference image (RI), • analysis (104) of the information shown in the reference image (RI), so as to determine whether or not the information satisfies a condition of access to the site, • application (106) of a hash function (F) to the enrollment image (I) so as to produce an enrollment condensate (H), • digital signature of the enrollment digest (H) using a private key (SK), so as to produce a signed enrollment digest (SH), • implementation of measures for communication of the signed enrollment digest (SH) to an enrollment data issuer, • in which at least one step among the application of the hash function, the digital signature and the implementation of the measures is carried out only if the following conditions are met: • the verification reveals that the individual to be enrolled and the reference individual match, and • the analysis reveals that the information meets the condition of access to the site, a control phase comprising steps of: • obtaining test data including: • a test image (!) showing an individual to be tested, and • a signed proof condensate (SH'), • using a public key (PK) forming an asymmetric key pair with the private key, signature verification of the signed proof digest (SH'), • application (210) of the hash function (F) to the proof image (!') so as to produce another proof condensate (H'), • verification (212) of a correspondence between the signed proof condensate and the other proof condensate, • generation of a control result indicating that: • a transmitter of test data has the right to access the site, only if the following conditions are met: • signature verification reveals that the signed proof digest was signed with the private key, • the correspondence check reveals that the signed proof digest and the other proof digest match, • the issuer of the test data does not have the right to access the site otherwise.
2. A method of controlling access to a site, the method being computer-implemented and comprising: an enrollment phase comprising steps of: • obtaining (100) enrollment data comprising: • an enrollment image (I) showing an individual to be enrolled, • a reference image (RI) showing: • a photograph found on an identity document, the photograph showing a reference individual, • information found on the identity document and relating to the reference individual, • verification (102) of a correspondence between the individual to be enrolled and the reference individual from the enrollment image (I) and the reference image (RI), • generation (105) of an enrollment attribute which contains the information shown in the reference image (RI), • application (106) of a hash function (F) to the enrollment image (I) so as to produce an enrollment condensate (H), • digital signature of the enrollment digest (H) using a private key (SK), so as to produce a signed enrollment digest (SH), • marking the enrollment attribute using a marking key, so as to produce a marked enrollment attribute, • implementation of measures for communication of the signed enrollment digest (SH) and the attribute to an enrollment data issuer, • in which at least one step among the generation of the enrollment attribute, the application of the hash function, the digital signature, the marking and the implementation of the measures is carried out only if the individual to be enrolled and the reference individual correspond, a control phase comprising steps of: • obtaining test data including: • a test image (I') showing a individual to control, and • a signed proof condensate (SH'), • a marked test attribute, using a public key (PK) forming an asymmetric key pair with the private key, verifying the signature of the signed proof digest (SH'), applying to the marked proof attribute a processing complementary to the marking making it possible to deduce whether the marked proof attribute has been marked using the marking key or not, applying (210) the hash function (F) to the proof image (!') so as to produce another proof digest (H2), verifying (212) a correspondence between the signed proof digest and the other proof digest, verifying the marked proof attribute, so as to determine whether the marked proof attribute contains information which does or does not satisfy a condition of access to the site, generating a control result indicating that: • a sender of the proof data has the right to access the site, only if the following conditions are met: • signature verification reveals that the signed proof digest was signed with the private key, • the additional processing reveals that the marked test attribute was marked using the marking key, • verification of the marked proof attribute reveals that the marked proof attribute contains information that satisfies the site access condition, and • the correspondence check reveals that the test condensate signed and the other proof condensate correspond, the issuer of the test data is not allowed to access the site otherwise.
3. A method according to any preceding claim, wherein the hash is a perceptual hash.
4. A method according to any preceding claim, wherein the measurements comprise generating (108) an enrollment barcode (C) representing the signed enrollment digest (SH).
5. Method according to any one of the preceding claims, in which • The test data comprises a test video (V), • The control phase comprises the following steps: • checking the presence of a living individual in the test video (V), • if a living individual is present in the test video (V), obtaining the test image from the test video (V).
6. Method according to the preceding claim, comprising a step of: • verifying a correspondence between the living individual and the individual to be checked from the test image, in which the control result generated indicates that the issuer of the test data does not have the right to access the site if the living individual and the individual to be checked do not correspond.
7. Method according to any one of claims 5 and 6 in their dependence on claim 4, in which the control phase further comprises a step of: • detection (204) in the proof video (V) of a proof barcode (CC) representing the signed proof condensate.
8. A method according to any preceding claim, wherein: • The control phase is implemented by a control server, • If the control result indicates that the issuer of the test data has the right to access the site, the control result is transmitted to a site access server separate from the control server, so that the site access server accepts a request for access to the site from the issuer of the test data.
9. Method according to the preceding claim, in which the test data is obtained by the control server without going through the access server.
10. Method according to any one of claims 8 and 9, in which the control phase comprises the following steps: • hashing (214) of data depending on the signed proof digest and a variable value, so as to produce a fingerprint (a), • sending (216) of the fingerprint (a) to the site access server;• receiving a challenge data item (|3) generated by the site access server from the fingerprint (a), • determining whether the challenge data item (|3) satisfies a validity condition or not, • if the challenge data item (|3) satisfies the validity condition, digitally signing the challenge data item using a second private key, so as to produce a signed challenge data item (S[3), • If the check result indicates that the issuer of the challenge data has the right to access the site, sending the signed challenge data item (S[3) to the access server, the access server being configured to: • verify the validity of the signed challenge data item (S[3) using a second public key, the second private key and the second public key forming a second asymmetric key pair, • if the signed challenge data item (S[3) turns out to be valid,; acceptance of a request for access to the site from the issuer of the test data.
11. Method according to the preceding claim, in which the variable is a time variable.
12. Method according to any one of claims 10 and 11, in which the access server is configured to generate the challenge data (|3) by applying a verifiable random function to the fingerprint (a).
13. A method according to any preceding claim, wherein the condition for accessing the site comprises an age condition, for example a majority condition.
14. Computer program product comprising program code instructions for executing the steps of the method according to one of the preceding claims, when this program is executed by at least one processor.
Citation Information
Patent Citations
Digital Identity System
US20180176017A1
Visual enrollment of cameras
US20210336801A1
Method and apparatus for creation and use of digital identification
WO2021030634A1