Next Article in Journal
Prediction of Contact Fatigue Performance Degradation Trends Based on Multi-Domain Features and Temporal Convolutional Networks
Previous Article in Journal
Assisted Identification over Modulo-Additive Noise Channels
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Revocable Signature Scheme with Implicit and Explicit Certificates

by
Jerzy Pejaś
1,†,
Tomasz Hyla
1,*,† and
Wojciech Zabierowski
2,†
1
Faculty of Computer Science and Information Technology, West Pomeranian University of Technology, 71-210 Szczecin, Poland
2
Department of Microelectronics and Computer Science, Lodz University of Technology, 93-005 Lodz, Poland
*
Author to whom correspondence should be addressed.
These authors contributed equally to this work.
Entropy 2023, 25(9), 1315; https://doi.org/10.3390/e25091315
Submission received: 20 June 2023 / Revised: 31 August 2023 / Accepted: 7 September 2023 / Published: 9 September 2023

Abstract

:
This paper addresses the certificate revocation problem and proposes the first revocable pairing-based signature scheme with implicit and explicit certificates (IE-RCBS-kCAA). We should no longer discuss whether to revoke certificates but how to do it effectively, ensuring both the scalability of the revocation operation and the non-repudiation of the signature in the short or long term. Under the computational difficulty assumptions of the modified collusion attack algorithm with k traitors (k-mCAA) and discrete logarithm (DL) problems, we demonstrate that our scheme is secure against existential unforgeability under chosen message attacks (EUF-IERCBS-kCAA-CMA) in a random oracle model. The proposed solution is scaled and allows the use of many trusted status authorities that issue explicit short-term certificates confirming the validity of explicit long-term certificates. Furthermore, we demonstrate that our signature scheme has a short-term non-repudiation property for the shell validity model.

1. Introduction

Digital signatures are a critical component that ensure the integrity, authenticity and non-repudiation of electronic documents. In public key cryptography (PKC), a digital signature is considered valid if it is mathematically correct and a related certificate is valid. The certificates are issued for a limited period (usually two years), they can be revoked (e.g., a signer’s private key is compromised) and in most cases, a user certificate is issued by an intermediate CA (certificate authority), and other certificates are issued by another intermediate CA or by a root CA with a self-signed certificate. The root CA is considered a trust anchor. All certificates between an end-entity certificate and a trust anchor certificate form the trusted certificate path. The validation of this chain is a challenging task.
Three models for certificate validation exist [1]. In the first one, called the shell model, the certificate is valid as long as all the certificates in the certification path are valid when the signature is verified. The second one is the modified shell model. In this model, the signing time is the basis for decision making about the signature validity (this requires a timestamp). The third model is the chain model: once a signature is valid at signing time, it remains valid all the time. The chain model can only provide non-repudiation of property over a long period of time [1,2].
The purpose of certificate validation is to confirm the authenticity of the public key, i.e., to provide proof that the public key belongs to the signer and that the associated private key was under the sole control of an owner at the moment of signature creation. The process of verifying certificates for signatures that need to be valid for a long period of time is one of the main difficulties when implementing and managing a public key infrastructure. The authenticity of a public key in a public key cryptosystem can be achieved in two ways: either explicitly or implicitly. During explicit authentication, the public key authenticity can be verified directly using the certificate issued by a CA. In implicit authentication, the secret certificate issued by a CA (i.e., partial or complete private key) can be verified indirectly during signature verification or decryption operation. Combining both approaches and obtaining cryptographic schemes based on explicit and implicit certificates is another possible solution (e.g., T. Hyla et al. [3]).
It seemed that the certificate validation problem had been solved in 1984 when Shamir [4] introduced a new identity-based public key cryptography (ID-PKC) concept utilizing a user’s publicly known identity information as her/his public key. Since that time, many schemes based on that concept have been proposed. First came certificateless public key cryptography (CL-PKC), which removed the key escrow problem, one of the major problems in ID-PKC. Next, (implicit) certificate-based public key cryptography (IC-PKC) schemes were proposed. Compared to CL-PKC, IC-PKC schemes are resistant to public key replacement attacks. The certificate is implicit because it must be kept secret and is not used directly during signature verification. In other words, the implicit certificate is a partial secret key sent to the user by a trusted authority (TA) that, in comparison to CL-PKC schemes, additionally binds the user’s identity with its public key and the parameters of the trusted authority. Note that some authors do not use the word “implicit”, which could be misleading as someone might think that certificates are always public.
The great interest shown in the ID-PKC, CL-PKC and IC-PKC schemes is because they eliminate explicit certificates from the encryption or signature schemes and allow the need to manage the status of certificates to be dispensed with. In practice, this is not the case, as the problem of certificate status management is shifted to the user identity management level [5,6]. In addition, this generates problems with public key distribution, such as vulnerability to public key replacement attacks. As a result, key invalidation in ID-PKC, CL-PKC and IC-PKC schemes can be even more cumbersome than in traditional PKC-based cryptosystems.

1.1. Related Works

The digital signature schemes must include a revocation mechanism to support non-repudiation and achieve Girault trust level 3 (see Girault, M. [7]). The revocation mechanism in identity-based certificates or based on implicit certificate schemes is implemented through a few techniques: using an online mediator, periodically updating the user’s secret using a secret channel and using time keys that can be sent using a public channel.
In the online mediator (SEM, Security Mediator) technique [8,9], a user’s partial private key is divided into two parts. One part is sent to the user and one to the SEM. The advantage of this approach is instantaneous revocation. The main drawbacks of this approach are the need for a secure (confidential) channel, and that the user cannot create a signature independently. In addition, the SEM must store a large amount of partial secret keys. Secondly, it is possible to generate private keys over regular periods [10,11,12]. When revocation of users is needed, the trusted authority (TA) just stops updating users’ partial private keys. The main drawback is the need for secure channels between users and TA.
In 2001, Boneh and Franklin [13] proposed a method in which a trusted private key generator (PKG) periodically updates private keys for all non-revoked users. Boldyreva et al. [14] introduced the first scalable revocable identity-based encryption scheme. The scheme was later improved by Libert and Vergnaud [15] and by Seo and Emura [16]. In 2012, Tseng and Tsai proposed efficient revocable identity-based encryption [17] and signature schemes [18]. They used a different method of private key construction, where the private key consists of a fixed initial private key and a time key, which is issued periodically by the PKG for non-revoked users. The key can be sent using a public channel. Their work was later reviewed by [19]. Chen et al. [20] proposed a selective-ID secure revocable identity-based encryption (RIBE) scheme from lattices. Cheng et al. [21] presented an adaptive-ID version of the [20] scheme. Lee et al. in [22,23] constructed a RIBE scheme based on pairings using the subset difference method.
In 2014, Sun et al. [24] proposed a revocable certificateless signature (RCLS) scheme in which the TA produces an initial partial private key and a time key corresponding to each period. The time key is transmitted over a public channel. Next, Sun and Shen [25] and Sun et al. [26] proposed a revocable certificateless signature (RCLS) scheme without the use of bilinear pairings.
In 2017, Jia et al. [27] proposed an efficient revocable identity-based signature (RIBS) scheme in which the revocation functionality is outsourced to a cloud revocation server. In their solution, a short-term key (time key) is issued by the cloud server instead of KGC. Recently, a similar solution based on semi-trusted cloud revocation agents (s-CRAs) was used by Ma et al. [28].

1.2. Motivation and Contribution

This paper proposes a new revocable signature IE-RCBS-kCAA scheme with implicit and two explicit (short- and long-term) certificates, which is secure in the random oracle model under the hardness assumption of the modified k-CAA problem and the discrete logarithm (DL) problem. When an explicit long-term certificate is revoked, its status information (in the form of an explicit short-term certificate) is available online at the moment of signature generation. The method used for revoking and providing certificate status is similar to that presented by Yum et al. [29].
The implicit and short-term explicit certificates are two components of the signature key that can be used to sign documents. A signatory who wishes to reject the signatures he or she has generated may intentionally compromise his or her signature key and falsely claim that the signatures have been forged by someone else. Such a scenario is impossible with an explicit short-term certificate because the signer cannot revoke the explicit short-term certificate used as part of the full signature key.
Using explicit short-term certificates ensures that revocation latency (i.e., a time lag between revoking the certificate and informing the relaying parties) is irrelevant, as the digital signature is valid only until the associated short-term explicit certificate expires. Because of the proposed signature validation approach based on the certificate validation shell model (see Section 1), the acceptance of such a signature should not pose any risk to a relaying party.
In our approach, a user’s private key consists of a secret value, a long-term partial private key and a short-term explicit certificate (a time key). The first two partial keys are kept secret by the user, and their authenticity is confirmed by a long-term certificate issued by the trusted authority (TA). An explicit short-term certificate is periodically updated and sent over a public channel. To perform such an operation (unlike the cloud-based revocation server proposed by Jia et al. in Figure 1), we suggest using the trusted status authority (TSA), which issues a new short-term explicit certificate for each valid long-term explicit certificate and stops doing so when the long-term explicit certificate is revoked.
The IE-RCBS-kCAA scheme fulfils the following conditions:
  • An explicit short-term certificate eliminates the need to generate CRLs used in traditional PKI systems; furthermore, it serves as non-repudiation evidence of a digital signature;
  • During the signature creation process, a three-component user’s private key is used; this approach allows Girault’s trust level 3 security to be achieved; only the verification process, in addition to the public key and explicit signer’s certificates, indirectly references other parties’ keys, including TA keys;
  • A signer’s public key, as in the related two partial private keys, contains three component groups: the signer generates the first, while two others are created by trusted and trusted status authorities;
  • The short- and long-term explicit certificates of a signer are public, i.e., these certificates are used in the signature verification process and to verify their authenticity and their validity;
  • A signature verification process uses short- and long-term explicit certificates, where explicit short-term certificates play a role in the certificate status;
  • The strongest security property for digital signatures is provided, i.e., existential enforceability against adaptively chosen message attacks.
Additionally, in the scheme, a user can only change his public and private keys with TA acceptance and vice versa. A TA cannot generate a false private key of any user to forge a signature without being detected by the user. Hence, the scheme fulfils Girault’s level 3 security requirement.

1.3. Paper Organisation

In addition to the introductory section, this paper consists of four sections and two appendices. Section 2 introduces the concept of a signature scheme based on implicit and explicit certificates and its security model against three different attack types. Section 3 proposes a randomized IE-RCBSS-kCAA pairing-based signature scheme, and Section 4 analyses its security in a random oracle. Section 5 presents the analysis of the scheme’s efficiency. The paper ends with conclusions.

2. Signature Scheme Framework Architecture and Its Security Model

This section describes the architecture framework of our IE-RCBS-kCAA signature scheme and its security model. The definitions of asymmetric bilinear map groups and the hard computational problems (discrete logarithm (DL) problem, kCAA problem, k-mCAA problem) can be found in Hyla et al. [30] and Mitsunari et al. [31].

2.1. Signature Scheme Framework

