Next Article in Journal
Evaluation of Saponin Extract from Vitex doniana and Pentaclethra macrophylla for Antibacterial Activity
Previous Article in Journal
The Feasibility of Modified Magnesia-Phosphate Cement as a Heat Resistant Adhesive for Strengthening Concrete with Carbon Sheets
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Formal Security-Proved Mobile Anonymous Authentication Protocols with Credit-Based Chargeability and Controllable Privacy †

by
Chun-I Fan
1,*,‡ and
Vincent Shi-Ming Huang
2,‡
1
Department of Computer Science and Engineering, National Sun Yat-sen University, Kaohsiung 80424, Taiwan
2
Big Data Platform Team, CTO Office, Foxconn, Kaohsiung 80661, Taiwan
*
Author to whom correspondence should be addressed.
A partial result of this research was presented at International Workshop on Security, Nara, Japan, 29–31 October 2007.
These authors contributed equally to this work.
Appl. Sci. 2016, 6(6), 176; https://doi.org/10.3390/app6060176
Submission received: 9 April 2016 / Revised: 9 June 2016 / Accepted: 9 June 2016 / Published: 17 June 2016

Abstract

:
Smart mobile phones are widely popularized and advanced mobile communication services are provided increasingly often, such that ubiquitous computing environments will soon be a reality. However, there are many security threats to mobile networks and their impact on security is more serious than that in wireline networks owing to the features of wireless transmissions and the ubiquity property. The secret information which mobile users carry may be stolen by malicious entities. To guarantee the quality of advanced services, security and privacy would be important issues when users roam within various mobile networks. In this manuscript, an anonymous authentication scheme will be proposed to protect the security of the network system and the privacy of users. Not only does the proposed scheme provide mutual authentication between each user and the system, but also each user’s identity is kept secret against anyone else, including the system. Although the system anonymously authenticates the users, it can still generate correct bills to charge these anonymous users via a credit-based solution instead of debit-based ones. Furthermore, our protocols also achieve fair privacy which allows the judge to revoke the anonymity and trace the illegal users when they have misused the anonymity property, for example, if they have committed crimes. Finally, in this paper, we also carry out complete theoretical proofs on each claimed security property.

Graphical Abstract

1. Introduction

Recently, mobile communication is becoming more and more popular such that many applications and services are provided in the mobile network environments [1]. Moreover, some countries have constructed wireless network architectures of 4G (4th Generation) mobile networks. There is also smart mobile equipment that has been produced in order for people to enjoy mobile services anywhere and anytime. It is obvious that mobile computing will penetrate people’s lives in the near future. Convenient mobile network services and powerful mobile equipment will make people all around the world become willing to join the society of mobile communications.
Mobile users may process important documents or secret personal information in their mobile equipment when they roam around the mobile networks. They might worry about whether it is secure for them to carry their important data to the mobile networks. When mobile users exchange messages in the mobile networks, they will face lots of security threats. The eavesdroppers may try to obtain their transmitted messages, their real identities, and even their locations where they are roaming around [2]. The more information the eavesdroppers know, the less security and privacy the mobile users preserve. Sometimes the vicious insiders of the system operator would disclose the classified information of mobile users. Any system without maintaining user privacy will not be acceptable in the future [3,4,5].
There exist some weaknesses on user privacy in the existent 2G mobile network system. Each mobile user’s alias, TMSI, can be linked to her/his real identity, IMSI, by attackers when the VLR requests her/him to retransmit her/his IMSI. The 2G mobile network also has no design for satisfying mutual authentication and protecting the users’ privacy against the system operator. A mobile user may be cheated by some fake base stations in a mobile network system due to lack of mutual authentication. Although the 3G system has provided mutual authentication, the privacy or anonymity of mobile users has not been sufficiently considered yet.
Most of the proposed authentication schemes [6,7,8,9,10,11,12] which emphasize the privacy of mobile users usually assign an anonymous identity to each user. A mobile user will obtain an anonymous identity after she/he is successfully authenticated by the system operator, and she/he will take this valid alias to roam over the mobile networks. The eavesdroppers do not know the relation between her/his real identity and alias, but the system operator can derive the relation. To protect the user’s privacy perfectly, we hope that anyone else, even the system operator, cannot derive such relations either. Owing to the unlinkability property, the technique of blind signatures [13] can help us with realizing complete anonymity for mobile users.
Another problem is that once a mobile user gets anonymity, how can the system operator charge her/him when she/he requests the mobile network services via an anonymous identity? Especially, how can the system charge the user via a credit-based way, which is the most commonly-used billing solution and has been accepted by almost all of the mobile users? Further more, if there is some mobile user who misused the anonymity property to commit crimes, how can the judge handle it? All of the current solutions cannot cope with all of the above problems at the same time.
In our solution, every mobile user is anonymous from the system operator and any other person’s point of view when she/he is accessing the mobile network resources. Furthermore, the system operator can charge the mobile user according to the communication time the user consumed via a credit-based way. Moreover, we also consider the issue of fair privacy. The privacy of the mobile users who misused the anonymity property can be revoked by the judge, and the police can trace the criminals who have gotten anonymity. This is the property of fair privacy. We simultaneously realize the anonymity, credit-based chargeability, and fair privacy (revokeability and traceability) in our proposed authentication protocols for mobile communications.
We produced a related work [14] which introduced the basic idea of this research. In this manuscript, we proposed more security features: Unlinkability, Unforgeability, Tamper Resistance, Swindling Resistance, Secure Mutual Authentication, and Secure Authenticated Key Exchange. Furthermore, the formal security proofs guarantee the security strength of the proposed system. Besides, we also did implementation to show the practical computation cost on cellphone.

2. Some Requirements for Anonymous Authentication

In mobile network environments, we need the following requirements for anonymous authentication.
  • Dynamic anonymous identity: When an anonymous user uses the same anonymous identity to roam over the mobile network for all sessions, her/his identity may be exposed by analyzing her/his behavior. We think that an anonymous user should use different anonymous identities for different sessions when she/he roams over the mobile network.
  • No relation between any two aliases: The privacy of a mobile user will be broken if the relations between any two aliases of the user are disclosed.
  • No mapping table, which contains the mapping between each real identity and its corresponding anonymous identity, stored in the system operator: The system operator authenticates an anonymous user directly without maintaining a database to record a mapping between all of the user’s anonymous identities and the user’s real identity. This will make it possible for the user to gain her/his privacy against the system, and the system can save its storage space.
  • Authenticated key agreement: After anonymous authentication between the system and an anonymous user, a shared session key will be established. If the user shares a long-term key with the system in advance and derives the session key via the shared long-term key, the system can trace her/him by recognizing the long-term key embedded in the session key. Hence, in order to preserve user anonymity, the system and the user have to establish their session key without sharing any key or information in advance. Besides, all session keys should be mutually independent from each other.
  • Traceability in some situations: If there exist malicious users, a trusted third party must be able to revoke their privacy. An anonymous authentication protocol should own the feature of revokable anonymity in order to deal with the above situation.
  • Credit-based chargeability: When a user conceals her/his identity from the system operator, it will be hard for the system to charge the anonymous user after she/he utilizes the network services. An anonymous authentication scheme for mobile communications should allow the system operator to charge anonymous mobile users via the popularized credit-based way without revealing their identities. The credit-based chargeability in the proposed system means that any user does not need to pay, even pay with a credit card, before she/he uses the services of the system. Every consumption of the user will be accumulated in her/his ticket. The ticket has a life cycle and the user should return the ticket to the system at the end of the cycle, say the end of each month. Finally, the system will send the user a bill which includes the total amount of the consumption retrieved from the ticket.

3. The Proposed Protocols

First, we define and explain some notations as follows:
  • M S , H, V: These are three participants in our protocols. M S is a mobile user, H is the server of the home network, and V is the server of a visiting network.
  • I D M S : the real identity of M S .
  • E x , D x : E x is a semantic secure encryption function [15] and D x is the decryption function corresponding to E x where x can be an input symmetric key or public/private key.
  • k m s _ h , k m s _ v , k v _ h : The shared session keys between M S and H, M S and V, and V and H, respectively.
  • ( p k J , s k J ) and ( p k V , s k V ) : ( p k J , s k J ) is the public/private key pair of the judge and ( p k V , s k V ) is the public/private key pair of V.
  • l r : a security parameter.
  • F 1 , F 2 , and F 3 : three one-way hash functions.
  • A judge device: The judge issues a tamper-resistant device which contains {a random-number generator, a symmetric-key cryptosystem, a public-key cryptosystem, a public-private key pair of the judge, F 1 , F 2 }. This device will be integrated into the system of H. It is impossible to steal or modify any information embedded in the device. In our scheme, the judge is an off-line party, i.e., the judge does not need to keep connection with H in our protocols, but the judge device does. In practice, the judge device can be implemented by the technique of TPM (Trusted Platform Module) [16] which is maintained by the Trusted Computing Group [17]. Nowadays, TPMs are also embedded in mobile phones and notebook computers [18].
  • γ: This is a due date. As shown in Figure 1, if a mobile user requests a ticket for communication in time slot P i , H will assign her/him the due date γ i + 1 where γ i + 1 is the last day of next time slot P i + 1 . H assigns the same γ to each mobile user who requests a ticket in the same time slot. All time slots are equally long.
Our scheme consists of four protocols which are described in Section 3.3, Section 3.4, Section 3.5 and Section 3.6, respectively. In our scheme, a mobile user requests an anonymous ticket by performing the protocol in Section 3.3. Then she/he can use the anonymous ticket for network services by executing the protocol in Section 3.4. After she/he performs the protocol in Section 3.4 for network services, H can charge her/him on the due date via the protocol in Section 3.5. Especially, if she/he does something illegal, the judge and the police can revoke her/his privacy or trace her/him through the protocol in Section 3.6.

3.1. Overview of Our Proposed Scheme

In this section, we describe how a mobile user obtains anonymity, how the system charges an anonymous user via a credit-based method, and how the judge revokes the anonymity from an anonymous user who does something malicious.
In our scheme, a mobile user has to request an anonymous ticket first and then uses it for authentication. As shown in Figure 2, when the mobile user request a ticket, the system, V and H, will send her/him a blinded ticket with her/his the identity I D and an initial value w = 0 . The mobile user gets anonymity by unblinding the obtained ticket.
The system charges the mobile user by a credit-based way as follows. Each time the mobile user consumes her/his ticket for mobile network services, the system will return her/him a new one which contains an updated value ( w + w ) where w is the value of the money H wants to charge the user for this time of communication service. Finally, the user must return her/his current unused ticket to the system on the due date of the ticket and the system will send her/him a bill which contains the accumulated value retrieved from the returned ticket of the user. During the services, the user is anonymous to the system under the protection from our proposed anonymity mechanism.
However, if the user does something malicious, the judge can revoke her/his anonymity by extracting her/his identity from the ticket and the police can trace the user via the embedded identity.

3.2. Key Generation

H chooses two distinct large primes p H and q H and computes n H = p H q H . H also selects its public key e H and the private key d H such that e H d H 1 ( mod ϕ ( n H ) ) where ϕ ( n H ) = ( p H - 1 ) ( q H - 1 ) . Finally, H publishes { n H , e H , F 1 , F 2 , F 3 } and keeps { p H , q H , d H } secret. Besides, H also publishes all time slots P i s, i { 1 , 2 , 3 , . . . } , i.e., all of the due dates γ’s are published.

