Next Article in Journal
Stability Conditions for Linear Semi-Autonomous Delay Differential Equations
Next Article in Special Issue
Blockchain-Based Data Breach Detection: Approaches, Challenges, and Future Directions
Previous Article in Journal
Relative Orderings of Modified Proportional Hazard Rate and Modified Proportional Reversed Hazard Rate Models
Previous Article in Special Issue
Digital Authentication System in Avatar Using DID and SBT
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Privacy-Preserving Authentication Scheme for a Blockchain-Based Energy Trading System

1
School of Electronic and Electrical Engineering, Kyungpook National University, Daegu 41566, Republic of Korea
2
Electronics and Telecommunications Research Institute, Daejeon 34129, Republic of Korea
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(22), 4653; https://doi.org/10.3390/math11224653
Submission received: 31 October 2023 / Revised: 14 November 2023 / Accepted: 14 November 2023 / Published: 15 November 2023
(This article belongs to the Special Issue Advances in Blockchain Technology)

Abstract

:
The adoption of renewable energies such as solar power, heat pumps, and wind power is on the rise, and individuals have started generating energy using their own solar panels. In recent years, many blockchain-based energy trading schemes have been proposed. However, existing schemes cannot fully address privacy issues and dependency on energy brokers during energy trading. In this paper, we propose a privacy-preserving authentication scheme for blockchain-based energy traders. An energy user encrypts a request message through lightweight attribute-based encryption, and only energy sellers who have proper attribute keys can decrypt and conduct further processes with the energy user. We analyze the proposed scheme using both informal and formal methods, such as the BAN logic, AVISPA simulation tool, and RoR model. Furthermore, we compare the computational and communication costs of our scheme with related schemes and show that the proposed scheme has competitive performance.

1. Introduction

With the increasing interest in energy efficiency, smart grid and renewable energies are drawing considerable attention. A smart grid combines information and communication technology as well as power system operation to overcome the disadvantages of the traditional power grid system [1,2]. In traditional power grid systems, the power supply is unidirectional, and it is designed to produce more electricity than required to prepare for higher-than-expected power consumption. Therefore, it is not that efficient and inevitably generates wasted power. Conversely, in smart grid systems, distributed power based on renewable energies is available, and it is bidirectional in power supply. Furthermore, it can monitor energy consumption information to determine energy production and prevent global warming by reducing the use of fossil fuels. Renewable energies include solar power, micro-wind power, heat pumps, and so on [3,4]. These energies can be generated by individuals through solar panels and wind turbines installed in their houses, and they can use the energy by themselves or sell it to others. The realization of energy trading between individuals can reduce the costs associated with time and location-dependent power supply, and energy efficiency can be considerably improved.
The concept of decentralized energy production and peer-to-peer energy trading emerged about years ago [5], yet specific methods and solutions for peer-to-peer energy trading were not discussed much due to technical issues until a few years ago. As the use of smart thermostats, rooftop photovoltaic arrays, and battery energy storage systems grows and individuals’ needs to reduce energy costs increase, discussions are underway to realize energy trading. Representatively, with the recent commercialization of electric vehicles, various solutions are being proposed for secure communication between vehicles and charging stations [6,7]. A charging station performs a similar role to a roadside unit in VANETs or an access point in mobile networks. However, P2P energy trading is more complicated because it involves communication between untrusted entities, and transparency, scalability, and reliability must be guaranteed for secure energy trading. Additionally, during the energy trading process, individual privacy must be guaranteed and protected from insider and impersonation attacks.
To resolve the problems, many blockchain-based peer-to-peer energy trading systems have been proposed during the past few years [8,9,10,11]. Blockchain technology is a suitable solution for realizing energy trading because it can guarantee the transparency and integrity of stored data [12,13,14,15,16,17]. However, public blockchains that use proof-of-work or proof-of-stake consensus algorithms have a scalability problem. The existing research solves the scalability problem of blockchain by designing energy brokers to maintain the consortium blockchain. Moreover, energy brokers perform various roles such as identity verification [18,19,20], matching [21,22], and issuing authentication tokens [23,24] for energy traders. However, existing schemes have the issue that energy traders are highly dependent on energy brokers. The energy broker is an essential entity to facilitate energy trading, but an energy broker can be an individual and can not be considered fully trusted [25]. Therefore, if energy brokers are fully aware of information about energy tradings, such as the location and status of energy users, then privacy issues can arise. To resolve these problems, it is necessary to design a mutual authentication scheme between energy traders, and it is important to consider how an energy trader initiates energy trading with the other party when energy brokers do not match energy users and sellers.
Therefore, we proposed a novel privacy-preserving authentication scheme for a blockchain-based energy trading system. We focused on preserving the privacy of energy users from energy brokers. To achieve this, we applied attribute-based encryption (ABE) to match an energy user and seller. Traditional pairing-based ABE [26] requires lots of computational cost and is difficult to make compatible with blockchain that is based on the Elliptic Curve Cryptosystem (ECC). Therefore, we adopted ECC-based lightweight ABE for the proposed scheme [27]. Compared to traditional ABE, ECC-based ABE does not perform operations that require a high amount of computation, such as bilinear pairing. Individuals have lower computation power than servers and utilizing lightweight ABE enables smooth communication. Furthermore, in the energy trading environment, energy purchasers can encrypt their request messages using ABE and disclose the message only to appropriate sellers. In the proposed scheme, when an energy user sends an energy trading request encrypted with attributes to an energy broker, the energy broker verifies the signature and then transmits the encrypted message to energy sellers. Then, an energy seller who has the proper attributes can decrypt the message and check the requested information. After that, the energy seller sends a response message to the energy user, they authenticate each other, and they can trade energy. The main contributions of this paper are as follows:
  • We proposed a new blockchain-based energy trading scheme. We assumed that the energy broker is not a fully trusted entity. Therefore, energy brokers manage the blockchain and act as a middleman between energy traders but do not perform functions such as issuing an authentication token or matching energy traders.
  • We adopted lightweight ABE-based access control for energy users. An energy request message of an energy user is encrypted and transmitted to the energy broker, and only energy sellers with the appropriate attributes can confirm the transaction details and respond to the energy buyer. The proposed model adopts ECC-based ABE, which has lower computational costs than pairing-based ABE and is more compatible with blockchain.
  • We designed a mutual authentication scheme between energy purchasers and sellers. We analyzed the proposed scheme using informal methods and formal methods, such as the Burrows–Abadi–Needham (BAN) logic [28], the “Automated Validation of Internet Security Protocols and Applications (AVISPA)” tool [29], and the Real-or-Random (RoR) model [30] and proved that the proposed scheme is correct, has resistance to replay attacks, and guarantees semantic security.

Paper Organization

In Section 2 and Section 3, we provide related works and explain the preliminaries, respectively. In Section 4, we demonstrate the proposed system model and provide explanations of entities. In Section 5, we propose a secure authentication protocol for the blockchain-based energy trading system with access control. In Section 6, we informally and formally analyze our scheme, and, in Section 7, we compare the performance of our scheme with other schemes. We conclude this study in Section 8.

2. Related Works

In this section, we introduce recent studies conducted on blockchain-based energy trading systems and key agreement protocols in smart grids.

2.1. Blockchain-Based Energy Trading Systems

