Since its creation, blockchain has risen in popularity among security experts and the public. It has even been touted as the silver bullet of cybersecurity, unbreachable and safe. But viewing blockchain in that light is overly simplistic.
To maximize its usefulness, specifically for the enterprise, blockchain as a technology must evolve to embrace identity and access management (IAM) functions. Identity and blockchain can work together to create new use cases.
A Permissionless System
Blockchain technology was popularized by bitcoin, which uses blockchain techniques to formulate an anonymous digital currency. Due to the permissionless nature of the bitcoin — anyone can join the network without credentials — the blockchain holds no true user identities. As such, IAM is not involved except as a component in wallet and exchange companies. This permissionless system does not feature associated identity components.
In fact, blockchain was created to solve the specific problem of providing trust when all participants are anonymous. The solution is a container (the blockchain), which records each new change and adds it to the last. It is essentially an ever-growing journal.
The trust is provided by a cryptographic technique that encrypts and signs each addition, creating a new block to add to the existing chain — hence the term blockchain. Anyone with access can examine the chain and view the entire journal history. Fraudulent changes to the journal have yet to become a material concern because any attempt to change the chain would show as a different value.
Private Blockchains
As organizations began to explore the use of blockchain, it quickly became apparent that the bitcoin blockchain strategy needed to be adapted. The premise was simple: Proprietary information should not be stored in a permissionless, publicly accessible database.
Instead, the concept of private blockchains, where a blockchain is either held within the organization’s walled garden or shared among known participants, took hold as the driving concept. Private blockchains create private networks of participants.
The primary prospects for commercial and private use of blockchain are currently centered around transparent ledgers and smart contracts. Transparent ledgers, sometimes called transparent journals, record all transactions in chronological order, otherwise known as time stamping. After each transaction, the technology performs a cryptographic operation, making that transaction part of the chain. Anyone permitted to examine the chain can see each transaction, from the current exchange to the prime transaction.
Smart contracts refer to chains that have an embedded set of rules. In addition to recording transactions entered externally, there is also a set of rules that triggers an action between participants when a certain set of conditions is met. For example, a smart contract could transfer payment from buyer to seller when a delivery service adds the delivery receipt to the blockchain.
Identity and Blockchain
One of the most important functions of blockchain is identifying, rather than anonymizing, users. All actors in a blockchain and participants in a smart contract should be identified, be identifiable and be assigned roles. This is where identity and blockchain come together.
Conceptually, we can trust a blockchain. The cryptographic actions lock the record (the chain) and its addition (a new block). But do we trust the actors? In the blockchain, we can attribute actions to specific actors. Let’s use Jane and John: Jane owns a toaster. Jane offers to sell the toaster to John. John agrees to buy the toaster. Jane ships the toaster to John. The delivery service delivers the toaster to John. John transfers payment to Jane.
We can embed this transaction in a smart contract in a blockchain. Transaction friction is reduced, but the fundamental problem remains: How do you know Jane is really Jane? And how do you know John is really John?
This identification process actually has two parts. The first part is the initial verification of identity. Someone must assert that Jane is Jane, and someone must then either agree that Jane is Jane or verify that Jane is Jane. Agreement is internally consistent. Verification relies on an external party verifying Jane’s identity by examining a passport or bank account details, for example.
The second part of the process refers to subsequent actions on the blockchain. In this case, we want Jane’s digital identity to be associated with subsequent actions she may take.
Integrating Blockchain With IAM
To benefit from the magic of blockchain, we need to know who we are dealing with and, subsequently, what level of access participants should have. This requires answers to some specific questions:
- Who or what needs to be identified or authenticated?
- What level of authentication is required? Is it only internally consistent or externally verified?
- What needs to be authorized?
- Can any party in the blockchain perform any action they desire, or should some actions require authorization?
- Should some actions be allowable only to certain parties?
As organizations become more sophisticated in blockchain use case development, they require more flexibility and more granular detail in who has access to what information and what authorization they have to verify, read or otherwise access information on the network.
Verification and Consensus
Verifying the credentials and authorizations of participants in the network is key to understanding the consensus on the blockchain. Each blockchain will have its own rules regarding how much and what type of verification is needed when agreeing upon changes to the smart contract or transparent ledger.
Typically, consensus is achieved with a two-thirds majority vote. This mitigates the problem of a single faulty node by quarantining that particular node without hindering the process. It is difficult, however, to ascertain whether a faulty node is acting maliciously.
Other blockchains may use different consensus rules that rely on a smaller number of nodes — or, in some cases, a single node — to verify all activities. Understanding the verification process establishes the levels of influence of particular nodes in the network, thereby increasing the need for appropriate IAM functions.
A private, commercial blockchain requires a reliable IAM program. Bringing identity and blockchain together opens new possibilities.