LOCAL ATTRIBUTE VERIFICATION USING A COMPUTING DEVICE - Patent application

The method for local attribute verification using computing devices addresses the limitations of centralized systems by securely storing user data locally, enabling reliable verification without network connectivity and reducing hacking risks.

JP2025502680APending Publication Date: 2025-01-28FUJITSU SERVICES
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024536396
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-12-15
Filing Date
2022-12-14
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

Existing digital attribute verification systems rely on centralized management servers, requiring network connectivity and exposing user data to security risks, making them inconvenient and vulnerable to hacking.

Method used

A method for local attribute verification using computing devices that captures and compares biometric data, eliminating the need for centralized servers by storing user data locally and ensuring secure, offline verification.

Benefits of technology

Enables secure and reliable attribute verification without network dependence, reducing data leakage risks and ensuring verification can occur in areas with poor connectivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025502680000001
    Figure 2025502680000001
  • Figure 2025502680000002
    Figure 2025502680000002
  • Figure 2025502680000003
    Figure 2025502680000003
Patent Text Reader

Abstract

A computer-implemented method for locally verifying attributes associated with a user is disclosed, the method including performing, by a computing device, steps including capturing biometric verification data with a computing device, determining whether the biometric verification data matches the user by comparing the biometric verification data with authenticated biometric data of the user previously obtained from an identity document or ID and stored locally on the computing device, and, in response to determining that the biometric verification data matches the user, verifying the attributes associated with the user based on attribute information associated with the user previously obtained from an ID and stored locally on the computing device.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to systems and methods for verifying user attributes, such as the user's age or identity, with a computing device. [Background technology]

[0002] Modern life very often requires a person to verify, or in other words prove or prove, an attribute of themselves. For example, to purchase a particular product or access a particular venue, a user may need to verify that they are of a certain minimum age. Similarly, a person's identity (e.g., name) may need to be verified in order to enter a particular building, pass a particular clearance or security check, or access goods and services.

[0003] Historically, such attribute verification has been performed using paper or hard-copy identification or ID, such as a passport, driver's license or ID pass. This is disadvantageous because hard-copy identification can easily be lost, damaged, stolen or counterfeited. Furthermore, the use of hard-copy IDs has limited the ability of automated systems to automatically transact with users. For example, currently age-restricted items cannot typically be sold via automated systems such as vending machines or self-checkouts, as identification must be inspected before such a transaction can be conducted. Similarly, automated entry into restricted buildings or venues can be problematic for similar reasons.

[0004] More recently, technological advances have enabled some limited forms of digital identity verification, whereby computing devices such as mobile phones are used in place of traditional paper IDs. However, such existing digital identity verification systems suffer from a variety of technical shortcomings that have limited their widespread implementation.

[0005] In its most common form, existing digital verification systems require a user to sign up with a centralized authority that maintains records or profiles of various users in a centralized server or database. In such systems, to verify themselves, a user signs up with a centralized authority and provides them with some form of personally identifiable information or PII, typically their name, date of birth, and address. The central authority builds a profile of that user based on the PII. Then, when the user subsequently wishes to verify an attribute, such as their age, they submit more PII to the server, which uses it to match the user with one of the profiles it maintains. In response, assuming it is able to find a match, the central authority may verify or vouch for the user's credentials, for example by providing a confirmation to the user or to anyone querying the user's attributes.

[0006] As is evident, this existing attribute verification system relies on the user being able to interact with a centralized authority, both at the time of registration and at the time of subsequent verification. This is disadvantageous, since the system relies on the user having a good network connection (typically an Internet connection) in order to function, both at the time of registration and verification. If the user finds himself in a remote location, i.e. somewhere where his network connection is poor, he may not be able to complete the verification process. In the case of a transaction, this results in the inability to make or complete the transaction. If verification is required for entry to a venue, the user may be barred from the venue and unable to enter.

[0007] Known approaches require the central authority to hold potentially sensitive PII data of all its users and also to transmit that sensitive PII data between the users and the central authority during both the registration and verification phases. This represents a security and privacy weakness in the system, and data breaches are now commonplace as a result of this type of system, where the central authority is hacked and potentially many users' PII is made public.

[0008] As can be seen, existing digital attribute verification systems suffer from significant technical shortcomings. It would be advantageous to provide a system and method that addresses one or more of these problems, singly or in combination. Summary of the Invention

[0009] This Summary introduces concepts that are described in more detail in the Detailed Description. It is not intended to identify essential features of the claimed subject matter or to limit the scope of the claimed subject matter.

[0010] According to one aspect of the present disclosure, there is provided a computer-implemented method for locally verifying attributes associated with a user, the method including performing various steps by a computing device, such method may be considered to relate to a verification stage in that it allows a user to verify their attributes using the computing device.

[0011] The term "local" in this context means that the verification is performed locally by the computing device itself, as opposed to remotely by some centralized server or database. Verification of an attribute may be considered as a verification or proof of the attribute. For example, a person verifying their age may demonstrate that they have reached a certain minimum age to perform a certain act.

[0012] The disclosed method includes performing, by the computing device, steps including capturing biometric verification data with a computing device; determining whether the biometric verification data matches the user by comparing the biometric verification data with authenticated biometric data of the user previously obtained from an identification document or ID and stored locally on the computing device; and, in response to determining that the biometric verification data matches the user, verifying attributes associated with the user based on attribute information associated with the user previously obtained from the ID and stored locally on the computing device.

[0013] Through these steps, the disclosed method provides a mechanism for attribute verification that can be performed locally using a computing device, completely independent of any centralized authority or server. This approach eliminates the need for such a centralized authority to exist, thereby simplifying the system and avoiding the need for a central database of user PII. This in turn provides security and privacy benefits, as it eliminates the need to transmit user PII to / from a central authority, thus reducing the chance of sensitive data being lost due to malicious hacking or the like that exposes user PII.

[0014] Furthermore, since no communication with a central authority is required, the method of the present disclosure is even more stable and reliable in locations with poor network connectivity. For example, even users in shops located in remote environments with poor network coverage can utilize the verification mechanism of the present disclosure, since it is performed locally on the computing device and does not rely on any communication with a central server or network. Similarly, in very congested environments such as stadiums, the local network (e.g., in the case of mobile networks, local network cells) may become overloaded such that individual users are unable to access the network. The present verification mechanism works in such environments because no connection to a network is required, thus addressing the technical limitations of previous systems.

[0015] The verification mechanism of the present disclosure may be considered an "offline" verification mechanism in the sense that no connection to a network or centralized server is required at the time of verification. This is in stark contrast to existing verification mechanisms that rely on communication with a centralized server to verify user attributes. Such existing systems may be considered "online" verification mechanisms since network connectivity is a prerequisite to enable attribute verification.

[0016] In one implementation, the computing device comprises a mobile device, e.g., a user's mobile device. The term "mobile device" is intended to mean any suitable mobile computing device, typically handheld, that a user can carry and use at the time of inquiry to verify attributes. Examples of such mobile devices include, but are not limited to, mobile phones, smartphones, personal digital assistants (PDAs), laptops, tablets, and other "smart" mobile devices such as smart watches.

[0017] When using a mobile device to perform the disclosed method, the disclosed mechanism provides the advantage of not requiring the installation of any dedicated verification hardware at the time of verification. Instead, the user simply utilizes their own mobile device. This further simplifies the system by utilizing existing hardware rather than requiring the installation of new hardware. The user is also not required to scan or store any PII by a third party device that they do not control. Instead, the disclosed method and system means that PII is only stored on the user's own mobile device. Distributing PII across the user's own devices reduces the probability that multiple users' data will be leaked in a single hack.

[0018] In one embodiment, the biometric verification data includes a verification image captured using a camera of the computing device, and the authenticated biometric data includes an authenticated image of the user previously obtained from the ID, where mechanisms such as facial recognition may be used to determine whether the biometric verification data (i.e., the verification image) matches (i.e., represents) the user by comparison with the authenticated image of the user obtained from the ID.

[0019] In another implementation, the biometric verification data includes a verification fingerprint captured using a fingerprint scanner of the computing device, and the authenticated biometric data includes an authenticated fingerprint of the user previously obtained from the ID, in which case a mechanism such as fingerprint matching may be used to determine whether the biometric verification data (i.e., the verification fingerprint) matches the user (i.e., matches the user's fingerprint) by comparison with the authenticated fingerprint of the user obtained from the ID.

[0020] As already mentioned, an attribute associated with a user may be the user's age. Other attributes that may be verified will be apparent to those skilled in the art, including the user's name, date of birth, gender, nationality, address, eligibility to enter a venue, drive a particular vehicle, or operate machinery, etc.

[0021] As discussed above, the verification mechanism of the present disclosure is local, i.e., no connection to a server or network is required. Thus, attributes associated with a user can be verified without requiring transmission of personally identifiable information or PII from the computing device. This is in contrast to existing systems where PII is transmitted to / from a central server to enable verification of user attributes.

[0022] Verifying the attributes associated with the user may include accessing a certificate stored locally on the computing device, the certificate including the attribute information associated with the user. Such a certificate is typically in a standard format, e.g., as determined by an attribute verification software provider that provides a reliable and reproducible representation of the user attribute information, which may enhance interoperability between software applications, all of which may be programmed to use (i.e., read and write) the same format of the certificate. Preferably, the authenticated biometric data of the user is also stored or embedded in the same certificate, such that software applications running on the computing device may access both the attribute information and the authenticated biometric data in the same memory location. Preferably, the certificate is encrypted to enhance security and data privacy. For example, only certain authorized software applications running on the computing device may have the appropriate permissions to decrypt the certificate and access the data stored or embedded therein. This reduces the possibility that the attribute information or the authenticated biometric data may be hacked or accessed by unauthorized parties.

[0023] The steps performed by the computing device may further include providing a confirmation of the verified attributes associated with the user. Providing the confirmation may include presenting the confirmation on a display of the computing device. The confirmation may be machine readable such that it can be read by a machine interface and the attributes verified. In one such example, the confirmation includes a QR code that can be read by a QR code scanner. By scanning the QR code, a reading or querying device can verify that the user attributes have been verified by the computing device. Preferably, the QR code is a dynamic QR code that may redirect the querying device to a specific location, such as a URL, and / or encode details related to the attribute verification in a machine readable manner, preferably in encrypted form. The dynamic QR code may be updated periodically. The use of dynamic QR codes may provide improved spoofing protection as described in more detail below.

[0024] Providing confirmation of attribute verification may additionally or alternatively include sending a message confirming the verified attribute associated with the user. For example, the computing device may send a message to another device confirming verification of the attribute. Alternatively, the message may be sent from one software application running on the computing device to another software application running on the computing device. The latter approach in particular enables cashierless shopping, whereby verification and confirmation of user attributes occurs solely on the computing device (e.g., the user's smartphone), eliminating the need for a query device or cash register.

[0025] The steps performed by the computing device may further include obtaining spatiotemporal information related to the verification of the attribute associated with the user. The steps may further include embedding the obtained spatiotemporal information in a confirmation of the verified attribute. "Spatial-temporal" in this context means related to the time and / or location at which the verification of the attribute associated with the user is taking place.

[0026] For example, the spatio-temporal information may include information regarding one or more of the following: a current date, a current time, a current location, and an identity of the facility where the verification of the attribute associated with the user is taking place. "Current" in this context means during or within a threshold time or distance from the time of verification. In one example, the verified attribute verification (e.g., a QR code) includes a date and time stamp that identifies when the verification of the user attribute took place. The verification may also include a location associated with where the verification of the attribute took place, such as the name of the facility and a GPS location. Embedding such information in the verification verification may reduce the likelihood of identity spoofing, as described in more detail below, thus making the verification process more secure.

[0027] The steps performed by the computing device include obtaining authenticated biometric data of the user and attribute information associated with the user from the identification document prior to capturing the biometric verification data; capturing the biometric enrollment data with the computing device; determining whether the biometric enrollment data matches the user by comparing the biometric enrollment data with the authenticated biometric data; and in response to determining that the biometric enrollment data matches the user, locally on the computing device: a) the authenticated biometric data of the user, and b) User-related attribute information The method may further include storing the