The architecture framework of the IE-RCBS-kCAA signature scheme is shown in Figure 1. This architecture involves three parties: the trusted authority (TA), the trusted status authority (TSA) and the users (signers and verifiers). At system initialization, the TA generates and publishes common parameters. The TSA can use these parameters to generate its secret master private status key or independently generate its parameters and then use them to generate the secret master private status key. This solution allows the TA and TSA to work in the first case in the same algebraic groups and the second in two different, independent ones.
Next, the TA issues the partial secret key for each registered user using its master system key. The TSA is an authentication service that decides the validity of an explicit long-term certificate at the current time and issues an explicit short-term certificate if the TSA answer is positive. Therefore, on request, the TSA checks the signer’s long-term explicit certificate status according to the signed revocation list from the TA. The revocation list issued at time t by a trusted authority, TA, is denoted R L T A , t . This list contains the indexes of revoked long-term certificates and is updated periodically. Suppose a signer’s long-term certificate is in the signed revocation list. In that case, the TSA can send back a revoked response with a long-term explicit certificate status value equal to r e v o k e d or refuse the request. Otherwise, it outputs g o o d or u n k n o w n . This last state indicates that the TSA does not know the certificate being requested.
The trust model (understood as building trust relationships between cryptographic keys and their owner’s identity) with the TSA, and separating its role from the TA role, allows various business models to be obtained that can provide certificate issuing services (explicit or implicit) and determine their status. In a particular case, the TSA may act as an independent third party and provide certificate status verification services to multiple TA authorities. This type of scenario aligns with the model that has long been used in PKI systems: CAs issue certificates, and the OCSP server issues certificates of their status [32].
Let us assume that the earlier mentioned trust authorities and trusted status authorities are part of the trust model based on a common set of system parameters. These parameters may include, among others, the same algebraic groups G 1 , G 2 and G T . It is easy to notice then that such an assumption allows us to effectively solve the scalability problem of the trust architecture shown in Figure 1 and to adapt it to many users. In that case, users can use not only many TSAs but also many TAs. However, this paper only considers the trust model with a single TA and TSA.
The IE-RCBS-kCAA consists of eleven polynomial-time algorithms (compare T. Hyla et al. [33]): the system initialization algorithm (TA-Setup), TSA initialization algorithm (TSA-Setup), secret user’s key generation algorithm (Create-User), implicit certificate extraction algorithm (Implicit-Cert-Gen), long-term explicit certificate generation algorithm (LongTerm-Explicit-Cert-Gen), short-term explicit certificate algorithm (ShortTerm-Explicit-Cert-Gen), full user’s private key creation algorithm (Set-Private-Key), full user’s public key creation algorithm (Set-Private-Key), long-term certificate revocation algorithm (Cert-Revoke) signing algorithm (Sign) and verification algorithm (Verify).
Definition 1 (IE-RCBS-kCAA scheme).
An implicit and explicit certificates-based signature against k-traitors collusion attack scheme consists of the following eleven polynomial-time algorithms:
  • TA-Setup ( 1 k ) ( s , p a r a m s ) . A security parameter 1 k is an input and outputs the certifier’s master private key s, the system parameters are p a r a m s and a revocation list R L T A , t h i s U p d a t e (initially empty), where t h i s U p d a t e indicates the issue date of this R L , which are then properly distributed in the system. The TA runs the algorithm and, when completed, keeps the master private key s secret, while the R L and p a r a m s are publicly available to the TSA and all other users on the system, respectively.
    The TA runs the algorithm and, in secret, keeps the master private key s, while the R L and p a r a m s are publicly accessible to the TSA and all other users in the system, respectively.
  • TSA-Setup ( p a r a m s ) ( v , V 0 , T 0 ) . The algorithm takes as input the system parameters p a r a m s and outputs a master private status key v and two related TSA public keys ( V 0 , T 0 ).
  • Create-User ( p a r a m s , I D s ) ( s I D s , P I D s ) . The user runs the algorithm, and the input is the system parameters and the signer’s identity. The output is the user’s secret key value s I D s and the corresponding first partial public key P I D s .
  • Implicit-Cert-Gen ( p a r a m s , s , I D s , P I D s , τ l t ) ( C I I D s , i C e r t I D s , r I D s ) . This algorithm takes as input the system parameter p a r a m s , master private key s, the identity I D s of a user, its first partial public key P I D s and a certificate validity period τ l t . It outputs the user’s certificate information C I I D s , an implicit certificate i C e r t I D s and the secret key r I D s used by the TA during the user’s implicit and explicit certificates’ generation that is unknown to this user. The TA runs the algorithm once for each user, and the corresponding implicit certificate is distributed to the user secretly.
  • LongTerm-Explicit-Cert-Gen ( p a r a m s , s , C I I D s , r I D s , q I D s ) ( e C e r t I D s ) . The input is the system parameter p a r a m s , master private key s, the user’s certificate information C I I D s , the secret key r I D s related to the user’s implicit and explicit certificates, and the hash value q I D s . The output is an explicit long-term certificate e C e r t I D s that is sent to the user by a public channel. A TA runs this algorithm once for each user.
  • ShortTerm-Explicit-Cert-Gen ( p a r a m s , v , V 0 , T 0 , b s t r , C I I D s , e C e r t I D s , τ s t ) ( e s t C e r t I D s , C S I I D s , I I D s ) . This algorithm takes as input the system parameter p a r a m s , a master private status key v and two related TSA public keys ( V 0 , T 0 ), the bitstring b s t r (e.g., related with the signed message), C I I D s and his/her long-term explicit certificate, and a period τ s t . The TSA first checks the current R L T A , t . If the request concerns the non-revoked long-term explicit certificate, then the TSA outputs an explicit short-term certificate e s t C e r t I D s , the certificate status information C S I I D s and auxiliary public information I I D s that is sent to the user by a public channel. A TSA runs this algorithm once for each user’s request.
  • Set-Private-Key ( p a r a m s , C I I D s , C S I I D s , s I D s , i C e r t I D s , e s t C e r t I D s ) S k I D s . The user runs this algorithm. The algorithm takes as input the system parameters p a r a m s , user’s certificate information C I I D s , the certificate status information C S I I D s , a secret key s I D s , an implicit certificate i C e r t I D s and a short-term explicit certificate e s t C e r t I D s , and returns the corresponding full user’s private key S k I D s = ( s I D s , i C e r t I D s , e s t C e r t I D s ) .
  • Set-Public-Key ( p a r a m s , C I I D s ) P k I D s : the user S run the algorithm with the certificate information C I I D s . It returns the full long-term public key in the form P k I D s = ( P I D s , R I D s , R I D s ) .
  • Cert-Revoke ( p a r a m s , C I I D s , e C e r t I D s ) R L T A , t h i s U p d a t e : for an input tuple ( C I I D s , e C e r t I D s ) with the explicit long-term certificate e C e r t I D s that is requested to be revoked, the TA verifies entity credentials, and if the entity is authorized successfully, then the TA revokes the certificate and places it on the signed revocation list R L T A , t h i s U p d a t e that is issued at thisUpdate.
  • Sign ( p a r a m s , m , C I I D s , S k I D s , P k I D s ) σ . The signer runs the Sign algorithm that generates a signature σ for the given input: the p a r a m s , a message m, a user certificate information C I I D s and the user’s full key pair ( S k I D s , P k I D s ) .
  • Verify ( p a r a m s , ( m , σ ) , C I I D s , C S I I D s , I I D s , e C e r t I D s , e s t C e r t I D s ) { t r u e , f a l s e } . Everyone can run the algorithm Verify to check the validity of a signature. Taking as input a message/signature pair ( m , σ ) , a user’s certificate information C I I D s , a certificate status information C S I I D s , an auxiliary public information I I D s , and long- and short-term explicit certificates ( e C e r t I D s , e s t C e r t I D s ), it outputs t r u e when σ is a valid signature. Otherwise, it outputs f a l s e .
It is required that if σ = Sign ( p a r a m s , m, C I I D s , S k I D s , e C e r t I D ) then Verify ( p a r a m s , m, σ , C I I D s , C S I I D s , I I D s , e C e r t I D s , e s t C e r t I D s ) = t r u e , where the public parameters p a r a m s , the signer’s private/public key pair ( S k I D s , P k I D s ) and the long- and short-term explicit certificates ( e C e r t I D s , e s t C e r t I D s ) are generated based on the specification of the algorithms: TA-Setup, TSA-Setup, Create-User, Implicit-Cert-Gen, LongTerm-Explicit-Cert-Gen and ShortTerm-Explicit-Cert-Gen.
Remark 1.
Implicit-Cert-Gen and Explicit-Cert-Gen algorithms are successful when the TA positively verifies the identity and certificate information of C I I D s confirming this identity. Furthermore, whenever a user requests a certificate for a public key P I D s , the user must prove the possession of the corresponding secret key s I D s to the certifier, similar to a traditional public key infrastructure. Similar remarks apply to ShortTerm-Explicit-Cert-Gen: a positive result of this algorithm is only returned for the associated valid long-term unencrypted certificate.

2.2. Security Model

The security proof of the proposed IE-RCBS-kCAA signature scheme is based on the commonly accepted standard security notion EUF-CMA (existential unforgeability under chosen message attack). The EUF-CMA notation guarantees the highest security level of the signature scheme and thus the resistance of the signature scheme against the strongest attacks of the adversary.
The security proofs is a claim made within the random oracle model, where a hash function finally replaces the random oracle. It is easy to see that the last step is heuristic in nature. In practice, the heuristics are successfully used for problem solving (e.g., [34,35,36,37]). However, the security proof in the oracle model can only be treated as a heuristic argument for the security of the cryptographic scheme, but without a guarantee for the security of its real implementation (Bellare and Rogaway [38]).
For the IE-RCBS-kCAA signature scheme, four cases of access or lack of access by an adversary to TA and TSA master keys should be considered:
(a)
An adversary does not know the TA and TSA master keys;
(b)
An adversary knows the TA and TSA master keys;
(c)
An adversary knows the TA master private key and does not know the TSA master private status key;
(d)
An adversary does not know the TA master private key TA and knows the TSA master private status key TSA.
Access to or lack of access to TA and TSA keys may depend on the adversary’s knowledge or ignorance of different user keys. Consequently, this allows us to define five different types of adversaries, the capabilities of which are shown in Table 1. Each type of adversary has its role and access rights (yes/no) to the user’s secrets or public key replacement. For example, the A 1 adversary is a user who has not yet been registered and does not have a certificate. The purpose of the adversary attack is to impersonate this type of user and forge his/her signature. It is assumed that the adversary does not have access to the TA and TSA master keys and to the implicit certificate of the target user but has access to his/her short-term explicit certificate, the secret key, and can change his public key.
Note that even if the A 1 , A 3 and A 4 adversaries cannot access the TSA’s master private status key, it still provides them access to the explicit short-term certificate. The TSA is fair and acts as an oracle, responding to any correct requests unless they concern a revoked certificate. In the latter case, the adversary does not receive a valid short-term explicit certificate for the next period. However, acting as a user with the revoked implicit certificate, they can collude with other legal users and generate its correct value.
A thorough analysis of the adversary types and their capabilities in Table 1 shows that the adversaries A 1 and A 5 and A 2 and A 4 have equivalent capabilities to falsify the target user’s signature. Hence, in the case of the proposed signature scheme with two trust authorities (TA and TSA), only three types of adversaries ( A 1 , A 2 and A 3 ), should be considered. As a result, the security model is similar to the models proposed for invalidation signature schemes with a single trust authority (see, e.g., Y. Sun et al. [24] and Y. Huang et al. [39]).
Based on the above comments, the security model of the proposed IE-RCBS-kCAA scheme, from now on referred to as EUF-IERCBS-kCAA-CMA, is defined by three games between challenger C and adversary A, assuming that the adversary chooses which game to play. In all cases, adversary A = ( A 1 , A 2 , A 3 ) is trying to break the EUF-CMA security of the IE-RCBS-kCAA scheme, i.e., the formal model describing existential unforgeability. We use two types of adversaries with different capabilities: Type I adversary and Type II adversary (see, e.g., [3]) to describe the first two games. For the third type of adversary, i.e., Type III adversary, we adopt the security notation introduced by Y. Sun et al. [24] and Y. Huang et al. [39] that is necessary for the security proofs to come. Type I and II adversaries are similar to those defined in [30] and their descriptions are omitted here. Type III adversary ( A 3 ) represents a revoked certified user whose long-term explicit certificate is no longer valid. However, it should be noted that a revoked user still holds her/his implicit certificate and related secret key. However, the TSA stops issuing the subsequent short-term explicit certificates to her/him. The adversary cannot gain the TA’s master secret keys and the TSA’s master private status key but can replace the public key of any user, except the target user, with a value of her/his choice. The security model categorises potential adversaries based on their attack capabilities and classifies Type I/II/III adversaries into three categories (see Li, J., et al. [40,41,42] and Huang, X., et al. [43]): Normal adversary, Strong adversary and Super adversary. The scheme should resist a Super Type I/II/III adversary (in Games I/II/III), who can obtain a valid signature under the public key chosen by itself without providing the corresponding secret.
Definition 2.
An implicit and explicit certificate revocable signature scheme IE-RCBS-kCAA has existential unforgeability against chosen message attacks (EUF-IERCBS-kCAA-CMA) if no probabilistic polynomial-time adversary has a non-negligible probability of winning Game I, Game II and Game III.

