Skip to main content
Advertisement
Browse Subject Areas
?

Click through the PLOS taxonomy to find articles in your field.

For more information about PLOS Subject Areas, click here.

  • Loading metrics

A secure and efficient certificateless content extraction signature with privacy protection

  • Can Zhao,

    Roles Writing – original draft

    Affiliation School of Computer Science, South-Central University for Nationalities, Wuhan, China

  • Jiabing Liu,

    Roles Conceptualization

    Affiliation School of Computer Science, South-Central University for Nationalities, Wuhan, China

  • Fuyong Zheng,

    Roles Investigation

    Affiliation Information and communication Branch, Jiangxi electric power Co. ltd., Nanchang, China

  • Dejun Wang,

    Roles Validation

    Affiliation School of Computer Science, South-Central University for Nationalities, Wuhan, China

  • Bo Meng

    Roles Visualization

    mengscuec@gmail.com

    Affiliation School of Computer Science, South-Central University for Nationalities, Wuhan, China

Abstract

Efficiency and privacy are the key aspects in content extraction signatures. In this study, we proposed a Secure and Efficient and Certificateless Content Extraction Signature with Privacy Protection (SECCESPP) in which scalar multiplication of elliptic curves is used to replace inefficient bilinear pairing of certificateless public key cryptosystem, and the signcryption idea is borrowed to implement privacy protection for signed messages. The correctness of the SECCESPP scheme is demonstrated by the consistency of the message and the accuracy of the equation. The security and privacy of the SECCESPP scheme are demonstrated based on the elliptic curve discrete logarithm problem in the random oracle model and are formally analyzed with the formal analysis tool ProVerif, respectively. Theory and experimental analysis show that the SECCESPP scheme is more efficient than other schemes.

Introduction

Content extraction signatures have been widely used to protect electronic medical records and electronic commerce security, in which the signature verifier can verify the authenticity of the extracted message without knowing the entire signed message [1]. Efficiency and privacy protection are the key aspects of a content extraction signature. For efficiency purposes, most content extraction signature schemes were developed using the traditional public key cryptosystem [25] or the identity-based public key cryptosystem [610]. Owning to the problems of certificate management in traditional public key cryptosystems and user key management in identity-based public key cryptosystems, respectively, people have turned to certificateless public key cryptosystems to implement the content extraction signatures [1113] in the present day because no certificate is required and key management problems barely exist for certificateless public key cryptosystem. However, certificateless public key cryptosystem are based on costly bilinear paring of elliptic curves. The efficiency of such an approach is low. The operations currently available for elliptic curves include exponential operation, scalar multiplication, bilinear pairing and a hash function According to references [8,9], scalar multiplication is the most efficient operation and is therefore a good option to replace inefficient bilinear pairing in certificateless public key cryptosystem.

For privacy protection, the signed message of a content extraction signature may contain a private message. However, existing content extraction signatures do not consider privacy protection. The available privacy protection methods mainly include data distortion and data encryption [11]. Data distortion has no universality and depends on the data types used. Data encryption is a good choice for implementing privacy with regard to content extraction signatures. In general, the sign-then-encrypt approach can provide privacy and authentication. However, it is inefficient because the encryption and signature processes are separate operations. But signcryption [2] can provide privacy and authentication with high efficiency because the encryption and signature are completed in a single logical step.

Therefore, to improve the efficiency of and provide privacy protection for content extraction signatures, we propose a Secure and Efficient Certificateless Content Extraction Signature with Privacy Protection (SECCESPP) scheme. The main works is presented as follows:

  1. Scalar multiplication is used on elliptic curves to replace inefficient bilinear pairing in a certificateless public key cryptosystem, and the signcryption idea from data encryption approach is borrowed to implement privacy for signed message.
  2. The correctness of the scheme is demonstrated by the consistency of the message and the accuracy of the equation, the scheme’s security is verified based on the elliptic curve discrete logarithm problem in the random oracle model, and privacy is analysed with the formal analysis tool ProVerif.
  3. The scheme is compared to the related schemes [1419], revealing that the SECCESPP scheme is more efficient.

The rest of the paper is organized as follows. Section 1 discussed the related works of privacy protection, content extraction signature and signcryption. Section 2 makes a simple review of preliminaries. Section 3 presents the SECCESPP scheme. Section 4 illustrates the correctness of the SECCESPP scheme. Section 5 gives proofs about security requirements. Section6 makes comparisons of performance. Finally, Section 7 presents the conclusion and future work.

Related work

Since the SECCESPP scheme involves privacy protection, content extraction signatures and signcryption, this section briefly introduces the related works regarding these three components.

Privacy protection

There is much information that is vulnerable to attackers. In 2017, Adat et al. discussed the history, background, statistics of IoT and security based analysis of IoT architecture and provided taxonomy of various defense mechanisms [20]. It is urgent to protect private information. The existing privacy protection technologies can be divided into two categories: data distortion and data encryption approaches [11].

Technologies based on data distortion distort sensitive data while keeping some data or data attributes unchanged, and the most common technique of this type is the differential privacy technique. In 2018, Ye [21] proposed a new localized differential privacy protection model. The protection model adopts random response technology, which first makes the data private and then sends it, to provide comprehensive protection for sensitive information; this approach can not only resist attackers with arbitrary background knowledge but also prevent privacy attacks from distrusted third parties. However, it depends heavily on the accompanying data, and different algorithms are designed for different data, so it has no universality. In 2021, Stergoiu et al. [22] proposed an innovative system of secure caching scenario which operates in a wireless-mobile 6G network for managing BD on Smart Buildings(SB) and created a novel and secure Cache Decision System(CDS) in a wireless network that operates over a SB, which offer the users a safer and efficient environment for browsing the internet, sharing and managing large-scale data in the fog. It could be a start point for better and more efficient wireless networking scenario, for managing and sharing Big Data on a Smart Building.

