The practical means of applying public key cryptography to secure network communications were introduced by Loren Kohnfelder in his MIT S.B. (BSCSE) thesis written in May 1978. After that, the public key infrastructure (PKI) has gone through several iterations of changes and updates, but it still preserves its traditional methodology. PKI requires implicit trust from a single entity or entities chain called a certificate authority (CA). This approach has led to a breakdown in confidence. However, through the years, having one root entity to control the way public key certificates are issued has shown that it can cause major complications with transparency and security.
In this article, we will once again dive deeper into the problems of PKI and consider the solutions being developed that can overcome existing shortcomings.
The most commonly employed approach to PKIs is the Web PKI. It’s a СА based system that adopts a centralized trust infrastructure. The task that PKI solves is to ensure the security of correspondence between the subject identifier and its public key. Such compliance must be checked to verify the authenticity of the party the secure connection is established with. The most important task is to establish the correspondence between the identity (identification data) and the user's public key. This problem is solved using a public key certificate. That is an electronic document used to prove ownership of a public key. The certificate contains the public key and user credentials, as well as the electronic signature of the trusted party that verifies the user. In order to ensure the integrity and authenticity of the certificate, it is signed by a trusted party, i.e. a CA.
Centralized Web PKI solutions have a number of acute challenges:
As we can see, PKI is in desperate need of an overhaul to eliminate the security holes that threaten an otherwise sound means of securing enterprise systems. The Internet Engineering Task Force (IETF) responsible for Web PKI itself created a memo describing current issues of PKI agreeing that the current implementation of Web PKI has problems that shouldn’t be ignored. The out-of-date PKI design poses high security risks because a single point of failure can be used to open any encrypted online communication. Centralized PKI systems are struggling to keep up with the evolving digital landscape and there is a need for a better designed, decentralized approach to PKIs.
In decentralized PKI, blockchain acts as a decentralized key-value storage. It is capable of securing the data read to prevent MITM (Man-In-The-Middle) attacks, and to minimize the power of third parties. By bringing the power of blockchain technology to the systems, DPKI resolves the issues with traditional PKI systems. The decentralized nature of the management framework can tackle the problems with the CA through certificate revocation, eliminating single points of failure, and reacting fast to misuses of CAs. Blockchain is able to make the process transparent, immutable, and prevent attackers from breaking in, thus effectively avoiding the MITM attacks.
Blockchain-based solutions do not require any specialized standards to operate with data on the blockchain – they only require software that allows them to interact with the chain. This enables IT systems to verify certificates with APIs for interaction with the blockchain and ensures interoperability with all platforms (server, desktop or mobile). Further advantages of blockchain in the context of PKI include the following:
At the moment, there are several approaches to solving the problems outlined above, as follows:
The age of PKI controlled by CAs is coming to an end. The evolving needs of enterprises, their increased connectivity, and the enhanced capabilities of ever more sophisticated attackers have necessitated a transition to a more resilient alternative. That alternative resides on the blockchain, where many of the fundamental weaknesses of traditional PKI do not apply. Blockchain is not a security panacea, but in the context of PKI, there are compelling benefits to be had from utilizing a decentralized environment.
In this article, we will once again dive deeper into the problems of PKI and consider the solutions being developed that can overcome existing shortcomings.
Current Challenges of Public Key Infrastructure
The most commonly employed approach to PKIs is the Web PKI. It’s a СА based system that adopts a centralized trust infrastructure. The task that PKI solves is to ensure the security of correspondence between the subject identifier and its public key. Such compliance must be checked to verify the authenticity of the party the secure connection is established with. The most important task is to establish the correspondence between the identity (identification data) and the user's public key. This problem is solved using a public key certificate. That is an electronic document used to prove ownership of a public key. The certificate contains the public key and user credentials, as well as the electronic signature of the trusted party that verifies the user. In order to ensure the integrity and authenticity of the certificate, it is signed by a trusted party, i.e. a CA.
Centralized Web PKI solutions have a number of acute challenges:
- There are some shortcomings associated with quick notification of secret key compromise, since the formation and distribution of the list of revoked certificates can take from several minutes to an hour. As a result, there is no 100% guarantee that this key belongs to a specific user at the current time.
- If the certificate is verified online (by request to the CA), then the user’s privacy is violated, since the CA will know the entire history of user interactions.
- Difficulties associated with detecting the presence of certificates of unwanted root CAs. In this case, the eavesdropper may decrypt the encrypted traffic between the client and the server unnoticed by them.
- Several certificates can be issued for the same name, i.e. the same identifier can be certified at different CAs.
- The certificate renewal process is complicated, because one needs to contact the registration center once again, change data, regenerate the certificate and certify it with a CA.
- There are different standards for electronic signatures, and as a result the need to select algorithms arises and users suffer from compatibility problems.
- The center of the system is always an attack point, and compromising the root certificate will expose the entire system to a bunch of vulnerabilities.
- Identifier management is in the hands of a centralized organization and does not belong to the identifier owner himself.
As we can see, PKI is in desperate need of an overhaul to eliminate the security holes that threaten an otherwise sound means of securing enterprise systems. The Internet Engineering Task Force (IETF) responsible for Web PKI itself created a memo describing current issues of PKI agreeing that the current implementation of Web PKI has problems that shouldn’t be ignored. The out-of-date PKI design poses high security risks because a single point of failure can be used to open any encrypted online communication. Centralized PKI systems are struggling to keep up with the evolving digital landscape and there is a need for a better designed, decentralized approach to PKIs.
Decentralization Comes to the Rescue
In decentralized PKI, blockchain acts as a decentralized key-value storage. It is capable of securing the data read to prevent MITM (Man-In-The-Middle) attacks, and to minimize the power of third parties. By bringing the power of blockchain technology to the systems, DPKI resolves the issues with traditional PKI systems. The decentralized nature of the management framework can tackle the problems with the CA through certificate revocation, eliminating single points of failure, and reacting fast to misuses of CAs. Blockchain is able to make the process transparent, immutable, and prevent attackers from breaking in, thus effectively avoiding the MITM attacks.
Blockchain-based solutions do not require any specialized standards to operate with data on the blockchain – they only require software that allows them to interact with the chain. This enables IT systems to verify certificates with APIs for interaction with the blockchain and ensures interoperability with all platforms (server, desktop or mobile). Further advantages of blockchain in the context of PKI include the following:
- Transparency. All participants on the blockchain will have access to the logic of the smart contract, providing transparency as to what is being agreed in the digital contract. Transactions are also recorded to provide a clear audit trail.
- Resource reduction. With blockchain and smart contracts acting as middlemen or agents, resources and time taken for transactions can be reduced. This is especially so in the case of smart contracts in which predefined conditions are agreed upon, and a self-executing process takes place once these conditions are met.
- Eliminating errors. With all nodes on the network processing transactions individually, updating and reconciling the records, errors in calculations can be omitted.
- Integrity. Records are reconciled against each other to ensure that no unauthorized changes are being made.
- Durability. As records are not controlled by particular nodes alone, there is no single point of failure in the entire blockchain network. This makes a blockchain network more durable and robust.
- Improved fault-tolerance and DDoS resistance. One of the features blockchain offers is the mitigation of denial-of-service (DDoS) attacks risks. This is done by offloading the throughput pressure among all the nodes in the network. An app developer that utilizes the blockchain approach, is able to host an independent node to serve their users or, depending on the case, just use any publicly available node.
Approaches to Blockchain-Based PKI
At the moment, there are several approaches to solving the problems outlined above, as follows:
- Decentralized Public Key Infrastructure (DPKI) Based on Transaction Binding Technology, by Andrey Chmora, Technology and Innovations Director at ENCRY.
Andrey Chmora suggested a new approach for building a PKI to eliminate the existing disadvantages using the distributed ledger (blockchain) technology. The patented technology described in one of our previous articles proposes the way to verify that particular sets of public keys really belong to particular owners without the need for certification centers and a concept of certificate as a whole. It is proposed to create a null transaction in order to store the information about the owner and his e-wallet (from which a commission fee for adding a transaction to the ledger is debited). A null transaction serves as an «anchor» for hooking up the next transactions along with the data about public keys. Each transaction of this type contains a specialized data structure which is called «notificator» – a structured data set of functional fields that stores information about the owner's public key and guarantees persistence of this key by adding it to one of the related records in the distributed ledger. - IKP (Instant Karma PKI) — Turning a PKI Around with Blockchain, by Stephanos Matsumoto of Carnegie Mellon University and Raphael Reischuk of ETH Zurich.
The researchers argue that log-based PKI enhancements such as Certificate Transparency do not offer sufficient incentives to logs and monitors, and do not offer any actions that domains can take in response to CA misbehavior. To address this problem, they propose IKP, a blockchain-based PKI enhancement that offers automatic responses to CA misbehavior and incentives for those who help detect misbehavior. Through their research they demonstrate that IKP's decentralized nature and smart contract system allows open participation, offers incentives for vigilance over CAs, enables financial recourse against misbehavior, and that the incentives and increased deterrence offered by IKP are technically and economically viable. - Decentralized Public Key Infrastructure (DPKI), sponsored by Respect Network, PWC, Open Identity Exchange, and Alacrity Software.
The researcher group argues that the security and usability problems of PKI can be addressed through the use of decentralized key-value datastores to create a specification for a Decentralized Public Key Infrastructure (DPKI). The foundational precept of DPKI is that identities belong to the entities they represent. That requires designing a decentralized infrastructure where every identity is controlled not by a trusted third-party, but by its principal owner. The research has demonstrated that DPKI works even on resource-constrained mobile devices, and that it is able to preserve the integrity of identifiers by protecting organizations from private key loss or compromise. DPKI has advantages at each stage of the PKI life cycle. It makes permission-less bootstrapping of online identities possible and provides for the simple creation of stronger SSL certificates. - Backing Rich Credentials with a Blockchain PKI, by Karen Lewison and Francisco Corella.
The investigators are addressing the problem of remote identity proofing. While their approach of implementing PKI on a blockchain with on-chain storage requires the presence of an issuing CA, it comes with many advantages. Revocation checking is performed on the verifier’s local copy of the blockchain without requiring certificate revocation lists (CRLs) or online certificate status protocol (OCSP). This proposal solves a longstanding problem of traditional PKIs by not requiring the use of a service that issues CRLs or responds to OCSP queries. - PB-PKI: a Privacy-Aware Blockchain-Based PKI, by Louise Axon and Michael Goldsmith, University of Oxford.
The researchers argue that existing proposals do not provide the privacy awareness that is required of PKI in certain present and emerging applications. Their research aimed to demonstrate how a blockchain-based PKI can be constructed to provide varying levels of privacy awareness. Although the proposal achieves total anonymity, this comes at some security cost: network members may tamper in the short term with the public keys of others. The security of PB-PKI can be improved by achieving a slightly lower level of privacy through attestation by neighbor groups, who verify key changes at updates.
Conclusion
The age of PKI controlled by CAs is coming to an end. The evolving needs of enterprises, their increased connectivity, and the enhanced capabilities of ever more sophisticated attackers have necessitated a transition to a more resilient alternative. That alternative resides on the blockchain, where many of the fundamental weaknesses of traditional PKI do not apply. Blockchain is not a security panacea, but in the context of PKI, there are compelling benefits to be had from utilizing a decentralized environment.