Next Article in Journal
Pb2+ Ion Sensors Employing Gold Etching Process: Comparative Investigation on Au Nanorods and Au Nanotriangles
Previous Article in Journal
Edge IoT Prototyping Using Model-Driven Representations: A Use Case for Smart Agriculture
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

PriTKT: A Blockchain-Enhanced Privacy-Preserving Electronic Ticket System for IoT Devices

1
College of Computer and Data Science, Fuzhou University, Fuzhou 350108, China
2
Institute 706, The Second Academy China Aerospace Science & Industry Corp, Beijing 100854, China
3
Beijing Electronic Science and Technology Institute, Beijing 100070, China
*
Author to whom correspondence should be addressed.
Sensors 2024, 24(2), 496; https://doi.org/10.3390/s24020496
Submission received: 14 December 2023 / Revised: 6 January 2024 / Accepted: 7 January 2024 / Published: 13 January 2024
(This article belongs to the Special Issue Blockchain-Enhanced IoTs Architecture and Security)

Abstract

:
Electronic tickets (e-tickets) are gradually being adopted as a substitute for paper-based tickets to bring convenience to customers, corporations, and governments. However, their adoption faces a number of practical challenges, such as flexibility, privacy, secure storage, and inability to deploy on IoT devices such as smartphones. These concerns motivate the current research on e-ticket systems, which seeks to ensure the unforgeability and authenticity of e-tickets while simultaneously protecting user privacy. Many existing schemes cannot fully satisfy all these requirements. To improve on the current state-of-the-art solutions, this paper constructs a blockchain-enhanced privacy-preserving e-ticket system for IoT devices, dubbed PriTKT, which is based on blockchain, structure-preserving signatures (SPS), unlinkable redactable signatures (URS), and zero-knowledge proofs (ZKP). It supports flexible policy-based ticket purchasing and ensures user unlinkability. According to the data minimization and revealing principle of GDPR, PriTKT empowers users to selectively disclose subsets of (necessary) attributes to sellers as long as the disclosed attributes satisfy ticket purchasing policies. In addition, benefiting from the decentralization and immutability of blockchain, effective detection and efficient tracing of double spending of e-tickets are supported in PriTKT. Considering the impracticality of existing e-tickets schemes with burdensome ZKPs, we replace them with URS/SPS or efficient ZKP to significantly improve the efficiency of ticket issuing and make it suitable for use on smartphones.

1. Introduction

E-ticketing has emerged as a popular method of ticket entry, processing, and marketing for companies in the airline [1], railway [2,3], and other transportation and entertainment industries. The integration of blockchain technology in e-ticketing has further enhanced the security and transparency of transactions. Blockchain [4,5,6,7] ensures that each transaction is recorded in a decentralized and tamper-proof ledger, reducing the risk of fraud and ensuring the authenticity of e-tickets. Unlike traditional paper-based tickets, e-tickets offer two major advantages. First, paper-based tickets are disposable and require significant resources for their production, leading to an increased negative impact on the environment. By contrast, e-tickets serve as an eco-friendly replacement by minimizing paper waste produced from ticketing activities, thereby aligning with the principles of the Paris Agreement [8]. Second, e-tickets provide customers with the flexibility to reserve, issue, and refund their tickets online anytime and anywhere, eliminating the need for in-person lineups. This convenience and ease for customers is further heightened by the integration of IoT technology. Customers can easily access their e-tickets through dedicated mobile applications, making the entire ticketing process more streamlined and accessible. Seamless integration with IoT devices not only enhances the overall customer experience, it reflects the evolving nature of ticketing systems in the digital age. As a result, e-tickets, powered by blockchain and IoT technology, offer significant advantages in terms of convenience, environmental sustainability, and security.
Despite the increasing popularity of e-tickets, they face numerous practical challenges, particularly with regards to privacy. In e-ticket systems, user data such as name, identity number, purchase date, and other personal attributes may be collected and misused. Thus, it is crucial to minimize the collection of personal data in line with the recently introduced General Data Protection Regulations (GDPR) [9]. In this regard, various privacy-protecting e-ticket systems have been proposed which use randomizable signatures with efficient proofs [10,11,12,13,14], pseudonyms [15,16], and anonymous credentials [13,17,18]. However, some of these systems lack formal proof of security and cannot guarantee the integrity of the token [12,13,16], while others are inefficient in their invoicing operations, making them impossible to deploy on IoT devices [18].
An essential feature of any e-ticket system is the ability to issue tickets based on user attributes. Attribute-based e-ticket systems have potential in various real-world applications. For example, they can enable students, soldiers, and individuals with disabilities to purchase tickets at discounted rates without revealing sensitive information such as a student ID number, unit number, or health conditions. In an attribute-based e-ticketing system, a user credential used to purchase e-tickets is parameterized with a vector of the user’s attributes, such as date of birth, affiliation, or occupation. During ticket purchase, users can prove that they possess a credential meeting a given attribute policy, such as age or disability, without revealing any additional information beyond the satisfaction of the attribute policy. Unfortunately, most existing e-ticketing systems [12,13,14,16] do not support attribute-based ticket issuance protocols.
Credentials issued by governmental bodies, schools, or companies typically include only the basic attributes of the user, such as name, gender, educational background, address, and position. However, in many cases additional attributes can be defined as well. For instance, in platform configuration-based access control services, attributes may refer not only to the user’s personal data but to hardware platform and configuration information. Moreover, one user may hold several roles, each with unique credentials issued by a single entity. The Privacy by Design Foundation’s Anonymous Credentials (IRMA) [19] offers a broad range of real-world attributes, such as diplomas, passports, cards, and even membership IDs for online services, which are relevant to governing bodies and various businesses. Such scenarios imply that a user may have hundreds or more potential attributes. Integrating IoT devices into the e-ticketing system allows for the inclusion of additional attributes related to the user while presenting an opportunity to streamline the issuance process. IoT devices capabilities, such as bio-metric authentication and secure storage, can enhance the security and efficiency of handling a wide array of attributes. This ensures that the e-ticketing system remains practical and user-friendly even in scenarios with a large number of potential attributes. While Han et al. [18] designed the first attribute-based e-ticketing system, their ticket issuance algorithm’s computational cost and communication overhead increases linearly with the number of user attributes, making their scheme impractical to deploy on IoT devices when users have hundreds of attributes.
Paper-based tickets can be made unique, and are easily distinguishable from copies; however, distinguishing original e-tickets from their copied versions is challenging, making it necessary to prevent and detect double spending in e-ticketing systems. This challenge is particularly pertinent in the digital realm, where the ease of replication poses a unique set of security concerns. The integration of blockchain technology offers a promising solution to the issue of double spending in e-ticketing. By utilizing a decentralized and tamper-proof ledger, blockchain ensures the immutability and transparency of transaction records. Each e-ticket transaction can be securely recorded on the blockchain, creating a verifiable and unforgeable trail. This prevents unauthorized duplication of e-tickets while allowing for efficient tracking and identification of any double-spending attempts. Moreover, in the context of IoT technology, blockchain can be seamlessly integrated to enhance the security of e-tickets. IoT devices can serve as secure digital wallets, storing and managing e-tickets in a tamper-resistant environment. The combination of blockchain and IoT devices ensures that the integrity of e-tickets is maintained, reducing the risk of duplication and unauthorized use. In the event of a double-spending attempt, the decentralized nature of blockchain enables the identification and tracing of responsible users without compromising the anonymity of honest users. The transparency of the blockchain allows for swift and accurate resolution of security incidents, thereby bolstering the overall trust and reliability of the e-ticketing system.
Based on the above requirements and intuition, we propose PriTKT, a blockchain-enhanced privacy-preserving e-ticketing system for IoT devices that supports ticket issuance based on user attributes. PriTKT significantly reduces the computational cost and communication overhead, making it suitable for use on IoT devices, and utilizes blockchain [4] to achieve effective malicious user tracking.

Our Contributions

This work makes the following contributions:
Attribute-based ticketing: We propose an e-ticket system that supports attribute-based ticketing. This system securely and seamlessly integrates attribute-based anonymous credentials [20], unlinkable redactable signatures (URS) [20], structure-preserving signatures (SPS) [21], Pedersen commitment, and zero-knowledge signature of knowledge (ZKSoK) [22] in its design. In our e-ticket system, a trusted party generates a ticket purchasing policy set during system initialization. The ticket purchasing policy set regulates how tickets are issued. User privacy is preserved, as users may disclose a subset of their attributes as long as they satisfy a ticket purchasing policy in the ticket purchasing policy set for the tickets they purchase.
Efficient ticketing for IoT devices: Our system improves the efficiency of the ticketing algorithm to ensure that it can be efficiently executed on an IoT device (such as smartphone) while presenting a privacy-preserving e-ticketing solution that does not require expensive Zero-Knowledge Proofs (ZKP) to validate user credentials during ticket purchase. Instead, we use the URS signature, which reduces the computational overhead in the ticket-issuing algorithm from O ( N ) to O ( N K ) and the communication overhead from O ( N ) to O ( K ) , where N and K represent the number of user attributes and exposed attributes, respectively. Compared to the closest scheme in [18], our method improves both computational and communication performance. We implemented PriTKT on a smartphone under AES-100-bit security and compared it with the state-of-the-art scheme from [18], finding that our issuing algorithm and showing algorithm were 250% and 240% more efficient, respectively.
Blockchain-enhanced double-spending detection and efficient trace: We implement double-spending detection and efficient user tracking. The verifier uploads each valid token into the blockchain. The decentralization and immutability of the blockchain [4] ensures the correctness of the token storage. Every ticket must disclose its unique identity when it is shown, and ZKSoK is used to guarantee the correctness of its identity disclosure. With the ticket identity, the verifier can traverse the tokens stored in the blockchain and quickly detect any double-spending. Using the “Schnorr trick” [23], the verifier can quickly compute the public key of any double-spending user for efficient tracing.
Unlinkability and framing resistance: Our solution ensures the unlinkability of tickets. Using the unlinkability of URS signatures, we prove that no tickets of the same user can be linked. Our solution ensures the framing resistance of tickets. Framing resistance ensures that corrupt sellers cannot falsely accuse any honest users of double-spending.
In addition, we offer formal security definitions for e-tickets that can be reduced to known complexity assumptions or the security of established cryptography primitives. The performance of PriTKT was measured on a smartphone.

2. Related Work

2.1. Electronic Tickets on IoT Devices