3.3. The Protocol for Requesting an Initial Anonymous Ticket

In our scheme, the mobile user, M S , can request an anonymous ticket by running the protocol in this section after she/he performs any existing secure mutual authentication protocol with the system, V and H. There exists a secure channel between V and H where the shared encryption key is k v _ h . This protocol contains the following steps and it is also shown in Figure 3.
  • M S H : ( α , θ ) .
    First, M S randomly generates two l r -bit strings ( m , k ) and an integer r Z n H * . Then M S computes
    α = r e H F 1 2 ( m ) mod n H
    and θ = E p k J ( k , I D M S ) . Finally, M S submits ( α , θ ) to H.
  • H The judge device : ( μ , γ, θ ) .
    In this step, H knows that M S , whose real identity is I D M S , wants to request a ticket. Let μ = I D M S and γ be the last day of next time slot. Then H inputs ( μ , γ, θ ) into the judge device. H also records that I D M S has bought a ticket in the current time slot and she/he will have to return an unused ticket on the due date γ for billing.
  • The judge device H : ( β , ρ, ξ ) .
    First, the judge device decrypts θ by computing D s k J ( θ ) and parses the result as ( k , I D M S ) . Then it checks if μ = I D M S . If true, it randomly generates two l r -bit strings ( r j , r z ) and an integer b Z n H * . Then it sets w = 0 and computes δ = E p k J ( I D M S , F 1 ( r z ) ) , σ = E p k J ( w , r j ) , and
    β = b e H F 2 ( δ , σ , γ ) mod n H
    Finally, it computes ρ = E k ( δ , b, σ ) and ξ = E p k J ( r z ) and returns ( β , ρ , ξ ) to H.
  • H M S : ( t , ρ , γ ) .
    After receiving ( β , ρ , ξ ) , H records ( I D M S , ξ , γ ) and computes t = ( α β ) d H mod n H . Then it sends ( t , ρ , γ ) to M S .
  • Unblinding.
    After receiving ( t , ρ , γ ) , M S checks if γ is the last day of next time slot. Then she/he decrypts ρ by computing D k ( ρ ) and parses the result as ( δ , b , σ ) . She/He also computes
    s = ( b r ) - 1 t mod n H
    Then she/he obtains a ticket ( m , δ, σ, γ, s ) and can verify it by examining if the following formula is true:
    F 1 2 ( m ) F 2 ( δ , σ , γ ) s e H ( mod n H )
    Finally, M S sets i = 1 and ( m i , δ i , σ i , γ , s i ) = ( m , δ , σ , γ , s ) and then goes to the protocol of Section 3.4 when she/he decides to use the ticket to roam the mobile networks.

3.4. The Protocol for Using an Anonymous Ticket in the ith Round before the Due Date

This protocol makes them possible for the anonymous mobile user M S to perform mutual authentication with V and use her/his ticket for mobile network services. It contains the following steps and also is illustrated in Figure 4.
  • M S V : ( α , θ 1 , T , θ 2 ) .
    First, M S sets ( m * , δ * , σ * , s * ) = ( m i , δ i , σ i , s i ) and then prepares T = ( F 1 ( m * ) , δ * , σ * , γ, s * ) and randomly generates 5 l r -bit strings ( m * * , k, r 1 , r 2 , r 3 ) and an integer r Z n H * . Furthermore, M S computes α = r e H F 1 2 ( m * * ) mod n H , θ 1 = E p k J ( k ) , and θ 2 = E p k V ( r 1 , r 2 , r 3 ) . Finally, M S submits ( α , θ 1 , T , θ 2 ) to V.
  • V M S : ( r 1 , r 4 ) .
    After receiving ( α , θ 1 , T , θ 2 ) , V first verifies T by examining if
    ( s * ) e H F 1 ( F 1 ( m * ) ) F 2 ( δ * , σ * , γ ) ( mod n H )
    and γ is not expired. If true, V decrypts θ 2 to get ( r 1 , r 2 , r 3 ) and randomly generates an l r -bit string r 4 . Then V sends ( r 1 , r 4 ) to M S .
  • V H : E k v _ h ( T ) .
    After V sends ( r 1 , r 4 ) to M S , it also immediately submits E k v _ h ( T ) to H in order to perform the double-using checking on T. If T is doubly used, the connection will be terminated.
  • M S V : ( r 5 ) .
    After receiving ( r 1 , r 4 ) , M S checks if r 1 is the same as the one which was chosen by herself/himself. Then M S computes r 5 = F 3 ( r 2 | | r 4 ) m * and sends r 5 to V.
  • Allowing Communication:
    After receiving r 5 , V computes m = r 5 F 3 ( r 2 | | r 4 ) and checks if F 1 ( m ) = F 1 ( m * ) where F 1 ( m * ) is retrieved from T. If true, V ensures that M S is the real owner of T. Therefore, V allows M S to communicate with it. During the communication, they can encrypt/decrypt their messages via the session key r 3 .
After M S terminates her/his communication, she/he will get a returned ticket which will be used for the next round of authentication. As shown in Figure 5, she/he has to perform the following procedures with the system to obtain the returned ticket.
  • M S V : (Termination).
    M S notifies V that she/he wants to terminate her/his communication.
  • V H : ( E k v _ h ( α , θ 1 , T , m * , w ) ) .
    After receiving the termination request from M S , V computes the spending value w of M S according to the communication time or services utilized by M S . Then V sends E k v _ h ( α , θ 1 , T , m * , w ) to H.
  • H The judge device: ( T , w , θ 1 ) .
    H decrypts the message received from V and stores ( T , m * , w ) into its database. Then H inputs ( T , w , θ 1 ) into the judge device.
  • The judge device H : ( β , ρ ) .
    When receiving ( T , w , θ 1 ) , the judge device will verify T by (5) first and verify whether the due date γ embedded in T has expired or not. If one of the above verifications fails, the judge device will return an aborting signal. Otherwise, the judge device computes k = D s k J ( θ 1 ) , ( I D M S , r z ) = D s k J ( δ * ) , and ( w * , r j * ) = D s k J ( σ * ) where δ * and σ * are retrieved from T. Furthermore, it randomly selects a string r j { 0 , 1 } l r and an integer b Z n H * and prepares δ * * = E p k J ( I D M S , F 1 ( r z ) ) , σ * * = E p k J ( ( w * + w ) , r j ) , and β = b e H F 2 ( δ * * , σ * * , γ ) mod n H . Finally, it computes ρ = E k ( δ * * , b, σ * * ) and outputs ( β , ρ ) to H.
  • H M S : ( t , ρ ) .
    After receiving ( β , ρ ) , H computes t = ( α β ) d H mod n H and returns ( t , ρ ) to M S .
  • Unblinding
    After receiving ( t , ρ ) , M S computes ( δ * * , b, σ * * ) = D k ( ρ ) and s * * = ( b r ) - 1 t mod n H . M S obtains a new ticket as ( m * * , δ * * , σ * * , γ , s * * ) which can be verified by checking whether F 1 2 ( m * * ) F 2 ( δ * * , σ * * , γ ) ( s * * ) e H ( mod n H ) is true or not. If true, M S sets i = i + 1 and ( m i , δ i , σ i , γ, s i ) = ( m * * , δ * * , σ * * , γ, s * * ) , which is the new unused (fresh) ticket of the user. Thus, she/he can use the fresh ticket for the next round of communication before the due date, γ.

3.5. The Protocol for Charging Mobile Users

For each mobile user, M S , the system operator, H, calculates her/his bill through the following steps on the due date, γ:
  • M S returns her/his real identity and unused ticket, ( m * , δ * , σ * , γ , s * ) , to H before the due date.
  • H checks that the ticket does not exist in its database and sends the ticket to the judge device.
  • The judge device verifies if the ticket is valid via (4) and checks if the γ has expired. If true, it computes ( w , r j ) = D s k J ( σ * ) and returns the spending value w to H.
  • H adds w to the bill of M S and deletes the record which indicates that M S has ever requested a ticket.
  • Send the bill to M S .
Besides, if the mobile user wants to request a ticket after the due date, γ, she/he should perform the protocol of Section 3.3 again.
Our scheme adopts credit-based charging, i.e. the system charges each mobile user after it has finished a sequence of services for the user, just as the practical situation in the real world. It is different from the others which provided approaches of debit-based charging, i.e. each mobile user has to purchase payment token(s) before she/he starts accessing the services provided by the system [6,12]. What are the differences between charging mobile users in advance and charging them after the services? The followings are the reasons why we design our scheme to charge mobile users via a credit-based way.
  • Adaptability. In current GSM services, almost all of the systems adopt credit-based ways to charge users.
  • Reducing the relations between any two rounds of communication with one token only. There are two possible ways to charge a mobile user in advance (debit-based ways), which are described as follows:
    (a)
    The mobile user purchases a set of payment tokens from the system previously where each of the tokens is with a unit of value. In each round of communication, the mobile user sends a proper number of tokens to the system for payment. In this case, it is difficult for the system to derive the relation between any two rounds of communication since the tokens are independent one another. However, this will consume much storage and communication cost for recording and transmitting these tokens.
    (b)
    The mobile user purchases only one payment token from the system previously where the token is with a specific value w. In the following round of communication, the mobile user sends the token to the system for payment and then the system returns a new token with value ( w - w 1 ) if the user consumes w 1 value of that token. In this mechanism, the mobile user just needs to store one token. However, this will cause defective privacy. When the system returns one token with value ( w - w 1 ) to the user, the system knows that the user will use the token with value ( w - w 1 ) in the next round. There exists a relation between these two rounds of communication.
    Our scheme allows a user to store one token and greatly reduces the relations between any two rounds of communication from the system’s point of view. All of the users return their unused tickets to the system for charging and thus the system knows the total spending value of every user in the previous time slot. However, it is difficult for the system to trace a specific user by finding out all of her/his spending values from the spending value pool which contains all spending values of all users in the previous time slot. This is the subset sum problem, shown below, which is NP-Hard [19]. The proposed system makes it computationally infeasible to link any two rounds of communication with the assumption of large subset sizes.
    Definition 1. Given a vector over integers A = ( a 1 , a 2 , , a n ) and a positive integer s, called the sum, compute a solution vector X = ( x 1 , x 2 , , x n ) where x i { 0 , 1 } such that A X = a 1 x 1 + a 2 x 2 + + a n x n = s .
    The integer s can be regarded as the total spending value of a mobile user and the vector A contains all spending values in the spending value pool.
  • Free from the problem of overspending. In debit-based charging methods (both of the above two ways (a) and (b)), when a mobile user shows her/his token(s) to the system for communicating, her/his communication will be terminated if the tokens or the token’s value are used up. It will cause inconvenience for the mobile user. If the system does not terminate the communication, the mobile user will overspend the token(s) and the system must perform extra procedures to deal with the situation. In our scheme, based on a credit-based method, the above problem can be avoided.

3.6. The Protocol for Privacy Revoking

