You are on page 1of 13

A Reliability Guaranteed Solution for Data

Storing and Sharing


BEJAWADA PAVANI
Author: Bejawada Pavani (e-mail: pavanibejawada27@gmail.com).

ABSTRACT Digital data certified by reputable organizations hold significant value and are often shared or
stored on the internet. However, several challenges arise: (1) How to ensure the anonymity of
organizations issuing certificates? (2) How to securely store valuable digital data within the system? and (3)
How can individuals verify the reliability of shared data while maintaining content confidentiality, and how
to ensure the safety, transparency, and fairness of the data sharing process? To address these challenges,
we propose a comprehensive framework comprising data producing, data storing, and data sharing
schemas. In the data producing schema, we implement a group signature scheme for a consortium of
reputable organizations offering similar services. Each organization within the group processes raw data
from a data owner to generate valuable digital data and issues a certificate on the ciphertext of this data.
In the data storing schema, the data owner uploads their data to the public Inter-Planetary File System
network and records the access address of the stored data along with the corresponding certificate on the
blockchain ledger. In the data sharing framework, every participant within the system has the capability to
confirm the trustworthiness of shared data prior to initiating a data sharing request with the data owner.
The data sharing process is facilitated through a smart contract, and involved parties are required to
escrow funds to incentivize honesty. The data storing and sharing schemas ensure various security
properties, including confidentiality, integrity, privacy, non-repudiation, and anonymity, thereby
addressing the aforementioned challenges comprehensively.

INDEX TERMS Blockchain, IPFS, data storing, data sharing.

I. INTRODUCTION security in both centralized and decentralized


