How To Use Blockchain In Identity Management?

As globalization increases the need for service integration across domains and geographies, identity management software is becoming more and more important. Since effective identity management software has the power to quickly confirm a person’s identity, it offers a wealth of new opportunities for entrepreneurs.

If you are reading this article, you are likely one such entrepreneur. However, planning to launch your identity management software application is no easy feat. This task is complicated if you are planning to use blockchain in identity management as this new technology requires a relatively new skill set that most programmers do not yet posses.

In order to give you a good understanding of what developing a blockchain-based identity management product will involve, I will explain in this article.

Contents

The market for identity management software
What is an identity management software?
The importance of identity management software
Identity management challenges today
How can blockchain help in identity management?
Building a blockchain identity management solution
Developing a strategic app using blockchain for identity management?

The market for identity management software

The market for identity management software has been growing significantly year on year. One industry report recently concluded that the global market was worth $8.85 billion in 2017, and that the industry will grow at a CAGR of 12.7% until 2025.

Another industry report estimates a global market of $14.82 billion by 2021, with a CAGR of 12.9% up to 2021. Both these reports highlight universal industry optimism regarding the future identity management market.

A Business Wire report has an even more optimistic estimate for this industry. The report states that the cloud-based identity management software market will amount of $5.76 billion by 2023. It claims a market of $2 billion in 2017, which translates to a growth prediction of 18.6%!

So if you are planing to develop a piece of identify management software such as an app, there is plenty of room in this high-growth industry to utilize your entrepreneurial talent!

What is an identity management software?

Identity management software enables organizations and individuals to effectively administer their identity management processes. An identity management process is designed  to identify, authenticate, and authorize individuals to access organizational software resources.

These resources include the network, applications, and just about any authorized digital information. Read more about this process in this SearchSecurity definition. It is also right to consider identity management as a subset of the ’Identity and Access Management‘ (IAM) process. Read more about it in “What is IAM? Identity and access management explained”.

Download Our Project Specification Template

’Identity Management‘ (IdM) software helps the administrators of an organization to clearly define and modify a persons‘ role in the organization and authorize the relevant access to them. This software also enables administrators to track users’ login and activity on the organizational computer network. This enhances operational security.

As a result, IT administrators can support the governance of IAM and manage risk. Organizations also use IdM software to meet their regulatory compliance requirements. Read about it in this Webopedia definition of identity management.

The importance of identity management software

Most organizations, whether a business, a government organization or a non-governmental organization (NGO), work in an environment characterized by stringent data privacy regulations. Some sectors like healthcare and financial services have even high regulatory compliance requirements.

Given this context, an IdM is very important, due to the following reasons:

  • It helps in governing and managing the overall IAM program in the organization.
  • Records from the IdM software enables organizations to assess their IAM effectiveness.
  • The software makes it easier to administer IdM, access management, limiting access to sensitive IT assets, etc.
  • Analytics from the IdM software helps organizations strengthen their IT security practices.

Read more in “Identity and access management and its importance for organizations”.

Identity management challenges today

No doubt that you are exploring blockchain identity management as today‘s IdM systems face numerous challenges. These are as follows:

  • User identity data resides in silos, therefore, organizations find it hard to verify identities and approve access requests.
  • IT administrators in charge of the IdM system often lack information about which team member requires access to which set(s) of sensitive data.
  • Reconciling access levels against the level of confidentiality required in a system is often hard, which is another fallout of data residing in silos.
  • In absence of well-structured insights, there are often excess privileges granted to sensitive systems!
  • ’Separation of Duties‘ (SOD) is hard to maintain without sufficient insight.
  • Above points often result in a manual override of the IdM system. This requires additional documentation, which increases costs.
  • When auditing and certifying the system, reconciliation becomes hard due to all of the above reasons.

Read more about these challenges in “Meeting identity and access management challenges in the era of mobile and cloud”.

How can blockchain help in identity management?

Blockchain technology promises to make identity management better due to its following characteristics:

  • It is decentralized and therefore doesn’t require a central authority to control the data. This is true with Bitcoin and the Ethereum network.
  • Using modern cryptography consensus algorithms helps with securing data.
  • Immutability of records facilitates trust.
  • Smart contracts are immutable pieces of code that can autonomously uphold contractual terms and conditions, with irreversible outcomes.

Read more about it in “What is blockchain technology?”.

An identity management blockchain solution offers the following advantages:

  • User identity only needs to be stored once, therefore, there is no need to replicate it in silos.
  • Enterprise blockchain networks can help identity management administrators in businesses and other organizations. They can define appropriate roles and access all user identity information.
  • Immutability of records will help the IdM administrators, moreover, auditors will find their work easier.
  • Using smart contracts will make access provisioning requests more efficient.

Read more about these advantages in “Understanding how blockchain is changing identity management and why it is better than traditional methods”.

The market for blockchain identity management solutions

It isn‘t surprising then that blockchain when coupled with identity management is creating significant business opportunities.

This “Zion Market Research” (ZMR) report highlights, the global blockchain identity management market will reach $3.45 billion by 2024. The CAGR between 2018 and 2024 will be an astounding 80%. Its time to get developing!

Building a blockchain identity management solution

I will now take you through the steps to use blockchain for identity management, which is a development project.

Step #1: Project scoping and stakeholder expectation management

It is likely that you are developing a blockchain identity management system for businesses, governments or even NGOs. In other words, you are developing it for organizations that will likely operate under strict privacy regulations.

Public permissionless blockchains like the Bitcoin network make information available to anyone that joins the network, however, they are not suitable for a identity management. You will need to use an enterprise blockchain, which provides for data privacy. Read more about the difference in “Public vs private (permissioned) blockchain comparison”.

Read How We Helped a Marketing Company to Build a Back-Office Custom Ads Dashboard

Keep in mind that project scoping and stakeholder expectation management is important. Blockchain is a niche skill. Enterprise blockchain is a niche even within that. Project stakeholders need to allocate sufficient budget, and expect a reasonable schedule, in view of these.

Step #2: Select your blockchain platform: Hyperledger Fabric

I recommend you use Hyperledger Fabric as the blockchain platform for the following reasons:

  • Fabric is managed by the Hyperledger Consortium, which is led by the Linux Foundation with contributions from many other organizations like IBM, Cisco, Intel, etc. Support from technology giants bodes well for the platform.
  • It‘s among the most matured enterprise blockchain platforms.
  • The platform comes with several advantages, for e.g., pluggable consensus algorithm, pluggable membership services, etc.
  • There is a channel technology for confidential transactions, moreover, there are database services like CouchDB.

Read more about Hyperledger Fabric in “Pros and cons of Hyperledger Fabric for blockchain networks”.

Step #3: Onboard a project team

You need a project team with the following roles:

  • Business analysts (Bas);
  • UI/UX designers;
  • Hyperledger Fabric developers;
  • Testers;
  • A project manager (PM).

IBM offers a course on Hyperledger Fabric, named “Blockchain Hyperledger training: developing on Hyperledger Fabric”, which your team might find helpful. Note that I have assumed that you will use a ’Blockchain as a Service‘ platform, therefore, you will not need to hire blockchain infrastructure experts.

Some of the skills required in this project command a premium! For e.g., experienced Hyperledger Fabric developers can cost you over $700 per day. Note that you need an experienced project manager who has led several blockchain application development projects. PMs with considerable experience in developing blockchain projects earn over $111k per annum! Keep this in mind when you create your budget.

Step #4: Select a ’Blockchain as a Service‘ provider

Setting up a Hyperledger Fabric blockchain network entirely from scratch can be tricky. You will need to address aspects such as the infrastructure, network, etc. I have already covered this in our guide “How much does it cost to build a blockchain project?”.

I recommend you use the IBM Blockchain Platform, which has the following advantages:

  • IBM handles the infrastructure, networking, storage, etc., therefore, you can focus on the development.
  • It‘s built using Hyperledger Fabric, moreover, you get a secure, production-ready, and fully-managed platform.
  • You can access development tools, all Fabric features, and industry code samples.
  • There are flexible pricing plans, and all of them include 24x7x365 support.

Step #5: Prepare to write “chaincodes”

Smart contracts are called “chaincodes” in Hyperledger Fabric. You can code them in “Golang”, Java, or Node.js. When you develop a business application on Hyperledger Fabric, it will use chaincodes since those will contain the business logic.

Your team might benefit from a tutorial on writing chaincodes. Check out this Hyperledger Fabric chaincode tutorial.

Step #6: Use development tools and guides

With the “IBM Blockchain Platform”, you can use several development tools that will expedite the project. These are as follows:

  • Hyperledger Composer: This is a collection of JavaScript-based tools. With this, you can develop a Hyperledger Fabric blockchain app faster. If you use Hyperledger Composer, then you write chaincodes faster, without using Golang. Read more in “Blockchain basics: Hyperledger Fabric and Hyperledger Composer”.
  • IBM blockchain platform supports chaincodes written in Golang and Node.js. You can write them even without using Hyperledger Composer. Check out “Writing smart contracts”, which can be a valuable guide for your team.
  • There is also a Node.js ’Software Development Kit‘ (SDK) for Hyperledger Fabric. You can expedite the development with it, and you can access it here.

Step #7: Write chaincodes

Your application systems‘ chaincodes will need to reflect your requirements. You can review samples of Hyperledger Fabric chaincodes via this link, although they don‘t cover an identity management use case. However, this review will help you understand the best practices of writing chaincodes.

Step #8: Build management, test, and deployment

Now that you have written your chaincodes, you need to manage the build, test the code, and deploy. IBM blockchain platform enables you to use the preferred Hyperledger Fabric ’Continuous Integration‘ (CI) tools.

Review “Getting to know the Hyperledger Fabric continuous integration (CI) process”. This will guide you about the following:

  • The “Docker images” pertaining to Hyperledger Fabric, since you will use the Docker containers for your project;
  • The “Build” process;
  • Using Jenkins for CI;
  • Testing your code, including unit testing, integration testing, and system testing;
  • The release process.

Step #9: The project management

This development project requires end-to-end project management. Your PM should be conversant with the project management best practices. Our guide “Project management: 10 best practices” can help you.

You also need to use effective project management tools. There are several options, for e.g., Asana, Trello, Zoho, etc. We have a guide for good PM tools. Check out “The 10 best Agile project management tools in 2018”.

Developing a strategic app using blockchain for identity management?

Are you planning to launch a strategic business app that combines blockchain and identity management? In this article, I covered several aids and tools, for e.g., IBM blockchain platform, Hyperledger Composer, etc. These can expedite the project, however, the fact remains that it‘s a complex development project.

I indicated earlier the manpower costs relating to Hyperledger Fabric developers and PMs with blockchain development project experience. Be sure to factor

Keep in mind when hiring such niche skills thst there is always a long lead time when you hire people with niche skills. This can result in schedule slippage, which in turn causes budget overrun.

If you dont have experienced blockchain developers, you will do well to engage a professional software development company with significant blockchain development expertise. Such a development partner should be able to provide you with the required manpower, and the end-to-end project management that will rid you of any headaches.

You should do a comprehensive background check before engaging the services of any development partner. Consult our guide “How to find the best software development company?”.

Download Our Project Specification Template