Technologies based on data encryption hide sensitive data in the process of data mining. It is mainly used in distributed application environments and can solve the communication security problem. At present, Homomorphic Encryption (HE) is widely used. HE refers to specific classes of encryption schemes that allow for computing directly on encrypted data without having to decrypt them. In 2020, Zhao [23] presented a circular secure public key homomorphic encryption scheme using noise flooding technique, and provided security proofs and parameter setting. Furthermore, by introducing the refuse sampling technique, an optimized circular secure public key homomorphic encryption scheme was given, and the system parameters were reduced from the super-polynomial level to the polynomial level, thereby greatly reducing the size of the public key and ciphertext. Then, the computational complexity of ciphertext evaluation could be effectively improved, and the performance of the homomorphic encryption scheme could be enhanced. However, at the same time, there are some problems with this method, such as high computing costs, high communication costs, complex deployment, and high practical application difficulty. In 2021, Zhang et al. [24] proposed a secure decentralized spatial crowdsourcing scheme for 6G-Enabled Network in Box using CBC-MAC authenticated encryption mechanism to provide confidentiality and integrity. It solves leakage of sensing nodes locations. But it Still hasn’t solved the problem of data leaks in transit. In the same year, in order to solve the security of shared information VANET system, Vijayakumar et al. [25] proposed an efficient batch authentication and key exchange schemes, which will be applied to blockchain users in the future. Then, Azees et al. [26] completed the following work, applying blockchain technology to the security guarantee of VANET system, realizing the rapid reauthentication of vehicles, and making a contribution to the information security in the future blockchain era.

Content extraction signature

The Content Extraction Signature (CES) was first proposed by Steinfeld [27]. According to the technology used, CES types are mainly divided into a CommitVector (CV)-based content extraction signature, an RSA-based content extraction signature, and a hash tree (HT)-based content extraction signature.

A CES scheme [3] based on a CV has the characteristics of unforgeability and exclusivity. Its unforgeability is jointly guaranteed by the standard digital signature EUF-CMA and the binding of the message commitment scheme, while its exclusivity is guaranteed by the hiding of the message commitment scheme. Scheme [27] formalized and proved these two securities. Scheme [3] has a lower computational cost than the CES scheme [27], which requires a signature operation and a commitment operation to be performed for the original signature generation process. However, because the original signature and the intercepted signature contain the committed random numbers of all the retained sub-data and the committed values of the deleted sub-data, the length of the signature expands, and the communication overhead increases.

To solve the problem of CVs, an RSA-based CES was proposed. An RSA-based CES is formed on the basis of a CV-based CES using the RSA signature, and the length of the signature is only the length of the modulo of the RSA signature, which greatly reduces the length of the signature. Combining this with the idea of batch signatures, in 2014, Li [4] proposed an improved scheme for content extraction signatures based on RSA. The scheme can judge whether a content extraction access structure (CEAS) meets the given extraction conditions through the correspondence between (M′) and CI(M′). In 2015, Lan [28] proposed an identity-based CES scheme. This scheme does not need to sign every sub-message, thereby improving efficiency, and it can prevent PKG from forging signatures and thus improve its application value. In 2017, Wang [29], based on [28], achieved the goal of shortening the length of the signature by reducing the commitment value and random number and performed unified signature and verification operations on sub-messages, which improved the efficiency of signing and verification.

However, by using quantum cryptography, the keys of Std.RSA might get broken down to approximately 850 bits. This result in the need to enhance the current public key cryptosystem. Thus, the HT-based CES was proposed. Drawing on the idea of a binary tree, hashing every two message blocks generates a commitment hash value, recursively, layer by layer, and obtains a total hash value, which greatly reduces the chance of the CES breaking. In 2016, Thirumalai [30] proposed a commitment tree-based batch signature scheme. Compared with the CV-based CES and RSA-based CES, this scheme has a lower signature length, fewer calculation operations, and improved signature efficiency. In 2019, Szalachowski [31] proposed a TLS-N method based on the TLS extension. In this method, the Merkle tree is used during the process of generating evidence. The server generates evidence about the TLS session content, generates a noninteractive certificate about the TLS session content on the client, and then sends the session content and the certificate to a third party for verification. In 2020, Cheng [32] proposed a blockchain based secure storage and sharing scheme for electronic health records data. In this scheme, a certificateless content extraction signature algorithm is used to provide privacy protection, secure sharing of data has realized in combination with smart contracts. The combination of blockchain and content extraction signature is better applied in the electronic medical records.

Signcryption

Signcryption is a cryptographic primitive that captures a common practical scenario where one simultaneously requires confidentiality and nonrepudiation for transmitted data. Signcryption schemes achieve confidentiality and authentication simultaneously by combining public key encryption and digital signatures, offering better overall performance and security than other schemes [11]. There are three types of signcryption: public key infrastructure (PKI)-based signcryption, identity (ID)-based signcryption, and certificateless signcryption.

A PKI is required to manage and distribute public keys. In such systems, a public key is bound to the corresponding unique user ID. Trusted third-party tools are used to bind the users to unique public keys through an appropriate registration process. Based on the PKI concept, in 1997, Zheng [2] proposed signcryption, which has since been widely discussed and studied. The original scheme used interactive zero-knowledge proof technology, which is not efficient. In 2019, Yan [5] proposed a signcryption scheme that directly uses the sender’s public key to verify the validity of the signature. Compared with the sign-then-encrypt mechanism, the public key size and the computational cost of the signcryption operation are both obviously reduced. However, the use of an additional third-party application makes public key cryptography expensive and inefficient.

To overcome the problem of the PKI management system, many ID-based signcryption schemes have been proposed. The idea of ID-based signcryption was first proposed by Malone [6] in 2002 along with a security model. This model was developed by Boyen [7]. Three new security notions were added: ciphertext unlinkability, ciphertext authentication and ciphertext anonymity. In 2019, Wang [8] proposed a basic model for ID-based signcryption schemes that can use bilinear pairs to design signcryption schemes. In the same year, Shankar [8] pointed out that scheme [8] was not secure and proposed three new secure solutions. However, they do not satisfy public verifiability and forward security at the same time. In response to this problem, in 2019, Pan [10] proposed a solution that uses two private keys for signcryption and unsigncryption. In 2019, Deng [33] proposed a new ID-based signcryption model, that solved the problem in which [9] does not simultaneously satisfy public verifiability and forward security. However, the system needs a third-party application for private key management to generate them secretly and distribute them to users.