Has become increasingly popular due to its ability to architectures By leveraging technologies such as
handle large volumes of data generated by IoT devices. group signatures, blockchain, and smart contracts, our
However, centralized architectures are susceptible to schemas aim to provide a secure, transparent, and
single points of failure and data breaches, raising concerns efficient framework for handling valuable digital data
about data security and privacy. while preserving data privacy and confidentiality.
Studies [3]–[7] have explored methods for
On the other hand, decentralized architectures offer an safeguarding the security and privacy of data storage
alternative approach to data storing and sharing. In and sharing, proposing encryption algorithms and
decentralized architectures, data is distributed across access control models [8]–[11]. Murat Kantarcioglu et
multiple nodes, reducing the risk of single points of failure al. [12] introduced SECUREDL to protect sensitive data
and enhancing data resilience. Blockchain technology, in in databases. However, centralized architectures face
particular, has gained attention for its ability to create limitations including data security vulnerabilities and
decentralized and immutable ledgers, ensuring data availability issues [13], where stored data may be
integrity and transparency. illicitly accessed, modified, or removed, and services
Despite the benefits of decentralized architectures, may become unavailable during system crashes or
challenges remain in terms of scalability and efficiency. attacks.
Additionally, ensuring data privacy and confidentiality in In contrast, decentralized architectures often leverage
decentralized systems requires careful design and blockchain (BC) technology due to its anonymity,
implementation of cryptographic techniques and access transparency, decentralization, and auditability [14]–
control mechanisms. In this context, our proposed schemas [ 16]. However, existing solutions lack features for
for data producing, storing, and sharing offer a verifying the accuracy and reliability of shared data on
comprehensive solution to address the challenges of data the blockchain network, particularly data certified by
reputable organizations.
1
Reputable organization (RO) are considered as challenges in ensuring data accuracy, privacy, and
meaningful data (MD). For instance, in the medical reliability. The following summarizes our
field, a diagnostic result of an electronic medical contributions::
record is published by a reputable medical • Proposal of a data production scheme ensuring
organization with highly skilled doctors, which is accuracy and reliability of meaningful data (MD)
MD. In the education field, a lecture that is produced by data providers (DP), while
assessed and certified by a professional board of a safeguarding DP anonymity and data owner (DO)
reputable university is MD. MD needs to be privacy.
securely stored on the system, besides a data • Introduction of a data storage scheme utilizing
owner (DO) can completely share or blockchain (BC) technology and Inter-Planetary File
commercialize his/her MD to other people or System (IPFS) for secure data storage.
organizations on the network. Data sharing • Design of a data sharing scheme featuring
methods must ensure that requesters can verify Purchase and Resolve algorithms, along with fraud
the reliability and accuracy of shared data before prevention measures, to facilitate safe,
deciding to perform a data-sharing contract. transparent, and fair data transactions.
In the conventional data sharing approach, the • Evaluation of the proposed system and schemes,
integrity of shared data relies on the mutual trust assessing their advantages, security features, and
between the two partners involved in the performance characteristics.
exchange process. For example, doctors/hospitals
II. RELATED WORK
absolutely believe that medical records received
The prevailing trend in blockchain (BC)-based data
from their patients are integrity. At times,
storing and sharing solutions involves leveraging
Responsible Organizations (ROs) must guarantee
anonymity in the Metadata (MD) they generate BC for transactions and managing metadata, while
themselves. And the privacy of DO also needs to actual data can be stored either centrally or
be protected as they don’t want anyone to know decentrally. Centralized storage solutions entail
which RO’s service they used. In In addition, encrypting data before transmission to service
ensuring anonymity for all parties involved in the providers, ensuring privacy but risking availability.
sharing process and verifying the reliability of To counteract this, decentralized platforms like
shared data while maintaining content privacy are IPFS have emerged.
essential considerations.
Data storage and sharing solutions for certified In terms of data sharing, solutions like those
digital data must fulfill the following requirements: proposed by Qi Xia et al. [17] and Zheng Xiaochen
• For data storage: Protect the anonymity of et al. [18] employ BC frameworks for sharing
certificate authorities and the privacy of data electronic medical records (EMRs), albeit relying
owners (DO) regarding stored data; Ensure on intermediaries like key keepers or verifiers.
confidentiality and integrity of data stored within Privacy-preserving solutions [19] address EMRs
the system. sharing but lack mechanisms for data reliability
• For data sharing: Enable everyone on the verification. Similarly, solutions like MedBlock [20]
system to verify the reliability of shared data focus on synchronous data storage but lack robust
without accessing its contents; Facilitate direct reliability verification mechanisms.
data sharing between data owners (DO) and data
users (DU) without intermediaries.The system Peer-to-peer solutions [22]–[24] encrypt data
serving data storage and sharing must ensure before uploading to IPFS, employing smart
availability, integrity, and scalability.
contracts for access distribution. However,
Nevertheless, existing solutions fail to fulfill all
reliability verification before access remains a
the aforementioned requirements. In this paper,
challenge. Recent efforts like PrivySharing [25]
we introduce data production, storage, and
prioritize confidentiality and access control, yet fail
sharing schemes to address these shortcomings..
to provide mechanisms for data reliability
We consider RO as a data provider (DP), and DPs
providing the same type of In our paper, we verification. Likewise, BC-based mechanisms for
introduce a comprehensive framework for data privacy-preserving data sharing [26] lack adequate
production, storage, and sharing, addressing key reliability verification mechanisms.
2
• Proof-of-Activity (PoA) [32]: PoA is a hybrid
consensus protocol between PoS and PoW,
III. PRELIMINARIES where each miner tries to generate an empty
A. BLOCKCHAIN block header that satisfies PoS requirement,
and then switching to PoS, this block needs to
BC technology operates as a decentralized ledger,
be signed by a certain amount of stakeholders
structured as a linked list of blocks where each
to be a valid block.
block references its predecessor via a hash
pointer. The initial block, known as the genesis Ethereum BC, proposed by Vitalik Buterin [33], is
block, lacks a parent block. Blocks comprise a a decentralized turing-complete platform called
header containing metadata like block ID, version, Ethereum Virtual Machine (EVM). The programs
previous hash, and timestamp, along with a body that run on EVM are called smart contracts. A
storing transactions. BC networks feature user contract is a set of functions defined by a sequence
nodes, responsible solely for transactions, and of bytecode instructions and is executed
miner nodes, tasked with verifying transactions, automatically when specific conditions are met
creating blocks, and maintaining the ledger. The [34]. Solidity stands as the predominant
ledger contains immutable blocks, agreed upon by programming language for crafting smart
honest miners, ensuring data integrity. Each node contracts.
possesses a public/private key pair for transaction
signing, with the public key serving as the BC B. IPFS
address. BC networks, categorized as public,
IPFS, introduced by Juan Benet, functions as a
private, or consortium, facilitate direct
peer-to-peer distributed file system. Each IPFS
communication among nodes via a peer-to-peer
node begins with a key pair (private key and
network. Consensus protocols like Proof-of-Work
corresponding public key) and is identified by a
(PoW), Proof-of-Stake (PoS), and Proof-of-Activity
NodeID generated from its public key. There are
(PoA) synchronize ledger data among miners,
three node types within an IPFS network:[36]:
ensuring network integrity and consensus. one of
the consensus protocols can be deployed in a BC • Client node: This type of nodes uses the
system. Some examples of consensus protocols: network to store or distribute data.
• Retrieval miner node: A retrieval miner node
• Proof-of-Work (PoW) [28]: Each miner has to
is responsible for distributing objects to other
find a nonce value such that the hash value of
nodes on the network. However, objects are
the combination of the new block and the
temporarily cached on its local storage and
nonce must be equal to or smaller than a
are removed periodically by the garbage
target hash value H(nonce k prev_hash k tx k
collection process.
... k tx) < target [29].
• Storage miner node: Storage miner nodes
• Proof-of-Stake (PoS) [15], [30]: At each mining
offer extensive storage space and high-speed
round, a miner owning a certain amount of
processing capabilities to the network.. The
the network’s total value has a high
cluster and pinning services can be used in
probability to propose a new block.
these nodes for replicating data on cluster
Depending on the particular applications the
nodes and keep objects available to the
stake value will be indicated.
network.
• Proof-of-Authentication (PoAh) [31]: The basic
idea of PoAh is that a normal node records Each file on IPFS is identified by the hash value of
transactions into a new block. Then, the node its content, serving as its access address on IPFS.
signs on the block before transmitting it to Uploaded files are organized into objects, each
trusted nodes for verifying. After successful comprising two fields: the data field, storing binary
verification, a trusted node broadcasts the data, and the links field, containing an array of
verified block together with its PoAh links to related objects. Each link consists of three
identification to the network. Other nodes components: a name serving as an alias, the hash
validate the Proof of Authority with the value of the pointed object, and the size of the
information provided to incorporate this object. Objects can hold up to 256 kilobytes (KB) of
block into their local blockchain.. data. If a file is smaller than 256 KB, it is stored in