In some situations, H or the judge needs to disclose the identity of an anonymous mobile user. For example, some user commits a crime; the police want to trace some criminals; or some mobile users who do something harmful for H. Our scheme supports two ways to trace illegal anonymous mobile users.
  • Tracing the mobile user by a designated ticket: Once an anonymous user imposes on anonymity to commit a crime, her/his ticket will be reported to the judge. Assume that the ticket is ( m , δ , σ , γ , s ) . The judge will extract δ from the ticket and parse D p k J ( δ ) to get I D M S .
  • Tracing the tickets by a designated mobile user: If the police want to trace a criminal (whose real identity is I D M S ) in the time slot P i , the police can send ( I D M S , γ i + 1 ) to H and ask H and the judge to disclose the privacy of the criminal. In this case, H will retrieve ξ from its stored records according to ( I D M S , γ i + 1 ) and send ξ to the judge. After decrypting ξ and obtaining r z , the judge computes
    δ 1 = E p k J ( I D M S , F 1 1 ( r z ) ) δ 2 = E p k J ( I D M S , F 1 2 ( r z ) ) δ 3 = E p k J ( I D M S , F 1 3 ( r z ) ) δ i = E p k J ( I D M S , F 1 i ( r z ) )
    Then, it sends { δ 1 , δ 2 , δ 3 , , δ i } to H, and H can help the police to trace the mobile user in time slot P i via the above set. In our scheme, the mobile user takes the anonymous ticket containing δ 1 for her/his first round of communication, the ticket containing δ 2 for the second round, and so forth. According to this order, H can trace the communication activities of the criminal from the first round to the ith round via { δ 1 , δ 2 , δ 3 , , δ i }.

3.7. Exceptions

In addition to the above issues, there are three exceptions that may happen in our scheme. One is that the mobile user denies returning her/his ticket for billing on the due date. Another is that the mobile user lost her/his ticket (or lost her/his mobile device), and the other one is that the mobile user’s communication is terminated abnormally.
  • The mobile user denies returning her/his ticket for billing on the due date: After the due date γ, if there is any mobile user who has not returned her/his unused ticket yet, H will send a list L to the judge where L contains the identities of the mobile users who did not return their unused tickets. According to L , the judge sends a payment notification to each mobile user on L and announces another due date γ . If a mobile user, say I D M S , has not returned her/his unused ticket on the new due date γ , the judge will compute the set { δ 1 , δ 2 , δ 3 , } according to I D M S via Equation (6) and then sends it to H. Let T i denote the ith ticket, i.e., the ticket containing δ i . Assume that the mobile user denied returning T i + 1 . H can find ( T i , w ) from its database via δ i . When H finds ( T i , w ) , the judge can help H with extracting the spending value w * from T i , and then H computes w = w * + w and adds w to the bill of the mobile user I D M S .
  • The mobile user lost her/his ticket: When a mobile user, say I D M S , lost her/his unused ticket T i , she/he must ask H to freeze her/his unused ticket or it may be used by a malicious user. After an authorization process, for example, the mobile user signs a document to show that she/he agrees H to ask the judge to compute { δ 1 , δ 2 , } where the mobile user authorizes H to reveal her/his privacy, H sends ( I D M S , ξ ) to the judge to compute { δ 1 , δ 2 , δ 3 , } by Equation (6). Assume that the mobile user lost T i . H must deny the services for T i , T i + 1 , T i + 2 , by δ i , δ i + 1 , δ i + 2 , , respectively, where i N . Besides, H finds ( T i - 1 , w ) from its database via δ i - 1 and sends T i - 1 to the judge to extract the accumulated spending value w * from T i - 1 . After the judge returns w * to H, H adds ( w * + w ) to the bill of the mobile user.
    In order to handle this exception, the privacy of T 1 , T 2 , T 3 , , T i - 1 of the mobile user will be revealed. However, if the mobile user remembered how many tickets she/he has used, she/he can still preserve her/his privacy. For example, a mobile user lost her/his unused ticket, and she/he remembers that she/he has consumed 4 tickets. Then the judge just needs to compute { δ 4 , δ 5 , δ 6 , } for H, and { δ 1 , δ 2 , δ 3 } are still kept secret for the mobile user. H will check if δ j exists in its database where j = { 4 , 5 , 6 , } . If δ j exists in its database and δ j + 1 does not, H will retrieve ( T j , w ) , which will be used for charging the mobile user, from the database via δ j . After the mobile user freezes her/his lost ticket, she/he can perform the protocol in Section 3.3 again to request a new ticket.
  • The communication is terminated abnormally: Consider the case that the communication of Step 5 in Section 3.4 is abnormally terminated, i.e., the mobile user does not receive a renewed ticket. We assume that each time when the mobile user receives ( t , ρ ) successfully, she/he will return an A C K to H. Once H does not receive A C K , it will store ( t , ρ ) and ( m * , δ * , σ * , γ , s * ) into an unsuccessful communication record. Thus, the mobile user can retransmit ( m * , δ * , σ * , γ , s * ) to H, and H can re-send ( t , ρ ) to the mobile user.
    Even though the mobile user lost all information in the abnormal termination, i.e., the mobile user cannot unblind t and decrypt ρ when H retransmits them to her/him, she/he can notify H that she/he lost her/his ticket and then go back to the protocol of requesting an anonymous ticket (Section 3.3) to request a new one. In such a case, H can still correctly charge the mobile user and the mobile user can still use the new ticket for the following communications.

4. Security Proofs

4.1. Security Requirements

  • Unlinkability: No one except the judge can trace a user when she/he is using her/his ticket for roaming the mobile networks.
  • Ticket Unforgeability: None can forge a ticket without performing the requesting ticket protocol of Section 3.3 with the system.
  • Tamper Resistance: The triple ( δ , σ , γ ) in a ticket cannot be modified.
  • Ticket Swindling Resistance: Anyone else cannot consume an eavesdropped ticket for communication services where the ticket is owned by some user.
  • Mutual Authentication: Neither a mobile user without a valid ticket nor an illegal system can pass the authentication.
  • Secure Authenticated Key Exchange: After mutual authentication, a mobile user and V can share a common session key unknown to any eavesdropper.

4.2. Unlinkability

In our scheme, a mobile user gets an initial anonymous ticket by running the requesting ticket protocol in Section 3.3 and obtains a renewed one when running the using ticket protocol in Section 3.4. In either Section 3.3 or Section 3.4, the mobile user performs the similar operations to get an anonymous ticket. Here, we define a game as follows.
Definition 2. 
Let k be a security parameter, M S 0 and M S 1 be two honest mobile users, and J be the judge. The game is shown below.
Step 1. 
According to our proposed scheme, H sets up the system parameters which contain H’s public key ( e H , n H ) , secret key ( d H , p H , q H ) , and hash functions ( F 1 , F 2 , F 3 ) . J generates its key pair ( p k J , s k J ) .
Step 2. 
H generates and outputs two messages m 0 and m 1 .
Step 3. 
Randomly pick a bit b { 0 , 1 } and place m b and m 1 - b on the private input tapes of M S 0 and M S 1 , respectively. The bit b will not be revealed to H.
Step 4. 
H performs the protocol (Section 3.3 or Section 3.4) of our scheme with M S 0 and M S 1 , respectively, to issue blinded tickets to them.
Step 5. 
If M S 0 and M S 1 output two tickets which are ( m b , δ b , σ b , γ b , s b ) and ( m 1 - b , δ 1 - b , σ 1 - b , γ 1 - b , s 1 - b ) on their private tapes, respectively, give the two 5-tuples in a random order to H; Otherwise, ⊥ is given to H.
Step 6. 
H outputs b { 0 , 1 } as the guess of b. H wins the game if b = b . Define the advantage of H as
A d v H L i n k a b i l i t y ( k ) = | 2 P [ b = b ] - 1 |
where P [ b = b ] denotes the probability of b = b .
Definition 3 (Unlinkability). 
In our scheme, the protocols in Section 3.3 and Section 3.4 satisfy the unlinkability property if the advantage A d v H L i n k a b i l i t y ( k ) in the game of Definition 2 is negligible.
Theorem 1. 
If E p k J and E k are two semantic secure encryption functions, our proposed protocols in Section 3.3 and Section 3.4 satisfy the unlinkability property.
Proof. 
In Step 5 of Definition 2, if H is given ⊥, it will determine b with probability 1 2 which is exactly the same as a random guess of b.
We assume that H gets ( m b , δ b , σ b , γ b , s b ) and ( m 1 - b , δ 1 - b , σ 1 - b , γ 1 - b , s 1 - b ) . Let ( α i , θ i , γ i , μ i , β i , ρ i , ξ i , t i ) and ( α i , θ 1 i , T i , m i * , w i , β i , ρ i , t i ) be the view of H to the protocol of Section 3.3 and the protocol of Section 3.4, respectively, where i { 0 , 1 } and γ 0 = γ 1 .
Consider ( θ i , γ i , μ i , ρ i , ξ i ) in Section 3.3 where θ i = E p k J ( k i , I D M S i ) , μ i = I D M S i , ρ i = E k i ( δ i , b i , σ i ) , and ξ i = E p k J ( r z i ) , ( θ 1 i , T i = { F 1 ( m i * ) , δ i * , σ i * , γ i , s i * } , m i * , w i , ρ i ) in Section 3.4 where θ 1 i = E p k J ( k i ) , ρ i = E k i ( δ i * * , b i , σ i * * ) , and w i is encrypted in σ i = E p k J ( ( w i * + w + i ) , r j i ) , and ( δ i * , σ i * ) in T i where δ i * = E p k J ( I D M S i , F 1 ( r ¯ z i ) ) and σ i * = E p k J ( ( w ¯ i * + w ¯ i ) , r ¯ j i ) . Since E p k J and E k i are semantically secure encryption functions, the information encrypted in the above ciphertexts will not be revealed.
In both Section 3.3 and Section 3.4, ( α i , β i , t i ) can be considered as follows. For ( m , δ, σ, γ, s ) { ( m 0 , δ 0 , σ 0 , γ 0 , s 0 ) , ( m 1 , δ 1 , σ 1 , γ 1 , s 1 ) } and ( α i , β i , t i ) , i { 0 , 1 } , there always exists a pair ( r i , b i ) such that H can compute r i = ( α i F 1 2 ( m ) - 1 ) d H mod n H via (1) and b i = ( β i F 2 ( δ , σ , γ ) - 1 ) d H mod n H via (2). Thus, (3) is satisfied owing to t i = ( α i β i ) d H mod n H and s ( F 1 2 ( m ) F 2 ( δ , σ , γ ) ) d H ( mod n H ) .
From the above, given any ( m , δ, σ, γ, s ) { ( m 0 , δ 0 , σ 0 , γ 0 , s 0 ) , ( m 1 , δ 1 , σ 1 , γ 1 , s 1 ) } and ( α i , β i , t i ) , i { 0 , 1 } , there always exists a corresponding pair ( r i , b i ) such that Equations (1)–(3) are satisfied.
Hence, considering Step 6 of the game, H successes in determining b with probability 1 2 . We have that P [ b = b ] = 1 2 and A d v H L i n k a b i l i t y ( k ) = 0 . Therefore, the proposed scheme satisfies the unlinkability property. ☐

4.3. Ticket Unforgeability

