Skip to Content
CryptographyCryptography
  • Article
  • Open Access

6 December 2022

Formalizing and Safeguarding Blockchain-Based BlockVoke Protocol as an ACME Extension for Fast Certificate Revocation

,
and
1
Institute for Software and Systems Engineering, Clausthal University of Technology, 38678 Clausthal-Zellerfeld, Germany
2
Institute of Computer Science, University of Goettingen, 37073 Goettingen, Germany
*
Author to whom correspondence should be addressed.

Abstract

Certificates are integral to the security of today’s Internet. Protocols like BlockVoke allow secure, timely and efficient revocation of certificates that need to be invalidated. ACME, a scheme used by the non-profit Let’s Encrypt Certificate Authority to handle most parts of the certificate lifecycle, allows automatic and seamless certificate issuance. In this work, we bring together both protocols by describing and formalizing an extension of the ACME protocol to support BlockVoke, combining the benefits of ACME’s certificate lifecycle management and BlockVoke’s timely and secure revocations. We then formally verify this extension through formal methods such as Colored Petri Nets (CPNs) and conduct a risk and threat analysis of the ACME/BlockVoke extension using the ISSRM domain model. Identified risks and threats are mitigated to secure our novel extension. Furthermore, a proof-of-concept implementation of the ACME/BlockVoke extension is provided, bridging the gap towards deployment in the real world.

1. Introduction