In this section, we introduce recent studies conducted on blockchain-based energy trading systems. In 2017, Li et al. [31] proposed blockchain-based energy trading for the industrial Internet of Things (IIoT) environment. They were the first to propose a secure energy trading solution using consortium blockchain, and many subsequent studies have been conducted based on this study. In their scheme, an energy purchaser sends a request to an energy broker. Next, the energy broker verifies the identity of the energy purchaser (EP), generates an authentication token, and sends the token to the EP. Then, the EP can trade the energy with an energy seller using the token. Their method does not guarantee the anonymity of energy purchasers and relies on energy brokers for the authentication process between energy traders. Gai et al. [32] highlighted that Li et al.’s scheme [31] cannot preserve the privacy of EPs. Their scheme mainly focuses on protecting privacy and ensuring the untraceability of EPs by configuring the account generation algorithm and black box operations. However, their scheme still has the problem that energy traders need to authenticate tokens issued by an energy broker to verify the legitimacy of the other party. Li et al. [33] proposed blockchain-enabled energy trading in IIoT environments. In their scheme [33], anonymous authentication was used for the users’ privacy protection. Further, attribute-based encryption was used to guarantee fine-grained access control, and a timed commitment-based mechanism was designed for the verifiable fairness of energy trading. However, their scheme [33] has a traceability problem because the public keys of users are transmitted during energy trading. Guan et al. [34] proposed privacy-preserving energy trading using blockchain and ABE. In their scheme [34], Ciphertext-Policy Attribute-Based Encryption (CP-ABE) was used for access control to protect the privacy of transaction initiators, and a credibility-based consensus algorithm was included. However, their scheme [34] does not describe which attribute value is used for encryption or decryption. It cannot guarantee the practicality of the proposed scheme.
The existing schemes [31,32,33,34] did not give much thought to mutual authentication and access control during energy trading. In this study, we design a secure authentication scheme for the blockchain-based energy trading system with access control.

2.2. Authentications in Smart Grids

In 2018, Li et al. [35] proposed an anonymous authentication scheme between the home area network gateway and the building area network gateway for smart grids. Li et al. [35] formally verified their protocol using ProVerif and asserted that their scheme was secure against various attacks. However, Li et al. did not formally prove the security of their protocol. Wu et al. [36] highlighted that the scheme in [35] could not resist impersonation attacks and was inefficient. Wu et al. proposed an efficient and anonymous scheme using ECC. They asserted that their scheme was more efficient than the other schemes in smart grids. Mahmood et al. [37] proposed an elliptic curve-based authentication scheme for smart grid communication. They claimed that their scheme was efficient and secure against various attacks. However, Abbasinezhad and Nikoogadam [38] proved that the scheme proposed by Mahmood et al. [37] could not prevent known session-specific temporary information attacks and could not guarantee perfect forward secrecy, and they proposed an enhanced scheme in the same environment. Although Abbasinezhad and Nikoogadam asserted that their enhanced scheme was secure, Chen et al. [39] showed that Abbasinezhad and Nikoogadam’s scheme could not defend against replay attacks because an adversary could make an entity inaccessible to the network. Chen et al. [39] proposed a pairing-based authentication scheme with improved security. In 2021, Wu et al. [40] found that Chen et al.’s scheme was also vulnerable to known session-specific temporary information and impersonation attacks. Wu et al. proposed a bilinear pairing-based authentication protocol considering various attacks. However, in their scheme [40], the real identity of each entity was transmitted via a public channel, and anonymity and traceability could not be guaranteed.
The existing schemes [35,36,37,38,39,40] have security issues to adopt in energy trading systems. In this study, we improved these schemes and designed a robust protocol for the energy trading system.

3. Preliminary

In this section, we provide the preliminaries of our scheme.

3.1. Access Tree

We use the access tree defined in [26] as the access structure in our scheme. Let Γ be an access tree; then, the leaf nodes of Γ are attributes, and the non-leaf nodes of Γ are threshold gates. Γ contains the following notations when x is a node of Γ : ( γ , t ( x ) , p ( x ) , a t t ( x ) , i ( x ) , c ( x ) ) . γ is the root node of Γ , t ( x ) is a threshold value, p ( x ) is a parent node, a t t ( x ) is an attribute, i ( x ) is an index, and c ( x ) are child nodes of x. For example, let x be a non-leaf node. Then, if t ( x ) = 1 , then x is an OR gate, and, if t ( x ) = c ( x ) , then x is an AND gate. A user must satisfy the access tree to decrypt the ciphertext encrypted with Γ , and, when the user satisfies Γ , it means that the user has attribute keys that can pass the threshold gate of γ .

3.2. Blockchain

Blockchain can be classified into three types: public, private, and consortium blockchain [41]. Public blockchain includes Ethereum and Bitcoin, which need the consensus of all the network participants to upload transactions to the blockchain. It is completely decentralized, yet it can be difficult to ensure real-time energy tradings. A private blockchain is controlled by a single authority. Compared to a public blockchain, it has better network scalability and efficiency. However, it is centralized and cannot provide transparency because network entities do not participate in the consensus. Consortium blockchains are managed by a number of entities. Compared to the private blockchain, it is decentralized, and, compared to the public blockchain, it can provide network scalability and has better efficiency. Energy trading occurs in a decentralized manner, and a centralized network structure is not suitable. Furthermore, many users will perform energy tradings, and network capacity must be guaranteed. Therefore, we utilize consortium blockchain for secure energy trading in our scheme. In our scheme, the blockchain is managed by energy brokers and records energy trading results.

3.3. Adversary Model

We adopted the Dolev–Yao (DY) adversary model [42] which is widely accepted [43,44,45] for analyzing the security of an authentication protocol. Under the DY model, an adversary A has the following capabilities.
  • A can obtain the messages transmitted through public channels. A can attempt to eavesdrop, modify, or forge the messages.
  • A can obtain the smart card of a network user and can extract the stored value via power analysis attacks [46,47].
  • A can guess the identity and password to log into the obtained smart card. We assume that A can try to guess the identity and password simultaneously.
  • A can attempt diverse attacks such as impersonation, session key disclosure, replay, and Man-in-the-Middle (MITM) attacks.
We also apply the Canetti and Krawczyk (CK) adversary model [48] to analyze the proposed protocol. The CK model considers additional attacks such as ephemeral session random numbers or long-term keys leakage attacks.

4. System Model

We describe the proposed system model. The model comprises four entities: the trusted authority (TA), energy broker (EB), energy user (EU), and energy seller (ES). Figure 1 shows the system model and a detailed description of each entity is provided as follows:
  • TA: TA initializes the system, registers EBs and EUs, and issues attribute keys for ESs.
  • EB: An EB acts as an intermediary between energy buyers and sellers and may be an individual or an institution [25]. An EB is not a fully trusted entity. After an EB receives an encrypted message from an EU, the EB verifies the signature of the message and then broadcasts the message to nearby ESs. When an ES receives a confirmation message, the EB verifies the message and uploads the transaction record to the blockchain.
  • EU: EUs register with the TA to participate in the network. An EU generates an energy request message, which includes wallet address, energy type, demanding amount, price, location, and so on. After that, the encrypted message and the signature for the encrypted message are sent to the EB. The EB can only verify the signature without knowing the detailed information of the request message. Then, the EU mutually authenticates with an ES who has proper attribute keys and conducts energy trading with the ES.
  • ES: ESs are issued attribute keys when registered with the TA. An ES receives an encrypted energy request message from the nearby EB and can decrypt the message if the ES has the proper attribute keys. After that, the ES conducts mutual authentication with the EU and transmits energy and receives payment. Then, the ES sends a confirmation message, including the EU and ES’s signatures, to the EB.

5. Proposed Scheme

The proposed scheme comprises six phases: setup, registration, login, requesting, responding, and confirmation. In the setup phase, the TA generates and publishes system parameters. In the registration phase, the TA registers the EBs, EUs and ESs, generates public keys, creates wallet addresses, and issues smart cards for the EUs and ESs. In the login phase, an EU logs into the network using the smart card issued in the registration phase. In the requesting phase, an EU generates an energy request message, encrypts it using attributes, and sends the message to a nearby EB. Next, the EB verifies the message and broadcasts it to nearby ESs. Then, an ES who has corresponding attribute keys can decrypt the message and can send a response message to the EU. Then, the EU generates a smart contract for energy trading, the ES verifies the contract, and the trading is initiated. A detailed explanation of each step is below, and Table 1 shows the notations of our scheme.