In 2003, Bellare et al. introduced a problem called the RSA Chosen Target Inversion (RSA-CTI) Problem [20]. Then they proved that the Full Domain Hash RSA (FDH-RSA) blind signature is unforgeable as long as the RSA-CTI problem is hard. In this section, we will show that the ticket requesting protocol of Section 3.3 and the ticket using protocol of Section 3.4 satisfy unforgeability as long as the FDH-RSA blind signature is with unforgeability.
Theorem 2. 
If an attacker A can forge an unused ticket in the proposed scheme (Section 3.3 or Section 3.4) with probability at least ϵ A in time t A , there exists a forger F that can break the unforgeability of the FDH-RSA blind signature with probability at least ϵ in time t such that
ϵ ϵ A t t A + q F t F + 2 q F t S D
where q F is the number of queries A makes to F , t F is the time for F to deal with a query, and t S D is the time for the FDH-RSA blind signing oracle to process a signing query.
Proof. 
The model of this proof is shown as Figure 6. Let S D be the FDH-RSA blind signing oracle. The public key of S D is ( e H , n H ) . First, F initializes the environment by generating the public/private key pair ( p k J , s k J ) of the judge and selecting three hash functions ( F 1 , F 2 , F 3 ) . Then F publishes ( p k J , e H , n H , F 1 , F 2 , F 3 ) . F utilizes ( e H , n H ) as the public key of H of the system. F will simulate the system such that A can query F to get tickets. If A can output q F + 1 tickets after querying F q F times, we can succeed in one-more forgery to break the unforgeability of the FDH-RSA blind signature scheme. Here, we just show how to simulate the ticket requesting protocol of Section 3.3. The simulation of the ticket using protocol in Section 3.4 is similar to that of the protocol in Section 3.3.
When A submits a query ( α i , θ i ) to F , F will return ( t i , ρ i , γ i ) to A . F is depicted in Figure 7. Finally, A outputs q F + 1 tickets ( s i , m i , δ i , σ i , γ i ) where m i m i , δ i δ i , σ i σ i , and 1 i i q F + 1 . The outputted tickets can be categorized into two subsets S T and S T where | S T | = q 1 and | S T | = q 2 . For each ticket ( s j , m j , δ j , σ j , γ j ) in S T , ( δ j , σ j ) is in L where 1 j q 1 , i.e., the tickets in S T are queried from F . On the other hand, each ticket in S T is forged by A . We say that A successfully breaks our scheme if (1) q 1 + q 2 = q F + 1 ; (2) q 1 [ 0 , q F ] ; and (3) q 2 [ 1 , q F + 1 ] . In the followings, we will show that we can obtain ( q F + q 1 + 2 q 2 ) signatures by querying S D ( 2 q F + q 2 ) times where ( q F + q 1 + 2 q 2 ) - ( 2 q F + q 2 ) = q 1 + q 2 - q F = 1 .
First, according to the above simulation, we can get q F signatures ( s β i , δ i , σ i , γ i ) ’s retrieved from L where F computed s β i = ( b i ) - 1 t β i mod n H and s β i e H F 2 ( δ i , σ i , γ i ) ( mod n H ) with 1 i q F during the simulation. For the tickets ( s j , m j , δ j , σ j , γ j ) ’s in S T , we can obtain q 1 signatures ( s α j , F 1 ( m j ) ) by retrieving s β j from L via ( δ j , σ j ) and then computing s α j = s j ( s β j ) - 1 mod n H where s α j e H F 1 2 ( m j ) ( mod n H ) with 1 j q 1 . For the tickets ( s j , m j , δ j , σ j , γ j ) ’s in S T , we can get q 2 signatures ( s ^ α j , F 1 ( m j ) ) ’s and q 2 signatures ( s ^ β j , δ j , σ j , γ j ) ’s by the following procedure where 1 j q 2 . We first randomly select b ^ j { 0 , 1 } l r and compute β ^ j = b ^ j e H F 2 ( δ j , σ j , γ j ) mod n H . Then we send β ^ j to S D and obtains t ^ β j . Finally, we compute s ^ β j = t ^ β j ( b ^ j ) - 1 mod n H and s ^ α j = s j ( s ^ β j ) - 1 mod n H where s ^ α j e H F 1 2 ( m j ) ( mod n H ) and s ^ β j e H F 2 ( δ j , σ j , γ j ) ( mod n H ) for each j with 1 j q 2 . Consequently, we query S D ( 2 q F + q 2 ) times and obtain ( q F + q 1 + 2 q 2 ) signatures. We succeed in one-more forgery to break the FDH-RSA blind signature scheme.

4.4. Tamper Resistance

In our scheme, the information ( δ , σ , γ ) of a ticket is used for anonymity control, charging, and recording the due date of the ticket, respectively. In this subsection, we will show that none can tamper ( δ , σ , γ ) of a ticket. First, we introduce a problem called the alternative formulation of RSA Known-Target Inversion (RSA-AKTI) Problem [20] which has been proved being hard by Bellare et al.
Definition 4 (RSA AKTI). 
Let k N be the security parameter. Let A be an adversary which can access the RSA-inversion oracle O i n v and the challenge oracle O N . The challenge oracle O N will randomly return y i Z n H * when it is queried. Consider the following experiment:
E x p e r i m e n t   E x p A R S A - A K T I ( k ) - ( n H , e H , d H ) K e y G e n ( k ) . - ( x 1 , , x m ) A O i n v , O N ( n H , e H , k )   w h e r e   m   i s   t h e n u m b e r   o f   q u e r i e s   t o   O N . - L e t   y 1 , , y m   b e   t h e   c h a l l e n g e s   r e t u r n e d   b y   O N . I f   t h e   f o l l o w i n g s   a r e   b o t h   t r u e ,   r e t u r n   1 ;   e l s e   r e t u r n   0 . 1 . i { 1 , , m } : x i e H y i ( mod n H ) . 2 . A   m a d e   s t r i c t l y   f e w e r   t h a n   m   q u e r i e s   t o   O i n v .
In the ticket requesting protocol (Section 3.3) and the ticket using protocol (Section 3.4), if λ tickets are requested, the system side (the judge device) will generate ( δ i , σ i , γ i ) for each ticket where 1 i λ . Here, we define ticket tampering below.
Definition 5 (Ticket Tampering).
There exists an attacker A T R who runs the ticket requesting protocol in Section 3.3 or the ticket using protocol in Section 3.4 λ times. Let S A = { ( δ 1 , σ 1 , γ 1 ) , ⋯, ( δ λ , σ λ , γ λ ) } where ( δ i , σ i , γ i ) is generated for A T R and thus δ i contains A T S ’s identity and σ i contains an accumulated value which A T R spent for i = 1 , , λ . A T R can output a tampered ticket ( s , m , δ , σ , γ ) where ( δ , σ , γ ) S A .
Theorem 3. 
The proposed scheme is secure against Ticket Tampering if the RSA-AKTI problem is hard.
Proof. 
The model of this proof is shown in Figure 8. There exist a simulator S and an attacker A TR in this model. S will simulate the environment of our proposed scheme in the random oracle model. S engages in the proposed scheme to generate the key pair ( p k J , s k J ) of the judge and creates two oracles O F 1 and O F 2 . S can query the oracles O N and O i n v defined in Definition 4. A T R will query O F 1 and O F 2 for the hashed values of the hash functions F 1 and F 2 , respectively. There are two lists L F 1 and L F 2 . L F 1 will be used to store ( m , τ ) where F 1 ( m ) = τ e H mod n H and L F 2 will be used to record ( δ , σ , γ , π ) where F 2 ( δ , σ , γ ) = π . A T R can query S at most λ 1 times, O F 1 at most λ 2 times, and O F 2 at most λ 3 times. S , O F 1 , and O F 2 are described in Figure 9. Before A T R queries S , S initializes the environment by publishing ( n H , e H , p k J ) , setting i g u e s s = 0 , and guessing a number λ where 1 λ λ 3 . S guesses that A T R will successfully output a tampered ticket as ( s , m , δ , σ , γ ) such that 3-tuple ( δ , σ , γ ) is not produced by S , i.e., ( δ , σ , γ ) ( δ i , σ i , γ i ) for each i with 1 i λ 1 , where the value of F 2 ( δ , σ , γ ) is obtained from O F 2 at the λ th query to O F 2 .
As shown in Figure 9, when A T R submits a query ( α i , θ i ) to S , S will send α i β i b i e H c i ( mod n H ) to O i n v and get x i c i d H t i b i - 1 ( mod n H ) where 1 i λ 1 . S stores ( x i , c i ) ’s in a list L. If A T R successfully outputs a tampered ticket ( s , m , δ , σ , γ ) after λ 1 queries to S with probability at least ϵ T R , we can obtain x λ 1 + 1 ( c ) d H ( mod n H ) with probability at least ϵ T R ϵ T R λ 3 by the following procedure.
  • Search L F 1 by m and get entry ( m , τ ) .
  • Search L F 1 by ( τ ) e H mod n H and get entry ( ( τ ) e H mod n H , τ ) where F 1 2 ( m ) = τ e H mod n H , i.e., τ = ( F 1 2 ( m ) ) d H mod n H .
  • Compute x λ 1 + 1 = s τ - 1 mod n H and thus x λ 1 + 1 ( c ) d H ( mod n H ) .
Consequently, S queries O N ( λ 1 + 1 ) times, and O i n v λ 1 times, and then we can obtain ( x 1 , , x λ 1 ) from L and x λ 1 + 1 such that x i e H c i ( mod n H ) and x λ 1 + 1 e H c ( mod n H ) where 1 i λ 1 . We successfully solve the RSA-AKTI problem with non-negligible probability at least ϵ T R .

4.5. Ticket Swindling Resistance

In our scheme, a mobile user has to show T = ( F 1 ( m * ) , δ * , σ * , γ, s * ) for authentication. In this subsection, we will prove that none can successfully pass authentication via an eavesdropped T. We call this Ticket Swindling Resistance. In order to prove this, we first introduce the communication model and some definitions as follows.
The Communication Model. We briefly describe the communication model [21,22] of our distributed environment. Oracle Π M S i , V j u models that a mobile user M S i performs the anonymous authentication protocol of Section 3.4 with the entity V j in the uth session of M S i . Oracle Π V j , M S i v models that a system entity V j performs the protocol with the mobile user M S i in the vth session of V j . An adversary E is a probabilistic polynomial-time Turing machine that is allowed to make the following queries.
  • E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) : This query models all kinds of passive attacks. M S i and V j will carry out the protocol of Section 3.4 and the adversary E can eavesdrop all messages transmitted between M S i and V j .
  • S e n d ( Π M S i , V j u , M ) or S e n d ( Π V j , M S i v , M ) : This query models all kinds of active attacks. The adversary E can send any message M to Π M S i , V j u or Π V j , M S i v which will give responses to E according to the protocol of Section 3.4. E can make the query S e n d ( Π M S i , V j u , N ) to get a response of the first flow where N is an empty string.
  • R e v e a l ( Π M S i , V j u ) or R e v e a l ( Π V j , M S i v ) : This query allows the adversary to get the session key of Π M S i , V j u or Π V j , M S i v after Π M S i , V j u and Π V j , M S i v have successfully finished mutual authentication and established a common session key.
  • R e v e a l ( T ) : This query allows the adversary to obtain the secret value m if T has been successfully consumed for authentication where T = ( F 1 ( m ) , δ, σ, γ, s ) .
  • C o r r u p t ( V j ) : This query reveals V j ’s long-term key s k V j .