3. A Novel Revocable Implicit and Explicit Certificates-Based Signature Scheme

3.1. The Revocable Signature Scheme with Common System Parameters (IE-RCBS-kCAA)

The IE-RCBS-kCAA scheme consists of eleven polynomial-time algorithms: TA-Setup, TSA-Setup, Create-User, Implicit-Cert-Gen, LongTerm-Explicit-Cert-Gen, Set-Private-Key, Cert-Revoke, Get-Cert-Status, Sign and Verify. The algorithms are as follows.
1.
TA-Setup: The system parameters are p a r a m s = { G 1 , G 2 , G T , p, e ^ , P, P 0 , Q, Q 0 , H 1 , H 2 , H 3 } , where | G 1 | = | G 2 | = | G T | = p for some prime number p 2 k (k is the system security number), ( P , Q ) are generators of, respectively, G 1 and G 2 such that e ^ ( P , Q ) = g , P 0 = s P and Q 0 = s Q , the system’s master public keys with the master private key s Z p * , H 1 , H 2 : Γ Z p and H 3 : { 0 , 1 } * Z p are three secure cryptographic hash functions. Γ means a string space that defines a user with the identity I D . When I D contains more information other than the identity, we mark it as C I or C S I .
2.
TSA-Setup ( p a r a m s ): The TSA chooses a random number v Z p * as its master private status key and calculates its public keys V 0 = v P and T 0 = v Q .
3.
Create-User ( p a r a m s , I D s ): The user I D s chooses a random number s I D s Z p * , sets s I D s as the secret key and produces the corresponding first partial long-term public key P I D s = s I D s P . The secret key s I D s is kept secret, while the user sends P I D s to the TA over an authenticated channel.
4.
Implicit-Cert-Gen ( p a r a m s , s , I D s , P I D s , τ l t ): Given I D s presenting S’s identity, his partial long-term public key P I D s and a period τ l t , the trust authority TA:
(a)
Randomly selects r I D s Z p * and computes respective second and third partial long-term public keys ( R I D s , R I D s ) = ( r I D s P , r I D s Q ) ;
(b)
Composes the user’s certificate information C I I D s , including the TA’s public keys ( P 0 , Q 0 ) , identifiers I D s and I D T A of the user S and the TA, respectively, first, second and third partial public keys ( P I D s , R I D s , R I D s ), and the period τ l t for which the information C I I D s is valid;
(c)
For P I D s and ( R I D s , R I D s ) computes:
q I D s = H 1 ( C I I D s )
(d)
Generates S’s partial private key (an implicit certificate):
i C e r t I D s = 1 s + r I D s q I D s Q
and transmits it to the user S secretly; in addition, TA sends C I I D s .
5.
LongTerm-Explicit-Cert-Gen  ( p a r a m s , s , C I I D s , r I D s , q I D s ) : The TA generates the signer’s S explicit certificate using parameters provided by S and the values created when executing the Implicit-Cert-Gen algorithm:
(a)
The TA creates the explicit certificate that links S’s identity with the public key components:
e C e r t I D s = 1 s + r I D s q I D s P
(b)
The TA sends e C e r t I D s to an entity S.
6.
ShortTerm-Explicit-Cert-Gen ( p a r a m s , v , V 0 , T 0 , b s t r , C I I D s , e C e r t I D s , τ s t ): Taking as input any bitstring, the user’s certificate information C I I D s and his/her long-term explicit certificate e C e r t I D s (created for the period τ l t ) and a period τ s t , the TSA first checks if the user and his/her long-term explicit certificate are in the R L T A , t . If that is so, the TSA rejects the update request. Otherwise, the TSA:
(a)
Randomly selects secret key z Z p * and computes ( Z , Z ) = ( z P , z Q ) ;
(b)
Composes the certificate status information C S I I D s , including ( Z , Z ) , the TSA public keys ( V 0 , T 0 ) , I D s and I D T S A identifiers, the status value equal to g o o d , and the period τ s t for which the information C S I I D s should be valid;
(c)
For C I I D s , an explicit certificate e C e r t I D s and C S I I D s computes:
t I D s = H 2 b s t r , C I I D s , e C e r t I D s , C S I I D s I I D s = ( v + z t I D s ) ( Q 0 + q I D s R I D s )
where q I D s = H 1 ( C I I D s ) ;
(d)
Generates the explicit short-term certificate (the certificate status evidence) as:
e s t C e r t I D s = 1 v + z t I D s Q
and transfers it to the user S via a public (open) channel; in addition, the TSA sends C S I I D s and I I D s .
7.
Set-Private-Key  ( p a r a m s , C I I D s , C S I I D s , s I D s , i C e r t I D s , e s t C e r t I D s ) : The user S calculates the hash values q I D s and t I D s (see Equations (1) and (4)), and checks if e ^ ( q I D s R I D s + P 0 , i C e r t I D s ) = e ^ ( t I D s Z I D s + V 0 , e s t C e r t I D s ) = e ^ ( P , Q ) = g ; if in both cases the answer is positive, then the algorithm formulates a full private key in the form S k I D s = ( s I D s , i C e r t I D s , e s t C e r t I D s ) .
8.
Set-Public-Key  ( p a r a m s , C I I D s ) : The user S with P I D s , R I D s and R I D s (taken from the user’s certificate information C I I D s ) sets his full long-term public key in the form P k I D s = ( P I D s , R I D s , R I D s ) . The TA publishes the resulting full long-term public key in its public repository and distributes it to all interested parties.
9.
Cert-Revoke ( p a r a m s , C I I D s , e C e r t I D s ) : The user with C I I D s or any other authorized entity sends to TA a tuple ( C I I D s , e C e r t I D s ) with the explicit long-term certificate e C e r t I D s to be revoked. After verifying the entity credentials to revoke the certificate, TA revokes it and places it on a signed revocation list R L T A , t .
10.
Sign  ( p a r a m s , m , C I I D s , S k I D s , e C e r t I D s ) : To sign a message m { 0 , 1 } * , a signer S performs the following steps:
(a)
Picks two random numbers k 1 , k 2 R Z p * ;
(b)
Computes the hash value b s t r = H 3 ( m , k 1 P ), and q I D s = H 1 ( C I I D s ) ;
(c)
Generates a short-term explicit certificate by calling the ShortTerm-Explicit-Cert-Gen ( p a r a m s , v , V 0 , T 0 , b s t r , C I I D s , e C e r t I D s , τ s t ) ( e s t C e r t I D s , C S I I D s , I I D s ) function;
(d)
Generates the signature σ = ( h , w 1 , w 2 , E ) ,
E = k 1 k 2 1 h k 1 h + s I D s ( i C e r t I D s + e s t C e r t I D s )
where h = H 3 ( m , k 1 P , U , q I D s ) , w 1 = k 1 h s I D s ( mod p ) , w 2 = k 2 ( k 1 h + s I D s ) ( mod p ) , while U = e ( P , T 0 + t I D s Z I D s + Q 0 + q I D s R I D s ) k 1 k 2 ;
(e)
If in (6) k 1 h + s I D s = 0 , then repeat steps (a) and (b).
Note. Each time a signature is generated, a fresh short-term explicit certificate is retrieved from the TSA (cf. ShortTerm-Explicit-Cert-Gen algorithm).
11.
Verify  ( p a r a m s , m , σ , C I I D s , C S I I D s , I I D s , e C e r t I D s , e s t C e r t I D s ) : To verify the tuple containing the message, the signature and certificates, i.e., ( m , σ = ( h , w 1 , w 2 , E ) , e C e r t I D s , e s t C e r t I D s , I I D s ) , V performs the following steps:
(a)
Computes q I D s (see Equation (1)) and then calculates values:
U = e ^ ψ ( I I D s ) , E w 2 e ^ e C e r t I D s + ψ ( e s t C e r t I D s ) , I I D s h k 1 P ¯ = w 1 P + h P I D s
(b)
Computes b s t r = H 3 ( m , k 1 P ) and t I D s (see Equation (4));
(c)
If the status of the certificate e C e r t I D s in the certificate status information C S I I D s is correct and (8) is valid, then returns accept, otherwise reject.
h H 3 ( m , k 1 P ¯ , U , q I D s )
Remark 2.
Note that during the indirect signature verification, the long- and short-term explicit certificates are validated ( e C e r t I D and e t C e r t I D , respectively). This verification can also be performed directly based on the following formulas:
g e ^ ( e C e r t I D s , q I D s R I D s + Q 0 ) g e ^ t I D s Z I D s + V 0 , e s t C e r t I D s
If the conditions formulated in Equations (8)–(9) are met, it means that a signature is mathematically correct. It is the first postulate for a digital signature to be valid. The second one applies to the validity of digital signatures at a semantical level that depends on the underlying validity model (Baier, H. et al. [1]).
Suppose we use a shell model and the verifier received the signature at time t v called the verification time. Assuming that the TA’s master private key and the TSA’s master private status key are irrevocable signature keys, the semantic validity of the digital signature depends on a short- and long-term certificate validity ( e s t C e r t and e C e r t , respectively). Because both certificates are mathematically correct and ( e s t C e r t , e C e r t ) certificates are issued with respective periods τ l t = [ τ l t i , τ l t e ] , τ s t = [ τ s t i , τ s t e ] and expiry dates τ l t e , τ s t e , then a verifier checks if:
(a) 
e s t C e r t was certified by the TSA and the validity period τ s t of e s t C e r t satisfies τ l t i τ s t i < τ s t e τ l t e ;
(b) 
t v [ τ s t i , τ s t e ] .
When the above conditions are successful, the signature will be accepted as valid short-period non-repudiation evidence in whole period τ s t = [ τ s t i , τ s t e ] .
Remark 3.
Based on the properties of the asymmetric bilinear map groups:
e C e r t I D s = ψ ( i C e r t I D s )
Hence, it follows that, alternatively, the execution of the LongTerm-Explicit-Cert-Gen algorithm can be entrusted to the signatory S, who, after receiving the implicit certificate from the TA will use Equation (10) to calculate the explicit certificate.