[0028] The above steps may be considered as a registration or configuration phase where a computing device is configured or registered for verification of attributes associated with a user. This registration / configuration phase may precede a subsequent verification phase where the user attributes are actually verified.

[0029] Obtaining authenticated biometric data of the user and / or attribute information related to the user from the ID may include capturing an image of the ID using a camera of the computing device. For example, the ID may be scanned or photographed by the computing device to obtain the authenticated biometric data and attribute information. Such information may be obtained using optical character recognition, or OCR, in some examples.

[0030] Additionally or alternatively, obtaining the authenticated biometric data of the user and / or attribute information associated with the user may include querying a memory of the ID. In other words, the computing device may communicate with a memory included in the ID, whereby the memory stores the authenticated biometric data of the user and / or attribute information associated with the user. The computing device may obtain this data from the memory.

[0031] Preferably, the identity is a document issued by an identity providing authority. For example, the identity providing authority may be a trusted authority such as a government, a government department, a passport office, a driving standards agency, a driver's license issuing authority, or any other authority authorized to provide identities. Limiting the methods of the present disclosure to the use of specific forms of trusted identity ensures that data derived from the identity can be reliably and accurately associated with the owner of the identity.

[0032] The ID may be a passport. The memory may be a wireless data transfer chip, such as an NFC chip. In one example, the ID is a passport and the memory is an ePassport NFC chip. The ePassport NFC chip represents an existing mechanism in which authenticated biometric data of a user and attribute information related to the user (e.g., regarding the user's name, age, date of birth, etc.) are digitally stored in the ePassport NFC chip of the passport. This chip can be read, for example, by a computing device of the present disclosure, and the information stored therein can be accessed. The biometric data obtained from the ID (the ePassport NFC chip in this example) may include an image of the user, a fingerprint of the user, and / or a close-up of the user's iris. As described in more detail herein, these biometric data can be used as authenticated biometric data to match subsequently captured biometric data from the user.

[0033] Determining whether the biometric verification data and / or biometric enrollment data match a user as disclosed above may include performing one or more anti-spoofing procedures. For example, if the biometric verification data includes a verification image captured by a computing device, the computing device may instruct the user to perform a particular gesture, such as "look left," "look up," or "tilt head" while the verification image is being captured. A biometric test may be performed based on the user's movements to ensure that the image being captured is an image of a real human and not an image of a spoof (e.g., a still photograph image). A similar mechanism may be applied when an enrollment image is captured by a computing device during the enrollment phase. Other anti-spoofing procedures that may be used when the biometric data is not an image of the user will be apparent to one skilled in the art. For example, if the biometric data includes a fingerprint, an anti-spoofing biometric check may include determining whether the finger changes color when pressure is applied to a fingerprint scanner, or checking for certain landmarks that are not commonly recognized in spoof fingerprints.

[0034] According to another aspect of the present disclosure, there is provided a computer-implemented method for configuring a computing device to verify attributes associated with a user. Such a method may be considered to relate to an enrollment or configuration phase in that it configures (or records) for a user a computing device that is subsequently used for verification of attributes associated with that user.

[0035] The disclosed method includes: a) obtaining authenticated biometric data of a user and attribute information associated with the user from an identification document or ID; b) capturing biometric enrollment data with a computing device; c) determining whether the biometric enrollment data matches the user by comparing the biometric enrollment data with the authenticated biometric data; and d) in response to determining that the biometric enrollment data matches the user, locally on the computing device. i) the authenticated biometric data of the user, and ii) User-related attribute information Remember The method includes performing, by a computing device, steps including:

[0036] By performing this method, the computing device may be configured to perform attribute verification for the user, as disclosed above and throughout this disclosure. In particular, the computing device may be configured to perform local attribute verification without the need for a centralized server. As noted above, in one implementation, the computing device may include a mobile device, e.g., the user's mobile device. In that case, the method may also be performed without the need to install dedicated hardware at the verification location. As noted above, the enrolled and authenticated biometric data may include an image of the user or a fingerprint of the user, captured, for example, by a camera or a fingerprint scanner, respectively, of the computing device.

[0037] The storing locally on the computing device may include embedding the authenticated biometric data of the user and / or attribute information related to the user into a certificate and recording the certificate locally on the computing device. As described above, such a certificate presents a reliable and reproducible representation of the attribute information and the authenticated biometric data such that the computing device can access both the data in a known location. Preferably, the certificate is encrypted to enhance security and data privacy. For example, only certain authorized software applications running on the computing device may have the appropriate permissions to decrypt the certificate and access the data stored or embedded therein. This reduces the possibility that the attribute information or the authenticated biometric data can be hacked or accessed by unauthorized parties.

[0038] The authenticated biometric data of a user and attribute information associated with the user may be stored such that they are accessible to two or more software applications running on the computing device. For example, the authenticated biometric data and attribute information may be embedded in a certificate, which may be stored in a predetermined location in memory on the computing device. This location may be known to or made accessible to two or more software applications running on the computing device such that the two or more applications can utilize the same data (e.g., the certificate). As described in more detail below, this may allow subsequent applications that utilize the stored data to be configured and set up for attribute verification without needing to obtain any further data from the ID.

[0039] In one example, steps a)-d) above are performed by a first software application running on the computing device, after which the method further includes e) accessing, by a second software application running on the computing device, the authenticated biometric data of the user and attribute information associated with the user stored locally on the computing device. The method may further include f) configuring the second software application to enable verification of the attributes associated with the user by the second software application. The method may further include g) verifying the attributes associated with the user by the second software application.

[0040] In this way, the second software application can be configured to allow attribute verification in the same way as the first software application, but configuration of the second software application does not require access to an ID. This is advantageous as it means that new applications can be set up more quickly for attribute verification in the absence of an ID.

[0041] According to another aspect of the present disclosure, a computing device is provided that is configured to perform any of the methods or processes disclosed herein. For example, the computing device may include a processor and a memory. The memory may store instructions that, when executed by the processor, cause the processor to perform one or more of the steps or processes disclosed herein. The computing device may be, for example, a mobile device that belongs to a verified user.

[0042] According to another aspect of the present disclosure, a computer-readable medium is provided that includes instructions that, when executed by a processor of a computing device, cause the computing device to perform any of the methods or processes disclosed herein. The computing device may be, for example, a mobile device belonging to a verified user.

[0043] According to another aspect of the present disclosure, there is provided a computer program comprising instructions that, when executed by a computing device, cause the computing device to perform any of the methods or processes disclosed herein. The computing device may be, for example, a mobile device belonging to a verified user.

[0044] According to another aspect of the present disclosure, there is provided a system comprising a computing device configured to perform any of the methods or processes disclosed herein for verification of attributes associated with a user, and a query device configured to receive confirmation of the verified attributes associated with the user from the computing device. The computing device may include, for example, a mobile device belonging to the user being verified.

[0045] According to another aspect of the present disclosure, there is provided a system comprising a computer program including instructions that, when executed by a computing device, cause the computing device to perform any of the methods or processes disclosed herein, the computer program including instructions that, when executed by the computing device, configure the inquiring device to receive confirmation of verified attributes associated with a user from the computing device. The computing device may, for example, include a mobile device belonging to the user being verified.

[0046] The inquiry device may be, for example, a point of sale (POS) device located at a cash register in a store. In some examples, the inquiry device may include a self-checkout machine.

[0047] Receiving confirmation of the verified attributes associated with the user from the computing device may include scanning a display of the computing device with the querying device.

[0048] Exemplary implementations of the present disclosure will now be described, by way of example only, with reference to the drawings in which: [Brief description of the drawings]

[0049] [Figure 1] FIG. 1 is a schematic diagram of an existing prior art system for attribute verification. [Diagram 2] FIG. 2 is a schematic diagram of another attribute verification system according to the present disclosure. [Diagram 3] 1 is a flow diagram of the steps involved in one implementation of the registration phase of the present disclosure. [Figure 4] 1 is a flow diagram of the steps involved in one implementation of the verification phase of the present disclosure. [Diagram 5] 11 is an example of a validation confirmation that may be displayed upon successful attribute validation. [Figure 6] 1 is a flow diagram of the processes involved in one implementation of the present disclosure that enables interoperability between different attribute verification software applications. [Figure 7] 1 is a flow diagram of the steps involved in an exemplary use case of the validation mechanism of the present disclosure. [Figure 8] FIG. 1 is a schematic diagram of a computing device that can be used to perform the methods of the present disclosure.

[0050] Like numbers refer to like features throughout the specification and drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0051] This Detailed Description describes an existing prior art system for attribute verification with reference to Figure 1. Then, an alternative and improved attribute verification system that overcomes various technical shortcomings of the prior art systems is described with reference to Figures 2-7. Finally, with reference to Figure 8, a computing device that can be used to perform the method of the present disclosure is described.