5.1. Setup

T A inputs security parameter λ ; then, an elliptic curve ( q , a , b , G , p ) is generated. After that, T A selects cryptographic hash function h ( . ) , chooses s T A Z q * , selects attribute universe A = { A 1 , . . . , A n } , and generates corresponding secret keys s 1 , s 2 , . . . , s n Z q * . In addition, T A generates P G and computes P T A = s T A . P and P m = s m . P for all m { 1 , 2 , . . . , n } . The network public parameters are { G , P , P T A , P m , q , h ( . ) } , and the secret parameters are { s T A , s m } .

5.2. Registration

In the registration phase, T A registers E B i , E U j , and E S k . The registration phase is conducted through a secure channel.
  • EB registration: E B i chooses a unique identity I D i and sends ( I D i ) to T A . After T A receives the message, T A checks whether I D i is registered, and, if not, T A generates a random number s i , computes P i = s i . P , publishes ( I D i , P i ) , and sends s i to E B i . Then, E B i keeps s i secure and also writes permission for the blockchain.
  • EU registration: For E U j registration, E U j chooses I D j and P W j and sends I D j to T A . Then, T A checks whether I D j is registered, and, if not, T A generates a fuzzy verifier 2 5 l j 2 10 and random numbers { s j , x } x = 1 K and stores ( { s j , x } x = 1 K , l j ) in smart card S C j . After that, T A computes P j , x = s j , x . P for all x, which are wallet addresses of E U j , and sends S C j to T A . After E U j receives S C j , E U j generates r j Z q * and computes H P W j = h ( I D j | | P W j | | r j ) , X j = r j h ( I D j | | P W j ) , Y j = { s j , x } x = 1 K H P W j , and A u t h j = h ( H P W j | | { s j , x } x = 1 K ) ( m o d l j ) . Then, E U j stores ( X j , Y j , A u t h j ) in S C j and deletes { s j , x } x = 1 K from S C j . E U j can guarantee anonymity for E B i by using multiple wallet addresses.
  • ES key generation: E S k chooses I D k , P W k , and an access tree Γ k and sends ( I D k , Γ k ) to T A . Then, for root node γ k of Γ k , T A generates a unique polynomial q γ k ( x ) with order t ( γ k ) 1 . T A sets q γ k ( 0 ) = s γ k and chooses other points of q γ k ( x ) randomly. After that, T A defines other polynomials for other non-leaf nodes z with q z ( 0 ) = q p ( z ) ( i ( z ) ) . Next, for leaf nodes l of Γ k , T A computes D l = q l ( 0 ) / s a t t ( l ) . Then, the attribute keys for E S k are D k = ( D l = q l ( 0 ) / s a t t ( l ) , and l are leaf nodes of Γ k ). This process is only executed the first time when generating attribute keys for Γ k . After that, T A randomly generates s k Z q * and 2 5 l k 2 10 and computes P k = s k . P , which is a wallet address of E S k . Furthermore, T A stores D k and l k in S C k and sends S C k to E S k . E S k generates r k Z q * and computes H P W k = h ( I D k | | P W k | | r k ) , A k = ( r k | | s k ) h ( I D k | | P W k ) , B k = D k H P W j , and A u t h k = h ( H P W k | | D k | | s k ) ( m o d l k ) . E S k deletes D k and stores ( A k , B k , A u t h k ) in S C k . After the ES key generation phase, P γ k = s γ k . P is published, and Γ k maps to P k , which is a wallet address of E S k .

5.3. Login

In the login phase, E U j inputs I D j and P W j to S C j . Then, S C j computes r j = X j h ( I D j | | P W j ) , H P W j = h ( I D j | | P W j | | r j ) , and { s j , x } x = 1 K = Y j H P W j and checks A u t h j = ? h ( H P W j | | { s j , x } x = 1 K ) ( m o d l j ) . If it is equal, E U j is logged in. E S k can also be logged in the network in a similar way.

5.4. Requesting

E U j chooses s j from { s j , x } x = 1 K , computes P j = s j . P , and generates a current timestamp T 1 and request message R e q j = ( P j , d e m a n d j , p r i c e j , t y p e j , l o c a j ) . These mean wallet address, demanding amount, price, charging type, and current location, respectively. Then, E U j generates a j Z q * , chooses attribute sets Ω j , and computes A j = a j . P and A i j = a j . P i . After that, E U j encrypts R e q j with Ω j using the ECC-based attribute-based encryption [27].
  • Step 1: E U j randomly chooses u j Z q * and computes u j . P γ k = ( U x , U y ) . If u j . P γ k = O , E U j chooses another u j and repeats the process. Then, U x is used as a symmetric key, and U y is used to generate message authentication code (MAC).
  • Step 2: E U j computes C R e q j = { R e q j } U x and M A C R e q j = H M A C ( R e q j , U y ) . Furthermore, E U j computes C ω = u . P ω for each ω Ω j .
  • Step 3: The encrypted message is C j = ( Ω j , C R e q j , M A C R e q j , C ω ) . E U j computes M 1 = ( C j , P j ) h ( A i j ) , generates a signature S i g j = [ A j , C j , T 1 ] s j , and transmits ( A j , M 1 , S i g j , T 1 ) to E B i .
After receiving the message, E B i checks the validity of T 1 , computes A i j = s i . A j and ( C j , P j ) = h ( A i j ) M 1 , and checks that S i g j is valid. If it is, E B i generates a unique request number r n j , and a random number r i . Then, E B i computes R i = r i . P , R i j = r i . P j , M i = r n j h ( A i j | | R i j ) , and H i = h ( r n j | | R i j | | A i j | | T 2 ) ; transmits ( R i , M i , H i , T 2 ) to E U j ; and broadcasts ( C j , r n j ) to energy sellers. E U j receives the message; checks the validity of T 2 , computes R i j = s j . R j and r n j = M i ( h ( A i j | | R i j ) ) ; and checks that H i = ? h ( r n j | | R i j | | A i j ) . If it is equal, E U j keeps r n j securely.

5.5. Responding

If E S k has the proper attribute keys, E S k can decrypt C j according to the following procedure.
  • Step 1: For each leaf node l of Γ k and ω = a t t ( l ) , E S k computes
    D ( C j , D k , l ) = D l . C ω = q l ( 0 ) . s a t t ( l ) 1 . u . P a t t ( l ) = q l ( 0 ) . s a t t ( l ) 1 . u . s a t t ( l ) . P = q l ( 0 ) . u . P
  • Step 2: For each non-leaf node z, let c ( z ) be a set of child nodes of z, c ( z ) be an arbitrary subset of c ( z ) with t ( z ) nodes, and c ( z ) be a set of indexes o c ( z ) . Then, E S k computes
    D ( C j , D k , z ) = o c ( z ) Δ i ( o ) , c ( z ) ( 0 ) . D ( C j , D k , v ) = o c ( z ) Δ i ( o ) , c ( z ) ( 0 ) . q o ( 0 ) . k . G = o c ( z ) Δ i ( o ) , c ( z ) ( 0 ) . q z ( i ( o ) ) . k . G = q z ( 0 ) . k . G