Mut-Puigserver et al. [24] conducted a study on the functional and security requirements of electronic tickets. These requirements include offline verification, expiration dates, reduced size, portability, flexibility, unlinkability, unforgeability, and non-overspending. They explored various types of e-tickets, such as single-use, multi-use, transferable, and non-transferable. Our research specifically focuses on analyzing the unlinkability, unforgeability, and non-overspending features of single-use and non-transferable electronic tickets leveraging the capabilities of IoT devices and the security of blockchain technology.
Previous studies by Heydt-Benjamin et al. [12] employed electronic cash, anonymous credentials [25], and proxy re-encryption [26] to enhance privacy in public transit systems that use electronic tickets. The study proposed a theoretical framework to examine the security of payments and the privacy of information in transit systems. They asserted that their system was capable of safeguarding user privacy but was not compatible with attribute-based ticketing; however, the paper did not provide any formal proof to support the system’s security. In contrast, the integration of IoT technology and blockchain in modern e-ticketing systems, such as PriTKT, can offer improved security measures, including attribute-based ticketing, while maintaining user privacy. Following Rupp et al. [14], Jager et al. [27] presented Black-Box Accumulation (BBA) to establish cryptography payment systems. Later, BBA was enhanced to BBA+ [28] by Hartung et al. and Black-Box Wallet (BBW) by Hoffmann et al. [29]. Nonetheless, these payment schemes [27,28,29] differ from attribute-based e-ticketing systems, as they pertain to electronic payments.
Vives-Guasch et al. [16] introduced an e-ticketing system that considers user privacy requirements as well as security requirements that include exculpability and re-usability. Additionally, by utilizing lightweight cryptography and mobile phones equipped with Near-Field Communication (NFC) technology, their system accommodates the computational limitations of users. Regrettably, however, their system does not support attribute-based ticketing. The integration of IoT devices (smartphones) in e-ticketing systems, as demonstrated by PriTKT, can contribute to enhanced features such as de-anonymization prevention and secure ticket non-transferability, while blockchain ensures the security and transparency of transactions.
The system of Milutinovic et al. [13] depends on certified tokens that are impossible to relate, and on different cryptographic primitives such as commitment schemes [30], partially blind signatures [31], and anonymous credentials [32] to tackle privacy concerns. However, their system does not provide de-anonymization capabilities after double spending or support ticket non-transferability in the way that PriTKT does. The integration of IoT devices capabilities in PriTKT enhances security measures and provides a practical solution for these challenges.
Han et al. [18] introduced attribute-based credentials derived from the Boneh–Boyen signature (BBS) [33] and efficient set membership proof and range proofs [34] to issue attribute credentials and tickets. However, due to the use of a signature with the NIZK protocol, their system’s NIZK proof computation increases linearly with the number of attributes in the ticket-issuing algorithm, limiting its practical use. The integration of lightweight and efficient IoT technology, along with the security of blockchains, can potentially address these computational constraints, making attribute-based e-ticketing more practical and user-friendly.

2.2. Blockchain-Enhanced Double-Spending Detection

Double-spending problems exist not only in e-ticket system [12,13,14,16,18], but in electronic payment systems [23,27,28,29] and blockchain cryptocurrency schemes [5,6,7]. Blockchain technology plays a crucial role in mitigating the double-spending issue by providing a decentralized and transparent ledger that ensures the integrity and uniqueness of transactions.
The most direct way to prevent double-spending is to bind each spending operation with a unique identifier that cannot be forged to ensure that that verifiers can detect double-spending based on the unique identifier. Rupp et al. [14] used a digital signature as the identifier. Sasson et al. [5] utilized hash-based commitments to compute identifiers. Androulaki et al. [6] utilized verifiable random functions to generate identifiers. Han et al. [18] and Sun et al. [7] used elements randomly mapped to elliptic curve groups as identifiers. Jager et al. [27] and Bobolz et al. [23] directly used a random number as the identifier. Although there are many ways to generate identifiers, these schemes all need to compute a zero-knowledge proof in the spending protocol to prove the correctness of the disclosed identifier.
Certain schemes [5,6,7,12,13,16,27] simply terminate the spending protocol when a double-spend is detected, while others [14,18,23,28,29] support further tracing and identification of malicious users. The method used by Han et al. [18] was to hide users’ identity in ElGamal ciphertext, then use a verifier to recover their identities through the spending algorithms. The scheme in [14,23,28,29] achieved double-spending tracing through the “Schnorr trick”, which is more efficient than scheme in [18]. The integration of blockchains into these schemes can enhance the overall security and transparency of their double-spending prevention and tracing mechanisms.

2.3. Attribute-Based Credentials

Anonymized attribute-based credentials that enable selective disclosure of attributes can be obtained in a manner akin to the use of randomizable signatures. Every user receives a signature on (commitments to) a list of attributes from a centralized authority. When the credential is presented, the user randomizes the signature (ensuring that the resulting signature and the published signature cannot be linked) and proves the correspondence of this signature to the revealed and hidden attributes in zero-knowledge proofs [35,36,37,38,39,40,41]. From a privacy perspective, this solution is perfectly satisfactory; however, it is not very efficient, as the user’s unshared attributes impose more cost than the user’s revealed attributes.
Fuchsbauer and Hanser [42,43] randomized both the signature and the signed message (which is a set commitment to the user’s attributes) with a structure-preserving signature on equivalence classes (SPS-EQ), then used subset opening of the set commitments to selectively disclose attributes. In this way, they avoided the need to perform costly ZKP over the hidden attributes. Unfortunately, while attributes can be disclosed in this solution once they are signed, it cannot be proven that they are hidden while satisfying certain relations.
Camenisch et al. [44] presented a novel unlinkable redactable signature (URS) that allows part of the signed message to be redacted while proving that the signature is valid for the disclosed attributes. Unfortunately, their scheme can only be instantiated by Groth–Sahai proofs [45], and it is difficult to compete with the most effective solution in practice. Sanders followed the URS approach from [44] and constructed a flexible redactable signature scheme that achieves unlinkability at almost zero cost. Unlike the methods in [43,44], the URS presented by Sanders can prove complex relationships between attributes and does not rely on zero-knowledge proofs for partial verification.

3. Preliminaries

3.1. Bilinear Pairing

Suppose that G 1 , G 2 , and G T are groups of prime-order p with generators g G 1 and g ˜ G 2 . A mapping e : G 1 × G 2 G T is a bilinear map if it satisfies three requisite properties. (1) Bilinearity: for all g G 1 , g ˜ G 2 , and a , b Z p , we have e ( g a , g ˜ b ) = e ( g , g ˜ ) a b ; (2) Nondegeneracy: e ( g , g ˜ ) 1 ; and (3) Computability: e is an efficiently computable function. The PriTKT scheme is based on the Type III bilinear pairing [46], which by definition does not admit an efficiently computable homomorphism between G 1 and G 2 .

3.2. Computational Assumptions

Discrete Logarithm (DL) Assumption. Let G be a prime-order cyclic group and let g be a generator of G . Given ( g , g x ) G 2 , the DL assumption holds in G if no efficient algorithm or adversary can practically compute x with non-negligible probability.
The DDH Assumption. Let G be a prime-order cyclic group and let g be a generator of G . Given ( g , g x , g y , g z ) G 4 , the DDH assumption holds in G if no efficient adversary can distinguish the product z = x · y from a random element in G .

3.3. Unlinkable Redactable Signatures

The Unlinkable Redactable Signature (URS) [20] consists of a tuple (Setup, KeyGen, Sign, Derive, Verify) of probabilistic polynomial-time (PPT) algorithms. The URS is used to issue credentials for a user’s attributes.
Setup ( 1 λ ) : given a security parameter λ , this algorithm generates the public parameters p p = ( G 1 , G 2 , G T , g , g ˜ , p , e ) .
KeyGen ( n ) : given an input integer n, this algorithm selects ( x , y 1 , , y n ) R Z p n + 1 and computes X = g x , Y i = g y i , Y ˜ i = g ˜ y i , 1 i n , and Z i , j = g y i · y j , 1 i j n . Then, the secret key is s k = ( x , y 1 , , y n ) and the public key is p k = ( X , { Y i , Y ˜ i } i = 1 n , { Z i , j } 1 i j n ) .
Sign ( s k , A = { a i } i = 1 n ) : to sign n messages a 1 , , a n ( a i Z p , 1 i n ), this algorithm selects σ ˜ 1 R G 2 and computes σ ˜ 2 = σ 1 x + i = 1 n y i · a i . It sets σ 1 = 1 G 1 and σ 2 = 1 G 1 , then outputs σ = ( σ 1 , σ 2 , σ ˜ 1 , σ ˜ 2 ) .
Derive ( p k , σ , A , D ) : given an input signature σ = ( σ 1 , σ 2 , σ ˜ 1 , σ ˜ 2 ) on { a i } i = 1 n , the public key p k , and a subset D [ n ] , this algorithm selects ( r , t ) R Z p 2 and computes σ ˜ 1 = σ ˜ 1 r , σ ˜ 2 = σ ˜ 2 r ( σ ˜ 1 ) t , σ 1 = g t i [ n ] D Y i a i , and σ 2 = ( i D Y i ) t i D , j [ n ] D Z i , j a j . If D = [ n ] , then [ n ] D = and σ 1 = g t and σ 2 = ( i [ n ] Y i ) t . The algorithm returns the derived signature σ = ( σ 1 , σ 2 , σ ˜ 1 , σ ˜ 2 ) on D [ n ] .
Verify ( p k , σ , D = { a i } i D ) : a signature ( σ 1 , σ 2 , σ ˜ 1 , σ ˜ 2 ) on D [ n ] is valid if the following equations hold: e ( X σ 1 · i D Y ˜ i a i , σ ˜ 1 ) = e ( g , g ˜ 2 ) and e ( σ 1 , i D Y ˜ i ) = e ( σ 2 , g ˜ ) , in which case the algorithm returns 1; otherwise, it returns 0.
The URS [20] is a redactable signature scheme with forgeability and unlinkability in the generic group model.

3.4. Structure-Preserving Signatures