3.2. Correctness

The σ = ( h , w 1 , w 2 , E ) is a valid signature on message m because it is accepted by Verify. We state the proof as follows:
U = e ^ ψ ( I I D s ) , E w 2 e ^ e C e r t I D s + ψ ( e s t C e r t I D s ) , I I D s ) h = e ^ ψ ( I I D s ) ) , k 1 k 2 1 h k 1 h + s I D s ( i C e r t I D s + e s t C e r t I D s ) k 2 ( k 1 h + s I D s ) e ^ e C e r t I D s + ψ ( e s t C e r t I D s ) , I I D s h = e ^ ψ ( I I D s ) , ( k 1 k 2 h ) ( i C e r t I D s + e s t C e r t I D s ) e ^ ψ ( I I D s ) , h ( i C e r t I D s + e s t C e r t I D s ) = e ^ ψ ( ( v + z t I D s ) ( Q 0 + q I D s R I D s ) ) , k 1 k 2 ( 1 s + r I D s q I D s + 1 v + z t I D s ) Q = e ^ P , ( s + q I D s r I D s ) Q + ( v + z t I D s ) Q k 1 k 2 = e ^ P , Q 0 + q I D s R I D s + T 0 + t I D s Z I D s k 1 k 2 = U
Thus,
h = H 3 ( m , k 1 P ¯ , U , q I D s ) = H 3 ( m , w 1 P + h P I D s , U , q I D s ) = h
Moreover, based on this, it is straightforward to prove the correctness of the long-term explicit certificate:
g = e ^ e C e r t I D s , q I D s R I D s + Q 0 = e ^ 1 s + r I D s q I D s P , ( q I D s r I D s + s ) Q = e ^ P , Q = g
and short-term explicit certificate:
g = e ^ t I D s Z I D s + V 0 , e s t C e r t I D s , = e ^ ( t I D s z + v ) P , 1 v + z t I D s Q , = e ^ P , Q = g

4. Security Analysis

In Games I and II, the TSA is treated as an oracle that answers every query the challenger or adversary asks. It has been assumed that long-term certificates are not revoked in these two games. Therefore, all explicit short-term certificates issued by the TSA have the status good. In Game III, long-term certificates can be revoked. The TSA will not issue a short-term explicit certificate for the next validity period of τ s t i . Because the adversary still owns the implicit and long-term explicit certificates, it can try to produce valid signatures even if the previous short-term explicit certificate is no longer valid. The adversary does not know its short explicit certificate for the new target period but can cooperate with legal users to obtain such a certificate.
We proved the IE-RCBS-kCAA scheme security by reducing the security of a higher-level construction to a lower-level primitive. In particular, we reduced the existence of an adversary by transforming the protocol into an algorithm that solves the corresponding k-mCAA problem or the discrete logarithm (DL) problem with non-negligible probability. To this end, we used a general forking lemma (Bellare and Neven [44]), similar to [30].
Table 1 below shows that in comparison with the A 1 and A 3 adversaries, the A 2 adversary’s capabilities are greater (if only because he/she has access to the master private key and master private status key that belong to the TA and TSA, respectively). On the other hand, the capabilities of A 1 and A 3 adversaries are similar:
  • A 3 knows the implicit certificates of users whose long-term explicit certificate has been revoked (in particular, it may be his/her certificate) but cannot obtain from the TSA any valid short-term explicit certificates related to them; the TSA will not respond to any request of the adversary to issue an explicit short-term certificate for the next period after the related long-term explicit certificate has been revoked; hence, the adversary, in order to forge the adversary’s signature, must be able to calculate an explicit short-term certificate;
  • A 1 does not know the implicit certificates of users who were indicated as targets of the adversary attack; however, since, in this case, none of the explicit long-term certificates were revoked, the TSA responds to every request to issue (also from the adversary) a short-term explicit certificate for the next validity period; hence, the adversary A 1 knows the explicit short-term certificates of all users, including those who are the targets of the attack, but must calculate the corresponding implicit certificates.
In both cases, after creating a valid forged signature, the adversaries A 1 and A 3 disclose the corresponding short- and long-term explicit certificate. It follows that challenger C with the help of adversary A 1 or A 3 could solve the computing k-mCAA problem. However, this is contrary to the assumption that the k-mCAA problem is a computationally difficult problem. Hence, the proposed IE-RCBS-kCAA signature scheme is provably secure against Types I and III adversaries, as demonstrated in Lemmas 1 and 3, respectively. In Lemma 2, we also prove that IE-RCBS-kCAA is secure against a Type II adversary.
Lemma 1.
Suppose the hash functions H 1 , H 2 and H 3 are random oracles, and A 1 is a Type I adversary in Game I against the IE-RCBS-kCAA scheme. When the adversary A 1 has a non-negligible ϵ advantage over the IE-RCBS-kCAA scheme, then there is a reduction R 1 that solves the k-mCAA problem over the G 2 group with non-negligible probability:
ε k m C A A R 1 ε 2 γ 2 e ( ( q I + q E + q S ) + 1 ) 2
where e is the base of the natural logarithm, q I , q E , c q S and γ = q H 3 are the upper bound on the number of queries sent to the respective Implicit-Cert-Gen-Query, LongTerm-Explicit-Cert-Gen-Query, Super-Sign-Query oracles and the H 3 -Query oracle.
Proof. 
(sketch) According to the approach given in [30] (also compare Lemma 3), our reduction consists of two phases. First, we apply the intermediate algorithm B 1 (i.e., the wrapper) that interacts with adversary A 1 and it returns a side output. Second, we build a reduction algorithm R 1 that launches general forking algorithm F B 1 with wrapper B 1 that handles the simulation of the IE-RCBS-kCAA scheme environment to the actual adversary. The algorithm R 1 returns data that allow the correct solution of the k-mCAA problem to be obtained.
Assume that B 1 is given a random instance = ( G 2 , p , P , s P , Q , s Q , ( s + r 1 q 1 ) 1 Q , …, ( s + r k q k ) 1 Q ) of the k-mCAA problem, where G 2 is a group with a large prime order p. For the master private key s Z p * unknown to C and B 1 , the goal is to compute ( r * q * + s ) 1 Q for some q * { q 1 , , q k } , r * Q { r 1 Q , …, r k Q } , and given q 1 , , q k Z p * , r 1 Q , …, r k Q . In order to achieve this goal, we convert Type I adversary A 1 to algorithm B 1 (compare with Lemma 3). Finally, the reduction algorithm R 1 invokes a general forking algorithm F B 1 with the wrapper B 1 to solve the challenge .
Note that in comparison to Lemma 3, the simulation of ShortTerm-Explicit-Cert-Gen-Query is simpler because it is reasonable now to respond to each request of the adversary A 1 (no long-term certificate is revoked). What is more, this response is always provided by the TSA, which thus becomes a component of the simulation environment.
R 1 obtains two signature forgeries σ i ^ = ( m ^ , h ^ i , w 1 , i ^ , w 2 , i ^ , E ^ i , P I D , e C e r t I D , e s t C e r t I D , I I D ) , ( i = 0 , 1 ) for the message m ^ , partial public key P I D , and long- and short-term explicit certificates e C e r t I D , e s t C e r t I D . If both forgeries are valid, then R 1 obtains two sets of side outputs σ 0 and σ 1 where σ i (for i = 0 , 1 ) is written as ( β ^ i , h ^ i , t i ^ , w 2 , i ^ , c i ^ , U ^ i , E ^ i , P I D , C ^ I D , C S I ^ I D , R ^ I D , R ^ I D , C, e C e r t I D , e s t C e r t I D , I I D ) . Moreover, we assume that U ^ 0 = U ^ 1 , q * = c ^ 0 = c ^ 1 and R I D = r * Q (compare Lemma 3). R 1 outputs failure and stops if both β ^ 0 and β ^ 1 are equal to 0.
Based on σ 0 and σ 1 , the following equation is used:
e ^ ψ ( I I D ) , E ^ 0 w ^ 2 , 0 e ^ e C e r t I D + ψ ( e s t C e r t I D ) , I I D h ^ 0 = = e ^ ψ ( I I D ) , E ^ 1 w ^ 2 , 1 e ^ e C e r t I D + ψ ( e s t C e r t I D ) , I I D h ^ 1
Equation (16) can be converted into:
e ^ ψ ( I I D ) , w ^ 2 , 0 E ^ 0 + h ^ 0 ( i C e r t I D + e s t C e r t I D ) = = e ^ ψ ( I I D ) , w ^ 2 , 1 E ^ 1 + h ^ 1 ( i C e r t I D + e s t C e r t I D )
Eventually, the solution to the k-mCAA problem is:
i C e r t I D s = 1 ( r * q * + s ) Q = ( w ^ 2 , 0 E ^ 0 w ^ 2 , 1 E ^ 1 ) ( h ^ 0 h ^ 1 ) e s t C e r t I D
where q * { q 1 , , g k } and r * Q { r 1 Q , , r k Q } . Note that a public channel transmits all short-term explicit certificates. Hence, in particular, e s t C e r t I D s can be known both to adversary A 1 and algorithm R 1 .
The success probability of a Super Type I adversary is calculated similarly to Lemma 3. We should consider the same four events ¬ E 1 , ¬ E 2 , ¬ E 3 and ¬ E 1 with one exception: the wrapper B 1 cannot fail during the simulation of the oracle ShortTerm-Explicit-Cert-Gen-Query. Finally, from the general forking lemma, the success probability ε k m C A A R 1 can be expressed as in Equation (15).
This ends the sketch proof.    □
Next, in Game II, applied to the Super Type II adversary where the adversary models the certified entity, we require that signers are honest and the TA registers their tuples ( I D , P I D , e C e r t I D ) . The following lemma can be shown for this assumption with the use of a random oracle model:
Lemma 2.
Suppose the hash functions H 1 , H 2 and H 3 are random oracles, and A 2 is a Type II adversary in Game II against the IE-RCBS-kCAA scheme. When the adversary A 2 has a non-negligible ϵ advantage over the IE-RCBS-kCAA scheme, there is a reduction R 2 that solves the D L problem over the G 1 group with non-negligible probability:
ε k m C A A R 2 ε 2 γ e ( ( q R + q C ) + 1 ) 2
where q R , q C and γ = q H 2 are the upper bound on the number of respective queries sent to the Public-Key-Replacement-Query, Corruption-Query and H 2 -Query oracles.
The proof is similar to the proof of [30] and is omitted here.
Lemma 3.
Suppose the hash functions H 1 , H 2 and H 3 are random oracles, and A 3 is a Type III adversary in Game III against the IE-RCBS-kCAA scheme. When the adversary A 3 has a non-negligible ϵ advantage over the IE-RCBS-kCAA scheme, there is a reduction R 3 that solves the k-mCAA problem over the G 2 group with non-negligible probability:
ε k m C A A R 3 ε 2 γ e ( ( q I + q E + q T + q S ) + 1 ) 2
where q I , q E , q T , q S and γ = q H 3 are the upper bound on the number of respective queries sent to the Implicit-Cert-Gen-Query, LongTerm-Explicit-Cert-Gen-Query, ShortTerm-Explicit-Cert-Gen-Query, Super-Sign-Query and H 3 -Query oracles.
Proof. 
We begin by describing the B 3 wrapper and next demonstrate how R 3 reduction invokes the F B 3 algorithm on the B 3 wrapper to solve the k-mCAA problem. Suppose the adversary A 3 can make q H 1 , q H 2 , q H 3 , q T and q S queries to hash functions H 1 , H 2 , H 3 , and the ShortTerm-Explicit-Cert-Gen-Query and Super-Sign-Query oracle.
Algorithm R 3 is given a random instance = ( G 1 , G 2 , p , P , s P , Q , s Q , ( s + r 1 q 1 ) 1 Q , …, ( s + r k q k ) 1 Q ) of the k-mCAA problem, where the master private key s Z p * is unknown to C and B 3 . The challenger C and direct algorithm R 3 are asked to calculate ( r * q * + s ) 1 Q for some q * { q 1 , , q k } , r * Q { r 1 Q , …, r k Q } , and given q 1 , , q k Z p * , r 1 Q , …, r k Q .
Assume we are also given t 1 , , t k Z p * , z 1 Q , …, z k Q , z 1 P , …, z k P , ( v + z 1 t 1 ) 1 Q , …, ( v + z k t k ) 1 Q ) , ( v + z 1 t 1 ) ( s Q + q 1 r 1 Q ) , …, ( v + z k t k ) ( s Q + q k r k Q ) . This allows us to simulate the ShortTerm-Explicit-Cert-Gen-Query behaviour for all unrevoked long-term implicit certificates.
  • The Wrapper