In our protocol, once a mobile user consumes her/his T for authentication, T will be kept in the system’s database for double-using checking. Hence, a successfully-used T cannot be consumed again by any eavesdropper. Any attacker can just try to swindle an eavesdropped T which has not been successfully used, i.e., the attacker has to interfere the authentication process after she/he obtains T in the first flow of the authentication protocol in Section 3.4. We define Ticket Swindling below.
Definition 6 (The Ticket Swindling Game). 
Let k N be the security parameter. A T S is a polynomial time adversary who tries to swindle an eavesdropped T. Consider the following experiment:
E x p e r i m e n t   E x p A T S T S ( k ) - ( n H , e H , F 1 , F 2 , F 3 , p k J , p k V ) S e t u p ( k ) - A T S E x e c u t e , S e n d , R e v e a l , C o r r u p t ( n H , e H , F 1 , F 2 , F 3 , p k J , p k V ) I f   t h e   f o l l o w i n g s   a r e   t r u e   r e t u r n   1   e l s e   r e t u r n   0 1 . A T S   m a k e s   S e n d ( Π V j , M S i v , ( α , θ 1 , T , θ 2 ) )   a n d S e n d ( Π V j , M S i v , r 5 )   q u e r i e s   a n d   t h e n   Π V j , M S i v   a c c e p t s . 2 . T   i s   o u t p u t t e d   f r o m   Π M S i , V j u 3 . r 5   h a s   n e v e r   b e e n   o u t p u t t e d   b y   Π M S i , V j u 4 . A T S   h a s   n e v e r   m a d e   R e v e a l ( T )   a n d   C o r r u p t ( V j ) q u e r i e s
The advantage of A T S is A d v A T S T S ( k ) = P r [ E x p A T S T S ( k ) = 1 ] . We say that our scheme satisfies Ticket Swindling Resistance if A d v A T S T S ( k ) is negligible.
Besides, we define the following Indistinguishability Game under the Chosen-Ciphertext Attack (IND-CCA) based on [23].
Definition 7 (IND-CCA). 
Let k N be the security parameter. C is a challenger and F is a polynomial time adversary. P is an asymmetric cryptosystem with semantic security where the public-private key pair is ( p k , s k ) . There are two oracles O E and O D . F can query O E to encrypt a plaintext by p k and query O D to decrypt a ciphertext by s k . Consider the following experiment:
E x p e r i m e n t   E x p F I N D - C C A ( k ) - ( p k , s k ) S e t u p ( k ) - ( M 0 , M 1 ) F O E , O D - E p k ( M b ) b R { 0 , 1 } C ( M 0 , M 1 ) - b F O E , O D ( E p k ( M b ) ) I f   t h e   f o l l o w i n g s   a r e   b o t h   t r u e   r e t u r n   1   e l s e   r e t u r n   0 1 . F   n e v e r   s u b m i t s   t h e   q u e r y   E p k ( M b ) t o   O D 2 . b = b
We define the advantage of F is A d v F I N D - C C A ( k ) = | P r [ E x p F I N D - C C A ( k ) = 1 ] - 1 2 | .
We also introduce the RSA Single-Target Inversion Problem (RSA-STI) [20] as follows.
Definition 8 (RSA-STI). 
Let k N be the security parameter. Let A be a polynomial time adversary. Consider the following experiment:
E x p e r i m e n t   E x p A R S A - S T I ( k ) - ( N , e , d ) R K e y G e n ( k ) - y R Z N * ; x A ( N , e , k , y ) I f   x e y ( mod N )   r e t u r n   1   e l s e   r e t u r n   0
We define the advantage of A as A d v A R S A - S T I ( k ) = P r [ E x p A R S A - S T I ( k ) = 1 ] .
Theorem 4. 
The proposed anonymous authentication protocol satisfies Ticket Swindling Resistance.
Proof. 
The proof model is illustrated in Figure 10. A simulator S T S will simulate the communication environment and help us to solve the RSA-STI problem. First, S T S obtains the parameters ( N , e , y ) from the RSA-STI problem. S T S initializes the system parameters, which are the public-private key pairs of H, V’s, and the judge, and constructs the oracles Π M S i , V j u and Π V j , M S i v . S T S also controls three hash oracles O F 1 , O F 2 , and O F 3 to simulate the hash functions F 1 , F 2 , and F 3 , respectively. When O F 1 is queried with m, it will return r f 1 retrieved from L F 1 via m if m exists in L F 1 or return r f 1 = ( m e mod N ) and records ( m , r f 1 ) in L F 1 . If O F 2 is queried with ( δ , σ , γ ) , it will return r f 2 retrieved from L F 2 via ( δ , σ , γ ) if ( δ , σ , γ ) exists in L F 2 or return a randomly-selected string r f 2 { 0 , 1 } l r and record ( δ , σ , γ , r f 2 ) in L F 2 . When O F 3 is queried with ( r 2 | | r 4 ) , it will return r f 3 retrieved from L F 3 if ( r 2 | | r 4 ) exists in L F 3 or a randomly-chosen string r f 3 { 0 , 1 } l r and record ( ( r 2 | | r 4 ) , r f 3 ) in L F 3 . There is also an oracle O T which plays the role of H in the protocol of Section 3.3 (or Section 3.4) to issue tickets. O T will return ( t , ρ , γ ) when it is queried with ( α , θ ) .
Assume that an attacker A T S performs at most q 1 times of E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) queries, q 2 times of S e n d ( Π M S i , V j u , N ) queries, and q 3 times of S e n d ( Π V j , M S i v , M ) queries. A T S can also submit a R e v e a l ( T ) query to get the secret m of T where T must have been consumed for authentication.
S T S initializes four global parameters which are i g u e s s = 0 , s g u e s s = 0 , T g u e s s = N , and r g u e s s = N . Then S T S guesses that the attacker A T S will swindle T which is returned from the λth S e n d ( Π M S i , V j u , N ) query. When E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) is queried, the oracle Π M S i , V j u will run the protocol of Section 3.3 (or Section 3.4) with O T to get a ticket ( m , δ , σ , γ , s ) and prepares T = ( F 1 ( m ) , δ , σ , γ , s ) . Then it takes T to perform the protocol of Section 3.4 with Π V j , M S i v under the presence of A T S . When S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) are queried, Π M S i , V j u and Π V j , M S i v will act according to Figure 11. There are five lists in Figure 11 where L T M S and L T V are used to record the transcript of Π M S i , V j u and Π V j , M S i v , L K M S and L K V store the session keys of Π M S i , V j u and Π V j , M S i v , and L u s e d T records all used T’s.
In Figure 11, s g u e s s denotes the session u of Π M S i , V j u . Π M S i , V j u checks if the current session u is corresponding to the λth S e n d ( Π M S i , V j u , N ) query (line 27 to line 30). If true, it randomly selects r 5 { 0 , 1 } l r . Here, Π M S i , V j u does not know x and sets F 3 ( r 2 | | r 4 ) = . The simulation will fail if A T S sends a query ( r 2 | | r 4 ) to O F 3 . However, we will show that the probability of the above failure is negligible in Appendix.
In Figure 11, Π V j , M S i v checks if r f 3 is equal to . If true, this means that the current session v matches the λth S e n d ( Π M S i , V j u , N ) query.
After finishing the simulation, S T S can retrieve ( m , T ) from L u s e d T via T g u e s s . If m , S T S has that T g u e s s = T = ( m = y , δ , σ , γ , s ) where y = F 1 ( m ) = m e mod N . Thus, S T S solves the RSA-STI problem. Therefore, A T S , with non-negligible probability at least ϵ T S , can consume an eavesdropped T to successfully perform the anonymous authentication protocol of Section 3.4 with Π V j , M S i v , S T S can solve the RSA-STI problem with non-negligible advantage at least ϵ T S q 2 .

4.6. Secure Mutual Authentication

In order to prove the security of mutual authentication in the proposed scheme, we first introduce Matching Conversations and No Matching E ( k ) [21,22] as follows.
Definition 9 (Matching Conversations). 
Fix a number of flows R = 2 ρ - 1 and an R-flow protocol P = ( Π , G ) where Π specifies how players behave and G generates key pairs for each entity. Run P in the presence of an adversary E and consider two oracles Π M S i , V j u and Π V j , M S i v , that engage in conversations K and K respectively.
  • K is a matching conversation to K if there exist τ 0 < τ 1 < < τ R - 1 such that K is prefixed by
    ( τ 0 , N , α 1 ) , ( τ 2 , β 1 , α 2 ) , , ( τ 2 ρ - 2 , β ρ - 1 , α ρ )
    and K is prefixed by
    ( τ 1 , α 1 , β 1 ) , ( τ 3 , α 2 , β 2 ) , , ( τ 2 ρ - 3 , α ρ - 1 , β ρ - 1 )
  • K is a matching conversation to K if there exist τ 0 < τ 1 < < τ R such that K is prefixed by
    ( τ 1 , α 1 , β 1 ) , ( τ 3 , α 2 , β 2 ) , , ( τ 2 ρ - 3 , α ρ - 1 , β ρ - 1 ) , ( τ 2 ρ - 1 , α ρ , * )
    and K is prefixed by
    ( τ 0 , N , α 1 ) , ( τ 2 , β 1 , α 2 ) , , ( τ 2 ρ - 2 , β ρ - 1 , α ρ )
Finally, Π M S i , V j u and Π V j , M S i v are said to have had matching conversations if K is a matching conversation to K and K is a matching conversation to K.
Definition 10 (No Matching E ( k ) ). 
Let k N be the security parameter. No Matching E ( k ) is that when protocol P is run against an adversary E, there exists an oracle Π M S i , V j u with M S i , V j S C (where S C denotes the set of entities corrupted by E) which accepted but there is no oracle Π V j , M S i v which has had a matching conversation to Π M S i , V j u , or vice versa.
Definition 11. 
A protocol P is a secure mutual authentication protocol if for every polynomial-time adversary E:
  • If Π M S i , V j u and Π V j , M S i v have matching conversations, then both oracles accept;
  • The probability of No Matching E ( k ) is negligible.