E S k recursively repeats these processes and can finally obtain D ( C j , D k , γ k ) = q γ k ( 0 ) . u j . P = ( U x , U y ) . Then, E S k can obtain R e q j = { C R e q j } U x and can check the integrity of the message using M A C R e q j . After that, E S k generates a k Z q * and a timestamp T 1 ; computes a k . P = A k , a k . P j = A k j , M 2 = h ( A k j | | R e q j ) , and M 3 = a k + M 2 . s k ; and transmits ( A k , M 3 , T 1 ) . E U j receives the message and checks the validity of T 1 ; computes A k j = A k . s j , M 2 = h ( A k j | | R e q j ) , and P k = M 2 1 ( M 3 . P A k ) ; checks M 3 . P = ? A k + M 2 . P k ; and retrieves P k from the blockchain. After that, E U j generates timestamp T 2 and k j Z q * ; computes K j = k j . P , K j k = k j . P k , D j k = s j . P k , M 4 = h ( K j k | | R e q j | | D j k ) , M 5 = k j + M 4 . s j , H 1 = h ( r n j | | s i . P j ) , M 6 = k j + H 1 . s j , and S K = h ( K j k | | D j k ) ; and sends ( K j , M 5 , T 2 ) to E S k . E S k receives the message; checks the validity of T 2 ; computes K j k = a k . K j , D j k = s k . P j , and M 4 = h ( K j k | | R e q j | | D j k ) ; checks M 5 . P = ? K j + M 4 . P j ; and computes S K = h ( K j k | | D j k ) . Then, S K can be used for further communication, and E U j and E S k trade energy. When the energy trading finishes, E U j transmits M 6 to E S k encrypting it using S K . The mutual authentication in the responding phase is summarized in Figure 2.

5.6. Confirmation

For the trading confirmation, E S k generates T 5 , x k Z q * , and a verification message V e r k ; computes X k = x k . P , E k = X k + K j , M 7 = M 6 + x k + H 2 . s k , H 2 = h ( s k . P i | | r n j | | T 5 ) , and M 8 = M 6 + x k + H 2 . s k ; and transmits ( E k , M 7 , M 8 , r n j , T 5 ) to E B i . V e r k includes P k and the trading results. Then, E B i retrieves P j using r n j and computes H 1 = h ( r n j | | s i . P j ) , H 2 = h ( s i . P k | | r n j | | T 5 ) , and M 7 . P = ? E k + H 2 . P k + H 1 . P j . If they are equal, E B i considers that the trading is finished successfully because the signatures of both E U j and E S k are verified, and V e r k is uploaded to the blockchain. Then, energy users can check the transaction records of E s k in the later energy trading process.

6. Security Analysis

We provide an informal analysis of the proposed scheme under the DY and CY model and a formal analysis using the BAN logic, RoR model, and the AVISPA simulation tool.

6.1. Informal Analysis

In this subsection, we show that the proposed scheme has resistance to various attacks. We assume that an adversary A tries security attacks based on the assumptions we described in Section 3.3.

6.1.1. Smart Card Stolen Attack

A can steal S C j and can extract the stored values through a side-channel attack. Then, A can obtain ( X j , Y j , A u t h j ) . However, these values are masked using I D j and P W j . Therefore, A cannot know any information about E U j and cannot generate any messages using these values. Therefore, the proposed scheme is secure even if S C j is stolen.

6.1.2. Offline Guessing Attack

A can steal a smart card of E U j and can try to find I D j and P W j . Let I D j A and P W j A be guessed values by A that are input to S C j . Then, S C j computes r j A = X j h ( I D j A | | P W j A ) , H P W A = h ( I D j A | | P W j A | | r j A ) , and { s j , k A } k = 1 K = Y j H P W j A . After that, S C j checks A u t h j = ? h ( H P W j A | | { s j , k A } k = 1 K ) ( m o d l ) , and, if it is equal, S C j generates a request message and sends it to E B i . In this case, it can be equal even if I D j A and P W j A are not equal to I D j and P W j because A u t h j is masked with a fuzzy verifier l j . When the bit lengths of I D j and P W j are set to 128 bits, the total guessed bit length is 256 bits. Therefore, even if A successfully logs into S C j , the probability that I D j A and P W j A are correct is 2 10 2 256 , which is negligible.

6.1.3. Impersonation Attack

A fails to guess I D j and P W j but still can try to impersonate E U j or E S k and send a request message. However, A cannot generate a legitimate signature S i g j in the requesting phase or M 3 in the responding phase because A cannot obtain the secret key of E U j or E S k without knowing the identity and password of network participants. If the signature is not correct, the message would be considered illegitimate by the other party, and A cannot perform further communication.

6.1.4. Mutual Authentication

The mutual authentication is performed in the responding phase between E S k and E U j . In the first message, E S k sends ( A k , M 3 , T 1 ) to E U j . Then, E U j computes A k j using a secret key, computes P k = M 2 1 ( M 3 . P A k ) , and checks M 3 . P = ? A k + M 2 . P k . Then, E U j can authenticate E S k . After that, E U j sends ( C j , M 5 , M 6 , T 2 ) to E S k . Similarly, E S k checks M 5 . P = ? C j + M 4 . P j and can authenticate E U j .

6.1.5. Anonymity and Untraceability

In the proposed scheme, transmitted messages through a public channel do not include a public key or the identity of E U j . Furthermore, A has no way to track E U j through values obtained from transmitted messages without knowing a secret value such as a secret key or an identity. Therefore, the proposed scheme can provide anonymity and untraceability of E U j .

6.1.6. Denial of Services (DoS) Attack

A can attempt to paralyze the network by transmitting messages indiscriminately. A can generate a request message, response message, or confirmation message. In our scheme, every message includes a timestamp and message digest value using the timestamp, and, therefore, A cannot reuse messages to paralyze the network. Furthermore, A cannot generate a legitimate message arbitrarily because the messages are masked with the secret key of the message sender. Therefore, the proposed scheme has resistance to DoS attacks.

6.1.7. Perfect Forward Secrecy

When the network is compromised or A succeeds in obtaining the long-term keys of the network, A can try to calculate the session keys of previous sessions. In the attack scenario, A can obtain s j and s k , which are the secret keys of E U j and E S k , respectively. In our scheme, the session key is S K = h ( C j k | | D j k ) . However, A can not calculate C j k without knowing c j and a k , and these values are temporal keys used only once in each session. Therefore, the proposed scheme can guarantee perfect forward secrecy.

6.1.8. Ephemeral Session Random Number Leakage Attack

In this attack scenario, we assume that A has obtained the session random numbers c j and a k and try to calculate S K = h ( C j k | | D j K ) . A can obtain C j k = c j . A k . However, A cannot know s j or s k , which are the long-term secret keys of E U j and E S k , respectively. Therefore, A cannot succeed in calculating S K , and the proposed scheme has resistance to ephemeral session random number leakage attacks.

6.1.9. Privileged Insider Attack

If A is a privileged insider in the network, A can obtain the message of E U j from the registration phase and try logging into other networks impersonating E U j . However, in the proposed scheme, E U j only transmits I D j and does not send a password-related value. This means that A fails to log into other networks disguising themselves as E U j . Therefore, the proposed scheme is secure against the privileged insider attack.

6.1.10. Access Control

The proposed scheme adopted lightweight ECC-based ABE to provide access control for E U j . Each E U j encrypts its request message using attribute keys, and only E S k , who has the proper attribute sets, can decrypt the message and send a response message to E U j . Therefore, E U j can preserve its privacy from E B i and can present its message only to a valid E S k .

6.2. Formal Proof Using BAN-Logic Analysis

We conduct BAN-logic analysis [28], which is a widely accepted verification method [49,50,51] of an authentication protocol. Then, we set goals and assumptions, describe idealized forms, and perform implementation of the BAN logic analysis. First, we demonstrate the basic rules of the BAN logic. If the above condition holds, the below condition is true. Table 2 presents the notations used in our scheme.
  • Message meaning rule (MMR):
    η 1 | η 1 K η 2 , η 1 { κ 1 } K η 1 | η 2 | K
  • Nonce verification rule (NVR):
    η 1 | # ( κ 1 ) , η 1 | η 2 | κ 1 η 1 | η 2 | κ 1
  • Jurisdiction rule (JR):
    η 1 | η 2 | κ 1 , η 1 | η 2 | κ 1 η 1 | κ 1
  • Belief rule (BR):
    η 1 | ( κ 1 , κ 2 ) η 1 | κ 1
  • Freshness rule (FR):
    η 1 | # ( κ 1 ) η 1 | # ( κ 1 , κ 2 )

