Blockchain authentication for mobile network access
US-10448251-B1 · Oct 15, 2019 · US
US11212102B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11212102-B2 |
| Application number | US-201916503154-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 3, 2019 |
| Priority date | Jul 3, 2018 |
| Publication date | Dec 28, 2021 |
| Grant date | Dec 28, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A computer implemented system for electronic verification of credentials including at least one processor and data storage is described in various embodiments. The system includes cryptographic mechanisms and electronic communication between one or more computing systems that in concert, provide verification of a prover's credentials in accordance to logical conditions of a verifier's policy without providing additional information to a verifier entity.
Opening claim text (preview).
What is claimed is: 1. A computer implemented system for communicating data messages between a verifier computing device and a portable client computing device, the data messages establishing authentication of one or more characteristics of a client associated with the portable client computing device, the system comprising: the portable client computing device including at least a client computing device processor and data storage, the data storage storing one or more token data objects received from or computed jointly in a multiparty protocol with an issuer computing device, the one or more token data objects generated using at least a issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the client associated with the portable client computing device; and the client computing device processor configured to receive a verification request data message from the verifier computing device and, using a combination of the one or more token data objects and the verification request data message, generate one or more proof data messages without sending any data messages or requests to the issuer computing device by conducting a modular inverse based at least on an attribute value from the one or more token data objects, generating a first random number and a second random number, computing a first group exponentiation and a second group exponentiation based on the first random number and the second random number, and a group multiplication including at least the first group exponentiation and the second group exponentiation, the group multiplication utilized to establish proof responses in a sigma protocol that are encapsulated into a proof data message of the one or more proof data messages. 2. The computer implemented system of claim 1 , wherein the verification request data message includes at least a nonce c 0 ; and the client computing device processor is configured to: compute t=x −1 mod p, where x is an attribute value from the one or more token data objects, and p is an order of the discrete log group; t is a modular inverse of x mod p; uniformly sample a first random number r 1 and a second random number, r 2 , such that r 1 , r 2 ∈ p ; compute R=C x r 1 h r 2 here R is a commitment to random values r 1 and r 2 , C x is a commitment to attribute x, h is a group generator; compute c=H(C x ,R,c 0 ), where c is a proof challenge, based at least on the Fiat-Shamir Heuristic; compute z 1 =ct+r 1 and z 2 =−cty+r 2 , where z 1 and z 2 are proof responses based on a Sigma protocol; and encapsulate and transmit the one or more proof data messages including R, z 1 and z 2 as data objects to the verifier computing device, such that the verifier computing device is able to compute c=H(C x ,R,c 0 ) and confirm that g c R=C x z 1 h z 2 , the verifier computing device controlling provisioning of access to a secured resource responsive to the confirmation that g c R=C x z 1 h z 2 . 3. The computer implemented system of claim 1 , wherein the one or more token data objects are pre-loaded into the data storage such that the generation of the proof can be conducted at a time temporally separated from when the one or more token data objects were generated or preloaded. 4. The computer implemented system of claim 1 , wherein the one or more proof data messages are generated such that the one or more proof data messages can be validated using an issuer computing device public encryption key corresponding to the issuer computing device private issuance key. 5. The computer implemented system of claim 1 , wherein g c R=C x z 1 h z 2 indicates that a condition established in the verification request data message is met without having to present the underlying one or more characteristics of the client associated with the portable client computing device. 6. The computer implemented system of claim 1 , wherein the verification request data message includes a blacklist data structure and the one or more proof data messages are generated to establish that the client associated with the portable client computing device does not match one or more identities stored in the blacklist data structure, or wherein the verification request data message includes a whitelist data structure and the one or more proof data messages are generated to establish that the client associated with the portable client computing device matches one or more identities stored in the blacklist data structure. 7. The computer implemented system of claim 1 , wherein the provisioning of access to the secured resource includes transmitting an electronic signal to a physical lock actuator, or to a digital challenge-response mechanism. 8. The computer implemented system of claim 1 , wherein the client computing device processor is a secure enclave processor or a trusted execution environment that is segregated from a general execution environment of the client computing device or the data storage is a secure enclave memory region that is segregated from a general memory region of the client computing device, the secure enclave memory region not accessible by general execution environment of the client computing device. 9. A computer implemented system for communicating data messages between a verifier computing device and a portable client computing device, the data messages establishing authentication of one or more characteristics of a client associated with the portable client computing device, the system comprising: the portable client computing device including at least a client computing device processor and data storage, the data storage storing one or more token data objects received from or computed jointly in a multiparty protocol with an issuer computing device, the one or more token data objects generated using at least a issuer computing device private issuance key, the one or more token data objects each including one or more signed data elements representing at least one of the one or more characteristics of the client associated with the portable client computing device; and the client computing device processor configured to: receive a verification request data message from the verifier computing device including a request to prove a≤b; generate a proof data message wherein G is defined as a discrete log group of prime order p and g and h be generators with unknown discrete logs, numbers q and l are defined such that q−l=2 N ≤p/2 and two whole numbers a and b such that l≤a≤b<q; and G is a discrete log group of prime order p and g and h be generators with unknown discrete logs, considering consider commitments A=g a h m a and B=g b h m b to a and b, respectively, by: computing C=BA −1 =g b−a h m b −m a =g c h m c ; producing bit commitments A i =g a i h m ai , B i =g b i h m bi , C i =g c i h m ci for i ∈{1, . . . , N−1}, where a i b i and c i are the i′th bits of a−l, b−l and c, respectively, m ai , m bi and m ci are sampled randomly; computing A 0 =g a o h m ao =AΠ i=1 N−1 A i −2 i and likewise B 0 =g b 0 h m b0 =B Π i=1 N−1 B i −2 i and C 0 =g c o h m c0 =C Π i=1 N−1 C i −2 i ; for each i ∈{0,1, . . . , N−1}, and repeated through each of A, B, and C: randomly sampling r ai , d′ ai and z′ ai ; computing R ai,a i =h r ai and R ai,(1−a i ) =h z′ ai (A i g −a i ) −d′ ai ; computing d ai =H(A i , R ai,0 , R ai,1 ); computing z ai =(d ai −d′ ai )m ai +r ai ; assigning z ai,a i =z ai , z
using hash chains, e.g. blockchains or hash trees · CPC title
using tickets or tokens, e.g. Kerberos (network architectures or network communication protocols for entities authentication using tickets in a packet data network H04L63/0807) · CPC title
involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD · CPC title
using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs · CPC title
User authentication · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.