[0052] The methods and systems disclosed herein generally relate to the verification of user attributes such as age or identity. The processes and mechanisms of the present disclosure allow such verification to be performed locally using a computing device. In contrast to existing mechanisms, it does not require the exchange of data with a central authority or database. Thus, the technical shortcomings associated with prior art systems are addressed.

[0053] In one embodiment, the method of the present disclosure may be performed by an inquiry device located, for example, at the gate or entrance to a store or venue. The inquiry device may perform the method of the present disclosure to verify a user who wishes, for example, to purchase a restricted item at a store or to gain access to a venue. In other implementations, the method of the present disclosure is typically performed by a mobile device that belongs to or is associated with the person being verified. In this case, the method of the present disclosure provides an additional advantage in that there is no need to install any dedicated verification hardware at the point of verification. Instead, the user simply uses their own device.

[0054] The advantages of the disclosed system and method will be more readily apparent when viewed in light of existing systems for digital attribute verification, and an example of such a system will therefore be briefly described with reference to FIG.

[0055] 1, there is shown a server 102 associated with an attribute verification authority 101. To enable the central authority 101 to provide attribute verification functionality, the central authority 101 stores user profiles, for example in a database 104. For example, the database 104 may store a list of attributes associated with each user on the system, such as the user's age, birth date, name, gender, etc.

[0056] When a new user wishes to register for the service, the user communicates with a central server and database over a network 106, typically the Internet, via a user device 100. For example, the user may submit a registration request along with some form of personally identifiable information, or PII, which the server 102 can then associate with the user and store in a database 104.

[0057] The user may subsequently be required to verify an attribute such as their age, for example when purchasing a particular item at a store. At this point, either the user or a reference authority, such as the store purchasing the item, communicates with the attribute verification authority 101 over the network 106 to obtain the necessary verification data for the user. For example, the user's device 100 or the reference authority 108 may send some PII of the user (e.g., name or address) to the verification authority 101. Upon receiving this, the server 102 may match the PII with one of the user profiles it maintains in database 104, and respond to the user device 100 and / or the reference authority 108 with confirmation of the user's age, thereby verifying that attribute of the user.

[0058] As can be readily seen from the above and from Figure 1, in such prior art systems there is constant communication between users and / or referral authorities and a central attribute verification authority 101. This two-way communication is illustrated diagrammatically in Figure 1 by double-headed arrows.

[0059] A significant technical drawback of such prior art systems is that they are entirely dependent on the user device 100 and / or the reference authority 108 having a connection to the network 106 and thereby to the centralized attribute verification authority 101. This poses a problem, as the system may not be suitable for use in areas where network connectivity is unreliable or even non-existent. This is true in remote locations, but may also occur in crowded areas such as stadiums or concert venues where the network may be overloaded with many devices trying to connect to the same network cell. In such an environment, the prior art system of FIG. 1 would fail the attribute verification and be unable to provide it to the user. If attribute verification is an essential step in, for example, a transaction, the result would be that the user would not be able to complete the transaction. Similarly, if one is unable to verify his / her identity, he / she may not be able to enter the venue or building.

[0060] A further drawback of the system shown in Figure 1 lies in the fact that the centralized verification authority 101 must hold sensitive attribute data for many users. This presents an attack surface from which a hacker or malicious entity can access vast amounts of personal user data. Furthermore, as described above, PII such as the user's name, date of birth, or address must be transmitted over the network 106 as part of the registration or verification process. This further increases the possibility of the data being hacked or lost.

[0061] The systems and methods of the present disclosure, which will now be described in detail, provide alternative mechanisms for attribute verification that address the above-mentioned technical limitations of existing systems. Note that the technical limitations of the above-mentioned systems apply regardless of the type of user attribute being verified; that is, they are systematic technical limitations that arise from technical shortcomings of prior art systems. It is these technical limitations that the systems and methods of the present disclosure seek to address.

[0062] At a high level, the system of the present disclosure allows attribute verification to take place at a computing device such as a referral device at the store or venue, or locally at the user's own mobile device. This means that in contrast to prior art systems there is no need to rely on any central verification authority 101. The process that enables this is shown diagrammatically in Figure 2 and then described in more detail in Figures 3 and 4.

[0063] Referring initially to Figure 2, as shown, the attribute verification process of the present disclosure can be considered to include two distinct phases. The first phase, which can be considered a registration phase, configures the computing device 200 for use in the attribute verification procedure. It should be noted, therefore, that the terms "registration phase" and "configuration phase" are used interchangeably throughout this disclosure. After registration, during a subsequent verification phase, the computing device 200 is then used to verify attributes of the user 201, such as the user's age.

[0064] As mentioned above, the computing device 200 may be stationary or mobile. In some implementations, the computing device is a terminal, machine, scanner, or computer located at a verification venue. For example, the computing device 200 may be part of an entrance gate at a building or part of a cash register at a store. In other implementations, the computing device may be a mobile device, such as, but not limited to, a mobile computing device, such as a mobile phone, a smartphone, a personal digital assistant (PDA), a laptop, a tablet, and other "smart" mobile devices such as a smart watch. The process performed by the computing device 200 during the registration phase may be controlled by software running on the device. For example, if the computing device 200 is a mobile device, the process may be controlled by a software application or "app" running on the mobile device.

[0065] The enrollment phase is described in more detail below with respect to Figure 3, but briefly, during the enrollment phase, the computing device 200 captures biometric data of the user using the computing device 200. This process is represented by arrow (a) in Figure 2. The captured biometric data can be considered biometric enrollment data in that it is used by the computing device 200 to enroll the user 201 for attribute verification purposes.

[0066] The computing device 200 also obtains user attribute information and authenticated biometric data from the ID 202. This process is represented by arrow (b) in Figure 2. The authenticated biometric data represents or includes the biometric data as stored or contained in the user's ID 202.

[0067] The authenticated biometric data may be any data suitable for biometrically identifying the user 201. For example, the authenticated biometric data may include one or more of an image of the user (e.g., a passport photo or a driver's license photo), a fingerprint of the user, and an iris detail of the user (e.g., a close-up of the iris). These biometrics may then be used to subsequently identify the user when new biometric data of the user is received during enrollment or verification, for example, by facial recognition, fingerprint matching, and / or iris recognition, respectively.

[0068] For example, if ID 202 is a passport, the authenticated biometric data includes a passport photo, fingerprints, and iris details of user 201. If it comes from a passport, this biometric data can be considered as authentic or approved such that it accurately represents user 201. Similarly, attribute information can be presumed to be accurate as well since it comes from ID 202. Attribute information can relate to any attribute of user 201 that is evidenced by the data on ID 202, such as the user's name, date of birth, age, sex, address, nationality, etc.

[0069] Preferably, the method of the present disclosure is limited to using identification documents issued by trusted or authorized identity providing authorities. For example, the identity providing authority may be a government, a government department, a passport office, a driving standards agency, a driver's license issuing authority, or any other authority verified to provide identity. In that case, the computing device 200 may have access to a list of authorized identity providing authorities and may only accept use of identities issued by one of said authorities. The list of authorized identity providing authorities may be included as part of the software application performing the attribute verification on the computing device 200, for example as part of an SDK provided by the attribute verification software provider.

[0070] Once the authenticated biometric data of the user 201 has been obtained from the ID 202 and the biometric enrollment data has been captured, the data may then be compared. If the computing device 200 determines based on this comparison that the biometric enrollment data and the authenticated biometric data do not match the same person, the enrollment process fails. The user 201 may be given an opportunity to retry the process. This check prevents a user from enrolling under someone else's ID 202.

[0071] However, if the computing device 200 determines based on this comparison that the biometric enrollment data and the authenticated biometric data match the same person, i.e., both match the user 201, the enrollment process can be completed and the computing device 200 can be configured to verify one or more attributes of the user 201 in the future.

[0072] In particular, if the biometric enrollment data is determined to match the user 201, the computing device 200 may store locally on the computing device i) the authenticated biometric data of the user obtained from the ID 202, and ii) attribute information related to the user obtained from the ID 202. The stored authenticated biometric data and attribute information may then be subsequently used during a verification phase to verify one or more attributes of the user 201.

[0073] Such a verification phase is also shown diagrammatically in Figure 2. As shown diagrammatically, once again in the verification phase, the computing device 200 obtains biometric data of the user. In this case, the captured biometric data can be considered as biometric verification data, in that it is used to enable the computing device to verify user attributes. This process is represented in Figure 2 by arrow (c).

[0074] The computing device 200 may then compare the captured biometric verification data with the user's authenticated biometric data previously obtained from the ID 202 and stored in the computing device during the enrolment phase.

[0075] If the computing device 200 determines based on this comparison that the biometric verification data does not match the same person as the authenticated biometric data, i.e. does not match the user 201, the verification process fails. The user 201 may be given an opportunity to retry the process. This check prevents a user from using the computing device 200 to register to someone else's ID 202 during attribute verification.

[0076] However, if the computing device 200 determines based on this comparison that the biometric verification data matches the authenticated biometric data, i.e., the same person as the user 201, the attribute verification can proceed. In particular, the computing device 200 can access attribute information previously obtained from the ID 202 during the enrollment phase and stored in the computing device 200. Based on the attribute information, the attributes related to the user can be verified. For example, the attribute information may include the date of birth of the user. Based on this information, and upon successful passing of the biometric authentication phase, the computing device 200 can verify or confirm the age of the user, i.e., that the user has reached a certain minimum age. In another example, the attribute information may include the name of the user. In that case, and upon successful passing of the biometric authentication phase, the computing device 200 can verify or confirm the name of the user, i.e., that the user is on a list of verified or approved persons or has a certain clearance or privilege.

[0077] In some examples, a confirmation of the attribute verification can be presented or transmitted by the computing device 200, for example, to the referral agency 108. This process is represented in FIG. 2 by arrow (d). In some examples, the referral agency 108 may include a referral device, such as a cash register at a store, an entrance gate at a venue or other building, a vending machine, or a delivery person's device, such as when the methods of the present disclosure are used in a home delivery context. By receiving or scanning the confirmation, the referral device can confirm that the user is verified for the transaction or for entry into the venue, thereby facilitating a fully automated transaction flow and entry into the venue.