We demonstrate that Type III adversary A 3 can be converted to algorithm B 3 and then used to solve a random instance of the k-mCAA problem. Assume that γ = q H 3 and H = Z p . Wrapper B 3 takes as an argument with a set of random elements q 1 , , q k Z p * and h 1 , , h γ Z p * and returns a tuple ( J , σ ) where J refers to indices of the target H 3 query and where σ is the side output. B 3 maintains two counters c t r and c i n , which are initially both set to one, and three lists L H 1 , L H 2 and L H 3 used to store the answers to the H 1 , H 2 and H 3 random oracle queries. Wrapper B 3 interacts with adversary A 3 as follows (Algorithm 1).
Algorithm 1 B3( ).
Initialize. c t r = 1 , c i n = 1 , lists L H 1 , L H 2 and L H 3 are empty.
TA-Setup. B 3 sets P and Q as the generators of groups G 1 and G 2 , respectively, sets TA’s master public keys ( P 0 = s P , Q 0 = s Q ) and TSA’s master public status keys ( V 0 = v P , T 0 = v Q ). We assume that master secret keys s and v are unknown to everyone, including B 3 . Then, B 3 defines p a r a m s = { G 1 , G 2 , G T , p, e ^ , P , P 0 , V 0 , Q , Q 0 , T 0 , H 1 , H 2 , H 3 } and sends them to the adversary A 3 .
Queries: A 3 can query the following oracles polynomial number of times.
  • Create-User-Query ( p a r a m s , I D ). Let us assume that the query is about the identity of I D and that B 3 replies as described below:
    (a)
    B 3 scans list L U with tuples in form I D i , s I D i , P k I D i to check whether I D i = I D and if it is true returns a previously defined value P I D i .
    (b)
    else, B 3 selects s I D R Z p at random and calculates public key P I D = s I D P . B 1 returns P I D and stores the tuple I D i , s I D , P I D in the L U list.
  • H 1 -Query ( C I I D i ) . Algorithm B 3 maintains a list L H 1 of tuples C I I D i , P I D i , R I D i , R I D i , c o i n i , c i n i , c i , C i , e C e r t I D i . If B 3 or A 3 queries H 1 , algorithm B 3 returns c i directly when L H 1 contains a tuple C I I D i , P I D i , R I D i , R I D i , c o i n i , c i n i , c i , C i , e C e r t I D i . Else:
    (a)
    B 3 randomly selects c R Z p * and sets c o i n = C = e C e r t I D i = when the query is made explicitly by A 3 (⊥ denotes unknown fields to B 3 );
    (b)
    else, B 3 flips a biased coin that outputs value c o i n = 1 with a probability of ς and c o i n = 0 with a probability of 1 ς (the ς will be optimized later); next:
    i.
    if c o i n = 0 , B 3 selects c i n t h ( 1 c i n k ) value q c i n { q 1 , , q k } and sets c = q c i n , C = ( r c i n c + s ) 1 Q , e C e r t I D i = ψ ( C ) , R I D i = r c i n Q and R I D i = ψ ( R I D i ) ;
    ii.
    else, if c o i n i = 1 , B 3 randomly selects c R Z p * and R I D G 2 such that c { q 1 , , q k } and R I D { r 1 Q , …, r k Q } , respectively; computes R I D = ψ ( R I D ) and sets C = e C e r t I D i = ⊥;
    (c)
    C I I D i , P I D i , R I D i , R I D i , c o i n , c i n , c, C, e C e r t I D i is stored in L H 1 and returns c as the answer.
  • H 2 -Query ( C I I D i , e C e r t I D i , C S I I D s ) . On receiving the H 2 query on ( C I I D i , e C e r t I D i , C S I I D s ) , algorithm B 3 looks up the list L H 2 . If the corresponding entry already appears in L H 2 with a tuple C I I D i , e C e r t I D i , P I D i , C S I I D s , Z I D i , Z I D i , c i n i , c o i n i , t i , e s t C e r t I D i , I I D i , then B 3 responds with t i . Otherwise:
    (a)
    if the query is made explicitly by A 3 , B 3 randomly selects t R Z p * and sets c o i n = 1 , e s t C e r t I D i = I I D i = ;
    (b)
    otherwise, B 3 first call H 1 -Query ( C I I D i ) oracle and as a result takes a tuple C I I D i , P I D i , R I D i , R I D i , c o i n i , c i n i , c i , C i , e C e r t I D i form L H 1 list.
    i.
    if c o i n i = 0 , B 3 chooses t c i n i { t 1 , , t k } and sets t = t c i n i , e s t C e r t I D i = ( v + z c i n t ) 1 Q , Z I D i = z c i n P , Z I D i = z c i n Q , I I D i = ( v + z c i n t ) ( s Q + c i R I D i )
    ii.
    otherwise, if c o i n i = 1 , B 3 randomly selects t R Z p * and Z I D G 2 such that t { t 1 , , t k } and Z I D { z 1 Q , …, z k Q } , respectively; computes Z I D = ψ ( Z I D ) and sets e s t C e r t I D i = I I D i = ;
    (c)
    C I I D i , e C e r t I D i , P I D i , C S I I D s , Z I D i , Z I D i , c i n i , c o i n i , t, e s t C e r t I D i , I I D i is stored in L H 2 and t is output as the answer.
  • H 3 -Query ( m , k 1 P , U, H 1 ( C I I D i ) ) . Algorithm B 3 maintains a list L H 3 of tuples m i , ( k 1 P ) i , U i , c i , c t r , w 2 , i , h i , where c i = H 1 ( C I I D i ) . B 3 runs H 1 -Query ( C I I D i ) and gets requested hash value c. For each request made on ( m , k 1 P , U , c ) , algorithm B 3 returns h i directly when L H 3 contains tuple m i , ( k 1 P ) i , U i , c i , c t r , w 2 , i , h i . Else, B 3 returns h = h c t r R Z p * as the output, adds tuple m i , k 1 P , U , c, c t r , , h to L H 3 and increments c t r by one.
  • Public-Key-Replacement-Query ( I D , P I D , P I D ) :
    (a)
    B 3 tries to find a tuple I D i , s I D i , P I D i in the L U list such that I D i = I D and P I D i = P I D . When this does not exist, B 3 outputs .
    (b)
    Else, B 3 replaces I D i , s I D i , P I D i with I D i , , P I D i . In this case, the secret value associated with the new public key is not necessary to replace the public key.
  • Corruption-Query (ID). B 3 browses the list L U for I D and tries to find a tuple I D i , s I D i , P I D i , then returns s I D s i to A 3 when the user I D is registered. If this is not the case, B 3 selects a random number s I D R Z p , sets P I D = s I D P , adds I D , s I D , P I D to the L U list and returns s I D i to A 3 .
  • Implicit-Cert-Gen-Query ( I D , P I D ). At any moment, A 3 or B 3 can query this oracle based on identity I D and partial public key P I D .
    (a)
    On the running Implicit-Cert-Gen-Query for I D and P I D , B 3 first checks list L U . When a user with I D is not created, B 3 returns ⊥.
    (b)
    Now, B 3 tries to find tuple C I I D i , P I D i , R I D i , R I D i , c o i n i , c i n i , c i , C i , e C e r t I D i in L H 1 that fulfils the following conditions: C I I D i . I D I D , P I D i P I D and c o i n i . If such a tuple exists, then:
    i.
    if c o i n i = 1 , failure (denoted by E 11 ) is returned and the simulation stops because it cannot respond to a query about any revoked user with an identity of I D and partial public key P I D ;
    ii.
    otherwise, B 3 outputs ( C i , R I D i , R I D i , C I I D i ) to A 3 as the answer.
    (c)
    Otherwise, B 3
    i.
    creates C I I D (see Implicit-Cert-Gen algorithm in Section 3.1), where R I D = R I D = ⊥;
    ii.
    runs H 1 -Query ( C I I D ) and repeats step (b).
  • LongTerm-Explicit-Cert-Gen-Query ( C I I D , P I D ). Upon receiving a query on identity I D with certificate information C I I D and partial public key P I D :
    (a)
    B 3 first checks list L U . If a user with C I I D . I D is not created, B 1 returns ⊥.
    (b)
    If there is a tuple C I I D i , P I D i , R I D i , R I D i , c o i n , c i n i , c i , C i , e C e r t I D i in L H 1 such that C I I D i C I I D , P I D i P I D and c o i n i , then:
    i.
    if c o i n i = 1 , failure (denoted by E 12 ) is output and the simulation stops because it is not allowed to answer the query on any revoked user with the certificate information C I I D , which is to be challenged;
    ii.
    otherwise, it outputs ( e C e r t I D i , R I D i , R I D i , C I I D i ) to A 3 as the answer.
    (c)
    Otherwise, B 3 runs H 1 -Query ( C I I D ) and repeats step (b).
  • ShortTerm-Explicit-Cert-Gen-Query ( C I I D , P I D , e C e r t I D ).
    (a)
    B 1 verifies list L U . When a user with C I I D . I D does not exists, B 1 returns ⊥.
    (b)
    Now, B 3 checks in L H 2 list if there is a tuple C I I D i , e C e r t I D i , P I D i , C S I I D s , Z I D i , Z I D i , c i n i , c o i n i , t, e s t C e r t I D i , I I D i such that C I I D C I I D i , P I D P I D i , e C e r t I D e C e r t I D i and c o i n i . Provided that such a tuple exists, then:
    i.
    if c o i n i = 1 , failure (denoted by E 13 ) is returned the simulation stops since B 1 is not allowed to respond to the query on any revoked user with certificate information C I I D , which is to be challenged;
    ii.
    otherwise, B 3 outputs ( e s t C e r t i , C S I I D i , I I D i ) ;
    (c)
    Otherwise, B 3
    i.
    composes a certificate status information C S I I D (see ShortTerm-Explicit-Cert-Gen algorithm in Section 3.1), where Z I D = Z I D = ⊥;
    ii.
    runs H 2 -Query ( C I I D , e C e r t I D , C S I I D s ) and repeats step (b).
  • Super-Sign-Query ( m , C I I D , C S I I D , P I D ). B 3 returns ⊥ if a user with C I . I D does not exists.
    • Else:
    (a)
    if there is no a tuple C I I D i , P I D i , R I D i , R I D i , c o i n i , c i n i , c i , C i , e C e r t I D i in L H 1 that fulfils the following conditions: C I I D i C I I D , P I D i P I D and c o i n i , B 3 runs H 1 -Query ( C I I D ) ;
    (b)
    if tuple C I I D i , e C e r t I D i , P I D i , C S I I D s , Z I D i , Z I D i , c i n i , c o i n i , t, e s t C e r t I D i , I I D i does not exists in L H 2 such that C I I D C I I D i , P I D P I D i , C S I I D C S I I D i and c o i n i , B 3 runs H 2 -Query ( C I I D , e C e r t I D , C S I I D s ) ;
    (c)
    next, if c o i n i = 1 , B 3 reports failure (denoted by E 14 ) and terminates the simulation because it is not allowed to answer the sign query on any revoked and challenged user with certificate information C I I D ;
    (d)
    otherwise B 3 calculates the signature as follows:
    i.
    sets c = c i , e C e r t I D = e C e r t I D i , e s t C e r t I D = e s t C e r t I D i , I I D = I I D i ;
    ii.
    selects w 1 , w 2 R Z p * and E R G 1 at random and sets h = h c t r ;
    iii.
    calculates U = e ^ ψ ( I I D ) , E w 2 e ^ e C e r t I D + ψ ( e s t C e r t I D ) , I I D ) h and k 1 P = w 1 P + h P I D ;
    iv.
    B 3 tries to find tuple ( m , k 1 P , U , c ) in the L H 3 list; if such a tuple appears in tuple m , ( k 1 P ) i , U i , c i , c t r i , w w , i , h i of the L H 2 list, i.e., m = m i , k 1 P = ( k 1 P ) i , U = U i and c = c i , B 3 increment index c t r by one and repeats from step (b) and point (ii);
    v.
    B 3 adds tuple m , k 1 P , U , c , c t r , w 2 , h to L H 3 and increments c t r by one;
    vi.
    B 3 returns tuple ( m , σ = ( h , w 1 , w 2 , E ) , C I I D , C S I I D , e C e r t I D , e s t C e r t I D , I I D ) to A 3 , where σ is the signature.
          The sign query oracle does not use the user’s secret value, which makes it a Super-Sign oracle.
          Output. A successful adversary returns a valid forgery ( m ^ , σ ^ = ( h ^ , w 1 ^ , w 2 ^ , E ^ ) , C I I D , C S I I D , e C e r t I D , e s t C e r t I D , I I D ) for ( m ^ , C I I D , C S I I D , P I D ) . Hence, we have h ^ =   H 3 ( m ^ , w 1 ^ P + h ^ P I D , U , c ^ ) , where U = e ^ ( ψ ( I I D ) , E ^ ) w ^ 2   e ^ ( e C e r t I D + ψ ( e s t C e r t I D ) , I I D ) h ^ , c ^ = H 1 ( C I I D ) and P I D = s ^ I D P . In this instance, P I D is chosen by A 3 and may not be the one returned by the oracle Create-User-Query. Moreover, ( C I I D , P I D , e C e r t I D ) and ( m ^ , C I I D , C S I I D ,   P I D ) have never appeared as ShortTerm-Explicit-Cert-Gen-Query or Super-Sign-Query queries, respectively.
          Let C I I D , P I D , R I D , R I D , c o i n , c i n , c ^ , C, e C e r t I D , C I I D , e C e r t I D , P I D , C S I I D , Z I D , Z I D , c i n , c o i n , t ^ , ⊥, and m ^ , w 1 ^ P + h ^ P I D , U , c ^ , c t r i , w 2 ^ , h ^ be the respective tuples of L H 1 , L H 2 and L H 3 that correspond to the target valid forgery σ ^ . Thus, wrapper B 3 returns ( c t r i , c o i n , h ^ , t ^ , w 2 ^ , c ^ , U, E ^ , P I D , C I ^ I D , C S I ^ I D , R ^ I D , R ^ I D , C, e C e r t I D , e s t C e r t I D , I I D ) as its output.
          Note that side output σ consists of ( c o i n , h ^ , t ^ , w 2 ^ , c ^ , U, E ^ , P I D , C I ^ I D , C S I ^ I D , R ^ I D , R ^ I D , C, e C e r t I D , e s t C e r t I D , I I D ) . In order to achieve these side output components, we assume that tuple ( m ^ , w 1 ^ P + h ^ P I D , U , c ^ ) has been queried to random oracle H 3 -Query and the tuple m ^ , w 1 ^ P + h ^ P I D , U , c ^ , c t r i , w 2 ^ , h ^ is given in L H 3 list).
          When an adversary returns an invalid forgery, B 3 returns failure (denoted by E 2 ) and aborts.
