| Literature DB >> 35408176 |
Jasone Astorga1, Marc Barcelo2, Aitor Urbieta2, Eduardo Jacob1.
Abstract
Digital certificates are regarded as the most secure and scalable way of implementing authentication services in the Internet today. They are used by most popular security protocols, including Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). The lifecycle management of digital certificates relies on centralized Certification Authority (CA)-based Public Key Infrastructures (PKIs). However, the implementation of PKIs and certificate lifecycle management procedures in Industrial Internet of Things (IIoT) environments presents some challenges, mainly due to the high resource consumption that they imply and the lack of trust in the centralized CAs. This paper identifies and describes the main challenges to implement certificate-based public key cryptography in IIoT environments and it surveys the alternative approaches proposed so far in the literature to address these challenges. Most proposals rely on the introduction of a Trusted Third Party to aid the IIoT devices in tasks that exceed their capacity. The proposed alternatives are complementary and their application depends on the specific challenge to solve, the application scenario, and the capacities of the involved IIoT devices. This paper revisits all these alternatives in light of industrial communication models, identifying their strengths and weaknesses, and providing an in-depth comparative analysis.Entities:
Keywords: ABE; DTLS; IIoT; PKI; X.509; blockchain
Mesh:
Year: 2022 PMID: 35408176 PMCID: PMC9003447 DOI: 10.3390/s22072561
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Traditional Certification Authority hierarchy.
Figure 2Basic architecture of a SCADA system.
Summary of industrial communication protocols.
| AMQP 1.0 | MQTT | XMPP | OPC UA | Modbus TCP | CoAP | |
|---|---|---|---|---|---|---|
|
| 2011 | 1999 | 1999 | 2006 | 1979 | 2010 |
|
| Peer-to-peer or brokered | Brokered: client devices publish/subscribe in the server (broker) | Brokered: client devices publish/subscribe in the server (broker) | Client-server: clients (HMI, SCADA) directly query servers (industrial devices) | Master/slave: Masters (HMI, SCADA) directly query slaves (industrial systems) | Client-server (IoT devices might act as clients or servers). |
|
| PubSub (push or pull) | PubSub (push) | PubSub (push) | Two alternatives: | Request/response | Request/response |
|
| Optional broker (queues and bindings to distribute messages to queues). The broker is mandatory in previous versions | Broker (Server) | XMPP server.XMPP GW to translate to other messaging protocols | ✗ | ✗ | Optional: proxies, caching, gateways to other protocols, etc. |
|
| TCP, UDP and SCTP | TCP, UDP and SCTP | TCP | SOAP, HTTP, HTTPS, TCP, UDP, etc. | TCP | UDP |
|
| TLS/DTLS and X.509 certificates for peer authentication: encryption only or encryption and authentication.Extensible authentication: SASL (anonymous, plaintext, diggest-MD5, etc.) | TLS/DTLS and X.509 certificates for client/server authentication | TLS and X.509 certificates for client-server authentication.Extensible authentication: SASL (plaintext, diggest-MD5, Kerberos etc.) | Transport Layer: | TLS and X.509 certificates. | DTLS and X.509 certificates. |
Figure 3Message exchange of the DTLS 1.3 handshake protocol.
Summary of DTLS handshake delegation based approaches.
| Author | Delegated Operations | Delegated on | Security with Delegator | Private Key Owned by Delegator | Session Key Known by Delegator | Memory Footprint | Targeted Resource |
|---|---|---|---|---|---|---|---|
| Granjal et al. [ | Full DTLS handshake | 6 LoWPAN Border Router | PSKs supported by Access Control Server | ✓ | ✓ | RAM: 0.3 KB | C0–C1 |
| Hummen et al. [ | Full DTLS handshake | Delegation server | PSKs | ✓ | ✓ | RAM: 3.42 KB | C0–C1 |
| Moosavi et al. [ | Full DTLS handshake | IoT network gateway | PSKs | ✓ | ✓ | RAM: 3.51 KB | C1–C2 |
| Park et al. [ | Full DTLS handshake | Secure Service Manager (powerful server) | PSKs | ✓ | ✓ | Not Specified | C0–C1 |
| Park et al. [ | Full DTLS handshake | Virtual thing in cloud | PSKs | ✓ | ✓ | RAM < 10 KB | C0 |
| Han et al. [ | Full DTLS handshake and record | Back-end offload (powerful device in the IoT network) | PSKs | ✓ | ✓ | Not Specified | C0–C1 |
| Ma et al. [ | Diffie–Hellman key exchange and certificate validation | SDN controller | Out-of-band mechanisms, e.g., PSKs | ✓ | ✓ | Not Specified | C1 |
| Falk et al. [ | Certificate validation | centralized server | Not specified | ✗ | ✗ | Not Specified | Not Specified |
| Cho et al. [ | Partial DTLS handshake | Security agent (powerful node) | PSKs | ✗ | ✓ | RAM: 14–47 B | C2–C2++ |
| Fouladgar et al. [ | Version 1: authentication | IoT network gateway | PSKs | Version 1: no | Version 1: no | Not Specified | C0–C1 |
| Hummen et al. [ | Version 1: validation of certificate chain | Version 1: IoT network gateway | PSKs | Version 1: no | Version 1: no | Not Specified | Version 1: raspberry-like |
| Marino et al. [ | Flexibility to delegate: | PKIoT server (powerful node) | Out-of-band mechanisms, e.g., PSKs | Depends on the delegated operations | Depends on the delegated operations | Not Specified | C2++ |
| Kothmayr et al. [ | Certificate storage and all public key cryptography operations | Trusted Platform Module (TPM) | Hardware (chip integrated in IoT device) | ✓ | ✓ | Not Specified | C0–C1 |
Figure 4IP/UDP packet conveying a ClientHello message: (a) uncompressed, (b) compressed following the 6LoWPAN strategy.
Summary of compression-based approaches.
| Author | Compressed Elements | Compression Mechanisms | Compatibility with Current PKIs | Achieved | Targeted Resource |
|---|---|---|---|---|---|
| Raza et al. [ | DTLS handshake and record protocol headers | New bit sequence for the 6LoWPAN NHC | ✓ | 62–75% | C2–C2++ |
| Chavan et al. [ | DTLS | 6LoWPAN NHC | ✓ | 58–75% | C2–C2++ |
| Schukat et al. [ | X.509 certificates | Self-descriptive card verifiable certificates and avoid ASN.1 encoding | ✗ | Not Specified | Not specified |
| Kwon et al. [ | X.509 certificates | CBOR encoding and removal of fields with implicitly known values | Compression/reconstruction at the IoT border router | 37% | C2–C2++ |
| Marino et al. [ | X.509 certificates | Replaced by URI to the full certificate | ✗ | 70% | C2 |
| Hoglund et al. [ | X.509 certificates | CBOR encoding and removal of fields with constant values according to the defined profile | Compression/decompression at the 6LoWPAN border router | >50% | C2–C2++ |
Summary of approaches based on using ABE as an alternative to PKIs.
| Author | Encryption Mechanism | Encryption Content | Decryption | Security with Intermediary Third Party | Targeted Resource |
|---|---|---|---|---|---|
| Reimair et al. [ | IBE/ABE | Confidential message or symmetric key used to encrypt confidential message | Performed by the security module | Not specified | PCs or Smart phones (HW specifications not detailed) |
| Ting et al. [ | IBE | Confidential message | Generated by a TTP: Private Key Generator | Secure channel established by offline methods | Raspberry Pi B with a 900-MHz Quad-core ARM Cortex-A7 CPU and 512 MB RAM |
| Choi et al. [ | CP-ABE | Symmetric key used to encrypt confidential message | Attribute certificates issued by an IoT CA | Secure channel established by offline methods | Raspberry Pi B with a 700-MHz ARM11 CPU and 512 MB RAM |
| Gonçalves et al. [ | ABE | Symmetric key used to encrypt confidential message | Decryption keys generated by the Trusted Authority | Communications with the Trusted Authority (TA) secured by means of certificate-based public key communications. | Personal Computer with an Intel Core i7 and 16 GB RAM |
| Ma et al. [ | CP-ABE | Keywords describing data stored in cloud | Partial private keys generated by a TTP: Key Generation Center | No secure channel needed | Dell PC with an I5-4460S 2.90-GHz processor, 4 GB RAM and Windows 8 operating system |
| Chien [ | Bilinear pairing-based cryptography | Authentication keys | Private key generated and owned by the Registered Home | Not needed | 3G/4G-enabled devices. HW characteristics not specified |
| Zquete et al. [ | IBE | Authorization ticket issuing protocol messages | Private keys generated and owned by each device | Not needed | Not Specified |
| Rahman et al. [ | ABE | MQTT messages | Private keys generated by MQTT broker | Not specified | Arduino Uno microcontroller board based on ATmega328P |
Figure 5Comparison between: (a) end-to-end encryption provided by ABE and (b) transport layer encryption provided by DTLS where end-to-end confidentiality is broken at the broker.
Figure 6Structure of the blocks in the blockchain.
Summary of approaches based on distributed ledgers.
| Author | General Architecture | Content of the Transactions | Use of Smart Contracts | Allowed Operations | Targeted Resource |
|---|---|---|---|---|---|
| Magnusson [ | Ethereum blockchain in IoT devices | Not specified | ✓SCPKI | Not specified | Raspberry Pi 2 Model B with a 900-MHz Quad-core ARM Cortex-A7 CPU and 1 GB RAM |
| Fromknecht et al. [ | Public blockchain to register domains and their corresponding public keys | Users’ identities and public keys | ✗ | Register, update, search and revoke identity/public key pairs | Not specified |
| Qin et al. [ | Blockchain with three types of nodes: miners, certificate owners and certificate users | Address, domain and certificate | ✗ | Register, revoke, renew and identity assignment | Not specified |
| Talamo et al. [ | Novel consensus algorithm implemented in a blockchain for certificate validation | Certificate verification query | ✓ | Certificate validation | results based on simulation where heterogeneous CPUs and PC components are considered |
| Won et al. [ | Distributed B-nodes replace centralized CAs and create/verify transactions on behalf of IoT devices. The identity of an IoT device is bound to its public key by means of a proof of work. Each IoT device is preconfigured with at least one trusted B-node. | Type of operation, identity and signature | ✗ | Register, update, revoke | Raspberry Pi 2 Model B with a 900-MHz Quad-core ARM Cortex-A7 CPU and 1 GB RAM |
| Singla et al. [ | Three alternatives to replace centralized CAs with blockchain: (1) Emercoin, (2) Ethereum Smart Contracts and (3) Ethereum Light Sync Nodes | Option 1: certificate IDs and their cryptographic hashes as Name-Value pairs. | In option 2: Ethereum Smart Contracts | Option 1: registration. | Raspberry Pi 2 with a 900-MHz 32-bit ARM Cortex-A7 CPU and 1 GB RAM |
| Kfoury et al. [ | Ethereum blockchain as decentralized storage of public keys, and smart contracts for secure interaction with the blockchain | Client ID, Client public key, token identifying the client module | ✓ | Add client, get client, approve client | Not specified |
| El-Hajj et al. [ | Ethereum blockchain as decentralized storage of public keys, and smart contracts for secure interaction with the blockchain | Not specified | ✓ | Add client, get client, approve-client | Not implemented. Arduino and raspberry-like devices envisioned |
| Jiang et al. [ | CertCoin with privacy-preserving search mechanism for thin clients that rely on full nodes | Users’ identities and public keys | ✗ | Privacy-preserving search for identities/public keys | Not specified |
| Tesei et al. [ | IOTA for the distributed storage of public keys integrated in SECMACE VPKI | Identities and certificates | ✗ | Not specified | Not specified |
Issues of public key cryptography in IIoT scenarios addressed by the different proposed approaches.
| Challenges to Apply Public Key Cryptography in IIoT Scenarios | Delegation of DTLS Handshake Tasks to a TTP | Compression of DTLS Messages and Certificates | ABE as an Alternative to PKIs | Blockchain-Based Decentralized PKIs |
|---|---|---|---|---|
| Resource limitations of IIoT devices | ✓ | ✓ | ||
| Long lifetime of industrial systems (obsolete SW) | ✓ | |||
| Necessity to encrypt for multiple destinations in PubSub communication models | ✓ | |||
| In brokered communications, transport layer security ends at the broker | ✓ | |||
| Lack of trust in centralized CAs | ✓ | |||
| Massive deployment of IIoT devices | ✓ |
Figure 7Comparison of pros & cons and different application scenarios of the analyzed approaches [21,22,23,24,26,27,28,30,31,32,33,34,35,36,39,40,41,42,44,63,64,65,66,67,68,69,70,92,93,94,95,96,97,98,99,100,101].