Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets
Abstract
:1. Introduction
2. Background and Related Works
2.1. Certificate Revocation Mechanisms
2.1.1. Certificate Revocation Lists (CRLs)
2.1.2. Online Certificate Status Protocol (OCSP)
2.1.3. OCSP Stapling
2.2. Blockchain Technology
2.3. Related Work
3. BlockVoke Protocol
3.1. Certificate Signing Request (CSR)
3.2. Certificate Creation
3.3. Revocation
4. Modeling the BlockVoke Protocol
4.1. Modeling Strategy
4.2. AOM Goal Modeling
4.3. Behavioral Interface Modeling
4.4. Mapping the Agent-Oriented Model to CPN Models
5. Protocol Semantics
6. Refined CPN Models of BlockVoke
6.1. Generate Certificate
6.2. Verify Certificate
6.3. Revoke Certificate
6.3.1. Create Revocation Transactions
6.3.2. Add Unconfirmed Revocation Transactions to Mempool
6.3.3. Mine Revocation Transactions
6.3.4. Propagate Mined Blocks
6.3.5. Mark Certificate as Revoked
7. Evaluation and Discussion
7.1. CPN State-Space Analysis
7.2. Discussion
8. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Appendix A. BlockVoke Protocol Formalization
Appendix A.1. AOM Goal Model
Appendix A.2. Behavior Interfaces of Activities
Appendix A.3. CPN Model
Appendix A.4. CPN Protocol Semantics
Appendix A.5. State-Space Analysis
References
- Cam-Winget, N.; Housley, R.; Wagner, D.; Walker, J. Security Flaws in 802.11 Data Link Protocols. Commun. ACM 2003, 46, 35–39. [Google Scholar] [CrossRef] [Green Version]
- Carlsen, U. Cryptographic Protocol Flaws: Know Your Enemy. In Proceedings of the Computer Security Foundations Workshop VII, CSFW 7, Franconia, NH, USA, 14–16 June 1994; pp. 192–200. [Google Scholar]
- Fábrega, F.J.T.; Herzog, J.C.; Guttman, J.D. Strand Spaces: Why is a Security Protocol Correct? In Proceedings of the Security and Privacy, Oakland, CA, USA, 6 May 1998; pp. 160–171. [Google Scholar]
- Vaudenay, S. Security Flaws Induced by CBC Padding-Applications to SSL, IPSEC, WTLS…. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2002; pp. 534–545. [Google Scholar]
- Heartbleed–CVE-2014-0160. 2014. Available online: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0160 (accessed on 11 May 2021).
- Wuille, Pieter and Maxwell, Greg. SigSpoof–CVE-2018-12020. 2018. Available online: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12020 (accessed on 11 May 2021).
- Petri, C.A. Kommunikation Mit Automaten. Ph.D. Thesis, Technical University of Darmstadt, Darmstadt, Germany, 1962. [Google Scholar]
- Jensen, K. Coloured Petri Nets. In Proceedings of the Discrete Event Systems: A New Challenge for Intelligent Control Systems, London, UK, 4 June 1993; pp. 1–5. [Google Scholar]
- 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]
- Milner, R.; Parrow, J.; Walker, D. A Calculus of Mobile Processes, I. Inf. Comput. 1992, 100, 1–40. [Google Scholar] [CrossRef] [Green Version]
- Hoare, C.A.R. Communicating Sequential Processes. In The Origin of Concurrent Programming; Springer: Berlin/Heidelberg, Germany, 1978; pp. 413–443. [Google Scholar]
- Crazzolara, F.; Winskel, G. Events in Security Protocols. In Proceedings of the 8th ACM Conference on Computer and Communications Security, Philadelphia PA, USA, 5 November 2001; pp. 96–105. [Google Scholar]
- Abadi, M.; Gordon, A.D. A Calculus for Cryptographic Protocols: The Spi Calculus. In Proceedings of the 4th ACM Conference on Computer and Communications Security, Zurich, Switzerland, 4 April 1997; pp. 36–47. [Google Scholar]
- 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]
- Fett, D.; Küsters, R.; Schmitz, G. A Comprehensive Formal Security Analysis of OAuth 2.0. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, Vienna, Austria, 24 October 2016; pp. 1204–1215. [Google Scholar]
- 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]
- Rahman, M.S.; Khalil, I.; Bouras, A. Formalizing Dynamic Behaviors of Smart Contract Workflow in Smart Healthcare Supply Chain. In International Conference on Security and Privacy in Communication Systems; Springer: Berlin/Heidelberg, Germany, 2020; pp. 391–402. [Google Scholar]
- 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]
- Leiding, B.; Norta, A. Mapping Requirements Specifications Into a Formalized Blockchain-Enabled Authentication Protocol for Secured Personal Identity Assurance. In International Conference on Future Data and Security Engineering; Springer: Berlin/Heidelberg, Germany, 2017; pp. 181–196. [Google Scholar]
- 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]
- 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, Paphos, Cyprus, 5 September 2016. [Google Scholar]
- 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]
- Ahmed, N.; Matulevičius, R. Securing Business Process Using Security Risk-oriented Patterns. Comput. Stand. Interfaces 2014, 36, 723–733. [Google Scholar] [CrossRef]
- 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, Thessaloniki, Greece, 16–20 June 2014. [Google Scholar]
- Norta, A.; Kutvonen, L. Safeguarding Trusted eBusiness Transactions of Lifecycles for Cross-Enterprise Collaboration; Technical Report; Department of Computer Science, University of Helsinki: Helsinki, Finland, 2012. [Google Scholar]
- Garba, A.; Bochem, A.; Leiding, B. BlockVoke–Fast, Blockchain-Based Certificate Revocation for PKIs and the Web of Trust. In International Conference on Information Security; Springer: Berlin/Heidelberg, Germany, 2020; pp. 315–333. [Google Scholar]
- 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), San Diego, CA, USA, 23 February 2020. [Google Scholar]
- Chung, T.; Lok, J.; Chandrasekaran, B.; Choffnes, D.; Levin, D.; Maggs, B.M.; Mislove, A.; Rula, J.; Sullivan, N.; Wilson, C. Is the Web Ready for OCSP Must-Staple? In Proceedings of the Internet Measurement Conference 2018, Boston, MA, USA, 31 October 2018; pp. 105–118. [Google Scholar]
- 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://tools.ietf.org/html/rfc5280 (accessed on 28 May 2020).
- Santesson, S.; Myers, M.; Ankney, R.; Malpani, A.; Galperin, S.; Adams, C. X. 509 Internet Public Key Infrastructure Online Certificate Status Protocol–OCSP. IETF RFC6960. June 2013. Available online: https://tools.ietf.org/html/rfc6960 (accessed on 28 May 2020).
- Basin, D.A.; Cremers, C.; Kim, T.H.; Perrig, A.; Sasse, R.; Szalachowski, P. Design, Analysis, and Implementation of ARPKI: An Attack-Resilient Public-Key Infrastructure. IEEE Trans. Dependable Secur. Comput. 2018, 15, 393–408. [Google Scholar] [CrossRef]
- Eastlake, D. Transport Layer Security (TLS) Extensions: Extension Definitions. IETF RFC6066. January 2011. Available online: https://tools.ietf.org/html/rfc6066 (accessed on 28 May 2020).
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 9 May 2021).
- Wood, G. Ethereum: A Secure Decentralized Generalised Transaction Ledger. 2014. Available online: http://gavwood.com/paper.pdf (accessed on 30 May 2021).
- Amoah, R.; Suriadi, S.; Camtepe, S.; Foo, E. Security Analysis of the Non-Aggressive Challenge Response of the DNP3 Protocol Using a CPN Model. In Proceedings of the 2014 IEEE International Conference on Communications (ICC), Sydney, Australia, 10–14 June 2014; pp. 827–833. [Google Scholar]
- 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]
- Larisch, J.; Choffnes, D.; Levin, D.; Maggs, B.M.; Mislove, A.; Wilson, C. CRLite: A Scalable System for Pushing all TLS Revocations to all Browsers. In Proceedings of the 2017 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2017; pp. 539–556. [Google Scholar]
- Jensen, K.; Kristensen, L.M. Coloured Petri Nets: Modelling and Validation of Concurrent Systems; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- Aly, S.; Mustafa, K. Protocol Verification and Analysis Using Colored Petri Nets. 2003. Available online: http://facweb.cs.depaul.edu/research/techreports/tr04-003.pdf (accessed on 13 February 2021).
- Edwards, K. Cryptographic Protocol Specification and Analysis Using Coloured Petri Nets and Java. Ph.D. Thesis, Queen’s University Kingston, Kingston, ON, Canada, 1999. [Google Scholar]
- 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 2014 IEEE 38th International Computer Software and Applications Conference Workshops (COMPSACW), Vasteras, Sweden, 21–25 July 2014; pp. 438–443. [Google Scholar]
- Sterling, L.; Taveter, K. The Art of Agent-Oriented Modeling; MIT Press: Cambridge, MA, USA, 2009. [Google Scholar]
- Davis, A.M. Software Requirements: Objects, Functions, and States; Prentice-Hall, Inc.: Yankee Ferry, NJ, USA, 1993. [Google Scholar]
- IEEE Computer Society. Software Engineering Technology Committee and Institute of Electrical and Electronics Engineers. In IEEE Recommended Practice for Software Requirements Specifications; IEEE Std, Institute of Electrical and Electronics Engineers: Piscataway, NJ, USA, 1994. [Google Scholar]
- Norta, A.; Grefen, P.; Narendra, N.C. A Reference Architecture for Managing Dynamic Inter-Organizational Business Processes. Data Knowl. Eng. 2014, 91, 52–89. [Google Scholar] [CrossRef] [Green Version]
- Marshall, J. Agent-Based Modelling of Emotional Goals in Digital Media Design Projects. Int. J.-People-Oriented Program. (IJPOP) 2014, 3, 44–59. [Google Scholar] [CrossRef] [Green Version]
- Fourman, M.P. Arrays. 2010. Available online: https://homepages.inf.ed.ac.uk/mfourman/teaching/mlCourse/notes/sml-arrays.html (accessed on 29 May 2021).
- Vanek, T.; Rohlik, M. Model of DoS Resistant Broadcast Authentication Protocol in Colored Petri Net Environment. In IWSSIP 2010 Proceedings 2010; Rio de Janeiro, Brazil; pp. 264–267. Available online: http://www2.ic.uff.br/iwssip2010/Proceedings/nav/papers/paper_85.pdf (accessed on 30 May 2021).
- Huang, Y.; He, W.; Nahrstedt, K.; Lee, W.C. DoS-resistant Broadcast Authentication Protocol with Low End-to-End Delay. In Proceedings of the IEEE INFOCOM Workshops 2008, Phoenix, AZ, USA, 13–18 April 2008; pp. 1–6. [Google Scholar]
- Dresp, W. Security Analysis of the Secure Authentication Protocol by Means of Coloured Petri Nets. In IFIP International Conference on Communications and Multimedia Security; Springer: Berlin/Heidelberg, Germany, 2005; pp. 230–239. [Google Scholar]
- Sornkhom, P.; Permpoontanalarp, Y. Security Analysis of Micali’s Fair Contract Signing Protocol by Using Coloured Petri Nets. In Proceedings of the 2008 Ninth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing, Phuket, Thailand, 6–8 August 2008; pp. 329–334. [Google Scholar]
- Xu, Y.; Xie, X. Modeling and Analysis of Security Protocols Using Colored Petri Nets. JCP 2011, 6, 19–27. [Google Scholar] [CrossRef]
Short Biography of Authors
Anant Sujatanagarjuna was born in Mumbai, India. He received his B.Sc. degree in computer science in 2018 and his B.Sc. degree in mathematics in 2019, both from the University of Mumbai, India and is currently working towards a M.Sc degree in Applied Computer Science at the University of Goettingen, Germany. His main field of research is blockchain technology. | |
Arne Bochem was born in Bad Mergentheim, Germany. He received the B.Sc. and M.Sc. degrees in applied computer science from the University of Goettingen and is currently working towards a Ph.D. degree at the same university. His main fields of research include secure localization for wireless sensor networks and the Internet of Things as well as blockchain technology. | |
Benjamin Leiding was born in Rostock, Germany. He received his B.Sc. degree in computer science in 2015 from the University of Rostock, Germany. Subsequently, he received the M.Sc. degree in Internet Technologies and Information Systems in 2017 as well as the Ph.D. degree in computer science in 2020 from the University of Goettingen, Germany. He is currently a Post Doctoral Research Fellow at the Clausthal University of Technology. His research interests include the Machine-to-Everything Economy (M2X Economy), the Circular Economy, distributed systems, and digital identities. |
Offset | Length | Content |
---|---|---|
0 | 10 | BlockVoke |
10 | 16 | First 16B of certificate fingerprint |
26 | 4 | Date of issuance in days since 2020-02-02 (uint32) |
30 | 1 | Revocation reason code according to RFC 5280 [29] (uint8) |
31 | 3 | Optional: If CA uses CRV, uint24 of revocation number RN |
34 | 6 | Optional: If CA uses CRV, unique CA identifier |
Activity | Trigger | Precondition(s) | Postcondition(s) |
---|---|---|---|
Generate Certificate | CA wants to generate CO’s certificate | CO’s CSR with information relevant to the certificate, CO’s (wallet) public key, CA’s signing key pair, CA’s (wallet) public key | Generated certificate with CA’s signature and multi-signature address ready to be verified by the end user |
Verify Certificate | Certificate ready to be verified by the end user | Generated certificate, CA’s public key | Certificate has been verified by an end user |
Revoke Certificate | CA or CO wants to revoke a certificate that they have signed/own respectively | Crypto wallet with small credit amount, signed certificate, certificate verified, RFC 5280 code, optional CA identifier | Certificate has been revoked |
Notation | Name |
---|---|
Connecting arc | |
Sub-goal or activity | |
Trigger or precondition | |
Postcondition | |
Goal | |
[<conditions>] | Precondition(s) |
Value Name | Value Declaration |
---|---|
initialCAWallet | 1‘(“0x1”, (“ca1_wallet_pubkey”, “ca1_wallet_privkey”), “0x001”, 100) |
initialCAKeypair | 1‘(“CA1”, (25877, 5), (25877, 20429), “ca1”) |
initialCOWallet | 1‘(“0x3”, (“co1_pubkey”, “co1_privkey”), “0x003”, 100)++ |
1‘(“0x4”, (“co2_pubkey”, “co2_privkey”), “0x004”, 100)++ | |
1‘(“0x5”, (“co3_pubkey”, “co3_privkey”), “0x005”, 100)++ | |
1‘(“0x6”, (“co4_pubkey”, “co4_privkey”), “0x006”, 100) | |
initialCOKeypair | 1‘(“www.co1-website.com”, (33017, 7), (33017, 4663), “co1_website”)++ |
1‘(“www.co2-website.com”, (83767,13), (83767,6397), “co2_website”)++ | |
1‘(“www.co3-website.com”, (69451,5), (69451,13781), “co3_website”)++ | |
1‘(“www.co4-website.com”, (50299,3), (50299,33227), “co4_website”) | |
initialCSR | 1‘((“www.co1-website.com”, (33017, 7), “co1_website”, “CA1”, |
(25877, 5), “ca1”, “02/02/2021”, “02/02/2022”, “”, 0, 0, “”), “0x3”)++ | |
1‘((“www.co2-website.com”, (83767, 13), “co2_website”, “CA1”, | |
(25877, 5), “ca1”, “03/03/2021”, “03/03/2022”, “”,0, 0,“”), “0x4”)++ | |
1‘((“www.co3-website.com”, (69451, 5), “co3_website”, “CA1”, | |
(25877, 5), “ca1”, “04/04/2021”, “04/04/2022”, “”, 0, 0,“”), “0x5”)++ | |
1‘((“www.co4-website.com”, (50299, 3), “co4_website”, “CA1”, | |
(25877, 5), “ca1”, “05/05/2021”, “05/05/2022”, “”, 0, 0,“”), “0x6”) | |
initialCORevoke | 1‘(1803, false, 10, “0x4”, 1, “unused”, “0xmultisig2”, |
“12.02.2021”, “ca1”) | |
initialCARevoke | 1‘(1825, true, 10, “0x1”, 1, “cACompromise”, “0xmultisig4”, |
“12.02.2021”, “ca1”) |
Module | Token Color | Type | Description |
---|---|---|---|
Top-level | CSR | Color Set (BlockVoke_Cert, Wallet_Addr) | Representation of a certificate signing request |
Top-level | CA_KeyPair | Color Set (CA_CN, CA_PublicKey, CA_PrivateKey, CA_Key_ID) | CA’s RSA keypair |
Top-level | Wallet | Color Set (Wallet_Addr, Wallet_KeyPair, Wallet_Previous_Hash, Wallet_Balance) | A wallet |
Top-level | CO_KeyPair | Color Set (CO_CN, CO_PublicKey, CO_PrivateKey, CO_Key_ID) | CO’s RSA keypair |
Top-level | RV | Color Set (Cert_Fingerprint, Is_CA, Funds, Wallet_Addr, Fees, RFC5280_RevocationCode, Cert_Multisig_addr, Cert_DOI, CA_Key_ID) | Color Set with information required for a revocation |
Top-level | BlockVoke_Cert | Color Set (CO_CN, CO_PublicKey, CO_Key_ID, CO_CN, CO_PublicKey, CO_Key_ID, Cert_Valid_From, Cert_Valid_To, Cert_Multisig_addr, Cert_Sig, Cert_Fingerprint, Cert_DOI) | SSL certificate with extra BlockVoke fields |
Loops | Home Markings | Dead Markings | Dead Transitions | Live Transitions | |
---|---|---|---|---|---|
BlockVoke | No | No | Yes | No | No |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2021 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Sujatanagarjuna, A.; Bochem, A.; Leiding, B. Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets. Information 2021, 12, 277. https://doi.org/10.3390/info12070277
Sujatanagarjuna A, Bochem A, Leiding B. Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets. Information. 2021; 12(7):277. https://doi.org/10.3390/info12070277
Chicago/Turabian StyleSujatanagarjuna, Anant, Arne Bochem, and Benjamin Leiding. 2021. "Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets" Information 12, no. 7: 277. https://doi.org/10.3390/info12070277
APA StyleSujatanagarjuna, A., Bochem, A., & Leiding, B. (2021). Formalizing the Blockchain-Based BlockVoke Protocol for Fast Certificate Revocation Using Colored Petri Nets. Information, 12(7), 277. https://doi.org/10.3390/info12070277