Certificates are one of the central building blocks of a secure Internet. They authenticate communication partners and are integral to trustworthy communications. However, in many cases, it becomes necessary to revoke valid certificates before their expiration date. Possible reasons include compromise of private keys, domain ownership changes, operational challenges at Certificate Authorities (CAs) and many more. Information about such revocations then has to reach end users to ensure they do not trust a no longer trustworthy certificate. For example, the non-profit CA Let’s Encrypt (https://letsencrypt.org/, accessed 20 September 2022) found an issue with their authorization software, which required the revocation of 1.7 million certificates [1,2,3]. Especially in bulk revocation scenarios, it is important to ensure that the revocation process is reliable, secure and timely.
A standard method to ensure the security, reliability and trustworthiness of security protocols and processes is the use of formal methods [4,5]. By formalizing the protocol using methods like Colored Petri Nets (CPNs) [6], it becomes possible to verify the correctness of a protocol. Going beyond formal verification, it is also essential to analyze security protocols concerning potential risks and threats and mitigate them when detected [7,8].
Garba et al. [9] introduced the BlockVoke protocol, which was designed to allow cost-effective and reliable revocation of certificates; including CA root certificates, even in large numbers. At the same time, it allows near-instantaneous notification of users when revocations occur. Garba et al. also described the advantages of BlockVoke over other existing revocation mechanisms; such as Certificate Revocation Lists (CRLs), the Online Certificate Status Protocol (OCSP) and it’s various extensions. In 2021, Sujatanagarjuna et al. [10] formalized and verified the BlockVoke [9] protocol using CPNs. However, the protocol formalization mainly considered the protocol on its own, without much regard for the PKI ecosystem or consideration of how to embed it organically within the existing frameworks of CAs and other stakeholders.
One possible way of integrating BlockVoke with existing frameworks is to integrate it with the ACME protocol [11]. ACME is used by CAs such as Let’s Encrypt to handle several processes in the lifecycle of an X.509 certificate in an automated manner, such as owner verification, issuance and revocation at no cost to end–users. Its introduction has fascilitated the widespread adoption of HTTPS, improving security for end–users. As a consequence, a majority of currently valid browser–trusted certificates on the World–Wide–Web were issued by Let’s Encrypt [12]. This makes the ACME protocol a good choice for incorporating the BlockVoke revocation. Furthermore, integrating BlockVoke with the ACME protocol requires minimal changes to existing ACME servers and clients. Such an integration, would allow all stakeholders to benefit from the timely and secure revocation features of BlockVoke. However, such an extension of ACME can introduce new risks and security threats. Therefore, it is essential to formalize the adapted process, perform a formal verification, and secure the BlockVoke/ACME extension from risks and threats.
After BlockVoke’s initial description by Garba et al. [9], and formal verification by Sujatanagarjuna et al. [10], this work connects the BlockVoke protocol and previous work with the real world by (1) specifying an extension of the ACME protocol to support BlockVoke as well as (2) formally verifying this extension, (3) mitigating eventual risks and threats and (4) providing a proof-of-concept implementation of BlockVoke integration with an ACME server. Specifically, this work addresses the following research questions:
RQ 
How to describe, formalize and secure the BlockVoke/ACME extension?
RQ1 
What is the formalization of the BlockVoke/ACME extension?
RQ2 
What are the security risks and threats of the BlockVoke/ACME extension?
RQ3 
What are the required modifications to the BlockVoke/ACME extension to mitigate the identified security risks and threats?
To describe, formalize and secure the BlockVoke/ACME extension, we begin with the formalization, perform a risk and threat analysis of the extension and finally perform the required modifications to mitigate any identified risks or threats.
The paper is structured as follows: Section 2 presents supplementary literature and related works, while the BlockVoke/ACME extension is formalized in Section 3. Afterwards, the extension’s risk and threat analysis is performed in Section 4, while identified risks and threats are mitigated in Section 5. The results of our evaluation are presented in Section 6. Finally, in Section 7, we give our conclusions and outline possible directions for future research.

3. Formalization of the BlockVoke/ACME Extension

This section formally specifies the BlockVoke/ACME extension using CPNs to answer the research question RQ1: What is the formalization of the BlockVoke/ACME extension?
Section 3.1 details the modelling strategy used to arrive at the formal CPN model specification, using the top-level AOM model as an example, followed by Section 3.2 which gives the associated protocol semantics of the top-level CPN model. Finally, Section 3.3 describes the refined sub-modules of the BlockVoke/ACME CPN model.
This section builds on top of and extends the previous paper [10], which focused on the formalization of the BlockVoke protocol without the BlockVoke/ACME extension.

3.1. CPN Modelling Strategy

As explained in Section 2.3, the BlockVoke/ACME extension is formalized by mapping its CPN model from AOM models. Mahunnah et al. [23] provide the mapping heuristics required to formally map AOM models to CPN models. The two AOM model types introduced in Section 2.4, namely goal models and BIMs, are identified by the authors as essential tools to capture relevant sociotechnical behavioural features in multi-agent systems such as BlockVoke. In the interest of brevity, the explanation of the mapping process is limited to the top-level functional goals of the BlockVoke/ACME extension. To this end, Section 3.1.1 and Section 3.1.2 respectively detail the top-level goal model and BIM of the BlockVoke/ACME extension, followed by Section 3.1.3 which describes the process of deriving the CPN model from these AOM models and finally, Section 3.1.3 gives the derived top-level CPN model of the BlockVoke/ACME extension.

3.1.1. Top-Level Goal Model

The top-level goal model of the BlockVoke/ACME extension is given in Figure 4. The main goal is to enable secure, timely and privacy-preserving certificate revocation. It’s sub-goals are Register ACME Account, Generate Certificate, Verify Certificate and Revoke Certificate.
Figure 4. Top–Level goal model of BlockVoke/ACME extension.
The refining goal models of the BlockVoke/ACME extension are given in Appendix A.1.

3.1.2. Top-Level Behavioural Interface Model

The top-level behavioural interfaces of the BlockVoke/ACME extension are given in Table 4. The first activity Register ACME Account is triggered when the CO wants to register a new ACME account. It requires that the CO has generated an ACME key-pair as a precondition, and its only postcondition is that the ACME CA registers the ACME account. It can also be inferred by the preconditions of the second activity, Generate Certificate, that the CO’s ACME account must be already registered by the CA. Similarly, the interfaces for Verify Certificate and Revoke Certificate are also given in Table 4.
Table 4. Top–level behavioral interface model of the BlockVoke/ACME extension.
The refining behavioural interfaces of the BlockVoke/ACME extension are given in Appendix A.2.

3.1.3. Mapping AOM to CPN

Figure 5 shows the top-level CPN model of the BlockVoke/ACME extension. The methodology described in Section 2.4 is used to map the four main activities; Register ACME Account, Generate Certificate, Verify Certificate and Revoke Certificate, to transitions.
Figure 5. Top–Level CPN model.

3.2. Protocol Semantics of Top-Level CPN Model

The protocol semantics of the top–level CPN model of the BlockVoke/ACME extension are given in Table 5. Additionally, the initial markings used in the top–level CPN model are given in Table 6.
Table 5. Protocol semantics of the top–level BlockVoke/ACME extension CPN Model.
Table 6. Initial markings of the top–level CPN model of BlockVoke.

3.3. Refining CPN Models

Figure 6 and Figure 7 respectively give the CPN sub-modules for Register ACME Account and ACME Validation. Similar to the previous formalization of BlockVoke by Sujatanagarjuna et al.  [10], the CPN model of the BlockVoke/ACME extension also uses non-cryptographic hashes and RSA signatures. In addition to their use in simulating the signing and subsequent verification of certificates, symbolic RSA keys are also used to simulate ACME key-pairs and the Bitcoin address key-pairs. The ACME key-pairs are used to sign and verify ACME registration requests and ACME orders. The Bitcoin address key-pairs are emulated via RSA key-pairs, in order to simulate the validation process in the ACME Validation CPN sub-module shown in Figure 7.
Figure 6. Register ACME Account CPN sub–module.
Figure 7. ACME Validation CPN sub–module.
The remaining refining CPN models are given in Appendix A.3.

4. Risk and Threat Analysis of the BlockVoke/ACME Extension

This section answers the research question RQ2: What are the security risks and threats of the BlockVoke/ACME extension?, following the ISSRM domain model. This is done by first identifying the specific assets in Section 4.1, including involved systems, processes and exchanged data objects, followed by identifying the risks and threats associated with these assets in Section 4.2.

4.1. Identification of Assets from CPN Model

The asset-related concepts defined in the ISSRM domain model were introduced in Section 2.5. The identification of security risks of the BlockVoke/ACME extension; as formalized in Section 3, first requires identifying the involved assets from the formalized CPN model based on the ISSRM domain modelling Figure 3.
The assets are divided into systems and processes; identified in Section 4.1.1, and the exchanged data objects; identified in Section 4.1.2.

4.1.1. Identification of Systems and Processes

The systems involved in the BlockVoke/ACME extension, as identified from the CPN model as follows:
  • ACME Protocol: This is the primary protocol which the CO and ACME CA use to communicate with each other at various points during the certificate’s lifecycle. The ACME protocol has been described in Section 2.2.
  • CA Certificate Communication System: The protocol(s) by which an end-user obtains the certificate of an ACME CA with whom they have implicit trust. These protocols are usually dependent on the end-user operating system, the end-user browser, etc.
  • CO Certificate Communication System: The protocol(s) by which an end-user obtains the certificate of a CO with whom they do not have implicit trust. These protocols are also usually dependent on the end-user operating system, the end-user browser, etc.
  • Blockchain: This term encompasses the various protocols of the blockchain network; used for communication of new transactions, blocks, etc.
  • User devices and software: These systems can be classified as follows:
    Certificate-related cryptographic software: These systems include software used for CSR or certificate generation and signing by COs and CAs and for certificate revocation by the CO. These systems also involve the ACME clients used by the COs to communicate with the ACME CA and manage their certificates.
    Blockchain-related software: These systems include software used by COs and CAs; for instance, to generate addresses, create and sign transactions, etc. The end-user also uses similar software to operate a full node to be aware of new blocks and transactions.
Some of the aforementioned systems have significant implications in the BlockVoke protocol and the BlockVoke/ACME extension; but they cannot, however, be reasonably secured within the context of BlockVoke. For instance, compromised user devices and software can have a large impact on the security of various secrets stored on those devices, such as private keys. The underlying protocols of the blockchain systems are also not under the purview of the BlockVoke/ACME extension.
User devices and software and the Blockchain systems are hence excluded from this risk and threat analysis in favour of the CA Certificate Communication System, CO Certificate Communication System and parts of the ACME Protocol that have been modified/extended to support BlockVoke.
The processes involved in the BlockVoke/ACME extension are identified as follows:
  • CSR Generation
  • Certificate Generation
  • Certificate Verification
  • Transaction Creation
  • Transaction Scrutinization
  • Mine Transactions
  • Add Transactions to Mempool
  • Mark Certificates as Revoked
  • Register ACME Account
  • ACME Order Sending/Receiving
  • ACME Validation
  • ACME Revocation
  • Transaction Sending/Receiving
  • Certificate Sending/Receiving
  • Block propagation
Some of these processes, namely Register ACME Account, ACME Order sending/receiving, Transaction Creation, Transaction Scrutinization, Mine Transactions, ACME Revocation, Add Transactions to Mempool and Block propagation; similar to those earlier, cannot be secured within the context of BlockVoke since no changes are made to their standard usage scenarios for incorporating them for the BlockVoke protocol. These processes are: hence excluded from this analysis.
The processes subject to risk and threat analysis are: CSR Generation, Certificate Generation, Certificate Verification, Transaction Sending/Receiving, ACME Validation, Certificate Sending/Receiving and Mark Certificates as Revoked.

4.1.2. Identification of Exchanged Data Objects

Following the identification of relevant systems and processes, this section identifies the associated exchanged data objects from the BlockVoke/ACME extension CPN model and details them in asset identification tables. Each table lists the business asset (exchanged data object), IS assets (relevant processes), and the processes’ descriptions and required security criteria.
The assets identified are: The ACME Account, ACME Validation Challenge, ACME Validation Response, ACME Revocation Request, CSR, Certificate, and Transaction. Detailed descriptions of these assets are relegated to Appendix B.

4.2. Risk and Threat Identification

The identification of the assets involved in the BlockVoke/ACME extension allows systematic identification and analysis of the risks that threaten these assets. This section identifies these risks and briefly describes them. More detailed descriptions, including the related threat agents, attack methods, threats, vulnerabilities, events, and impacts—all concepts whose definitions and relationships are defined by the ISSRM domain model in Section 2.5—can be found in Appendix B. The nine risks identified are as follows:
  • ACME Validation Challenge/Response Modified
  • ACME Validation DDoS
  • Malicious CO
  • Malicious CA
  • Certificate Modified
  • Certificate DDoS
  • Transaction Modified
  • End–User new revocations modified
  • End–User new revocations DDoS
The risk titled ACME Validation Challenge/Response Modified pertains to the risk of both ACME validation challenges and responses being modified by a man-in-the-middle attack. At the same time, they are being requested by and sent to the CO from the ACME CA. Similarly, ACME Validation DDoS is the risk of a DDoS attack on the ACME CA, preventing the ACME validation process from proceeding and consequently generating a certificate by the CA. While both these risks threaten the ACME validation process, it can be observed that similar attack methods can also be used to threaten other ACME processes.
The risks titled Malicious CO and Malicious CA describe risks relating to the CO or CA manipulating the Bitcoin address public key of the CO or the generated multi-signature address, respectively. While the latter can result in an un-revocable certificate generated by the CA, the former can also result in a remote code execution (RCE) attack.
The two risks, Certificate Modified and Certificate DDoS describe risks threatening generated certificates being communicated to the end-user’s organization. These risks are similar to those of the ACME validation challenge/response objects.
The risk titled Transaction Modified describes the risk of the revocation transactions being sent by the CO/CA being intercepted and modified, making them invalid, or discarded. This could thereby prevent certificates from being revoked using the BlockVoke protocol.
Finally, End-User new revocations modified and End-User new revocations DDoS describe the risks that prevent accurate revocation information from being reliably communicated by the end-user to the members of their organization. These risks are also similar to their similarly named counterparts for the ACME validation challenges/responses and the certificate itself; as mentioned earlier.

5. Risk and Threat Mitigation of the BlockVoke/ACME Extension

This section answers the research question RQ3: What are the required modifications to the BlockVoke/ACME extension to mitigate the identified security risks and threats? This requires, firstly the identification of applicable SRPs in Section 5.1, secondly the identification of the security requirements and controls in Section 5.2, and finally, in Section 5.3, the application of the identified SRPs to achieve a formal specification of the BlockVoke/ACME extension with all identified risks being mitigated.

5.1. Identification of SRPs

From the SRPs developed by Naved Ahmed et al. [43], SRP 1: Securing data transmission, SRP 2: Ensuring valid data entry and SRP 4: Ensuring availability of business service are identified as applicable to the risks identified in Section 4.
SRP 1, summarized in Table 7, ensures secure data transmission of the various business assets; preventing the loss of data confidentiality and integrity [43]. The risks formaly identified that require such prevention, are ACME Verification Challenge/Response modified, Certificate modified, Transaction modified and End–User new revocations modified. Due to the public nature of the PKI, establishing a unique transmission medium for every pair of CO, ACME CA and End–User is not a viable option. As a consequence, these risks cannot be completely avoided, and can hence only be reduced by ensuring integrity of the exchanged data objects using an appropriate checksum.
Table 7. SRP 1—Mitigation.
As seen in risks Malicious CO and Malicious CA, invalid data can have a large impact to the ability to revoke a certificate using the BlockVoke protocol. Hence, SRP 2, as summarized in Table 8 is chosen to be applied, to ensure that appropriate validation of data occurs before it is subject to the various business processes.
Table 8. SRP 2—Mitigation.
The risks that remain; namely ACME Validation DDoS, Certificate DDoS and End–User new revocations DDoS, all threaten the availability of various business processes of the BlockVoke/ACME extension. For this reason, SRP 4; which prescribes that network packets are restricted by proper router configuration, decentralization and load distribution; as shown in Table 9, is chosen to mitigate these risks.
Table 9. SRP 4—Mitigation.

5.2. Identification of Security Requirements and Controls

Following the identification of SRPs, appropriate risk treatment methods; i.e., security requirements and controls are identified along with the appropriate CPN modules where the controls must be applied.
The use of a checksum to protect the integrity of data in transmission, is the prescribed risk avoidance method for SRP 1. Since certificates and Bitcoin transactions are secured with digital signatures, the risks of Certificate modified and Transaction modified already satisfy these security requirements. Hence, no additional security controls are proposed for these risks. As modelled in the ACME Validation CPN sub–module in Figure 7, the ACME validation process already includes the signature of the CO in challenge response objects. Furthermore, all communication between the CO and any ACME CA, following the ACME specification [11] is secured using SSL/TLS layer encryption. Consequently, for similar reasons as in the previous case, the risk of ACME Validation Challenge/Response modified does not require any additional security requirements or controls.
The risk, End–User new revocations modified is hence the only remaining risk, for which the identified security requirements and controls, are given in Table 10. The security requirement of ensuring integrity of the new revocations must be fulfilled using the security control of the End–User by adding their signature to the revocation information before forwarding them to the members of their organization. The members, in verifying the signature, can ensure the integrity of the revocation information transmitted to them.
Table 10. Risk Treatment: End–User new revocations modified.
SRP 2: chosen for the risks of Malicious CO and Malicious CA, can be applied by filtering the data against existing standards of validity. The CO’s Bitcoin address public key, is already verified by the ACME Validation process. Specifically, the proposed BlockVoke/ACME extension proposes to have the CO prove that they control the public key so claimed in the initial ACME Order. Hence, no additional security requirements or controls are necessary for this particular risk.
The security requirements and controls for the remaining risk, Malicious CA are given in Table 11. The validity of the multi–signature address in the certificate extension field is proposed to be validated by the CO, prior to the subsequent use of the certificate. In the event that a malicious CA generates a certificate that the CO cannot revoke using the BlockVoke protocol, the CO can simply choose not to use that certificate, while opting for another CA.
Table 11. Risk Treatment: Malicious CA.
The final SRP, SRP 4, deals with risks that threaten the availability of various processes of the BlockVoke/ACME extension; namely ACME Validation DDoS, Certificate DDoS and End–User new revocations DDoS. Although the proposed BlockVoke/ACME extension adds another validation method; namely validation of the CO’s address public key, no modifications to the specification governing the protocol by which the validation challenge and response objects are exchanged, is proposed. Hence, no additional security requirements and controls are applied with respect to this risk, since the availability of the ACME CA server is not an aspect that can be secured within the context of the BlockVoke/ACME extension. The security requirements and controls for the risks of Certificate DDoS and End–User new revocations DDoS are given in Table 12 and Table 13 respectively.
Table 12. Risk Treatment: Certificate DDoS.
Table 13. Risk Treatment: End–User new revocations DDoS.

5.3. Application of SRPs

The AOM methodology used in Section 3 is used to derive the required modifications to the CPN formalization of the BlockVoke/ACME extension, in order to apply the identified SRPs.
The required modifications to the goal model sub–hierarchy of the BlockVoke/ACME extension that are necessary to accommodate the application of the SRPs, is given in Appendix A.6.
The updated BIM affecting the activities Communicate Newly signed certificate and Communicate Revocation Transactions to Users is given in Table 14.
Table 14. Updated Behavioural interfaces for new activities, Validate Certificate Multisignature address, Sign new Revocations, Verify signed revocations.
The updated AOM goal model and BIM are mapped to the associated CPN sub–modules of the BlockVoke CPN model, shown in Figure 8 and  Figure 9. To apply the security controls listed in Table 11, a symbolic guard condition; validateCertMultisig(bv_cert), is added to the Communicate Newly Signed Certificate transition. The security controls listed in Table 10 are applied by ensuring that the end–user uses their own key–pair to sign new revocation information before their transmission to the rest of their organization. These key–pairs are also implemented using the previously mentioned non–cryptographic RSA keys, which allow the simulation of the end–user’s organization verification of their signature with every new revocation.
Figure 8. Updated Generate Certificate CPN sub–module.
Figure 9. Updated Mark Certificate as Revoked CPN sub–module.
The updated protocol semantics of the BlockVoke/ACME extension are given in Appendix A.8.

6. Evaluation

In this section, the formalized specification of the BlockVoke/ACME extension given in Section 3 is evaluated using a state–space analysis on the derived CPN model. It is compared to a similar analysis of the CPN model obtained in Section 5, which was derived after applying the required modifications prescribed by the SRPs. Following this, a proof–of–concept (PoC) implementation of the BlockVoke/ACME extension is introduced, along with experimental results obtained by revoking certificates using the BlockVoke protocol over the Bitcoin Testnet.

6.1. State-Space Simulation Evaluation

CPN Tools is used to compute and analyse the state–spaces of the CPN models derived in Section 3 and Section 5. “The basic idea underlying state–spaces is to compute all the reachable states and the state changes of the CPN model and represent these as a directed graph where nodes represent states and arcs represent occurring events” [6]. “From a constructed state–space, it is possible to answer a large set of verification questions concerning the behaviour of the system such as the absence of deadlocks, the possibility of always being able to reach a given state, and the guaranteed delivery of a given service”.
Due to the increased complexity of the CPN model, it is necessary to compute the state–space graphs of some parts of the model independently to prevent a state–space explosion. When a state–space explosion occurs, exponentially large amounts of time and memory are required for the computation. The CPN models are hence divided functionally into two sections. The first section simulates all possible states until all generated certificates are in the Certificate ready to be verified by End User place, whereas the second simulates the remaining certificate verification and revocation processes.

6.1.1. Evaluation of BlockVoke/ACME Extension CPN Model before Application of SRPs

Selected state space analysis results for the CPN model derived in Section 3 are discussed in this section. The results for part–1 of the model, including only the top–level transitions Register ACME Account and Generate Certificate, are given in Table 15 and the results for the remaining model is given in Table 16.
Table 15. Selected State–Space Analysis Results of CPN model derived in Section 3—part–1.
Table 16. Selected State–Space Analysis Results of CPN model derived in Section 3—part–2.
The non–existance of loops implies that no infinite occurrence sequences exist in the computed state–space. This is a desirable property, since it guarantees the protocol’s eventual termination. The presence of dead markings in Table 15 and Table 16, which are markings where no binding elements are enabled [6], are deliberate measures to prevent indefinite execution of the model. Live transitions, which are transitions for which a containing occurrence sequence can always be found, are also absent from any reachable marking. This is also a desirable quality of the CPN model formalization. The final aspect, namely home markings, are absent from part–2 of the model. A home marking is one that can be reached from any other reachable marking, meaning that it is impossible to have a sequence occur that cannot be extended to reach the home marking. The existance of one such marking in part–1, is a by–product of splitting the CPN model into two for purposes of preventing an exploding state–space.

6.1.2. Evaluation of BlockVoke/ACME Extension CPN Model after Application of SRPs

Table 17 and Table 18 give the selected state–space analysis results calculated for the CPN model derived after applying the SRPs in Section 4. The results obtained are identical to those previously listed in Table 15 and Table 16. Hence, similar arguments about the quality of the CPN model derived after the application of SRPs can be made.
Table 17. Selected State–Space Analysis Results of CPN model derived by applying SRPs in Section 4—part–1.
Table 18. Selected State–Space Analysis Results of CPN model derived by applying SRPs in Section 4—part–2.
The identical results reported by the state–space simulation indicate that the application of the SRPs does not negatively affect the desired CPN model properties. The complete state–space reports and the partitioned CPN models are given in Appendix C.

6.1.3. Limitations of State-Space Simulation Results

The size of the state–space graphs computed by CPN Tools is heavily dependent on several factors, including, but not limited to, the number of initial markings in the various Places. While, the initial markings were modelled to allow the generation of four certifiates, only two are revoked. However, two simultaneous revocation processes are sufficient for simulating the two distinct methods in which revocation transactions can be witnessed by the end–user—namely, the mempool or the transactions in newly mined blocks. Furthermore, the division of the CPN model, as described in Section 6.1, while inconvenient, does not disturb the simulation of the major sub–processes of certificate generation and certificate revocation. Since, for any given certificate, the processes of certificate generation and revocation are unlikely to overlap in time, this limitation is inconsequential.

6.2. BlockVoke/ACME Extension Proof–of–Concept Implementation

A proof–of–concept implementation of the BlockVoke/ACME extension is developed to experimentally determine the average time required for BlockVoke revocation transactions to be witnessed in the mempool, and mined permanently into the blockchain. An overview of the implementation is given in Section 6.2.1, followed by a discussion of the results in Section 6.2.2. The implementation is released under the AGPLv3 free–software license, and can be accessed via https://github.com/ETCE-LAB/BlockVoke-Lets-Encrypt-PoC, accessed 20 September 2022.

6.2.1. Overview of Proof-of-Concept Implementation

The proof–of–concept implementation was developed as a collection of scripts that allow to facilitate the testing various aspects of the proposed BlockVoke/ACME extension. In addition to these scripts, a modified version of Pebble (https://github.com/ETCE-LAB/pebble/, accessed 20 September 2022)—a miniature version of an ACME server meant for testing purposes—is used to implement the functions of the ACME CA as pertaining to BlockVoke. While Pebble is implemented in Go (https://go.dev/, accessed 20 September 2022), the test scripts are implemented in Python (https://www.python.org/). The Bitcoind (https://en.bitcoinwiki.org/wiki/Bitcoind, accessed 20 September 2022) RPC client is used to manage the various Bitcoin related operations, such as address generation and communicating with the Bitcoin Testnet (https://en.bitcoin.it/wiki/Testnet, accessed 20 September 2022).

6.2.2. Results of Proof-of-Concept Implementation

A total of 4900 certificates were generated for the purpose of testing the time required for their revocation by the BlockVoke protocol. In the interest of unbiased measurements, two Bitcoin full nodes were connected to the Testnet; the first being used for sending the revocation transactions to the Testnet, while the other listened and parsed new transactions from the mempool and new blocks for BlockVoke revocation transactions. Furthermore, both nodes were connected to the blockchain network from two different geographical locations. While 2036 certificates were revoked from the mempool, the remaining 2864 were detected as revoked via blocks mined within two new blocks on the blockchain, during the course of the test.
Figure 10 gives the time required for a certificate revoked using BlockVoke to be revoked via the mempool or via new blocks. As shown, the majority of certificates were marked as revoked within the first 300 s of their respective pair of revocation transactions being sent to the Testnet. This is a noticeable improvement over CRLs, which often do not expire at a frequency greater than once every 24 h [44]. On the other hand, while OCSP queries have been measured to have a very small median latency of 20 ms [45], a one–to–one comparison with the BlockVoke revocation time cannot be made, since this evaluation measures the time interval between the revocation transactions being transmitted by the CO or CA, and the certificate being marked as revoked by the end–user. Furthermore, OCSP’s short latency times are a result of querying the CA’s directly, which has the drawback of having significant privacy issues to end–users. The complete test results, including the transaction IDs on the Testnet are given in Appendix D.
Figure 10. Time elapsed (in seconds) between transmission of revocation transactions and a certificate to be marked as revoked by the BlockVoke protocol.

6.2.3. Limitations of Proof-of-Concept Implementation

While the PoC implementation demonstrates that the proposed BlockVoke/ACME extension has the potential for fast and reliable certificate revocation, one cannot directly infer the expected transction costs on the Bitcoin main network. The Testnet used a fee rate of 1 sat/vByte; the minimum possible rate for a valid transaction. While this does not prevent the certificates from being revoked on the Testnet very quickly, similar guarantees cannot be made for the Mainnet, or for other blockchains.

7. Conclusions

An initial description of BlockVoke was introduced by Garba et al. [9] followed by an in-depth CPN-based formal verification by Sujatanagarjuna et al. [10]. Subsequently, this work makes four novel contributions to the BlockVoke protocol: First, we specify an extension of the ACME protocol to support BlockVoke. Second, we formally verify this extension using the same modelling approach used in previous papers resulting in an extended CPN model of BlockVoke. Third, we conduct and present the risk and threat analysis results of BlockVoke and its ACME extension using the ISSRM domain model to secure BlockVoke and its extension from possible risks and threats. Moreover, we perform the required modifications to mitigate any identified risks or threats. Finally, we provide a proof of concept implementation of the BlockVoke/ACME extension, which integrates it into a working ACME server.
The proposed BlockVoke/ACME extension modifies the ACME protocol’s certificate issuance and revocation processes to accommodate BlockVoke, thereby allowing participating ACME clients and servers to benefit from the fast and secure revocation process while still being backwards compatible with traditional PKI. Subsequently, we defined goal models and behavioural interface models of the BlockVoke/ACME extension and the protocol semantics in the form of token colours representing the used data structures. Next, the CPN model of BlockVoke/ACME is derived from the AOM models and the defined protocol semantics using CPN-Tools.
The developed formal CPN model specification is used for a systematic risk and threat analysis of the BlockVoke/ACME extension. This includes the identification of the relevant assets, including systems, processes and exchanged data objects, followed by the subsequent identification of the risks that threaten these assets. This process has resulted in the identification of nine risks that require mitigation.
The identified risks are mitigated by identifying appropriate SRPs, followed by the security requirements and controls prescribed by the identified SRPs. These security requirements and controls are then applied using the AOM methodology to derive the required modifications to the BlockVoke/ACME extension.
The formalised BlockVoke/ACME extension is evaluated using state-space analysis via CPN Tools. The state-space reports of the formal CPN models are used to analyse and compare various characteristics to verify that the derived CPN models satisfy specific desirable properties. A PoC implementation of the proposed BlockVoke/ACME Extension is also proposed. Experimental observations of the PoC implementation in a test scenario have also shown to demonstrate the fast and reliable nature of the BlockVoke and the BlockVoke/ACME extension protocol.
The results of our work have some limitations caused by simplifications and intentionally limiting the scope of the formal BlockVoke model pertaining to the socio-technical nature of the protocol and the modelling process itself, e.g., various limitations of CPNs force the use of symbolic representations of real-world processes. For instance, the generation of the various RSA keys is omitted from the CPN models. The use of these RSA keys is purely symbolic and for simulation purposes. Furthermore, the performed risk- and threat analysis does not guarantee the absence of other undetected risks and security flaws. Further security-related analysis methods and penetration testing might uncover additional risks, threats or incomplete risk mitigations. Moreover, there remain some further limitations to the applied mitigation actions, e.g., some risks, such as those pertaining to the threat of DDoS attacks, are excluded from mitigation due to their being partly irrelevant to the BlockVoke/ACME extension. In addition, the applied security control used to mitigate the risk, Malicious CA is only modelled symbolically; due to the computational limitations of CPN–Tools. Finally, the manual and complex pattern detection process requires a good comprehension of the modelled system and thus also poses a challenge.
Future work will focus on further development and integration of BlockVoke and move from an academic proof-of-concept into production-ready certificate management and revocation protocol which can be used in conjunction with services like Let’s Encrypt. Besides this, we plan to obliterate the limitations of the CPN model, such as the missing consensus and mining mechanisms, thereby improving the overall quality of the CPN model. Other potential topics of research pertaining to the risk and threat analysis as well as risk mitigation, e.g., research on the automated occurrence detection of SRPs in a given system model, is preferable to the manual, labour-intensive and error-prone process as described above. Therefore, at least a partially automated support for detection is desirable.

Author Contributions

A.S.: Conceptualization, methodology, software, validation, formal analysis, writing—original draft preparation, visualization; A.B.: Conceptualization, methodology, validation, writing—review and editing, visualization; B.L.: Conceptualization, methodology, validation, writing—review and editing, visualization. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

The data presented in this work are openly available via https://github.com/bleidingGOE/2021_BlockVoke-CPN-Files and https://github.com/ETCE-LAB/BlockVoke-Lets-Encrypt-PoC (accessed 20 September 2022).

Acknowledgments

We acknowledge support by Open Access Publishing Fund of Clausthal University of Technology.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. BlockVoke/ACME Extension Formalization

Appendix A.1. Goal Model

Appendix A.2. Behavioural Interfaces

Appendix A.3. CPN Model Figures

Appendix A.4. CPN Model

Appendix A.5. Protocol Semantics

Appendix A.6. Updated Goal Model

Appendix A.7. Updated CPN Model

Appendix A.8. Updated Protocol Semantics

Appendix C. State–Space Simulations

Appendix C.1. State–Space Simulation Report—Part–1

Appendix C.2. State–Space Simulation Report—Part–2

Appendix C.3. State–Space Simulation (Updated CPN Model) Report—Part–1

Appendix C.4. State–Space Simulation (Updated CPN Model) Report—Part–2

Appendix C.5. Partitioned CPN Models

Appendix C.6. (Updated) Partitioned CPN Models

References

  1. Bugzilla. Bugzilla #1619179—Let’s Encrypt: Incomplete Revocation for CAA Rechecking Bug. 2020. Available online: https://bugzilla.mozilla.org/show_bug.cgi?id=1619179#c7 (accessed on 20 September 2022).
  2. Jacob Hoffman-Andrews. Let’s Encrypt—29 February 2020 CAA Rechecking Bug. 2020. Available online: https://community.letsencrypt.org/t/2020-02-29-caa-rechecking-bug/114591 (accessed on 20 September 2022).
  3. JamesLE. Let’s Encrypt – Revoking Certain Certificates on 4 March 2020. Available online: https://community.letsencrypt.org/t/revoking-certain-certificates-on-march-4/114864 (accessed on 20 September 2022).
  4. Cohn-Gordon, K.; Cremers, C.; Dowling, B.; Garratt, L.; Stebila, D. A Formal Security Analysis of the Signal Messaging Protocol. J. Cryptol. 2020, 33, 1914–1983. [Google Scholar] [CrossRef] [Scilit]
  5. Kulik, T.; Dongol, B.; Larsen, P.G.; Macedo, H.D.; Schneider, S.; Tran-Jørgensen, P.W.; Woodcock, J. A Survey of Practical Formal Methods for Security. Form. Asp. Comput. 2022, 34, 1–39. [Google Scholar] [CrossRef] [Scilit]
  6. Jensen, K.; Kristensen, L.M.; Wells, L. Coloured Petri Nets and CPN Tools for Modelling and Validation of Concurrent Systems. Int. J. Softw. Tools Technol. Transf. 2007, 9, 213–254. [Google Scholar] [CrossRef] [Scilit]
  7. Dubois, E.; Heymans, P.; Mayer, N.; Matulevičius, R. A Systematic Approach to Define the Domain of Information System Security Risk Management. In Intentional Perspectives on Information Systems Engineering; Springer: Berlin/Heidelberg, Germany, 2010; pp. 289–306. [Google Scholar]
  8. Matulevičius, R. Fundamentals of Secure System Modelling; Springer International Publishing: Berlin/Heidelberg, Germany, 2017. [Google Scholar]
  9. Garba, A.; Bochem, A.; Leiding, B. BlockVoke – Fast, Blockchain-Based Certificate Revocation for PKIs and the Web of Trust. In Proceedings of the International Conference on Information Security, Bali, Indonesia, 16–18 December 2020; pp. 315–333. [Google Scholar]
  10. Sujatanagarjuna, A.; Bochem, A.; Leiding, B. Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets. Information 2021, 12, 277. [Google Scholar] [CrossRef] [Scilit]
  11. Barnes, R.; Hoffman-Andrews, J.; McCarney, D.; Kasten, J. Automatic Certificate Management Environment (ACME); RFC 8555; RFC: Nanjapuram, India, 2019. [Google Scholar]
  12. Aas, J.; Barnes, R.; Case, B.; Durumeric, Z.; Eckersley, P.; Flores-López, A.; Halderman, J.A.; Hoffman-Andrews, J.; Kasten, J.; Rescorla, E.; et al. Let’s Encrypt: An Automated Certificate Authority to Encrypt the Entire Web. In Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security. Association for Computing Machinery, London, UK, 11–15 November 2019; pp. 2473–2487. [Google Scholar]
  13. Smith, T.; Dickinson, L.; Seamons, K. Let’s Revoke: Scalable Global Certificate Revocation. In Proceedings of the 27th Annual Network and Distributed System Security Symposium (NDSS 2020), Diego, CA, USA, 23–26 February 2020. [Google Scholar]
  14. Cooper, D.; Santesson, S.; Farrell, S.; Boeyen, S.; Housley, R.; Polk, W. Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile. IETF RFC5280. May 2008. Available online: https://datatracker.ietf.org/doc/html/rfc5280 (accessed on 20 September 2022).
  15. Duo, W.; Xin, H.; Xiaofeng, M. Formal Analysis of Smart Contract Based on Colored Petri Nets. IEEE Intell. Syst. 2020, 35, 19–30. [Google Scholar] [CrossRef] [Scilit]
  16. Rahman, M.S.; Khalil, I.; Bouras, A. Formalizing Dynamic Behaviors of Smart Contract Workflow in Smart Healthcare Supply Chain. In Proceedings of the International Conference on Security and Privacy in Communication Systems, Washington, DC, USA, 21–23 October 2020; pp. 391–402. [Google Scholar]
  17. Liu, Z.; Liu, J. Formal Verification of Blockchain Smart Contract Based on Colored Petri Net Models. In Proceedings of the 2019 IEEE 43rd Annual Computer Software and Applications Conference (COMPSAC), Milwaukee, WI, USA, 15–19 July 2019; Volume 2, pp. 555–560. [Google Scholar]
  18. Leiding, B.; Norta, A. Mapping Requirements Specifications Into a Formalized Blockchain-Enabled Authentication Protocol for Secured Personal Identity Assurance. In Proceedings of the 4th International Conference on Future Data and Security Engineering—FDSE 2017, Ho Chi Minh City, Vietnam, 29 November–1 December 2017; pp. 181–196. [Google Scholar]
  19. Norta, A.; Matulevičius, R.; Leiding, B. Safeguarding a Formalized Blockchain-Enabled Identity-Authentication Protocol by Applying Security Risk-Oriented Patterns. Comput. Secur. 2019, 86, 253–269. [Google Scholar] [CrossRef] [Scilit]
  20. Leiding, B.; Cap, C.H.; Mundt, T.; Rashidibajgan, S. Authcoin: Validation and Authentication in Decentralized Networks. In Proceedings of the 10th Mediterranean Conference on Information Systems—MCIS 2016, Paphos, Cyprus, 4–6 September 2016. [Google Scholar]
  21. Jensen, K. Coloured Petri Nets. In Proceedings of the Discrete Event Systems: A New Challenge for Intelligent Control Systems, IEE Colloquium on IET, London, UK, 4 June 1993; pp. 1–5. [Google Scholar]
  22. Sterling, L.; Taveter, K. The Art of Agent-oriented Modeling; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
  23. Mahunnah, M.; Norta, A.; Ma, L.; Taveter, K. Heuristics for Designing and Evaluating Socio–Technical Agent–Oriented Behaviour Models with Coloured Petri Nets. In Proceedings of the 38th International Computer Software and Applications Conference Workshops, Washington, DC, USA, 21–25 July 2014; pp. 438–443. [Google Scholar]
  24. Ahmed, N.; Matulevičius, R. Securing Business Process Using Security Risk-oriented Patterns. Comput. Stand. Interfaces 2014, 36, 723–733. [Google Scholar] [CrossRef] [Scilit]
  25. Ahmed, N.; Matulevičius, R. Presentation and Validation of Method for Security Requirements Elicitation from Business Processes. In Proceedings of the Information Systems Engineering in Complex Environments, Selected extended papers from CAiSE Forum 2014, Thessaloniki, Greece, 16–20 June 2014. [Google Scholar]
  26. Mayer, N. Model-based Management of Information System Security Risk. Ph.D. Thesis, University of Namur, Namur, Belgium, 2009. [Google Scholar]
  27. Yoder, J.; Barcalow, J. Architectural Patterns for Enabling Application Security. Urbana 1998, 51, 61801. [Google Scholar]
  28. Schumacher, M. Security Eengineering With Patterns: Origins, Theoretical Models, And New Applications; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2003; Volume 2754. [Google Scholar]
  29. Milner, R.; Parrow, J.; Walker, D. A Calculus of Mobile Processes, I. Inf. Comput. 1992, 100, 1–40. [Google Scholar] [CrossRef] [Scilit]
  30. Hoare, C.A.R. Communicating Sequential Processes. In The Origin of Concurrent Programming; Springer: Berlin/Heidelberg, Germany, 1978; pp. 413–443. [Google Scholar]
  31. Jensen, K.; Kristensen, L.M. Coloured Petri Nets: Modelling and Validation of Concurrent Systems; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  32. Bochem, A.; Leiding, B. Rechained: Sybil-Resistant Distributed Identities for the Internet of Things and Mobile Ad Hoc Networks. Sensors 2021, 21, 3257. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  33. Basyouni, A.; Tavares, S. New Approach to Cryptographic Protocol Analysis Using Coloured Petri Nets. In Proceedings of the Electrical and Computer Engineering, 1997. Engineering Innovation: Voyage of Discovery, St. John’s, NF, Canada, 25–28 May 1997; Volume 1, pp. 334–337. [Google Scholar]
  34. Dresp, W. Security Analysis of the Secure Authentication Protocol by Means of Coloured Petri Nets. In Proceedings of the IFIP International Conference on Communications and Multimedia Security, Salzburg, Austria, 19–21 September 2005; pp. 230–239. [Google Scholar]
  35. Vanek, T.; Rohlik, M. Model of DoS Rresistant Broadcast Authentication Protocol in Colored Petri Net Environment. In Proceedings of the IWSSIP 2010 Proceedings, Rio de Janeiro, Brazil, 17–19 June 2010; pp. 264–267. [Google Scholar]
  36. Xu, Y.; Xie, X. Modeling and Analysis of Security Protocols Using Colored Petri Nets. JCP 2011, 6, 19–27. [Google Scholar] [CrossRef] [Scilit]
  37. Pinna, A.; Tonelli, R. On the use of Petri Nets in Smart Contracts Modeling, Generation and Verification. In Proceedings of the 2022 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER), Honolulu, HI, USA, 15–18 March 2022; pp. 1207–1211. [Google Scholar]
  38. Al-Azzoni, I.; Down, D.; Khedri, R. Modeling and Verification of Cryptographic Protocols Using Coloured petri Nets. Nord. J. Comput. 2005, 12, 200–228. [Google Scholar]
  39. Sornkhom, P.; Permpoontanalarp, Y. Security Analysis of Micali’s Fair Contract Signing Protocol by Using Coloured Petri Nets: Multi-session Case. In Proceedings of the Parallel & Distributed Processing, Rome, Italy, 23–29 May 2009; pp. 1–8. [Google Scholar]
  40. Yoshioka, N.; Washizaki, H.; Maruyama, K. A Survey on Security Patterns. Prog. Inform. 2008, 5, 35–47. [Google Scholar] [CrossRef] [Scilit]
  41. Samarütel, S.; Matulevičius, R.; Norta, A.; Nõukas, R. Securing Airline-turnaround Processes Using Security Risk-oriented Patterns. In Proceedings of the IFIP Working Conference on The Practice of Enterprise Modeling, Skövde, Sweden, 8–10 November 2016; pp. 209–224. [Google Scholar]
  42. Matulevičius, R.; Norta, A.; Udokwu, C.; Nõukas, R. Security Risk Management in the Aviation Turnaround Sector. In Proceedings of the International Conference on Future Data and Security Engineering, Can Tho City, Vietnam, 23–25 November 2016; pp. 119–140. [Google Scholar]
  43. Ahmed, N.; Matulevičius, R.; Khan, N.H. Eliciting Security Requirements for Business Processes using Patterns. In Proceedings of the 9th International Workshop on Security in Information Systems, Bordeaux, France, 15 March 2016. [Google Scholar]
  44. Liu, Y.; Tome, W.; Zhang, L.; Choffnes, D.; Levin, D.; Maggs, B.; Mislove, A.; Schulman, A.; Wilson, C. An End-to-End Measurement of Certificate Revocation in the Web’s PKI. In Proceedings of the 2015 Internet Measurement Conference, Tokyo, Japan, 28–30 October 2015; pp. 183–196. [Google Scholar]
  45. Basin, D.; Cremers, C.; Kim, T.H.J.; Perrig, A.; Sasse, R.; Szalachowski, P. Design, analysis, and implementation of ARPKI: An attack-resilient public-key infrastructure. IEEE Trans. Dependable Secur. Comput. 2016, 15, 393–408. [Google Scholar] [CrossRef] [Scilit]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Article Metrics

Citations

Article Access Statistics

Multiple requests from the same IP address are counted as one view.