To address PKI-based and ID-based signcryption issues, a certificateless signcryption approach was proposed by Riyamin [11] in 2008. It presents stronger security properties than one might expect from its internal building blocks; sharing randomness between encryption and signature modules not only provides extra savings in terms of the computational and bandwidth loads but also yields strong insider security guarantees. In 2019, Gao [12] proposed an improved certificateless signcryption scheme. This scheme guarantees the security of the signcryption phase by defining the length of the message space during the system establishment phase. In the same year, Wang [13] proposed the definition of a blind signcryption scheme under certificated and certificateless public key cryptosystems and proposed a blind signcryption scheme based on bilinear pairing. The scheme increases blindness, but the computational cost does not increase significantly. In 2020, Fang [34] proposed a certificateless multi-receiver multi-message simultaneous broadcast signcryption scheme. Combined with random elements in an elliptic curve cyclic group, the encryption key is generated, which solves the problems of receiver decryption ciphertext and identity anonymity protection. However, the scheme lacks a security mechanism when verifying the signcryption.

Preliminaries

This section introduces the commitment scheme, salt tree, binary commitment tree and content extraction access structure used in the SECCESPP scheme.

Commitment

Commitment, with two characteristics of Hiding and Binding, is a fundamental model in the field of cryptography. Hiding means that the commitment can hide information, that is, no other entity can obtain information from the commitment except the entity that places the information there. Binding means that no entity is allowed to change the information within the commitment, and it can verify that the information it receives is indeed the information originally promised.

The commitment scheme is composed of three algorithms: Gen(), Com() nad Ver().

Initialization phase: Gen() accepts a “1” bit string of length k as input and outputs a common reference string crs.

(1)

Commitment phase: Com() accepts a common reference string crs and a committed message m as input, and outputs m’s commitment value com and decommitment information dec.

(2)

Decommitment phase: The sender sends dec and m to the receiver.

Verification phase: Ver() accepts the message m, common string crs, commitment value com and decommitment information dec as input, and it outputs verification result.

(3)

In the SECCESPP scheme, the entire message M is divided into n blocks, M = {M[1], M[2], … M[i], …, M[n]}, along with a random number string called salt, and used as input for the message commitment algorithm C(). Because the entropy of the message block is low, pseudorandom salt can be used to protect the committed privacy and avoid brute force attacks. Combine the message block M[i] and pseudorandom salt together to generate the commitment . Recalculate the commitment for the new message M′[i] during the verification phase. If c = c′ is true, the new message M′[i] is indeed the message M[i] originally promised.

Salt tree

The leaf nodes in a salt tree are used as salt to generate a binary commitment tree to greatly increase the computations required by an attack.

To protect privacy, and must remain independent, meaning that the salt tree generation process cannot be sent directly to the verifier and must be retrieve. The salt tree is constructed by the function E(), and the salt value is obtained as the input of the binary commitment tree. The inputs for the function E() are a session-based secret value and a Nonce random value, and the output is a pseudorandom salt. During the verification process, the corresponding salt is required for completion.

Binary commitment tree

The purpose of building the binary commitment tree is to include the commitment in the proof. The commitment value generated by the commitment algorithm serves as input for obtaining the leaf node value of the binary commitment tree. The hash value hi of the binary commitment tree is calculated by the anti-collision hash function of the hash value, session message length lr and signer information of Oi its child node. Oi is the i-th member of the order vector. The commitment values generated in section II.B are used as leaf nodes to generate the hash chain. All the leaf nodes can be verified by signature verification of the root node using the binary commitment tree.

The generation process for a binary commitment tree is as follow: A session message Record i consists of n sub-message blocks. Each message block and its corresponding salt leaf node salt secret serve as input; the commitment value c is generated as the leaf node of the binary commitment tree. Every two leaf nodes are hashed in a cascade recursively, layer by layer, until the root node is finally obtained. At this point, the binary commitment tree construction process is completed.

Content extraction access structure

To extract sub-message blocks from the original message, the concept of a content extraction access structure (CEAS) is introduced. Sub-message block numbers in a CEAS must be extracted after the original message is partitioned. For example, {M[1], M[2], M[3], M[4]} means that the original message M is divided into four sub-message blocks; CEAS = {1,3} means that sub-message blocks M[1] and M[3] must be extracted, and sub-message blocks M[2] and M[4] can be extracted. If CI(M′) = {1, 3, 4}, then M = {M[1],?, M[3], M[4]}, where ‘?’ represents the unextracted sub-message block, which is denoted as CEASCI(M′). Such an extraction method is legal. If CI(M′) = {3, 4}, then M′ = {?,?, M[3], M[4]}, and this is represented as CEASCI(M′); this kind of extraction method is illegal.

The SECCESPP scheme

The SECCESPP scheme can implement a content extraction signature with privacy protection for a singed message in a single security mechanism in which scalar multiplication on elliptic curves and the signcryption idea are used.

Fig 1 shows the main research framework of the SECCESPP scheme. The SECCESPP scheme is composed of Key-Generation, Signature-Generation, Signcryption-Extraction, and Signcryption-Verification algorithms. Three roles are defined: signer, signcryptor and verifier. The signer first divides the entire message into n blocks and then generates a commitment for each block. Next, the signer generates a signature and sends it to the signcryptor. After receiving the signature, the signcryptor extracts the extracted message blocks and the corresponding commitments, encrypts the extracted message, and generates the content extraction signcryption sent to the verifier. The verifier receives and verifies the content extraction signcryption.

thumbnail
Fig 1. The main research framework of the SECCESPP scheme.

https://doi.org/10.1371/journal.pone.0258907.g001

Key-Generation algorithm