2.
Reduction Algorithm R 3
Now we can show how to build a reduction algorithm R 3 that can exploit the general forking algorithm related with the above wrapper B 3 . Let = ( G 1 , G 2 , p , P , s P , Q , s Q , ( s + r 1 q 1 ) 1 Q , …, ( s + r k q k ) 1 Q ) be the given k-mCAA problem. Reducing Algorithm R 3 invokes the general forking algorithm F B 3 to solve the k-mCAA problem (Algorithm 2).
Algorithm 2 R3( ).
( b , { σ 0 , σ 1 } ) $ F B 3 ( )
if (b == 0) then return 0 // Event E3 ( F B 3 fails and stops)
parse  σ i  as
( β ^ i , h i ^ , t i ^ , w 2 , i ^ , c i ^ , U ^ i , E i ^ , P I D , C I ^ I D , C S I ^ I D ,
                   R ^ I D , R ^ I D , C, e C e r t I D , e s t C e r t I D , I I D )
let  β ^ = β ^ 0 = β ^ 1 , U ^ 0 = U ^ 1 , q * = c ^ 0 = c ^ 1  and  t ^ 0 = t ^ 1
if  β ^ = = 1  then
         return  i C e r t I D = ( h ^ 0 h ^ 1 ) 1 ( w 2 , 0 ^ E ^ 0 w 2 , 1 ^ E ^ 1 ) e s t C e r t I D  
else return 0 // Event E4 ( F B 3 is successful)
3.
Correctness of the k-mCAA Problem Solution
When the general forking algorithm F B 3 does not fail, R 3 obtains two sets of side outputs σ 0 and σ 1 , where σ i (for i = 0 , 1 ) is written as ( β ^ i , h i ^ , t i ^ , w 2 , i ^ , c i ^ , U ^ i , E i ^ , P I D , C ^ I D , C S I ^ I D , R ^ I D , R ^ I D , C, e C e r t I D , e s t C e r t I D , I I D ) . Compare output σ from wrapper B 3 to measure this phenomenon. Additionally, we assume that β ^ = β ^ 0 = β ^ 1 , U ^ 0 = U ^ 1 , q * = c ^ 0 = c ^ 1 , t ^ 0 = t ^ 1 and R I D = r * Q . R 3 returns failure (denoted by E 4 ) and stops if β ^ is equal to 0.
Algorithm R 3 obtains two valid signature forgeries σ i ^ = ( m ^ , σ ^ = ( h i ^ , w 1 , i ^ , w 2 , i ^ , E i ^ ), C I , C S I , e C e r t , e s t C e r t I D , I I D ) ( i = 0 , 1 ) for the same message m ^ , public key P I D , long-term explicit certificate e C e r t I D and short-term explicit certificate e s t C e r t I D . The following equation is applied based on two sets of side outputs σ 0 and σ 1 :
e ^ ψ ( I I D ) , E ^ 0 w ^ 2 , 0 e ^ e C e r t I D + ψ ( e s t C e r t I D ) , I I D h ^ 0 = = e ^ ψ ( I I D ) , E ^ 1 w ^ 2 , 1 e ^ e C e r t I D + ψ ( e s t C e r t I D ) , I I D h ^ 1
By making suitable arrangements:
e ^ ψ ( I I D ) , w ^ 2 , 0 E ^ 0 + h ^ 0 ( i C e r t I D + e s t C e r t I D ) = = e ^ ψ ( I I D ) , w ^ 2 , 1 E ^ 1 + h ^ 1 ( i C e r t I D + e s t C e r t I D )
Eventually, the k-mCAA problem solution is:
i C e r t I D = 1 ( r * q * + s ) Q = ( w ^ 2 , 0 E ^ 0 w ^ 2 , 1 E ^ 1 ) ( h ^ 0 h ^ 1 ) e s t C e r t I D
where q * { q 1 , , q k } and r * ^ Q { r 1 Q , , r k Q } .
The probability that the R 3 algorithm will solve the k-mCAA problem has not yet been calculated. In accordance with the simulation results, the R 3 algorithm can compute the value of i C e r t I D if and only if the below events occur:
  • ¬ E 1 : B 3 does not fail during the simulation;
  • ¬ E 2 : A 3 outputs a valid forgery;
  • ¬ E 3 : F B 3 does not fail;
  • ¬ E 4 : R 3 does not fail, i.e., in interaction with adversary A 3 outputs two valid forgeries with a coin value β ^ of 1.
We denote the probability with which F B 3 succeeds during the first run as a c c 3 . Since F B 3 succeeds during the first run when there is no interruption in the query phase (event E 1 does not occur) and when adversary A 3 creates a valid forgery (event E 2 does not occur), we have:
a c c 3 P r [ ¬ E 1 ¬ E 2 ] = P r [ ¬ E 1 ] P r [ ¬ E 2 | ¬ E 1 ]
Event ¬ E 1 occurs only when the four following events for ¬ E 1 happen:
  • ¬ E 11 : B 3 cannot terminate during oracle simulation Implicit-Cert-Gen-Query, which occurs with a probability of ( 1 ζ ) q I ;
  • ¬ E 12 : B 3 cannot terminate during oracle simulation LongTerm-Explicit-Cert-Gen-Query, which occurs with a probability of ( 1 ζ ) q E ;
  • ¬ E 13 : B 3 cannot terminate during oracle simulation ShortTerm-Explicit-Cert-Gen-Query, which occurs with a probability of ( 1 ζ ) q T ;
  • ¬ E 14 : B 3 cannot terminate during oracle simulation Super-Sign-Query, which occurs with a probability of ( 1 ζ ) q S .
Then we obtain:
P r [ ¬ E 1 ] = P r [ ¬ E 11 ¬ E 12 ¬ E 13 ¬ E 14 ] = ( 1 ζ ) μ
where μ = q I + q E + q T + q S .
In addition, the probability of adversary A 3 producing a valid forgery when event E 1 does not occur is equal to P r [ ¬ E 2 | ¬ E 1 ] = ε .
If events E 3 and E 4 do not occur, then the advantage of the algorithm R 3 in solving the k-mCAA problem is:
P r [ ¬ E 3 ¬ E 4 ] = P r [ ¬ E 3 ] P r [ ¬ E 4 | ¬ E 3 ]
Let g f r k be the probability at which F B 3 is successful. As event E 4 occurs when F B 3 fails:
P r [ ¬ E 3 ] = g f r k
Based on the general forking lemma [30,44] for γ = q H 3 and | H | = p :
g f r k a c c 3 a c c 3 γ 1 p ( 1 ζ ) μ ε ( 1 ζ ) μ ε γ 1 p
The probability at which the event E 4 does not occur, when the event E 3 does not occur, is equal to the probability at which the coin’s value of β ^ valid forgeries is not equal to 0. Hence:
P r [ ¬ E 4 | ¬ E 3 ] = ζ 2
Finally, the derivative R 3 of a successful solution to the k-mCAA problem is computed as described below:
ε k m C A A R 3 ζ 2 ( 1 ζ ) μ ε ( 1 ζ ) μ ε γ 1 p
When p > > 1 , the expression is maximised at ζ = 1 / μ . Therefore:
ε k m C A A R 3 ζ 2 ( 1 ζ ) 2 μ ε 2 γ = = 1 ( μ + 1 ) 2 1 1 μ + 1 2 μ ε 2 γ ε 2 γ e ( μ + 1 ) 2 = ε 2 γ e ( ( q I + q E + q T + q S ) + 1 ) 2