The Structure-Preserving Signatures (SPS) proposed by Groth [21] consist of a tuple ( Setup , KeyGen , Sign , Verify ) of PPT algorithms that sets messages in G 2 . This scheme is used to issue credentials for a seller’s public key.
Setup ( 1 λ ) : given a security parameter 1 λ , this algorithm generates public parameters p p = ( G 1 , G 2 , G T , g , g ˜ , p , e ) .
KeyGen ( n ) : this algorithm generates a secret key s k = ( x , y 1 , , y n ) and a public key p k = ( h ; X ˜ ; { Y ˜ i } i = 1 n 1 ) when given an input integer n. It selects ( x , y 1 , , y n 1 ) R Z p n and a random generator h R G 1 , and computes X ˜ = g ˜ x , Y ˜ i = g ˜ y i , and 1 i n 1 .
Sign ( s k , { m i } i = 1 n ) : to sign n messages ( m 1 , , m n ) , where m i is an element of group G 1 for 1 i n , the signer randomly selects r R Z p and computes δ ˜ 1 = g ˜ r 1 , δ 2 = ( h · g x ) r , and δ 3 = ( h · m n · i = 1 n 1 m i y i ) r . Next, the signer outputs the signature δ = ( δ ˜ 1 , δ 2 , δ 3 ) .
Verify ( p k , δ , { m i } i = 1 n ) : for verification of the signature δ = ( δ ˜ 1 , δ 2 , δ 3 ) associated with messages { m i } i = 1 n , two pairing equations need to be evaluated: e ( δ 2 , δ ˜ 1 ) = e ( h , g ˜ ) e ( g , X ˜ ) and e ( δ 3 , δ ˜ 1 ) = e ( h , X ˜ ) e ( m n , g ˜ ) i = 1 n 1 e ( m i , Y ˜ i ) . If at least one of these equations is not satisfied, the algorithm outputs 0; otherwise, it outputs 1.

3.5. Zero-Knowledge Signature of Knowledge

The ZKSoK protocol [22] for an NP-relation R is composed of the following algorithms to ensure knowledge of the language L R = { y : x , ( x , y ) R } .
Gen ( 1 λ ) , which returns a public parameter p p when provided a security parameter λ ;
Sign ( m , x , y ) , which returns a ZKSoK Π = ZKSoK { x : ( x , y ) R } when given a message m and a relation ( x , y ) R ;
Verify ( m , Π , y ) , which, when given a message m, ZKSoK Π , and statement y, returns 1 if Π is valid and 0 otherwise.

4. System and Security Model

4.1. System Model

Electronic ticketing systems involve five entities, as presented in Figure 1: the Central Authority (CA), Ticket Seller (S), User (U) with IoT device (such as smartphones), Blockchain ( BC ), and Ticket Verifier (V). This section describes each individual function in turn.
• CA bears the responsibility of being the globally trusted entity that establishes the electronic ticketing system (step ➀). Here, the CA creates policy set for purchasing tickets. In addition, the CA must offer registration services to ticket sellers (step ➁) and users (step ➂).
• S is an independent ticket seller who is required to register with CA in order to participate in the ticketing system (step ➁). During the ticket purchasing process, S is responsible for verifying each user’s credentials and issuing tickets based on the ticket purchasing policy set forth by CA (step ➃).
• U has a designated set of attributes stored in their IoT device that must be registered with CA in order to participate in the ticketing system (step ➂). When purchasing a ticket from S, U is only required to disclose a subset of their attributes that satisfy the ticket purchasing policy selected by S (step ➃). Subsequently, U presents the ticket to V in an anonymous manner (step ➄).
• The blockchain BC acts as an immutable database in the electronic ticket system; using the decentralized features of the blockchain, the verifier can upload all valid token information. Any participant can then query the presentation tokens.
• V offers ticket verification services to all users, and has the ability to detect instances of double-spending. Upon receiving verifiable data from users, V verifies the authenticity of their tickets (step ➄) and uploads the token to the blockchain while simultaneously detecting any attempts at double-spending. If a double-spending ticket is identified, V traces the corresponding user’s public key (step ➅) and generates double-spending blaming information.
• Any participant can download the token information from the blockchain and verify the correctness of the double-spending tracing based on the double-spending blaming information generated by V (step ➆).

4.2. Formal Definition

The notations used in the system are listed in Table 1, and the algorithms are defined formally below.
Setup ( 1 λ ) ( m s k , p p , P ) : the algorithm is executed by CA, which takes a security parameter 1 λ as input and returns a secret key m s k , system parameter p p , and set of ticket purchasing policies P .
SKeyGen ( p p ) ( s s k , s p k ) : the algorithm is executed by S, which takes a system parameter p p as input and returns a private key s s k and corresponding public key s p k as output.
UKeyGen ( p p ) ( u s k , u p k ) : the algorithm is executed by U, which takes a system parameter p p as input and returns a private key u s k and corresponding public key u p k as output.
SReg ( S ( s s k , s p k , p p ) CA ( m s k , s p k , p p ) ) ( c r e d s , ) : to obtain a credential for a given public key s p k , S and CA engage in an interactive algorithm. S provides ( s s k , s p k ) and p p as inputs, while CA provides m s k , s p k , and p p as inputs. If the algorithm executes successfully, a credential c r e d s is issued to S. If the algorithm fails to execute, ⊥ is returned as the output.
UReg ( U ( u s k , u p k , A , p p ) CA ( m s k , u p k , p p ) ) ( c r e d u , ) : U and CA engage in an interactive algorithm to obtain a credential for the attribute set A = { a i } i = 1 N . U provides ( u s k , u p k ) , A , and p p as inputs, while CA provides m s k , u p k , and p p as inputs. If the algorithm executes successfully, a credential c r e d u is issued to U. If the algorithm fails to execute, ⊥ is returned as output.
Issue ( U ( u s k , c r e d u , D , A , p p ) S ( s s k , c r e d s , p p , P ) ) ( ( t k t , V P t k t ) , b ) : the algorithm for obtaining an anonymous ticket involves an interaction between U and S. To initiate this process, U provides u s k , c r e d u , D , A , and p p as inputs, while S provides s s k , c r e d s , p p , and P as inputs. Here, we define D = { a i } i D , D [ N ] for convenience. U must then provide proof that a subset D of their attributes A has been certified and that D P in accordance with the ticket purchasing policy selected by S. The final output of the algorithm consists of a bit b indicating the validity of c r e d u as well as an anonymous ticket t k t and its associated valid period V P t k t for U.
Show ( U ( u s k , t k t , V P t k t , s p k , p p ) V ( s p k , p p ) ) ( ( d s i d , d s t r a c e ) , b ) : this algorithm relies on the interaction between U and V. U accepts u s k , t k t , V P t k t , s p k , and p p as inputs, while V only takes s p k and p p . When the algorithm is completed, V uploades the token to BC and produces a bit b with a value of either 1 or 0 (1 indicates that t k t is valid and that V P t k t falls within the validity period, whereas 0 indicates the opposite) along with a double-spending identity d s i d and double-spending trace information d s t r a c e .
DSTrace ( d s i d , d s t r a c e , d s i d ¯ , d s t r a c e ¯ , s p k , p p ) ( ( d s b l a m e , u p k ) , ) : V can execute this algorithm under the condition that the double-spending identity of two tickets is identical ( d s i d = d s i d ¯ ), which can be correctly verified by traversing the token information in BC . By taking two trace information d s t r a c e and d s t r a c e ¯ as input, V can deterministically generate two outputs: the unique public key u p k of the double-spending user, and the double-spending blaming information ( d s b l a m e if successful or ⊥ if unsuccessful).
VerifyDS ( d s b l a m e , u p k ) b : any party can operate this algorithm. With d s b l a m e and u p k as inputs, it generates an output of b = 1 if d s b l a m e proves that u p k has double-spending and b = 0 otherwise.
Note that instead of embedding the user ID as an attribute in the user credential, in our e-ticketing system we use each user’s public key as that user’s unique identifier. This is because in our system each user has a unique public key. When the DSTrace algorithm is executed, the user’s ID can always be determined in the real world according to the public key issued by V and the credential information maintained by CA.
Definition 1.
The correctness of the e-ticket system depends on two conditions: (1) the tickets produced by theIssuealgorithm must be verifiable by theShowalgorithm, and (2) theDSTracealgorithm must be able to track users who attempt double-spending behavior. The formal definition of correctness can be found in Supplementary Material Section S4.

4.3. Security Model