The Key-Generation algorithm generates a public key SKA and a private key PKA for signer A in a certificateless cryptosystem.

  1. Set up the system parameters: First, the KGC (key generator center) selects the master number of k-bits P, where k is the security parameter, and obtains {FP, E / FP, G, P}. Then, is selected as the system master key msk, and the master public key Ppub = xP is calculated. Next, hash function are selected:, H2: {0, 1}* → {0,1}k, H3: {0, 1}* → {0,1}k and . The KGC saves params = {Fp, E / Fp, G, P, H1, H2, H3, H4}.
  2. Signer A randomly selects as the secret value, computes PA = xA · P, and sends it to the KGC, where the identity of signer A is IDA. The KGC calculates hA = H1(IDA, RA, PA), RA = rA · P and sA = rA + hAx mod n to generate a partial key DA = {SA, RA}. Finally, the private key SKA = (xA, sA) and public key PKA = (PA, RA) are produced for signer A in a certificateless public cryptosystem.

Signature-Generation algorithm

The Signature-Generation algorithm generates the signature σF for the entire message M. The entire message M is divided into n blocks, M = {M[1], M[2], … M[i], …, M[n]}. M′ is any submessage extracted from M.ext(i) represents the number of submessage blocks that are common in M and M′. CEAS is a content extraction access structure. The complete pseudocode for signature generation is given in Algorithm 1.

Algorithm 1 Signature-Generation

Input: params, IDA, SKA, PKA, M, CEAS

Output: signature σF

1: repeat

2:  , a[i] = An[i]l va[i] = c[i]

3: until i > n

4:  while aIn do va = H2 (va,0, va,1)

5:  end while

6: choose , R = l · P

7: h = H3 (v0, R, PKA)

8: if gcd(l + h, n) = 1 then

9:  s = (l + h)−1 (xA + sA)mod n

10: end if σF = (CEAS, R, s, c[i]i∈n)

11: return σF //generates signature

Signcryption-Extraction algorithm

After receiving the signature σF, the signcryptor obtains v0 according to the Signature-Generation algorithm, calculates hA = H1(IDA, RA, PA) and h = H3(v0, R, PKA), and verifies the equation s(R+ hP) = PA + RA + hAPpub. If the equation is not correct, the signcryptor stops the algorithm. Otherwise, the following steps are performed to obtain the signcryption σE:

  1. Generate ext(i) according to the CEAS.
  2. Extract M′ = {M′[1], M′[2], M′[3], …, M′[i], …, M′[n]}. The specific measures are as follows: if iext(i), M′[i] = M[i], indicating that the submessage block is extracted; Otherwise, M′[i] = c[i].
  3. Calculate EA, E and extract the signcryption σE

The complete pseudo code for signcryption extraction is given in Algorithm 2.

Algorithm 2 Signcryption-Extraction

Input: message M, signature σF, ext(i), PKA

Output: signature σE

1: (CEAS, R, s, c[i]in) ← σF

2:  repeat

3:   va[i] = c[i]

4:   while aIn do va = H2(Va,0, Va,1)

5:   end while

6:  hA = H1(IDA, RA, PA), h = H3(v0, R, PKA)

7:  if s(R + hP) = PA + RA + hAPpub then

8:    if iext(i) then //generates ext(i)

9:    M′[i] = M[i]

10:   else M′[i] = c[i]

11:   end if

12:  end if

13:  EA = l(PA + RA + hAPpub), E = H4(EA) ⊕ M

14:  σE = (E, CEAS, ext(i), R, s)

15:  return σE

Signcryption-Verification algorithm

After receiving the signcryption σE, the verifier decrypts M′and v0 and verifies the signcryption by the equation s(R + hP) = PA + RA + hAPpub. The complete pseudocode for signcryption verification is given in Algorithm 3.

Algorithm 3 Signcryption-Verification

Input: submessage M′, signcryption σE, PKA

Output: verification result

1:  if ext(i) ∈ CEAS then //else, stops the algorithm

2:  EB = s(xA + sA)(PA + RA R + h · p)

3:   M′ = EH4(EB) //decrypts M

4:  repeat

5:   c[i] = C(M[i], SiR,ic), a[i] = An[i]; va[i] = c[i]

6:   while aIn do

7:    va = H2(va,0, va,1) //gets (decrypts) v0

8:   end while

9:  hA = H1(IDA, RA, PA), h = H4(v0, R, PKA)

10:  if s(R + hP) = PA + RA + hAPpub then

11:   return Acc // σE verified successfully

12:  else

13:   return Rej // σE verification failed

Correctness analysis

In this section, we prove the correctness by the consistency of the message and the accuracy of the equation.

Message consistency

Message consistency indicates that the extracted message M′ in the Signcryption-Extraction algorithm is consistent with the decrypted message M′ in the Signcryption-Verification algorithm.

We analyze the consistency between the submessage M″ extracted in the Signcryption-Extraction algorithm and the submessage M‴ decrypted in the Signcryption-Verification algorithm.

Submessage M″ is extracted in the Signcryption-Extraction algorithm using the following equation: (4)

Submessage M″ is decrypted in the Signcryption-Verification algorithm using the following equation: (5)

The fact is that M″ and M‴ are the same, hence, the SECCESPP scheme has consistency.

Equation accuracy

If equation s(R + hP) = PA + RA + hAPpub in the Signcryption-Verification algorithm is true, then the SECCESPP scheme is bounded. In this section, we check s(R + hP) = PA + RA + hAPpub with the following process.

(6)

Therefore, s(R + hP) = PA + RA + hAPpub is true, and the SECCESPP scheme is bounded.

Security analysis

In this section, first, we demonstrate the security of the SECCESPP scheme under the random oracle model. Then, we use the formal analysis tool ProVerif to formally analyze privacy. Finally, we provide proof of the unforgeability of the SECCESPP scheme.

Security under the random oracle model

The SECCESPP scheme is demonstrably secure under the random oracle model in [35] and can resist adaptive chosen message attack. The possible attacks are divided into two types.

