An Implementation Suite for a Hybrid Public Key Infrastructure
<p>Chain of trust. The root CA is self-certified.</p> "> Figure 2
<p>Public key infrastructure.</p> "> Figure 3
<p>Identity-based cryptosystem.</p> "> Figure 4
<p>Communication model: the intra-domain communication may rely directly on IBC, but the inter-domain channel requires a combination of PKI/IBC methods to function correctly.</p> "> Figure 5
<p>Back-end system architecture. The front-end, admin and user Web interfaces can be custom built to interact with the service.</p> "> Figure 6
<p>Keys on the back-end key-store. Note that the CMS is for external users to validate the authenticity of the PKG (see <a href="#sec5dot2-symmetry-13-01535" class="html-sec">Section 5.2</a>); internal users would simply use the MPK without needing to obtain the CMS from the PKG.</p> "> Figure 7
<p>Intra-domain communication. Example shown here is for signing/verification, but it works with encryption/decryption as well. In the case of encryption/decryption, Alice would encrypt with Victor’s identity “<a href="mailto:Victor@domainA">Victor@domainA</a>” and Victor would decrypt with their user key <a href="mailto:victor@domainA.usk">victor@domainA.usk</a>.</p> "> Figure 8
<p>Inter-domain communication. Steps 3–5 are needed for Bob to establish trust of domain A and the MPK it receives.</p> "> Figure 9
<p>Minimalist front-end to the hybrid PKI module. This is a demo to illustrate the use-cases of the hybrid PKI back-end.</p> "> Figure 10
<p>CSR generation. The generated CSR is sent to a CA for certification: it is used for inter-domain CMS generation by the PKG.</p> "> Figure 11
<p>User key derivation. In this demo interface, an admin specifies which master key to be used to derive the user key for <tt>alice@mmu.edu.my</tt> along with an expiry mode (see <a href="#sec7dot2-symmetry-13-01535" class="html-sec">Section 7.2</a>). A user password may also be supplied for user key encryption using PKCS#8.</p> "> Figure 12
<p>Example of issuing a service request in PHP to obtain a certificate signing request. A TCP socket connection is established to the back-end server and sends the service request in JSON format.</p> "> Figure 13
<p>Using the back-end module with existing tools. The popular networking utility tool <tt>netcat</tt> is used to establish a connection to the back-end server and perform a <tt>uskder</tt> or user key derivation service request with the arguments passed in JSON format.</p> "> Figure 14
<p>Browser plugin menu action. The user can perform IBS signing or verification through this plugin. If a website also uses the hybrid PKI suite, the user may also perform log in using the plugin with their user key.</p> "> Figure 15
<p>Browser plugin option page. The user can add user keys or MPKs to the plugin, which can then be used to perform IBS operations such as signing/verification and even log in onto websites that are using IBC as a means for entity authentication.</p> "> Figure 16
<p>Browser plugin IBS generating an example. The user signs a plain-text message using the plugin. The signature is in the form of a JSON Web signature (JWS).</p> "> Figure 17
<p>Browser plugin IBS verifying an example. The user verifies a JWS, which supports message recovery and obtains the signed message as well as the signer’s public identity.</p> "> Figure 18
<p>HTML page authentication over HTTP with IBS. If a website uses the hybrid-PKI suite, users may authenticate the HTML page using the browser plugin without using conventional PKI certificates.</p> "> Figure 19
<p>Example of website log in with browser plugin using IBS. An example website that uses the VOS can be logged into using the browser plugin. The server needs not store any passwords. The server only needs to store a list of identities (e.g., a white-list) that are allowed to log in as well as the MPK. When a user attempts to log in, the website can challenge with a random nonce for the user to perform IBS, which they then verify using the signer’s identity and their white-list.</p> "> Figure 20
<p>Email encryption with Thunderbird Hybrid PKI plugin. The user uses the plugin to encrypt the contents of the email using the email address of the recipient as the public key: the recipient can decrypt the email using their user key if their email address matches.</p> "> Figure 21
<p>A scenario where the PKG is compromised.</p> "> Figure 22
<p>A scenario where the registration authority is compromised.</p> "> Figure 23
<p>A scenario where the user device is compromised.</p> "> Figure 24
<p>RSA IBS signing run-time vs. message size.</p> "> Figure 25
<p>RSA IBS verification run-time vs. message size.</p> "> Figure 26
<p>DSA IBS signing run-time vs. message size.</p> "> Figure 27
<p>DSA IBS verification run-time vs. message size.</p> "> Figure 28
<p>ECDSA IBS signing run-time vs. message size.</p> "> Figure 29
<p>ECDSA IBS verification run-time vs. message size.</p> "> Figure 30
<p>Average IBS signing run-time vs. security level.</p> "> Figure 31
<p>Average IBS verification run-time vs. security level.</p> "> Figure 32
<p>Email plugin run-time vs. plain-text size.</p> "> Figure 33
<p>Email plugin average run-times.</p> ">
Abstract
:1. Public Key Infrastructure
1.1. Motivation
- Cost effectiveness: an organization can communicate securely both internally and externally with the cost of only one digital certificate, where the cost is independent of the number of staff in the organization. This benefit can never be achieved using conventional PKI in which each staff is required to possess an individual certificate to authenticate their own public key;
- Simple key management: inherited from the distinctive certificate-less feature of IBC, PKG can go offline upon issuing the user private key for users. Users can then communicate in a peer-to-peer manner in contrast to PKI users who need to communicate with CA to verify the authenticity of their peer’s digital certificates.
- Database-less: Certificates are not necessary in IBC, thus no certificate database storage is required.
1.2. Problem Statement
1.3. Organization
2. Existing Works
3. Our Contribution
- Independent of the underlying software used by the CA.
- Users from domains issued by the CA can decrypt/verify identity-based encrypted/ signed messages from users on the hybrid PKI’s domain.
- An organization wants to have an IBC security environment in their organization without an existing conventional PKI.
- An organization wants to reduce the cost incurred by end-user certificates generated by conventional PKI by replacing end-user certificates in the organization with IBC solutions.
4. Methodology
5. Architecture
5.1. Intra-Domain Communication
5.2. Inter-Domain Communication
- Verify that domain A is a legal domain;
- Obtain that domain A’s authentic MPK.
6. Identity-Based Cryptography
6.1. RSA Identity-Based Signatures
6.2. Schnorr Identity-Based Signatures (DSA IBS)
6.3. Elliptic Curve Schnorr Identity-Based Signatures (ECDSA IBS)
6.4. Boneh–Franklin Identity-Based Encryption
Algorithm 1 RSA IBS setup. |
|
Algorithm 2 RSA IBS user private key generation. |
|
Algorithm 3 RSA IBS signing. |
|
Algorithm 4 RSA IBS verification. |
|
Algorithm 5 DSA IBS setup. |
|
Algorithm 6 DSA IBS user private key generation. |
|
Algorithm 7 DSA IBS signing. |
|
Algorithm 8 DSA IBS verification. |
|
Algorithm 9 Boneh–Franklin IBE setup. |
|
Algorithm 10 Boneh–Franklin IBE user private key generation. |
|
Algorithm 11 Boneh–Franklin IBE encryption. |
|
Algorithm 12 Boneh–Franklin IBE decryption. |
|
7. Implementation
7.1. Web Interface Example
7.2. User Key Expiry
- Expire on year. <y
- Upon creation, specify how many years (integer) the user private key will be valid for, starting from the current year.
- The key is considered expired if the current year is greater than or equal to the year specified on the public identity.
- Examples:
- (a)
- [email protected]<y. If the current year is 2020, this key is created with expiry value y = 3 and is only valid for year 2020, 2021 and 2022.
- Valid for year. =y
- Upon creation, specify the year (integer from 1000 to 9999) in which the key is valid for.
- The key is considered expired if the current year is not equal to the year specified on the public identity.
- Examples:
- (a)
- [email protected]=y. The key is created with expiry value y = 2020 and is only valid for the year 2020.
- Expire on day. <d
- Upon creation, specify how many days (integer) the user private key will be valid for, starting from the current day.
- The key is considered expired if the current day is greater than or equal to the date (format YYYYMMDD) on the public identity.
- Examples:
- (a)
- [email protected]<d. If the current date is 20201203, the key is created with expiry value d = 60 and is only valid until 1 February 2021.
7.3. Browser Plugin and Email Plugin
7.3.1. Firefox Browser Plugin
7.3.2. Verify-Only Server
7.3.3. Thunderbird Mail IBE Plugin
8. Comparison with Previous Similar Works
8.1. Security Analysis
8.1.1. Scenario 1: Compromised PKG Host
8.1.2. Scenario 2: Compromised Key-Issuance Channel
8.1.3. Scenario 3: Compromised User Device
8.2. Efficiency Analysis
8.3. Private Key Generator
8.4. Plugins
9. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Acknowledgments
Conflicts of Interest
References
- Adams, C.; Lloyd, S. Understanding PKI: Concepts, Standards, and Deployment Considerations, 2nd ed.; Addison-Wesley Longman Publishing Co., Inc.: Boston, MA, USA, 2002. [Google Scholar]
- Stoianov, N.; Urueña, M.; Niemiec, M.; Machnik, P.; Maestro, G. Integrated security infrastructures for law enforcement agencies. Multimed. Tools Appl. 2013, 74, 4453–4468. [Google Scholar] [CrossRef] [Green Version]
- Diffie, W.; Hellman, M. New Directions in Cryptography. IEEE Trans. Inf. Theor. 2006, 22, 644–654. [Google Scholar] [CrossRef] [Green Version]
- Salek, A. Private PKI: Deployment, Automation and Management. Available online: https://www.securitymagazine.com/articles/93101-private-pki-deployment-automation-and-management (accessed on 2 May 2021).
- Alrawais, A.; Alhothaily, A.; Cheng, X.; Hu, C.; Yu, J. SecureGuard: A Certificate Validation System in Public Key Infrastructure. IEEE Trans. Veh. Technol. 2018, 67, 5399–5408. [Google Scholar] [CrossRef]
- Shamir, A. Identity-based Cryptosystems and Signature Schemes. In Proceedings of the CRYPTO 84 on Advances in Cryptology; Springer: New York, NY, USA, 1985; pp. 47–53. [Google Scholar]
- Qing-hai, B. Comparative research on two kinds of certification systems of the public key infrastructure (PKI) and the identity based encryption (IBE). In Proceedings of the Cross Strait Quad-Regional Radio Science and Wireless Technology Conference (CSQRWC), New Taipei, Taiwan, 23–27 July 2012; pp. 147–150. [Google Scholar]
- Wang, C.; Jan, S.T.; Hu, H.; Bossart, D.; Wang, G. The Next Domino to Fall: Empirical Analysis of User Passwords across Online Services. In Proceedings of the Eighth ACM Conference on Data and Application Security and Privacy; Association for Computing Machinery: New York, NY, USA, 2018; pp. 196–203. [Google Scholar]
- Trzupek, B. PKI is key to securing a post-Covid remote workforce. Comput. Fraud Secur. 2020, 2020, 11–13. [Google Scholar] [CrossRef]
- Price, G.; Mitchell, C. Interoperation Between a Conventional PKI and an ID-Based Infrastructure. In Public Key Infrastructure, Second European PKI Workshop: Research and Applications; Springer: Berlin/Heidelberg, Germany, 2005; Volume 3545, pp. 73–85. [Google Scholar]
- Chen, Q.; Yu, S.; Li, Z. A Cross-Authentication Model for Heterogeneous Domains in Active Networks. In Proceedings of the 2007 IFIP International Conference on Network and Parallel Computing Workshops (NPC 2007), Dalian, China, 18–21 September 2007; pp. 140–143. [Google Scholar]
- Lee, B. Unified Public Key Infrastructure Supporting Both Certificate-Based and ID-Based Cryptography; IEEE Publications: Manhattan, NY, USA, 2010; pp. 54–61. [Google Scholar]
- Tan, S.; Yau, W.C.; Lim, B.H. An implementation of enhanced public key infrastructure. Multimed. Tools Appl. 2014, 74, 6481–6495. [Google Scholar] [CrossRef]
- Reimair, F.; Teufl, P.; Zefferer, T. CrySIL: Bringing Crypto to the Modern User. In Web Information Systems and Technologies; Monfort, V., Krempels, K.H., Majchrzak, T.A., Turk, Ž., Eds.; Springer International Publishing: Cham, Switzerland, 2016; pp. 70–90. [Google Scholar]
- Reimair, F.; Feichtner, J.; Teufl, P. Attribute-Based Encryption Goes X.509. In Proceedings of the 2015 IEEE 12th International Conference on e-Business Engineering, Beijing, China, 23–25 October 2015; pp. 393–400. [Google Scholar]
- Rajendran, B. Evolution of PKI ecosystem. In Proceedings of the 2017 International Conference on Public Key Infrastructure and Its Applications (PKIA), Bangalore, India, 14–15 November 2017; pp. 9–10. [Google Scholar]
- Orman, H. Blockchain: The Emperors New PKI? IEEE Internet Comput. 2018, 22, 23–28. [Google Scholar] [CrossRef]
- Chen, Y.; Dong, G.; Bai, J.; Hao, Y.; Li, F.; Peng, H. Trust Enhancement Scheme for Cross Domain Authentication of PKI System. In Proceedings of the 2019 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), Guilin, China, 17–19 October 2019; pp. 103–110. [Google Scholar]
- Chiu, W.Y.; Meng, W.; Jensen, C.D. ChainPKI—Towards Ethash-based Decentralized PKI with Privacy Enhancement. In Proceedings of the 2021 IEEE Conference on Dependable and Secure Computing (DSC), Aizuwakamatsu, Japan, 30 January–2 February 2021; pp. 1–8. [Google Scholar]
- The Legion of the Bouncy Castle Inc. Bouncy Castle. Available online: https://www.bouncycastle.org/ (accessed on 10 August 2020).
- Whitney, J.M. Milagro Introduction. Available online: https://milagro.apache.org/docs/milagro-intro/ (accessed on 13 September 2020).
- Kiltz, E.; Neven, G.; Joye, M. Identity-Based Signatures. J. Cryptol. JOC 2008, 2, 75. [Google Scholar]
- Galindo, D.; Garcia, F.D. A Schnorr-Like Lightweight Identity-Based Signature Scheme. In Progress in Cryptology—AFRICACRYPT 2009; Preneel, B., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 135–148. [Google Scholar]
- Boneh, D.; Franklin, M. Identity-Based Encryption from the Weil Pairing. In Advances in Cryptology—CRYPTO 2001; Kilian, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 213–229. [Google Scholar]
- Sahai, A.; Waters, B. Fuzzy Identity Based Encryption. Cryptology ePrint Archive, Report 2004/086. 2004. Available online: https://eprint.iacr.org/2004/086 (accessed on 4 April 2020).
- Boldyreva, A.; Goyal, V.; Kumar, V. Identity-based encryption with efficient revocation. In Proceedings of the ACM Conference on Computer and Communications Security, CCS, Alexandria, VA, USA, 27–31 October 2008; pp. 417–426. [Google Scholar]
- Urushima, K. Jsrsasign. 2012. Available online: https://kjur.github.io/jsrsasign/ (accessed on 12 August 2020).
- Bellare, M.; Namprempre, C.; Neven, G. Security Proofs for Identity-Based Identification and Signature Schemes. In Advances in Cryptology—EUROCRYPT 2004; Cachin, C., Camenisch, J.L., Eds.; Springer: Berlin/Heidelberg, Germany, 2004; pp. 268–286. [Google Scholar]
- Elaine, B. Recommendation for Key Management, Part 1: General, 5th ed.; U.S. Department of Commerce, National Institute of Standards and Technology: Gaithersburg, MD, USA, 2020.
- Barreto, P.S.L.M.; Lynn, B.; Scott, M. Constructing Elliptic Curves with Prescribed Embedding Degrees. Cryptology ePrint Archive, Report 2002/088. 2002. Available online: https://eprint.iacr.org/2002/088 (accessed on 8 August 2020).
- Barbulescu, R.; Duquesne, S. Updating Key Size Estimations for Pairings. Cryptology ePrint Archive, Report 2017/334. 2017. Available online: https://eprint.iacr.org/2017/334 (accessed on 3 July 2020).
- Aranha, D.F.; Fuentes-Castañeda, L.; Knapp, E.; Menezes, A.; Rodríguez-Henríquez, F. Implementing Pairings at the 192-bit Security Level. Cryptology ePrint Archive, Report 2012/232. 2012. Available online: https://eprint.iacr.org/2012/232 (accessed on 7 August 2020).
- Scott, M. Curves.txt. 2019. Available online: https://github.com/miracl/core/blob/master/curves.txt (accessed on 13 September 2020).
Function | Description | Service |
---|---|---|
Create key-store | Initialize a new key-store. Key-stores are used to contain master secret keys which are used to derive user keys from user identities. Each key-store is protected with a master password and consists of a conventional key (known as the ckey). | kmnew |
Create CSR | Creates a certificate signing request for the ckey in the key-store. The ckey is used to sign master public keys. | kmcsr |
Add certificate | Register a certificate of ckey signed by a certificate authority. This certificate is presented along with the signed master public key in the form of a cryptographic message syntax (CMS). | kmncr |
View certificate | Obtain the certificate of the ckey in PEM format. | kmvcr |
List key-alias | List out the master key aliases available in the key-store. | kaget |
Load key-store | This service must be called ONCE on every startup to load the key-store into memory. | kmlod |
Create master key | Create a new master key pair, each master key is protected with a master key password independently from the key-store password | mskini |
Delete master key | Delete a master key | mskdel |
Derive user private key | Derive a user private key given a user ID. An available option to encrypt the user private key is a password which is supplied. | uskder |
Get master public key | Obtain a master public key of a corresponding key alias. | mpkget |
Get signed master public key | Obtain a signed master public key in the form of a CMS. | mpkcms |
Aspect | Price and Mitchell [10] | UPKI [12] | Tan et al. [13] | Reimair et al. [15] | This Work |
---|---|---|---|---|---|
Software/service dependency | Ind. | Ind. | EJBCA | CrySIL [14] | Ind. |
IBS supported | N/A | N/A | Yes | No | Yes |
IBE supported | N/A | N/A | No | Yes | Yes |
ABE supported | No | No | No | Yes | No |
User key format | N/A | N/A | ASCII | Unavailable to users, stored on CrySIL’s security module | PKCS#8 |
User key encryption supported | N/A | N/A | No | Yes | Yes, PKCS#5 |
Master public key format | N/A | N/A | ASCII | ASN.1 DER encoded | ASN.1 DER encoded |
Master key storage | N/A | N/A | plain-text | CrySIL’s security module key-store | JKS with password encryption |
External domain communication | PKI (Price and Mitchell proposed cross-certification by the domain’s CA) | PKI | No | PKI | PKI |
Interface | N/A | N/A | Command line | HTTP | Network sockets |
Key revocation policy | Re-issue | Re-issue | Re-issue | User key not stored by user | Re-issue |
Key expiry mode | No | No | Expire on date | No | Expire on date, year and valid for year |
Key escrow problem | CL | CL | Present | Present | Present |
Security Level | Scheme | UPK Size (Bytes) | Encrypted UPK Size (Bytes) | MPK Size (Bytes) |
---|---|---|---|---|
80-bit | RSA IBS (1024) | 509 | 659 | 286 |
(Legacy) | DSA IBS (1024) | 895 | 1037 | 664 |
ECDSA IBS (secp160r1) | 221 | 363 | 140 | |
112-bit | RSA IBS (2048) | 859 | 1005 | 465 |
DSA IBS (2048) | 1627 | 1764 | 1204 | |
ECDSA IBS (secp224r1) | 258 | 395 | 152 | |
Boneh–Franklin IBE (BLS12383) | 339 | 485 | 245 | |
128-bit | RSA IBS (3072) | 1208 | 1350 | 639 |
DSA IBS (3072) | 2317 | 2455 | 1724 | |
ECDSA IBS (secp256r1) | 274 | 416 | 156 | |
Boneh–Franklin IBE (BLS12461) | 379 | 525 | 274 | |
192-bit | RSA IBS (7680) | 2768 | 2910 | 1419 |
DSA IBS (7680) | 5405 | 5543 | 4048 | |
ECDSA IBS (secp384r1) | 339 | 485 | 176 | |
Boneh–Franklin IBE (BLS24479) | 558 | 700 | 448 |
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
Chia, J.; Heng, S.-H.; Chin, J.-J.; Tan, S.-Y.; Yau, W.-C. An Implementation Suite for a Hybrid Public Key Infrastructure. Symmetry 2021, 13, 1535. https://doi.org/10.3390/sym13081535
Chia J, Heng S-H, Chin J-J, Tan S-Y, Yau W-C. An Implementation Suite for a Hybrid Public Key Infrastructure. Symmetry. 2021; 13(8):1535. https://doi.org/10.3390/sym13081535
Chicago/Turabian StyleChia, Jason, Swee-Huay Heng, Ji-Jian Chin, Syh-Yuan Tan, and Wei-Chuen Yau. 2021. "An Implementation Suite for a Hybrid Public Key Infrastructure" Symmetry 13, no. 8: 1535. https://doi.org/10.3390/sym13081535