Next Article in Journal
Task-Covariant Representations for Few-Shot Learning on Remote Sensing Images
Previous Article in Journal
The Successive Approximation Genetic Algorithm (SAGA) for Optimization Problems with Single Constraint
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Private and Mutual Authentication Protocols for Internet of Things

1
School of Computer and Communication Engineering, Nanjing Tech University Pujiang Institute, Nanjing 210000, China
2
Faculty of IT, Claytyon Campus, Monash University, Clayton, VIC 3800, Australia
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(8), 1929; https://doi.org/10.3390/math11081929
Submission received: 22 March 2023 / Revised: 12 April 2023 / Accepted: 17 April 2023 / Published: 19 April 2023
(This article belongs to the Section Mathematics and Computer Science)

Abstract

:
The Internet of Things (IoT) consists of a range of devices that communicate with other devices that are surrounding them. Secure communications between IoT devices have been an essential requirement. However, most existing authentication protocols fail to provide privacy protection for devices such that sensitive information including device owner’s identity and device type can be leaked. In this paper, based on attribute-based encryption (ABE), we propose two private and mutual authentication protocols to protect the privacy of IoT devices. The first protocol is a three-message key exchange protocol, following the public-key encryption mode of the Internet Key Exchange (IKE). The second protocol is a one-round key exchange protocol, thereby providing simplicity and efficiency of messages communicated between the participants. Both of our protocols can be proved secure in the defined model. Finally, we implement the two protocols in an open source framework.
MSC:
68P27

1. Introduction

In recent years, the application of the Internet of Things (IoT) [1,2] has become increasingly widespread, enabling objects (e.g., physical devices, vehicles, buildings, etc.) to be embedded with software, sensors and actuators to exchange data via the network connectivity. Take the smart house in Figure 1 as an instance, which is a house equipped with an alarm system, lighting and heating controller, health caring monitor, air conditioning manager, and other IoT devices. Since these devices might be operated by multiple individuals such as house owners, room renters, doctors, and repairmen, they should be easily authenticated by others who are entitled with access to them to provide good experiences. To support such a function, existing mechanisms (e.g., Apple Bonjour [3], Bluetooth Low Energy (BLE) [4]) require a broadcast communication channel between the IoT devices, where a device activates a communication request by broadcasting information about themselves in the cleartexts, and those who want to communicate with this device can easily do it by sending a responding message [5,6]. This, however, raises threats to user privacy, since the broadcasting information may contain sensitive information such as the device owner’s identity or host name. For example, adversaries may make use of the identity information obtained from a personal smart watch for user profiling, tracking, and launching other attacks. Therefore, it is important to build mutual authentication protocols that are privacy preserving. Wu et al. [5] elaborately discussed how to build private authentication protocols for the IoT devices, but their protocols have security limitations [5].
In this paper, we focus on designing mutual authentication protocols while protecting the privacy of the participants. Our goal is to make sure that the participant of the protocol can only learn that its peer satisfied some specified access policy but nothing else. Typically, the identification information of a participant can only be learned by a set of authorized parties.

1.1. Challenges and Contributions

The key challenge in designing private and mutual authentication protocols is how to achieve mutual authentication with privacy protection. Most existing mutual authentication protocols (e.g., SIGMA [7], JFK [8]) require that at least one party should disclose his/her identity to their peers before the other party, and thus, the identity of the participant is made public to any party in its communication. It becomes undesirable when both participants are IoT devices and unwilling to disclose his/her identity to his/her peers before starting a conversation. It would be desirable to hide the identity of the participant in an authentication protocol or make the identity of the participant only be known by the authorized entities.
Wu et al. [5] suggested the use of prefix encryption, derived from identity-based encryption (IBE), to protect the privacy of the participants in the private and mutual authentication protocol. Their protocol requires a certificate chain associated with each participant’s public key, and thus, it loses the advantages of IBE and causes certificate management issues such as certificate revocation, storage and distribution, and expensive costs in certificate validation, which is significantly unpleasant for applications with limited resources. Please refer to Section 4 for the detailed analysis.
In this paper, we consider the private and mutual authentication protocol one step further in terms of both performance and security. Different from that in [5], which is a signature-based protocol such that each participant is given a pair of signing (private) and verifying (public) keys and a readable name (in a hierarchical structure) tied to its public key through a certificate chain, our private and mutual authentication protocols are based on an encryption scheme in which each participant is assigned with a decryption key derived from their credentials to eliminate the need for certificates. To achieve the desired private authentication, we think of Attribute-Based Encryption (ABE) [9] as a building block. In an ABE scheme, users are identified by a set of attributes, and each ciphertext is generated over a message and an access policy. The original message can only be uncovered by those users whose attributes meet the access policy. Thanks to ABE, the proposed private and mutual authentication protocols protect the privacy of the participants, since the same attributes may be shared by multiple participants. For example, if a laptop with a decryption key over attributes “Brand: Apple”, “Type: Laptop”, would like to communicate with a device with attributes “Brand: Apple”, “Type: Phone”, it can send the ephemeral key encrypted under an access policy “Brand: Apple AND Type: Phone”. Thus, only phones produced by Apple can respond to its request and build a connection with this laptop successfully.
Our contributions in this paper are twofold. Firstly, on the basis of ABE, we present a private and mutual authentication protocol named ABEDH, following the public-key based key exchange protocol SKEME [10] which is the building block of the Internet Key Exchange (IKE)’s public key encryption mode [11]. Secondly, to simplify and improve the efficiency of messages exchanged between parties, we modify the ABEDH protocol to make it composed two messages, and call it one-round ABEDH (OR-ABEDH), using the technique introduced in [12].

1.2. Related Work

Authentication protocols can be divided into two categories: directory-free protocols and directory-based protocols [5]. For directory-based protocols (e.g., [13]), there is a central directory to maintain service information and control participants’ access rights. Parties query directories to discover other participants and participants register with the directory to announce their presence. Though directory-based protocols are computationally efficient, their security depend on an external service. If the directory service is compromised, the privacy of both the participants is in danger. Directory-free protocols (e.g., [14]) depend on shared keys created between devices in separate protocols. Those shared keys are used to encrypt private service advertisements to prevent unpaired devices from decrypting. Other protocols rely on public-key encryption (e.g., [15]) where each device keeps a public-key set for peers it intends to build communications with, and identity-based encryption (e.g., [5,16]), where key-management is simplified without maintaining long lists of symmetric or public keys.
Private authentication was introduced by Abadi [17], where the identity of each protocol participant will not be revealed to its peers unless authorized by the participant. There are several techniques that can be applied to achieve private authentication, e.g., secret handshakes [18], that allow members of a group to identify each other privately; hidden credentials [19] that enable the sender to send encrypted messages; mechanisms that ensure that only recipients who meet certain access policies can decrypt the message; and attribute-based encryption schemes [20] that support fine-grained access control over decryption capabilities.
However, it is not always straightforward to obtain secure key exchange protocols by combining these protocols with existing key exchange protocols [5] such as SIGMA [7], JFK [8]. Wu et al. [5] showed how private and authenticated key exchange can be very naturally completed by integrating prefix encryption with existing secure signature-based key exchange protocols to obtain private authentication between two entities. In this paper, we describe how to achieve private authentication from key exchange protocols based on attribute-based encryption.

1.3. Road-Map

