Most people relate the term blockchain to an Internet currency or peer-to-peer payment system called Bitcoin.
But there’s way more value to blockchain technology than just a payment system.
And it just might help us solve a lot of problems related to industrial cyber security, particularly in Industrial Internet of Things applications.
I recall a cyber security instructor once telling the class that the only way to completely secure something was to destroy it.
That’s a bit drastic for me and a pretty scary thought when we’re talking about expensive industrial equipment. But what he was trying to convey is that given enough time, pretty much anything can be hacked.
A great example of this is when the FBI paid professional hackers to break into a cell phone. I remember the news media bobbleheads at the time pontificating as to whether or not it was possible. And of course Apple wasn’t going to violate their users' trust and just hand over a method to break into their users' devices.
After the FBI contacted the hackers, it took them a short time to crack the phone and get the intelligence the FBI needed.
The point is, anything can be hacked given enough time and resources. Sure, there are methods to help safeguard your industrial systems, but in the end they’re only countermeasures, not an all-encompassing solution for the woes of those responsible for industrial cyber security.
Countermeasures are more like tools to keep your systems running and defend your industrial assets. Think of them like a shield. Given enough carefully targeted hits to the shield, it will eventually break.
Taking cyber security seriously
The good news is that the industrial automation and process control industries have really started taking cyber security seriously.
At just about every industry conference I've spoken at, be it automation, manufacturing, or Industrial Internet of Things (IIoT), cyber security is at the forefront of discussions.
And there’s good reason for that. The industrial automation industry is continuing to adopt Internet technologies in the form of TCP/IP, Ethernet, and most recently web technologies like RESTful APIs. These APIs are a secure method for moving automation and control data directly into IT assets like databases and predictive analytics systems.
Implementing Internet technologies in industrial systems is good news on the interoperability front—and almost a mandatory requirement for building value-added IIoT applications.
But adding Internet technologies to industrial process control and SCADA systems also brings a great deal of inherent risk.
It’s important for automation vendors and end users to think about security and its scalability as it relates to the industrial Internet of Things.
Specifically, how are we going to identify all of these devices we’re planning to connect, how will we secure their communication, and how are we going to manage them once they’re deployed?
Blockchain technology may provide some answers.
Traditional centralized authority
In traditional network security architectures, a centralized server acting as a single authority approves transactions on the network or sets specific rules to have transactions accepted. This centralized model has worked well in the past, but it presents significant problems as we begin scaling up our IIoT applications to include thousands or even millions of devices.
The first problem is that as we scale up these applications, the number of transactions that take place on the network are going to scale up as well.
When we consider the advanced encryption that secure networks run to keep data secure, the computational requirement for handling that many transactions is huge. Not to mention the added expense of more advanced hardware to process that many transactions fast enough so that the network is usable.
Another problem is that a centralized server model can create a bottleneck and, worse, a single point of failure. This problem alone makes this architecture a ripe target for distributed denial of service attacks.
The location and architecture of industrial and SCADA networks also presents a problem for a centralized server model. If we consider where these networks will be running—for example, an oil pipeline or geographically dispersed oil field where long communication runs and high latency are a certainty—the need for every node to authenticate to a centralized server becomes an even greater concern, as latency is increased that much more with every transaction.
Blockchain has the potential to solve a lot of these problems.
The blockchain model
Blockchain is basically a public database with a growing set of data records that’s continuously maintained by nodes participating in the blockchain. Rather than having a single authentication server on the network act as the only source for authentication and data integrity verification, nodes in a blockchain use a distributed model, where the participating nodes maintain a continuously growing list of ordered records called blocks.
Inside each block are a timestamp and a link to the previous block. The major benefit to this design is that once the block has been generated with this information, it's very difficult to alter the data in the block retroactively.
When a node wants to add a transaction to the chain, all the participants in the network validate it. They do this by applying an algorithm to the transaction to verify its validity. Then a majority of the participants of the blockchain have to agree that the transaction is valid.
A set of approved transactions is then bundled in a block, which gets sent to all the nodes in the blockchain. Then those nodes validate the new block. Each successive block contains a hash, which is like a unique fingerprint of the previous block.
So you actually get a better security model with many nodes authenticating transactions as opposed to having a single point of failure or even a single attack vector for a hacker to exploit.
Blockchain's big advantage is that it's public. Everyone participating can see the blocks and the transactions stored in them. However, that doesn’t mean everyone can see the actual content of a transaction; that information is protected by a private key.
A blockchain is decentralized, so no single authority can approve transactions or set specific rules to have transactions accepted. As a result, the model requires a great deal of trust between nodes in the blockchain, because all of the nodes on the network must reach consensus to accept transactions.
Blockchain in the IIoT
The key takeaway with blockchain technology in an IIoT application is that it’s very secure. The database can only be extended; previous records cannot be changed. Or at least there’s a very high cost if someone wants to alter previous records.
So what might blockchain look like in an industrial application and how would nodes on the network benefit?
Let’s imagine an oil field full of say, 10,000 sensors. We’ve got a 900 MHz mesh radio network installed in the network with some cellular sites for those areas where we couldn’t establish line of sight between radios.
In traditional security models, each of the nodes would authenticate to a centralized server, perhaps hosted in the cloud, before they could participate in transactions with other nodes on the network. That adds additional hops across the network and latency to transactions.
If we were to use a blockchain model, our nodes, regardless of what network they were on, would be able to establish communication with each other and participate in transactions without having to go out to the cloud for authentication—thereby decreasing network hops and improving network latency.
To learn more about the Industrial Internet of Things and get pointers on how to get started, check out the 2017 State of the IIoT white paper.