5. Performance Analysis

We compared our proposed IE-RCBS-kCAA scheme in terms of performance to two other schemes of similar design. For computational comparisons, we use notations of time-consuming operations based on results presented in Y. Huang et al. [39]:
  • T p : the time of executing a bilinear pairing operation e ^ : G 1 × G 2 G T ;
  • T m : the time of executing a scalar multiplication in G 1 and G 2 ;
  • T e : the time of an exponentiation operation in G T ;
  • T h : the time of executing a map-to-point hash function.
Many operations are several orders of magnitude faster than bilinear pairing ( T p ), map-to-point hash ( T h ), scalar multiplication ( T m ) in G 1 or G 2 and exponentiation in G T ( T e ). These operations are hashing, inversion in Z p * , multiplication in Z p * , addition in Z p * , multiplication in G T , and addition with G 1 or G 2 . Therefore, we only consider T p , T m , T e and T h when we compare the computation costs of analysed signature schemes.
Table 2 includes a comparison of the IE-RCBS-kCAA scheme to two other schemes ( | G 1 | , | G 2 | and | Z p | mean the bit lengths of the elements in G 1 , G 2 and Z p , respectively). Our scheme has the same level of security as the two other schemes. Furthermore, our scheme IE-RCBS-kCAA contains a comparable number of time-consuming operations. In comparison with other schemes, the most time-consuming algorithm in IE-RCBS-kCAA is the Sign algorithm. However, the signature verification Verify algorithm is less time-consuming and requires only two bilinear pairing calculations instead of four. This feature of our algorithm is significant because, in practice, the signature operation is performed once, and the verification operation can be performed many times. However, obtaining this property resulted in our scheme’s larger signature size.
The run times of the Sign and Verify algorithms were examined using a test computer (Intel Core i7-8750H@2,20 GHz, 16 GB RAM) with a single thread. The scheme was implemented using an IAIK ECCelerate library for Java. Type 2 asymmetric pairing (ate pairing) based on the Barreto–Naehrig curve was used with different field sizes (160, 256, 384, 512 and 638 bits). The results (Table 3) average five repetitions. The time required to execute the Sign and Verify algorithms is less than 100 ms (except for the filed size of 638 bits). In Table 3, we also give the size in bytes of the signature for the different field sizes. We obtained this value by serialising all signature elements into an array of bytes (the signature consists of one element in G 2 and 3 in Z p ). The resulting signature size ranges from 387 to 1250 bytes. In real applications, adding a few dozen more bytes for formatting and metadata would be necessary.

6. Conclusions

In the IE-RCBS-kCAA scheme, a trusted status authority (TSA) directly performs the revocation procedure and, as a result, alleviates the load of the trusted authority (TA). Moreover, the architecture framework proposed in this paper can contain many TSA authorities, effectively solving the scalability problem. This property is unique and is not available in other similar solutions. Unlike other proposals, e.g., Jia et al. [27], obtaining such a solution is possible because a master private status key can be generated independently by each TSA.
We also formalize the security model for an adversary that can obtain a valid signature in the super sign query phase relevant to the public key selected by itself without providing the corresponding secret key. This security model proves that our IE-RCBS-kCAA signature scheme is semantically secure against Super Type I/II/III attackers under the k-mCAA and the D L assumptions over the respective groups G 2 and G 1 .
The digital signature schemes must include a revocation mechanism to support non-repudiation and achieve Girault trust level 3. In order to achieve such properties, the paper proposes an architecture framework adapted to the needs of the IE-RCBS-kCAA scheme. In this scheme, an important role from the point of view of practical applications is played by the trusted status authority (TSA, see Figure 1), which periodically updates the explicit short-term certificates as long as the long-term explicit certificate has not been revoked. It is worth noting that an architecture framework (see Figure 1) can contain many TSA authorities, which effectively solves the scalability problem. This feature is very important when the TSA is applied to updating the validity of many short-term explicit certificates in the same or different trust domains.
The performance comparisons with two other revocable signature schemes show that our signature scheme has a similar number of time-intensive operations. The empirical execution times of the Sign and Verify algorithms are significantly below one second. The signature size in our scheme is approximately 1 KB. Such a size will be too large a value for some practical applications, e.g., the transmission of short messages from IoT sensors. However, this value will be within an acceptable range for large documents and for signing transactions that are sent over high-speed internet connections. The performance analysis shows that the scheme is suitable for further practical work when signing large documents is needed. In this case, the signature is always decidedly shorter than the message. In other practical applications, one must carefully analyse if the signature size is acceptable.
Future research includes deploying the signature scheme with the certificates to be validated according to the chain model (see Section 1). Such a signature scheme extends the feature of the IE-RCBS-kCAA scheme and should provide a non-repudiation property over a long period. Another important research problem will concern potential inconsistencies between the proposed mathematical proof of security of the encryption scheme and its real implementation. To compare different security models and evaluate their impact on the encrypted scheme, we plan to use a ranking based on pairwise comparisons (first proposed in Janicki et al. [45]). This approach will allow us to locate inconsistencies in the adopted security models and improve the design process of the encryption scheme.

Author Contributions

Conceptualization, J.P., T.H. and W.Z.; methodology, J.P.; software, T.H.; validation, J.P., T.H. and W.Z.; formal analysis, J.P. and T.H.; writing—original draft preparation, J.P., T.H. and W.Z.; writing—review and editing, J.P., T.H. and W.Z.; All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Data Availability Statement