[0078] The above functionality allows for the verification of the attributes of the user 201 completely locally. No network connection is required during the registration or verification phase. This means that attribute verification can be performed at any location at any time, regardless of the network quality or connectivity. Furthermore, in contrast to the prior art system of FIG. 1, at no point does PII or sensitive data need to be transmitted from the computing device 200 to a remote network or server. This reduces the possibility of a malicious actor obtaining user data or PII, further increasing security. Furthermore, when the computing device 200 is a user's mobile device, there is no need for one centralized authority to hold sensitive data of multiple people. Instead, the data is distributed and held on the users' own personal computing devices. This distributes the attack surface available to malicious actors and avoids the possibility of a single hack or data loss that would, for example, expose sensitive data of multiple users at the same time.

[0079] As will be apparent, the methods of the present disclosure enable more reliable and secure mechanisms for verifying user attributes such as age and identity. To further aid in understanding these mechanisms, the two steps described above (enrollment and verification) will now be described in further detail with reference to Figures 3 and 4, respectively.

[0080] Referring first to Figure 3, an example of the registration or configuration phase described above and shown in Figure 2 is shown in more detail. In particular, various steps performed by computing device 200 during the registration phase are shown. As noted above, this process is typically performed under the control of software running on computing device 200 and directing a processor of computing device 200 to perform the steps described. If computing device 200 is a mobile device such as a smartphone, the software typically includes a software application or "app" running on mobile device 200.

[0081] In one example, the process begins or is initiated when software or a software application receives a request from user 201 to initiate enrollment, such as by input on a screen of computing device 200. In response, the process of Figure 3 begins, with computing device 200 obtaining authenticated biometric data of the user from ID 202 and attribute information associated with the user, in block 301.

[0082] In one example, the camera of the computing device 200 is used to obtain the authenticated biometric data and attribute information. For example, an image of the ID 202 can be captured. Optical character recognition (OCR) may then be used to extract the attribute information from the ID 202. An image of the user contained in the ID 202 can be similarly scanned or photographed and extracted as the authenticated biometric data, i.e., the authenticated image of the user 201.

[0083] In another example, some or all of the authenticated biometric data and / or attribute information is obtained by interrogating a memory of the ID 202. For example, the ID 202 may include a wireless data transfer chip, such as an NFC chip. The memory may be of the known ePassport NFC chip type. The computing device may communicate with or read from this memory to obtain the authenticated biometric data of the user and / or attribute information associated with the user. The memory may be protected, for example, by a password. If so, the computing device 202 may obtain the password to enable communication with the memory. In one example, the password is obtained by capturing and performing OCR on characters or text displayed on the ID 202, and determining the password based on the characters or text.

[0084] In some examples, as discussed above, the type of ID that can be used during registration can be limited to a particular document format or type. This may effectively limit the type of ID that can be used to a particular specific official document issued by a recognized authority or a certain subset of the government. This may increase the confidence that can be assigned to the authorized biometric data and attribute information obtained from the ID 202. Non-limiting examples of ID include passports, driver's licenses, national identity cards, health care cards, and biometric permits such as residence permits. More generally, as discussed above, the method of the present disclosure may be limited to using IDs issued by authorized identity providing authorities such as governments, passport offices, driving standards agencies, or driver's license issuing offices. Authorized identity providing authorities may be those authorized by the attribute verification software provider that provided the attribute verification software running on the computing device 200. The attribute verification software provider may then include a list of authorized identity types and / or authorized identity providing authorities as part of the attribute verification software embedded in, for example, the SDK.

[0085] Next, in block 303, the computing device 200 captures biometric enrollment data. In some implementations, the biometric enrollment data includes an image of the user, i.e., an enrollment image. If the computing device 200 is a terminal, the user may be instructed to stand in front of the terminal so that the user is within the field of view of the terminal's camera. Alternatively, if the computing device 200 is a user's mobile device, such as a smartphone, the enrollment image may be a "selfie," i.e., an image of the user taken with the mobile device's front camera. Other methods for obtaining an enrollment image using the computing device's 200 camera will be apparent to those skilled in the art and depend on the nature of the computing device 200 and the location of its camera. In other examples, the biometric enrollment data includes a fingerprint of the user or a close-up of the user's iris. These may be obtained in any suitable manner, such as by a fingerprint scanner or camera of the computing device 200.

[0086] In some implementations, when the biometric enrollment data is captured in block 303, an anti-spoofing procedure may be performed. Typically, the anti-spoofing procedure includes some form of biometric check to establish that the captured biometric enrollment data is from a real human and not an impersonator. In one example, the biometric enrollment data includes a captured image, and the computing device 200 may instruct the user 201 to perform one or more gestures, such as "look left," "look right," or "turn head left." The computing device 200 may then determine whether the instructed gestures were performed by a person within the camera's field of view. If the gestures can be traced, the computing device 200 may capture an enrollment image or use the captured frame as an enrollment image during the anti-spoofing procedure. If the gestures cannot be traced, the enrollment image may be rejected. If the biometric enrollment data includes a fingerprint or iris, other suitable anti-spoofing or biometric tests may be performed. This type of anti-spoofing procedure prevents user 201 from falsifying his or her biometric enrollment data, for example by holding a photograph or similar spoofing object up to the camera during enrollment, or by using a molded or fake finger during fingerprint verification. Other examples of biometric checks and anti-spoofing mechanisms that can be used as part of the methods of the present disclosure will be apparent to those skilled in the art.

[0087] Once the biometric enrollment data is captured, the method proceeds in block 305 to determine whether the biometric enrollment data matches the same person as ID 202. Specifically, the biometric enrollment data is compared in block 301 to the authenticated biometric data obtained from ID 202 to determine whether they match, i.e., match the same person. The exact comparison mechanism for making the determination in block 305 is beyond the scope of this disclosure and will be apparent to one of ordinary skill in the art. For the enrollment image, some form of facial recognition procedure is typically performed on both the enrollment and authenticated images to determine whether the facial features in each image are sufficiently similar. For example, the computing device 200 may use facial landmark analysis to determine whether the difference in relative position between certain significant facial landmarks in each of the authenticated and enrollment images is less than a predetermined threshold. In another example, a method known as FaceNet, which extracts high quality features from a face and predicts a 128 element vector, called a face embedding, that represents these features to determine a match. In some examples, iris recognition may be used, comparing the iris of the enrollment image with the iris of the authenticated image. If a fingerprint is used, a suitable fingerprint analysis mechanism compares the enrolled fingerprint obtained in block 303 to the authenticated fingerprint obtained in block 301. Other mechanisms for comparing biometric data for similarity will be apparent to those skilled in the art and may be used as part of the method of the present disclosure.

[0088] If it is determined that the biometric enrollment data does not match the same person as the authenticated biometric data, enrollment fails and a registration error is logged or displayed in block 309. The user may be prompted to retry the enrollment process. This check prevents a person from enrolling themselves under someone else's identity.

[0089] On the other hand, if the comparison made in block 305 is successful, in other words if it is determined that the authenticated biometric data and the biometric enrollment data match the same person, the method proceeds to block 307. At this stage, the authenticated biometric data and attribute information obtained in block 301 from ID 202 are stored locally on computing device 200. In a preferred embodiment, the authenticated biometric data and attribute information are embedded in a certificate that is stored locally in the memory of computing device 200. This certificate is preferably encrypted to increase data security.

[0090] In some implementations, the computing device 200 simply obtains the attribute information from the ID 202 and stores it as is if the biometric check is passed. However, in other implementations, the computing device 200 calculates some further attribute information for the user 201 based on the attribute information obtained from the ID 202. For example, the user's birthdate may be obtained from the ID 202. From this, the computing device 200 may determine the user's age, i.e., whether the user meets some predefined criteria, e.g. "the user is 18 years or older" or "the user is 21 years or older". In some examples, if the process determines at this stage that the user does not meet the minimum age criteria, the registration process ends, regardless of whether the biometric check is passed in block 305. The user is preferably informed that the minimum registration requirements are not met and that preferably all data previously obtained by the computing device 200 will be deleted.

[0091] When a determination is made by the computing device 200 about the user's age based on information obtained from the ID 202, the current date can be used for the calculation of the age. Preferably, the current date is obtained from a trusted source, such as a data carrier or a mobile phone network, to which the computing device 200 has access, rather than the local date of the computing device 200. This prevents a user from falsifying his or her age by changing the local date of the computing device 200 and confusing the age calculation made by the computing device 200. It is noted that this approach requires some very limited contact with the network or carrier, but the only information that needs to be obtained is the current date (and optionally the time). This is quite simple and, in contrast to the prior art system of FIG. 1, does not require heavy data transmission between the computing device 200 and the network. In particular, a basic telephone network connection is sufficient, no Internet connection is required. Once the date has been established by the computing device, no further communication with the network is required.

[0092] Preferably, the authenticated biometric data and attribute information are stored in a location and manner on the computing device 200 such that other software applications performing a similar attribute verification process can access them in the future. This means that enrolment and verification can be performed by different software applications, improving the versatility of the system as a whole. This is particularly useful when the computing device 200 is a user's mobile device where there may be multiple age verification applications related to different merchants and / or venues. In this case, the user 201 does not need to use the ID 202 during configuration of a subsequent software application if the second software application can access the authenticated biometric data and attribute information stored by the first software application. This significantly speeds up enrolment by subsequent software applications for attribute verification, since the user only needs to enrol substantially once with his ID 202 by using the method disclosed above. All subsequently used applications can access the locally stored authenticated biometric data and attribute information without requiring the user to re-enrol altogether or present the ID 202 to the computing device 200. A process for enabling such functionality is described in more detail below with reference to FIG. 6.

[0093] The authenticated biometric data and attribute information are stored in some examples using an SDK provided by the attribute verification software provider in block 307. In this case, certain security measures such as encryption can be provided to protect the data. Then, in some implementations, only applications running the same SDK or provided by the same attribute verification software provider can access the stored authenticated biometric data and attribute information. For example, the authenticated biometric data and attribute information may be optionally encrypted as part of a certificate, and an encryption key to enable decryption of the stored data may be embedded in the SDK. Other applications can then access the stored data only if they have access to the key, which may be limited to software applications running the same SDK or that have been given access to the key by the attribute verification software provider. In this way, the above functionality can be provided that allows interoperability between software applications without compromising the security of the stored data, since only certain authorized software applications can access the stored data.

[0094] In some examples, the stored data may additionally or alternatively be associated with or encrypted with the device chip ID or other unique ID of the computing device 200 where registration occurs, thereby preventing the stored data (i.e., authenticated biometric data and attribute information) from being transferable or usable for attribute verification on different user devices, further enhancing security and reducing the possibility of identity spoofing.

[0095] The registration procedure of Figure 3 allows a user 201 to register themselves with computing device 200 and configure computing device 200 to perform future attribute verifications. The mechanism for performing such subsequent attribute verifications is now discussed in more detail with respect to Figure 4.

[0096] With reference to FIG. 4, an example of the verification phase described above and shown in FIG. 2 is shown in more detail. In particular, various steps are shown that are performed by the computing device 200 during the verification phase to perform attribute verification for the user 201. As with the enrollment phase, the processes associated with the verification phase are typically performed under the control of software running on the computing device 200 and directing the processor of the computing device 200 to perform the enumerated steps. The software may be provided in the form of an "app" as described above. The software responsible for performing the verification process of FIG. 4 may be the same or different software as that performing the enrollment process of FIG. 3. The only requirement is that the software performing the process of FIG. 4 has access to or can obtain the authenticated biometric data and attribute information stored locally on the computing device 200 during the process of FIG. 3.

[0097] In one example, the verification process begins or is initiated when the software receives a request from the user 201 to initiate attribute verification, for example by input on the screen of the computing device 200. Alternatively, particularly if the computing device 200 is a mobile device, the computing device 200 may receive the request from a local inquiry device, such as a cashier machine in a store, a vending machine, or an inquiry device carried by, for example, a delivery person. In response, the process of FIG. 4 begins, with the computing device 200 capturing biometric verification data in block 401. The same considerations discussed above with respect to capturing biometric enrollment data in FIG. 3 apply here to capturing biometric verification data. In particular, the biometric verification data may be an image captured by the camera of the computing device 200, a fingerprint captured by a fingerprint scanner of the computing device 200, or any other suitable biometric data that allows for biometric identification. In the case of an image, the verification image may represent the field of view of a stationary terminal or device, or may be a "selfie" captured by the front camera of the user's mobile device. Anti-spoofing mechanisms may be used to prevent spoofing of biometric verification data as described above with respect to biometric enrolment data.

[0098] In block 403, the computing device 200 determines whether the biometric verification data corresponds to the same person as ID 202, i.e., whether the biometric data matches. Specifically, the biometric verification data is compared to the authenticated biometric data obtained from ID 202 in block 301 of the enrollment phase. As with the enrollment phase, the exact comparison mechanism for determining block 403 is beyond the scope of this disclosure, and the same considerations discussed above with respect to block 305 apply to block 403. In other words, any suitable form of facial recognition, fingerprint analysis, iris analysis, or similar analysis may be performed to determine whether the biometric data matches.

[0099] If it is determined that the biometric verification data does not match the same person as the authenticated biometric data, the verification fails and logs or displays a verification error 407. The user may be prompted to retry the verification process. This prevents using a computing device for attribute verification when the computing device has been configured with someone else's ID 202.

[0100] On the other hand, if the comparison made in block 403 is successful, in other words if it is determined that the authenticated biometric data and the biometric verification data correspond to the same person, the method proceeds to block 405. At this stage, one or more attributes associated with the user are verified by the computing device 200 based on the attribute information associated with the user obtained from the ID 202 during the enrollment stage, block 307, and stored locally on the computing device.

[0101] In one example, block 405 includes accessing age-related attribute information obtained from ID 202 during registration and stored locally on computing device 200. For example, the attribute information may include the user's birth date. From this, computing device 200 may determine the user's age or that the user is over a minimum age, such as 18 years old. In another example, block 405 includes accessing identity-related attribute information obtained from ID 202 during registration and stored locally on computing device 200. For example, computing device 200 may verify the user's name based on the stored attribute information.

[0102] As will be apparent, the verification process of Figure 4 can be performed entirely locally in the sense that no connection between computing device 200 and any remote networks or servers is required for attribute verification. This is in contrast to the prior art system described with reference to Figure 1 above. Also in contrast to that system, the method of Figure 4 does not require the transmission of any PII from computing device 200.

[0103] In response to verifying the attributes of the user 201 in block 405, the computing device 200 may take further action. For example, if the computing device 200 is part of an entrance gate to a venue or building, the computing device 200 may allow the person to access the venue or building once it has verified the user's name and confirmed that they are on a list of authorized persons. In another implementation, once it has verified one or more user attributes in block 405, the computing device 200 proceeds to provide confirmation of the verified attributes associated with the user on a display of the computing device 200. The computing device may alternatively or additionally send a message confirming the verified attributes associated with the user, for example to a remote device or network and / or another software application running on the computing device 200. This confirmation may additionally or alternatively take other forms, for example, the confirmation may include an audio confirmation, such as a confirmation tone or a voice message.

[0104] If the verification confirmation is provided on the display of the computing device 200, the confirmation may include human readable and / or machine readable elements. For example, the display may display the exact age of the user, e.g., "35 years old". Alternatively, the display may indicate that the user has reached a certain minimum age, e.g., "18 years old or older". In another implementation, a graphic may accompany or be used in place of such a textual display of the attribute verification. For example, a green mark may be displayed along with the word "Verified". Any number of mechanisms for such verification of the attribute verification on the display of the computing device will be apparent to one of ordinary skill in the art. If the verification includes a machine readable element, it may be in the form of a QR code in which the attribute verification is embedded. For example, the QR code, when read by a suitable QR code reader, may verify the user's age to the reader and / or verify that the user is over a required minimum age, such as 18 years old. Providing such a visual confirmation of attribute verification on the display of the computing device 200 may be particularly useful where the computing device 200 is a mobile device of the user 201, as the user 201 may then present their mobile device to a store or venue attendant, a machine interface at the store or venue (such as a QR code scanner), or any other reference agency or device, such as a delivery person's machine or vending machine, etc. Presenting such confirmation of verification may then facilitate completion of a transaction or entry into the venue, for example.

[0105] In one embodiment, the QR code displayed on the computing device 200 to confirm validation is a dynamic QR code that may redirect the inquiring device (QR scanner) to a specific location, such as a URL, or present specific recently obtained spatiotemporal data to the inquiring device. The dynamic QR code may be updated periodically. The use of such dynamic QR codes may provide improved spoofing protection, as described in more detail below.

[0106] In one example, the verification procedure of FIG. 4 may include obtaining spatiotemporal information associated with the verification of an attribute associated with the user. This obtained spatiotemporal information may then be embedded in a confirmation of the verified attribute, such as a dynamic QR code, displayed by the computing device 200 after verification. The spatiotemporal information may provide some indication of when and / or where the attribute verification occurred, and again may be particularly useful when the computing device 200 is the user's mobile device and when the user is required to present a verification confirmation as part of a transaction or venue entry procedure. Typically, the spatiotemporal information includes one or more of the current date, current time, current location, and an identification of the facility where the verification occurred or is taking place.

[0107] In one embodiment, the computing device 200 is a mobile device of the user 201, and the spatiotemporal information referred to above is obtained by the user during the verification process using the camera of his / her mobile device 200 to scan a QR code or similar visual indicator provided at the location where the verification is taking place. For example, if the verification concerns age verification at a store, the user may scan a QR code provided on a cash register at the store. In some implementations, the user may alternatively scan a memory such as an NFC chip or similar element to obtain the spatiotemporal information. The obtained spatiotemporal information may also indicate the location and name of the store in this example. This obtained location information can then be combined with the current date and time, for example provided by the local clock of the mobile device 200, the mobile network, or preferably the QR code being scanned.

[0108] The combined spatio-temporal information can then be embedded in the verification confirmation displayed on the mobile device 200. Thus, when the verification confirmation is presented and read by a waiter or a scanner (if machine-readable) at the store or venue, the confirmation not only confirms that the user's attributes have been verified, but also the date, time and store or venue identification where the verification took place. This increases the level of security of the verification process, since it means that it is immediately clear if a user attempts to present a screenshot or image of a verification confirmation that is earlier in time than that on the mobile device 200. In such a case, the confirmation can be rejected because the time and / or location data embedded in the confirmation does not match the expected time and / or location. In a preferred implementation, the confirmation (e.g., a QR code) provided on the display of the mobile device 200 during attribute verification is time-limited in the sense that it automatically expires or is periodically refreshed. This further prevents spoofing of the verification process, since older verification confirmations cannot be reused.

[0109] An example of a verification confirmation that may be displayed on the computing device 200 after successful attribute verification in block 405 is shown in FIG. 5. In this example, the computing device 200 is a user's mobile device 500 on which a successful visual confirmation of the attribute verification is displayed. In this example, the attribute being verified is the user's age, specifically that the user is 18 years of age or older. As is apparent, this confirmation includes both a human readable element 501 and a machine readable element 503. Both types of elements 501, 503, in this example, include spatiotemporal information regarding when and where the attribute verification occurred. In particular, the human readable element includes spatiotemporal information regarding the name and location of the store where the verification occurred ("X Store", Oxford Street, London). This information can be obtained in one example by using the mobile device 500 to read a QR code provided at the store's cash register in the manner described above. The human readable element also includes a timestamp (Wednesday, January 6, 2021 13:29:43) indicating the time and date when the verification occurred. This time may represent the time the process of Figure 4 was completed or the time the QR code or similar element was read at the store. Finally, the human readable element includes a visual indicator that the user is over the age of 18, in other words, this attribute has been verified. The displayed confirmation also includes a machine-readable QR code 503 that includes all of the above information embedded in machine-readable form.

[0110] In this way, the displayed confirmation can confirm to humans (such as store clerks) and machines (such as QR scanners at cash registers or vending machines) that the user's age has been verified and that the verification was done recently at the store. The inquiry device or institution may set a threshold time after which it will be clear that the verification confirmation will not be accepted. For example, if the timestamp is longer than 30 seconds, the confirmation cannot be accepted. Similarly, the confirmation can be rejected if the identified store or location is not one where the customer is present. The software running on the computing device 200 may itself time limit the confirmation, for example making the confirmation invalid and / or unreadable after a certain threshold time. Limiting the confirmation in this way prevents the customer from using a confirmation obtained in the past or obtained by someone else at a different store.

[0111] When attribute verification is used to allow user 201 access to a venue or building, the software application performing the attribute verification may itself verify that user 201 has the necessary clearance. For example, the software application may contain or have access to a list of people with clearances. If during registration user 201 is found to match one of the names on the clearance list, an indication of this fact may be stored as part of the attribute information. The verification check at the time of verification may then simply verify that user 201 has access permission. Alternatively, in some instances the verification may simply verify the name of user 201, and then a querying device such as an entrance gate checks the user's verified name against a list of authorized persons.

