Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data

Multi-party authorization (MPA) typically involves multiple parties to control and grant access to shared data. MPA is used to solve the insider's attack problem by ensuring that a single authority or party is not acting alone. Currently, almost all existing implementations of MPA are centraliz...

Full description

Bibliographic Details
Main Authors: Ammar Ayman Battah, Mohammad Moussa Madine, Hamad Alzaabi, Ibrar Yaqoob, Khaled Salah, Raja Jayaraman
Format: Article
Language:English
Published: IEEE 2020-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/9240966/
_version_ 1819172947117473792
author Ammar Ayman Battah
Mohammad Moussa Madine
Hamad Alzaabi
Ibrar Yaqoob
Khaled Salah
Raja Jayaraman
author_facet Ammar Ayman Battah
Mohammad Moussa Madine
Hamad Alzaabi
Ibrar Yaqoob
Khaled Salah
Raja Jayaraman
author_sort Ammar Ayman Battah
collection DOAJ
description Multi-party authorization (MPA) typically involves multiple parties to control and grant access to shared data. MPA is used to solve the insider's attack problem by ensuring that a single authority or party is not acting alone. Currently, almost all existing implementations of MPA are centralized and fall short in providing logs and events related to provenance of granting permissions in a trusted, secure, immutable, auditable, and decentralized manner. Moreover, for sharing data, proxy re-encryption algorithms are often used to give secure access to encrypted shared data. These schemes and algorithms are also centralized and cannot be trusted. In this paper, we propose a fully decentralized blockchain-based solution in which MPA is implemented using Ethereum smart contracts, and proxy re-encryption algorithms (which are computationally expensive) are implemented using multiple oracles to give access to encrypted shared data stored on a public and decentralized storage platform, such as the Interplanetary File Systems (IPFS). The smart contracts help to validate results based on the majority of encrypted results determined by the oracles. For this, we incorporate reputation mechanisms in the proposed smart contracts to rate the oracles based on their malicious and non-malicious behaviors. We present algorithms along with their full implementation, testing, and validation details. We evaluate the proposed system in terms of security, cost, and generalization to show its reliability and practicality. We make the smart contract source code publicly available on Github.
first_indexed 2024-12-22T20:15:16Z
format Article
id doaj.art-8cfd4708b71e45638f74a5676b223481
institution Directory Open Access Journal
issn 2169-3536
language English
last_indexed 2024-12-22T20:15:16Z
publishDate 2020-01-01
publisher IEEE
record_format Article
series IEEE Access
spelling doaj.art-8cfd4708b71e45638f74a5676b2234812022-12-21T18:13:58ZengIEEEIEEE Access2169-35362020-01-01819681319682510.1109/ACCESS.2020.30342609240966Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted DataAmmar Ayman Battah0https://orcid.org/0000-0001-9238-3114Mohammad Moussa Madine1https://orcid.org/0000-0003-0556-2419Hamad Alzaabi2https://orcid.org/0000-0003-2833-5761Ibrar Yaqoob3https://orcid.org/0000-0002-8438-3429Khaled Salah4https://orcid.org/0000-0002-2310-2558Raja Jayaraman5https://orcid.org/0000-0002-2749-2688Department of Electrical Engineering and Computer Science, Khalifa University of Science and Technology, Abu Dhabi, UAEDepartment of Electrical Engineering and Computer Science, Khalifa University of Science and Technology, Abu Dhabi, UAEDepartment of Electrical Engineering and Computer Science, Khalifa University of Science and Technology, Abu Dhabi, UAEDepartment of Electrical Engineering and Computer Science, Khalifa University of Science and Technology, Abu Dhabi, UAEDepartment of Electrical Engineering and Computer Science, Khalifa University of Science and Technology, Abu Dhabi, UAEDepartment of Industrial and Systems Engineering, Khalifa University of Science and Technology, Abu Dhabi, UAEMulti-party authorization (MPA) typically involves multiple parties to control and grant access to shared data. MPA is used to solve the insider's attack problem by ensuring that a single authority or party is not acting alone. Currently, almost all existing implementations of MPA are centralized and fall short in providing logs and events related to provenance of granting permissions in a trusted, secure, immutable, auditable, and decentralized manner. Moreover, for sharing data, proxy re-encryption algorithms are often used to give secure access to encrypted shared data. These schemes and algorithms are also centralized and cannot be trusted. In this paper, we propose a fully decentralized blockchain-based solution in which MPA is implemented using Ethereum smart contracts, and proxy re-encryption algorithms (which are computationally expensive) are implemented using multiple oracles to give access to encrypted shared data stored on a public and decentralized storage platform, such as the Interplanetary File Systems (IPFS). The smart contracts help to validate results based on the majority of encrypted results determined by the oracles. For this, we incorporate reputation mechanisms in the proposed smart contracts to rate the oracles based on their malicious and non-malicious behaviors. We present algorithms along with their full implementation, testing, and validation details. We evaluate the proposed system in terms of security, cost, and generalization to show its reliability and practicality. We make the smart contract source code publicly available on Github.https://ieeexplore.ieee.org/document/9240966/Blockchainaccess controlauthenticationethereumencrypted filesmulti-party authority
spellingShingle Ammar Ayman Battah
Mohammad Moussa Madine
Hamad Alzaabi
Ibrar Yaqoob
Khaled Salah
Raja Jayaraman
Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
IEEE Access
Blockchain
access control
authentication
ethereum
encrypted files
multi-party authority
title Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
title_full Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
title_fullStr Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
title_full_unstemmed Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
title_short Blockchain-Based Multi-Party Authorization for Accessing IPFS Encrypted Data
title_sort blockchain based multi party authorization for accessing ipfs encrypted data
topic Blockchain
access control
authentication
ethereum
encrypted files
multi-party authority
url https://ieeexplore.ieee.org/document/9240966/
work_keys_str_mv AT ammaraymanbattah blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata
AT mohammadmoussamadine blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata
AT hamadalzaabi blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata
AT ibraryaqoob blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata
AT khaledsalah blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata
AT rajajayaraman blockchainbasedmultipartyauthorizationforaccessingipfsencrypteddata