Data is contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Baier, H.; Karatsiolis, V. Validity Models of Electronic Signatures and Their Enforcement in Practice. In Proceedings of the Public Key Infrastructures, Services and Applications: 6th European Workshop, EuroPKI 2009, Pisa, Italy, 10–11 September 2009; Revised Selected Papers. Martinelli, F., Preneel, B., Eds.; Springer: Berlin/Heidelberg, Germany, 2010; pp. 255–270. [Google Scholar] [CrossRef]
  2. Ben, M.; Barka, M.; Krief, F.; Ly, O. Modeling Long-Term Signature Validation for Resolution of Dispute. In Proceedings of the Theory of Security and Applications: Joint Workshop, TOSCA 2011, Saarbrücken, Germany, 31 March–1 April 2011; Revised Selected Papers. Mödersheim, S., Palamidessi, C., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 78–97. [Google Scholar] [CrossRef]
  3. Hyla, T.; Pejaś, J. A Hess-like Signature Scheme based on Implicit and Explicit Certificates. Comput. J. 2017, 60, 457–475. [Google Scholar] [CrossRef]
  4. Shamir, A. Identity-Based Cryptosystems and Signature Schemes. In Proceedings of the Advances in Cryptology, Proceedings of CRYPTO ’84, Santa Barbara, CA, USA, 19–22 August 1984; Lecture Notes in Computer Science. Springer: Berlin/Heidelberg, Germany, 1984; Volume 196, pp. 47–53. [Google Scholar] [CrossRef]
  5. Desmedt, Y.; Burmester, M. Identity-Based Key Infrastructures (IKI). In Proceedings of the Security and Protection in Information Processing Systems: IFIP 18th World Computer Congress TC11 19th International Information Security Conference, Toulouse, France, 22–27 August 2004; Deswarte, Y., Cuppens, F., Jajodia, S., Wang, L., Eds.; Springer US: Boston, MA, USA, 2004; pp. 167–176. [Google Scholar] [CrossRef]
  6. Hyla, T.; Pejaś, J. Non-standard Certification Models for Pairing Based Cryptography. In Proceedings of the Hard and Soft Computing for Artificial Intelligence, Multimedia and Security, Miedzyzdroje, Poland, 19–21 October 2016; Kobayashi, S.Y., Piegat, A., Pejaś, J., El Fray, I., Kacprzyk, J., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 167–181. [Google Scholar] [CrossRef]
  7. Girault, M. Self-certified public keys. In Proceedings of the Advances in Cryptology—EUROCRYPT ’91: Workshop on the Theory and Application of Cryptographic Techniques, Brighton, UK, 8–11 April 1991; Davies, D.W., Ed.; Springer: Berlin/Heidelberg, Germany, 1991; pp. 490–497. [Google Scholar] [CrossRef]
  8. Ju, H.S.; Kim, D.Y.; Lee, D.H.; Lim, J.; Chun, K. Efficient Revocation of Security Capability in Certificateless Public Key Cryptography. In Proceedings of the Knowledge-Based Intelligent Information and Engineering Systems: 9th International Conference, KES 2005, Melbourne, Australia, 14–16 September 2005; Part II. Khosla, R., Howlett, R.J., Jain, L.C., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 453–459. [Google Scholar] [CrossRef]
  9. Chow, S.S.M.; Boyd, C.; Nieto, J.M.G. Security-Mediated Certificateless Cryptography. In Proceedings of the Public Key Cryptography - PKC 2006: 9th International Conference on Theory and Practice in Public-Key Cryptography, New York, NY, USA, 24–26 April 2006; Yung, M., Dodis, Y., Kiayias, A., Malkin, T., Eds.; Springer: Berlin/Heidelberg, Germany, 2006; pp. 508–524. [Google Scholar] [CrossRef]
  10. Wu, T.Y.; Tsai, T.T.; Tseng, Y.M. A Provably Secure Revocable ID-Based Authenticated Group Key Exchange Protocol with Identifying Malicious Participants. Sci. World J. 2014, 2014, 10. [Google Scholar] [CrossRef]
  11. Al-Riyami, S.S. Cryptographic Schemes Based on Elliptic Curve Pairings. Ph.D. Thesis, Information Security Group, Department of Mathematics Royal Holloway, University of London, London, UK, 2004. [Google Scholar]
  12. Abinav, K.; Badrinarayanan, S.; Rangan, C.P.; Selvi, S.S.D.; Vivek, S.S.; Pradhan, V.K. A Revocable Online-Offline Certificateless Signature Scheme without Pairing. IACR Cryptol. Eprint Arch., Paper 2013/758 2013, 2013. Available online: https://eprint.iacr.org/2013/758 (accessed on 20 June 2023).
  13. Boneh, D.; Franklin, M. Identity-Based Encryption from the Weil Pairing. In Proceedings of the Advances in Cryptology—CRYPTO 2001: 21st Annual International Cryptology Conference, Santa Barbara, CA, USA, 19–23 August 2001; Kilian, J., Ed.; Springer: Berlin/Heidelberg, Germany, 2001; pp. 213–229. [Google Scholar] [CrossRef]
  14. Boldyreva, A.; Goyal, V.; Kumar, V. Identity-based Encryption with Efficient Revocation. In Proceedings of the 15th ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 27–31 October 2008; CCS ’08; ACM: New York, NY, USA, 2008; pp. 417–426. [Google Scholar] [CrossRef]
  15. Libert, B.; Vergnaud, D. Adaptive-ID Secure Revocable Identity-Based Encryption. In Proceedings of the Topics in Cryptology—CT-RSA 2009: The Cryptographers’ Track at the RSA Conference 2009, San Francisco, CA, USA, 20–24 April 2009; Fischlin, M., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 1–15. [Google Scholar] [CrossRef]
  16. Seo, J.H.; Emura, K. Revocable Identity-Based Encryption Revisited: Security Model and Construction. In Proceedings of the Public-Key Cryptography—PKC 2013: 16th International Conference on Practice and Theory in Public-Key Cryptography, Nara, Japan, 26 February–1 March 2013; Kurosawa, K., Hanaoka, G., Eds.; Springer: Berlin/Heidelberg, Germany, 2013; pp. 216–234. [Google Scholar] [CrossRef]
  17. Wu, T.Y.; Tsai, T.T.; Tseng, Y.M. Revocable ID-based Signature Scheme with Batch Verifications. In Proceedings of the 2012 Eighth International Conference on Intelligent Information Hiding and Multimedia Signal Processing, Piraeus-Athens, Greece, 18–20 July 2012; pp. 49–54. [Google Scholar] [CrossRef]
  18. Tseng, Y.M.; Tsai, T.T. Efficient Revocable ID-Based Encryption with a Public Channel. Comput. J. 2012, 55, 475–486. [Google Scholar] [CrossRef]
  19. Wu, T.Y.; Lin, J.C.W.; Chen, C.M.; Tseng, Y.M.; Frnda, J.; Sevcik, L.; Voznak, M. A brief review of revocable ID-based public key cryptosystem. Perspect. Sci. 2016, 7, 81–86. [Google Scholar] [CrossRef]
  20. Chen, J.; Lim, H.W.; Ling, S.; Wang, H.; Nguyen, K. Revocable Identity-Based Encryption from Lattices. In Proceedings of the Information Security and Privacy: 17th Australasian Conference, ACISP 2012, Wollongong, NSW, Australia, 9–11 July 2012; Susilo, W., Mu, Y., Seberry, J., Eds.; Springer: Berlin/Heidelberg, Germany, 2012; pp. 390–403. [Google Scholar] [CrossRef]
  21. Cheng, S.; Zhang, J. Adaptive-ID Secure Revocable Identity-Based Encryption from Lattices via Subset Difference Method. In Proceedings of the Information Security Practice and Experience: 11th International Conference, ISPEC 2015, Beijing, China, 5–8 May 2015; Lopez, J., Wu, Y., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 283–297. [Google Scholar] [CrossRef]
  22. Lee, K.; Lee, D.H.; Park, J.H. Efficient revocable identity-based encryption via subset difference methods. Des. Codes Cryptogr. 2017, 85, 39–76. [Google Scholar] [CrossRef]
  23. Lee, K.; Park, J.H. Identity-Based Revocation From Subset Difference Methods Under Simple Assumptions. IEEE Access 2019, 7, 60333–60347. [Google Scholar] [CrossRef]
  24. Sun, Y.; Zhang, F.; Shen, L. A Revocable Certificateless Signature Scheme. J. Comput. 2014, 9, 1843–1850. [Google Scholar] [CrossRef]
  25. Sun, Y.; Shen, L. Pairing-Free and Revocable Certificateless Signature Against Signing Key Exposure. J. Emerg. Trends Comput. Inf. Sci. 2014, 5, 845–849. [Google Scholar]
  26. Sun, Y.; Zhang, Z.; Shen, L. A Revocable Certificateless Signature Scheme Without Pairing. In Proceedings of the Cloud Computing and Security: Second International Conference, ICCCS 2016, Nanjing, China, 29–31 July 2016; Revised Selected Papers, Part I. Sun, X., Liu, A., Chao, H.C., Bertino, E., Eds.; Springer International Publishing: Cham, Switzerland, 2016; pp. 355–364. [Google Scholar]
  27. Jia, X.; He, D.; Zeadally, S.; Li, L. Efficient Revocable ID-Based Signature With Cloud Revocation Server. IEEE Access 2017, 5, 2945–2954. [Google Scholar] [CrossRef]
  28. Ma, M.; Shi, G.; Shi, X.; Su, M.; Li, F. Revocable Certificateless Public Key Encryption With Outsourced Semi-Trusted Cloud Revocation Agent. IEEE Access 2020, 8, 148157–148168. [Google Scholar] [CrossRef]
  29. Yum, D.H.; Lee, P.J. Separable Implicit Certificate Revocation. In Proceedings of the Information Security and Cryptology—ICISC 2004: 7th International Conference, Seoul, Korea, 2–3 December 2004; Revised Selected Papers. Park, C.S., Chee, S., Eds.; Springer: Berlin/Heidelberg, Germany, 2005; pp. 121–136. [Google Scholar] [CrossRef]
  30. Hyla, T.; Pejaś, J. Demonstrably Secure Signature Scheme Resistant to k-Traitor Collusion Attack. IEEE Access 2018, 6, 50154–50168. [Google Scholar] [CrossRef]
  31. Mitsunari, S.; Sakai, R.; Kasahara, M. A New Traitor Tracing. IEICE Trans. A 2002, 85, 481–484. [Google Scholar]
  32. Santesson, S.; Myers, M.; Ankney, R.; Malpani, A.; Galperin, S.; Adams, D.C. X.509 Internet Public Key Infrastructure Online Certificate Status Protocol–OCSP. pkix 2013, RFC 6960. [Google Scholar] [CrossRef]
  33. Hyla, T.; Pejaś, J. A Signature Scheme Based on Implicit and Explicit Certificates Against k-Traitors Collusion Attack. In Proceedings of the Computer Information Systems and Industrial Management, Bialystok, Poland, 16–18 June 2017; Saeed, K., Homenda, W., Chaki, R., Eds.; Springer International Publishing: Cham, Switzerland, 2017; pp. 638–651. [Google Scholar]
  34. Viswanadham, Y.V.R.S.; Jayavel, K. A Framework for Data Privacy Preserving in Supply Chain Management Using Hybrid Meta-Heuristic Algorithm with Ethereum Blockchain Technology. Electronics 2023, 12, 1404. [Google Scholar] [CrossRef]
  35. Koczkodaj, W.; Mansournia, M.; Pedrycz, W.; Wolny-Dominiak, A.; Zabrodskii, P.; Strzałka, D.; Armstrong, T.; Zolfaghari, A.; Dębski, M.; Mazurek, J. 1,000,000 cases of COVID-19 outside of China: The date predicted by a simple heuristic. Glob. Epidemiol. 2020, 2, 100023. [Google Scholar] [CrossRef]
  36. Craven, M.J.; Woodward, J.R. Evolution of group-theoretic cryptology attacks using hyper-heuristics. J. Math. Cryptol. 2022, 16, 49–63. [Google Scholar] [CrossRef]
  37. Koczkodaj, W.W. Statistically Accurate Evidence of Improved Error Rate by Pairwise Comparisons. Percept. Mot. Ski. 1996, 82, 43–48. [Google Scholar] [CrossRef]
  38. Bellare, M.; Rogaway, P. Random Oracles are Practical: A Paradigm for Designing Efficient Protocols. In Proceedings of the ACM Conference on Computer and Communications Security, Fairfax, VA, USA, 3–5 November 1993; pp. 62–73. [Google Scholar]
  39. Hung, Y.; Tseng, Y.; Huang, S. A revocable certificateless short signature scheme and its authentication application. Informatica 2016, 27, 549–572. [Google Scholar] [CrossRef]
  40. Li, J.; Huang, X.; Mu, Y.; Susilo, W.; Wu, Q. Certificate-Based Signature: Security Model and Efficient Construction. In Proceedings of the Public Key Infrastructure: 4th European PKI Workshop: Theory and Practice, EuroPKI 2007, Palma de Mallorca, Spain, 28–30 June 2007; Lopez, J., Samarati, P., Ferrer, J.L., Eds.; Springer: Berlin/Heidelberg, Germany, 2007; pp. 110–125. [Google Scholar] [CrossRef]
  41. Li, J.; Huang, X.; Zhang, Y.; Xu, L. An efficient short certificate-based signature scheme. J. Syst. Softw. 2012, 85, 314–322. [Google Scholar] [CrossRef]
  42. Li, J.; Huang, X.; Mu, Y.; Susilo, W.; Wu, Q. Constructions of certificate-based signature secure against key replacement attacks. J. Comput. Secur. 2010, 18, 421–449. [Google Scholar] [CrossRef]
  43. Huang, X.; Mu, Y.; Susilo, W.; Wong, D.S.; Wu, W. Certificateless Signatures: New Schemes and Security Models. Comput. J. 2012, 55, 457–474. [Google Scholar] [CrossRef]
  44. Bellare, M.; Neven, G. Multi-signatures in the Plain public-Key Model and a General Forking Lemma. In Proceedings of the 13th ACM Conference on Computer and Communications Security, Copenhagen, Denmark, 26–30 November 2023; CCS ’06; ACM: New York, NY, USA, 2006; pp. 390–399. [Google Scholar] [CrossRef]
  45. Janicki, R.; Koczkodaj, W. A weak order approach to group ranking. Comput. Math. Appl. 1996, 32, 51–59. [Google Scholar] [CrossRef]
Figure 1. Architecture framework of IE-RCBS-kCAA signature scheme.
Figure 1. Architecture framework of IE-RCBS-kCAA signature scheme.
Entropy 25 01315 g001
Table 1. The adversary types with different capabilities.
Table 1. The adversary types with different capabilities.
Adversary TypeTA Master KeyTSA Master KeyImplicit CertificateShort-Term Explicit CertificateUser’s Secret KeyPublic Key Replacement
A 1 (non-certified user)nononoyesyesyes
A 2 (certified user)yesyesyesyesnono
A 3 (user with revoked certificate)nonoyesnoyesyes
A 4 (certified user)yesnoyesyesnono
A 5 (non-certified user)noyesnoyesyesyes
Table 2. Comparisons between our scheme and two other schemes.
Table 2. Comparisons between our scheme and two other schemes.
SchemeTypeSignature SizeSignVerifySecurity Level
SZS Y. Sun et al. [24]CLS 2 | G 1 | 3 T m + 2 T h 4 T p + 3 T h Super for A 1 , A 2 , A 3
HTH Y. Huang et al. [39]CLS | G 1 | 2 T m + 2 T h 4 T p + T m + 3 T h Super for A 1 , A 2 , A 3
Proposed IE-RCBS-kCAAIE-CBS | G 2 | + 3 | Z p | T p + 5 T m 2 T p + 4 T m Super for A 1 , A 2 , A 3
Table 3. Sign and Verify execution time, signature size.
Table 3. Sign and Verify execution time, signature size.
Field Size (bits)Sign (ms)Verify (ms)Signature Size (bytes)
1602012387
2562823560
3845045789
51279701020
6381381751250
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

Pejaś, J.; Hyla, T.; Zabierowski, W. Revocable Signature Scheme with Implicit and Explicit Certificates. Entropy 2023, 25, 1315. https://doi.org/10.3390/e25091315

AMA Style

Pejaś J, Hyla T, Zabierowski W. Revocable Signature Scheme with Implicit and Explicit Certificates. Entropy. 2023; 25(9):1315. https://doi.org/10.3390/e25091315

Chicago/Turabian Style

Pejaś, Jerzy, Tomasz Hyla, and Wojciech Zabierowski. 2023. "Revocable Signature Scheme with Implicit and Explicit Certificates" Entropy 25, no. 9: 1315. https://doi.org/10.3390/e25091315

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop