Next Article in Journal
One-to-Many Simultaneous Secure Quantum Information Transmission
Next Article in Special Issue
Pervasive User Data Collection from Cyberspace: Privacy Concerns and Countermeasures
Previous Article in Journal
A Publicly Verifiable E-Voting System Based on Biometrics
Previous Article in Special Issue
On the Security of Quantum Key Distribution Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Practical Certificate-Less Infrastructure with Application in TLS

1
Huawei Technologies Düsseldorf, 8600 Düsseldorf, Germany
2
Department of Computer Science, Paderborn University, 33098 Paderborn, Germany
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Cryptography 2023, 7(4), 63; https://doi.org/10.3390/cryptography7040063
Submission received: 20 October 2023 / Revised: 4 December 2023 / Accepted: 9 December 2023 / Published: 14 December 2023
(This article belongs to the Special Issue Recent Advances in Information Security and Privacy)

Abstract

:
We propose highly efficient certificate-less (CL) protocols for the infrastructure used by authenticated key exchange (AKE). The construction is based on elliptic curves (EC) without pairing, which means it can be easily supported by most industrial cryptography libraries on constrained devices. Compared with other pairing-free CL solutions, the new CL-AKE protocol enjoys the least number of scalar multiplications over EC groups. We use a unified game-based model to formalize the security of each protocol, while most previous works only assess the security against a list of attacks, provide informal theorems without proper modeling, or use separate models for protocols in different stages. We also present an efficient integration of the core protocols into the TLS cipher suites and a stand-alone implementation for constrained devices. The performance is evaluated on constrained devices in real-world settings, which further confirms the efficiency of our proposal.

1. Introduction

The authenticated key exchange protocols (AKE) based on conventional certificates are still widely deployed. Even in relatively new standards, such as TLS 1.3 [1], certificate-based cipher suites remains significant. Theoretical frameworks for evaluating protocol security, such as extensions of the Bellare–Rogaway model (BR) [2], eCK model [3] and universal composability (UC) [4], are usually used while assuming the existence of certificate-based public key infrastructure (PKI) [5,6].
However, the drawbacks of certificate-based infrastructure are also obvious. Ever-growing certificate revocation lists (CRL), floods of Online-Certificate States Protocol (OCSP) requests and the complicated logic of certificate chain verification may not fit into constrained devices [7] in the Internet of Things (IoT), where 50 KB RAM is already a luxury. Turning to pure symmetric key cryptography is not optimal in practice, either, as that introduces heterogeneity in the infrastructure, and scales poorly.
Therefore, exploring practical certificate-less AKE protocols (CL-AKE) is extremely meaningful.
CL-AKE solutions can use certificate-less public key encryption (CL-PKE) or signature (CL-SIG) to replace certificate chains. The syntax of the scheme and the types of adversaries have been defined for the first CL-PKE and CL-SIG by Al-Riyami and Paterson [8]. Unlike the key generation center (KGC) in identity-based or attribute-based cryptography (IBC, ABC), the KGC in CL-PKE can only compute partial private keys of users, so solutions based on CL-PKC do not suffer from the key escrow problem. The initial construction of CL-PKC in [8] is bilinear pairing based. Later, in 2007, Crampton et al. proposed a password-enabled and certificate-free grid security infrastructure (PECF-GSI) [9]. The protocols in PECF-GSI use bilinear pairing as heavily as the original Al-Ruyami–Paterson schemes. Other pairing-based certificate-less solutions in the last two decades [10,11,12,13,14,15] have experienced various improvement and trade-offs.
One of the major challenges for building certificate-less infrastructure is to optimize the efficiency of every protocol in its cryptographic core. As pointed out in [16], a bilinear pairing operation is about ten-times slower than a point multiplication on elliptic curves (EC), so it is necessary to avoid pairing and also to trim the redundant components, such as signature generation or decryption, off the CL-AKE main protocol.
Another critical challenge is establishing a unified security model for the two stages: user key registration and AKE. An adversary A against CL-PKE/SIG with key registration [8] has the power to corrupt users, corrupt KGC and register new public keys. However, whether A can see any message exchanged between an honest user and the KGC is undefined. In contrast, adversaries against AKE protocols have different powers in BR [2], eCK [3] and other game-based models [5]. These adversaries can tamper with messages and corrupt parties but may not be allowed to register new public keys. Although it has not been theoretically ruled out that messages in the key registration phase can threaten the AKE phase, most previous works on CL-AKE [15,17,18,19] used separate game-based models for the generation/registration of user key pairs (in a secure channel or out of band channel) and AKE protocol (in the public channel), or ignore the messages exchanged during the registration.

1.1. Our Contribution and Paper Outline

To meet the challenges mentioned above, we make the following contribution in this paper.
  • We propose a practical cryptographic core of a certificate-less (CL) infrastructure, including user key registration and CL-AKE. The protocols are constructed from elliptic curves (EC) without pairing or any signature so that they can be easily supported by most industrial public key cryptography libraries for constrained devices. To the best of our knowledge, our AKE protocol also enjoys the optimal number of point multiplication over EC compared to other pairing-free solutions (see Table 1).
  • We integrate CL-AKE into TLS ciphersuites [1]. The performance is compared with TLS-DHE with certificates in data volume and computation. We also deploy and test the slim implementation of CL-AKE without the TLS stack on constrained IoT devices. Subsequently, the evaluation confirms the real-world efficiency of our proposal.
  • Our new provably secure CL signature scheme Π CL - SIG with two-way public key reconstruction can be of independent interest.
After the introduction, we present the necessary notation and preliminaries in Section 2. As a starting point for building CL-AKE and proving its security in the game-based framework, we introduce a new certificate-less and paring-free signature scheme with two-way public key reconstruction in Section 3. The game-based AKE security model is presented in Section 4. The new certificate-less key registration, CL-AKE protocols and the security analysis can be found in Section 5. We present the integration to TLS and the evaluation in Section 6.

1.2. Technical Road Map

The cost of verifying a conventional certificate chain is proportional to the number of certificates on the chain. More specifically, to verify the end-level signature, a user has to verify the first-level signature with the public key in the root certificate and then the second-level signature with the public key of the first-level certificate. The verification continues until the signature on the end-level certificate is verified. For EC-based signatures, the verification usually involves a significant amount of point multiplication in an EC group.
A CL-SIG is designed to identify and utilize shortcuts during the verification process. Ideally, a user only has to verify the end-level public key with the root public key, usually the public key of the KGC. This verification can also be enforced implicitly through computation. If an end-level public key pk j can be reconstructed by any honest user using the KGC’s public key pk KGC and the identifier PID j , then intuitively, the verification of pk j is almost finished.
The shortcut we implement in CL-SIG is to replace the signature verification with a hash function, which is considerably more efficient. The hash function H 1 ( ) maps binary strings to elements in an integer group. If a public key is an EC point that can be encoded as a binary string, and the corresponding private key is an integer in a group, H 1 ( ) provides an efficient way to bind the public keys pk j , pk KGC and the identifier PID j with the private key. Moreover, to make CL-SIG fully functional, there must be two alternatives to how pk j can be reconstructed. One is through sk j , i.e., the way that only the key owner can take, and another one is through the use of H 1 ( ) , pk KGC and some additional information B j , i.e., any user can do it. For details, we refer the reader to Figure 1 in Section 3.
We implement another shortcut to construct CL-AKE from CL-SIG. Instead of using the signing and verification algorithms in our CL-SIG, we keep only the public key reconstruction algorithms in the AKE. An AKE participant can reliably reconstruct its peer’s public key pk j and then use pk j with its own ephemeral key materials to derive the session keys. A message authenticate code is used to confirm the knowledge of all related secrets, replacing the expensive signature verification. For details, we refer the reader to Figure 2 in Section 5.
In summary, we replace as many public key operations (e.g., signature and point multiplication) with efficient symmetric essential operations (e.g., hash, message authentication code and pseudo-random function) as possible, while keeping the CL solution provably secure. The resulting CL-AKE enjoys forward secrecy due to the Gap Diffie–Hellman problem’s hardness and the new CL-SIG’s security.

1.3. Related Work

We review existing approaches to construct certificate-less AKE and authentication infrastructure, including identity-based cryptography, attribute-based cryptography, and CL-AKE with and without pairing.

1.3.1. IBC and ABC-Based CL Solutions

An important line of research is replacing certificate-based PKI with identity-based cryptography (IBC) [21]. In principle, the IBC public key is a user identity pid itself, and pid is embedded algebraically into the user’s secret key by KGC with its master secret key msk . IBC eliminates certificates and simplifies the management of public keys greatly, but it suffers from the key escrow problem. More specifically, in the standard syntax of IBC, such as in [21,22], every user secret key is derived from its pid and a system-wide static msk of KGC. Once msk is compromised, the adversary can use msk to recover all previous user secret keys, destroying forward secrecy (FS). Attribute-based cryptography (ABC) [23] can be seen as a generalization of IBC. Instead of using one single identity, ABC uses a combination of multiple attributes to encrypt a message. However, the key escrow problem remains if any user secret key is derivable from msk and the attribute combinations alone. This KGC setting is preserved in various IBC-/ABC-based solutions [24,25], and some are flawed or without FS later [15,26].

1.3.2. CL-PKC and Pairing-Based Attempts

The notion of certificate-less public key cryptography (CL-PKC) was first formalized in 2003 by Al-Riyami and Paterson [8]. As the KGC in CL-PKC can only compute partial private keys for users, solutions based on CL-PKC do not inherently suffer from the key escrow problem. Later, Crampton et al. proposed a password-enabled and certificate-free grid security infrastructure (PECF-GSI) [9] in 2007. The protocols in PECF-GSI use bilinear pairing heavily as the original Al-Ruyami–Paterson schemes.
Various pairing-based attempts have been made for different trade-offs between security and efficiency. In 2012, Sanaa Taha et al. proposed certificate-less authentication key agreement (CL-AKA), a link-layer authentication and key agreement protocol based on CL-PKC, which does not consider ephemeral key leakage attacks [10]. Maity et al. proposed a novel certificate-less on-demand public key management (CL-PKM) protocol for self-organized MANETs [27]. Memon et al. proposed two authentication protocols based on Al-Ruyami–Paterson CL-PKC and IBE [11,12] in 2015. The security is analyzed with BAN-logic. Balakrishnan et al. proposed a practical email system based on CL-PKC with user authentication and key exchange in 2016, but the encryption of messages actually bears no forward secrecy when the receiver’s long-term keys are exposed [13]. Bala et al. proposed a secure key management and authentication protocol in 2017, making use of hybrid cryptography that involves both symmetric and CL-PKC but without formal security models [14]. Saeed et al. proposed a lightweight online/offline certificate-less signature (L-OOCLS) and a heterogeneous remote anonymous authentication protocol (HRAAP) for IoT applications in 2018 [15]. The L-OOCLS scheme is pairing-based and provably secure in random oracle model. The proposed HRAAP, however, cannot be proved secure in the BR or eCK model as the session key is directly used in handshake.

1.3.3. Pairing-Free CL-AKE

Pairin-free CL solutions have also been proposed. Song et al. [16] proposed a secure lightweight certificate-less authenticated key agreement (CL-AKA) for securing vehicle-to-vehicle (V2V) communication without using pairings. Unfortunately, the protocols need a large number of exponentiations in an integer group. Yang and Tan [17] proposed a CL-AKA that is provably secure in a dedicated model. He et al. [19] proposed efficient CL-AKA with security proofs in an extended eCK model dedicated to the key agreement part alone. Farouk et al. also introduced an efficient pairing-free CL-AKA protocol for grid computing environments [18] by extending the work of He et al. [19]. In 2018, KhanSafi et al. proposed an authentication framework for the message dissemination of toll payment information with a pairing-free CL-PKC system [20]. Unfortunately, there is no security proof provided in [19,20].
Defining a unified security model for each stage of CL-AKE is not a trivial task. On the one hand, the adversary for CL-PKE or CL-SIG in [8] has the power to corrupt users, corrupt the KGC or register new public keys, but cannot see any messages exchanged between the user and KGC. On the other hand, adversaries against authenticated key exchange (AKE) protocols, however, have different powers in BR [2], eCK [3] and other game-based models [5]. These adversaries can tamper with messages and corrupt parties (users) but cannot register new public keys. However, it has not been confirmed or denied whether messages in the key pair generation phase can threaten the AKE phase. Most previous works on CL-AKE [10,15,16,18,19] used separate models for the generation of user key pairs (in a secure channel or out-of-band channel) and AKE protocol (in public channels), or even ignore the messages exchanged during the key pair generation.
From 2021 till now, lattice-based (LBC) and isogeny-based cryptography have been introduced for post-quantum security, and new constructions have been proposed [28,29,30,31,32]. However, deploying LBC on constrained devices remains challenging now and in the near future, especially when facing the conflict between the large key/ciphertext size required by LBC and the limited RAM/storage on constrained devices [33].

2. Notation and Preliminaries

In this section, we introduce the necessary cryptographic building blocks of our solution.

2.1. Notations

We use κ N and 1 κ to denote the security parameter. Let [ n ] = { 1 , , n } N be the set of integers from 1 to n. If S is a set, a $ S means sampling a uniformly random element a from S. If A ( ) is an algorithm, m A O ( · ) ( x ) and A O ( · ) ( x ) $ m denote that A outputs m on input x with the help of another oracle O ( · ) . X | | Y means concatenating two binary strings X and Y. We use Pr [ E : A ] to denote the probability that event E happens if action A is taken. Other notations will be introduced as needed.

2.2. Cryptographic Primitives and Hardness Assumptions

Message authentication code (MAC) is frequently used in AKE protocols for message integrity and can also work as a proof of the knowledge of the secret key.
Definition 1 
(Message Authentication Code, MAC). A MAC scheme MAC = ( MAC . Gen , MAC . Tag , MAC . Vfy ) consists of three algorithms: MAC . Gen , MAC . Tag and MAC . Vfy described below.
  • MAC . Gen ( 1 κ ) $ k . The non-deterministic key generation algorithm MAC . Gen ( ) takes the security parameter 1 κ as the input and outputs the secret key k .
  • MAC . Tag ( k , m ) $ mTag . The (non-deterministic) message tagging algorithm MAC . Tag ( ) takes the secret key mTag and a message m as the input and outputs the authentication tag mTag .
  • MAC . Vfy ( k , m , mTag ) = b . The deterministic tag verification algorithm MAC . Vfy ( ) takes the MAC secret key k , a message m and a tag mTag as input and outputs a boolean value b. b is TRUE if mTag is a valid MAC tag on m.
Hash functions are used for obtaining a digest of the input. The digest can be of fixed length or in a finite domain.
Definition 2 
(Collision-resistant Hash Function). A hash function H : M D is collision-resistant if there exists a negligible function ϵ coll ( ) such that for any algorithm A with running time bounded by poly ( κ ) , it holds that
Pr ( m 0 , m 1 ) A ( 1 κ , H ) : m 0 m 1 H ( m 0 ) = H ( m 1 ) ϵ coll ( κ ) ,
where M is the message space, and D is the hash image space.
Pseudo-random function (PRF) can be used for key derivation as in TLS 1.3 [1]. PRF ensures that the output looks random if the secret key is not leaked.
Definition 3 
(Pseudo-random function, PRF). A pseudo-random function F = ( FKGen , PRF ) consists of two algorithms, FKGen and PRF , described below.
  • FKGen ( 1 κ ) $ k . The non-deterministic key generation algorithm FKGen ( ) takes the security parameter 1 κ as the input and outputs the secret key k .
  • PRF ( k , x ) = y . The PRF evaluation algorithm PRF ( ) takes as the input the secret key k and a value x in the domain and outputs an image y.
The Schnorr signature scheme can be seen as a general template for (EC-)group-based signature. The most critical operation is the scalar-point multiplication. Note that the verification algorithm SIG . Vfy of Schnorr needs two point multiplication, one on the base point G and one on the non-base point pk . In contrast, the signing only needs one base point multiplication. In practice, base point multiplication has been optimized for each EC group, so it is usually much quicker than non-base point multiplication.
Definition 4 
(Schnorr signature scheme). Let H 2 ( ) : { 0 , 1 } κ Z q be a collision-resistant cryptographic hash function. The Schnorr signature scheme SIG consists of three algorithms ( SIG . Gen , SIG . Sign , SIG . Vfy ) described below.
  • SIG . Gen ( 1 κ ) $ ( params , pk , sk ) . The non-deterministic key generation algorithm SIG . Gen ( ) takes the security parameter 1 κ as the input and outputs the public parameters params , the public key pk and the corresponding private key sk , where params = ( G , G , H 2 ( ) ) , G is the generator of group G of large prime order q, pk = x · G , sk = x with x $ Z | G | , and H ( ) maps any bit string to an integer in Z q .
  • SIG . Sign ( sk , m ) $ σ . This signing algorithm SIG . Sign ( ) takes the private key sk and the message m as the input. It chooses r $ Z q , computes R = r · G , e = H 2 ( R | | m ) , and β = r + e · sk . It outputs the signature σ = ( R , β ) .
  • SIG . Vfy ( pk , m , σ ) = b . This verification algorithm RingVrfy ( ) takes a public key pk , a message m and a signature σ = ( R , β ) as input. It first computes e = H 2 ( R | | m ) , then outputs TRUE if β · G = R + e · pk , and FALSE otherwise.
We refer the reader to standard cryptography literature, such as [34], for the security definition of all the cryptographic primitives above and Diffie–Hellman key exchange (DH).
Definition 5 
(Discrete logarithm, DL). Let GGen ( 1 κ ) be a group generation algorithm which outputs params = ( G , G , q ) , where G is the description of a cyclic group, with G as its generator and q as its order. The discrete logarithm (DL) assumption with respect to G states that the following quantity is negligible for any probabilistic polynomial time (PPT) adversary A .
Adv A , DL : = Pr Y = x · G : Y $ G ; x A ( params , Y )
The proof of Schnorr’s security or schemes that use group elements with hash usually relies on the hardness of the Discrete logarithm problem above. For proving security of AKE, we need the gap computational Diffie–Hellman Problem ( GCDH ), which is defined as: given public parameter params and ( a · G , b · G ) for a , b Z q , compute the element Z = ( a b ) · G with the help of a Decisional Diffie–Hellman Oracle O ddh ( · ) , i.e., O ddh ( · ) answers whether a given quadruple ( G , a · G , b · G , c · G ) has a b c mod q .
Definition 6 
(Hardness of GCDH ). GCDH is hard with respect to G , if for any PPT adversary A , the following quantity is negligible.
Adv A , GCDH : = Pr Z = ( a b ) · G : a , b $ Z q ; Z A O ddh ( · ) ( params , a · G , b · G )
In this section, we have reviewed the most relevant cryptographic primitives and hard problems. In the next section, we show how to construct an efficient CL-SIG from them.

3. New Certificate-Less Signature with Two-Way Reconstructable Public Key

We construct an extended certificate-less signature (CL-SIG) as the starting point. Although signing and verification are not used in our CL-AKE protocol, the security of Π CL - SIG simplifies the argument in the game-based framework.
Definition 7 
(CL-SIG with Two-way Reconstructable PK). A certificate-less signature scheme with a two-way reconstructable public key (CL-SIG-TRK) is a tuple of seven algorithms ( Setup , PPKey - Extract , Set - Private - Key , Set - Secret - Value , Set - Public - Key ,   Sign , Verify , Reconst - Pk ) defined as follows.
  • Setup ( 1 κ ) $ params , msk . The (non-deterministic) algorithm Setup ( ) takes in the security parameter 1 κ and outputs the system parameters params and the master key msk .
  • Set - Secret - Value ( params , PID i ) $ ( a i , A i ) . This algorithm outputs party i’s secret value a i and auxiliary information A i on input params and the identifier PID i .
  • PPKey - Extract ( params , msk , PID i , A i ) $ ( s i , B i ) . This partial key extraction algorithm outputs party i’s partial private key s i and the partial public key B i on input params , msk , PID i and A i .
  • Set - Public - Key ( params , s i , B i , a i ) pk i . This algorithm takes as input params , s i , a i and B i , and outputs i’s public key pk i .
  • Reconst - Pk ( params , PID i , B i ) pk i . This public key reconstruction algorithm takes as input params , identity PID i and the partial public key B i , and it outputs the complete public key pk i of party i.
  • Sign ( params , sk i , m ) $ σ . This algorithm takes params , the private signing key sk i and a valid message m as input and outputs a signature σ.
  • Verify ( params , pk i , PID i , m , σ ) b . This algorithm outputs a bit value b { TRUE , FALSE } on input pk i , PID i , m and a signature σ. The value b is TRUE if σ is a valid signature on m with respect to pk i and PID i .
Algorithms and outputs in dashed boxes are the extensions to the syntax in [8]. In the original syntax, pk i can only be computed by its owner with Set - Public - Key ( ) . The extension Reconst - Pk ( params , PID i , B i ) , allows anyone who knows B i and the KGC’s pubic key to reconstruct pk i . Thus, there are two ways to reconstruct the public key, giving space for more efficiency improvement in the CL-AKE construction.
The security game for CL - SIG in [8] is an EUF-CMA game extended with queries in Table 2. In principle, Type I adversaries can replace public keys but cannot get KGC’s private key, while Type II adversaries can have the KGC’s private key but cannot replace public keys.
More specifically, let PID j be the challenged party and ( m * , σ * ) the forgery. Besides being forbidden to ask getKeyKGC ( ) , the restrictions on a Type I adversary A are:
  • A cannot query PPKey - Extract ( PID j ) .
  • For any PID i , A cannot query getPrivateKey ( PID i ) , if it has previously queried ReplacePK ( PID i , pk i ) .
  • A cannot query ReplacePK ( PID j , pk j ) before submitting forgery, if it has previously asked PPKey - Extract ( PID j ) .
  • A has not queried SIG . Sign ( PID j , m * ) before submitting ( m * , σ * ) .
Besides being forbidden to ask ReplacePK ( PID i , pk i ) for any i, the restrictions on a Type II adversary A are:
  • A cannot ask getPrivateKey ( PID j ) .
  • A has not queried SIG . Sign ( PID j , m * ) before submitting ( m * , σ * ) .
Our new CL-SIG-TRK Π CL - SIG is in Figure 1, where SIG is the Schnorr signature scheme in Definition 4. The security of Π CL - SIG is summarized in Theorem 1. We still stick to the original syntax of Verify ( ) . On the other hand, the extension, Reconst - Pk ( ) , also provides more flexibility in the verification, as a signature ( σ , B i ) can now be verified with itself and the KGC public key pk KGC . We will show how a receiver of the partial public key B i can check and use it efficiently in AKE in Section 5.
Theorem 1 
(Security of Π CL - SIG ). If the discrete logarithm problem is hard with respect to group G , then the CL-SIG-TRK scheme Π CL - SIG is existentially unforgeable against chosen message attack (EUF-CMA) in the presence of Type I and Type II adversaries in the random oracle model, where Type I and Type II adversaries have access to queries defined in [8].
More specifically, if there exists S against Π CL - SIG , then there exist DL problem solvers D and U , such that
Adv S , CL - SIG 2 d · Adv SIG + ( q H 1 + q H 2 ) 6 · Adv D , G DLP 4 + 3 · ( q H 1 + q H 2 ) | G | 4 + d 2 + q H 1 2 + 2 · q H 2 2 + 2 | G | with Adv SIG ( q H 2 + q SIG + 1 ) · Adv U , G DLP 2 + ( q H 2 + q SIG + 1 ) · ( q SIG + 1 ) | G | 2 ,
where Adv S , CL - SIG is the advantage of any PPT adversary S against Π CL - SIG , Adv D , G DLP and Adv U , G DLP the advantage of D and U against DLP , respectively, Adv SIG the advantage of any PPT adversary against Schnorr Signature SIG , d the maximal number of clients with distinct identifiers, q H 1 the number of queries to random oracle H 1 used in Π CL - SIG , q H 2 the number of queries to random oracle H 2 used in Schnorr SIG , and q SIG the number of signing queries.
We defer the proof of Theorem 1 to Appendix A, as it relies on the multiple forking lemmma in [35] and is rather technical. Intuitively, the multiple-forking lemma helps us connect the CL-SIG security to the hardness of DLP (Definition 5).
From Theorem 1, we can have Corollary 1, which is necessary for proving the security of the user key registration protocol (see Figure 3 in Section 5). The proof of Corollary 1 is quite straight forward, as unforgeable CL-SIG implies unforgeable and non-replaceable key pairs.
Corollary 1. 
If the advantages of Type I and Type II adversaries against Π CL - SIG are upper-bounded by Adv CL - SIG , the probability that any public-private key pair ( pk i , sk i ) is forgeable or replaceable by Type I and Type II adversaries is also upper-bounded by Adv CL - SIG .
Now, we have all the necessary tools to construct a CL-AKE with forward secrecy [1].

4. Game-Based Security Model for CL-AKE

In this section, we define a security model for certificate-less AKE protocols. We assume each participant communicates through a public network, and the adversary controls all the data traffic. This setting is formalized in the execution environment.

4.1. Protocol Execution Environment

Let SK { 0 , 1 } κ denote the session key space, and K is the pre-shared key space. Let { P 1 , , P } be the set of all parties for N , where a potential participant P i has a long-term pre-shared key K K that corresponds to its identity i.
Each P i can have a polynomial number of process oracles { π i s } , where s [ d ] is an index with d N . A unique session identifier sid labels a protocol session between a client and a server instance. Moreover, we assume that besides the access to long-term secrets, such as private keys, each oracle π i s maintains a list of independent internal state variables as described in the following list (Table 3).
The internal state of each oracle π i s is initialized as ( PID i s , Φ i s , sid i s , K i s , Eph i s ) = (, , , , ), where denotes the empty string. We assume that the session key is assigned to the variable K i s such that K i s if each oracle completes the execution with an internal state Φ i s = accept .

4.2. Adversary Model

An active adversary A can interact with the execution environment by issuing the queries below. Queries in the dashed boxes are our extensions to the eCK model [3].
  • Send ( π i s , m ) : A can use this query to send any message m of its choice to oracle π i s . The oracle will respond according to the protocol specification and its internal state. If m consists of a special symbol ( m = ), then π i s will respond with the first protocol message.
  • RegCorruptParty ( i , sk i , pk i ) This query allows A to register a new party with sk i , pk i given by A . If party i already exists, then upon this query, all long-term key pairs will be replaced with sk i , pk i , and existing randomness and session keys holding by any π i s will be erased. In any case, party i has τ i = 0 once this query has been issued.
  • Corrupt ( i ) : The oracle π i s responds with the long-term private keys of party P i . If Corrupt ( i ) is the τ -th query issued by A , then we say that P i is τ -corrupted. For parties that have never been corrupted, we define τ : = .
  • RevealKey ( π i s ) : Oracle π i s responds to this query with the contents of variable K i s to A . This query models the attacks that the exposure of a session key should not be damaging to other sessions. (Note that we have K s if and only if Φ i s = accept .)
  • RevealEph ( π i s ) : Oracle π i s responds with the contents of the ephemeral secret stored in variable Eph i s .
  • Test ( π i s ) : This query can be made at most once. It does not model attacks but functions as a judgment for whether A ’s attacks are successful. Oracle π i s handles this query as follows. If the oracle has state Φ i s accept , then it returns a failure symbol ⊥. If the oracle does not have access to the corresponding type of keys, it returns some failure symbol ⊥.
    Otherwise, it flips a fair coin b, and it returns K b , where K 0 is the real K i s and K 1 $ K .
  • TestForge ( i , sk i , pk i ) This query judges the result of an attack, the goal of which is to forge a valid key pair. The output is 1 if checkKey ( sk i , pk i ) = TRUE and 0 otherwise, where checkKey ( ) is parameterized by concrete protocols.

4.3. Security Definitions

Let sid i s SID denote the session identifier received by oracle π i s , where SID { 0 , 1 } poly ( κ ) , i.e., a set of binary strings of length poly ( κ ) .
Definition 8 
(Partnering Using sid ). In the protocol execution described above, we say that π i s (with ( PID i s , Φ i s , sid i s )) and π j t (with ( PID t j , Φ j t , sid j t )) are partnered if the following hold for both oracles: (1) PID i s = j and PID j t = i; (2) Φ i s = accept and Φ j t = accept; (3) sid i s = sid j t ;
Definition 9 
(Registration Freshness). Let TestForge ( PID i , pk i , sk i ) be the τ 1 -th query. We call an oracle π i s τ 1 -reg-fresh if all the following conditions hold for the adversary A .
  • (No direct corruption) i is τ-corrupt with τ > τ 1 .
  • (No corrupt-and-replace) If pk i = pk j and pk j is an honest generated public key, then j is τ -corrupt with τ > τ 1 .
  • (Type 1) If the first RegCorruptParty ( i ) is the τ-th query with τ < , then Server is τ S -corrupt, τ S > τ 1 , where Server is the KGC,
  • (Type 2) If Corrupt ( Server ) is the τ S -th query of A with τ S < τ 1 , then A has not made any RegCorruptParty ( i ) before τ S .
Here, we define the security of the key pair registration protocol.
Definition 10 
(Secure Key Pair Registration). Let the KGC be party S . We say that a key pair registration protocol Π is ( t , ϵ ) -secure, if for all adversaries A with running time bounded by t, for some function ϵ = ϵ ( κ ) , it holds that if A has issued a TestForge ( PID i , · , · ) -query as the τ 1 -th query to oracle π i s , every client oracle π i s is τ 1 -reg-fresh, then the advantage Adv r e g is bounded by a function ϵ. More specifically,
Adv r e g = Pr [ TestForge ( i , pk i , sk i ) = 1 : ( i , pk i , sk i ) $ A O ( · ) ( 1 κ ) ] ϵ ,
where O = { Send ( ) , RegCorruptParty ( ) , Corrupt ( ) } .
Definition 11 
(Session Oracle Freshness). Let π i s be an accepting oracle held by a party P i with intended partner P j . Meanwhile, let π j t be an oracle (if it exists), such that π i s and π j t are partnered. Then the oracle π i s is said to be τ 0 -fresh, if it is τ 0 -reg-fresh, and when the adversary A issues its τ 0 -th query to π i s and NONE of the following conditions holds:
  • A has either made a RevealKey ( π i s ) query or a RevealKey ( π j t ) query, (if π j t exists);
  • P i is τ i -corrupted with τ i τ 0 ;
  • P j is τ i -corrupted with τ j τ 0 , (if π j t exists);
  • if π j t exists, it is NOT τ 0 -reg-fresh;
  • A has either made both RevealEph ( π i s ) and Corrupt ( i ) queries, or both RevealEph ( π j t ) and Corrupt ( j ) (if π j t exists).
Definition 12 
(Secure Authenticated Key Exchange). We say that an AKE protocol Π is ( t , ϵ ) -secure, if for all adversaries A with running time t, for some probability ϵ = ϵ ( κ ) , it holds that: when A returns b such that A has issued a Test ( ) -query as the τ 0 -th query to oracle π i s , and the client oracle π i s is τ 0 -fresh and has a synchronized partner throughout the security game, then the advantage Adv a k e is bounded by a function ϵ. More specifically,
Adv a k e = Pr [ b = b : b Adv O ( · ) ( 1 κ ) ] 1 / 2 ϵ ,
where O = { Send ( ) , RegCorruptParty ( ) , Corrupt ( ) , RevealKey ( ) , RevealEph ( ) , Test ( ) } .
The model that we have discussed so far provides a unified framework to evaluate the new CL-AKE protocols. The freshness ensures that we are focusing on real threats, and the queries can be combined to emulate attacks such as replay and man-in-the-middle.

5. New Protocols for Certificate-Less Infrastructure

The canonical way to transform a certificate-based AKE to CL-AKE is to replace the signature with a CL-SIG. However, the efficiency of the result is sub-optimal due to redundant computation and the extra demand for randomness. For example, to sign a message with our CL-SIG, an extra randomness is needed for the Schnorr component (line 4 in Sign ( params , sk i , m ) in Figure 1), and point multiplications are needed for verification.
Our new CL-AKE protocols save the participants from any signature verification. Reconst - Pk ( params , PID i , B i ) in Π CL - SIG (Figure 1) ensures that once Alice has a reliable pk KGC params , its peer Bob has to use a correct secret key with respect to B i and pk KGC in AKE (Figure 2), leading to optimal performance.

5.1. Client Key Registration

Initially, a client is provisioned with the KGC’s public keys ek KGC , pk KGC and its own encryption/decryption key pairs. A client can then register its key pair to a KGC, which also knows the client’s encryption key. Details of our new client key pair generation protocol (Protocol 2) can be found in Figure 3. The security is summarized in the following theorem, where checkKey for TestForge is defined as checking the discrete log relation sk i · G = pk i .
Theorem 2 
(Security of Protocol 2). Assuming an authenticated channel, if the public encryption scheme Π p k e is IND - CCA secure and discrete logarithm problem is hard with respect to group G , then Protocol 2 is secure in the sense of Definition 10 in the random oracle model. More specifically, for any PPT adversary A r e g ,
Adv r e g ( d · ) 2 | G | + ϵ H 1 + ϵ PKE + ϵ CL - SIG ,
where d is the maximal number of parties, ℓ is the maximal number of oracles owned by each party, G is the group and the range of the hash function H ( ) , ϵ H is the advantage against the hash function H ( ) , ϵ PKE is the advantage against Π PKE in the IND - CCA game, and ϵ CL - SIG is the advantage against Π CL - SIG .
Proof. 
We use a sequence of games [36] to argue A ’s advantage against Protocol 2. The term Adv i means A ’s advantage in Game i .
Game 0 . This is the original game, so we have
Adv r e g = Adv 0
Game 1 . We add an abort rule in this game. We abort the game if any collision of honestly generated randomness or any hash collision happens. The abort probability can be bounded by the term ( d · ) 2 | G | + ϵ H 1 . Therefore, we have
Adv 0 Adv 1 + ( d · ) 2 | G | + ϵ H 1 .
Once the collisions have all been eliminated, from Corollary 1 we can have
Adv 1 ϵ CL - SIG
By combining the (in)equalities (3)–(5), we have (2) in Theorem 2.    □

5.2. Certificate-Less Authenticated Key Exchange

The certificate-less authenticated key exchange protocol (CL-AKE) with explicit authentication is presented in Figure 2. The correctness is trivial, and the three non-base point multiplications are for computing pk i (or pk j ) and ms . Let H : { 0 , 1 } * Z | G | be a hash function modeled as a random oracle that maps any binary string to an integer in group Z | G | .
Theorem 3 
(Security of Protocol 3). If the key pair registration scheme is secure, the GCDH problem is hard, and PRF and MAC are secure, then Protocol 3 is secure in the sense of Definition 12 in the random oracle model. More specifically, for any PPT adversary A a k e ,
Adv a k e Adv r e g + ( d · ) 2 | G | + ϵ H 1 + ϵ H + ( d · ) 2 · ( ϵ PRF + ϵ MAC + 4 · ϵ GCDH ) ,
where d is the maximal number of parties, ℓ the maximal number of oracles owned by each party, G is the group for CL - SIG , ϵ H 1 , ϵ H the advantages against hash functions H 1 ( ) and H ( ) , ϵ PRF the advantage against the pseudo-random function PRF , ϵ MAC the advantage against MAC , and ϵ GCDH the advantage against the GCDH problem.
Proof. 
We use another sequence of games to bound A ’s advantage against Protocol 3. The term Adv i denotes A ’s advantage in Game i .
Game 0 . This is the original game, so we have
Adv a k e = Adv 0
Game 1 . We add an abort rule in this game. If any collision of honestly generated randomness happens, or any hash collision happens, we abort the game. The abort probability can be bounded by the term ( d · ) 2 | N | + ϵ H 1 + ϵ H , Therefore we have
Adv 0 Adv 1 + ( d · ) 2 | N | + ϵ H 1 + ϵ H .
Game 2 . We add an abort rule here. If A successfully forges a key pair and uses in the first message in the transportation phase, prior to the corruption of any party, abort the game. This probability is bounded by Adv r e g . Thus, we have
Adv 1 Adv 2 + Adv r e g
Game 3 . We add an abort rule here. Let the challenger first guess A ’s target ( i , s ) and its peer ( j , t ) . If the guess is wrong, abort the game. Thus, we have
Adv 2 ( d · ) 2 · Adv 3
Game 4 . We replace PRF ( ) with a random oracle RF ( ) . Distinguishing Game 4 from Game 3 implies the existence of another adversary against the security of PRF ( ) . We now have
Adv 3 Adv 4 + ϵ PRF
Game 5 . We add an abort rule here. If A successfully forges an MAC . Tag 1 or MAC . Tag 2 in the second or the last message in the transportation phase, prior to the corruption of the target party or its peer, abort the game. This probability is again bounded by ϵ MAC . Thus, we have
Adv 4 Adv 5 + ϵ MAC
We use fresh · · ( π i s ) to mark four (sub-)cases when the freshness of π i s still holds, i.e., A ’s attack is non-trivial.
  • fresh L L ( π i s ) : A has never queried both Corrupt ( i ) and Corrupt ( j ) .
  • fresh E E ( π i s ) : A has never queried both RevealEph ( π i s ) and RevealEph ( π j t ) .
  • fresh E L ( π i s ) : A has never queried both RevealEph ( π i s ) and Corrupt ( j ) .
  • fresh L E ( π i s ) : A has never queried both Corrupt ( i ) and RevealEph ( π j t ) .