[0112] Referring now to Fig. 6, a further example method according to the present disclosure is described. As briefly described above, storing the authenticated biometric data and attribute data obtained from ID 202 in a particular manner can make the verification procedure of the present disclosure more versatile and time-efficient by allowing multiple software applications to access the stored information. This can be particularly useful when computing device 200 is a mobile device such as a smartphone on which multiple software applications can be installed for attribute verification. The method of Fig. 6, which can be considered as an extension of the method shown in Fig. 3, allows for greater interoperability between such multiple software applications.

[0113] As discussed above, in block 307 of Figure 3, a first software application is used to store the authenticated biometric data and attribute information locally in memory of computing device 200. The method of Figure 6 then continues in block 601 by ensuring that the authenticated biometric data and attribute information stored in block 307 is accessible to two or more software applications, and in particular that applications other than the application that performed the enrollment process of Figure 3 can access the stored authenticated biometric data and attribute information with proper authorization. As will be appreciated, the functionality of block 601 can be incorporated or subsumed as part of the process of block 307, i.e., they need not be separate steps.

[0114] At some later time, the method of Figure 6 then includes, in block 603, accessing by a second software application the authenticated biometric data and attribute information stored in block 307 and made accessible in block 601. If the authenticated biometric data and attribute information is encrypted or protected in some manner, block 603 may include providing the second software application with a suitable key or password to decrypt or otherwise access the authenticated biometric data and attribute information. As noted above, the authenticated biometric data and attribute information may be stored as a certificate, which may itself be encrypted or password protected. The second software application may then be given access to this certificate and the means to decrypt or access it as necessary.

[0115] Next, in block 605, the second software application is configured for attribute verification. In one example, this includes performing the enrollment method of FIG. 3 with the second software application. However, since the second software application already has access to the stored authenticated biometric data and attribute information, the use of ID 202 can be omitted when configuring the second software application. This significantly simplifies and speeds up the configuration process, since ID 202 is not required and no data needs to be obtained from it. Finally, in block 607, the second software application is used to perform attribute verification. This may include performing the method of FIG. 4 with the second software application.

[0116] Thus, as is evident, configuration of the second software application can be facilitated by utilizing data previously stored by the first software application. The second software application can then be used to perform attribute verification in the same manner as the first software application. This is advantageous since different establishments may have their own respective software applications within their establishments or stores to perform attribute verification. The method of FIG. 6 ensures that registration using only the ID 202 only needs to be done once across all such applications. As long as the software applications used thereafter have access to the stored authenticated biometric data and attribute information, these applications can be configured in a streamlined manner without the need for the ID 202 and can then be used to perform attribute verification using each. As mentioned above, access to the required information can be ensured, for example, by ensuring that all applications intended for attribute verification share and include the same SDK enabling them to access the relevant stored authenticated biometric data and attribute information.

[0117] Next, referring to FIG. 7, a detailed use case of the system and method of the present disclosure will be described to further facilitate understanding. This use case should be understood as merely an example intended to fully illustrate how the system and method of the present disclosure can be used. Many steps described with respect to FIG. 7 may be omitted in other examples, and additional steps can be added. Thus, the sequence of FIG. 7 should in no way be construed as limiting or identifying essential features.

[0118] In the exemplary process of Figure 7, a user 201 uses his / her mobile device 500 to perform attribute verification at a subsequent venue to verify both his / her age and identity. It will be appreciated that although the method of Figure 7 uses image verification, the method may similarly use other forms of biometric data, such as fingerprint or iris data, to enable attribute verification.

[0119] The process begins at block 701 by the mobile device 500 receiving a request from the user 201 to register with a first software application running on the mobile device 500. The first software application is provided by an attribute verification software provider. In response to receiving this request to register, the first software application performs the registration / configuration procedure described above with respect to FIG.

[0120] In particular, the first software application prompts the user to obtain the necessary authenticated biometric data from the ID. In block 703, the mobile device obtains authenticated biometric data from the ID 202, in this example an authenticated image of the user 201. The mobile device also obtains attribute information from the ID 202. In this example, the ID 202 is a passport with an ePassport NFC chip, and therefore the authenticated image and attribute information are obtained by the user reading the ePassport NFC chip with the NFC reader of the mobile device 500. The first software application then prompts the user to obtain biometric enrollment data, in this example an enrollment image. Thus, in block 705, the first software application uses the camera of the mobile device 500 to capture a first enrollment image of the user 201, for example capturing a "selfie" using the front camera of the mobile device 500.

[0121] At block 707, the first enrollment image and the authenticated image obtained from the passport 202 are compared. The first software application verifies by facial landmark analysis that both images show the same person, i.e., the user 201. In response to a successful match, the first software application embeds the authenticated image and attribute information obtained from the passport 202 into a certificate having a predetermined format and file type set by the SDK used by the first software application. The first software application encrypts this certificate and stores it locally in the memory of the mobile device 500 at block 709. In this example, the attribute information obtained from the passport 202 includes the date of birth, name, nationality, and address of the user 201. The first software application calculates that the user 201 is over 18 years old based on the date of birth and the current time obtained from the mobile network provider. Therefore, this preferred indication is also stored in the certificate as part of the attribute information. The first software application then confirms that the enrollment was fully successful on the display of the mobile device 500.

[0122] Later, user 201 enters the store and wishes to purchase a product associated with an age restriction. In particular, user 201 must verify that he or she is 18 years of age or older in order to purchase the product as part of the transaction flow at the cash register. User 201 therefore opens a first software application and requests age attribute verification. In response, the first software application initiates the verification procedure described above with respect to FIG. 4. In particular, the first software application prompts user 201 to capture biometric verification data, which in this example includes a verification image. The first verification image is captured in block 711 using the camera of mobile device 500.

[0123] At block 713, the first software application accesses the certificate previously stored during enrollment. The first software application has access to the password or key necessary to decrypt the certificate, via an SDK provided with the first software application by the attribute verification software provider. Upon accessing the authenticated image embedded in the certificate, the first software application verifies through facial landmark analysis that the first verification image just captured shows the same person, i.e., user 201, as the authenticated image. In response to a successful match, the first software application accesses attribute information stored locally in the certificate to verify the user's age. In particular, the first software application verifies that the attribute information includes an indication that the user is 18 years of age or older.

[0124] The first software application then instructs the user 201 to scan a QR code present at the store's cash register. The QR code provides spatiotemporal information regarding the current time and location. Upon reading the QR code, the first software application presents a confirmation that the user is 18 years of age or older on the display of the mobile device 500 at block 715. This confirmation is similar to that shown in FIG. 5 and discussed above. This confirmation includes a visual indicator that the user is 18 years of age or older that can be presented to a store associate. This confirmation also includes spatiotemporal information obtained from the QR code at the cash register. In particular, this confirmation includes an indication of the current time and date provided by the QR code, as well as the store's location and brand. This spatiotemporal information and attribute verification confirmation are also embedded in a dynamic QR code that is presented on the display of the mobile device 500 as part of this confirmation. In a store associate or other embodiment, a scanner at the self-checkout machine scans the QR code on the display of the mobile device to confirm in machine-readable form that the user 201 is 18 years of age or older and that the spatiotemporal data matches the expected time and location. If the verification is successful, the transaction is completed and the user 201 can purchase the restricted product.

[0125] Following this, the user wishes to enter a different venue where access is restricted to a specific sub-population of people who need to verify their identity using a second software application provided for attribute verification.

[0126] Thus, the user 201 downloads the second software application to the mobile device 500. The user then initiates configuration of the second software application for attribute verification such that the second software application receives a request to enroll the user 201 in block 717. This in turn triggers the normal enrollment process described above in the second software application. Importantly, configuration of the second software application does not require the second software application to access any information from the user's passport 202 or any other ID, since the second software application also includes an SDK provided by the attribute verification software provider. As a result, the second software application can also access and decrypt the certificate previously stored in the local memory of the mobile device 500 by the first software application. In doing so, the second software application obtains the authenticated biometric data (in this example, the authenticated image, i.e., the passport photo) and the attribute information in block 719. As usual, the second software application then prompts the user to capture biometric enrollment data, which in this example includes an enrollment image. Such second enrollment is captured using the camera of the mobile device 500 in block 721. As usual, the second software application then proceeds to verify that the second enrollment image and the authenticated image show the same person in block 723. Upon successful matching, the second software application confirms on the display of the mobile device 500 that the enrollment was fully successful.

[0127] User 201 then arrives at the venue and is asked to verify his or her name, either by a hostess or an automated gate, so that this name can be checked against a list of people with access clearance to the venue. User 201 therefore opens a second software application and requests name attribute verification. In response, the second software application initiates the verification procedure described above with respect to FIG. 4. In particular, the second software application captures a second verification image at block 725 and verifies that this image matches the authenticated image at block 727. If the match is successful, the second software application displays a confirmation of the user's name on the mobile display at block 729 in a similar manner as discussed above. Upon scanning this confirmation, the entrance gate determines that the user has the necessary access permissions and allows user 201 to enter the venue.

[0128] As is evident, the system and method of the present disclosure allows for simple, secure, and reliable user attribute verification. A user can utilize one or more software applications on the same computing device, can easily configure them, and really only needs to provide an ID during initial registration. This allows seamless and frictionless interoperability between multiple applications for attribute verification. Various attributes such as age and identity can be verified. No network connection is required for verification, nor is it necessary to transmit sensitive PII to any remote network or server. The incorporation of spatio-temporal information into attribute verification during image verification and / or the use of anti-spoofing processes can further ensure that attribute verification is secure and that the system cannot be easily fooled, thus providing further technical advantages. These advantages are obtained by the system of the present disclosure regardless of the data being processed, in other words, regardless of which specific attributes are being verified. The method and system of the present disclosure thereby address various technical shortcomings of prior art systems.

[0129] Transform The above Detailed Description describes various exemplary systems and methods for attribute verification. However, it will be appreciated by those skilled in the art that the described arrangements and methods are merely exemplary and that various modifications can be made without departing from the scope of the appended claims. Some of these modifications will now be briefly described, however, this list of modifications is not considered to be exhaustive and other modifications will be apparent to those skilled in the art.