3
one object with an empty link field. Otherwise, the argument arg, output 1 if and only if arg was
file is divided into 256 KB chunks, managed using generated by tracing or 0 indicating failure.
the Merkle DAG (Merkle Directed Acyclic Graph)
A group signature scheme must satisfy the
data structure.
security requirements [39]: Unforgeability,
anonymity, unlinkability, no framing, and
C. GROUP SIGNATURE
unforgeability of tracing verification.
Group signatures, as introduced by Chaum and van
TABLE 1. Notations
Heyst [38], enable a member of a group to sign a
message anonymously on behalf of the group. Notation Description
λ Security parameter
Verifiers can confirm the validity of the signature
n Number of group members
without knowing which specific group member [n] The set of 1,...,n
performed the signing. A typical group signature H The cryptographic hash function
scheme consists of three main components: group k String concatenation
members, a group manager, and a revocation make_proc(x) The function produces a raw data x to
digital data
manager. The group manager oversees the
:≡ The procedure can be executed through
establishment and management of the group,
human intervention.
while the revocation manager handles the process
Rand_Key(·) Random key generation algorithm
of revoking the anonymity of group members who Ek(x) Symmetric encryption of x using key k
have signed a particular signature. Upon Dk(x) Symmetric decryption of x using key k
registration and approval by the group manager, a PCS(x,k) The public-key cryptosystem with a
group member gains the ability to sign digital data message x and a key k
on behalf of the group.Definition 1. (Group IV. THE PROPOSED SCHEMES
signature). A group signature scheme GS = In this section, we will propose the system model,
(KeyGen,Sign,Verify,Tracing,Vertracing) consists of threat model, security features, system setup, and
the following five algorithms [39]: proposed schemes. The paper provides the
notations used, listed in Table.
• (gpk,gmk,grk,gsk) ← KeyGen : On
input 1 and 1 , output the group’s public key
λ n
A. SYSTEM MODEL
gpk, the membership manager’s secret key Fig. 1 presents our system model. There are four
gmk, the revocation manager’s secret key grk, parties in our schemes.
and gsk is an n-element vector of keys with (i) Data owner: DO is a person who owns
gsk[i] being the secret signing key of element raw data (RD),DO provides RD to a particular DP
i, for generating MD. DO has the right to store and
1 ≤ i ≤ n. share MD, unaltered or modified, for those in
• σ ← Sign(gpk,gsk[i],M): Given the group’s need.
public key gpk, a secret key gsk[i] of the i-th (ii) A group of DPs: Which is created by the
group member, and a message M, issue a group manager, each DP is an organization that
signature σ. has the function and means for generating MD
• 0,1 ← Verify(gpk,M,σ): Given the group’s from the DO’s RD. Data Processor (DP) does not
public key gpk, a message M, and a signature possess ownership of Metadata (MD) and thus
σ, output 1 if the signature is valid, otherwise lacks the authority to offer or utilize MD without
0. the consent of the Data Owner (DO).. DPs in the
• (i,arg) ← Tracing(σ,M,grk,gpk): Given a group provide the same type of service.
signature σ, a message M, the revocation (iii) Data user: DU is a person or organization
manager’s secret key grk, and the group’s who wouldlike to use MD created by DP.
public key gpk, outputs an identity i ∈ [n] and (iv) Decentralized storage (DS): DS mainly
an argument arg. stores EMDand returns the address of EMD to DU.
• 0,1 ← Vertracing(σ,M,gpk,i,arg): Given a
We use a public IPFS as DS.
signature σ, a message M, a group public key (v) Blockchain system: We use BC to reserve
gpk, an identity i of a group member, and an informationof MD and achieve data sharing. The

4
group manager predefined policies in the smart systems.. Such nodes’ compromise the
contracts to ensure data sharing securely. confidentiality of stored data.
• Data Sharing: There are DO, DU, IPFS and BC
systems involved. We assume DO and DU are
untrusted, IPFS and BC systems are similar to
Data Storing scheme. Specifically, DO may
provide the invalid decryption key of EMD to
DU, and DU may submit a dispute resolution
request while it has received the valid
decryption key of EMD.