It is straightforward to see that if none of the cases exist in Game 5 , then A ’s attack is trivial. Let Adv 5 fresh . . denote A ’s advantage in Game 5 when fresh · · ( π i s ) holds. We have from the union bound
Adv 5 Adv 5 fresh L L ( π i s ) + Adv 5 fresh E L ( π i s ) + Adv 5 fresh L E ( π i s ) + Adv 5 fresh E E ( π i s )
We rewrite the computation of ms as
Cryptography 07 00063 i001
Observe that each of the four products on the right-hand side of (14) corresponds to one of the four fresh cases, and each fresh case allows a different strategy of embedding the GCDH . Let Game 5 fresh L L ( π i s )   Game 5 fresh E E ( π i s )   Game 5 fresh E L ( π i s ) and Game 5 fresh L E ( π i s ) be the game Game 5 when one of the four cases exist.
Game 5 fresh L L ( π i s ) . We claim that
Adv 5 fresh L L ( π i s ) ϵ GCDH
We show how to construct a GCDH solver S to prove (15). S chooses a random value K * in the key space and program the random oracle PRF ( · , W | | " MAC " ) with K * , where W = B i | | B j | | PID i | | PID j | | X | | Y | | params i and all the variables are from the target session. Let ( G , A , B ) be S ’s GCDH challenge. S sets ( pk i , pk j ) ̲ to ( A , B ) , aborts the game when
  • A queries the random oracle with a ms at the place of any PRF queries,
  • and O D D H ( g , A , B , Z ) = TRUE where Z = ms H ( W ) 2 x · Y H ( W ) x · pk j H ( W ) y · pk i .
In other words, if the game aborts, S finds a solution to the GCDH instance.
As fresh L L ( π i s ) guarantees that neither sk i nor sk j would be asked by A , S can generate all other randomness including ( x , y ) freely and simulate all the other Corrupt ( ) , RevealEph ( ) and RevealKey ( ) queries perfectly for A . The probability of aborting the game is thus upper bounded by ϵ GCDH .
On the other hand, if Game 5 fresh L L ( π i s ) simulated by S does not abort, then A has never queried the random oracle with the correct value to compute the target session key. Due to the property of random oracle, A has zero advantage in distinguishing the random key K * .
Game 5 fresh E E ( π i s ) . S embeds ( A , B ) into ( X , Y ) , and aborts when O D D H ( g , A , B , Z ) = TRUE where Z = H ( W ) 2 · ( ms sk j · pk i sk j H ( W ) · X sk i H ( W ) · Y ) . This abort means a GCDH solution of ( A , B ) has been found.
Adv 5 fresh E E ( π i s ) ϵ GCDH
Game 5 fresh E L ( π i s ) . S embeds ( A , B ) into ( pk j , X ) , and aborts when O D D H ( g , A , B , Z ) = TRUE where Z = H ( W ) 1 · ( ms sk i · pk j H ( W ) 2 y · X sk i H ( W ) · Y ) . This abort means a GCDH solution of ( A , B ) has been found.
Adv 5 fresh E L ( π i s ) ϵ GCDH
Game 5 fresh L E ( π i s ) . Similar to the previous case, if S embeds ( A , B ) into ( Y , pk i ) , it can also find a GCDH solution when the game aborts.
Adv 5 fresh L E ( π i s ) ϵ GCDH
Now, we can conclude from the arguments above and (13) that
Adv 5 4 · ϵ GCDH .
By combining the (in)equalities (7)–(19), we have proved (6).    □

6. Integration into TLS and Performance Evaluation

Since our solution is already asymptotically better than other provably secure ones (see Table 1), we only demonstrate its performance in real-world scenarios and compare with the original certificate-based TLS (TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, henceforth TLS-DHE).
The two standard ways to integrate the Protocol 3 in Figure 2 are via the certificate type RawPublicKey [37] and via the PSK identities [38] (We merged mTag1 and mTag2 with the finish-messages in the TLS handshake.). When RawPublicKey is chosen, the TLS server sends M 1 in the (Server) Certificate message, and the TLS client sends M 2 in the (Client) Certificate message. When PSK identities is used, the TLS server sends M 1 in the ServerkeyExchange.psk_identity_hint field, and the TLS client sends M 2 in the ClientKeyExchange.psk_identity field.

6.1. Set Up