Theorem 5. 
The protocol of Section 3.4 is a secure mutual authentication protocol.
Proof. 
Our authentication protocol satisfies the first condition of Definition 11, if the the adversary acts as a wire. Hence, we concentrate on the proof for the second condition.
When we carry out the experiment of the communication model against E, E may succeed in the following two cases. Case 1 is that there exists an oracle Π M S , V j u which accepted, where M S i , V j S C and S C is the set of corrupted entities, but there is no oracle Π V j , M S i v has a matching conversation to Π M S i , V j u . Case 2 is that there exists an oracle Π V j , M S i v which accepted but there is no oracle Π M S , V j u has a matching conversation to Π V j , M S i v . Suppose that E has probability ϵ 1 in Case 1 and ϵ 2 in Case 2. Thus, we conclude that if No Mathing E ( k ) is non-negligible, ϵ 1 or ϵ 2 must be non-negligible.
In Case 1, E has to make S e n d ( Π M S i , V j u , N ) query at some time τ 0 and make S e n d ( Π M S i , V j u , ( r 1 , r 4 ) ) query at some time τ 2 > τ 0 . If ( r 1 , r 4 ) are valid, the state of Π M S i , V j u will be changed as “accepted”. The proof model of this case is depicted in Figure 12. In the proof model, we will construct a simulator S M A who will simulate the communication environment to E and try to break the IND-CCA defined in Definition 7. Assume that there are q 1 entities M S i ’s and q 2 entities V j ’s in the communication environment and E will perform S e n d ( Π M S i , V j u , N ) at most q 3 times with i { 1 , , q 1 } and j { 1 , , q 2 } where q 1 , q 2 , and q 3 are polynomials of security parameter k. There also exists an oracle O T who will play the role of H to run the protocol of Section 3.3 to issue tickets.
In order to set up the communication environment, S M A first randomly selects four strings, ( r ˜ 1 , r ˜ 1 , r ˜ 2 , r ˜ 3 ) , and sets m 0 = ( r ˜ 1 , r ˜ 2 , r ˜ 3 ) and m 1 = ( r ˜ 1 , r ˜ 2 , r ˜ 3 ) . Then, S M A sends ( m 0 , m 1 ) to C and gets π = E p k ( m b ) from C where b R { 0 , 1 } and p k is the public key in the IND-CCA game. S R denotes the set of the outputs of S e n d ( Π V j , M S i v , ( α , θ 1 , T , θ 2 ) ) queries, i.e., the second flow ( r 1 , r 4 ) ’s. S M A randomly chooses two integers λ and j and guesses that Π M S i , V j u will accept after E makes S e n d ( Π M S i , V j u , ( r 1 , r 4 ) ) query where ( r 1 , r 4 ) S R and the session u was started by the λth S e n d ( Π M S i , V j u , N ) query. Then, S M A sets up the public/private keys ( p k V j , s k V j ) for entity V j , where j = { 1 , , q 2 } and j j , and assigns the public key p k to entity V j and generates public/private keys ( e H , n H , d H ) and ( p k J , s k J ) for H and the judge.
When E makes E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) query, Π M S i , V j u will perform the protocol of Section 3.3 with O T and get ( t , ρ , γ ) . Then, Π M S i , V j u prepares T = ( F 1 ( m ) , δ , σ , γ , s ) and runs the protocol of Section 3.4 with Π V j , M S i v in the presence of E. If V j is involved in the execution query, S M A can simulate it by running the protocol of Section 3.4 with querying O E for encryption and querying O D for decryption. Besides, S M A initializes two global parameters i g u e s s = 0 and f g u e s s = 0 and empties four lists L T M S , L K M S , L T V , and L K V . When E makes S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) queries, the actions of Π M S i , V j u and Π V j , M S i v are defined in Figure 13.
In Line 22 of Π M S i , V j u in Figure 13, S M A tries to break IND-CCA as follows. If f g u e s s = 0 , S M A will guess b = 0 when r 1 = r ˜ 1 , guess b = 1 when r 1 = r ˜ 1 , and randomly guess b { 0 , 1 } when r 1 r ˜ 1 and r 1 r ˜ 1 . If f g u e s s = 1 , S M A will randomly guess b { 0 , 1 } . If ϵ 1 is non-negligible, S M A has non-negligible advantage A d v S M A I N D - C C A ( k ) to output a guess bit b such that b = b where A d v S M A I N D - C C A ( k ) = ϵ 1 - 1 2 and
ϵ 1 = ϵ 1 + ( 1 - ϵ 1 ) 1 2 l r q 2 q 3 + ( 1 - ϵ 1 ) 2 l r - 1 2 l r 2 q 2 q 3 + ( q 2 q 3 - 1 ) 2 q 2 q 3 > 2 ϵ 1 2 q 2 q 3 + ( 1 - ϵ 1 ) 1 2 l r + ( 1 - ϵ 1 ) 2 l r - 1 2 l r 2 q 2 q 3 + ( q 2 q 3 - 1 ) 2 q 2 q 3 = ϵ 1 2 q 2 q 3 + 1 2 .
In Case 2, E has to send a valid 4-tuple ( α , θ 1 , T ^ , θ 2 ) to Π V j , M S i v first and then respond a valid string r ^ 5 after receiving ( r ^ 1 , r ^ 4 ) from Π V j , M S i v . Let S T be the set of T’s obtained by Π M S i , V j u . The followings are two sub-cases when E successfully impersonates Π M S i , V j u .
  • T ^ S T : Assume that T ^ = ( F 1 ( m ^ ) , δ ^ , σ ^ , γ ^ , s ^ ) . Thus, S M A can obtain m ^ = r 5 ^ F 3 ( r 2 | | r 4 ) and forge a ticket ( m ^ , δ ^ , σ ^ , γ ^ , s ^ ) . However, we have proved the security of ticket unforgeability in Section 4.3. Hence, the probability of that E is successful in this sub-case is negligible.
  • T ^ S T : In the sub-case, E successfully swindles T ^ which is owned by Π M S i , V j u . We have proved the security of ticket swindling resistance in Section 4.5. Consequently, the probability of that E is successful in this sub-case is also negligible.
Therefore, the probability ϵ 2 is negligible. We conclude that No Matching E ( k ) is negligible because ϵ 1 and ϵ 2 are both negligible. ☐

4.7. Secure Authenticated Key Exchange

First, we introduce a new query, T e s t ( Π M S i , V j u ) . An adversary E can ask T e s t ( Π M S i , V j u ) query after Π M S i , V j u has established a session key r 3 with another oracle Π V j , M S i v . To answer this query, the oracle flips a fair coin b { 0 , 1 } and then returns r k = r 3 if b = 0 and r k R { 0 , 1 } l r if b = 1 . In the following, we define an experiment which was also introduced in [15,21].
Definition 12. 
Let k N be a security parameter. In this experiment, the adversary E will try to guess that the returned value r k from T e s t ( Π M S i , V j u ) query is a random string or the real session key.
E x p e r i m e n t   E x p E G o o d G u e s s ( k ) - b E E x e c u t e , S e n d , R e v e a l , C o r r u p t ( r k = T e s t ( Π M S i , V j u ) ) I f   t h e   f o l l o w i n g s   a r e   t r u e ,   r e t u r n   1 ;   e l s e r e t u r n   0 . 1 . b = b ȃ 2 . E   h a s   n e v e r   s u b m i t t e d   R e v e a l ( Π M S i , V j u )   a n d C o r r u p t ( V j )   q u e r i e s .
We define the advantage of E is A d v E G o o d G u e s s ( k ) = P r [ E x p E G o o d G u e s s ( k ) = 1 ] - 1 2 .
Definition 13. 
A protocol P = ( Π , G ) is a secure authenticated key exchange protocol if
1. 
P is a secure mutual authentication protocol;
2. 
Both oracles Π M S i , V j u and Π V j , M S i v always accept and hold the same session key r 3 if E is a benign adversary; and
3. 
For any adversary E, A d v E G o o d G u e s s ( k ) is negligible.
Theorem 6. 
The authentication protocol of Section 3.4 is a secure authenticated key exchange protocol if the encryption E p k V is semantic secure.
Proof. 
We have shown that the proposed scheme satisfies the first and second conditions of Definition 13. We consider the third condition and assume that E is an adversary who has probability ( ϵ + 1 2 ) in outputting b such that b = b where ϵ is non-negligible. The proof model is depicted as Figure 14.
S is a simulator who will simulate the communication environment for E. S first randomly selects four strings, ( r ˜ 1 , r ˜ 2 , r ˜ 3 , r ˜ 3 ) , and prepares m 0 = ( r ˜ 1 , r ˜ 2 , r ˜ 3 ) and m 1 = ( r ˜ , r ˜ 2 , r ˜ 3 ) . S then sends ( m 0 , m 1 ) to C and obtains π = E p k ( m b ) from C where b R { 0 , 1 } . Assume that there are q 1 entities M S i ’s and q 2 entities V j ’s. E is allowed to submit E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) queries at most q 3 times where q 1 , q 2 , and q 3 are polynomials of security parameter k. S guesses two numbers λ and j where E will return the guess bit b after making T e s t ( Π M S i , V j u ) which is corresponding to the λth E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) query. Then, S initializes i g u e s s = 0 and generates all public/private key pairs ( p k V j , s k V j ) for all entities V j ’s except the entity V j whose public key will be set as p k received from C in Definition 7. When E makes S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) queries, S can deal with them and output the corresponding messages by running the protocols of Section 3.3 and Section 3.4 with generated public/private keys ( p k V j , s k V j ) ’s and encryption/decryption oracles ( O E , O D ) . The operations of E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) , T e s t ( Π M S i , V j u ) , R e v e a l ( T ) , and R e v e a l ( Π M S i , V j u ) queries are depicted in Figure 15.
In Line 3 of R e v e a l ( Π M S i , V j u ) in Figure 15, S will abort the simulation because it cannot return the established session key. If the simulation is aborted, S will randomly guess b { 0 , 1 } . Otherwise, after E performs T e s t ( Π M S i , V j u ) and outputs b , S will set b = b . Thus, S has probability ϵ in outputting a correct bit b ( = b ) to C where ϵ ϵ + 1 2 q 2 q 3 + q 2 q 3 - 1 2 q 2 q 3 = 2 ϵ + 1 + q 2 q 3 - 1 2 q 2 q 3 = ϵ q 2 q 3 + 1 2 . Hence, if ϵ is non-negligible, A d v F I N D - C C A ( k ) = ϵ - 1 2 ϵ q 2 q 3 is also non-negligible.

5. The Forward Secrecy Extension

Forward secrecy is an advanced security feature which makes the past session keys still secure even though the long-term key of a system was stolen by attackers. If a scheme is not with forward secrecy, an attacker, who has gotten the long-term key by some means, can compute all past session keys which were derived from the long-term key.
Our anonymous authentication protocol can be easily extended to own the feature of forward secrecy by adopting Diffie-Hellman key exchange protocol [24]. The extended protocol is given in Figure 16. Let p be a prime and g be a generator with order q in Z p * where q is also prime and q | ( p - 1 ) . In the extended authentication protocol, when M S is preparing θ 2 , she/he randomly chooses an integer a { 1 , , q } and compute r 3 = g a mod p . Then, M S sets θ 2 = E p k V ( r 1 , r 2 , r 3 ) . V prepares r 4 = g b mod p where b is randomly selected from { 1 , , q } and sends ( r 1 , r 4 ) to M S . Finally, M S computes the session key k s = r 4 a mod p and V computes k s = r 3 b mod p .
In the extended version, the mobile user has to pay two more exponentiation computations, i.e., r 3 = g a mod p and k s = r 4 b mod p for completing her/his authentication. The mobile user can pre-compute r 3 = g a mod p before the communication.

5.1. The Security Proof for the Forward Secrecy Extension