6.2.1. Goals

The following goals have to be achieved to prove the correctness of the proposed scheme.
Goal 1: 
E U j | E S k S K E S k
Goal 2: 
E U j | E S k | E U j S K E S k
Goal 3: 
E S k | E U j S K E S k
Goal 4: 
E S k | E U j | E U j S K E S k

6.2.2. Assumptions

The assumptions of our scheme are as follows.
A 1 :
E U j | # ( T 3 )
A 2 :
E S k | # ( T 4 )
A 3 :
E U j | E S k ( E U j A k j E S k )
A 4 :
E S k | E U j ( E U j C j k E S k )
A 5 :
E U j | ( E U j A k j E S k )
A 6 :
E S k | ( E U j C j k E S k )

6.2.3. Idealized Forms

The idealized forms of our scheme are as follows.
M s g 1 :
E S k E U j : { P k , M 2 , T 3 } A k j
M s g 2 :
E U j E S k : { C j , M 4 , T 4 } C j k

6.2.4. BAN Logic Implementation

We implement the BAN logic of the proposed scheme as follows. We show that the proposed scheme is correct through Steps 11 and 12.
Step 1: 
E U j receives M s g 1 .
S 1 : E U j { P k , M 2 , T 3 } A k j
Step 2: 
We can obtain S 2 by applying the MMR using S 1 and A 5 .
S 2 : E U j | E S k | ( P k , M 2 , T 3 )
Step 3: 
We can obtain S 3 by applying the FR using A 1 and S 2 .
S 3 : E U j | # ( P k , M 2 , T 3 )
Step 4: 
We can obtain S 4 by applying the NVR using S 2 and S 3 .
S 4 : E U j | E S k | ( P k , M 2 , T 3 )
Step 5: 
We can obtain S 5 by applying the BR to S 4 .
S 5 : E U j | E S k | P k
Step 6: 
E S k receives M s g 2 .
S 6 : E S k { C j , M 4 , T 4 } C j k
Step 7: 
We can obtain S 7 by applying the MMR using S 6 and A 6 .
S 7 : E S k | E U j | ( C j , M 4 , T 4 )
Step 8: 
We can obtain S 8 by applying the FR to A 2 .
S 8 : E S k | # ( C j , M 4 , T 4 )
Step 9: 
We can obtain S 9 by applying the NVR using S 7 and S 8 .
S 9 : E S k | E U j | ( C j , M 4 , T 4 )
Step 10: 
We can obtain S 10 by applying the BR to S 9 .
S 10 : E S k | E U j | C j
Step 11: 
E P j can compute S K = h ( C j k | | s j . P k ) , and E S k can compute S K = h ( C j k | | s k . P j ) using the obtained values. Therefore, we obtain S 11 and S 12 .
S 11 : E U j | E S k | ( E U j S K E S k ) ( Goal 2 )
and
S 12 : E S k | E U j | ( E U j S K E S k ) ( Goal 4 )
Step 12: 
We obtain S 13 and S 14 by applying the JR using S 11 and A 3 , and S 12 and A 4 , respectively. Then, the BAN logic’s implementation is complete.
S 13 : E U j | ( E U j S K E S k ) ( Goal 1 )
and,
S 14 : E S k | ( E U j S K E S k ) ( Goal 3 )

6.3. RoR Model

We perform the Real-or-Random model [30] to prove the session key security of the proposed scheme. Table 3 summarizes the queries and their descriptions of the RoR model.
Let A d v ( A ) be an advantage function of A in which A succeeds in distinguishing the session key and a random number. Then, we can show that the proposed scheme can guarantee the semantic security of the session key by proving the following equation:
A d v ( A ) q h 2 | H | + 2 q s 2 246
where q h , q s , | H | are, respectively, the number of executed H a s h queries, the number of executed S e n d queries, and the range space of a hash output. A plays the game G 0 , G 1 , G 2 , and G 3 . The number of queries that A can execute increases as the game progresses. At the end of each game, A performs the T e s t query, and we calculate the advantage function that A passes the T e s t query.
  • G 0 : In G 0 , we assume that A cannot perform any query. Let P [ A G 0 S u c c ] be a probability that A succeeds in guessing correctly when G a m e 0 ends. Then, the advantage function can be defined as the following:
    A d v ( A ) = | 2 P [ A G 0 S u c c ] 1 |
  • G 1 : A performs the E x e c u t e query in G 1 . In the proposed scheme, A can obtain ( A k , M 3 , T 3 ) and ( K j , M 5 , T 4 ) from a public channel. Then, A cannot guess any information about S K because the obtained values from the public channel are not used to calculate S K . Therefore, the probability that A guesses correctly when G 1 is not changed is as follows:
    P [ A G 1 S u c c ] = P [ A G 0 S u c c ]
  • G 2 : A can execute the S e n d and H a s h queries to guess S K . A can arbitrarily generate a message or re-use it. However, each message contains a timestamp and the message digest, and A cannot generate a legitimate message. In order for A to win the game, A has the only way to find a hash collision to compromise S K , and the following equation is induced:
    | P [ A G 2 S u c c ] P [ A G 1 S u c c ] | q h 2 2 | H |
  • G 3 : A can execute the C o r r u p t query and extracts the stored values of S C j . In this scenario, A must guess the correct I D j and P W j to generate a legitimate message disguising itself as E U j . Even if A succeeds in logging into S C j , the probability that the guessed identity and password are correct is 2 10 2 256 = 1 2 246 . If the generated message is not correct, E B i revokes S C j from the network. Next, A must succeed to guess I D j and P W j within q h attempts. Then, the following equation can be induced:
    | P [ A G 3 S u c c ] P [ A G 2 S u c c ] | q s 2 246
Based on the above equations, we can obtain the following equation using the triangle inequality:
1 2 A d v ( A ) = | P [ A G 0 S u c c ] ] 1 2 | = | P [ A G 0 S u c c ] P [ A G 3 S u c c ] | P [ A G 0 S u c c ] P [ A G 1 S u c c ] | + | P [ A G 1 S u c c ] P [ A G 2 S u c c ] | + | P [ A G 2 S u c c ] P [ A G 3 S u c c ] | q h 2 2 | H | + q s 2 246
Finally, the proof is completed, and the advantage of A to win the game is negligible.

6.4. AVISPA Simulation

We simulated the proposed scheme using the AVISPA simulation tool [29]. The AVISPA simulation tool can verify resistance to replay attacks or Man-in-the-Middle (MITM) attacks of an authentication protocol by checking the freshness and secrecy of transmitted messages during the authentication process. We wrote the proposed method in the HLPSL language [52] and simulated it with the “On-the-Fly Model Checker (OFMC) [53]” and “Constraint Logic-based Attack Searcher (CL-AtSe)” [54] models. The execution results are shown in Figure 3, and the proposed scheme is safe under the two models. Therefore, we formally verify that our scheme has resistance to replay and MITM attacks.

7. Performance Analysis

We compare the proposed authentication protocol with the existing protocols suggested in smart grid environments. We show that the proposed protocol has comparable performances compared to the existing schemes in this section.

7.1. Computational Cost

We compared the computational costs generated during the mutual authentication of the proposed scheme with existing schemes [35,36,37,38,39,40]. For the comparison, we referred [55], which measured various operations used in authentication protocols. The notation of each operation and the time cost are as follows:
  • T b p : Execution time for a bilinear pairing operation ≅ 5.811;
  • T m u l : Execution time for a point scalar multiplication operation ≅ 2.226 ms;
  • T a d d : Execution time for a point addition operation ≅ 0.0288 ms;
  • T m t p : Execution time for a map-to-point hash function ≅ 12.418 ms;
  • T e x p : Execution time for a modular exponentiation ≅ 3.85 ms.