C. SECURITY FEATURE
System security features as follows:
• Confidentiality: Only authorized individuals
can access the content of EMD stored on BC
and IPFS..
FIGURE 1. Our general system model • Integrity: DO is unable to tamper with the
data received from DP.
• Privacy: Based on data stored on BC,
Our system offers Data Producing, Data Storing, everyone cannot know which DP DO
and Data Sharing defined as follows: cooperated.
• Data Producing: Which is a manual • Non-repudiation: Parties cannot deny
procedure, where RD from DO as input, it transactions they have submitted in the data
outputs MD and some related information sharing scheme.
(generated by DP) to DO. • Anonimity: Everyone cannot know the real

• Data Storing: Using EMD and the relevant name of participants take part in the data
information provided by the Data Owner (DO) storing and sharing schemes, and cannot
as input, the system stores EMD on IPFS and distinguish which DP generated MD.
initiates a blockchain transaction to store the
access address of EMD (on IPFS) along with D. SYSTEM SETUP
the related information. 1) THE GROUP OF DPs
The group manager chooses a security parameter λ
• Data Sharing: Upon receiving a store and the group signature scheme GS to generate
transaction on the blockchain as input, the keys for n group member. Specifically, the group
system verifies the integrity of the Metadata manager has a public/private key pair (PKGM,SKGM);
(MD) and executes the smart contract to the revocation manager owns a public key PKRM
enable Data Users (DU) to access the and a private key SKRM; gsk[i] and IdDP[i] are a
Metadata.. private key and an identifier of the i-th group
member respectively, where 1 ≤ i ≤ n; and along
B. THREAT MODEL with the group public key (GPK).
In each of our schemes, we consider the following
threat model. 2) THE BLOCKCHAIN SYSTEM
• Data Producing: DO and DP are involved. We DO, DU, and the group manager each initializes an
assume both DO and DP are trusted. account on BC system. Particularly, DO owns a
• Data Storing: DO, IPFS, and BC systems are public key PKDO and a private key SKDO; DU also has
involved. We presume DO is trusted, and that a public key PKDU and a private key SKDU; Similarly,
IPFS nodes and BC nodes faithfully adhere to the group manager has a public/private key pair
the predefined protocol. However, it's (PKBCGM,SKBCGM). On the BC network, users use
acknowledged that these nodes may have their public key as a BC address, for instance PKDU
access to the contents of data stored on the is as DU’s BC address, each transaction must be

5
signed by the transaction’s initiator. The BC system Step 4: DP encrypts DP's IdDP and K using PKDO
provides the public BC address. and PCS provided by the system. The output is
labeled as DPInfo
Step 5: DP encrypts DP’s IdDP and K using PKDO
and PCS provided by the system, resulting in
DPInfo.. Step 6: DP encrypts DPInfo and IdMD
using PKRM and PCS.. The output is denoted by
EId.
Step 7: DP generates a signature on EMD using
the Sign algorithm of GS, alongside the group
public key gpk and the group member secret
key of DP, referred to as gks[i]. The resulting
output is denoted by SD.
Step 8: The certificate of MD (denoted by CERT)
includes SD and EId.
Step 9: The algorithm produces EMD, CERT,
and DPInfo as outputs.
Top of Form
. (3) DP sends EMD, CERT, and DPInfo to DO
via a secure channel.
FIGURE 2. Our proposed data producing scheme
(4) After receiving data from DP, DO verifies the
E. DATA PRODUCING
accuracy of MD and DPInfo as follows: Step 1: DO
In the data producing scheme, DO transfers RD to
decrypts DPInfo using SKDO and PCS
a particular DP in the group, for instance the i-th
IdDP[i] k K ← PCS(DPInfo,SKDO)
DP. After receiving RD, DP performs the Produce
algorithm to generate MD, CERT, and DPInfo. To Step 2: DO compares IdDP[i] with the DP’s
guarantee the confidentiality of MD within the information that DO knew before. If they are the
data storing and sharing schemes, DP encrypts MD same, go to the next step. Otherwise, stop
to create EMD and subsequently generates a CERT verifying.
for EMD.. Later, DP sends these result data to DO Step 3: DO decrypts EMD using K and the
via the security channel. After receiving the results decryption algorithm:
data, DU verifies the accuracy of MD and DPInfo.
MD ← DK(EMD)
In this scheme, DO and DP are considered to know
each other, therefore, it is not necessary to secure Step 4: DO recalculates an identifier for MD:
the identity of each other. This means that DO
knows the identifier of the DP and the group public IdMD ← H(MD)
key of the group of DPs. The data producing
scheme is described in Fig. 2, Steps involved: Algorithm 1: Produce

Input: RD, IdDP[i], gsk[i], gpk, PKDO, PKRM Output:


(1) DO transfers RD (in materials form or digital
EMD, CERT, DPInfo
original data) to a particular DP of the group via a
security channel. (2) After receiving RD, DP 1: Produce MD from RD
produces MD, CERT, and DPInfo using the Produce MD :≡ make_proc(RD)
algorithm which includes nine steps: Step 1: DP 2: Create an identifier for MD
uses the make_proc function and the procedure IdMD ← H(MD)
:≡ to produce MD in digital form. 3: Generate a random key K
Step 2: DP creates the identifier of MD by using the K ← Rand_Key(·)
cryptographic hash function provided by the 4: Encrypt MD using K and the encryption algorithm
system. The output is denoted by IdMD. EMD ← EK(MD)
Step 3: DP executes the Rand_Key procedure to 5: Encrypt the DP’s IdDP and K using PKDO and PCS
generate a key K.
6
DPInfo ← PCS(IdDP[i] k K,PKDO)
6: Encrypt DPInfo and IdMD using PKRM and PCS
EId ← PCS(DPInfo k IdMD,PKRM)
7: Sign on EMD using gpk, gsk[i], and GS.Sign
SD ← GS.Sign(gpk,gsk[i],EMD)
8: Certificate CERT includes (SD,EId)
CERT = (SD,EId)
9: return (EMD,CERT,DPInfo)
Step 5: DO checks the accuracy of DP’s
information.
FIGURE 4. Our proposed data storing scheme
True/False ← (PCS(DPInfo k IdMD,PKRM) ==
CERT.EId)
If it returns True, go to the next step. Otherwise,
stop verifying. (2) After successful upload, IPFS returns the access
Step 6: DO checks the accuracy of MD using the address of EMD (denoted by EMD_Link) to DO.
Verify algorithm of GS (3) DO submits the TX :: Store_Data
transaction to the BC system, as shown in Fig.
True/False ← GS.V erify(gpk,CERT.SD,EMD) 3, This encompasses the following
If it returns True, DO has received accurate and information::
reliable data. Otherwise, ignore the transaction. - DO0s BC address: The BC address of DO. - Public
BC address: The public BC address of the BC
system.
- EMD_Link, CERT, and DPInfo.
- Paymentadd: Payment wallet address of DO. -
Prices: The amount of money that a buyer has to
pay to DO.
- SC: The smart contract address is used for the
sales/purchase process.
If the DO’s signature on this transaction is valid, BC
miners will store this transaction on their ledger.
FIGURE 3. The transaction in the data storing scheme
(4) DO lookups the TX :: Store_Data transaction on
the BC ledger:
TX ← Ledger
F. DATA STORING
Later, DO checks the query result. If TX is not null,
In this scheme, DO uploads EMD to IPFS, and
DO has stored data successfully.
the access address of EMD along with related
information are stored in a BC transaction. This G. DATA SHARING
transaction information serves as part of the
In this scheme, the process of purchasing or selling
data sharing scheme. Fig. 4 illustrates the data
data between DO and DU is facilitated through the
storing scheme, which involves the following
Purchase algorithm, with the Resolve algorithm
steps:
utilized for dispute resolution if necessary. EMD is
(1) DO uploads EMD to IPFS. treated as shared data, and the BC serves as the
data market, allowing anyone in the system to find
and purchase the required data. In the data
sharing scheme, participants are required to
provide escrow to the smart contract managed by
the group manager. If any fraudulent activity is
detected, the escrow of the offending party will be
forfeited. Fig. 5 outlines the data sharing scheme,
which involves the following steps:
7
(1)DU initiates the Purchase algorithm, outlined in cryptosystem, with the output denoted by k0,
Algorithm 2, to search for and acquire the and transmitted to DU for decryption.
necessary shared data. Specifically, DU can verify
the reliability of the shared data using the Verify k0 ← PCS(K,PKDU)
algorithm of the group signature scheme GS (lines
1-3). It's important to note that DU can only verify After receiving the key information, DU uses the
the validity of the shared data but cannot access DU’s private key to decrypt k’ and get K, then using
its contents. If the shared data is deemed valid, DO K to decrypt the shared data (EMD) (lines 10-11).
executes the Contract :: Share_Data smart
contract as specified in the TX :: Store_Data K ← PCS(k0,SKDU)
transaction.
MD ← DK(EMD)

If K is valid, DU performs the TX :: V erify_Key


transaction of Contract :: Share_Data, in which
the Status field is set to V alid (line 12-13),
otherwise, both DU and DO will go to the Resolve
algorithm (line 15). The transactions of the
Purchase algorithm are shown in Fig. 6.
(2) When receiving the request for dispute
resolution from Algorithm 2: Purchase
Input: TX’
Output:
MD DU:
1: Search shared data
2: Download EMD on IPFS
3: if (GS.V erify(gpk,CERT.SD,EMD) ==
FIGURE 5. Our proposed data sharing scheme 1) then
4: Submit TX :: Request_Buy_Data transaction of
the Contract :: Share_Data smart contract
TX :: Request_Buy_Data transaction (line 4). This 5: end DO:
operation is akin to submitting a data buying 6: Submit TX :: Reply_Buy_Data of Contract ::
request to DO. In this transaction, DU also Share_D
transfers a specified amount of money to the
ata DU:
smart contract as an escrow asset. The contract
7: Submit TX :: Transfer_Money transaction to
information is then communicated to DO by the
system application. If DO accepts DU’s request, DO, in which the Money field is the price of
DO initiates the TX :: Reply_Buy_Data the shared data.
transaction of the Contract :: Share_Data smart 8: Submit TX :: Transfer_Bill of Contract ::
contract and simultaneously transfers an escrow Share_Data DO:
payment to the smart contract (line 6). Upon
receiving the transaction from DO, DU executes 9: Submit TX :: Transfer_Key of Contract::
the TX :: Transfer_Money transaction to transfer Share_Data DU:
the agreed-upon payment to DO (line 7). 10: Decrypt k0 and get K
Subsequently, DU sends the bill information to K ← PCS(k0,SKDU)
DO via the TX :: Transfer_Bill transaction of the 11: Decrypt EMD
Contract :: Share_Data smart contract (line 8). If MD ← DK(EMD)
DO has received the payment according to the
12: if (K is valid) then
bill information sent from DU, DO initiates the
TX :: Transfer_Key transaction to send the secret 13: Submit TX :: V erify_Key with the Status
key K to DU for decrypting the shared data (line field is set to Valid
9). Here, K is encrypted using a public-key 14: else
15: Go to the Resolve protocol

8
16: end FIGURE 6. The transactions in the Share_Data contract

17: return (MD)

DO is a scammer (lines 7-8). Otherwise, the group


manager encrypts K using the DU’s public key PKDU
DU, the group manager perform the Resolve and PCS (line 10), it outpust EK10. Finally, the
algorithm, summarized in Algorithm 3, to group manager gets k0 in the TX :: Transfer_Key
determine who is a scammer. Because the group transaction, and compares k0 with EK10, if they are
manager acts as the referee in the smart contract, the same, DU is a scammer (DU has received a
the group manager can track all transactions of valid key but still request for dispute resolution).
this contract and can know the information of the On the contrary, DO has sent an invalid decryption
shared data (EMD_Link,CERT). In the Resolve key of the shared data to DU, hence, DO is a
algorithm, the group manager initiates the TX :: scammer, in this case, the group manager will also
Dispute_Key_Request transaction of the contract send the valid key K to DU
to request DO to furnish the decryption key of the (lines 11-17).
shared data (line 1).. DO submits the TX :: The rules of the data sharing scheme are
Dispute_Key_Reply transaction to the group outlined as follows:
manager, in which K is encrypted by PKBCGM and
• The escrow deposit should be set at 2 or 3
PCS
times the price of the shared data to
(line 2):
promote honesty among participants..
EK0 ← PCS(K,PKBCGM) • If Data User (DU) has completed the escrow
and submitted the TX :: Request_Buy_Data
The transaction of the Resolve algorithm are
transaction, yet Data Owner (DO) fails to
shown in Fig. 7. Once receiving the response from
execute the TX :: Reply_Buy_Data transaction.
DO, the group manager decrypts EK0 using SKBCGM
After a certain amount of time, the smart
and PCS to obtain the secret key K (line 5), and
contract will automatically return the escrow
then uses K to decrypt EMD (line 6). If K is invalid,
deposit to DU.
the group manager concludes that
• If both DO and DU have made escrow,
however DU doesn’t submit the TX ::
Transfer_Money transaction to DO. After a
certain amount of time, the smart contract
will also transfer the escrows back to DU and
DO.
• If DU has already submitted the TX ::
Transfer_Bill transaction, but DO doesn’t
perform the TX :: Transfer_Key of Contract ::
Share_Data within the allotted time, the DO’s
escrow will be lost, and the
Algorithm 3: Resolve
Input: TX’
Output: DO, DU Group manager:
1: Submit TX :: Dispute_Key_Request to
DO DO:
2: Submit TX :: Dispute_Key_Reply to the
group manager
Group manager:
3: Access EMD_Link and download EMD on IPFS
4: Get related transactions of the smart contract
5: Decrypt EK0 using SKBCGM and PCS to get K
K ← PCS(EK0,SKBCGM)
9
6: Decrypt EMD V. SECURITY ANALYSIS
MD ← DK(EMD) In this paper, we integrate blockchain (BC), Inter-
7: if (K is invalid) then Planetary File System (IPFS), and the group
8: SCA ← DO signature scheme to formulate the data
9: else producing, data storing, and data sharing schemes.
10: Encrypt K using PKDU and PCS The data producing scheme facilitates the creation
EK10 ← PCS(K,PKDU) of meaningful data for DO, which can
11: Get k in TX :: Transfer_Key of Contractsubsequently be stored or shared within the
0

system. Our proposed data storing and data