TYPE 1: The attacker does not have access to the primary key. However, the attacker can request or replace the user public key. As discussed above, we impose several natural restrictions on TYPE 1: (1) The attacker cannot extract the private key for IDi at any point. (2) The attacker cannot request the private key for and identity if the corresponding public has already been replaced.

TYPE 2: The attacker does have access to privacy, but cannot request or replace the user public key. The restrictions on this type of attacker are as follows: (1) The attacker cannot replace public keys at any point. (2) The attacker cannot extract the private key for IDi at any point.

The proofs for the two types of attacks are similar. Hence, we only present the proof for the attacker who does not access the primary key but can request or replace the user public key.

Definition (ECDLP): For a random number , given two elements P, Q such that Q = x * P, the goal of the ECDLP is to calculate x.

Theorem: In the random oracle model, the SECCESPP scheme is secure if the ECDLP is intractable.

Proof: Assume that attacker B who attacks the SECCESPP scheme. Let attacker B construct algorithm F to solve the ECDLP problem.

Initialization Phase: F initializes P and Q and transmits the public parameters to attacker B. The public parameter is params = {Fp, E / Fp, G, P, Ppub = Q, H1, H2, H3, H4}.

Queries Phase: Attacker B executes the following queries, and F adaptively responds to these queries.

  1. User query: When attacker B performs a user query on IDi, challenger F selects a random number t ∈ {1, 2, …, qc}. Then, the pseudo-code is executed.
    User query pseudo-code
    1:  if (it) {
    2:   F selects , si · P = Ri + hi · Ppub;
    3:   Computes Ri = a · Ppub + b · P, Pi = c · P, si = b, xi = c, hi = H1(IDi, Ri, Pi) ← −a mod n;
    4:    Returns (IDi, Ri, Pi, si, xi, hi)and adds into ;}
    5:   else{
    6:   F selects ;
    7:    Computes Ri = a · Ppub + b · P, Pi = c · P, si = xi = ⊥, hi = H1(IDi, Ri, Pi) ← −a mod n;
    8:   Adds (IDi, Ri, Pi, si, xi, hi) to CList
    9:   Adds (IDi, Ri, Pi, hi) to ;
    10:   Returns (IDi, Ri, Pi, hi) to attacker B;}
  2. Partial Key Extraction query: If IDi does not exist, ⊥is output. If IDi exists and (it), some of the private keys are returned. Otherwise, F stops.
  3. Public Key Replacement query: If IDi does not exist, ⊥is output. Otherwise, B replaces user IDi’s public key PKi with and adds it into LR.
  4. Secret Value query: When B executes, it is inputs IDi. If IDi does not exist, ⊥ is output. If IDi exists and (it), xi = c is sent to B. If (it), then the process stops and returns ‘failure’.
  5. Digest Calculation query: B executes the summary computation query on ωi = (v0, R, PKi). If IDi does not exists, ⊥is output. Otherwise, for the i-th H3 query, if IDiIDt, F queries whether (IDi, Ri, Pi, si, xi, hi) exists in CList; If it exists, F picks randomly, and h = H4(v0, R, PKi), whereas if it does not exists, the user’s public key has been replaced. In this case, F generates , and lets s = a, R = a−1hiPpub and h = H4(v0, R, PKi) ← a−1(ri + xi). If IDi = IDt, F picks ξ ∈ {0, 1} at random and sets Pr[ξ = 1] = ξ and Pr[ξ = 0] = 1 − ξ. If ξ = 0, F generates and h = H4(v0, R, PKi) ← a−1(ri + xi). If ξ = 1, F generates and lets h = H4(v0, R, PKi). Finally, F returns h to B and adds (IDi, v0, Ri, PKi, h) to CList.
  6. Signcryption Extraction query: When B extracts the signcryption of (v0, IDi, H4(ωi)), if IDi does not exist, F outputs ⊥. When IDiIDt, if (IDi, Ri, Pi, si, xi, hi) exist in CList, F signs it with the corresponding private key. However, if (IDi, Ri, Pi, si, xi, hi)does not exist in CList, that means the user’s public key has been replaced. Thus, F lets s = a, R = a−1hiPpub and outputs (R, s) as the signcryption. When IDiIDt, if ξ = 1, F returns ‘failure’; otherwise, ξ = 0, F lets s = a, R = a−1hiPpub, and it outputs (R, s) as the signcryption.

Forgery: B stops the queries and outputs a valid signcryption (R, s(1)). If IDiID*, ‘failure’ is declared. Otherwise, the attack is successful. Then, F makes full use of the generalized Forking lemma [36] of certificateless signatures, inputs two different H2 values, repeats the above process, and obtains two different signatures (R, s(2)) and (R, s(3)). Then, s(k)(R + h(k)P) = Pi + Ri + hiPpub, k = 1, 2, 3. Additionally R = lP, Pi = riP, Ppub = xP; thus, s(k)(l + h(k)) = xi + ri + hix, k = 1, 2, 3.

In the above interrogation process, i, ri, x are unknown, but F can solve the three unknowns and output x; therefore, the elliptic curve discrete logarithm problem can be solved.

To solve a given instance of the ECDLP, F is required to successfully execute the following events:

T1: F does not stop the whole time.

T2: (R, s) is a valid signcryption forgery of .

T3: qs is finite and ξ = 1.

The probability of the attack of F being successful is .

Claim1: If T1 occurs, during the attack of F, the probability of success of the Partial Key Extraction query is , where is the number of times some keys are queried.

Claim2: The probability of success for the Secret Value query is , where is the number of times the secret value is queried.

Claim3: The probability of success for the Signcryption Extraction query is , where qs represents the number of times the signcryption is extracted.

As a result,. We state that Pr[T2 | T1] = ε, so Pr[T3 | T1 ^ T2] = ξ / qc. We can obtain . At ξ = 1 /(qs + 1), reaches its maximum value, so . Of course, is a constant and you cannot ignore ε, so you cannot ignore , which contradicts the hypothesis. The SECCESPP scheme is secure under the random oracle model in [29].