We assume that the central authority in the system, CA, is fully trustworthy. The ticket seller, S, is honest enough to issue tickets to users according to a specific purchase policy but may attempt to obtain users’ undisclosed attributes and real IDs. The user, U, may forge tickets, attempt to spend them twice, or transfer them illegally. The ticket verifier is honest in verifying tickets and detecting users who attempt to spend an electronic ticket more than once, but may attempt to obtain the undisclosed attributes and real IDs of honest users.
The e-ticket system should satisfy the following security requirements: unforgeability of user credentials and tickets, unlinkability of honest users, framing resistance of honest users, and non-transferability of tickets. The security model is defined following the works in [20,23,43,47], and we provide formal definitions of security requirements.
The following global variables and oracles are used in all security definitions.
Global Variables.
HU : the set of honest users’ identities; CU : the set of corrupt users identities; ( UPK , USK ): the list of users’ public and secret keys; ( CRED U , ATTR U , CID U ): the list of user credentials, user attributes sets, and user identities; ( TKT , VP t k t , TID U , TID S ): the list of tickets, valid period of tickets, user identities, and seller identities; HS : the set of honest sellers’ identities; CS : the set of corrupt sellers’ identities; ( SPK , SSK ): the list of sellers’ public and secret keys; ( CRED S , CID S ): the list of sellers’ credentials and identities.
Oracles.
O H U ( i ) : an oracle that can be used to generate keys for an honest user i. If i HU or i CU , then it returns ⊥; otherwise, it creates honest user i by running ( USK [ i ] , UPK [ i ] ) UKeyGen ( · ) . It adds i to HU and returns UPK [ i ] .
O H S ( j ) : an oracle that can be used to generate keys for an honest seller j. If j HS or j CS , then it returns ⊥; otherwise, it creates honest seller j by running ( SSK [ j ] , SPK [ j ] ) SKeyGen ( · ) . It adds j to HS and returns SPK [ j ] .
O C U ( i , u p k ) : an oracle that can (optionally) be used to corrupt an honest user i with the public key u p k . If i CU , then it returns ⊥. If i HU , then it removes i from HU and adds i to CU ; it searches u to fulfill the condition CID U [ u ] = i and returns ( USK [ i ] , ATTR U [ u ] , CRED U [ u ] ). Otherwise, it adds i to CU and sets UPK [ i ] u p k .
O C S ( j , s p k ) : an oracle that can (optionally) be used to corrupt an honest seller j with the public key s p k . If j CS , then it returns ⊥. If j HS , then it removes j from HS , adds j to CS , and returns SSK [ j ] . Otherwise, it adds j to CS and sets SPK [ j ] s p k .
O U R e g ( i , A ) : an oracle that can be used to issue a credential for an honest user i with the attribute set A . If i HU , it returns ⊥. Otherwise, it issues a credential to i by running UReg ( U ( USK [ i ] , UPK [ i ] , A , p p ) CA ( m s k , UPK [ i ] , p p ) ) c r e d u and appends ( c r e d u , A , i ) to ( CRED U , ATTR U , CID U ).
O S R e g ( j ) : an oracle that can be used to issue a credential for an honest seller j. If j HS , it returns ⊥; otherwise, it issues a credential to j by running SReg ( S ( m s k , SPK [ j ] , SPK [ j ] , p p ) CA ( SSK [ j ] , p p ) ) c r e d s and appends ( c r e d s , j ) to ( CRED S , CID S ).
O I s s ( i , j , D ) : an oracle that can be used to play an honest seller j issuing a ticket to an honest user i with the disclosed attributes set D = { a i } i D . If i HU or j HS , it returns ⊥; otherwise, it searches u and v to fulfill conditions CID U [ u ] = i and CID S [ v ] = j , then j issues a ticket to i by running Issue ( U ( USK [ i ] , CRED U [ u ] , D , ATTR U [ u ] , p p ) S ( SSK [ j ] , CRED S [ v ] , p p , P ) ) ( ( t k t , V P t k t ) , b ) . If b = 0 , it returns ⊥; otherwise, it appends ( t k t , V P t k t , i, j) to ( TKT , VP t k t , TID U , TID S ).
O I s s U ( i , j , D ) : an oracle that can be used to play a curious seller j issuing a ticket to an honest user i with the disclosed attributes set D . If i HU or j CS , it returns ⊥; otherwise, it searches u to fulfill the condition CID U [ u ] = i and runs Issue ( U ( USK [ i ] , CRED U [ u ] , D , ATTR U [ u ] , p p ) A ( j , · ) ) ( ( t k t , V P t k t ) , b ) , where the seller’s side is executed by the adversary. If b = 0 , it returns ⊥; otherwise, it appends ( t k t , V P t k t , i, j) to ( TKT , VP t k t , TID U , TID S ).
O I s s S ( j , i , D ) : an oracle that can be used to play an honest seller j issuing a ticket to a malicious user i with the disclosed attributes set D . If i CU or j HS , it returns ⊥; otherwise, it searches v to fulfill the condition CID S [ v ] = j and runs Issue ( A ( i , · ) S ( SSK [ j ] , CRED S [ v ] , p p , P ) ) ( ( t k t , V P t k t ) , b ) , where the user’s side is executed by the adversary. If b = 0 , it returns ⊥; otherwise, it appends ( t k t , V P t k t , i, j) to ( TKT , VP t k t , TID U , TID S ).
O S h w ( i , j ) : an oracle that can be used to play a malicious verifier verifying a ticket for an honest seller user i. If i HU , it returns ⊥; otherwise, it searches u to fulfill conditions TID U [ u ] = i and TID S [ u ] = j and runs Show ( U ( USK [ i ] , TKT [ u ] , VP t k t [ u ] , p p ) A ( SPK [ j ] , · ) ) ( ( d s i d , d s t r a c e ) , b ) , where the verifier’s side is executed by the adversary. If b = 0 , it returns ⊥; otherwise, it returns ( d s i d , d s t r a c e ) .
We define the security model of the PriTKT system as follows.
Unforgeability. Unforgeability can protect honest sellers and verifiers from malicious users. It guarantees that users cannot forge credentials in the Issue algorithm or tickets in the Show algorithm. An adversary can interact with the CA and honest seller oracles as a corrupted user to model this property. The adversary wins when they can forge a credential or a ticket of either an honest or an unregistered user in the Issue or Show algorithm. Unforgeability is defined by dividing it into credential unforgeability and ticket unforgeability.
Definition 2.
Experiment E x p u f c r e d in Pse. 1 defines the unforgeability of credentials. The users’ credentials are considered unforgeable if any PPT adversary A can access the oracle O = { O H U ( i ) , O C U ( i ) , O H S ( j ) , O U R e g ( i , A ) , O S R e g ( j ) , O I s s ( i , j , D ) , O I s s S ( j , i , D ) , O S h w ( i , j ) } . A negligible function ϵ ( λ ) exists such that
A d v u f c r e d = | Pr E x p u f c r e d ( A , λ ) = 1 | ϵ ( λ ) .
  • Sensors 24 00496 i001
    Pseudocode 1. Unforgeability of Credentials
Definition 3.
The experiment E x p u f t k t in Pse. 2 defines the unforgeability of tickets. In order for users’ tickets to be considered unforgeable, it must be the case that any PPT adversary, denoted as A , who has the oracle O that contains O H U ( i ) , O C U ( i ) , O H S ( j ) , O U R e g ( i , A ) , O S R e g ( j ) , O I s s ( i , j , D ) , O I s s S ( j , i , D ) , and O S h w ( i , j ) , will have a negligible function ϵ ( λ ) such that
A d v u f t k t = | Pr E x p u f t k t ( A , λ ) = 1 | ϵ ( λ ) .
  • Sensors 24 00496 i002
    Pseudocode 2. Unforgeability of Tickets
Unlinkability. Unlinkability is necessary to safeguard honest users from inquisitive sellers and verifiers. Its primary purpose is to prevent an adversary from controlling a corrupt seller (who also verifies) from associating a specific credential with a particular user in the Issue algorithm or from tying a specific ticket to a particular user in the Show algorithm. To formally define this property, we allow the adversary to interact with the CA and honest user oracles playing the part of the corrupted seller. In the subsequent challenge phase, the adversary can invoke extra interactions and attempt to determine which user they are interacting with. If they correctly guess the user, the adversary wins. To define this property, we divide unlinkability into unlinkability of credentials and unlinkability of tickets.
Definition 4.
The experiment E x p a n o c r e d b depicted in Pse. 3 defines the unlinkability of credentials. We consider users’ credentials to be unlinkable if, for any PPT adversary, A with access to the oracle O = { O H U ( i ) , O H S ( j ) , O C S ( j ) , O U R e g ( i , A ) , O S R e g ( j ) , O I s s ( i , j , D ) , O I s s U ( i , j , D ) , O S h w ( i , j ) } there exists a negligible function ϵ ( λ ) such that
A d v a n o c r e d = | Pr E x p a n o c r e d 1 ( A , λ ) = 1 Pr E x p a n o c r e d 0 ( A , λ ) = 1 | ϵ ( λ ) .
  • Sensors 24 00496 i003
    Pseudocode 3. Anonymity of Credentials
Definition 5.
Experiment E x p a n o t k t b in Pse. 4 defines the unlinkability of tickets. Users’ tickets are unlinkable if any PPT adversary A with the oracle O = { O H U ( i ) , O H S ( j ) , O C S ( j ) , O U R e g ( i , A ) , O S R e g ( j ) , O I s s ( i , j , D ) , O I s s U ( i , j , D ) , O S h w ( i , j ) } cannot associate a specific ticket with a particular user. There exists a negligible function ϵ ( λ ) such that
A d v a n o t k t = | Pr E x p a n o t k t 1 ( A , λ ) = 1 Pr E x p a n o t k t 0 ( A , λ ) = 1 | ϵ ( λ ) .
  • Sensors 24 00496 i004
    Pseudocode 4. Anonymity of Tickets
Framing Resistance. In defining framing resistance, we follow the idea of Bobolz et al. [23]. Framing resistance ensures that corrupt sellers cannot falsely accuse honest users of double spending. To model this property, we allow the adversary to interact with the CA and the oracles of the honest users in the role of a corrupt seller. Honest users will not engage in double spending. The adversary outputs a double-spending blame information d s b l a m e . If there is an honest user’s public key u p k that verifies d a b l a m e and u p k with VerifyDS, then the adversary wins.
Definition 6.
The framing resistance property is defined by the experiment E x p f r in Pse. 5. The e-ticket system is framing-resistant if, for any PPT adversary A having access to the oracle O = { O H U ( i ) , O H S ( j ) , O C S ( j ) , O U R e g ( i , A ) , O S R e g ( j ) , O I s s ( i , j , D ) , O I s s U ( i , j , D ) , O S h w ( i , j ) } , there is a negligible function ϵ ( λ ) such that
A d v f r = | Pr E x p f r ( A , λ ) = 1 | ϵ ( λ ) .
  • Sensors 24 00496 i005
    Pseudocode 5. Framing Resistance
  • Sensors 24 00496 i006
    Pseudocode 6. Seller Registration Algorithm

5. Our Construction

5.1. Overflow of PriTKT

PriTKT’s workflow, illustrated in Figure 1, operates in the following manner. The CA initializes the system by issuing a system parameter p p and a set of ticket purchase policies P (Setup, step ➀). Upon joining the system, the Seller (S) creates a private–public key pair ( s s k , s p k ) by running SKeyGen, authenticates to the CA, and obtains their public key credentials c r e d s (SReg, step ➁). The User (U) generates the private–public key pair ( u s k , u p k ) using UKeyGen, authenticates to the CA, and obtains their attribute-based credentials c r e d u (UReg, step ➂). To obtain a ticket, U verifies their identity to S by providing a disclosure proof for selective attributes (including attributes D A ) and S generates a ticket t k t for U (Issue, step ➃). Upon presenting the ticket, U anonymously proves its validity to Verifier (V) and discloses its validity period V P t k t and double-spending identity d s i d (Show, step ➄). V can traverse the token information in the blockchain and verify whether a double-spending event has occurred. In case of attempted double-spending, V can trace U’s public key u p k using a ticket t k t and generate blame information (DSTrace, step ➅). Using this blame information, any entity involved can verify the accuracy of the double-spending trace (VerifyDS, step ➆).

5.2. High-Level Overview