[0130] Each of the flow diagrams used in this disclosure, i.e., in Figures 3, 4, 6, and 7, shows a specific sequence of events, indicated by arrows leading from one block to the next. However, each of these figures represents only one exemplary implementation, and the order of the blocks may vary in other implementations. Thus, the sequences shown in Figures 3, 4, 6, and 7 should not be construed as the only possible sequence of steps. Instead, in some implementations, block 303 may precede block 301, in some implementations, block 307 may precede block 305, and data may be deleted if the answer to block 305 is "no," to name just a few. In some implementations, block 603 may precede or trigger block 601, and in some implementations, block 605 may precede or encompass block 603 and / or block 601. Unless it is explicitly stated that a particular step must precede another step, any sequence of steps should be considered possible.

[0131] As mentioned above, the unique ID of the computing device on which registration occurs may be incorporated into the certificate or validation data may be stored in some manner to ensure that validation can subsequently occur only on that computing device. In some examples, the unique ID may be derived from a device chip ID on the computing device, a unique serial number or ID provided to the computing device at the time of manufacture.

[0132] As mentioned above, a software application provided on a computing device for attribute verification may include a particular SDK or a subset of the SDK assets. The SDK may be provided by the attribute verification software provider to a third party or may be incorporated into a third party software application, for example an application associated with a shopping facility or venue. The SDK may set a minimum age standard or include a list of names of accredited persons. The SDK may assist the software application in storing and / or encrypting the authenticated biometric data and attribute information, for example to be stored as a certificate. The SDK may then provide or enable a private key to access the encrypted data by a different software application that also includes the SDK or a subset of the SDK assets.

[0133] In some examples, pseudonymized or anonymized data may be sent to the attribute verification software provider that provided the verification software application and / or SDK to enable the collection of anonymous verification data. This may enable the attribute verification software provider to identify patterns and trends that may enable updates or improvements to the provided software application and / or SDK. In some examples, the anonymized data sent may include spatio-temporal data, such as details of the venue where the attribute verification was performed, thereby providing an audit record of each individual form of verification performed by the user. This may assist in fraud prevention by providing a record of verified and traceable transactions. Once network connectivity is available, the transmission of such anonymized data may occur after the verification. For example, these data may be stored in a local buffer on the computing device and then transmitted by it at a later time. In some cases, the user may be prompted to choose whether or not to share their data with the attribute verification software provider. In some implementations, the user may be prompted to confirm whether or not to allow the venue (e.g., retail store) where the attribute verification was performed to access certain data related to the verification and / or transaction. This information may be obtained by the venue by scanning a verification confirmation displayed on the computing device.

[0134] The verification may be part of a fully or partially automated process. In some examples where the verifying computing device is the user's mobile device, the querying device (which may function autonomously or under the action of the user or another user) may have its own companion application provided by the same attribute verification software provider as the verification application on the user's mobile device and / or including some or all of the same SDKs, which may enable the companion application to interface with and query the software application on the user's device.

[0135] In one example, the verification confirmation may be presented to a human, such as a cashier, at a store, in which case the verification confirmation may include a human-readable element. The human may alternatively or additionally scan or read a machine-readable portion of the verification confirmation, such as a dynamic QR code, using suitable hardware, such as a QR scanner. In one such exemplary use case, the method of the present disclosure may be used in a home delivery context. A delivery person may deliver a package to a customer and perform attribute verification to ensure that the customer is the correct recipient and / or has reached the minimum age required to receive the package. The delivery person may then have their own computing device configured to scan the verification confirmation presented by the recipient on their user device as discussed above.

[0136] In other implementations, there is no human attendant present, and thus the verification confirmation may simply be presented to a machine interface, such as a QR scanner on a self-checkout machine or vending machine. In this manner, attribute verification may be fully automated. In one example, for example, in a store that allows cashierless shopping, a user may download a host application associated with the store. The host application may then communicate with an attribute verification application on the user's device to confirm the attribute verification. For example, the user may confirm that he or she is over the minimum age in the usual manner and may send this confirmation to a host application associated with the store. As a result, the user may be allowed to leave the store with the item having the associated minimum age without going through a cashier. In other implementations, the verification confirmation is presented or sent to a vending machine. Upon receiving this confirmation, the vending machine may provide the item, such as an age-restricted item, to the user. This addresses a shortcoming of existing systems that age-restricted items cannot be safely sold by vending machines.

[0137] In some examples, the age verification check may include a Digital Proof of Age, or DPoA certificate. In some implementations, this certificate follows the well-known PASS 5 DPoA standard. This may allow for seamless integration of the age verification mechanism of the present disclosure into existing procedures already used in stores and establishments for age verification.

[0138] In the use case above described with respect to Figure 7, each facility described has its own associated verification application. In other examples, it may be possible to use a verification application associated with a first facility or business to verify attributes at a second facility or business. In some examples, one application may function for several or all facilities.

[0139] In some examples, verification may be triggered by a challenge notification: for example, a user may scan an attribute verification element, such as a QR code, at a cash register, which may trigger a verification application to begin attribute verification.

[0140] In some examples, the verification may have a time limit. For example, after a certain time threshold, the verification may no longer be valid or usable, and / or the software application may prompt the user to re-verify themselves by capturing new biometric verification data. The time threshold may be, for example, 10 seconds, 20 seconds, 30 seconds, 40 seconds, 50 seconds, 60 seconds, 2 minutes, 5 minutes, 10 minutes, or 1 hour. Each of these time thresholds provides at least some protection against identity spoofing.

[0141] It will be understood that the verification check depicted in Figure 5 is merely an example. Certain elements may be omitted from or added to the illustrated check. For example, the check may include more or fewer elements of human readable data. In one embodiment, the check includes authenticated biometric data of the user and / or biometric enrollment data of the user and / or biometric verification data of the user.

[0142] While the above description focuses on verifying user attributes such as age and identity in the context of a store or venue, it will be understood that other use cases may exist. For example, the functionality of the present disclosure may be used to enable access to devices such as personal computers, or online sales or age-restricted websites on such computers. The system of the present disclosure may enable access to a person's home, thereby providing home security functionality. The system of the present disclosure may be used in a home delivery context to verify the identity of a package recipient. The system of the present disclosure may be used in a vending machine context.

[0143] Finally, although the above description has focused on the use of biometric data such as images (particularly facial images), fingerprints and iris details, it will be apparent that any suitable biometric data capable of identifying a user may be used in the context of the methods of the present disclosure. Two or more biometric aspects may be checked in the same verification or enrolment procedure. Verification may include verification of two or more attributes associated with a user, for example both age and name.

[0144] Computer Systems Finally, reference is made to Figure 8, which shows a schematic and simplified diagram of a computer apparatus or computing device 800 that can be used to perform the methods described herein. For example, the computing device 800 may be a user device 200, 500 and / or an inquiry device as described above. The computing device 800 may be a mobile computing device such as a mobile phone or smartphone. The computing device 800 may alternatively be a terminal or cashier device located in a store or venue.

[0145] The computing device 800 comprises various data processing resources, such as a processor 802 (particularly a hardware processor), coupled to a central bus structure. Further data processing resources, such as a memory 804, are also connected to the bus structure. A display adapter 806 connects a display device 808 to the bus structure. One or more user input device adapters 810 connect user input devices 812, such as a keyboard and / or mouse, to the bus structure. In some examples, the user input device 812 is part of the display device 808, such as when a smart phone is provided with a touch screen display. One or more communications adapters 814 are also connected to the bus structure to provide connections to other computing systems 800 and other networks.

[0146] During operation, processor 802 of computer system 800 executes a computer program including computer-executable instructions, which may be stored in memory 804. When executed, the computer-executable instructions may cause computer system 800 to perform one or more of the methods described herein. Results of the processing performed may be displayed to a user via display adapter 806 and display device 808. User input for controlling the operation of computer system 800 may be received from user input device 812 via user input device adapter 810.

[0147] It will be apparent that in certain cases, some features of the computer system 800 shown in FIG. 8 may not be present. For example, one or more of the computer devices 800 may not require a display adapter 806 or a display device 808. This may be the case, for example, of certain server-side computer devices 800 that are used only for their processing capabilities and do not need to display information to a user. Similarly, the user input device adapter 810 and the user input device 812 may not be required. In its simplest form, the computer device 800 comprises a processor 802 and a memory 804.

[0148] Although various specific combinations of components and method steps have been described, these are merely examples. Components and method steps may be combined in any suitable arrangement or combination. Components and method steps may also be omitted, leaving any suitable combination of components or method steps.

[0149] The described methods may be implemented using computer executable instructions. A computer program product or computer readable medium may include or store computer executable instructions. A computer program product or computer readable medium may include a hard disk drive, flash memory, read only memory (ROM), CD, DVD, cache, random access memory (RAM) and / or any other storage medium on which information is stored for any period of time (e.g., long term, permanent, short term, for temporary buffering, and / or for caching information). A computer program may include computer executable instructions. A computer readable medium may be a tangible or non-transitory computer readable medium. The term "computer readable" encompasses "machine readable".

[0150] The singular terms "a" and "one" should not be construed to mean "one and only one." Instead, unless otherwise specified, they should be construed to mean "at least one" or "one or more." The word "comprises" and its derivatives, including "comprising" and "comprising," includes each of the features listed but does not exclude the inclusion of one or more additional features.

[0151] The above implementations have been described merely by way of example, and the described implementations are to be considered in all respects merely illustrative and not restrictive. It will be understood that variations of the described implementations are possible without departing from the scope of the present disclosure. It will also be apparent that there are many variations not described, but which are within the scope of the appended claims.

[0152] The following numbered provisions are also disclosed:

[0153] 1. A computer-implemented method for locally validating attributes associated with a user, the method comprising: capturing biometric verification data with said computing device; determining whether the biometric verification data matches the user by comparing the biometric verification data with authenticated biometric data of the user previously obtained from an identification card or ID and stored locally on the computing device; and In response to determining that the biometric verification data matches the user, verifying attributes associated with the user based on attribute information associated with the user previously obtained from the ID and stored locally on the computing device. A computer-implemented method comprising performing, by a computing device, the steps comprising:

[0154] 2. The computer-implemented method of claim 1, wherein the biometric verification data includes a verification image captured using a camera of the computing device, and the authenticated biometric data includes an authenticated image of the user.

[0155] 3. The computer-implemented method of clause 1 or 2, wherein the biometric verification data includes a verification fingerprint captured using a fingerprint scanner of the computing device, and the authenticated biometric data includes an authenticated fingerprint of the user.

[0156] 4. The computer-implemented method of any preceding clause, wherein the computing device comprises a mobile device.

[0157] 5. The computer-implemented method of any preceding clause, wherein the attribute associated with the user is the user's age.

