The present disclosure generally relates to use and verification of digital identities, and more particularly, to an automated system for digital identity verification based on user credential and associated identity binding using biometrics in a decentralized fashion in an offline or online manner.
Identity has become a vital part of human life as it allows people to participate in society. Identity verification allows humans to either avail of services or contribute to the development of society. There are three actors in an identity life cycle: an authority that issues a credential to a person or entity that can be checked for authenticity and identity binding; verifying or relying party that needs to verify the credential before offering a service and a carrier/owner who carries the issued credential and presents it to a verifying or relying party.
There are several conventional ways of issuing credentials, carrying, and verifying them. The efficacy of the system depends on the ease of issuance and provisioning, carrying and presenting, and the ease of verification. This frictionless usage must be achieved without compromising the security and privacy aspect of the process. Current existing identity credential issuance and verification systems have the following shortcomings. Systems that rely on physical credentials such as plastic cards with chips require purpose-built devices for verification. System that relies on mobile phones for credential storage makes it necessary for the identity carrier to have a phone. Systems that are based on a centralized system or backend have a dependency on internet connection to function.
Accordingly, an automated method and system for digital identity verification based on user credential and associated identity binding using biometrics in a decentralized fashion in an offline or online manner are desired.
This brief overview is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This brief overview is not intended to identify key features or essential features of the claimed subject matter. Nor is this brief overview intended to be used to limit the claimed subject matter's scope.
One embodiment of the present disclosure provides a system for an automated real-time digital identity verification based on live biometric data including a processor of an identity verification node connected to at least one verifier entity node over a network and a memory on which are stored machine-readable instructions that when executed by the processor, cause the processor to: acquire a request associated with a user cryptograph embedded into an identification user credential from the at least one verifier entity node, wherein the identity verification request including at least one live biometric data sample captured by the at least one verifier entity node and at least one parameter indicating a piece of data from the user cryptograph to be revealed to the at least one verifier entity; generate a stable bio-hash from the at least one live biometric data sample; derive the at least one parameter from the request; generate a decryption key comprising a plurality of shards from the at least one live biometric data sample; and provide at least one of the plurality of shards to the at least one verifier entity node based on the at least one parameter.
Another embodiment of the present disclosure provides a method that includes one or more of: acquiring a request associated with a user cryptograph embedded into an identification user credential from the at least one verifier entity node, wherein the identity verification request including at least one live biometric data sample captured by the at least one verifier entity node and at least one parameter indicating a piece of data from the user cryptograph to be revealed to the at least one verifier entity; generate a stable bio-hash from the at least one live biometric data sample; deriving the at least one parameter from the request; generate a decryption key comprising a plurality of shards from the at least one live biometric data sample; and providing at least one of the plurality of shards to the at least one verifier entity node based on the at least one parameter.
Another embodiment of the present disclosure provides a computer-readable medium including instructions for acquiring a request associated with a user cryptograph embedded into an identification user credential from the at least one verifier entity node, wherein the identity verification request including at least one live biometric data sample captured by the at least one verifier entity node and at least one parameter indicating a piece of data from the user cryptograph to be revealed to the at least one verifier entity; generate a stable bio-hash from the at least one live biometric data sample; deriving the at least one parameter from the request; generate a decryption key comprising a plurality of shards from the at least one live biometric data sample; and providing at least one of the plurality of shards to the at least one verifier entity node based on the at least one parameter.
Both the foregoing brief overview and the following detailed description provide examples and are explanatory only. Accordingly, the foregoing brief overview and the following detailed description should not be considered to be restrictive. Further, features or variations may be provided in addition to those set forth herein. For example, embodiments may be directed to various feature combinations and sub-combinations described in the detailed description.
The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate various embodiments of the present disclosure. The drawings contain representations of various trademarks and copyrights owned by the Applicant. In addition, the drawings may contain other marks owned by third parties and are being used for illustrative purposes only. All rights to various trademarks and copyrights represented herein, except those belonging to their respective owners, are vested in and the property of the Applicant. The Applicant retains and reserves all rights in its trademarks and copyrights included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
Furthermore, the drawings may contain text or captions that may explain certain embodiments of the present disclosure. This text is included for illustrative, non-limiting, explanatory purposes of certain embodiments detailed in the present disclosure. In the drawings:
As a preliminary matter, it will readily be understood by one having ordinary skill in the relevant art that the present disclosure has broad utility and application. As should be understood, any embodiment may incorporate only one or a plurality of the above-disclosed aspects of the disclosure and may further incorporate only one or a plurality of the above-disclosed features. Furthermore, any embodiment discussed and identified as being “preferred” is considered to be part of a best mode contemplated for carrying out the embodiments of the present disclosure. Other embodiments also may be discussed for additional illustrative purposes in providing a full and enabling disclosure. Moreover, many embodiments, such as adaptations, variations, modifications, and equivalent arrangements, will be implicitly disclosed by the embodiments described herein and fall within the scope of the present disclosure.
Accordingly, while embodiments are described herein in detail in relation to one or more embodiments, it is to be understood that this disclosure is illustrative and exemplary of the present disclosure and are made merely for the purposes of providing a full and enabling disclosure. The detailed disclosure herein of one or more embodiments is not intended, nor is to be construed, to limit the scope of patent protection afforded in any claim of a patent issuing here from, which scope is to be defined by the claims and the equivalents thereof. It is not intended that the scope of patent protection be defined by reading into any claim a limitation found herein that does not explicitly appear in the claim itself.
Thus, for example, any sequence(s) and/or temporal order of steps of various processes or methods that are described herein are illustrative and not restrictive. Accordingly, it should be understood that, although steps of various processes or methods may be shown and described as being in a sequence or temporal order, the steps of any such processes or methods are not limited to being carried out in any particular sequence or order, absent an indication otherwise. Indeed, the steps in such processes or methods generally may be carried out in various different sequences and orders while still falling within the scope of the present invention. Accordingly, it is intended that the scope of patent protection is to be defined by the issued claim(s) rather than the description set forth herein.
Additionally, it is important to note that each term used herein refers to that which an ordinary artisan would understand such a term to mean based on the contextual use of such term herein. To the extent that the meaning of a term used herein-as understood by the ordinary artisan based on the contextual use of such term-differs in any way from any particular dictionary definition of such term, it is intended that the meaning of the term as understood by the ordinary artisan should prevail.
Regarding applicability of 35 U.S.C. § 112, ¶6, no claim element is intended to be read in accordance with this statutory provision unless the explicit phrase “means for” or “step for” is actually used in such claim element, whereupon this statutory provision is intended to apply in the interpretation of such claim element.
Furthermore, it is important to note that, as used herein, “a” and “an” each generally denotes “at least one,” but does not exclude a plurality unless the contextual use dictates otherwise. When used herein to join a list of items, “or” denotes “at least one of the items,” but does not exclude a plurality of items of the list. Finally, when used herein to join a list of items, “and” denotes “all of the items of the list.”
The following detailed description refers to the accompanying drawings. Wherever possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar elements. While many embodiments of the disclosure may be described, modifications, adaptations, and other implementations are possible. For example, substitutions, additions, or modifications may be made to the elements illustrated in the drawings, and the methods described herein may be modified by substituting, reordering, or adding stages to the disclosed methods. Accordingly, the following detailed description does not limit the disclosure. Instead, the proper scope of the disclosure is defined by the appended claims. The present disclosure contains headers. It should be understood that these headers are used as references and are not to be construed as limiting upon the subject matter disclosed under the header.
The present disclosure includes many aspects and features. Moreover, while many aspects and features relate to, and are described in, the context of lead-based recommendations, embodiments of the present disclosure are not limited to use only in this context.
The present disclosure provides a system, method and computer-readable medium for an automated real-time digital identity verification based on live biometrics and cryptograph(s) provided on user IDs or separately. In one embodiment, the system overcomes the limitations of existing user identity verification methods by employing live biometrics for generation of decryption keys. By leveraging the capabilities of selective decryption based on biometrics-based keys and key shards, the disclosed approach offers a significant improvement over existing solutions discussed above in the background section.
In one embodiment of the present disclosure, the system provides for verification of the credential and associated identity binding using biometrics in a decentralized fashion in an offline or online manner. The disclosed embodiments eliminate or reduces the above-mentioned shortcomings to successfully verify the credentials as follows:
1. The credential can be quickly provisioned and distributed over the air, online, or in physical form.
2. The credential can be carried in a physical or digital form, i.e., printed on paper or stored as an image in a wallet in a mobile phone or handheld or wearable device.
3. The credential (or ID) can hold all the necessary information required for visual and automated confirmation/verification in a compact form that can be optically or electronically read.
4. Verification can be done using purpose-built devices, mobile phones, PCs, or any computing device with a camera.
5. Identity binding can be achieved via on-the-spot offline biometric verification (without using a pre-stored biometric template) using any or all available modalities like face, finger, iris, palm, and voice or more.
6. The claims or other relevant information is stored in an encrypted form which can be decrypted/unlocked only by a key that is a combination of a common key issues by the issuing authority and keys derived using a Key Derivation Function (KDF) based on data unique to the biometric data of the ID owner.
The proposed system is realized through innovation in several components that are employed for the identity verification process. To address the need of verifying the user offline, the biometric information may be readily accessible in an offline or online mode. To achieve this, a proprietary face image (or another biometric data) compression algorithm may be used. In case of using the face, the algorithm allows the compression of facial portraits to 800 bytes and still retain good quality for visual verification. In one embodiment, for the biometric matching, the compression technology allows for storing the compact biometric feature representation called templates for face, fingerprint templates, voice, palm, iris, and other biometric modalities. In one embodiment, this compact representation of the credential may be stored and can be presented in a high-density barcode that has significantly higher storage capacity. The compact representation may be also stored in a blockchain or in other forms on available storage mediums that can be easily accessed.
The technology employed in the disclosed embodiments may allow for storing other personally identifiable information or other relevant information to be stored in an encrypted form using either symmetric or asymmetric encryption. The encrypted personally identifiable information can be based on any data which is unique to the ID owner. For example:
1. A unique ID of the entity/individual.
2. A unique passcode/password that only the entity/user will be aware of.
3. A hash or a secret key derived from the entity/user's biometric modalities.
The issuing authority's public key (or symmetric key) can also be used in the above encryption scheme as a part of the key derivation process to ensure that only cryptographs issued using the corresponding private (or symmetric) key generated based the user biometrics can be decrypted by a corresponding key also generate based on the live biometrics of the same user.
In one embodiment, the information in the cryptograph can only be unlocked after the biometrics stored in the cryptograph are decrypted and matched to the live biometrics captured by any device with an integrated camera system. The live biometrics capture may include a liveness check to avoid spoof presentation attacks. In another embodiment, the personal identifiable information (PII) may be encrypted using the secret derived from the biometrics of the identity owner, allowing access to the information only when the presenter is in front of the verifier. The data may be double encrypted or digitally signed by issuing authority for which the keys could be stored on blockchain. In addition, the disclosed technology allows for tamper detection using a digital signature applied on the payload.
The overall outcome of the verification system allows the storage and retrieval of one's identity information in compact form that can be carried in multiple forms, including machine-readable code printed on paper (or stored on user's mobile device) that can be biometrically verified using any device with a camera. The benefits of this approach allow the systems to be decentralized, highly scalable while maintaining the security and privacy of the user. The possibility to carry all sensitive information in a machine-readable code or compact representation that stays with the owner of the identity reduces the requirement for a centralized database and thus reducing the attack vectors and avoiding data breaches.
In one embodiment, the disclosed technology may be also used as a foundation block of Self Sovereign Identity (SSI)-based digital identity wallets built based on the standards of World Wide Web Consortium (W3C) and powered by the biometrics. Such digital wallets may promote privacy preservation, enhanced security, and a smooth user experience. Advantageously, there is no central mediator, such as an identity service provider (who keeps all user data, including transactions) as all credentials stay in the wallet and are fully controlled by its holder. The issuing authorities still independently have control over the information they have issued to the wallet, but the user becomes the central holder of those credentials. The benefits of SSI-based digital identity wallets may extend widely, providing secure and interoperable systems that enhance public service efficiency, contribute to digital economy growth, and offer broader access to financial and social services. Furthermore, these wallets have societal impacts by instilling trust in digital transactions and promoting social inclusion.
The disclosed embodiments may be platform agnostic. The disclosed system, advantageously, seamlessly integrates with a multitude development tools, enabling users to manage applications through a singular dashboard interface.
In one embodiment, the user and verifier entities may be connected to the digital identification verification (IV) node (or may be implemented on the IV node) over a blockchain network to achieve a consensus prior to executing a transaction to release the user identification decision data based on the identity verification recommendations or biometrics-based decryption keys (or key shards).
One of the disclosed embodiments provide for a biometric-based security feature that can be printed on an identity document alongside the user name—as a “digital security feature.” This feature is a high-density machine-readable two-dimensional code containing a facial biometric template and/or a facial biometric hash generated from the original facial image. Verification consists of capturing the two together. An application can then compare the template and/or hash in the code with another template and/or hash generated on-the-fly from the printed facial image or from live face capture of the document presenter, all in real time. The solution also involves reading the biographic data printed on the identity document and them comparing it with the biographic data stored in the code. In one embodiment, a shortened (i.e., compressed) biometric hash may be used and the verification process may implement AI processing of the compressed biometric hash. This way less biometric data is sufficient for identity verification.
The disclosed concept is proposed for verifying a credential and associated identity binding using biometrics. In one embodiment, the system generates a machine-readable two-dimensional code containing a facial biometric template and/or facial biometric hash, and biographical data extracted from the original application data. Once such a code is generated, it can be printed on an identity document such as ID card, driver's license, passport, etc. containing a printed facial image and biographic data. Once again, this data may be used in a compressed form so less computations are needed. Thereafter, an electronic device with an integrated camera subsystem (including smartphones) can be used to simultaneously read the code, read the printed facial image, and read the printed biographic data using Optical Character Recognition (OCR).
Referring to
As discussed above, the live biometric data may be provided to the IV node 102 configured to generate a stable Bio-Hash that is used for generation of the decryption key (or decryption n-shards). Based on the verification request, a particular n-shard may be provided to the verifier entity 101 for description of a corresponding piece of the biographic data. If the request specifies decryption of the entire cryptograph 112, the full decryption key including all of the n-shards is provided to the verifier entity 101.
In one embodiment, a biometric hash produced from carrier's biometric sample of a different kinds may be encrypted within the cryptograph 112. The cryptograph 112 may contain encrypted biometric sample of a different type than the one used for generation of the encryption/decryption keys. For example, the decryption key may be generated based on the facial image biometrics of the user 101 while the cryptograph 112 contains the fingerprint-based biometric sample. The decrypted fingerprint-based biometric sample may be used for a second round of validation against the prestored biometric templates retrieved from a local data storage 103 or alternatively from a remote data storage 106.
In one embodiment, the validated fingerprint-based biometric sample may be hashed to produce a decryption key (or a set of n-shards) to be used to unlock (decrypt) the selected data (or the entire data form the cryptograph).
The cryptograph 112 code may also have an expiry date which can inform the verifier entity 101 that the identity document has been expired and needs re-issuance. In one embodiment, an authorized verifier entity 101 can access the data stored in the cryptograph 112, using authorized applications installed on electronic devices with integrated camera subsystems—smartphones, computer, etc. A proprietary application called the Digital ID app may be configured for reading digital IDs containing cryptograph, both visually and digitally stored in the device's storage. The Digital ID app works for both iOS and Android.
Although the application uses proprietary technologies to capture biometric data, the integrator can change the underlying technology based on their requirements.
In one embodiment, a selective data disclosure is implemented as discussed above. The cryptograph 112 may be customized to encrypt different parts of the cryptograph using different keys referred to as the key shards. This facilitates the selective disclosure, wherein the user has the option to only show the most relevant data from the cryptograph 112 to the verifier entity 101. The key consisting of n-key shards may be implemented as a PIN code, an alphanumeric password, a passphrase, or a stable biometric hash. Regardless of the implementation, the encryption/decryption keys are generated based on user 111 biometrics (previously acquired and acquired live). For example, if a verifying party is a bouncer at a club who should only know the age of the user and no other information, the user can then permit the verifying party to only access the age information stored in the cryptograph 112.
In one embodiment, the key (or the n-key shards) may me generated from a stable biometric hash. Unlike the conventional biometrics matching-based user verification, based on the cryptograph 112 design, the very first level of encryption is a form of symmetric encryption and needs a specific string of characters (i.e., an encryption key) to encrypt and decrypt the data (only in the 1st layer). Here, a PIN code, passphrase, or an alphanumeric password can be used. However, every time the user wants a verifying party to read the cryptograph 112, he/she has to share some sort of passcode which helps in deriving the encryption key.
A major disadvantage of this method is that the user is required to remember the passcode. Thus, the proposed idea of the current application is to use the biometric data of the user since it is always available and would not change over time, adding a layer of convenience.
However, it is known that the biometric features from the same identity are similar, but may not be exactly the same. Thus, these biometric-based passwords discussed above have to be stable, meaning that the key (i.e., or a hash representing a string of alphanumeric characters) derived from the biometric data is the same for the user identity. To that end, a proprietary algorithm referred to as Bio-Hash may be used to extract stable biometric hashes from the biometric samples.
In one embodiment, the algorithm may use a convolutional neural network followed by a custom fully connected layer such that for every input biometric sample image, the extracted feature only has −1 or +1 values. This is achieved by using the Tanh activation function so that the system may output a binary feature for every biometric input. Any standard hash can then be applied on this binary feature to output a 128-bit, 256-bit, 512-bit, or 1024-bit hash. While the biometric features are similar to each other but are not necessarily the same, adding an innovative fully connected layer at the end of a typical feature extractor, the algorithm essentially forces the “similar” features to be exactly the same, thereby creating a stable Bio-Hash that can be used for generation of a key or multiple key shards.
In one embodiment, the entire system depicted in
Referring to
As discussed above, the live biometric data may be provided to the IV node 102 configured to generate a stable Bio-Hash that is used for generation of the decryption key (or decryption n-shards). Based on the verification request, a particular n-shard may be provided to the verifier entity 101 for description of a corresponding piece of the biographic data. If the request specifies decryption of the entire cryptograph 112, the full decryption key including all of the n-shards is provided to the verifier entity 101.
In one embodiment, a biometric hash produced from carrier's biometric sample of a different kinds may be encrypted within the cryptograph 112. The cryptograph 112 may contain encrypted biometric sample of a different type than the one used for generation of the encryption/decryption keys. For example, the decryption key may be generated based on the facial image biometrics of the user 101 while the cryptograph 112 contains the fingerprint-based biometric sample. The decrypted fingerprint-based biometric sample may be used for a second round of validation against the pre-stored biometric templates retrieved from a local data storage 103 or alternatively from a remote data storage 106.
The pre-stored biometric templates may be retrieved from a the blockchain 110 ledger 109. In one embodiment, the n-key shard may be recorded on the ledger 109 for future use. In one embodiment, a blockchain 110 consensus among multiple verifier entities 101 may be reached prior to release and recordation of the n-key shards.
Referring to
In one embodiment, the request may contain data indicating what pieces of data for the cryptograph are requested to be revealed (i.e., decrypted). In this case, the IV node 102 may provide only the decryption n-shards corresponding to the requested pieces of data.
While this example describes in detail only one IV node 102, multiple such nodes may be connected to the network and to the blockchain 110. It should be understood that the IV node 102 may include additional components and that some of the components described herein may be removed and/or modified without departing from a scope of the IV node 102 disclosed herein. The IV node 102 may be a computing device or a server computer, or the like, and may include a processor 204, which may be a semiconductor-based microprocessor, a central processing unit (CPU), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), and/or another hardware device. Although a single processor 204 is depicted, it should be understood that the IV node 102 may include multiple processors, multiple cores, or the like, without departing from the scope of the IV node 102 system.
The IV node 102 may also include a non-transitory computer readable medium 212 that may have stored thereon machine-readable instructions executable by the processor 204. Examples of the machine-readable instructions are shown as 214-222 and are further discussed below. Examples of the non-transitory computer readable medium 212 may include an electronic, magnetic, optical, or other physical storage device that contains or stores executable instructions. For example, the non-transitory computer readable medium 212 may be a Random-Access memory (RAM), an Electrically Erasable Programmable Read-Only Memory (EEPROM), a hard disk, an optical disc, or other type of storage device.
The processor 204 may fetch, decode, and execute the machine-readable instructions 214 to acquire a request associated with a user cryptograph embedded into an identification user credential from the at least one verifier entity node, wherein the identity verification request comprising at least one live biometric data sample captured by the at least one verifier entity node and at least one parameter indicating a piece of data from the user cryptograph to be revealed to the at least one verifier entity. The processor 204 may fetch, decode, and execute the machine-readable instructions 216 to generate a stable bio-hash from the at least one live biometric data sample. The processor 204 may fetch, decode, and execute the machine-readable instructions 218 to derive the at least one parameter from the request. The processor 204 may fetch, decode, and execute the machine-readable instructions 220 to generate a decryption key comprising a plurality of shards from the at least one live biometric data sample. The processor 204 may fetch, decode, and execute the machine-readable instructions 222 to provide at least one of the plurality of shards to the at least one verifier entity node based on the at least one parameter.
The permissioned blockchain 110 may be configured to use one or more smart contracts that manage transactions for multiple participating nodes and for recording the transactions on the ledger 109. Note that the IV node 102 system may prioritize using its own biometric samples data 103 from local databases. This ensures a faster, more tailored response to the identity verification requests. Local datasets may be recorded on a private (permissioned) blockchain 110. This provides a tamper-evident log of user identity verifications, enhancing security and transparency.
Referring to
With reference to
Referring to
With reference to
At block 316, the processor 204 may provide a shard designated to a biometric template contained in the user cryptograph. At block 318, the processor 204 may validate the biometric template contained in the user cryptograph against a pre-stored biometric template retrieved from a blockchain ledger.
At block 320, the processor 204 may, responsive to the validation of the biometric template, generate a plurality of decryption key shards based on a stable bio-hash of the validated biometric template. Note that the biometric template represents biometrics of a different type from the at least one live biometric data sample. At block 322, the processor 204 may record the at least one of the plurality of shards corresponding to the at least one parameter on the blockchain ledger. At block 324, the processor 204 may retrieve the at least one of the plurality of shards from the blockchain ledger.
As discussed above, the IV node 102 may use a decentralized storage such as a blockchain 110 (see
This application utilizes a permissioned (private) blockchain that operates arbitrary, programmable logic, tailored to a decentralized storage scheme and referred to as “smart contracts” or “chaincodes.” In some cases, specialized chaincodes may exist for management functions and parameters which are referred to as system chaincodes. The application can further utilize smart contracts that are trusted distributed applications which leverage tamper-proof properties of the blockchain database and an underlying agreement between nodes, which is referred to as an endorsement or endorsement policy. Blockchain transactions associated with this application can be “endorsed” before being committed to the blockchain while transactions, which are not endorsed, are disregarded. An endorsement policy allows chaincodes to specify endorsers for a transaction in the form of a set of peer nodes that are necessary for endorsement. When a client sends the transaction to the peers specified in the endorsement policy, the transaction is executed to validate the transaction. After a validation, the transactions enter an ordering phase in which a consensus protocol is used to produce an ordered sequence of endorsed transactions grouped into blocks.
The example depicted in
The identity document may be generated as follows. Typical identity documents such as driver's license, passport, etc. all have a printed facial image along with printed biographic data such as name, birthdate, gender, etc. At the heart of the disclosed embodiments is the high density machine-readable two-dimensional cryptograph 112 which can be printed on the identity document either during credential generation or even at a later stage using reliable pasting mechanisms. The cryptograph 112 is a highly secure data container which is presented as a dense two-dimensional machine-readable code. The cryptograph 112 is better than other known 2-D codes allowing a safe storage space for biometrics and other personal identifiable information (PII). The proposed code is advantages over other known codes listed below:
According to the disclosed embodiments, the code provides a number of improvements and changes:
1. Versioning to track various versions of the code for efficient decoding.
2. Innovative 5-bytes expiry date which extends the maximum validity to the year 2500. It can also be changed as per requirements.
3. Storing the DPI (dots per inch) information in a manner that facilitates printers to automatically use it for printing.
4. Selective disclosure-different parts of the code can be unlocked by different keys (n-key shards) derived from passwords, private/public keys, stable Bio-hashes from live-generated or stored biometric templates, etc.
Generating the machine-readable code involves following inputs:
A proprietary face compression algorithm may be implemented. The algorithm can compress any input face image to a compressed format which is only 800 bytes in size. The algorithm is based on image-processing techniques and takes into account facial landmarks (eyes, nose, mouth, etc. positions) to ensure that it retains the most amount of information regarding areas that matter the most when it comes to visual verification.
The algorithm consists of an “encoder” and “decoder.” The encoder takes in a facial input image and outputs a compressed representation of the face in a binary format. The decoder takes this compressed representation and outputs a compressed facial image which can effectively be used for visual verification.
The input image to the algorithm can be any digital format of a human face in any standard lossy or lossless format—PNG, BMP, JPEG, TIFF, etc.
The algorithm then detects facial landmarks that identify different regions of the face such as cheeks, chin, eyes, lips, ears, nose, etc.
The algorithm then takes into account the fact that for visual face verification, some regions are favored more than others. In particular, regions such as the mouth, eyes, nose, and eyebrow are given more importance than other regions such as the cheeks, forehead, etc. What “importance” means here is how much to compress those regions. With high-importance regions, the encoder compresses the image in a way such that the decoded facial image shows more information pertaining to those areas. Similarly, with low-importance regions, the encoder compresses those areas in a way that less information is stored in the compressed representation.
Since the algorithm deals with pixel values of face images, the final compressed representation will be variable in size. However, the algorithm ensures that the size is always below 800 bytes by pre-allocating sizes for different facial areas to be compressed. The compressed representation can either be a variable sized binary file, or a fixed-size 800 bytes binary blob by appropriately padding the binary data. Also, the encoder features multiple compression levels based on the requirements. The minimum compressed representation is 800 bytes but it can be increased to any higher value. For instance, if the compressed representation is to be 1200 bytes, the encoder creates the compressed representation just less than 1200 bytes and the remaining bytes are padded. The decoder takes as input this binary compressed representation and outputs a compressed facial image. This output image can then be used to visually verify either a live person, their physical image (ex: from an ID card), or a digital image stored in any database.
The cryptograph in the digital ID can also store relevant biographic details regarding its user/carrier. This can include name, birthday, email, phone, driver's license number, address, etc.
To make the proposed digital ID biometrically linked to the user, we store the user's biometric information as biometric templates. These templates can be derived from face, fingerprints, iris, voice, palm, etc. There can be one or multiple biometric templates.
The biometric templates can be extracted from any typical biometric recognition system, both model-based and learning-based approaches. The biometric templates store the identity information of the user in a secure format. The disclosed machine learning based recognition systems may extract templates in a way which makes it infeasible to revert them back to the input samples and to get any other information such as race, gender, etc. The disclosed recognition systems have very light-weight templates for efficient storage. The face templates are a meagre 136 bytes while fingerprint templates are 186 bytes.
In current biometric recognition systems, a biometric sample is taken as an input and converted to a “feature” or a “template.” This feature is a numerical representation of the identity of the biometric sample. The features are extracted to minimize intra-class variations (meaning that the features should not vary much if they are from the same identity) and maximize inter-class variations (meaning that the features of two identities should be as apart as possible).
When two features are matched to know if they are from the same identity or not, they are subjected to a mathematical function which extracts a similarity score between the features. The similarity score is then compared with a statistically pre-determined threshold to decide if the features are of the same identity or not. This is called as probabilistic matching since the threshold correlates with the probability of the identities being the same. Now, based on the disclose Cryptograph design, the very first level of encryption is a form of symmetric encryption and needs a specific string of characters (encryption key) to encrypt and decrypt the data (only in the 1st layer). Here, a pin code, passphrase, or an alphanumeric password can be used. However, every time the user wants a verifying party to read the Cryptograph, he/she has to share some sort of passcode which helps in deriving the encryption key.
A major disadvantage of this method is that the user is required to remember the passcode. Thus, the idea here is to use the biometric data of the user since it is always available and would not change over time, adding a layer of convenience. However, it is known that the biometric features from the same identity are similar, but not the same. Thus, the “biometric” password discussed above have to be stable, meaning that the key or hash (a string of alphanumeric characters) derived from the biometric data is the same for an identity. To that end an algorithm referred to as BioHash is provided to extract stable biometric hashes from biometric samples.
The algorithm may employ a convolutional neural network followed by a custom fully connected layer such that for every input biometric sample image, the extracted feature only has −1 or +1 values. This is achieved by using the Tanh activation function and we thus output a binary feature for every biometric input. Any standard hash can then be applied on this binary feature to output a 128-bit, 256-bit, 512-bit, or 1024-bit hash. It is known that biometric features are similar to each other, but not the same. However, with adding an innovative fully connected layer at the end of a typical feature extractor, the system can force the “similar” features to be exactly the same.
Although the digital ID is generally restricted to only one user, there can be use-cases where multiple people can use the same digital ID. For instance, a refugee family can have a single digital ID where the entire family's biographic and biometric data is stored in a single cryptograph.
Once the identity document is generated, its authenticity can be verified using the information stored in the machine-readable code. This includes reading the contents of the document and then multi-layer verification using a verifier application on devices with integrated camera subsystems (typically smartphones).
A live biometric template (face, voice, iris, finger print, etc.) and/or facial biometric hash can be extracted from a live capture of the user employing a standard face (or other) biometric capture technology. The biometric data may be used for generation of the decryption key consisting of n-shards. Each of the shards may be used to decrypt a selected portion of the cryptograph 112 that was encrypted by the corresponding encryption key consisting of n-shards generated based on the prestored or previously captured biometric data of the same user.
In one embodiment, the cryptograph 112 may contain encrypted biometric sample of a different type than the one used for generation of the decryption key. For example, the decryption key may be generated based on the facial image biometrics of the user while the cryptograph 112 contains the fingerprint-based biometric sample. The decrypted fingerprint-based biometric sample may be used as a second round of validation against the prestored biometric templates. In one embodiment, the validated fingerprint-based biometric sample may be hashed to produce a decryption key (or a set of n-shards) to be used to inlock the selected data (or the entire data form the cryptograph).
The biometric template/hash can be compared to the template/hash extracted from the storage such as blockchain. This comparison can be carried out using a mathematical function to output a similarity score. A typical range of this score is [0, 1] where 0 means that the two features/hashes are completely different whereas 1 means that the two features/hashes are the same. However, in case of the compressed hash that has some missing data, the determination may be made by the AI that ingests some extracted features form the hash and compares them to either full set of features extracted from the stored biometric sample or from a live biometric capture. For the biometric sample/templates, the similarity score may be compared with a statistically pre-determined threshold to decide if it is a successful match or not. For facial biometric hash, the similarity score has to be a perfect score since every bit of the two hashes should be the same.
As discussed above, in one embodiment, the features and/or the actions described and/or depicted herein can occur on or with respect to the blockchain 110. The above embodiments of the present disclosure may be implemented in hardware, in computer-readable instructions executed by a processor, in firmware, or in a combination of the above. The computer computer-readable instructions may be embodied on a computer-readable medium, such as a storage medium. For example, the computer computer-readable instructions may reside in random access memory (“RAM”), flash memory, read-only memory (“ROM”), erasable programmable read-only memory (“EPROM”), electrically erasable programmable read-only memory (“EEPROM”), registers, hard disk, a removable disk, a compact disk read-only memory (“CD-ROM”), or any other form of storage medium known in the art.
An exemplary storage medium may be coupled to the processor such that the processor may read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an application specific integrated circuit (“ASIC”). In the alternative embodiment, the processor and the storage medium may reside as discrete components. For example,
Embodiments of the present disclosure may comprise a computing device having a central processing unit (CPU) 520, a bus 530, a memory unit 540, a power supply unit (PSU) 550, and one or more Input/Output (I/O) units. The CPU 520 coupled to the memory unit 540 and the plurality of I/O units 560 via the bus 530, all of which are powered by the PSU 550. It should be understood that, in some embodiments, each disclosed unit may actually be a plurality of such units for the purposes of redundancy, high availability, and/or performance. The combination of the presently disclosed units is configured to perform the stages of any method disclosed herein.
Consistent with an embodiment of the disclosure, the aforementioned CPU 520, the bus 530, the memory unit 540, a PSU 550, and the plurality of I/O units 560 may be implemented in a computing device, such as computing device 500. Any suitable combination of hardware, software, or firmware may be used to implement the aforementioned units. For example, the CPU 520, the bus 530, and the memory unit 540 may be implemented with computing device 500 or any of other computing devices 500, in combination with computing device 500. The aforementioned system, device, and components are examples and other systems, devices, and components may comprise the aforementioned CPU 520, the bus 530, the memory unit 540, consistent with embodiments of the disclosure.
At least one computing device 500 may be embodied as any of the computing elements illustrated in all of the attached figures, including the IV node 102 (
With reference to
A system consistent with an embodiment of the disclosure the computing device 500 may include the clock module 510 may be known to a person having ordinary skill in the art as a clock generator, which produces clock signals. Clock signal is a particular type of signal that oscillates between a high and a low state and is used like a metronome to coordinate actions of digital circuits. Most integrated circuits (ICs) of sufficient complexity use a clock signal in order to synchronize different parts of the circuit, cycling at a rate slower than the worst-case internal propagation delays. The preeminent example of the aforementioned integrated circuit is the CPU 520, the central component of modern computers, which relies on a clock. The only exceptions are asynchronous circuits such as asynchronous CPUs. The clock 510 can comprise a plurality of embodiments, such as, but not limited to, single-phase clock which transmits all clock signals on effectively 1 wire, two-phase clock which distributes clock signals on two wires, each with non-overlapping pulses, and four-phase clock which distributes clock signals on 5 wires.
Many computing devices 500 use a “clock multiplier” which multiplies a lower frequency external clock to the appropriate clock rate of the CPU 520. This allows the CPU 520 to operate at a much higher frequency than the rest of the computer, which affords performance gains in situations where the CPU 520 does not need to wait on an external factor (like memory 540 or input/output 560). Some embodiments of the clock 510 may include dynamic frequency change, where the time between clock edges can vary widely from one edge to the next and back again.
A system consistent with an embodiment of the disclosure the computing device 500 may include the CPU unit 520 comprising at least one CPU Core 521. A plurality of CPU cores 521 may comprise identical CPU cores 521, such as, but not limited to, homogeneous multi-core systems. It is also possible for the plurality of CPU cores 521 to comprise different CPU cores 521, such as, but not limited to, heterogeneous multi-core systems, big.LITTLE systems and some AMD accelerated processing units (APU). The CPU unit 520 reads and executes program instructions which may be used across many application domains, for example, but not limited to, general purpose computing, embedded computing, network computing, digital signal processing (DSP), and graphics processing (GPU). The CPU unit 520 may run multiple instructions on separate CPU cores 521 at the same time. The CPU unit 520 may be integrated into at least one of a single integrated circuit die and multiple dies in a single chip package. The single integrated circuit die and multiple dies in a single chip package may contain a plurality of other aspects of the computing device 500, for example, but not limited to, the clock 510, the CPU 520, the bus 530, the memory 540, and I/O 560.
The CPU unit 520 may contain cache 522 such as, but not limited to, a level 1 cache, level 2 cache, level 3 cache or combination thereof. The aforementioned cache 522 may or may not be shared amongst a plurality of CPU cores 521. The cache 522 sharing comprises at least one of message passing and inter-core communication methods may be used for the at least one CPU Core 521 to communicate with the cache 522. The inter-core communication methods may comprise, but not limited to, bus, ring, two-dimensional mesh, and crossbar. The aforementioned CPU unit 520 may employ symmetric multiprocessing (SMP) design.
The plurality of the aforementioned CPU cores 521 may comprise soft microprocessor cores on a single field programmable gate array (FPGA), such as semiconductor intellectual property cores (IP Core). The plurality of CPU cores 521 architecture may be based on at least one of, but not limited to, Complex instruction set computing (CISC), Zero instruction set computing (ZISC), and Reduced instruction set computing (RISC). At least one of the performance-enhancing methods may be employed by the plurality of the CPU cores 521, for example, but not limited to Instruction-level parallelism (ILP) such as, but not limited to, superscalar pipelining, and Thread-level parallelism (TLP).
Consistent with the embodiments of the present disclosure, the aforementioned computing device 500 may employ a communication system that transfers data between components inside the aforementioned computing device 500, and/or the plurality of computing devices 500. The aforementioned communication system will be known to a person having ordinary skill in the art as a bus 530. The bus 530 may embody internal and/or external plurality of hardware and software components, for example, but not limited to a wire, optical fiber, communication protocols, and any physical arrangement that provides the same logical function as a parallel electrical bus. The bus 530 may comprise at least one of, but not limited to a parallel bus, wherein the parallel bus carry data words in parallel on multiple wires, and a serial bus, wherein the serial bus carry data in bit-serial form. The bus 530 may embody a plurality of topologies, for example, but not limited to, a multidrop/electrical parallel topology, a daisy chain topology, and a connected by switched hubs, such as USB bus. The bus 530 may comprise a plurality of embodiments, for example, but not limited to:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 500 may employ hardware integrated circuits that store information for immediate use in the computing device 500, known to the person having ordinary skill in the art as primary storage or memory 540. The memory 540 operates at high speed, distinguishing it from the non-volatile storage sub-module 561, which may be referred to as secondary or tertiary storage, which provides slow-to-access information but offers higher capacities at lower cost. The contents contained in memory 540, may be transferred to secondary storage via techniques such as, but not limited to, virtual memory and swap. The memory 540 may be associated with addressable semiconductor memory, such as integrated circuits consisting of silicon-based transistors, used for example as primary storage but also other purposes in the computing device 500. The memory 540 may comprise a plurality of embodiments, such as, but not limited to volatile memory, non-volatile memory, and semi-volatile memory. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting examples of the aforementioned memory:
Consistent with the embodiments of the present disclosure, the aforementioned computing device 500 may employ the communication sub-module 562 as a subset of the I/O 560, which may be referred to by a person having ordinary skill in the art as at least one of, but not limited to, computer network, data network, and network. The network allows computing devices 500 to exchange data using connections, which may be known to a person having ordinary skill in the art as data links, between network nodes. The nodes comprise network computer devices 500 that originate, route, and terminate data. The nodes are identified by network addresses and can include a plurality of hosts consistent with the embodiments of a computing device 500. The aforementioned embodiments include, but not limited to personal computers, phones, servers, drones, and networking devices such as, but not limited to, hubs, switches, routers, modems, and firewalls.
Two nodes can be networked together, when one computing device 500 is able to exchange information with the other computing device 500, whether or not they have a direct connection with each other. The communication sub-module 562 supports a plurality of applications and services, such as, but not limited to World Wide Web (WWW), digital video and audio, shared use of application and storage computing devices 500, printers/scanners/fax machines, email/online chat/instant messaging, remote control, distributed computing, etc. The network may comprise a plurality of transmission mediums, such as, but not limited to conductive wire, fiber optics, and wireless. The network may comprise a plurality of communications protocols to organize network traffic, wherein application-specific communications protocols are layered, may be known to a person having ordinary skill in the art as carried as payload, over other more general communications protocols. The plurality of communications protocols may comprise, but not limited to, IEEE 802, ethernet, Wireless LAN (WLAN/Wi-Fi), Internet Protocol (IP) suite (e.g., TCP/IP, UDP, Internet Protocol version 5 [IPv5], and Internet Protocol version 6 [IPv6]), Synchronous Optical Networking (SONET)/Synchronous Digital Hierarchy (SDH), Asynchronous Transfer Mode (ATM), and cellular standards (e.g., Global System for Mobile Communications [GSM], General Packet Radio Service [GPRS], Code-IVision Multiple Access [CDMA], and Integrated Digital Enhanced Network [IDEN]).
The communication sub-module 562 may comprise a plurality of size, topology, traffic control mechanism and organizational intent. The communication sub-module 562 may comprise a plurality of embodiments, such as, but not limited to:
The aforementioned network may comprise a plurality of layouts, such as, but not limited to, bus network such as ethernet, star network such as Wi-Fi, ring network, mesh network, fully connected network, and tree network. The network can be characterized by its physical capacity or its organizational purpose. Use of the network, including user authorization and access rights, differ accordingly. The characterization may include, but not limited to nanoscale network, Personal Area Network (PAN), Local Area Network (LAN), Home Area Network (HAN), Storage Area Network (SAN), Campus Area Network (CAN), backbone network, Metropolitan Area Network (MAN), Wide Area Network (WAN), enterprise private network, Virtual Private Network (VPN), and Global Area Network (GAN).
Consistent with the embodiments of the present disclosure, the aforementioned computing device 500 may employ the sensors sub-module 563 as a subset of the I/O 560. The sensors sub-module 563 comprises at least one of the devices, modules, and subsystems whose purpose is to detect events or changes in its environment and send the information to the computing device 500. Sensors are sensitive to the measured property, are not sensitive to any property not measured, but may be encountered in its application, and do not significantly influence the measured property. The sensors sub-module 563 may comprise a plurality of digital devices and analog devices, wherein if an analog device is used, an Analog to Digital (A-to-D) converter must be employed to interface the said device with the computing device 500. The sensors may be subject to a plurality of deviations that limit sensor accuracy. The sensors sub-module 563 may comprise a plurality of embodiments, such as, but not limited to, chemical sensors, automotive sensors, acoustic/sound/vibration sensors, electric current/electric potential/magnetic/radio sensors, environmental/weather/moisture/humidity sensors, flow/fluid velocity sensors, ionizing radiation/particle sensors, navigation sensors, position/angle/displacement/distance/speed/acceleration sensors, imaging/optical/light sensors, pressure sensors, force/density/level sensors, thermal/temperature sensors, and proximity/presence sensors. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting examples of the aforementioned sensors:
Chemical sensors, such as, but not limited to, breathalyzer, carbon dioxide sensor, carbon monoxide/smoke detector, catalytic bead sensor, chemical field-effect transistor, chemiresistor, electrochemical gas sensor, electronic nose, electrolyte-insulator-semiconductor sensor, energy-dispersive X-ray spectroscopy, fluorescent chloride sensors, holographic sensor, hydrocarbon dew point analyzer, hydrogen sensor, hydrogen sulfide sensor, infrared point sensor, ion-selective electrode, nondispersive infrared sensor, microwave chemistry sensor, nitrogen oxide sensor, olfactometer, optode, oxygen sensor, ozone monitor, pellistor, pH glass electrode, potentiometric sensor, redox electrode, zinc oxide nanorod sensor, and biosensors (such as nano-sensors).
Automotive sensors, such as, but not limited to, air flow meter/mass airflow sensor, air-fuel ratio meter, AFR sensor, blind spot monitor, engine coolant/exhaust gas/cylinder head/transmission fluid temperature sensor, hall effect sensor, wheel/automatic transmission/turbine/vehicle speed sensor, airbag sensors, brake fluid/engine crankcase/fuel/oil/tire pressure sensor, camshaft/crankshaft/throttle position sensor, fuel/oil level sensor, knock sensor, light sensor, MAP sensor, oxygen sensor (o2), parking sensor, radar sensor, torque sensor, variable reluctance sensor, and water-in-fuel sensor.
Consistent with the embodiments of the present disclosure, the aforementioned computing device 500 may employ the peripherals sub-module 562 as a subset of the I/O 560. The peripheral sub-module 565 comprises ancillary devices used to put information into and get information out of the computing device 500. There are 3 categories of devices comprising the peripheral sub-module 565, which exist based on their relationship with the computing device 500, input devices, output devices, and input/output devices. Input devices send at least one of data and instructions to the computing device 500. Input devices can be categorized based on, but not limited to:
Output devices provide output from the computing device 500. Output devices convert electronically generated information into a form that can be presented to humans. Input/output devices that perform both input and output functions. It should be understood by a person having ordinary skill in the art that the ensuing are non-limiting embodiments of the aforementioned peripheral sub-module 565:
Output Devices may further comprise, but not be limited to:
Printers, such as, but not limited to, inkjet printers, laser printers, 3D printers, solid ink printers and plotters.
Input/Output Devices may further comprise, but not be limited to, touchscreens, networking device (e.g., devices disclosed in network 562 sub-module), data storage device (non-volatile storage 561), facsimile (FAX), and graphics/sound cards.
All rights including copyrights in the code included herein are vested in and the property of the Applicant. The Applicant retains and reserves all rights in the code included herein, and grants permission to reproduce the material only in connection with reproduction of the granted patent and for no other purpose.
While the specification includes examples, the disclosure's scope is indicated by the following claims. Furthermore, while the specification has been described in language specific to structural features and/or methodological acts, the claims are not limited to the features or acts described above. Rather, the specific features and acts described above are disclosed as examples for embodiments of the disclosure.
Insofar as the description above and the accompanying drawing disclose any additional subject matter that is not within the scope of the claims below, the disclosures are not dedicated to the public and the right to file one or more applications to claims such additional disclosures is reserved.
| Number | Date | Country | |
|---|---|---|---|
| 63452057 | Mar 2023 | US |