The computational cost comparison of the proposed scheme and the existing schemes are summarized in Table 4. The proposed scheme has higher costs than [35,37,38] and lower costs than [36,39,40]. Comprehensively, the proposed protocol is competitive compared to existing protocols. However, as demonstrated in Section 7.3, the proposed scheme can provide superior security to existing schemes.

7.2. Communication Cost

We compared the communication cost of the proposed scheme and the existing schemes [35,36,37,38,39,40]. We assume that M 1 and M 2 are transmitted messages, a hash output is 256 bits, a point on the elliptic curve is 320 bits, the identity is 128 bits, and the timestamp is 32 bits. In the scheme of [35], M 1 is ( C 1 , C 2 , C 3 , t i ) , and M 2 is ( C 4 , C 5 , C 6 , t j ) . These messages include three ECC points, three hash outputs, and two timestamps. The total communication cost is 960 + 768 + 64 = 1792 bits. In the scheme of [36], M 1 is ( A , C , t i ) , and M 2 is ( B , D , t j ) . These messages include two ECC points, two hash outputs, an identity, and two timestamps. The total communication cost is 640 + 512 + 128 + 64 = 1344 bits. In the scheme of [37], M 1 is ( X i , Y i , K i p , I D i , t i ) and M 2 is ( X j , Y j , K j p , I D j , t j ) . These messages include six ECC points, two identities, and two timestamps. The total communication cost is 1920 + 256 + 64 = 2240 bits. In the scheme of [38], M 1 is ( i d A , R A , W T A ) , M 2 is ( i d B , R B , V B , W T B ) , and M 3 is ( i d A , V A ) . These messages include two ECC points, three hash outputs, three identities, and two timestamps. The total communication cost is 960 + 768 + 384 + 64 = 2176 bits. In the scheme of [39], M 1 is ( i d i , R i n , R i 1 , R s i , T 1 ) , and M 2 is ( i d j , R j n , R j 1 , h j ) . These messages include five ECC points, a hash output, two identities, and a timestamp. The total communication cost is 1680 + 256 + 256 + 32 = 2224 bits. In the proposed scheme, the first message is ( A k , M 3 , T 1 ) , and the second message is ( C j , M 5 , M 6 , T 2 ) . These messages include two ECC points, three hash outputs, and two timestamps. Therefore, the total communication cost is 640 + 768 + 64 = 1472 bits. Table 5 shows a comparison of the communication costs. The proposed scheme has the lowest communication cost as compared to other schemes.

7.3. Security Features

We compare the security features of the proposed scheme with the existing schemes introduced in Section 2.2. We consider the following security features: A1—“resistance to offline guessing attack”, A2—“resistance to impersonation attack”, A3—“providing mutual authentication”, A4—“preservation of user anonymity”, A5—“preservation of user untraceability”, A6—“resistance to DoS attack”, A7—“preservation of perfect forward secrecy”, A8—“resistance to ephemeral session random number leakage attack”, and A9—“consideration of access control”. The proposed scheme can provide these security features, as demonstrated in Section 6.1. However, the existing schemes [35,36,37,38,39,40] do not consider or cannot satisfy some of the features. Table 6 shows that the proposed scheme is more robust than existing schemes.

8. Conclusions

In this paper, we designed a privacy-preserving mutual authentication scheme between energy traders in a blockchain-based energy trading system. We adopted lightweight ABE to provide access control of energy request messages for energy users and proposed a key agreement scheme between energy traders without the participation of an energy broker. The proposed scheme reduces the dependency on energy brokers, realizes a decentralized energy trading model, and preserves the privacy of energy users. We analyzed the proposed scheme using informal and formal methods and demonstrated that the proposed scheme has resistance to various security attacks, guarantees the correctness of authentication, and provides session key security. We compared the computational and communication costs and security features of the proposed scheme with related schemes, and we showed that our scheme has competitive performance and superior security to related schemes. Overall, the proposed scheme is better than existing schemes and can be suitable for real energy trading environments. In future work, we plan to implement the proposed scheme through experiments to verify the practicality of our scheme.

Author Contributions

Conceptualization, S.S.; software, D.K.; investigation, S.S. and K.P.; methodology, S.S. and D.K.; validation, M.K.; formal analysis, S.S. and J.O.; writing—original draft preparation, S.S.; writing—review and editing, J.O., K.P. and Y.P.; supervision, Y.P.; funding acquisition, Y.P. All authors have read and agreed to the published version of the manuscript.

Funding

This research was supported by the National Research Foundation of Korea (NRF) funded by the Ministry of Education under grant 2020R1I1A3058605.

Data Availability Statement