Privacy

We analyze the privacy of a signed message in the SECCESPP scheme using the formal analysis tool ProVerif [37,38]. Privacy is modeled as confidentiality. First, Applied PI is used to formalize the SECCESPP scheme. Then, ProVerif is used for analyzing privacy.

Function and equational theory.

The functions and equations used in the modeling process are described in this section. We use the Applied PI calculus to formalize the SECCESPP scheme. Fig 2 depicts the function and equational theory.

The function and equational theory of the SECCESPP scheme mainly includes the public key encryption algorithm En(x, Pu) encrypt the message x with public key Pu and the decryption algorithm De(y, Pu) decrypt the message which the En(x, Pu) encrypted with private key Pu. The function Pu(y) accepts private value y as input and produces public key as output. The function Pr(y) accepts private value y as input and produces private key as output.

Process

The whole process in Fig 3 consists of three processes: the signer process processSig in Fig 4, the signcryptor process processSc in Fig 5 and the verifier process processVer in Fig 6. They constitute the main process together, as shown.

The signer first divides the entire message into n blocks, and then generates a commitment for each block. After that, the signer calculates R and h. Then, the signer compares the value gcd() and ‘1’. If they are equal then forwards the signature σF to the signcryptor process processSc in form of the message m1 through the public channel c.

The signcryptor receives the message m1 from the signer process through the public channel c. Then it extracts the extracted message blocks and the correspondent commitments. After that, the signcryptor calculates h and hA. Then it compares the value s · (R + hP)with PA + RA + hA · Ppub. If they are equal then encrypts the extracted message M′ and follows the content extraction signcryption σE to the verifier process processVer in form of the message m2 through the public channel c.

The verifier receives message m2 from the signcryptor process through the public channel c. Then it decrypt M′ and v[i], and verifies the signcryption by the equation s(R + hP) = PA + RA + hAPpub. Finally, the verifier inputs message m3 as the verification results.

ProVerif for automatic privacy verification.

The privacy of the SECCESPP scheme is modelled as the confidentiality of the signed message M. query attacker: M′ is used to model the confidentiality of the signed message. and is added into formal model in Fig 7.

Result analysis.

The result in Fig 8 is true, and the SECCESPP scheme has privacy because M′ is encrypted before it is sent to the verifier. Attackers can only get encrypted message block, thus, privacy is guaranteed.

Unforgeability

In a certificateless public key cryptosystem, KGC generates a partial private key, and the user generates a secret value and generates a full private key and the public key respectively according to the secret value and the partial private key. This method solves the key management issue in identity-based cryptosystem and the certificate problem in PKI cryptosystem. It is possible for KGC to forge the user’s signature because KGC holds part of the user’s private key. Therefore, we divide the attack model of the SECCESPP scheme into two types:

Adversary AI: ordinary user attack. In this attack, the attacker cannot obtain the master key but can replace the public key.

Adversary AII: malicious KGC attack. In this attack, the attacker has the master key and can generate any part of the user’s private key, but it is specified that the user’s public key cannot be replaced.

Since Adversary AI type is similar to Adversary AII type but Adversary AII type is more representative, we provide a proof of unforgeability for the Adversary AII type.

Theorem: If Adversary AII can output a valid content extraction signcryption σE and has not performed a Signcryption Extraction query, then the attacker succeeds, that is, the SECCESPP scheme is broken.

Lemma: If Adversary AII wins the game by at least the probability of ε after qk User query, qPK Key Extract query and qs Signcryption Extraction query within a bounded time, then the SECCESPP scheme is said to be unforgeability under an adaptive chosen message attack.

Game: The SECCESPP scheme in the Adversary AII case of the adaptive chosen message attack game, which is between challenger C and Adversary AII.

Proof: The security model of unforgeability consist of three phases: Setup Phase, Queries Phase and Forgery Phase. In Queries phase, adversary AII performs multiple queries including User query, Key Extraction query and Signcryption query. challenger C gives corresponding responses.

Setup Phase: Adversary AII makes multiple queries, challenger C maintains lists l1l3 that are empty initially.

Initialization: Challenger C runs the Initialization algorithm. Input security parameter k, challenger C generates , system master key Ppub and the system parameter params, and sends them to Adversary AII. The params = {Fp, E / Fp, G, P, Ppub = Q, H1, H2, H3, H4}. Set .

Queries Phase: Adversary AII executes the following queries, and challenger C adaptively responds to these queries.

  1. User query: When Adversary AII presents query on IDt, challenger C maintains a hash list H1list that is initially empty including two-tuples (IDt, Qt). Challenger C checks whether record exists in a hash list H1list. If so, challenger C returns corresponding record, else challenger C makes the following responses: (7)
  2. Key Extract query: Adversary AII performs queries on the certificateless public key cryptosystem, mi represents the identity of the user. Challenge C calculates IDi’s public key PKi and sends it to Adversary AII.
  3. Signcryption Extraction query: Adversary inputs IDi and a new message M′, and challenger C runs Signcrpytion-Extraction algorithm according to private key SKi and sends result to the Adversary AII.

Forgery Phase: Adversary AII inputs (ID*, PK*, M′, σ*). To win this game, Adversary AII is required to successfully execute the following events:

T1: is a valid signcryption forgery of .

T2: ID*never executed Key Extract query.

T3: no executed Signcryption Extraction query.

Let SuccUF−CMA = ε = Pr[T1 ^ T2 ^ T3] be the probability that Adversary AII wins the game.

Claim1: The probability of success for the Signcryption Extraction query is , where qs represents the number of times the signcryption is extracted and ξ ∈ {0, 1}.

Claim2: The probability of success for the User query is , where qk is the number of times the private key is queried.

Claim3: During the attack of Adversary AII, the probability of success for the Key Extract query is , where qPK is the number of times public key are queried.