[0158] 6. The computer-implemented method of any preceding clause, wherein attributes associated with the user are verified from the computing device without requiring transmission of personally identifiable information or PII.

[0159] 7. The computer-implemented method of any preceding clause, wherein verifying attributes associated with the user includes accessing a certificate stored locally on the computing device, the certificate including attribute information associated with the user and preferably authenticated biometric data of the user, preferably the certificate being encrypted.

[0160] 8. The computer-implemented method of any preceding clause, wherein the step further comprises providing confirmation of verified attributes associated with the user.

[0161] 9. The computer-implemented method of claim 8, wherein providing the confirmation includes presenting the confirmation on a display of the computing device.

[0162] 10. The computer-implemented method of claim 9, wherein the confirmation is machine-readable.

[0163] 11. The computer-implemented method of claim 10, wherein the confirmation comprises a QR code, preferably the QR code is a dynamic QR code.

[0164] 12. The computer-implemented method of any of clauses 8-11, wherein providing the confirmation includes sending a message confirming verified attributes associated with the user.

[0165] 13. The process comprises: obtaining spatiotemporal information related to verification of attributes associated with the user; and Embedding said derived spatio-temporal information into a validation of said verified attributes. 13. The computer-implemented method of any of clauses 8-12, further comprising:

[0166] 14. The spatiotemporal information is current date, Current time, Your current location, and Identification of the facility where the verification of attributes associated with said user is taking place. 14. The computer-implemented method of claim 13, comprising information relating to one or more of:

[0167] 15. The process further comprises, prior to capturing the biometric verification data: obtaining authenticated biometric data of the user and attribute information associated with the user from the identity document; capturing biometric enrollment data with said computing device; comparing the biometric enrollment data to the authenticated biometric data to determine whether the biometric enrollment data matches the user; and in response to determining that the biometric enrollment data matches the user, locally on the computing device a) authenticated biometric data of said user, and b) Attribute information related to said users Remember The computer-implemented method of any preceding clause, further comprising:

[0168] 16. The computer-implemented method of claim 15, wherein obtaining authenticated biometric data of the user and / or attribute information associated with the user includes capturing an image of the ID using a camera of the computing device.

[0169] 17. The computer-implemented method of clause 15 or 16, wherein obtaining authenticated biometric data of the user and / or attribute information associated with the user comprises querying a memory of the ID.

[0170] 18. The computer-implemented method of clause 17, wherein the ID is a passport and / or the memory is a wireless data transfer chip, preferably an ePassport NFC chip.

[0171] 19. The computer-implemented method of any preceding clause, wherein determining whether the biometric verification data and / or the biometric enrollment data matches the user includes performing one or more anti-spoofing procedures.

[0172] 20. A computer-implemented method for configuring a computing device to verify attributes associated with a user, the method comprising: a) obtaining authenticated biometric data of the user and attribute information associated with the user from an identity document or ID; b) capturing biometric enrollment data with said computing device; c) comparing the biometric enrollment data with the authenticated biometric data to determine whether the biometric enrollment data matches the user; and d) in response to determining that the biometric enrollment data matches the user, locally on the computing device. i) authenticated biometric data of said user, and ii) Attribute information related to the user Remember A computer-implemented method comprising performing, by the computing device, steps including:

[0173] 21. The computer-implemented method of claim 20, wherein the computing device comprises a mobile device.

[0174] 22. The computer-implemented method of clause 20 or 21, wherein storing locally on the computing device includes embedding the authenticated biometric data of the user and attribute information related to the user into a certificate, and recording the certificate locally on the computing device, preferably wherein the certificate is encrypted.

[0175] 23. The computer-implemented method of any of clauses 20-22, further comprising storing the authenticated biometric data of the user and attribute information associated with the user such that the authenticated biometric data and attribute information associated with the user are accessible to two or more software applications running on the computing device.

[0176] 24. Steps a) through d) are performed by a first software application running on the computing device, and the method thereafter comprises: e) accessing, by a second software application executing on the computing device, the authenticated biometric data of the user and attribute information associated with the user stored locally on the computing device; and f) configuring the second software application to enable ascertainment by the second software application of attributes associated with the user. 24. The computer-implemented method of claim 23, further comprising:

[0177] 25. The method further comprises: g) verifying attributes associated with the user with the second software application. 25. The computer-implemented method of claim 24, further comprising:

[0178] 26. A computing device configured to perform the method described in any preceding clause; or A computer-readable medium comprising instructions which, when executed by a processor of a computing device, cause said computing device to perform a method according to any preceding clause; or A computer program comprising instructions which, when executed by a computing device, cause said computing device to perform the method described in any preceding clause.

[0179] 27. A system comprising: a computing device configured to perform the method according to any of clauses 1 to 25 for verification of attributes associated with a user; and a query device configured to receive confirmation of a verified attribute associated with the user from the computing device; A system comprising:

[0180] 28. A system comprising: a computer program comprising instructions which, when executed by a computing device, cause said computing device to perform the method according to any one of clauses 1 to 25; and a computer program comprising instructions that, when executed by an inquiry device, configure the inquiry device to receive confirmation of a verified attribute associated with the user from the computing device; A system comprising:

[0181] 29. The system of clause 27 or 28, wherein the inquiry device comprises a point of sale (POS) device, preferably a self-checkout machine, and / or the computing device comprises a mobile device.

[0182] 30. A system as described in any of clauses 27 to 29, wherein receiving confirmation of verified attributes associated with the user from the computing device includes scanning a display of the computing device by the inquiry device.

Claims

1. 1. A computer-implemented method for locally validating attributes associated with a user, the method comprising: capturing biometric verification data with said computing device; determining whether the biometric verification data matches the user by comparing the biometric verification data with authenticated biometric data of the user previously obtained from an identification card or ID and stored locally on the computing device; and responsive to determining that the biometric verification data matches the user, verifying attributes associated with the user based on attribute information associated with the user previously obtained from the ID and stored locally on the computing device. A computer-implemented method comprising performing, by a computing device, the steps comprising:

2. the biometric verification data includes a verification image captured using a camera of the computing device, and the authenticated biometric data includes an authenticated image of the user; and / or the biometric verification data includes a verification fingerprint captured using a fingerprint scanner of the computing device, and the authenticated biometric data includes an authenticated fingerprint of the user. The computer-implemented method of claim 1 .

3. 10. The computer-implemented method of any preceding claim, wherein attributes associated with the user are verified from the computing device without requiring transmission of personally identifiable information or PII.

4. 5. The computer-implemented method of any preceding claim, wherein verifying attributes associated with the user includes accessing a certificate stored locally on the computing device, the certificate including attribute information associated with the user and preferably authenticated biometric data of the user, preferably the certificate being encrypted.

5. 5. A computer-implemented method as claimed in any preceding claim, wherein the step further comprises providing confirmation of a verified attribute associated with the user, preferably wherein providing the confirmation comprises presenting the confirmation on a display of the computing device, preferably wherein the confirmation is machine readable, preferably wherein the confirmation comprises a QR code, and preferably wherein the QR code is a dynamic QR code.

6. The computer-implemented method of claim 5 , wherein providing the confirmation comprises sending a message confirming verified attributes associated with the user.

7. The process comprises: obtaining spatiotemporal information related to verification of attributes associated with the user; and Embedding said derived spatio-temporal information into a validation of said verified attributes. and preferably the spatio-temporal information further comprises: current date, Current time, Your current location, and Identification of the facility where the verification of attributes associated with said user is taking place.

7. The computer-implemented method of claim 5 or 6, comprising information regarding one or more of:

8. Prior to capturing the biometric verification data, the process further comprises: obtaining authenticated biometric data of the user and attribute information associated with the user from the identity document; capturing biometric enrollment data with said computing device; comparing the biometric enrollment data to the authenticated biometric data to determine whether the biometric enrollment data matches the user; and in response to determining that the biometric enrollment data matches the user, locally on the computing device a) authenticated biometric data of the user; and b) Attribute information related to said user Remember 4. The computer-implemented method of any preceding claim, further comprising:

9. Obtaining authenticated biometric data of the user and / or attribute information associated with the user includes: Capturing an image of the ID using a camera of the computing device; and / or Querying the memory of said ID Preferably, said ID is a passport and / or said memory is a wireless data transfer chip, preferably said memory is an ePassport NFC chip; 9. The computer-implemented method of claim 8.

10. 1. A computer-implemented method for configuring a computing device to verify an attribute associated with a user, the method comprising: a) obtaining authenticated biometric data of the user and attribute information associated with the user from an identity document or ID; b) capturing biometric enrollment data with said computing device; c) comparing the biometric enrollment data with the authenticated biometric data to determine whether the biometric enrollment data matches the user; and d) in response to determining that the biometric enrollment data matches the user, locally on the computing device. i) authenticated biometric data of the user, and ii) Attribute information related to the user Remember A computer-implemented method comprising performing, by the computing device, steps including:

11. 11. The computer-implemented method of claim 10, wherein the storing locally on the computing device includes embedding the authenticated biometric data of the user and attribute information related to the user in a certificate and recording the certificate locally on the computing device, preferably the certificate being encrypted.

12. storing the authenticated biometric data of the user and attribute information relating to the user such that they are accessible to two or more software applications running on the computing device, preferably steps a) to d) are performed by a first software application running on the computing device, and further preferably the method thereafter comprises: e) accessing, by a second software application executing on the computing device, the authenticated biometric data of the user and attribute information associated with the user stored locally on the computing device; f) configuring said second software application to enable ascertainment of attributes associated with said user by said second software application, and preferably g) verifying attributes associated with the user with the second software application.

12. The computer-implemented method of claim 10 or 11, further comprising:

13. A computing device configured to perform a method according to any preceding claim; or A computer readable medium comprising instructions which, when executed by a processor of a computing device, cause said computing device to perform a method according to any preceding claim; or A computer program comprising instructions which, when executed by a computing device, cause the computing device to perform the method of any preceding claim.

14. 1. A system comprising: A computing device configured to perform the method according to any of claims 1 to 12 for verification of attributes associated with a user, and a query device configured to receive confirmation of a verified attribute associated with the user from the computing device; A system comprising:

15. 1. A system comprising: A computer program comprising instructions which, when said program is executed by a computing device, cause said computing device to perform a method according to any one of claims 1 to 12, and a computer program comprising instructions that, when executed by an inquiry device, configure the inquiry device to receive confirmation of verified attributes associated with the user from the computing device; A system comprising: