Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application
Abstract
:1. Introduction
1.1. Background
- (1)
- We designed a data security sharing and privacy protection framework to solve the blockchain load problem and achieve enterprise privacy protection of sensitive data while improving the scalability of the system.
- (2)
- We designed a Keyword-index table for data sharing between enterprises and designed a Chaincode to realize the automatic call of data.
- (3)
- Our scheme realizes mutual authentication of all parties and protection of data integrity.
1.2. Related Works
2. Preliminary
2.1. Elliptic Curve Digital Signature Algorithm (ECDSA)
2.2. Hyperledger Fabric
- (1)
- Proposal stage: The user sends the transaction to multiple Endorsing Peer through the Client.
- (2)
- Endorsement stage: EP1, EP2, EP3 are Endorsing Peers. After receiving the proposal from the Client, it verifies and executes the endorsement, and then returns the endorsement result to the client.
- (3)
- Sorting stage: The Client receives the endorsement results of all Endorsing Peers and compares whether they are consistent, and then sends the transaction to the Ordering Service, and the Ordering Service receives the transactions of all channels and sorts the transactions to form a block.
- (4)
- On-chain stage: The Ordering Service broadcasts the packaged block to all Peers, and then the Peers verifies the transaction and uploads it to the blockchain.
2.3. Chaincode
2.4. InterPlanetary File System (IPFS)
2.5. BAN Logic
- (1)
- Describe the protocol messages that are not formally described in BAN Logic notation.
- (2)
- Identify the initial assumptions from the protocol description and describe them in BAN Logic notation.
- (3)
- List the goals to be achieved by the protocol.
- (4)
- Using the messages, initial conditions, and inference rules in the communication, prove whether the protocol can achieve the goal.
2.6. Threat Model
- (1)
- Mutual authentication of nodes [25]: Mutual authentication refers to two parties who authenticate each other simultaneously in an authentication protocol. To ensure data security, mutual authentication is the ideal solution among authentication schemes for transmitting sensitive data. The receiver/sender must be able to confirm the legitimate identity of the sender/receiver of the message during the transmission of the message, and failure to do so will pose a great threat to data security.
- (2)
- Data integrity [26]: Data integrity is the key to ensuring data accuracy and consistency, and to processing or retrieving data. Any accidental changes to data as a result of storage, retrieval, or processing operations can compromise data integrity. For messages transmitted in an unencrypted network environment that may be maliciously modified, data integrity may also be compromised.
- (3)
- Data traceability [27]: Data loss due to malicious data theft by attackers, posing a serious threat to corporate assets.
- (4)
- Non-repudiation [28]: Non-repudiation means that people cannot deny the act of sending a message and the content of the message due to the existence of some mechanism. The sender denies the message it sent, which can cause damage to the trust relationship between nodes.
- (5)
- Resist known attack [29]: Cyber-attacks may cause data corruption or system paralysis, posing challenges to the stability and security of the system. Common attacks on blockchain networks are man-in-the-middle attacks, replay attacks, etc. For enterprises, cyber-attacks can disrupt critical infrastructure and lead to data leakage or corruption.
3. Proposed Scheme
3.1. System Architecture
- (1)
- Hyperledger Network Layer: This includes Peers, Ordering Service Node, Channels, and Certificate Authority (CA). The CA is responsible for issuing public and private keys and digital certificates. Administrators and Peers must be authenticated by the CA to become part of the blockchain network. The Channel is a private blockchain built based on data isolation and confidentiality. The data in the channel (e.g., Ledger information and member information) is known only to the members in the channel, and the data cannot be shared between different channels, and the channel mechanism ensures data sharing between different enterprises while protecting privacy. The Ordering Service Node only sorts and packs the transactions received in the channel and does not verify the legitimacy of the transactions, and then broadcasts the packaged transactions to all Peers in the channel. Peers are a network entity that maintains the ledger and runs the Chaincode to do read and write operations on the ledger.
- (2)
- Client Layer: Each enterprise in the industrial IoT has an administrator who is responsible for interacting with the Hyperledger Blockchain Network. The administrator is connected to the blockchain network through the Client, which uses the SDK (Software Development Kit) to interact with the blockchain network and can access the ledger through Peers using the Chaincode, and the administrator needs to register through CA to participate in transactions in the system.
- (3)
- Storage Layer: Enterprises that join the same channel will also join the channel’s IPFS network, which is a distributed file system for storing and sharing data, and generating a hash address for storing data, which is a key component. The administrator stores the data encrypted using AES in IPFS while constructing a Keyword-index table of the hash addresses returned by IPFS to upload to the blockchain, which greatly increases the scalability of the system. Moreover, each data transaction carries a timestamp and is permanently stored in the blockchain.
3.2. Hyperledger Fabric Detailed Transaction Information Flow
- Step 1.
- A and B need to register with the Fabric CA in Hyperledger Fabric Blockchain through the Client, and then the Fabric CA issues the public and private keys and digital certificates to the client of A and B, and the registration phase is completed.
- Step 2.
- B uses the AES encryption algorithm to symmetrically encrypt and sign the sensitive and private data, and the encrypted data is saved to IPFS.
- Step 3.
- IPFS returns the hash address of the encrypted data to the B Client.
- Step 4.
- B Client receives the hash address and generates a Keyword-index table for the data keywords, and executes the Chaincode to add the Keyword-index table to the blockchain, and the data storage phase is completed.
- Step 5.
- A sends a data access request containing keywords to the blockchain through the client.
- Step 6.
- If the request initiated by A is legitimate and the queried data exists in the blockchain index directory, the blockchain network will return to A the required Keyword-index table containing the data hash address stored in IPFS, and the data query phase is completed.
- Step 7.
- A initiates a data request to B, which contains A’s ID.
- Step 8.
- B receives a request from A, requests A’s public key from the blockchain network, and verifies A’s request message, and then uses A’s public key to encrypt the AES key to form an encrypted key message and sends the message to A.
- Step 9.
- After receiving the message, A uses its private key to decrypt it to obtain the AES key, obtains the encrypted data through the hash address provided by the Keyword-index table in IPFS, and then uses the AES key to decrypt the encrypted data to obtain the original data. The transfer phase is completed.
3.3. Registration Phase (Phase 1)
- Step 1.
- X hashes the registration information to be submitted to obtain and sends it to the CA.
- Step 2.
- CA generates ECDSA private key based on the X and calculates . If the identity of the registered role is verified as legitimate, the CA sends and to the X Client, where contains a unique .
- Step 3.
- X stores and .
3.4. Data Storage Phase (Phase 2)
- (1)
- “Holder”: Name of the enterprise holding the data. “Signature”: Signature of the enterprise administrator to ensure the integrity of the data. “ID”: The unique identifier of the enterprise administrator, which is included in the certificate.
- (2)
- “Hash_Address”: The hash address of the data, the only basis for content addressing in an IPFS network. “Summary_Data”: a brief description of the data content. “keyword”: the search basis for the data requester to query this index table in the blockchain by keyword. “size”: the size of the data. “type”: the type of the data.
- (3)
- “Timestamp”: Indicates the time when this index table was added to the blockchain, added by Peers. “TXnumber”: transaction serial number, which is the unique value of the index table to search in the blockchain. “Version”: including IPFS version number and Fabric version number.
Algorithm 1: Data Storing. |
Input: ; |
Step 1: ; |
B chooses a random number ; |
; |
Sign; call function , return ; |
; |
Send to IPFS; |
Step 2: hash address; |
Upon receiving; check whether |
ifthen |
store and generating ; |
send to B; |
end |
Step 3: Keyword-index table; |
Upon receiving; Generate ; |
B chooses a random number ; |
; |
Sign; call function , return |
send , to HFB; |
Step 4: Add to ledger; |
Upon receiving; check whether |
call function , return result; |
ifthen |
if result = “valid” then |
call chaincode “Subfile”, add to ledger; |
end |
end |
- Step 1.
- B selects a random number , selects the data to be stored, and generates the message:
Algorithm 2: Signature and Verification of the Scheme. |
func Sign (M string, d string, k string)(r string, s string){ |
; |
; |
; |
return |
} |
func Verify (z string, r string, s string, Q string) (result string){ |
ifthen |
return “valid” |
else |
return “invalid” |
end |
} |
- Step 2.
- IPFS first checks the validity of the timestamp to prevent replay attacks, then stores the message in the IPFS network and returns the hash address to B.
- Step 3.
- B generates a Keyword-index table for data keywords, and then selects a random number to generate a message:
- Step 4.
- HFB checks the validity of the timestamp and then calls the function (as shown in Algorithm 2) to verify the legitimacy of the signature. If , the signature is legal. Then, the Chaincode “Subfile” (as shown in Figure 5) is executed to be added to the blockchain ledger, . The data storage phase is completed.
3.5. Data Query Phase (Phase 3)
Algorithm 3: Data Querying. |
Input: ; |
Step 1: query |
A chooses a random number ; |
; |
call function , return ; |
send to HFB |
Step 2: return |
Upon receiving; check whether ; |
call function , return result; |
ifthen |
if result = “valid” then |
call chaincode “Querfile”, return Keyword-index table to A; |
end |
end |
- Step 1.
- A selects a random number , enters keywords, and draws up a query message:
- Step 2.
- HFB checks the timestamp and calls the function to verify the validity of the signature. If , the signature is legal. Then, the Chaincode “Querfile” (as shown in Figure 6) is executed to be added to the blockchain, . Moreover, then, the blockchain returns the Keyword-index table to A. The data query phase is completed.
3.6. Data Transfer Phase (Phase 4)
Algorithm 4: Data Transferring. |
Input: ; |
Step 1: request; |
A chooses a random number ; |
call function , return ; |
send to HFB; |
Step 2: return; |
Upon receiving; |
check whether ; |
call function , return result; |
ifthen |
if result = “valid” then |
B chooses a random number ; |
call function , return ; |
send , to A; |
end |
end |
Step 3: Descrypt data; |
; check whether ; |
call function , return result; |
ifthen |
if result = “valid” then |
store ; get encrypted data in IPFS; |
end |
end |
- Step 1.
- A selects a random number , and draws up the requested message:
- Step 2.
- After receiving the requested message, B decrypts the message using , and checks the validity of the timestamp . Then, it calls the function to verify the validity of the signature. If , the signature is legal. Next, B selects the random number and adds to the message:
- Step 3.
- A decrypts the message using to obtain and checks the validity of the timestamp . Then, it calls the function to verify the validity of the signature. If , the signature is legal. Afterward, A obtains the encrypted data using the Keyword-index table in the IPFS network and decrypts the with , , . The data transfer phase is completed.
4. Security Analysis
4.1. Mutual Authentication
- (1)
- The administrator of Enterprise B (B) authenticates the administrator of Enterprise A (A).
- (2)
- The administrator of Enterprise A (A) authenticates the administrator of Enterprise B (B).
4.2. Data Integrity
4.3. Traceability
4.4. Non-Repudiation
4.5. Resist Known Attacks
4.6. Man-in-the-Middle Attack
4.7. Replay Attacks
5. Performance Evaluation
5.1. Communication Cost
5.2. Computation Cost
5.3. Blockchain Architecture Comparison
5.4. Function Comparison
6. Deployment and Testing
6.1. Performance of File Transmission in Traditional and IPFS Network
6.2. Throughput and Latency of Smart Contract Calling
6.3. Performance Comparison of Different Systems
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
Notations
Certificate of X issued by CA | |
X’s identity | |
Elliptic curve signature value of X | |
Timestamp message of X | |
Ciphertext sent by X | |
Data sent by X | |
The AES key of party X | |
Use X’s AES key to encrypt M | |
Use X’s AES key to decrypt M | |
The public key of party X | |
The private key of party X | |
Use X’s public key to encrypt M | |
Use X’s private key to decrypt M | |
The one-way hash function | |
Valid timestamp interval | |
The submitted registration information | |
Verify whether A is equal to B |
References
- Qi, S.; Lu, Y.; Zheng, Y.; Li, Y.; Chen, X. Cpds: Enabling Compressed and Private Data Sharing for Industrial Internet of Things Over Blockchain. IEEE Trans. Ind. Inform. 2021, 17, 2376–2387. [Google Scholar] [CrossRef]
- TechCrunch is Part of the Yahoo Family of Brands. Available online: https://techcrunch.com/2021/01/11/ubiquiti-says-customer-data-may-have-been-accessed-in-data-breach/ (accessed on 20 December 2021).
- SITA Data Breach Affects Millions of Airline Passengers. Available online: https://www.techradar.com/news/sita-data-breach-affects-millions-of-airline-passengers (accessed on 20 December 2021).
- Journal, H. CaptureRx Ransomware Attack Affects Multiple Healthcare Provider Clients and 1,919,938 Individuals. Available online: https://www.hipaajournal.com/capturerx-ransomware-attack-affects-multiple-healthcare-provider-clients (accessed on 20 December 2021).
- Volkswagen, Audi Notify 3.3 Million of Data Breach. Available online: https://www.bankinfosecurity.com/volkswagen-audi-notify-33-million-people-data-breach-a-16875 (accessed on 20 December 2021).
- Smits, M.; Hulstijn, J. Blockchain applications and institutional trust. Front. Blockchain 2020, 3, 5. [Google Scholar] [CrossRef]
- Tomescu, A.; Devadas, S. Catena: Efficient non-equivocation via bitcoin. In Proceedings of the 2017 IEEE Symposium on Security and Privacy (SP), San Jose, CA, USA, 22–26 May 2017; pp. 393–409. [Google Scholar]
- Nakamoto, S. Bitcoin: A peer-to-peer electronic cash system. Decent. Bus. Rev. 2008, 21260. [Google Scholar]
- Hyperledger—Open Source Blockchain Technologies. Available online: https://www.hyperledger.org/ (accessed on 20 December 2021).
- Heron, S. Advanced Encryption Standard (AES). Netw. Secur. 2009, 2009, 8–12. [Google Scholar] [CrossRef]
- Jianjun, S.; Ming, L.; Jingang, M. Research and application of data sharing platform integrating Ethereum and IPFs Technology. In Proceedings of the 2020 19th International Symposium on Distributed Computing and Applications for Business Engineering and Science (DCABES), Xuzhou, China, 16–19 October 2020; pp. 279–282. [Google Scholar]
- Johnson, D.; Menezes, A.; Vanstone, S. The Elliptic Curve Digital Signature Algorithm (ECDSA). Int. J. Inf. Secur. 2001, 1, 36–63. [Google Scholar] [CrossRef]
- Teslya, N.; Ryabchikov, I. Blockchain-based platform architecture for industrial IoT. In Proceedings of the 2017 21st Conference of Open Innovations Association (FRUCT), Helsinki, Finland, 6–10 November 2017; pp. 321–329. [Google Scholar]
- Wang, Z.; Tian, Y.; Zhu, J. Data sharing and tracing scheme based on blockchain. In Proceedings of the 2018 8th International Conference on Logistics, Informatics and Service Sciences (LISS), Toronto, ON, Canada, 3–6 August 2018; pp. 1–6. [Google Scholar]
- Zhang, A.; Lin, X. Towards secure and privacy-preserving data sharing in e-health systems via consortium blockchain. J. Med. Syst. 2018, 42, 140. [Google Scholar] [CrossRef] [PubMed]
- Lee, A.R.; Kim, M.G.; Kim, I.K. SHAREChain: Healthcare data sharing framework using Blockchain-registry and FHIR. In Proceedings of the 2019 IEEE International Conference on Bioinformatics and Biomedicine (BIBM), San Diego, CA, USA, 18–21 November 2019; pp. 1087–1090. [Google Scholar]
- Kumar, N.; Dakshayini, M. Secure Sharing of Health Data Using Hyperledger Fabric Based on Blockchain Technology. In Proceedings of the 2020 International Conference on Mainstreaming BlockChain Implementation (ICOMBI), Bengaluru, India, 21–22 February 2020; pp. 1–5. [Google Scholar]
- Kang, B.; Shao, D.; Wang, J. A fair electronic payment system for digital content using elliptic curve cryptography. J. Algorithms Comput. Technol. 2017, 12, 13–19. [Google Scholar] [CrossRef] [Green Version]
- Available online: https://hyperledgerfabric.readthedocs.io/en/release-2.2 (accessed on 20 December 2021).
- Transaction Flow—Hyperledger-Fabricdocs Master Documentation. Available online: https://hyperledger-fabric.readthedocs.io/en/release-2.2/txflow.html (accessed on 20 December 2021).
- Foschini, L.; Gavagna, A.; Martuscelli, G.; Montanari, R. Hyperledger Fabric Blockchain: Chaincode Performance Analysis. In Proceedings of the ICC 2020–2020 IEEE International Conference on Communications (ICC), Online, 7–11 June 2020; pp. 1–6. [Google Scholar]
- Uddin, M. Blockchain Medledger: Hyperledger fabric enabled drug traceability system for counterfeit drugs in pharmaceutical industry. Int. J. Pharm. 2021, 597, 120235. [Google Scholar] [CrossRef] [PubMed]
- Nizamuddin, N.; Salah, K.; Ajmal Azad, M.; Arshad, J.; Rehman, M. Decentralized document version control using ethereum blockchain and IPFS. Comput. Electr. Eng. 2019, 76, 183–197. [Google Scholar] [CrossRef] [Green Version]
- Burrows, M.; Abadi, M.; Needham, R. A logic of authentication. ACM Trans. Comput. Syst. 1990, 8, 18–36. [Google Scholar] [CrossRef]
- Chen, C.; Deng, Y.; Weng, W.; Sun, H.; Zhou, M. A Blockchain-Based Secure Inter-Hospital EMR Sharing System. Appl. Sci. 2020, 10, 4958. [Google Scholar] [CrossRef]
- Chen, C.; Deng, Y.; Li, C.; Zhu, S.; Chiu, Y.; Chen, P. An IoT-Based Traceable Drug Anti-Counterfeiting Management System. IEEE Access 2020, 8, 224532–224548. [Google Scholar] [CrossRef]
- Kiayias, A.; Tsiounis, Y.; Yung, M. Traceable Signatures. Adv. Cryptol. Eurocrypt 2004, 2004, 571–589. [Google Scholar]
- Zhou, J.; Gollman, D. A fair non-repudiation protocol. In Proceedings of the 1996 IEEE Symposium on Security and Privacy, Oakland, CA, USA, 6–8 May 1996; IEEE: Piscataway, NJ, USA; pp. 55–61. [Google Scholar]
- Denning, P.; Denning, D. Discussing cyber attack. Commun. ACM 2010, 53, 29–31. [Google Scholar] [CrossRef] [Green Version]
- Blockchain—Wikipedia. Available online: https://en.wikipedia.org/wiki/Blockchain (accessed on 20 December 2021).
- Nasir, Q.; Qasse, I.; Abu Talib, M.; Nassif, A. Performance Analysis of Hyperledger Fabric Platforms. Secur. Commun. Netw. 2018, 2018, 3976093. [Google Scholar] [CrossRef] [Green Version]
- Lin, H.; Garg, S.; Hu, J.; Kaddoum, G.; Peng, M.; Hossain, M. A Blockchain-Based Secure Data Aggregation Strategy Using Sixth Generation Enabled Network-In-Box For Industrial Applications. IEEE Trans. Ind. Inform. 2021, 17, 7204–7212. [Google Scholar] [CrossRef]
Authors | Year | Objective | Technologies | Merits | Demerits |
---|---|---|---|---|---|
Teslya et al. [13] | 2017 | Proposed a blockchain-based IIOT trust information sharing platform | Blockchain, Smart Contracts, Smart-M3 | It can single out the search for information in the detachment. | Leading to a slower rate of information entering the smart space |
Wang et al. [14] | 2018 | To use blockchain double-link structure combined with proxy re-encryption for data sharing | Blockchain, Proxy re-encryption | The two chains store original data and transaction data separately, combined with proxy re-encryption to achieve reliable data sharing | There is no detailed experimental process to prove the actual effect of the program, and the safety analysis is not detailed enough |
Zhang et al. [15] | 2018 | To realize data sharing in the electronic medical system through alliance chain | Blockchain, Bilinear maps and complexity assumptions | A detailed description of the sharing of medical data through the alliance chain, and detailed experimental analysis | Security analysis is not complete enough |
Ra Lee et al. [16] | 2019 | To use blockchain registry and FHIR to share healthcare data | Blockchain, FHIR | Improve query efficiency by storing the registry in the blockchain and storing the original data in the database | There is no analysis process, and the plan is not complete enough |
Kumar S et al. [17] | 2020 | To provide controlled access and secure transmission of patient health information between various healthcare organizations | Hyperledger Fabric | Investigated related literature and provided detailed algorithms and steps | No comparison with other programs, no experiments to demonstrate the actual effect of the program |
Symbol | Description |
---|---|
P trusts X or P is qualified to trust X | |
P received a message containing X | |
P has sent a message containing X | |
P has jurisdiction over X | |
X is the latest | |
The shared key K is used for communication by P and Q. | |
P has X as a public key | |
The message X is encrypted by K | |
This indicates that X combined with Y |
Item | Signature Value | Sender | Receiver | Signature Verification | |
---|---|---|---|---|---|
Phase | |||||
Phase 2 | B | HFB | |||
Phase 3 | A | HFB | |||
Phase 4 | A | B | |||
B | A |
Item | Message Length | Rounds | Gigabit Ethernet (1 Gbps) | 10 Gigabit Ethernet (10 Gbps) | |
---|---|---|---|---|---|
Phase | |||||
Phase 1 | 560 bits | 2 | 0.56μs | 0.056μs | |
Phase 2 | 560 bits | 1 | 0.56μs | 0.056μs | |
Phase 3 | 560 bits | 2 | 0.56μs | 0.056μs | |
Phase 4 | 3168 bits | 2 | 3.168μs | 0.3168μs |
Party | A | B | HFB | |
---|---|---|---|---|
Phase | ||||
Phase 2 | N/A | |||
Phase 3 | N/A | |||
Phase 4 | N/A |
Hyperledger Fabric | Ethereum | |
---|---|---|
Category | Consortium Blockchain | Public Blockchain |
Description | Generic blockchain platform | Modular blockchain platform |
Consensus algorithms | Practical Byzantine Fault Tolerance (PBFT) | Proof of Work (PoW) |
Throughput | ≥1000 TPS | ≥25 TPS |
Decentralization | Partial de-centralization | Completely decentralization |
Fault tolerance rate | 33% | 50% |
Success rate | Lower | Higher |
Privacy | Yes | No |
Authentication | Yes | No |
Scalability | Yes | No |
Pluggability | Yes | No |
Authors | Year | Objective | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|---|
Teslya et al. [13] | 2017 | Proposed a blockchain-based IIOT trust information sharing platform | Y | N | Y | N | N | N |
Wang et al. [14] | 2018 | To use blockchain double-link structure combined with proxy re-encryption for data sharing | Y | N | N | N | Y | N |
Zhang et al. [15] | 2018 | To realize data sharing in the electronic medical system through alliance chain | Y | N | N | N | Y | Y |
Ra Lee et al. [16] | 2019 | To use blockchain registry and FHIR to share healthcare data | Y | Y | N | N | Y | Y |
Kumar et al. [17] | 2020 | To provide controlled access and secure transmission of patient health information | Y | N | Y | N | Y | N |
Ours | 2021 | Propose a solution for corporate privacy-preserved and data sharing based on Fabric blockchain | Y | Y | Y | Y | Y | Y |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 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/).
Share and Cite
Chen, C.-L.; Yang, J.; Tsaur, W.-J.; Weng, W.; Wu, C.-M.; Wei, X. Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application. Sensors 2022, 22, 1146. https://doi.org/10.3390/s22031146
Chen C-L, Yang J, Tsaur W-J, Weng W, Wu C-M, Wei X. Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application. Sensors. 2022; 22(3):1146. https://doi.org/10.3390/s22031146
Chicago/Turabian StyleChen, Chin-Ling, Jiaxin Yang, Woei-Jiunn Tsaur, Wei Weng, Chih-Ming Wu, and Xiaojun Wei. 2022. "Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application" Sensors 22, no. 3: 1146. https://doi.org/10.3390/s22031146
APA StyleChen, C.-L., Yang, J., Tsaur, W.-J., Weng, W., Wu, C.-M., & Wei, X. (2022). Enterprise Data Sharing with Privacy-Preserved Based on Hyperledger Fabric Blockchain in IIOT’s Application. Sensors, 22(3), 1146. https://doi.org/10.3390/s22031146