The rest of this paper is structured as follows. In Section 2, we briefly revisit definitions relevant to this paper. In Section 3, we describe the security model for the private and mutual authentication protocol. In Section 4, we present two private and mutual authentication protocols and analyze their security. In Section 5, we show the experimental results of the proposed private and mutual authentication protocols. Finally, this paper is concluded in Section 6.

2. Preliminaries

In this section, we recall basic notions to be used in this paper.

2.1. Complexity Assumption

Decisional Diffie–Hellman Assumption [21]. For any probabilistic polynomial-time (PPT) algorithm, the Decisional Diffie–Hellman (DDH) problem means that it is difficult to distinguish between ( g , g a , g b , g a b ) and ( g , g a , g b , Z ) , where g, Z G , a, b Z p are chosen independently and uniformly at random.

2.2. Attribute-Based Encryption

An attribute-based encryption (ABE) scheme ABE [9] is composed of four algorithms: a setup algorithm ABE .Set ( 1 λ ) outputting the public parameter p a r and the master private key m s k on input a security parameter λ ; a key generation algorithm ABE .KG ( p a r , m s k , A ) outputting a private attribute-key s k A on input the public parameter p a r , the master private key m s k , and an attribute set A ; an encryption algorithm ABE .Enc ( p a r , A m ) outputting a ciphertext CT on input the public parameter p a r , an access policy A , and a message m; and a decryption algorithm ABE .Dec ( p a r , s k A , CT) outputting a message m or a failure symbol ⊥ on input the public parameter p a r , a private key s k A and a ciphertext CT.
An ABE scheme ABE is secure against chosen ciphertext attacks (IND-CCA secure) if for any PPT adversary A = ( A 1 , A 2 ) , the advantage function
Adv ABE , A IND - CCA ( λ ) = Pr b = b ( p a r , m s k ) ABE . Set ( 1 λ ) , b { 0 , 1 } ( m 0 , m 1 , A * , s t a t e ) A 1 ABE . KG ( m s k , · ) , ABE . Dec ( · , · ) ( p a r ) CT * ABE . Enc ( p a r , A * , m b ) b A 2 ABE . KG ( m s k , · ) , ABE . Dec ( · , · ) ( p a r , m 0 , m 1 , A * , s t a t e , CT * ) 1 / 2
is negligible in the security parameter λ , where | m 0 | = | m 1 | , and adversary A is not allowed to make a decryption query on input CT * . In addition, adversary A is disallowed to make key generation queries on attributes satisfying the challenge access policy A * .

2.3. Message Authentication Code

Let K be the key space. A message authentication code scheme MAC is composed of two algorithms [22]: a message authentication algorithm MAC .MAC ( K , m ) , which outputs an authentication tag τ by taking a key K K and a message m as the input, and a verification algorithm MAC .MAV ( K , m, τ ) , which outputs 1 or 0 by taking a key K K , a message m and an authentication tag τ as the input.
A message authentication code scheme MAC is secure against chosen message attacks (CMA secure) if for any PPT adversary A , the advantage function
Adv MAC , A CMA ( λ ) = Pr MAC . MAV ( K , m * , τ * ) = 1 A has never queried MAC . MAC ( K , m * ) K K ( m * , τ * ) A MAC . MAC K ( · ) ( 1 λ )
is negligible in the security parameter λ .

2.4. Pseudo-Random Functions

Let H : K λ × D λ → R λ be a pseudo-random function (PRF) [23] indexed by a security parameter λ , where K λ , D λ , and R λ can be arbitrary finite sets. The advantage of a PRF adversary A against F is
Adv H , A PRF ( λ ) = Pr [ REAL H A 1 ] Pr [ RAND H A 1 ] ,
where the security games are shown in Figure 2.
We say H is a secure PRF if the advantage of any PPT adversary is negligible in the security parameter λ .

2.5. Strong Randomness Extractor

A efficiently computable function H : K λ × D λ → R λ indexed by a security parameter λ is called a strong ( m , ϵ ) -extractor (SRE) [24] if, for any random variable X over D λ that has min-entropy m, if k is chosen uniformly at random from K λ and R is chosen uniformly at random from R λ , then the statistical distance between the two distributions < k , H k ( X ) > and < k , R > is at most ϵ . A strong extractor has a special property that the output is close to uniform distribution even when the key k is revealed. The advantage of an SRE adversary A against H is
Adv H , A sre ( λ ) = Pr [ REAL H A 1 ] Pr [ RAND H A 1 ] ,
where the security games are shown in Figure 3.
We say H is a secure SRE if the advantage of any PPT adversary is negligible in the security parameter λ .

3. Protocol Description and Security Model

In this section, after presenting the framework of the private authentication and key exchange protocols, we describe its security model in detail.

3.1. Protocol Description

The private and mutual authentication protocol is run in a network of interconnected participants, and each participant can be invoked to run a session (a.k.a. an instance of the protocol). A partipant within a session can be invoked to start the session (initiator) or respond to an incoming message (responder). Based the specification of the protocol and as a result of these invocations, the participant will create and store a session state, yield outgoing messages, and lastly, finish the session by producing a session key and removing the session state. It is possible that a session is aborted without outputting any session key.
The private and mutual authentication protocol should meet the basic security requirements (e.g., secure against guessing attacks and impersonation attacks) for a mutual authentication protocol. In addition, it should provide forward secrecy to guarantee that the session-key cannot be learned by the adversary when a session key is wiped from its initiator’s memory, even if involving parties are subsequently corrupted; it should resist the following attacks that can be conducted by an adversary.
  • Known-key attacks such that if one session key is learned by the adversary, nothing can be implied about the values of other session keys.
  • Key escrow freeness in the identity-based or attribute-based setting to protect against the compromised Key Generation Centre (KGC), who may (passively) eavesdrop in the communications of any two entities as KGC knows all long-term keys of all the entities.
  • Key compromise impersonation (KCI) attacks to prevent an honest party from accepting a session key in the belief that it is shared with another party as claimed, while in fact, the session key is shared with the adversary.
In addition, it should provide mutual privacy such that any identification information of the protocol participant (either the initiator or the responder) is only revealed to the authorized recipients.

3.2. Security Model