First, we define Decisional Diffie-Hellman (DDH) Assumption which was introduced in [25].
Definition 14 (DDH). 
Let p be a prime and g be a generator with prime order q in Z p * where q | ( p - 1 ) . Given ( p , q , g , g a mod p , g b mod p , g c mod p ) , it is computationally indistinguishable to decide if c a b ( mod q ) .
We modify the experiment of Definition 12 as follows.
Definition 15. 
Let k N be a security parameter. In this experiment, the adversary E will try to guess that the returned value r k from T e s t ( Π M S i , V j u ) query is a random string or the real session key.
E x p e r i m e n t   E x p E G o o d G u e s s F S ( k ) - b E S e n d , E x e c u t e , R e v e a l , C o r r u p t ( r k = T e s t ( Π M S i , V j u ) ) I f   t h e   f o l l o w i n g s   a r e   t r u e ,   r e t u r n   1 ;   e l s e r e t u r n   0 . 1 . b = b 2 . E   h a s   n e v e r   s u b m i t t e d   R e v e a l ( Π M S i , V j u ) . 3 . E   m a k e s   C o r r u p t ( V j )   q u e r y   w h e n   t h e   s e s s i o n   u   h a s b e e n f i n i s h e d   w h e r e u < u .
We define the advantage of E is A d v E G o o d G u e s s F S ( k ) = P r [ E x p E G o o d G u e s s F S ( k ) = 1 ] - 1 2 .
Definition 16. 
A protocol P = ( Π , G ) is with forward secrecy if P is a secure authenticated key exchange protocol and A d v E G o o d G u e s s F S ( k ) is negligible.
Theorem 7. 
The extension of the authentication protocol in Section 5 is a secure authentication protocol with forward secrecy.
Proof. 
The proof model is illustrated in Figure 17. We will construct a simulator S F S who obtains ( p , q , g , g a ¯ mod p , g b ¯ mod p , g c ¯ mod p ) and simulates the communication environment under the presence of an adversary E. There are q 1 entities M S i ’s and q 2 entities V j ’s in the communication environment. Assume that E makes E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) queries at most q 3 times. S F S generates the public/private keys ( p k V j , s k V j ) for V j where j = { 1 , , q 2 } . S F S guesses a number λ where E will output correct bit b for the T e s t ( Π M S i , V j u ) query and Π M S i , V j u is involved in the λth E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) query. When E makes S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) queries, S F S can return the corresponding response messages by performing the protocol of Section 3.3 and Section 3.4 with the generated public/private keys ( p k V j , s k V j ) ’s. Besides, S F S resets i g u e s s = 0 and R e v e a l ( T ) , R e v e a l ( Π M S i , V j u ) , T e s t ( Π M S i , V j u ) , and E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) queries are defined in Figure 18.
After the λth E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) query, E makes T e s t ( Π M S i , V j u ) query and outputs a guess bit b . Then S F S can try to solve the DDH problem as follows. If b = 0 , S F S decides c a b ( mod q ) . If b = 1 , S F S decides c a b ( mod q ) . Besides, if E does not make T e s t ( Π M S i , V j u ) query for the λth E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) , S F S randomly chooses b { 0 , 1 } . Assume that E has probability at least ( ϵ + 1 2 ) with non-negligible ϵ to output correct bit b . Thus, S F S has non-negligible advantage at least ϵ + 1 2 q 3 + q 3 - 1 2 q 3 - 1 2 = ϵ q 3 to solve the DDH assumption, i.e., A d v E G o o d G u e s s F S ( k ) ϵ q 3 .

6. Comparisons and Performance Evaluation

6.1. Comparisons

First, we describe some features as follows where these features are required for mobile users when they roam around the mobile networks.
  • Hiding identity: Mobile users hide their real identities from the system operator, H and V, and eavesdroppers.
  • No relation: It is difficult for the system to derive the relation between any two rounds of the communication of the same mobile user.
  • Secure channels: After performing mutual authentication between an anonymous mobile user and the system operator, they must establish a shared session key for the following communication activities.
  • Fair privacy: Fair privacy contains traceability and revokeability. If a crime happens, the police can trace the identities of related anonymous mobile users or the judge can revoke their privacy.
  • Credit-based chargeability: As mentioned in Section 3.5, the credit-based charging method is better than the debit-based one since the former (1) is the same as the practical situation in current GSM services; (2) can greatly reduce the relations between any two rounds of communication; and (3) is free from the problem of overspending.
The comparisons between our proposed scheme and the others are summarized in Table 1. In Table 1, the authors of [6] also mentioned untraceability and revokeability, but they did not realize them in their scheme. We believe that realizing untraceability and revokeability is not trivial.

6.2. Performance Evaluation

In Table 2, we summarize the computation cost of the proposed protocols where E denotes the cost of a modulo exponentiation computation.
Besides, we show the benchmark of Crypto++, which is a C++ class library of cryptographic computations, in Table 3 [29]. The benchmark is measured by running Crypto++ on a machine with Intel Celleron 450MHz CPU under Windows 2000. Furthermore, we also list the hardware specifications of some recently popular mobile devices in Table 4 [30]. In Table 4, we also implemented RSA Cryptography system to check if our proposed system is practically efficient. According to Table 3 and Table 4, we can objectively say that our protocols can be implemented and efficiently executed in the present mobile devices. Consequently, our anonymous authentication protocols can be performed in a reasonable time when a mobile user takes her/his mobile device to roam over the mobile network.

7. Conclusions

We have proposed a mobile authentication scheme which can authenticate mobile users anonymously. When a mobile user enters the anonymity mode, she/he can perform a mutual authentication process with the system operator. The system operator can charge the anonymous user correctly according to the time she/he consumed by a credit-based method. Furthermore, if some mobile user misuses the anonymity property, the judge can revoke her/his privacy and trace her/him.
In the proposed scheme, the privacy of an honest mobile user might be broken by the system operator if the mobile user lost her/his ticket since the system operator must trace her/his used tickets in order to find the spending value of her/him. Finding a solution to cope with the problem would be the subject of an interesting research topic.

Acknowledgments

This work was supported in part by the Ministry of Science and Technology of the Taiwan under grants MOST 104-2221-E-110-043, MOST 105-2923-E-110-001-MY3, and ”Aim for the Top University Plan” of the National Sun Yat-sen University and Ministry of Education, Taiwan.

Author Contributions

Both of the authors worked collaboratively in the design of the scheme, proofs for its security, and analyses on its performance.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix

We define an experiment as follows.
Definition A1 (The Experiment of Hash Querying). 
Let k N be a security parameter and Π M S i , V j u and Π V j , M S i v are two oracles who play the roles of M S i and V j in Section 3.4, respectively. There exists an attacker A H Q who can perform E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) queries at most q H Q times and observe all communication flows which are ( α λ , θ 1 λ , T λ , θ 2 λ ) , ( r 1 λ , r 4 λ ) , and r 5 λ where λ = { 1 , , q H Q } . A H Q can submit R e v e a l ( T λ ) to get m λ and perform the R e v e a l ( r 5 λ ) query to obtain ( r 2 λ | | r 4 λ ) where r 5 λ = F 3 ( r 2 λ | | r 4 λ ) m λ . Consider the following experiment:
E x p e r i m e n t   E x p A H Q H Q ( k ) - ( r ^ , λ ^ ) A H Q E x e c u t e , R e v e a l ( a l l   c o m m u n i c a t i o n   f l o w s ) I f   t h e   f o l l o w i n g s   a r e   t r u e ,   r e t u r n   1 ;   e l s e   r e t u r n   0 . 1 . A H Q   h a s   n e v e r   s u b m i t t e d   R e v e a l ( r 5 λ ^ )   q u e r y . 2 . r 5 λ ^ = F 3 ( r ^ ) m λ ^ 3 . λ ^ { 1 , , q H Q } .
We define the advantage of A H Q as A d v A H Q H Q ( k ) = P r [ E x p A H Q H Q ( k ) = 1 ] .
Theorem A1. 
If the advantage A d v A H Q H Q ( k ) is non-negligible, A d v F I N D - C C A ( k ) is also non-negligible.
Proof. 
The proof model is shown in Figure A1. We will design a simulator S H Q who can simulate the experiment of Definition A1. First, S H Q randomly chooses four different strings, ( r ˜ 1 , r ˜ 2 , r ˜ 2 , r ˜ 3 ) , and sets m 0 = ( r ˜ 1 , r ˜ 2 , r ˜ 3 ) and m 1 = ( r ˜ 1 , r ˜ 2 , r ˜ 3 ) . S H Q then sends ( m 0 , m 1 ) to the challenger C , which was defined in 7, and gets p k and π = E p k ( m b ) where b R { 0 , 1 } . Then S H Q creates q 1 mobile users M S i ’s and q 2 entities V j ’s and guesses two integers j and λ where 1 j q 2 and 1 λ q H Q , i.e., S H Q guesses that A H Q will output ( r ^ , λ ^ ) where λ = λ ^ and V j will be involved in the λ th E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) query. S also generates public/private key pairs for V j where j = { 1 , , q 2 } and j j . The public key of V j will be set as p k .
Figure A1. The proof model of Theorem A1.
Figure A1. The proof model of Theorem A1.
Applsci 06 00176 g019
During the simulation, A H Q must send ( r 2 | | r 4 ) to O F 3 to request the F 3 -hashed value of ( r 2 | | r 4 ) , i.e., F 3 ( r 2 | | r 4 ) . S H Q initially sets i g u e s s = 0 and empties four lists L K M S , L K V , L F 3 , and L T . R e v e a l ( r 5 ) , R e v e a l ( T ) , O F 3 , and E x e c u t e ( Π M S i , V j u , Π V j , M S i v ) are defined in Figure A2.
Figure A2. The oracles in the proof of Theorem A1.
Figure A2. The oracles in the proof of Theorem A1.
Applsci 06 00176 g020
Finally, if A H Q outputs ( r ^ , λ ^ ) , S H Q can guess b as follows. If λ ^ = λ , S H Q guesses b = 0 when r ^ = ( r ˜ 2 | | r 4 λ ) , b = 1 when r ^ = ( r ˜ 2 | | r 4 λ ) , b R { 0 , 1 } when r ^ ( r ˜ 2 | | r 4 λ ) and r ^ ( r ˜ 2 | | r 4 λ ) . If λ ^ λ , S H Q randomly outputs b { 0 , 1 } .
If A H Q has probability ϵ H Q , not less than a non-negligible probability, to output the correct string r ^ , S H Q has probability ϵ to output b such that b = b where
ϵ = ϵ H Q + ( 1 - ϵ H Q ) 1 2 l r q H Q q 2 + ( 1 - ϵ H Q ) ( 2 l r - 1 2 l r ) 2 q H Q q 2 + q H Q q 2 - 1 2 q H Q q 2 2 ϵ H Q + 1 - ϵ H Q + q H Q q 2 - 1 2 q H Q q 2 = ϵ H Q 2 q H Q q 2 + 1 2 .
Thus, S H Q is an adversary F who has non-negligible advantage A d v F I N D - C C A ( k ) ϵ H Q 2 q H Q q 2 in the IND-CCA game.