In this section, we present a specific implementation of the e-ticket system defined in Section 4. The main challenge in developing the e-ticket system is creating efficient and unlinkable ticket issuance and show algorithms. The classical solution used in this regard consists of zero-knowledge proofs that prove the knowledge of hidden attributes, where those attributes are signed by a certification authority or a signer. Han et al. [18] have proposed an attribute-based e-ticketing system using this approach, and to date this remains the only such system. Han et al.’s system includes a privacy-preserving e-ticketing system with attribute-based credentials, BBS signatures, and NIZK. While this solution fulfills privacy requirements, the system is very costly, with the Issue algorithm’s computational complexity being O ( N ) , where N is the number of user attributes. This significantly limits its practical use. Another strategy is to use specific signatures to prove knowledge of a subset of user attributes. The URS signature [20,44] is a constant-size signature that proves K out of N attributes, and its computational complexity is O ( N K ) for the prover and O ( K ) for the verifier. Sanders [20] has proposed an extremely efficient URS scheme that can easily unlink without cost. Therefore, we have chosen to use Sanders’ URS scheme to create the attribute credentials c r e d u and tickets t k t . URS ensures that the displayed credentials cannot be linked and supports the proof of attribute disclosure. The most important advantage of URS is that it uses randomization proof technology, avoiding the need for complex zero-knowledge proofs.
Because the private key of S is used to issue tickets to U, S generates the public–private key pair of URS, and the CA must issue the credential for the public key of S. SPS [21] allows us to effectively implement credential issuance for URS public keys.
The tickets are designed as single-use tickets, with a need to prevent double-spending by users. Moreover, in the case of double-spending, a user’s public key needs to quickly be traced. To meet these requirements, we use the “Schnorr trick” [23]. When presenting tickets, a user discloses their double-spending identity d s i d to the verifier; the verifier can instantly detect double-spending if a similar identity was used earlier. Specifically, every time a user shows a ticket, they create a challenge value c and calculate s = d s r n d + u s k · c , employing the “Schnorr trick”. When double-spending occurs, the user is required to show s = d s r n d + u s k · c in the first show and s ¯ = d s r n d + u s k · c ¯ in the second show. The zero-knowledge proof of knowledge ensures that u s k and d s r n d are the same for both shows, while ( s , s ¯ , c , c ¯ ) enables the verifier to calculate u s k . If a user does not double-spend, u s k remains perfectly hidden in s (because d s r n d is only used once) and each displayed d s i d is simply a random identity.
  • Sensors 24 00496 i007
    Pseudocode 7. User Registration Algorithm
  • Sensors 24 00496 i008
    Pseudocode 8. Issue Tickets Algorithm
  • Sensors 24 00496 i009
    Pseudocode 9. Show Tickets Algorithm

5.3. Concrete Construction

Setup ( 1 λ ) ( m s k , p p , P ) : CA takes the security parameter 1 λ as input to create the system master private key m s k , public parameters p p , and a ticket purchasing policy set P . CA defines a ticket purchasing policy set P and generates Type-III bilinear pair parameters ( G 1 , G 2 , G T , g , g ˜ , p , e ) . CA selects ( x , y 0 , y 1 , , y N ) R Z p N + 2 , ( d , e 0 , e 1 , , e 3 ) R Z p 5 , h R G 1 , and computes X = g x , Y i = g y i , Y ˜ i = g ˜ y i , Z i , j = g y i · y j for 0 i j N . In addition, CA computes D ˜ = g ˜ d and E ˜ i = g ˜ e i , 0 i 3 . CA then outputs m s k = { x , y 0 , y 1 , , y N , d , e 0 , e 1 , , e 3 } and p p = { g , g ˜ , h , X , Y 0 , , Y N , Y ˜ 0 , , Y ˜ N , { Z i , j } 0 i j N , D ˜ , E ˜ 0 , , E ˜ 3 } .
SKeyGen ( p p ) ( s s k , s p k ) : S takes public parameters p p as input to generate its secret key s s k and public key s p k . S selects ( a , b 0 , b 1 , , b 3 ) R Z p 5 and computes A = g a , B i = g b i , B ˜ i = g ˜ b i , C 0 , 2 = g b 0 · b 2 , C 1 , 2 = g b 1 · b 2 , and C 3 , 2 = g b 3 · b 2 , where 0 i 3 . S outputs s s k = { a , b 0 , b 1 , , b 3 } and s p k = { A , B 0 , , B 3 , B ˜ 0 , , B ˜ 3 , C 0 , 2 , C 1 , 2 , C 3 , 2 } .
UKeyGen ( p p ) ( u s k , u p k ) : U takes public parameters p p as input to generate the secret key u s k and public key u p k . U selects u s k R Z p and computes u p k = g ˜ u s k .
SReg ( S ( s s k , s p k , p p ) CA ( m s k , s p k , p p ) ) c r e d s : As shown in Pse. 6, S interacts with CA to generate the seller’s public key credential c r e d s . S sends CA the public key s p k along with a ZKSoK of s s k ( Π 1 ) to prove that S knows the secret key s s k . S should authenticate to CA and provide (online or offline) evidence to demonstrate that it can operate as a seller. If Π 1 is verified as valid and the authentication is accepted, CA computes an SPS signature c r e d s as the credential of the public key s p k . c r e d s is then sent back to S, who uses its private and public keys and their associated credential to verify that CA has authorized it as a seller.
UReg ( U ( u s k , u p k , A , p p ) CA ( m s k , u p k , p p ) ) c r e d u : as shown in Pse. 7, U interacts with CA to generate the user’s attribute credential c r e d u . U sends CA the public key u p k along with a ZKSoK of u s k ( Π 2 ) and a set of attributes A = { a i } i = 1 N which allow U to purchase tickets. If Π 2 is verified as valid and the attributes are authentic, CA computes a URS signature c r e d u as the credential of the public key u p k and user attributes A . c r e d u is sent back to U, who uses it to verify that they are now a legitimate user and that their attributes have been signed by CA.
Issue ( U ( u s k , c r e d u , D , A , p p ) S ( s s k , c r e d s , p p , P ) ) ( t k t , V P t k t ) : as shown in Pse. 8, U interacts with S to obtain the ticket t k t . To prevent S from collecting user information maliciously, S computes the signature of knowledge Π 1 to prove to the user that it has been authenticated by CA. To prevent replay attacks, S chooses a random n o n c e to send to U. U anonymously proves to S that they have been certified by CA as a legitimate user and selects an attributes set D to disclose in order to satisfy a ticket purchasing policy selected by S from the policy set defined by CA. U then generates a new Pedersen commitment p s u which commits a private key u s k , double-spending identity d s i d , and double-spending random d s r n d . U constructs a ZKSoK ( Π 3 ) to prove that U knows the knowledge of ( u s k , d s i d , d s r n d ) and that p s u and c r e d u have the same u s k . If Π 3 is verified as valid, S can update the Pedersen commitment p s u homomorphically without knowing the opening, then produces the ticket t k t , contributes to double-spending identity d s i d of S, and clarifies the ticket’s valid period V P t k t . S then sends t k t , d s i d , and V P t k t to U, who uses them along with U’s private key to verify the validity of the ticket.
Show ( U ( u s k , t k t , V P t k t , s p k , p p ) V ( s p k , p p ) ) ( ( d s i d , d s t r a c e ) , b ) : as shown in Pse. 9, U interacts with V to show the ticket t k t . To prevent replay attacks, V first chooses a random n o n c e to send to U. U anonymously proves the legitimacy of t k t to V and discloses d s i d and V P t k t . Then, U computes the challenge c and s = d s r n d + u s k · c to enable V to reveal the user’s public key in case of double-spending. Finally, U needs to compute Π 4 to ensure that the d s r n d in the t k t is the same as in s . If Π 4 is verified, V checks all tickets in the history with the same d s i d to detect whether the ticket has been double-spent. If not, V uploads ( d s i d , d s t r a c e ) to BC and outputs b = 1 ; otherwise, b = 0 . Then, V traverses the token information in the blockchain and verifies whether a double-spending event has occurred. In case of double-spending being detected, V outputs d s i d to link double-spending tickets and uses d s t r a c e to trace the double-spending user’s public key.
DSTrace ( d s i d , d s t r a c e , d s i d ¯ , d s t r a c e ¯ , s p k , p p ) ( d s b l a m e , u p k ) : if U spends the same ticket a second time, this algorithm can be operated by V. If U only spends their ticket once, then u s k is perfectly hidden. However, in the case of double-spending V can detect whether the d s i d of the current ticket is the same as the d s i d ¯ of a ticket that was spent before. This allows V to compute the private key u s k of a double-spending user based on the fact that double-spending of the same ticket involves the same d s i d and two different challenges ( c , c ¯ ) with s = d s r n d + u s k · c , s ¯ = d s r n d + u s k · c ¯ , allowing V to extract u s k with overwhelming probability by parsing { d s i d , d s t r a c e = ( s , c ) } and { d s i d ¯ , d s t r a c e ¯ = ( s ¯ , c ¯ ) } . If d s i d = d s i d ¯ , d s b l a m e = s s ¯ c ¯ c is output and u p k = g ˜ d s b l a m e ; otherwise, ⊥ is output. It should be noted that because the user generates c by using a random n o n c e selected by V every time a ticket is shown, there is an overwhelming probability that generation of two different c will be forced when a ticket is double-spent.
VerifyDS ( d s b l a m e , u p k ) b ; given double-spending blaming information d s b l a m e and a public key u p k , this algorithm outputs b = 1 if u p k = g ˜ d s b l a m e and b = 0 otherwise.
The details of the zero-knowledge signature of knowledge of the proposed system are shown in Supplemental Material Section S3.

6. Security Analysis

In Supplementary Material Section S1, we analyze the correctness of the proposed system. To formalize that our construction from Section 4.2 satisfies all the desired security guarantees defined in Section 3.2, we define the following theorems. Let Π 1 , Π 2 , Π 3 , Π 4 be ZKSoKs. See Supplementary Material Section S2 for the formal proofs.
Theorem 1.
In the PriTKT system, the user’s credential is unforgeable if the DL assumption holds in G 2 and if the URS is unforgeable.
Theorem 2.
In the PriTKT system, the user’s tickets are unforgeable if the DL assumption holds in G 2 and if the URS is unforgeable.
Theorem 3.
In the PriTKT system, the user’s credential is unlinkable if the DDH assumption holds in G 2 .
Theorem 4.
In the PriTKT system, the user’s tickets are unlinkable if the DDH assumption holds in G 2 .
Theorem 5.
The PriTKT system is framing-resistant if the DL assumption holds in G 2 .

7. Performance Analysis

7.1. Theoretical Analysis and Comparison