Data are contained within the article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Fang, X.; Misra, S.; Xue, G.; Yang, D. Smart grid—The new and improved power grid: A survey. IEEE Commun. Surv. Tutor. 2011, 14, 944–980. [Google Scholar] [CrossRef]
  2. Gungor, V.C.; Sahin, D.; Kocak, T.; Ergut, S.; Buccella, C.; Cecati, C.; Hancke, G.P. Smart grid technologies: Communication technologies and standards. IEEE Trans. Ind. Inform. 2011, 7, 529–539. [Google Scholar] [CrossRef]
  3. Parag, Y.; Sovacool, B.K. Electricity market design for the prosumer era. Nat. Energy 2016, 1, 16032. [Google Scholar] [CrossRef]
  4. Fischer, D.; Madani, H. On heat pumps in smart grids: A review. Renew. Sustain. Energy Rev. 2017, 70, 342–357. [Google Scholar] [CrossRef]
  5. Hiremath, R.B.; Shikha, S.; Ravindranath, N.H. Decentralized energy planning; modeling and application—A review. Renew. Sustain. Energy Rev. 2007, 11, 729–752. [Google Scholar] [CrossRef]
  6. Abdallah, A.; Shen, X. Lightweight authentication and privacy-preserving scheme for V2G connections. IEEE Trans. Veh. Technol. 2017, 3, 2615–2629. [Google Scholar] [CrossRef]
  7. Saxena, N.; Choi, B.J. Authentication scheme for flexible charging and discharging of mobile vehicles in the V2G networks. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1438–1452. [Google Scholar] [CrossRef]
  8. Wang, N.; Zhou, X.; Lu, X.; Guan, Z.; Wu, L.; Du, X.; Guizani, M. When energy trading meets blockchain in electrical power system: The state of the art. Appl. Sci. 2019, 9, 1561. [Google Scholar] [CrossRef]
  9. Al-Saif, N.; Ahmad, R.W.; Salah, K.; Yaqoob, I.; Jayaraman, R.; Omar, M.A. Blockchain for electric vehicles energy trading: Requirements, opportunities, and challenges. IEEE Access 2021, 9, 156947–156961. [Google Scholar] [CrossRef]
  10. Aloqaily, M.; Boukerche, A.; Bouachir, O.; Khalid, F.; Jangsher, S. An energy trade framework using smart contracts: Overview and challenges. IEEE Netw. 2020, 34, 119–125. [Google Scholar] [CrossRef]
  11. Kim, M.; Lee, J.; Oh, J.; Park, K.; Park, Y.; Park, K. Blockchain based energy trading scheme for vehicle-to-vehicle using decentralized identifiers. Appl. Energy 2022, 322, 119445. [Google Scholar] [CrossRef]
  12. Guo,, Y.; Zhang,, C.; Wang, C.; Jia, X. Towards Public Verifiable and Forward-Privacy Encrypted Search by Using Blockchain. IEEE Trans. Dependable Secur. Comput. 2023, 20, 2111–2126. [Google Scholar] [CrossRef]
  13. Hu, S.S.; Cai, C.J.; Wang, Q.; Wang, C.; Luo, X.; Ren, K. Searching an Encrypted Cloud Meets Blockchain: A Decentralized, Reliable and Fair Realization. In Proceedings of the IEEE Conference on Computer Communications (Infocom 2018), Honolulu, HI, USA, 16–19 April 2018. [Google Scholar]
  14. Cai, C.; Weng, J.; Yuan, X.; Wang, C. Enabling Reliable Keyword Search in Encrypted Decentralized Storage with Fairness. IEEE Trans. Dependable Secur. Comput. 2018, 18, 131–144. [Google Scholar] [CrossRef]
  15. Wang, M.; Guo, Y.; Zhang, C.; Wang, C.; Huang, H.; Jia, X. MedShare: A Privacy-Preserving Medical Data Sharing System by Using Blockchain. IEEE Trans. Serv. Comput. 2023, 16, 436–451. [Google Scholar] [CrossRef]
  16. Yu, S.; Park, Y. A robust authentication protocol for wireless medical sensor networks using blockchain and physically unclonable functions. IEEE Internet Things J. 2022, 9, 20214–20228. [Google Scholar] [CrossRef]
  17. Park, K.; Lee, J.; Das, A.K.; Park, Y. BPPS:Blockchain-enabled privacy-preserving scheme for demand response management in smart grid environments. IEEE Trans. Dependable Secur. Comput. 2023, 20, 1719–1729. [Google Scholar] [CrossRef]
  18. Wu, Y.; Wu, Y.; Cimen, H.; Vasquez, J.C.; Guerrero, J.M. Towards collective energy Community: Potential roles of microgrid and blockchain to go beyond P2P energy trading. Appl. Energy 2022, 314, 119003. [Google Scholar] [CrossRef]
  19. Wu, Y.; Wu, Y.; Cimen, H.; Vasquez, J.C.; Guerrero, J.M. P2P energy trading: Blockchain-enabled P2P energy society with multi-scale flexibility services. Energy Rep. 2022, 8, 3614–3628. [Google Scholar] [CrossRef]
  20. Faisal, J.; Naeem, I.; Shabir, A.; Dohyeun, K. Peer-to-peer energy trading mechanism based on blockchain and machine learning for sustainable electrical power supply in smart grid. IEEE Access 2021, 9, 39193–39217. [Google Scholar]
  21. Dong, J.; Song, C.; Liu, S.; Yin, H.; Zheng, H.; Li, Y. Decentralized peer-to-peer energy trading strategy in energy blockchain environment: A game-theoretic approach. Appl. Energy 2022, 325, 119852. [Google Scholar] [CrossRef]
  22. Chen, Y.; Li, Y.; Chen, Q.; Wang, X.; Li, T.; Tan, C. Energy trading scheme based on consortium blockchain and game theory. Comput. Stand. Interfaces 2023, 84, 103699. [Google Scholar] [CrossRef]
  23. Aitzhan, N.Z.; Svetinovic, D. Security and privacy in decentralized energy trading through multi-signatures, blockchain and anonymous messaging streams. IEEE Trans. Dependable Secur. Comput. 2016, 15, 840–852. [Google Scholar] [CrossRef]
  24. Zhang, X.; Jiang, S.; Liu, Y.; Jiang, T.; Zhou, Y. Privacy-preserving scheme with account-mapping and noise-adding for energy trading based on consortium blockchain. IEEE Trans. Netw. Serv. Manag. 2021, 19, 569–581. [Google Scholar] [CrossRef]
  25. Tesfamicael, A.D.; Liu, V.; Mckague, M.; Caelli, W.; Foo, E. A design for a secure energy market trading system in a national wholesale electricity market. IEEE Access 2020, 8, 132424–132445. [Google Scholar] [CrossRef]
  26. Goyal, V.; Pandey, O.; Sahai, A.; Waters, B. Attribute-based encryption for fine-grained access control of encrypted data. In Proceedings of the ACM Conference on Computer and Communications Security, Alexandria, VA, USA, 30 October 2006; pp. 89–98. [Google Scholar]
  27. Yao, X.; Chen, Z.; Tian, Y. A lightweight attribute-based encryption scheme for the Internet of Things. Future Gener. Comput. Syst. 2015, 49, 104–112. [Google Scholar] [CrossRef]
  28. Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
  29. Vigano, L. Automated security protocol analysis with the AVISPA tool. Electron. Notes Theor. Comput. Sci. 2006, 155, 61–86. [Google Scholar] [CrossRef]
  30. Abdalla, M.; Fouque, P.A.; Pointcheval, D. Password-based authenticated key exchange in the three-party setting. In Proceedings of the 8th International Workshop on Public Key Cryptography, Les Diablerets, Switzerland, 23–26 January 2005; Volume 3386, pp. 65–84. [Google Scholar]
  31. Li, Z.; Kang, J.; Yu, R.; Ye, D.; Deng, Q.; Zhang, Y. Consortium blockchain for secure energy trading in industrial internet of things. IEEE Trans. Ind. Inform. 2017, 14, 3690–3700. [Google Scholar] [CrossRef]
  32. Gai, K.; Wu, Y.; Zhu, L.; Qiu, M.; Shen, M. Privacy-preserving energy trading using consortium blockchain in smart grid. IEEE Trans. Ind. Inform. 2019, 15, 3548–3558. [Google Scholar] [CrossRef]
  33. Li, M.; Hu, D.; Lal, C.; Conti, M.; Zhang, Z. Blockchain-enabled secure energy trading with verifiable fairness in industrial internet of things. IEEE Trans. Ind. Inform. 2020, 16, 6564–6574. [Google Scholar] [CrossRef]
  34. Guan, Z.; Lu, X.; Yang, W.; Wu, L.; Wang, N.; Zhang, Z. Achieving Efficient and Privacy-Preserving Energy Trading Based on Blockchain and ABE in Smart Grid. J. Parallel Distrib. Comput. 2021, 147, 34–45. [Google Scholar] [CrossRef]
  35. Li, X.; Wu, F.; Kumari, S.; Xu, L.; Sangaiah, A.K.; Choo, K.K.R. A provably secure and anonymous message authentication scheme for smart grids. J. Parallel Distrib. Comput. 2019, 132, 242–249. [Google Scholar] [CrossRef]
  36. Wu, L.B.; Wang, J.; Zeadally, S.; He, D.B. Anonymous and efficient message authentication scheme for smart grid. Secur. Commun. Netw. 2019, 2019, 4836016. [Google Scholar] [CrossRef]
  37. Mahmood, K.; Chaudhry, S.A.; Naqvi, H.; Kumari, S.; Li, X.; Sangaiah, A.K. An elliptic curve cryptography based lightweight authentication scheme for smart grid communication. Future Gener. Comput. Syst. 2018, 81, 557–565. [Google Scholar] [CrossRef]
  38. Abbasinezhad-Mood, D.; Nikooghadam, M. Design and hardware implementation of a security-enhanced elliptic curve cryptography based lightweight authentication scheme for smart grid communications. Futur. Gener. Comput. Syst. 2018, 84, 47–57. [Google Scholar] [CrossRef]
  39. Chen, Y.; Martínez, J.F.; Castillejo, P.; López, L. A bilinear map pairing based authentication scheme for smart grid communications: Pauth. IEEE Access 2019, 7, 22633–22643. [Google Scholar] [CrossRef]
  40. Wu, T.Y.; Lee, Y.Q.; Chen, C.M.; Tian, Y.; Al-Nabhan, N.A. An enhanced pairing-based authentication scheme for smart grid communications. J. Ambient Intell. Human. Comput. 2021, 1–13. [Google Scholar] [CrossRef]
  41. Wüst, K.; Gervais, A. Do you need a blockchain? In Proceedings of the 2018 Crypto Valley Conference on Blockchain Technology (CVCBT), Zug, Switzerland, 20–22 June 2018; pp. 45–54. [Google Scholar]
  42. Dolev, D.; Yao, A.C.-C. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–207. [Google Scholar] [CrossRef]
  43. Chattaraj, D.; Bera, B.; Das, A.K.; Saha, S.; Lorenz, P.; Park, Y. Block-CLAP: Blockchain-assisted certificateless key agreement protocol for internet of vehicles in smart transportation. IEEE Trans. Veh. Technol. 2021, 70, 8092–8107. [Google Scholar] [CrossRef]
  44. Kim, M.; Yu, S.; Lee, J.; Park, Y.; Park, Y. Design of secure protocol for cloud-assisted electronic health record system using blockchain. Sensors 2020, 20, 2913. [Google Scholar] [CrossRef]
  45. Yu, S.; Lee, J.; Park, Y.; Park, Y.; Lee, S.; Chung, B. A secure and efficient three-factor authentication protocol in global mobility networks. Appl. Sci. 2020, 10, 3565. [Google Scholar] [CrossRef]
  46. Chattaraj, D.; Bera, B.; Das, A.K.; Rodrigues, J.J.; Park, Y. Designing fine-grained access control for software-defined networks using private blockchain. IEEE Internet Things J. 2021, 9, 1542–1559. [Google Scholar] [CrossRef]
  47. Kocher, P.; Jaffe, J.; Jun, B. Differential power analysis. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 15–19 August 1999; pp. 388–397. [Google Scholar]
  48. Canetti, R.; Krawczyk, H. Analysis of key-exchange protocols and their use for building secure channels. In Proceedings of the International Conference on the Theory and Applications of Cryptographic Techniques, Innsbruck, Austria, 6–10 May 2001; Springer: Berlin/Heidelberg, Germany, 2001; Volume 2045, pp. 453–474. [Google Scholar]
  49. Son, S.; Park, Y.; Park, Y. A secure, lightweight, and anonymous user authentication protocol for IoT environments. Sustainability 2021, 13, 9241. [Google Scholar] [CrossRef]
  50. Ryu, J.; Oh, J.; Kwon, D.; Son, S.; Lee, J.; Park, Y.; Park, Y. Secure ECC-based three-factor mutual authentication protocol for telecare medical information system. IEEE Access 2022, 10, 11511–11526. [Google Scholar] [CrossRef]
  51. Oh, J.; Yu, S.; Lee, J.; Son, S.; Kim, M.; Park, Y. A secure and lightweight authentication protocol for IoT-based smart homes. Sensors 2021, 21, 1488. [Google Scholar] [CrossRef]
  52. Von Oheimb, D. The high-level protocol specification language HLPSL developed in the EU project AVISPA. In Proceedings of the 3rd APPSEM II (Applied Semantics II) Workshop (APPSEM’05), Frauenchiemsee, Germany, 12–15 September 2005; pp. 1–17. [Google Scholar]
  53. Basin, D.; Moedersheim, S.; Vigano, L. OFMC: A symbolic model checker for security protocols. Int. J. Inf. Secur. 2005, 4, 181–208. [Google Scholar] [CrossRef]
  54. Turuani, M. The CL-Atse protocol analyser. Term Rewrit. Appl. 2006, 277–286. [Google Scholar]
  55. Kilinc, H.H.; Yanik, T. A survey of SIP authentication and key agreement schemes. IEEE Commun. Surv. Tutor. 2014, 16, 1005–1023. [Google Scholar] [CrossRef]
