Network topology
US-2019289019-A1 · Sep 19, 2019 · US
US11671414B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11671414-B2 |
| Application number | US-201816484889-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 7, 2018 |
| Priority date | Feb 10, 2017 |
| Publication date | Jun 6, 2023 |
| Grant date | Jun 6, 2023 |
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 method and system of authenticating a device within a network of connected devices that share a ledger of transactions between them under the form of exchanged blockchain messages and comprising: computing a PoK chain ( 70 ) based on the enhanced blockchain, receiving an authentication request from an application or a device, the authentication request including one or more PoKs ( 71 ), retrieving from the PoK database the PoK chain ( 70 ) corresponding to the application or device identified in the authentication request; computing a PoK ( 71 ) based on the PoK chain ( 70 ) retrieved from the PoK database, comparing it with the PoK ( 71 ) included in the authentication request, and if they match, validating the authentication request.
Opening claim text (preview).
The invention claimed is: 1. A device to be connected to a network where connected devices share a ledger of transactions between them under the form of a main blockchain composed of blocks, each block containing a timestamp and a link to a previous block, such device comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the device at least to: add forked chains extracted at the device to a main blockchain in order to build an enhanced blockchain and to store the enhanced blockchain in a chain database; compute at least one Proof-of-Knowledge (PoK) chain based at least on the enhanced blockchain, a PoK chain being composed of PoK blocks, each PoK block containing a timestamp and a link to a previous PoK block, store the PoK chain in a PoK database, receive an authentication request from an application or a second device, the authentication request including at least one PoK, retrieve, from the PoK database, at least one PoK chain corresponding to the application or the second device identified in the authentication request; send the at least one PoK included in the authentication request and the at least one PoK chain retrieved from the PoK database to an authentication validator of the device, compute at least one PoK based on the at least one PoK chain retrieved from the PoK database, compare it with the at least one PoK included in the authentication request, and if they match, validate the authentication request. 2. The device of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the device at least to: analyze received blockchain messages, build a new block according to the received blockchain messages, and send the new block to a fork broadcast of the device and to all the other devices within the network, and, receive blocks from a miner of the device and from other devices within the network and to extract forked chains from received blocks. 3. The device of claim 1 , wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the device at least to: aggregate, using an aggregation function, each forked chain head of the enhanced block-chain with the block of the main chain they are attached to so as to form a single PoK block, the PoK blocks forming the PoK chain. 4. The device of claim 3 , wherein the aggregation function is a Hash function. 5. The device of claim 3 , wherein the aggregation function is a bitwise XOR. 6. The device of claim 1 , further comprising an authentication database storing for each device or application a time of last authentication, and wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the device at least to: retrieve from the authentication database the time of last authentication of the application or the second device, and forward it to the authentication validator, wherein, the authentication validator computes the PoK by aggregating the blocks of the PoK chain retrieved from the PoK database having a timestamp comprised between the time of last authentication of the application or device and the current time. 7. The device of claim 1 , wherein, the request for authentication includes a PoK policy including a list of PoK chains required to compute the PoK and to validate the authentication request, and wherein the at least one memory and the computer program code are further configured to, with the at least one processor, cause the device at least to: interact with other devices within the network in order to retrieve additional PoK chains, and if the PoK database of the device does not include all the PoK chains required in the PoK policy, to send a request for additional PoK chains to a cooperation manager of the device. 8. The device of claim 1 , wherein, the request for additional PoK chains comprises all PoK chains stored in the PoK database of the device, the PoK chains included in said request being intended to be used by the device receiving said request for authenticating the sender of said request. 9. A method of authenticating a device within a network of connected devices that share a ledger of transactions between them under the form of a blockchain composed of blocks, each block contains a timestamp and a link to a previous block, the method comprising: extracting forked chains from received blocks; adding all forked chains to a main blockchain in order to build an enhanced blockchain; storing the enhanced blockchain in a chain database; computing at least one PoK chain based at least on the enhanced blockchain, a PoK chain being composed of PoK blocks, each PoK block containing a timestamp and a link to a previous PoK block, receiving an authentication request from an application or a device, the authentication request including at least one PoK, retrieving from the PoK database at least one PoK chain corresponding to the application or device identified in the authentication request; and, computing at least one PoK based on the at least one PoK chain retrieved from the PoK database, comparing it with the at least one PoK included in the authentication request, and if they match, validating the authentication request. 10. The method of claim 9 further comprising analyzing received blockchain messages, building a new block according to the received blockchain messages, and sending the new block to all the other devices within the network. 11. The method of claim 9 , wherein the request for authentication includes a PoK policy including a list of PoK chains required to compute the PoK and to validate the authentication request, the method further comprising: if the PoK database does not include all the PoK chains required in the PoK policy, retrieving additional PoK chains from other devices within the network. 12. A non-transitory computer-readable medium comprising executable code stored thereon that when executed, causes a computer to perform at least the following: extracting forked chains from received blocks; adding all forked chains to a main blockchain in order to build an enhanced blockchain; storing the enhanced blockchain in a chain database; computing at least one Proof-of-Knowledge (PoK) chain based at least on the enhanced blockchain, a PoK chain being composed of PoK blocks, each PoK block containing a timestamp and a link to a previous PoK block, receiving an authentication request from an application or a device, the authentication request including at least one PoK, retrieving from the PoK database at least one PoK chain corresponding to the application or device identified in the authentication request; and, computing at least one PoK based on the at least one PoK chain retrieved from the PoK database, comparing it with the at least one PoK included in the authentication request, and if they match, validating the authentication request.
using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs · CPC title
using hash chains, e.g. blockchains or hash trees · CPC title
for key exchange, e.g. in peer-to-peer networks (cryptographic mechanisms or cryptographic arrangements for key agreement H04L9/0838) · CPC title
Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title
based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.