Table 2 presents a detailed comparison of PriTKT and related works, including four e-ticket systems [12,13,14,16], one attribute-based issuance e-ticket system [18], and five attribute-based credential schemes [35,36,39,40,43]. The comparison evaluates each system in terms of formal security proof, double-spending detection, double-spending trace, attribute-based issuance, and attribute disclosure. Formal proof refers to an e-ticketing system’s security verification through formal methods. Double-spending detection ensures that an e-ticket cannot be reused after it has been spent, while double-spending trace allows for the identification of the responsible user when a ticket is spent twice. Attribute-based issuance allows for the issuance of tickets or credentials based on user attributes. Finally, attribute disclosure refers to the method used by users to reveal a subset of their attributes in order to purchase or display tickets. Of the e-ticketing systems included in the study, all those listed in [12,13,14,16,18] feature double-spending detection, while the systems in [14,18] offer double-spending trace and formal security proof. Furthermore, Ref. [18] employs complex zero-knowledge proofs (ZKP) to issue tickets based on attributes, while the attribute-based credential schemes discussed in [35,36,39,40] use ZKP to issue credentials. Lastly, the attribute-based credential schemes in [43] offer formal proof and attribute-based issuance, with the efficiency of attribute disclosure improved by replacing ZKP with SPS-EQ. However, this scheme fails to prove that the user’s hidden attributes satisfy certain requirements. In comparison, PriTKT boasts formal proof, double-spending detection, double-spending trace, attribute-based issuance, and attribute disclosure. The URS signature used in PriTKT avoids the complexity associated with the use of ZKP in [18].
Table 3, Table 4 and Table 5 feature a comparison of the PriTKT system and the only existing e-ticketing system [18] in terms of computation, storage, and communication overhead. The sizes of the elements in the groups G 1 , G 2 , G T , and Z p are represented by | G 1 | , | G 2 | , | G T | , and | Z p | , respectively. The time costs for exponentiation in groups G 1 , G 2 , and G T , and the bilinear pairing maps are denoted by t e 1 , t e 2 , t e T , and t p , respectively. The only difference in implementation between these two systems is that PriTKT uses high-efficiency Type-III pairing, where G 1 G 2 , while the system presented in [18] uses Type-I pairing with G 1 = G 2 .
Table 3, Table 4 and Table 5 show that the system in [18] is inefficient; a ticket issued on an attribute-based credential (Issue U ) requires at least O ( N ) operations in order for a user to disclose K attributes out of a total of N attributes. In addition, it is necessary to prove knowledge of all N attributes, which implies that at least O ( N ) elements must be sent in communications during the execution of the Issue algorithm. Our algorithm avoids this problem, significantly reducing the computational cost to O ( N K ) operations and the communication cost to O ( K ) elements.
In PriTKT, the computational overhead of Setup and the storage overhead of p p are both O ( N 2 ) . Fortunately, system initialization only needs to be performed once, and the system parameters p p are stored on users’ IoT devices (such as smartphones), which have more than enough storage space. In PriTKT, the user credential c r e d u , seller credential c r e d s , and ticket t k t all have constant sizes. While the operations on Issue U are related to the number of user attributes, they decrease with the number of disclosed attributes. The operations for Issue S depend only on the number of disclosed attributes. The computation and communication overhead of Show and DSTrace are constant in PriTKT.

7.2. Experimental Analysis of PriTKT

We further evaluated the performance of the PriTKT system through objective tests. We implemented the system and measured its performance on an Android 9.0 operating system running on a HUAWEI Honor 9i smartphone, which had a Hisilicon Kirin 659 (ARMv8-A) CPU with a clock speed of 2.36 GHz and 1.7 GHz and with 4 GB of RAM.
We performed experiments utilizing MIRACL [48] and Type-III pairing. We used SHA256 to implement the H : { 0 , 1 } * Z p hash functions required by PriTKT (see Pseudocodes 8 and 9). To accurately evaluate the computational and storage/communication overhead of each of PriTKT’s algorithms, we used the Barreto–Naehrig curve (BN-256) [49]. BN-256 was used to test the system’s performance at the AES 100-bit security level, and we compared it to the performance of a scheme [18] using the Security Supersingular Elliptic Curve (SSP-1536) [50] at the same security level.
In practice, the total number of user attributes N can reach hundreds, and is usually much larger than the number of a user’s disclosed attributes K. For example, a user may have n a m e , i d , s t u d e n t , p h o n e , n u m b e r , o c c u p a t i o n , h o m e , a d d r e s s , and many other attributes. If the user buys a student discount ticket, they only need to provide their s t u d e n t attribute. Therefore, we compared the computation and storage/communication costs with a larger number of N and a constant number of K = 5 .
Table 6, Table 7 and Table 8 compare the computational and storage/communication overheads of all algorithms between PriTKT and [18] at N = 50 , where each time result is averaged over 50 iterations.
As shown in Table 6, in PriTKT the Setup algorithm takes 44.2 s. For key generation, UKeyGen and SKeyGen cost 18.1 ms and 143.6 ms, respectively. For user registration, UReg U and UReg C A cost 642.8 ms and 95.5 ms, respectively. For seller registration, SReg S and SReg C A cost 1024.3 ms and 1543.2 ms, respectively. The DSTrace algorithm takes 18.5 ms. Most frequently used of e-tickets rely on two algorithms, namely, Issue and Show. When issuing a ticket, the computation overheads of the Issue U algorithm are 1971.4 ms for PriTKT and 561,049 ms for the scheme in [18], while the computation overheads of the Issue S algorithm are 908.2 ms for PriTKT and 201,506 ms for the scheme in [18]. When showing a ticket, the computation overheads of the Show U algorithm are 320.4 ms for PriTKT and 79,544 ms for the scheme in [18], while the computation overheads of the Show V algorithm are 804.3 ms for PriTKT and 69,924 ms for the scheme in [18].
As shown in Table 7, the storage of public parameters p p in PriTKT is 348,816 bytes, which is significantly larger than the 2584 bytes required by the scheme in [18]; however, we note that public parameters can be stored in smartphones with sufficient storage space. The other size overheads are similar for both PriTKT and the scheme in [18].
As shown in Table 8, the communication overheads of the Issue U algorithm are 1856 bytes for PriTKT and 6640 bytes for the scheme in [18], while the communication overheads of the Show U algorithm are 1568 bytes for PriTKT and 1824 bytes for the scheme in [18]. For both the Issue S and Show V algorithms, the communication overheads of both PriTKT and the scheme in [18] are less than 1000 bytes.
Table 9 and Table 10 compare the computational and communication overheads of the Issue and Show algorithms between PriTKT and the scheme in [18]; the parameters were set to K = 5 , while N varied from 20 to 100.
Table 9 shows that the computational overhead of the Issue U algorithm in both PriTKT and the scheme of Han et al. [18] increases linearly with the number of user attributes. However, PriTKT performs over 250 times more efficiently than the scheme of Han et al. For the Issue S algorithm, the computational overhead of both schemes are independent of the number of user attributes. Nonetheless, PriTKT is around 200 times more efficient than the scheme of Han et al. In the case of the Show U and Show V algorithms, the computational overhead of both schemes are independent of the number of user attributes. However, PriTKT executes around 240 times and 80 times more efficiently in the Show U and Show V algorithms, respectively, compared to the scheme of Han et al.
As shown in Table 10, the communication overheads of PriTKT are constant for both the Issue and Show algorithms. The communication overheads of the Issue U , Issue S , Show U , and Show V algorithms in PriTKT are as low as 1856 bytes, 904 bytes, 1586 bytes and 120 bytes, respectively. In comparison, while the scheme in [18] achieves a constant communication overhead for the Show algorithm, for the Issue U algorithm its output size increases linearly with the number of user attributes.
Compared to the state-of-the-art described in Han et al. [18], the above analysis and comparison reveal that PriTKT incurs significantly less computational and communication overhead.

8. Conclusions

This paper presents a blockchain-enhanced privacy-preserving e-ticketing system for IoT devices. The proposed system permits users to purchase tickets anonymously by revealing some of their attributes while concealing others. The proposed system presents significantly reduced computational cost and communication overhead compared to state-of-the-art e-ticketing systems, making it suitable for use in IoT devices. Moreover, it utilizes blockchain technology to achieve effective malicious user tracking. The system possesses robust security properties such as unlinkability, unforgeability, non-double spending, non-transferability, and framing resistance. The security properties are formally defined, and we have reduced them to well-known complexity assumptions or the security of proven cryptography primitives. We implemented the algorithms of the e-ticketing system on a smartphone, demonstrating that the system generates significantly lower computational and communication overhead compared to the state-of-the-art.

Supplementary Materials

The following supporting information can be downloaded at: https://www.mdpi.com/article/10.3390/s24020496/s1, Section S1: Correctness Analysis; Section S2: Security Proof; Section S3: Zero-Knowledge Signature of Knowledge; Section S4: Formal Correctness Definition.

Author Contributions