Figure 1. The proposed blockchain-based energy trading model.
Figure 1. The proposed blockchain-based energy trading model.
Mathematics 11 04653 g001
Figure 2. Mutual authentication between E S k and E U j .
Figure 2. Mutual authentication between E S k and E U j .
Mathematics 11 04653 g002
Figure 3. Simulation results of the proposed scheme under OFMC and CL-AtSe models.
Figure 3. Simulation results of the proposed scheme under OFMC and CL-AtSe models.
Mathematics 11 04653 g003
Table 1. Notations and meanings.
Table 1. Notations and meanings.
NotationMeaning
E U j j-th energy user
E S k k-th energy seller
E B i i-th energy broker
I D j , P W j identity and password of E U j
S C j smart card of E U j
C j encrypted message of E U j
{ s j , x } x = 1 K E U j ’s K wallet addresses
{ M } k M is encrypted/decrypted with symmetric key k
R e q j request message of E U j
[ M ] s M is signed using key s with ECDSA
Table 2. Notations of BAN-logic.
Table 2. Notations of BAN-logic.
NotationDescription
η 1 , η 2 two principals
κ 1 , κ 2 two statements
η 1 | κ 1 η 1 believes κ 1
η 1 | κ 1 η 1 once said κ 1
η 1 κ 1 η 1 controls κ 1
η 1 κ 1 η 1 receives κ 1
# κ 1 κ 1 is fresh
{ κ 1 } K κ 1 is encrypted with K
η 1 K η 2 η 1 and η 2 have shared key K
Table 3. Queries and their descriptions.
Table 3. Queries and their descriptions.
QueryDescription
E x e c u t e ( p i , p j ) This query represents an eavesdropping attack carried out by A. A can obtain messages transmitted between p i and p j during execution of the mutual authentication protocol.
C o r r c u t ( p i ) This query represents A stealing the smart card of a legitimate user and extracting the stored value using a power analysis attack.
S e n d ( p , M ) This query represents active attacks, in which A can modify eavesdropped messages, send a message M to an instance p, and can receive a response message.
H a s h This query represents A conducting a one-way hash operation using the eavesdropped or modified messages.
T e s t ( p ) We assume that there is an unbiased coin c. When A executes the T e s t query, c is flipped, and, if the result is the tail, then a random number is given to A. If the result is the head, then the session key is given to A. A guesses whether the given value is the session key or a random number. If the probability that A answers correctly is significantly higher than 1 2 , the session key cannot guarantee the semantic security.
Table 4. Computational cost comparison.
Table 4. Computational cost comparison.
SchemeOperationsTotal Execution Time (ms)
Li et al. [35] 8 T e x p + 2 T m u l 35.252
Wu et al. [36] 9 T e x p + 2 T m u l + T a d d 39.1308
Mahmood et al. [37] 10 T m u l + 4 T a d d 22.3752
Abbasinezhad et al. [38] 8 T m u l + 4 T a d d 17.9232
Chen et al. [39] 2 T b p + 7 T m u l + 2 T m t p + 2 T a d d 52.0976
Wu et al. [40] 2 T b p + 11 T m u l + 2 T m t p + 2 T a d d 61.0016
Proposed scheme 17 T m u l + 6 T a d d 38.0148
Table 5. Communication cost comparison.
Table 5. Communication cost comparison.
SchemeTotal Communication Cost
Li et al. [35]1792 bits
Wu et al. [36]1344 bits
Mahmood et al. [37]2240 bits
Abbasinezhad et al. [38]2176 bits
Chen et al. [39]2224 bits
Wu et al. [40]2880 bits
Proposed1472 bits
Table 6. Security features comparison.
Table 6. Security features comparison.
Features[35][36][37][38][39][40]Proposed
A1OOOOOOO
A2XOOOXOO
A3XOOOXOO
A4OOXXXXO
A5OOXXXXO
A6OOOOOOO
A7OXOOOO
A8OXXXOOO
A9O
X: Insecure. O: Secure. −: Not considered.
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

Son, S.; Oh, J.; Kwon, D.; Kim, M.; Park, K.; Park, Y. A Privacy-Preserving Authentication Scheme for a Blockchain-Based Energy Trading System. Mathematics 2023, 11, 4653. https://doi.org/10.3390/math11224653

AMA Style

Son S, Oh J, Kwon D, Kim M, Park K, Park Y. A Privacy-Preserving Authentication Scheme for a Blockchain-Based Energy Trading System. Mathematics. 2023; 11(22):4653. https://doi.org/10.3390/math11224653

Chicago/Turabian Style

Son, Seunghwan, Jihyeon Oh, Deokkyu Kwon, Myeonghyun Kim, Kisung Park, and Youngho Park. 2023. "A Privacy-Preserving Authentication Scheme for a Blockchain-Based Energy Trading System" Mathematics 11, no. 22: 4653. https://doi.org/10.3390/math11224653

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