As a result, . We say that Pr[T2 | T1] = ε, so Pr[T3 | T1 ^ T2] = ξ / qc. We can obtain . At ξ = 1 / (qs + 1), reaches its maximum value, so . Of course, is a constant and you cannot ignore ε, so you cannot ignore SuccUF−CMA (ε), which satisfies what Lemma says. Therefore, the SECCESPP scheme has unforgeability.

Comparison and discussion

In the SECCESPP scheme, we use scalar multiplication on elliptic curves, thereby reducing the number of calculations in the signing and verification process. For efficiency, we compare two aspects of the proposed scheme to those of related schemes in [1419]. One is the theory calculation aspect. The other is the practical running time aspect. For the theory calculation aspect, the SECCESPP scheme is compared in terms of the following four factors in Tale 1: exponential operation (exp), scalar multiplication (sca), bilinear pairing operation (par) and hash function (has), where n is the number of submessages, m is the number of the extracted messages, mCEAS is the number of submessages in the content extraction access structure CEAS. The SECCESPP scheme has “(2n+2)has+4sca” and “(m+2)has+2sca” calculation, which are the lowest amounts. Hence, the SECCESPP scheme is highly efficient from the theoretical calculation aspect.

For the practical running time aspect, the hardware platform consists of Intel Core m3-6Y30 @0.90 GHz processor and 8GB memory. The software environment includes Windows 10 operating system for 64 bits and Miracl library [39] for which the parameters are specified as follows: the supersingular elliptic curve E / Fp: y2 = x3 + x is selected, in which the embedding degree is 2 and the prime number p satisfies 2510 < p < 2511, p + 1 = 12qr, q = 2159 + 217 + 1. The Tate pair operation is defined in E / Fp: y2 = x3 + x. The scalar multiplication operations on the elliptic curves satisfy p = 2160 − 231 − 1.

To avoid randomness, the simulation experiments are performed five times to obtain the averaged results. The computing time of the four factors is shown in Table 2. According to Tables 1 and 2, the running time in Table 3 are calculated.

The running time of the scheme depends on the signcryption and extraction time and verification time. From Table 3 and Fig 9, we can clearly see that the scalar multiplication operation on the elliptic curves takes much less time than bilinear pair operation and exponential operation. Hence the analysis result of theory calculation is consistent to analysis result of the practical running time. Therefore, the SECCESPP scheme has higher efficiency than compared scheme.

thumbnail
Fig 9. Comparison of running time in the signing and verifying process.

https://doi.org/10.1371/journal.pone.0258907.g009

Conclusion

To improve the efficiency of and provide privacy protection for content extraction signatures, we proposed the SECCESPP scheme in which the scalar multiplication on elliptic curves is used to replace inefficient bilinear pairing in a certificateless public key cryptosystem, and the signcryption idea is borrowed to provide privacy protection. The SECCESPP scheme is provably secure based on the elliptic curve discrete logarithm problem in the random oracle model. It not only has correctness and privacy, but is also more efficient than related schemes [1419].

In the future, we will use the SECCESPP scheme to the off-chain data access in blockchain to implement security and privacy.