Share_Data
sharing schemes offer several advantages over
12: if (EK10 == k0) then
existing solutions surveyed in Section II. In this
13: SCA ← DU
section, we elaborate on the benefits, security
14: else
features, and performance characteristics of these
15: SCA ← DO
schemes.
16: Send K to DU
17: end A. ADVANTAGES
18: end 1) Proactivity
19: return (SCA) • In the data storing scheme: DO is proactive in
storing EDM on IPFS. Specifically, DO can use
some of his/her devices to join the IPFS
network, then upload EMD on these nodes.
And DO can also remove EMD stored on
his/her devices.
• In the data sharing scheme: DU can fully
verify the reliability of shared data (EMD)
he/she needs before performing the Purchase
algorithm of the data sharing scheme.
Particularly, DU accesses EMD_Link and
downloads EMD. Then DU uses the Verify
FIGURE 7. The transactions in the Resolve algorithm
algorithm of the group signature scheme GS
provided by the system, the group public key
gpk, and SD in CERT stored in the TX ::
smart contract will also return DU’s escrow to Store_Data transaction to verify the reliability
DU. of EMD as follows: True/False ← GS.V
• If DU has already received a valid key from erify(gpk,CERT.SD,EMD) Besides, the sharing
DO, but DU doesn’t make the TX :: V process is done directly between DU and DO
erify_Key transaction of the contract within a without depending on any intermediaries.
certain time, the secret key is considered a This process is performed by the Purchase
valid key and the contract is automatically algorithm of the data sharing scheme.
completed.
• Once the scammer has been identified by the 2) Transparency and fairness in data sharing
Resolve algorithm, the scammer's escrow will • All transactions in the data sharing scheme
be forfeited, and the escrow in the smart are recorded on the BC ledger, which means
contract will be refunded to the honest party. that they are publicly traceable to the
associated addresses.
• Parties involved in the data sharing process
have to transfer escrow to the smart contract
to encourage honesty. In the event of a
dispute, the group manager will resolve this
dispute through the Resolve algorithm of the
data sharing scheme. As a result, the
scammer will lose his/her deposit.
10
B. SECURITY FEATURES blockchain transactions using their private keys.
1) Confidentiality Miners on the blockchain network discard
• In the data storing scheme, Metadata (MD) is transactions with invalid signatures, preventing
encrypted by the secret key generated by DP adversaries from impersonating others to execute
before being uploaded to IPFS.. To retrieve transactions. Furthermore, valid transactions are
MD’s content, any requestors need to know recorded in the immutable public ledger of the
the secret key to decrypt such data. Note that blockchain, making it impossible for adversaries to
the secret key is encrypted by PKDO before deny their involvement in transactions.
storing on BC. Therefore, it is very challenging
for the attacker to guess the secret key to 5) Anonymity
decrypt and obtain MD on IPFS. In the blockchain network, users are identified
• In the data sharing scheme, the decryption solely by their public keys, without the need for
key of EMD will also be encrypted by DU’s additional personal information, and their
public key in the smart contract. Therefore, corresponding private keys are used to generate
only DU can decrypt and obtain the secret key transaction signatures. As a result, all blockchain
for decrypting EMD. In dispute resolution, the nodes, Data Users (DUs), and Data Owners (DOs)
decryption key of EMD is also encrypted cannot ascertain each other's real identities in
before sending to the group manager. transactions. Additionally, the group signature
scheme ensures the anonymity of Data Producers
2) Integrity (DPs). Specifically, no party, including the
In the data sharing scheme, the validity of the revocation manager and the group manager, can
encrypted meaningful data (EMD) is verified using ascertain the identities of group members who
the certificate (CERT) issued by the Data Producer have generated and issued certificates for
(DP). As CERT is generated by DP, it serves as a Meaningful Data (MD). The anonymity of DPs is
means to verify the authenticity and integrity of only compromised if both the group manager and
EMD. Therefore, even if the Data Owner (DO) the revocation manager collaborate.
modifies the meaningful data (MD) to create a
C. PERFORMANCE FEATURES
new version, they cannot generate a valid
certificate for this modified data because DO lacks In the proposed system, the BC transaction system
the necessary group member key required for and the IPFS storage system achieve the properties
generating certificates. This mechanism ensures as follows:
the integrity and reliability of the shared data.
1) Availability
3) Privacy In our system, both the IPFS storage system and
The utilization of the group signature scheme the BC (Blockchain) system are peer-to-peer
ensures that everyone accessing the stored data networks with numerous nodes, making it
on the blockchain system can verify the accuracy challenging for adversaries to disrupt these
and reliability of the meaningful data (MD) without systems. In the IPFS system, data availability is
being able to comprehend its content. ensured even if adversaries attempt to
Additionally, the group signature scheme compromise nodes. If adversaries remove EMD
guarantees that the identity of the Data Producer from a compromised IPFS node, the data may still
(DP) within the group used by the Data Owner be cached on other nodes in the network for a
(DO) remains undisclosed. This anonymity feature certain period. Additionally, since the IPFS network
maintains the confidentiality of the DP's is open, users (DUs) can utilize their devices to join
involvement in generating the MD while still the network and activate pinning and clustering
allowing verification of the data's integrity and services, further enhancing data availability
authenticity. Similarly, in the BC transaction system, data
consistency and availability are maintained
4) Non-repudiation through synchronization between miner nodes. If
some miner nodes become unavailable due to
In both the data storing and data sharing schemes,
denial-of-service (DoS/DDoS) attacks or hardware
every participant is required to sign their
errors, the BC system will continue to function as
11
other miner nodes will still uphold the network. sharing request to the Data Owner (DO).. Note that
This distributed nature of both IPFS and BC everyone can only verify the reliability of the
systems makes them resilient to disruptions and shared data but cannot read its contents. This
ensures data availability even in the face of property could not be fulfilled by existing
adversarial attacks or node failures.. solutions. In addition, the data sharing process is
done directly between DO and DU without
2) Integrity depending on any intermediaries.
In the IPFS storage system, data integrity is The results of the security analysis show that the
maintained through the use of hash values, which proposed schemes meet the security properties
serve both as identifiers and access addresses for including confidentiality, integrity, privacy, non-
the stored data. Any modifications to the data repudiation, and anonymity.
would result in a change in the hash value, leading In our future work, we will apply the proposed
to a new access address. This ensures that the system to specific applications such as IoT,
integrity of the stored data can be verified, as any electronic medical records. We will then evaluate
tampering would be immediately detected and optimize the scheme.
Similarly, in the BC transaction system, data stored
on the ledger is immutable and synchronized REFERENCES
across miner nodes. Adversaries would face [1] D. Reinsel, J. Gantz, and J. Rydning, “The digitization of the
significant challenges in attempting to modify world from edge to core,” Framingham: International Data
Corporation, 2018.
ledger data, as doing so would require
[2] M. F. Bari, R. Boutaba, R. Esteves, L. Z. Granville, M. Podlesny,
compromising the majority or all of the miner M. G. Rabbani, Q. Zhang, and M. F. Zhani, “Data center
nodes, which is highly unlikely given the network virtualization: A survey,” IEEE Commun. Surveys
decentralized nature of the network. As a result, Tuts., vol. 15, no. 2, pp. 909-928, 2nd Quarter 2013.
[3] L. Jiang, L. Da Xu, H. Cai, Z. Jiang, F. Bu, and B. Xu, “An IoT-
the integrity and immutability of data stored on oriented data storage framework in cloud computing
the BC ledger are effectively maintained, providing platform,” IEEE Trans. Ind. Informat., vol. 10, no. 2, pp. 1443-
a high level of security against tampering or 1451, May 2014.
[4] T. A. M. Phan, J. K. Nurminen, and M. Di Francesco,“Cloud
unauthorized modifications. databases for Internet-of-Things data,” in Proc. IEEE Int. Conf.
Internet Things Green Comput. Commun. Cyber Phys. Soc.
3) Scalability Comput., Taipei, Taiwan, pp. 117-124, Sep. 2014.
[5] K. Yasumoto, H. Yamaguchi, H. Shigeno,“Survey of Real-time
Both the IPFS storage system and the BC Processing Technologies of IoT Data Streams,” Journal of
transaction system are the peer-to-peer networks, Information Processing, vol. 24, no. 2, pp. 195-202, 2016.
hence, the expansion is simply adding some nodes [6] A. Kumar, N. C. Narendra, and U. Bellur,“Uploading and
replicating Internet of Things (IoT) data on distributed cloud
to the networks. storage,” in Proc. IEEE 9th Int. Conf. Cloud Comput., pp. 670–
677, 2016.
VI. CONCLUSIONS AND FUTURE WORK [7] K. Hossain, M. Rahman, and S. Roy,“Iot data compression and
optimization tech-niques in cloud storage: current prospects
In this paper, we propose three schemes: data and future directions,” International Journal of Cloud
producing, data storing, and data sharing. In the Applications and Computing (IJCAC), 9(2), pp. 43-59, 2019.
[8] J. D. Bokefode, A. S. Bhise, P. A. Satarkar, and D. G.
data producing scheme, we view Responsible Modani,“Developing a secure cloud storage system for storing
Organization (RO) as the Data Processor (DP), with IoT data by applying role based encryption,” Procedia
Computer Science, 89(2), pp. 43-50, 2016.
a group manager organizing a set of DPs offering
[9] W. Wang, P. Xu, and L. T. Yang,“Secure data collection,
the same type of services.. DP can generate MD storage and access in cloud-assisted IoT,” IEEE Cloud Comput.,
from RD sent from DO, and then issues a vol. 5, no. 4, pp. 77–88, Jul. 2018.
certificate on EMD. [10] M. Rashid, S. A. Parah, A. R. Wani, and S. K. Gupta,“Securing E-
Health IoT Data on Cloud Systems Using Novel Extended Role
In the data storing scheme, we provide not only Based Access Control Model,” in Internet of Things (IoT),
the confidentiality and integrity of the stored data Springer, Cham, pp. 473-489, 2020.
but also the anonymity of DP and the privacy of DO [11] R. Arora, A. Parashar, and C. C. I. Transforming,“Secure user
data in cloud compu-ting using encryption algorithms,”
which have not been fulfilled in the existing International journal of engineering research and applications,
solutions. 3(4), pp. 1922-1926, 2013.
In the data sharing scheme, all participants within [12] M. Kantarcioglu, and F. Shaon, “Securing big data in the age of
AI," in 2019 First IEEE International Conference on Trust,
the system have the capability to authenticate the Privacy and Security in Intelligent Systems and Applications
reliability of shared data prior to submitting a (TPS-ISA), IEEE, pp. 218-220, 2019.

12
13

You might also like