Conceptualization, Y.Z. and R.S.; Methodology, Y.Z.; Software, F.Y.; Validation, G.S. and C.D.; Formal analysis, F.Y.; Investigation, F.Y.; Resources, R.S.; Data curation, G.S.; Writing—original draft, Y.Z. and R.S.; Writing—review and editing, G.S. and C.D.; Funding acquisition, C.D. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by National Natural Science Foundation of China under Grant No. 62372110 and by the Fujian Provincial Natural Science of Foundation under Grant 2023J02008.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Data are contained within the article and supplementary materials.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Iata.org. TATA. 2014. Available online: https://www.iata.org/en/services/certification/operations-safety-security/ (accessed on 1 January 2024).
  2. Group, R.D. Rail Technical Strategy Capability Delivery Plan. 2017. Available online: https://www.rssb.co.uk/ (accessed on 1 January 2024).
  3. Group, T.S.L. The Future Railway—The Industry’s Rail Technical Strategy 2012. 2012. Available online: https://www.rssb.co.uk/ (accessed on 1 January 2024).
  4. Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. 2008. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 1 January 2024).
  5. Sasson, E.B.; Chiesa, A.; Garman, C.; Green, M.; Miers, I.; Tromer, E.; Virza, M. Zerocash: Decentralized anonymous payments from bitcoin. In Proceedings of the 2014 IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 18–21 May 2014; pp. 459–474. [Google Scholar]
  6. Androulaki, E.; Camenisch, J.; Caro, A.D.; Dubovitskaya, M.; Elkhiyaoui, K.; Tackmann, B. Privacy-preserving auditable token payments in a permissioned blockchain system. In Proceedings of the 2nd ACM Conference on Advances in Financial Technologies, New York, NY, USA, 21–23 October 2020; pp. 255–267. [Google Scholar]
  7. Sun, S.F.; Au, M.H.; Liu, J.K.; Yuen, T.H. Ringct 2.0: A compact accumulator-based (linkable ring signature) protocol for blockchain cryptocurrency monero. In Proceedings of the Computer Security–ESORICS 2017: 22nd European Symposium on Research in Computer Security, Oslo, Norway, 11–15 September 2017; Proceedings, Part II 22. Springer: Cham, Switzerland, 2017; pp. 456–474. [Google Scholar]
  8. Agreement, P. Paris agreement. In Report of the Conference of the Parties to the United Nations Framework Convention on Climate Change (21st Session, 2015: Paris). Retrived December; HeinOnline: Getzville, NY, USA, 2015; Volume 4, p. 2017. [Google Scholar]
  9. Regulation, P. General data protection regulation. Intouch 2018, 25, 1–5. [Google Scholar]
  10. Chaum, D. Blind signatures for untraceable payments. In Advances in Cryptology: Proceedings of Crypto 82; Springer: Boston, MA, USA, 1983; pp. 199–203. [Google Scholar]
  11. Chaum, D.; Van Heyst, E. Group signatures. In Proceedings of the Advances in Cryptology—EUROCRYPT’91: Workshop on the Theory and Application of Cryptographic Techniques, Brighton, UK, 8–11 April 1991; Proceedings 10. Springer: Berlin/Heidelberg, Germany, 1991; pp. 257–265. [Google Scholar]
  12. Heydt-Benjamin, T.S.; Chae, H.J.; Defend, B.; Fu, K. Privacy for public transportation. In Proceedings of the Privacy Enhancing Technologies: 6th International Workshop, PET 2006, Cambridge, UK, 28–30 June 2006; Revised Selected Papers 6. Springer: Berlin/Heidelberg, Germany, 2006; pp. 1–19. [Google Scholar]
  13. Milutinovic, M.; Decroix, K.; Naessens, V.; De Decker, B. Privacy-preserving public transport ticketing system. In Proceedings of the Data and Applications Security and Privacy XXIX: 29th Annual IFIP WG 11.3 Working Conference, DBSec 2015, Fairfax, VA, USA, 13–15 July 2015; Proceedings 29. Springer: Cham, Switzerland, 2015; pp. 135–150. [Google Scholar]
  14. Rupp, A.; Baldimtsi, F.; Hinterwälder, G.; Paar, C. Cryptographic theory meets practice: Efficient and privacy-preserving payments for public transport. ACM Trans. Inf. Syst. Secur. (TISSEC) 2015, 17, 10. [Google Scholar] [CrossRef]
  15. Lysyanskaya, A.; Rivest, R.L.; Sahai, A.; Wolf, S. Pseudonym systems. In Proceedings of the Selected Areas in Cryptography: 6th Annual International Workshop (SAC’99), Kingston, ON, Canada, 9–10 August 1999; Proceedings 6. Springer: Berlin/Heidelberg, Germany, 2000; pp. 184–199. [Google Scholar]
  16. Vives-Guasch, A.; Payeras-Capellà, M.M.; Mut-Puigserver, M.; Castella-Roca, J.; Ferrer-Gomila, J.L. A secure e-ticketing scheme for mobile devices with near field communication (NFC) that includes exculpability and reusability. IEICE Trans. Inf. Syst. 2012, 95, 78–93. [Google Scholar] [CrossRef]
  17. Chaum, D. Security without identification: Transaction systems to make big brother obsolete. Commun. ACM 1985, 28, 1030–1044. [Google Scholar] [CrossRef]
  18. Han, J.; Chen, L.; Schneider, S.; Treharne, H.; Wesemeyer, S. Privacy-preserving electronic ticket scheme with attribute-based credentials. IEEE Trans. Dependable Secur. Comput. 2019, 18, 1836–1849. [Google Scholar] [CrossRef]
  19. by Design Foundation, P. IRMA Attributes. 2023. Available online: https://privacybydesign.foundation/attribute-index/en/ (accessed on 1 January 2024).
  20. Sanders, O. Efficient redactable signature and application to anonymous credentials. In Proceedings of the Public-Key Cryptography–PKC 2020: 23rd IACR International Conference on Practice and Theory of Public-Key Cryptography, Edinburgh, UK, 4–7 May 2020; Proceedings, Part II. Springer: Cham, Switzerland, 2020; pp. 628–656. [Google Scholar]
  21. Groth, J. Efficient fully structure-preserving signatures for large messages. In Proceedings of the Advances in Cryptology–ASIACRYPT 2015: 21st International Conference on the Theory and Application of Cryptology and Information Security, Auckland, New Zealand, 29 November–3 December 2015; Proceedings, Part I. Springer: Berlin/Heidelberg, Germany, 2016; pp. 239–259. [Google Scholar]
  22. Chase, M.; Lysyanskaya, A. On signatures of knowledge. In Proceedings of the Advances in Cryptology-CRYPTO 2006: 26th Annual International Cryptology Conference, Santa Barbara, CA, USA, 20–24 August 2006; Proceedings 26. Springer: Berlin/Heidelberg, Germany, 2006; pp. 78–96. [Google Scholar]
  23. Bobolz, J.; Eidens, F.; Krenn, S.; Slamanig, D.; Striecks, C. Privacy-preserving incentive systems with highly efficient point-collection. In Proceedings of the 15th ACM Asia Conference on Computer and Communications Security, Taipei, Taiwan, 5–9 October 2020; pp. 319–333. [Google Scholar]
  24. Mut-Puigserver, M.; Payeras-Capellà, M.M.; Ferrer-Gomila, J.L.; Vives-Guasch, A.; Castellà-Roca, J. A survey of electronic ticketing applied to transport. Comput. Secur. 2012, 31, 925–939. [Google Scholar] [CrossRef]
  25. Damgård, I.; Dupont, K.; Pedersen, M.Ø. Unclonable group identification. In Proceedings of the Advances in Cryptology-EUROCRYPT 2006: 24th Annual International Conference on the Theory and Applications of Cryptographic Techniques, St. Petersburg, Russia, 28 May 28–1 June 2006; Proceedings 25. Springer: Berlin/Heidelberg, Germany, 2006; pp. 555–572. [Google Scholar]
  26. Ateniese, G.; Fu, K.; Green, M.; Hohenberger, S. Improved proxy re-encryption schemes with applications to secure distributed storage. ACM Trans. Inf. Syst. Secur. (TISSEC) 2006, 9, 1–30. [Google Scholar] [CrossRef]
  27. Jager, T.; Rupp, A. Black-Box Accumulation: Collecting Incentives in a Privacy-Preserving Way. Proc. Priv. Enhancing Technol. 2016, 2016, 62–82. [Google Scholar] [CrossRef]
  28. Hartung, G.; Hoffmann, M.; Nagel, M.; Rupp, A. BBA+ Improving the Security and Applicability of Privacy-Preserving Point Collection. In Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, Dallas, TX, USA, 30 October–3 November 2017; pp. 1925–1942. [Google Scholar]
  29. Hoffmann, M.; Klooß, M.; Raiber, M.; Rupp, A. Black-box wallets: Fast anonymous two-way payments for constrained devices. Proc. Priv. Enhancing Technol. 2020, 2020, 165–194. [Google Scholar] [CrossRef]
  30. Pedersen, T.P. Non-interactive and information-theoretic secure verifiable secret sharing. In Advances in Cryptology—CRYPTO’91: Proceedings; Springer: Berlin/Heidelberg, Germany, 2001; pp. 129–140. [Google Scholar]
  31. Abe, M.; Okamoto, T. Provably secure partially blind signatures. In Proceedings of the Advances in Cryptology—CRYPTO 2000: 20th Annual International Cryptology Conference, Santa Barbara, CA, USA, 20–24 August 2000; Proceedings 20. Springer: Berlin/Heidelberg, Germany, 2000; pp. 271–286. [Google Scholar]
  32. Camenisch, J.; Lysyanskaya, A. An efficient system for non-transferable anonymous credentials with optional anonymity revocation. In Proceedings of the Advances in Cryptology—EUROCRYPT 2001: International Conference on the Theory and Application of Cryptographic Techniques, Innsbruck, Austria, 6–10 May 2001; Proceedings 20. Springer: Berlin/Heidelberg, Germany, 2001; pp. 93–118. [Google Scholar]
  33. Boneh, D.; Boyen, X. Short signatures without random oracles. In Proceedings of the Advances in Cryptology-EUROCRYPT 2004: International Conference on the Theory and Applications of Cryptographic Techniques, Interlaken, Switzerland, 2–6 May 2004; Proceedings 23. Springer: Berlin/Heidelberg, Germany, 2004; pp. 56–73. [Google Scholar]
  34. Camenisch, J.; Chaabouni, R.; Shelat, A. Efficient protocols for set membership and range proofs. In Proceedings of the 14th International Conference on the Theory and Application of Cryptology and Information Security, Melbourne, Australia, 7–11 December 2008; Springer: Berlin/Heidelberg, Germany, 2008; pp. 234–252. [Google Scholar]
  35. Camenisch, J.; Lysyanskaya, A. A signature scheme with efficient protocols. In Proceedings of the Security in Communication Networks: Third International Conference (SCN 2002), Amalfi, Italy, 11–13 September 2002; Revised Papers 3. Springer: Berlin/Heidelberg, Germany, 2003; pp. 268–289. [Google Scholar]
  36. Camenisch, J.; Lysyanskaya, A. Signature schemes and anonymous credentials from bilinear maps. In Proceedings of the Advances in Cryptology–CRYPTO 2004: 24th Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 2004; Proceedings 24. Springer: Berlin/Heidelberg, Germany, 2004; pp. 56–72. [Google Scholar]
  37. Boneh, D.; Boyen, X.; Shacham, H. Short group signatures. In Proceedings of the CRYPTO 2004: Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 2004; Springer: Berlin/Heidelberg, Germany, 2004; Volume 3152, pp. 41–55. [Google Scholar]
  38. Boneh, D.; Boyen, X. Short signatures without random oracles and the SDH assumption in bilinear groups. J. Cryptol. 2008, 21, 149–177. [Google Scholar] [CrossRef]
  39. Au, M.H.; Susilo, W.; Mu, Y. Constant-size dynamic k-TAA. In Proceedings of the Security and Cryptography for Networks: 5th International Conference (SCN 2006), Maiori, Italy, 6–8 September 2006; Proceedings 5. Springer: Berlin/Heidelberg, Germany, 2006; pp. 111–125. [Google Scholar]
  40. Pointcheval, D.; Sanders, O. Short randomizable signatures. In Proceedings of the Topics in Cryptology-CT-RSA 2016: The Cryptographers’ Track at the RSA Conference 2016, San Francisco, CA, USA, 29 February–4 March 2016; Proceedings. Springer: Cham, Switzerland, 2016; pp. 111–126. [Google Scholar]
  41. Camenisch, J.; Drijvers, M.; Lehmann, A.; Neven, G.; Towa, P. Short threshold dynamic group signatures. In Proceedings of the Security and Cryptography for Networks: 12th International Conference, SCN 2020, Amalfi, Italy, 14–16 September 2020; Proceedings. Springer: Cham, Switzerland, 2020; pp. 401–423. [Google Scholar]
  42. Fuchsbauer, G.; Hanser, C.; Slamanig, D. Practical round-optimal blind signatures in the standard model. In Proceedings of the Advances in Cryptology–CRYPTO 2015: 35th Annual Cryptology Conference, Santa Barbara, CA, USA, 16–20 August 2015; Proceedings, Part II. Springer: Berlin/Heidelberg, Germany, 2015; pp. 233–253. [Google Scholar]
  43. Fuchsbauer, G.; Hanser, C.; Slamanig, D. Structure-preserving signatures on equivalence classes and constant-size anonymous credentials. J. Cryptol. 2019, 32, 498–546. [Google Scholar] [CrossRef]
  44. Camenisch, J.; Dubovitskaya, M.; Haralambiev, K.; Kohlweiss, M. Composable and modular anonymous credentials: Definitions and practical constructions. In Proceedings of the Advances in Cryptology–ASIACRYPT 2015: 21st International Conference on the Theory and Application of Cryptology and Information Security, Auckland, New Zealand, 29 November–3 December 2015; Proceedings, Part II 21. Springer: Berlin/Heidelberg, Germany, 2015; pp. 262–288. [Google Scholar]
  45. Groth, J.; Sahai, A. Efficient non-interactive proof systems for bilinear groups. In Proceedings of the Advances in Cryptology–EUROCRYPT 2008: 27th Annual International Conference on the Theory and Applications of Cryptographic Techniques, Istanbul, Turkey, 13–17 April 2008; Proceedings 27. Springer: Berlin/Heidelberg, Germany, 2008; pp. 415–432. [Google Scholar]
  46. Galbraith, S.D.; Paterson, K.G.; Smart, N.P. Pairings for cryptographers. Discret. Appl. Math. 2008, 156, 3113–3121. [Google Scholar] [CrossRef]
  47. Bellare, M.; Shi, H.; Zhang, C. Foundations of group signatures: The case of dynamic groups. In Proceedings of the Topics in Cryptology–CT-RSA 2005: The Cryptographers’ Track at the RSA Conference 2005, San Francisco, CA, USA, 14–18 February 2005; Proceedings. Springer: Berlin/Heidelberg, Germany, 2005; pp. 136–153. [Google Scholar]
  48. MIRACL Ltd. 2019. Available online: https://github.com/miracl/MIRACL (accessed on 1 January 2024).
  49. Fan, J.; Vercauteren, F.; Verbauwhede, I. Faster Fp-arithmetic for cryptographic pairings on Barreto-Naehrig curves. In Proceedings of the CHES 2009: International Workshop on Cryptographic Hardware and Embedded Systems, Lausanne, Switzerland, 6–9 September 2009; Springer: Berlin/Heidelberg, Germany, 2009; Volume 9, pp. 240–253. [Google Scholar]
  50. Blake, I.; Seroussi, G.; Smart, N. Elliptic Curves in Cryptography; Cambridge University Press: Cambridge, UK, 1999; Volume 265. [Google Scholar]