The security model for the private and mutual authentication protocol is similar to that for authenticated key exchange (KE) protocols defined by Canetti and Krawczyk [25] in the “post-specified” peer setting [26], which captures all adversarial capabilities in the real world, including accessing some secret information used or generated in the protocol and controlling communication links. Specifically, an active adversary is able to delay or prevent the delivery, inject messages, interleave messages from different sessions, intercept and modify messages sent over links, schedule all session invocations and session-message delivery, have access to secret information, and so on.
An entity in the post-specified model can be invoked to begin a session by a tuple ( P , s i d , d ) , where P is the entity at which the session is invoked, s i d is a unique session identity, and d is a “destination address” only used for the messages delivery for the session identity s i d ; the session identity is only used as delivery information of messages related to this session and has no implications related to the peer’s identity behind this address. An entity can be invoked either as an initiator or a responder (to respond to an initializing message from another entity). The output of a completed session at an entity P can be described as a public tuple ( P , s i d , Q ) , with s i d being the session identity and Q being the peer of the session and a secret session key s s k . Additionally, sessions could be aborted (or uncompleted) without outputting any session key, where the output can be denoted by a special symbol ⊥. When a session generates an output (as a result of aborting or completing), its local state will be wiped. At the conclusion of the session, only the tuple ( P , s i d , Q ) and the session key s s k are maintained. Additional long-term state such as a private key may also be kept by each entity. However, these long-term secrets are shared across multiple sessions and are not considered as a part of an entity’s local session state. Sessions will be uniquely identified by a pair ( P , s i d ) (with P being the local party and s i d being the session identity) in the protocol analysis.
Definition 1.
Denote ( P , s i d ) as a completed session with the public output ( P , s i d , Q ) . We say the session ( Q , s i d ) is the matching session of ( P , s i d ) if ( Q , s i d ) is completed and its public output is ( Q , s i d , P ) .
Adversarial model. The adversary is modeled to capture realistic attack capabilities (e.g., key escrow, key compromise) in the real world, which is allowed access to some secrets used or generated by the private and mutual authentication protocol and has full control over the communication. The adversary can invoke participants (as an initiator or a responder) to initiate an execution of the private and mutual authentication protocol. In addition, the adversary is able to learn ephemeral and long-term secrets held by participants via issuing the following session queries.
  • Corrupt ( P ) . The adversary learns the long-term private key of P with this query.
  • Session-Key ( P , s i d , Q ) . The session key (if any) accepted by P during a given session s i d with Q is returned by this query.
  • Session-State ( P , s i d , Q ) : All the internal state information of the participant P associated to a particular session s i d with Q, excluding the long-term private key of P, is returned by this query. This query is used for defining the strong corruption model. If the adversary is forbidden to issue the Session-State queries, then it is called the weak corruption model.
  • Session-Expiration ( P , s i d , Q ) . Forward secrecy and memory erasure of the session key on a completed (or expired) session are defined by this query.
  • Test-Session ( P , s i d , Q ) . A random bit b is chosen for replying to this query. If b = 1, the output is the session key. Otherwise, the output is a random key chosen from keys generated by the protocol. This query cannot be issued to an exposed session which is a session when the adversary performs any of the following actions: a Session-State or Session-Key query to this session or to the matching session OR a Corrupt query to either participant before the session expires at that participant.
The session-key (SK) security for a private and mutual authentication protocol is defined based on a game played by the adversary. In the game’s first stage, the adversary can invoke sessions and perform Session-State, Corrupt, Session-Key, and Session-Expiration queries as above. The adversary then selects a participant and a session to perform a Test-Session query. The adversary cannot expose the Test-Session. The adversary may then continue with its regular executions, with the exception that no more Test-Session queries can be issued. Finally, the adversary halts after outputting a bit b as its guess on whether the Test-Session query’s returned value is a random value or the session key. If b = b , the adversary is the winner of the game.
Definition 2.
A private and mutual authentication protocol is session-key secure with perfect forward secrecy (PFS) in the strong (or weak) corruption model if for any PPT adversary, the following properties hold: (1) Assuming that a session ( P , s i d ) ends at an uncorrupted participant P with the output ( P , s i d , Q ) and the session key s s k , and then, with overwhelming probability, if Q ends the session ( Q , s i d ) with non-corrupted P and Q, the session key is s s k and the output of ( Q , s i d ) is ( Q , s i d , P ) ; (2) The probability of the adversary guessing the correct bit b is negligibly close to 1 / 2 in the security parameter. In addition, a private and mutual authentication protocol is session-key secure with weak forward secrecy (WFS) in the strong (or weak) corruption model if the adversary is disallowed to actively perform in the Test-Session.

4. Proposed Private Authentication Protocols

In this section, we present two private and mutual authentication protocols and analyze the security of them.

4.1. Analysis on an Existing Private Authentication Protocol

Wu et al. [5] proposed a private and mutual authentication protocol over a group G of a prime order p and a generator g, which is shown in Figure 4. Let PE be the prefix encryption scheme with PE .Setup, PE .KG, PE .Enc and PE .Dec being the corresponding setup, key generation, encryption, and decryption algorithms; i d P be a certificate chain to tie P’s public key to one of its identities of a participant P; and KDF ( · ) be a key derivation function [5]. Sig P ( m ) denotes P’s signature on a message m and { m } k an authentication encryption [5] of a message m under a key k.
However, the private and mutual authentication protocol in Figure 4 has several limitations.
  • Firstly, in their protocol, certificates must be associated with the signatures generated by the parties. Otherwise, even though the party C does not satisfy the access policy defined by the party S, it can still build a session key with the party S. This is because there is no authentication process for the party S to check whether the party C satisfies the required access policy. The signature σ C can be generated by any party C, regardless of whether it can decrypt C T S or not, so the certificate of a party C must be associated with the signature.
  • Secondly, a malicious party C can always know the identity of the party S it communicates with. Using anonymous prefix encryption can hide the access policy designated by the party S, but it cannot hide the identity of the party S. The identity information about the party S could be leaked to a malicious party C (a malicious C can simply activate a session; when any party S replies, it learns the identity of the party S) via the signature generated by the party S.
  • Thirdly, in their protocol, the party S can specify what kind of party C it wants to communicate with, but the party C does not have such a capability to choose the party S it wants to communication with, as the party C is not required to generate an encryption on the policy that the party S should satisfy. We think that this is undesirable and unfair. It is better to allow the party C to specify some kind of access policy that the responding party S should have. Thus, the party C can filter some responding parties S as well.

4.2. Protocol Environment

