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.
Keywords:
access control; lightweight attribute-based encryption (ABE); consortium blockchain; energy trading; mutual authentication MSC:
68M12
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 :. is the root node of , is a threshold value, is a parent node, is an attribute, is an index, and are child nodes of x. For example, let x be a non-leaf node. Then, if , then x is an OR gate, and, if , 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:
Figure 1.
The proposed blockchain-based energy trading model.
- 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.
Table 1.
Notations and meanings.
5.1. Setup
inputs security parameter ; then, an elliptic curve is generated. After that, selects cryptographic hash function , chooses , selects attribute universe , and generates corresponding secret keys . In addition, generates and computes and for all . The network public parameters are , and the secret parameters are .
5.2. Registration
In the registration phase, registers , , and . The registration phase is conducted through a secure channel.
- EB registration: chooses a unique identity and sends to . After receives the message, checks whether is registered, and, if not, generates a random number , computes , publishes , and sends to . Then, keeps secure and also writes permission for the blockchain.
- EU registration: For registration, chooses and and sends to . Then, checks whether is registered, and, if not, generates a fuzzy verifier and random numbers and stores in smart card . After that, computes for all x, which are wallet addresses of , and sends to . After receives , generates and computes , , , and . Then, stores in and deletes from . can guarantee anonymity for by using multiple wallet addresses.
- ES key generation: chooses , , and an access tree and sends to . Then, for root node of , generates a unique polynomial with order . sets and chooses other points of randomly. After that, defines other polynomials for other non-leaf nodes z with . Next, for leaf nodes l of , computes . Then, the attribute keys for are and are leaf nodes of ). This process is only executed the first time when generating attribute keys for . After that, randomly generates and and computes , which is a wallet address of . Furthermore, stores and in and sends to . generates and computes , , , and . deletes and stores in . After the ES key generation phase, is published, and maps to , which is a wallet address of .
5.3. Login
In the login phase, inputs and to . Then, computes , , and and checks . If it is equal, is logged in. can also be logged in the network in a similar way.
5.4. Requesting
chooses from , computes , and generates a current timestamp and request message . These mean wallet address, demanding amount, price, charging type, and current location, respectively. Then, generates , chooses attribute sets , and computes and . After that, encrypts with using the ECC-based attribute-based encryption [27].
- Step 1: randomly chooses and computes . If , chooses another and repeats the process. Then, is used as a symmetric key, and is used to generate message authentication code (MAC).
- Step 2: computes and . Furthermore, computes for each .
- Step 3: The encrypted message is . computes , generates a signature , and transmits to .
After receiving the message, checks the validity of , computes and , and checks that is valid. If it is, generates a unique request number , and a random number . Then, computes , , , and ; transmits to ; and broadcasts to energy sellers. receives the message; checks the validity of , computes and ; and checks that . If it is equal, keeps securely.
5.5. Responding
If has the proper attribute keys, can decrypt according to the following procedure.
- Step 1: For each leaf node l of and , computes
- Step 2: For each non-leaf node z, let be a set of child nodes of z, be an arbitrary subset of with nodes, and be a set of indexes . Then, computes
recursively repeats these processes and can finally obtain . Then, can obtain and can check the integrity of the message using . After that, generates and a timestamp ; computes , , , and ; and transmits . receives the message and checks the validity of ; computes , , and ; checks ; and retrieves from the blockchain. After that, generates timestamp and ; computes , , , , , , , and ; and sends to . receives the message; checks the validity of ; computes , , and ; checks ; and computes . Then, can be used for further communication, and and trade energy. When the energy trading finishes, transmits to encrypting it using . The mutual authentication in the responding phase is summarized in Figure 2.
Figure 2.
Mutual authentication between and .
5.6. Confirmation
For the trading confirmation, generates , , and a verification message ; computes , , , , and ; and transmits to . includes and the trading results. Then, retrieves using and computes , , and . If they are equal, considers that the trading is finished successfully because the signatures of both and are verified, and is uploaded to the blockchain. Then, energy users can check the transaction records of 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 and can extract the stored values through a side-channel attack. Then, A can obtain . However, these values are masked using and . Therefore, A cannot know any information about and cannot generate any messages using these values. Therefore, the proposed scheme is secure even if is stolen.
6.1.2. Offline Guessing Attack
A can steal a smart card of and can try to find and . Let and be guessed values by A that are input to . Then, computes , , and . After that, checks , and, if it is equal, generates a request message and sends it to . In this case, it can be equal even if and are not equal to and because is masked with a fuzzy verifier . When the bit lengths of and are set to 128 bits, the total guessed bit length is 256 bits. Therefore, even if A successfully logs into , the probability that and are correct is , which is negligible.
6.1.3. Impersonation Attack
A fails to guess and but still can try to impersonate or and send a request message. However, A cannot generate a legitimate signature in the requesting phase or in the responding phase because A cannot obtain the secret key of or 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 and . In the first message, sends to . Then, computes using a secret key, computes , and checks . Then, can authenticate . After that, sends to . Similarly, checks and can authenticate .
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 . Furthermore, A has no way to track 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 .
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 and , which are the secret keys of and , respectively. In our scheme, the session key is . However, A can not calculate without knowing and , 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 and and try to calculate . A can obtain . However, A cannot know or , which are the long-term secret keys of and , respectively. Therefore, A cannot succeed in calculating , 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 from the registration phase and try logging into other networks impersonating . However, in the proposed scheme, only transmits and does not send a password-related value. This means that A fails to log into other networks disguising themselves as . 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 . Each encrypts its request message using attribute keys, and only , who has the proper attribute sets, can decrypt the message and send a response message to . Therefore, can preserve its privacy from and can present its message only to a valid .
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.
Table 2.
Notations of BAN-logic.
- Message meaning rule (MMR):
- Nonce verification rule (NVR):
- Jurisdiction rule (JR):
- Belief rule (BR):
- Freshness rule (FR):
6.2.1. Goals
The following goals have to be achieved to prove the correctness of the proposed scheme.
- Goal 1:
- Goal 2:
- Goal 3:
- Goal 4:
6.2.2. Assumptions
The assumptions of our scheme are as follows.
- :
- :
- :
- :
- :
- :
6.2.3. Idealized Forms
The idealized forms of our scheme are as follows.
- :
- :
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:
- receives .
- Step 2:
- We can obtain by applying the MMR using and .
- Step 3:
- We can obtain by applying the FR using and .
- Step 4:
- We can obtain by applying the NVR using and .
- Step 5:
- We can obtain by applying the BR to .
- Step 6:
- receives .
- Step 7:
- We can obtain by applying the MMR using and .
- Step 8:
- We can obtain by applying the FR to .
- Step 9:
- We can obtain by applying the NVR using and .
- Step 10:
- We can obtain by applying the BR to .
- Step 11:
- can compute , and can compute using the obtained values. Therefore, we obtain and .and
- Step 12:
- We obtain and by applying the JR using and , and and , respectively. Then, the BAN logic’s implementation is complete.and,
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.
Table 3.
Queries and their descriptions.
Let 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:
where , , are, respectively, the number of executed queries, the number of executed queries, and the range space of a hash output. A plays the game , , , and . The number of queries that A can execute increases as the game progresses. At the end of each game, A performs the query, and we calculate the advantage function that A passes the query.
- : In , we assume that A cannot perform any query. Let be a probability that A succeeds in guessing correctly when ends. Then, the advantage function can be defined as the following:
- : A performs the query in . In the proposed scheme, A can obtain and from a public channel. Then, A cannot guess any information about because the obtained values from the public channel are not used to calculate . Therefore, the probability that A guesses correctly when is not changed is as follows:
- : A can execute the and queries to guess . 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 , and the following equation is induced:
- : A can execute the query and extracts the stored values of . In this scenario, A must guess the correct and to generate a legitimate message disguising itself as . Even if A succeeds in logging into , the probability that the guessed identity and password are correct is . If the generated message is not correct, revokes from the network. Next, A must succeed to guess and within attempts. Then, the following equation can be induced:
Based on the above equations, we can obtain the following equation using the triangle inequality:
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.
Figure 3.
Simulation results of the proposed scheme under OFMC and CL-AtSe models.
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:
- : Execution time for a bilinear pairing operation ≅ 5.811;
- : Execution time for a point scalar multiplication operation ≅ 2.226 ms;
- : Execution time for a point addition operation ≅ 0.0288 ms;
- : Execution time for a map-to-point hash function ≅ 12.418 ms;
- : 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.
Table 4.
Computational cost comparison.
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 and 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], is , and is . 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], is , and is . 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], is and is . 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], is , is , and is . 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], is , and is . 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 , and the second message is . 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.
Table 5.
Communication cost comparison.
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.
Table 6.
Security features comparison.
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
- 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]
- 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]
- Parag, Y.; Sovacool, B.K. Electricity market design for the prosumer era. Nat. Energy 2016, 1, 16032. [Google Scholar] [CrossRef]
- Fischer, D.; Madani, H. On heat pumps in smart grids: A review. Renew. Sustain. Energy Rev. 2017, 70, 342–357. [Google Scholar] [CrossRef]
- 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]
- Abdallah, A.; Shen, X. Lightweight authentication and privacy-preserving scheme for V2G connections. IEEE Trans. Veh. Technol. 2017, 3, 2615–2629. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Burrows, M.; Abadi, M.; Needham, R.M. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
- Vigano, L. Automated security protocol analysis with the AVISPA tool. Electron. Notes Theor. Comput. Sci. 2006, 155, 61–86. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Dolev, D.; Yao, A.C.-C. On the security of public key protocols. IEEE Trans. Inf. Theory 1983, 29, 198–207. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Son, S.; Park, Y.; Park, Y. A secure, lightweight, and anonymous user authentication protocol for IoT environments. Sustainability 2021, 13, 9241. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- Turuani, M. The CL-Atse protocol analyser. Term Rewrit. Appl. 2006, 277–286. [Google Scholar]
- 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]
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).