Opting for the PSK identifiers, we insert the encoded PID , the EC group ID and auxiliary information into it. We implement Protocol 3 with the BouncyCastle library and OpenSSL (https://www.bouncycastle.org/ and https://www.openssl.org/, accessed on 8 September 2022) on the server, which runs Ubuntu 18.04.6 on 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80 GHz CPU with 16.0 GB RAM. Each client node is emulated with mbedTLS (https://github.com/Mbed-TLS/mbedtls) (accessed on 9 September 2022) on a STM32F107VCT6 (https://www.st.com/resource/en/datasheet/stm32f107vc.pdf) (accessed on 4 December 2023) board with 32-bit MCU and 64/256 KB Flash, which corresponds to a Class 2 constrained device [7]. For a fair comparison, we use the widely deployed EC curve NIST P-256 and a two-level certificate chain, i.e., the direct issuer of TLS certificates is trusted by both TLS peers.

6.2. Results

6.2.1. Computational Cost

Besides using absolute time, we measured the time consumption for the elementary functions with the base-point multiplication as a unit. We consider only the point multiplication, signature signing and verification to be elementary operations. Here, the cost of point addition, arithmetic operations and hash functions are ignored, as they are relatively negligible compared to the above operations.
We use t BPM to denote the time for computing one base point multiplication (BPM) and use t BPM as a unit.
  • A non-base point multiplication (PM) costs 6 t BPM . This difference comes from the optimization of base-point multiplication [39].
  • A signing costs 2.5 t BPM and verification 8.5 t BPM . This 6 t BPM difference comes exactly from the extra non-base point multiplication in the verification. Signing with ECDSA also needs extra operations in the integer group, so it is slower (2.5 t BPM ) than a simple base-point multiplication (1 t BPM ).
While the TLS with certificates needs 26.5   t BPM , this work needs only 19   t BPM , saving at least 28% local computation time for the cryptographic core. Details are provided in Table 4.

6.2.2. Communication Cost

In this part, we compare the communication cost between this work and TLS-DHE. We measure the communicated messages using the tool Wireshark (https://www.wireshark.org/) (accessed on 8 September 2022), and count the size of all TLS handshake messages (see Table 5). For one full handshake, TLS-DHE consumes about 2430 bytes, while this work consumes only about 840 bytes. That means our work reduces 65% of the payload.

6.2.3. Resource Consumption on the Constrained Client

The execution time is 2.09 s for Protocol 3 in the LAN setting (1 Gbps with 0.1 ms latency), saving 70% of the time compared to TLS-DHE with certificates.
Meanwhile, it is 13.8 KB for TLS-DHE, the maximal RAM consumption during key registration and Protocol 3 is 4.09 KB, making a considerable 70% reduction in RAM consumption. Whereas TLS-DHE consumes more than 150 KB, the binary of Protocol 3 consumes 48.32 KB in maximum in flash, i.e., a good reduction of 67% in storage can also be seen.

7. Conclusions and Future Work

Without using bilinear pairings, we construct practical certificate-less signature, key registration, and authenticated key exchange protocols with integration to TLS. To the best of our knowledge, our AKE protocols have the lowest number of point-multiplication among DH-based CL-AKE, while enjoying strong security in the eCK model.
We believe that the construction of practical post-quantum-secure CL-AKE can be pursued as meaningful future work, to design general compilers that can transform CL-SIG with two-way-reconstructable PK to CL-AKE, and to analyze the possible equivalence of game-based and universally composable security formalization [4].

Author Contributions

Conceptualization, L.D., Y.L. and L.L.; methodology, L.D., Y.L. and L.L.; software, L.L.; formal analysis, L.D. and Y.L.; data curation, L.L.; writing—original draft preparation, L.D.; writing—review and editing, Y.L. and L.L.; visualization, L.D. and L.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proof of EUF-CMA Security of Π CL - SIG

Appendix A.1. Multiple-Forking Lemma

We recall the multiple-forking lemma introduced by Boldyreva et al. [35].
Lemma A1 
(Multiple-Forking Lemma, Lemma C.5 in [35]). Let α Z + be a fixed integer. Let n 1 be an odd integer and S a set with no less than two elements. Let B ( ) : { 0 , 1 } * × S α Z 2 × { 0 , 1 } * , ( x , ( s 1 , , s α ) ) ( I , J , Σ ) be a randomized algorithm, where I and J are integers with 0 J I α . The multiple-forking algorithm MF B , n associated to B and n is defined as in Figure A1 where x { 0 , 1 } * .
Let IGen be a non-deterministic algorithm that takes no input and returns a binary string. Let
accMf = Pr [ I 1 , J 1 : x $ IGen ; ( s 1 , , s α ) $ S α ; ( I , J , Σ ) $ B ( ( x , ( s 1 , , s α ) ) ) ; ] frkMf = Pr [ b = 1 : x $ IGen ; ( b , RessultMF ) $ MF B , n ( x ) ]
Then
frkMf accMf · accMf n α 2 n n | S |
accMf α 2 n · frkMf n + 1 + n · α 2 n | S | n + 1
This lemma allows forks to happen at two distinct positions I and J. When n = 1 , this lemma collapses to the generalized forking lemma [40], allowing forking at only one position.
Figure A1. The multiple-forking algorithm MF B , n associated to B , n in Lemma A1. We use MF B , 3 in the proof of Lemma A2.
Figure A1. The multiple-forking algorithm MF B , n associated to B , n in Lemma A1. We use MF B , 3 in the proof of Lemma A2.
Cryptography 07 00063 g0a1

Appendix A.2. Proof of Theorem 1

Here we prove Theorem 1 via proving Lemma A2 and Lemma A3. We use CL - SIG adversaries to constructing DLP solvers and analyze with Lemma A1.
Lemma A2 
( Π CL - SIG security against Type 1 adversary). If there exists an efficient Type I adversary against Π CL - SIG with advantage Adv CL - SIG , 1 , then there exist a forger S with advantage Adv SIG against the Schnorr signature scheme, and a DLP solver D with advantage Adv DLP such that
Adv A , CL - SIG , 1 d · Adv SIG + ( q H 1 + q H 2 ) 6 · Adv D , G DLP 4 + 3 · ( q H 1 + q H 2 ) | G | 4 + d 2 + q H 1 2 + 2 · q H 2 2 + 2 | G | ,
where d is the maximal number of clients with distinct identifiers, q H 1 and q H 2 are number of queries to random oracle H 1 and H 2 , respectively.
Proof. 
We define the following events in the CL-SIG security experiments against a Type I adversaries A , i.e., with ReplacePK ( ) but without KGC corruption. Let Adv A , I , CL - SIG be the advantage of A .
  • E 1 : A outputs a forgery ( m , pk i , PID i , σ ) , where Verify ( params , pk i , PID i , σ ) = TRUE , pk i has not been replaced, and m has not been queried to the signing oracle O ( sk i , · ) .
  • E 2 : A outputs a forgery ( m , pk i , PID i , σ ) , where Verify ( params , pk i , PID i , σ ) = TRUE , and pk i pk i is an adversarial public key for PID i .
It is easy to see that
Adv A , CL - SIG , 1 Pr [ E 1 E 2 ] Pr [ E 1 ] + Pr [ E 2 ]
To bound Adv A , I , CL - SIG , we first prove that
Pr [ E 1 ] d · Adv SIG ,
where d is the maximal number of parties, and Adv SIG is the advantage that any PPT adversary against the Schnorr signature scheme. We construct an adversary S against Schnorr signature from A . The simulator S associates its challenge public key pk i and the signing oracle O ( sk i , · ) to party i. The master public-secret key ( pk KGC , sk KGC ) and all other honest key pairs are generated by S . Signing and other key queries are handled faithfully for all PID j , j i . For i, S prepares B i , the partial private key s i and the user secret a i as follows.
  • chooses random h i in the range of H 1 , compute B i = pk i h i · pk KGC .
  • program the random oracle H 1 such that H 1 ( PID KGC | | PID i | | B i ) = h i .
  • If A queries for s i , randomly choose a b i $ Z q and compute s i = b i + h i · sk KGC .
  • If A queries for a i , randomly choose a a i $ Z q .
When A outputs a forgery ( PID i , pk i , m , σ = ( σ , B i ) ) , S outputs a forgery m , σ to its own challenger. Note that A cannot query both a i and s i , if it does not fail trivially. So the simulation is indistinguishable from a real execution. The loss factor d is from guessing of the challenged party i. This completes the proof of (A5).
To bound Pr [ E 2 ] , first, we define an algorithm B relying on a Π CL - SIG forger A that on inputs ( params , X ) and s 1 , , s α S , returns a triple ( I , J , Σ ) consisting of two integers 0 J < I α and a string Σ . Details follow.
  • B gets a DLP challenge ( G , G , X ) and a KGC identifier PID KGC .
  • B sets up the KGC public key pk KGC X , the KGC identifier PID KGC , CL-PKC parameters params ( G , G , PID KGC , pk KGC ) . B also initializes two empty lists L H 1 and L H 2 to simulate the random oracles. Another empty list L aPK of replaced public keys is initialized by B . B set up a flag bad FALSE .
  • Preparation of simulated signing keys { sk j , B j } for { PID j } j = 1 , j PID KGC d .
    • Choose random sk j $ Z | G | , compute pk j sk j · G .
    • Choose random h j in the range of H 1 ( ) , compute B j = pk j h j · pk KGC . If any sk j collision happens, set bad = TRUE .
    • Program the random oracle O H 1 ( ) such that H 1 ( PID KGC | | PID j | | B j ) = h j , i.e., set L H 1 ( PID KGC | | PID j | | B j ) h j .
  • B sends params to A , chooses some randomness for A , and prepares to answer the random oracle queries and others.
  • Answer to H 1 ( s ) queries, where s has the form PID KGC | | PID k | | B k .
    If L H 1 ( s ) is defined, return L H 1 ( s ) to A . Otherwise, pick up H $ Z | G | , define L H 1 ( s ) H , and return H.
  • Answer to H 2 ( R | | m ) .
    If L H 2 ( R | | m ) is defined, return L H 2 ( R | | m ) to A . Otherwise, pick up W $ Z | G | , define L H 1 ( R | | m ) W , and return W.
  • Answer to PPKey - Extract ( PID j )
    • If pk j is not replaced, choose a b j $ Z q , compute s j = b j + h j · sk KGC , record and return s j to A .
    • Otherwise, return ⊥.
  • Answer to ReplacePK ( PID j , pk j ) queries. Record ( PID j , pk j ) in L aPK and return “ OK ” to A .
  • Answer to getPrivateKey ( PID j ) . Return sk j if pk j is not replaced, and ⊥ otherwise.
  • Answer to SIG . Sign ( PID j , m ) queries.
    • If ( PID j , pk j ) L aPK , retrieve the simulated signing key sk j .
      Choose r $ Z | G | , compute R r · G , choose h m $ Z | G | .
      If L H 2 ( R | | m ) is defined, set bad = TRUE .
      Set L H 2 ( R | | m ) ( h m , β ) , where β = r h m · sk j , and return ( R , β ) to A .
    • Otherwise, return ⊥ to A .
    We also count signing queries as H 2 ( ) queries.
  • If A submits a forgery ( PID i , pk i * , m * , σ * ) , B parse σ * as ( σ , B i * ) and parse σ as ( R , β ) .
    • B searches for h 1 = L H 1 ( PID i | | PID KGC | | B i * ) , and h 2 = L H 2 ( R | | m * ) . If h 1 or h 2 is not defined, set bad = TRUE .
    • If pk i B i * + L H 1 ( PID KGC | | PID i | | B i * ) · X , set bad = TRUE .
    If bad = FALSE , then B finally outputs ( I , J , Σ = β | | h 1 | | h 2 ) . Otherwise B outputs ( 0 , 0 , ) .
Table A1. Variables in the proof.
Table A1. Variables in the proof.
VariableMeaning
L aPK a list of public keys registered by the adversary
L H 1 a list to simulate the random oracle H 1 ( · )
L H 2 a list to simulate the random oracle H 2 ( · )
We then use the multiple-forking algorithm MF B , 3 associated to B and n = 3 to construct a DL solver D as in Figure A2. Note that we do not require exact b i = b i and a i = a i , but ( a i + b i ) ( a i + b i ) mod Z | G | for the first fork. This critical forking point is observable by B in L H 1 for the H 1 ( | | B i ) query, as B i = ( a i + b i ) · G is unique in G . Simlilarly, the second fork can be observed for H 2 ( ) -queries on R | | m * .
Figure A2. The DLP solving algorithm D from MF B , 3 .
Figure A2. The DLP solving algorithm D from MF B , 3 .
Cryptography 07 00063 g0a2
We now show that D solves the DLP for X in G . If b = 1 , then there exist coins ρ for B , with j > k 1 and s 1 , , s α , s j 1 , , s α 1 , s k 2 , , s α 2 ,   s j 3 , , s α 3 , Z | G | with h 1 = h 1 = s k s k 2 = h 1 ˜ = h 1 ^ , h 2 = s j s j 1 = h 2 and h 2 ˜ = s j 2 s j 3 = h 2 ^ . More specifically,
(1)
in the execution of B ( params , s 1 , , s α ; ρ ) , A outputs a valid forgery ( PID i , p k i , m , ( ( R , β 0 ) , B i ) ) , with h 1 = L H 1 ( PID KGC | | PID i | | B i ) = s k , h 2 = L H 2 ( R | | m ) = s j .
(2)
in the execution of B ( params , s 1 , , s j 1 , s j 1 , , s α 1 ; ρ ) , A outputs a valid forgery ( PID i , p k i , m , ( ( R , β 1 ) , B i ) ) , with h 1 = L H 1 ( PID KGC | | PID i | | B i ) = s k , h 2 = L H 2 ( R | | m ) = s j 1 , PID KGC | | PID i | | B i = PID KGC | | PID i | | B i , and R = R .
(3)
in the execution of B ( params , s 1 , , s k 1 , s k 2 , , s α 2 ; ρ ) , A outputs a valid forgery ( PID i ˜ , p k i ˜ , m ˜ , ( ( R ˜ , β 2 ) , B i ˜ ) ) , with h 1 ˜ = L H 1 ( PID KGC ˜ | | PID i ˜ | | B i ˜ ) = s k 2 , h 2 ˜ = L H 2 ( R ˜ | | m ˜ ) = s j 2 , and B i ˜ = B i .
(4)
in the execution of B ( params , s 1 , , s k 1 , s k 2 , , s j 1 2 , s j 3 , , s α 3 ; ρ ) , A outputs a valid forgery ( PID i ^ , p k i ^ , m ^ , ( ( R ^ , β 2 ) , B i ^ ) ) , with h 1 ^ = L H 1 ( PID KGC ^ | | PID i ^ | | B i ^ ) = s k 2 , h 2 ^ = L H 2 ( R ^ | | m ^ ) = s j 3 , PID KGC ^ | | PID i ^ | | B i ^ = PID KGC ˜ | | PID i ˜ | | B i , and R ^ = R ˜ .
From (1) and (2), we have pk i = pk i = B i + h 1 · X , β 0 · G = R + h 2 · pk i , and β 1 · G = R + h 2 · pk i Since h 2 h 2 , ( h 2 h 2 ) is well-defined. So we have
( β 0 β 1 ) ( h 2 h 2 ) 1 · G = B i + h 1 · X
Similarly, from (3) and (4), we have
( β 2 β 3 ) ( h 2 ˜ h 2 ^ ) 1 · G = B i + h 1 ˜ · X
Solving for X in (A6) and (A7), as ( h 1 h 1 ˜ ) is well-defined, we finally have
( β 0 β 1 ) ( h 2 h 2 ) 1 ( β 2 β 3 ) ( h 2 ˜ h 2 ^ ) 1 ( h 1 h 1 ˜ ) 1 · G = X
Therefore, the output of D when b = 1 as in Figure A2 is the DLP solution of X.
Let q H = q H 1 + q H 2 , where q H 1 and q H 2 are the number of A ’s H 1 ( ) and H 2 ( ) queries, respectively. Let bad | E 2 be the event that B outputs ( 0 , 0 , ) when E 2 happens. Then we have
Pr [ bad | E 2 ] d 2 + q H 1 2 + 2 · q H 2 2 + 2 | G |
Let IGen be the algorithm that calls Setup ( 1 κ ) for ( params , msk ) and returns params = ( G , G , pk KGC , PID KGC ) . Let
accMf = Pr I 1 J 1 : params $ IGen ( 1 κ ) ; s 1 s α $ Z | G | ; ( I , J , σ ) $ B ( params , s 1 s α ) ;
By applying (A2) in Lemma A1 for n = 3 we have
Pr [ E 2 ] accMf + Pr [ bad | E 2 ] q H 6 · frkMf 4 + 3 · q H | G | 4 + Pr [ bad | E 2 ] ( q H 1 + q H 2 ) 6 · Adv D , G DLP 4 + 3 · ( q H 1 + q H 2 ) | G | 4 + Pr [ bad | E 2 ] ,
where Adv D , G DLP is the advantage of D against DLP in G . By combining (A4), (A5), (A9) and (A10), we get (A3) in Lemma A2. □
Lemma A3 
( Π CL - SIG against Type II adversary). If there exists an efficient Type II adversary against Π CL - SIG with advantage Adv CL - SIG , 2 , then there exists a forger S with advantage Adv SIG against the Schnorr signature scheme, such that
Adv A , CL - SIG , 2 d · Adv SIG
where d is the maximal number of clients with distinct identifiers.
Proof. 
Similar to the previous proof, we define two events such that
Adv A , CL - SIG , 2 Pr [ E 3 E 4 ] Pr [ E 3 ] + Pr [ E 4 ]
  • E 3 : A outputs a forgery ( m , pk i , PID i , σ ) , where Verify ( params , pk i , PID i , σ ) = TRUE , pk i is the original public key of party PID i , and m has not been queried to the signing oracle O ( sk i , · ) .
  • E 4 : A outputs a forgery ( m , pk i , PID i , σ ) , where Verify ( params , pk i , PID i , σ ) = TRUE , and pk i pk i is an adversarial public key for PID i .
If A does not fail automatically, then we construct an simulator S almost identical to S for event E 1 in Lemma A2, and S can answer the extra getKeyKGC ( ) with the simulated msk . So we have
Pr [ E 3 ] d · Adv SIG
The Type 2 adversary cannot replace public keys, so we have Pr [ E 4 ] = 0 . □
We use the advantage Adv SIG of attacking Schnorr signature scheme in Theorem 4.1 in [40] to finish the proof.
Lemma A4 
(Security of Schnorr Signature, from Theorem 4.1 in [40]). If there exist an efficient adversary against the Schnorr signature scheme Π SIG with advantage Adv SIG , then there exists a DLP solver U with advantage Adv U , DLP DLP , such that
Adv SIG ( q H 2 + q SIG + 1 ) · Adv U , G DLP 2 + ( q H 2 + q SIG + 1 ) · ( q SIG + 1 ) | G | 2 ,
where q H 2 is the number of random oracle queries for hash function H 2 : { 0 , 1 } * Z | G | , and q SIG the number of signing queries.
By plugging (A14) into (A3) and (A11) and using union bound, we finally arrive at Theorem 1.

References

  1. Rescorla, E.; Internet Engineering Task Force. The Transport Layer Security (TLS) Protocol Version 1.3. 2018. Available online: https://tools.ietf.org/html/draft-ietf-tls-tls13-26 (accessed on 8 December 2023).
  2. Bellare, M.; Rogaway, P. Entity Authentication and Key Distribution. In Proceedings of the CRYPTO’93, Santa Barbara, CA, USA, 22–26 August 1994; Volume 773, pp. 232–249. [Google Scholar] [CrossRef]
  3. LaMacchia, B.A.; Lauter, K.; Mityagin, A. Stronger Security of Authenticated Key Exchange. In Proceedings of the ProvSec 2007, Wollongong, Australia, 1–2 November 2007; Susilo, W., Liu, J.K., Mu, Y., Eds.; Volume 4784, pp. 1–16. [Google Scholar]
  4. Canetti, R. Universally Composable Security: A New Paradigm for Cryptographic Protocols. Cryptology ePrint Archive, Report 2000/067. 2000. Available online: https://ia.cr/2000/067 (accessed on 8 December 2023).
  5. Jager, T.; Kohlar, F.; Schäge, S.; Schwenk, J. On the Security of TLS-DHE in the Standard Model. In Proceedings of the CRYPTO 2012, Santa Barbara, CA, USA, 19–23 August 2012; Safavi-Naini, R., Canetti, R., Eds.; Volume 7417, pp. 273–293. [Google Scholar] [CrossRef]
  6. Kiefer, F.; Manulis, M. Universally composable two-server PAKE. In Proceedings of the International Conference on Information Security, Honolulu, HI, USA, 3–6 September 2016; Springer: Cham, Switzerland, 2016; pp. 147–166. [Google Scholar]
  7. Bormann, C.; Ersue, M.; Keranen, A. Terminology for Constrained-Node Networks. RFC 7228 (Informational). 2014. Available online: https://datatracker.ietf.org/doc/html/rfc7228 (accessed on 8 December 2023).
  8. Al-Riyami, S.S.; Paterson, K.G. Certificateless public key cryptography. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Taipei, Taiwan, 30 November–4 December 2003; Springer: Cham, Switzerland, 2003; pp. 452–473. [Google Scholar]
  9. Crampton, J.; Lim, H.W.; Paterson, K.G.; Price, G. A certificate-free grid security infrastructure supporting password-based user authentication. In Proceedings of the 6th Annual PKI R&D Workshop, Gaithersburg, MD, USA, 17–19 April 2007; pp. 103–118. [Google Scholar]
  10. Taha, S.; Shen, X. A link-layer authentication and key agreement scheme for mobile public hotspots in NEMO based VANET. In Proceedings of the 2012 IEEE Global Communications Conference (GLOBECOM), Anaheim, CA, USA, 3–7 December 2012; pp. 1004–1009. [Google Scholar]
  11. Memon, I.; Mohammed, M.R.; Akhtar, R.; Memon, H.; Memon, M.H.; Shaikh, R.A. Design and implementation to authentication over a GSM system using certificate-less public key cryptography (CL-PKC). Wirel. Pers. Commun. 2014, 79, 661–686. [Google Scholar] [CrossRef]
  12. Memon, I.; Hussain, I.; Akhtar, R.; Chen, G. Enhanced privacy and authentication: An efficient and secure anonymous communication for location based service using asymmetric cryptography scheme. Wirel. Pers. Commun. 2015, 84, 1487–1508. [Google Scholar] [CrossRef]
  13. Balakrishnan, S.K.; Raj, V.J. Practical Implementation of a Secure Email System Using Certificateless Cryptography and Domain Name System. Int. J. Netw. Secur. 2016, 18, 99–107. [Google Scholar]
  14. Bala, D.Q.; Maity, S.; Jena, S.K. A lightweight remote user authentication protocol for smart e-health networking environment. In Proceedings of the 2017 International Conference on I-SMAC (IoT in Social, Mobile, Analytics and Cloud) (I-SMAC), Palladam, India, 10–11 February 2017; pp. 10–15. [Google Scholar]
  15. Saeed, M.E.S.; Liu, Q.Y.; Tian, G.; Gao, B.; Li, F. Remote authentication schemes for wireless body area networks based on the Internet of Things. IEEE Internet Things J. 2018, 5, 4926–4944. [Google Scholar]
  16. Song, J.; He, C.; Zhang, L.; Tang, S.; Zhang, H. Toward an RSU-unavailable lightweight certificateless key agreement scheme for VANETs. China Commun. 2014, 11, 93–103. [Google Scholar] [CrossRef]
  17. Yang, G.; Tan, C.H. Strongly Secure Certificateless Key Exchange without Pairing. In Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security, ASIACCS ’11, Hong Kong, China, 22–24 March 2011; pp. 71–79. [Google Scholar]
  18. Farouk, A.; Miri, A.; Fouad, M.M.; Abdelhafez, A.A. Efficient pairing-free, certificateless two-party authenticated key agreement protocol for grid computing. In Proceedings of the 2014 Fourth International Conference on Digital Information and Communication Technology and Its Applications (DICTAP), Bangkok, Thailand, 6–8 May 2014; pp. 279–284. [Google Scholar]
  19. He, D.; Padhye, S.; Chen, J. An efficient certificateless two-party authenticated key agreement protocol. Comput. Math. Appl. 2012, 64, 1914–1926. [Google Scholar] [CrossRef]
  20. Safi, Q.G.K.; Luo, S.; Pan, L.; Liu, W.; Yan, G. Secure authentication framework for cloud-based toll payment message dissemination over ubiquitous VANETs. Pervasive Mob. Comput. 2018, 48, 43–58. [Google Scholar] [CrossRef]
  21. Boneh, D.; Boyen, X. Secure Identity Based Encryption Without Random Oracles. In Proceedings of the CRYPTO 2004, Santa Barbara, CA, USA, 15–19 August 2004; Franklin, M., Ed.; Volume 3152, pp. 443–459. [Google Scholar] [CrossRef]
  22. Boneh, D.; Boyen, X.; Goh, E.J. Hierarchical Identity Based Encryption with Constant Size Ciphertext. In Proceedings of the EUROCRYPT 2005, Aarhus, Denmark, 22–26 May 2005; Cramer, R., Ed.; Volume 3494, pp. 440–456. [Google Scholar] [CrossRef]
  23. Lewko, A.B.; Waters, B. New Proof Methods for Attribute-Based Encryption: Achieving Full Security through Selective Techniques. In Proceedings of the CRYPTO 2012, Santa Barbara, CA, USA, 19–23 August 2012; Safavi-Naini, R., Canetti, R., Eds.; Volume 7417, pp. 180–198. [Google Scholar] [CrossRef]
  24. Debiao, H.; Jianhua, C.; Jin, H. An ID-based client authentication with key agreement protocol for mobile client–server environment on ECC with provable security. Inf. Fusion 2012, 13, 223–230. [Google Scholar] [CrossRef]
  25. Yao, X.; Kong, H.; Liu, H.; Qiu, T.; Ning, H. An attribute credential based public key scheme for fog computing in digital manufacturing. IEEE Trans. Ind. Inform. 2019, 15, 2297–2307. [Google Scholar] [CrossRef]
  26. Galindo, D.; Morillo, P.; Ràfols, C. Breaking Yum and Lee generic constructions of certificate-less and certificate-based encryption schemes. In Proceedings of the European Public Key Infrastructure Workshop, Turin, Italy, 19–20 June 2006; Springer: Cham, Switzerland, 2006; pp. 81–91. [Google Scholar]
  27. Maity, S.; Hansdah, R.C. Certificate-less On-demand public key management (CLPKM) for self-organized MANETs. In Proceedings of the International Conference on Information Systems Security, Guwahati, India, 15–19 December 2012; Springer: Cham, Switzerland, 2012; pp. 277–293. [Google Scholar]
  28. Banerjee, U.; Chandrakasan, A.P. Efficient post-quantum TLS handshakes using identity-based key exchange from lattices. In Proceedings of the ICC 2020—2020 IEEE International Conference on Communications (ICC), Virtual, 7–11 June 2020; pp. 1–6. [Google Scholar]
  29. Li, H.; Wang, Y.; Fu, X.; Lan, C.; Wang, C.; Li, F.; Guo, H. PSCPAC: Post-quantum secure certificateless public auditing scheme in cloud storage. J. Inf. Secur. Appl. 2021, 61, 102927. [Google Scholar] [CrossRef]
  30. Wei, G.; Fan, K.; Zhang, K.; Wang, H.; Li, H.; Yang, Y. Quantum-Safe Lattice-Based Certificateless Anonymous Authenticated Key Agreement for Internet of Things. IEEE Internet Things J. 2023. Available online: https://ieeexplore.ieee.org/abstract/document/10285342 (accessed on 8 December 2023). [CrossRef]
  31. Li, L.; Xu, M. PVCLS-SI: Isogeny-based Certificateless Signature Scheme. In Proceedings of the 2022 IEEE 10th International Conference on Information, Communication and Networks (ICICN), Zhangye, China, 19–22 August 2022; pp. 632–637. [Google Scholar]
  32. Kumari, S.; Singh, M.; Singh, R.; Tewari, H. A post-quantum lattice based lightweight authentication and code-based hybrid encryption scheme for IoT devices. Comput. Netw. 2022, 217, 109327. [Google Scholar] [CrossRef]
  33. Seyhan, K.; Nguyen, T.N.; Akleylek, S.; Cengiz, K. Lattice-based cryptosystems for the security of resource-constrained IoT devices in post-quantum world: A survey. Clust. Comput. 2022, 25, 1729–1748. [Google Scholar] [CrossRef]
  34. Katz, J.; Lindell, Y. Introduction to Modern Cryptography; CRC Press: Boca Raton, FL, USA, 2014. [Google Scholar]
  35. Boldyreva, A.; Palacio, A.; Warinschi, B. Secure proxy signature schemes for delegation of signing rights. J. Cryptol. 2012, 25, 57–115. [Google Scholar] [CrossRef]
  36. Shoup, V. Sequences of Games: A Tool for Taming Complexity in Security Proofs. Cryptology Eprint Archive. 2004. Available online: https://eprint.iacr.org/2004/332 (accessed on 8 December 2023).
  37. Wouters, P.; Tschofenig, H.; Gilmore, J.; Weiler, S.; Kivinen, T. Using Raw Public Keys in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS). RFC 7250 (Proposed Standard). 2014. Available online: https://datatracker.ietf.org/doc/html/rfc7250 (accessed on 8 December 2023).
  38. Eronen, P.; Tschofenig, H. Pre-Shared Key Ciphersuites for Transport Layer Security (TLS). RFC 4279 (Standards Track). 2005. Available online: https://datatracker.ietf.org/doc/html/rfc4279 (accessed on 8 December 2023).
  39. Dimitrov, V.; Imbert, L.; Mishra, P.K. Efficient and secure elliptic curve point multiplication using double-base chains. In Proceedings of the International Conference on the Theory and Application of Cryptology and Information Security, Chennai, India, 4–8 December 2005; pp. 59–78. [Google Scholar]
  40. Bellare, M.; Neven, G. Multi-signatures in the plain public-Key model and a general forking lemma. In Proceedings of the ACM CCS 2006, Alexandria, VA, USA, 30 October–3 November 2006; Juels, A., Wright, R.N., De Capitani di Vimercati, S., Eds.; pp. 390–399. [Google Scholar] [CrossRef]
Figure 1. Construction 1, the pairing-free CL-SIG-TRK construction Π CL - SIG . Capital letters, such as A, B and T, represent EC group elements (points). Lowercase letters, such as a, b and s, represent integers in Z | G | .
Figure 1. Construction 1, the pairing-free CL-SIG-TRK construction Π CL - SIG . Capital letters, such as A, B and T, represent EC group elements (points). Lowercase letters, such as a, b and s, represent integers in Z | G | .
Cryptography 07 00063 g001
Figure 2. Protocol 3: Three-pass certificate-less AKE with mutual authentication.
Figure 2. Protocol 3: Three-pass certificate-less AKE with mutual authentication.
Cryptography 07 00063 g002
Figure 3. Protocol 2, client key pair registration with msk = sk KGC .
Figure 3. Protocol 2, client key pair registration with msk = sk KGC .
Cryptography 07 00063 g003
Table 1. Comparison with other provably secure pairing-free (EC)DH-based CL-AKE. Proposals without security models, such as [18,20], are not included. BPM: base-point multiplication on each side; PM: non-base-point multiplication on each side.
Table 1. Comparison with other provably secure pairing-free (EC)DH-based CL-AKE. Proposals without security models, such as [18,20], are not included. BPM: base-point multiplication on each side; PM: non-base-point multiplication on each side.
# BPM# PMSecurity Model
Yang and Tan [17]110dedicated, game-based, stage-separated
Song et al. [16]17dedicated, game-based, stage-separated
He et al. [19]14eCK for CL-AKA only
This work13extended eCK for AKE and key reg.
Table 2. Queries (adversary’s ability) in the CL - SIG security game [8]. Notations are adapted to ours.
Table 2. Queries (adversary’s ability) in the CL - SIG security game [8]. Notations are adapted to ours.
QueryDescription
PPKey - Extract ( PID i ) return partial private/public keys
ReplacePK ( PID i , pk i ) replace the public key of PID i with pk i
getPrivateKey ( PID i ) get the private key of PID i
getKeyKGC ( ) return msk
SIG . Sign ( PID i , m ) get PID i ’s signature on m
Table 3. Internal states of oracles.
Table 3. Internal states of oracles.
VariableDescription
PID i s records the identities { j } { 1 , , } of intended communication partners { P j }
Φ i s denotes Φ i s { accept , reject }
sid i s denotes the session identifiers
K i s records the session key K i s K
Eph i s records the ephemeral secret used to compute the session key K i s
Table 4. Computation cost. BPM: base-point scalar multiplication, PM: point scalar multiplication. Columns 2 to 4: number of operations on each side.
Table 4. Computation cost. BPM: base-point scalar multiplication, PM: point scalar multiplication. Columns 2 to 4: number of operations on each side.
BPM (1 t BPM )PM (6 t BPM )Sign (2.5 t BPM )Vrfy (8.5 t BPM )Total
TLS-DHE.111226.5 t BPM
Protocol 3 TLS130019 t BPM
Table 5. Communication cost comparison in bytes. * : Server Response includes Server Hello, Server Certificate, Server Key Exchange, Certificate Request and Server Hello Done.
Table 5. Communication cost comparison in bytes. * : Server Response includes Server Hello, Server Certificate, Server Key Exchange, Certificate Request and Server Hello Done.
OperationData TLS - DHE Data Protocol 3
Client Hello309106
Server Response * 1092421
Client Certificate7330
Client Key Exchange119266
Certificate Verify1280
Change Cipher Spec5050
Total≈2430≈840 ( 35 % )
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Duan, L.; Li, Y.; Liao, L. Practical Certificate-Less Infrastructure with Application in TLS. Cryptography 2023, 7, 63. https://doi.org/10.3390/cryptography7040063

AMA Style

Duan L, Li Y, Liao L. Practical Certificate-Less Infrastructure with Application in TLS. Cryptography. 2023; 7(4):63. https://doi.org/10.3390/cryptography7040063

Chicago/Turabian Style

Duan, Li, Yong Li, and Lijun Liao. 2023. "Practical Certificate-Less Infrastructure with Application in TLS" Cryptography 7, no. 4: 63. https://doi.org/10.3390/cryptography7040063

Article Metrics

Back to TopTop