Figure 1. E-ticket system.
Figure 1. E-ticket system.
Sensors 24 00496 g001
Table 1. Summary of notation.
Table 1. Summary of notation.
NotationDescription
1 λ / ϵ ( λ ) security number/negligible function
[ N ] set { 1 , 2 , , N }
D subset of [ N ]
x R S x is randomly selected from the set S
CAcentral authority
S/U/Vticket seller/user/verifier
BC the blockchain
P ticket purchasing policy set
A / D attributes/disclosed attributes set
N / K number of user attributes/disclosed attributes
p p / m s k public parameters/master key of the system
u s k / u p k secret/public key of U
s s k / s p k secret/public key of S
c r e d u / c r e d s credential of U/S
t k t ticket of U
V P t k t valid period for the ticket of U
d s i d / d s t r a c e double-spending identity/trace infomation
d s b l a m e double-spending blaming information
Hcollision resistant hash function
failed identifier
Table 2. Functional comparison with related works.
Table 2. Functional comparison with related works.
SchemeFormal ProofDouble-Spending DetectionDouble-Spending TraceAttribute-Based IssuanceDisclosing Attributes
[12]×××
[16]×××
[13]×××
[14]×
[18]ZKP
[35]ZKP
[36]ZKP
[39]ZKP
[40]ZKP
[43]SPS-EQ
PriTKTURS
√: supported feature; ×: unsupported feature; −: not applicable.
Table 3. Computation overhead comparison.
Table 3. Computation overhead comparison.
AlgorithmsEntityPriTKT[18]
SetupCA ( N 2 + 1 ) t e 1 + ( N + 5 ) t e 2 N t e 1
UKeyGenUser t e 2 t e 1
SKeyGenSeller 8 t e 1 + 4 t e 2 t e 1
UReg U User ( N + 1 ) t e 1 + 1 t e 2 + 2 t p ( N + 5 ) t e 1 + ( N + 4 ) t p
UReg C A CA 5 t e 2 ( N + 2 ) t e 1
SReg S Seller 5 t e 1 + 10 t p 4 t e 1 + 5 t p
SReg C A CA 8 t e 1 + 3 t e 2 + 14 t p 3 t e 1
Issue U User ( 2 ( N K ) + 20 ) t e 1 + 9 t e 2 + 5 t p ( N + 3 K + 37 ) t e 1 + ( N + 3 K + 21 ) t p
Issue S Seller ( K + 3 ) t e 1 + 7 t e 2 + 4 t e T + 6 t p ( 3 K + 31 ) t e 1 + K t e T + ( 2 K + 17 ) t p
Show U User 8 t e 1 + 3 t e 2 + 2 t p 24 t e 1 + 8 t p
Show V Verifier 7 t e 1 + 2 t T + 6 t p 19 t e 1 + 8 t p
DSTraceVerifier t e 2 3 t e 1
Table 4. Storage complexity comparison.
Table 4. Storage complexity comparison.
VariatesEntityPriTKT[18]
p p CA ( N 2 + 3 ) | G 1 | + ( N + 6 ) | G 2 | ( N + 13 ) | G 1 |
u p k User 1 | G 2 | 1 | G 1 |
s p k Seller 8 | G 1 | + 4 | G 2 | 1 | G 1 |
c r e d u User 2 | G 1 | 2 | Z p | + 1 | G 1 |
c r e d s Seller 2 | G 1 | + 1 | G 2 | 2 | Z p | + 1 | G 1 |
t k t User 4 | Z p | + 2 | G 2 | 5 | Z p | + 2 | G 1 |
t o k User 5 | Z p | + 2 | G 1 | + 2 | G 2 | + 1 | G T | 10 | Z p | + 8 | G 1 |
Table 5. Communication complexity comparison.
Table 5. Communication complexity comparison.
Algorithms (Variates)EntityPriTKT[18]
UReg U User ( N + 1 ) Z p | + 1 | G 2 | ( N + 3 ) | Z p | + 3 | G 1 |
UReg C A CA 1 | Z p | + 2 | G 2 | 3 | Z p | + 1 | G 1 |
SReg S Seller 6 | Z p | + 8 | G 1 | + 4 | G 2 | 2 | Z p | + 2 | G 1 |
SReg C A CA 2 | Z p | + 1 | G 1 | 3 | Z p | + 1 | G 1 |
Issue U User ( K + 5 ) | Z p | + 3 | G 1 | + 2 | G 2 | + 1 | G T | ( 2 N + K + 8 ) | Z p | + ( 2 K + 5 ) | G 1 |
Issue S Seller 9 | Z p | + 2 | G 2 | 6 | Z p | + 1 | G 1 |
Show U User 6 | Z p | + 2 | G 1 | + 2 | G 2 | + 1 | G T | ( K + 10 ) | Z p | + 9 | G 1 |
Show V Verifier 3 | Z p | 2 | Z p | + 4 | G 1 |
DSTraceVerifier | Z p | + | G 2 | | G 1 |
Table 6. Experimental computation costs (ms).
Table 6. Experimental computation costs (ms).
ALGOEntityPriTKT[18]
SetupCA44,24598,124
UKeyGenUser18.11924
SKeyGenSeller143.61924
UReg U User642.8337,149
UReg C A CA95.5101,972
SReg S Seller1024.328,551
SReg C A CA1543.25772
Issue U User1971.4561,049
Issue S Seller908.2201,506
Show U User320.479,544
Show V Verifier804.369,924
DSTraceVerifier18.55772
Table 7. Experimental storage costs (B).
Table 7. Experimental storage costs (B).
ALGOEntityPriTKT[18]
p p CA348,8162584
u p k User272136
s p k Seller2112136
c r e d u User256216
c r e d s Seller528216
t k t User704472
t o k User15281488
Table 8. Experimental communication costs (B).
Table 8. Experimental communication costs (B).
ALGOEntityPriTKT[18]
UReg U User23522568
UReg C A CA584256
SReg S Seller15843,52
SReg C A CA208256
Issue U User18566640
Issue S Seller904376
Show U User15681824
Show V Verifier120624
DSTraceVerifier312136
Table 9. Computation overhead of Issue and Show (ms).
Table 9. Computation overhead of Issue and Show (ms).
ALGOSystemNumber of Attributess
20 40 60 80 100
Issue U PriTKT1200.517232242.12767.13283.5
[18]378,196500,098622,002743,903865,801
Issue S PriTKT905.6906.7908.1904.5906.7
[18]201,506201,508201,505201,506201,507
Show U PriTKT325.9323.1324.2320.2321.4
[18]79,54479,54179,54579,54379,542
Show V PriTKT801.1803.9802.4802.3803.6
[18]69,92469,92369,92569,92269,924
Table 10. Communication overheads of Issue and Show (B).
Table 10. Communication overheads of Issue and Show (B).
ALGOSystemNumber of Attributess
20 40 60 80 100
Issue U PriTKT18561856185618561856
[18]424058407440904010,640
Issue S PriTKT904904904904904
[18]376376376376376
Show U PriTKT15861568158615861586
[18]18241824182418241824
Show V PriTKT120120120120120
[18]624624624624624
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

Zhan, Y.; Yuan, F.; Shi, R.; Shi, G.; Dong, C. PriTKT: A Blockchain-Enhanced Privacy-Preserving Electronic Ticket System for IoT Devices. Sensors 2024, 24, 496. https://doi.org/10.3390/s24020496

AMA Style

Zhan Y, Yuan F, Shi R, Shi G, Dong C. PriTKT: A Blockchain-Enhanced Privacy-Preserving Electronic Ticket System for IoT Devices. Sensors. 2024; 24(2):496. https://doi.org/10.3390/s24020496

Chicago/Turabian Style

Zhan, Yonghua, Feng Yuan, Rui Shi, Guozhen Shi, and Chen Dong. 2024. "PriTKT: A Blockchain-Enhanced Privacy-Preserving Electronic Ticket System for IoT Devices" Sensors 24, no. 2: 496. https://doi.org/10.3390/s24020496

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