| Literature DB >> 34066711 |
Arne Bochem1, Benjamin Leiding2.
Abstract
Today, increasing Internet of Things devices are deployed, and the field of applications for decentralized, self-organizing networks keeps growing. The growth also makes these systems more attractive to attackers. Sybil attacks are a common issue, especially in decentralized networks and networks that are deployed in scenarios with irregular or unreliable Internet connectivity. The lack of a central authority that can be contacted at any time allows attackers to introduce arbitrary amounts of nodes into the network and manipulate its behavior according to the attacker's goals, by posing as a majority participant. Depending on the structure of the network, employing Sybil node detection schemes may be difficult, and low powered Internet of Things devices are usually unable to perform impactful amounts of work for proof-of-work based schemes. In this paper, we present Rechained, a scheme that monetarily disincentivizes the creation of Sybil identities for networks that can operate with intermittent or no Internet connectivity. We introduce a new revocation mechanism for identities, tie them into the concepts of self-sovereign identities, and decentralized identifiers. Case-studies are used to discuss upper- and lower-bounds for the costs of Sybil identities and, therefore, the provided security level. Furthermore, we formalize the protocol using Colored Petri Nets to analyze its correctness and suitability. Proof-of-concept implementations are used to evaluate the performance of our scheme on low powered hardware as it might be found in Internet of Things applications.Entities:
Keywords: Identity; Internet of Things; Sybil attack; authentication; blockchain; security; self sovereign identity
Year: 2021 PMID: 34066711 PMCID: PMC8125832 DOI: 10.3390/s21093257
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1General blockchain structure—based on [20].
Figure 2Creating a new identity proof—based on [5,15].
Figure 3Validation process—based on [5,15].
Overview of Rechained parameters.
| Parameter | Description |
|---|---|
|
| Identity proofs have to refer to blocks of at least this height on the chain. |
|
| One or multiple addresses that receive the payment for transaction creation. |
|
| The minimum amount of crypto currency that has to be sent to create an identity. |
|
| Optional: A timelocked output sent back to the user, with the lock time determining the lifetime of the identity. |
|
| The minimum mining difficulty required for an identity proof to be valid. |
Figure 4Selection of AOM notation elements.
Figure 5Rechained top-level AOM goal model—extension of [5].
Behavioral interfaces of activities for Rechained—extension of [5].
| Activity | Trigger | Pre-Condition | Post-Condition |
|---|---|---|---|
| Create Deposit Transaction | User wants to create a deposit transaction | Network parameters, machine identity and machine wallet | Network parameter, machine identity, machine wallet, deposit transaction |
| Mining | Received deposit/revocation transaction | Deposit/revocation transaction, previous block hash, deposit/revocation wallet and blockchain difficulty target | Block, previous block hash, blockchain difficulty target, deposit/revocation wallet |
| Create Identity Proof | Deposit transaction mined into block and user wants to create new identity proof | Block with deposit transaction, machine identity and machine wallet | Identity proof, machine identity, machine wallet |
| Validate Identity Proof | Incoming identity proof | Identity proof, network parameter, machine identity and machine wallet | Boolean statement whether the provided identity proof is valid, or not |
| Create Revocation Transaction | User wants to create a revocation transaction | Identity proof, network parameter, machine identity and machine wallet | Network parameter, machine identity, machine wallet, revocation transaction and identity proof |
| Revoke Identity Proof | Revocation transaction mined into block | Block with revocation transaction, identity proof, identity revocation list, machine identity and machine wallet | Identity proof, machine identity, machine wallet and identity revocation list |
Figure 6Notation mapping CPN to AOM—based on [60].
Figure 7Mapping a behavior interface model to a CPN model—based on [66,67].
Figure 8Rechained CPN model—extension of [5].
Exemplary acronyms, names, and description of token colors of the Rechained CPN model—extension of [5].
| Token Color | Description | Type |
|---|---|---|
| KeyPair | Key pair | (pubKey, privKey) |
| Wallet | Blockchain wallet | (Address, Balance) |
| NetworkParameter, NP | Rechained network parameter | (Difficulty, minBlockHeight, minDeposit, depositAddress) |
| Difficulty | Minimum PoW difficulty for an identity proof as defined by the network operator | Integer |
| minBlockHeight | Minimum block height as defined by the network operator | Integer |
| minDeposit | Minimum deposit to be made for an identity proof as defined by the network operator | Integer |
| depositAddress | Deposit address as defined by the network operator | String |
| Transaction, TX | Structure of a deposit transaction | (ID, from, to, amount, pubKey, txSig) |
| Block | Blockchain block | (ID, prevBlockHash, BlockchainDiffTarget, txList) |
| IdentityProof, IP | Identity proof | (BlockID, BlockHash, BlockchainDiffTarget, TXID, BlockTXList, proofID, proofSig) |
| proofID | proofID as specified by the protocol | String |
| MachineIdentity | Machine entity identity | (DID, KeyPair) |
| depositWallet | Deposit wallet as defined by the network operator | Wallet |
| machineWallet | Machine’s wallet | Wallet |
| IdentityRevocation-List, IRL | List of IDs of revoked identity proofs | [Integer] |
| validationResult | Result of the identity proof validation | Boolean |
Figure 9Average daily price of Bitcoin in USD and block difficulty level between January 2017 and April 2021—partially based on [5,15], Data Source [39].
Affected starting dates after which the Bitcoin price drops below a certain percentage of the given day’s price between January 2017 and April 2021.
| Drop to | Affected Start Dates |
|---|---|
| <10% | 0.0% |
| <20% | 0.8% |
| <30% | 4.6% |
| <40% | 10.1% |
| <50% | 22.0% |
| <60% | 36.3% |
| <70% | 43.2% |
| <80% | 52.6% |
| <90% | 60.0% |
| <100% | 81.1% |
Figure 10Average daily price of Ether in USD and block difficulty level between January 2017 and April 2021—partially based on [5,15], Data Source [69].
Affected starting dates after which the Ethereum price drops below a certain percentage of the given day’s price between January 2017 and April 2021.
| Drop to | Affected Start Dates |
|---|---|
| <10% | 2.5% |
| <20% | 14.8% |
| <30% | 25.9% |
| <40% | 31.7% |
| <50% | 40.6% |
| <60% | 45.8% |
| <70% | 54.3% |
| <80% | 60.3% |
| <90% | 71.5% |
| <100% | 89.3% |
State-space analysis results of the Rechained CPN model.
| Loops | Home Markings | Dead Markings | Dead Transitions | Live Transitions |
|---|---|---|---|---|
| No | No | Yes | No | No |