In the proposed private and mutual authentication protocols, each participant is identified by a set of attributes (e.g., Owner: Alice, Type: Notebook, Brand: Apple, and so on). A trusted Key Generation Center (KGC) that keeps the master private key m s k and creates the common parameter p a r , issues a private attribute-key to each party in terms of the attributes possessed by this party. When a party intends to initiate a session, it sends an ephemeral key encrypted under some access policy over attributes which it would like the responder to satisfy.
In an ABE scheme, the access policy is sent along with the ciphertext in a cleartext form. Thus, it may leak the sensitive information of the participants if the access structure contains an attribute such as “Owner: Alice” or “Host Name: PC-JSH”. To prevent such information disclosure, we suggest to use an ABE scheme with partially hidden access policies [27], where each attribute has an attribute name and an attribute value but attribute values will not be given in the access policies. For example, if an access policy is “Owner: Alice AND Brand: Apple AND (Type: Phone OR Type: Laptop”, the attribute name “Owner”, “Brand”, and “Type” will be included in the access policy as a component of the ciphertext, but the attribute values “Alice”, “Apple”, “Phone”, and “Laptop” will be hidden from the ciphertext. Thereby, the access policy is Owner: ** AND Brand: ** AND Type: ** OR Type: **” appended to the ciphertext. Nevertheless, since “Apple”, “Phone”, and “Laptop” are not as sensitive as “Alice”, they can be shown in the access policy, but “Alice” must be hidden.

4.3. A Private and Mutual Authentication Protocol Based on Attribute-Based Encryption

Denote K by the key space. Let ABE = ( ABE .Set, ABE .KG, ABE .Enc, ABE .Dec) be a ciphertext-policy attribute-based encryption (CP-ABE) scheme. Let MAC = ( MAC .MAC, MAC .MAV) be a message authentication code (MAC) scheme. Let G be a group of a prime order p with a generator g. We present the private and mutual authentication protocol in Figure 5.
  • To initiate a session with a session identity s i d , a device C randomly chooses x Z p and computes X= g x . Then, it randomly chooses a key K C K , and computes the ciphertext CT C by running the ABE .Enc algorithm under an access policy A S that it wants the responding device S to satisfy. It sends ( s i d , X, CT C ) to a device S.
  • Upon receiving an outgoing message ( s i d , X, CT C ) from a device C, the device S decrypts the ciphertext CT C to obtain the underlying key K C . If the decryption fails, it aborts the session. Otherwise, it runs as follows.
    • It randomly chooses a key K S K and computes the ciphertext CT S by running the ABE .Enc algorithm under an access policy A C that it wants the device C to satisfy.
    • It randomly chooses y Z p and computes Y = g y . Then, it generates a tag τ S by running the MAC .MAC algorithm on a message m S = ( 1 , s i d , X, Y, C, S ) under K C .
    • It sends ( s i d , Y, CT S , σ S ) to the device C.
  • When the device C receives an incoming message ( s i d , Y, CT S , τ S ) , it decrypts the ciphertext CT S to obtain the underlying key K S . If the decryption succeeds, it checks the correctness of τ S . If the verification fails, it aborts the session. Otherwise, it generates a tag τ C on a message m C = ( 0 , s i d , X, Y, C, S ) using the key K S . It sends back ( s i d , τ C ) to the device S.
  • After receiving the response ( s i d , τ C ) from the device C, the device S checks the validity of τ C . If τ C is valid, it has a shared session key s s k = g x y . Otherwise, it aborts.
Theorem 1.
Assuming that DDH holds in the underlying group, ABE is IND-CCA secure, and MAC is CMA secure, the proposed private and mutual authentication protocol is session-key secure with PFS under the weak corruption model.
Proof. 
When an adversary outputs a session ( P * , s i d * ) in the Test-Session query, there must be a partner instance ( Q * , s i d * ) . Otherwise, we can make use of the adversary to break the security of the attribute-based encryption scheme ABE or the message authentication code scheme MAC .
We define a restricted adversary A 1 such that in the Test-Session query A 1 outputs a session ( P * , s i d * ) which has a matching session ( Q * , s i d * ) . Given an adversary A against the ABEDH protocol in the SK security game, we build an adversary A 1 as follows. Adversary A 1 use its own oracles to answer all queries made by A . If adversary A outputs an instance ( P * , s i d * ) without any matching session, adversary A 1 aborts without any output. Otherwise, adversary A 1 outputs ( P * , s i d * ) in the Test-Session query and returns the response it receives to adversary A . When adversary A outputs a bit b and aborts, adversary A 1 also outputs b and aborts.
Denote by E the event that the instance ( P * , s i d * ) in the Test-Session query outputted by adversary A does not have a matching session. In the SK security game, if event E happens, we can construct a forger B . On the other hand, if event E does not happen, then adversary A 1 and adversary A are the same. Thus, we have
Adv ABEDH , A SK ( λ ) Adv ABEDH , A 1 SK ( λ ) Pr [ E ] .
Following the proof in [28], we define a forger B . Let ( p a r , m s k ) ABE .Set ( 1 λ ) , s k A ABE .KG ( p a r , m s k , A ) , and CT * ABE .Enc ( p a r , A * , ( P * , K * ) with A * being an access structure and P * being a party chosen by forger B , and K * being a key randomly chosen from the key space of MAC and unknown to forger B . Forger B is given p a r , CT * , and access to an oracle O m s k ( · ) which creates private attribute-keys on unauthorized sets A of A * , an oracle O s k A ( · ) which decrypts ciphertexts which are not equal to CT * , and an oracle O K * ( · ) which returns MAC .MAC ( K * , m ) on input m. Forger B ’s goal is to output m * , MAC .MAC ( K * , m * ) , where m * has never been queried to oracle O K * ( · ) by forger B .
Forger B randomly chooses two parties P * , Q * , and generates the private attribute-keys for them except for Q * . Assume that adversary A performs at most q I activations of parties with an incoming message. Forger B randomly chooses l [ 1 , q I ] and asks its challenger to return CT * = AKE .Enc ( p a r , A * , ( P * , K * ) ) on input P * under A * . Forger B sets that A * can be satisfied by the attributes of Q * and simulates the SK security game for adversary A except in the following cases.
  • If adversary A does not make a Test-Session query with an activation of P * , forger B aborts.
  • If Q * is not the matching session of P * , forger B aborts.
  • If ( P * , s i d * ) is not the l-th activation, forger B aborts.
  • If adversary A issues a Corrupt query on input Q * , forger B aborts.
  • Forger B , in the l-th activation, sets CT P * = CT * , generates the ephemeral DH key for ( P * , s i d * ) , uses s k P * A to obtain K AKE .Dec ( p a r , s k P * A , CT Q * ) , and creates the tag τ P * using K.
  • If adversary A sends (CT, ) to Q * where CT ≠ CT * , forger B queries to its decryption oracle O s k A ( · ) on the input CT. After getting the response from O s k A ( · ) , it proceeds as usual.
  • Forger B queries to its oracle O K * to generate the tag τ * if adversary A sends (CT * , ) to Q * .
  • Forger B outputs the tag τ * and the corresponding message as its forgery and aborts if adversary A sends the tag τ * to the l-th activation.
Therefore, we have
ϵ = Pr [ B succeeds ] 1 q I Pr [ E ] .
Considering an encryption forger B , we can construct another adversary D against the attribute-based encryption scheme ABE in the IND-CCA security game. Adversary D is given the public parameter p a r and has access to both key generation and decryption oracles. When asked for a challenge with input U by forger B , adversary D randomly chooses two keys K 0 and K 1 and asks its challenger with inputs U, K 0 and U, K 1 . After obtaining the challenge CT * , adversary D sets CT * as forger B ’s challenge. When forger B makes an encryption query with a ciphertext CT ≠ CT * , adversary D makes a decryption query with input CT to its challenger. Adversary D returns MAC .MAC ( K 0 , m ) to forger B when forger B makes an MAC query on a message m. Lastly, if forger B successfully makes a forgery MAC .MAC ( K 0 , m * ) , adversary D outputs 0, meaning that CT * is an encryption of U, K 0 . Otherwise, if forger B fails to make a forgery, adversary D outputs 1, meaning that CT * is an encryption of U, K 1 . Hence, we have
Adv ABE , D IND - CCA ( λ ) = Pr [ D outputs 0 | b = 0 ] Pr [ b = 0 ] + Pr [ D outputs 1 | b = 1 ] Pr [ b = 1 ] 1 2 = 1 2 Pr [ B succeeds | b = 0 ] + 1 2 ( 1 Pr [ B succeeds | b = 1 ] ) 1 2 = 1 2 ( Pr [ B succeeds | b = 0 ] Pr [ B succeeds | b = 1 ] ) = 1 2 ( ϵ Adv MAC , B CMA ( λ ) ) .
The last line of the above equation is concluded from forger B is in the encryption forger game when b = 0 , and c * is independent of N 0 when b = 1 and forger B is in the chosen message attack game.
Combining all the results, we have
Pr [ E ] q I ( 2 · Adv ABE , D IND - CCA ( λ ) + Adv MAC , B CMA ( λ ) ) .
Game 1 . We modify the SK security game to a game Game 1 such that the simulator picks a random key from a underlying group and sets it as the session key of the l-th activation. Adversary A 1 has similar advantages in the SK security game and the game Game 1 ; we can also build an adversary B to break the security of the DDH assumption.
Adversary B is given a tuple { g , g a , g b , Z } , and its goal is to guess whether Z = g a b or Z is a random group element. Adversary B follows the procedure of the SK security game to simulate the game Game 1 for adversary A 1 , except that adversary B sets X, Y in the l-th session as X = g a and Y = g b and sets the session key of the l-th session as Z. Then, we have
Adv B DDH ( λ ) = Pr [ A 1 wins the game | Z = g a b ] Pr [ A 1 wins the game | Z = g r ] = Pr [ AKE PKEDH , A 1 ( λ ) true ] Pr [ Game 1 PKEDH , A 1 ( λ ) true ] = Adv ABEDH , A 1 AKE ( λ ) Adv ABEDH , A 1 Game 1 ( λ ) .
Finally, in the game Game 1 , the adversary A 1 has no advantage in winning the game, and we have
Adv ABEDH , A KE ( λ ) q I ( 2 · Adv ABE , D IND - CCA ( k ) + Adv MAC , B CMA ( λ ) ) + Adv B DDH ( λ ) .
This completes the proof of Theorem 1.  □

4.4. A One-Round Private and Mutual Authentication Protocol Based on Attribute-Based Encryption

Denote K by the key space. Denote G as a group of a generator g with a prime order p. Let ABE = ( ABE .Set, ABE .KG, ABE .Enc, ABE .Dec) be a ciphertext-policy attribute-based encryption (CP-ABE) scheme. Let MAC = ( MAC .MAC, MAC .MAV) be a message authentication code (MAC) scheme. Let H k be a strong randomness extractor (SRE) and H be a pseudo-random function (PRF). We describe the one-round private and mutual authentication protocol in Figure 6.
  • To begin a session s i d , a device C randomly chooses x Z p and computes X = g x . Then, it randomly chooses a key K C K and computes the ciphertext CT C by running the ABE .Enc algorithm on K C under an access policy A S that it wants the responding device S to satisfy. In addition, it generates a tag τ C on a message m C = ( 0 , s i d , X, C ) using the key K S . It sends ( s i d , X, CT C , τ C ) to a device S.
  • Upon receiving an outgoing message ( s i d , X, CT C , τ C ) from a device C, the device S decrypts the ciphertext CT C to obtain the underlying key K C . If the decryption fails, it aborts the session. Otherwise, it checks the validity of τ C . If τ C is valid, it runs as follows.
    • It randomly chooses a key K S K , and computes the ciphertext CT S by running the ABE .Enc algorithm on K S under an access policy A C that it wants the device C to satisfy.
    • It randomly chooses y Z p and computes Y= g y . Then, it generates a tag τ S by running the MAC .MAC algorithm on a message m S = ( 1 , s i d , Y, S ) under K S .
    • It sends ( s i d , Y, CT S , τ S ) to the device C.
    The device S computes K S , C = H k ( X y ) and outputs the session key s s k = H K S , C ( K C , K S , s i d , C, S ) .
  • When the device C receives an incoming message ( s i d , Y, CT S , σ S ) , it decrypts the ciphertext CT S to obtain the underlying key K S . If the decryption succeeds, it checks the correctness of τ S . If the verification fails, it aborts the session. Otherwise, it computes K C , S = H k ( Y x ) and outputs the session key s s k = H K C , S ( K C , K S , s i d , C, S ) .
Theorem 2.
Assuming that DDH holds in the underlying group, ABE is IND-CCA secure, MAC is CMA secure, H is a secure PRF, and H k is an SRE, the proposed OR-ABEDH protocol is session-key secure with WFS under the strong corruption model.
Proof. 
The proof is divided into two parts: one part proves the security of the OR-ABEDH protocol under the assumption that the partner of the Test-Session is not corrupted, and the other part proves the security of the OR-ABEDH protocol under the assumption the partner of the Test-Session is corrupted (in this case, the Test-Session has a matching session at the time the adversary A completes). Assume that 1 / p is the maximum probability that the input and output messages from two different sessions are the same, q I is the number of all sessions activated by algorithm A , and adversary B is against the IND-CCA security of ABE , adversary C is against the MAC security of MAC , adversary D is against the security of DDH problem, and adversaries F 0 , F 1 are against the security of H k , H , respectively.
  • Case 1. In this case, the Test-Session’s responder is not corrupted, but the initiator of the Test-Session may be.
    Game 0 . This game is the same as a real interaction with the OR-ABEDH protocol. A random bit b is selected, and the real session key is returned in answer to the Test-Session query when b = 0 . Otherwise, a random key from the key space is returned as the session key.
    Game 1 . This game is the same as Game 0 , except that if two different sessions generate exactly the same message and have the same partner, the protocol aborts. Hence, we have
    Adv Game 0 , A SK ( λ ) Adv Game 1 , A SK ( λ ) q I 2 / p .
    Game 2 . This game is the same as Game 1 , except a random value l [ 1 , q I ] is chosen before adversary A starts. The protocol aborts, and adversary A fails and outputs a random bit if the l-th session is not the Test-Session. Denote P * by the initiator of the l-th session, Q * by the responder of the l-th session, CT P * by the input message of the l-th session, and CT Q * by the corresponding output message. Note that a matching Test-Session activated at Q * may not exist. Thus, we have
    Adv Game 1 , A SK ( λ ) = q I · Adv Game 2 , A SK ( λ ) .
    Game 3 . This game is the same as Game 2 , except a random value K Q * is selected. Whenever CT Q * is used as the input message of Q * , the computation of the key is modified so that K Q * is used in place of the decryption result. The message generated by this session is computed as usual. Likewise, K Q * is used to compute the session key by P * . Therefore, we have
    Adv Game 2 , A SK ( λ ) Adv Game 3 , A SK ( λ ) 2 · Adv ABE , B IND - CCA ( λ ) .
    Game 4 . This game is the same as Game 3 , except the values X and Y will be replaced by g a and g b , and the calculation of Y x will be replaced by Z. As a result, we have
    Adv Game 3 , A SK ( λ ) Adv Game 4 , A SK ( λ ) 2 · Adv D DDH ( λ ) .
    Game 5 . This game is the same as Game 3 , except the calculation of the tag is replaced by a randomly chosen τ * , and we have
    Adv Game 4 , A SK ( λ ) Adv Game 5 , A SK ( λ ) 2 · Adv MAC , C MAC ( λ ) .
    Game 6 . This game is the same as Game 5 , except the calculation of the K P * , Q * is replaced by a randomly chosen K * , and we have
    Adv Game 5 , A SK ( λ ) Adv Game 6 , A SK ( λ ) 2 · Adv H k , F 0 SRE ( λ ) .
    Game 7 . This game is the same as Game 6 , except the calculation of the session key is replaced by a randomly chosen s s k * , and we have
    Adv Game 6 , A SK ( λ ) Adv Game 7 , A SK ( λ ) 2 · Adv H , F 1 PRF ( λ ) .
    Combining the above results, we have
    Adv OR - ABEDH , A SK ( λ ) = Adv Game 0 , A SK ( λ ) q I 2 / p + 2 · q I · ( Adv ABE , B IND - CCA ( λ ) + Adv D DDH ( λ ) + Adv MAC , C MAC ( λ ) + Adv H k , F 0 SRE ( λ ) + Adv H , F 1 PRF ( λ ) ) .
  • Case 2. In this case, both the initiator and the responder of the Test-Session are corrupted.
    Game 0 . This game is the same as a real interaction with the OR-ABEDH protocol. When a random bit b is chosen and set as b = 0, the real session key is returned in answer to the Test-Session query. Otherwise, a random key from the key space is selected as the session key.
    Game 1 . This game is the same as Game 0 , except that random values l, l [ 1 , q I ] are selected before adversary A initiates. Let P * and Q * be the participants of the l-th and l -th sessions, respectively. The protocol aborts, and algorithm A fails and outputs a random bit when the l-th session of P * is not the Test-Session or the output of the l -th session of Q * is not used as input to the Test-Session. In addition, the Test-Session’s session key is computed as usual, except a randomly chosen key K replaces K C or K S . The Test-Session’s matching session has its key set to the same value (i.e., it always returns a random test session key without considering b’s value). Hence, we have
    Adv Game 0 , A SK ( λ ) = 2 q I 2 · Adv Game 1 , A SK ( λ ) .
    Game 2 . This game is the same as Game 3 , except the values X and Y will be replaced by g a and g b and the calculation of Y x and X y will be replaced by Z. As a result, we have
    Adv Game 1 , A SK ( λ ) Adv Game 2 , A SK ( λ ) 2 · Adv D DDH ( λ ) .
    Game 3 . This game is the same as Game 5 , except that the calculation of the K P * , Q * is replaced by a randomly chosen K * , and we have
    Adv Game 2 , A SK ( λ ) Adv Game 3 , A SK ( λ ) 2 · Adv H k , F 0 SRE ( λ ) .
    Game 4 . This game is the same as Game 6 , except the calculation of the session key is replaced by a randomly chosen s s k * , and we have
    Adv Game 3 , A SK ( λ ) Adv Game 4 , A SK ( λ ) 2 · Adv H , F 1 PRF ( λ ) .
    Combining the above results, we have
    Adv OR - ABEDH , A SK ( λ ) = Adv Game 0 , A SK ( λ ) 2 ( q I 2 · Adv D DDH ( λ ) + Adv H k , F 0 SRE ( λ ) + Adv H , F 1 PRF ( λ ) ) .
Finally, we have
Adv OR - ABEDH , A SK ( λ ) q I 2 / p + 2 · q I · ( Adv ABE , B IND - CCA ( λ ) + Adv D DDH ( λ ) + Adv MAC , C MAC ( λ ) + Adv H k , F 0 SRE ( λ ) + Adv H , F 1 PRF ( λ ) + 2 ( q I 2 · Adv D DDH ( λ ) + Adv H k , F 0 SRE ( λ ) + Adv H , F 1 PRF ( λ ) ) .
This completes the proof of Theorem 2.  □

5. Discussion

In this section, we analyze the limitations and performance of the proposed private and mutual authentication protocols.

5.1. Protocol Analysis

Below, we analyze the limitations of the proposed private and mutual authentication protocols.
  • Lightweight authentication protocols. An ABE scheme involves a number of exponentiation and pairing calculations which is not suitable for IoT devices with limited resources. It would be desirable to design private and mutual authentication protocols with lightweight computation. There exist several ABE schemes (e.g., [29]) which utilize a third party to reduce the computational overhead. Due to this observation, one possible solution to mitigate of computational cost is to use a third party to help with the calculation.
  • Strong corruption model. The proposed private and mutual authentication protocol is only session-key secure in the weak corruption model. To our knowledge, there is no authentication protocol built from public-key encryption and message authentication code that is secure under the strong corruption model. One solution to this problem is to design private and mutual authentication protocols based on signature. To achieve the goal of privacy protection, attribute-based signature (ABS) [30] might be a promising building block.
  • Perfect forward secrecy. The proposed one-round private and authentication protocol only achieves weak forward secrecy. It has been noted in [31] that PFS cannot be achieved by any one-round key exchange protocols as long as they are authenticated via public keys and do not have secure shared state previously built between participants.

5.2. Performance Analysis and Implementation

We implement the proposed private and mutual authentication protocols ABEDH and OR-ABEDH in Charm [32] (please refer to [32] for the more information about Charm). The Charm of version Charm-0.43, the PBC library (for the underlying cryptographic operations), and Python 3.4 are used in the implementation.
We choose the CP-ABE scheme (the most efficient one among all the CP-ABE schemes proposed in [33]) proposed by Waters [33] in the implementation and apply the Fujisaki–Okamoto transformation [34] to it to obtain the CCA-security. All the experiments are conducted over two elliptic curves SS512 and MNT159 to achieve the 80-bit security level. SS512 is a supersingular elliptic curve with the symmetric Type 1 pairing on it while the pairings on the MNT159 curve are asymmetric Type 3 pairings. The experiments are conducted via the 64-bit Ubuntu VM on a laptop with Intel Core i5-4210U CPU @ 1.70 GHz and 8.00 GB RAM. The computation time for the exponentiation and pairing calculation over the two curves are listed in Table 1.
In our experiments, the access policy is composed of seven attributes in the form as “(** OR **) AND (** OR **) AND (** OR (** AND **))”, where each “**” represents a concrete attribute. In Table 2, we test the running time of the encryption and decryption algorithms in the underlying CP-ABE scheme [33] and the time of a party as a responder (or an initiator) in running the ABEDH and OR-ABEDH protocols. In addition, we test the computation time of the encryption and decryption algorithms in the CP-ABE scheme with partially hidden access structures (we modify the CP-ABE scheme in [33] to make it a CP-ABE scheme with partially hidden access structures using the technique in [35]) and the computation time of a party as a responder (or an initiator) in running the ABEDH and OR-ABEDH protocols, as shown in Table 3.

6. Conclusions

In order to provide privacy for the devices located in the IoT, Wu et al. [5] proposed a private and authentication protocol for IoT. However, their protocol has several limitations in terms of security. Motivated by this, in this paper, we proposed two key exchange protocols with private authentication between the participants: one is composed of two messages and the other is composed of three messages. Both of our protocols are public-key based, and they use attribute-based encryption (ABE) as the building block to preserve privacy of parties. We proved that both of the private and mutual authentication protocols are secure in the standard model. We also implemented the proposed protocols using an open source framework.

Author Contributions

Conceptualization, L.J. and H.C.; methodology, H.C.; software, L.J.; validation, H.C.; formal analysis, L.J. and H.C.; investigation, L.J.; resources, L.J.; data curation, L.J.; writing—original draft preparation, L.J.; writing—review and editing, H.C. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Natural Science Foundation of China with the grant number 62072369.

Data Availability Statement

The data used to support the findings of this study are included within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Najafi, F.; Kaveh, M.; Martín, D.; Mosavi, M.R. Deep PUF: A Highly Reliable DRAM PUF-Based Authentication for IoT Networks Using Deep Convolutional Neural Networks. Sensors 2021, 21, 2009. [Google Scholar] [CrossRef] [PubMed]
  2. Mall, P.; Amin, R.; Das, A.K.; Leung, M.T.; Choo, K.R. PUF-Based Authentication and Key Agreement Protocols for IoT, WSNs, and Smart Grids: A Comprehensive Survey. IEEE Internet Things J. 2022, 9, 8205–8228. [Google Scholar] [CrossRef]
  3. Bonjour Printing Specification; Version 1.2; Apple Inc.: Cupertino, CA, USA, 2013.
  4. Bluetooth Specification; Version 4.2; Apple Inc.: Cupertino, CA, USA, 2014.
  5. Wu, D.J.; Taly, A.; Shankar, A.; Boneh, D. Privacy, Discovery, and Authentication for the Internet of Things. In Computer Security—ESORICS 2016, Proceedings of the 21st European Symposium on Research in Computer Security, Heraklion, Greece, 26–30 September 2016.; Springer: Berlin, Germany, 2016; Volume 9879, pp. 301–319. [Google Scholar]
  6. Aman, M.N.; Chua, K.C.; Sikdar, B. Mutual Authentication in IoT Systems Using Physical Unclonable Functions. IEEE Internet Things J. 2017, 4, 1327–1340. [Google Scholar] [CrossRef]
  7. Krawczyk, H. SIGMA: The ‘SIGn-and-MAc’ Approach to Authenticated Diffie-Hellman and Its Use in the IKE-Protocols. In Advances in Cryptology—CRYPTO 2003, Proceedings of the 23rd Annual International Cryptology Conference, Santa Barbara, CA, USA, 17–21 August 2003; Springer: Berlin, Germany, 2003; Volume 2729, pp. 400–425. [Google Scholar]
  8. Aiello, W.; Bellovin, S.M.; Blaze, M.; Canetti, R.; Ioannidis, J.; Keromytis, A.D.; Reingold, O. Just fast keying: Key agreement in a hostile internet. ACM Trans. Inf. Syst. Secur. 2004, 7, 242–273. [Google Scholar] [CrossRef]
  9. Agrawal, S.; Yadav, A.; Yamada, S. Multi-input Attribute Based Encryption and Predicate Encryption. In Advances in Cryptology—CRYPTO 2022, Proceedings of the 42nd Annual International Cryptology Conference, CRYPTO 2022, Santa Barbara, CA, USA, 15–18 August 2022; Part I; Dodis, Y., Shrimpton, T., Eds.; Springer: Berlin, Germany, 2022; Lecture Notes in Computer Science; Volume 13507, pp. 590–621. [Google Scholar] [CrossRef]
  10. Krawczyk, H. SKEME: A versatile secure key exchange mechanism for Internet. In Proceedings of the 1996 Symposium on Network and Distributed System Security, (S)NDSS’96, San Diego, CA, USA, 22–23 February 1996; IEEE Computer Society: Washington, DC, USA, 1996; pp. 114–127. [Google Scholar]
  11. Harkins, D.; Carrel, D. The Internet Key Exchange (IKE); RFC 4306; The Internet Society: Reston, VR, USA, 1998. [Google Scholar]
  12. Boyd, C.; Cliff, Y.; Nieto, J.M.G.; Paterson, K.G. Efficient One-Round Key Exchange in the Standard Model. In Information Security and Privacy, Proceedings of the 13th Australasian Conference, ACISP 2008, Wollongong, Australia, 7–9 July 2008; Springer: Berlin, Germany, 2008; Volume 5107, pp. 69–83. [Google Scholar]
  13. Ahmed, A.H.; Omar, N.M.; Ibrahim, H.M. Secured Service Discovery Technique in IoT. J. Commun. 2019, 14, 40–46. [Google Scholar] [CrossRef]
  14. Zhu, F.W.; Mutka, M.W.; Ni, L.M. A Private, Secure, and User-Centric Information Exposure Model for Service Discovery Protocols. IEEE Trans. Mob. Comput. 2006, 5, 418–429. [Google Scholar]
  15. Ellison, C.M. Home network security. Intel Technol. J. 2002, 6, 37–48. [Google Scholar]
  16. Pang, J.; Greenstein, B.; Seshan, S.; Wetherall, D. Tryst: The Case for Confidential Service Discovery. In Proceedings of the 6th ACM Workshop on Hot Topics in Networks—HotNets-VI, Atlanta, GA, USA, 14–15 November 2007; ACM SIGCOMM: New York, NY, USA, 2007. [Google Scholar]
  17. Abadi, M. Private Authentication. In Proceedings of the Second International Workshop on Privacy Enhancing Technologies, PET 2002, San Francisco, CA, USA, 14–15 April 2002; Revised Papers. Springer: Berlin, Germany, 2002. Lecture Notes in Computer Science. Volume 2482, pp. 27–40. [Google Scholar]
  18. An, Z.; Pan, J.; Wen, Y.; Zhang, F. Secret handshakes: Full dynamicity, deniability and lattice-based design. Theor. Comput. Sci. 2023, 940, 14–35. [Google Scholar] [CrossRef]
  19. Bosk, D.; Frey, D.; Gestin, M.; Piolle, G. Hidden Issuer Anonymous Credential. Proc. Priv. Enhancing Technol. 2022, 2022, 571–607. [Google Scholar] [CrossRef]
  20. Gupta, R.; Kanungo, P.; Dagdee, N. A Survey of State-of-the-Art Multi-Authority Attribute Based Encryption Schemes in Cloud Environment. KSII Trans. Internet Inf. Syst. 2023, 17, 145–164. [Google Scholar] [CrossRef]
  21. Boneh, D. The Decision Diffie-Hellman Problem. In Proceedings of the Third International Symposium on Algorithmic Number Theory, ANTS-III, Portland, OR, USA, 21–25 June 1998; Springer: Berlin, Germany, 1998. Lecture Notes in Computer Science. Volume 1423, pp. 48–63. [Google Scholar]
  22. Cini, V.; Ramacher, S.; Slamanig, D.; Striecks, C.; Tairi, E. Updatable Signatures and Message Authentication Codes. In Public-Key Cryptography—PKC 2021, Proceedings of the 24th IACR International Conference on Practice and Theory of Public Key Cryptography, Virtual Event, 10–13 May 2021; Part I; Garay, J.A., Ed.; Springer: Berlin, Germany, 2021; Lecture Notes in Computer Science; Volume 12710, pp. 691–723. [Google Scholar] [CrossRef]
  23. Blass, E.; Kerschbaum, F.; Mayberry, T. Iterative Oblivious Pseudo-Random Functions and Applications. In Proceedings of the ASIA CCS ‘22: ACM Asia Conference on Computer and Communications Security, Nagasaki, Japan, 30 May–3 June 2022; Suga, Y., Sakurai, K., Ding, X., Sako, K., Eds.; ACM: New York, NY, USA, 2022; pp. 28–41. [Google Scholar] [CrossRef]
  24. Gavinsky, D.; Pudlák, P. Santha-Vazirani sources, deterministic condensers and very strong extractors. Theory Comput. Syst. 2020, 64, 1140–1154. [Google Scholar] [CrossRef]
  25. Canetti, R.; Krawczyk, H. Analysis of Key-Exchange Protocols and Their Use for Building Secure Channels. In Advances in Cryptology—EUROCRYPT 2001, Proceedings of the International Conference on the Theory and Application of Cryptographic Techniques, Innsbruck, Austria, 6–10 May 2001; Springer: Berlin, Germany, 2001; Volume 2045, pp. 453–474. [Google Scholar]
  26. Canetti, R.; Krawczyk, H. Security Analysis of IKE’s Signature-Based Key-Exchange Protocol. In Advances in Cryptology—CRYPTO 2002, Proceedings of the 22nd Annual International Cryptology Conference, Santa Barbara, CA, USA, 18–22 August 2002; Springer: Berlin, Germany, 2002; Volume 2442, pp. 143–161. [Google Scholar]
  27. Nishide, T.; Yoneyama, K.; Ohta, K. Attribute-Based Encryption with Partially Hidden Encryptor-Specified Access Structures. In Proceedings of the 6th International Conference on Applied Cryptography and Network Security, ACNS 2008, New York, NY, USA, 3–6 June 2008; Springer: Berlin, Germany, 2008. Lecture Notes in Computer Science. Volume 5037, pp. 111–129. [Google Scholar]
  28. Bellare, M.; Canetti, R.; Krawczyk, H. A Modular Approach to the Design and Analysis of Authentication and Key Exchange Protocols (Extended Abstract). In Proceedings of the Thirtieth Annual ACM Symposium on the Theory of Computing, Dallas, TX, USA, 23–26 May 1998; ACM: New York, NY, USA, 1998; pp. 419–428. [Google Scholar]
  29. Cui, H.; Deng, R.H.; Li, Y.; Qin, B. Server-Aided Revocable Attribute-Based Encryption. In Computer Security—ESORICS 2016, Proceedings of the 21st European Symposium on Research in Computer Security, Heraklion, Greece, 26–30 September 2016; Part II; Springer: Berlin, Germany, 2016; Lecture Notes in Computer Science; Volume 9879, pp. 570–587. [Google Scholar]
  30. Luo, F.; Al-Kuwari, S. Attribute-based signatures from lattices: Unbounded attributes and semi-adaptive security. Des. Codes Cryptogr. 2022, 90, 1157–1177. [Google Scholar] [CrossRef]
  31. Krawczyk, H. HMQV: A High-Performance Secure Diffie-Hellman Protocol. In Advances in Cryptology—CRYPTO 2005, Proceedings of the 25th Annual International Cryptology Conference, Santa Barbara, CA, USA, 14–18 August 2005; Springer: Berlin, Germany, 2005; Volume 3621, pp. 546–566. [Google Scholar]
  32. Akinyele, J.A.; Garman, C.; Miers, I.; Pagano, M.W.; Rushanan, M.; Green, M.; Rubin, A.D. Charm: A framework for rapidly prototyping cryptosystems. J. Cryptogr. Eng. 2013, 3, 111–128. [Google Scholar] [CrossRef]
  33. Waters, B. Ciphertext-Policy Attribute-Based Encryption: An Expressive, Efficient, and Provably Secure Realization. In Public Key Cryptography—PKC 2011, Proceedings of the 14th International Conference on Practice and Theory in Public Key Cryptography, Taormina, Italy, 6–9 March 2011; Springer: Berlin, Germany, 2011; Lecture Notes in Computer Science; Volume 6571, pp. 53–70. [Google Scholar]
  34. Fujisaki, E.; Okamoto, T. Secure Integration of Asymmetric and Symmetric Encryption Schemes. J. Cryptol. 2013, 26, 80–101. [Google Scholar] [CrossRef]
  35. Cui, H.; Deng, R.H.; Wu, G.; Lai, J. An Efficient and Expressive Ciphertext-Policy Attribute-Based Encryption Scheme with Partially Hidden Access Structures. In Proceedings of the Provable Security, ProvSec 2016, Nanjing, China, 10–12 November 2016; Springer: Berlin, Germany, 2016. Lecture Notes in Computer Science. Volume 10005, pp. 19–38. [Google Scholar]
Figure 1. Smart house.
Figure 1. Smart house.
Mathematics 11 01929 g001
Figure 2. Games defining security for a pseudo-random function H . Game REAL is on the left while Game RAND is on the right.
Figure 2. Games defining security for a pseudo-random function H . Game REAL is on the left while Game RAND is on the right.
Mathematics 11 01929 g002
Figure 3. Games defining security for a strong randomness extractor H. Game REAL is on the left while Game RAND is on the right.
Figure 3. Games defining security for a strong randomness extractor H. Game REAL is on the left while Game RAND is on the right.
Mathematics 11 01929 g003
Figure 4. The private and mutual authentication protocol proposed by Wu et al. [5], where PE .Enc ( π S , i d S ) is an encryption of a message i d S under a policy π S , and (htk, atk) = KDF ( X , Y, g x y ) .
Figure 4. The private and mutual authentication protocol proposed by Wu et al. [5], where PE .Enc ( π S , i d S ) is an encryption of a message i d S under a policy π S , and (htk, atk) = KDF ( X , Y, g x y ) .
Mathematics 11 01929 g004
Figure 5. The private and mutual authentication protocol ABEDH, where m C = ( 0 , s i d , X, Y, C, S ) , m S = ( 1 , s i d , X, Y, C, S ) , and the elements C, S can be omitted from the protocol. For simplicity, all the related verification and decryption algorithms in the protocol are omitted.
Figure 5. The private and mutual authentication protocol ABEDH, where m C = ( 0 , s i d , X, Y, C, S ) , m S = ( 1 , s i d , X, Y, C, S ) , and the elements C, S can be omitted from the protocol. For simplicity, all the related verification and decryption algorithms in the protocol are omitted.
Mathematics 11 01929 g005
Figure 6. The one-round private and mutual authentication protocol OR-ABEDH, where m C = ( 0 , s i d , X, C ) , m S = ( 1 , s i d , Y, S ) , and C, S are not necessary elements and can be omitted from the protocol. For simplicity, all the related verification and decryption algorithms in the protocol are omitted.
Figure 6. The one-round private and mutual authentication protocol OR-ABEDH, where m C = ( 0 , s i d , X, C ) , m S = ( 1 , s i d , Y, S ) , and C, S are not necessary elements and can be omitted from the protocol. For simplicity, all the related verification and decryption algorithms in the protocol are omitted.
Mathematics 11 01929 g006
Table 1. Computation time (in ms) for the operation on the group and pairing over different elliptic curves on a laptop with the Intel Core i7-4785T CPU @ 1.70 GHz.
Table 1. Computation time (in ms) for the operation on the group and pairing over different elliptic curves on a laptop with the Intel Core i7-4785T CPU @ 1.70 GHz.
ECsExp. GExp. G ^ Exp. G 1 Pairing
SS5120.2310.2290.0321.178
MNT1590.0620.6690.1823.595
Table 2. Computation time tested for the proposed authentication protocols and the underlying CP-ABE scheme.
Table 2. Computation time tested for the proposed authentication protocols and the underlying CP-ABE scheme.
Time
(Seconds)
CP-ABE
Encrypt
CP-ABE
Decrypt
ABEDHOR-ABEDH
SS5120.0780.0210.1020.101
MNT1590.0620.0340.0980.098
Table 3. Computation time tested for the proposed authentication protocols and the underlying CP-ABE scheme with partially hidden access structures.
Table 3. Computation time tested for the proposed authentication protocols and the underlying CP-ABE scheme with partially hidden access structures.
Time
(Seconds)
CP-ABE
Encrypt
CP-ABE
Decrypt
ABEDHOR-ABEDH
SS5120.1180.2460.3780.379
MNT1590.1650.0660.2340.232
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

Jiang, L.; Cui, H. Private and Mutual Authentication Protocols for Internet of Things. Mathematics 2023, 11, 1929. https://doi.org/10.3390/math11081929

AMA Style

Jiang L, Cui H. Private and Mutual Authentication Protocols for Internet of Things. Mathematics. 2023; 11(8):1929. https://doi.org/10.3390/math11081929

Chicago/Turabian Style

Jiang, Lili, and Hui Cui. 2023. "Private and Mutual Authentication Protocols for Internet of Things" Mathematics 11, no. 8: 1929. https://doi.org/10.3390/math11081929

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