References

  1. Fragkiadakis, A.G.; Askoxylakis, L.G.; Tragos, E.Z.; Verikoukis, C.V. Ubiquitous Robust Communications for Emergency Response Using Multi-operator Heterogeneous Networks. EURASIP J. Wirel. Commun. Netw. 2011, 13, 1–16. [Google Scholar] [CrossRef]
  2. Hwang, K.F.; Chang, C.C. A Self-encryption Mechanism for Authentication of Roaming and Teleconference Services. IEEE Trans. Wirel. Commun. 2003, 2, 400–407. [Google Scholar] [CrossRef]
  3. Samfat, D.; Molva, R.; Asokan, N. Untraceability in Mobile Networks. In Proceedings of the 1st Annual International Conference on Mobile Computing and Networking, Berkeley, CA, USA, 13–15 November 1995; pp. 26–36.
  4. Asokan, N. Anonymity in a Mobile Computing Environment. In Proceedings of the Workshop on Mobile Computing System and Applications, Santa Cruz, CA, USA, 8–9 December 1994; pp. 200–204.
  5. Ozturk, C.; Zhang, Y.; Trappe, W.; Ott, M. Source-location Privacy for Networks of Energy-constrained Sensors. In Proceedings of the Second IEEE Workshop on Software Technologies for Future Embedded and Ubiquitous Systems (WSTFEUS’04), Vienna, Austria, 11–12 May 2004; pp. 68–72.
  6. Karygiannis, A.; Kiayias, A.; Tsiounis, Y. A Solution for Wireless Privacy and Payments Based on E-cash. In Proceedings of the First International Conference on Security and Privacy for Emerging Areas in Communications Networks, Athens, Greece, 5–9 September 2005; pp. 206–218.
  7. He, Q.; Wu, D.; Khosla, P. The Quest for Personal Control over Mobile Location Privacy. IEEE Commun. Mag. 2004, 42, 130–136. [Google Scholar]
  8. Park, S.Y.; Han, M.S.; Eom, Y.I. An Efficient Authentication Protocol Supporting Privacy in Mobile Computing Environments. In Proceedings of the 5th IEEE International Conference on High Speed Networks and Multimedia Communications, Jeju Island, Korea, 3–5 July 2002; pp. 332–334.
  9. Zhu, J.; Ma, J. A New Authentication Scheme with Anonymity for Wireless Environments. IEEE Trans. Consum. Electron. 2004, 50, 231–235. [Google Scholar]
  10. Kesdogan, D.; Fouletier, X. Secure Location Information Management in Cellular Radio Systems. In Proceedings of the IEEE Wireless Communication System Symposium, Smithtown, NY, USA, 27–28 November 1995; pp. 35–40.
  11. Lin, W.D.; Jan, J.K. A Wireless-based Authentication and Anonymous Channels for Large Scale Area. In Proceedings of the Sixth IEEE Symposium on Computers and Communications, Hammamet, Tunisia, 3–5 July 2001; pp. 36–41.
  12. Tracz, R.; Wrona, K. Fair Electronic Cash Withdrawal and Change Return for Wireless Networks. In Proceedings of the 1st International Workshop on Mobile Commerce, Rome, Italy, 21 July 2001; pp. 14–19.
  13. Chaum, D. Blind Signature Systems. In Advance in Cryptology—CRYPTO ’83; Springer: Berlin/Heidelberg, Germany, 1984; p. 153. [Google Scholar]
  14. Fan, C.-I.; Huang, V.-S. Anonymous Authentication Protocols with Credit-Based Chargeability and Fair Privacy for Mobile Communications. In International Workshop on Security (IWSEC), LNCS 4752; Springer-Verlag: Berlin/Heidelberg, Germany, 2007; pp. 412–427. [Google Scholar]
  15. Canetti, R.; Halevi, S.; Katz, J. A Forward-secure Public-key Encryption Scheme. J. Cryptol. 2007, 20, 265–294. [Google Scholar] [CrossRef]
  16. Pearson, S. Trusted Computing Platforms, the Next Security Solution; Technical Report HPL-2002-221; Hewllet-Packard Laboratories: Bristol, UK, 2002. [Google Scholar]
  17. Trusted Computing Group Website. Available online: http://www.trustedcomputinggroup.org/ (accessed on 17 January 2016).
  18. Bajikar, S. Trusted Plateform Module (TPM) Based Security on Notebook PCs-White Paper; Mobile Platform Group, Intel Corporation: Santa Clara, CA, USA, 2002; Volume 1, p. 1. [Google Scholar]
  19. Horowitz, E.; Sahni, S. Computing Partitions with Applications to the Knapsack Problem. J. ACM 1974, 21, 277–292. [Google Scholar] [CrossRef]
  20. Bellare, M.; Namprempre, C.; Pointcheval, D.; Semanko, M. The One-more-rsa-inversion Problems and the Security of Chaum’s Blind Signature Scheme. J. Cryptol. 2008, 16, 185–215. [Google Scholar] [CrossRef]
  21. Bellare, M.; Rogaway, P. Entity Authentication and Key Distribution. In Advances in Cryptology—CRYPTO’ 93; Springer: Berlin/Heidelberg, Germany, 1994; Volume 773, pp. 232–249. [Google Scholar]
  22. Blake-Wilson, S.; Menezes, A. Entity Authentication and Authenticated Key Transport Protocols Employing Asymmetric Techniques. In Security Protocols; Springer: Berlin/Heidelberg, Germany, 1998; pp. 137–158. [Google Scholar]
  23. Goldwasser, S.; Micali, S. Probabilistic Encryption. J. Comput. Syst. Sci. 1984, 28, 270–299. [Google Scholar] [CrossRef]
  24. Diffie, W.; Hellman, M.E. New Directions in Cryptography. IEEE Trans. Inf. Theory 1976, 22, 644–654. [Google Scholar] [CrossRef]
  25. Boneh, D. The Decision Diffie-Hellman Problem. In Proceedings of the Third Algorithmic Number Theory Symposium, Portland, OR, USA, 21–25 June 1998; Volume 1423, pp. 48–63.
  26. Mu, Y.; Varadharajan, V. A New Scheme of Credit Based Payment for Electronic Commerce. In Proceedings of the 23rd Annual Conference on Local Computer Networks, LowelI, MA, USA, 11–14 October 1998; pp. 278–284.
  27. Yang, C.C.; Tang, Y.L.; Wang, R.C.; Yang, H.W. A Secure and Efficient Authentication Protocol for Anonymous Channel in Wireless Communications. Appl. Math. Comput. 2005, 169, 1431–1439. [Google Scholar] [CrossRef]
  28. Yeh, K.H. An Anonymous and Lightweight Authentication Scheme for Mobile Devices. Inf. Technol. Control 2015, 44, 206–215. [Google Scholar] [CrossRef]
  29. Crypto++. Crypto++ Benchmarks. Available online: http://www.packetstormsecurity.org/crypt/LIBS/cryptolib/benchmarks.html (accessed on 15 March 2009).
  30. The GSM Phone Reviews Website. Available online: http://www.gsmar-ena.com/ (accessed on 22 May 2008).
Figure 1. The time slots.
Figure 1. The time slots.
Applsci 06 00176 g001
Figure 2. Overview of the proposed scheme.
Figure 2. Overview of the proposed scheme.
Applsci 06 00176 g002
Figure 3. The protocol for requesting an initial anonymous ticket.
Figure 3. The protocol for requesting an initial anonymous ticket.
Applsci 06 00176 g003
Figure 4. The protocol for using an anonymous ticket in the i-th round before the due date.
Figure 4. The protocol for using an anonymous ticket in the i-th round before the due date.
Applsci 06 00176 g004
Figure 5. The protocol for terminating the communication and getting a returned ticket for the next round of communication.
Figure 5. The protocol for terminating the communication and getting a returned ticket for the next round of communication.
Applsci 06 00176 g005
Figure 6. The model of the proof for unforgeability.
Figure 6. The model of the proof for unforgeability.
Applsci 06 00176 g006
Figure 7. The forger F .
Figure 7. The forger F .
Applsci 06 00176 g007
Figure 8. The model of the proof for Tamper Resistance.
Figure 8. The model of the proof for Tamper Resistance.
Applsci 06 00176 g008
Figure 9. The oracles in the proof of Tamper Resistance.
Figure 9. The oracles in the proof of Tamper Resistance.
Applsci 06 00176 g009
Figure 10. The model of the proof of Ticket Swindling Resistance.
Figure 10. The model of the proof of Ticket Swindling Resistance.
Applsci 06 00176 g010
Figure 11. The oracle Π M S i , V j u in the proof of Ticket Swindling Resistance.
Figure 11. The oracle Π M S i , V j u in the proof of Ticket Swindling Resistance.
Applsci 06 00176 g011
Figure 12. The proof model of Case 1.
Figure 12. The proof model of Case 1.
Applsci 06 00176 g012
Figure 13. The actions of Π M S i , V j u and Π V j , M S i v for S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) queries, respectively.
Figure 13. The actions of Π M S i , V j u and Π V j , M S i v for S e n d ( Π M S i , V j u , M ) and S e n d ( Π V j , M S i v , M ) queries, respectively.
Applsci 06 00176 g013
Figure 14. The proof model of Theorem 6.
Figure 14. The proof model of Theorem 6.
Applsci 06 00176 g014
Figure 15. The oracles in the proof model of Theorem 6.
Figure 15. The oracles in the proof model of Theorem 6.
Applsci 06 00176 g015
Figure 16. The proposed anonymous authentication protocol with forward secrecy.
Figure 16. The proposed anonymous authentication protocol with forward secrecy.
Applsci 06 00176 g016
Figure 17. The proof model of Theorem 7.
Figure 17. The proof model of Theorem 7.
Applsci 06 00176 g017
Figure 18. The oracles of the proof of Theorem 7.
Figure 18. The oracles of the proof of Theorem 7.
Applsci 06 00176 g018
Table 1. Comparisons.
Table 1. Comparisons.
PrivacyProperty
SchemeHiding ID from: Credit-Based
HVENoRSTRChargeability
Ours
[6]××
[7]×××××
[8]××××
[9]×××××
[10]××××
[11]××××
[12]×××××
[26]××××××
[27]×××××
[28]×××
H: Home domain; V: Visiting domain; E: Eavesdroppers; NoR: Hard to derive relation between any two rounds; S: Secure channel; T: Traceability (Tracing a criminal user); R: Revokeability (Revoking the privacy of a user when necessary); ◯: Achieving the feature; ×: Not achieving the feature; △: Not realizing the feature.
Table 2. Computation evaluation.
Table 2. Computation evaluation.
OperationMobile User ( MS )The System (V+H)
Requesting a ticket4E6E
Using a ticket3E2E
Termination3E8E
Table 3. The benchmark of Crypto++.
Table 3. The benchmark of Crypto++.
CPU: Intel Celleron 450 MHz, OS: Windows 2000
RSA OperationIterationsTotal TimeMilliseconds/Operation
1024 Encryption41,05130 s0.73
1024 Decryption1,08430 s27
2048 Encryption13,91230 s2
2048 Decryption16430 s183
1024 Signature1,08630 s27
1024 Verification43,06130 s0.69
2048 Signature16530 s181
2048 Verification14,18730 s2
Table 4. Some popular mobile devices.
Table 4. Some popular mobile devices.
Mobile DeviceCPUMemoryExecution Time
Mac iphone 3GSamsung S5L8900 620 MHz128 MB
HTC magicQualcomm MSM 7201A 528 MHz192 MBE: 3 ms, D: 21 ms
Noika N95Dual ARM 11 332 MHz128 MB
Sony Ericsson X1Qualcomm MSM 7200 528 MHz256 MB
E: encrypting 256 bits of data; D: decrypting 256 bit of data.

Share and Cite

MDPI and ACS Style

Fan, C.-I.; Huang, V.S.-M. Formal Security-Proved Mobile Anonymous Authentication Protocols with Credit-Based Chargeability and Controllable Privacy. Appl. Sci. 2016, 6, 176. https://doi.org/10.3390/app6060176

AMA Style

Fan C-I, Huang VS-M. Formal Security-Proved Mobile Anonymous Authentication Protocols with Credit-Based Chargeability and Controllable Privacy. Applied Sciences. 2016; 6(6):176. https://doi.org/10.3390/app6060176

Chicago/Turabian Style

Fan, Chun-I, and Vincent Shi-Ming Huang. 2016. "Formal Security-Proved Mobile Anonymous Authentication Protocols with Credit-Based Chargeability and Controllable Privacy" Applied Sciences 6, no. 6: 176. https://doi.org/10.3390/app6060176

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