References

  1. 1. Azees M., Vijayakumar P. et al., “An efficient anonymous authentication and confidentiality preservation schemes for secure communications in wireless body area networks”. Wireless Netw, Vol. 27, pp. 2119–2130, 2021.
  2. 2. Y. Zheng. “Digital signcryption or how to achieve cost(signature & encryption) ≪ cost(signature) + cost(encryption)” in Advances in Cryptology—CRYPTO ‘97, Lecture Notes in Comput. Sci. Vol. 1294, Springer, Berlin, 1997, pp. 165–179.
  3. 3. Ma J.H., Liu J.H., Wu W., Huang X.Y., “Survey on Redactable Signatures”. J. of Computer Research and Development, Vol. 54, no.10, pp.2144–2152, 2017.
  4. 4. Li X., Du X.N., Wang C.F. “Improved scheme of content extraction signatures based on RSA”. Computer Engineering and Applications, Vol. 50, no. 24, pp.96–99, 2014.
  5. 5. Yan J. H., Wang L, Wang L.C., et al. “Attribute-based signcryption from lattices in the standard model”. IEEE Access, Vol. 2019, no. 7, pp. 56039–56050.
  6. 6. J. Malone-Lee. “Identity-based signcryption” in Cryptology ePrint Archive, 2002. http://eprint.iacr.org/.
  7. 7. X. Boyen. “Multipurpose identity-based signcryption: A swiss army knife for identity-based cryptography” in Advances in Cryptology—CRYPTO 2003, Vol. 2729 of LNCS, pp. 382–398. Springer-Verlag, 2003.
  8. 8. Wang X., Zhang Y., Gupta B.B., et al. “An Identity-Based Signcryption on Lattice without Trapdoor”. J. UCS, Vol. 25, no. 3, pp.282–293, 2019.
  9. 9. Shankar K., Elhoseny M., Perumal E., et al. “An Efficient Image Encryption Scheme Based on Signcryption Technique with Adaptive Elephant Herding Optimization”. Cybersecurity and Secure Information Systems. Springer, Cham, 2019, pp. 31–42.
  10. 10. D. Pan, B. Liang, H. Li, et al. “Hierarchical Functional Signcryption: Notion and Construction”. International Conference on Provable Security. Springer, Cham, 2019, pp. 167–185.
  11. 11. M. Barbosa, P. Farshim. “Certificateless signcryption” in ACM Symposium on Information, Computer and Communications Security-ASIACCS 2008. Tokyo, Japan, 2008, pp. 369–372.
  12. 12. Gao G.M., Peng X.G., Qin Z.F. “Certificateless Signcryption Scheme without Bilinear Pairing” J. of North University of China (Natural Science Edition). Vol. 40, no. 02, pp. 118–125, 2019.
  13. 13. Wang C.F., Xu Q.B., Liu C., et al. “Partial Blind Signcryption Scheme in CLPKC-to-TPKI Heterogenerous Environment”. J. of Electronics & Information Technology. Vol. 41, no. 8, pp. 1823–1830, 2019.
  14. 14. C. Wang, Y. Li, S.Y. Huang, et al. “A new forward secure content extraction signature scheme” in 2015 12th International Conference on Fuzzy Systems and Knowledge Discovery (FSKD). IEEE, 2015, pp. 1698–1702.
  15. 15. Thirumalai C. “Review on the memory efficient RSA variants”. International Journal of Pharmacy and Technology, Vol. 8, no. 4, pp. 4907–4916, 2016.
  16. 16. T.B. Idalino, L. Moura, C. Adams. “Modification Tolerant Signature Schemes: Location and Correction” in International Conference on Cryptology. India. Springer, Cham, pp. 2019: 23–44.
  17. 17. Kruliš M., Lokoč J., Skopal T. “Efficient extraction of clustering-based feature signatures using GPU architectures”. Multimedia Tools and Applications, Vol. 75, no. 13, pp. 8071–8103, 2016.
  18. 18. Karati A., Fan C., Hsu R. “Provably Secure and Generalized Signcryption With Public Verifiability for Secure Data Transmission Between Resource-Constrained IoT Devices” in IEEE Internet of Things Journal, Vol. 6, no. 6, pp. 10431–10440, 2019.
  19. 19. Shim K. “A New Certificateless Signature Scheme Provably Secure in the Standard Model” in IEEE Systems Journal, Vol. 13, no. 2, pp. 1421–1430, 2018.
  20. 20. Stergiou C.L., Psannis K. E. and Gupta B.B., “IoT-Based Big Data Secure Management in the Fog Over a 6G Wireless Network” in IEEE Internet of Things Journal, Vol.8, no. 7, pp. 5164–5171, April. 2021.
  21. 21. Ye Q.Q., Meng X.F., Zhu M.J. “Survey on Local Differential Privacy”. J. of Software, Vol.29, no.7, pp. 159–183, 2018.
  22. 22. Stergiou C.L., Psannis K. E. and Gupta B.B., “IoT-Based Big Data Secure Management in the Fog Over a 6G Wireless Network” in IEEE Internet of Things Journal, Vol.8, no. 7, pp. 5164–5171, April. 2021.
  23. 23. Zhao X.F., Fu Y., Song W.T. “Circular Secure Homomorphic Encryption Scheme”. J. of Computer Research and Development, Vol.57, no.10, pp. 2117–2124, 2020.
  24. 24. Zhang J. et al, “A Secure Decentralized Spatial Crowdsourcing Scheme for 6G-Enabled Network in Box” in IEEE Transactions on Industrial Informatics, 2021, pp. 99:1–1.
  25. 25. Vijayakumar P., Azees M., Kozlov S. and Rodrigues J. J. P. C., “An Anonymous Batch Authentication and Key Exchange Protocols for 6G Enabled VANETs” in IEEE Transactions on Intelligent Transportation Systems, pp. 1–9, 2021.
  26. 26. Azees M., Vijayakumar P., et al,”BBAAS: Blockchain-Based Anonymous Authentication Scheme for Providing Secure Communication in VAENTs”. Security and Communication Networks, Vol. 2021, pp. 11–23, 2021.
  27. 27. R. Steinfeld, L. Bull, Y. Zheng. “Content Extraction Signatures” in International Conference on Information Security and Cryptology ICISC 2001, Vol. 2288, Springer-Verlag, Berlin, 2001, pp. 285–304.
  28. 28. Lan C.H., Wang C.F. “ID-based content extraction signature”. J. of Computer Applications, Vol.27, no. 10, pp.2456–2458, 2007.
  29. 29. Wang M., Ma J.H., Ma J.H. “Two improved content extraction signature schemes”. Chinese J. of Network and Information Security, Vol.2017, no. 04, pp. 73–81.
  30. 30. Thirumalai C. “Review on the memory efficient RSA variants”. International J. of Pharmacy and Technology, Vol. 8, no. 4, pp. 4907–4916, 2016.
  31. 31. P. Szalachowski. “A Blockchain-Based TLS Notary Service” in 2019 IEEE 25th International Conference on Parallel and Distributed Systems (ICPADS). IEEE, 2019, pp. 836–843.
  32. 32. Cheng L.J., Qi Z.H., Shi J.C. “Blockchain based secure storage and sharing scheme for HER data”. J. of Nanjing University of Posts and Telecommunications, Vol. 40, no. 04, pp. 96–102, 2020.
  33. 33. Fang G.W., Cao J.X. “Provably secure certificateless multi-message synchronous broadcast signcryption scheme”. J. of Southeast University, Vol. 50, no. 04, pp. 728–740, 2020.
  34. 34. Deng F., Wang Y., Peng L., et al. “Revocable Cloud-Assisted Attribute-Based Signcryption in Personal Health System”. IEEE Access, Vol. 2019, no. 7, pp. 120950–120960.
  35. 35. S.S. Al-Riyami, K.G. Paterson. “Certificateless Public Key Cryptography” in Laih CS. (eds) Advances in Cryptology—ASIACRYPT 2003. ASIACRYPT 2003. Lecture Notes in Computer Science. Vol. 2894. Springer, Berlin, Heidelberg.
  36. 36. David P., Jacque S. “Security Arguments for Digital Signatures and Blind Signatures”. J. of Cryptology, Vol. 13, no. 3, pp. 361–369, 2000.
  37. 37. Liu J., Wang L. and Yu Y., "Improved Security of a Pairing-Free Certificateless Aggregate Signature in Healthcare Wireless Medical Sensor Networks" in IEEE Internet of Things Journal, vol. 7, no. 6, pp. 5256–5266, June 2020.
  38. 38. Abbasinezhad-Mood D. and Nikooghadam M., "Efficient Anonymous Password-Authenticated Key Exchange Protocol to Read Isolated Smart Meters by Utilization of Extended Chebyshev Chaotic Maps" in IEEE Transactions on Industrial Informatics, vol. 14, no. 11, pp. 4815–4828, Nov. 2018.
  39. 39. “Miracl: Multiprecision integer and rational arithmetic C/C++library”, [Online]. http://indigo.ie/msott/.